/*
 * EHK Stage 2 PageLayer bridge v1.0.0
 * Safe contract: all effective rules require body.ehk-v2.
 * Rollback: remove the stylesheet or disable EHK_STAGE2_DESIGN_ENABLED.
 */

body.ehk-v2 {
  --ehk-v1-header: #26070d;
  --ehk-v1-wine: var(--ehk-burgundy-800, #4a0e18);
  --ehk-v1-gold: var(--ehk-gold-500, #b58a4a);
  --ehk-v1-gold-soft: var(--ehk-gold-300, #d8b979);
  --ehk-v1-paper: var(--ehk-paper, #fffdfa);
  --ehk-v1-canvas: var(--ehk-ivory-50, #f8f5ef);
  --ehk-v1-sand: var(--ehk-sand-100, #eee7dc);
  --ehk-v1-ink: var(--ehk-ink-900, #1d232b);
  --ehk-v1-muted: var(--ehk-muted-700, #5f6670);
  --ehk-v1-border: var(--ehk-border-200, #d8d2c8);
  --ehk-v1-container: min(80rem, calc(100% - 4rem));
  color: var(--ehk-v1-ink);
  background: var(--ehk-v1-canvas);
  overflow-x: clip;
}

body.ehk-v2 #primary.site-main {
  min-width: 0;
  color: var(--ehk-v1-ink);
  background: var(--ehk-v1-canvas);
}

body.ehk-v2 #primary.site-main :where(h1, h2, h3, h4),
body.ehk-v2 .eks-local-footer :where(h2, h3, h4) {
  font-family: var(--ehk-font-display, Georgia, serif);
  line-height: 1.16;
  text-wrap: balance;
}

body.ehk-v2 :where(a, button, input, textarea, select):focus-visible {
  outline: 3px solid var(--ehk-v1-gold-soft) !important;
  outline-offset: 3px;
}

/* Header: keep existing markup and place brand / language / menu in distinct cells. */
body.ehk-v2 .pagelayer-header {
  position: sticky;
  z-index: 10010;
  top: 0;
  margin: 0;
  border-bottom: 1px solid rgb(216 185 121 / 40%);
  color: #fff;
  background: var(--ehk-v1-header);
  box-shadow: 0 8px 28px rgb(25 4 8 / 18%);
}

body.admin-bar.ehk-v2 .pagelayer-header {
  top: 32px;
}

body.ehk-v2 .pagelayer-header > .pagelayer-row {
  margin: 0 !important;
  background: transparent !important;
}

body.ehk-v2 .pagelayer-header > .pagelayer-row > .pagelayer-background-overlay {
  background: linear-gradient(105deg, #26070d, #3b0a13) !important;
  opacity: 1 !important;
}

body.ehk-v2 .pagelayer-header .eks-global-language-host {
  width: 100%;
  max-width: 86rem;
  min-height: 5rem;
  margin-inline: auto !important;
  padding: 0 clamp(1.25rem, 3.5vw, 3.25rem) !important;
}

@supports selector(:has(*)) {
  body.ehk-v2 .pagelayer-header .eks-global-language-host {
    display: grid !important;
    grid-template-columns: minmax(13rem, 17rem) auto minmax(0, 1fr);
    gap: clamp(0.85rem, 1.8vw, 1.75rem);
    align-items: center;
  }

  body.ehk-v2 .pagelayer-header .eks-global-language-host > .pagelayer-col:has(.pagelayer-wp_title) {
    grid-column: 1;
    grid-row: 1;
    width: auto !important;
    min-width: 0;
  }

  body.ehk-v2 .pagelayer-header .eks-global-language-host > .eks-global-language-v2 {
    grid-column: 2;
    grid-row: 1;
    position: relative !important;
    inset: auto !important;
    align-self: center;
    transform: none !important;
  }

  body.ehk-v2 .pagelayer-header .eks-global-language-host > .pagelayer-col:has(.pagelayer-wp_menu) {
    grid-column: 3;
    grid-row: 1;
    width: auto !important;
    min-width: 0;
    justify-self: end;
  }

  body.ehk-v2.rtl .pagelayer-header .eks-global-language-host > .pagelayer-col:has(.pagelayer-wp_title) {
    grid-column: 3;
  }

  body.ehk-v2.rtl .pagelayer-header .eks-global-language-host > .pagelayer-col:has(.pagelayer-wp_menu) {
    grid-column: 1;
    justify-self: start;
  }

  body.ehk-v2 .pagelayer-header .eks-global-language-host > .pagelayer-col:has(> .pagelayer-col-holder:empty),
  body.ehk-v2 .pagelayer-header > .pagelayer-row:has(> .pagelayer-row-holder:empty) {
    display: none !important;
  }
}

body.ehk-v2 .pagelayer-header .pagelayer-wp-title-link {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  gap: 0.7rem;
  align-items: center;
  min-height: 2.875rem;
  color: #fff !important;
  text-decoration: none !important;
}

body.ehk-v2 .pagelayer-header .pagelayer-wp-title-link > * {
  display: block !important;
}

body.ehk-v2 .pagelayer-header .pagelayer-wp-title-link::before {
  width: 2.75rem;
  height: 2.75rem;
  content: "";
  background: url("../assets/svg/ehk-monogram-light.svg") center / contain no-repeat;
}

body.ehk-v2 .pagelayer-header .pagelayer-wp-title-heading {
  color: #fff !important;
  font-family: var(--ehk-font-display, Georgia, serif) !important;
  font-size: clamp(0.95rem, 1.35vw, 1.15rem) !important;
  font-weight: 600 !important;
  line-height: 1.12 !important;
  white-space: nowrap;
}

body.ehk-v2 .pagelayer-header .eks-global-language-v2__button {
  min-width: 5.75rem;
  min-height: 2.75rem;
  padding: 0.6rem 0.8rem;
  border: 1px solid rgb(216 185 121 / 65%);
  color: #fff;
  background: rgb(255 255 255 / 5%);
  box-shadow: none;
  font-size: 0.8rem;
}

body.ehk-v2 .pagelayer-header .eks-global-language-v2__menu {
  inset-inline-start: 50%;
  top: calc(100% + 0.7rem);
  min-width: 14rem;
  border-color: var(--ehk-v1-border);
  border-radius: 0.75rem;
  background: var(--ehk-v1-paper);
  box-shadow: 0 18px 44px rgb(38 7 13 / 18%);
  transform: translateX(-50%);
}

body.ehk-v2.rtl .pagelayer-header .eks-global-language-v2__menu {
  transform: translateX(50%);
}

@media (min-width: 769px) {
  body.ehk-v2 .pagelayer-header .pagelayer-wp_menu-ul {
    display: flex !important;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
    gap: 0.1rem;
    margin: 0;
    padding: 0;
  }

  body.ehk-v2 .pagelayer-header .pagelayer-wp_menu-ul > li > a {
    min-height: 2.75rem;
    padding: 0.7rem clamp(0.38rem, 0.75vw, 0.68rem) !important;
    color: rgb(255 255 255 / 90%) !important;
    font-family: var(--ehk-font-body, system-ui, sans-serif) !important;
    font-size: clamp(0.66rem, 0.72vw, 0.76rem) !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.025em !important;
    text-transform: uppercase !important;
    white-space: nowrap;
  }

  body.ehk-v2 .pagelayer-header .pagelayer-wp_menu-ul > li > a:hover,
  body.ehk-v2 .pagelayer-header .pagelayer-wp_menu-ul > li.current-menu-item > a {
    color: var(--ehk-v1-gold-soft) !important;
  }
}

body.ehk-v2 .pagelayer-header .pagelayer-primary-menu-bar i,
body.ehk-v2 .pagelayer-header .pagelayer-wp_menu-close i {
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0 !important;
  place-items: center;
  border: 1px solid rgb(216 185 121 / 60%);
  border-radius: 50%;
  color: #fff !important;
  background: transparent !important;
  font-size: 1.1rem !important;
}

/* International home: readable width, stronger hero, structured long-form flow. */
body.ehk-v2 .international-home {
  width: var(--ehk-v1-container);
  max-width: none;
  margin-inline: auto;
  padding: clamp(2.25rem, 5vw, 4.5rem) 0 clamp(4rem, 7vw, 6rem);
}

body.ehk-v2 .international-home .international-hero,
body.ehk-v2 .eks-a2-hero {
  padding: clamp(2rem, 5vw, 4rem);
  border: 1px solid var(--ehk-v1-border);
  border-inline-start: 4px solid var(--ehk-v1-gold);
  border-radius: 0 1rem 1rem 0;
  background: linear-gradient(135deg, var(--ehk-v1-paper), var(--ehk-v1-sand));
  box-shadow: 0 16px 44px rgb(38 7 13 / 8%);
}

body.ehk-v2.rtl .international-home .international-hero,
body.ehk-v2.rtl .eks-a2-hero {
  border-radius: 1rem 0 0 1rem;
}

body.ehk-v2 .international-home .international-hero > h1,
body.ehk-v2 .eks-a2-hero h1 {
  max-width: 17ch;
  margin: 0.45rem 0 1rem !important;
  color: var(--ehk-burgundy-950, #26070d) !important;
  font-family: var(--ehk-font-display, Georgia, serif) !important;
  font-size: clamp(2.25rem, 5vw, 4.5rem) !important;
  font-weight: 450 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.035em !important;
}

body.ehk-v2.rtl .international-home .international-hero > h1,
body.ehk-v2:lang(zh) .international-home .international-hero > h1 {
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
}

body.ehk-v2 .international-home .international-hero > p:last-of-type,
body.ehk-v2 .eks-a2-flow-links,
body.ehk-v2 .eks-a2-topic-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

body.ehk-v2 .international-home .international-hero > p:last-of-type a,
body.ehk-v2 .eks-a2-flow-links a,
body.ehk-v2 .eks-a2-topic-nav a,
body.ehk-v2 .eks-a2-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 2.875rem;
  padding: 0.7rem 1rem;
  border: 1px solid var(--ehk-v1-gold);
  border-radius: 999px;
  color: var(--ehk-v1-wine) !important;
  background: var(--ehk-v1-paper);
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none !important;
}

body.ehk-v2 .international-home .international-hero figure {
  margin: 1.75rem 0 0;
}

body.ehk-v2 .international-home .international-hero figure img {
  display: block;
  width: 100%;
  border-radius: 0.75rem;
  object-fit: cover;
}

body.ehk-v2 .international-home > section:not(.international-hero) {
  max-width: 72rem;
  margin-inline: auto;
  padding: clamp(2.5rem, 5vw, 4.25rem) clamp(0.25rem, 2vw, 1.5rem);
  border-bottom: 1px solid var(--ehk-v1-border);
}

body.ehk-v2 .international-home > section:not(.international-hero) > h2 {
  margin: 0 0 1.25rem;
  color: var(--ehk-burgundy-950, #26070d);
  font-size: clamp(1.75rem, 3.3vw, 2.6rem);
  font-weight: 550;
}

body.ehk-v2 .international-home > section:not(.international-hero) :where(p, li) {
  color: #41474f;
  font-size: clamp(1rem, 0.97rem + 0.15vw, 1.08rem);
  line-height: 1.8;
}

/* Existing A2 cards and contact form. */
body.ehk-v2 .eks-a2-shell,
body.ehk-v2 .eks-a2-home-portal > div {
  width: var(--ehk-v1-container);
  max-width: none;
  margin-inline: auto;
  padding: clamp(2rem, 5vw, 4rem) 0;
}

body.ehk-v2 :where(.eks-a2-grid, .eks-a2-topic-grid, .eks-a2-tool-grid, .ehk-author-grid) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.4rem);
}

body.ehk-v2 :where(.eks-a2-card, .eks-a2-topic-grid > a, .eks-a2-tool-grid > section, .ehk-author-card) {
  border: 1px solid var(--ehk-v1-border);
  border-radius: 0.75rem;
  color: var(--ehk-v1-ink);
  background: var(--ehk-v1-paper);
  box-shadow: 0 8px 26px rgb(38 7 13 / 6%);
}

body.ehk-v2 .eks-a2-contact-layout {
  display: grid;
  grid-template-columns: minmax(15rem, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: start;
}

body.ehk-v2 .eks-a2-contact-form {
  padding: clamp(1.4rem, 3.5vw, 2.4rem);
  border: 1px solid var(--ehk-v1-border);
  border-top: 4px solid var(--ehk-v1-gold);
  border-radius: 0.75rem;
  background: var(--ehk-v1-paper);
  box-shadow: 0 16px 44px rgb(38 7 13 / 9%);
}

body.ehk-v2 .eks-a2-contact-form :where(input:not([type="hidden"]):not([type="checkbox"]), textarea, select) {
  width: 100%;
  min-height: 3rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid #bcb3a7;
  border-radius: 0.375rem;
  color: var(--ehk-v1-ink);
  background: #fff;
  font: inherit;
}

body.ehk-v2 .eks-a2-contact-form :where(input, textarea, select):focus {
  border-color: var(--ehk-v1-wine);
  outline: 0;
  box-shadow: 0 0 0 3px rgb(112 35 53 / 12%);
}

body.ehk-v2 .eks-a2-contact-form button[type="submit"] {
  min-height: 3rem;
  padding: 0.8rem 1.1rem;
  border: 0;
  border-radius: 0.375rem;
  color: #fff;
  background: var(--ehk-v1-wine);
  font: inherit;
  font-weight: 800;
}

/* Articles: retain all content, improve reading width and established callouts. */
body.ehk-v2 :where(.keskin-article-shell, .eks-international-article, .international-legal-page) {
  width: var(--ehk-v1-container);
  max-width: 68rem;
  margin-inline: auto;
}

body.ehk-v2 :where(.keskin-article-body, .eks-legal-article, .eks-international-article, .international-legal-page) :where(p, li) {
  color: #3f454d;
  font-size: clamp(1rem, 0.97rem + 0.16vw, 1.1rem);
  line-height: 1.82;
}

body.ehk-v2 :where(.keskin-article-body, .eks-legal-article, .eks-international-article, .international-legal-page) h2 {
  color: var(--ehk-burgundy-950, #26070d);
  font-size: clamp(1.7rem, 3.3vw, 2.45rem);
  scroll-margin-top: 7rem;
}

body.ehk-v2 :where(.eks-update, .eks-callout, .eks-sources, .eks-legal-note, .eks-author-box, .eks-a3-toc) {
  border-color: var(--ehk-v1-border);
  border-radius: 0.75rem;
}

body.ehk-v2 :where(.eks-answer-box, .eks-cta, .eks-a3-answer, .eks-a3-cta) {
  border-color: var(--ehk-v1-gold);
  border-radius: 0.875rem;
  background: linear-gradient(120deg, #26070d, #4a0e18);
  box-shadow: 0 16px 38px rgb(38 7 13 / 15%);
}

body.ehk-v2 :where(.keskin-article-shell, .eks-international-article, .international-legal-page) figure img {
  border-radius: 0.875rem;
  box-shadow: 0 12px 34px rgb(38 7 13 / 8%);
}

/* Footer. */
body.ehk-v2 .eks-local-footer {
  margin-top: 0;
  border-top: 3px solid var(--ehk-v1-gold);
  color: #e8e0e2;
  background: #190408 !important;
}

body.ehk-v2 .eks-local-footer-inner {
  width: var(--ehk-v1-container);
  max-width: none;
  margin-inline: auto;
  padding: clamp(3rem, 6vw, 5rem) 0;
}

body.ehk-v2 .eks-local-footer :where(h2, h3, h4, .eks-local-footer-brand) {
  color: var(--ehk-v1-gold-soft) !important;
}

body.ehk-v2 .eks-local-footer :where(p, address, li, a, span) {
  color: #ded4d7 !important;
}

@media (max-width: 1180px) {
  body.ehk-v2 {
    --ehk-v1-container: min(80rem, calc(100% - 3rem));
  }

  @supports selector(:has(*)) {
    body.ehk-v2 .pagelayer-header .eks-global-language-host {
      grid-template-columns: minmax(11.5rem, 13.5rem) 2.75rem minmax(0, 1fr);
      gap: 0.6rem;
    }
  }

  body.ehk-v2 .pagelayer-header .eks-global-language-v2__button {
    width: 2.75rem;
    min-width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    justify-content: center;
  }

  body.ehk-v2 .pagelayer-header .eks-global-language-v2__current,
  body.ehk-v2 .pagelayer-header .eks-global-language-v2__chevron {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    clip: rect(0 0 0 0);
    overflow: hidden;
  }

  body.ehk-v2 .pagelayer-header .eks-global-language-v2__menu,
  body.ehk-v2.rtl .pagelayer-header .eks-global-language-v2__menu {
    inset-inline-start: auto;
    inset-inline-end: 0;
    transform: none;
  }
}

@media (max-width: 900px) {
  body.ehk-v2 :where(.eks-a2-grid, .eks-a2-topic-grid, .eks-a2-tool-grid, .ehk-author-grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 782px) {
  body.admin-bar.ehk-v2 .pagelayer-header {
    top: 46px;
  }
}

@media (max-width: 768px) {
  body.ehk-v2 {
    --ehk-v1-container: min(100% - 2.25rem, 80rem);
  }

  @supports selector(:has(*)) {
    body.ehk-v2 .pagelayer-header .eks-global-language-host,
    body.ehk-v2.rtl .pagelayer-header .eks-global-language-host {
      grid-template-columns: minmax(0, 1fr) 2.75rem 2.75rem;
      gap: 0.5rem;
    }

    body.ehk-v2 .pagelayer-header .eks-global-language-host > .pagelayer-col:has(.pagelayer-wp_title),
    body.ehk-v2.rtl .pagelayer-header .eks-global-language-host > .pagelayer-col:has(.pagelayer-wp_title) {
      grid-column: 1;
    }

    body.ehk-v2 .pagelayer-header .eks-global-language-host > .eks-global-language-v2,
    body.ehk-v2.rtl .pagelayer-header .eks-global-language-host > .eks-global-language-v2 {
      grid-column: 2;
    }

    body.ehk-v2 .pagelayer-header .eks-global-language-host > .pagelayer-col:has(.pagelayer-wp_menu),
    body.ehk-v2.rtl .pagelayer-header .eks-global-language-host > .pagelayer-col:has(.pagelayer-wp_menu) {
      grid-column: 3;
      justify-self: end;
    }
  }

  body.ehk-v2 .pagelayer-header .eks-global-language-host {
    min-height: 4.5rem;
    padding-inline: 0.875rem !important;
  }

  body.ehk-v2 .pagelayer-header .pagelayer-wp-title-link {
    grid-template-columns: 2.4rem minmax(0, 1fr);
    gap: 0.5rem;
  }

  body.ehk-v2 .pagelayer-header .pagelayer-wp-title-link::before {
    width: 2.4rem;
    height: 2.4rem;
  }

  body.ehk-v2 .pagelayer-header .pagelayer-wp-title-heading {
    font-size: clamp(0.78rem, 3.5vw, 0.92rem) !important;
    white-space: normal;
  }

  body.ehk-v2 .pagelayer-header .pagelayer-menu-type-dropdown {
    width: min(22rem, calc(100vw - 1.5rem)) !important;
    background: var(--ehk-v1-header) !important;
  }

  body.ehk-v2 .international-home .international-hero,
  body.ehk-v2 .eks-a2-hero {
    padding: 1.5rem;
  }

  body.ehk-v2 .international-home .international-hero > h1,
  body.ehk-v2 .eks-a2-hero h1 {
    max-width: none;
    font-size: clamp(2.05rem, 10vw, 3.25rem) !important;
  }

  body.ehk-v2 .eks-a2-contact-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  body.ehk-v2 {
    --ehk-v1-container: min(100% - 1.75rem, 80rem);
  }

  body.ehk-v2 :where(.eks-a2-grid, .eks-a2-topic-grid, .eks-a2-tool-grid, .ehk-author-grid) {
    grid-template-columns: 1fr;
  }

  body.ehk-v2 .international-home .international-hero > p:last-of-type,
  body.ehk-v2 .eks-a2-flow-links,
  body.ehk-v2 .eks-a2-topic-nav {
    display: grid;
    grid-template-columns: 1fr;
  }
}

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