/**
 * KH Core V4.6.1 — FAZ 1: Layout shell (CSS Grid, authoritative)
 * No jQuery / no inline styles required.
 */

:root {
  --kh-elite-shell-max: 1440px;
  --kh-elite-sidebar: 320px;
  --kh-elite-gap: 32px;
  --kh-elite-reading: 900px;
  --kh-elite-sticky: 100px;
  --kh-header-fixed-h: 72px;
  --kh-elite-container: 1500px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body.kh-layout-elite {
  overflow-x: hidden;
}

/* ─── Site wrapper ─── */
body.kh-layout-elite .site.grid-container {
  width: 100%;
  max-width: var(--kh-elite-container);
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

body.kh-layout-elite .site.grid-container > .kh-ft-v45-wrap {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: auto;
  flex-shrink: 0;
}

/* ─── FAZ 1: Shell grid (default: single column shell box) ─── */
body.kh-layout-elite .kh-layout-shell,
body.kh-layout-elite #content.kh-layout-shell,
body.kh-layout-elite #content.site-content.kh-layout-shell {
  width: 100%;
  max-width: var(--kh-elite-shell-max);
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}

/* Premium sidebar: always reserve 320px column (even if aside empty) */
body.kh-layout-elite.kh-has-premium-sidebar .kh-layout-shell,
body.kh-layout-elite.kh-has-premium-sidebar #content.kh-layout-shell,
body.kh-layout-elite.kh-has-premium-sidebar #content.site-content.kh-layout-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--kh-elite-sidebar);
  gap: var(--kh-elite-gap);
  align-items: start;
  width: 100%;
  max-width: var(--kh-elite-shell-max);
  margin: 0 auto;
  padding: 0 24px;
}

/* Main column */
body.kh-layout-elite .kh-layout-shell__main {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  width: 100%;
}

body.kh-layout-elite.kh-has-premium-sidebar .kh-layout-shell__main,
body.kh-layout-elite.kh-has-premium-sidebar #primary {
  min-width: 0;
  max-width: 100%;
}

/* Sidebar column — sticky, never in document footer flow */
body.kh-layout-elite .kh-layout-shell__aside,
body.kh-layout-elite #kh-sidebar-slot {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  width: var(--kh-elite-sidebar);
  min-width: var(--kh-elite-sidebar);
  max-width: var(--kh-elite-sidebar);
  position: sticky;
  top: var(--kh-elite-sticky);
  height: max-content;
  max-height: none;
  overflow: visible;
  z-index: 5;
  display: block !important;
  visibility: visible !important;
}

/* Sidebar modülü kapalıysa tek kolon */
body.kh-layout-elite:not(.kh-has-premium-sidebar) .kh-layout-shell,
body.kh-layout-elite:not(.kh-has-premium-sidebar) #content.kh-layout-shell {
  display: block;
}

body.kh-layout-elite:not(.kh-has-premium-sidebar) .kh-layout-shell__aside,
body.kh-layout-elite:not(.kh-has-premium-sidebar) #kh-sidebar-slot {
  display: none !important;
}

/* Single post without sidebar: prevent full-width swallow */
body.kh-layout-elite.kh-layout-article:not(.kh-has-premium-sidebar) .kh-layout-shell__main {
  max-width: var(--kh-elite-reading);
  margin-left: auto;
  margin-right: auto;
}

body.kh-layout-elite.kh-layout-article .kh-layout-shell__main,
body.kh-layout-elite.kh-layout-article #primary {
  max-width: var(--kh-elite-reading);
}

body.kh-layout-elite.kh-layout-article .kh-article__reading,
body.kh-layout-elite.kh-layout-article .entry-content {
  max-width: var(--kh-elite-reading);
  width: 100%;
}

@media (max-width: 1024px) {
  body.kh-layout-elite.kh-layout-article .kh-layout-shell__main,
  body.kh-layout-elite.kh-layout-article #primary,
  body.kh-layout-elite.kh-layout-article .kh-article__reading,
  body.kh-layout-elite.kh-layout-article .entry-content {
    max-width: 100%;
  }
}

