/* ============================================================
   KD Blaník — Design System
   Divadelní téma: světlé pozadí + zlaté a červené akcenty
   ============================================================ */

/* ---------- CSS Variables ---------- */
:root {
  /* Pozadí — teplá smetanová bílá */
  --c-bg:           #FAF8F5;
  --c-bg-02:        #F3F0EB;
  --c-bg-03:        #EAE5DC;
  --c-bg-04:        #DDD8CE;

  /* Zlatá — ztmavena pro WCAG AA kontrast na světlém pozadí */
  --c-gold:         #B8922A;
  --c-gold-light:   #D4A93C;
  --c-gold-dark:    #8A6A1A;
  --c-gold-10:      rgba(184,146,42,.10);
  --c-gold-20:      rgba(184,146,42,.20);
  --c-gold-30:      rgba(184,146,42,.30);

  /* Divadelní červená — z opony */
  --c-red:          #9B1F1F;
  --c-red-light:    #B83232;
  --c-red-10:       rgba(155,31,31,.10);

  /* Texty — teplé, ne chladné šedé */
  --c-text:         #1A1714;
  --c-text-muted:   #5C5449;
  --c-text-faint:   #9A9088;

  /* Bordery */
  --c-border:       rgba(26,23,20,.12);

  --font-display:   'Playfair Display', Georgia, serif;
  --font-body:      'Lora', Georgia, serif;
  --font-ui:        'DM Sans', system-ui, sans-serif;
  --section-gap:    clamp(4rem, 8vw, 7rem);
  --card-radius:    12px;
  --max-w:          1220px;
  --nav-h:          72px;
  --ease:           .22s cubic-bezier(.4,0,.2,1);
  --ease-slow:      .4s cubic-bezier(.4,0,.2,1);
  --shadow-card:    0 2px 16px rgba(26,23,20,.10), 0 1px 4px rgba(26,23,20,.06);
  --shadow-gold:    0 0 28px rgba(184,146,42,.15);
}

/* ---------- Reset & Base ---------- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  background: var(--c-bg);
  color: var(--c-text);
  font-family: var(--font-ui);
  font-size: 1rem;
  line-height: 1.65;
  min-height: 100vh;
}

img, video { max-width: 100%; height: auto; display: block; }
a { color: var(--c-gold); text-decoration: none; transition: color var(--ease); }
a:hover { color: var(--c-gold-light); }
ul { list-style: none; }

/* ---------- Utility ---------- */
.container {
  width: min(var(--max-w), 100% - 2.5rem);
  margin-inline: auto;
}

.section-gap { padding-block: var(--section-gap); }

.eyebrow {
  display: inline-block;
  font: 700 .72rem/1 var(--font-ui);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--c-gold);
  margin-bottom: .9rem;
}

.section-title {
  font: 700 clamp(1.8rem, 3.5vw, 2.6rem)/1.15 var(--font-display);
  color: var(--c-text);
  margin-bottom: 2.5rem;
}

.section-title span { color: var(--c-gold); }

/* Dekorativní linka pod sekcí */
.section-title::after {
  content: '';
  display: block;
  width: 48px; height: 3px;
  background: linear-gradient(90deg, var(--c-red), var(--c-gold));
  border-radius: 2px;
  margin-top: .9rem;
}

.divider {
  width: 48px; height: 3px;
  background: var(--c-gold);
  border-radius: 2px;
  margin-bottom: 1.5rem;
}

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .75rem 1.75rem;
  border-radius: 6px;
  font: 600 .9rem/1 var(--font-ui);
  letter-spacing: .03em;
  cursor: pointer;
  transition: background var(--ease), border-color var(--ease), color var(--ease),
              transform var(--ease), box-shadow var(--ease), gap var(--ease);
  border: 2px solid transparent;
  white-space: nowrap;
  text-decoration: none;
}

.btn--gold {
  background: var(--c-gold);
  color: #0D0D0D;
  border-color: var(--c-gold);
}
.btn--gold:hover {
  background: var(--c-gold-light);
  border-color: var(--c-gold-light);
  color: #0D0D0D;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(184,146,42,.42);
}

.btn--outline {
  background: transparent;
  color: var(--c-text);
  border-color: rgba(26,23,20,.22);   /* tmavý border viditelný na světlém pozadí */
}
.btn--outline:hover {
  border-color: var(--c-gold);
  color: var(--c-gold-dark);
  background: var(--c-gold-10);
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(184,146,42,.14);
}

.btn--ghost {
  background: transparent;
  color: var(--c-gold);
  border-color: transparent;
  padding-inline: .5rem;
}
.btn--ghost:hover { color: var(--c-gold-light); }

.btn--sm { padding: .5rem 1.1rem; font-size: .82rem; }

/* ---------- NAVIGATION ---------- */
.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  height: var(--nav-h);
  display: flex;
  align-items: center;
  /* Průhledná nad hero fotografií */
  transition: background var(--ease-slow), box-shadow var(--ease-slow);
}

.site-header.is-scrolled {
  background: rgba(250,248,245,.97);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 1px 0 var(--c-border), 0 4px 16px rgba(26,23,20,.08);
}

.nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(var(--max-w), 100% - 2.5rem);
  margin-inline: auto;
}

.site-logo {
  display: flex;
  align-items: center;
  gap: .75rem;
  text-decoration: none;
}

.site-logo__mark {
  width: 46px; height: 46px;
  background: var(--c-gold);
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 6px;
}
.site-logo__mark img { width: 100%; height: 100%; object-fit: contain; }

