/* Native Joomla menu hierarchy; three columns on desktop, expandable on mobile. */
@media(min-width:992px){
header.container-header .container-nav,header.container-header .navbar,header.container-header .navbar-collapse,header.container-header .mod-menu,header.container-header .mod-menu>.item-102{position:static!important}
header.container-header .mod-menu>.item-102>ul{left:18px!important;right:18px!important;top:auto!important;width:auto!important;max-width:none!important;min-width:0!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr);gap:24px;padding:24px!important;background:#fff!important;color:#164d6a;border:1px solid #b8e2ed;border-top:5px solid #22b6ce;border-radius:0 0 20px 20px;box-shadow:0 18px 40px #17485c26;max-height:72vh;overflow-y:auto;z-index:1200}
header.container-header .mod-menu>.item-102>ul.mm-show{display:grid!important}
header.container-header .item-102>ul>li{display:block!important;min-width:0;padding:0 12px!important;border-right:1px solid #e5edf2}
header.container-header .item-102>ul>li:last-child{border-right:0}
header.container-header .item-102>ul>li>a,header.container-header .item-102>ul>li>span{display:block;color:#9e2c6c!important;font-size:18px!important;font-weight:800!important;padding:0 0 12px!important;border-bottom:2px solid #f4d3e4;margin-bottom:8px}
header.container-header .item-102>ul>li>button{display:none!important}
header.container-header .item-102>ul>li>ul{display:block!important;position:static!important;visibility:visible!important;height:auto!important;opacity:1!important;width:auto!important;min-width:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important;transform:none!important;overflow:visible!important}
header.container-header .item-102 ul a{white-space:normal!important;line-height:1.6;color:#164d6a!important;font-size:15px;padding:7px 4px!important}
header.container-header .item-102 ul li{max-width:100%}
header.container-header .item-102 ul a:hover,header.container-header .item-102 ul a:focus-visible{color:#a32f69!important;background:#fff1f7}
header.container-header .item-102>ul>li>ul>li>ul{position:static!important;min-width:0!important;box-shadow:none!important;margin-left:12px!important;border-left:2px solid #c5eaf0!important}
}
@media(max-width:991.98px){header.container-header .item-102 ul{max-width:100%;white-space:normal}header.container-header .item-102 ul a{white-space:normal!important;line-height:1.55;padding:9px 7px!important}header.container-header .item-102>ul>li>a,header.container-header .item-102>ul>li>span{color:#9e2c6c!important;font-weight:800}header.container-header .item-102 ul ul{margin-left:8px!important;border-left:2px solid #bfe8f0}}
@media(min-width:992px){
header.container-header .mod-menu>.item-102>ul{top:var(--had-menu-top,205px)!important;bottom:auto!important;margin:0!important;box-sizing:border-box}
header.container-header .item-102>ul>li>button.mod-menu__heading{display:block!important;width:100%;text-align:left;color:#9e2c6c!important;font-size:18px!important;font-weight:800!important;padding:0 0 12px!important;border:0;border-bottom:2px solid #f4d3e4;margin:0 0 8px;background:transparent}
header.container-header .item-102>ul>li>button.mod-menu__heading::after{display:none!important}
header.container-header .item-102>ul>li>ul>li{padding:0!important;margin:0!important}
}
/* Compact spacing and a clear gap beneath every row of the main navigation. */
@media(min-width:992px){
header.container-header .mod-menu>.item-102>ul{top:calc(var(--had-menu-top,205px) + 8px)!important;padding:14px 20px!important;gap:20px;grid-template-columns:minmax(0,1.15fr) minmax(0,1.15fr) minmax(0,1fr)}
header.container-header .item-102 ul li{padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important}
header.container-header .item-102 ul a{padding:3.5px 4px!important;line-height:1.4!important}
header.container-header .item-102>ul>li>a,header.container-header .item-102>ul>li>span,header.container-header .item-102>ul>li>button.mod-menu__heading{padding-bottom:6px!important;margin-bottom:4px!important}
header.container-header .item-102 ul ul{row-gap:0!important}
}
@media(max-width:991.98px){header.container-header .item-102 ul a{padding-top:4.5px!important;padding-bottom:4.5px!important;line-height:1.4!important}header.container-header .item-102 ul li{margin-top:0!important;margin-bottom:0!important}}
@media(min-width:992px){header.container-header .item-102>ul>li>button.mod-menu__heading{height:auto!important;min-height:0!important;position:static!important;line-height:1.4!important;min-width:0!important}}
/* Tighter columns and rows requested 14 October. */
@media(min-width:992px){
header.container-header .mod-menu>.item-102>ul{left:50%!important;right:auto!important;width:min(1100px,calc(100% - 36px))!important;transform:translateX(-50%)!important;padding:10px 12px!important;gap:10px!important}
header.container-header .item-102>ul>li{padding:0 8px!important}
header.container-header .item-102 ul a{padding:2px 3px!important;line-height:1.3!important}
header.container-header .item-102>ul>li>a,header.container-header .item-102>ul>li>span,header.container-header .item-102>ul>li>button.mod-menu__heading{padding-bottom:4px!important;margin-bottom:3px!important}
}
@media(max-width:991.98px){header.container-header .item-102 ul a{padding-top:3px!important;padding-bottom:3px!important;line-height:1.35!important}}
@media(min-width:992px){header.container-header .mod-menu>.item-102>ul:not(:has(>.item-104,>.item-255)){width:min(900px,calc(100% - 36px))!important;grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Soft beach scenery for each top-level dropdown, with a readable light veil. */
header.container-header .mod-menu.mod-menu.mod-menu>li>ul{background:linear-gradient(115deg,rgba(255,247,251,.88),rgba(243,251,255,.82)),url("../../images/menu-beach-20261014.webp") center 70%/cover no-repeat!important}