/* ── Rooms, legal pages and the riad walk (rooms.css) ── */

/* Room page: intro */
.room-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:8%;align-items:end;padding:110px 9% 90px;max-width:1600px;margin:auto}
.room-intro h2{font-size:clamp(40px,4.6vw,72px);margin:24px 0 28px}
.room-lead{font-size:19px;line-height:1.75;max-width:620px}
.room-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 30px;margin-top:36px}
.room-text-link{font-size:13px;text-decoration:underline;text-decoration-color:var(--terracotta);text-underline-offset:6px;transition:color .3s}
.room-text-link:hover{color:var(--terracotta)}
.room-facts{display:grid;grid-template-columns:1fr 1fr;margin:0;border-top:1px solid #293c3630}
.room-facts>div{padding:26px 0 24px;border-bottom:1px solid #293c3630}
.room-facts>div:nth-child(odd){padding-right:20px;border-right:1px solid #293c3630}
.room-facts>div:nth-child(even){padding-left:26px}
.room-facts dt{font:600 10px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--terracotta)}
.room-facts dd{margin:10px 0 0;font:300 clamp(26px,2.4vw,36px)/1.15 var(--serif);color:var(--green)}

/* Room page: gallery */
.room-gallery{padding:0 7% 100px;max-width:1600px;margin:auto}
.room-gallery-grid{display:grid;gap:14px;grid-template-columns:1.6fr 1fr;grid-template-rows:repeat(2,clamp(220px,23vw,360px))}
.room-gallery-grid[data-count="4"]{grid-template-columns:1.5fr 1fr 1fr}
.room-gallery-grid .gallery-tile{margin:0;height:100%;cursor:zoom-in;background:#dddcd2}
.room-gallery-grid .gallery-tile img,.room-gallery-grid .gallery-tile:nth-child(3n+1) img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.room-gallery-grid .gallery-tile:hover img,.room-gallery-grid .gallery-tile:focus-visible img{transform:scale(1.05)}
.room-gallery-grid .gallery-tile:first-child{grid-row:span 2}
.room-gallery-grid[data-count="4"] .gallery-tile:nth-child(2){grid-column:span 2}
.room-gallery-grid .gallery-tile span{opacity:0;transition:opacity .4s}
.room-gallery-grid .gallery-tile:hover span,.room-gallery-grid .gallery-tile:focus-visible span{opacity:1}
.room-gallery-hint{margin-top:18px;font-size:12px;opacity:.7}

/* Room page: equipment and practical details */
.room-details{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:6%;padding:100px 8%;background:#e6e4dc;box-shadow:0 0 0 100vmax #e6e4dc;clip-path:inset(0 -100vmax)}
.room-details h2{font-size:clamp(36px,3.6vw,56px);margin-top:24px}
.room-amenities{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;column-gap:30px;align-content:start}
.room-amenities li{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid #293c3624;font-size:15px}
.room-amenities li:before{content:'+';color:var(--terracotta);font:300 18px/1.1 var(--sans)}
.room-rules ul{list-style:none;padding:0;margin:20px 0 0}
.room-rules li{padding:14px 0;border-bottom:1px solid #293c3624;font-size:15px}
.room-rules strong{display:block;font:400 20px var(--serif);color:var(--green);margin-bottom:4px}

/* Room page: other rooms */
.room-others{padding:110px 7% 40px;max-width:1600px;margin:auto}
.room-others-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}
.room-others-head h2{font-size:clamp(36px,3.8vw,58px);margin-top:22px}
.room-others-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.room-mini{display:block}
.room-mini-photo{height:clamp(260px,26vw,400px);overflow:hidden}
.room-mini-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.room-mini:hover .room-mini-photo img{transform:scale(1.05)}
.room-mini span{display:block;margin-top:18px;font:600 10px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--terracotta)}
.room-mini h3{font-size:30px;margin-top:8px}

/* Chambres page: groups and card actions */
.rooms-group-head{padding:40px 8% 55px;max-width:1700px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end}
.rooms-group-head h2{font-size:clamp(38px,4.2vw,64px);margin-top:22px}
.rooms-group-head p{font-size:17px;max-width:460px}
.collection-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.room-book-link{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-decoration:underline;text-decoration-color:var(--terracotta);text-underline-offset:6px;transition:color .3s}
.room-book-link:hover{color:var(--terracotta)}

/* Legal pages */
.legal-copy ul{margin:0 0 16px;padding-left:20px}
.legal-copy li{font-size:17px;margin-bottom:8px}
.legal-copy a{text-decoration:underline;text-decoration-color:var(--terracotta);text-underline-offset:4px}
.legal-fill{background:#b95c4718;color:var(--terracotta);padding:0 5px;border-radius:3px;white-space:nowrap}
.legal-updated{font-size:13px;opacity:.75;margin-top:18px}

/* Le riad: horizontal walk through the house */
:root .riad-walk .eyebrow{color:#e2a593}
.riad-walk{position:relative;background:var(--green);color:var(--paper);overflow:clip}
.riad-walk-sticky{position:relative;padding:95px 0 80px}
.riad-walk-track{display:flex;align-items:center;gap:clamp(28px,4vw,70px);padding:0 7vw;will-change:transform}
.riad-walk-head{flex:0 0 min(430px,34vw)}
.riad-walk-head h2{font-size:clamp(40px,4.4vw,70px);margin:24px 0}
.riad-walk-head p{font-size:17px;max-width:360px;color:#e9e6dd}
.riad-walk-hint{display:inline-flex;align-items:center;gap:12px;margin-top:30px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#e2a593}
.riad-walk-hint:after{content:'';width:46px;height:1px;background:currentColor}
.riad-walk-item{flex:0 0 auto;margin:0;transform:translateY(var(--y,0))}
.riad-walk-photo{height:var(--h,60vh);aspect-ratio:2/3;overflow:hidden;background:#1f2f2a}
.riad-walk-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.14);will-change:transform}
.riad-walk-item figcaption{margin-top:18px;max-width:300px}
.riad-walk-item strong{display:block;font:400 24px var(--serif)}
.riad-walk-item figcaption span{font-size:14px;color:#cfd8d0}
.riad-walk-progress{position:absolute;left:7vw;right:7vw;bottom:42px;height:1px;background:#ffffff2e}
.riad-walk-progress i{position:absolute;inset:0;background:var(--terracotta);transform:scaleX(0);transform-origin:left}
.riad-walk.is-pinned .riad-walk-sticky{position:sticky;top:0;height:100vh;height:100svh;padding:0;display:flex;align-items:center;overflow:hidden}
.riad-walk:not(.is-pinned) .riad-walk-track{overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:7vw;padding-bottom:26px;scrollbar-width:thin}
.riad-walk:not(.is-pinned) .riad-walk-item,.riad-walk:not(.is-pinned) .riad-walk-head{scroll-snap-align:start}
.riad-walk:not(.is-pinned) .riad-walk-item{transform:none}
.riad-walk:not(.is-pinned) .riad-walk-photo{height:min(var(--h,60vh),520px)}
.riad-walk:not(.is-pinned) .riad-walk-photo img{transform:none}
.riad-walk:not(.is-pinned) .riad-walk-progress{display:none}

@media(max-width:1050px){
 .room-intro{grid-template-columns:1fr;gap:45px;padding:90px 7% 70px}
 .room-details{grid-template-columns:1fr 1fr;gap:45px 6%}
 .room-details-head{grid-column:1/-1}
 .room-others-grid{grid-template-columns:1fr 1fr}
 .room-others-grid .room-mini:nth-child(3){display:none}
 .rooms-group-head{grid-template-columns:1fr;gap:20px}
}
@media(max-width:760px){
 .room-intro{padding:65px 7% 55px}
 .room-intro h2{font-size:38px}
 .room-lead{font-size:17px}
 .room-actions .pill{width:100%}
 .room-facts dd{font-size:24px}
 .room-facts>div:nth-child(even){padding-left:16px}
 .room-gallery{padding:0 6% 70px}
 .room-gallery-grid,.room-gallery-grid[data-count="4"]{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-rows:150px;gap:10px}
 .room-gallery-grid .gallery-tile:first-child{grid-column:span 2;grid-row:span 2}
 .room-gallery-grid[data-count="4"] .gallery-tile:nth-child(2){grid-column:auto}
 .room-gallery-grid[data-count="4"] .gallery-tile:nth-child(4){grid-column:span 2}
 .room-gallery-grid .gallery-tile span{opacity:1}
 .room-details{grid-template-columns:1fr;padding:65px 7%}
 .room-amenities{grid-template-columns:1fr}
 .room-others{padding:70px 6% 20px}
 .room-others-head{display:block}
 .room-others-grid{grid-template-columns:1fr}
 .room-others-grid .room-mini:nth-child(3){display:block}
 .rooms-group-head{padding:20px 7% 35px}
 .rooms-group-head h2{font-size:36px}
 .riad-walk-sticky{padding:70px 0 60px}
 .riad-walk-head{flex-basis:78vw}
 .riad-walk-photo{height:min(var(--h,60vh),440px)}
 .riad-walk-item figcaption{max-width:240px}
}
@media(prefers-reduced-motion:reduce){
 .room-gallery-grid .gallery-tile img,.room-mini-photo img{transition:none}
}