.site-logo__text { display: flex; flex-direction: column; line-height: 1.15; }
.site-logo__name {
  font: 700 1.05rem/1 var(--font-display);
  color: var(--c-text);
  letter-spacing: .01em;
}
.site-logo__sub {
  font: 400 .72rem/1 var(--font-ui);
  color: var(--c-text-muted);
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Nav menu */
.primary-nav { display: flex; align-items: center; gap: .25rem; list-style: none; margin: 0; padding: 0; }
.primary-nav li { list-style: none; }
.primary-nav a {
  padding: .5rem .9rem;
  color: rgba(240,234,214,.85);
  font: 500 .9rem/1 var(--font-ui);
  border-radius: 6px;
  transition: color var(--ease), background var(--ease);
  white-space: nowrap;
}
.primary-nav a:hover,
.primary-nav .current-menu-item > a {
  color: #F0EAD6;
  background: rgba(255,255,255,.12);
}
/* Po scrollu — tmavý text pro světlý navbar */
.site-header.is-scrolled .primary-nav a {
  color: var(--c-text-muted);
}
.site-header.is-scrolled .primary-nav a:hover,
.site-header.is-scrolled .primary-nav .current-menu-item > a {
  color: var(--c-text);
  background: var(--c-gold-10);
}
/* CTA tlačítko — zachovat barvu i po scrollu */
.site-header.is-scrolled .primary-nav .btn--gold,
.site-header.is-scrolled .primary-nav .btn--gold:hover { color: #fff; }
.primary-nav .btn { margin-left: .5rem; }

/* CTA tlačítko v nav — červená = divadelní */
.primary-nav .btn--gold,
.site-header .btn--gold {
  background: var(--c-red);
  border-color: var(--c-red);
  color: #fff;
}
.primary-nav .btn--gold:hover,
.site-header .btn--gold:hover {
  background: var(--c-red-light);
  border-color: var(--c-red-light);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(155,31,31,.40);
}

/* Logo — bílý text nad hero (homepage) */
.home .site-logo__name { color: #F0EAD6; }
.home .site-logo__sub  { color: rgba(240,234,214,.70); }
.site-logo__mark { background: var(--c-gold); color: #1A1714; }

/* Na ostatních stránkách — vždy tmavý text (nav je vždy light) */
body:not(.home) .site-logo__name { color: var(--c-text); }
body:not(.home) .site-logo__sub  { color: var(--c-text-muted); }

/* Po scrollu na homepage — tmavý text */
.home .site-header.is-scrolled .site-logo__name { color: var(--c-text); }
.home .site-header.is-scrolled .site-logo__sub  { color: var(--c-text-muted); }

/* Hamburger */
.nav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: .5rem;
}
.nav-toggle span {
  display: block;
  width: 22px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  transition: transform .3s ease, opacity .3s ease;
  transform-origin: center;
}
.nav-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nav-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Hamburger barva — bílá nad hero, tmavá jinak */
.home .nav-toggle { color: #F0EAD6; }
.home .site-header.is-scrolled .nav-toggle { color: var(--c-text); }
body:not(.home) .nav-toggle { color: var(--c-text); }

/* Mobilní menu overlay */
.kdb-mobile-menu {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 999;
  background: rgba(13,13,13,.97);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
}
.kdb-mobile-menu.open { display: flex; }
.kdb-mobile-menu__close {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  width: 40px;
  height: 40px;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .5rem;
  color: rgba(240,234,214,.7);
  transition: color .2s;
}
.kdb-mobile-menu__close:hover { color: #F0EAD6; }
.kdb-mobile-menu__close span {
  position: absolute;
  width: 22px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
}
.kdb-mobile-menu__close span:nth-child(1) { transform: rotate(45deg); }
.kdb-mobile-menu__close span:nth-child(2) { transform: rotate(-45deg); }
.kdb-mobile-menu a {
  font-family: var(--font-display);
  font-size: 1.8rem;
  font-weight: 700;
  color: rgba(240,234,214,.85);
  text-decoration: none;
  opacity: 0;
  transform: translateY(-16px);
}
.kdb-mobile-menu.open a {
  animation: kdb-nav-in .4s cubic-bezier(.22,1,.36,1) forwards;
}
.kdb-mobile-menu.open a:nth-child(1) { animation-delay:  60ms; }
.kdb-mobile-menu.open a:nth-child(2) { animation-delay: 110ms; }
.kdb-mobile-menu.open a:nth-child(3) { animation-delay: 160ms; }
.kdb-mobile-menu.open a:nth-child(4) { animation-delay: 210ms; }
.kdb-mobile-menu.open a:nth-child(5) { animation-delay: 260ms; }
.kdb-mobile-menu a:hover { color: #F0EAD6; }
.kdb-mobile-menu .btn { opacity: 0; transform: translateY(-16px); margin-top: .5rem; }

@keyframes kdb-nav-in {
  to { opacity: 1; transform: translateY(0); }
}

/* Nav na ostatních stránkách — vždy světlý navbar s tmavým textem */
body:not(.home) .site-header {
  background: rgba(250,248,245,.97);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 1px 0 var(--c-border), 0 2px 12px rgba(26,23,20,.07);
}
body:not(.home) .primary-nav a {
  color: var(--c-text-muted);
}
/* Výjimka — CTA tlačítko si zachová bílý text i bez scrollu */
body:not(.home) .primary-nav .btn--gold { color: #fff; }
body:not(.home) .primary-nav a:hover,
body:not(.home) .primary-nav .current-menu-item > a {
  color: var(--c-text);
  background: var(--c-gold-10);
}

/* ---------- HERO ---------- */
.hero {
  position: relative;
  min-height: 88svh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
  padding: calc(var(--nav-h) + 3rem) 1.25rem 5rem;
  /* Čistý spodní okraj — žádný blur přechod */
}

.hero__bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(160deg, rgba(80,10,10,.25) 0%, transparent 50%),
    linear-gradient(
      to bottom,
      rgba(10,6,4,.20) 0%,
      rgba(10,6,4,.45) 45%,
      rgba(10,6,4,.78) 100%
    ),
    url('../img/divadlo.jpg') center 25%/cover no-repeat;
}

/* Zlatá dekorativní linka na spodku hero — čistý přechod místo bluru */
.hero::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, transparent, var(--c-gold), var(--c-red), var(--c-gold), transparent);
  pointer-events: none;
  z-index: 2;
}

.hero__content {
  position: relative;
  z-index: 2;   /* nad ::after přechodem */
  max-width: 780px;
}

.hero__eyebrow {
  font: 600 .75rem/1 var(--font-ui);
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--c-gold-light);   /* světlejší zlatá na tmavé foto */
  margin-bottom: 1.25rem;
  opacity: .9;
}

.hero__title {
  font: 900 clamp(3.5rem, 9vw, 7rem)/1 var(--font-display);
  color: #F0EAD6;               /* vždy teplá bílá — nezávislé na světlém tématu */
  letter-spacing: -.02em;
  margin-bottom: .6rem;
}

.hero__title span { color: var(--c-gold-light); }

.hero__subtitle {
  font: 400 italic clamp(1.1rem, 2.2vw, 1.45rem)/1.4 var(--font-display);
  color: rgba(240,234,214,.78);  /* vždy světlá nad tmavou fotografií */
  margin-bottom: 2.5rem;
}

.hero__actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

/* Tlačítka v hero — vždy na tmavém pozadí fotografie */
.hero .btn--gold {
  background: var(--c-red);
  border-color: var(--c-red);
  color: #fff;
}
.hero .btn--gold:hover {
  background: var(--c-red-light);
  border-color: var(--c-red-light);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(155,31,31,.50);
}
.hero .btn--outline {
  color: #F0EAD6;
  border-color: rgba(240,234,214,.72);  /* silnější — viditelný na tmavém pozadí */
  background: rgba(255,255,255,.07);
}
.hero .btn--outline:hover {
  border-color: rgba(240,234,214,.95);
  color: #fff;
  background: rgba(255,255,255,.16);
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(0,0,0,.30);
}

.hero__scroll {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(240,234,214,.45);   /* vždy světlá nad fotografií */
  z-index: 2;
}

@keyframes bounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(8px); }
}

/* ============================================================
   HERO: Divadelní opona
   ============================================================ */

/* Látka opony — pod navbarem (z-index nav = 100) */
.hero-curtain {
  position: absolute;
  top: 0; bottom: 0;
  width: 52%;
  z-index: 10;
  pointer-events: none;
  will-change: transform;
  /* Sametový závěs — nepravidelné záhyby ručně skládané.
     Každý záhyb: rychlý vzestup (světlý vrchol) → pomalý sestup (tmavé údolí).
     Různá šířka záhybů = organický, nematematický vzhled. */
  background:
    /* Vrchní a spodní vignette — hloubka prostoru */
    linear-gradient(to bottom,
      rgba(0,0,0,.40)  0%,
      rgba(0,0,0,.08) 12%,
      rgba(0,0,0,.0)  50%,
      rgba(0,0,0,.10) 88%,
      rgba(0,0,0,.50) 100%
    ),
    /* Nepravidelné záhyby */
    linear-gradient(90deg,
      #0D0202  0%,              /* tmavý okraj */
      #B82020  4%,              /* 1. záhyb — vrchol */
      #C52828  5.5%,
      #160404 12%,              /* hluboké údolí */
      #0B0101 15%,
      #A81C1C 18.5%,            /* 2. záhyb — užší */
      #BB2020 20%,
      #130303 25%,
      #0A0101 29%,
      #9B1F1F 33%,              /* 3. záhyb — střední */
      #C02626 35%,
      #1A0404 42%,              /* nejhlubší údolí */
      #0C0202 46%,
      #A51A1A 50%,              /* 4. záhyb — nejširší, dominantní */
      #C82828 52%,
      #180404 59%,
      #0D0202 63%,
      #9E1818 67%,              /* 5. záhyb */
      #BA2020 69%,
      #150303 75%,
      #0B0101 79%,
      #A01616 83%,              /* 6. záhyb — užší */
      #B81E1E 84.5%,
      #130303 90%,              /* závěrečné údolí */
      #9B1F1F 95%,              /* 7. záhyb — okrajový */
      #B02020 96.5%,
      #0E0202 100%              /* tmavý okraj */
    );
  /* Lehký kontrast pro živější barvy */
  filter: contrast(1.08) brightness(0.96);
}

/* Na větších obrazovkách — jemnější, hustší záhyby (12 místo 7) */
@media (min-width: 769px) {
  .hero-curtain {
    background:
      linear-gradient(to bottom,
        rgba(0,0,0,.38)  0%,
        rgba(0,0,0,.07) 12%,
        rgba(0,0,0,.0)  50%,
        rgba(0,0,0,.08) 88%,
        rgba(0,0,0,.45) 100%
      ),
      linear-gradient(90deg,
        #0D0202  0%,
        #A42020  2.5%,  #B02424  3.5%,  #120303  7%,
        #0B0101  9.5%,  #9E1E1E 12%,   #AB2222 13%,   #110303 17%,
        #0A0101 19.5%,  #A32020 22%,   #B02424 23%,   #130303 27%,
        #0B0202 29.5%,  #9C1C1C 32%,   #A82020 33%,   #100303 37%,
        #0A0101 39.5%,  #A52020 42%,   #B22424 43%,   #130303 47%,
        #0C0202 49.5%,  #9E1E1E 52%,   #AA2222 53%,   #110303 57%,
        #0B0101 59.5%,  #A22020 62%,   #AE2424 63%,   #120303 67%,
        #0A0202 69.5%,  #9C1C1C 72%,   #A82020 73%,   #100303 77%,
        #0B0101 79.5%,  #A42020 82%,   #B02424 83%,   #130303 87%,
        #0C0202 89.5%,  #9E1E1E 92%,   #AA2222 93%,   #110303 97%,
        #9B1F1F 99%,    #0E0202 100%
      );
    filter: contrast(1.05) brightness(0.97);
  }
}

.hero-curtain--left {
  left: 0;
  z-index: 11; /* zlatý šev musí být nad pravým závěsem */
  box-shadow: inset -28px 0 56px rgba(0,0,0,.65), inset -4px 0 10px rgba(0,0,0,.4), 18px 0 45px rgba(0,0,0,.75);
  animation: curtain-left 2.6s linear 0.45s forwards;
}
.hero-curtain--right {
  right: 0;
  box-shadow: inset 28px 0 56px rgba(0,0,0,.65), inset 4px 0 10px rgba(0,0,0,.4), -18px 0 45px rgba(0,0,0,.75);
  animation: curtain-right 2.6s linear 0.45s forwards;
}

/* Zlatá třásňová linka dole */
.hero-curtain::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 6px;
  background: linear-gradient(90deg,
    transparent        0%,
    var(--c-gold-dark) 3%,
    var(--c-gold)     15%,
    var(--c-gold-light) 50%,
    var(--c-gold)     85%,
    var(--c-gold-dark) 97%,
    transparent       100%
  );
  opacity: .82;
}

