/* telrose-beurette.fr — rebuild statique sur le gabarit réseau (header, age-gate, fiches, footer),
   couleurs d'origine du site (magenta #e502ca, violet #b61aac), idées éditoriales reprises de
   telephone-rose.tel (hero photo + gros titre + encart couleur, bandes alternées claires/sombres,
   barre d'appel collante sur mobile — avec le vrai cartouche comme seul élément cliquable). */
:root{
  --rose:#e502ca;
  --rose-dark:#b61aac;
  --rose-mid:#d32ec5;
  --nuit:#1c0b19;
  --nuit-2:#2a1226;
  --fond:#ffffff;
  --fond-alt:#fbf3fa;
  --texte:#2a1f28;
  --text-muted:#6e5f6b;
  --border:#efdcec;
  --clair-sur-nuit:#f3e6f0;
  --radius:16px;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Open Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--fond);color:var(--texte);line-height:1.65;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;display:block;}
h1,h2,h3{font-family:'Montserrat','Open Sans',sans-serif;line-height:1.2;}
strong{font-weight:700;color:var(--rose-dark);}
.container{max-width:1140px;margin:0 auto;padding:0 20px;}
.kicker{font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--rose);margin-bottom:10px;}

/* Header — fond nuit, logo + cartouche réel (brut, sans arrondi ni ombre) + menu */
.site-header{background:var(--nuit);padding:12px 0;position:sticky;top:0;z-index:50;}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.logo{font-family:'Montserrat',sans-serif;font-size:1.45rem;font-weight:800;color:#fff;letter-spacing:-.02em;white-space:nowrap;}
.logo span{color:var(--rose);}
.header-actions{display:flex;align-items:center;gap:12px;}
.header-phone{display:block;}
.header-phone img{height:38px;width:auto;}
.menu-toggle{width:42px;height:42px;border-radius:21px;border:1px solid rgba(255,255,255,.4);background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;flex-shrink:0;}
.menu-toggle span{display:block;width:18px;height:2px;background:#fff;border-radius:2px;transition:transform .2s,opacity .2s;}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.site-menu{position:fixed;inset:0;z-index:49;background:var(--nuit);overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s;}
.site-menu.is-open{opacity:1;visibility:visible;transform:none;}
.site-menu-inner{padding:24px 20px 110px;max-width:600px;margin:0 auto;}
.site-menu a{display:block;padding:12px 0;border-bottom:1px solid #3a1d35;color:var(--clair-sur-nuit);font-size:1.05rem;}
.site-menu-section{font-family:'Montserrat',sans-serif;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--rose);font-weight:800;margin:22px 0 4px;}
.site-menu-hotesses a{display:flex;align-items:center;gap:14px;padding:10px 0;}
.site-menu-hotesses img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:center 20%;}
.site-menu-hotesses small{color:#c9a3c0;font-size:.8rem;margin-left:4px;}

/* Age gate */
.age-gate{position:fixed;inset:0;background:rgba(28,11,25,.94);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;}
.age-gate[hidden]{display:none;}
.age-gate-card{background:#fff;border-radius:var(--radius);padding:34px 28px;max-width:430px;text-align:center;}
.age-gate-card h2{font-size:1.3rem;margin-bottom:10px;}
.age-gate-card p{color:var(--text-muted);font-size:.9rem;margin-bottom:20px;}
.age-gate-check{text-align:left;font-size:.88rem;display:flex;align-items:flex-start;gap:8px;}
.age-gate-check input{margin-top:4px;}
.age-gate-check a{color:var(--rose-dark);text-decoration:underline;}
.age-gate-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.btn{display:inline-block;padding:12px 26px;border-radius:99px;font-weight:700;border:none;cursor:pointer;font-size:.95rem;font-family:inherit;}
.btn-rose{background:var(--rose-dark);color:#fff;}
.btn-rose[disabled]{background:#ddd;color:#888;cursor:not-allowed;}
.btn-outline{background:transparent;border:1px solid #ccc;color:var(--text-muted);}

/* Cartouches réels — affichés tels quels, seule la taille d'affichage varie */
.cartouche{display:inline-block;}
.cartouche img{width:100%;max-width:420px;height:auto;}
.cartouche-wrap{text-align:center;margin:30px 0;}

/* Hero home — photo + gros titre + encart couleur (idée telephone-rose.tel) */
.home-hero{padding:24px 0 0;}
.home-hero-box{position:relative;border-radius:22px;overflow:hidden;min-height:520px;display:flex;align-items:flex-end;background:var(--nuit);}
.home-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;transform:scaleX(-1);}
.home-hero-box::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,11,25,.92) 0%,rgba(28,11,25,.7) 45%,rgba(28,11,25,.15) 100%);}
.home-hero-content{position:relative;z-index:1;padding:44px 40px;max-width:640px;}
.home-hero-content .kicker{color:#ffb8f2;text-shadow:0 1px 6px rgba(0,0,0,.6);}
.home-hero-content h1{color:#fff;font-size:3.2rem;font-weight:800;letter-spacing:-.02em;margin-bottom:18px;}
.home-hero-card{background:var(--rose-dark);color:#fff;border-radius:14px;padding:20px 22px;margin-bottom:20px;font-size:.95rem;line-height:1.7;}
.home-hero-card strong{color:#fff;}
.home-hero-content .cartouche img{max-width:380px;}

/* Bandeau de réassurance */
.reassurance{background:var(--rose-dark);color:#fff;margin-top:24px;}
.reassurance .container{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 26px;padding-top:12px;padding-bottom:12px;}
.reassurance span{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.85rem;letter-spacing:.02em;}
.reassurance span::before{content:"✓ ";color:#ffd1f4;}

/* Grilles de fiches */
.home-grid-section{padding:46px 0 10px;}
.section-title{text-align:center;font-size:1.7rem;font-weight:800;color:var(--texte);margin-bottom:8px;}
.section-title::after{content:"";display:block;width:56px;height:4px;border-radius:2px;background:var(--rose);margin:12px auto 0;}
.section-sub{text-align:center;color:var(--text-muted);margin:0 auto 24px;max-width:620px;}
.hotesses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:26px;}
.hotesse-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;}
.hotesse-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(182,26,172,.14);}
.hotesse-card-photo{position:relative;display:block;}
.hotesse-card-photo img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 20%;}
.hotesse-card-name{position:absolute;left:0;right:0;bottom:0;padding:40px 18px 14px;background:linear-gradient(0deg,rgba(28,11,25,.88),rgba(28,11,25,0));color:#fff;font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.35rem;}
.hotesse-card-name small{font-family:'Open Sans',sans-serif;font-weight:600;font-size:.85rem;color:#f5c9ec;}
.hotesse-card-body{padding:16px 18px 20px;display:flex;flex-direction:column;flex:1;}
.hotesse-card-origine{font-family:'Montserrat',sans-serif;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--rose-dark);margin-bottom:8px;}
.hotesse-card-text{font-size:.88rem;color:var(--texte);margin-bottom:16px;flex:1;}
.hotesse-card-cta{display:block;text-align:center;background:var(--rose);color:#fff;border-radius:99px;padding:11px 16px;font-weight:700;font-size:.88rem;}
.hotesse-card-cta:hover{background:var(--rose-dark);}

/* Audio + encart Dialogue Direct */
.audio-block{text-align:center;padding:30px 0 6px;}
.audio-label{font-family:'Montserrat',sans-serif;font-weight:700;color:var(--rose-dark);margin-bottom:10px;}
.audio-block audio{width:100%;max-width:480px;margin:0 auto;display:block;}
.encart-direct{padding:46px 0 50px;text-align:center;}
.encart-direct a{display:inline-block;margin-top:22px;}
.encart-direct img{max-width:690px;width:100%;border-radius:12px;}

/* Sections éditoriales alternées (idée telephone-rose.tel) */
.edito{padding:64px 0;}
.edito-light{background:var(--fond-alt);}
.edito-dark{background:var(--nuit);color:var(--clair-sur-nuit);}
.edito-dark h2{color:#fff;}
.edito-dark strong{color:var(--rose);}
.edito-dark a{color:#fff;text-decoration:underline;text-decoration-color:var(--rose);}
.edito-inner{display:grid;grid-template-columns:1.35fr 1fr;gap:48px;align-items:center;}
.edito-reverse .edito-text{order:2;}
.edito-reverse .edito-photo{order:1;}
.edito-text h2{font-size:1.8rem;font-weight:800;margin-bottom:18px;}
.edito-text p{margin-bottom:14px;}
.edito-light a{color:var(--rose-dark);font-weight:700;text-decoration:underline;}
.edito-photo img{width:100%;max-height:560px;aspect-ratio:3/4;object-fit:cover;object-position:center 20%;border-radius:20px;}
/* Bandeau multi-numéros d'origine : affiché assez grand pour que chaque tarif reste lisible (défilement horizontal sur mobile) */
.numeros-reseau{padding:46px 0 10px;}
.numeros-scroll{overflow-x:auto;margin-top:24px;border:1px solid var(--border);border-radius:12px;}
.numeros-scroll img{min-width:1000px;width:100%;}

/* Bloc Marie Lou (standard réseau) */
.marielou-promo{display:flex;flex-direction:column;gap:20px;max-width:1000px;margin:56px auto 30px;}
.marielou-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.marielou-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;}
.marielou-info{text-align:center;}
.marielou-stars{color:#f5a623;font-size:1.3rem;letter-spacing:2px;margin-bottom:10px;}
.marielou-info h2{color:var(--rose-dark);font-size:1.4rem;margin-bottom:14px;}
.marielou-info p{margin-bottom:18px;}
.marielou-cartouche{display:block;max-width:380px;margin:0 auto;}
@media(min-width:800px){.marielou-promo{display:grid;grid-template-columns:1fr 1fr;align-items:center;}}

/* FAQ — blocs visibles (format du gabarit réseau) */
.faq-section{max-width:780px;margin:40px auto;}
.faq-section > h2{text-align:center;font-size:1.5rem;font-weight:800;margin-bottom:20px;}
.faq-item{border-left:4px solid var(--rose);background:var(--fond-alt);border-radius:0 12px 12px 0;padding:16px 20px;margin-bottom:12px;}
.faq-question{font-size:1rem;font-weight:700;color:var(--texte);margin-bottom:6px;}
.faq-answer{font-size:.92rem;color:var(--text-muted);}

/* Fiche — bandeau sombre photo + texte */
.fiche-hero{background:var(--nuit);color:var(--clair-sur-nuit);padding:40px 0;}
.fiche-hero-inner{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:44px;align-items:center;}
.fiche-hero-photo img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 20%;border-radius:20px;}
.fiche-hero-text h1{color:#fff;font-size:2.6rem;font-weight:800;margin-bottom:12px;}
.fiche-age{font-family:'Open Sans',sans-serif;font-size:1.1rem;font-weight:600;color:#f5c9ec;}
.fiche-hero-text .lead{font-size:1.02rem;margin-bottom:22px;max-width:560px;}
.fiche-hero-text strong{color:var(--rose);}
.fiche-page{max-width:860px;margin:0 auto;padding:36px 20px 40px;}
.fiche-bio{background:var(--fond-alt);border:1px solid var(--border);border-radius:var(--radius);padding:28px;}
.fiche-bio h2{font-size:1.3rem;color:var(--rose-dark);margin:6px 0 12px;}
.fiche-bio h2 + p{margin-top:0;}
.fiche-bio p{margin-bottom:14px;}
.fiche-gallery-section h2{font-size:1.4rem;text-align:center;margin-bottom:18px;}
.fiche-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.fiche-gallery a{display:block;border-radius:12px;overflow:hidden;}
.fiche-gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .3s;}
.fiche-gallery a:hover img{transform:scale(1.04);}
.fiche-depth{margin-top:36px;}
.fiche-depth h2{font-size:1.25rem;color:var(--rose-dark);margin:26px 0 10px;}
.autres-lignes{margin:40px 0 10px;text-align:center;}
.autres-lignes h2{font-size:1.4rem;margin-bottom:20px;}
.autres-lignes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start;}
.autres-lignes figcaption{font-family:'Montserrat',sans-serif;font-weight:800;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--rose-dark);margin-bottom:8px;}
.autres-lignes img{margin:0 auto;border-radius:10px;}
.fiche-rules{background:var(--fond-alt);border:1px solid var(--border);border-radius:var(--radius);padding:18px 22px;margin-top:30px;text-align:center;}
.fiche-rules h3{font-size:1rem;}
.fiche-rules a{color:var(--rose-dark);}

/* Pages contenu / légales */
.content-page h1,.legal-page h1{font-size:1.9rem;font-weight:800;margin-bottom:20px;}
.content-page h2,.legal-page h2{font-size:1.15rem;margin:26px 0 10px;color:var(--rose-dark);}
.content-page p{margin-bottom:14px;}
.legal-page p{margin-bottom:12px;color:#4d3f4a;font-size:.93rem;}
.table-wrap{overflow-x:auto;margin:14px 0 18px;}
.table-wrap table{width:100%;border-collapse:collapse;font-size:.88rem;}
.table-wrap th{text-align:left;padding:8px;color:var(--rose-dark);border-bottom:2px solid var(--border);}
.table-wrap td{padding:8px;border-bottom:1px solid var(--border);vertical-align:top;}

/* Rencontres sans CB — grille d'annonces */
.fiche-page:has(.rencontres-page){max-width:1140px;}
.rencontres-page > p,.rencontres-page > h2,.rencontres-page .faq-section{max-width:820px;margin-left:auto;margin-right:auto;}
.annonces-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:20px 0 34px;}
.annonce-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 6px 18px rgba(28,11,25,.06);}
.annonce-photo img{width:100%;aspect-ratio:5/6;object-fit:cover;object-position:center 25%;}
.annonce-body{padding:14px 14px 16px;display:flex;flex-direction:column;flex:1;}
.rencontres-page .annonce-body h3{font-size:1.08rem;color:var(--texte);margin-bottom:8px;}
.rencontres-page .annonce-body p{font-size:.86rem;color:var(--text-muted);margin-bottom:8px;}
.annonce-code{margin-top:auto;padding-top:6px;font-family:'Montserrat',sans-serif;font-weight:800;font-size:.8rem;letter-spacing:.04em;color:var(--rose-dark);}
.annonce-cartouche{display:block;margin-top:8px;}
.annonce-cartouche img{width:100%;}
.banner-voyeur{text-align:center;padding:26px 0 0;}
.banner-voyeur a{display:inline-block;max-width:750px;width:100%;}
.banner-voyeur img{width:100%;border-radius:10px;}

/* Footer */
footer.site-footer{background:var(--nuit);padding:32px 0;margin-top:40px;}
footer.site-footer .container{display:flex;flex-direction:column;gap:14px;}
footer.site-footer a{color:#e0bfd8;font-size:.86rem;margin-right:18px;}
footer.site-footer a:hover{color:var(--rose);}
footer.site-footer .copy{color:#a98aa2;font-size:.8rem;}

/* Barre d'appel collante — mobile uniquement ; seul élément cliquable : le cartouche réel */
.call-bar{display:none;}
@keyframes ticker{0%,28%{opacity:1;transform:none;}33%,100%{opacity:0;transform:translateY(-6px);}}
@media(max-width:700px){
  .call-bar{display:flex;flex-direction:column;align-items:center;gap:6px;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--nuit);padding:8px 12px 10px;box-shadow:0 -6px 20px rgba(0,0,0,.25);}
  .call-bar-ticker{position:relative;height:18px;width:100%;text-align:center;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.8rem;color:#f5c9ec;}
  .call-bar-ticker span{position:absolute;left:0;right:0;opacity:0;animation:ticker 9s infinite;}
  .call-bar-ticker span:nth-child(2){animation-delay:3s;}
  .call-bar-ticker span:nth-child(3){animation-delay:6s;}
  .call-bar-cartouche img{height:40px;width:auto;}
  body{padding-bottom:84px;}
}
@media(max-width:700px) and (prefers-reduced-motion:reduce){
  .call-bar-ticker span{animation:none;}
  .call-bar-ticker span:first-child{opacity:1;}
}

/* Lightbox galeries */
.lightbox-overlay{position:fixed;inset:0;background:rgba(0,0,0,.93);display:none;align-items:center;justify-content:center;z-index:9998;padding:20px;}
.lightbox-overlay.is-open{display:flex;}
.lightbox-img{max-width:92vw;max-height:86vh;border-radius:8px;}
.lightbox-close{position:absolute;top:14px;right:18px;background:none;border:none;color:#fff;font-size:2.4rem;cursor:pointer;line-height:1;padding:4px 10px;}
.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.14);border:none;color:#fff;font-size:1.4rem;padding:14px 18px;cursor:pointer;border-radius:8px;}
.lightbox-prev{left:12px;}
.lightbox-next{right:12px;}

/* Responsive */
@media(max-width:900px){
  .hotesses-grid{grid-template-columns:repeat(2,1fr);}
  .edito-inner{grid-template-columns:1fr;gap:28px;}
  .edito-reverse .edito-text,.edito-reverse .edito-photo{order:0;}
  .edito-photo img{max-height:420px;aspect-ratio:4/3;}
  .fiche-hero-inner{grid-template-columns:1fr;gap:24px;}
  .fiche-hero-photo{max-width:360px;margin:0 auto;}
}
@media(max-width:700px){
  .site-header{position:relative;}
  .site-header .container{flex-wrap:wrap;}
  .header-actions{display:contents;}
  .menu-toggle{order:2;}
  .header-phone{order:3;flex-basis:100%;display:flex;justify-content:center;}
  .header-phone img{height:32px;}
  .home-hero{padding-top:14px;}
  .home-hero-box{min-height:0;border-radius:16px;}
  .home-hero-box::after{background:linear-gradient(0deg,rgba(28,11,25,.96) 0%,rgba(28,11,25,.82) 55%,rgba(28,11,25,.35) 100%);}
  .home-hero-bg{object-position:18% 30%;}
  .home-hero-content{padding:150px 18px 22px;}
  .home-hero-content h1{font-size:2.3rem;}
  .home-hero-card{font-size:.9rem;padding:16px;}
  .edito{padding:44px 0;}
  .edito-text h2{font-size:1.45rem;}
  .fiche-hero-text h1{font-size:2.1rem;}
  .fiche-gallery{grid-template-columns:repeat(2,1fr);}
  .autres-lignes-grid{grid-template-columns:1fr;}
  .annonces-grid{grid-template-columns:repeat(2,1fr);gap:14px;}
}
@media(max-width:520px){
  .hotesses-grid{grid-template-columns:1fr;}
  .annonces-grid{grid-template-columns:1fr;}
  .annonce-photo img{aspect-ratio:1/1;}
  .logo{font-size:1.25rem;}
  .section-title{font-size:1.4rem;}
}

/* Autres lignes sans bannières photo (20/10/2026) : encart plan cul + 2 cartes ligne empilées */
.autres-lignes-grid{grid-template-columns:auto 1fr;max-width:760px;margin:0 auto;align-items:stretch;}
.autres-lignes-grid>figure:first-child img{max-width:220px;}
.al-lines{display:grid;gap:16px;}
.al-line{background:var(--fond-alt);border:1px solid var(--border);border-radius:var(--radius);padding:18px 16px;display:flex;flex-direction:column;justify-content:center;}
.al-title{font-size:.95rem;color:var(--texte);margin-bottom:10px;}
.al-price{font-weight:800;font-size:1.7rem;line-height:1;color:var(--rose-dark);margin-bottom:12px;}
.al-price small{font-size:.75rem;font-weight:600;color:var(--text-muted);}
.al-line img{width:100%;max-width:300px;}
@media (max-width:700px){.autres-lignes-grid{grid-template-columns:1fr;}}
