/* Shared public layout. Map SVG geometry and dot coordinates are unchanged. */
:root{--site-column:1080px;--site-gutter:20px}
body .theme-content{min-height:0!important;padding-bottom:1px!important}
body header{padding:10px 0!important}body .header-inner{box-sizing:border-box;width:calc(100% - 40px)!important;max-width:var(--site-column)!important;margin:0 auto!important;padding:10px 16px!important}
body .home-intro{box-sizing:border-box;position:relative;width:calc(100% - 40px)!important;max-width:var(--site-column)!important;margin:12px auto!important;padding:14px 20px!important}
body .home-intro h1{font-size:clamp(30px,4vw,48px)!important;line-height:1.08!important;margin:6px 0 10px!important}body .home-intro p{margin:0!important}
body main.venue-directory,body main.gaming-main,body .theme-content>main:not(.map-shell){box-sizing:border-box;width:calc(100% - 40px)!important;max-width:var(--site-column)!important;margin:0 auto!important;padding:18px 20px 28px!important}
body .map-stage{box-sizing:border-box;width:calc(100% - 40px)!important;max-width:var(--site-column)!important;margin:12px auto 20px!important}
body main.map-shell{box-sizing:border-box;width:calc(100% - 40px)!important;max-width:var(--site-column)!important;margin:12px auto 20px!important}
body .gaming-hero,body .art-hero{min-height:0!important;padding:18px 0 24px!important;justify-content:flex-start!important}
body .gaming-hero h1,body main.venue-directory .art-hero h1{font-size:clamp(34px,4vw,52px)!important;line-height:1.05!important;margin:12px 0!important}body .gaming-hero>p,body .art-hero>p{font-size:16px!important;margin:0 0 14px!important}
body .gaming-genres{margin-top:14px!important}body .gaming-panel{padding:20px!important;margin-bottom:16px!important}body .gaming-panel h2{font-size:28px!important;margin:5px 0 10px!important}body .gaming-filters{margin:14px 0 10px!important}body .gaming-venue{padding:12px 0!important}body .gaming-outro{padding:10px 0 20px!important}body .gaming-outro h2{font-size:32px!important;margin:8px 0!important}
body .art-list-heading{font-size:26px!important;margin:0 0 12px!important}body .venue-row{padding:12px 18px!important}body.art-page .venue-list{background:#0b2337!important}
body .site-footer{box-sizing:border-box;display:block!important;position:relative!important;z-index:2!important;width:100%!important;max-width:none!important;margin:0!important;padding:22px 0 14px!important;background:var(--theme-footer,#175b73)!important;color:var(--theme-footer-text,#fff)!important;font:13px/1.5 Arial,Helvetica,sans-serif!important}
body .site-footer-inner,body .footer-note{box-sizing:border-box;width:calc(100% - 40px)!important;max-width:var(--site-column)!important;margin-left:auto!important;margin-right:auto!important;padding-left:20px!important;padding-right:20px!important}
body .site-footer-inner{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:24px!important;flex-wrap:wrap!important}body .site-footer h2{font-size:20px!important;line-height:1.2!important;margin:0 0 7px!important}body .site-footer p{margin:0 0 7px!important;color:var(--theme-footer-text,#fff)!important}
body .footer-links{display:flex!important;gap:38px!important;flex-wrap:wrap!important}body .footer-links>div{display:flex!important;flex-direction:column!important;gap:5px!important}body .footer-links strong{color:var(--theme-footer-text,#fff)!important;margin-bottom:3px!important}body .site-footer a{color:var(--theme-footer-link,#d6f3ff)!important;text-decoration:none!important}body .site-footer a:hover{text-decoration:underline!important}body .footer-note{border-top:1px solid #ffffff30!important;margin-top:16px!important;padding-top:10px!important;font-size:11px!important}
@media(max-width:700px){body .header-inner,body .home-intro,body .map-stage,body main.venue-directory,body main.gaming-main,body .theme-content>main:not(.map-shell),body main.map-shell,body .site-footer-inner,body .footer-note{width:calc(100% - 24px)!important}body main.venue-directory,body main.gaming-main,body .theme-content>main:not(.map-shell){padding-left:12px!important;padding-right:12px!important}body .site-footer-inner,body .footer-note{padding-left:12px!important;padding-right:12px!important}body .footer-links{gap:28px!important}body .gaming-panel{padding:16px!important}body .venue-row{padding:12px 14px!important}}

/* Larger navigation and compact footer pinned to the window. */
body{padding-bottom:var(--outmaps-footer-height,150px)!important}
body nav.site-nav>a,body nav.site-nav .nav-menu>summary{font:700 18px/1.25 Arial,Helvetica,sans-serif!important;padding:10px 14px!important;min-height:44px!important}body nav.site-nav{gap:10px!important}body nav.site-nav .nav-submenu{min-width:240px!important;z-index:100!important}body nav.site-nav .nav-submenu a{font:700 16px/1.3 Arial,Helvetica,sans-serif!important;padding:10px 12px!important}.nav-group-label{display:block;padding:12px 12px 5px;font:700 12px/1.3 Arial,Helvetica,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--theme-accent,#175b73);border-top:1px solid #8885;margin-top:5px}
body .site-footer{position:fixed!important;inset:auto 0 0!important;z-index:60!important;padding:12px 0 8px!important;box-shadow:0 -3px 15px #0002;font-size:12px!important}
body .site-footer-inner{align-items:center!important;gap:16px!important}body .site-footer h2{font-size:17px!important;margin:0 0 4px!important}body .site-footer p{font-size:12px!important;margin:0!important}body .footer-links{max-width:650px;gap:20px!important;flex:1;justify-content:flex-end}body .footer-links>div{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center;gap:4px 13px!important;max-width:420px}body .footer-links>div:last-child{max-width:180px}body .footer-links strong{width:100%;font-size:11px!important;margin:0!important}body .footer-note{margin-top:8px!important;padding-top:6px!important;font-size:10px!important}
body .header-inner{display:flex!important;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px!important}body .header-inner>img{width:clamp(180px,23vw,270px)!important;height:auto}
@media(max-width:700px){body nav.site-nav>a,body nav.site-nav .nav-menu>summary{font-size:16px!important;padding:9px 10px!important}body nav.site-nav{gap:4px!important}body .site-footer-inner{gap:8px!important}body .site-footer-inner>div:first-child{width:100%}body .footer-links{justify-content:flex-start!important;max-width:none;gap:10px!important}body .footer-links>div{max-width:none!important;flex:1}body .footer-note{margin-top:6px!important}body .site-footer{max-height:30vh;overflow:auto}body .header-inner>img{width:180px!important}}

/* Background reaches the footer, with centered adaptive cropping. */
html{background:var(--theme-bg,#10251f)!important}body{background:var(--theme-bg,#10251f)!important;position:relative;isolation:isolate}body::before{content:"";position:fixed;inset:0 0 var(--outmaps-footer-height,52px);z-index:0;pointer-events:none;background-color:var(--theme-bg,#10251f);background-image:var(--theme-image);background-size:cover;background-position:center center;background-repeat:no-repeat}
body .theme-content{position:relative;z-index:1;background:transparent!important;background-image:none!important;min-height:calc(100dvh - var(--outmaps-footer-height,52px))!important}body .gaming-backdrop{display:none!important}body .gaming-main{position:relative;z-index:1}body>header{position:relative;z-index:40}body .site-footer{height:auto!important;min-height:44px!important;max-height:20vh!important;padding:8px 0!important;overflow:auto!important}.slim-footer-inner{width:calc(100% - 40px);max-width:1080px;margin:auto;display:flex;gap:18px;align-items:center;font:12px/1.4 Arial,Helvetica,sans-serif}.slim-footer-inner .footer-brand{font-size:15px!important;font-weight:bold;white-space:nowrap}.slim-footer-inner nav{margin-left:auto;display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:0!important;overflow:visible!important}.slim-footer-inner nav a{border:0!important;background:none!important;padding:0!important;min-height:0!important;border-radius:0!important;font:700 12px/1.4 Arial,Helvetica,sans-serif!important}.footer-caption{color:var(--theme-footer-text,#fff)}@media(max-width:700px){.slim-footer-inner{width:calc(100% - 24px);gap:10px;flex-wrap:wrap}.footer-caption{display:none}.slim-footer-inner nav{gap:12px}.slim-footer-inner .footer-brand{font-size:13px!important}}

/* 80% opaque surfaces; text and artwork keep their own opacity. */
body header{position:relative!important;z-index:1000!important;overflow:visible!important;background:transparent!important}
body .header-inner,body .theme-content>header .header-inner{background:color-mix(in srgb,var(--theme-footer,#12384a) 80%,transparent)!important;border-radius:12px!important;overflow:visible!important;box-shadow:0 3px 16px #0002!important}
body nav.site-nav>a,body nav.site-nav .nav-menu>summary{background:transparent!important;color:#fff!important}
body nav.site-nav .nav-menu{position:relative;overflow:visible!important}
body nav.site-nav .nav-submenu{z-index:1100!important;background:color-mix(in srgb,var(--theme-footer,#12384a) 80%,transparent)!important;box-shadow:0 8px 24px #0004!important}
body nav.site-nav .nav-submenu a{background:transparent!important;color:#fff!important}
body nav.site-nav .nav-submenu a:hover,body nav.site-nav .nav-submenu a:focus-visible{background:#ffffff26!important;color:#fff!important}
body nav.site-nav .nav-group-label{color:#fff!important;background:transparent!important}
body .home-intro,body main.venue-directory,body .gaming-panel{background:color-mix(in srgb,var(--theme-footer,#12384a) 80%,transparent)!important;color:#fff!important;border-radius:12px}
body .home-intro p,body .home-intro h1,body main.venue-directory h1,body main.venue-directory p{color:#fff!important}
body .venue-list,body.art-page .venue-list,body .venue-row{background:transparent!important}
body .site-footer{background:color-mix(in srgb,var(--theme-footer,#12384a) 80%,transparent)!important}
body img.brand,body .header-inner img[src^="logo.php"]{filter:drop-shadow(0 1px 2px #0008)}
body main.venue-directory h2,body main.venue-directory h3,body main.venue-directory a,body .gaming-panel h2,body .gaming-panel h3,body .gaming-panel p{color:#fff!important}
body main.venue-directory a:hover{text-decoration:underline}
@media(max-width:700px){body nav.site-nav .nav-submenu{min-width:200px!important;max-width:calc(100vw - 48px)!important;right:0;left:auto}}

/* One footer in document flow, attached to the end of the background. */
body{display:flex!important;flex-direction:column!important;min-height:100dvh!important;height:auto!important;padding-bottom:0!important;overflow:auto!important}
body::before{position:absolute!important;inset:0 0 var(--outmaps-footer-height,48px)!important;background-size:cover!important;background-position:center center!important}
body .theme-content{flex:1 0 auto!important;min-height:calc(100dvh - var(--outmaps-footer-height,48px))!important}
body .site-footer{position:relative!important;inset:auto!important;flex:0 0 auto!important;height:auto!important;min-height:0!important;max-height:100px!important;margin-top:auto!important;padding:12px 0!important;overflow:auto!important;z-index:2!important;box-shadow:none!important;border-radius:0!important}
body .slim-footer-inner{display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:nowrap!important;gap:16px!important;width:calc(100% - 40px)!important;max-width:1080px!important;margin:0 auto!important;line-height:1.4!important}
body .slim-footer-inner nav{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:16px!important;margin-left:auto!important}
body .slim-footer-inner nav a{white-space:nowrap!important}
@media(max-width:1200px){body .site-footer{max-height:75px!important;padding:10px 0!important}}
@media(max-width:700px){body .site-footer{max-height:40px!important;padding:8px 0!important}body .slim-footer-inner{width:calc(100% - 20px)!important;gap:8px!important;font-size:10px!important}body .slim-footer-inner .footer-brand{font-size:11px!important}body .slim-footer-inner nav{gap:9px!important}body .slim-footer-inner nav a{font-size:10px!important}body .footer-caption{display:none!important}}

/* Critical framing: lower artwork visible, safe gutters, truly slim footer. */
html{overflow-x:clip!important}body{margin:0!important;width:100%!important;max-width:100%!important;overflow-x:clip!important}
body::before{position:fixed!important;inset:0 0 40px!important;background-position:center bottom!important;background-size:cover!important}
body .theme-content{width:100%!important;max-width:100%!important;min-width:0!important;min-height:calc(100dvh - 40px)!important;padding-bottom:64px!important;box-sizing:border-box!important}
body .site-footer{box-sizing:border-box!important;width:100%!important;max-width:100%!important;height:40px!important;min-height:40px!important;max-height:40px!important;padding:0!important;flex:0 0 40px!important;overflow:auto!important;display:flex!important;align-items:center!important}
body .slim-footer-inner{box-sizing:border-box!important;width:calc(100% - 40px)!important;max-width:1080px!important;min-width:0!important;padding:0!important;margin:0 auto!important;gap:12px!important;line-height:1.2!important}
body .slim-footer-inner .footer-brand{font:700 13px/1.2 Arial,Helvetica,sans-serif!important;flex-shrink:0!important}
body .footer-caption{font:12px/1.2 Arial,Helvetica,sans-serif!important}
body .slim-footer-inner nav{padding:0!important;margin:0 0 0 auto!important;gap:14px!important;flex-shrink:0!important}
body .slim-footer-inner nav a{padding:0!important;border:0!important;background:transparent!important;font:700 11px/1.2 Arial,Helvetica,sans-serif!important;text-decoration:none!important}
body .header-inner,body .home-intro,body .map-stage,body main.map-shell,body main.venue-directory,body main.gaming-main,body .advertiser-main{box-sizing:border-box!important;max-width:1080px!important;width:calc(100% - 40px)!important;min-width:0!important;margin-left:auto!important;margin-right:auto!important}
body .header-inner>*,body main.venue-directory>*{min-width:0}body nav.site-nav{max-width:100%!important;flex-wrap:wrap!important}body img{max-width:100%}
@media(max-width:700px){body .theme-content{padding-bottom:48px!important}body .slim-footer-inner{width:calc(100% - 24px)!important;gap:8px!important}body .slim-footer-inner .footer-brand{font-size:10px!important}body .slim-footer-inner nav{gap:8px!important}body .slim-footer-inner nav a{font-size:10px!important}body .footer-caption{display:none!important}body .header-inner,body .home-intro,body .map-stage,body main.map-shell,body main.venue-directory,body main.gaming-main,body .advertiser-main{width:calc(100% - 24px)!important}}

/* One transparent header, matching the Where to Eat page. */
html body.outmaps-unified[class][class][class] header,html body.outmaps-unified[class][class][class] header .header-inner,html body.outmaps-unified[class][class][class] header nav.site-nav{background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;border-radius:0!important}
html body.outmaps-unified[class][class][class] header{position:relative!important;z-index:1000!important;overflow:visible!important;padding:10px 0!important}
html body.outmaps-unified[class][class][class] header .header-inner{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;width:calc(100% - 40px)!important;max-width:1080px!important;margin:0 auto!important;padding:10px 16px!important;box-sizing:border-box!important}
html body.outmaps-unified[class][class][class] header .header-inner>img,html body.outmaps-unified[class][class][class] header .header-inner>a>img{display:block!important;width:clamp(230px,24vw,330px)!important;height:auto!important;background:none!important;box-shadow:none!important;filter:none!important}
html body.outmaps-unified[class][class][class] header nav.site-nav{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;overflow:visible!important;margin:0!important;padding:0!important;width:auto!important}
html body.outmaps-unified[class][class][class] header nav.site-nav>a,html body.outmaps-unified[class][class][class] header nav.site-nav .nav-menu>summary{font:700 18px/1.25 Arial,Helvetica,sans-serif!important;padding:10px 14px!important;min-height:44px!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:var(--outmaps-header-ink,#173c4e)!important;text-shadow:none!important;text-transform:none!important;text-decoration:none!important;cursor:pointer}
html body.outmaps-unified[class][class][class] header nav.site-nav>a:hover,html body.outmaps-unified[class][class][class] header nav.site-nav .nav-menu>summary:hover{background:transparent!important;text-decoration:underline!important;text-underline-offset:5px}
html body.outmaps-unified[class][class][class] header nav.site-nav .nav-submenu{background:rgba(255,255,255,.95)!important;color:#173c4e!important;border:1px solid #173c4e30!important;border-radius:8px!important;box-shadow:0 8px 22px #0002!important;min-width:240px!important;z-index:1100!important}
html body.outmaps-unified[class][class][class] header nav.site-nav .nav-submenu>a,html body.outmaps-unified[class][class][class] header nav.site-nav .nav-group-label{color:#173c4e!important;background:transparent!important;text-shadow:none!important;font:700 16px/1.3 Arial,Helvetica,sans-serif!important;text-transform:none!important}
html body.outmaps-unified[class][class][class] header nav.site-nav .nav-submenu>a:hover{background:#173c4e12!important}
html body.outmaps-unified[class][class][class] header nav.site-nav a:focus-visible,html body.outmaps-unified[class][class][class] header nav.site-nav summary:focus-visible{outline:2px solid currentColor!important;outline-offset:3px!important}
@media(max-width:850px){html body.outmaps-unified[class][class][class] header .header-inner{flex-wrap:wrap!important;justify-content:center!important}html body.outmaps-unified[class][class][class] header nav.site-nav{justify-content:center!important;gap:3px!important}html body.outmaps-unified[class][class][class] header nav.site-nav>a,html body.outmaps-unified[class][class][class] header nav.site-nav .nav-menu>summary{font-size:16px!important;padding:10px!important}}
@media(max-width:480px){html body.outmaps-unified[class][class][class] header .header-inner{width:calc(100% - 20px)!important;padding:8px 0!important}html body.outmaps-unified[class][class][class] header .header-inner>img{width:220px!important}html body.outmaps-unified[class][class][class] header nav.site-nav>a,html body.outmaps-unified[class][class][class] header nav.site-nav .nav-menu>summary{font-size:14px!important;padding:10px 7px!important}html body.outmaps-unified[class][class][class] header .nav-menu:last-child .nav-submenu{left:auto!important;right:0!important}}
/* Keep the entry homepage's large centred branding. */
html body.coming-soon-page header .header-inner{justify-content:center!important;max-width:760px!important;width:90%!important;padding:0!important}
html body.coming-soon-page header .header-inner>img{width:100%!important;max-width:760px!important}
html body:has(>footer.om-guide-footer){padding-bottom:0!important}
html body.outmaps-beach-chairs .theme-content> :not(.outmaps-deckchairs){position:relative;z-index:1}

html body.outmaps-unified[class][class][class] header .nav-menu{position:relative!important}html body.outmaps-unified[class][class][class] header .nav-menu>summary{list-style:none!important;display:inline-flex!important;align-items:center!important}html body.outmaps-unified[class][class][class] header .nav-menu>summary::-webkit-details-marker{display:none}html body.outmaps-unified[class][class][class] header .nav-menu>summary::after{content:"⌄";margin-left:7px;font-size:13px}html body.outmaps-unified[class][class][class] header .nav-menu .nav-submenu{position:absolute!important;top:100%!important;left:0;display:none!important;padding:8px!important}html body.outmaps-unified[class][class][class] header .nav-menu[open] .nav-submenu{display:flex!important;flex-direction:column!important}html body.outmaps-unified[class][class][class] header .nav-menu .nav-submenu>a{display:block!important;padding:10px 12px!important;text-decoration:none!important}html body.outmaps-unified[class][class][class] header .nav-group-label{display:block!important;padding:12px!important;border-top:1px solid #173c4e20!important}
