/* REME 5.3 — per-menu-item Builder mega panels: true viewport width + theme compatibility */
:root{--rme-mega-top:80px}

/* REME Navigation Menu element */
.rm-w .rf-nav-h .rf-nav-li.rme-built-mega{position:static!important}
.rm-w .rf-rme-mega-panel{
  position:fixed!important;z-index:100000;top:var(--rme-mega-top,80px)!important;left:0!important;right:0!important;
  width:100vw!important;max-width:none!important;margin:0!important;padding:0!important;
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);
  transition:opacity .22s ease,transform .28s cubic-bezier(.2,.8,.2,1),visibility .22s ease;
  background:transparent;will-change:transform,opacity;backface-visibility:hidden
}
.rm-w .rf-nav-li.rme-built-mega:hover>.rf-rme-mega-panel,
.rm-w .rf-nav-li.rme-built-mega.is-open>.rf-rme-mega-panel,
.rm-w .rf-nav-li.rme-built-mega:focus-within>.rf-rme-mega-panel{
  opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)
}
.rm-w .rf-rme-mega-in{
  width:100%!important;max-width:none!important;margin:0!important;overflow:auto;
  max-height:calc(100vh - var(--rme-mega-top,80px));
  border-radius:0 0 20px 20px;background:var(--rm-card,#fff);
  box-shadow:0 30px 80px -34px rgba(15,23,42,.48),0 1px 0 rgba(15,23,42,.08);text-align:start
}
.rm-w .rf-rme-mega-in>.rmb-content{width:100%!important;max-width:none!important;margin:0!important}
.rm-w .rf-rme-mega-in>.rmb-content>.rmb-row{width:100%!important;max-width:none!important}
.rm-w .rf-rme-mega-in>.rmb-content>.rmb-row.rmb-row-boxed>.rmb-row-in{max-width:1540px!important;margin-inline:auto!important;padding-inline:clamp(18px,3vw,42px)!important}
.rm-w .rf-nav-h:not(.rf-anim-none) .rf-rme-mega-panel{transform-origin:50% 0}
.rm-w .rf-nav-h:not(.rf-anim-none) .rf-nav-li.rme-built-mega:hover>.rf-rme-mega-panel,
.rm-w .rf-nav-h:not(.rf-anim-none) .rf-nav-li.rme-built-mega.is-open>.rf-rme-mega-panel,
.rm-w .rf-nav-h:not(.rf-anim-none) .rf-nav-li.rme-built-mega:focus-within>.rf-rme-mega-panel{
  opacity:1;visibility:visible;pointer-events:auto;filter:none;clip-path:inset(0);animation:rfMenuIn var(--rf-md,.4s) var(--rf-mease,cubic-bezier(.2,.8,.2,1)) both
}
.rm-w .rf-anim-none .rf-rme-mega-panel{transition:none!important;animation:none!important}
.rm-w .rf-anim-none .rf-nav-li.rme-built-mega:hover>.rf-rme-mega-panel,
.rm-w .rf-anim-none .rf-nav-li.rme-built-mega.is-open>.rf-rme-mega-panel,
.rm-w .rf-anim-none .rf-nav-li.rme-built-mega:focus-within>.rf-rme-mega-panel{transform:none!important;filter:none!important;clip-path:none!important}
.rm-w .rf-acc-mega{padding:8px 0 14px;overflow:hidden}
.rm-w .rf-acc-mega .rmb-content{width:100%}
.rm-w .rf-acc-mega .rmb-row-in{padding-inline:8px}

/* Standard theme wp_nav_menu() compatibility.  Mega ON replaces the ordinary submenu visually. */
.rme-mega-menu-item{position:static!important}
.rme-mega-menu-item>.sub-menu,
.rme-mega-menu-item>ul.sub-menu,
.rme-mega-menu-item>.mega-menu,
.rme-mega-menu-item>.megamenu,
.rme-mega-menu-item>.menu-item-inner>.sub-menu{display:none!important;visibility:hidden!important;pointer-events:none!important}
.rme-wp-mega-panel{
  position:fixed!important;z-index:100000;left:0!important;right:0!important;top:var(--rme-mega-top,80px)!important;
  width:100vw!important;max-width:none!important;margin:0!important;
  max-height:calc(100vh - var(--rme-mega-top,80px));overflow:auto;
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);
  transition:opacity .2s ease,transform .25s cubic-bezier(.2,.8,.2,1),visibility .2s ease;
  background:#fff;border-radius:0 0 20px 20px;
  box-shadow:0 30px 80px -30px rgba(15,23,42,.48),0 1px 0 rgba(15,23,42,.08)
}
.rme-mega-menu-item.rme-mega-open>.rme-wp-mega-panel,
.rme-mega-menu-item:focus-within>.rme-wp-mega-panel{
  opacity:1;visibility:visible;pointer-events:auto;transform:none
}
.rme-wp-mega-inner{width:100%!important;max-width:none!important;margin:0!important}
.rme-wp-mega-inner>.rmb-content{width:100%!important;max-width:none!important;margin:0!important}
.rme-wp-mega-inner>.rmb-content>.rmb-row.rmb-row-boxed>.rmb-row-in{max-width:1540px!important;margin-inline:auto!important;padding-inline:clamp(18px,3vw,42px)!important}

