/* Contact page and shared dialog use the storefront's existing palette. */
body.contact-open{overflow:hidden}
.header-contact{min-height:44px;min-width:44px;justify-content:center}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start;margin-top:30px}
.contact-layout>.prose{margin:0;max-width:none}
.contact-card{min-width:0;padding:32px;background:var(--light);border:1px solid var(--line);border-radius:8px;scroll-margin-top:110px}
.contact-card h2,.contact-dialog h2{font-size:40px;line-height:1.12;letter-spacing:-.045em}
.contact-intro{margin-top:12px;color:var(--muted);font-size:15px;line-height:1.75}
.contact-form{margin-top:24px}
.contact-form[hidden],.contact-status[hidden]{display:none}
.contact-fields{display:grid;gap:17px;margin:0;padding:0;border:0;min-width:0}
.contact-required{font-size:12px;color:var(--muted)}
.contact-field{display:grid;gap:7px;min-width:0}
.contact-field label{font-size:14px;font-weight:600}
.contact-field input,.contact-field textarea{width:100%;min-width:0;border:1px solid #b9a6ad;border-radius:var(--radius);background:var(--paper);color:var(--ink);padding:11px 13px;font-size:16px;line-height:1.5}
.contact-field input{min-height:48px}
.contact-field textarea{display:block;resize:vertical;min-height:132px;max-height:45vh}
.contact-field small,.contact-privacy{font-size:12px;line-height:1.7;color:var(--muted)}
.contact-privacy{margin-top:18px}
.contact-field [aria-invalid=true]{border-color:#a22b40}
.contact-field-error{font-size:13px;color:#a22b40;line-height:1.5}
.contact-status{margin-top:20px;padding:13px 15px;background:#eaf1e7;border:1px solid #9baa93;border-radius:var(--radius);font-size:14px;color:#35492c;line-height:1.65;overflow-wrap:anywhere}
.contact-status.is-error{background:#fff0ee;border-color:#c88686;color:#8b2639}
.contact-submit{width:100%;margin-top:20px;justify-content:space-between}
.contact-submit[aria-busy=true]{cursor:wait}
.contact-alternatives{font-size:13px;line-height:1.85;color:var(--muted);padding-top:20px;margin-top:22px;border-top:1px solid var(--line);overflow-wrap:anywhere}
.contact-alternatives a{white-space:nowrap}
.contact-noscript{margin-top:20px}
.contact-sr-only,.contact-trap{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.contact-dialog{width:min(560px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);box-shadow:0 24px 100px #452e3940;overflow:hidden}
.contact-dialog[open]{display:flex;flex-direction:column}
.contact-dialog::backdrop{background:#2e1b25a6;backdrop-filter:blur(4px)}
.contact-dialog-top{display:flex;justify-content:flex-end;flex:0 0 auto;padding:12px 16px 0}
.contact-dialog-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 32px 30px;scroll-padding-block:16px}
.contact-dialog .contact-form{margin-top:20px}
.contact-dialog .contact-alternatives{margin-top:20px}
@media(max-width:1000px){.contact-layout{gap:30px}.contact-card{padding:24px}}
@media(max-width:800px){.contact-layout{grid-template-columns:1fr;gap:30px}.contact-card{max-width:600px;width:100%}}
@media(max-width:600px){
  .contact-layout{margin-top:24px}.contact-card{padding:24px 20px}.contact-card h2,.contact-dialog h2{font-size:34px}
  .contact-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}
  .contact-dialog-top{padding:8px 10px 0}.contact-dialog-scroll{padding:0 20px 24px}
  .contact-intro{font-size:14px}.contact-alternatives{font-size:12px}.contact-field textarea{min-height:120px}
}
@media(max-width:360px){.header-contact{display:flex;padding:0;border:0}.header-inner{gap:9px}.primary-nav{font-size:12px}.contact-card{padding-inline:17px}.contact-dialog-scroll{padding-inline:18px}.contact-dialog h2{font-size:31px}}
@media print{.contact-card,.contact-dialog{display:none!important}.contact-layout{display:block}}
