/* ============================================================
   amourotelephone.com — style.css
   Palette validée WCAG AA/AAA — ne pas modifier les couleurs
   sans revalider les contrastes.
   ============================================================ */
:root{
  --fond:        #0E0709;
  --fond-carte:  #1A0F12;
  --rose:        #FF85A8;  /* titres, liens, accents — fond sombre seulement (8,7:1) */
  --rose-btn:    #C2255C;  /* fonds de boutons + texte rose sur fond clair (5,66:1) */
  --texte:       #FFFFFF;
  --texte-2:     #D8CBCE;
  --header-bg:   rgba(14,7,9,0.82);
  --header-line: rgba(255,133,168,0.18);
  --voile:       rgba(14,7,9,0.60);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--fond);color:var(--texte);font-family:'Inter',Arial,sans-serif;line-height:1.65;font-size:17px}
h1,h2,h3{font-family:'Montserrat','Arial Black',sans-serif;line-height:1.2}
h2{font-size:clamp(24px,3.2vw,32px);margin-bottom:14px}
h2 .rose,h1 .rose{color:var(--rose)}
p{color:var(--texte-2)}
a{color:var(--rose)}
a:focus-visible,button:focus-visible{outline:3px solid var(--rose);outline-offset:3px;border-radius:4px}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}

