/* The AI quote door buttons (aidoor-1014c): /ai and the home-page box. Uses the tokens in app.css. */
.ai-btns{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:14px 0 6px}
.ai-tile{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:0;height:100%}
.ai-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:118px;padding:18px 10px;
  border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--panel);color:var(--fg);text-decoration:none;
  font-weight:700;font-size:clamp(13px,1.5vw,16px);text-align:center;white-space:nowrap;flex:1 1 auto;transition:transform .15s,border-color .2s,box-shadow .2s}
.ai-btn svg{width:38px;height:38px;flex:none}
.ai-btn:hover,.ai-btn:focus-visible{transform:translateY(-2px);border-color:var(--cyan);box-shadow:0 0 30px -12px var(--cyan)}
.ai-claude svg{color:#D97757}
.ai-chatgpt svg{color:#FFFFFF}
.ai-gemini svg{color:#8AB4F8}
.ai-grok svg{color:#FFFFFF}
.ai-muse svg{color:#0081FB}
.ai-claude{border-color:rgba(217,119,87,.6)}
.ai-start{display:block;text-align:center;font-size:14px;font-weight:600;color:var(--cyan);text-decoration:none;padding:6px 4px}
.ai-start:hover{text-decoration:underline}
.ai-door{margin:0 0 18px;padding:16px 18px;border:1px solid var(--line2);border-radius:var(--r-sm)}
.ai-door .ai-door-t{margin:0}
.ai-door .ai-more{margin:6px 0 0;font-size:14px}
.ai-door .ai-btn{min-height:96px}
.ai-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:50;max-width:calc(100vw - 32px);padding:12px 18px;
  border:1px solid var(--cyan);border-radius:40px;background:var(--well);color:var(--fg);font-size:15px;font-weight:600;
  box-shadow:0 0 30px -10px var(--cyan)}
@media (max-width:640px){.ai-btns{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-btn{min-height:104px;font-size:clamp(12px,3.7vw,15px);padding-inline:6px}}

/* Home hero (Robert 2026-10-14): the AI buttons sit on top of the licence box, the two quote lists under it. */
.aitop{position:relative;z-index:1;max-width:860px;margin:0 auto;padding-top:clamp(28px,5vw,56px)}
.aitop .ai-door{margin:0;background:var(--panel)}
.aitop .ai-btn{min-height:88px}
.top-title-m{margin:0 0 18px;text-align:center;font-weight:300;font-size:clamp(26px,4.2vw,44px);line-height:1.1;letter-spacing:-.02em;color:var(--fg);text-wrap:balance}
.lines{display:grid;gap:10px;margin:0}
.line-d{border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--panel)}
.line-d>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:14px 18px;font-weight:700;font-size:16px}
.line-d>summary::-webkit-details-marker{display:none}
.line-d>summary .n{font:500 12px var(--mono);padding:2px 8px;border-radius:20px;background:var(--well);border:1px solid var(--line2);color:var(--cyan)}
.line-d>summary .chev{margin-left:auto;transition:transform .2s;color:var(--dim)}
.line-d[open]>summary .chev{transform:rotate(180deg)}
.line-d ul{list-style:none;margin:0;padding:0 18px 12px}
.line-d li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.line-d li b{font-weight:600}
.line-d li span{color:var(--dim);font-size:14px;text-align:right}
/* bond note: SSN means an agent calls (2026-10-15) */
.line-d .line-note{margin:0;padding:12px 18px 16px;border-top:1px solid var(--line);font-size:14px;line-height:1.5;color:var(--fg)}
@media (max-width:640px){.line-d li{flex-direction:column;gap:2px}.line-d li span{text-align:left}}
.aitop:not([hidden]) + main .hero{padding-top:18px}
.hero .licform{margin-top:0}
.ai-btns.n1{grid-template-columns:minmax(0,320px);justify-content:center}
.ai-btns.n2{grid-template-columns:repeat(2,minmax(0,280px));justify-content:center}
@media (max-width:640px){.ai-btns.n1{grid-template-columns:minmax(0,1fr)}.ai-btns.n2{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* The ASK door (aidoor-1014i): licence field + "Ask <assistant>" tiles. */
.ai-licf{display:flex;flex-direction:column;gap:6px;max-width:320px;margin:12px auto 0}
.ai-licf label{font-size:14px;font-weight:600;color:var(--soft)}
.ai-licf input{min-height:48px;padding:10px 16px;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--well);color:var(--fg);font:500 17px var(--mono)}
.ai-licf input:focus{outline:none;border-color:var(--cyan)}
.ai-btns.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ai-lechat svg{color:#FA520F}
.ai-door .ai-more{text-align:center}
@media (max-width:640px){.ai-btns.n3{grid-template-columns:minmax(0,1fr)}.ai-btns.n3 .ai-btn{flex-direction:row;justify-content:flex-start;min-height:60px;padding:12px 18px;font-size:16px}.ai-btns.n3 .ai-btn svg{width:30px;height:30px}.ai-licf{max-width:none}}
/* Home (aidoor-1015): the tiles inside the licence card, under "Find my business". */
.licform .ask-row{margin-top:18px}
.ask-or{display:flex;align-items:center;gap:12px;margin:0 0 4px;font-size:14px;color:var(--muted)}
.ask-or::before,.ask-or::after{content:"";flex:1;height:1px;background:var(--line2)}
.licform .ai-btns{margin:10px 0 4px}
.licform .ai-btn{flex-direction:row;min-height:58px;padding:10px 14px;gap:10px;font-size:15px}
.licform .ai-btn svg{width:26px;height:26px}
.licform .ai-more{margin:6px 0 0;text-align:center;font-size:13.5px;color:var(--muted)}
.ai-btns.n4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:640px){.ai-btns.n4{grid-template-columns:minmax(0,1fr)}.ai-btns.n4 .ai-btn{flex-direction:row;justify-content:flex-start;min-height:56px;padding:10px 18px;font-size:16px}.ai-btns.n4 .ai-btn svg{width:28px;height:28px}}
.ask-or{text-align:center}.ask-or::before,.ask-or::after{min-width:20px}

/* Home hero v2 (Robert 2026-10-15 "too busy"): licence bar, one action row, quote cards. */
.licform .actrow{display:grid;grid-template-columns:1.25fr repeat(4,minmax(0,1fr));gap:10px;margin-top:4px}
.licform .act{min-height:56px;margin:0;border-radius:var(--r-sm);font-size:15px;padding:8px 12px;white-space:nowrap}
.licform .ai-btn.act{flex-direction:row;gap:8px;justify-content:center;white-space:normal;line-height:1.15;text-align:left}
.licform .ai-btn.act svg{width:22px;height:22px;flex:none}
.qgroups{display:grid;grid-template-columns:2fr 5fr;gap:14px}
.qcards{border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--panel);padding:14px}
.qcards.instant{border-color:rgba(36,182,255,.45)}
.qc-h{display:flex;flex-direction:column;gap:2px;margin:0 0 12px}
.qc-h b{font-size:15px}.qc-h span{font-size:13px;color:var(--muted)}
.qcards ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
.qcards.instant ul{grid-template-columns:minmax(0,1fr)}
.qc{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--well)}
.qc-i{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:10px;background:rgba(36,182,255,.12);color:var(--cyan);margin-bottom:4px}
.qcards.submission .qc-i{background:rgba(255,255,255,.06);color:var(--fg)}
.qc-i svg{width:20px;height:20px}
.qc b{font-size:14.5px;font-weight:600;line-height:1.25}
.qc-d{font-size:12.5px;color:var(--muted);line-height:1.35}
.qc-tag{align-self:flex-start;margin-top:4px;font-size:11.5px;font-weight:600;line-height:1.3;padding:3px 8px;border-radius:20px;border:1px solid var(--warn);color:var(--warn)}
@media (max-width:860px){.qgroups{grid-template-columns:minmax(0,1fr)}.qcards.instant ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.licform .actrow{grid-template-columns:repeat(2,minmax(0,1fr))}.licform .actrow .btn{grid-column:1/-1}.licform .ai-btn.act{justify-content:flex-start;font-size:14px;padding:8px 10px}
  .qcards ul{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Hero v3 (Robert 2026-10-15): no visible label (the grey placeholder says it), five equal buttons, same type, no
   assistant lit on its own (Claude's orange edge removed), one caption under the assistants. */
.hero .licform>label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hero .licrow input::placeholder{font:400 21px var(--sans);letter-spacing:0;color:var(--dim)}
.licform .actrow{grid-template-columns:repeat(5,minmax(0,1fr))}
.licform .act,.licform .ai-btn.act{min-height:56px;font-size:16px;font-weight:600;padding:8px 10px;gap:7px;justify-content:center;text-align:center}
.licform .ai-btn.act{border-color:var(--edge);color:var(--fg)}
.licform .ai-btn.act svg{width:20px;height:20px}
.licform .ai-fast{grid-column:2/-1;margin:0;text-align:center;font-size:13.5px;color:var(--muted)}
@media (max-width:640px){.licform .actrow{grid-template-columns:repeat(2,minmax(0,1fr))}.licform .ai-fast{grid-column:1/-1}
  .licform .ai-btn.act{font-size:15px;justify-content:center}.hero .licrow input::placeholder{font-size:17px}}
/* Hero v4: the account line sits centred across the whole card, under all five buttons. */
.licform .ai-fast{grid-column:1/-1;margin-top:4px}
/* Hero v5 (10-15): Le Chat removed - Start quote + three assistants. Phone: Start full width, the three assistants in
   one row with the logo above the label. */
.licform .actrow{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:640px){.licform .actrow{grid-template-columns:repeat(3,minmax(0,1fr))}
  .licform .ai-btn.act{flex-direction:column;gap:6px;min-height:76px;font-size:13.5px;padding:8px 6px;text-align:center;justify-content:center}}

/* TEST record banner (2026-10-15): the Reset button */
.banner .test-reset{margin-left:10px;font:600 13px inherit;padding:4px 12px;border-radius:20px;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer}
.banner .test-reset:disabled{opacity:.6;cursor:default}
/* Hero v6 (Robert 2026-10-16 "Chatgpt only for the additional quoting lane"): Start quote + Quote in ChatGPT, side by side. */
.licform .actrow{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:640px){.licform .actrow{grid-template-columns:minmax(0,1fr)}.licform .actrow .btn{grid-column:auto}
  .licform .ai-btn.act{flex-direction:row;min-height:56px;font-size:16px;gap:8px}}

/* CalRisk (2026-10-24): no AI tile yet, so "Start quote" spans the row on its own (the quote-bot session adds the
   ChatGPT tile and the row goes back to two). The title sits under the scene clock, so less space above it. */
.licform .actrow:has(> :only-child){grid-template-columns:minmax(0,1fr)}
#clock + .aitop{padding-top:clamp(14px,2.4vw,24px)}
