:root{
  --nmm-bg:#071f1d;
  --nmm-accent:#d8b35f;
  --nmm-text:#fff;
  --nmm-logo-width:245px;
  --nmm-height:94px;
}

body.nmm-hide-theme-header #masthead,
body.nmm-hide-theme-header .site-header,
body.nmm-hide-theme-header header.site-header,
body.nmm-hide-theme-header .elementor-location-header,
body.nmm-hide-theme-header .ast-primary-header-bar{
  display:none!important;
}

body.nmm-header-enabled{
  --nmm-offset:0px;
}

body.nmm-header-sticky{
  padding-top:var(--nmm-offset)!important;
}

.nmm-header{
  position:relative;
  z-index:99990;
  width:100%;
  color:var(--nmm-text);
  font-family:inherit;
}

body.admin-bar .nmm-header.is-fixed{
  top:32px;
}

.nmm-header.is-fixed{
  position:fixed;
  top:0;
  left:0;
  right:0;
}

.nmm-shell{
  width:min(1320px,calc(100% - 34px));
  margin:0 auto;
}

.nmm-topbar{
  position:relative;
  overflow:hidden;
  min-height:30px;
  display:flex;
  align-items:center;
  color:#2d1d05;
  background:
    linear-gradient(90deg,#c99738,var(--nmm-accent),#f2d89b,var(--nmm-accent),#c99738);
  background-size:240% 100%;
  animation:nmmGoldFlow 8s linear infinite;
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.nmm-topbar .nmm-shell{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:7px 0;
  text-align:center;
}

.nmm-topbar__spark{
  animation:nmmSpark 1.7s ease-in-out infinite alternate;
}

.nmm-mainbar{
  position:relative;
  overflow:visible;
  min-height:var(--nmm-height);
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 82% -80%,rgba(216,179,95,.22),transparent 45%),
    linear-gradient(135deg,var(--nmm-bg),#0d302c 58%,#4d0b16 150%);
  box-shadow:0 12px 35px rgba(0,0,0,.22);
  transition:min-height .25s ease,background-color .25s ease,box-shadow .25s ease;
}

.nmm-header.is-scrolled .nmm-mainbar{
  min-height:74px;
  box-shadow:0 15px 38px rgba(0,0,0,.32);
}

.nmm-mainbar::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(115deg,transparent 0 42%,rgba(255,255,255,.055) 48%,transparent 54%) 0 0/260% 100% no-repeat;
  animation:nmmShine 8s ease-in-out infinite;
}

.nmm-shell--header{
  position:relative;
  z-index:3;
  min-height:inherit;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
}

.nmm-brand{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  transition:transform .25s ease,filter .25s ease;
}

.nmm-brand:hover{
  transform:translateY(-2px) scale(1.015);
  filter:drop-shadow(0 8px 13px rgba(216,179,95,.22));
}

.nmm-brand img{
  width:min(var(--nmm-logo-width),28vw);
  height:auto;
  max-height:72px;
  display:block;
  object-fit:contain;
  transition:max-height .25s ease,width .25s ease;
}

.nmm-header.is-scrolled .nmm-brand img{
  max-height:57px;
}

.nmm-nav{
  min-width:0;
  display:flex;
  justify-content:center;
}

.nmm-menu,
.nmm-menu ul{
  padding:0;
  margin:0;
  list-style:none;
}

.nmm-menu{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
}

.nmm-menu > li{
  position:relative;
}

.nmm-menu a{
  position:relative;
  display:flex;
  align-items:center;
  gap:6px;
  padding:13px 13px;
  color:var(--nmm-text);
  border-radius:13px;
  font-size:14px;
  line-height:1.2;
  font-weight:800;
  white-space:nowrap;
  text-decoration:none!important;
  transition:color .2s ease,background-color .2s ease,transform .2s ease;
}

.nmm-menu > li > a::after{
  content:"";
  position:absolute;
  left:13px;
  right:13px;
  bottom:6px;
  height:2px;
  border-radius:2px;
  background:var(--nmm-accent);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .22s ease;
}

.nmm-menu > li:hover > a,
.nmm-menu > li:focus-within > a,
.nmm-menu > .current-menu-item > a,
.nmm-menu > .current-menu-ancestor > a{
  color:#fff3ce;
  background:rgba(255,255,255,.07);
}

.nmm-menu > li:hover > a::after,
.nmm-menu > li:focus-within > a::after,
.nmm-menu > .current-menu-item > a::after,
.nmm-menu > .current-menu-ancestor > a::after{
  transform:scaleX(1);
}

.nmm-menu .menu-item-has-children > a::before{
  content:"⌄";
  order:2;
  color:var(--nmm-accent);
  font-size:13px;
  transform:translateY(-1px);
}

.nmm-nav,
.nmm-menu,
.nmm-menu li{
  overflow:visible;
}

.nmm-menu .sub-menu{
  position:absolute;
  z-index:99999;
  top:100%;
  left:50%;
  min-width:245px;
  max-width:min(330px,calc(100vw - 24px));
  padding:10px;
  margin:0;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,8px) scale(.985);
  border:1px solid rgba(216,179,95,.34);
  border-radius:18px;
  background:rgba(4,24,22,.985);
  box-shadow:0 24px 60px rgba(0,0,0,.42);
  backdrop-filter:blur(14px);
  transition:opacity .18s ease,visibility .18s ease,transform .18s ease;
}

