/* Doplnky k tokens.css – prvky generované shortcodmi a napojenie na WP triedy. */

/* Farba rubriky aj z WP post_class (Loop Grid pridáva category-<slug>) */
.category-premeny-mesta       { --cat: var(--bb-cat-premeny);  --cat-text: var(--bb-cat-premeny-text); }
.category-ako-funguje-mesto   { --cat: var(--bb-cat-ako);      --cat-text: var(--bb-cat-ako-text); }
.category-pohlady-a-komentare { --cat: var(--bb-cat-pohlady);  --cat-text: var(--bb-cat-pohlady-text); }
.category-ludia-v-meste       { --cat: var(--bb-cat-ludia);    --cat-text: var(--bb-cat-ludia-text); }
.category-historia-mesta      { --cat: var(--bb-cat-historia); --cat-text: var(--bb-cat-historia-text); }
.type-budte_pri_tom           { --cat: var(--bb-cat-bpt);      --cat-text: var(--bb-cat-bpt-text); }
[class*="category-"] .bb-meta__cat, .bb-meta .bb-meta__cat { color: var(--cat-text, var(--bb-navy)); }

.bb-cat-square { display: inline-block; width: var(--size, 18px); height: var(--size, 18px); background: var(--cat); flex: none; }
.bb-cat-count { font: 400 14px/1.4 var(--bb-sans); color: var(--bb-text-soft); }
.bb-cat-count strong { display: block; font: 600 34px/1 var(--bb-serif); color: var(--bb-navy); }

/* termín príspevku */
.bb-termin { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font: 500 14.5px/1.3 var(--bb-sans); color: var(--bb-navy); }
.bb-termin svg { color: var(--bb-cat-bpt-text); flex: none; }
.bb-termin__place { color: var(--bb-text-muted); font-weight: 400; }
.bb-termin__place::before { content: '·'; margin-right: 10px; color: var(--bb-text-soft); }
.bb-termin--short { font: 600 12.5px/1.3 var(--bb-sans); color: var(--bb-cat-bpt-text); }

.bb-done-meta { font: 600 12px/1 var(--bb-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--bb-text-soft); }
.bb-attachments { display: flex; flex-wrap: wrap; gap: 6px; }
.bb-attach { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; background: var(--bb-bg-alt); border: 1px solid var(--bb-line); font: 500 12.5px/1 var(--bb-sans); color: var(--bb-navy); }

/* záložky Aktuálne / Stalo sa */
.bb-tabs { display: flex; gap: 32px; border-bottom: 1px solid var(--bb-line); }
.bb-tab { display: inline-flex; align-items: center; gap: 6px; min-height: 52px; border-bottom: 3px solid transparent; margin-bottom: -1px; font: 600 16px/1 var(--bb-sans); color: var(--bb-text-muted); }
.bb-tab.is-active { color: var(--bb-navy); border-bottom-color: var(--bb-copper); }
.bb-tab__count { font-weight: 400; color: var(--bb-text-soft); }

/* zvýraznenie hľadaného výrazu */
mark, .bb-mark { background: rgba(224,176,74,.38); color: inherit; padding: 0 2px; }

/* karty – hover */
.bb-card { transition: box-shadow var(--bb-ease); }
.bb-card:hover { box-shadow: var(--bb-shadow-hover); }

/* Stalo sa – stlmené foto */
.bb-muted-photo img { filter: grayscale(.55); }

/* prístupnosť – focus */
:where(a, button, input, textarea, select):focus-visible { outline: 2px solid var(--bb-cat-ako); outline-offset: 2px; }

