/*
 * Nakveti Theme v1.34.9 — Stage 2
 * Header / Mega Menu / Hero refinement.
 * Presentation only: no business logic or Core data ownership lives here.
 */

/* --------------------------------------------------------------------------
   Header — lighter, quieter and consistent with the translucent tools rail.
   -------------------------------------------------------------------------- */
.nk-site-header{
  background:var(--nk-header-bg,#fff)!important;
  border-bottom:1px solid color-mix(in srgb,var(--nk-line,#e2ddd2) 72%,transparent)!important;
  box-shadow:none;
  -webkit-backdrop-filter:blur(18px) saturate(1.06);
  backdrop-filter:blur(18px) saturate(1.06);
}
.nk-site-header.is-scrolled{
  background:var(--nk-header-bg,#fff)!important;
  box-shadow:0 8px 26px rgba(21,52,40,.055);
}
.nk-header-inner{position:relative;min-height:72px}
.nk-site-header.is-scrolled .nk-header-inner{min-height:68px}
.nk-primary-menu>li>a{padding-top:24px;padding-bottom:22px}
.nk-primary-menu>li>a:before{bottom:12px;height:1px}
.nk-account-control,
.nk-account-link,
.nk-account-toggle{
  border-color:color-mix(in srgb,var(--nk-line,#e2ddd2) 78%,transparent)!important;
}
.nk-account-control{
  background:color-mix(in srgb,var(--nk-surface,#fff) 72%,transparent)!important;
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
.nk-header-cta{
  min-height:44px;
  padding:10px 17px;
  border:1px solid color-mix(in srgb,var(--nk-green,#1f4d3a) 86%,#fff 14%);
  box-shadow:0 7px 18px rgba(31,77,58,.09);
}

/* --------------------------------------------------------------------------
   Mega menu — compact glass panel, balanced groups and softer hierarchy.
   The menu remains driven by Appearance > Menus and existing Nakveti metadata.
   -------------------------------------------------------------------------- */
@media(min-width:981px){
  .nk-primary-menu>.nk-mega-menu{position:static}
  .nk-primary-menu>.nk-mega-menu>.sub-menu{
    top:calc(100% - 1px);
    right:0;
    left:0;
    width:100%;
    max-width:none;
    min-width:0;
    padding:10px;
    gap:8px;
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:start;
    border:1px solid color-mix(in srgb,var(--nk-line,#e2ddd2) 78%,transparent);
    border-radius:16px;
    background:rgba(255,255,255,.96);
    background:color-mix(in srgb,var(--nk-surface,#fff) 96%,transparent);
    box-shadow:0 18px 46px rgba(19,48,37,.105);
    -webkit-backdrop-filter:blur(24px) saturate(1.08);
    backdrop-filter:blur(24px) saturate(1.08);
    transform:translateY(8px);
    pointer-events:none;
  }
  .nk-primary-menu>.nk-mega-menu.is-submenu-open>.sub-menu{
    transform:translateY(0);
    pointer-events:auto;
  }

  .nk-mega-menu>.sub-menu>li{
    min-width:0;
    align-self:start;
    padding:5px;
    border:1px solid color-mix(in srgb,var(--nk-line,#e2ddd2) 56%,transparent);
    border-radius:12px;
    background:color-mix(in srgb,var(--nk-surface,#fff) 52%,transparent);
    transition:border-color .16s ease,background-color .16s ease,transform .16s ease;
  }
  .nk-mega-menu>.sub-menu>li:hover{
    border-color:color-mix(in srgb,var(--nk-green,#1f4d3a) 18%,var(--nk-line,#e2ddd2));
    background:color-mix(in srgb,var(--nk-surface,#fff) 74%,transparent);
  }
  .nk-mega-menu>.sub-menu>li>a{
    min-height:42px;
    padding:9px 10px!important;
    gap:8px;
    border-radius:9px;
    color:var(--nk-green,#1f4d3a)!important;
    font-size:13.5px!important;
    font-weight:500!important;
    line-height:1.35;
  }
  .nk-mega-menu>.sub-menu>li>a:hover,
  .nk-mega-menu>.sub-menu>li>a:focus-visible{
    background:color-mix(in srgb,var(--nk-green,#1f4d3a) 6%,transparent)!important;
  }
  .nk-mega-menu>.sub-menu>li>.sub-menu{
    display:grid!important;
    gap:2px;
    padding:2px 4px 5px!important;
    background:transparent!important;
  }
  .nk-mega-menu>.sub-menu>li>.sub-menu li{width:100%}
  .nk-mega-menu>.sub-menu>li>.sub-menu a{
    min-height:34px;
    padding:7px 9px!important;
    border-radius:8px;
    color:var(--nk-text-2,var(--nk-muted,#66706a))!important;
    font-size:12.5px!important;
    font-weight:400!important;
    line-height:1.4;
  }
  .nk-mega-menu>.sub-menu>li>.sub-menu a:hover,
  .nk-mega-menu>.sub-menu>li>.sub-menu a:focus-visible{
    background:color-mix(in srgb,var(--nk-green,#1f4d3a) 7%,transparent)!important;
    color:var(--nk-green,#1f4d3a)!important;
  }
  .nk-mega-menu>.sub-menu>li:not(.menu-item-has-children)>a{
    min-height:48px;
    align-items:center;
  }
  .nk-menu-item-icon{min-width:19px;font-size:13px}
  .nk-menu-item-badge{padding:2px 6px;font-size:9px}
  .nk-menu-featured>a{
    background:var(--nk-green,#1f4d3a)!important;
    color:#fff!important;
  }
  .nk-menu-featured>a:hover,.nk-menu-featured>a:focus-visible{
    background:color-mix(in srgb,var(--nk-green,#1f4d3a) 84%,#000 16%)!important;
    color:#fff!important;
  }
}

html[data-nk-theme="dark"] .nk-site-header{
  background:color-mix(in srgb,var(--nk-dark-bg,#1d232a) 86%,transparent)!important;
  border-bottom-color:color-mix(in srgb,var(--nk-dark-muted,#c5ced3) 14%,transparent)!important;
}
html[data-nk-theme="dark"] .nk-site-header.is-scrolled{
  background:color-mix(in srgb,var(--nk-dark-bg,#1d232a) 94%,transparent)!important;
  box-shadow:0 9px 28px rgba(0,0,0,.16);
}
html[data-nk-theme="dark"] .nk-account-control{
  background:color-mix(in srgb,var(--nk-dark-tools,#2c3640) 70%,transparent)!important;
}
@media(min-width:981px){
  html[data-nk-theme="dark"] .nk-primary-menu>.nk-mega-menu>.sub-menu{
    border-color:color-mix(in srgb,var(--nk-dark-muted,#c5ced3) 15%,transparent);
    background:rgba(44,54,64,.96);
    background:color-mix(in srgb,var(--nk-dark-tools,#2c3640) 96%,transparent);
    box-shadow:0 18px 48px rgba(0,0,0,.25);
  }
  html[data-nk-theme="dark"] .nk-mega-menu>.sub-menu>li{
    border-color:color-mix(in srgb,var(--nk-dark-muted,#c5ced3) 11%,transparent);
    background:color-mix(in srgb,var(--nk-dark-card,#242c34) 54%,transparent);
  }
  html[data-nk-theme="dark"] .nk-mega-menu>.sub-menu>li:hover{
    border-color:color-mix(in srgb,var(--nk-green-2,#6c7145) 34%,transparent);
    background:color-mix(in srgb,var(--nk-dark-card,#242c34) 76%,transparent);
  }
  html[data-nk-theme="dark"] .nk-mega-menu>.sub-menu>li>a{color:var(--nk-dark-text,#f4f2ee)!important}
  html[data-nk-theme="dark"] .nk-mega-menu>.sub-menu>li>.sub-menu a{color:var(--nk-dark-muted,#c5ced3)!important}
  html[data-nk-theme="dark"] .nk-mega-menu>.sub-menu>li>.sub-menu a:hover,
  html[data-nk-theme="dark"] .nk-mega-menu>.sub-menu>li>.sub-menu a:focus-visible{color:var(--nk-dark-text,#f4f2ee)!important}
}

/* --------------------------------------------------------------------------
   Hero — restore legibility without flattening the photography.
   The contrast treatment is localized to the copy side, not a heavy full-photo veil.
   -------------------------------------------------------------------------- */
.nk-hero:after{
  background:
    linear-gradient(90deg,rgba(8,31,22,.72) 0%,rgba(8,31,22,.50) 34%,rgba(8,31,22,.20) 57%,rgba(8,31,22,.04) 78%),
    linear-gradient(180deg,rgba(8,31,22,.05) 14%,rgba(8,31,22,.10) 48%,rgba(8,31,22,.46) 100%)!important;
}
.nk-hero-content{
  color:#fff!important;
  text-shadow:0 1px 14px rgba(0,0,0,.28);
}
.nk-hero :is(h1,.nk-hero-slide-title){
  color:#fff!important;
  font-weight:500!important;
  letter-spacing:-.025em;
  text-shadow:0 2px 18px rgba(0,0,0,.30);
}
.nk-hero .nk-hero-text{
  color:rgba(255,255,255,.94)!important;
  font-weight:400!important;
  text-shadow:0 1px 12px rgba(0,0,0,.28);
}
.nk-hero .nk-actions{gap:10px}
.nk-hero .nk-button{
  min-height:46px;
  padding:11px 17px;
  border:1px solid rgba(255,255,255,.15)!important;
  border-radius:11px;
  background:var(--nk-green,#1f4d3a)!important;
  color:#fff!important;
  box-shadow:0 9px 24px rgba(7,27,19,.18);
  font-weight:400!important;
  text-shadow:none!important;
}
.nk-hero .nk-button:hover,
.nk-hero .nk-button:focus-visible{
  background:color-mix(in srgb,var(--nk-green,#1f4d3a) 84%,#000 16%)!important;
  color:#fff!important;
  transform:translateY(-1px);
}
.nk-hero .nk-button.is-light{
  border-color:rgba(255,255,255,.50)!important;
  background:rgba(246,242,233,.94)!important;
  color:var(--nk-green,#1f4d3a)!important;
  box-shadow:0 9px 24px rgba(7,27,19,.12);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
.nk-hero .nk-button.is-light:hover,
.nk-hero .nk-button.is-light:focus-visible{
  background:#fff!important;
  color:var(--nk-green,#1f4d3a)!important;
}
.nk-hero .nk-button:focus-visible{
  outline:2px solid #fff!important;
  outline-offset:3px;
}

/* Slider controls should feel like part of the same glass language. */
.nk-hero-dots{
  border-width:1px!important;
  border-color:rgba(255,255,255,.20)!important;
  background:rgba(18,43,33,.34)!important;
  box-shadow:0 8px 22px rgba(7,27,19,.12);
  -webkit-backdrop-filter:blur(14px) saturate(1.06);
  backdrop-filter:blur(14px) saturate(1.06);
}
.nk-region-wall__item{border-width:1px!important;box-shadow:0 8px 22px rgba(8,27,19,.16)}

/* Mobile/tablet: keep the navigation lightweight and preserve hero contrast. */
@media(max-width:980px){
  .nk-header-inner{min-height:68px}
  .nk-menu-toggle{
    border-width:1px!important;
    background:color-mix(in srgb,var(--nk-surface,#fff) 74%,transparent)!important;
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
  }
  .nk-nav{
    border-width:1px!important;
    background:color-mix(in srgb,var(--nk-surface,#fff) 90%,transparent)!important;
    box-shadow:0 18px 48px rgba(20,50,39,.14)!important;
    -webkit-backdrop-filter:blur(22px) saturate(1.06);
    backdrop-filter:blur(22px) saturate(1.06);
  }
  html[data-nk-theme="dark"] .nk-menu-toggle,
  html[data-nk-theme="dark"] .nk-nav{
    background:color-mix(in srgb,var(--nk-dark-tools,#2c3640) 88%,transparent)!important;
    border-color:color-mix(in srgb,var(--nk-dark-muted,#c5ced3) 14%,transparent)!important;
  }
  .nk-hero:after{
    background:
      linear-gradient(90deg,rgba(8,31,22,.70) 0%,rgba(8,31,22,.40) 65%,rgba(8,31,22,.13) 100%),
      linear-gradient(180deg,rgba(8,31,22,.08) 10%,rgba(8,31,22,.16) 52%,rgba(8,31,22,.54) 100%)!important;
  }
}
@media(max-width:640px){
  .nk-hero:after{
    background:linear-gradient(180deg,rgba(8,31,22,.20) 4%,rgba(8,31,22,.43) 48%,rgba(8,31,22,.76) 100%)!important;
  }
  .nk-hero :is(h1,.nk-hero-slide-title){letter-spacing:-.018em}
  .nk-hero .nk-actions{gap:8px}
  .nk-hero .nk-button{min-height:44px;padding:10px 14px}
}

@media(prefers-reduced-motion:reduce){
  .nk-mega-menu>.sub-menu>li,.nk-hero .nk-button{transition:none!important}
}
