/* /get-quote builder. The Order Desk layout, re-skinned with the site's own tokens
   (styles.css). Everything is scoped under .gq so it can't leak into the site, and
   the few site classes it shares (.btn .card .chip .eyebrow .muted .small .sub .field .grid .steps) are reset here. */
.gq-sec{padding:0 0 clamp(48px,7vh,84px)}
.gq{--gq-ok:#4FE3A7;--gq-warn:var(--gold);--gq-bad:#FF7A7A;color:var(--text);font:15px/1.5 var(--font-b)}
.gq *{box-sizing:border-box}
.gq a{color:var(--cyan-hi);text-decoration:underline;text-underline-offset:2px}
.gq a.btn{text-decoration:none}
.gq h2,.gq h3{margin:0;font-family:var(--font-d);font-weight:600;letter-spacing:-.01em;color:var(--white);font-variation-settings:normal;line-height:1.2}
.gq h2{font-size:1.35rem} .gq h3{font-size:1.08rem}
.gq button{font:inherit;color:inherit;cursor:pointer}
.gq input,.gq select,.gq textarea{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:0 14px;height:48px;width:100%;min-width:0}
.gq textarea{height:auto;padding:10px 14px;resize:vertical}
.gq input::placeholder,.gq textarea::placeholder{color:var(--muted)}
.gq input:focus,.gq select:focus,.gq textarea:focus,.gq button:focus-visible,.gq [role=button]:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.gq .invalid{border-color:#ff6b6b;box-shadow:0 0 0 3px rgba(255,107,107,.14)}

/* buttons: the site's pill buttons (styles.css .btn reads these vars) */
.gq .btn{--btn-bg:rgba(255,255,255,.04);--btn-fg:var(--text);--btn-bd:var(--line-2);color:var(--btn-fg);background:var(--btn-bg);border:1px solid var(--btn-bd);min-height:44px;padding:0 18px;font-size:.9rem;gap:8px;line-height:1.2}
.gq .btn:hover{--btn-bg:rgba(255,255,255,.08);--btn-bd:var(--line-3)}
.gq .btn.primary{--btn-bg:var(--white);--btn-fg:#05060B;--btn-bd:transparent;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 10px 30px -10px rgba(255,255,255,.35)}
.gq .btn.ghost{--btn-bg:transparent}
.gq .btn.sm{min-height:38px;padding:0 14px;font-size:.84rem}
.gq .btn.pill{min-height:30px;padding:0 12px;font-size:.78rem}
.gq .btn svg{width:16px;height:16px}
.gq .btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}

.gq .grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}
@media (max-width:900px){.gq .grid{grid-template-columns:minmax(0,1fr)} .gq .bill{position:static!important}}
.gq .card{background:linear-gradient(165deg,rgba(255,255,255,.05) 0%,rgba(255,255,255,.018) 60%,rgba(255,255,255,.01) 100%);border:1px solid var(--line-2);border-radius:var(--r-md);padding:18px;box-shadow:none}
.gq .card::before{display:none}
.gq .card:hover{border-color:var(--line-2)}
.gq .eyebrow{display:block;font-family:var(--font-m);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:var(--muted);font-weight:500}
.gq .eyebrow::before{display:none}
.gq .label{font-size:.86rem;font-weight:600;display:flex;align-items:center;gap:6px;color:var(--text)}
.gq .label svg{width:16px;height:16px;color:var(--cyan);flex:none}
.gq .addr-row{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.gq .addr-row > input{flex:1 1 240px;height:50px}
.gq .addr-row .btn{min-height:50px}
.gq .addr-top{display:flex;align-items:center;gap:10px;justify-content:space-between}
.gq .muted{color:var(--muted)} .gq .small{font-size:.86rem} .gq .tiny{font-size:.76rem}
.gq .fiber{color:var(--cyan)} .gq .mint{color:var(--gq-ok)} .gq .amber{color:var(--gq-warn)}

/* step pills, term, category tabs: selected = the site's white pill */
.gq .steps{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 12px;grid-template-columns:none}
.gq .steps button,.gq .tabs button{min-height:44px;border:1px solid var(--line-2);background:rgba(255,255,255,.03);border-radius:var(--r-pill);padding:0 12px;font-weight:600;font-size:.88rem;color:var(--text-2)}
.gq .steps button{flex:1 1 90px}
.gq .steps button:hover,.gq .tabs button:hover{border-color:var(--line-3);color:var(--text)}
.gq .steps button.on,.gq .tabs button.on{background:var(--white);color:#05060B;border-color:transparent}
.gq .termrow{display:flex;align-items:center;gap:10px;margin:0 0 18px;flex-wrap:wrap}
.gq .seg{display:inline-flex;border:1px solid var(--line-2);border-radius:var(--r-pill);padding:4px;gap:4px;background:var(--bg-3);flex-wrap:wrap}
.gq .seg button{min-height:34px;padding:0 14px;border:0;background:transparent;border-radius:var(--r-pill);font-weight:600;font-size:.84rem;color:var(--text-2)}
.gq .seg button.on{background:var(--white);color:#05060B}
.gq .sect{display:flex;align-items:center;gap:10px;margin:4px 0 6px}
.gq .sect svg{width:20px;height:20px;color:var(--cyan);flex:none}
.gq .tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 16px}
@media (max-width:700px){.gq .tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.gq .tabs button b{font-weight:500;color:var(--muted);margin-left:6px;font-family:var(--font-m);font-size:.78rem}
.gq .tabs button.on b{color:#05060B;opacity:.6}

.gq .chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.gq .chip{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.03);border:1px solid var(--line-2);border-radius:var(--r-pill);padding:4px 11px;font:600 .78rem/1.3 var(--font-b);letter-spacing:0;color:var(--text-2)}
.gq button.chip{cursor:pointer}
.gq .chip.ok{border-color:rgba(79,227,167,.55);color:var(--gq-ok)} .gq .chip.warn{border-color:rgba(245,178,27,.55);color:var(--gq-warn)} .gq .chip.fiber{border-color:rgba(25,198,230,.55);color:var(--cyan-hi)}

/* carrier + plan cards */
.gq .carrier{background:linear-gradient(165deg,rgba(255,255,255,.045),rgba(255,255,255,.012));border:1px solid var(--line-2);border-radius:var(--r-md);padding:18px;margin-top:12px;scroll-margin-top:120px}
.gq .carrier .hd{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}
.gq .carrier .hd h3{flex:1;min-width:0}
.gq .carrier .blurb{color:var(--text-2);font-size:.86rem;margin-top:6px}
.gq .carrier .gate{color:var(--cyan-hi);font-weight:600;font-size:.84rem;margin-top:6px}
.gq .plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-top:12px}
.gq .plan{border:1px solid var(--line-2);background:var(--surface-2);border-radius:var(--r-sm);padding:12px;text-align:left;display:flex;flex-direction:column;gap:2px;min-width:0;color:var(--text);transition:border-color .15s,background .15s}
.gq .plan:hover{border-color:var(--line-3)}
.gq .plan.on{border-color:var(--cyan);box-shadow:inset 0 0 0 1px var(--cyan),0 0 24px -8px rgba(25,198,230,.55)}
.gq .plan b{font-size:.92rem;font-weight:600}
.gq .plan .sub{font-size:.74rem;color:var(--muted)}
.gq .plan .price{font:600 1.08rem/1.25 var(--font-d);font-variant-numeric:tabular-nums;margin-top:3px;color:var(--white)}
.gq .plan .price small{font:500 .74rem var(--font-b);color:var(--muted)}
.gq .plan .bk{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.gq .plan .bk button{flex:1;font-size:.84rem;min-height:40px;border-radius:var(--r-pill);border:1px solid var(--line-2);background:transparent;padding:0 10px;font-weight:600;color:var(--text-2)}
.gq .plan[data-pick]{cursor:pointer}
.gq .plan .picklabel{font-weight:600;font-size:.82rem;color:var(--cyan-hi)}
.gq .plan.on .picklabel{color:var(--gq-ok)}
.gq .plan .bk button.on{background:var(--white);color:#05060B;border-color:transparent}
.gq .catalog .plan{opacity:.8}

/* the running bill */
.gq .bill{position:sticky;top:96px}
.gq .bill .total{font:600 2.2rem/1.1 var(--font-d);font-variant-numeric:tabular-nums;margin-top:6px;color:var(--white)}
.gq .bill .total small{font:500 .9rem var(--font-b);color:var(--muted)}
.gq .bill hr{border:0;border-top:1px solid var(--line-2);margin:14px 0}
.gq .bill .lines{display:flex;flex-direction:column;gap:6px;font-size:.86rem}
.gq .bill .line{display:flex;justify-content:space-between;gap:10px;overflow:visible}
.gq .bill .line span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.gq .src{font:500 .64rem var(--font-m);text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--line-2);border-radius:6px;padding:2px 7px;color:var(--muted);white-space:nowrap}
.gq .src.card{border-color:rgba(79,227,167,.5);color:var(--gq-ok);background:none;padding:2px 7px;border-radius:6px} .gq .src.pub{border-color:rgba(25,198,230,.5);color:var(--cyan-hi)} .gq .src.est{border-color:rgba(245,178,27,.5);color:var(--gq-warn)}

.gq .field{display:flex;flex-direction:column;gap:6px;min-width:0;margin-top:0}
.gq .fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.gq .note{border-left:3px solid var(--cyan);background:var(--bg-3);padding:12px 14px;border-radius:0 var(--r-sm) var(--r-sm) 0;margin-top:10px;font-size:.9rem;color:var(--text-2)}
.gq .note b{color:var(--text)}
.gq .note.warn{border-left-color:var(--gq-warn)} .gq .note.ok{border-left-color:var(--gq-ok)} .gq .note.bad{border-left-color:var(--gq-bad)}
.gq table{border-collapse:collapse;width:100%;font-size:.86rem} .gq th,.gq td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line-2);vertical-align:top}
.gq .qty{display:inline-flex;align-items:center;gap:10px}
.gq .qty input{width:84px;text-align:center;height:42px}
.gq pre.sum{white-space:pre-wrap;font:.8rem/1.5 var(--font-m);background:var(--bg-3);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:14px;margin:0;color:var(--text-2);overflow-wrap:anywhere}
.gq .gq-sms{margin-top:12px}
.gq .gq-sms label{display:flex;gap:10px;align-items:flex-start;font-size:.7rem;line-height:1.45;color:var(--muted)}
.gq .gq-sms input{flex:none;width:16px;height:16px;margin-top:2px;padding:0;accent-color:var(--cyan)}
.gq .gq-sms a{color:var(--text-2)}
.gq .gq-foot{margin-top:22px;color:var(--muted);font-size:.78rem}
.gq .toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 22px);transform:translateX(-50%);background:var(--white);color:#05060B;padding:10px 18px;border-radius:var(--r-pill);font-weight:600;z-index:130;box-shadow:0 8px 30px rgba(0,0,0,.45)}
.gq [hidden]{display:none!important}

/* phones: running total + Continue stick to the bottom; the chat bubble and back-to-top would sit on it */
.gq .mobilebar{display:none}
@media (max-width:900px){
  .gq .mobilebar{display:flex;position:sticky;bottom:0;background:rgba(14,17,25,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line-2);margin-inline:calc(var(--gutter,16px) * -1);padding:10px var(--gutter,16px);padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));gap:10px;align-items:center;justify-content:space-between;z-index:40}
  .gq .mobilebar .total{font:600 1.3rem var(--font-d);color:var(--white)}
  body.type-quote .chatw,body.type-quote .totop{display:none}
  .gq .toast{bottom:calc(env(safe-area-inset-bottom,0px) + 86px)}
}
@media (prefers-reduced-motion:reduce){.gq .plan,.gq .btn{transition:none}}
.gq-hero{padding-bottom:clamp(20px,3vh,32px)}
.gq-hero .ph-inner h1{font-size:clamp(2rem,3.6vw,3rem)}

