/**
 * OTCO header visual layer.
 * Parent theme owns structure/behaviour; child owns presentation.
 */
:root{
  --otco-bg:#08080b;
  --otco-bg-soft:#111116;
  --otco-text:#fff;
  --otco-text-muted:#c9c4bf;
  --otco-accent:#d8c0ad;
  --otco-accent-text:#111114;
  --otco-border:rgba(255,255,255,.14);
  --otco-header-bg:rgba(8,8,11,.98);
  --otco-header-bg-scrolled:rgba(8,8,11,.90);
  --otco-header-max-width:1480px;
  --otco-nav-gap:0;
}

.site-header{
  position:sticky;
  top:0;
  z-index:1100;
  width:100%;
  color:var(--otco-text);
  background:var(--otco-header-bg);
  border-bottom:1px solid transparent;
  transition:background-color .24s ease,border-color .24s ease,box-shadow .24s ease,transform .24s ease;
}

.site-header.is-scrolled{
  background:var(--otco-header-bg-scrolled);
  border-bottom-color:var(--otco-border);
  box-shadow:0 14px 38px rgba(0,0,0,.22);
  -webkit-backdrop-filter:blur(16px) saturate(135%);
  backdrop-filter:blur(16px) saturate(135%);
}

.site-header .container{
  width:min(calc(100% - 48px),var(--otco-header-max-width));
  max-width:none;
  padding-inline:0;
}

.site-header__top-inner{
  min-height:78px;
  transition:min-height .24s ease;
}
.site-header.is-scrolled .site-header__top-inner{min-height:64px}

.site-branding{min-width:max-content}
.site-brand,.custom-logo-link{position:relative;z-index:1}
.site-brand{
  display:inline-flex;
  align-items:center;
  color:var(--otco-text);
  font-size:clamp(1.15rem,1.45vw,1.55rem);
  font-weight:600;
  line-height:1;
  letter-spacing:-.025em;
  text-decoration:none;
  transition:color .18s ease,opacity .18s ease,transform .18s ease;
}
.site-brand:hover{color:var(--otco-accent);opacity:1;transform:translateY(-1px)}
.custom-logo{display:block;max-height:42px;width:auto;transition:max-height .24s ease,opacity .18s ease}
.custom-logo-link:hover .custom-logo{opacity:.78}
.site-header.is-scrolled .custom-logo{max-height:34px}

.site-header__actions{color:var(--otco-text)}
.site-header__actions .btn,
.site-header__action{
  border-color:var(--otco-accent);
  background:var(--otco-accent);
  color:var(--otco-accent-text);
}
.site-header__actions .btn:hover,
.site-header__actions .btn:focus-visible,
.site-header__action:hover,
.site-header__action:focus-visible{
  border-color:var(--otco-text);
  background:var(--otco-text);
  color:var(--otco-bg);
}

