/* =====================================================================
   Miriam Ješková · Blondýna, která rozumí realitám
   ---------------------------------------------------------------------
   Custom design system on top of Tailwind (loaded via CDN).
   Palette: cream / champagne / ink. Manrope + Cormorant Garamond.
   ===================================================================== */

:root {
  --cream:      #faf6ef;
  --cream-2:    #f0e8d8;
  --cream-3:    #ece2cd;
  --ink:        #0c0908;        /* near-black s teplým podtónem — pro velké tmavé plochy */
  --ink-soft:   #1a1612;        /* dříve hlavní ink — teď jako jemnější variant */
  --ink-warm:   #2a241d;        /* warmer dark pro gradientové přechody */
  --accent:     #b89260;
  --accent-2:   #c9a87d;
  --accent-d:   #8b6a3f;
  --rose:       #d4a37b;
  --muted-40:   rgba(12, 9, 8, 0.40);
  --muted-50:   rgba(12, 9, 8, 0.50);
  --muted-60:   rgba(12, 9, 8, 0.60);
  --muted-70:   rgba(12, 9, 8, 0.70);
  --muted-80:   rgba(12, 9, 8, 0.80);
  --divider:    rgba(12, 9, 8, 0.10);
  --border:     rgba(12, 9, 8, 0.08);
}

* { -webkit-tap-highlight-color: transparent; }
html { scroll-behavior: smooth; }

body {
  font-family: 'Manrope', ui-sans-serif, system-ui, sans-serif;
  background:
    radial-gradient(900px 600px at 8% -10%, rgba(212,163,123,0.10), transparent 55%),
    radial-gradient(1200px 800px at 92% 105%, rgba(184,146,96,0.12), transparent 60%),
    linear-gradient(180deg, var(--cream) 0%, var(--cream-2) 100%);
  background-attachment: fixed;
  color: var(--ink);
  font-weight: 400;
  letter-spacing: -0.005em;
}

/* ===== Container helper ===== */
.container { max-width: 1280px; }

