/* Garacast, the customer's map (2026-10-21). The map fills the screen; the garages in a panel at the bottom on a phone and at
   the left on a computer; a garage's card over them. Washes and light only: nothing outlined, no rule between rows. */
body.carte{margin:0;height:100dvh;overflow:hidden;background:var(--bg)}
#map{position:fixed;inset:0}
.carte .ct-top{position:fixed;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top) + 14px) 18px 26px;background:linear-gradient(180deg,rgba(10,10,11,.88),rgba(10,10,11,0));pointer-events:none}
.ct-top .wz-brand{font-size:20px;letter-spacing:.22em;text-transform:uppercase}
.ct-acct{pointer-events:auto;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding:12px 16px;border-radius:999px;background:rgba(10,10,11,.62)}
.ct-acct.me{width:42px;height:42px;padding:0;display:grid;place-items:center;letter-spacing:.06em;background:rgba(244,239,226,.12)}
.ct-panel{position:fixed;left:0;right:0;bottom:0;z-index:4;max-height:48dvh;overflow-y:auto;overscroll-behavior:contain;padding:4px 18px calc(env(safe-area-inset-bottom) + 14px);border-radius:24px 24px 0 0;background:linear-gradient(180deg,rgba(20,20,22,.96),rgba(12,12,13,.98));box-shadow:0 -18px 40px rgba(0,0,0,.45);transition:max-height .45s var(--ease),transform .35s var(--ease)}
.ct-panel.low{max-height:172px}
.ct-grip{display:block;width:100%;height:24px;padding:0;background:none}
.ct-grip i{display:block;width:42px;height:4px;border-radius:2px;margin:10px auto 0;background:rgba(244,239,226,.24)}
.ct-panel h1{font:400 clamp(24px,6vw,30px)/1.15 var(--display);margin:4px 0 6px}
.ct-panel .lead{font-size:15px;color:var(--mute);margin:0 0 14px}
.ct-here{width:100%;min-height:54px;border-radius:14px;background:color-mix(in srgb,var(--acc) 22%,var(--bg2));color:var(--ink);font-size:15px;font-weight:500}
.ct-here[hidden]{display:none}
.ct-hint{font-size:14px;color:var(--mute);margin:10px 2px;line-height:1.5}
.ct-hint:empty{display:none}
.ct-find{display:block;width:100%;margin:12px 0 4px;padding:13px 16px;border:0;border-radius:14px;background:rgba(244,239,226,.06);color:var(--ink);font:inherit;font-size:16px;outline:0;-webkit-appearance:none}
.ct-sub{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);margin:20px 2px 8px}
.ct-g{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;text-align:left;padding:14px 16px;margin-bottom:8px;border-radius:16px;background:rgba(244,239,226,.045);color:inherit}
.ct-g.main{background:linear-gradient(180deg,rgba(212,175,55,.15),rgba(212,175,55,.05))}
.ct-g b{display:block;font:400 19px/1.2 var(--display)}
.ct-g span{display:block;font-size:14px;color:var(--mute);margin-top:3px}
.ct-g small{display:block;font-size:13px;color:var(--mute);margin-top:2px;opacity:.85}
.ct-g em{font-style:normal;font-size:14px;color:var(--acc);white-space:nowrap}
.ct-g:active{background:color-mix(in srgb,var(--acc) 18%,var(--bg2))}
.ct-osm{font-size:11px;color:var(--mute);opacity:.7;margin:16px 2px 0}
.ct-osm a{color:inherit}
/* a garage's card */
.ct-card{position:fixed;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom) + 12px);z-index:6;padding:20px 20px 10px;border-radius:24px;background:rgba(16,16,18,.97);box-shadow:0 24px 60px rgba(0,0,0,.55);animation:up .4s var(--ease) both}
.ct-card[hidden]{display:none}
.carding .ct-panel{transform:translateY(105%)}
.ct-card h2{font:400 26px/1.15 var(--display);margin:6px 0 4px}
.ct-addr{font-size:15px;color:var(--mute);margin:0 0 16px}
.ct-card .gold{text-decoration:none}
.ct-card .ghost{margin-top:10px}
.ct-is{text-align:center;color:var(--acc);font-size:14px;margin:12px 0 0}
.ct-card .link{display:block;width:100%;text-align:center}
/* a garage on the map: Garacast's ring, filled, with a warm halo; the main garage brighter; the customer: a point of light */
.ct-ring{position:absolute;width:34px;height:34px;padding:0;background:none;cursor:pointer}   /* absolute, as the map places its markers: a ring never pushes the next one aside */
.ct-ring .halo{position:absolute;inset:-36px;border-radius:50%;background:radial-gradient(closest-side,rgba(212,175,55,.36),rgba(212,175,55,0));animation:ct-breathe 3.2s ease-in-out infinite;pointer-events:none}
.ct-ring .band{position:absolute;inset:0;border-radius:50%;background:radial-gradient(closest-side,transparent 58%,#D4AF37 60%,#D4AF37 82%,transparent 84%)}
.ct-ring .dot{position:absolute;inset:12px;border-radius:50%;background:#F4EFE6}
.ct-ring .tag{position:absolute;left:42px;top:6px;font:500 13px/1.4 var(--body);color:#F4EFE6;background:rgba(10,10,11,.76);padding:2px 10px;border-radius:999px;white-space:nowrap;pointer-events:none}
.ct-ring .tag.name{opacity:0;transition:opacity .25s}
.ct-ring:hover .tag.name,.ct-ring.on .tag.name{opacity:1}
.ct-ring.main .halo{inset:-48px;background:radial-gradient(closest-side,rgba(212,175,55,.5),rgba(212,175,55,0))}
.ct-ring.on .dot{background:#D4AF37}
.ct-you{width:16px;height:16px;border-radius:50%;background:#F4EFE6;box-shadow:0 0 22px 6px rgba(244,239,226,.42)}
@keyframes ct-breathe{50%{transform:scale(1.18);opacity:.65}}
@media (prefers-reduced-motion:reduce){.ct-ring .halo{animation:none}}
/* no map on this device: the lists alone, under the brand */
.nomap #map{display:none}
.nomap .ct-panel{top:calc(env(safe-area-inset-top) + 76px);max-height:none;border-radius:0;box-shadow:none;background:none}
.nomap .ct-grip{display:none}
/* on a computer: the panel at the left, the card beside it */
@media (min-width:900px){
  .ct-panel{left:18px;right:auto;top:84px;bottom:18px;width:400px;max-height:none;border-radius:24px}
  .ct-panel.low{max-height:none}
  .ct-grip{display:none}
  .ct-card{left:436px;right:auto;width:380px;bottom:18px}
  .carding .ct-panel{transform:none}
}
