/* TIPIDI redesign 2026 – doplňky ke vzhledu návrhu v3 (tipidi-v3.css je generovaný z návrhu a needituje se).
   Zde: písmo, napojení Bootstrapu, prvky skutečného obchodu, které prototyp nemá (filtr nad skutečným formulářem,
   cenový posuvník, AJAX stavy, fallbacky médií, recenze, lightbox jako dialog, košík, pokladna, účet) a pohyb.
   Oddíly: 1 písmo a základ, 2 hlavička, 3 výpisy a filtry, 4 detail, 5 homepage, 6 článek, 7 patička,
   8 košík, pokladna, účet a modaly Bootstrapu, 9 pohyb, 10 responzivita. */

/* ---------- 1. Písmo a základ ---------- */
@font-face { font-family: 'Google Sans Flex'; font-style: normal; font-weight: 1 1000; font-display: swap; src: url(../../fonts/google-sans-flex-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Google Sans Flex'; font-style: normal; font-weight: 1 1000; font-display: swap; src: url(../../fonts/google-sans-flex-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* původní LESS odkazuje na Jost a Inter; oba názvy vedou na stejné písmo (Google Fonts se nenačítá) */
@font-face { font-family: 'Jost'; font-weight: 1 1000; font-display: swap; src: url(../../fonts/google-sans-flex-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+20A0-20AB, U+20AD-20C4; }
@font-face { font-family: 'Jost'; font-weight: 1 1000; font-display: swap; src: url(../../fonts/google-sans-flex-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2122, U+2212; }
@font-face { font-family: 'Inter'; font-weight: 1 1000; font-display: swap; src: url(../../fonts/google-sans-flex-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+20A0-20AB, U+20AD-20C4; }
@font-face { font-family: 'Inter'; font-weight: 1 1000; font-display: swap; src: url(../../fonts/google-sans-flex-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2122, U+2212; }

:root {
	--bs-border-radius: 5px; --bs-border-radius-sm: 5px; --bs-border-radius-lg: 5px; --bs-border-radius-xl: 5px; --bs-border-radius-xxl: 5px;
	--bs-body-font-family: var(--t-font); --bs-font-sans-serif: var(--t-font); --bs-body-color: var(--t-ink-text);
	--bs-link-color-rgb: 61, 26, 71; --bs-link-hover-color-rgb: 42, 16, 49;
}
body { font-family: var(--t-font); color: var(--t-fg); background: var(--t-bg); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.t-ui { font-size: var(--t-fs-body); line-height: 1.6; color: var(--t-fg); }
.t-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.t-main-anchor { position: relative; height: 0; outline: 0; }
.t-skip:focus { color: var(--t-white); }
:where(.t-ui) h1, :where(.t-ui) h2, :where(.t-ui) h3, :where(.t-ui) h4 { font-family: var(--t-font); }
:where(.t-ui) button { border-radius: var(--t-radius); }
:where(.t-ui) label { margin: 0; }
:where(.t-ui) dt { font-weight: inherit; }  /* Bootstrap dává dt tučné písmo; návrh ne */
/* dialog, který sám nese .t-ui (mini košík v hlavičce): reset výchozích stylů prohlížeče jako :where(.t-ui) dialog */
/* pokladna má podle návrhu bílé pozadí (starý style.css dává body.is-checkout-mode #f6f4f2) */
body.is-checkout-mode { background: var(--t-white); }
/* Kroky pokladny jsou zabalené (section[data-co-step] > [data-panel]); mezery jako přímí potomci .t-co__main v návrhu */
.t-page--co [data-co-step]:not([hidden]), .t-page--co [data-co-step] > [data-panel], .t-coform { display: grid; gap: 2rem; min-width: 0; }
.t-page--co [data-co-step] > :empty { display: none; }
@media (max-width: 640px) { .t-page--co [data-co-step]:not([hidden]), .t-page--co [data-co-step] > [data-panel], .t-coform { gap: 1.5rem; } }
dialog.t-ui { padding: 0; border: 0; color: inherit; max-width: none; max-height: none; background: var(--t-white); }
:where(.t-ui) a:hover { color: inherit; }
.t-icon.is-on { fill: currentColor; }
.t-input { width: 100%; min-height: var(--t-control); padding: .625rem .875rem; border: 1px solid var(--t-line-control); border-radius: var(--t-radius); background: var(--t-white); font: inherit; color: var(--t-fg); }
/* formulář recenze na detailu (label.t-field > span); pole pokladny podle návrhu (.t-field.form-group) mají vlastní pravidla */
.t-field { display: grid; gap: .375rem; font-size: var(--t-fs-small); }
.t-field:not(.form-group) { margin-bottom: 1rem; }
.t-field > span:not([class]) { font-weight: 500; color: var(--t-fg-strong); }
.t-field small { color: var(--t-fg-muted); }
.t-section--first { padding-top: var(--t-section) !important; }
html.is-locked, html.t-locked { overflow: hidden; }

/* ---------- 2. Hlavička ---------- */
.t-chrome { position: relative; z-index: 40; }
.t-topbar .t-country-dd { display: flex; }
.t-topbar .t-country { display: inline-flex; align-items: center; gap: .4em; min-height: 2.5rem; margin-left: .625rem; padding: 0 .625rem 0 1.125rem; border: 0; border-left: 1px solid rgba(255, 255, 255, .24); border-radius: 0; background: none; color: var(--t-white); font-size: inherit; white-space: nowrap; }
.t-topbar .t-country:hover { text-decoration: underline; text-underline-offset: .25em; }
.t-topbar .t-country .t-icon { width: 1rem; height: 1rem; }
.t-topbar .t-country .t-icon:last-child { width: .75em; height: .75em; }
.t-country__menu { min-width: 16rem; max-height: min(70vh, 32rem); overflow-y: auto; padding: .375rem; border: 1px solid var(--t-line); border-radius: var(--t-radius); box-shadow: 0 24px 48px -24px rgba(var(--t-shadow-rgb), .4); font-size: var(--t-fs-small); }
.t-country__menu .dropdown-item { display: flex; align-items: center; gap: .625rem; min-height: 2.75rem; padding: .375rem .75rem; border-radius: var(--t-radius); color: var(--t-fg); white-space: normal; }
.t-country__menu .dropdown-item:hover, .t-country__menu .dropdown-item:focus { background: var(--t-plum-wash); color: var(--t-plum); }
.t-country__menu .dropdown-item.is-current { font-weight: 560; }
.t-country__status { margin-left: auto; font-size: .75rem; color: var(--t-fg-muted); }
.t-country__delivery { text-align: left; }
.t-country__delivery small { display: block; color: var(--t-fg-muted); }
.t-util-dd { display: flex; }
.t-account-menu { min-width: 14rem; padding: .375rem; border: 1px solid var(--t-line); border-radius: var(--t-radius); box-shadow: 0 24px 48px -24px rgba(var(--t-shadow-rgb), .4); font-size: var(--t-fs-small); }
.t-account-menu .dropdown-item { min-height: 2.75rem; display: flex; align-items: center; border-radius: var(--t-radius); }
.t-account-menu .dropdown-item:hover { background: var(--t-plum-wash); color: var(--t-plum); }
.t-account-menu__head { padding: .5rem .75rem .25rem; font-size: var(--t-fs-label); letter-spacing: .14em; text-transform: uppercase; color: var(--t-fg-muted); }
.t-util.dropdown-toggle::after { display: none; }
.t-util:hover { color: var(--t-plum); }
.t-util__n[hidden] { display: none; }
.t-suggest[hidden] { display: none; }
.t-suggest--single { grid-template-columns: minmax(0, 1fr); }
.t-suggest__item b { color: var(--t-fg-strong); }
.t-suggest__item span b { font-weight: 560; }
.t-search--inline { max-width: 26rem; justify-self: start; }
.t-mega__note { font-size: var(--t-fs-small); max-width: 20rem; }
.t-mega h3 a { color: inherit; text-decoration: none; }
.t-mega__panel .t-logo-cell img { position: absolute; inset: 22% 18%; width: 64%; height: 56%; object-fit: contain; mix-blend-mode: multiply; }
.t-menu-sub__all { grid-column: 1 / -1; font-weight: 520 !important; }
.t-menu-list > li > a, .t-menu-list > li > button { color: var(--t-fg-strong); }
.t-menu-list button[aria-expanded="true"] .t-icon { transform: rotate(180deg); }
.t-menu-list .t-icon { transition: transform var(--t-dur-menu) var(--t-ease); }
.t-menu-sub--markets { grid-template-columns: 1fr; }
.t-menu-meta .t-icon { width: 1.125rem; height: 1.125rem; color: var(--t-plum); }
/* pokladna: logo vlevo, kontaktní odkazy vpravo */
.t-header--checkout .t-header__main { grid-template-columns: auto minmax(0, 1fr); min-height: 4.5rem; }
.t-header--checkout { border-bottom: 1px solid var(--t-line); }
.t-checkout-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: .5rem 1.5rem; font-size: var(--t-fs-small); }
.t-checkout-actions a, .t-checkout-actions span { display: inline-flex; align-items: center; gap: .4rem; min-height: 2.75rem; color: var(--t-fg); text-decoration: none; }
.t-checkout-actions a:hover { color: var(--t-plum); text-decoration: underline; }
.t-checkout-actions .t-icon { width: 1.125rem; height: 1.125rem; color: var(--t-plum); }

/* ---------- 3. Výpisy a filtry ---------- */
.t-cat-gap { height: 1.25rem; }
.t-cat-hero__more--toggle[hidden] { display: none; }
/* značka bez vlastní fotografie: logo na bílé ploše (záměrný fallback, evidovaný v dokumentaci) */
.t-cat-hero__media--logo { display: grid; place-items: center; background: var(--t-white); }
.t-cat-hero__media--logo .t-cat-hero__logo { position: static; width: min(18rem, 62%); height: auto; aspect-ratio: 2 / 1; padding: 0; background: transparent; }
.t-cat-hero--logo { background: var(--t-plum); }
/* karta: skutečné fotografie jsou čtvercové náhledy s bílým okrajem */
.t-p--photo .t-p__img { max-height: 100%; max-width: 100%; }
.t-p__old { font-size: .8125rem; color: var(--t-fg-muted); }
.t-p__unit { font-size: .75rem; line-height: 1.35; color: var(--t-fg-muted); }
.t-p__wish .t-sr { position: absolute; }
.t-p__wish.is-active .t-icon, .t-p__wish[aria-pressed="true"] .t-icon, .t-iconbtn.wishlist-button[aria-pressed="true"] .t-icon { fill: currentColor; color: var(--t-plum); }
.t-products > li.t-aid { list-style: none; }
.t-fbar .tipidi-filter, .t-fbar .t-filter__form, .t-fbar > #column-left, .t-fbar > aside { display: contents; }
.t-fbar__count--always { display: inline !important; }
[data-tipidi-filter-anchor] { display: none; }   /* značka místa, kam se formulář vrací z panelu Filtry */
.t-check > span { margin: 0; padding: 0; color: inherit; font-size: inherit; }
.t-check > small { margin-left: auto; padding-left: .5rem; font-size: .8125rem; color: var(--t-fg-muted); }
.t-check.is-hidden { display: none; }
.t-check.is-muted { opacity: .45; cursor: default; }
.t-fpop__body .t-flist { padding: 0; margin: 0; }
.t-fpop__foot [data-fapply]:empty { display: none; }
/* cenový rozsah: dvě skutečná pole a dvojitý posuvník nad stejnými hodnotami */
.t-range { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
.t-range__dash { padding-top: 1.25rem; }
.t-range input[type="number"] { -moz-appearance: textfield; }
.t-range input[type="number"]::-webkit-outer-spin-button, .t-range input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.t-range__track { height: 2px; margin: 1.25rem .625rem .875rem; }
.t-range__track::before { left: var(--tipidi-range-left, 0%); right: var(--tipidi-range-right, 0%); }
.t-range__track input[type="range"] { position: absolute; left: -.625rem; right: -.625rem; top: 50%; width: calc(100% + 1.25rem); height: 1.25rem; margin: -.625rem 0 0; padding: 0; border: 0; background: none; -webkit-appearance: none; appearance: none; pointer-events: none; }
.t-range__track input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 1.25rem; height: 1.25rem; border-radius: 50%; background: var(--t-white); border: 2px solid var(--t-plum); pointer-events: auto; cursor: pointer; }
.t-range__track input[type="range"]::-moz-range-thumb { width: 1.25rem; height: 1.25rem; border-radius: 50%; background: var(--t-white); border: 2px solid var(--t-plum); pointer-events: auto; cursor: pointer; }
.t-range__track input[type="range"]::-moz-range-track { background: none; }
.t-range__track input[type="range"]:focus-visible::-webkit-slider-thumb { outline: 2px solid var(--t-focus); outline-offset: 2px; }
/* aktivní filtry: čipy vykresluje tipidi_filter.js */
.t-active-filters:has(> [data-tipidi-active-filters][hidden]) { display: none; }
.t-active-filters__list, .t-empty__chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.t-empty__chips[hidden], .t-active-filters__list[hidden] { display: none; }
.listing-filter-chip { cursor: pointer; }
.listing-filter-chip__close { display: inline-grid; }
.listing-filter-chip:hover { border-color: var(--t-black); }
/* načítání po změně filtru a stránkování */
.t-listing.is-filtering .t-products, .t-listing.is-filtering .t-pager { opacity: .45; pointer-events: none; transition: opacity var(--t-dur) var(--t-ease); }
.t-listing.is-filtering .t-fbar { cursor: progress; }
.t-filter.is-loading .t-fpop__foot [data-fapply] { opacity: .6; }
.t-pager__bar::after { width: var(--t-progress, 9.4%); transition: width var(--t-dur-slow) var(--t-ease); }
.t-pager.is-loading [data-load-more] { opacity: .6; pointer-events: none; }
.t-pager__legacy .pagination { display: flex; gap: .25rem; margin: 0; padding: 0; list-style: none; }
.t-pager__legacy .page-link { display: grid; place-items: center; min-width: var(--t-control-sm); height: var(--t-control-sm); border: 0; border-radius: var(--t-radius); color: var(--t-fg-strong); }
.t-pager__legacy .active > .page-link { background: var(--t-black); color: var(--t-white); }
.t-results-head .t-count { margin-left: .5em; }
.t-section--module .t-head--row { margin-bottom: clamp(1.25rem, 2.5vw, 2rem); }
/* panel Filtry (tablet, mobil): tentýž formulář jako řádek, skupiny pod sebou */
.t-drawer .tipidi-filter { display: block; }
.t-drawer .t-fitem { border-bottom: 1px solid var(--t-line); padding-block: .25rem; }
.t-drawer .t-fitem:has(.t-fpop.is-open) { padding-bottom: 1rem; }
.t-drawer .t-fbtn { display: flex; width: 100%; justify-content: space-between; min-height: 3.25rem; padding: 0; border: 0; background: none; font-size: 1rem; font-weight: var(--t-w-strong); }
.t-drawer .t-fbtn:hover, .t-drawer .t-fbtn[aria-expanded="true"] { background: none; }
.t-drawer .t-fbtn > span:first-child { margin-right: auto; }
.t-drawer .t-fbtn .t-icon { width: 1rem; height: 1rem; margin-left: .75rem; }
.t-drawer .t-fpop { position: static; display: none; width: auto; max-height: none; border: 0; box-shadow: none; visibility: visible; opacity: 1; transform: none; transition: none; }
.t-drawer .t-fpop.is-open { display: block; }
.t-drawer .t-fpop__head, .t-drawer .t-fpop__foot { display: none; }
/* Jen skladem: v řádku filtrů za skupinami (v3), v panelu Filtry poslední řádek */
.t-fbar .t-fstock { display: contents; }
.t-switch { cursor: pointer; }
.t-switch small { color: var(--t-muted); font-size: var(--t-fs-xs, .75rem); font-weight: 400; font-variant-numeric: tabular-nums; }
.t-switch:focus-visible { outline: 2px solid var(--t-plum); outline-offset: 2px; border-radius: var(--t-radius); }
.t-drawer .t-fstock { display: block; padding-block: .75rem; }
.t-drawer .t-fstock .t-switch { display: inline-flex; padding: 0; font-size: 1rem; }
.t-drawer .t-fsearch { margin: 0 0 .5rem; }
.t-drawer .t-fpop__body { padding: 0; overflow: visible; }
.t-drawer .t-fpop--wide .t-flist { columns: 2; column-gap: 1rem; }
.t-drawer:not(.t-minicart) .t-drawer__foot .t-btn { width: 100%; }
.t-drawer:not(.t-minicart) .t-drawer__foot a.t-btn:not(.t-btn--primary) { color: var(--t-fg-strong); text-decoration: none; }

/* ---------- 4. Detail ---------- */
.t-pd__main { display: flex; align-items: flex-end; justify-content: center; width: 100%; height: 100%; cursor: zoom-in; }
.t-pd__stage img { max-height: 100%; }
.t-pd__zoom { border: 1px solid var(--t-line); cursor: zoom-in; }
.t-pd__zoom:hover { border-color: var(--t-black); color: var(--t-fg-strong); }
.t-pd__video { position: absolute; right: .5rem; bottom: .5rem; display: inline-flex; align-items: center; gap: .4rem; min-height: 2.25rem; padding: 0 .75rem; border: 1px solid var(--t-line); border-radius: var(--t-radius); background: var(--t-white); font-size: .8125rem; color: var(--t-fg-strong); }
.t-pd__video .t-icon { width: 1rem; height: 1rem; }
.t-pd__thumbs { flex-wrap: wrap; padding: 0; }
.t-pd__thumb[aria-pressed="true"] { border-color: var(--t-black); }
.t-pd__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 2.75rem; }
.t-pd__share { display: flex; gap: .375rem; }
.t-pd__rating { display: inline-flex; align-items: center; gap: .5rem; font-size: var(--t-fs-small); color: var(--t-fg-muted); text-decoration: none; justify-self: start; margin-top: -.5rem; }
.t-pd__rating .t-icon { width: 1rem; height: 1rem; color: var(--t-plum); }
.t-pd__tags { padding: 0; }
.t-pd__price s { font-size: 1rem; color: var(--t-fg-muted); }
.t-pd__price-label { flex-basis: 100%; font-size: var(--t-fs-label); letter-spacing: .14em; text-transform: uppercase; color: var(--t-fg-muted); }
.t-pd__lowest, .t-pd__min { margin-top: -.5rem; font-size: .8125rem; color: var(--t-fg-muted); }
.t-pd__avail.is-out b { color: var(--t-out); }
.t-pd__options { display: grid; gap: .75rem; }
.t-opt > label, .t-opt > span:first-child { min-width: 3.5rem; }
.t-opt .t-select { min-width: 12rem; }
.t-opt__item { position: relative; cursor: pointer; }
.t-opt__item input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.t-opt__item:has(input:checked), .t-opt__item[aria-current="true"] { border-color: var(--t-fg-strong); color: var(--t-fg-strong); font-weight: 500; }
.t-opt__item:has(input:checked) .t-icon, .t-opt__item[aria-current="true"] .t-icon { display: block; }
.t-opt__item:has(input:focus-visible) { outline: 2px solid var(--t-focus); outline-offset: 2px; }
.t-opt.has-error .t-opt__list, .t-opt.has-error .t-select { outline: 2px solid var(--t-out); outline-offset: 2px; }
.t-opt .text-danger { flex-basis: 100%; font-size: .8125rem; color: var(--t-out); }
.t-qty input { width: 2rem; height: 100%; padding: 0; border: 0; background: none; text-align: center; font-weight: var(--t-w-strong); -moz-appearance: textfield; }
.t-qty input::-webkit-outer-spin-button, .t-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.t-pd__buy--out { grid-template-columns: minmax(0, 1fr) auto; }
.t-pd__buy .t-btn--lg.is-loading { opacity: .7; }
.t-pd__discounts { display: grid; gap: .25rem; font-size: var(--t-fs-small); color: var(--t-fg-muted); }
.t-pd__usp a { margin-left: .25rem; }
.t-anchors a.is-active { color: var(--t-plum); box-shadow: inset 0 -2px 0 var(--t-plum); }
.t-notes--plain { grid-template-columns: minmax(0, 1fr); max-width: 52rem; }
.t-prose h2 { font-size: var(--t-fs-h2); line-height: 1.12; }
.t-prose h3 { margin-top: .5rem; font-size: var(--t-fs-h3); line-height: 1.2; }
.t-prose ul, .t-prose ol { display: grid; gap: .375rem; padding-left: 1.25rem; list-style: disc; }
.t-prose ol { list-style: decimal; }
.t-prose strong, .t-prose b { font-weight: var(--t-w-strong); color: var(--t-fg-strong); }
.t-report { border-top: 1px solid var(--t-line); }
.t-report > * { margin: 0; }
.t-report-line { display: flex; flex-wrap: wrap; align-items: center; gap: 0 .4rem; font-size: var(--t-fs-small); color: var(--t-fg-muted); }
.t-report-line .t-linkbtn { padding: 0; min-height: 2.75rem; }
.t-cat-hero__logo { padding: .375rem; }
.t-cat-hero__logo img { object-fit: contain; }
.t-specs__title { margin-bottom: .875rem; }
.t-specs dd { overflow-wrap: anywhere; }
.t-pd__tagcloud { display: flex; flex-wrap: wrap; align-items: center; gap: .375rem; margin-top: 1.25rem; font-size: var(--t-fs-small); color: var(--t-fg-muted); }
.t-pd__tagcloud > span { margin-right: .375rem; }
.t-pd__tagcloud .t-chip { min-height: 2.25rem; padding: 0 .75rem; font-size: .8125rem; }
.t-mood img { display: block; }
.t-reviews h2 .t-count { margin-left: .4em; }
.t-reviews__list { display: grid; gap: 1rem; margin-top: 1.5rem; }
.t-reviews__list table, .t-reviews__list .review-item, .t-reviews__list > div > div { border-radius: var(--t-radius); }
.t-reviews__list .pagination { display: flex; gap: .25rem; list-style: none; padding: 0; }
.t-reviews__form { max-width: 40rem; margin-top: 1.5rem; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--t-line); border-radius: var(--t-radius); }
.t-reviews__form h3 { margin-bottom: 1rem; }
.t-rating-input { display: inline-flex; flex-direction: row-reverse; gap: .125rem; }
.t-rating-input input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.t-rating-input label { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; color: var(--t-line-strong); cursor: pointer; }
.t-rating-input label .t-icon { width: 1.5rem; height: 1.5rem; }
.t-rating-input input:checked ~ label, .t-rating-input label:hover, .t-rating-input label:hover ~ label { color: var(--t-plum); }
.t-rating-input input:checked ~ label .t-icon, .t-rating-input label:hover .t-icon, .t-rating-input label:hover ~ label .t-icon { fill: currentColor; }
.t-rating-input input:focus-visible + label { outline: 2px solid var(--t-focus); outline-offset: 2px; }
.t-modal__rich { font-size: .9375rem; line-height: 1.6; }
.t-modal__rich h2, .t-modal__rich h3, .t-modal__rich h4, .t-modal__rich strong { font-size: var(--t-fs-small); font-weight: var(--t-w-strong); letter-spacing: 0; color: var(--t-fg-strong); }
.t-modal__rich h2, .t-modal__rich h3, .t-modal__rich h4 { margin: .875rem 0 .25rem; }
.t-modal__rich ul { display: grid; gap: .25rem; padding-left: 1.125rem; list-style: disc; }
.t-modal__rich p + p { margin-top: .5rem; }
/* lightbox galerie (nativní dialog) */
dialog.t-lightbox:not([open]) { display: none; }
dialog.t-lightbox { width: auto; height: auto; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; }
dialog.t-lightbox::backdrop { background: var(--t-scrim); }
.t-lightbox__head > span { color: var(--t-fg-muted); }
.t-lightbox__stage .t-iconbtn[hidden] { display: none; }
.t-lightbox__thumbs { padding: .75rem 1rem 1.25rem; margin: 0; }
.t-lb-thumb { cursor: pointer; }
/* mobilní nákupní lišta: vyjede, když hlavní Koupit zmizí z obrazovky */
@media (max-width: 640px) {
	.t-buybar { transform: translateY(110%); transition: transform var(--t-dur) var(--t-ease); }
	.t-buybar.is-visible { transform: none; }
	body.pdp-mobile-bar-active { padding-bottom: calc(4.5rem + env(safe-area-inset-bottom)); }
	.t-buybar__price { min-width: 0; }
}

/* ---------- 5. Homepage ---------- */
.t-hero { touch-action: pan-y; }
.t-hero__seg span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.t-section--entries { padding-top: var(--t-section); }
.t-entry__title .t-count { white-space: nowrap; }
.t-fact b { grid-row: span 2; align-self: center; }
.t-facts:has(> .t-fact:nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.t-caption-tag--right { left: auto; right: .75rem; }
.t-brand-slide__media { display: block; }
.t-brand-slide__media img { object-position: var(--t-pos, 50% 50%); }
.t-brand-slide__body { margin-top: 1.125rem; }
/* loga značek: náhledy z katalogu mají vlastní bílý okraj, proto větší plocha než v návrhu */
.t-logo-cell img { inset: 12% 10%; width: 80%; height: 76%; }
.t-brand-slider .t-slider__track > li, .t-logo-slider .t-slider__track > li { list-style: none; }
.t-logo-grid { padding: 0; }
.t-dots i { transition: width var(--t-dur) var(--t-ease), background var(--t-dur) var(--t-ease); }
.t-post__media:empty { background: var(--t-plum-wash); }
.t-section--module + .t-section--module { padding-top: 0; }

/* ---------- 6. Článek a textové stránky ---------- */
.t-art--single { grid-template-columns: minmax(0, 42rem); }
.t-art-body ul, .t-art-body ol { display: grid; gap: .5rem; padding-left: 1.25rem; list-style: disc; }
.t-art-body ol { list-style: decimal; }
.t-art-body h3 { font-size: var(--t-fs-h3); line-height: 1.2; margin-top: .75rem; }
.t-art-body strong, .t-art-body b { font-weight: var(--t-w-strong); color: var(--t-fg-strong); }
.t-art-body img { border-radius: var(--t-radius); height: auto; }
.t-art-body table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.t-art-body th, .t-art-body td { padding: .75rem 1rem .75rem 0; border-bottom: 1px solid var(--t-line); text-align: left; vertical-align: top; }
.t-art-body h2 { scroll-margin-top: 1.5rem; }
.t-toc__share button.t-link { min-height: 2.75rem; padding: 0; border: 0; background: none; font-size: inherit; color: inherit; cursor: pointer; }
.t-art-meta time::after { content: ''; }
.t-page--content .t-crumbs { margin-bottom: 1rem; }

/* ---------- 7. Patička ---------- */
.t-news .t-h2 { margin: 0; }
.t-news__unsub { padding: 0; border: 0; background: none; font-size: inherit; color: inherit; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.newsletter-signup__trap { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none; }
.t-news__form.is-loading button[type="submit"] { opacity: .6; }
.t-foot ul { padding: 0; }
.t-foot__btn { display: inline-block; padding: .6875rem 0; border: 0; background: none; font-size: var(--t-fs-small); color: var(--t-fg); text-align: left; cursor: pointer; }
.t-foot__btn:hover { color: var(--t-plum); text-decoration: underline; text-underline-offset: .25em; }
.t-foot__contact > a { display: block; }
.t-legal li { display: flex; align-items: center; }
.t-legal__country > button { display: inline-flex; align-items: center; gap: .4em; min-height: 2.75rem; padding: 0; border: 0; background: none; font-size: inherit; color: inherit; }
.t-legal__country > button .t-icon { width: .75em; height: .75em; transform: rotate(180deg); }
.t-legal__country > button:hover { color: var(--t-plum); }
/* zápatí pokladny */
.t-footer--checkout { margin-top: 0; border-top: 1px solid var(--t-line); background: var(--t-surface-quiet); }
.t-footer--checkout .checkout-footer__inner { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 2rem; }
.t-footer--checkout .checkout-footer__brand { position: static; flex: none; display: block; width: 9.5rem; }
.t-footer--checkout .checkout-footer__brand img { width: 100%; height: auto; mix-blend-mode: multiply; }

/* ---------- 8. Košík, pokladna, účet a modaly Bootstrapu ---------- */
.btn { border-radius: var(--t-radius); font-family: var(--t-font); }
.btn.rounded-pill, .rounded-pill.btn-lg { border-radius: var(--t-radius) !important; }
.form-control, .form-select { border-radius: var(--t-radius); font-family: var(--t-font); }
.modal-content { border: 0; border-radius: var(--t-radius); font-family: var(--t-font); box-shadow: 0 40px 80px -32px rgba(var(--t-shadow-rgb), .6); }
.modal-title { font-weight: var(--t-w-display); letter-spacing: -.01em; }
.modal .btn-primary { background: var(--t-black); border-color: var(--t-black); }
.modal .btn-primary:hover { background: var(--t-plum); border-color: var(--t-plum); }
/* panel košíku (původní funkce, vzhled v3) */
.cart-drawer { font-family: var(--t-font); border-radius: 0; }
.cart-drawer__head { min-height: 4rem; border-bottom: 1px solid var(--t-line); }
.cart-drawer__head h3 { font-size: 1.0625rem; font-weight: var(--t-w-strong); letter-spacing: 0; }
.cart-drawer__close { border-radius: var(--t-radius); }
.cart-drawer .cart-item .thumb, .cart-drawer .cart-item .thumb img { border-radius: var(--t-radius); }
.cart-drawer .cart-item .thumb img { mix-blend-mode: multiply; }
.cart-drawer__actions .btn { min-height: var(--t-control); display: inline-flex; align-items: center; justify-content: center; font-weight: 520; }
.cart-drawer__actions .btn-primary, .cart-drawer__checkout { background: var(--t-black); border-color: var(--t-black); }
.cart-drawer__actions .btn-primary:hover { background: var(--t-plum); border-color: var(--t-plum); }
.fs-remaining .fs-bar .bar { background: var(--t-plum); }
.tipidi-cart-drawer { font-family: var(--t-font); }
.tipidi-cart-drawer .btn { min-height: var(--t-control); }
.tipidi-cart-drawer .btn-primary { background: var(--t-black); border-color: var(--t-black); }

/* ---------- 9. Pohyb ---------- */
/* Obsah je viditelný bez JS; skryje se jen to, co skript označí is-pending (je pod ohybem a bude odkryto). */
.t-motion .is-pending { opacity: 0; transform: translate3d(0, 1.25rem, 0); }
.t-motion .is-pending.t-fade { transform: none; }
.t-motion .is-pending.t-scale { transform: scale(.985); }
.t-words .t-w { display: inline-block; white-space: pre; will-change: transform, opacity; }
.t-words .t-mask { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .12em; margin-bottom: -.12em; }
.t-lines .t-ln { display: block; }
@media (prefers-reduced-motion: reduce) {
	.is-pending { opacity: 1 !important; transform: none !important; }
}

/* ---------- 10. Responzivita ---------- */
@media (max-width: 1100px) {
	.t-chrome .t-header { position: relative; }
	.t-facts:has(> .t-fact:nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.t-facts:has(> .t-fact:nth-child(3):last-child) { grid-template-columns: 1fr; }
	.t-cat-hero--logo { grid-template-columns: minmax(0, 1fr) 6.75rem; }
	.t-cat-hero__media--logo { margin: .875rem var(--t-gutter) .875rem 0; border-radius: var(--t-radius); }
	.t-cat-hero__media--logo .t-cat-hero__logo { width: 82%; }
	.t-pd__top { min-height: 0; }
	.t-select--limit { display: none; }   /* v návrhu je na mobilu vedle Filtrů jen řazení */
	.t-search--inline { max-width: none; }
	.t-pd__tagcloud .t-chip { min-height: 2.75rem; }
}

/* ---------- 11. Úpravy po připomínkách 2026-11-12 ---------- */
/* karta: značka a název → druh a objem → skladovost → cena; skladovost i cena na střed, zarovnané ke spodku karty */
.t-p__foot--stack { flex-direction: column; align-items: center; gap: .25rem; }
.t-p__prices { display: inline-flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: .125rem .625rem; }
/* mega menu: „Vše v kategorii…“ pod seznamem podkategorií, stejně jako „Všechny značky“ */
.t-mega__more--all { font-weight: var(--t-w-strong); }
/* „Vše v kategorii…“ a „Všechny značky“ na spodní hraně sloupce (= spodní hrana dlaždic vpravo, řádek mřížky se
   roztahuje podle nejvyššího sloupce); text odkazu sedí dole v dotykové ploše 2,75rem */
.t-mega__col { display: flex; flex-direction: column; align-items: flex-start; }
.t-mega__col > ul { align-self: stretch; }
.t-mega__col > .t-mega__more { margin-top: auto; padding-top: .75rem; align-items: flex-end; line-height: 1.2; }
.t-mega__more small { margin-left: .35em; color: var(--t-fg-muted); font-weight: var(--t-w-body); }
/* spodní popis kategorie bez obrázku: text přes celou šířku čtecího sloupce */
.t-cat-about--text { grid-template-columns: minmax(0, 1fr); }
/* detail: rámeček Vlastnosti drží na desktopu ve sloupci popisu a končí s ním. Nemá vlastní posuvník ani
   overscroll-behavior, takže kolečko i trackpad nad ním posouvají celou stránku. Je-li vyšší než okno,
   tipidi-redesign.js (initStickyFit) nastaví záporné top: rámeček se posouvá se stránkou a přichytí se spodním okrajem. */
@media (min-width: 1101px) {
	.t-desc > #podrobnosti { position: sticky; top: 1.5rem; align-self: start; }
}
/* nákupní box: kompaktní množství, Koupit jako hlavní tlačítko */
.t-pd__buy { grid-template-columns: auto minmax(0, 1fr) auto; align-items: stretch; }
.t-pd__buy .t-qty { grid-template-columns: 2.25rem 2.25rem 2.25rem; height: 3.5rem; border-color: var(--t-line); }
.t-pd__buy .t-qty button { font-size: 1.125rem; color: var(--t-fg-muted); }
.t-pd__buy .t-qty button:hover { color: var(--t-fg-strong); }
.t-pd__buy .t-qty input { width: 2.25rem; font-size: 1rem; }
.t-pd__buy #button-cart { min-height: 3.5rem; font-size: 1.0625rem; letter-spacing: .01em; }
.t-pd__buy .t-iconbtn { border: 1px solid var(--t-line); }
/* loga: zdroj je oříznutý o bílé okraje (TipidiLogo), v dlaždici zabírá větší plochu */
.t-logo-cell img, .t-mega__panel .t-logo-cell img { inset: 10% 9%; width: 82%; height: 80%; }
/* naposledy prohlížené na bílém, před nimi obrázkový banner (správa v administraci) */
.t-section--recent { background: var(--t-white); }
.t-section--promo + .t-section--recent { padding-top: 0; }
/* banner jako jeden odkaz (detail produktu): bloky uvnitř odkazu, hover jen na tlačítku */
.t-banner--link { display: block; color: inherit; text-decoration: none; }
.t-banner--link .t-banner__in, .t-banner--link .t-banner__copy { display: grid; }
.t-banner--link .t-eyebrow, .t-banner--link .t-h2, .t-banner--link .t-lead { display: block; }
.t-banner--link:hover .t-btn--primary { background: var(--t-plum); border-color: var(--t-plum); }
.t-banner--link:focus-visible { outline: 2px solid var(--t-focus); outline-offset: 3px; }
/* řádek filtrů s přepínačem Jen skladem: řazení se zúží podle vybrané hodnoty, aby se vešel výběr počtu */
@media (min-width: 1366px) {
	.t-fbar__right .t-select:not(.t-select--limit) select { max-width: 11rem; text-overflow: ellipsis; }
	.t-fbar .t-switch { padding-inline: .25rem; }
}
.t-banner--link .t-h2 { line-height: 1.08; font-weight: var(--t-w-display); letter-spacing: -0.02em; color: var(--t-fg-strong); text-wrap: balance; }
/* mobilní galerie: čisté tečky i v Safari (bez vzhledu tlačítka, zvýraznění po klepnutí a rámečku fokusu po dotyku) */
@media (max-width: 640px) {
	.t-pd__thumb { -webkit-appearance: none; appearance: none; -webkit-tap-highlight-color: transparent; box-shadow: none; outline: 0; }
	.t-pd__thumb:focus-visible::before { outline: 2px solid var(--t-focus); outline-offset: 3px; }
}

/* ---------- 12. Zákaznické a obslužné stránky (účet, přihlášení, registrace, heslo, oblíbené, 404, mapa stránek) ----------
   Šablony zůstávají (formuláře, validace, chybové hlášky a skripty beze změny); vzhled v3 dostává jejich Bootstrap markup. */
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) {
	--t-acc-gap: clamp(1.25rem, 2.5vw, 2rem);
	width: 100%; max-width: var(--t-max); margin-inline: auto; padding: 1rem var(--t-gutter) var(--t-section);
	color: var(--t-fg); font-size: var(--t-fs-body); line-height: 1.55;
}
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare).container-fluid { padding-inline: var(--t-gutter) !important; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) > .row { margin-inline: 0; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) > .row > [class*="col"] { padding-inline: 0; }
/* drobečková navigace jako .t-crumbs */
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .breadcrumb { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 var(--t-acc-gap); padding: 0; background: none; list-style: none; font-size: .8125rem; color: var(--t-fg-muted); }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .breadcrumb li { display: inline-flex; align-items: center; padding: 0; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .breadcrumb li + li::before { content: '/'; margin-right: .5rem; padding: 0; color: var(--t-line-strong); }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .breadcrumb a { color: inherit; text-decoration: none; font-weight: 400; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .breadcrumb li:last-child a { color: var(--t-fg-strong); }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .breadcrumb a:hover { color: var(--t-plum); text-decoration: underline; text-underline-offset: .25em; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .breadcrumb .fa, :is([id^="account-"], #error-not-found) .breadcrumb svg { display: none; }
/* nadpisy a texty */
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) h1 { margin: 0 0 var(--t-acc-gap); font-size: var(--t-fs-display); font-weight: var(--t-w-display); letter-spacing: -.02em; line-height: 1.08; color: var(--t-fg-strong); }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) :is(h2, .h2, .h3, legend) { margin: 0 0 .75rem; font-size: var(--t-fs-h3); font-weight: var(--t-w-display); letter-spacing: -.01em; line-height: 1.2; color: var(--t-fg-strong); border: 0; padding: 0; float: none; width: auto; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) h3 { font-size: 1.125rem; font-weight: var(--t-w-strong); letter-spacing: 0; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) :is(.text-muted, .small, small) { color: var(--t-fg-muted) !important; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) p a:not(.btn), :is([id^="account-"], #account-solie) .form-text a, :is([id^="account-"], #account-solie) label a { color: var(--t-plum); text-decoration: underline; text-underline-offset: .2em; }
/* karty a panely: rovné plochy s linkou místo stínů */
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) :is(.card, .panel, .well) { border: 1px solid var(--t-line); border-radius: var(--t-radius); background: var(--t-white); box-shadow: none !important; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) :is(.card-body, .panel-body) { padding: clamp(1.25rem, 2.5vw, 2rem) !important; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) :is(.card-header, .panel-heading) { padding: 1rem clamp(1.25rem, 2.5vw, 2rem); border-bottom: 1px solid var(--t-line); background: none; font-weight: var(--t-w-strong); }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) :is(.shadow-sm, .shadow, .rounded-4, .rounded-3) { box-shadow: none !important; border-radius: var(--t-radius) !important; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .bg-light { background: var(--t-surface-quiet) !important; }
/* formuláře */
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) :is(.form-label, .control-label, label.col-form-label) { margin-bottom: .375rem; font-size: var(--t-fs-small); font-weight: 500; color: var(--t-fg-strong); }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) :is(.form-control, .form-select, input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"], input[type="date"], select, textarea):not([type="checkbox"]):not([type="radio"]):not(.t-input) {
	width: 100%; min-height: var(--t-control); padding: .625rem .875rem; border: 1px solid var(--t-line-control); border-radius: var(--t-radius); background-color: var(--t-white); box-shadow: none; font: inherit; font-size: 1rem; color: var(--t-fg);
}
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) :is(.form-control, .form-select, input, select, textarea):focus { border-color: var(--t-black); outline: 2px solid var(--t-focus); outline-offset: 2px; box-shadow: none; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) :is(.form-control, .form-select).is-invalid, :is([id^="account-"], #account-solie) .has-error :is(.form-control, input, select) { border-color: var(--t-out); background-image: none; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) :is(.invalid-feedback, .text-danger, .help-block.text-danger) { display: block; margin-top: .375rem; font-size: .8125rem; color: var(--t-out) !important; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .input-group { display: flex; flex-wrap: nowrap; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .input-group > :is(.form-control, input) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .input-group > .btn { min-width: var(--t-control); border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) :is(.form-check-input, input[type="checkbox"], input[type="radio"]) { width: 1.125rem; height: 1.125rem; margin-top: .2em; accent-color: var(--t-black); border-color: var(--t-line-control); }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .form-check-input:checked { background-color: var(--t-black); border-color: var(--t-black); }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .form-check-input:focus { box-shadow: none; outline: 2px solid var(--t-focus); outline-offset: 2px; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) :is(.mb-3, .form-group) { margin-bottom: 1.125rem !important; }
/* tlačítka jako .t-btn: černé hlavní, bílé vedlejší, radius 5 px */
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: var(--t-control); padding: 0 1.375rem; border: 1px solid var(--t-line-strong); border-radius: var(--t-radius) !important; background: var(--t-white); color: var(--t-fg-strong); font-size: .9375rem; font-weight: var(--t-w-strong); line-height: 1.2; text-decoration: none; box-shadow: none; transition: background var(--t-dur-fast), border-color var(--t-dur-fast), color var(--t-dur-fast);
}
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .btn:hover { border-color: var(--t-black); background: var(--t-white); color: var(--t-fg-strong); }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) :is(.btn-primary, .btn-dark, .btn-success) { background: var(--t-black); border-color: var(--t-black); color: var(--t-white); }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) :is(.btn-primary, .btn-dark, .btn-success):hover { background: var(--t-plum); border-color: var(--t-plum); color: var(--t-white); }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) :is(.btn-danger, .btn-outline-danger) { color: var(--t-out); border-color: var(--t-line-strong); background: var(--t-white); }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) :is(.btn-danger, .btn-outline-danger):hover { border-color: var(--t-out); }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) :is(.btn-lg) { min-height: 3.5rem; padding-inline: 1.75rem; font-size: 1rem; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) :is(.btn-sm) { min-height: var(--t-control-sm); padding-inline: 1rem; font-size: var(--t-fs-small); }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .btn:focus-visible { outline: 2px solid var(--t-focus); outline-offset: 2px; box-shadow: none; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .btn-link { min-height: 0; padding: 0; border: 0; background: none; color: var(--t-plum); font-weight: 500; text-decoration: underline; text-underline-offset: .2em; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .btn-link:hover { color: var(--t-black); background: none; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) :is(.buttons, .d-flex.justify-content-between) { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem; margin-top: 1.5rem; }
/* upozornění */
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .alert { position: relative; display: flex; gap: .625rem; align-items: flex-start; margin-bottom: var(--t-acc-gap); padding: .875rem 3rem .875rem 1rem; border: 0; border-left: 3px solid var(--t-plum); border-radius: var(--t-radius); background: var(--t-plum-wash); color: var(--t-fg-strong); font-size: var(--t-fs-small); }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .alert-danger { border-left-color: var(--t-out); background: #fbf1f1; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .alert-success { border-left-color: var(--t-ok); background: #eff6f1; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .alert .btn-close { position: absolute; top: .625rem; right: .625rem; width: 1.75rem; height: 1.75rem; padding: 0; opacity: .6; }
/* tabulky (objednávky, reklamace, body, transakce, stahování) */
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .table-responsive { border: 1px solid var(--t-line); border-radius: var(--t-radius); }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .table { width: 100%; margin: 0; border-collapse: collapse; font-size: var(--t-fs-small); --bs-table-bg: transparent; --bs-table-striped-bg: transparent; --bs-table-hover-bg: var(--t-plum-wash); }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .table :is(th, td) { padding: .875rem 1rem; border: 0; border-bottom: 1px solid var(--t-line); vertical-align: middle; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .table thead :is(th, td) { font-size: .8125rem; font-weight: var(--t-w-strong); color: var(--t-fg-muted); background: none; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .table tbody tr:last-child :is(th, td) { border-bottom: 0; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .table-bordered { border: 0; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .table .btn { min-height: 2.25rem; padding-inline: .75rem; }
/* stránkování */
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .pagination { display: flex; gap: .25rem; margin: 1.25rem 0 0; padding: 0; list-style: none; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .pagination :is(a, span) { display: grid; place-items: center; min-width: var(--t-control-sm); height: var(--t-control-sm); border: 0; border-radius: var(--t-radius); color: var(--t-fg-strong); text-decoration: none; }
:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .pagination .active :is(a, span) { background: var(--t-black); color: var(--t-white); }
/* navigace účtu (přehled, objednávky, oblíbené, adresy, profil, odhlášení) */
:is([id^="account-"], #account-solie) .list-group { display: grid; gap: 0; padding: .375rem; border: 1px solid var(--t-line); border-radius: var(--t-radius); background: var(--t-white); }
:is([id^="account-"], #account-solie) .list-group-item { display: flex; align-items: center; gap: .75rem; min-height: 2.75rem; padding: .5rem .75rem; border: 0; border-radius: var(--t-radius) !important; background: none; color: var(--t-fg-strong); font-size: .9375rem; text-decoration: none; }
:is([id^="account-"], #account-solie) .list-group-item:hover { background: var(--t-plum-wash); color: var(--t-fg-strong); }
:is([id^="account-"], #account-solie) .list-group-item.active { background: var(--t-plum-wash); color: var(--t-plum); font-weight: var(--t-w-strong); box-shadow: inset 2px 0 0 var(--t-plum); }
:is([id^="account-"], #account-solie) .list-group-item .bi, :is([id^="account-"], #account-solie) .list-group-item .fa { width: 1.25rem; color: var(--t-fg-muted); }
:is([id^="account-"], #account-solie) .list-group-item.active :is(.bi, .fa) { color: var(--t-plum); }
/* přehled účtu: statistiky jako tiché plochy */
#account-solie .row.g-3 > [class*="col"] > :is(.card, .border, div) { border: 0 !important; border-radius: var(--t-radius); background: var(--t-surface-quiet); }
#account-solie h2, #account-solie .h4 { font-size: var(--t-fs-h2); font-weight: var(--t-w-display); }
@media (max-width: 640px) {
	:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) { padding-top: .5rem; }
	:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) h1 { font-size: 2rem; }
	:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) :is(.buttons, .d-flex.justify-content-between) > * { flex: 1 1 100%; }
	:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .btn { width: auto; }
	:is([id^="account-"], #error-not-found, #information-sitemap, #common-success, #product-compare) .table-responsive { margin-inline: calc(var(--t-gutter) * -1); border-inline: 0; border-radius: 0; }
}
/* hlavička stránky účtu, oblíbené, 404 */
.t-acc-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 1.5rem; margin-bottom: var(--t-acc-gap, 1.5rem); }
.t-acc-head h1 { margin: 0 !important; }
.t-acc-note { max-width: var(--t-read); margin: calc(var(--t-acc-gap, 1.5rem) * -.5) 0 var(--t-acc-gap, 1.5rem); color: var(--t-fg-muted); }
#account-wishlist .t-products { margin-bottom: var(--t-section); }
.t-empty__side { display: grid; gap: 1.25rem; justify-items: start; }
.t-empty__actions { display: flex; flex-wrap: wrap; gap: .75rem; align-self: center; justify-self: end; }
.t-empty .t-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.t-empty .t-search { max-width: 26rem; }
.t-empty .t-search input { background: var(--t-white); border-color: var(--t-line-strong); }
.t-empty .t-search .t-icon { position: absolute; left: 1rem; top: 50%; translate: 0 -50%; width: 1.125rem; height: 1.125rem; color: var(--t-fg-muted); pointer-events: none; }
.t-empty--404 { margin-top: .5rem; padding-block: clamp(2rem, 6vw, 4.5rem); }
.t-empty--404 h1 { margin: .5rem 0 0 !important; }
.t-empty--404 p:not(.t-eyebrow) { font-size: var(--t-fs-lead); }
@media (max-width: 1100px) { .t-empty__actions { justify-self: start; } }
#account-solie .list-group .list-group-item.active { background: var(--t-plum-wash); color: var(--t-plum); }
#account-solie .list-group .list-group-item { color: var(--t-fg-strong); }
/* vyhledávání v prázdném stavu: mobilní pravidla hlavičky (.t-search grid-area/order) zde neplatí */
.t-empty .t-search { grid-area: auto; order: 0; width: 100%; }
.t-empty__side > * { min-width: 0; }
/* řádek filtrů s přepínačem Jen skladem: pod 1700 px jen řazení jako v návrhu v3 (výběr počtu na stránku se nevejde) */
@media (max-width: 1699px) { .t-fbar .t-select--limit { display: none; } }

/* ---------- 13. Homepage: nižší úvod (připomínky 2026-11-13) ---------- */
/* video hero o ~15 % nižší; text, ovládání a ořezy zůstávají (výřez řídí --t-pos / --t-pos-m) */
.t-hero__slides { height: clamp(26rem, 34vw, 39rem); }
.t-hero__copy { padding-bottom: 3rem; }
/* pět vstupů do kategorií v jednom řádku, nižší obrázky */
.t-entries { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(.75rem, 1.4vw, 1.25rem); }
.t-entry { gap: .75rem; }
.t-entry__media { aspect-ratio: 4 / 3.6; }
.t-entry__title { font-size: clamp(1.0625rem, 1.35vw, 1.3125rem); }
.t-entry .t-count { margin-left: .35em; }
.t-entry p { line-height: 1.4; text-wrap: balance; }
@media (max-width: 1100px) {
	.t-hero__slides { height: 27rem; }
	.t-entry__media { aspect-ratio: 1 / 1; }
	.t-entry p { display: none; }
	.t-entry__title { font-size: 1rem; font-weight: var(--t-w-name); }
	.t-entry .t-count { display: block; margin: .125rem 0 0; font-size: .8125rem; }
}
/* mobil: vodorovný pás s dotykem, přiměřená výška */
@media (max-width: 640px) {
	.t-hero__slides { height: clamp(28rem, 132vw, 33rem); }
	.t-entries { display: flex; gap: .625rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(var(--t-gutter) * -1); padding-inline: var(--t-gutter); scroll-padding-inline: var(--t-gutter); }
	.t-entries::-webkit-scrollbar { display: none; }
	.t-entry { flex: 0 0 38vw; scroll-snap-align: start; }
	.t-entry__media { aspect-ratio: 4 / 4.6; }
}
.t-entry { align-content: start; }

/* ---------- 14. Košík a pokladna (návrh kosik-v1) – napojení na skutečný markup OpenCartu ---------- */
.t-empty-cart .t-entries { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.t-page--cart.is-busy .t-lines, .t-page--cart.is-busy .t-summary { opacity: .55; pointer-events: none; transition: opacity var(--t-dur-fast); }
/* hlavička pokladny v kontejneru hlavičky webu */
.t-header--checkout .t-header__main { display: block; padding-block: 0; }  /* boční okraj kontejneru (.t-wrap) zůstává */
.t-header--checkout .t-cohead__in { padding-inline: 0; }
/* kroky jako tlačítka (dosažené kroky lze otevřít) */
button.t-step { border: 0; background: none; padding: 0; cursor: pointer; font: inherit; }
button.t-step:disabled { cursor: default; opacity: 1; }
.t-steps li:not(.is-done):not(.is-current) button.t-step:disabled { color: var(--t-fg-muted); }
.t-page--co [data-co-step]:focus-visible h1, .t-co__title h1:focus { outline: none; }
/* formulář kroku Vaše údaje: Bootstrap pole (checkout/register, guest, payment_address) ve stylu .t-field */
#checkout-checkout .checkout-address-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(1rem, 2.5vw, 2rem); margin: 0; }
#checkout-checkout .checkout-address-form > [class*="col"] { width: auto; max-width: none; padding: 0; flex: none; }
#checkout-checkout .checkout-address-form__title { margin: 0 0 .875rem; font-size: 1.125rem; font-weight: var(--t-w-strong); letter-spacing: 0; color: var(--t-fg-strong); }
#checkout-checkout [data-panel="form"] fieldset { display: grid; gap: .875rem; margin: 0 0 1.25rem; padding: 0; border: 0; }
#checkout-checkout [data-panel="form"] fieldset.t-fgrid { gap: 1.125rem 1rem; margin: 0; }  /* návrh: mřížka 6 sloupců */
.t-coform .t-cosec__head--sub { margin-top: 1rem; }
#checkout-checkout [data-panel="form"] .form-group { display: grid; gap: .375rem; margin: 0; }
#checkout-checkout [data-panel="form"] .control-label, #checkout-checkout [data-panel="form"] .form-label { margin: 0; font-size: var(--t-fs-small); font-weight: 500; color: var(--t-fg-strong); }
#checkout-checkout [data-panel="form"] .form-control, #checkout-checkout [data-panel="form"] select { width: 100%; height: var(--t-control); padding: 0 .875rem; border: 1px solid var(--t-line-control); border-radius: var(--t-radius); background-color: var(--t-white); box-shadow: none; font: inherit; font-size: 1rem; color: var(--t-fg); }
#checkout-checkout [data-panel="form"] .form-control:focus, #checkout-checkout [data-panel="form"] select:focus { border-color: var(--t-black); outline: 2px solid var(--t-focus); outline-offset: 2px; box-shadow: none; }
#checkout-checkout [data-panel="form"] .form-control::placeholder { color: transparent; }
#checkout-checkout .is-invalid { border-color: var(--t-out) !important; }
#checkout-checkout .checkout-zone-field, #checkout-checkout .checkout-customer-group { display: none !important; }  /* kraj se vyplní automaticky (návrh) */
#checkout-checkout .text-danger { display: none; }  /* chyby kreslí .t-field-err */
.t-field-err { display: flex; gap: .375rem; align-items: flex-start; margin-top: .25rem; font-size: .8125rem; line-height: 1.4; color: var(--t-out); }
.t-field-err .t-icon { flex: none; width: 1rem; height: 1rem; margin-top: .1em; }
.t-co__errs:empty { display: none; }
.t-co__errs { margin-bottom: 1rem; }
.t-errsum ul { margin: .375rem 0 0; padding-left: 1.1rem; }
.t-errsum a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
#checkout-checkout .t-toggles { display: grid; gap: .875rem; margin-top: .5rem; }
#checkout-checkout .t-fgroup-set fieldset { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .875rem 1rem; margin-bottom: .875rem; }
.t-co__next--plain { border: 0; padding-top: 0; }
.t-co__next .t-link, .t-co__next button.t-link { display: inline-flex; align-items: center; gap: .375rem; min-height: 2.75rem; border: 0; background: none; padding: 0; cursor: pointer; font: inherit; font-size: var(--t-fs-small); }
/* panel objednání: tlačítko a texty platebního modulu skryté (spouští je tlačítko Objednat), pole Mollie zůstávají */
.t-orderbox__ext { margin-top: .5rem; }
.t-orderbox__ext #button-confirm, .t-orderbox__ext [type="submit"], .t-orderbox__ext .checkout-payment-confirm__copy, .t-orderbox__ext .checkout-payment-instructions { display: none !important; }
.t-orderbox__ext:not(:has(input:not([type="hidden"]):not([type="submit"]):not([type="button"]), select, iframe, .mollie-component)) { display: none; }  /* jen když modul nemá vlastní pole */
.t-orderbox .t-btn--block { width: 100%; }
.t-sending[hidden] { display: none; }
@media (max-width: 1100px) {
	#checkout-checkout .checkout-address-form { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
	#checkout-checkout .t-fgroup-set fieldset { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- 15. Představení značek: fotografie OpenArt pro všechny značky ---------- */
/* jemný přechod pod textem podle tónu fotografie (klidná levá třetina, na mobilu spodní třetina) */
.t-bl-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, rgba(20, 10, 24, .42) 0%, rgba(20, 10, 24, .18) 38%, transparent 60%); }
.t-bl-hero[data-tone="light"]::before { background: linear-gradient(90deg, rgba(255, 255, 255, .55) 0%, rgba(255, 255, 255, .22) 38%, transparent 60%); }
@media (max-width: 640px) {
	/* mobilní fotografie 9:16 mají produkt nahoře a klidnou spodní třetinu pro text */
	.t-bl-hero__in { justify-content: flex-end; min-height: min(calc(100vw * 16 / 9), 52rem); padding-bottom: 1.75rem; }
	.t-bl-hero__copy { max-width: none; }
	.t-bl-hero::before { background: linear-gradient(0deg, rgba(20, 10, 24, .55) 0%, rgba(20, 10, 24, .2) 34%, transparent 52%); }
	.t-bl-hero[data-tone="light"]::before { background: linear-gradient(0deg, rgba(255, 255, 255, .7) 0%, rgba(255, 255, 255, .25) 34%, transparent 52%); }
}