/* ---------- hlavné menu (V3 nav-menu v hlavičke) ---------- */
.elementor-location-header .elementor-widget-nav-menu { width: auto; }
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu { gap: 21px; }
.elementor-location-header .elementor-nav-menu--main .elementor-item {
  padding: 8px 0; border-bottom: 2px solid transparent; white-space: nowrap;
  font: 500 14.5px/1 var(--bb-sans); color: var(--bb-navy); transition: color var(--bb-ease), border-color var(--bb-ease);
}
.elementor-location-header .elementor-nav-menu--main .elementor-item:hover { color: var(--bb-terra); }
.elementor-location-header .bb-menu-muted .elementor-item { color: var(--bb-text-muted); }
.elementor-location-header .bb-menu-cat.current-menu-item .elementor-item,
.elementor-location-header .bb-menu-cat.current-post-ancestor .elementor-item,
.elementor-location-header .bb-menu-cat.current-menu-parent .elementor-item { border-bottom-color: var(--cat); }
@media (max-width: 1280px) { .elementor-location-header .elementor-nav-menu--main .elementor-nav-menu { gap: 16px; } .elementor-location-header .elementor-nav-menu--main .elementor-item { font-size: 14px; } }
@media (max-width: 1200px) { .elementor-location-header .bb-menu-muted { display: none !important; } }
@media (max-width: 1024px) { .elementor-location-header .elementor-widget-nav-menu { display: none !important; } }

/* farba rubriky pre položky menu */
.bb-menu-cat.cat-premeny-mesta { --cat: var(--bb-cat-premeny); }
.bb-menu-cat.cat-ako-funguje-mesto { --cat: var(--bb-cat-ako); }
.bb-menu-cat.cat-pohlady-a-komentare { --cat: var(--bb-cat-pohlady); }
.bb-menu-cat.cat-ludia-v-meste { --cat: var(--bb-cat-ludia); }
.bb-menu-cat.cat-historia-mesta { --cat: var(--bb-cat-historia); }
.bb-menu-cat.cat-budte-pri-tom { --cat: var(--bb-cat-bpt); }

/* pás 4 px vo farbe rubriky pod hlavičkou podstránky */
body.category .elementor-location-header::after,
body.single-post .elementor-location-header::after,
body.post-type-archive-budte_pri_tom .elementor-location-header::after,
body.single-budte_pri_tom .elementor-location-header::after { content: ''; display: block; height: 2px; background: var(--bb-page-cat, var(--bb-navy)); }

/* ---------- mobilné menu (popup) ---------- */
.elementor-location-popup .elementor-nav-menu--layout-vertical .elementor-nav-menu > li { border-bottom: 1px solid var(--bb-line); }
.elementor-location-popup .elementor-nav-menu--layout-vertical .elementor-item {
  display: flex; align-items: center; gap: 16px; min-height: 58px; padding: 0;
  font: 600 21px/1.2 var(--bb-serif); letter-spacing: -.01em; color: var(--bb-navy);
}
.elementor-location-popup .bb-menu-cat .elementor-item::before { content: '' !important; display: block !important; position: static !important; width: 10px !important; height: 10px !important; background: var(--cat) !important; opacity: 1 !important; transform: none !important; flex: none; }
.elementor-location-popup .elementor-item:hover { color: var(--bb-terra); }

