/* ===========================================================================
 * Extreme Pro - blog (úvodní blok, karty, výpis, detail článku)
 * Barvy a rozměry: CSS proměnné z nastavení (exp_blog_vars).
 * ======================================================================== */
.exp-blog-home,
.exp-blog-list-page,
.exp-blog-single {
	--blog-accent: var(--exp-primary,#5000A0);
	--blog-card-bg: #fff;
	--blog-radius: 14px;
	--blog-ratio: 16/10;
	--blog-cols: 3;
	--blog-width: 780px;
	--blog-gap: 28px;
}
.exp-blog-home *,
.exp-blog-list-page *,
.exp-blog-single * { box-sizing: border-box; }

/* ===========================================================================
 * Úvodní blok
 * ======================================================================== */
.exp-blog-home { position: relative; overflow: hidden; }
.exp-blog-home--fixed { background-attachment: fixed; }
@media (max-width: 1024px), (hover: none) { .exp-blog-home--fixed { background-attachment: scroll; } }
.exp-blog-home-ov { position: absolute; inset: 0; pointer-events: none; }
.exp-blog-home-inner { position: relative; z-index: 1; }
.exp-blog-home-top { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 36px; }
.exp-blog-home-top--center { justify-content: center; position: relative; }
.exp-blog-home-top--center .exp-blog-arrows--top { position: absolute; right: 0; bottom: 0; }

/* Nadpis bloku */
.exp-blog-head { max-width: 760px; }
.exp-blog-head--center { text-align: center; margin: 0 auto; }
.exp-blog-head-title {
	margin: 0 0 12px;
	font-size: clamp(var(--bh-size-m, 28px), 3.4vw, var(--bh-size, 38px));
	font-weight: 700;
	line-height: 1.2;
	color: var(--bh-color, #1d2327);
}
.exp-blog-head--upper .exp-blog-head-title { text-transform: uppercase; letter-spacing: .03em; }
.exp-blog-head-sub { margin: 0; font-size: var(--bh-sub, 18px); line-height: 1.6; color: var(--bh-sub-color, #5f6368); }
.exp-blog-head--line .exp-blog-head-title::after { content: ""; display: block; width: 64px; height: 4px; margin-top: 14px; border-radius: 4px; background: var(--bh-line, var(--blog-accent)); }
.exp-blog-head--center.exp-blog-head--line .exp-blog-head-title::after { margin-left: auto; margin-right: auto; }
.exp-blog-scheme-dark .exp-blog-head-title { color: var(--bh-color, #fff); }
.exp-blog-scheme-dark .exp-blog-head-sub { color: var(--bh-sub-color, rgba(255, 255, 255, .8)); }

/* Slider */
.exp-blog-slider { --gap: 28px; position: relative; }
.exp-blog-viewport { overflow: hidden; margin: -14px; padding: 14px; }
.exp-blog-track { display: flex; gap: var(--gap); transition: transform .6s cubic-bezier(.22, .8, .3, 1); will-change: transform; touch-action: pan-y; }
.exp-blog-slide { flex: 0 0 calc((100% - (var(--per) - 1) * var(--gap)) / var(--per)); min-width: 0; display: flex; }
.exp-blog-slide > .exp-bc { width: 100%; }
@media (max-width: 1099px) { .exp-blog-slide { flex-basis: calc((100% - (var(--per-t) - 1) * var(--gap)) / var(--per-t)); } }
@media (max-width: 767px) {
	.exp-blog-slider { --gap: 16px; }
	.exp-blog-slide { flex-basis: calc((100% - (var(--per-m) - 1) * var(--gap)) / var(--per-m)); }
	/* na mobilu kousek další karty naznačí, že jde posouvat */
	.exp-blog-slider[style*="--per-m:1"] .exp-blog-slide { flex-basis: 88%; }
}

.exp-blog-arrows { display: flex; gap: 10px; }
.exp-blog-arrows[hidden] { display: none; }
.exp-blog-arrow {
	display: inline-flex; align-items: center; justify-content: center;
	width: 46px; height: 46px; margin: 0; padding: 0;
	border: 1px solid rgba(0, 0, 0, .12); border-radius: 50%;
	background: #fff; color: #1d2327; font-size: 16px; cursor: pointer;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .06);
	transition: background-color .2s, color .2s, border-color .2s, transform .2s;
}
.exp-blog-arrow:hover { background: var(--blog-accent); border-color: var(--blog-accent); color: #fff; }
.exp-blog-arrow:disabled { opacity: .35; cursor: default; background: #fff; color: #1d2327; }
.exp-blog-arrow:focus-visible { outline: 2px solid var(--blog-accent); outline-offset: 2px; }
.exp-blog-arrows--sides { position: absolute; inset: 0; justify-content: space-between; align-items: center; pointer-events: none; z-index: 3; margin: 0 -23px; }
.exp-blog-arrows--sides .exp-blog-arrow { pointer-events: auto; }
@media (max-width: 1260px) { .exp-blog-arrows--sides { margin: 0 -8px; } }
@media (max-width: 767px) { .exp-blog-arrows--sides, .exp-blog-arrows--top { display: none; } }

.exp-blog-home-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 18px 28px; margin-top: 34px; }
.exp-blog-dots { display: flex; gap: 14px; }
.exp-blog-dots[hidden] { display: none; }
.exp-blog-dot { width: 10px; height: 10px; margin: 0; padding: 0; border: 0; border-radius: 10px; background: rgba(0, 0, 0, .18); cursor: pointer; transition: width .3s, background-color .3s; }
.exp-blog-dot.is-active { width: 28px; background: var(--blog-accent); }
.exp-blog-scheme-dark .exp-blog-dot { background: rgba(255, 255, 255, .35); }
.exp-blog-scheme-dark .exp-blog-dot.is-active { background: #fff; }
.exp-blog-all {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 13px 28px; border-radius: 999px;
	background: var(--blog-accent); color: #fff !important;
	font-weight: 600; text-decoration: none !important;
	transition: filter .2s, transform .2s;
}
.exp-blog-all:hover { filter: brightness(1.1); transform: translateY(-2px); }
@media (max-width: 767px) {
	.exp-blog-home-top { margin-bottom: 24px; }
	.exp-blog-home-top--left { flex-direction: column; align-items: flex-start; }
}

/* ===========================================================================
 * Karta článku (4 motivy)
 * ======================================================================== */
.exp-bc { position: relative; display: flex; flex-direction: column; min-width: 0; height: 100%; color: var(--blog-text, #4a4f55); transition: transform .3s, box-shadow .3s; }
.exp-bc-link { position: absolute; inset: 0; z-index: 1; }
.exp-bc-media { position: relative; overflow: hidden; aspect-ratio: var(--blog-ratio); background: linear-gradient(135deg, #eceef3, #dfe3ea); flex: 0 0 auto; }
.exp-bc-img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.22, .8, .3, 1); }
.exp-bc-noimg { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 34px; color: rgba(0, 0, 0, .18); background: linear-gradient(135deg, color-mix(in srgb, var(--blog-accent) 14%, #fff), color-mix(in srgb, var(--blog-accent) 30%, #fff)); }
.exp-bc-body { display: flex; flex-direction: column; flex: 1; gap: 10px; padding: 22px 24px 24px; }
.exp-bc-cat {
	position: relative; z-index: 2; display: inline-block; align-self: flex-start;
	padding: 5px 12px; border-radius: 999px;
	background: var(--blog-accent); color: #fff !important;
	font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; line-height: 1.3;
	text-decoration: none !important;
}
.exp-bc-media .exp-bc-cat { position: absolute; top: 14px; left: 14px; }
.exp-bc-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: 13px; color: var(--blog-meta, #7a7f86); }
.exp-bc-meta .exp-icon { margin-right: 5px; }
.exp-bc-sep { opacity: .6; }
.exp-bc-title { margin: 0; font-size: 20px; font-weight: 700; line-height: 1.35; }
.exp-bc-title a { color: var(--blog-title, #1d2327); text-decoration: none; background: none; transition: color .2s; }
.exp-bc:hover .exp-bc-title a { color: var(--blog-accent); }
.exp-bc-excerpt { margin: 0; font-size: 15px; line-height: 1.65; }
.exp-bc-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 14px; }
.exp-bc-author { display: inline-flex; align-items: center; gap: 9px; font-size: 14px; font-weight: 600; color: var(--blog-title, #1d2327); min-width: 0; }
.exp-bc-author span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.exp-bc-read { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 600; color: var(--blog-accent); white-space: nowrap; }
.exp-bc-read .exp-icon { transition: transform .25s; }
.exp-bc:hover .exp-bc-read .exp-icon { transform: translateX(4px); }

/* Avatar autora (fotka nebo iniciály) */
.exp-blog-avatar { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.exp-blog-avatar--ini { display: inline-flex; align-items: center; justify-content: center; background: var(--blog-accent); color: #fff; font-size: 13px; font-weight: 700; }

/* Klasické */
.exp-bc--classic { background: var(--blog-card-bg); border-radius: var(--blog-radius); overflow: hidden; border: 1px solid rgba(0, 0, 0, .06); }
.exp-bc--classic .exp-bc-foot { border-top: 1px solid rgba(0, 0, 0, .07); }
/* Překryv */
.exp-bc--overlay { border-radius: var(--blog-radius); overflow: hidden; min-height: 380px; color: #fff; }
.exp-bc--overlay .exp-bc-media { position: absolute; inset: 0; aspect-ratio: auto; }
.exp-bc--overlay .exp-bc-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, .85) 0%, rgba(0, 0, 0, .35) 45%, rgba(0, 0, 0, 0) 75%); }
.exp-bc--overlay .exp-bc-body { position: relative; justify-content: flex-end; padding: 26px; }
.exp-bc--overlay .exp-bc-title a,
.exp-bc--overlay .exp-bc-author { color: #fff; }
.exp-bc--overlay .exp-bc-meta { color: rgba(255, 255, 255, .8); }
.exp-bc--overlay .exp-bc-read { color: #fff; }
.exp-bc--overlay:hover .exp-bc-title a { color: #fff; }
/* Minimalistické */
.exp-bc--minimal .exp-bc-media { border-radius: var(--blog-radius); }
.exp-bc--minimal .exp-bc-body { padding: 18px 2px 4px; }
.exp-bc--minimal .exp-bc-cat { background: none; color: var(--blog-accent) !important; padding: 0; letter-spacing: .1em; }
/* Horizontální */
.exp-bc--horizontal { flex-direction: row; background: var(--blog-card-bg); border-radius: var(--blog-radius); overflow: hidden; border: 1px solid rgba(0, 0, 0, .06); }
.exp-bc--horizontal .exp-bc-media { flex: 0 0 42%; aspect-ratio: auto; min-height: 220px; }
.exp-bc--horizontal .exp-bc-body { padding: 24px 28px; justify-content: center; }
@media (max-width: 600px) {
	.exp-bc--horizontal { flex-direction: column; }
	.exp-bc--horizontal .exp-bc-media { flex-basis: auto; aspect-ratio: var(--blog-ratio); min-height: 0; }
}
/* Stín a efekt po najetí */
.exp-bc--shadow.exp-bc--classic,
.exp-bc--shadow.exp-bc--horizontal,
.exp-bc--shadow.exp-bc--overlay { box-shadow: 0 10px 30px rgba(17, 24, 39, .07); }
.exp-bc--hover-lift:hover { transform: translateY(-6px); }
.exp-bc--hover-lift.exp-bc--shadow:hover { box-shadow: 0 18px 42px rgba(17, 24, 39, .13); }
.exp-bc--hover-lift:hover .exp-bc-img,
.exp-bc--hover-zoom:hover .exp-bc-img { transform: scale(1.06); }
.exp-bc--minimal.exp-bc--hover-lift:hover { transform: none; }
/* Stránka ve výsledcích hledání */
.exp-bc--page { background: var(--blog-card-bg); border: 1px solid rgba(0, 0, 0, .07); border-radius: var(--blog-radius); }

/* ===========================================================================
 * Výpis článků
 * ======================================================================== */
.exp-blog-list-page { padding: 56px 0 80px; }
.exp-blog-list-head { margin-bottom: 36px; }
.exp-blog-list-title { margin: 0 0 12px; font-size: clamp(28px, 4vw, 44px); font-weight: 700; line-height: 1.15; color: #1d2327; }
.exp-blog-list-desc { max-width: 760px; color: #5f6368; font-size: 17px; }
.exp-blog-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.exp-blog-chip { display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; border-radius: 999px; border: 1px solid rgba(0, 0, 0, .12); background: #fff; color: #1d2327 !important; font-size: 14px; font-weight: 500; text-decoration: none !important; transition: all .2s; }
.exp-blog-chip span { font-size: 12px; opacity: .55; }
.exp-blog-chip:hover { border-color: var(--blog-accent); color: var(--blog-accent) !important; }
.exp-blog-chip.is-active { background: var(--blog-accent); border-color: var(--blog-accent); color: #fff !important; }
.exp-blog-chip.is-active span { opacity: .8; }
@media (max-width: 767px) {
	.exp-blog-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: -15px; padding-bottom: 4px; }
	.exp-blog-chips::-webkit-scrollbar { display: none; }
	.exp-blog-chip { flex: 0 0 auto; }
}

/* .container ze šablony má pseudo-prvky ::before/::after (clearfix) - v mřížce by byly navíc */
.container.exp-blog-list-wrap::before, .container.exp-blog-list-wrap::after,
.container.exp-blog-single-wrap::before, .container.exp-blog-single-wrap::after,
.container.exp-blog-hero-inner::before, .container.exp-blog-hero-inner::after { content: none; display: none; }
.exp-blog-list-wrap,
.exp-blog-single-wrap { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sdb-space, 40px); }
.exp-blog-side-right { grid-template-columns: minmax(0, 1fr) var(--sdb-w, 300px); }
.exp-blog-side-left { grid-template-columns: var(--sdb-w, 300px) minmax(0, 1fr); }
.exp-blog-side-left .exp-blog-sidebar { order: -1; }
@media (max-width: 991px) {
	.exp-blog-side-right,
	.exp-blog-side-left { grid-template-columns: minmax(0, 1fr); }
	.exp-blog-side-left .exp-blog-sidebar { order: 2; }
}
.exp-blog-grid { display: grid; gap: var(--blog-gap); }
.exp-blog-grid--grid { grid-template-columns: repeat(var(--blog-cols), minmax(0, 1fr)); }
.exp-blog-grid--list { grid-template-columns: minmax(0, 1fr); }
.exp-blog-grid--magazine { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.exp-blog-grid--magazine .exp-blog-cell--feat { grid-column: span 2; grid-row: span 2; }
.exp-blog-grid--magazine .exp-blog-cell--feat .exp-bc--overlay { min-height: 100%; }
.exp-blog-grid--magazine .exp-blog-cell--feat .exp-bc-title { font-size: clamp(22px, 2.6vw, 32px); }
.exp-blog-cell { min-width: 0; display: flex; }
.exp-blog-cell > .exp-bc { width: 100%; }
@media (max-width: 1099px) {
	.exp-blog-grid--grid { grid-template-columns: repeat(min(var(--blog-cols), 2), minmax(0, 1fr)); }
	.exp-blog-grid--magazine { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
	.exp-blog-grid--grid,
	.exp-blog-grid--magazine { grid-template-columns: minmax(0, 1fr); }
	.exp-blog-grid--magazine .exp-blog-cell--feat { grid-column: auto; grid-row: auto; }
	.exp-blog-grid { --blog-gap: 20px; }
}
.exp-blog-empty { padding: 30px; margin-bottom: 30px; border-radius: var(--blog-radius); background: #f6f7f9; text-align: center; color: #5f6368; }

/* Stránkování */
.exp-blog-pages { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 48px; }
.exp-blog-pages .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 12px; border-radius: 10px; border: 1px solid rgba(0, 0, 0, .1); background: #fff; color: #1d2327 !important; font-weight: 600; text-decoration: none !important; transition: all .2s; }
.exp-blog-pages .page-numbers:hover { border-color: var(--blog-accent); color: var(--blog-accent) !important; }
.exp-blog-pages .page-numbers.current { background: var(--blog-accent); border-color: var(--blog-accent); color: #fff !important; }
.exp-blog-pages .page-numbers.dots { border: 0; background: none; }
.exp-blog-more { display: flex; justify-content: center; margin-top: 44px; }
.exp-blog-more-btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 30px; border-radius: 999px; border: 2px solid var(--blog-accent); color: var(--blog-accent) !important; font-weight: 600; text-decoration: none !important; transition: all .2s; }
.exp-blog-more-btn:hover { background: var(--blog-accent); color: #fff !important; }
.exp-blog-spin { display: none; width: 16px; height: 16px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: exp-blog-spin .7s linear infinite; }
.exp-blog-more.is-loading .exp-blog-spin { display: inline-block; }
@keyframes exp-blog-spin { to { transform: rotate(360deg); } }

/* Hlavička stránky autora */
.exp-blog-authorhead { display: flex; gap: 22px; align-items: center; margin-top: 18px; max-width: 820px; }
.exp-blog-authorhead .exp-blog-avatar { width: 96px; height: 96px; font-size: 30px; }
.exp-blog-author-pos { margin: 0 0 6px; color: var(--blog-accent); font-weight: 600; font-size: 14px; letter-spacing: .03em; }
.exp-blog-author-bio { color: #4a4f55; line-height: 1.7; }
.exp-blog-author-bio p { margin: 0 0 8px; }
.exp-blog-author-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.exp-blog-author-links a { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: #f1f2f5; color: #1d2327 !important; text-decoration: none !important; font-size: 15px; transition: all .2s; }
.exp-blog-author-links a:hover { background: var(--blog-accent); color: #fff !important; }
@media (max-width: 600px) { .exp-blog-authorhead { flex-direction: column; align-items: flex-start; } }

/* Boční box */
.exp-blog-sidebar { min-width: 0; }

/* ===========================================================================
 * Detail článku
 * ======================================================================== */
.exp-blog-progress { position: fixed; top: 0; left: 0; right: 0; z-index: 10001; height: 3px; pointer-events: none; }
.exp-blog-progress i { display: block; height: 100%; background: var(--blog-accent); transform: scaleX(0); transform-origin: left; }
.exp-blog-cats { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.exp-blog-single-title { margin: 0 0 18px; font-size: clamp(28px, 4.4vw, 50px); font-weight: 700; line-height: 1.15; color: var(--exp-heading, #1d2327); }
.exp-blog-single-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; font-size: 15px; color: #6b7076; }
.exp-blog-single-meta a { color: inherit; text-decoration: none; }
.exp-blog-single-meta .exp-icon { margin-right: 6px; }
.exp-blog-single-authors { display: inline-flex; flex-wrap: wrap; gap: 14px; }
.exp-blog-single-authors a { display: inline-flex; align-items: center; gap: 9px; font-weight: 600; color: #1d2327; }
.exp-blog-single-authors .exp-blog-avatar { width: 40px; height: 40px; }

/* Velký obrázek s nadpisem */
.exp-blog-hero { position: relative; min-height: clamp(360px, 62vh, 620px); display: flex; align-items: flex-end; color: #fff; overflow: hidden; background: #111; }
.exp-blog-hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.exp-blog-hero-ov { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, .82) 0%, rgba(0, 0, 0, .35) 55%, rgba(0, 0, 0, .15) 100%); }
.exp-blog-hero-inner { position: relative; z-index: 1; width: 100%; padding-top: 80px; padding-bottom: 54px; }
.exp-blog-hero-content { max-width: 900px; }
.exp-blog-hero .exp-blog-single-title { color: #fff; text-shadow: 0 2px 16px rgba(0, 0, 0, .25); }
.exp-blog-hero .exp-blog-single-meta,
.exp-blog-hero .exp-blog-single-authors a { color: rgba(255, 255, 255, .92); }
/* Klasická hlavička */
.exp-blog-single-head { padding-top: 56px; padding-bottom: 30px; max-width: calc(var(--blog-width) + 30px); }
.exp-blog-single-imgwrap { margin-bottom: 10px; }
.exp-blog-single-img { display: block; width: 100%; max-height: 620px; object-fit: cover; border-radius: var(--blog-radius); }

.exp-blog-single-wrap { padding-top: 46px; padding-bottom: 60px; }
.exp-blog-side-none .exp-blog-single-main { width: 100%; max-width: var(--blog-width); margin: 0 auto; }
.exp-blog-single--classic .exp-blog-single-wrap,
.exp-blog-single--noimage .exp-blog-single-wrap { padding-top: 26px; }
.exp-blog-single--classic .exp-blog-side-none .exp-blog-single-main,
.exp-blog-single--noimage .exp-blog-side-none .exp-blog-single-main { margin-left: 0; }

/* Obsah článku (čitelná typografie) */
.exp-blog-content { font-size: 18px; line-height: 1.8; color: #2f3337; overflow-wrap: break-word; }
.exp-blog-content > * { margin-top: 0; margin-bottom: 1.2em; }
/* šablona má u odstavců pevnou velikost písma - v článku čitelnější */
.exp-blog-content p,
.exp-blog-content li,
.exp-blog-content blockquote p { font-size: inherit; line-height: inherit; color: inherit; }
.exp-bc-excerpt,
.exp-blog-author-bio p { font-size: inherit; line-height: inherit; }
.exp-blog-content h2,
.exp-blog-content h3,
.exp-blog-content h4 { margin: 1.8em 0 .6em; line-height: 1.3; color: var(--exp-heading, #1d2327); scroll-margin-top: 110px; }
.exp-blog-content h2 { font-size: 1.6em; }
.exp-blog-content h3 { font-size: 1.3em; }
.exp-blog-content a { color: var(--blog-accent); text-underline-offset: 3px; }
.exp-blog-content img { max-width: 100%; height: auto; border-radius: 10px; }
.exp-blog-content figure { margin-left: 0; margin-right: 0; }
.exp-blog-content figcaption { font-size: 14px; color: #7a7f86; text-align: center; margin-top: 8px; }
.exp-blog-content blockquote { margin: 1.6em 0; padding: 18px 26px; border-left: 4px solid var(--blog-accent); background: #f6f7f9; border-radius: 0 10px 10px 0; font-size: 1.08em; font-style: italic; }
.exp-blog-content ul,
.exp-blog-content ol { padding-left: 1.4em; }
.exp-blog-content li { margin-bottom: .4em; }
.exp-blog-content pre { overflow-x: auto; padding: 16px; border-radius: 10px; background: #1d2327; color: #f0f0f1; font-size: 14px; }
.exp-blog-content table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; }
.exp-blog-content th,
.exp-blog-content td { padding: 10px 12px; border: 1px solid #e5e7eb; }
@media (max-width: 767px) { .exp-blog-content { font-size: 17px; } }

/* Obsah článku (TOC) */
.exp-blog-toc { margin: 0 0 32px; border: 1px solid #e5e7eb; border-radius: 12px; background: #fafbfc; }
.exp-blog-toc summary { padding: 14px 20px; font-weight: 700; cursor: pointer; }
.exp-blog-toc ol { margin: 0; padding: 0 20px 16px 40px; }
.exp-blog-toc li { margin: 6px 0; }
.exp-blog-toc li.lvl-3 { margin-left: 18px; font-size: 15px; list-style: circle; }
.exp-blog-toc a { color: #1d2327; text-decoration: none; }
.exp-blog-toc a:hover { color: var(--blog-accent); }

/* Štítky, sdílení */
.exp-blog-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 34px 0 0; }
.exp-blog-tags a { padding: 6px 14px; border-radius: 999px; background: #f1f2f5; color: #4a4f55 !important; font-size: 14px; text-decoration: none !important; }
.exp-blog-tags a:hover { background: var(--blog-accent); color: #fff !important; }
.exp-blog-share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 30px 0 0; padding: 20px 0; border-top: 1px solid #eceef1; border-bottom: 1px solid #eceef1; }
.exp-blog-share-label { margin-right: 6px; font-weight: 600; color: #1d2327; }
.exp-blog-share a,
.exp-blog-share button { position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 10px; border: 0; border-radius: 50%; background: #f1f2f5; color: #1d2327 !important; font-size: 16px; text-decoration: none !important; cursor: pointer; transition: all .2s; }
.exp-blog-share a:hover,
.exp-blog-share button:hover { background: var(--blog-accent); color: #fff !important; transform: translateY(-2px); }
.exp-blog-copied { position: absolute; bottom: calc(100% + 8px); left: 50%; transform: translateX(-50%); padding: 4px 10px; border-radius: 6px; background: #1d2327; color: #fff; font-size: 12px; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity .2s; }
.exp-blog-share-copy.is-copied .exp-blog-copied { opacity: 1; }

/* Box autora */
.exp-blog-authorbox { display: flex; gap: 20px; align-items: flex-start; margin: 34px 0 0; padding: 26px; border-radius: 16px; background: #f6f7f9; }
.exp-blog-authorbox > .exp-blog-avatar { width: 76px; height: 76px; font-size: 24px; }
.exp-blog-authorbox-label { display: block; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #7a7f86; }
.exp-blog-authorbox-name { display: inline-block; margin: 2px 0 4px; font-size: 20px; font-weight: 700; color: #1d2327 !important; text-decoration: none !important; }
@media (max-width: 600px) { .exp-blog-authorbox { flex-direction: column; } }

/* Předchozí / další */
.exp-blog-postnav { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 34px 0 0; }
.exp-blog-postnav a { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; border: 1px solid #e5e7eb; border-radius: 12px; text-decoration: none !important; transition: border-color .2s, box-shadow .2s; }
.exp-blog-postnav a:hover { border-color: var(--blog-accent); box-shadow: 0 8px 22px rgba(0, 0, 0, .06); }
.exp-blog-postnav span { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: #7a7f86; }
.exp-blog-postnav strong { color: #1d2327; line-height: 1.4; }
.exp-blog-postnav-next { text-align: right; align-items: flex-end; }
@media (max-width: 600px) { .exp-blog-postnav { grid-template-columns: 1fr; } .exp-blog-postnav-next { text-align: left; align-items: flex-start; } }

.exp-blog-comments { margin-top: 46px; }

/* Související */
.exp-blog-related { padding: 60px 0 70px; background: #f6f7f9; }
.exp-blog-related-title { margin: 0 0 28px; font-size: clamp(24px, 3vw, 32px); font-weight: 700; color: #1d2327; }

@media (prefers-reduced-motion: reduce) {
	.exp-bc, .exp-bc-img, .exp-blog-track { transition: none !important; }
	.exp-blog-spin { animation: none; }
}

/* Okraje stránky na mobilu (kontejner šablony je na mobilu bez odsazení) */
@media (max-width: 767px) {
	.exp-blog-home .container,
	.exp-blog-list-page .container,
	.exp-blog-single .container { padding-left: 20px; padding-right: 20px; }
	.exp-blog-hero-inner { padding-bottom: 34px; }
	.exp-blog-single-meta { gap: 6px 16px; font-size: 14px; }
}

/* Tažení myší */
@media (hover: hover) { .exp-blog-viewport { cursor: grab; user-select: none; } .exp-blog-viewport:active { cursor: grabbing; } }
