/* EryWil: externí CSS nad šablonou Techno (template-13).
   Celý web tmavý v noční modré, bílá a modrá jako doplňkové barvy.
   Paleta (sytá, schválená 12. 10. 2026): jen tokeny níže, žádné další odstíny modré v pravidlech. Hodnoty generuje
   paleta/build_paleta.py (OKLCH, škály podle rolí Radix Colors); ručně je neměnit.
   Fotky produktů nikdy na bílém: nahrávají se bez pozadí (průhledné PNG/WebP), na tmavém podkladu je usadí jemný stín.
   Vlastní bloky homepage (dlaždice kategorií, dárky) mají prefix ew- a vkládají se jako HTML bannery.
   Pozor: Techno má bílé pozadí i v košíku, objednávce, filtrech, vyskakovacích oknech a formulářích.
   Tmavý vzhled je potřeba po nasazení projít ve všech krocích nákupu. */
/* Písmo Poppins načítá Shoptet (Návrhář → Nastavení → Písmo, nadpisy i text), proto tu žádný @import. */

:root {
    /* plochy: stránka → plocha (karty, horní lišta, patička) → plocha 2 (najetí, pole formulářů); řádek hlavičky = jediná sytá plocha */
    --ew-page: #03172d;
    --ew-surface: #071f37;
    --ew-surface-2: #0f2844;
    --ew-deep: #010f21;   /* hluboká plocha: pruhy přes celou šířku (jen horní lišta a patička; pásy v obsahu Jakub odmítl), tmavší než stránka */
    --ew-brand: #102747;
    --ew-line: #092948;
    /* rámeček polí formulářů (Jakub 22. 10. 2026, varianta B: pole nesmí vypadat jako boxy): bílá s průhledností, při najetí výraznější */
    --ew-field-line: rgba(255, 255, 255, .22);
    --ew-field-line-hover: rgba(255, 255, 255, .38);
    /* text: hlavní 14,4 : 1 na ploše, tlumený 7,2 : 1 */
    --ew-text: #e9eff7;
    --ew-muted: #99adc4;
    /* akcenty: modrá akce (tlačítka, štítky, aktivní stav) a světle modrá (ikony, odkazy) */
    --ew-blue: #0269d9;
    --ew-blue-hover: #2b83f5;
    --ew-link: #7cb0f9;
    --ew-green: #4cc27a;
    /* zaoblení: malé = tlačítka a pole, velké = bannery, karty, panely */
    --ew-radius-sm: 8px;
    --ew-radius: 12px;
    /* tlačítko pro celý e-shop (bannery, košík, formuláře); bez verzálek a bez šipek */
    /* bílé tlačítko s tmavě modrým textem z loga (zkouška 15. 10. 2026, Jakub): text 9,9 : 1; najetí = nejsvětlejší modrá palety
       (stupeň 12, #CEE2FF), text 7,5 : 1. Předtím sytá modrá --ew-blue s bílým textem (12. 10.) */
    --ew-btn-bg: #fff;
    --ew-btn-bg-hover: #cee2ff;
    --ew-btn-text: #174475;
    --ew-btn-h: 48px;
    --ew-btn-px: 24px;
    --ew-btn-size: 15px;
    --ew-btn-weight: 600;
    /* mezera mezi sekcemi homepage: každá sekce má JEN horní okraj = tato mezera, dolní 0 (poslední před patičkou i dolní).
       Okraje vnořených bannerů Techna se nesčítají do jednoho, horní + dolní by daly dvojnásobek. */
    --ew-section-gap: 80px;
    /* podtržení (12. 10. 2026): vždy 1 px a 4 px od textu. Podtržení jen při najetí = 50 % barvy textu,
       odkazy v souvislém textu podtržené stále 35 % a při najetí 100 %. Proměnné Techna pro tloušťku také 1 px. */
    --ew-u-tloustka: 1px;
    --ew-u-odsazeni: 4px;
    --ew-u-najeti: color-mix(in srgb, currentColor 50%, transparent);
    --ew-u-klid: color-mix(in srgb, currentColor 35%, transparent);
    --hyperlinks-underline-thickness: 1px;
    --hyperlinks-underline-thickness-hover: 1px;
}
@media (max-width: 767px) { :root { --ew-section-gap: 48px; } }

/* ---------- Základ ---------- */

/* Žádné zvětšení ani posun při najetí myší, nikde na webu. Techno zvětšuje obrázky v bannerech o 2 %
   (.banner-wrapper a:hover img, .banners-content a:hover img, .banner-category, .banner-footer, .footer-banner). */
a:hover img, a:focus img, a:hover picture, a:hover svg { transform: none !important; }

html, body,
#content-wrapper,
.content-wrapper,
.content-wrapper-in,
#content {
    background: var(--ew-page) !important;
    color: var(--ew-text);
}
body {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased !important;
}
h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, strong, b { color: var(--ew-text); }
a { color: var(--ew-link); }
a:hover { color: #fff; }
/* každé podtržení, i výchozí z Techna (a:hover, drobečková navigace, podkategorie má 2 px), stejné. Tloušťka a odsazení s !important:
   zkrácený zápis text-decoration (Techno i #header a { text-decoration: none !important }) jinak vrací tloušťku na auto */
a, a:hover, a:focus, a *, a:hover * { text-decoration-thickness: var(--ew-u-tloustka) !important; text-underline-offset: var(--ew-u-odsazeni) !important; }
a:hover, a:focus { text-decoration-color: var(--ew-u-najeti) !important; }   /* Techno (#footer a:hover …) barvu jinak vrací */
.subcategories li a:hover .text { text-decoration-color: var(--ew-u-najeti); }
.breadcrumbs a { text-underline-offset: var(--ew-u-odsazeni); text-decoration-color: var(--ew-u-klid); }
.breadcrumbs a:hover { text-decoration-color: currentColor !important; }
.form-control, input, select, textarea {
    background: var(--ew-surface-2);
    border-color: var(--ew-line);
    color: var(--ew-text);
}
/* Barevné proměnné Techna (--colors-*, nastavené pro světlou šablonu) přemapované na paletu (19. 10. 2026). Berou z nich novější
   části šablony: hodnocení a odkazy u produktu, parametry, košík, našeptávač, filtry, stránkování; jinak mají text #1f1f1f na tmavé
   ploše. Bílý text na barevných plochách (--colors-foregrounds-content-inverted: tlačítka, hlášky, štítky) zůstává. Chyba mimo paletu:
   světlejší červená, aby měla na tmavé ploše kontrast nad 4,5 : 1. */
:root {
    --colors-foregrounds-headlines-primary: #fff;
    --colors-foregrounds-content-primary: var(--ew-text);
    --colors-foregrounds-content-secondary: var(--ew-muted);
    --colors-foregrounds-content-tertiary: var(--ew-muted);
    --colors-foregrounds-content-quaternary: var(--ew-muted);
    --colors-foregrounds-icons-primary: var(--ew-muted);
    --colors-foregrounds-borders-primary: var(--ew-muted);
    --colors-foregrounds-borders-secondary: var(--ew-line);
    --colors-foregrounds-borders-tertiary: var(--ew-line);
    --colors-surface-primary: var(--ew-page);
    --colors-surface-white: var(--ew-surface);
    --colors-surface-secondary: var(--ew-surface);
    --colors-surface-tertiary: var(--ew-surface-2);
    --colors-surface-subtle: var(--ew-surface-2);
    --colors-forms-background: transparent;
    --colors-forms-border: var(--ew-field-line);
    --colors-forms-disabled: var(--ew-surface);
    --colors-forms-activated: var(--ew-link);
    --colors-forms-informative: var(--ew-link);
    --colors-forms-critical: #ff8f8a;
    --colors-state-danger: #ff8f8a;
    --colors-state-success: var(--ew-green);
    --colors-state-informative: var(--ew-link);
    --colors-tags-green: var(--ew-green);
    --colors-focus-primary: var(--ew-link);
}

/* ---------- Tloušťka písma (12. 10. 2026): nejvýš 600, generuje varianty/build_vahy_css.py, mezi značkami needitovat ručně ---------- */
/* VAHY:START */
/* Tloušťka písma: Techno má 700+ u 101 selektorů. Cena, tlačítko a menu 600, názvy produktů a odkazy ve větě 400, nadpisy a ostatní 500. Generuje build_vahy_css.py z main-13.less.c8a6415be4516e0585b7.css. */
.navigation-in ul li a b,
.navigation-in>ul>li.ext>ul>li>a,
.navigation-in>ul>li.ext>ul>li>div>a,
.variant-price-wrap .price-final,
.price-wrapper .price.price-primary,
.menu-helper,
.express-checkout .price-font-phone,
.express-checkout .price-font,
.express-checkout__product-price-final,
.express-checkout__products-price-total-value,
.express-checkout__summary-price,
:where(.ums_discussion_rating_forms--on) .btn,
:where(.ums_discussion_rating_forms--on) .btn.btn-conversion,
:where(.ums_discussion_rating_forms--on) a.btn,
:where(.ums_discussion_rating_forms--on) a.btn.btn-conversion,
.siteCookies__button,
.cookiesSetting__button,
.p-final-price-wrapper>strong,
.ordering-process .btn.btn-conversion,
.ordering-process a.btn.btn-conversion,
.recommended-products a.recommended-product strong.price,
:where(.ums_discussion_rating_forms--off) .btn,
:where(.ums_discussion_rating_forms--off) .btn.btn-conversion,
:where(.ums_discussion_rating_forms--off) a.btn,
:where(.ums_discussion_rating_forms--off) a.btn.btn-conversion,
.products-block>div .p .p-bottom>div .p-tools .btn,
.products-block>div .p .p-bottom>div .p-tools .btn.btn-cart,
:where(.ums_mobile_header_v1--on) .navigation-in>ul>li>a>b { font-weight: 600; }
b,
strong,
optgroup,
.dropdown-menu>li.dropdown__item--title>span,
.ui-datepicker th,
.select2-container--default .select2-selection--single .select2-selection__clear,
.select2-container--default .select2-selection--multiple .select2-selection__clear,
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6,
.update-preview-active:after,
.quantity-discounts__headline,
.quantity-discounts__item--highlighted,
.watchdog-messages .msg .cancel-action,
#categories,
:where(.ums_discussion_rating_forms--off) .add-comment,
.filter-section label.active,
.filter-count,
.price-wrapper .price-label.price-primary,
.cart-xyDiscount__title,
.ui-datepicker td a.ui-state-active,
.ui-datepicker th a.ui-state-active,
#colorbox .free-gifts li.active,
#colorbox .free-product-gifts li.active,
.express-checkout__pre-authorization-message,
.express-checkout__discount-value,
.express-checkout__info-shipping-name,
.express-checkout__info-invoicing-name,
.express-checkout__info-billing-name,
.express-checkout__summary-discount-code,
.express-checkout__summary-discount-remove:before,
:where(body.ums_page_element_headings--on) :where(.footer-rows .newsItemWidget__heading).with-short-description,
.sortingToggle__value,
.languagesMenu__header,
.subcategories li a .text,
.flags-extra .flag,
#accordion-content .shp-accordion .shp-accordion-link,
.siteCookies__link,
.cookiesSetting__title,
.cookiesSetting__uncheckLink,
.add-to-cart__quantity-label,
.p-gifts-heading,
.xyDiscount__title,
:where(.ums_forms_redesign--off) .discount-coupon label,
.checkout-box .toggle-contacts,
.order-summary-item.total,
.order-summary-item.helper,
.extended-banner-text,
.homepage-blog-wrapper .news-item .title,
.sortingToggle,
.listSorting__control--current,
.filters-wrapper .filters-unveil-button-wrapper .unveil-button,
.shp-tabs-holder ul.shp-tabs,
.products-block>div .p .p-bottom>div .prices .price-save,
ul.manufacturers h2,
.top-products li:before,
:where(body.ums_page_element_headings--off) .footer-rows .news-item-widget h5.with-short-description { font-weight: 500; }
table.table.breakable>tbody>tr>td,
.cart-widget-product-name>span,
#checkoutContent .helper a,
.consents a,
table.detail-parameters tbody tr td a,
.top-products li .top-products-content .top-products-name { font-weight: 400; }
/* VAHY:END */

/* ---------- Hlavička (schválená 12. 10. 2026): generuje varianty/build_hlavicka.py, mezi značkami needitovat ručně ---------- */
/* HLAVICKA:START */
:root {
    --h-font: 'Poppins';
    --h-top: #010f21;
    --h-top-line: transparent;
    --h-bg: #102747;
    --h-field: #0c3163;
    --h-field-line: #0c3163;
    --h-field-line-hover: #1e4b88;
    --h-field-r: 8px;
    --h-focus: #7cb0f9;
    --h-text: #e9eff7;
    --h-muted: #99adc4;
    --h-icon: #7cb0f9;
    --h-badge: #0269d9;
    --h-nav-bg: #03172d;
    --h-nav-text: #ffffff;
    --h-line: #03172d;
    --h-row: 76px;
    --h-nav-h: 48px;
    --h-logo: 58px;
    --h-search-w: 560px;
    --h-logo-w: 77px;
    --h-gap: 48px;
    --h-tools-w: 100px;
    --h-row-line: transparent;
    --h-inner-line: rgba(255, 255, 255, .06);
    --h-bg-glass: rgba(18, 42, 75, 0.86);
    --h-nav-row: 52px;
}

body, button, input, select, textarea, .btn, h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4 { font-family: var(--h-font), sans-serif !important; }

/* Horní lišta: kontakty vlevo (vložené HTML .top-contact z HTML kódů → Zápatí, tedy na konci stránky; proto absolute nahoře),
   přihlášení a registrace vpravo. Horní menu se v adminu nechá prázdné. */
.top-navigation-bar { background: var(--h-top) !important; border: 0 !important; border-bottom: 1px solid var(--h-top-line) !important; position: relative; }
.top-navigation-bar .container { height: 40px; }
.top-navigation-bar .top-navigation-menu { visibility: hidden; }
.top-contact { position: absolute; top: 0; left: 0; right: 0; z-index: 3; pointer-events: none; }
.top-contact .container { display: flex; align-items: center; gap: 28px; height: 40px; }
@media (min-width: 992px) { .admin-logged .top-contact { top: 25px; } }   /* přihlášený admin: lišta administrace (25 px) nad horní lištou; Shoptet ji ukazuje až od 992 px */
.ew-contact { pointer-events: auto; display: inline-flex; align-items: center; gap: 8px; color: var(--h-muted) !important; font-size: 13px; text-decoration: none !important; }
.ew-contact .ew-ico { width: 15px; height: 15px; color: var(--h-icon); flex: none; }
.ew-contact:hover { color: var(--h-text) !important; }
/* Účet vpravo, zrcadlí kontakty vlevo: ikona + text, mezera 28 px. Přihlášený zákazník místo Přihlášení/Registrace vidí Můj účet/Odhlásit. */
.top-navigation-bar .top-navigation-tools { gap: 28px; }
.top-navigation-tools .top-nav-button { display: inline-flex !important; align-items: center; gap: 8px; margin: 0 !important; padding: 0 !important; font-size: 13px; line-height: 1; color: var(--h-muted) !important; }
.top-navigation-tools .top-nav-button:before { display: inline-block !important; content: "" !important; flex: none; width: 15px; height: 15px; background: var(--h-icon); -webkit-mask: center / contain no-repeat; mask: center / contain no-repeat; }
.top-navigation-tools .top-nav-button-login:before, .top-navigation-tools .top-nav-button-account:before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2%22/%3E%3Ccircle cx=%2212%22 cy=%227%22 r=%224%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2%22/%3E%3Ccircle cx=%2212%22 cy=%227%22 r=%224%22/%3E%3C/svg%3E"); }
.top-navigation-tools .top-nav-button-register:before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2%22/%3E%3Ccircle cx=%229%22 cy=%227%22 r=%224%22/%3E%3Cpath d=%22M19 8v6M22 11h-6%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2%22/%3E%3Ccircle cx=%229%22 cy=%227%22 r=%224%22/%3E%3Cpath d=%22M19 8v6M22 11h-6%22/%3E%3C/svg%3E"); }
.top-navigation-tools .top-nav-button-logout:before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4%22/%3E%3Cpath d=%22m16 17 5-5-5-5%22/%3E%3Cpath d=%22M21 12H9%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4%22/%3E%3Cpath d=%22m16 17 5-5-5-5%22/%3E%3Cpath d=%22M21 12H9%22/%3E%3C/svg%3E"); }
.top-navigation-tools .top-nav-button:hover, .top-navigation-tools .top-nav-button:focus-visible { color: var(--h-text) !important; }

/* Hlavní řádek */
#header, #header .header-top { background: var(--h-bg) !important; box-shadow: none !important; }
#header .header-top-wrapper { min-height: var(--h-row); display: flex; align-items: center; gap: 40px; }
#header .header-top-wrapper .site-name { flex: 0 0 auto !important; }
#header .site-name a img { height: var(--h-logo); max-height: none !important; width: auto; }
#header .header-top-wrapper .search { flex: 1 1 auto !important; max-width: var(--h-search-w); padding: 0 !important; }
#header .search fieldset { position: relative; border: 0 !important; padding: 0 !important; margin: 0 !important; min-width: 0; }
#header .search-input { display: block !important; width: 100% !important; box-sizing: border-box !important; }
#header .search-button { text-transform: none !important; letter-spacing: 0 !important; }
#header .header-top-wrapper:before, #header .header-top-wrapper:after,
.top-contact .container:before, .top-contact .container:after { display: none !important; }
@media (min-width: 768px) {
    .top-contact .container, .top-navigation-bar .container { padding-left: 0 !important; padding-right: 0 !important; }
}
#header .search-input,
#header .search-input:hover, #header .search-input:focus,
#header .search-form:hover .search-input,
.search-focused #header .search-input, .search-window-visible #header .search-input {
    height: 46px; padding: 0 16px 0 46px; font-size: 15px;
    background: var(--h-field) !important; color: var(--h-text) !important;
    border: 1px solid var(--h-field-line) !important; border-radius: var(--h-field-r) !important;
    box-shadow: none !important;
}
#header .search-form:hover .search-input { border-color: var(--h-field-line-hover) !important; }
#header .search-input:focus, .search-focused #header .search-input { border-color: var(--h-focus) !important; outline: none; }
#header .search-input::placeholder,
#header .search-form:hover .search-input::placeholder,
#header .search-input:focus::placeholder { color: var(--h-muted) !important; opacity: 1; }
#header .search-input-icon { left: 23px; color: var(--h-muted) !important; }
#header .search-input-icon:before { content: "" !important; width: 18px; height: 18px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2211%22 cy=%2211%22 r=%227.5%22/%3E%3Cpath d=%22m20.5 20.5-4.2-4.2%22/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2211%22 cy=%2211%22 r=%227.5%22/%3E%3Cpath d=%22m20.5 20.5-4.2-4.2%22/%3E%3C/svg%3E") center / contain no-repeat; }
#header .search-form:hover .search-input-icon, .search-focused #header .search-input-icon { color: var(--h-text) !important; }