/* Prevent theme wrappers from clipping fixed mega panels. */
.rmt-header,.rmt-header .rmb-content,.rmt-header .rmb-row,.rmt-header .rmb-row-in,.rmt-header .rmb-col,.rmt-header .rmb-col-in,
.rm-w:has(.rme-built-mega),.rf-nav:has(.rme-built-mega),.rf-nav-bar:has(.rme-built-mega),.rf-nav-list:has(.rme-built-mega){overflow:visible!important}

@media(max-width:767px){
  .rme-wp-mega-panel{left:0!important;right:0!important;width:100vw!important;border-radius:0;max-height:calc(100dvh - var(--rme-mega-top,64px))}
  .rm-w .rf-rme-mega-panel{display:none!important}
}
@media(prefers-reduced-motion:reduce){.rf-rme-mega-panel,.rme-wp-mega-panel{animation:none!important;transition:none!important}}


/* REME 5.4 — desktop body portal. This is the final authority for mega width. */
@media(min-width:768px){
  body>.rme-mega-portal{
    position:fixed!important;z-index:2147482000!important;
    top:var(--rme-mega-top,80px)!important;left:0!important;right:auto!important;
    width:100vw!important;max-width:100vw!important;margin:0!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;
    transform:translate3d(0,10px,0)!important;
    transition:opacity .2s ease,transform .26s cubic-bezier(.2,.8,.2,1),visibility .2s ease!important;
    overflow:auto!important;max-height:calc(100vh - var(--rme-mega-top,80px))!important;
    box-sizing:border-box!important
  }
  body>.rme-mega-portal.rme-mega-portal-open{
    opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translate3d(0,0,0)!important
  }
  body>.rme-mega-portal.rme-wp-mega-panel{background:#fff!important}
  body>.rme-mega-portal.rf-rme-mega-panel{background:transparent!important}
  body>.rme-mega-portal :where(.rme-wp-mega-inner,.rf-rme-mega-in,.rmb-content){box-sizing:border-box}
  body>.rme-mega-portal :where(.rme-wp-mega-inner,.rf-rme-mega-in){width:100%!important;max-width:none!important;margin:0!important}
  body>.rme-mega-portal .rmb-content{width:100%!important;max-width:none!important;margin:0!important}
  body>.rme-mega-portal .rmb-content>.rmb-row{width:100%!important;max-width:none!important;margin-inline:0!important}
  body>.rme-mega-portal .rmb-content>.rmb-row.rmb-row-boxed>.rmb-row-in{width:min(calc(100% - 40px),1540px)!important;max-width:1540px!important;margin-inline:auto!important}
}
@supports(width:100dvw){@media(min-width:768px){body>.rme-mega-portal{width:100dvw!important;max-width:100dvw!important}}}


/* REME 5.5 — mega menu viewport authority for H.H Tours demos. */
@media(min-width:768px){
  body.rme-tour-demo>.rme-mega-portal{
    left:0!important;right:0!important;width:auto!important;max-width:none!important;
    margin:0!important;border-radius:0!important
  }
  body.rme-tour-demo>.rme-mega-portal .rmb-content>.rmb-row.rmb-row-boxed>.rmb-row-in{
    width:min(calc(100% - 56px),1540px)!important;max-width:1540px!important;margin-inline:auto!important
  }
}

/* REME 5.6 — premium travel mega panel polish. */
@media(min-width:768px){
  body.rme-tour-demo>.rme-mega-portal{background:#fff!important;border-radius:0!important;border-top:1px solid #edf0ee!important;box-shadow:0 32px 90px -45px rgba(5,24,18,.52)!important}
  body.rme-tour-demo>.rme-mega-portal .rmb-content{background:#fff!important}
  body.rme-tour-demo>.rme-mega-portal .rmb-content>.rmb-row.rmb-row-boxed>.rmb-row-in{width:min(calc(100% - 56px),1540px)!important;max-width:1540px!important;margin-inline:auto!important;padding-block:24px!important}
  body.rme-tour-demo>.rme-mega-portal .rmb-content>.rmb-row.rmb-row-fullwidth>.rmb-row-in{width:100%!important;max-width:none!important;margin:0!important;padding:24px clamp(22px,4vw,72px)!important}
  body.rme-tour-demo>.rme-mega-portal img{border-radius:10px;aspect-ratio:16/10;object-fit:cover}
  body.rme-tour-demo>.rme-mega-portal .rm-btn{min-height:46px;border-radius:10px}
}

/* REME 8.0 — a fixed mega panel stops at the scrollbar instead of running 15px under it
   (100vw / 100dvw include the scrollbar; left:0 + right:0 is the visible width). */
.rm-w .rf-rme-mega-panel,.rme-wp-mega-panel{right:0!important;width:auto!important}
@media(min-width:768px){body>.rme-mega-portal{right:0!important;width:auto!important;max-width:none!important}}