.nmm-menu .sub-menu::before{
  content:"";
  position:absolute;
  top:-7px;
  left:50%;
  width:14px;
  height:14px;
  border-top:1px solid rgba(216,179,95,.34);
  border-left:1px solid rgba(216,179,95,.34);
  background:rgba(4,24,22,.985);
  transform:translateX(-50%) rotate(45deg);
}

.nmm-menu li:hover > .sub-menu,
.nmm-menu li:focus-within > .sub-menu,
.nmm-menu li.is-submenu-open > .sub-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0) scale(1);
}

/* Alineación segura cuando un desplegable está cerca del borde derecho. */
.nmm-menu > li.nmm-submenu-align-right > .sub-menu{
  left:auto;
  right:0;
  transform:translate(0,8px) scale(.985);
}

.nmm-menu > li.nmm-submenu-align-right:hover > .sub-menu,
.nmm-menu > li.nmm-submenu-align-right:focus-within > .sub-menu,
.nmm-menu > li.nmm-submenu-align-right.is-submenu-open > .sub-menu{
  transform:translate(0,0) scale(1);
}

.nmm-menu > li.nmm-submenu-align-right > .sub-menu::before{
  left:auto;
  right:22px;
  transform:rotate(45deg);
}

.nmm-menu .sub-menu li{
  position:relative;
}

.nmm-menu .sub-menu a{
  padding:11px 13px;
  border-radius:11px;
  color:rgba(255,255,255,.91);
  white-space:normal;
}

.nmm-menu .sub-menu a:hover,
.nmm-menu .sub-menu a:focus{
  color:#fff;
  background:rgba(216,179,95,.16);
  transform:translateX(3px);
}

.nmm-menu .sub-menu .menu-item-has-children > a{
  padding-right:34px;
}

.nmm-menu .sub-menu .sub-menu{
  top:-10px;
  left:100%;
  margin-left:0;
  transform:translate(8px,0) scale(.985);
}

.nmm-menu .sub-menu .sub-menu::before{
  display:none;
}

.nmm-menu .sub-menu li:hover > .sub-menu,
.nmm-menu .sub-menu li:focus-within > .sub-menu,
.nmm-menu .sub-menu li.is-submenu-open > .sub-menu{
  transform:translate(0,0) scale(1);
}

/* Los submenús de segundo/tercer nivel se abren hacia la izquierda si no caben. */
.nmm-menu .sub-menu li.nmm-submenu-flip > .sub-menu{
  left:auto;
  right:100%;
  transform:translate(-8px,0) scale(.985);
}

.nmm-menu .sub-menu li.nmm-submenu-flip:hover > .sub-menu,
.nmm-menu .sub-menu li.nmm-submenu-flip:focus-within > .sub-menu,
.nmm-menu .sub-menu li.nmm-submenu-flip.is-submenu-open > .sub-menu{
  transform:translate(0,0) scale(1);
}

.nmm-actions{
  display:flex;
  align-items:center;
  gap:12px;
}

.nmm-cta,
.nmm-mobile-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:46px;
  padding:11px 19px;
  color:#261a07!important;
  border:1px solid rgba(255,255,255,.26);
  border-radius:999px;
  background:linear-gradient(135deg,#f3dda9,var(--nmm-accent));
  box-shadow:0 12px 28px rgba(216,179,95,.22);
  font-size:13px;
  font-weight:900;
  text-decoration:none!important;
  white-space:nowrap;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}

.nmm-cta:hover,
.nmm-mobile-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(216,179,95,.31);
  filter:saturate(1.08);
}

.nmm-cta__arrow{
  transition:transform .2s ease;
}

.nmm-cta:hover .nmm-cta__arrow{
  transform:translateX(3px);
}

.nmm-toggle{
  width:48px;
  height:48px;
  display:none;
  place-items:center;
  padding:0;
  color:#fff;
  border:1px solid rgba(255,255,255,.19);
  border-radius:14px;
  background:rgba(255,255,255,.08);
  cursor:pointer;
}

.nmm-toggle__bars{
  width:22px;
  display:grid;
  gap:5px;
}

.nmm-toggle__bars i{
  display:block;
  height:2px;
  border-radius:3px;
  background:currentColor;
  transition:transform .2s ease,opacity .2s ease;
}

.nmm-mobile-panel{
  position:fixed;
  inset:0;
  z-index:100000;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .25s ease,visibility .25s ease;
}

.nmm-mobile-panel.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.nmm-mobile-panel__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.68);
  backdrop-filter:blur(5px);
}

