.nav{position:relative;isolation:isolate;background:#fff}
.nav::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:#fff}
.nav .navlinks,.nav .links{display:flex;align-items:center;gap:24px;background:#fff}
.nav nav>a,.nav summary{white-space:nowrap}
.nav nav a[aria-current="page"],.nav summary[aria-current="page"],.nav details[open]>summary{color:#246455;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:2px}
.nav details{position:relative}
.nav summary{list-style:none;cursor:pointer;font-weight:bold;font-size:13px;padding:14px 0}
.nav summary::-webkit-details-marker{display:none}
.nav summary::after{content:"⌄";font-size:10px;margin-left:6px;color:#60716e}
.nav .submenu{display:none;position:absolute;z-index:20;top:42px;left:-18px;width:245px;max-height:min(520px,70vh);overflow-y:auto;padding:10px;background:#fff;border:1px solid #dce2da;border-radius:10px;box-shadow:0 14px 35px #142e3622}
.nav details[open] .submenu{display:grid}
.nav .submenu a{padding:9px 11px;border-radius:6px;font-size:12px;font-weight:normal;color:#142e36;text-decoration:none}
.nav .submenu a:hover,.nav .submenu a:focus-visible{background:#edf3e5;color:#246455}
.nav .submenu .all{font-weight:bold;color:#246455;border-bottom:1px solid #e4e8e1;border-radius:0;margin-bottom:4px;padding-bottom:11px}
@media(min-width:751px){.nav details:hover .submenu,.nav details:focus-within .submenu{display:grid}}
@media(max-width:1100px){.nav .navlinks,.nav .links{gap:15px}.nav summary{font-size:12px}}
@media(max-width:750px){.nav{height:auto;min-height:115px;flex-wrap:wrap;justify-content:center;gap:0;padding-bottom:13px}.nav .brand{height:65px}.nav .logo{height:65px}.nav .navlinks,.nav .links{display:flex;width:100%;justify-content:flex-start;gap:18px;overflow-x:auto;overflow-y:visible;padding:8px 2px 11px;font-size:12px}.nav .links a:not(.btn){display:inline-flex}.nav nav .hotel-search-link{padding:8px 13px;font-size:11px;flex-shrink:0}.nav nav>a,.nav details{flex-shrink:0}.nav details{position:static}.nav summary{padding:8px 0}.nav .submenu{position:fixed;top:118px;left:15px;right:15px;width:auto;max-height:55vh;overflow:auto}.nav details[open] .submenu{display:grid}}
.filters{grid-template-columns:repeat(4,1fr)!important}.filters .filter:first-child{grid-column:span 2}.layout{grid-template-columns:minmax(0,1.5fr) minmax(340px,1fr)!important}.hotel-intro{font-size:10px;color:var(--muted);margin:4px 0 10px}.hotel-matches{display:grid;gap:8px;margin-bottom:16px}.hotel-card{border:1px solid var(--line);border-radius:7px;padding:11px;background:#fafbf8}.hotel-card strong{display:block;font-size:12px}.hotel-card span{display:block;font-size:10px;color:var(--muted);margin:2px 0 7px}.hotel-card a{font-size:10px;color:var(--green);font-weight:bold}.day button.concerts{background:#f1e4f2;border-color:#7b477f;color:#633767}.empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}
@media(max-width:1000px){.filters{grid-template-columns:repeat(2,1fr)!important}.layout{grid-template-columns:minmax(0,1fr) 340px!important}}
@media(max-width:750px){.filters{grid-template-columns:1fr 1fr!important}.filters .filter:first-child{grid-column:1/-1}.layout{grid-template-columns:1fr!important}}