/* ===== Typography accents ===== */
.serif       { font-family: 'Cormorant Garamond', Georgia, serif; }
.italic-serif{
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-weight: 500;
  letter-spacing: 0.005em;
  /* Jemný gradient text — z růžovo-zlatého do tmavšího champagne */
  background: linear-gradient(135deg, #d4a37b 0%, #b89260 50%, #8b6a3f 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--muted-60);
}
.eyebrow--accent { color: var(--accent-d); }
.bullet {
  display: inline-block;
  width: 8px; height: 8px; border-radius: 9999px;
  background: var(--accent);
  vertical-align: middle;
}

/* ===== Section helpers ===== */
.section { padding: clamp(60px, 12vh, 140px) 0; }
.section-divider { border-top: 1px solid var(--border); }
.divider-line { height: 1px; background: var(--divider); }

/* ===== Buttons ===== */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 10px;
  padding: 14px 28px;
  border-radius: 9999px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid transparent;
  transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease, opacity .2s ease;
  font-family: inherit;
}
.btn:hover { transform: translateY(-1px); }
.btn--accent {
  background: linear-gradient(135deg, var(--accent-2) 0%, var(--accent) 55%, var(--accent-d) 100%);
  color: #fff;
  box-shadow: 0 10px 30px -8px rgba(184,146,96,0.55);
}
.btn--accent:hover {
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-d) 100%);
  box-shadow: 0 14px 34px -10px rgba(139,106,63,0.55);
}
.btn--dark {
  background: linear-gradient(180deg, var(--ink-soft) 0%, var(--ink) 100%);
  color: var(--cream);
}
.btn--dark:hover { background: #000; }
.btn--ghost {
  background: transparent;
  color: var(--ink);
  border-color: var(--border);
}
.btn--ghost:hover { background: rgba(26,22,18,0.04); border-color: var(--accent); color: var(--accent-d); }
.btn--sm { padding: 10px 20px; font-size: 12px; }
.btn--lg { padding: 18px 36px; font-size: 14px; }

/* ===== Nav ===== */
.site-nav {
  background: transparent;
  border-bottom: 1px solid transparent;
  color: var(--ink);
  transition: background-color .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease;
}
/* "light" — transparent floating přes světlý hero, tmavý text */
.site-nav--light { color: var(--ink); }
/* "dark" — transparent floating přes tmavý hero (foto/video), bílý text */
.site-nav--dark  { color: #fff; }
/* "solid" — kompaktní cream pozadí (stránky bez velkého hero) */
.site-nav--solid {
  background: rgba(250,246,239,0.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom-color: var(--border);
  color: var(--ink);
}
/* Po scrollu — všechny módy přejdou na zlehka cream */
.site-nav.is-scrolled {
  background: rgba(250,246,239,0.94);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: var(--ink);
  border-bottom-color: var(--border);
  box-shadow: 0 10px 30px -18px rgba(0,0,0,0.20);
}
/* Solid + scrolled — jen jemně dotuhne */
.site-nav.is-scrolled.site-nav--solid {
  background: rgba(250,246,239,0.96);
}

.nav-link {
  position: relative;
  padding: 10px 14px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.01em;
  border-radius: 9999px;
  opacity: 0.85;
  transition: opacity .2s ease, color .2s ease, background .2s ease;
}
.nav-link:hover { opacity: 1; color: var(--accent-d); }
.nav-link.is-active { opacity: 1; color: var(--accent-d); background: rgba(184,146,96,0.12); }

/* Aktivní link v dark módu — nepřevažovat barvu, jen jemný highlight */
.site-nav--dark .nav-link.is-active { color: var(--accent-2); background: rgba(255,255,255,0.10); }
.site-nav--dark.is-scrolled .nav-link.is-active { color: var(--accent-d); background: rgba(184,146,96,0.12); }
.mobile-link {
  display: block;
  padding: 16px 4px;
  font-size: 21px;
  font-weight: 500;
  border-bottom: 1px solid var(--border);
}

/* ===== Hero ===== */
.hero {
  position: relative;
  min-height: 92vh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background:
    linear-gradient(170deg, #f6efe2 0%, var(--cream-2) 45%, var(--cream-3) 100%);
}
.hero::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(800px 700px at 12% 25%, rgba(212,163,123,0.22), transparent 60%),
    radial-gradient(700px 600px at 92% 8%, rgba(184,146,96,0.18), transparent 60%),
    radial-gradient(500px 400px at 70% 90%, rgba(201,168,125,0.14), transparent 60%);
  pointer-events: none;
}
.hero::after {
  content: '';
  position: absolute; left: 0; right: 0; bottom: 0; height: 120px;
  background: linear-gradient(180deg, rgba(250,246,239,0) 0%, rgba(250,246,239,0.85) 100%);
  pointer-events: none;
  z-index: 1;
}
.hero__inner {
  position: relative;
  z-index: 2;
  padding-top: 160px;
  padding-bottom: clamp(60px, 12vh, 140px);
  width: 100%;
}
.hero__title {
  font-size: clamp(44px, 7vw, 96px);
  line-height: 1.02;
  font-weight: 300;
  letter-spacing: -0.015em;
  color: var(--ink);
}
.hero__title .italic-serif { font-size: inherit; line-height: inherit; }

/* ===== Cards ===== */
.card {
  background: linear-gradient(180deg, #ffffff 0%, #fdfaf2 100%);
  border: 1px solid var(--border);
  border-radius: 22px;
  overflow: hidden;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  box-shadow: 0 1px 2px rgba(0,0,0,0.02);
}
.card:hover {
  transform: translateY(-6px);
  border-color: rgba(184,146,96,0.25);
  box-shadow: 0 30px 60px -28px rgba(184,146,96,0.30);
}

.property-card { display: flex; flex-direction: column; height: 100%; }
.property-card__img {
  position: relative;
  aspect-ratio: 4/3;
  background: linear-gradient(135deg, var(--cream-2) 0%, var(--cream-3) 100%);
  overflow: hidden;
}
.property-card__img img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 1.8s ease;
}
.property-card:hover .property-card__img img { transform: scale(1.05); }
.property-card__badge {
  position: absolute; top: 14px; left: 14px;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: var(--ink);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 9999px;
}
.property-card__badge--status { right: 14px; left: auto; background: var(--accent); color: #fff; }
.property-card__body { padding: 22px 24px 26px; flex: 1; display: flex; flex-direction: column; }
.property-card__loc {
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted-60);
  margin-bottom: 8px;
}
.property-card__title {
  font-size: 21px; font-weight: 500;
  line-height: 1.25;
  margin-bottom: 14px;
  color: var(--ink);
}
.property-card__specs {
  display: flex; flex-wrap: wrap;
  gap: 14px;
  font-size: 13px;
  color: var(--muted-70);
  margin-bottom: 16px;
}
.property-card__specs > * {
  display: inline-flex; align-items: center; gap: 4px;
}
.property-card__price {
  margin-top: auto;
  font-size: 17px; font-weight: 600;
  color: var(--accent-d);
}

/* ===== Image placeholder (no image yet) ===== */
.img-placeholder {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  background:
    repeating-linear-gradient(135deg, rgba(184,146,96,0.04) 0 10px, rgba(184,146,96,0.08) 10px 20px);
  color: var(--muted-40);
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 22px;
}

/* ===== Service cells ===== */
.service-cell {
  padding: 28px 28px 32px;
  background: linear-gradient(180deg, rgba(255,255,255,0.65) 0%, rgba(255,255,255,0.35) 100%);
  border: 1px solid var(--border);
  border-radius: 18px;
  transition: background .25s ease, transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.service-cell:hover {
  background: linear-gradient(180deg, #ffffff 0%, #fdfaf2 100%);
  border-color: rgba(184,146,96,0.35);
  transform: translateY(-3px);
  box-shadow: 0 18px 40px -22px rgba(184,146,96,0.30);
}
.service-cell__icon {
  width: 44px; height: 44px;
  border-radius: 9999px;
  background: linear-gradient(135deg, rgba(212,163,123,0.20) 0%, rgba(184,146,96,0.12) 100%);
  color: var(--accent-d);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 18px;
}
.service-cell__title {
  font-size: 21px;
  font-weight: 500;
  margin-bottom: 10px;
  color: var(--ink);
}
.service-cell__desc {
  font-size: 15px;
  line-height: 1.6;
  color: var(--muted-70);
  font-weight: 400;
}

/* ===== Process steps ===== */
.process-step {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 22px;
  padding: 28px 0;
  border-top: 1px solid var(--divider);
  align-items: start;
}
.process-step:last-child { border-bottom: 1px solid var(--divider); }
.process-step__num {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-weight: 500;
  font-size: 56px;
  line-height: 1;
  color: var(--accent);
}
@media (min-width: 768px) {
  .process-step { grid-template-columns: 120px 1fr; gap: 32px; }
  .process-step__num { font-size: 78px; }
}

/* ===== Reel card (vertikální Instagram-like 9:16) ===== */
.reel-card {
  position: relative;
  aspect-ratio: 9/16;
  border-radius: 18px;
  overflow: hidden;
  background: linear-gradient(160deg, #0e0c0a 0%, #1a1612 60%, #2a241d 100%);
  cursor: pointer;
  box-shadow: 0 20px 50px -20px rgba(0,0,0,0.6);
  transition: transform .3s ease, box-shadow .3s ease;
}
.reel-card:hover { transform: translateY(-4px); box-shadow: 0 30px 60px -24px rgba(184,146,96,0.40); }
.reel-video, .reel-fallback {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}
.reel-fallback { background: linear-gradient(135deg, #1a1612 0%, #5a4520 50%, #b89260 130%); }
.reel-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.20) 60%, rgba(0,0,0,0.85) 100%);
  pointer-events: none;
}
.reel-play {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 52px; height: 52px;
  border-radius: 9999px;
  background: rgba(255,255,255,0.92);
  display: flex; align-items: center; justify-content: center;
  color: #1a1612;
  transition: transform .3s ease, opacity .3s ease;
}
.reel-card:hover .reel-play { opacity: 0; transform: translate(-50%, -50%) scale(0.8); }
.reel-duration {
  position: absolute; top: 12px; right: 12px;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  color: #fff;
  font-size: 10px; letter-spacing: 0.10em;
  padding: 3px 9px;
  border-radius: 9999px;
  font-weight: 500;
}
.reel-caption {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 16px 14px 18px;
  color: #fff;
}

/* ===== Video card (legacy, kept for compatibility) ===== */
.video-card {
  position: relative;
  aspect-ratio: 9/16;
  border-radius: 20px;
  overflow: hidden;
  background: var(--ink);
  cursor: pointer;
  border: 1px solid var(--border);
  box-shadow: 0 30px 60px -28px rgba(26,22,18,0.30);
}
.video-card img, .video-card video {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
}
.video-card__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.45) 65%, rgba(0,0,0,0.85) 100%);
}
.video-card__play {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 64px; height: 64px;
  border-radius: 9999px;
  background: rgba(255,255,255,0.95);
  display: flex; align-items: center; justify-content: center;
  color: var(--ink);
  transition: transform .3s ease, background .3s ease;
}
.video-card:hover .video-card__play { transform: translate(-50%, -50%) scale(1.1); background: var(--accent); color: #fff; }
.video-card__caption {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 22px 24px 26px;
  color: #fff;
}
.video-card__duration {
  position: absolute; top: 14px; right: 14px;
  background: rgba(0,0,0,0.6);
  color: #fff;
  font-size: 11px;
  letter-spacing: 0.10em;
  padding: 4px 10px;
  border-radius: 9999px;
  font-weight: 500;
}

/* ===== Stat block ===== */
.stat__value {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-weight: 500;
  font-size: 56px;
  line-height: 1;
  background: linear-gradient(135deg, #d4a37b 0%, #b89260 50%, #8b6a3f 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
@media (min-width: 768px) { .stat__value { font-size: 78px; } }
.stat__label {
  margin-top: 8px;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted-60);
  font-weight: 500;
}

/* ===== Form ===== */
.form-input,
.form-textarea,
.form-select {
  background: rgba(255,255,255,0.65);
  border: 1px solid var(--border);
  color: var(--ink);
  padding: 14px 18px;
  border-radius: 12px;
  font: inherit;
  font-size: 15px;
  line-height: 1.4;
  width: 100%;
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.form-textarea { min-height: 140px; resize: vertical; }
.form-input:focus,
.form-textarea:focus,
.form-select:focus {
  outline: none;
  border-color: var(--accent);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(184,146,96,0.15);
}
.form-input::placeholder,
.form-textarea::placeholder { color: var(--muted-40); }
.form-label {
  display: block;
  font-size: 12px;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--ink);
  font-weight: 600;
  margin-bottom: 6px;
}
.form-error {
  color: #c0392b;
  font-size: 13px;
  margin-top: 4px;
  font-weight: 500;
}

/* ===== Reference card ===== */
.reference-card {
  padding: 32px 32px 36px;
  background:
    radial-gradient(400px 240px at 0% 0%, rgba(212,163,123,0.10), transparent 60%),
    linear-gradient(180deg, #ffffff 0%, rgba(255,255,255,0.6) 100%);
  border: 1px solid var(--border);
  border-radius: 22px;
  position: relative;
}
.reference-card::before {
  content: '"';
  position: absolute;
  top: -10px; left: 24px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 96px;
  line-height: 1;
  color: var(--accent);
  font-style: italic;
}
.reference-card__text {
  font-size: 17px;
  line-height: 1.65;
  color: var(--muted-80);
  font-weight: 400;
  margin-bottom: 20px;
  margin-top: 14px;
}
.reference-card__author { font-weight: 600; font-size: 14px; color: var(--ink); }
.reference-card__role { font-size: 12px; color: var(--muted-50); margin-top: 2px; }

/* ===== Footer socials ===== */
.footer-social {
  width: 40px; height: 40px;
  border-radius: 9999px;
  border: 1px solid rgba(250,246,239,0.20);
  display: inline-flex; align-items: center; justify-content: center;
  color: rgba(250,246,239,0.7);
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.footer-social:hover { background: var(--accent); color: #fff; border-color: var(--accent); }

/* ===== Featured property hero ===== */
.detail-hero {
  position: relative;
  min-height: 76vh;
  display: flex; align-items: flex-end;
  background: linear-gradient(180deg, #0e0c0a 0%, var(--ink) 100%);
  overflow: hidden;
}
.detail-hero__img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
  opacity: 0.85;
}
.detail-hero__overlay {
  position: absolute; inset: 0;
  background:
    radial-gradient(120% 90% at 18% 88%, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.40) 50%, rgba(0,0,0,0) 80%),
    linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.15) 25%, rgba(0,0,0,0.20) 55%, rgba(0,0,0,0.85) 100%),
    radial-gradient(900px 600px at 92% 8%, rgba(184,146,96,0.12), transparent 55%);
}
.detail-hero__content {
  position: relative; z-index: 2;
  color: #fff;
  width: 100%;
  padding-top: 160px;
  padding-bottom: clamp(40px, 9vh, 100px);
}

/* ===== Property facts grid ===== */
.facts-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--divider);
  border: 1px solid var(--divider);
  border-radius: 18px;
  overflow: hidden;
}
@media (min-width: 768px) { .facts-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.fact {
  background: rgba(255,255,255,0.65);
  padding: 22px 24px;
}
.fact__label { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted-60); font-weight: 600; margin-bottom: 6px; }
.fact__value { font-size: 22px; font-weight: 400; color: var(--ink); font-family: 'Cormorant Garamond', serif; font-style: italic; }

/* ===== Gallery lightbox ===== */
.gallery-tile {
  position: relative; overflow: hidden; border-radius: 14px;
  aspect-ratio: 4/3; cursor: pointer;
  background: var(--cream-3);
}
.gallery-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.gallery-tile:hover img { transform: scale(1.05); }

.lb {
  position: fixed; inset: 0; z-index: 200;
  background: rgba(10,8,6,0.96);
  display: none; opacity: 0;
  transition: opacity .2s ease;
}
.lb.is-open { display: block; opacity: 1; }
.lb__stage { position: absolute; inset: 64px 64px 80px; display: flex; align-items: center; justify-content: center; }
.lb__img { max-width: 100%; max-height: 100%; border-radius: 6px; }
.lb__btn {
  position: absolute;
  background: rgba(255,255,255,0.10);
  color: #fff; border: 1px solid rgba(255,255,255,0.18);
  border-radius: 9999px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  font-family: inherit;
}
.lb__btn:hover { background: rgba(255,255,255,0.20); }
.lb__close { top: 20px; right: 20px; width: 46px; height: 46px; }
.lb__nav { top: 50%; transform: translateY(-50%); width: 54px; height: 54px; }
.lb__prev { left: 20px; } .lb__next { right: 20px; }
@media (max-width: 768px) {
  .lb__stage { inset: 56px 12px 80px; }
  .lb__nav { width: 44px; height: 44px; }
  .lb__prev { left: 12px; } .lb__next { right: 12px; }
}

/* ===== Filter pills ===== */
.pill {
  display: inline-flex; align-items: center;
  padding: 8px 18px;
  border-radius: 9999px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.02em;
  background: rgba(255,255,255,0.60);
  border: 1px solid var(--border);
  color: var(--muted-70);
  transition: background .2s ease, color .2s ease, border-color .2s ease;
  cursor: pointer;
}
.pill:hover { color: var(--accent-d); border-color: rgba(184,146,96,0.4); }
.pill.is-active {
  background: var(--ink); color: var(--cream); border-color: var(--ink);
}

/* ===== Admin layout helpers ===== */
.admin-sidebar-link {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 18px;
  border-radius: 12px;
  color: var(--muted-70);
  font-weight: 500;
  font-size: 14px;
  transition: background .15s ease, color .15s ease;
}
.admin-sidebar-link:hover { background: rgba(184,146,96,0.10); color: var(--ink); }
.admin-sidebar-link.is-active { background: var(--ink); color: var(--cream); }

.admin-table { width: 100%; border-collapse: separate; border-spacing: 0; }
.admin-table th {
  text-align: left;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--muted-60);
  font-weight: 600;
  padding: 12px 16px;
  border-bottom: 1px solid var(--border);
}
.admin-table td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--border);
  font-size: 14px;
  color: var(--ink);
}
.admin-table tr:hover td { background: rgba(184,146,96,0.04); }

.badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 9999px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.badge--green  { background: rgba(78, 145, 76, 0.15); color: #2e6b30; }
.badge--gold   { background: rgba(184,146,96,0.18); color: var(--accent-d); }
.badge--muted  { background: rgba(26,22,18,0.08); color: var(--muted-60); }
.badge--rose   { background: rgba(212,163,123,0.18); color: #8e5d33; }

/* ===== CTA block — reusovatelný tmavý blok s gold accentem ===== */
.cta-block {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  border-radius: 24px;
  padding: clamp(48px, 8vw, 96px) clamp(28px, 6vw, 96px);
  background:
    radial-gradient(700px 500px at 92% 8%,  rgba(184,146,96,0.22), transparent 60%),
    radial-gradient(500px 400px at 5% 95%,  rgba(212,163,123,0.12), transparent 60%),
    linear-gradient(135deg, #050403 0%, var(--ink) 45%, var(--ink-soft) 100%);
  color: var(--cream);
  overflow: hidden;
  isolation: isolate;
}
/* Horní gold pruh — premium akcent */
.cta-block::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(184,146,96,0.45) 25%,
    var(--accent-2) 50%,
    rgba(184,146,96,0.45) 75%,
    transparent 100%
  );
  z-index: 1;
}
.cta-block__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--accent-2);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  margin-bottom: 24px;
}
.cta-block__eyebrow .bullet {
  background: var(--accent-2);
  box-shadow: 0 0 0 0 rgba(201,168,125,0.5);
  animation: cta-bullet-pulse 2.4s ease-in-out infinite;
}
@keyframes cta-bullet-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(201,168,125,0.5); }
  60%      { box-shadow: 0 0 0 8px rgba(201,168,125,0); }
}
.cta-block__title {
  font-size: clamp(28px, 4.2vw, 56px);
  line-height: 1.06;
  font-weight: 300;
  letter-spacing: -0.015em;
  color: #fff;
  margin: 0 0 18px;
}
.cta-block__subtitle {
  font-size: 15px;
  line-height: 1.65;
  color: rgba(250,246,239,0.78);
  font-weight: 300;
  margin: 0 0 36px;
}
@media (min-width: 768px) {
  .cta-block__subtitle { font-size: 17px; }
}
/* Tlačítka — tmavá varianta */
.cta-block .btn--ghost {
  color: #fff;
  border-color: rgba(255,255,255,0.22);
  background: rgba(255,255,255,0.04);
}
.cta-block .btn--ghost:hover {
  background: rgba(255,255,255,0.10);
  border-color: var(--accent-2);
  color: var(--accent-2);
}

