@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--forest:#32483e;--dark:#23352e;--gold:#bd8e46;--cream:#f6f3ec;--paper:#fffefa;--text:#2e3932;--muted:#68726a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--text);background:var(--paper);line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:100;background:white;padding:8px}.header{position:relative;z-index:5;background:#fff;box-shadow:0 2px 18px #0000000b}.nav{display:flex;align-items:center;gap:28px;min-height:96px}.brand{display:flex;align-items:center;width:174px;flex-shrink:0}.brand img{max-height:76px;width:100%;object-fit:contain;object-position:left}.navlinks{display:flex;gap:25px;align-items:center;margin-left:auto;font-size:13px;font-weight:600}.navlinks a:hover,.text-link:hover{color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:14px 24px;font-size:13px;font-weight:700;border-radius:3px;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--forest);color:white}.btn-gold{background:var(--gold);color:white}.btn-outline{border:1px solid #ffffffc4;color:white}.menu-toggle{display:none}.hero{height:min(740px,82vh);min-height:570px;position:relative;background:#405a4c;color:white;display:flex;align-items:center;overflow:hidden}.hero-photo,.hero-overlay{position:absolute;inset:0}.hero-img{width:100%;height:100%;object-fit:cover}.hero-overlay{background:linear-gradient(90deg,#152a21e0 0%,#1c3525a8 45%,#1c35252b 100%)}.hero-content{position:relative;z-index:1;padding-bottom:45px}.eyebrow{font-size:11px;letter-spacing:2.6px;font-weight:700;color:var(--gold)}.eyebrow.light{color:#e6c996}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.15}h1{font-size:clamp(48px,6vw,84px);max-width:850px;margin:24px 0}h1 em,h2 em{font-weight:400}h2{font-size:clamp(36px,4.3vw,58px);margin:15px 0 26px}h3{font-size:28px;margin:9px 0 14px}.hero-content>p{font-size:18px;max-width:590px;color:#f3f2ed}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.hero-bottom{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);font-size:12px;letter-spacing:1px;color:#fff;z-index:1;white-space:nowrap}.hero-bottom span{margin-left:18px}.section{padding:110px 0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px}.intro-grid p{color:var(--muted)}.text-link{font-weight:700;font-size:13px;color:var(--forest);border-bottom:1px solid var(--gold);padding-bottom:6px;display:inline-block}.cream{background:var(--cream)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:42px}.section-heading p{max-width:350px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.stay-card{background:white;box-shadow:0 8px 32px #283b2910}.card-image{height:260px;display:block;position:relative;overflow:hidden}.cover{width:100%;height:100%;object-fit:cover}.card-pill{position:absolute;bottom:16px;left:16px;background:#fff;color:var(--forest);padding:7px 13px;font-size:11px;font-weight:700;border-radius:2px}.card-body{padding:28px}.card-body p{font-size:14px;color:var(--muted);min-height:72px}.experience{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.experience-photo{height:570px}.experience-text p{color:var(--muted)}.feature{display:flex;gap:20px;margin-top:24px;align-items:flex-start}.feature>span{color:var(--gold);font-size:24px}.feature strong,.feature small{display:block}.feature small{color:var(--muted)}.olive{background:#edf0e9}.secondary-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.secondary-photo{height:320px;width:100%;object-fit:cover;margin-bottom:22px}.secondary-grid p{color:var(--muted)}.destination{text-align:center}.center{max-width:770px;text-align:center}.center p{color:var(--muted);margin:0 auto 30px}.cta{padding:95px 0;background:var(--forest);color:white}.cta h2{font-size:clamp(38px,4.5vw,62px)}.cta p{color:#dce6dd}.cta small{display:block;margin-top:25px;color:#c6d3c9}.footer{background:var(--dark);color:#e4eae4;padding:65px 0 20px}.footgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:80px}.footlogo{max-width:180px;max-height:100px;object-fit:contain;object-position:left}.footer p{color:#bcc9bf;font-size:14px}.footer h3{font:700 13px 'DM Sans',sans-serif;letter-spacing:1px;text-transform:uppercase}.footer a{display:block;margin:10px 0;color:#cbd5ce;font-size:14px}.copyright{border-top:1px solid #ffffff22;margin-top:45px;padding-top:18px;color:#acbcb0;font-size:12px}.photo-missing{background:linear-gradient(145deg,#82958b,#465e50);display:flex;align-items:center;justify-content:center;color:#f5eee0;text-align:center;padding:20px}.photo-missing span{font-size:12px;letter-spacing:1px;text-transform:uppercase;border:1px solid #ffffff55;padding:14px;max-width:210px}.hero .photo-missing{height:100%;width:100%}.hero .photo-missing span{display:none}@media(max-width:950px){.nav{min-height:76px}.navlinks{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:24px;box-shadow:0 10px 20px #0002;flex-direction:column}.navlinks.open{display:flex}.menu-toggle{display:block;margin-left:auto;border:0;background:transparent;font-weight:700}.navcta{display:none}.cards{grid-template-columns:1fr 1fr}.intro-grid,.experience{gap:35px}}@media(max-width:650px){.wrap{width:min(100% - 32px,1180px)}.section{padding:68px 0}.hero{min-height:590px;height:80vh}.hero-content{padding-bottom:30px}.hero-content>p{font-size:16px}.hero-bottom{font-size:10px}.intro-grid,.experience,.secondary-grid,.cards,.footgrid{grid-template-columns:1fr}.section-heading{display:block}.experience-photo{height:360px}.footgrid{gap:30px}.card-image{height:250px}.card-body p{min-height:0}}