.site-header__nav{border-top:1px solid var(--otco-border)}
.primary-nav{width:100%}
.primary-nav__list{
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  flex-wrap:nowrap;
  gap:var(--otco-nav-gap);
  width:100%;
  min-width:0;
}
.primary-nav .nav-item{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:1 1 auto;
  min-width:0;
  padding-inline:clamp(.75rem,1.2vw,1.35rem);
  white-space:nowrap;
}
.primary-nav__list>.nav-item::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:1px;
  height:28px;
  background:rgba(255,255,255,.18);
  transform:translateY(-50%);
}
.primary-nav .nav-link{
  position:relative;
  padding:1rem 0;
  color:#fff;
  font-size:clamp(.875rem,.9vw,1rem);
  font-weight:500;
  line-height:1.2;
  text-decoration:none;
  transition:color .18s ease,opacity .18s ease;
}
.primary-nav .nav-link::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:.62rem;
  height:1px;
  background:var(--otco-accent);
  transform:scaleX(0);
  transform-origin:right center;
  transition:transform .22s cubic-bezier(.22,.61,.36,1);
}
.primary-nav .nav-link:hover,
.primary-nav .nav-link:focus-visible,
.primary-nav .is-current>.nav-link{color:#fff}
.primary-nav .nav-link:hover::after,
.primary-nav .nav-link:focus-visible::after,
.primary-nav .is-current>.nav-link::after{
  transform:scaleX(1);
  transform-origin:left center;
}
.primary-nav .nav-link:focus-visible{
  outline:1px solid var(--otco-accent);
  outline-offset:5px;
  border-radius:2px;
}
.primary-nav .is-current>.nav-link{font-weight:600}

.submenu-toggle{
  width:1.65rem;
  height:1.65rem;
  margin-left:-.45rem;
  color:var(--otco-text-muted);
  border-radius:999px;
  transition:color .18s ease,background-color .18s ease,transform .18s ease;
}
.submenu-toggle:hover,.submenu-toggle:focus-visible{
  color:var(--otco-accent);
  background:rgba(255,255,255,.08);
}
.submenu-toggle span{transition:transform .2s ease}
.has-children.is-open>.submenu-toggle span{transform:rotate(225deg) translate(-1px,-1px)}

.primary-nav .sub-menu{
  display:block;
  top:calc(100% + 2px);
  min-width:230px;
  padding:.6rem;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(9px);
  background:rgba(17,17,22,.98);
  border:1px solid var(--otco-border);
  border-radius:12px;
  box-shadow:0 24px 64px rgba(0,0,0,.34);
  -webkit-backdrop-filter:blur(16px) saturate(120%);
  backdrop-filter:blur(16px) saturate(120%);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.primary-nav .sub-menu .nav-link{
  padding:.72rem .82rem;
  border-radius:8px;
  color:var(--otco-text-muted);
  font-size:.92rem;
  white-space:normal;
  transition:background-color .18s ease,color .18s ease;
}
.primary-nav .sub-menu .nav-link::after{display:none}
.primary-nav .sub-menu .nav-link:hover,
.primary-nav .sub-menu .nav-link:focus-visible,
.primary-nav .sub-menu .is-current>.nav-link{
  color:var(--otco-text);
  background:rgba(216,192,173,.12);
}
.primary-nav .has-children:hover>.sub-menu,
.primary-nav .has-children:focus-within>.sub-menu,
.primary-nav .has-children.is-open>.sub-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}
.primary-nav .sub-menu .sub-menu{top:-.6rem;left:calc(100% + .5rem)}

@media (max-width:1199.98px){
  .primary-nav .nav-item{padding-inline:.7rem}
  .primary-nav .nav-link{font-size:.9rem}
}

@media (max-width:991.98px){
  .site-header .container{width:min(calc(100% - 32px),var(--otco-header-max-width))}
  .site-header__top-inner,.site-header.is-scrolled .site-header__top-inner{min-height:68px}
  .site-header__toggle{
    color:var(--otco-text);
    border-color:var(--otco-border);
    border-radius:999px;
    padding:.62rem .78rem;
  }
  .site-header__toggle:hover,
  .site-header__toggle:focus-visible{
    color:var(--otco-accent);
    border-color:var(--otco-accent);
    background:rgba(255,255,255,.06);
  }
  .site-header__nav{
    max-height:calc(100dvh - 68px);
    overflow:auto;
    background:var(--otco-bg);
  }
  .site-header__nav.is-open{display:block}
  .primary-nav__list{display:block;padding:.65rem 0 1rem}
  .primary-nav .nav-item{display:block;padding-inline:0;white-space:normal}
  .primary-nav__list>.nav-item::before{display:none}
  .primary-nav .nav-link{padding:.9rem 0;font-size:1rem}
  .primary-nav .nav-link::after{bottom:.62rem;width:2rem;right:auto}
  .primary-nav .sub-menu{
    display:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    position:static;
    width:100%;
    min-width:0;
    margin:.1rem 0 .55rem;
    padding:0 0 0 1rem;
    border:0;
    border-left:1px solid var(--otco-border);
    border-radius:0;
    box-shadow:none;
    background:transparent;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  .primary-nav .has-children.is-open>.sub-menu{display:block}
  .primary-nav .has-children:hover>.sub-menu,
  .primary-nav .has-children:focus-within>.sub-menu{display:none}
  .primary-nav .has-children.is-open:hover>.sub-menu,
  .primary-nav .has-children.is-open:focus-within>.sub-menu{display:block}
}

@media (prefers-reduced-motion:reduce){
  .site-header,
  .site-header *,
  .site-header *::before,
  .site-header *::after{
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
  }
}
