:root{--gold:#c8a45d;--gold-light:#e6cc93;--ink:#071016;--ivory:#f8f5ee;--radius:18px;--shadow:0 22px 60px rgba(4,12,18,.16)}
html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--ivory);color:#172229;overflow-x:hidden}.skip-link{position:fixed;left:12px;top:-60px;z-index:9999;background:#fff;color:#000;padding:10px 16px;border-radius:8px}.skip-link:focus{top:12px}.page-loader{position:fixed;inset:0;z-index:9998;background:var(--ink);display:grid;place-items:center;transition:opacity .45s,visibility .45s}.page-loader img{width:170px;height:auto;animation:loaderPulse 1s ease-in-out infinite alternate}.page-loader span{position:absolute;bottom:34%;width:120px;height:1px;background:#ffffff22;overflow:hidden}.page-loader span:after{content:"";display:block;width:50%;height:100%;background:var(--gold);animation:loaderLine 1s infinite}.page-loader.loaded{opacity:0;visibility:hidden}@keyframes loaderPulse{to{opacity:.65;transform:translateY(-3px)}}@keyframes loaderLine{from{transform:translateX(-100%)}to{transform:translateX(220%)}}
.flash-wrap{position:fixed;top:92px;left:50%;transform:translateX(-50%);z-index:1080;max-width:720px;width:calc(100% - 28px)}
.navbar{transition:background .3s,box-shadow .3s,padding .3s}.navbar.scrolled,.inner-page .navbar{background:rgba(5,14,20,.96)!important;box-shadow:0 12px 35px #0004;backdrop-filter:blur(12px)}.brand-logo{width:175px;height:auto}.offcanvas-logo,.footer-logo{width:175px;height:auto}.nav-link{font-size:.79rem;text-transform:uppercase;letter-spacing:.08em}.btn-gold{background:linear-gradient(135deg,var(--gold-light),var(--gold));border-color:var(--gold);color:#10171b;font-weight:700}.btn-gold:hover{background:var(--gold-light);border-color:var(--gold-light);color:#000;transform:translateY(-1px)}.btn-dark-luxe{background:var(--ink);color:#fff;border:1px solid var(--ink)}.btn-dark-luxe:hover{background:#18242b;color:#fff}.btn-outline-gold{border:1px solid var(--gold);color:var(--gold)}.btn-outline-gold:hover{background:var(--gold);color:var(--ink)}
.hero-section{min-height:800px}.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}.hero-section h1{max-width:900px;line-height:.96}.hero-section .hero-lead{max-width:680px}.hero-trust{display:flex;gap:36px;margin-top:40px}.hero-trust div{display:flex;flex-direction:column}.hero-trust strong{font:700 2rem var(--font-heading);color:var(--gold-light)}.hero-trust span{color:#d9dfe2;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.booking-panel{grid-template-columns:1.35fr repeat(4,.82fr) 1.15fr}.booking-field input,.booking-field select{min-height:50px}.signature-item span{display:block;line-height:1.45;font-size:.76rem;color:#69757c}.section-heading h2{max-width:780px}.media-frame{overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow)}.media-frame img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-grid article{text-align:center;padding:26px 18px;border:1px solid #ffffff14;border-radius:15px;background:#ffffff05}.service-grid i{font-size:2rem;color:var(--gold);margin-bottom:15px}.service-grid h3{font-size:1.2rem;color:#fff}.service-grid p{color:#aeb8be;font-size:.88rem;margin:0}.services-dark{background:radial-gradient(circle at 50% 0,#17252f,var(--ink) 60%)}
.experience-card,.activity-detail-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);height:100%;transition:transform .3s}.experience-card:hover,.activity-detail-card:hover{transform:translateY(-6px)}.experience-card img,.activity-detail-card>img{width:100%;aspect-ratio:4/3;object-fit:cover}.experience-card>div,.activity-detail-card>div{padding:25px}.experience-card i,.activity-icon{color:var(--gold);font-size:1.6rem}.experience-card h3,.activity-detail-card h2{font-family:var(--font-heading);font-size:1.8rem}.activity-detail-card .activity-icon{width:52px;height:52px;border-radius:50%;background:var(--ink);display:grid;place-items:center;margin-top:-50px;position:relative;color:var(--gold);border:3px solid #fff}.gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.gallery-item{position:relative;overflow:hidden;border-radius:12px;aspect-ratio:1/1}.gallery-item:nth-child(1),.gallery-item:nth-child(6){grid-column:span 2;aspect-ratio:2/1}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-item:hover img{transform:scale(1.06)}.gallery-item span{position:absolute;inset:0;display:grid;place-items:center;background:#07101688;color:#fff;opacity:0;transition:.3s}.gallery-item:hover span{opacity:1}.gallery-full{grid-template-columns:repeat(4,1fr)}.gallery-full .gallery-item,.gallery-full .gallery-item:nth-child(n){grid-column:auto;aspect-ratio:4/3}.gallery-filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.inner-hero{min-height:480px;padding:190px 0 100px;color:#fff;background-image:var(--hero-image);background-size:cover;background-position:center;position:relative}.inner-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,11,16,.9),rgba(4,11,16,.28))}.inner-hero h1{font:600 clamp(3.2rem,7vw,6.2rem)/.95 var(--font-heading);max-width:900px}.inner-hero p{max-width:680px;color:#e3e7e9;font-size:1.08rem}.content-narrow{max-width:900px}.prose{font-size:1.05rem;line-height:1.85}.prose h2,.prose h3{font-family:var(--font-heading);margin-top:1.5em}.room-detail-main>img{width:100%;border-radius:18px;box-shadow:var(--shadow)}.room-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}.room-thumbs img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}.room-book-card{top:110px;background:#fff;padding:32px;border-radius:20px;box-shadow:var(--shadow)}.room-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:18px 0}.room-facts span{font-size:.88rem}.room-facts i{color:var(--gold);width:22px}.amenities{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.amenities i{color:var(--gold);margin-right:8px}.price-line{border-top:1px solid #e4e7e8;margin-top:20px;padding:20px 0;display:flex;justify-content:space-between;align-items:end}.price-line strong{font-size:2rem;font-family:var(--font-heading)}.price-line strong span{font:400 .8rem var(--font-body)}
.card-luxe{background:#fff;border-radius:20px;padding:28px;box-shadow:var(--shadow);border:1px solid #e8e4dc}.form-control,.form-select{border-color:#d9dee1;border-radius:10px;padding:.78rem .9rem}.form-control:focus,.form-select:focus{border-color:var(--gold);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--gold) 22%,transparent)}.contact-list{list-style:none;padding:0;margin-top:28px}.contact-list li{display:flex;gap:14px;align-items:flex-start;margin:18px 0}.contact-list i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--gold)}.contact-list a{color:inherit;text-decoration:none}.booking-option{background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.booking-option>img{width:100%;height:270px;object-fit:cover}.booking-option-content{display:grid;grid-template-columns:1fr auto;gap:25px;padding:28px}.booking-price{text-align:right;min-width:170px;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.booking-price strong{font:600 2rem var(--font-heading)}.guest-form{padding:28px;border-top:1px solid #e8e8e8;background:#faf8f2}.empty-state{text-align:center;padding:70px 20px}.empty-state i{font-size:3rem;color:var(--gold)}.confirmation-page{min-height:100vh;background:linear-gradient(#071016cc,#071016e8),url('../img/hero-pool.webp') center/cover;display:grid;place-items:center;padding:120px 20px}.confirmation-card{background:#fff;border-radius:24px;padding:48px;max-width:760px;width:100%;text-align:center;box-shadow:0 30px 90px #0008}.confirmation-card>i{font-size:4rem;color:var(--gold)}.confirmation-card h1{font:600 3rem var(--font-heading)}.confirmation-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0}.confirmation-summary div{background:#f6f3ec;border-radius:12px;padding:16px}.confirmation-summary span,.confirmation-summary strong{display:block}.confirmation-summary span{font-size:.75rem;color:#758087;text-transform:uppercase}.confirmation-summary strong{margin-top:6px}.site-footer{background:#071016;color:#fff}.site-footer h3{font-family:var(--font-heading);color:var(--gold-light)}.footer-contact{list-style:none;padding:0}.footer-contact li{display:flex;gap:12px;margin:12px 0;color:#b7c0c5}.footer-contact i{color:var(--gold);width:18px}.footer-contact a,.footer-links a{color:#b7c0c5;text-decoration:none}.footer-links{display:flex;flex-direction:column;gap:9px}.social-links{display:flex;gap:10px}.social-links a{width:38px;height:38px;border:1px solid #ffffff25;border-radius:50%;display:grid;place-items:center;color:#fff}.footer-bottom{border-top:1px solid #ffffff15;padding:18px 0;color:#829098;font-size:.78rem}.whatsapp-float{position:fixed;right:20px;bottom:22px;width:56px;height:56px;border-radius:50%;background:#1fae5b;color:#fff;display:grid;place-items:center;font-size:1.65rem;z-index:1050;box-shadow:0 12px 35px #0005;text-decoration:none}.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;background:#0b151c;color:#fff;border:1px solid #ffffff1c;border-radius:16px;padding:18px 20px;z-index:1090;display:flex;align-items:center;justify-content:space-between;gap:25px;box-shadow:0 20px 70px #0009}.cookie-banner p{margin:4px 0 0;color:#b1bbc0;font-size:.85rem}.lightbox-modal{position:fixed;inset:0;background:#000e;z-index:2000;display:grid;place-items:center;padding:25px}.lightbox-modal img{max-width:94vw;max-height:90vh;border-radius:12px}.lightbox-modal button{position:absolute;right:25px;top:20px;background:transparent;color:#fff;border:0;font-size:2rem}
@media(max-width:1199px){.booking-panel{grid-template-columns:repeat(2,1fr)}.booking-intro,.booking-submit{grid-column:1/-1}.service-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}.gallery-item:nth-child(n){grid-column:auto;aspect-ratio:4/3}}
@media(max-width:767px){.brand-logo{width:142px}.navbar{padding-top:10px!important;padding-bottom:10px!important}.hero-section{min-height:760px}.hero-section .row{align-items:flex-end!important;padding-bottom:90px!important}.hero-section h1{font-size:clamp(3rem,15vw,5rem)}.hero-kicker{font-size:.7rem}.hero-lead{font-size:.95rem}.hero-trust{gap:17px;justify-content:space-between}.hero-trust strong{font-size:1.5rem}.hero-trust span{font-size:.62rem}.booking-section{margin-top:-45px}.booking-panel{display:grid;grid-template-columns:1fr 1fr;padding:18px;gap:12px;border-radius:18px}.booking-intro{grid-column:1/-1}.booking-intro h2{font-size:1.65rem}.booking-field label{font-size:.68rem}.booking-field input,.booking-field select{font-size:.88rem;min-height:46px}.booking-submit{grid-column:1/-1;min-height:52px}.signature-item{display:block;text-align:center}.signature-item i{margin-bottom:8px}.section{padding:70px 0}.image-collage{min-height:460px}.service-grid{grid-template-columns:1fr 1fr;gap:10px}.service-grid article{padding:20px 10px}.service-grid h3{font-size:1rem}.service-grid p{display:none}.gallery-grid,.gallery-full{grid-template-columns:repeat(2,1fr)}.inner-hero{min-height:380px;padding:155px 0 70px}.inner-hero h1{font-size:3.6rem}.room-book-card{padding:22px}.amenities{grid-template-columns:1fr}.booking-option>img{height:210px}.booking-option-content{grid-template-columns:1fr;padding:20px}.booking-price{align-items:flex-start;text-align:left}.guest-form{padding:20px}.confirmation-card{padding:30px 20px}.confirmation-card h1{font-size:2.35rem}.confirmation-summary{grid-template-columns:1fr}.cookie-banner{left:10px;right:10px;bottom:10px;display:block}.cookie-banner .d-flex{margin-top:14px}.whatsapp-float{width:50px;height:50px;right:14px;bottom:14px}.room-thumbs{grid-template-columns:repeat(2,1fr)}.flash-wrap{top:76px}}
@media(max-width:430px){.hero-section h1{font-size:3.4rem}.hero-trust div:nth-child(2){display:none}.booking-panel{grid-template-columns:1fr}.booking-field,.booking-intro,.booking-submit{grid-column:1}.gallery-grid,.gallery-full{grid-template-columns:1fr}.gallery-item:nth-child(n){aspect-ratio:16/11}.service-grid{grid-template-columns:1fr 1fr}.inner-hero h1{font-size:3rem}.card-luxe{padding:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ===== Public mobile layout reinforcement ===== */
*{box-sizing:border-box}
html,body,main{max-width:100%;overflow-x:hidden}
main{display:block}
img,svg,video,iframe{max-width:100%}
iframe{width:100%}
pre,code,.prose,.content-narrow{overflow-wrap:anywhere;word-break:break-word}
.row>*{min-width:0}
.btn{white-space:normal;text-align:center}
.navbar-toggler{position:relative;z-index:2;min-width:44px;min-height:44px;display:inline-grid;place-items:center}
.offcanvas{max-width:100vw;visibility:hidden}
.offcanvas.show,.offcanvas.showing,.offcanvas.hiding{visibility:visible}
.offcanvas-backdrop{z-index:1040}
#mobileMenu{z-index:1045}
#mobileMenu .offcanvas-header{flex:0 0 auto}
#mobileMenu .offcanvas-body{min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}
.mobile-nav{display:flex;flex-direction:column;width:100%}
.mobile-nav a{display:block;width:100%;overflow-wrap:anywhere}

.room-detail-main,.room-book-card,.activity-detail-card,.search-booking,.booking-option,.contact-form,.card-luxe{max-width:100%}
.room-detail-main>img{display:block;width:100%;height:auto;max-height:620px;object-fit:cover;border-radius:20px}
.room-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:.75rem}
.room-thumbs img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.room-facts,.amenities{min-width:0}
.room-facts>*,.amenities>*{min-width:0;overflow-wrap:anywhere}
.activity-detail-card{height:100%;overflow:hidden}
.activity-detail-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.gallery-grid,.gallery-full{width:100%;min-width:0}
.gallery-item{min-width:0;overflow:hidden}
.gallery-item img{display:block;width:100%;height:100%;object-fit:cover}
.booking-option>img{display:block}
.booking-option-content>*{min-width:0}
.contact-list li,.footer-contact li{min-width:0}
.contact-list span,.contact-list a,.footer-contact span,.footer-contact a{overflow-wrap:anywhere;word-break:break-word}
.search-booking .row,.guest-form .row{min-width:0}
.form-control,.form-select,textarea{width:100%;max-width:100%}

@media (max-width:991.98px){
  .inner-hero{min-height:340px;padding:130px 0 55px}
  .inner-hero .container-xxl{width:100%}
  .inner-hero h1{font-size:clamp(2.7rem,9vw,4rem);overflow-wrap:anywhere}
  .room-book-card.sticky-lg-top{position:static!important;top:auto!important}
  .booking-option-content{grid-template-columns:minmax(0,1fr) auto}
}

@media (max-width:767.98px){
  body{min-width:0}
  .container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;max-width:100%;padding-left:.9rem;padding-right:.9rem}
  .row{--bs-gutter-x:1.25rem}
  #mainNav>.container-xxl{gap:.5rem}
  .navbar-brand{min-width:0;margin-right:auto}
  .brand-logo{display:block;max-width:42vw;height:auto;object-fit:contain}
  #mobileMenu .offcanvas-header{padding:1rem}
  #mobileMenu .offcanvas-body{padding:1rem 1.1rem 1.25rem}
  .mobile-nav a{font-size:clamp(1.3rem,7vw,1.75rem);line-height:1.2;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.1)}
  .section>.container,.section>.container-xxl{width:100%}
  .section-heading,.section-heading h1,.section-heading h2,.section-heading p{max-width:100%}
  .room-detail-main>img{max-height:none;aspect-ratio:4/3}
  .room-thumbs{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
  .room-book-card{margin-top:0;width:100%}
  .room-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
  .amenities{display:grid;grid-template-columns:1fr;gap:.65rem}
  .activity-detail-card .d-flex{gap:.75rem;align-items:flex-start;flex-wrap:wrap}
  .gallery-filters{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.35rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .gallery-filters::-webkit-scrollbar{display:none}
  .gallery-filters .btn{flex:0 0 auto}
  .gallery-grid.gallery-full{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
  .booking-option-content{grid-template-columns:1fr;gap:1.25rem}
  .booking-price{width:100%;min-width:0;align-items:flex-start;text-align:left}
  .booking-price .btn{width:100%}
  .search-booking,.guest-form,.contact-form,.card-luxe{padding:1.15rem}
  .cookie-banner{max-height:calc(100svh - 1.25rem);overflow:auto}
  .cookie-banner .d-flex{flex-wrap:wrap}
  .cookie-banner .btn{flex:1 1 120px}
  .footer-logo{max-width:180px;height:auto}
}

@media (max-width:479.98px){
  .inner-hero{min-height:300px;padding:115px 0 45px}
  .inner-hero h1{font-size:clamp(2.35rem,13vw,3.2rem)}
  .page-hero p,.inner-hero p{font-size:.95rem}
  .room-facts{grid-template-columns:1fr}
  .gallery-grid.gallery-full{grid-template-columns:1fr}
  .gallery-grid.gallery-full .gallery-item{aspect-ratio:16/11}
  .search-booking .col-6{width:100%}
  .booking-option>img{height:auto;aspect-ratio:16/10}
  .contact-form .btn,.guest-form .btn,.search-booking .btn{width:100%}
  .footer-bottom .container-xxl{padding-left:1rem;padding-right:1rem}
}


/* ===== Client revisions: taupe, brighter hero, language and back button ===== */
:root{--taupe-page:#d8cec1;--taupe-soft:#e7dfd5}
body{background:var(--taupe-page)}
.section-light,.signature-strip,.legal-page{background:var(--taupe-soft)}
.hero-overlay{background:linear-gradient(90deg,rgba(4,9,12,.67) 0%,rgba(4,9,12,.42) 42%,rgba(4,9,12,.06) 78%),linear-gradient(180deg,rgba(4,9,12,.18),rgba(4,9,12,.06) 55%,rgba(4,9,12,.48))}
.booking-section .container-xxl{max-width:none;padding-left:clamp(1rem,3vw,3rem);padding-right:clamp(1rem,3vw,3rem)}
.booking-panel{width:100%;max-width:none}
.language-btn{color:#fff;border:1px solid rgba(255,255,255,.25);padding:.65rem .8rem;display:flex;align-items:center;gap:.45rem}
.language-btn:hover,.language-btn:focus{color:var(--gold-light);border-color:var(--gold)}
.mobile-language{color:#fff}.mobile-language>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.55)}
.mobile-language>div{display:flex;gap:.5rem;margin-top:.6rem}.mobile-language button{border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;padding:.5rem .75rem}
.page-back-button{position:fixed;z-index:880;left:clamp(.75rem,2vw,1.5rem);top:100px;border:1px solid rgba(255,255,255,.32);background:rgba(8,16,21,.78);backdrop-filter:blur(10px);color:#fff;padding:.72rem 1rem;display:flex;align-items:center;gap:.55rem;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.page-back-button:hover{background:var(--gold);color:var(--ink)}
.goog-te-banner-frame.skiptranslate{display:none!important}body{top:0!important}.goog-logo-link,.goog-te-gadget span{display:none!important}
.media-grid video{width:100%;height:150px;object-fit:cover;background:#111}
@media(max-width:991.98px){.hero-overlay{background:linear-gradient(90deg,rgba(4,9,12,.7),rgba(4,9,12,.32)),linear-gradient(180deg,transparent,rgba(4,9,12,.5))}}
@media(max-width:767.98px){.page-back-button{top:82px;padding:.65rem}.page-back-button span{display:none}.language-btn{padding:.58rem}.current-language{font-size:.7rem}}


/* ===== Belamandy final palette: requested #A99678, no pure white/black surfaces ===== */
:root{
  --taupe-main:#A99678;
  --taupe-deep:#514536;
  --taupe-dark:#665846;
  --taupe-mid:#B9A78F;
  --taupe-soft:#D8CCBC;
  --taupe-pale:#E6DDD1;
  --gold:#A99678;
  --gold-light:#C8B79F;
  --ink:#514536;
  --ink-2:#665846;
  --ink-3:#786956;
  --paper:#D8CCBC;
  --ivory:#E6DDD1;
  --text:#514536;
  --muted:#746653;
  --line:rgba(81,69,54,.18);
}
html,body{background:var(--taupe-soft);color:var(--taupe-deep)}
body,.section-light,.signature-strip,.legal-page{background:var(--taupe-soft)}
.section:not(.rooms-section):not(.services-dark){background-color:var(--taupe-soft)}
.card-luxe,.experience-card,.activity-detail-card,.room-book-card,.booking-option,.confirmation-card,.restaurant-card,.quote-card,.contact-form,.contact-info,.testimonial-card,.dropdown-menu,.modal-content{background:var(--taupe-pale);color:var(--taupe-deep)}
.form-control,.form-select,.input-group-text,textarea{background-color:#EDE5DA;color:var(--taupe-deep);border-color:rgba(81,69,54,.28)}
.form-control:focus,.form-select:focus,textarea:focus{background-color:#F0E9DF;color:var(--taupe-deep)}
.form-control::placeholder,textarea::placeholder{color:#857661;opacity:1}
.dropdown-item{color:var(--taupe-deep)}.dropdown-item:hover,.dropdown-item:focus{background:var(--taupe-mid);color:var(--taupe-deep)}
.navbar.scrolled,.inner-page .navbar,.site-footer,.services-dark,.rooms-section,.booking-panel,.offcanvas,.cookie-banner,.page-loader{background-color:var(--taupe-deep)!important}
.navbar.scrolled,.inner-page .navbar{background:rgba(81,69,54,.96)!important}
.site-footer{background:var(--taupe-deep)}
.site-footer,.site-footer a,.site-footer p,.site-footer span,.site-footer li,.site-footer .text-white-50,.footer-bottom{color:#E6DDD1!important}
.site-footer h3,.footer-contact i{color:#C8B79F!important}
.footer-bottom,.social-links a{border-color:rgba(230,221,209,.25)}
.btn-gold{background:var(--taupe-main);border-color:var(--taupe-main);color:#F2EBE2}
.btn-gold:hover,.btn-gold:focus{background:var(--taupe-dark);border-color:var(--taupe-dark);color:#F2EBE2}
.btn-dark-luxe{background:var(--taupe-deep);border-color:var(--taupe-deep);color:#F2EBE2}
.btn-dark-luxe:hover{background:var(--taupe-dark);color:#F2EBE2}
.btn-outline-light{border-color:#D8CCBC;color:#F2EBE2}.btn-outline-light:hover{background:#D8CCBC;color:var(--taupe-deep)}
.text-white,.text-white-50,.hero-section,.inner-hero,.booking-panel,.services-dark,.rooms-section{color:#F2EBE2!important}
.text-white-50{color:rgba(242,235,226,.72)!important}
.language-btn,.mobile-language,.mobile-language button{color:#F2EBE2;border-color:rgba(242,235,226,.4)}
.mobile-language>span{color:rgba(242,235,226,.7)}
.offcanvas .btn-close{filter:sepia(1) saturate(.4) brightness(2)}
.page-back-button{background:rgba(81,69,54,.9);color:#F2EBE2;border-color:rgba(242,235,226,.38)}
.page-back-button:hover{background:var(--taupe-main);color:#F2EBE2}
.guest-form,.confirmation-summary div{background:#DED3C5}
.price-line,.guest-form{border-color:rgba(81,69,54,.18)}
.lightbox-modal{background:rgba(81,69,54,.96)}
.lightbox-modal button{color:#F2EBE2}
.whatsapp-float{color:#F2EBE2}
.hero-overlay{background:linear-gradient(90deg,rgba(81,69,54,.72) 0%,rgba(81,69,54,.42) 45%,rgba(81,69,54,.08) 80%),linear-gradient(180deg,rgba(81,69,54,.15),rgba(81,69,54,.05) 55%,rgba(81,69,54,.52))}
.inner-hero-overlay{background:linear-gradient(90deg,rgba(81,69,54,.88),rgba(81,69,54,.25))}
.confirmation-page{background:linear-gradient(rgba(81,69,54,.78),rgba(81,69,54,.88)),url('../img/hero-pool.webp') center/cover}
@media(max-width:991.98px){.hero-overlay{background:linear-gradient(90deg,rgba(81,69,54,.76),rgba(81,69,54,.30)),linear-gradient(180deg,transparent,rgba(81,69,54,.55))}}
@media(max-width:575.98px){.mobile-language>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem}.mobile-language button{padding:.48rem .25rem;font-size:.72rem}}

/* ===== Ajustements finaux V5 : logo, réservation et lisibilité ===== */
@media (min-width:1200px){
  .brand-logo{width:235px;max-height:78px}
  .navbar-brand{margin-right:1.25rem}
}
@media (min-width:768px) and (max-width:1199.98px){
  .brand-logo{width:190px;max-height:66px}
}
@media (max-width:767.98px){
  .brand-logo{width:165px;max-width:52vw;max-height:58px}
}
.booking-section .container-xxl{max-width:1320px;padding-left:calc(var(--bs-gutter-x)*.5);padding-right:calc(var(--bs-gutter-x)*.5)}
.booking-panel{width:100%;max-width:100%;margin-inline:auto}
.section-light .section-heading h2,
.section-light .section-heading h1,
.signature-strip .section-heading h2,
.legal-page h1,.legal-page h2,.legal-page h3,
.card-luxe h1,.card-luxe h2,.card-luxe h3,
.experience-card h3,.activity-detail-card h2,
.prose h1,.prose h2,.prose h3{color:var(--taupe-deep)!important}
.rooms-section .section-heading h2,
.services-dark .section-heading h2,
.gallery-section .section-heading h2,
.hero-section h1,.inner-hero h1{color:#F2EBE2!important;text-shadow:0 2px 18px rgba(81,69,54,.28)}

/* ===== Ajustement V6 : titre de la section Nos hébergements ===== */
.rooms-section .section-heading h2{
  color:#FFE0A3!important;
  text-shadow:0 3px 16px rgba(0,0,0,.55),0 0 1px rgba(255,255,255,.25);
  font-weight:700;
}

/* ===== Ajustement V7 : logo du header très grand et visible ===== */
#mainNav{
  min-height:118px;
  padding-top:1rem!important;
  padding-bottom:1rem!important;
}
#mainNav .navbar-brand{
  display:flex;
  align-items:center;
  flex-shrink:0;
}
#mainNav .brand-logo{
  width:310px!important;
  max-width:none!important;
  max-height:108px!important;
  height:auto!important;
  object-fit:contain;
  filter:drop-shadow(0 5px 14px rgba(0,0,0,.34));
}
#mainNav.scrolled{
  min-height:100px;
}
#mainNav.scrolled .brand-logo{
  width:275px!important;
  max-height:92px!important;
}
.offcanvas-logo{
  width:230px!important;
  max-height:105px!important;
  object-fit:contain;
}
@media (min-width:768px) and (max-width:1199.98px){
  #mainNav{min-height:108px}
  #mainNav .brand-logo,
  #mainNav.scrolled .brand-logo{
    width:255px!important;
    max-height:92px!important;
  }
}
@media (max-width:767.98px){
  #mainNav{min-height:96px;padding-top:.7rem!important;padding-bottom:.7rem!important}
  #mainNav .brand-logo,
  #mainNav.scrolled .brand-logo{
    width:210px!important;
    max-width:67vw!important;
    max-height:80px!important;
  }
  .offcanvas-logo{width:205px!important;max-width:68vw!important}
}
@media (max-width:390px){
  #mainNav .brand-logo,
  #mainNav.scrolled .brand-logo{
    width:185px!important;
    max-width:62vw!important;
  }
}

/* Correctifs responsive et stabilité — sans modification du design */
img, video, iframe { max-width: 100%; height: auto; }
body { overflow-x: hidden; }
@media (max-width: 991.98px) {
  .container, .container-fluid { width: 100%; padding-left: 18px; padding-right: 18px; }
  .hero, .page-hero { min-height: auto; }
  .booking-bar, .booking-form, .reservation-bar { width: 100%; }
}
@media (max-width: 767.98px) {
  h1 { font-size: clamp(2rem, 10vw, 3.2rem); }
  h2 { font-size: clamp(1.7rem, 8vw, 2.6rem); }
  .row > * { min-width: 0; }
  .btn, button, input, select, textarea { max-width: 100%; }
  .table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

/* Premium gallery/carousel improvements */
.photo-carousel{background:#fff;padding:18px;border-radius:22px;box-shadow:0 20px 50px rgba(0,0,0,.12)}
.photo-carousel img,.gallery-grid img{background:#fff;border-radius:18px;object-fit:cover}
.gallery-grid .media-frame{background:#fff;padding:12px}
.service-grid article{backdrop-filter:blur(8px)}
.premium-carousel{overflow:hidden;position:relative}

/* Premium visual upgrade - safe layer */
.premium-carousel{background:#fff;border-radius:24px;padding:18px;box-shadow:0 18px 45px rgba(0,0,0,.10);overflow:hidden}
.premium-carousel img{height:520px;object-fit:cover;border-radius:18px}
@media(max-width:768px){.premium-carousel img{height:280px}}
.gallery-section,.section-light{background:#fff}
.gallery-item img,.experience-card img,.media-frame img{background:#fff}
.card-luxe,.room-card{background:#fff!important}
.navbar-toggler{z-index:1055;cursor:pointer}

/* Premium lodge refinement */
.section-light,.room-card,.premium-room-content{background:#fff}
.room-card{border-radius:24px;overflow:hidden;box-shadow:0 15px 45px rgba(0,0,0,.12);color:#263238}
.room-content h3,.room-content p,.room-meta,.room-bottom{color:#263238}
.room-content h3{font-size:2rem;font-weight:600}
.room-content p{min-height:55px;font-size:1rem;line-height:1.6}
.room-meta span{background:#f7f4ee;padding:8px 12px;border-radius:20px}
.room-bottom strong{color:#9b7b4b;font-size:1.5rem}
.service-grid article{background:rgba(255,255,255,.08);border-radius:24px;padding:30px;text-align:center;transition:.3s}
.service-grid article:hover{transform:translateY(-8px);background:rgba(255,255,255,.14)}
.service-grid article i{font-size:2.2rem;color:#c8a45d;margin-bottom:18px}
.service-grid h3{color:#fff}
.mobile-nav a{display:block;padding:14px 0;color:#fff;text-decoration:none}

/* Belamandy Premium V4 refinements */
.room-card{background:#fff;color:#514536;border-radius:22px;overflow:hidden;box-shadow:0 15px 45px rgba(0,0,0,.12)}
.room-content,.premium-room-content{background:#fff;color:#514536!important;padding:1.8rem}
.room-content h3,.premium-room-content h3{color:#514536!important;font-size:2rem}
.room-content p,.premium-room-content p{color:#6b6258!important;line-height:1.7}
.room-meta span{color:#514536!important}
.room-bottom strong{color:#A99678!important;font-size:1.5rem}
.signature-item,.service-grid article{transition:transform .3s ease,box-shadow .3s ease}
.signature-item:hover,.service-grid article:hover{transform:translateY(-5px);box-shadow:0 15px 35px rgba(0,0,0,.12)}
.premium-carousel img{height:520px;object-fit:cover;border-radius:24px}
@media(max-width:768px){.premium-carousel img{height:260px}.room-content h3,.premium-room-content h3{font-size:1.5rem}}


/* ===== Belamandy Premium V6 overrides ===== */
.room-card{background:#fff!important;border-radius:24px;overflow:hidden;box-shadow:0 18px 45px rgba(7,16,22,.12);height:100%}
.room-content,.premium-room-content{background:#fff!important;color:#172229!important;padding:28px!important}
.room-content h3,.premium-room-content h3{color:#071016!important;font-size:1.7rem}
.room-content p,.premium-room-content p{color:#4d5960!important}
.room-meta span{background:#f7f3ea;color:#172229;padding:8px 12px;border-radius:12px}
.room-bottom strong{color:#071016!important;font-size:1.35rem}
.service-card{background:#fff;border-radius:22px;box-shadow:0 12px 35px rgba(0,0,0,.08);padding:28px;height:100%}
.service-card .icon,.service-icon{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#c8a45d;color:#071016;font-size:1.4rem;margin-bottom:18px}
.navbar-toggler{z-index:1056}
@media(max-width:991px){.offcanvas{z-index:1055}.brand-logo{width:145px}}
.carousel-item img{border-radius:24px;object-fit:cover}
.reveal-up{animation:belFade .8s ease both}
@keyframes belFade{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

/* V7 premium refinements */
.room-card,.premium-card,.activity-detail-card{background:#fff;color:#222;border-radius:22px;overflow:hidden;box-shadow:0 18px 45px rgba(0,0,0,.08)}
.room-card h2,.room-card h3,.premium-card h2,.activity-detail-card h2{color:#1f1f1f}
.room-card p,.premium-card p,.activity-detail-card p{color:#555;line-height:1.7}
.room-card .price,.room-card strong{color:#9a6b32}
.service-card,.feature-card{transition:transform .3s ease,box-shadow .3s ease}
.service-card:hover,.feature-card:hover{transform:translateY(-6px)}
.carousel img{object-fit:cover;border-radius:18px}
@media(max-width:1199px){.navbar-toggler{z-index:2000!important}}

/* Belamandy premium pages */
.premium-page-card{background:#fff;color:#514536;border-radius:24px;padding:45px;box-shadow:0 15px 40px rgba(0,0,0,.08);max-width:900px;margin:auto;text-align:center}.premium-page-card h2{color:#514536;font-family:var(--font-heading)}.premium-page-card p{color:#514536;line-height:1.8}.service-icon{font-size:42px;color:#A99678;margin-bottom:20px}.page-premium-hero{background:#f8f5ef;color:#514536}.page-premium-hero h1{font-family:var(--font-heading);font-size:clamp(2.5rem,5vw,4rem)}

/* Belamandy premium refinement V10 */
.room-card,.booking-option,.service-card,.lodge-card{background:#fff;color:#1b2428;border-radius:24px;overflow:hidden;box-shadow:0 18px 45px rgba(0,0,0,.10);}
.room-card h2,.room-card h3,.booking-option h3,.lodge-card h3{color:#111820!important;}
.room-card p,.booking-option p,.lodge-card p{color:#4d5960!important;}
.room-card .price,.booking-option .price{color:#9b7838;font-weight:800;}
.service-card i,.service-grid i{font-size:2rem;color:#b08a45;}
.carousel img{width:100%;height:520px;object-fit:cover;}
@media(max-width:768px){.carousel img{height:300px;}}

/* Belamandy premium dynamic gallery smooth motion */
.premium-carousel .carousel-item{transition:transform 1.2s ease-in-out;}
.premium-carousel img{transition:transform 6s ease;}
.premium-carousel .carousel-item.active img{transform:scale(1.05);}
.gallery-section .gallery-item{display:block;overflow:hidden;border-radius:24px;}
.signature-item i.fa-sailboat,.service-grid i.fa-sailboat{font-size:2rem;}

/* V12.1 corrections visuelles */
.section-heading, .section-title, .page-hero-content { text-align:left; }
.section-heading h2, .section-heading h1, .activity-detail-card h2 { margin-left:0; }
.activity-detail-card h2 { min-height:56px; display:flex; align-items:center; }
.brand-logo { width:230px !important; height:auto !important; }
@media(max-width:1199px){.brand-logo{width:190px !important}}
.hero-media img, .page-hero img { filter:brightness(1.12) contrast(1.05); }
.collage-main img { filter:brightness(1.12) contrast(1.05); }
.gallery-item img { cursor:zoom-in; }
.services-section { display:none; }

/* ===== V12.2 corrections: restaurant, lodge gallery, booking modal and title alignment ===== */
#mainNav .brand-logo,
#mainNav.scrolled .brand-logo{width:290px!important;max-width:30vw!important;max-height:96px!important;height:auto!important;object-fit:contain}
#mainNav .navbar-brand{display:flex;align-items:center;min-height:92px}
@media(max-width:1199.98px){
  #mainNav .brand-logo,#mainNav.scrolled .brand-logo{width:225px!important;max-width:42vw!important;max-height:82px!important}
  #mainNav .navbar-brand{min-height:76px}
}
@media(max-width:767.98px){
  #mainNav .brand-logo,#mainNav.scrolled .brand-logo{width:185px!important;max-width:52vw!important;max-height:70px!important}
  #mainNav .navbar-brand{min-height:64px}
}

.hero-bg{filter:brightness(1.12) contrast(1.05) saturate(1.04)}
.hero-overlay{background:linear-gradient(90deg,rgba(81,69,54,.50) 0%,rgba(81,69,54,.27) 46%,rgba(81,69,54,.02) 82%),linear-gradient(180deg,rgba(81,69,54,.06),rgba(81,69,54,.02) 58%,rgba(81,69,54,.31))!important}
.image-collage img{filter:brightness(1.13) contrast(1.07) saturate(1.04)}
@media(max-width:991.98px){.hero-overlay{background:linear-gradient(90deg,rgba(81,69,54,.58),rgba(81,69,54,.20)),linear-gradient(180deg,rgba(81,69,54,.02),rgba(81,69,54,.36))!important}}

.section-heading{margin-left:0;margin-right:0;text-align:left}
.section-heading.text-center{margin-left:auto;margin-right:auto;text-align:center!important}
.section-heading.text-center h1,.section-heading.text-center h2,.section-heading.text-center h3,.section-heading.text-center p,.section-heading.text-center .eyebrow{margin-left:auto;margin-right:auto;text-align:center!important}
.inner-hero .container-xxl{text-align:left}
.room-content h3,.premium-room-content h3{min-height:2.35em;display:flex;align-items:flex-start;margin-bottom:.65rem}
.activity-detail-card>div,.experience-card>div{display:flex;flex-direction:column;height:100%}
.activity-detail-card h2,.experience-card h3{min-height:2.75em;display:flex;align-items:flex-start;margin-top:.75rem;margin-bottom:.8rem;line-height:1.18}
.activity-detail-card .btn{margin-top:auto!important}
.activity-detail-card .d-flex{margin-top:auto}
@media(max-width:767.98px){.room-content h3,.premium-room-content h3,.activity-detail-card h2,.experience-card h3{min-height:auto}}

.room-main-photo{position:relative;display:block;overflow:hidden;border-radius:18px;background:var(--taupe-pale)}
.room-main-photo>img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .45s ease,filter .3s ease}
.room-main-photo:hover>img{transform:scale(1.02);filter:brightness(1.04)}
.room-photo-zoom{position:absolute;right:1rem;bottom:1rem;display:inline-flex;align-items:center;gap:.5rem;padding:.65rem .85rem;border-radius:999px;background:rgba(81,69,54,.86);color:#fff;font-size:.8rem;backdrop-filter:blur(8px)}
.room-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}
.room-thumb-button{padding:0;border:2px solid transparent;border-radius:12px;background:transparent;overflow:hidden;cursor:pointer;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.room-thumb-button:hover,.room-thumb-button:focus-visible,.room-thumb-button.is-active{border-color:var(--taupe-main);transform:translateY(-2px);box-shadow:0 8px 20px rgba(81,69,54,.18)}
.room-thumb-button img{width:100%;aspect-ratio:4/3;object-fit:cover}
.lightbox-open{overflow:hidden}
@media(max-width:767.98px){.room-thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}.room-photo-zoom{font-size:.72rem;right:.65rem;bottom:.65rem}}

.lodge-booking-modal .modal-content{border:0;border-radius:24px;overflow:hidden;box-shadow:0 30px 80px rgba(81,69,54,.35)}
.lodge-booking-modal .modal-header{align-items:flex-start;padding:1.4rem 1.5rem;border-bottom:1px solid var(--line);background:var(--taupe-pale)}
.lodge-booking-modal .modal-title{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3rem);color:var(--taupe-deep);line-height:1}
.lodge-booking-modal .modal-body{padding:1.5rem;background:var(--taupe-soft)}
.booking-modal-lodge-summary{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:18px;background:var(--taupe-pale);border:1px solid var(--line)}
.booking-modal-lodge-summary img{width:120px;height:85px;object-fit:cover;border-radius:12px}
.booking-modal-lodge-summary div{display:flex;flex-direction:column}.booking-modal-lodge-summary span,.booking-modal-lodge-summary small{color:var(--muted)}.booking-modal-lodge-summary strong{font-family:var(--font-heading);font-size:1.55rem;color:var(--taupe-deep)}
.booking-activities{padding:1rem;border:1px solid var(--line);border-radius:18px;background:rgba(230,221,209,.72)}
.booking-activities legend{float:none;width:auto;margin:0 0 .35rem;font-family:var(--font-heading);font-size:1.55rem;color:var(--taupe-deep)}
.booking-activities>p{margin-bottom:1rem;color:var(--muted)}
.activity-choice{display:flex;align-items:center;gap:.75rem;height:100%;padding:.85rem;border:1px solid var(--line);border-radius:14px;background:#EDE5DA;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.activity-choice:hover{border-color:var(--taupe-main);transform:translateY(-1px);box-shadow:0 8px 18px rgba(81,69,54,.10)}
.activity-choice input{width:1.05rem;height:1.05rem;accent-color:var(--taupe-deep);flex:0 0 auto}
.activity-choice-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--taupe-main);color:#fff;flex:0 0 auto}
.activity-choice>span:last-child{display:flex;flex-direction:column;min-width:0}.activity-choice strong{color:var(--taupe-deep);line-height:1.2}.activity-choice small{color:var(--muted);margin-top:.2rem}
.compact-booking-activities{margin-top:.5rem}
@media(max-width:575.98px){.booking-modal-lodge-summary img{width:88px;height:72px}.lodge-booking-modal .modal-header,.lodge-booking-modal .modal-body{padding:1rem}}

.restaurant-feature-image{position:relative;display:block;overflow:hidden;border-radius:24px;box-shadow:0 20px 55px rgba(81,69,54,.18)}
.restaurant-feature-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;filter:brightness(1.06) contrast(1.04);transition:transform .5s ease}
.restaurant-feature-image:hover img{transform:scale(1.035)}
.restaurant-feature-image>span,.restaurant-gallery-item>span{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%) scale(.8);width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:rgba(81,69,54,.84);color:#fff;opacity:0;transition:.25s ease}
.restaurant-feature-image:hover>span,.restaurant-gallery-item:hover>span{opacity:1;transform:translate(-50%,-50%) scale(1)}
.restaurant-prose{margin-top:1.25rem;color:var(--taupe-deep)}
.restaurant-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1.5rem}
.restaurant-highlights>div{display:flex;align-items:center;gap:.7rem;padding:.85rem;border:1px solid var(--line);border-radius:14px;background:var(--taupe-pale)}
.restaurant-highlights i{color:var(--taupe-main);font-size:1.15rem}.restaurant-highlights span{display:flex;flex-direction:column}.restaurant-highlights strong{color:var(--taupe-deep);font-size:.9rem}.restaurant-highlights small{color:var(--muted);font-size:.72rem}
.restaurant-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:1050px;margin:0 auto}
.restaurant-gallery-item{position:relative;display:block;overflow:hidden;border-radius:18px;aspect-ratio:16/10}
.restaurant-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.restaurant-gallery-item:hover img{transform:scale(1.04)}
@media(max-width:767.98px){.restaurant-highlights{grid-template-columns:1fr}.restaurant-gallery-grid{grid-template-columns:1fr}}


/* ===== V12.3 corrections: activity cards, centered lightbox, larger logo, services page ===== */
html.lightbox-open,body.lightbox-open{overflow:hidden}
main img:not(.brand-logo):not(.offcanvas-logo){cursor:zoom-in}
.lightbox-modal{position:fixed;inset:0;z-index:2000;display:flex!important;align-items:center;justify-content:center;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom));background:rgba(81,69,54,.94)!important;overflow:auto}
.lightbox-dialog{width:100%;max-width:min(94vw,1400px);max-height:calc(100svh - 2rem);display:flex;align-items:center;justify-content:center;margin:auto}
.lightbox-modal img{display:block;margin:auto;max-width:100%;max-height:calc(100svh - 2rem);width:auto;height:auto;object-fit:contain;border-radius:18px;box-shadow:0 18px 60px rgba(0,0,0,.35)}
.lightbox-modal button{position:fixed;top:max(1rem,env(safe-area-inset-top));right:1rem;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);font-size:2rem;line-height:1;z-index:2}
.lightbox-modal button:hover{background:rgba(255,255,255,.24)}
#mainNav{min-height:124px}
#mainNav .brand-logo{width:335px!important;max-height:116px!important}
#mainNav.scrolled .brand-logo{width:300px!important;max-height:102px!important}
.offcanvas-logo{width:240px!important;max-height:110px!important}
.service-card h3,.activity-detail-card h2,.experience-card h3{text-align:left}
.activity-detail-card{display:flex;flex-direction:column;height:auto!important;overflow:visible!important}
.activity-detail-card>img{flex-shrink:0}
.activity-detail-card>div{display:flex;flex-direction:column;flex:1;height:auto!important;min-height:0;padding:1.35rem 1.35rem 1.5rem!important}
.activity-detail-card h2{min-height:auto!important;margin-top:.75rem;margin-bottom:.8rem;line-height:1.2}
.activity-detail-card p{flex:0 0 auto;margin-bottom:1rem;line-height:1.75;overflow:visible}
.activity-detail-card .d-flex{margin-top:.25rem!important;align-items:center!important;justify-content:space-between!important;gap:.75rem 1rem;flex-wrap:wrap}
.activity-detail-card .btn{margin-top:1rem!important;display:inline-flex;align-items:center;justify-content:center;min-height:48px;white-space:normal}
@media (min-width:768px) and (max-width:1199.98px){#mainNav .brand-logo,#mainNav.scrolled .brand-logo{width:275px!important;max-height:98px!important}}
@media (max-width:767.98px){#mainNav{min-height:102px;padding-top:.8rem!important;padding-bottom:.8rem!important}#mainNav .brand-logo,#mainNav.scrolled .brand-logo{width:235px!important;max-width:74vw!important;max-height:88px!important}.offcanvas-logo{width:220px!important;max-width:72vw!important}.activity-detail-card>div{padding:1.1rem 1.05rem 1.2rem!important}.activity-detail-card p{font-size:1rem;line-height:1.7}.lightbox-modal{padding:1rem .75rem}.lightbox-modal button{top:.75rem;right:.75rem;width:48px;height:48px}.lightbox-dialog,.lightbox-modal img{max-width:96vw;max-height:calc(100svh - 2rem)}}


/* ===== V12.5 responsive header and always-visible mobile burger ===== */
#mainNav>.container-xxl{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  width:100%;
}
#mainNav .navbar-brand{
  min-width:0;
}
#mainNav .navbar-actions{
  flex:0 0 auto;
  min-width:max-content;
  position:relative;
  z-index:5;
}
#mainNav .navbar-toggler{
  flex:0 0 48px;
  width:48px;
  height:48px;
  padding:.45rem;
  margin:0;
  position:relative;
  z-index:6;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
#mainNav .navbar-toggler-icon{
  display:block;
  width:1.8rem;
  height:1.8rem;
  background-size:100% 100%;
  background-position:center;
  background-repeat:no-repeat;
}
@media (max-width:1199.98px){
  #mainNav>.container-xxl{
    gap:.45rem;
    padding-left:clamp(.75rem,2.8vw,1.25rem);
    padding-right:clamp(.75rem,2.8vw,1.25rem);
  }
  #mainNav .navbar-brand{
    flex:1 1 auto;
    margin-right:0;
    overflow:hidden;
  }
  #mainNav .brand-logo,
  #mainNav.scrolled .brand-logo{
    display:block;
    width:clamp(175px,28vw,275px)!important;
    max-width:100%!important;
    max-height:92px!important;
  }
  #mainNav .navbar-actions{
    gap:.4rem!important;
  }
  #mainNav .language-switcher{
    flex:0 0 auto;
  }
  #mainNav .language-btn{
    min-width:74px;
    height:48px;
    padding:.45rem .55rem;
    justify-content:center;
    gap:.35rem;
    white-space:nowrap;
  }
  #mainNav .language-btn .fa-globe{
    font-size:.9rem;
  }
  #mainNav .language-btn.dropdown-toggle::after{
    margin-left:.15rem;
  }
  #mainNav .navbar-toggler{
    display:flex!important;
  }
}
@media (max-width:767.98px){
  #mainNav{
    min-height:96px!important;
    padding-top:.55rem!important;
    padding-bottom:.55rem!important;
  }
  #mainNav>.container-xxl{
    gap:.3rem;
    padding-left:.7rem;
    padding-right:.7rem;
  }
  #mainNav .navbar-brand{
    min-height:76px!important;
    display:flex;
    align-items:center;
  }
  #mainNav .brand-logo,
  #mainNav.scrolled .brand-logo{
    width:clamp(158px,45vw,190px)!important;
    max-width:100%!important;
    max-height:78px!important;
  }
  #mainNav .navbar-actions{
    gap:.25rem!important;
  }
  #mainNav .language-btn{
    min-width:66px;
    width:66px;
    height:46px;
    padding:.4rem .35rem;
    font-size:.78rem;
  }
  #mainNav .navbar-toggler{
    flex-basis:46px;
    width:46px;
    height:46px;
    padding:.38rem;
  }
  #mainNav .navbar-toggler-icon{
    width:1.7rem;
    height:1.7rem;
  }
}
@media (max-width:389.98px){
  #mainNav>.container-xxl{
    padding-left:.5rem;
    padding-right:.5rem;
    gap:.2rem;
  }
  #mainNav .brand-logo,
  #mainNav.scrolled .brand-logo{
    width:clamp(140px,43vw,162px)!important;
    max-height:70px!important;
  }
  #mainNav .language-btn{
    min-width:60px;
    width:60px;
    height:44px;
    padding:.3rem .25rem;
  }
  #mainNav .language-btn .fa-globe{
    display:none;
  }
  #mainNav .navbar-toggler{
    flex-basis:44px;
    width:44px;
    height:44px;
  }
}

/* V13 - ajustements demandés */
body,.section-light,.booking-bar-wrap,.signature-strip{background:#A99678!important;color:#514B43}
.section-light .lead,.section-light p{color:#514B43}
.hero-welcome-logo{width:auto;height:80px;max-width:min(78vw,420px);object-fit:contain;filter:drop-shadow(0 6px 18px rgba(0,0,0,.3))}
.hero-logo-kicker{margin-bottom:1.5rem}.hero-logo-kicker:before,.hero-logo-kicker .kicker-line{display:none!important}
#mainNav .container-xxl{justify-content:flex-end}.navbar-collapse{flex-grow:1}
.signature-strip .row{justify-content:center}.signature-item{height:100%}
img{image-rendering:auto;-webkit-font-smoothing:antialiased;backface-visibility:hidden}
.hero-bg,.media-frame img,.image-collage img,.experience-card img,.premium-carousel img,.gallery-item img{filter:none!important;transform:translateZ(0)}
.hero-bg{background-position:center;background-size:cover}
.rooms-section,.site-footer,.offcanvas{background:#6F675D!important}
.btn-gold{background:#D7C8B2!important;border-color:#D7C8B2!important;color:#514B43!important}
.btn-dark-luxe{background:#6F675D!important;border-color:#6F675D!important}
@media(max-width:1199.98px){#mainNav .container-xxl{justify-content:space-between}.navbar-actions{margin-left:auto}.hero-welcome-logo{height:72px}}