/* V2 visuelle : photos authentiques, micro-interactions, accessibilité */
.card-image img,.experience-photo img,.secondary-grid img{transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.stay-card:hover .card-image img{transform:scale(1.045)}
.card-image{background:#d7d8cf}.experience-photo{overflow:hidden;background:#e5e8e1}.experience-photo img{height:100%;width:100%;object-fit:cover}.secondary-grid img{background:#d7d8cf}
.hero-photo img{filter:saturate(.86)}.stay-card{transition:transform .25s,box-shadow .25s}.stay-card:hover{transform:translateY(-4px);box-shadow:0 16px 42px #283b2920}
a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* V2.3 — page gîte */
.crumb{padding-top:18px;padding-bottom:18px;font-size:12px;color:var(--muted)}.crumb span{margin-left:8px}.gite-hero{position:relative;min-height:600px;display:flex;align-items:center;color:#fff;background:var(--forest);overflow:hidden}.gite-hero-img,.gite-hero-shade{position:absolute;inset:0}.gite-hero-img img{width:100%;height:100%;object-fit:cover}.gite-hero-shade{background:linear-gradient(90deg,#132a20e8 0%,#1b3424a0 55%,#1b342433 100%)}.gite-hero-content{position:relative;z-index:1;padding:85px 0}.gite-hero h1{max-width:820px}.gite-hero p{max-width:590px;font-size:18px}.gite-facts{background:var(--forest);color:#fff;padding:28px 0}.facts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.facts-grid>div{text-align:center;border-right:1px solid #ffffff35}.facts-grid>div:last-child{border:0}.facts-grid strong{display:block;font:500 30px Georgia,serif}.facts-grid span{display:block;font-size:12px;color:#d9e5db}.small-note{font-size:12px;color:var(--muted);line-height:1.6}.gite-amenities{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gite-amenities article{background:white;padding:34px 30px;border-top:3px solid var(--gold)}.gite-amenities p{color:var(--muted);font-size:14px}.amenity-number{color:var(--gold);font-size:12px;letter-spacing:2px}.gite-gallery,.gite-conditions,.gite-nearby{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.gite-gallery p,.gite-conditions p,.gite-nearby p{color:var(--muted)}.gallery-feature{height:440px;overflow:hidden;background:#dce1d8}.gallery-feature img{width:100%;height:100%;object-fit:cover}.conditions-panel{background:white;padding:38px;box-shadow:0 12px 45px #283b2910}.conditions-panel dl{margin:0 0 24px}.conditions-panel dl div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #e7e8e3;padding:13px 0}.conditions-panel dt{color:var(--muted)}.conditions-panel dd{margin:0;font-weight:700;text-align:right}.nearby-links a{display:flex;justify-content:space-between;padding:22px 0;border-bottom:1px solid #e0e4dc;font-weight:600}.nearby-links span{color:var(--gold)}@media(max-width:760px){.gite-hero{min-height:560px}.gite-hero h1{font-size:clamp(42px,9vw,65px)}.facts-grid{grid-template-columns:repeat(2,1fr)}.facts-grid>div:nth-child(2){border:0}.gite-amenities,.gite-gallery,.gite-conditions,.gite-nearby{grid-template-columns:1fr}.gite-gallery,.gite-conditions,.gite-nearby{gap:30px}.gallery-feature{height:320px}}

/* V2.4 : correction des proportions et renforcement de la grille */
body{font-size:16px} .wrap{width:min(1240px,calc(100% - 80px))}
.header .nav{min-height:92px}.brand{width:190px}.brand img{max-height:76px}
.crumb{padding-block:15px}.gite-hero{min-height:clamp(590px,68vh,760px)}
.gite-hero-img img{width:100%;height:100%;object-fit:cover}
.gite-hero-content{padding-block:120px}.gite-hero h1{font-size:clamp(52px,5.5vw,86px);max-width:760px}
.gite-hero-content>p{line-height:1.75;font-size:19px;color:#f7f5ef}
.gite-facts{padding:34px 0}.facts-grid strong{font-size:36px}
.section{padding:100px 0}.intro-grid{grid-template-columns:1fr 1fr;gap:100px;align-items:start}
.intro-grid p,.gite-gallery p,.gite-conditions p,.gite-nearby p{font-size:16px;line-height:1.85}
.gite-amenities{gap:22px}.gite-amenities article{border-radius:2px;box-shadow:0 12px 30px #263a2d0b;min-height:320px;padding:36px}
.gite-amenities h3{font-size:29px}.gite-amenities p{font-size:15px;line-height:1.8}
.gallery-feature{height:510px;border-radius:3px}.gite-gallery{gap:85px}
.conditions-panel{border-top:4px solid var(--gold)}.nearby-links a{font-size:16px}
@media(max-width:950px){.wrap{width:calc(100% - 48px)}.intro-grid,.gite-gallery,.gite-conditions,.gite-nearby{gap:36px}.gite-amenities{grid-template-columns:1fr 1fr}.gite-amenities article{min-height:0}}
@media(max-width:700px){.wrap{width:calc(100% - 32px)}.header .nav{min-height:76px}.brand{width:146px}.gite-hero{min-height:600px}.gite-hero-content{padding-block:90px}.gite-hero h1{font-size:clamp(43px,10vw,65px)}.gite-hero-content>p{font-size:16px}.gite-amenities,.intro-grid,.gite-gallery,.gite-conditions,.gite-nearby{grid-template-columns:1fr}.gite-amenities article{padding:28px}.section{padding:70px 0}.gallery-feature{height:330px}.facts-grid strong{font-size:28px}}

/* V2.5 - équipements, galerie modale, saisons */
.equipment-section{background:#fff}.equipment-intro{color:var(--muted);max-width:650px}.equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.equipment-group{background:var(--cream);padding:30px;border-top:3px solid var(--gold)}.equipment-group h3{font-size:24px}.equipment-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;list-style:none;margin:0;padding:0}.equipment-list li{display:flex;align-items:center;gap:9px;font-size:12px;line-height:1.35}.equipment-list img{width:40px;height:40px;object-fit:contain;flex:none}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.gallery-thumb{display:block;position:relative;text-align:left;border:0;padding:0;background:white;cursor:zoom-in;box-shadow:0 6px 22px #00000012;overflow:hidden}.gallery-thumb>img{width:100%;height:230px;object-fit:cover;transition:transform .25s}.gallery-thumb:hover>img{transform:scale(1.035)}.gallery-caption{display:block;padding:14px 17px;font-size:13px}.gallery-zoom{position:absolute;right:12px;top:180px;background:var(--gold);color:white;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:30px}.lightbox{position:fixed;inset:0;z-index:9999;background:#09140feF;display:none;align-items:center;justify-content:center;gap:20px;padding:70px 18px 30px}.lightbox.open{display:flex}.lightbox figure{margin:0;max-width:min(1050px,80vw)}.lightbox figure img{max-height:78vh;max-width:100%;width:auto;margin:auto;object-fit:contain}.lightbox figcaption{text-align:center;color:white;margin-top:12px}.lightbox button{background:#ffffffdd;border:0;border-radius:3px;cursor:pointer;font-size:30px;min-width:45px;min-height:45px}.lightbox-close{position:absolute;right:22px;top:18px}.tariff-warning{padding:15px 20px;border-left:4px solid var(--gold);background:var(--cream);font-size:14px}.tariff-scroll{overflow-x:auto}.tariff-table{border-collapse:collapse;width:100%;min-width:670px;margin:24px 0}.tariff-table caption{text-align:left;font-size:13px;color:var(--muted);padding-bottom:8px}.tariff-table th,.tariff-table td{padding:20px 15px;text-align:center;border:1px solid #e4e7df}.tariff-table thead th{background:var(--forest);color:#fff;font-size:14px}.tariff-table tbody th{text-align:left;background:var(--cream)}.tariff-table tbody td{font-weight:700;font-size:18px}@media(max-width:850px){.equipment-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:550px){.equipment-list{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:1fr}.lightbox{gap:5px;padding-inline:8px}.lightbox figure{max-width:calc(100vw - 110px)}.lightbox button{min-width:38px}}

/* V2.6: taille des pictos verrouillée, même en présence d'un CSS tiers */
.equipment-section .equipment-list > li > img{display:block!important;width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;max-height:40px!important;object-fit:contain!important;flex:0 0 40px!important}
.equipment-section .equipment-list > li{min-width:0;align-items:center}
.equipment-section .equipment-list > li > span{overflow-wrap:anywhere}
@media(max-width:700px){.equipment-section .equipment-grid{grid-template-columns:1fr}.equipment-section .equipment-list{grid-template-columns:repeat(2,minmax(0,1fr))}.equipment-section .equipment-group{padding:20px}}
@media(max-width:400px){.equipment-section .equipment-list{grid-template-columns:1fr}}

/* V2.7 : panneaux d'équipements compacts et galerie interactive */
.equipment-section .equipment-intro{max-width:880px;font-size:16px;line-height:1.85;margin-bottom:32px}
.equipment-tabs{display:flex;flex-wrap:wrap;gap:10px;border-bottom:1px solid #dcded5;padding-bottom:14px;margin-bottom:24px}
.equipment-tab{border:1px solid #dcded5;background:#fff;color:var(--forest);padding:14px 20px;font:600 14px inherit;cursor:pointer;transition:background .2s,color .2s}
.equipment-tab[aria-selected="true"]{background:var(--forest);border-color:var(--forest);color:#fff}
.equipment-panel{background:var(--cream);border-top:3px solid var(--gold);padding:28px 32px}.equipment-panel[hidden],.lightbox[hidden]{display:none!important}
.equipment-panel h3{font-size:23px;margin:0 0 20px}.equipment-panel .equipment-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.equipment-panel .equipment-list li{font-size:13px;line-height:1.45;align-items:center}
.amenity-detail-link{display:inline-flex;gap:10px;margin-top:14px;color:var(--forest);font-weight:700;font-size:14px;border-bottom:1px solid var(--gold);padding-bottom:5px}
.gallery-thumb{cursor:zoom-in}.gallery-thumb:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
@media(max-width:850px){.equipment-panel .equipment-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.equipment-tab{flex:1 1 calc(50% - 10px);padding:12px 8px}.equipment-panel{padding:20px 15px}.equipment-panel .equipment-list{grid-template-columns:1fr}}

/* V2.8 : grille tarifaire en colonnes, sans débordement horizontal */
.tariff-matrix{max-width:900px;margin:30px auto 0;background:#fff;padding:8px 8px 18px}
.tariff-periods,.tariff-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;text-align:center}
.tariff-corner,.tariff-row-label{display:none}
.tariff-period{background:var(--forest);color:#fff;font-size:clamp(11px,1.5vw,15px);line-height:1.45;padding:14px 4px}
.tariff-band{background:var(--gold);color:white;text-align:center;padding:10px 6px;margin:4px 0 0;font-size:clamp(12px,1.6vw,15px)}
.tariff-values{padding:13px 0}.tariff-value{font-size:clamp(17px,2.5vw,29px);font-weight:650;color:#17231d;white-space:nowrap;padding:7px 0}
.tariff-tax{text-align:center;font-style:italic;margin:12px 0 38px;font-size:14px}
.stay-extras{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:40px 0 32px}.stay-extras>div{background:var(--cream);padding:30px}.stay-extras h3{font-size:25px;margin:0 0 14px}.stay-extras p{font-size:15px;line-height:1.65}.stay-fineprint{font-size:13px!important}.ancv-logo{max-width:155px;max-height:80px;object-fit:contain;margin-top:12px}.extras-list{margin:0}.extras-list>div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #ddd;padding:10px 0;font-size:14px}.extras-list dt{flex:1}.extras-list dd{margin:0;font-weight:700;white-space:nowrap}
@media(max-width:700px){.stay-extras{grid-template-columns:1fr;gap:16px}.stay-extras>div{padding:22px}.tariff-matrix{padding:4px}.tariff-period{padding:11px 2px}.tariff-value{letter-spacing:-.6px}}
@media(max-width:370px){.tariff-value{font-size:15px}.tariff-period{font-size:10px}}

/* V3.0 : deux colonnes égales sur ordinateur, empilement dès tablette. */
.gite-tariff-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:start;margin:28px 0 28px}
.gite-tariff-main,.gite-tariff-aside{min-width:0}
.gite-tariff-main .tariff-matrix{max-width:none;width:100%;margin:0;padding:8px 0 12px}
.gite-tariff-main .tariff-period{font-size:clamp(10px,1.05vw,14px);padding:12px 2px}
.gite-tariff-main .tariff-band{font-size:13px}
.gite-tariff-main .tariff-value{font-size:clamp(15px,1.75vw,24px)}
.gite-tariff-main .tariff-tax{text-align:left;margin:8px 0 0}
.gite-tariff-aside .stay-extras{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:0}
.gite-tariff-aside .stay-extras>div{padding:24px}
@media(max-width:1023px){.gite-tariff-layout{grid-template-columns:minmax(0,1fr);gap:22px}.gite-tariff-main .tariff-matrix{max-width:900px;margin:0 auto}.gite-tariff-main .tariff-period{font-size:clamp(11px,1.5vw,15px)}.gite-tariff-main .tariff-value{font-size:clamp(16px,2.5vw,29px)}}
@media(max-width:400px){.gite-tariff-main .tariff-value{font-size:15px}.gite-tariff-aside .stay-extras>div{padding:18px}}

/* Chambres d'hôtes — pages dédiées */
.room-hero{position:relative;min-height:480px;display:flex;align-items:end;background:#30473e;overflow:hidden;color:white}.room-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.room-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,37,30,.84),rgba(19,37,30,.12))}.room-hero .wrap{position:relative;z-index:1;padding-top:100px;padding-bottom:70px}.room-hero h1{color:white;max-width:800px;font-size:clamp(2.2rem,5vw,4.3rem);line-height:1.1}.room-hero p{color:#f6f2e8;max-width:680px;font-size:1.13rem}.room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.room-card{background:white;border:1px solid #e9e5dc;overflow:hidden;border-radius:5px}.room-card img{display:block;width:100%;height:300px;object-fit:cover}.room-card-content{padding:30px}.room-card h2{margin-top:5px}.room-panel{background:#f5f2eb;padding:30px;border-radius:3px}.room-info{display:grid;grid-template-columns:1fr 1fr;gap:28px}.room-tariffs{width:100%;border-collapse:collapse;text-align:left}.room-tariffs th{background:#334c40;color:#fff;padding:13px 12px}.room-tariffs td{border-bottom:1px solid #d8d5cc;padding:13px 12px}.room-tariffs tbody tr:nth-child(even){background:#f5f2eb}.room-photo{width:100%;height:360px;object-fit:cover;border-radius:3px}.room-kicker{color:#a57e39;font-weight:700;letter-spacing:.11em;text-transform:uppercase;font-size:.8rem}.room-points{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.room-points span{padding:9px 13px;background:#f5f2eb;border-radius:3px}.room-note{font-size:.91rem;color:#4a524c}.room-price{font-size:1.2rem;font-weight:700;color:#334c40}@media(max-width:900px){.room-grid,.room-info{grid-template-columns:1fr}.room-hero{min-height:400px}.room-card img{height:250px}}

/* Page d’entrée chambres : fiches horizontales compactes */
.room-list{display:flex;flex-direction:column;gap:22px;margin-top:28px}
.room-card-horizontal{display:grid;grid-template-columns:minmax(0,42%) minmax(0,58%);align-items:stretch}
.room-card-horizontal .room-card-media{display:block;min-height:255px;overflow:hidden}
.room-card-horizontal .room-card-media img{width:100%;height:100%;min-height:255px;object-fit:cover}
.room-card-horizontal .room-card-content{padding:26px 32px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.room-card-horizontal h3{font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.18;margin:8px 0 10px;color:#30473e}
.room-card-horizontal p{margin:0 0 12px}
.room-card-horizontal .btn{margin-top:5px}
@media(max-width:767px){.room-card-horizontal{grid-template-columns:1fr}.room-card-horizontal .room-card-media,.room-card-horizontal .room-card-media img{min-height:0;height:235px}.room-card-horizontal .room-card-content{padding:23px}}

/* V3.5 – chambres : galerie et équipements issus des pages historiques */
.heritage-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;margin:1.5rem 0 2.5rem}.heritage-gallery-item{display:block;color:inherit;text-decoration:none;min-width:0}.heritage-gallery-photo{display:block;width:100%;height:260px;object-fit:cover;border-radius:4px}.heritage-gallery-item span{display:block;padding:.65rem 0;font-weight:600}.heritage-common{grid-template-columns:repeat(3,minmax(0,1fr))}.heritage-common .heritage-gallery-photo{height:175px}.heritage-equipment{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem 1.2rem;padding:0;margin:1.4rem 0 3rem;list-style:none}.heritage-equipment li{padding:.7rem .8rem;background:#f5f2ea;border-left:3px solid #b99358;font-size:.92rem}@media(max-width:900px){.heritage-equipment{grid-template-columns:repeat(2,minmax(0,1fr))}.heritage-common{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.heritage-gallery,.heritage-common,.heritage-equipment{grid-template-columns:1fr}.heritage-gallery-photo,.heritage-common .heritage-gallery-photo{height:auto;aspect-ratio:4/3;object-fit:cover}}

/* V3.6 – galerie premium, bandeau récapitulatif et menu intelligent */
.room-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.room-gallery .gallery-thumb{min-width:0}.room-gallery .gallery-thumb img{width:100%;height:240px;object-fit:cover}.room-common .gallery-thumb img{height:200px}.room-equipment-icon{color:var(--gold);font-size:1.3em;margin-right:10px;font-weight:700}.gite-facts small{font-size:.72em}.room-hero .actions{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px}.header{position:sticky;top:0;z-index:1000;transition:transform .25s ease,box-shadow .25s ease;will-change:transform}.header.nav-hidden{transform:translateY(-105%)}.header.nav-visible{transform:translateY(0);box-shadow:0 6px 24px rgba(0,0,0,.12)}.equipment-panel[hidden]{display:none!important}@media(max-width:767px){.room-gallery{grid-template-columns:1fr 1fr}.room-gallery .gallery-thumb img{height:180px}}@media(max-width:520px){.room-gallery{grid-template-columns:1fr}.room-gallery .gallery-thumb img{height:220px}}

/* V3.7 : bandeaux récapitulatifs et navigation hébergements */
.facts-grid .fact-price{font-size:clamp(26px,2.5vw,38px);line-height:1.25}
.room-real-icon{width:40px;height:40px;max-width:40px;object-fit:contain;flex:0 0 40px}
.nav-dropdown{position:relative}.nav-dropdown-toggle{border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;cursor:pointer;padding:12px 0}.nav-submenu{display:none;position:absolute;top:100%;left:-16px;min-width:245px;background:#fff;padding:10px;box-shadow:0 12px 35px #0002;border-top:2px solid var(--gold);z-index:1002}.nav-submenu a{display:block;padding:10px 12px;white-space:nowrap}.nav-dropdown:hover .nav-submenu,.nav-dropdown:focus-within .nav-submenu,.nav-dropdown.is-open .nav-submenu{display:block}
@media(max-width:950px){.nav-dropdown{width:100%}.nav-dropdown-toggle{width:100%;text-align:center}.nav-submenu{position:static;box-shadow:none;border-top:1px solid #e6e0d5;min-width:0;text-align:center}.nav-submenu a{white-space:normal}}

/* V3.8 : sous-menus compacts et séparation des espaces communs */
.nav-dropdown{display:flex;align-items:center;gap:3px}.nav-parent-link{white-space:nowrap}.nav-dropdown-toggle{padding:10px 4px;min-width:24px}.nav-submenu{top:calc(100% - 2px)}
.room-common-block{margin-top:clamp(60px,7vw,110px);padding-top:clamp(30px,4vw,56px);border-top:1px solid #ded8cc}.room-common-block h3{margin-top:0;margin-bottom:12px}.room-common-block p{margin-bottom:26px}.room-common{margin-top:24px}
@media(max-width:950px){.nav-dropdown{justify-content:center;flex-wrap:wrap}.nav-dropdown-toggle{width:auto;text-align:left}.nav-submenu{width:100%}}

.breakfast-icon{display:inline-flex;align-items:center;justify-content:center;background:#b79862;border-radius:50%;color:white;font-size:21px;line-height:1}
/* V3.9 — Contact & disponibilités */
.contact-hero{background:linear-gradient(110deg,#263f34,#426150);color:#fff;padding:90px 0 80px}.contact-hero h1{color:#fff;max-width:850px}.contact-hero p{color:#f0eee6;max-width:700px}.contact-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.8fr);gap:clamp(24px,5vw,76px);align-items:start}.contact-form{display:grid;gap:18px;margin-top:30px}.contact-form fieldset{border:0;padding:0;margin:0}.contact-form legend,.contact-form label{font-weight:650;font-size:14px;color:var(--forest);display:block;margin-bottom:8px}.contact-form input:not([type=radio]),.contact-form select,.contact-form textarea{width:100%;border:1px solid #d9dbd4;background:#fff;border-radius:3px;padding:13px 14px;color:#233a2e;font:inherit}.contact-form input:focus-visible,.contact-form select:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.contact-choices{display:flex;gap:12px;flex-wrap:wrap}.contact-choices label{display:flex;align-items:center;gap:8px;padding:12px 14px;border:1px solid #d9dbd4;background:var(--cream);cursor:pointer}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-calendar{background:var(--cream);padding:22px;margin:12px 0}.calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.calendar-heading h3{margin:0}.calendar-heading button{border:1px solid #d4d3c9;background:#fff;padding:4px 15px;font-size:25px;cursor:pointer}.cal-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.cal-month{min-width:0;background:#fff;padding:12px 8px;border:1px solid #e6e5df}.cal-month h4{text-align:center;font-size:15px;text-transform:capitalize;margin:0 0 14px;color:var(--forest)}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.cal-weekday{text-align:center;font-size:11px;color:#66786a;padding:6px 0}.cal-day{border:0;border-radius:3px;aspect-ratio:1;background:#e9eee7;color:#264333;cursor:pointer;font-size:12px;padding:0;min-width:0}.cal-day:hover:not(:disabled){outline:2px solid var(--gold)}.cal-day:focus-visible{outline:3px solid var(--gold)}.cal-day.is-occupied{background:#a65f56;color:#fff}.cal-day.is-selected{background:#d8bc84;color:#233b2e}.cal-day.is-edge{background:var(--forest);color:#fff}.cal-day:disabled{cursor:not-allowed;opacity:.7}.cal-legend{display:flex;gap:14px;flex-wrap:wrap;margin:16px 0;font-size:12px}.cal-legend span{display:flex;align-items:center;gap:6px}.cal-dot{display:inline-block;width:13px;height:13px}.cal-dot.available{background:#e9eee7}.cal-dot.occupied{background:#a65f56}.cal-dot.selected{background:#d8bc84}.booking-summary{padding:15px 18px;border-left:3px solid var(--gold);background:#f5f2eb;font-size:14px}.contact-notice{padding:22px;margin-top:20px}.contact-notice.success{background:#e9f1e8;border-left:4px solid #477a52}.contact-notice.error{background:#fff0ee;border-left:4px solid #b34d46}.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.contact-aside .room-panel{position:sticky;top:90px}#booking-fields[hidden]{display:none!important}@media(max-width:1100px){.cal-months{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1023px){.contact-layout{grid-template-columns:1fr}.contact-aside .room-panel{position:static}}@media(max-width:650px){.cal-months{grid-template-columns:1fr}.contact-form-grid{grid-template-columns:1fr}.contact-calendar{padding:12px}.contact-choices{flex-direction:column}.contact-hero{padding:60px 0}}

/* V4.1 — Vidéo YouTube différée au clic */
.bb-video{position:relative;aspect-ratio:16/9;max-width:980px;margin:1.5rem auto 0;overflow:hidden;border-radius:12px;background:#17392f;box-shadow:0 14px 45px rgba(0,0,0,.12)}
.bb-video-trigger{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer;position:relative}
.bb-video-trigger img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.77)}
.bb-video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:82px;height:82px;border-radius:50%;background:#bd8e46;color:white;font-size:29px;box-shadow:0 4px 24px rgba(0,0,0,.28)}
.bb-video-trigger:hover .bb-video-play,.bb-video-trigger:focus-visible .bb-video-play{background:#17392f}
.bb-video iframe{width:100%;height:100%;border:0;display:block}

/* V4.2 : accueil compact, vidéo à droite */
.home-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(35px,6vw,90px);align-items:start}.home-intro-copy h2{margin-bottom:28px}.home-intro-copy p{color:var(--muted);font-size:16px;line-height:1.85}.home-intro-media{padding-top:4px;min-width:0}.home-intro-media h3{font-size:clamp(28px,3vw,39px);margin:0 0 9px}.home-intro-media>p{color:var(--muted);margin-bottom:20px}.home-intro-media .bb-video{margin:0;width:100%;max-width:none}.home-intro-media .bb-video-play{width:66px;height:66px;font-size:24px}@media(max-width:800px){.home-intro-grid{grid-template-columns:1fr;gap:40px}}

.horse-hero{padding:105px 0 90px}.horse-hero h1{max-width:930px;font-size:clamp(44px,5.4vw,75px);margin:20px 0 22px}.horse-hero>div>p{max-width:680px;color:var(--muted);font-size:18px;line-height:1.8;margin-bottom:25px}@media(max-width:700px){.horse-hero{padding:70px 0}}