@font-face{font-family:'Montserrat';src:url('../fonts/montserrat-latin-800-normal.woff2') format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:'Inter';src:url('../fonts/inter-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}

/* ---------- Header sticky semi-transparent ---------- */
header.site{position:sticky;top:0;z-index:100;background:var(--header-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--header-line)}
@supports not (backdrop-filter:blur(1px)){header.site{background:#120A0D}}
.navrow{display:flex;align-items:center;gap:26px;min-height:72px}
.logo{display:flex;align-items:center;flex-shrink:0}
.logo img{height:46px;width:auto}
nav.main{display:flex;gap:17px}
nav.main a{color:var(--texte);text-decoration:none;font-weight:600;font-size:14.5px;padding:6px 2px;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}
nav.main a:hover{color:var(--rose)}
nav.main a[aria-current="page"]{color:var(--rose);border-bottom-color:var(--rose)}
.navdot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#3DDC84;margin-left:7px;vertical-align:1px}
@media (prefers-reduced-motion:no-preference){.navdot{animation:blink 1.8s ease-in-out infinite}}
.head-num{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;text-decoration:none;line-height:1.15}
.head-num .n{color:var(--texte);font-family:'Montserrat',sans-serif;font-weight:800;font-size:21px;letter-spacing:.3px}
.head-num .t{color:#FFB9CB;font-size:12.5px;font-weight:600}
.burger{display:none;background:none;border:0;color:var(--texte);font-size:26px;cursor:pointer;padding:6px 10px}

/* ---------- Bouton d'appel flottant mobile ---------- */
.call-float{position:fixed;right:16px;bottom:16px;z-index:110;width:58px;height:58px;border-radius:50%;background:var(--rose-btn);display:none;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.45);opacity:0;transform:scale(.6);transition:opacity .25s,transform .25s;pointer-events:none}
.call-float.on{opacity:1;transform:scale(1);pointer-events:auto}
.call-float svg{width:26px;height:26px;fill:#FFF}
@media (prefers-reduced-motion:no-preference){
  .call-float{animation:pulse 2.4s ease-in-out infinite}
  @keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
}

/* ---------- Hero avec image de fond + voile ---------- */
.hero{position:relative;display:flex;align-items:center;min-height:75vh;max-height:680px;overflow:hidden}
.hero picture,.hero picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .voile{position:absolute;inset:0;background:var(--voile)}
.hero .wrap{position:relative;z-index:2;padding-top:40px;padding-bottom:40px}
.hero h1{font-size:clamp(30px,5vw,52px);font-weight:800;line-height:1.32;margin:20px 0 18px}
.hero .sous{font-size:19px;line-height:1.75;margin-bottom:30px;color:var(--texte)}

/* ---------- Badges & boutons ---------- */
.badge-prix{display:inline-block;background:#FFF;color:var(--rose-btn);font-weight:700;font-size:14.5px;padding:6px 15px;border-radius:99px}
.btn{display:inline-flex;align-items:center;gap:9px;padding:14px 27px;border-radius:10px;text-decoration:none;font-weight:700;font-size:16.5px}
.btn svg{width:18px;height:18px;fill:currentColor}
.btn-plein{background:var(--rose-btn);color:#FFF}
.btn-plein:hover{background:#A81E4F}
.btn-ligne{border:2px solid var(--rose);color:var(--rose)}
.btn-ligne:hover{background:rgba(255,133,168,.1)}
.btnrow{display:flex;gap:14px;flex-wrap:wrap}

a.numbloc{display:inline-flex;flex-direction:column;align-items:center;background:var(--fond-carte);border:1px solid var(--header-line);border-radius:14px;padding:16px 30px;text-decoration:none;transition:border-color .15s,background .15s}
a.numbloc:hover{border-color:var(--rose);background:#221317}
.numbloc .n{color:var(--texte);font-family:'Montserrat',sans-serif;font-weight:800;font-size:26px}
.numbloc .t{color:var(--rose);font-weight:600;font-size:13.5px;margin-top:4px}

/* ---------- Sections ---------- */
.bloc{padding:44px 0}
/* Le fond clair devient un bloc arrondi centré ; la section reste sur le fond sombre */
.bloc.carte{background:transparent}
.bloc.carte>.wrap{background:var(--fond-carte);border:1px solid var(--header-line);border-radius:26px;padding:44px 44px}
@media (max-width:900px){.bloc.carte>.wrap{padding:24px 18px;border-radius:18px}}
/* grille 3 colonnes pour les vitrines des pages pilier — cartes agrandies
   (sélecteurs avec ID : prioritaires sur la grille 4 colonnes de #girls-live) */
#girls-live.trois,#girls-all.trois,.girls.trois{grid-template-columns:repeat(3,1fr);gap:26px}
@media (min-width:1100px){#girls-live.trois,.girls.trois{margin-left:-44px;margin-right:-44px}}
.girls.trois .girl{border-radius:20px}
.girls.trois .tag{font-size:14.5px;padding:9px 17px}
.girls.trois .girl .body{padding:16px 20px 20px}
.girls.trois .girl .name a{font-size:21px}
.girls.trois .girl .body p{font-size:15px;margin-top:6px}
@media (max-width:1024px){#girls-live.trois,.girls.trois{grid-template-columns:repeat(2,1fr);margin-left:0;margin-right:0}}
@media (max-width:600px){#girls-live.trois,.girls.trois{grid-template-columns:1fr}}
.duo{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.duo.inv{grid-template-columns:.9fr 1.1fr}
.duo img{border-radius:16px;width:100%;height:auto;border:1px solid rgba(255,133,168,.45)}
.eyebrow{color:var(--rose);font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:8px}
.sechead{max-width:none}
.sechead.centre{margin:0 auto;text-align:center}

/* ---------- Pastille d'état (globale, texte blanc sur fond plein) ----------
   vert = En ligne · rouge = Occupée · orange = Bientôt connectée · noir = Hors ligne
   Teintes calibrées pour texte blanc AA : vert 5,4:1 · rouge 5,6:1 · orange 4,7:1 */
:root{
  --st-on:   #0C7A46;
  --st-busy: #C62828;
  --st-plan: #C25200;
  --st-off:  #161213;
}
.girlcard{position:relative}
.tag{position:absolute;top:12px;left:12px;z-index:2;display:inline-flex;align-items:center;gap:8px;background:var(--st-on);color:#FFFFFF;font-weight:700;font-size:13px;padding:7px 14px;border-radius:99px;line-height:1;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.tag .dot{width:9px;height:9px;border-radius:50%;background:#FFFFFF;flex-shrink:0}
.tag.st-online{background:var(--st-on)}
.tag.st-busy{background:var(--st-busy)}
.tag.st-planned{background:var(--st-plan)}
.tag.st-offline{background:var(--st-off);border:1px solid #3A3438}
@media (prefers-reduced-motion:no-preference){.tag .dot{animation:blink 1.6s ease-in-out infinite}@keyframes blink{0%,100%{opacity:1}50%{opacity:.35}}}

/* ---------- Images cliquables ---------- */
a.imglink{display:block;border-radius:16px;overflow:hidden;line-height:0}
a.imglink img{border-radius:0}
a.imglink:focus-visible{outline-offset:0}

/* ---------- Grille photos ---------- */
.galerie{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px;align-items:start}
.galerie img{border-radius:14px;width:100%;height:auto;border:1px solid rgba(255,133,168,.45)}

/* ---------- Étapes ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:32px}
.step{background:var(--fond-carte);border:1px solid var(--header-line);border-radius:14px;padding:24px 22px}
.step .num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--rose-btn);color:#FFF;font-weight:800;font-size:17px;margin-bottom:12px}
.step strong{color:var(--texte)}

/* ---------- FAQ ---------- */
.faq details{background:var(--fond-carte);border:1px solid var(--header-line);border-radius:12px;margin-top:12px;overflow:hidden}
.faq summary{cursor:pointer;padding:17px 20px;font-weight:700;color:var(--texte);font-size:16.5px;list-style:none;position:relative;padding-right:44px}
.faq summary::after{content:'+';position:absolute;right:20px;top:12px;color:var(--rose);font-size:24px;font-weight:400}
.faq details[open] summary::after{content:'–'}
.faq details p{padding:0 20px 17px}
.faq details a{font-weight:600}

/* ---------- Bloc partenaires ---------- */
.partenaires{border-top:1px solid var(--header-line);padding:40px 0}
.partenaires h2{font-size:19px}
.partenaires p{font-size:15px}

/* ---------- Footer ---------- */
footer.site{background:linear-gradient(180deg,#0C0709 0%,#080405 100%);border-top:0;padding:0 0 26px;position:relative;overflow:hidden}
footer.site::before{content:"";display:block;height:2px;background:linear-gradient(90deg,transparent,var(--rose) 30%,var(--rose) 70%,transparent);opacity:.55}
footer.site .wrap{padding-top:50px}
.footgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:36px;min-width:0}
.footgrid>div{min-width:0}
.foot-title{color:var(--texte);font-weight:700;margin-bottom:14px;font-size:15px;text-transform:uppercase;letter-spacing:1.4px}
footer.site ul{list-style:none}
footer.site li{margin-bottom:10px}
footer.site a{color:var(--texte-2);text-decoration:none;font-size:15px;transition:color .15s,padding-left .15s}
footer.site li a:hover{color:var(--rose);padding-left:4px}
footer.site p{font-size:15px}
.footbrand{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.badge18{display:inline-flex;flex:none;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:2px solid var(--rose);color:var(--rose);font-weight:800;font-size:14px;background:rgba(255,133,168,.06)}
.footnum{display:inline-flex;flex-direction:column;align-items:center;gap:2px;margin-top:18px;padding:13px 26px;border-radius:14px;background:var(--rose-btn);text-decoration:none;max-width:100%;box-shadow:0 6px 20px rgba(198,40,90,.35);transition:transform .15s,box-shadow .15s}
.footnum:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(198,40,90,.5)}
.footnum .n{color:#FFF !important;font-family:'Montserrat',sans-serif;font-weight:800;font-size:20px;letter-spacing:.4px;white-space:nowrap}
.footnum .t{color:#FFF !important;font-size:12px;font-weight:600;white-space:nowrap;opacity:.95}
.footlegal{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid var(--header-line);margin-top:40px;padding-top:20px;font-size:13.5px;color:var(--texte-2)}
@media (max-width:520px){.footnum{width:100%;box-sizing:border-box}.footnum .n{font-size:18px}.footlegal{justify-content:center;text-align:center}}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  nav.main{display:none}
  nav.main.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:#120A0D;padding:16px 22px;gap:14px;border-bottom:1px solid var(--header-line)}
  .burger{display:block;margin-left:0;flex:none}
  .navrow{position:relative;gap:8px;justify-content:space-between}
  .logo{flex:none}
  .head-num{display:flex;flex:1;min-width:0;margin:0;position:static;transform:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 6px}
  .head-num .n{font-size:16.5px;white-space:nowrap}
  .head-num .t{font-size:10.5px;white-space:nowrap}
  .call-float{display:flex}
  .navrow{min-height:62px}
  .logo img{height:38px}
  .hero{min-height:82vh;max-height:none}
  .duo,.duo.inv{grid-template-columns:1fr;gap:26px}
  .galerie{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:1fr}
  .footgrid{grid-template-columns:1fr}
  .bloc{padding:30px 0}
}

/* ---------- Fiches animatrices ---------- */
.fiche{display:grid;grid-template-columns:400px 1fr;gap:46px;margin-top:30px;align-items:start}
.portrait{position:relative;border-radius:16px;overflow:hidden;line-height:0}
.portrait img{width:100%;height:auto}
.portrait .tag{position:absolute;top:14px;left:14px}
.spec{display:inline-block;color:var(--rose);font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:10px}
.fiche h1{font-size:clamp(28px,3.6vw,42px);line-height:1.25;margin-bottom:16px}
.infos{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}
.infos span{background:var(--fond-carte);border:1px solid var(--header-line);color:var(--texte-2);font-size:14px;font-weight:600;padding:7px 15px;border-radius:99px}
.desc{margin-bottom:12px}
.audio-bloc{background:var(--fond-carte);border:1px solid var(--header-line);border-radius:14px;padding:16px 18px;margin:22px 0}
.audio-bloc .titre{display:block;color:var(--texte);font-weight:700;margin-bottom:10px}
.audio-bloc audio{width:100%}
.numbloc.small{padding:12px 22px}
.numbloc.small .n{font-size:21px}
.btnrow.left{justify-content:flex-start;margin-top:6px}
.fichenav{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
/* Carrousel des connectées */
.girls{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}
.girls .gcard{background:var(--fond-carte);border:1px solid var(--header-line);border-radius:14px;overflow:hidden;text-decoration:none;transition:border-color .15s}
.girls .gcard:hover{border-color:var(--rose)}
.girls .gcard .ph{position:relative;line-height:0}
.girls .gcard img{width:100%;aspect-ratio:3/4;object-fit:cover}
.girls .gcard .gname{color:var(--texte);font-family:'Montserrat',sans-serif;font-weight:800;font-size:17px;padding:12px 14px 2px;display:block}
.girls .gcard .gblurb{color:var(--texte-2);font-size:13.5px;padding:0 14px 14px;display:block;line-height:1.5}
@media (max-width:900px){
  .fiche{grid-template-columns:1fr;gap:26px}
  .girls{grid-template-columns:repeat(2,1fr)}
}

/* (états des badges : voir le bloc pastille globale plus haut) */

/* ---------- Cartes .girl : la bordure suit l'état en direct ---------- */
#girls-live,#girls-all{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}
@media (max-width:1024px){#girls-live,#girls-all{grid-template-columns:repeat(2,1fr);gap:16px}}
@media (max-width:600px){#girls-live,#girls-all{grid-template-columns:1fr;gap:16px}
  .girl .photo img{aspect-ratio:4/5}}
.girl{position:relative;background:var(--fond-carte);border:2px solid var(--st-on);border-radius:16px;overflow:hidden;cursor:pointer;transition:border-color .3s,transform .2s,box-shadow .3s;box-shadow:0 6px 22px rgba(12,122,70,.20)}
.girl:hover{transform:translateY(-3px)}
.girl.st-online{border-color:var(--st-on);box-shadow:0 6px 22px rgba(12,122,70,.25)}
.girl.st-busy{border-color:var(--st-busy);box-shadow:0 6px 22px rgba(198,40,40,.22)}
.girl.st-planned{border-color:var(--st-plan);box-shadow:0 6px 22px rgba(194,82,0,.20)}
.girl.st-offline{border-color:#2A2226;box-shadow:none;opacity:.75}
.girl.st-offline:hover{opacity:1}
.girl .tag{position:absolute;top:12px;left:12px;z-index:2}
.girl .photo{line-height:0}
.girl .photo img{width:100%;aspect-ratio:3/4;object-fit:cover}
.girl .body{padding:12px 14px 14px}
.girl .name a{color:var(--texte);font-family:'Montserrat',sans-serif;font-weight:800;font-size:17px;text-decoration:none}
.girl .name a:hover{color:var(--rose)}
.girl .body p{color:var(--texte-2);font-size:13.5px;line-height:1.5;margin-top:4px}

/* ---------- Planning de la fiche ---------- */
.horaires{list-style:none;columns:2;gap:24px}
.horaires li{color:var(--texte-2);font-size:14.5px;padding:4px 0;break-inside:avoid}
@media (max-width:600px){.horaires{columns:1}}

/* ---------- Liens accès rapide (hero) ---------- */
.acces{margin-top:38px;font-size:13px;color:var(--texte-2);letter-spacing:.2px}
.acces b{color:var(--texte-2);font-weight:600}
.acces a{color:#FFF;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.acces a:hover{color:var(--rose)}

/* ---------- Cartes partenaires ---------- */
.partgrid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:32px}
.partcard{display:block;background:#FFFFFF;border:2px solid var(--rose);border-radius:22px;padding:28px;box-shadow:0 10px 32px rgba(255,133,168,.15)}
.partcard > a{display:block;line-height:0}
.partcard img{width:100%;height:auto;border-radius:14px;display:block}
.partcard h3{font-size:22px;margin:22px 0 10px}
.partcard h3 a{color:#C2255C;text-decoration:none}
.partcard h3 a:hover{text-decoration:underline}
.partcard p{font-size:15.5px;line-height:1.7;color:#3A2A30}
.partcard p a{color:#C2255C;font-weight:600}
@media (max-width:900px){.partgrid{grid-template-columns:1fr}}

/* ---------- Recherche d'animatrices ---------- */
.recherche{position:relative;max-width:580px;margin:32px auto 0}
.recherche svg{position:absolute;left:22px;top:50%;transform:translateY(-50%);width:22px;height:22px;stroke:#8A7F82;fill:none;stroke-width:2.4;pointer-events:none}
.recherche input{width:100%;background:#FFFFFF;border:3px solid transparent;border-radius:16px;color:#2B1A1E;font-size:17.5px;font-weight:600;padding:18px 24px 18px 58px;outline:none;transition:border-color .2s;box-shadow:0 8px 26px rgba(0,0,0,.35)}
.recherche input::placeholder{color:#8A7F82;font-weight:500}
.recherche input:focus{border-color:var(--rose)}
#girl-search-vide{text-align:center;margin-top:26px}
@media (max-width:600px){.recherche input{font-size:16px;padding:16px 20px 16px 52px}}

/* ---------- Pagination des animatrices (pavés bien visibles) ---------- */
.pagin{display:flex;justify-content:center;gap:10px;margin-top:42px;flex-wrap:wrap}
.pagin a,.pagin span{display:inline-flex;align-items:center;justify-content:center;min-width:56px;height:56px;padding:0 18px;border-radius:12px;background:#FFFFFF;color:#C2255C;text-decoration:none;font-weight:800;font-size:20px;box-shadow:0 4px 14px rgba(0,0,0,.3)}
.pagin span[aria-current]{background:var(--rose-btn);color:#FFF}
.pagin a:hover{background:#FFE3EC}
@media (max-width:600px){.pagin a,.pagin span{min-width:50px;height:50px;font-size:18px}}

/* ---------- Légende des états ---------- */
.legende{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin-top:20px;font-size:13.5px;color:var(--texte-2)}
.legende span{display:inline-flex;align-items:center;gap:7px}
.legende i{width:10px;height:10px;border-radius:50%;display:inline-block}

/* ===== FORFAITS IFRAME RESPONSIVE ===== */
.rt-forfaits{
  margin-top:18px;
  border-radius:16px;
  overflow:hidden;
}
.rt-forfaits iframe{
  width:100% !important;
  border:0 !important;
  display:block !important;
  height:420px !important; /* Desktop */
}
/* Tablette */
@media (max-width: 1024px){
  .rt-forfaits iframe{
    height:750px !important;
  }
}
/* Mobile */
@media (max-width: 750px){
  .rt-forfaits iframe{
    height:1400px !important;
  }
}
/* bloc texte gauche / image droite de la section crédit */
.duobox{display:grid;grid-template-columns:1.15fr .85fr;gap:32px;align-items:center;background:var(--fond-carte);border:1px solid var(--header-line);border-radius:22px;padding:34px 36px}
.duobox h2{margin:8px 0 12px}
.duobox img{width:100%;height:auto;border-radius:14px;border:1px solid rgba(255,133,168,.45)}
@media (max-width:900px){.duobox{grid-template-columns:1fr;padding:22px 18px;gap:20px}}
.credit-q{background:var(--fond);border:1px solid var(--header-line);border-radius:14px;padding:18px 22px;margin-top:14px}
.credit-q strong{display:block;color:var(--texte);margin-bottom:6px}
.credit-q p{font-size:15px}

/* ---------- Sous-menu Dial privé ---------- */
.navdrop{position:relative;display:inline-block}
.navdrop-row{display:inline-flex;align-items:center;gap:4px}
.chev-btn{background:none;border:0;color:inherit;cursor:pointer;padding:4px 6px;line-height:1;display:inline-flex;align-items:center}
.chev-btn .chev{font-size:10px;opacity:.7;transition:transform .18s}
.navdrop.open .chev-btn .chev{transform:rotate(180deg)}
.sousmenu{display:none;position:absolute;top:100%;left:0;background:#120A0D;border:1px solid var(--header-line);border-radius:12px;padding:8px;min-width:160px;z-index:130;box-shadow:0 10px 26px rgba(0,0,0,.5)}
.sousmenu a{display:block;padding:9px 14px;border-radius:8px;font-size:14px}
.sousmenu a:hover{background:rgba(255,133,168,.12);color:var(--rose)}
@media (min-width:901px){
  .navdrop:hover .sousmenu,.navdrop:focus-within .sousmenu{display:block}
}
.navdrop.open .sousmenu{display:block}
@media (max-width:900px){
  .navdrop{display:block}
  .navdrop-row{display:flex;justify-content:space-between;width:100%}
  .chev-btn{padding:6px 12px;margin:-6px 0}
  .sousmenu{position:static;border:0;background:transparent;box-shadow:none;padding:4px 0 4px 16px;min-width:0}
}

/* ---------- Page 404 ---------- */
.p404{min-height:62vh;display:flex;align-items:center;text-align:center;padding:70px 0}
.p404 .code{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(90px,18vw,170px);line-height:1;background:linear-gradient(180deg,var(--rose) 0%,#8A2444 100%);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:4px}
.p404 h1{font-size:clamp(24px,3.4vw,38px);margin:14px 0 14px}
.p404 p{max-width:560px;margin:0 auto 26px}
.p404 .btnrow{justify-content:center}
.p404 .liens{margin-top:26px;font-size:15px}
.p404 .liens a{margin:0 10px}
