/* ─────────────────────────────────────────────────────────────
   Écran « zone » — Figma 648:3494 « Map 2 · Launch Buzz — Zone »
   Le commerce choisit sa zone sur la carte (390 × 844, coordonnées Figma).
   Inter du Figma → Talkto hérité (tailles, graisses, interlettrages gardés).
   ───────────────────────────────────────────────────────────── */
.scr--zone{background:#0b0b0c}
.scr--zone .z-abs{position:absolute}

/* ── carte : tout ce qui est ancré à la carte dérive avec elle ── */
.scr--zone .z-map{position:absolute;left:0;top:0;width:390px;height:844px;
  transform-origin:195px 365px;will-change:transform;
  animation:z-drift 22s cubic-bezier(.45,0,.55,1) infinite alternate both}
.scr--zone .z-map__img{position:absolute;left:-207px;top:-18px;width:700px;height:879px;object-fit:cover}
@keyframes z-drift{
  from{transform:translate3d(0,0,0) scale(1)}
  to{transform:translate3d(-6px,-8px,0) scale(1.035)}
}

/* cercle de rayon (cyan 14 % / trait 90 %) */
.scr--zone .z-circle{position:absolute;left:80px;top:250px;width:230px;height:230px;
  transform-origin:50% 50%;will-change:transform}
.scr--zone .z-circle__fill{position:absolute;inset:0;border-radius:50%;background:#00D4FE;opacity:.14;
  animation:z-fill 3.6s ease-in-out infinite alternate both}
.scr--zone .z-circle__ring{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(0,212,254,.9)}
.scr--zone .z-circle__ping{position:absolute;inset:0;border-radius:50%;border:1.5px solid #00D4FE;opacity:0;
  animation:z-ping 3.6s cubic-bezier(.2,.6,.3,1) infinite both}
@keyframes z-fill{from{opacity:.14}to{opacity:.21}}
@keyframes z-ping{
  0%{opacity:0;transform:scale(1)}
  8%{opacity:.55}
  70%,100%{opacity:0;transform:scale(1.13)}
}

/* épingles créateurs : photo ronde, anneau magenta 2 px, ombre douce */
.scr--zone .z-pin{position:absolute;width:34px;height:34px;border-radius:50%;overflow:hidden;
  border:2px solid #FE14F3;background:#1a1a1d;box-shadow:0 1px 3px rgba(0,0,0,.38);
  will-change:transform,opacity}
.scr--zone .z-pin img,.scr--zone .z-av img{width:100%;height:100%;object-fit:cover}

/* réticule du centre */
.scr--zone .z-cross{position:absolute;left:184px;top:354px;width:22px;height:22px;border-radius:50%;border:2px solid #FE14F3}
.scr--zone .z-cross-dot{position:absolute;left:191.5px;top:361.5px;width:7px;height:7px;border-radius:50%;background:#FE14F3}

/* ── haut d'écran ── */
.scr--zone .z-scrim{position:absolute;left:0;top:0;width:390px;height:190px;
  background:linear-gradient(to bottom,rgba(5,5,5,.21) 0,rgba(5,5,5,0) 88px)}
.scr--zone .z-back{position:absolute;left:16px;top:40px;width:40px;height:40px;border-radius:999px;
  background:rgba(143,148,158,.08);border:1px solid rgba(143,148,158,.18);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.scr--zone .z-back svg{position:absolute;left:14px;top:10px;width:10px;height:20px}
.scr--zone .z-title{position:absolute;left:0;width:390px;top:47px;text-align:center;
  font-weight:700;font-size:21px;line-height:27px;letter-spacing:-.42px;color:#fff;white-space:nowrap}

.scr--zone .z-scope{position:absolute;left:16px;top:91px;display:flex;gap:8px;white-space:nowrap}
.scr--zone .z-tag{display:flex;align-items:center;gap:6px;height:35px;padding:0 11px;border-radius:18px;
  border:1px solid rgba(255,255,255,.14);background:rgba(5,5,5,.55);color:#fff;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.scr--zone .z-tag.is-on{background:#fff;color:#000}
.scr--zone .z-glyph{font-weight:700;font-size:11px;line-height:13px;letter-spacing:-.22px}
.scr--zone .z-glyph svg{display:block} /* « City » : un carré à coins arrondis, pas le caractère ▪ (Rico, 09/10) */
.scr--zone .z-lbl{font-weight:800;font-size:14px;line-height:17px;letter-spacing:-.28px}

/* ── ville courante et ses flèches ── */
.scr--zone .z-city{position:absolute;left:0;width:398px;top:518px;text-align:center;
  font-weight:800;font-size:16px;line-height:21px;color:#fff;white-space:nowrap;
  text-shadow:0 1px 6px rgba(0,0,0,.18)}
.scr--zone .z-arrow{position:absolute;width:26px;height:23.1px}
.scr--zone .z-arrow svg{position:absolute;left:1.45px;top:-1.45px;width:23.1px;height:26px}
.scr--zone .z-arrow--l{left:58px;top:517px}
.scr--zone .z-arrow--l svg{transform:rotate(-90deg)}
.scr--zone .z-arrow--r{left:314px;top:517.1px}
.scr--zone .z-arrow--r svg{transform:rotate(90deg)}

/* ── carte de l'assistant ── */
.scr--zone .z-card{position:absolute;left:16px;top:561px;width:358px;height:251px;padding:15px;
  border-radius:28px;border:1px solid rgba(255,255,255,.12);background:rgba(11,11,13,.72);overflow:hidden;
  -webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);
  display:flex;flex-direction:column;gap:12px}
.scr--zone .z-chips{display:flex;gap:8px;white-space:nowrap;flex:none}
.scr--zone .z-chip{position:relative;display:flex;align-items:center;gap:6px;height:31px;padding:0 12px;
  border-radius:16px;background:rgba(143,148,158,.06);color:#fff;flex:none}
.scr--zone .z-chip__hl{position:absolute;inset:0;border-radius:16px;background:#00D4FE;opacity:0}
.scr--zone .z-chip .z-glyph,.scr--zone .z-chip .z-lbl{position:relative}

.scr--zone .z-stats{display:flex;align-items:center;height:49px;flex:none}
.scr--zone .z-counts{display:flex;flex-direction:column;gap:2px;white-space:nowrap}
.scr--zone .z-count{display:flex;align-items:baseline;gap:6px}
.scr--zone .z-n{font-weight:700;font-size:24px;line-height:29px;letter-spacing:-.48px;color:#fff;font-variant-numeric:tabular-nums}
.scr--zone .z-unit{font-weight:400;font-size:14px;line-height:17px;letter-spacing:-.28px;color:#8F949E}
.scr--zone .z-reach{font-weight:400;font-size:15px;line-height:18px;color:#fff}
.scr--zone .z-strip{position:relative;margin-left:auto;width:140px;height:30px;flex:none}
.scr--zone .z-av{position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;overflow:hidden;
  border:2px solid #fff;background:#1a1a1d;will-change:transform,opacity}
.scr--zone .z-more{position:absolute;left:110px;top:0;width:30px;height:30px;border-radius:15px;
  border:2px solid #fff;background:rgba(143,148,158,.08);display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:11px;line-height:13px;color:#fff;white-space:nowrap;will-change:transform,opacity}

.scr--zone .z-dist{display:flex;flex-direction:column;gap:8px;flex:none}
.scr--zone .z-dist__head{display:flex;align-items:center;height:19px}
.scr--zone .z-dist__lbl{font-weight:400;font-size:14px;line-height:17px;letter-spacing:-.28px;color:#8F949E}
.scr--zone .z-km{margin-left:auto;font-weight:700;font-size:16px;line-height:19px;letter-spacing:-.32px;color:#00D4FE;white-space:nowrap}
.scr--zone .z-slider{position:relative;height:20px;width:326px}
.scr--zone .z-track{position:absolute;left:0;top:8px;width:326px;height:4px;border-radius:2px;background:rgba(255,255,255,.18)}
.scr--zone .z-fillbar{position:absolute;left:0;top:8px;width:60px;height:4px;border-radius:2px;background:#00D4FE;
  transform-origin:0 50%;will-change:transform}
.scr--zone .z-knob{position:absolute;left:52px;top:0;width:20px;height:20px;border-radius:50%;background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.25);will-change:transform}

.scr--zone .z-cta{display:flex;align-items:center;justify-content:center;height:56px;border-radius:28px;
  background:#FE14F3;flex:none;transition:none}
.scr--zone .z-cta span{font-weight:700;font-size:16px;line-height:19px;letter-spacing:-.32px;color:#fff;white-space:nowrap}

/* ── pilotage ── les boucles CSS ne tournent que pendant play() */
.scr--zone .z-map,.scr--zone .z-circle__fill,.scr--zone .z-circle__ping{animation-play-state:paused}
.scr--zone.is-playing .z-map,.scr--zone.is-playing .z-circle__fill,.scr--zone.is-playing .z-circle__ping{animation-play-state:running}
.scr--zone.is-still .z-map,.scr--zone.is-still .z-circle__fill,.scr--zone.is-still .z-circle__ping,
.scr--zone.is-reset .z-map,.scr--zone.is-reset .z-circle__fill,.scr--zone.is-reset .z-circle__ping{animation:none}