/* Košík: jen ikona, s počtem kusů odznak */
#header .header-top-wrapper .navigation-buttons { flex: 0 0 auto !important; position: static; margin-left: auto; }
#header .cart-price { display: none !important; }
#header .navigation-buttons a { color: var(--h-text) !important; }
#header .navigation-buttons a:before { content: "" !important; display: inline-block; vertical-align: middle; width: 26px; height: 26px; margin: 0 !important; background: currentColor; -webkit-mask: center / contain no-repeat; mask: center / contain no-repeat; }
#header .navigation-buttons a[data-target=cart]:before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z%22/%3E%3Cpath d=%22M3 6h18%22/%3E%3Cpath d=%22M16 10a4 4 0 0 1-8 0%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z%22/%3E%3Cpath d=%22M3 6h18%22/%3E%3Cpath d=%22M16 10a4 4 0 0 1-8 0%22/%3E%3C/svg%3E"); }
#header .navigation-buttons a[data-target=search]:before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2211%22 cy=%2211%22 r=%227.5%22/%3E%3Cpath d=%22m20.5 20.5-4.2-4.2%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2211%22 cy=%2211%22 r=%227.5%22/%3E%3Cpath d=%22m20.5 20.5-4.2-4.2%22/%3E%3C/svg%3E"); }
#header .navigation-buttons a[data-target=navigation]:before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 7h16M4 12h16M4 17h16%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 7h16M4 12h16M4 17h16%22/%3E%3C/svg%3E"); }
#header .navigation-buttons a[data-target=cart] { width: 46px; height: 46px; display: inline-flex !important; align-items: center; justify-content: center; }
#header .navigation-buttons a[data-target=cart] i { left: auto !important; right: 2px; top: 2px; bottom: auto; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; font-size: 11px; line-height: 18px; font-weight: 600; background: var(--h-badge) !important; color: #fff !important; }
#header .navigation-buttons a:hover { color: var(--h-icon) !important; }

/* Hlavní menu */
#header .header-bottom { background: var(--h-nav-bg) !important; border: 0 !important; border-top: 1px solid var(--h-line) !important; border-bottom: 1px solid var(--h-line) !important; }
#navigation { background: transparent !important; border: 0 !important; height: var(--h-nav-h) !important; min-height: 0 !important; }
#navigation .navigation-in > ul > li { border: 0 !important; }
#navigation .navigation-in > ul > li > a, #navigation .navigation-in > ul > li > a:hover { position: relative; margin: 0 !important; }
#header a, #header a:hover, #header a b, #header a:hover b, .top-navigation-bar a, .top-contact a { text-decoration: none !important; }
#navigation .navigation-in > ul > li > a { background: transparent !important; color: var(--h-nav-text) !important; font-size: 15px; font-weight: 500; }
#navigation .navigation-in > ul > li > a b { font-weight: inherit; color: inherit; }
#navigation .navigation-in > ul > li > a:hover { color: var(--h-text) !important; }

/* Kompaktní hlavička: společný základ */
@media (min-width: 768px) {
    #header .header-top { padding: 0 !important; background: transparent !important; }
    #header .header-top-wrapper { position: relative; height: var(--h-row); min-height: 0; gap: 0; }
    #header .site-name, #header .site-name a { display: flex; align-items: center; }
    #header .site-name a img { width: var(--h-logo-w); height: auto; }
    #header .header-top-wrapper .search { display: none !important; }
    #header .header-top-wrapper .navigation-buttons { display: flex !important; align-items: center; gap: 8px; flex: 0 0 auto !important; margin-left: auto; padding: 0 !important; }
    #header .navigation-buttons > a { margin: 0 !important; }
    #header .navigation-buttons a[data-target=search] { display: inline-flex !important; align-items: center; justify-content: center; width: 46px; height: 46px; }
    .search-window-visible #header .navigation-buttons a[data-target=search]:before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M18 6 6 18%22/%3E%3Cpath d=%22m6 6 12 12%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M18 6 6 18%22/%3E%3Cpath d=%22m6 6 12 12%22/%3E%3C/svg%3E"); }
    #header .header-bottom { border: 0 !important; background: transparent !important; }
    #navigation { background: transparent !important; border: 0 !important; }
    #navigation .navigation-in { position: static !important; }
    #navigation .navigation-in > ul { display: flex; padding: 0; }
    #navigation .navigation-in > ul > li > a { display: flex !important; align-items: center; white-space: nowrap; font-size: 15px; font-weight: 400; }
    #navigation .navigation-in > ul > li > a:after { content: ""; position: absolute; height: 2px; background: transparent; }
    #header #navigation .navigation-in > ul > li > a:hover { color: #fff !important; }
    #header #navigation .navigation-in > ul > li > a:hover:after { background: #fff; }
}
@media (min-width: 768px) and (max-width: 1199px) {
    #header .header-bottom { padding: 0 !important; border-top: 1px solid var(--h-inner-line) !important; border-bottom: 1px solid var(--h-row-line) !important; }
}
/* od 1200 px: celá hlavička se připne, menu leží v řádku mezi logem a ikonami */
@media (min-width: 1200px) {
    #header { position: sticky; top: 0; z-index: 50; background: var(--h-bg-glass) !important; border-bottom: 1px solid var(--h-row-line) !important;
        -webkit-backdrop-filter: blur(18px) saturate(160%); backdrop-filter: blur(18px) saturate(160%); }
    .search-window-visible #header { z-index: 1003; background: var(--h-bg) !important; }   /* nad ztmavením Techna (body:before, z-index 1002), jinak v našeptávači nejde kliknout */
    #header .header-bottom { position: absolute; top: 0; left: 0; right: 0; height: var(--h-row); padding: 0 !important; pointer-events: none; }
    #header .header-bottom-wrapper { height: 100%; display: flex; align-items: center;
        padding-left: calc(var(--h-logo-w) + var(--h-gap)) !important; padding-right: calc(var(--h-tools-w) + var(--h-gap)) !important; }
    #navigation { pointer-events: auto; }
}
@media (min-width: 1200px) { :root { --h-nav-row: var(--h-row); } }
@media (min-width: 1200px) and (prefers-reduced-transparency: reduce) {
    #header { background: var(--h-bg) !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
}


@media (min-width: 768px) {
    /* Techno dává .navigation-in šířku ~180 000 px, na střed se proto centruje celé #navigation podle obsahu */
    #header .header-bottom-wrapper { display: flex; justify-content: center; }
    #navigation { flex: 0 1 auto !important; }
    #navigation .navigation-in, #navigation .navigation-in > ul { width: auto !important; }
    #navigation, #navigation .navigation-in > ul { height: var(--h-nav-row) !important; }
    #navigation .navigation-in > ul > li > a { height: var(--h-nav-row); padding: 0 12px !important; color: rgba(255, 255, 255, .78) !important; }
    #navigation .navigation-in > ul > li > a:after { left: 12px; right: 12px; bottom: calc(50% - 16px); }
}

/* Odstín hlavičky: horní lišta a řádek jsou jeden blok, uvnitř jen jemná linka, k obsahu žádná */
@media (min-width: 768px) {
    .search-window-visible #header .header-top-wrapper .search:after { display: none; }
    .search-window-visible #header .header-top-wrapper .search { padding-bottom: 24px !important; }
}
/* podtržení v menu jako na celém webu (12. 10. 2026): text-decoration 1 px, 4 px od textu, 50 % barvy textu; samostatná linka :after vypnutá */
#header #navigation .navigation-in > ul > li > a:after { display: none; }
#header #navigation .navigation-in > ul > li > a:hover { text-decoration-line: underline !important; text-decoration-color: var(--ew-u-najeti) !important;
    text-decoration-thickness: var(--ew-u-tloustka) !important; text-underline-offset: var(--ew-u-odsazeni) !important; }

/* Otevřené hledání: pod celou hlavičkou, pole na střed */
@media (min-width: 768px) {
    #header { border-bottom: 0 !important; }
    #header .header-top-wrapper { position: static; }
    .search-window-visible #header .header-top-wrapper .search { display: block !important; position: absolute; top: 100%; left: 0; right: 0; z-index: 3;
        max-width: none !important; margin: 0; }
    .search-window-visible #header .search-form { max-width: 760px; margin: 0 auto; }
    #header .search-input, #header .search-input:hover, #header .search-input:focus, #header .search-form:hover .search-input,
    .search-window-visible #header .search-input { height: 52px; font-size: 16px; }
}
@media (min-width: 768px) and (max-width: 1199px) { #header { position: relative; } }
/* menu: čistě bílé písmo s váhou 600 (Jakub 15. 10. 2026, dřív 500), aby vyniklo i vedle výrazných bannerů; najetí = jen jemná linka pod textem */
@media (min-width: 768px) {
    #header #navigation .navigation-in > ul > li > a { color: #fff !important; font-weight: 600; }
}
/* mobil: Techno dává hlavičce position: fixed a obsahu odsazení 50/80 px. Nad hlavičkou je lišta s kontakty,
   proto je hlavička sticky (lišta odjede, hlavička zůstane nahoře) a odsazení obsahu se ruší. Schovávání hlavičky
   při posunu dolů (transform ze šablony) funguje se sticky stejně. */
@media (max-width: 767px) {
    #header { position: sticky !important; top: 0; }
    #header .header-bottom { border: 0 !important; }
    .overall-wrapper { padding-top: 0 !important; }
}

@media (min-width: 768px) {
    .search-window-visible #header { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
    .search-window-visible #header .header-top-wrapper .search { padding: 20px 24px 0 !important; background: rgba(4, 9, 16, .6);
        box-shadow: 0 0 0 100vmax rgba(4, 9, 16, .6); clip-path: inset(0 -100vmax -100vmax -100vmax); }
    .search-window-visible #header .search-form { padding: 14px; border-radius: 14px; background: var(--h-top);
        border: 1px solid rgba(255, 255, 255, .08); box-shadow: 0 24px 48px rgba(0, 0, 0, .45); }
    /* našeptávač (audit 26. 10. 2026): Techno ho dává přes 70 % šířky bez plochy pod pole široké 760 px; panelem stejné šířky a vzhledu
       jako pole, kategorie nad produkty (vedle sebe by na produkty zbyly tři úzké sloupce) */
    .search-window-visible #header .searchWhisperer { flex-direction: column; width: 760px; max-width: calc(100% - 48px); margin: 8px auto 0;
        padding: 24px 28px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 14px; background: var(--h-top);
        box-shadow: 0 24px 48px rgba(0, 0, 0, .45); }
    .search-window-visible #header .searchWhisperer__products { width: 100%; margin-left: 0; margin-right: 0; }   /* i s jedním výsledkem přes celý panel */
    .search-window-visible #header .searchWhisperer__products__listItem { flex: 0 0 33.333%; }
    .search-window-visible #header .searchWhisperer__additionalResults { flex: none; margin: 0 0 20px; padding: 0 0 16px; border-right: 0;
        border-bottom: 1px solid var(--ew-line); }
}
.searchWhisperer .availability-label { font-size: 14px; font-weight: 400; }   /* Techno 16 px / 500, jinde ve výpisech dostupnost drobně */

@media (max-width: 767px) {
    /* mobil: telefon a e-mail v liště nad hlavičkou (lišta odjede s obsahem), samotná hlavička (sticky) se připne nahoře.
       HTML lišty je až na konci stránky: lišta absolute nahoře, místo pro ni drží odsazení body (bez posunu obsahu při načtení) */
    body { padding-top: 36px; }
    .top-contact { height: 36px; pointer-events: auto; background: var(--h-top); }
    .top-contact .container { height: 36px; padding: 0 10px; gap: 22px; }
    .ew-contact { gap: 7px; font-size: 13px; }
    .ew-contact .ew-ico { width: 14px; height: 14px; }
    .top-navigation-tools .top-nav-button-login span { display: none; }
    #header .header-top-wrapper { min-height: 64px; gap: 0; }
    #header .site-name a img { height: 44px; }
    #header .navigation-buttons a { width: 44px; height: 44px; display: inline-flex !important; align-items: center; justify-content: center; }
    #header .navigation-buttons a:before { width: 24px; height: 24px; }
    #header .navigation-buttons a[data-target=navigation] { display: inline-flex !important; background: transparent !important; }
    #header .navigation-buttons a[data-target=cart] { width: 44px; height: 44px; }
    #header .header-top { border-bottom: 0; background: var(--h-bg-glass) !important; -webkit-backdrop-filter: blur(18px) saturate(160%); backdrop-filter: blur(18px) saturate(160%); }
    #header { background: transparent !important; }
}
/* HLAVICKA:END */

/* Zastřešující kategorie Pokémon karty (id 711) není v menu (struktura/STRUKTURA.md): sbírá hlavní dotaz „pokemon karty“,
   vedou na ni úvodní text a drobečková navigace. V obchodě zůstává, skrytá je jen v menu (desktop i mobil). */
#navigation .menu-level-1 > .menu-item-711 { display: none !important; }
/* Šest položek menu (30th Celebration a Asijské edice od 21. 10. 2026): v řádku pod logem (992–1 199 px) má menu pevných 897 px,
   při odsazení 12 px se poslední položka nevejde a Techno ji schová do nenastylovaného „Více“, proto 10 px. Na tabletu (768–991 px,
   iPad na výšku posílá desktopové UA) je menu 747 px a samotný text 753 px: místo oříznutého druhého řádku dva řádky na střed. */
