/* Rich mega menus: Safaris + Destinations (fd-megamenu.php). Desktop only; mobile keeps the normal sub-menu. */
.fdMM{display:none}
@media (min-width:1200px){
body.btMenuHorizontal .menuPort > nav > ul > li.fdMMHas > ul.sub-menu{display:none!important}
body.btMenuHorizontal .menuPort > nav > ul > li.fdMMHas{position:static}
.menuPort li.fdMMHas > .fdMM{
	--ac:#1bbed1;--ac2:#119fb0;--navy:#0f2a3a;--ink:#181818;--mut:#5f6b73;--line:#e8edf0;--soft:#f4f8f9;
	display:block;position:absolute;left:50%;top:100%;width:min(1180px,calc(100vw - 48px));
	background:#fff;border-top:3px solid var(--ac);box-shadow:0 30px 60px -14px rgba(15,42,58,.28),0 0 0 1px rgba(15,42,58,.05);
	opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,14px);
	transition:opacity .25s ease,transform .35s cubic-bezier(.2,.8,.2,1),visibility 0s linear .35s;z-index:40;text-align:left;cursor:default}
.menuPort li.fdMMHas > .fdMM:before{content:"";position:absolute;left:0;right:0;top:-26px;height:26px}
.menuPort li.fdMMHas.on > .fdMM,.menuPort li.fdMMHas:hover > .fdMM,.menuPort li.fdMMHas:focus-within > .fdMM{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);transition-delay:0s}

/* resets against theme menu link styling */
.menuPort .fdMM a,.menuPort .fdMM span,.menuPort .fdMM strong,.menuPort .fdMM small,.menuPort .fdMM em,.menuPort .fdMM b,.menuPort .fdMM code{text-transform:none;letter-spacing:normal;float:none}
.menuPort .fdMM a{display:block;padding:0!important;margin:0;height:auto!important;line-height:1.35!important;color:var(--ink)!important;text-decoration:none!important;opacity:1!important;font-weight:inherit;white-space:normal}
.menuPort .fdMM a:before,.menuPort .fdMM a:after{display:none!important;content:none!important}
.menuPort .fdMM svg{width:15px;height:15px;flex:none}

.fdMMIn{display:grid;grid-template-columns:232px minmax(0,1fr)}

