/* =========================================================
   TENIMPER · Public site header polish v1
   Desktop = one calm navigation line.
   Mobile/tablet = grouped drawer remains.
   ========================================================= */

@media(min-width:1101px){
  .site-header{
    min-height:72px!important;
    padding-top:7px!important;
    padding-bottom:7px!important;
    grid-template-columns:max-content minmax(0,1fr) max-content!important;
    gap:clamp(22px,2.4vw,44px)!important;
  }

  .brand{
    gap:.7rem!important;
  }

  .brand-mark{
    width:40px!important;
    height:40px!important;
    font-size:1.18rem!important;
  }

  .brand-copy{
    display:grid!important;
    gap:1px!important;
  }

  .brand strong{
    font-size:1.08rem!important;
    line-height:1!important;
    letter-spacing:.055em!important;
    white-space:nowrap!important;
  }

  .brand small{
    font-size:.57rem!important;
    line-height:1!important;
    letter-spacing:.2em!important;
    opacity:.72!important;
  }

  .site-nav{
    display:block!important;
    min-width:0!important;
  }

  .site-nav__links{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:0!important;
    min-width:0!important;
  }

  .site-nav-group{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    flex:0 0 auto!important;
    gap:0!important;
    min-width:0!important;
  }

  /* Group names are useful in the drawer, but clutter the desktop header. */
  .site-nav-group__title{
    display:none!important;
  }

  .site-nav-group + .site-nav-group{
    margin-left:10px!important;
    padding-left:11px!important;
  }

  .site-nav-group + .site-nav-group::before{
    content:""!important;
    position:absolute!important;
    left:0!important;
    top:50%!important;
    width:1px!important;
    height:18px!important;
    background:color-mix(in srgb,var(--gold) 26%,transparent)!important;
    transform:translateY(-50%)!important;
  }

  .site-nav-group>a,
  .site-nav .site-nav-author{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:38px!important;
    margin:0!important;
    padding:7px 8px!important;
    border:0!important;
    border-radius:8px!important;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--ink)!important;
    font-size:.79rem!important;
    line-height:1!important;
    white-space:nowrap!important;
    transition:color .16s ease,background .16s ease!important;
  }

  .site-nav-group>a:hover{
    color:var(--gold)!important;
    background:color-mix(in srgb,var(--gold) 6%,transparent)!important;
  }

  .site-nav .site-nav-author{
    padding-inline:10px!important;
    border:1px solid color-mix(in srgb,var(--gold) 34%,transparent)!important;
    color:var(--gold)!important;
    background:color-mix(in srgb,var(--gold) 5%,transparent)!important;
  }

  .site-nav .site-nav-author:hover{
    border-color:color-mix(in srgb,var(--gold) 62%,transparent)!important;
    background:color-mix(in srgb,var(--gold) 9%,transparent)!important;
  }

  .site-nav .site-nav-author span{
    font-size:.6em!important;
  }

  .site-header-actions{
    gap:7px!important;
  }

  .theme-toggle{
    min-height:36px!important;
    padding:.45rem .72rem!important;
    border-radius:999px!important;
    font-size:.72rem!important;
  }

  .adult-badge{
    padding:.2rem .48rem!important;
    font-size:.67rem!important;
  }
}

/* Compact desktop / laptop: preserve one line without crushing the brand. */
@media(min-width:1101px) and (max-width:1320px){
  .site-header{
    gap:14px!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }

  .site-nav-group + .site-nav-group{
    margin-left:5px!important;
    padding-left:6px!important;
  }

  .site-nav-group>a,
  .site-nav .site-nav-author{
    padding-inline:5px!important;
    font-size:.73rem!important;
  }

  .brand strong{
    font-size:.98rem!important;
  }

  .brand small{
    font-size:.52rem!important;
  }
}

/* Tablet/phone: keep the semantic groups visible in the drawer. */
@media(max-width:1100px){
  .site-nav-group{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    padding:12px 0 2px!important;
  }

  .site-nav-group + .site-nav-group{
    margin-top:2px!important;
    border-top:1px solid color-mix(in srgb,var(--line) 68%,transparent)!important;
  }

  .site-nav-group__title{
    display:block!important;
    margin:0!important;
    padding:0 9px 7px!important;
    color:var(--gold)!important;
    font-size:.58rem!important;
    line-height:1!important;
    font-weight:700!important;
    letter-spacing:.2em!important;
    text-transform:uppercase!important;
    opacity:.78!important;
  }

  .site-nav-group>a,
  .site-nav .site-nav-author{
    width:100%!important;
  }
}

@media(max-width:640px){
  .site-nav-group{
    padding-top:10px!important;
  }

  .site-nav-group__title{
    padding-bottom:6px!important;
  }
}


/* v2 — stronger header contrast */
@media(min-width:1101px){
  .site-header .brand-copy strong{
    color:var(--ink)!important;
    opacity:1!important;
  }

  .site-header .brand-copy small{
    color:var(--ink)!important;
    opacity:.82!important;
  }

  .site-header .site-nav-group>a:not(.site-nav-author){
    color:var(--ink)!important;
    opacity:.88!important;
  }

  .site-header .site-nav-group>a:not(.site-nav-author):hover{
    color:var(--gold)!important;
    opacity:1!important;
  }

  .site-header .site-nav-author{
    color:var(--gold)!important;
    opacity:1!important;
    border-color:color-mix(in srgb,var(--gold) 52%,transparent)!important;
    background:color-mix(in srgb,var(--gold) 8%,transparent)!important;
  }

  .site-header .theme-toggle{
    color:var(--ink)!important;
    opacity:.9!important;
    border-color:color-mix(in srgb,var(--ink) 22%,transparent)!important;
  }

  .site-header .adult-badge{
    opacity:1!important;
  }
}

