/* Visible order card shared by every hero. */
.gg-lead-card { width:100%; max-width:470px; justify-self:end; align-self:center; scroll-margin-top:110px; color:var(--ink); }
.gg-lead-card[hidden], .gg-lead-card [hidden] { display:none!important; }
.gg-lead-dialog { padding:clamp(1.3rem,2.6vw,2rem); border:1px solid #e0e7f0; border-top:4px solid var(--blue-700); border-radius:24px; background:#fff; box-shadow:0 20px 60px -22px rgba(8,35,73,.25); }
.gg-lead-head { margin-bottom:1.3rem; }
.gg-lead-head .gg-lead-kicker { color:var(--blue-700); font-size:.7rem; font-weight:800; letter-spacing:.18em; margin:0 0 .65rem; }
.gg-lead-head h2 { font-size:clamp(1.4rem,2.1vw,1.8rem); letter-spacing:-.04em; margin:0 0 .55rem; }
.gg-lead-head p { font-size:.86rem; line-height:1.6; color:var(--ink-soft); margin:0; }
.gg-lead-form fieldset { min-width:0; border:0; padding:0; margin:0 0 1rem; }
.gg-lead-form legend,.gg-lead-form > label,.gg-lead-amount > label { display:block; color:var(--blue-900); font-size:.8rem; font-weight:700; margin-bottom:.45rem; }
.gg-lead-options { display:flex; gap:.6rem; flex-wrap:wrap; }
.gg-lead-option { flex:1 1 100px; min-height:45px; padding:.65rem .8rem; border:1px solid #d8e1ed; border-radius:13px; background:#f8fafc; color:var(--blue-800); font:600 .8rem var(--font-body); cursor:pointer; }
.gg-lead-option i { margin-right:.3rem; }
.gg-lead-option:hover { border-color:var(--blue-600); }
.gg-lead-option.active { border-color:var(--blue-600); background:var(--blue-050); color:var(--blue-800); }
.gg-lead-input-row { display:grid; grid-template-columns:minmax(0,1fr) 112px; gap:.6rem; margin-bottom:1rem; }
.gg-lead-form input,.gg-lead-form select { width:100%; min-width:0; min-height:48px; border:1px solid #d8e1ed; border-radius:13px; padding:.75rem 1rem; color:var(--blue-900); background:#f8fafc; font:500 .9rem var(--font-body); }
.gg-lead-form input::placeholder { color:#738198; }
.gg-lead-form :is(input,select,button):focus-visible { outline:3px solid #1565d844; outline-offset:3px; }
.gg-lead-form .gg-contact-method { margin:1rem 0 0; }
.gg-contact-method [data-contact-mode="wa"].active { color:#08783e; border-color:#22ac64; background:#edfbf2; }
.gg-lead-submit { display:flex; justify-content:center; align-items:center; gap:.65rem; width:100%; min-height:52px; margin-top:1.3rem; border:0; border-radius:999px; background:#108849; color:#fff; font:800 .9rem var(--font-head); cursor:pointer; transition:background .2s,transform .2s; }
.gg-lead-submit:hover { background:#096d38; transform:translateY(-1px); }
.gg-lead-card[data-mode="call"] .gg-lead-submit { background:var(--blue-700); }
.gg-lead-submit:disabled { opacity:.6; cursor:wait; }
.gg-lead-small { color:var(--ink-soft); font-size:.7rem; line-height:1.6; margin:.9rem 0 0; }
.gg-lead-call-note { font-size:.75rem; color:var(--ink-soft); margin:.6rem 0 0; }
.gg-lead-error { font-size:.8rem; color:#a91928; background:#fff1f2; border-radius:10px; padding:.7rem; margin:.8rem 0 0; }
@media(max-width:900px) { .gg-lead-card { justify-self:center; } }
.gg-lead-form .gg-lead-option,.gg-lead-form input,.gg-lead-form select,.gg-lead-submit { border-radius:var(--control-radius,12px); }
.gg-lead-service-options .gg-lead-option { flex:1 1 145px; display:flex; align-items:center; justify-content:center; gap:.4rem; }
.gg-lead-service-icon { display:block; width:30px; height:26px; object-fit:contain; flex:none; }

/* Compact form: retain comfortable touch targets without tall gaps. */
.gg-lead-dialog { padding:22px; border-radius:20px; }
.gg-lead-head { margin-bottom:14px; }
.gg-lead-head .gg-lead-kicker { font-size:.65rem; margin-bottom:6px; }
.gg-lead-head h2 { font-size:1.48rem; margin-bottom:6px; }
.gg-lead-head p { font-size:.78rem; line-height:1.45; }
.gg-lead-form fieldset { margin-bottom:12px; }
.gg-lead-form legend,.gg-lead-form > label,.gg-lead-amount > label,.gg-lead-phone-field > label { display:block; margin-bottom:5px; color:var(--blue-900); font-size:.73rem; font-weight:700; line-height:1.4; }
.gg-lead-form input,.gg-lead-form select { min-height:44px; padding:10px 12px; font-size:16px; }
.gg-lead-option { min-height:44px; padding:8px 10px; font-size:.76rem; }
.gg-lead-input-row { margin-bottom:12px; }
.gg-lead-contact-row { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr); gap:12px; align-items:start; }
.gg-lead-form .gg-contact-method { margin:0; }
.gg-contact-method .gg-lead-options { flex-wrap:nowrap; gap:5px; }
.gg-contact-method .gg-lead-option { flex:1 1 0; padding:8px 5px; font-size:.69rem; white-space:nowrap; }
.gg-contact-method .gg-lead-option i { margin-right:0; }
.gg-lead-submit { min-height:46px; margin-top:14px; font-size:.85rem; }
.gg-lead-small { margin-top:8px; font-size:.67rem; line-height:1.45; }
@media(max-width:480px) {
 .gg-lead-dialog { padding:18px; }
 .gg-lead-contact-row { grid-template-columns:minmax(0,1fr); gap:12px; }
 .gg-contact-method .gg-lead-option { font-size:.78rem; }
}
.gg-lead-dialog { border-radius:10px; }
.gg-lead-error { border-radius:6px; }