/* Zlatý svítící šev ve středu — oba závěsy */
.hero-curtain--left::before,
.hero-curtain--right::before {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 4px;
  background: linear-gradient(to bottom,
    var(--c-gold-dark) 0%, var(--c-gold-light) 12%,
    var(--c-gold) 28%, var(--c-gold-light) 46%,
    var(--c-gold) 64%, var(--c-gold-light) 82%,
    var(--c-gold-dark) 100%
  );
  box-shadow: 0 0 10px rgba(212,169,60,.9), 0 0 24px rgba(212,169,60,.5), 0 0 48px rgba(212,169,60,.2);
}
.hero-curtain--left::before  { right: 0; }
.hero-curtain--right::before { left: 0; }

/* Fyzikálně věrný pohyb:
   krátký trhnutí → rychlý výtah → plynulé dojetí */
@keyframes curtain-left {
  0%   { transform: translateX(0);    animation-timing-function: cubic-bezier(0.5,0,1,1); }
  7%   { transform: translateX(-9%);  animation-timing-function: cubic-bezier(0.0,0,0.4,1); }
  72%  { transform: translateX(-93%); animation-timing-function: cubic-bezier(0.35,0,0.65,1); }
  100% { transform: translateX(-103%); }
}
@keyframes curtain-right {
  0%   { transform: translateX(0);   animation-timing-function: cubic-bezier(0.5,0,1,1); }
  7%   { transform: translateX(9%);  animation-timing-function: cubic-bezier(0.0,0,0.4,1); }
  72%  { transform: translateX(93%); animation-timing-function: cubic-bezier(0.35,0,0.65,1); }
  100% { transform: translateX(103%); }
}

/* Reflektor — výchozí glow + sledování myši přes ::before */
.hero-spotlight {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  overflow: hidden;
}
.hero-spotlight::before {
  content: '';
  position: absolute;
  width: 600px; height: 480px;
  border-radius: 50%;
  background: radial-gradient(ellipse at center,
    rgba(255,215,100,.16) 0%,
    rgba(255,175,55,.06)  42%,
    transparent           70%
  );
  left: var(--sx, 50%);
  top:  var(--sy, 46%);
  transform: translate(-50%, -50%);
  transition: left .1s ease, top .1s ease;
}

/* Touch zařízení — reflektor se pohybuje sám */
@media (hover: none) {
  .hero-spotlight::before {
    left: 50%; top: 46%;
    transform: translate(-50%, -50%);
    transition: none;
    animation: spotlight-wander 16s ease-in-out infinite;
  }
}
@keyframes spotlight-wander {
  0%   { transform: translate(-50%, -50%); }
  18%  { transform: translate(-105%, -65%); }
  38%  { transform: translate(5%,   -40%); }
  58%  { transform: translate(-85%, -30%); }
  78%  { transform: translate(-15%, -60%); }
  100% { transform: translate(-50%, -50%); }
}

/* Staggered reveal — obsah vychází postupně */
.hero__eyebrow {
  animation: hero-reveal .65s cubic-bezier(.22,1,.36,1) 2.55s both;
}
.hero__title {
  animation: hero-reveal .75s cubic-bezier(.22,1,.36,1) 2.72s both;
}
.hero__subtitle {
  animation: hero-reveal .65s cubic-bezier(.22,1,.36,1) 2.88s both;
}
.hero__actions {
  animation: hero-reveal .65s cubic-bezier(.22,1,.36,1) 3.04s both;
}
.hero__scroll {
  animation: hero-reveal .5s ease 3.25s both, bounce 2s ease-in-out 3.75s infinite;
}
@keyframes hero-reveal {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Mobile */
@media (max-width: 768px) {
  .hero-valance { height: 26px; }
  .hero-valance::before { bottom: -9px; height: 9px; }
  .hero-curtain--left  { box-shadow: inset -18px 0 36px rgba(0,0,0,.6), 12px 0 30px rgba(0,0,0,.7); }
  .hero-curtain--right { box-shadow: inset 18px 0 36px rgba(0,0,0,.6), -12px 0 30px rgba(0,0,0,.7); }
  .hero-spotlight::before { width: 90vw; height: 72vw; }
}

/* ---------- SECTION: Představení ---------- */
.predstaveni-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 900px) {
  .predstaveni-grid { grid-template-columns: 1fr; }
}

/* Lístek: stub(datum) | plakát | tělo */
.predstaveni-card {
  display: grid;
  grid-template-columns: 66px 200px 1fr;
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--card-radius);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transition: box-shadow var(--ease), transform var(--ease);
}

.predstaveni-card::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  background: linear-gradient(
    225deg,
    var(--c-bg) 42%,
    rgba(26,23,20,.12) 46%,
    transparent 50%
  );
  transition: width .35s cubic-bezier(.4,0,.2,1), height .35s cubic-bezier(.4,0,.2,1);
  z-index: 5;
  pointer-events: none;
}

.predstaveni-card:hover::after {
  width: 56px;
  height: 56px;
}

.predstaveni-card:hover {
  box-shadow: 0 8px 20px rgba(26,23,20,.14), 0 2px 6px rgba(26,23,20,.08);
  transform: translateY(-4px);
}

.predstaveni-card.is-past { opacity: .55; }

/* Útržek — levá část lístku s datem */
.predstaveni-card__stub {
  background: var(--c-gold-dark);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1.25rem .35rem;
  gap: .12rem;
  box-shadow: 3px 0 10px rgba(0,0,0,.28);
  border-right: 2px dashed rgba(255,255,255,.3);
  position: relative;
  z-index: 1;
}

.stub__day {
  font: 800 2rem/1 var(--font-display);
  color: #fff;
  letter-spacing: -.03em;
}

.stub__month {
  font: 600 .6rem/1 var(--font-ui);
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.6);
}

.stub__time {
  font: 500 .72rem/1 var(--font-ui);
  color: rgba(255,255,255,.82);
  margin-top: .65rem;
  border-top: 1px solid rgba(255,255,255,.16);
  padding-top: .65rem;
  width: 100%;
  text-align: center;
}

.stub__icon {
  color: rgba(255,255,255,.16);
  font-size: 1rem;
  margin-top: auto;
  padding-top: .75rem;
}

.predstaveni-card__poster {
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
  aspect-ratio: 210 / 297;
}

.predstaveni-card__poster img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center top;
  transition: transform var(--ease-slow);
  display: block;
}

.predstaveni-card:hover .predstaveni-card__poster img {
  transform: scale(1.04);
}

