/* Split layout variant: clubs 2/3 left, bar menu 1/3 right. Loaded after screen.css. */
.split-layout { flex:1; min-height:0; display:grid; grid-template-columns:2fr 1fr; gap:clamp(14px,1.4vw,26px); }
.split-clubs { min-height:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:minmax(0,1fr); gap:clamp(14px,1.4vw,26px); }
.split-clubs .info-card.large { grid-column:span 2; }
.split-clubs .info-card.wide { grid-column:span 2; }
.split-side { min-height:0; display:grid; grid-auto-rows:minmax(0,1fr); gap:clamp(14px,1.4vw,26px); }
/* The bar card is stored as "wide"; in the single-column side it must not span extra columns. */
.split-side .info-card.large,.split-side .info-card.wide { grid-column:1; }

/* Bar card in the narrow column: one price list, sized to the column not the viewport. */
.split-side .info-card { container-type:inline-size; }
.split-side .menu-columns { grid-template-columns:1fr; gap:clamp(6px,.8vw,12px); overflow:hidden; }
.split-side .card-copy h2 { font-size:clamp(20px,2.6cqw,30px); }
.split-side .card-copy > p:last-child { font-size:clamp(11px,1.35cqw,15px); }
.split-side .menu-group h3 { font-size:clamp(11px,1.35cqw,15px); letter-spacing:.1em; }
.split-side .menu-row { font-size:clamp(11px,1.5cqw,16px); line-height:1.45; }
.split-side .info-card.has-menu .card-icon { width:clamp(26px,3cqw,38px); height:clamp(26px,3cqw,38px); }

/* ---- Club page: same split, left column is club-specific ---- */
.club-main { min-height:0; display:grid; grid-template-rows:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(14px,1.4vw,26px); }
.club-main:has(.club-hero:only-child) { grid-template-rows:minmax(0,1fr); }
.club-hero .card-copy h2 { font-size:clamp(22px,2vw,38px); }
.club-hero .club-about { margin:clamp(10px,1vw,16px) 0 0; color:rgba(255,255,255,.82); font-size:clamp(14px,1.05vw,20px); line-height:1.6; }
.club-hero { justify-content:flex-start; }
/* The QR sits top-right beside the logo, so the text below it may use the full width. */
.club-hero .card-copy { flex:1 1 auto; min-height:0; overflow:hidden; max-width:none; }
.club-links { justify-content:flex-start; gap:clamp(12px,1.2vw,20px); overflow:hidden; }
.link-block + .link-block { margin-top:clamp(12px,1.2vw,20px); }
.link-grid { margin-top:10px; display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:clamp(8px,.8vw,14px); }
.link-chip { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:clamp(12px,1vw,18px) clamp(14px,1.1vw,20px); border:1px solid rgba(255,255,255,.22); border-radius:16px; background:rgba(255,255,255,.08); color:#fff; text-decoration:none; font-weight:600; font-size:clamp(13px,1vw,18px); line-height:1.25; }
.link-chip b { color:#f0c58a; font-size:1.2em; }
.link-block.shared .link-chip { background:rgba(255,255,255,.03); border-style:dashed; }
.back-mark { width:62px; height:62px; flex:none; border:1px solid rgba(243,234,216,.28); border-radius:18px; background:rgba(243,234,216,.06); color:var(--cream); font-size:28px; text-decoration:none; display:grid; place-items:center; }
.back-mark:hover,.back-mark:focus-visible { background:rgba(243,234,216,.14); }

/* The welcome line stays hidden on screen-height displays, same trick as the grid layout. */
@media (min-width:1051px) and (max-height:1000px) { body:has(.split-side .info-card.has-menu) .welcome { display:none; } }

@media (max-width:1050px) {
    .split-layout { grid-template-columns:1fr; }
    .split-clubs { grid-auto-rows:minmax(240px,1fr); }
    .split-side { grid-auto-rows:minmax(320px,auto); }
    .split-side .menu-columns { grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); }
}
@media (max-width:650px) {
    .split-clubs { grid-template-columns:1fr; }
    .split-clubs .info-card.large,.split-clubs .info-card.wide { grid-column:span 1; }
}
