/* ===========================================================================
 * Extreme Pro - Kontakty (home-contact.php, page-fullwidth-contact.php, shortcode [kontakty])
 * Pozadí sekce a nadpis: css/exp-blocks.css.
 * Proměnné: --ct-radius, --ct-card, --ct-icon, --ct-icon-bg, --ct-label, --ct-value,
 * --blk-accent, --map-h, --map-h-m, --map-r.
 * ======================================================================== */
.exp-contact { --ct-radius: 14px; }
.exp-contact *, .exp-contact *::before, .exp-contact *::after { box-sizing: border-box; }

/* ---------- Položky kontaktů ---------- */
.exp-ct-items { display: flex; flex-direction: column; gap: 18px; }
.exp-ct-item { display: flex; align-items: flex-start; gap: 16px; min-width: 0; }
.exp-ct-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 50px; height: 50px; border-radius: 14px; background: var(--ct-icon-bg, color-mix(in srgb, var(--blk-accent, var(--exp-primary,#5000A0)) 10%, transparent)); color: var(--ct-icon, var(--blk-accent, var(--exp-primary,#5000A0))); font-size: 20px; }
.exp-ct-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; padding-top: 3px; }
.exp-ct-label { font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--ct-label, #5f646b); }
.exp-ct-value { font-size: 17px; font-weight: 600; line-height: 1.45; color: var(--ct-value, #1d2327); overflow-wrap: anywhere; }
.exp-ct-value a { color: inherit; text-decoration: none; transition: color .2s; }
.exp-ct-value a:hover { color: var(--blk-accent, var(--exp-primary,#5000A0)); }
.exp-ct-note { font-size: 14px; color: #5f646b; }
.exp-block--dark .exp-ct-value { color: var(--ct-value, #fff); }
.exp-block--dark .exp-ct-label, .exp-block--dark .exp-ct-note { color: var(--ct-label, rgba(255, 255, 255, .7)); }
.exp-block--dark .exp-ct-icon { background: var(--ct-icon-bg, rgba(255, 255, 255, .12)); color: var(--ct-icon, #fff); }
/* karty */
.exp-ct-items--cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; }
.exp-ct-items--cards .exp-ct-item { flex-direction: column; align-items: center; text-align: center; padding: 28px 20px; border-radius: var(--ct-radius); background: var(--ct-card, #fff); border: 1px solid rgba(0, 0, 0, .06); box-shadow: 0 10px 30px rgba(17, 24, 39, .06); transition: transform .3s, box-shadow .3s; }
.exp-ct-items--cards .exp-ct-item:hover { transform: translateY(-5px); box-shadow: 0 18px 40px rgba(17, 24, 39, .1); }
.exp-ct-items--cards .exp-ct-icon { width: 60px; height: 60px; border-radius: 50%; font-size: 22px; }
.exp-ct-items--cards .exp-ct-text { align-items: center; }
.exp-block--dark .exp-ct-items--cards .exp-ct-value { color: var(--ct-value, #1d2327); }
.exp-block--dark .exp-ct-items--cards .exp-ct-label { color: var(--ct-label, #5f646b); }
.exp-block--dark .exp-ct-items--cards .exp-ct-icon { background: var(--ct-icon-bg, color-mix(in srgb, var(--blk-accent, var(--exp-primary,#5000A0)) 10%, transparent)); color: var(--ct-icon, var(--blk-accent, var(--exp-primary,#5000A0))); }
/* řádek (nad formulářem) */
.exp-ct-items--row { flex-direction: row; flex-wrap: wrap; gap: 20px 40px; justify-content: center; margin-bottom: 40px; padding: 22px 28px; border-radius: var(--ct-radius); background: var(--ct-card, #fff); box-shadow: 0 10px 30px rgba(17, 24, 39, .06); }
.exp-ct-items--row .exp-ct-icon { width: 42px; height: 42px; font-size: 17px; border-radius: 12px; }
/* pruh */
.exp-ct-items--strip { flex-direction: row; flex-wrap: wrap; justify-content: space-around; gap: 22px 36px; padding: 30px 34px; border-radius: var(--ct-radius); background: var(--blk-accent, var(--exp-primary,#5000A0)); }
.exp-ct-items--strip .exp-ct-icon { background: rgba(255, 255, 255, .16); color: #fff; }
.exp-ct-items--strip .exp-ct-value { color: #fff; }
.exp-ct-items--strip .exp-ct-label, .exp-ct-items--strip .exp-ct-note { color: rgba(255, 255, 255, .75); }
.exp-ct-items--strip .exp-ct-value a:hover { color: #fff; text-decoration: underline; }

/* ---------- Rozložení ---------- */
.exp-ct-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.exp-ct-grid--split { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.exp-ct-col { display: flex; flex-direction: column; gap: 30px; min-width: 0; }
.exp-ct-cards-form { max-width: 820px; margin: 40px auto 0; }
.exp-ct-map-wrap { margin-top: 44px; }
.exp-ct-map-wrap.is-full { padding: 0; }
.exp-ct-map-wrap.is-full .exp-ct-map { border-radius: 0; }
.exp-ct--overlay { padding-bottom: 0 !important; }
.exp-ct-overlay { position: relative; min-height: var(--map-h, 420px); padding: 50px 0; }
.exp-ct-overlay .container { position: relative; z-index: 1; pointer-events: none; }
.exp-ct-float { pointer-events: auto; width: min(460px, 100%); display: flex; flex-direction: column; gap: 26px; padding: 30px; border-radius: var(--ct-radius); background: var(--ct-card, #fff); box-shadow: 0 24px 60px rgba(17, 24, 39, .18); }
.exp-block--dark .exp-ct-float .exp-ct-value { color: var(--ct-value, #1d2327); }
@media (max-width: 991px) {
	.exp-ct-grid, .exp-ct-grid--split { grid-template-columns: minmax(0, 1fr); }
	.exp-ct-overlay { padding: 0; }
	.exp-ct-overlay .exp-ct-map.is-bg { position: relative; height: var(--map-h-m, 320px); }
	.exp-ct-float { width: 100%; margin-top: -40px; }
}

/* ---------- Formulář ---------- */
.exp-ct-form { min-width: 0; padding: 30px; border-radius: var(--ct-radius); background: var(--ct-card, #fff); border: 1px solid rgba(0, 0, 0, .06); box-shadow: 0 10px 30px rgba(17, 24, 39, .06); color: #2f3337; }
.exp-ct-float .exp-ct-form { padding: 0; border: 0; box-shadow: none; }
.exp-ct-form-title { margin: 0 0 18px; font-size: 22px; font-weight: 700; color: #1d2327; }
.exp-ct-demo-form { display: flex; flex-direction: column; gap: 12px; }
.exp-ct-demo-form span { display: block; height: 46px; border-radius: 8px; background: #f1f2f5; border: 1px solid #e4e6ea; }
.exp-ct-demo-form .is-area { height: 110px; }
.exp-ct-demo-form .is-btn { align-self: flex-start; display: inline-flex; align-items: center; height: 46px; padding: 0 28px; border: 0; border-radius: 999px; background: var(--blk-accent, var(--exp-primary,#5000A0)); color: #fff; font-weight: 600; }
.exp-ct-demo-form small { color: #5f646b; }

/* ---------- Mapa ---------- */
.exp-ct-map { position: relative; height: var(--map-h, 420px); overflow: hidden; border-radius: var(--map-r, 14px); background: #e8ecef; }
.exp-ct-map.is-tall { height: max(var(--map-h, 420px), 100%); min-height: var(--map-h, 420px); }
.exp-ct-map.is-bg { position: absolute; inset: 0; height: auto; border-radius: 0; }
.exp-ct-map iframe { display: block; width: 100%; height: 100%; border: 0; }
.exp-ct-map--gray iframe { filter: grayscale(1) contrast(1.05); transition: filter .4s; }
.exp-ct-map--gray:hover iframe { filter: none; }
.exp-ct-map--consent,
.exp-ct-map--empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; background: linear-gradient(135deg, #e3e8e2, #d5ddd1); text-align: center; color: #5f6368; padding: 20px; }
.exp-ct-map--empty span { display: inline-flex; align-items: center; gap: 8px; }
.exp-ct-map-load { display: inline-flex; align-items: center; gap: 10px; padding: 13px 26px; border: 0; border-radius: 999px; background: var(--blk-accent, var(--exp-primary,#5000A0)); color: #fff; font-weight: 600; cursor: pointer; transition: transform .2s, filter .2s; }
.exp-ct-map-load:hover { transform: translateY(-2px); filter: brightness(1.1); }
@media (max-width: 767px) {
	.exp-ct-map { height: var(--map-h-m, 320px); }
	.exp-ct-map.is-tall { height: var(--map-h-m, 320px); min-height: 0; }
	.exp-ct-form, .exp-ct-float { padding: 22px; }
	.exp-ct-items--strip { flex-direction: column; align-items: flex-start; padding: 24px; }
	.exp-ct-items--row { justify-content: flex-start; }
}

/* ---------- Otevírací doba (core/scripts/exp-ct-hours.php) ---------- */
.exp-oh { --oh-accent: var(--blk-accent, var(--exp-primary,#5000A0)); min-width: 0; }
.exp-oh-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 14px; margin: 0 0 10px; }
.exp-oh-title { font-size: 18px; font-weight: 700; color: var(--oh-title, var(--ct-value, inherit)); }
.exp-oh-now { display: inline-flex; align-items: center; gap: 0; padding: 4px 12px 4px 10px; border-radius: 999px; background: rgba(127, 127, 127, .12); font-size: 13px; line-height: 1.35; white-space: nowrap; }
.exp-oh-now[hidden] { display: none !important; }
.exp-oh-now i { flex: 0 0 auto; width: 8px; height: 8px; margin-right: 7px; border-radius: 50%; background: #9aa0a6; color: #9aa0a6; }
.exp-oh-now.is-open { background: var(--oh-op-bg, rgba(31, 164, 87, .12)); color: var(--oh-op-c, #13703a); }
.exp-oh-now.is-open i { background: var(--oh-op-dot, #1fa457); color: var(--oh-op-dot, #1fa457); animation: exp-oh-pulse 2s infinite; }
.exp-oh-now.is-closed { background: var(--oh-cl-bg, rgba(214, 54, 56, .1)); color: var(--oh-cl-c, #b32d2e); }
.exp-oh-now.is-closed i { background: var(--oh-cl-dot, #d63638); color: var(--oh-cl-dot, #d63638); }
.exp-oh-now span { font-weight: 400; opacity: .9; }
@keyframes exp-oh-pulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, currentColor 45%, transparent); } 70% { box-shadow: 0 0 0 7px color-mix(in srgb, currentColor 0%, transparent); } 100% { box-shadow: 0 0 0 0 transparent; } }
.exp-block--dark .exp-oh-now.is-open, .exp-ct-items--strip .exp-oh-now.is-open { background: var(--oh-op-bg, rgba(255, 255, 255, .14)); color: var(--oh-op-c, #b9f5cf); }
.exp-block--dark .exp-oh-now.is-closed, .exp-ct-items--strip .exp-oh-now.is-closed { background: var(--oh-cl-bg, rgba(255, 255, 255, .14)); color: var(--oh-cl-c, #ffc9c9); }
.exp-oh-table { width: 100%; margin: 0; border: 0; border-collapse: collapse; background: none; font-size: 15px; }
.exp-oh-table th, .exp-oh-table td { padding: 7px 0; border: 0; border-bottom: 1px dashed var(--oh-line, rgba(127, 127, 127, .28)); background: none !important; text-align: left; vertical-align: top; color: inherit; }
.exp-oh-table tr:last-child th, .exp-oh-table tr:last-child td { border-bottom: 0; }
.exp-oh-table th { padding-right: 16px; font-weight: 500; white-space: nowrap; opacity: .85; }
.exp-oh[style*="--oh-day"] .exp-oh-table th, .exp-oh[style*="--oh-day"] .exp-oh-i b { color: var(--oh-day); opacity: 1; }
.exp-oh[style*="--oh-time"] .exp-oh-table td, .exp-oh[style*="--oh-time"] .exp-oh-i { color: var(--oh-time); }
.exp-oh-table td { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
.exp-oh-table tr.is-closed td { opacity: .6; font-weight: 500; }
.exp-oh[style*="--oh-closed"] .exp-oh-table tr.is-closed td, .exp-oh[style*="--oh-closed"] .exp-oh-i.is-closed { color: var(--oh-closed); opacity: 1; }
.exp-oh-table tr.is-today th, .exp-oh-table tr.is-today td { color: var(--oh-today, var(--oh-accent)) !important; opacity: 1; font-weight: 700; }
.exp-oh--compact .exp-oh-table { font-size: 14.5px; }
.exp-oh--compact .exp-oh-table th, .exp-oh--compact .exp-oh-table td { padding: 2px 0; border: 0; }
.exp-oh--compact .exp-oh-table td { text-align: left; padding-left: 4px; }
.exp-oh--compact .exp-oh-head { margin-bottom: 4px; }
.exp-ct-item--ohours .exp-oh { margin-top: 2px; }
.exp-ct-item--ohours .exp-oh-table { color: var(--ct-value, #1d2327); }
.exp-block--dark .exp-ct-item--ohours .exp-oh-table, .exp-ct-items--strip .exp-ct-item--ohours .exp-oh-table { color: var(--ct-value, #fff); }
.exp-ct-items--cards .exp-ct-item--ohours .exp-oh-table, .exp-ct-items--cards .exp-ct-item--ohours .exp-oh-head { margin-left: auto; margin-right: auto; width: auto; }
.exp-ct-items--cards .exp-ct-item--ohours .exp-oh-head { justify-content: center; }
.exp-ct-items--strip .exp-ct-item--ohours .exp-oh-table tr.is-today th, .exp-ct-items--strip .exp-ct-item--ohours .exp-oh-table tr.is-today td { color: var(--oh-today, #fff) !important; text-decoration: underline; text-underline-offset: 3px; }
.exp-oh-line { margin: 0; line-height: 1.7; }
.exp-oh-i.is-today b, .exp-oh-i.is-today { color: var(--oh-today, var(--oh-accent)) !important; }
.exp-oh-note { margin: 8px 0 0; font-size: 13.5px; opacity: .75; }
.exp-oh[style*="--oh-note"] .exp-oh-note { color: var(--oh-note); opacity: 1; }
.exp-oh--status .exp-oh-now { font-size: 14px; }

/* ---------- Mapa s vlastní značkou (core/scripts/exp-ct-map.php, js/exp-ct-map.js) ---------- */
.exp-ct-map--live { background: #e8ecef; }
.exp-ct-map--live { position: relative; }
.exp-ct-map-canvas, .exp-ct-map-canvas.maplibregl-map { position: absolute !important; inset: 0; width: 100%; height: 100%; }
.exp-ct-map--s-gray .maplibregl-canvas { filter: grayscale(1) contrast(1.02); }
.exp-ct-map--s-dark { background: #1f2329; }
.exp-ct-map .maplibregl-ctrl-group { border-radius: 10px; box-shadow: 0 4px 14px rgba(0, 0, 0, .15); }
.exp-mk { display: flex; flex-direction: column; align-items: center; color: var(--mk, var(--exp-primary,#5000A0)); cursor: pointer; filter: drop-shadow(0 4px 6px rgba(0, 0, 0, .28)); --mk-iy: .4625; }
.exp-mk-l { position: relative; margin: 0 0 7px; padding: 5px 11px; border-radius: 7px; background: var(--mk, var(--exp-primary,#5000A0)); color: var(--mk-fg, #fff); font: 600 12.5px/1.3 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; white-space: nowrap; }
.exp-mk-l::after { content: ""; position: absolute; left: 50%; bottom: -5px; width: 10px; height: 10px; background: inherit; transform: translateX(-50%) rotate(45deg); border-radius: 0 0 2px 0; }
.exp-mk-b { position: relative; display: block; width: var(--mk-s, 46px); height: calc(var(--mk-s, 46px) * 1.2); transition: transform .2s; transform-origin: 50% 100%; }
.exp-mk:hover .exp-mk-b { transform: scale(1.06); }
.exp-mk-b svg { display: block; width: 100%; height: 100%; }
.exp-mk-in { position: absolute; left: 50%; top: calc(var(--mk-s, 46px) * var(--mk-iy)); display: flex; align-items: center; justify-content: center; width: calc(var(--mk-s, 46px) * .58); height: calc(var(--mk-s, 46px) * .58); transform: translate(-50%, -50%); color: var(--mk-fg, #fff); }
.exp-mk-in--d::before { content: ""; width: 42%; height: 42%; border-radius: 50%; background: currentColor; }
.exp-mk-in--t { font: 800 calc(var(--mk-s, 46px) * .36)/1 Georgia, "Times New Roman", serif; letter-spacing: -.02em; }
.exp-mk-in--i { overflow: hidden; border-radius: 50%; background: #fff; }
.exp-mk-in--i img { display: block; width: 84% !important; height: 84% !important; max-width: none !important; margin: 0 !important; object-fit: contain; border-radius: 0 !important; }
.exp-mk--circle, .exp-mk--bubble { --mk-iy: .475; }
.exp-mk--bubble .exp-mk-in--i { border-radius: 8px; }
.exp-mk--dot .exp-mk-b { height: var(--mk-s, 46px); margin-bottom: calc(var(--mk-s, 46px) * -.5); }
.exp-mk--drop { --mk-iy: .46; }
.exp-mk--img .exp-mk-b { height: auto; }
.exp-mk--img img { display: block; width: var(--mk-s, 46px) !important; height: auto !important; max-width: none !important; margin: 0 !important; }
.exp-ct-pop { display: flex; flex-direction: column; gap: 6px; min-width: 160px; font: 14px/1.4 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: #1d2327; }
.exp-ct-pop a { color: var(--blk-accent, var(--exp-primary,#5000A0)); font-weight: 600; text-decoration: none; }
.exp-ct-map .maplibregl-popup-content { padding: 12px 14px; border-radius: 12px; box-shadow: 0 10px 30px rgba(0, 0, 0, .18); }

/* ---------- Vlastní sestavení kontaktů (core/scripts/exp-ct-builder.php) ---------- */
.exp-ctb-row { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 30px; align-items: stretch; }
.exp-ctb-row + .exp-ctb-row, .container + .exp-ctb-row, .exp-ctb-row + .container, .exp-block-head + .exp-ctb-row { margin-top: 40px; }
.exp-ctb-row.is-full { gap: 0; }
.exp-ctb-row.is-full .exp-ct-map { border-radius: 0; }
.exp-ctb-col { grid-column: span var(--w, 6); display: flex; flex-direction: column; gap: 26px; min-width: 0; }
.exp-ctb-col.is-v-center { justify-content: center; }
.exp-ctb-col.is-v-bottom { justify-content: flex-end; }
.exp-ctb-col.is-card { padding: 32px; border-radius: var(--ct-radius); background: var(--ct-card, #fff); border: 1px solid rgba(0, 0, 0, .06); box-shadow: 0 10px 30px rgba(17, 24, 39, .06); color: #2f3337; }
.exp-ctb-col.is-accent { padding: 32px; border-radius: var(--ct-radius); background: var(--blk-accent, var(--exp-primary,#5000A0)); color: #fff; --ct-value: #fff; --ct-label: rgba(255, 255, 255, .75); --ct-icon: #fff; --ct-icon-bg: rgba(255, 255, 255, .15); --oh-accent: #fff; }
.exp-ctb-col.is-accent a { color: inherit; }
.exp-ctb-col.is-card .exp-ct-form, .exp-ctb-col.is-accent .exp-ct-form { padding: 0; border: 0; box-shadow: none; background: none; }
.exp-ctb-col.is-accent .exp-ct-form-title, .exp-ctb-col.is-accent .exp-ctb-h { color: #fff; }
.exp-ctb-blk { min-width: 0; }
.exp-ctb-blk--map { flex: 1 1 auto; display: flex; flex-direction: column; }
.exp-ctb-blk--map .exp-ct-map { flex: 1 1 auto; min-height: var(--map-h, 420px); }
.exp-ctb-title { margin: 0 0 16px; font-size: 20px; font-weight: 700; }
.exp-ctb-head.is-center, .exp-ctb-text.is-center, .exp-ctb-btn-w.is-center, .exp-ctb-social.is-center { text-align: center; }
.exp-ctb-head.is-right, .exp-ctb-text.is-right, .exp-ctb-btn-w.is-right, .exp-ctb-social.is-right { text-align: right; }
.exp-ctb-social.is-center > * { justify-content: center; }
.exp-ctb-social.is-right > * { justify-content: flex-end; }
.exp-ctb-h { margin: 0; line-height: 1.2; }
.exp-ctb-sub { margin: 8px 0 0; opacity: .75; }
.exp-ctb-text p:last-child { margin-bottom: 0; }
.exp-ctb-btn-w { margin: 0; }
.exp-ctb-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 28px; border: 2px solid var(--blk-accent, var(--exp-primary,#5000A0)); border-radius: 999px; background: var(--blk-accent, var(--exp-primary,#5000A0)); color: #fff !important; font-weight: 600; text-decoration: none !important; transition: transform .2s, filter .2s; }
.exp-ctb-btn:hover { transform: translateY(-2px); filter: brightness(1.08); }
.exp-ctb-btn.is-outline { background: transparent; color: var(--blk-accent, var(--exp-primary,#5000A0)) !important; }
.exp-ctb-btn.is-link { min-height: 0; padding: 0; border: 0; background: none; color: var(--blk-accent, var(--exp-primary,#5000A0)) !important; }
.exp-ctb-col.is-accent .exp-ctb-btn { border-color: #fff; background: #fff; color: var(--blk-accent, var(--exp-primary,#5000A0)) !important; }
.exp-ctb-img { display: block; width: 100%; height: auto; border-radius: var(--ct-radius); object-fit: cover; }
.exp-ctb-img-ph { display: flex; align-items: center; justify-content: center; height: 180px; border: 2px dashed rgba(127, 127, 127, .35); border-radius: var(--ct-radius); color: #8c8f94; }
.exp-ctb-sp.has-line { display: flex; align-items: center; }
.exp-ctb-sp.has-line::before { content: ""; flex: 1; height: 1px; background: rgba(127, 127, 127, .3); }
.exp-ctb-hint { margin: 0; padding: 12px 14px; border: 1px dashed #dba617; border-radius: 10px; background: #fcf9e8; color: #7a5a00; font-size: 13px; }
@media (max-width: 991px) {
	.exp-ctb-row { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.exp-ctb-col { grid-column: auto; }
	.exp-ctb-col.is-card, .exp-ctb-col.is-accent { padding: 22px; }
}
@media (max-width: 767px) {
	.exp-ctb-hide-m { display: none !important; }
	.exp-ctb-blk--map .exp-ct-map { min-height: var(--map-h-m, 320px); }
}
/* Patička / widgety přebarvují span a b (!important) - štítek a nadpis otevírací doby si drží své barvy. */
.exp-oh .exp-oh-now b, .exp-oh .exp-oh-now span { color: inherit !important; }
.exp-oh[style*="--oh-title"] .exp-oh-title { color: var(--oh-title) !important; }

/* ---------- Prvek builderu „Kontaktní údaje“ (volby a barvy) ---------- */
.exp-ct-items--bl { gap: var(--ct-gap, 18px); }
.exp-ct-items--bl.exp-ct-items--cards, .exp-ct-items--bl.exp-ct-items--row, .exp-ct-items--bl.exp-ct-items--strip { gap: var(--ct-gap, 20px); }
.exp-ct-items--bl.has-cols { display: grid; grid-template-columns: repeat(var(--ct-cols), minmax(0, 1fr)); }
@media (max-width: 991px) { .exp-ct-items--bl.has-cols { grid-template-columns: repeat(min(var(--ct-cols), 2), minmax(0, 1fr)); } }
@media (max-width: 767px) { .exp-ct-items--bl.has-cols { grid-template-columns: minmax(0, 1fr); } }
.exp-ct-items--bl .exp-ct-icon { width: calc(var(--ct-ic, 20px) * 2.5); height: calc(var(--ct-ic, 20px) * 2.5); font-size: var(--ct-ic, 20px); }
.exp-ct-items--bl .exp-ct-value { font-size: var(--ct-fs, 17px); }
.exp-ct-items--bl .exp-ct-value a:hover { color: var(--ct-hover, var(--blk-accent, var(--exp-primary,#5000A0))); }
.exp-ct-items--bl .exp-ct-note { color: var(--ct-note, #5f646b); }
.exp-ct-items--bl.exp-ct-items--cards .exp-ct-item { border-color: var(--ct-border, rgba(0, 0, 0, .06)); }
.exp-ct-items--bl.exp-ct-items--strip { background: var(--ct-card, var(--blk-accent, var(--exp-primary,#5000A0))); }
.exp-ct-items--bl.exp-ct-items--strip .exp-ct-value { color: var(--ct-value, #fff); }
.exp-ct-items--bl.exp-ct-items--strip .exp-ct-label { color: var(--ct-label, rgba(255, 255, 255, .75)); }
.exp-ct-items--bl.exp-ct-items--strip .exp-ct-note { color: var(--ct-note, rgba(255, 255, 255, .75)); }
.exp-ct-items--bl.exp-ct-items--strip .exp-ct-icon { background: var(--ct-icon-bg, rgba(255, 255, 255, .16)); color: var(--ct-icon, #fff); }
/* Jen ikona (bez podkladu) */
.exp-ct-items--ic-plain .exp-ct-icon { width: auto !important; height: auto !important; min-width: 1.4em; padding-top: 4px; background: none !important; border-radius: 0 !important; }
.exp-ct-items--ic-plain.exp-ct-items--cards .exp-ct-icon { padding-top: 0; }
.exp-ct-items--ic-none .exp-ct-text { padding-top: 0; }
/* Patička a widgety: barvy textů podle patičky (ne tmavé výchozí) */
.exp_footer_widget_area .exp-ct-item--ohours .exp-oh-table, .widget .exp-ct-item--ohours .exp-oh-table { color: var(--ct-value, inherit); }
.exp_footer_widget_area .exp-ct-items:not(.exp-ct-items--cards) .exp-ct-value, .exp_footer_widget_area .exp-ct-items:not(.exp-ct-items--cards) .exp-ct-label { color: var(--ct-value, inherit); }
.exp_footer_widget_area .exp-ct-items:not(.exp-ct-items--cards) .exp-ct-label { color: var(--ct-label, inherit); opacity: .75; }
.exp_footer_widget_area .exp-ct-items[style*="--ct-label"]:not(.exp-ct-items--cards) .exp-ct-label { opacity: 1; }
/* Patička přebarvuje span (!important) - nastavené barvy prvku mají přednost */
.exp-ct-items--bl[style*="--ct-value"] .exp-ct-value, .exp-ct-items--bl[style*="--ct-value"] .exp-ct-value a { color: var(--ct-value) !important; }
.exp-ct-items--bl[style*="--ct-label"] .exp-ct-label { color: var(--ct-label) !important; }
.exp-ct-items--bl[style*="--ct-note"] .exp-ct-note { color: var(--ct-note) !important; }
.exp-ct-items--bl[style*="--ct-icon:"] .exp-ct-icon, .exp-ct-items--bl[style*="--ct-icon:"] .exp-ct-icon * { color: var(--ct-icon) !important; }
.exp-ct-items--bl[style*="--ct-hover"] .exp-ct-value a:hover { color: var(--ct-hover) !important; }
.exp-ct-items--bl.exp-ct-items--cards .exp-ct-icon { width: calc(var(--ct-ic, 22px) * 2.7); height: calc(var(--ct-ic, 22px) * 2.7); font-size: var(--ct-ic, 22px); }
/* Tučnost písma (prvek builderu) */
.exp-ct-items--bl .exp-ct-value { font-weight: var(--ct-fw, 600); }
.exp-ct-items--bl .exp-ct-label { font-weight: var(--ct-lw, 600); }
.exp-ct-items--bl .exp-oh-table td, .exp-ct-items--bl .exp-oh-i { font-weight: var(--ct-ohw, 600); }
.exp-ct-items--bl .exp-oh-table th, .exp-ct-items--bl .exp-oh-i b { font-weight: var(--ct-ohdw, 500); }
.exp-ct-items--bl[style*="--ct-ohw"] .exp-oh-table tr.is-today td { font-weight: var(--ct-ohw); }
.exp-ct-items--bl[style*="--ct-ohdw"] .exp-oh-table tr.is-today th { font-weight: var(--ct-ohdw); }
/* Zarovnání a velikost popisků (prvek builderu, i zvlášť pro tablet / mobil) */
.exp-ct-items--bl .exp-ct-label { font-size: var(--ct-lfs, 13px); }
.exp-ct-items--bl { text-align: var(--ct-al, inherit); }
.exp-ct-items--bl.exp-ct-items--list { align-items: stretch; }
.exp-ct-items--bl .exp-ct-item { justify-content: var(--ct-al, normal); }
.exp-ct-items--bl:is(.exp-ct-items--row, .exp-ct-items--strip) { justify-content: var(--ct-al, center); }
.exp-ct-items--bl .exp-oh-head { justify-content: var(--ct-al, space-between); }