@media (min-width: 992px) and (max-width: 1199px) { #navigation .navigation-in > ul > li > a { padding: 0 10px !important; } }
/* Techno přesune do „Více“ každou položku, jejíž pravý okraj přesáhne levý okraj .menu-helper; ten stojí u pravého okraje
   kontejneru a vycentrované menu (končí na 949 px při 1 024 px) by zasahovalo pod něj. Za okrajem kontejneru nic neodřízne. */
@media (min-width: 768px) and (max-width: 1199px) {
    #header .menu-helper { left: 100% !important; right: auto !important; }
    #header .menu-helper:not(.visible) { width: 0 !important; min-width: 0 !important; padding: 0 !important; overflow: hidden; }   /* prázdné by rozšířilo stránku */
}
@media (min-width: 768px) and (max-width: 991px) {
    #navigation, #navigation .navigation-in, #navigation .navigation-in > ul { height: auto !important; overflow: visible !important; }
    #navigation .navigation-in > ul { display: flex; flex-wrap: wrap; justify-content: center; }
}

/* Techno animuje každý odkaz a tlačítko (transition: all .3s), takže se měkce mění i rozměry a písmo, např. položky menu
   při otevření. Napříč e-shopem bez animace; záměrné přechody (podbarvení karet) mají vyšší specificitu a zůstávají. */
a, .link-like, .btn, a.btn { transition: none; }

/* ---------- Mobilní menu (13. 10.): Techno ho otevře třídou body.navigation-window-visible jako panel position: fixed 50 px pod
   horní hranou okna. Hlavička je u nás 64 px a výšku #navigation drží pravidla hlavičky pro desktop, proto vlastní panel hned
   pod hlavičkou (rodič .header-bottom je position: relative), v barvách hlavičky; tlačítko menu ukáže křížek jako hledání. ---------- */
@media (max-width: 767px) {
    /* Techno panel vysouvá (transition 0,3 s na #navigation i .navigation-in); otevírá se bez animace */
    #navigation, #navigation .navigation-in { transition: none !important; }
    .navigation-window-visible #navigation { position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; width: 100% !important;
        height: auto !important; max-height: calc(100vh - 64px); max-height: calc(100dvh - 64px); overflow-y: auto !important;
        background: var(--h-bg) !important; border-top: 1px solid var(--ew-line) !important; box-shadow: 0 24px 48px rgba(0, 0, 0, .45); }
    .navigation-window-visible #navigation .navigation-in { height: auto !important; padding: 4px 0 16px; background: transparent !important; }
    .navigation-window-visible #navigation .navigation-in > ul { height: auto !important; }
    .navigation-window-visible #navigation .menu-level-1 > li { border: 0 !important; }
    .navigation-window-visible #navigation .menu-level-1 > li > a { display: flex !important; align-items: center; height: 56px; padding: 0 10px !important;   /* lícuje s logem */
        border-bottom: 1px solid var(--ew-line) !important; color: var(--ew-text) !important; font-size: 17px; font-weight: 600; }
    .navigation-window-visible #navigation .menu-level-1 > li > a:hover { color: #fff !important; }
    /* Přihlášení pod položkami: Techno mu dává světlou čáru a odsazení 20 px */
    .navigation-window-visible #navigation .navigationActions { margin: 0 !important; border-top: 0 !important; }
    .navigation-window-visible #navigation .navigationActions a { padding: 0 10px !important; color: var(--ew-muted) !important; font-size: 15px; }
    .navigation-window-visible #navigation .navigationActions a span { padding: 16px 0 !important; }
    .navigation-window-visible #navigation .navigationActions a:hover { color: #fff !important; }
    .navigation-window-visible #header .navigation-buttons a[data-target=navigation]:before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M18 6 6 18%22/%3E%3Cpath d=%22m6 6 12 12%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M18 6 6 18%22/%3E%3Cpath d=%22m6 6 12 12%22/%3E%3C/svg%3E"); }
}
/* Mobilní hledání (13. 10.): Techno pole zalomí jako druhý řádek hlavičky (flex-wrap, order 3), hlavička naroste z 64 na 90 px
   a logo s ikonami vyjede nahoru. Pole proto leží jako panel pod hlavičkou (stejně jako menu), odsazené jako logo; lupa ukáže křížek. */
@media (max-width: 767px) {
    #header .header-top-wrapper { position: relative; }
    .search-window-visible #header .header-top-wrapper .search { position: absolute !important; top: 100%; left: 0; right: 0; z-index: 3;
        width: auto !important; max-width: none !important; margin: 0 !important; padding: 12px 10px 16px !important;
        background: var(--h-bg); border-top: 1px solid var(--ew-line); box-shadow: 0 24px 48px rgba(0, 0, 0, .45); }
    /* našeptávač pod polem: Techno bez spodní hrany, splýval se stránkou pod ním (audit 26. 10. 2026) */
    .search-window-visible #header .searchWhisperer { border-bottom: 1px solid var(--ew-line); box-shadow: 0 24px 48px rgba(0, 0, 0, .45); }
    .search-window-visible #header .navigation-buttons a[data-target=search]:before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M18 6 6 18%22/%3E%3Cpath d=%22m6 6 12 12%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M18 6 6 18%22/%3E%3Cpath d=%22m6 6 12 12%22/%3E%3C/svg%3E"); }
}
/* iPhone (Safari) přibližuje stránku při kliknutí do pole s písmem menším než 16 px; na mobilu proto 16 px */
@media (max-width: 767px) {
    #header .search-input, #header .search-input:focus, .search-window-visible #header .search-input,
    #footer .subscribe-form .form-control { font-size: 16px !important; }
}