.nmm-mobile-panel__drawer{
  position:absolute;
  top:0;
  right:0;
  width:min(430px,92vw);
  height:100%;
  overflow-y:auto;
  padding:22px;
  background:
    radial-gradient(circle at 90% 0,rgba(216,179,95,.17),transparent 26%),
    linear-gradient(160deg,#0b2d2a,#071f1d 62%,#3e0913 160%);
  box-shadow:-20px 0 60px rgba(0,0,0,.42);
  transform:translateX(104%);
  transition:transform .32s cubic-bezier(.22,.8,.31,1);
}

.nmm-mobile-panel.is-open .nmm-mobile-panel__drawer{
  transform:translateX(0);
}

.nmm-mobile-panel__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,.12);
}

.nmm-mobile-logo img{
  width:min(230px,62vw);
  height:auto;
  display:block;
}

.nmm-close{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  flex:0 0 44px;
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  background:rgba(255,255,255,.08);
  font-size:30px;
  line-height:1;
  cursor:pointer;
}

.nmm-mobile-panel__menu{
  padding:18px 0 10px;
}

.nmm-mobile-panel__menu .nmm-menu{
  display:block;
}

.nmm-mobile-panel__menu .nmm-menu > li{
  position:relative;
  border-bottom:1px solid rgba(255,255,255,.09);
}

.nmm-mobile-panel__menu .menu-item-has-children{
  position:relative;
}

.nmm-mobile-panel__menu .menu-item-has-children > a{
  padding-right:52px;
}

.nmm-mobile-panel__menu .nmm-menu a{
  min-height:54px;
  padding:13px 4px;
  border-radius:0;
  font-size:17px;
}

.nmm-mobile-panel__menu .nmm-menu > li > a::after,
.nmm-mobile-panel__menu .nmm-menu .menu-item-has-children > a::before{
  display:none;
}

.nmm-mobile-panel__menu .sub-menu{
  position:static;
  display:none;
  min-width:0;
  padding:0 0 12px 15px;
  opacity:1;
  visibility:visible;
  border:0;
  border-left:2px solid rgba(216,179,95,.42);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:none!important;
  pointer-events:auto;
  backdrop-filter:none;
}

.nmm-mobile-panel__menu li.is-submenu-open > .sub-menu{
  display:block;
  animation:nmmDrop .2s ease both;
}

.nmm-mobile-panel__menu .sub-menu::before{
  display:none;
}

.nmm-mobile-panel__menu .sub-menu a{
  min-height:44px;
  padding:9px 8px;
  color:rgba(255,255,255,.78);
  font-size:14px;
}

.nmm-submenu-toggle{
  position:absolute;
  top:7px;
  right:0;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  color:var(--nmm-accent);
  border:0;
  border-radius:10px;
  background:rgba(255,255,255,.07);
  font-size:20px;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease;
}

.is-submenu-open > .nmm-submenu-toggle{
  transform:rotate(180deg);
  background:rgba(216,179,95,.15);
}

.nmm-mobile-cta{
  width:100%;
  margin-top:14px;
  min-height:52px;
}

.nmm-snow{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:hidden;
  pointer-events:none;
}

.nmm-snowflake{
  position:absolute;
  top:-20px;
  color:rgba(255,255,255,.56);
  text-shadow:0 0 7px rgba(255,255,255,.28);
  animation:nmmSnow linear infinite;
}

body.nmm-menu-open{
  overflow:hidden;
}

.screen-reader-text{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

@keyframes nmmGoldFlow{
  to{background-position:240% 0}
}
@keyframes nmmSpark{
  from{opacity:.45;transform:scale(.8) rotate(0)}
  to{opacity:1;transform:scale(1.15) rotate(15deg)}
}
@keyframes nmmShine{
  0%,58%{background-position:130% 0}
  78%,100%{background-position:-110% 0}
}
@keyframes nmmSnow{
  0%{transform:translate3d(0,-20px,0) rotate(0);opacity:0}
  12%{opacity:.75}
  100%{transform:translate3d(var(--nmm-drift),125px,0) rotate(260deg);opacity:0}
}
@keyframes nmmDrop{
  from{opacity:0;transform:translateY(-5px)}
  to{opacity:1;transform:translateY(0)}
}

@media(max-width:1180px){
  .nmm-shell--header{gap:18px}
  .nmm-menu a{padding-inline:9px;font-size:13px}
  .nmm-cta{padding-inline:15px}
}

@media(max-width:1020px){
  .nmm-shell--header{grid-template-columns:auto 1fr}
  .nmm-nav{display:none}
  .nmm-actions{justify-self:end}
  .nmm-toggle{display:grid}
}

@media(max-width:600px){
  body.admin-bar .nmm-header.is-fixed{top:46px}
  .nmm-shell{width:min(100% - 20px,1320px)}
  .nmm-mainbar{min-height:80px}
  .nmm-header.is-scrolled .nmm-mainbar{min-height:70px}
  .nmm-brand img{width:min(205px,54vw);max-height:60px}
  .nmm-header.is-scrolled .nmm-brand img{max-height:52px}
  .nmm-cta{display:none}
  .nmm-topbar{font-size:9px;letter-spacing:.1em}
}

@media(prefers-reduced-motion:reduce){
  .nmm-header *,
  .nmm-header *::before,
  .nmm-header *::after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
  .nmm-snow{display:none!important}
}