/* ===== Manifesto video — Reality nejsou jen čísla ===== */
.manifesto-video {
  position: relative;
  aspect-ratio: 4/5;
  border-radius: 24px;
  overflow: hidden;
  background: linear-gradient(180deg, var(--cream-2) 0%, var(--cream-3) 100%);
  box-shadow:
    0 40px 80px -32px rgba(12,9,8,0.40),
    0 0 0 1px rgba(255,255,255,0.5) inset;
}
.manifesto-video__el {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.manifesto-video__overlay {
  position: absolute; left: 0; right: 0; bottom: 0;
  height: 40%;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(12,9,8,0.45) 100%);
  pointer-events: none;
}
.manifesto-video__chip {
  position: absolute;
  bottom: 18px;
  left: 18px;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 7px 14px 7px 12px;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 9999px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--ink);
  box-shadow: 0 14px 30px -14px rgba(12,9,8,0.30);
}
.manifesto-video__dot {
  width: 8px; height: 8px;
  border-radius: 9999px;
  background: #c0392b;
  box-shadow: 0 0 0 0 rgba(192,57,43,0.5);
  animation: manifesto-pulse 1.8s infinite;
}
@keyframes manifesto-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(192,57,43,0.5); }
  70%  { box-shadow: 0 0 0 10px rgba(192,57,43,0); }
  100% { box-shadow: 0 0 0 0 rgba(192,57,43,0); }
}
@media (prefers-reduced-motion: reduce) {
  .manifesto-video__el { animation: none; }
  .manifesto-video__dot { animation: none; }
}

