/* ============================================================
   custom.css — serverové doplňky a opravy nad designem Claude Design.
   Načítá se PO main.css + pages.css, takže přežije adopci nových ZIP balíčků.
   ============================================================ */

/* --- WP menu (ul/li) bez výchozích odrážek --- */
.main-nav .nav-list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.main-nav .nav-list li, .footer-col ul li { list-style: none; margin: 0; }
.mobile-nav .nav-list--mobile { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-1); }
.mobile-nav .nav-list--mobile li { list-style: none; margin: 0; }

/* --- WP stránkování --- */
.pagination, .navigation.pagination { margin-top: var(--space-8); }
.pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--space-2); }
.pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 2.5rem; height: 2.5rem; padding: 0 .75rem; border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: var(--color-surface); color: var(--color-ink); text-decoration: none; font-weight: var(--fw-medium); }
.pagination a.page-numbers:hover { background: var(--color-primary-tint); color: var(--color-primary-ink, var(--color-primary-strong)); }
.pagination .page-numbers.current { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }

/* --- stavy formulářů --- */
.form-status { font-weight: 600; margin-top: var(--space-3); }
.newsletter .form-status.is-ok { color: #8ff0b6; font-weight: 700; }
.newsletter .form-status.is-err { color: #ffd3cf; font-weight: 700; }
.survey-status.is-err, .ud-contact-status.is-err { color: var(--color-care, #a4564f); font-weight: 600; }
.ud-contact-status.is-ok { color: var(--color-primary-strong); font-weight: 600; }

/* --- Complianz cookie lišta v paletě webu --- */
body .cmplz-cookiebanner { background: var(--color-surface) !important; color: var(--color-ink) !important; border: 1px solid var(--color-line) !important; border-radius: var(--radius-lg) !important; box-shadow: 0 10px 40px -12px rgba(35,51,48,.28) !important; font-family: var(--font-sans) !important; }
body .cmplz-cookiebanner .cmplz-title { color: var(--color-ink) !important; font-family: var(--font-serif, Newsreader, serif) !important; font-weight: 600 !important; }
body .cmplz-cookiebanner p { color: var(--color-ink-soft) !important; }
body .cmplz-cookiebanner a { color: var(--color-accent-ink, #a4564f) !important; }
body .cmplz-cookiebanner .cmplz-btn { border-radius: var(--radius-sm) !important; font-weight: 600 !important; padding: .62em 1.15em !important; }
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept, body .cmplz-cookiebanner .cmplz-btn.cmplz-accept-all { background: var(--color-primary) !important; color: #fff !important; border: 1px solid var(--color-primary) !important; }
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny, body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences { background: transparent !important; color: var(--color-primary-strong) !important; border: 1px solid var(--color-line) !important; }

/* --- Komponenty uvnitř .prose / obsahu stránky — zachovat původní vzhled --- */
.article-body .sources li, .prose .sources li { font-size: var(--fs-100); line-height: var(--lh-relaxed); }
.article-body .sources p, .prose .sources p { font-size: var(--fs-100); }
.article-body .tldr h2, .prose .tldr h2 { font-family: var(--font-sans); font-size: var(--fs-100); font-weight: var(--fw-bold); letter-spacing: var(--ls-wide); text-transform: uppercase; color: var(--color-primary-ink); display: flex; align-items: center; gap: var(--space-2); margin: 0; }
.article-body .tldr h2 .ic, .prose .tldr h2 .ic { width: 1.2em; height: 1.2em; }
.prose .tldr li::marker, .article-body .tldr li::marker { color: var(--color-accent); }
.article-body .faq-section, .prose .faq-section { margin-top: var(--space-8); }
.article-body .faq-section h2, .prose .faq-section h2 { margin-bottom: var(--space-6); }
body .survey-invite a.btn { color: #fff; text-decoration: none; }
body .survey-invite a.btn--soft { color: var(--color-primary-strong); }
body .survey-invite__copy h2 { font-size: var(--fs-500); margin: 0; line-height: var(--lh-tight, 1.15); }
body .survey-invite__copy .eyebrow + h2 { margin-top: var(--space-2); }

/* --- Datový graf v článku (.ud-chart) — přesné HTML/CSS --- */
.ud-chart { background: var(--color-surface); border: 1px solid var(--color-line); border-radius: var(--radius-lg); padding: var(--space-6); margin: var(--space-6) 0; max-width: var(--maxw-prose); }
.ud-chart__title { font-family: var(--font-serif, Newsreader, serif); font-size: var(--fs-300); color: var(--color-ink); margin: 0 0 var(--space-5); font-weight: 600; }
.ud-chart__row { display: grid; grid-template-columns: minmax(110px, 12rem) 1fr auto; align-items: center; gap: var(--space-3); margin-bottom: .55rem; }
.ud-chart__label { font-size: var(--fs-100); color: var(--color-ink); }
.ud-chart__track { background: var(--color-bg); border-radius: 999px; height: .85rem; overflow: hidden; }
.ud-chart__fill { display: block; height: 100%; background: linear-gradient(90deg, var(--color-sage-deep, #6f8e84), var(--color-primary)); border-radius: 999px; }
.ud-chart__val { font-variant-numeric: tabular-nums; font-weight: 600; color: var(--color-primary-strong); font-size: var(--fs-100); }
.ud-chart__note { font-size: var(--fs-50); color: var(--color-ink-soft); margin: var(--space-4) 0 0; line-height: var(--lh-relaxed); }
@media (max-width:560px){ .ud-chart__row { grid-template-columns: 1fr auto; } .ud-chart__track { grid-column: 1 / -1; } }

/* --- Dechový diagram 4-7-8 (.ud-breath) + smyčka (.ud-loop) --- */
.ud-breath { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); margin: var(--space-6) 0; max-width: var(--maxw-prose); }
.ud-breath__step { background: var(--color-surface); border: 1px solid var(--color-line); border-radius: var(--radius-lg); padding: var(--space-5); text-align: center; }
.ud-breath__num { font-family: var(--font-serif, Newsreader, serif); font-size: var(--fs-600, 2.4rem); font-weight: 600; color: var(--color-primary); line-height: 1; }
.ud-breath__step--hold .ud-breath__num { color: var(--color-sage-deep, #6f8e84); }
.ud-breath__step--out .ud-breath__num { color: var(--color-accent-ink, #a4564f); }
.ud-breath__label { display: block; margin-top: var(--space-2); font-weight: 600; color: var(--color-ink); }
.ud-breath__desc { display: block; margin-top: var(--space-1); font-size: var(--fs-50); color: var(--color-ink-soft); }
.ud-breath__caption { font-size: var(--fs-50); color: var(--color-ink-soft); margin-top: var(--space-3); }
@media (max-width:560px){ .ud-breath { grid-template-columns: 1fr; } }

.ud-loop { margin: var(--space-6) 0; max-width: var(--maxw-prose); }
.ud-loop__row { display: grid; grid-template-columns: 1fr auto 1fr; align-items: stretch; gap: var(--space-3); }
.ud-loop__node { background: var(--color-surface); border: 1px solid var(--color-line); border-radius: var(--radius-lg); padding: var(--space-5); text-align: center; display: flex; flex-direction: column; justify-content: center; }
.ud-loop__node b { color: var(--color-ink); }
.ud-loop__node span { display: block; margin-top: var(--space-1); font-size: var(--fs-50); color: var(--color-ink-soft); }
.ud-loop__arrows { display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--color-primary); font-size: var(--fs-300); gap: var(--space-2); }
.ud-loop__caption { font-size: var(--fs-50); color: var(--color-ink-soft); margin-top: var(--space-3); }
@media (max-width:560px){ .ud-loop__row { grid-template-columns: 1fr; } .ud-loop__arrows { flex-direction: row; } }

/* --- Vyhledávání (lupa + panel) — pojistné doplňky --- */
.icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 2.6rem; height: 2.6rem; border: 1px solid var(--color-line); border-radius: 50%; background: transparent; color: var(--color-ink); cursor: pointer; }
.icon-btn:hover { background: var(--color-primary-tint); color: var(--color-primary-ink, var(--color-primary-strong)); border-color: var(--color-primary-tint); }
.icon-btn .ic { width: 1.15rem; height: 1.15rem; }

/* Zalamování <pre>/<code> v obsahu článku (oprava roztaženého textu) */
.prose pre, .article-body pre { white-space: pre-wrap; word-break: break-word; overflow-x: auto; max-width: 100%; font-size: var(--fs-100); background: var(--color-surface); border: 1px solid var(--color-line); border-radius: var(--radius-sm); padding: var(--space-4); }
.prose code, .article-body code { word-break: break-word; white-space: pre-wrap; }

/* GDPR souhlas — zaškrtávací (funguje na světlém i tmavém pozadí) */
.form-consent { display: flex; align-items: flex-start; gap: .6em; font-size: var(--fs-50); line-height: var(--lh-snug, 1.35); margin-top: var(--space-4); cursor: pointer; color: var(--color-ink-soft); }
.form-consent input[type=checkbox] { margin-top: .15em; width: 1.15em; height: 1.15em; flex: none; accent-color: var(--color-primary); cursor: pointer; }
.form-consent a { text-decoration: underline; color: var(--color-accent-ink, #a4564f); }
.newsletter .form-consent { color: var(--color-on-dark-soft, #cdd8d4); }
.newsletter .form-consent a { color: #fff; }
.newsletter .form-consent input[type=checkbox] { accent-color: #fff; }

/* Sebetest — vizuál (vygenerovaný obrázek místo placeholderu) */
.selftest__visual { position: relative; }
.selftest__img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow-md, 0 12px 32px rgba(20,40,35,.12)); }

/* === Obrázky v článcích — jednotný, vyladěný vzhled (oprava „velkých/neozdobných" obrázků) === */
.prose figure { margin: var(--space-7) auto; text-align: center; }
.prose figure img,
.prose p > img,
.prose > img,
.prose a[data-elementor-open-lightbox] img {
  display: block;
  margin: 0 auto;
  width: auto;
  max-width: 100%;
  max-height: 540px;          /* aby velké PNG/JPG nezabraly celou obrazovku */
  object-fit: contain;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-line);
  box-shadow: 0 6px 20px rgba(20,40,35,.08);
}
.prose figcaption { text-align: center; margin-top: var(--space-3); font-size: var(--fs-100); color: var(--color-ink-muted); font-style: italic; }
/* Elementor lightbox kotvy — at nepřidávají podtržení ani modrou */
.prose a[data-elementor-open-lightbox] { display: inline-block; border: 0; text-decoration: none; }
.prose a[data-elementor-open-lightbox]:hover img { box-shadow: 0 10px 28px rgba(20,40,35,.16); transition: box-shadow .2s ease; }
/* Drobné/produktové obrázky vedle textu nepřetahovat přes celou šířku */
@media (min-width: 720px){
  .prose figure.is-small img, .prose img.size-medium, .prose img.size-thumbnail { max-width: 420px; }
}
