/* 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;
    /* 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 */
    /* sytá modrá (vybráno 12, 10, 2026): bílý text 5,2 : 1, hover světlejší a pořád 4,8 : 1 */
    --ew-btn-bg: var(--ew-blue);
    --ew-btn-bg-hover: var(--ew-blue-hover);
    --ew-btn-text: #fff;
    --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);
}

/* ---------- 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ů. Nadpisy 500, ostatní 600. Generuje build_vahy_css.py z main-13.less.c8a6415be4516e0585b7.css. */
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,
.navigation-in ul li a b,
.navigation-in>ul>li.ext>ul>li>a,
.navigation-in>ul>li.ext>ul>li>div>a,
.update-preview-active:after,
.quantity-discounts__headline,
.quantity-discounts__item--highlighted,
table.table.breakable>tbody>tr>td,
.watchdog-messages .msg .cancel-action,
#categories,
:where(.ums_discussion_rating_forms--off) .add-comment,
.filter-section label.active,
.filter-count,
.variant-price-wrap .price-final,
.price-wrapper .price-label.price-primary,
.price-wrapper .price.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,
.menu-helper,
.express-checkout .price-font-phone,
.express-checkout .price-font,
.express-checkout__product-price-final,
.express-checkout__pre-authorization-message,
.express-checkout__discount-value,
.express-checkout__products-price-total-value,
.express-checkout__info-shipping-name,
.express-checkout__info-invoicing-name,
.express-checkout__info-billing-name,
.express-checkout__summary-price,
.express-checkout__summary-discount-code,
.express-checkout__summary-discount-remove:before,
: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,
: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,
.siteCookies__button,
.cookiesSetting__title,
.cookiesSetting__uncheckLink,
.cookiesSetting__button,
.cart-widget-product-name>span,
.p-final-price-wrapper>strong,
.add-to-cart__quantity-label,
.p-gifts-heading,
.xyDiscount__title,
.ordering-process .btn.btn-conversion,
.ordering-process a.btn.btn-conversion,
:where(.ums_forms_redesign--off) .discount-coupon label,
#checkoutContent .helper a,
.checkout-box .toggle-contacts,
.order-summary-item.total,
.order-summary-item.helper,
.consents a,
.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,
.extended-banner-text,
.homepage-blog-wrapper .news-item .title,
.sortingToggle,
.listSorting__control--current,
.filters-wrapper .filters-unveil-button-wrapper .unveil-button,
table.detail-parameters tbody tr td a,
.shp-tabs-holder ul.shp-tabs,
.products-block>div .p .p-bottom>div .prices .price-save,
.products-block>div .p .p-bottom>div .p-tools .btn,
.products-block>div .p .p-bottom>div .p-tools .btn.btn-cart,
ul.manufacturers h2,
.top-products li:before,
.top-products li .top-products-content .top-products-name,
:where(body.ums_page_element_headings--off) .footer-rows .news-item-widget h5.with-short-description,
:where(.ums_mobile_header_v1--on) .navigation-in>ul>li>a>b { font-weight: 600; }
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { font-weight: 500; }
/* 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: 54px;
    --h-search-w: 560px;
    --h-logo-w: 24px;
    --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), 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; }
.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 { background: var(--h-bg) !important; }
    #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 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: 500; }
}
/* 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); }
}

@media (max-width: 767px) {
    /* mobil: telefon a e-mail v liště nad hlavičkou (lišta odjede s obsahem), samotná hlavička se připne nahoře */
    .top-contact { position: static; 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: 40px; }
    #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 */

