.booking-page{background:var(--bg,#f8f5f0)}
.booking-hero{background:#241a14;color:#fff;padding:76px 0 58px}
.booking-hero-inner{text-align:center}
.booking-hero .eyebrow{margin-bottom:12px;color:var(--gold,#d6a32b);font-size:11px;letter-spacing:.34em;text-transform:uppercase}
.booking-hero h1{margin:0;color:#fff;font-family:var(--serif,"Playfair Display",Georgia,serif);font-size:clamp(46px,6vw,62px);line-height:1.05;font-weight:500}
.booking-divider{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:20px}
.booking-divider span{display:block;width:52px;height:1px;background:rgba(214,163,43,.52)}
.booking-divider i{display:block;width:8px;height:8px;background:var(--gold,#d6a32b);transform:rotate(45deg)}

.booking-main{position:relative;min-height:580px;padding:76px 0 92px;background:#faf8f5;border-bottom:1px solid rgba(214,163,43,.75)}
.booking-container{width:min(820px,calc(100% - 40px))}
.booking-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.9fr);gap:38px;align-items:start}
.booking-widget-card{min-height:54px;border:1px solid #ddd6cf;background:#fffdfa}
.booking-widget-placeholder{min-height:52px}
.booking-widget-card iframe{display:block;width:100%;min-height:520px;border:0;background:#fff}
.booking-sidebar{display:grid;gap:18px}
.booking-side-card{padding:21px 20px;background:#fffdfa;border:1px solid #ddd6cf}
.booking-side-card h2{margin:0 0 15px;font-family:var(--serif,"Playfair Display",Georgia,serif);font-size:18px;line-height:1.3;font-weight:500;color:#241a14}
.booking-hours{display:grid;gap:8px}
.booking-hours-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;font-size:12px;line-height:1.35}
.booking-hours-row span{color:#8b6b58}.booking-hours-row strong{color:#1e1713;font-weight:500;white-space:nowrap}
.booking-contact-list{display:grid;gap:13px}
.booking-contact-item{display:grid;grid-template-columns:16px 1fr;gap:10px;align-items:start;color:#7b6152;font-size:12px;line-height:1.45;transition:color .2s ease}
.booking-contact-item:hover{color:var(--gold,#d6a32b)}
.booking-contact-item svg{width:15px;height:15px;margin-top:1px;fill:none;stroke:var(--gold,#d6a32b);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.booking-note{padding:17px 19px;background:#a49b95;color:#fff;font-size:11px;line-height:1.55}.booking-note a{color:#f2bb2c;font-weight:600}
.booking-bottom-diamond{position:absolute;left:50%;bottom:-6px;width:11px;height:11px;background:var(--gold,#d6a32b);transform:translateX(-50%) rotate(45deg);z-index:3}
.booking-page .site-header{position:sticky;top:0;z-index:9999}

@media(max-width:900px){
  .booking-hero{padding:64px 0 50px}.booking-main{padding:60px 0 76px}.booking-container{width:min(100% - 36px,760px)}
  .booking-grid{grid-template-columns:1fr;gap:28px}.booking-widget-card,.booking-widget-placeholder{min-height:300px}
  .booking-sidebar{grid-template-columns:1fr 1fr;align-items:start}.booking-note{grid-column:1/-1}
}
@media(max-width:600px){
  .booking-hero{padding:54px 0 42px}.booking-hero h1{font-size:42px}.booking-main{min-height:auto;padding:44px 0 64px}
  .booking-container{width:min(100% - 28px,760px)}.booking-widget-card,.booking-widget-placeholder{min-height:240px}
  .booking-sidebar{grid-template-columns:1fr;gap:16px}.booking-note{grid-column:auto}.booking-hours-row{font-size:12px;gap:12px}
}
@media(max-width:380px){
  .booking-container{width:min(100% - 22px,760px)}.booking-hours-row{grid-template-columns:1fr;gap:2px}.booking-side-card{padding:18px 16px}
}
