
:root{--brand:#830000;--accent:#bc0202;--ink:#1e1c1b;--paper:#faf8f5}.class-page{background:var(--paper);color:var(--ink)}.class-hero{min-height:610px;position:relative;display:flex;align-items:end;isolation:isolate;background:#1c1716}.class-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,11,11,.92),rgba(12,11,11,.46) 60%,rgba(12,11,11,.1)),var(--class-image) center/cover no-repeat;z-index:-1}.class-hero .container{width:100%;padding-top:130px;padding-bottom:95px}.class-kicker{font:700 12px Roboto,sans-serif;letter-spacing:.21em;text-transform:uppercase;color:#e9b7b2}.class-hero h1{font:700 clamp(52px,8vw,110px)/1.05 'Playfair Display',serif;color:white;margin:14px 0 20px}.class-hero p{max-width:590px;color:#f4eeee;font-size:19px;line-height:1.7}.class-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.class-btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;border-radius:7px;background:#bc0202;color:white!important;text-decoration:none;font-weight:700}.class-btn.secondary{background:transparent;border:1px solid #ffffffaa}.class-wrap{max-width:1180px;margin:auto;padding:75px 24px}.class-heading{max-width:780px;margin-bottom:34px}.class-heading h2{font:700 clamp(30px,4vw,52px)/1.18 'Playfair Display',serif;margin:10px 0 16px}.class-heading p{line-height:1.8;color:#56504e}.class-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.class-feature{padding:30px 26px;background:white;border:1px solid #e8e0dc;border-radius:12px;box-shadow:0 7px 24px #25141408}.class-feature .number{font:700 13px Roboto;color:#bc0202;letter-spacing:.15em}.class-feature h3{font:700 23px 'Playfair Display',serif;margin:15px 0 10px}.class-feature p{color:#5f5753;line-height:1.65;margin:0}.class-gallery{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center;background:#f1e9e4;padding:34px;border-radius:16px}.class-gallery img{width:100%;height:340px;object-fit:cover;border-radius:10px}.class-gallery h2{font:700 38px 'Playfair Display',serif}.class-gallery p{line-height:1.8}.class-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.class-switch a{background:white;border:1px solid #e6dad5;padding:24px;text-decoration:none;color:#28201d;border-radius:12px}.class-switch a.active{border:2px solid #bc0202}.class-switch small{display:block;color:#bc0202;letter-spacing:.12em;font-weight:700;margin-bottom:8px}.class-switch strong{font:700 25px 'Playfair Display',serif}.class-book{background:#830000;color:white;text-align:center;padding:75px 24px}.class-book h2{font:700 44px 'Playfair Display',serif;color:white}.class-book p{color:#f4e5e5;max-width:670px;margin:15px auto 25px;line-height:1.7}.class-note{font-size:13px;color:#786c68;margin-top:18px}.class-book .class-btn{background:white;color:#830000!important}@media(max-width:800px){.class-features{grid-template-columns:repeat(2,1fr)}.class-gallery{grid-template-columns:1fr}.class-switch{grid-template-columns:1fr}.class-hero{min-height:530px}}@media(max-width:520px){.class-features{grid-template-columns:1fr}.class-hero .container{padding-bottom:60px}.class-hero p{font-size:17px}}

/* V31: galería y formulario visibles en cada clase */
.class-hero.hero-with-carousel{background:#280507!important;isolation:isolate;overflow:hidden}
.class-hero.hero-with-carousel:before{content:none}
.class-hero.hero-with-carousel .hero-carousel{z-index:-1}
.class-hero.hero-with-carousel .hero-carousel:before{background:linear-gradient(90deg,rgba(12,11,11,.9),rgba(12,11,11,.48) 65%,rgba(12,11,11,.16))}
.class-hero.hero-with-carousel .container{position:relative;z-index:2;padding-bottom:120px}
.class-page .booking-wrap{position:sticky;top:10px;max-height:calc(100dvh - 20px);overflow-y:auto;overscroll-behavior:contain;margin-top:-55px;margin-bottom:35px;scroll-margin-top:20px}
.class-page .booking-wrap.is-compact:not(.is-expanded) .booking-details{display:none}
.class-page .booking-wrap.is-compact.is-expanded .booking-details{display:block}
.class-page .hero-carousel-controls{bottom:22px}
@media(max-width:600px){.class-page .booking-wrap{margin-top:-20px}.class-hero.hero-with-carousel .container{padding-bottom:110px}}
