/* Header: fixed, 100px, transparent, text only. Never hides. */
.kv-top { position: fixed; inset: 0 0 auto 0; z-index: 1080; height: var(--header-h); display: flex; align-items: center; padding-inline: var(--margin); color: var(--ink); }
.kv-top { pointer-events: none; transition: transform 800ms var(--e-out), background-color 300ms var(--e-io); }
/* Once the page scrolls, the header takes the paper colour so text underneath never shows through. */
.kv-top.is-scrolled { background: var(--paper); pointer-events: auto; }
.menu-open .kv-top.is-scrolled, .drawer-open .kv-top.is-scrolled { background: transparent; }
.kv-top.is-scrolled::after { content: ""; position: absolute; left: var(--margin); right: var(--margin); bottom: 0; height: 2px; background: currentColor; opacity: 0.12; }
.kv-top__inner { position: relative; }
.kv-top a, .kv-top button { pointer-events: auto; }
.kv-top__inner { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.kv-logo { display: inline-flex; align-items: center; }
.kv-logo svg { height: 24px; width: auto; fill: currentColor; }
.kv-top__links { display: flex; align-items: center; gap: 64px; font-size: var(--t-ui); letter-spacing: -0.025em; line-height: 1.33; padding-right: 136px; }
.kv-top__links button { font: inherit; letter-spacing: inherit; }
.kv-top__cart .kv-count { font-variant-numeric: tabular-nums; }
.kv-lang { display: inline-flex; gap: 10px; font-size: 14px; font-weight: 700; letter-spacing: 0; }
.kv-lang--menu { font-size: 14px; }
@media (max-width: 1023px) { .kv-top__links .kv-lang { display: none; } }
@media (max-width: 1023px) { .kv-top__links { gap: 32px; padding-right: 0; font-size: 16px; } }

/* Menu overlay: ink panel, clip-path grows from the top; items rise 80px with a stagger. */
.kv-menu { position: fixed; inset: 0; z-index: 1050; background: var(--ink); color: var(--paper); clip-path: polygon(0 0, 100% 0, 100% 0, 0 0); visibility: hidden; display: grid; grid-template-rows: 1fr auto; padding: calc(var(--header-h) + 24px) var(--margin) 32px; overflow: auto; }
.kv-menu.is-open { visibility: visible; animation: kv-menu-in 900ms var(--e-wipe) forwards; }
.kv-menu.is-closing { visibility: visible; animation: kv-menu-out 600ms var(--e-wipe) forwards; }
@keyframes kv-menu-in { from { clip-path: polygon(0 0, 100% 0, 100% 0, 0 0); } to { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); } }
@keyframes kv-menu-out { from { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); } to { clip-path: polygon(0 0, 100% 0, 100% 0, 0 0); } }
.kv-menu__list { display: grid; align-content: start; gap: 4px; }
.kv-menu__list li { overflow: hidden; }
.kv-menu__list a, .kv-menu__list button { display: inline-block; font-size: 60px; line-height: 1; letter-spacing: -0.025em; transform: translateY(80px); opacity: 0; transition: transform 800ms var(--e-out), opacity 800ms var(--e-out); }
.kv-menu.is-open .kv-menu__list a, .kv-menu.is-open .kv-menu__list button { transform: none; opacity: 1; }
.kv-menu.is-closing .kv-menu__list a, .kv-menu.is-closing .kv-menu__list button { transform: translateY(-80px); opacity: 0; transition-duration: 300ms; transition-delay: 0ms !important; }
.kv-menu__list li:nth-child(1) a { transition-delay: 400ms; } .kv-menu__list li:nth-child(2) a { transition-delay: 500ms; } .kv-menu__list li:nth-child(3) a { transition-delay: 600ms; } .kv-menu__list li:nth-child(4) a { transition-delay: 700ms; } .kv-menu__list li:nth-child(5) a { transition-delay: 800ms; } .kv-menu__list li:nth-child(6) a { transition-delay: 900ms; } .kv-menu__list li:nth-child(7) a { transition-delay: 1000ms; }
.kv-menu__themes { display: flex; gap: 12px; margin-top: 32px; opacity: 0; transform: translateY(40px); transition: transform 800ms var(--e-out) 900ms, opacity 800ms var(--e-out) 900ms; }
.kv-menu.is-open .kv-menu__themes { opacity: 1; transform: none; }
.kv-menu__themes button { width: 68px; height: 68px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.25); }
.kv-menu__themes [data-theme-set="bordo"] { background: #6B1E2C; } .kv-menu__themes [data-theme-set="murekkep"] { background: #EFE7DF; } .kv-menu__themes [data-theme-set="gece"] { background: #181310; }
.kv-menu__themes button.is-active { outline: 2px solid var(--paper); outline-offset: 4px; }
.kv-menu__foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 32px; font-size: 14px; font-weight: 700; opacity: 0; transform: translateY(40px); transition: transform 800ms var(--e-out) 1000ms, opacity 800ms var(--e-out) 1000ms; }
.kv-menu.is-open .kv-menu__foot { opacity: 1; transform: none; }
.kv-menu__foot svg { height: 20px; width: auto; fill: currentColor; }
.menu-open .kv-top { color: var(--paper); }
.menu-open .kv-themes { display: none; }
@media (max-width: 767px) { .kv-menu__list a, .kv-menu__list button { font-size: 44px; } }

