@font-face{font-family:"Outfit";src:url(/fonts/pairs/outfit-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
/* Design neumorphique de tout le site (classe v2 sur <body>) : presque tout en relief, haut et bas épurés.
   Formule neumorphism.io, fond #ece6ea, intensité 0.10 -> ombres #d4cfd3 / #ffffff.
   Accent unique : #FF1F6B. Limité à body.v2. */
body.v2{
  --base:#ece6ea; --dk:#d4cfd3; --lt:#ffffff;
  --pink:#FF1F6B;
  --ink:#2a2329; --muted:#6e6670;
  --page:var(--base); --line:transparent; --focus:var(--pink);
  --raise:8px 8px 16px var(--dk),-8px -8px 16px var(--lt);
  --raise-s:4px 4px 8px var(--dk),-4px -4px 8px var(--lt);
  --raise-xs:2px 2px 5px var(--dk),-2px -2px 5px var(--lt);
  --raise-l:14px 14px 28px var(--dk),-14px -14px 28px var(--lt);
  --press:inset 4px 4px 8px var(--dk),inset -4px -4px 8px var(--lt);
  --press-s:inset 2px 2px 5px var(--dk),inset -2px -2px 5px var(--lt);
  background:var(--base);color:var(--ink);
}
.v2 ::selection{background:var(--pink);color:var(--ink)}
.v2 :focus-visible{outline:2px solid var(--pink);outline-offset:4px}

/* ---------- haut : une seule capsule flottante en relief ---------- */
.v2 .top{background:none;border:0;box-shadow:none;padding:20px 20px 0}
.v2 .top-in{max-width:1112px;min-height:60px;padding:8px 10px 8px 26px;gap:18px;border-radius:99px;background:var(--base);box-shadow:var(--raise);flex-wrap:nowrap}
.v2 .brand{color:var(--ink);font-size:1.1rem;font-weight:700}
.v2 .cities-nav{gap:2px;padding:6px 4px;margin:-6px 0}
.v2 .cities-nav a{background:none;color:var(--muted);font-weight:600;font-size:.92rem;padding:7px 13px}
.v2 .cities-nav a i{display:none}
.v2 .cities-nav a:hover{background:none;color:var(--ink);transform:none}
.v2 .cities-nav a[aria-current]{background:var(--base);color:var(--ink);box-shadow:var(--press-s)}

/* ---------- boutons : tous en relief ---------- */
.v2 .btn{background:var(--base);color:var(--ink);border:0;box-shadow:var(--raise-s);transition:box-shadow .18s,color .18s}
.v2 .btn:hover{transform:none;color:var(--pink)}
.v2 .btn:active{transform:none;box-shadow:var(--press)}
.v2 .btn:not(.ghost){background:var(--pink);color:var(--ink)}
.v2 .btn:not(.ghost):hover{color:var(--ink)}
.v2 .btn:not(.ghost):active{box-shadow:inset 3px 3px 6px rgba(0,0,0,.18)}

/* ---------- hero : sobre, sans cadre ---------- */
.v2 .hero2{padding:96px 0 64px;text-align:center}
.v2 .hero2 .panel{background:none;box-shadow:none;padding:0}
.v2 .sticker,.v2 .kicker{display:none}
.v2 .hero2 h1{font-family:var(--font-head);font-weight:700;font-size:clamp(2.4rem,6.5vw,4.4rem);line-height:1.04;letter-spacing:-.035em;max-width:15ch;margin:0 auto;color:var(--ink)}
.v2 .hero2 .lead{color:var(--muted);max-width:42ch;margin:20px auto 0}
.v2 .cta{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin:36px 0 0}

/* ---------- villes ---------- */
.v2 .tiles2{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:28px;padding:8px 24px}
.v2 .tile{background:var(--base);border-radius:28px;box-shadow:var(--raise);min-height:0;padding:22px 20px;gap:18px;transition:box-shadow .2s}
.v2 .tile:hover{transform:none;box-shadow:var(--press)}
.v2 .tile .art{width:70%;margin:0 auto}
.v2 .tile-name{font-family:var(--font);font-weight:700;font-size:1.1rem;color:var(--ink)}
.v2 .tile-n{color:var(--muted);font-weight:500;font-size:.85rem}

/* ---------- sections ---------- */
.v2 .block{padding-top:88px}
.v2 .sec{font-family:var(--font-head);font-weight:700;color:var(--ink)}

/* ---------- cartes : carte, étiquettes et auteur en relief ---------- */
.v2 .grid{gap:32px}
.v2 .card{background:var(--base);border-radius:28px;box-shadow:var(--raise);transition:box-shadow .2s}
.v2 .card:hover{transform:none;box-shadow:10px 10px 20px var(--dk),-10px -10px 20px var(--lt)}
.v2 .card:active{box-shadow:var(--press)}
.v2 .card-pic{border-radius:0}
.v2 .card-body{padding:20px 22px 22px}
.v2 .card-tags{gap:10px}
.v2 .pill,.v2 .pill.ghost{background:var(--base);box-shadow:var(--raise-xs);padding:4px 12px;color:var(--muted);font-weight:600}
.v2 .pill:not(.ghost){color:var(--pink)}
.v2 .card-title{font-family:var(--font);font-weight:700}
.v2 .card-sum{color:var(--muted)}
.v2 .avatar{box-shadow:var(--raise-xs)}
.v2 .empty{background:var(--base);box-shadow:var(--press);border-radius:28px}

/* ---------- bas : une capsule en relief, marque + liens ---------- */
.v2 .foot{background:none;margin:110px 0 0;padding:0 20px 24px}
.v2 .foot-in{max-width:1112px;align-items:center;padding:18px 18px 18px 30px;border-radius:99px;background:var(--base);box-shadow:var(--raise)}
.v2 .foot-in>div>p:not(.brand){display:none}
.v2 .foot .brand{color:var(--ink);font-size:1rem;font-weight:700;margin:0}
.v2 .foot-links{gap:6px;flex-wrap:wrap;margin:0}
.v2 .foot-links a,.v2 .foot .link{padding:8px 14px;border-radius:99px;color:var(--muted);font-weight:600;font-size:.9rem;text-decoration:none;transition:box-shadow .18s,color .18s}
.v2 .foot-links a:hover,.v2 .foot .link:hover{color:var(--ink);box-shadow:var(--press-s)}

@media (max-width:760px){
  .v2 .top{padding:12px 12px 0}
  .v2 .top-in{flex-wrap:wrap;border-radius:28px;padding:12px 12px 10px 20px;row-gap:6px}
  .v2 .cities-nav{order:3;flex-basis:100%}
  .v2 .lang-switch{margin-left:auto}
  .v2 .hero2{padding:64px 0 44px}
  .v2 .tiles2{grid-template-columns:1fr 1fr;gap:20px;padding:8px 20px}
  .v2 .tile{padding:18px 14px;border-radius:24px;box-shadow:var(--raise-s)}
  .v2 .block{padding-top:64px}
  .v2 .foot{margin-top:72px;padding:0 12px 12px}
  .v2 .foot-in{border-radius:28px;padding:20px;justify-content:center;text-align:center}
  .v2 .foot-links{justify-content:center}
}
@media (prefers-reduced-motion:reduce){.v2 .btn,.v2 .tile,.v2 .card,.v2 .foot-links a{transition:none}}

/* ---------- couleurs : on neutralise les pastels par ville ----------
   Chaque élément reçoit sa palette de ville en style inline (--bg/--fg/--soft) ;
   ici on force tout sur le fond gris + rose unique. */
.v2:not(.orig) [style*="--bg"]{--bg:#ece6ea!important;--fg:#FF1F6B!important;--soft:#ece6ea!important}
/* illustrations de catégorie (cartes sans photo) : monochromes, dans un creux */
.v2 .card-art{background:var(--base);box-shadow:inset 6px 6px 12px var(--dk),inset -6px -6px 12px var(--lt)}
.v2 .cat-art{filter:grayscale(1);opacity:.55}
/* photos des villes : sans ombre portée colorée, simplement arrondies dans la tuile */
.v2 .art.photo{box-shadow:none;border-radius:18px;filter:saturate(.75)}
.v2 .card-pic img{filter:saturate(.85)}
/* avatars et état vide : même gris, en relief */
.v2 .avatar{background:var(--base);color:var(--ink)}
.v2 .empty .art{filter:grayscale(1)}

/* ---------- photos des villes enfoncées dans la tuile ----------
   Le creux est dessiné par-dessus la photo (::after), sinon l'ombre intérieure serait cachée par l'image. */
.v2 .tile .well{position:relative;display:block;border-radius:20px;overflow:hidden}
.v2 .tile .well .art.photo{width:100%;margin:0;border-radius:0;display:block}
.v2 .tile .well::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:inset 7px 7px 14px rgba(0,0,0,.38),inset -5px -5px 10px rgba(255,255,255,.35)}
.v2 .tile:hover .well::after{box-shadow:inset 10px 10px 18px rgba(0,0,0,.45),inset -6px -6px 12px rgba(255,255,255,.4)}
.v2 .tile:hover .art{transform:none}

/* =====================================================================
   ANIMATIONS — elles suivent la logique du relief :
   les surfaces « sortent » du fond en arrivant, s'enfoncent quand on appuie.
   ===================================================================== */
body.v2{--spring:cubic-bezier(.34,1.56,.64,1);--ease:cubic-bezier(.2,.8,.2,1)}
@keyframes v2-capsule{from{opacity:0;transform:translateY(-18px) scale(.98);box-shadow:0 0 0 var(--dk),0 0 0 var(--lt)}}
@keyframes v2-up{from{opacity:0;transform:translateY(16px)}}
@keyframes v2-press-in{0%{box-shadow:0 0 0 var(--dk),0 0 0 var(--lt)}}
@keyframes v2-glow{0%,100%{box-shadow:4px 4px 8px var(--dk),-4px -4px 8px var(--lt),0 0 0 0 rgba(212,85,59,0)}50%{box-shadow:4px 4px 8px var(--dk),-4px -4px 8px var(--lt),0 0 0 7px rgba(212,85,59,.13)}}

/* en-tête : la capsule descend et prend son relief */
.v2 .top-in{animation:v2-capsule .8s var(--ease) both}
.v2 .cities-nav a{transition:box-shadow .35s var(--ease),color .25s,transform .35s var(--spring)}
.v2 .cities-nav a[aria-current]{animation:v2-press-in .6s var(--ease) .35s both}
.v2 .cities-nav a:active{transform:scale(.94)}

/* sélecteur FR / IT : une pastille en relief qui glisse */

/* hero : le texte monte doucement, l'un après l'autre */
.v2 .hero2 h1{animation:v2-up .8s var(--ease) .15s both}
.v2 .hero2 .lead{animation:v2-up .8s var(--ease) .28s both}
.v2 .hero2 .cta{animation:v2-up .8s var(--ease) .4s both}
.v2 .hero2 .btn:not(.ghost){animation:v2-glow 2.8s ease-in-out 1.4s infinite}

/* boutons : ressort à l'appui */
.v2 .btn{transition:box-shadow .25s var(--ease),color .2s,transform .3s var(--spring)}
.v2 .btn:hover{transform:translateY(-1px)}
.v2 .btn:active{transform:scale(.96);transition-duration:.08s}
.v2 .btn:not(.ghost):hover,.v2 .btn:not(.ghost):active{animation:none!important}
.v2 .btn:not(.ghost):hover{box-shadow:5px 5px 10px var(--dk),-5px -5px 10px var(--lt),0 8px 20px -8px rgba(212,85,59,.7)}

/* tuiles et cartes : à l'apparition elles sont à plat puis « sortent » du fond */
.v2 .tile,.v2 .card{transition:box-shadow .3s var(--ease),transform .35s var(--spring)}
.v2 .tile.rv,.v2 .card.rv{transition:opacity .6s ease calc(var(--d,0) * 1s),transform .8s var(--ease) calc(var(--d,0) * 1s),box-shadow .7s var(--ease) calc(var(--d,0) * 1s + .2s)}
.js-motion .v2 .tile.rv:not(.in),.js-motion .v2 .card.rv:not(.in){opacity:0;transform:translateY(20px) scale(.98);box-shadow:0 0 0 var(--dk),0 0 0 var(--lt)}
.v2 .tile:active,.v2 .card:active{transform:scale(.985);transition-duration:.1s}

/* photo dans son creux : elle glisse légèrement au survol, le creux se creuse */
.v2 .tile .well .art.photo{transition:transform .7s var(--ease),filter .5s}
.v2 .tile:hover .well .art.photo{transform:scale(1.06);filter:saturate(1)}
.v2 .tile .well::after{transition:box-shadow .4s var(--ease)}
.v2 .card-pic img{transition:transform .7s var(--ease),filter .5s}
.v2 .card:hover .card-pic img{transform:scale(1.04);filter:saturate(1)}
.v2 .card-pic{overflow:hidden}

/* étiquettes, avatars : petit rebond au survol de la carte */
.v2 .pill,.v2 .avatar{transition:transform .35s var(--spring),box-shadow .3s}
.v2 .card:hover .pill{transform:translateY(-1px)}
.v2 .card:hover .avatar{transform:rotate(-8deg) scale(1.06)}

/* pied de page : la capsule sort du fond quand on arrive en bas */
.v2 .foot-links a,.v2 .foot .link{transition:box-shadow .3s var(--ease),color .2s,transform .3s var(--spring)}
.v2 .foot-links a:active{transform:scale(.94)}

/* respect du réglage « réduire les animations » */
@media (prefers-reduced-motion:reduce){
  .v2 *,.v2 *::before,.v2 *::after{animation:none!important;transition-duration:.01ms!important}
}

/* =====================================================================
   TOUTES LES PAGES — même logique :
   blocs et boutons en relief, champs de saisie et états actifs enfoncés.
   ===================================================================== */
body.v2{
  --bg:#ece6ea; --fg:#FF1F6B; --soft:#ece6ea; --tint:#ece6ea;
  --link:#c8104f; /* rose plus foncé pour le texte des liens (lisibilité) */
  --shadow:var(--raise); --r-md:16px; --r-lg:24px; --r-xl:32px;
}
.v2 .muted{color:var(--muted)}
.v2 .loadbar{background:var(--pink)}
.v2 .banner{background:var(--ink);color:#fff}
.v2 .err{color:#c4372a}

/* ---------- surfaces en relief ---------- */
.v2 .pres,.v2 .edit-card,.v2 .history,.v2 .cityform,.v2 .side-card,.v2 .pcard,.v2 .pl-where,
.v2 .vc-card,.v2 .vc-done,.v2 .rv-box,.v2 .catsec-h,.v2 fieldset.sig,.v2 .thumb,.v2 .vc-ph-list li{
  background:var(--base);border:0;box-shadow:var(--raise)}
.v2 .pres,.v2 .edit-card,.v2 .vc-card,.v2 .vc-done,.v2 .rv-box{border-radius:32px}
.v2 .side-card,.v2 .pcard,.v2 .pl-where,.v2 .catsec-h,.v2 fieldset.sig{border-radius:26px}
.v2 .adm table{background:var(--base);box-shadow:var(--raise);border-radius:22px}
.v2 .adm th,.v2 .adm td,.v2 .history li{border-bottom:1px solid var(--dk)}
.v2 .side-row,.v2 .pl-hist{border-top:1px solid var(--dk)}
.v2 .rv-form{border-top:2px dashed var(--dk)}
.v2 dialog{background:var(--base);border-radius:32px;box-shadow:var(--raise-l);animation:v2-pop .4s var(--spring) both}
.v2 dialog::backdrop{background:rgba(42,35,41,.35);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
@keyframes v2-pop{from{opacity:0;transform:translateY(16px) scale(.96)}}
@keyframes v2-raise{from{box-shadow:0 0 0 var(--dk),0 0 0 var(--lt);transform:translateY(8px)}}
.v2 .pres,.v2 .side-card,.v2 .pcard,.v2 .edit-card,.v2 .vc-card,.v2 .history,.v2 .rv-box{animation:v2-raise .9s var(--ease) .1s both}

/* ---------- creux : champs, zones vides, citations ---------- */
.v2 input:not([type=radio]):not([type=checkbox]):not([type=file]),.v2 select,.v2 textarea,
.v2 .vc input[type=text],.v2 .vc select,.v2 .vc textarea,
.v2 .rv-form input[type=text],.v2 .rv-form select,.v2 .rv-form textarea,.v2 .soc-grid input,
.v2 fieldset.sig input:not([type=radio]),.v2 fieldset.sig select,.v2 .sortsel select{
  background:var(--base);border:2px solid transparent;box-shadow:var(--press);color:var(--ink);transition:border-color .2s,box-shadow .25s}
.v2 input:focus,.v2 select:focus,.v2 textarea:focus,
.v2 .vc input[type=text]:focus,.v2 .vc textarea:focus,.v2 .rv-form textarea:focus,.v2 .rv-form input[type=text]:focus{
  background:var(--base);border-color:var(--pink);outline:0;box-shadow:inset 6px 6px 12px var(--dk),inset -6px -6px 12px var(--lt)}
.v2 .soc-grid input{border:0}
.v2 .radio input,.v2 input[type=checkbox]{accent-color:var(--pink)}
.v2 .prose blockquote,.v2 .np-editor .ql-editor blockquote{background:var(--base);box-shadow:var(--press);border-radius:20px}
.v2 .prose a,.v2 .np-editor .ql-editor a{color:var(--link)}
.v2 .prose li::marker{color:var(--pink)}
.v2 .photo-add{background:var(--base);border:2px dashed var(--dk);box-shadow:var(--raise-s);transition:box-shadow .25s,transform .3s var(--spring)}
.v2 .photo-add:hover{transform:none;border-color:var(--pink);box-shadow:var(--press)}
.v2 .ql-toolbar.ql-snow{background:var(--base);box-shadow:var(--raise-s);border-radius:16px 16px 0 0}
.v2 .ql-container.ql-snow{background:var(--base);border:0!important;box-shadow:var(--press);border-radius:0 0 16px 16px}
.v2 .ql-snow.ql-toolbar button.ql-active,.v2 .ql-snow.ql-toolbar button:hover{background:var(--base);box-shadow:var(--press-s)}
.v2 .ql-snow.ql-toolbar button.ql-active .ql-stroke{stroke:var(--pink)!important}

/* ---------- pastilles, filtres, onglets : relief, et l'actif s'enfonce ---------- */
.v2 .chip,.v2 .crumbs a,.v2 .soc-chip,.v2 .pl-back{background:var(--base);border:0;box-shadow:var(--raise-xs);color:var(--ink);transition:box-shadow .25s var(--ease),color .2s,transform .3s var(--spring)}
.v2 .chips{padding:8px 6px 12px;margin-left:-6px}
.v2 .chip:hover,.v2 .crumbs a:hover,.v2 .soc-chip:hover{background:var(--base);transform:none;box-shadow:var(--press-s)}
.v2 .chip[aria-current]{background:var(--base);color:var(--pink);box-shadow:var(--press-s)}
.v2 .chip[aria-current] span{color:var(--muted)}
.v2 .chip:active,.v2 .pl-back:active{transform:scale(.95)}
.v2 .seg a{transition:box-shadow .25s,color .2s}
.v2 .seg a[aria-current]{background:var(--base);color:var(--pink);box-shadow:var(--press-s)}
.v2 .np-seg,.v2 .vc-seg{background:var(--base);box-shadow:var(--press)}
.v2 .np-seg button[aria-checked="true"],.v2 .vc-seg input:checked+span{background:var(--base);color:var(--pink);box-shadow:var(--raise-xs)}
.v2 .np-seg button,.v2 .vc-seg span{transition:box-shadow .3s var(--ease),color .2s}
.v2 .pc span{background:var(--base);border:0;box-shadow:var(--raise-s);transition:box-shadow .25s var(--ease),color .2s}
.v2 .pc input:checked+span{background:var(--base);border:0;box-shadow:var(--press);color:var(--pink)}
.v2 .catsec-ic,.v2 .pl-pin,.v2 .qa-ic,.v2 .np-mi-ic{background:var(--base);box-shadow:var(--press-s);color:var(--pink)}
.v2 .btn.danger{background:#c4372a;color:#fff}
.v2 .btn.maps,.v2 .btn.small.ghost{background:var(--base);color:var(--ink)}

/* ---------- en-têtes de ville et de bon plan : plus de bandeau coloré ---------- */
.v2 .cityhead,.v2 .guidehead,.v2 .pl-hero{background:none}
.v2 .ch-photo{border-radius:32px;box-shadow:var(--raise-l);animation:v2-pop .8s var(--ease) both}
.v2 .ch-badge{filter:none}
.v2 .gh-art,.v2 .pl-sticker,.v2 .pl-first-art,.v2 .np-icon{background:var(--base);box-shadow:var(--raise)}
.v2 .pl-photo{background:var(--base);box-shadow:var(--raise-l);border-radius:36px}
.v2 .pl-illu{background:var(--base);box-shadow:var(--press)}
.v2 .pl-illu::before,.v2 .pl-illu::after{background:#ffffff80}
.v2 .pl-illu-art{filter:grayscale(1);opacity:.6}
.v2 .pl-label{color:var(--pink)}
.v2 .pl-lead,.v2 .pl-contrib > p{color:var(--muted)}
.v2 .pl-who .avatar,.v2 .side-author .avatar{background:var(--base);box-shadow:var(--raise-xs)}
.v2 .catsec-ic svg,.v2 .pl-pin,.v2 .gh-art,.v2 .pl-sticker svg,.v2 .pl-first-art svg,.v2 .np-icon svg,.v2 .np-chip-art svg,.v2 .np-pi-art svg,.v2 .pc span svg{filter:grayscale(1)}

/* ---------- boutons rapides d'un bon plan ---------- */
.v2 .qa{background:var(--base);box-shadow:var(--raise);transition:box-shadow .25s var(--ease),transform .3s var(--spring)}
.v2 .qa:hover{transform:none;box-shadow:var(--press)}
.v2 .qa:active{transform:scale(.95)}
.v2 .qa.main{background:var(--pink);color:var(--ink)}
.v2 .qa.main .qa-ic{background:var(--pink);color:var(--ink);box-shadow:inset 3px 3px 6px rgba(0,0,0,.15),inset -3px -3px 6px rgba(255,255,255,.25)}
.v2 .pl-bar{background:rgba(242,238,232,.92);box-shadow:var(--raise)}
.v2 .pl-bar-ic{background:var(--base);box-shadow:var(--raise-xs)}
.v2 .pl-bar-ic:active{box-shadow:var(--press-s)}
.v2 .pl-toast,.v2 .np-up{background:var(--ink)}

/* ---------- avis : étoiles roses ---------- */
.v2 .stars{background:linear-gradient(90deg,var(--pink) calc(var(--v)/5*100%),#cfc8cd 0);-webkit-background-clip:text;background-clip:text}
.v2 .avis-item{background:var(--base);box-shadow:var(--press);border-radius:18px}
.v2 .rv-pick label{color:#cfc8cd}
.v2 .rv-pick label:hover,.v2 .rv-pick label:hover~label,.v2 .rv-pick input:checked~label{color:var(--pink)}

/* ---------- dictée vocale : micro en relief rose ---------- */
.v2 .vc-mic{background:var(--pink);color:var(--ink);box-shadow:8px 8px 16px var(--dk),-8px -8px 16px var(--lt)}
.v2 .vc-mic:active{box-shadow:inset 5px 5px 10px rgba(0,0,0,.2)}
.v2 .vc-ring{background:var(--pink)}
.v2 .vc-mic.rec,.v2 .vc-mic.rec .vc-ring{background:#c4372a;color:#fff}

/* ---------- photos, visionneuse ---------- */
.v2 .thumb .rm,.v2 .lb-x,.v2 .np-cover-act button{background:var(--base);color:var(--ink);box-shadow:var(--raise-s)}
.v2 .fig img{box-shadow:var(--raise)}

/* ---------- éditeur ---------- */
.v2 .np-top{background:rgba(242,238,232,.9);border-bottom:0;box-shadow:0 8px 18px -12px var(--dk)}
.v2 .np-x:hover{background:var(--base);box-shadow:var(--press-s)}
.v2 .np-crumb i{background:var(--pink)}
.v2 .np-cover{background:var(--base);box-shadow:inset 0 -10px 20px -10px var(--dk),inset 0 10px 20px -10px var(--dk)}
.v2 .np-cover::before,.v2 .np-cover::after{background:#ffffff70}
.v2 .np-cover-drop{background:rgba(242,238,232,.85);border-color:var(--dk)}
.v2 .np-draft{background:var(--base);box-shadow:var(--raise-s);border-left:4px solid var(--pink)}
.v2 .np-prop:hover,.v2 .np-prop:focus-within{background:var(--base);box-shadow:var(--press-s)}
.v2 .np-chip{background:var(--base);box-shadow:var(--raise-xs);transition:box-shadow .25s,transform .3s var(--spring)}
.v2 .np-chip:hover{transform:none;box-shadow:var(--press-s)}
.v2 .np-chip i{background:var(--pink)}
.v2 .np-in,.v2 .np .np-props input.np-in{background:transparent;box-shadow:none}
.v2 .np-in:hover,.v2 .np .np-props input.np-in:hover{background:var(--base);box-shadow:var(--press-s)}
.v2 .np-in:focus,.v2 .np .np-props input.np-in:focus{background:var(--base);box-shadow:var(--press);border-color:var(--pink)}
.v2 .np-sel select{background:var(--base);box-shadow:var(--raise-xs)}
.v2 .np-sep,.v2 .np-hr{background:var(--dk)}
.v2 .np-menu,.v2 .np-pop,.v2 .np-imgbar{background:var(--base);box-shadow:var(--raise)}
.v2 .np-mi[aria-selected="true"],.v2 .np-pi:hover,.v2 .np-pi:focus-visible,.v2 .np-pi[aria-checked="true"],.v2 .np-imgbar button:hover,.v2 .np-handle button:hover{background:var(--base);box-shadow:var(--press-s)}
.v2 .np-imgbar input{background:var(--base);box-shadow:var(--press-s)}
.v2 .np-editor .ql-editor img:hover{box-shadow:0 0 0 3px var(--dk)}
.v2 .np-editor .ql-editor img.np-sel{box-shadow:0 0 0 4px var(--pink)}
.v2 .np-line{background:var(--pink);box-shadow:0 0 0 3px rgba(212,85,59,.2)}
.v2 .np-mbar{background:rgba(242,238,232,.95);box-shadow:0 -8px 18px -12px var(--dk)}
.v2 .np-mbar button.on{background:var(--base);box-shadow:var(--press-s);color:var(--pink)}
.v2 .np-mbar [data-m="blocks"]{background:var(--pink);color:var(--ink)}
.v2.np-mode .top,.v2.np-mode .foot{display:none}

/* ---------- 404, état vide ---------- */
.v2 .nf .art{border-radius:28px;box-shadow:var(--raise)}

@media (max-width:640px){
  .v2 .pres,.v2 .edit-card,.v2 .vc-card,.v2 .rv-box{border-radius:26px}
  .v2 .fig img{box-shadow:none}
}

/* =====================================================================
   TRANSITIONS ENTRE LES PAGES
   L'en-tête et le pied restent posés, seul le contenu change.
   ===================================================================== */
.vt main{animation:none!important}
.v2 header.top{view-transition-name:top}
.v2 .foot{view-transition-name:foot}
.v2 main{view-transition-name:main}
::view-transition-old(root),::view-transition-new(root){animation-duration:.25s}
::view-transition-old(main){animation:vt-out .22s cubic-bezier(.4,0,1,1) both}
::view-transition-new(main){animation:vt-in .55s cubic-bezier(.2,.8,.2,1) .06s both}
.vt-back::view-transition-old(main){animation-name:vt-out-back}
.vt-back::view-transition-new(main){animation-name:vt-in-back}
::view-transition-group(top),::view-transition-group(foot){animation-duration:.45s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}
/* la photo cliquée glisse et grandit jusqu'à sa place sur la page suivante */
::view-transition-group(shared-pic){animation-duration:.6s;animation-timing-function:cubic-bezier(.2,.8,.2,1);z-index:5}
::view-transition-old(shared-pic),::view-transition-new(shared-pic){height:100%;width:100%;object-fit:cover;overflow:clip;animation-duration:.45s}
@keyframes vt-out{to{opacity:0;transform:translateY(-14px) scale(.985);filter:blur(3px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(28px) scale(.985)}}
@keyframes vt-out-back{to{opacity:0;transform:translateY(14px) scale(.985);filter:blur(3px)}}
@keyframes vt-in-back{from{opacity:0;transform:translateY(-22px) scale(.985)}}
/* navigateurs sans View Transitions : fondu simple */
main.pg-out{opacity:0;transform:translateY(-8px);transition:opacity .15s ease,transform .15s ease}
/* barre de chargement : fine, rose, seulement quand c'est lent */
.v2 ~ .loadbar,.vt .loadbar{height:2px}
@media (prefers-reduced-motion:reduce){
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}

/* ---------- police : Outfit pour les titres, Figtree pour le texte ---------- */
body.v2{--font-head:"Outfit","Figtree",system-ui,-apple-system,"Segoe UI",sans-serif}
.v2 h1,.v2 h2,.v2 h3,.v2 .brand{font-weight:700;letter-spacing:-.025em}
.v2 .hero2 h1{font-weight:700;letter-spacing:-.04em;line-height:1.02}
.v2 .tile-name,.v2 .card-title{font-family:var(--font-head);font-weight:600;letter-spacing:-.01em}

/* =====================================================================
   EXTRUSION entre les pages + INCLINAISON 3D
   ===================================================================== */
/* 1) en partant : les surfaces s'aplatissent (l'ombre disparaît, elles s'enfoncent un peu) */
.leaving main :is(.tile,.card,.pres,.side-card,.pcard,.pl-where,.btn,.qa,.chip,.catsec-h,.history,.edit-card,.vc-card,.rv-box,.pill,.avatar){
  box-shadow:none!important;transform:scale(.97);transition:box-shadow .2s ease-in,transform .2s ease-in!important}
.leaving main .well::after{box-shadow:none!important;transition:box-shadow .2s ease-in}
html:not(.vt).leaving main{opacity:.35;transition:opacity .2s ease-in}
/* 2) en arrivant : elles ressortent du fond l'une après l'autre (les tuiles et cartes le font déjà via l'apparition au scroll) */
@keyframes v2-extrude{from{box-shadow:none;transform:scale(.96)}}
.arriving main .ex{animation:v2-extrude .85s var(--ease) calc(var(--x,0) * 55ms + 60ms) backwards}
/* le fondu de page ne bouge plus : c'est la matière qui change, pas la position */
@keyframes vt-fade-out{to{opacity:0}}
@keyframes vt-fade-in{from{opacity:0}}
::view-transition-old(main),.vt-back::view-transition-old(main){animation:vt-fade-out .14s ease-in both}
::view-transition-new(main),.vt-back::view-transition-new(main){animation:vt-fade-in .3s ease-out both}

/* 3) inclinaison 3D (souris) : la tuile se soulève vers le curseur, son ombre s'écarte */
.v2 .tile.tilt,.v2 .card.tilt{
  transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(1.02);
  box-shadow:var(--dx,10px) var(--dy,10px) 26px var(--dk),calc(var(--dx,10px) * -1) calc(var(--dy,10px) * -1) 26px var(--lt);
  transition:transform .12s linear,box-shadow .25s ease;will-change:transform;z-index:2}
.v2 .tile.tilt:active,.v2 .card.tilt:active{transform:perspective(900px) scale(.98);box-shadow:var(--press)}
@media (prefers-reduced-motion:reduce){.leaving main :is(*){transition:none!important}}

/* =====================================================================
   NAVIGATION DOUCE (ville <-> ville, FR <-> IT) : ça ne ressemble plus à un changement de page
   - l'en-tête reste vivant, la pastille glisse sous la ville choisie ;
   - le contenu glisse sur le côté (villes) ou se fond sur place (langue) ;
   - ni aplatissement, ni extrusion, ni retour en haut.
   ===================================================================== */
.v2 .cities-nav{position:relative}
.v2 .cities-nav a{position:relative;z-index:1}
.v2 .cities-nav::before{content:"";position:absolute;z-index:0;top:6px;bottom:6px;left:0;width:var(--pw,0px);
  transform:translateX(var(--pl,0px));border-radius:99px;box-shadow:var(--press-s);opacity:0;pointer-events:none}
.v2 .cities-nav.pill-on::before{opacity:1;transition:transform .55s cubic-bezier(.34,1.56,.64,1),width .4s cubic-bezier(.2,.8,.2,1),opacity .3s}
.v2 .cities-nav.nopill::before{opacity:0}
.v2 .cities-nav a[aria-current]{background:none;box-shadow:none;color:var(--ink)}
.v2 .cities-nav a{transition:color .3s,transform .35s cubic-bezier(.34,1.56,.64,1)}

/* en mode doux, les entrées de page ne se rejouent pas */
.softmode main :is(.pres,.side-card,.pcard,.edit-card,.vc-card,.history,.rv-box,.ch-photo,.pl-photo,.pl-illu,.pl-txt h1,.pl-lead){animation:none!important}

@keyframes soft-out-l{to{opacity:0;transform:translateX(-56px) scale(.99)}}
@keyframes soft-out-r{to{opacity:0;transform:translateX(56px) scale(.99)}}
@keyframes soft-in-r{from{opacity:0;transform:translateX(56px) scale(.99)}}
@keyframes soft-in-l{from{opacity:0;transform:translateX(-56px) scale(.99)}}
.vt-soft.vt-fwd::view-transition-old(main){animation:soft-out-l .2s cubic-bezier(.4,0,1,1) both}
.vt-soft.vt-fwd::view-transition-new(main){animation:soft-in-r .5s cubic-bezier(.2,.8,.2,1) .04s both}
.vt-soft.vt-bwd::view-transition-old(main){animation:soft-out-r .2s cubic-bezier(.4,0,1,1) both}
.vt-soft.vt-bwd::view-transition-new(main){animation:soft-in-l .5s cubic-bezier(.2,.8,.2,1) .04s both}
.vt-soft.vt-lang::view-transition-old(main){animation:vt-fade-out .16s ease-in both}
.vt-soft.vt-lang::view-transition-new(main){animation:vt-fade-in .35s ease-out both}
/* l'en-tête reste « en direct » pendant la transition : la pastille continue de glisser */
.vt-soft::view-transition-old(top){display:none}
.vt-soft::view-transition-new(top){animation:none}
.vt-soft::view-transition-group(top){animation:none}

/* photo d'en-tête d'une ville : arrondie, en relief, immobile (le balancement « bob » ne va pas avec le neumorphisme) */
.v2 .ch-visual .ch-art.photo,.v2 .ch-visual .ch-photo{border-radius:32px;overflow:hidden;box-shadow:var(--raise-l);filter:saturate(.92);animation:none}
.v2 .ch-visual{padding:6px}

/* =====================================================================
   PAS DE FLASH NI DE SÉLECTION AU TOUCHER / AU CLIC
   - plus de halo gris au toucher sur téléphone ;
   - le texte des éléments cliquables ne se sélectionne plus (double-clic, appui long, glisser) ;
   - les textes à lire (articles) et les champs de saisie restent sélectionnables.
   ===================================================================== */
html,body.v2,.v2 *{-webkit-tap-highlight-color:transparent}
.v2 a,.v2 button,.v2 summary,.v2 label.pc,.v2 .btn,.v2 .tile,.v2 .card,.v2 .chip,.v2 .qa,.v2 .pill,.v2 .crumbs,.v2 .seg,
.v2 header.top,.v2 .foot,.v2 .hero2,.v2 .cityhead,.v2 .guidehead,.v2 .pl-hero,.v2 .sec-row,.v2 .catsec-h,.v2 .city-tools,.v2 .pl-qa,.v2 .pl-bar,.v2 .np-top,
.v2 h1,.v2 h2,.v2 h3,.v2 .brand{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.v2 .prose,.v2 .prose *,.v2 input,.v2 textarea,.v2 select,.v2 .ql-editor,.v2 .ql-editor *,.v2 .avis-item p,.v2 .pl-addr,.v2 .vc-card textarea{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
.v2 img{-webkit-user-drag:none;user-drag:none}
/* pas d'anneau de focus sur le titre qui reçoit le focus après un changement de page (clavier : il reste sur les vrais contrôles) */
.v2 [tabindex="-1"]:focus,.v2 [tabindex="-1"]:focus-visible{outline:none}
/* l'élément qu'on touche s'enfonce, sans halo ni surbrillance native */
.v2 a:focus:not(:focus-visible),.v2 button:focus:not(:focus-visible){outline:none}

/* =====================================================================
   ARRONDI PARTOUT
   Rayons : 36–44 px pour les grandes surfaces, 26 px pour ce qui est posé dedans
   (photos, champs, images d'articles), pastille complète pour les boutons et étiquettes.
   ===================================================================== */
body.v2{--r-md:22px;--r-lg:30px;--r-xl:40px}

/* tuiles et cartes : la photo est posée DANS la surface, arrondie elle aussi */
.v2 .tile{border-radius:38px}
.v2 .tile .well{border-radius:28px}
.v2 .card{border-radius:38px;padding:12px}
.v2 .card-pic{border-radius:28px}
.v2 .card-pic img{border-radius:0}
.v2 .card-body{padding:18px 12px 10px}

/* grands blocs */
.v2 .pres,.v2 .edit-card,.v2 .vc-card,.v2 .vc-done,.v2 .rv-box{border-radius:42px}
.v2 .side-card,.v2 .pcard,.v2 .pl-where,.v2 .catsec-h,.v2 fieldset.sig,.v2 .empty{border-radius:32px}
.v2 .history,.v2 .adm table,.v2 .cityform{border-radius:32px}
.v2 .avis-item,.v2 .np-draft{border-radius:24px}
.v2 dialog{border-radius:42px}
.v2 .ch-visual .ch-art.photo,.v2 .ch-visual .ch-photo{border-radius:42px}
.v2 .pl-photo,.v2 .pl-illu{border-radius:44px}
.v2 .pl-sticker,.v2 .gh-art{border-radius:50%}

/* images dans les textes, vignettes, visionneuse : plus aucun coin carré, même sur mobile */
.v2 .prose img,.v2 .fig img,.v2 .ql-editor img,.v2 .np-editor .ql-editor img{border-radius:28px}
.v2 .fig{margin:1.4em 0}
.v2 .thumb{border-radius:26px}.v2 .thumb img{border-radius:20px}
.v2 .vc-ph-list li{border-radius:22px}
.v2 .lb img{border-radius:32px}
.v2 .prose blockquote,.v2 .np-editor .ql-editor blockquote{border-radius:28px}
.v2 .prose pre,.v2 .prose code{border-radius:16px}
.v2 .nf .art{border-radius:32px}

/* champs de saisie */
.v2 input:not([type=radio]):not([type=checkbox]):not([type=file]),.v2 select,.v2 textarea,
.v2 .vc input[type=text],.v2 .vc select,.v2 .vc textarea,.v2 .rv-form input[type=text],.v2 .rv-form select,.v2 .rv-form textarea,
.v2 .soc-grid input,.v2 fieldset.sig input:not([type=radio]),.v2 fieldset.sig select,.v2 .sortsel select{border-radius:22px}
.v2 .ql-toolbar.ql-snow{border-radius:28px 28px 0 0}
.v2 .ql-container.ql-snow{border-radius:0 0 28px 28px}
.v2 .photo-add{border-radius:30px}
.v2 .pc span{border-radius:26px}
.v2 .np-in,.v2 .np .np-props input.np-in,.v2 .np-sel select{border-radius:16px}
.v2 .np-prop{border-radius:20px}

/* menus et bulles de l'éditeur */
.v2 .np-menu,.v2 .np-pop,.v2 .np-imgbar{border-radius:28px}
.v2 .np-mi,.v2 .np-pi{border-radius:18px}
.v2 .np-mi-ic{border-radius:16px}
.v2 .np-bubble{border-radius:22px}.v2 .np-bubble button,.v2 .np-bubble-link input{border-radius:14px}
.v2 .np-imgbar button,.v2 .np-imgbar input{border-radius:16px}
.v2 .np-err{border-radius:22px}

/* barres : les angles du bord de l'écran sont arrondis aussi */
.v2 .np-top{border-radius:0 0 32px 32px}
.v2 .np-cover{border-radius:0 0 48px 48px}
.v2 .np-mbar{border-radius:28px 28px 0 0}
.v2 .banner{border-radius:0 0 28px 28px}
.v2 .top-in{border-radius:99px}
.v2 .foot-in{border-radius:99px}

@media (max-width:760px){
  .v2 .top-in{border-radius:34px}
  .v2 .foot-in{border-radius:34px}
  .v2 .tile{border-radius:30px}
  .v2 .tile .well{border-radius:22px}
  .v2 .card{border-radius:32px;padding:10px}
  .v2 .card-pic{border-radius:24px}
  .v2 .pres,.v2 .edit-card,.v2 .vc-card,.v2 .vc-done,.v2 .rv-box,.v2 dialog{border-radius:34px}
  .v2 .pl-photo,.v2 .pl-illu,.v2 .ch-visual .ch-art.photo,.v2 .ch-visual .ch-photo{border-radius:34px}
  .v2 .prose img,.v2 .fig img{border-radius:24px}
  .v2 .np-cover{border-radius:0 0 34px 34px}
}

/* éditeur : le titre, la phrase d'accroche et le corps du texte restent « libres » (sans cadre creusé), comme dans Notion */
.v2 .np-title,.v2 .np-sub,.v2 .np-title:focus,.v2 .np-sub:focus,.v2 .np-title:hover,.v2 .np-sub:hover{
  background:none;box-shadow:none;border:0;border-radius:0;padding:0;outline:none}
.v2 .np-editor.ql-container.ql-snow{background:none;box-shadow:none;border:0!important;border-radius:0}
.v2 .np-editor .ql-editor{border-radius:0}

/* ===== LOGO « esabac » ===== */
.v2 .brand.logo{display:inline-flex;align-items:baseline;gap:1px;font-size:1.3rem;line-height:1;text-transform:lowercase;letter-spacing:-.035em;transform:none!important;padding:4px 2px}
.v2 .brand .wm{display:inline-flex}
.v2 .brand .wm b{display:inline-block;font-weight:700;transform-origin:50% 100%;animation:lg-in .7s var(--spring,cubic-bezier(.3,1.5,.5,1)) both;animation-delay:calc(var(--i)*60ms + 120ms)}
.v2 .brand .dot{display:inline-block;width:.28em;height:.28em;margin-left:.06em;border-radius:50%;background:var(--pink);box-shadow:0 .08em .18em rgba(212,85,59,.45),inset 0 -.05em .08em rgba(0,0,0,.18);animation:lg-drop .8s cubic-bezier(.3,1.6,.5,1) .75s both}
@keyframes lg-in{from{opacity:0;transform:translateY(.55em) scale(.8)}to{opacity:1;transform:none}}
@keyframes lg-drop{0%{opacity:0;transform:translateY(-1.4em) scale(.6)}60%{opacity:1;transform:translateY(0) scale(1.25,.8)}100%{transform:none}}
@keyframes lg-hop{0%,100%{transform:none}35%{transform:translateY(-.32em)}65%{transform:translateY(.04em) scale(1.05,.95)}}
@keyframes lg-bounce{0%,100%{transform:none}40%{transform:translateY(-.7em) scale(.9,1.1)}70%{transform:scale(1.2,.8)}}
@media (hover:hover){
  .v2 .brand.logo:hover .wm b{animation:lg-hop .55s ease both;animation-delay:calc(var(--i)*45ms)}
  .v2 .brand.logo:hover .dot{animation:lg-bounce .6s ease .28s both}
}
.v2 .brand.logo:active .dot{transform:scale(1.5);transition:transform .15s}
.v2 .foot .brand{display:inline-flex;align-items:baseline;gap:1px;text-transform:lowercase;letter-spacing:-.035em}
.v2 .foot .brand .dot{animation:none}
@media (prefers-reduced-motion:reduce){.v2 .brand .wm b,.v2 .brand .dot{animation:none!important}}

/* ===== /test : neumorphisme aux couleurs d'origine (papier chaud, encre, pastels par ville, bleu) ===== */
body.v2.orig{
  --base:#f2eee8; --dk:#d8d1c6; --lt:#ffffff;
  --pink:#d4553b; --ink:#2d2a32; --muted:#6b6672; --link:#d4553b;
  --raise:8px 8px 16px var(--dk),-8px -8px 16px var(--lt);
  --raise-s:4px 4px 8px var(--dk),-4px -4px 8px var(--lt);
  --raise-xs:2px 2px 5px var(--dk),-2px -2px 5px var(--lt);
  --raise-l:14px 14px 28px var(--dk),-14px -14px 28px var(--lt);
  --press:inset 4px 4px 8px var(--dk),inset -4px -4px 8px var(--lt);
  --press-s:inset 2px 2px 5px var(--dk),inset -2px -2px 5px var(--lt);
  --shadow:var(--raise);
}
.v2.orig .btn:not(.ghost),.v2.orig .qa.main,.v2.orig .qa.main .qa-ic,.v2.orig .vc-mic{background:var(--ink);color:#fff}
.v2.orig .brand .dot{background:var(--fg,#d4553b)}
.v2.orig .cat-art,.v2.orig .empty .art,.v2.orig .pl-illu-art{filter:none;opacity:1}
.v2.orig .art.photo,.v2.orig .card-pic img{filter:none}
/* chaque ville garde sa couleur : le creux de la photo/illustration est teinté */
.v2.orig .tile .well{background:var(--bg);box-shadow:inset 6px 6px 12px rgba(45,42,50,.16),inset -6px -6px 12px rgba(255,255,255,.55)}
.v2.orig .tile .count,.v2.orig .tile .go{color:var(--fg)}
.v2.orig .card-art{background:var(--bg);box-shadow:inset 6px 6px 12px rgba(45,42,50,.14),inset -6px -6px 12px rgba(255,255,255,.5)}
.v2.orig .cities-nav a[aria-current]{color:var(--pink)}
.v2.orig ::selection{background:#f6d3c4}
.v2.orig .tile{background:color-mix(in srgb,var(--bg) 60%,var(--base))}
.v2.orig .tile .name,.v2.orig .tile h3{color:var(--ink)}
.v2.orig .tile .count{background:color-mix(in srgb,var(--bg) 85%,#fff);padding:2px 10px;border-radius:99px;color:var(--fg);font-weight:600}
.v2.orig .cities-nav a:hover{color:var(--fg)}
body.v2.orig{--bg:#f2eee8;--fg:#d4553b;--soft:#f2eee8;--tint:#f2eee8}
.v2.orig .brand .dot{background:#d4553b;box-shadow:0 .08em .18em rgba(212,85,59,.45)}
.v2.orig .btn:not(.ghost):hover{box-shadow:5px 5px 10px var(--dk),-5px -5px 10px var(--lt),0 8px 20px -8px rgba(212,85,59,.55)}
.v2.orig .np-line{box-shadow:0 0 0 3px rgba(212,85,59,.2)}

/* ===== Sélecteur FR / IT (refait) : l'état vient de data-lang, rien d'autre ===== */
.v2 .lang-switch{position:relative;display:flex;padding:4px;isolation:isolate;border-radius:99px;background:var(--base);box-shadow:var(--press-s)}
.v2 .lang-switch a{width:40px;padding:5px 0;text-align:center;font-size:.78rem;font-weight:600;color:var(--muted);text-decoration:none;border-radius:99px;background:none;box-shadow:none;transition:color .3s}
.v2 .lang-thumb{position:absolute;z-index:-1;top:4px;bottom:4px;left:4px;width:40px;border-radius:99px;background:var(--base);box-shadow:var(--raise-xs);transition:transform .45s var(--spring)}
.v2 .lang-switch[data-lang="it"] .lang-thumb{transform:translateX(40px)}
.v2 .lang-switch[data-lang="fr"] a[data-l="fr"],.v2 .lang-switch[data-lang="it"] a[data-l="it"]{color:var(--pink)}
.v2 .lang-switch.moving .lang-thumb{animation:lg-squish .45s var(--ease)}
@keyframes lg-squish{40%{width:52px}}

/* ===================================================================
   ÉDITEUR + DICTÉE : tout en neumorphisme (champs en creux, cartes, menus et barres en relief)
   =================================================================== */
body.v2.orig.editing{--ring:0 0 0 3px rgba(212,85,59,.28)}
/* barre du haut : capsule flottante */
.v2.orig .np-top{position:sticky;top:10px;z-index:60;margin:10px auto 0;width:calc(100% - 28px);max-width:1100px;border:0;border-radius:99px;background:var(--base);box-shadow:var(--raise);backdrop-filter:none;padding:8px 10px 8px 18px}
.v2.orig .np-x,.v2.orig .np-crumb{color:var(--muted)}
.v2.orig .np-x:hover{color:var(--ink)}
.v2.orig .np-crumb i{background:var(--fg,var(--pink));box-shadow:0 0 0 3px rgba(255,255,255,.7),2px 2px 4px var(--dk)}
.v2.orig .np-status{color:var(--muted)}
.v2.orig .np-pub{border-radius:99px}
/* couverture : dalle extrudée */
.v2.orig .np-cover{margin:14px 14px 0;width:calc(100% - 28px);border-radius:40px;background:var(--bg);box-shadow:var(--press)}
.v2.orig .np-cover img{border-radius:40px}
.v2.orig .np-cover-act .btn,.v2.orig .np-cover-act button{background:var(--base);color:var(--ink);box-shadow:var(--raise-s);border:0;border-radius:99px}
.v2.orig .np-cover-drop{background:var(--base);border:0;box-shadow:var(--press);border-radius:40px}
.v2.orig .np-icon{background:var(--base);box-shadow:var(--raise)}
.v2.orig .np-icon:active{box-shadow:var(--press)}
/* titre et sous-titre : dans des creux */
.v2.orig .np-title,.v2.orig .np-sub{background:var(--base);box-shadow:var(--press-s);border:0;border-radius:26px;padding:14px 24px;margin-top:16px;transition:box-shadow .3s var(--ease)}
.v2.orig .np-sub{border-radius:22px;padding:12px 24px;color:var(--muted)}
.v2.orig .np-title:focus,.v2.orig .np-sub:focus{box-shadow:var(--press),var(--ring)}
.v2.orig .np-title::placeholder,.v2.orig .np-sub::placeholder{color:#b9b2a8}
/* propriétés : une carte en relief, champs en creux */
.v2.orig .np-props{margin-top:26px;padding:12px 14px;gap:4px;border-radius:32px;background:var(--base);box-shadow:var(--raise)}
.v2.orig .np-prop{margin:0;padding:8px 10px;border-radius:20px;align-items:center;background:none}
.v2.orig .np-prop:hover,.v2.orig .np-prop:focus-within{background:none}
.v2.orig .np-k{color:var(--muted);font-weight:600}
.v2.orig .np-in,.v2.orig .np .np-props input.np-in{min-height:44px;padding:10px 18px;border:0;border-radius:99px;background:var(--base);box-shadow:var(--press-s);color:var(--ink);transition:box-shadow .3s var(--ease)}
.v2.orig .np-in:focus,.v2.orig .np .np-props input.np-in:focus{outline:0;background:var(--base);box-shadow:var(--press),var(--ring)}
.v2.orig .np-in::placeholder{color:#b9b2a8}
.v2.orig .np-chip,.v2.orig .np-sel select{background:var(--base);border:0;box-shadow:var(--raise-s);color:var(--ink);border-radius:99px}
.v2.orig .np-chip:hover,.v2.orig .np-sel select:hover{box-shadow:var(--raise-xs)}
.v2.orig .np-chip:active,.v2.orig .np-chip[aria-expanded="true"]{box-shadow:var(--press-s)}
.v2.orig .np-chip.static{box-shadow:var(--press-s)}
.v2.orig .np-chip i{box-shadow:1px 1px 3px var(--dk)}
.v2.orig .np-hint,.v2.orig .np-prop .help{color:var(--muted)}
.v2.orig .soc-edit summary{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:99px;background:var(--base);box-shadow:var(--raise-s);cursor:pointer;font-weight:600;list-style:none;transition:box-shadow .3s var(--ease)}
.v2.orig .soc-edit summary::-webkit-details-marker{display:none}
.v2.orig .soc-edit summary::before{content:"+";display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;box-shadow:var(--press-s);color:var(--pink);font-weight:700;line-height:1}
.v2.orig .soc-edit[open] summary{box-shadow:var(--press-s)}
.v2.orig .soc-edit[open] summary::before{content:"–"}
.v2.orig .soc-grid input{border:0;border-radius:99px;background:var(--base);box-shadow:var(--press-s);padding:10px 16px;color:var(--ink)}
.v2.orig .soc-grid input:focus{outline:0;box-shadow:var(--press),var(--ring)}
/* zone de texte : un grand creux */
.v2.orig .np-sep,.v2.orig .np-bsep{display:none}
.v2.orig .np-body{margin-top:26px;padding:10px 14px;border-radius:34px;background:var(--base);box-shadow:var(--press);border:0}
.v2.orig .np-editor .ql-editor{padding:22px 22px 28px;min-height:360px;color:var(--ink)}
.v2.orig .np-editor .ql-editor.ql-blank::before{color:#b9b2a8;left:22px;font-style:normal}
.v2.orig .np-editor .ql-editor h2,.v2.orig .np-editor .ql-editor h3{color:var(--ink)}
.v2.orig .np-editor .ql-editor a{color:var(--link,var(--pink))}
.v2.orig .np-editor .ql-editor blockquote{background:var(--base);border:0;box-shadow:var(--raise-s);border-radius:26px;padding:16px 22px}
.v2.orig .np-editor .ql-editor img{border-radius:26px;box-shadow:var(--raise-s)}
.v2.orig .np-editor .ql-editor img.np-sel,.v2.orig .np-editor .ql-editor img.selected{box-shadow:var(--raise-s),var(--ring)}
.v2.orig .np-tip{margin:16px 6px 0;color:var(--muted);opacity:.8}
.v2.orig .np-page{padding-bottom:120px}
/* menus flottants : relief fort, lignes en creux au survol */
.v2.orig .np-menu,.v2.orig .np-pop,.v2.orig .np-imgbar,.v2.orig .np-bubble{background:var(--base);border:0;box-shadow:var(--raise-l);border-radius:28px;color:var(--ink)}
.v2.orig .np-menu,.v2.orig .np-pop{padding:10px}
.v2.orig .np-mi,.v2.orig .np-pi{border-radius:20px;background:none;color:var(--ink);transition:box-shadow .25s var(--ease)}
.v2.orig .np-mi:hover,.v2.orig .np-pi:hover,.v2.orig .np-mi.on,.v2.orig .np-mi[aria-selected="true"],.v2.orig .np-pi[aria-checked="true"],.v2.orig .np-pi.on{background:none;box-shadow:var(--press-s)}
.v2.orig .np-mi-ic{background:var(--base);box-shadow:var(--raise-xs);border-radius:16px;color:var(--ink)}
.v2.orig .np-mi small,.v2.orig .np-mi-t small,.v2.orig .np-pi small{color:var(--muted)}
/* bulle de mise en forme et barre d'image */
.v2.orig .np-bubble{padding:6px;background:var(--base)}
.v2.orig .np-bubble button,.v2.orig .np-imgbar button{background:var(--base);color:var(--ink);border:0;border-radius:99px;box-shadow:var(--raise-xs)}
.v2.orig .np-bubble button:hover,.v2.orig .np-imgbar button:hover{box-shadow:var(--raise-xs),var(--ring)}
.v2.orig .np-bubble button.on,.v2.orig .np-bubble button.active,.v2.orig .np-imgbar button.on{box-shadow:var(--press-s);color:var(--pink)}
.v2.orig .np-bubble-link input,.v2.orig .np-imgbar input{background:var(--base);border:0;box-shadow:var(--press-s);color:var(--ink);border-radius:99px}
/* poignée de bloc, trait d'insertion */
.v2.orig .np-handle button{border-radius:50%;background:var(--base);color:var(--muted);box-shadow:var(--raise-xs)}
.v2.orig .np-handle button:hover{background:var(--base);color:var(--ink);box-shadow:var(--press-s)}
/* messages : brouillon, envoi de photo, erreur */
.v2.orig .np-draft{background:var(--base);box-shadow:var(--raise);border-radius:99px;padding:10px 12px 10px 22px;color:var(--ink)}
.v2.orig .np-up{background:var(--base);color:var(--ink);box-shadow:var(--raise-l)}
.v2.orig .np-err{background:var(--base);color:#b3402f;box-shadow:var(--raise)}
.v2.orig .np-dropzone{background:rgba(242,238,232,.8);border:0;box-shadow:var(--press);border-radius:34px;color:var(--ink)}
/* barre d'actions du bas (mobile) : capsule flottante */
.v2.orig .np-mbar{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));width:auto;border-radius:99px;background:var(--base);box-shadow:var(--raise-l);padding:6px 8px}
.v2.orig .np-mbar button{border-radius:50%;color:var(--ink);background:var(--base);box-shadow:var(--raise-xs)}
.v2.orig .np-mbar button.on,.v2.orig .np-mbar button:active{box-shadow:var(--press-s);color:var(--pink)}
.v2.orig .np-mbar [data-m="blocks"]{background:var(--ink);color:#fff;box-shadow:var(--raise-s)}
/* DICTÉE */
.v2.orig .vc-mic{background:var(--base);color:var(--pink);box-shadow:var(--raise-l);border:0}
.v2.orig .vc-mic:active{box-shadow:var(--press)}
.v2.orig .vc-ring{background:rgba(212,85,59,.14)}
.v2.orig .vc-mic.rec{background:var(--base);color:#c4372a;box-shadow:var(--press)}
.v2.orig .vc-mic.rec .vc-ring{background:rgba(196,55,42,.18)}
.v2.orig .vc-card textarea,.v2.orig .vc-card input[type=text]{background:var(--base);border:0;box-shadow:var(--press);border-radius:28px;color:var(--ink);padding:16px 20px}
.v2.orig .vc-card textarea:focus,.v2.orig .vc-card input[type=text]:focus{outline:0;box-shadow:var(--press),var(--ring)}
.v2.orig .vc-card .btn:disabled,.v2.orig .vc-card .btn[disabled]{background:var(--base);color:#b9b2a8;box-shadow:var(--press-s);opacity:1}
.v2.orig .vc-check{border-color:var(--dk)}
.v2.orig .vc-ph-list li{background:var(--base);box-shadow:var(--press-s)}
/* petites finitions des autres pages */
.v2.orig .empty .art,.v2.orig .empty img{border-radius:28px;box-shadow:var(--raise-s);transform:none;animation:none}
.v2.orig .history li,.v2.orig .rv-list li{border:0}
.v2.orig .history li+li{box-shadow:inset 0 2px 3px -2px var(--dk),inset 0 -2px 0 -1px var(--lt)}
.v2.orig .np-editor .ql-editor:focus,.v2.orig .np-editor .ql-editor:focus-visible,.v2.orig .np-editor:focus-within{outline:0}
.v2.orig .np-body{transition:box-shadow .3s var(--ease)}
.v2.orig .np-body:focus-within{box-shadow:var(--press),var(--ring)}
.v2.orig .np-title:focus-visible,.v2.orig .np-sub:focus-visible,.v2.orig .np-in:focus-visible{outline:0}
.v2.orig img.empty-art,.v2.orig .empty-art.photo,.v2.orig .nf .art,.v2.orig .empty img.art{border-radius:32px;box-shadow:var(--raise);transform:none!important;animation:none!important;filter:none;border:0}
.v2.orig .np-title.np-title-static,.v2.orig .np-title-static{background:none;box-shadow:none;padding:6px 8px;margin-top:24px}
.v2.orig img.empty-art,.v2.orig .nf img.art{clip-path:inset(0 round 32px);border-radius:32px}
.v2 .top-in .lang-switch{margin-left:auto}
@media (min-width:761px){.v2 .cities-nav{order:0;flex-basis:auto;margin:0}.v2 .top-in{flex-wrap:nowrap}}

/* ===== v39 : page de bon plan — colonne unique, épurée ===== */
body.v2 .pl-head,body.v2 .pl-cover,body.v2 .pl-main{width:100%;max-width:720px;margin:0 auto;padding-left:24px;padding-right:24px}
body.v2 .pl-head{padding-top:48px;text-align:center}
body.v2 .pl-head .pl-txt{padding:0;min-width:0}
body.v2 .pl-badge{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 22px;padding:18px;border-radius:50%;background:color-mix(in srgb,var(--bg) 55%,var(--base));box-shadow:var(--raise)}
body.v2 .pl-badge svg{display:block;width:100%;height:100%}
body.v2 .pl-back{display:inline-flex;gap:8px;padding:4px 6px;background:none;box-shadow:none;border-radius:8px;color:var(--fg);font-weight:700;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}
body.v2 .pl-back:hover{transform:none;box-shadow:none;opacity:.75}
body.v2 .pl-txt h1{max-width:20ch;margin:14px auto 0;font-size:clamp(2.1rem,6.4vw,3.5rem);line-height:1.08;letter-spacing:-.03em;text-wrap:balance}
body.v2 .pl-lead{max-width:40ch;margin:16px auto 0;font-size:clamp(1.05rem,2.4vw,1.2rem);line-height:1.55;color:var(--muted);text-wrap:balance}
body.v2 .pl-meta{justify-content:center;margin-top:22px;gap:8px 20px;font-size:.92rem;color:var(--muted)}
body.v2 .pl-who{text-align:left}
body.v2 .pl-who b{color:var(--ink)}
body.v2 .pl-cover{padding-top:36px}
body.v2 .pl-cover .pl-photo{border-radius:36px;box-shadow:var(--raise-l)}
body.v2 .pl-cover .pl-photo img{aspect-ratio:16/10}
body.v2 .pl-main{display:flex;flex-direction:column;gap:44px;padding-top:36px;padding-bottom:0}
body.v2 .pl-qa{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:0}
body.v2 .qa{flex-direction:row;gap:8px;min-width:0;padding:12px 22px 12px 18px;border-radius:99px;font-size:.92rem;box-shadow:var(--raise-s)}
body.v2 .qa:hover{box-shadow:var(--press-s)}
body.v2 .qa-ic,body.v2 .qa.main .qa-ic{width:22px;height:22px;background:none;box-shadow:none;border-radius:0;color:var(--fg)}
body.v2 .qa .qa-ic .ico{width:20px;height:20px}
body.v2 .qa:hover .qa-ic{transform:none}
body.v2 .qa.main{background:var(--ink);color:#fff;box-shadow:var(--raise-s)}
body.v2 .qa.main .qa-ic{color:#fff}
body.v2 .pl-article .prose{max-width:none;margin:0;font-size:1.12rem;line-height:1.75}
body.v2 .pl-article .prose > :first-child{margin-top:0}
body.v2 .pl-where{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px 16px;align-items:center;padding:20px 22px;border-radius:30px;background:var(--base);box-shadow:var(--press)}
body.v2 .pl-where .pl-pin{width:50px;height:50px;padding:9px;border-radius:50%;background:var(--base);box-shadow:var(--raise-xs)}
body.v2 .pl-where-t{min-width:0}
body.v2 .pl-label{font-size:.72rem;letter-spacing:.1em;color:var(--fg)}
body.v2 .pl-addr{margin:2px 0 0;font-size:1.05rem;font-weight:700}
body.v2 .pl-where-btns{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;margin:0}
body.v2 .pl-where-btns .btn{flex:0 1 auto;padding:9px 18px;font-size:.88rem}
body.v2 .pl-contrib{text-align:center}
body.v2 .pl-contrib h2{margin:0;font-size:1.3rem}
body.v2 .pl-contrib > p{max-width:42ch;margin:8px auto 18px;font-size:1rem;color:var(--muted)}
body.v2 .pl-contrib .pl-hist{margin:24px 0 0!important;padding:0;border:0;font-size:.84rem;line-height:1.8}
body.v2 .pl-more{padding-top:80px}
body.v2 .pl-more-h h2{font-size:clamp(1.3rem,3.6vw,1.7rem)}
@media(min-width:900px){
  body.v2 .pl-head{padding-top:72px}
  body.v2 .pl-main{padding-top:44px}
}
@media(max-width:599px){
  body.v2 .pl-head,body.v2 .pl-cover,body.v2 .pl-main{padding-left:20px;padding-right:20px}
  body.v2 .pl-head{padding-top:32px}
  body.v2 .pl-cover .pl-photo,body.v2 .pl-cover .pl-photo img{border-radius:28px}
  body.v2 .pl-main{gap:36px}
  body.v2 .qa:not(.main){width:48px;height:48px;padding:0;justify-content:center}
  body.v2 .qa:not(.main) > span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  body.v2 .qa.main{padding:13px 24px 13px 20px}
  body.v2 .pl-where{padding:18px}
}
@media(prefers-reduced-motion:no-preference){
  body.v2 .pl-badge,body.v2 .pl-meta,body.v2 .pl-qa,body.v2 .pl-where{animation:rise .7s .22s cubic-bezier(.2,.8,.2,1) both}
}

/* ===== v40 : éditeur (/nouveau, /modifier) — épuré : peu de cadres, tout respire ===== */
body.v2.orig .np-top{top:0;margin:0;width:100%;max-width:none;padding:10px 20px;border-radius:0;background:color-mix(in srgb,var(--base) 86%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:none}
body.v2.orig .np-crumb{display:none}
body.v2.orig .np-x{padding:8px 12px 8px 6px;font-weight:600}
body.v2.orig .np-x:hover{background:none;box-shadow:none;color:var(--ink)}
body.v2.orig .np-pub{padding:9px 22px;min-height:40px;box-shadow:none}
body.v2.orig .np-pub:active{box-shadow:inset 2px 2px 6px rgba(0,0,0,.3)}
/* couverture : un simple lien tant qu'il n'y a pas de photo */
body.v2.orig .np-cover:not(.has){height:auto;width:100%;max-width:720px;margin:0 auto;padding:26px 24px 0;background:none;box-shadow:none;border-radius:0;overflow:visible}
body.v2.orig .np-cover:not(.has)::before,body.v2.orig .np-cover:not(.has)::after{display:none}
body.v2.orig .np-cover:not(.has) .np-cover-act{position:static;opacity:1}
body.v2.orig .np-cover:not(.has) .np-cover-act button{padding:7px 14px 7px 10px;background:none;box-shadow:none;color:var(--muted);font-weight:600}
body.v2.orig .np-cover:not(.has) .np-cover-act button:hover{color:var(--ink);transform:none}
body.v2.orig .np-dnd .np-cover:not(.has){min-height:150px}
body.v2.orig .np-cover.has{height:clamp(160px,26vw,260px);max-width:720px;margin:20px auto 0;width:calc(100% - 40px);border-radius:32px;box-shadow:var(--raise)}
body.v2.orig .np-cover.has img{border-radius:32px}
/* page */
body.v2.orig .np-page{max-width:720px;padding:0 24px 120px}
body.v2.orig .np-icon{width:60px;height:60px;margin-top:18px;padding:13px;box-shadow:var(--raise-s)}
body.v2.orig .np-cover.has + .np-page .np-icon{margin-top:-30px}
body.v2.orig .np-icon:hover{transform:none}
body.v2.orig .np .np-title{margin-top:22px;padding:0;background:none;box-shadow:none;border-radius:0;font-size:clamp(2rem,5.6vw,3rem);line-height:1.1;letter-spacing:-.03em}
body.v2.orig .np .np-sub{margin-top:8px;padding:0;background:none;box-shadow:none;border-radius:0;color:var(--muted)}
body.v2.orig .np .np-title:focus,body.v2.orig .np .np-sub:focus{box-shadow:none}
/* propriétés : une liste à plat */
body.v2.orig .np .np-props{margin-top:30px;padding:0;gap:2px;border-radius:0;background:none;box-shadow:none}
body.v2.orig .np-prop{grid-template-columns:104px minmax(0,1fr);padding:3px 0;gap:4px 14px}
body.v2.orig .np-k{font-size:.86rem;font-weight:500;color:var(--muted)}
body.v2.orig .np-k .ico{opacity:.55}
body.v2.orig .np .np-props input.np-in,body.v2.orig .np-in{min-height:40px;padding:8px 16px;border-radius:14px;background:color-mix(in srgb,var(--dk) 24%,transparent);box-shadow:none}
body.v2.orig .np .np-props input.np-in:hover,body.v2.orig .np-in:hover{background:color-mix(in srgb,var(--dk) 34%,transparent);box-shadow:none}
body.v2.orig .np .np-props input.np-in:focus,body.v2.orig .np-in:focus{background:var(--base);box-shadow:var(--press-s)}
body.v2.orig .np-chip{padding:6px 14px 6px 10px;background:color-mix(in srgb,var(--bg) 70%,var(--base));box-shadow:none}
body.v2.orig .np-chip:hover{box-shadow:var(--raise-xs)}
body.v2.orig .np-chip.static{box-shadow:none}
body.v2.orig .np-sel select{min-height:40px;border-radius:14px;background:color-mix(in srgb,var(--dk) 24%,transparent);box-shadow:none}
body.v2.orig .np-sel select:hover{box-shadow:none;background:color-mix(in srgb,var(--dk) 34%,transparent)}
body.v2.orig .np-hint{font-size:.8rem;opacity:.85}
body.v2.orig .soc-edit summary{padding:6px 2px;background:none;box-shadow:none;color:var(--muted);font-weight:500;font-size:.9rem}
body.v2.orig .soc-edit[open] summary{box-shadow:none}
body.v2.orig .soc-grid input{padding:9px 16px;border-radius:14px;background:color-mix(in srgb,var(--dk) 24%,transparent);box-shadow:none}
body.v2.orig .soc-grid input:focus{background:var(--base);box-shadow:var(--press-s)}
/* texte : sur la page, sans cadre */
body.v2.orig .np .np-body{margin-top:36px;padding:0;border-radius:0;background:none;box-shadow:none}
body.v2.orig .np-editor .ql-editor{min-height:320px;padding:0 0 40px;font-size:1.12rem;line-height:1.75}
body.v2.orig .np-editor .ql-editor.ql-blank::before{left:0}
body.v2.orig .np-editor .ql-editor blockquote{padding:4px 0 4px 20px!important;border:0!important;border-left:3px solid var(--fg)!important;border-radius:0;background:none;box-shadow:none;font-size:1.1rem}
body.v2.orig .np-editor .ql-editor img{border-radius:22px;box-shadow:none}
body.v2.orig .np-tip{margin:24px 0 0;text-align:center;font-size:.8rem;opacity:.7}
@media(max-width:640px){
  body.v2.orig .np-top{padding:8px 14px}
  body.v2.orig .np-cover:not(.has){padding:18px 20px 0}
  body.v2.orig .np-cover.has{width:calc(100% - 28px);border-radius:26px}
  body.v2.orig .np-cover.has img{border-radius:26px}
  body.v2.orig .np-page{padding:0 20px 120px}
  body.v2.orig .np-prop{grid-template-columns:1fr;gap:2px;padding:6px 0}
  body.v2.orig .np-k{min-height:22px;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em}
}

/* ===== v41 : barre d'outils mobile de l'éditeur — 5 boutons, aérée ===== */
body.v2.orig .np-mbar [data-m="h"],body.v2.orig .np-mbar [data-m="italic"],body.v2.orig .np-mbar [data-m="quote"]{display:none}
body.v2.orig .np-mbar{left:12px;right:12px;width:fit-content;margin:0 auto;bottom:calc(10px + env(safe-area-inset-bottom));justify-content:center;gap:10px;padding:5px 12px;border-radius:99px;box-shadow:var(--raise-s)}
body.v2.orig .np-mbar button{flex:none;width:44px;max-width:none;height:44px;border-radius:50%;background:none;box-shadow:none}
body.v2.orig .np-mbar .ico{width:20px;height:20px}
body.v2.orig .np-mbar button.on,body.v2.orig .np-mbar button:active{background:none;box-shadow:none;color:var(--pink)}
body.v2.orig .np-mbar [data-m="blocks"]{width:40px;height:40px;margin-right:4px;background:var(--ink);color:#fff;box-shadow:none}
@media(hover:none){body.v2.orig .np.np-focus .np-up{bottom:calc(74px + env(safe-area-inset-bottom))}}

/* ===== v42 : éditeur mobile — un seul bouton « + » ; retour par balayage maison ===== */
body.v2.orig .np-mbar button:not([data-m="blocks"]){display:none}
body.v2.orig .np-mbar{left:auto;right:18px;width:auto;margin:0;padding:0;gap:0;background:none;box-shadow:none;border-radius:0;bottom:calc(18px + env(safe-area-inset-bottom))}
body.v2.orig .np-mbar [data-m="blocks"]{width:54px;height:54px;margin:0;border-radius:50%;background:var(--ink);color:#fff;box-shadow:var(--raise-s)}
body.v2.orig .np-mbar [data-m="blocks"] .ico{width:24px;height:24px}
@media(hover:none){body.v2.orig .np.np-focus .np-up{bottom:calc(86px + env(safe-area-inset-bottom))}}
.sb-ind{position:fixed;left:0;top:50%;z-index:200;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--base,#f2eee8);color:var(--ink,#2d2a32);box-shadow:6px 6px 12px var(--dk,#d8d1c6),-6px -6px 12px var(--lt,#fff);opacity:0;pointer-events:none;transform:translate(-48px,-50%) scale(.6)}
html.vt-swipe::view-transition-old(main){animation:none;opacity:0}
html.vt-swipe::view-transition-new(main){animation:vt-in-swipe .5s cubic-bezier(.2,.8,.2,1) both}
@keyframes vt-in-swipe{from{opacity:.35;transform:translateX(-40px) scale(.97)}}