.predstaveni-card__poster--placeholder {
  background: var(--c-bg-04);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-text-faint);
  font-size: 3rem;
  width: 100%;
  min-height: 200px;
}

.predstaveni-card__body {
  padding: 1.5rem 1.75rem 1.5rem 1.75rem;
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.predstaveni-card__zanr {
  font: 700 .68rem/1 var(--font-ui);
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--c-gold);
}

.predstaveni-card__title {
  font: 700 clamp(1.2rem, 2vw, 1.5rem)/1.2 var(--font-display);
  color: var(--c-text);
}

.predstaveni-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.5rem;
  color: var(--c-text-muted);
  font-size: .88rem;
}

.predstaveni-card__meta-item {
  display: flex;
  align-items: center;
  gap: .4rem;
}

.predstaveni-card__meta-item svg { color: var(--c-gold); flex-shrink: 0; }

.predstaveni-card__divider {
  height: 1px;
  background: var(--c-border);
  margin: .25rem 0;
}

/* Accordion pro popis */
.predstaveni-card__accordion {
  border: none;
  background: none;
}

.predstaveni-card__accordion summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: .5rem;
  color: var(--c-text-muted);
  font: 500 .85rem/1 var(--font-ui);
  user-select: none;
  transition: color var(--ease);
  padding: .2rem 0;
}
.predstaveni-card__accordion summary::-webkit-details-marker { display: none; }
.predstaveni-card__accordion summary:hover { color: var(--c-gold); }
.predstaveni-card__accordion summary .icon-chevron {
  transition: transform var(--ease);
  color: var(--c-gold);
}
.predstaveni-card__accordion[open] summary .icon-chevron {
  transform: rotate(180deg);
}

.predstaveni-card__popis {
  padding-top: .75rem;
  color: var(--c-text-muted);
  font-family: var(--font-body);
  font-size: .9rem;
  line-height: 1.7;
  border-top: 1px solid var(--c-border);
  margin-top: .5rem;
}

.predstaveni-card__popis p { margin-bottom: .6rem; }
.predstaveni-card__popis p:last-child { margin-bottom: 0; }

.predstaveni-card__footer {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.predstaveni-card__vstupne {
  font: 600 .9rem/1 var(--font-ui);
  color: var(--c-text-muted);
}

/* ---------- SECTION: Novinky ---------- */
.novinky-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
}

.novinka-card {
  background: #fff;
  border: 1px solid var(--c-border);
  border-top: 3px solid var(--c-gold);
  border-radius: var(--card-radius);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transition: border-color var(--ease), transform var(--ease), box-shadow var(--ease);
  display: flex;
  flex-direction: column;
}

.novinka-card:hover {
  border-top-color: var(--c-red);
  transform: translateY(-3px);
  box-shadow: 0 12px 36px rgba(26,23,20,.15), 0 2px 8px rgba(155,31,31,.10);
}

.novinka-card__img {
  aspect-ratio: 16/9;
  overflow: hidden;
}

.novinka-card__img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform var(--ease-slow);
}
.novinka-card:hover .novinka-card__img img { transform: scale(1.05); }

.novinka-card__img--placeholder {
  background: var(--c-bg-04);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-text-faint);
  font-size: 2.5rem;
}

.novinka-card__body {
  padding: 1.25rem 1.5rem 1.5rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: .6rem;
}

.novinka-card__date {
  font: 400 .78rem/1 var(--font-ui);
  color: var(--c-text-faint);
  text-transform: uppercase;
  letter-spacing: .1em;
}

.novinka-card__title {
  font: 700 1.1rem/1.3 var(--font-display);
  color: var(--c-text);
}
.novinka-card__title a { color: inherit; }
.novinka-card__title a:hover { color: var(--c-gold); }

.novinka-card__excerpt {
  color: var(--c-text-muted);
  font-family: var(--font-body);
  font-size: .88rem;
  line-height: 1.65;
  flex: 1;
}

.novinka-card__link {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-top: .75rem;
  padding: .45rem .9rem .45rem .8rem;
  border: 1.5px solid var(--c-gold-30);
  border-radius: 100px;
  font: 600 .8rem/1 var(--font-ui);
  color: var(--c-gold-dark);
  background: var(--c-gold-10);
  transition: all var(--ease);
  align-self: flex-start;
}
.novinka-card__link:hover {
  background: var(--c-gold);
  border-color: var(--c-gold);
  color: #0D0D0D;
  gap: .6rem;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(184,146,42,.28);
}

/* ---------- SECTION: O nás ---------- */
.onas-section {
  background: var(--c-bg-02);
  padding-block: var(--section-gap);
  border-top: 1px solid var(--c-border);
  border-bottom: 1px solid var(--c-border);
}

.onas-intro {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 4rem;
  align-items: start;
}

.onas-intro__perex {
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--c-text-muted);
  margin-bottom: 2rem;
}

.onas-pillars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.onas-pillar {
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  border-radius: var(--card-radius);
  padding: 1.75rem 1.5rem;
  border-top: 3px solid var(--c-gold);
}

.onas-pillar__icon {
  color: var(--c-gold);
  margin-bottom: 1rem;
}

.onas-pillar__title {
  font: 700 1rem/1.3 var(--font-display);
  color: var(--c-text);
  margin-bottom: .6rem;
}

.onas-pillar__text {
  font-size: .88rem;
  line-height: 1.6;
  color: var(--c-text-muted);
}

@media (max-width: 900px) {
  .onas-intro { grid-template-columns: 1fr; gap: 2.5rem; }
  .onas-pillars { grid-template-columns: 1fr; }
}

.program-badge {
  display: inline-block;
  padding: .25rem .65rem;
  border-radius: 100px;
  font: 600 .72rem/1 var(--font-ui);
  background: var(--c-gold-10);
  color: var(--c-gold);
  border: 1px solid var(--c-gold-20);
}

/* ---------- SECTION: Pronájem ---------- */
.pronajem-section { padding-block: var(--section-gap); }

.pronajem-card {
  border: 1px solid var(--c-gold-30);
  border-radius: var(--card-radius);
  padding: 2.5rem 3rem;
  background: linear-gradient(135deg, var(--c-bg-02) 0%, rgba(201,168,76,.04) 100%);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: center;
}

.pronajem-card__title {
  font: 700 1.6rem/1.2 var(--font-display);
  color: var(--c-text);
  margin-bottom: .6rem;
}

.pronajem-card__sub { color: var(--c-text-muted); font-size: .95rem; margin-bottom: 1.5rem; }

.pronajem-prostory {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
}

.pronajem-prostor__label {
  font: 700 .72rem/1 var(--font-ui);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--c-gold);
  margin-bottom: .4rem;
}

.pronajem-prostor__name {
  font: 600 1rem/1.2 var(--font-display);
  color: var(--c-text);
  margin-bottom: .2rem;
}

.pronajem-prostor__price { color: var(--c-text-muted); font-size: .88rem; }

.pronajem-card__actions { display: flex; flex-direction: column; gap: .75rem; align-items: flex-end; }

/* ---------- SECTION: Kontakt ---------- */
.kontakt-section { background: var(--c-bg-02); padding-block: var(--section-gap); border-top: 1px solid var(--c-border); }

.kontakt-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: stretch;
}

.kontakt-info__org {
  font: 700 1rem/1.3 var(--font-display);
  color: var(--c-text);
  margin-bottom: .2rem;
}
.kontakt-info__org-sub {
  font: 400 .82rem/1 var(--font-ui);
  color: var(--c-text-faint);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 1.5rem;
}
.kontakt-info__list { display: flex; flex-direction: column; gap: .85rem; margin-bottom: 2rem; }

.kontakt-info__item {
  display: flex;
  align-items: flex-start;
  gap: .9rem;
}

.kontakt-info__icon {
  width: 40px; height: 40px;
  border-radius: 8px;
  background: var(--c-gold-10);
  border: 1px solid var(--c-gold-20);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-gold);
  flex-shrink: 0;
}

.kontakt-info__label {
  font: 600 .72rem/1 var(--font-ui);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--c-text-faint);
  margin-bottom: .3rem;
}

.kontakt-info__value {
  color: var(--c-text);
  font-size: .95rem;
  line-height: 1.5;
}

.kontakt-social { display: flex; gap: .75rem; }