/* Dark theme: warm ivory instead of washed-out gray. */
html[data-theme="dark"] .site-header .brand-copy strong,
html[data-theme="dark"] .site-header .brand-copy small,
html[data-theme="dark"] .site-header .site-nav-group>a:not(.site-nav-author),
html[data-theme="dark"] .site-header .theme-toggle,
body[data-theme="dark"] .site-header .brand-copy strong,
body[data-theme="dark"] .site-header .brand-copy small,
body[data-theme="dark"] .site-header .site-nav-group>a:not(.site-nav-author),
body[data-theme="dark"] .site-header .theme-toggle{
  color:#eadcc8!important;
}


/* =========================================================
   v3 — explicit light-theme contrast
   Previous version inherited theme variables; this one uses
   deliberate colors so the change is clearly visible.
   ========================================================= */

html[data-theme="light"] .site-header{
  background:#f8efe3!important;
  border-bottom-color:#cdb79d!important;
  box-shadow:0 7px 24px rgba(66,42,28,.09)!important;
}

html[data-theme="light"] .site-header .brand-copy strong{
  color:#2b1b14!important;
  opacity:1!important;
}

html[data-theme="light"] .site-header .brand-copy small{
  color:#6a4938!important;
  opacity:1!important;
}

html[data-theme="light"] .site-header .brand-mark{
  color:#9b6218!important;
  border-color:#a86c1f!important;
}

html[data-theme="light"] .site-header .site-nav-group>a:not(.site-nav-author){
  color:#493127!important;
  opacity:1!important;
  font-weight:500!important;
}

html[data-theme="light"] .site-header .site-nav-group>a:not(.site-nav-author):hover{
  color:#9a6016!important;
  background:#efe0cc!important;
}

html[data-theme="light"] .site-header .site-nav-group + .site-nav-group::before{
  background:#cfb697!important;
}

html[data-theme="light"] .site-header .site-nav-author{
  color:#8d5715!important;
  border-color:#bd8b46!important;
  background:#f5e5cf!important;
  opacity:1!important;
}

html[data-theme="light"] .site-header .site-nav-author:hover{
  color:#6f410d!important;
  border-color:#9f681e!important;
  background:#efd9bb!important;
}

html[data-theme="light"] .site-header .theme-toggle{
  color:#493127!important;
  border-color:#cbb59c!important;
  background:#fff9f1!important;
  opacity:1!important;
}

html[data-theme="light"] .site-header .adult-badge{
  color:#8d3441!important;
  border-color:#c48b94!important;
  background:#fff8f1!important;
}

/* Mobile drawer gets the same stronger readability. */
@media(max-width:1100px){
  html[data-theme="light"] .site-nav-group__title{
    color:#9a6016!important;
    opacity:1!important;
  }

  html[data-theme="light"] .site-nav-group>a:not(.site-nav-author){
    color:#3f2b23!important;
    opacity:1!important;
  }
}


/* =========================================================
   v4 — darker + slightly larger desktop navigation controls
   ========================================================= */
@media(min-width:1101px){
  html[data-theme="light"] .site-header .site-nav-group>a:not(.site-nav-author){
    color:#2f1d16!important;
    font-size:.86rem!important;
    font-weight:600!important;
    min-height:42px!important;
    padding:9px 10px!important;
  }

  html[data-theme="light"] .site-header .site-nav-author{
    color:#74420c!important;
    font-size:.86rem!important;
    font-weight:600!important;
    min-height:42px!important;
    padding:9px 13px!important;
    border-color:#a96e25!important;
    background:#f1ddc1!important;
  }

  html[data-theme="light"] .site-header .theme-toggle{
    color:#2f1d16!important;
    font-size:.78rem!important;
    font-weight:600!important;
    min-height:40px!important;
    padding:.52rem .82rem!important;
    border-color:#bca284!important;
  }

  html[data-theme="light"] .site-header .adult-badge{
    font-size:.72rem!important;
    font-weight:600!important;
    padding:.28rem .54rem!important;
  }
}

@media(min-width:1101px) and (max-width:1320px){
  html[data-theme="light"] .site-header .site-nav-group>a:not(.site-nav-author),
  html[data-theme="light"] .site-header .site-nav-author{
    font-size:.79rem!important;
    padding-inline:7px!important;
  }
}


/* =========================================================
   MOBILE SITE NAV — force grouped links into a vertical list.
   CSS-only patch. Does NOT touch admin/layout/PWA.
   ========================================================= */
@media(max-width:1100px){
  .site-nav__links{
    display:block!important;
    width:100%!important;
  }

  .site-nav-group{
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }

  .site-nav-group__title{
    display:block!important;
    width:100%!important;
  }

  .site-nav-group > a,
  .site-nav-group > .site-nav-author{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    box-sizing:border-box!important;
    justify-content:flex-start!important;
    white-space:normal!important;
  }

  /* Critical: "Читать" must never become one horizontal row. */
  .site-nav-group:first-child{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    justify-items:stretch!important;
  }

  .site-nav-group:first-child > .site-nav-group__title,
  .site-nav-group:first-child > a{
    grid-column:1!important;
    width:100%!important;
  }
}

@media(max-width:640px){
  .site-nav__links{
    padding-inline:14px!important;
  }

  .site-nav-group > a,
  .site-nav-group > .site-nav-author{
    min-height:46px!important;
    padding:10px 8px!important;
    font-size:.95rem!important;
    line-height:1.2!important;
  }

  .site-nav-group__title{
    padding:0 8px 7px!important;
    font-size:.58rem!important;
  }
}