/* ===== Hero — editorial / magazine portrait ===== */
.hero-editorial {
  position: relative;
  width: 100%;
  max-width: 480px;
  margin-left: auto;
  padding: 30px 60px 30px 30px;
  aspect-ratio: 4/5.2;
}

/* Velké "01" jako pozadí — watermark */
.hero-edit__num {
  position: absolute;
  top: -20px;
  left: -10px;
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-weight: 500;
  font-size: 260px;
  line-height: 1;
  letter-spacing: -0.03em;
  background: linear-gradient(135deg, rgba(212,163,123,0.20) 0%, rgba(184,146,96,0.10) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  z-index: 0;
  pointer-events: none;
  user-select: none;
}

/* Gold arc za fotkou — éterický akcent */
.hero-edit__arc {
  position: absolute;
  top: 14%;
  right: 10%;
  width: 70%;
  aspect-ratio: 1;
  border-radius: 9999px;
  background:
    radial-gradient(circle at 30% 30%, rgba(212,163,123,0.45), rgba(184,146,96,0.15) 50%, transparent 70%);
  filter: blur(2px);
  z-index: 0;
}

/* Eyebrow s linkou */
.hero-edit__eyebrow {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  font-size: 10.5px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--accent-d);
}
.hero-edit__line {
  display: block;
  height: 1px;
  width: 40px;
  background: linear-gradient(90deg, var(--accent), transparent);
}

