.page-venue-booking h1,.page-venue-booking h2,.page-venue-booking h3 { letter-spacing:0; text-wrap:balance; }
.page-venue-booking main section[id] { scroll-margin-top:calc(var(--site-header-height) + 76px); }
.page-venue-booking main a:focus-visible,.page-venue-booking main button:focus-visible { outline:3px solid #bca15a; outline-offset:4px; }
.page-venue-booking .mc-hero-grid { grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr); gap:28px; min-height:620px; }
.page-venue-booking .mc-hero h1 { font-size:clamp(35px,3.7vw,49px); }
.page-venue-booking .mc-hero h1>span { font-size:22px; margin-top:12px; }
.page-venue-booking .mc-heading h2 { font-size:clamp(28px,3vw,38px); }
.page-venue-booking .mc-hero-visual img { display:block; width:100%; height:auto; filter:drop-shadow(0 20px 26px #08251d35); }
.page-venue-booking .vb-hero { background:radial-gradient(ellipse at 85% 45%,#6e997145,transparent 53%),linear-gradient(115deg,#123c33,#214c3b); }
.page-venue-booking .vb-hero::after { inset:0; width:100%; height:100%; border:0; border-radius:0; box-shadow:none; background:linear-gradient(145deg,transparent 53%,#d8d5a215 53.2%,transparent 53.5%),linear-gradient(145deg,transparent 63%,#d8d5a215 63.2%,transparent 63.5%); animation:vb-field-light 15s ease-in-out infinite alternate paused; }
.page-venue-booking .vb-hero.motion-running::after { animation-play-state:running; }
.motion-paused .page-venue-booking .vb-hero::after { animation-play-state:paused; }
@keyframes vb-field-light { from { opacity:.3; translate:0 10px; } to { opacity:1; translate:0 -10px; } }
.vb-tint { background:radial-gradient(ellipse at 90% 10%,#dce8d442,transparent 60%),#f4f6f0; }
.vb-flow { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:30px; }
.vb-flow li { border-top:1px solid #d7e2d3; padding-top:25px; }
.vb-flow li>span { display:block; color:#a48b53; font-size:15px; margin-bottom:19px; }
.vb-flow h3,.vb-three h3,.vb-scenes h3 { font-size:21px; font-weight:500; color:#2d503b; margin:0 0 12px; }
.vb-flow p,.vb-three p,.vb-scenes p { font-size:15px; line-height:1.85; color:#687868; margin:0; }
.vb-venue-tabs { border:1px solid #dce5d7; padding:30px 38px 40px; border-radius:15px; background:#ffffffb8; }
.vb-venue-tabs .mc-tab-list { display:flex; justify-content:center; gap:12px; margin-bottom:36px; }
.vb-venue-tabs .mc-tab-list a { border:1px solid #dce5d7; color:#507054; background:#f4f7ef; border-radius:7px; padding:12px 30px; font-size:17px; }
.vb-venue-tabs .mc-tab-list a[aria-selected=true] { background:#255740; color:#f7edcf; border-color:#255740; }
.vb-venue-tabs [data-product-panel] { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:65px; align-items:start; }
.vb-venue-tabs [data-product-panel]>div:last-child { padding-top:24px; }
.vb-venue-tabs.mc-tabs-enhanced .mc-tab-panels { display:grid; }
.vb-venue-tabs.mc-tabs-enhanced [data-product-panel] { grid-area:1/1; }
.vb-venue-tabs h3 { font-size:27px; font-weight:500; color:#2a4d38; margin:0 0 18px; }
.vb-venue-tabs p { color:#6b786a; font-size:16px; line-height:1.9; margin:0; }
.vb-checks { margin:25px 0 0; padding:0; list-style:none; display:grid; gap:15px; color:#536e52; font-size:15px; }
.vb-checks li { display:flex; gap:12px; align-items:center; }
.vb-checks svg { width:20px; height:20px; flex-shrink:0; }
.vb-court-map { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:16px; padding:28px 24px 53px; background:#e4ece1; border:2px solid #cbd9c3; border-radius:11px; }
.vb-court { position:relative; min-height:270px; background:#3d7552; border:2px solid #f6f1d8; box-shadow:0 6px 12px #173d3420; }
.vb-court::before { content:''; position:absolute; inset:20px 14px; border:1px solid #edf0d9aa; background:linear-gradient(0deg,transparent 49.5%,#edf0d9aa 49.5% 50.2%,transparent 50.2%); }
.vb-court::after { content:''; position:absolute; top:50%; left:0; width:100%; border-top:2px solid #eee8c4; }
.vb-court i { position:absolute; inset:20px 50%; border-left:1px solid #edf0d999; }
.vb-court span { position:absolute; z-index:1; top:50%; left:50%; transform:translate(-50%,-50%); white-space:nowrap; background:#295d41; padding:8px 12px; color:#f5ebc9; font-size:18px; border:1px solid #dce2bb99; border-radius:5px; }
.vb-whole { border-color:#bc9e61; background:#eee9d5; }
.vb-court-map strong { position:absolute; left:0; right:0; bottom:17px; text-align:center; color:#536e52; font-weight:500; font-size:17px; }
.vb-whole strong { color:#786039; }
.vb-schedule-visual,.vb-admin-visual { margin:0 auto 38px; max-width:1080px; }
.vb-three { display:grid; grid-template-columns:repeat(3,1fr); gap:35px; }
.vb-three article { border-top:1px solid #d9e2d3; padding-top:23px; }
.vb-mobile-layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); align-items:center; gap:68px; max-width:1080px; margin:auto; }
.vb-mobile-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; align-items:start; }
.vb-mobile-pair figure { margin:0; filter:drop-shadow(0 18px 18px #254c3512); }
.vb-mobile-pair figure:nth-child(2) { margin-top:42px; }
.vb-mobile-pair img { width:100%; height:auto; display:block; }
.vb-mobile-features { display:grid; gap:30px; }
.vb-mobile-features>div { position:relative; padding-left:40px; }
.vb-mobile-features>div>span { position:absolute; top:3px; left:0; font-size:14px; color:#a28d57; }
.vb-mobile-features h3 { margin:0 0 10px; color:#31523d; font-size:20px; font-weight:500; }
.vb-mobile-features p { margin:0; font-size:14px; line-height:1.85; color:#6d796a; }
.vb-dark { background:radial-gradient(ellipse at 100% 0,#56774b55,transparent 60%),#183e32; }
.vb-dark .mc-heading h2 { color:#e9ddb6; }
.vb-dark .mc-heading p { color:#c3d0bd; }
.vb-rule-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:37px 40px; }
.vb-rule-grid article { border-top:1px solid #647c5d; padding:24px 4px 0; }
.vb-rule-grid svg { color:#d0c590; width:28px; height:28px; margin-bottom:18px; }
.vb-rule-grid h3 { color:#eee4c3; font-size:21px; font-weight:500; margin:0 0 12px; }
.vb-rule-grid p { color:#becfba; font-size:15px; line-height:1.9; margin:0; }
.vb-statuses { display:flex; flex-wrap:wrap; gap:10px; border-top:1px solid #dbe4d5; margin-top:32px; padding-top:24px; }
.vb-statuses span { padding:8px 14px; background:#f0f5eb; color:#5c7653; border-radius:5px; font-size:14px; }
.vb-scenes { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.vb-scenes article { padding:27px 25px; border:1px solid #dce5d5; border-radius:10px; background:#ffffffa3; }
.vb-scenes svg { width:30px; height:30px; color:#71906a; margin-bottom:20px; }
.page-venue-booking .mc-diagram-dialog.is-zoomed img { width:auto; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { .vb-scenes article { transition:transform .25s,box-shadow .25s; } .vb-scenes article:hover { transform:translateY(-4px); box-shadow:0 14px 27px #244d3510; } }
@media(max-width:1100px) { .page-venue-booking .mc-hero-grid { grid-template-columns:1fr; min-height:0; gap:0; } .page-venue-booking .mc-hero-visual { max-width:680px; } .vb-venue-tabs [data-product-panel] { gap:35px; } .vb-mobile-layout { gap:34px; } }
@media(max-width:800px) { .vb-flow,.vb-scenes { grid-template-columns:repeat(2,1fr); } .vb-venue-tabs [data-product-panel] { grid-template-columns:1fr; grid-template-rows:auto 1fr; gap:30px; } .vb-venue-tabs [data-product-panel]>div:last-child { padding-top:0; } .vb-court-map { max-width:470px; width:100%; margin:auto; } .vb-mobile-layout { grid-template-columns:1fr; } .vb-mobile-pair { max-width:620px; margin:auto; } .vb-mobile-features { grid-template-columns:repeat(3,1fr); gap:24px; } .vb-mobile-features>div { padding-left:0; } .vb-mobile-features>div>span { position:static; display:block; margin-bottom:12px; } .vb-rule-grid { grid-template-columns:repeat(2,1fr); } .vb-three { gap:22px; } }
@media(max-width:700px) {
 .page-venue-booking .mc-hero h1 { font-size:35px; } .page-venue-booking .mc-hero h1>span { font-size:19px; } .page-venue-booking .mc-hero-description { font-size:15px; } .page-venue-booking .mc-nav a { white-space:nowrap; }
 .vb-flow { gap:25px 21px; } .vb-flow h3,.vb-scenes h3 { font-size:19px; } .vb-flow p,.vb-scenes p { font-size:14px; }
 .vb-venue-tabs { padding:22px 18px 26px; } .vb-venue-tabs .mc-tab-list { margin-bottom:25px; gap:10px; } .vb-venue-tabs .mc-tab-list a { padding:11px 17px; font-size:15px; } .vb-venue-tabs h3 { font-size:24px; } .vb-venue-tabs p { font-size:15px; } .vb-checks { font-size:14px; gap:13px; }
 .vb-court-map { padding:20px 17px 50px; gap:12px; } .vb-court { min-height:224px; } .vb-court span { font-size:15px; padding:7px 9px; }
 .vb-three { grid-template-columns:1fr; gap:25px; } .vb-three h3 { font-size:20px; } .vb-three p { font-size:14px; }
 .vb-mobile-features { grid-template-columns:1fr; gap:23px; } .vb-mobile-features>div { padding-left:36px; } .vb-mobile-features>div>span { position:absolute; margin:0; } .vb-mobile-features h3 { font-size:19px; }
 .vb-rule-grid { gap:28px 22px; } .vb-rule-grid h3 { font-size:19px; } .vb-rule-grid p { font-size:14px; }
 .vb-scenes { gap:14px; } .vb-scenes article { padding:23px 18px; } .vb-statuses { gap:8px; } .vb-statuses span { font-size:13px; padding:7px 11px; }
}
@media(max-width:600px) { .vb-mobile-pair { grid-template-columns:1fr; width:100%; max-width:290px; gap:30px; } .vb-mobile-pair figure:nth-child(2) { margin-top:0; } }
@media(max-width:360px) { .vb-scenes,.vb-rule-grid { grid-template-columns:1fr; } .vb-court { min-height:200px; } }
@media(prefers-reduced-motion:reduce) { .page-venue-booking .vb-hero::before,.page-venue-booking .vb-hero::after { animation:none; } }