.breadcrumbs, .breadcrumbs a, .breadcrumbs span { color: var(--ew-muted); background: transparent; }
.breadcrumbs { padding-top: 24px; }   /* Techno ji lepí přímo pod hlavičku (Jakub 19. 10. 2026: „lepší odsazení u breadcrumbs“) */
/* mobil: jeden řádek s vodorovným posunem až k okrajům displeje, od hlavičky 16 px (10 px dává .content-wrapper) */
@media (max-width: 767px) {
    .breadcrumbs { margin: 0 -10px; padding: 6px 10px 0; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
    .breadcrumbs::-webkit-scrollbar { display: none; }
}

/* ---------- Tlačítka, ceny, štítky ---------- */

/* „Detail“ v kartě (a.btn.btn-primary): Shoptet ho ukáže místo košíku u produktů s variantami, vzhled stejný jako Do košíku */
.btn.btn-conversion,
a.btn.btn-conversion,
.btn.btn-cart,
a.btn.btn-cart,
.products-block .p-tools .btn.btn-primary {
    background-color: var(--ew-btn-bg);
    border: none;
    color: var(--ew-btn-text);
    font-weight: var(--ew-btn-weight);
    text-transform: none;
    letter-spacing: 0;
    border-radius: var(--ew-radius-sm);
}
.btn.btn-conversion:hover,
a.btn.btn-conversion:hover,
.btn.btn-cart:hover,
a.btn.btn-cart:hover,
.products-block .p-tools .btn.btn-primary:hover {
    background-color: var(--ew-btn-bg-hover);
    color: var(--ew-btn-text);
}
/* Techno v kartě produktu přidává rámeček 1 px a font-weight 900 (.products-block … .p-tools .btn), stejná specificita to vrací */
.products-block > div .p .p-bottom > div .p-tools .btn,
.products-block > div .p .p-bottom > div .p-tools .btn.btn-cart { border: 0; font-weight: var(--ew-btn-weight); }

.price-final,
.price-final strong,
.p-to-cart-block .p-final-price-wrapper .price-final-holder {
    color: #fff;
    font-weight: 600;
}

.flag.flag-new { background-color: var(--ew-blue) !important; color: #fff; }
.flag.flag-tip { background-color: #fff !important; color: var(--ew-surface) !important; }

/* ---------- Karta produktu ve výpisu (schválená 12. 10. 2026, varianta D): generuje varianty/build_karty_css.py, mezi značkami needitovat ručně ---------- */
/* KARTY:START */
/* Karta produktu: společný základ. Generuje build_karty_css.py. */
/* nadpis skupiny produktů řeší build_nadpisy_css.py; mezeru k další sekci dává horní okraj té sekce */

/* homepage: skupina produktů je slider Shoptetu. JS přidá .product-slider-holder (vždy i s .has-navigation), karty zabalí do .products-block,
   dá jim inline šířky a s columns-4 ukáže 4 karty od 1 200 px, pod tím 3 a pod 992 px 2 (erywil.cz 13. 10.). Když se karty nevejdou, přidá šipky
   .product-slider-navigation, čárky .product-slider-pagination, kopie karet na začátek a konec a pás posouvá přes transform.
   Když se vejdou, šipky nevypíše: pak mřížka jako v kategorii (inline šířky a posun pryč). Rozlišuje se podle šipek, ne podle .has-navigation. */
/* JS měří šířku .product-slider-holder bez paddingu a dělí ji počtem karet. Holder je proto vždy (i před vznikem šipek) širší o přesah mřížky
   (20 px, na mobilu 0) a půl mezery (8 px, na mobilu 5 px): v slideru pak karty s vnitřním okrajem lícují s hlavičkou stejně jako mřížka */
.product-slider-holder { width: auto !important; margin-left: -28px !important; margin-right: -28px !important; padding: 0 !important; }
@media (max-width: 767px) { .product-slider-holder { margin-left: -5px !important; margin-right: -5px !important; } }
.product-slider-holder:not(:has(.product-slider-navigation)) .product-slider { width: auto !important; overflow: visible !important; margin: 0 !important; padding: 0 !important; cursor: auto !important; }

/* mřížka (kategorie a homepage skupina, která se vejde): 4 sloupce, mezery 16 px, lícuje s hlavičkou */
.products-page.products-block, .product-slider-holder:not(:has(.product-slider-navigation)) .products-block {
    display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; width: auto !important; margin: 0 !important; transform: none !important; transition: none !important; }
.products-block:before, .products-block:after { display: none !important; }
@media (min-width: 768px) { .products-page.products-block { margin-left: -20px !important; margin-right: -20px !important; } }
/* Detail produktu, kategorie a vyhledávání na šířce hlavičky, patičky a homepage (Jakub 2. 11. 2026): bez 20 px, které Techno dává #content, jen na vnějších okrajích.
   V kategorii zůstává vlevo mezera 40 px od panelu filtrů (Jakub: „chtěl jsem jen šířku do stran“), karty na stejné linii jako nadpis. Textové stránky (.type-page) zůstávají užší. */
@media (min-width: 768px) {
    .type-detail #content, .type-search #content { padding-left: 0; padding-right: 0; }
    .type-category #content { padding-right: 0; }
    .type-category .products-page.products-block, .type-search .products-page.products-block { margin-left: 0 !important; margin-right: 0 !important; }
    .type-category .breadcrumbs, .type-search .breadcrumbs { padding-left: 0; padding-right: 0; }
    .type-detail .breadcrumbs { padding-right: 0; }
}
.product-slider-holder:not(:has(.product-slider-navigation)) .products-block { margin-left: 8px !important; margin-right: 8px !important; }
@media (max-width: 767px) { .product-slider-holder:not(:has(.product-slider-navigation)) .products-block { margin-left: 5px !important; margin-right: 5px !important; } }
.products-page.products-block > div, .product-slider-holder:not(:has(.product-slider-navigation)) .products-block > div { width: auto !important; padding: 0 !important; }
.products-block > div { max-width: none !important; float: none !important; margin: 0 !important; border: 0 !important; background: none !important; }
/* tlačítko je ve form.pr-action s výběrem množství; Techno ho v kartách ukazuje (svetzbrani.cz 13. 10.), návrh ho nemá */
.products-block .p-tools .quantity { display: none !important; }

/* slider (karty se nevejdou): šířky a posun nechat JS, okraje .product-slider nechat Technu (o 10 px širší kvůli stínu, vyrovnané -5px),
   mezera mezi kartami = vnitřní okraj karty (16 px, na mobilu 10 px jako v mřížce) */
.product-slider-holder:has(.product-slider-navigation) .products-block { display: flex !important; margin: 0 !important; }
.product-slider-holder:has(.product-slider-navigation) .products-block > div { padding: 0 8px !important; }
/* šipky: Techno je ukazuje jen při najetí (na dotykovém zařízení stále) uprostřed výšky; tady kruh z palety na úrovni fotky, střed na hraně karty */
.product-slider-holder .product-slider-navigation { top: 130px !important; width: 40px; height: 40px; border: 1px solid var(--ew-line); border-radius: 50%;
    background: var(--ew-surface) !important; transform: translateY(-50%); transition: opacity .2s ease, background-color .2s ease; z-index: 2; }
.product-slider-holder .product-slider-navigation:before, .product-slider-holder .product-slider-navigation:hover:before { width: 38px; height: 38px;
    background: none !important; color: var(--ew-text) !important; }
.product-slider-holder .product-slider-navigation:hover { background: var(--ew-surface-2) !important; }
.product-slider-holder .product-slider-navigation.navigation-prev { left: -12px !important; }
.product-slider-holder .product-slider-navigation.navigation-next { right: -12px !important; }
.product-slider-holder .product-slider-navigation:focus-visible { opacity: 1; outline: 2px solid var(--ew-link); outline-offset: 2px; }
/* čárky pod sliderem: linka z palety, aktivní bílá; vyšší plocha pro dotyk, viditelná čára 2 px */
.product-slider-holder .product-slider-pagination { margin-top: 24px !important; }
.product-slider-holder .product-slider-pagination .pagination-button { height: 22px; margin: 0 4px; padding: 10px 0; background-color: var(--ew-line) !important; background-clip: content-box; }
.product-slider-holder .product-slider-pagination .pagination-button:hover { background-color: var(--ew-muted) !important; }
.product-slider-holder .product-slider-pagination .pagination-button.active { background-color: var(--ew-text) !important; }
.products-block > div .p { position: relative; display: flex; flex-direction: column; height: 100%; margin: 0 !important; padding: 0; border: 0 !important;
    border-radius: 0; background: none !important; box-shadow: none !important; text-align: left; }
.products-block > div .p:hover { border-color: transparent; box-shadow: none !important; }
.products-block > div .p .image { position: relative; display: block; margin: 0 !important; padding: 0; background: none; }
.products-block > div .p .image img { display: block; width: 100%; height: 220px; padding: 16px; object-fit: contain; filter: drop-shadow(0 12px 18px rgba(0, 0, 0, .45)); }
.products-block > div .p .p-in { display: flex; flex-direction: column; flex: 1 1 auto; padding: 0; text-align: left; }
.products-block > div .p .p-in-in { padding: 0; height: auto !important; min-height: 0 !important; }
.products-block > div .p .name { display: block; height: auto !important; min-height: 0 !important; margin: 0; padding: 0; text-align: left; text-decoration: none !important; }
.products-block > div .p .name span { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
    color: var(--ew-text); font-size: 15px; line-height: 1.45; font-weight: 400;
    text-wrap: pretty; }   /* bez osamoceného „(EN)“ na druhém řádku; názvy v Shoptetu nemají nezlomitelné mezery */
.products-block > div .p:hover .name span { text-decoration: underline; text-decoration-thickness: var(--ew-u-tloustka); text-underline-offset: var(--ew-u-odsazeni); text-decoration-color: var(--ew-u-najeti); }
/* dostupnost (Jakub 12. 10.): v celé řadě na jedné lince a u nejdelšího názvu stejně daleko od názvu jako od ceny. .p-in-in se roztáhne,
   dostupnost má automatický horní okraj, takže stojí vždy stejně vysoko nad cenou; volné místo kratšího názvu zůstane pod názvem */
.products-block > div .p .p-in-in { display: flex; flex-direction: column; flex: 1 1 auto; }
.products-block > div .p .ratings-wrapper { display: block; height: auto; min-height: 0; margin: auto 0 0; padding: 17px 0 7px; text-align: left; }
/* dole o 9 px méně: cena sedí uprostřed 40px řádku s tlačítkem, viditelná mezera k textu ceny je pak stejná jako k názvu */
/* dostupnost: barvu stavu posílá Shoptet inline podle nastavení dostupností v administraci (tam z palety: skladem #4CC27A,
   ostatní stavy #99ADC4), CSS ji nepřebíjí, jinak by zeleně svítilo i „Dočasně nedostupné“; počet kusů „(>5 ks)“ tlumeně */
.products-block > div .p .availability { color: var(--ew-muted); font-size: 13px; line-height: 1.45; }
.products-block > div .p .availability span { font-size: 13px; }
.products-block > div .p .availability .show-tooltip { font-weight: 500; }
.products-block > div .p .availability .availability-amount { color: var(--ew-muted) !important; font-weight: 400; }
.products-block > div .p .p-bottom { margin-top: auto; padding: 0; background: none; }
/* s tlačítkem Do košíku má spodek karty .single-button a Techno mu od 768 px dává padding-right 10 px, tlačítko by nelícovalo s okrajem obsahu */
.products-block > div .p .p-bottom.single-button { padding-right: 0; }
.products-block > div .p .p-bottom > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0; padding: 0; }
/* clearfix Techno by ve flexu fungoval jako další položky a odsadil cenu od kraje */
.products-block > div .p .p-bottom > div:before, .products-block > div .p .p-bottom > div:after { display: none !important; }
.products-block > div .p .p-bottom > div .prices { margin: 0; padding: 0; text-align: left; }
.products-block > div .p .price-final, .products-block > div .p .price-final strong { color: #fff; font-size: 18px; font-weight: 600; letter-spacing: -.01em; }
.products-block > div .p .p-bottom > div .p-tools { flex: none; width: auto; min-width: 0; margin: 0; padding: 0; justify-content: flex-end; }
/* .btn.btn-cart: Techno má pro Do košíku silnější pravidlo s height: auto (0,6,2), bez něj by tlačítko mělo 30 px */
.products-block > div .p .p-bottom > div .p-tools .btn, .products-block > div .p .p-bottom > div .p-tools .btn.btn-cart { display: inline-flex; align-items: center; height: 40px; min-width: 0; margin: 0;
    padding: 0 16px; font-size: 14px; line-height: 1.2; }
/* hvězdičky hodnocení (Shoptet je ukáže u produktu s recenzemi) a štítek „Doprava zdarma“ (.flags-extra): barvy z palety místo barev šablony */
.products-block .stars .star:before { color: var(--ew-line); }
.products-block .stars .star.star-on:before, .products-block .stars .star.star-half:before { color: var(--ew-link); }
.products-block .stars-wrapper { margin: 0 0 6px; font-size: 13px; }
.products-block .flags-extra .flag { margin: 0; padding: 4px 9px; border-radius: 6px; font-size: 12px !important; font-weight: 600; line-height: 1.2; text-transform: none !important;
    letter-spacing: 0; background-color: var(--ew-surface-2) !important; color: var(--ew-text) !important; }
/* štítky (Novinka, Tip): malé, bez verzálek, v modré akce */
.products-block .flags { position: absolute; top: 12px; left: 12px; margin: 0; }
.products-block .flag, .products-block .flag-text { margin: 0; padding: 4px 9px; border-radius: 6px; font-size: 12px !important; font-weight: 600; line-height: 1.2;
    text-transform: none !important; letter-spacing: 0; background-color: var(--ew-blue) !important; color: #fff !important; }
.products-block .p:hover .flag { opacity: 1; }   /* Techno štítek při najetí schová */
/* .products-page (kategorie) má mřížku se specifičností 0,2,0, bez ní by v kategorii zůstaly 4 sloupce i na mobilu (karty po 85 px) */
/* a skupina bez šipek (související produkty na detailu, málo karet), jinak 4 sloupce i na mobilu */
@media (max-width: 1199px) { .products-block, .products-page.products-block, .product-slider-holder:not(:has(.product-slider-navigation)) .products-block { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 991px) { .products-block, .products-page.products-block, .product-slider-holder:not(:has(.product-slider-navigation)) .products-block { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
    .products-page.products-block, .product-slider-holder:not(:has(.product-slider-navigation)) .products-block { gap: 10px; }
    .product-slider-holder:has(.product-slider-navigation) .products-block > div { padding: 0 5px !important; }
    .product-slider-holder .product-slider-navigation { top: 89px !important; }   /* střed fotky: okraj karty 14 + polovina 150 px */
    .product-slider-holder .product-slider-navigation.navigation-prev { left: 9px !important; }    /* na mobilu uvnitř karty, u okraje displeje */
    .product-slider-holder .product-slider-navigation.navigation-next { right: 9px !important; }
    .products-block > div .p .image img { height: 150px; padding: 10px; }
    .products-block > div .p .name span { font-size: 14px; }
    .products-block > div .p .price-final, .products-block > div .p .price-final strong { font-size: 16px; }
}
/* do 1399 px cena na vlastním řádku a tlačítko přes celou kartu: v užší kartě se cena vedle tlačítka lámala na dva řádky (Jakub 2. 11. 2026) */
@media (max-width: 1399px) {
    .products-block > div .p .p-bottom > div { flex-wrap: wrap; }
    .products-block > div .p .ratings-wrapper { padding-bottom: 11px; }   /* cena nad tlačítkem, už ne uprostřed 40px řádku */
    .products-block > div .p .p-bottom > div .p-tools, .products-block > div .p .p-bottom > div .p-tools .btn,
    .products-block > div .p .p-bottom > div .p-tools .btn.btn-cart, .products-block > div .p .p-bottom > div .p-tools form { width: 100%; justify-content: center; }
}

.products-block > div .p { padding: 20px 20px 22px; border: 1px solid var(--ew-line) !important; border-radius: var(--ew-radius);
    transition: background-color .2s ease; }
.products-block > div .p:hover { border-color: var(--ew-line) !important; background: var(--ew-surface) !important; }
.products-block > div .p .image { margin-bottom: 18px !important; }
.products-block > div .p .p-bottom { padding-top: 0; }   /* mezeru nad cenou dává dostupnost */
.products-block .flags { top: 0; left: 0; }
@media (max-width: 767px) { .products-block > div .p { padding: 14px 12px 16px; } }
/* KARTY:END */

/* dostupnost v detailu: barva stavu inline z administrace (viz karta produktu), počet kusů tlumeně */
.availability-label { font-weight: 500; }
.availability-amount { color: var(--ew-muted); font-weight: 400; }

/* ---------- Hlavní banner a banner vedle něj ---------- */
/* Oba jsou obrázky s textem (bannery/hero/build_hero.py), carousel má jeden snímek. Výšky se srovnají poměrem stran:
   hlavní 1060 × 500 ve 2/3 šířky, vedlejší 520 × 510 v 1/3 minus mezera 16 px. Na mobilu má každý vlastní obrázek. */
.banners-row { margin-top: 4px !important; }
.banners-row .carousel, .next-to-carousel-banners .banner-wrapper a { display: block; position: relative; overflow: hidden; margin: 0; border-radius: var(--ew-radius); }
.banners-row .carousel img, .next-to-carousel-banners .banner-wrapper img { display: block; width: 100%; height: auto; }
.banners-row .carousel-control, .banners-row .carousel-indicators { display: none !important; }
.next-to-carousel-banners .banner-wrapper { margin: 0 !important; width: 100%; }
@media (min-width: 768px) {
    .banners-row { display: flex; align-items: stretch; }
    .banners-row:before, .banners-row:after { display: none !important; }
    .banners-row > .col-sm-8 { flex: 0 0 66.6667%; max-width: 66.6667%; }
    .banners-row > .col-sm-4 { flex: 0 0 33.3333%; max-width: 33.3333%; padding-left: 16px !important; }
    /* vedlejší banner přesně na výšku hlavního (poměry stran se liší o zlomek pixelu) */
    .next-to-carousel-banners, .next-to-carousel-banners .banner-wrapper, .next-to-carousel-banners .banner-wrapper a { height: 100%; }
    .next-to-carousel-banners .banner-wrapper img { height: 100%; object-fit: cover; object-position: center bottom; }
}
@media (max-width: 767px) {
    .banners-row { margin: 12px 0 0 !important; }
    .banners-row > [class*=col-] { float: none; width: 100%; padding: 0 !important; }
    .next-to-carousel-banners .banner-wrapper { margin-top: 12px !important; }
}

/* ---------- Výhody (schválené 12. 10. 2026, varianta B): generuje varianty/build_benefity_css.py, mezi značkami needitovat ručně ---------- */
/* BENEFITY:START */
/* Výhody: společný základ. Generuje build_benefity_css.py. */
.benefitBanner.position--benefitHomepage, .benefitBanner.position--benefitProduct, .benefitBanner.position--benefitCategory { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 40px; row-gap: 32px;
    width: 100%; max-width: none; margin: var(--ew-section-gap) 0 0 !important; padding: 0 !important;
    background: none !important; border: 0 !important; border-radius: 0; box-shadow: none !important; }
.benefitBanner.position--benefitHomepage:before, .benefitBanner.position--benefitHomepage:after, .benefitBanner.position--benefitProduct:before, .benefitBanner.position--benefitProduct:after, .benefitBanner.position--benefitCategory:before, .benefitBanner.position--benefitCategory:after { display: none !important; }
.position--benefitHomepage .benefitBanner__item, .position--benefitProduct .benefitBanner__item, .position--benefitCategory .benefitBanner__item { display: block; flex: none; width: auto; margin: 0; overflow: visible; }
.position--benefitHomepage .benefitBanner__picture, .position--benefitProduct .benefitBanner__picture, .position--benefitCategory .benefitBanner__picture { display: flex; flex: none; max-width: none; margin: 0; }
.position--benefitHomepage .benefitBanner__img, .position--benefitProduct .benefitBanner__img, .position--benefitCategory .benefitBanner__img { display: block; width: var(--b-icon); height: var(--b-icon); max-width: none; }
.position--benefitHomepage .benefitBanner__content, .position--benefitProduct .benefitBanner__content, .position--benefitCategory .benefitBanner__content { padding: 0; overflow: visible; }
.position--benefitHomepage .benefitBanner__title, .position--benefitProduct .benefitBanner__title, .position--benefitCategory .benefitBanner__title { display: block; width: auto; margin: 0; color: #fff; font-weight: 500; letter-spacing: -.01em; text-wrap: balance; }
.position--benefitHomepage .benefitBanner__data, .position--benefitProduct .benefitBanner__data, .position--benefitCategory .benefitBanner__data { margin-top: 6px; color: var(--ew-muted); text-wrap: pretty; }
/* #content má na desktopu padding 20 px: sekce lícuje s hlavičkou a bannerem (111 px při 1400 px) */
@media (min-width: 768px) {
    .benefitBanner.position--benefitHomepage { margin-left: -20px !important; margin-right: -20px !important; width: auto; }
}
/* čtyři sloupce jen od 1200 px: užší sloupec by zalomil nadpis nebo popis na víc řádků (nadpis 1 řádek, popis 2) */
@media (max-width: 1199px) {
    .benefitBanner.position--benefitHomepage, .benefitBanner.position--benefitProduct, .benefitBanner.position--benefitCategory { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.benefitBanner.position--benefitHomepage, .benefitBanner.position--benefitProduct, .benefitBanner.position--benefitCategory { column-gap: 32px; }
.position--benefitHomepage, .position--benefitProduct, .position--benefitCategory { --b-icon: 44px; }
.position--benefitHomepage .benefitBanner__picture, .position--benefitProduct .benefitBanner__picture, .position--benefitCategory .benefitBanner__picture { margin-bottom: 16px; }
.position--benefitHomepage .benefitBanner__title, .position--benefitProduct .benefitBanner__title, .position--benefitCategory .benefitBanner__title { font-size: 18px; line-height: 1.3; }
.position--benefitHomepage .benefitBanner__data, .position--benefitProduct .benefitBanner__data, .position--benefitCategory .benefitBanner__data { margin-top: 6px; font-size: 15px; line-height: 1.55; }
/* čtyři sloupce i na tabletu (základ dává pod 1 200 px dva), jen menší */
@media (min-width: 768px) and (max-width: 1199px) {
    .benefitBanner.position--benefitHomepage, .benefitBanner.position--benefitProduct, .benefitBanner.position--benefitCategory { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 20px; }
    .position--benefitHomepage, .position--benefitProduct, .position--benefitCategory { --b-icon: 36px; }
    .position--benefitHomepage .benefitBanner__title, .position--benefitProduct .benefitBanner__title, .position--benefitCategory .benefitBanner__title { font-size: 16px; }
    .position--benefitHomepage .benefitBanner__data, .position--benefitProduct .benefitBanner__data, .position--benefitCategory .benefitBanner__data { font-size: 14px; }
}
/* mobil: pod sebou, ikona vlevo od textu jako ve variantě D */
@media (max-width: 767px) {
    .benefitBanner.position--benefitHomepage, .benefitBanner.position--benefitProduct, .benefitBanner.position--benefitCategory { grid-template-columns: 1fr; row-gap: 24px; }
    .position--benefitHomepage, .position--benefitProduct, .position--benefitCategory { --b-icon: 44px; }
    .position--benefitHomepage .benefitBanner__item, .position--benefitProduct .benefitBanner__item, .position--benefitCategory .benefitBanner__item { display: flex; align-items: center; gap: 16px; }
    .position--benefitHomepage .benefitBanner__picture, .position--benefitProduct .benefitBanner__picture, .position--benefitCategory .benefitBanner__picture { margin: 0; }
    .position--benefitHomepage .benefitBanner__title, .position--benefitProduct .benefitBanner__title, .position--benefitCategory .benefitBanner__title { font-size: 16px; }
    .position--benefitHomepage .benefitBanner__data, .position--benefitProduct .benefitBanner__data, .position--benefitCategory .benefitBanner__data { margin-top: 4px; font-size: 14px; }
}
/* detail produktu a kategorie: mezi fotkou nebo výpisem a výhodami stejná mezera jako mezi sekcemi homepage na mobilu */
.benefitBanner.position--benefitProduct, .benefitBanner.position--benefitCategory { margin: 48px 0 !important; }
/* BENEFITY:END */

/* ---------- Nadpisy sekcí (vlastní h2 v HTML banneru i nativní nadpis skupiny produktů): generuje varianty/build_nadpisy_css.py, mezi značkami needitovat ručně ---------- */
/* NADPISY:START */
/* Nadpisy sekcí: společný základ. Generuje build_nadpisy_css.py. */
.ew-head { margin: 0 0 32px; }
.ew-head--group { margin-top: var(--ew-section-gap); }
.ew-head__title { margin: 0; color: #fff; font-size: 28px; line-height: 1.2; font-weight: 500; letter-spacing: -.015em; text-wrap: balance; }
/* nativní nadpis skupiny produktů: stejný vzhled jako .ew-head__title */
.homepage-group-title { margin: var(--ew-section-gap) 0 32px !important; padding: 0 !important; color: #fff; font-size: 28px !important; line-height: 1.2;
    font-weight: 500 !important; letter-spacing: -.015em; text-transform: none !important; border: 0 !important; }
.homepage-group-title:before, .homepage-group-title:after { display: none !important; }
/* skupina s vlastním nadpisem z banneru: nativní div schovat */
.body-banners:has(.ew-head--group) + .homepage-group-title { display: none !important; }
@media (min-width: 768px) { .homepage-group-title, .ew-head--group { margin-left: -20px !important; margin-right: -20px !important; } }
@media (max-width: 767px) {
    .ew-head { margin-bottom: 24px; }
    .ew-head__title, .homepage-group-title { font-size: 24px !important; }
    .homepage-group-title { margin-bottom: 24px !important; }
}

.ew-head, .homepage-group-title { text-align: center !important; }
/* NADPISY:END */

/* ---------- Kategorie (schválené 12. 10. 2026, varianta B): generuje varianty/build_kategorie_css.py, mezi značkami needitovat ručně ---------- */
/* KATEGORIE:START */
/* Kategorie: společný základ. Generuje build_kategorie_css.py. */
.ew-cats { margin: var(--ew-section-gap) 0 0; }
@media (min-width: 768px) { .ew-cats { margin-left: -20px; margin-right: -20px; } }   /* #content má padding 20 px */
.ew-cats__grid { display: grid; }
.ew-cat, .ew-cat:hover { color: inherit; text-decoration: none !important; }
.ew-cat__img { display: block; object-fit: contain; filter: drop-shadow(0 14px 20px rgba(0, 0, 0, .5)); }
.ew-cat__name { display: block; color: #fff; font-weight: 500; letter-spacing: -.01em; }
.ew-cat__desc { display: block; color: var(--ew-muted); }


.ew-cats--b .ew-cats__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ew-cats--b .ew-cat { display: block; padding: 28px 24px 28px; border-radius: var(--ew-radius); background: var(--ew-surface); transition: background-color .2s ease; }
.ew-cats--b .ew-cat:hover { background: var(--ew-surface-2); }
.ew-cats--b .ew-cat__img { width: 100%; height: 170px; }
.ew-cats--b .ew-cat__name { margin-top: 28px; font-size: 18px; line-height: 1.3; }
.ew-cats--b .ew-cat__desc { margin-top: 6px; font-size: 14px; line-height: 1.55; }
@media (max-width: 1199px) {
    .ew-cats--b .ew-cats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .ew-cats--b .ew-cats__grid { gap: 10px; }
    .ew-cats--b .ew-cat { padding: 20px 16px; }
    .ew-cats--b .ew-cat__img { height: 120px; }
    .ew-cats--b .ew-cat__name { margin-top: 18px; font-size: 15px; }
    .ew-cats--b .ew-cat__desc { font-size: 13px; }
}
/* KATEGORIE:END */

/* ---------- Dárky podle rozpočtu (schválené 12. 10. 2026, varianta A3): generuje varianty/build_darky_css.py, mezi značkami needitovat ručně ---------- */
/* DARKY:START */
/* Dárky podle rozpočtu: společný základ. Generuje build_darky_css.py. */
.ew-dary { margin: var(--ew-section-gap) 0 0; }
@media (min-width: 768px) { .ew-dary { margin-left: -20px; margin-right: -20px; } }   /* #content má padding 20 px */
.ew-dary__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ew-dar, .ew-dar:hover { color: inherit; text-decoration: none !important; }
/* .ew-dary .ew-dar: Techno má .banner-wrapper a { display: inline-block }, vyšší specificita než samotná třída */
.ew-dary .ew-dar { display: flex; flex-direction: column; border-radius: var(--ew-radius); transition: background-color .2s ease; }
.ew-dar__img { position: relative; display: block; }
.ew-dar__img img { display: block; object-fit: contain; filter: drop-shadow(0 12px 18px rgba(0, 0, 0, .45)); }
.ew-dar__price { display: block; color: #fff; font-weight: 500; letter-spacing: -.01em; }
.ew-dar__desc { display: block; color: var(--ew-muted); text-wrap: balance; }   /* na mobilu dva vyrovnané řádky, ne osamělé slovo */
/* odkaz pod textem: barva odkazů, malá šipka, při najetí na dlaždici podtržení (šipka se nehýbe) */
.ew-dar__cta { display: inline-flex; align-items: center; gap: 6px; color: var(--ew-link); font-size: 14px; font-weight: 500; }
.ew-dar__cta svg { display: block; width: 16px; height: 16px; flex: none; }
.ew-dar:hover .ew-dar__cta { text-decoration: underline; text-decoration-thickness: var(--ew-u-tloustka); text-underline-offset: var(--ew-u-odsazeni); text-decoration-color: var(--ew-u-najeti); }
@media (max-width: 767px) {
    .ew-dary__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Dárky ve 3 sloupcích (schváleno 15. 10. 2026): stejné dlaždice s linkou jako schválená A3 (najetí = plocha), jen na výšku.
   Fotka nahoře, pak název, věta a odkaz; odkazy ve všech třech dlaždicích na stejné lince dole. Na mobilu pod sebou jako A3. */
.ew-dary--t3 .ew-dary__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ew-dary--t3 .ew-dar { padding: 28px 28px 26px; border: 1px solid var(--ew-line); }
.ew-dary--t3 .ew-dar:hover { background: var(--ew-surface); }
.ew-dary--t3 .ew-dar__img img { width: 100%; height: 170px; }
.ew-dary--t3 .ew-dar__price { margin-top: 24px; font-size: 26px; line-height: 1.15; letter-spacing: -.02em; }
.ew-dary--t3 .ew-dar__desc { margin-top: 10px; font-size: 15px; line-height: 1.6; }
.ew-dary--t3 .ew-dar__cta { margin-top: auto; padding-top: 16px; align-self: flex-start; }
@media (min-width: 768px) and (max-width: 1199px) {
    .ew-dary--t3 .ew-dar { padding: 24px 20px 22px; }
    .ew-dary--t3 .ew-dar__img img { height: 140px; }
    .ew-dary--t3 .ew-dar__price { font-size: 22px; }
}
@media (max-width: 767px) {
    .ew-dary--t3 .ew-dary__grid { grid-template-columns: 1fr; gap: 10px; }
    .ew-dary--t3 .ew-dar { display: grid; grid-template-columns: 28% 1fr; grid-template-rows: 1fr auto auto auto 1fr; column-gap: 16px;
        padding: 16px 14px 16px 6px; }
    .ew-dary--t3 .ew-dar__img { grid-column: 1; grid-row: 1 / 6; }
    .ew-dary--t3 .ew-dar__img img { height: 80px; }
    .ew-dary--t3 .ew-dar__price { grid-column: 2; grid-row: 2; margin-top: 0; font-size: 20px; }
    .ew-dary--t3 .ew-dar__desc { grid-column: 2; grid-row: 3; margin-top: 4px; font-size: 13px; }
    .ew-dary--t3 .ew-dar__cta { grid-column: 2; grid-row: 4; margin-top: 8px; padding-top: 0; font-size: 13px; }
}
/* DARKY:END */

/* ---------- Text na úvodní stránce (nativní blok Shoptetu): nadpis je zároveň H1 homepage ---------- */

/* Techno dává .welcome-wrapper.container-narrow pevnou šířku 1 178 px: na širokém okně by sekce byla užší než ostatní */
.welcome-wrapper { width: auto !important; max-width: none; margin: var(--ew-section-gap) 0 0; padding: 0; }
@media (min-width: 768px) { .welcome-wrapper { margin-left: -20px; margin-right: -20px; } }   /* #content má padding 20 px */
/* mřížka: vlevo obrázek přes celou výšku, vpravo nadpis a text (navazuje na dárky: fotka vlevo, text vpravo); nadpis (vypisuje ho Shoptet mimo obsah) se do sloupce dostane
   tak, že obaly obsahu (.welcome > div, .ew-uvod) jsou display: contents a jejich děti jsou přímo položky mřížky */
.welcome-wrapper .welcome { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: 1fr auto auto 1fr;
    column-gap: 64px; padding: 0; text-align: left; }
.welcome-wrapper .welcome > div:not(.h1), .welcome-wrapper .ew-uvod { display: contents; }
.welcome-wrapper .welcome .h1 { grid-column: 2; grid-row: 2; margin: 0 0 20px; color: #fff; font-size: 28px; line-height: 1.2; font-weight: 500;
    letter-spacing: -.015em; text-align: left; text-wrap: balance; }
.welcome-wrapper .ew-uvod__text { grid-column: 2; grid-row: 3; }
.welcome-wrapper .ew-uvod__foto { grid-column: 1; grid-row: 1 / 5; align-self: center; }
/* #content: Techno dává odstavcům #content p { margin: 0 0 22px } */
#content .welcome p { margin: 0 0 16px; color: var(--ew-muted); font-size: 16px; line-height: 1.75; text-wrap: pretty; }
#content .welcome p:last-child { margin-bottom: 0; }
.ew-uvod__foto { margin: 0; }
.ew-uvod__foto img { display: block; width: 100%; height: auto; border-radius: var(--ew-radius); }
/* odkazy v textu bílé s jemným podtržením (Jakub 12. 10.: v souvislém textu dávají bílé smysl), při najetí plné podtržení */
.welcome a { color: var(--ew-text); text-decoration: underline; text-decoration-thickness: var(--ew-u-tloustka); text-underline-offset: var(--ew-u-odsazeni);
    text-decoration-color: var(--ew-u-klid); }
.welcome a:hover { color: #fff; text-decoration-color: currentColor !important; }
@media (max-width: 767px) {
    .welcome-wrapper .welcome .h1 { font-size: 24px; }
    /* mobil: obrázek nahoře, pod ním nadpis a text */
    .welcome-wrapper .welcome { grid-template-columns: 1fr; grid-template-rows: auto auto auto; }
    .welcome-wrapper .ew-uvod__foto { grid-column: 1; grid-row: 1; margin-bottom: 24px; }
    .welcome-wrapper .welcome .h1 { grid-column: 1; grid-row: 2; }
    .welcome-wrapper .ew-uvod__text { grid-column: 1; grid-row: 3; }
    #content .welcome p { font-size: 15px; }
}

/* ---------- Formuláře, okna a ostatní stránky ---------- */
/* Jakub 19. 10. 2026: projít vyhledávání, přihlášení a registraci, 404, dotaz na prodejce, košík v hlavičce, související produkty */
/* hlavní tlačítko formulářů (Přihlásit se, Registrovat, Odeslat dotaz): Techno ho kreslí jako obrys v barvě odkazu; 404 má .btn-default */
.btn.btn-primary, a.btn.btn-primary, .empty-content a.btn.btn-default {
    display: inline-flex; align-items: center; justify-content: center; height: var(--ew-btn-h); padding: 0 var(--ew-btn-px);
    border: 0; border-radius: var(--ew-radius-sm); background: var(--ew-btn-bg); color: var(--ew-btn-text);
    font-size: var(--ew-btn-size); font-weight: var(--ew-btn-weight); text-transform: none; }
.btn.btn-primary:hover, a.btn.btn-primary:hover, .empty-content a.btn.btn-default:hover { background: var(--ew-btn-bg-hover); color: var(--ew-btn-text); }
.empty-content h1 { color: #fff; }   /* 404: Techno nadpis v barvě odkazu */
/* pole vyplněná prohlížečem: Chrome jim dává světle modrou plochu a popisek pak není vidět */
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, textarea:-webkit-autofill, select:-webkit-autofill {
    -webkit-text-fill-color: var(--ew-text); caret-color: var(--ew-text); -webkit-box-shadow: 0 0 0 1000px var(--ew-surface-2) inset; transition: background-color 9999s; }
/* souhlas pod formuláři (registrace, dotaz, diskuze): odkaz v textu bílý s jemným podtržením jako u newsletteru, ne tučně modrý */
.consents a { color: var(--ew-text); font-weight: 400; text-decoration: underline; text-decoration-color: var(--ew-u-klid) !important; }
.consents a:hover { color: #fff; text-decoration-color: currentColor !important; }
/* okno (Zeptat se, fotky produktu): Techno bílé pozadí, náš text je světlý */
#cboxContent, #cboxLoadedContent { background: var(--ew-surface) !important; color: var(--ew-text); }
#cboxContent, #cboxLoadedContent { border-radius: var(--ew-radius); }   /* vnitřní plocha bez zaoblení zakrývala rohy (audit 26. 10. 2026) */
/* Hlídací pes (zapnutý 21. 10. 2026): poznámka „(Už je skladem)“ velikostí jako popisek řádku, souhlas tlumeně jako u newsletteru,
   nadpis vlevo jako Dotaz na prodejce (Techno na střed) */
.watchdog-form .disclaimer { color: var(--ew-muted); font-size: 14px; }
.watchdog-form .consents .label { color: var(--ew-muted); font-size: 13px; line-height: 1.5; }
.watchdog-form .watchdog-title { text-align: left; }
#cboxClose { background: transparent !important; color: var(--ew-text); }
#colorbox #cboxClose { background: transparent !important; }   /* okno Nastavení cookies (.shoptet-modal-md) má křížek na světlé ploše */
#cboxClose:before { color: var(--ew-text); }
/* košík v hlavičce: hláška o dopravě zdarma v modré akce a tučně → text */
.cart-widget .cart-free-shipping, .cart-widget .cart-free-shipping strong { color: var(--ew-text); font-weight: 500; }
.cart-widget { border-radius: var(--ew-radius); }
/* hlášky nahoře (Produkt byl přidán do košíku, chyby; audit 26. 10. 2026): Techno sytě zelený nebo červený pruh 112 px, průsvitný
   přes hlavičku. Plocha z palety, stav nese linka dole (úspěch zelená, chyba červená, ostatní modrá odkazu) */
.messages .msg { padding: 20px 0; border: 0; border-bottom: 2px solid var(--ew-link); background: var(--ew-surface-2); color: var(--ew-text); opacity: 1;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .45); }
.messages .msg-success { border-bottom-color: var(--ew-green); }
.messages .msg-error { border-bottom-color: var(--colors-forms-critical); }
/* otazník s nápovědou (u dopravy, platby, parametrů): Techno bílý text na barvě odkazu, kontrast 2,2 : 1 */
body .question-tooltip { border-color: var(--ew-muted); background: transparent; color: var(--ew-muted); }
body .question-tooltip:hover { border-color: #fff; color: #fff; }
/* výsledky vyhledávání: Techno flex se 3 kartami, jinde mřížka se 4 */
.search-results .products-block { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0 !important; }
.search-results .products-block > div { width: auto !important; padding: 0 !important; }
@media (max-width: 1199px) { .search-results .products-block { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 991px) { .search-results .products-block { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .search-results .products-block { gap: 10px; } }
/* související produkty na detailu: holder má −28 px kvůli homepage (20 px padding #content a 8 px slideru); detail padding nemá, zbývá −8 px a karty lícují s logem */
@media (min-width: 768px) { .type-detail .products-related-wrapper.product-slider-holder { margin-left: -8px !important; margin-right: -8px !important; } }
/* výběrová pole formulářů (země v účtu i v pokladně): Techno kreslí šipku na světle šedém poli; šipka z palety maskou na obalu
   jako u výběru varianty (select pseudoprvky nemá) */
select.form-control { background-image: none !important; padding-right: 48px; cursor: pointer; }
.form-control-wrapper:has(> select.form-control) { position: relative; }
.form-control-wrapper:has(> select.form-control)::after { content: ""; position: absolute; top: 50%; right: 16px; width: 16px; height: 16px; margin-top: -8px; background: var(--ew-muted); pointer-events: none; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m6 9 6 6 6-6%22/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m6 9 6 6 6-6%22/%3E%3C/svg%3E") center / contain no-repeat; }
/* zákaznický účet (zkontrolovaný testovací registrací 21. 10. 2026): navigace účtu jako seznam bez odrážek, aktuální stránka bíle,
   Odhlásit se pod seznamem (Techno ho má jako druhou položku); vedlejší tlačítko (Přidat novou adresu) obrysem z palety */
.client-center-box ul { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.client-center-box li { margin: 0; padding: 0; }
.client-center-box li::before { display: none; }
.client-center-box li a:not(.btn) { display: block; padding: 6px 0; color: var(--ew-text); font-size: 15px; font-weight: 400; text-decoration: none; }
.client-center-box li a:not(.btn):hover { color: #fff; text-decoration: underline; text-decoration-thickness: var(--ew-u-tloustka); text-underline-offset: var(--ew-u-odsazeni); text-decoration-color: var(--ew-u-najeti); }
.client-center-box li.active a { color: #fff; font-weight: 500; }
.client-center-box li.logout { order: 99; margin-top: 16px; }
.customer-page .btn.btn-secondary { display: inline-flex; align-items: center; justify-content: center; height: var(--ew-btn-h); padding: 0 var(--ew-btn-px); border: 1px solid var(--ew-muted); border-radius: var(--ew-radius-sm); background: transparent; color: var(--ew-text); font-size: var(--ew-btn-size); font-weight: var(--ew-btn-weight); text-transform: none; }
.customer-page .btn.btn-secondary:hover { border-color: var(--ew-text); background: transparent; color: #fff; }
/* blok Můj účet / Odhlásit se patří do mobilního menu; na desktopu ho přihlášenému zákazníkovi Techno nechá v řádku menu a menu se posune */
@media (min-width: 768px) { #navigation .navigationActions { display: none !important; } }

/* ---------- Košík a pokladna ---------- */
/* Jakub 19. 10. 2026: „doladit košík a checkout“; bez verzálek a šipek v tlačítkách, plochy bez rámečků jako jinde */
/* kroky: Techno dává popisku kroku (strong) podklad v barvě plochy, na stránce byl vidět jako obdélník za „Nákupní košík“ */
.cart-header .step strong, .cart-header .step a { background: var(--ew-page) !important; }
/* Pokračovat: Techno verzálky na vnitřním spanu a šipka z ikonového písma (:after) */
.ordering-process .btn.btn-lg.next-step-forward { display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 0 28px; font-size: 16px; }
.ordering-process .next-step-forward .order-button-text { font-size: 16px; font-weight: var(--ew-btn-weight); text-transform: none; letter-spacing: 0; }   /* Techno 18 px / 400 */
.ordering-process .next-step-forward:after { display: none !important; }
/* odebrání z košíku: Techno ho na desktopu ukáže až při najetí na řádek */
.cart-table tr.removeable .remove-item { opacity: .6; }
.cart-table tr.removeable .remove-item:hover, .cart-table tr.removeable .remove-item:focus-visible { opacity: 1; }
/* Do košíku u souvisejících produktů pod položkou (audit 26. 10. 2026): zdědí písmo 20 px z tlačítek pokladny, na mobilu výšku 24 px;
   velikost jako v kartě produktu */
#content .cart-related-product .btn { display: inline-flex; align-items: center; justify-content: center; height: 40px; padding: 0 16px;
    font-size: 14px; line-height: 1; }
/* doprava a platba: názvy 500 (Techno 600), vybraná možnost na ploše, ne modře */
.ordering-process .radio-wrapper .shipping-billing-name { color: var(--ew-text) !important; font-size: 15px; font-weight: 500; }
.ordering-process .radio-wrapper.active { border-radius: var(--ew-radius-sm); background: var(--ew-surface); }
.ordering-process .radio-wrapper.active .shipping-billing-name { color: #fff !important; }
/* „ZDARMA“ posílá Shoptet verzálkami; u ceny dopravy (třída for-free) malými s velkým prvním písmenem.
   V rekapitulaci třídu nemá a stejné pravidlo by z „Kč“ udělalo „kč“, tam zůstává */
.payment-shipping-price.for-free { display: inline-block; text-transform: lowercase; }
.payment-shipping-price.for-free::first-letter { text-transform: uppercase; }
/* boxy vpravo (kontakt, rekapitulace): plocha bez rámečku jako dlaždice */
.order-summary .checkout-box, .order-summary .order-summary-inner { border: 0 !important; border-radius: var(--ew-radius); background: var(--ew-surface) !important; }
.order-summary .checkout-box { margin-bottom: 16px; padding: 16px 20px; }
.order-summary .order-summary-inner { padding: 24px; }
.order-summary .cart-item-name a { color: var(--ew-text); text-decoration: none; }
.order-summary .cart-item-name a:hover { color: #fff; text-decoration: underline; text-decoration-thickness: var(--ew-u-tloustka); text-underline-offset: var(--ew-u-odsazeni); text-decoration-color: var(--ew-u-najeti); }

/* Košík a pokladna bez rozptylování (Jakub 22. 10. 2026): bez menu, hledání a horní lišty, telefon a e-mail vpravo v řádku hlavičky
   (větší, ikony bílé), bez boxu „Potřebujete pomoc?“. Kontakty jsou vložené HTML na konci stránky (absolute nahoře), proto tu
   hlavička nelepí: při posunu by kontakty odjely a hlavička zůstala. Lepení rekapitulace vpravo dělá skript Shoptetu (checkout-3g.js) */
.ordering-process .top-navigation-bar, .ordering-process #navigation, .ordering-process #header .navigation-buttons,
.ordering-process .order-summary .checkout-box:has(.toggle-contacts) { display: none !important; }
.ordering-process #header { position: relative !important; }
.ordering-process .top-contact { z-index: 60; }   /* hlavička má z-index 50 */
.ordering-process .top-contact .container { justify-content: flex-end; height: var(--h-row); gap: 32px; }
.ordering-process .ew-contact { gap: 10px; font-size: 16px; }
.ordering-process .ew-contact .ew-ico { width: 18px; height: 18px; color: #fff; }
@media (max-width: 767px) {
    body.ordering-process { padding-top: 0; }
    .ordering-process .top-contact { height: 64px; background: transparent; }
    .ordering-process .top-contact .container { height: 64px; gap: 18px; }
    .ordering-process .ew-contact { gap: 7px; font-size: 14px; }
    .ordering-process .ew-contact .ew-ico { width: 15px; height: 15px; }
}
/* tlačítko dalšího kroku výrazné (Jakub 22. 10.): aspoň 320 px, na mobilu přes celou šířku; Objednat bez verzálek */
.ordering-process .next-step .btn.btn-conversion { min-width: 320px; min-height: 56px; }
.ordering-process .next-step-back { white-space: nowrap; }
.ordering-process .next-step-finish { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 8px 28px; text-transform: none; }
.ordering-process .next-step-finish .order-button-text { font-size: 16px; font-weight: var(--ew-btn-weight); text-transform: none; letter-spacing: 0; }
.ordering-process .next-step-finish .order-button-suffix { font-size: 13px; font-weight: 400; text-transform: none; }
@media (max-width: 767px) { .ordering-process .next-step .btn.btn-conversion { width: 100%; min-width: 0; } }
/* pole formulářů v obsahu (pokladna, registrace, účet, kontaktní formulář, okna, přihlášení z hlavičky): bez plochy, bílý rámeček,
   zaoblení jako tlačítka. Předvolba telefonu (vlajka a +420) jako samostatné pole stejného vzhledu; popisek Telefon Shoptet posouvá
   inline stylem o šířku vlajky */
#content .form-control, #cboxContent .form-control, .login-widget .form-control, #content .phone-combined-input .country-flags {
    border: 1px solid var(--ew-field-line); border-radius: var(--ew-radius-sm); background: transparent; box-shadow: none; }
#content .form-control:hover, #cboxContent .form-control:hover, .login-widget .form-control:hover,
#content .phone-combined-input .country-flags:hover { border-color: var(--ew-field-line-hover); }
#content .form-control:focus, #cboxContent .form-control:focus, .login-widget .form-control:focus { border-color: var(--ew-link); outline: none; box-shadow: none; }
/* pole s chybou (prázdné povinné, špatný e-mail; audit 26. 10. 2026): Techno ho obtáhne červeně, pravidla výše to přebíjela */
#content .form-control.error-field, #cboxContent .form-control.error-field, .login-widget .form-control.error-field { border-color: var(--colors-forms-critical); }
.phone-combined-input .country-flags { box-sizing: border-box; width: 116px; height: 64px; margin-right: 8px; padding: 0 12px; justify-content: center; }
.phone-form-group label { left: 124px !important; }
input[type=checkbox] + label::before { border-radius: 4px; }   /* všechna zaškrtávátka (formuláře i filtry v kategorii, ty jsou mimo #content) */
/* počet kusů v košíku jako pole, ne jako box */
.cart-table .quantity { border: 1px solid var(--ew-field-line); border-radius: var(--ew-radius-sm); background: transparent !important; }
.cart-table .quantity:hover { border-color: var(--ew-field-line-hover); }
.cart-table .quantity input.amount { border: 0; background: transparent !important; }
/* bublina u otazníku (popis dopravy a platby, dostupnost): Techno černá s textem na střed, tady plocha z palety s rámečkem polí */
.tooltip.in { opacity: 1; }
.tooltip .tooltip-inner { max-width: 280px; padding: 10px 14px; border: 1px solid var(--ew-field-line); border-radius: var(--ew-radius-sm); background: var(--ew-surface-2); color: var(--ew-text); font-size: 13px; line-height: 1.5; text-align: left; }
.tooltip.top .tooltip-arrow { border-top-color: var(--ew-surface-2); }
.tooltip.bottom .tooltip-arrow { border-bottom-color: var(--ew-surface-2); }
.tooltip.left .tooltip-arrow { border-left-color: var(--ew-surface-2); }
.tooltip.right .tooltip-arrow { border-right-color: var(--ew-surface-2); }
/* logo PPL u dopravy: výchozí logo Shoptetu (tmavě modré PPL + DHL) je na tmavé ploše nečitelné a vlastní logo u doprav Shoptet
   Balíků Shoptet ignoruje. Proto oficiální bílé logo PPL bez DHL (ppl.cz → Ke stažení pro firmy → PPL_CZ_logo.zip,
   Logo-PPL-svetly-bg-1.png; Jakub 22. 10. 2026) jako pozadí obalu, výchozí obrázek skrytý. Zdroj sablona/ikony/doprava/ */
.ordering-process .radio-wrapper .payment-logo:has(img[src*="logistics-ppl"]) { background: url("/user/documents/upload/ew-ppl-bile.png") center / contain no-repeat; }
.ordering-process .radio-wrapper .payment-logo img[src*="logistics-ppl"] { visibility: hidden; }
/* krok 3: výzva pod „Zadat poznámku pro prodejce“ (do sbírky, nebo na otevření; klient chce poslat sběratelům nejhezčí krabici,
   Jakub 22. 10. 2026). Odstavec vkládá skript v HTML kódech (Zápatí), Shoptet úpravu textů pokladny nemá; odsazení = odsazení popisku */
.ew-poznamka-tip { max-width: 520px; margin: -12px 0 20px; padding-left: 30px; color: var(--ew-muted); font-size: 14px; line-height: 1.5; }

/* ---------- Kategorie ---------- */
/* Jakub 19. 10. 2026: vlevo jen filtry jako na svetzbrani.cz (kategorie, online platby a Top 10 odebrané v Prvcích, kategorie jsou v menu) */
.sidebar .box { margin: 0 0 16px; padding: 20px; border: 0 !important; border-radius: var(--ew-radius); background: var(--ew-surface) !important; }
.sidebar .sidebar-inner > .box:first-child { margin-top: 0; }   /* Techno dává filtrům nahoře 22 px, panel by začínal níž než H1 */
/* Pokémon karty (711) má od 21. 10. 2026 všechny kategorie jako podkategorie; jejich rozcestník (bez obrázků kategorií s ikonou
   fotoaparátu) Jakub zatím nechce, kategorie jsou v menu */
.id-711 .category-top > .subcategories { display: none; }
/* filtry: rozbalené jako na svetzbrani.cz; filtr značek skrytý, všechno je The Pokémon Company (jediná volba nic nefiltruje)
   #filters je v levém panelu i v rozbalovacím filtru na mobilu (tam mimo .box-filters) */
#filters h4 { margin: 0 0 12px; color: #fff; font-size: 16px; font-weight: 500; text-transform: none; }
#filters .slider-header { color: var(--ew-muted); font-size: 14px; }
#filters .slider-wrapper { padding: 0; }   /* Techno 11 + 22 px a pod posuvníkem dalších 20 px: k lince by bylo 62 px */
#filters .slider-content { margin: 0; padding: 8px 9px; }
#filters #slider { height: 4px; border: 0; border-radius: 2px; background: var(--ew-line); }
#filters #slider .ui-slider-range { border-radius: 2px; background: var(--ew-link); }
#filters #slider .ui-slider-handle { top: -7px; width: 18px; height: 18px; margin-left: -9px; border: 0; border-radius: 50%; background: #fff; cursor: grab; }
#filters .filter-section-button { display: none; }
#filters #category-filter-hover { display: block !important; }
#filters #manufacturer-filter { display: none; }
#filters .filter-section { margin: 20px 0 0; padding: 20px 0 0; border: 0; border-top: 1px solid var(--ew-line); background: none; }
#filters .filter-label { color: var(--ew-text); font-size: 15px; font-weight: 400; }
#filters .filter-count { color: var(--ew-muted); background: var(--ew-surface-2); }
/* dlouhý název edice se na tabletu (sloupec 190 px) zalomí: počet pak spadl pod název a zaškrtávátko do středu dvou řádků.
   Počet vpravo na prvním řádku, zaškrtávátko u prvního řádku (audit 26. 10. 2026). Na mobilu stojí počet hned za názvem, beze změny */
@media (min-width: 768px) {
    #filters .filter-label { display: inline-flex; align-items: flex-start; gap: 8px; }
    #filters .filter-label .filter-count { flex: none; margin-left: auto; }
    #filters .filter-label::before, #filters .filter-label::after { top: .5lh; }
}
#filters .filter-sections, #filters .param-filter-top { padding: 0; background: none; }
@media (max-width: 767px) { .filters-wrapper #filters { margin: 12px 0 16px; padding: 20px; border-radius: var(--ew-radius); background: var(--ew-surface); } }
/* Nejprodávanější: dvě široké položky vedle sebe (obrázek, název, dostupnost na jednom řádku, cena), pod blokem linka */
.products-top-wrapper { margin: 0 0 32px; padding: 0 0 32px; border-bottom: 1px solid var(--ew-line); }
.products-top-wrapper .toggle-top-products { font-weight: 500; }   /* Zobrazit více produktů: odkaz, ne tlačítko (Techno .btn → 600) */
.products-top-header { margin: 0 0 20px; color: #fff; font-size: 22px; font-weight: 500; }
#productsTop { gap: 16px 32px; margin: 0; }
#productsTop > .product { width: calc(50% - 16px); padding: 0; }
#productsTop .p { gap: 16px; }
#productsTop .image { flex: none; width: 72px; }
#productsTop .image img { width: 72px; height: 72px; object-fit: contain; }
#productsTop .p-in { padding: 0; }
#productsTop .name { color: var(--ew-text); font-size: 15px; font-weight: 400; line-height: 1.4; text-decoration: none; }
#productsTop .name:hover { color: #fff; text-decoration: underline; text-decoration-thickness: var(--ew-u-tloustka); text-underline-offset: var(--ew-u-odsazeni); text-decoration-color: var(--ew-u-najeti); }
#productsTop .availability { margin: 4px 0 0; font-size: 13px; }
#productsTop .availability .availability-amount { color: var(--ew-muted); }
#productsTop .price-final, #productsTop .price-final strong { color: #fff; font-size: 16px; font-weight: 600; }
.category-header-pagination { color: var(--ew-muted); font-size: 14px; }
/* Řadit podle: popisek 400, vybrané řazení 500 (z bloku vah), stejně jako „Stránka 1 z 2“ vlevo (26. 10. 2026: obojí bylo tučné) */
.category-header .sortingToggle { font-weight: 400; }
/* Řadit podle, rozbalená nabídka (audit 26. 10. 2026): Techno bílá plocha se stínem, naše světlé položky na ní nebyly vidět */
.listSorting__controls--dropdown { min-width: 200px; padding: 6px; border: 1px solid var(--ew-field-line); border-radius: var(--ew-radius-sm);
    background: var(--ew-surface-2); box-shadow: 0 16px 32px rgba(0, 0, 0, .45); }
.listSorting__controls--dropdown .listSorting__control { display: block; width: 100%; padding: 8px 12px; border-radius: 6px; color: var(--ew-text);
    font-size: 15px; text-align: left; }
.listSorting__controls--dropdown .listSorting__control:hover { background: var(--ew-surface); color: #fff; }
.listSorting__controls--dropdown .listSorting__control--current { color: #fff; }
@media (max-width: 767px) {
    #productsTop > .product { width: 100%; }
    /* Řadit podle a Otevřít filtr: Techno rámeček v modré akce, tady plocha jako ostatní dlaždice */
    .category-header .sortingToggle, .filters-unveil-button-wrapper .btn { height: 48px; border: 1px solid var(--ew-line) !important; border-radius: var(--ew-radius-sm);
        background: var(--ew-surface) !important; color: var(--ew-text) !important; font-size: 15px; font-weight: 500; }
    .listSorting__controls--dropdown { margin-top: 6px; }   /* nabídka pod dlaždicí, ne přilepená */
}
/* Načíst další, stránkování a Nahoru pod výpisem (audit 26. 10. 2026): Techno ostré obrysy v barvě odkazu, 52 px. Jako vedlejší
   tlačítko v účtu (obrys z palety, 48 px, zaoblení 8 px); čísla stránek bez obrysu, aktuální stránka na ploše */
.listingControls .btn, .listingControls a.btn, .listingControls .pagination__list a.pagination__link { display: inline-flex; align-items: center;
    justify-content: center; height: var(--ew-btn-h); padding: 0 var(--ew-btn-px); border: 1px solid var(--ew-muted); border-radius: var(--ew-radius-sm);
    background: transparent; color: var(--ew-text); font-size: var(--ew-btn-size); font-weight: var(--ew-btn-weight); }
.listingControls .btn:hover, .listingControls a.btn:hover, .listingControls .pagination__list a.pagination__link:hover { border-color: var(--ew-text);
    background: transparent; color: #fff; }
/* čtverečky stránkování: Techno výšku drží přes min-height a line-height 3,25 em */
.listingControls .pagination__list a.pagination__link, .listingControls .pagination__list .pagination__currentPage { width: var(--ew-btn-h);
    height: var(--ew-btn-h); min-height: 0; padding: 0; line-height: 1; }
.listingControls .pagination__list a.pagination__link:not(.btn) { border-color: transparent; font-weight: 400; }
.listingControls .pagination__currentPage { display: inline-flex; align-items: center; justify-content: center; border-radius: var(--ew-radius-sm);
    background: var(--ew-surface-2); color: #fff; font-weight: var(--ew-btn-weight); }

/* ---------- Detail produktu ---------- */

.p-detail, .p-detail-inner, .p-data-wrapper, .p-image-wrapper, .p-detail-tabs-wrapper, .tab-content, .description-inner { background: transparent; }
.p-detail-inner-header h1 { font-weight: 500; color: #fff; }
/* fotka bez vnitřního okraje (Jakub 19. 10. 2026), na desktopu horní hrana v úrovni textu drobečkové navigace, která je jen nad pravým sloupcem */
.p-image {
    background: var(--ew-surface);
    border-radius: var(--ew-radius);
    padding: 0;
}
@media (min-width: 992px) { .type-detail .wide .p-image-wrapper { margin-top: -40px; } }
@media (min-width: 1200px) { .type-detail .narrow .p-image-wrapper { margin-top: -40px; } }
.p-image img { filter: drop-shadow(0 18px 26px rgba(0, 0, 0, .5)); }
.p-short-description { color: var(--ew-muted); line-height: 1.6; }
.detail-parameters th, .detail-parameters td, .row-header-label { color: var(--ew-text); background: transparent; }
.detail-parameters th { color: var(--ew-muted); }
/* Techno kreslí u parametrů tečkovanou čáru a popisek zakrývá bílým podkladem; podklad = barva stránky */
.detail-parameters th .row-header-label,
.detail-parameters th > span { background: var(--ew-page) !important; color: var(--ew-muted); }
.detail-parameters td > span, .detail-parameters td { background: var(--ew-page); }
/* Pravý sloupec podle Světa zbraní (Jakub 19. 10. 2026: „buy box zpřehlednit a zjednodušit“): název a hodnocení, krátký popis,
   výrazně „Skladem“ bez popisku a teček, nákupní řádek (cena, počet, Do košíku), drobné odkazy. Značku a kód produktu Jakub
   nechce vůbec („v buy boxu není potřeba brand ani interní kód“), proto skryté i v mobilní hlavičce nad fotkou.
   Rozestupy („ať to líp dýchá“): název → hodnocení 12, → popis 24, → Skladem 28, → nákupní řádek 16, → odkazy 24 px */
.type-detail .p-data-wrapper { align-self: flex-start; }
.type-detail .ratings-and-brand .brand-wrapper,
.type-detail .p-data-wrapper .detail-parameters tr.p-code { display: none; }
.type-detail .p-detail-inner h1 { margin-bottom: 12px; }
.type-detail .p-detail-inner .p-detail-inner-header { margin-bottom: 0; }
.type-detail .p-short-description { margin: 24px 0 0; font-size: 15px; }
.type-detail #content .p-short-description > :last-child { margin-bottom: 0; }
/* Výběr varianty (první produkt s variantami 19. 10. 2026, Eevee Binder Gift Box): pole jako ostatní formuláře, šířka nákupního
   řádku, šipka z palety místo šedého pole Techna (maskou na obalu, select pseudoprvky nemá) */
.type-detail .p-data-wrapper .variant-list { margin: 24px 0 0; padding-bottom: 0; }   /* bez 22 px Techna: pole → Skladem 28 px jako jinde (Jakub 2. 11. 2026: „zbytečné mezery“) */
.type-detail .p-data-wrapper .variant-list .variant-label { display: block; margin: 0 0 8px; padding: 0 !important; color: var(--ew-muted); font-size: 14px; font-weight: 400; }   /* Techno dává 11 px dole */
.type-detail .p-data-wrapper #simple-variants { position: relative; max-width: none; }
.type-detail .p-data-wrapper #simple-variants::after { content: ""; position: absolute; top: 50%; right: 16px; width: 16px; height: 16px; margin-top: -8px; background: var(--ew-muted); pointer-events: none; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m6 9 6 6 6-6%22/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m6 9 6 6 6-6%22/%3E%3C/svg%3E") center / contain no-repeat; }
.type-detail .p-data-wrapper #simple-variants select { width: 100%; max-width: none; height: var(--ew-btn-h); padding: 0 48px 0 16px; background: var(--ew-surface-2); background-image: none; border: 1px solid var(--ew-line); border-radius: var(--ew-radius-sm); color: var(--ew-text); font-size: 16px; cursor: pointer; }   /* 16 px: iOS při menším písmu po klepnutí přibližuje stránku */
.type-detail .p-data-wrapper #simple-variants select:hover { border-color: var(--ew-muted); }
.type-detail .p-data-wrapper #simple-variants select:focus { border-color: var(--ew-link); outline: none; }
/* místo dostupnosti před výběrem varianty Techno píše „Zvolte variantu“; tlumeně, ať neopakuje pole jako nadpis */
.type-detail .p-data-wrapper .detail-parameters .default-variant .availability-label { color: var(--ew-muted); font-size: 15px; font-weight: 400; }
.type-detail .p-data-wrapper .detail-parameters { margin: 28px 0 16px; }
.type-detail .p-data-wrapper .detail-parameters tr:has(.availability-label) th { display: none; }
.type-detail .p-data-wrapper .detail-parameters tr:has(.availability-label) td { padding: 0; font-size: 18px; font-weight: 500; }
.type-detail .p-data-wrapper .detail-parameters .availability-label { margin-left: 0; }
.type-detail .p-data-wrapper .detail-parameters .availability-amount { color: var(--ew-muted); font-weight: 400; }
.type-detail .p-to-cart-block { flex-wrap: wrap; gap: 16px 0; margin: 0 0 4px; padding: 0; background: none !important; border: 0; border-radius: 0; }
/* Nákupní blok (Jakub 2. 11. 2026, varianta B): cena na vlastním řádku, tmavý počet navazuje na bílé Do košíku bez mezery, společné zaoblení, bez podkladu a rámečku, tlačítko nejvýš 340 px */
.type-detail .p-to-cart-block .p-final-price-wrapper { flex: 0 0 100%; margin: 0; }
.type-detail .p-to-cart-block .add-to-cart { flex: none; margin: 0; }
.type-detail .p-to-cart-block .quantity { position: relative; display: block; box-sizing: border-box; width: 132px; height: var(--ew-btn-h); padding: 0 40px; border: 1px solid var(--ew-field-line); border-right: 0; border-radius: var(--ew-radius-sm) 0 0 var(--ew-radius-sm); overflow: hidden; background: transparent; color: var(--ew-text); }
.type-detail .p-to-cart-block .quantity:hover { border-color: var(--ew-field-line-hover); }
.type-detail .p-to-cart-block .quantity label { display: block; width: 100%; height: 100%; margin: 0; }
.type-detail .p-to-cart-block .quantity input.amount { display: block; width: 100%; height: 100%; padding: 0; border: 0; border-radius: 0; background: transparent !important; color: inherit; font-size: 16px; font-weight: 500; text-align: center; box-shadow: none; }
.type-detail .p-to-cart-block .quantity .increase, .type-detail .p-to-cart-block .quantity .decrease { position: absolute; top: 0; bottom: 0; display: flex; align-items: center; justify-content: center; width: 40px; height: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; cursor: pointer; }
.type-detail .p-to-cart-block .quantity .increase { right: 0; left: auto; }
.type-detail .p-to-cart-block .quantity .decrease { left: 0; right: auto; }
.type-detail .p-to-cart-block .quantity .increase:hover, .type-detail .p-to-cart-block .quantity .decrease:hover { color: #fff; background: var(--ew-surface-2); }
.type-detail .p-to-cart-block .quantity .increase::before, .type-detail .p-to-cart-block .quantity .decrease::before { content: ""; position: static; display: block; flex: none; width: 16px; height: 16px; background: currentColor; border: 0; transform: none; }
.type-detail .p-to-cart-block .quantity .increase::after, .type-detail .p-to-cart-block .quantity .decrease::after { display: none; }
.type-detail .p-to-cart-block .quantity .increase::before { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22%3E%3Cpath d=%22M5 12h14%22/%3E%3Cpath d=%22M12 5v14%22/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22%3E%3Cpath d=%22M5 12h14%22/%3E%3Cpath d=%22M12 5v14%22/%3E%3C/svg%3E") center / contain no-repeat; }
.type-detail .p-to-cart-block .quantity .decrease::before { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22%3E%3Cpath d=%22M5 12h14%22/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22%3E%3Cpath d=%22M5 12h14%22/%3E%3C/svg%3E") center / contain no-repeat; }
.type-detail .p-to-cart-block .add-to-cart-button { flex: 1 1 0; min-width: 0; max-width: 340px; height: var(--ew-btn-h); min-height: 0; margin: 0; border-radius: 0 var(--ew-radius-sm) var(--ew-radius-sm) 0; }
.type-detail .p-to-cart-block:not(:has(.quantity)) .add-to-cart-button { border-radius: var(--ew-radius-sm); }
/* Do košíku s taškou z hlavičky (Jakub 19. 10. 2026), čára 2 px, aby u písma 600 nebyla tenká */
.type-detail .p-to-cart-block .add-to-cart-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
.type-detail .p-to-cart-block .add-to-cart-button:before { content: ""; flex: none; width: 20px; height: 20px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z%22/%3E%3Cpath d=%22M3 6h18%22/%3E%3Cpath d=%22M16 10a4 4 0 0 1-8 0%22/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z%22/%3E%3Cpath d=%22M3 6h18%22/%3E%3Cpath d=%22M16 10a4 4 0 0 1-8 0%22/%3E%3C/svg%3E") center / contain no-repeat; }
.type-detail .social-buttons-wrapper { padding: 20px 0 0; }
.quantity, .quantity input, .quantity button { background: var(--ew-surface-2); color: var(--ew-text); border-color: var(--ew-line); }
/* hodnocení pod názvem a odkazy Zeptat se / Sdílet: drobné a tlumené, podtržení až při najetí (jako ostatní samostatné odkazy) */
.type-detail .stars-wrapper, .type-detail .stars-label { color: var(--ew-muted); font-size: 14px; }
.type-detail .stars-wrapper .btn--link { padding: 0; color: var(--ew-link); font-size: 14px; font-weight: 400; text-decoration: none; }
.type-detail .ratings-and-brand { row-gap: 8px; }
.type-detail .p-detail-inner-header-mobile { margin: 16px 0; }
.type-detail .link-icons a.link-icon { color: var(--ew-muted); font-size: 14px; }
.type-detail .link-icons a.link-icon span { text-decoration: none; }   /* Techno podtrhává vnitřní span */
.type-detail .stars-wrapper .btn--link:hover, .type-detail .link-icons a.link-icon:hover span { color: #fff; text-decoration: underline; }
.type-detail .link-icons a.link-icon:hover { color: #fff; }
/* odkaz Tisk na detailu produktu nechceme (Jakub 2. 11. 2026); administrace ani Návrhář na něj přepínač nemají */
.type-detail .link-icons a.link-icon.print { display: none; }
/* Sdílet → Zavřít: Techno verzálky v barvě odkazu; jako odkaz Zeptat se, na jehož místě se ukáže (audit 26. 10. 2026) */
.type-detail .social-buttons .close-after { color: var(--ew-muted); font-size: 14px; text-transform: none; text-decoration: none; }
.type-detail .social-buttons .close-after:hover { color: #fff; text-decoration: underline; text-decoration-thickness: var(--ew-u-tloustka);
    text-underline-offset: var(--ew-u-odsazeni); text-decoration-color: var(--ew-u-najeti); }
/* parametry pod popisem: nadpis jako ostatní nadpisy (500), kategorie jako samostatný odkaz (modrá, bez tučného písma) */
.type-detail .extended-description p strong { color: #fff; font-size: 18px; font-weight: 500; }
.type-detail .extended-description a { color: var(--ew-link); font-weight: 400; text-decoration: none; }
.type-detail .extended-description a:hover { color: #fff; text-decoration: underline; }
/* Podrobný popis (osnova popisku sealed, 19. 10. 2026): nadpis blíž svému textu než předchozímu bloku, otázka u své odpovědi;
   rytmus jako právní stránky (.ew-pravni), váha nadpisů 500 */
.type-detail .basic-description h2 { margin: 36px 0 12px; color: #fff; font-size: 22px; line-height: 1.3; }
.type-detail .basic-description > :first-child { margin-top: 0; }
.type-detail .basic-description h3 { margin: 24px 0 6px; color: #fff; font-size: 17px; line-height: 1.4; }
.type-detail #content .basic-description p { margin: 0 0 12px; }
.type-detail .basic-description ul { margin: 0 0 12px; }
.shp-tabs-wrapper, .shp-tabs { background: transparent; border-color: var(--ew-line); }
.shp-tab-link { color: var(--ew-muted) !important; font-size: 22px !important; font-weight: 500 !important; }
.shp-tab.active .shp-tab-link { color: #fff !important; border-color: var(--ew-blue) !important; }
/* Popis a parametry pod výhodami na vlastní ploše jako fotka (Jakub 19. 10. 2026: pod výhodami „hodně slité dohromady“),
   záložky vlevo s linkou pod nimi jako na svetzbrani.cz; podklad popisků parametrů (zakrývá tečkovanou čáru) = barva plochy */
.type-detail .p-detail-tabs-wrapper { padding: 0 32px 40px; background: var(--ew-surface); border-radius: var(--ew-radius); }
.type-detail .p-detail-tabs-wrapper .shp-tabs-row { margin-bottom: 32px; }
.type-detail .p-detail-tabs-wrapper .shp-tabs-holder { text-align: left; border-bottom: 1px solid var(--ew-line); }
.type-detail .p-detail-tabs-wrapper ul.shp-tabs { margin: 0; }
.type-detail .p-detail-tabs-wrapper .shp-tab { margin-right: 40px; }
.type-detail .p-detail-tabs-wrapper ul.shp-tabs a.shp-tab-link { padding: 20px 0 16px; }   /* Techno 11px 40px: první záložka by nezačínala v ose textu */
/* Techno podtrhává aktivní záložku a záložku při najetí 2 px / 6 px; sjednoceno na 1 px / 4 px, najetí 50 % barvy */
.shp-tabs-holder ul.shp-tabs .shp-tab.active,
.shp-tabs-holder ul.shp-tabs .shp-tab:hover { text-decoration-thickness: var(--ew-u-tloustka); text-underline-offset: var(--ew-u-odsazeni); }
.shp-tabs-holder ul.shp-tabs .shp-tab:not(.active):hover { color: var(--ew-muted); text-decoration-color: var(--ew-u-najeti); }   /* podtržení z barvy textu záložky */
.type-detail .p-detail-tabs-wrapper .detail-parameters th .row-header-label,
.type-detail .p-detail-tabs-wrapper .detail-parameters th > span,
.type-detail .p-detail-tabs-wrapper .detail-parameters td > span,
.type-detail .p-detail-tabs-wrapper .detail-parameters td { background: var(--ew-surface) !important; }
@media (max-width: 767px) {
    .type-detail .p-detail-tabs-wrapper { padding: 0 20px 28px; }
    .type-detail .p-detail-tabs-wrapper .detail-parameters th { min-width: 0; width: 40%; }   /* Techno min. 205 px, hodnotě (EAN) zbylo 125 px a lámala se */
}
/* Diskuze ve stejné ploše: bez odsazení 68 px od Techna, tlačítko jako ostatní, souhlas jako u newsletteru */
.type-detail #extendedDescription, .type-detail #productDiscussion, .type-detail #otherInformation { margin: 0; }   /* Parametry (doplněno 26. 10.), Ostatní informace = údaje o výrobci (GPSR) */
.type-detail #productDiscussion .btn { height: var(--ew-btn-h); padding: 0 var(--ew-btn-px); border: 0; border-radius: var(--ew-radius-sm); background: var(--ew-btn-bg); color: var(--ew-btn-text); font-size: var(--ew-btn-size); font-weight: var(--ew-btn-weight); }
.type-detail #productDiscussion .btn:hover { background: var(--ew-btn-bg-hover); color: var(--ew-btn-text); }
.type-detail #productDiscussion .label a { color: var(--ew-text); font-weight: 400; text-decoration: underline; text-decoration-color: var(--ew-u-klid) !important; }
.type-detail #productDiscussion .label a:hover { color: #fff; text-decoration-color: currentColor !important; }
.ew-trust {
    list-style: none;
    margin: 16px 0 0;
    padding: 14px 16px;
    background: var(--ew-surface);
    border: 1px solid var(--ew-line);
    border-radius: var(--ew-radius);
}
.ew-trust li { padding: 4px 0 4px 24px; position: relative; color: var(--ew-text); }
.ew-trust li::before { content: "✓"; position: absolute; left: 4px; color: var(--ew-link); font-weight: 600; }
.ew-contents { margin: 0 0 18px; padding-left: 20px; }
.ew-contents li { margin: 3px 0; color: var(--ew-text); }
.basic-description p { color: var(--ew-muted); }

/* ---------- Patička (schválená 12. 10. 2026, varianta D): newsletter nahoře oddělený linkou, sloupce Značka, Kontakt, Pokémon karty,
   Nákup a podmínky, dole copyright a povinný podpis Shoptetu; generuje varianty/build_paticka_css.py, mezi značkami needitovat ručně ---------- */
/* PATICKA:START */
/* Patička: společný základ. Generuje build_paticka_css.py. */
/* Techno přidává mezery na #footer (22 px), .custom-footer (22 px), .banner (40 px, na mobilu min-height 220 px) a .footer-rows ul li (4 px): vše na nulu, rytmus řídí jen pravidla níže */
#footer { margin-top: var(--ew-section-gap); padding: 0; background: var(--ew-deep); color: var(--ew-muted); border-top: 0; }   /* sekce mají jen horní okraj, patička taky */
#footer .footer-rows { padding-top: 64px; padding-bottom: 64px; }
/* kontejnery patičky mají v Technu vnitřní odsazení 20 px, hlavička ne: na desktopu pryč, ať patička lícuje s hlavičkou */
@media (min-width: 768px) { #footer .footer-rows, #footer .footer-bottom .container { padding-left: 0; padding-right: 0; } }
#footer .custom-footer { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 48px; row-gap: 48px; margin: 0; padding: 0; }
#footer .custom-footer:before, #footer .custom-footer:after { display: none; }
#footer .custom-footer > div { width: auto; max-width: none; float: none; padding: 0; margin: 0; }
#footer .custom-footer .banner, #footer .custom-footer .banner-wrapper { display: block; min-height: 0; margin: 0; padding: 0; }   /* Techno: na mobilu min-height 220 px a obsah na střed */
#footer h4 { margin: 0 0 16px; color: #fff; font-size: 16px; line-height: 1.3; font-weight: 500; letter-spacing: -.01em; }
#footer a { color: var(--ew-muted); }
#footer a:hover { color: #fff; }
#footer ul { margin: 0; padding: 0; list-style: none; }
#footer p { margin: 0; }

/* newsletter: řádek přes celou šířku nahoře, pod ním linka */
#footer .custom-footer > .custom-footer__newsletter { grid-column: 1 / -1; order: -1; display: flex; align-items: flex-start; justify-content: space-between; gap: 32px;
    padding-bottom: 48px; border-bottom: 1px solid var(--ew-line); }
#footer .newsletter-header .pageElement__heading { margin: 0 0 6px; padding: 0; border: 0; color: #fff; font-size: 22px; line-height: 1.3; font-weight: 500;
    letter-spacing: -.01em; text-transform: none; text-align: left; }   /* Shoptet: h3.pageElement__heading.topic > span */
#footer .newsletter-header .pageElement__heading:before, #footer .newsletter-header .pageElement__heading:after { display: none; }
#footer .newsletter-header p { color: var(--ew-muted); font-size: 15px; line-height: 1.6; }
#footer .subscribe-form { flex: none; width: min(460px, 100%); margin: 0; }
/* formulář Shoptetu: pole s plovoucím popiskem, captcha (fieldset.box) a tlačítko; e-mail a tlačítko v řádku, captcha pod nimi */
#footer .subscribe-form > fieldset { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 10px; margin: 0; padding: 0; border: 0; }
#footer .subscribe-form .smart-label-wrapper { position: relative; flex: 1 1 200px; min-width: 0; margin: 0; }
#footer .subscribe-form .form-control { width: 100%; height: 48px; margin: 0; padding: 21px 16px 4px; border: 1px solid var(--ew-line); border-radius: var(--ew-radius-sm);
    background: var(--ew-page); color: var(--ew-text); font-size: 15px; line-height: 1.4; box-shadow: none; }
#footer .subscribe-form .form-control:focus { border-color: var(--ew-link); outline: none; }
/* plovoucí popisek: v klidu uprostřed pole, při psaní nahoře (Shoptet přepíná .focused a .populated) */
#footer .subscribe-form .smart-label-wrapper label { position: absolute; left: 0; top: 0; z-index: 1; display: flex; align-items: center; height: 48px; margin: 0;
    padding: 0 16px; color: var(--ew-muted); font-size: 15px; line-height: 1; font-weight: 400; pointer-events: none; transform: none;
    transition: height .15s ease, font-size .15s ease; }
#footer .subscribe-form .smart-label-wrapper.focused label, #footer .subscribe-form .smart-label-wrapper.populated label { height: 19px; align-items: flex-end; font-size: 11px; }
#footer .subscribe-form .required-asterisk:after { color: var(--ew-muted); }
#footer .subscribe-form .btn { order: 2; flex: none; height: 48px; padding: 0 24px; border: 0; border-radius: var(--ew-radius-sm); background: var(--ew-btn-bg);
    color: var(--ew-btn-text); font-size: 15px; font-weight: var(--ew-btn-weight); text-transform: none; letter-spacing: 0; }   /* Techno .btn má verzálky */
#footer .subscribe-form .btn:hover { background: var(--ew-btn-bg-hover); color: var(--ew-btn-text); }
/* captcha: Shoptet ji vypisuje vždy (svetzbrani.cz), v klidu skrytá a ukáže se při psaní e-mailu; pole zůstává povinné */
#footer .subscribe-form fieldset.box { display: none; order: 3; flex: 1 1 100%; margin: 0; padding: 14px 16px; border: 1px solid var(--ew-line);
    border-radius: var(--ew-radius-sm); background: var(--ew-page); }
#footer .subscribe-form:focus-within fieldset.box, #footer .subscribe-form:has(.smart-label-wrapper.populated) fieldset.box {
    display: grid; grid-template-columns: 150px minmax(0, 1fr); align-items: center; gap: 10px 12px; }
#footer .subscribe-form fieldset.box h2 { grid-column: 1 / -1; margin: 0; color: var(--ew-muted); font-size: 13px; line-height: 1.3; font-weight: 500; text-transform: none; }
#footer .subscribe-form .captcha-image { margin: 0; }
#footer .subscribe-form .captcha-image img { display: block; border-radius: 4px; }
/* souhlas se zpracováním (Shoptet ho vypisuje mezi captchou a tlačítkem, erywil.cz 13. 10.): pod pole a tlačítko, drobným písmem */
#footer .subscribe-form .consents { order: 4; flex: 1 1 100%; margin: 0; padding: 0; }
#footer .subscribe-form .consents .label { margin: 0; color: var(--ew-muted); font-size: 13px; line-height: 1.5; font-weight: 400; }
#footer .subscribe-form .consents a { color: var(--ew-text); font-weight: 400; text-decoration: underline; text-decoration-color: var(--ew-u-klid) !important; }
#footer .subscribe-form .consents a:hover { color: #fff; text-decoration-color: currentColor !important; }

/* odkazy ve sloupcích */
#footer .ew-pat-odkazy li { padding: 0; }
.ew-pat-odkazy li a { display: inline-block; padding: 5px 0; font-size: 15px; line-height: 1.5; }

/* kontakt s ikonami (Lucide, barva ikon jako v horní liště); řádky volnější než odkazy, ikona dál od textu */
#footer .ew-pat-kontakt li { display: flex; align-items: flex-start; gap: 14px; padding: 5px 0; font-size: 15px; line-height: 1.5; }
#footer .ew-pat-kontakt li + li { margin-top: 8px; }
.ew-pat-kontakt svg { flex: none; width: 18px; height: 18px; margin-top: 3px; color: var(--ew-link); }

/* značka: logo + název, věta, platby */
.ew-pat-znacka__logo { display: flex; align-items: center; gap: 10px; color: #fff; font-size: 20px; line-height: 1; font-weight: 500; letter-spacing: -.01em; }
.ew-pat-znacka__logo img { display: block; width: auto; height: 64px; }
#footer .ew-pat-znacka p { max-width: 320px; margin-top: 24px; color: var(--ew-muted); font-size: 15px; line-height: 1.6; text-wrap: pretty; }
.ew-platby { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 28px; color: var(--ew-muted); }
.ew-platby svg { display: block; width: 40px; height: 40px; }

/* spodní lišta */
#footer .footer-bottom { padding: 22px 0; background: var(--ew-deep); border-top: 1px solid var(--ew-line); color: var(--ew-muted); font-size: 14px;
    text-align: left; }   /* Techno na mobilu centruje */
#footer .footer-bottom strong { color: var(--ew-text); font-weight: 500; }
/* copyright vlevo, podpis Shoptetu vpravo. Podpis je povinný (Techno ho vynucuje inline display/visibility), logo Shoptetu v původních barvách */
#footer .footer-bottom .container { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 32px; }
#footer .footer-bottom .container:before, #footer .footer-bottom .container:after { display: none; }
#footer .footer-bottom .copyright { order: 1; }
#footer #signature { order: 2; float: none; width: auto; margin: 0; }
#footer #signature a { color: var(--ew-muted); vertical-align: middle; }
#footer #signature a:hover { color: #fff; }
#footer #signature a.image { margin-right: 8px; }
#footer #signature a.image img { display: block; width: 17px; height: 17px; filter: grayscale(1); }   /* logo Shoptetu šedě (Jakub 15. 10. 2026) */
/* odkaz na cookies stojí v textu copyrightu: podtržení jako odkazy v souvislém textu (35 %, při najetí plné) */
#footer .footer-bottom .cookies-settings { margin-left: 4px; color: var(--ew-muted); text-decoration: underline; text-decoration-color: var(--ew-u-klid); }
#footer .footer-bottom .cookies-settings:hover { color: #fff; text-decoration-color: currentColor !important; }

@media (max-width: 1199px) {
    #footer .custom-footer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    #footer .footer-rows { padding-top: 48px; padding-bottom: 40px; }
    #footer .custom-footer { column-gap: 24px; row-gap: 36px; }
    #footer .custom-footer > .custom-footer__newsletter { flex-direction: column; align-items: stretch; gap: 20px; padding-bottom: 36px; }
    #footer .newsletter-header .pageElement__heading { font-size: 20px; }
    #footer .subscribe-form:focus-within fieldset.box, #footer .subscribe-form:has(.smart-label-wrapper.populated) fieldset.box { grid-template-columns: 1fr; }
    #footer .subscribe-form { width: 100%; }
    #footer .custom-footer__banner9 { grid-column: 1 / -1; }
    #footer .footer-bottom .container { flex-direction: column; align-items: flex-start; }
}

#footer .custom-footer__banner1981 { order: 1; }
#footer .custom-footer__banner9 { order: 2; }
#footer .custom-footer__banner7 { order: 3; }
#footer .custom-footer__banner8 { order: 4; }
@media (max-width: 767px) { #footer .custom-footer__banner1981 { grid-column: 1 / -1; } }
/* PATICKA:END */



/* ---------- Cookie lišta Shoptetu (.siteCookies, v administraci vzhled „dole, tmavá“; markup podle svetzbrani.cz, 13. 10. 2026) ----------
   „Odmítnout“ a „Souhlasím“ vypadají stejně: odmítnutí má být stejně snadné jako souhlas (doporučení ÚOOÚ k cookie lištám) */
.siteCookies { --cookies-notice-background: var(--ew-surface-2); --cookies-notice-color: var(--ew-text); --cookies-notice-link-hover: var(--ew-surface);
    --cookies-notice-button-hover: var(--ew-btn-bg-hover); font-size: 15px; }
.siteCookies__form { border: 1px solid var(--ew-line); border-bottom: 0; border-radius: var(--ew-radius) var(--ew-radius) 0 0; box-shadow: 0 -8px 30px rgba(0, 0, 0, .45); }
.siteCookies--bottom.siteCookies--scrolled .siteCookies__form { border-radius: 0; border-left: 0; border-right: 0; }
.siteCookies__text { color: var(--ew-muted); line-height: 1.6; }
.siteCookies__link { padding: 0 16px; border: 1px solid color-mix(in srgb, var(--ew-text) 30%, transparent); border-radius: var(--ew-radius-sm); background: none; color: var(--ew-text); font-weight: 500; line-height: 40px; }
.siteCookies__link:hover { background: var(--ew-surface); color: #fff; }
.siteCookies__button { padding: 0 20px; border-radius: var(--ew-radius-sm); background: var(--ew-btn-bg); color: var(--ew-btn-text); font-weight: var(--ew-btn-weight); line-height: 44px; }
.siteCookies__button:hover { background: var(--ew-btn-bg-hover); color: var(--ew-btn-text); opacity: 1; }
/* Nastavení cookies (okno z lišty a z odkazu v patičce; audit 26. 10. 2026): Techno bílý seznam, černý nadpis a tmavá tlačítka.
   Plocha a písmo z palety; „Vše vypnout“ a „Povolit vše“ stejně výrazné jako Odmítnout a Souhlasím na liště, vlastní volba obrysem */
.cookiesSetting__title, .cookiesSetting__item__name, .cookiesSetting__item__name strong { color: var(--ew-text); }
.cookiesSetting__perex, .cookiesSetting__item__text { color: var(--ew-muted); }
.cookiesSetting__data { border: 1px solid var(--ew-line); border-radius: var(--ew-radius-sm); background: var(--ew-surface-2); }
.cookiesSetting__item { border-bottom-color: var(--ew-line); }
.cookiesSetting__item__status { border-color: var(--ew-field-line); background: transparent; }
.cookiesSetting__item__status:hover { border-color: var(--ew-field-line-hover); }
.cookiesSetting__uncheckLink, .cookiesSetting__button--green { border: 0; border-radius: var(--ew-radius-sm); background: var(--ew-btn-bg);
    color: var(--ew-btn-text); line-height: 48px; }
.cookiesSetting__uncheckLink:hover, .cookiesSetting__button--green:hover { background: var(--ew-btn-bg-hover); color: var(--ew-btn-text); }
.cookiesSetting__button:not(.cookiesSetting__button--green) { border: 1px solid color-mix(in srgb, var(--ew-text) 30%, transparent);
    border-radius: var(--ew-radius-sm); background: none; color: var(--ew-text); line-height: 46px; }
.cookiesSetting__button:not(.cookiesSetting__button--green):hover { background: var(--ew-surface); color: #fff; }

/* ---------- Pozice Banner: Zápatí (div.footer-banners, 13. 10. 2026): je to .row se zápornými okraji a Techno mu dává vlastní horní okraj
   (.footer-banners 44 px, na desktopu .desktop .banners-row −20 px); mezeru dává horní okraj sekce uvnitř, zarovnání řádek sám ---------- */
#content .footer-banners { margin-top: 0 !important; }
@media (min-width: 768px) { .footer-banners .ew-eds, .footer-banners .ew-dary { margin-left: 0; margin-right: 0; } }

/* ---------- Edice (schválené 12. 10. 2026, varianta A): generuje varianty/build_edice_css.py, mezi značkami needitovat ručně ---------- */
/* EDICE:START */
/* Edice: společný základ. Generuje build_edice_css.py. */
.ew-eds { margin: var(--ew-section-gap) 0 0; }
@media (min-width: 768px) { .ew-eds { margin-left: -20px; margin-right: -20px; } }   /* #content má padding 20 px */
.ew-eds__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ew-ed, .ew-ed:hover { color: inherit; text-decoration: none !important; }
/* .ew-eds .ew-ed: Techno má .banner-wrapper a { display: inline-block }, vyšší specificita než samotná třída */
.ew-eds .ew-ed { display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: var(--ew-radius);
    transition: background-color .2s ease; }
.ew-ed__logo { display: block; width: calc(var(--w) * 1px); max-width: 80%; height: auto; }
.ew-ed__word { color: #fff; font-size: 22px; line-height: 1.2; font-weight: 500; letter-spacing: -.01em; text-align: center; }
@media (max-width: 767px) {
    .ew-eds__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ew-ed__logo { width: calc(var(--w) * .62px); }
    .ew-ed__word { font-size: 17px; }
}

.ew-eds--a .ew-eds__grid { gap: 16px; }
.ew-eds--a .ew-ed { height: 150px; padding: 16px; background: var(--ew-surface); }
.ew-eds--a .ew-ed:hover { background: var(--ew-surface-2); }
@media (max-width: 767px) {
    .ew-eds--a .ew-eds__grid { gap: 10px; }
    .ew-eds--a .ew-ed { height: 104px; padding: 10px; }
}
/* EDICE:END */

/* ---------- Časté otázky (schválené 12. 10. 2026, varianta A): v textu úvodní stránky pod úvodním textem; generuje varianty/build_otazky_css.py, mezi značkami needitovat ručně ---------- */
/* OTAZKY:START */
/* Časté otázky: společný základ. Generuje build_otazky_css.py. */
.welcome-wrapper .ew-otazky { grid-column: 1 / -1; grid-row: 5; margin-top: var(--ew-section-gap); }
.ew-otazka summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; cursor: pointer; list-style: none; }
.ew-otazka summary::-webkit-details-marker { display: none; }
.ew-otazka__q { color: #fff; font-size: 17px; line-height: 1.4; font-weight: 400; text-wrap: balance; }   /* dlouhá otázka na dva vyrovnané řádky */
.ew-otazka__ikona { display: block; flex: none; width: 20px; height: 20px; color: var(--ew-link); }
.ew-otazka[open] .ew-otazka__ikona .svisla { display: none; }
#content .ew-otazka__a p { margin: 0; color: var(--ew-muted); font-size: 15px; line-height: 1.7; text-wrap: pretty; }
.ew-otazka__a a { color: var(--ew-text); text-decoration: underline; text-decoration-thickness: var(--ew-u-tloustka); text-underline-offset: var(--ew-u-odsazeni);
    text-decoration-color: var(--ew-u-klid); }
.ew-otazka__a a:hover { color: #fff; text-decoration-color: currentColor !important; }
.ew-otazka summary:hover .ew-otazka__q { text-decoration: underline; text-decoration-thickness: var(--ew-u-tloustka); text-underline-offset: var(--ew-u-odsazeni);
    text-decoration-color: var(--ew-u-najeti); }
@media (max-width: 767px) {
    .welcome-wrapper .ew-otazky { grid-row: 4; }
    .ew-otazka__q { font-size: 16px; }
}

.ew-otazky--a .ew-otazky__list { max-width: 760px; margin: 0 auto; border-top: 1px solid var(--ew-line); }
.ew-otazky--a .ew-otazka { border-bottom: 1px solid var(--ew-line); }
.ew-otazky--a .ew-otazka summary { padding: 22px 4px; }
.ew-otazky--a .ew-otazka__a { padding: 0 48px 24px 4px; }
@media (max-width: 767px) {
    .ew-otazky--a .ew-otazka summary { padding: 18px 2px; }
    .ew-otazky--a .ew-otazka__a { padding: 0 32px 20px 2px; }
}
/* OTAZKY:END */

/* ---------- Právní a nákupní stránky (obsah z pravni/build_pravni.py): obchodní podmínky, reklamační řád, doprava a platba,
   ochrana osobních údajů, kontakty. Postranní panel a diskuze jsou u typu Stránka v Návrháři schované (19. 10. 2026). ---------- */
.ew-pravni { max-width: 760px; color: var(--ew-muted); font-size: 16px; line-height: 1.65; }
.ew-pravni h2 { margin: 40px 0 12px; color: #fff; font-size: 22px; line-height: 1.3; font-weight: 500; letter-spacing: -.01em; scroll-margin-top: 96px; }
.ew-pravni h3 { margin: 28px 0 8px; color: #fff; font-size: 18px; line-height: 1.35; font-weight: 500; }
.ew-pravni p { margin: 0 0 12px; }
.ew-pravni ul { margin: 0 0 16px; padding-left: 22px; }
.ew-pravni li { margin: 0 0 6px; }
.ew-pravni strong, .ew-pravni__cislo { color: var(--ew-text); font-weight: 500; }
.ew-pravni a { color: var(--ew-link); }
.ew-pravni__platnost { font-size: 14px; }
.ew-pravni__formular { margin: 12px 0 24px; padding: 20px 24px; border: 1px solid var(--ew-line); border-radius: var(--ew-radius); background: var(--ew-surface); }
.ew-pravni__formular ul { list-style: none; padding: 0; }
.ew-pravni__formular li { margin-bottom: 10px; }
@media (max-width: 767px) {
    .ew-pravni { font-size: 15px; }
    .ew-pravni h2 { margin-top: 32px; font-size: 20px; }
    .ew-pravni__formular { padding: 16px; }
}

/* Moje objednávka (/moje-objednavka/): detail objednávky a odstoupení online, widget Shoptetu ve shadow DOM. Zvenku jdou měnit
   jen jeho proměnné na hostiteli (vnější pravidla mají přednost před :host). Chyba a varování mimo paletu: světlejší odstíny,
   aby měly na tmavé ploše kontrast nad 4,5 : 1. */
#order-withdraw {
    background: transparent !important;
    --Global-Foregrounds-Content-Primary: var(--ew-text);
    --Global-Foregrounds-Content-Secondary: var(--ew-muted);
    --Global-Foregrounds-Content-Tertiary: var(--ew-muted);
    --Global-Foregrounds-Content-Muted: var(--ew-muted);
    --Global-Foregrounds-Content-Link: var(--ew-link);
    --Global-Foregrounds-Content-Informative: var(--ew-link);
    --Global-Foregrounds-Content-Success: var(--ew-green);
    --Global-Foregrounds-Content-Critical: #ff8f8a;
    --Global-Foregrounds-Content-Warning: #f2c46d;
    --Global-Foregrounds-Borders-Primary: var(--ew-muted);
    --Global-Foregrounds-Borders-Secondary: var(--ew-line);
    --Global-Foregrounds-Borders-Activated: var(--ew-link);
    --Global-Foregrounds-Icons-Primary: var(--ew-muted);
    --Global-Backgrounds-Content-Primary: var(--ew-surface);
    --Global-Backgrounds-Content-Secondary: var(--ew-surface-2);
    --Global-Backgrounds-Content-Disabled: var(--ew-surface-2);
    --Global-Backgrounds-Selected: var(--ew-surface-2);
    --Global-Backgrounds-Button-Primary: var(--ew-btn-bg);
    --Global-Backgrounds-Button-Primary_Hover: var(--ew-btn-bg-hover);
    --Global-Foregrounds-Button-Primary: var(--ew-btn-text);
    --Global-Foregrounds-Content-White: var(--ew-btn-text);   /* text tlačítka a hlášek; pozadí obojího je u nás světlé */
    --Corner-Radius: var(--ew-radius-sm);
    --Corner-Radius_Bigger: var(--ew-radius);
    --Text-Font: var(--h-font), sans-serif;
}

/* ---------- Mobil ---------- */

@media (max-width: 767px) {
    .ew-tiles { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .ew-tile img { height: 100px; }
    .homepage-group-title { font-size: 20px; }
}