/* Fotka — magazine cover */
.hero-edit__photo {
  position: relative;
  z-index: 1;
  width: 100%;
  aspect-ratio: 4/5.6;
  border-radius: 18px;
  overflow: hidden;
  background: linear-gradient(180deg, #f0e8d8 0%, #ece2cd 100%);
  box-shadow:
    0 50px 100px -40px rgba(12,9,8,0.45),
    0 0 0 1px rgba(255,255,255,0.6) inset;
  /* Jemný zoom dech */
  animation: hero-edit-breathe 18s ease-in-out infinite;
}
.hero-edit__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 25%;
  display: block;
}

@keyframes hero-edit-breathe {
  0%, 100% { transform: scale(1) translateY(0); }
  50%      { transform: scale(1.025) translateY(-4px); }
}

/* Citát pod fotkou */
.hero-edit__quote {
  position: relative;
  z-index: 2;
  margin: 22px 0 0;
  padding: 0;
  font-family: 'Cormorant Garamond', serif;
  font-size: 28px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.2;
  color: var(--ink);
  letter-spacing: -0.005em;
  max-width: 380px;
}
.hero-edit__quote .italic-serif {
  font-size: inherit;
}
.hero-edit__quote cite {
  display: block;
  margin-top: 8px;
  font-family: 'Manrope', sans-serif;
  font-style: normal;
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--accent-d);
}

@media (max-width: 1024px) {
  .hero-editorial { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-edit__photo { animation: none; }
}

/* ===== Hero portrét Miriam s floating chipy (legacy — ponecháno) ===== */
.hero-portrait {
  position: relative;
  width: 100%;
  max-width: 460px;
  margin-left: auto;
  aspect-ratio: 4/5;
  padding: 20px 40px 40px 20px;
}

/* Halo za fotkou */
.hero-portrait__halo {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(70% 70% at 70% 30%, rgba(212,163,123,0.30), transparent 65%),
    radial-gradient(60% 60% at 20% 80%, rgba(184,146,96,0.20), transparent 65%);
  filter: blur(20px);
  z-index: 0;
}

.hero-portrait__frame {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  border-radius: 24px;
  overflow: hidden;
  background: linear-gradient(180deg, #f0e8d8 0%, #ece2cd 100%);
  box-shadow:
    0 40px 80px -30px rgba(184,146,96,0.50),
    0 0 0 1px rgba(255,255,255,0.6);
  /* Jemný "Ken Burns" zoom v portrétu */
  animation: hero-portrait-breathe 16s ease-in-out infinite;
}
.hero-portrait__img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 30%;
  display: block;
}
.hero-portrait__overlay {
  position: absolute; left: 0; right: 0; bottom: 0;
  height: 35%;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(12,9,8,0.35) 100%);
  pointer-events: none;
}

@keyframes hero-portrait-breathe {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.03); }
}

/* Floating chip — společný styl */
.hero-chip {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px 10px 12px;
  background: rgba(255,255,255,0.95);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(184,146,96,0.18);
  border-radius: 14px;
  box-shadow: 0 20px 40px -16px rgba(12,9,8,0.25);
  z-index: 3;
}
.hero-chip__avatar {
  width: 32px; height: 32px;
  border-radius: 9999px;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--accent-2) 0%, var(--accent-d) 100%);
  color: #fff;
  flex-shrink: 0;
}
.hero-chip__stars {
  display: inline-flex; gap: 1.5px;
  padding: 6px 8px;
  border-radius: 9999px;
  background: rgba(245,180,0,0.10);
  flex-shrink: 0;
}
.hero-chip__text {
  display: flex; flex-direction: column;
  line-height: 1.15;
}
.hero-chip__text strong {
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
}
.hero-chip__text span {
  font-size: 10.5px;
  letter-spacing: 0.08em;
  color: var(--muted-60);
  text-transform: uppercase;
  font-weight: 500;
  margin-top: 2px;
}

/* Pozice jednotlivých chipů */
.hero-chip--name {
  top: 50px;
  left: -10px;
  animation: hero-chip-float 6s ease-in-out infinite;
}
.hero-chip--rating {
  bottom: 110px;
  left: -28px;
  animation: hero-chip-float 7s ease-in-out infinite reverse;
}

@keyframes hero-chip-float {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-6px); }
}