/* 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: 500; }
    .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); }
    .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; }

/* ---------- 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; } }
.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; }
.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; }
.products-block > div .p .p-bottom > div .p-tools .btn { display: inline-flex; align-items: center; height: 40px; min-width: 0; margin: 0;
    padding: 0 16px; font-size: 14px; }
/* 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á */
@media (max-width: 1199px) { .products-block { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 991px) { .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 .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 .price-final, .products-block > div .p .price-final strong { font-size: 16px; }
    .products-block > div .p .p-bottom > div .p-tools, .products-block > div .p .p-bottom > div .p-tools .btn { 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 { 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 { display: none !important; }
.position--benefitHomepage .benefitBanner__item { display: block; flex: none; width: auto; margin: 0; overflow: visible; }
.position--benefitHomepage .benefitBanner__picture { display: flex; flex: none; max-width: none; margin: 0; }
.position--benefitHomepage .benefitBanner__img { display: block; width: var(--b-icon); height: var(--b-icon); max-width: none; }
.position--benefitHomepage .benefitBanner__content { padding: 0; overflow: visible; }
.position--benefitHomepage .benefitBanner__title { display: block; width: auto; margin: 0; color: #fff; font-weight: 500; letter-spacing: -.01em; text-wrap: balance; }
.position--benefitHomepage .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 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.position--benefitHomepage { --b-icon: 36px; }
.position--benefitHomepage .benefitBanner__picture { margin-bottom: 18px; }
.position--benefitHomepage .benefitBanner__title { font-size: 18px; line-height: 1.3; }
.position--benefitHomepage .benefitBanner__data { margin-top: 8px; font-size: 15px; line-height: 1.6; }
/* mobil: jeden sloupec, ikona vlevo od textu, aby nadpis zůstal na řádku a popis na dvou */
@media (max-width: 767px) {
    .benefitBanner.position--benefitHomepage { grid-template-columns: 1fr; row-gap: 24px; }
    .position--benefitHomepage { --b-icon: 30px; }
    .position--benefitHomepage .benefitBanner__item { display: flex; align-items: flex-start; gap: 16px; }
    .position--benefitHomepage .benefitBanner__picture { margin: 0; }
    .position--benefitHomepage .benefitBanner__title { font-size: 16px; }
    .position--benefitHomepage .benefitBanner__data { margin-top: 4px; font-size: 14px; }
}
/* 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)); }
}

.ew-dary--a3 .ew-dary__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ew-dary--a3 .ew-dar { display: grid; grid-template-columns: 34% 1fr; grid-template-rows: 1fr auto auto auto 1fr; column-gap: 28px;
    padding: 24px 28px 24px 16px; border: 1px solid var(--ew-line); }
.ew-dary--a3 .ew-dar:hover { background: var(--ew-surface); }
.ew-dary--a3 .ew-dar__img { grid-column: 1; grid-row: 1 / 6; }
.ew-dary--a3 .ew-dar__img img { width: 100%; height: 150px; }
.ew-dary--a3 .ew-dar__price { grid-column: 2; grid-row: 2; font-size: 28px; line-height: 1.15; letter-spacing: -.02em; }
.ew-dary--a3 .ew-dar__desc { grid-column: 2; grid-row: 3; margin-top: 10px; font-size: 15px; line-height: 1.6; }
.ew-dary--a3 .ew-dar__cta { grid-column: 2; grid-row: 4; justify-self: start; margin-top: 14px; }
@media (max-width: 767px) {
    .ew-dary--a3 .ew-dary__grid { grid-template-columns: 1fr; gap: 10px; }
    .ew-dary--a3 .ew-dar { grid-template-columns: 28% 1fr; column-gap: 16px; padding: 16px 14px 16px 6px; }
    .ew-dary--a3 .ew-dar__img img { height: 80px; }
    .ew-dary--a3 .ew-dar__price { font-size: 20px; }
    .ew-dary--a3 .ew-dar__desc { margin-top: 4px; font-size: 13px; }
    .ew-dary--a3 .ew-dar__cta { margin-top: 8px; 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; }
}

/* ---------- 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; }
.p-image {
    background: var(--ew-surface);
    border-radius: var(--ew-radius);
    padding: 24px;
}
.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); }
.p-to-cart-block {
    background: var(--ew-surface) !important;
    border: 1px solid var(--ew-line);
    border-radius: var(--ew-radius);
}
.quantity, .quantity input, .quantity button { background: var(--ew-surface-2); color: var(--ew-text); border-color: var(--ew-line); }
.shp-tabs-wrapper, .shp-tabs { background: transparent; border-color: var(--ew-line); }
.shp-tab-link { color: var(--ew-muted) !important; }
.shp-tab.active .shp-tab-link { color: #fff !important; border-color: var(--ew-blue) !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: 32px; }
#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; }
/* 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__banner5 { grid-column: 1 / -1; }
    #footer .footer-bottom .container { flex-direction: column; align-items: flex-start; }
}

#footer .custom-footer__banner2 { order: 1; }
#footer .custom-footer__banner5 { order: 2; }
#footer .custom-footer__banner3 { order: 3; }
#footer .custom-footer__banner4 { order: 4; }
@media (max-width: 767px) { #footer .custom-footer__banner2 { 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; }

/* ---------- 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 */

/* ---------- 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; }
}
