/* ===========================================================================
 * Extreme Pro - postranní panel (sidebar). Vyhledávací formulář: css/exp-search.css
 * Proměnné: --sdb-w, --sdb-space (:root), --sdb-accent, --sdb-bg, --sdb-title-c, --sdb-text-c,
 * --sdb-link-c, --sdb-radius, --sdb-gap, --sdb-title-size, --sdb-top (na .exp-sdb).
 * Třídy: .exp-sdb--{cards|boxed|minimal|panel|dark}, --t-{line|bar|fill|center|plain},
 * --l-{arrows|dots|lines|plain}, --m-{below|above|toggle|hide}, .is-sticky, .is-upper.
 * ======================================================================== */

/* ---------- Panel ---------- */
.exp-sdb { --sdb-accent: var(--exp-primary,#5000A0); --sdb-radius: 14px; --sdb-gap: 26px; --sdb-title-size: 18px; --sdb-top: 24px; min-width: 0; color: var(--sdb-text-c, #4a4f55); font-size: var(--sdb-fs, 15px); line-height: 1.6; }
.exp-sdb *, .exp-sdb *::before, .exp-sdb *::after { box-sizing: border-box; }
.exp-sdb-inner { display: flex; flex-direction: column; gap: var(--sdb-gap); }
@media (min-width: 992px) {
	.exp-sdb.is-sticky:not(.is-tall) .exp-sdb-inner { position: sticky; top: calc(var(--exp-hdr, 0px) + var(--sdb-top)); }
}
.exp-sdb-widget { position: relative; min-width: 0; margin: 0; }
.exp-sdb-widget > :last-child, .exp-sdb-widget .wp-block-group__inner-container > :last-child { margin-bottom: 0; }
.exp-sdb a { color: var(--sdb-link-c, #2b2f33); text-decoration: none; transition: color .2s; }
.exp-sdb a:hover { color: var(--sdb-accent); }
.exp-sdb p { margin: 0 0 .8em; font-size: inherit; line-height: inherit; color: inherit; }
.exp-sdb img { max-width: 100%; height: auto; }

/* motivy */
.exp-sdb--cards .exp-sdb-widget { padding: var(--sdb-pad, 24px); border-radius: var(--sdb-radius); background: var(--sdb-bg, #fff); border: 1px solid rgba(0, 0, 0, .06); box-shadow: 0 8px 24px rgba(17, 24, 39, .06); }
.exp-sdb--boxed .exp-sdb-widget { padding: var(--sdb-pad, 22px); border-radius: var(--sdb-radius); background: var(--sdb-bg, #fafbfc); border: 1px solid #dfe2e6; }
.exp-sdb--minimal .exp-sdb-widget { padding: 0; background: var(--sdb-bg, transparent); }
.exp-sdb--minimal .exp-sdb-inner { gap: calc(var(--sdb-gap) + 10px); }
.exp-sdb--panel .exp-sdb-inner { padding: var(--sdb-pad, 26px); border-radius: var(--sdb-radius); background: var(--sdb-bg, color-mix(in srgb, var(--sdb-accent) 5%, #fff)); gap: 0; }
.exp-sdb--panel .exp-sdb-widget + .exp-sdb-widget { margin-top: var(--sdb-gap); padding-top: var(--sdb-gap); border-top: 1px solid rgba(0, 0, 0, .08); }
.exp-sdb--dark { --sdb-text-c: rgba(255, 255, 255, .72); --sdb-link-c: #fff; --sdb-title-c: #fff; }
.exp-sdb--dark .exp-sdb-widget { padding: var(--sdb-pad, 24px); border-radius: var(--sdb-radius); background: var(--sdb-bg, #1f2229); }
.exp-sdb--dark .exp-sdb-widget ul li { border-color: rgba(255, 255, 255, .1) !important; }
.exp-sdb--dark .exp-sdb-post-date, .exp-sdb--dark .exp-sdb-about-role { color: rgba(255, 255, 255, .55); }
.exp-sdb.exp-sdb--dark .tagcloud a, .exp-sdb.exp-sdb--dark .wp-block-tag-cloud a { background: rgba(255, 255, 255, .08); color: #fff; }
.exp-sdb--dark .exp-sdb-count { background: rgba(255, 255, 255, .12); color: #fff; }

/* ---------- Nadpis widgetu (i nadpisy blokových widgetů) ---------- */
.exp-sdb .exp-sdb-title,
.exp-sdb .widget_block .wp-block-group > :is(h2, h3):first-child,
.exp-sdb .widget_block .wp-block-group__inner-container > :is(h2, h3):first-child,
.exp-sdb .widget_block > :is(h2, h3).wp-block-heading { position: relative; margin: 0 0 18px; font-size: var(--sdb-title-size); line-height: 1.3; font-weight: 700; color: var(--sdb-title-c, #1d2327); letter-spacing: 0; text-transform: none; }
.exp-sdb.is-upper .exp-sdb-title,
.exp-sdb.is-upper .widget_block :is(h2, h3).wp-block-heading { text-transform: uppercase; letter-spacing: .06em; font-size: calc(var(--sdb-title-size) * .82); }
.exp-sdb--t-line .exp-sdb-title, .exp-sdb--t-line .widget_block :is(h2, h3).wp-block-heading { padding-bottom: 14px; }
.exp-sdb--t-line .exp-sdb-title::after, .exp-sdb--t-line .widget_block :is(h2, h3).wp-block-heading::after { content: ""; position: absolute; left: 0; bottom: 0; width: 36px; height: 3px; border-radius: 3px; background: var(--sdb-accent); }
.exp-sdb--t-bar .exp-sdb-title, .exp-sdb--t-bar .widget_block :is(h2, h3).wp-block-heading { padding-left: 14px; border-left: 4px solid var(--sdb-accent); line-height: 1.15; }
.exp-sdb--t-fill .exp-sdb-title, .exp-sdb--t-fill .widget_block :is(h2, h3).wp-block-heading { padding: 10px 16px; border-radius: calc(var(--sdb-radius) * .6); background: var(--sdb-accent); color: #fff; font-size: calc(var(--sdb-title-size) * .9); }
.exp-sdb--t-center .exp-sdb-title, .exp-sdb--t-center .widget_block :is(h2, h3).wp-block-heading { display: flex; align-items: center; gap: 12px; text-align: center; }
.exp-sdb--t-center .exp-sdb-title::before, .exp-sdb--t-center .exp-sdb-title::after,
.exp-sdb--t-center .widget_block :is(h2, h3).wp-block-heading::before, .exp-sdb--t-center .widget_block :is(h2, h3).wp-block-heading::after { content: ""; flex: 1; height: 1px; background: color-mix(in srgb, var(--sdb-accent) 40%, transparent); }

/* ---------- Seznamy (kategorie, archivy, menu, stránky, bloky) ---------- */
.exp-sdb-widget ul { margin: 0; padding: 0; list-style: none; }
.exp-sdb-widget ul li { position: relative; margin: 0; padding: 0; list-style: none; }
.exp-sdb-widget ul ul { margin: 4px 0 4px 16px; }
.exp-sdb-widget ul:not(.exp-sdb-posts):not(.wp-block-latest-posts__list):not(.wp-block-latest-comments) > li > a { display: flex; align-items: center; gap: 10px; padding: 7px 0; }
.exp-sdb--l-arrows .exp-sdb-widget ul:not(.exp-sdb-posts):not(.wp-block-latest-posts__list):not(.wp-block-latest-comments) > li > a::before { content: ""; flex: 0 0 auto; width: 7px; height: 7px; margin-right: 2px; border-top: 2px solid var(--sdb-accent); border-right: 2px solid var(--sdb-accent); transform: rotate(45deg); transition: transform .2s; }
.exp-sdb--l-arrows .exp-sdb-widget ul li > a:hover::before { transform: translateX(3px) rotate(45deg); }
.exp-sdb--l-dots .exp-sdb-widget ul:not(.exp-sdb-posts):not(.wp-block-latest-posts__list):not(.wp-block-latest-comments) > li > a::before { content: ""; flex: 0 0 auto; width: 6px; height: 6px; border-radius: 50%; background: var(--sdb-accent); }
.exp-sdb--l-lines .exp-sdb-widget ul:not(.exp-sdb-posts) > li + li { border-top: 1px solid rgba(0, 0, 0, .08); }
.exp-sdb--l-lines .exp-sdb-widget ul:not(.exp-sdb-posts):not(.wp-block-latest-posts__list):not(.wp-block-latest-comments) > li > a { padding: 10px 0; }
.exp-sdb-count { margin-left: auto; min-width: 26px; padding: 1px 8px; border-radius: 999px; background: color-mix(in srgb, var(--sdb-accent) 10%, #fff); color: var(--sdb-accent); font-size: 12px; font-weight: 700; text-align: center; line-height: 1.7; }
.exp-sdb .current-cat > a, .exp-sdb .current-menu-item > a, .exp-sdb .current_page_item > a { color: var(--sdb-accent); font-weight: 600; }
.exp-sdb select { width: 100%; height: 44px; padding: 0 12px; border: 1px solid #d9dce1; border-radius: 10px; background: #fff; font: inherit; }

/* ---------- Nejnovější články (widget a ukázka) ---------- */
.exp-sdb-posts { display: flex; flex-direction: column; gap: 14px; }
.exp-sdb-post { display: flex !important; align-items: center; gap: 14px; padding: 0 !important; }
.exp-sdb-post::before { content: none !important; }
.exp-sdb-post-img { flex: 0 0 68px; width: 68px; height: 68px; overflow: hidden; border-radius: calc(var(--sdb-radius) * .7); background: #eee; }
.exp-sdb-post-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.exp-sdb-post:hover .exp-sdb-post-img img { transform: scale(1.08); }
.exp-sdb-noimg { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--sdb-accent), color-mix(in srgb, var(--sdb-accent) 55%, var(--exp-secondary,#ff7a59))); color: #fff; font-size: 24px; font-weight: 700; }
.exp-sdb-post-txt { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.exp-sdb-post-title { font-weight: 600; font-size: 15px; line-height: 1.35; color: var(--sdb-link-c, #1d2327); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; transition: color .2s; }
.exp-sdb-post:hover .exp-sdb-post-title { color: var(--sdb-accent); }
.exp-sdb-post-date { font-size: 13px; color: #8a8f96; }
/* blok Nejnovější příspěvky / komentáře */
.exp-sdb .wp-block-latest-posts__list li { padding: 8px 0; }
.exp-sdb .wp-block-latest-posts__list li + li { border-top: 1px solid rgba(0, 0, 0, .07); }
.exp-sdb .wp-block-latest-posts__list a { font-weight: 600; }
.exp-sdb .wp-block-latest-posts__post-date { display: block; font-size: 13px; color: #8a8f96; }
.exp-sdb .wp-block-latest-posts__featured-image img { border-radius: calc(var(--sdb-radius) * .6); }
.exp-sdb .wp-block-latest-comments { padding: 0; }
.exp-sdb .wp-block-latest-comments__comment { margin: 0; padding: 8px 0; font-size: 14px; line-height: 1.5; }
.exp-sdb .wp-block-latest-comments__comment + .wp-block-latest-comments__comment { border-top: 1px solid rgba(0, 0, 0, .07); }
.exp-sdb .wp-block-latest-comments__comment-meta { font-size: 14px; }

/* ---------- Štítky ---------- */
.exp-sdb .tagcloud, .exp-sdb .wp-block-tag-cloud { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.exp-sdb .tagcloud a, .exp-sdb .wp-block-tag-cloud a { display: inline-flex; padding: 6px 14px; border-radius: 999px; background: color-mix(in srgb, var(--sdb-accent) 8%, #fff); color: var(--sdb-link-c, #2b2f33); font-size: 13px !important; line-height: 1.4; }
.exp-sdb .tagcloud a:hover, .exp-sdb .wp-block-tag-cloud a:hover { background: var(--sdb-accent); color: #fff; }

/* ---------- Vyhledávání (klasický i blokový widget) ---------- */
.exp-sdb .wp-block-search__label { display: block; margin: 0 0 10px; font-weight: 700; color: var(--sdb-title-c, #1d2327); }
.exp-sdb .wp-block-search__inside-wrapper { position: relative; display: flex; }
.exp-sdb .wp-block-search__input { width: 100%; height: 48px; margin: 0; padding: 0 60px 0 18px; border: 1px solid #d9dce1; border-radius: 999px; background: #fff; font: inherit; font-size: 15px; }
.exp-sdb .wp-block-search__input:focus { outline: 0; border-color: var(--sdb-accent); }
.exp-sdb .wp-block-search__button { position: absolute; top: 5px; right: 5px; height: 38px; margin: 0; padding: 0 14px; border: 0; border-radius: 999px; background: var(--sdb-accent); color: #fff; font-size: 13px; font-weight: 600; cursor: pointer; }

/* ---------- Kalendář, text, obrázek ---------- */
.exp-sdb .wp-calendar-table, .exp-sdb #wp-calendar { width: 100%; border-collapse: collapse; font-size: 13px; text-align: center; }
.exp-sdb .wp-calendar-table caption { margin-bottom: 8px; font-weight: 700; }
.exp-sdb .wp-calendar-table th, .exp-sdb .wp-calendar-table td { padding: 6px 0; }
.exp-sdb .wp-calendar-table td a { display: inline-flex; width: 26px; height: 26px; align-items: center; justify-content: center; border-radius: 50%; background: var(--sdb-accent); color: #fff; }
.exp-sdb .wp-calendar-nav { display: flex; justify-content: space-between; margin-top: 8px; font-size: 13px; }
.exp-sdb .widget_media_image img, .exp-sdb .wp-block-image img { border-radius: calc(var(--sdb-radius) * .7); }
.exp-sdb address { margin: 0; font-style: normal; }
.exp-sdb address p { display: flex; align-items: flex-start; gap: 10px; }
.exp-sdb address p > :first-child { flex: 0 0 auto; margin-top: 3px; color: var(--sdb-accent); }

/* ---------- Výzva s tlačítkem ---------- */
.exp-sdb-cta { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 28px 24px; border-radius: var(--sdb-radius); overflow: hidden; background: linear-gradient(140deg, var(--sdb-accent), color-mix(in srgb, var(--sdb-accent) 60%, #000)); color: rgba(255, 255, 255, .88); isolation: isolate; }
.exp-sdb-cta::after { content: ""; position: absolute; right: -40px; top: -40px; width: 150px; height: 150px; border-radius: 50%; background: rgba(255, 255, 255, .1); z-index: -1; }
.exp-sdb-cta.has-img { background: linear-gradient(0deg, rgba(10, 12, 18, .8), rgba(10, 12, 18, .45)), var(--sdb-cta-img) center / cover; }
.exp-sdb-cta-title { font-size: 21px; font-weight: 700; line-height: 1.25; color: #fff; }
.exp-sdb-cta p { margin: 0; color: inherit; }
.exp-sdb .exp-sdb-cta-btn { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; padding: 11px 20px; border-radius: 999px; background: #fff; color: #1d2327; font-weight: 600; font-size: 14px; transition: transform .2s; }
.exp-sdb .exp-sdb-cta-btn:hover { color: #1d2327; transform: translateY(-2px); }
/* box výzvy vyplní kartu widgetu */
.exp-sdb--cards .exp-sdb-widget:has(> .exp-sdb-cta:only-child), .exp-sdb--boxed .exp-sdb-widget:has(> .exp-sdb-cta:only-child), .exp-sdb--dark .exp-sdb-widget:has(> .exp-sdb-cta:only-child) { padding: 0; border: 0; background: none; }

/* ---------- O nás ---------- */
.exp-sdb-about { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; }
.exp-sdb-about-img { width: 104px; height: 104px; margin-bottom: 8px; border-radius: 50%; object-fit: cover; border: 4px solid #fff; box-shadow: 0 6px 18px rgba(0, 0, 0, .1); overflow: hidden; font-size: 38px; }
.exp-sdb-about-name { font-size: 18px; font-weight: 700; color: var(--sdb-title-c, #1d2327); }
.exp-sdb-about-role { font-size: 13px; color: #8a8f96; }
.exp-sdb-about p { margin: 6px 0 0; }
.exp-sdb .exp-sdb-about-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; color: var(--sdb-accent); font-weight: 600; }

/* ---------- Mobil ---------- */
.exp-sdb-toggle { display: none; }
@media (max-width: 991px) {
	.exp-sdb--m-above { order: -1 !important; }
	.exp-sdb--m-below { order: 2 !important; }
	.exp-sdb--m-hide { display: none !important; }
	.exp-sdb--m-toggle { order: 2 !important; }
	.exp-sdb--m-toggle .exp-sdb-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; margin: 0; padding: 14px 20px; border: 1px solid rgba(0, 0, 0, .1); border-radius: var(--sdb-radius); background: #fff; color: #1d2327; font: inherit; font-weight: 600; cursor: pointer; }
	.exp-sdb-toggle-i { width: 10px; height: 10px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .25s; }
	.exp-sdb--m-toggle.is-open .exp-sdb-toggle-i { transform: rotate(-135deg); }
	.exp-sdb--m-toggle .exp-sdb-inner { display: none; margin-top: 16px; }
	.exp-sdb--m-toggle.is-open .exp-sdb-inner { display: flex; }
}
@media (prefers-reduced-motion: reduce) {
	.exp-sdb *, .exp-sdb *::before { transition: none !important; }
}