/* Velký stat v pravém dolním rohu */
.hero-stat {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 18px 22px;
  background: var(--ink);
  color: var(--cream);
  border-radius: 16px;
  border-top: 2px solid var(--accent);
  z-index: 3;
  box-shadow: 0 30px 60px -20px rgba(12,9,8,0.50);
  min-width: 170px;
  animation: hero-chip-float 8s ease-in-out infinite 1s;
}
.hero-stat__value {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-weight: 500;
  font-size: 48px;
  line-height: 1;
  background: linear-gradient(135deg, #d4a37b 0%, #b89260 50%, #c9a87d 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.hero-stat__value span {
  font-size: 28px;
  vertical-align: super;
  line-height: 1;
  margin-left: -2px;
}
.hero-stat__label {
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(250,246,239,0.65);
  margin-top: 6px;
  font-weight: 600;
}

/* "Live" indikátor nahoře */
.hero-live {
  position: absolute;
  top: -8px;
  right: 20px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: rgba(255,255,255,0.95);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(184,146,96,0.18);
  border-radius: 9999px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--ink);
  box-shadow: 0 14px 30px -14px rgba(12,9,8,0.30);
  z-index: 3;
}
.hero-live__dot {
  width: 8px; height: 8px;
  border-radius: 9999px;
  background: #2e6b30;
  box-shadow: 0 0 0 0 rgba(46,107,48,0.5);
  animation: hero-live-pulse 1.8s infinite;
}
@keyframes hero-live-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(46,107,48,0.5); }
  70%  { box-shadow: 0 0 0 10px rgba(46,107,48,0); }
  100% { box-shadow: 0 0 0 0 rgba(46,107,48,0); }
}

/* Redukovaný pohyb */
@media (prefers-reduced-motion: reduce) {
  .hero-portrait__frame, .hero-chip--name, .hero-chip--rating,
  .hero-stat, .hero-live__dot { animation: none; }
}

/* ===== Hero animace: realitní karta s razítkem PRODÁNO ===== */
.deal-stage {
  position: relative;
  width: 100%;
  max-width: 460px;
  margin-left: auto;
  padding: 30px 0 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  perspective: 1200px;
}

