/*
Theme Name: Kronika duší
Theme URI: https://archivdusi.sk
Author: AKANTHIT
Author URI: https://akanthit.com
Description: Kronika duší – platforma pre zdieľanie životných príbehov, situácií a snov. Anonymná databáza ľudskej skúsenosti.
Version: 1.2.89
Build: 2026-08-09 (Po uložení záznamu: pop-up s poďakovaním, koncept okamžite zmizne z Rozpísaných, formulár sa vráti na krok 1)
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: archiv-dusi
Tags: custom-menu, custom-logo, featured-images, translation-ready
*/

/* ============================================================
   CSS CUSTOM PROPERTIES
   Svetlý režim je predvolený fallback v :root.
   Tmavý režim sa aktivuje cez [data-theme="dark"] na <html>.
   O to, ktorý je AKTÍVNY pri načítaní stránky, sa stará malý
   inline skript v header.php (beží pred CSS, aby nedošlo k bliknutiu).
   ============================================================ */
:root {
  /* Typography */
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-serif: 'Cormorant Garamond', 'Lora', 'Georgia', serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', monospace;
  --font-display: 'Cormorant Garamond', 'Space Grotesk', 'Inter', sans-serif;

  /* Nový dizajnový systém – zlaté akcenty, stavy, tiene, rádiusy */
  --gold-primary: #E8B866;
  --gold-light: #F3CC7C;
  --gold-bright: #FFD783;
  --gold-dark: #9B682E;
  --gold-border: #76502A;
  --info: #82B8F7;
  --shadow-default: 0 12px 32px rgba(0,0,0,0.28);
  --shadow-gold: 0 0 24px rgba(232,184,102,0.16);
  --radius-small: 12px;
  --radius-medium: 16px;
  --radius-large: 20px;
  --radius-pill: 999px;

  /* Surface */
  --surface-0: #f4f3f0;
  --surface-1: #f9f8f6;
  --surface-2: #ffffff;

  /* Text */
  --text-primary: #1a1918;
  --text-secondary: #524f4b;
  --text-muted: #706c67;

  /* Border */
  --border: rgba(0,0,0,0.16);
  --border-strong: rgba(0,0,0,0.26);

  /* Accent – blue */
  --accent: #378ADD;
  --accent-bg: #E6F1FB;
  --accent-text: #185FA5;
  --accent-border: #B5D4F4;

  /* Pro – purple */
  --pro-bg: #EEEDFE;
  --pro-text: #534AB7;

  /* Success – green */
  --success-bg: #EAF3DE;
  --success-text: #3B6D11;

  /* Warning – amber */
  --warning-bg: #FAEEDA;
  --warning-text: #854F0B;

  /* Danger – jantárová (namiesto červenej) */
  --danger-bg: #FBE9D1;
  --danger-text: #93590A;

  /* Magazín – terakota (odlišná identita od archívu) */
  --magazin-bg: #FBEBE3;
  --magazin-text: #A34A1F;
  --magazin-border: #E8B89A;

  /* Layout */
  --radius: 10px;
  --radius-card: 18px;
  --max-width: 1160px;
  --col-main: minmax(0, 1fr);
  --col-side: 240px;
}

html[data-theme="dark"] {
  --surface-0: #030B16;
  --surface-1: #07131F;
  --surface-2: #0B1724;
  --text-primary: #F3F1EC;
  --text-secondary: #B8BBC1;
  --text-muted: #7D8792;
  --border: rgba(232,184,102,0.18);
  --border-strong: rgba(243,204,124,0.45);
  --accent: #E8B866;
  --accent-bg: rgba(232,184,102,0.12);
  --accent-text: #F3CC7C;
  --accent-border: rgba(232,184,102,0.55);
  --pro-bg: #171636;
  --pro-text: #AFA9EC;
  --success-bg: #14210a;
  --success-text: #9BCC68;
  --warning-bg: #2a1f08;
  --warning-text: #E8B866;
  --danger-bg: #2a0f0f;
  --danger-text: #F04444;
  --magazin-bg: #2c1a10;
  --magazin-text: #E29566;
  --magazin-border: #6b4025;
}

/* Deep glow pozadie appky (nový dizajn) */
html[data-theme="dark"] body {
  background: radial-gradient(circle at 50% 22%, #081B2D 0%, #030B16 46%, #010711 100%);
  background-attachment: fixed;
}

/* ============================================================
   RESET & BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

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

body {
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.7;
  color: var(--text-primary);
  background: var(--surface-0);
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
}

/* Pätička sa drží na spodku obrazovky aj pri krátkom obsahu stránky */
#ad-main {
  flex: 1 0 auto;
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--accent-text); text-decoration: none; }
a:hover { text-decoration: underline; }
ul, ol { list-style: none; }
button { font-family: var(--font-sans); cursor: pointer; }
input, textarea, select { font-family: var(--font-sans); }

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
h1, h2, h3, h4, h5, h6 {
  font-weight: 500;
  line-height: 1.25;
  color: var(--text-primary);
}
h1 { font-size: clamp(28px, 5vw, 42px); }
h2 { font-size: clamp(20px, 3vw, 28px); }
h3 { font-size: 1.25rem; }
h4 { font-size: 1rem; }

.font-serif { font-family: var(--font-serif); }
.font-mono  { font-family: var(--font-mono); }

.text-muted     { color: var(--text-muted); }
.text-secondary { color: var(--text-secondary); }
.text-accent    { color: var(--accent-text); }

/* ============================================================
   LAYOUT
   ============================================================ */
.ad-container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 1.5rem;
}

.ad-page-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  align-items: start;
  min-height: 60vh;
}

@media (max-width: 768px) {
  .ad-page-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   HEADER / NAV
   ============================================================ */
.ad-header {
  background: var(--surface-2);
  border-bottom: 0.5px solid var(--border);
  position: sticky;
  top: 0;
  z-index: 100;
}

.ad-header-transparent {
  background: transparent;
  border-bottom: 0.5px solid transparent;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

.ad-header-transparent.ad-header-scrolled {
  background: var(--surface-2);
  border-bottom: 0.5px solid var(--border);
}
.ad-header-transparent.ad-header-scrolled .ad-logo,
.ad-header-transparent.ad-header-scrolled .ad-hamburger { color: var(--text-primary); }
.ad-header-transparent.ad-header-scrolled .ad-logo span { color: var(--text-muted); }
.ad-header-transparent.ad-header-scrolled .ad-nav-links a { color: var(--text-secondary); }
.ad-header-transparent.ad-header-scrolled .ad-nav-links a:hover { color: var(--text-primary); }
.ad-header-transparent.ad-header-scrolled .ad-nav-cta {
  background: var(--text-primary);
  color: var(--surface-2) !important;
}

body.admin-bar .ad-header-transparent { top: 32px; }
@media screen and (max-width: 782px) {
  body.admin-bar .ad-header-transparent { top: 46px; }
}
.ad-header-transparent .ad-logo { color: #fdfcfa; }
.ad-header-transparent .ad-logo span { color: rgba(255,255,255,0.55); }
.ad-header-transparent .ad-nav-links a { color: rgba(255,255,255,0.8); }
.ad-header-transparent .ad-nav-links a:hover { color: #fdfcfa; }
.ad-header-transparent .ad-nav-links a:not(:last-child)::after { background: rgba(255,255,255,0.25); }
.ad-header-transparent .ad-nav-cta {
  background: rgba(255,255,255,0.95);
  color: #18181a !important;
}
.ad-header-transparent .ad-hamburger { color: #fdfcfa; }

.ad-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 56px;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 1.5rem;
}

.ad-logo {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--text-primary);
  text-decoration: none;
}
.ad-logo span { color: var(--text-muted); font-weight: 400; }

/* Logo – zlatý brand podľa nového dizajnu (názov aj vnútorné spany „DUŠÍ“). */
.ad-logo .ad-logo-nazov,
.ad-logo .ad-znacka-sk,
.ad-logo .ad-znacka-en,
.ad-logo .ad-znacka-sk span,
.ad-logo .ad-znacka-en span {
  color: var(--gold-primary);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-shadow: 0 0 12px rgba(232, 184, 102, 0.22);
}
/* Podpis „by Chronicle of Lives“ ostáva tlmený (vyššia špecifickosť než zlaté). */
.ad-logo .ad-znacka-sk .ad-logo-podpis,
.ad-logo .ad-znacka-en .ad-logo-podpis {
  color: var(--text-muted);
  font-weight: 400;
  letter-spacing: 0.18em;
  text-shadow: none;
}

/* Dve podoby značky – zobrazí sa tá, ktorú vybral jazyk prehliadača.
   Bez JavaScriptu (a pre roboty) platí slovenská. */
.ad-znacka-sk, .ad-znacka-en { display: inline; }
.ad-znacka-en { display: none; }
html.ad-brand-en .ad-znacka-sk { display: none; }
html.ad-brand-en .ad-znacka-en { display: inline; }
.ad-logo:hover { text-decoration: none; }

.ad-nav {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.ad-nav-links {
  display: flex;
  align-items: center;
  gap: 0;
}

.ad-nav-links a {
  font-family: var(--font-display);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--text-secondary);
  text-decoration: none;
  transition: color 0.15s;
  padding: 0 0.9rem;
  position: relative;
}
.ad-nav-links a:hover { color: var(--text-primary); }

.ad-nav-links a:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 12px;
  background: var(--border-strong);
}

.ad-nav-links a.ad-nav-cta {
  padding-left: 1rem;
  margin-left: 0.4rem;
}
.ad-nav-links a.ad-nav-cta::after { display: none; }

.ad-nav-cta {
  font-size: 0.8125rem;
  background: var(--text-primary);
  color: var(--surface-2) !important;
  padding: 7px 16px;
  border-radius: var(--radius);
  font-weight: 500;
  transition: opacity 0.15s;
}
.ad-nav-cta:hover { opacity: 0.85; text-decoration: none !important; }

/* "Moja duša" – zvýraznený odkaz v navigácii pre prihlásených */
.ad-nav-links a.ad-nav-moja-dusa {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--accent-bg);
  color: var(--accent-text) !important;
  padding: 5px 12px;
  border-radius: 99px;
  font-weight: 500;
  margin: 0 0.2rem;
}
.ad-nav-links a.ad-nav-moja-dusa::after { display: none; }
.ad-nav-links a.ad-nav-moja-dusa:hover {
  background: var(--accent-border);
  text-decoration: none;
}
.ad-nav-links a.ad-nav-moja-dusa i { font-size: 0.8125rem; }

.ad-header-transparent .ad-nav-links a.ad-nav-moja-dusa {
  background: rgba(255,255,255,0.16);
  color: #fdfcfa !important;
}
.ad-header-transparent .ad-nav-links a.ad-nav-moja-dusa:hover {
  background: rgba(255,255,255,0.26);
}

.ad-hamburger {
  display: none;
  background: none;
  border: none;
  padding: 4px;
  color: var(--text-primary);
  font-size: 1.25rem;
}

/* ============================================================
   THEME TOGGLE (tmavý / svetlý režim)
   ============================================================ */
.ad-theme-toggle {
  background: none;
  border: 0.5px solid var(--border-strong);
  border-radius: 99px;
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--text-secondary);
  font-size: 0.875rem;
  transition: background 0.15s, color 0.15s;
  flex-shrink: 0;
}
.ad-theme-toggle:hover {
  background: var(--surface-1);
  color: var(--text-primary);
}
.ad-header-transparent .ad-theme-toggle {
  border-color: rgba(255,255,255,0.3);
  color: rgba(255,255,255,0.85);
}
.ad-header-transparent .ad-theme-toggle:hover {
  background: rgba(255,255,255,0.12);
  color: #fdfcfa;
}

.ad-theme-toggle .ti-sun { display: none; }
html[data-theme="dark"] .ad-theme-toggle .ti-moon { display: none; }
html[data-theme="dark"] .ad-theme-toggle .ti-sun { display: inline-block; }

@media (max-width: 900px) {
  .ad-nav-links { display: none; }
  .ad-hamburger { display: block; }
  .ad-nav.open .ad-nav-links {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 56px; left: 0; right: 0;
    background: var(--surface-2);
    border-bottom: 0.5px solid var(--border);
    padding: 1rem 1.5rem 2rem;
    gap: 1rem;
    max-height: calc(100dvh - 56px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Otvorený panel má plné pozadie témy – odkazy nesmú dediť biele farby
     priehľadnej hlavičky (bug: biela na bielej vo svetlom režime) */
  .ad-header-transparent .ad-nav.open .ad-nav-links a { color: var(--text-secondary); }
  .ad-header-transparent .ad-nav.open .ad-nav-links a:hover { color: var(--text-primary); }
  .ad-header-transparent .ad-nav.open .ad-nav-links a:not(:last-child)::after { background: var(--border); }
}

/* ============================================================
   HERO SECTION
   ============================================================ */
.ad-hero {
  padding: 5rem 1.5rem 4rem;
  text-align: center;
  background: var(--surface-1);
  border-bottom: 0.5px solid var(--border);
}

.ad-hero-eyebrow {
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 1rem;
}

.ad-hero-title {
  font-family: var(--font-serif);
  font-size: clamp(32px, 6vw, 52px);
  font-weight: 400;
  line-height: 1.15;
  color: var(--text-primary);
  margin-bottom: 1.25rem;
}

.ad-hero-sub {
  font-size: 1.0625rem;
  color: var(--text-secondary);
  line-height: 1.7;
  max-width: 500px;
  margin: 0 auto 2.5rem;
}

.ad-hero-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

.ad-hero-stats {
  margin-top: 3rem;
  display: flex;
  gap: 2.5rem;
  justify-content: center;
  flex-wrap: wrap;
}

.ad-hero-stat-num {
  font-size: 1.625rem;
  font-weight: 500;
  color: var(--text-primary);
}
.ad-hero-stat-label {
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-top: 2px;
}

/* ============================================================
   BUTTONS
   ============================================================ */
.ad-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.875rem;
  font-weight: 500;
  padding: 10px 22px;
  border-radius: var(--radius);
  border: 0.5px solid var(--border-strong);
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
  text-decoration: none;
}
.ad-btn:hover { background: var(--surface-1); text-decoration: none; }

.ad-btn-primary {
  background: var(--text-primary);
  color: var(--surface-2);
  border-color: var(--text-primary);
}
.ad-btn-primary:hover { opacity: 0.85; background: var(--text-primary); color: var(--surface-2); }

.ad-btn-sm {
  font-size: 0.8125rem;
  padding: 6px 14px;
}

.ad-btn-ghost {
  border-color: var(--border);
  color: var(--text-muted);
}

/* ============================================================
   CARDS
   ============================================================ */
.ad-card {
  background: var(--surface-2);
  border: 0.5px solid var(--border);
  border-radius: var(--radius-card);
  padding: 1.25rem;
}

.ad-card-title {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--text-primary);
  margin-bottom: 6px;
}

.ad-card-body {
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.65;
}

/* ============================================================
   TAGS / BADGES / PILLS
   ============================================================ */
.ad-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.82rem;
  padding: 7px 15px;
  border-radius: 99px;
  border: 1px solid var(--border);
  color: var(--text-secondary);
  background: var(--surface-2);
  cursor: pointer;
  transition: background 0.14s, border-color 0.14s, color 0.14s, box-shadow 0.14s;
}
.ad-tag:hover { background: var(--surface-1); }
.ad-tag.active {
  background: var(--accent-bg);
  border-color: var(--gold-primary, #E8B866);
  color: var(--accent-text);
  box-shadow: 0 0 14px rgba(232, 184, 102, 0.18), inset 0 0 12px rgba(232, 184, 102, 0.05);
}
.ad-tag-locked {
  opacity: 0.55;
}
.ad-tag-locked.active {
  background: var(--surface-1);
  border-color: var(--border);
  color: var(--text-muted);
}
.ad-tag-nove {
  background: var(--success-bg);
  border-color: var(--success-text);
  color: var(--success-text);
  font-weight: 500;
}
.ad-tag-nove:hover { background: var(--success-bg); }
.ad-media-nove-banner {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--success-bg);
  color: var(--success-text);
  border: 0.5px solid var(--success-text);
  border-radius: var(--radius);
  padding: 10px 14px;
  font-size: 0.8125rem;
  font-weight: 500;
  margin-bottom: 1.25rem;
}


.ad-badge {
  font-size: 0.75rem;
  padding: 3px 9px;
  border-radius: 99px;
  font-weight: 500;
}
.ad-badge-accent  { background: var(--accent-bg); color: var(--accent-text); }
.ad-badge-pro     { background: var(--pro-bg); color: var(--pro-text); }
.ad-badge-success { background: var(--success-bg); color: var(--success-text); }
.ad-badge-warning { background: var(--warning-bg); color: var(--warning-text); }

/* ============================================================
   TIMELINE
   ============================================================ */
.ad-timeline { padding: 1.5rem; }

.ad-tl-item {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  margin-bottom: 0;
}

.ad-tl-year {
  padding-top: 2px;
  padding-right: 16px;
  text-align: right;
  font-size: 0.75rem;
  color: var(--text-muted);
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
}

.ad-tl-content {
  border-left: 0.5px solid var(--border);
  padding-left: 20px;
  padding-bottom: 2rem;
}

.ad-tl-dot-mobilny {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  border: 0.5px solid var(--border-strong);
  background: var(--surface-2);
  flex-shrink: 0;
}

/* Používa sa aj v mockupe na stránke "Ako to funguje" (nezávisle od časovej
   osi v profile, ktorá teraz používa len .ad-tl-dot-mobilny vyššie). */
.ad-tl-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  border: 0.5px solid var(--border-strong);
  background: var(--surface-2);
  flex-shrink: 0;
}
.ad-tl-dot-active  { background: var(--text-primary); border-color: var(--text-primary); }
.ad-tl-dot-accent  { background: var(--accent); border-color: var(--accent); }
.ad-tl-dot-warning { background: #BA7517; border-color: #BA7517; }
.ad-tl-dot-success { background: #639922; border-color: #639922; }
.ad-tl-dot-dream   { background: #9FE1CB; border-color: #1D9E75; }
.ad-tl-dot-wisdom  { background: #AFA9EC; border-color: #534AB7; }
.ad-tl-dot-legacy  { background: #F0997B; border-color: #D85A30; }
.ad-tl-dot-tuzba   { background: #A8D8C9; border-color: #2A9D7F; }

/* ============================================================
   ČÍSLOVANIE STRÁNOK – kruhové odznaky
   ============================================================ */
.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  padding: 0 4px;
  border-radius: 50%;
  margin: 0 3px;
  font-size: 0.8125rem;
  color: var(--text-secondary);
  text-decoration: none;
  border: 0.5px solid var(--border-strong);
  background: var(--surface-1);
  transition: background 0.15s, color 0.15s;
}
a.page-numbers:hover { background: var(--surface-2); color: var(--text-primary); }
.page-numbers.current {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
  font-weight: 600;
}
.page-numbers.dots {
  border: none;
  background: none;
  min-width: 20px;
}
.page-numbers.next, .page-numbers.prev {
  font-size: 0.9375rem;
}

.ad-nacitat-dalsie-wrap {
  display: flex;
  width: 100%;
  justify-content: center;
  margin-top: 2rem;
  padding-top: 0.5rem;
}
.ad-nacitat-dalsie-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 auto;
}
.ad-nacitat-dalsie-btn .ti-loader-2 { animation: ad-spin 0.8s linear infinite; }
@keyframes ad-spin { to { transform: rotate(360deg); } }

/* ============================================================
   MAGAZÍN – verejná redakčná sekcia, zámerne odlíšená od archívu
   ============================================================ */
.ad-magazin-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--magazin-text);
  margin-bottom: 0.75rem;
}

.ad-magazin-hero {
  max-width: 720px;
  margin: 0 auto;
  padding: 3.5rem 1.5rem 2rem;
  text-align: center;
}
.ad-magazin-hero-title {
  font-family: var(--font-serif);
  font-size: clamp(28px, 4.5vw, 42px);
  line-height: 1.2;
  margin-bottom: 0.75rem;
}
.ad-magazin-hero-sub {
  color: var(--text-secondary);
  font-size: 0.9375rem;
  line-height: 1.6;
}

.ad-magazin-tag.active {
  background: var(--magazin-bg) !important;
  border-color: var(--magazin-border) !important;
  color: var(--magazin-text) !important;
}

.ad-magazin-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.5rem;
}

.ad-magazin-card {
  display: block;
  text-decoration: none;
  color: inherit;
  background: var(--surface-1);
  border: 0.5px solid var(--border);
  border-radius: var(--radius-card);
  overflow: hidden;
  transition: transform 0.2s, border-color 0.2s;
}
.ad-magazin-card:hover {
  transform: translateY(-3px);
  border-color: var(--magazin-border);
}

.ad-magazin-card-media {
  aspect-ratio: 16 / 10;
  background: var(--surface-2);
  overflow: hidden;
}
.ad-magazin-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ad-magazin-card-media-fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--magazin-border);
  font-size: 1.75rem;
}

.ad-magazin-card-body { padding: 1.1rem 1.25rem 1.3rem; }

.ad-magazin-badge {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--magazin-text);
  background: var(--magazin-bg);
  border: 0.5px solid var(--magazin-border);
  border-radius: 99px;
  padding: 3px 10px;
  margin-bottom: 10px;
}

.ad-magazin-card-title {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.35;
  margin-bottom: 8px;
}
.ad-magazin-card-excerpt {
  font-size: 0.8438rem;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 10px;
}
.ad-magazin-card-meta {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  color: var(--text-muted);
}

.ad-magazin-btn {
  border-color: var(--magazin-border) !important;
  color: var(--magazin-text) !important;
}
.ad-magazin-btn:hover { background: var(--magazin-bg) !important; }

/* ---------- Detail článku ---------- */
.ad-magazin-article-title {
  font-family: var(--font-serif);
  font-size: clamp(26px, 4vw, 38px);
  line-height: 1.25;
  margin-bottom: 12px;
}
.ad-magazin-article-meta {
  font-size: 0.8125rem;
  color: var(--text-muted);
  margin-bottom: 1.75rem;
}
.ad-magazin-article-media {
  border-radius: var(--radius-card);
  overflow: hidden;
  margin-bottom: 2rem;
}
.ad-magazin-article-media img { width: 100%; display: block; }

.ad-magazin-article-body {
  font-family: var(--font-serif);
  font-size: 1.0625rem;
  line-height: 1.8;
  color: var(--text-primary);
}
.ad-magazin-article-body p { margin-bottom: 1.4em; }
.ad-magazin-article-body h2 { font-size: 1.5rem; margin: 2em 0 0.75em; font-family: var(--font-serif); }
.ad-magazin-article-body h3 { font-size: 1.1875rem; margin: 1.75em 0 0.6em; font-family: var(--font-serif); }
.ad-magazin-article-body blockquote {
  border-left: 3px solid var(--magazin-border);
  padding-left: 1.25rem;
  margin: 1.75em 0;
  color: var(--text-secondary);
  font-style: italic;
}
.ad-magazin-article-body img { max-width: 100%; border-radius: var(--radius-card); margin: 1.5em 0; }
.ad-magazin-article-body a { color: var(--magazin-text); text-decoration: underline; }

/* ---------- Prechod späť do archívu ---------- */
.ad-magazin-archiv-cta {
  background: var(--accent-bg);
  border-top: 0.5px solid var(--accent-border);
  padding: 3.5rem 1.5rem;
  text-align: center;
  margin-top: 3rem;
}
.ad-magazin-archiv-cta-inner { max-width: 520px; margin: 0 auto; }
.ad-magazin-archiv-cta i {
  font-size: 1.5rem;
  color: var(--accent-text);
  margin-bottom: 1rem;
  display: inline-block;
}
.ad-magazin-archiv-cta h2 {
  font-family: var(--font-serif);
  font-size: clamp(20px, 3vw, 26px);
  margin-bottom: 0.6rem;
}
.ad-magazin-archiv-cta p {
  color: var(--text-secondary);
  font-size: 0.875rem;
  margin-bottom: 1.5rem;
}

.ad-detail-autor-info {
  margin-bottom: 1rem;
}
.ad-detail-autor {
  font-size: 0.8438rem;
  color: var(--text-secondary);
  font-weight: 500;
}
.ad-detail-datum {
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-top: 2px;
}

/* ============================================================
   KOMPAKTNÁ ÚVODNÁ LIŠTA (Príbehy, Múdrosti, Sny, Priznania, Magazín)
   Nahrádza vysokú centrovanú hero sekciu – text vľavo, akcia vpravo,
   výrazne menej výšky, obsah sa posunie vyššie.
   ============================================================ */
.ad-hero-compact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
  padding: 1.5rem 1.5rem;
  border-bottom: 0.5px solid var(--border);
  max-width: var(--max-width, 1080px);
  margin: 0 auto;
}
.ad-hero-compact-text { min-width: 0; }
.ad-hero-compact-text .ad-hero-eyebrow { margin-bottom: 2px; }
.ad-hero-compact-title {
  font-family: var(--font-serif);
  font-size: clamp(21px, 2.6vw, 27px);
  line-height: 1.25;
  margin: 2px 0 5px;
}
.ad-hero-compact-sub {
  font-size: 0.8438rem;
  color: var(--text-secondary);
  line-height: 1.5;
  max-width: 620px;
}
.ad-hero-compact-action { flex-shrink: 0; }
.ad-hero-compact-action .ad-btn { white-space: nowrap; }

/* ============================================================
   KOMPAKTNÝ RIADOK FILTROV (Príbehy, Múdrosti, Sny)
   Nahrádza viacero riadkov klikacích štítkov jedným riadkom
   rozbaľovacích zoznamov – rovnaká funkcia, zlomok výšky.
   ============================================================ */
.ad-filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem 1rem;
  padding: 0.5rem 0 1rem;
  margin-bottom: 0.5rem;
  border-bottom: 0.5px solid var(--border);
}
.ad-filter-select-wrap {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 140px;
  flex: 1 1 160px;
}
.ad-filter-select-wrap label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-muted);
}
.ad-filter-select {
  width: 100%;
  background: var(--surface-1);
  border: 0.5px solid var(--border-strong);
  border-radius: var(--radius);
  padding: 8px 10px;
  font-size: 0.8438rem;
  color: var(--text-primary);
  cursor: pointer;
}
.ad-filter-select:focus {
  border-color: var(--accent);
  outline: none;
}

/* ============================================================
   ROZBAĽOVACIA SEKCIA VÝBERU TÉM (formulár pridania záznamu)
   ============================================================ */
.ad-tema-details {
  background: var(--surface-1);
  border: 0.5px solid var(--border-strong);
  border-radius: var(--radius);
  padding: 10px 12px;
}
.ad-tema-details-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  font-size: 0.8438rem;
  color: var(--text-primary);
  list-style: none;
}
.ad-tema-details-summary::-webkit-details-marker { display: none; }
.ad-tema-details-summary i { transition: transform 0.15s; color: var(--text-muted); }
.ad-tema-details[open] .ad-tema-details-summary i { transform: rotate(180deg); }

@media (max-width: 560px) {
  .ad-filter-bar {
    gap: 0.75rem;
  }
  .ad-filter-select-wrap {
    flex: 1 1 calc(50% - 0.75rem);
    min-width: 0;
  }
}

@media (max-width: 680px) {
  .ad-hero-compact {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    padding: 1.25rem 1.5rem;
  }
  .ad-hero-compact-action { width: 100%; }
  .ad-hero-compact-action .ad-btn { width: 100%; justify-content: center; }
}

@media (max-width: 560px) {
  .ad-tl-item {
    grid-template-columns: 1fr;
  }
  /* Širšie karty: os má na mobile menšie bočné okraje. */
  .ad-timeline { padding: 1.25rem 0.75rem; }
  /* Checkbox pri dátume/guličke; miesto sa vyhradí len na dátumovom riadku,
     karta pod ním ostáva na plnú šírku. */
  .je-oznacovanie .ad-hrom-vyber { top: 13px; }
  .je-oznacovanie .ad-tl-year { padding-left: 34px; }
  .ad-tl-year {
    text-align: left;
    justify-content: flex-start;
    padding-right: 0;
    padding-top: 14px;
    padding-bottom: 10px;
    border-top: 0.5px solid var(--border);
    gap: 9px;
    white-space: normal;
  }
  .ad-tl-item:first-child .ad-tl-year {
    border-top: none;
    padding-top: 0;
  }
  .ad-tl-content {
    border-left: none;
    padding-left: 0;
  }
  .ad-tl-dot-mobilny {
    width: 11px;
    height: 11px;
  }
}

.ad-tl-type {
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-bottom: 5px;
  display: flex;
  align-items: center;
  gap: 5px;
}

.ad-tl-card {
  background: var(--surface-2);
  border: 0.5px solid var(--border);
  border-radius: var(--radius-card);
  padding: 1rem 1.1rem;
  overflow: hidden;
}

.ad-tl-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 0.5px solid var(--border);
}

.ad-tl-card-stat {
  font-size: 0.75rem;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 5px;
}

.ad-tl-pridane {
  font-size: 0.75rem;
  color: var(--text-muted);
  opacity: 0.75;
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 6px;
}

/* ============================================================
   FÁZY ŽIVOTA – interaktívne zbaľovateľné skupiny na časovej osi
   ============================================================ */
.ad-faza-skupina {
  border-bottom: 0.5px solid var(--border);
}
.ad-faza-skupina:last-child { border-bottom: none; }

.ad-faza-header {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 1.5rem;
  background: var(--surface-1);
  border: none;
  cursor: pointer;
  text-align: left;
  transition: background 0.15s;
}
.ad-faza-header:hover { background: var(--surface-0); }
.ad-faza-header i:first-child { font-size: 1rem; color: var(--accent-text); }

.ad-faza-nazov {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-primary);
}

.ad-faza-pocet {
  font-size: 0.75rem;
  color: var(--text-muted);
  background: var(--surface-2);
  padding: 2px 8px;
  border-radius: 99px;
}

.ad-faza-chevron {
  margin-left: auto;
  transition: transform 0.2s;
  font-size: 1rem;
  color: var(--text-muted);
}
.ad-faza-skupina.collapsed .ad-faza-chevron { transform: rotate(-90deg); }

.ad-faza-obsah {
  padding: 1.5rem;
  overflow: hidden;
  transition: grid-template-rows 0.25s ease;
}
.ad-faza-skupina.collapsed .ad-faza-obsah {
  display: none;
}

/* Splnené túžby – jemne odlíšená karta */
.ad-tl-card-splnene {
  background: var(--success-bg);
  border-color: var(--success-text);
}
.ad-tl-card-splnene .ad-card-title { text-decoration: line-through; text-decoration-color: var(--success-text); text-decoration-thickness: 1px; }

.ad-tl-splnene-toggle {
  font-size: 0.75rem;
  color: var(--accent-text);
  background: none;
  border: 0.5px solid var(--accent-border);
  border-radius: 99px;
  padding: 3px 10px;
  cursor: pointer;
  transition: background 0.15s;
}
.ad-tl-splnene-toggle:hover { background: var(--accent-bg); }

.ad-dream-card {
  background: var(--surface-0);
  border: 0.5px solid var(--border);
  border-radius: var(--radius-card);
  padding: 1rem 1.1rem;
}

.ad-dream-card-link {
  display: block;
  text-decoration: none;
  transition: border-color 0.15s;
}
.ad-dream-card-link:hover {
  border-color: var(--border-strong);
  text-decoration: none;
}

.ad-dream-body {
  font-family: var(--font-serif);
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.75;
  font-style: italic;
}

/* ============================================================
   PROFILE HEADER
   ============================================================ */
.ad-profile-header {
  padding: 2rem 1.5rem 1.5rem;
  background: var(--surface-1);
  border-bottom: 0.5px solid var(--border);
}

.ad-profile-meta {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  margin-bottom: 1.5rem;
}

.ad-profile-warning-btn {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 11px; border-radius: 999px;
  background: var(--warning-bg);
  border: 0.5px solid var(--warning-text);
  color: var(--warning-text);
  font-size: 0.7188rem; font-weight: 600;
  cursor: pointer;
}

.ad-profile-warning-popover {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 50;
  width: min(300px, calc(100vw - 3rem));
  background: var(--surface-1);
  border: 0.5px solid #E5433A;
  border-radius: var(--radius-card);
  padding: 14px 16px;
  margin-top: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.3);
}
.ad-profile-warning-popover p {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.5;
  margin-bottom: 10px;
}
.ad-profile-warning-popover-actions {
  display: flex;
  gap: 8px;
}

.ad-profile-id {
  font-size: 0.75rem;
  letter-spacing: 0.07em;
  color: var(--text-muted);
  margin-bottom: 4px;
  font-family: var(--font-mono);
}

.ad-profile-name {
  font-size: 1.25rem;
  font-weight: 500;
  margin-bottom: 8px;
}

.ad-profile-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

/* ============================================================
   PROFILE EKG – krivka počtu napísaných slov v čase
   ============================================================ */
.ad-profile-ekg-wrap {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.ad-profile-ekg {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: stretch;
}

.ad-profile-ekg-title {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.03em;
  color: var(--text-muted);
  margin-bottom: 4px;
}

.ad-profile-citacia {
  padding: 1.25rem 1.5rem;
  margin: 0 0 0.5rem;
  text-align: center;
  border-top: 0.5px solid var(--border);
  border-bottom: 0.5px solid var(--border);
  background: var(--surface-1);
}
.ad-profile-citacia-text {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--text-primary);
  max-width: 560px;
  margin: 0 auto;
}
.ad-profile-citacia-autor {
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-top: 8px;
}

.ad-ekg-svg {
  width: 100%;
  height: 100%;
  min-height: 90px;
  overflow: visible;
}

.ad-ekg-grid {
  stroke: var(--border);
  stroke-width: 1;
  stroke-dasharray: 2 3;
}

.ad-ekg-label {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  fill: var(--text-muted);
}

.ad-ekg-line {
  fill: none;
  stroke: var(--success-text);
  stroke-width: 1.75;
  stroke-linejoin: round;
  stroke-linecap: round;
  filter: drop-shadow(0 0 3px var(--success-text));
  stroke-dasharray: 3000;
  stroke-dashoffset: 3000;
  animation: ad-ekg-draw 2.4s cubic-bezier(0.25, 0.7, 0.35, 1) forwards;
}

.ad-ekg-dot {
  fill: var(--success-text);
  opacity: 0;
  animation: ad-ekg-dot-in 0.4s ease-out 2.2s forwards;
}

.ad-ekg-dot-ping {
  fill: var(--success-text);
  opacity: 0;
  transform-origin: center;
  transform-box: fill-box;
  animation: ad-ekg-ping 2s ease-out 2.4s infinite;
}

.ad-ekg-empty {
  align-self: center;
  font-size: 0.75rem;
  padding: 0 1rem;
}

@keyframes ad-ekg-draw {
  to { stroke-dashoffset: 0; }
}
@keyframes ad-ekg-dot-in {
  to { opacity: 1; }
}
@keyframes ad-ekg-ping {
  0%   { opacity: 0.55; transform: scale(0.4); }
  70%  { opacity: 0; transform: scale(2.2); }
  100% { opacity: 0; transform: scale(2.2); }
}

@media (max-width: 720px) {
  .ad-profile-info { flex-direction: column; gap: 0.75rem !important; }
  .ad-profile-ekg { min-height: 70px; }
}

/* ============================================================
   RÝCHLE ZÁPISY – odľahčené zachytenie myšlienky
   ============================================================ */
.ad-rz-capture {
  background: var(--surface-1);
  border: 0.5px solid var(--border);
  border-radius: var(--radius-card);
  padding: 14px;
}

.ad-rz-item {
  position: relative;
  background: var(--surface-1);
  border: 0.5px solid var(--border);
  border-radius: var(--radius-card);
  padding: 14px 40px 14px 14px;
}

.ad-rz-item-datum {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-bottom: 6px;
}

.ad-rz-item-body {
  font-family: var(--font-serif);
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--text-primary);
}

.ad-rz-edit-btn {
  position: absolute;
  top: 10px;
  right: 10px;
}

/* ---------- Vlákno: myšlienka + jej doplnenia ---------- */
.ad-rz-vlakno { position: relative; }

.ad-rz-item { position: relative; padding-right: 40px; padding-bottom: 36px; }

.ad-rz-doplnit-toggle-btn {
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 0.5px solid var(--border-strong);
  background: none;
  color: var(--text-muted);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  transition: background 0.15s, color 0.15s;
}
.ad-rz-doplnit-toggle-btn:hover {
  background: var(--surface-1);
  color: var(--accent-text);
}

.ad-rz-doplnenia {
  margin-left: 22px;
  padding-left: 18px;
  border-left: 2px solid var(--border);
}

.ad-rz-doplnenie {
  position: relative;
  background: var(--surface-0);
  border: 0.5px solid var(--border);
  border-radius: var(--radius);
  padding: 10px 12px;
  margin-top: 8px;
}
.ad-rz-doplnenie::before {
  content: '';
  position: absolute;
  left: -19px;
  top: 16px;
  width: 16px;
  height: 2px;
  background: var(--border);
}

.ad-rz-doplnenie-datum {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-bottom: 4px;
}
.ad-rz-doplnenie-body {
  font-family: var(--font-serif);
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--text-secondary);
}

.ad-rz-doplnit-form {
  margin-left: 22px;
  padding-left: 18px;
  border-left: 2px solid var(--border);
  margin-top: 8px;
}
.ad-rz-doplnit-form .ad-textarea { margin-bottom: 8px; }

/* ============================================================
   PRIZNANIA
   ============================================================ */
.ad-priznanie-pravidla {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--surface-1);
  border: 0.5px solid var(--border);
  border-radius: var(--radius-card);
  padding: 12px 16px;
  font-size: 0.8125rem;
  color: var(--text-secondary);
  margin-bottom: 1.5rem;
}
.ad-priznanie-pravidla i { color: var(--pro-text, var(--accent-text)); flex-shrink: 0; }

.ad-priznania-pravidla-link {
  background: none;
  border: none;
  color: var(--accent-text);
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
}

.ad-priznania-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  z-index: 300;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}
.ad-priznania-modal {
  position: relative;
  background: var(--surface-1);
  border: 0.5px solid var(--border-strong);
  border-radius: var(--radius-card);
  padding: 18px 20px;
  width: fit-content;
  max-width: 400px;
  max-height: 75vh;
  overflow-y: auto;
}
.ad-priznania-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  background: none;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
  font-size: 0.9375rem;
}
.ad-priznania-modal-title {
  font-family: var(--font-serif);
  font-size: 0.9375rem;
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 10px;
  padding-right: 20px;
}
.ad-priznania-modal-text {
  font-size: 0.8125rem;
  line-height: 1.6;
  color: var(--text-secondary);
}
.ad-priznania-modal-text .ad-tag,
.ad-priznania-modal-text .ad-oblubene-badge {
  font-size: 0.75rem;
  padding: 2px 8px;
}

.ad-priznanie-capture textarea {
  font-family: var(--font-serif);
  font-size: 0.9375rem;
}

.ad-priznanie-card {
  background: var(--surface-1);
  border: 0.5px solid var(--border);
  border-radius: var(--radius-card);
  padding: 18px;
}

.ad-priznanie-datum {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-bottom: 8px;
}

.ad-priznanie-text {
  font-family: var(--font-serif);
  font-size: 1rem;
  line-height: 1.75;
  color: var(--text-primary);
  white-space: pre-wrap;
  margin-bottom: 14px;
}

.ad-priznanie-reakcia-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: 0.5px solid var(--border);
  border-radius: 99px;
  padding: 6px 12px;
  font-size: 0.75rem;
  color: var(--text-secondary);
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.ad-priznanie-reakcia-btn:hover { background: var(--surface-2); }
.ad-priznanie-reakcia-btn.active {
  background: var(--accent-bg);
  border-color: var(--accent-border);
  color: var(--accent-text);
}

/* ============================================================
   SPOMIENKOVÉ MAPY – dropdown na priradenie obsahu
   ============================================================ */
.ad-sm-dropdown-wrap {
  position: relative;
  display: inline-block;
}

.ad-sm-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 20;
  margin-top: 4px;
  background: var(--surface-2);
  border: 0.5px solid var(--border);
  border-radius: var(--radius);
  padding: 8px;
  min-width: 180px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.3);
}
.ad-sm-dropdown.open { display: block; }

.ad-sm-dropdown-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.75rem;
  padding: 6px 4px;
  cursor: pointer;
  white-space: nowrap;
}
.ad-sm-dropdown-item:hover { background: var(--surface-1); border-radius: 4px; }

.ad-tl-spomienka-riadok {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 6px;
}

.ad-tl-spomienka-label {
  font-size: 0.75rem;
  color: var(--text-muted);
  opacity: 0.85;
  margin-right: 2px;
}

.ad-sm-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: var(--surface-1);
  border: 0.5px solid var(--border);
  border-radius: 99px;
  padding: 3px 10px;
  font-size: 0.75rem;
  color: var(--text-secondary);
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.ad-sm-chip:hover { background: var(--surface-2); }
.ad-sm-chip.active {
  background: var(--success-bg);
  border-color: var(--success-text);
  color: var(--success-text);
  font-weight: 500;
}
.ad-sm-chip.active i { font-size: 0.75rem; }

.ad-sm-info {
  font-size: 0.8125rem;
  color: var(--text-muted);
  cursor: help;
  opacity: 0.7;
}
.ad-sm-info:hover { opacity: 1; color: var(--accent-text); }

/* ============================================================
   MOJE OBĽÚBENÉ
   ============================================================ */
.ad-oblubene-row {
  display: flex;
  align-items: center;
  gap: 6px;
  background: var(--surface-0);
  border: 0.5px solid var(--border);
  border-radius: var(--radius);
  padding: 6px 10px;
  font-size: 0.75rem;
}
.ad-oblubene-kategoria { color: var(--text-muted); flex-shrink: 0; }
.ad-oblubene-hodnota { color: var(--text-primary); flex: 1; }
.ad-oblubene-zmazat-btn {
  background: none;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
  font-size: 0.75rem;
  padding: 2px;
}
.ad-oblubene-zmazat-btn:hover { color: var(--danger-text); }

.ad-profile-oblubene {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.ad-oblubene-badge {
  font-size: 0.75rem;
  color: var(--text-secondary);
  background: var(--surface-1);
  border: 0.5px solid var(--border);
  border-radius: 99px;
  padding: 4px 10px;
}
.ad-oblubene-badge strong { color: var(--text-muted); font-weight: 500; }

.ad-nie-som-sam {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.75rem;
  color: var(--accent-text);
  background: var(--accent-bg);
  border: 0.5px solid var(--accent-border);
  border-radius: var(--radius);
  padding: 6px 10px;
  margin-top: -2px;
}

/* ============================================================
   VYHĽADÁVANIE VO VLASTNOM ARCHÍVE
   ============================================================ */
.ad-tl-search-wrap {
  position: relative;
  display: flex;
  align-items: center;
  margin: 1rem 0 0.75rem;
}
.ad-tl-search-wrap > i.ti-search {
  position: absolute;
  left: 12px;
  font-size: 0.9375rem;
  color: var(--text-muted);
  pointer-events: none;
}
.ad-tl-search-input {
  width: 100%;
  background: var(--surface-1);
  border: 0.5px solid var(--border-strong);
  border-radius: 99px;
  padding: 10px 12px 10px 34px;
  font-size: 0.875rem;
  color: var(--text-primary);
}
.ad-tl-search-input:focus { border-color: var(--accent); outline: none; }
.ad-tl-search-input::placeholder { color: var(--text-muted); }

.ad-tl-search-pocet {
  position: absolute;
  right: 14px;
  font-size: 0.75rem;
  color: var(--text-muted);
  white-space: nowrap;
}

.ad-tl-search-empty {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
  padding: 2rem 1rem;
  color: var(--text-muted);
  font-size: 0.8125rem;
}
.ad-tl-search-empty i { font-size: 1.125rem; }

/* ============================================================
   SPOMIENKA NA TENTO DEŇ
   ============================================================ */
.ad-spomienka-na-dnes {
  background: var(--warning-bg);
  border: 0.5px solid var(--warning-text);
  border-radius: var(--radius-card);
  padding: 14px 16px;
  margin-top: 1rem;
}
.ad-spomienka-na-dnes-header {
  display: flex;
  align-items: center;
  gap: 7px;
  font-family: var(--font-serif);
  font-size: 0.875rem;
  color: var(--warning-text);
  margin-bottom: 8px;
}
.ad-spomienka-na-dnes-item {
  display: block;
  text-decoration: none;
  padding: 6px 0;
  border-top: 0.5px solid var(--warning-text);
  opacity: 0.85;
}
.ad-spomienka-na-dnes-item:first-of-type { border-top: none; }
.ad-spomienka-na-dnes-item:hover { opacity: 1; }
.ad-spomienka-na-dnes-kedy {
  display: block;
  font-size: 0.75rem;
  color: var(--warning-text);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.ad-spomienka-na-dnes-titulok {
  display: block;
  font-size: 0.875rem;
  color: var(--text-primary);
  margin-top: 1px;
}

.ad-profile-collapse-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.ad-profile-collapse-btn { cursor: pointer; }

/* ============================================================
   SÚKROMNÁ ŠTATISTIKA PODOBNOSTI PO ULOŽENÍ ZÁZNAMU
   ============================================================ */
.ad-podobnost-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  z-index: 300;
  align-items: center;
  justify-content: center;
}
.ad-podobnost-modal {
  background: var(--surface-1);
  border: 0.5px solid var(--accent-border);
  border-radius: var(--radius-card);
  padding: 28px 24px;
  max-width: 340px;
  text-align: center;
}
.ad-podobnost-modal-text {
  font-family: var(--font-serif);
  font-size: 1.0625rem;
  line-height: 1.5;
}

/* ============================================================
   MÔJ POCIT
   ============================================================ */
.ad-pocit-capture {
  background: var(--surface-1);
  border: 0.5px solid var(--border);
  border-radius: var(--radius-card);
  padding: 32px 24px;
  text-align: center;
}

.ad-nalada-ludstva {
  background: var(--surface-1);
  border: 0.5px solid var(--border);
  border-radius: var(--radius-card);
  padding: 20px 24px;
  margin-top: 16px;
}

.ad-nalada-ludstva-nadpis {
  font-family: var(--font-serif);
  font-size: 1rem;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.ad-nalada-ludstva-bar {
  display: flex;
  width: 100%;
  height: 10px;
  border-radius: 99px;
  overflow: hidden;
  background: var(--surface-0);
  margin-bottom: 10px;
}
.ad-nalada-ludstva-seg {
  height: 100%;
  transition: width 0.4s;
}

.ad-nalada-ludstva-legenda {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  font-size: 0.75rem;
  color: var(--text-secondary);
  margin-bottom: 12px;
}
.ad-nalada-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 4px;
}

.ad-nalada-ludstva-najcastejsie {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8125rem;
  color: var(--text-secondary);
  padding-top: 10px;
  border-top: 0.5px solid var(--border);
}

.ad-pocit-otazka {
  font-family: var(--font-serif);
  font-size: 1.125rem;
  margin-bottom: 16px;
}

.ad-pocit-skala {
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}

.ad-pocit-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  background: var(--surface-0);
  border: 0.5px solid var(--border);
  border-radius: var(--radius);
  padding: 12px 8px;
  cursor: pointer;
  width: 84px;
  transition: transform 0.15s, border-color 0.15s, background 0.15s;
}
.ad-pocit-btn:hover { transform: translateY(-2px); border-color: var(--pocit-farba); }
.ad-pocit-btn.active {
  border-color: var(--pocit-farba);
  background: color-mix(in srgb, var(--pocit-farba) 14%, var(--surface-0));
}

.ad-pocit-ikona { font-size: 1.5rem; color: var(--pocit-farba); }
.ad-pocit-label { font-size: 0.75rem; color: var(--text-muted); text-align: center; line-height: 1.2; }

.ad-pocit-historia-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8125rem;
  padding: 6px 0;
  border-bottom: 0.5px solid var(--border);
}
.ad-pocit-historia-emoji { font-size: 1rem; }
.ad-pocit-historia-label { color: var(--text-secondary); }
.ad-pocit-historia-datum { margin-left: auto; font-size: 0.75rem; color: var(--text-muted); }

/* ============================================================
   ŠTATISTIKY – kompaktný pásik s ikonami (namiesto vysokej mriežky)
   ============================================================ */
.ad-stat-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ad-stat-pill {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--surface-2);
  border: 0.5px solid var(--border);
  border-radius: 99px;
  padding: 7px 14px 7px 10px;
}
.ad-stat-pill i {
  font-size: 0.9375rem;
  color: var(--text-muted);
  flex-shrink: 0;
}

.ad-stat-pill-text {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}
.ad-stat-pill-num {
  font-size: 0.8438rem;
  font-weight: 600;
  color: var(--text-primary);
}
.ad-stat-pill-label {
  font-size: 0.75rem;
  color: var(--text-muted);
  white-space: nowrap;
}

.ad-stat-pill-accent {
  background: var(--accent-bg);
  border-color: var(--accent-border);
}
.ad-stat-pill-accent i { color: var(--accent-text); }
.ad-stat-pill-accent .ad-stat-pill-num { color: var(--accent-text); }
.ad-stat-pill-accent .ad-stat-pill-label { color: var(--accent-text); opacity: 0.75; }

@media (max-width: 480px) {
  .ad-stat-pill { padding: 6px 10px 6px 8px; }
  .ad-stat-pill-num { font-size: 0.8125rem; }
}

/* ============================================================
   SIDEBAR
   ============================================================ */
.ad-sidebar {
  padding: 1.5rem 1.25rem;
  background: var(--surface-1);
  border-left: 0.5px solid var(--border);
}

/* ============================================================
   PROFIL – výsuvný panel nastavení (namiesto stáleho bočného stĺpca)
   ============================================================ */
.ad-profil-menu-btn {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  border: 0.5px solid var(--border-strong);
  background: none;
  color: var(--text-secondary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 0.9375rem;
  transition: background 0.15s, color 0.15s;
}
.ad-profil-menu-btn:hover { background: var(--surface-1); color: var(--text-primary); }

.ad-profil-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 200;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s;
}
.ad-profil-drawer-backdrop.open {
  opacity: 1;
  pointer-events: auto;
}

.ad-profil-drawer {
  position: fixed;
  top: 52px;
  right: 0;
  bottom: 0;
  width: min(360px, 88vw);
  z-index: 201;
  overflow-y: auto;
  border-top-left-radius: var(--radius-card);
  transform: translateX(100%) translateY(-8px);
  opacity: 0;
  transition: transform 0.24s ease, opacity 0.24s ease;
  box-shadow: -12px 0 30px rgba(0,0,0,0.35);
}
.ad-profil-drawer.open {
  transform: translateX(0) translateY(0);
  opacity: 1;
}

/* Šuplík nemá vlastný horný odsek – hlavička začína od úplného vrchu
   a lepí sa naň; obsah pri skrolovaní mizne čisto pod ňou. */
.ad-profil-drawer { padding-top: 0; }
.ad-profil-drawer-header {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 -1.25rem 1rem;
  padding: 1.1rem 1.25rem 0.9rem;
  border-bottom: 0.5px solid var(--border);
  background: var(--surface-1);
}
.ad-profil-drawer-title {
  font-family: var(--font-serif);
  font-size: 1rem;
}
.ad-profil-drawer-close {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 0.5px solid var(--border-strong);
  background: none;
  color: var(--text-secondary);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.ad-profil-drawer-close:hover { background: var(--surface-0); }

@media (max-width: 480px) {
  .ad-profil-drawer { width: 100vw; }
}

.ad-sidebar-block {
  margin-bottom: 1.75rem;
  padding-bottom: 1.75rem;
  border-bottom: 2px solid rgba(232, 184, 102, 0.4);
}
.ad-sidebar-block:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.ad-sidebar-label {
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px;
}

.ad-sidebar-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  font-size: 0.8125rem;
}
.ad-sidebar-key { color: var(--text-secondary); }
.ad-sidebar-val { color: var(--text-primary); font-weight: 500; }

/* Mirror bars */
.ad-mirror-bar { margin-bottom: 10px; }
.ad-mirror-label {
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
  color: var(--text-secondary);
  margin-bottom: 4px;
}
.ad-mirror-track {
  height: 4px;
  background: var(--surface-0);
  border-radius: 99px;
  overflow: hidden;
}
.ad-mirror-fill {
  height: 100%;
  border-radius: 99px;
  background: var(--accent);
  transition: width 0.6s ease;
}

/* Legacy / testament */
.ad-legacy-code-block {
  background: var(--surface-0);
  border: 0.5px solid var(--border);
  border-radius: var(--radius);
  padding: 12px;
  text-align: center;
  margin-bottom: 8px;
}
.ad-legacy-code {
  font-family: var(--font-mono);
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  color: var(--text-primary);
}
.ad-legacy-hint { font-size: 0.75rem; color: var(--text-muted); margin-top: 3px; }

/* ============================================================
   FORMS
   ============================================================ */
.ad-form-group { margin-bottom: 1.25rem; }

.ad-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-bottom: 6px;
  font-weight: 500;
}

/* Zvýraznený variant labelu – biely a tučný (Životná téma, Životná fáza, Kto to uvidí?) */
.ad-label-zvyraznene {
  color: var(--text-primary);
  font-weight: 700;
  font-size: 0.8125rem;
}

/* Nadpis podskupiny vo formulári (napr. "Životná cesta", "Múdrosť a poznanie") –
   zámerne svetlejší než ad-label, aby boli typy záznamov pod ním lepšie čitateľné. */
.ad-skupina-nadpis {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 6px;
}

/* Informačný tooltip – ikona "i" v krúžku, po nájazde myšou zobrazí vysvetlenie. */
.ad-info-tooltip {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 0.5px solid var(--border-strong);
  color: var(--text-muted);
  font-size: 0.75rem;
  cursor: help;
  flex-shrink: 0;
}
.ad-info-tooltip i { font-size: 0.75rem; }

.ad-info-tooltip-text {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  width: 240px;
  background: var(--text-primary);
  color: var(--surface-2);
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.5;
  padding: 8px 12px;
  border-radius: 8px;
  text-align: left;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.15s, transform 0.15s;
  z-index: 50;
}
.ad-info-tooltip-text::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: var(--text-primary);
}
.ad-info-tooltip:hover .ad-info-tooltip-text,
.ad-info-tooltip:focus .ad-info-tooltip-text {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

@media (max-width: 480px) {
  .ad-info-tooltip-text { width: 200px; }
}

.ad-input,
.ad-textarea,
.ad-select {
  width: 100%;
  background: var(--surface-1);
  border: 0.5px solid var(--border-strong);
  border-radius: var(--radius);
  padding: 9px 12px;
  font-size: 0.875rem;
  color: var(--text-primary);
  outline: none;
  transition: border-color 0.15s;
  font-family: var(--font-sans);
}

.ad-input:focus,
.ad-textarea:focus,
.ad-select:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(55, 138, 221, 0.1);
}

.ad-textarea {
  resize: vertical;
  min-height: 100px;
  line-height: 1.6;
}

.ad-input::placeholder,
.ad-textarea::placeholder { color: var(--text-muted); }

/* ============================================================
   SECTION HEADER (above main content)
   ============================================================ */
.ad-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  border-bottom: 0.5px solid var(--border);
  background: var(--surface-2);
}
.ad-section-title { font-size: 0.875rem; font-weight: 500; }

.ad-filter-row {
  display: flex;
  gap: 6px;
  padding: 0.75rem 1.5rem;
  border-bottom: 0.5px solid var(--border);
  background: var(--surface-2);
  flex-wrap: wrap;
}

/* ============================================================
   SOLUTIONS (paywall)
   ============================================================ */
.ad-solution-card {
  background: var(--surface-2);
  border: 0.5px solid var(--border);
  border-radius: var(--radius-card);
  padding: 1.25rem;
  margin-bottom: 12px;
}

.ad-solution-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.ad-solution-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--accent-bg);
  color: var(--accent-text);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 500;
  flex-shrink: 0;
}

.ad-solution-preview {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.65;
  filter: blur(4px);
  user-select: none;
}

.ad-solution-unlock {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 0.5px solid var(--border);
  gap: 8px;
}

/* ============================================================
   STATS / MIRROR
   ============================================================ */
.ad-stats-panel {
  background: var(--surface-2);
  border: 0.5px solid var(--border);
  border-radius: var(--radius-card);
  padding: 1.5rem;
}

.ad-stats-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.25rem;
}

.ad-stats-bar { margin-bottom: 1rem; }
.ad-stats-bar-label {
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
  color: var(--text-secondary);
  margin-bottom: 5px;
}
.ad-stats-bar-track {
  height: 6px;
  background: var(--surface-1);
  border-radius: 99px;
  overflow: hidden;
}
.ad-stats-bar-fill {
  height: 100%;
  border-radius: 99px;
  background: var(--accent);
  transition: width 0.6s ease;
}

.ad-stats-meta {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 0.5px solid var(--border);
}
.ad-stats-meta-item { text-align: center; }
.ad-stats-meta-num   { font-size: 1.25rem; font-weight: 500; }
.ad-stats-meta-label { font-size: 0.75rem; color: var(--text-muted); margin-top: 2px; }

/* ============================================================
   FOOTER
   ============================================================ */
.ad-footer {
  background: var(--surface-2);
  border-top: 0.5px solid var(--border);
  margin-top: auto;
}

.ad-footer-newsletter-row {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 1.5rem 1.5rem;
  border-bottom: 0.5px solid var(--border);
}

.ad-footer-inner {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 2rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}

.ad-footer-logo {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: var(--text-muted);
}
.ad-footer-logo span { font-weight: 400; }

.ad-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
}
.ad-footer-links a {
  font-size: 0.8125rem;
  color: var(--text-muted);
  text-decoration: none;
  white-space: nowrap;
}
.ad-footer-links a:hover { color: var(--text-secondary); }

.ad-footer-mapa-link {
  font-weight: 700 !important;
  color: #E8E813 !important;
}
.ad-footer-mapa-link:hover { opacity: 0.85; }

.ad-footer-podporit-wrap {
  flex: 0 0 100%;
  display: flex;
  justify-content: center;
}
.ad-footer-podporit-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--warning-bg);
  border: 0.5px solid var(--warning-text);
  color: var(--warning-text);
  font-weight: 500;
  font-size: 0.8125rem;
  padding: 9px 20px;
  border-radius: 99px;
  text-decoration: none;
  white-space: nowrap;
  margin: 0.5rem 0;
  transition: transform 0.15s, opacity 0.15s;
}
.ad-footer-podporit-btn:hover { opacity: 0.85; transform: translateY(-1px); }
.ad-footer-podporit-btn i { font-size: 0.875rem; }

.ad-footer-social {
  display: flex;
  gap: 10px;
  margin-top: 0.5rem;
}
.ad-footer-social-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 0.5px solid var(--border-strong);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-secondary);
  font-size: 0.9375rem;
  transition: background 0.15s, color 0.15s;
}
.ad-footer-social-icon:hover {
  background: var(--surface-1);
  color: var(--text-primary);
  text-decoration: none;
}

.ad-footer-copy {
  font-size: 0.75rem;
  color: var(--text-muted);
  width: 100%;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 0.5px solid var(--border);
}

/* ============================================================
   UTILITIES
   ============================================================ */
.ad-divider { border: none; border-top: 0.5px solid var(--border); margin: 1.5rem 0; }
.ad-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.ad-dashed-add { width: 100%; padding: 9px; font-size: 0.8125rem; background: transparent; border: 0.5px dashed var(--border-strong); border-radius: var(--radius); color: var(--text-secondary); cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 6px; transition: border-color 0.15s; }
.ad-dashed-add:hover { border-color: var(--text-muted); }

/* ============================================================
   VISIBILITY OPTIONS (entry form)
   ============================================================ */
.ad-visibility-option {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  border: 0.5px solid var(--border);
  border-radius: var(--radius);
  padding: 10px 12px;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
}
.ad-visibility-option:has(input:checked) {
  border-color: var(--accent-border);
  background: var(--accent-bg);
}
.ad-visibility-option input { margin-top: 3px; }
.ad-visibility-option strong { font-size: 0.8125rem; color: var(--text-primary); }
.ad-visibility-option p { font-size: 0.75rem; color: var(--text-secondary); margin-top: 2px; line-height: 1.5; }

/* ============================================================
   HERO COVER (full-bleed image background, homepage only)
   ============================================================ */
.ad-hero-cover {
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4rem 1.5rem;
  box-sizing: border-box;
  overflow: hidden;
}

.ad-hero-cover-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  animation: ad-hero-zoom 28s ease-in-out infinite alternate;
  will-change: transform;
}

.ad-hero-cover-video {
  object-fit: cover;
  width: 100%;
  height: 100%;
  animation: none;
}

.ad-hero-cover-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10,10,9,0.55) 0%, rgba(10,10,9,0.75) 55%, rgba(10,10,9,0.92) 100%);
}

@keyframes ad-hero-zoom {
  0%   { transform: scale(1); }
  100% { transform: scale(1.12); }
}

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

.ad-hero-cover-inner {
  position: relative;
  z-index: 1;
  max-width: 640px;
  text-align: center;
}

.ad-hero-cover .ad-hero-eyebrow {
  color: rgba(255,255,255,0.65);
}

.ad-hero-title-cover {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(34px, 6vw, 54px);
  line-height: 1.15;
  color: #fdfcfa;
  margin-bottom: 1.25rem;
  letter-spacing: -0.01em;
}

.ad-hero-sub-cover {
  font-size: 1.0625rem;
  color: rgba(255,255,255,0.82);
  line-height: 1.7;
  max-width: 500px;
  margin: 0 auto 2.5rem;
}

.ad-btn-ghost-cover {
  border-color: rgba(255,255,255,0.35);
  color: rgba(255,255,255,0.9);
  background: rgba(255,255,255,0.06);
}
.ad-btn-ghost-cover:hover {
  background: rgba(255,255,255,0.12);
  text-decoration: none;
}

.ad-hero-gate-hint {
  margin-top: 2rem;
  font-size: 0.75rem;
  color: rgba(255,255,255,0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.ad-hero-zdarma {
  margin-top: 1.25rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #D4943A;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

@media (max-width: 600px) {
  .ad-hero-cover { min-height: 100svh; padding: 3rem 1.25rem; }
}

/* ============================================================
   ACCESS GATE (pre neprihlásených na chránených stránkach)
   ============================================================ */
.ad-gate-screen {
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3rem 1.5rem;
  text-align: center;
}
.ad-gate-card {
  max-width: 480px;
}
.ad-gate-icon {
  font-size: 2rem;
  color: var(--text-muted);
  margin-bottom: 1rem;
}
.ad-gate-title {
  font-family: var(--font-serif);
  font-size: 1.625rem;
  font-weight: 400;
  margin-bottom: 0.75rem;
}
.ad-gate-text {
  font-size: 0.9375rem;
  color: var(--text-secondary);
  line-height: 1.7;
  margin-bottom: 2rem;
}
.ad-gate-actions {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ============================================================
   VSTUPNÝ FORMULÁR – široký, vycentrovaný dvojstĺpcový layout
   ============================================================ */
.ad-entry-container {
  padding: 3rem 1.5rem;
  max-width: 1040px;
}

.ad-entry-login-notice {
  max-width: 640px;
  margin: 0 auto 1.5rem;
  text-align: center;
}

.ad-entry-head {
  text-align: center;
  max-width: 600px;
  margin: 0 auto 2rem;
}

.ad-entry-form {
  width: 100%;
  padding: 2rem;
}

.ad-entry-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 2rem;
  align-items: start;
}

.ad-entry-col-left {
  border-right: 0.5px solid var(--border);
  padding-right: 2rem;
}

/* Široký displej: pilulky typov sa rozlejú do dvoch stĺpcov,
   formulár sa tým skráti na polovicu bez straty prehľadnosti. */
@media (min-width: 1180px) {
  .ad-entry-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 2.25rem; }
  /* pilulky typov do troch stĺpcov – formulár sa skráti na tretinu */
  .ad-entry-col-left .ad-typ-mriezka { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ad-entry-col-left .ad-typ-chip { font-size: 12px; padding: 8px 10px; }
}

.ad-entry-row-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}

/* Štítkové skupiny (admin-editovateľné pilulky) */
.ad-stitky-blok { margin-bottom: 1.25rem; }
.ad-stitky-skupina + .ad-stitky-skupina { margin-top: 1rem; }
.ad-stitky-volitelne { font-weight: 400; color: var(--text-muted); font-size: 0.75rem; }
.ad-stitok { cursor: pointer; }

/* Nadpis až za textom – nepovinný */
.ad-nadpis-po-texte { margin-top: 0.25rem; }
.ad-nadpis-volitelne { font-weight: 400; color: var(--text-muted); font-size: 0.75rem; }
#ad-title-navrh {
  font-size: 11.5px; color: var(--text-muted); margin: 5px 0 0;
  font-family: var(--font-serif); font-style: italic;
}
.ad-autosave-pozn {
  display: flex; align-items: center; gap: 6px;
  font-size: 11.5px; color: var(--text-muted); margin: 6px 0 0;
}
.ad-autosave-pozn .ti { font-size: 13px; }

/* Pätička – brána pre pozostalých */
.ad-fpill-odkaz {
  border-color: rgba(217, 179, 86, 0.5) !important;
  color: #d9b356 !important;
}
@media (min-width: 1180px) {
  .ad-stitky-blok { column-count: 2; column-gap: 1.5rem; }
  .ad-stitky-skupina { break-inside: avoid; -webkit-column-break-inside: avoid; }
  .ad-stitky-skupina + .ad-stitky-skupina { margin-top: 0; }
}

.ad-textarea-tall {
  min-height: 160px;
}

.ad-entry-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 0.5px solid var(--border);
}
/* Späť stojí vľavo, na úrovni ukladacích tlačidiel */
#ad-ef-spat { margin-right: auto; }
/* Uložiť rozpísané – tiché, decentné */
#ad-koncept-uloz-btn { opacity: .8; font-size: .82rem; }
#ad-koncept-uloz-btn:hover { opacity: 1; }
/* Uložiť záznam – hlavné, výrazné */
#ad-ef-ulozit {
  padding: 13px 26px;
  font-size: .98rem;
  font-weight: 700;
  box-shadow: 0 6px 20px rgba(232, 184, 102, .28);
}
#ad-form-message { flex-basis: 100%; text-align: right; }

.ad-entry-message {
  display: none;
  font-size: 0.8125rem;
}
.ad-entry-message.is-visible { display: block; }

@media (max-width: 860px) {
  .ad-entry-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .ad-entry-col-left {
    border-right: none;
    border-bottom: 0.5px solid var(--border);
    padding-right: 0;
    padding-bottom: 1.5rem;
  }
  .ad-entry-row-2col { grid-template-columns: 1fr; gap: 1.25rem; }
}

@media (max-width: 540px) {
  .ad-entry-form { padding: 1.25rem; }
}

/* ============================================================
   AKO TO FUNGUJE – prezentačná stránka
   ============================================================ */
.ad-htf-intro {
  padding: 4rem 1.5rem 3rem;
  background: var(--surface-1);
  border-bottom: 0.5px solid var(--border);
}
.ad-htf-intro-inner {
  max-width: 760px;
  text-align: center;
  padding: 0 1.5rem;
}
.ad-htf-h1 {
  font-family: var(--font-serif);
  font-size: clamp(28px, 4.5vw, 40px);
  font-weight: 400;
  font-style: italic;
  line-height: 1.3;
  color: var(--text-primary);
  margin: 1rem 0 1.75rem;
}
.ad-htf-lead {
  font-size: 1rem;
  color: var(--text-secondary);
  line-height: 1.8;
  max-width: 640px;
  margin: 0 auto 1.25rem;
}

.ad-htf-section-head {
  text-align: center;
  max-width: 600px;
  margin: 0 auto 2.5rem;
}
.ad-htf-section-head h2 {
  font-size: clamp(22px, 3vw, 28px);
  margin: 0.5rem 0 0.5rem;
}
.ad-htf-section-sub {
  font-size: 0.875rem;
  color: var(--text-secondary);
}

/* Tri piliere */
.ad-htf-pillars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  max-width: 980px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .ad-htf-pillars { grid-template-columns: 1fr; }
}
.ad-htf-pillar {
  text-align: center;
  padding: 1.5rem;
}
.ad-htf-pillar-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--accent-bg);
  color: var(--accent-text);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.375rem;
  margin: 0 auto 1rem;
}
.ad-htf-pillar h3 {
  font-size: 1rem;
  margin-bottom: 0.5rem;
}
.ad-htf-pillar p {
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.65;
}

/* Kroky */
.ad-htf-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
  max-width: 1080px;
  margin: 0 auto;
}
@media (max-width: 900px) {
  .ad-htf-steps { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
  .ad-htf-steps { grid-template-columns: 1fr; }
}
.ad-htf-step {
  background: var(--surface-2);
  border: 0.5px solid var(--border);
  border-radius: var(--radius-card);
  padding: 1.5rem;
}
.ad-htf-step-num {
  font-family: var(--font-display);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--accent-text);
  margin-bottom: 0.75rem;
  letter-spacing: 0.05em;
}
.ad-htf-step h3 {
  font-size: 0.9375rem;
  margin-bottom: 0.5rem;
}
.ad-htf-step p {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.6;
}

/* Mockup wrapper – jemne zvýraznené, aby pôsobilo ako "okno" do archívu */
.ad-htf-mockup-wrap {
  max-width: 640px;
  margin: 0 auto;
  position: relative;
}
.ad-htf-mockup {
  box-shadow: 0 16px 40px rgba(0,0,0,0.12);
}
.ad-htf-mockup-caption {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
  text-align: center;
  font-size: 0.8125rem;
  color: var(--text-muted);
  margin-top: 1rem;
  font-style: italic;
}

/* Timeline mockup */
.ad-htf-timeline-mockup {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.ad-htf-tl-row {
  display: grid;
  grid-template-columns: 18px minmax(0,1fr);
  gap: 12px;
  align-items: start;
}
.ad-htf-tl-row .ad-tl-dot {
  margin-left: 0;
  margin-top: 6px;
  float: none;
}

.ad-htf-wisdom-card {
  background: var(--surface-0);
  border-color: var(--pro-bg);
}

/* Plný príklad celého života (sekcia 5) */
.ad-htf-full-timeline {
  border: 0.5px solid var(--border);
  border-radius: var(--radius-card);
  overflow: hidden;
}
.ad-htf-faza-skupina { border-bottom: 0.5px solid var(--border); background: var(--surface-2); }
.ad-htf-faza-skupina:last-child { border-bottom: none; }
.ad-htf-faza-header { background: var(--surface-1); }

/* Pohľad pozostalých – malá ukážka "ceremoniálnej" obrazovky (sekcia 5b) */
.ad-htf-legacy-preview {
  background: #1a1512;
  border-radius: var(--radius-card);
  padding: 3rem 2rem;
  text-align: center;
  color: #f0ede8;
}
.ad-htf-legacy-preview-eyebrow {
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #D4943A;
  margin-bottom: 0.75rem;
  opacity: 0.85;
}
.ad-htf-legacy-preview-pre {
  display: inline-block;
  font-size: 0.75rem;
  color: #f0ede8;
  background: rgba(255,255,255,0.06);
  border: 0.5px solid rgba(255,255,255,0.15);
  padding: 3px 12px;
  border-radius: 99px;
  margin-bottom: 1.5rem;
  opacity: 0.85;
}
.ad-htf-legacy-preview-message {
  font-family: var(--font-serif);
  font-size: 1.0625rem;
  font-style: italic;
  line-height: 1.7;
  margin-bottom: 1.5rem;
}
.ad-htf-legacy-preview-scroll {
  font-size: 0.75rem;
  opacity: 0.45;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

/* Legacy / testament grid */
.ad-htf-legacy-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media (max-width: 768px) {
  .ad-htf-legacy-grid { grid-template-columns: 1fr; }
}
.ad-htf-legacy-item {
  text-align: center;
}
.ad-htf-legacy-item i {
  font-size: 1.625rem;
  color: var(--pro-text);
  margin-bottom: 0.75rem;
  display: block;
}
.ad-htf-legacy-item h3 {
  font-size: 0.9375rem;
  margin-bottom: 0.5rem;
}
.ad-htf-legacy-item p {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.65;
}

/* Záverečné CTA */
.ad-htf-cta {
  padding: 5rem 1.5rem;
  text-align: center;
  background: var(--surface-2);
  border-top: 0.5px solid var(--border);
}
.ad-htf-cta-inner h2 {
  font-family: var(--font-serif);
  font-size: clamp(26px, 4vw, 34px);
  font-weight: 400;
  margin-bottom: 0.5rem;
}
.ad-htf-cta-inner p {
  font-size: 0.9375rem;
  color: var(--text-secondary);
}

/* ============================================================
   ODKAZ PRE BLÍZKYCH – ceremoniálna stránka pre pozostalých
   Farby riadené cez --legacy-* premenné nastavené inline podľa
   zvolenej palety vlastníka archívu.
   ============================================================ */
.ad-nahlad-pasik {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--warning-bg);
  color: var(--warning-text);
  border-bottom: 0.5px solid var(--warning-text);
  padding: 10px 16px;
  font-size: 0.8125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  text-align: center;
}
.ad-nahlad-pasik a {
  color: var(--warning-text);
  text-decoration: underline;
  font-weight: 500;
  white-space: nowrap;
}

.ad-legacy-reveal {
  background: var(--legacy-bg);
  color: var(--legacy-text);
}

.ad-legacy-opening {
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4rem 1.5rem;
  text-align: center;
}
.ad-legacy-opening-inner {
  max-width: 620px;
}

.ad-legacy-eyebrow {
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--legacy-accent);
  margin-bottom: 0.75rem;
  opacity: 0.85;
}

.ad-legacy-pre-koho {
  display: inline-block;
  font-size: 0.8125rem;
  color: var(--legacy-text);
  background: rgba(255,255,255,0.06);
  border: 0.5px solid rgba(255,255,255,0.15);
  padding: 4px 14px;
  border-radius: 99px;
  margin-bottom: 2rem;
  opacity: 0.85;
}

.ad-legacy-message {
  font-family: var(--font-serif);
  font-size: clamp(20px, 3vw, 26px);
  font-style: italic;
  line-height: 1.7;
  color: var(--legacy-text);
  margin-bottom: 2.5rem;
}
.ad-legacy-message p { margin-bottom: 1em; }
.ad-legacy-message p:last-child { margin-bottom: 0; }

.ad-legacy-meta {
  font-size: 0.8125rem;
  color: var(--legacy-text);
  opacity: 0.55;
  font-family: var(--font-mono);
}

/* Voliteľná veta pod dátumom v odkaze (napr. kým bytosť bola). */
.ad-legacy-podpis {
  margin-top: 0.85rem;
  max-width: 34rem;
  margin-left: auto;
  margin-right: auto;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--legacy-text);
  opacity: 0.8;
}

.ad-legacy-scroll-hint {
  margin-top: 3.5rem;
  font-size: 0.75rem;
  color: var(--legacy-text);
  opacity: 0.4;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  animation: ad-legacy-bounce 2.4s ease-in-out infinite;
}
@keyframes ad-legacy-bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(6px); }
}

.ad-legacy-section {
  padding: 4rem 1.5rem;
  border-top: 0.5px solid rgba(255,255,255,0.08);
}
.ad-legacy-section-alt {
  background: rgba(255,255,255,0.02);
}
.ad-legacy-section-inner {
  max-width: 720px;
  margin: 0 auto;
}

.ad-legacy-section-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: clamp(22px, 3vw, 28px);
  color: var(--legacy-text);
  margin-bottom: 0.5rem;
}
.ad-legacy-section-title i { color: var(--legacy-accent); font-size: 1.375rem; }

/* Pozvánka do knihy v odkaze – namiesto dlhého textu vedie do celej knihy */
.ad-legacy-kniha-pozvanka {
  text-align: center;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.ad-legacy-kniha-pozvanka .ad-legacy-section-title { justify-content: center; }
.ad-legacy-kniha-pozvanka .ad-legacy-section-sub { max-width: 30rem; margin-left: auto; margin-right: auto; margin-bottom: 1.75rem; }
.ad-legacy-kniha-ikona {
  display: block;
  font-size: 2.25rem;
  color: var(--legacy-accent);
  opacity: 0.9;
  margin-bottom: 0.75rem;
}
.ad-legacy-kniha-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 30px;
  border-radius: 999px;
  background: var(--legacy-accent);
  color: var(--legacy-bg);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-decoration: none;
  box-shadow: 0 8px 28px color-mix(in srgb, var(--legacy-accent) 38%, transparent);
  transition: transform 0.15s ease, filter 0.15s ease;
}
.ad-legacy-kniha-btn:hover { transform: translateY(-1px); filter: brightness(1.08); }
.ad-legacy-kniha-btn i { font-size: 18px; }

.ad-legacy-section-sub {
  font-size: 0.875rem;
  color: var(--legacy-text);
  opacity: 0.6;
  margin-bottom: 2rem;
}

.ad-legacy-entries {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-top: 2rem;
}

.ad-legacy-entry {
  background: rgba(255,255,255,0.03);
  border: 0.5px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  padding: 1.5rem 1.75rem;
}
.ad-legacy-entry h3 {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 1.125rem;
  color: var(--legacy-text);
  margin-bottom: 0.75rem;
}
.ad-legacy-entry-komu {
  font-size: 0.75rem;
  color: var(--legacy-accent);
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 5px;
}
.ad-legacy-entry-body {
  font-size: 0.9375rem;
  line-height: 1.8;
  color: var(--legacy-text);
  opacity: 0.85;
}
.ad-legacy-entry-body p { margin-bottom: 1em; }
.ad-legacy-entry-body p:last-child { margin-bottom: 0; }

.ad-legacy-entry-dream {
  background: rgba(255,255,255,0.02);
}
.ad-legacy-entry-dream .ad-legacy-entry-body {
  font-family: var(--font-serif);
  font-style: italic;
}
.ad-legacy-entry-date {
  font-size: 0.75rem;
  color: var(--legacy-accent);
  margin-bottom: 8px;
}

.ad-legacy-timeline {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 2rem;
  border-left: 0.5px solid rgba(255,255,255,0.12);
  padding-left: 1.75rem;
}
.ad-legacy-tl-item {
  position: relative;
  padding-bottom: 2.25rem;
}
.ad-legacy-tl-item::before {
  content: '';
  position: absolute;
  left: -1.95rem;
  top: 4px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--legacy-accent);
}
.ad-legacy-tl-date {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  color: var(--legacy-accent);
  margin-bottom: 6px;
  display: flex;
  gap: 8px;
  align-items: baseline;
}
.ad-legacy-tl-date span { color: var(--legacy-text); opacity: 0.45; font-family: var(--font-sans); }
.ad-legacy-tl-content h3 {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 1.0625rem;
  margin-bottom: 0.5rem;
  color: var(--legacy-text);
}

.ad-legacy-closing {
  padding: 5rem 1.5rem;
  text-align: center;
}
.ad-legacy-closing-inner i {
  font-size: 1.5rem;
  color: var(--legacy-accent);
  margin-bottom: 1rem;
  display: block;
}
.ad-legacy-closing-inner p {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1rem;
  color: var(--legacy-text);
  opacity: 0.7;
  max-width: 440px;
  margin: 0 auto;
}

/* Pomenované prístupy (Môj testament) */
.ad-pristup-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  background: var(--surface-1);
  border: 0.5px solid var(--border);
  border-radius: var(--radius);
  margin-bottom: 8px;
}
.ad-pristup-item-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ad-pristup-item-info strong { font-size: 0.875rem; color: var(--text-primary); }
.ad-pristup-item-actions { display: flex; gap: 6px; flex-shrink: 0; }

/* Paleta výber (Môj testament) */
.ad-paleta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  gap: 10px;
}
.ad-paleta-option {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  padding: 8px;
  border-radius: var(--radius);
  border: 0.5px solid transparent;
}
.ad-paleta-option.active {
  border-color: var(--accent-border);
  background: var(--accent-bg);
}
.ad-paleta-swatch {
  width: 100%;
  height: 44px;
  border-radius: 8px;
  border: 1px solid;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ad-paleta-swatch span {
  width: 16px;
  height: 16px;
  border-radius: 50%;
}
.ad-paleta-label {
  font-size: 0.75rem;
  color: var(--text-secondary);
  text-align: center;
}

/* ============================================================
   EDITAČNÝ MODAL (úprava záznamu z časovej osi)
   ============================================================ */
.ad-edit-modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  z-index: 1000;
  align-items: flex-start;
  justify-content: center;
  padding: 3rem 1.5rem;
  overflow-y: auto;
}
.ad-edit-modal-overlay.open { display: flex; }

.ad-edit-modal {
  background: var(--surface-2);
  border-radius: var(--radius-card);
  width: 100%;
  max-width: 760px;
  max-height: calc(100vh - 6rem);
  display: flex;
  flex-direction: column;
  box-shadow: 0 24px 60px rgba(0,0,0,0.3);
}

.ad-edit-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.5rem;
  border-bottom: 0.5px solid var(--border);
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--text-primary);
  flex-shrink: 0;
}
.ad-edit-modal-header button {
  background: none;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
  font-size: 1.125rem;
  display: flex;
}
.ad-edit-modal-header button:hover { color: var(--text-primary); }

.ad-edit-modal-body {
  padding: 1.5rem;
  overflow-y: auto;
}

.ad-edit-modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 0.5px solid var(--border);
}

/* Tlačidlo úpravy na karte záznamu */
.ad-tl-edit-btn {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 0.5px solid var(--border-strong);
  background: none;
  color: var(--text-muted);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  transition: background 0.15s, color 0.15s;
}
.ad-tl-edit-btn:hover {
  background: var(--surface-1);
  color: var(--text-primary);
}

.ad-dream-wrap {
  position: relative;
}
.ad-dream-edit-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  background: var(--surface-2);
}

/* ============================================================
   STRÁNKA PODPORIŤ
   ============================================================ */
.ad-podp-hero {
  padding: 4rem 1.5rem 3rem;
  text-align: center;
  background: var(--surface-1);
  border-bottom: 0.5px solid var(--border);
}
.ad-podp-hero-inner {
  max-width: 640px;
}
.ad-podp-h1 {
  font-family: var(--font-serif);
  font-size: clamp(30px, 5vw, 44px);
  font-weight: 400;
  line-height: 1.2;
  margin: 0.75rem 0 1.25rem;
  color: var(--text-primary);
}
.ad-podp-lead {
  font-size: 1rem;
  color: var(--text-secondary);
  line-height: 1.75;
}

.ad-podp-dovody {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  max-width: 980px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .ad-podp-dovody { grid-template-columns: 1fr; }
}
.ad-podp-dovod {
  text-align: center;
  padding: 1.5rem;
}
.ad-podp-dovod-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--warning-bg);
  color: var(--warning-text);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.375rem;
  margin: 0 auto 1rem;
}
.ad-podp-dovod h3 {
  font-size: 1rem;
  margin-bottom: 0.5rem;
}
.ad-podp-dovod p {
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.65;
}

/* Formulár podpory */
.ad-podpora-form-wrap { max-width: 540px; margin: 0 auto; }
.ad-podpora-form { padding: 2rem; }

.ad-podpora-frekvencia {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.ad-podpora-frekvencia-option {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px;
  border: 0.5px solid var(--border-strong);
  border-radius: var(--radius);
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-secondary);
  transition: border-color 0.15s, background 0.15s, color 0.15s;
}
.ad-podpora-frekvencia-option input { display: none; }
.ad-podpora-frekvencia-option.active {
  border-color: var(--accent-border);
  background: var(--accent-bg);
  color: var(--accent-text);
}

.ad-podpora-sumy {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
@media (max-width: 480px) {
  .ad-podpora-sumy { grid-template-columns: repeat(2, 1fr); }
}
.ad-podpora-suma-option {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 8px;
  border: 0.5px solid var(--border-strong);
  border-radius: var(--radius);
  cursor: pointer;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--text-primary);
  transition: border-color 0.15s, background 0.15s, color 0.15s;
}
.ad-podpora-suma-option input { display: none; }
.ad-podpora-suma-option.active {
  border-color: var(--accent-border);
  background: var(--accent-bg);
  color: var(--accent-text);
}
.ad-podpora-suma-vlastna {
  font-size: 0.75rem;
  font-weight: 500;
  grid-column: span 1;
}

.ad-podpora-submit {
  width: 100%;
  justify-content: center;
  font-size: 0.9375rem;
  padding: 12px;
  margin-top: 0.5rem;
}

.ad-podpora-bezpecnost {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-top: 1rem;
  text-align: center;
}

.ad-podp-dakujeme {
  text-align: center;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.9375rem;
  color: var(--text-secondary);
  margin-top: 2rem;
}

/* ============================================================
   PRÍBEHY – oddelenie filtračných sekcií, AJAX loading, "Toto som zažil aj ja"
   ============================================================ */
.ad-pribehy-filter-divider {
  height: 0.5px;
  background: var(--border);
  margin: 0 0 0.25rem;
}

.ad-pribehy-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 3rem;
  color: var(--text-muted);
  font-size: 0.875rem;
}
.ad-pribehy-loading i {
  font-size: 1.125rem;
  animation: ad-spin 0.8s linear infinite;
}
@keyframes ad-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

#ad-pribehy-grid-wrap {
  transition: opacity 0.2s ease;
}

.ad-pribeh-card {
  display: flex;
  flex-direction: column;
}

.ad-zazil-som-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 12px;
  padding: 8px 12px;
  border: 0.5px solid var(--border-strong);
  border-radius: var(--radius);
  background: transparent;
  color: var(--text-secondary);
  font-size: 0.75rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.ad-zazil-som-btn:hover {
  border-color: var(--accent-border);
  color: var(--accent-text);
}
.ad-zazil-som-btn.active {
  background: var(--accent-bg);
  border-color: var(--accent-border);
  color: var(--accent-text);
}
.ad-zazil-som-btn i { font-size: 0.875rem; }
.ad-zazil-som-pocet {
  background: var(--surface-1);
  color: var(--text-muted);
  font-size: 0.75rem;
  padding: 1px 7px;
  border-radius: 99px;
  font-weight: 600;
}
.ad-zazil-som-btn.active .ad-zazil-som-pocet {
  background: var(--accent-border);
  color: var(--accent-text);
}

/* AUTH FLOW (registration / recovery) */
.ad-auth-choice-card {
  text-align: left;
  background: var(--surface-2);
  border: 0.5px solid var(--border);
  border-radius: var(--radius-card);
  padding: 1.5rem;
  cursor: pointer;
  transition: border-color 0.15s, transform 0.1s;
  font-family: var(--font-sans);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ad-auth-choice-card:hover {
  border-color: var(--border-strong);
  transform: translateY(-1px);
}

.ad-auth-choice-title {
  font-size: 1rem;
  font-weight: 500;
  color: var(--text-primary);
  margin-top: 4px;
}

.ad-auth-choice-desc {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.6;
}

.ad-auth-choice-list {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 0.5px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ad-auth-choice-list li {
  font-size: 0.75rem;
  color: var(--text-secondary);
  display: flex;
  align-items: center;
  gap: 6px;
}
.ad-auth-choice-list li i { font-size: 0.875rem; flex-shrink: 0; }

.ad-auth-msg { font-size: 0.8125rem; }

@media (max-width: 640px) {
  #ad-auth-step-choice > div { grid-template-columns: 1fr !important; }
}

/* Recovery phrase reminder banner */
.ad-recovery-banner {
  background: var(--warning-bg);
  border: 0.5px solid var(--warning-text);
  border-radius: var(--radius-card);
  padding: 1rem 1.25rem;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 1.5rem;
}
.ad-recovery-banner i {
  font-size: 1.125rem;
  color: var(--warning-text);
  flex-shrink: 0;
  margin-top: 2px;
}
.ad-recovery-banner-text {
  font-size: 0.8125rem;
  color: var(--text-primary);
  line-height: 1.6;
}
.ad-recovery-banner-actions {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}
.alignright { float: right; margin-left: 1.5rem; }
.aligncenter { margin: 0 auto; display: block; }
.screen-reader-text { @extend .ad-sr-only; }

/* ============================================================
   NAHRÁVANIE HLASU (rekordér v záložke Audionahrávky)
   ============================================================ */
.ad-rec-dot {
  width: 12px; height: 12px; border-radius: 50%;
  background: #c0392b; flex: 0 0 auto;
  animation: adRecPulz 1.2s ease-in-out infinite;
}
@keyframes adRecPulz {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: 0.35; transform: scale(0.82); }
}
@media (prefers-reduced-motion: reduce) {
  .ad-rec-dot { animation: none; }
}

/* ============================================================
   VIDENÉ ZÁZNAMY (štítok + stlmenie karty vo výpisoch)
   ============================================================ */
.ad-videne-badge {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 1px 8px; border-radius: 999px;
  font-size: 0.75rem; font-weight: 600;
  background: var(--surface-1); border: 0.5px solid var(--border);
  color: var(--text-muted);
  flex: 0 0 auto;
}
.ad-je-videne { opacity: 0.66; transition: opacity .2s ease; }
.ad-je-videne:hover { opacity: 1; }

/* ============================================================
   SPRIEVODCA (interaktívna prehliadka profilu a formulára)
   ============================================================ */
.ad-tour-backdrop {
  position: fixed; inset: 0; z-index: 1200;
  background: transparent; /* stmavenie robí box-shadow reflektora */
}
.ad-tour-ring {
  position: fixed; z-index: 1201; pointer-events: none;
  border: 2px solid var(--accent);
  border-radius: 10px;
  box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.62);
  transition: top .25s ease, left .25s ease, width .25s ease, height .25s ease;
}
.ad-tour-tooltip {
  position: fixed; z-index: 1202;
  width: min(320px, calc(100vw - 32px));
  background: var(--surface-2);
  border: 0.5px solid var(--border-strong);
  border-radius: var(--radius-card);
  padding: 14px 16px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.35);
  transition: top .25s ease, left .25s ease;
}
.ad-tour-nazov {
  font-family: var(--font-serif); font-size: 1.0625rem;
  color: var(--text-primary); margin-bottom: 6px;
}
.ad-tour-text { font-size: 0.8125rem; line-height: 1.65; color: var(--text-secondary); }
.ad-tour-paticka {
  display: flex; align-items: center; gap: 8px;
  margin-top: 12px; padding-top: 10px;
  border-top: 0.5px solid var(--border);
}
.ad-tour-pocitadlo { font-size: 0.75rem; color: var(--text-muted); margin-left: auto; }
.ad-tour-preskocit {
  background: none; border: none; padding: 0;
  font-size: 0.75rem; color: var(--text-muted); cursor: pointer;
}
.ad-tour-preskocit:hover { color: var(--text-primary); }
.ad-tour-akcie { display: flex; gap: 6px; }
.ad-tour-spat, .ad-tour-dalej {
  border: 0.5px solid var(--border); background: var(--surface-1);
  border-radius: 999px; padding: 6px 12px; font-size: 0.75rem;
  color: var(--text-primary); cursor: pointer;
  display: inline-flex; align-items: center; gap: 5px;
}
.ad-tour-dalej {
  background: var(--accent-bg); border-color: var(--accent-border); color: var(--accent-text); font-weight: 600;
}
.ad-tour-spat:hover, .ad-tour-dalej:hover { border-color: var(--border-strong); }
@media (prefers-reduced-motion: reduce) {
  .ad-tour-ring, .ad-tour-tooltip { transition: none; }
}

/* ============================================================
   FAREBNÁ IDENTITA SEKCIE: SNY (nočná indigová)
   Akcentová vrstva – hero gradient, tlačidlo, okraje kariet.
   Základné povrchy a text ostávajú jednotné s celým webom.
   Trieda .ad-sablona-page-sny sa pridáva na <body> vo functions.php
   podľa reálne použitého súboru šablóny (funguje aj pri výbere
   šablóny podľa slugu, kedy WP nepridá .page-template-*).
   ============================================================ */
:root {
  --sny-hlboka:  #10142b;
  --sny-stredna: #1c2450;
  --sny-akcent:  #7c8ff0;
  --sny-akcent-text: #aab6ff;
}

.ad-sablona-page-sny .ad-hero-compact,
.page-template-page-sny .ad-hero-compact {
  background: linear-gradient(155deg, var(--sny-hlboka) 0%, var(--sny-stredna) 55%, #0c0f22 100%);
  border-bottom: 0.5px solid rgba(124, 143, 240, 0.25);
}
.ad-sablona-page-sny .ad-hero-compact .ad-hero-eyebrow,
.ad-sablona-page-sny .ad-hero-compact .ad-hero-compact-sub,
.page-template-page-sny .ad-hero-compact .ad-hero-eyebrow,
.page-template-page-sny .ad-hero-compact .ad-hero-compact-sub {
  color: rgba(200, 208, 245, 0.75);
}
.ad-sablona-page-sny .ad-hero-compact .ad-hero-compact-title,
.page-template-page-sny .ad-hero-compact .ad-hero-compact-title {
  color: #eef0fb;
}
.ad-sablona-page-sny .ad-hero-compact .ad-btn-primary,
.page-template-page-sny .ad-hero-compact .ad-btn-primary {
  background: var(--sny-akcent);
  border-color: var(--sny-akcent);
  color: #0d1024;
}
.ad-sablona-page-sny .ad-hero-compact .ad-btn-primary:hover,
.page-template-page-sny .ad-hero-compact .ad-btn-primary:hover {
  background: #93a3f4;
  border-color: #93a3f4;
}
.ad-sablona-page-sny .ad-dream-card,
.page-template-page-sny .ad-dream-card {
  border-color: rgba(124, 143, 240, 0.28);
}
.ad-sablona-page-sny .ad-dream-card:hover,
.page-template-page-sny .ad-dream-card:hover {
  border-color: rgba(124, 143, 240, 0.55);
}
.ad-sablona-page-sny .ad-dream-card .ad-tl-type,
.page-template-page-sny .ad-dream-card .ad-tl-type {
  color: var(--sny-akcent-text);
}

/* Svetlý režim: nočný gradient v hero ostáva (sen = noc vždy),
   len akcent na kartách stlmíme, aby sedel na svetlom povrchu. */
:root:not([data-theme="dark"]) .ad-sablona-page-sny .ad-dream-card .ad-tl-type,
:root:not([data-theme="dark"]) .page-template-page-sny .ad-dream-card .ad-tl-type {
  color: #4a5bc4;
}

/* ============================================================
   FAREBNÉ IDENTITY OSTATNÝCH SEKCIÍ
   Múdrosti = zlatá · Priznania = slivková · Testament/odkazy = fialová
   Spomienky/mapy = sépiová. (Príbehy = značková modrá, Magazín = terakota.)
   Rovnaký princíp ako Sny: akcentová vrstva cez triedu šablóny na <body>.
   !important je nutné tam, kde šablóny majú inline background/border.
   ============================================================ */
:root {
  --mud-akcent: #c9a227;  --mud-text: #8f6f14;
  --priz-akcent: #8a3d63; --priz-text: #7d3358;
  --spom-akcent: #a1743b; --spom-text: #7d5a2c;
}
html[data-theme="dark"] {
  --mud-text: #d9b64a;
  --priz-text: #d987b3;
  --spom-text: #cfa96a;
}

/* --- MÚDROSTI (zlatá) --- */
.ad-sablona-page-mudrosti .ad-hero-compact {
  background: linear-gradient(155deg, rgba(201,162,39,0.16) 0%, var(--surface-1) 70%) !important;
  border-bottom: 0.5px solid rgba(201,162,39,0.35);
}
.ad-sablona-page-mudrosti .ad-hero-eyebrow { color: var(--mud-text); }
.ad-sablona-page-mudrosti .ad-btn-primary {
  background: var(--mud-akcent); border-color: var(--mud-akcent); color: #241c02;
}
.ad-sablona-page-mudrosti .ad-btn-primary:hover { background: #d8b23a; border-color: #d8b23a; }
.ad-sablona-page-mudrosti #ad-mudrosti-items .ad-card { border-color: rgba(201,162,39,0.45) !important; }
.ad-sablona-page-mudrosti #ad-mudrosti-items .ad-card:hover { border-color: rgba(201,162,39,0.75) !important; }
.ad-sablona-page-mudrosti #ad-mudrosti-items .ad-card .ad-tl-type { color: var(--mud-text) !important; }

/* --- PRIZNANIA (slivková) --- */
.ad-sablona-page-priznania .ad-hero-compact {
  background: linear-gradient(155deg, rgba(138,61,99,0.18) 0%, var(--surface-1) 70%) !important;
  border-bottom: 0.5px solid rgba(138,61,99,0.35);
}
.ad-sablona-page-priznania .ad-hero-eyebrow { color: var(--priz-text); }
.ad-sablona-page-priznania .ad-btn-primary {
  background: var(--priz-akcent); border-color: var(--priz-akcent); color: #fdf2f8;
}
.ad-sablona-page-priznania .ad-btn-primary:hover { background: #9c4a72; border-color: #9c4a72; }

/* --- DIGITÁLNY TESTAMENT + ODKAZ PRE BLÍZKYCH (fialová, zladené s viditeľnosťou "odkaz") --- */
.ad-sablona-page-moj-testament .ad-hero,
.ad-sablona-page-odkaz-pre-blizkych .ad-hero,
.ad-sablona-page-testament-nahlad .ad-hero {
  background: linear-gradient(155deg, rgba(83,74,183,0.16) 0%, var(--surface-1) 70%) !important;
  border-bottom: 0.5px solid rgba(83,74,183,0.35);
}
.ad-sablona-page-moj-testament .ad-hero-eyebrow,
.ad-sablona-page-odkaz-pre-blizkych .ad-hero-eyebrow,
.ad-sablona-page-testament-nahlad .ad-hero-eyebrow { color: var(--pro-text); }
.ad-sablona-page-moj-testament .ad-btn-primary,
.ad-sablona-page-odkaz-pre-blizkych .ad-btn-primary,
.ad-sablona-page-testament-nahlad .ad-btn-primary {
  background: var(--pro-text); border-color: var(--pro-text); color: #f4f2ff;
}
html[data-theme="dark"] .ad-sablona-page-moj-testament .ad-btn-primary,
html[data-theme="dark"] .ad-sablona-page-odkaz-pre-blizkych .ad-btn-primary,
html[data-theme="dark"] .ad-sablona-page-testament-nahlad .ad-btn-primary { color: #1b1832; }

/* --- SPOMIENKOVÉ MAPY + SPOMIENKY (sépiová) --- */
.ad-sablona-page-spomienkove-mapy .ad-hero,
.ad-sablona-page-spomienky .ad-hero,
.ad-sablona-page-spomienky .ad-hero-compact {
  background: linear-gradient(155deg, rgba(161,116,59,0.16) 0%, var(--surface-1) 70%) !important;
  border-bottom: 0.5px solid rgba(161,116,59,0.35);
}
.ad-sablona-page-spomienkove-mapy .ad-hero-eyebrow,
.ad-sablona-page-spomienky .ad-hero-eyebrow { color: var(--spom-text); }
.ad-sablona-page-spomienkove-mapy .ad-btn-primary,
.ad-sablona-page-spomienky .ad-btn-primary {
  background: var(--spom-akcent); border-color: var(--spom-akcent); color: #fbf5ec;
}
.ad-sablona-page-spomienkove-mapy .ad-btn-primary:hover,
.ad-sablona-page-spomienky .ad-btn-primary:hover { background: #b28348; border-color: #b28348; }

/* --- ŽIVOTNÉ PRÍBEHY (smaragdová zelená) --- */
:root {
  --prib-akcent: #1e8a5e;
  --prib-text: #186b4a;
}
html[data-theme="dark"] {
  --prib-text: #5cc79a;
}
.ad-sablona-page-pribehy .ad-hero-compact {
  background: linear-gradient(155deg, rgba(30,138,94,0.16) 0%, var(--surface-1) 70%) !important;
  border-bottom: 0.5px solid rgba(30,138,94,0.35);
}
.ad-sablona-page-pribehy .ad-hero-eyebrow { color: var(--prib-text); }
.ad-sablona-page-pribehy .ad-btn-primary {
  background: var(--prib-akcent); border-color: var(--prib-akcent); color: #eefcf5;
}
.ad-sablona-page-pribehy .ad-btn-primary:hover { background: #24a06e; border-color: #24a06e; }
.ad-sablona-page-pribehy .ad-pribeh-card { border-color: rgba(30,138,94,0.38); }
.ad-sablona-page-pribehy .ad-pribeh-card:hover { border-color: rgba(30,138,94,0.7); }
.ad-sablona-page-pribehy .ad-pribeh-card .ad-tl-type { color: var(--prib-text); }

/* ============================================================
   HERO VIDEO – bez prebliku fotky
   Video štartuje neviditeľné na tmavom pozadí a plynulo sa
   objaví, až keď má načítanú prvú snímku (trieda z main.js).
   ============================================================ */
.ad-hero-cover-video {
  background: #0d0d10; /* tma pod videom počas načítavania */
  opacity: 0;
  transition: opacity 0.7s ease;
}
.ad-hero-cover-video.ad-video-ready {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .ad-hero-cover-video { transition: none; }
}

.ad-znak-list  { background: #4f9160; }
.ad-znak-zlaty { background: #d3aa3c; }
.ad-znak-kvet  { background: #e8c8d8; }
.ad-znak-kruh  { background: transparent; border: 2px solid #785f3e; }

.ad-znak-koren { background: #7a6040; }
.ad-znak-jesen { background: #a3702e; }

.ad-znak-koren { background: #5c4830; }
.ad-znak-suchy { background: #a4763a; }


 /* ...okrem tlačidiel */


/* Prepínač jazykov v pätičke (rozbaľovacie pole) */
.ad-jazyk-select {
  background: var(--surface-2); color: var(--text-secondary);
  border: 0.5px solid var(--border); border-radius: 8px;
  padding: 5px 10px; font-size: 0.75rem; cursor: pointer;
}
.ad-jazyk-select:hover { border-color: var(--border-strong); color: var(--text-primary); }

/* ============================================================
   KNIHA ŽIVOTA – papier v noci
   ============================================================ */
.ad-kniha-stranka { background: #0b0e17; }
.ad-kniha-obal {
  position: relative;
  max-width: 800px; margin: 0 auto;
  padding: clamp(1.25rem, 4vw, 3rem) 1rem 2.5rem;
}

/* ============================================================
   ČÍTANIE NA CELEJ OBRAZOVKE
   Kniha vyplní displej, ostane len listovanie a ovládanie.
   ============================================================ */
body.ad-kniha-fs { overflow: hidden; }
body.ad-kniha-fs .ad-header,
body.ad-kniha-fs .ad-izby-pas,
body.ad-kniha-fs .ad-kniha-vyhladavac,
body.ad-kniha-fs .ad-kniha-hint,
body.ad-kniha-fs footer { display: none !important; }
body.ad-kniha-fs .ad-kniha-stranka { padding: 0; }
body.ad-kniha-fs .ad-kniha-obal {
  position: fixed; inset: 0; z-index: 400;
  max-width: none; margin: 0;
  padding: max(10px, env(safe-area-inset-top)) 12px calc(8px + env(safe-area-inset-bottom, 0px));
  background: #0d0f1c;
  display: flex; flex-direction: column;
}
body.ad-kniha-fs .ad-kniha {
  flex: 1 1 auto;
  height: auto; min-height: 0; max-height: none;
}
body.ad-kniha-fs .ad-kniha-ovladanie { flex: 0 0 auto; margin-top: 8px; }
body.ad-kniha-fs .ad-kniha-zavriet { z-index: 401; }
.ad-kniha {
  position: relative;
  height: min(66vh, 680px); min-height: 460px;
  perspective: 1600px;
}
.ad-kniha-strana {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #f4efe3 0%, #ece5d3 60%, #e4dcc7 100%);
  color: #2c261c;
  border-radius: 6px 14px 14px 6px;
  box-shadow:
    0 1px 0 #d8d0ba inset,
    -6px 0 0 -3px #d8cfb6,      /* náznak hrbeta */
    -10px 0 0 -6px #cbc1a4,
    0 18px 50px rgba(0, 0, 0, 0.5);
  padding: clamp(1.75rem, 5vw, 3.5rem) clamp(1.5rem, 6vw, 4rem);
  overflow-y: auto;
  opacity: 0; visibility: hidden;
  transform-origin: left center;
  transition: opacity .4s ease, transform .42s ease, visibility 0s linear .42s;
}
.ad-kniha-strana.aktivna {
  opacity: 1; visibility: visible;
  transform: none;
  transition: opacity .4s ease .08s, transform .42s ease .08s;
  z-index: 2;
}
/* ---------- Listovanie ako v skutočnej knihe ----------
   Dopredu: aktuálny list sa otočí okolo chrbta doľava (backface hidden –
   za 90° prirodzene „padne" na ľavú kôpku) a odkryje ďalšiu stranu, ktorá
   celý čas leží pod ním. Dozadu: list sa z ľavej kôpky priklopí naspäť. */
/* Folio – jemné číslovanie strán v pravom dolnom rohu, ako v knihe.
   Obálka a tiráž číslo nenesú (v knihách sa folio na týchto stranách nepíše). */
.ad-kniha { counter-reset: kniha-folio; }
.ad-kniha-strana { counter-increment: kniha-folio; }
.ad-kniha-strana:not(.ad-kniha-obalka):not(.ad-kniha-tiraz)::before {
  content: counter(kniha-folio);
  position: absolute; right: 16px; bottom: 10px;
  font-family: var(--font-serif); font-size: 12px;
  color: rgba(90, 78, 52, 0.55);
  font-variant-numeric: oldstyle-nums;
  pointer-events: none;
}

.ad-kniha-strana.list-podklad {
  opacity: 1; visibility: visible; transform: none;
  transition: none; z-index: 1;
}
.ad-kniha-strana.list-tam,
.ad-kniha-strana.list-spat {
  opacity: 1; visibility: visible; z-index: 3;
  transform-origin: left center;
  backface-visibility: hidden;
  transition: none;
  will-change: transform;
}
.ad-kniha-strana.list-tam  { animation: ad-list-tam  0.62s cubic-bezier(0.32, 0.06, 0.35, 1) forwards; }
.ad-kniha-strana.list-spat { animation: ad-list-spat 0.62s cubic-bezier(0.32, 0.06, 0.35, 1) forwards; }
@keyframes ad-list-tam  { from { transform: rotateY(0); }        to { transform: rotateY(-124deg); } }
@keyframes ad-list-spat { from { transform: rotateY(-124deg); }  to { transform: rotateY(0); } }

/* Tieň v ohybe listu – silnie, keď sa list dvíha */
.ad-kniha-strana.list-tam::after,
.ad-kniha-strana.list-spat::after {
  content: ''; position: absolute; inset: 0; border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(100deg, rgba(44, 33, 14, 0.32), rgba(44, 33, 14, 0.05) 45%, transparent 70%);
}
.ad-kniha-strana.list-tam::after  { animation: ad-list-tien-tam  0.62s ease forwards; }
.ad-kniha-strana.list-spat::after { animation: ad-list-tien-spat 0.62s ease forwards; }
@keyframes ad-list-tien-tam  { from { opacity: 0; } to { opacity: 1; } }
@keyframes ad-list-tien-spat { from { opacity: 1; } to { opacity: 0; } }

/* Mäkký tieň otáčaného listu dopadajúci na stranu pod ním */
.ad-kniha-strana.list-podklad::after {
  content: ''; position: absolute; inset: 0; border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(100deg, rgba(0, 0, 0, 0.22), transparent 55%);
  animation: ad-list-dopad 0.62s ease forwards;
}
@keyframes ad-list-dopad { from { opacity: 1; } to { opacity: 0; } }

/* Obálka a tiráž */
.ad-kniha-obalka, .ad-kniha-tiraz {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center;
  /* nočná obloha ako v logu – hlboká modrá s jemným zlatým nádychom zhora */
  background:
    radial-gradient(ellipse at 50% 0%, rgba(217, 179, 86, 0.10) 0%, rgba(217, 179, 86, 0) 55%),
    linear-gradient(165deg, #262c47 0%, #1C2136 50%, #12162a 100%);
  color: #f0e6cf;
}
/* zlatý vtlačený rám ako na väzbe */
.ad-kniha-obalka::before, .ad-kniha-tiraz::before {
  content: '';
  position: absolute; inset: 18px;
  border: 1px solid rgba(217, 179, 86, 0.55);
  border-radius: 4px 10px 10px 4px;
  box-shadow: 0 0 0 3px rgba(217, 179, 86, 0.12), inset 0 0 0 1px rgba(0, 0, 0, 0.25);
  pointer-events: none;
}
/* Galaxia duší – obálka z celej grafiky (vlastný rám aj hrbet sú v obraze) */
.ad-kniha-obalka-grafika {
  justify-content: flex-end;
  padding-bottom: 5.5rem;
  background: url('assets/images/kniha-obalka.jpg') top center / cover no-repeat, #12162a;
}
.ad-kniha-obalka-grafika::before { display: none; } /* rám nesie grafika */
.ad-kniha-obalka-grafika .ad-kniha-obalka-eyebrow { color: rgba(240, 220, 170, 0.75); text-shadow: 0 1px 8px rgba(0, 0, 0, 0.8); }
.ad-kniha-obalka-grafika .ad-kniha-titul { text-shadow: 0 2px 14px rgba(0, 0, 0, 0.85), 0 1px 3px rgba(0, 0, 0, 0.9); }
.ad-kniha-obalka-grafika .ad-kniha-autor { text-shadow: 0 1px 10px rgba(0, 0, 0, 0.85); }
.ad-kniha-obalka-grafika .ad-kniha-obalka-spodok { color: rgba(235, 228, 208, 0.65); text-shadow: 0 1px 8px rgba(0, 0, 0, 0.8); }
.ad-kniha-obalka-ornament { font-size: 1.375rem; color: #d9b356; margin-bottom: 1rem; }
.ad-kniha-obalka-eyebrow {
  font-size: 0.75rem; letter-spacing: 0.28em; text-transform: uppercase;
  color: rgba(235, 228, 208, 0.6); margin-bottom: 1.25rem;
}
.ad-kniha-titul {
  font-family: var(--font-serif); font-weight: 400;
  font-size: clamp(34px, 5vw, 52px); color: #f5ecd6; margin: 0 0 1rem;
  text-shadow: 0 1px 0 rgba(0,0,0,0.4);
}
.ad-kniha-autor { font-family: var(--font-serif); font-style: italic; font-size: 1.1875rem; color: #e3c98f; }
.ad-kniha-kod { font-family: var(--font-mono, monospace); font-style: normal; font-size: 0.9375rem; letter-spacing: 0.1em; }
.ad-kniha-obalka-spodok { position: absolute; bottom: 2rem; font-size: 0.75rem; color: rgba(235,228,208,0.5); }
.ad-kniha-tiraz-text { font-family: var(--font-serif); font-style: italic; font-size: 1.375rem; color: #f3edda; margin-bottom: 6px; }
.ad-kniha-tiraz-sub { font-size: 0.8125rem; color: rgba(235,228,208,0.6); }

/* Obsah */
.ad-kniha-kap-eyebrow { font-size: 0.75rem; letter-spacing: 0.24em; text-transform: uppercase; color: #8a7c5c; margin-bottom: 1.25rem; }
.ad-kniha-obsah { list-style: none; margin: 0; padding: 0; }
.ad-kniha-obsah li + li { border-top: 1px dotted #cbbfa0; }
.ad-kniha-obsah-odkaz {
  display: flex; align-items: center; gap: 12px; width: 100%;
  background: none; border: none; padding: 13px 4px; cursor: pointer;
  font-family: var(--font-serif); font-size: 1.125rem; color: #33291a; text-align: left;
}
.ad-kniha-obsah-odkaz i { color: #9b8757; font-size: 1.0625rem; }
.ad-kniha-obsah-odkaz em { margin-left: auto; font-style: normal; font-size: 0.8125rem; color: #8a7c5c; }
.ad-kniha-obsah-odkaz:hover span { text-decoration: underline; }
.ad-kniha-obsah-pocet { margin-top: 1.5rem; font-size: 0.7812rem; color: #8a7c5c; font-style: italic; }

/* Kapitola */
.ad-kniha-kapitola {
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
}
.ad-kniha-kap-ikona { font-size: 1.875rem; color: #9b8757; margin-bottom: 1rem; }
.ad-kniha-kap-nazov { font-family: var(--font-serif); font-weight: 400; font-size: clamp(28px, 4vw, 38px); color: #2f2717; margin: 0 0 0.6rem; }
.ad-kniha-kap-pocet { font-size: 0.8125rem; color: #8a7c5c; }

/* Záznam */
.ad-kniha-zaznam-meta { font-size: 0.7188rem; letter-spacing: 0.08em; text-transform: uppercase; color: #8a7c5c; margin-bottom: 0.75rem; }
.ad-kniha-zaznam-titul { font-family: var(--font-serif); font-weight: 400; font-size: clamp(22px, 3vw, 30px); color: #2c2314; margin: 0 0 1.1rem; }
.ad-kniha-zaznam-text { font-family: var(--font-serif); font-size: 1.0312rem; line-height: 1.85; color: #3a3222; }
.ad-kniha-zaznam-text p { margin-bottom: 1em; }
.ad-kniha-zaznam-text p:first-of-type::first-letter {
  font-size: 2.6em; float: left; line-height: 0.85;
  padding: 4px 8px 0 0; color: #6d5a33; font-family: var(--font-serif);
}
.ad-kniha-riesenie {
  margin-top: 1.5rem; padding: 1rem 1.25rem;
  border-left: 3px solid #9b8757; background: rgba(155, 135, 87, 0.09);
  font-size: 0.9062rem; line-height: 1.7; color: #4a3f28;
}
.ad-kniha-riesenie-nadpis { font-size: 0.75rem; letter-spacing: 0.16em; text-transform: uppercase; color: #8a7c5c; margin-bottom: 6px; }
.ad-kniha-strana .ad-audio-priloha audio { filter: sepia(0.3); }
.ad-kniha-prazdna { text-align: center; padding-top: 22vh; font-family: var(--font-serif); font-style: italic; font-size: 1.1875rem; color: #5c5138; }
.ad-kniha-prazdna a { margin-top: 1.25rem; display: inline-flex; }

/* Ovládanie */
.ad-kniha-ovladanie { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 1.25rem; }
.ad-kniha-sipka {
  width: 40px; height: 40px; border-radius: 50%;
  border: 0.5px solid var(--border); background: var(--surface-2);
  color: var(--text-primary); font-size: 1.0625rem; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
}
.ad-kniha-sipka:hover:not(:disabled) { border-color: var(--border-strong); }
.ad-kniha-sipka:disabled { opacity: 0.35; cursor: default; }
.ad-kniha-pocitadlo { font-size: 0.8125rem; color: var(--text-muted); min-width: 64px; text-align: center; font-variant-numeric: tabular-nums; }
.ad-kniha-hint { text-align: center; font-size: 0.7188rem; color: var(--text-muted); margin-top: 8px; }

@media (prefers-reduced-motion: reduce) {
  .ad-kniha-strana { transition: opacity .2s ease; transform: none !important; }
}

/* Tlač / PDF: všetky strany za sebou, jedna strana = jeden list */
@media print {
  body * { visibility: hidden; }
  .ad-kniha, .ad-kniha * { visibility: visible; }
  .ad-kniha { height: auto !important; perspective: none; }
  .ad-kniha-strana {
    position: relative !important; inset: auto !important;
    opacity: 1 !important; visibility: visible !important; transform: none !important;
    box-shadow: none; border: 1px solid #ddd; border-radius: 0;
    page-break-after: always; overflow: visible; height: auto; min-height: 90vh;
  }
  .ad-kniha-ovladanie, .ad-kniha-hint { display: none !important; }
}


/* Zavretie knihy */
.ad-kniha-obal { position: relative; }
.ad-kniha-zavriet {
  position: absolute; top: clamp(0.5rem, 2vw, 1.5rem); right: 1rem; z-index: 5;
  width: 38px; height: 38px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--surface-2); border: 0.5px solid var(--border);
  color: var(--text-primary); font-size: 1rem; text-decoration: none;
}
.ad-kniha-zavriet:hover { border-color: var(--border-strong); }
@media print { .ad-kniha-zavriet { display: none !important; } }


/* ============================================================
   PROFIL – STRED HLAVIČKY: pokrytie života + dnes v kronike
   ============================================================ */
.ad-profile-stred { display: flex; flex-direction: column; gap: 12px; justify-content: center; min-height: 120px; }
.ad-pokrytie-title { font-size: 0.8125rem; font-weight: 600; color: var(--text-primary); margin-bottom: 8px; }
.ad-pokrytie-pas { display: flex; gap: 2px; flex-wrap: wrap; max-width: 560px; }
.ad-pokrytie-rok {
  width: 9px; height: 14px; border-radius: 2.5px;
  background: var(--surface-2); border: 0.5px solid var(--border);
}
.ad-pokrytie-rok.je-pokryty {
  background: var(--success-text); border-color: var(--success-text); opacity: 0.85;
}
.ad-pokrytie-sub { font-size: 0.7188rem; color: var(--text-muted); margin-top: 7px; }

.ad-dnes { display: flex; flex-direction: column; gap: 3px; }
.ad-dnes-riadok { display: inline-flex; align-items: center; gap: 6px; font-size: 0.7812rem; color: var(--text-secondary); }
.ad-dnes-riadok i { color: var(--accent-text); font-size: 0.875rem; }
.ad-dnes-memento { font-family: var(--font-serif); font-style: italic; font-size: 0.7812rem; color: var(--text-muted); }

/* Poklady kroniky – tichý riadok odkazov pod štatistikami */
.ad-poklady {
  display: flex; flex-wrap: wrap; gap: 6px 20px;
  margin-top: 14px;
  padding: 12px 1.5rem 14px;
  border-top: 0.5px solid var(--border);
  font-size: 0.75rem;
}
.ad-poklady a {
  display: inline-flex; align-items: center; gap: 5px;
  color: var(--text-muted); text-decoration: none;
}
.ad-poklady a i { font-size: 0.8438rem; }
.ad-poklady a:hover { color: var(--accent-text); }


/* Otázka pre tvoju kroniku + V tento deň (pravý stĺpec profilu) */
.ad-otazka-dna, .ad-vtd { margin-top: 14px; padding-top: 14px; border-top: 0.5px solid var(--border); }
.ad-otazka-dna-eyebrow {
  display: flex; align-items: center; gap: 6px;
  font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.09em;
  color: var(--text-muted); font-weight: 600; margin-bottom: 7px;
}
.ad-otazka-dna-eyebrow i { font-size: 0.8125rem; color: var(--accent-text); }
.ad-otazka-dna-text {
  font-family: var(--font-serif); font-size: 0.9688rem; line-height: 1.5;
  color: var(--text-primary); margin-bottom: 10px;
}
.ad-vtd-odkaz {
  font-family: var(--font-serif); font-size: 0.9062rem; color: var(--text-primary);
  text-decoration: none; line-height: 1.45; display: block;
}
.ad-vtd-odkaz:hover { color: var(--accent-text); }
.ad-vtd-meta { font-size: 0.75rem; color: var(--text-muted); margin-top: 4px; }


/* ============================================================
   ROZHOVOR S KRONIKOU
   ============================================================ */
.ad-rozhovor-progres { font-size: 0.8125rem; color: var(--accent-text); margin-top: 8px; }
.ad-rozhovor { max-width: 860px; margin: 0 auto; padding: 1.5rem 1rem 3.5rem; }
.ad-rozhovor-kapitola {
  background: var(--surface-1); border: 0.5px solid var(--border);
  border-radius: var(--radius-card); padding: 1.25rem 1.25rem 0.75rem;
  margin-bottom: 1rem;
}
.ad-rozhovor-kap-hlava { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 0.75rem; }
.ad-rozhovor-kap-hlava > i { font-size: 1.375rem; color: var(--accent-text); margin-top: 2px; }
.ad-rozhovor-kap-nazov { font-family: var(--font-serif); font-weight: 400; font-size: 1.3125rem; margin: 0 0 2px; color: var(--text-primary); }
.ad-rozhovor-kap-popis { font-size: 0.7812rem; color: var(--text-muted); margin: 0; }
.ad-rozhovor-kap-progres { margin-left: auto; font-size: 0.75rem; color: var(--text-muted); font-variant-numeric: tabular-nums; white-space: nowrap; padding-top: 4px; }
.ad-rozhovor-otazky { list-style: none; margin: 0; padding: 0; }
.ad-rozhovor-otazka {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 2px; border-top: 0.5px solid var(--border);
}
.ad-rozhovor-znak { flex: 0 0 auto; width: 22px; text-align: center; color: var(--text-muted); font-size: 0.9375rem; }
.ad-rozhovor-otazka.je-hotova .ad-rozhovor-znak { color: var(--success-text); }
.ad-rozhovor-otazka.je-hotova .ad-rozhovor-text { color: var(--text-muted); }
.ad-rozhovor-text { flex: 1; font-size: 0.875rem; line-height: 1.5; color: var(--text-primary); }
.ad-rozhovor-otazka .ad-btn { flex: 0 0 auto; }
@media (max-width: 640px) {
  .ad-rozhovor-otazka { flex-wrap: wrap; }
  .ad-rozhovor-otazka .ad-btn { margin-left: 32px; }
}


/* ============================================================
   ZRKADLO v2 – detailná podobnosť
   ============================================================ */
.ad-zrkadlo { max-width: 760px; margin: 0 auto; padding: 1.5rem 1rem 3.5rem; }
.ad-zrk-panel {
  background: var(--surface-1); border: 0.5px solid var(--border);
  border-radius: var(--radius-card); padding: 1.25rem 1.4rem;
  margin-bottom: 1rem;
}
.ad-zrk-nadpis {
  display: flex; align-items: center; gap: 9px;
  font-family: var(--font-serif); font-weight: 400; font-size: 1.25rem;
  color: var(--text-primary); margin: 0 0 6px;
}
.ad-zrk-nadpis i { color: var(--accent-text); font-size: 1.1875rem; }
.ad-zrk-popis { font-size: 0.7812rem; color: var(--text-muted); margin: 0 0 14px; }
.ad-zrk-tema { padding: 10px 0 12px; border-top: 0.5px solid var(--border); }
.ad-zrk-tema:first-of-type { border-top: none; }
.ad-zrk-tema-riadok { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.ad-zrk-tema-nazov { font-size: 0.875rem; font-weight: 600; color: var(--text-primary); }
.ad-zrk-stitok {
  font-style: normal; font-weight: 600; font-size: 0.75rem;
  text-transform: uppercase; letter-spacing: 0.07em;
  color: var(--warning-text); background: var(--warning-bg);
  border-radius: 999px; padding: 2px 8px; margin-left: 8px;
  vertical-align: 1px; white-space: nowrap;
}
.ad-zrk-tema-pct { font-size: 0.8125rem; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.ad-zrk-tema-detail { font-size: 0.75rem; color: var(--text-secondary); margin-top: 6px; line-height: 1.5; }
.ad-zrk-zhody { list-style: none; margin: 0; padding: 0; }
.ad-zrk-zhody li {
  display: flex; align-items: baseline; gap: 9px;
  padding: 8px 0; border-top: 0.5px solid var(--border);
  font-size: 0.8438rem; color: var(--text-primary);
}
.ad-zrk-zhody li:first-child { border-top: none; }
.ad-zrk-zhody li i { color: var(--accent-text); font-size: 0.875rem; flex: 0 0 auto; transform: translateY(1px); }
.ad-zrk-zhody li span { flex: 1; }
.ad-zrk-zhody li em { font-style: normal; font-size: 0.75rem; color: var(--success-text); white-space: nowrap; }
.ad-zrk-bezne, .ad-zrk-unikat { font-size: 0.75rem; color: var(--text-muted); margin-top: 12px; line-height: 1.6; }
.ad-zrk-unikat { font-style: italic; }
.ad-zrk-pata { text-align: center; font-size: 0.7188rem; color: var(--text-muted); margin-top: 4px; }


/* ============================================================
   MANIFEST – tichá stránka so slovami projektu
   ============================================================ */
.ad-manifest-hero { max-width: 680px; margin: 0 auto; text-align: center; padding: 3.5rem 1.5rem 1rem; }
.ad-manifest-titul {
  font-family: var(--font-serif); font-weight: 400;
  font-size: clamp(30px, 4.5vw, 44px); color: var(--text-primary);
  margin: 0.6rem 0 1.1rem;
}
.ad-manifest-uvod {
  font-family: var(--font-serif); font-size: 1.0625rem; line-height: 1.8;
  color: var(--text-secondary);
}
.ad-manifest-telo { max-width: 640px; margin: 0 auto; padding: 1.5rem 1.5rem 4rem; }
.ad-manifest-blok { padding: 1.6rem 0; border-top: 0.5px solid var(--border); }
.ad-manifest-blok:first-child { border-top: none; }
.ad-manifest-blok h2 {
  font-family: var(--font-serif); font-weight: 400; font-size: 1.375rem;
  color: var(--text-primary); margin: 0 0 0.7rem;
}
.ad-manifest-blok p { font-size: 0.9375rem; line-height: 1.85; color: var(--text-secondary); margin: 0; }
.ad-manifest-slub {
  margin-top: 1.5rem; padding: 1.4rem 1.5rem;
  background: var(--surface-1); border: 0.5px solid var(--border);
  border-radius: var(--radius-card);
}
.ad-manifest-slub h2 { font-family: var(--font-serif); font-weight: 400; font-size: 1.25rem; margin: 0 0 0.8rem; color: var(--text-primary); }
.ad-manifest-slub ul { list-style: none; margin: 0; padding: 0; }
.ad-manifest-slub li {
  position: relative; padding: 7px 0 7px 26px;
  font-size: 0.8438rem; line-height: 1.6; color: var(--text-secondary);
}
.ad-manifest-slub li::before {
  content: '✦'; position: absolute; left: 2px; top: 7px;
  color: var(--accent-text); font-size: 0.75rem;
}
.ad-manifest-zaver { text-align: center; padding-top: 2.5rem; }
.ad-manifest-veta {
  font-family: var(--font-serif); font-style: italic;
  font-size: 1.3125rem; color: var(--text-primary); margin-bottom: 1.2rem;
}


/* ============================================================
   TICHÉ GESTÁ – ľudské teplo bez dopamínu
   ============================================================ */
.ad-gesta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 1.25rem; }
.ad-gesto-btn {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 8px 14px; border-radius: 999px;
  background: var(--surface-1); border: 0.5px solid var(--border);
  color: var(--text-secondary); font-size: 0.8125rem; cursor: pointer;
  transition: border-color .15s ease, color .15s ease, transform .15s ease;
}
.ad-gesto-btn i { font-size: 0.9375rem; }
.ad-gesto-btn:hover { border-color: var(--border-strong); color: var(--text-primary); }
.ad-gesto-btn.je-aktivne {
  border-color: var(--accent-text); color: var(--accent-text);
  background: var(--accent-bg);
}
.ad-gesto-pocet { font-style: normal; font-size: 0.75rem; opacity: 0.8; font-variant-numeric: tabular-nums; }
.ad-gesto-pulz { transform: scale(1.06); }
@media (prefers-reduced-motion: reduce) { .ad-gesto-pulz { transform: none; } }

/* Ozvena pre autora: tiché riadky namiesto tlačidiel */
.ad-gesto-echo {
  display: flex; align-items: center; gap: 8px;
  width: 100%;
  font-family: var(--font-serif); font-style: italic;
  font-size: 0.8438rem; color: var(--text-secondary);
  padding: 4px 0;
}
.ad-gesto-echo i { color: var(--accent-text); font-size: 0.9375rem; font-style: normal; }


/* Tichá ozvena gest na profile */
.ad-gesta-ozvena {
  margin-top: 8px;
  font-size: 0.7812rem; line-height: 1.7; color: var(--text-secondary);
}
.ad-ozvena-uvod {
  display: block;
  font-family: var(--font-serif); font-style: italic;
  color: var(--accent-text); margin-bottom: 2px;
}
.ad-ozvena-cast { white-space: nowrap; }
.ad-ozvena-cast i { color: var(--accent-text); font-size: 0.8125rem; vertical-align: -1px; }


/* Titulok profilu v písme hlavičky (Kronika duší) */
.ad-profile-name {
  font-family: var(--font-display);
  letter-spacing: 0.04em;
  font-weight: 500;
}

/* Počet v záložkách (Moje obľúbené, Moje obavy) */
.ad-tag-pocet {
  font-style: normal; font-size: 0.75rem;
  color: var(--text-muted); margin-left: 3px;
  font-variant-numeric: tabular-nums;
}

/* Živá štatistika: tvoja kniha rastie */
.ad-kniha-stat { display: flex; flex-direction: column; gap: 6px; position: relative; }
/* Líniová ikona knihy vpravo hore, jemná zlatá žiara. Text plynie vzdušne. */
.ad-kniha-stat-ikona {
  position: absolute; top: 8px; right: 8px;
  width: 50px; height: 50px; color: var(--gold-primary, #E8B866);
  filter: drop-shadow(0 0 8px rgba(232, 184, 102, 0.32));
  pointer-events: none;
}
.ad-kniha-stat-hlavna { padding-right: 74px; }
.ad-kniha-stat-sub { padding-right: 18px; }
@media (max-width: 380px) {
  .ad-kniha-stat-ikona { width: 44px; height: 44px; }
  .ad-kniha-stat-hlavna { padding-right: 62px; }
}
@media (max-width: 380px) {
  .ad-kniha-stat-kniha { width: 160px; }
  .ad-kniha-stat-hlavna, .ad-kniha-stat-sub, .ad-kniha-stat-zivy { padding-right: 42%; }
}
.ad-kniha-stat-hlavna {
  font-family: var(--font-serif); font-size: 1.1875rem; line-height: 1.4;
  color: var(--text-primary);
}
.ad-kniha-stat-hlavna strong { font-weight: 600; color: var(--accent-text); }
.ad-kniha-stat-sub { font-size: 0.7812rem; color: var(--text-secondary); }
.ad-kniha-stat-zivy {
  display: inline-flex; align-items: baseline; gap: 6px;
  font-size: 0.7812rem; color: var(--text-secondary);
}
.ad-kniha-stat-zivy i { color: var(--accent-text); font-size: 0.8125rem; transform: translateY(1px); }
.ad-kniha-stat-odkaz {
  font-size: 0.75rem; color: var(--accent-text); text-decoration: none; margin-top: 2px;
}
.ad-kniha-stat-odkaz:hover { text-decoration: underline; }


/* Ponuka rozhovoru vo formulári záznamu */
.ad-rozhovor-ponuka {
  display: flex; flex-direction: row; flex-wrap: wrap; align-items: center;
  gap: 4px 12px;
  padding: 12px 15px; margin-bottom: 1rem;
  background: var(--accent-bg);
  border: 0.5px solid var(--accent-border);
  border-radius: var(--radius-card);
  text-decoration: none; color: var(--text-secondary);
  font-size: 0.8125rem; line-height: 1.5;
}
.ad-rozhovor-ponuka-hlava { display: flex; align-items: center; gap: 8px; }
.ad-rozhovor-ponuka-hlava i { font-size: 1.05rem; color: var(--accent-text); }
.ad-rozhovor-ponuka strong { color: var(--text-primary); font-size: 0.875rem; }
.ad-rozhovor-ponuka-hlava { flex: 0 0 100%; }
.ad-rozhovor-ponuka-text { flex: 1 1 0; min-width: 0; width: auto; }
.ad-rozhovor-ponuka em { font-style: normal; color: var(--accent-text); font-weight: 600; white-space: nowrap; flex: 0 0 auto; }
.ad-rozhovor-ponuka:hover { border-color: var(--accent-text); }


/* ============================================================
   TREZOR – polica zdedených kroník
   ============================================================ */
.ad-trezor { max-width: 860px; margin: 0 auto; padding: 1.5rem 1rem 3.5rem; }
.ad-trezor-prazdny {
  text-align: center; padding: 3rem 1.5rem;
  color: var(--text-muted); font-size: 0.875rem; line-height: 1.7;
}
.ad-trezor-prazdny i { font-size: 2.125rem; color: var(--accent-text); display: block; margin-bottom: 0.75rem; }
.ad-trezor-polica {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 16px;
}
.ad-trezor-kniha {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
  min-height: 230px; padding: 1.5rem 1rem; text-align: center;
  text-decoration: none; position: relative;
  border-radius: 5px 12px 12px 5px;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(255, 214, 140, 0.10) 0%, rgba(255, 214, 140, 0) 45%),
    linear-gradient(150deg, #5c4023 0%, #4a3319 45%, #382512 78%, #2b1c0d 100%);
  box-shadow: -5px 0 0 -2px #cbc1a4, 0 10px 26px rgba(0, 0, 0, 0.4);
  transition: transform .18s ease;
}
.ad-trezor-kniha::before {
  content: ''; position: absolute; inset: 12px;
  border: 1px solid rgba(217, 179, 86, 0.5); border-radius: 3px 8px 8px 3px;
  pointer-events: none;
}
.ad-trezor-kniha:hover { transform: translateY(-4px); }
.ad-trezor-ornament { color: #d9b356; font-size: 1rem; }
.ad-trezor-meno {
  font-family: var(--font-serif); font-size: 1.1875rem; color: #f3ecd6; line-height: 1.3;
  text-shadow: 0 1px 0 rgba(0,0,0,0.4);
}
.ad-trezor-meta { font-size: 0.7188rem; color: rgba(240, 230, 207, 0.65); }
.ad-trezor-zapecatene {
  margin-top: 6px; font-size: 0.75rem; color: rgba(240, 230, 207, 0.5);
  display: inline-flex; align-items: center; gap: 4px;
}

/* Akčný pás na stránke odkazu pre blízkych */
.ad-legacy-akcie {
  max-width: 720px; margin: 2rem auto 0; padding: 1.25rem 0 0.5rem;
  border-top: 0.5px solid rgba(255,255,255,0.14);
  display: flex; flex-wrap: wrap; gap: 10px; align-items: center;
}
.ad-legacy-trezor-vyzva {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  font-size: 0.8125rem; line-height: 1.55; color: inherit;
}
.ad-legacy-trezor-vyzva > i { font-size: 1.375rem; }
.ad-legacy-trezor-vyzva strong { display: block; }
.ad-legacy-trezor-odkazy { display: inline-flex; gap: 8px; margin-left: auto; }
@media print { .ad-legacy-akcie { display: none !important; } }

/* Súhlas s putovaním v Mojom testamente */
.ad-putovanie-volba {
  display: flex; gap: 10px; align-items: flex-start;
  padding: 12px 14px; border: 0.5px solid var(--border);
  border-radius: var(--radius-card); background: var(--surface-1);
  font-size: 0.8125rem; line-height: 1.6; color: var(--text-secondary); cursor: pointer;
}
.ad-putovanie-volba input { margin-top: 3px; }
.ad-putovanie-volba strong { display: block; color: var(--text-primary); margin-bottom: 2px; }


/* Reťaz generácií na stránke odkazu */
.ad-legacy-retaz {
  max-width: 720px; margin: 2.5rem auto 0; padding-top: 1.5rem;
  border-top: 0.5px solid rgba(255,255,255,0.14);
}
.ad-legacy-retaz-nadpis {
  display: flex; align-items: center; gap: 9px;
  font-family: var(--font-serif); font-size: 1.25rem; margin-bottom: 4px;
}
.ad-legacy-retaz-popis { font-size: 0.8125rem; opacity: 0.75; margin: 0 0 16px; }
.ad-trezor-polica--mala { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; }
.ad-trezor-polica--mala .ad-trezor-kniha { min-height: 170px; }
.ad-trezor-polica--mala .ad-trezor-meno { font-size: 1rem; }

/* Správa putovania v Mojom testamente */
.ad-trezor-sprava { display: flex; flex-direction: column; gap: 6px; }
.ad-trezor-sprava-riadok {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 13px; border: 0.5px solid var(--border);
  border-radius: var(--radius-card); background: var(--surface-1);
  font-size: 0.8125rem; cursor: pointer;
}
.ad-trezor-sprava-riadok.je-zamknuta { cursor: default; opacity: 0.65; }
.ad-trezor-sprava-riadok.je-zamknuta i { color: var(--text-muted); }
.ad-trezor-sprava-meno { font-weight: 600; color: var(--text-primary); }
.ad-trezor-sprava-meta { margin-left: auto; font-size: 0.7188rem; color: var(--text-muted); text-align: right; }


/* ============================================================
   SIEŇ ŽIVOTOV
   ============================================================ */
.ad-sien-polozka { display: flex; flex-direction: column; gap: 8px; }
.ad-sien-akcie { display: flex; align-items: center; gap: 8px; }
.ad-sien-sviecka {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 7px 12px; border-radius: 999px;
  background: var(--surface-1); border: 0.5px solid var(--border);
  color: var(--text-secondary); font-size: 0.8125rem; cursor: pointer;
  transition: border-color .15s ease, color .15s ease;
}
.ad-sien-sviecka:hover { border-color: var(--border-strong); }
.ad-sien-sviecka.je-aktivna { border-color: var(--warning-text); color: var(--warning-text); background: var(--warning-bg); }
.ad-sien-sviecka em { font-style: normal; font-size: 0.7188rem; font-variant-numeric: tabular-nums; }
.ad-sien-adoptovat { flex: 1; justify-content: center; }

/* Voľba mena v Sieni (Môj testament) */
.ad-sien-meno-volba {
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  margin-top: 8px; padding: 0 4px;
  font-size: 0.8125rem; color: var(--text-secondary);
}
.ad-sien-meno-volba label { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }


/* Podpora pri Priznaniach – tichá záchranná veta */
.ad-priznania-podpora {
  display: flex; gap: 12px; align-items: flex-start;
  margin: 14px 0 18px; padding: 13px 15px;
  background: var(--warning-bg);
  border: 0.5px solid var(--warning-text);
  border-radius: var(--radius-card);
  font-size: 0.7812rem; line-height: 1.65; color: var(--text-secondary);
}
.ad-priznania-podpora > i { font-size: 1.1875rem; color: var(--warning-text); flex: 0 0 auto; margin-top: 1px; }
.ad-priznania-podpora strong { display: block; color: var(--text-primary); font-size: 0.8125rem; margin-bottom: 3px; }
.ad-priznania-podpora p { margin: 0; }


/* Ponuka exportu pri mazaní účtu */
.ad-vymazat-export {
  display: flex; gap: 10px; align-items: flex-start;
  margin-bottom: 12px; padding: 11px 13px;
  background: var(--surface-2); border: 0.5px solid var(--border);
  border-radius: var(--radius-card);
  font-size: 0.75rem; line-height: 1.55; color: var(--text-secondary);
}
.ad-vymazat-export > i { font-size: 1.0625rem; color: var(--accent-text); flex: 0 0 auto; margin-top: 1px; }
.ad-vymazat-export strong { display: block; color: var(--text-primary); font-size: 0.7812rem; margin-bottom: 2px; }
.ad-vymazat-export p { margin: 0 0 8px; }
.ad-vymazat-export-btns { display: flex; gap: 6px; flex-wrap: wrap; }


/* ============================================================
   MOBILNÉ UX PROFILU – Balík 1
   ============================================================ */

/* Karta knihy: celá klikateľná, dedí pôvodný vzhľad */
a.ad-kniha-stat { text-decoration: none; color: inherit; }
a.ad-kniha-stat:hover .ad-kniha-stat-odkaz { text-decoration: underline; }

/* FAB – plávajúce pero (len mobil, len vlastný profil) */
.ad-fab { display: none; }

@media (max-width: 768px) {

  .ad-fab {
    display: inline-flex; align-items: center; justify-content: center;
    position: fixed;
    right: 16px;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    width: 56px; height: 56px; border-radius: 50%;
    background:
      radial-gradient(circle at 30% 24%, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.1) 26%, rgba(255, 255, 255, 0) 46%),
      linear-gradient(155deg, rgba(150, 200, 240, 0.55) 0%, rgba(110, 160, 210, 0.5) 60%, rgba(80, 120, 170, 0.55) 100%);
    -webkit-backdrop-filter: blur(16px) saturate(1.5);
    backdrop-filter: blur(16px) saturate(1.5);
    border: 0.5px solid rgba(255, 255, 255, 0.4);
    color: #fff;
    font-size: 1.5rem; text-decoration: none;
    box-shadow:
      inset 0 1.5px 0 rgba(255, 255, 255, 0.5),
      inset 0 -8px 16px rgba(20, 40, 70, 0.4),
      0 6px 22px rgba(0, 0, 0, 0.4);
    z-index: 150; /* nad obsahom, pod šuplíkom (200) */
    transition: transform .15s ease;
  }
  .ad-fab:active { transform: scale(0.94); }

  /* Karty namiesto čiar: kniha, dnes v kronike, otázka, v tento deň */
  .ad-kniha-stat, .ad-dnes, .ad-otazka-dna, .ad-vtd {
    display: flex; flex-direction: column;
    background: var(--surface-1);
    border: 0.5px solid var(--border);
    border-radius: var(--radius-card);
    padding: 14px 16px;
    margin-top: 10px;
    border-top: 0.5px solid var(--border); /* prebije čiarové oddelenie */
  }
  .ad-kniha-stat { margin-top: 4px; }
  .ad-otazka-dna, .ad-vtd { padding-top: 14px; }

  /* Plné tlačidlo otázky na celú šírku */
  .ad-otazka-dna-btn { width: 100%; justify-content: center; }

  /* Štatistické pilulky: jeden švihací pás */
  .ad-stat-strip {
    display: flex; flex-wrap: nowrap;
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    gap: 8px;
    padding-bottom: 6px;
    scrollbar-width: none;
  }
  .ad-stat-strip::-webkit-scrollbar { display: none; }
  .ad-stat-strip .ad-stat-pill { flex: 0 0 auto; scroll-snap-align: start; white-space: nowrap; }

  /* Poklady kroniky: švihací pás skratiek */
  .ad-poklady {
    flex-wrap: nowrap;
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    gap: 14px;
    scrollbar-width: none;
  }
  .ad-poklady::-webkit-scrollbar { display: none; }
  .ad-poklady a {
    flex: 0 0 auto; scroll-snap-align: start; white-space: nowrap;
    padding: 8px 12px;
    background: var(--surface-1); border: 0.5px solid var(--border);
    border-radius: 999px;
  }

  /* Spodná rezerva, nech FAB neprekrýva poslednú kartu časovej osi */
  .ad-profile-wrap, #ad-main { padding-bottom: 84px; }
}


/* Mobil: veľké meno v hlavičke je už v lište – skryť duplicitu (štítok ostáva) */
@media (max-width: 768px) {
  .ad-profile-name > span { display: none; }
  .ad-profile-name { margin-bottom: 4px; }

  /* Náznak švihu: obsah sa na pravom okraji jemne rozplýva */
  .ad-stat-strip, .ad-poklady {
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 32px), transparent);
            mask-image: linear-gradient(to right, #000 calc(100% - 32px), transparent);
  }
}


/* Veta hrdosti pod mementom */
.ad-dnes-hrdost {
  display: block; margin-top: 6px;
  font-size: 0.75rem; line-height: 1.6;
  color: var(--text-muted);
}


/* ============================================================
   PRÍSTUPNOSŤ – Vlna 1
   ============================================================ */
.ad-skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 500;
  padding: 10px 16px; background: var(--accent-text); color: var(--surface-0);
  border-radius: 0 0 8px 0; font-weight: 600; text-decoration: none;
}
.ad-skip-link:focus { left: 0; }

/* Obrys fokusu len pre klávesnicu – myš a dotyk ho nikdy neuvidia */
:focus-visible {
  outline: 2px solid var(--accent-text);
  outline-offset: 2px;
  border-radius: 4px;
}
:focus:not(:focus-visible) { outline: none; }

.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* Toasty – tiché potvrdenia (ohlasované čítačkám cez aria-live) */
#ad-toasty {
  position: fixed; left: 50%; transform: translateX(-50%);
  bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  z-index: 400;
  display: flex; flex-direction: column; gap: 8px; align-items: center;
  pointer-events: none;
  width: min(480px, calc(100vw - 32px));
}
.ad-toast {
  background: var(--surface-2); color: var(--text-primary);
  border: 0.5px solid var(--border-strong);
  border-radius: 999px;
  padding: 10px 18px;
  font-size: 0.8438rem; line-height: 1.45; text-align: center;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
  opacity: 0; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  max-width: 100%;
}
.ad-toast.je-viditelny { opacity: 1; transform: translateY(0); }
.ad-toast--success { border-color: var(--success-text); }
.ad-toast--error { border-color: #c0564f; }
.ad-toast--info { border-color: var(--accent-text); }
@media (max-width: 768px) {
  #ad-toasty { bottom: calc(86px + env(safe-area-inset-bottom, 0px)); } /* nad FAB */
}


/* ============================================================
   ZDÔVER SA – vstupné haly podľa emócie
   ============================================================ */
.ad-zdoverenie { max-width: 760px; margin: 0 auto; padding: 1.5rem 1rem 3.5rem; }
.ad-zdov-otazka {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--font-serif); font-weight: 400; font-size: 1.5rem;
  color: var(--text-primary); margin: 0 0 1.1rem;
}
.ad-zdov-otazka i { color: var(--accent-text); font-size: 1.375rem; }
.ad-zdov-pokyn { font-size: 0.8125rem; color: var(--text-muted); margin: -0.5rem 0 1.1rem; line-height: 1.6; }
.ad-zdov-spat {
  display: inline-block; margin-bottom: 0.9rem;
  font-size: 0.7812rem; color: var(--text-muted); text-decoration: none;
}
.ad-zdov-spat:hover { color: var(--accent-text); }
.ad-zdov-mriezka {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px;
}
.ad-zdov-karta {
  display: flex; flex-direction: column; gap: 6px;
  padding: 1.1rem 1.15rem;
  background: var(--surface-1); border: 0.5px solid var(--border);
  border-radius: var(--radius-card);
  text-decoration: none; color: var(--text-secondary);
  font-size: 0.7812rem; line-height: 1.5;
  transition: border-color .15s ease, transform .15s ease;
}
.ad-zdov-karta i { font-size: 1.375rem; color: var(--accent-text); }
.ad-zdov-karta strong { color: var(--text-primary); font-size: 0.9375rem; }
.ad-zdov-karta:hover { border-color: var(--accent-text); transform: translateY(-2px); }
.ad-zdov-mriezka--vetvy .ad-zdov-karta { padding: 1rem 1.15rem; }


/* Prečítať nahlas */
.ad-citat-btn {
  display: inline-flex; align-items: center; gap: 7px;
  margin-bottom: 1rem;
  padding: 8px 14px; border-radius: 999px;
  background: var(--surface-1); border: 0.5px solid var(--border);
  color: var(--text-secondary); font-size: 0.8125rem; cursor: pointer;
}
.ad-citat-btn:hover { border-color: var(--border-strong); color: var(--text-primary); }
.ad-citat-btn.je-aktivne { border-color: var(--accent-text); color: var(--accent-text); background: var(--accent-bg); }
@media print { .ad-citat-btn { display: none !important; } }


/* Dnešný deň a dátum pod privítaním */
.ad-profile-dnes-datum {
  font-family: var(--font-mono, monospace);
  font-size: 0.75rem; letter-spacing: 0.06em;
  color: var(--text-muted);
  margin-top: 3px;
}
.ad-profile-dnes-datum::first-letter { text-transform: uppercase; }

/* Popover ochrany v hornej lište */
.ad-lista-titul .ad-profile-warning-popover {
  top: calc(100% + 8px);
  left: 0;
  max-width: min(340px, calc(100vw - 32px));
}
@media (max-width: 768px) {
  /* veľký nadpis mena je na mobile skrytý – pilulka žije v lište */
  .ad-profile-name { display: none; }
}


/* ============================================================
   POVEDZ O NÁS – stránka zdieľania
   ============================================================ */
.ad-povedz-page { padding: 3rem 0 4rem; }
.ad-povedz-hero { text-align: center; margin-bottom: 2.5rem; }
.ad-povedz-ornament { color: #d9b356; font-size: 22px; margin-bottom: 0.75rem; }
.ad-povedz-titul { font-family: var(--font-serif); font-weight: 400; font-size: clamp(30px, 4vw, 42px); margin: 0 0 0.75rem; }
.ad-povedz-uvod { max-width: 560px; margin: 0 auto; color: var(--text-secondary); font-size: 15px; line-height: 1.65; }

.ad-povedz-sekcia {
  background: var(--surface-1); border: 0.5px solid var(--border);
  border-radius: 14px; padding: 1.5rem; margin-bottom: 1.25rem;
}
.ad-povedz-h2 { display: flex; align-items: center; gap: 8px; font-size: 16px; margin: 0 0 4px; }
.ad-povedz-h2 i { color: var(--accent-text); }
.ad-povedz-pop { font-size: 12.5px; margin: 0 0 14px; }

.ad-povedz-odkaz-riadok { display: flex; gap: 8px; flex-wrap: wrap; }
.ad-povedz-odkaz-riadok .ad-input { flex: 1; min-width: 200px; }

.ad-povedz-volby { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 14px; }
.ad-povedz-chipy { display: flex; gap: 6px; flex-wrap: wrap; }
.ad-povedz-chip {
  padding: 5px 13px; border-radius: 999px; font-size: 12.5px; cursor: pointer;
  background: var(--surface-2); border: 0.5px solid var(--border); color: var(--text-secondary);
}
.ad-povedz-chip.is-active { border-color: #d9b356; color: #d9b356; background: rgba(217, 179, 86, 0.08); }

.ad-povedz-nahlad-wrap { margin-bottom: 14px; }
.ad-povedz-canvas {
  width: 100%; max-width: 440px; height: auto; display: block;
  border-radius: 10px; border: 0.5px solid var(--border);
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.35);
}

.ad-povedz-text-karta {
  border: 0.5px solid var(--border); border-radius: 10px;
  padding: 12px 14px; margin-bottom: 10px; background: var(--surface-0);
}
.ad-povedz-text-hlava { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 6px; }
.ad-povedz-text-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); font-weight: 600; }
.ad-povedz-text-obsah { margin: 0; font-size: 13.5px; line-height: 1.6; color: var(--text-secondary); }


/* ============================================================
   ŽIVÝ ROZHOVOR
   ============================================================ */
.ad-zr-page { padding: 2.5rem 0 4rem; }
.ad-zr-vitaj { text-align: center; margin-bottom: 2rem; }
.ad-zr-titul { font-family: var(--font-serif); font-weight: 400; font-size: clamp(28px, 4vw, 40px); margin: 0 0 0.75rem; }
.ad-zr-uvod-text { max-width: 540px; margin: 0 auto 1.25rem; color: var(--text-secondary); font-size: 14.5px; line-height: 1.65; }
.ad-zr-slub {
  display: inline-flex; align-items: flex-start; gap: 8px; text-align: left;
  max-width: 520px; padding: 12px 16px; border-radius: 10px;
  background: rgba(217, 179, 86, 0.07); border: 0.5px solid rgba(217, 179, 86, 0.4);
  color: var(--text-secondary); font-size: 12.5px; line-height: 1.55;
}
.ad-zr-slub i { color: #d9b356; font-size: 17px; flex-shrink: 0; margin-top: 1px; }

.ad-zr-scenare { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; }
.ad-zr-scenar {
  display: flex; flex-direction: column; gap: 6px; text-align: left;
  padding: 18px 16px; border-radius: 14px; cursor: pointer;
  background: var(--surface-1); border: 0.5px solid var(--border);
  color: var(--text-primary);
}
.ad-zr-scenar:hover { border-color: #d9b356; }
.ad-zr-scenar i { font-size: 22px; color: #d9b356; }
.ad-zr-scenar-nazov { font-family: var(--font-serif); font-size: 17px; }
.ad-zr-scenar-popis { font-size: 12.5px; color: var(--text-secondary); line-height: 1.5; }
.ad-zr-scenar-meta { font-size: 11px; color: var(--text-muted); margin-top: 4px; }

.ad-zr-chat {
  display: flex; flex-direction: column; height: min(78vh, 760px);
}
/* Počas rozhovoru: len čet, nič iné – pätička aj rozptýlenie preč */
body.ad-zr-aktivny .ad-footer { display: none !important; }
body.ad-zr-aktivny .ad-zr-page { padding-bottom: 0.75rem; }
@media (max-width: 768px) {
  body.ad-zr-aktivny .ad-zr-page { padding-top: 0.75rem; }
  body.ad-zr-aktivny .ad-zr-chat { height: calc(100dvh - 96px); }
}
.ad-zr-chat {
  background: var(--surface-1); border: 0.5px solid var(--border);
  border-radius: 18px; padding: 14px 16px 16px;
  scroll-margin-top: 68px;
}
.ad-zr-chat-hlava {
  display: flex; justify-content: space-between; align-items: baseline; gap: 10px;
  padding: 2px 2px 12px; border-bottom: 0.5px solid var(--border); margin-bottom: 10px;
}
.ad-zr-chat-nazov { font-family: var(--font-serif); font-size: 17px; }
.ad-zr-chat-ornament { color: #d9b356; font-size: 13px; margin-right: 2px; }
.ad-zr-progres { font-size: 11.5px; color: var(--text-muted); white-space: nowrap; }

.ad-zr-spravy { flex: 1; overflow-y: auto; padding: 10px 2px; display: flex; flex-direction: column; gap: 12px; }
.ad-zr-sprava {
  max-width: 86%; padding: 12px 16px;
  font-size: 14.5px; line-height: 1.65; white-space: pre-wrap; overflow-wrap: break-word;
}
/* Kronika hovorí knižne – serif, teplý list papiera s jantárovou niťou */
.ad-zr-sprava.je-kronika {
  align-self: flex-start;
  font-family: var(--font-serif); font-size: 15.5px;
  background: rgba(217, 179, 86, 0.05);
  border-left: 2px solid rgba(217, 179, 86, 0.55);
  border-radius: 4px 14px 14px 4px;
  color: var(--text-primary);
}
/* Človek odpovedá vlastným hlasom */
.ad-zr-sprava.je-ja {
  align-self: flex-end; background: var(--surface-2);
  border: 0.5px solid var(--border-strong); color: var(--text-primary);
  border-radius: 16px 16px 5px 16px;
}
.ad-zr-pise { display: inline-flex; gap: 5px; padding: 15px 17px; }
.ad-zr-pise span {
  width: 7px; height: 7px; border-radius: 50%; background: var(--text-muted);
  animation: ad-zr-bod 1.2s infinite;
}
.ad-zr-pise span:nth-child(2) { animation-delay: 0.18s; }
.ad-zr-pise span:nth-child(3) { animation-delay: 0.36s; }
@keyframes ad-zr-bod { 0%, 60%, 100% { opacity: 0.3; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }

.ad-zr-vstup { padding-top: 10px; }
.ad-zr-vstup-pomocne { display: flex; gap: 16px; flex-wrap: wrap; margin: 0 6px 8px; }
.ad-zr-link {
  display: inline-flex; align-items: center; gap: 5px;
  background: none; border: none; padding: 0; cursor: pointer;
  font-size: 12px; color: var(--text-muted);
}
.ad-zr-link:hover { color: var(--accent-text); }
.ad-zr-link i { font-size: 13px; }

/* Pole na písanie ako pilulka */
.ad-zr-komposer {
  display: flex; align-items: flex-end; gap: 8px;
  background: var(--surface-2); border: 0.5px solid var(--border-strong);
  border-radius: 26px; padding: 7px 7px 7px 18px;
}
.ad-zr-komposer:focus-within { border-color: #d9b356; }
.ad-zr-komposer textarea {
  flex: 1; background: transparent; border: none; outline: none; resize: none;
  color: var(--text-primary); font-size: 14.5px; line-height: 1.5;
  padding: 8px 0; max-height: 132px; font-family: inherit;
}
.ad-zr-poslat {
  width: 40px; height: 40px; border-radius: 50%; flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  background: #d9b356; border: none; color: #221a0d; font-size: 17px; cursor: pointer;
}
.ad-zr-poslat:hover { background: #e3c072; }

.ad-zr-ulozenie { max-width: 640px; margin: 0 auto; }
.ad-zr-nahlad {
  max-height: 300px; overflow-y: auto; margin: 14px 0 18px;
  padding: 16px 18px; border-radius: 12px;
  background: var(--surface-1); border: 0.5px solid var(--border);
}
.ad-zr-nahlad-q { font-size: 11.5px; color: #d9b356; letter-spacing: 0.03em; margin: 12px 0 5px; }
.ad-zr-nahlad-q:first-child { margin-top: 0; }
.ad-zr-nahlad-a { font-family: var(--font-serif); font-size: 14.5px; line-height: 1.65; color: var(--text-primary); white-space: pre-wrap; }
.ad-zr-pole-label { font-size: 12px; font-weight: 600; color: var(--text-secondary); margin: 14px 0 6px; }
.ad-zr-viditelnost { display: flex; gap: 8px; flex-wrap: wrap; }
.ad-zr-vid {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 14px; border-radius: 999px; font-size: 13px; cursor: pointer;
  background: var(--surface-2); border: 0.5px solid var(--border); color: var(--text-secondary);
}
.ad-zr-vid[data-vid="verejne"].is-active { border-color: var(--success-text); color: var(--success-text); background: var(--success-bg); }
.ad-zr-vid[data-vid="sukromne"].is-active { border-color: var(--accent-border); color: var(--accent-text); background: var(--accent-bg); }
.ad-zr-vid[data-vid="odkaz"].is-active { border-color: var(--pro-text); color: var(--pro-text); background: var(--pro-bg); }
.ad-zr-ulozenie-akcie { margin-top: 18px; }

/* Knižné zobrazenie rozhovorového záznamu */
.ad-zr-zaznam-uvod {
  display: flex; align-items: flex-start; gap: 8px;
  font-size: 12px; color: var(--text-muted); font-style: italic;
  padding-bottom: 14px; margin-bottom: 18px; border-bottom: 0.5px solid var(--border);
}
.ad-zr-zaznam-uvod i { color: #d9b356; font-size: 15px; flex-shrink: 0; margin-top: 1px; }
.ad-zr-zaznam-otazka {
  font-size: 12.5px; color: #d9b356; letter-spacing: 0.02em;
  margin: 22px 0 8px;
}
.ad-zr-zaznam-otazka:first-of-type { margin-top: 0; }
.ad-zr-zaznam-odpoved { font-family: var(--font-serif); font-size: 16.5px; line-height: 1.8; }


/* ============================================================
   MÚDROSŤ KRONIKY
   ============================================================ */
.ad-mudrost-page { padding: 2.5rem 0 4rem; }
/* Múdrosť je vlastný svet – bez pätičky, na celú výšku displeja */
body.page-template-page-mudrost-kroniky .ad-footer { display: none !important; }
body.page-template-page-mudrost-kroniky-php .ad-footer { display: none !important; }
.ad-mudrost-page { min-height: calc(100dvh - 120px); }
@media (max-width: 768px) {
  .ad-mudrost-page { padding: 1rem 0 110px; }
  .ad-mudrost-page .ad-zr-vitaj { margin-bottom: 0.75rem; }
  .ad-mudrost-page .ad-zr-vitaj .ad-zr-uvod-text { font-size: 13.5px; }
  /* Pilulka prikotvená na spodok displeja – vždy na dosah palca */
  .ad-mudrost-komposer {
    position: fixed; left: 12px; right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    z-index: 140; margin: 0;
    box-shadow: 0 8px 26px rgba(0, 0, 0, 0.45);
  }
  .ad-mudrost-vysledky { margin-top: 0.75rem; }
}
.ad-mudrost-komposer { margin-top: 1.5rem; }
.ad-mudrost-vysledky { margin-top: 1.5rem; display: flex; flex-direction: column; gap: 12px; }
.ad-mudrost-stav { color: var(--text-muted); font-size: 13px; font-style: italic; padding: 8px 4px; }
.ad-mudrost-hlavicka {
  font-family: var(--font-serif); font-size: 15.5px; color: var(--text-primary);
  padding: 4px 4px 0;
}
.ad-mudrost-karta {
  display: block; text-decoration: none;
  background: var(--surface-1); border: 0.5px solid var(--border);
  border-left: 2px solid rgba(217, 179, 86, 0.55);
  border-radius: 4px 14px 14px 4px; padding: 14px 16px;
}
.ad-mudrost-karta:hover { border-color: rgba(217, 179, 86, 0.85); }
.ad-mudrost-karta-hlava { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 6px; }
.ad-mudrost-typ {
  font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.07em;
  color: var(--text-muted); font-weight: 600;
}
.ad-mudrost-zvladnute {
  font-size: 10.5px; padding: 2px 9px; border-radius: 999px;
  background: var(--success-bg); color: var(--success-text);
  border: 0.5px solid var(--success-text);
}
.ad-mudrost-karta-titul { font-family: var(--font-serif); font-size: 16.5px; color: var(--text-primary); margin-bottom: 5px; }
.ad-mudrost-karta-uryvok { font-size: 13.5px; color: var(--text-secondary); line-height: 1.6; font-style: italic; }
.ad-mudrost-prazdne { text-align: center; padding: 22px 12px 8px; }
.ad-mudrost-prazdne-titul { font-family: var(--font-serif); font-size: 17px; margin-bottom: 6px; }
.ad-mudrost-cta {
  text-align: center; margin-top: 10px; padding: 16px;
  border-top: 0.5px solid var(--border);
}
.ad-mudrost-cta p { font-size: 12.5px; color: var(--text-muted); font-style: italic; margin: 0 0 10px; }

.ad-mudrost-hlavicka-hlasy { margin-top: 14px; }
.ad-mudrost-hlas {
  background: rgba(217, 179, 86, 0.05);
  border: 0.5px solid rgba(217, 179, 86, 0.35);
  border-radius: 12px; padding: 16px 18px;
}
.ad-mudrost-hlas-text {
  font-family: var(--font-serif); font-size: 15.5px; line-height: 1.7;
  color: var(--text-primary); font-style: italic;
}
.ad-mudrost-hlas-zdroj { margin-top: 8px; font-size: 12px; color: #d9b356; }


/* ============================================================
   RÝCHLE MENU PERA (speed dial) – len mobil, vlastný profil
   ============================================================ */
.ad-fab-menu { display: none; }
.ad-fab-ikona-otvorene { display: none; }

/* Rýchle menu platí na mobile aj počítači */
@media (min-width: 0px) {
  .ad-fab-menu {
    display: flex; flex-direction: column; align-items: center; gap: 8px;
    position: fixed;
    right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    z-index: 150;
  }
  .ad-fab-menu.je-vlavo { right: auto; left: 16px; }
  .ad-fab-menu .ad-fab { position: static; }

  /* Šípka na presun menu na druhú stranu */
  .ad-fab-strana {
    width: 30px; height: 30px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--surface-2); border: 0.5px solid var(--border);
    color: var(--text-muted); font-size: 15px; cursor: pointer; padding: 0;
    opacity: 0.75; transition: opacity .15s ease;
  }
  .ad-fab-strana:active { opacity: 1; }
  .ad-fab-menu.is-open .ad-fab-strana { opacity: 0; pointer-events: none; }
  .ad-fab-strana-doprava { display: none; }
  .ad-fab-menu.je-vlavo .ad-fab-strana-dolava { display: none; }
  .ad-fab-menu.je-vlavo .ad-fab-strana-doprava { display: inline; }

  .ad-fab-menu.is-open .ad-fab-ikona-zatvorene { display: none; }
  .ad-fab-menu.is-open .ad-fab-ikona-otvorene { display: inline; }

  .ad-fab-akcie {
    position: absolute; right: 0; bottom: 68px;
    display: flex; flex-direction: column; align-items: flex-end; gap: 12px;
    pointer-events: none;
  }
  .ad-fab-menu.je-vlavo .ad-fab-akcie { right: auto; left: 0; align-items: flex-start; }
  .ad-fab-menu.je-vlavo .ad-fab-akcia { flex-direction: row-reverse; }
  .ad-fab-akcia {
    display: inline-flex; align-items: center; gap: 10px;
    background: none; border: none; padding: 0; cursor: pointer;
    text-decoration: none;
    opacity: 0; transform: translateY(14px) scale(0.92);
    transition: opacity .18s ease, transform .18s ease;
  }
  .ad-fab-menu.is-open .ad-fab-akcie { pointer-events: auto; }
  .ad-fab-menu.is-open .ad-fab-akcia { opacity: 1; transform: translateY(0) scale(1); }
  .ad-fab-menu.is-open .ad-fab-akcia:nth-last-child(1) { transition-delay: 0s; }
  .ad-fab-menu.is-open .ad-fab-akcia:nth-last-child(2) { transition-delay: .05s; }
  .ad-fab-menu.is-open .ad-fab-akcia:nth-last-child(3) { transition-delay: .1s; }
  .ad-fab-menu.is-open .ad-fab-akcia:nth-last-child(4) { transition-delay: .15s; }

  .ad-fab-kruh {
    position: relative; overflow: hidden;
    width: 48px; height: 48px; border-radius: 50%; flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.25rem; color: #fff;
    -webkit-backdrop-filter: blur(14px) saturate(1.5);
    backdrop-filter: blur(14px) saturate(1.5);
    border: 0.5px solid rgba(255, 255, 255, 0.35);
    box-shadow:
      inset 0 1.5px 0 rgba(255, 255, 255, 0.5),
      inset 0 -6px 12px rgba(0, 0, 0, 0.25),
      0 5px 16px rgba(0, 0, 0, 0.35);
  }
  .ad-fab-kruh::before {
    content: ''; position: absolute; inset: 0; border-radius: 50%;
    background: radial-gradient(ellipse 70% 40% at 50% 10%, rgba(255, 255, 255, 0.45) 0%, rgba(255, 255, 255, 0) 60%);
    pointer-events: none;
  }
  .ad-fab-kruh i { position: relative; z-index: 1; }
  .ad-fab-zaznam  .ad-fab-kruh { background: linear-gradient(145deg, rgba(242,216,148,0.5), rgba(217,168,63,0.55)); }
  .ad-fab-rozhovor .ad-fab-kruh { background: linear-gradient(145deg, rgba(168,205,240,0.5), rgba(109,159,209,0.55)); }
  .ad-fab-mudrost .ad-fab-kruh { background: linear-gradient(145deg, rgba(181,223,165,0.5), rgba(127,184,106,0.55)); }
  .ad-fab-pocit   .ad-fab-kruh { background: linear-gradient(145deg, rgba(201,195,245,0.5), rgba(151,143,221,0.55)); }
  .ad-fab-blok    .ad-fab-kruh { background: linear-gradient(145deg, rgba(240,220,174,0.5), rgba(209,171,94,0.55)); }
  .ad-fab-policka .ad-fab-kruh { background: linear-gradient(145deg, rgba(232,184,200,0.5), rgba(200,135,160,0.55)); }

  .ad-fab-label {
    font-size: 12.5px; font-weight: 700;
    padding: 6px 14px; border-radius: 999px; white-space: nowrap;
    color: #17130d; border: none;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.35);
  }
  .ad-fab-zaznam  .ad-fab-label { background: linear-gradient(135deg, rgba(242,216,148,0.85), rgba(221,176,84,0.85)); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 0.5px solid rgba(255,255,255,0.3); }
  .ad-fab-rozhovor .ad-fab-label { background: linear-gradient(135deg, rgba(168,205,240,0.85), rgba(127,171,217,0.85)); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 0.5px solid rgba(255,255,255,0.3); }
  .ad-fab-mudrost .ad-fab-label { background: linear-gradient(135deg, rgba(181,223,165,0.85), rgba(143,196,124,0.85)); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 0.5px solid rgba(255,255,255,0.3); }
  .ad-fab-pocit   .ad-fab-label { background: linear-gradient(135deg, rgba(201,195,245,0.85), rgba(164,156,228,0.85)); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 0.5px solid rgba(255,255,255,0.3); }
  .ad-fab-blok    .ad-fab-label { background: linear-gradient(135deg, rgba(240,220,174,0.85), rgba(221,186,110,0.85)); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 0.5px solid rgba(255,255,255,0.3); }
  .ad-fab-policka .ad-fab-label { background: linear-gradient(135deg, rgba(232,184,200,0.85), rgba(208,149,173,0.85)); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 0.5px solid rgba(255,255,255,0.3); }

  /* Rýchle menu nechodí tam, kde má stránka vlastný spodný nástroj
     (WP generuje triedu šablóny s príponou -php) */
  body.page-template-page-zivy-rozhovor .ad-fab-menu,
  body.page-template-page-zivy-rozhovor-php .ad-fab-menu,
  body.page-template-page-mudrost-kroniky .ad-fab-menu,
  body.page-template-page-mudrost-kroniky-php .ad-fab-menu,
  body.page-template-page-kniha-zivota .ad-fab-menu,
  body.page-template-page-kniha-zivota-php .ad-fab-menu,
  body.page-template-page-objav-kroniku .ad-fab-menu,
  body.page-template-page-objav-kroniku-php .ad-fab-menu,
  body.page-template-page-zacat .ad-fab-menu,
  body.page-template-page-zacat-php .ad-fab-menu { display: none; }
}


/* Pocitové štítky záznamu – tiché, pod obsahom */
.ad-pocity-zaznamu { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.ad-pocit-stitok {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 11px; border-radius: 999px;
  background: var(--surface-2); border: 0.5px solid var(--border);
  color: var(--text-muted); font-size: 11.5px;
}
.ad-pocit-stitok i { font-size: 12.5px; }


/* Veta pre budúceho čitateľa v karte riešenia */
.ad-odkaz-citatelovi {
  margin-top: 14px; padding: 12px 16px; border-radius: 10px;
  background: rgba(0, 0, 0, 0.18);
  font-family: var(--font-serif); font-style: italic; font-size: 15.5px; line-height: 1.6;
}
.ad-odkaz-citatelovi-eyebrow {
  font-family: var(--font-sans, inherit); font-style: normal;
  font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.08em;
  opacity: 0.75; font-weight: 600; margin-bottom: 5px;
}

/* Tichá pripomienka riešenia (profil) */
.ad-pripomienka { margin-top: 14px; padding-top: 14px; border-top: 0.5px solid var(--border); }
.ad-pripomienka-text { font-size: 13px; color: var(--text-secondary); line-height: 1.55; margin: 0 0 10px; }
.ad-pripomienka-akcie { display: flex; align-items: center; gap: 14px; }


/* ============================================================
   ĽUDIA MÔJHO ŽIVOTA – postavy kroniky
   ============================================================ */
.ad-postavy-page { padding: 2.5rem 0 4rem; }
.ad-postavy-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 16px; margin-top: 1rem;
}
.ad-postava-karta {
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  padding: 18px 10px 16px; border-radius: 14px; text-align: center;
  background: var(--surface-1); border: 0.5px solid var(--border);
  text-decoration: none; color: var(--text-primary); cursor: pointer;
}
.ad-postava-karta:hover { border-color: #d9b356; }
.ad-postava-karta-foto {
  width: 76px; height: 76px; border-radius: 50%; object-fit: cover;
  border: 2px solid rgba(217, 179, 86, 0.55);
}
.ad-postava-inicialy {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--surface-2); color: #d9b356;
  font-family: var(--font-serif); font-size: 24px;
}
.ad-postava-plus { display: inline-flex; align-items: center; justify-content: center; background: var(--surface-2); color: var(--text-muted); font-size: 24px; }
.ad-postava-pridat { border-style: dashed; background: transparent; }
.ad-postava-karta-meno { font-family: var(--font-serif); font-size: 15px; line-height: 1.3; }
.ad-postava-karta-meta { font-size: 11px; color: var(--text-muted); }

.ad-postava-spat { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--text-muted); text-decoration: none; margin-bottom: 1.25rem; }
.ad-postava-spat:hover { color: var(--accent-text); }

.ad-postava-hlava { display: flex; gap: 18px; align-items: flex-start; }
.ad-postava-foto { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(217, 179, 86, 0.55); flex-shrink: 0; font-size: 30px; }
.ad-postava-meno { font-family: var(--font-serif); font-weight: 400; font-size: clamp(26px, 4vw, 36px); margin: 4px 0 4px; }
.ad-postava-meta { font-size: 13px; color: var(--text-muted); }
.ad-postava-slova { font-family: var(--font-serif); font-style: italic; font-size: 15px; color: var(--text-secondary); margin: 10px 0 0; line-height: 1.6; }

.ad-postava-akcie { display: flex; gap: 10px; flex-wrap: wrap; margin: 1.25rem 0 1.75rem; }
.ad-postava-sekcia-nadpis { font-family: var(--font-serif); font-weight: 400; font-size: 20px; margin: 0 0 12px; }
.ad-postava-zaznamy { display: flex; flex-direction: column; gap: 12px; }
.ad-postava-prazdne { padding: 24px 0; }

.ad-postava-form {
  margin-top: 1.75rem; padding: 1.5rem;
  background: var(--surface-1); border: 0.5px solid var(--border); border-radius: 14px;
}
.ad-postava-roky-riadok { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ad-postava-form-akcie { display: flex; align-items: center; gap: 16px; margin-top: 18px; }
.ad-postava-form-sprava { color: var(--danger-text); font-size: 13px; margin-top: 10px; }

.ad-zaznam-postava { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--text-muted); margin-top: 14px; }
.ad-zaznam-postava i { color: #d9b356; }
.ad-zaznam-postava a { color: var(--accent-text); text-decoration: none; }


/* Spätné priradenie záznamov k postave */
.ad-postava-priradit { margin-top: 1.75rem; border-top: 0.5px solid var(--border); padding-top: 1rem; }
.ad-postava-priradit summary {
  cursor: pointer; display: inline-flex; align-items: center; gap: 7px;
  font-size: 13px; color: var(--text-muted); list-style: none;
}
.ad-postava-priradit summary:hover { color: var(--accent-text); }
.ad-postava-priradit-zoznam {
  max-height: 260px; overflow-y: auto; margin-bottom: 12px;
  border: 0.5px solid var(--border); border-radius: 10px; padding: 6px 10px;
}
.ad-postava-priradit-riadok {
  display: flex; align-items: center; gap: 9px;
  padding: 7px 4px; font-size: 13.5px; cursor: pointer;
  border-bottom: 0.5px solid var(--border);
}
.ad-postava-priradit-riadok:last-child { border-bottom: none; }
.ad-postava-priradit-riadok span:first-of-type { flex: 1; }
.ad-postava-priradit-datum { font-size: 11px; color: var(--text-muted); white-space: nowrap; }


/* ============================================================
   OBJAV KRONIKU – interaktívna prehliadka
   ============================================================ */
.ad-objav-page { padding: 2.5rem 0 4rem; }
body.page-template-page-objav-kroniku .ad-footer { display: none !important; }
body.page-template-page-objav-kroniku-php .ad-footer { display: none !important; }

.ad-objav-kapitola {
  background: var(--surface-1); border: 0.5px solid var(--border);
  border-radius: 18px; padding: 2rem 1.75rem;
  text-align: center; min-height: 340px;
  opacity: 0; transform: translateY(8px);
  transition: opacity .22s ease, transform .22s ease;
}
.ad-objav-kapitola.je-vidiet { opacity: 1; transform: translateY(0); }

.ad-objav-ikona {
  width: 64px; height: 64px; border-radius: 50%; margin: 0 auto 12px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(217, 179, 86, 0.09); border: 0.5px solid rgba(217, 179, 86, 0.45);
}
.ad-objav-ikona i { font-size: 28px; color: #d9b356; }
.ad-objav-krok { font-size: 11px; color: var(--text-muted); letter-spacing: 0.08em; margin-bottom: 6px; }
.ad-objav-titul { font-family: var(--font-serif); font-weight: 400; font-size: clamp(22px, 3.5vw, 30px); margin: 0 0 12px; }
.ad-objav-text { font-size: 14.5px; line-height: 1.7; color: var(--text-secondary); max-width: 520px; margin: 0 auto 14px; }
.ad-objav-kde { font-size: 12px; color: #d9b356; margin: 0 0 18px; }

.ad-objav-navigacia {
  display: flex; justify-content: space-between; align-items: center; gap: 10px;
  margin-top: 16px;
}
.ad-objav-bodky { display: flex; gap: 7px; flex-wrap: wrap; justify-content: center; }
.ad-objav-bodka {
  width: 9px; height: 9px; border-radius: 50%; padding: 0; cursor: pointer;
  background: var(--surface-2); border: 0.5px solid var(--border);
}
.ad-objav-bodka.je-aktivna { background: #d9b356; border-color: #d9b356; }

@media (max-width: 600px) {
  .ad-objav-kapitola { padding: 1.5rem 1.15rem; min-height: 380px; }
  .ad-objav-navigacia { flex-wrap: wrap; }
  .ad-objav-bodky { order: -1; width: 100%; margin-bottom: 8px; }
}


/* ============================================================
   RODOKMEŇ
   ============================================================ */
.ad-rodokmen-page { padding: 2.5rem 0 4rem; }
.ad-rodokmen { position: relative; padding: 8px 0; }
.ad-rodokmen-ciary { position: absolute; inset: 0; pointer-events: none; overflow: visible; }
.ad-rodokmen-ciara {
  fill: none; stroke: rgba(217, 179, 86, 0.45); stroke-width: 1.5;
}

.ad-rodokmen-generacia { margin-bottom: 44px; position: relative; }
.ad-rodokmen-generacia:last-child { margin-bottom: 0; }
.ad-rodokmen-generacia-nazov {
  text-align: center; font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--text-muted); font-weight: 600; margin-bottom: 14px;
}
.ad-rodokmen-rad { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; }

.ad-rodokmen-uzol {
  display: flex; flex-direction: column; align-items: center; gap: 5px;
  width: 108px; text-align: center; text-decoration: none; color: var(--text-primary);
  position: relative; z-index: 2;
}
.ad-rodokmen-foto {
  width: 62px; height: 62px; border-radius: 50%; object-fit: cover;
  border: 2px solid rgba(217, 179, 86, 0.55);
  background: var(--surface-1);
  font-size: 20px;
}
.ad-rodokmen-uzol.je-ja .ad-rodokmen-foto {
  border-color: var(--accent-text);
  box-shadow: 0 0 0 3px rgba(133, 183, 235, 0.18);
  color: var(--accent-text);
}
.ad-rodokmen-meno { font-family: var(--font-serif); font-size: 13.5px; line-height: 1.25; }
.ad-rodokmen-meta { font-size: 10.5px; color: var(--text-muted); line-height: 1.3; }
a.ad-rodokmen-uzol:hover .ad-rodokmen-foto { border-color: #d9b356; }

.ad-rodokmen-mimo { margin-top: 40px; border-top: 0.5px solid var(--border); padding-top: 20px; }


/* ============================================================
   SPRIEVODCA KRONIKOU – trvalý manuál
   ============================================================ */
.ad-sprievodca-page { padding: 2.5rem 0 4rem; }
.ad-sprievodca-h2 { font-family: var(--font-serif); font-weight: 400; font-size: 22px; margin: 0 0 16px; text-align: center; }

/* Cesta kroniky */
.ad-cesta { margin: 0 0 2.5rem; }
.ad-cesta-os {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 14px; position: relative;
}
.ad-cesta-krok {
  display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px;
  padding: 16px 10px; border-radius: 14px;
  background: var(--surface-1); border: 0.5px solid var(--border);
}
.ad-cesta-ikona {
  width: 42px; height: 42px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(217, 179, 86, 0.09); border: 0.5px solid rgba(217, 179, 86, 0.45);
}
.ad-cesta-ikona i { font-size: 19px; color: #d9b356; }
.ad-cesta-kedy { font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.09em; color: #d9b356; font-weight: 600; }
.ad-cesta-co { font-size: 12px; color: var(--text-secondary); line-height: 1.5; }

/* Telo: navigácia + kapitoly */
.ad-sprievodca-telo { display: grid; grid-template-columns: 220px 1fr; gap: 28px; align-items: start; }
.ad-sprievodca-nav {
  position: sticky; top: 84px;
  display: flex; flex-direction: column; gap: 2px;
  background: var(--surface-1); border: 0.5px solid var(--border);
  border-radius: 14px; padding: 14px;
  /* 19 kapitol je viac než obrazovka – menu roluje samo v sebe */
  max-height: calc(100vh - 104px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(217, 179, 86, 0.35) transparent;
}
.ad-sprievodca-nav-titul { font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.09em; color: var(--text-muted); font-weight: 600; margin-bottom: 8px; }
.ad-sprievodca-nav a {
  display: flex; align-items: center; gap: 8px;
  padding: 7px 8px; border-radius: 8px;
  font-size: 12.5px; color: var(--text-secondary); text-decoration: none;
}
.ad-sprievodca-nav a i { font-size: 14px; color: #d9b356; }
.ad-sprievodca-nav a:hover { background: var(--surface-2); color: var(--text-primary); }

.ad-sprievodca-kapitola {
  background: var(--surface-1); border: 0.5px solid var(--border);
  border-radius: 16px; padding: 1.5rem 1.6rem; margin-bottom: 1.25rem;
  scroll-margin-top: 84px;
}
.ad-sprievodca-kapitola-titul {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--font-serif); font-weight: 400; font-size: 21px; margin: 0 0 10px;
}
.ad-sprievodca-kapitola-titul i { color: #d9b356; font-size: 20px; }
.ad-sprievodca-co { font-size: 14px; line-height: 1.7; color: var(--text-secondary); margin: 0 0 14px; }
.ad-sprievodca-cast-titul { font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.09em; color: var(--text-muted); font-weight: 600; margin-bottom: 8px; }
.ad-sprievodca-ako { margin: 0 0 14px; padding-left: 1.2rem; }
.ad-sprievodca-ako li { font-size: 13.5px; line-height: 1.65; color: var(--text-primary); margin-bottom: 7px; }

.ad-sprievodca-kedy {
  background: rgba(217, 179, 86, 0.06); border: 0.5px solid rgba(217, 179, 86, 0.4);
  border-radius: 10px; padding: 12px 15px; margin-bottom: 14px;
}
.ad-sprievodca-kedy-titul {
  display: flex; align-items: center; gap: 6px;
  font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em;
  color: #d9b356; font-weight: 600; margin-bottom: 7px;
}
.ad-sprievodca-kedy ul { margin: 0; padding-left: 1.1rem; }
.ad-sprievodca-kedy li { font-size: 13px; line-height: 1.6; color: var(--text-secondary); margin-bottom: 5px; }

.ad-sprievodca-vyrastie {
  font-family: var(--font-serif); font-style: italic; font-size: 14.5px;
  color: var(--text-primary); line-height: 1.6; margin: 0;
}

@media (max-width: 800px) {
  .ad-sprievodca-telo { grid-template-columns: 1fr; }
  /* Na mobile je menu kapitol obyčajný blok v toku stránky. Sticky +
     vnútorný scroll + overscroll contain sú len pre desktop bočný stĺpec –
     na mobile panel vyplní displej a contain zasekne rolovanie stránky. */
  .ad-sprievodca-nav {
    position: static;
    max-height: none;
    overflow-y: visible;
    overscroll-behavior: auto;
  }
  .ad-sprievodca-nav { position: static; flex-direction: row; flex-wrap: wrap; gap: 4px 10px; }
  .ad-sprievodca-nav-titul { width: 100%; }
}


/* Interaktívne ukážky v Sprievodcovi */
.ad-demo {
  margin-top: 18px; padding: 16px;
  border: 1px dashed rgba(217, 179, 86, 0.5); border-radius: 14px;
  background: var(--surface-0);
}
.ad-demo-stitok {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.08em;
  color: #d9b356; font-weight: 600; margin-bottom: 12px;
}
.ad-demo-pop { font-size: 13px; color: var(--text-secondary); margin: 0 0 10px; }
.ad-demo-spravy { max-height: 260px; min-height: 120px; overflow-y: auto; margin-bottom: 10px; }
.ad-demo-komposer { margin: 0; }
.ad-demo-znova { margin-top: 10px; }
.ad-demo-chipy { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 12px; }
.ad-demo-poznamka { font-size: 11.5px; color: var(--text-muted); font-style: italic; margin: 10px 0 0; }

.ad-demo-puto-karta {
  background: rgba(175, 169, 236, 0.05);
  border: 0.5px solid rgba(175, 169, 236, 0.4);
  border-radius: 12px; padding: 15px 17px;
}
.ad-demo-puto-uvod {
  font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--pro-text); font-weight: 600; margin-bottom: 8px;
}
.ad-demo-puto-text {
  font-family: var(--font-serif); font-style: italic;
  font-size: 15px; line-height: 1.7; color: var(--text-primary);
}
.ad-demo-puto-zdroj { margin-top: 8px; font-size: 12px; color: var(--pro-text); }


/* Hviezdny odkaz – prekvapenie pre deti */
.ad-hviezdny-pozadie {
  position: fixed; inset: 0; z-index: 99999;
  background: rgba(10, 8, 5, 0.72);
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
  animation: ad-hviezdny-fade 0.4s ease;
}
@keyframes ad-hviezdny-fade { from { opacity: 0; } to { opacity: 1; } }
.ad-hviezdny-okno {
  max-width: 480px; width: 100%;
  text-align: center;
  padding: 2.25rem 1.75rem 1.75rem;
  border-radius: 16px;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(255, 214, 140, 0.10) 0%, rgba(255, 214, 140, 0) 45%),
    linear-gradient(150deg, #5c4023 0%, #4a3319 45%, #382512 78%, #2b1c0d 100%);
  border: 1px solid rgba(217, 179, 86, 0.6);
  box-shadow: 0 0 0 3px rgba(217, 179, 86, 0.12), 0 24px 60px rgba(0, 0, 0, 0.6);
  animation: ad-hviezdny-okno 0.5s cubic-bezier(0.2, 0.9, 0.3, 1.2);
}
@keyframes ad-hviezdny-okno { from { opacity: 0; transform: scale(0.85) translateY(14px); } to { opacity: 1; transform: scale(1) translateY(0); } }
.ad-hviezdny-ornament { color: #d9b356; font-size: 26px; margin-bottom: 10px; }
.ad-hviezdny-nadpis {
  font-family: var(--font-serif); font-size: 24px; color: #f5ecd6;
  margin-bottom: 14px;
}
.ad-hviezdny-text {
  font-family: var(--font-serif); font-style: italic;
  font-size: 16px; line-height: 1.75; color: #f0e6cf;
  white-space: pre-wrap;
  margin-bottom: 20px;
}


/* Nefinančná podpora – karty */
.ad-podp-nefin {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px; margin-top: 1.5rem;
}
.ad-podp-nefin-karta {
  background: var(--surface-1); border: 0.5px solid var(--border);
  border-radius: 16px; padding: 1.5rem 1.4rem;
  display: flex; flex-direction: column; align-items: flex-start; gap: 10px;
}
.ad-podp-nefin-karta h3 { font-family: var(--font-serif); font-weight: 400; font-size: 18px; margin: 0; }
.ad-podp-nefin-karta p { font-size: 13.5px; line-height: 1.65; color: var(--text-secondary); margin: 0; flex: 1; }
.ad-podp-nefin-hlavna {
  border-color: rgba(217, 179, 86, 0.55);
  background: linear-gradient(160deg, rgba(217, 179, 86, 0.06), var(--surface-1) 60%);
}


/* ============================================================
   PÄTIČKA – jemné gradientové pilulky hlavných odkazov
   ============================================================ */
.ad-fpill {
  display: inline-flex; align-items: center;
  padding: 6px 15px; border-radius: 999px;
  font-size: 13px; text-decoration: none;
  border: 0.5px solid transparent;
  transition: transform .15s ease, filter .15s ease;
}
.ad-fpill:hover { transform: translateY(-1px); filter: brightness(1.15); }

.ad-fpill-magazin {
  background: linear-gradient(135deg, rgba(214, 199, 176, 0.10), rgba(214, 199, 176, 0.03));
  border-color: rgba(214, 199, 176, 0.30);
  color: #d6c7b0 !important;
}
.ad-fpill-mapa {
  background: linear-gradient(135deg, rgba(133, 183, 235, 0.12), rgba(133, 183, 235, 0.03));
  border-color: rgba(133, 183, 235, 0.32);
  color: #a8cdf0 !important;
}
.ad-fpill-strom {
  background: linear-gradient(135deg, rgba(140, 200, 140, 0.12), rgba(140, 200, 140, 0.03));
  border-color: rgba(140, 200, 140, 0.32);
  color: #a9d6a9 !important;
}
.ad-fpill-manifest {
  background: linear-gradient(135deg, rgba(217, 179, 86, 0.14), rgba(217, 179, 86, 0.04));
  border-color: rgba(217, 179, 86, 0.38);
  color: #e3c98f !important;
}
.ad-fpill-povedz {
  background: linear-gradient(135deg, rgba(228, 148, 148, 0.12), rgba(228, 148, 148, 0.03));
  border-color: rgba(228, 148, 148, 0.30);
  color: #e8b0b0 !important;
}
.ad-fpill-sprievodca {
  background: linear-gradient(135deg, rgba(126, 200, 194, 0.12), rgba(126, 200, 194, 0.03));
  border-color: rgba(126, 200, 194, 0.30);
  color: #a5d9d4 !important;
}
.ad-fpill-sien {
  background: linear-gradient(135deg, rgba(175, 169, 236, 0.13), rgba(175, 169, 236, 0.03));
  border-color: rgba(175, 169, 236, 0.32);
  color: #c3bef0 !important;
}


/* Hosťovský rozhovor na skúšku */
.ad-zr-host-poznamka {
  display: flex; align-items: flex-start; gap: 7px;
  font-size: 12.5px; color: var(--text-muted); font-style: italic;
  margin: 10px 0 0; line-height: 1.55;
}
.ad-zr-host-poznamka i { color: #d9b356; flex-shrink: 0; margin-top: 2px; }


/* Hero: pozvánka na skúšobný rozhovor pre hostí */
.ad-hero-skuska {
  display: inline-flex; align-items: center; gap: 8px;
  margin-top: 14px; padding: 9px 18px; border-radius: 999px;
  background: rgba(217, 179, 86, 0.10);
  border: 0.5px solid rgba(217, 179, 86, 0.45);
  color: #e3c98f; font-size: 13.5px; text-decoration: none;
  transition: transform .15s ease, filter .15s ease;
}
.ad-hero-skuska:hover { transform: translateY(-1px); filter: brightness(1.15); }
.ad-hero-skuska i { font-size: 15px; }


/* ============================================================
   404 – táto strana v knihe chýba
   ============================================================ */
.ad-404-page { padding: 4rem 0 5rem; min-height: calc(100dvh - 200px); display: flex; align-items: center; }
.ad-404-obsah { text-align: center; }
.ad-404-cislo {
  font-family: var(--font-serif); font-size: clamp(64px, 14vw, 110px);
  color: rgba(217, 179, 86, 0.35); line-height: 1; margin-bottom: 6px;
}
.ad-404-titul { font-family: var(--font-serif); font-weight: 400; font-size: clamp(24px, 4.5vw, 34px); margin: 0 0 12px; }
.ad-404-text { color: var(--text-secondary); font-size: 15px; line-height: 1.7; margin: 0 0 22px; }
.ad-404-akcie { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.ad-404-veta { margin-top: 26px; font-family: var(--font-serif); font-style: italic; color: var(--text-muted); font-size: 14px; }

/* ============================================================
   PRIVÍTANIE NOVEJ DUŠE
   ============================================================ */
.ad-privitanie-pozadie {
  position: fixed; inset: 0; z-index: 9990;
  background: rgba(10, 8, 5, 0.78);
  display: flex; align-items: center; justify-content: center;
  padding: 18px; overflow-y: auto;
  animation: ad-hviezdny-fade 0.5s ease;
}
.ad-privitanie-okno {
  max-width: 560px; width: 100%;
  padding: 2.25rem 1.9rem 1.6rem;
  border-radius: 18px; text-align: center;
  background:
    radial-gradient(ellipse at 30% 15%, rgba(255, 214, 140, 0.08) 0%, rgba(255, 214, 140, 0) 45%),
    linear-gradient(155deg, #4a3823 0%, #3a2c18 50%, #2b2012 100%);
  border: 1px solid rgba(217, 179, 86, 0.5);
  box-shadow: 0 0 0 3px rgba(217, 179, 86, 0.10), 0 24px 60px rgba(0, 0, 0, 0.55);
  animation: ad-hviezdny-okno 0.55s cubic-bezier(0.2, 0.9, 0.3, 1.15);
  margin: auto;
}
.ad-privitanie-nadpis { font-family: var(--font-serif); font-weight: 400; font-size: 26px; color: #f5ecd6; margin: 0 0 14px; }
.ad-privitanie-text {
  font-size: 14px; line-height: 1.75; color: #ede2c8;
  text-align: left; margin-bottom: 20px;
}
.ad-privitanie-text p { margin: 0 0 12px; }
.ad-privitanie-akcie { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-bottom: 12px; }
.ad-privitanie-zavriet { color: rgba(237, 226, 200, 0.65); }
@media (max-width: 480px) {
  .ad-privitanie-okno { padding: 1.6rem 1.2rem 1.3rem; }
  .ad-privitanie-text { font-size: 13.5px; }
}


/* ============================================================
   MÚDROSŤ – VÝNIMOČNÝ PRIESTOR (zdroj poznania)
   ============================================================ */
body.page-template-page-mudrost-kroniky,
body.page-template-page-mudrost-kroniky-php {
  background:
    radial-gradient(ellipse 90% 55% at 50% -5%, rgba(217, 179, 86, 0.10) 0%, rgba(217, 179, 86, 0.03) 40%, transparent 70%),
    radial-gradient(ellipse 120% 80% at 50% 115%, rgba(0, 0, 0, 0.55) 0%, transparent 60%),
    var(--surface-0);
}

.ad-mudrost-hlava-stranky { position: relative; padding-top: 1.25rem; }

/* Tiché svetlo za ornamentom – pomaly dýcha */
.ad-mudrost-svetlo {
  position: absolute; top: -8px; left: 50%;
  width: 190px; height: 190px; transform: translateX(-50%);
  border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle, rgba(217, 179, 86, 0.16) 0%, rgba(217, 179, 86, 0.05) 45%, transparent 70%);
  animation: ad-mudrost-dych 6s ease-in-out infinite;
}
@keyframes ad-mudrost-dych {
  0%, 100% { opacity: 0.65; transform: translateX(-50%) scale(1); }
  50%      { opacity: 1;    transform: translateX(-50%) scale(1.12); }
}
.ad-mudrost-ornament {
  position: relative; font-size: 30px;
  text-shadow: 0 0 22px rgba(217, 179, 86, 0.55);
}
.ad-mudrost-eyebrow {
  font-size: 11px; letter-spacing: 0.28em; text-transform: uppercase;
  color: #d9b356; font-weight: 600; margin: 8px 0 6px;
}
.ad-mudrost-titul {
  letter-spacing: 0.01em;
  text-shadow: 0 2px 30px rgba(217, 179, 86, 0.12);
}

/* Pilulka ako brána – jemná zlatá aura, silnejšia pri písaní */
.ad-mudrost-komposer {
  box-shadow: 0 0 0 1px rgba(217, 179, 86, 0.22), 0 6px 30px rgba(0, 0, 0, 0.35);
  transition: box-shadow .3s ease;
}
.ad-mudrost-komposer:focus-within {
  box-shadow: 0 0 0 1px rgba(217, 179, 86, 0.55), 0 0 34px rgba(217, 179, 86, 0.16), 0 6px 30px rgba(0, 0, 0, 0.35);
}

/* Výsledky prichádzajú ako nájdené – jemné vynorenie */
@keyframes ad-mudrost-vynorenie {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}
.ad-mudrost-vysledky > * { animation: ad-mudrost-vynorenie .45s ease both; }
.ad-mudrost-vysledky > *:nth-child(2) { animation-delay: .08s; }
.ad-mudrost-vysledky > *:nth-child(3) { animation-delay: .16s; }
.ad-mudrost-vysledky > *:nth-child(4) { animation-delay: .24s; }
.ad-mudrost-vysledky > *:nth-child(5) { animation-delay: .32s; }
.ad-mudrost-vysledky > *:nth-child(6) { animation-delay: .40s; }


/* ============================================================
   ZÁZNAM ŽIVOTA – farebná identita vstupnej brány
   ============================================================ */
body.page-template-page-zacat,
body.page-template-page-zacat-php {
  background:
    radial-gradient(ellipse 90% 50% at 50% -5%, rgba(230, 196, 120, 0.10) 0%, rgba(230, 196, 120, 0.03) 40%, transparent 70%),
    var(--surface-0);
}

.ad-zaznam-badge {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 5px 16px; border-radius: 999px; margin-bottom: 12px;
  background: linear-gradient(135deg, rgba(230, 196, 120, 0.16), rgba(217, 179, 86, 0.07));
  border: 0.5px solid rgba(230, 196, 120, 0.5);
  color: #ecd9a8; font-size: 11.5px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.12em;
}

.ad-zaznam-zdroj {
  margin: 0 0 1.25rem; padding: 14px 18px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(230, 196, 120, 0.08), rgba(230, 196, 120, 0.02) 70%);
  border: 0.5px solid rgba(230, 196, 120, 0.38);
}
.ad-zaznam-zdroj-nadpis {
  display: flex; align-items: center; gap: 7px;
  font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
  color: #e6c478; margin-bottom: 6px;
}
.ad-zaznam-zdroj-nadpis i { color: #e6c478; }
.ad-zaznam-zdroj p { margin: 0; font-size: 13px; line-height: 1.65; color: var(--text-secondary); }

/* Karta formulára nesie zlatú niť – človek vždy vie, že píše život */
.ad-entry-form {
  position: relative;
  /* Nočná karta má vlastné tokeny – je tmavá v oboch režimoch,
     takže texty a vnútorné boxy nesmú dediť zo svetlej témy. */
  --surface-0: #12162a;
  --surface-1: #1a2038;
  --surface-2: #232a45;
  --text-primary: #f5f3ef;
  --text-secondary: #b8bccb;
  --text-muted: #9aa0b5;
  --border: rgba(255, 255, 255, 0.16);
  --border-strong: rgba(255, 255, 255, 0.28);
  --accent-bg: #0c2a45;
  --accent-text: #85B7EB;
  --accent-border: #185FA5;
  --success-bg: #162209;
  --success-text: #97C459;
  --warning-bg: #2a1a04;
  --warning-text: #EF9F27;
  --danger-bg: #2e2308;
  --danger-text: #E8AA3D;
  color: var(--text-primary);
  border: 1.5px solid rgba(217, 179, 86, 0.65) !important;
  background:
    radial-gradient(ellipse 120% 60% at 50% 0%, rgba(217, 179, 86, 0.10) 0%, rgba(217, 179, 86, 0.03) 45%, transparent 75%),
    linear-gradient(165deg, #262c47 0%, #1C2136 55%, #12162a 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(240, 220, 170, 0.14),
    inset 0 -10px 24px rgba(5, 8, 20, 0.45),
    0 10px 40px rgba(0, 0, 0, 0.35);
}
.ad-entry-form::before {
  content: '';
  position: absolute; top: 0; left: 16px; right: 16px; height: 2px;
  border-radius: 0 0 4px 4px;
  background: linear-gradient(90deg, transparent, rgba(245, 224, 170, 0.75), rgba(217, 179, 86, 0.55), transparent);
}
/* polia vo formulári – hlbšia nočná modrá, aby sedeli s kartou */
.ad-entry-form .ad-input,
.ad-entry-form .ad-textarea,
.ad-entry-form select.ad-input {
  background: rgba(9, 12, 26, 0.55);
  border-color: rgba(217, 179, 86, 0.22);
}
.ad-entry-form .ad-input:focus,
.ad-entry-form .ad-textarea:focus {
  border-color: rgba(217, 179, 86, 0.55);
}
.ad-entry-form .ad-entry-col-left { border-right-color: rgba(217, 179, 86, 0.2); }
.ad-entry-form #ad-ef-rec {
  background: rgba(9, 12, 26, 0.45) !important;
  border-color: rgba(217, 179, 86, 0.22) !important;
}


/* ============================================================
   JEDNOTNÉ TLAČIDLO ZÁPISU – šampanská zlatá, pierko, „Zapísať…“
   ============================================================ */
.ad-btn-zapis,
.ad-btn.ad-btn-zapis {
  background:
    radial-gradient(circle at 50% 50%, #43a672 0%, #256b47 55%, #143f2b 100%);
  border: 0.5px solid rgba(18, 74, 48, 0.7);
  border-radius: 999px;
  color: #eafff2 !important;
  font-weight: 700;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    inset 0 -6px 10px rgba(6, 46, 28, 0.35);
}
.ad-btn-zapis:hover,
.ad-btn.ad-btn-zapis:hover {
  background:
    radial-gradient(circle at 50% 50%, #4db584 0%, #2b7a52 55%, #1b5f41 100%);
  color: #eafff2 !important;
  transform: translateY(-1px);
}
.ad-btn-zapis i { color: #cfeedd; }


/* ============================================================
   ZÁPIS NA MOBILE – TRI ZLOŽKY (wizard)
   ============================================================ */
@media (max-width: 768px) {
  /* Krok 1: len slová – skryť mriežku volieb aj pätu */
  .ad-wizard[data-krok="1"] .ad-entry-grid,
  .ad-wizard[data-krok="1"] .ad-entry-footer { display: none; }

  /* Krok 2: zaradenie – skryť slová a pravý stĺpec */
  .ad-wizard[data-krok="2"] > .ad-form-group,
  .ad-wizard[data-krok="2"] #ad-tour-replay,
  .ad-wizard[data-krok="2"] .ad-entry-col-right,
  .ad-wizard[data-krok="2"] .ad-entry-footer { display: none; }

  /* Krok 3: detaily – skryť slová a ľavý stĺpec */
  .ad-wizard[data-krok="3"] > .ad-form-group,
  .ad-wizard[data-krok="3"] #ad-tour-replay,
  .ad-wizard[data-krok="3"] .ad-entry-col-left { display: none; }

  /* Hlava kroku: veľký nadpis + sprievodná veta */
  .ad-wizard-hlava { margin-bottom: 1rem; }
  .ad-wizard-hlava-nazov {
    font-family: var(--font-serif); font-size: 22px; color: var(--text-primary);
  }
  .ad-wizard-hlava-veta {
    font-size: 12.5px; color: var(--text-muted); font-style: italic;
    margin-top: 3px; line-height: 1.5;
  }

  /* Prechody medzi zložkami */
  @keyframes ad-wizard-vpred { from { opacity: 0; transform: translateX(16px); } to { opacity: 1; transform: none; } }
  @keyframes ad-wizard-vzad  { from { opacity: 0; transform: translateX(-16px); } to { opacity: 1; transform: none; } }
  .ad-wizard-dopredu[data-krok="1"] > .ad-form-group,
  .ad-wizard-dopredu .ad-entry-grid,
  .ad-wizard-dopredu .ad-wizard-hlava { animation: ad-wizard-vpred .32s ease both; }
  .ad-wizard-dozadu[data-krok="1"] > .ad-form-group,
  .ad-wizard-dozadu .ad-entry-grid,
  .ad-wizard-dozadu .ad-wizard-hlava { animation: ad-wizard-vzad .32s ease both; }

  /* Navigácia: zlatá postupová linka */
  .ad-wizard-nav {
    margin-top: 1.1rem; padding-top: 0.9rem;
    border-top: 0.5px solid rgba(230, 196, 120, 0.3);
  }
  .ad-wizard-postup {
    height: 4px; border-radius: 999px; overflow: hidden;
    background: rgba(230, 196, 120, 0.15); margin-bottom: 10px;
  }
  .ad-wizard-postup-vypln {
    display: block; height: 100%; width: 33%;
    border-radius: 999px;
    background: linear-gradient(90deg, #f2d894, #d9a83f);
    transition: width .4s cubic-bezier(0.3, 0.8, 0.3, 1);
  }
  .ad-wizard-riadok { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
  .ad-wizard-nazov { font-size: 12px; color: var(--text-muted); letter-spacing: 0.06em; }
  .ad-wizard-tlacidla { display: flex; gap: 8px; }
}


/* Sme v spojení – tiché e-maily */
.ad-spojenie-karta {
  background: var(--surface-1); border: 0.5px solid var(--border);
  border-radius: 12px; padding: 14px; margin-bottom: 1.25rem;
}
.ad-spojenie-text { font-size: 12.5px; line-height: 1.6; color: var(--text-secondary); margin: 0; }
.ad-spojenie-karta select { margin-top: 6px; width: 100%; }


/* ============================================================
   TYP ZÁZNAMU – výber kartami namiesto systémového selectu
   ============================================================ */
.ad-typ-select-skryty { display: none !important; }
.ad-typ-vyber { margin-top: 4px; }
.ad-typ-skupina {
  font-size: 10.5px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  color: #b8964a; margin: 12px 0 7px;
}
.ad-typ-skupina:first-child { margin-top: 0; }
.ad-typ-mriezka { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.ad-typ-chip {
  display: flex; align-items: center; gap: 8px;
  padding: 9px 11px; border-radius: 10px; cursor: pointer;
  background: var(--surface-1); border: 0.5px solid var(--border);
  color: var(--text-secondary); font-size: 12.5px; line-height: 1.3; text-align: left;
  transition: border-color .15s ease, background .15s ease, transform .1s ease;
}
.ad-typ-chip i { font-size: 15px; color: var(--text-muted); flex: 0 0 auto; transition: color .15s ease; }
.ad-typ-chip:active { transform: scale(0.97); }
.ad-typ-chip.je-vybrany {
  background: linear-gradient(135deg, rgba(242, 216, 148, 0.18), rgba(217, 168, 63, 0.08));
  border-color: rgba(230, 196, 120, 0.65);
  color: var(--text-primary); font-weight: 600;
}
.ad-typ-chip.je-vybrany i { color: #e6c478; }
@media (min-width: 769px) {
  .ad-typ-mriezka { grid-template-columns: 1fr 1fr; }
}

/* ============================================================
   SELECTY V ŠATE KRONIKY (zatvorený stav; vnútro kreslí systém)
   ============================================================ */
select.ad-input {
  appearance: none; -webkit-appearance: none;
  color-scheme: dark;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23d9b356' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 13px center;
  padding-right: 34px;
}
select.ad-input:focus {
  border-color: rgba(230, 196, 120, 0.65);
  box-shadow: 0 0 0 2px rgba(230, 196, 120, 0.15);
  outline: none;
}
select.ad-input option { background: #2b2418; color: #f0e8d8; }
html[data-theme="light"] select.ad-input { color-scheme: light; }
html[data-theme="light"] select.ad-input option { background: #fbf7ee; color: #2b2418; }


/* ============================================================
   PROFIL – ŠESŤ IZIEB DOMOVA
   ============================================================ */
.ad-izba-skryta { display: none !important; }

.ad-izby-pas {
  display: flex; gap: 7px; overflow-x: auto;
  padding: 4px 2px 10px; margin: 6px 0 14px;
  scrollbar-width: none;
  border-bottom: 0.5px solid var(--border);
}
.ad-izby-pas::-webkit-scrollbar { display: none; }

.ad-izba-chip {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 8px 14px; border-radius: 999px; cursor: pointer;
  background: var(--surface-1); border: 0.5px solid var(--border);
  color: var(--text-muted); font-size: 12.5px; font-weight: 600;
  white-space: nowrap; flex: 0 0 auto;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.ad-izba-chip i { font-size: 15px; }

/* Stále farby izieb – domov sa nemení */
.ad-izba-chip-dnes.je-aktivna    { background: rgba(217, 179, 86, 0.14);  border-color: rgba(217, 179, 86, 0.55);  color: #e3c98f; }
.ad-izba-chip-kniha.je-aktivna   { background: rgba(230, 196, 120, 0.14); border-color: rgba(230, 196, 120, 0.55); color: #ecd9a8; }
.ad-izba-chip-zaznamy.je-aktivna { background: rgba(133, 183, 235, 0.14); border-color: rgba(133, 183, 235, 0.55); color: #a8cdf0; }
.ad-izba-chip-ludia.je-aktivna   { background: rgba(228, 148, 148, 0.14); border-color: rgba(228, 148, 148, 0.5);  color: #e8b0b0; }
.ad-izba-chip-poklady.je-aktivna { background: rgba(140, 200, 140, 0.14); border-color: rgba(140, 200, 140, 0.5);  color: #a9d6a9; }
.ad-izba-chip-ja.je-aktivna      { background: rgba(175, 169, 236, 0.14); border-color: rgba(175, 169, 236, 0.5);  color: #c3bef0; }

/* Panely izieb Ľudia a Ja */
.ad-izba-panel {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px; margin: 0 0 1.5rem;
}
.ad-izba-karta {
  display: flex; flex-direction: column; gap: 5px; text-align: left;
  padding: 16px; border-radius: 14px; cursor: pointer;
  background: var(--surface-1); border: 0.5px solid var(--border);
  color: var(--text-secondary); text-decoration: none;
  font: inherit; transition: border-color .15s ease, transform .15s ease;
}
.ad-izba-karta:hover { border-color: rgba(217, 179, 86, 0.5); transform: translateY(-1px); }
.ad-izba-karta i { font-size: 20px; color: #d9b356; }
.ad-izba-karta strong { color: var(--text-primary); font-size: 14.5px; }
.ad-izba-karta span { font-size: 12.5px; line-height: 1.55; color: var(--text-muted); }


/* ============================================================
   IZBY NA MOBILE – spodná navigácia pod palcom
   ============================================================ */
@media (max-width: 768px) {
  .ad-izby-pas {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 140;
    margin: 0; padding: 6px 8px calc(6px + env(safe-area-inset-bottom, 0px));
    background: rgba(24, 19, 12, 0.92);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    border-top: 0.5px solid var(--border);
    border-bottom: none;
    gap: 2px; overflow: visible;
  }
  .ad-izba-chip {
    flex: 1 1 0; min-width: 0;
    flex-direction: column; gap: 2px;
    padding: 11px 2px; border-radius: 12px;
    background: transparent; border-color: transparent;
  }
  .ad-izba-chip i { font-size: 27px; }
  .ad-izba-chip span { display: none; } /* na mobile hovoria ikony – texty ostávajú na počítači */
  .ad-izba-chip-desktop { display: none !important; } /* Médiá a Moje nesie na mobile vejár */

  /* obsah a pero nesmú skončiť pod navigáciou */
  body.ad-ma-izby { padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px)); }
  body.ad-ma-izby .ad-fab-menu { bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }
}
html[data-theme="light"] .ad-izby-pas { background: rgba(250, 246, 238, 0.92); }


/* Tichý riadok dňa v izbe Dnes */
.ad-dnes-datum-riadok {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 10px; flex-wrap: wrap;
  font-size: 12.5px; color: var(--text-muted);
  margin: 2px 0 12px;
}
.ad-dnes-datum-riadok span:first-child { text-transform: capitalize; }
.ad-dnes-cest { font-style: italic; }

/* Izby: obsah drží výšku obrazovky – pätička sa neukáže sama */
@media (max-width: 768px) {
  body.ad-ma-izby .ad-profile-page {
    min-height: calc(100dvh - 60px);
  }
}


/* ============================================================
   ZLATÉ PERO V STREDE LIŠTY + doladenie izieb
   ============================================================ */
.ad-izba-pero {
  flex: 0 0 auto; position: relative;
  width: 62px; height: 62px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background:
    radial-gradient(circle at 22% 18%, rgba(217, 179, 86, 0.14) 0%, rgba(217, 179, 86, 0) 46%),
    linear-gradient(150deg, #262c47 0%, #1C2136 55%, #12162a 100%);
  color: #d9b356; font-size: 26px; text-decoration: none;
  border: 1.5px solid rgba(217, 179, 86, 0.75);
  box-shadow:
    inset 0 1px 0 rgba(240, 220, 170, 0.14),
    inset 0 -6px 10px rgba(5, 8, 20, 0.5),
    0 4px 12px rgba(0, 0, 0, 0.32);
  transform: translateY(-18px);
  transition: transform .15s ease, box-shadow .15s ease;
}
.ad-izba-pero > i, .ad-izba-pero > * { position: relative; z-index: 1; }
.ad-izba-pero:active { transform: translateY(-18px) scale(0.95); }
.ad-izba-pero:hover {
  box-shadow:
    inset 0 1px 0 rgba(240, 220, 170, 0.2),
    inset 0 -6px 10px rgba(5, 8, 20, 0.5),
    0 6px 16px rgba(0, 0, 0, 0.4);
}
/* (žiadne sklo ani žiara pod perom – čistá zelená guľa) */
.ad-izba-pero:active { transform: translateY(-16px) scale(0.97); }
button.ad-izba-pero { padding: 0; cursor: pointer; overflow: hidden; }
/* Galaxia duší v guli – pri otvorení vejára sa pootočí o 90°: vedomie sa hýbe */
.ad-pero-obraz {
  position: absolute; inset: 0; border-radius: 50%;
  background: url('assets/images/pero-ikona.png') center / 107% no-repeat;
  transition: transform .5s cubic-bezier(0.34, 1.2, 0.64, 1);
  will-change: transform;
}
.ad-izby-pas.ad-vejar-otvoreny .ad-pero-obraz { transform: rotate(90deg); }
@media (prefers-reduced-motion: reduce) {
  .ad-pero-obraz { transition: none; }
}

/* ============================================================
   VEJÁR NAD PEROM – Zapísať / Myšlienka / Médiá / Moje
   Štyri tiché krúžky, ktoré sa rozvinú nad zelenou guľou.
   ============================================================ */
.ad-pero-vejar {
  position: absolute; left: 50%; bottom: calc(100% + 12px);
  transform: translateX(-50%);
  display: flex; align-items: flex-end; gap: 13px;
  pointer-events: none; z-index: 141;
}
.ad-vejar-akcia {
  display: flex; flex-direction: column-reverse; align-items: center; gap: 5px;
  text-decoration: none;
  opacity: 0; transform: translateY(16px) scale(0.55);
  transition: transform .2s cubic-bezier(0.34, 1.3, 0.64, 1), opacity .16s ease;
  pointer-events: none;
}
.ad-izby-pas.ad-vejar-otvoreny .ad-vejar-akcia { opacity: 1; pointer-events: auto; }
/* jemný oblúk vejára – krajné nižšie, stredný najvyššie (5 krúžkov) */
.ad-izby-pas.ad-vejar-otvoreny .ad-vejar-akcia:nth-child(1),
.ad-izby-pas.ad-vejar-otvoreny .ad-vejar-akcia:nth-child(5) { transform: translateY(12px) scale(1); }
.ad-izby-pas.ad-vejar-otvoreny .ad-vejar-akcia:nth-child(2),
.ad-izby-pas.ad-vejar-otvoreny .ad-vejar-akcia:nth-child(4) { transform: translateY(-2px) scale(1); }
.ad-izby-pas.ad-vejar-otvoreny .ad-vejar-akcia:nth-child(3) { transform: translateY(-12px) scale(1); }
.ad-izby-pas.ad-vejar-otvoreny .ad-vejar-akcia:nth-child(1) { transition-delay: 0s; }
.ad-izby-pas.ad-vejar-otvoreny .ad-vejar-akcia:nth-child(2) { transition-delay: .04s; }
.ad-izby-pas.ad-vejar-otvoreny .ad-vejar-akcia:nth-child(3) { transition-delay: .08s; }
.ad-izby-pas.ad-vejar-otvoreny .ad-vejar-akcia:nth-child(4) { transition-delay: .12s; }
.ad-izby-pas.ad-vejar-otvoreny .ad-vejar-akcia:nth-child(5) { transition-delay: .16s; }

.ad-vejar-kruh {
  width: 50px; height: 50px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 21px; color: #f4efe4;
  border: 0.5px solid rgba(255, 255, 255, 0.14);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 4px 12px rgba(0, 0, 0, 0.35);
}
/* farby nesú význam: zelená = akt zápisu, zlatá = moje poklady */
.ad-vejar-zapisat   .ad-vejar-kruh { background: linear-gradient(150deg, #3e9166 0%, #17553a 100%); }
.ad-vejar-policka   .ad-vejar-kruh { background: linear-gradient(150deg, #5b8fc9 0%, #2e5787 100%); }
.ad-vejar-media     .ad-vejar-kruh { background: linear-gradient(150deg, #7e6bb5 0%, #4a3d78 100%); }
.ad-vejar-moje      .ad-vejar-kruh { background: linear-gradient(150deg, #d9b356 0%, #8a6a22 100%); }
.ad-vejar-moment    .ad-vejar-kruh { background: linear-gradient(150deg, #3aa9a2 0%, #1b615c 100%); }
.ad-vejar-akcia:active .ad-vejar-kruh { transform: scale(0.93); }

@media (min-width: 769px) {
  .ad-izba-pero, .ad-pero-vejar { display: none; } /* na počítači má zápis vlastné cesty */
}

/* Ľudia – karty ako riadky, nič nechýba */
.ad-izba-panel { grid-template-columns: 1fr; gap: 10px; }
.ad-izba-karta {
  flex-direction: row; align-items: center; gap: 14px;
  padding: 14px 16px;
  background: linear-gradient(135deg, rgba(228, 148, 148, 0.05), var(--surface-1) 55%);
}
.ad-izba-karta i {
  width: 42px; height: 42px; border-radius: 12px; flex: 0 0 auto;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(217, 179, 86, 0.12);
  border: 0.5px solid rgba(217, 179, 86, 0.35);
}
.ad-izba-karta > div, .ad-izba-karta strong { min-width: 0; }
.ad-izba-karta::after {
  content: '\203A'; margin-left: auto; font-size: 22px;
  color: var(--text-muted); flex: 0 0 auto;
}
.ad-izba-karta-texty { display: flex; flex-direction: column; gap: 3px; min-width: 0; }

/* Poklady v izbe: 3×4 mriežka na celú plochu, bez skrolovania.
   Najpoužívanejšie dole pod palcom, Trezor hore. Múdrosť zvýraznená. */
@media (max-width: 768px) {
  body.ad-ma-izby .ad-poklady {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(4, 1fr);
    gap: 8px;
    height: calc(100dvh - 320px);
    min-height: 470px;
    padding: 12px 12px 4px;
    margin-top: 8px;
    overflow: visible;
    border-top: 0.5px solid var(--border);
  }
  body.ad-ma-izby .ad-poklady > a {
    position: relative;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center; text-align: center;
    gap: 6px; min-width: 0; padding: 10px 6px;
    background:
      radial-gradient(ellipse 80% 55% at 50% 0%, rgba(255, 255, 255, 0.09) 0%, rgba(255, 255, 255, 0) 55%),
      linear-gradient(160deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 40%, rgba(20, 18, 12, 0.12) 100%);
    -webkit-backdrop-filter: blur(14px) saturate(1.3);
    backdrop-filter: blur(14px) saturate(1.3);
    border: 0.5px solid rgba(255, 255, 255, 0.14);
    border-radius: 16px;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.22),
      inset 0 -10px 20px rgba(0, 0, 0, 0.2),
      0 6px 18px rgba(0, 0, 0, 0.28);
    color: var(--text-muted);
    font-size: 10.5px; line-height: 1.2; font-weight: 500; letter-spacing: 0.01em;
    overflow: hidden;
    transition: transform .15s ease, box-shadow .15s ease;
  }
  /* Sklený lesk cez hornú hranu dlaždice */
  body.ad-ma-izby .ad-poklady > a::before {
    content: ''; position: absolute; inset: 0; border-radius: inherit;
    background: linear-gradient(115deg, transparent 40%, rgba(255, 255, 255, 0.07) 50%, transparent 60%);
    pointer-events: none;
  }
  body.ad-ma-izby .ad-poklady > a > * { position: relative; z-index: 1; }
  body.ad-ma-izby .ad-poklady > a:active { transform: scale(0.97); box-shadow: inset 0 1px 0 rgba(255,255,255,0.22), 0 3px 10px rgba(0,0,0,0.3); }
  body.ad-ma-izby .ad-poklady > a i { font-size: 34px; color: #e6c877; }

  /* Múdrosť kroniky – srdce spodného radu, jediná farebne zvýraznená */
  body.ad-ma-izby .ad-pk-mudrost {
    background:
      radial-gradient(ellipse 80% 55% at 50% 0%, rgba(255, 240, 200, 0.18) 0%, rgba(255, 240, 200, 0) 55%),
      linear-gradient(160deg, rgba(217, 179, 86, 0.28), rgba(217, 179, 86, 0.1));
    border-color: rgba(217, 179, 86, 0.5);
    box-shadow:
      inset 0 1px 0 rgba(255, 246, 214, 0.4),
      inset 0 -10px 20px rgba(120, 90, 30, 0.18),
      0 6px 20px rgba(120, 90, 30, 0.25);
    color: #f0dca0; font-weight: 700; font-size: 11.5px;
  }
  body.ad-ma-izby .ad-pk-mudrost i { font-size: 40px; }
}

/* ============================================================
   PILULKA DNÍ V LIŠTE PROFILU
   ============================================================ */
.ad-dni-pilulka {
  padding: 6px 14px; border-radius: 999px; cursor: pointer;
  background: rgba(217, 179, 86, 0.10);
  border: 0.5px solid rgba(217, 179, 86, 0.45);
  color: #e3c98f; font-size: 12.5px; font-weight: 700;
  white-space: nowrap;
  transition: filter .15s ease;
}
.ad-dni-pilulka:active { filter: brightness(1.2); }

/* Míľnik každých 100 dní – farebná oslava (v deň míľnika) */
.ad-dni-pilulka.je-sto {
  background: linear-gradient(120deg, #f2d894, #b8dcb0, #afa9ec, #e8a0a0, #f2d894);
  background-size: 300% 100%;
  color: #17130d; border: none;
  animation: ad-dni-duha 4s linear infinite;
}
@keyframes ad-dni-duha { to { background-position: 300% 0; } }

/* 1000 dní – rozsvietené, tiché blikanie */
.ad-dni-pilulka.je-tisic {
  background: linear-gradient(135deg, #f6e0a6, #d9a83f);
  color: #17130d; border: none;
  animation: ad-dni-tisic 1.8s ease-in-out infinite;
}
@keyframes ad-dni-tisic {
  0%, 100% { box-shadow: 0 0 8px rgba(242, 216, 148, 0.5); }
  50%      { box-shadow: 0 0 26px rgba(242, 216, 148, 0.95), 0 0 46px rgba(217, 168, 63, 0.5); }
}

.ad-dni-popover {
  position: absolute; right: 0; top: calc(100% + 8px); z-index: 300;
  width: 250px; padding: 14px 16px; border-radius: 12px; text-align: center;
  background: linear-gradient(150deg, #4a3823, #2b2012);
  border: 1px solid rgba(217, 179, 86, 0.5);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.55);
  color: #ede2c8; font-size: 13px; line-height: 1.6;
}

/* ============================================================
   POKLADY – prehľadná mriežka piluliek
   ============================================================ */
body.ad-ma-izby .ad-poklady {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: minmax(74px, auto);   /* výška podľa obsahu – text sa neoreže */
  gap: 8px;
}
/* nepárna posledná dlaždica sa roztiahne na celý riadok – plocha bez dier */
body.ad-ma-izby .ad-poklady > a:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}
body.ad-ma-izby .ad-poklady.ad-izba-skryta { display: none !important; }

/* Zabránenie bliknutiu Pokladov pri načítaní/refreshi.
   Všetky izby sa vykreslia do stránky a JS skryje neaktívne až po spustení.
   Kým .ad-profile-page nemá nastavenú aktívnu izbu (data-izba), východiskovo
   je to Dnes – takže Poklady aj izbu Ja držíme skryté, aby sa v prázdnom
   priestore Dnes na sekundu neobjavili. Po štarte JS atribút doplní a pravidlo
   prestane platiť; ďalej rozhoduje ad-izba-skryta. Poklady sú len na vlastnom
   profile, kde JS vždy beží, takže obsah nemôže ostať skrytý omylom. */
.ad-profile-page:not([data-izba]) .ad-poklady,
.ad-profile-page:not([data-izba]) #ad-izba-ja { display: none !important; }

/* Bez-blesková izba na desktope.
   Aktívnu izbu určuje server cez data-izba, takže CSS skryje neaktívne izby
   už pri prvom vykreslení – bez čakania na JS. Tým mizne blik inej izby pri
   prechode na Dnes / Môj život (zaznamy) / Poklady. Platí len na vlastnom
   profile (data-izba je len tam) a len na desktope; mobil má vlastný layout,
   ktorý necháme nedotknutý. Po štarte JS atribút potvrdí a prepínanie beží
   ďalej cez ad-izba-skryta. */
@media (min-width: 901px) {
  /* Proti prebliku "iného dizajnu": kým JS nepreskupí izby (a nepridá
     .ad-izby-hotovo), držíme hlavné plochy profilu neviditeľné – nech nie je
     vidno surové rozloženie pred prebudovaním do mriežky. Platí len na vlastnom
     profile (má data-izba) a len na desktope, kde k preskupeniu dochádza.
     Poistka: animácia obsah po 1,2 s odkryje, aj keby sa JS nespustil. */
  .ad-profile-page[data-izba]:not(.ad-izby-hotovo) .ad-profile-header,
  .ad-profile-page[data-izba]:not(.ad-izby-hotovo) .ad-poklady,
  .ad-profile-page[data-izba]:not(.ad-izby-hotovo) .ad-page-grid {
    opacity: 0;
    animation: ad-izby-odkryv 0s linear 1.2s forwards;
  }
  .ad-profile-page[data-izba].ad-izby-hotovo .ad-profile-header,
  .ad-profile-page[data-izba].ad-izby-hotovo .ad-poklady,
  .ad-profile-page[data-izba].ad-izby-hotovo .ad-page-grid {
    opacity: 1;
    animation: none;
    transition: opacity 0.2s ease;
  }
}
@keyframes ad-izby-odkryv { to { opacity: 1; } }

/* Poklady žijú vnútri .ad-profile-header, preto hlavičku NESMIEME skryť celú. */
@media (min-width: 901px) {
  /* V izbe Poklady skryjeme len moduly Dnes (aj ich desktop obal #ad-dnes-mostik),
     Poklady ostanú viditeľné. Záznamy majú vlastnú izbu mimo hlavičky, tam sa
     celá hlavička skrýva existujúcim pravidlom nižšie. */
  .ad-profile-page[data-izba="poklady"] .ad-profile-stred,
  .ad-profile-page[data-izba="poklady"] .ad-profile-citacia,
  .ad-profile-page[data-izba="poklady"] .ad-otazka-dna,
  .ad-profile-page[data-izba="poklady"] .ad-novinky,
  .ad-profile-page[data-izba="poklady"] .ad-pocit-modul,
  .ad-profile-page[data-izba="poklady"] .ad-nalada-ludstva,
  .ad-profile-page[data-izba="poklady"] .ad-pripomienka,
  .ad-profile-page[data-izba="poklady"] .ad-vtd,
  .ad-profile-page[data-izba="poklady"] .ad-stat-pill,
  .ad-profile-page[data-izba="poklady"] #ad-dnes-mostik { display: none !important; }
  /* Poklady len vo svojej izbe */
  .ad-profile-page[data-izba="dnes"] .ad-poklady,
  .ad-profile-page[data-izba="zaznamy"] .ad-poklady { display: none !important; }
  /* Záznamy (stĺpec s časovou osou) len vo svojej izbe */
  .ad-profile-page[data-izba="dnes"] .ad-main-col,
  .ad-profile-page[data-izba="poklady"] .ad-main-col { display: none !important; }
}
body.ad-ma-izby .ad-poklady > a {
  display: flex; flex-direction: row; align-items: center; justify-content: flex-start;
  text-align: left; gap: 14px;
  padding: 16px 16px; border-radius: 14px;
  background: var(--surface-1); border: 0.5px solid var(--border);
  font-size: 14px; line-height: 1.25; font-weight: 600; color: var(--text-primary);
  letter-spacing: 0.01em; white-space: normal;
}
body.ad-ma-izby .ad-poklady > a i {
  flex: 0 0 auto; font-size: 40px; color: #e6c877;
}
body.ad-ma-izby .ad-poklady .ad-pk-nazov { display: block; }
body.ad-ma-izby .ad-poklady .ad-pk-info {
  display: block; margin-top: 2px;
  font-size: 11px; font-weight: 400; color: var(--text-muted); letter-spacing: 0.02em;
}
body.ad-ma-izby .ad-poklady .ad-pk-mudrost {
  color: #f0dca0; font-weight: 700; font-size: 15px;
}
body.ad-ma-izby .ad-poklady .ad-pk-mudrost i { font-size: 46px; }
body.ad-ma-izby .ad-poklady .ad-pk-mudrost .ad-pk-info { color: rgba(232, 207, 142, 0.8); }


/* Izby na mobile: len prázdne pozostatky identity von – obsah ostáva */
@media (max-width: 768px) {
  body.ad-ma-izby .ad-profile-page .ad-profile-info-text,
  body.ad-ma-izby .ad-profile-page .ad-profile-name { display: none; }
  body.ad-ma-izby .ad-profile-page .ad-profile-header { padding-top: 0.5rem; }
  body.ad-ma-izby .ad-poklady { margin-top: 0.25rem; }
}


/* Pulz kroniky v lište: slová, pocit, dni, strážca */
.ad-lista-pulz { display: flex; align-items: center; gap: 7px; flex-shrink: 0; position: relative; }
.ad-lista-bublina-obal { position: relative; display: inline-flex; }
.ad-lista-mini {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 6px 11px; border-radius: 999px; cursor: pointer;
  background: var(--surface-1); border: 0.5px solid var(--border);
  color: var(--text-secondary); font-size: 12px; font-weight: 600;
  white-space: nowrap;
}
.ad-lista-mini i { font-size: 15px; }
.ad-lista-pocit { padding: 6px 9px; }
.ad-lista-popover { width: 210px; }

/* Strážca ochrany – malá tichá ikona s výstražnou bodkou */
.ad-lista-strazca {
  position: relative;
  width: 30px; height: 30px; padding: 0 !important;
  border-radius: 50% !important;
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent !important;
  border: 0.5px solid rgba(232, 150, 60, 0.5) !important;
  color: #e8963c !important;
}
.ad-lista-strazca i { font-size: 15px; }

/* Titul v dvoch riadkoch: Vitaj, / meno · vek – vždy kompletné */
.ad-lista-titul {
  flex: 1 1 auto; min-width: 0;
  display: flex !important; flex-direction: column; gap: 1px;
  font-family: var(--font-display);
}
.ad-lista-vitaj {
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--text-muted); font-weight: 600;
}
.ad-lista-meno {
  font-size: 14px; font-weight: 600; letter-spacing: 0.03em;
  color: var(--text-primary); line-height: 1.25;
  overflow-wrap: anywhere;
}
.ad-lista-pulz .ad-dni-popover,
.ad-lista-pulz .ad-profile-warning-popover { right: 0; left: auto; }
.ad-strazca-bodka {
  position: absolute; top: -2px; right: -2px;
  width: 9px; height: 9px; border-radius: 50%;
  background: #e8963c;
  animation: ad-strazca-pulz 2s ease-in-out infinite;
}
@keyframes ad-strazca-pulz {
  0%, 100% { box-shadow: 0 0 0 0 rgba(232, 150, 60, 0.55); }
  50%      { box-shadow: 0 0 0 6px rgba(232, 150, 60, 0); }
}


/* Zdroj: rozbaľovacia karta – nadpis vždy, text na želanie */
.ad-zaznam-zdroj-nadpis {
  width: 100%; background: none; border: none; cursor: pointer;
  padding: 0; text-align: left;
}
.ad-zaznam-zdroj-nadpis span { flex: 1; min-width: 0; }
.ad-zdroj-sipka {
  margin-left: auto; color: var(--text-muted) !important;
  transition: transform .25s ease;
}
.ad-zaznam-zdroj.je-zbaleny .ad-zdroj-sipka { transform: rotate(-90deg); }
.ad-zaznam-zdroj #ad-zdroj-text {
  overflow: hidden; max-height: 400px;
  transition: max-height .3s ease, margin .3s ease, opacity .3s ease;
  margin-top: 6px;
}
.ad-zaznam-zdroj.je-zbaleny #ad-zdroj-text {
  max-height: 0; margin-top: 0; opacity: 0;
}
.ad-zaznam-zdroj { padding: 12px 16px; }

/* Modrá pozvánka: jeden kompaktný riadok */
.ad-rozhovor-ponuka { gap: 4px; padding: 10px 14px; }
.ad-rozhovor-ponuka-text { font-size: 12.5px; color: var(--text-muted); }


/* Žiadne systémové modré zvýraznenie dotyku v lište a peru */
.ad-izby-pas, .ad-izba-chip, .ad-izba-pero,
.ad-fab-menu button, .ad-fab-menu a,
.ad-lista-mini, .ad-dni-pilulka, .ad-lista-strazca {
  -webkit-tap-highlight-color: transparent;
}
.ad-izba-chip:focus, .ad-izba-pero:focus,
.ad-lista-mini:focus, .ad-dni-pilulka:focus { outline: none; }
.ad-izba-chip:focus-visible, .ad-izba-pero:focus-visible {
  outline: 2px solid rgba(217, 179, 86, 0.6); outline-offset: 2px;
}


/* Dvojkrokové vymazanie postavy */
.ad-postava-zmazat.je-oznaceny {
  background: rgba(200, 74, 74, 0.15) !important;
  border-color: rgba(220, 90, 90, 0.6) !important;
  color: #e89090 !important;
}
.ad-postava-zmazat.je-oznaceny i { color: #e89090; }


/* Prepínač Stále žije / Už nežije */
.ad-zije-vyber { display: flex; gap: 7px; margin: 4px 0 12px; }
.ad-zije-vyber .ad-tag { cursor: pointer; }


/* Prázdna kniha postavy – pozvanie k prvej spomienke */
.ad-postava-prazdna-kniha {
  text-align: center; padding: 26px 20px; margin-top: 1.25rem;
  border: 1px dashed rgba(217, 179, 86, 0.35); border-radius: 14px;
  color: var(--text-secondary);
}
.ad-postava-prazdna-kniha .ad-hviezdny-ornament { color: #d9b356; margin-bottom: 6px; }
.ad-postava-prazdna-kniha p { margin: 4px 0; font-size: 13.5px; line-height: 1.6; }
.ad-postava-prazdna-kniha strong { color: var(--text-primary); }


/* Zelený štít – kronika je zabezpečená (tichá istota) */
.ad-lista-strazca.je-chraneny {
  border-color: rgba(122, 186, 122, 0.4) !important;
  color: #8fc98f !important;
}


/* Komposer (Rozhovor, Múdrosť): pripnutý nad spodnou navigáciou ako v čete */
@media (max-width: 768px) {
  body.ad-ma-izby .ad-zr-komposer:not(.ad-demo-komposer) {
    position: fixed;
    left: 12px; right: 12px;
    bottom: calc(76px + env(safe-area-inset-bottom, 0px));
    z-index: 130;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45);
  }
  body.ad-ma-izby .ad-mudrost-page,
  body.ad-ma-izby .ad-zr-page {
    padding-bottom: calc(170px + env(safe-area-inset-bottom, 0px));
  }
}


/* Spodná navigácia: aktívna izba bez podkladu – farbí sa len ikona a slovo */
@media (max-width: 768px) {
  .ad-izba-chip.je-aktivna {
    background: transparent !important;
    border-color: transparent !important;
  }
}


@keyframes ad-svetlo-dych { 0%,100% { opacity: 0.3; } 50% { opacity: 0.85; } }


/* ============================================================
   RODOKMEŇ – EGO V STREDE, PEVNÁ OBRAZOVKA, ZOOM
   ============================================================ */
.ad-rk-layout {
  display: grid; grid-template-columns: 2fr 1fr;
  height: calc(100dvh - 64px); overflow: hidden;
}
.ad-rk-platno {
  position: relative; overflow: hidden;
  background:
    radial-gradient(ellipse at 50% 45%, rgba(217, 179, 86, 0.07) 0%, rgba(217, 179, 86, 0) 55%),
    var(--bg-page, #1c1610);
}
.ad-rk-platno #ad-rk {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  touch-action: none; cursor: grab;
}
.ad-rk-platno #ad-rk:active { cursor: grabbing; }

/* Panel: tretina s nadpisom, ľuďmi a formulárom */
.ad-rk-panel {
  border-left: 0.5px solid var(--border);
  background: var(--surface-1);
  padding: 22px 22px 40px;
  overflow-y: auto;
}
.ad-rk-panel h1 {
  font-family: var(--font-serif); font-weight: 400;
  font-size: 30px; margin: 4px 0 6px; color: var(--text-primary);
}
.ad-rk-panel-text { font-size: 13px; color: var(--text-muted); line-height: 1.6; margin: 0 0 14px; }
.ad-rk-panel-mini { font-size: 11.5px; color: var(--text-muted); font-style: italic; margin: 10px 0 0; }
.ad-rk-pridat { width: 100%; justify-content: center; margin-bottom: 6px; }

.ad-rk-skupina {
  font-size: 10.5px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  color: #b8964a; margin: 18px 0 8px;
}
.ad-rk-clovek {
  display: flex; align-items: center; gap: 11px;
  padding: 9px 10px; border-radius: 12px;
  text-decoration: none; color: var(--text-secondary);
  border: 0.5px solid transparent;
  transition: background .15s ease, border-color .15s ease;
}
.ad-rk-clovek:hover { background: rgba(217, 179, 86, 0.07); border-color: rgba(217, 179, 86, 0.3); }
.ad-rk-clovek-foto {
  width: 40px; height: 40px; border-radius: 50%; flex: 0 0 auto;
  border: 1.5px solid rgba(217, 179, 86, 0.5); overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center;
  background: #241b10;
}
.ad-rk-clovek-foto img { width: 100%; height: 100%; object-fit: cover; }
.ad-rk-clovek-foto em { font-style: normal; font-family: Georgia, serif; color: #e3c98f; font-size: 17px; }
.ad-rk-clovek-texty { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.ad-rk-clovek-texty strong { color: var(--text-primary); font-size: 14px; }
.ad-rk-clovek-texty span { font-size: 11.5px; color: var(--text-muted); }
.ad-rk-clovek > i { color: var(--text-muted); flex: 0 0 auto; }

/* Legenda čiar */
.ad-rk-info-btn {
  position: absolute; left: 14px; bottom: 18px; z-index: 5;
  width: 38px; height: 38px; border-radius: 50%; cursor: pointer;
  background: rgba(24, 19, 12, 0.75); color: #e3c98f;
  border: 0.5px solid rgba(217, 179, 86, 0.35);
  font-size: 22px; display: inline-flex; align-items: center; justify-content: center;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.ad-rk-info-btn:hover { border-color: rgba(217, 179, 86, 0.7); }
@media (max-width: 768px) { .ad-rk-info-btn { bottom: 120px; } }

.ad-rk-info {
  position: fixed; inset: 0; z-index: 250;
  background: rgba(5, 7, 12, 0.6);
  display: flex; align-items: center; justify-content: center; padding: 1rem;
  -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
}
.ad-rk-info[hidden] { display: none; }
.ad-rk-info-panel {
  width: min(400px, 100%);
  background: var(--surface-1); border: 0.5px solid rgba(217, 179, 86, 0.4);
  border-radius: 14px; padding: 16px 18px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.55);
}
.ad-rk-info-hlava {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 10px; color: var(--text-primary);
  font-family: var(--font-serif); font-size: 16px;
}
.ad-rk-info-hlava button {
  background: none; border: none; cursor: pointer;
  color: var(--text-muted); font-size: 16px; padding: 4px 6px; border-radius: 7px;
}
.ad-rk-info-hlava button:hover { color: var(--text-primary); background: var(--surface-2); }
.ad-rk-info-panel p {
  display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap;
  font-size: 13px; color: var(--text-secondary); line-height: 1.6; margin: 0 0 10px;
}
.ad-rk-info-panel p strong { color: var(--text-primary); }
.ad-leg-zlato.je-bodkovana {
  background: none;
  border-top: 2px dotted rgba(217, 179, 86, 0.8);
  height: 0;
}
.ad-leg-krv, .ad-leg-zlato { width: 18px; height: 3px; border-radius: 2px; display: inline-block; }
.ad-leg-krv { background: #a02a22; }
.ad-leg-zlato { background: rgba(217, 179, 86, 0.7); height: 2px; }

/* Ovládanie zoomu */
.ad-rodokmen-ovladanie {
  position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%);
  z-index: 5;
  display: flex; flex-direction: row; gap: 10px;
  padding: 6px 10px; border-radius: 999px;
  background: rgba(24, 19, 12, 0.75);
  border: 0.5px solid rgba(217, 179, 86, 0.3);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.ad-rodokmen-ovladanie button {
  width: 40px; height: 40px; border-radius: 50%;
  background: rgba(24, 19, 12, 0.85); color: #e3c98f;
  border: 0.5px solid rgba(217, 179, 86, 0.4);
  font-size: 17px; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.ad-rodokmen-ovladanie button:hover { border-color: rgba(217, 179, 86, 0.8); }

/* Uzly */
.ad-rk-uzol .ad-rk-meno {
  fill: #f0e6cc; font-size: 14px; font-family: Georgia, serif;
}
.ad-rk-uzol .ad-rk-popis { fill: #9b8f76; font-size: 10.5px; }
.ad-rk-uzol.je-ja circle:first-child {
  filter: drop-shadow(0 0 14px rgba(160, 42, 34, 0.55));
}
.ad-rk-uzol:hover circle:first-child { stroke-width: 3.5; }

/* Nezaradení */
.ad-rodokmen-nezaradeni {
  position: absolute; left: 14px; bottom: 90px; z-index: 5;
  max-width: 300px; padding: 10px 14px; border-radius: 12px;
  background: rgba(24, 19, 12, 0.85);
  border: 0.5px solid rgba(217, 179, 86, 0.3);
  font-size: 12px; color: var(--text-muted); line-height: 1.7;
}
.ad-rodokmen-nezaradeni a { color: #e3c98f; text-decoration: none; }

.ad-rodokmen-prazdno {
  position: absolute; inset: 0; display: flex;
  align-items: center; justify-content: center;
  color: var(--text-muted);
}

@media (max-width: 900px) {
  .ad-rk-layout { grid-template-columns: 1fr; height: calc(100dvh - 60px); }
  .ad-rk-panel { display: none; } /* mobil spravuje ľudí cez Poklady → Ľudia */
  .ad-rodokmen-ovladanie { bottom: 120px; }
  .ad-rk-legenda { bottom: 150px; }
}


/* ============================================================
   VEČERNÁ VLNA – DESKTOP
   ============================================================ */

/* Na šírku len pilulky */
@media (min-width: 769px) {
  .ad-btn { border-radius: 999px; }
}

/* Rýchle menu (FAB) aj na desktope */
@media (min-width: 769px) {
  .ad-fab {
    display: inline-flex; align-items: center; justify-content: center;
    position: fixed;
    right: 26px; bottom: 26px;
    width: 56px; height: 56px; border-radius: 50%;
    background: var(--accent-text); color: var(--surface-0);
    font-size: 1.5rem; text-decoration: none;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
    z-index: 150;
    transition: transform .15s ease;
  }
  .ad-fab:hover { transform: scale(1.06); }
}

/* Profilová lišta: prilepená pod menu, tri stĺpce (pulz · vitaj · izby) */
@media (min-width: 901px) {
  .ad-profil-lista.je-moja {
    position: sticky; top: 0; z-index: 90;
    display: grid !important;
    grid-template-columns: 1fr auto 1fr;
    align-items: center; gap: 14px;
  }
  .ad-profil-lista.je-moja .ad-lista-pulz { order: -1; justify-self: start; }
  .ad-profil-lista.je-moja .ad-lista-titul { justify-self: center; text-align: center; }
  .ad-profil-lista.je-moja .ad-lista-vitaj { display: block; }
  .ad-profil-lista.je-moja .ad-izby-pas.je-dokovany { justify-self: end; }
}

/* Dokovaný izbový pás: tiché pilulky bez vlastného podkladu */
.ad-izby-pas.je-dokovany {
  position: static !important;
  display: inline-flex; gap: 6px;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.ad-izby-pas.je-dokovany .ad-izba-pero { display: none; }

/* Centrovanie sekcií na stred webu */
.ad-postavy-page > .container,
.ad-postavy-page > div { max-width: 900px; margin-left: auto; margin-right: auto; }
.ad-objav-page .ad-objav-kapitola { max-width: 720px; margin-left: auto; margin-right: auto; }
.ad-mudrost-page .container { margin-left: auto; margin-right: auto; }


/* Profilová lišta: nižšia a vždy prilepená pod hlavné menu */
.ad-profil-lista.je-moja { padding-top: 5px !important; padding-bottom: 5px !important; }
@media (min-width: 901px) {
  .ad-profil-lista.je-moja .ad-lista-vitaj { font-size: 10px; }
  .ad-profil-lista.je-moja .ad-lista-meno { font-size: 14.5px; }
}

/* Nadpis „Moja duša" s odsekom v hlavičke profilu už nepotrebujeme – meno nesie lišta */
.ad-profile-info-text { display: none !important; }

/* Izby v lište ako záložky: hranaté, otvorená jasne svieti */
.ad-izby-pas.je-dokovany { gap: 4px; }
.ad-izby-pas.je-dokovany .ad-izba-chip {
  border-radius: 9px;
  padding: 7px 14px;
  border: 0.5px solid transparent;
  border-bottom: 2px solid transparent;
  background: none;
}
.ad-izby-pas.je-dokovany .ad-izba-chip:hover {
  background: rgba(217, 179, 86, 0.06);
}
.ad-izby-pas.je-dokovany .ad-izba-chip.je-aktivna {
  background: rgba(217, 179, 86, 0.1) !important;
  border-color: rgba(217, 179, 86, 0.25) !important;
  border-bottom-color: currentColor !important;
}

/* Rozhovor: obsah na stred */
.ad-zr-page .ad-zr-vyber {
  max-width: 960px;
  margin-left: auto; margin-right: auto;
  justify-content: center;
}


/* KOREŇOVÁ OPRAVA: stĺpec obsahu vždy na stred webu */
.container {
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
}


/* Príloha záznamu */
.ad-zaznam-priloha {
  display: inline-flex; align-items: center; gap: 9px;
  margin-top: 16px; padding: 10px 16px; border-radius: 999px;
  border: 0.5px solid rgba(217, 179, 86, 0.4);
  background: rgba(217, 179, 86, 0.06);
  color: var(--text-secondary); text-decoration: none;
  font-size: 13px;
}
.ad-zaznam-priloha i { color: #d9b356; }
.ad-zaznam-priloha em { font-style: normal; color: #d9b356; font-size: 12px; }
.ad-zaznam-priloha:hover { border-color: rgba(217, 179, 86, 0.8); }


/* Profilová lišta prilepená k vrchu pri skrolovaní */
.ad-profil-lista.je-fixnuta {
  position: fixed !important;
  top: 0; left: 0; right: 0;
  z-index: 120;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}
body.admin-bar .ad-profil-lista.je-fixnuta { top: 32px; }


/* ============================================================
   VELITEĽSKÝ MOSTÍK – IZBA DNES NA JEDNU OBRAZOVKU (desktop)
   ============================================================ */
@media (min-width: 1100px) {
  #ad-dnes-mostik {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    grid-template-areas:
      "kniha  otazka  novinky"
      "pocity dnes    novinky"
      "strip  strip   strip"
      "citacia ludstvo vtd";
    gap: 13px;
    padding: 14px 1.5rem 20px;
    max-width: 1480px;
    margin: 0 auto;
  }
  .ad-profile-page[data-izba]:not([data-izba="dnes"]) #ad-dnes-mostik { display: none; }

  /* Spoločná anatómia modulu */
  #ad-dnes-mostik > * {
    position: relative;
    margin: 0 !important;
    border: 0.5px solid rgba(217, 179, 86, 0.18);
    border-radius: 16px;
    background: var(--surface-1);
    padding: 16px 18px !important;
    overflow: hidden;
  }
  /* akcentová niť na hornej hrane – každý modul má svoju farbu */
  #ad-dnes-mostik > *::before {
    content: '';
    position: absolute; top: 0; left: 14px; right: 14px; height: 1.5px;
    background: linear-gradient(90deg, transparent, var(--modul-akcent, rgba(217,179,86,0.55)), transparent);
  }

  #ad-dnes-mostik .ad-kniha-stat { grid-area: kniha; --modul-akcent: rgba(109, 155, 209, 0.75);
    display: flex; flex-direction: column; justify-content: center; }
  #ad-dnes-mostik .ad-otazka-dna { grid-area: otazka; --modul-akcent: rgba(217, 179, 86, 0.8); }
  #ad-dnes-mostik .ad-novinky { grid-area: novinky; --modul-akcent: rgba(127, 174, 114, 0.75); }
  #ad-dnes-mostik .ad-dnes { grid-area: dnes; --modul-akcent: rgba(217, 179, 86, 0.35);
    display: flex; flex-direction: column; gap: 7px; }
  #ad-dnes-mostik .ad-stat-strip { grid-area: strip;
    display: flex; gap: 10px; flex-wrap: wrap; align-items: center;
    background: none; border: none; padding: 0 !important; overflow: visible; }
  #ad-dnes-mostik .ad-stat-strip::before { display: none; }
  #ad-dnes-mostik .ad-profile-citacia { grid-area: citacia; --modul-akcent: rgba(217,179,86,0.3);
    display: flex; flex-direction: column; justify-content: center; text-align: center; }
  #ad-dnes-mostik .ad-vtd { grid-area: vtd; --modul-akcent: rgba(154, 120, 200, 0.7); }
  #ad-dnes-mostik .ad-pocit-modul { grid-area: pocity; --modul-akcent: rgba(150, 195, 108, 0.75); }
  #ad-dnes-mostik .ad-nalada-ludstva { grid-area: ludstvo; --modul-akcent: rgba(109, 175, 185, 0.7); }

  /* kompaktná typografia mostíka */
  #ad-dnes-mostik .ad-dnes-hrdost { display: none; }
  #ad-dnes-mostik .ad-dnes-memento { font-size: 12.5px; line-height: 1.55; }
  #ad-dnes-mostik .ad-dnes-riadok { font-size: 13px; }
  #ad-dnes-mostik .ad-kniha-stat-hlavna { font-size: 24px; line-height: 1.3; }
  #ad-dnes-mostik .ad-otazka-dna-text { font-size: 19px; line-height: 1.45; }
  #ad-dnes-mostik .ad-profile-citacia-text { font-size: 16px; }
}

/* Novinky – modul objavovania (platí všade) */
.ad-novinky-sub { font-size: 11.5px; color: var(--text-muted); margin: 2px 0 10px; }
.ad-novinka {
  display: flex; flex-direction: column; gap: 1px;
  padding: 8px 10px; margin: 0 -10px; border-radius: 10px;
  text-decoration: none;
}
.ad-novinka:hover { background: rgba(127, 174, 114, 0.08); }
.ad-novinka strong { color: var(--text-primary); font-size: 13px; font-weight: 600; line-height: 1.35; }
.ad-novinka span { color: var(--text-muted); font-size: 11px; }
.ad-novinky-viac {
  display: inline-block; margin-top: 8px;
  font-size: 12px; color: #8fae72; text-decoration: none;
}
.ad-novinky-viac:hover { color: #a9c78e; }
.ad-novinky { border: 0.5px solid var(--border); border-radius: 16px; padding: 16px 18px; margin-bottom: 1rem; background: var(--surface-1); }


/* Pocitový modul – vnútorné počasie */
.ad-pocit-modul { border: 0.5px solid var(--border); border-radius: 16px; padding: 16px 18px; margin-bottom: 1rem; background: var(--surface-1); }

/* Myšlienka dňa – modul v izbe Dnes (zápis hore, vložené pod ním) */
.ad-mysl-dna-modul { border: 0.5px solid var(--border); border-radius: 16px; padding: 16px 18px; margin-bottom: 1rem; background: var(--surface-1); }
.ad-mysl-dna-modul .ad-otazka-dna-eyebrow { margin-bottom: 10px; }
.ad-mysl-vlozene { margin-top: 14px; border-top: 0.5px solid var(--border); padding-top: 10px; }
.ad-mysl-vlozene > summary {
  list-style: none; cursor: pointer; user-select: none;
  display: flex; align-items: center; gap: 7px;
  font-size: 12.5px; letter-spacing: 0.03em; color: var(--text-secondary);
}
.ad-mysl-vlozene > summary::-webkit-details-marker { display: none; }
.ad-mysl-vlozene > summary i { font-size: 15px; transition: transform .18s ease; }
.ad-mysl-vlozene[open] > summary i { transform: rotate(180deg); }
.ad-pocit-riadok {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; font-size: 13px; padding: 5px 0;
}
.ad-pocit-riadok > span:first-child { color: var(--text-muted); font-size: 11.5px; text-transform: uppercase; letter-spacing: 0.08em; }
.ad-pocit-riadok em { font-style: normal; display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.ad-pocit-vyzva { color: var(--text-muted); font-style: italic; }
.ad-pocit-paleta { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 8px; }
.ad-pocit-tlacidlo {
  width: 34px; height: 34px; border-radius: 50%;
  background: rgba(255, 255, 255, 0.03);
  border: 0.5px solid var(--border);
  font-size: 17px; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  transition: transform .12s ease, border-color .12s ease;
}
.ad-pocit-tlacidlo:hover { transform: scale(1.15); border-color: currentColor; }


/* ============================================================
   KRÍZOVÁ ZÁCHYTNÁ SIEŤ
   ============================================================ */
.ad-mudrost-kriza {
  border: 1px solid rgba(109, 175, 185, 0.55);
  background: linear-gradient(160deg, rgba(109, 175, 185, 0.1), rgba(109, 175, 185, 0.03));
  border-radius: 16px;
  padding: 20px 22px;
  margin-bottom: 18px;
}
.ad-mudrost-kriza-nadpis {
  display: flex; align-items: center; gap: 9px;
  font-family: var(--font-serif); font-size: 19px; color: var(--text-primary);
  margin-bottom: 8px;
}
.ad-mudrost-kriza-nadpis i { color: #7fc4cf; font-size: 22px; }
.ad-mudrost-kriza p { font-size: 13.5px; color: var(--text-secondary); line-height: 1.65; margin: 0 0 12px; }
.ad-mudrost-kriza-linky { display: flex; flex-direction: column; gap: 8px; }
.ad-mudrost-kriza-linky a {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  padding: 11px 14px; border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 0.5px solid rgba(127, 196, 207, 0.35);
  color: var(--text-primary); text-decoration: none; font-size: 14px;
}
.ad-mudrost-kriza-linky a:hover { border-color: rgba(127, 196, 207, 0.8); }
.ad-mudrost-kriza-linky i { color: #7fc4cf; font-size: 18px; }
.ad-mudrost-kriza-linky em { font-style: normal; color: var(--text-muted); font-size: 12px; margin-left: auto; }
.ad-mudrost-kriza-pokoj { font-style: italic; color: var(--text-muted) !important; margin: 12px 0 0 !important; font-size: 12.5px !important; }

.ad-priznania-zachrana {
  margin-top: 14px; font-size: 12px; color: var(--text-muted); line-height: 1.7;
}
.ad-priznania-zachrana i { color: #7fc4cf; margin-right: 4px; }
.ad-priznania-zachrana a { color: #9fd3db; text-decoration: none; border-bottom: 1px dotted rgba(127, 196, 207, 0.5); }
.ad-priznania-zachrana a:hover { color: #c3e6eb; }


/* Zapísať môj život – pripnuté napravo vedľa vycentrovaného mena, do titulu nezasahuje */
.ad-lista-titul { position: relative; }
.ad-lista-zapisat {
  position: absolute; left: calc(100% + 64px); top: 0; bottom: 0;
  margin: auto 0; height: fit-content;
  white-space: nowrap;
  padding: 5px 14px !important; font-size: 12.5px !important; line-height: 1.2;
}
.ad-lista-zapisat:hover { transform: none !important; }
@media (max-width: 900px) { .ad-lista-zapisat { display: none; } }

/* Rozpísané záznamy */
#ad-koncepty-btn, #ad-tour-replay { margin-bottom: 14px; }
.ad-koncepty-panel {
  clear: both;
  border: 0.5px solid rgba(217, 179, 86, 0.35);
  border-left: 3px solid rgba(217, 179, 86, 0.55);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(217, 179, 86, 0.10), rgba(217, 179, 86, 0.04));
  margin: 4px 0 18px; padding: 6px;
  animation: ad-koncepty-otvor .18s ease-out;
}
@keyframes ad-koncepty-otvor {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}
.ad-koncepty-hlavicka {
  font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--accent-text, #d9b356);
  padding: 6px 10px 4px;
  border-bottom: 0.5px solid rgba(217, 179, 86, 0.2);
  margin-bottom: 4px;
  display: flex; align-items: center; gap: 6px;
}
.ad-koncept-riadok { display: flex; align-items: center; gap: 6px; }
.ad-koncept-nacitat {
  flex: 1; text-align: left; background: none; border: none; cursor: pointer;
  padding: 9px 10px; border-radius: 9px;
  display: flex; flex-direction: column; gap: 1px;
}
.ad-koncept-nacitat:hover { background: rgba(217, 179, 86, 0.12); }
.ad-koncept-nacitat strong { color: var(--text-primary); font-size: 13.5px; }
.ad-koncept-nacitat span { color: var(--text-muted); font-size: 11px; }
.ad-koncept-zmazat {
  background: none; border: none; color: var(--text-muted);
  cursor: pointer; padding: 8px; border-radius: 8px;
}
.ad-koncept-zmazat:hover { color: #e08a8a; }

/* ============================================================
   KNIHA MÔJHO ŽIVOTA – pocitové stránky, čísla, register
   ============================================================ */

/* Vnútorné počasie dňa: hodvábna stuha na vonkajšom okraji strany
   + jemný nádych farby v rohu. Farba sa nikdy nekričí, len dýcha. */
.ad-kniha-strana.ma-pocit::after {
  content: '';
  position: absolute; left: 0; top: 7%; bottom: 7%; width: 4px;
  border-radius: 0 3px 3px 0;
  background: linear-gradient(180deg, transparent 0%, var(--ad-pocit) 18%, var(--ad-pocit) 82%, transparent 100%);
  opacity: 0.55; pointer-events: none;
}
.ad-kniha-strana.ma-pocit {
  background-image:
    radial-gradient(ellipse at 0% 10%, color-mix(in srgb, var(--ad-pocit) 13%, transparent) 0%, transparent 44%),
    linear-gradient(135deg, #f4efe3 0%, #ece5d3 60%, #e4dcc7 100%);
}
.ad-kniha-pocit-bod {
  display: inline-block; width: 8px; height: 8px; border-radius: 50%;
  background: var(--ad-pocit); margin-right: 7px; vertical-align: middle;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ad-pocit) 22%, transparent);
}

/* Kniha v číslach */
.ad-kniha-cisla { display: flex; flex-direction: column; justify-content: center; }
.ad-kniha-cisla-mriezka {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 1.4rem 0.9rem; margin-top: 1.1rem;
}
.ad-kniha-cislo { text-align: center; }
.ad-kniha-cislo strong {
  display: block; font-family: var(--font-serif); font-weight: 400;
  font-size: clamp(26px, 3.4vw, 42px); color: #2c2314; line-height: 1.1;
  font-variant-numeric: tabular-nums;
}
.ad-kniha-cislo span {
  display: block; margin-top: 4px;
  font-size: 0.7rem; letter-spacing: 0.16em; text-transform: uppercase; color: #8a7c5c;
}
.ad-kniha-cisla-veta {
  margin-top: 2.25rem; text-align: center;
  font-family: var(--font-serif); font-style: italic; font-size: 0.95rem; color: #5c5138;
}

/* Register knihy – papierový panel nad knihou */
.ad-kniha-register {
  position: fixed; inset: 0; z-index: 220;
  background: rgba(5, 7, 12, 0.62);
  backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px);
  display: flex; align-items: flex-start; justify-content: center;
  padding: 7vh 1rem 2rem;
}
.ad-kniha-register[hidden] { display: none; }
.ad-kniha-register-panel {
  width: min(580px, 100%); max-height: 82vh;
  display: flex; flex-direction: column;
  background: linear-gradient(135deg, #f4efe3 0%, #e9e1cc 100%);
  color: #2c261c; border-radius: 10px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.6), 0 1px 0 #d8d0ba inset;
  padding: 1.15rem 1.25rem 1rem;
  animation: ad-register-otvor .16s ease-out;
}
@keyframes ad-register-otvor {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.ad-kniha-register-hlava {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 0.9rem;
}
.ad-kniha-register-x {
  background: none; border: none; cursor: pointer;
  color: #8a7c5c; font-size: 17px; padding: 4px 6px; border-radius: 7px;
}
.ad-kniha-register-x:hover { color: #2c2314; background: rgba(155, 135, 87, 0.12); }
.ad-kniha-hladat {
  width: 100%; padding: 10px 13px; border-radius: 8px;
  border: 1px solid #cbc1a4; background: #fbf8ee; color: #2c261c;
  font-family: var(--font-serif); font-size: 15.5px;
}
.ad-kniha-hladat:focus {
  outline: none; border-color: #9b8757;
  box-shadow: 0 0 0 3px rgba(155, 135, 87, 0.18);
}
.ad-kniha-hladat::placeholder { color: #a2957a; font-style: italic; }
.ad-kniha-register-chipy {
  display: flex; align-items: center; flex-wrap: wrap; gap: 6px;
  margin: 10px 0 6px;
}
.ad-kniha-roky { display: contents; }
.ad-kniha-chip {
  border: 1px solid #cbc1a4; background: rgba(251, 248, 238, 0.7);
  color: #5c5138; border-radius: 999px; cursor: pointer;
  padding: 4px 12px; font-size: 12px; letter-spacing: 0.04em;
  display: inline-flex; align-items: center; gap: 5px;
}
.ad-kniha-chip:hover { border-color: #9b8757; color: #2c2314; background: #fbf8ee; }
.ad-kniha-chip.je-vtd { border-color: #b48f3e; color: #7a5f22; font-weight: 600; }
.ad-kniha-chip.je-vtd i { font-size: 13px; }
.ad-kniha-register-vysledky {
  overflow-y: auto; margin-top: 6px;
  border-top: 1px dotted #cbbfa0;
}
.ad-kniha-vysledok {
  display: block; width: 100%; text-align: left;
  background: none; border: none; cursor: pointer;
  padding: 10px 8px; border-bottom: 1px dotted #ddd4b9; border-radius: 6px;
}
.ad-kniha-vysledok:hover { background: rgba(155, 135, 87, 0.1); }
.ad-kniha-vysledok-titul {
  display: block; font-family: var(--font-serif); font-size: 15.5px; color: #2c2314;
}
.ad-kniha-vysledok-bod {
  display: inline-block; width: 7px; height: 7px; border-radius: 50%;
  margin-right: 7px; vertical-align: middle;
}
.ad-kniha-vysledok-meta {
  display: block; margin-top: 2px;
  font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: #8a7c5c;
}
.ad-kniha-vysledok-uryvok {
  display: block; margin-top: 4px;
  font-size: 12.5px; color: #5c5138; line-height: 1.5;
}
.ad-kniha-vysledok-uryvok mark {
  background: rgba(217, 179, 86, 0.4); color: inherit;
  padding: 0 2px; border-radius: 3px;
}
.ad-kniha-vysledky-prazdne {
  padding: 1.5rem 0.5rem; text-align: center;
  font-family: var(--font-serif); font-style: italic; color: #8a7c5c;
}

/* Oddeľovač medzi dátumovými a textovými nálezmi v registri */
.ad-kniha-vysledky-oddel {
  padding: 0.65rem 0.25rem 0.35rem;
  font-family: var(--font-serif); font-style: italic;
  font-size: 0.82rem; color: #8a7c5c; letter-spacing: 0.02em;
  border-top: 1px dotted rgba(217, 179, 86, 0.45);
  margin-top: 0.4rem;
}

/* Pokračovanie tam, kde čitateľ skončil */
.ad-kniha-pokracovat {
  display: block; margin: 10px auto 0;
  background: none; border: 1px dotted rgba(217, 179, 86, 0.5);
  color: #d9b356; border-radius: 999px; cursor: pointer;
  padding: 6px 16px; font-size: 12.5px;
}
.ad-kniha-pokracovat:hover { border-style: solid; background: rgba(217, 179, 86, 0.08); }

@media print {
  .ad-kniha-register, .ad-kniha-ovladanie, .ad-kniha-hint, .ad-kniha-pokracovat { display: none !important; }
}
@media (max-width: 640px) {
  .ad-kniha-register { padding: 4vh 0.6rem 1rem; }
  .ad-kniha-register-panel { max-height: 88vh; }
}

/* Centrálny vyhľadávač kroniky nad knihou */
.ad-kniha-vyhladavac {
  display: flex; align-items: center; gap: 10px;
  width: min(520px, calc(100% - 60px)); margin: 0 auto 1.4rem 0;
  padding: 11px 18px; border-radius: 999px; cursor: pointer;
  background: rgba(244, 239, 227, 0.05);
  border: 1px solid rgba(217, 179, 86, 0.3);
  color: rgba(235, 228, 208, 0.55);
  font-size: 13.5px; text-align: left;
  transition: border-color .15s ease, background .15s ease, color .15s ease;
}
@media (min-width: 1000px) {
  .ad-kniha-vyhladavac { margin: 0 auto 1.4rem; } /* na širokej obrazovke centrovaný, X je ďaleko */
}
.ad-kniha-vyhladavac i { color: #d9b356; font-size: 16px; flex: 0 0 auto; }
.ad-kniha-vyhladavac span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ad-kniha-vyhladavac:hover, .ad-kniha-vyhladavac:focus-visible {
  border-color: rgba(217, 179, 86, 0.6);
  background: rgba(244, 239, 227, 0.09);
  color: rgba(235, 228, 208, 0.8);
  outline: none;
}

/* Ovládanie knihy na boku (širšie obrazovky) */
@media (min-width: 1000px) {
  .ad-kniha-ovladanie {
    position: absolute; right: -60px; top: 50%;
    transform: translateY(-50%);
    flex-direction: column; gap: 12px; margin-top: 0;
  }
  .ad-kniha-pocitadlo { order: -1; font-size: 11px; letter-spacing: 0.06em; text-align: center; }
  #ad-kniha-tlac { margin-top: 14px; position: relative; }
  #ad-kniha-tlac::before {
    content: ''; position: absolute; top: -14px; left: 20%; right: 20%;
    border-top: 1px dotted rgba(235, 228, 208, 0.25);
  }
}
@media print { .ad-kniha-vyhladavac { display: none !important; } }

/* Ľudia môjho života – portrétové strany kroniky */
.ad-kniha-postava {
  display: flex; flex-direction: column; align-items: center;
  justify-content: center; text-align: center;
}
.ad-kniha-postava-foto {
  width: clamp(110px, 18vw, 150px); height: clamp(110px, 18vw, 150px);
  border-radius: 50%; overflow: hidden; margin-bottom: 1.4rem;
  border: 3px solid #fbf8ee;
  box-shadow: 0 0 0 1px #cbc1a4, 0 10px 26px rgba(60, 48, 22, 0.28);
}
.ad-kniha-postava-foto img {
  width: 100%; height: 100%; object-fit: cover;
  filter: sepia(0.22) saturate(0.92);
}
.ad-kniha-postava-foto.je-monogram {
  display: flex; align-items: center; justify-content: center;
  background: radial-gradient(circle at 32% 28%, #f2ecda, #ddd2b4);
}
.ad-kniha-postava-foto.je-monogram span {
  font-family: var(--font-serif); font-size: clamp(40px, 6vw, 56px); color: #9b8757;
}
.ad-kniha-postava-vztah { margin-bottom: 0.5rem !important; }
.ad-kniha-postava-meno {
  font-family: var(--font-serif); font-weight: 400;
  font-size: clamp(26px, 3.6vw, 36px); color: #2c2314; margin: 0 0 1rem;
}
.ad-kniha-postava-slova {
  max-width: 30em; margin: 0 auto;
  font-family: var(--font-serif); font-style: italic;
  font-size: 1.06rem; line-height: 1.8; color: #4a4028;
}
.ad-kniha-postava-zaznamy {
  margin-top: 1.6rem; font-size: 0.75rem; letter-spacing: 0.1em;
  text-transform: uppercase; color: #8a7c5c;
}
.ad-kniha-postava-zaznamy i { color: #9b8757; margin-right: 4px; }

/* ============================================================
   MÚDROSŤ: užší listing, stránky kroniky, easter egg
   ============================================================ */
/* Výsledky nejdú od okraja po okraj – užší, sústredený stĺpec */
.ad-mudrost-vysledky { max-width: 560px; margin-left: auto; margin-right: auto; }
.ad-mudrost-karta { padding: 11px 14px; }
.ad-mudrost-karta-titul { font-size: 15.5px; }
.ad-mudrost-karta-uryvok { font-size: 12.5px; }
.ad-mudrost-hlas { padding: 13px 15px; }
.ad-mudrost-hlas-text { font-size: 14.5px; }

/* Stránka kroniky / Magazín – decentnejšia karta bez zlatého pásika */
.ad-mudrost-karta.ad-mudrost-stranka {
  border-left: 2px solid rgba(171, 167, 154, 0.45);
  background: var(--surface-0);
}
.ad-mudrost-karta.ad-mudrost-stranka:hover { border-color: var(--border-strong); }

/* Easter egg – tajná správa kroniky. Nič veľkolepé, len iné:
   nočný atrament, zlatý dvojrám a hviezda, ktorá sa raz nadýchne. */
.ad-mudrost-egg {
  position: relative; text-align: center;
  margin: 4px 0; padding: 20px 22px 16px;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(217, 179, 86, 0.1) 0%, transparent 55%),
    #12100c;
  border: 1px solid rgba(217, 179, 86, 0.55);
  border-radius: 14px;
  box-shadow: inset 0 0 0 3px #12100c, inset 0 0 0 4px rgba(217, 179, 86, 0.3);
}
.ad-mudrost-egg-znak {
  color: #d9b356; font-size: 20px; line-height: 1; margin-bottom: 10px;
  animation: adEggDych 2.6s ease-in-out 1;
}
@keyframes adEggDych {
  0%   { opacity: 0; transform: scale(0.6) rotate(-20deg); }
  55%  { opacity: 1; transform: scale(1.25) rotate(8deg); }
  100% { transform: scale(1) rotate(0deg); }
}
.ad-mudrost-egg-text {
  font-family: var(--font-serif); font-style: italic;
  font-size: 15.5px; line-height: 1.75; color: #efe6cf;
}
.ad-mudrost-egg-podpis {
  margin-top: 10px; font-size: 11px; letter-spacing: 0.14em;
  text-transform: uppercase; color: rgba(217, 179, 86, 0.75);
}

/* Rozpísané na mobile: nič ich nesmie prekryť ani zablokovať dotyk */
#ad-koncepty-btn, .ad-koncepty-panel { position: relative; z-index: 20; }
#ad-koncepty-btn, .ad-koncept-nacitat, .ad-koncept-zmazat { touch-action: manipulation; }
@media (max-width: 768px) {
  .ad-koncept-zmazat { padding: 10px 12px; } /* väčší dotykový terč pre prst */
}

/* ============================================================
   POZNÁMKOVÝ BLOK – predsieň kroniky
   ============================================================ */
/* ============================================================
   RÝCHLE MENU (desktop) – galaxia vpravo dole
   ============================================================ */
.ad-rychle-menu {
  position: fixed; right: 22px; bottom: 22px; z-index: 230;
  display: none; flex-direction: column; align-items: flex-end; gap: 12px;
  /* Neviditeľný stĺpec skrytých položiek nesmie kradnúť kliky obsahu pod ním
     (žral kliky na dlaždiciach Pokladov v pravom dolnom rohu). */
  pointer-events: none;
}
.ad-rychle-menu .ad-rm-spust { pointer-events: auto; }
@media (min-width: 901px) { .ad-rychle-menu { display: flex; } }
body.ad-blok-otvoreny .ad-rychle-menu { display: none; }
.ad-rm-spust {
  width: 58px; height: 58px; border-radius: 50%;
  padding: 0; cursor: pointer; position: relative; overflow: hidden;
  background: linear-gradient(150deg, #262c47 0%, #12162a 100%);
  border: 1.5px solid rgba(217, 179, 86, 0.75);
  box-shadow: inset 0 1px 0 rgba(240, 220, 170, 0.14), 0 4px 14px rgba(0, 0, 0, 0.4);
  transition: box-shadow .16s ease, transform .16s ease;
}
.ad-rm-spust:hover { transform: translateY(-2px); box-shadow: inset 0 1px 0 rgba(240, 220, 170, 0.14), 0 6px 18px rgba(0, 0, 0, 0.5), 0 0 16px rgba(217, 179, 86, 0.22); }
.ad-rm-obraz {
  position: absolute; inset: 0; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--gold-light, #F3CC7C);
  transition: transform .45s cubic-bezier(0.34, 1.2, 0.64, 1);
}
.ad-rm-obraz i { font-size: 27px; }
.ad-rychle-menu.je-otvorene .ad-rm-obraz { transform: rotate(45deg); }
.ad-rm-polozky { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.ad-rm-polozka {
  display: flex; align-items: center; gap: 10px;
  background: none; border: none; padding: 0; cursor: pointer;
  font: inherit; color: var(--text-primary);
  opacity: 0; transform: translateY(10px) scale(0.8);
  pointer-events: none;
  transition: transform .2s cubic-bezier(0.34, 1.3, 0.64, 1), opacity .16s ease;
}
.ad-rychle-menu.je-otvorene .ad-rm-polozka { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.ad-rm-label {
  font-size: 12px; letter-spacing: 0.02em;
  background: var(--surface-1); border: 0.5px solid var(--border);
  padding: 4px 11px; border-radius: 10px;
}
.ad-rm-kruh {
  width: 44px; height: 44px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 19px; color: #f0dcaa;
  background: linear-gradient(150deg, #2b3252 0%, #1a1f36 100%);
  border: 0.5px solid rgba(217, 179, 86, 0.4);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.35);
}
.ad-rm-polozka:hover .ad-rm-kruh { border-color: rgba(217, 179, 86, 0.8); }

.ad-blok {
  position: fixed; inset: 0; z-index: 240;
  background: rgba(5, 7, 12, 0.55);
  backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px);
  display: flex; align-items: flex-end; justify-content: center;
}
.ad-blok[hidden] { display: none; }
.ad-blok-panel {
  width: 100%; max-height: 78vh;
  display: flex; flex-direction: column;
  background: var(--surface-1); border: 0.5px solid var(--border);
  border-bottom: none; border-radius: 18px 18px 0 0;
  padding: 14px 16px calc(14px + env(safe-area-inset-bottom, 0px));
  animation: ad-blok-hore .2s ease-out;
}
@keyframes ad-blok-hore {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (min-width: 769px) {
  .ad-blok { align-items: flex-end; justify-content: flex-end; padding: 0 24px 24px 0; background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; pointer-events: none; }
  .ad-blok-panel {
    pointer-events: auto;
    width: 400px; max-height: 70vh;
    border: 0.5px solid var(--border); border-radius: 14px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.55);
  }
}
.ad-blok-hlava {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 10px;
}
.ad-blok-titul {
  font-family: var(--font-serif); font-size: 17px; color: var(--text-primary);
  display: inline-flex; align-items: center; gap: 8px;
}
.ad-blok-titul i { color: #d9b356; }
.ad-blok-x {
  background: none; border: none; cursor: pointer;
  color: var(--text-muted); font-size: 17px; padding: 6px 8px; border-radius: 8px;
}
.ad-blok-x:hover { color: var(--text-primary); background: var(--surface-2); }
.ad-blok-novy textarea {
  width: 100%; resize: vertical; min-height: 64px;
  background: var(--surface-0); border: 0.5px solid var(--border);
  border-radius: 10px; color: var(--text-primary);
  padding: 10px 12px; font-size: 14px; line-height: 1.6;
}
.ad-blok-novy textarea:focus { outline: none; border-color: rgba(217, 179, 86, 0.6); }
.ad-blok-novy { display: flex; flex-direction: column; align-items: flex-end; }
.ad-blok-novy textarea { align-self: stretch; }
.ad-blok-novy button { margin-top: 8px; }
.ad-blok-pridat-btn {
  background: linear-gradient(135deg, #f0dcae, #d1ab5e) !important;
  border: none !important;
  color: #17130d !important; font-weight: 700;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.35);
}
.ad-blok-pridat-btn:hover { background: linear-gradient(135deg, #f5e4bc, #ddba6e) !important; transform: translateY(-1px); }
.ad-blok-pridat-btn i { color: #17130d; }
.ad-blok-zoznam {
  overflow-y: auto; flex: 1 1 auto; min-height: 0;
  border-bottom: 0.5px solid var(--border);
  margin-bottom: 12px; padding-bottom: 4px;
}
.ad-blok-novy { flex: 0 0 auto; }
.ad-blok-novy-riadok {
  display: flex; align-items: center; justify-content: flex-end; gap: 14px;
  align-self: stretch; margin-top: 8px;
}
.ad-blok-novy-riadok .ad-blok-pridat-btn { margin-top: 0; }
.ad-blok-dolezite-prepinac {
  display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
  font-size: 12.5px; color: var(--text-muted); user-select: none;
  padding: 6px 4px; touch-action: manipulation;
}
.ad-blok-dolezite-prepinac input { accent-color: #d9b356; width: 15px; height: 15px; cursor: pointer; }
.ad-blok-dolezite-prepinac i { color: rgba(217, 179, 86, 0.6); font-size: 14px; }
.ad-blok-dolezite-prepinac:has(input:checked) { color: #e8cf8e; }
.ad-blok-dolezite-prepinac:has(input:checked) i { color: #d9b356; }

/* Dôležitá poznámka – jantárové zvýraznenie */
.ad-blok-poznamka.je-dolezita {
  background: linear-gradient(90deg, rgba(217, 179, 86, 0.12), rgba(217, 179, 86, 0.03));
  border-left: 3px solid #d9b356;
  border-bottom-color: rgba(217, 179, 86, 0.3);
  border-radius: 4px 10px 10px 4px;
  padding-left: 10px; padding-right: 6px;
}
.ad-blok-poznamka.je-dolezita .ad-blok-poznamka-cas { color: #e8cf8e; }
.ad-blok-poznamka.je-dolezita .ad-blok-poznamka-text { color: var(--text-primary); }
.ad-blok-hviezda { color: #d9b356; font-size: 11px; vertical-align: baseline; margin-right: 2px; }
.ad-blok-poznamka { padding: 10px 2px; border-bottom: 0.5px dotted var(--border); }
.ad-blok-poznamka-hlava {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 4px;
}
.ad-blok-poznamka-cas {
  font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--text-muted);
}
.ad-blok-poznamka-ikony { display: inline-flex; align-items: center; gap: 2px; }
.ad-blok-do-kroniky, .ad-blok-zmaz {
  background: none; border: none; cursor: pointer; text-decoration: none;
  padding: 8px 9px; border-radius: 8px; font-size: 15px; line-height: 1;
  touch-action: manipulation;
}
.ad-blok-do-kroniky { color: #d9b356; }
.ad-blok-do-kroniky:hover { background: rgba(217, 179, 86, 0.12); }
.ad-blok-zmaz { color: var(--text-muted); }
.ad-blok-zmaz:hover { color: #e08a8a; background: var(--surface-2); }
.ad-blok-poznamka-text {
  font-size: 13.5px; line-height: 1.65; color: var(--text-secondary);
  white-space: pre-wrap; word-break: break-word;
}
.ad-blok-prazdny {
  padding: 18px 6px; text-align: center;
  font-style: italic; font-size: 13px; color: var(--text-muted);
}

/* Spúšťač na počítači – tiché pierko v rohu (na mobile je blok v rýchlom menu) */
.ad-blok-fab-desktop {
  display: none;
}
@media (min-width: 769px) {
  .ad-blok-fab-desktop {
    display: inline-flex; align-items: center; justify-content: center;
    position: fixed; right: 24px; bottom: 24px; z-index: 140;
    width: 46px; height: 46px; border-radius: 50%; cursor: pointer;
    background: var(--surface-1); border: 0.5px solid var(--border);
    color: #d9b356; font-size: 20px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
    transition: transform .15s ease, border-color .15s ease;
  }
  .ad-blok-fab-desktop:hover { transform: translateY(-2px); border-color: rgba(217, 179, 86, 0.6); }
  body.ad-blok-otvoreny .ad-blok-fab-desktop { display: none; }
}

/* Súhvezdie rodu: hravé tlačidlo a výpočet predkov */
.ad-rodokmen-ovladanie button.je-hviezdny { color: #f0dcae; border-color: rgba(217, 179, 86, 0.6); }
.ad-rk-kolki-panel { width: min(440px, 100%); }
.ad-rk-kolki-uvod { font-size: 13px; color: var(--text-secondary); margin: 0 0 10px; }
.ad-rk-kolki-chipy { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }
.ad-rk-kolki-chipy .ad-kniha-chip {
  background: var(--surface-0); border-color: var(--border); color: var(--text-secondary);
}
.ad-rk-kolki-chipy .ad-kniha-chip:hover,
.ad-rk-kolki-chipy .ad-kniha-chip.je-aktivny {
  border-color: rgba(217, 179, 86, 0.7); color: #e8cf8e; background: rgba(217, 179, 86, 0.08);
}
.ad-rk-kolki-cisla {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;
  margin: 12px 0 4px; text-align: center;
}
.ad-rk-kolki-cisla strong {
  display: block; font-family: var(--font-serif); font-weight: 400;
  font-size: clamp(15px, 4vw, 22px); color: #e8cf8e; line-height: 1.25;
  overflow-wrap: anywhere;
}
.ad-rk-kolki-cisla span {
  display: block; margin-top: 3px;
  font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-muted);
}
.ad-rk-kolki-poznamka { font-size: 12.5px !important; color: var(--text-secondary) !important; line-height: 1.65 !important; display: block !important; }
.ad-rk-kolki-pointa {
  display: block !important; margin: 10px 0 0 !important; text-align: center;
  font-family: var(--font-serif); font-style: italic; font-size: 14.5px !important;
  color: #e8cf8e !important;
}

/* Úvodné video ako tiché pozadie stránky (Ako to funguje, Začať) */
.ad-video-pozadie {
  position: fixed; inset: 0; z-index: -1;
  overflow: hidden; pointer-events: none;
}
.ad-video-pozadie video {
  width: 100%; height: 100%; object-fit: cover;
}
.ad-video-pozadie-clona {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10,10,9,0.55) 0%, rgba(10,10,9,0.75) 55%, rgba(10,10,9,0.92) 100%);
}

/* Uložiť na neskôr – tichá záložka čitateľa */
.ad-neskor-obal {
  display: flex; align-items: center; gap: 14px;
  margin: 14px 0 4px;
}
.ad-neskor-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 16px; border-radius: 999px; cursor: pointer;
  background: var(--surface-1); color: var(--text-secondary);
  border: 0.5px solid var(--border);
  font-size: 13px;
  transition: border-color .15s ease, color .15s ease;
  touch-action: manipulation;
}
.ad-neskor-btn:hover { border-color: rgba(217, 179, 86, 0.5); color: var(--text-primary); }
.ad-neskor-btn i { color: #d9b356; font-size: 16px; }
.ad-neskor-btn.je-ulozeny {
  border-color: rgba(217, 179, 86, 0.55);
  background: rgba(217, 179, 86, 0.08);
  color: #e8cf8e;
}
.ad-neskor-odkaz { font-size: 12.5px; color: var(--text-muted); text-decoration: none; }
.ad-neskor-odkaz:hover { color: var(--accent-text); }
.ad-objav-ulozene-odkaz {
  display: inline-flex; align-items: center; gap: 6px;
  margin-top: 8px; font-size: 13px;
  color: var(--text-muted); text-decoration: none;
}
.ad-objav-ulozene-odkaz:hover { color: var(--accent-text); }
.ad-objav-ulozene-odkaz i { color: #d9b356; }

/* Stránka Uložené na neskôr */
.ad-ulozene-obal { max-width: 720px; padding-top: 3rem; padding-bottom: 4rem; }
.ad-ulozene-nadpis {
  font-family: var(--font-serif); font-weight: 400;
  font-size: clamp(28px, 4vw, 40px); color: var(--text-primary);
  margin: 0.5rem 0 0.75rem;
}
.ad-ulozene-podnadpis { color: var(--text-secondary); font-size: 14.5px; line-height: 1.65; margin-bottom: 2rem; }
.ad-ulozene-zoznam { display: flex; flex-direction: column; gap: 12px; }
.ad-ulozene-karta {
  position: relative; display: flex; align-items: stretch;
  background: var(--surface-1); border: 0.5px solid var(--border);
  border-radius: 14px; overflow: hidden;
  transition: opacity .2s ease, border-color .15s ease;
}
.ad-ulozene-karta:hover { border-color: var(--border-strong); }
.ad-ulozene-karta-telo { flex: 1; min-width: 0; padding: 14px 16px; text-decoration: none; }
.ad-ulozene-karta-meta {
  font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: 6px;
}
.ad-ulozene-karta h2 {
  font-family: var(--font-serif); font-weight: 400;
  font-size: 19px; color: var(--text-primary); margin: 0 0 6px;
}
.ad-ulozene-karta p { font-size: 13.5px; line-height: 1.6; color: var(--text-secondary); margin: 0; }
.ad-ulozene-odlozit {
  flex: 0 0 auto; width: 52px;
  background: none; border: none; border-left: 0.5px dotted var(--border);
  color: var(--text-muted); font-size: 18px; cursor: pointer;
  touch-action: manipulation;
}
.ad-ulozene-odlozit:hover { color: #e08a8a; background: var(--surface-2); }
.ad-ulozene-prazdne {
  text-align: center; padding: 3.5rem 1rem;
  border: 0.5px dashed var(--border); border-radius: 16px;
  color: var(--text-secondary);
}
.ad-ulozene-prazdne i { font-size: 34px; color: rgba(217, 179, 86, 0.5); display: block; margin-bottom: 12px; }
.ad-ulozene-prazdne p { max-width: 34em; margin: 0 auto 16px; font-size: 14px; line-height: 1.65; }

/* Logo: prvé slovo výrazné (strong z dynamického názvu) */
.ad-logo strong { font-weight: inherit; }

/* Počet strán kroniky v smaragdovej */
.ad-kniha-stat-hlavna strong { color: #5fb98a; }

/* Ľudstvo ako spodná časť dlaždice Môj pocit */
.ad-nalada-ludstva.je-v-pocite {
  margin-top: 12px !important;
  padding: 12px 0 0 !important;
  border: none !important; border-top: 0.5px dotted var(--border) !important;
  border-radius: 0 !important; background: none !important; box-shadow: none !important;
}
.ad-nalada-ludstva.je-v-pocite::before { display: none !important; }
.ad-nalada-ludstva.je-v-pocite .ad-nalada-ludstva-nadpis { font-size: 11px; }

/* Kompaktnejšie dlaždice paluby */
@media (min-width: 901px) {
  #ad-dnes-mostik > * { padding: 13px 15px !important; }
  #ad-dnes-mostik .ad-pocit-riadok { padding: 3px 0; }
  #ad-dnes-mostik .ad-otazka-dna-eyebrow { margin-bottom: 8px; }
  #ad-dnes-mostik .ad-kniha-stat-hlavna { font-size: 1.28rem; }
}

/* Infobublina paluby */
.ad-dnes-info-btn {
  align-self: flex-start;
  width: 26px; height: 26px; border-radius: 50%; cursor: pointer;
  background: none; border: 0.5px solid rgba(217, 179, 86, 0.35);
  color: #d9b356; font-size: 16px;
  display: inline-flex; align-items: center; justify-content: center;
  margin-top: 4px;
}
.ad-dnes-info-btn:hover { border-color: rgba(217, 179, 86, 0.7); }
.ad-dnes-info {
  position: fixed; inset: 0; z-index: 250;
  background: rgba(5, 7, 12, 0.6);
  display: flex; align-items: center; justify-content: center; padding: 1rem;
}
.ad-dnes-info[hidden] { display: none; }
.ad-dnes-info p { font-size: 13.5px; color: var(--text-secondary); line-height: 1.7; margin: 0; }

/* Rýchle menu aj na počítači: hlavné tlačidlo potrebuje vizuál,
   ktorý má mobil vo svojom media query */
@media (min-width: 769px) {
  .ad-fab-menu .ad-fab {
    display: inline-flex; align-items: center; justify-content: center;
    width: 56px; height: 56px; border-radius: 50%;
    background: var(--accent-text); color: var(--surface-0);
    font-size: 1.5rem; text-decoration: none; cursor: pointer;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
    transition: transform .15s ease;
  }
  .ad-fab-menu .ad-fab:active { transform: scale(0.94); }
  .ad-fab-menu { right: 24px; bottom: 24px; }
  .ad-blok-fab-desktop { display: none !important; } /* blok je v rýchlom menu */
}

/* Pás rokov v Záznamoch – rýchly skok do obdobia */
.ad-tl-roky {
  display: flex; flex-wrap: wrap; gap: 6px;
  padding: 8px 0 2px;
}
.ad-tl-rok {
  border: 0.5px solid var(--border); background: var(--surface-1);
  color: var(--text-muted); border-radius: 999px; cursor: pointer;
  padding: 4px 12px; font-size: 12px;
  transition: border-color .15s ease, color .15s ease;
}
.ad-tl-rok em {
  font-style: normal; font-size: 10.5px; opacity: 0.7; margin-left: 2px;
}
.ad-tl-rok:hover { border-color: var(--border-strong); color: var(--text-secondary); }
.ad-tl-rok.active {
  border-color: rgba(217, 179, 86, 0.6); color: #e8cf8e;
  background: rgba(217, 179, 86, 0.08);
}

/* Upozornenie vnútri skupiny Nezadaný vek */
.ad-faza-upozornenie {
  font-size: 12px; font-style: italic; line-height: 1.6;
  margin: 4px 4px 12px; padding: 8px 12px;
  border-left: 2px solid rgba(217, 179, 86, 0.4);
  background: rgba(217, 179, 86, 0.04);
  border-radius: 0 8px 8px 0;
}

/* Skupinové pocity ľudstva (muži/ženy, vekové kategórie) */
.ad-nalada-skupiny {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 4px 14px; margin-top: 10px; padding-top: 10px;
  border-top: 0.5px dotted var(--border);
}
.ad-nalada-skupina {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  font-size: 12px;
}
.ad-nalada-skupina-label {
  font-size: 10.5px; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-muted);
}
.ad-nalada-skupina em { font-style: normal; display: inline-flex; align-items: center; gap: 4px; }

/* Uložené na neskôr v dlaždici paluby */
.ad-dnes-ulozene { display: flex; flex-direction: column; gap: 5px; margin-top: 6px; }
.ad-dnes-ulozeny { text-decoration: none; line-height: 1.35; padding: 3px 0; }
.ad-dnes-ulozeny strong { display: block; font-size: 13px; color: var(--text-primary); font-weight: 600; }
.ad-dnes-ulozeny span { font-size: 11px; color: var(--text-muted); }
.ad-dnes-ulozeny:hover strong { color: var(--accent-text); }
.ad-dnes-ulozene-prazdne { font-size: 12px; color: var(--text-muted); font-style: italic; line-height: 1.55; }

/* Pilulky štatistík ako zvislý stĺpec vľavo */
@media (min-width: 901px) {
  #ad-dnes-mostik .ad-stat-strip { flex-direction: column; align-items: stretch; gap: 8px; }
  #ad-dnes-mostik .ad-stat-strip > * { justify-content: flex-start; }
}

/* ============================================================
   POKLADY NA POČÍTAČI – mozaika hodnôt, dôležité hore
   ============================================================ */
@media (min-width: 769px) {
  .ad-poklady {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 92px;
    grid-template-areas:
      "mudrost  mudrost   suhvezdie  suhvezdie"
      "mudrost  mudrost   kronika    kronika"
      "ludia    ludia     rozhovor   rozhovor"
      "rozhkron zdover    objav      sprievodca"
      "mapa     testament trezor     trezor";
    gap: 10px;
    padding: 16px 1.5rem 20px;
    border-top: 0.5px solid var(--border);
    font-size: inherit;
  }
  .ad-poklady > a {
    display: flex; flex-direction: column;
    align-items: center; justify-content: center; text-align: center;
    gap: 8px; min-width: 0; padding: 10px;
    background: var(--surface-1);
    border: 0.5px solid var(--border);
    border-radius: 14px;
    color: var(--text-secondary);
    font-size: 12.5px; font-weight: 600; line-height: 1.3;
    text-decoration: none;
    transition: border-color .15s ease, transform .15s ease;
  }
  .ad-poklady > a:hover { border-color: rgba(217, 179, 86, 0.5); transform: translateY(-2px); color: var(--text-primary); }
  .ad-poklady > a i { font-size: 22px; color: #d9b356; }

  .ad-pk-mudrost    { grid-area: mudrost; }
  .ad-pk-rodokmen   { grid-area: suhvezdie; }
  .ad-pk-kniha      { grid-area: kronika; }
  .ad-pk-ludia      { grid-area: ludia; }
  .ad-pk-rozhovor   { grid-area: rozhovor; }
  .ad-pk-rozhkron   { grid-area: rozhkron; }
  .ad-pk-zdover     { grid-area: zdover; }
  .ad-pk-objav      { grid-area: objav; }
  .ad-pk-sprievodca { grid-area: sprievodca; }
  .ad-pk-mapa       { grid-area: mapa; }
  .ad-pk-testament  { grid-area: testament; }
  .ad-pk-trezor     { grid-area: trezor; }

  .ad-poklady .ad-pk-mudrost {
    background: linear-gradient(160deg, rgba(217, 179, 86, 0.18), rgba(217, 179, 86, 0.07));
    border-color: rgba(217, 179, 86, 0.55);
    color: #e8cf8e; font-weight: 700; font-size: 15px; gap: 12px;
  }
  .ad-poklady .ad-pk-mudrost i { font-size: 34px; }

  /* Živé Poklady: názov + kúsok obsahu pod ním */
  .ad-poklady .ad-pk-info {
    display: block; margin-top: 3px;
    font-size: 11px; font-weight: 400; color: var(--text-muted);
    letter-spacing: 0.02em;
  }
  .ad-poklady .ad-pk-mudrost .ad-pk-info { color: rgba(232, 207, 142, 0.8); }
  .ad-poklady .ad-pk-nazov { display: block; }
  .ad-poklady > a.ad-pk-trezor,
  .ad-poklady > a.ad-pk-ludia,
  .ad-poklady > a.ad-pk-kniha,
  .ad-poklady > a.ad-pk-rozhovor,
  .ad-poklady > a.ad-pk-rodokmen {
    flex-direction: column;
  }
  .ad-pk-rodokmen, .ad-pk-kniha, .ad-pk-ludia, .ad-pk-rozhovor, .ad-pk-trezor {
    flex-direction: row; font-size: 13.5px; color: var(--text-primary);
  }
}

/* ============================================================
   ZÁZNAMY: pilulky na centrálnom pozadí, kratšie vyhľadávanie
   ============================================================ */
.ad-filter-row.ad-profile-tabs {
  background: none;
  border-bottom: none;
  justify-content: center;      /* pilulky vycentrované pod hlavičkou */
  padding-top: 0.5rem;
  padding-bottom: 0.2rem;
}
.ad-tl-search-wrap {
  width: calc(100% - 100px);
  margin: calc(0.25rem + 10px) auto 0.5rem;  /* +10px odstup od piluliek */
}

/* Žiadna mŕtva medzera nad pilulkami – obsah začína hneď pod lištou.
   Vinník: .ad-profile-header s padding-top ostáva v DOMe aj v miestnostiach,
   kde je jeho obsah skrytý – mimo Dnes ho skrývame celý. */
/* Len v Záznamoch – v Pokladoch a Ja žije v hlavičke obsah (mriežka pokladov, šuplík) */
.ad-profile-page[data-izba="zaznamy"] .ad-profile-header { display: none; }
/* Žiadna mŕtva medzera nad pilulkami – obsah začína hneď pod lištou */
.ad-profile-page { padding-top: 0 !important; }
.ad-page-grid { margin-top: 0 !important; padding-top: 0 !important; }
.ad-main-col > :first-child { margin-top: 0 !important; }
.ad-filter-row.ad-profile-tabs { margin-top: 0 !important; }
.ad-profil-lista { margin-bottom: 0 !important; }
/* Filtre typov a pás rokov: na centrálnom pozadí, zarovnané vľavo */
.ad-ptabpane .ad-filter-row {
  background: none;
  border-bottom: none;
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;
}

/* ============================================================
   FÁZA 1: JEDNO MENU – sekcie s podmenu, druhá lišta preč
   ============================================================ */
/* Vzdušnejšie horné menu v jazyku webu */
@media (min-width: 901px) {
  .ad-nav-links { gap: 26px; }
}
.ad-nav-skupina { position: relative; display: inline-flex; }
.ad-nav-skupina-btn {
  display: inline-flex; align-items: center; gap: 6px;
  background: none; border: none; cursor: pointer;
  color: inherit; font: inherit; font-size: 13.5px; letter-spacing: 0.02em;
  padding: 10px 4px;
  text-decoration: none;
}
.ad-nav-skupina-btn:hover { color: var(--text-primary); }
.ad-nav-skupina-btn .ti-chevron-down { font-size: 11px; opacity: 0.55; transition: transform .15s ease; }
.ad-nav-skupina:hover .ad-nav-skupina-btn .ti-chevron-down,
.ad-nav-skupina:focus-within .ad-nav-skupina-btn .ti-chevron-down { transform: rotate(180deg); }

.ad-nav-podmenu {
  position: absolute; top: 100%; left: 50%;
  transform: translateX(-50%) translateY(4px);
  min-width: 216px; padding: 9px;
  background: var(--surface-1);
  border: 0.5px solid rgba(217, 179, 86, 0.28);
  border-radius: 14px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.5);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  display: flex; flex-direction: column; gap: 2px;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .14s ease .18s, visibility .14s ease .18s, transform .14s ease .18s;
  z-index: 300;
}
/* Neviditeľný most: myš smie prejsť z celej šírky odkazu na podmenu */
.ad-nav-podmenu::before {
  content: ''; position: absolute;
  top: -14px; left: -20px; right: -20px; height: 16px;
}
.ad-nav-skupina:hover .ad-nav-podmenu,
.ad-nav-skupina:focus-within .ad-nav-podmenu {
  opacity: 1; visibility: visible; pointer-events: auto;
  transform: translateX(-50%) translateY(6px);
  transition-delay: 0s; /* otvorenie hneď, zatvorenie s tolerantným oneskorením */
}
.ad-nav-podmenu a {
  padding: 10px 15px; border-radius: 9px;
  color: var(--text-secondary); text-decoration: none;
  font-size: 13.5px; letter-spacing: 0.015em; line-height: 1.4;
  white-space: nowrap;
}
.ad-nav-podmenu a:hover { background: rgba(217, 179, 86, 0.09); color: var(--text-primary); }

.ad-nav-zapisat { padding: 7px 16px !important; font-size: 12.5px !important; }

/* Prepínač režimu v pätičke */
.ad-footer-toggle-obal {
  display: flex; justify-content: center; padding: 10px 0 16px;
  background: var(--surface-0);
}

/* Druhá lišta profilu na počítači končí – navigáciu prevzalo horné menu */
@media (min-width: 769px) {
  .ad-profil-lista { display: none !important; }
}

/* Mobilný hamburger: sekcie ako nadpisy, obsah zarovnaný doprava */
@media (max-width: 900px) {
  .ad-nav.open .ad-nav-links { align-items: stretch; text-align: right; }
  .ad-nav-links .ad-nav-skupina { display: block; text-align: right; }
  .ad-nav-links .ad-nav-skupina-btn {
    pointer-events: none; opacity: 0.85;
    font-size: 20px; font-family: var(--font-serif); letter-spacing: 0.01em;
    text-transform: none; color: var(--text-primary);
    justify-content: flex-end; width: 100%;
    margin-top: 6px;
  }
  .ad-nav-links .ad-nav-skupina-btn .ti-chevron-down { display: none; }
  .ad-nav-links .ad-nav-podmenu {
    position: static; transform: none; opacity: 1; visibility: visible; pointer-events: auto;
    background: none; border: none; box-shadow: none; padding: 0; min-width: 0;
    align-items: flex-end;
  }
  .ad-nav-links .ad-nav-podmenu a { text-align: right; padding: 10px 4px; }
  /* Priame odkazy (Prihlásiť/Začať pre neprihlásených) tiež doprava */
  .ad-nav.open .ad-nav-links > a { text-align: right; }
  /* Tlačidlo Zapísať v mobilnom menu netreba – je v spodnej lište (＋) */
  .ad-nav-links .ad-nav-zapisat { display: none; }
  /* Sekcia Život netreba – Príbehy/Múdrosti/Sny/Priznania sú v spodnej lište (Život) */
  .ad-nav-links .ad-nav-skupina-zivot { display: none; }
}

/* FÁZA 2: pulz štatistík na palube – zvislý stĺpik v ľavej lište */
.ad-lista-pulz.je-na-palube {
  display: flex; flex-direction: column; align-items: stretch; gap: 8px;
  margin-bottom: 10px; padding-bottom: 12px;
  border-bottom: 0.5px dotted var(--border);
}
.ad-lista-pulz.je-na-palube .ad-lista-bublina-obal { position: relative; display: block; }
.ad-lista-pulz.je-na-palube .ad-lista-mini,
.ad-lista-pulz.je-na-palube .ad-dni-pilulka {
  width: 100%; justify-content: flex-start; display: inline-flex;
  align-items: center; gap: 8px;
}
.ad-lista-pulz.je-na-palube .ad-dni-popover,
.ad-lista-pulz.je-na-palube .ad-lista-popover {
  left: calc(100% + 10px); top: 50%; transform: translateY(-50%);
  right: auto; bottom: auto;
}

/* Štít zabezpečenia pri Nastaveniach */
.ad-lista-bublina-obal.je-v-nastaveniach { position: relative; margin-left: auto; margin-right: 8px; }
.ad-lista-bublina-obal.je-v-nastaveniach .ad-profile-warning-popover,
.ad-lista-bublina-obal.je-v-nastaveniach .ad-dni-popover {
  right: 0; left: auto; top: calc(100% + 8px); transform: none;
}

/* Živé Poklady na mobile – podtitulok len na väčších dlaždiciach */
@media (max-width: 768px) {
  body.ad-ma-izby .ad-poklady .ad-pk-info {
    display: block; margin-top: 2px;
    font-size: 9.5px; font-weight: 400; color: var(--text-muted); line-height: 1.2;
  }
  body.ad-ma-izby .ad-poklady .ad-pk-mudrost .ad-pk-info { color: rgba(232, 207, 142, 0.85); font-size: 11px; }
  /* na malých 1×1 štvorcoch podtitulok skryjeme, nech nie je tlačenica */
  body.ad-ma-izby .ad-pk-rozhkron .ad-pk-info,
  body.ad-ma-izby .ad-pk-zdover .ad-pk-info,
  body.ad-ma-izby .ad-pk-objav .ad-pk-info,
  body.ad-ma-izby .ad-pk-sprievodca .ad-pk-info,
  body.ad-ma-izby .ad-pk-mapa .ad-pk-info,
  body.ad-ma-izby .ad-pk-testament .ad-pk-info { display: none; }
}

/* Oddeľovač v podmenu (pred Odhlásiť) */
.ad-nav-podmenu-oddel {
  height: 0; margin: 5px 8px;
  border-top: 0.5px solid var(--border);
}

/* Samostatná stránka Nastavení: zobrazíme LEN panel nastavení, nič z profilu.
   Reťaz: .ad-profile-page > .ad-page-grid > .ad-main-col > .ad-profil-drawer.
   Každú úroveň necháme viditeľnú a schováme len jej súrodencov mimo cesty. */
.ad-nastavenia-stranka .ad-profile-page > *:not(.ad-page-grid) { display: none !important; }
.ad-nastavenia-stranka .ad-page-grid > *:not(.ad-profil-drawer) { display: none !important; }
.ad-nastavenia-stranka .ad-page-grid { display: block !important; grid-template-columns: none !important; }
.ad-nastavenia-stranka .ad-profil-drawer-backdrop { display: none !important; }
.ad-nastavenia-stranka .ad-profil-drawer {
  display: block !important;
  position: static !important;
  top: auto !important; left: auto !important; right: auto !important;
  transform: none !important;
  opacity: 1 !important;            /* base má opacity:0 – bez tohto je panel neviditeľný */
  visibility: visible !important;
  pointer-events: auto !important;
  max-width: 640px; width: 100%; margin: 1.5rem auto;
  box-shadow: none;
  max-height: none !important;
}
.ad-nastavenia-stranka .ad-profil-drawer-close { display: none; }

/* Spodná lišta: dlaždica Moja duša (mobil) */
.ad-izba-chip-dusa i { color: #7fb3d5; }

/* Moja duša – vysúvacie menu zdola (mobil) */
.ad-dusa-sheet {
  position: fixed; inset: 0; z-index: 260;
  background: rgba(5, 7, 12, 0.55);
  -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
  display: flex; align-items: flex-end;
  opacity: 0; visibility: hidden;
  transition: opacity .2s ease, visibility .2s ease;
}
.ad-dusa-sheet.je-otvoreny { opacity: 1; visibility: visible; }
.ad-dusa-sheet-panel {
  width: 100%;
  background: var(--surface-1);
  border-top-left-radius: 20px; border-top-right-radius: 20px;
  border-top: 0.5px solid var(--border);
  padding: 10px 14px calc(18px + env(safe-area-inset-bottom, 0px));
  transform: translateY(100%);
  transition: transform .24s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.ad-dusa-sheet.je-otvoreny .ad-dusa-sheet-panel { transform: translateY(0); }
.ad-dusa-sheet-uchyt {
  width: 40px; height: 4px; border-radius: 999px;
  background: var(--border-strong); margin: 2px auto 12px;
}
.ad-dusa-sheet-titul {
  display: flex; align-items: center; justify-content: flex-end; gap: 8px;
  font-family: var(--font-serif); font-size: 17px; color: var(--text-primary);
  padding: 0 14px 10px;
}
.ad-dusa-sheet-titul i { color: #7fb3d5; }
.ad-dusa-sheet-polozka {
  display: inline-flex; align-items: center; justify-content: flex-end; gap: 12px;
  padding: 14px 14px; border-radius: 12px;
  color: var(--text-primary); text-decoration: none; font-size: 15px;
  margin-left: auto; /* blok len tak široký ako obsah, zarovnaný vpravo */
}
.ad-dusa-sheet-polozka:active { background: var(--surface-2); }
.ad-dusa-sheet-polozka i { font-size: 20px; color: var(--text-muted); width: 24px; text-align: center; order: 2; }
.ad-dusa-sheet-oddel { height: 0; border-top: 0.5px solid var(--border); margin: 6px 10px; }

/* Každá položka na vlastnom riadku (inline-flex by ich inak spojil) */
.ad-dusa-sheet-panel { display: flex; flex-direction: column; }

/* Odhlásiť ostáva vľavo – ostatné položky sú zarovnané vpravo */
.ad-dusa-sheet-polozka[href*="logout"],
.ad-dusa-sheet-polozka[href*="action=logout"] {
  justify-content: flex-start;
  margin-left: 0; margin-right: auto; /* len nad textom, prázdno vpravo neklikacie */
}
.ad-dusa-sheet-polozka[href*="logout"] i,
.ad-dusa-sheet-polozka[href*="action=logout"] i { order: 0; }

/* Krížik na zatvorenie – vpravo dole */
.ad-dusa-sheet-zavri {
  position: absolute; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  width: 44px; height: 44px; border-radius: 50%; cursor: pointer;
  background: var(--surface-2); border: 0.5px solid var(--border);
  color: var(--text-secondary); font-size: 20px;
  display: inline-flex; align-items: center; justify-content: center;
}
.ad-dusa-sheet-zavri:active { background: var(--surface-0); }
.ad-dusa-sheet-panel { position: relative; }

/* Sekcia Moja duša sa v mobilnom hamburgeri už nezobrazuje – je v spodnej lište */
@media (max-width: 900px) {
  .ad-nav-links .ad-nav-skupina:has(.ad-nav-moja-dusa) { display: none; }
}

/* ============================================================
   LIQUID GLASS – striedmo: hrdinské tlačidlo Zapísať + zlaté okraje kariet
   ============================================================ */

/* Hrdinský prvok: Zapísať môj život ako tekuté sklo (desktop nav + mobil) */
.ad-nav-zapisat.ad-btn-zapis,
.ad-nav-zapisat.ad-btn.ad-btn-zapis {
  position: relative;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0.02) 42%, rgba(255, 255, 255, 0) 60%),
    radial-gradient(circle at 24% 16%, rgba(214, 255, 230, 0.22) 0%, rgba(214, 255, 230, 0) 48%),
    linear-gradient(150deg, rgba(62, 145, 102, 0.82) 0%, rgba(37, 107, 71, 0.86) 60%, rgba(23, 85, 58, 0.9) 100%);
  -webkit-backdrop-filter: blur(12px) saturate(1.3);
  backdrop-filter: blur(12px) saturate(1.3);
  border: 0.5px solid rgba(255, 255, 255, 0.22);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.4),
    inset 0 -8px 16px rgba(6, 46, 28, 0.4),
    0 6px 20px rgba(10, 60, 36, 0.4),
    0 1px 2px rgba(0, 0, 0, 0.3);
  overflow: hidden;
}
/* Presvitajúci svetelný pruh cez sklo */
.ad-nav-zapisat.ad-btn-zapis::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(105deg, transparent 30%, rgba(255, 255, 255, 0.14) 48%, transparent 62%);
  pointer-events: none;
}
.ad-nav-zapisat.ad-btn-zapis:hover {
  transform: translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.5),
    inset 0 -8px 16px rgba(6, 46, 28, 0.4),
    0 8px 26px rgba(10, 60, 36, 0.5),
    0 1px 2px rgba(0, 0, 0, 0.3);
}

/* Mobilný ＋ (ad-izba-pero) – rovnaká sklená hĺbka */


/* Jemný zlatý svetelný okraj kariet – „drahosť" bez šumu.
   Použité striedmo: paluba, karty pokladov, kniha. */
.ad-novinky, .ad-pocit-modul, .ad-otazka-dna, .ad-kniha-stat,
.ad-dnes, .ad-ulozene-karta {
  position: relative;
}
.ad-novinky::after, .ad-pocit-modul::after, .ad-otazka-dna::after,
.ad-dnes::after {
  content: ''; position: absolute; inset: 0; border-radius: inherit;
  padding: 0.5px;
  background: linear-gradient(160deg, rgba(217, 179, 86, 0.35) 0%, rgba(217, 179, 86, 0) 40%, rgba(217, 179, 86, 0) 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  pointer-events: none;
}

/* Hrdinský sklený prvok č.2: rýchle menu (blesk) na mobile */
@media (max-width: 768px) {
  .ad-fab-menu .ad-fab {
    -webkit-backdrop-filter: blur(10px) saturate(1.2);
    backdrop-filter: blur(10px) saturate(1.2);
    border: 0.5px solid rgba(255, 255, 255, 0.2);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.35),
      0 4px 16px rgba(0, 0, 0, 0.4);
  }
}

/* Vitaj, meno v hlavnej lište (desktop) */
.ad-nav-vitaj {
  display: inline-flex; align-items: baseline; gap: 5px;
  margin-right: auto; padding: 6px 4px;
  text-decoration: none; white-space: nowrap;
}
.ad-nav-vitaj span {
  font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--text-muted);
}
.ad-nav-vitaj strong { font-size: 14px; color: var(--text-primary); font-weight: 700; }
.ad-nav-vitaj:hover strong { color: var(--accent-text); }
@media (max-width: 900px) {
  .ad-nav-vitaj { display: none; } /* na mobile identitu nesie spodná lišta */
}

/* Druhá lišta profilu na desktope definitívne preč (aj s pozadím/rámom) */
@media (min-width: 901px) {
  .ad-profil-lista.je-moja { display: none !important; }
}

/* Mobil: poradie modulov paluby – Môj pocit hneď pod kartou kroniky */
@media (max-width: 900px) {
  .ad-profile-page[data-izba="dnes"] .ad-main-col,
  .ad-profile-page:not([data-izba]) .ad-main-col {
    display: flex; flex-direction: column;
  }
  .ad-profile-page[data-izba="dnes"] .ad-profile-tabs,
  .ad-profile-page:not([data-izba]) .ad-profile-tabs { order: 0; }
  .ad-profile-page[data-izba="dnes"] .ad-profile-stred,
  .ad-profile-page:not([data-izba]) .ad-profile-stred { order: 1; }
  .ad-profile-page[data-izba="dnes"] .ad-pocit-modul,
  .ad-profile-page:not([data-izba]) .ad-pocit-modul { order: 2; }
  .ad-profile-page[data-izba="dnes"] .ad-otazka-dna,
  .ad-profile-page:not([data-izba]) .ad-otazka-dna { order: 3; }
  .ad-profile-page[data-izba="dnes"] .ad-novinky,
  .ad-profile-page:not([data-izba]) .ad-novinky { order: 4; }
  .ad-profile-page[data-izba="dnes"] .ad-nalada-ludstva,
  .ad-profile-page:not([data-izba]) .ad-nalada-ludstva { order: 5; }
  .ad-profile-page[data-izba="dnes"] .ad-vtd,
  .ad-profile-page:not([data-izba]) .ad-vtd { order: 6; }
  .ad-profile-page[data-izba="dnes"] .ad-profile-citacia,
  .ad-profile-page:not([data-izba]) .ad-profile-citacia { order: 7; }
}

/* ============================================================
   PULZ PLANÉTY – tiché počítadlo v prázdnej ploche menu Život.
   Vizuálne odlíšené od menu: mäkké, meditatívne, vľavo dole.
   ============================================================ */
.ad-dusa-pulz {
  position: absolute; left: 22px; bottom: 150px;
  max-width: 56%;
  pointer-events: none;
  opacity: 0;
  animation: ad-pulz-vstup .6s ease .25s forwards;
}
@keyframes ad-pulz-vstup { to { opacity: 1; } }
.ad-dusa-pulz-nadpis {
  font-size: 9px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--text-muted); opacity: 0.7; margin-bottom: 10px;
}
.ad-dusa-pulz-riadok { margin-bottom: 8px; }
.ad-dusa-pulz-cislo {
  display: block;
  font-family: var(--font-serif); font-weight: 400;
  font-size: 21px; line-height: 1.05;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.01em;
}
.ad-dusa-pulz-narodenia .ad-dusa-pulz-cislo { color: rgba(150, 195, 130, 0.9); }
.ad-dusa-pulz-umrtia .ad-dusa-pulz-cislo { color: rgba(170, 150, 140, 0.75); }
.ad-dusa-pulz-popis {
  display: block; margin-top: 1px;
  font-size: 10px; letter-spacing: 0.06em;
  color: var(--text-muted);
}
.ad-dusa-pulz-veta {
  margin-top: 14px;
  font-family: var(--font-serif); font-style: italic;
  font-size: 12px; line-height: 1.5;
  color: var(--text-secondary); opacity: 0.85;
}
.ad-dusa-pulz-veta-druha {
  margin-top: 8px;
  color: rgba(217, 179, 86, 0.75); /* zlatý nádych – dôstojná pointa */
  opacity: 0.95;
}
.ad-dusa-pulz-veta-tretia {
  margin-top: 8px;
  color: var(--text-secondary); opacity: 0.75;
}

/* Aby sa dlhšie čísla a veta nekryli s položkami menu na úzkych displejoch */
@media (max-width: 360px) {
  .ad-dusa-pulz { max-width: 46%; }
  .ad-dusa-pulz-cislo { font-size: 22px; }
}

/* Zvýraznenie „Práve teraz" v poslednej vete pulzu */
.ad-pulz-zlata { color: rgba(217, 179, 86, 0.9); font-style: italic; }

/* Tichá pripomienka pri verejnom zázname – ochrana bez moralizovania */
.ad-verejne-pripomienka {
  display: flex; align-items: flex-start; gap: 9px;
  margin: -2px 2px 2px; padding: 10px 12px;
  border-radius: 10px;
  background: rgba(217, 179, 86, 0.06);
  border: 0.5px solid rgba(217, 179, 86, 0.25);
  font-size: 12px; line-height: 1.5; color: var(--text-secondary);
}
.ad-verejne-pripomienka[hidden] { display: none; }
.ad-verejne-pripomienka i { color: #d9b356; font-size: 16px; flex-shrink: 0; margin-top: 1px; }

/* Značka: lokálny názov + medzinárodný podpis „by Chronicle of Lives" */
.ad-logo { display: inline-flex; flex-direction: column; line-height: 1; }
.ad-logo-nazov { display: block; }
.ad-logo-podpis {
  display: block; margin-top: 3px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 9px; letter-spacing: 0.14em; text-transform: none;
  color: var(--text-muted); font-weight: 400;
}
.ad-header-transparent .ad-logo-podpis { color: rgba(255, 255, 255, 0.45); }
/* Podpis na splash obrazovke PWA */
.ad-pwa-splash-name .ad-logo-podpis {
  margin-top: 6px; font-size: 8.5px; color: #6f6558;
}

/* Poklady: číselný odznak nad ikonou (Moja kronika, Ľudia) */
body.ad-ma-izby .ad-poklady .ad-pk-ikona {
  position: relative; flex: 0 0 auto; display: inline-flex;
}
body.ad-ma-izby .ad-poklady .ad-pk-ikona i { font-size: 40px; color: #e6c877; }
body.ad-ma-izby .ad-poklady .ad-pk-mudrost .ad-pk-ikona i { font-size: 46px; }
body.ad-ma-izby .ad-poklady .ad-pk-odznak {
  position: absolute; top: -8px; left: -8px;
  min-width: 20px; height: 20px; padding: 0 5px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px;
  background: rgba(217, 179, 86, 0.95); color: #17130d;
  font-size: 11px; font-weight: 700; line-height: 1;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
}
/* podtituly už nezobrazujeme (Múdrosť/Moja kronika) */
body.ad-ma-izby .ad-poklady .ad-pk-info { display: none; }

/* Mapa duší: tichá veta „už nás tu je: X tisíc" pod názvom */
body.ad-ma-izby .ad-poklady .ad-pk-dusi {
  display: block; margin-top: 3px;
  font-size: 10px; font-weight: 400; color: rgba(217, 179, 86, 0.75);
  letter-spacing: 0.02em; line-height: 1.3;
}

/* ============================================================
   SEKCIA MÉDIÁ – vlastný galérijný dizajn, odlíšený od Pokladov.
   Chladnejší, vzdušnejší tón: mäkké karty s jemným modrastým sklom.
   ============================================================ */
.ad-media-page {
  max-width: 720px; margin: 0 auto; padding: 1.5rem 1.25rem 3rem;
}
.ad-media-hlava { text-align: center; margin-bottom: 1.75rem; }
.ad-media-eyebrow {
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: rgba(150, 180, 210, 0.8); margin-bottom: 8px;
}
.ad-media-titul {
  font-family: var(--font-serif); font-size: 30px; font-weight: 600;
  color: var(--text-primary); margin: 0 0 8px;
}
.ad-media-podtitul {
  font-size: 13.5px; line-height: 1.6; color: var(--text-secondary);
  max-width: 460px; margin: 0 auto;
}

/* Mriežka dlaždíc – galérijná, väčšie a vzdušnejšie než Poklady */
.ad-media-mrezka {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
}
.ad-media-dlazdica {
  position: relative;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; gap: 8px;
  padding: 16px 12px; min-height: 104px;
  border-radius: 16px;
  text-decoration: none;
  background:
    radial-gradient(ellipse 90% 60% at 50% 0%, rgba(120, 160, 200, 0.1) 0%, rgba(120, 160, 200, 0) 60%),
    linear-gradient(160deg, rgba(40, 50, 65, 0.5) 0%, rgba(24, 28, 38, 0.55) 100%);
  border: 0.5px solid rgba(150, 180, 210, 0.16);
  box-shadow:
    inset 0 1px 0 rgba(200, 220, 240, 0.14),
    0 8px 24px rgba(0, 0, 0, 0.28);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.ad-media-dlazdica:active { transform: scale(0.97); }
@media (min-width: 769px) {
  .ad-media-dlazdica:hover {
    transform: translateY(-3px);
    border-color: rgba(150, 180, 210, 0.4);
    box-shadow: inset 0 1px 0 rgba(200, 220, 240, 0.18), 0 12px 30px rgba(0, 0, 0, 0.36);
  }
}

/* Ikona v jemnom kruhu, s odznakom počtu */
.ad-media-ikona-obal {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: 50px; height: 50px; border-radius: 50%;
  background: radial-gradient(circle at 34% 28%, rgba(180, 210, 240, 0.18) 0%, rgba(180, 210, 240, 0.04) 60%, rgba(180, 210, 240, 0) 100%);
  border: 0.5px solid rgba(160, 190, 220, 0.22);
}
.ad-media-ikona-obal i { font-size: 24px; color: #a9c6e4; }
.ad-media-pocet {
  position: absolute; top: -4px; right: -4px;
  min-width: 22px; height: 22px; padding: 0 6px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px;
  background: rgba(150, 185, 220, 0.95); color: #10151c;
  font-size: 11.5px; font-weight: 700; line-height: 1;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
}
.ad-media-nazov {
  font-size: 15px; font-weight: 600; color: var(--text-primary); letter-spacing: 0.01em;
}
.ad-media-stav {
  font-size: 11.5px; color: var(--text-muted); letter-spacing: 0.02em;
  margin-top: -6px;
}

/* Jemné farebné akcenty podľa typu média (chladná paleta) */
.ad-media-foto     .ad-media-ikona-obal i { color: #a9c6e4; }
.ad-media-video    .ad-media-ikona-obal i { color: #b9aee0; }
.ad-media-dokument .ad-media-ikona-obal i { color: #a9d4c4; }
.ad-media-audio    .ad-media-ikona-obal i { color: #e0c2a0; }

/* ---------- Galéria jedného typu (/media/?typ=...) ---------- */
.ad-media-hlava-galeria { margin-bottom: 20px; }
.ad-media-hlava-galeria .ad-media-titul {
  display: flex; align-items: center; justify-content: center; gap: 10px;
}
.ad-media-hlava-galeria .ad-media-titul i { font-size: 26px; color: #a9c6e4; }
.ad-media-spat {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12.5px; letter-spacing: 0.03em;
  color: var(--text-muted); text-decoration: none;
  margin-bottom: 12px;
}
.ad-media-spat:hover { color: var(--text-secondary); }
.ad-media-zamknute {
  max-width: 460px; margin: 0 auto; padding: 2rem 1.5rem;
  text-align: center;
  border: 0.5px solid var(--border); border-radius: var(--radius);
  background: var(--surface-1);
}
.ad-media-zamknute i { font-size: 30px; color: var(--text-muted); }
.ad-media-zamknute p { font-size: 13.5px; line-height: 1.65; color: var(--text-secondary); margin: 10px 0 0; }

/* ============================================================
   MOJE – osobný kútik (blok, polička, rozpísané, myšlienky)
   Teplý, zlatý tón: sú to tvoje drobné poklady.
   ============================================================ */
.ad-moje-page { max-width: 640px; margin: 0 auto; padding: 0 4px; }
.ad-moje-mrezka { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 620px) { .ad-moje-mrezka { grid-template-columns: 1fr 1fr; } }
.ad-moje-karta {
  display: flex; align-items: center; gap: 14px;
  padding: 16px 18px;
  text-align: left; text-decoration: none;
  font: inherit; cursor: pointer;
  border-radius: 18px;
  background:
    radial-gradient(ellipse 90% 60% at 50% 0%, rgba(217, 179, 86, 0.08) 0%, rgba(217, 179, 86, 0) 60%),
    linear-gradient(160deg, rgba(52, 44, 30, 0.5) 0%, rgba(30, 25, 16, 0.55) 100%);
  border: 0.5px solid rgba(217, 179, 86, 0.18);
  box-shadow: inset 0 1px 0 rgba(240, 220, 170, 0.1), 0 6px 20px rgba(0, 0, 0, 0.24);
  transition: transform .16s ease, border-color .16s ease;
}
.ad-moje-karta:active { transform: scale(0.98); }
@media (min-width: 769px) {
  .ad-moje-karta:hover { transform: translateY(-2px); border-color: rgba(217, 179, 86, 0.42); }
}
.ad-moje-ikona {
  flex: 0 0 auto;
  width: 50px; height: 50px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: radial-gradient(circle at 34% 28%, rgba(240, 214, 150, 0.18) 0%, rgba(240, 214, 150, 0.03) 65%);
  border: 0.5px solid rgba(217, 179, 86, 0.26);
}
.ad-moje-ikona i { font-size: 23px; color: #dcc07a; }
.ad-moje-texty { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ad-moje-texty strong { font-size: 14.5px; font-weight: 600; color: var(--text-primary); letter-spacing: 0.01em; }
.ad-moje-texty span { font-size: 12px; line-height: 1.55; color: var(--text-muted); }
html[data-theme="light"] .ad-moje-karta {
  background:
    radial-gradient(ellipse 90% 60% at 50% 0%, rgba(190, 150, 60, 0.1) 0%, rgba(190, 150, 60, 0) 60%),
    linear-gradient(160deg, rgba(250, 244, 230, 0.9) 0%, rgba(244, 235, 214, 0.92) 100%);
}

/* Rozbaľovacie sekcie – Môj pocit, Moje obľúbené, Moje obavy */
.ad-moje-mrezka-sekcie { grid-template-columns: 1fr; margin-top: 12px; }
.ad-moje-sekcia { border: none; }
.ad-moje-sum {
  width: 100%; list-style: none; user-select: none;
}
.ad-moje-sum::-webkit-details-marker { display: none; }
.ad-moje-sipka {
  margin-left: auto; flex: 0 0 auto;
  font-size: 17px; color: var(--text-muted);
  transition: transform .18s ease;
}
.ad-moje-sekcia[open] > .ad-moje-sum { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.ad-moje-sekcia[open] > .ad-moje-sum .ad-moje-sipka { transform: rotate(180deg); }
.ad-moje-sekcia-telo {
  padding: 1.25rem 1rem;
  border: 0.5px solid rgba(217, 179, 86, 0.18); border-top: none;
  border-radius: 0 0 18px 18px;
  background: var(--surface-1);
}

/* ============================================================
   PROSBY – stena ľudstva a moje prosby
   ============================================================ */
.ad-prosby-page, .ad-listy-page { max-width: 640px; margin: 0 auto; padding: 0 4px 2rem; }
.ad-prosby-hladanie {
  position: relative; display: flex; align-items: center;
  max-width: 460px; margin: 0 auto 22px;
}
.ad-prosby-hladanie i { position: absolute; left: 13px; font-size: 15px; color: var(--text-muted); }
.ad-prosby-hladanie .ad-input { padding-left: 38px; padding-right: 38px; border-radius: 999px; }
.ad-prosby-hladanie-zrusit { position: absolute; right: 11px; color: var(--text-muted); display: inline-flex; }
.ad-prosby-stena { display: flex; flex-direction: column; gap: 12px; }
.ad-prosba {
  margin: 0; padding: 16px 18px;
  border: 0.5px solid var(--border); border-left: 2px solid rgba(217, 179, 86, 0.55);
  border-radius: 4px 14px 14px 4px;
  background: var(--surface-1);
}
.ad-prosba p {
  margin: 0; font-family: var(--font-serif);
  font-size: 14.5px; line-height: 1.75; color: var(--text-primary);
}
.ad-prosba footer { margin-top: 8px; font-size: 10.5px; letter-spacing: 0.06em; color: var(--text-muted); }
.ad-prosby-stranky { display: flex; justify-content: center; gap: 10px; margin-top: 18px; }
.ad-prosby-siet {
  display: flex; gap: 8px; align-items: flex-start;
  max-width: 520px; margin: 26px auto 0;
  font-size: 11.5px; line-height: 1.6; color: var(--text-muted);
}
.ad-prosby-siet i { flex: 0 0 auto; font-size: 14px; color: #97C459; margin-top: 1px; }

.ad-prosba-riadok { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; }
.ad-prosba-rezim { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--text-secondary); cursor: pointer; }
.ad-prosby-moje { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; }
.ad-prosba-moja { border: 0.5px solid var(--border); border-radius: 12px; padding: 10px 12px; background: var(--surface-0); }
.ad-prosba-moja p { margin: 0; font-size: 13px; line-height: 1.6; }
.ad-prosba-moja footer { display: flex; align-items: center; justify-content: space-between; margin-top: 6px; font-size: 10.5px; color: var(--text-muted); }
.ad-prosba-zmazat { background: none; border: none; color: var(--text-muted); cursor: pointer; padding: 2px; }
.ad-prosba-zmazat:hover { color: var(--text-secondary); }

/* ============================================================
   TICHÉ LISTY – vizuál listu, nie správy
   ============================================================ */
.ad-list {
  border: 0.5px solid rgba(217, 179, 86, 0.3); border-radius: 16px;
  padding: 18px; margin-bottom: 22px;
  background:
    radial-gradient(ellipse 120% 50% at 50% 0%, rgba(217, 179, 86, 0.06) 0%, transparent 70%),
    var(--surface-1);
}
.ad-list-svedectvo { text-align: center; margin-bottom: 14px; }
.ad-list-ornament { display: block; color: #d9b356; font-size: 15px; margin-bottom: 6px; }
.ad-list-svedectvo p { margin: 0; font-size: 12.5px; line-height: 1.7; color: var(--text-secondary); font-style: italic; }
.ad-list-cim { margin-top: 12px; text-align: left; font-size: 12px; }
.ad-list-cim > span { color: var(--text-muted); letter-spacing: 0.04em; }
.ad-list-cim ul { margin: 6px 0 0 1.1rem; padding: 0; }
.ad-list-cim li { margin: 3px 0; }
.ad-list-cim a { color: var(--accent-text); text-decoration: none; }
.ad-list-cim a:hover { text-decoration: underline; }
.ad-list-papier {
  background: linear-gradient(170deg, #f6f1e2 0%, #efe7d2 100%);
  color: #33291a;
  border-radius: 3px; padding: 18px 20px; margin: 10px 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25), inset 0 0 40px rgba(160, 130, 70, 0.08);
  font-family: var(--font-serif);
}
.ad-list-papier.je-moj { background: linear-gradient(170deg, #ece4cf 0%, #e4dabf 100%); margin-left: 1.4rem; }
.ad-list-papier p { margin: 0; font-size: 14px; line-height: 1.8; }
.ad-list-papier footer { margin-top: 10px; font-size: 10.5px; letter-spacing: 0.06em; color: #8a7a58; }
.ad-list-prazdny { display: flex; align-items: center; gap: 8px; font-style: italic; color: #6b5c3d !important; }
.ad-list-prazdny i { color: #b98a2e; }
.ad-list-akcie { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; flex-wrap: wrap; }
.ad-list-zranuje {
  background: none; border: none; padding: 4px 0; cursor: pointer;
  font-size: 11px; color: var(--text-muted); text-decoration: underline dotted;
}
.ad-list-zranuje:hover { color: #E8AA3D; }
.ad-list-odpoved-obal { margin-top: 12px; }
.ad-listy-dvere {
  margin-top: 30px; padding: 16px 18px;
  border: 0.5px solid var(--border); border-radius: 14px; background: var(--surface-0);
}
.ad-listy-dvere-prepinac { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; cursor: pointer; }
.ad-listy-dvere > p { font-size: 11.5px; line-height: 1.6; margin: 8px 0 0; }
.ad-moje-bodka {
  display: inline-block; width: 8px; height: 8px; border-radius: 50%;
  background: #d9b356; box-shadow: 0 0 8px rgba(217, 179, 86, 0.7);
  vertical-align: middle; margin-left: 4px;
}

/* Okno vzácnej chvíle */
.ad-chvila {
  position: fixed; inset: 0; z-index: 460;
  display: flex; align-items: center; justify-content: center;
  background: rgba(5, 7, 12, 0.7);
  backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px);
  opacity: 0; transition: opacity .3s ease; padding: 20px;
  pointer-events: none; /* neviditeľné okno nesmie kradnúť dotyky stránke */
}
.ad-chvila.je-viditelna { opacity: 1; pointer-events: auto; }
.ad-chvila-okno {
  max-width: 430px; width: 100%;
  border: 1.5px solid rgba(217, 179, 86, 0.65); border-radius: 20px;
  padding: 26px 24px; text-align: center;
  background:
    radial-gradient(ellipse 120% 60% at 50% 0%, rgba(217, 179, 86, 0.12) 0%, transparent 70%),
    linear-gradient(165deg, #262c47 0%, #1C2136 55%, #12162a 100%);
  color: #f5f3ef;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.55), 0 0 40px rgba(217, 179, 86, 0.12);
  transform: scale(0.94); transition: transform .3s ease;
}
.ad-chvila.je-viditelna .ad-chvila-okno { transform: scale(1); }
.ad-chvila-ornament { color: #d9b356; font-size: 20px; margin-bottom: 8px; }
.ad-chvila-okno h3 { margin: 0 0 10px; font-family: var(--font-serif); font-size: 20px; letter-spacing: 0.02em; }
.ad-chvila-okno p { margin: 0 0 10px; font-size: 13px; line-height: 1.7; color: #c9cdd9; }
.ad-chvila-pozn { font-size: 11.5px !important; color: #9aa0b5 !important; }
.ad-chvila-akcie { display: flex; gap: 10px; justify-content: center; margin-top: 14px; flex-wrap: wrap; }

/* Míľnikový dar: každá 99. prosba ponúkne pohľad späť */
.ad-prosby-dar {
  margin-top: 14px; padding: 16px;
  border: 1px solid rgba(217, 179, 86, 0.45); border-radius: 14px;
  text-align: center;
  background: radial-gradient(ellipse 120% 60% at 50% 0%, rgba(217, 179, 86, 0.08) 0%, transparent 70%), var(--surface-0);
}
.ad-prosby-dar p { margin: 4px 0 10px; font-size: 13px; line-height: 1.6; color: var(--text-secondary); }
#ad-prosby-historia { margin-top: 12px; display: flex; flex-direction: column; gap: 8px; text-align: left; }

/* Vlastná ikona spojených dlaní (prosba) – Tabler ju nemá */
.ad-moje-ikona .ad-ikona-dlane { color: #dcc07a; display: block; }

/* Uzamknutá dlaždica Médií: zošednutá, so zámkom, bez kliku */
.ad-media-dlazdica-zamknuta {
  cursor: default;
  filter: grayscale(0.85);
  opacity: 0.55;
}
.ad-media-dlazdica-zamknuta:hover { transform: none; border-color: var(--border); }
.ad-media-dlazdica-zamknuta .ad-media-ikona-obal i { color: var(--text-muted); }
.ad-media-zamok {
  position: absolute; right: -4px; bottom: -4px;
  width: 22px; height: 22px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--surface-0); border: 0.5px solid var(--border-strong);
}
.ad-media-zamok i { font-size: 12px !important; color: var(--text-secondary) !important; }

/* ============================================================
   OKAMIHY ŽIVOTA – krátke videá navždy, film života
   ============================================================ */
.ad-okamihy-page { max-width: 720px; margin: 0 auto; padding: 0 4px 2rem; }
.ad-okamihy-akcie { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.ad-okamihy-stav { text-align: center; font-size: 12.5px; color: var(--text-secondary); margin-top: 10px; }
.ad-okamihy-stav.je-chyba { color: #E8AA3D; }
.ad-okamihy-mrezka {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px;
  margin-top: 18px;
}
.ad-okamihy-rok {
  grid-column: 1 / -1;
  font-family: var(--font-serif); font-size: 17px; color: var(--accent-text);
  border-bottom: 0.5px solid var(--border); padding-bottom: 4px; margin-top: 8px;
}
.ad-okamih {
  margin: 0; position: relative; border-radius: 12px; overflow: hidden;
  border: 0.5px solid var(--border); background: #05070f;
  aspect-ratio: 9 / 16; cursor: pointer;
}
.ad-okamih video { width: 100%; height: 100%; object-fit: cover; display: block; }
.ad-okamih figcaption {
  position: absolute; left: 0; right: 0; bottom: 0;
  display: flex; align-items: center; justify-content: space-between;
  padding: 6px 8px; font-size: 11px; color: #f0e6cf;
  background: linear-gradient(0deg, rgba(5, 7, 15, 0.75) 0%, rgba(5, 7, 15, 0) 100%);
}
.ad-okamih-zmazat { background: none; border: none; color: rgba(240, 230, 207, 0.75); cursor: pointer; padding: 2px; }
.ad-okamih-zmazat:hover { color: #fff; }
.ad-okamihy-pozn { text-align: center; font-size: 11.5px; margin-top: 16px; }

/* Film života – celoobrazovkové plynulé prehratie */
.ad-film {
  position: fixed; inset: 0; z-index: 100001; background: #000;
  display: flex; align-items: center; justify-content: center;
}
.ad-film[hidden] { display: none; }
.ad-film video { max-width: 100%; max-height: 100%; transition: opacity .5s ease; }
.ad-film video.je-skryte { opacity: 0; }
.ad-film-medzititulok {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-serif); font-size: clamp(44px, 10vw, 96px);
  color: #d9b356; letter-spacing: 0.08em;
  opacity: 0; transition: opacity .6s ease; pointer-events: none;
}
.ad-film-medzititulok.je-viditelny { opacity: 1; }
.ad-film-info {
  position: absolute; top: max(12px, env(safe-area-inset-top)); left: 16px; right: 12px;
  display: flex; align-items: center; justify-content: space-between;
  color: rgba(240, 230, 207, 0.8); font-size: 13px;
}
.ad-film-zavriet {
  background: rgba(20, 24, 40, 0.6); border: 0.5px solid rgba(217, 179, 86, 0.4);
  border-radius: 50%; width: 38px; height: 38px; color: #f0e6cf;
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
}
@media (max-width: 520px) { .ad-okamihy-mrezka { grid-template-columns: repeat(3, 1fr); gap: 6px; } }

.ad-okamih img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Celoobrazovkový náhľad okamihu */
.ad-nahlad {
  position: fixed; inset: 0; z-index: 100000;
  background: rgba(3, 4, 9, 0.985);
  display: flex; align-items: center; justify-content: center;
}
.ad-nahlad[hidden] { display: none; }
.ad-nahlad-telo { max-width: 100vw; max-height: 100dvh; display: flex; align-items: center; justify-content: center; }
.ad-nahlad-telo img, .ad-nahlad-telo video { max-width: 100vw; max-height: 100dvh; object-fit: contain; }
.ad-nahlad-zavriet { position: absolute; top: max(12px, env(safe-area-inset-top)); right: 12px; z-index: 1; }

/* Truhlica – tichý ukazovateľ v Médiách a bloky transparentnej stránky */
.ad-truhlica-stav {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: center;
  font-size: 12.5px; color: var(--text-secondary);
  margin: -6px auto 18px; text-align: center;
}
.ad-truhlica-stav i { color: var(--accent-text); font-size: 15px; }
.ad-truhlica-stav.je-plna { color: var(--text-primary); }
.ad-truhlica-pozn { width: 100%; font-size: 10.5px; color: var(--text-muted); }
.ad-zije-page { max-width: 640px; margin: 0 auto; padding: 0 4px 2rem; }
.ad-zije-blok {
  border: 0.5px solid var(--border); border-radius: 16px;
  background: var(--surface-1); padding: 20px; margin-bottom: 16px;
}
.ad-zije-blok h2 { font-family: var(--font-serif); font-size: 19px; margin: 0 0 10px; color: var(--accent-text); }
.ad-zije-blok p { font-size: 13.5px; line-height: 1.7; color: var(--text-secondary); margin: 0 0 10px; }
.ad-zije-blok p:last-child { margin-bottom: 0; }
.ad-zije-cisla ul { margin: 0 0 10px 1.1rem; padding: 0; font-size: 13.5px; line-height: 1.9; color: var(--text-primary); }
.ad-zije-zoznam { list-style: none; margin: 0; padding: 0; font-size: 13px; line-height: 2; color: var(--text-primary); }

/* Truhlica – stránka /truhlica/ */
.ad-truhlica-page { max-width: 640px; margin: 0 auto; padding: 1.75rem 1rem 3rem; }
.ad-truhlica-sprava {
  border: 0.5px solid var(--border); border-radius: 12px; background: var(--surface-1);
  padding: 12px 16px; margin-bottom: 16px; font-size: 13px; line-height: 1.6; color: var(--text-secondary);
}
.ad-truhlica-sprava.je-uspech { border-color: rgba(120, 190, 140, 0.5); color: var(--text-primary); }
.ad-truhlica-karta {
  border: 0.5px solid var(--border); border-radius: 16px; background: var(--surface-1);
  padding: 20px; margin-bottom: 24px;
}
.ad-truhlica-riadok { display: flex; align-items: baseline; gap: 8px; margin-bottom: 10px; }
.ad-truhlica-cislo { font-family: var(--font-serif); font-size: 26px; font-weight: 600; color: var(--text-primary); }
.ad-truhlica-z { font-size: 13px; color: var(--text-secondary); }
.ad-truhlica-pas {
  height: 6px; border-radius: 3px; overflow: hidden;
  background: rgba(150, 180, 210, 0.18); margin-bottom: 10px;
}
.ad-truhlica-pas-vypln {
  height: 100%; border-radius: 3px; min-width: 2px;
  background: linear-gradient(90deg, #7fa8cc, #a9c4dd);
}
.ad-truhlica-pas-vypln.je-plna { background: linear-gradient(90deg, #b8b0a0, #d9b356); }
.ad-truhlica-drobne { font-size: 12px; line-height: 1.6; color: var(--text-secondary); margin: 0; }
.ad-truhlica-drobne.je-plna-pozn { margin-top: 8px; color: var(--text-primary); }
.ad-truhlica-nadpis { font-family: var(--font-serif); font-size: 19px; color: var(--accent-text); margin: 0 0 8px; }
.ad-truhlica-uvod { font-size: 13px; line-height: 1.7; color: var(--text-secondary); margin: 0 0 16px; }
.ad-truhlica-cennik { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 24px; }
@media (max-width: 520px) { .ad-truhlica-cennik { grid-template-columns: 1fr; } }
.ad-truhlica-stupen {
  border: 0.5px solid var(--border); border-radius: 16px; background: var(--surface-1);
  padding: 18px; text-align: center;
}
.ad-truhlica-stupen-gb { font-family: var(--font-serif); font-size: 24px; font-weight: 600; color: var(--text-primary); }
.ad-truhlica-stupen-nazov { font-size: 12px; color: var(--text-secondary); margin: 2px 0 6px; }
.ad-truhlica-stupen-cena { font-size: 14px; color: var(--accent-text); margin-bottom: 12px; }
.ad-truhlica-kupit { width: 100%; margin-bottom: 8px; }
.ad-truhlica-prevod-prepinac {
  background: none; border: none; padding: 4px; cursor: pointer;
  font-size: 12px; color: var(--text-secondary); text-decoration: underline; text-underline-offset: 3px;
}
.ad-truhlica-prevod { text-align: left; margin-top: 10px; }
.ad-truhlica-prevod dl {
  display: grid; grid-template-columns: auto 1fr; gap: 4px 12px;
  margin: 0 0 8px; font-size: 12.5px;
}
.ad-truhlica-prevod dt { color: var(--text-secondary); }
.ad-truhlica-prevod dd { margin: 0; color: var(--text-primary); font-variant-numeric: tabular-nums; user-select: all; }
.ad-truhlica-zasada { font-size: 12.5px; line-height: 1.7; color: var(--text-secondary); }
.ad-truhlica-zasada a { color: var(--accent-text); }
.ad-truhlica-dar-check {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  font-size: 12px; color: var(--text-secondary); margin: 0 0 10px; cursor: pointer;
}
.ad-truhlica-dary { margin-bottom: 24px; }
.ad-truhlica-dar {
  border: 0.5px solid var(--border); border-radius: 14px; background: var(--surface-1);
  padding: 14px 16px; margin-bottom: 10px;
}
.ad-truhlica-dar.je-uplatneny { opacity: 0.6; }
.ad-truhlica-dar-kod {
  font-family: var(--font-mono, monospace); font-size: 15px; letter-spacing: 0.06em;
  color: var(--text-primary); user-select: all; margin-bottom: 4px;
}
.ad-truhlica-dar-akcie { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 8px; }
.ad-truhlica-dar-mail { margin-top: 10px; display: grid; gap: 8px; }
.ad-truhlica-dar-mail .ad-btn { justify-self: start; }
.ad-truhlica-uplatnit { display: flex; gap: 8px; margin-bottom: 6px; }
.ad-truhlica-uplatnit .ad-input { flex: 1; font-family: var(--font-mono, monospace); letter-spacing: 0.05em; }
.ad-dar-uplatnit-vysledok { margin-bottom: 24px; }

/* Sejf – zamknuté dokumenty */
.ad-sejf-page { max-width: 640px; margin: 0 auto; padding: 1.75rem 1rem 3rem; }
.ad-sejf-brana {
  border: 0.5px solid var(--border); border-radius: 16px; background: var(--surface-1);
  padding: 28px 22px; text-align: center;
}
.ad-sejf-brana-ikona { font-size: 26px; color: #d9b356; margin-bottom: 10px; }
.ad-sejf-brana p { font-size: 13.5px; line-height: 1.7; color: var(--text-secondary); max-width: 420px; margin: 0 auto 14px; }
.ad-sejf-odomknut { display: flex; gap: 8px; max-width: 380px; margin: 0 auto 10px; }
.ad-sejf-odomknut .ad-input { flex: 1; }
.ad-sejf-drobne { font-size: 12px; line-height: 1.6; color: var(--text-secondary); margin: 0; }
.ad-sejf-vloz {
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  border: 1px dashed rgba(217, 179, 86, 0.45); border-radius: 16px;
  padding: 22px 16px; cursor: pointer; margin-bottom: 14px;
  transition: border-color .15s ease, background .15s ease;
}
.ad-sejf-vloz:hover { border-color: rgba(217, 179, 86, 0.8); background: rgba(217, 179, 86, 0.04); }
.ad-sejf-vloz .ti { font-size: 24px; color: #d9b356; }
.ad-sejf-vloz > span:first-of-type { font-size: 14px; color: var(--text-primary); }
.ad-sejf-priebeh-riadok { display: flex; align-items: center; gap: 10px; padding: 6px 4px; }
.ad-sejf-priebeh-riadok.je-hotovo { opacity: 0.55; }
.ad-sejf-priebeh-riadok.je-chyba .ad-sejf-dok-nazov { color: #c96a5a; }
.ad-sejf-pas { flex: 1; height: 4px; border-radius: 2px; background: rgba(217, 179, 86, 0.18); overflow: hidden; }
.ad-sejf-pas-vypln { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #b98f34, #e8cd8a); transition: width .2s ease; }
.ad-sejf-dok {
  display: flex; align-items: center; gap: 12px;
  border: 0.5px solid var(--border); border-radius: 14px; background: var(--surface-1);
  padding: 12px 14px; margin-bottom: 8px;
}
.ad-sejf-dok > .ti { font-size: 20px; color: #d9b356; flex-shrink: 0; }
.ad-sejf-dok-info { flex: 1; min-width: 0; }
.ad-sejf-dok-nazov { font-size: 13.5px; color: var(--text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ad-sejf-ikona-btn {
  background: none; border: 0.5px solid var(--border); border-radius: 10px;
  width: 34px; height: 34px; display: grid; place-items: center;
  color: var(--text-secondary); cursor: pointer; flex-shrink: 0;
}
.ad-sejf-ikona-btn:hover { color: var(--text-primary); border-color: rgba(217, 179, 86, 0.6); }
.ad-sejf-ikona-btn.je-zmaz:hover { color: #c96a5a; border-color: rgba(201, 106, 90, 0.5); }
.ad-sejf-prazdny { font-size: 13px; color: var(--text-secondary); text-align: center; padding: 18px 0; }
.ad-sejf-pata { margin-top: 18px; }

/* Múdrosť kroniky – karta zakladateľa (easter egg) */
.ad-mudrost-zakladatel {
  position: relative; overflow: hidden;
  border: 1.5px solid rgba(217, 179, 86, 0.55); border-radius: 18px;
  padding: 34px 28px 26px; margin: 6px 0 20px; text-align: center;
  background:
    radial-gradient(ellipse 130% 55% at 50% 0%, rgba(217, 179, 86, 0.12) 0%, transparent 70%),
    linear-gradient(168deg, #262c47 0%, #1C2136 55%, #10142a 100%);
  animation: ad-mz-zjav 1.4s ease both;
}
@keyframes ad-mz-zjav {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: none; }
}
.ad-mz-svetlo {
  position: absolute; inset: -40% -20% auto; height: 70%; pointer-events: none;
  background: radial-gradient(ellipse 45% 60% at 50% 100%, rgba(240, 220, 170, 0.10), transparent 70%);
}
.ad-mz-ornament { color: rgba(232, 205, 138, 0.85); font-size: 18px; margin-bottom: 10px; }
.ad-mz-eyebrow {
  font-size: 10px; letter-spacing: 0.24em; text-transform: uppercase;
  color: rgba(240, 220, 170, 0.55); margin-bottom: 6px;
}
.ad-mz-meno {
  font-family: var(--font-serif); font-size: 24px; font-weight: 600;
  color: #f0e6cf; margin-bottom: 18px;
}
.ad-mz-text {
  font-family: var(--font-serif); font-size: 14.5px; line-height: 1.85;
  color: rgba(240, 234, 220, 0.88); max-width: 480px; margin: 0 auto 14px; text-align: left;
}
.ad-mz-podpis {
  font-family: var(--font-serif); font-style: italic; font-size: 15px;
  color: #e8cd8a; text-align: right; max-width: 480px; margin: 2px auto 20px;
}
.ad-mz-motto {
  font-size: 12px; letter-spacing: 0.04em; color: rgba(240, 220, 170, 0.5);
  border-top: 0.5px solid rgba(217, 179, 86, 0.25); padding-top: 14px;
  max-width: 320px; margin: 0 auto;
}
@media (max-width: 480px) {
  .ad-mudrost-zakladatel { padding: 26px 18px 20px; }
  .ad-mz-text { font-size: 13.5px; }
}

/* Patronát – body a interaktívna kniha darcov */
.ad-patronat-body { list-style: none; margin: 0; padding: 0; }
.ad-patronat-body li { font-size: 13.5px; line-height: 1.7; color: var(--text-secondary); margin-bottom: 12px; }
.ad-patronat-body li strong { color: var(--text-primary); }
.ad-patronat-ukazka .ad-input { margin: 6px 0 14px; }
.ad-patronat-kniha {
  border: 1.5px solid rgba(217, 179, 86, 0.55); border-radius: 14px;
  padding: 18px 20px; margin-bottom: 10px;
  background:
    radial-gradient(ellipse 120% 60% at 50% 0%, rgba(217, 179, 86, 0.10) 0%, transparent 70%),
    linear-gradient(165deg, #262c47 0%, #1C2136 55%, #12162a 100%);
}
.ad-patronat-kniha-titul {
  font-size: 10px; letter-spacing: 0.22em; color: rgba(240, 220, 170, 0.6);
  text-align: center; margin-bottom: 12px;
}
.ad-patronat-riadok {
  font-family: var(--font-serif); font-size: 15px; line-height: 2;
  color: #f0e6cf; text-align: center;
}
.ad-patronat-riadok.je-tichy { opacity: 0.35; font-size: 13px; }
.ad-patronat-riadok #ad-patronat-zapis-meno { color: #e8cd8a; }
.ad-patronat-riadok.je-zapisane { animation: ad-patronat-pero 0.5s ease; }
@keyframes ad-patronat-pero {
  0% { opacity: 0.4; transform: translateY(2px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Dedičstvo – stav a rozsah */
.ad-ded-stav-zoznam { list-style: none; margin: 0; padding: 0; }
.ad-ded-stav-zoznam li {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 13.5px; line-height: 1.6; color: var(--text-secondary);
  padding: 7px 0; border-bottom: 0.5px solid var(--border);
}
.ad-ded-stav-zoznam li:last-child { border-bottom: 0; }
.ad-ded-stav-zoznam li strong { color: var(--text-primary); }
.ad-ded-stav-zoznam .ti-circle-check { color: var(--success-text); margin-top: 2px; }
.ad-ded-stav-zoznam .ti-circle-dashed { color: var(--text-muted); margin-top: 2px; }
.ad-ded-rozsah { display: flex; flex-direction: column; gap: 8px; }
.ad-ded-volba {
  display: flex; gap: 10px; align-items: flex-start;
  border: 0.5px solid var(--border); border-radius: 12px;
  padding: 11px 14px; cursor: pointer; transition: border-color .2s, background .2s;
  font-size: 13.5px; line-height: 1.5; color: var(--text-primary);
}
.ad-ded-volba:hover { border-color: var(--border-strong); }
.ad-ded-volba:has(input:checked) { border-color: var(--accent-border); background: var(--accent-bg); }
.ad-ded-volba input { margin-top: 3px; accent-color: #d9b356; }
.ad-ded-volba small { color: var(--text-secondary); }
.ad-ded-volba.je-neaktivna { opacity: 0.55; cursor: default; }

/* Dedičstvo – interaktívna ukážka */
.ad-uk-zaznamy, .ad-uk-nahlad-zaznamy { display: grid; gap: 6px; margin-top: 10px; }
.ad-uk-zaznam, .ad-uk-n {
  display: flex; align-items: center; gap: 8px;
  font-size: 13px; color: var(--text-primary);
  border: 0.5px solid var(--border); border-radius: 10px; padding: 8px 12px;
  transition: opacity .25s ease;
}
.ad-uk-zaznam-titul { flex: 1; }
.ad-uk-zaznam-typ { font-size: 11px; color: var(--text-secondary); }
.ad-uk-bodka { width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0; }
.ad-uk-bodka.je-verejne { background: #4f9e6b; }
.ad-uk-bodka.je-sukromne { background: #5b84c4; }
.ad-uk-bodka.je-odkaz { background: #8d6bc4; }
.ad-uk-volby { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.ad-uk-volba {
  border: 0.5px solid var(--border); border-radius: 999px; background: none;
  padding: 6px 12px; font-size: 12px; color: var(--text-secondary); cursor: pointer;
  transition: border-color .15s ease, color .15s ease;
}
.ad-uk-volba.je-aktivna { border-color: var(--accent-text); color: var(--accent-text); }
.ad-uk-nahlad {
  border: 0.5px solid var(--border); border-radius: 14px;
  background: var(--surface-1); padding: 14px; margin-top: 12px;
}
.ad-uk-nahlad-hlava { font-size: 12px; color: var(--text-secondary); display: flex; align-items: center; gap: 6px; }
.ad-uk-n.je-skryty { opacity: 0.3; text-decoration: line-through; }
.ad-uk-vysvetlenie { font-size: 12.5px; line-height: 1.65; color: var(--text-secondary); margin: 12px 0 0; min-height: 3.2em; }
.ad-uk-mapy { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
@media (max-width: 560px) { .ad-uk-mapy { grid-template-columns: 1fr; } }
.ad-uk-mapa { border: 0.5px solid var(--border); border-radius: 14px; padding: 12px 14px; }
.ad-uk-mapa-hlava { font-size: 13px; color: var(--text-primary); display: flex; align-items: center; gap: 6px; }
.ad-uk-mapa-hlava .ti { color: var(--accent-text); }
.ad-uk-mapa-obsah { font-size: 12px; color: var(--text-secondary); margin: 4px 0 8px; }
.ad-uk-prepinac { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--text-primary); cursor: pointer; }
.ad-uk-mapa-stav { font-size: 11.5px; line-height: 1.55; color: var(--text-secondary); margin-top: 6px; min-height: 3em; }

/* Kapitoly – rozklad dlhého textu */
.ad-kap-ponuka {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  border: 0.5px solid rgba(217, 179, 86, 0.4); border-radius: 12px;
  padding: 10px 14px; margin-top: 8px; font-size: 13px; color: var(--text-primary);
}
.ad-kap-ponuka .ti { color: var(--accent-text); font-size: 17px; }
.ad-kap-ponuka > span { flex: 1; min-width: 180px; }
.ad-kap-ticho {
  background: none; border: none; padding: 4px; cursor: pointer;
  font-size: 12px; color: var(--text-secondary); text-decoration: underline; text-underline-offset: 3px;
}
.ad-kap-panel {
  border: 0.5px solid var(--border); border-radius: 14px;
  background: var(--surface-1); padding: 14px; margin-top: 8px;
}
.ad-kap-hlava strong { font-size: 14px; color: var(--text-primary); }
.ad-kap-pocet { font-size: 12px; color: var(--accent-text); margin-left: 8px; }
.ad-kap-pozn { font-size: 12px; color: var(--text-secondary); margin: 4px 0 10px; }
.ad-kap-riadok { display: flex; align-items: flex-start; gap: 8px; padding: 6px 0; border-top: 0.5px solid var(--border); }
.ad-kap-cislo { font-size: 12px; color: var(--text-secondary); padding-top: 9px; min-width: 20px; text-align: right; }
.ad-kap-stred { flex: 1; min-width: 0; }
.ad-kap-nazov { width: 100%; }
.ad-kap-ukazka { font-size: 11.5px; color: var(--text-secondary); margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ad-kap-zluc {
  background: none; border: 0.5px solid var(--border); border-radius: 8px;
  width: 30px; height: 30px; margin-top: 4px; cursor: pointer; color: var(--text-secondary);
}
.ad-kap-zluc:hover { color: var(--accent-text); border-color: rgba(217, 179, 86, 0.6); }
.ad-kap-zluc-medzera { width: 30px; }
.ad-kap-paticka { display: flex; align-items: center; gap: 12px; margin-top: 10px; }

/* Okamihy – pečatenie súkromným kľúčom */
.ad-okamih-kluc {
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  border: 0.5px solid rgba(217, 179, 86, 0.4); border-radius: 14px;
  padding: 14px 16px; margin: 10px 0 4px; text-align: center;
}
.ad-okamih-kluc > .ti { font-size: 20px; color: #d9b356; }
.ad-okamih-kluc-text { font-size: 12.5px; line-height: 1.6; color: var(--text-secondary); max-width: 420px; }
.ad-okamih-kluc-riadok { display: flex; gap: 8px; width: 100%; max-width: 360px; }
.ad-okamih-kluc-riadok .ad-input { flex: 1; }
.ad-okamih-kluc-chyba { font-size: 12px; color: #c96a5a; }
.ad-okamih.je-zapecateny .ad-okamih-pecat {
  position: absolute; inset: 0; display: grid; place-items: center;
  background:
    radial-gradient(ellipse 90% 70% at 50% 30%, rgba(217, 179, 86, 0.10), transparent 70%),
    linear-gradient(160deg, #23283f 0%, #171b2e 100%);
}
.ad-okamih.je-zapecateny .ad-okamih-pecat > .ti { font-size: 26px; color: rgba(240, 220, 170, 0.5); }
.ad-okamih-pecat-zamok {
  position: absolute; right: 8px; bottom: 8px;
  font-size: 14px !important; color: #d9b356 !important;
}
.ad-nahlad-pecat {
  color: rgba(240, 234, 220, 0.85); font-size: 14px;
  display: flex; align-items: center; gap: 8px;
}
.ad-nahlad-slova {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
  padding: 40px 18px calc(14px + env(safe-area-inset-bottom));
  background: linear-gradient(0deg, rgba(3, 4, 9, 0.88) 0%, rgba(3, 4, 9, 0) 100%);
  text-align: center;
}
.ad-nahlad-slova-text {
  font-family: var(--font-serif); font-style: italic; font-size: 15px;
  line-height: 1.6; color: #f0e6cf; margin: 0 auto 6px; max-width: 520px;
  white-space: pre-wrap;
}
.ad-nahlad-slova-btn {
  background: none; border: none; cursor: pointer;
  font-size: 12px; color: rgba(240, 230, 207, 0.65);
  text-decoration: underline; text-underline-offset: 3px; padding: 4px;
}
.ad-nahlad-slova-btn:hover { color: #f0e6cf; }
.ad-nahlad-slova-forma { max-width: 520px; margin: 0 auto; display: grid; gap: 8px; }
.ad-nahlad-slova-forma textarea {
  width: 100%; min-height: 64px; resize: vertical;
  background: rgba(12, 15, 26, 0.9); border: 0.5px solid rgba(217, 179, 86, 0.4);
  border-radius: 10px; color: #f0e6cf; font-size: 14px; padding: 10px 12px;
  font-family: var(--font-serif); font-style: italic;
}
.ad-nahlad-slova-forma .ad-btn { justify-self: center; }
.ad-okamih-ma-slova { font-size: 10px; margin-right: 4px; }

/* Súkromný kľúč – privítanie novej duše */
.ad-kluc-vitaj { border-color: rgba(217, 179, 86, 0.45); }
.ad-kluc-vitaj-ornament { text-align: center; color: rgba(232, 205, 138, 0.85); font-size: 16px; margin-bottom: 6px; }
.ad-kluc-vitaj > h2 { text-align: center; }
.ad-kluc-vitaj > p { text-align: center; max-width: 460px; margin-left: auto; margin-right: auto; }
.ad-kluc-vitaj-bod { display: flex; gap: 12px; align-items: flex-start; margin-top: 14px; }
.ad-kluc-vitaj-bod > .ti { font-size: 20px; color: #d9b356; flex-shrink: 0; margin-top: 2px; }
.ad-kluc-vitaj-bod strong { font-size: 13.5px; color: var(--text-primary); }
.ad-kluc-vitaj-bod p { font-size: 13px; line-height: 1.65; color: var(--text-secondary); margin: 3px 0 0; }
.ad-kluc-vitaj-akcie {
  display: flex; flex-direction: column; align-items: center; gap: 10px; margin-top: 18px;
}
.ad-kluc-vitaj-odp {
  font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase;
  opacity: 0.8; margin-left: 6px;
}
.ad-kluc-vitaj-preskocit {
  font-size: 12.5px; color: var(--text-secondary);
  text-decoration: underline; text-underline-offset: 3px;
}
#kd-kluc-neaktivny.je-zvyraznene {
  border-color: rgba(217, 179, 86, 0.6);
  box-shadow: 0 0 0 3px rgba(217, 179, 86, 0.12);
  transition: border-color .3s ease, box-shadow .3s ease;
}

/* Investor – interaktívny model rastu a nákladov */
.inv-kalk-mriezka { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 14px; }
@media (max-width: 640px) { .inv-kalk-mriezka { grid-template-columns: 1fr; } }
.inv-kalk-vstupy label { display: block; margin-bottom: 14px; font-size: 12.5px; color: var(--text-secondary); }
.inv-kalk-vstupy label > span { display: inline-block; margin-bottom: 2px; }
.inv-kalk-vstupy output { float: right; color: var(--accent-text); font-variant-numeric: tabular-nums; }
.inv-kalk-vstupy input[type="range"] { width: 100%; accent-color: #d9b356; }
.inv-kalk-vysledky { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-content: start; }
.inv-kalk-cislo {
  border: 0.5px solid var(--border); border-radius: 12px; padding: 10px 12px; text-align: center;
}
.inv-kalk-cislo strong {
  display: block; font-family: var(--font-serif); font-size: 20px;
  color: var(--text-primary); font-variant-numeric: tabular-nums;
}
.inv-kalk-cislo span { font-size: 11px; color: var(--text-secondary); line-height: 1.4; display: block; margin-top: 2px; }
.inv-kalk-pas-obal { grid-column: 1 / -1; margin-top: 4px; }
.inv-kalk-pas { height: 7px; border-radius: 4px; background: rgba(217, 179, 86, 0.16); overflow: hidden; }
.inv-kalk-pas-vypln {
  display: block; height: 100%; width: 0; border-radius: 4px;
  background: linear-gradient(90deg, #b98f34, #e8cd8a); transition: width .25s ease;
}
.inv-kalk-pas-vypln.je-kryte { background: linear-gradient(90deg, #4f9e6b, #7fc79a); }
.inv-kalk-pas-text { font-size: 12px; color: var(--text-primary); margin-top: 6px; text-align: center; }
.inv-kalk-pozn { grid-column: 1 / -1; font-size: 11.5px; line-height: 1.6; color: var(--text-secondary); margin: 6px 0 0; }
.inv-kalk-varovanie {
  grid-column: 1 / -1; font-size: 11.5px; line-height: 1.6; margin: 4px 0 0;
  color: #d9b356; border-left: 2px solid rgba(217, 179, 86, 0.5); padding-left: 10px;
}

/* Investor – prúdy príjmov */
.inv-prudy { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 14px 0 6px; }
@media (max-width: 640px) { .inv-prudy { grid-template-columns: 1fr; } }
.inv-prud { border: 0.5px solid var(--border); border-radius: 14px; padding: 14px 16px; }
.inv-prud-hlava { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 6px; }
.inv-prud-hlava .ti { color: #d9b356; font-size: 18px; }
.inv-prud-hlava strong { font-size: 14px; color: var(--text-primary); }
.inv-prud-podiel {
  margin-left: auto; font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--accent-text); border: 0.5px solid rgba(217, 179, 86, 0.4);
  border-radius: 999px; padding: 2px 8px;
}
.inv-prud-podstata { font-size: 12.5px; line-height: 1.6; color: var(--text-primary); margin: 0 0 6px; }
.inv-prud-preco { font-size: 12px; line-height: 1.6; color: var(--text-secondary); margin: 0 0 10px; }
.inv-prud-preco .ti { color: #b1454a; font-size: 12px; }
.inv-prud-konverzia {
  display: flex; align-items: baseline; justify-content: space-between;
  border-top: 0.5px solid var(--border); padding-top: 8px;
}
.inv-prud-konverzia span { font-size: 11px; color: var(--text-secondary); }
.inv-prud-konverzia strong { font-family: var(--font-serif); font-size: 17px; color: var(--accent-text); }

/* Porovnanie s trhom */
.inv-porovnanie-nadpis, .inv-plan-nadpis {
  font-family: var(--font-serif); font-size: 15px; color: var(--text-primary);
  margin: 20px 0 8px;
}
.inv-porovnanie { overflow-x: auto; }
.inv-porovnanie table { width: 100%; border-collapse: collapse; font-size: 11.5px; min-width: 520px; }
.inv-porovnanie th, .inv-porovnanie td {
  border-bottom: 0.5px solid var(--border); padding: 7px 8px; text-align: center;
  color: var(--text-secondary);
}
.inv-porovnanie td:first-child { text-align: left; }
.inv-porovnanie th { font-size: 10.5px; letter-spacing: 0.05em; text-transform: uppercase; }
.inv-porovnanie th:nth-child(2) { color: var(--accent-text); }
.inv-porovnanie td.je-kronika { color: var(--text-primary); font-weight: 600; background: rgba(217, 179, 86, 0.06); }
.inv-porovnanie-pozn { font-size: 12px; line-height: 1.65; color: var(--text-secondary); margin: 12px 0 0; }

/* Investičný plán graficky */
.inv-rozpocet-riadok { margin-bottom: 10px; }
.inv-rozpocet-popis { display: flex; justify-content: space-between; gap: 10px; font-size: 12px; color: var(--text-secondary); margin-bottom: 3px; }
.inv-rozpocet-popis strong { color: var(--text-primary); white-space: nowrap; font-variant-numeric: tabular-nums; }
.inv-rozpocet-pas { height: 7px; border-radius: 4px; background: rgba(217, 179, 86, 0.14); overflow: hidden; }
.inv-rozpocet-pas span { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, #b98f34, #e8cd8a); }
.inv-scenare { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
@media (max-width: 560px) { .inv-scenare { grid-template-columns: 1fr; } }
.inv-scenar-karta { border: 0.5px solid var(--border); border-radius: 14px; padding: 14px 10px; text-align: center; }
.inv-scenar-karta.je-stred { border-color: rgba(217, 179, 86, 0.55); }
.inv-scenar-nazov { font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-secondary); }
.inv-scenar-cislo { font-family: var(--font-serif); font-size: 22px; color: var(--text-primary); margin: 4px 0; font-variant-numeric: tabular-nums; }
.inv-scenar-drobne { font-size: 11px; line-height: 1.5; color: var(--text-secondary); }
.inv-milniky { display: grid; gap: 6px; }
.inv-milnik {
  display: flex; gap: 12px; align-items: baseline; font-size: 12.5px;
  color: var(--text-secondary); line-height: 1.55;
  border-left: 2px solid rgba(217, 179, 86, 0.4); padding-left: 12px;
}
.inv-milnik-kedy {
  font-family: var(--font-serif); color: var(--accent-text); min-width: 56px;
  font-variant-numeric: tabular-nums; flex-shrink: 0;
}
.inv-plan-zaver { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 18px; }
@media (max-width: 560px) { .inv-plan-zaver { grid-template-columns: 1fr; } }
.inv-plan-zaver > div { text-align: center; border: 0.5px solid var(--border); border-radius: 14px; padding: 12px 10px; }
.inv-plan-zaver strong { display: block; font-family: var(--font-serif); font-size: 21px; color: var(--accent-text); }
.inv-plan-zaver span { font-size: 11px; line-height: 1.5; color: var(--text-secondary); display: block; margin-top: 3px; }

/* Investor – tok Ako Kronika funguje */
.inv-tok { display: flex; align-items: stretch; gap: 6px; margin: 14px 0 6px; }
@media (max-width: 640px) { .inv-tok { flex-direction: column; } .inv-tok-sipka { transform: rotate(90deg); align-self: center; } }
.inv-tok-krok {
  flex: 1; border: 0.5px solid var(--border); border-radius: 14px;
  padding: 14px 12px; text-align: center;
}
.inv-tok-ikona {
  width: 40px; height: 40px; margin: 0 auto 8px; border-radius: 50%;
  display: grid; place-items: center; font-size: 19px; color: #d9b356;
  background: rgba(217, 179, 86, 0.1); border: 0.5px solid rgba(217, 179, 86, 0.35);
}
.inv-tok-krok strong { font-size: 13px; color: var(--text-primary); display: block; margin-bottom: 4px; }
.inv-tok-krok p { font-size: 11.5px; line-height: 1.55; color: var(--text-secondary); margin: 0; }
.inv-tok-sipka { align-self: center; color: rgba(217, 179, 86, 0.6); font-size: 16px; flex-shrink: 0; }

/* Hromadné akcie v časovej osi */
.ad-hrom-panel { margin-bottom: 12px; position: sticky; top: 8px; z-index: 30; }
.ad-hrom-prepnut {
  background: none; border: 0.5px solid var(--border); border-radius: 10px;
  padding: 7px 12px; font-size: 12.5px; color: var(--text-secondary); cursor: pointer;
  display: inline-flex; align-items: center; gap: 6px;
}
.ad-hrom-prepnut[hidden] { display: none; }
.ad-hrom-lista {
  display: flex; align-items: center; gap: 8px; flex-wrap: nowrap;
  border: 0.5px solid rgba(217, 179, 86, 0.45); border-radius: 12px;
  padding: 7px 10px; background: var(--surface-1);
}
/* Výberový panel sa ukáže až po klepnutí na „Označiť“ (predtým svietil stále). */
.ad-hrom-lista[hidden] { display: none; }
.ad-hrom-vsetky {
  background: none; border: none; cursor: pointer; padding: 4px 2px;
  font-size: 12px; color: var(--text-secondary); white-space: nowrap;
  text-decoration: underline; text-underline-offset: 3px;
}
.ad-hrom-vsetky:hover { color: var(--accent-text); }
.ad-hrom-pocet {
  font-family: var(--font-serif); font-size: 15px; color: var(--accent-text);
  min-width: 24px; text-align: center; font-variant-numeric: tabular-nums;
}
.ad-hrom-pocet.je-prazdne { opacity: 0.4; }
.ad-hrom-akcia { flex: 1; min-width: 0; font-size: 13px; }
.ad-hrom-zrusit {
  background: none; border: none; cursor: pointer; font-size: 12px;
  color: var(--text-secondary); text-decoration: underline; text-underline-offset: 3px;
}
.ad-hrom-vyber {
  display: none; position: absolute; left: 6px; top: 4px;
  z-index: 5; cursor: pointer;
}
.je-oznacovanie .ad-hrom-vyber { display: block; }
.ad-hrom-vyber input { position: absolute; opacity: 0; }
.ad-hrom-vyber span {
  display: block; width: 22px; height: 22px; border-radius: 7px;
  border: 1.5px solid rgba(217, 179, 86, 0.6); background: rgba(10, 12, 20, 0.75);
  transition: background .12s ease;
}
.ad-hrom-vyber input:checked + span {
  background: #d9b356;
  box-shadow: inset 0 0 0 3px rgba(10, 12, 20, 0.9);
}
/* Checkbox sedí pri dátumovom riadku (vľavo je tam prázdno), takže samotná
   karta môže ísť na plnú šírku obrazovky. Miesto pre políčko sa vyhradí len
   na dátumovom riadku, nie pod celou kartou. */
.je-oznacovanie .ad-tl-item {
  position: relative; cursor: pointer;
  border-radius: 12px;
  transition: background .12s ease;
}
.je-oznacovanie .ad-tl-item:hover { background: rgba(217, 179, 86, 0.05); }
.je-oznacovanie .ad-tl-item.je-oznaceny { background: rgba(217, 179, 86, 0.09); }
.je-oznacovanie .ad-tl-item.je-oznaceny .ad-card,
.je-oznacovanie .ad-tl-item.je-oznaceny > article {
  border-color: rgba(217, 179, 86, 0.7);
  box-shadow: inset 0 0 0 1px rgba(217, 179, 86, 0.25);
}
.ad-hrom-modal {
  position: fixed; inset: 0; z-index: 100010;
  background: rgba(3, 4, 9, 0.8); backdrop-filter: blur(3px);
  display: grid; place-items: center; padding: 20px;
}
.ad-hrom-modal[hidden] { display: none; }
.ad-hrom-modal-karta {
  width: 100%; max-width: 400px; text-align: center;
  border: 1px solid rgba(217, 179, 86, 0.5); border-radius: 18px;
  background: linear-gradient(168deg, #23283f 0%, #171b2e 100%);
  padding: 26px 22px 20px;
}
.ad-hrom-modal-ornament { color: rgba(232, 205, 138, 0.85); font-size: 15px; margin-bottom: 8px; }
.ad-hrom-modal-karta h3 { font-family: var(--font-serif); font-size: 18px; color: #f0e6cf; margin: 0 0 8px; }
.ad-hrom-modal-karta p { font-size: 13px; line-height: 1.65; color: rgba(240, 234, 220, 0.8); margin: 0 0 18px; }
.ad-hrom-modal-akcie { display: flex; gap: 10px; justify-content: center; }
@media (max-width: 480px) {
  .ad-hrom-lista { gap: 6px; padding: 6px 8px; }
  .ad-hrom-vsetky { font-size: 11px; }
  .ad-hrom-zrusit { font-size: 11px; }
}
.ad-hrom-modal-akcie .je-nebezpecne { background: linear-gradient(150deg, #a3403f, #6e2322); border-color: transparent; }

/* Vzorové kroniky – priznaný štítok */
.ad-vzor-stitok {
  display: inline-block; vertical-align: middle; margin-left: 8px;
  font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase;
  color: #d9b356; border: 0.5px solid rgba(217, 179, 86, 0.5);
  border-radius: 999px; padding: 2px 9px; white-space: nowrap;
}
.ad-vzor-stitok.je-mala { font-size: 9px; padding: 1px 7px; margin-left: 6px; }

/* Súhvezdie rodu v dedičstve */
.ad-legacy-rod {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 12px; margin-top: 8px;
}
.ad-legacy-rod-karta {
  border: 0.5px solid rgba(217, 179, 86, 0.3); border-radius: 14px;
  padding: 14px 10px; text-align: center;
}
.ad-legacy-rod-foto {
  width: 58px; height: 58px; border-radius: 50%; object-fit: cover;
  margin: 0 auto 8px; display: block;
  border: 1px solid rgba(217, 179, 86, 0.45);
}
.ad-legacy-rod-foto.je-prazdna {
  display: grid; place-items: center; font-size: 22px;
  color: rgba(217, 179, 86, 0.5); background: rgba(217, 179, 86, 0.07);
}
.ad-legacy-rod-meno { font-family: var(--font-serif); font-size: 14px; color: var(--text-primary); }
.ad-legacy-rod-vztah { font-size: 11.5px; color: #d9b356; margin-top: 2px; }
.ad-legacy-rod-roky { font-size: 11px; color: var(--text-secondary); margin-top: 2px; font-variant-numeric: tabular-nums; }
.ad-legacy-rod-slova {
  font-family: var(--font-serif); font-style: italic; font-size: 12px; line-height: 1.55;
  color: var(--text-secondary); margin: 8px 0 0;
}
.ad-legacy-rod-pozn { font-size: 12px; color: var(--text-secondary); margin-top: 12px; text-align: center; }
.ad-legacy-rod.je-v-knihe { grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 10px; }

/* Okamihy v dedičstve */
.ad-legacy-okamihy { margin-top: 8px; }
.ad-legacy-okamih { margin: 0; }
.ad-legacy-okamihy:not(.je-rozbalene) .ad-legacy-okamih.je-skryty { display: none; }

/* Klikateľná dlaždica + odznak prehrávania pri videu */
.ad-okamih-klik { position: relative; cursor: pointer; }
.ad-okamih-klik:focus-visible { outline: 2px solid var(--legacy-accent, #d9b356); outline-offset: 2px; border-radius: 10px; }
/* Video bez náhľadu ostáva tmavé – pridáme jemný náznak a výrazný odznak. */
.ad-okamih-klik[data-typ="video"] { background: linear-gradient(135deg, #15171f, #0a0c12); }
.ad-okamih-klik[data-typ="video"]::before {
  content: "video"; position: absolute; top: 6px; left: 8px; z-index: 2;
  font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase;
  color: rgba(255, 255, 255, 0.75); background: rgba(0, 0, 0, 0.35);
  padding: 2px 6px; border-radius: 4px; pointer-events: none;
}
.ad-okamih-play {
  position: absolute; top: 42%; left: 50%; transform: translate(-50%, -50%); z-index: 2;
  width: 44px; height: 44px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255, 255, 255, 0.92); color: #14161d; font-size: 20px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.45); pointer-events: none;
}
.ad-legacy-okamih img, .ad-legacy-okamih video {
  width: 100%; aspect-ratio: 9 / 16; object-fit: cover;
  border-radius: 10px; border: 0.5px solid rgba(217, 179, 86, 0.3); background: #05070f;
  display: block;
}
.ad-legacy-okamih figcaption { font-size: 10px; color: var(--text-secondary); margin-top: 4px; text-align: center; line-height: 1.3; }
.ad-legacy-okamih-slova { display: none; }

/* Úvodný pás: jeden riadok, skroluje sa doľava */
.ad-okamihy-pas {
  display: flex; gap: 8px; overflow-x: auto; padding-bottom: 6px;
  scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch;
}
.ad-okamihy-pas .ad-legacy-okamih {
  flex: 0 0 auto; width: 108px; scroll-snap-align: start;
}

/* Plný listing: 3 v riadku */
.ad-okamihy-plne { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }

.ad-legacy-okamihy-viac {
  display: inline-flex; align-items: center; gap: 8px;
  margin-top: 14px; padding: 9px 18px; border-radius: 999px;
  border: 1px solid var(--legacy-accent); background: transparent;
  color: var(--legacy-accent); font-size: 13.5px; letter-spacing: 0.02em; cursor: pointer;
  text-decoration: none; transition: background 0.15s ease;
}
.ad-legacy-okamihy-viac:hover { background: color-mix(in srgb, var(--legacy-accent) 14%, transparent); }
.ad-legacy-okamihy-viac i { font-size: 16px; }

/* Stránka listingu */
.ad-okamihy-listing { max-width: 900px; margin: 0 auto; padding: 1.5rem 1rem 3rem; }
.ad-okamihy-listing-hlava { text-align: center; margin-bottom: 1.5rem; }
.ad-okamihy-spat {
  display: inline-flex; align-items: center; gap: 6px; margin-bottom: 1rem;
  font-size: 13px; color: var(--text-muted); text-decoration: none;
}
.ad-okamihy-spat:hover { color: var(--legacy-accent); }
.ad-okamihy-listing-hlava h1 {
  font-family: var(--font-serif); font-weight: 500; font-size: clamp(24px, 5vw, 32px);
  display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0 0 6px;
}
.ad-okamihy-listing-hlava h1 i { color: var(--legacy-accent); }
.ad-okamihy-listing-hlava p { font-size: 13.5px; color: var(--text-muted); margin: 0; }
.ad-okamihy-prazdne { text-align: center; color: var(--text-muted); padding: 2rem; }
.ad-okamihy-nacitat { display: flex; margin: 1.75rem auto 0; }

/* Lightbox */
html.ad-lb-open, html.ad-lb-open body { overflow: hidden; }
.ad-okamih-lb {
  position: fixed; inset: 0; z-index: 100050;
  background: rgba(3, 4, 9, 0.93);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 24px;
}
.ad-okamih-lb[hidden] { display: none; }
.ad-okamih-lb.je-nacitava::after {
  content: ""; position: absolute; top: 50%; left: 50%;
  width: 42px; height: 42px; margin: -21px 0 0 -21px;
  border: 3px solid rgba(255,255,255,0.25); border-top-color: #fff; border-radius: 50%;
  animation: ad-lb-spin 0.8s linear infinite;
}
@keyframes ad-lb-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .ad-okamih-lb.je-nacitava::after { animation: none; } }
.ad-okamih-lb-obsah { display: flex; align-items: center; justify-content: center; max-width: 94vw; max-height: 82vh; }
.ad-okamih-lb-obsah img, .ad-okamih-lb-obsah video {
  max-width: 94vw; max-height: 82vh; border-radius: 12px; object-fit: contain; background: #000;
}
.ad-okamih-lb-x {
  position: absolute; top: calc(16px + env(safe-area-inset-top, 0px)); right: 16px;
  width: 44px; height: 44px; border-radius: 50%;
  border: 0; background: rgba(255, 255, 255, 0.12); color: #fff; font-size: 22px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}
.ad-okamih-lb-x:hover { background: rgba(255, 255, 255, 0.22); }
.ad-okamih-lb-popis {
  margin-top: 14px; max-width: 40rem; text-align: center;
  color: rgba(240, 236, 224, 0.85); font-family: var(--font-serif); font-style: italic; font-size: 14px;
}
.ad-okamih-lb-popis[hidden] { display: none; }

/* Dedičstvo – navigácia, hľadanie, skrátené záznamy */
.ad-legacy-navigacia { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.ad-legacy-hladanie {
  display: flex; align-items: center; gap: 8px;
  border: 0.5px solid rgba(217, 179, 86, 0.4); border-radius: 999px;
  padding: 9px 16px; max-width: 520px; margin: 0 auto 14px;
  background: rgba(10, 12, 20, 0.35);
}
.ad-legacy-hladanie .ti { color: #d9b356; font-size: 16px; flex-shrink: 0; }
.ad-legacy-hladanie input {
  flex: 1; min-width: 0; background: none; border: none; outline: none;
  color: var(--text-primary); font-size: 14px; font-family: inherit;
}
.ad-legacy-hladanie input::placeholder { color: var(--text-muted); }
.ad-legacy-hladanie button {
  background: none; border: none; cursor: pointer; color: var(--text-secondary); padding: 2px;
}
.ad-legacy-dlazdice {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 8px; max-width: 720px; margin: 0 auto;
}
.ad-legacy-dlazdica {
  display: flex; flex-direction: column; align-items: center; gap: 3px;
  border: 0.5px solid var(--border); border-radius: 14px;
  padding: 12px 8px; cursor: pointer; background: none;
  color: var(--text-secondary); font-family: inherit;
  transition: border-color .15s ease, color .15s ease;
}
.ad-legacy-dlazdica .ti { font-size: 19px; color: #d9b356; }
.ad-legacy-dlazdica span { font-size: 12px; line-height: 1.3; text-align: center; }
.ad-legacy-dlazdica em {
  font-style: normal; font-family: var(--font-serif); font-size: 14px;
  color: var(--text-primary); font-variant-numeric: tabular-nums;
}
.ad-legacy-dlazdica:hover { border-color: rgba(217, 179, 86, 0.5); color: var(--text-primary); }
.ad-legacy-dlazdica.je-aktivna {
  border-color: rgba(217, 179, 86, 0.75);
  background: rgba(217, 179, 86, 0.07);
  color: var(--text-primary);
}
.ad-legacy-hladanie-vysledok {
  text-align: center; font-size: 12.5px; color: var(--text-secondary); margin: 12px 0 0;
}
.ad-legacy-perex {
  font-size: 14px; line-height: 1.75; color: var(--text-secondary); margin: 0;
}
.ad-legacy-viac {
  background: none; border: none; cursor: pointer; padding: 6px 0 0;
  font-size: 12.5px; color: #d9b356; font-family: inherit;
  text-decoration: underline; text-underline-offset: 3px;
}
.ad-legacy-viac:hover { color: #f0e6cf; }

/* Brána pozostalého – pietny vstup */
.ad-brana-ornament { text-align: center; color: rgba(232, 205, 138, 0.8); font-size: 17px; margin-bottom: 14px; }
.ad-brana-meno {
  font-family: var(--font-serif); font-size: 17px; text-align: center;
  letter-spacing: 0.02em;
}
.ad-brana-pomoc { font-size: 11.5px; color: var(--text-muted); margin: 6px 0 0; line-height: 1.55; }

/* Dedičstvo – portrét v číslach */
.ad-legacy-portret { padding-top: 2rem; padding-bottom: 2rem; }
.ad-portret-mriezka {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 14px; max-width: 760px; margin: 0 auto;
}
.ad-portret-udaj {
  text-align: center; padding: 14px 10px;
  border: 0.5px solid rgba(217, 179, 86, 0.25); border-radius: 14px;
}
.ad-portret-udaj strong {
  display: block; font-family: var(--font-serif); font-size: 21px;
  color: #f0e6cf; font-variant-numeric: tabular-nums; line-height: 1.25;
}
.ad-portret-udaj span {
  display: block; font-size: 11.5px; line-height: 1.45; margin-top: 4px;
  color: rgba(240, 234, 220, 0.6);
}

/* Dedičstvo – vziať kroniku k sebe */
.ad-legacy-ulozit { padding-top: 2rem; padding-bottom: 2.5rem; }
.ad-ulozit-karta {
  max-width: 520px; margin: 0 auto; text-align: center;
  border: 1px solid rgba(217, 179, 86, 0.45); border-radius: 18px;
  padding: 26px 22px;
  background: radial-gradient(ellipse 120% 60% at 50% 0%, rgba(217, 179, 86, 0.08) 0%, transparent 70%);
}
.ad-ulozit-ornament { color: rgba(232, 205, 138, 0.85); font-size: 15px; margin-bottom: 8px; }
.ad-ulozit-karta h2 { font-family: var(--font-serif); font-size: 19px; color: #f0e6cf; margin: 0 0 8px; }
.ad-ulozit-karta p { font-size: 13px; line-height: 1.7; color: rgba(240, 234, 220, 0.78); margin: 0 0 16px; }
.ad-ulozit-stav { font-size: 12.5px; color: #e8cd8a; margin: 12px 0 0 !important; }
.ad-ulozit-hotovo {
  text-align: center; font-size: 13px; color: rgba(240, 234, 220, 0.75);
  display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap;
}
.ad-ulozit-hotovo .ti { color: #7fc79a; }
.ad-ulozit-hotovo a { color: #d9b356; }

.ad-ded-odporucane {
  font-style: normal; font-size: 10.5px; font-weight: 600;
  color: var(--accent-text); background: var(--accent-bg);
  border: 0.5px solid var(--accent-border); border-radius: 999px;
  padding: 1px 8px; margin-left: 6px; vertical-align: 2px;
}

/* Súkromný kľúč – odsadenie a sprievodca */
.ad-kluc-page .ad-media-hlava:first-child { padding-top: 2rem; }
.ad-kluc-nav summary {
  cursor: pointer; font-weight: 600; font-size: 14.5px; color: var(--text-primary);
  display: flex; align-items: center; gap: 9px; list-style: none;
}
.ad-kluc-nav summary i { color: var(--accent-text); font-size: 17px; }
.ad-kluc-nav summary::-webkit-details-marker { display: none; }
.ad-kluc-nav[open] summary { margin-bottom: 10px; }
.ad-kluc-nav > div p { font-size: 13.5px; line-height: 1.7; color: var(--text-secondary); margin: 0 0 10px; }
.ad-kluc-nav > div p:last-child { margin-bottom: 0; }

/* Investor – kalkulačka */
.inv-mriezka { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.inv-karta { border: 0.5px solid var(--border); border-radius: 12px; padding: 12px; text-align: center; }
.inv-karta span { display: block; font-size: 11px; color: var(--text-muted); margin-bottom: 4px; }
.inv-karta strong { font-family: var(--font-serif); font-size: 19px; color: var(--accent-text); }
.inv-scenar.je-aktivny { background: var(--accent-bg); border-color: var(--accent-border); color: var(--accent-text); }

/* ============================================================
   PRIDAJ SA – nábor do tímu (page-pridaj-sa.php)
   Nočná obloha v hlavičke, tri rozbaľovacie role, prihláška.
   Krvná červená sa tu vedome NEPOUŽÍVA – tá patrí len zápisu.
   ============================================================ */
.ad-nabor-page { max-width: 700px; margin: 0 auto; padding: 0 4px 2.5rem; }

/* ---------- Hlavička: nočná obloha ---------- */
.ad-nabor-hero {
  position: relative; overflow: hidden;
  border-radius: 20px; margin-bottom: 22px;
  padding: 3.2rem 1.5rem 2.6rem;
  background:
    radial-gradient(120% 90% at 50% -10%, rgba(217, 179, 86, 0.22) 0%, rgba(217, 179, 86, 0) 55%),
    radial-gradient(90% 70% at 20% 110%, rgba(70, 110, 160, 0.28) 0%, rgba(70, 110, 160, 0) 60%),
    linear-gradient(170deg, #0d1220 0%, #131a2b 45%, #0a0e18 100%);
  border: 0.5px solid rgba(217, 179, 86, 0.28);
  text-align: center;
}
.ad-nabor-hero-hviezdy {
  position: absolute; inset: 0; pointer-events: none; opacity: 0.75;
  background-image:
    radial-gradient(1.6px 1.6px at 12% 22%, rgba(255,245,220,0.9) 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 32% 68%, rgba(255,245,220,0.7) 50%, transparent 51%),
    radial-gradient(1.8px 1.8px at 58% 18%, rgba(255,238,200,0.85) 50%, transparent 51%),
    radial-gradient(1.1px 1.1px at 74% 52%, rgba(220,235,255,0.75) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 88% 30%, rgba(255,245,220,0.8) 50%, transparent 51%),
    radial-gradient(1px 1px at 46% 86%, rgba(220,235,255,0.6) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 8% 74%, rgba(255,245,220,0.6) 50%, transparent 51%),
    radial-gradient(1px 1px at 66% 78%, rgba(255,245,220,0.55) 50%, transparent 51%);
  animation: ad-nabor-dych 7s ease-in-out infinite;
}
@keyframes ad-nabor-dych { 0%, 100% { opacity: 0.55; } 50% { opacity: 0.95; } }
@media (prefers-reduced-motion: reduce) { .ad-nabor-hero-hviezdy { animation: none; } }

.ad-nabor-hero-obsah { position: relative; }
.ad-nabor-eyebrow {
  font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
  color: rgba(217, 179, 86, 0.9); margin-bottom: 12px;
}
.ad-nabor-titul {
  font-family: var(--font-serif); font-size: 29px; line-height: 1.25;
  font-weight: 600; color: #f6f1e4; margin: 0 0 14px;
}
.ad-nabor-podtitul {
  font-size: 14px; line-height: 1.75; color: rgba(232, 226, 212, 0.82);
  max-width: 460px; margin: 0 auto;
}
.ad-nabor-hero-odkaz {
  display: inline-flex; align-items: center; gap: 7px;
  margin-top: 22px; padding: 9px 20px;
  border: 1px solid rgba(217, 179, 86, 0.55); border-radius: 999px;
  font-size: 13px; letter-spacing: 0.03em; color: #e9d9a8; text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}
.ad-nabor-hero-odkaz:hover { background: rgba(217, 179, 86, 0.14); color: #f6e8bf; }

/* ---------- Bloky textu ---------- */
.ad-nabor-blok {
  border: 0.5px solid var(--border); border-radius: 16px;
  background: var(--surface-1); padding: 22px; margin-bottom: 16px;
}
.ad-nabor-blok h2 {
  font-family: var(--font-serif); font-size: 19.5px; line-height: 1.35;
  margin: 0 0 12px; color: var(--text-primary);
}
.ad-nabor-blok p { font-size: 13.5px; line-height: 1.75; color: var(--text-secondary); margin: 0 0 10px; }
.ad-nabor-blok p:last-child { margin-bottom: 0; }

.ad-nabor-sekcia-titul {
  font-family: var(--font-serif); font-size: 21px; text-align: center;
  margin: 30px 0 6px; color: var(--text-primary);
}
.ad-nabor-sekcia-text {
  text-align: center; font-size: 12.5px; color: var(--text-muted);
  margin: 0 0 16px;
}

/* ---------- Karty rolí ---------- */
.ad-nabor-role-mrezka { display: flex; flex-direction: column; gap: 12px; margin-bottom: 22px; }
.ad-nabor-rola {
  border: 0.5px solid var(--border); border-radius: 16px;
  background: var(--surface-1); overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.ad-nabor-rola.je-otvorena {
  border-color: rgba(217, 179, 86, 0.55);
  box-shadow: 0 2px 20px rgba(217, 179, 86, 0.10);
}
.ad-nabor-rola-hlava {
  display: flex; align-items: center; gap: 14px; width: 100%;
  padding: 18px 18px; background: none; border: 0; cursor: pointer;
  text-align: left; font: inherit; color: inherit;
}
.ad-nabor-rola-cislo {
  flex: 0 0 auto; width: 38px; height: 38px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-serif); font-size: 14px; letter-spacing: 0.02em;
  color: #b08f3c; border: 1px solid rgba(217, 179, 86, 0.5);
  background: rgba(217, 179, 86, 0.08);
}
.ad-nabor-rola-nazvy { flex: 1 1 auto; min-width: 0; }
.ad-nabor-rola-nazov {
  display: block; font-family: var(--font-serif); font-size: 17.5px;
  color: var(--text-primary); margin-bottom: 3px;
}
.ad-nabor-rola-esencia {
  display: block; font-size: 12.5px; line-height: 1.5; color: var(--text-muted);
}
.ad-nabor-rola-sipka {
  flex: 0 0 auto; font-size: 18px; color: var(--text-muted);
  transition: transform 0.25s ease;
}
.ad-nabor-rola.je-otvorena .ad-nabor-rola-sipka { transform: rotate(180deg); }

.ad-nabor-rola-telo {
  padding: 14px 0 20px; margin: 0 18px;
  border-top: 1px dotted rgba(217, 179, 86, 0.35);
}
.ad-nabor-rola-telo[hidden] { display: none; }
.ad-nabor-rola-telo p { font-size: 13.5px; line-height: 1.75; color: var(--text-secondary); margin: 0 0 12px; }
.ad-nabor-rola-telo h3 {
  font-family: var(--font-sans); font-size: 11px; letter-spacing: 0.16em;
  text-transform: uppercase; color: #b08f3c; margin: 16px 0 8px;
}

.ad-nabor-zoznam { list-style: none; margin: 0; padding: 0; }
.ad-nabor-zoznam li {
  position: relative; padding-left: 18px; margin-bottom: 9px;
  font-size: 13.2px; line-height: 1.65; color: var(--text-secondary);
}
.ad-nabor-zoznam li:last-child { margin-bottom: 0; }
.ad-nabor-zoznam li::before {
  content: "✦"; position: absolute; left: 0; top: 0;
  font-size: 9px; color: rgba(217, 179, 86, 0.8); line-height: 1.9;
}
.ad-nabor-zoznam strong { color: var(--text-primary); font-weight: 600; }
.ad-nabor-pozn { font-size: 12px; line-height: 1.6; color: var(--text-muted); font-style: italic; }

/* ---------- Poctivý blok ---------- */
.ad-nabor-poctivo {
  border-color: rgba(217, 179, 86, 0.45);
  background:
    linear-gradient(180deg, rgba(217, 179, 86, 0.07) 0%, rgba(217, 179, 86, 0) 60%),
    var(--surface-1);
}

/* ---------- Formulár ---------- */
.ad-nabor-form { margin-top: 14px; }
.ad-nabor-label {
  display: block; font-size: 12.5px; line-height: 1.5;
  color: var(--text-primary); margin: 16px 0 6px;
}
.ad-nabor-form .ad-input { width: 100%; }
.ad-nabor-textarea { resize: vertical; min-height: 90px; font-family: inherit; line-height: 1.6; }
.ad-nabor-subor {
  display: block; width: 100%; margin-top: 2px;
  padding: 11px 12px; font-size: 13px; color: var(--text-secondary);
  border: 1px dashed var(--border-strong); border-radius: var(--radius);
  background: var(--surface-2); cursor: pointer;
}
.ad-nabor-subor::file-selector-button {
  margin-right: 10px; padding: 6px 14px; border-radius: 999px;
  border: 1px solid rgba(217, 179, 86, 0.55); background: rgba(217, 179, 86, 0.10);
  color: #8a6d1f; font-size: 12.5px; cursor: pointer;
}
.ad-nabor-subor:hover { border-color: rgba(217, 179, 86, 0.7); }
.ad-nabor-navnada { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.ad-nabor-odoslat {
  display: inline-flex; align-items: center; gap: 8px;
  margin-top: 20px; padding: 11px 24px; border-radius: 999px;
  background: linear-gradient(135deg, #d9b356 0%, #b78f34 100%);
  border: 0; color: #1a1508; font-size: 13.5px; font-weight: 600;
  letter-spacing: 0.02em; cursor: pointer;
  transition: filter 0.2s ease;
}
.ad-nabor-odoslat:hover { filter: brightness(1.08); }
.ad-nabor-form .ad-nabor-pozn { margin-top: 10px; }

.ad-nabor-odpoved {
  border-radius: 12px; padding: 14px 16px; margin-bottom: 14px;
  font-size: 13px; line-height: 1.65;
}
.ad-nabor-odpoved.je-ok {
  border: 0.5px solid rgba(120, 190, 140, 0.55); background: var(--success-bg); color: var(--success-text);
}
.ad-nabor-odpoved.je-ok p { margin: 0 0 6px; color: inherit; }
.ad-nabor-odpoved.je-ok p:last-child { margin: 0; }
.ad-nabor-odpoved.je-chyba {
  border: 0.5px solid var(--border-strong); background: var(--warning-bg); color: var(--warning-text);
}

/* ---------- Záver ---------- */
.ad-nabor-zaver {
  text-align: center; margin: 26px 0 0;
  font-family: var(--font-serif); font-style: italic;
  font-size: 14px; color: var(--text-muted);
}

@media (min-width: 720px) {
  .ad-nabor-titul { font-size: 34px; }
  .ad-nabor-hero { padding: 4rem 2rem 3.2rem; }
}

/* ============================================================
   DEDIČSTVO – editačná stránka (page-moj-testament.php)
   Hero v palete odkazu: vrch editora vyzerá ako samotné dedičstvo,
   aby si duša vedela predstaviť, čo raz uvidia blízki. Prominentný
   náhľad je hlavná akcia. Krvná červená sa tu vedome NEpoužíva –
   patrí len zápisu; tu vládne zvolená paleta odkazu.
   ============================================================ */
.ad-ded-hero {
  position: relative;
  overflow: hidden;
  padding: 4rem 1.5rem 3.25rem;
  text-align: center;
  color: var(--ded-text, #f0ede8);
  background:
    radial-gradient(130% 100% at 50% -20%, color-mix(in srgb, var(--ded-accent, #D4943A) 26%, transparent) 0%, transparent 60%),
    radial-gradient(80% 60% at 15% 115%, color-mix(in srgb, var(--ded-accent, #D4943A) 16%, transparent) 0%, transparent 62%),
    var(--ded-bg, #1a1512);
}
.ad-ded-hero-hviezdy {
  position: absolute; inset: 0; pointer-events: none; opacity: 0.6;
  background-image:
    radial-gradient(1.6px 1.6px at 12% 24%, color-mix(in srgb, var(--ded-text, #fff) 85%, transparent) 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 34% 66%, color-mix(in srgb, var(--ded-text, #fff) 65%, transparent) 50%, transparent 51%),
    radial-gradient(1.7px 1.7px at 58% 16%, color-mix(in srgb, var(--ded-accent, #fff) 80%, transparent) 50%, transparent 51%),
    radial-gradient(1.1px 1.1px at 76% 54%, color-mix(in srgb, var(--ded-text, #fff) 60%, transparent) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 88% 30%, color-mix(in srgb, var(--ded-text, #fff) 70%, transparent) 50%, transparent 51%),
    radial-gradient(1px 1px at 46% 88%, color-mix(in srgb, var(--ded-text, #fff) 55%, transparent) 50%, transparent 51%);
  animation: ad-ded-dych 7s ease-in-out infinite;
}
@keyframes ad-ded-dych { 0%, 100% { opacity: 0.45; } 50% { opacity: 0.85; } }
@media (prefers-reduced-motion: reduce) { .ad-ded-hero-hviezdy { animation: none; } }

.ad-ded-hero-inner { position: relative; max-width: 40rem; margin: 0 auto; }
.ad-ded-hero-eyebrow {
  font-family: var(--font-mono);
  font-size: 0.75rem; letter-spacing: 0.24em; text-transform: uppercase;
  color: var(--ded-accent, #D4943A); margin-bottom: 1rem;
}
.ad-ded-hero-title {
  font-family: var(--font-serif);
  font-size: clamp(30px, 5vw, 46px); line-height: 1.15; font-weight: 500;
  margin: 0 0 1rem; color: var(--ded-text, #f0ede8);
}
.ad-ded-hero-sub {
  font-size: 15px; line-height: 1.75;
  color: color-mix(in srgb, var(--ded-text, #f0ede8) 80%, transparent);
  max-width: 30rem; margin: 0 auto 1.85rem;
}
.ad-ded-hero-akcie {
  display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: center;
}
.ad-ded-hero-nahlad {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 13px 26px; border-radius: 999px;
  background: var(--ded-accent, #D4943A);
  color: var(--ded-bg, #1a1512); font-size: 14.5px; font-weight: 600;
  letter-spacing: 0.01em; text-decoration: none;
  box-shadow: 0 6px 24px color-mix(in srgb, var(--ded-accent, #D4943A) 40%, transparent);
  transition: transform 0.15s ease, filter 0.15s ease;
}
.ad-ded-hero-nahlad:hover { transform: translateY(-1px); filter: brightness(1.07); }
.ad-ded-hero-nahlad i { font-size: 17px; }
.ad-ded-hero-dole {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13.5px; letter-spacing: 0.02em; text-decoration: none;
  color: color-mix(in srgb, var(--ded-text, #f0ede8) 72%, transparent);
  padding: 11px 8px; transition: color 0.15s ease;
}
.ad-ded-hero-dole:hover { color: var(--ded-text, #f0ede8); }

@media (max-width: 560px) {
  .ad-ded-hero { padding: 3rem 1.25rem 2.5rem; }
  .ad-ded-hero-akcie { flex-direction: column; }
  .ad-ded-hero-nahlad { width: 100%; justify-content: center; }
}

/* ============================================================
   UVÍTANIE (inc/intro.php) – prah v štýle stories
   Nie onboarding: pokojné obrazy, pruhy hore, automatický posun,
   dotykom rýchlejšie ďalej. Krvná červená sa tu NEpoužíva.
   ============================================================ */
html.ad-intro-aktivne, html.ad-intro-aktivne body { overflow: hidden; }

.ad-intro {
  position: fixed; inset: 0; z-index: 100000;
  display: flex; flex-direction: column;
  color: #f4efe4;
  background:
    radial-gradient(120% 80% at 50% -10%, rgba(217,179,86,0.18) 0%, rgba(217,179,86,0) 55%),
    radial-gradient(90% 70% at 15% 115%, rgba(70,110,160,0.22) 0%, rgba(70,110,160,0) 60%),
    linear-gradient(175deg, #0c111d 0%, #121a2c 45%, #090d16 100%);
  opacity: 1;
  transition: opacity 0.6s ease;
}
.ad-intro.je-koniec { opacity: 0; pointer-events: none; }

.ad-intro-hviezdy {
  position: absolute; inset: 0; pointer-events: none; opacity: 0.7;
  background-image:
    radial-gradient(1.6px 1.6px at 12% 20%, rgba(255,245,220,0.9) 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 32% 62%, rgba(255,245,220,0.7) 50%, transparent 51%),
    radial-gradient(1.8px 1.8px at 58% 16%, rgba(255,238,200,0.85) 50%, transparent 51%),
    radial-gradient(1.1px 1.1px at 74% 50%, rgba(220,235,255,0.75) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 88% 28%, rgba(255,245,220,0.8) 50%, transparent 51%),
    radial-gradient(1px 1px at 46% 84%, rgba(220,235,255,0.6) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 8% 72%, rgba(255,245,220,0.6) 50%, transparent 51%),
    radial-gradient(1px 1px at 66% 76%, rgba(255,245,220,0.55) 50%, transparent 51%);
  animation: ad-intro-dych 7s ease-in-out infinite;
}
@keyframes ad-intro-dych { 0%,100% { opacity: 0.5; } 50% { opacity: 0.9; } }

/* Pruhy postupu hore – koľko obrazov, kde sme, koľko ešte */
.ad-intro-pruhy {
  position: relative; z-index: 2;
  display: flex; gap: 6px;
  padding: calc(14px + env(safe-area-inset-top, 0px)) 16px 8px;
}
.ad-intro-pruh {
  flex: 1; height: 3px; border-radius: 3px;
  background: rgba(255,255,255,0.22); overflow: hidden;
}
.ad-intro-pruh-vypln {
  display: block; height: 100%; width: 0%;
  background: linear-gradient(90deg, #e9d9a8, #d9b356);
  border-radius: 3px;
}

/* Scéna s obrazmi */
.ad-intro-scena {
  position: relative; z-index: 2;
  flex: 1; display: flex; align-items: center; justify-content: center;
  padding: 1.5rem 1.75rem;
}
.ad-intro-obraz {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; margin: 0; padding: 1.5rem 1.75rem;
  opacity: 0; transform: translateY(10px) scale(0.99);
  transition: opacity 0.6s ease, transform 0.6s ease;
  pointer-events: none;
}
.ad-intro-obraz.je-aktivny { opacity: 1; transform: none; }
.ad-intro-titul {
  font-family: var(--font-serif);
  font-size: clamp(28px, 7vw, 44px); line-height: 1.15; font-weight: 500;
  color: #f6f1e4; margin: 0 0 1.1rem; max-width: 22ch;
}
.ad-intro-text {
  font-size: clamp(15px, 4.4vw, 19px); line-height: 1.75;
  color: rgba(240,236,224,0.86); max-width: 30rem; margin: 0;
}
.ad-intro-citat {
  margin: 1.75rem 0 0; font-family: var(--font-serif); font-style: italic;
  font-size: clamp(14px, 4vw, 17px); color: rgba(233,217,168,0.9);
}

/* Neviditeľné dotykové zóny */
.ad-intro-zona {
  position: absolute; top: 0; bottom: 0; z-index: 3;
  border: 0; background: transparent; cursor: pointer; padding: 0;
  -webkit-tap-highlight-color: transparent;
}
.ad-intro-zona-vlavo  { left: 0; width: 32%; }
.ad-intro-zona-vpravo { right: 0; width: 68%; }
.ad-intro-zona:focus-visible { outline: none; }

@media (min-width: 700px) {
  .ad-intro-pruhy { max-width: 620px; margin: 0 auto; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .ad-intro-hviezdy { animation: none; }
  .ad-intro-obraz { transition: opacity 0.2s ease; transform: none; }
}

/* Odkaz „pozrieť uvítanie znova“ v Sprievodcovi */
.ad-sprievodca-uvitanie-znova { text-align: center; margin: 2.25rem 0 0.5rem; }
.ad-sprievodca-uvitanie-znova a {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 13.5px; letter-spacing: 0.02em;
  color: var(--text-muted); text-decoration: none;
  padding: 9px 18px; border: 1px solid var(--border); border-radius: 999px;
  transition: color 0.15s ease, border-color 0.15s ease;
}
.ad-sprievodca-uvitanie-znova a:hover { color: #b08f3c; border-color: rgba(217,179,86,0.5); }

/* Oko pri hesle – odhalenie len počas držania */
.ad-pw-wrap { position: relative; display: block; }
.ad-pw-input { padding-right: 46px !important; }
.ad-pw-oko {
  position: absolute; right: 6px; top: 50%; transform: translateY(-50%);
  width: 34px; height: 34px;
  display: flex; align-items: center; justify-content: center;
  border: 0; background: transparent; color: var(--text-muted);
  cursor: pointer; border-radius: 8px;
  touch-action: none; -webkit-tap-highlight-color: transparent;
  transition: color 0.15s ease;
}
.ad-pw-oko:hover { color: var(--text-secondary); }
.ad-pw-oko.je-drzane { color: #b08f3c; }
.ad-pw-oko i { font-size: 18px; pointer-events: none; }

/* ============================================================
   Hlasové poznámky v Poznámkovom bloku
   Audio je zadarmo (neráta sa do Truhlice). Slúži aj ľuďom,
   ktorí nevedia alebo nemôžu písať.
   ============================================================ */
.ad-blok-audio {
  display: flex; align-items: center; gap: 10px;
  margin-top: 8px; padding: 8px 10px;
  border: 1px dashed var(--border-strong); border-radius: var(--radius);
  background: var(--surface-2);
}
.ad-blok-rec {
  flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--border-strong); background: var(--surface-1);
  color: var(--text-secondary); cursor: pointer; font-size: 18px;
  transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
.ad-blok-rec:hover { color: var(--text-primary); }
.ad-blok-rec.je-nahrava {
  background: #c0392b; border-color: #c0392b; color: #fff;
  animation: ad-blok-pulz 1.3s ease-in-out infinite;
}
.ad-blok-rec.ma-nahravku { border-color: rgba(217,179,86,0.6); color: #b08f3c; }
@keyframes ad-blok-pulz {
  0%,100% { box-shadow: 0 0 0 0 rgba(192,57,43,0.45); }
  50% { box-shadow: 0 0 0 7px rgba(192,57,43,0); }
}
@media (prefers-reduced-motion: reduce) { .ad-blok-rec.je-nahrava { animation: none; } }

.ad-blok-rec-stav { display: flex; align-items: center; gap: 8px; flex: 1 1 auto; min-width: 0; }
.ad-blok-rec-text { font-size: 13px; color: var(--text-secondary); }
.ad-blok-rec-cas { font-family: var(--font-mono); font-size: 13px; color: #c0392b; }
.ad-blok-rec-prehrat { height: 34px; max-width: 160px; }
.ad-blok-rec-zahodit {
  flex: 0 0 auto; width: 32px; height: 32px; border-radius: 8px;
  border: 0; background: transparent; color: var(--text-muted); cursor: pointer; font-size: 15px;
}
.ad-blok-rec-zahodit:hover { color: #c0392b; }

/* Prehrávač v uloženej poznámke */
.ad-blok-poznamka-audio {
  display: flex; align-items: center; gap: 8px; margin-top: 8px;
}
.ad-blok-poznamka-audio i { color: var(--accent-text); font-size: 14px; flex: 0 0 auto; }
.ad-blok-poznamka-audio audio { width: 100%; height: 34px; }

/* ============================================================
   Doplnkové sekcie dedičstva – obľúbené, obavy, myšlienky, pocit
   ============================================================ */
.ad-ded-oblubene { display: flex; flex-direction: column; gap: 1rem; }
.ad-ded-oblubena-kat {
  font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--legacy-accent); margin-bottom: 6px;
}
.ad-ded-oblubena-hodnoty { display: flex; flex-wrap: wrap; gap: 8px; }
.ad-ded-oblubena-chip {
  padding: 6px 14px; border-radius: 999px;
  border: 0.5px solid color-mix(in srgb, var(--legacy-accent) 40%, transparent);
  background: color-mix(in srgb, var(--legacy-accent) 8%, transparent);
  color: var(--legacy-text); font-size: 14px;
}

.ad-ded-obavy { display: flex; flex-direction: column; gap: 10px; }
.ad-ded-obava {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 12px 16px; border-radius: 12px;
  background: color-mix(in srgb, var(--legacy-text) 4%, transparent);
  border-left: 2px solid color-mix(in srgb, var(--legacy-accent) 55%, transparent);
  font-family: var(--font-serif); font-style: italic; font-size: 15px; line-height: 1.6;
  color: var(--legacy-text);
}
.ad-ded-obava i { color: var(--legacy-accent); opacity: 0.7; flex: 0 0 auto; margin-top: 2px; }

.ad-ded-myslienky { display: flex; flex-direction: column; gap: 14px; }
.ad-ded-myslienka { padding-bottom: 14px; border-bottom: 0.5px solid color-mix(in srgb, var(--legacy-text) 10%, transparent); }
.ad-ded-myslienka:last-child { border-bottom: none; }
.ad-ded-myslienka-datum {
  font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.08em;
  color: var(--legacy-accent); opacity: 0.85; margin-bottom: 5px;
}
.ad-ded-myslienka-text { font-size: 15px; line-height: 1.65; color: var(--legacy-text); }

/* Pocit – koláčový graf */
.ad-pocit-graf { margin-top: 10px; }
.ad-pocit-obdobie { display: flex; align-items: center; gap: 10px; margin-bottom: 1.25rem; }
.ad-pocit-obdobie label { font-size: 13px; color: var(--legacy-text); opacity: 0.7; }
.ad-pocit-select {
  padding: 8px 14px; border-radius: 10px; font-size: 14px;
  background: color-mix(in srgb, var(--legacy-text) 6%, transparent);
  color: var(--legacy-text); border: 0.5px solid color-mix(in srgb, var(--legacy-text) 20%, transparent);
}
.ad-pocit-telo { display: flex; align-items: center; gap: 1.75rem; flex-wrap: wrap; }
.ad-pocit-kolac-obal { position: relative; width: 168px; height: 168px; flex: 0 0 auto; }
.ad-pocit-kolac { width: 100%; height: 100%; transform: rotate(-90deg); }
.ad-pocit-kolac circle { transition: stroke-dasharray 0.4s ease, stroke-dashoffset 0.4s ease; }
.ad-pocit-stred {
  position: absolute; inset: 0; display: flex; flex-direction: column;
  align-items: center; justify-content: center; text-align: center; pointer-events: none;
}
.ad-pocit-stred strong { font-family: var(--font-serif); font-size: 17px; line-height: 1.1; }
.ad-pocit-stred span { font-size: 11px; color: var(--legacy-text); opacity: 0.55; margin-top: 3px; }
.ad-pocit-legenda { display: flex; flex-direction: column; gap: 8px; flex: 1 1 200px; min-width: 180px; }
.ad-pocit-legenda-polozka { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--legacy-text); }
.ad-pocit-bod { width: 12px; height: 12px; border-radius: 50%; flex: 0 0 auto; }
.ad-pocit-nazov { flex: 1 1 auto; }
.ad-pocit-pct { font-family: var(--font-mono); font-size: 13px; opacity: 0.7; }

@media (max-width: 480px) {
  .ad-pocit-telo { justify-content: center; }
  .ad-pocit-legenda { flex-basis: 100%; }
}

/* Pás médií dňa v knihe „Moja kronika“ – nad textom záznamu */
.ad-kniha-media { margin: 2px 0 14px; }
.ad-kniha-media.ad-okamihy-pas .ad-legacy-okamih { width: 88px; }
.ad-kniha-media.ad-okamihy-pas .ad-legacy-okamih figcaption { font-size: 9px; }
@media (max-width: 480px) {
  .ad-kniha-media.ad-okamihy-pas .ad-legacy-okamih { width: 72px; }
}

/* Samostatná stránka „Okamih(y) dňa“ v knihe (deň bez textu) */
.ad-kniha-media-strana .ad-kniha-zaznam-titul { opacity: 0.85; }
.ad-kniha-media-mriezka { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 12px; }
@media (max-width: 480px) { .ad-kniha-media-mriezka { grid-template-columns: repeat(2, 1fr); } }

/* Vitaj + meno hore v spodnom menu (osobná identita presunutá sem) */
.ad-dusa-sheet-vitaj {
  text-align: center; padding: 2px 16px 10px; line-height: 1.25;
}
.ad-dusa-sheet-vitaj span {
  display: block; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--text-muted);
}
.ad-dusa-sheet-vitaj strong {
  font-family: var(--font-serif); font-weight: 600; font-size: 22px;
  color: var(--gold-primary, #E8B866);
}

/* Meno je presunuté do spodného menu – v hornej profilovej lište ho skryjeme,
   štatistiky (pulz) ostávajú. Týka sa len vlastného profilu. */
.ad-profil-lista.je-moja .ad-lista-vitaj,
.ad-profil-lista.je-moja .ad-lista-meno { display: none; }

/* ── Moje záznamy – hromadné akcie podľa návrhu ── */
/* „Vykonať“ ako zlaté plné tlačidlo */
#ad-hrom-vykonat:not(:disabled) {
  background: linear-gradient(135deg, #F3CC7C 0%, #C48A3A 100%);
  border: none; color: #111820; font-weight: 600;
  box-shadow: 0 0 16px rgba(232, 184, 102, 0.20);
}
#ad-hrom-vykonat:disabled { opacity: 0.45; }
/* Popisky veľkými písmenami, počet v modrej (info) */
.ad-hrom-vsetky, .ad-hrom-zrusit {
  text-transform: uppercase; letter-spacing: 0.06em; font-size: 11px;
}
.ad-hrom-pocet { color: var(--info, #82B8F7); }

/* ══════════════════════════════════════════════════════════════
   ZJAVENIE – tichá plávajúca spomienka (krvavo červená ikona)
   ══════════════════════════════════════════════════════════════ */
.ad-zjav-ikona {
  position: fixed; z-index: 4000;
  width: 56px; height: 56px; border-radius: 50%;
  background: radial-gradient(circle at 34% 30%, #B4243A 0%, #8A1626 55%, #6E1020 100%);
  box-shadow: 0 0 20px rgba(150, 22, 38, 0.55), 0 8px 22px rgba(0, 0, 0, 0.38),
              inset 0 1px 2px rgba(255, 255, 255, 0.18);
  display: flex; align-items: center; justify-content: center;
  cursor: grab; touch-action: none; user-select: none;
  animation: ad-zjav-pulz 3.4s ease-in-out infinite;
}
.ad-zjav-ikona:active { cursor: grabbing; }
.ad-zjav-iskra { width: 27px; height: 27px; color: #FBE3C6;
  filter: drop-shadow(0 0 4px rgba(255, 225, 190, 0.6)); pointer-events: none; }
.ad-zjav-zavri {
  position: absolute; top: -6px; right: -6px;
  width: 20px; height: 20px; border-radius: 50%;
  border: none; background: #2A2118; color: #E8D9C4;
  font-size: 14px; line-height: 18px; cursor: pointer;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4); opacity: 0; transition: opacity 0.15s;
}
.ad-zjav-ikona:hover .ad-zjav-zavri { opacity: 1; }
.ad-zjav-odchod { transform: scale(0.6); opacity: 0; transition: transform 0.4s, opacity 0.4s; }
@keyframes ad-zjav-pulz {
  0%, 100% { box-shadow: 0 0 18px rgba(150, 22, 38, 0.45), 0 8px 22px rgba(0, 0, 0, 0.38); }
  50%      { box-shadow: 0 0 30px rgba(180, 36, 58, 0.75), 0 8px 22px rgba(0, 0, 0, 0.38); }
}
@media (prefers-reduced-motion: reduce) { .ad-zjav-ikona { animation: none; } }

/* Pop-up so spomienkou */
.ad-zjav-obal {
  position: fixed; inset: 0; z-index: 4001;
  background: rgba(3, 8, 16, 0.78); backdrop-filter: blur(3px);
  display: flex; align-items: center; justify-content: center; padding: 22px;
  opacity: 0; transition: opacity 0.26s;
}
.ad-zjav-obal.je-viditelne { opacity: 1; }
.ad-zjav-panel {
  position: relative; width: 100%; max-width: 460px;
  max-height: 86vh; overflow-y: auto;
  background: linear-gradient(160deg, #0B1A2B 0%, #071320 100%);
  border: 1px solid rgba(232, 184, 102, 0.28); border-radius: 20px;
  padding: 26px 24px 22px; color: #F3F1EC;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
  transform: translateY(10px) scale(0.98); transition: transform 0.26s;
}
.ad-zjav-obal.je-viditelne .ad-zjav-panel { transform: none; }
.ad-zjav-x {
  position: absolute; top: 12px; right: 14px;
  width: 30px; height: 30px; border-radius: 50%;
  border: none; background: rgba(255, 255, 255, 0.06); color: #B8BBC1;
  font-size: 20px; cursor: pointer;
}
.ad-zjav-x:hover { background: rgba(255, 255, 255, 0.12); color: #F3F1EC; }
.ad-zjav-obr { margin: -2px -2px 16px; border-radius: 14px; overflow: hidden; }
.ad-zjav-obr img { width: 100%; height: auto; display: block; }
.ad-zjav-datum {
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--gold-primary, #E8B866); margin-bottom: 8px;
}
.ad-zjav-titul {
  font-family: var(--font-serif, Georgia, serif); font-weight: 600;
  font-size: 1.4rem; color: #F3F1EC; margin: 0 0 10px;
}
.ad-zjav-text { color: #C7CBD1; line-height: 1.6; font-size: 0.95rem; margin: 0 0 18px; }
.ad-zjav-odkaz {
  display: inline-block; color: var(--gold-primary, #E8B866);
  font-weight: 600; text-decoration: none; font-size: 0.92rem;
}
.ad-zjav-odkaz:hover { color: var(--gold-light, #F3CC7C); }

/* Auto-zverejnenie – výber rokov ticha */
.ad-auto-zver-roky { margin-top: 8px; }
.ad-auto-zver-roky .ad-select { margin-top: 4px; }

/* ── Bezpečnosť: tichý odkaz na frázu ── */
.ad-fraza-odkaz {
  position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%);
  z-index: 3900; width: calc(100% - 32px); max-width: 460px;
  display: flex; align-items: center; gap: 12px;
  background: linear-gradient(160deg, #0B1A2B 0%, #071320 100%);
  border: 1px solid rgba(232, 184, 102, 0.3); border-radius: 16px;
  padding: 14px 16px; box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45); color: #F3F1EC;
}
.ad-fraza-odkaz-text { flex: 1; font-size: 13px; line-height: 1.5; color: #C7CBD1; }
.ad-fraza-odkaz-text strong { display: block; color: #F3F1EC; margin-bottom: 3px; font-size: 14px; }
.ad-fraza-odkaz-akcia {
  flex-shrink: 0; color: var(--gold-primary, #E8B866); font-weight: 600;
  text-decoration: none; font-size: 13px; white-space: nowrap;
}
.ad-fraza-odkaz-x {
  position: absolute; top: 6px; right: 8px; border: none; background: none;
  color: #8A9099; font-size: 18px; cursor: pointer; line-height: 1;
}

/* ── Bezpečnosť: stránka ── */
.ad-bezpecnost-hero { text-align: center; }
.ad-bezpecnost-uvod { max-width: 560px; margin: 8px auto 0; line-height: 1.7; }
.ad-bezpecnost-zoznam { margin: 10px 0; padding-left: 20px; line-height: 1.7; }
.ad-bezpecnost-zoznam li { margin-bottom: 8px; }
.ad-bezpecnost-cena {
  margin-top: 12px; padding: 12px 14px; border-radius: 12px;
  background: rgba(126, 34, 51, 0.08); border-left: 3px solid #7E2233; line-height: 1.65;
}

/* ══════════════════════════════════════════════════════════════
   REDIZAJN PÄTIČKY (ad-pf-*) – tmavá modrá, zlato, súhvezdný motív
   ══════════════════════════════════════════════════════════════ */
.ad-pf {
  position: relative; border-top: 1px solid var(--border);
  background: linear-gradient(180deg, var(--surface-1), var(--surface-0));
  margin-top: auto; padding-bottom: 34px;
}
.ad-pf-inner { max-width: 720px; margin: 0 auto; padding: 0 20px; }
.ad-pf-nl { margin: 26px 0 6px; }

/* Súhvezdný predel (signature) */
.ad-pf-const { display: flex; align-items: center; margin: 26px 2px; color: var(--gold-primary); }
.ad-pf-const .ad-pf-ln { height: 1px; flex: 1; background: linear-gradient(90deg, transparent, var(--border-strong), transparent); }
.ad-pf-const svg { margin: 0 10px; opacity: .85; }

/* Objav – eyebrow + dlaždice */
.ad-pf-eyebrow { text-align: center; font-size: .72rem; letter-spacing: .28em; text-transform: uppercase; color: var(--text-muted); margin: 0 0 16px; }
.ad-pf-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.ad-pf-pill {
  display: flex; flex-direction: column; align-items: center; gap: 9px; text-align: center; text-decoration: none;
  padding: 16px 8px; border-radius: 16px; background: var(--surface-2); border: 1px solid var(--border);
  transition: transform .16s, border-color .16s, box-shadow .16s;
}
.ad-pf-pill:hover { transform: translateY(-3px); border-color: var(--border-strong); box-shadow: 0 10px 26px rgba(0,0,0,.35), 0 0 20px rgba(232,184,102,.10); }
.ad-pf-ci {
  width: 38px; height: 38px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: radial-gradient(circle at 40% 35%, rgba(232,184,102,.22), rgba(232,184,102,.06)); color: var(--gold-primary);
}
.ad-pf-ci i { font-size: 20px; }
.ad-pf-pill span:last-child { font-size: .82rem; color: var(--text-secondary); font-weight: 500; }
.ad-pf-pill:hover span:last-child { color: var(--text-primary); }

/* Zdedil banner (ohnisko) */
.ad-pf-heir {
  position: relative; display: flex; align-items: center; gap: 16px; margin: 22px 0; padding: 20px 22px; border-radius: 20px;
  text-decoration: none; overflow: hidden; color: var(--text-primary);
  background: radial-gradient(120% 140% at 90% 10%, rgba(255,215,131,.16), transparent 55%), linear-gradient(180deg, #14202e, #0a1521);
  border: 1px solid var(--border-strong); box-shadow: 0 0 30px rgba(232,184,102,.10), inset 0 0 40px rgba(232,184,102,.04);
}
.ad-pf-heir-em {
  flex: 0 0 auto; width: 66px; height: 66px; border-radius: 50%; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  background: transparent; border: none;
  box-shadow: 0 0 18px rgba(232,184,102,.22);
}
.ad-pf-heir-em i { font-size: 28px; color: var(--gold-bright); }
.ad-pf-heir-logo { width: 100%; height: 100%; object-fit: cover; display: block; }
.ad-pf-heir-tx { flex: 1; min-width: 0; }
.ad-pf-heir-tx b { display: block; font-family: var(--font-serif, Georgia, serif); font-weight: 700; font-size: 1.3rem; letter-spacing: .12em; color: var(--gold-light); }
.ad-pf-heir-tx small { display: block; margin-top: 3px; font-size: .86rem; color: var(--text-secondary); }
.ad-pf-heir-ch { flex: 0 0 auto; color: var(--gold-primary); font-size: 22px; }

/* Spodné odkazy + jazyk */
.ad-pf-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 22px; margin: 4px 0 0; }
.ad-pf-links a { display: inline-flex; align-items: center; gap: 7px; color: var(--text-muted); text-decoration: none; font-size: .84rem; }
.ad-pf-links a:hover { color: var(--text-secondary); }
.ad-pf-links i { font-size: 16px; opacity: .85; }
.ad-pf-lang { display: flex; justify-content: center; margin-top: 12px; }

/* Sociálne siete */
.ad-pf-social { display: flex; justify-content: center; gap: 10px; margin-top: 16px; }
.ad-pf-social-ic {
  width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center; color: var(--text-secondary); transition: background .15s, color .15s;
}
.ad-pf-social-ic:hover { background: var(--surface-2); color: var(--text-primary); text-decoration: none; }

/* Podporiť / inštalácia */
.ad-pf-support { display: flex; justify-content: center; margin: 20px 0 0; }
.ad-pf-support-btn {
  display: inline-flex; align-items: center; gap: 8px; padding: 11px 24px; border-radius: 99px; text-decoration: none;
  font-weight: 600; font-size: .86rem; color: var(--gold-light); background: rgba(232,184,102,.06); border: 1px solid var(--gold-border);
  cursor: pointer; font-family: inherit; transition: transform .15s, background .15s;
}
.ad-pf-support-btn:hover { transform: translateY(-1px); background: rgba(232,184,102,.12); }
.ad-pf-support-btn i { font-size: 16px; }

/* Copyright */
.ad-pf-copy { text-align: center; color: var(--text-muted); font-size: .76rem; line-height: 1.7; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--border); }
.ad-pf-mk { color: var(--gold-primary); opacity: .7; font-size: 20px; }

@media (max-width: 440px) { .ad-pf-grid { grid-template-columns: repeat(2, 1fr); } }

/* ══════════════════════════════════════════════════════════════
   OS ŽIVOTA – kľukatá krvavo-červená čiara + kruhové uzly (Variant B)
   Scopované pod .ad-os-zivota; uzol aj čiara sú pseudo-prvky na .ad-tl-item
   (karty majú overflow:hidden, preto nie na nich). Funkcie osi nedotknuté.
   ══════════════════════════════════════════════════════════════ */
.ad-os-zivota .ad-tl-item{
  grid-template-columns: 1fr;
  position: relative;
  padding-top: 52px;
}
.ad-os-zivota .ad-tl-item:first-child{ padding-top: 26px; }
.ad-os-zivota .ad-tl-year{ display: none; }
.ad-os-zivota .ad-tl-content{ border-left: none; padding-left: 0; padding-bottom: 0; }

/* Stredová vlnka a uzly (Variant B) nahradené ľavou kreslenou osou –
   krúžky aj čiaru teraz vykresľuje #ad-os-svg vľavo. */
.ad-os-zivota .ad-tl-item{ padding-top: 26px; }

/* plný dátum + čas v hlavičke karty */
.ad-os-zivota .ad-os-datum{
  display:flex; align-items:center; flex-wrap:wrap; gap:4px 7px;
  font-size:12px; letter-spacing:.03em; color:var(--gold-light); font-weight:600;
  margin-bottom:9px;
}
.ad-os-zivota .ad-os-datum i{ color:var(--gold-primary); font-size:13px; }
.ad-os-zivota .ad-os-datum .vek{ color:var(--text-muted); font-weight:400; }

/* Zachytiť moment – potvrdzovací toast po nahratí okamihu */
.ad-moment-toast{
  position:fixed; left:50%; bottom:96px; transform:translateX(-50%) translateY(10px);
  z-index:5000; max-width:calc(100% - 32px);
  background:#0e1b2b; border:1px solid rgba(232,184,102,.42);
  color:var(--gold-light,#F3CC7C); font-size:13px; padding:10px 18px; border-radius:99px;
  box-shadow:0 12px 30px rgba(0,0,0,.5); opacity:0; pointer-events:none;
  transition:opacity .25s, transform .25s;
}
.ad-moment-toast.je-viditelny{ opacity:1; transform:translateX(-50%) translateY(0); }
.ad-moment-toast.je-chyba{ border-color:rgba(180,36,58,.6); color:#F0B7BE; }

/* ══════════════════════════════════════════════════════════════
   ZAPÍSAŤ PRE… – odkaz konkrétnej/budúcej duši (E2)
   ══════════════════════════════════════════════════════════════ */
.ad-zp-page{ max-width: 640px; margin: 0 auto; padding: 24px 18px 80px; }
.ad-zp-hlava h1{ font-family: var(--font-serif, Georgia, serif); font-weight: 700; font-size: 1.9rem; margin: 0 0 4px; color: var(--text-primary); }
.ad-zp-uvod{ color: var(--text-secondary); font-size: .92rem; line-height: 1.5; margin: 0 0 8px; }
.ad-zp-krok{ display: none; }
.ad-zp-krok.je-aktivny{ display: block; }
.ad-zp-sekcia{ font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: var(--text-muted); margin: 20px 2px 10px; }
.ad-zp-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.ad-zp-osoba{ display: flex; flex-direction: column; align-items: center; gap: 7px; padding: 14px 6px; border-radius: 16px;
  background: var(--surface-2); border: 1px solid var(--border); cursor: pointer; transition: transform .15s, border-color .15s; font-family: inherit; }
.ad-zp-osoba:hover{ transform: translateY(-2px); border-color: var(--border-strong); }
.ad-zp-av{ width: 46px; height: 46px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-weight: 600; font-size: 1.05rem; color: #1a1206; background: radial-gradient(circle at 40% 35%, #F3CC7C, #c99b45); }
.ad-zp-meno{ font-size: .84rem; color: var(--text-primary); font-weight: 500; }
.ad-zp-rola{ font-size: .66rem; color: var(--text-muted); }
.ad-zp-buduci{ border-style: dashed; border-color: rgba(180,200,230,.35); background: rgba(120,150,200,.05); }
.ad-zp-buduci .ad-zp-av{ background: transparent; border: 1.5px dashed rgba(180,200,230,.5); color: #9fb4d6; font-size: 1.2rem; }
.ad-zp-buduci-tag{ font-size: .58rem; letter-spacing: .08em; text-transform: uppercase; color: #8fa6c8; border: 1px solid rgba(180,200,230,.3); border-radius: 99px; padding: 1px 7px; }
.ad-zp-prazdne{ color: var(--text-muted); font-size: .85rem; padding: 8px 2px; }

.ad-zp-vybrany{ display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--border-strong); border-radius: 14px; background: var(--surface-2); margin-bottom: 16px; }
.ad-zp-vybrany .ad-zp-av{ width: 40px; height: 40px; font-size: .95rem; }
.ad-zp-av-buduci{ background: transparent !important; border: 1.5px dashed rgba(180,200,230,.5); color: #9fb4d6 !important; }
.ad-zp-vt{ display: block; font-size: .7rem; color: var(--text-muted); }
.ad-zp-vm{ display: block; font-size: 1.05rem; font-weight: 600; color: var(--gold-light); font-family: var(--font-serif, Georgia, serif); }
.ad-zp-zmenit{ margin-left: auto; background: none; border: none; color: var(--text-muted); font-size: .78rem; cursor: pointer; text-decoration: underline; }
.ad-zp-text{ width: 100%; min-height: 120px; background: var(--surface-0); border: 1px solid var(--border); border-radius: 14px; padding: 14px; color: var(--text-primary); font-family: inherit; font-size: .95rem; line-height: 1.5; resize: vertical; }
.ad-zp-hlas{ display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; padding: 9px 16px; border-radius: 99px; border: 1px solid var(--border); background: var(--surface-2); color: var(--text-muted); font-size: .82rem; cursor: default; }
.ad-zp-kedy{ margin-top: 20px; }
.ad-zp-kedy-t{ font-size: .8rem; color: var(--text-secondary); margin-bottom: 8px; font-weight: 600; }
.ad-zp-opt{ display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border: 1px solid var(--border); border-radius: 12px; margin-bottom: 8px; cursor: pointer; transition: border-color .15s, background .15s; }
.ad-zp-opt.je-sel{ border-color: var(--border-strong); background: rgba(232,184,102,.06); }
.ad-zp-opt strong{ display: block; font-size: .9rem; color: var(--text-primary); font-weight: 600; }
.ad-zp-opt small{ display: block; font-size: .74rem; color: var(--text-muted); margin-top: 2px; }
.ad-zp-rb{ width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--text-muted); margin-top: 1px; flex: 0 0 auto; position: relative; }
.ad-zp-opt.je-sel .ad-zp-rb{ border-color: var(--gold-primary); }
.ad-zp-opt.je-sel .ad-zp-rb::after{ content: ""; position: absolute; inset: 3px; border-radius: 50%; background: var(--gold-primary); }
.ad-zp-datum, .ad-zp-vek{ margin-top: 8px; background: var(--surface-0); border: 1px solid var(--border); border-radius: 10px; padding: 8px 10px; color: var(--text-primary); font-family: inherit; }
.ad-zp-ulozit{ display: block; width: 100%; margin-top: 20px; padding: 15px; border: none; border-radius: 14px; cursor: pointer; font-family: inherit; font-weight: 600; font-size: 1rem; color: #FBE3C6; background: radial-gradient(circle at 40% 30%, #B4243A, #7A1522); box-shadow: 0 8px 22px rgba(150,22,38,.35); }
.ad-zp-ulozit:disabled{ opacity: .6; }
.ad-zp-spat{ display: block; width: 100%; margin-top: 10px; padding: 13px; border: 1px solid var(--border); border-radius: 14px; cursor: pointer; font-family: inherit; font-size: .9rem; color: var(--text-secondary); background: transparent; }
.ad-zp-chyba{ color: #F0B7BE; font-size: .82rem; margin-top: 10px; text-align: center; }
.ad-zp-ok{ width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 30px; color: var(--gold-bright); background: radial-gradient(circle, rgba(255,215,131,.2), transparent); margin: 10px auto 12px; }
.ad-zp-ok-t{ text-align: center; font-family: var(--font-serif, Georgia, serif); margin: 0 0 4px; }
.ad-zp-ok-p{ text-align: center; color: var(--text-secondary); margin: 0 0 18px; }
.ad-zp-dalsi{ display: block; width: 100%; padding: 13px; border: 1px solid var(--border-strong); border-radius: 14px; cursor: pointer; font-family: inherit; font-size: .92rem; color: var(--gold-light); background: rgba(232,184,102,.06); }
.ad-zp-zoznam-obal{ margin-top: 34px; border-top: 1px solid var(--border); padding-top: 8px; }
.ad-zp-odkaz{ background: var(--surface-2); border: 1px solid var(--border); border-radius: 14px; padding: 14px 16px; margin-bottom: 10px; }
.ad-zp-odkaz-hlava{ display: flex; align-items: center; justify-content: space-between; }
.ad-zp-odkaz-pre{ font-weight: 600; color: var(--gold-light); font-size: .9rem; display: inline-flex; align-items: center; gap: 7px; }
.ad-zp-odkaz-zmazat{ background: none; border: none; color: var(--text-muted); cursor: pointer; font-size: 15px; }
.ad-zp-odkaz-zmazat:hover{ color: #F0B7BE; }
.ad-zp-odkaz-text{ color: var(--text-secondary); font-size: .88rem; line-height: 1.5; margin: 7px 0; }
.ad-zp-odkaz-kedy{ font-size: .74rem; color: var(--text-muted); display: flex; align-items: center; gap: 6px; }
@media (max-width: 440px){ .ad-zp-grid{ grid-template-columns: repeat(2, 1fr); } }

/* Zapísať pre… – visačka hlasu + náhľad pre príjemcu (E3) */
.ad-zp-odkaz-visacka{ font-size:.74rem; color:var(--gold-light); display:flex; align-items:center; gap:6px; margin:6px 0 2px; }
.ad-zp-nahlad-cap{ text-align:center; color:var(--text-secondary); font-size:.86rem; margin:16px 0 8px; }
.ad-zp-nahlad{ background:linear-gradient(180deg,#0e1b2b,#0a1521); border:1px solid var(--border-strong); border-radius:18px; padding:20px; box-shadow:0 12px 30px rgba(0,0,0,.4); }
.ad-zp-nahlad-visacka{ display:inline-flex; align-items:center; gap:7px; font-size:.72rem; letter-spacing:.04em; color:var(--gold-light); background:rgba(232,184,102,.1); border:1px solid var(--border); border-radius:99px; padding:5px 12px; margin-bottom:12px; }
.ad-zp-nahlad-telo{ font-family:var(--font-serif,Georgia,serif); font-size:1.2rem; line-height:1.45; color:var(--text-primary); }
.ad-zp-nahlad-odomkne{ margin-top:14px; font-size:.78rem; color:var(--text-muted); display:flex; align-items:center; gap:7px; }

/* Zapísať pre… – nahrávanie hlasu */
.ad-zp-hlas-obal{ display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:10px; }
.ad-zp-hlas{ display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:99px; border:1px solid var(--border); background:var(--surface-2); color:var(--gold-light); font-size:.84rem; cursor:pointer; font-family:inherit; transition:border-color .15s, background .15s; }
.ad-zp-hlas:hover{ border-color:var(--border-strong); }
.ad-zp-hlas.je-nahrava{ border-color:#B4243A; color:#F0B7BE; background:rgba(180,36,58,.1); animation:ad-zp-puls 1.4s ease-in-out infinite; }
@keyframes ad-zp-puls{ 0%,100%{ box-shadow:0 0 0 0 rgba(180,36,58,.4);} 50%{ box-shadow:0 0 0 6px rgba(180,36,58,0);} }
.ad-zp-hlas-cas{ font-variant-numeric:tabular-nums; color:#F0B7BE; font-size:.86rem; font-weight:600; }
.ad-zp-hlas-zrus{ background:none; border:none; color:var(--text-muted); cursor:pointer; font-size:16px; }
.ad-zp-hlas-zrus:hover{ color:#F0B7BE; }
.ad-zp-audio{ width:100%; margin-top:12px; height:38px; }
.ad-zp-nahlad .ad-zp-audio{ margin-top:14px; }

/* ══ POKLADY – kompaktné dlaždice s kruhovou ikonou (prebíja staré) ══ */
.ad-poklady,
body.ad-ma-izby .ad-poklady {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  grid-template-rows: none !important;
  height: auto !important; min-height: 0 !important;
  gap: 10px !important;
  overflow: visible !important;
  padding: 12px 12px 20px !important;
  -webkit-mask-image: none !important; mask-image: none !important;
}
.ad-poklady > a,
body.ad-ma-izby .ad-poklady > a {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: left !important;
  gap: 10px !important;
  padding: 10px 12px !important;
  min-height: 0 !important;
  background: linear-gradient(180deg, #0e1b2b, #0a1521) !important;
  border: 1px solid var(--border) !important;
  border-radius: 14px !important;
  color: var(--text-primary) !important;
  white-space: normal !important;
  flex: initial !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
  transition: transform .15s, border-color .15s, box-shadow .15s;
}
.ad-poklady > a:hover {
  transform: translateY(-2px);
  border-color: var(--border-strong) !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.35);
  color: var(--text-primary) !important;
}
.ad-poklady .ad-pk-ikona,
body.ad-ma-izby .ad-poklady .ad-pk-ikona {
  flex: 0 0 auto !important; position: relative;
  width: 38px !important; height: 38px !important; border-radius: 50% !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  background: radial-gradient(circle at 42% 36%, rgba(232,184,102,.16), rgba(232,184,102,.04)) !important;
  border: 1px solid var(--border) !important;
}
.ad-poklady .ad-pk-ikona i,
body.ad-ma-izby .ad-poklady .ad-pk-ikona i { font-size: 19px !important; color: var(--gold-primary) !important; }
.ad-poklady .ad-pk-nazov,
body.ad-ma-izby .ad-poklady .ad-pk-nazov {
  display: flex !important; flex-direction: column; gap: 1px;
  flex: 1 1 auto !important; min-width: 0 !important;
  font-size: .82rem !important; font-weight: 500; color: var(--text-primary) !important;
  line-height: 1.2; overflow-wrap: anywhere; word-break: break-word;
}
.ad-poklady .ad-pk-info,
.ad-poklady .ad-pk-dusi,
body.ad-ma-izby .ad-poklady .ad-pk-info,
body.ad-ma-izby .ad-poklady .ad-pk-dusi {
  display: block !important;
  font-size: .62rem !important; font-weight: 400 !important; color: var(--text-muted) !important;
  letter-spacing: 0 !important; line-height: 1.25 !important; margin-top: 2px !important;
}
.ad-poklady .ad-pk-odznak,
body.ad-ma-izby .ad-poklady .ad-pk-odznak {
  position: absolute !important; top: -5px !important; left: -5px !important; right: auto !important;
  min-width: 16px !important; height: 16px !important; padding: 0 4px !important;
  border-radius: 99px !important;
  background: var(--gold-primary) !important; color: #1a1206 !important;
  font-size: 10px !important; font-weight: 700 !important; line-height: 1 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  box-shadow: 0 2px 5px rgba(0,0,0,.4);
}

/* Môj pocit – vlastné kompaktné rozbaľovacie menu (v našom dizajne) */
.ad-pocit-vyber { margin-top: 8px; position: relative; max-width: 260px; }
.ad-pocit-trigger {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 11px 14px; background: var(--surface-2, #0d1a2a);
  border: 1px solid var(--border, rgba(232,184,102,.18)); border-radius: 12px;
  color: var(--text-primary, #F3F1EC); font-family: inherit; font-size: .95rem; cursor: pointer;
  transition: border-color .15s;
}
.ad-pocit-trigger:hover, .ad-pocit-vyber.je-otvorene .ad-pocit-trigger { border-color: var(--border-strong, rgba(243,204,124,.45)); }
.ad-pocit-trigger i { color: var(--gold-primary, #E8B866); font-size: 15px; transition: transform .2s; }
.ad-pocit-vyber.je-otvorene .ad-pocit-trigger i { transform: rotate(180deg); }
.ad-pocit-menu {
  position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 40;
  background: linear-gradient(180deg, #0e1b2b, #0a1521);
  border: 1px solid var(--border-strong, rgba(243,204,124,.4)); border-radius: 14px;
  box-shadow: 0 14px 34px rgba(0,0,0,.5); padding: 6px; overflow: hidden auto; max-height: 320px;
}
.ad-pocit-moznost {
  width: 100%; display: flex; align-items: center; gap: 11px; padding: 10px 12px;
  background: none; border: none; border-radius: 9px; cursor: pointer; text-align: left;
  color: var(--text-primary, #F3F1EC); font-family: inherit; font-size: .92rem; transition: background .12s;
}
.ad-pocit-moznost:hover { background: rgba(232,184,102,.09); }
.ad-pocit-moznost i { font-size: 18px; flex: 0 0 auto; }

/* ══ STÍŠENÝ REŽIM – indikátor v lište + prepínač ══ */
.ad-stiseny-indik {
  display: inline-flex; align-items: center; gap: 6px;
  margin-left: 12px; padding: 5px 12px; border-radius: 99px;
  background: rgba(232,184,102,.1); border: 1px solid rgba(232,184,102,.4);
  color: var(--gold-light,#F3CC7C); font-size: .78rem; font-weight: 500; text-decoration: none; white-space: nowrap;
}
.ad-stiseny-indik:hover { background: rgba(232,184,102,.18); }
.ad-stiseny-indik i { font-size: 15px; }
@media (max-width: 600px) { .ad-stiseny-indik-text { display: none; } .ad-stiseny-indik { margin-left: 8px; padding: 5px 9px; } }

.ad-stiseny-prep { display: flex; align-items: center; gap: 10px; cursor: pointer; margin-top: 6px; }
.ad-stiseny-prep input { position: absolute; opacity: 0; width: 0; height: 0; }
.ad-stiseny-posuvnik {
  position: relative; flex: 0 0 auto; width: 42px; height: 24px; border-radius: 99px;
  background: var(--surface-2,#0d1a2a); border: 1px solid var(--border,rgba(232,184,102,.2)); transition: background .2s, border-color .2s;
}
.ad-stiseny-posuvnik::after {
  content: ""; position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%;
  background: var(--text-muted,#8894a3); transition: transform .2s, background .2s;
}
.ad-stiseny-prep input:checked + .ad-stiseny-posuvnik { background: rgba(232,184,102,.25); border-color: var(--gold-primary,#E8B866); }
.ad-stiseny-prep input:checked + .ad-stiseny-posuvnik::after { transform: translateX(18px); background: var(--gold-primary,#E8B866); }
.ad-stiseny-lbl { font-size: .9rem; color: var(--text-primary,#F3F1EC); }
.ad-stiseny-blok .ad-sidebar-label i { color: var(--gold-primary,#E8B866); }

/* Stíšený režim – poistka: podľa triedy na body sa skryje všetko „von" naraz */
body.ad-stiseny .ad-nav-skupina-zivot,
body.ad-stiseny .ad-pk-mapa,
body.ad-stiseny .ad-pk-objav,
body.ad-stiseny .ad-pk-zdover,
body.ad-stiseny .ad-pk-mudrost,
body.ad-stiseny .ad-pf-mimo-komnaty { display: none !important; }

/* Indikátor zapečatenej kroniky v hornej lište */
.ad-pecat-indik{ display:inline-flex; align-items:center; gap:6px; margin-left:10px; padding:4px 11px; border-radius:99px;
  border:1px solid rgba(180,36,58,.5); background:rgba(180,36,58,.12); color:#F0B7BE; font-size:.72rem; letter-spacing:.04em; }
.ad-pecat-indik i{ font-size:14px; }
@media (max-width:640px){ .ad-pecat-indik-text{ display:none; } }

/* ============================================================
   Trojfázový formulár záznamu (Príbeh → Súvislosti → Súkromie)
   ============================================================ */
.ad-ef-fazy-hlava { display:flex; align-items:center; gap:10px; margin:4px 0 22px; flex-wrap:wrap; }
.ad-ef-faza-krok {
  display:inline-flex; align-items:center; gap:8px; background:none; border:none; cursor:pointer;
  color:var(--text-secondary); font-family:inherit; font-size:.86rem; letter-spacing:.02em; padding:4px 2px;
}
.ad-ef-faza-cislo {
  width:24px; height:24px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  border:1.5px solid var(--border-strong, rgba(243,204,124,.4)); font-size:.78rem; color:var(--text-secondary);
}
.ad-ef-faza-krok.aktivna { color:var(--gold-light, #F3CC7C); }
.ad-ef-faza-krok.aktivna .ad-ef-faza-cislo { background:var(--gold-primary, #E8B866); border-color:var(--gold-primary, #E8B866); color:#12233A; font-weight:700; }
.ad-ef-faza-krok.hotova .ad-ef-faza-cislo { border-color:var(--gold-primary, #E8B866); color:var(--gold-primary, #E8B866); }
.ad-ef-faza-ciara { flex:1 1 24px; min-width:24px; height:1px; background:var(--border, rgba(232,184,102,.18)); }

.ad-ef-faza { display:none; }
.ad-ef-faza.ad-ef-faza-aktivna { display:block; animation:adFazaZjav .22s ease; }
@keyframes adFazaZjav { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }

/* Layout so živým zhrnutím (desktop) */
.ad-entry-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; align-items:start; }
.ad-entry-zhrnutie { display:none; }
@media (min-width: 1024px) {
  .ad-entry-layout { grid-template-columns:minmax(0,1fr) 280px; }
  .ad-entry-zhrnutie { display:block; position:sticky; top:86px; padding:18px; }
}
.ad-entry-zhrnutie-nadpis { font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-light,#F3CC7C); margin-bottom:12px; }
.ad-entry-zhrnutie-riadok { display:flex; align-items:flex-start; gap:9px; padding:7px 0; border-bottom:1px solid var(--border, rgba(232,184,102,.14)); font-size:.86rem; }
.ad-entry-zhrnutie-riadok:last-of-type { border-bottom:none; }
.ad-entry-zhrnutie-riadok i { color:var(--gold-primary,#E8B866); font-size:15px; margin-top:1px; flex:0 0 auto; }
.ad-zh-hodnota { color:var(--text-primary,#F3F1EC); line-height:1.4; }

/* Zapísať pre… – prílohy odkazu */
.ad-zp-odkaz-prilohy { display:flex; gap:6px; flex-wrap:wrap; margin:6px 0 2px; }
.ad-zp-chip { display:inline-flex; align-items:center; gap:4px; font-size:11.5px; color:var(--text-secondary);
  border:1px solid var(--border, rgba(232,184,102,.18)); border-radius:99px; padding:2px 9px; }
.ad-zp-chip i { color:var(--gold-primary,#E8B866); font-size:12px; }
.ad-zp-prilohy { display:flex; flex-direction:column; gap:8px; margin-top:8px; }
.ad-zp-prilohy-foto { display:grid; grid-template-columns:repeat(auto-fill, minmax(96px,1fr)); gap:6px; }
.ad-zp-prilohy-foto img { width:100%; height:90px; object-fit:cover; border-radius:8px; border:1px solid var(--border); display:block; }
.ad-zp-prilohy video { width:100%; max-height:320px; border-radius:10px; background:#000; }
.ad-zp-prilohy audio { width:100%; height:32px; }
.ad-zp-dok { display:inline-flex; align-items:center; gap:6px; font-size:.85rem; color:var(--gold-light,#F3CC7C); text-decoration:none; }

/* ============================================================
   Fáza 2 „Súvislosti" – kartový dizajn podľa návrhu
   ============================================================ */
/* zrušiť dvojstĺpcový grid – sekcie idú pod sebou plnou šírkou */
.ad-ef-faza[data-faza="2"] .ad-entry-grid { display: flex !important; flex-direction: column; gap: 14px; }
.ad-ef-faza[data-faza="2"] .ad-entry-col-left,
.ad-ef-faza[data-faza="2"] .ad-entry-col-right { display: flex; flex-direction: column; gap: 14px; min-width: 0; }

/* každá sekcia ako karta */
.ad-ef-faza[data-faza="2"] .ad-form-group {
  margin: 0;
  border: 1px solid var(--border, rgba(232,184,102,.18));
  border-radius: 14px;
  padding: 16px 18px;
  background: var(--surface-1, rgba(255,255,255,.02));
}
.ad-ef-faza[data-faza="2"] .ad-form-group > .ad-label:first-child {
  display: flex; align-items: center; gap: 8px;
  font-size: .92rem; color: var(--gold-light, #F3CC7C);
  margin-bottom: 12px;
}

/* Typ záznamu – veľké dlaždice ako v návrhu */
.ad-ef-faza[data-faza="2"] .ad-tag-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(108px, 1fr));
  gap: 8px;
}
.ad-ef-faza[data-faza="2"] .ad-tag-grid .ad-tag {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px;
  padding: 14px 8px; min-height: 74px; border-radius: 12px; text-align: center;
  border: 1px solid var(--border, rgba(232,184,102,.2));
  font-size: .82rem; line-height: 1.25;
}
.ad-ef-faza[data-faza="2"] .ad-tag-grid .ad-tag i { font-size: 20px !important; }
.ad-ef-faza[data-faza="2"] .ad-tag-grid .ad-tag.active {
  background: linear-gradient(160deg, rgba(232,184,102,.22), rgba(232,184,102,.08));
  border-color: var(--gold-primary, #E8B866);
  color: var(--gold-light, #F3CC7C);
}

/* pocity a ostatné tagy – vzdušný wrap */
.ad-ef-faza[data-faza="2"] .ad-pocity-vyber,
.ad-ef-faza[data-faza="2"] .ad-vek-mod-vyber,
.ad-ef-faza[data-faza="2"] .ad-datum-mod-vyber { display: flex; flex-wrap: wrap; gap: 8px; }

/* vstupy v kartách na plnú šírku, selecty pohodlné */
.ad-ef-faza[data-faza="2"] .ad-input,
.ad-ef-faza[data-faza="2"] .ad-select,
.ad-ef-faza[data-faza="2"] .ad-textarea { max-width: 100%; }
.ad-ef-faza[data-faza="2"] select.ad-input,
.ad-ef-faza[data-faza="2"] .ad-select { min-height: 42px; }

/* fáza 3 – viditeľnosť ako jedna pokojná karta */
.ad-ef-faza[data-faza="3"] > .ad-form-group {
  border: 1px solid var(--border, rgba(232,184,102,.18));
  border-radius: 14px; padding: 18px; background: var(--surface-1, rgba(255,255,255,.02)); margin: 0;
}

/* Trojfázový formulár potrebuje dych – širší pracovný priestor na desktope */
@media (min-width: 1024px) {
  .ad-entry-container { max-width: 1140px; }
}

/* Vejár: kamerový vstup nesmie byť nikdy viditeľný (poistka aj proti cache) */
.ad-vejar-akcia input[type="file"],
.ad-vejar-moment-input {
  display: none !important;
  position: absolute !important;
  width: 0 !important; height: 0 !important;
  opacity: 0 !important; pointer-events: none;
}

/* „Len pre teba" – súkromná časť záznamu (médiá + meno osoby), zosadnutá dlaždica */
.ad-zaznam-len-pre-teba {
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px dashed rgba(232, 184, 102, .3);
  border-radius: 14px;
  background: rgba(255, 255, 255, .022);
  opacity: .82;
  transition: opacity .18s;
}
.ad-zaznam-len-pre-teba:hover { opacity: 1; }
.ad-zaznam-lpt-hlava {
  display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap;
  margin-bottom: 4px; font-size: .82rem; letter-spacing: .04em;
  color: var(--gold-light, #F3CC7C);
}
.ad-zaznam-lpt-hlava i { font-size: 14px; }
.ad-zaznam-lpt-hlava em { font-style: normal; color: var(--text-secondary, #9aa3ad); font-size: .78rem; letter-spacing: 0; }

/* Sejf – dedenie frázou (tichá karta) */
.ad-sejf-dedenie {
  margin-top: 16px; padding: 14px 16px;
  border: 1px solid var(--border, rgba(232,184,102,.18));
  border-radius: 12px; background: var(--surface-1, rgba(255,255,255,.02));
  font-size: 13px; color: var(--text-secondary);
}
.ad-sejf-dedenie strong { color: var(--gold-light, #F3CC7C); display: inline-flex; align-items: center; gap: 7px; margin-bottom: 6px; }
.ad-sejf-dedenie p { margin: 6px 0 0; line-height: 1.55; }

/* Svetlý režim: tmavé karty (Poklady, Zdedil som kroniku) majú VŽDY svetlý text.
   Karty sú trvalo nočné, preto tu !important – žiadna kaskáda ich nesmie stmaviť. */
:root:not([data-theme="dark"]) .ad-poklady a { color: #F3F1EC !important; }
:root:not([data-theme="dark"]) .ad-poklady .ad-pk-nazov { color: #F3F1EC !important; }
:root:not([data-theme="dark"]) .ad-poklady .ad-pk-info { color: rgba(243, 241, 236, .65) !important; }
:root:not([data-theme="dark"]) .ad-poklady .ad-pk-mudrost { color: #f0dca0 !important; }
:root:not([data-theme="dark"]) .ad-pf-heir,
:root:not([data-theme="dark"]) .ad-pf-heir .ad-pf-heir-tx { color: #c9cfd8 !important; }
:root:not([data-theme="dark"]) .ad-pf-heir .ad-pf-heir-tx b { color: #E8B866 !important; }
:root:not([data-theme="dark"]) .ad-pf-heir .ad-pf-heir-tx small { color: rgba(201, 207, 216, .85) !important; }

/* ============================================================
   BRÁNA „DNES" – vstupná brána podľa schváleného návrhu
   ============================================================ */
.ad-brana { margin-bottom: 22px; }
.ad-brana-hlava { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 10px; }
.ad-brana-pozdrav { font-family: var(--font-serif, Georgia, serif); font-style: italic; color: var(--gold-light, #F3CC7C); font-size: 1.05rem; }
.ad-brana-uprava {
  margin-left: auto; flex: 0 0 auto; background: none; border: 1px solid var(--border, rgba(232,184,102,.16));
  color: var(--text-secondary); border-radius: 99px; padding: 7px 13px; font-size: .78rem;
  display: inline-flex; gap: 6px; align-items: center; cursor: pointer;
}
.ad-brana-uprava.aktivna { border-color: var(--gold-primary, #E8B866); color: var(--gold-light, #F3CC7C); }

.ad-brana-pocit { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.ad-brana-pocit-otazka { color: var(--text-secondary); font-size: .84rem; }
.ad-brana-cip {
  border: 1px solid var(--border, rgba(232,184,102,.16)); border-radius: 99px; padding: 6px 13px;
  font-size: .82rem; background: var(--surface-1, rgba(255,255,255,.02)); color: var(--text-primary);
  display: inline-flex; align-items: center; gap: 6px; text-decoration: none;
}
.ad-brana-cip b { color: var(--gold-light, #F3CC7C); font-weight: 500; font-size: .7rem; letter-spacing: .06em; }
.ad-brana-cip.vcera { opacity: .6; }
.ad-brana-cip-vyber { cursor: pointer; color: var(--gold-light, #F3CC7C); }

/* zvon */
.ad-brana-zvon {
  display: block; width: 100%; border-radius: 18px; text-align: left; cursor: pointer; position: relative;
  padding: 18px; margin-bottom: 14px; overflow: hidden; color: var(--text-primary);
  background: radial-gradient(circle at 85% 20%, rgba(163,32,47,.25), transparent 60%), var(--surface-1, #101B2E);
  border: 1.5px solid rgba(163,32,47,.55);
  animation: adZvonPuls 3.2s ease-in-out infinite;
  font-family: inherit;
}
@keyframes adZvonPuls { 0%,100% { box-shadow: 0 0 0 0 rgba(163,32,47,0); } 50% { box-shadow: 0 0 24px 2px rgba(163,32,47,.35); } }
@media (prefers-reduced-motion: reduce) { .ad-brana-zvon { animation: none; } }
.ad-brana-zvon-otaznik { font-family: var(--font-serif, Georgia, serif); font-size: 2.6rem; color: #C0303F; line-height: 1; float: right; margin-left: 12px; }
.ad-brana-zvon b { font-family: var(--font-serif, Georgia, serif); font-weight: 500; font-size: 1.15rem; display: block; margin-bottom: 3px; }
.ad-brana-zvon > span:not(.ad-brana-zvon-otaznik) { color: var(--text-secondary); font-size: .8rem; }

.ad-brana-zaves {
  position: fixed; inset: 0; background: rgba(6,10,18,.82); backdrop-filter: blur(3px);
  display: flex; align-items: center; justify-content: center; padding: 22px; z-index: 90;
}
.ad-brana-zaves[hidden] { display: none; }
.ad-brana-zvon-kart {
  max-width: 400px; width: 100%; text-align: center; border-radius: 22px; padding: 30px 24px;
  background: radial-gradient(circle at 50% 0%, rgba(163,32,47,.16), transparent 55%), var(--surface-0, #0B1220);
  border: 1px solid rgba(163,32,47,.4);
}
.ad-brana-zvon-mini { letter-spacing: .28em; font-size: .66rem; color: #C0303F; text-transform: uppercase; margin-bottom: 16px; }
.ad-brana-zvon-kart h3 { font-family: var(--font-serif, Georgia, serif); font-weight: 500; font-size: 1.45rem; line-height: 1.35; margin: 0 0 24px; color: var(--text-primary); }
.ad-brana-zvon-odpovede { display: flex; flex-direction: column; gap: 10px; }
.ad-brana-zvon-odpovede button {
  border-radius: 14px; padding: 13px; font-size: .95rem; cursor: pointer; font-family: inherit;
  background: none; border: 1px solid var(--border, rgba(232,184,102,.16)); color: var(--text-primary);
}
.ad-brana-zvon-odpovede button.prva { background: var(--gold-primary, #E8B866); border: none; color: #12233A; font-weight: 700; }
.ad-brana-zvon-ticho { margin-top: 16px; font-size: .74rem; color: var(--text-muted); }
.ad-brana-zvon-viac { display: inline-block; margin-top: 8px; font-size: .8rem; color: var(--gold-light, #F3CC7C); }
.ad-brana-zvon-vdaka p { font-family: var(--font-serif, Georgia, serif); font-style: italic; font-size: 1.1rem; color: var(--gold-light, #F3CC7C); }

/* mriežka modulov */
.ad-brana-mriezka { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ad-brana-modul {
  position: relative; border: 1px solid var(--border, rgba(232,184,102,.16));
  background: linear-gradient(160deg, var(--surface-2, #15223A), var(--surface-1, #101B2E));
  border-radius: 16px; padding: 14px 12px; min-height: 96px; display: flex; flex-direction: column; gap: 8px;
  text-decoration: none; color: var(--text-primary); transition: border-color .2s, transform .2s;
}
.ad-brana-modul:hover { border-color: rgba(232,184,102,.35); transform: translateY(-2px); }
.ad-brana-ik {
  width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: rgba(232,184,102,.1); color: var(--gold-primary, #E8B866); font-size: 16px; flex: 0 0 auto;
}
.ad-brana-telo b { font-size: .9rem; font-weight: 500; display: block; }
.ad-brana-telo small { color: var(--text-secondary); font-size: .74rem; line-height: 1.3; display: block; margin-top: 2px; }
.ad-brana-pocet {
  position: absolute; top: 10px; right: 10px; background: var(--gold-primary, #E8B866); color: #12233A;
  font-size: .7rem; font-weight: 700; border-radius: 99px; padding: 1px 7px;
}
.ad-brana-modul.pas { grid-column: 1 / -1; flex-direction: row; align-items: center; min-height: 0; padding: 14px 16px; }
.ad-brana-modul.pas .ad-brana-telo { flex: 1; min-width: 0; }
.ad-brana-zaujme-nazov { color: var(--text-primary); font-family: var(--font-serif, Georgia, serif); font-style: italic; }

/* edit režim */
.ad-brana-edit { display: none; position: absolute; right: 8px; bottom: 8px; gap: 6px; }
.ad-brana.edit .ad-brana-edit { display: flex; }
.ad-brana-edit button {
  width: 26px; height: 26px; border-radius: 8px; border: 1px solid var(--border, rgba(232,184,102,.16));
  background: var(--surface-0, #0B1220); color: var(--text-secondary); cursor: pointer; font-size: 12px;
}
.ad-brana-edit button:hover { color: var(--gold-light, #F3CC7C); }
.ad-brana-odopnut {
  position: absolute; top: 8px; right: 8px; width: 22px; height: 22px; border-radius: 50%;
  border: 1px solid var(--border, rgba(232,184,102,.16)); background: var(--surface-0, #0B1220);
  color: var(--text-secondary); cursor: pointer; display: none; font-size: 11px; line-height: 1;
}
.ad-brana.edit .ad-brana-odopnut { display: block; }
.ad-brana.edit .ad-brana-modul .ad-brana-pocet { display: none; } /* nech ✕ neprekrýva počet */
.ad-brana-katalog { display: none; margin-top: 22px; }
.ad-brana.edit .ad-brana-katalog { display: block; }
.ad-brana-katalog h2 { font-family: var(--font-serif, Georgia, serif); font-weight: 500; font-size: 1rem; color: var(--text-secondary); margin: 0 0 10px; }
.ad-brana-katalog .ad-brana-modul { opacity: .55; }
.ad-brana-pripnut {
  position: absolute; top: 8px; right: 8px; width: 22px; height: 22px; border-radius: 50%;
  border: 1px solid rgba(232,184,102,.35); background: var(--surface-0, #0B1220);
  color: var(--gold-primary, #E8B866); cursor: pointer; font-size: 13px; line-height: 1;
}
.ad-brana-hotovo {
  display: none; position: fixed; left: 50%; bottom: 84px; transform: translateX(-50%);
  background: var(--gold-primary, #E8B866); color: #12233A; border: none; border-radius: 99px;
  padding: 12px 34px; font-weight: 700; font-size: .95rem; cursor: pointer; z-index: 60;
  box-shadow: 0 8px 24px rgba(232,184,102,.35);
}
.ad-brana.edit ~ * .ad-brana-hotovo, .ad-brana.edit .ad-brana-hotovo { display: block; }

/* Brána – výber pocitu priamo v bráne */
.ad-brana-pocit-vyber { width: 100%; display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.ad-brana-pocit-vyber[hidden] { display: none; }
.ad-brana-pocit-vyber button {
  border: 1px solid var(--border, rgba(232,184,102,.16)); background: var(--surface-1, rgba(255,255,255,.02));
  color: var(--text-primary); border-radius: 99px; padding: 6px 12px; font-size: .84rem; cursor: pointer;
  display: inline-flex; align-items: center; gap: 6px; font-family: inherit;
}
.ad-brana-pocit-vyber button:hover { border-color: rgba(232,184,102,.4); }

/* Brána – desktop: kompaktnejšia (3 stĺpce), Okamih len na mobile, Poklady len na desktope */
@media (min-width: 1024px) {
  .ad-brana-mriezka { grid-template-columns: repeat(3, 1fr); }
  .ad-brana-modul[data-m="okamih"] { display: none; }
}
@media (max-width: 1023.98px) {
  .ad-brana-modul[data-m="poklady"] { display: none; }
}

/* ============================================================
   MOSTÍK v2 – izba Dnes s Bránou (prepis plánu po prestavbe)
   ============================================================ */
@media (min-width: 1100px) {
  #ad-dnes-mostik {
    grid-template-columns: 1.25fr 1fr;
    grid-template-areas:
      "brana  otazka"
      "brana  dnes"
      "brana  citacia"
      "brana  vtd"
      "strip  strip"
      "ludstvo ludstvo";
  }
  #ad-dnes-mostik .ad-brana { grid-area: brana; --modul-akcent: rgba(232, 184, 102, 0.7); margin-bottom: 0; }
  #ad-dnes-mostik .ad-nalada-ludstva { grid-area: ludstvo; }
  /* pravý stĺpec: moduly len také vysoké, aký majú obsah */
  #ad-dnes-mostik .ad-otazka-dna,
  #ad-dnes-mostik .ad-dnes,
  #ad-dnes-mostik .ad-profile-citacia,
  #ad-dnes-mostik .ad-vtd { align-self: start; }
  /* brána v mostíku: mriežka späť na 2 stĺpce (v užšom ľavom trakte dýcha lepšie) */
  #ad-dnes-mostik .ad-brana .ad-brana-mriezka { grid-template-columns: 1fr 1fr; }
}

/* ============================================================
   ČERVENÁ OS ŽIVOTA – Môj život (kreslí sa skrolovaním)
   ============================================================ */
#ad-timeline.ad-os-zivota { position: relative; --os-w: 44px; padding-left: var(--os-w); }
#ad-os-svg {
  position: absolute; top: 0; left: 0; width: var(--os-w); height: 100%;
  overflow: visible; pointer-events: none;
}
#ad-os-path {
  fill: none; stroke: #A3202F; stroke-width: 2.5; stroke-linecap: round;
}
.ad-os-krug {
  fill: var(--surface-0, #0B1220); stroke: #A3202F; stroke-width: 2;
  transition: fill .3s, filter .3s;
}
.ad-os-krug.svieti { fill: #E8B866; filter: drop-shadow(0 0 6px rgba(232,184,102,.7)); }
/* starú sivú linku a bodky nahrádza os */
.ad-os-zivota .ad-tl-content { border-left: none; }
.ad-os-zivota .ad-tl-dot-mobilny { display: none; }
@media (max-width: 900px) {
  #ad-timeline.ad-os-zivota { --os-w: 26px; }
  .ad-os-zivota .ad-tl-item { font-size: .94em; }
  .ad-os-zivota .ad-tl-year { font-size: .7rem; }
}
@media (prefers-reduced-motion: reduce) {
  #ad-os-path { stroke-dashoffset: 0 !important; }
}


/* ============================================================
   ČASOVÉ SCHRÁNKY (vrstva 2)
   ============================================================ */
.ad-sch-page { max-width: 860px; margin: 0 auto; padding: 0 1rem 4rem; }

.ad-sch-slub {
  display: flex; gap: 12px; align-items: flex-start;
  background: var(--surface-2); border: 0.5px solid var(--border);
  border-left: 3px solid #a02a22; border-radius: var(--radius-card);
  padding: 0.9rem 1.1rem; margin: 1.25rem 0;
}
.ad-sch-slub i { color: var(--gold-primary); font-size: 1.25rem; margin-top: 2px; }
.ad-sch-slub p { margin: 0; font-size: 0.875rem; color: var(--text-secondary); line-height: 1.55; }

.ad-sch-akcie { margin: 1.25rem 0; }

.ad-btn-pecat {
  background: #a02a22; border-color: #a02a22; color: #fff;
}
.ad-btn-pecat:hover { background: #8a231c; color: #fff; }
.ad-btn-link { border: none; background: none; color: var(--text-muted); padding: 10px 12px; }
.ad-btn-link:hover { background: none; color: var(--text-secondary); }

/* ---------- Formulár ---------- */
.ad-sch-form {
  background: var(--surface-2); border: 0.5px solid var(--border);
  border-radius: var(--radius-card); padding: 1.4rem; margin-bottom: 2rem;
  display: flex; flex-direction: column; gap: 1.1rem;
}
.ad-sch-pole { display: flex; flex-direction: column; gap: 6px; }
.ad-sch-pole > span {
  font-family: 'Cormorant Garamond', serif; font-size: 1.05rem;
  color: var(--text-primary);
}
.ad-sch-pole small { font-size: 0.78rem; color: var(--text-muted); }
.ad-sch-pole input[type="text"], .ad-sch-pole input[type="email"],
.ad-sch-pole input[type="date"], .ad-sch-pole input[type="time"],
.ad-sch-pole textarea {
  background: var(--surface-1); border: 0.5px solid var(--border-strong);
  border-radius: var(--radius); color: var(--text-primary);
  padding: 10px 12px; font-size: 0.9rem; font-family: inherit;
}
.ad-sch-pole textarea { resize: vertical; line-height: 1.6; }
.ad-sch-typ { display: flex; gap: 1.25rem; }
.ad-sch-typ-volba { display: inline-flex; gap: 7px; align-items: center; font-size: 0.9rem; color: var(--text-secondary); cursor: pointer; }
.ad-sch-typ-volba input { accent-color: #a02a22; }
.ad-sch-kedy-riadok { display: flex; gap: 10px; flex-wrap: wrap; }
.ad-sch-check { display: flex; gap: 10px; align-items: flex-start; font-size: 0.85rem; color: var(--text-secondary); cursor: pointer; line-height: 1.5; }
.ad-sch-check input { margin-top: 3px; accent-color: #a02a22; }
.ad-sch-form-akcie { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; border-top: 0.5px solid var(--border); padding-top: 1rem; }
.ad-sch-upload-btn { align-self: flex-start; }
.ad-sch-upload-stav { color: var(--text-muted); }

.ad-sch-prilohy { display: flex; flex-wrap: wrap; gap: 8px; }
.ad-sch-priloha {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--surface-1); border: 0.5px solid var(--border);
  border-radius: var(--radius); padding: 5px 8px; font-size: 0.8rem;
  color: var(--text-secondary); max-width: 100%;
}
.ad-sch-priloha img { width: 34px; height: 34px; object-fit: cover; border-radius: 5px; }
.ad-sch-priloha i { font-size: 1.15rem; color: var(--gold-primary); }
.ad-sch-priloha em { font-style: normal; max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ad-sch-priloha-x { border: none; background: none; color: var(--text-muted); cursor: pointer; font-size: 1rem; padding: 0 2px; }
.ad-sch-priloha-x:hover { color: #a02a22; }

/* ---------- Zoznamy ---------- */
.ad-sch-nadpis {
  font-family: 'Cormorant Garamond', serif; font-size: 1.35rem;
  color: var(--text-primary); margin: 2rem 0 0.9rem;
}
.ad-sch-mrezka { display: flex; flex-direction: column; gap: 12px; }
.ad-sch-karta {
  background: var(--surface-2); border: 0.5px solid var(--border);
  border-radius: var(--radius-card); padding: 1.1rem 1.25rem;
}
.ad-sch-karta h3 { font-family: 'Cormorant Garamond', serif; font-size: 1.15rem; margin: 0 0 4px; color: var(--text-primary); }
.ad-sch-karta-otvorena { border-left: 3px solid var(--gold-primary); }
.ad-sch-meta { font-size: 0.8rem; color: var(--text-muted); margin: 0 0 10px; }
.ad-sch-karta-akcie { display: flex; gap: 8px; }
.ad-sch-prazdno { color: var(--text-muted); font-style: italic; margin: 2rem 0; }

.ad-sch-obsah summary { cursor: pointer; font-size: 0.85rem; color: var(--gold-primary); }
.ad-sch-obsah-telo { margin-top: 0.9rem; font-size: 0.925rem; line-height: 1.65; color: var(--text-secondary); }
.ad-sch-obsah-media { display: flex; flex-direction: column; gap: 12px; margin-top: 1rem; }
.ad-sch-obsah-media img, .ad-sch-obsah-media video { max-width: 100%; border-radius: var(--radius); }
.ad-sch-obsah-media audio { width: 100%; }

/* ---------- Modál pečatenia ---------- */
.ad-sch-modal {
  position: fixed; inset: 0; z-index: 1200;
  background: rgba(8, 10, 20, 0.72); backdrop-filter: blur(3px);
  display: flex; align-items: center; justify-content: center; padding: 1rem;
}
.ad-sch-modal-okno {
  background: var(--surface-2); border: 0.5px solid var(--gold-border);
  border-radius: var(--radius-card); padding: 1.75rem;
  max-width: 480px; width: 100%; max-height: 90vh; overflow: auto;
  text-align: center;
}
.ad-sch-modal-okno h2 { font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; margin: 0.5rem 0 1.1rem; color: var(--text-primary); }
.ad-sch-pecat-znak {
  width: 62px; height: 62px; margin: 0 auto; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #c0392f, #7d1d17 70%);
  box-shadow: 0 4px 18px rgba(160, 42, 34, 0.45);
  display: flex; align-items: center; justify-content: center;
  color: #f6dfc9; font-size: 1.7rem;
  transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.ad-sch-zapecatene .ad-sch-pecat-znak { transform: scale(1.22) rotate(-8deg); box-shadow: 0 0 34px rgba(232, 184, 102, 0.55); }
.ad-sch-rekap { text-align: left; margin: 0 0 1rem; display: flex; flex-direction: column; gap: 7px; }
.ad-sch-rekap > div { display: flex; gap: 10px; align-items: baseline; }
.ad-sch-rekap dt { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-muted); min-width: 84px; }
.ad-sch-rekap dd { margin: 0; font-size: 0.9rem; color: var(--text-primary); overflow-wrap: anywhere; }
.ad-sch-modal-varovanie { font-size: 0.85rem; color: var(--text-secondary); line-height: 1.55; }
.ad-sch-modal-doklad {
  display: flex; gap: 8px; align-items: flex-start; text-align: left;
  font-size: 0.8rem; color: var(--text-muted);
  background: var(--surface-1); border-radius: var(--radius); padding: 0.7rem 0.85rem;
}
.ad-sch-modal-doklad i { color: var(--gold-primary); margin-top: 1px; }
.ad-sch-modal-doklad-varuj { border-left: 3px solid #a02a22; }
.ad-sch-modal-doklad-varuj i { color: #a02a22; }
.ad-sch-modal-akcie { display: flex; justify-content: center; gap: 10px; margin-top: 1.25rem; }

@media (max-width: 560px) {
  .ad-sch-form { padding: 1.1rem; }
  .ad-sch-rekap dt { min-width: 72px; }
}
.ad-sch-form[hidden], .ad-sch-modal[hidden], .ad-sch-pole[hidden] { display: none; }

/* ---------- Schránky: doručenie (pop-up + pás v Bráne) ---------- */
.ad-sch-dorucenie .ad-sch-modal-okno { border-color: rgba(217, 179, 86, 0.55); }
.ad-sch-dorucenie-nazov {
  font-family: 'Cormorant Garamond', serif; font-size: 1.2rem;
  color: var(--gold-primary); margin: 0 0 6px;
}
.ad-sch-dorucenie-datum { font-size: 0.85rem; color: var(--text-secondary); margin: 0 0 4px; }
.ad-sch-pecat-lom { transition: transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.7s ease; }
.ad-sch-pecat-lom.ad-sch-lomi {
  transform: scale(1.18) rotate(10deg);
  box-shadow: 0 0 40px rgba(232, 184, 102, 0.6), 0 4px 18px rgba(160, 42, 34, 0.45);
}

.ad-brana-schranka {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  margin: 0 0 12px; padding: 12px 16px;
  background: linear-gradient(150deg, rgba(160, 42, 34, 0.16), rgba(217, 179, 86, 0.08));
  border: 0.5px solid rgba(217, 179, 86, 0.45);
  border-radius: 14px;
  color: var(--text-secondary); text-decoration: none;
  transition: border-color .15s ease, transform .15s ease;
}
.ad-brana-schranka:hover { border-color: var(--gold-primary); transform: translateY(-1px); text-decoration: none; }
.ad-brana-schranka b { color: var(--text-primary); font-size: 0.9rem; }
.ad-brana-schranka > span:last-child { font-size: 0.8rem; color: var(--text-muted); }
.ad-brana-schranka-pecat {
  width: 34px; height: 34px; flex: 0 0 34px; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #c0392f, #7d1d17 70%);
  display: flex; align-items: center; justify-content: center;
  color: #f6dfc9; font-size: 1.05rem;
  box-shadow: 0 2px 10px rgba(160, 42, 34, 0.4);
}
/* Ponuka kapitol: hidden musí vyhrať nad display:flex – ponuka sa ukáže
   až keď JS deteguje dlhý text (8000+ znakov), nie stále */
.ad-kap-ponuka[hidden], .ad-kap-panel[hidden] { display: none; }

/* ---------- Zápis: mini hlavička s info bublinou, tichý upload ---------- */
.ad-entry-head-mini {
  display: flex; align-items: center; gap: 10px;
  position: relative; margin: 0 0 0.9rem;
}
.ad-entry-info-btn {
  width: 30px; height: 30px; border-radius: 50%;
  border: 0.5px solid var(--border-strong); background: none;
  color: var(--text-muted); font-size: 1rem; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  transition: color 0.15s, border-color 0.15s;
}
.ad-entry-info-btn:hover,
.ad-entry-info-btn[aria-expanded="true"] { color: var(--gold-primary, #E8B866); border-color: var(--gold-primary, #E8B866); }
.ad-entry-info-bublina {
  position: absolute; top: calc(100% + 10px); left: 0; right: 0; z-index: 60;
  background: var(--surface-2); border: 0.5px solid rgba(217, 179, 86, 0.4);
  border-radius: 14px; padding: 1rem 1.15rem;
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.5);
}
.ad-entry-info-bublina[hidden] { display: none; }
.ad-entry-info-bublina strong {
  font-family: var(--font-serif); font-weight: 500; font-size: 1.15rem;
  color: var(--text-primary); display: block; margin-bottom: 4px;
}
.ad-entry-info-bublina p { margin: 0 0 8px; font-size: 0.875rem; color: var(--text-secondary); line-height: 1.55; }
.ad-entry-info-bublina .ad-entry-info-zdroj { margin: 0; font-size: 0.8rem; color: var(--text-muted); }
.ad-entry-info-bublina .ad-entry-info-zdroj i { color: var(--gold-primary, #E8B866); margin-right: 4px; }

.ad-entry-upload { margin-bottom: 0.4rem; }
.ad-entry-upload .ad-btn { cursor: pointer; }
.ad-entry-upload-vstup {
  position: absolute; width: 1px; height: 1px;
  clip-path: inset(50%); overflow: hidden; white-space: nowrap;
}

/* ---------- Pop-up po uložení záznamu ---------- */
.ad-ulozene-modal { text-align: center; }
.ad-ulozene-znak {
  width: 58px; height: 58px; margin: 0 auto 0.9rem; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, var(--gold-light, #F3CC7C), var(--gold-primary, #C99A3F) 75%);
  color: #241A05; font-size: 1.65rem;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 0 30px rgba(217, 179, 86, 0.5);
  animation: ad-ulozene-zjav 0.55s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@keyframes ad-ulozene-zjav { from { transform: scale(0.4); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.ad-ulozene-modal h3 {
  font-family: var(--font-serif); font-weight: 500; font-size: 1.45rem;
  margin: 0 0 0.4rem; color: var(--text-primary);
}
.ad-ulozene-vdaka { font-size: 0.9rem; color: var(--text-secondary); line-height: 1.55; margin: 0 0 1.1rem; }
.ad-ulozene-audio-chyba { font-size: 0.82rem; color: var(--warning-text, #d8a03c); margin: 0 0 0.9rem; }
.ad-ulozene-audio-chyba[hidden] { display: none; }
