
:root{--teal:#086773;--navy:#0d3444;--cream:#f8f3ea;--sand:#e7c995;--green:#335d47;--white:#fff;--muted:#64706f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--navy);background:#fff;line-height:1.5}a{color:inherit}.top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);display:flex;align-items:center;justify-content:space-between;padding:15px 5vw;border-bottom:1px solid #eee}.logo{font-family:Georgia,serif;font-size:30px;font-style:italic;font-weight:700;text-decoration:none}.logo small{display:block;font:9px Arial;letter-spacing:4px;text-align:center}.nav{display:flex;gap:20px;align-items:center;font-size:12px;font-weight:700}.nav a{text-decoration:none}.btn{display:inline-block;padding:13px 20px;border-radius:7px;background:var(--teal);color:#fff;text-decoration:none;font-weight:800;border:0}.btn.alt{background:#fff;color:var(--navy)}.hero{min-height:570px;padding:125px 7vw 70px;color:#fff;background:linear-gradient(90deg,rgba(5,48,57,.88),rgba(5,48,57,.15)),url('assets/hero-sunset-bougainvillea.jpg') center 58%/cover}.hero.small{min-height:380px}.hero h1{font-family:Georgia,serif;font-size:62px;line-height:1;margin:0 0 18px;max-width:780px}.hero p{font-size:18px;max-width:670px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.wrap{padding:70px 7vw}.center{text-align:center;max-width:820px;margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:5px;font-size:11px;font-weight:800;color:var(--teal)}h2{font-family:Georgia,serif;font-size:40px;margin:8px 0 14px}h3{font-family:Georgia,serif;font-size:24px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.card{border:1px solid #e7e7e7;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.04)}.pic{height:240px;background-size:cover;background-position:center;background-repeat:no-repeat}.p1{background-image:url('assets/terrace-wide.jpg')}.p2{background-image:url('assets/lounge-bar.jpg')}.p3{background-image:url('assets/terrace-rocking-chairs.jpg')}.p4{background-image:url("assets/experience-surf-2.jpg")}.p5{background-image:url('assets/pool-table.jpg')}.p6{background-image:url("assets/experience-excursion-1.jpg")}.p7{background-image:url('assets/sunset-beach.jpg')}.card .body{padding:22px}.card h3{margin:0 0 8px}.card a{color:var(--teal);font-weight:800;text-decoration:none}.band{background:var(--cream)}.villa{background:var(--green);color:#fff}.checks{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:28px}.check{padding:20px;background:rgba(255,255,255,.1);border-radius:10px}.form{max-width:850px;margin:30px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:16px}.form label{font-size:12px;font-weight:800}.form input,.form select,.form textarea{width:100%;padding:13px;border:1px solid #ccd3d3;border-radius:7px;margin-top:6px}.full{grid-column:1/-1}.notice{padding:16px 18px;border-left:4px solid var(--teal);background:#eef7f6;margin:22px 0}.footer{background:#082f3b;color:#fff;padding:50px 7vw}.footergrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}.footer a{display:block;text-decoration:none;margin:7px 0;color:#d9e5e7}.mobile{display:none}@media(max-width:900px){.nav{display:none}.mobile{display:block}.hero h1{font-size:44px}.grid3,.grid2,.checks,.footergrid,.form{grid-template-columns:1fr}.full{grid-column:auto}.pic{background-size:1300px auto}.wrap{padding:55px 6vw}}

.video-section{background:#fff}.video-frame{max-width:1050px;margin:30px auto 0;border-radius:14px;overflow:hidden;background:#0d3444;box-shadow:0 12px 35px rgba(0,0,0,.12)}.video-frame video{display:block;width:100%;max-height:620px;background:#0d3444}
.photo-strip{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:260px 260px;gap:12px;margin-top:34px}.photo-strip .real-photo{min-height:0}.real-photo{background-size:cover;background-position:center;border-radius:12px;overflow:hidden}.photo-strip .real-photo:first-child{grid-row:1/3}.rp1{background-image:url('assets/terrace-wide.jpg')}.rp2{background-image:url('assets/sunset-bay-catamaran.jpg')}.rp3{background-image:url('assets/lounge-bar.jpg')}.rp4{background-image:url('assets/sunset-beach.jpg')}.rp5{background-image:url('assets/pool-table.jpg')}@media(max-width:900px){.photo-strip{grid-template-columns:1fr 1fr;grid-template-rows:260px 180px 180px}.photo-strip .real-photo:first-child{grid-column:1/3;grid-row:auto}}
/* Mise à jour photos réelles V1.2 */
.hero{background:linear-gradient(90deg,rgba(12,35,31,.69),rgba(12,35,31,.08)),url("assets/baie-terrasse.webp") center 52%/cover!important}
.hero.small{background:linear-gradient(90deg,rgba(12,35,31,.75),rgba(12,35,31,.25)),url("assets/piscine-panorama.webp") center/cover!important}
.p1{background-image:url("assets/salon-panoramique.webp")!important}.p2{background-image:url("assets/terrasse-bois.webp")!important}.p3{background-image:url("assets/facade-piscine.webp")!important}
.rp1{background-image:url("assets/piscine-panorama.webp")!important}.rp2{background-image:url("assets/salon-hamac.webp")!important}.rp3{background-image:url("assets/soiree-pizza.webp")!important}.rp4{background-image:url("assets/coucher-rose.webp")!important}.rp5{background-image:url("assets/piscine-soiree.webp")!important}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px}.photo-grid figure{margin:0;overflow:hidden;border-radius:14px;background:#fff;box-shadow:0 7px 24px #18382d13}.photo-grid img{width:100%;height:245px;object-fit:cover;display:block}.photo-grid figcaption{padding:12px 15px;font-size:14px;color:#31534c}.photo-grid figure:first-child{grid-column:span 2;grid-row:span 2}.photo-grid figure:first-child img{height:calc(490px + 16px + 40px)}.photo-grid figure:nth-child(7){grid-column:span 2}.photo-grid figure:nth-child(7) img{height:320px}.gallery-intro{max-width:760px;margin:0 auto;text-align:center}.real-photo{background-position:center;background-size:cover}.photo-grid img{cursor:zoom-in}.lightbox{position:fixed;inset:0;background:#071c18ef;display:none;align-items:center;justify-content:center;z-index:9999;padding:30px;flex-direction:column;gap:15px}.lightbox.open{display:flex}.lightbox img{max-width:95vw;max-height:83vh;object-fit:contain}.lightbox button{position:absolute;right:22px;top:15px;border:0;background:#fff;color:#18382d;border-radius:50%;width:43px;height:43px;font-size:28px;cursor:pointer}.lightbox p{color:white;text-align:center}@media(max-width:700px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.photo-grid img{height:175px}.photo-grid figure:first-child img{height:380px}.photo-grid figure:nth-child(7) img{height:210px}.photo-grid figcaption{font-size:12px;padding:9px}.hero{background-position:center!important}}

.hero.hero-official{background:linear-gradient(90deg,rgba(0,24,35,.28),rgba(0,24,35,.08)),url("assets/hero-accueil-officiel.jpeg") center/cover no-repeat;min-height:520px;padding-top:150px}.hero.hero-official h1,.hero.hero-official p,.hero.hero-official .eyebrow{visibility:hidden}.hero.hero-official .actions{visibility:hidden;margin-top:145px}.room-cover{height:460px;border-radius:14px;background-size:cover;background-position:center}.room-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}.room-gallery img{width:100%;height:280px;object-fit:cover;border-radius:12px}@media(max-width:760px){.hero.hero-official{min-height:480px;background-position:center top;padding-top:110px}.hero.hero-official .actions{margin-top:175px}.room-gallery{grid-template-columns:1fr}.room-gallery img{height:auto}}
/* V3.3 — Hero propre: image sans texte + contenu HTML du site */
.hero.hero-official{background:linear-gradient(90deg,rgba(4,24,31,.58) 0%,rgba(4,24,31,.22) 48%,rgba(4,24,31,.05) 100%),url("assets/hero-accueil-propre.png") center 52%/cover no-repeat!important;min-height:650px;padding-top:150px}
.hero.hero-official h1,.hero.hero-official p,.hero.hero-official .eyebrow,.hero.hero-official .actions{visibility:visible!important}
.hero.hero-official h1{max-width:620px;text-shadow:0 2px 18px rgba(0,0,0,.28)}
.hero.hero-official p{max-width:650px;text-shadow:0 1px 12px rgba(0,0,0,.35)}
.hero.hero-official .actions{margin-top:28px!important}
@media(max-width:760px){.hero.hero-official{min-height:610px;background-position:58% center!important;padding-top:105px}.hero.hero-official h1{font-size:46px}.hero.hero-official .actions{margin-top:24px!important}}
/* V3.6 — parcours villa entière / sur mesure */
.villa-choice{margin-top:34px}.villa-choice .card .btn{margin-top:10px;color:#fff}.service-title{font-size:12px;font-weight:800;margin-bottom:10px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.service-grid label{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid #d8dfdd;border-radius:8px;font-size:14px;font-weight:600}.service-grid input{width:auto;margin:0}.form-note{font-size:12px;color:var(--muted);margin-top:10px}@media(max-width:700px){.service-grid{grid-template-columns:1fr 1fr}}

/* V3.9 : assurer le contraste des boutons de réservation */
.card .body a.btn, .card .body a.btn:visited {color:#fff !important;background-color:#086773;text-decoration:none;}
.contact-wa {background-color:#178b51!important;color:#fff!important;}
.form-error {color:#ad2424; font-size:.95rem; font-weight:700;}


/* V3.10 : photos surf sur la page expériences */
.experience-photo{width:100%;height:320px;object-fit:cover;display:block}
@media(max-width:700px){.experience-photo{height:260px}}

/* V3.12 — photo yoga Buena Onda */
.p5{background-image:url("assets/experience-yoga.jpg")!important;background-position:center 55%}


/* Buena Onda V3.13 — Experience editorial redesign */
.exp-page{overflow:hidden}.exp-page *{box-sizing:border-box}.exp-page a{text-decoration:none}
.exp-hero{height:600px;min-height:510px;position:relative;display:flex;align-items:flex-end;color:#fff}
.exp-hero>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 53%}
.exp-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,30,37,.85),rgba(8,30,37,.34) 63%,rgba(8,30,37,.07))}
.exp-hero-content{position:relative;padding:0 7vw 75px;max-width:850px}.exp-kicker{display:block;font-size:12px;letter-spacing:.23em;font-weight:800;color:#08707b;margin-bottom:18px}
.exp-hero .exp-kicker,.exp-cta .exp-kicker{color:#d8e9db}.exp-hero h1{font:normal clamp(44px,6vw,78px)/1.03 Georgia,serif;max-width:700px;margin:0 0 25px}
.exp-hero p{font-size:19px;max-width:660px;line-height:1.65;margin:0 0 28px}
.exp-button{display:inline-flex;align-items:center;gap:24px;padding:15px 23px;border-radius:5px;font-size:14px;font-weight:800}
.exp-button-white{background:#fff;color:#174b50}.exp-button-outline{border:1px solid rgba(255,255,255,.8);color:#fff}
.exp-intro,.exp-discover{padding:95px 7vw}.exp-intro{text-align:center}
.exp-intro h2,.exp-discover h2{font:normal clamp(33px,4vw,54px)/1.14 Georgia,serif;margin:0 0 18px}
.exp-intro>p{max-width:680px;margin:0 auto 48px;color:#5d7372;font-size:17px}
.exp-navcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;text-align:left}
.exp-navcards a{display:block;border-radius:10px;overflow:hidden;box-shadow:0 8px 25px #0a22221a;background:#fff}
.exp-navcards img{width:100%;height:270px;display:block;object-fit:cover;transition:transform .25s}
.exp-navcards a:hover img{transform:scale(1.035)}
.exp-navcards span{display:flex;justify-content:space-between;align-items:center;padding:20px 23px;color:#0d3444;font-weight:800;font-size:19px}
.exp-feature{display:grid;grid-template-columns:1fr 1.08fr;min-height:490px;align-items:stretch}
.exp-feature-text{align-self:center;padding:70px max(42px,7vw)}
.exp-feature-text h2{font:normal clamp(34px,4.1vw,56px)/1.13 Georgia,serif;margin:0 0 24px}
.exp-feature-text p{font-size:17px;line-height:1.75;color:#536662}
.exp-feature-text .exp-small{font-size:14px;font-weight:700;color:#335d47;margin-top:24px}
.exp-feature-photo{min-height:490px}.exp-feature-photo img{width:100%;height:100%;min-height:490px;max-height:620px;object-fit:cover;display:block}
.exp-sand{background:#faf5ed}.exp-forest{background:#ecf3ed}.exp-reverse .exp-feature-photo{grid-column:1;grid-row:1}
.exp-reverse .exp-feature-text{grid-column:2;grid-row:1}
.exp-textlink{display:inline-block;margin-top:20px;border-bottom:1px solid #08707b;padding-bottom:7px;color:#08707b;font-weight:800}
.exp-photo-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:15px 7vw 85px;background:#faf5ed}
.exp-photo-row img{display:block;width:100%;height:320px;object-fit:cover;border-radius:8px}
.exp-excursion-photos{background:#ecf3ed}
.exp-discover{background:#fff}.exp-discover-title{max-width:770px;margin-bottom:36px}.exp-discover-title p{font-size:17px;color:#5d7372;line-height:1.7}
.exp-discover-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.exp-discover figure{margin:0}.exp-discover img{width:100%;height:260px;object-fit:cover;border-radius:9px;display:block}
.exp-discover figcaption{font-size:16px;font-weight:800;margin-top:13px}
.exp-cta{text-align:center;background:#0d4650;color:#fff;padding:85px 7vw}
.exp-cta h2{font:normal clamp(36px,4.4vw,58px)/1.15 Georgia,serif;margin:0 0 18px}
.exp-cta p{max-width:650px;margin:0 auto 27px;color:#ecf6f5;font-size:17px}
.exp-cta-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin:0 0 25px}
.exp-cta small{display:block;color:#d3e1df;max-width:710px;margin:auto}
@media(max-width:850px){
 .exp-hero{height:570px}.exp-hero-content{padding:0 6vw 60px}
 .exp-intro,.exp-discover{padding:65px 6vw}
 .exp-navcards{grid-template-columns:1fr;gap:16px}.exp-navcards img{height:230px}
 .exp-feature{grid-template-columns:1fr;min-height:0}
 .exp-feature-text,.exp-reverse .exp-feature-text{grid-column:1;grid-row:1;padding:58px 6vw}
 .exp-feature-photo,.exp-reverse .exp-feature-photo{grid-column:1;grid-row:2;min-height:0}
 .exp-feature-photo img{height:340px;min-height:0}
 .exp-photo-row{padding:14px 6vw 60px}.exp-photo-row img{height:220px}
 .exp-discover-grid{grid-template-columns:1fr;gap:23px}.exp-discover img{height:240px}
}
@media(max-width:530px){
 .exp-hero h1{font-size:43px}.exp-hero p{font-size:16px}.exp-hero{height:570px}
 .exp-photo-row{grid-template-columns:1fr}.exp-photo-row img{height:255px}
 .exp-cta-actions{flex-direction:column;align-items:stretch}
 .exp-cta-actions .exp-button{justify-content:center}
}

.language-switch{max-width:76px;padding:9px 6px;background:#fff;color:#0d3444;border:1px solid #b5c9ca;border-radius:6px;font-weight:800;cursor:pointer}.mobile-language{display:none}@media(max-width:900px){.top .mobile-language{display:inline-block;max-width:64px;margin-left:8px;font-size:13px}.top{gap:9px}.top .logo{font-size:25px}.top .mobile{padding:10px 12px}}

.booking-langbar{display:flex;justify-content:space-between;align-items:center;padding:14px 7vw;background:#fff;border-bottom:1px solid #eee;font-weight:700}.booking-langbar a{text-decoration:none}