.kontakt-social__link {
  width: 40px; height: 40px;
  border-radius: 8px;
  background: var(--c-gold-10);
  border: 1px solid var(--c-gold-20);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-gold);
  transition: all var(--ease);
}
.kontakt-social__link:hover {
  background: var(--c-gold);
  color: #0D0D0D;
  border-color: var(--c-gold);
}

.kontakt-map {
  border-radius: var(--card-radius);
  overflow: hidden;
  border: 1px solid var(--c-border);
  min-height: 360px;
}
.kontakt-map iframe { width: 100%; height: 100%; min-height: 360px; border: none; display: block; }

/* ---------- FOOTER ---------- */
.site-footer {
  background: #1A1714;   /* teplá tmavá, ne čistá černá */
  border-top: none;
  padding: 2.5rem 0 1.5rem;
  color: #F0EAD6;
}

.footer-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: center;
  margin-bottom: 2rem;
}

.footer-nav { display: flex; gap: 1.5rem; flex-wrap: wrap; }
.footer-nav a {
  color: rgba(240,234,214,.55);
  font-size: .85rem;
  transition: color var(--ease);
}
.footer-nav a:hover { color: var(--c-gold-light); }

.footer-logos {
  display: flex;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
}

.footer-zrizovatel {
  display: flex;
  align-items: center;
  gap: .65rem;
  text-decoration: none;
  padding-left: 2rem;
  border-left: 1px solid rgba(240,234,214,.15);
}
.footer-zrizovatel img {
  flex-shrink: 0;
}
.footer-zrizovatel .site-logo__name { font-weight: 700; }

/* Logo v footeru — světlé na tmavém pozadí (přebíjí body:not(.home) pravidlo) */
.site-footer .site-logo__name,
body:not(.home) .site-footer .site-logo__name { color: #F0EAD6; }
.site-footer .site-logo__sub,
body:not(.home) .site-footer .site-logo__sub  { color: rgba(240,234,214,.55); }

.footer-bottom {
  border-top: 1px solid rgba(240,234,214,.10);
  padding-top: 1.25rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: .75rem;
  font-size: .8rem;
  color: rgba(240,234,214,.38);
}

.footer-bottom a { color: rgba(240,234,214,.38); }
.footer-bottom a:hover { color: var(--c-gold-light); }

/* ---------- Stránky: Program, Pronájem, Kontakt ---------- */
.page-hero {
  padding: calc(var(--nav-h) + 3rem) 1.25rem 3rem;
  text-align: center;
  background: linear-gradient(to bottom, rgba(201,168,76,.06) 0%, transparent 100%);
  border-bottom: 1px solid var(--c-border);
  margin-bottom: var(--section-gap);
}

.page-hero__title {
  font: 800 clamp(2.2rem, 5vw, 3.8rem)/1.1 var(--font-display);
  color: var(--c-text);
  margin-bottom: .75rem;
}

.page-hero__sub { color: var(--c-text-muted); font-size: 1.05rem; }

/* Kontaktní formulář */
.kontakt-form { display: flex; flex-direction: column; gap: 1rem; }

.form-group { display: flex; flex-direction: column; gap: .4rem; }

.form-group label {
  font: 600 .82rem/1 var(--font-ui);
  color: var(--c-text-muted);
  letter-spacing: .04em;
}

.form-group input,
.form-group textarea,
.form-group select {
  background: var(--c-bg-03);
  border: 1px solid var(--c-bg-04);
  border-radius: 8px;
  padding: .75rem 1rem;
  color: var(--c-text);
  font: 400 .95rem/1 var(--font-ui);
  transition: border-color var(--ease);
  width: 100%;
}
.form-group input::placeholder,
.form-group textarea::placeholder { color: var(--c-text-faint); }

.form-group input:focus,
.form-group textarea:focus {
  outline: none;
  border-color: var(--c-gold-30);
  box-shadow: 0 0 0 3px var(--c-gold-10);
}

.form-group textarea { resize: vertical; min-height: 130px; }

.form-notice {
  padding: 1rem 1.25rem;
  border-radius: 8px;
  font-size: .9rem;
  margin-bottom: 1rem;
}
.form-notice--success { background: rgba(90,184,122,.12); border: 1px solid rgba(90,184,122,.3); color: #5AB87A; }
.form-notice--error   { background: rgba(224,82,82,.10);  border: 1px solid rgba(224,82,82,.3);  color: #E05252; }

/* Pronájem - galerie */
.pronajem-sekce { padding-block: var(--section-gap); }
.pronajem-sekce + .pronajem-sekce { border-top: 1px solid var(--c-border); }

.pronajem-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: start;
}

.pronajem-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; }
.pronajem-gallery img {
  border-radius: 8px;
  aspect-ratio: 4/3;
  object-fit: cover;
  width: 100%;
  border: 1px solid var(--c-border);
}
.pronajem-content--reverse { direction: rtl; }
.pronajem-content--reverse > * { direction: ltr; }

.pronajem-info { display: flex; flex-direction: column; gap: 1.25rem; }

.pronajem-cenik {
  border: 1px solid var(--c-border);
  border-radius: var(--card-radius);
  overflow: hidden;
}
.pronajem-cenik__item {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  padding: .85rem 1.25rem;
  font-size: .92rem;
}
.pronajem-cenik__item + .pronajem-cenik__item { border-top: 1px solid var(--c-border); }
.pronajem-cenik__nazev { color: var(--c-text-muted); }
.pronajem-cenik__cena { font-weight: 700; color: var(--c-text); white-space: nowrap; }

.pronajem-poznamka {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  font-size: .88rem;
  color: var(--c-text-faint);
  line-height: 1.6;
}
.pronajem-poznamka svg { flex-shrink: 0; margin-top: .15rem; color: var(--c-gold); }

.pronajem-spolecne {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.5rem 1.75rem;
  background: var(--c-gold-10);
  border: 1px solid var(--c-gold-30);
  border-radius: var(--card-radius);
  font-size: .92rem;
  color: var(--c-text-muted);
  line-height: 1.7;
  margin-bottom: 2rem;
}
.pronajem-spolecne svg { flex-shrink: 0; color: var(--c-gold); margin-top: .2rem; }
.pronajem-spolecne p + p { margin-top: .4rem; }
.pronajem-spolecne a { color: var(--c-text); font-weight: 600; }

.pronajem-gallery img:first-child {
  grid-column: 1 / -1;
  aspect-ratio: 16/9;
}

/* ---------- Detail Představení ---------- */
.single-predstaveni {
}

.single-predstaveni__hero {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 3rem;
  margin-bottom: 3rem;
}

.single-predstaveni__plakat {
  border-radius: var(--card-radius);
  overflow: hidden;
  border: 1px solid var(--c-border);
}
.single-predstaveni__plakat img { width: 100%; display: block; }

.single-predstaveni__info { padding-top: .5rem; }

.single-predstaveni__title {
  font: 800 clamp(2rem, 4vw, 3rem)/1.1 var(--font-display);
  color: var(--c-text);
  margin-bottom: 1.25rem;
}

.single-predstaveni__meta {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  margin-bottom: 2rem;
  padding: 1.5rem;
  background: var(--c-bg-02);
  border: 1px solid var(--c-border);
  border-radius: var(--card-radius);
}

.single-predstaveni__content {
  color: var(--c-text-muted);
  line-height: 1.8;
  font-size: 1.02rem;
}
.single-predstaveni__content p { margin-bottom: 1.25rem; }

.back-link {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  color: var(--c-text-muted);
  font-size: .88rem;
  margin-bottom: 1.5rem;
  transition: color var(--ease);
}
.back-link:hover { color: var(--c-gold); }

/* ---------- Section: Obecný .section ---------- */
.section { padding-block: var(--section-gap); }

/* ---------- Program wrapper: přepínač pohledu ---------- */
.program-wrapper[data-view="table"] .predstaveni-grid { display: none; }
.program-wrapper[data-view="cards"] .program-table-wrap { display: none; }

.program-table-wrap { overflow-x: auto; }
.program-table__title { color: var(--c-text); font-weight: 600; }
.program-table__title:hover { color: var(--c-gold); }
.program-table__col-action { text-align: right; white-space: nowrap; }
.program-badge--zanr { font-size: .7rem; }

/* ---------- Novinka grid (index.php fallback) ---------- */
.novinka-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
}
.novinka-card__img-link { display: block; overflow: hidden; aspect-ratio: 16/9; }
.novinka-card__img-link img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--ease-slow); }
.novinka-card:hover .novinka-card__img-link img { transform: scale(1.05); }