/* Hero: the wordmark fills the width, a 5px rule, a 12px meta grid. */
.kv-hero { padding-top: 4px; }
.kv-hero__mark { display: block; width: 100%; max-width: 1600px; }
.kv-hero__mark svg { width: 100%; height: auto; fill: currentColor; }
.kv-hero__line .kv-line { display: block; }
.kv-hero__words { display: grid; grid-template-columns: repeat(16, minmax(0, 1fr)); gap: var(--gut); align-items: end; }
.kv-hero__words .kv-hero__mark { grid-column: 1 / span 9; }
.kv-hero__words .kv-hero__line { grid-column: 11 / span 6; font-size: var(--t-ui); line-height: 1.25; letter-spacing: -0.025em; max-width: 24ch; padding-bottom: 0.4em; }
.kv-hero .kv-rule { margin: 24px 0; }
.kv-metarow { display: grid; grid-template-columns: repeat(16, minmax(0, 1fr)); gap: var(--gut); font-size: var(--t-meta); font-weight: 700; line-height: 1.33; margin-bottom: 40px; }
.kv-metarow > * { min-width: 0; }
.kv-metarow__a { grid-column: 1 / span 4; }
.kv-metarow__b { grid-column: 5 / span 6; display: grid; grid-template-columns: auto 1fr; gap: 24px; max-width: 684px; }
.kv-metarow__b p { font-weight: 700; font-size: 14px; line-height: 1.15; letter-spacing: -0.025em; }
.kv-metarow__c { grid-column: 13 / span 3; display: grid; gap: 4px; justify-items: start; }
.kv-metarow__d { grid-column: 16 / span 1; text-align: right; white-space: nowrap; }
.kv-metarow__links { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.kv-metarow__links a[aria-current] { text-decoration: underline; text-underline-offset: 0.2em; text-decoration-thickness: 2px; }
@media (max-width: 1023px) {
  .kv-hero__words { grid-template-columns: 1fr; }
  .kv-hero__words .kv-hero__mark, .kv-hero__words .kv-hero__line { grid-column: 1 / -1; }
  .kv-hero__words .kv-hero__line { padding-top: 16px; }
  .kv-metarow { grid-template-columns: 1fr 1fr; gap: 24px 16px; }
  .kv-metarow__a { grid-column: 1; order: 1; } .kv-metarow__d { grid-column: 2; order: 2; text-align: right; }
  .kv-metarow__b { grid-column: 1 / -1 !important; order: 3; grid-template-columns: 1fr; gap: 8px; } .kv-metarow__c { grid-column: 1 / -1; order: 4; }
}

/* Page head for inner pages: a big word, the rule, the meta row. */
.kv-head { padding-top: 4px; }
.kv-head .kv-h1 { font-size: clamp(60px, 7.2vw, 112px); font-weight: 700; letter-spacing: -0.04em; line-height: 0.9; }
.kv-head .kv-rule { margin: 24px 0; }

/* Footer: rule, the mark, one line and the place, 2px rule, a 16-column link grid. */
.kv-foot { padding: 0 var(--margin) 40px; max-width: 1648px; margin-inline: auto; }
.kv-foot__top { display: grid; grid-template-columns: repeat(16, minmax(0, 1fr)); gap: var(--gut); align-items: end; padding: 24px 0 clamp(64px, 9vw, 136px); }
.kv-foot__logo { grid-column: 1 / span 9; display: block; color: inherit; }
.kv-foot__mark { width: 100%; max-width: 760px; height: auto; fill: currentColor; }
.kv-foot__side { grid-column: 11 / span 6; display: grid; gap: 8px; font-size: var(--t-ui); line-height: 1.25; letter-spacing: -0.025em; padding-bottom: 0.4em; }
.kv-foot__place { color: var(--ink-2); }
.kv-foot__grid { display: grid; grid-template-columns: repeat(16, minmax(0, 1fr)); gap: 24px; padding-top: 24px; font-size: var(--t-foot); font-weight: 700; line-height: 1.43; }
.kv-foot__grid > div { min-width: 0; display: grid; gap: 6px; align-content: start; }
.kv-foot__grid .c2 { grid-column: 1 / span 3; } .kv-foot__grid .c3 { grid-column: 4 / span 3; } .kv-foot__grid .c4 { grid-column: 7 / span 3; } .kv-foot__grid .c5 { grid-column: 11 / span 3; } .kv-foot__grid .c6 { grid-column: 14 / span 3; justify-self: end; text-align: right; }
.kv-foot__grid p { margin: 0; }
@media (max-width: 1023px) {
  .kv-foot__top { grid-template-columns: 1fr; padding-bottom: 56px; }
  .kv-foot__logo, .kv-foot__side { grid-column: 1 / -1; }
  .kv-foot__grid { grid-template-columns: 1fr 1fr; gap: 24px 16px; }
  .kv-foot__grid > div { grid-column: auto !important; justify-self: start !important; text-align: left !important; }
}

/* Breadcrumb / back */
.kv-back { display: inline-flex; align-items: center; gap: 8px; font-size: 16px; letter-spacing: -0.025em; }
.kv-back svg { width: 22px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.5; transition: transform 100ms; }
.kv-back:active svg { transform: translateX(-4px); }
.woocommerce-breadcrumb { display: none; }

/* Pagination */
.kv-pagination { display: flex; gap: 24px; font-size: var(--t-ui); letter-spacing: -0.025em; margin-bottom: var(--block); }
.kv-pagination .page-numbers.current { text-decoration: underline; text-underline-offset: 0.15em; text-decoration-thickness: 2px; }

/* Photo rows for spaces / journal: same card language, cover photos. */
.kv-card--photo .kv-card__fig { background: var(--placeholder); }
.kv-card--photo .kv-card__fig img { object-fit: cover; padding: 0; }