/* Homepage: blocks in main; empty primary hidden */
body.kh-layout-elite.kh-layout-home .kh-home,
body.kh-layout-elite.kh-layout-home .kh-shell--v4 {
  width: 100%;
  min-width: 0;
}

body.kh-layout-elite.kh-layout-home #primary {
  display: none;
}

body.kh-layout-elite .kh-v3-main {
  max-width: none;
  padding-inline: 0;
}

/* Kill legacy GP sidebar wrappers */
body.kh-layout-elite .sidebar:not(.kh-layout-shell__aside),
body.kh-layout-elite #right-sidebar:not(#kh-sidebar-slot) {
  display: none;
}

body.kh-layout-elite .kh-article-hero-cover {
  aspect-ratio: 16 / 9;
  max-height: 420px;
  object-fit: cover;
  border-radius: var(--kh-radius-md, 12px);
  width: 100%;
  display: block;
}

body.kh-layout-elite.kh-single-elite .entry-content .wp-post-image,
body.kh-layout-elite.kh-single-elite .kh-article__reading img.wp-post-image,
body.kh-layout-elite.kh-single-elite .kh-article__reading--elite > figure.wp-block-image:first-child,
body.kh-layout-elite.kh-single-elite .kh-article__reading--elite > .wp-block-image:first-child {
  display: none !important;
}

/* ─── FAZ 1: Header sticky + dropdown positioning ─── */
body.kh-layout-elite.kh-has-custom-header .kh-hd-v45,
body.kh-v45.kh-has-custom-header .kh-hd-v45 {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 9999;
  box-sizing: border-box;
  overflow: visible;
}

body.kh-layout-elite.kh-has-custom-header,
body.kh-v45.kh-has-custom-header {
  padding-top: 0;
}

.kh-hd-v45__inner,
.kh-hd-v45__nav-wrap,
.kh-hd-v45__nav {
  position: relative;
  overflow: visible;
  box-sizing: border-box;
}

.kh-hd-v45__nav .kh-nav__list {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.kh-hd-v45__nav .kh-nav__item,
.kh-hd-v45__nav .kh-nav__item--mega,
.kh-hd-v45__nav .kh-nav__item--has-children,
.kh-hd-v45__nav .menu-item-has-children {
  position: relative;
}

/* Mega panel + WP sub-menu + walker dropdown */
.kh-hd-v45__nav .kh-nav__item--mega::after,
.kh-hd-v45__nav .kh-nav__item--has-children::after,
.kh-hd-v45__nav .menu-item-has-children::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 14px;
  z-index: 99998;
}

.kh-hd-v45__nav .kh-mega,
.kh-hd-v45__nav .kh-mega-dropdown,
.kh-hd-v45__nav .kh-nav__dropdown,
.kh-hd-v45__nav ul.sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  margin: 0;
  padding-top: 12px;
  min-width: 240px;
  background: rgba(15, 23, 42, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);
  transition:
    opacity 0.22s ease 0.1s,
    visibility 0.22s ease 0.1s,
    transform 0.22s ease 0.1s;
  z-index: 99999;
  list-style: none;
}

/* Wide category mega */
.kh-hd-v45__nav .kh-mega.kh-mega-dropdown {
  width: min(720px, calc(100vw - 48px));
  padding: 16px;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
}

.kh-hd-v45__nav .kh-nav__item--mega:hover > .kh-mega,
.kh-hd-v45__nav .kh-nav__item--mega:focus-within > .kh-mega,
.kh-hd-v45__nav .kh-nav__item--mega.is-open > .kh-mega,
.kh-hd-v45__nav .kh-nav__item--has-children:hover > .kh-nav__dropdown,
.kh-hd-v45__nav .kh-nav__item--has-children:focus-within > .kh-nav__dropdown,
.kh-hd-v45__nav .menu-item-has-children:hover > ul.sub-menu,
.kh-hd-v45__nav .menu-item-has-children:focus-within > ul.sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}

.kh-hd-v45__nav .kh-nav__item--mega:hover > .kh-mega,
.kh-hd-v45__nav .kh-nav__item--mega:focus-within > .kh-mega,
.kh-hd-v45__nav .kh-nav__item--mega.is-open > .kh-mega {
  transform: translateX(-50%) translateY(0);
}

