/* Shared contact form only. No footer, product or converter-wide overrides. */
.contact-standalone{max-width:1300px;margin:0 auto;padding:0 30px}
section#contact.contact{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,5vw,72px);align-items:start;margin:48px 0;padding:clamp(26px,4vw,48px);border-radius:20px;background:#f5f5f5;color:#242127;box-sizing:border-box}
section#contact.contact h2{margin:12px 0 14px;font-size:clamp(28px,3vw,38px);line-height:1.16;letter-spacing:-.025em}
section#contact.contact>div:first-child p{max-width:48ch;margin:0;color:#56515a;line-height:1.6}
section#contact.contact #brief{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;margin:0}
section#contact.contact #brief label:not(.contact-preference__toggle){display:block;margin:8px 0 0;color:#29262b;font-size:14px;font-weight:600;line-height:1.4}
section#contact.contact #brief label.contact-consent{display:grid;grid-template-columns:19px minmax(0,1fr);column-gap:10px;row-gap:3px;align-items:start;margin:8px 0 0;font-weight:400;cursor:pointer}
section#contact.contact #brief .contact-consent input{flex:none;width:19px;height:19px;margin:2px 0 0;accent-color:#9c007b}
section#contact.contact #brief .contact-consent > span:not(.contact-field-error){grid-column:2;grid-row:1}
section#contact.contact #brief .contact-consent > .contact-field-error{grid-column:2;grid-row:2}
section#contact.contact #brief .contact-consent a{text-decoration:underline;text-underline-offset:2px}
section#contact.contact #brief :is(input:not([type=checkbox]),select){width:100%;min-width:0;min-height:46px;box-sizing:border-box;margin:0;padding:10px 13px;border:1px solid #bbb6bb;border-radius:8px;background:#fff;color:#242127;font:inherit;line-height:1.35}
section#contact.contact #brief :is(input,select):focus-visible,section#contact.contact #brief button:focus-visible,section#contact.contact #brief a:focus-visible{outline:2px solid #87006c;outline-offset:3px}
section#contact.contact #brief :is(input,select)[aria-invalid=true]{border-color:#b32727}
section#contact.contact #brief .contact-field-error{color:#a31f1f;font-size:13px;line-height:1.35}
section#contact.contact #brief [hidden]{display:none!important}
section#contact.contact #brief .form-trap{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
section#contact.contact #brief .contact-preference{margin:7px 0 0}
section#contact.contact #brief .contact-preference__toggle{display:flex;align-items:center;gap:10px;min-height:44px;margin:0;color:#29262b;font-size:14px;font-weight:600;line-height:1.4;cursor:pointer}
section#contact.contact #brief .contact-preference__toggle input{flex:0 0 auto;width:19px;height:19px;margin:0;accent-color:#9c007b}
section#contact.contact #brief .contact-preference__fields{display:grid;gap:8px;padding:0 0 8px 29px}
section#contact.contact #brief .contact-preference__fields label span{font-weight:400;color:#625c64}
section#contact.contact #brief .contact-preference__hint{margin:0;color:#625c64;font-size:13px;line-height:1.45}
section#contact.contact #brief button[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;margin:12px 0 0;padding:10px 18px;border:0;border-radius:9px;background:#c81c84;color:#fff;font:inherit;font-weight:700;line-height:1.35;cursor:pointer}
section#contact.contact #brief button[type=submit]:disabled{opacity:.62;cursor:wait}
section#contact.contact #brief .result{margin:6px 0 0;padding:12px 14px;border-radius:8px;background:#fff;color:#29262b;line-height:1.45}
section#contact.contact #brief .result[data-state=error]{border-left:3px solid #b32727}
@media(hover:hover){section#contact.contact #brief button[type=submit]:not(:disabled):hover{background:#a91370}}
/* Six product pages inherit their established official product accent. */
.ed-page section#contact.contact{background:#f5f5f5;background:color-mix(in srgb,var(--sp-accent) 11%,white)}
.ed-page section#contact.contact #brief button[type=submit]{background:var(--sp-accent);color:#18191a}
.ed-page section#contact.contact #brief .contact-preference__toggle input{accent-color:#18191a}
.ed-page section#contact.contact #brief :is(input,select,button,a):focus-visible{outline-color:#18191a}
@media(hover:hover){.ed-page section#contact.contact #brief button[type=submit]:not(:disabled):hover{background:color-mix(in srgb,var(--sp-accent) 82%,white);color:#18191a}}
@media(max-width:760px){.contact-standalone{padding:0 20px}section#contact.contact{grid-template-columns:minmax(0,1fr);gap:24px;margin:36px 0;padding:24px}}
@media(max-width:360px){section#contact.contact{padding:20px}section#contact.contact #brief .contact-preference__fields{padding-left:0}}

.ed-page > #contact, .kkt-page > #contact { scroll-margin-top: 100px; }
:root:has(.ed-page > #contact:target), :root:has(.kkt-page > #contact:target) { scroll-behavior: auto; }

/* Banner and product purchase links land below the sticky header without a stale smooth-scroll position during widget loading. */
.ed-page > #tariff-builder { scroll-margin-top: 100px; }
:root:has(.ed-page > #tariff-builder:target) { scroll-behavior: auto; }

/* Direction select: the native field remains the submitted value and fallback. */
section#contact.contact #brief select.contact-direction__native{position:absolute!important;width:1px!important;min-width:0!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
section#contact.contact #brief .contact-direction__trigger{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-width:0;min-height:46px;box-sizing:border-box;margin:0;padding:10px 13px;border:1px solid #bbb6bb;border-radius:8px;background:#fff;color:#242127;font:inherit;line-height:1.35;text-align:left;cursor:pointer}
section#contact.contact #brief .contact-direction__trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
section#contact.contact #brief .contact-direction__trigger::after{content:'';flex:none;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.65}
section#contact.contact #brief .contact-direction__trigger[aria-expanded=true]{border-color:#8f7389;box-shadow:0 0 0 2px rgba(137,72,119,.11)}
section#contact.contact #brief .contact-direction__trigger:focus-visible{outline:2px solid #805b79;outline-offset:2px}
section#contact.contact #brief .contact-direction__trigger:disabled{cursor:not-allowed;opacity:.65}
.contact-direction__list{position:fixed;z-index:10000;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;padding:6px;border:1px solid #e0dce0;border-radius:12px;background:#fff;color:#242127;box-shadow:0 12px 30px rgba(35,25,35,.14),0 2px 6px rgba(35,25,35,.06);font-family:inherit;font-size:14px;line-height:1.4}
.contact-direction__list[hidden]{display:none!important}
.contact-direction__option{padding:10px 12px;border-radius:7px;cursor:pointer;overflow-wrap:anywhere}
.contact-direction__option[aria-selected=true]{background:#f5eff4;font-weight:600}
.contact-direction__option.is-active,.contact-direction__option:hover{background:#f3f1f3}
.contact-direction__option[aria-disabled=true]{opacity:.48;cursor:not-allowed}
