/* Contact icon buttons + email popover + showroom maps (shared) */
.cicons{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0;align-items:center;position:relative}
.cicon{display:inline-grid;place-items:center;width:52px;height:52px;min-width:44px;min-height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.03);color:var(--fg);cursor:pointer;transition:transform .35s var(--ease),background .3s,border-color .3s;padding:0}
.cicon:hover,.cicon[aria-expanded="true"]{border-color:var(--silver);background:rgba(255,255,255,.08);transform:translateY(-2px)}
.cicon:focus-visible,.cmenu a:focus-visible,.cmenu button:focus-visible{outline:2px solid var(--silver);outline-offset:3px}
.cicon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cpop{position:relative}
.cmenu{position:absolute;left:0;top:calc(100% + 10px);z-index:70;min-width:240px;background:var(--bg2);border:1px solid var(--line);border-radius:18px;padding:8px;box-shadow:0 20px 50px rgba(0,0,0,.6);display:none}
.cmenu.open{display:block;animation:cfade .2s var(--ease)}
@keyframes cfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.cmenu .addr{font-size:.8rem;color:var(--silver2);padding:8px 12px 6px;letter-spacing:.02em}
.cmenu a,.cmenu button{display:flex;align-items:center;width:100%;min-height:44px;padding:10px 12px;border-radius:12px;color:var(--fg);font:500 .92rem var(--sans);background:none;border:0;text-align:left;cursor:pointer;text-decoration:none}
.cmenu a:hover,.cmenu button:hover,.cmenu a:focus,.cmenu button:focus{background:rgba(255,255,255,.08)}
.cmenu hr{border:0;border-top:1px solid var(--line);margin:6px 4px}
.smap{display:block;margin:14px 0 6px;border:1px solid var(--line);border-radius:18px;overflow:hidden;aspect-ratio:16/9;max-height:320px;background:var(--bg2)}
.smap iframe{display:block;width:100%;height:100%;border:0;filter:invert(.9) hue-rotate(180deg) grayscale(.6) contrast(.9)}
@media(max-width:600px){.smap{aspect-ratio:auto;height:220px}.cmenu{min-width:min(280px,86vw)}}

/* Consent line, slow-data fallback, sending state (shared) */
.consent{font-size:.84rem;color:var(--silver2);margin-top:14px;line-height:1.55}
.consent a,.wa-plain,.foot-link,.faq-a a,.legal a{color:var(--fg);text-decoration:underline;text-underline-offset:3px}
.wa-plain-wrap{margin-top:6px}
button[aria-busy="true"]{opacity:.7;cursor:progress}
footer .foot-link{color:var(--silver)}
/* Charging FAQ accordion */
.faq{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item h3{margin:0;font-size:inherit}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:18px;width:100%;min-height:56px;padding:22px 0;background:none;border:0;color:var(--fg);font:400 clamp(1.05rem,1.4vw,1.22rem)/1.35 var(--sans);text-align:left;cursor:pointer}
.faq-q:focus-visible{outline:2px solid var(--silver);outline-offset:4px;border-radius:6px}
.faq-ic{position:relative;flex:0 0 18px;height:18px}
.faq-ic:before,.faq-ic:after{content:"";position:absolute;left:0;top:8px;width:18px;height:1.5px;background:var(--silver);transition:transform .35s var(--ease)}
.faq-ic:after{transform:rotate(90deg)}
.faq-q[aria-expanded="true"] .faq-ic:after{transform:rotate(0)}
.faq-a p{margin:0 0 24px;color:var(--mute);max-width:62ch;line-height:1.65;font-weight:300}
/* Legal + 404 pages */
.legal{max-width:760px}
.legal h1{font-size:clamp(2.4rem,5vw,4rem);margin:16px 0 30px}
.legal h2{font-size:clamp(1.3rem,2vw,1.6rem);max-width:none;margin:38px 0 10px;text-align:left}
.legal p{color:var(--mute);line-height:1.7;font-weight:300;margin:0 0 12px}
.nf{min-height:100vh;display:grid;place-items:center;text-align:center;padding:120px 0 60px}
.nf h1{font-size:clamp(2.4rem,6vw,4.6rem);max-width:16ch;margin:18px auto 20px}
.nf .lead{margin:0 auto 34px}
.nf .btns{justify-content:center}
