.breakfast-page main { padding-top:0; }
.breakfast-hero { height:620px; overflow:hidden; background:#ddd; }
.breakfast-hero img { display:block; width:100%; height:100%; object-fit:cover; }

.breakfast-intro { display:grid; grid-template-columns:minmax(0,2fr) minmax(250px,1fr); gap:34px; margin-top:18px; align-items:start; }
.breakfast-copy { padding:18px 28px 10px 0; }
.breakfast-copy h1 { display:flex; align-items:center; gap:20px; margin:0 0 8px; color:#080808; font-size:clamp(30px,4vw,48px); line-height:1; text-align:center; white-space:nowrap; }
.breakfast-copy h1::before,.breakfast-copy h1::after { content:""; flex:1; height:2px; background:#080808; }
.breakfast-copy .subtitle { margin:0 0 24px; font-size:11px; font-weight:700; letter-spacing:.14em; text-align:center; }
.breakfast-copy p { margin:0 0 16px; font-size:14px; line-height:1.65; }
.breakfast-copy h2 { margin:25px 0 12px; font-size:15px; letter-spacing:.04em; }
.breakfast-copy ul { margin:0; padding-left:20px; }
.breakfast-copy li { margin:0 0 9px; font-size:13px; line-height:1.55; }
.breakfast-note { margin-top:18px!important; font-weight:700; }

.breakfast-side { display:grid; gap:14px; }
.breakfast-booking { box-sizing:border-box; padding:24px; background:#090909; color:#fff; }
.breakfast-booking h2 { margin:0 0 18px; font-size:20px; line-height:1.1; }
.breakfast-booking .booking-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px 8px; padding-top:16px; border-top:1px solid #aaa; }
.breakfast-booking label { display:grid; gap:4px; font-size:9px; letter-spacing:.09em; text-transform:uppercase; }
.breakfast-booking input,.breakfast-booking select { box-sizing:border-box; width:100%; min-width:0; height:38px; padding:0 10px; border:0; border-radius:0; background:#fff; color:#111; font:600 11px Manrope,sans-serif; }
.breakfast-booking .promo { grid-column:1/-1; }
.breakfast-booking button { width:100%; height:48px; margin-top:18px; border:0; background:#fff; color:#090909; font:800 17px Manrope,sans-serif; cursor:pointer; }
.breakfast-card,.breakfast-gallery-card { position:relative; display:block; overflow:hidden; background:#222; color:#111; text-decoration:none; }
.breakfast-card { aspect-ratio:1; }
.breakfast-card img,.breakfast-gallery-card img { display:block; width:100%; height:100%; object-fit:cover; transition:transform 450ms ease; }
.breakfast-card:hover img,.breakfast-gallery-card:hover img { transform:scale(1.025); }
.breakfast-card span,.breakfast-gallery-card span { position:absolute; bottom:14px; left:50%; display:flex; align-items:center; justify-content:center; width:min(190px,80%); min-height:42px; padding:8px 14px; border-radius:4px; background:#fff; font-size:9px; font-weight:700; text-align:center; text-transform:uppercase; transform:translateX(-50%); }

.breakfast-gallery { display:grid; grid-template-columns:repeat(3,1fr); grid-auto-flow:dense; grid-auto-rows:230px; gap:14px; margin-top:28px; }
.breakfast-gallery-card.small { grid-column:span 1; }
.breakfast-gallery-card.wide { grid-column:span 2; }

@media(max-width:820px){
  .breakfast-hero { height:52svh; min-height:390px; }
  .breakfast-intro { grid-template-columns:1fr; }
  .breakfast-copy { padding-right:0; }
  .breakfast-side { grid-template-columns:repeat(2,1fr); }
  .breakfast-booking { grid-column:1/-1; }
  .breakfast-gallery { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:520px){
  .breakfast-hero { height:58svh; min-height:360px; }
  .breakfast-copy h1 { white-space:normal; font-size:29px; }
  .breakfast-side { grid-template-columns:1fr; }
  .breakfast-gallery { grid-template-columns:1fr; grid-auto-rows:310px; }
  .breakfast-gallery-card.small,.breakfast-gallery-card.wide { grid-column:span 1; }
}
