/* Vezoria — styles de l’appli (sortis de index.html) */
/* Écran de démarrage : peint dès les premiers octets, avant les styles et la traduction */
:root{color-scheme:only light}
html,body{background:#2A1238}
#vz-splash{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2147483000;background:#2A1238;background:linear-gradient(#3a1750,#2A1238);overflow:hidden;transition:opacity .45s ease;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",sans-serif;-webkit-user-select:none;user-select:none}
#vz-splash.out{opacity:0;pointer-events:none}
#vz-splash .sp-f{position:absolute;top:0;left:50%;height:100vh;height:100dvh;width:55.814vh;width:55.814dvh;-webkit-transform:translateX(-50%);transform:translateX(-50%);background:url(splash.webp) center/100% 100% no-repeat}
#vz-splash .sp-t{position:absolute;left:4%;right:4%;top:25.4%;text-align:center;color:#fff;font-weight:300;font-size:3.2vh;font-size:3.2dvh;letter-spacing:.02em;text-shadow:0 1px 8px rgba(40,10,60,.55);white-space:nowrap}
#vz-splash .sp-r{position:absolute;left:50%;top:84.6%;width:7.4%;aspect-ratio:1;margin-left:-3.7%;border-radius:50%;border:3px solid rgba(233,196,106,.95);border-top-color:transparent;animation:vzsp-r 1.1s linear infinite}
#vz-splash .sp-b{position:absolute;left:17%;right:17%;top:92.3%;height:.55%;min-height:3px;border-radius:9px;background:rgba(255,255,255,.28);overflow:hidden}
#vz-splash .sp-b i{display:block;height:100%;width:0;border-radius:9px;background:linear-gradient(90deg,#c9a84c,#f3d98b);animation:vzsp-b 14s cubic-bezier(.2,.6,.35,1) forwards}
#vz-splash .sp-l{position:absolute;left:3%;right:3%;top:93.6%;text-align:center;color:#fff;font-size:1.85vh;font-size:1.85dvh;opacity:.95;text-shadow:0 1px 6px rgba(20,5,30,.7)}
@keyframes vzsp-r{to{transform:rotate(360deg)}}
@keyframes vzsp-b{0%{width:4%}100%{width:94%}}
@media (prefers-reduced-motion:reduce){#vz-splash .sp-r,#vz-splash .sp-b i{animation-duration:20s}}


/* 💬 dialogue sous les publications (abonnés et auteur) */
.fd-lk{display:block;border:0;background:none;padding:6px 2px 0;font:inherit;font-size:.84rem;color:var(--navy,#2A1238);text-align:left;cursor:pointer}
.fd-lk b{font-weight:700}
.fd-c{margin-top:8px}
.fd-cm{line-height:1.4;padding:2px 0}
.fd-cm .fd-ctx{white-space:pre-wrap;word-break:break-word}
.fd-au{display:inline-block;font-size:.75rem;font-weight:700;color:#7c3aed;background:#f1e9fe;border-radius:6px;padding:0 5px;vertical-align:1px}
.fd-cmeta{display:flex;gap:12px;align-items:center;margin-top:1px}
.fd-cmeta small{color:var(--gray)}
.fd-cmeta button{border:0;background:none;padding:2px 0;font:inherit;font-size:.78rem;font-weight:700;color:var(--gray);cursor:pointer}
.fd-call{border:0;background:none;padding:2px 0;font:inherit;font-size:.84rem;font-weight:600;color:var(--gray);text-align:left;cursor:pointer}
.fd-cin{margin-top:4px}
.fd-lklist{display:grid;gap:8px;margin:6px 0 10px}.fd-lklist div{display:flex;gap:8px;align-items:center}

.fd-by b{color:var(--navy,#2A1238)}
/* ══ 2026-10-23a · audit : zones de toucher, contrastes, bandeau « nouvelle version » ══ */
.fil-hide{padding:12px 18px!important;margin:4px auto 0!important;min-height:44px;box-sizing:border-box}
.v-cl .del{padding:12px 12px!important;margin:-10px -8px -10px 0!important}
.cv-thx::after,.cv-pj .x::after{content:'';position:absolute;inset:-9px}
.cv-x{min-height:36px;min-width:36px}
.cv-quick2 span{color:#5b4863}
.cv-plus button small{display:block;font-size:.75rem;font-weight:500;line-height:1.25;color:#5b4863}
#cv-body::after{content:'';display:block;height:72px}
#cv-count{white-space:nowrap}
html.vz-big{font-size:18px}
/* 📱 haut de l’écran plus compact sur petit téléphone (le programme apparaît sans faire défiler) */
#cv-tripname{white-space:nowrap}
.cv-settle-r{flex-wrap:wrap;row-gap:6px}.cv-settle-r>span{flex:1 1 160px;min-width:0}   /* « Régler » et « Demander » passent dessous si la phrase est longue (russe, petit écran) */
@media (max-width:400px){
  .hero #hdr-title{font-size:clamp(1.45rem,7.6vw,1.9rem)!important;line-height:1.08!important;margin:2px 0 4px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .hero #hdr-sub{margin-top:4px!important;font-size:.8rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%!important}
  .hero .hdr-chips{flex-wrap:nowrap!important;overflow-x:auto;margin-top:8px!important;scrollbar-width:none;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .hero .hdr-chips::-webkit-scrollbar{display:none}
  .hero .hdr-chips>*{flex:0 0 auto}
  .hero .hero-foot{margin-top:10px!important}
  .hero .hero-foot .cv-hero-qr{display:none!important}
  .hero .hero-foot .cv-bell{margin-left:14px!important;margin-right:auto!important}
  .hero .hero-foot .cv-av-names{display:none}
  .hero .hero-foot .cv-avs{flex:0 0 auto!important}
  .hero-btns{gap:6px!important}
}
@media (max-width:360px){
  .hero-btns .cv-syncpill:not(.cv-socpill) small{display:none}
  .hero-btns .cv-syncpill{padding-left:9px!important;padding-right:9px!important}
}
.cv-pchip,.v-chip.cv-pc{color:color-mix(in srgb,var(--pc) 58%,#000)}
.cv-pchip button{position:relative;padding:0 2px 0 6px!important;opacity:.75!important}
.cv-pchip button::after{content:'';position:absolute;inset:-12px -10px}
.st-dbtn{min-height:34px;padding:6px 12px!important}
.vz-upd{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(env(safe-area-inset-bottom,0px) + 92px);z-index:3000;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 32px);box-sizing:border-box;
  border:0;border-radius:999px;padding:12px 18px;min-height:44px;background:var(--navy,#2A1238);color:#fff;font:inherit;font-weight:700;font-size:.85rem;box-shadow:0 10px 28px -8px rgba(0,0,0,.45);cursor:pointer;animation:vzUpd .35s ease-out}
.vz-upd span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@keyframes vzUpd{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}
@media (prefers-reduced-motion:reduce){.vz-upd{animation:none}}

.sh-solo>summary{cursor:pointer;list-style:none}.sh-solo>summary::-webkit-details-marker{display:none}.sh-solo .sh-card{box-shadow:none;border:1px solid var(--light);margin-top:8px}
.fd-bell{overflow:hidden}.fd-bell b,.fd-bell small{min-width:0;overflow-wrap:anywhere;white-space:normal}.fd-name{box-sizing:border-box}

.ab-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--light)}
.ab-row:first-of-type{border-top:0}
.ab-t{flex:1;min-width:0}.ab-t b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ab-t small{display:block}
.ab-sw{flex:none;border:1px solid var(--light);background:#f4f1f6;color:var(--gray);border-radius:999px;padding:7px 12px;font:700 .82rem var(--ui,system-ui);cursor:pointer;min-width:104px}
.ab-sw.on{background:#e7f8ee;border-color:#7fd3a0;color:#11683a}
.ab-1{flex:none;border:0;background:none;font-size:1rem;padding:4px;cursor:pointer}

.fol-c .cv-badge{right:auto!important;left:8px!important;top:8px!important;width:auto;max-width:calc(100% - 52px);transform:none;z-index:1}

.sh-news>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none}
.sh-news>summary::-webkit-details-marker{display:none}
.sh-news>summary::after{content:'▾';color:var(--gray);transition:transform .15s}.sh-news[open]>summary::after{transform:rotate(180deg)}
.sh-news[open]>summary{margin-bottom:6px}.sh-nn{display:flex;align-items:center;gap:6px;margin-left:auto}.sh-nn small{color:var(--gray);font-weight:600}
.sh-nb{background:#EC4D6E;color:#fff;border-radius:9px;min-width:18px;padding:0 6px;font:800 .7rem/18px system-ui;text-align:center}
.sh-news .sh-close{display:none}.sh-news[open] .sh-open{display:none}.sh-news[open] .sh-close{display:inline}


/* ✨ Effet verre */
body.vz-glass{background:transparent!important}
body.vz-glass::before{content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;background:var(--cream,#FFF4F1)}
body.vz-glass::after{content:'';position:fixed;inset:-10%;z-index:-1;pointer-events:none;
  background:radial-gradient(46% 26% at 8% 34%,var(--sun1,#f9a8d4),transparent 72%),radial-gradient(48% 36% at 95% 30%,var(--sun2,#c084fc),transparent 72%),radial-gradient(55% 40% at 18% 72%,var(--sun3,#fdba74),transparent 72%),radial-gradient(45% 34% at 88% 96%,var(--sun1,#f9a8d4),transparent 70%);opacity:.46}
body.vz-glass .v-box,body.vz-glass .v-card,body.vz-glass .v-day,body.vz-glass .v-tile,body.vz-glass .v-sum,body.vz-glass .bstat,body.vz-glass .cl-prog,body.vz-glass .cl-item,body.vz-glass .v-cl,body.vz-glass .cv-prow,body.vz-glass .cv-souv,body.vz-glass .cv-wish,body.vz-glass .cv-echm,body.vz-glass .cv-note,body.vz-glass .cv-paybox,body.vz-glass .cv-trk,body.vz-glass .cv-tile,body.vz-glass .cv-past,body.vz-glass .cv-stats div,body.vz-glass .cv-dayc,body.vz-glass .cv-lmap,body.vz-glass .cv-dup,body.vz-glass .cv-psrow,body.vz-glass .cv-poi,body.vz-glass .cv-choice,body.vz-glass .cv-idea,body.vz-glass .cv-rc,body.vz-glass .cv-tripcard,body.vz-glass .sh-card,body.vz-glass .fd-post,body.vz-glass .cv-hstats,body.vz-glass .cv-route,body.vz-glass .cv-place,body.vz-glass .cv-disc-card,body.vz-glass .cv-db-dates{background:rgba(255,255,255,.58)!important;border-color:rgba(255,255,255,.75)!important;box-shadow:0 8px 24px -8px rgba(42,18,56,.14),inset 0 1px 0 rgba(255,255,255,.85)!important}
body.vz-glass .cv-nav{background:rgba(42,18,56,.7)!important;-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);border:1px solid rgba(255,255,255,.14)}
body.vz-glass .v-sheet{background:rgba(255,255,255,.9)!important;-webkit-backdrop-filter:blur(26px) saturate(170%);backdrop-filter:blur(26px) saturate(170%);border-top:1px solid rgba(255,255,255,.8)}
body.vz-glass .ui-box{background:rgba(255,255,255,.82)!important;-webkit-backdrop-filter:blur(22px) saturate(170%);backdrop-filter:blur(22px) saturate(170%);border:1px solid rgba(255,255,255,.8)}
@supports (background:color-mix(in srgb,red 50%,transparent)){
  body.vz-glass .cv-nav{background:color-mix(in srgb,var(--navy,#2A1238) 72%,transparent)!important}
  body.vz-glass .v-sheet{background:color-mix(in srgb,var(--cream,#FFF4F1) 90%,transparent)!important}
  body.vz-glass .cv-sub{background:color-mix(in srgb,var(--cream,#FFF4F1) 78%,transparent)!important}
  body.vz-glass .sh-tabs,body.vz-glass .v-sheet .v-actions{background:color-mix(in srgb,var(--cream,#FFF4F1) 86%,transparent)!important}
}
@media (prefers-reduced-transparency:reduce){body.vz-glass::after{opacity:.14}body.vz-glass .v-sheet,body.vz-glass .ui-box{background:var(--cream,#fff)!important}}
.vz-glass-sw{display:flex;align-items:center;justify-content:space-between;gap:10px}

.ab-by{display:inline-flex;align-items:center;gap:3px;cursor:default;background:#eef2ff;border-color:#c7d2fe;color:#3730a3;white-space:nowrap}

/* 🌍 cartes : position des repères garantie, même si la feuille de style de la carte arrive en retard ou pas du tout */
.maplibregl-marker,.maplibregl-popup{position:absolute!important;top:0!important;left:0!important;will-change:transform}
.maplibregl-map{position:relative;overflow:hidden}.maplibregl-canvas-container,.maplibregl-canvas{position:absolute;left:0;top:0}

#cv-feed ~ .v-sheet-bg{z-index:2600}
html,body{background:#2A1238}
.cv-hero{background:linear-gradient(135deg,#4c1d95,#7c3aed 60%,#a855f7);color:#fff;border-radius:20px;padding:16px 16px 14px;margin:0 0 12px;box-shadow:0 8px 24px rgba(124,58,237,.35)}
.cv-hero .hk{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;opacity:.8;font-weight:700}
.cv-hero .ht{display:flex;gap:12px;align-items:center;margin:8px 0 6px}.cv-hero .hi{font-size:2rem}.cv-hero .ht b{display:block;font-size:1.12rem;line-height:1.25}.cv-hero .ht small{display:block;opacity:.85;font-size:.8rem;margin-top:2px}
.cv-hero .hc{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.cv-hero .hc span{font-size:1.9rem;font-weight:800;letter-spacing:-.02em}.cv-hero .hc small{opacity:.85;font-size:.85rem}
.cv-hero .href{background:rgba(255,255,255,.16);border:0;color:#fff;border-radius:999px;padding:5px 12px;font-size:.78rem;margin-top:8px;max-width:100%;box-sizing:border-box}.cv-hero .href b{letter-spacing:.06em}
.cv-hero .hb{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.cv-hero .hb button{flex:1 1 0;min-width:72px;background:#fff;color:#4c1d95;border:0;border-radius:14px;padding:10px 6px;font-weight:700;font-size:.8rem;display:flex;flex-direction:column;align-items:center;gap:2px;box-sizing:border-box}.cv-hero .hb i{font-style:normal;font-size:1.25rem}
.cv-hero .hn{margin-top:10px;font-size:.76rem;opacity:.9;line-height:1.5}.cv-hero .hn small{opacity:.8}
.ap-list{max-height:52vh;overflow:auto;margin-bottom:8px}.ap-row{display:flex;gap:6px;align-items:flex-start;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.08)}.ap-b{flex:1;min-width:0}.ap-d{font-size:.78rem;opacity:.75;margin-bottom:4px}.ap-w{color:#c2410c;font-weight:600}
.ap-th{display:flex;gap:4px;margin-top:6px}.ap-th img{width:48px;height:48px;object-fit:cover;border-radius:8px}
#cv-film{position:fixed;inset:0;z-index:100000;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center}
#cv-film canvas{max-width:100%;max-height:calc(100% - 78px);aspect-ratio:9/16;height:auto;width:auto;object-fit:contain;background:#000}
#cv-film .fb{display:flex;gap:8px;padding:10px;align-items:center;justify-content:center;width:100%;box-sizing:border-box}#cv-film .fb button{background:#ffffff22;color:#fff;border:0;border-radius:12px;padding:10px 14px;font-size:1rem}#cv-film .fb .fs{background:#7c3aed;font-weight:700;font-size:.9rem}#cv-film .fb button:disabled{opacity:.5}
#cv-film .fm{position:absolute;top:10px;left:0;right:0;text-align:center;color:#fff;font-size:.82rem;text-shadow:0 1px 4px #000}

.hero #cv-cover{position:absolute;inset:-8%;background-size:cover;background-position:center;animation:cvKB 38s ease-in-out infinite alternate;z-index:0}
.hero.has-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,8,32,.55) 0%,rgba(20,8,32,.25) 45%,rgba(20,8,32,.8) 100%);z-index:0}
.hero.has-cover>*:not(#cv-cover):not(.hero-sun){position:relative;z-index:1}.hero.has-cover .hero-sun{opacity:.25}
@keyframes cvKB{from{transform:scale(1) translate(0,0)}to{transform:scale(1.12) translate(-2%,-2%)}}
body.cv-jourj .hero{box-shadow:inset 0 -6px 0 #fbbf24}body.cv-jourj #hdr-title::after{content:" ✈︎";color:#fbbf24}
#cv-viewer .vcov{bottom:calc(18px + env(safe-area-inset-bottom));left:18px;font-size:1.1rem}
.cv-prep{background:linear-gradient(135deg,#fff,#f5f0ff);border:1px solid #ede4ff;border-radius:18px;margin:0 0 12px;overflow:hidden}
.cv-prep .pp-h{display:flex;align-items:center;gap:12px;width:100%;background:none;border:0;padding:12px 14px;text-align:left;color:inherit;font:inherit}
.pp-ring{width:64px;height:64px;flex:none}.pp-ring circle{fill:none;stroke-width:8}.pp-ring .bg{stroke:#ede4ff}.pp-ring .fg{stroke:#7c3aed;stroke-linecap:round;transform:rotate(-90deg);transform-origin:40px 40px;transition:stroke-dashoffset 1s ease}.pp-ring text{font-size:17px;font-weight:800;fill:#4c1d95}
.pp-t{flex:1;display:flex;flex-direction:column;gap:1px}.pp-t b{font-size:1.02rem;color:#2e1065}.pp-t small{font-size:.74rem;opacity:.7}.pp-ch{opacity:.5}
.pp-l{padding:0 10px 10px;display:grid;gap:4px}.pp-s{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #f0eaff;border-radius:12px;padding:9px 10px;text-align:left;font:inherit;color:inherit}.pp-s i{font-style:normal;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#f3efff;color:#7c3aed;font-weight:800;flex:none}.pp-s.ok i{background:#7c3aed;color:#fff}.pp-s span{flex:1}.pp-s.ok span{opacity:.6}.pp-s small{opacity:.7}
.cv-moment{position:fixed;inset:0;z-index:99990;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(10,4,30,.0);transition:background .35s;box-sizing:border-box}
.cv-moment.in{background:rgba(10,4,30,.72)}.cv-moment .mo-card{position:relative;width:100%;max-width:400px;max-height:90vh;overflow:auto;box-sizing:border-box;border-radius:26px;padding:26px 20px 18px;color:#fff;text-align:center;background:linear-gradient(160deg,#1e1b4b,#4c1d95 55%,#7c3aed);box-shadow:0 20px 60px rgba(0,0,0,.45);transform:translateY(30px) scale(.96);opacity:0;transition:all .45s cubic-bezier(.2,.8,.2,1)}
.cv-moment.in .mo-card{transform:none;opacity:1}.cv-moment.hello .mo-card{background:linear-gradient(160deg,#0f3b46,#0e7490 55%,#22d3ee)}.cv-moment.board .mo-card{background:#fff;color:#1e1b4b;padding:0;overflow:hidden}
.mo-x{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:inherit;font-size:1rem}.board .mo-x{background:rgba(0,0,0,.08);z-index:2}
.mo-k{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;opacity:.8;font-weight:700}.mo-big{font-size:3.4rem;margin:8px 0 2px;animation:moPop .7s .15s both}
@keyframes moPop{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
.cv-moment h2{margin:0;font-size:1.7rem;color:inherit}.mo-sub{opacity:.85;margin-top:2px}.mo-l{margin:12px 0 0;font-size:.92rem}.mo-l small{display:block;opacity:.75;font-size:.78rem;margin-top:2px}
.mo-chk{display:grid;gap:6px;margin:14px 0 0;font-size:.86rem}.mo-chk span{background:rgba(255,255,255,.12);border-radius:12px;padding:8px 10px}.mo-chk .ok{opacity:.75}
.mo-w{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:14px 0 0}.mo-w div{background:rgba(255,255,255,.14);border-radius:12px;padding:7px 8px;text-align:left}.mo-w small{display:block;font-size:.75rem;opacity:.75;text-transform:uppercase;letter-spacing:.06em}.mo-w b{font-size:.9rem}
.mo-b{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:16px}.mo-b button{flex:1 1 auto;border:0;border-radius:14px;padding:11px 12px;font-weight:700;background:rgba(255,255,255,.18);color:inherit;font-size:.86rem}.mo-b .pri{background:#fff;color:#4c1d95}
.bp{padding:0 0 16px}.bp-h{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(90deg,#4c1d95,#7c3aed);color:#fff;padding:16px 50px 16px 18px;font-weight:700}.bp-h b{letter-spacing:.08em}
.bp-r{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 8px}.bp-r b{font-size:2.6rem;letter-spacing:.04em;display:block;line-height:1}.bp-r small{opacity:.6;font-size:.78rem}.bp-pl{font-size:1.6rem;color:#7c3aed}
.bp-g{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:8px 18px}.bp-g small,.bp-ref small{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;opacity:.55}.bp-g b{font-size:1rem}
.bp-cut{margin:12px 0;border-top:2px dashed #e5e0f5;position:relative}.bp-ref{padding:0 18px}.bp-ref b{font-size:1.5rem;letter-spacing:.14em}.board .mo-b{padding:0 14px}.board .mo-b button{background:#f3efff;color:#4c1d95}.board .mo-b .pri{background:#7c3aed;color:#fff}
.cv-eve{background:linear-gradient(160deg,#111827,#312e81);color:#fff;border-radius:20px;padding:14px;margin:0 0 12px}.ev-k{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;opacity:.8;font-weight:700}.ev-t{font-weight:700;margin:4px 0 8px}
.cv-eve textarea{width:100%;box-sizing:border-box;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.2)}.cv-eve textarea::placeholder{color:rgba(255,255,255,.6)}
.ev-ph{display:flex;gap:4px;flex-wrap:wrap;margin:6px 0}.ev-ph img{width:52px;height:52px;object-fit:cover;border-radius:8px}
.ev-b{display:flex;gap:6px;flex-wrap:wrap}.ev-b>*{flex:1 1 auto;border:0;border-radius:12px;padding:10px;font-weight:700;font-size:.82rem;text-align:center;background:rgba(255,255,255,.14);color:#fff;position:relative;overflow:hidden}.ev-b .pri{background:#fbbf24;color:#1f1300}.ev-b input{position:absolute;inset:0;opacity:0}.ev-b .ev-no{flex:0 0 auto;background:none;opacity:.7}
.cv-anniv{display:flex;align-items:stretch;gap:0;background:linear-gradient(135deg,#7c2d12,#db2777);border-radius:18px;margin:0 0 12px;color:#fff;overflow:hidden}
.cv-anniv .an-m{flex:1;display:flex;gap:12px;align-items:center;background:none;border:0;color:inherit;text-align:left;padding:10px;font:inherit}.cv-anniv img{width:64px;height:64px;border-radius:12px;object-fit:cover;flex:none;background:rgba(255,255,255,.2)}
.cv-anniv span{display:flex;flex-direction:column}.cv-anniv small{opacity:.85;font-size:.74rem}.cv-anniv b{font-size:1rem}.cv-anniv .an-x{background:none;border:0;color:#fff;opacity:.7;padding:0 14px}
.wm-new{margin-left:auto;white-space:nowrap;flex:none;background:#fbbf24;color:#1f1300;border:0;border-radius:999px;padding:8px 12px;font-weight:800;font-size:.8rem}
#wm-plan{position:absolute;left:12px;right:12px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:5;background:rgba(15,10,40,.92);color:#fff;border-radius:18px;padding:12px;box-sizing:border-box}
.wm-planning .wm-bottom,.wm-planning .wm-chips{display:none}
.wp-h{font-size:.8rem;opacity:.85;margin-bottom:8px}.wp-c{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.86rem;margin-bottom:10px}.wp-c span{background:rgba(255,255,255,.12);border-radius:999px;padding:4px 10px}.wp-c i{opacity:.6;font-style:normal}.wp-c em{opacity:.7}
.wp-b{display:flex;gap:6px}.wp-b button{flex:1;border:0;border-radius:12px;padding:10px;font-weight:700;background:rgba(255,255,255,.14);color:#fff}.wp-b button:first-child{flex:0 0 48px}.wp-b .pri{background:#fbbf24;color:#1f1300;flex:2}.wp-b button:disabled{opacity:.4}
.wm-plan-pin{width:26px;height:26px;border-radius:50%;background:#fbbf24;color:#1f1300;font-weight:800;display:grid;place-items:center;box-shadow:0 0 0 4px rgba(251,191,36,.35),0 0 18px #fbbf24;font-size:.8rem}
.cp-facts{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}.cp-facts span{background:#f3efff;color:#3b0764;border-radius:999px;padding:5px 10px;font-size:.78rem}.cp-facts .tip{border-radius:12px;background:#fff7ed;color:#7c2d12}

body.cv-ph-live{--navy:#073B40;--navy2:#0B5D63;--sun1:#2DD4BF;--sun2:#0D9488;--sun3:#0369A1;--light:#C9EDE6;--cream:#E6F6F2;--sunset:linear-gradient(120deg,#2DD4BF,#0D9488 55%,#0369A1)}
body.cv-ph-live .hero{background:radial-gradient(120% 90% at 85% 115%, rgba(13,148,136,1) 0%, rgba(3,105,161,.7) 38%, transparent 70%),linear-gradient(180deg,#03262A 0%,#06474D 60%,#0B6B6E 100%)}
body.cv-ph-past{--navy:#3A2119;--navy2:#5A3324;--sun1:#E8A47C;--sun2:#C2653F;--sun3:#8E3B2E;--light:#F3E2D7;--cream:#FAF2EC;--sunset:linear-gradient(120deg,#E8A47C,#C2653F 55%,#8E3B2E)}
body.cv-ph-past .hero{background:radial-gradient(120% 90% at 85% 115%, rgba(194,101,63,.85) 0%, rgba(142,59,46,.5) 38%, transparent 70%),linear-gradient(180deg,#24140F 0%,#3A2119 60%,#6B3526 100%)}
.ar>*:not(.cd-bg):not(.cd-sh){position:relative;z-index:2}.ar.ar-cd{isolation:isolate}
.ar-top{display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.ar-j{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:2px 0 0}.ar-j b{font-family:var(--serif,Georgia,serif);font-size:3.6rem;line-height:1;letter-spacing:-.03em;text-shadow:0 4px 20px rgba(0,0,0,.4)}
.ar-clock{padding:10px 0 4px!important}.ar-lv{margin-top:10px}
.ar .ar-steps{position:relative;display:grid;gap:8px;margin-top:4px}
.ar-s{border-radius:16px;background:rgba(255,255,255,.1);overflow:hidden}
.ar-s.cur{background:rgba(255,255,255,.18);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.45)}
.ar-s.next{opacity:.7}
.ar-h{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;cursor:pointer;color:#fff}
.ar-h>i{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:800;font-size:.8rem;background:rgba(255,255,255,.2)}
.ar-s.ok .ar-h>i{background:#22c55e}.ar-s.cur .ar-h>i{background:#fff;color:#4c1d95}
.ar-h>span{flex:1;min-width:0;font-weight:800;font-size:.92rem}.ar-h>small{font-size:.72rem;opacity:.8}.ar-h>em{font-style:normal;opacity:.7}
.ar-b{padding:0 12px 12px;display:grid;gap:8px;font-size:.84rem}
.ar-p{opacity:.92;line-height:1.4}.ar-st{margin-top:4px;line-height:1.6}.ar-st small{opacity:.75}
.ar-go{all:unset;box-sizing:border-box;display:block;text-align:center;padding:11px 14px;border-radius:14px;background:#fff;color:#4c1d95;font-weight:800;cursor:pointer}
.fil-bar{height:6px;border-radius:99px;background:rgba(255,255,255,.18);margin:10px 0 12px;overflow:hidden}.fil-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#fde68a,#f9a8d4)}
.fil-chips{display:flex;flex-wrap:wrap;gap:6px}.fil-hide{all:unset;display:block;margin:10px auto 0;font-size:.74rem;opacity:.7;text-decoration:underline;cursor:pointer}
.fil-soc{margin:0 0 14px}
.pi-sg{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 4px}
.ar-more{all:unset;box-sizing:border-box;display:block;text-align:center;padding:9px 12px;border-radius:14px;border:1.5px dashed rgba(255,255,255,.55);color:#fff;font-weight:800;font-size:.82rem;cursor:pointer}
.ar-run{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.14);font-weight:700;display:block}.ar-run small,.sg-pr{display:block;margin-top:3px;font-weight:600;font-size:.74rem;animation:sgB 1.4s ease-in-out infinite}
@keyframes sgB{0%,100%{opacity:.9}50%{opacity:.45}}
.ar-sk{all:unset;cursor:pointer;font-size:.76rem;opacity:.75;text-decoration:underline;justify-self:center}
.ar-rs{display:grid;gap:6px}
.ar-r{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;column-gap:10px;row-gap:8px;padding:9px 10px;border-radius:12px;background:rgba(255,255,255,.12);cursor:pointer}
.ar-r>i{flex:none;font-style:normal;width:22px;text-align:center}.ar-r>span{flex:1;min-width:0;display:flex;flex-direction:column}.ar-r b{font-size:.86rem;overflow-wrap:anywhere}.ar-r small{opacity:.78;font-size:.72rem}
.ar-r.ok{opacity:.7}.ar-r.ok>i{color:#86efac;font-weight:800}
.ar-ra{grid-column:2;display:flex;gap:6px;flex-wrap:wrap}
.ar-ra a,.ar-ra button{all:unset;display:inline-block!important;width:auto!important;flex:none;cursor:pointer;font-size:.74rem;font-weight:800;padding:6px 10px;border-radius:99px;background:#fff;color:#4c1d95}
.ar-ra button{background:rgba(255,255,255,.2);color:#fff}
.ar-fs{display:grid;gap:6px}
.ar-f{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:12px;background:rgba(255,255,255,.12);cursor:pointer;color:#fff}
.ar-f>i{font-style:normal}.ar-f>span{flex:1;min-width:0;font-size:.84rem}.ar-f>small{font-size:.72rem;opacity:.8}.ar-f.ok{opacity:.65}.ar-f.bad{background:rgba(248,113,113,.25)}
.ar .cd-lk{color:#a7f3d0;border-top-color:rgba(255,255,255,.15)}
.cv-prep2{position:relative;overflow:hidden;border-radius:24px;margin:0 0 12px;padding:16px 16px 14px;color:#fff;background:radial-gradient(110% 80% at 100% 0%, rgba(255,160,107,.55), transparent 60%),linear-gradient(150deg,#2A1238 0%,#5B1F5F 55%,#9D4EDD 100%);box-shadow:0 12px 30px rgba(91,31,95,.35)}
.cv-prep2::before{content:"";position:absolute;inset:0;background:radial-gradient(1.5px 1.5px at 20% 30%,#fff8,transparent),radial-gradient(1.5px 1.5px at 70% 20%,#fff6,transparent),radial-gradient(1px 1px at 45% 60%,#fff7,transparent),radial-gradient(1px 1px at 85% 55%,#fff5,transparent);pointer-events:none}
.p2-top{display:flex;justify-content:space-between;align-items:flex-start;position:relative}.p2-k{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;opacity:.8;font-weight:700}.p2-l{font-size:1.35rem;font-weight:800;margin-top:2px}
.p2-pct{text-align:right;line-height:1}.p2-pct b{font-size:2.6rem;font-weight:800;letter-spacing:-.03em;background:linear-gradient(180deg,#fff,#FFD9A0);-webkit-background-clip:text;background-clip:text;color:transparent}.p2-pct small{font-size:1rem;opacity:.8;margin-left:2px}
.p2-svg{display:block;width:100%;height:auto;margin:4px 0 2px;overflow:visible}.p2-base{fill:none;stroke:rgba(255,255,255,.28);stroke-width:2.5;stroke-dasharray:4 6}
.p2-prog{fill:none;stroke:url(#p2g);stroke:#FFD9A0;stroke-width:4;stroke-linecap:round;stroke-dasharray:var(--p) 100;stroke-dashoffset:0;animation:p2draw 1.8s cubic-bezier(.2,.7,.2,1) both;filter:drop-shadow(0 0 6px rgba(255,217,160,.8))}
@keyframes p2draw{from{stroke-dasharray:0 100}}
.p2-svg circle{fill:rgba(255,255,255,.35)}.p2-svg circle.on{fill:#FFD9A0;animation:p2pop .5s both;filter:drop-shadow(0 0 5px #FFD9A0)}@keyframes p2pop{from{r:0}}
.p2-end{font-size:20px}.p2-plane text{filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}
.p2-msg{font-size:.86rem;opacity:.9;position:relative}
.p2-next{display:flex;align-items:center;gap:6px;width:100%;margin-top:10px;border:0;border-radius:16px;padding:12px 14px;background:#fff;color:#4A1A4F;font:inherit;font-size:.9rem;text-align:left;box-shadow:0 6px 16px rgba(0,0,0,.18);position:relative}.p2-next span{opacity:.65;white-space:nowrap}.p2-next b{flex:1}.p2-next i{font-style:normal;font-weight:800;color:#9D4EDD}
.p2-tog{background:none;border:0;color:#fff;opacity:.75;font:inherit;font-size:.78rem;margin-top:8px;padding:4px 0;position:relative}
.p2-list{display:grid;gap:5px;margin-top:6px;position:relative}.p2-list button{display:flex;align-items:center;gap:10px;border:0;border-radius:12px;padding:9px 10px;background:rgba(255,255,255,.12);color:#fff;font:inherit;text-align:left}.p2-list i{font-style:normal;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);flex:none;font-weight:800}.p2-list .ok i{background:#FFD9A0;color:#4A1A4F}.p2-list span{flex:1}.p2-list .ok span{opacity:.7}.p2-list small{opacity:.75}
.cv-bhero{border-radius:24px;padding:18px 16px;margin:0 0 12px;color:#fff;text-align:center;background:radial-gradient(110% 80% at 100% 0%, rgba(232,164,124,.45), transparent 60%),linear-gradient(150deg,#24140F 0%,#5A3324 60%,#A04B32 100%);box-shadow:0 12px 30px rgba(90,51,36,.35)}
.bh-k{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;opacity:.85;font-weight:700}.cv-bhero h2{margin:6px 0 2px;color:#fff;font-size:1.6rem}.bh-d{opacity:.8;font-size:.85rem}
.bh-c{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:6px;margin:14px 0 6px}.bh-c span{background:rgba(255,255,255,.12);border-radius:14px;padding:8px 4px}.bh-c b{display:block;font-size:1.05rem}.bh-c small{opacity:.75;font-size:.75rem}
.bh-f{font-size:1.6rem;letter-spacing:4px;margin:6px 0}.bh-b{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.bh-b button{flex:1 1 auto;border:0;border-radius:14px;padding:11px 10px;font-weight:700;font-size:.84rem;background:rgba(255,255,255,.16);color:#fff}.bh-b .pri{background:#F3D2BC;color:#3A2119}
.cv-moment.home .mo-card{background:linear-gradient(160deg,#24140F,#5A3324 55%,#A04B32)}
.cv-lmap{background:#fff;border:1px solid var(--light);border-radius:20px;padding:12px;margin:0 0 12px}.lm-h{font-weight:800;margin-bottom:8px}.lm-map{min-height:60px}.lm-l{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0;font-size:.82rem}.lm-l i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:middle}.lm-l small{opacity:.65}
body.cv-ph-live .cv-live{background:linear-gradient(135deg,#0B3B45,#0F766E);box-shadow:0 6px 18px rgba(15,118,110,.3)}body.cv-ph-live .cv-hero{background:linear-gradient(135deg,#0F4C5C,#0D9488 60%,#14B8A6);box-shadow:0 8px 24px rgba(13,148,136,.35)}body.cv-ph-live .cv-hero .hb button{color:#0F4C5C}
body .cv-live.done{background:linear-gradient(135deg,#3A2119,#8E3B2E)}

.cv-anim{position:fixed;inset:0;z-index:99995;pointer-events:none;overflow:hidden;animation:fxIn .25s both}.cv-anim.out{animation:fxOut .45s both}
@keyframes fxIn{from{opacity:0}}@keyframes fxOut{to{opacity:0}}
.cv-anim .fx-e{font-size:72px;line-height:1;display:block;filter:drop-shadow(0 8px 14px rgba(0,0,0,.25))}.cv-anim .fx-i{width:110px;height:auto;display:block}
.fx-lab{position:absolute;left:0;right:0;bottom:22%;text-align:center;font-weight:800;font-size:1.6rem;color:#fff;text-shadow:0 2px 3px rgba(0,0,0,.5),0 4px 18px rgba(0,0,0,.45);animation:fxLab 2s .35s both}
@keyframes fxLab{0%{opacity:0;transform:translateY(14px) scale(.9)}20%,80%{opacity:1;transform:none}100%{opacity:0}}
.fx-sky,.fx-night{position:absolute;inset:0;background:linear-gradient(180deg,rgba(56,189,248,.55),rgba(186,230,253,.35) 60%,rgba(255,255,255,0))}
.fx-night{background:radial-gradient(60% 50% at 50% 55%,rgba(49,46,129,.75),rgba(15,12,46,.85))}
.fx-runway{position:absolute;left:-10%;right:-10%;bottom:30%;height:6px;background:repeating-linear-gradient(90deg,#fff 0 40px,transparent 40px 80px);opacity:.8;animation:fxRun .9s linear both}
@keyframes fxRun{to{transform:translateX(-80px);opacity:0}}
.fx-plane .fx-mover{position:absolute;left:-20%;bottom:30%;animation:fxTake 1.9s cubic-bezier(.5,0,.6,1) both}.fx-plane .fx-mover .fx-e{transform:rotate(45deg)}
@keyframes fxTake{0%{transform:translate(0,0) rotate(0deg)}40%{transform:translate(45vw,0) rotate(-5deg)}100%{transform:translate(125vw,-70vh) rotate(-28deg) scale(.55)}}
.fx-cl{position:absolute;opacity:0}.fx-cl.c1{top:22%;left:60%;animation:fxCloud 1.9s .6s both}.fx-cl.c2{top:38%;left:20%;animation:fxCloud 1.9s .9s both}.fx-cl .fx-e{font-size:56px}
@keyframes fxCloud{0%{opacity:0;transform:translateX(40px)}30%{opacity:.9}100%{opacity:0;transform:translateX(-120px)}}
.fx-train .fx-mover,.fx-bus .fx-mover,.fx-car .fx-mover{position:absolute;left:-30%;bottom:34%;animation:fxPass 1.7s cubic-bezier(.3,.1,.3,1) both}
@keyframes fxPass{0%{transform:translateX(0)}50%{transform:translateX(70vw)}100%{transform:translateX(140vw)}}
.fx-rail,.fx-road{position:absolute;left:0;right:0;bottom:32%;height:5px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.9) 0 18px,transparent 18px 30px)}
.fx-lines{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,184,166,.35),rgba(255,255,255,0) 70%)}
.fx-sea{position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(180deg,rgba(14,165,233,.55),rgba(3,105,161,.7));border-radius:50% 50% 0 0/22px 22px 0 0;animation:fxWave 1.2s ease-in-out infinite alternate}
@keyframes fxWave{to{transform:translateY(6px)}}
.fx-boat .fx-mover{position:absolute;left:-25%;bottom:36%;animation:fxSail 2s ease-in-out both}
@keyframes fxSail{0%{transform:translateX(0) rotate(-3deg)}25%{transform:translateX(30vw) rotate(3deg)}50%{transform:translateX(60vw) rotate(-3deg)}75%{transform:translateX(90vw) rotate(3deg)}100%{transform:translateX(130vw) rotate(0)}}
.fx-moon{position:absolute;top:16%;right:16%;animation:fxPopIn .6s both}.fx-moon .fx-e{font-size:54px}
.fx-bed{position:absolute;left:50%;top:50%;transform:translate(-50%,-30%);animation:fxPopIn .4s both}.fx-bed .fx-e{font-size:110px}.fx-bed .fx-i{width:170px}
.fx-bear{position:absolute;left:50%;top:50%;animation:fxBear 1.6s .2s cubic-bezier(.3,.2,.3,1) both}.fx-bear .fx-e{font-size:60px}
@keyframes fxBear{0%{transform:translate(-60vw,-30%)}45%{transform:translate(-90px,-20%)}62%{transform:translate(-50px,-95%)}80%,100%{transform:translate(-30px,-58%) rotate(-80deg) scale(.9)}}
.fx-blanket{position:absolute;left:50%;top:50%;width:118px;height:40px;margin-left:-74px;margin-top:6px;border-radius:18px 18px 10px 10px;background:linear-gradient(180deg,#f9a8d4,#ec4899);box-shadow:0 4px 10px rgba(0,0,0,.2);transform-origin:right center;animation:fxBlanket .5s 1.55s both}
@keyframes fxBlanket{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.fx-z{position:absolute;left:50%;top:40%;opacity:0;animation:fxZ 1.2s 1.9s both}.fx-z .fx-e{font-size:44px}
@keyframes fxZ{0%{opacity:0;transform:translate(10px,0)}30%{opacity:1}100%{opacity:0;transform:translate(60px,-80px)}}
@keyframes fxPopIn{from{opacity:0;transform:translate(-50%,-30%) scale(.4)}}
.fx-ticket .fx-pop,.fx-souvenir .fx-pop,.fx-trip .fx-pop{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);animation:fxBounce .7s both}
@keyframes fxBounce{0%{transform:translate(-50%,-50%) scale(.2) rotate(-20deg);opacity:0}60%{transform:translate(-50%,-50%) scale(1.15) rotate(6deg);opacity:1}100%{transform:translate(-50%,-50%) scale(1) rotate(0)}}
.fx-stamp{position:absolute;left:50%;top:44%;width:84px;height:84px;margin:-10px 0 0 10px;border:5px solid #16a34a;border-radius:50%;color:#16a34a;font-size:46px;font-weight:900;display:grid;place-items:center;background:rgba(255,255,255,.85);animation:fxStamp .35s .55s both}
@keyframes fxStamp{from{transform:scale(2.2);opacity:0}}
.fx-flash{position:absolute;inset:0;background:#fff;animation:fxFlash .5s both}@keyframes fxFlash{0%{opacity:0}15%{opacity:.95}100%{opacity:0}}
.fx-burst{position:absolute;left:50%;top:44%}.fx-burst i{position:absolute;left:0;top:0;animation:fxStar 1.3s var(--d) cubic-bezier(.2,.7,.2,1) both}.fx-burst .fx-e{font-size:30px}
@keyframes fxStar{0%{transform:rotate(var(--a)) translateY(0) scale(.2);opacity:0}30%{opacity:1}100%{transform:rotate(var(--a)) translateY(-150px) scale(1);opacity:0}}

/* iPhone : pas de zoom automatique quand on touche un champ (iOS zoome sous 16 px). Le zoom à deux doigts reste possible. */@supports(-webkit-touch-callout:none){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea{font-size:max(16px,1em)!important}}

:root {
  --navy:   #16213e;
  --navy2:  #0f3460;
  --gold:   #c9a84c;
  --gold2:  #f0c040;
  --cream:  #faf6ef;
  --light:  #f0ece2;
  --green:  #2d9e6b;
  --red:    #e05252;
  --blue:   #2166ac;
  --gray:   #888;
  --white:  #ffffff;
  --radius: 12px;
  --shadow: 0 2px 14px rgba(0,0,0,0.1);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
body{font-family:-apple-system,'Helvetica Neue',sans-serif;background:var(--cream);color:#1a1a2e;min-height:100vh;padding-bottom:30px;}

/* ── HEADER ──────────────────────────────────────────── */
.header{background:var(--navy);padding:16px 16px 0;position:sticky;top:0;z-index:200;}
.header h1{font-family:Georgia,serif;font-size:1.25rem;color:var(--gold);text-align:center;letter-spacing:1px;}
.header .sub{font-size:.75rem;color:rgba(255,255,255,0.5);text-align:center;margin:2px 0 12px;}
.tabs{display:flex;overflow-x:auto;gap:0;scrollbar-width:none;}
.tabs::-webkit-scrollbar{display:none;}
.tab{padding:10px 14px;font-size:0.75rem;font-weight:600;white-space:nowrap;cursor:pointer;color:rgba(255,255,255,0.5);border-bottom:3px solid transparent;transition:all .2s;flex-shrink:0;}
.tab.active{color:var(--gold);border-bottom-color:var(--gold);}

/* ── CONTENT ─────────────────────────────────────────── */
.content{padding:14px;}
.section{display:none;animation:fadeIn .2s;}
.section.active{display:block;}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

/* ── ROUTE VISUAL ─────────────────────────────────────── */
.route-wrap{background:var(--navy);border-radius:var(--radius);padding:16px;margin-bottom:14px;overflow-x:auto;}
.route-title{color:var(--gold);font-family:Georgia,serif;font-size:0.85rem;margin-bottom:12px;letter-spacing:0.5px;}
.route-line{display:flex;align-items:center;min-width:max-content;padding:4px 0;}
.city-stop{display:flex;flex-direction:column;align-items:center;gap:3px;}
.city-stop .dot{width:10px;height:10px;border-radius:50%;background:var(--gold);border:2px solid white;flex-shrink:0;}
.city-stop .cn{font-size:0.6rem;color:var(--cream);white-space:nowrap;}
.city-stop .cd{font-size:0.52rem;color:rgba(255,255,255,0.4);}
.route-seg{height:2px;background:rgba(201,168,76,0.35);flex:0 0 28px;margin-bottom:13px;}

/* ── TABLE ───────────────────────────────────────────── */
.table-scroll{overflow-x:auto;border-radius:var(--radius);box-shadow:var(--shadow);}
.itin-tbl{width:100%;border-collapse:collapse;min-width:540px;background:white;}
.itin-tbl th{background:var(--navy);color:var(--gold);padding:8px 6px;font-size:.75rem;text-align:left;white-space:nowrap;}
.itin-tbl td{padding:7px 6px;border-bottom:1px solid #f0ece4;font-size:0.76rem;vertical-align:middle;}
.itin-tbl tr.sejour td{background:#f0f5ff;}
.itin-tbl tr.sejour:nth-child(even) td{background:#e8f0ff;}
.itin-tbl tr.trajet:nth-child(even) td{background:#faf9f7;}
[contenteditable]{outline:none;}
[contenteditable]:focus{background:#fff9e0;border-radius:4px;box-shadow:0 0 0 2px var(--gold);padding:1px 3px;}

.paid-btn{display:inline-flex;align-items:center;justify-content:center;padding:3px 7px;border-radius:10px;border:none;font-size:.75rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .2s;}
.paid-btn.oui{background:#d4edda;color:var(--green);}
.paid-btn.non{background:#fdecea;color:var(--red);}

.tbadge.flixbus{background:#e8f5e9;color:#1b5e20;cursor:pointer;}
.tbadge.train{background:#e3f2fd;color:#1565c0;cursor:pointer;}
.tbadge.avion{background:#fff3e0;color:#e65100;cursor:pointer;}
.tbadge.bus{background:#f3e5f5;color:#6a1b9a;cursor:pointer;}
.tbadge.voiture{background:#fce4ec;color:#880e4f;cursor:pointer;}
.tbadge.other{background:#f5f5f5;color:#555;cursor:pointer;}
.tbadge{transition:transform .1s;}
.tbadge:active{transform:scale(0.92);}

/* ── INSERT ROW ──────────────────────────────────────── */
.insert-btn{background:none;border:none;color:rgba(201,168,76,0.5);font-size:10px;cursor:pointer;padding:2px 4px;vertical-align:middle;}
.insert-btn:hover,.insert-btn:active{color:var(--gold);}
.insert-row-form{background:#fffbe6;border-top:2px dashed var(--gold);border-bottom:2px dashed var(--gold);}
.insert-row-form td{padding:8px 6px;}
.insert-inputs{display:flex;flex-wrap:wrap;gap:4px;align-items:center;}
.insert-inputs input,.insert-inputs select{padding:5px 6px;border:1px solid #ddd;border-radius:6px;font-size:0.72rem;background:white;width:auto;flex:1;min-width:70px;}
.insert-inputs .btn-ok{padding:5px 12px;font-size:0.72rem;flex-shrink:0;}
.insert-inputs .btn-no{padding:5px 10px;font-size:0.72rem;flex-shrink:0;}


.tbl-footer{background:var(--navy);color:white;font-size:0.75rem;}
.tbl-footer td{padding:8px 6px;font-weight:600;border-bottom:none;}

.add-row-btn{display:flex;align-items:center;gap:6px;padding:9px 14px;background:var(--navy);color:var(--gold);border:none;border-radius:8px;font-size:0.78rem;font-weight:600;cursor:pointer;margin-top:10px;}

/* ── ADD FORM ────────────────────────────────────────── */
.add-form{background:#f8f9ff;border-radius:var(--radius);padding:14px;margin-top:10px;border:2px dashed #c5cae9;display:none;}
.add-form.open{display:block;}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.fg input,.fg select,.fg.full input{padding:8px;border:1px solid #ddd;border-radius:7px;font-size:0.78rem;background:white;width:100%;}
.fg input:focus,.fg select:focus{outline:none;border-color:var(--gold);}
.full{grid-column:1/-1;}
.form-actions{display:flex;gap:8px;margin-top:10px;}
.btn-ok{padding:8px 16px;background:var(--navy);color:white;border:none;border-radius:8px;font-size:0.78rem;font-weight:600;cursor:pointer;}
.btn-no{padding:8px 16px;background:#eee;color:#555;border:none;border-radius:8px;font-size:0.78rem;cursor:pointer;}

/* ── BUDGET ──────────────────────────────────────────── */
.budget-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;}
.bstat{background:white;border-radius:var(--radius);padding:14px;text-align:center;box-shadow:var(--shadow);}
.bstat .amt{font-size:1.4rem;font-weight:700;font-family:Georgia,serif;}
.bstat .lbl{font-size:.75rem;color:var(--gray);margin-top:3px;}
.bstat.t .amt{color:var(--navy);}
.bstat.p .amt{color:var(--green);}
.bstat.r .amt{color:var(--red);}
.bstat.n .amt{color:var(--blue);}
.progress-bar{height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden;margin:6px 0;}
.progress-fill{height:100%;background:var(--green);border-radius:4px;transition:width .4s;}
.prog-label{font-size:.75rem;color:var(--gray);text-align:right;}
.budget-table{width:100%;border-collapse:collapse;background:white;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.budget-table th{background:var(--navy);color:var(--gold);padding:8px 10px;font-size:.75rem;text-align:left;}
.budget-table td{padding:8px 10px;border-bottom:1px solid #f0ece4;font-size:0.78rem;}
.budget-table tr:last-child td{border-bottom:none;}
.budget-table .sub-total{font-weight:700;background:var(--light);}

/* ── HOTELS / GARES CARDS ────────────────────────────── */
.info-card{background:white;border-radius:var(--radius);margin-bottom:10px;box-shadow:var(--shadow);border-left:4px solid var(--gold);overflow:hidden;}
.ic-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:linear-gradient(90deg,rgba(22,33,62,0.04),transparent);}
.ic-city{font-family:Georgia,serif;font-weight:bold;font-size:0.95rem;color:var(--navy);}
.ic-dates{font-size:.75rem;color:var(--gray);}
.ic-body{padding:0 14px 12px;}
.if{margin-bottom:8px;}
.if label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:0.5px;color:var(--gray);margin-bottom:3px;}
.if-edit{display:block;width:100%;font-size:0.8rem;padding:7px 9px;background:var(--light);border-radius:7px;border:1px solid transparent;min-height:30px;outline:none;font-family:-apple-system,sans-serif;transition:border .2s;}
.if-edit:focus{border-color:var(--gold);background:#fff9e0;}
.if-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.ic-paid-row{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;border-top:1px solid #f0ece4;background:#fafafa;}
.ic-paid-lbl{font-size:0.75rem;color:#555;}
.map-link{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;color:var(--navy);background:var(--light);border:none;border-radius:20px;padding:4px 10px;cursor:pointer;text-decoration:none;margin-top:6px;}
.map-link:active{background:var(--gold);color:white;}
/* ── IMAGE BANK ──────────────────────────────────────────── */
.img-bank{margin-top:10px;padding-top:10px;border-top:1px solid #f0ece4;}
.img-bank-title{font-size:.75rem;text-transform:uppercase;letter-spacing:0.5px;color:var(--gray);margin-bottom:6px;font-weight:600;}
.img-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px;}
.img-thumb{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer;}
.img-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.img-thumb .img-del{position:absolute;top:2px;right:2px;background:rgba(0,0,0,0.6);color:white;border:none;border-radius:50%;width:18px;height:18px;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;}
.img-thumb:hover .img-del,.img-thumb:active .img-del{opacity:1;}
.img-thumb .img-cap{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,0.5);color:white;font-size:0.55rem;padding:2px 4px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.img-add-btn{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;padding:7px;border:2px dashed #d0ccc0;border-radius:8px;background:none;color:var(--gray);font-size:0.72rem;cursor:pointer;transition:all .15s;}
.img-add-btn:active{border-color:var(--gold);color:var(--gold);}
/* ── IMAGE MODAL ─────────────────────────────────────────── */
.img-modal{position:fixed;inset:0;background:rgba(0,0,0,0.92);z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;}
.img-modal img{max-width:100%;max-height:80vh;border-radius:10px;object-fit:contain;}
.img-modal-cap{color:rgba(255,255,255,0.7);font-size:0.75rem;margin-top:8px;text-align:center;}
.img-modal-cap[contenteditable=true]{outline:1px dashed rgba(255,255,255,0.3);padding:2px 8px;border-radius:4px;}
.img-modal-close{position:absolute;top:12px;right:16px;background:none;border:none;color:white;font-size:24px;cursor:pointer;}
.img-modal-del{background:#e05252;color:white;border:none;border-radius:8px;padding:8px 16px;font-size:0.78rem;margin-top:10px;cursor:pointer;}

.map-mini{display:inline-flex;align-items:center;gap:3px;font-size:.75rem;color:#2166ac;text-decoration:none;background:#e8f4fd;border-radius:12px;padding:2px 7px;flex-shrink:0;}
.map-mini:active{background:#2166ac;color:white;}

/* ── CHECKLIST ───────────────────────────────────────── */
.cl-cat{margin-bottom:14px;}
.cl-cat h3{font-size:0.72rem;text-transform:uppercase;letter-spacing:1px;color:white;background:var(--navy);padding:6px 12px;border-radius:7px;margin-bottom:8px;}
.cl-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:white;border-radius:9px;margin-bottom:5px;box-shadow:0 1px 4px rgba(0,0,0,0.07);cursor:pointer;transition:background .2s;}
.cl-item.done{background:#f0faf5;}
.cl-check{width:20px;height:20px;border-radius:50%;border:2px solid #ddd;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s;}
.cl-item.done .cl-check{background:var(--green);border-color:var(--green);}
.cl-check::after{content:'✓';color:white;font-size:11px;display:none;}
.cl-item.done .cl-check::after{display:block;}
.cl-text{font-size:0.82rem;flex:1;}
.cl-item.done .cl-text{text-decoration:line-through;color:var(--gray);}
.cl-prog{background:white;border-radius:var(--radius);padding:14px;margin-bottom:14px;box-shadow:var(--shadow);text-align:center;}
.cl-prog .cnt{font-size:1.6rem;font-weight:700;font-family:Georgia,serif;color:var(--navy);}
.cl-prog .sub{font-size:0.72rem;color:var(--gray);}

/* ── SAVE TOAST ──────────────────────────────────────── */
.toast{position:fixed;bottom:24px;right:16px;background:var(--green);color:white;padding:7px 14px;border-radius:20px;font-size:.75rem;font-weight:600;opacity:0;transition:opacity .3s;pointer-events:none;z-index:999;}
.toast.show{opacity:1;}
.section-title{font-family:Georgia,serif;font-size:1rem;color:var(--navy);margin-bottom:12px;font-weight:bold;}
/* ── PROGRAMME ───────────────────────────────────────── */
.prog-card{background:white;border-radius:var(--radius);margin-bottom:8px;box-shadow:var(--shadow);overflow:hidden;}
.prog-header{display:flex;align-items:center;gap:8px;padding:12px 14px;cursor:pointer;user-select:none;-webkit-user-select:none;}
.prog-header:active{background:#f9f6f0;}
.prog-jour{display:inline-block;background:var(--navy);color:var(--gold);font-size:.75rem;font-weight:700;padding:2px 7px;border-radius:10px;flex-shrink:0;}
.prog-flag{font-size:1rem;flex-shrink:0;}
.prog-titre{font-family:Georgia,serif;font-weight:bold;font-size:0.9rem;color:var(--navy);flex:1;}
.prog-date{font-size:.75rem;color:var(--gray);white-space:nowrap;}
.prog-arrow{font-size:0.9rem;color:var(--gold);flex-shrink:0;transition:transform .2s;}
.prog-body{padding:0 14px 12px;border-top:1px solid #f0ece4;animation:fadeIn .15s;}
.prog-item{display:flex;align-items:flex-start;gap:8px;padding:5px 0;border-bottom:1px solid #f8f5f0;}
.prog-item:last-child{border-bottom:none;}
.prog-time{font-size:.75rem;color:var(--gold);font-weight:700;min-width:38px;padding-top:1px;flex-shrink:0;}
.prog-icon{font-size:0.85rem;flex-shrink:0;}
.prog-desc{font-size:0.78rem;color:#333;flex:1;line-height:1.35;}
.prog-hotel-tag{display:flex;align-items:center;gap:6px;margin-top:8px;padding:6px 10px;background:#fff9e6;border-radius:7px;border-left:3px solid var(--gold);font-size:0.75rem;color:var(--navy);font-weight:600;}
.prog-section-lbl{font-size:.75rem;text-transform:uppercase;letter-spacing:0.5px;color:var(--gray);margin-top:8px;margin-bottom:2px;font-weight:600;}
.type-train{color:#1565c0;}
.type-avion{color:#e65100;}
.type-hotel{color:var(--green);}
.type-visit{color:#333;}
.type-food{color:#7b3f00;}
.type-info{color:var(--gray);}
/* ── VISITES PAR VILLE ───────────────────────────────── */
.vcard{background:white;border-radius:var(--radius);margin-bottom:12px;box-shadow:var(--shadow);overflow:hidden;}
.vcard-header{display:flex;align-items:center;gap:10px;padding:13px 14px;background:linear-gradient(135deg,var(--navy),var(--navy2));cursor:pointer;user-select:none;-webkit-user-select:none;}
.vcard-header:active{opacity:.85;}
.vcard-flag{font-size:1.3rem;flex-shrink:0;}
.vcard-info{flex:1;}
.vcard-city{font-family:Georgia,serif;font-weight:bold;font-size:1rem;color:var(--gold);}
.vcard-dates{font-size:.75rem;color:rgba(255,255,255,0.5);margin-top:1px;}
.vcard-count{background:var(--gold);color:var(--navy);font-size:.75rem;font-weight:800;padding:2px 7px;border-radius:10px;flex-shrink:0;}
.vcard-arrow{color:var(--gold);font-size:0.9rem;flex-shrink:0;transition:transform .2s;}
.vcard-body{padding:10px 14px 14px;}

.vitem{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:9px;margin-bottom:6px;background:var(--light);position:relative;transition:background .15s;}
.vitem:last-child{margin-bottom:0;}
.vitem-drag{color:#ccc;font-size:14px;cursor:grab;flex-shrink:0;padding-top:2px;touch-action:none;}
.vitem-drag:active{cursor:grabbing;}
.vitem-icon{font-size:1.1rem;flex-shrink:0;padding-top:1px;}
.vitem-body{flex:1;min-width:0;}
.vitem-nom{font-size:0.82rem;font-weight:600;color:var(--navy);outline:none;word-break:break-word;}
.vitem-nom:focus{background:#fff9e0;border-radius:4px;padding:0 2px;}
.vitem-desc{font-size:0.72rem;color:var(--gray);margin-top:3px;outline:none;word-break:break-word;line-height:1.4;}
.vitem-desc:focus{background:#fff9e0;border-radius:4px;padding:0 2px;}
.vitem-desc:empty::before{content:'Ajouter une note…';color:#bbb;}
.vitem-meta{display:flex;align-items:center;gap:6px;margin-top:5px;}
.vtag{display:inline-block;padding:1px 7px;border-radius:8px;font-size:.75rem;font-weight:700;text-transform:uppercase;}
.vtag.must{background:#fde8e8;color:#c0392b;}
.vtag.opt{background:#e8f4fd;color:#2166ac;}
.vtag.food{background:#fef9e0;color:#9a6f00;}
.vtag.free{background:#e8faf0;color:#1e7e4f;}
.vitem-del{background:none;border:none;color:#ddd;font-size:13px;cursor:pointer;padding:2px 3px;flex-shrink:0;}
.vitem-del:active{color:var(--red);}
.vitem.done-v .vitem-nom{text-decoration:line-through;color:var(--gray);}
.vitem.done-v{opacity:.55;}
.vcheck{width:18px;height:18px;border-radius:50%;border:2px solid #ccc;flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:9px;color:white;transition:all .2s;margin-top:2px;}
.vcheck.checked{background:var(--green);border-color:var(--green);}

.vadd-btn{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;padding:8px;border:2px dashed #d0ccc0;border-radius:9px;background:none;color:var(--gold);font-size:0.78rem;font-weight:600;cursor:pointer;margin-top:8px;transition:all .15s;}
.vadd-btn:active{background:var(--light);}

.vadd-form{background:#fffbe6;border-radius:9px;padding:10px;margin-top:8px;border:2px dashed var(--gold);display:none;}
.vadd-form.open{display:block;}
.vadd-form input,.vadd-form select,.vadd-form textarea{display:block;width:100%;padding:7px 9px;border:1px solid #ddd;border-radius:7px;font-size:0.78rem;margin-bottom:6px;background:white;font-family:-apple-system,sans-serif;}
.vadd-form textarea{resize:vertical;min-height:50px;}
.vadd-form input:focus,.vadd-form select:focus,.vadd-form textarea:focus{outline:none;border-color:var(--gold);}
.vtag-select{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px;}
.vtag-opt{padding:4px 10px;border-radius:10px;font-size:.75rem;font-weight:700;cursor:pointer;border:2px solid transparent;transition:all .15s;}
.vtag-opt.must{background:#fde8e8;color:#c0392b;}
.vtag-opt.opt{background:#e8f4fd;color:#2166ac;}
.vtag-opt.food{background:#fef9e0;color:#9a6f00;}
.vtag-opt.free{background:#e8faf0;color:#1e7e4f;}
.vtag-opt.sel{border-color:currentColor;box-shadow:0 0 0 1px currentColor;}
.vcard-prog{height:4px;background:#f0ece4;margin:0 14px 10px;border-radius:2px;overflow:hidden;}
.vcard-prog-fill{height:100%;background:var(--green);border-radius:2px;transition:width .3s;}
/* ── EXPORT PDF ──────────────────────────────────────── */
.export-fab{position:fixed;bottom:20px;right:16px;z-index:500;background:var(--navy);color:var(--gold);border:none;border-radius:50px;padding:10px 16px;font-size:0.78rem;font-weight:700;box-shadow:0 4px 16px rgba(0,0,0,0.3);cursor:pointer;display:flex;align-items:center;gap:6px;}
.export-fab:active{transform:scale(0.95);}
.pdf-modal-bg{position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:800;display:flex;align-items:flex-end;}
.pdf-modal{background:white;border-radius:20px 20px 0 0;width:100%;padding:20px;max-height:90vh;overflow-y:auto;}
.pdf-modal h2{font-family:Georgia,serif;font-size:1.1rem;color:var(--navy);margin-bottom:4px;}
.pdf-modal .sub{font-size:0.72rem;color:var(--gray);margin-bottom:16px;}
.pdf-section-toggle{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f0ece4;}
.pdf-section-toggle label{font-size:0.82rem;font-weight:600;color:#333;cursor:pointer;flex:1;}
.pdf-section-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--navy);cursor:pointer;}
.pdf-launch{display:block;width:100%;padding:14px;background:var(--navy);color:var(--gold);border:none;border-radius:12px;font-size:0.9rem;font-weight:700;cursor:pointer;margin-top:16px;text-align:center;}
.pdf-launch:active{opacity:0.85;}
.pdf-tip{font-size:0.68rem;color:var(--gray);text-align:center;margin-top:8px;line-height:1.5;}

/* ── RENDU IMPRESSION ────────────────────────────────── */
@media print {
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;}
  body{background:white!important;padding:0!important;font-family:Georgia,serif;}
  .header,.tabs,.content,.export-fab,.pdf-modal-bg{display:none!important;}
  #pdf-render{display:block!important;}
  .pdf-page{page-break-after:always;padding:20mm 18mm;min-height:100vh;position:relative;}
  .pdf-page:last-child{page-break-after:avoid;}
  .pdf-cover{background:linear-gradient(160deg,#16213e 0%,#0f3460 100%)!important;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:100vh;}
  .pdf-cover h1{font-size:2.4rem;color:#c9a84c;margin-bottom:8px;}
  .pdf-cover .sub{color:rgba(255,255,255,0.7);font-size:1rem;}
  .pdf-cover .route{color:rgba(255,255,255,0.5);font-size:0.8rem;margin-top:16px;}
  .pdf-section-header{border-bottom:3px solid #16213e;padding-bottom:6px;margin-bottom:14px;margin-top:0;}
  .pdf-section-header h2{font-size:1.3rem;color:#16213e;margin:0;}
  .pdf-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px;}
  .pdf-card{border:1px solid #e0ddd8;border-radius:8px;padding:10px;break-inside:avoid;}
  .pdf-card h3{font-size:0.85rem;color:#16213e;margin-bottom:4px;border-bottom:1px solid #f0ece4;padding-bottom:4px;}
  .pdf-card p{font-size:0.72rem;color:#555;margin:2px 0;line-height:1.4;}
  .pdf-card .badge{display:inline-block;padding:1px 6px;border-radius:6px;font-size:0.6rem;font-weight:700;background:#e3f2fd;color:#1565c0;margin-bottom:4px;}
  .pdf-table{width:100%;border-collapse:collapse;font-size:0.68rem;margin-bottom:12px;}
  .pdf-table th{background:#16213e!important;color:#c9a84c;padding:5px 7px;text-align:left;}
  .pdf-table td{padding:4px 7px;border-bottom:1px solid #f0ece4;}
  .pdf-table tr.sejour td{background:#f0f5ff!important;}
  .pdf-day-header{background:#f8f5f0!important;padding:6px 10px;border-left:4px solid #c9a84c;margin-bottom:6px;break-inside:avoid;break-before:auto;}
  .pdf-day-header h3{font-size:0.9rem;color:#16213e;margin:0;}
  .pdf-day-header .dt{font-size:0.65rem;color:#888;}
  .pdf-visit-item{padding:3px 0;font-size:0.72rem;color:#333;border-bottom:1px solid #f8f5f0;}
  .pdf-visit-tag{display:inline-block;padding:0 5px;border-radius:5px;font-size:0.58rem;font-weight:700;margin-right:4px;}
  .pdf-must{background:#fde8e8!important;color:#c0392b;}
  .pdf-opt{background:#e8f4fd!important;color:#2166ac;}
  .pdf-food{background:#fef9e0!important;color:#9a6f00;}
  .pdf-free{background:#e8faf0!important;color:#1e7e4f;}
  .pdf-img-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px;}
  .pdf-img-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:5px;}
  .pdf-img-cap{font-size:0.55rem;color:#888;text-align:center;margin-top:2px;}
  .pdf-checklist-item{display:flex;align-items:center;gap:6px;font-size:0.72rem;padding:3px 0;break-inside:avoid;}
  .pdf-check-box{width:12px;height:12px;border:1.5px solid #888;border-radius:3px;flex-shrink:0;}
  .pdf-check-box.done{background:#2d9e6b!important;border-color:#2d9e6b;}
  .pdf-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px;}
  .pdf-stat{border:1px solid #e0ddd8;border-radius:8px;padding:10px;text-align:center;}
  .pdf-stat .val{font-size:1.4rem;font-weight:700;color:#16213e;}
  .pdf-stat .lbl{font-size:0.65rem;color:#888;}
}
#pdf-render{display:none;}

/* ══════════ SÉLECTEUR DE VOYAGE ══════════ */
.mode-switch{display:flex;gap:6px;justify-content:center;margin:0 0 10px;}
.mode-btn{border:1px solid rgba(201,168,76,0.45);background:transparent;color:rgba(255,255,255,0.65);font-size:0.72rem;font-weight:700;padding:6px 14px;border-radius:20px;cursor:pointer;}
.mode-btn.active{background:var(--gold);color:var(--navy);border-color:var(--gold);}
.archive-banner{background:#e8f5ee;border:1px solid #b7e0c8;color:#1e6b46;border-radius:var(--radius);padding:10px 12px;font-size:0.78rem;margin-bottom:12px;line-height:1.4;}

/* ══════════ VOYAGE 2027 ══════════ */
#app27{padding:14px;padding-bottom:90px;}
.s27{display:none;animation:fadeIn .2s;}
.s27.active{display:block;}
.t27{padding:10px 14px;font-size:0.75rem;font-weight:600;white-space:nowrap;cursor:pointer;color:rgba(255,255,255,0.5);border-bottom:3px solid transparent;flex-shrink:0;}
.t27.active{color:var(--gold);border-bottom-color:var(--gold);}

.v-sum{background:white;border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 14px;margin-bottom:10px;}
.v-sum-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;}
.v-sum-big{font-family:Georgia,serif;font-size:1.25rem;font-weight:700;color:var(--navy);}
.v-sum-small{font-size:.75rem;color:var(--gray);}
.v-bar{height:6px;background:#eee;border-radius:3px;overflow:hidden;margin-top:8px;display:flex;}
.v-bar span{display:block;height:100%;}
.v-bar .b-paid{background:var(--green);}
.v-bar .b-booked{background:#e0a92e;}

.v-filters{display:flex;gap:6px;overflow-x:auto;margin-bottom:10px;scrollbar-width:none;}
.v-filters::-webkit-scrollbar{display:none;}
.v-chip{border:1px solid #ddd;background:white;color:#555;font-size:0.72rem;font-weight:600;padding:6px 12px;border-radius:16px;white-space:nowrap;cursor:pointer;}
.v-chip.on{background:var(--navy);color:var(--gold);border-color:var(--navy);}

.v-card{background:white;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:8px;padding:12px 12px 12px 14px;display:flex;gap:10px;align-items:flex-start;cursor:pointer;border-left:4px solid #ddd;}
.v-card:active{background:#faf8f3;}
.v-card.todo{border-left-color:var(--red);}
.v-card.booked{border-left-color:#e0a92e;}
.v-card.paid{border-left-color:var(--green);}
.v-card-ico{font-size:1.2rem;line-height:1.2;flex-shrink:0;}
.v-card-main{flex:1;min-width:0;}
.v-card-title{font-weight:700;font-size:0.88rem;color:var(--navy);word-break:break-word;}
.v-card-sub{font-size:0.72rem;color:#666;margin-top:2px;line-height:1.35;word-break:break-word;}
.v-card-hint{font-size:.75rem;color:var(--gray);font-style:italic;margin-top:4px;line-height:1.35;}
.v-card-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0;}
.v-price{font-weight:700;font-size:0.9rem;color:var(--navy);white-space:nowrap;}
.v-price.est{color:var(--gray);font-weight:600;font-size:0.78rem;}
.v-status{border:none;font-size:.75rem;font-weight:800;padding:4px 9px;border-radius:12px;cursor:pointer;white-space:nowrap;}
.v-status.todo{background:#fdecea;color:var(--red);}
.v-status.booked{background:#fff4d6;color:#a06d00;}
.v-status.paid{background:#d4edda;color:var(--green);}
.v-empty{text-align:center;color:var(--gray);font-size:0.8rem;padding:24px 10px;}

.v-fab{position:fixed;right:16px;bottom:20px;z-index:500;background:var(--gold);color:var(--navy);border:none;border-radius:50px;padding:13px 18px;font-size:0.85rem;font-weight:800;box-shadow:0 4px 16px rgba(0,0,0,0.25);cursor:pointer;}
.v-fab:active{transform:scale(0.95);}

/* Programme */
.v-day{background:white;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:8px;overflow:hidden;}
.v-day-h{display:flex;align-items:center;gap:8px;padding:11px 12px;cursor:pointer;}
.v-day-d{background:var(--navy);color:var(--gold);font-size:.75rem;font-weight:800;padding:3px 7px;border-radius:9px;white-space:nowrap;flex-shrink:0;}
.v-day-t{font-family:Georgia,serif;font-weight:700;font-size:0.88rem;color:var(--navy);flex:1;}
.v-day-dots{display:flex;gap:3px;flex-shrink:0;}
.v-day-dots i{width:7px;height:7px;border-radius:50%;display:block;}
.v-day-b{padding:0 12px 12px;border-top:1px solid #f0ece4;}
.v-day-plan{font-size:0.78rem;color:#333;line-height:1.45;padding:8px 0;white-space:pre-wrap;}
.v-day-item{display:flex;align-items:center;gap:8px;padding:7px 9px;background:var(--light);border-radius:8px;margin-bottom:5px;font-size:0.76rem;cursor:pointer;}
.v-day-item .x{flex:1;min-width:0;}
.v-day-item .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.v-day-edit{background:none;border:1px dashed #d0ccc0;border-radius:8px;color:var(--gold);font-size:0.72rem;font-weight:700;padding:6px 10px;cursor:pointer;margin-top:4px;}
.dot.todo,.v-day-dots i.todo{background:var(--red);}
.dot.booked,.v-day-dots i.booked{background:#e0a92e;}
.dot.paid,.v-day-dots i.paid{background:var(--green);}

/* Budget */
.v-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;}
.v-tile{background:white;border-radius:var(--radius);box-shadow:var(--shadow);padding:12px;text-align:center;}
.v-tile .a{font-family:Georgia,serif;font-size:1.2rem;font-weight:700;color:var(--navy);}
.v-tile .l{font-size:.75rem;color:var(--gray);margin-top:2px;}
.v-tile.g .a{color:var(--green);}
.v-tile.r .a{color:var(--red);}
.v-btable{width:100%;border-collapse:collapse;background:white;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin-bottom:10px;}
.v-btable th{background:var(--navy);color:var(--gold);font-size:.75rem;padding:8px;text-align:right;}
.v-btable th:first-child,.v-btable td:first-child{text-align:left;}
.v-btable td{font-size:0.76rem;padding:8px;border-bottom:1px solid #f0ece4;text-align:right;}
.v-btable tr.tot td{font-weight:800;background:var(--light);}
.v-obj{display:flex;align-items:center;gap:8px;font-size:0.78rem;color:#555;}
.v-obj input{width:100px;}

/* Checklist */
.v-cl-cat{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:white;background:var(--navy);padding:6px 12px;border-radius:7px;margin:12px 0 6px;}
.v-cl{display:flex;align-items:center;gap:10px;background:white;border-radius:9px;padding:11px 12px;margin-bottom:5px;box-shadow:0 1px 4px rgba(0,0,0,0.07);cursor:pointer;}
.v-cl .c{width:20px;height:20px;border-radius:50%;border:2px solid #ddd;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:white;font-size:11px;}
.v-cl.done .c{background:var(--green);border-color:var(--green);}
.v-cl .t{flex:1;font-size:0.82rem;}
.v-cl.done .t{text-decoration:line-through;color:var(--gray);}
.v-cl .del{background:none;border:none;color:#ccc;font-size:14px;cursor:pointer;padding:2px 4px;}
.v-cl-add{display:flex;gap:6px;margin-top:6px;}
.v-cl-add input{flex:1;}

/* Données */
.v-box{background:white;border-radius:var(--radius);box-shadow:var(--shadow);padding:14px;margin-bottom:10px;}
.v-box h3{font-family:Georgia,serif;font-size:0.92rem;color:var(--navy);margin-bottom:6px;}
.v-box p{font-size:0.76rem;color:#555;line-height:1.45;margin-bottom:10px;}
.v-btn{display:block;width:100%;padding:12px;border:none;border-radius:10px;font-size:0.85rem;font-weight:700;cursor:pointer;margin-bottom:8px;background:var(--navy);color:var(--gold);}
.v-btn.sec{background:var(--light);color:var(--navy);}
.v-btn.danger{background:#fdecea;color:var(--red);}

/* Formulaires (16px = pas de zoom auto sur iPhone) */
.v-in{width:100%;padding:10px 11px;border:1px solid #ddd;border-radius:9px;font-size:16px;background:white;font-family:-apple-system,'Helvetica Neue',sans-serif;color:#1a1a2e;}
.v-in:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px rgba(201,168,76,0.25);}
textarea.v-in{min-height:70px;resize:vertical;}

/* Panneau d'édition */
.v-sheet-bg{position:fixed;inset:0;background:rgba(10,15,30,0.55);z-index:1000;display:flex;align-items:flex-end;justify-content:center;}
.v-sheet{background:var(--cream);width:100%;max-width:640px;max-height:90vh;overflow-y:auto;border-radius:18px 18px 0 0;padding:8px 16px calc(16px + env(safe-area-inset-bottom));animation:sheetUp .2s ease-out;}
@keyframes sheetUp{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}
.v-grab{width:40px;height:4px;background:#ccc;border-radius:2px;margin:4px auto 10px;}
.v-sheet h2{font-family:Georgia,serif;font-size:1.05rem;color:var(--navy);margin-bottom:10px;}
.v-hint{background:#fff8e6;border-left:3px solid var(--gold);border-radius:7px;padding:8px 10px;font-size:0.74rem;color:#5a4a1a;margin-bottom:12px;line-height:1.4;}
.v-f{margin-bottom:10px;}
.v-f label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:var(--gray);margin-bottom:4px;}
.v-f2{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.v-seg{display:flex;background:white;border:1px solid #ddd;border-radius:10px;overflow:hidden;}
.v-seg button{flex:1;border:none;background:none;padding:10px 4px;font-size:0.76rem;font-weight:700;color:#777;cursor:pointer;}
.v-seg button.on.todo{background:#fdecea;color:var(--red);}
.v-seg button.on.booked{background:#fff4d6;color:#a06d00;}
.v-seg button.on.paid{background:#d4edda;color:var(--green);}
.v-actions{display:flex;gap:8px;margin-top:6px;position:sticky;bottom:0;background:var(--cream);padding-top:8px;}
.v-actions .v-btn{margin-bottom:0;}
.v-link{display:inline-block;margin-top:5px;font-size:0.72rem;color:var(--blue);}
.v-toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%);background:var(--green);color:white;padding:7px 14px;border-radius:20px;font-size:0.72rem;font-weight:700;opacity:0;transition:opacity .3s;pointer-events:none;z-index:1100;}
.v-toast.show{opacity:1;}
.v-price small{font-size:.75rem;font-weight:600;color:var(--gray);margin-left:2px;}
.v-ptag{font-size:.75rem;color:var(--gray);white-space:nowrap;}
.v-seg2 button.on{background:var(--navy);color:var(--gold);}
.v-perslist{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.v-pers{display:inline-flex;align-items:center;gap:4px;background:var(--light);border-radius:14px;padding:5px 10px;font-size:0.76rem;font-weight:600;color:var(--navy);}
.v-pers button{border:none;background:none;color:#aaa;font-size:0.72rem;cursor:pointer;padding:0 0 0 2px;}



.hdr-brand{display:flex;align-items:center;justify-content:center;gap:10px;}
.hdr-logo{width:44px;height:44px;border-radius:11px;object-fit:cover;box-shadow:0 2px 8px rgba(0,0,0,0.35);flex-shrink:0;}
.hdr-brand-txt{text-align:left;}
.hdr-brand-txt h1{text-align:left;}
.hdr-brand-txt .sub{text-align:left;margin:2px 0 0;}
.header .mode-switch{margin-top:10px;}
@font-face{font-family:'Bodoni Moda';font-style:italic;font-weight:500;font-display:swap;src:url(fonts/0cb4a757b2.woff2) format('woff2');}
@font-face{font-family:'Bodoni Moda';font-style:italic;font-weight:600;font-display:swap;src:url(fonts/25bd274cc1.woff2) format('woff2');}
@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/5825d57791.woff2) format('woff2');}
@font-face{font-family:'Outfit';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/692b8f6440.woff2) format('woff2');}
@font-face{font-family:'Outfit';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/55b958c2e4.woff2) format('woff2');}
@font-face{font-family:'Outfit';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/94ed9918ff.woff2) format('woff2');}
@font-face{font-family:'Outfit';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/9130a9f8f9.woff2) format('woff2');}

/* ══════════ CARNET PARTAGÉ ══════════ */
.hdr-brand{position:relative;padding:0 44px;}
.cv-me{position:absolute;right:0;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:2px solid rgba(255,255,255,.85);color:#fff;font-weight:800;font-size:1rem;cursor:pointer;background:#777;padding:0;}
.cv-me .sd{position:absolute;right:-3px;bottom:-3px;width:12px;height:12px;border-radius:50%;border:2px solid var(--navy);}
.sd.off{display:none}.sd.ok{background:#3ecf8e}.sd.wait{background:#f5b041}.sd.err{background:#e74c3c}
.cv-trips{overflow-x:auto;justify-content:flex-start;flex-wrap:nowrap;scrollbar-width:none;padding-bottom:2px;}
.cv-trips::-webkit-scrollbar{display:none}
.cv-trips .mode-btn{white-space:nowrap;flex-shrink:0}
.mode-btn.add{border-style:dashed;color:var(--gold)}
#appC{padding:14px;padding-bottom:90px;}
#appC .v-sheet, .v-sheet{scroll-padding-bottom:80px}
.cv-lbl{font-size:.75rem;font-weight:700;color:var(--gray);text-transform:uppercase;letter-spacing:.5px;align-self:center;white-space:nowrap;margin-right:2px}
.v-chip.cv-pc{border-color:color-mix(in srgb,var(--pc) 45%,white);color:var(--pc)}
.v-chip.cv-pc.on{background:var(--pc);color:#fff;border-color:var(--pc)}
.cv-ini{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;color:#fff;font-size:.58rem;font-weight:800;border:1.5px solid #fff;flex-shrink:0;}
.ins{display:inline-flex}.ins .cv-ini+.cv-ini{margin-left:-5px}
.cv-qui-in{display:inline-flex;margin-left:6px;vertical-align:middle}.cv-qui-in .cv-ini+.cv-ini{margin-left:-5px}
.cv-pchip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:14px;font-size:.76rem;font-weight:700;background:color-mix(in srgb,var(--pc) 13%,white);color:var(--pc);border:1px solid color-mix(in srgb,var(--pc) 35%,white);white-space:nowrap}
.cv-pchip::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--pc);flex-shrink:0}
.cv-pchip button{border:none;background:none;color:inherit;opacity:.6;font-size:.72rem;cursor:pointer;padding:0 0 0 2px}
.cv-by{font-size:.75rem;color:var(--gray);margin-top:5px;line-height:1.35}
.cv-by b{font-weight:700}
.v-sheet > .cv-by{margin:-6px 0 10px}
.cv-qui{display:flex;align-items:center;gap:6px;margin-top:5px;font-size:.75rem;color:#555;font-weight:600}
.cv-qsel{display:flex;flex-wrap:wrap;gap:6px}
.cv-qsel button{border:1px dashed #ccc;background:#fff;color:#999;font-size:.8rem;font-weight:700;padding:8px 12px;border-radius:18px;cursor:pointer}
.cv-qsel button.on{border:1px solid var(--pc);background:var(--pc);color:#fff}
.cv-qsel button.on::before{content:'✓ '}
.cv-nbadge{font-size:.62rem;font-weight:700;background:#fff4c9;color:#8a6d00;border-radius:8px;padding:1px 5px;white-space:nowrap}
.cv-pinline{font-size:.75rem;color:#5a4a1a;background:#fff8dc;border-left:3px solid var(--pc);border-radius:6px;padding:4px 7px;margin-top:5px;line-height:1.35;word-break:break-word}
.cv-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.cv-row .v-in{flex:1}
.cv-sq{flex:0 0 auto!important;width:auto!important;padding:12px 14px!important;margin:0!important}
/* Notes */
.cv-note{background:#fffdf6;border-radius:10px;padding:10px 12px;margin-bottom:8px;box-shadow:0 1px 4px rgba(0,0,0,.08);border-left:4px solid var(--pc)}
.cv-note.pin{background:#fff6cf}
.cv-note.compact{padding:8px 10px;margin:6px 0;box-shadow:none;border:1px solid #f0e6c0;border-left:4px solid var(--pc)}
.cv-note-h{display:flex;align-items:center;gap:6px}
.cv-note-ref{flex:1;font-size:.75rem;font-weight:700;color:var(--navy);cursor:pointer}
.cv-note-ref.s{font-weight:600;color:var(--gray);margin-top:3px;cursor:default}
.cv-note.compact .cv-note-h{float:right;margin-left:6px}
.cv-pinbtn{border:none;background:none;font-size:.95rem;cursor:pointer;filter:grayscale(1);opacity:.35;padding:0 2px}
.cv-pinbtn.on{filter:none;opacity:1}
.cv-note-t{font-size:.82rem;color:#2a2a2a;line-height:1.45;white-space:pre-wrap;word-break:break-word;cursor:pointer;margin-top:2px}
.cv-pinboard{background:#fff2b8;border-radius:var(--radius);padding:10px 10px 4px;margin-bottom:10px;box-shadow:var(--shadow)}
.cv-pinboard-h{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:#7a5d00;margin-bottom:2px}
.cv-pinboard .cv-note{background:#fffbe6}
/* Budget par personne */
.cv-pbud{padding:8px 0;border-top:1px solid #f0ece4}
.cv-pbud:first-of-type{margin-top:8px}
.cv-pbud-h{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:var(--navy)}
/* Profils */
.cv-plist{display:flex;flex-direction:column;gap:6px}
.cv-prow{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #eee;border-radius:10px;padding:10px 12px;cursor:pointer;font-size:.74rem;color:var(--gray)}
.cv-prow.me{border-color:var(--gold);background:#fffaf0}
.cv-colors{display:flex;gap:9px;flex-wrap:wrap}
.cv-sw{width:36px;height:36px;border-radius:50%;border:3px solid #fff;cursor:pointer;box-shadow:0 0 0 1px #ddd;padding:0}
.cv-sw.on{box-shadow:0 0 0 3px var(--navy)}
.cv-sw-custom{display:flex;align-items:center;justify-content:center;background:#fff;position:relative;overflow:hidden;font-size:1rem}
.cv-sw-custom input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.cv-checkline{display:flex;gap:8px;align-items:center;font-size:.82rem;margin:4px 0 10px}
.cv-code{font-family:ui-monospace,Menlo,monospace;letter-spacing:1px}
.cv-act{display:flex;gap:8px;align-items:flex-start;font-size:.76rem;padding:6px 0;border-top:1px solid #f3efe6;line-height:1.35}
.cv-act:first-of-type{border-top:none}
.cv-act-w,.cv-act-t{font-size:.75rem;color:var(--gray)}
.cv-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-top:4px;display:inline-block}
/* Envies */
.cv-wish{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:9px;padding:12px 12px 10px 14px;border-left:5px solid var(--pc)}
.cv-wish.done{opacity:.6}
.cv-wish-k{font-size:.75rem;font-weight:700;color:var(--gray);text-transform:uppercase;letter-spacing:.5px}
.cv-wish-t{font-family:Georgia,serif;font-weight:700;font-size:1rem;color:var(--navy);margin:2px 0}
.cv-wish-n{font-size:.76rem;color:#444;margin-top:6px;white-space:pre-wrap;line-height:1.4}
.cv-dep{font-size:.72rem;color:#444;display:flex;align-items:center;gap:6px;margin-top:4px}
.cv-wish-a{display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid #f3efe6}
.cv-like{border:1px solid #f3c6d8;background:#fff;color:#c2185b;font-size:.72rem;font-weight:700;padding:5px 10px;border-radius:14px;cursor:pointer}
.cv-like.on{background:#fde4ee}
.cv-deprow{display:grid;grid-template-columns:auto 1fr 1fr;gap:6px;align-items:center;margin-bottom:6px}
.cv-deprow .v-in{padding:8px 9px}
.cv-seg-big .v-seg button{padding:12px 4px;font-size:.82rem}
.cv-seg-big{margin-bottom:12px}
#cv-ob-new,#cv-ob-join{margin-top:4px}
/* Paiement */
.cv-paybox{background:#fff;border:1px solid #ece6d6;border-radius:12px;padding:10px 12px;margin:4px 0 12px}
.cv-paybox-h{font-family:Georgia,serif;font-weight:700;color:var(--navy);font-size:.92rem;margin-bottom:8px}
.cv-paybox .v-seg{flex-wrap:wrap}
.cv-paybox .v-seg button{flex:1 0 auto;font-size:.72rem;padding:9px 6px}
.cv-live{background:var(--light);border-radius:9px;padding:8px 10px;margin:0 0 10px;font-size:.76rem;color:#333;line-height:1.45}
.cv-live:empty{display:none}
.cv-live-t span{color:var(--gray);font-size:.75rem}
.cv-live-r{display:flex;flex-wrap:wrap;gap:8px;margin-top:5px;align-items:center}
.cv-live-r>span{display:inline-flex;align-items:center;gap:5px;font-size:.78rem}
.cv-live-s{margin-top:5px;font-size:.72rem}
.cv-amts{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.cv-amts label{display:grid;grid-template-columns:1fr 110px;align-items:center;gap:8px}
.cv-num{width:72px!important;flex:0 0 72px!important;text-align:center}
.cv-month{width:150px!important;flex:0 0 150px!important}
.cv-x{border:none;background:#f3efe6;color:#888;border-radius:8px;padding:7px 9px;cursor:pointer;font-size:.8rem}
.cv-echrow{display:grid;grid-template-columns:1.25fr 1fr auto auto;gap:6px;align-items:center;margin-bottom:6px}
.cv-echrow .v-in{padding:8px}
.cv-echok{font-size:.75rem;display:flex;align-items:center;gap:3px;color:#555;white-space:nowrap}
.cv-payline{font-size:.75rem;color:#555;margin-top:5px;line-height:1.5}
.cv-links{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.cv-links a{font-size:.75rem;font-weight:700;color:var(--navy);background:var(--light);border-radius:12px;padding:4px 9px;text-decoration:none;white-space:nowrap}
.cv-links.big{margin:-4px 0 12px}
.cv-links.big a{font-size:.76rem;padding:7px 12px;background:#fff;border:1px solid #e3dccb}
.cv-links .bk-chip{font:inherit;font-size:.75rem;font-weight:700;color:var(--navy);background:transparent;border:1px dashed #d8cfbb;border-radius:12px;padding:3px 9px;cursor:pointer;white-space:nowrap}
.bk-box{margin:-2px 0 12px;padding:10px 11px;border:1px solid #ece4d3;border-radius:14px;background:#fffdf8}
.bk-box.top{margin:0 0 12px}
.bk-h{font-size:.78rem;font-weight:800;margin-bottom:4px}
.bk-g{margin-top:6px}.bk-g>small{font-size:.75rem;font-weight:700;opacity:.65}.bk-g .cv-links{margin-top:3px}
.bk-ft{font-size:.75rem;opacity:.6;margin-top:8px;line-height:1.35}
.v-cl .bk-ck{font:inherit;font-size:.75rem;font-weight:700;border:1px dashed #d8cfbb;background:transparent;border-radius:10px;padding:2px 7px;margin-left:4px;white-space:nowrap;color:inherit;cursor:pointer}
.ex-bk{margin-top:10px;font-size:.72rem;opacity:.9;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ex-bk a{color:#fff;background:rgba(255,255,255,.12);border-radius:12px;padding:4px 9px;text-decoration:none;font-weight:700}

.cv-bal{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:7px 0;border-top:1px solid #f0ece4;font-size:.74rem;color:#555}
.cv-bal:first-of-type{margin-top:8px}
.cv-settle{background:#eef6f1;border-radius:9px;padding:9px 11px;margin-top:8px;font-size:.8rem;line-height:1.6}
/* Échéancier */
.cv-echm{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:11px 12px;margin-bottom:9px}
.cv-echm.now{box-shadow:0 0 0 2px var(--gold),var(--shadow)}
.cv-echm.late{box-shadow:0 0 0 2px var(--red),var(--shadow)}
.cv-echm-h{display:flex;justify-content:space-between;align-items:baseline;font-family:Georgia,serif;font-weight:700;color:var(--navy);font-size:.92rem}
.cv-echm .cv-live-r{margin:4px 0 6px}
.cv-echi{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px solid #f3efe6;font-size:.78rem}
.cv-echi input{width:18px;height:18px;flex-shrink:0}
.cv-echi .x{flex:1;cursor:pointer;min-width:0}
.cv-echi .x small{display:block;font-size:.75rem;color:var(--gray)}
.cv-echi.done{color:var(--gray)}.cv-echi.done .x{text-decoration:line-through}
/* Itinéraire du jour */
.cv-place{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #eee;border-radius:9px;padding:8px 9px;margin-bottom:5px;font-size:.82rem}
.cv-place .n{width:22px;height:22px;border-radius:50%;background:var(--navy);color:var(--gold);font-size:.68rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cv-place .x{flex:1;min-width:0}
.cv-place .x small{display:block;color:var(--gray);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv-place a{text-decoration:none}
.cv-by.s{margin-top:1px;font-size:.75rem}
.cv-route{background:#fff;border-radius:12px;border:1px solid #e3dccb;padding:12px;margin-top:12px}
.cv-stop{font-size:.84rem;color:var(--navy);padding:4px 0 4px 2px}
.cv-stop b{display:inline-flex;width:20px;height:20px;border-radius:50%;background:var(--navy);color:var(--gold);font-size:.64rem;align-items:center;justify-content:center;margin-right:4px}
.cv-stop.s{font-weight:700}
.cv-leg{display:block;margin:2px 0 2px 9px;padding:5px 0 5px 14px;border-left:3px dotted #cfc6ae;font-size:.72rem;color:#555;text-decoration:none}
.cv-leg span{color:var(--gray)}
.cv-route-sum{font-size:.76rem;font-weight:700;color:var(--navy);margin:8px 0 4px}
.cv-gm{display:inline-block;margin-top:6px;margin-right:6px;font-size:.74rem;font-weight:700;color:#fff;background:#1a73e8;border-radius:16px;padding:7px 12px;text-decoration:none}
.cv-route-mini{background:#f4f8ff;border:1px solid #dbe6fb;border-radius:9px;padding:8px 10px;margin:6px 0;font-size:.74rem;color:#333;line-height:1.5}
.cv-route-mini b{display:inline-flex;width:17px;height:17px;border-radius:50%;background:var(--navy);color:var(--gold);font-size:.75rem;align-items:center;justify-content:center}
.cv-route-load{padding:12px;text-align:center;font-size:.8rem;color:var(--navy)}
/* Assistant */
.wz-steps{display:flex;align-items:center;margin:2px 0 10px}
.wz-steps span{width:26px;height:26px;border-radius:50%;background:#e8e3d6;color:#888;font-size:.72rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.wz-steps span.on{background:var(--navy);color:var(--gold)}
.wz-steps span.done{background:var(--green);color:#fff}
.wz-steps i{flex:1;height:2px;background:#e8e3d6}
.wz-title{font-family:Georgia,serif;font-weight:700;font-size:1rem;color:var(--navy);margin-bottom:10px}
.wz-et{display:grid;grid-template-columns:22px 1fr 56px auto;gap:6px;align-items:center;margin-bottom:6px}
.wz-et .n{width:22px;height:22px;border-radius:50%;background:var(--navy);color:var(--gold);font-size:.66rem;font-weight:800;display:flex;align-items:center;justify-content:center}
.wz-et .cv-num{width:56px!important;flex:none!important;padding:9px 4px}
.wz-et select{grid-column:2 / 4}
.wz-et .wz-btns{grid-column:4;grid-row:1 / 3;display:flex;flex-direction:column;gap:4px}
.wz-et > .v-sum-small{display:none}
.wz-recap{background:#fff;border-radius:10px;border:1px solid #ece6d6;padding:10px 12px;margin-bottom:12px;font-size:.84rem;line-height:1.6}
.wz-recap ol{margin:6px 0 0 18px;font-size:.8rem}

/* ═════════════════════════════════════════════════════════
   THÈME « RIVIERA AU COUCHANT »
   Nuit prune · coucher de soleil · champagne · perle rosée
═════════════════════════════════════════════════════════ */
:root{
  --navy:#2A1238; --navy2:#4A1A4F; --gold:#F3C98B; --gold2:#FFD9A0;
  --cream:#FFF4F1; --light:#FBE9E6; --gray:#725E78; --white:#fff;
  --green:#14A08C; --red:#EC4D6E; --blue:#7A4FE0; --amber:#E89A2C;
  --ink:#2B1A35; --sun1:#FFA06B; --sun2:#F2557F; --sun3:#9D4EDD;
  --sunset:linear-gradient(120deg,var(--sun1),var(--sun2) 55%,var(--sun3));
  --radius:20px;
  --shadow:0 10px 30px -14px rgba(74,26,79,.35), 0 2px 6px -2px rgba(74,26,79,.08);
  --display:'Bodoni Moda', 'Didot', 'Bodoni 72', Georgia, serif;
  --ui:'Outfit', -apple-system, 'Helvetica Neue', sans-serif;
}
html{background:var(--navy)}
body{font-family:var(--ui);background:var(--cream);color:var(--ink);font-size:15px;padding-bottom:0;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:var(--ui)}
:focus-visible{outline:2px solid var(--sun2);outline-offset:2px}

/* ── Hero ── */
.header{position:relative;top:auto;padding:0;background:var(--navy);z-index:5}
.hero{position:relative;overflow:hidden;padding:calc(14px + var(--sat,env(safe-area-inset-top,0px))) 20px 22px;
  background:radial-gradient(120% 90% at 85% 115%, rgba(242,85,127,.95) 0%, rgba(157,78,221,.55) 38%, transparent 70%),
             linear-gradient(180deg,#1E0C2A 0%, #3A1547 60%, #6B1F5C 100%);
  border-radius:0 0 34px 34px}
.hero-sun{position:absolute;right:-60px;bottom:-110px;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle at 50% 40%, #FFE2B0 0%, #FFA06B 35%, rgba(242,85,127,.0) 70%);opacity:.75;pointer-events:none}
body.cv-ph-live .hero-sun{background:radial-gradient(circle at 50% 40%, #CCFBF1 0%, #2DD4BF 35%, rgba(13,148,136,0) 70%);opacity:.6}
body.cv-ph-past .hero-sun{background:radial-gradient(circle at 50% 40%, #F8DCC8 0%, #E8A47C 35%, rgba(142,59,46,0) 70%);opacity:.55}
@media (prefers-reduced-motion:no-preference){ .hero-sun{animation:sunrise 1.6s cubic-bezier(.2,.7,.2,1) both} }
@keyframes sunrise{from{transform:translateY(70px);opacity:0}to{transform:translateY(0);opacity:.75}}
.hero-top{position:relative;display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.trip-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);
  color:#fff;border-radius:30px;padding:5px 14px 5px 5px;font-size:.82rem;font-weight:600;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.trip-pill .hdr-logo{width:30px;height:30px;border-radius:50%;box-shadow:none}
.trip-pill em{font-style:normal;opacity:.7;font-size:.75rem}
.cv-switch{display:flex;align-items:center;height:38px;padding:0 12px;border-radius:20px;background:rgba(255,255,255,.16);border:1.5px solid rgba(255,255,255,.6);color:#fff;font-weight:800;font-size:.82rem;text-decoration:none;backdrop-filter:blur(6px)}
.header .cv-me{position:relative;right:auto;top:auto;transform:none;width:38px;height:38px;border:2px solid rgba(255,255,255,.9);box-shadow:0 4px 14px rgba(0,0,0,.25)}
.header h1,#hdr-title{position:relative;font-family:var(--display);font-style:italic;font-weight:500;font-size:2.45rem;line-height:1.02;
  color:#fff;text-align:left;letter-spacing:-.5px;max-width:15ch;text-wrap:balance}
.header .sub,#hdr-sub{position:relative;font-size:.86rem;color:rgba(255,236,226,.82);text-align:left;margin:10px 0 0;line-height:1.4;max-width:34ch}
.hero-foot{position:relative;display:flex;justify-content:space-between;align-items:flex-end;margin-top:18px;min-height:40px}
.cv-avs{display:flex;align-items:center}
.cv-av{width:30px;height:30px;border-radius:50%;color:#fff;font-weight:700;font-size:.8rem;display:inline-flex;align-items:center;justify-content:center;border:2px solid #3A1547;margin-right:-8px}
.cv-av-names{margin-left:16px;color:rgba(255,255,255,.85);font-size:.8rem;font-weight:500}
.hero-count{text-align:right;color:#fff;line-height:1}
.hero-count b{display:block;font-family:var(--display);font-style:italic;font-weight:600;font-size:2.1rem;color:var(--gold2)}
.hero-count span{font-size:.72rem;color:rgba(255,236,226,.8)}
body.is-legacy .hero{border-radius:0}
.header .tabs{background:var(--navy);padding:0 8px}
.header .tab.active{color:var(--gold);border-bottom-color:var(--gold)}

/* ── Sous-onglets collants + barre du bas ── */
#appC{padding:0 16px calc(150px + env(safe-area-inset-bottom))}
.cv-sub{position:sticky;top:0;z-index:50;display:flex;gap:6px;overflow-x:auto;padding:12px 0 10px;margin:0 -16px 6px;padding-left:16px;padding-right:16px;
  background:rgba(255,244,241,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.cv-sub .t27{border:none;border-radius:30px;background:#fff;color:var(--ink);font-size:.84rem;font-weight:600;padding:9px 16px;white-space:nowrap;
  box-shadow:0 2px 8px -4px rgba(74,26,79,.3);border-bottom:none;cursor:pointer}
.cv-sub .t27.active{background:var(--navy);color:#fff}
#cv-body{padding-top:10px}
.cv-nav{position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:600;display:flex;justify-content:space-around;
  background:rgba(42,18,56,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:26px;padding:7px 6px;
  box-shadow:0 14px 34px -10px rgba(42,18,56,.6)}
body.cv-ph-live .cv-nav{background:rgba(7,59,64,.93);box-shadow:0 14px 34px -10px rgba(7,59,64,.6)}
body.cv-ph-past .cv-nav{background:rgba(58,33,25,.94);box-shadow:0 14px 34px -10px rgba(58,33,25,.6)}
.cv-nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;border:none;background:none;color:rgba(255,255,255,.55);
  font-size:.75rem;font-weight:600;padding:6px 2px;border-radius:18px;cursor:pointer}
.cv-nav button i{font-style:normal;font-size:1.25rem;display:flex;align-items:center;justify-content:center;width:36px;height:30px;border-radius:12px;background:rgba(255,255,255,.62);color:#3a2a3a;transition:background .2s}
.cv-nav button.on{color:#fff;background:rgba(255,255,255,.1)}
.cv-nav button.on i{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.v-fab{bottom:calc(92px + env(safe-area-inset-bottom));right:18px;background:var(--sunset);color:#fff;font-weight:700;font-size:.92rem;
  padding:14px 20px;box-shadow:0 12px 26px -8px rgba(242,85,127,.7)}
.cv-crypt{position:fixed;left:50%;top:calc(10px + var(--sat,env(safe-area-inset-top,0px)));transform:translate(-50%,-10px);background:#14532d;color:#fff;padding:9px 16px;border-radius:30px;font-size:.8rem;font-weight:600;box-shadow:0 4px 16px rgba(0,0,0,.25);opacity:0;transition:opacity .3s,transform .3s;pointer-events:none;z-index:1200;max-width:92vw;text-align:center}
.cv-crypt.show{opacity:1;transform:translate(-50%,0)}
.v-toast{bottom:calc(150px + env(safe-area-inset-bottom));background:var(--navy);color:#fff;border-radius:30px;font-weight:600;padding:9px 16px;font-size:.8rem}
.export-fab{bottom:24px}

/* ── Surfaces ── */
.v-sum,.v-box,.v-tile,.v-card,.v-day,.cv-wish,.cv-echm,.v-btable{border-radius:var(--radius);box-shadow:var(--shadow);border:none}
.v-sum{padding:16px 18px;margin-bottom:12px}
.v-sum-big{font-family:var(--display);font-weight:600;font-size:1.7rem;color:var(--ink);letter-spacing:-.3px}
.v-sum-small{color:var(--gray);font-size:.78rem}
.v-bar{height:8px;border-radius:8px;background:#F5E3E0}
.v-bar .b-paid{background:var(--green)}.v-bar .b-booked{background:var(--amber)}
.v-tiles{gap:10px;margin-bottom:12px}
.v-tile{padding:16px 10px}
.v-tile .a{font-family:var(--display);font-weight:600;font-size:1.45rem;color:var(--ink)}
.v-tile .l{font-size:.74rem;color:var(--gray);margin-top:3px}
.v-tile.g .a{color:var(--green)}.v-tile.r .a{color:var(--red)}
.v-tiles .v-tile:first-child{background:var(--navy)}
.v-tiles .v-tile:first-child .a{color:var(--gold2)}.v-tiles .v-tile:first-child .l{color:rgba(255,255,255,.7)}
.v-box{padding:18px}
.v-box h3,.v-box h2.vb-h{font-family:var(--display);font-weight:600;font-size:1.25rem;color:var(--ink);margin-bottom:8px}
.v-box p{font-size:.86rem;color:#5d4b60;line-height:1.5}

/* Cartes de résa */
.v-card{padding:14px 14px 14px 12px;margin-bottom:10px;border-left:none!important;gap:12px}
.v-card-ico{width:42px;height:42px;border-radius:14px;background:var(--light);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}
.v-card.paid .v-card-ico{background:#DDF3EE}.v-card.booked .v-card-ico{background:#FCEFD9}
.v-card-title{font-size:1rem;font-weight:600;color:var(--ink)}
.v-card-sub{font-size:.78rem;color:#7d6a80}
.v-card-hint{font-size:.74rem;color:#9b7f86;font-style:normal;background:#FFF8F2;border-radius:10px;padding:6px 9px;margin-top:6px}
.v-price{font-family:var(--display);font-weight:600;font-size:1.1rem;color:var(--ink)}
.v-price.est{font-family:var(--ui);font-weight:500;font-size:.88rem;color:var(--gray)}
.v-status{border-radius:30px;font-size:.75rem;font-weight:700;padding:5px 11px;letter-spacing:.1px}
.v-status.todo{background:#FFE6EA;color:#C42E52}.v-status.booked{background:#FDEBD0;color:#A8650A}.v-status.paid{background:#D5F1EB;color:#0B7A6A}

/* Filtres & chips */
.v-filters{gap:7px;margin-bottom:12px}
.v-chip{border:1px solid #EBD3D3;background:#fff;color:#6b5670;font-size:.8rem;font-weight:500;padding:7px 14px;border-radius:30px}
.v-chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.cv-lbl{text-transform:none;letter-spacing:0;font-size:.78rem;font-weight:600;color:var(--gray)}

/* Programme */
.v-day{margin-bottom:12px;overflow:hidden}
.v-day-h{padding:14px 14px}
.v-day-d{background:var(--sunset);color:#fff;font-size:.75rem;font-weight:700;padding:5px 10px;border-radius:30px}
.v-day-t{font-family:var(--display);font-style:italic;font-weight:600;font-size:1.15rem;color:var(--ink)}
.v-day-b{border-top:1px solid #F6E6E3;padding:4px 14px 14px}
.v-day-plan{font-size:.88rem;color:#4d3b50;line-height:1.55}
.v-day-item{background:#FFF7F4;border-radius:12px;font-size:.84rem;padding:9px 11px}
.v-day-edit{border:1px solid #F0D7D4;border-style:solid;background:#fff;color:var(--ink);border-radius:30px;font-size:.78rem;font-weight:600;padding:7px 13px}
.cv-route-mini{background:linear-gradient(135deg,#FFF1EA,#F8ECFF);border:none;border-radius:14px}

/* Notes */
.cv-note{border-radius:16px;background:#fff;box-shadow:var(--shadow);border-left:5px solid var(--pc)}
.cv-note.pin{background:#FFF6DD}
.cv-note-t{font-size:.92rem}
.cv-pinboard{background:linear-gradient(135deg,#FFE9B8,#FFD1C4);border-radius:var(--radius);padding:14px 12px 6px}
.cv-pinboard-h{text-transform:none;letter-spacing:0;font-family:var(--display);font-style:italic;font-size:1.1rem;color:#7A3A1E}

/* Envies */
.cv-wish{border-left:none;position:relative;padding:16px 16px 12px}
.cv-wish::before{content:'';position:absolute;left:0;top:16px;bottom:16px;width:4px;border-radius:0 4px 4px 0;background:var(--pc)}
.cv-wish-k{text-transform:none;letter-spacing:0;font-size:.76rem;font-weight:600}
.cv-wish-t{font-family:var(--display);font-style:italic;font-weight:600;font-size:1.4rem}

/* Budget, échéancier */
.cv-echm-h{font-family:var(--display);font-style:italic;font-weight:600;font-size:1.15rem}
.cv-echm.now{box-shadow:0 0 0 2px var(--sun2),var(--shadow)}
.v-btable th{background:var(--navy);color:var(--gold2);font-weight:600}
.cv-settle{background:#E4F6F1;border-radius:14px;font-size:.88rem}
.cv-pbud-h b{font-family:var(--display);font-size:1.15rem}

/* Checklist */
.v-cl-cat{background:none;color:var(--ink);text-transform:none;letter-spacing:0;font-family:var(--display);font-style:italic;font-size:1.1rem;padding:6px 2px;margin-top:16px}
.v-cl{border-radius:14px;padding:13px 14px;box-shadow:0 2px 10px -6px rgba(74,26,79,.3)}
.v-cl.done .c{background:var(--green);border-color:var(--green)}

/* Boutons */
.v-btn{border-radius:30px;padding:14px;font-weight:600;font-size:.92rem;background:var(--navy);color:#fff}
.v-btn:not(.sec):not(.danger){background:var(--sunset);color:#fff;box-shadow:0 10px 22px -10px rgba(242,85,127,.8)}
.v-btn.sec{background:#fff;color:var(--ink);border:1px solid #EBD3D3}
.v-btn.danger{background:#FFE6EA;color:#C42E52}
.cv-sq{border-radius:50%!important;width:48px!important;height:48px;padding:0!important;display:flex;align-items:center;justify-content:center}
.cv-links a{background:#fff;border:1px solid #F0D7D4;color:var(--ink);font-weight:600;border-radius:30px}
.cv-gm{background:var(--ink);border-radius:30px}

/* Panneaux */
.v-sheet-bg{background:rgba(30,12,42,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.v-sheet{background:var(--cream);border-radius:28px 28px 0 0;padding:8px 18px calc(18px + env(safe-area-inset-bottom))}
.v-sheet h2{font-family:var(--display);font-style:italic;font-weight:600;font-size:1.6rem;line-height:1.15;color:var(--ink);margin:4px 0 12px}
.v-grab{background:#E2C9C6}
.v-f label{text-transform:none;letter-spacing:0;font-size:.8rem;font-weight:600;color:#6b5670}
.v-in{border:1px solid #EBD3D3;border-radius:14px;color:var(--ink)}
.v-in:focus{border-color:var(--sun2);box-shadow:0 0 0 3px rgba(242,85,127,.15)}
.v-seg{border:1px solid #EBD3D3;border-radius:30px;padding:3px;background:#fff}
.v-seg button{border-radius:30px;font-weight:600}
.v-seg2 button.on,.cv-seg-big .v-seg button.on{background:var(--ink);color:#fff}
.v-hint{background:#FFF1E4;border-left:none;border-radius:14px;color:#7A4A1E}
.v-actions{background:var(--cream)}
.cv-paybox{border:none;background:#fff;border-radius:18px;box-shadow:var(--shadow)}
.cv-paybox-h{font-family:var(--display);font-style:italic;font-size:1.15rem}
.cv-live{background:#FFF1EC;border-radius:14px}
.wz-title{font-family:var(--display);font-style:italic;font-size:1.3rem}
.wz-steps span.on{background:var(--sunset);color:#fff}
.wz-steps span.done{background:var(--ink);color:#fff}
.cv-tripcard{display:grid;grid-template-columns:1fr auto;gap:2px 10px;width:100%;text-align:left;background:#fff;border:2px solid transparent;border-radius:18px;
  padding:14px 16px;margin-bottom:8px;box-shadow:var(--shadow);cursor:pointer;color:var(--ink)}
.cv-tripcard.on{border-color:var(--sun2)}
.cv-tripw{margin-bottom:12px}.cv-tripw>.cv-tripcard{margin-bottom:6px}.cv-tripact{display:flex;gap:6px}.cv-tripact button{flex:1;min-width:0;border:1.5px solid var(--light);background:#fff;border-radius:12px;padding:7px 8px;font:600 .76rem/1.2 var(--ui);color:var(--ink);cursor:pointer}.cv-tripact button.on{border-color:#86efac;background:#f0fdf4}
.cv-tripcard .tt{font-family:var(--display);font-style:italic;font-weight:600;font-size:1.2rem}
.cv-tripcard .tt small{font-family:var(--ui);font-style:normal;font-size:.75rem;color:var(--green)}
.cv-tripcard .td{grid-column:1;font-size:.8rem;color:var(--gray)}
.cv-tripcard .ins{grid-column:2;grid-row:1 / 3;align-self:center}
.cv-tripcard.tc{display:flex;position:relative;gap:14px;align-items:stretch;min-height:138px;padding:14px 14px 16px;border:0;border-radius:6px;color:var(--ink);background:#fffaf0;
  background-image:repeating-linear-gradient(135deg,#e2574c 0 10px,transparent 10px 20px,#2f6fb5 20px 30px,transparent 30px 40px);background-size:100% 5px;background-repeat:no-repeat;background-position:0 100%;
  box-shadow:0 1px 0 #efe4cc,0 8px 18px rgba(60,40,20,.12);overflow:visible}
.cv-tripcard.tc.on{outline:2.5px solid var(--sun2);outline-offset:3px}
.tc .tc-pic{flex:0 0 38%;max-width:150px;background:#fff;padding:6px 6px 18px;box-shadow:0 3px 10px rgba(0,0,0,.15);transform:rotate(-2.5deg);align-self:center}
.cv-tripw:nth-child(even) .tc .tc-pic{transform:rotate(2deg)}
.tc .tc-img{display:block;width:100%;aspect-ratio:4/3;background:var(--tg);background-size:cover;background-position:center;position:relative}
.tc .tc-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;padding:4px 0 0}
.tc .tt{padding-right:58px;font-size:1.3rem;line-height:1.15;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.tc .td{padding-right:40px;font-size:.76rem;color:var(--gray);border-bottom:1px dashed #e3d7bd;padding-bottom:6px}
.tc .tc-st{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.74rem;color:var(--gray)}.tc .tc-st b{color:var(--ink)}.tc .tc-st i{font-style:normal}
.tc .ins{margin-top:auto;align-self:flex-start}
.tc .tc-stamp{position:absolute;top:10px;right:10px;width:62px;height:62px;border-radius:50%;border:2px dashed var(--sc);color:var(--sc);display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;transform:rotate(12deg);font:800 .56rem/1.1 var(--ui);text-transform:uppercase;letter-spacing:.04em;opacity:.85;box-shadow:inset 0 0 0 3px #fffaf0,inset 0 0 0 4px var(--sc)}
.tc .tc-stamp small{font:700 .5rem/1.1 var(--ui);margin-top:2px;letter-spacing:.02em}
.tc-prep{--sc:#7b3fb0}.tc-live{--sc:#0f8a5f}.tc-past{--sc:#64748b}
.cv-tripcard.legacy{background:#F7EFEF;box-shadow:none}
.cv-pchip{border-radius:30px}
.archive-banner{border-radius:16px}
.hero-count b{color:#fff;text-shadow:0 2px 18px rgba(120,20,60,.55)}
.hero-count span{color:#fff;text-shadow:0 1px 8px rgba(120,20,60,.6)}
.v-day-b .cv-row{flex-wrap:nowrap;gap:6px}
.v-day-b .cv-row .v-day-edit{flex:1 1 auto;padding:8px 6px;font-size:.76rem;text-align:center;white-space:nowrap}
.cv-settle-r{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 0}
.cv-settle-r .v-chip{padding:6px 12px;font-size:.76rem;white-space:nowrap}
.cv-rbs{margin-top:8px}
.cv-rb{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.8rem;padding:6px 0;border-top:1px solid #f3efe6}
.cv-rb .cv-x{margin-left:auto}
.cv-range{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:2px 0 10px}
.cv-range label{min-width:0}
.cv-range input,input.v-in[type=month],input.v-in[type=date],input.v-in[type=time],input.v-in[type=datetime-local]{min-width:0;width:100%;max-width:100%;box-sizing:border-box}
.cv-range label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;font-weight:600;color:#6b5670}
/* iPhone : champs date/heure qui débordent */
.v-f2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.v-f2>*,.v-f{min-width:0}
.v-in{min-width:0;max-width:100%}
input.v-in[type=date],input.v-in[type=time],input.v-in[type=month]{-webkit-appearance:none;appearance:none;display:block;width:100%;min-height:46px;text-align:left;line-height:1.2}
input.v-in::-webkit-date-and-time-value{text-align:left;margin:0}
.v-actions{position:sticky;bottom:calc(-18px - env(safe-area-inset-bottom));margin:12px -18px 0;padding:12px 18px calc(18px + env(safe-area-inset-bottom));background:var(--cream);box-shadow:0 -10px 20px -12px rgba(74,26,79,.25);z-index:5}
/* Souvenirs */
.cv-souv{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:14px;margin-bottom:14px}
.cv-souv-h{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start}
.cv-souv-t{font-family:var(--display);font-style:italic;font-weight:600;font-size:1.2rem;line-height:1.2;color:var(--ink)}
.cv-souv-txt{font-size:.88rem;line-height:1.55;color:#4d3b50;margin-top:10px;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer}
.cv-souv-txt.open{display:block}
.cv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:10px;border-radius:14px;overflow:hidden}
.cv-th{position:relative;aspect-ratio:1;border:none;padding:0;background:#F3E4E1;cursor:pointer;overflow:hidden}
.cv-th img{width:100%;height:100%;object-fit:cover;display:block}
.cv-th img:not([src]){visibility:hidden}
.cv-th img.miss{visibility:hidden}
.cv-th span{position:absolute;inset:0;background:rgba(30,12,42,.55);color:#fff;font-weight:700;font-size:1.2rem;display:flex;align-items:center;justify-content:center}
.cv-thx{position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:50%;border:none;background:rgba(0,0,0,.55);color:#fff;font-size:.75rem;cursor:pointer}
.cv-addph{position:relative;overflow:hidden;margin-top:8px;display:flex;justify-content:center}
.cv-addph input{position:absolute;inset:0;opacity:0;cursor:pointer}
.cv-psrow{background:#fff;border-radius:16px;padding:12px;margin-bottom:8px;box-shadow:var(--shadow)}
.cv-psrow select{margin-top:8px}
#cv-viewer{position:fixed;inset:0;z-index:2000;background:#0d0612;display:none;align-items:center;justify-content:center}
#cv-viewer img{width:100%;height:100%;object-fit:contain}
#cv-viewer button{position:absolute;border:none;background:rgba(255,255,255,.14);color:#fff;border-radius:50%;width:44px;height:44px;font-size:1.4rem;cursor:pointer}
#cv-viewer .vx{top:calc(14px + var(--sat,env(safe-area-inset-top,0px)));right:14px;font-size:1rem}
#cv-viewer .vp{left:10px;top:50%}
#cv-viewer .vn{right:10px;top:50%}
#cv-viewer .vc{position:absolute;bottom:calc(18px + env(safe-area-inset-bottom));color:rgba(255,255,255,.8);font-size:.8rem}
/* Mode lecture */
.hero-btns{display:flex;gap:10px;align-items:center}
.cv-lock{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.12);font-size:1rem;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.cv-lock.on{background:var(--gold2);border-color:var(--gold2)}
body.locked .v-fab,body.locked .cv-thx,body.locked .cv-addph,body.locked .v-cl .del{display:none!important}
.v-sheet.ro input,.v-sheet.ro textarea,.v-sheet.ro select,.v-sheet.ro .v-seg,.v-sheet.ro .cv-qsel,.v-sheet.ro .cv-colors{pointer-events:none}
.v-sheet.ro .v-in{background:#FBF4F2}
.v-sheet.ro .v-actions button[type=submit],.v-sheet.ro .v-btn.danger,.v-sheet.ro #pl-go,.v-sheet.ro .cv-row .v-btn.sec.cv-sq{display:none}
.cv-robanner{background:var(--navy);color:var(--gold2);font-weight:600;font-size:.8rem;border-radius:30px;padding:7px 14px;display:inline-block;margin-bottom:8px}
/* ── Carnet de route imprimable ── */
.pr-map{margin:8px 0 6px}
.pr-map svg{display:block;width:100%;height:auto;max-height:240px;border:1px solid #e5ddd2;border-radius:10px}
.pr-map figcaption{font-size:.72rem;color:#5a4f60;margin-top:3px}
#cv-print{position:fixed;inset:0;z-index:3000;background:#fff;overflow:auto;-webkit-overflow-scrolling:touch;display:none;color:#1b1320}
.pr-bar{position:sticky;top:0;display:flex;gap:8px;justify-content:space-between;padding:calc(10px + var(--sat,env(safe-area-inset-top,0px))) 14px 10px;background:var(--navy);z-index:2}
.pr-bar button{border:none;border-radius:30px;padding:10px 16px;font-weight:700;font-size:.9rem;background:var(--sunset);color:#fff;cursor:pointer}
.pr-bar button.x{background:rgba(255,255,255,.14)}
.pr-doc{max-width:780px;margin:0 auto;padding:22px 18px 40px;font-family:var(--ui);font-size:12.5px;line-height:1.45}
.pr-cover{border-bottom:3px solid #1b1320;padding-bottom:16px;margin-bottom:18px}
.pr-kicker{font-size:12px;letter-spacing:.5px;color:#8F7A90}
.pr-cover h1{font-family:var(--display);font-style:italic;font-weight:600;font-size:34px;line-height:1.05;margin:4px 0 8px;color:#1b1320}
.pr-dates{font-weight:600;font-size:14px}
.pr-route,.pr-who{color:#5d4b60;margin-top:2px}
.pr-h{font-family:var(--display);font-style:italic;font-weight:600;font-size:22px;margin:22px 0 10px;border-bottom:1px solid #d9cdd6;padding-bottom:4px}
.pr-day{border:1px solid #e6dce3;border-radius:10px;padding:10px 12px;margin-bottom:10px;break-inside:avoid;page-break-inside:avoid}
.pr-day h3{font-size:14px;font-weight:700;margin-bottom:4px;display:flex;gap:8px;align-items:baseline}
.pr-day h3 span{background:#1b1320;color:#fff;border-radius:6px;padding:1px 6px;font-size:11px}
.pr-plan{white-space:pre-wrap;color:#3b2c3e;margin-bottom:6px}
.pr-t{width:100%;border-collapse:collapse;margin:4px 0}
.pr-t td{border-top:1px solid #f0e8ee;padding:4px 4px;vertical-align:top}
.pr-t .ic{width:22px}.pr-t .tm{width:52px;font-weight:600;white-space:nowrap}.pr-t .stt{width:80px;text-align:right;white-space:nowrap;color:#5d4b60}
.pr-t small,.pr-tab small{color:#6d5b70}
.pr-pl{margin-top:4px}
.pr-notes{background:#fbf3df;border-radius:6px;padding:5px 8px;margin-top:6px}
.pr-lines{margin-top:8px}.pr-lines i{display:block;height:20px;border-bottom:1px dotted #bfb0bb}
.pr-tab{width:100%;border-collapse:collapse;margin-bottom:6px}
.pr-tab th{text-align:left;font-size:11px;background:#1b1320;color:#fff;padding:5px 6px}
.pr-tab td{border-bottom:1px solid #eadfe7;padding:5px 6px;vertical-align:top}
.pr-tab tr{break-inside:avoid;page-break-inside:avoid}
.pr-nl p{margin-bottom:8px;break-inside:avoid}
.pr-check{columns:2;column-gap:20px}.pr-check>div{break-inside:avoid;margin-bottom:8px}.pr-check h4{font-size:13px;margin-bottom:3px}
.pr-small,.pr-empty{color:#6d5b70}
.pr-foot{margin-top:24px;color:#8F7A90;font-size:11px;text-align:center}
@media print{
  @page{size:A4;margin:12mm}
  html,body.printing{background:#fff!important}
  body.printing>*:not(#cv-print){display:none!important}
  .pr-map{break-inside:avoid;page-break-inside:avoid}
  body.printing #cv-print{position:static;display:block!important;overflow:visible}
  .pr-bar{display:none!important}
  .pr-doc{max-width:none;padding:0}
  .pr-break{break-before:page;page-break-before:always}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
/* Découverte & étape */
.cv-poi{display:flex;align-items:center;gap:8px;background:#fff;border-radius:12px;padding:9px 10px;margin-bottom:6px;box-shadow:0 2px 8px -6px rgba(74,26,79,.35)}
.cv-poi .ic{font-size:1.1rem}
.cv-poi .x{flex:1;min-width:0;font-size:.86rem}
.cv-poi .x small{display:block;color:var(--gray);font-size:.75rem}
.cv-poi .star{color:#E89A2C}
.cv-poi a{text-decoration:none;font-size:1.05rem}
.cv-poi .cv-x.ok{background:var(--green);color:#fff}
.cv-cday{margin-top:12px}
.cv-cday>b{display:block;font-family:var(--display);font-style:italic;font-size:1.05rem;margin-bottom:6px}
.cv-cday .cv-place{gap:6px}
.cv-daysel{width:auto!important;max-width:110px;padding:6px 8px!important;font-size:14px!important;min-height:0}
.cv-lk.on{background:var(--gold2)}
.cv-cres{margin-top:10px}
.cv-cres-d{background:#FFF7F4;border-radius:12px;padding:9px 11px;margin-bottom:6px;font-size:.8rem;line-height:1.45}
.cv-cres-d ul{margin:4px 0 0 16px}
a.v-btn.cv-escale{display:block;text-align:center;text-decoration:none}
.cv-demo-bar{background:#FFF4D6;border:1.5px solid #F5C451;color:#5a4200;border-radius:14px;padding:10px 12px;margin:4px 0 12px;font-size:.8rem;line-height:1.4}
.cv-demo-btns{display:flex;gap:8px;margin-top:7px}
.cv-demo-bar button{display:block;background:#fff;border:1px solid #E0B23C;color:#7a5600;font:inherit;font-weight:700;border-radius:20px;padding:5px 12px}
.cv-disc-card{background:#fff;border:2px solid #E9D5FF;border-radius:18px;padding:13px 14px;margin:4px 0 14px;box-shadow:0 4px 14px rgba(91,33,182,.10)}
.cv-disc-card .dt{font-weight:800;font-size:1rem;color:#4C1D95}
.cv-disc-card .dd{font-size:.8rem;color:var(--gray);margin:4px 0 2px;line-height:1.35}
.cv-disc-card .dc{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.cv-disc-card .dc button{background:#F3EAFF;border:0;color:#4C1D95;font:inherit;font-weight:700;font-size:.82rem;padding:7px 12px;border-radius:20px}
.cv-disc-card.compact .dc{margin-top:7px}
.cv-souv-grp{margin:16px 2px 8px;font-weight:800;font-size:.86rem;color:var(--ink);display:flex;gap:8px;align-items:baseline}
.cv-souv-grp small{font-weight:600;color:var(--gray);font-size:.75rem}
.cv-tuto video{width:100%;max-height:68vh;border-radius:14px;background:#000;display:block}
.cv-escale-tuto{display:block;width:100%;margin:-6px 0 14px;background:#F3EAFF;border:1.5px dashed #C4A5F5;color:#4C1D95;font:inherit;font-weight:700;font-size:.82rem;padding:9px 12px;border-radius:14px;text-align:center}
.cv-foot{text-align:center;font-size:.72rem;padding:18px 12px 8px;color:var(--gray)}
.cv-top{display:block;margin:0 auto 12px;width:40px;height:40px;border-radius:50%;border:0;background:var(--navy,#2A1238);color:#fff;font-size:20px;font-weight:700;line-height:40px;padding:0;box-shadow:0 3px 10px rgba(0,0,0,.18);cursor:pointer}
.cv-foot a{color:var(--ink);text-decoration:underline}
.hero-top{position:relative}
.cv-hero-qr{position:relative;flex:0 0 auto;margin:0 12px 0 auto;z-index:2;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 6px 4px;border:0;border-radius:12px;background:rgba(255,255,255,.92);box-shadow:0 6px 18px rgba(0,0,0,.25);cursor:pointer;color:#2A1238;font:700 .62rem/1 inherit}
.cv-hero-qr svg{display:block;width:46px;height:46px}
.cv-hero-qr span{font-size:.75rem;font-weight:800;letter-spacing:.02em}
.cv-share-qr{display:block;margin:6px auto 10px;width:min(64vw,240px);height:auto;background:#fff;border-radius:14px;padding:10px}
.cv-share-url{font-size:.78rem;text-align:center;word-break:break-all;color:var(--gray);margin-bottom:10px}
.cv-qrsw{display:flex;gap:10px;margin:0 0 10px}.cv-qrsw .v-btn{flex:1;margin:0}.cv-qrsw .v-btn.on{background:var(--ink,#2A1238);color:#fff}.cv-qrbox{display:flex;flex-direction:column;align-items:center;text-align:center;background:#f6f1fb;border-radius:16px;padding:12px;margin:0 0 12px}.cv-qrbox[hidden]{display:none}.cv-qrbox .cv-share-qr{width:100%;max-width:230px;margin:8px auto;padding:6px}.cv-qrbox small{font-size:.75rem;color:var(--gray);line-height:1.3}
.cv-qr2{display:flex;gap:10px;margin:6px 0 12px}.cv-qr2>div{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;background:#f6f1fb;border-radius:16px;padding:10px 6px}.cv-qr2 b{font-size:.9rem}.cv-qr2 .cv-share-qr{width:100%;max-width:170px;margin:6px auto;padding:6px}.cv-qr2 small{font-size:.75rem;color:var(--gray);line-height:1.3}
.cv-rmap{margin-top:10px}
.bb-state{margin-top:8px;font-weight:700;font-size:.86rem;border-radius:12px;padding:7px 10px}
.bb-state.ok{background:#dcfce7;color:#14532d}.bb-state.wait{background:#fef3c7;color:#78350f}
.bb-tr{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px dashed #eadfe6;padding:8px 0;font-size:.88rem}
.bb-tr small{display:block;color:#6b5670;font-size:.72rem}
.bb-bt{display:flex;gap:6px;flex:0 0 auto}
.bb-bt button{border:1.5px solid #e4d9f2;background:#fff;border-radius:14px;padding:6px 9px;font:inherit;font-weight:700;font-size:.74rem}
.bb-bt button:first-child{background:#16a34a;border-color:#16a34a;color:#fff}
.bb-rb{display:flex;align-items:center;gap:8px;border-top:1px dashed #eadfe6;padding:7px 0;font-size:.84rem}
.bb-rb>span{flex:1}.bb-rb small{display:block;color:#6b5670;font-size:.72rem}
.bb-tab>div{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;gap:4px;font-size:.76rem;padding:6px 0;border-top:1px dashed #eadfe6;align-items:center}
.bb-tab .hd{font-weight:700;color:#6b5670;border-top:0}
.bb-tab .pos{color:#15803d;font-weight:800}.bb-tab .neg{color:#b91c1c;font-weight:800}
.bb-ex{display:flex;align-items:center;gap:10px;border-top:1px dashed #eadfe6;padding:8px 0}
.bb-j{flex:0 0 46px;width:46px;height:46px;border-radius:10px;border:1px solid #eadfe6;background:#f3eefc;overflow:hidden;padding:0;font:inherit;font-weight:800;font-size:.75rem;color:#7c3aed}
.bb-j img{width:100%;height:100%;object-fit:cover}.bb-j.none{border-style:dashed;background:#fff;font-size:1rem}
.bb-ex-t{flex:1;min-width:0;text-align:left;border:0;background:none;padding:0;font:inherit;color:inherit}
.bb-ex-t b{display:block;font-size:.86rem}.bb-ex-t small{display:block;color:#6b5670;font-size:.72rem}
.bb-m{text-align:right;font-weight:800;font-size:.86rem}.bb-m small{display:block;font-weight:600;color:#6b5670;font-size:.75rem}
.cv-inner{display:flex;gap:6px;overflow-x:auto;margin:0 0 12px;padding:2px 0}
.cv-inner button{flex:0 0 auto;border:1.5px solid #e4d9f2;background:#fff;border-radius:20px;padding:8px 14px;font:inherit;font-weight:700;font-size:.82rem;color:#2a1238}
.cv-inner button.on{background:#2a1238;color:#fff;border-color:#2a1238}
#cv-gate{position:fixed;inset:0;z-index:20000;background:linear-gradient(160deg,#2a1238,#4c1d95 60%,#be185d);color:#fff;display:flex;align-items:center;justify-content:center;padding:calc(var(--sat,env(safe-area-inset-top,0px)) + 20px) 22px calc(env(safe-area-inset-bottom,0px) + 20px);overflow:auto}
#cv-gate .gt{max-width:420px;text-align:center}
#cv-gate .gi{width:84px;height:84px;border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
#cv-gate h1{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:2rem;margin:14px 0 8px}
#cv-gate p{font-size:.95rem;line-height:1.5;color:#f3e8ff}
#cv-gate .gs{text-align:left;background:rgba(255,255,255,.12);border-radius:16px;padding:14px 14px 14px 34px;margin:14px 0;line-height:1.6}
#cv-gate .gk{display:inline-block;background:#fff;color:#2a1238;border-radius:6px;padding:0 6px;font-weight:800}
#cv-gate .gm{font-size:.74rem;opacity:.85}
#cv-gate a{color:#fff}
.cv-prt{display:grid;grid-template-columns:auto 1fr 1.4fr;gap:8px;align-items:center;margin:6px 0}
.cv-prt label{display:flex;flex-direction:column;font-size:.75rem;color:#6b5670;min-width:0}
.cv-prt .v-in{margin:2px 0 0;min-width:0}
.cv-pth{position:relative;flex:0 0 52px;width:52px;height:52px;border:0;padding:0;border-radius:10px;background:#f3eefc;overflow:hidden;display:flex;align-items:center;justify-content:center;margin-right:8px}
.cv-pth img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s}
.cv-pth.has img{opacity:1}
.cv-pth .ic{font-size:1.3rem}
.cv-poi .x{cursor:pointer}
.wk-img{width:100%;max-height:260px;object-fit:cover;border-radius:14px;display:block;margin-bottom:8px}
.wk-tx{font-size:.88rem;line-height:1.5}
.cv-choice{display:flex;gap:12px;align-items:center;width:100%;text-align:left;background:#fff;border:1.5px solid #e4d9f2;border-radius:16px;padding:12px;margin:0 0 8px;font:inherit;color:inherit}
.cv-choice i{font-style:normal;font-size:1.7rem}
.cv-choice b{display:block}
.cv-choice small{display:block;color:#6b5670;font-size:.78rem}
.cv-idea{background:#fff;border:1px solid #eadfe6;border-radius:18px;padding:0 0 12px;margin:10px 0;overflow:hidden;box-shadow:0 4px 14px rgba(42,18,56,.06)}
.cv-idea.focus{border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.25)}
.cv-idea>*:not(.im){margin-left:12px;margin-right:12px}
.cv-idea .im{position:relative;height:150px;background:linear-gradient(135deg,#c4b5fd,#f9a8d4);margin-bottom:8px}
.cv-idea .im img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s}
.cv-idea .im.has img{opacity:1}
.cv-idea .pc{position:absolute;left:10px;top:10px;background:rgba(42,18,56,.85);color:#fff;border-radius:12px;padding:3px 9px;font-size:.74rem;font-weight:800}
.cv-idea .fav{position:absolute;right:10px;top:8px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.92);font-size:1.1rem}
.cv-idea .chips{display:flex;flex-wrap:wrap;gap:5px;margin:6px 12px}
.cv-idea .chips span{background:#f5f0fb;border-radius:10px;padding:3px 8px;font-size:.72rem}
.cv-idea .warn{margin:4px 12px;font-size:.76rem;color:#a16207}
.cv-idea .iti{margin:6px 12px;font-size:.8rem}
.cv-idea .iti small{color:#6b5670}
.cv-idea .bud{margin:2px 12px;font-size:.74rem;color:#6b5670}
.cv-idea .chips span.live{background:#dcfce7;color:#14532d}
.cv-idea .chips span.hide{display:none}
.cv-idea .cp-go{background:#2a1238;color:#fff;border-color:#2a1238}
.cv-deals{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.cv-deal{flex:0 0 auto;border:1px solid #e4d9f2;background:#fff;border-radius:14px;padding:8px 12px;font:inherit;text-align:left}
.cv-deal b{display:block;font-size:.86rem}.cv-deal span{display:block;color:#15803d;font-weight:800;font-size:.82rem}.cv-deal small{color:#6b5670;font-size:.75rem}
.cp-hero{height:170px;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#c4b5fd,#f9a8d4);margin-bottom:8px}
.cp-hero img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s}.cp-hero.has img{opacity:1}
.cp-stop{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #eadfe6;border-radius:12px;padding:8px 10px;margin:5px 0}
.cp-stop b{flex:1}.cp-n{display:flex;align-items:center;gap:6px;font-size:.84rem}
.cp-n button{width:30px;height:30px;border-radius:50%;border:1px solid #e4d9f2;background:#faf7fd;font-weight:800}
.cp-near{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.cp-city{flex:0 0 112px;border:1px solid #eadfe6;background:#fff;border-radius:14px;padding:0 0 6px;overflow:hidden;font:inherit;text-align:center}
.cp-city img,.cp-city i{display:block;width:100%;height:72px;object-fit:cover;font-style:normal;font-size:1.6rem;line-height:72px;background:#f3eefc}
.cp-city span{display:block;font-size:.78rem;font-weight:700;padding:4px 4px 0}.cp-city small{color:#7c3aed;font-size:.75rem}
.cp-pl{margin:8px 0 12px}
.cp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:4px}
.cp-place{position:relative;border:2px solid transparent;background:#fff;border-radius:12px;padding:0 0 4px;overflow:hidden;font:inherit;text-align:left}
.cp-place img,.cp-place i{display:block;width:100%;height:70px;object-fit:cover;font-style:normal;font-size:1.4rem;line-height:70px;text-align:center;background:#f3eefc}
.cp-place span{display:block;font-size:.75rem;font-weight:600;padding:3px 5px 0;line-height:1.2;max-height:2.5em;overflow:hidden}
.cp-place em{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.92);font-style:normal;font-weight:800;font-size:.75rem;display:flex;align-items:center;justify-content:center}
.cp-place.on{border-color:#7c3aed}.cp-place.on em{background:#7c3aed;color:#fff}
.cv-idea .hd b{display:block;font-size:1rem}
.cv-idea .hd small{color:#6b5670;font-size:.74rem}
.cv-idea .why{margin:6px 0 2px;font-size:.8rem;color:#4c1d95;font-weight:600}
.cv-idea p{margin:4px 0 8px;font-size:.82rem}
.cv-acc{padding:0 18px 18px}
.cv-acc>summary{list-style:none;cursor:pointer;margin:0 -18px;padding:16px 18px;font-family:'Playfair Display',Georgia,serif;font-weight:600;font-size:1.15rem;display:flex;align-items:center;justify-content:space-between;gap:8px}
.cv-acc>summary::-webkit-details-marker{display:none}
.cv-acc>summary::after{content:'›';font-family:inherit;font-size:1.5rem;color:#9a8aa8;transition:transform .2s}
.cv-acc[open]>summary::after{transform:rotate(90deg)}
.cv-acc .v-btn{box-sizing:border-box;max-width:100%}
.cv-pinbar{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin:0 -2px 4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.cv-pinbar::-webkit-scrollbar{display:none}
.cv-pinbar button{flex:0 0 auto;border:0;border-radius:999px;background:#fff;box-shadow:var(--shadow);padding:9px 14px;font:inherit;font-weight:700;font-size:.85rem;color:#2a1238;white-space:nowrap}
.cv-modes{display:none!important}
.cv-nav .dotlive{position:absolute;top:4px;right:22%;width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.3)}
.cv-nav button{position:relative;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
.cv-pinrow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid #f0e8f5}.cv-pinrow span{font-weight:600;font-size:.9rem}.cv-pinrow select{width:auto;max-width:55%;padding:8px}
.cv-plus{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}
.cv-plus button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 6px;border:0;border-radius:16px;background:#f3ecf8;color:#2a1238;font:inherit;font-weight:700;font-size:.78rem;text-align:center}
.cv-plus button i{font-style:normal;font-size:1.5rem}
.cv-modes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:10px 12px 4px;background:#efe7f6;border-radius:16px;padding:4px}
.cv-modes button{position:relative;border:0;background:transparent;border-radius:12px;padding:7px 2px;font:inherit;color:#4b3a5a;display:flex;flex-direction:column;align-items:center;gap:1px}
.cv-modes button i{font-style:normal;font-size:1.1rem}
.cv-modes button span{font-size:.75rem;font-weight:700}
.cv-modes button.on{background:#2a1238;color:#fff;box-shadow:0 3px 10px rgba(42,18,56,.25)}
.cv-modes .dotlive{position:absolute;top:6px;right:18%;width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.25)}
.cv-trk{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid #e4d9f2;border-radius:16px;padding:10px 12px;margin:2px 0 10px}
.cv-trk .dot{width:12px;height:12px;border-radius:50%;background:#b8aec2;flex:0 0 12px}
.cv-trk.on{border-color:#86efac;background:#f0fdf4}
.cv-trk.on .dot{background:#16a34a;animation:trkp 1.6s infinite}
@keyframes trkp{0%{box-shadow:0 0 0 0 rgba(22,163,74,.5)}100%{box-shadow:0 0 0 10px rgba(22,163,74,0)}}
@media (prefers-reduced-motion:reduce){.cv-trk.on .dot{animation:none}}
.cv-trk .tx{flex:1;min-width:0}
.cv-trk .tx b{display:block;font-size:.9rem}
.cv-trk .tx small{display:block;font-size:.72rem;color:#6b5670}
.cv-trk button{border:0;border-radius:20px;padding:8px 14px;font:inherit;font-weight:800;font-size:.8rem;background:#2a1238;color:#fff}
.cv-trk.on button{background:#fff;color:#166534;border:1.5px solid #86efac}
.cv-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 12px}
.cv-tile{border:1px solid #eadfe6;background:#fff;border-radius:14px;padding:10px 4px;font:inherit;display:flex;flex-direction:column;align-items:center;gap:3px;color:#2a1238}
.cv-tile i{font-style:normal;font-size:1.35rem}
.cv-tile span{font-size:.75rem;font-weight:700;text-align:center}
.cv-past{display:flex;gap:12px;background:#fff;border:1px solid #eadfe6;border-radius:16px;padding:10px;margin:8px 0}
.cv-past .cov{flex:0 0 92px;height:92px;border-radius:12px;overflow:hidden;background:#f1eafe;display:flex;align-items:center;justify-content:center;font-size:2rem}
.cv-past .cov img{width:100%;height:100%;object-fit:cover}
.cv-past .bd{flex:1;min-width:0}
.cv-past b{display:block}
.cv-past small{display:block;font-size:.76rem;color:#6b5670}
.cv-past .bt{display:flex;gap:6px;margin-top:6px}
.cv-past .bt button{border:1px solid #e4d9f2;background:#faf7fd;border-radius:12px;padding:5px 9px;font:inherit;font-size:.76rem;font-weight:700}
.cv-bchk{display:flex;gap:10px;align-items:flex-start;padding:7px 0;border-top:1px dashed #eadfe6}
.cv-bchk i{font-style:normal;flex:0 0 22px;height:22px;border-radius:50%;background:#f59e0b;color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:.8rem}
.cv-bchk.ok i{background:#16a34a}
.cv-bchk small{display:block;color:#6b5670;font-size:.76rem}
.cv-bbar{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:8px;font-size:.8rem;margin:5px 0}
.cv-bbar i{display:block;height:9px;border-radius:5px;background:linear-gradient(90deg,#a78bfa,#7c3aed)}
.cv-seg span small{display:block;font-size:.76rem;color:#6b5670}
.wm-photo{position:relative;width:46px;height:46px;border-radius:10px;border:3px solid #fff;padding:0;overflow:hidden;background:#333;box-shadow:0 4px 12px rgba(0,0,0,.5)}
.wm-photo img{width:100%;height:100%;object-fit:cover}
.wm-photo span{position:absolute;right:2px;bottom:2px;background:rgba(0,0,0,.6);color:#fff;font-size:.75rem;border-radius:6px;padding:0 4px}
#cv-viewer{z-index:9600!important}
.cv-quick{display:flex;gap:6px;margin:2px 0 12px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.cv-quick button{flex:1 0 auto;border:1.5px solid #e4d9f2;background:#fff;color:#2a1238;border-radius:20px;padding:9px 12px;font:inherit;font-weight:700;font-size:.82rem;white-space:nowrap}
.cv-quick button:first-child{background:#16a34a;border-color:#16a34a;color:#fff}
.cv-here{background:#ecfdf3;border:1px solid #a7e3bf;border-radius:12px;padding:8px 10px;margin:0 0 10px;font-size:.88rem}
.cv-here small{display:block;color:#3f6b52;font-size:.74rem;margin-top:2px}
.jr-sv{margin:8px 0}
.jr-sv small{color:#6b5670}
.jr-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:4px}
.jr-ph{position:relative;border:0;padding:0;border-radius:10px;overflow:hidden;aspect-ratio:1;background:#eee}
.jr-ph img{width:100%;height:100%;object-fit:cover;display:block}
.jr-ph span{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:#7c3aed;color:#fff;font-size:.75rem;display:flex;align-items:center;justify-content:center}
.jr-ph.off img{opacity:.3;filter:grayscale(1)}
.jr-ph.off span{background:rgba(0,0,0,.35)}
#cv-world{position:fixed;inset:0;z-index:9000;background:#02040a;display:none;overflow:hidden;overscroll-behavior:none;contain:layout paint}
#cv-world .wm-top{min-width:0}#cv-world .wm-seg{flex:1 1 auto;min-width:0;justify-content:space-between}
#cv-world .wm-seg button{flex:1 1 0;min-width:0;padding-left:6px;padding-right:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#cv-world .wm-top>.wm-new{width:auto;min-width:44px;border-radius:999px;padding:0 14px;font-size:.8rem;flex:none}
@media (max-width:440px){#cv-world .wm-top{gap:6px}#cv-world .wm-top>.wm-new{width:44px;padding:0;font-size:0;line-height:0}#cv-world .wm-top>.wm-new>*{display:none}#cv-world .wm-top>.wm-new::before{content:'✨';font-size:1.25rem;line-height:44px}}
.wm-stars{position:absolute;inset:0;background:
 radial-gradient(1px 1px at 12% 18%,#fff8,transparent),radial-gradient(1px 1px at 72% 12%,#fff9,transparent),radial-gradient(1.5px 1.5px at 40% 70%,#fffa,transparent),
 radial-gradient(1px 1px at 85% 55%,#fff7,transparent),radial-gradient(1px 1px at 25% 85%,#fff8,transparent),radial-gradient(1.2px 1.2px at 60% 35%,#fff6,transparent),
 radial-gradient(1px 1px at 92% 88%,#fff8,transparent),radial-gradient(1px 1px at 5% 50%,#fff7,transparent),radial-gradient(ellipse at 50% 40%,#0d1b3d 0%,#02040a 70%);animation:wmtw 8s ease-in-out infinite alternate}
@keyframes wmtw{from{opacity:.75}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.wm-stars{animation:none}}
.wm-x{width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.92);font-size:1.1rem;font-weight:800;box-shadow:0 4px 14px rgba(0,0,0,.4)}
.wm-top{pointer-events:none}.wm-top>*{pointer-events:auto}
.wm-bottom{pointer-events:none}.wm-bottom>*{pointer-events:auto}
#wm-map,#wm-map canvas{touch-action:none}
#wm-map .maplibregl-canvas-container{touch-action:none}
#cv-world .maplibregl-ctrl-top-right{top:calc(var(--sat,env(safe-area-inset-top,0px)) + 58px)}
#cv-world .maplibregl-ctrl-group button{width:40px;height:40px}
#cv-world.wm-wait #wm-map{pointer-events:none}
#cv-world.wm-wait::after{content:'🌍 Préparation de ta carte…';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;background:rgba(10,12,30,.8);color:#fff;border-radius:16px;padding:12px 18px;font-weight:700;font-size:.9rem;pointer-events:none}
.wm-chips{position:absolute;top:calc(var(--sat,env(safe-area-inset-top,0px)) + 64px);left:10px;right:64px;display:flex;gap:6px;flex-wrap:wrap;z-index:2;pointer-events:none}
.wm-chips span{background:rgba(10,12,30,.6);color:#e9e4ff;border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:4px 10px;font-size:.74rem;backdrop-filter:blur(8px)}
.wm-chips b{color:#fff}
.wm-bottom{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:0 10px calc(env(safe-area-inset-bottom,0px) + 10px);display:flex;flex-direction:column;gap:8px;background:linear-gradient(180deg,transparent,rgba(2,4,10,.75) 35%)}
.wm-bottom .wm-info{position:static}
.wm-car{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:2px}
.wm-card{flex:0 0 78%;max-width:320px;scroll-snap-align:center;display:flex;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.18);background:rgba(18,18,40,.72);color:#fff;border-radius:18px;padding:8px;text-align:left;font:inherit;backdrop-filter:blur(10px);transition:transform .25s,border-color .25s}
.wm-card.on{border-color:#fbbf24;transform:translateY(-3px);box-shadow:0 8px 24px rgba(251,191,36,.25)}
.wm-card .im{flex:0 0 64px;height:64px;border-radius:12px;overflow:hidden;background:#2a1a4a;display:flex;align-items:center;justify-content:center;font-size:1.6rem}
.wm-card .im img{width:100%;height:100%;object-fit:cover}
.wm-card b{display:block;font-size:.92rem}
.wm-card small{display:block;font-size:.75rem;opacity:.8}
.wm-card em{color:#86efac;font-style:normal;font-weight:700}
.wm-empty{color:#ddd;font-size:.8rem;padding:8px}
.wm-tl{display:flex;align-items:center;gap:8px;margin-top:6px}
.wm-tl input{flex:1;accent-color:#fbbf24}
.wm-play{border:0;background:#fbbf24;color:#2a1238;border-radius:16px;padding:6px 10px;font:inherit;font-weight:800;font-size:.78rem;white-space:nowrap}
.wm-story{position:absolute;left:10px;right:10px;top:calc(var(--sat,env(safe-area-inset-top,0px)) + 100px);z-index:4;display:flex;gap:10px;background:rgba(255,255,255,.96);border-radius:18px;padding:10px;box-shadow:0 12px 34px rgba(0,0,0,.45);max-width:420px;margin:0 auto;animation:wmin .35s ease}
@keyframes wmin{from{transform:translateY(-12px);opacity:0}to{transform:none;opacity:1}}
.wm-story[hidden]{display:none}
.wm-sx{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:50%;border:0;background:#f1eafe;font-weight:800}
.wm-sph{position:relative;flex:0 0 96px;height:96px;border:0;padding:0;border-radius:12px;overflow:hidden;background:#eee}
.wm-sph img{width:100%;height:100%;object-fit:cover}
.wm-sph span{position:absolute;right:4px;bottom:4px;background:rgba(0,0,0,.6);color:#fff;font-size:.75rem;border-radius:8px;padding:1px 6px}
.wm-stx{flex:1;min-width:0;padding-right:20px;color:#2a1238}
.wm-stx b{display:block;font-size:.95rem}
.wm-stx small{display:block;color:#6b5670;font-size:.74rem}
.wm-stx p{margin:4px 0 0;font-size:.8rem}
.wm-flags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.wm-flags span{background:rgba(255,255,255,.12);border-radius:12px;padding:2px 8px;font-size:.74rem}
.wm-pin.live .ph{border-color:#86efac;box-shadow:0 0 0 4px rgba(134,239,172,.35),0 4px 12px rgba(0,0,0,.5)}
#wm-map{position:absolute;inset:0}
.wm-top{position:absolute;top:calc(var(--sat,env(safe-area-inset-top,0px)) + 10px);left:10px;right:10px;display:flex;gap:8px;align-items:center;z-index:2}
.wm-top>button{width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.9);font-size:1.1rem;font-weight:800}
.wm-seg{display:flex;background:rgba(15,15,30,.7);border-radius:22px;padding:3px;backdrop-filter:blur(8px)}
.wm-seg button{border:0;background:transparent;color:#fff;border-radius:18px;padding:8px 12px;font:inherit;font-weight:700;font-size:.82rem}
.wm-seg button.on{background:#fff;color:#2a1238}
.wm-info{position:absolute;left:10px;right:10px;bottom:calc(env(safe-area-inset-bottom,0px) + 14px);background:rgba(15,15,30,.75);color:#fff;border-radius:14px;padding:9px 12px;font-size:.8rem;z-index:2;backdrop-filter:blur(8px)}
.wm-pin{border:0;background:transparent;padding:0;position:relative;cursor:pointer}
.wm-pin .ph{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;border:3px solid #fff;background:#7c3aed;overflow:hidden;font-size:1.3rem;box-shadow:0 4px 12px rgba(0,0,0,.5)}
.wm-pin img{width:100%;height:100%;object-fit:cover}
.wm-pin .n{position:absolute;top:-6px;right:-6px;background:#fff;color:#2a1238;border-radius:10px;padding:0 6px;font-size:.75rem;font-weight:800}
.wm-flag{font-size:1.9rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6))}
.wm-open{margin-top:6px;border:0;background:#7c3aed;color:#fff;border-radius:14px;padding:6px 10px;font:inherit;font-weight:700}
.cv-pjl{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 6px}
.cv-pj{position:relative;display:inline-flex}
.cv-pj>button:first-child{display:flex;flex-direction:column;align-items:center;gap:3px;width:78px;background:#fff;border:1px solid #eadfe6;border-radius:12px;padding:6px;font:inherit;color:inherit}
.cv-pj img,.cv-pj .pdf{width:64px;height:64px;object-fit:cover;border-radius:8px;background:#f3eefc;display:flex;align-items:center;justify-content:center;font-weight:800;color:#7c3aed}
.cv-pj small{font-size:.75rem;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv-pj .x{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:0;background:#2a1238;color:#fff;font-size:.75rem}
#cv-pjv{position:fixed;inset:0;z-index:10000;background:#000;display:flex;align-items:center;justify-content:center;padding:var(--sat,env(safe-area-inset-top,0px)) 0 env(safe-area-inset-bottom,0)}
#cv-pjv img{max-width:100%;max-height:100%;object-fit:contain;background:#fff}
#cv-pjv button{position:absolute;top:calc(var(--sat,env(safe-area-inset-top,0px)) + 10px);right:10px;z-index:2;background:#fff;border:0;border-radius:20px;padding:8px 14px;font:inherit;font-weight:700}
.cv-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}
.cv-stats div{background:#fff;border:1px solid #eadfe6;border-radius:14px;padding:10px 6px;text-align:center}
.cv-stats b{display:block;font-size:1.3rem;color:#4c1d95}
.cv-stats span{font-size:.75rem;color:#6b5670}
.cv-flags{display:flex;flex-wrap:wrap;gap:6px}
.cv-flags span{background:#fff;border:1px solid #eadfe6;border-radius:20px;padding:4px 10px;font-size:.8rem}
.cv-rcl{display:flex;flex-direction:column;gap:8px}
.cv-rc{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:1px solid #eadfe6;border-radius:14px;padding:8px;font:inherit;color:inherit}
.cv-rc img{width:64px;height:64px;object-fit:cover;border-radius:10px;background:#eee;flex:0 0 64px}
.cv-rc b{display:block;font-size:.9rem}
.cv-rc small{display:block;font-size:.76rem;color:#6b5670;margin-top:2px}
.cv-live{background:linear-gradient(135deg,#1e1b4b,#4c1d95);color:#fff;border-radius:18px;padding:14px;margin:4px 0 14px;box-shadow:0 6px 18px rgba(76,29,149,.25)}
.cv-live.done{background:linear-gradient(135deg,#064e3b,#047857)}
.cv-live .lk{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.85}
.cv-live .lt{font-size:.95rem;margin:5px 0 8px;line-height:1.35}
.cv-live .lsp{font-size:.8rem;opacity:.95}
.cv-live .red{color:#fecaca}
.cv-live .lmini{background:rgba(255,255,255,.18);border:0;color:#fff;border-radius:10px;padding:2px 8px;font:inherit;font-size:.72rem;margin-left:4px}
.cv-live .lcap{height:6px;border-radius:4px;background:rgba(255,255,255,.2);margin:6px 0 2px;overflow:hidden}
.cv-live .lcap span{display:block;height:100%;background:#86efac}
.cv-live .lcap.over span{background:#f87171}
.cv-live .lb{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.cv-live .lb button{background:#fff;color:#312e81;border:0;border-radius:20px;padding:7px 12px;font:inherit;font-weight:700;font-size:.8rem}
.cv-shop.done{opacity:.5;text-decoration:line-through}
.cv-poll{border-top:1px dashed #eadfe6;padding:10px 0}
.cv-poll .pq{margin-bottom:6px}
.cv-poll .po{position:relative;display:flex;justify-content:space-between;width:100%;text-align:left;border:1.5px solid #e9e2f5;background:#fff;border-radius:12px;padding:9px 12px;margin:5px 0;font:inherit;font-size:.86rem;overflow:hidden;color:var(--ink,#2a1238)}
.cv-poll .po .pb{position:absolute;left:0;top:0;bottom:0;background:#f1eafe;z-index:0}
.cv-poll .po .pl,.cv-poll .po .pc{position:relative;z-index:1}
.cv-poll .po.me{border-color:#7c3aed;font-weight:700}
.cv-poll .po.win{border-color:#16a34a}
.cv-poll.closed .po{cursor:default}
.cv-fx{display:flex;gap:6px;align-items:center;margin:2px 0 8px}
.cv-fx .v-in{flex:1;min-width:0;margin:0}
.cv-fx select.v-in{flex:0 0 92px}
.cv-fx .v-btn{flex:0 0 auto;width:auto;margin:0;padding:10px 14px}
.cv-tool p{font-size:.84rem}
.cv-dayc{background:#fff;border:1px solid var(--line,#eadfe6);border-radius:14px;padding:10px 12px;margin:8px 0}
.cv-dayc h3{font-size:.95rem;margin:0 0 6px}
.cv-dayi{border-top:1px dashed #eadfe6;padding:7px 0;font-size:.86rem}
.cv-dayl a{display:inline-block;margin:4px 8px 0 0;font-size:.82rem}
.cv-warnline{display:block;color:#9a3412;background:#fff1e6;border-radius:10px;padding:8px 10px;font-size:.82rem}
.cv-docalert{display:block;width:100%;text-align:left;border:1.5px solid #f59e0b;background:#fff7e6;color:#7c2d12;border-radius:14px;padding:10px 12px;margin:4px 0 12px;font:inherit;font-size:.82rem;font-weight:600}
.jr-s{margin:8px 0 12px}
.jr-s h4{margin:0 0 2px;font-size:1rem}
.jr-ph{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px}
.jr-ph img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;background:#eee}
@media print{.jr-day{break-inside:avoid-page}.jr-ph img{break-inside:avoid}}
.cv-pin-tog{display:flex;width:100%;align-items:center;gap:8px;background:none;border:0;font:inherit;padding:0;margin:0;cursor:pointer;color:inherit;text-align:left}
.cv-pin-tog .n{background:rgba(0,0,0,.08);border-radius:10px;padding:0 8px;font-size:.75rem}
.cv-pin-tog .ch{margin-left:auto;font-size:.72rem;opacity:.7;font-weight:600}
.cv-pinboard.closed .cv-pin-tog{margin-bottom:0}
.cv-escale-card{display:block;text-decoration:none;color:#fff;background:linear-gradient(135deg,#5B21B6 0%,#7C3AED 55%,#DB2777 100%);border-radius:18px;padding:16px 16px 14px;margin:4px 0 14px;box-shadow:0 6px 18px rgba(91,33,182,.28);position:relative;overflow:hidden}
.cv-escale-card::after{content:'✈️';position:absolute;right:-6px;top:-10px;font-size:4.6rem;opacity:.18;transform:rotate(-12deg)}
.cv-escale-card .ek{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.85}
.cv-escale-card .et{display:block;font-size:1.12rem;font-weight:800;margin:3px 0 4px;line-height:1.25}
.cv-escale-card .ed{display:block;font-size:.84rem;opacity:.92;line-height:1.35}
.cv-escale-card .eb{display:inline-block;margin-top:11px;background:#fff;color:#5B21B6;font-weight:800;font-size:.86rem;padding:8px 14px;border-radius:30px}
.cv-escale-card small{display:block;font-size:.75rem;opacity:.75;margin-top:8px}
.cv-escale-mini{display:block;margin-top:10px;font-size:.8rem;color:var(--ink);text-decoration:none;background:#F3EAFF;border-radius:12px;padding:8px 10px}
.cv-info h3{font-family:var(--display);font-style:italic;font-size:1.15rem;margin:12px 0 4px;color:var(--ink)}
.cv-info p{font-size:.86rem;line-height:1.5;color:#4d3b50;margin-bottom:6px}
.v-sheet-bg.cv-first{background:var(--cream,#FBF6EE);backdrop-filter:none;-webkit-backdrop-filter:none;align-items:stretch}
.v-sheet-bg.cv-first .v-sheet{max-height:none;height:100%;border-radius:0;padding-top:calc(18px + var(--sat,env(safe-area-inset-top,0px)));box-shadow:none}
.cv-cgu{background:#F3EAFF;border:1.5px solid #C4A5F5;border-radius:14px;padding:8px 12px;margin:12px 0 4px}
.cv-cgu .cv-checkline{align-items:flex-start;line-height:1.4}
.cv-cgu .cv-checkline input{margin-top:3px;flex:0 0 auto}
.cv-inst-tip{display:block;margin-top:6px;font-size:.78rem;line-height:1.4;color:#7a4a00}
#cv-gate .gw{background:#FFF4D6;border:1px solid #F5C451;color:#5a4200;border-radius:12px;padding:9px 11px;font-size:.82rem;line-height:1.45;text-align:left;margin:10px 0}
.cv-warn{background:#FFE9E4;border-radius:12px;padding:9px 11px;font-size:.84rem;color:#8A2A1E;line-height:1.45}
.cv-bigcode{font-family:ui-monospace,Menlo,monospace;font-size:1.5rem;font-weight:700;letter-spacing:2px;text-align:center;background:#fff;border:2px dashed var(--sun2);border-radius:16px;padding:16px;margin:6px 0 12px;color:var(--ink)}
.cv-escale-mini small{display:block;font-size:.75rem;color:var(--gray);margin-top:3px}
.cv-inst{background:#F3EAFF;border-radius:16px;padding:12px 14px;margin:0 0 12px;font-size:.84rem;line-height:1.45;color:var(--ink)}
.cv-inst p{margin:6px 0;color:#4d3b50}
.cv-inst .v-btn{margin:8px 0 0}
.cv-inst-os{background:#fff;border-radius:10px;padding:8px 10px;margin-top:6px;opacity:.75}
.cv-inst-os.on{opacity:1;box-shadow:0 0 0 2px var(--sun2)}
.cv-inst.ok{background:#E4F6F1}
.cv-ps-help{margin:0 0 6px 18px;padding:0;font-size:14px;line-height:1.5}.cv-ps-help li{margin-bottom:6px}
/* ── iPhone (iOS 26) : barre d'état sans flou ────────────────────────────
   La hauteur n'est jamais fixée à la main : l'iPhone la donne lui-même via
   var(--sat,env(safe-area-inset-top,0px)). Une bande opaque couvre la barre d'état, et le
   menu collant s'arrête juste dessous : plus rien ne défile flouté en haut. */
/* iOS 26 : il pose son flou sur l'heure sauf si un élément fixe et opaque se trouve juste en dessous (comme la barre Trajets/Hôtels).
   La bande descend donc 12 px sous l'encoche, en s'estompant (le fondu est visuel : iOS lit la couleur pleine). 0 px sans encoche. */
.cv-statusbar{position:fixed;top:0;left:0;right:0;height:calc(var(--sat,env(safe-area-inset-top,0px)) + min(12px, var(--sat,env(safe-area-inset-top,0px))));background-color:var(--navy);z-index:2500;
  -webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 12px),rgba(0,0,0,.35) calc(100% - 4px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 12px),rgba(0,0,0,.35) calc(100% - 4px),transparent)}
.cv-sub{top:var(--sat,env(safe-area-inset-top,0px))!important;background:var(--cream)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:0 6px 12px -10px rgba(74,26,79,.35)}
.hero{padding-top:calc(14px + var(--sat,env(safe-area-inset-top,0px)))}
.v-sheet{max-height:calc(100dvh - var(--sat,env(safe-area-inset-top,0px)) - 12px)}
.pr-bar{padding-top:calc(10px + var(--sat,env(safe-area-inset-top,0px)))}
html,body{overscroll-behavior-y:none}
@supports(-webkit-touch-callout:none){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea{font-size:max(16px,1em)!important}}

/* ── 2026-10-09 : jours ±, partage, import mail, doublons, réglages ── */
.cv-daysbar{display:flex;gap:8px;align-items:stretch;margin:2px 0 12px}
.cv-db-dates{flex:1;min-width:0;display:flex;align-items:center;gap:10px;text-align:left;background:#fff;border:1.5px solid #e4d9f2;border-radius:18px;padding:9px 12px;font:inherit;color:var(--ink);box-shadow:var(--shadow)}
.cv-db-dates i{font-style:normal;font-size:1.3rem}
.cv-db-dates span{min-width:0}
.cv-db-dates b{display:block;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cv-db-dates small{display:block;font-size:.72rem;color:var(--gray)}
.cv-db-share{flex:0 0 auto;border:0;border-radius:18px;padding:0 16px;font:inherit;font-weight:800;font-size:.86rem;color:#fff;background:var(--sunset);box-shadow:var(--shadow)}
.cv-addday{display:block;width:100%;background:none;border:1.5px dashed #e0cfe0;color:var(--gray);border-radius:16px;padding:9px;font:inherit;font-weight:700;font-size:.8rem;margin:0 0 10px}
.v-day-b .cv-row .v-day-edit.cv-dmore{flex:0 0 auto;padding:8px 12px;font-weight:800}
.cv-flash{animation:cvFlash 1.6s ease-out}
@keyframes cvFlash{0%{box-shadow:0 0 0 3px var(--sun2)}100%{box-shadow:0 0 0 0 transparent}}
.cv-impbtn{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 8px;width:100%;margin:0 0 12px;background:#fff;border:1.5px dashed #c9b3e6;color:#4C1D95;border-radius:18px;padding:11px;font:inherit;font-weight:800;font-size:.86rem}
.cv-impbtn small{font-weight:600;color:var(--gray);font-size:.72rem}
.cv-disc-card .dc button.cy{background:#fff;border:1.5px solid #E9D5FF}
.cv-disc-card .dc button.add{background:#4C1D95;color:#fff}
.cv-disc-card .de{font-size:.78rem;color:var(--gray);margin-top:6px}
.cv-imptype{background:#F3EAFF;border-radius:16px;padding:9px 10px;margin:0 0 12px}
.cv-imptype>span{font-weight:800;font-size:.8rem;color:#4C1D95}
.cv-imptype .v-seg{margin-top:6px}
.cv-imptype small{display:block;font-size:.75rem;color:var(--gray);margin-top:5px}
.cv-dup{background:#fff;border-radius:16px;padding:8px 12px;margin:0 0 10px;box-shadow:var(--shadow)}
.cv-dup .nw,.cv-dup .od{font-size:.85rem;padding:5px 0}
.cv-dup .nw+.od,.cv-dup .od+.od{border-top:1px solid #f1e6ea}
.cv-dup small{display:block;color:var(--gray);font-size:.74rem}
.cv-dup em.v-status{font-style:normal;font-size:.75rem;padding:2px 8px;margin-left:4px;pointer-events:none;display:inline-block}
.cv-triph{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--gray);margin:14px 4px 6px}
.cv-triph:first-child{margin-top:4px}
.cv-prefg{margin:4px 0 10px}
.cv-prefg>b{display:block;font-size:.82rem;margin:8px 0 2px;color:var(--ink)}
.cv-pref{padding:5px 0}
.cv-pref.lock{opacity:.55}
.cv-bmc{display:block;text-align:center;text-decoration:none;background:#FFDD00!important;color:#000!important;border:1.5px solid #000!important;font-weight:800}
@font-face{font-family:'Caveat';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/6ea773f758.woff2) format('woff2')}

.cv-actb{position:relative;background:linear-gradient(180deg,#fff,var(--cream));border:1px solid var(--light);border-radius:22px;padding:14px 16px 14px;margin:0 0 12px}
.ac-path{display:flex;align-items:center;gap:0;margin-bottom:10px}.ac-path span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:800;color:var(--gray);border:1.5px solid var(--light);background:#fff;flex:none}
.ac-path i{flex:1;height:1.5px;background:var(--light)}.ac-path .past{background:var(--sun2);border-color:var(--sun2);color:#fff;opacity:.55}.ac-path .on{background:var(--sun2);border-color:var(--sun2);color:#fff;box-shadow:0 0 0 4px rgba(242,85,127,.18)}
.ac-h{display:flex;align-items:center;gap:10px}.ac-n{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--sun2);color:#fff;font-family:'Bodoni Moda',Georgia,serif;font-weight:600;font-size:1.1rem;flex:none;box-shadow:0 4px 12px -4px var(--sun2)}
.ac-h b{font-family:'Bodoni Moda',Georgia,serif;font-style:italic;font-weight:600;font-size:1.45rem;color:var(--ink)}
.ac-s{font-weight:700;margin:8px 0 2px;color:var(--ink)}.ac-d{font-size:.84rem;color:var(--gray);line-height:1.45}
.cv-poem{display:flex;flex-direction:column;align-items:center;gap:2px;margin:26px 0 8px;color:var(--gray);text-align:center}
.cv-poem span{font-family:'Caveat','Bradley Hand','Segoe Print',cursive;font-weight:500;font-size:1.65rem;line-height:1.15;transform:rotate(-3deg);max-width:22ch}
.cv-poem svg{width:60px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;opacity:.7}
.cv-pmap{background:#fff;border:1px solid var(--light);border-radius:20px;padding:12px;margin:0 0 12px}.pm-h{display:flex;flex-direction:column;margin-bottom:8px}.pm-h b{font-family:'Bodoni Moda',Georgia,serif;font-style:italic;font-size:1.15rem}.pm-h small{color:var(--gray);font-size:.78rem}
.pm-m{display:block;width:100%;padding:0;border:0;background:var(--cream);border-radius:14px;overflow:hidden;min-height:60px;cursor:pointer}.pm-m img{display:block;width:100%}
.cv-quick2{display:flex;justify-content:space-between;gap:4px;margin:4px 0 14px}
.cv-quick2 button{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;background:none;border:0;padding:0;font:inherit;color:var(--ink);cursor:pointer}
.cv-quick2 i{font-style:normal;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;font-size:1.3rem;background:#fff;border:1.5px solid var(--light);box-shadow:0 4px 12px -8px rgba(42,18,56,.35);transition:transform .15s}
.cv-quick2 button:active i{transform:scale(.92)}.cv-quick2 span{font-size:.75rem;font-weight:600;color:var(--gray);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.v-btn:not(.sec):not(.danger){background:var(--navy);color:#fff;box-shadow:0 10px 20px -12px var(--navy);letter-spacing:.01em}
.v-btn.sec{background:transparent;color:var(--ink);border:1.5px solid rgba(42,18,56,.16);box-shadow:none}

img.vi{display:inline-block;width:1.3em;height:1.3em;vertical-align:-.28em;object-fit:contain;margin:0 .04em;pointer-events:none;user-select:none}
.hero img.vi,.cv-hero img.vi,.cv-live img.vi,.cv-eve img.vi,.cv-prep2 img.vi,.cv-bhero img.vi,.cv-moment:not(.board) img.vi,#cv-film img.vi,.cv-anniv img.vi,#cv-world img.vi,.bp-h img.vi{filter:drop-shadow(0 0 1px rgba(255,255,255,.95)) drop-shadow(0 0 2px rgba(255,255,255,.6))}
.cv-nav i img.vi{width:24px;height:24px;margin:0;vertical-align:middle;filter:none}.cv-quick2 i img.vi{width:30px;height:30px;vertical-align:middle}
.mo-big img.vi{width:1.15em;height:1.15em}
.cv-anim .fx-i-plane{width:170px}.cv-anim .fx-i-train{width:220px}.cv-anim .fx-i-bus{width:190px}.cv-anim .fx-i-car{width:140px}.cv-anim .fx-i-boat{width:190px}.cv-anim .fx-i-bear{width:96px}.cv-anim .fx-i-bed{width:190px}.cv-anim .fx-i-cloud{width:100px}.cv-anim .fx-i-moon{width:70px}.cv-anim .fx-i-zzz{width:70px}.cv-anim .fx-i-suitcase{width:110px}.cv-anim .fx-i-star{width:34px}.cv-anim .fx-i-ticket,.cv-anim .fx-i-camera{width:130px}
.cv-anim.fx-img .fx-blanket{display:none}

.cv-syncpill{display:inline-flex;align-items:center;gap:4px;border:0;border-radius:999px;padding:6px 10px;background:rgba(255,255,255,.16);color:#fff;font:600 .72rem 'Outfit',system-ui,sans-serif;margin-right:6px;cursor:pointer;backdrop-filter:blur(6px)}
.cv-syncpill small{font-size:.72rem}.cv-socpill{position:relative}.cv-trkpub{display:flex;gap:10px;align-items:center;width:100%;text-align:left;border:1.5px dashed #d8cbe8;background:#fff;border-radius:14px;padding:8px 12px;margin:-4px 0 10px;font:inherit;color:inherit}.cv-trkpub span:last-child{display:flex;flex-direction:column}.cv-trkpub small{color:var(--gray);font-size:.74rem}.cv-trkpub.on{border-style:solid;border-color:#86efac;background:#f0fdf4}.fd-ph span{display:block}.fd-map{background:#fff;border-radius:18px;padding:12px;margin:0 0 14px;box-shadow:0 4px 14px rgba(0,0,0,.06)}.fd-mh{font-weight:800;margin-bottom:8px}.fd-map .lm-l{margin-top:8px}.sh-card .cv-prow{width:100%;text-align:left;justify-content:space-between}.sh-card .cv-row>.v-btn{flex:1;margin:0}.cv-badge{position:absolute;top:-5px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#EC4D6E;color:#fff;font:800 .66rem/18px 'Outfit',system-ui,sans-serif;text-align:center;box-shadow:0 0 0 2px rgba(255,255,255,.85)}.cv-syncpill.wait span{animation:sySpin 1.6s linear infinite;display:inline-block}.cv-syncpill.err{background:rgba(236,77,110,.85)}.cv-syncpill.off{opacity:.75}
@keyframes sySpin{50%{opacity:.35}}
.sy-r{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--light);border-radius:14px;margin-bottom:6px;background:#fff}.sy-r small{color:var(--gray)}
.sh-card{background:#fff;border:1px solid var(--light);border-radius:18px;padding:14px;margin-bottom:10px}.sh-k{font-family:'Bodoni Moda',Georgia,serif;font-style:italic;font-weight:600;font-size:1.2rem}.sh-card p{font-size:.86rem;color:var(--gray);margin:4px 0 10px}
.sh-st{display:flex;gap:14px;margin:0 0 10px;font-size:.92rem}.sh-more summary{cursor:pointer;color:var(--gray);font-weight:600;margin:6px 0 10px}
.sv-so{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--light);background:#fff;border-radius:999px;padding:5px 12px;margin:8px 0 2px;font:inherit;font-size:.82rem;color:var(--ink);cursor:pointer}.sv-so small{color:var(--gray)}
.st-top .st-ed{font-size:.95rem}
.st-edp{position:absolute;z-index:10;left:0;right:0;bottom:0;max-height:82%;background:#16121f;border-radius:24px 24px 0 0;padding:14px 14px calc(env(safe-area-inset-bottom,0px) + 14px);display:flex;flex-direction:column;gap:8px;transform:translateY(100%);transition:transform .35s cubic-bezier(.2,.9,.3,1);touch-action:auto;box-shadow:0 -20px 40px rgba(0,0,0,.5)}
.st-edp.on{transform:none}
.st-edh{display:flex;align-items:center;justify-content:space-between}.st-edh button{border:0;background:rgba(255,255,255,.12);color:#fff;width:34px;height:34px;border-radius:50%}
.st-eds{display:flex;align-items:center;gap:8px;font-weight:800;font-size:.86rem;margin-top:4px}.st-eds small{opacity:.6;font-weight:600}.st-eds span{margin-left:auto;display:flex;gap:4px}
.st-eds span button{border:0;border-radius:99px;background:rgba(255,255,255,.12);color:#fff;font:inherit;font-size:.72rem;padding:4px 9px}
.st-mus{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.st-mus button{flex:0 0 auto;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;font:inherit;font-size:.78rem;border-radius:99px;padding:7px 11px}
.st-mus button.on{background:linear-gradient(135deg,#f43f5e,#a855f7);border-color:transparent}
.st-edg{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:calc((min(100vw,600px) - 43px) / 4);gap:5px;overflow-y:auto;flex:1 1 auto;min-height:120px;-webkit-overflow-scrolling:touch}
.st-edg button{position:relative;border:0;padding:0;height:100%;border-radius:10px;overflow:hidden;background:#2a2335;opacity:.4;transition:opacity .2s}
.st-edg button.on{opacity:1;box-shadow:0 0 0 3px #a855f7 inset}
.st-edg button>img{width:100%;height:100%;object-fit:cover;display:block}
.st-edg button>i{position:absolute;right:5px;top:5px;width:20px;height:20px;border-radius:50%;background:#a855f7;color:#fff;font-style:normal;font-size:.75rem;display:none;place-items:center}
.st-edg button.on>i{display:grid}
.st-edgo{border:0;border-radius:16px;padding:13px;font:inherit;font-weight:800;color:#fff;background:linear-gradient(135deg,#f43f5e,#a855f7)}
.cv-pcb{margin-right:4px}
.pc-lbl{font-weight:800;font-size:.82rem;margin:2px 0 6px}
.pc-pick.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;overflow:visible;max-height:none}
.pc-pick.grid button{flex:none;width:auto;height:auto;aspect-ratio:1}
.pc-more{margin:4px 0 10px}.pc-more summary{cursor:pointer;font-weight:700;font-size:.84rem;padding:6px 0}
/* 🎬 export vidéo */
.vx{position:absolute;inset:0;z-index:20;background:rgba(5,5,15,.88);display:flex;align-items:center;justify-content:center;touch-action:auto}
.vx-in{width:min(86%,360px);display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.vx-pv{width:52%;aspect-ratio:9/16;border-radius:16px;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.6);background:#000}.vx-cv{width:100%;height:100%;display:block}
.vx-bar{width:100%;height:8px;border-radius:99px;background:rgba(255,255,255,.2);overflow:hidden}.vx-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#f43f5e,#a855f7)}
.vx-in small{opacity:.85}.vx-in button{border:0;border-radius:99px;padding:9px 18px;font:inherit;font-weight:800;background:rgba(255,255,255,.14);color:#fff}
/* 🗺️ carte à gratter */
.bb-scr{display:flex;align-items:center;gap:12px;border:0;border-radius:20px;padding:12px 14px;font:inherit;text-align:left;color:#4a3300;background:linear-gradient(120deg,#b8892e,#f6dc9a 40%,#c9993b 70%,#f9e7b4);box-shadow:0 12px 26px -14px rgba(160,110,20,.9);position:relative;overflow:hidden}
.bb-scr>span:first-child{font-size:1.8rem}.bb-scr>span:nth-child(2){flex:1;display:flex;flex-direction:column}.bb-scr small{opacity:.8;font-size:.78rem}.bb-scr i{font-style:normal;font-size:1.3rem;animation:lvPulse 2s infinite}
.scr{position:fixed;inset:0;z-index:9300;background:radial-gradient(120% 70% at 50% 0%,#1e2a5a,#070b1c);color:#fff;overflow-y:auto;opacity:0;transition:opacity .3s;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 24px)}
.scr.on{opacity:1}
.scr-top{display:flex;align-items:center;gap:10px;padding:calc(env(safe-area-inset-top,0px) + 10px) 12px 8px}.scr-top>div{display:flex;flex-direction:column}.scr-top small{opacity:.75;font-size:.8rem}
.scr-top button{width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff}
.scr-map{margin:4px 10px;border-radius:18px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.5)}.scr-map canvas{width:100%;display:block}
.scr-st{display:flex;gap:6px;overflow-x:auto;padding:10px 10px 4px;scrollbar-width:none}
.scr-st span{flex:1 0 auto;min-width:66px;background:rgba(255,255,255,.1);border-radius:14px;padding:8px 6px;text-align:center;display:flex;flex-direction:column;font-size:.75rem;opacity:.95}.scr-st b{font-size:1.15rem}
.scr-h{padding:10px 14px 6px;font-weight:700;font-size:.9rem}
.scr-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:0 10px}
.scr-cd{position:relative;height:104px;border-radius:16px;overflow:hidden;background:linear-gradient(150deg,#fff,#f1f5f9);color:#1f2937;box-shadow:0 8px 20px rgba(0,0,0,.35)}
.scr-cd canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;transition:opacity .8s}
.scr-u{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6px}
.scr-u i{font-style:normal;font-size:2rem;line-height:1}.scr-u b{font-size:.9rem}.scr-u small{font-size:.75rem;color:#6b7280;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scr-cd.ok .scr-u{animation:wlcPop .6s cubic-bezier(.2,1.4,.4,1) both}
/* ⭐ notes */
.rt-c{display:flex;flex-direction:column;gap:4px;border:0;border-radius:20px;padding:12px 14px;font:inherit;text-align:left;background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#78350f;box-shadow:0 10px 22px -14px rgba(180,120,0,.6)}
.rt-c>div{display:flex;flex-direction:column;gap:2px}.rt-c small{font-size:.78rem;opacity:.85}.rt-best{color:#be123c;font-weight:700}
.rt-s i{font-style:normal;color:#e5e7eb;font-size:1rem}.rt-s i.on{color:#f59e0b}.rt-s.big i{font-size:1.25rem}
.rt-r{border:1px solid #f1f5f9;border-radius:16px;padding:10px 12px;margin:0 0 8px;background:#fff}
.rt-h{display:flex;align-items:center;justify-content:space-between;gap:8px}.rt-h>span:first-child{display:flex;flex-direction:column;min-width:0}.rt-h small{color:#6b7280;font-size:.74rem}
.rt-in{display:flex;flex:0 0 auto}.rt-in button{border:0;background:none;font-size:1.55rem;color:#e5e7eb;padding:0 1px;line-height:1;transition:transform .15s}.rt-in button.on{color:#f59e0b}.rt-in button:active{transform:scale(1.3)}
.rt-tx{margin-top:6px!important;font-size:.85rem!important}
.rt-o{display:flex;flex-direction:column;gap:2px;margin-top:6px;font-size:.78rem;color:#6b7280}.rt-o b{color:#374151}
.rt-sec{font-weight:800;font-size:.84rem;margin:12px 2px 6px}
.rt-l{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 2px;border-bottom:1px solid #f1f5f9}.rt-l>span:first-child{display:flex;flex-direction:column;min-width:0}.rt-l small{color:#6b7280;font-size:.74rem}
/* 🎯 défis */
.df{background:linear-gradient(150deg,#fff7ed,#fef3c7);border-radius:22px;padding:12px;margin:0 0 12px;box-shadow:0 10px 24px -16px rgba(180,100,0,.5)}
.df-h{display:flex;justify-content:space-between;align-items:center;padding:0 4px 8px}.df-h small{color:#b45309;font-weight:800}
.df-l{display:flex;flex-direction:column;gap:6px}
.df-c{display:flex;align-items:center;gap:10px;border:0;border-radius:16px;background:#fff;padding:10px 12px;font:inherit;text-align:left;color:#1f2937;position:relative;box-shadow:0 3px 10px rgba(180,100,0,.12);transition:transform .2s}
.df-c:active{transform:scale(.98)}
.df-c>i{font-style:normal;font-size:1.4rem}.df-c>span{flex:1;font-size:.88rem;font-weight:600}.df-c>small{font-size:.75rem;color:#b45309;font-weight:800}
.df-c em{display:flex;gap:2px}.df-c u{text-decoration:none;width:20px;height:20px;border-radius:50%;background:var(--c);color:#fff;font-size:.75rem;font-weight:800;display:grid;place-items:center}
.df-c>b{position:absolute;right:-4px;top:-6px;width:22px;height:22px;border-radius:50%;background:#16a34a;color:#fff;display:grid;place-items:center;font-size:.75rem;animation:wlcPop .5s cubic-bezier(.2,1.4,.4,1) both}
.df-c.ok{background:linear-gradient(135deg,#dcfce7,#fff)}.df-c.ok>span{text-decoration:line-through;text-decoration-color:#16a34a;opacity:.75}
.df-sc{padding:8px 4px 0;font-size:.8rem;color:#92400e}
/* 🎙️ journal vocal */
.vj-b{display:flex;align-items:center;gap:12px;width:100%;border:0;border-radius:20px;padding:12px 14px;margin:0 0 12px;font:inherit;text-align:left;color:#fff;background:linear-gradient(120deg,#0f766e,#0891b2);box-shadow:0 12px 26px -14px rgba(8,145,178,.8)}
.vj-b>span:last-child{display:flex;flex-direction:column}.vj-b small{opacity:.85;font-size:.76rem}
.vj-mic{width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:1.3rem}
.vj{position:fixed;inset:0;z-index:9400;background:radial-gradient(120% 80% at 50% 20%,#155e75,#0b1324);color:#fff;display:flex;flex-direction:column;align-items:center;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px calc(env(safe-area-inset-bottom,0px) + 16px);opacity:0;transition:opacity .3s}
.vj.on{opacity:1}
.vj-top{display:flex;justify-content:space-between;align-items:center;width:100%}.vj-top button{border:0;background:rgba(255,255,255,.14);color:#fff;width:38px;height:38px;border-radius:50%}
.vj-orb{position:relative;width:150px;height:150px;margin:30px 0 14px;display:grid;place-items:center;cursor:pointer}
.vj-orb i{position:relative;z-index:2;width:110px;height:110px;border-radius:50%;background:linear-gradient(135deg,#22d3ee,#0ea5e9);display:grid;place-items:center;font-style:normal;font-size:2.6rem;box-shadow:0 14px 40px rgba(34,211,238,.5)}
.vj-orb span{position:absolute;inset:20px;border-radius:50%;border:2px solid rgba(34,211,238,.6);opacity:0}
.vj-orb.on span{animation:vjWave 1.8s ease-out infinite}.vj-orb.on span:nth-child(2){animation-delay:.6s}.vj-orb.on span:nth-child(3){animation-delay:1.2s}
.vj-orb.on i{background:linear-gradient(135deg,#f43f5e,#fb7185);box-shadow:0 14px 40px rgba(244,63,94,.6)}
@keyframes vjWave{0%{transform:scale(.8);opacity:.9}100%{transform:scale(1.6);opacity:0}}
.vj-st{font-weight:700;opacity:.9;margin-bottom:12px;text-align:center}
.vj-tx{flex:1;width:100%;border:0;border-radius:18px;padding:14px;font:inherit;font-size:1.05rem;line-height:1.4;background:rgba(255,255,255,.95);color:#1f2937;resize:none}
.vj-b2{display:flex;gap:8px;width:100%;margin-top:12px}.vj-b2 button{flex:1;border:0;border-radius:16px;padding:13px;font:inherit;font-weight:800;background:rgba(255,255,255,.14);color:#fff}.vj-b2 .pri{background:#fff;color:#0f766e}
/* 📴 hors ligne */
.off-b{display:block;width:100%;border:0;border-radius:14px;padding:9px 12px;margin:0 0 10px;font:inherit;font-size:.8rem;font-weight:700;text-align:left;background:#eef2ff;color:#3730a3}
.off-b.ok{background:#ecfdf5;color:#047857}
.off-b.on{background:linear-gradient(135deg,#1f2937,#374151);color:#fff;display:flex;flex-direction:column;gap:4px}.off-b.on small{opacity:.8;font-weight:500}
.off-b.on div{display:flex;gap:6px;margin-top:4px}.off-b.on div button{border:0;border-radius:99px;padding:6px 11px;font:inherit;font-weight:800;font-size:.78rem;background:#fff;color:#1f2937}
/* 🗣️ langue et monnaie */
.lg{display:grid;gap:8px;margin:0 0 12px}
.sg-c{display:flex;align-items:center;gap:12px;width:100%;text-align:left;margin:0 0 12px;padding:12px 14px;border-radius:16px;border:1.5px dashed #f5c26b;background:#fffbeb;color:#78350f;font:inherit;cursor:pointer}
.sg-c>i{font-style:normal;font-size:1.5rem;flex:none}.sg-c>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sg-c b{font-size:.92rem}.sg-c small{font-size:.76rem;opacity:.85}
.sg-c .sg-go{flex:none;font-weight:800;font-size:.8rem;color:#b45309}.sg-c.run{cursor:default}.sg-c.run>i{animation:sgP 1.2s ease-in-out infinite}
@keyframes sgP{50%{transform:scale(1.15);opacity:.6}}
.sg-d{margin:0 0 12px}.sg-dh{font-weight:800;font-size:.78rem;color:#6b7280;margin:0 0 6px;text-transform:uppercase;letter-spacing:.04em}
.sg-r{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:#f8fafc;margin:0 0 6px}
.sg-r .sg-i{flex:none}.sg-r .sg-n{flex:1;min-width:0;font-weight:600;font-size:.88rem;overflow-wrap:anywhere;cursor:pointer}
.sg-r button{flex:none;width:34px;height:34px;border-radius:50%;border:0;font:inherit;font-weight:800;cursor:pointer}
.sg-ok{background:#dcfce7;color:#166534}
.ex-r .sg-n{display:flex;flex-direction:column;align-items:flex-start}.ex-t{font-size:.72rem;color:#6b7280;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.ex-ln{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.ex-ln a{font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:999px;background:#eef2ff;color:#3730a3;text-decoration:none}
.v-day-x{display:flex;flex-direction:column;gap:4px;margin:0 0 8px;font-size:.8rem}.v-hol{background:#fef3c7;color:#92400e;border-radius:10px;padding:6px 9px}.v-sun{color:#6b7280;font-weight:600}.ar-hol{margin-top:6px;font-size:.8rem;opacity:.9}
.ar-hood{margin:-2px 0 10px 12px;padding:8px 10px;border-left:3px solid rgba(255,255,255,.35);font-size:.8rem;line-height:1.45;display:flex;flex-direction:column;gap:4px}.ar-hood .ex-ln a{background:rgba(255,255,255,.16);color:#fff}
.ar-go.ex-go{background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff}.sg-no{background:#fee2e2;color:#991b1b}
.cv-plk.sg{color:#b45309}
.sg-r .sg-n{display:flex;flex-direction:column}.sg-x{font-weight:600;font-size:.72rem;color:#0f766e}
#wz-ctry .sg-c{margin:0 0 10px}.wz-sg{margin:12px 0;padding:12px;border-radius:14px;background:#fffbeb;border:1.5px dashed #f5c26b;font-weight:700;color:#78350f}
.wz-w{margin:8px 0 0;padding:9px 11px;border-radius:12px;background:#fff7ed;color:#9a3412;font-weight:700;font-size:.8rem;line-height:1.35}
.wz-seas{display:grid;gap:6px;margin-top:10px}.wz-sl b{display:block;font-size:.78rem;margin:0 0 2px}.wz-sl .wz-sea{margin:0}
.wz-run{margin-top:8px;background:#eef2ff!important;color:#3730a3}
.wz-sea{margin:-4px 0 10px;padding:8px 10px;border-radius:12px;background:#eff6ff;color:#1e3a8a;font-weight:600;font-size:.8rem}.wz-sea.bad{background:#fff7ed;color:#9a3412}.wz-sea small{font-weight:500;opacity:.7}
.wz-ok{margin:0 0 10px;padding:8px 10px;border-radius:12px;background:#ecfdf5;color:#065f46;font-weight:600}
.lg-lk,.cd-lk,.wlc-lk{display:block;margin-top:10px;font-size:.8rem;font-weight:700;text-decoration:none;color:#4f46e5}
.cd-lk{color:#0f766e;padding:8px 4px 2px;border-top:1px solid #f1f5f9}.wlc-lk{color:#fde68a;margin:6px 0 0;animation:wlcUp .6s .8s both}.lv-more{margin-top:14px}
.lg-p,.lg-fx{background:#fff;border-radius:20px;padding:12px 14px;box-shadow:0 8px 20px -14px rgba(0,0,0,.35)}
.lg-p{background:linear-gradient(150deg,#eef2ff,#fff)}
.lg-k{font-size:.72rem;font-weight:800;color:#4f46e5;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.lg-w{display:flex;align-items:center;gap:8px}.lg-w b{flex:1;font-size:1.3rem;line-height:1.2}.lg-w button{border:0;border-radius:50%;width:40px;height:40px;background:#4f46e5;color:#fff;font-size:1.05rem}
.lg-p>small{color:#6b7280}
.lg-all{display:block;margin-top:8px;border:0;background:none;color:#4f46e5;font:inherit;font-weight:800;font-size:.8rem;padding:0}
.lg-r{font-size:.86rem;margin-bottom:8px}
.lg-cv{display:flex;align-items:center;gap:8px}.lg-cv input{flex:0 0 110px;margin:0}.lg-cv span{font-weight:800;color:#6b7280}.lg-cv b{flex:1;text-align:right;font-size:1.1rem}
.lg-tab{display:flex;flex-direction:column;gap:6px}
.lg-tab button{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:10px;border:0;border-radius:14px;background:#f8fafc;padding:10px 12px;font:inherit;text-align:left}
.lg-tab small{grid-column:1;color:#6b7280;font-size:.74rem}.lg-tab b{grid-column:1;font-size:1rem}.lg-tab i{grid-column:2;grid-row:1/3;align-self:center;font-style:normal;font-size:1.2rem}
/* ⏳ compte à rebours */
.cd{position:relative;border-radius:26px;overflow:hidden;margin:0 0 12px;color:#fff;background:linear-gradient(140deg,#1e3a8a,#7c3aed 55%,#db2777);box-shadow:0 18px 40px -18px rgba(60,20,120,.7);isolation:isolate}
.cd-bg{position:absolute;inset:-4%;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s;z-index:0}.cd-bg.ok{opacity:1;animation:wlcZoom 18s ease-out forwards}
.cd-sh{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,10,40,.35),rgba(10,10,40,.15) 35%,rgba(10,10,40,.85))}
.cd>*:not(.cd-bg):not(.cd-sh){position:relative;z-index:2}
.cd-top{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 0;font-weight:800;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
.cd-wx{background:rgba(0,0,0,.3);border-radius:99px;padding:4px 10px;text-transform:none;letter-spacing:0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.cd-wx:empty{display:none}
.cd-j{padding:4px 16px 0;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.cd-j b{font-family:var(--serif,Georgia,serif);font-size:4.2rem;line-height:1;letter-spacing:-.03em;text-shadow:0 4px 20px rgba(0,0,0,.4);animation:wlcPop .8s cubic-bezier(.2,1.4,.4,1) both}
.cd-dest{font-size:1.3rem;font-weight:800;text-shadow:0 2px 10px rgba(0,0,0,.5)}
.cd-clock{display:flex;gap:8px;padding:10px 16px 0}
.cd-clock span{flex:1;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:6px 4px;text-align:center;display:flex;flex-direction:column;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.cd-clock b{font-size:1.35rem;font-variant-numeric:tabular-nums;line-height:1.1}.cd-clock small{font-size:.75rem;opacity:.85}
.cd-todo{margin:12px 10px 10px;background:rgba(255,255,255,.95);color:#1f2937;border-radius:18px;padding:10px 10px 8px}
.cd-th{display:flex;align-items:center;justify-content:space-between;padding:0 4px 6px}.cd-th b{font-size:.9rem}
.cd-th button{border:0;border-radius:99px;background:#f1f5f9;font:inherit;font-size:.74rem;font-weight:800;padding:5px 10px;color:#334155}
.cd-t{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;font:inherit;text-align:left;padding:7px 4px;border-top:1px solid #f1f5f9;color:inherit}
.cd-t i{font-style:normal;width:22px;text-align:center}.cd-t span{flex:1;font-size:.84rem;line-height:1.25}.cd-t.ok span{text-decoration:line-through;opacity:.55}.cd-t.bad span{color:#b45309;font-weight:700}
.cd-todo small{display:block;text-align:center;color:#94a3b8;font-size:.72rem;padding-top:4px}
/* 🗳️ votes */
.cv-poll.kind{border:2px solid #c4b5fd;background:linear-gradient(160deg,#faf5ff,#fff)}
.po-k{font-size:.72rem;font-weight:800;color:#7c3aed;margin-bottom:4px}
.po-add{width:100%;margin-top:8px;border:0;border-radius:14px;padding:10px;font:inherit;font-weight:800;color:#fff;background:linear-gradient(135deg,#7c3aed,#db2777)}
.po-win{margin-top:8px;font-weight:800;color:#15803d;font-size:.86rem}
.po-fx{position:fixed;z-index:9500}
/* 🧳 valise de chacun */
.ck-me{background:linear-gradient(135deg,#ecfeff,#f0fdf4);border-radius:14px;padding:9px 12px;margin:0 0 8px;font-size:.88rem}
.ck-who{display:flex;gap:3px;margin-top:3px}.ck-who i{width:20px;height:20px;border-radius:50%;font-style:normal;font-size:.62rem;font-weight:800;display:grid;place-items:center;background:#e5e7eb;color:#6b7280}
.ck-who i.on{background:var(--c);color:#fff}
.ck-each{border:0;background:#f1f5f9;border-radius:10px;width:32px;height:30px;font-size:.85rem;opacity:.45;margin-left:4px}.ck-each.on{opacity:1;background:#ede9fe}
.v-cl.each .t{display:flex;flex-direction:column}
/* 🏁 voyage fini */
.st-home{font-size:3.4rem;animation:wlcPop .7s cubic-bezier(.2,1.4,.4,1) both}
.st-fl{font-size:1.6rem;letter-spacing:.1em;animation:wlcUp .6s .6s both}
.st-chap h2{font-family:var(--serif,Georgia,serif);font-size:clamp(2.4rem,12vw,3.8rem);margin:8px 0;animation:wlcUp .6s .1s both}.st-chap p{animation:wlcUp .6s .3s both}
.st-pod{display:flex;align-items:flex-end;justify-content:center;gap:8px;margin-top:20px;width:100%}
.st-pd{display:flex;flex-direction:column;align-items:center;gap:6px;animation:wlcPop .7s cubic-bezier(.2,1.4,.4,1) calc(.2s + var(--i) * .25s) both}
.st-pd>img{width:23vw;max-width:140px;aspect-ratio:3/4;object-fit:cover;border-radius:14px;border:3px solid #fff;box-shadow:0 14px 30px rgba(0,0,0,.45)}
.st-pd.p0{order:2}.st-pd.p0>img{width:30vw;max-width:180px}.st-pd.p1{order:1}.st-pd.p2{order:3}
.st-pd b{background:rgba(255,255,255,.95);color:#be123c;border-radius:99px;padding:3px 10px;font-size:.85rem}
.st-cup{font-size:5rem;line-height:1;margin:14px 0 4px;animation:stCup 1.2s cubic-bezier(.2,1.4,.4,1) both;filter:drop-shadow(0 10px 24px rgba(250,204,21,.6))}
@keyframes stCup{0%{transform:scale(0) rotate(-30deg)}60%{transform:scale(1.2) rotate(8deg)}100%{transform:none}}
.st-trophy h2{font-family:var(--serif,Georgia,serif);font-size:2.3rem;margin:4px 0;animation:wlcUp .6s .5s both}.st-trophy p{opacity:.9;animation:wlcUp .6s .7s both}
.st-mini{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:16px;animation:wlcUp .6s .9s both}.st-mini span{background:rgba(255,255,255,.14);border-radius:99px;padding:5px 11px;font-size:.82rem}
.bb{margin:0 0 12px;display:flex;flex-direction:column;gap:10px}
.bb-story{display:flex;align-items:center;gap:14px;border:0;border-radius:22px;padding:14px 16px;font:inherit;text-align:left;color:#fff;background:linear-gradient(120deg,#1e1b4b,#7c3aed 55%,#db2777);box-shadow:0 14px 30px -14px rgba(124,58,237,.8);position:relative;overflow:hidden}
.bb-story::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.22) 50%,transparent 70%);transform:translateX(-100%);animation:lvShine 4s ease-in-out infinite}
.bb-pl{width:46px;height:46px;flex:0 0 46px;border-radius:50%;background:#fff;color:#7c3aed;display:grid;place-items:center;font-size:1.2rem;padding-left:3px;animation:lvPulse 2s ease-out infinite}
.bb-story span{display:flex;flex-direction:column}.bb-story small{opacity:.85;font-size:.78rem}
.bb-tro{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px}
.bb-t{flex:0 0 auto;min-width:118px;background:linear-gradient(160deg,#fff7d6,#fde68a);border-radius:18px;padding:10px 12px;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 8px 18px -10px rgba(180,120,0,.6);animation:wlcPop .6s cubic-bezier(.2,1.4,.4,1) calc(var(--i) * .12s) both;color:#4a3300}
.bb-t i{font-style:normal;font-size:1.7rem}.bb-t b{font-size:.9rem}.bb-t small{font-size:.72rem;opacity:.8}
.bb-map{background:#0f172a;border-radius:20px;overflow:hidden;color:#fff}
.bb-mh{display:flex;align-items:center;justify-content:space-between;padding:10px 12px}.bb-mh button{border:0;border-radius:99px;padding:6px 11px;font:inherit;font-weight:800;font-size:.78rem;background:#fff;color:#0f172a}
.bb-mm img{width:100%;display:block;animation:stReveal 2.4s cubic-bezier(.4,0,.2,1) both}
.bb-sec{padding:2px 4px}
.bb-top{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:84px;gap:6px}
.bb-ph{position:relative;border:0;padding:0;border-radius:14px;overflow:hidden;background:#eee;animation:wlcPop .6s cubic-bezier(.2,1.4,.4,1) calc(var(--i) * .1s) both}
.bb-ph.big{grid-column:span 2;grid-row:span 2}.bb-ph>img{width:100%;height:100%;object-fit:cover;display:block}
.bb-ph b{position:absolute;left:6px;bottom:6px;background:rgba(255,255,255,.94);color:#be123c;border-radius:99px;font-size:.75rem;padding:2px 7px}
.bb-best{display:flex;gap:12px;align-items:center;background:linear-gradient(135deg,#fff1f2,#ffe4e6);border-radius:20px;padding:12px}
.bb-bi{position:relative;width:86px;height:96px;flex:0 0 86px}.bb-bi img{position:absolute;width:62px;height:80px;object-fit:cover;border-radius:10px;border:3px solid #fff;box-shadow:0 6px 14px rgba(0,0,0,.25);left:calc(var(--i) * 11px);top:calc(var(--i) * 6px);transform:rotate(calc((var(--i) - 1) * 7deg))}
.bb-bt{display:flex;flex-direction:column;gap:2px;min-width:0}.bb-bt small{color:#be123c;font-weight:800;font-size:.72rem}.bb-bt b{font-size:1.05rem}.bb-bt span{font-size:.8rem;color:#6b7280}
.bb-bt button{align-self:flex-start;margin-top:6px;border:0;border-radius:99px;padding:6px 12px;font:inherit;font-weight:800;font-size:.8rem;color:#fff;background:linear-gradient(135deg,#f43f5e,#a855f7)}
.bb-grow .cv-bbar i{animation:bbGrow 1.2s cubic-bezier(.2,.9,.3,1) both;transform-origin:left}
@keyframes bbGrow{from{transform:scaleX(0)}to{transform:none}}
.wlc.an1 .an-ph{position:relative;height:150px;margin-bottom:14px}
.wlc.an1 .an-ph img{position:absolute;width:110px;height:140px;object-fit:cover;border-radius:12px;border:4px solid #fff;box-shadow:0 12px 26px rgba(0,0,0,.45);left:calc(var(--i) * 52px);transform:rotate(calc((var(--i) - 1.5) * 8deg));animation:wlcPop .7s cubic-bezier(.2,1.4,.4,1) calc(var(--i) * .15s) both}
/* 🎞️ studio souvenirs */
.sto{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 12px}
.sto-b{border:0;border-radius:18px;padding:12px 8px;color:#fff;font:inherit;display:flex;flex-direction:column;align-items:center;gap:2px;box-shadow:0 10px 22px -10px rgba(0,0,0,.45);position:relative;overflow:hidden}
.sto-b i{font-style:normal;font-size:1.5rem;line-height:1.1}.sto-b b{font-size:.86rem}.sto-b small{font-size:.75rem;opacity:.85}
.sto-b.s1{background:linear-gradient(135deg,#f43f5e,#a855f7)}.sto-b.s2{background:linear-gradient(135deg,#0ea5e9,#14b8a6)}.sto-b.s3{background:linear-gradient(135deg,#f59e0b,#ef4444)}
.sto-b::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.25) 50%,transparent 70%);transform:translateX(-100%);animation:lvShine 4.5s ease-in-out infinite}
.st-dbtn{margin-left:auto;border:0;border-radius:99px;background:linear-gradient(135deg,#f43f5e,#a855f7);color:#fff;font:inherit;font-size:.75rem;font-weight:800;padding:4px 10px}
.cv-souv-grp{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.st-today{display:flex;align-items:center;gap:14px;width:100%;border:0;border-radius:20px;padding:12px 14px;margin:0 0 12px;font:inherit;text-align:left;color:#fff;background:linear-gradient(120deg,#be185d,#7c3aed);box-shadow:0 12px 26px -12px rgba(124,58,237,.7)}
.st-today .tx{display:flex;flex-direction:column}.st-today small{opacity:.85;font-size:.76rem}
.st-stack{position:relative;width:64px;height:52px;flex:0 0 64px}
.st-stack>img,.st-stack>i{position:absolute;width:42px;height:52px;border-radius:9px;border:2px solid #fff;object-fit:cover;left:calc(var(--i,0) * 7px);transform:rotate(calc((var(--i,0) - 1.5) * 6deg));box-shadow:0 4px 10px rgba(0,0,0,.3);font-style:normal;display:grid;place-items:center;background:#fff}
/* lecteur story */
.st{position:fixed;inset:0;z-index:9400;background:#000;color:#fff;overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:none}
.st-bars{position:absolute;z-index:5;top:calc(env(safe-area-inset-top,0px) + 8px);left:8px;right:8px;display:flex;gap:4px}
.st-bars i{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.35);overflow:hidden}.st-bars b{display:block;height:100%;width:0;background:#fff}
.st-top{position:absolute;z-index:5;top:calc(env(safe-area-inset-top,0px) + 18px);left:12px;right:8px;display:flex;align-items:center;gap:8px;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.st-top>div{flex:1;min-width:0;display:flex;flex-direction:column}.st-top b{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.st-top small{font-size:.74rem;opacity:.85}
.st-top button{border:0;background:rgba(0,0,0,.3);color:#fff;width:38px;height:38px;border-radius:50%;font-size:1rem}
.st-stage,.st-sl{position:absolute;inset:0}
.st-sl{opacity:0;transition:opacity .6s ease}.st-sl.in{opacity:1}.st-sl.out{opacity:0}
.st-tap{position:absolute;z-index:4;top:70px;bottom:120px;width:40%}.st-tap.l{left:0}.st-tap.r{right:0;width:60%}
.st-bg{position:absolute;inset:-6%;background-size:cover;background-position:center}
.st-blur{position:absolute;inset:-10%;background-size:cover;background-position:center;filter:blur(30px) brightness(.6);transform:scale(1.2)}
.st-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.st-grad{background:radial-gradient(120% 90% at 20% 10%,#7c3aed,#be185d 50%,#0f172a)}.st-grad.g2{background:radial-gradient(120% 90% at 80% 10%,#0ea5e9,#4f46e5 50%,#0f172a)}.st-grad.g3{background:radial-gradient(120% 90% at 50% 0%,#14b8a6,#0f766e 45%,#0b1220)}.st-grad.g4{background:radial-gradient(120% 90% at 20% 90%,#f59e0b,#be123c 55%,#1e1b4b)}.st-grad.g5{background:radial-gradient(120% 90% at 50% 20%,#fb7185,#9d174d 55%,#1e1b4b)}.st-grad.g6{background:radial-gradient(120% 90% at 50% 100%,#f59e0b,#7c3aed 50%,#0f172a)}
.st-bg.kb1,.st-img.kb1{animation:kb1 7s ease-out forwards}.st-bg.kb2,.st-img.kb2{animation:kb2 7s ease-out forwards}.st-bg.kb3,.st-img.kb3{animation:kb3 7s ease-out forwards}.st-bg.kb4,.st-img.kb4{animation:kb4 7s ease-out forwards}
@keyframes kb1{from{transform:scale(1.15) translate(2%,1%)}to{transform:scale(1) translate(0,0)}}
@keyframes kb2{from{transform:scale(1) translate(0,0)}to{transform:scale(1.14) translate(-2%,-1%)}}
@keyframes kb3{from{transform:scale(1.12) translate(-2%,2%)}to{transform:scale(1.02) translate(1%,0)}}
@keyframes kb4{from{transform:scale(1.02)}to{transform:scale(1.16) translate(1%,2%)}}
.st.paused .st-bg,.st.paused .st-img{animation-play-state:paused}
.st-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,0) 25%,rgba(0,0,0,0) 55%,rgba(0,0,0,.7))}.st-shade.b{background:linear-gradient(180deg,rgba(0,0,0,.4),rgba(0,0,0,0) 22%,rgba(0,0,0,0) 60%,rgba(0,0,0,.75))}
.st-c{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:90px 26px 60px}
.st-c>small{text-transform:uppercase;letter-spacing:.2em;font-weight:800;font-size:.75rem;opacity:.85;animation:wlcUp .6s .1s both}
.st-intro{justify-content:flex-end;align-items:flex-start;text-align:left;padding-bottom:70px}
.st-intro h2,.st-end h2{font-family:var(--serif,Georgia,serif);font-size:clamp(2.2rem,11vw,3.6rem);line-height:1.02;margin:6px 0;animation:wlcUp .7s .2s both}
.st-intro p{margin:2px 0;font-size:1.05rem;animation:wlcUp .6s .45s both}.st-tt{opacity:.85}
.st-ns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 6px;width:100%;max-width:360px}
.st-n{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:14px 8px;display:flex;flex-direction:column;align-items:center;animation:wlcPop .6s cubic-bezier(.2,1.4,.4,1) both}
.st-n:nth-child(2){animation-delay:.15s}.st-n:nth-child(3){animation-delay:.3s}.st-n:nth-child(4){animation-delay:.45s}
.st-n i{font-style:normal;font-size:1.6rem}.st-n b{font-size:2.3rem;font-variant-numeric:tabular-nums;line-height:1.1}.st-n small{opacity:.8;font-size:.78rem}
.st-pl{margin-top:14px;font-weight:700;opacity:.9;animation:wlcUp .6s .7s both}
.st-mimg{width:100%;max-width:380px;margin-top:14px;border-radius:22px;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.5);animation:stReveal 2.4s cubic-bezier(.4,0,.2,1) .2s both}
.st-mimg img{width:100%;display:block}
@keyframes stReveal{from{clip-path:inset(0 100% 0 0 round 22px);transform:scale(.96)}to{clip-path:inset(0 0 0 0 round 22px);transform:none}}
.st-cap{position:absolute;left:18px;right:18px;bottom:calc(env(safe-area-inset-bottom,0px) + 34px);text-shadow:0 2px 10px rgba(0,0,0,.6);animation:wlcUp .6s .3s both}
.st-cap b{display:block;font-family:var(--serif,Georgia,serif);font-size:1.9rem;line-height:1.05}.st-cap small{display:block;font-size:.85rem;opacity:.92;margin-top:3px}.st-cap p{margin:8px 0 0;font-size:.95rem;line-height:1.35;opacity:.95}
.st-txt b{font-family:var(--serif,Georgia,serif);font-size:2rem;animation:wlcUp .6s .1s both}.st-txt p{font-family:'Caveat',cursive;font-size:1.7rem;line-height:1.25;margin:16px 0;animation:wlcUp .7s .35s both}.st-txt small{opacity:.85}
.st-hearts{position:relative;height:90px;width:100%}
.st-hearts i{position:absolute;left:calc(10% + var(--i) * 7%);bottom:0;font-style:normal;font-size:1.8rem;animation:stHeart 2.6s ease-out calc(var(--i) * .12s) infinite}
@keyframes stHeart{0%{transform:translateY(20px) scale(.4);opacity:0}25%{opacity:1}100%{transform:translateY(-70px) scale(1.1);opacity:0}}
.st-rx h3{font-size:2rem;margin:4px 0 6px}.st-rx p{opacity:.85;margin:0 0 12px}
.st-cm{background:rgba(255,255,255,.95);color:#1f2937;border-radius:18px 18px 18px 4px;padding:9px 13px;margin:6px 0;max-width:320px;text-align:left;display:flex;flex-direction:column;animation:wlcUp .5s calc(.5s + var(--i) * .35s) both}
.st-cm b{font-size:.78rem;color:#7c3aed}.st-cm span{font-size:.92rem}
.st-eb{display:flex;flex-direction:column;gap:8px;width:100%;max-width:320px;margin-top:22px;position:relative;z-index:6;animation:wlcUp .6s .5s both}
.st-eb button{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff;font:inherit;font-weight:800;border-radius:16px;padding:12px}
.st-end{z-index:6}
/* 🧱 mur de photos */
#cv-wall{position:fixed;inset:0;z-index:1900;background:#0f0c14;color:#fff;display:flex;flex-direction:column;opacity:0;transition:opacity .35s}
#cv-wall.on{opacity:1}
.wl-top{display:flex;align-items:center;gap:10px;padding:calc(env(safe-area-inset-top,0px) + 10px) 12px 10px}
.wl-top>div{flex:1;min-width:0;display:flex;flex-direction:column}.wl-top b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wl-top small{opacity:.7;font-size:.78rem}
.wl-x{width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff}
.wl-play{border:0;border-radius:99px;padding:9px 14px;font:inherit;font-weight:800;color:#fff;background:linear-gradient(135deg,#f43f5e,#a855f7)}
.wl-chips{display:flex;gap:6px;overflow-x:auto;padding:0 12px 8px;scrollbar-width:none}
.wl-chips button{flex:0 0 auto;display:flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;font:inherit;font-size:.8rem;border-radius:99px;padding:6px 11px}
.wl-chips button.on{background:#fff;color:#111}.wl-chips i{width:9px;height:9px;border-radius:50%;background:var(--c)}
.wl-body{flex:1;overflow-y:auto;padding:0 8px calc(env(safe-area-inset-bottom,0px) + 20px);-webkit-overflow-scrolling:touch}
.wl-body h3{position:sticky;top:0;z-index:2;margin:0;padding:12px 6px 8px;background:linear-gradient(180deg,#0f0c14 70%,rgba(15,12,20,0));display:flex;align-items:baseline;gap:8px;font-size:1rem}
.wl-body h3 small{opacity:.6;font-weight:400;font-size:.76rem;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wl-body h3 button{border:0;border-radius:99px;background:rgba(255,255,255,.14);color:#fff;font:inherit;font-size:.75rem;padding:4px 10px}
.wl-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:118px;grid-auto-flow:dense;gap:6px;margin-bottom:10px}
@media (min-width:700px){.wl-grid{grid-template-columns:repeat(5,1fr);grid-auto-rows:150px}}
.wl-i{border:0;padding:0;border-radius:12px;overflow:hidden;background:#221c2a;opacity:0;transform:scale(.86) rotate(var(--r,0deg));transition:opacity .5s ease,transform .6s cubic-bezier(.2,1.3,.4,1)}
.wl-i.in{opacity:1;transform:none}.wl-i.w2{grid-column:span 2;grid-row:span 2}.wl-i.w3{grid-column:1/-1;grid-row:span 2}.wl-i.t2{grid-row:span 2}
.wl-i img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}.wl-i:active img{transform:scale(1.06)}
/* 💌 carte postale */
.pc-pick{display:flex;gap:6px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none}
.pc-pick button{flex:0 0 74px;height:74px;border:3px solid transparent;border-radius:12px;padding:0;overflow:hidden;background:#eee}
.pc-pick button.on{border-color:#ef4444}.pc-pick img{width:100%;height:100%;object-fit:cover}
.pc{position:fixed;inset:0;z-index:9400;background:radial-gradient(120% 90% at 50% 0%,#fde7c7,#e9d5b5 50%,#b9a27e);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:20px;opacity:0;transition:opacity .4s}
.pc.on{opacity:1}
.pc-scene{perspective:1400px;width:min(92vw,560px);aspect-ratio:3/2;animation:pcIn 1s cubic-bezier(.2,1.2,.3,1) both}
@keyframes pcIn{from{transform:translateY(-60vh) rotate(-18deg) scale(.7)}to{transform:none}}
.pc-card{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform 1.1s cubic-bezier(.4,.2,.2,1);cursor:pointer}
.pc-card.flip{transform:rotateY(180deg)}
.pc-f,.pc-b{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:10px;box-shadow:0 26px 50px -18px rgba(60,40,10,.6);overflow:hidden}
.pc-f{background:#fff;padding:3.5%}.pc-f img{width:100%;height:100%;object-fit:cover;display:block;border-radius:3px}
.pc-big{position:absolute;left:7%;bottom:9%;right:7%;color:#fff;text-shadow:0 3px 14px rgba(0,0,0,.6)}
.pc-big small{display:block;font-family:'Caveat',cursive;font-size:clamp(1.2rem,5vw,1.9rem)}.pc-big b{display:block;font-family:Georgia,serif;font-weight:900;font-size:clamp(2rem,11vw,4rem);line-height:.95;text-transform:uppercase;letter-spacing:.02em;word-break:break-word}
.pc-b{transform:rotateY(180deg);background:#fbf6ec;display:flex;padding:5%;gap:4%}
.pc-msg{flex:1.5;font-family:'Caveat',cursive;font-size:clamp(1.05rem,4.4vw,1.6rem);line-height:1.15;color:#2b2440;border-right:2px solid #e2d6c2;padding-right:4%;overflow:hidden;display:flex;flex-direction:column}
.pc-msg em{margin-top:auto;font-style:normal;font-weight:700}
.pc-r{flex:1;position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:6%}
.pc-stamp{width:34%;aspect-ratio:3/4;border:3px dashed #c62828;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;transform:rotate(4deg)}
.pc-stamp span{font-size:clamp(1.4rem,6vw,2.4rem)}.pc-stamp small{font-size:.4rem;font-weight:800;color:#c62828;letter-spacing:0}
.pc-post{position:absolute;right:28%;top:6%;width:44%;aspect-ratio:1;transform:rotate(-14deg);display:flex;align-items:center;justify-content:center;color:rgba(40,40,80,.75)}
.pc-post svg{position:absolute;inset:0;fill:none;stroke:rgba(40,40,80,.5);stroke-width:3}.pc-post span{position:relative;font-size:.5rem;font-weight:800;text-align:center;background:#fbf6ec;padding:0 2px;max-width:80%}
.pc-to{margin-top:auto;width:100%;font-family:'Caveat',cursive;font-size:clamp(1rem,4vw,1.4rem);color:#2b2440;border-bottom:2px solid #e2d6c2}
.pc-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;animation:wlcUp .6s 1s both}
.pc-btns button{border:0;border-radius:99px;padding:11px 16px;font:inherit;font-weight:800;background:rgba(255,255,255,.85);color:#3b2a14;box-shadow:0 6px 16px rgba(60,40,10,.2)}
.pc-btns button.pri{background:#c62828;color:#fff}
@media (prefers-reduced-motion:reduce){.st-bg,.st-img,.st-hearts i,.sto-b::after{animation:none!important}}
/* 📍 Aujourd’hui vivant */
.ln{position:relative;border-radius:24px;overflow:hidden;margin:0 0 12px;min-height:390px;background:linear-gradient(150deg,#0b3a44,#123b6b 60%,#3b1d5c);color:#fff;box-shadow:0 18px 40px -18px rgba(7,40,60,.7);isolation:isolate}
.ln.nomap{min-height:250px}
.ln-map{position:absolute;inset:0;z-index:0;cursor:pointer}.ln-box{position:absolute;inset:0}
.ln-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(5,15,30,.55) 0%,rgba(5,15,30,0) 28%,rgba(5,15,30,0) 45%,rgba(5,15,30,.82) 78%,rgba(5,15,30,.92) 100%)}
.ln-top{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:12px 14px 0;pointer-events:none}
.ln-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(0,0,0,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:5px 10px;border-radius:99px;font-size:.75rem;font-weight:800;letter-spacing:.08em;color:#4ade80}
.ln-badge i{width:8px;height:8px;border-radius:50%;background:#4ade80;animation:lvPulse 1.6s ease-out infinite}
.ln-wx{background:rgba(0,0,0,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:5px 10px;border-radius:99px;font-weight:800;font-size:.9rem}.ln-wx:empty{display:none}
.ln-place{position:relative;z-index:2;padding:8px 16px 0;pointer-events:none;text-shadow:0 2px 12px rgba(0,0,0,.55)}
.ln-place b{display:block;font-family:var(--serif,Georgia,serif);font-size:2.1rem;line-height:1.05;letter-spacing:-.01em}
.ln-place small{opacity:.9;font-size:.82rem}
.ln-go{position:absolute;z-index:2;right:12px;top:12px;margin-top:44px;border:0;border-radius:99px;padding:7px 12px;background:rgba(255,255,255,.92);color:#0b3a44;font:inherit;font-weight:800;font-size:.8rem;box-shadow:0 6px 16px rgba(0,0,0,.3)}
.ln.nomap .ln-go{top:12px;right:auto;left:auto;position:relative;margin:10px 16px 0;display:inline-block}
.ln-stats{position:absolute;z-index:2;left:10px;right:10px;bottom:62px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.ln.nomap .ln-stats{position:relative;left:auto;right:auto;bottom:auto;margin:16px 10px 0}
.ln-s{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:16px;padding:7px 4px 6px;text-align:center;display:flex;flex-direction:column;align-items:center;transition:transform .3s}
.ln-s i{font-style:normal;font-size:1rem;line-height:1}.ln-s b{font-size:1.25rem;font-variant-numeric:tabular-nums;line-height:1.2}.ln-s small{font-size:.75rem;opacity:.8;line-height:1.1}
.ln-s.bump{animation:lnBump .7s ease}
@keyframes lnBump{0%{transform:scale(1)}35%{transform:scale(1.14);background:rgba(74,222,128,.3)}100%{transform:scale(1)}}
.ln-tick{position:absolute;z-index:2;left:10px;right:10px;bottom:10px;height:44px;overflow:hidden}
.ln.nomap .ln-tick{position:relative;left:auto;right:auto;bottom:auto;margin:8px 10px 10px}
.ln-e{position:absolute;inset:0;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.94);color:#1f2937;border-radius:14px;padding:6px 10px;border-left:4px solid var(--c,#4ade80);opacity:0;transform:translateY(110%);transition:transform .5s cubic-bezier(.2,.9,.3,1.2),opacity .4s}
.ln-e.on{opacity:1;transform:none}
.ln-e i{font-style:normal;font-size:1.1rem}.ln-e span{flex:1;min-width:0;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ln-e small{font-size:.75rem;color:#6b7280;white-space:nowrap}
.ln-e.calm button{border:0;border-radius:99px;background:#0b3a44;color:#fff;font:inherit;font-size:.72rem;font-weight:800;padding:5px 9px;white-space:nowrap}
.ln-pin{position:relative;width:30px;height:30px;border-radius:50%;background:var(--c,#0ea5e9);border:2.5px solid #fff;color:#fff;display:grid;place-items:center;font-weight:800;font-size:.8rem;box-shadow:0 4px 12px rgba(0,0,0,.45)}
.ln-pin span:last-child{position:relative;z-index:2}.ln-pin .lv-ring{top:-4px;left:50%;width:38px;height:38px;margin-left:-19px}.ln-pin.on .lv-ring{animation:lvRing 1.8s ease-out infinite}
.ln .maplibregl-marker{opacity:1!important}
/* 🎉 Bienvenue à */
.wlc{position:fixed;inset:0;z-index:9200;background:#0b1530;color:#fff;display:flex;align-items:flex-end;opacity:0;transition:opacity .45s;overflow:hidden}
.wlc.on{opacity:1}
.wlc-bg{position:absolute;inset:-4%;background:radial-gradient(120% 80% at 30% 20%,#2563eb,#7c3aed 55%,#0b1530);background-size:cover;background-position:center;transform:scale(1.12);transition:opacity 1s}
.wlc-bg.ok{animation:wlcZoom 14s ease-out forwards}
@keyframes wlcZoom{from{transform:scale(1.18)}to{transform:scale(1.02)}}
.wlc-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,10,30,.2),rgba(5,10,30,.35) 40%,rgba(5,10,30,.92))}
.wlc-conf{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.wlc-conf i{position:absolute;top:-20px;width:9px;height:14px;border-radius:2px;opacity:.9;animation:wlcFall linear forwards}
@keyframes wlcFall{to{transform:translateY(110vh) rotate(720deg);opacity:.6}}
.wlc-in{position:relative;padding:0 22px calc(env(safe-area-inset-bottom,0px) + 28px);width:100%}
.wlc-flag{font-size:3.6rem;line-height:1;animation:wlcPop .7s cubic-bezier(.2,1.4,.4,1) both}
@keyframes wlcPop{from{transform:scale(0) rotate(-20deg)}to{transform:none}}
.wlc-k{display:block;text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:.78rem;color:#fde68a;margin-top:10px;animation:wlcUp .6s .2s both}
.wlc h1{font-family:var(--serif,Georgia,serif);font-size:clamp(2.6rem,13vw,4.6rem);line-height:1;margin:6px 0 8px;letter-spacing:-.02em;word-break:break-word}
.wlc h1 span{display:inline-block;animation:wlcUp .55s cubic-bezier(.2,1.2,.4,1) both}
@keyframes wlcUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.wlc p{margin:0 0 4px;font-size:1rem;opacity:.92;animation:wlcUp .6s .6s both}.wlc-m{min-height:1.2em}
.wlc-b{display:flex;flex-direction:column;gap:8px;margin-top:18px;animation:wlcUp .6s .9s both}
.wlc-b button{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff;font:inherit;font-weight:800;border-radius:16px;padding:13px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.wlc-b button.pri{background:#fff;color:#1e1b4b;border:0}
/* ❤️ réactions en direct */
.rx-fly{position:fixed;inset:0;z-index:9300;pointer-events:none;overflow:hidden}
.rx-fly i{position:absolute;bottom:90px;font-style:normal;animation:rxUp 2.6s ease-out forwards;opacity:0}
@keyframes rxUp{0%{opacity:0;transform:translate(0,0) scale(.5)}15%{opacity:1;transform:translate(calc(var(--dx)*.2),-40px) scale(1.1)}100%{opacity:0;transform:translate(var(--dx),-62vh) scale(.9) rotate(18deg)}}
.rx-pill{position:fixed;z-index:9301;left:12px;right:12px;top:calc(env(safe-area-inset-top,0px) + 10px);display:flex;align-items:center;gap:10px;border:0;border-radius:18px;background:rgba(255,255,255,.97);color:#1f2937;font:inherit;text-align:left;padding:8px 12px 8px 8px;box-shadow:0 14px 34px rgba(0,0,0,.28);transform:translateY(-140%);transition:transform .5s cubic-bezier(.2,1.2,.4,1)}
.rx-pill.on{transform:none}
.rx-pill>img,.rx-pill>i{width:44px;height:44px;flex:0 0 44px;border-radius:12px;object-fit:cover;display:grid;place-items:center;font-style:normal;font-size:1.4rem;background:#ffe4ec}
.rx-pill span{font-size:.86rem;line-height:1.25}.rx-pill q{font-weight:700}.rx-pill small{display:block;color:#6b7280;font-size:.78rem;margin-top:2px}
@media (prefers-reduced-motion:reduce){.wlc-conf,.rx-fly{display:none}.ln-e{transition:none}}
/* 🛰️ carte 3D en direct */
.lv-go{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;border-radius:18px;padding:12px 14px;margin:0 0 10px;font:inherit;color:#fff;background:linear-gradient(120deg,#0f2a5c,#1d4ed8 55%,#0ea5e9);box-shadow:0 8px 22px rgba(29,78,216,.28);cursor:pointer;position:relative;overflow:hidden}
.lv-go::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.22) 50%,transparent 70%);transform:translateX(-100%);animation:lvShine 3.6s ease-in-out infinite}
.lv-go .tx{flex:1;min-width:0;display:flex;flex-direction:column}.lv-go b{font-size:.98rem}.lv-go small{opacity:.88;font-size:.76rem;margin-top:2px}.lv-go .lv-ar{font-size:1.6rem;opacity:.8}
.lv-dot{position:relative;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:rgba(255,255,255,.16);display:grid;place-items:center}
.lv-dot i{width:12px;height:12px;border-radius:50%;background:#7dd3fc;box-shadow:0 0 0 0 rgba(125,211,252,.8)}
.lv-go.on .lv-dot i{background:#4ade80;animation:lvPulse 1.6s ease-out infinite}
@keyframes lvPulse{0%{box-shadow:0 0 0 0 rgba(74,222,128,.75)}100%{box-shadow:0 0 0 16px rgba(74,222,128,0)}}
@keyframes lvShine{0%,55%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.cv-follive .lv-go{margin:0 0 8px}.cv-follive .lv-tt{font-weight:800;opacity:1!important}
.fol-live{position:absolute;right:8px;top:8px;display:inline-flex;align-items:center;gap:5px;background:rgba(10,20,45,.78);color:#4ade80;font-size:.75rem;font-weight:800;letter-spacing:.06em;padding:4px 7px;border-radius:99px;z-index:2}
.fol-live i{width:7px;height:7px;border-radius:50%;background:#4ade80;animation:lvPulse 1.6s ease-out infinite}
.lm-l span.on small{color:#16a34a;font-weight:700}.lm-l span.on i{animation:lvPulse 1.6s ease-out infinite}
.fd-mm,.lm-map{cursor:pointer}
#cv-lmap{position:fixed;inset:0;z-index:9100;background:#0b1a3a;overflow:hidden;overscroll-behavior:none}
#lv-map{position:absolute;inset:0}
.lv-top{position:absolute;top:calc(env(safe-area-inset-top,0px) + 10px);left:10px;right:64px;display:flex;gap:10px;align-items:flex-start;z-index:3;pointer-events:none}
.lv-top>*{pointer-events:auto}
.lv-x{width:40px;height:40px;flex:0 0 40px;border-radius:50%;border:0;background:rgba(10,20,45,.72);color:#fff;font-size:1.05rem;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.lv-t{background:rgba(10,20,45,.72);color:#fff;border-radius:16px;padding:8px 12px;display:flex;flex-direction:column;min-width:0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.lv-t b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lv-t small{opacity:.8;font-size:.74rem}
.lv-badge{display:inline-flex;align-items:center;gap:6px;font-size:.64rem;font-weight:800;letter-spacing:.08em;color:#4ade80}
.lv-badge i{width:8px;height:8px;border-radius:50%;background:#4ade80;animation:lvPulse 1.6s ease-out infinite}
.lv-tools{position:absolute;right:10px;top:calc(env(safe-area-inset-top,0px) + 10px);display:flex;flex-direction:column;gap:8px;z-index:3}
.lv-tools button{width:44px;height:44px;border-radius:14px;border:0;background:rgba(10,20,45,.72);color:#fff;font-size:1.15rem;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.lv-tools button.on{background:#1d4ed8;box-shadow:0 0 0 2px rgba(255,255,255,.5)}
.lv-msg{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);background:rgba(10,20,45,.8);color:#fff;padding:14px 18px;border-radius:16px;text-align:center;max-width:80%;z-index:2;font-weight:700}
.lv-msg small{font-weight:400;opacity:.85}.lv-msg[hidden]{display:none}
.lv-people{position:absolute;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + 40px);display:flex;gap:8px;overflow-x:auto;padding:4px 12px;z-index:3;scrollbar-width:none}
.lv-people::-webkit-scrollbar{display:none}
.lv-p{flex:0 0 auto;display:flex;align-items:center;gap:8px;border:0;border-radius:18px;padding:8px 12px 8px 8px;background:rgba(255,255,255,.92);color:#1f2937;font:inherit;text-align:left;box-shadow:0 6px 18px rgba(0,0,0,.25);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.lv-p.on{box-shadow:0 0 0 3px var(--c),0 6px 18px rgba(0,0,0,.25)}
.lv-p .tx{display:flex;flex-direction:column;line-height:1.2}.lv-p b{font-size:.86rem}.lv-p small{font-size:.75rem;color:#6b7280}
.lv-p small[data-at]{color:#16a34a;font-weight:700}
.lv-p .lv-av,.lv-pin .lv-av{width:32px;height:32px;border-radius:50%;background:var(--c,#0ea5e9);color:#fff;display:grid;place-items:center;font-weight:800;flex:0 0 32px}
.lv-pc .lv-av{background:#fde68a}
.lv-pin{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer}
.lv-pin .lv-av{width:38px;height:38px;border:3px solid #fff;box-shadow:0 4px 12px rgba(0,0,0,.45);position:relative;z-index:2;font-size:1rem}
.lv-pin::after{content:'';width:0;height:0;border:7px solid transparent;border-top:9px solid #fff;margin-top:-2px}
.lv-ring{position:absolute;top:-4px;left:50%;width:46px;height:46px;margin-left:-23px;border-radius:50%;background:var(--c);opacity:0;z-index:1}
.lv-pin.on .lv-ring{animation:lvRing 1.8s ease-out infinite}
@keyframes lvRing{0%{transform:scale(.8);opacity:.7}100%{transform:scale(2.4);opacity:0}}
.lv-nm{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:rgba(10,20,45,.82);color:#fff;border-radius:10px;padding:3px 8px;white-space:nowrap;display:flex;flex-direction:column;align-items:center;line-height:1.15}
.lv-nm b{font-size:.78rem}.lv-nm small{font-size:.75rem;opacity:.85}
.lv-ph{border:0;padding:0;background:none;display:flex;flex-direction:column;align-items:center;cursor:pointer}
.lv-ph>img,.lv-ph>i{width:40px;height:40px;border-radius:10px;border:2px solid #fff;object-fit:cover;box-shadow:0 3px 10px rgba(0,0,0,.4);background:#fff;display:grid;place-items:center;font-style:normal;transition:width .3s,height .3s}
.lv-ph span{display:none}
.lv-ph.big{z-index:5}.lv-ph.big>img{width:180px;height:135px;border-radius:14px}
.lv-ph.big span{display:flex;flex-direction:column;background:#fff;color:#1f2937;border-radius:10px;padding:4px 8px;margin-top:4px;max-width:200px;text-align:center;box-shadow:0 3px 10px rgba(0,0,0,.3)}
.lv-ph.big span b{font-size:.8rem}.lv-ph.big span small{font-size:.75rem;color:#6b7280}
#cv-lmap .maplibregl-ctrl-attrib{font-size:9px}
#cv-lmap .maplibregl-marker{opacity:1!important}#cv-lmap .lv-pin{z-index:4}
@media (prefers-reduced-motion:reduce){.lv-go::after,.lv-ring,.lv-dot i,.lv-badge i{animation:none!important}}
#cv-feed{position:fixed;inset:0;z-index:2500;background:var(--cream);display:flex;flex-direction:column}
.fd-top{display:flex;gap:12px;align-items:center;padding:calc(12px + var(--sat,env(safe-area-inset-top,0px))) 16px 12px;background:linear-gradient(160deg,var(--navy),var(--navy2));color:#fff}.fd-top div{display:flex;flex-direction:column}.fd-top b{font-family:'Bodoni Moda',Georgia,serif;font-style:italic;font-size:1.4rem}.fd-top small{opacity:.8;font-size:.75rem}
.fd-x{width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:#fff;font-size:1rem;flex:none}
.fd-list{flex:1;overflow:auto;padding:14px 16px calc(30px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
.fd-post{background:#fff;border-radius:20px;padding:14px;margin-bottom:14px;box-shadow:0 6px 18px -12px rgba(42,18,56,.35)}.fd-d{font-size:.76rem;color:var(--gray);font-weight:600}.fd-post h3{margin:4px 0 8px;font-family:'Bodoni Moda',Georgia,serif;font-style:italic;font-size:1.25rem}
.fd-ph{display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -14px 8px;padding:0 14px}.fd-ph button{flex:0 0 82%;padding:0;border:0;border-radius:14px;overflow:hidden;scroll-snap-align:start;aspect-ratio:4/3;background:var(--light)}.fd-ph button:only-child{flex-basis:100%}.fd-ph.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;overflow:visible;margin:0 0 8px;padding:0}.fd-ph.grid span{aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--light)}.fd-ph.grid span:only-child{grid-column:span 2;aspect-ratio:4/3}.fd-ph img{width:100%;height:100%;object-fit:cover;display:block}
.fd-t{white-space:pre-wrap;font-size:.92rem;line-height:1.5;margin:6px 0}.fd-a{display:flex;gap:8px;align-items:center;margin-top:6px}.fd-a button{border:1px solid var(--light);background:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-size:.9rem;cursor:pointer}.fd-a button.on{border-color:#f9a8c0;background:#fff1f5}.fd-a small{color:var(--gray);font-size:.76rem}
.fd-a .fd-more{margin-left:auto;padding:4px 12px;font-weight:700;color:var(--gray)}.fd-cmore{border:0;background:none;color:var(--gray);font:700 1rem system-ui;padding:0 6px;min-width:32px;min-height:28px;cursor:pointer;float:right}.sh-fw{display:inline-flex;align-items:center;gap:2px;margin:2px 6px 2px 0}.sh-fw button{border:0;background:none;font-size:.8rem;padding:2px 4px;cursor:pointer;opacity:.7}
.fd-c{margin-top:10px;display:grid;gap:6px;font-size:.86rem}.fd-c small{color:var(--gray)}.fd-send{flex:none;border:0;border-radius:999px;padding:0 16px;min-height:44px;background:var(--navy);color:#fff;font:700 .86rem 'Outfit',system-ui,sans-serif;cursor:pointer}
.fd-empty{text-align:center;color:var(--gray);padding:40px 10px}
.fx-like{position:fixed;left:50%;top:45%;z-index:99996;pointer-events:none;transform:translate(-50%,-50%);animation:fxLike 1.1s ease-out both}.fx-like img{width:120px}
@keyframes fxLike{0%{transform:translate(-50%,-50%) scale(.2);opacity:0}30%{transform:translate(-50%,-50%) scale(1.15);opacity:1}100%{transform:translate(-50%,-90%) scale(.9);opacity:0}}

.bu-hero{border-radius:24px;padding:16px;margin:0 0 12px;color:#fff;background:radial-gradient(110% 80% at 100% 0%, rgba(255,160,107,.5), transparent 60%),linear-gradient(150deg,var(--navy),var(--navy2));box-shadow:0 12px 26px -14px var(--navy)}
.bu-k{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;opacity:.8;font-weight:700}.bu-tot{font-size:2.4rem;font-weight:800;letter-spacing:-.02em;margin:4px 0 0}.bu-pp{opacity:.85;font-size:.88rem}
.bu-bar{height:10px;border-radius:999px;background:rgba(255,255,255,.18);overflow:hidden;margin:12px 0 6px}.bu-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#FFD9A0,#F3C98B)}
.bu-pay{display:flex;justify-content:space-between;font-size:.84rem;opacity:.95}.bu-obj{margin-top:10px;font-size:.84rem;opacity:.95;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.bu-obj button{border:0;border-radius:999px;background:rgba(255,255,255,.18);color:#fff;font:inherit;font-size:.78rem;padding:4px 10px}.bu-over{color:#FECACA}
.bu-cats{background:#fff;border:1px solid var(--light);border-radius:20px;padding:12px;margin:0 0 12px}.bu-h{font-weight:800;margin-bottom:6px}
.bu-cat{display:grid;grid-template-columns:1fr auto;gap:2px 8px;width:100%;border:0;background:none;padding:8px 2px;font:inherit;color:var(--ink);text-align:left;cursor:pointer;border-top:1px solid var(--light)}.bu-cat:first-of-type{border-top:0}
.bu-cat i{grid-column:1/-1;position:relative;height:7px;border-radius:999px;background:var(--light);overflow:hidden}.bu-cat em,.bu-cat u{position:absolute;left:0;top:0;bottom:0;border-radius:999px}.bu-cat em{background:var(--sun2);opacity:.35}.bu-cat u{background:var(--sun2)}
.bu-acc{background:#fff;border:1px solid var(--light);border-radius:18px;margin:0 0 10px;overflow:hidden}.bu-acc summary{padding:13px 14px;font-weight:700;cursor:pointer;list-style:none;display:flex;gap:6px;align-items:center}.bu-acc summary::-webkit-details-marker{display:none}.bu-acc summary::after{content:'▾';opacity:.5;margin-left:auto}.bu-acc summary small+*{display:none}.bu-acc[open] summary::after{content:'▴'}.bu-acc summary small{color:var(--gray);font-weight:500;margin-left:auto;margin-right:-2px}.bu-acc summary:has(small)::after{margin-left:8px}
.bu-in{padding:0 14px 14px}

body.cv-ph-live .cv-disc-card{border-color:#8FDCCF;box-shadow:0 4px 14px rgba(13,148,136,.14)}body.cv-ph-live .cv-disc-card .dt{color:#0B5D63}body.cv-ph-live .cv-disc-card .dc button{background:#D3F1EB;color:#0B5D63}body.cv-ph-live .cv-disc-card .dc button.cy{background:#fff;border-color:#8FDCCF}body.cv-ph-live .cv-disc-card .dc button.add{background:#0B5D63;color:#fff}
body.cv-ph-past .cv-disc-card{border-color:#E9C7B3;box-shadow:0 4px 14px rgba(142,59,46,.12)}body.cv-ph-past .cv-disc-card .dt{color:#5A3324}body.cv-ph-past .cv-disc-card .dc button{background:#F6E3D7;color:#5A3324}body.cv-ph-past .cv-disc-card .dc button.cy{background:#fff;border-color:#E9C7B3}body.cv-ph-past .cv-disc-card .dc button.add{background:#5A3324;color:#fff}
body.cv-ph-live .cv-actb .ac-path .on,body.cv-ph-live .cv-actb .ac-n{box-shadow:0 0 0 4px rgba(13,148,136,.2)}
.cv-soin{display:flex;gap:6px;margin:0 0 12px;overflow-x:auto}.cv-soin button{flex:0 0 auto;border:1.5px solid var(--light);background:#fff;border-radius:999px;padding:8px 14px;font:inherit;font-weight:700;font-size:.84rem;color:var(--ink);cursor:pointer}.cv-soin button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.cv-fban{display:flex;gap:12px;align-items:center;background:linear-gradient(135deg,#fff,var(--cream));border:1px solid var(--light);border-radius:20px;padding:12px 14px;margin:0 0 12px}.cv-fban .fb-i{font-size:1.8rem}.cv-fban b{display:block}.cv-fban small{display:block;color:var(--gray);font-size:.78rem;line-height:1.35}.cv-fban button{flex:none;border:0;border-radius:999px;background:var(--navy);color:#fff;font:700 .8rem 'Outfit',system-ui,sans-serif;padding:9px 14px;cursor:pointer}
.vz-band{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:10px 12px 0;padding:10px 12px;border-radius:16px;background:linear-gradient(135deg,#FFF7E6,#FDE9F1);border:1px solid rgba(0,0,0,.06);box-shadow:0 4px 14px rgba(0,0,0,.06);color:#2A1238}
.vz-band .vz-i{font-size:1.5rem;line-height:1}.vz-band .vz-t{flex:1 1 200px;min-width:0}.vz-band .vz-t b{display:block;font-size:.95rem}.vz-band .vz-t small{display:block;font-size:.78rem;opacity:.8;line-height:1.35}
.vz-band .vz-a{display:flex;flex-wrap:wrap;gap:6px;width:100%}.vz-band .vz-a button{border:1px solid rgba(42,18,56,.18);background:#fff;color:#2A1238;border-radius:999px;padding:7px 12px;font:700 .8rem system-ui,sans-serif;cursor:pointer;min-height:36px}
.vz-band .vz-a .vz-go{background:#2A1238;color:#fff;border-color:#2A1238}.vz-band .vz-a .vz-x{margin-left:auto;padding:7px 11px;opacity:.6}
.vz-back{display:flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;font-size:1.15rem;font-weight:800}
.vz-ul{margin:4px 0 12px;padding-left:18px;font-size:.88rem;line-height:1.45}.vz-ul li{margin:4px 0}
.vz-st{display:flex;gap:4px}.vz-st button{border:0;background:none;font-size:1.9rem;line-height:1;color:#d6d3d1;cursor:pointer;padding:2px 3px;min-width:40px;min-height:40px}.vz-st button.on{color:#f59e0b}
.ui-dlg{position:fixed;inset:0;z-index:100010;background:rgba(20,10,30,.5);display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:uiIn .15s ease-out}
.ui-box{background:#fff;color:#2A1238;border-radius:22px;max-width:420px;width:100%;padding:20px 18px 14px;box-shadow:0 18px 50px rgba(0,0,0,.35);max-height:85vh;overflow:auto}
.ui-msg{white-space:pre-wrap;font-size:.95rem;line-height:1.45;word-break:break-word}.ui-in{margin-top:12px;width:100%;box-sizing:border-box}
.ui-act{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.ui-act .v-btn{width:auto;flex:1;margin:0;min-height:46px}
@keyframes uiIn{from{opacity:0}to{opacity:1}}

/* ══ Barre du haut FIXE (voyages, synchro, abonnés, verrou, profil) : opaque et collée sous l'heure.
   iOS 26 ne pose plus son flou quand un élément fixe et plein occupe le haut de l'écran. ══ */
:root{--tb:58px}
.hero-top{position:fixed!important;top:0;left:0;right:0;z-index:900;margin:0!important;box-sizing:border-box;
  height:calc(var(--sat,env(safe-area-inset-top,0px)) + var(--tb));padding:calc(var(--sat,env(safe-area-inset-top,0px)) + 8px) 16px 8px;
  background:var(--navy);box-shadow:0 8px 18px -12px rgba(0,0,0,.55);transition:background .3s}
.hero{padding-top:calc(var(--sat,env(safe-area-inset-top,0px)) + var(--tb) + 14px)!important}
.cv-sub{top:calc(var(--sat,env(safe-area-inset-top,0px)) + var(--tb))!important}
body.is-legacy .hero-top{position:relative!important;height:auto;padding:0;background:none;box-shadow:none}


/* 🧭 Explorer */
#cv-exp{position:fixed;inset:0;z-index:9500;background:#0b0718;color:#fff;animation:exIn .45s ease}
#cv-exp .ex-scroll{position:absolute;inset:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
#cv-exp .ex-hero{position:relative;height:78vh;min-height:440px;overflow:hidden;display:flex;align-items:flex-end;background:linear-gradient(160deg,#2b1840,#6b2fa0 55%,#f0a35e)}
#cv-exp .ex-img{position:absolute;inset:-4%;background-size:cover;background-position:center;opacity:0;transform:scale(1.18);transition:opacity 1.2s ease}
#cv-exp .ex-img.on{opacity:1;animation:exKen 16s ease-out forwards}
#cv-exp .ex-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,7,24,.35) 0%,rgba(11,7,24,0) 30%,rgba(11,7,24,.5) 68%,#0b0718 100%)}
#cv-exp .ex-tt{position:relative;z-index:2;padding:0 22px 66px;width:100%}
#cv-exp .ex-flag{font-size:2.7rem;line-height:1;opacity:0;animation:exPop .7s cubic-bezier(.2,1.6,.4,1) .25s forwards}
#cv-exp .ex-hi{margin:8px 0 2px;color:#fde68a;font-weight:700;letter-spacing:.04em;opacity:0;animation:exUp .7s ease .45s forwards;min-height:1.2em}
#cv-exp .ex-name{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:700;font-size:clamp(2.6rem,13vw,4.8rem);line-height:1.02;margin:4px 0 8px;text-shadow:0 8px 34px rgba(0,0,0,.5);overflow-wrap:anywhere}
#cv-exp .ex-name span{display:inline-block;opacity:0;transform:translateY(34px) rotate(5deg);animation:exLet .75s cubic-bezier(.2,.9,.3,1.25) forwards}
#cv-exp .ex-ctry{font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.88);opacity:0;animation:exUp .7s ease 1.1s forwards}
#cv-exp .ex-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;opacity:0;animation:exUp .7s ease 1.35s forwards}
#cv-exp .ex-chips span{background:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:6px 13px;font-weight:700;font-size:.88rem}
#cv-exp .ex-down{position:absolute;bottom:16px;left:50%;font-size:1.7rem;opacity:.75;animation:exBob 1.8s ease-in-out infinite;z-index:2}
#cv-exp:not(.ex-first) .ex-flag,#cv-exp:not(.ex-first) .ex-hi,#cv-exp:not(.ex-first) .ex-ctry,#cv-exp:not(.ex-first) .ex-chips{animation-delay:.05s;animation-duration:.45s}
#cv-exp .ex-x{position:fixed;top:calc(env(safe-area-inset-top,0px) + 12px);right:14px;z-index:5;width:42px;height:42px;border-radius:50%;border:0;background:rgba(0,0,0,.38);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:1.1rem}
#cv-exp .ex-body{position:relative;background:#0b0718;padding:4px 0 calc(env(safe-area-inset-bottom,0px) + 34px)}
#cv-exp .ex-intro{margin:0 22px 20px;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:1.05rem;line-height:1.6;color:rgba(255,255,255,.88)}
#cv-exp .ex-sec{margin:0 0 24px;opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}#cv-exp .ex-sec.in{opacity:1;transform:none}
#cv-exp .ex-sec h2{margin:0 22px 10px;font-size:1.25rem;display:flex;align-items:center;gap:8px;color:#fff}
#cv-exp .ex-sec h2 small{font-size:.72rem;background:rgba(255,255,255,.14);border-radius:999px;padding:2px 9px;font-weight:800}
#cv-exp .ex-row{display:flex;gap:12px;overflow-x:auto;padding:4px 22px 12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}#cv-exp .ex-row::-webkit-scrollbar{display:none}
#cv-exp .ex-card{flex:0 0 68%;max-width:290px;scroll-snap-align:start;background:#1a1330;border:1px solid rgba(255,255,255,.08);border-radius:20px;overflow:hidden;color:#fff;text-align:left;padding:0 0 13px;font:inherit;box-shadow:0 12px 30px rgba(0,0,0,.4);transition:transform .2s}
#cv-exp .ex-card:active{transform:scale(.97)}
#cv-exp .ex-ph{height:172px;background-size:cover;background-position:center;position:relative;display:flex;align-items:center;justify-content:center}
#cv-exp .ex-ic{font-size:3.1rem;filter:drop-shadow(0 6px 12px rgba(0,0,0,.3))}
#cv-exp img.ex-pic{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s ease}#cv-exp img.ex-pic.ok{opacity:1}#cv-exp .ex-dph img.ex-pic{border-radius:26px 26px 0 0}#cv-exp .ex-ok,#cv-exp .ex-dx{z-index:1}
#cv-exp .ex-ok{position:absolute;top:10px;right:10px;background:#10b981;color:#fff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:800;box-shadow:0 2px 8px rgba(0,0,0,.3)}
#cv-exp .ex-card b{display:block;margin:11px 14px 4px;font-size:1rem;line-height:1.25}
#cv-exp .ex-card small{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0 14px;color:rgba(255,255,255,.72);font-size:.82rem;line-height:1.42}
#cv-exp .ex-card em{display:block;margin:8px 14px 0;font-style:normal;font-size:.76rem;color:#fde68a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#cv-exp .ex-more{display:block;margin:6px 22px 14px;width:calc(100% - 44px)}
#cv-exp .ex-src{margin:10px 22px 0;font-size:.75rem;color:rgba(255,255,255,.45);text-align:center}
#cv-exp .ex-load{text-align:center;padding:34px 0;color:rgba(255,255,255,.78)}
#cv-exp .ex-dot{display:inline-block;width:9px;height:9px;margin:0 4px 12px;border-radius:50%;background:#fde68a;animation:exDot 1s ease-in-out infinite}#cv-exp .ex-dot:nth-child(2){animation-delay:.15s}#cv-exp .ex-dot:nth-child(3){animation-delay:.3s}
#cv-exp .ex-empty{padding:30px 22px;text-align:center;color:rgba(255,255,255,.78)}
#cv-exp .ex-det{position:fixed;inset:0;z-index:6}
#cv-exp .ex-dbg{position:absolute;inset:0;background:rgba(0,0,0,.55);opacity:0;transition:opacity .25s}
#cv-exp .ex-dc{position:absolute;left:0;right:0;bottom:0;max-width:640px;margin:0 auto;max-height:90vh;overflow-y:auto;background:#140e26;border-radius:26px 26px 0 0;transform:translateY(100%);transition:transform .32s cubic-bezier(.2,.9,.3,1)}
#cv-exp .ex-det.on .ex-dbg{opacity:1}#cv-exp .ex-det.on .ex-dc{transform:none}
#cv-exp .ex-dph{height:42vh;max-height:340px;background-size:cover;background-position:center;position:relative;display:flex;align-items:center;justify-content:center;border-radius:26px 26px 0 0}
#cv-exp .ex-dx{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(0,0,0,.42);color:#fff;font-size:1rem}
#cv-exp .ex-dt{padding:16px 20px calc(env(safe-area-inset-bottom,0px) + 22px)}
#cv-exp .ex-dt h3{margin:0 0 8px;font-family:'Playfair Display',Georgia,serif;font-size:1.55rem;color:#fff}
#cv-exp .ex-dt p{margin:0 0 12px;line-height:1.58;color:rgba(255,255,255,.86)}
#cv-exp .ex-ln{display:flex;gap:10px;padding:7px 0;color:rgba(255,255,255,.86);font-size:.9rem;border-top:1px solid rgba(255,255,255,.08)}
#cv-exp .ex-acts{display:flex;flex-direction:column;gap:8px;margin-top:14px}#cv-exp .ex-acts .v-btn{margin:0;text-align:center;text-decoration:none;display:block}
#cv-exp .v-btn{background:linear-gradient(135deg,#fbbf24,#f97316);color:#1f1300;border:0;box-shadow:0 8px 22px rgba(249,115,22,.35)}
#cv-exp .v-btn.sec{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.25);box-shadow:none}
@keyframes exIn{from{opacity:0}to{opacity:1}}
@keyframes exKen{from{transform:scale(1.18) translate(1.5%,1%)}to{transform:scale(1.02) translate(0,0)}}
@keyframes exPop{0%{opacity:0;transform:scale(.3) rotate(-12deg)}100%{opacity:1;transform:none}}
@keyframes exUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes exLet{to{opacity:1;transform:none}}
@keyframes exBob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,7px)}}
@keyframes exDot{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(-6px);opacity:1}}
@media (prefers-reduced-motion:reduce){#cv-exp,#cv-exp *{animation:none!important;transition:none!important}#cv-exp .ex-flag,#cv-exp .ex-hi,#cv-exp .ex-ctry,#cv-exp .ex-chips,#cv-exp .ex-name span,#cv-exp .ex-sec,#cv-exp .ex-img.on{opacity:1;transform:none}}
/* 📖 Livret */
.lv{padding-bottom:30px}.lv-head{text-align:center;margin:4px 0 18px}.lv-head h2{margin:0 0 6px;font-family:'Playfair Display',Georgia,serif}.lv-head p{margin:0 auto 12px;max-width:440px;color:var(--gray,#666);font-size:.92rem}
.lv-idx{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.lv-idx button{width:42px;height:42px;border-radius:14px;border:1px solid #eadff5;background:#fff;font-size:1.25rem;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.lv-ch{background:#fff;border-radius:24px;padding:0 0 16px;margin:0 0 18px;box-shadow:0 6px 22px rgba(43,24,64,.08);overflow:hidden;scroll-margin-top:80px}
.lv-scene{position:relative;height:150px;overflow:hidden}
.lv-e{position:absolute;line-height:1;filter:drop-shadow(0 6px 10px rgba(0,0,0,.25));animation:lvf 6s ease-in-out infinite}
.lv-e0{font-size:3.6rem;left:50%;top:50%;transform:translate(-50%,-50%);animation:none}
.lv-e1{font-size:1.9rem;left:12%;top:18%}.lv-e2{font-size:1.7rem;right:13%;top:22%;animation-delay:-2s}.lv-e3{font-size:1.5rem;left:22%;bottom:14%;animation-delay:-4s}.lv-e4{font-size:1.6rem;right:22%;bottom:12%;animation-delay:-3s}
.lv-n{position:absolute;left:14px;top:12px;background:rgba(255,255,255,.88);color:#2b1840;font-weight:800;border-radius:999px;min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:.85rem;padding:0 8px}
@keyframes lvf{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media (prefers-reduced-motion:reduce){.lv-e{animation:none}}
.lv-kick{margin:14px 18px 2px;font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8b5cf6}
.lv-ch h3{margin:0 18px 8px;font-family:'Playfair Display',Georgia,serif;font-size:1.35rem}
.lv-story{margin:0 18px 10px;line-height:1.55;font-size:.95rem}
.lv-pts{list-style:none;margin:0 14px 12px;padding:10px 12px;background:#f8f4fd;border-radius:16px}.lv-pts li{padding:5px 0;font-size:.9rem;line-height:1.45}
.lv-btns{display:flex;flex-direction:column;gap:8px;margin:0 18px}.lv-btns .v-btn{margin:0}
/* ☁️ Cloud Vezoria */
.cv-cl-mode{display:flex;align-items:center;gap:8px;background:#f6f0fc;border-radius:14px;padding:10px 12px;margin:0 0 12px}.cv-cl-mode span{font-size:1.3rem}.cv-cl-mode b{flex:1}
.cv-cl-ch{border:0;background:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-weight:700;font-size:.8rem;color:#6b2fa0;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.cv-cl-h{font-weight:800;margin:14px 0 8px}.cv-cl-sub{font-size:.82rem;color:var(--gray,#666);margin:4px 0 8px}
.cv-cl-t{display:flex;align-items:center;gap:10px;justify-content:space-between;background:#fff;border:1px solid #eee3f7;border-radius:14px;padding:8px 10px;margin:0 0 6px}
.cv-cl-t span{display:flex;flex-direction:column;min-width:0}.cv-cl-t small{color:var(--gray,#666);font-size:.74rem}.cv-cl-t .v-btn{width:auto;margin:0;padding:6px 10px;font-size:.78rem;flex:none}
.cv-choice.on{border-color:#8b5cf6;background:#f6f0fc}
.cv-syncpill.new{box-shadow:0 0 0 2px #fbbf24}
/* 🔔 récap des notifications + bandeau dans l’appli */
.cv-rcp-t{font-weight:700;margin:14px 0 6px;font-size:.95rem}
.cv-rcp{display:flex;gap:10px;justify-content:space-between;align-items:flex-start;width:100%;text-align:left;background:var(--card,#fff);border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:10px 12px;margin:0 0 6px;font:inherit;color:inherit;cursor:pointer}
.cv-rcp small{opacity:.6;white-space:nowrap;font-size:.75rem}
#cv-inb{position:fixed;left:12px;right:12px;top:calc(env(safe-area-inset-top,0px) + 8px);z-index:3000;display:flex;flex-direction:column;gap:2px;text-align:left;background:#2b1840;color:#fff;border:0;border-radius:14px;padding:10px 14px;box-shadow:0 8px 24px rgba(0,0,0,.25);font:inherit;transform:translateY(-140%);transition:transform .3s ease;max-width:560px;margin:0 auto}
#cv-inb.show{transform:none}#cv-inb span{font-size:.88rem;opacity:.9}
/* 🎟️ invitation reçue, sur la page d’installation */
#cv-gate .gv{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:16px;padding:12px 14px;margin:12px 0;text-align:left}
#cv-gate .gv b{display:block;margin-bottom:4px}#cv-gate .gv p{margin:0 0 10px;font-size:.88rem;opacity:.9}
/* 🚗 mode trajet */
.cv-tjbtn{display:flex;gap:10px;align-items:center;width:100%;margin:8px 0 0;border:1px dashed #c4b5fd;background:#faf7ff;border-radius:14px;padding:10px 12px;text-align:left;font:inherit;color:inherit}
.cv-tjbtn>span:first-child{font-size:1.4rem}.cv-tjbtn b{display:block}.cv-tjbtn small{color:#6b5b7b;font-size:.78rem}
.cv-tj{position:fixed;inset:0;z-index:9998;background:#000;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:calc(env(safe-area-inset-top,0px) + 24px) 22px calc(env(safe-area-inset-bottom,0px) + 24px);text-align:center;transition:opacity .4s}
.cv-tj.dim{opacity:.25}.cv-tj .tj-top b{display:block;font-size:1.2rem}.cv-tj .tj-top small{color:#a1a1aa;font-size:.8rem}
.cv-tj .tj-big b{font-size:4.6rem;font-weight:800;letter-spacing:-.02em}.cv-tj .tj-big span{font-size:1.4rem;margin-left:6px;color:#c4b5fd}
.cv-tj .tj-row{display:flex;gap:10px;width:100%;max-width:420px}.cv-tj .tj-row div{flex:1;background:#18181b;border-radius:14px;padding:10px 6px}
.cv-tj .tj-row small{display:block;color:#a1a1aa;font-size:.72rem}.cv-tj .tj-row b{font-size:1.05rem}
.cv-tj p{color:#a1a1aa;font-size:.82rem;max-width:420px;margin:0}.cv-tj .tj-warn{color:#fbbf24}
.cv-tj .tj-end{border:0;border-radius:14px;padding:14px 22px;background:#7c3aed;color:#fff;font:inherit;font-weight:700}
/* 🗺️ cartes hors ligne */
#cv-omap{position:fixed;inset:0;z-index:9997;background:#e8eaed;display:none}#om-map{position:absolute;inset:0}
#cv-omap .om-x{position:absolute;top:calc(env(safe-area-inset-top,0px) + 12px);left:12px;z-index:3;width:42px;height:42px;border-radius:50%;border:0;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.25);font-size:1.1rem}
#cv-omap .om-info{position:absolute;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 14px);z-index:3;display:flex;gap:6px;flex-wrap:wrap;justify-content:center;font-size:.85rem}
#cv-omap .om-info button,#cv-omap .om-info span{border:0;border-radius:999px;background:#fff;padding:8px 12px;box-shadow:0 2px 8px rgba(0,0,0,.2);font:inherit}
#cv-omap .om-info span:empty{display:none}
#cv-omap .maplibregl-ctrl-top-right{top:calc(env(safe-area-inset-top,0px) + 8px)}
.om-mk{font-size:1.5rem;line-height:1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35));cursor:pointer}
/* 📍 fiche d'un lieu */
.cv-plk{text-decoration:underline dotted;cursor:pointer}
.pi-oh{background:#faf7ff;border-radius:12px;padding:10px 12px;margin:10px 0}.pi-oh b{display:block;margin-bottom:6px}
.pi-oh table{width:100%;border-collapse:collapse;font-size:.85rem}.pi-oh td{padding:2px 4px}.pi-oh td:first-child{width:70px;color:#6b5b7b;text-transform:capitalize}.pi-oh tr.on td{font-weight:700;color:#4c1d95}
.pi-oh small{display:block;color:#9b8fab;font-size:.75rem;margin-top:6px;word-break:break-word}
.pi-walk{margin:8px 0;font-size:.9rem}.pi-walk small{color:#6b5b7b}


/* Fenêtres : croix ✕ et flèche ← toujours visibles en haut */
.v-sheet{position:relative}
.sh-bar{position:sticky;top:-8px;z-index:6;height:0;display:flex;align-items:flex-start;pointer-events:none;margin:0 -6px}
.sh-bar button{pointer-events:auto;width:36px;height:36px;border-radius:50%;border:0;padding:0;margin-top:2px;
  background:rgba(120,120,140,.18);color:inherit;font-size:18px;line-height:36px;text-align:center;cursor:pointer;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-tap-highlight-color:transparent}
.sh-bar button:active{transform:scale(.92)}
.sh-bar .sh-x{margin-left:auto}
.v-sheet h2{padding-right:40px}
.v-sheet.has-bk h2:first-of-type{padding-left:42px}


/* 📊 Compteurs de l’en-tête */
.cv-hstats{position:relative;z-index:2;flex:0 1 auto;margin:0 8px 0 auto;display:flex;gap:2px;padding:6px 4px;border:0;border-radius:14px;
  background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;font:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);-webkit-tap-highlight-color:transparent}
.cv-hstats:active{transform:scale(.96)}
.hs-c{position:relative;display:flex;flex-direction:column;align-items:center;min-width:40px;padding:0 3px;line-height:1.05}
.hs-c b{font-size:1.02rem;font-weight:800;letter-spacing:-.01em;text-shadow:0 1px 8px rgba(0,0,0,.25)}
.hs-c small{font-size:.6rem;font-weight:600;opacity:.88;margin-top:2px;white-space:nowrap}
.hs-c.up b{animation:hsPop .9s cubic-bezier(.2,1.6,.4,1) both;color:var(--gold2,#ffd28a)}
.hs-plus{position:absolute;top:-14px;right:-2px;font-style:normal;font-size:.75rem;font-weight:800;color:#fff;background:#ff3b6b;border-radius:10px;padding:1px 5px;
  box-shadow:0 3px 10px rgba(255,59,107,.5);animation:hsPlus 2.4s ease-out both;pointer-events:none}
@keyframes hsPop{0%{transform:scale(.6)}55%{transform:scale(1.35)}100%{transform:scale(1)}}
@keyframes hsPlus{0%{opacity:0;transform:translateY(6px) scale(.7)}15%{opacity:1;transform:translateY(0) scale(1.1)}75%{opacity:1;transform:translateY(-4px)}100%{opacity:0;transform:translateY(-12px)}}
.hero-foot .cv-hero-qr{margin-left:0}
.hero-foot.hs-on .cv-av-names{display:none}
.hero-foot.hs-on .cv-av{margin-right:-11px}
.hero-foot.hs-on .cv-avs{flex:0 0 auto;margin-right:10px}
.hero-foot.hs-on .cv-avs .cv-av:last-of-type{margin-right:0}
.hero-foot.hs-stack{flex-wrap:wrap;row-gap:12px}
.hero-foot.hs-stack .cv-hstats{order:-1;flex:1 1 100%;margin:0;justify-content:space-around}
@media (max-width:420px){.hero-foot.hs-on .hs-c{min-width:36px;padding:0 2px}.hero-foot.hs-on .hs-c b{font-size:.95rem}.hero-foot.hs-on .hs-c small{font-size:.56rem}.hero-foot.hs-on .cv-hstats{padding:5px 3px;margin-right:6px}}
.hero-foot.hs-on .hero-count{flex:0 1 auto;min-width:0;max-width:46%}
.hero-foot.hs-on .hero-count b{font-size:clamp(1.15rem,5.4vw,1.65rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-foot .hero-count{flex:0 0 auto;max-width:50%}.hero-foot .hero-count b{font-size:clamp(1.2rem,6.4vw,2.1rem);white-space:nowrap}.hero-foot .hero-count span{display:block;white-space:normal;overflow-wrap:anywhere}
.hero-foot .cv-avs{flex:1 1 auto;min-width:0;overflow:hidden}
.hero-foot.hs-on .cv-hero-qr svg{width:40px;height:40px}
@media (max-width:360px){.hs-c{min-width:38px;padding:0 2px}.hs-c small{font-size:.54rem}}
@media (prefers-reduced-motion:reduce){.hs-c.up b,.hs-plus{animation:none}}


/* 👀 Suivre sans installer */
.fd-cta{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;gap:10px;margin:14px -16px calc(-30px - env(safe-area-inset-bottom));padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  background:linear-gradient(135deg,#2a1238,#6b2fa0 60%,#be185d);color:#fff;box-shadow:0 -10px 30px rgba(42,18,56,.25)}
.fd-wcode{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:14px 0 0;padding:12px 14px;border-radius:16px;background:#fff;border:1px dashed rgba(42,18,56,.25)}.fd-wcode span{flex:1 1 220px}.fd-wcode small{display:block;font-size:.8rem;opacity:.75}.fd-wcode button{border:0;border-radius:999px;padding:8px 14px;background:var(--navy);color:#fff;font:700 .82rem system-ui;cursor:pointer}
.fd-cta span{flex:1;min-width:0}.fd-cta b{display:block;font-size:.92rem}.fd-cta small{display:block;font-size:.72rem;opacity:.85}
.fd-cta button{flex:0 0 auto;border:0;border-radius:22px;padding:10px 14px;background:#fff;color:#2a1238;font:inherit;font-weight:800;font-size:.84rem;cursor:pointer}
#cv-gate .gb{display:flex;flex-direction:column;gap:8px;margin-top:14px}
#cv-gate .gb button{border:1.5px solid rgba(255,255,255,.6);background:transparent;color:#fff;border-radius:22px;padding:10px 14px;font:inherit;font-weight:700}


/* 🌍 Survol 3D */
#cv-world.wm-cine .wm-top,#cv-world.wm-cine .wm-bottom,#cv-world.wm-cine .wm-chips,#cv-world.wm-cine .wm-story,#cv-world.wm-cine .maplibregl-ctrl-top-right,#cv-world.wm-cine .maplibregl-marker{display:none!important}
#cv-world.wm-cine .maplibregl-ctrl-bottom-right,#cv-world.wm-cine .maplibregl-ctrl-bottom-left{bottom:auto;left:auto;right:6px;top:calc(var(--sat,env(safe-area-inset-top,0px)) + 56px);max-width:62%;opacity:.6;font-size:9px}
#wm-cine{position:absolute;inset:0;z-index:6;pointer-events:none;color:#fff}
#wm-cine button{pointer-events:auto}
.ci-bar{position:absolute;top:calc(var(--sat,env(safe-area-inset-top,0px)) + 10px);left:12px;right:12px;display:flex;align-items:center;gap:10px}
.ci-x{width:40px;height:40px;border-radius:50%;border:0;background:rgba(0,0,0,.45);color:#fff;font-size:18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ci-rec{font-size:.8rem;font-weight:700;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.ci-title{position:absolute;left:24px;right:24px;top:38%;text-align:center;transition:opacity .8s,transform .8s;text-shadow:0 2px 18px rgba(0,0,0,.7)}
.ci-title small{display:block;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.ci-title b{display:block;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:2.3rem;line-height:1.1;margin:8px 0}
.ci-title span{font-size:.95rem;opacity:.9}.ci-title.out{opacity:0;transform:translateY(-20px)}
.ci-cap{position:absolute;left:14px;right:14px;bottom:calc(env(safe-area-inset-bottom,0px) + 22px);opacity:0;transform:translateY(24px);transition:opacity .5s,transform .5s}
.ci-cap.in{opacity:1;transform:none}
.ci-ph{border-radius:20px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.5);margin-bottom:10px;max-height:42vh}
.ci-ph img{display:block;width:100%;max-height:42vh;object-fit:cover;animation:ciKen 6s ease-out both}
@keyframes ciKen{from{transform:scale(1.12)}to{transform:scale(1)}}
.ci-tx{text-align:center;text-shadow:0 2px 12px rgba(0,0,0,.8)}
.ci-n{display:inline-block;font-size:.75rem;font-weight:800;background:rgba(255,59,107,.9);border-radius:10px;padding:2px 8px;margin-bottom:6px}
.ci-tx b{display:block;font-size:1.35rem;line-height:1.2}.ci-tx small{display:block;font-size:.82rem;opacity:.9;margin-top:3px}
.ci-tx p{font-size:.85rem;opacity:.9;margin:6px auto 0;max-width:34ch}
.ci-end{position:absolute;left:18px;right:18px;bottom:calc(env(safe-area-inset-bottom,0px) + 24px);text-align:center;background:rgba(10,8,30,.6);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:22px;padding:18px 16px;animation:sheetUp .4s ease-out}
.ci-end b{display:block;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:1.6rem}
.ci-end>span{display:block;color:#ffd28a;font-weight:800;margin:4px 0 12px}.ci-end>span i{font-style:normal}
.ci-btns{display:flex;flex-direction:column;gap:8px}
.ci-btns button{border:0;border-radius:22px;padding:11px 14px;font:inherit;font-weight:800;background:#fff;color:#2a1238}
.ci-btns button+button{background:rgba(255,255,255,.14);color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}


.wr-img{display:block;width:min(100%,300px);margin:4px auto 12px;border-radius:18px;box-shadow:0 14px 34px rgba(42,18,56,.35)}


.otd-k{display:inline-block;background:linear-gradient(135deg,#ff3b6b,#a855f7);color:#fff;border-radius:14px;padding:3px 10px;font-weight:800;font-size:.78rem;margin-bottom:10px}
.otd-ph{display:block;width:100%;border:0;padding:0;border-radius:18px;overflow:hidden;margin-bottom:10px;box-shadow:0 12px 28px rgba(42,18,56,.25)}
.otd-ph img{display:block;width:100%;max-height:46vh;object-fit:cover}
.otd-t b{display:block;font-size:1.05rem}.otd-t small{display:block;color:var(--gray);margin-top:2px}.otd-t p{margin:8px 0 0;font-size:.9rem;line-height:1.45}


/* 🏅 Badges */
.bdg-w{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#2a1238,#6b2fa0);color:#fff;border-radius:22px;padding:16px;margin-bottom:14px}
.bdg-w .v-sum-small{color:rgba(255,255,255,.8)}
.bdg-ring{flex:0 0 104px;width:104px;height:104px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:radial-gradient(closest-side,#3b1a5c 78%,transparent 80% 100%),conic-gradient(#ffd28a calc(var(--p)*1%),rgba(255,255,255,.18) 0)}
.bdg-ring b{font-size:1.15rem}.bdg-ring small{font-size:.75rem;opacity:.85}
.bdg-big{font-size:2rem;font-family:var(--display,Georgia),serif;font-style:italic}
.bdg-fl{font-size:1.1rem;margin:4px 0;line-height:1.5}
.bdg-h{display:flex;justify-content:space-between;align-items:baseline;margin:6px 2px 10px}.bdg-h small{color:var(--gray);font-weight:600}
.bdg-g{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.bdg-c{background:#fff;border-radius:16px;padding:10px 8px;text-align:center;box-shadow:0 2px 10px rgba(42,18,56,.06);opacity:.55;filter:grayscale(1)}
.bdg-c.ok{opacity:1;filter:none;box-shadow:0 6px 18px rgba(255,159,67,.25);background:linear-gradient(160deg,#fff,#fff6e6)}
.bdg-c i{display:block;font-style:normal;font-size:1.7rem}.bdg-c b{display:block;font-size:.78rem;margin-top:4px}.bdg-c small{display:block;font-size:.75rem;color:var(--gray);margin-top:2px}
.bdg-p{display:block;height:5px;border-radius:3px;background:#eee;margin-top:6px;overflow:hidden}.bdg-p span{display:block;height:100%;background:linear-gradient(90deg,#a855f7,#ff3b6b)}


/* 📊 Analyse des dépenses */
.an{display:flex;align-items:center;gap:12px}.an-d{flex:0 0 132px;width:132px;height:132px}
.an-t1{font-weight:800;font-size:15px;fill:var(--ink,#2a1238)}.an-t2{font-size:10px;fill:#6b5670}
.an-leg{flex:1;min-width:0}.an-l{display:grid;grid-template-columns:10px 1fr auto;gap:2px 6px;align-items:center;font-size:.78rem;padding:3px 0}
.an-l i{width:10px;height:10px;border-radius:3px}.an-l small{grid-column:2/4;color:#6b5670;font-size:.75rem;margin-top:-3px}
.an-k{display:flex;gap:8px;margin-top:12px}.an-k>div{flex:1;background:#faf6fd;border-radius:14px;padding:8px;text-align:center}
.an-k b{display:block;font-size:.95rem}.an-k small{display:block;font-size:.75rem;color:#6b5670}.an-k .bad b{color:#b91c1c}.an-k .ok b{color:#15803d}
.an-bars{display:flex;align-items:flex-end;gap:2px;height:90px;padding:4px 0;border-bottom:1px solid #eadfe6}
.an-bars span{flex:1;height:100%;display:flex;align-items:flex-end}.an-bars i{display:block;width:100%;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#a855f7,#ec4899)}
.an-bars span.on i{background:#f97316}.an-ax{display:flex;justify-content:space-between;font-size:.66rem;color:#6b5670}
.an-r{display:flex;justify-content:space-between;gap:8px;font-size:.82rem;padding:6px 0;border-top:1px dashed #eadfe6}
/* 🧳 Valise intelligente */
.sp-card{display:flex;align-items:center;gap:10px;width:100%;border:0;border-radius:18px;padding:12px 14px;margin-bottom:12px;background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;font:inherit;text-align:left;cursor:pointer}
.sp-card i{font-style:normal;font-size:1.6rem}.sp-card b{display:block}.sp-card small{display:block;opacity:.9;font-size:.74rem}
.sp-r{display:flex;align-items:flex-start;gap:10px;padding:8px 2px;border-bottom:1px solid #f1e8f3;font-size:.9rem}
.sp-r input{margin-top:3px;width:18px;height:18px;accent-color:#7c3aed}.sp-r small{display:block;color:#6b5670;font-size:.72rem}.sp-r.has{opacity:.55}


.ps-how{background:#f3eefc;border-radius:14px;padding:10px 12px 10px 30px;font-size:.86rem;line-height:1.5;margin:0}
.ps-msg{font-weight:700;color:#7c3aed;min-height:1.2em;margin:6px 0}
.ps-pick{display:flex;align-items:center;justify-content:center;cursor:pointer}


/* 📊 Compteurs : une barre claire sous la photo d’en-tête, au-dessus des onglets */
#appC>.cv-hstats{display:flex;width:100%;margin:12px 0 0;padding:9px 4px;gap:0;border-radius:18px;background:#fff;color:var(--navy,#2A1238);
  -webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 6px 18px -10px rgba(74,26,79,.4),inset 0 0 0 1px rgba(74,26,79,.08)}
#appC>.cv-hstats .hs-c{flex:1 1 0;min-width:0;padding:0 4px}
#appC>.cv-hstats .hs-c+.hs-c{box-shadow:-1px 0 0 rgba(74,26,79,.12)}
#appC>.cv-hstats .hs-c b{font-size:1.22rem;text-shadow:none}
#appC>.cv-hstats .hs-c small{font-size:.72rem;opacity:.68;margin-top:3px}
#appC>.cv-hstats .hs-c.up b{color:#ff3b6b}
#appC>.cv-hstats .hs-plus{top:-12px;right:12%}
#appC>.cv-hstats+#vz-band:empty+.cv-sub{padding-top:10px}
/* 🌍 Survol 3D : plus de crédits par-dessus la carte (ils sont rappelés en petit sur l’écran de fin) */
#cv-world.wm-cine .maplibregl-ctrl-bottom-right,#cv-world.wm-cine .maplibregl-ctrl-bottom-left,#cv-world.wm-cine .maplibregl-ctrl-attrib{display:none!important}
#wm-cine.no-cap .ci-tx{display:none}
.ci-cred{display:block;margin-top:10px;font-size:.62rem;opacity:.5}
#wm-cpre{position:absolute;inset:0;z-index:6;pointer-events:none}
.cp-card{pointer-events:auto;position:absolute;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);max-height:calc(100% - var(--sat,env(safe-area-inset-top,0px)) - 36px);overflow:auto;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:rgba(10,8,30,.74);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:24px;padding:16px 16px 18px;color:#fff;
  box-shadow:0 20px 50px rgba(0,0,0,.45);animation:sheetUp .35s ease-out}
.cp-x{position:absolute;top:12px;right:12px;width:36px;height:36px;font-size:16px}
.cp-k{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;opacity:.8;padding-right:44px}
.cp-t{display:block;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:1.6rem;line-height:1.15;margin:4px 44px 4px 0}
.cp-sum{color:#ffd28a;font-weight:800;font-size:.9rem;margin-bottom:12px}
.cp-opt{margin:2px 0 14px}
.cp-l{display:flex;align-items:center;gap:8px;font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;opacity:.8;margin:14px 0 7px}
.cp-n{font-weight:700;opacity:.8;text-transform:none;letter-spacing:0}
.cp-in{width:100%;box-sizing:border-box;border:0;border-radius:14px;padding:11px 13px;font:inherit;font-size:16px;background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.cp-in::placeholder{color:rgba(255,255,255,.5)}
.cp-row{display:flex;flex-wrap:wrap;gap:7px}
.cp-ch{border:0;border-radius:18px;padding:8px 12px;font:inherit;font-size:.84rem;font-weight:700;background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.cp-ch.on{background:#fff;color:#2a1238;box-shadow:none}
.cp-tg:not(.on){opacity:.72}
.cp-sw{width:36px;height:36px;border-radius:50%;border:3px solid rgba(255,255,255,.25)}
.cp-sw.on{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.35)}
.cp-steps{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.cp-st{display:flex;align-items:center;gap:10px;width:100%;border:0;border-radius:14px;padding:6px 10px 6px 8px;font:inherit;text-align:left;background:rgba(255,255,255,.07);color:#fff;opacity:.55}
.cp-st.on{background:rgba(255,255,255,.16);opacity:1}
.cp-ck{flex:0 0 22px;height:22px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:900;box-shadow:inset 0 0 0 2px rgba(255,255,255,.5)}
.cp-st.on .cp-ck{background:#ff3b6b;box-shadow:none}
.cp-st img[data-ph]{flex:0 0 42px;width:42px;height:42px;border-radius:10px;object-fit:cover;background:rgba(255,255,255,.1)}
.cp-st>i{flex:0 0 42px;height:42px;display:flex;align-items:center;justify-content:center;font-style:normal;border-radius:10px;background:rgba(255,255,255,.08)}
.cp-nm{min-width:0;flex:1}.cp-nm b{display:block;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-nm small{display:block;font-size:.72rem;opacity:.75}
/* ✨ Récap : aperçu et réglages */
.wr-box{position:relative;width:min(100%,300px);aspect-ratio:9/16;margin:4px auto 12px;border-radius:18px;background:linear-gradient(135deg,#1a0b3d,#6b2fa0);box-shadow:0 14px 34px rgba(42,18,56,.35);overflow:hidden}
.wr-box .wr-img{position:absolute;inset:0;width:100%;height:100%;margin:0;border-radius:0;box-shadow:none;object-fit:cover}
.wr-box .wr-img:not([src]){visibility:hidden}
.wr-wait{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);white-space:nowrap;background:rgba(0,0,0,.55);color:#fff;font-size:.78rem;font-weight:700;border-radius:14px;padding:6px 12px}
.wr-wait[hidden]{display:none}
.wr-opt{margin:0 0 12px;border-radius:18px;background:#fff;box-shadow:inset 0 0 0 1px rgba(74,26,79,.12);padding:0 14px}
.wr-opt>summary{list-style:none;cursor:pointer;padding:14px 0;font-weight:800;color:var(--navy,#2A1238)}
.wr-opt>summary::-webkit-details-marker{display:none}
.wr-opt[open]{padding-bottom:14px}
.wr-opt .cp-l{color:var(--navy,#2A1238);opacity:.7}
.wr-opt .cp-l:first-of-type{margin-top:0}
.wr-opt .cp-in{background:#f6f1f7;color:#2a1238;box-shadow:inset 0 0 0 1px rgba(74,26,79,.14)}
.wr-opt .cp-in::placeholder{color:rgba(42,18,56,.45)}
.wr-opt .cp-ch{background:#f6f1f7;color:#2a1238;box-shadow:inset 0 0 0 1px rgba(74,26,79,.14)}
.wr-opt .cp-ch.on{background:#2a1238;color:#fff;box-shadow:none}
.wr-opt .cp-tg:not(.on){opacity:.6}
.cp-th{display:inline-flex;align-items:center;gap:6px}.cp-th i{width:16px;height:16px;border-radius:50%;display:inline-block}
.cp-reset{margin-top:14px;border:0;background:none;font:inherit;font-size:.82rem;font-weight:700;color:#8a6f93;padding:4px 0}
.wr-phs{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:none}
.wr-ph{flex:0 0 58px;height:78px;border:0;border-radius:12px;padding:0;overflow:hidden;background:#eee;box-shadow:inset 0 0 0 1px rgba(74,26,79,.12);position:relative}
.wr-ph img[data-ph]{width:100%;height:100%;object-fit:cover;display:block}
.wr-ph.on{box-shadow:0 0 0 3px #ff3b6b}
.wr-none{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:1.3rem;background:linear-gradient(135deg,#1a0b3d,#6b2fa0);color:#fff}
.wr-none small{font-size:.58rem;font-weight:700}


.cp-mus{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-16px;padding-right:16px}.cp-mus .cp-ch{flex:0 0 auto;white-space:nowrap}
.ps-bgnote{margin:10px 0 4px;padding:10px 12px;border-radius:14px;background:#fff6e5;color:#5a3b10;font-size:.82rem;line-height:1.4}
.ps-pill{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(88px + env(safe-area-inset-bottom));z-index:700;display:flex;align-items:center;gap:8px;
  max-width:calc(100% - 32px);border:0;border-radius:22px;padding:10px 16px;background:#2a1238;color:#fff;font:inherit;font-size:.82rem;font-weight:700;
  box-shadow:0 10px 26px rgba(42,18,56,.45);white-space:nowrap;animation:sheetUp .3s ease-out}
.ps-pill span{overflow:hidden;text-overflow:ellipsis}
.ps-pill .ps-st{opacity:.75;font-weight:600}
.ps-pill.done{background:#14824a}
.ps-pill.done b{background:#fff;color:#14824a;border-radius:12px;padding:3px 10px}
.ps-spin{flex:0 0 14px;width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;animation:psSpin .9s linear infinite}
@keyframes psSpin{to{transform:rotate(360deg)}}


/* survol : choix de la photo d’une étape */
.cp-st{padding:6px 10px 6px 6px}
.cp-tk{border:0;background:none;color:inherit;font:inherit;padding:4px;text-align:left;display:flex;align-items:center}
.cp-tk.cp-nm{display:block;flex:1;min-width:0;padding:4px 0}
.cp-th{position:relative;flex:0 0 42px;border:0;padding:0;background:none;border-radius:10px}
.cp-th.open{box-shadow:0 0 0 2px #ffd28a}
.cp-th em{position:absolute;right:-5px;bottom:-5px;font-style:normal;font-size:.75rem;font-weight:800;background:#ff3b6b;color:#fff;border-radius:8px;padding:1px 5px}
.cp-phs{margin:-2px 0 4px;padding:8px 10px 10px;border-radius:14px;background:rgba(255,255,255,.08)}
.cp-phs small{display:block;font-size:.72rem;opacity:.8;margin-bottom:6px}
.cp-phs>div{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.cp-phs button{flex:0 0 64px;height:64px;border:0;padding:0;border-radius:10px;overflow:hidden;background:rgba(255,255,255,.1)}
.cp-phs button.on{box-shadow:inset 0 0 0 3px #ff3b6b}
.cp-phs img[data-ph]{width:100%;height:100%;object-fit:cover;display:block}
/* récap : photos au choix */
.wr-more{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:1.4rem;color:#2a1238;background:#f6f1f7}
.wr-more small,.wr-slot small{font-size:.58rem;font-weight:700}
.wr-slots{display:flex;gap:10px}.wr-slots.off{opacity:.45}
.wr-slot{position:relative}
.wr-slot .wr-ph{flex:none;width:84px;height:84px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#2a1238}
.wr-slot .wr-ph small{position:absolute;left:0;right:0;bottom:0;background:rgba(42,18,56,.7);color:#fff;padding:3px 0}
.wr-sx{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:0;background:#2a1238;color:#fff;font-size:.7rem;padding:0}
.wr-pick{margin-top:14px;padding:12px;border-radius:16px;background:#f6f1f7}
.wr-pk-h{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:#2a1238}.wr-pk-h b{flex:1}
.wr-pk-h button{width:30px;height:30px;border-radius:50%;border:0;background:#fff;color:#2a1238}
.wr-pick select.cp-in{background:#fff}
.wr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:10px}
.wr-grid button{aspect-ratio:1;border:0;padding:0;border-radius:8px;overflow:hidden;background:#e9e1ec}
.wr-grid img[data-ph]{width:100%;height:100%;object-fit:cover;display:block}
.wr-pk-more{width:100%;margin-top:10px}

.fd-ph img.miss{opacity:0}.fd-ph span:has(>img.miss),.fd-ph button:has(>img.miss){background:#f3e9ee url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Ctext x='20' y='27' font-size='20' text-anchor='middle'%3E%E2%8F%B3%3C/text%3E%3C/svg%3E") center/40px no-repeat!important}

.sw-row{display:flex;flex-direction:column;align-items:center;gap:2px}.sw-row small{font-size:.72rem;font-weight:600;opacity:.85}
.cv-folg{border-top:1px solid var(--light)}.cv-folg:first-of-type{border-top:0}.cv-folg>summary{display:flex;align-items:center;gap:10px;padding:10px 2px;cursor:pointer;list-style:none}.cv-folg>summary::-webkit-details-marker{display:none}.cv-folg>summary>i{flex:none;width:30px;height:30px;border-radius:50%;background:var(--navy,#2A1238);color:#fff;font-style:normal;font-weight:800;display:flex;align-items:center;justify-content:center}.cv-folg>summary>b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cv-folg>summary>small{color:var(--gray);font-size:.8rem}.cv-folg>summary::after{content:'›';color:var(--gray);transition:transform .2s}.cv-folg[open]>summary::after{transform:rotate(90deg)}.cv-folg .cv-prow{margin-left:40px;width:calc(100% - 40px)}.cv-folg .cv-badge{position:static;transform:none;flex:none;margin:0 2px}
.fd-ph .fd-more-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;border:0;border-radius:12px;background:var(--navy,#2A1238);color:#fff;font:inherit;cursor:pointer}.fd-ph:not(.grid) .fd-more-ph{flex:0 0 40%;aspect-ratio:auto}.fd-more-ph b{font-size:1.4rem}.fd-more-ph small{font-size:.75rem;opacity:.85}
.cv-cgu-line{text-align:center;margin:0 0 8px;line-height:1.35}.cv-cgu-line a{color:var(--ink);text-decoration:underline}
.sh-tabs{display:flex;gap:6px;position:sticky;top:-8px;z-index:3;background:var(--cream);padding:6px 0 10px;margin-bottom:4px}.sh-tab{flex:1;min-width:0;position:relative;border:1.5px solid var(--light);background:#fff;border-radius:14px;padding:9px 4px;font:700 .8rem/1.15 var(--ui);color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px}.sh-tab.on{background:var(--ink,#2A1238);border-color:var(--ink,#2A1238);color:#fff}.sh-tab .cv-badge{top:-6px;right:-4px}
.sh-hub[data-on="comp"] .sh-tb:not([data-t~="comp"]),.sh-hub[data-on="ab"] .sh-tb:not([data-t~="ab"]),.sh-hub[data-on="suis"] .sh-tb:not([data-t~="suis"]){display:none!important}
.cv-phrow{gap:8px}.cv-phrow .cv-addph{flex:1;margin:0}
.qr-btn{width:100%;margin:0 0 10px}
.pl-exp{margin:0 0 12px}
.sh-fwn{border:0;background:none;font:inherit;color:inherit;padding:0;text-decoration:underline dotted;cursor:pointer}.sh-fwn.unk{color:#a06d00;font-weight:700}
.fd-name{margin:10px 16px 0;padding:12px;border-radius:14px;background:#fff7e6;border:1px solid #f5d38a;display:flex;flex-direction:column;gap:8px}.fd-name small{display:block;color:var(--gray);font-weight:400}.fd-name .v-in{flex:1;margin:0}
.home-fol{margin:0 0 14px}.home-fol .sh-sec{font-weight:800;font-size:1.05rem;margin:2px 4px 8px}
.ed-imp{margin:0 0 12px}.cv-tripact{flex-wrap:wrap}.cv-tripact .cv-ta-w{flex:1 1 100%}
.cv-folr{display:flex;align-items:center;gap:6px;margin-left:40px}.cv-folr .cv-prow{margin-left:0!important;width:auto!important;flex:1;min-width:0}.cv-folall{margin:4px 0 10px 40px}.fd-unf{padding:8px 16px 4px;display:flex;flex-direction:column;gap:8px}.fd-unf .v-btn{margin:0}
.wz-pp{border:1px solid var(--line,#eadde6);border-radius:14px;padding:10px;margin-bottom:8px;background:#fff}.wz-pl{display:grid;grid-template-columns:76px 1fr 112px;gap:6px;align-items:center;margin-top:6px}.wz-pl span{font-size:.8rem;font-weight:700;color:var(--gray)}.wz-pl .v-in{margin:0;min-width:0}
.cv-pend{padding:10px 12px}.cv-pend-r{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:4px 0}.cv-pend-r small{color:var(--gray)}.cv-pend-r .v-day-edit{margin-left:6px}
.qr-ov{position:fixed;inset:0;z-index:2147483000;background:#000;display:flex;align-items:center;justify-content:center}
.qr-ov video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.qr-frame{position:relative;width:min(70vw,300px);aspect-ratio:1;border:3px solid #fff;border-radius:22px;box-shadow:0 0 0 100vmax rgba(0,0,0,.45)}
.qr-top{position:absolute;left:0;right:0;top:0;padding:calc(env(safe-area-inset-top) + 14px) 16px 14px;display:flex;align-items:center;gap:12px;color:#fff;font-weight:700;font-size:16px}
.qr-top span{flex:1}
.qr-x{width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.2);color:#fff;font-size:20px}
.qr-msg{position:absolute;left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom) + 86px);color:#fff;text-align:center;font-size:15px;text-shadow:0 1px 3px #000}
.qr-ov .qr-ph{position:absolute;left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom) + 18px);margin:0;width:auto;background:#fff;color:#2A1238;border-color:#fff}
.sh-sec{font-weight:800;font-size:.95rem;color:var(--navy,#2A1238);margin:2px 0 8px}
.sh-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.sh-links button{border:0;background:#f3ecf6;color:#2a1238;border-radius:14px;padding:7px 11px;font:inherit;font-size:.8rem;font-weight:700}
.sh-note{margin-top:12px;padding:12px;border-radius:14px;background:#f6f1f7;font-size:.85rem;line-height:1.4}
@media (max-width:419px){.cv-socpill small{display:none}}
details.sh-more>summary{cursor:pointer;font-weight:800;padding:10px 0;color:var(--navy,#2A1238)}


/* 🌌 Voyages terminés : bleu nuit étoilé */
body.cv-ph-past{--navy:#0E1838;--navy2:#1E2C5C;--sun1:#F3D58A;--sun2:#7F93DA;--sun3:#3A4B8E;--light:#E1E7F7;--cream:#F4F6FC;--gray:#7A84A6;--sunset:linear-gradient(120deg,#A7B8F2,#5B6FC6 55%,#26346E)}
body.cv-ph-past .hero{background:radial-gradient(2.4px 2.4px at 6% 14%, rgba(255,255,255,0.95) 50%, transparent 51%),radial-gradient(1.5px 1.5px at 14% 58%, rgba(255,255,255,0.7) 50%, transparent 51%),radial-gradient(2.0px 2.0px at 21% 30%, rgba(255,255,255,0.85) 50%, transparent 51%),radial-gradient(1.5px 1.5px at 29% 8%, rgba(255,255,255,0.6) 50%, transparent 51%),radial-gradient(2.7px 2.7px at 34% 46%, rgba(255,255,255,0.9) 50%, transparent 51%),radial-gradient(1.5px 1.5px at 42% 22%, rgba(255,255,255,0.7) 50%, transparent 51%),radial-gradient(1.8px 1.8px at 49% 64%, rgba(255,255,255,0.6) 50%, transparent 51%),radial-gradient(2.2px 2.2px at 55% 12%, rgba(255,255,255,0.9) 50%, transparent 51%),radial-gradient(1.5px 1.5px at 61% 38%, rgba(255,255,255,0.65) 50%, transparent 51%),radial-gradient(1.8px 1.8px at 68% 26%, rgba(255,255,255,0.8) 50%, transparent 51%),radial-gradient(1.5px 1.5px at 73% 6%, rgba(255,255,255,0.6) 50%, transparent 51%),radial-gradient(2.4px 2.4px at 79% 48%, rgba(255,255,255,0.85) 50%, transparent 51%),radial-gradient(1.5px 1.5px at 86% 18%, rgba(255,255,255,0.7) 50%, transparent 51%),radial-gradient(2.0px 2.0px at 92% 34%, rgba(255,255,255,0.8) 50%, transparent 51%),radial-gradient(1.5px 1.5px at 96% 60%, rgba(255,255,255,0.6) 50%, transparent 51%),radial-gradient(1.5px 1.5px at 10% 82%, rgba(255,255,255,0.5) 50%, transparent 51%),radial-gradient(1.8px 1.8px at 38% 86%, rgba(255,255,255,0.5) 50%, transparent 51%),radial-gradient(1.5px 1.5px at 64% 80%, rgba(255,255,255,0.5) 50%, transparent 51%),radial-gradient(2.1px 2.1px at 26% 70%, rgba(255,255,255,0.6) 50%, transparent 51%),radial-gradient(1.5px 1.5px at 48% 36%, rgba(255,255,255,0.75) 50%, transparent 51%),radial-gradient(120% 90% at 85% 115%, rgba(91,111,198,.6) 0%, rgba(38,52,110,.4) 38%, transparent 70%),linear-gradient(180deg,#050A1E 0%,#0E1838 60%,#1E2C5C 100%)}
body.cv-ph-past .hero-sun{background:radial-gradient(circle at 50% 40%, #FFF8E1 0%, #F3D58A 28%, rgba(243,213,138,0) 66%);opacity:.5}
body.cv-ph-past .cv-nav{background:rgba(14,24,56,.94);box-shadow:0 14px 34px -10px rgba(14,24,56,.6)}
body.cv-ph-past .cv-disc-card{border-color:#C8D2F0;box-shadow:0 4px 14px rgba(38,52,110,.12)}
body.cv-ph-past .cv-disc-card .dt{color:#1E2C5C}
body.cv-ph-past .cv-disc-card .dc button{background:#E6EBF8;color:#1E2C5C}
body.cv-ph-past .cv-disc-card .dc button.cy{background:#fff;border-color:#C8D2F0}
body.cv-ph-past .cv-disc-card .dc button.add{background:#1E2C5C;color:#fff}
.cv-bhero{background:radial-gradient(2.4px 2.4px at 6% 14%, rgba(255,255,255,0.95) 50%, transparent 51%),radial-gradient(1.5px 1.5px at 14% 58%, rgba(255,255,255,0.7) 50%, transparent 51%),radial-gradient(2.0px 2.0px at 21% 30%, rgba(255,255,255,0.85) 50%, transparent 51%),radial-gradient(1.5px 1.5px at 29% 8%, rgba(255,255,255,0.6) 50%, transparent 51%),radial-gradient(2.7px 2.7px at 34% 46%, rgba(255,255,255,0.9) 50%, transparent 51%),radial-gradient(1.5px 1.5px at 42% 22%, rgba(255,255,255,0.7) 50%, transparent 51%),radial-gradient(1.8px 1.8px at 49% 64%, rgba(255,255,255,0.6) 50%, transparent 51%),radial-gradient(2.2px 2.2px at 55% 12%, rgba(255,255,255,0.9) 50%, transparent 51%),radial-gradient(1.5px 1.5px at 61% 38%, rgba(255,255,255,0.65) 50%, transparent 51%),radial-gradient(1.8px 1.8px at 68% 26%, rgba(255,255,255,0.8) 50%, transparent 51%),radial-gradient(1.5px 1.5px at 73% 6%, rgba(255,255,255,0.6) 50%, transparent 51%),radial-gradient(2.4px 2.4px at 79% 48%, rgba(255,255,255,0.85) 50%, transparent 51%),radial-gradient(1.5px 1.5px at 86% 18%, rgba(255,255,255,0.7) 50%, transparent 51%),radial-gradient(2.0px 2.0px at 92% 34%, rgba(255,255,255,0.8) 50%, transparent 51%),radial-gradient(1.5px 1.5px at 96% 60%, rgba(255,255,255,0.6) 50%, transparent 51%),radial-gradient(1.5px 1.5px at 10% 82%, rgba(255,255,255,0.5) 50%, transparent 51%),radial-gradient(1.8px 1.8px at 38% 86%, rgba(255,255,255,0.5) 50%, transparent 51%),radial-gradient(1.5px 1.5px at 64% 80%, rgba(255,255,255,0.5) 50%, transparent 51%),radial-gradient(2.1px 2.1px at 26% 70%, rgba(255,255,255,0.6) 50%, transparent 51%),radial-gradient(1.5px 1.5px at 48% 36%, rgba(255,255,255,0.75) 50%, transparent 51%),radial-gradient(110% 80% at 100% 0%, rgba(127,147,218,.45), transparent 60%),linear-gradient(150deg,#050A1E 0%,#0E1838 55%,#2B3C7E 100%);box-shadow:0 12px 30px rgba(14,24,56,.35)}
.bh-b .pri{background:#F3D58A;color:#0E1838}
.cv-moment.home .mo-card{background:linear-gradient(160deg,#050A1E,#0E1838 55%,#2B3C7E)}
body.cv-ph-past .cv-sub .active,body.cv-ph-past .cv-sub .on{background:#0E1838!important;color:#fff}
body .cv-live.done{background:linear-gradient(135deg,#0E1838,#2B3C7E)}


.ps-ask{display:flex;flex-direction:column;gap:8px;text-align:center}.ps-ask .ui-msg{margin-bottom:4px}.ps-ask small{font-size:.76rem;opacity:.75;margin:-2px 0 4px}
.ps-ask .v-btn{margin:0}.ps-ask .cv-checkline{justify-content:center;font-size:.82rem;margin-top:4px}


.hdr-chips{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.hdr-chips:empty{display:none}
.hdr-chips span{background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;padding:4px 10px;font-size:.78rem;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.hdr-chips b{font-weight:800}.hdr-chips i{font-style:normal;opacity:.85}
.hero-foot .cv-hero-qr{margin-left:auto}


/* 🛂 Formalités par pays (liste de bagages) */
.bg-ents{display:flex;flex-direction:column;gap:6px;margin:0 0 12px}
.bg-ent{display:flex;flex-direction:column;gap:2px;background:#f6f1fb;border-radius:12px;padding:8px 10px;font-size:.84rem}
.bg-ent b{font-size:.92rem}
.bg-ent i{font-style:normal}
/* 🏅 Nouveau badge */
.bdg-pop{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom,0px));z-index:9800;display:flex;align-items:center;gap:12px;width:min(92vw,380px);border:0;border-radius:20px;padding:12px 16px;text-align:left;font:inherit;color:#fff;background:linear-gradient(135deg,#2a1238,#6b2fa0 60%,#f0a35e);box-shadow:0 14px 34px rgba(42,18,56,.45);transform:translate(-50%,140%);opacity:0;transition:transform .45s cubic-bezier(.2,.9,.3,1.2),opacity .3s}
.bdg-pop.show{transform:translate(-50%,0);opacity:1}
.bdg-pop>i{font-size:40px;font-style:normal;line-height:1;animation:bdgspin 1s ease .3s}
.bdg-pop>i img.vi{width:42px;height:42px}
.bdg-pop span{display:flex;flex-direction:column;gap:1px;min-width:0}
.bdg-pop small{font-size:.72rem;opacity:.85;font-weight:700}
.bdg-pop b{font-size:1.05rem}
.bdg-pop em{font-style:normal;font-size:.8rem;opacity:.9}
@keyframes bdgspin{0%{transform:scale(.4) rotate(-30deg)}60%{transform:scale(1.25) rotate(10deg)}100%{transform:scale(1) rotate(0)}}
/* 🔁 Doublons */
.dup-g span{display:flex;flex-direction:column;gap:2px}.dup-g small{font-size:.75rem;color:var(--gray)}
/* 📤 Invitation guidée, rejoindre, avec qui */
.iv-step{display:flex;flex-direction:column;gap:2px;background:#f6f1fb;border-radius:12px;padding:8px 10px;margin:8px 0 4px;font-size:.85rem}
.iv-qr .cv-share-qr{width:min(56vw,210px)}
.jp-who{display:flex;flex-direction:column;gap:6px}
.jp-p{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:12px;background:#f6f1fb}
.jp-p small{color:var(--gray)}
.fol-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:2px 0 12px}
.fol-t{position:relative}.fol-c{display:block;width:100%;padding:0;border:0;text-align:left;background:#fffaf0;border-radius:6px;overflow:hidden;box-shadow:0 1px 0 #efe4cc,0 6px 14px rgba(60,40,20,.12);cursor:pointer;color:var(--ink)}
.fol-im{display:block;aspect-ratio:4/3;background:var(--tg);position:relative;overflow:hidden}.fol-im img{width:100%;height:100%;object-fit:cover;display:block}
.fol-c .cv-badge{position:absolute;top:8px;left:8px}
.fol-tx{display:flex;flex-direction:column;gap:2px;padding:8px 10px 10px}.fol-tx b{font:600 .98rem/1.2 var(--ui);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.fol-tx small{font-size:.74rem;color:var(--gray)}
.fol-x{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:50%;border:0;background:rgba(20,14,38,.55);color:#fff;font-size:.72rem;cursor:pointer}
.fd-bell{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;align-items:center;text-align:left;box-sizing:border-box;width:auto;max-width:calc(100% - 32px);margin:8px 16px 4px;padding:12px 14px;border:2px solid #E4B44A;border-radius:16px;background:#FFF7E0;color:#2A1238;cursor:pointer}.fd-bell span{grid-row:span 2;font-size:1.6rem}.fd-bell b{font:700 1.02rem/1.2 var(--ui)}.fd-bell small{font:500 .85rem/1.3 var(--ui);opacity:.75}
.fd-back{display:flex;align-items:center;justify-content:center;gap:12px;width:calc(100% - 24px);margin:10px 12px 4px;padding:16px 18px;border:0;border-radius:16px;background:#2A1238;color:#fff;font:700 1.08rem/1.2 var(--ui);cursor:pointer;box-shadow:0 4px 12px rgba(42,18,56,.25)}
.fd-back span{font-size:1.4rem;line-height:1}
.fd-home .fd-list{overflow-y:auto}
.fd-trips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:8px 12px;background:#fff;border-bottom:1px solid rgba(0,0,0,.06)}
.fd-trips button{flex:0 0 auto;border:0;border-radius:99px;padding:7px 12px;font:600 .82rem inherit;background:#f3eefc;color:#2A1238}
.fd-trips button.on{background:#2A1238;color:#fff}
.sp-ent{display:flex;flex-direction:column;gap:6px;background:#f6f1fb;border-radius:14px;padding:10px 12px;margin:8px 0 6px}
.cov-prev{display:flex;align-items:center;gap:10px}.cov-img{flex:0 0 120px;aspect-ratio:4/3;border-radius:4px;background:var(--tg);background-size:cover;background-position:center;border:5px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.15);transform:rotate(-2deg)}
.cov-prev small{font-size:.72rem;color:var(--gray)}.cov-btns{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.cov-btns label.v-day-edit{cursor:pointer}
.cov-q{display:flex;gap:6px;margin-top:8px}.cov-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0 4px}
.cov-ph{border:0;padding:0;border-radius:8px;overflow:hidden;aspect-ratio:4/3;background:#eee;cursor:pointer}.cov-ph img{width:100%;height:100%;object-fit:cover;display:block}
.sy-diag{display:flex;gap:8px}.sy-diag>div{flex:1;background:#fff;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:2px;box-shadow:var(--shadow)}.sy-diag span{font-size:.75rem;color:var(--gray)}.sy-diag b{font-size:1.3rem}.sy-diag small{font-size:.72rem;color:var(--gray)}
.sp-ent label{font-weight:700;font-size:.85rem}
.sp-ccs{display:flex;flex-wrap:wrap;gap:5px}.sp-cc{display:inline-flex;align-items:center;gap:4px;background:#fff;border:1px solid #e3d6f0;border-radius:14px;padding:3px 4px 3px 9px;font-size:.78rem;font-weight:700}.sp-cc button{border:0;background:#efe6f8;border-radius:50%;width:20px;height:20px;font-size:.65rem;line-height:1;cursor:pointer;color:inherit}
.sp-ent small{font-size:.72rem;color:var(--gray)}
/* 🔔 Cloche de l’accueil */
.hero-foot .cv-bell{margin-left:auto}
.hero-foot .cv-bell+.cv-hero-qr{margin-left:10px}
.cv-bell{position:relative;z-index:2;flex:0 0 auto;align-self:center;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 6px 18px rgba(0,0,0,.25);font-size:21px;line-height:44px;padding:0;cursor:pointer;color:#2A1238}
.cv-bell img.vi{width:24px;height:24px;vertical-align:middle}
.cv-bell-n{position:absolute;top:-4px;right:-4px;min-width:19px;height:19px;padding:0 5px;box-sizing:border-box;border-radius:10px;background:#ff3b30;color:#fff;font:800 11px/19px -apple-system,Roboto,sans-serif;font-style:normal;text-align:center;box-shadow:0 0 0 2px #fff}
.cv-rcp.nw{border-color:#ff3b6b;box-shadow:inset 3px 0 0 #ff3b6b}
body.vz-webf .cv-bell{display:none}
.cv-prow.sc-new{font-weight:800;background:#fff6f9;box-shadow:inset 3px 0 0 #ff3b6b}
