/* CSS centralisé — hotel-cnpe-chinon.fr */
/* index.html */
body.page-home *,body.page-home *::before,body.page-home *::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body.page-home{font-family:Outfit,sans-serif;background:var(--cream);color:var(--text);line-height:1.6;font-size:16px;}
body.page-home .topbar{background:var(--navy);color:rgba(255,255,255,.7);text-align:center;padding:9px 24px;font-size:13px;display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;}
body.page-home .topbar a{color:var(--gold);text-decoration:none;font-weight:600;}
body.page-home .sep{opacity:.3;}
body.page-home header{position:sticky;top:0;z-index:100;background:rgba(247,244,238,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);}
body.page-home .hdr{max-width:1160px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:70px;gap:20px;}
body.page-home .logo{text-decoration:none;}
body.page-home .logo-name{font-family:"Lora",serif;font-size:19px;color:var(--navy);font-weight:700;display:block;}
body.page-home .logo-sub{font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;}
body.page-home nav{display:flex;gap:28px;}
body.page-home nav a{font-size:14px;font-weight:500;color:var(--mid);text-decoration:none;transition:color .2s;}
body.page-home nav a:hover,body.page-home nav a.active{color:var(--navy);font-weight:700;}
body.page-home .btn-resa{background:var(--navy);color:#fff;padding:11px 24px;border-radius:7px;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;}
body.page-home .btn-resa:hover{background:var(--navy2);}
body.page-home section{padding:80px 32px;}
body.page-home .wrap{max-width:1160px;margin:0 auto;}
body.page-home .eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:flex;align-items:center;gap:12px;}
body.page-home .eyebrow::before{content:"";width:28px;height:1.5px;background:var(--gold);}
body.page-home h2{font-family:"Lora",serif;font-size:clamp(1.8rem,3.5vw,2.7rem);font-weight:700;line-height:1.2;margin-bottom:14px;}
body.page-home .lead{color:var(--mid);max-width:620px;font-size:16px;margin-bottom:48px;font-weight:300;line-height:1.7;}
body.page-home .hero{position:relative;overflow:hidden;min-height:88vh;display:flex;align-items:center;}
body.page-home .hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;}
body.page-home .hero-overlay{position:absolute;inset:0;background:linear-gradient(105deg,rgba(13,31,53,.72) 0%,rgba(13,31,53,.38) 55%,rgba(13,31,53,.12) 100%);z-index:1;}
body.page-home .hero-content{position:relative;z-index:2;max-width:1160px;margin:0 auto;padding:100px 32px 170px;width:100%;}
body.page-home .badge{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.55);color:#fff;padding:7px 18px;border-radius:100px;margin-bottom:28px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:background .2s,transform .15s,border-color .2s;}
body.page-home .badge:hover{background:rgba(0,0,0,.72);border-color:rgba(255,255,255,.75);transform:translateY(-1px);}
body.page-home .badge::before{content:"";width:7px;height:7px;background:#4ade80;border-radius:50%;box-shadow:0 0 8px #4ade80;animation:blink 2s ease-in-out infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
body.page-home h1{font-family:"Lora",serif;font-size:clamp(2.2rem,4.8vw,3.6rem);color:var(--white);font-weight:700;line-height:1.12;max-width:790px;margin-bottom:20px;}
body.page-home h1 em{font-style:italic;color:#fff;font-weight:400;text-shadow:0 2px 10px rgba(0,0,0,.7);}
body.page-home .hero-lead{font-size:17px;color:rgba(254,252,248,.72);max-width:500px;margin-bottom:40px;font-weight:300;line-height:1.65;}
body.page-home .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
body.page-home .btn-main{display:inline-flex;align-items:center;gap:9px;background:var(--gold);color:var(--navy);padding:16px 32px;border-radius:8px;font-weight:700;font-size:15px;text-decoration:none;transition:background .2s,transform .15s;}
body.page-home .btn-main:hover{background:var(--gold2);transform:translateY(-2px);}
body.page-home .btn-ghost{display:inline-flex;align-items:center;gap:9px;border:1.5px solid rgba(254,252,248,.3);color:var(--white);padding:16px 32px;border-radius:8px;font-size:15px;text-decoration:none;}
body.page-home .btn-ghost:hover{border-color:rgba(254,252,248,.6);background:rgba(254,252,248,.07);}
body.page-home .facts{position:absolute;bottom:0;left:0;right:0;background:rgba(13,31,53,.85);backdrop-filter:blur(8px);border-top:1px solid rgba(200,169,110,.2);display:grid;grid-template-columns:repeat(4,1fr);}
body.page-home .fact{padding:20px 28px;border-right:1px solid rgba(200,169,110,.12);}
body.page-home .fact:last-child{border-right:none;}
body.page-home .fv{font-family:"Lora",serif;font-size:22px;color:var(--gold);font-weight:700;margin-bottom:3px;}
body.page-home .fl{font-size:11px;color:rgba(254,252,248,.5);text-transform:uppercase;letter-spacing:.08em;}
body.page-home .chambres-apercu{background:var(--white);}
body.page-home .apercu-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;margin-bottom:32px;}
body.page-home .apercu-card{border-radius:14px;overflow:hidden;border:1px solid var(--border);background:var(--white);transition:box-shadow .3s,transform .3s;text-decoration:none;color:inherit;display:flex;flex-direction:column;}
body.page-home .apercu-card:hover{box-shadow:0 16px 40px rgba(13,31,53,.1);transform:translateY(-3px);}
body.page-home .apercu-card.featured{border:2px solid var(--gold);box-shadow:0 8px 32px rgba(200,169,110,.15);}
body.page-home .ap-photo{position:relative;overflow:hidden;height:300px;}
body.page-home .ap-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
body.page-home .apercu-card:hover .ap-photo img{transform:scale(1.03);}
body.page-home .ap-badge{position:absolute;top:16px;left:16px;background:var(--gold);color:var(--navy);padding:5px 14px;border-radius:5px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
body.page-home .ap-badge.std{background:var(--navy);color:#fff;}
body.page-home .ap-price{position:absolute;bottom:16px;right:16px;background:var(--navy);color:#fff;padding:8px 16px;border-radius:7px;font-family:"Lora",serif;font-size:18px;font-weight:700;}
body.page-home .ap-price small{font-family:Outfit,sans-serif;font-size:11px;color:rgba(255,255,255,.6);}
body.page-home .ap-body{padding:24px 28px;flex:1;display:flex;flex-direction:column;justify-content:space-between;}
body.page-home .ap-title{font-family:"Lora",serif;font-size:20px;font-weight:700;margin-bottom:6px;}
body.page-home .ap-cap{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-bottom:10px;}
body.page-home .ap-desc{font-size:13px;color:var(--mid);line-height:1.65;margin-bottom:16px;}
body.page-home .ap-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding-top:16px;}
body.page-home .best{font-size:12px;color:var(--green);font-weight:600;}
body.page-home .best::before{content:"✓ ";}
body.page-home .btn-voir{background:var(--navy);color:#fff;padding:10px 22px;border-radius:7px;font-size:13px;font-weight:700;text-decoration:none;}
body.page-home .btn-voir:hover{background:var(--navy2);}
body.page-home .points-section{background:var(--cream2);}
body.page-home .points-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
body.page-home .pt-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:26px;transition:border-color .2s;}
body.page-home .pt-card:hover{border-color:var(--gold);}
body.page-home .pt-icon{font-size:28px;margin-bottom:14px;}
body.page-home .pt-title{font-size:15px;font-weight:700;margin-bottom:8px;}
body.page-home .pt-desc{font-size:13px;color:var(--mid);line-height:1.65;}
body.page-home .depart-matinal{background:var(--white);padding:64px 32px;}
body.page-home .depart-card{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:300px 1fr auto;gap:34px;align-items:center;background:linear-gradient(135deg,var(--navy),var(--navy2));border-radius:16px;padding:30px;color:var(--white);box-shadow:0 18px 45px rgba(59,42,31,.16);}
body.page-home .depart-photo{width:100%;height:220px;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);}
body.page-home .depart-photo img{width:100%;height:100%;object-fit:cover;display:block;}
body.page-home .depart-kicker{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold2);margin-bottom:8px;}
body.page-home .depart-card h2{color:var(--white);font-size:clamp(1.7rem,3vw,2.35rem);margin-bottom:10px;}
body.page-home .depart-intro{color:rgba(254,252,248,.82);font-size:15px;line-height:1.75;max-width:690px;}
body.page-home .depart-benefit{margin-top:14px;font-size:13px;color:rgba(254,252,248,.66);font-style:italic;}
body.page-home .depart-action{text-align:center;min-width:180px;}
body.page-home .depart-price{font-family:"Lora",serif;font-size:38px;font-weight:700;color:var(--gold2);line-height:1;margin-bottom:5px;}
body.page-home .depart-price small{display:block;font-family:Outfit,sans-serif;font-size:11px;color:rgba(254,252,248,.55);font-weight:400;letter-spacing:.06em;text-transform:uppercase;margin-top:8px;}
body.page-home .depart-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:18px;background:var(--gold);color:var(--navy);padding:13px 20px;border-radius:8px;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;}
body.page-home .depart-btn:hover{background:var(--gold2);}
body.page-home .depart-note{font-size:11px;color:rgba(254,252,248,.5);margin-top:10px;max-width:200px;}

body.page-home .hero-ai-disclosure{
  background:var(--white);color:var(--muted);font-size:10px;line-height:1.4;
  text-align:right;padding:6px 32px 0;max-width:1160px;margin:0 auto;
}
@media (max-width:640px){
  body.page-home .hero-ai-disclosure{text-align:center;padding:6px 18px 0;font-size:9px;}
}

