.wa-contact { box-sizing:border-box; width:min(460px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; border:1px solid #e4ebe7; border-radius:24px; padding:28px; margin:auto; background:#fff; color:#172e27; font-family:'Montserrat',system-ui,sans-serif; box-shadow:0 30px 90px #001d2440; }
.wa-contact::backdrop { background:#001321a6; backdrop-filter:blur(5px); }
.wa-contact [hidden] { display:none !important; }
.wa-contact *, .wa-contact *::before, .wa-contact *::after { box-sizing:border-box; }
.wa-contact-close { position:absolute; right:16px; top:14px; border:0; border-radius:50%; width:40px; height:40px; background:#f0f5f2; color:#53645c; cursor:pointer; font:24px/1 system-ui; }
.wa-contact-mark { display:grid; place-items:center; width:44px; height:44px; border-radius:14px; background:#e6f6ed; color:#15804c; font:26px system-ui; margin-bottom:18px; }
.wa-contact-eyebrow { margin:0 0 8px; font-size:10px; letter-spacing:1.4px; font-weight:700; color:#15804c; }
.wa-contact h2 { margin:0 0 10px; font-size:26px; line-height:1.2; font-weight:750; color:#172e27; letter-spacing:-.7px; }
.wa-contact-description { margin:0 0 16px; font-size:12px; line-height:1.5; color:#66736c; }
.wa-contact label { display:block; margin:12px 0 6px; font-size:12px; font-weight:650; color:#2b3e34; }
.wa-contact label span { color:#198353; }
.wa-contact label small { float:right; font-size:10px; color:#859189; font-weight:400; }
.wa-contact input,.wa-contact select,.wa-contact textarea { display:block; width:100%; background:#fff; color:#243a2f; border:1px solid #dce5df; border-radius:9px; padding:10px 12px; font:13px/1.5 system-ui,sans-serif; outline-offset:3px; min-height:44px; }
.wa-contact textarea { resize:vertical; }
.wa-contact input::placeholder,.wa-contact textarea::placeholder { color:#96a099; }
.wa-contact input:focus,.wa-contact textarea:focus,.wa-contact select:focus { outline:2px solid #229b62; border-color:#229b62; }
.wa-contact-hint { font-size:10px; color:#7b8980; margin:6px 0 0; line-height:1.5; }
.wa-contact-phone { display:grid; grid-template-columns:112px minmax(0,1fr); gap:8px; }
.wa-contact-phone select { padding-left:9px; padding-right:5px; font-size:13px; }
.wa-contact-submit { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; border:0; border-radius:10px; padding:14px 12px; background:#198754; color:#fff; font:650 13px system-ui,sans-serif; margin-top:18px; cursor:pointer; transition:background .2s; }
.wa-contact-submit:hover { background:#126b41; }
.wa-contact-submit:disabled { opacity:.65; cursor:wait; }
.wa-contact-note { color:#859189; font-size:10px; line-height:1.6; text-align:center; margin:12px 0 0; }
.wa-contact-note a { color:#647c6c; text-decoration:underline; }
.wa-contact-error { color:#a12f2f; background:#fff1ef; padding:10px; border-radius:8px; font-size:12px; line-height:1.5; margin:14px 0 0; }
.wa-contact-result { display:block; padding:12px; text-align:center; color:#126b41; font-size:13px; text-decoration:underline; }
.wa-contact-plans { min-width:0; border:0; padding:0; margin:12px 0 0; }
.wa-contact-plans legend { width:auto; padding:0; margin:0 0 7px; font:650 12px/1.5 'Montserrat',system-ui,sans-serif; color:#2b3e34; }
.wa-contact-plans legend span { color:#198353; }
.wa-contact-plan-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
.wa-contact label.wa-contact-plan-option { position:relative; margin:0; cursor:pointer; }
.wa-contact-plan-option input[type=radio] { position:absolute; width:1px; height:1px; min-height:0; padding:0; margin:0; opacity:0; }
.wa-contact-plan-option span { display:grid; place-items:center; min-height:44px; border:1px solid #dce5df; border-radius:9px; background:#f8faf9; color:#64736a; font-size:12px; font-weight:700; letter-spacing:.3px; transition:background .15s,border-color .15s,color .15s; }
.wa-contact-plan-option input:checked + span { background:#e9f6ef; border-color:#198754; color:#146e44; box-shadow:inset 0 0 0 1px #198754; }
.wa-contact-plan-option input:focus-visible + span { outline:2px solid #229b62; outline-offset:3px; }
.wa-contact-plan-option input:disabled + span { opacity:.65; cursor:wait; }
@media(max-width:480px) {
  .wa-contact { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); padding:24px 20px; border-radius:20px; }
  .wa-contact h2 { font-size:24px; }
  .wa-contact input,.wa-contact select,.wa-contact textarea { font-size:16px; padding:9px 11px; }
  .wa-contact-eyebrow { font-size:9px; letter-spacing:1px; }
  .wa-contact label small { font-size:10px; }
  .wa-contact[data-mode="support"] { padding:20px 18px; }
  .wa-contact[data-mode="support"] .wa-contact-eyebrow,
  .wa-contact[data-mode="support"] .wa-contact-hint { display:none; }
  .wa-contact[data-mode="support"] h2 { font-size:22px; margin-bottom:6px; padding-right:32px; }
  .wa-contact[data-mode="support"] .wa-contact-description { margin-bottom:8px; }
  .wa-contact[data-mode="support"] label { margin-top:8px; margin-bottom:4px; }
  .wa-contact[data-mode="support"] .wa-contact-submit { margin-top:14px; padding:12px; }
}