/* top section lines up with the tool below it (same left edge and width) */
.gq-hero .ph-inner.container{max-width:none}
/* address suggestions */
.gq .addr-field{position:relative;flex:1 1 240px;min-width:0}
.gq .addr-field input{width:100%;height:50px}
.gq .addr-sug{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;background:var(--bg-3,#11131a);border:1px solid var(--line-2);border-radius:var(--r-md,14px);box-shadow:0 18px 40px rgba(0,0,0,.45);max-height:min(360px,60vh);overflow:auto}
.gq .addr-sug li[data-n]{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:var(--r-sm,10px);cursor:pointer;color:var(--text)}
.gq .addr-sug li[data-n] svg{flex:none;margin-top:2px;color:var(--cyan)}
.gq .addr-sug li[data-n] span{display:grid;gap:2px;min-width:0}
.gq .addr-sug li[data-n] b{font-weight:600;color:var(--white)}
.gq .addr-sug li[data-n] small{color:var(--muted);font-size:.85rem}
.gq .addr-sug li[data-n]:hover,.gq .addr-sug li.on{background:rgba(255,255,255,.07)}
.gq .addr-sug li.src{padding:6px 12px 2px;font:500 .7rem var(--font-m);letter-spacing:.04em;color:var(--muted);cursor:default}
.gq #addrCard{z-index:6}

/* price promise + FAQs, moved here from /pricing (Oct 30) */
.gq-more{padding:clamp(40px,6vh,72px) 0;border-top:1px solid var(--line-2)}
.gq-more .pp-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:start}
.gq-more .pp-main{display:grid;gap:14px}
.gq-more h2{font-size:clamp(1.5rem,2.4vw,2.1rem);margin:0}
.gq-more h3{font-size:1.15rem;margin:8px 0 0}
.gq-more p{color:var(--text-2);line-height:1.7;margin:0}
.gq-more .pp-card{display:grid;gap:12px;background:linear-gradient(165deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid var(--line-2);border-left:3px solid var(--cyan);border-radius:var(--r-md);padding:22px}
.gq-more .pp-card h3{margin:0}
.gq-more .pp-inc{color:var(--text-2);line-height:1.6;font-size:.94rem;border-top:1px solid var(--line-2);padding-top:12px}
.gq-more .pp-inc b{color:var(--text)}
.gq-more .pp-faq{margin-top:clamp(36px,5vh,56px);display:grid;gap:14px}
.gq-more .pp-faqs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gq-more details{border:1px solid var(--line-2);border-radius:var(--r-md);background:rgba(255,255,255,.025);padding:0 18px}
.gq-more summary{cursor:pointer;list-style:none;padding:16px 28px 16px 0;font-weight:600;position:relative}
.gq-more summary::-webkit-details-marker{display:none}
.gq-more summary::after{content:"+";position:absolute;right:0;top:14px;color:var(--cyan);font-size:1.2rem}
.gq-more details[open] summary::after{content:"\2212"}
.gq-more details>div{color:var(--text-2);line-height:1.65;padding:0 0 16px}
@media (max-width:860px){.gq-more .pp-grid,.gq-more .pp-faqs{grid-template-columns:1fr}}