/* rail */
.fdMMRail{display:flex;flex-direction:column;gap:0;padding:14px 10px 12px;background:var(--soft);border-right:1px solid var(--line)}
.fdMMRailHead{display:block;padding:0 10px 6px;font:700 11px/1 Montserrat,sans-serif!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--mut)}
.menuPort .fdMM a.fdMMTab{display:flex!important;align-items:center;gap:9px;padding:5px 10px!important;border-radius:6px;font:600 13px/1.2 Montserrat,sans-serif!important;color:var(--ink)!important;transition:background .18s,color .18s,box-shadow .18s}
.fdMMTab .fdMMTabT{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.fdMMTab > svg{color:var(--ac);opacity:0;transform:translateX(-4px);transition:opacity .18s,transform .18s}
.menuPort .fdMM a.fdMMTab.is-active,.menuPort .fdMM a.fdMMTab:hover{background:#fff;box-shadow:0 6px 18px -12px rgba(15,42,58,.45)}
.menuPort .fdMM a.fdMMTab.is-active{color:var(--ac2)!important}
.fdMMTab.is-active > svg,.fdMMTab:hover > svg{opacity:1;transform:none}
.fdMMIco{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:none;border-radius:50%;overflow:hidden;background:#fff;color:var(--ac);box-shadow:0 0 0 1px var(--line)}
.fdMMIco svg{width:100%!important;height:100%!important;display:block}
.fdMMIco.is-flags{background:none;box-shadow:none;width:32px;border-radius:0;gap:0}
.fdMMIco.is-flags i{display:block;width:19px;height:19px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 2px #fff}
.fdMMIco.is-flags i + i{margin-left:-8px}
.fdMMIco [data-fd-fa]:before{content:attr(data-fd-fa);font-family:FontAwesome;font-size:12px;line-height:1;font-weight:normal}
.fdMMIco [data-fd-t3]:before{content:attr(data-fd-t3);font-family:'FDTravel3',Travel3;font-size:14px;line-height:1;font-weight:normal}
.menuPort .fdMM a.fdMMAll{display:flex!important;align-items:center;gap:6px;margin-top:auto;padding:10px 10px 0!important;font:700 13px/1.2 Montserrat,sans-serif!important;color:var(--ac2)!important}
.fdMMAll svg{transition:transform .2s}
.fdMMAll:hover svg{transform:translateX(3px)}

/* panels */
.fdMMPanels{position:relative;padding:16px 22px 14px}
.fdMMPanel{display:none}
.fdMMPanel.is-active{display:block;animation:fdMMIn .3s ease}
@keyframes fdMMIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.fdMMHead{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}
.fdMMHead strong{font:800 16px/1.2 Montserrat,sans-serif!important;color:var(--ink)}
.fdMMHead > span{font:500 13.5px/1.2 Barlow,sans-serif!important;color:var(--mut)}
.menuPort .fdMM .fdMMHead a{display:inline-flex!important;align-items:center;gap:5px;margin-left:auto;font:700 13px/1 Montserrat,sans-serif!important;color:var(--ac2)!important}
.fdMMCards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.menuPort .fdMM a.fdMMCard{display:flex!important;flex-direction:column;gap:7px}
.fdMMImg{position:relative;display:block;aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:#dfe7ea}
.fdMMImg img{display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s,transform .6s cubic-bezier(.2,.8,.2,1)}
.fdMMImg img.is-in{opacity:1}
.fdMMCard:hover .fdMMImg img{transform:scale(1.06)}
.fdMMImg em{position:absolute;left:10px;top:10px;padding:5px 8px;border-radius:3px;background:rgba(15,42,58,.88);color:#fff;font:700 10.5px/1 Montserrat,sans-serif!important;font-style:normal!important;letter-spacing:.06em!important;text-transform:uppercase!important}
.fdMMTitle{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font:700 13px/1.3 Montserrat,sans-serif!important;color:var(--ink);transition:color .2s}
.fdMMCard:hover .fdMMTitle{color:var(--ac2)}
.fdMMMeta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:-3px;font:500 13px/1.35 Barlow,sans-serif!important;color:var(--mut)}
.fdMMMeta code{padding:0;background:none;font:700 10.5px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;color:#0b6f7b}
.fdMMMeta b{font:800 14px/1 Montserrat,sans-serif!important;color:var(--ink)}
.menuPort .fdMM a.fdMMPromo{display:flex!important;flex-direction:column;gap:6px;padding:14px 14px 14px!important;border-radius:6px;background:var(--navy);color:#fff!important;transition:background .2s,transform .2s}
.menuPort .fdMM a.fdMMPromo:hover{background:#133a4f;transform:translateY(-2px)}
.fdMMPromoK{font:700 10.5px/1 Montserrat,sans-serif!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--ac)}
.fdMMPromo strong{font:800 15px/1.25 Montserrat,sans-serif!important;color:#fff}
.fdMMPromo > span:not(.fdMMPromoK){font:500 13px/1.4 Barlow,sans-serif!important;color:rgba(255,255,255,.78)}
.fdMMPromo b{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-top:auto;min-height:34px;border-radius:4px;background:var(--ac);color:#fff;font:700 12.5px/1 Montserrat,sans-serif!important;transition:background .2s}
.fdMMPromo:hover b{background:var(--ac2)}
.fdMMLinks{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.fdMMLinks > span{margin-right:4px;font:700 11px/1 Montserrat,sans-serif!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--mut)}
.menuPort .fdMM .fdMMLinks a{display:inline-flex!important;padding:5px 10px!important;border-radius:999px;border:1px solid var(--line);font:600 12.5px/1 Barlow,sans-serif!important;color:var(--ink)!important;transition:border-color .2s,color .2s,background .2s}
.menuPort .fdMM .fdMMLinks a:hover{border-color:var(--ac);color:var(--ac2)!important;background:#eefafb}

/* booking bar */
.fdMMBar{display:flex;align-items:center;gap:12px;padding:9px 22px;background:#eefafb;border-top:1px solid #d6f0f3}
.fdMMBarT{flex:1;font:500 13.5px/1.35 Barlow,sans-serif!important;color:var(--mut)}
.fdMMBarT b{color:var(--ink);font-weight:700}
.menuPort .fdMM a.fdMMBtn{display:inline-flex!important;align-items:center;min-height:34px;padding:0 16px!important;border-radius:4px;background:var(--ac);color:#fff!important;font:700 13px/1 Montserrat,sans-serif!important;white-space:nowrap;transition:background .2s}
.menuPort .fdMM a.fdMMBtn:hover{background:var(--ac2)}
.menuPort .fdMM a.fdMMBtnWa{background:#25d366}
.menuPort .fdMM a.fdMMBtnWa:hover{background:#1ebe5a}
}
@media (min-width:1200px) and (max-width:1320px){
.fdMMIn{grid-template-columns:214px minmax(0,1fr)}
.fdMMCards{gap:12px}
.fdMMPanels{padding:14px 18px 12px}
}
@media (prefers-reduced-motion:reduce){.fdMM,.fdMM *{transition:none!important;animation:none!important}}

/* FD-MM-TIDY-START: declutter + spacing (Oct 2026). Desktop only; the mobile menu is unchanged. */
@media (min-width:1200px){
.fdMMIn{grid-template-columns:250px minmax(0,1fr)}
.fdMMRail{padding:18px 12px 16px;gap:2px}
.fdMMRailHead{padding:0 10px 10px}
.menuPort .fdMM a.fdMMTab{padding:8px 10px!important;gap:10px}
.fdMMTab .fdMMTabT{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menuPort .fdMM a.fdMMAll{padding:14px 10px 0!important}
.fdMMPanels{padding:20px 26px 18px}
.fdMMHead{margin-bottom:16px}
.fdMMHead > span{display:none}
.fdMMCards{gap:18px}
.menuPort .fdMM a.fdMMCard{gap:8px}
.fdMMTitle{min-height:2.6em}
.fdMMMeta{margin-top:0}
.fdMMLinks{margin-top:18px;padding-top:12px;gap:8px}
.fdMMBar{padding:11px 26px}
}
@media (min-width:1200px) and (max-width:1320px){
.fdMMIn{grid-template-columns:228px minmax(0,1fr)}
.fdMMPanels{padding:16px 20px 14px}
.fdMMCards{gap:14px}
}
/* FD-MM-TIDY-END */