/* Pagination */
.pagination .nav-links { display: flex; gap: .5rem; flex-wrap: wrap; justify-content: center; }
.pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 2.2rem; height: 2.2rem; padding: 0 .5rem;
  border-radius: 6px; border: 1px solid var(--c-border);
  color: var(--c-text-muted); font-size: .88rem; transition: all var(--ease);
}
.pagination .page-numbers:hover { border-color: var(--c-gold); color: var(--c-gold); }
.pagination .page-numbers.current { background: var(--c-gold); color: #0D0D0D; border-color: var(--c-gold); }

/* ---------- Pronájem stránka ---------- */
.pronajem-hero {
  padding: calc(var(--nav-h) + 4rem) 1.25rem 3.5rem;
  background: linear-gradient(to bottom, rgba(201,168,76,.06) 0%, transparent 100%);
  border-bottom: 1px solid var(--c-border);
}
.pronajem-hero__lead {
  color: var(--c-text-muted); font-size: 1.05rem; max-width: 680px;
  margin-bottom: 2rem; line-height: 1.75;
}
.pronajem-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 2rem;
}
.pronajem-card { display: grid; grid-template-columns: auto 1fr; gap: 1.5rem; align-items: start; }
.pronajem-card__icon { font-size: 3rem; line-height: 1; margin-top: .25rem; }
.pronajem-card__body {}
.pronajem-card__desc { color: var(--c-text-muted); font-size: .95rem; line-height: 1.7; margin-bottom: 1.25rem; }
.pronajem-card__specs { display: flex; flex-direction: column; gap: .6rem; }
.pronajem-card__specs li {
  display: flex; align-items: flex-start; gap: .6rem;
  color: var(--c-text-muted); font-size: .9rem; line-height: 1.4;
}
.pronajem-card__specs svg { color: var(--c-gold); flex-shrink: 0; margin-top: .1rem; }
.pronajem-card__specs strong { color: var(--c-text); }

.pronajem-cta {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 2rem;
  padding: 2.5rem 3rem;
  background: var(--c-bg-02);
  border: 1px solid var(--c-gold-20);
  border-radius: var(--card-radius);
}
.pronajem-cta h2 { font: 700 1.5rem/1.2 var(--font-display); margin-bottom: .5rem; }
.pronajem-cta p { color: var(--c-text-muted); }
.pronajem-cta__actions { display: flex; gap: .75rem; flex-wrap: wrap; align-items: center; }

/* ---------- Kontakt stránka ---------- */
.kontakt-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: stretch;
}
.kontakt-info {}
.kontakt-list { display: flex; flex-direction: column; gap: .5rem; }
.kontakt-list__item { display: flex; align-items: flex-start; gap: .85rem; font-size: .95rem; line-height: 1.5; }
.kontakt-list__item strong { color: var(--c-text); display: block; margin-bottom: .2rem; }
.kontakt-list__item a { color: var(--c-text-muted); }
.kontakt-list__item a:hover { color: var(--c-gold); }
.kontakt-list__icon { color: var(--c-gold); flex-shrink: 0; margin-top: .2rem; }
.kontakt-mapa { display: flex; flex-direction: column; }
.kontakt-mapa__embed { border-radius: var(--card-radius); overflow: hidden; border: 1px solid var(--c-border); flex: 1; min-height: 380px; }
.kontakt-mapa__embed iframe { width: 100%; height: 100%; min-height: 380px; border: none; display: block; filter: grayscale(.3); }
.kontakt-mapa__placeholder {
  border: 1px dashed var(--c-border); border-radius: var(--card-radius);
  min-height: 200px; display: flex; align-items: center; justify-content: center;
}

/* ---------- Detail novinkového příspěvku (single.php) ---------- */
.novinka-detail { }
.novinka-detail__header {
  position: relative;
  padding-top: var(--nav-h);
}
.novinka-detail__featured {
  margin-bottom: 2.5rem;
}
.novinka-detail__featured img {
  display: block;
  width: 100%;
  max-width: 760px;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 4px 24px rgba(26,23,20,.10);
}
.novinka-detail__meta-top {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: .5rem;
  padding: 1.5rem 0 .75rem;
}
.novinka-detail__date { color: var(--c-text-faint); font-size: .85rem; }
.novinka-detail__title {
  font: 800 clamp(1.8rem, 4vw, 3rem)/1.15 var(--font-display);
  color: var(--c-text);
  margin-bottom: 0;
}
.novinka-detail__content.entry-content {
  max-width: 760px;
  color: var(--c-text-muted);
  line-height: 1.85;
  font-size: 1.02rem;
}
.entry-content p { margin-bottom: 1.2rem; }
.entry-content h2, .entry-content h3 {
  font-family: var(--font-display);
  color: var(--c-text);
  margin: 2rem 0 .75rem;
}
.entry-content ul, .entry-content ol { padding-left: 1.5rem; margin-bottom: 1.2rem; }
.entry-content li { margin-bottom: .4rem; }
.entry-content img { border-radius: 8px; margin-block: 1.5rem; }
.entry-content a { color: var(--c-gold); }
.entry-content a:hover { color: var(--c-gold-light); }
.novinka-detail__footer { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--c-border); }

/* ---------- Detail představení (single-predstaveni.php) ---------- */
.predstaveni-detail { padding-block: var(--section-gap); }

.detail-breadcrumb {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .85rem;
  color: var(--c-text-muted);
  margin-bottom: 2.5rem;
}
.detail-breadcrumb a {
  color: var(--c-gold);
  text-decoration: none;
  font-weight: 600;
}
.detail-breadcrumb a:hover { text-decoration: underline; }
.detail-breadcrumb__sep { color: var(--c-text-faint); }

.predstaveni-detail__layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 4rem;
  align-items: start;
}

/* Plakát - A4 poměr, stínování jako fyzický plakát */
.predstaveni-detail__poster-col {
  position: sticky;
  top: calc(var(--nav-h) + 2rem);
}
.predstaveni-detail__poster-img {
  display: block;
  width: 100%;
  aspect-ratio: 210 / 297;
  object-fit: cover;
  object-position: center top;
  border-radius: 6px;
  box-shadow: 0 8px 40px rgba(26,23,20,.22), 0 2px 8px rgba(26,23,20,.12);
}
.predstaveni-detail__poster-placeholder {
  width: 100%;
  aspect-ratio: 210 / 297;
  background: var(--c-bg-03);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 5rem;
  border-radius: 6px;
  color: var(--c-text-faint);
}
.predstaveni-detail__past-badge {
  margin-top: .75rem;
  text-align: center;
  font: 600 .78rem/1 var(--font-ui);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--c-text-faint);
}

/* Pravý sloupec */
.predstaveni-detail__title {
  font: 900 clamp(1.8rem, 4vw, 3rem)/1.15 var(--font-display);
  color: var(--c-text);
  margin: .5rem 0 1.5rem;
}

.detail-meta-list {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.detail-meta-list li {
  display: flex;
  align-items: center;
  gap: .6rem;
  font-size: .95rem;
  color: var(--c-text-muted);
}
.detail-meta-list li svg { color: var(--c-gold); flex-shrink: 0; }

.predstaveni-detail__btn { margin-bottom: 2.5rem; }

.predstaveni-detail__content {
  border-top: 1px solid var(--c-border);
  padding-top: 2rem;
  color: var(--c-text-muted);
  line-height: 1.85;
  font-size: 1rem;
}
.predstaveni-detail__content p { margin-bottom: 1.2rem; }
.predstaveni-detail__content h2,
.predstaveni-detail__content h3 {
  font-family: var(--font-display); color: var(--c-text); margin: 2rem 0 .75rem;
}

@media (max-width: 768px) {
  .predstaveni-detail__layout { grid-template-columns: 1fr; gap: 2rem; }
  .predstaveni-detail__poster-col { position: static; max-width: 220px; }
}

/* ---------- Archiv / prázdný stav ---------- */
.empty-state {
  text-align: center;
  padding: 4rem 2rem;
  color: var(--c-text-muted);
  display: flex; flex-direction: column; align-items: center; gap: 1.5rem;
}

/* ---------- Plán akcí (page-program.php) ---------- */
.plan-month {
  padding-block: 2rem 0;
  border-top: 1px solid var(--c-border);
}
.plan-month:first-of-type { border-top: none; }

.plan-month--past { opacity: .55; }

.plan-month__heading {
  font: 700 1.1rem/1 var(--font-display);
  color: var(--c-text);
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1rem;
  padding-bottom: .75rem;
}

.plan-month__num {
  font: 700 2rem/1 var(--font-display);
  color: var(--c-gold);
  opacity: .35;
  min-width: 2.2rem;
}

.plan-month__past-tag {
  font: 600 .68rem/1 var(--font-ui);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--c-text-faint);
  background: var(--c-bg-03);
  padding: .25rem .6rem;
  border-radius: 100px;
}