/* vyhľadávacie pole */
.bb-search { position: relative; display: flex; align-items: center; }
.bb-search--menu svg { position: absolute; left: 16px; color: var(--bb-text-soft); pointer-events: none; }
.bb-search--menu input { width: 100%; height: 52px; padding: 0 16px 0 46px !important; border: 1px solid var(--bb-line); background: #fff; border-radius: 0; font: 400 16px/1 var(--bb-sans); color: var(--bb-navy); }
.bb-search--large { gap: 0; }
.bb-search--large input { flex: 1; min-width: 0; height: 84px; padding: 0 24px; border: 1.5px solid var(--bb-navy); border-right: 0; border-radius: 0; background: #fff; font: 400 30px/1 var(--bb-serif); color: var(--bb-navy); }
.bb-search--large .bb-btn { height: 84px; padding: 0 36px; }
@media (max-width: 767px) { .bb-search--large input { height: 60px; font-size: 20px; } .bb-search--large .bb-btn { height: 60px; padding: 0 20px; } }
.bb-search input:focus { outline: none; border-color: var(--bb-navy); box-shadow: 0 0 0 3px rgba(106,143,209,.25); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); }

/* ---------- témy ---------- */
.bb-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.bb-filter { display: flex; align-items: center; gap: 8px; min-width: 0; }
.bb-filter .bb-chip-row { flex: 1; min-width: 0; }
.bb-more { position: relative; flex: none; }
.bb-more summary { list-style: none; cursor: pointer; }
.bb-more summary::-webkit-details-marker { display: none; }
.bb-more__panel { position: absolute; right: 0; top: calc(100% + 8px); z-index: 20; display: flex; flex-wrap: wrap; gap: 8px; width: min(420px, 90vw); padding: 16px; background: #fff; border: 1px solid var(--bb-line); box-shadow: var(--bb-shadow-hover); }
.bb-footer-topics { display: flex; flex-wrap: wrap; gap: 6px 10px; font: 400 14px/1.6 var(--bb-sans); }
.bb-footer-topics a { color: var(--bb-on-dark); }
.bb-footer-topics a:hover { color: var(--bb-gold-on-dark); }
.bb-footer-topics span { color: rgba(245,242,236,.4); }

/* ---------- pätička – menu kategórií ---------- */
.elementor-location-footer .elementor-nav-menu--layout-vertical .elementor-item { padding: 5px 0; font: 400 14.5px/1.4 var(--bb-sans); color: var(--bb-on-dark); }
.elementor-location-footer .elementor-nav-menu--layout-vertical .elementor-item:hover { color: var(--bb-gold-on-dark); }

/* newsletter – spojené pole + tlačidlo */
.bb-newsletter-form input[type=email] { height: 52px; }

/* ======================================================================
 * Podstránky
 * ==================================================================== */
.bb-label { font: 600 11px/1 var(--bb-sans); letter-spacing: .15em; text-transform: uppercase; color: var(--bb-text-soft); white-space: nowrap; }

/* breadcrumb */
.bb-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; font: 400 13px/1.4 var(--bb-sans); color: var(--bb-text-soft); }
.bb-breadcrumb li + li::before { content: '/'; margin-right: 8px; color: rgba(30,58,95,.3); }
.bb-breadcrumb a { color: var(--bb-text-soft); }
.bb-breadcrumb a:hover { color: var(--bb-terra); }
.bb-breadcrumb [aria-current] { color: var(--bb-navy); }

/* stránkovanie */
.bb-pagination { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; }
.bb-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 14px; border: 1px solid var(--bb-line-strong); background: #fff; font: 500 14.5px/1 var(--bb-sans); color: var(--bb-navy); transition: all var(--bb-ease); }
.bb-pagination a.page-numbers:hover { border-color: var(--bb-navy); }
.bb-pagination .page-numbers.current { background: var(--bb-navy); border-color: var(--bb-navy); color: var(--bb-on-dark); }
.bb-pagination .dots { border: 0; background: none; }
/* V4 loop pagination (Stalo sa) */
.e-pagination-prev, .e-pagination-next { display: inline-flex; align-items: center; justify-content: center; height: 44px; padding: 0 18px; border: 1px solid var(--bb-line-strong); background: #fff; font: 500 14.5px/1 var(--bb-sans); color: var(--bb-navy); }

/* filter – poznámka vpravo */
.bb-filter__note { flex: none; margin-left: 12px; font: 400 13px/1.3 var(--bb-sans); color: var(--bb-text-soft); }
@media (max-width: 1024px) { .bb-filter__note { display: none; } }
.bb-chip--more { border-color: var(--bb-navy); font-weight: 600; }

/* zdieľanie */
.bb-share { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.bb-share .bb-label { margin-right: 10px; }
.bb-pill-btn { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 18px; border: 1px solid rgba(30,58,95,.22); border-radius: 999px; background: transparent; font: 500 14px/1 var(--bb-sans); color: var(--bb-navy); cursor: pointer; transition: all var(--bb-ease); }
.bb-pill-btn:hover { background: var(--bb-navy); color: var(--bb-on-dark); border-color: var(--bb-navy); }
.bb-post-topics { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; }

/* popisok foto */
.bb-caption { margin: 10px 0 0; font: 400 13px/1.5 var(--bb-sans); color: var(--bb-text-soft); }

/* text článku (theme-post-content) */
.bb-article-body { font: 400 20px/1.72 var(--bb-serif); color: var(--bb-text); }
.bb-article-body p { margin: 0 0 1.15em; }
.bb-article-body h2, .bb-article-body h3, .bb-article-body h4 { margin: 1.6em 0 .6em; font: 600 29px/36px var(--bb-serif); letter-spacing: -.012em; color: var(--bb-navy); }
.bb-article-body blockquote { margin: 2em 0; padding: 28px 0; border-top: 1px solid var(--bb-line-strong); border-bottom: 1px solid var(--bb-line-strong); font: italic 400 27px/38px var(--bb-serif); color: var(--bb-navy); }
.bb-article-body blockquote p { margin: 0; }
.bb-article-body blockquote cite { display: block; margin-top: 12px; font: normal 400 13px/1.4 var(--bb-sans); color: var(--bb-text-soft); }
.bb-article-body figure { margin: 2em 0; }
.bb-article-body figure img { display: block; width: auto; max-width: 100%; height: auto; margin-inline: auto; }
.bb-article-body figcaption { margin-top: 10px; font: 400 13px/1.5 var(--bb-sans); color: var(--bb-text-soft); }
.bb-article-body a { text-decoration: underline; text-decoration-color: var(--bb-gold-on-dark); text-underline-offset: 3px; }
.bb-article-body ul, .bb-article-body ol { padding-left: 1.2em; margin: 0 0 1.15em; }
@media (max-width: 1024px) { .bb-article-body { font-size: 19px; line-height: 32px; } .bb-article-body h2, .bb-article-body h3, .bb-article-body h4 { font-size: 26px; line-height: 32px; } .bb-article-body blockquote { font-size: 24px; line-height: 34px; } }
@media (max-width: 767px) { .bb-article-body { font-size: 18px; line-height: 30px; } .bb-article-body h2, .bb-article-body h3, .bb-article-body h4 { font-size: 24px; line-height: 30px; } .bb-article-body blockquote { font-size: 22px; line-height: 31px; } }

/* Buďte pri tom – panel faktov */
.bb-facts { margin: 0; }
.bb-facts__row { padding: 16px 0; border-bottom: 1px solid rgba(200,131,74,.3); }
.bb-facts__row:first-child { padding-top: 0; }
.bb-facts dt { margin-bottom: 6px; font: 700 11px/1 var(--bb-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--bb-cat-bpt-text); }
.bb-facts dd { margin: 0; font: 500 15.5px/1.45 var(--bb-sans); color: var(--bb-navy); }
.bb-facts dd .bb-countdown { margin-left: 6px; vertical-align: 1px; }
.bb-cta { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; margin-top: 18px; padding: 0 20px; font: 600 15px/1.25 var(--bb-sans); transition: all var(--bb-ease); }
.bb-cta--primary { background: var(--bb-navy); color: var(--bb-on-dark); }
.bb-cta--primary:hover { background: var(--bb-terra); color: #fff; }
.bb-cta--secondary { margin-top: 10px; border: 1.5px solid var(--bb-navy); color: var(--bb-navy); }
.bb-cta--secondary:hover { background: var(--bb-navy); color: #fff; }
.bb-facts__note { margin: 18px 0 0; font: italic 400 13.5px/1.5 var(--bb-serif); color: var(--bb-text-soft); }

/* Stalo sa – obsah po skončení */
.bb-after { margin-top: 40px; }
.bb-after h2 { margin: 0 0 14px; font: 600 26px/1.25 var(--bb-serif); color: var(--bb-navy); }
.bb-after p { font: 400 18px/1.7 var(--bb-serif); color: var(--bb-text); }
.bb-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.bb-gallery img { width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; display: block; }

/* vyhľadávanie */
.bb-search-cats { display: flex; flex-wrap: wrap; gap: 10px; }
.bb-search-cat { position: relative; display: inline-flex; align-items: center; gap: 18px; min-height: 50px; padding: 0 16px 0 24px; border: 2px solid var(--bb-line); background: #fff; font: 700 15.5px/1.15 var(--bb-sans); color: var(--bb-navy); transition: border-color var(--bb-ease); }
.bb-search-cat::before { content: ''; position: absolute; left: -2px; top: -2px; bottom: -2px; width: 8px; background: var(--cat, var(--bb-navy)); }
.bb-search-cat span { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 24px; padding: 0 8px; border-radius: 999px; background: var(--bb-bg-alt); font: 600 12.5px/1 var(--bb-sans); color: var(--bb-text-muted); }
.bb-search-cat:hover { border-color: var(--cat, var(--bb-navy)); color: var(--bb-navy); }
.bb-search-cat.is-empty { opacity: .5; }
.bb-search-cat--all { padding-left: 20px; }
.bb-search-cat--all::before { display: none; }
.bb-search-cat.is-active { background: var(--bb-navy); border-color: var(--bb-navy); color: var(--bb-on-dark); }
.bb-search-cat.is-active span { background: rgba(255,255,255,.18); color: var(--bb-on-dark); }
.bb-search-summary { margin: 22px 0 0; font: 400 14px/1.4 var(--bb-sans); color: var(--bb-text-soft); }
.bb-search-excerpt { margin: 0; font: 400 15px/1.6 var(--bb-sans); color: var(--bb-text-muted); }
.bb-search--large { position: relative; }
.bb-search--large::before { content: ''; position: absolute; left: 26px; top: 50%; width: 22px; height: 22px; transform: translateY(-50%); background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Ccircle cx='7' cy='7' r='5.2' stroke='%231E3A5F' stroke-width='1.5'/%3E%3Cpath d='M10.8 10.8 L14.5 14.5' stroke='%231E3A5F' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E"); }
.bb-search--large input { padding-left: 66px !important; }
.bb-search--large .bb-btn { position: absolute; right: 9px; top: 9px; bottom: 9px; height: auto !important; }
.bb-search--large input { border-right: 1.5px solid var(--bb-navy) !important; padding-right: 150px !important; }
@media (max-width: 767px) { .bb-search--large input { padding-left: 52px !important; padding-right: 110px !important; } .bb-search--large::before { left: 18px; } }
.cat-budte-pri-tom.bb-search-cat { --cat: var(--bb-cat-bpt); }
.bb-search-cat.cat-premeny-mesta { --cat: var(--bb-cat-premeny); }
.bb-search-cat.cat-ako-funguje-mesto { --cat: var(--bb-cat-ako); }
.bb-search-cat.cat-pohlady-a-komentare { --cat: var(--bb-cat-pohlady); }
.bb-search-cat.cat-ludia-v-meste { --cat: var(--bb-cat-ludia); }
.bb-search-cat.cat-historia-mesta { --cat: var(--bb-cat-historia); }

/* Kontakt – výber témy pilulkami (radio) */
.bb-topic-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.bb-topic-pill { position: relative; display: inline-flex; }
.bb-topic-pill input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.bb-topic-pill label { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border: 1px solid rgba(30,58,95,.25); border-radius: 999px; font: 500 14.5px/1 var(--bb-sans); color: var(--bb-navy); cursor: pointer; transition: all var(--bb-ease); }
.bb-topic-pill input:checked + label { background: var(--bb-navy); border-color: var(--bb-navy); color: var(--bb-on-dark); font-weight: 600; }
.bb-topic-pill input:focus-visible + label { outline: 2px solid var(--bb-cat-ako); outline-offset: 2px; }

/* text článku – prebiť štýly Elementoru pre p/li */
.bb-article-body :is(p, li) { font-family: var(--bb-serif) !important; font-size: inherit !important; line-height: inherit !important; color: var(--bb-text) !important; }
/* článok bez titulnej fotky – skryť blok s fotkou */
body.bb-no-thumb .bb-article-figure { display: none !important; }
/* tlačidlá z shortcodov – prebiť Theme Style → Buttons */
.bb-share .bb-pill-btn { background: transparent; color: var(--bb-navy); border: 1px solid rgba(30,58,95,.22); padding: 0 18px; border-radius: 999px; font: 500 14px/1 var(--bb-sans); }
.bb-share .bb-pill-btn:hover { background: var(--bb-navy); color: var(--bb-on-dark); }

/* aktívna položka menu – bez farby akcentu Elementoru */
.elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--bb-navy); }
.elementor-location-footer .elementor-nav-menu .elementor-item.elementor-item-active { color: var(--bb-on-dark); }
.elementor-location-popup .elementor-nav-menu .elementor-item.elementor-item-active { color: var(--bb-navy); }
/* V4 loop layout – vždy na plnú šírku */
.e-collection-loop-layout-base > * { min-width: 0; }

/* Buďte pri tom – najbližší príspevok zvýraznený */
.post-type-archive-budte_pri_tom .e-collection-loop-layout-base > :first-child .bb-datebox { background: var(--bb-copper-surface); }
.bb-tabs .bb-tab__count { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 22px; padding: 0 8px; border-radius: 999px; background: var(--bb-bg-alt); font: 600 12px/1 var(--bb-sans); color: var(--bb-text-muted); }
.bb-tabs .bb-tab.is-active .bb-tab__count { background: var(--bb-copper); color: #fff; }
.page-stalo-sa .bb-tabs .bb-tab.is-active { border-bottom-color: var(--bb-navy); }
.page-stalo-sa .bb-tabs .bb-tab.is-active .bb-tab__count { background: var(--bb-navy); }
@media (max-width: 767px) { .bb-datebox { width: 72px; height: 80px; } .bb-datebox__day { font-size: 30px; } }
.bb-done-meta { display: inline-flex; align-items: center; gap: 8px; letter-spacing: 0; text-transform: none; font: 600 13px/1.3 var(--bb-sans); color: var(--bb-text-muted); }
body.bb-has-cat-bar .elementor-location-header::after { content: ''; display: block; height: 2px; background: var(--bb-page-cat, var(--bb-navy)); }
.bb-tabs--stalo-sa .bb-tab.is-active { border-bottom-color: var(--bb-navy); }
.bb-tabs--stalo-sa .bb-tab.is-active .bb-tab__count { background: var(--bb-navy); }

/* CTA v paneli – prebiť farbu odkazov z kitu */
.bb-facts ~ a.bb-cta--primary, a.bb-cta.bb-cta--primary { color: var(--bb-on-dark); }
a.bb-cta.bb-cta--primary:hover { color: #fff; }
a.bb-cta.bb-cta--secondary { color: var(--bb-navy); }
a.bb-cta.bb-cta--secondary:hover { color: #fff; }
/* text článku – explicitné veľkosti (dedenie prebíja typografia kitu) */
.bb-article-body :is(p, li) { font-size: 20px !important; line-height: 1.72 !important; }
@media (max-width: 1024px) { .bb-article-body :is(p, li) { font-size: 19px !important; } }
@media (max-width: 767px) { .bb-article-body :is(p, li) { font-size: 18px !important; } }
.bb-article-body :is(h2, h3, h4) { font-family: var(--bb-serif) !important; font-weight: 600 !important; font-size: 29px !important; line-height: 36px !important; color: var(--bb-navy) !important; }
@media (max-width: 767px) { .bb-article-body :is(h2, h3, h4) { font-size: 24px !important; line-height: 30px !important; } }
.bb-article-body blockquote p { font-style: italic !important; font-size: 27px !important; line-height: 38px !important; color: var(--bb-navy) !important; }
@media (max-width: 767px) { .bb-article-body blockquote p { font-size: 22px !important; line-height: 31px !important; } }
.bb-search-title { margin: 0; font: 600 24px/1.25 var(--bb-serif); letter-spacing: -.012em; }
.bb-search-title a { color: var(--bb-navy); }
.bb-search-title a:hover { color: var(--bb-terra); }
.bb-search-title mark { padding: 0 3px; }
.bb-search--large input[type=search] { font: 400 30px/1 var(--bb-serif) !important; color: var(--bb-navy) !important; height: 84px !important; }
@media (max-width: 767px) { .bb-search--large input[type=search] { font-size: 20px !important; height: 60px !important; } }
.bb-search--large { margin-bottom: 28px; }
.bb-search-cats { flex-wrap: nowrap; }
.bb-search-cat { flex: 1 1 0; min-width: 0; justify-content: space-between; gap: 10px; padding-right: 12px; }
.bb-search-cat--all { flex: 0 0 auto; }
@media (max-width: 1024px) { .bb-search-cats { flex-wrap: wrap; } .bb-search-cat { flex: 1 1 calc(33% - 10px); } }
@media (max-width: 767px) { .bb-search-cat { flex: 1 1 calc(50% - 10px); } }

/* Kontakt – pilulky výberu témy (radio roztiahnutý cez celú pilulku) */
.bb-topic-pill { color: var(--bb-navy); }
.bb-topic-pill input[type=radio] { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; margin: 0 !important; opacity: 0 !important; cursor: pointer; z-index: 1; }
.bb-topic-pill:has(input:checked) { background: var(--bb-navy); border-color: var(--bb-navy); color: var(--bb-on-dark); }
.bb-topic-pill:has(input:checked) span { font-weight: 600; }
.bb-topic-pill:has(input:focus-visible) { outline: 2px solid var(--bb-cat-ako); outline-offset: 2px; }
.bb-topic-pill:hover { border-color: var(--bb-navy); }

/* bežné WP stránky (Ochrana osobných údajov) */
.page-template-default .site-main { max-width: 760px; margin: 0 auto; padding: 56px 20px 88px; }
.page-template-default .page-header .entry-title { font: 600 48px/1.1 var(--bb-serif); letter-spacing: -.02em; color: var(--bb-navy); margin-bottom: 28px; }
.page-template-default .page-content :is(p, li) { font: 400 18px/1.7 var(--bb-serif); color: var(--bb-text); }
.page-template-default .page-content h2 { margin: 1.6em 0 .5em; font: 600 26px/1.25 var(--bb-serif); color: var(--bb-navy); }
@media (max-width: 767px) { .page-template-default .page-header .entry-title { font-size: 32px; } }

/* Complianz – cookie lišta v štýle webu (farby sú v nastaveniach lišty, tu typografia) */
.cmplz-cookiebanner { font-family: var(--bb-sans) !important; box-shadow: 0 12px 32px rgba(30,58,95,.16) !important; }
.cmplz-cookiebanner .cmplz-title { font: 600 20px/1.2 var(--bb-serif) !important; color: var(--bb-navy) !important; }
.cmplz-cookiebanner .cmplz-message { font: 400 14px/1.55 var(--bb-sans) !important; color: var(--bb-text-muted) !important; }
.cmplz-cookiebanner .cmplz-btn { min-height: 44px; font: 600 14px/1 var(--bb-sans) !important; border-radius: 0 !important; transition: all var(--bb-ease); }
.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover { background: var(--bb-terra) !important; border-color: var(--bb-terra) !important; color: #fff !important; }
.cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover { background: var(--bb-navy) !important; color: #fff !important; }
.cmplz-cookiebanner .cmplz-links a { color: var(--bb-navy) !important; text-decoration: underline; text-decoration-color: var(--bb-gold-on-dark); text-underline-offset: 3px; }
#cmplz-manage-consent .cmplz-manage-consent { font-family: var(--bb-sans) !important; border-radius: 0 !important; background: var(--bb-navy) !important; color: var(--bb-on-dark) !important; }

/* Odsadenia komponentov zo shortcodov (Shortcode widget nenesie V4 štýly) */
.bb-tabs { margin-bottom: 24px; }
.bb-pagination { margin-top: 44px; }
.bb-search-cats { padding-bottom: 0; }
.bb-search-summary { margin: 22px 0 0; padding-bottom: 20px; border-bottom: 1px solid var(--bb-line); }
.bb-bpt-share, .single-budte_pri_tom .bb-share { margin-top: 32px; }
.bb-filter { margin-bottom: 8px; }
@media (max-width: 767px) { .bb-caption { padding: 0 20px; } }

/* Filtre bez znovunačítania – stav načítavania */
.bb-is-loading .e-collection-loop-base, .bb-is-loading .bb-pagination { opacity: .45; transition: opacity .2s ease; pointer-events: none; }
.bb-is-loading .bb-filter, .bb-is-loading .bb-search-cats { cursor: progress; }

/* Vertikálne menu (pätička, mobilné menu) – rovnaký padding vo všetkých stavoch
   (Elementor pri :hover/:focus vracia predvolený padding 13px 20px) */
.elementor-location-footer .elementor-nav-menu--layout-vertical .elementor-item,
.elementor-location-footer .elementor-nav-menu--layout-vertical .elementor-item:is(:hover, :focus, .highlighted, .elementor-item-active) { padding: 5px 0 !important; }
.elementor-location-popup .elementor-nav-menu--layout-vertical .elementor-item,
.elementor-location-popup .elementor-nav-menu--layout-vertical .elementor-item:is(:hover, :focus, .highlighted, .elementor-item-active) { padding: 0 !important; }
.elementor-location-header .elementor-nav-menu--main .elementor-item,
.elementor-location-header .elementor-nav-menu--main .elementor-item:is(:hover, :focus, .highlighted, .elementor-item-active) { padding: 8px 0 !important; }

/* Poistka proti vodorovnému pretečeniu stránky (rozbíja mobilné zobrazenie aj popup).
   clip namiesto hidden – nerozbíja position: sticky. */
html, body { overflow-x: clip; }

/* honeypot – mimo obrazovky, nie display:none (niektoré boty ho preskakujú) */
.bb-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Prístupnosť */
.bb-meta__cat { display: inline-block; padding: 7px 0; margin: -7px 0; }          /* klikacia plocha ≥ 24 px */
.bb-meta { min-height: 24px; }
:is(.bb-lead, .bb-perex, .bb-serif-text, .bb-article-body, label, .bb-facts dd, .bb-caption) a:not([class]) { text-decoration: underline; text-decoration-color: var(--bb-gold-on-dark); text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
[role="main"]:focus { outline: none; }
.skip-link:focus { position: fixed !important; top: 12px; left: 12px; z-index: 100000; padding: 12px 18px; background: var(--bb-navy); color: var(--bb-on-dark); font: 600 15px/1 var(--bb-sans); clip: auto !important; width: auto !important; height: auto !important; }
.bb-search-cat.is-empty { opacity: 1; color: var(--bb-text-soft); border-color: var(--bb-line); }
.bb-search-cat.is-empty::before { opacity: .4; }
mark, .bb-mark { color: var(--bb-navy); }

/* oznámenie (potvrdenie newslettera) */
.bb-toast { position: fixed; left: 50%; bottom: 24px; z-index: 9999; transform: translateX(-50%); max-width: calc(100% - 40px); padding: 14px 22px; background: var(--bb-navy); color: var(--bb-on-dark); font: 500 15px/1.4 var(--bb-sans); box-shadow: var(--bb-shadow-hover); animation: bbToast 6s ease forwards; }
@keyframes bbToast { 0%, 85% { opacity: 1; } 100% { opacity: 0; visibility: hidden; } }
/* zdroje fotografií na konci článku */
.bb-credits, .bb-article-body p.bb-credits { margin: 2.2em 0 0; padding-top: 14px; border-top: 1px solid var(--bb-line); font-family: var(--bb-sans) !important; font-size: 13.5px !important; line-height: 1.55 !important; color: var(--bb-text-soft) !important; }
.bb-credits span, .bb-article-body .bb-credits span { font-weight: 600; color: var(--bb-navy); }
/* „Všetky témy“ – titulka a pätička */
.bb-chip--all { border-color: var(--bb-navy); font-weight: 600; }
a.bb-footer-topics__all { display: inline-block; margin-top: 14px; font: 600 14px/1.4 var(--bb-sans); color: var(--bb-gold-on-dark); }
a.bb-footer-topics__all:hover { color: var(--bb-on-dark); }
/* stránka Témy – kompletný prehľad */
.bb-topic-index { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 0 32px; }
.bb-topic-index li { margin: 0; border-bottom: 1px solid var(--bb-line); }
.bb-topic-index__item { text-decoration: none !important; display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 14px 0; color: var(--bb-navy); }
.bb-topic-index__item:hover { color: var(--bb-terra); }
.bb-topic-index__name { font: 600 19px/1.3 var(--bb-serif); }
.bb-topic-index__count { font: 400 13px/1 var(--bb-sans); color: var(--bb-text-soft); white-space: nowrap; }
/* náhradné ilustrácie (panoráma dole) – pri širšom výreze ako 4:3 orezať oblohu, nie panorámu */
img[src*="fallback-"] { object-position: center bottom !important; }
/* obrázky sa už neorezávajú a sú vycentrované → popisy tiež na stred */
.bb-caption, .bb-article-body figcaption, .bb-article-body .wp-element-caption { text-align: center !important; }
/* rozbaľovacie bloky (ID „rozbal-…“) – skryté len s JS a mimo editora Elementora */
.bb-js body:not(.elementor-editor-active) [id^="rozbal-"]:not(.is-open) { display: none !important; }
[id^="rozbal-"].is-open { animation: bb-rozbal .25s ease; }
@keyframes bb-rozbal { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { [id^="rozbal-"].is-open { animation: none; } }
