.rates-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(3rem,8vw,8rem);background:#eee4d6}
.rates-panel{background:#fff;padding:clamp(1.5rem,4vw,3.5rem)}
.rates-table>div{display:grid;grid-template-columns:1fr auto minmax(150px,.6fr);gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line)}
.rates-table strong{font:500 1.7rem var(--serif);color:#a56a39}.rates-table small{color:var(--muted);text-align:right}
.rates-note{margin:1.5rem 0;color:#5b6663;font-size:.82rem;line-height:1.6}
.service-list{display:grid;gap:.6rem;margin:1.5rem 0 0;padding:1.2rem 0 0 1.2rem;border-top:1px solid var(--line);color:#344542;font-size:.88rem;line-height:1.55}
.room-types{display:grid;gap:clamp(6rem,11vw,11rem);overflow:hidden}.room-type{display:grid;gap:clamp(1.75rem,4vw,3.5rem);scroll-margin-top:8rem}
.room-type__heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--line);padding-bottom:1.35rem}.room-type__heading .eyebrow{margin:0 0 .55rem}.room-type__heading h2{margin:0;color:var(--dark);font:500 clamp(3.3rem,7vw,7.4rem)/.95 var(--serif);letter-spacing:-.045em;text-wrap:balance}.room-type__heading h2 em{color:var(--gold);font-weight:400}
.room-type__footer{display:flex;align-items:center;justify-content:space-between;gap:2rem}.room-type__footer p{max-width:620px;margin:0;color:var(--muted);line-height:1.75}
.editorial-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(180px,18vw,300px);gap:clamp(.5rem,1vw,1rem)}
.editorial-gallery__item{position:relative;display:block;min-width:0;overflow:hidden;background:#e7e0d6;isolation:isolate}.editorial-gallery__item--lead{grid-column:span 2;grid-row:span 2}.editorial-gallery__item--wide{grid-column:span 2}.editorial-gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.editorial-gallery__item:hover img,.editorial-gallery__item:focus-visible img{transform:scale(1.025)}.editorial-gallery__item:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.editorial-gallery--single{grid-template-columns:1fr;grid-auto-rows:minmax(560px,72vh)}
.editorial-gallery--single .editorial-gallery__item img{object-position:center 48%}
.editorial-gallery--three{grid-template-columns:minmax(0,1.55fr) minmax(0,.85fr);grid-template-rows:repeat(2,minmax(300px,38vw));grid-auto-rows:auto}
.editorial-gallery--three .editorial-gallery__item--lead{grid-column:1;grid-row:1 / span 2}
.room-type--pending{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);grid-template-areas:"title visual" "note visual";align-items:center;column-gap:clamp(3rem,8vw,8rem);padding:clamp(2rem,5vw,5rem);background:#f3eee6}.room-type--pending .room-type__heading{grid-area:title;display:block;border:0;padding:0;align-self:end}.room-type--pending .room-type__heading h2{font-size:clamp(3.2rem,5.5vw,6.5rem)}.room-type--pending .room-type__footer{grid-area:note;display:grid;justify-items:start;align-self:start}
.room-placeholder{grid-area:visual;display:grid;place-content:center;justify-items:center;min-height:clamp(420px,48vw,680px);border:1px solid #17312e30;background:linear-gradient(145deg,#e9e1d5,#f8f4ed);color:#6b7471;text-align:center}.room-placeholder span{position:relative;width:72px;height:56px;margin-bottom:1.4rem;border:1.5px solid #a2763d80}.room-placeholder span::before,.room-placeholder span::after{content:"";position:absolute;left:50%;top:50%;width:42px;height:1px;background:#a2763d80;transform-origin:center}.room-placeholder span::before{transform:translate(-50%,-50%) rotate(35deg)}.room-placeholder span::after{transform:translate(-50%,-50%) rotate(-35deg)}.room-placeholder strong{font:500 clamp(1.55rem,2.4vw,2.4rem) var(--serif);color:var(--dark)}.room-placeholder small{margin-top:.6rem;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}.room-type--reverse{grid-template-columns:minmax(0,1.28fr) minmax(260px,.72fr);grid-template-areas:"visual title" "visual note"}
@media(max-width:820px){.rates-section{grid-template-columns:1fr}.rates-table>div{grid-template-columns:1fr auto}.rates-table small{grid-column:1/-1;text-align:left}.room-type--pending,.room-type--reverse{grid-template-columns:1fr;grid-template-areas:"title" "visual" "note";padding:clamp(1.4rem,5vw,2.2rem)}.room-placeholder{min-height:clamp(320px,90vw,520px)}}
@media(max-width:700px){.room-types{gap:5.5rem}.room-type__heading{display:block;padding-bottom:1rem}.room-type__heading h2,.room-type--pending .room-type__heading h2{font-size:clamp(2.8rem,14vw,4.3rem)}.room-type__footer{display:grid;justify-items:start;gap:1.35rem}.editorial-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:42vw;gap:.5rem}.editorial-gallery--single{grid-template-columns:1fr;grid-auto-rows:minmax(480px,125vw)}.editorial-gallery--three{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(480px,125vw) minmax(260px,76vw);grid-auto-rows:auto}.editorial-gallery--three .editorial-gallery__item--lead{grid-column:1 / -1;grid-row:1}.editorial-gallery__item--lead{grid-column:span 2;grid-row:span 2}.editorial-gallery__item--wide{grid-column:span 2}.room-placeholder{min-height:105vw;max-height:540px}}

/* Griglie fotografiche compatte e senza celle vuote */
@media(min-width:1001px){.room-type__heading h2{font-size:clamp(2.65rem,5vw,5.35rem)}}
.editorial-gallery{grid-auto-flow:dense;grid-auto-rows:clamp(160px,16vw,270px)}
.editorial-gallery__item:nth-child(6n+4){grid-row:span 2}
.editorial-gallery__item:nth-child(7n+6){grid-column:span 2}
@media(max-width:700px){.editorial-gallery{grid-auto-flow:dense;grid-auto-rows:44vw}.editorial-gallery__item:nth-child(6n+4){grid-row:span 2}.editorial-gallery__item:nth-child(7n+6){grid-column:span 2}}