.deal-card {
  width: 100%;
  max-width: 380px;
  background: linear-gradient(180deg, #ffffff 0%, #fdfaf2 100%);
  border: 1px solid rgba(184,146,96,0.20);
  border-radius: 22px;
  overflow: hidden;
  box-shadow:
    0 40px 80px -32px rgba(184,146,96,0.45),
    0 8px 16px -8px rgba(26,22,18,0.10);
  position: relative;
  animation: deal-float 14s ease-in-out infinite;
  transform-origin: center bottom;
}

@keyframes deal-float {
  0%   { transform: translateY(12px) rotate(-1deg); opacity: 0; }
  6%   { transform: translateY(0)    rotate(-1deg); opacity: 1; }
  50%  { transform: translateY(-4px) rotate(-1.5deg); }
  92%  { transform: translateY(0)    rotate(-1deg); opacity: 1; }
  100% { transform: translateY(12px) rotate(-1deg); opacity: 0; }
}

.deal-card__photo {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: #ece2cd;
}
.deal-house { width: 100%; height: 100%; display: block; }

.deal-window {
  animation: deal-window-flash 5s ease-in-out infinite;
  transform-origin: center;
}
@keyframes deal-window-flash {
  0%, 70%, 100% { opacity: 1; }
  75%           { opacity: 0.45; }
  80%           { opacity: 1; }
}

.deal-badge {
  position: absolute;
  top: 14px; right: 14px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  background: rgba(255,255,255,0.95);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: 6px 14px;
  border-radius: 9999px;
  box-shadow: 0 6px 16px -6px rgba(0,0,0,0.15);
  width: 110px;
  height: 26px;
}
.deal-badge > span {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  opacity: 0;
  animation: 14s ease-in-out infinite;
}
.deal-badge__1 { color: #2e6b30; animation-name: deal-badge-1; }
.deal-badge__2 { color: #8b6a3f; animation-name: deal-badge-2; }
.deal-badge__3 { color: #c0392b; animation-name: deal-badge-3; }

@keyframes deal-badge-1 {
  0%, 8% { opacity: 0; }
  14%, 55% { opacity: 1; }
  60%, 100% { opacity: 0; }
}
@keyframes deal-badge-2 {
  0%, 60% { opacity: 0; }
  65%, 73% { opacity: 1; }
  78%, 100% { opacity: 0; }
}
@keyframes deal-badge-3 {
  0%, 76% { opacity: 0; }
  80%, 96% { opacity: 1; }
  100% { opacity: 0; }
}

.deal-locpin {
  position: absolute;
  bottom: 12px; left: 14px;
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(255,255,255,0.90);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: 5px 11px;
  border-radius: 9999px;
  font-size: 11px;
  letter-spacing: 0.08em;
  color: #1a1612;
  font-weight: 500;
  box-shadow: 0 4px 10px -4px rgba(0,0,0,0.10);
}
.deal-locpin svg { color: #b89260; }

.deal-card__body { padding: 20px 22px 22px; }

.deal-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #b89260;
  margin-bottom: 8px;
}
.deal-title {
  font-size: 22px;
  font-weight: 400;
  line-height: 1.2;
  color: #1a1612;
  margin: 0 0 14px;
}
.deal-specs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 16px;
  min-height: 28px;
}
.deal-spec {
  font-size: 11px;
  background: #f0e8d8;
  color: #5d4022;
  padding: 5px 11px;
  border-radius: 9999px;
  font-weight: 500;
  letter-spacing: 0.02em;
  opacity: 0;
  transform: translateY(4px);
  animation: deal-spec-in 14s ease-in-out infinite;
  animation-delay: var(--d, 0s);
}
@keyframes deal-spec-in {
  0%, 8%     { opacity: 0; transform: translateY(4px); }
  20%, 88%   { opacity: 1; transform: translateY(0); }
  95%, 100%  { opacity: 0; }
}

.deal-price-row {
  display: flex; align-items: center; justify-content: space-between;
  padding-top: 12px;
  border-top: 1px solid rgba(26,22,18,0.08);
}
.deal-price {
  font-size: 19px;
  font-weight: 700;
  color: #8b6a3f;
  letter-spacing: -0.01em;
}
.deal-heart {
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px;
  border-radius: 9999px;
  background: rgba(184,146,96,0.10);
  color: rgba(26,22,18,0.30);
  animation: deal-heart 14s ease-in-out infinite;
}
@keyframes deal-heart {
  0%, 35%   { transform: scale(1); color: rgba(26,22,18,0.30); }
  42%       { transform: scale(1.35); color: #c0392b; }
  50%       { transform: scale(1.1);  color: #c9a87d; }
  100%      { transform: scale(1.1);  color: #c9a87d; }
}

/* PRODÁNO razítko */
.deal-stamp {
  position: absolute;
  top: 38%; left: 50%;
  transform: translate(-50%, -50%) rotate(-25deg) scale(3);
  opacity: 0;
  animation: deal-stamp-in 14s ease-in-out infinite;
  pointer-events: none;
  z-index: 10;
}
.deal-stamp__inner {
  border: 4px double #c0392b;
  color: #c0392b;
  padding: 14px 32px 16px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  border-radius: 6px;
  background: rgba(255,255,255,0.12);
  box-shadow: 0 0 0 1px rgba(192,57,43,0.20);
}
.deal-stamp__text {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-weight: 700;
  font-size: 44px;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.deal-stamp__sub {
  font-size: 9px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 700;
  margin-top: 2px;
}

@keyframes deal-stamp-in {
  0%, 78%   { opacity: 0; transform: translate(-50%, -50%) rotate(-30deg) scale(3); }
  82%       { opacity: 1; transform: translate(-50%, -50%) rotate(-10deg) scale(0.85); }
  85%       { transform: translate(-50%, -50%) rotate(-13deg) scale(1.05); }
  88%, 95%  { opacity: 1; transform: translate(-50%, -50%) rotate(-12deg) scale(1); }
  100%      { opacity: 0; transform: translate(-50%, -50%) rotate(-12deg) scale(1); }
}

/* Stín pod kartou */
.deal-shadow {
  position: absolute;
  bottom: 20px; left: 50%;
  transform: translateX(-50%);
  width: 70%;
  height: 24px;
  background: radial-gradient(ellipse, rgba(26,22,18,0.18), transparent 70%);
  z-index: -1;
  filter: blur(8px);
  animation: deal-shadow 14s ease-in-out infinite;
}
@keyframes deal-shadow {
  0%, 100% { opacity: 0; width: 55%; }
  6%, 92%  { opacity: 1; width: 70%; }
}

/* Redukovaný pohyb — finální stav */
@media (prefers-reduced-motion: reduce) {
  .deal-card, .deal-window, .deal-spec, .deal-heart, .deal-stamp,
  .deal-shadow, .deal-badge > span { animation: none; }
  .deal-card, .deal-shadow { opacity: 1; transform: none; }
  .deal-spec { opacity: 1; transform: none; }
  .deal-badge__3 { opacity: 1; }
  .deal-stamp { opacity: 1; transform: translate(-50%, -50%) rotate(-12deg) scale(1); }
}

/* ===== Benefits strip (pod hero) ===== */
.benefits-strip {
  padding: clamp(20px, 4vh, 40px) 0 0;
  margin-top: -40px;
  position: relative;
  z-index: 5;
}

/* ===== FAQ accordion ===== */
.faq-item {
  background: linear-gradient(180deg, #ffffff 0%, #fdfaf2 100%);
  border: 1px solid var(--border);
  border-radius: 16px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.faq-item[open] {
  border-color: rgba(184,146,96,0.35);
  box-shadow: 0 14px 40px -20px rgba(184,146,96,0.30);
}
.faq-summary {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 18px;
  padding: 22px 24px;
  cursor: pointer;
  list-style: none;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.4;
  color: var(--ink);
  user-select: none;
}
.faq-summary::-webkit-details-marker { display: none; }
.faq-summary:hover .faq-q { color: var(--accent-d); }
.faq-q { flex: 1; }
.faq-icon {
  shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px;
  border-radius: 9999px;
  background: rgba(184,146,96,0.10);
  color: var(--accent-d);
  transition: transform .25s ease, background .25s ease;
}
.faq-item[open] .faq-icon { transform: rotate(180deg); background: rgba(184,146,96,0.18); }
.faq-a {
  padding: 0 24px 24px 24px;
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--muted-80);
  font-weight: 400;
}

/* ===== Utilities ===== */
.glass {
  background: rgba(255,255,255,0.65);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid var(--border);
}
.scroll-mt-nav { scroll-margin-top: 100px; }

/* <picture> wrapper neovlivní layout (srcset přes Image::picture) */
picture { display: contents; }