body.page-home .social-proof{background:var(--white);border-bottom:1px solid var(--border);}
body.page-home .sp-inner{display:flex;align-items:center;justify-content:center;gap:32px;padding:20px 32px;flex-wrap:wrap;}
body.page-home .sp-item{display:flex;align-items:center;gap:10px;}
body.page-home .sp-val{font-family:"Lora",serif;font-size:18px;font-weight:700;color:var(--navy);}
body.page-home .sp-lbl{font-size:13px;color:var(--mid);}
body.page-home .sp-link{color:inherit;text-decoration:none;border-radius:10px;padding:8px 10px;transition:background .2s,transform .15s;}
body.page-home .sp-link:hover{background:var(--cream);transform:translateY(-1px);}
body.page-home .sp-action{font-size:13px;color:var(--gold);font-weight:700;}
body.page-home .sp-sep{width:1px;height:28px;background:var(--border);}
@media (max-width:640px){body.page-home .sp-sep{display:none;}
body.page-home .sp-inner{gap:20px;}
body.page-home .sp-item{flex-direction:column;align-items:center;gap:2px;text-align:center;}}
body.page-home .cta-band{background:var(--navy);padding:56px 32px;text-align:center;}
body.page-home .cta-band h2{color:var(--white);margin-bottom:12px;}
body.page-home .cta-band p{color:rgba(254,252,248,.6);font-size:16px;margin-bottom:32px;}
body.page-home .cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
body.page-home .btn-gold{display:inline-flex;align-items:center;gap:9px;background:var(--gold);color:var(--navy);padding:16px 32px;border-radius:8px;font-weight:700;font-size:15px;text-decoration:none;}
body.page-home .btn-gold:hover{background:var(--gold2);}
body.page-home .btn-outline{display:inline-flex;align-items:center;gap:9px;border:1.5px solid rgba(254,252,248,.3);color:var(--white);padding:16px 32px;border-radius:8px;font-size:15px;text-decoration:none;}
body.page-home footer{background:var(--navy);}
body.page-home .footer-main{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;padding:56px 32px 40px;border-bottom:1px solid rgba(255,255,255,.08);}
body.page-home .f-brand{font-family:"Lora",serif;font-size:20px;color:var(--white);margin-bottom:10px;}
body.page-home .f-addr{font-size:13px;color:rgba(254,252,248,.55);line-height:1.8;margin-bottom:16px;}
body.page-home .f-tel{font-size:15px;color:var(--gold);font-weight:700;text-decoration:none;}
body.page-home .f-col-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin-bottom:14px;}
body.page-home .f-links{display:flex;flex-direction:column;gap:8px;}
body.page-home .f-links a{font-size:13px;color:rgba(254,252,248,.5);text-decoration:none;transition:color .2s;}
body.page-home .f-links a:hover{color:var(--white);}
body.page-home .footer-bottom{max-width:1160px;margin:0 auto;display:flex;justify-content:space-between;padding:20px 32px;flex-wrap:wrap;gap:10px;font-size:12px;color:rgba(254,252,248,.4);}
body.page-home .sticky{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--navy);border-top:1px solid rgba(200,169,110,.3);}
body.page-home .sticky-inner{display:grid;grid-template-columns:1fr 1fr;}
body.page-home .sticky a{display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 10px;font-size:13px;font-weight:700;text-decoration:none;}
body.page-home .s-tel{background:var(--gold);color:var(--navy);}
body.page-home .s-resa{background:var(--navy2);color:var(--white);}
body.page-home .hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px;border-radius:6px;transition:background .2s;z-index:300;}
body.page-home .hamburger:hover{background:var(--cream2);}
body.page-home .hamburger span{display:block;width:22px;height:2px;background:var(--navy);border-radius:2px;transition:transform .3s,opacity .3s;}
body.page-home .hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
body.page-home .hamburger.open span:nth-child(2){opacity:0;}
body.page-home .hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
body.page-home .mobile-menu{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:250;background:rgba(13,31,53,.97);flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;}
body.page-home .mobile-menu.open{display:flex;}
body.page-home .mobile-menu a{font-family:"Lora",serif;font-size:1.6rem;color:rgba(254,252,248,.8);text-decoration:none;padding:12px 24px;border-radius:8px;font-style:italic;transition:color .2s,background .2s;text-align:center;}
body.page-home .mobile-menu a:hover,body.page-home .mobile-menu a.active{color:var(--gold);background:rgba(200,169,110,.08);}
body.page-home .mobile-menu .m-divider{width:40px;height:1px;background:rgba(200,169,110,.25);margin:8px 0;}
body.page-home .mobile-menu .m-resa{background:var(--gold);color:var(--navy) !important;font-family:Outfit,sans-serif;font-style:normal;font-size:1rem;font-weight:700;padding:14px 32px;margin-top:12px;border-radius:8px;}
body.page-home .mobile-menu .m-resa:hover{background:var(--gold2) !important;}
@media (max-width:900px){body.page-home nav{display:none;}
body.page-home .hamburger{display:flex;}
body.page-home .apercu-grid{grid-template-columns:1fr;}
body.page-home .points-grid{grid-template-columns:1fr 1fr;}
body.page-home .depart-card{grid-template-columns:240px 1fr;gap:24px;padding:26px;}
body.page-home .depart-photo{height:180px;}
body.page-home .depart-action{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:22px;text-align:left;}
body.page-home .depart-btn{margin-top:0;}
body.page-home .depart-note{margin-top:0;}
body.page-home .facts{grid-template-columns:1fr 1fr;}
body.page-home .hero-content{padding-bottom:200px;}
body.page-home .footer-main{grid-template-columns:1fr;gap:24px;}
body.page-home .sticky{display:block;}
body.page-home{padding-bottom:58px;}
body.page-home section{padding:56px 20px;}
body.page-home .hdr{height:auto;padding:10px 16px;flex-wrap:nowrap;gap:10px;}
body.page-home .logo-name{font-size:15px;white-space:nowrap;}
body.page-home .logo-sub{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;}
body.page-home .btn-resa{padding:9px 14px;font-size:12px;white-space:nowrap;flex-shrink:0;}
body.page-home .topbar{padding:6px 12px;font-size:11px;gap:10px;}
body.page-home .hero-content{padding:80px 20px 200px;}
body.page-home h1 em{color:#fff !important;text-shadow:0 2px 12px rgba(0,0,0,.9);}
body.page-home h1{text-shadow:0 2px 8px rgba(0,0,0,.5);}
body.page-home .badge{background:rgba(0,0,0,.55);border-color:rgba(255,255,255,.5);color:#fff;}}
@media (max-width:768px){body.page-home .hero{min-height:60vh;}
body.page-home .hero-img{object-position:top center;}
body.page-home h1{font-size:clamp(1.5rem,4vw,2.2rem);}
body.page-home .hero-lead{font-size:15px;}}
@media (max-width:560px){body.page-home .points-grid{grid-template-columns:1fr;}
body.page-home .depart-matinal{padding:48px 18px;}
body.page-home .depart-card{grid-template-columns:1fr;text-align:center;padding:22px;}
body.page-home .depart-photo{height:auto;aspect-ratio:4 / 3;}
body.page-home .depart-action{grid-column:auto;display:block;text-align:center;}
body.page-home .depart-btn{margin-top:16px;}
body.page-home .depart-note{margin:10px auto 0;}
body.page-home .logo-sub{display:none;}
body.page-home .hdr{padding:10px 12px;}
body.page-home .facts{grid-template-columns:1fr 1fr;}
body.page-home .fact{padding:14px 16px;}
body.page-home .fv{font-size:18px;}}
body.page-home .modal-overlay{display:none;position:fixed;inset:0;z-index:1000;background:rgba(13,31,53,.7);backdrop-filter:blur(4px);overflow-y:auto;padding:24px 16px;}
body.page-home .modal-overlay.open{display:flex;align-items:flex-start;justify-content:center;}
body.page-home .modal-box{background:#faf8f4;max-width:860px;width:100%;margin:auto;border-radius:4px;overflow:hidden;box-shadow:0 24px 80px rgba(13,31,53,.35);}
body.page-home .modal-header{background:var(--navy);padding:28px 32px;display:flex;align-items:center;justify-content:space-between;}
body.page-home .modal-header h2{font-family:"Lora",serif;font-size:1.5rem;color:#fff;font-weight:600;font-style:italic;margin:0;}
body.page-home .modal-close{background:none;border:none;color:rgba(255,255,255,.6);font-size:28px;cursor:pointer;line-height:1;padding:0 4px;transition:color .2s;}
body.page-home .modal-close:hover{color:#fff;}
body.page-home .modal-tabs{display:flex;background:#1c2c3e;border-bottom:2px solid var(--gold);}
body.page-home .modal-tab{flex:1;padding:14px;font-size:13px;font-weight:600;text-align:center;letter-spacing:.06em;text-transform:uppercase;border:none;cursor:pointer;background:transparent;color:rgba(255,255,255,.45);transition:all .2s;}
body.page-home .modal-tab.active{color:var(--gold);}
body.page-home .modal-content{padding:36px 40px 48px;max-height:70vh;overflow-y:auto;}
body.page-home .modal-section{margin-bottom:32px;}
body.page-home .modal-section-label{font-size:.65rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem;font-weight:600;}
body.page-home .modal-section-title{font-family:"Lora",serif;font-size:1.2rem;font-weight:600;color:var(--navy);margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--border);position:relative;}
body.page-home .modal-section-title::after{content:"";position:absolute;bottom:-1px;left:0;width:32px;height:2px;background:var(--gold);}
body.page-home .modal-content p{font-size:.88rem;color:#3a3228;line-height:1.8;margin-bottom:.8rem;}
body.page-home .modal-content a{color:var(--gold);text-decoration:none;}
body.page-home .modal-content a:hover{text-decoration:underline;}
body.page-home .modal-info-card{background:#f5f0e8;border:1px solid #ddd5c4;border-left:3px solid var(--gold);padding:1.2rem 1.6rem;margin-bottom:1.2rem;font-size:.85rem;}
body.page-home .modal-info-card .row{display:flex;gap:.5rem;padding:.25rem 0;border-bottom:1px dashed #ddd5c4;align-items:baseline;}
body.page-home .modal-info-card .row:last-child{border-bottom:none;}
body.page-home .modal-info-card .lbl{min-width:160px;font-weight:600;color:#6b5e4e;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;flex-shrink:0;}
body.page-home .modal-saisons{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:1rem;}
body.page-home .modal-saison{background:#f5f0e8;border:1px solid #ddd5c4;border-left:3px solid var(--gold);padding:1rem 1.2rem;}
body.page-home .modal-saison .s-name{font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:.2rem;}
body.page-home .modal-saison .s-period{font-family:"Lora",serif;font-size:1rem;color:var(--navy);margin-bottom:.4rem;}
body.page-home .modal-saison p{font-size:.82rem;margin:0;color:#3a3228;}
body.page-home .modal-annul{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:1rem;}
body.page-home .modal-annul-card{padding:1.1rem;border:1px solid #ddd5c4;font-size:.85rem;}
body.page-home .modal-annul-card.ok{background:#f0f7f0;border-color:#b8d4b8;}
body.page-home .modal-annul-card.warn{background:#fdf6f0;border-color:#e0c4a0;}
body.page-home .modal-annul-title{font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin-bottom:.4rem;}
body.page-home .modal-notice{background:#fff;border:1px solid #ddd5c4;padding:1.2rem 1.6rem;font-size:.85rem;font-style:italic;color:#6b5e4e;margin:.8rem 0;}
body.page-home .modal-dark{background:var(--navy);color:#d4b896;padding:1.2rem 1.6rem;font-size:.85rem;text-align:center;font-style:italic;margin-top:.8rem;}
body.page-home .tab-panel{display:none;}
body.page-home .tab-panel.active{display:block;}
@media (max-width:640px){body.page-home .modal-content{padding:24px 20px;}
body.page-home .modal-saisons,body.page-home .modal-annul{grid-template-columns:1fr;}
body.page-home .modal-info-card .lbl{min-width:110px;}}
/* chambres.html */
body.page-chambres *,body.page-chambres *::before,body.page-chambres *::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body.page-chambres{font-family:Outfit,sans-serif;background:var(--cream);color:var(--text);line-height:1.6;font-size:16px;}
body.page-chambres .topbar{background:var(--navy);color:rgba(255,255,255,.7);text-align:center;padding:9px 24px;font-size:13px;display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;}
body.page-chambres .topbar a{color:var(--gold);text-decoration:none;font-weight:600;}
body.page-chambres .sep{opacity:.3;}
body.page-chambres header{position:sticky;top:0;z-index:100;background:rgba(247,244,238,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);}
body.page-chambres .hdr{max-width:1160px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:70px;gap:20px;}
body.page-chambres .logo{text-decoration:none;}
body.page-chambres .logo-name{font-family:"Lora",serif;font-size:19px;color:var(--navy);font-weight:700;display:block;}
body.page-chambres .logo-sub{font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;}
body.page-chambres nav{display:flex;gap:28px;}
body.page-chambres nav a{font-size:14px;font-weight:500;color:var(--mid);text-decoration:none;transition:color .2s;}
body.page-chambres nav a:hover,body.page-chambres nav a.active{color:var(--navy);font-weight:700;}
body.page-chambres .btn-resa{background:var(--navy);color:#fff;padding:11px 24px;border-radius:7px;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;}
body.page-chambres .btn-resa:hover{background:var(--navy2);}
body.page-chambres .hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;}
body.page-chambres .hamburger span{display:block;width:24px;height:2px;background:var(--navy);transition:all .3s;}
body.page-chambres .hamburger.open span:nth-child(1){transform:rotate(45deg) translate(6px,6px);}
body.page-chambres .hamburger.open span:nth-child(2){opacity:0;}
body.page-chambres .hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px);}
body.page-chambres .mobile-menu{position:fixed;top:70px;left:0;right:0;bottom:0;background:var(--cream);z-index:99;transform:translateX(100%);transition:transform .3s;display:flex;flex-direction:column;padding:32px;gap:20px;overflow-y:auto;}
body.page-chambres .mobile-menu.open{transform:translateX(0);}
body.page-chambres .mobile-menu a{font-size:18px;font-weight:500;color:var(--mid);text-decoration:none;padding:12px 0;border-bottom:1px solid var(--border);}
body.page-chambres .mobile-menu a.active{color:var(--navy);font-weight:700;}
body.page-chambres .m-divider{height:1px;background:var(--border);margin:12px 0;}
body.page-chambres .m-resa{background:var(--navy);color:#fff;padding:16px 24px;border-radius:7px;font-size:15px;font-weight:700;text-decoration:none;text-align:center;}
body.page-chambres section{padding:80px 32px;}
body.page-chambres .wrap{max-width:1160px;margin:0 auto;}
body.page-chambres .eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:flex;align-items:center;gap:12px;}
body.page-chambres .eyebrow::before{content:"";width:28px;height:1.5px;background:var(--gold);}
body.page-chambres h1{font-family:"Lora",serif;font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.2;margin-bottom:14px;color:var(--navy);}
body.page-chambres h2{font-family:"Lora",serif;font-size:clamp(1.8rem,3.5vw,2.7rem);font-weight:700;line-height:1.2;margin-bottom:14px;}
body.page-chambres h3{font-family:"Lora",serif;font-size:1.5rem;font-weight:600;margin-bottom:16px;color:var(--navy);}
body.page-chambres .lead{color:var(--mid);max-width:620px;font-size:16px;margin-bottom:48px;font-weight:300;line-height:1.7;}
body.page-chambres .page-hero{background:var(--navy);padding:56px 32px;text-align:center;}
body.page-chambres .page-hero h1{font-family:"Lora",serif;font-size:clamp(2rem,4vw,3rem);color:var(--white);font-weight:700;margin-bottom:12px;}
body.page-chambres .page-hero p{color:rgba(254,252,248,.65);font-size:16px;max-width:560px;margin:0 auto;}
body.page-chambres .chambre-section{margin-bottom:80px;}
body.page-chambres .chambre-section:last-of-type{margin-bottom:0;}
body.page-chambres .chambre-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
body.page-chambres .chambre-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
body.page-chambres .chambre-photo{border-radius:12px;overflow:hidden;aspect-ratio:4/3;}
body.page-chambres .chambre-photo img{width:100%;height:100%;object-fit:cover;display:block;}
body.page-chambres .chambre-photo.large{grid-column:1/-1;}
body.page-chambres .chambre-info{}
body.page-chambres .badge{display:inline-block;background:var(--gold);color:var(--white);padding:6px 14px;border-radius:100px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px;}
body.page-chambres .badge.neutral{background:var(--navy2);}
body.page-chambres .price-block{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:24px;}
body.page-chambres .price-main{font-family:"Lora",serif;font-size:2.2rem;color:var(--navy);font-weight:700;margin-bottom:8px;}
body.page-chambres .price-main span{font-size:1.4rem;color:var(--gold);}
body.page-chambres .price-detail{font-size:14px;color:var(--mid);margin-bottom:4px;}
body.page-chambres .price-supp{font-size:13px;color:var(--muted);padding-top:12px;border-top:1px solid var(--border);margin-top:12px;}
body.page-chambres .features-list{display:flex;flex-direction:column;gap:12px;margin-bottom:28px;}
body.page-chambres .feat{display:flex;align-items:flex-start;gap:12px;font-size:14px;}
body.page-chambres .feat-icon{font-size:18px;margin-top:2px;flex-shrink:0;}
body.page-chambres .feat-text{flex:1;line-height:1.6;}
body.page-chambres .feat-text strong{color:var(--navy);display:block;margin-bottom:2px;}
body.page-chambres .cta-buttons{display:flex;gap:12px;flex-wrap:wrap;}
body.page-chambres .btn-main{background:var(--navy);color:#fff;padding:14px 28px;border-radius:8px;font-size:14px;font-weight:700;text-decoration:none;display:inline-block;transition:background .2s;}
body.page-chambres .btn-main:hover{background:var(--navy2);}
body.page-chambres .btn-ghost{background:transparent;border:2px solid var(--navy);color:var(--navy);padding:12px 28px;border-radius:8px;font-size:14px;font-weight:700;text-decoration:none;display:inline-block;transition:all .2s;}
body.page-chambres .btn-ghost:hover{background:var(--navy);color:#fff;}
body.page-chambres .pdej-banner{background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 100%);border-radius:14px;padding:32px;margin:60px 0;color:var(--white);display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;}
body.page-chambres .pdej-icon{font-size:48px;}
body.page-chambres .pdej-content h3{font-family:"Lora",serif;font-size:1.4rem;color:var(--white);margin-bottom:8px;}
body.page-chambres .pdej-content p{font-size:14px;color:rgba(254,252,248,.7);line-height:1.6;}
body.page-chambres .pdej-price{text-align:right;}
body.page-chambres .pdej-price-val{font-family:"Lora",serif;font-size:2rem;color:var(--gold);font-weight:700;}
body.page-chambres .pdej-price-sub{font-size:12px;color:rgba(254,252,248,.6);margin-top:4px;}
body.page-chambres .cta-band{background:linear-gradient(135deg,var(--gold) 0%,var(--gold2) 100%);padding:48px 32px;text-align:center;}
body.page-chambres .cta-band h2{color:var(--white);margin-bottom:12px;}
body.page-chambres .cta-band p{color:rgba(254,252,248,.8);font-size:15px;margin-bottom:32px;}
body.page-chambres .cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
body.page-chambres .btn-gold{background:var(--white);color:var(--navy);padding:14px 32px;border-radius:8px;font-size:14px;font-weight:700;text-decoration:none;transition:background .2s;}
body.page-chambres .btn-gold:hover{background:var(--cream);}
body.page-chambres .btn-outline{background:transparent;border:2px solid var(--white);color:var(--white);padding:12px 32px;border-radius:8px;font-size:14px;font-weight:700;text-decoration:none;transition:all .2s;}
body.page-chambres .btn-outline:hover{background:var(--white);color:var(--navy);}
body.page-chambres footer{background:var(--navy);}
body.page-chambres .footer-main{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;padding:56px 32px 40px;border-bottom:1px solid rgba(255,255,255,.08);}
body.page-chambres .f-brand{font-family:"Lora",serif;font-size:20px;color:var(--white);margin-bottom:10px;}
body.page-chambres .f-addr{font-size:13px;color:rgba(254,252,248,.55);line-height:1.8;margin-bottom:16px;}
body.page-chambres .f-tel{font-size:15px;color:var(--gold);font-weight:700;text-decoration:none;}
body.page-chambres .f-col-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin-bottom:14px;}
body.page-chambres .f-links{display:flex;flex-direction:column;gap:8px;}
body.page-chambres .f-links a{font-size:13px;color:rgba(254,252,248,.5);text-decoration:none;transition:color .2s;}
body.page-chambres .f-links a:hover{color:var(--white);}
body.page-chambres .footer-bottom{max-width:1160px;margin:0 auto;display:flex;justify-content:space-between;padding:20px 32px;flex-wrap:wrap;gap:10px;font-size:12px;color:rgba(254,252,248,.4);}
body.page-chambres .sticky{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--navy);border-top:1px solid rgba(200,169,110,.3);}
body.page-chambres .sticky-inner{display:grid;grid-template-columns:1fr 1fr;}
body.page-chambres .sticky a{display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 10px;font-size:13px;font-weight:700;text-decoration:none;}
body.page-chambres .s-tel{background:var(--gold);color:var(--navy);}
body.page-chambres .s-resa{background:var(--navy2);color:var(--white);}
body.page-chambres .modal-overlay{position:fixed;inset:0;background:rgba(27,22,18,.92);z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s;padding:20px;}
body.page-chambres .modal-overlay.open{opacity:1;pointer-events:auto;}
body.page-chambres .modal-box{background:var(--cream);border-radius:16px;max-width:760px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.4);}
body.page-chambres .modal-header{display:flex;justify-content:space-between;align-items:center;padding:28px 32px 20px;border-bottom:1px solid var(--border);}
body.page-chambres .modal-header h2{font-family:"Lora",serif;font-size:1.5rem;margin:0;}
body.page-chambres .modal-close{background:none;border:none;font-size:32px;color:var(--muted);cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s;}
body.page-chambres .modal-close:hover{background:var(--cream2);}
body.page-chambres .modal-tabs{display:flex;gap:8px;padding:0 32px;border-bottom:1px solid var(--border);}
body.page-chambres .modal-tab{background:none;border:none;padding:14px 20px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;}
body.page-chambres .modal-tab.active{color:var(--navy);border-bottom-color:var(--gold);}
body.page-chambres .modal-content{padding:32px;}
body.page-chambres .modal-section{margin-bottom:32px;}
body.page-chambres .modal-section:last-child{margin-bottom:0;}
body.page-chambres .modal-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin-bottom:8px;}
body.page-chambres .modal-section-title{font-family:"Lora",serif;font-size:1.2rem;color:var(--navy);margin-bottom:16px;}
body.page-chambres .modal-section p{font-size:.9rem;line-height:1.7;color:var(--mid);margin-bottom:12px;}
body.page-chambres .modal-section p:last-child{margin-bottom:0;}
body.page-chambres .modal-section a{color:var(--navy);font-weight:600;text-decoration:none;}
body.page-chambres .modal-section a:hover{text-decoration:underline;}
body.page-chambres .modal-info-card{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:16px 20px;margin:16px 0;font-size:.87rem;}
body.page-chambres .modal-info-card .row{display:flex;gap:16px;padding:8px 0;border-bottom:1px solid var(--cream2);}
body.page-chambres .modal-info-card .row:last-child{border-bottom:none;}
body.page-chambres .modal-info-card .lbl{min-width:140px;font-weight:600;color:var(--muted);flex-shrink:0;}
body.page-chambres .modal-info-card .row span:last-child{color:var(--text);}
body.page-chambres .modal-saisons{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0;}
body.page-chambres .modal-saison{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:16px;}
body.page-chambres .s-name{font-weight:700;font-size:.9rem;color:var(--navy);margin-bottom:6px;}
body.page-chambres .s-period{font-size:.8rem;color:var(--gold);margin-bottom:10px;font-weight:600;}
body.page-chambres .modal-annul{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0;}
body.page-chambres .modal-annul-card{padding:1.1rem;border:1px solid #ddd5c4;font-size:.85rem;}
body.page-chambres .modal-annul-card.ok{background:#f0f7f0;border-color:#b8d4b8;}
body.page-chambres .modal-annul-card.warn{background:#fdf6f0;border-color:#e0c4a0;}
body.page-chambres .modal-annul-title{font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin-bottom:.4rem;}
body.page-chambres .modal-notice{background:#fff;border:1px solid #ddd5c4;padding:1.2rem 1.6rem;font-size:.85rem;font-style:italic;color:#6b5e4e;margin:.8rem 0;}
body.page-chambres .modal-dark{background:var(--navy);color:#d4b896;padding:1.2rem 1.6rem;font-size:.85rem;text-align:center;font-style:italic;margin-top:.8rem;}
body.page-chambres .tab-panel{display:none;}
body.page-chambres .tab-panel.active{display:block;}
@media (max-width:900px){body.page-chambres .chambre-grid{grid-template-columns:1fr;gap:32px;}
body.page-chambres .chambre-photos{order:1;}
body.page-chambres .chambre-info{order:2;}
body.page-chambres .pdej-banner{grid-template-columns:1fr;text-align:center;}
body.page-chambres .pdej-price{text-align:center;}
body.page-chambres nav{display:none;}
body.page-chambres .btn-resa{display:none;}
body.page-chambres .hamburger{display:flex;}
body.page-chambres .sticky{display:block;}
body.page-chambres .footer-main{grid-template-columns:1fr;gap:32px;}}
@media (max-width:640px){body.page-chambres .modal-content{padding:24px 20px;}
body.page-chambres .modal-saisons,body.page-chambres .modal-annul{grid-template-columns:1fr;}
body.page-chambres .cta-btns{flex-direction:column;}
body.page-chambres .cta-buttons{flex-direction:column;}
body.page-chambres .btn-main,body.page-chambres .btn-ghost{width:100%;text-align:center;}}
/* localisation.html */
body.page-localisation *,body.page-localisation *::before,body.page-localisation *::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body.page-localisation{font-family:Outfit,sans-serif;background:var(--cream);color:var(--text);line-height:1.6;font-size:16px;}
body.page-localisation .topbar{background:var(--navy);color:rgba(255,255,255,.7);padding:9px 24px;font-size:13px;display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;}
body.page-localisation .topbar a{color:var(--gold);text-decoration:none;font-weight:600;}
body.page-localisation .sep{opacity:.3;}
body.page-localisation header{position:sticky;top:0;z-index:100;background:rgba(247,244,238,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);}
body.page-localisation .hdr{max-width:1160px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:70px;gap:20px;}
body.page-localisation .logo{text-decoration:none;}
body.page-localisation .logo-name{font-family:"Lora",serif;font-size:19px;color:var(--navy);font-weight:700;display:block;}
body.page-localisation .logo-sub{font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;}
body.page-localisation nav{display:flex;gap:28px;}
body.page-localisation nav a{font-size:14px;font-weight:500;color:var(--mid);text-decoration:none;transition:color .2s;}
body.page-localisation nav a:hover,body.page-localisation nav a.active{color:var(--navy);font-weight:700;}
body.page-localisation .btn-resa{background:var(--navy);color:#fff;padding:11px 24px;border-radius:7px;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;}
body.page-localisation section{padding:72px 32px;}
body.page-localisation .wrap{max-width:1160px;margin:0 auto;}
body.page-localisation .eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:flex;align-items:center;gap:12px;}
body.page-localisation .eyebrow::before{content:"";width:28px;height:1.5px;background:var(--gold);}
body.page-localisation h2{font-family:"Lora",serif;font-size:clamp(1.8rem,3.5vw,2.7rem);font-weight:700;line-height:1.2;margin-bottom:14px;}
body.page-localisation h3{font-family:"Lora",serif;font-size:1.3rem;font-weight:600;margin-bottom:16px;color:var(--navy);}
body.page-localisation .lead{color:var(--mid);max-width:620px;font-size:16px;margin-bottom:40px;font-weight:300;line-height:1.7;}
body.page-localisation .page-hero{background:var(--navy);padding:56px 32px;text-align:center;}
body.page-localisation .page-hero h1{font-family:"Lora",serif;font-size:clamp(2rem,4vw,3rem);color:var(--white);font-weight:700;margin-bottom:12px;}
body.page-localisation .page-hero p{color:rgba(254,252,248,.65);font-size:16px;max-width:560px;margin:0 auto;}
body.page-localisation .bus-highlight{background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 100%);border-radius:12px;padding:24px 28px;margin-bottom:40px;display:flex;align-items:center;gap:20px;color:var(--white);}
body.page-localisation .bus-icon{font-size:36px;flex-shrink:0;}
body.page-localisation .bus-title{font-family:"Lora",serif;font-size:18px;color:var(--white);margin-bottom:4px;}
body.page-localisation .bus-desc{font-size:13px;color:rgba(254,252,248,.65);line-height:1.6;}
body.page-localisation .bus-badge{background:var(--white);color:var(--navy);border:2px solid var(--gold);padding:5px 12px;border-radius:100px;font-size:11px;font-weight:800;white-space:nowrap;align-self:flex-start;margin-top:4px;}
body.page-localisation .loc-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start;}
body.page-localisation .dist-section{display:flex;flex-direction:column;gap:32px;}
body.page-localisation .dist-cat-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border);}
body.page-localisation .dist-rows{display:flex;flex-direction:column;gap:8px;}
body.page-localisation .dr{display:flex;align-items:center;gap:14px;padding:12px 16px;background:var(--white);border:1px solid var(--border);border-radius:9px;transition:border-color .2s;}
body.page-localisation .dr:hover{border-color:var(--gold);}
body.page-localisation .dr-dot{width:34px;height:34px;flex-shrink:0;background:rgba(200,169,110,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;}
body.page-localisation .dr-info{flex:1;}
body.page-localisation .dr-main{font-size:14px;font-weight:500;color:var(--text);}
body.page-localisation .dr-sub{font-size:11px;color:var(--muted);margin-top:1px;}
body.page-localisation .dr-km{font-family:"Lora",serif;font-size:14px;color:var(--gold);white-space:nowrap;font-weight:600;margin-left:auto;padding-left:12px;}
body.page-localisation .info-panel{background:var(--white);border:1px solid var(--border);border-radius:14px;padding:28px;position:sticky;top:90px;}
body.page-localisation .info-panel h3{font-size:18px;margin-bottom:18px;}
body.page-localisation .il{font-size:14px;color:var(--mid);margin-bottom:14px;line-height:1.6;}
body.page-localisation .il strong{color:var(--text);display:block;margin-bottom:3px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;}
body.page-localisation .il a{color:var(--navy);text-decoration:none;font-weight:600;}
body.page-localisation .hor-duo{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px;}
body.page-localisation .hbox{background:var(--cream2);border:1px solid var(--border);border-radius:8px;padding:12px 14px;}
body.page-localisation .hl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin-bottom:5px;}
body.page-localisation .hv{font-size:14px;color:var(--text);font-weight:600;}
body.page-localisation .hn{font-size:11px;color:var(--muted);margin-top:3px;line-height:1.4;}
body.page-localisation .map-wrap{margin-top:18px;border-radius:10px;overflow:hidden;border:1px solid var(--border);background:var(--cream);}
body.page-localisation .map-wrap iframe{display:none;width:100%;height:240px;border:none;}
body.page-localisation .map-wrap.map-loaded iframe{display:block;}
body.page-localisation .map-consent{min-height:240px;padding:24px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,var(--cream),var(--cream2));}
body.page-localisation .map-consent-icon{font-size:28px;margin-bottom:6px;}
body.page-localisation .map-consent-title{font-family:"Lora",serif;font-size:18px;font-weight:700;color:var(--navy);}
body.page-localisation .map-consent p{font-size:12px;line-height:1.55;color:var(--mid);margin:7px 0 14px;max-width:330px;}
body.page-localisation .map-load-btn{border:0;border-radius:8px;background:var(--navy);color:#fff;padding:11px 18px;font:600 13px Outfit,sans-serif;cursor:pointer;}
body.page-localisation .map-load-btn:hover{background:var(--navy2);}
body.page-localisation .map-route-link{font-size:11px;color:var(--gold);font-weight:600;text-decoration:none;margin-top:11px;}
body.page-localisation .map-noscript{padding:14px;text-align:center;font-size:12px;}
body.page-localisation .rules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px;}
body.page-localisation .rule-card{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:20px;}
body.page-localisation .rule-icon{font-size:24px;margin-bottom:10px;}
body.page-localisation .rule-title{font-size:14px;font-weight:700;margin-bottom:6px;}
body.page-localisation .rule-desc{font-size:13px;color:var(--mid);line-height:1.6;}
body.page-localisation .access-note{background:var(--navy);color:var(--white);border-radius:10px;padding:18px 24px;margin-bottom:32px;font-size:14px;line-height:1.7;}
body.page-localisation .access-note strong{color:var(--gold);}
body.page-localisation footer{background:var(--navy);}
body.page-localisation .footer-main{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;padding:56px 32px 40px;border-bottom:1px solid rgba(255,255,255,.08);}
body.page-localisation .f-brand{font-family:"Lora",serif;font-size:20px;color:var(--white);margin-bottom:10px;}
body.page-localisation .f-addr{font-size:13px;color:rgba(254,252,248,.55);line-height:1.8;margin-bottom:16px;}
body.page-localisation .f-tel{font-size:15px;color:var(--gold);font-weight:700;text-decoration:none;}
body.page-localisation .f-col-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin-bottom:14px;}
body.page-localisation .f-links{display:flex;flex-direction:column;gap:8px;}
body.page-localisation .f-links a{font-size:13px;color:rgba(254,252,248,.5);text-decoration:none;transition:color .2s;}
body.page-localisation .f-links a:hover{color:var(--white);}
body.page-localisation .footer-bottom{max-width:1160px;margin:0 auto;display:flex;justify-content:space-between;padding:20px 32px;flex-wrap:wrap;gap:10px;font-size:12px;color:rgba(254,252,248,.4);}
body.page-localisation .sticky{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--navy);border-top:1px solid rgba(200,169,110,.3);}
body.page-localisation .sticky-inner{display:grid;grid-template-columns:1fr 1fr;}
body.page-localisation .sticky a{display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 10px;font-size:13px;font-weight:700;text-decoration:none;}
body.page-localisation .s-tel{background:var(--gold);color:var(--navy);}
body.page-localisation .s-resa{background:var(--navy2);color:var(--white);}
body.page-localisation .hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px;border-radius:6px;transition:background .2s;z-index:300;}
body.page-localisation .hamburger:hover{background:var(--cream2);}
body.page-localisation .hamburger span{display:block;width:22px;height:2px;background:var(--navy);border-radius:2px;transition:transform .3s,opacity .3s;}
body.page-localisation .hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
body.page-localisation .hamburger.open span:nth-child(2){opacity:0;}
body.page-localisation .hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
body.page-localisation .mobile-menu{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:250;background:rgba(13,31,53,.97);flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;}
body.page-localisation .mobile-menu.open{display:flex;}
body.page-localisation .mobile-menu a{font-family:"Lora",serif;font-size:1.6rem;color:rgba(254,252,248,.8);text-decoration:none;padding:12px 24px;border-radius:8px;font-style:italic;transition:color .2s,background .2s;text-align:center;}
body.page-localisation .mobile-menu a:hover,body.page-localisation .mobile-menu a.active{color:var(--gold);background:rgba(200,169,110,.08);}
body.page-localisation .mobile-menu .m-divider{width:40px;height:1px;background:rgba(200,169,110,.25);margin:8px 0;}
body.page-localisation .mobile-menu .m-resa{background:var(--gold);color:var(--navy) !important;font-family:Outfit,sans-serif;font-style:normal;font-size:1rem;font-weight:700;padding:14px 32px;margin-top:12px;border-radius:8px;}
body.page-localisation .mobile-menu .m-resa:hover{background:var(--gold2) !important;}
@media (max-width:900px){body.page-localisation nav{display:none;}
body.page-localisation .hamburger{display:flex;}
body.page-localisation .btn-resa{display:none;}
body.page-localisation .hdr{height:auto;padding:10px 16px;}
body.page-localisation .logo-name{font-size:15px;white-space:nowrap;}
body.page-localisation .logo-sub{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;}
body.page-localisation .loc-grid{grid-template-columns:1fr;}
body.page-localisation .info-panel{position:static;}
body.page-localisation .rules-grid{grid-template-columns:1fr 1fr;}
body.page-localisation .hor-duo{grid-template-columns:1fr;}
body.page-localisation .footer-main{grid-template-columns:1fr;gap:24px;}
body.page-localisation .sticky{display:block;}
body.page-localisation{padding-bottom:58px;}
body.page-localisation section{padding:52px 20px;}}
@media (max-width:560px){body.page-localisation .rules-grid{grid-template-columns:1fr;}
body.page-localisation .bus-highlight{flex-direction:column;gap:12px;}}
body.page-localisation .modal-overlay{display:none;position:fixed;inset:0;z-index:1000;background:rgba(13,31,53,.7);backdrop-filter:blur(4px);overflow-y:auto;padding:24px 16px;}
body.page-localisation .modal-overlay.open{display:flex;align-items:flex-start;justify-content:center;}
body.page-localisation .modal-box{background:#faf8f4;max-width:860px;width:100%;margin:auto;border-radius:4px;overflow:hidden;box-shadow:0 24px 80px rgba(13,31,53,.35);}
body.page-localisation .modal-header{background:var(--navy);padding:28px 32px;display:flex;align-items:center;justify-content:space-between;}
body.page-localisation .modal-header h2{font-family:"Lora",serif;font-size:1.5rem;color:#fff;font-weight:600;font-style:italic;margin:0;}
body.page-localisation .modal-close{background:none;border:none;color:rgba(255,255,255,.6);font-size:28px;cursor:pointer;line-height:1;padding:0 4px;transition:color .2s;}
body.page-localisation .modal-close:hover{color:#fff;}
body.page-localisation .modal-tabs{display:flex;background:#1c2c3e;border-bottom:2px solid var(--gold);}
body.page-localisation .modal-tab{flex:1;padding:14px;font-size:13px;font-weight:600;text-align:center;letter-spacing:.06em;text-transform:uppercase;border:none;cursor:pointer;background:transparent;color:rgba(255,255,255,.45);transition:all .2s;}
body.page-localisation .modal-tab.active{color:var(--gold);}
body.page-localisation .modal-content{padding:36px 40px 48px;max-height:70vh;overflow-y:auto;}
body.page-localisation .modal-section{margin-bottom:32px;}
body.page-localisation .modal-section-label{font-size:.65rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem;font-weight:600;}
body.page-localisation .modal-section-title{font-family:"Lora",serif;font-size:1.2rem;font-weight:600;color:var(--navy);margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid #ddd5c4;position:relative;}
body.page-localisation .modal-section-title::after{content:"";position:absolute;bottom:-1px;left:0;width:32px;height:2px;background:var(--gold);}
body.page-localisation .modal-content p{font-size:.88rem;color:#3a3228;line-height:1.8;margin-bottom:.8rem;}
body.page-localisation .modal-content a{color:var(--gold);text-decoration:none;}
body.page-localisation .modal-content a:hover{text-decoration:underline;}
body.page-localisation .modal-info-card{background:#f5f0e8;border:1px solid #ddd5c4;border-left:3px solid var(--gold);padding:1.2rem 1.6rem;margin-bottom:1.2rem;font-size:.85rem;}
body.page-localisation .modal-info-card .row{display:flex;gap:.5rem;padding:.25rem 0;border-bottom:1px dashed #ddd5c4;align-items:baseline;}
body.page-localisation .modal-info-card .row:last-child{border-bottom:none;}
body.page-localisation .modal-info-card .lbl{min-width:160px;font-weight:600;color:#6b5e4e;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;flex-shrink:0;}
body.page-localisation .modal-saisons{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:1rem;}
body.page-localisation .modal-saison{background:#f5f0e8;border:1px solid #ddd5c4;border-left:3px solid var(--gold);padding:1rem 1.2rem;}
body.page-localisation .modal-saison .s-name{font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:.2rem;}
body.page-localisation .modal-saison .s-period{font-family:"Lora",serif;font-size:1rem;color:var(--navy);margin-bottom:.4rem;}
body.page-localisation .modal-saison p{font-size:.82rem;margin:0;color:#3a3228;}
body.page-localisation .modal-annul{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:1rem;}
body.page-localisation .modal-annul-card{padding:1.1rem;border:1px solid #ddd5c4;font-size:.85rem;}
body.page-localisation .modal-annul-card.ok{background:#f0f7f0;border-color:#b8d4b8;}
body.page-localisation .modal-annul-card.warn{background:#fdf6f0;border-color:#e0c4a0;}
body.page-localisation .modal-annul-title{font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin-bottom:.4rem;}
body.page-localisation .modal-notice{background:#fff;border:1px solid #ddd5c4;padding:1.2rem 1.6rem;font-size:.85rem;font-style:italic;color:#6b5e4e;margin:.8rem 0;}
body.page-localisation .modal-dark{background:var(--navy);color:#d4b896;padding:1.2rem 1.6rem;font-size:.85rem;text-align:center;font-style:italic;margin-top:.8rem;}
body.page-localisation .tab-panel{display:none;}
body.page-localisation .tab-panel.active{display:block;}
@media (max-width:640px){body.page-localisation .modal-content{padding:24px 20px;}
body.page-localisation .modal-saisons,body.page-localisation .modal-annul{grid-template-columns:1fr;}
body.page-localisation .modal-info-card .lbl{min-width:110px;}}
/* contact.html */
body.page-contact *,body.page-contact *::before,body.page-contact *::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body.page-contact{font-family:Outfit,sans-serif;background:var(--cream);color:var(--text);line-height:1.6;font-size:16px;}
body.page-contact .topbar{background:var(--navy);color:rgba(255,255,255,.7);padding:9px 24px;font-size:13px;display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;}
body.page-contact .topbar a{color:var(--gold);text-decoration:none;font-weight:600;}
body.page-contact .sep{opacity:.3;}
body.page-contact header{position:sticky;top:0;z-index:100;background:rgba(247,244,238,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);}
body.page-contact .hdr{max-width:1160px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:70px;gap:20px;}
body.page-contact .logo{text-decoration:none;}
body.page-contact .logo-name{font-family:"Lora",serif;font-size:19px;color:var(--navy);font-weight:700;display:block;}
body.page-contact .logo-sub{font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;}
body.page-contact nav{display:flex;gap:28px;}
body.page-contact nav a{font-size:14px;font-weight:500;color:var(--mid);text-decoration:none;transition:color .2s;}
body.page-contact nav a:hover,body.page-contact nav a.active{color:var(--navy);font-weight:700;}
body.page-contact .btn-resa{background:var(--navy);color:#fff;padding:11px 24px;border-radius:7px;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;}
body.page-contact section{padding:80px 32px;}
body.page-contact .wrap{max-width:1160px;margin:0 auto;}
body.page-contact .eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:flex;align-items:center;gap:12px;}
body.page-contact .eyebrow::before{content:"";width:28px;height:1.5px;background:var(--gold);}
body.page-contact h2{font-family:"Lora",serif;font-size:clamp(1.8rem,3.5vw,2.7rem);font-weight:700;line-height:1.2;margin-bottom:14px;}
body.page-contact .lead{color:var(--mid);max-width:620px;font-size:16px;margin-bottom:48px;font-weight:300;line-height:1.7;}
body.page-contact .page-hero{background:var(--navy);padding:64px 32px;text-align:center;}
body.page-contact .page-hero h1{font-family:"Lora",serif;font-size:clamp(2rem,4vw,3rem);color:var(--white);font-weight:700;margin-bottom:12px;}
body.page-contact .page-hero p{color:rgba(254,252,248,.65);font-size:16px;max-width:560px;margin:0 auto;}
body.page-contact footer{background:var(--navy);}
body.page-contact .footer-main{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;padding:56px 32px 40px;border-bottom:1px solid rgba(255,255,255,.08);}
body.page-contact .f-brand{font-family:"Lora",serif;font-size:20px;color:var(--white);margin-bottom:10px;}
body.page-contact .f-addr{font-size:13px;color:rgba(254,252,248,.55);line-height:1.8;margin-bottom:16px;}
body.page-contact .f-tel{font-size:15px;color:var(--gold);font-weight:700;text-decoration:none;}
body.page-contact .f-col-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin-bottom:14px;}
body.page-contact .f-links{display:flex;flex-direction:column;gap:8px;}
body.page-contact .f-links a{font-size:13px;color:rgba(254,252,248,.5);text-decoration:none;transition:color .2s;}
body.page-contact .f-links a:hover{color:var(--white);}
body.page-contact .footer-bottom{max-width:1160px;margin:0 auto;display:flex;justify-content:space-between;padding:20px 32px;flex-wrap:wrap;gap:10px;font-size:12px;color:rgba(254,252,248,.4);}
body.page-contact .sticky{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--navy);border-top:1px solid rgba(200,169,110,.3);}
body.page-contact .sticky-inner{display:grid;grid-template-columns:1fr 1fr;}
body.page-contact .sticky a{display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 10px;font-size:13px;font-weight:700;text-decoration:none;}
body.page-contact .s-tel{background:var(--gold);color:var(--navy);}
body.page-contact .s-resa{background:var(--navy2);color:var(--white);}
body.page-contact .hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px;border-radius:6px;transition:background .2s;z-index:300;}
body.page-contact .hamburger:hover{background:var(--cream2);}
body.page-contact .hamburger span{display:block;width:22px;height:2px;background:var(--navy);border-radius:2px;transition:transform .3s,opacity .3s;}
body.page-contact .hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
body.page-contact .hamburger.open span:nth-child(2){opacity:0;}
body.page-contact .hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
body.page-contact .mobile-menu{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:250;background:rgba(13,31,53,.97);flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;}
body.page-contact .mobile-menu.open{display:flex;}
body.page-contact .mobile-menu a{font-family:"Lora",serif;font-size:1.6rem;color:rgba(254,252,248,.8);text-decoration:none;padding:12px 24px;border-radius:8px;font-style:italic;transition:color .2s,background .2s;text-align:center;}
body.page-contact .mobile-menu a:hover,body.page-contact .mobile-menu a.active{color:var(--gold);background:rgba(200,169,110,.08);}
body.page-contact .mobile-menu .m-divider{width:40px;height:1px;background:rgba(200,169,110,.25);margin:8px 0;}
body.page-contact .mobile-menu .m-resa{background:var(--gold);color:var(--navy) !important;font-family:Outfit,sans-serif;font-style:normal;font-size:1rem;font-weight:700;padding:14px 32px;margin-top:12px;border-radius:8px;}
body.page-contact .mobile-menu .m-resa:hover{background:var(--gold2) !important;}
@media (max-width:900px){body.page-contact nav{display:none;}
body.page-contact .hamburger{display:flex;}
body.page-contact .btn-resa{display:none;}
body.page-contact .hdr{height:auto;padding:10px 16px;}
body.page-contact .logo-name{font-size:15px;white-space:nowrap;}
body.page-contact .logo-sub{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;}
body.page-contact .footer-main{grid-template-columns:1fr;gap:24px;}
body.page-contact .sticky{display:block;}
body.page-contact{padding-bottom:58px;}
body.page-contact section{padding:56px 20px;}}
body.page-contact .modal-overlay{display:none;position:fixed;inset:0;z-index:1000;background:rgba(13,31,53,.7);backdrop-filter:blur(4px);overflow-y:auto;padding:24px 16px;}
body.page-contact .modal-overlay.open{display:flex;align-items:flex-start;justify-content:center;}
body.page-contact .modal-box{background:#faf8f4;max-width:860px;width:100%;margin:auto;border-radius:4px;overflow:hidden;box-shadow:0 24px 80px rgba(13,31,53,.35);}
body.page-contact .modal-header{background:var(--navy);padding:28px 32px;display:flex;align-items:center;justify-content:space-between;}
body.page-contact .modal-header h2{font-family:"Lora",serif;font-size:1.5rem;color:#fff;font-weight:600;font-style:italic;margin:0;}
body.page-contact .modal-close{background:none;border:none;color:rgba(255,255,255,.6);font-size:28px;cursor:pointer;line-height:1;padding:0 4px;transition:color .2s;}
body.page-contact .modal-close:hover{color:#fff;}
body.page-contact .modal-tabs{display:flex;background:#1c2c3e;border-bottom:2px solid var(--gold);}
body.page-contact .modal-tab{flex:1;padding:14px;font-size:13px;font-weight:600;text-align:center;letter-spacing:.06em;text-transform:uppercase;border:none;cursor:pointer;background:transparent;color:rgba(255,255,255,.45);transition:all .2s;}
body.page-contact .modal-tab.active{color:var(--gold);}
body.page-contact .modal-content{padding:36px 40px 48px;max-height:70vh;overflow-y:auto;}
body.page-contact .modal-section{margin-bottom:32px;}
body.page-contact .modal-section-label{font-size:.65rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem;font-weight:600;}
body.page-contact .modal-section-title{font-family:"Lora",serif;font-size:1.2rem;font-weight:600;color:var(--navy);margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid #ddd5c4;position:relative;}
body.page-contact .modal-section-title::after{content:"";position:absolute;bottom:-1px;left:0;width:32px;height:2px;background:var(--gold);}
body.page-contact .modal-content p{font-size:.88rem;color:#3a3228;line-height:1.8;margin-bottom:.8rem;}
body.page-contact .modal-content a{color:var(--gold);text-decoration:none;}
body.page-contact .modal-content a:hover{text-decoration:underline;}
body.page-contact .modal-info-card{background:#f5f0e8;border:1px solid #ddd5c4;border-left:3px solid var(--gold);padding:1.2rem 1.6rem;margin-bottom:1.2rem;font-size:.85rem;}
body.page-contact .modal-info-card .row{display:flex;gap:.5rem;padding:.25rem 0;border-bottom:1px dashed #ddd5c4;align-items:baseline;}
body.page-contact .modal-info-card .row:last-child{border-bottom:none;}
body.page-contact .modal-info-card .lbl{min-width:160px;font-weight:600;color:#6b5e4e;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;flex-shrink:0;}
body.page-contact .modal-saisons{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:1rem;}
body.page-contact .modal-saison{background:#f5f0e8;border:1px solid #ddd5c4;border-left:3px solid var(--gold);padding:1rem 1.2rem;}
body.page-contact .modal-saison .s-name{font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:.2rem;}
body.page-contact .modal-saison .s-period{font-family:"Lora",serif;font-size:1rem;color:var(--navy);margin-bottom:.4rem;}
body.page-contact .modal-saison p{font-size:.82rem;margin:0;color:#3a3228;}
body.page-contact .modal-annul{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:1rem;}
body.page-contact .modal-annul-card{padding:1.1rem;border:1px solid #ddd5c4;font-size:.85rem;}
body.page-contact .modal-annul-card.ok{background:#f0f7f0;border-color:#b8d4b8;}
body.page-contact .modal-annul-card.warn{background:#fdf6f0;border-color:#e0c4a0;}
body.page-contact .modal-annul-title{font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin-bottom:.4rem;}
body.page-contact .modal-notice{background:#fff;border:1px solid #ddd5c4;padding:1.2rem 1.6rem;font-size:.85rem;font-style:italic;color:#6b5e4e;margin:.8rem 0;}
body.page-contact .modal-dark{background:var(--navy);color:#d4b896;padding:1.2rem 1.6rem;font-size:.85rem;text-align:center;font-style:italic;margin-top:.8rem;}
body.page-contact .tab-panel{display:none;}
body.page-contact .tab-panel.active{display:block;}
@media (max-width:640px){body.page-contact .modal-content{padding:24px 20px;}
body.page-contact .modal-saisons,body.page-contact .modal-annul{grid-template-columns:1fr;}
body.page-contact .modal-info-card .lbl{min-width:110px;}}
body.page-contact .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
body.page-contact .contact-intro{font-size:15px;color:var(--mid);margin-bottom:24px;line-height:1.7;}
body.page-contact .guarantee{background:rgba(45,90,39,.06);border:1px solid rgba(45,90,39,.2);border-radius:10px;padding:16px 20px;margin-bottom:28px;font-size:13px;color:var(--mid);line-height:1.8;}
body.page-contact .guarantee strong{color:var(--green);}
body.page-contact .clinks{display:flex;flex-direction:column;gap:12px;margin-bottom:28px;}
body.page-contact .clink{display:flex;align-items:center;gap:16px;padding:18px 20px;background:var(--white);border:1px solid var(--border);border-radius:10px;text-decoration:none;color:inherit;transition:border-color .2s;}
body.page-contact .clink:hover{border-color:var(--navy);}
body.page-contact .clink-icon{width:44px;height:44px;background:rgba(13,31,53,.07);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
body.page-contact .clink-label{font-size:12px;color:var(--muted);}
body.page-contact .clink-val{font-size:16px;font-weight:700;color:var(--navy);}
body.page-contact .clink-resa{font-size:14px;font-weight:600;color:var(--navy);}
body.page-contact .info-box{background:var(--navy);border-radius:10px;padding:20px 24px;color:var(--white);font-size:13px;line-height:1.9;}
body.page-contact .info-box .ib-title{font-family:"Lora",serif;font-size:16px;margin-bottom:10px;}
body.page-contact .info-box a{color:var(--gold);text-decoration:none;}
body.page-contact .form-box{background:var(--white);border:1px solid var(--border);border-radius:14px;padding:32px;}
body.page-contact .form-title{font-family:"Lora",serif;font-size:22px;margin-bottom:6px;}
body.page-contact .form-sub{font-size:13px;color:var(--mid);margin-bottom:24px;}
body.page-contact .form-booking-warning{margin:-10px 0 22px;padding:12px 14px;border-left:4px solid var(--gold);background:#fff8f5;border-radius:8px;color:var(--navy);font-size:13px;line-height:1.55;}
body.page-contact .form-booking-warning strong{font-weight:700;}
body.page-contact .fg{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;}
body.page-contact .frow{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
body.page-contact .fg label{font-size:12px;font-weight:600;color:var(--mid);text-transform:uppercase;letter-spacing:.05em;}
body.page-contact .fg input,body.page-contact .fg select,body.page-contact .fg textarea{background:var(--cream);border:1px solid var(--border);color:var(--text);padding:12px 14px;border-radius:8px;font-family:Outfit,sans-serif;font-size:14px;outline:none;transition:border-color .2s;width:100%;}
body.page-contact .fg input:focus,body.page-contact .fg select:focus,body.page-contact .fg textarea:focus{border-color:var(--navy);}
body.page-contact .fg textarea{resize:vertical;min-height:100px;}
body.page-contact .btn-send{background:var(--navy);color:#fff;border:none;padding:14px;border-radius:8px;width:100%;font-family:Outfit,sans-serif;font-size:15px;font-weight:700;cursor:pointer;transition:background .2s;}
body.page-contact .btn-send:hover{background:var(--navy2);}
body.page-contact .form-note{font-size:12px;color:var(--muted);text-align:center;margin-top:8px;}
body.page-contact .form-note a{color:var(--navy);}
@media (max-width:900px){body.page-contact .contact-grid{grid-template-columns:1fr;gap:36px;}
body.page-contact .frow{grid-template-columns:1fr;}}
/* avis.html */
body.page-avis *,body.page-avis *::before,body.page-avis *::after{box-sizing:border-box;margin:0;padding:0;}
body.page-avis{font-family:Outfit,sans-serif;background:var(--cream);color:var(--text);line-height:1.6;font-size:16px;}
body.page-avis .topbar{background:var(--navy);color:rgba(255,255,255,.7);text-align:center;padding:9px 24px;font-size:13px;display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;}
body.page-avis .topbar a{color:var(--gold);text-decoration:none;font-weight:600;}
body.page-avis .sep{opacity:.3;}
body.page-avis header{position:sticky;top:0;z-index:100;background:rgba(247,244,238,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);}
body.page-avis .hdr{max-width:1160px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:70px;gap:20px;}
body.page-avis .logo{text-decoration:none;}
body.page-avis .logo-name{font-family:"Lora",serif;font-size:19px;color:var(--navy);font-weight:700;display:block;}
body.page-avis .logo-sub{font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;}
body.page-avis nav{display:flex;gap:28px;}
body.page-avis nav a{font-size:14px;font-weight:500;color:var(--mid);text-decoration:none;}
body.page-avis nav a:hover,body.page-avis nav a.active{color:var(--navy);font-weight:700;}
body.page-avis .btn-resa{background:var(--navy);color:#fff;padding:11px 24px;border-radius:7px;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;}
body.page-avis .wrap{max-width:1160px;margin:0 auto;}
body.page-avis .hero{background:linear-gradient(105deg,rgba(59,42,31,.95),rgba(92,64,51,.82)),url("/assets/images/hebergement-pro-cnpe-chinon-avoine-beaumont-veron.webp") center/cover;padding:92px 32px 72px;color:var(--white);}
body.page-avis .eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold2);margin-bottom:14px;display:flex;align-items:center;gap:12px;}
body.page-avis .eyebrow::before{content:"";width:28px;height:1.5px;background:var(--gold2);}
body.page-avis h1{font-family:"Lora",serif;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.12;max-width:820px;margin-bottom:18px;}
body.page-avis .lead{color:rgba(254,252,248,.72);max-width:720px;font-size:17px;font-weight:300;line-height:1.7;}
body.page-avis .summary{background:var(--white);border-bottom:1px solid var(--border);}
body.page-avis .summary-inner{display:flex;align-items:center;justify-content:center;gap:36px;padding:24px 32px;flex-wrap:wrap;}
body.page-avis .summary-main{display:flex;align-items:baseline;gap:12px;}
body.page-avis .rating{font-family:"Lora",serif;font-size:26px;font-weight:700;color:var(--navy);}
body.page-avis .count{font-size:14px;color:var(--mid);}
body.page-avis .source-pill{border:1px solid var(--border);border-radius:999px;padding:7px 13px;font-size:12px;color:var(--mid);background:var(--cream);}
body.page-avis section{padding:64px 32px;}
body.page-avis .section-title{font-family:"Lora",serif;font-size:clamp(1.8rem,3.5vw,2.7rem);line-height:1.2;margin-bottom:14px;}
body.page-avis .intro{max-width:760px;color:var(--mid);font-weight:300;margin-bottom:34px;}
body.page-avis .reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
body.page-avis .review-card{background:var(--white);border:1px solid var(--border);border-radius:14px;padding:24px;display:flex;flex-direction:column;min-height:260px;box-shadow:0 10px 28px rgba(59,42,31,.05);}
body.page-avis .review-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px;}
body.page-avis .stars{color:#c88725;font-weight:700;}
body.page-avis .src{font-size:12px;color:var(--mid);border:1px solid var(--border);border-radius:999px;padding:4px 10px;background:var(--cream);}
body.page-avis .review-title{font-family:"Lora",serif;font-size:18px;font-weight:700;margin-bottom:10px;color:var(--navy);}
body.page-avis .review-content{font-size:14px;color:var(--mid);line-height:1.7;flex:1;}
body.page-avis .review-foot{border-top:1px solid var(--border);margin-top:18px;padding-top:14px;font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:10px;align-items:center;}
body.page-avis .review-foot a{color:var(--gold);text-decoration:none;font-weight:700;}
body.page-avis .notice{background:var(--white);border:1px solid var(--border);border-left:4px solid var(--gold);padding:20px 24px;color:var(--mid);border-radius:10px;}
body.page-avis .cta-band{background:var(--navy);padding:56px 32px;text-align:center;}
body.page-avis .cta-band h2{font-family:"Lora",serif;color:var(--white);font-size:2rem;margin-bottom:12px;}
body.page-avis .cta-band p{color:rgba(254,252,248,.6);margin-bottom:28px;}
body.page-avis .btn-gold{display:inline-flex;background:var(--gold);color:var(--navy);padding:16px 32px;border-radius:8px;font-weight:700;text-decoration:none;}
body.page-avis footer{background:var(--navy);}
body.page-avis .footer-main{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;padding:56px 32px 40px;border-bottom:1px solid rgba(255,255,255,.08);}
body.page-avis .f-brand{font-family:"Lora",serif;font-size:20px;color:var(--white);margin-bottom:10px;}
body.page-avis .f-addr{font-size:13px;color:rgba(254,252,248,.55);line-height:1.8;margin-bottom:16px;}
body.page-avis .f-tel{font-size:15px;color:var(--gold);font-weight:700;text-decoration:none;}
body.page-avis .f-col-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin-bottom:14px;}
body.page-avis .f-links{display:flex;flex-direction:column;gap:8px;}
body.page-avis .f-links a{font-size:13px;color:rgba(254,252,248,.5);text-decoration:none;transition:color .2s;}
body.page-avis .f-links a:hover{color:var(--white);}
body.page-avis .footer-bottom{max-width:1160px;margin:0 auto;display:flex;justify-content:space-between;padding:20px 32px;flex-wrap:wrap;gap:10px;font-size:12px;color:rgba(254,252,248,.4);}
body.page-avis .sticky{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--navy);border-top:1px solid rgba(200,169,110,.3);}
body.page-avis .sticky-inner{display:grid;grid-template-columns:1fr 1fr;}
body.page-avis .sticky a{display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 10px;font-size:13px;font-weight:700;text-decoration:none;}
body.page-avis .s-tel{background:var(--gold);color:var(--navy);}
body.page-avis .s-resa{background:var(--navy2);color:var(--white);}
@media (max-width:900px){body.page-avis nav{display:none}
body.page-avis .hdr{padding:10px 16px;height:auto}
body.page-avis .btn-resa{padding:9px 14px;font-size:12px}
body.page-avis .reviews-grid{grid-template-columns:1fr}
body.page-avis .hero{padding:70px 20px 56px}
body.page-avis .summary-inner{justify-content:flex-start}
body.page-avis .logo-name{font-size:15px}
body.page-avis .logo-sub{font-size:9px}}
@media (max-width:900px){body.page-avis .footer-main{grid-template-columns:1fr;gap:24px;padding:40px 20px 30px;}
body.page-avis .footer-bottom{padding:18px 20px 76px;}
body.page-avis .sticky{display:block;}
body.page-avis{padding-bottom:58px;}}

:root{
  --navy:#3b2a1f;--navy2:#5c4033;--gold:#b85c38;--gold2:#d4836b;
  --cream:#f7f4ee;--cream2:#ede9e1;--white:#fefcf8;--text:#1a1612;
  --mid:#5a5449;--muted:#8a8278;--border:#d6d0c4;--green:#2d5a27;
}
html{scroll-behavior:smooth}
body{margin:0}
body[class*="page-"]{font-family:Outfit,Arial,sans-serif;color:var(--text);line-height:1.6;background:var(--cream)}
img{max-width:100%;height:auto}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid #d4836b;outline-offset:3px
}

/* En-tête commun */
body[class*="page-"] .topbar{
  background:var(--navy);color:rgba(255,255,255,.76);text-align:center;padding:9px 24px;
  font-size:13px;display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap
}
body[class*="page-"] .topbar a{color:#f1b29b;text-decoration:none;font-weight:700}
body[class*="page-"] .topbar .sep{opacity:.3}
body[class*="page-"] header{
  position:sticky;top:0;z-index:100;background:rgba(247,244,238,.97);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--border)
}
body[class*="page-"] .hdr{
  max-width:1160px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;
  padding:0 32px;height:72px;gap:20px
}
body[class*="page-"] .logo{text-decoration:none;min-width:210px}
body[class*="page-"] .logo-name{
  font-family:"Lora",serif;font-size:19px;color:var(--navy);font-weight:700;display:block;line-height:1.15
}
body[class*="page-"] .logo-sub{
  display:block;font-size:10.5px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:3px
}
body[class*="page-"] nav{display:flex;gap:24px;align-items:center}
body[class*="page-"] nav a{
  font-size:14px;font-weight:500;color:var(--mid);text-decoration:none;transition:color .2s
}
body[class*="page-"] nav a:hover,body[class*="page-"] nav a.active{color:var(--navy);font-weight:700}
body[class*="page-"] .btn-resa{
  background:var(--navy);color:#fff;padding:11px 20px;border-radius:7px;font-size:13px;
  font-weight:700;text-decoration:none;white-space:nowrap
}
body[class*="page-"] .btn-resa:hover{background:var(--navy2)}
body[class*="page-"] .hamburger{
  display:none;width:42px;height:42px;border:1px solid var(--border);border-radius:8px;background:var(--white);
  align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer
}
body[class*="page-"] .hamburger span{display:block;width:22px;height:2px;background:var(--navy);border-radius:2px;transition:.25s}
body[class*="page-"] .hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body[class*="page-"] .hamburger.open span:nth-child(2){opacity:0}
body[class*="page-"] .hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
body[class*="page-"] .mobile-menu{
  display:none;position:fixed;z-index:99;left:0;right:0;top:0;padding:122px 24px 26px;background:var(--cream);
  box-shadow:0 18px 30px rgba(59,42,31,.16);border-bottom:1px solid var(--border)
}
body[class*="page-"] .mobile-menu.open{display:flex;flex-direction:column;gap:4px}
body[class*="page-"] .mobile-menu a{
  color:var(--navy);text-decoration:none;padding:12px 4px;font-weight:600;border-bottom:1px solid rgba(214,208,196,.65)
}
body[class*="page-"] .mobile-menu a.active{color:var(--gold)}
body[class*="page-"] .mobile-menu .m-divider{height:8px}
body[class*="page-"] .mobile-menu .m-resa{
  background:var(--navy);color:#fff;border-radius:8px;text-align:center;border:0;padding:13px 16px
}

/* Pied de page commun */
body[class*="page-"] footer{background:var(--navy)}
body[class*="page-"] .footer-main{
  max-width:1160px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;
  padding:56px 32px 40px;border-bottom:1px solid rgba(255,255,255,.08)
}
body[class*="page-"] .f-brand{font-family:"Lora",serif;font-size:20px;color:var(--white);margin-bottom:10px}
body[class*="page-"] .f-addr{font-size:13px;color:rgba(254,252,248,.62);line-height:1.8;margin-bottom:14px}
body[class*="page-"] .f-tel,body[class*="page-"] .f-mail{
  display:block;font-size:14px;color:#f1b29b;font-weight:700;text-decoration:none;margin-top:5px
}
body[class*="page-"] .f-col-h{
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#f1b29b;margin-bottom:14px
}
body[class*="page-"] .f-links{display:flex;flex-direction:column;gap:8px}
body[class*="page-"] .f-links a{font-size:13px;color:rgba(254,252,248,.62);text-decoration:none}
body[class*="page-"] .f-links a:hover{color:#fff}
body[class*="page-"] .footer-bottom{
  max-width:1160px;margin:0 auto;display:flex;justify-content:space-between;padding:20px 32px;
  flex-wrap:wrap;gap:10px;font-size:12px;color:rgba(254,252,248,.48)
}
body[class*="page-"] .sticky{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--navy);
  border-top:1px solid rgba(184,92,56,.35)
}
body[class*="page-"] .sticky-inner{display:grid;grid-template-columns:1fr 1fr}
body[class*="page-"] .sticky a{
  display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 10px;font-size:13px;
  font-weight:700;text-decoration:none
}
body[class*="page-"] .s-tel{background:var(--gold);color:#fff}
body[class*="page-"] .s-resa{background:var(--navy2);color:#fff}

/* Éléments communs ajoutés */
.flex-fill{flex:1}
.center-action{text-align:center}
.btn-voir-large{display:inline-block;padding:14px 32px;font-size:15px}
[hidden]{display:none!important}

.direct-price-note{
  margin-top:12px;font-size:12px;color:var(--muted);line-height:1.55
}
.direct-price-note strong{color:var(--green)}
.form-privacy{
  margin:12px 0 0;font-size:12px;line-height:1.55;color:var(--muted)
}
.form-privacy a{color:var(--navy);font-weight:600}
.form-status{display:none;margin-top:12px;padding:12px 14px;border-radius:8px;font-size:13px;line-height:1.5}
.form-status.success{display:block;background:#edf6eb;border:1px solid #b9d8b4;color:#285624}
.form-status.error{display:block;background:#fff2ef;border:1px solid #e7b5a7;color:#7b2f20}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.restaurant-note{font-size:12px;color:var(--muted);line-height:1.6;margin-top:10px}
.ai-disclosure{font-size:11px;color:var(--muted);line-height:1.45}

/* Pages juridiques */
.legal-page{background:var(--cream)}
.legal-hero{padding:58px 32px 36px;background:var(--cream2);border-bottom:1px solid var(--border)}
.legal-wrap{max-width:900px;margin:0 auto}
.legal-hero h1{font-family:"Lora",serif;color:var(--navy);font-size:clamp(2rem,5vw,3rem);margin:0 0 10px}
.legal-hero p{color:var(--mid);margin:0}
.legal-content{max-width:900px;margin:0 auto;padding:48px 32px 72px}
.legal-section{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:18px}
.legal-section h2{font-family:"Lora",serif;color:var(--navy);font-size:1.35rem;margin:0 0 12px}
.legal-section h3{color:var(--navy);font-size:1rem;margin:18px 0 8px}
.legal-section p,.legal-section li{color:var(--mid);line-height:1.7}
.legal-section ul{padding-left:20px}
.legal-section a{color:var(--gold);font-weight:600}
.legal-note{border-left:4px solid var(--gold);background:#fff8f5;padding:14px 16px;border-radius:8px;color:var(--mid)}
.legal-table{display:grid;grid-template-columns:180px 1fr;border:1px solid var(--border);border-radius:8px;overflow:hidden}
.legal-table div{padding:10px 12px;border-bottom:1px solid var(--border)}
.legal-table div:nth-last-child(-n+2){border-bottom:0}
.legal-table .label{font-weight:700;color:var(--navy);background:var(--cream2)}

/* Responsive global */
@media(max-width:980px){
  body[class*="page-"] .hdr{padding:0 20px}
  body[class*="page-"] nav{gap:15px}
}
@media(max-width:900px){
  body[class*="page-"] .topbar{padding:7px 12px;font-size:11px;gap:8px}
  body[class*="page-"] .topbar .sep{display:none}
  body[class*="page-"] .hdr{height:66px;padding:0 14px}
  body[class*="page-"] .logo{min-width:0;max-width:70%}
  body[class*="page-"] .logo-name{font-size:16px}
  body[class*="page-"] .logo-sub{font-size:9px;letter-spacing:.04em;white-space:normal}
  body[class*="page-"] nav,body[class*="page-"] .hdr>.btn-resa{display:none}
  body[class*="page-"] .hamburger{display:flex}
  body[class*="page-"] .mobile-menu{top:0}
  body[class*="page-"] .footer-main{grid-template-columns:1fr;gap:24px;padding:40px 20px 30px}
  body[class*="page-"] .footer-bottom{padding:18px 20px 76px}
  body[class*="page-"] .sticky{display:block}
  body[class*="page-"]{padding-bottom:58px}
  .legal-hero{padding:42px 20px 26px}
  .legal-content{padding:32px 20px 80px}
  .legal-section{padding:20px}
  .legal-table{grid-template-columns:1fr}
  .legal-table .label{border-bottom:0}
}
@media(max-width:520px){
  body[class*="page-"] .topbar>span:first-child{width:100%}
  body[class*="page-"] .topbar{line-height:1.35}
}

/* Ajustements du gabarit commun */
body[class*="page-"] .mobile-menu .mobile-reserve{
  margin-top:8px;background:var(--navy);color:#fff;border-radius:8px;text-align:center;border:0;padding:13px 16px
}
body[class*="page-"] .footer-main{grid-template-columns:2fr 1fr 1.35fr 1fr}
body[class*="page-"] .footer-brand{
  font-family:"Lora",serif;font-size:20px;font-weight:700;color:var(--white);margin-bottom:10px
}
body[class*="page-"] .footer-title{
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#f1b29b;margin-bottom:14px
}
body[class*="page-"] .footer-main p{
  margin:0 0 6px;font-size:13px;color:rgba(254,252,248,.62);line-height:1.65
}
body[class*="page-"] .footer-main > div > a{
  display:block;margin:0 0 8px;font-size:13px;color:rgba(254,252,248,.68);text-decoration:none;overflow-wrap:anywhere
}
body[class*="page-"] .footer-main > div > a:hover{color:#fff}
@media(max-width:900px){
  body[class*="page-"] .footer-main{grid-template-columns:1fr;gap:24px;padding:40px 20px 30px}
}

.skip-link{position:fixed;left:12px;top:12px;z-index:9999;padding:10px 14px;background:#fff;color:#1d2c3c;border:2px solid #1d2c3c;border-radius:6px;transform:translateY(-160%);transition:transform .15s;text-decoration:none;font-weight:700}.skip-link:focus{transform:translateY(0)}

/* Note de périmètre des commerces / services */
.commerce-note{margin:18px 0 0;padding:13px 15px;border-left:3px solid var(--gold,#b99655);background:rgba(185,150,85,.08);font-size:.94rem;line-height:1.55;color:inherit}

/* ==========================================================
   Revue visuelle globale — contraste et lisibilité 2026-08-13
   Charte conservée : brun / terracotta / crème.
   ========================================================== */
:root{
  --navy:#3b2a1f;
  --navy2:#5c4033;
  --gold:#a64b2a;       /* accent foncé : liens/texte sur fonds clairs */
  --gold2:#d4836b;      /* accent clair : boutons/texte sur fonds sombres */
  --accent-light:#f1b29b;
  --positive-light:#b9d7a8;
  --cream:#f7f4ee;
  --cream2:#ede9e1;
  --white:#fefcf8;
  --text:#1a1612;
  --mid:#5a5449;
  --muted:#756d64;
  --border:#d6d0c4;
  --green:#2d5a27;
}

/* Boutons terracotta sur fonds sombres : accent clair + texte brun très contrasté */
body.page-home .btn-main,
body.page-home .btn-gold,
body.page-home .depart-btn,
body.page-home .ap-badge,
body.page-home .s-tel,
body.page-home .mobile-menu .m-resa,
body.page-avis .btn-gold,
body.page-avis .s-tel,
body.page-localisation .s-tel,
body.page-contact .s-tel,
body.page-chambres .s-tel,
body[class*="page-"] .s-tel{
  background:var(--gold2);
  color:var(--navy) !important;
}
body.page-home .btn-main:hover,
body.page-home .btn-gold:hover,
body.page-home .depart-btn:hover,
body.page-home .mobile-menu .m-resa:hover,
body.page-avis .btn-gold:hover,
body[class*="page-"] .s-tel:hover{
  background:#e09e89 !important;
  color:var(--navy) !important;
}

/* Accents posés sur un fond sombre : version claire dédiée */
body.page-home .facts .fv,
body.page-home .depart-kicker,
body.page-home .depart-price,
body.page-chambres .pdej-price-val,
body.page-localisation .access-note strong,
body.page-contact .info-box a,
body[class*="page-"] footer .f-tel,
body[class*="page-"] footer .f-mail,
body[class*="page-"] footer .f-col-h,
body[class*="page-"] footer .footer-title,
body.page-home .modal-tabs .modal-tab.active,
body.page-localisation .modal-tabs .modal-tab.active,
body.page-contact .modal-tabs .modal-tab.active{
  color:var(--accent-light) !important;
}

/* Bloc réservation sur fond brun : aucun vert sombre ni gris trop faible */
body[class*="page-"] .cta-band .direct-price-note{
  color:rgba(254,252,248,.86) !important;
}
body[class*="page-"] .cta-band .direct-price-note strong{
  color:var(--positive-light) !important;
}
body[class*="page-"] .cta-band p{
  color:rgba(254,252,248,.84);
}

/* CTA Chambres : fond sombre pour garantir la lisibilité de tout le texte */
body.page-chambres .cta-band{
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 100%);
}
body.page-chambres .cta-band h2,
body.page-chambres .cta-band p{color:#fff}

/* Barre haute / footer : secondaires plus lisibles */
body[class*="page-"] .topbar{color:rgba(255,255,255,.88)}
body[class*="page-"] .topbar a{color:var(--accent-light)}
body[class*="page-"] .footer-main p,
body[class*="page-"] .f-addr{color:rgba(254,252,248,.78)}
body[class*="page-"] .footer-main > div > a,
body[class*="page-"] .f-links a{color:rgba(254,252,248,.84)}
body[class*="page-"] .footer-bottom{color:rgba(254,252,248,.70)}

/* Petits textes sur panneaux foncés : marge de contraste confortable */
body.page-home .facts .fl,
body.page-home .depart-price small,
body.page-home .depart-note{color:rgba(254,252,248,.74)}

/* Boutons outline sur fonds sombres : bord et texte plus nets */
body.page-home .btn-outline,
body.page-home .btn-ghost,
body.page-avis .btn-outline,
body.page-chambres .btn-outline{
  border-color:rgba(255,255,255,.76);
  color:#fff;
}

/* Liens et petits textes sur fonds clairs */
body[class*="page-"] .eyebrow,
body.page-home .sp-action,
body.page-localisation .dist-cat-title,
body.page-localisation .dr-km,
body.page-localisation .hl,
body.page-localisation .map-route-link,
body.page-avis .review-foot a,
.legal-section a{
  color:var(--gold);
}

/* Texte héro : lecture fiable quelle que soit la zone de la photo */
body.page-home .hero-overlay{
  background:linear-gradient(105deg,rgba(36,22,15,.84) 0%,rgba(36,22,15,.60) 55%,rgba(36,22,15,.32) 100%);
}
body.page-home .hero-lead{color:rgba(255,255,255,.92)}

/* Focus clavier visible */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid #f1b29b;
  outline-offset:3px;
}


/* ==========================================================
   Palette lisibilité V2 — 2026-08-14
   Objectif : conserver brun / terracotta / crème, mais réserver
   le terracotta aux accents et garantir un contraste fort.
   ========================================================== */
:root{
  --navy:#3b2a1f;
  --navy2:#5a4033;
  --gold:#8b3e24;
  --gold2:#b85c38;
  --accent-light:#f0c8b8;
  --positive-light:#d8e9d5;
  --cream:#f8f5f0;
  --cream2:#eee8df;
  --white:#fffdf9;
  --text:#211a16;
  --mid:#514a44;
  --muted:#6d655e;
  --border:#d8d0c7;
  --green:#315c3b;
}

/* Grandes surfaces CTA : brun plutôt que terracotta */
body.page-home .cta-band,
body.page-chambres .cta-band,
body.page-avis .cta-band{
  background:linear-gradient(135deg,#3b2a1f 0%,#4a3328 100%) !important;
}
body.page-home .cta-band h2,
body.page-chambres .cta-band h2,
body.page-avis .cta-band h2{
  color:#fffdf9 !important;
}
body.page-home .cta-band p,
body.page-chambres .cta-band p,
body.page-avis .cta-band p{
  color:rgba(255,253,249,.88) !important;
}

/* Boutons sur fonds foncés : crème + brun */
body.page-home .cta-band .btn-gold,
body.page-chambres .cta-band .btn-gold,
body.page-avis .cta-band .btn-gold,
body.page-home .depart-card .depart-btn{
  background:#fff7f1 !important;
  color:#3b2a1f !important;
  border:2px solid #fff7f1 !important;
}
body.page-home .cta-band .btn-gold:hover,
body.page-chambres .cta-band .btn-gold:hover,
body.page-avis .cta-band .btn-gold:hover,
body.page-home .depart-card .depart-btn:hover{
  background:#f0ddd2 !important;
  color:#3b2a1f !important;
}

/* CTA principal du hero */
body.page-home .hero .btn-main{
  background:#fff7f1 !important;
  color:#3b2a1f !important;
  border:2px solid #fff7f1 !important;
}
body.page-home .hero .btn-main:hover{
  background:#f0ddd2 !important;
  color:#3b2a1f !important;
}

/* Terracotta conservé en accent, mais foncé + blanc */
body.page-home .ap-badge,
body.page-chambres .badge:not(.neutral){
  background:#8b3e24 !important;
  color:#fff !important;
}
body.page-home .apercu-card.featured{
  border-color:#8b3e24 !important;
}

/* Boutons généraux très lisibles */
body[class*="page-"] .btn-resa,
body.page-home .btn-voir,
body.page-chambres .btn-main,
body.page-contact .btn-send,
body.page-localisation .map-load-btn{
  background:#3b2a1f !important;
  color:#fff !important;
}
body[class*="page-"] .btn-resa:hover,
body.page-home .btn-voir:hover,
body.page-chambres .btn-main:hover,
body.page-contact .btn-send:hover,
body.page-localisation .map-load-btn:hover{
  background:#5a4033 !important;
  color:#fff !important;
}

/* Boutons outline sur fonds foncés */
body.page-home .cta-band .btn-outline,
body.page-home .hero .btn-ghost,
body.page-avis .cta-band .btn-outline,
body.page-chambres .cta-band .btn-outline{
  color:#fff !important;
  border-color:rgba(255,255,255,.82) !important;
  background:transparent !important;
}
body.page-home .cta-band .btn-outline:hover,
body.page-home .hero .btn-ghost:hover,
body.page-avis .cta-band .btn-outline:hover,
body.page-chambres .cta-band .btn-outline:hover{
  background:rgba(255,255,255,.10) !important;
  border-color:#fff !important;
}

/* Vert : uniquement lorsqu'il reste très lisible */
body[class*="page-"] .direct-price-note strong{
  color:#d8e9d5 !important;
}
body.page-home .best,
body.page-contact .guarantee strong{
  color:#315c3b !important;
}

/* Accents clairs sur fonds sombres */
body.page-home .facts .fv,
body.page-home .depart-kicker,
body.page-home .depart-price,
body.page-chambres .pdej-price-val,
body.page-localisation .access-note strong,
body.page-contact .info-box a,
body[class*="page-"] footer .f-tel,
body[class*="page-"] footer .f-mail,
body[class*="page-"] footer .f-col-h,
body[class*="page-"] footer .footer-title{
  color:#f0c8b8 !important;
}

/* Accents terracotta sur fonds clairs */
body[class*="page-"] .eyebrow,
body.page-home .sp-action,
body.page-chambres .price-main span,
body.page-localisation .dist-cat-title,
body.page-localisation .dr-km,
body.page-localisation .hl,
body.page-localisation .map-route-link,
body.page-avis .review-foot a,
.legal-section a{
  color:#8b3e24 !important;
}

/* Sticky mobile */
body[class*="page-"] .s-tel{
  background:#fff7f1 !important;
  color:#3b2a1f !important;
}
body[class*="page-"] .s-resa{
  background:#3b2a1f !important;
  color:#fff !important;
}

/* Footer */
body[class*="page-"] footer{
  background:#3b2a1f !important;
}
body[class*="page-"] .footer-main p,
body[class*="page-"] .f-addr{
  color:rgba(255,253,249,.82) !important;
}
body[class*="page-"] .footer-main > div > a,
body[class*="page-"] .f-links a{
  color:rgba(255,253,249,.90) !important;
}
body[class*="page-"] .footer-bottom{
  color:rgba(255,253,249,.74) !important;
}

/* Localisation : carte et infos pratiques bien à droite sur desktop */
@media (min-width:901px){
  body.page-localisation .loc-grid{
    grid-template-columns:minmax(0,1.25fr) minmax(370px,.75fr) !important;
    gap:40px !important;
    align-items:start !important;
  }
  body.page-localisation .dist-section{
    grid-column:1 !important;
  }
  body.page-localisation .info-panel{
    grid-column:2 !important;
    position:sticky !important;
    top:92px !important;
  }
  body.page-localisation .map-wrap iframe,
  body.page-localisation .map-consent{
    min-height:340px !important;
    height:340px !important;
  }
}

/* Localisation : +1 px environ sur commerces/restauration/transports */
body.page-localisation .dist-cat-title{
  font-size:13px !important;
  color:#8b3e24 !important;
}
body.page-localisation .dr{
  padding:14px 16px !important;
  border-color:#d4cbc1 !important;
  background:#fffdf9 !important;
}
body.page-localisation .dr-main{
  font-size:15px !important;
  color:#211a16 !important;
  font-weight:600 !important;
}
body.page-localisation .dr-sub{
  font-size:12px !important;
  color:#5f5750 !important;
  line-height:1.5 !important;
}
body.page-localisation .dr-km{
  font-size:15px !important;
  color:#8b3e24 !important;
}
body.page-localisation .restaurant-note{
  font-size:13px !important;
  color:#5f5750 !important;
}
body.page-localisation .commerce-note{
  font-size:15px !important;
  color:#3f3833 !important;
  background:#f4ece6 !important;
  border-left-color:#8b3e24 !important;
}
body.page-localisation .bus-highlight{
  background:linear-gradient(135deg,#3b2a1f 0%,#5a4033 100%) !important;
}
body.page-localisation .bus-desc{
  color:rgba(255,253,249,.88) !important;
}
body.page-localisation .bus-badge{
  background:#fffdf9 !important;
  color:#3b2a1f !important;
  border-color:#8b3e24 !important;
  font-size:12px !important;
}

/* Panneau infos pratiques plus lisible */
body.page-localisation .info-panel{
  background:#fffdf9 !important;
  border-color:#d4cbc1 !important;
}
body.page-localisation .il{
  color:#514a44 !important;
}
body.page-localisation .hbox{
  background:#f3eee8 !important;
}
body.page-localisation .hn{
  color:#625a53 !important;
}

/* Focus clavier */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid #8b3e24 !important;
  outline-offset:3px !important;
}


/* Correctif position — page Localisation uniquement */
@media (min-width:901px){
  body.page-localisation .dist-section{
    grid-column:1 !important;
    grid-row:1 !important;
  }

  body.page-localisation .info-panel{
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:start !important;
  }

  body.page-localisation .commerce-note{
    grid-column:1 !important;
    grid-row:2 !important;
  }
}
