
/* EcoSapa Cruise Pages v2.23.25 — Header Cruise Mega Menu */

@media (min-width:1024px){
  li.ecosapa-cruise-mega-root{
    position:relative!important;
  }

  li.ecosapa-cruise-mega-root>a{
    position:relative;
    z-index:2;
    display:inline-flex!important;
    align-items:center!important;
    min-height:42px;
    padding:0 16px!important;
    border-radius:999px!important;
    transition:background .18s ease,color .18s ease,box-shadow .18s ease!important;
  }

  li.ecosapa-cruise-mega-root:hover>a,
  li.ecosapa-cruise-mega-root:focus-within>a,
  li.ecosapa-cruise-mega-current>a{
    background:#ed1c24!important;
    color:#fff!important;
    box-shadow:0 7px 18px rgba(237,28,36,.16)!important;
  }

  li.ecosapa-cruise-mega-root>ul.sub-menu{
    position:absolute!important;
    left:-64px!important;
    top:calc(100% + 8px)!important;
    z-index:99990!important;
    display:grid!important;
    grid-template-columns:1.18fr 1fr 1fr .96fr!important;
    grid-auto-flow:row!important;
    gap:5px 18px!important;
    width:min(900px,calc(100vw - 44px))!important;
    min-width:820px!important;
    margin:0!important;
    padding:18px!important;
    border:1px solid #e1e6e4!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 22px 52px rgba(28,43,50,.16)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(8px)!important;
    transition:opacity .16s ease,transform .16s ease,visibility .16s ease!important;
  }

  li.ecosapa-cruise-mega-root:hover>ul.sub-menu,
  li.ecosapa-cruise-mega-root:focus-within>ul.sub-menu{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }

  li.ecosapa-cruise-mega-root>ul.sub-menu>li{
    position:relative!important;
    float:none!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }

  li.ecosapa-cruise-mega-root>ul.sub-menu>li>a{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:2px 9px!important;
    align-items:center!important;
    width:100%!important;
    min-height:43px!important;
    padding:8px 9px!important;
    border:1px solid transparent!important;
    border-radius:9px!important;
    background:transparent!important;
    color:#34484f!important;
    font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important;
    font-size:13.5px!important;
    line-height:1.2!important;
    font-weight:700!important;
    text-transform:none!important;
    letter-spacing:0!important;
    white-space:normal!important;
    box-shadow:none!important;
    transition:background .14s ease,border-color .14s ease,color .14s ease!important;
  }

  li.ecosapa-cruise-mega-root>ul.sub-menu>li>a:hover,
  li.ecosapa-cruise-mega-root>ul.sub-menu>li>a:focus{
    border-color:#e1e6e4!important;
    background:#f8faf9!important;
    color:#d71920!important;
  }

  .ecosapa-mega-count{
    grid-column:2;
    grid-row:1;
    color:#929c99!important;
    font-size:10.5px!important;
    line-height:1!important;
    font-weight:700!important;
  }

  .ecosapa-mega-desc{
    grid-column:1/-1;
    display:block!important;
    margin:0!important;
    color:#8a9692!important;
    font-size:10.5px!important;
    line-height:1.25!important;
    font-weight:500!important;
  }

  .ecosapa-mega-feature{
    grid-column:1!important;
    grid-row:1 / span 8!important;
    align-self:stretch!important;
    padding-right:4px!important;
  }

  .ecosapa-mega-feature>a{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    min-height:100%!important;
    padding:17px!important;
    border-color:#f1d5d7!important;
    background:linear-gradient(145deg,#fff7f7 0%,#fff 72%)!important;
  }

  .ecosapa-mega-feature>a:before{
    content:"HALONG BAY CRUISES";
    display:block;
    margin-bottom:10px;
    color:#ed1c24;
    font-size:9.5px;
    line-height:1;
    font-weight:900;
    letter-spacing:.09em;
  }

  .ecosapa-mega-feature>a .ecosapa-mega-count{
    order:3;
    display:inline-flex!important;
    margin-top:16px!important;
    padding:5px 8px!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#5e6d68!important;
    font-size:11px!important;
  }

  .ecosapa-mega-feature>a .ecosapa-mega-desc{
    order:2;
    margin-top:7px!important;
    color:#74827d!important;
    font-size:11.5px!important;
    line-height:1.45!important;
  }

  .ecosapa-mega-feature>a{
    color:#253d45!important;
    font-size:16px!important;
    font-weight:850!important;
  }

  .ecosapa-mega-style{grid-column:2!important}
  .ecosapa-mega-route{grid-column:3!important}
  .ecosapa-mega-duration{grid-column:4!important}

  .ecosapa-mega-style-start,
  .ecosapa-mega-route-start,
  .ecosapa-mega-duration-start{
    margin-top:23px!important;
  }

  .ecosapa-mega-style-start:before,
  .ecosapa-mega-route-start:before,
  .ecosapa-mega-duration-start:before{
    position:absolute;
    left:8px;
    top:-18px;
    color:#7e8b87;
    font-family:Roboto,"Helvetica Neue",Arial,sans-serif;
    font-size:9.5px;
    line-height:1;
    font-weight:900;
    letter-spacing:.085em;
  }

  .ecosapa-mega-style-start:before{content:"CRUISE STYLE"}
  .ecosapa-mega-route-start:before{content:"BAY & ROUTE"}
  .ecosapa-mega-duration-start:before{content:"TRIP LENGTH"}

  /* Suppress theme mega-menu widths/columns inside this one controlled panel. */
  li.ecosapa-cruise-mega-root>ul.sub-menu ul.sub-menu{
    display:none!important;
  }
}

/* Mobile/tablet: keep the site's normal menu drawer, but present the
   repaired cruise children as a clean readable list. */
@media (max-width:1023px){
  li.ecosapa-cruise-mega-root>ul.sub-menu>li>a{
    font-weight:600!important;
  }
  li.ecosapa-cruise-mega-root .ecosapa-mega-desc{
    display:none!important;
  }
  li.ecosapa-cruise-mega-root .ecosapa-mega-count{
    margin-left:5px;
    color:#919b98;
    font-size:10px;
  }
  li.ecosapa-cruise-mega-root .ecosapa-mega-feature>a{
    color:#d71920!important;
    font-weight:800!important;
  }
  li.ecosapa-cruise-mega-root .ecosapa-mega-style-start:before,
  li.ecosapa-cruise-mega-root .ecosapa-mega-route-start:before,
  li.ecosapa-cruise-mega-root .ecosapa-mega-duration-start:before{
    display:block;
    margin:12px 0 5px;
    color:#8a9591;
    font-size:9px;
    font-weight:900;
    letter-spacing:.08em;
  }
  li.ecosapa-cruise-mega-root .ecosapa-mega-style-start:before{content:"CRUISE STYLE"}
  li.ecosapa-cruise-mega-root .ecosapa-mega-route-start:before{content:"BAY & ROUTE"}
  li.ecosapa-cruise-mega-root .ecosapa-mega-duration-start:before{content:"TRIP LENGTH"}
}
