
:root {
  --dnd-ink: #0d0d0e;
  --dnd-panel: #15110d;
  --dnd-gold: #ddb36c;
  --dnd-gold-2: #f3d89f;
  --dnd-accent: #9b5f47;
  --dnd-line: rgba(221,179,108,.34);
  --dnd-gold: #e5bf6b;
  --dnd-parchment: #f7ecd5;
  --dnd-muted: rgba(255,255,255,.72);
}
body { background: #0d0d0e; }
.header { border-color: var(--dnd-gold) !important; }
.logo img { max-width: 236px; }
.dnd-top-cta { display: none; }
@media (min-width: 992px) { .dnd-top-cta { display: inline-flex; } }
.dnd-arrow { width: 52px; height: 52px; display: inline-flex; align-items:center; justify-content:center; border-radius:999px; font-size:24px; font-weight:900; }
.dnd-hero-overlay { background: linear-gradient(180deg, rgba(0,0,0,.22), rgba(0,0,0,.74)); }
.dnd-video-fallback { background-image: linear-gradient(90deg, rgba(0,0,0,.42), rgba(0,0,0,.6)), url('../images/dnd/hero-map.svg'); background-size: cover; background-position:center; }
.dnd-kicker { letter-spacing:.18em; text-transform: uppercase; color: var(--dnd-gold); }
.dnd-card { border:1px solid rgba(0,0,0,.08); border-radius: 28px; overflow:hidden; background:#fff; height:100%; transition:transform .22s ease, box-shadow .22s ease; }
.dnd-card:hover { transform: translateY(-6px); box-shadow: 0 24px 70px rgba(0,0,0,.16); }
.dnd-card img { width:100%; aspect-ratio: 16/10; object-fit: cover; }
.dnd-price { font-size: clamp(32px, 5vw, 64px); font-weight: 900; line-height:.95; }
.dnd-pill { display:inline-flex; align-items:center; gap:8px; border:1px solid rgba(0,0,0,.12); border-radius:999px; padding:8px 12px; font-size:14px; background:#fff; }
.dnd-dark-panel { background: radial-gradient(circle at 70% 20%, rgba(221,179,108,.18), transparent 32%), linear-gradient(135deg, #17120d, #070707 70%); color:#fff; border-radius: 34px; overflow:hidden; }
.dnd-dark-panel p { color: rgba(255,255,255,.72); }
.dnd-service-num { width:48px; height:48px; border-radius:50%; background:var(--dnd-gold); color:#111; display:flex; align-items:center; justify-content:center; font-weight:900; }
.dnd-list li { margin-bottom: 12px; }
.dnd-list li::marker { color: var(--dnd-gold); }
.dnd-form .form-control, .dnd-form .form-select { border:0; border-bottom:1px solid rgba(255,255,255,.38); background:transparent; color:#fff; border-radius:0; padding-left:0; }
.dnd-form .form-control::placeholder { color: rgba(255,255,255,.62); }
.dnd-form .form-control:focus, .dnd-form .form-select:focus { box-shadow:none; border-color:var(--dnd-gold); background:transparent; color:#fff; }
.dnd-form option { color:#111; }
.dnd-nav-note { color:#111; background:var(--dnd-gold); border-radius:18px; padding:14px; }
.footer .dnd-logo-footer { max-width: 245px; }
.get-template a { display:none !important; }
.text-primary { color: var(--dnd-gold) !important; }
.bg-primary { background-color: var(--dnd-gold) !important; }
.border-primary { border-color: var(--dnd-gold) !important; }
.btn .btn-text, .btn-text { white-space: nowrap; }
.badge.text-bg-dark { background:#111 !important; color:#fff !important; }
.btn-outline-light:hover { color:#111 !important; }


/* Aether Codex palette overrides */
:root {
  --bs-primary: #ddb36c;
  --bs-primary-rgb: 221,179,108;
  --bs-link-color: #ddb36c;
  --bs-link-hover-color: #f3d89f;
}
.btn:not(.btn-outline-light):not(.btn-secondary) {
  background: linear-gradient(135deg, #8d673a, #ddb36c 55%, #f3d89f) !important;
  border-color: #ddb36c !important;
  color: #130d08 !important;
}
.btn-outline-light {
  background: rgba(255,255,255,.05) !important;
  border-color: rgba(243,216,159,.55) !important;
  color: #fff !important;
}
.btn-outline-light:hover {
  background: #f3d89f !important;
  border-color: #f3d89f !important;
  color: #130d08 !important;
}
.bg-primary, .round-36.bg-primary, .round-64.bg-primary { background: linear-gradient(135deg, #8d673a, #ddb36c 55%, #f3d89f) !important; }
.text-primary { color: #f3d89f !important; }
.border-primary { border-color: #ddb36c !important; }
.header { border-color: #ddb36c !important; }
.dnd-nav-note { background: linear-gradient(135deg, rgba(221,179,108,.2), rgba(243,216,159,.58)); border: 1px solid rgba(141,103,58,.35); }
.dnd-hero-overlay { background: linear-gradient(180deg, rgba(7,7,8,.22), rgba(7,7,8,.78)); }
.dnd-dark-panel { background: radial-gradient(circle at 70% 20%, rgba(221,179,108,.18), transparent 32%), linear-gradient(135deg, #19120d, #070708 70%); }
.dnd-intro-img { border-radius: 28px; width: 100%; box-shadow: 0 24px 70px rgba(0,0,0,.16); border:1px solid rgba(221,179,108,.22); }
.dnd-info-chip { display:inline-flex; align-items:center; gap:8px; border:1px solid rgba(141,103,58,.22); border-radius:999px; padding:8px 12px; background:#fff; color:#25160f; font-weight:700; font-size:14px; }
.dnd-parchment-card { border-radius: 30px; background: #fffaf0; border: 1px solid rgba(141,103,58,.18); box-shadow: 0 18px 60px rgba(0,0,0,.08); height:100%; }
.dnd-parchment-card h3 { color:#19120d; }
.dnd-parchment-card p { color:#5a4a3b; }
.dnd-class-card { border-radius:24px; border:1px solid rgba(141,103,58,.16); background:#fff; height:100%; }
.dnd-class-card .badge { background:#19120d !important; color:#f3d89f !important; }
.dnd-source-note { color: rgba(17,17,17,.56); font-size: 13px; }

/* Edit: minimal-aether-button-header-embers */
:root {
  --dnd-logo-red: #5E132C;
  --dnd-logo-red-2: #7A183B;
}

/* Header: на всех страницах остаются только лого слева и burger справа */
.header .dnd-top-cta {
  display: none !important;
}

/* Aether Codex buttons: gold by default, logo-red on hover */
a[href*="quiz.dndgameboard.today"].btn:not(.dnd-top-cta) {
  background: linear-gradient(135deg, #8d673a, #ddb36c 54%, #f3d89f 100%) !important;
  border: 1px solid rgba(243, 216, 159, .72) !important;
  color: #130d08 !important;
  box-shadow: 0 16px 34px rgba(221, 179, 108, .24) !important;
}

a[href*="quiz.dndgameboard.today"].btn:not(.dnd-top-cta) .btn-text {
  color: #130d08 !important;
}

a[href*="quiz.dndgameboard.today"].btn:not(.dnd-top-cta) .btn-icon {
  background: #fffaf0 !important;
  color: #130d08 !important;
}

a[href*="quiz.dndgameboard.today"].btn:not(.dnd-top-cta):hover {
  background: linear-gradient(135deg, var(--dnd-logo-red), var(--dnd-logo-red-2)) !important;
  border-color: rgba(243, 216, 159, .78) !important;
  color: #f7f1e8 !important;
  box-shadow: 0 18px 44px rgba(94, 19, 44, .42) !important;
  transform: translateY(-2px);
}

a[href*="quiz.dndgameboard.today"].btn:not(.dnd-top-cta):hover .btn-text {
  color: #f7f1e8 !important;
}

a[href*="quiz.dndgameboard.today"].btn:not(.dnd-top-cta):hover .btn-icon {
  background: #f3d89f !important;
  color: var(--dnd-logo-red) !important;
}

/* Aether Codex-style background glow + embers */
.dnd-aether-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
  mix-blend-mode: screen;
}

.dnd-aether-backdrop::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 14% 8%, rgba(221, 179, 108, .12), transparent 22%),
    radial-gradient(circle at 86% 12%, rgba(94, 19, 44, .16), transparent 24%),
    radial-gradient(circle at 50% 100%, rgba(243, 216, 159, .06), transparent 34%);
  opacity: .78;
}

.dnd-aether-ember {
  position: absolute;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(243, 216, 159, .95);
  box-shadow: 0 0 16px rgba(221, 179, 108, .62);
  animation: dndAetherEmberRise linear infinite, dndAetherEmberFlicker ease-in-out infinite;
}

@keyframes dndAetherEmberRise {
  from {
    translate: 0 26px;
  }
  to {
    translate: 18px -78px;
  }
}

@keyframes dndAetherEmberFlicker {
  0%, 100% { opacity: .18; }
  50% { opacity: 1; }
}

/* Keep actual page content above embers without changing layout/colors */
.header {
  z-index: 99 !important;
}

section > .container,
footer > .container,
.banner-section > .container {
  position: relative;
  z-index: 2;
}

@media (prefers-reduced-motion: reduce) {
  .dnd-aether-ember {
    animation: none !important;
  }
}

/* Edit: equal-header-mobile */
/* Один и тот же header на всех страницах: одинаковые размеры, лого и burger */
.header {
  padding: 28px 0 !important;
  min-height: 118px !important;
}
.header .container {
  min-height: 62px !important;
}
.header-wrapper {
  min-height: 62px !important;
}
.header .logo,
.header .logo a.dnd-logo-lockup {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 64px !important;
}
.header .logo img.dnd-brand-logo,
.header .logo img[src*="dndgameboard-logo.png"] {
  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  object-fit: contain !important;
}
.header .dnd-logo-text strong {
  font-size: 18px !important;
  line-height: 1.05 !important;
}
.header .dnd-logo-text em {
  font-size: 11px !important;
  line-height: 1.1 !important;
}
.header .toggle-menu {
  width: 45px !important;
  height: 45px !important;
  min-width: 45px !important;
  min-height: 45px !important;
}
.header .dnd-top-cta {
  display: none !important;
}

/* Даже при fixed-header не меняем размеры, чтобы шапка не прыгала между страницами */
.header.fixed-header {
  padding: 28px 0 !important;
  min-height: 118px !important;
}
.header.fixed-header .logo img.dnd-brand-logo,
.header.fixed-header .logo img[src*="dndgameboard-logo.png"] {
  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
}

/* Компенсация одинаковой fixed-шапки на внутренних страницах */
body:not(.home-page) section:first-of-type {
  padding-top: 160px !important;
}

/* Мобильная версия: сайт должен открываться быстрее и header не должен разъезжаться */
@media (max-width: 767.98px) {
  .header,
  .header.fixed-header {
    padding: 14px 0 !important;
    min-height: 78px !important;
  }
  .header .container,
  .header-wrapper {
    min-height: 50px !important;
  }
  .header .logo,
  .header .logo a.dnd-logo-lockup {
    min-height: 50px !important;
  }
  .header .logo img.dnd-brand-logo,
  .header .logo img[src*="dndgameboard-logo.png"],
  .header.fixed-header .logo img.dnd-brand-logo,
  .header.fixed-header .logo img[src*="dndgameboard-logo.png"] {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
  }
  .header .dnd-logo-text strong {
    font-size: 15px !important;
  }
  .header .dnd-logo-text em {
    font-size: 9px !important;
    letter-spacing: .15em !important;
  }
  .header .toggle-menu {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
  body:not(.home-page) section:first-of-type {
    padding-top: 104px !important;
  }
  .banner-section {
    min-height: 100svh !important;
  }
  .dnd-hero-video {
    object-fit: cover !important;
  }
}

@media (max-width: 399.98px) {
  .header .dnd-logo-text strong {
    font-size: 13px !important;
  }
  .header .dnd-logo-text em {
    font-size: 8px !important;
    letter-spacing: .12em !important;
  }
}

/* Не даём декоративным искрам/ореолам мешать кликам и мобильному меню */
.dnd-aether-backdrop,
.dnd-aether-ember {
  pointer-events: none !important;
}
.dropdown-menu {
  z-index: 2000 !important;
}

/* Edit: logo-text-unify-final */
/* Финальная фиксация: текст логотипа одинаковый на всех страницах и состояниях header */
.header .logo a.dnd-logo-lockup,
.header.fixed-header .logo a.dnd-logo-lockup {
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  text-decoration: none !important;
}

.header .logo a.dnd-logo-lockup img.dnd-brand-logo,
.header .logo a.dnd-logo-lockup img[src*="dndgameboard-logo.png"],
.header.fixed-header .logo a.dnd-logo-lockup img.dnd-brand-logo,
.header.fixed-header .logo a.dnd-logo-lockup img[src*="dndgameboard-logo.png"] {
  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  object-fit: contain !important;
  border-radius: 50% !important;
}

.header .logo .dnd-logo-text,
.header.fixed-header .logo .dnd-logo-text {
  display: block !important;
}

.header .logo .dnd-logo-text strong,
.header.fixed-header .logo .dnd-logo-text strong {
  display: block !important;
  margin: 0 !important;
  color: #f7f1e8 !important;
  font-size: 18px !important;
  line-height: 1.04 !important;
  font-weight: 900 !important;
  letter-spacing: 0.145em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  text-shadow: 0 2px 18px rgba(0,0,0,.34) !important;
}

.header .logo .dnd-logo-text em,
.header.fixed-header .logo .dnd-logo-text em {
  display: block !important;
  margin-top: 4px !important;
  color: #f3d89f !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-style: normal !important;
  font-weight: 900 !important;
  letter-spacing: 0.245em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.28) !important;
}

/* При прокрутке меняется только фон header, но НЕ геометрия и НЕ стиль текста логотипа */
.header,
.header.fixed-header {
  min-height: 118px !important;
  padding: 28px 0 !important;
}

.header .container,
.header.fixed-header .container,
.header-wrapper {
  min-height: 64px !important;
}

.header .toggle-menu,
.header.fixed-header .toggle-menu {
  width: 45px !important;
  height: 45px !important;
  min-width: 45px !important;
  min-height: 45px !important;
}

.header .dnd-top-cta {
  display: none !important;
}

@media (max-width: 767.98px) {
  .header,
  .header.fixed-header {
    min-height: 78px !important;
    padding: 14px 0 !important;
  }

  .header .container,
  .header.fixed-header .container,
  .header-wrapper {
    min-height: 50px !important;
  }

  .header .logo a.dnd-logo-lockup,
  .header.fixed-header .logo a.dnd-logo-lockup {
    gap: 10px !important;
  }

  .header .logo a.dnd-logo-lockup img.dnd-brand-logo,
  .header .logo a.dnd-logo-lockup img[src*="dndgameboard-logo.png"],
  .header.fixed-header .logo a.dnd-logo-lockup img.dnd-brand-logo,
  .header.fixed-header .logo a.dnd-logo-lockup img[src*="dndgameboard-logo.png"] {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
  }

  .header .logo .dnd-logo-text strong,
  .header.fixed-header .logo .dnd-logo-text strong {
    font-size: 14px !important;
    letter-spacing: 0.135em !important;
  }

  .header .logo .dnd-logo-text em,
  .header.fixed-header .logo .dnd-logo-text em {
    font-size: 8px !important;
    letter-spacing: 0.20em !important;
    margin-top: 3px !important;
  }

  .header .toggle-menu,
  .header.fixed-header .toggle-menu {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
}