.plan-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 1rem;
}

.plan-item {
  display: grid;
  grid-template-columns: 130px 1fr auto;
  gap: .75rem 1.25rem;
  align-items: center;
  padding: .65rem .5rem;
  border-radius: 8px;
  transition: background var(--ease);
}
.plan-item:hover { background: var(--c-bg-02); }
.plan-item--past { opacity: .5; }
.plan-item--today {
  background: rgba(184,146,42,.08);
  border-left: 3px solid var(--c-gold);
  padding-left: .75rem;
}

.plan-item__date {
  font: 600 .88rem/1.3 var(--font-ui);
  color: var(--c-text-muted);
  white-space: nowrap;
}
.plan-item--today .plan-item__date { color: var(--c-gold-dark); font-weight: 700; }

.plan-item__title {
  font: 600 .95rem/1.35 var(--font-display);
  color: var(--c-text);
}
.plan-item__sub {
  font: 400 .82rem/1.3 var(--font-ui);
  color: var(--c-text-muted);
  margin-top: .15rem;
}

.plan-item__meta {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.plan-item__badge {
  display: inline-block;
  padding: .22rem .6rem;
  border-radius: 100px;
  font: 600 .68rem/1 var(--font-ui);
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
}
.plan-item__kde {
  font: 400 .78rem/1 var(--font-ui);
  color: var(--c-text-faint);
  white-space: nowrap;
}

/* ---------- Responsivita ---------- */
@media (max-width: 1024px) {
  .kontakt-grid { grid-template-columns: 1fr; }
  .pronajem-card { grid-template-columns: 1fr; }
  .pronajem-card__actions { align-items: flex-start; flex-direction: row; }
  .pronajem-content { grid-template-columns: 1fr; }
  .kontakt-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .predstaveni-detail__layout { grid-template-columns: 220px 1fr; gap: 2.5rem; }
  .pronajem-grid { grid-template-columns: 1fr; }
  .pronajem-cta { flex-direction: column; }
}

@media (max-width: 768px) {
  :root { --nav-h: 64px; }

  .primary-nav { display: none; }
  .nav-toggle { display: flex; }

  .predstaveni-card { grid-template-columns: 1fr; }
  .predstaveni-card__stub {
    flex-direction: row;
    justify-content: flex-start;
    gap: 1rem;
    padding: .7rem 1.25rem;
    border-right: none;
    border-bottom: 2px dashed rgba(255,255,255,.2);
  }
  .stub__day { font-size: 1.6rem; }
  .stub__time { margin-top: 0; border-top: none; padding-top: 0; padding-left: 1rem; border-left: 1px solid rgba(255,255,255,.18); width: auto; }
  .stub__icon { display: none; }
  .predstaveni-card__poster { aspect-ratio: 16/9; max-height: 220px; min-height: unset; }
  .predstaveni-card__meta-item { /* zachovat i na mob */ }

  .footer-inner { grid-template-columns: 1fr; }
  .footer-logos { flex-direction: column; align-items: flex-start; gap: 1rem; }
  .footer-zrizovatel { padding-left: 0; border-left: none; }

  .single-predstaveni__hero { grid-template-columns: 1fr; }
  .single-predstaveni__plakat { max-width: 320px; }

  .program-table .col-zanr,
  .program-table .col-produkce { display: none; }

  .predstaveni-detail__hero { min-height: 55vh; }
  .predstaveni-detail { padding-block: 0 3rem; }
  .predstaveni-detail__layout { grid-template-columns: 1fr; gap: 1.5rem; }
  .predstaveni-detail__poster-col { position: static; max-width: 180px; }
  .predstaveni-detail__btn { width: 100%; justify-content: center; }
  /* Plán akcí mobile */
  .plan-item { grid-template-columns: 110px 1fr; }
  .plan-item__meta { display: none; }
  .plan-item__badge { display: inline-block; margin-top: .3rem; }
  .plan-item__meta { display: flex; grid-column: 1 / -1; justify-content: flex-start; }
}

@media (max-width: 480px) {
  .hero__actions { flex-direction: column; align-items: center; }
  .pronajem-prostory { flex-direction: column; gap: 1rem; }
  .program-table .col-cas { display: none; }
  .pronajem-card { padding: 1.5rem; }
}

/* ---------- Kontaktní stránka — drobnosti ---------- */
.kontakt-page__org-sub {
  color: var(--c-text-faint);
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-top: -1.5rem;
  margin-bottom: 2rem;
}

/* ---------- Contact Form 7 sekce ---------- */
.kdb-cf7-section {
  background: var(--c-bg-02);
  border-top: 1px solid var(--c-border);
  padding-block: var(--section-gap);
}

.kdb-cf7-wrap {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 5rem;
  align-items: start;
}

.kdb-cf7-title {
  font: 700 clamp(1.5rem, 2.5vw, 2rem)/1.2 var(--font-display);
  color: var(--c-text);
  margin-bottom: .75rem;
}
.kdb-cf7-title::after {
  content: '';
  display: block;
  width: 36px; height: 3px;
  background: linear-gradient(90deg, var(--c-red), var(--c-gold));
  border-radius: 2px;
  margin-top: .65rem;
}

.kdb-cf7-lead {
  color: var(--c-text-muted);
  font-size: .95rem;
  line-height: 1.7;
  margin-top: .75rem;
}

/* ---- CF7 form — kořen ---- */
.kdb-cf7-form .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* ---- Řádky formuláře (.kdb-field) ---- */
.kdb-field {
  margin-bottom: 1rem;
}
/* CF7 vkládá <p> dovnitř kdb-field — zrušíme jeho defaultní odsazení */
.kdb-field > p {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: .85rem;
}
/* 2-sloupcový layout — grid na <p>, který CF7 vkládá */
.kdb-field--2col > p {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
/* <br> tagy co CF7 generuje mezi labely skryjeme */
.kdb-field > p > br { display: none; }

.kdb-field--submit {
  margin-top: .5rem;
  margin-bottom: 0;
}
.kdb-field--submit > p { display: block; }

/* ---- Label ---- */
.kdb-cf7-form label {
  display: block;
  font: 600 .82rem/1.4 var(--font-ui);
  color: var(--c-text-muted);
  letter-spacing: .04em;
}
/* <br> uvnitř labelu schovat */
.kdb-cf7-form label > br { display: none; }

/* Input/textarea wrapper — blokový element pod textem labelu */
.kdb-cf7-form .wpcf7-form-control-wrap {
  display: block;
  margin-top: .35rem;
}

.kdb-cf7-form abbr[title] {
  color: var(--c-red);
  text-decoration: none;
  font-weight: 400;
}

/* ---- Vstupní pole ---- */
.kdb-cf7-form .wpcf7-form-control-wrap {
  display: block;
}
.kdb-cf7-form .wpcf7-form-control:not([type=submit]) {
  display: block;
  width: 100%;
  background: var(--c-bg);
  border: 1.5px solid var(--c-bg-04);
  border-radius: 8px;
  padding: .78rem 1rem;
  color: var(--c-text);
  font: 400 .95rem/1.4 var(--font-ui);
  transition: border-color var(--ease), box-shadow var(--ease);
  outline: none;
  -webkit-appearance: none;
}
.kdb-cf7-form .wpcf7-form-control:not([type=submit]):hover {
  border-color: var(--c-bg-04);
}
.kdb-cf7-form .wpcf7-form-control:not([type=submit]):focus {
  border-color: var(--c-gold);
  box-shadow: 0 0 0 3px var(--c-gold-10);
}
.kdb-cf7-form .wpcf7-form-control::placeholder {
  color: var(--c-text-faint);
}
.kdb-cf7-form textarea.wpcf7-form-control {
  resize: vertical;
  min-height: 150px;
  line-height: 1.65;
}

/* ---- Validace ---- */
.kdb-cf7-form .wpcf7-not-valid {
  border-color: rgba(155,31,31,.5) !important;
  box-shadow: 0 0 0 3px rgba(155,31,31,.08) !important;
}
.kdb-cf7-form .wpcf7-not-valid-tip {
  font: 400 .78rem/1.3 var(--font-ui);
  color: var(--c-red);
  margin-top: .3rem;
  display: block;
}

/* ---- Submit tlačítko ---- */
.kdb-cf7-form input[type=submit].wpcf7-submit {
  display: inline-flex;
  align-items: center;
  padding: .88rem 2.5rem;
  background: var(--c-gold);
  color: #0D0D0D;
  border: 2px solid var(--c-gold);
  border-radius: 6px;
  font: 700 .95rem/1 var(--font-ui);
  letter-spacing: .04em;
  cursor: pointer;
  transition: background var(--ease), border-color var(--ease),
              transform var(--ease), box-shadow var(--ease);
  -webkit-appearance: none;
}
.kdb-cf7-form input[type=submit].wpcf7-submit:hover {
  background: var(--c-gold-light);
  border-color: var(--c-gold-light);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(184,146,42,.40);
}
.kdb-cf7-form input[type=submit].wpcf7-submit:active {
  transform: translateY(0);
  box-shadow: none;
}
.kdb-cf7-form .wpcf7-spinner {
  margin-left: .75rem;
  vertical-align: middle;
}

/* ---- Zpráva po odeslání ---- */
.kdb-cf7-form .wpcf7-response-output {
  padding: .9rem 1.1rem;
  border-radius: 8px;
  font-size: .9rem;
  line-height: 1.5;
  margin-top: 1rem;
  border-width: 1px;
  border-style: solid;
}
.kdb-cf7-form .wpcf7-mail-sent-ok {
  background: rgba(46,125,82,.08);
  border-color: rgba(46,125,82,.30);
  color: #1E6B42;
}
.kdb-cf7-form .wpcf7-mail-sent-ng,
.kdb-cf7-form .wpcf7-aborted,
.kdb-cf7-form .wpcf7-validation-errors,
.kdb-cf7-form .wpcf7-spam-blocked {
  background: rgba(155,31,31,.07);
  border-color: rgba(155,31,31,.25);
  color: var(--c-red);
}

/* ---- Responzivita ---- */
@media (max-width: 960px) {
  .kdb-cf7-wrap { grid-template-columns: 1fr; gap: 2.5rem; }
}
@media (max-width: 600px) {
  .kdb-field--2col { grid-template-columns: 1fr; gap: 1rem; }
  .kdb-cf7-form input[type=submit].wpcf7-submit { width: 100%; justify-content: center; }
}

/* ============================================================
   INFORMAČNÍ BANNER
   ============================================================ */
.info-banner {
  width: 100%;
  padding: .85rem 1rem;
  text-align: center;
}

.info-banner__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  max-width: 960px;
  margin: 0 auto;
}

.info-banner__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  opacity: .9;
}

