
/* Better Ballroom Private Lessons page.
   Header/footer markup intentionally matches the existing Better Ballroom site.
   Page-specific classes are prefixed bbp- to avoid collisions with assets/style.css. */
.bbp-hero{background:#f7f3ea}
.bbp-hero-grid{display:grid;grid-template-columns:1fr 1fr;min-height:540px}
.bbp-hero-copy{padding:72px max(42px,calc((100vw - 1180px)/2)) 62px max(42px,calc((100vw - 1180px)/2))}
.bbp-hero-copy h1{font-size:clamp(42px,5vw,68px);line-height:1.02;margin:0 0 18px;color:#0F2A44}
.bbp-hero-copy p{font-size:19px;max-width:650px}
.bbp-hero-img{background:url('private-hero.jpg') center/cover no-repeat;min-height:540px}
.bbp-meta{display:flex;gap:24px;flex-wrap:wrap;margin:28px 0;color:#0F2A44;font-weight:700}
.bbp-section{padding:72px 0}.bbp-center{text-align:center;max-width:820px;margin:0 auto 38px}
.bbp-title{font-size:clamp(34px,4vw,48px);color:#0F2A44;margin:0 0 10px}
.bbp-sub{font-size:19px;color:#596672}
.bbp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.bbp-card{background:#fff;border:1px solid #e0d9cd;box-shadow:0 8px 24px rgba(15,42,68,.06)}
.bbp-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.bbp-card-copy{padding:25px}.bbp-card h3{font-size:27px;color:#0F2A44;margin:0 0 10px}
.bbp-card p{margin:0 0 18px}
.bbp-stone{background:#ECE7DD}
.bbp-availability{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:stretch}
.bbp-avail-card{background:#fff;border-top:5px solid #B99B5B;padding:32px;box-shadow:0 8px 26px rgba(15,42,68,.07)}
.bbp-avail-head{display:flex;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:1px solid #ddd}
.bbp-slot{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid #eee;font-size:18px}
.bbp-open{color:#2f6b4f;font-weight:700}
.bbp-venue{position:relative;min-height:430px;background:url('hall-interior.webp') center/cover no-repeat}
.bbp-venue-caption{position:absolute;left:0;right:0;bottom:0;background:rgba(15,42,68,.94);color:#fff;padding:24px 28px}
.bbp-venue-caption h3{color:#fff;margin:0 0 8px}
.bbp-navy{background:#0F2A44;color:#fff}.bbp-navy h2{color:#fff}
.bbp-closing{display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center}
.bbp-note{font-size:13px;color:#66717c;margin-top:15px}
.bbp-active{border-bottom:2px solid #B99B5B;padding-bottom:4px}
@media(max-width:800px){
 .bbp-hero-grid,.bbp-availability,.bbp-cards,.bbp-closing{grid-template-columns:1fr}
 .bbp-hero-copy{padding:50px 24px}.bbp-hero-img{min-height:380px}
 .bbp-section{padding:54px 0}.bbp-venue{min-height:360px}
}
