/* Contact page (templates/contact.php). */

.pmg-contact [hidden] { display: none !important; }

/* Honeypot: clipped out of view, still in the form. */
.pmg-contact .pmg-contact__trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }

.pmg-contact__head { color: #AEA7A6; }
.pmg-contact__field:has([aria-invalid="true"]) .pmg-contact__head { color: #F83900; }

.pmg-contact .pmg-contact__input { background-color: rgba(0,0,0,.5); border: 1px solid rgba(255,255,255,.14); border-radius: 12px; padding: 16px 18px; color: #fff; font: inherit; font-size: 16px; outline: none; width: 100%; box-sizing: border-box; margin: 0; transition: border-color .2s, box-shadow .2s; }
.pmg-contact .pmg-contact__input::placeholder { color: #AEA7A6; opacity: 1; }
.pmg-contact .pmg-contact__input[aria-invalid="true"] { border-color: #F83900; }
.pmg-contact .pmg-contact__input:focus { border-color: #F83900; box-shadow: 0 0 0 3px rgba(248,57,0,.2); }
.pmg-contact textarea.pmg-contact__input { resize: vertical; min-height: 130px; }
.pmg-contact select.pmg-contact__input { appearance: none; -webkit-appearance: none; padding-right: 44px; cursor: pointer; background-image: linear-gradient(45deg,transparent 50%,#AEA7A6 50%), linear-gradient(135deg,#AEA7A6 50%,transparent 50%); background-position: calc(100% - 22px) 50%, calc(100% - 17px) 50%; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }
.pmg-contact select.pmg-contact__input:has(option[value=""]:checked) { color: #AEA7A6; }
.pmg-contact select.pmg-contact__input option { background: #000; color: #fff; }

.pmg-contact__alert { border: 1px solid rgba(248,57,0,.6); background: rgba(248,57,0,.1); border-radius: 14px; padding: 14px 18px; font-size: 14px; color: #F3E3E1; display: flex; gap: 12px; align-items: center; }
.pmg-contact__alert > span { width: 8px; height: 8px; border-radius: 50%; background: #F83900; flex-shrink: 0; }

.pmg-contact .pmg-contact__submit { background: #F83900; color: #000; border: 0; border-radius: 999px; padding: 18px 32px; font: inherit; font-size: 16px; font-weight: 600; cursor: pointer; box-shadow: 0 0 40px rgba(248,57,0,.3); transition: transform .2s, background-color .2s; }
.pmg-contact .pmg-contact__submit:hover, .pmg-contact .pmg-contact__submit:focus-visible { transform: translateY(-2px); }
.pmg-contact .pmg-contact__submit:active:not(:disabled) { transform: scale(.97); }
.pmg-contact .pmg-contact__submit:disabled { background: #AEA7A6; cursor: wait; transform: none; }

.pmg-contact .pmg-contact__work:hover, .pmg-contact .pmg-contact__work:focus-visible { color: #000; }
.pmg-contact .pmg-contact__again:hover, .pmg-contact .pmg-contact__again:focus-visible { border-color: #fff; color: #fff; }

.pmg-contact__success { animation: pmgContactUp .5s ease both; }
@keyframes pmgContactUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