.info-banner__text {
  margin: 0;
  font-size: .97rem;
  font-weight: 500;
  line-height: 1.5;
}

.info-banner__text a {
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 700;
}

/* Typ: info (modrá) */
.info-banner--info {
  background: #1a3f6f;
  color: #cce4ff;
}
.info-banner--info a { color: #fff; }

/* Typ: upozornění (zlatá) */
.info-banner--upozorneni {
  background: #7a5800;
  color: #ffe8a0;
}
.info-banner--upozorneni a { color: #fff; }

/* Typ: důležité (červená) */
.info-banner--dulezite {
  background: #8b0000;
  color: #ffd6d6;
}
.info-banner--dulezite a { color: #fff; }

@media (max-width: 600px) {
  .info-banner__inner { flex-direction: column; gap: .4rem; }
  .info-banner__text { font-size: .92rem; }
}

/* ==========================================================================
   CookieYes — KD Blaník design override
   ========================================================================== */

#cky-consent-bar,
.cky-consent-bar,
[data-cky-tag="notice-popup"] {
  background: #1A1714 !important;
  color: #FAF8F5 !important;
  border: 1px solid rgba(184,146,42,.35) !important;
  border-radius: 12px !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  box-shadow: 0 8px 32px rgba(26,23,20,.45) !important;
}

.cky-title,
.cky-notice-title,
[data-cky-tag="notice-title"] {
  color: #FAF8F5 !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-weight: 700 !important;
}

.cky-notice-des,
.cky-notice-group-description,
[data-cky-tag="notice-description"],
.cky-notice-des p {
  color: rgba(250,248,245,.75) !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: .875rem !important;
  line-height: 1.6 !important;
}

.cky-notice-des a,
[data-cky-tag="notice-description"] a {
  color: #D4A93C !important;
  text-decoration: underline !important;
}

/* Tlačítko Přijmout — zlaté */
.cky-btn-accept,
[data-cky-tag="accept-button"],
.cky-btn-accept.cky-btn {
  background: #B8922A !important;
  color: #1A1714 !important;
  border: none !important;
  border-radius: 100px !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-weight: 600 !important;
  padding: .55rem 1.4rem !important;
}
.cky-btn-accept:hover,
[data-cky-tag="accept-button"]:hover {
  background: #D4A93C !important;
}

/* Tlačítko Odmítnout — outline */
.cky-btn-reject,
[data-cky-tag="reject-button"],
.cky-btn-reject.cky-btn {
  background: transparent !important;
  color: rgba(250,248,245,.8) !important;
  border: 1.5px solid rgba(184,146,42,.45) !important;
  border-radius: 100px !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-weight: 500 !important;
  padding: .55rem 1.4rem !important;
}
.cky-btn-reject:hover,
[data-cky-tag="reject-button"]:hover {
  border-color: rgba(184,146,42,.8) !important;
  color: #FAF8F5 !important;
}

/* Tlačítko Nastavení */
.cky-btn-customize,
[data-cky-tag="settings-button"],
.cky-btn-customize.cky-btn {
  background: transparent !important;
  color: rgba(250,248,245,.5) !important;
  border: 1px solid rgba(184,146,42,.25) !important;
  border-radius: 100px !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-weight: 400 !important;
}
.cky-btn-customize:hover,
[data-cky-tag="settings-button"]:hover {
  color: #D4A93C !important;
  border-color: rgba(184,146,42,.6) !important;
}

/* Tlačítko Uložit nastavení */
.cky-btn-preferences,
[data-cky-tag="save-button"] {
  background: #B8922A !important;
  color: #1A1714 !important;
  border: none !important;
  border-radius: 100px !important;
  font-weight: 600 !important;
}

/* Modal overlay */
.cky-overlay {
  background: rgba(0,0,0,.65) !important;
}

/* Modal nastavení */
.cky-modal,
.cky-modal-body,
.cky-modal-open .cky-modal,
.cky-prefrence-content-wrapper,
.cky-preference-content-wrapper,
.cky-preference-center {
  background: #1A1714 !important;
  color: #FAF8F5 !important;
  border: 1px solid rgba(184,146,42,.3) !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
}

.cky-prefrence-tab-wrapper,
.cky-preference-tab-wrapper {
  background: #111009 !important;
  border-right: 1px solid rgba(184,146,42,.2) !important;
}

.cky-prefrence-tab,
.cky-preference-tab {
  color: rgba(250,248,245,.6) !important;
}

.cky-prefrence-tab.cky-tab-active,
.cky-preference-tab.cky-tab-active {
  color: #FAF8F5 !important;
  background: #1A1714 !important;
}

.cky-category-title,
.cky-accordion-btn {
  color: #FAF8F5 !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-weight: 600 !important;
}

.cky-category-des,
.cky-accordion-header-des {
  color: rgba(250,248,245,.7) !important;
}

/* Toggle */
.cky-switch input:checked + .cky-slider {
  background: #B8922A !important;
}
.cky-slider {
  background: rgba(250,248,245,.2) !important;
}

/* Footer banneru */
.cky-footer-shadow,
.cky-powered {
  background: #111009 !important;
  border-top: 1px solid rgba(184,146,42,.2) !important;
}
.cky-powered,
.cky-powered a {
  color: rgba(250,248,245,.35) !important;
}