.kh-hd-v45__nav .kh-nav__item--has-children:hover > .kh-nav__dropdown,
.kh-hd-v45__nav .kh-nav__item--has-children:focus-within > .kh-nav__dropdown,
.kh-hd-v45__nav .menu-item-has-children:hover > ul.sub-menu,
.kh-hd-v45__nav .menu-item-has-children:focus-within > ul.sub-menu {
  transform: translateY(0);
}

/* Mega inner lists — column flex, no text pile */
.kh-hd-v45__nav .kh-mega__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 12px;
}

.kh-hd-v45__nav .kh-mega__col ul,
.kh-hd-v45__nav .kh-nav__dropdown,
.kh-hd-v45__nav ul.sub-menu {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px;
  margin: 0;
}

.kh-hd-v45__nav .kh-mega__col {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
  padding: 12px;
}

.kh-hd-v45__nav .kh-mega__col h4 {
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 700;
}

.kh-hd-v45__nav .kh-mega__col h4 a,
.kh-hd-v45__nav .kh-mega__col li a,
.kh-hd-v45__nav .kh-nav__dropdown a,
.kh-hd-v45__nav .kh-nav__dropdown-link,
.kh-hd-v45__nav ul.sub-menu a {
  display: block;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.35;
  color: var(--muted, #94a3b8);
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}

.kh-hd-v45__nav .kh-mega__col li a:hover,
.kh-hd-v45__nav .kh-nav__dropdown a:hover,
.kh-hd-v45__nav .kh-nav__dropdown-link:hover,
.kh-hd-v45__nav ul.sub-menu a:hover {
  background: rgba(59, 130, 246, 0.15);
  color: var(--accent, #00d4ff);
}

/* Ticker below sticky header */
body.kh-has-custom-header .kh-ticker--elite {
  position: sticky;
  top: var(--kh-header-fixed-h, 72px);
  z-index: 9998;
}

/* Header bitişi ↔ içerik başlangıcı (hero çakışması önleme) */
body.kh-has-custom-header .kh-layout-shell,
body.kh-has-custom-header #content.kh-layout-shell {
  padding-top: 1.5rem;
}

body.kh-layout-home .kh-home,
body.kh-layout-home .kh-shell--v4 {
  margin-top: 0;
}

body.kh-layout-home .kh-section--hero-first {
  margin-top: 0.5rem;
}

/* Archive grid — authoritative (kartlar yan yana) */
.kh-archive-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 24px;
  width: 100%;
}

.kh-archive-grid--cards .kh-card--glass {
  width: 100%;
  max-width: 100%;
  flex: none;
}

/* Footer — GP yığın menü + legacy nav şeridi */
body.kh-has-custom-footer .site-footer,
body.kh-has-custom-footer footer.site-info,
body.kh-has-custom-footer .copyright-bar,
body.kh-has-custom-footer .footer-bar,
body.kh-has-custom-footer nav.footer-nav,
.kh-ft-v45__nav,
.kh-ft-v45__col--nav {
  display: none !important;
}

/* ─── Mobile: stack sidebar below content ─── */
@media (max-width: 1024px) {
  body.kh-layout-elite.kh-has-premium-sidebar .kh-layout-shell,
  body.kh-layout-elite.kh-has-premium-sidebar #content.kh-layout-shell {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  body.kh-layout-elite .kh-layout-shell__main {
    grid-column: 1;
    grid-row: 1;
  }

  body.kh-layout-elite .kh-layout-shell__aside,
  body.kh-layout-elite #kh-sidebar-slot {
    grid-column: 1;
    grid-row: 2;
    position: static;
    top: auto;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    max-height: none;
  }

  .kh-hd-v45__nav .kh-mega.kh-mega-dropdown {
    left: 0;
    width: min(100%, calc(100vw - 32px));
    transform: translateY(10px);
  }

  .kh-hd-v45__nav .kh-nav__item--mega:hover > .kh-mega,
  .kh-hd-v45__nav .kh-nav__item--mega:focus-within > .kh-mega,
  .kh-hd-v45__nav .kh-nav__item--mega.is-open > .kh-mega {
    transform: translateY(0);
  }
}
