/* ============================================
   TPLESHOP Theme: Cofex
   Káva, kávovary a gastro — espresso + mokka + latte
   Paleta prevzatá z WP/Astra verzie cofex.sk (2025):
   #4a1800 espresso · #a57865 mokka · #e5c2a6 latte · #fffbf4 krém
   Rozmery dlaždíc kategórií podľa boatdiesel (168 / 124 px).
   ============================================ */

:root {
    /* Primary - tmavé espresso (CTA, odkazy, menu) */
    --color-primary: #4a1800;
    --color-primary-hover: #6e2e0e;
    --color-accent: #8f6352;           /* Mokka, o tón tmavšia kvôli kontrastu na odznakoch */
    --color-accent-hover: #a57865;

    /* Backgrounds - krémová paleta */
    --color-body-bg: #fffbf4;
    --color-surface: #ffffff;
    --color-surface-alt: #f8f4ee;      /* Pás sekcií, breadcrumbs */
    --color-text: #2b1a12;
    --color-text-muted: #7d6a60;
    --color-heading: #3b3634;
    --color-border: #e4d4cd;
    --color-link: #4a1800;
    --color-link-hover: #8f6352;

    /* Semantic colors */
    --color-success: #2e6b3a;
    --color-danger: #a3301c;

    /* Typography - Inter (lokálne v šablóne); param šablóny má prednosť */
    --font-heading: 'Inter', sans-serif;
    --font-body: 'Inter', sans-serif;

    /* Derived */
    --color-primary-light: #f3e6d8;    /* Latte tint - odznaky, parametre, FAQ hover */
    --cofex-latte: #e5c2a6;
    --cofex-latte-hover: #e0b693;
    --cofex-mokka: #a57865;

    /* Produktové fotky od dodávateľa sú 1000×1000 na bielom - podklad vždy biely */
    --es-media-plate: #ffffff;

    /* Cards - mierne zaoblenie, teplý tieň */
    --card-radius: 0.5rem;
    --card-shadow: 0 1px 3px rgba(74, 24, 0, 0.06);
    --card-shadow-hover: 0 8px 24px -6px rgba(74, 24, 0, 0.16);
    --card-image-ratio: 1 / 1;

    /* Borders */
    --radius-sm: 0.25rem;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;

    /* Kategórie: menšie než karta produktu, aby sa nemýlili s tovarom
       (boatdiesel: 168 px desktop, 124 px mobil = 3 na obrazovku) */
    --es-cat-card-min: 150px;
    --es-cat-card-max: 168px;
}

/* Dark mode - teplá tmavá, latte namiesto espressa v popredí */
[data-theme="dark"] {
    --color-primary: #d9b48f;
    --color-primary-hover: #e5c2a6;
    --color-primary-light: #3a2a22;
    --color-accent: #c4917a;
    --color-accent-hover: #d4a58f;

    --color-body-bg: #1b1310;
    --color-surface: #261c17;
    --color-surface-alt: #302420;
    --color-text: #ecdfd5;
    --color-text-muted: #b09c90;
    --color-heading: #f8efe8;
    --color-border: #4a3a33;
    --color-link: #e5c2a6;
    --color-link-hover: #f3e6d8;

    --color-success: #7fbf8a;
    --color-danger: #e07a62;

    --es-media-plate: #ffffff;

    --card-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
    --card-shadow-hover: 0 12px 28px rgba(0, 0, 0, 0.5);
}

/* =========================================
   Topbar / header / footer
   ========================================= */

/* Topbar - espresso s krémovým textom */
.theme-cofex .es-topbar {
    background: var(--color-primary);
    color: #f3e6d8;
}

.theme-cofex .es-topbar a {
    color: #f3e6d8;
    opacity: 0.92;
}

.theme-cofex .es-topbar a:hover {
    opacity: 1;
    color: #ffffff;
}

/* Header - biely, sticky, jemný espresso tieň (ako WP) */
.theme-cofex .es-header {
    background: var(--color-surface);
    border-bottom: 1px solid var(--color-border);
    box-shadow: 0 0 10px rgba(74, 24, 0, 0.18);
}

.theme-cofex .es-header__site-name {
    font-family: var(--font-heading);
    color: var(--color-primary);
    font-weight: 700;
    letter-spacing: -0.01em;
}

/* Bottom + footer - tmavé espresso */
.theme-cofex .es-bottom,
.theme-cofex .es-footer {
    background: #2a1208;
    color: #d9c7bb;
}

.theme-cofex .es-footer {
    border-top-color: #4a2a1c;
}

.theme-cofex .es-footer a,
.theme-cofex .es-bottom a {
    color: #ecdfd5;
}

.theme-cofex .es-footer a:hover,
.theme-cofex .es-bottom a:hover {
    color: var(--cofex-latte);
}

[data-theme="dark"] .theme-cofex .es-topbar {
    background: #120c09;
    color: #d9c7bb;
}

[data-theme="dark"] .theme-cofex .es-header {
    background: var(--color-surface);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .theme-cofex .es-bottom,
[data-theme="dark"] .theme-cofex .es-footer {
    background: #120c09;
}

/* Showcase sections - krémový pás */
.theme-cofex .es-showcase--1,
.theme-cofex .es-showcase--3 {
    background: var(--color-surface-alt);
}

/* =========================================
   Buttons - espresso primary, latte secondary
   ========================================= */

.theme-cofex .es-btn--primary {
    background: var(--color-primary);
    color: #ffffff;
    border-color: var(--color-primary);
    border-radius: var(--radius-md);
    font-weight: 600;
    box-shadow: 0 2px 6px rgba(74, 24, 0, 0.2);
}

.theme-cofex .es-btn--primary:hover {
    background: var(--color-primary-hover);
    border-color: var(--color-primary-hover);
    color: #ffffff;
}

/* Sekundárne tlačidlo = latte s espresso textom (WP tlačidlo košíka) */
.theme-cofex .es-btn--outline {
    background: var(--cofex-latte);
    color: #2b1a12;
    border-color: var(--cofex-latte);
    border-radius: var(--radius-md);
    font-weight: 600;
}

.theme-cofex .es-btn--outline:hover {
    background: var(--cofex-latte-hover);
    border-color: var(--cofex-latte-hover);
    color: #2b1a12;
}

.theme-cofex .es-btn--accent {
    background: var(--color-accent);
    color: #ffffff;
    border-color: var(--color-accent);
    border-radius: var(--radius-md);
    font-weight: 600;
    box-shadow: 0 2px 6px rgba(143, 99, 82, 0.2);
}

.theme-cofex .es-btn--accent:hover {
    background: var(--color-accent-hover);
    border-color: var(--color-accent-hover);
    color: #ffffff;
}

/* Phoca Cart add-to-cart - espresso CTA, jemný "zdvih" pri hoveri (WP) */
.theme-cofex .ph-btn,
.theme-cofex .ph-btn-add-to-cart,
.theme-cofex .phCartButton,
.theme-cofex .btn.ph-btn,
.theme-cofex button.ph-btn {
    background: var(--color-primary);
    color: #ffffff;
    border-color: var(--color-primary);
    border-radius: var(--radius-md);
    font-weight: 600;
    box-shadow: 0 2px 6px rgba(74, 24, 0, 0.18);
    transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
}

.theme-cofex .ph-btn:hover,
.theme-cofex .ph-btn-add-to-cart:hover,
.theme-cofex .phCartButton:hover,
.theme-cofex .btn.ph-btn:hover,
.theme-cofex button.ph-btn:hover {
    background: var(--color-primary-hover);
    border-color: var(--color-primary-hover);
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(74, 24, 0, 0.28);
}

[data-theme="dark"] .theme-cofex .es-btn--primary,
[data-theme="dark"] .theme-cofex .ph-btn,
[data-theme="dark"] .theme-cofex .ph-btn-add-to-cart,
[data-theme="dark"] .theme-cofex .phCartButton,
[data-theme="dark"] .theme-cofex .btn.ph-btn,
[data-theme="dark"] .theme-cofex button.ph-btn {
    color: #1b1310;
}

[data-theme="dark"] .theme-cofex .es-btn--primary:hover,
[data-theme="dark"] .theme-cofex .ph-btn:hover,
[data-theme="dark"] .theme-cofex .ph-btn-add-to-cart:hover,
[data-theme="dark"] .theme-cofex .phCartButton:hover,
[data-theme="dark"] .theme-cofex .btn.ph-btn:hover,
[data-theme="dark"] .theme-cofex button.ph-btn:hover {
    color: #1b1310;
}

/* =========================================
   Product cards
   ========================================= */

.theme-cofex .es-product-card,
.theme-cofex .ph-product-module-box .ph-item-box {
    border-radius: var(--card-radius);
    border-color: var(--color-border);
    background: var(--color-surface);
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}

.theme-cofex .es-product-card:hover,
.theme-cofex .ph-product-module-box .ph-item-box:hover {
    border-color: var(--cofex-mokka);
    box-shadow: var(--card-shadow-hover);
    transform: translateY(-2px);
}

/* Fotka v karte: biely podklad, vnútorný okraj ako WP (5 %), contain */
.theme-cofex .es-product-card__image,
.theme-cofex .ph-item-image-box {
    background: var(--es-media-plate);
    padding: 5%;
}

.theme-cofex .es-product-card__image img,
.theme-cofex .ph-item-image-box img {
    object-fit: contain;
}

/* Názov: normálne písmo, semibold, celý (3 riadky) — boatdiesel pasca:
   clamp je na .ph-product-header, nie na .es-product-card__header */
.theme-cofex .es-product-card__header h3,
.theme-cofex .ph-item-header h3,
.theme-cofex .ph-product-module-box h3 {
    font-family: var(--font-heading);
    font-weight: 600;
    color: var(--color-heading);
}

.theme-cofex .ph-product-header {
    -webkit-line-clamp: 3;
    line-clamp: 3;
}

/* Cena - espresso bold */
.theme-cofex .ph-price {
    color: var(--color-primary);
    font-weight: 700;
}

/* =========================================
   Phoca Cart labels - odznaky
   ========================================= */

.theme-cofex .ph-label {
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.625rem;
    font-weight: 700;
    padding: 0.35em 0.7em;
}

.theme-cofex .ph-label-feat,
.theme-cofex .ph-label-new,
.theme-cofex .ph-label-hot {
    background: var(--color-primary);
    color: #ffffff;
}

.theme-cofex .ph-label-discount,
.theme-cofex .ph-label-sale {
    background: var(--color-accent);
    color: #ffffff;
}

[data-theme="dark"] .theme-cofex .ph-label-feat,
[data-theme="dark"] .theme-cofex .ph-label-new,
[data-theme="dark"] .theme-cofex .ph-label-hot {
    color: #1b1310;
}

/* =========================================
   Breadcrumbs + category header
   ========================================= */

.theme-cofex .es-breadcrumbs {
    background: var(--color-surface-alt);
    border-bottom: 1px solid var(--color-border);
}

.theme-cofex .es-breadcrumbs a:hover {
    color: var(--color-primary);
}

[data-theme="dark"] .theme-cofex .es-breadcrumbs {
    background: var(--color-surface);
}

.theme-cofex .es-category-header__title {
    font-family: var(--font-heading);
    font-weight: 700;
    color: var(--color-heading);
}

/* =========================================
   Kategórie - malé dlaždice vedľa seba (boatdiesel vzor)
   ========================================= */

.theme-cofex .es-cat-grid__title {
    font-family: var(--font-heading);
    font-weight: 600;
    color: var(--color-heading);
    font-size: 0.875rem;
}

.theme-cofex .es-cat-grid__image {
    background: var(--es-media-plate);
    border: 1px solid var(--color-border);
}

.theme-cofex .es-cat-grid__link:hover .es-cat-grid__image {
    border-color: var(--cofex-mokka);
    box-shadow: 0 8px 20px rgba(74, 24, 0, 0.12);
}

/* Kategória bez fotky: jemná latte dlaždica, nie "chýba obrázok" */
.theme-cofex .es-cat-grid__image--empty {
    background: linear-gradient(135deg, var(--color-primary-light), var(--color-surface-alt));
}

.theme-cofex .es-cat-grid__image--empty::after {
    color: var(--cofex-mokka);
}

/* Vodorovná dráha: 168 px desktop, 124 px mobil = 3 na obrazovku */
.theme-cofex .es-cat-grid--scroll .es-cat-grid__item {
    flex: 0 0 168px !important;
}

@media (max-width: 767px) {
    .theme-cofex .es-cat-grid--scroll .es-cat-grid__item,
    .theme-cofex .es-cat-grid__item {
        flex: 0 0 124px !important;
        width: 124px !important;
    }

    .theme-cofex .es-cat-grid__title {
        font-size: 0.75rem;
    }
}


/* =========================================
   Phoca Cart product detail
   ========================================= */

.theme-cofex #ph-pc-item-box h1,
.theme-cofex .ph-item-price-panel h1 {
    font-family: var(--font-heading);
    font-weight: 700;
    color: var(--color-heading);
    font-size: 1.875rem;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

@media (min-width: 768px) {
    .theme-cofex #ph-pc-item-box h1,
    .theme-cofex .ph-item-price-panel h1 {
        font-size: 2.25rem;
    }
}

.theme-cofex .ph-item-image-full-box {
    border-radius: var(--card-radius);
    border: 1px solid var(--color-border);
    background: var(--es-media-plate);
    padding: 1.5rem;
    box-shadow: 0 1px 3px rgba(74, 24, 0, 0.04);
}

.theme-cofex .ph-item-image-full-box img {
    max-height: 500px;
    width: auto;
    margin: 0 auto;
    object-fit: contain;
    transition: transform 0.4s ease;
}

.theme-cofex .ph-item-image-full-box:hover img {
    transform: scale(1.04);
}

/* Thumbnail gallery */
.theme-cofex .ph-item-image-add-box > div,
.theme-cofex .ph-item-image-box {
    border-radius: var(--radius-sm);
    border: 2px solid var(--color-border);
    padding: 0.5rem;
    background: var(--es-media-plate);
    transition: border-color 0.2s;
}

.theme-cofex .ph-item-image-box:hover {
    border-color: var(--cofex-mokka);
}

/* Item price - big bold espresso */
.theme-cofex .ph-item-price-box .ph-price {
    font-size: 2.25rem;
    font-weight: 700;
    color: var(--color-primary);
    font-family: var(--font-body);
}

/* Stock status */
.theme-cofex .ph-stock-in-stock,
.theme-cofex .ph-stock-status-in-stock {
    background: rgba(46, 107, 58, 0.1);
    color: var(--color-success);
    border-radius: var(--radius-sm);
    font-weight: 600;
}

/* Quantity input */
.theme-cofex .ph-quantity-input,
.theme-cofex input[name="quantity"] {
    border-radius: var(--radius-sm);
    background: var(--color-surface);
    border-color: var(--color-border);
    padding: 0.75rem 1rem;
    height: 3rem;
    font-weight: 500;
}

/* Item view add-to-cart - large */
.theme-cofex .ph-item-price-panel .ph-btn,
.theme-cofex .ph-item-price-panel .phCartButton {
    border-radius: var(--radius-md);
    padding: 0.875rem 1.75rem;
    font-size: 0.9375rem;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(74, 24, 0, 0.22);
}

/* Mobile - smaller buttons */
@media (max-width: 767px) {
    .theme-cofex .ph-btn,
    .theme-cofex .ph-btn-add-to-cart,
    .theme-cofex .phCartButton,
    .theme-cofex .btn.ph-btn,
    .theme-cofex button.ph-btn,
    .theme-cofex .es-btn,
    .theme-cofex .wp-btn {
        padding: 0.5rem 1rem;
        font-size: 0.8125rem;
    }

    .theme-cofex .es-btn--lg,
    .theme-cofex .wp-btn--lg {
        padding: 0.625rem 1.25rem;
        font-size: 0.875rem;
    }

    .theme-cofex .ph-quantity-input,
    .theme-cofex input[name="quantity"] {
        height: 2.5rem;
        padding: 0.5rem 0.75rem;
    }

    .theme-cofex .ph-item-price-panel .ph-btn,
    .theme-cofex .ph-item-price-panel .phCartButton {
        padding: 0.625rem 1.25rem;
        font-size: 0.875rem;
    }

    .theme-cofex .ph-item-price-box .ph-price {
        font-size: 1.75rem;
    }

    .theme-cofex .wp-hero__buttons .wp-btn--lg {
        padding: 0.75rem 1.5rem;
        font-size: 0.875rem;
    }
}

/* =========================================
   Phoca Cart tabs / accordion
   ========================================= */

.theme-cofex .ph-item-bottom-box .tab-pane::before {
    content: attr(data-title);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 0;
    font-family: var(--font-heading);
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--color-heading);
    cursor: pointer;
}

.theme-cofex .ph-item-bottom-box .ph-desc,
.theme-cofex .ph-item-bottom-box .tab-pane > div {
    color: var(--color-text);
    line-height: 1.7;
    padding-bottom: 1.5rem;
}

/* =========================================
   Specifications grid
   ========================================= */

.theme-cofex .ph-spec-group-title {
    font-family: var(--font-heading);
    color: var(--color-heading);
    font-weight: 700;
    border-top: 1px solid var(--color-border);
    padding-top: 1.5rem;
    margin-top: 1.5rem;
}

.theme-cofex .ph-item-view-data-box table,
.theme-cofex .ph-spec-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.theme-cofex .ph-item-view-data-box table tr,
.theme-cofex .ph-spec-table tr {
    display: flex;
    flex-direction: column;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--color-border);
}

.theme-cofex .ph-item-view-data-box table tr:last-child,
.theme-cofex .ph-spec-table tr:last-child {
    border-bottom: none;
}

.theme-cofex .ph-spec-title {
    color: var(--color-text-muted);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    padding: 0 0 0.25rem 0;
}

.theme-cofex .ph-spec-value {
    color: var(--color-heading);
    font-weight: 500;
    padding: 0;
}

/* =========================================
   Parameters - latte badges
   ========================================= */

.theme-cofex .ph-item-parameters-box {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 1rem 0 1.5rem;
    padding: 0;
    border: none;
}

.theme-cofex .ph-parameter-box {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.4em 0.85em;
    background: var(--color-primary-light);
    color: var(--color-primary);
    border-radius: var(--radius-sm);
    font-size: 0.75rem;
    font-weight: 600;
}

[data-theme="dark"] .theme-cofex .ph-parameter-box {
    background: var(--color-primary-light);
    color: var(--color-primary);
}

/* =========================================
   Filter
   ========================================= */

.theme-cofex .es-filter input[type="checkbox"],
.theme-cofex .es-filter input[type="radio"] {
    accent-color: var(--color-primary);
}

/* =========================================
   Hero / CTA / showcase headings
   ========================================= */

.theme-cofex .wp-showcase--hero .wp-hero__title,
.theme-cofex .wp-showcase--cta .wp-showcase__cta-title {
    font-family: var(--font-heading);
    font-weight: 700;
    color: #ffffff;   /* hero aj CTA sedia na tmavej fotke s overlayom */
    letter-spacing: -0.015em;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

.theme-cofex .wp-showcase__cta-label,
.theme-cofex .wp-showcase__plan-badge {
    background: var(--color-primary);
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: var(--font-size-xs);
    font-weight: 600;
}

/* Mokka linka pod nadpismi sekcií */
.theme-cofex .wp-showcase__heading,
.theme-cofex .es-module__title--xl,
.theme-cofex .es-module__title--xxl,
.theme-cofex .tpl-story__title {
    position: relative;
    padding-bottom: var(--space-md);
    margin-bottom: var(--space-md);
    font-family: var(--font-heading);
    font-weight: 700;
    color: var(--color-heading);
}

.theme-cofex .wp-showcase__heading::after,
.theme-cofex .es-module__title--xl::after,
.theme-cofex .es-module__title--xxl::after,
.theme-cofex .tpl-story__title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 3rem;
    height: 3px;
    background: var(--cofex-mokka);
    border-radius: 2px;
}

.theme-cofex .wp-showcase__heading.center::after,
.theme-cofex .es-module__title--center::after,
.theme-cofex .wp-showcase__heading[style*="text-align:center"]::after,
.theme-cofex .wp-showcase__heading[style*="text-align: center"]::after {
    left: 50%;
    transform: translateX(-50%);
}

.theme-cofex .wp-hero__overline {
    color: var(--cofex-latte);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 600;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.theme-cofex .wp-showcase__plan--highlighted {
    border-color: var(--color-primary);
    border-width: 2px;
    box-shadow: 0 4px 20px rgba(74, 24, 0, 0.15);
}

.theme-cofex .wp-showcase__stat-number {
    font-family: var(--font-heading);
    color: var(--color-primary);
    font-weight: 700;
}

/* =========================================
   Sensory profile / quick facts (kávy: chuť, praženie, pôvod)
   ========================================= */

.theme-cofex .es-sensory-card {
    background: var(--color-surface-alt);
    border-color: transparent;
    border-radius: var(--card-radius);
    box-shadow: 0 1px 3px rgba(74, 24, 0, 0.05);
}

.theme-cofex .es-sensory-card:hover {
    box-shadow: 0 8px 20px rgba(74, 24, 0, 0.1);
    transform: translateY(-2px);
}

.theme-cofex .es-sensory-card__icon {
    background: var(--color-primary-light);
    color: var(--color-primary);
}

.theme-cofex .es-sensory-card:hover .es-sensory-card__icon {
    background: var(--color-primary);
    color: #ffffff;
    transition: background 0.2s ease, color 0.2s ease;
}

.theme-cofex .es-quick-facts__title,
.theme-cofex .es-quick-facts__item dt {
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.75rem;
    font-weight: 600;
}

[data-theme="dark"] .theme-cofex .es-sensory-card {
    background: var(--color-surface-alt);
    border-color: var(--color-border);
}

[data-theme="dark"] .theme-cofex .es-sensory-card__icon {
    background: var(--color-primary-light);
    color: var(--color-primary);
}

[data-theme="dark"] .theme-cofex .es-sensory-card:hover .es-sensory-card__icon {
    color: #1b1310;
}

/* =========================================
   Module headings / articles / FAQ
   ========================================= */

.theme-cofex .wp-showcase__feature-title,
.theme-cofex .wp-showcase__plan-name,
.theme-cofex .wp-showcase__member-name,
.theme-cofex .wp-articles__title,
.theme-cofex .wp-articles__hero-title,
.theme-cofex .wp-articles__mag-title,
.theme-cofex .wp-faq__question {
    font-family: var(--font-heading);
    font-weight: 600;
    color: var(--color-heading);
}

.theme-cofex .wp-badge,
.theme-cofex .wp-articles__category {
    background: var(--color-primary-light);
    color: var(--color-primary);
    font-weight: 600;
    border-radius: var(--radius-sm);
}

[data-theme="dark"] .theme-cofex .wp-badge,
[data-theme="dark"] .theme-cofex .wp-articles__category {
    background: var(--color-primary-light);
    color: var(--color-primary);
}

.theme-cofex .wp-faq__question:hover {
    background: var(--color-primary-light);
}

[data-theme="dark"] .theme-cofex .wp-faq__question:hover {
    background: var(--color-surface-alt);
}

.theme-cofex .wp-articles__card:hover {
    box-shadow: 0 8px 20px rgba(74, 24, 0, 0.1);
}

[data-theme="dark"] .theme-cofex .wp-articles__card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

/* Back to top */
.theme-cofex .es-back-to-top:hover {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: #ffffff;
}

/* Dark mode — ghost buttons need visible borders */
[data-theme="dark"] .theme-cofex .es-product-card .ph-btn,
[data-theme="dark"] .theme-cofex .ph-item-thumbnail-related .ph-btn,
[data-theme="dark"] .theme-cofex .ph-item-thumbnail-related .btn {
    border-color: var(--color-border);
}

/* B2B alert - latte tint (gastro zákazníci nakupujú na firmu) */
.theme-cofex .tpl-b2b-alert {
    background: var(--color-primary-light);
    border-color: #e0c9b3;
}

.theme-cofex .tpl-b2b-alert__icon {
    background: var(--color-primary);
    color: #ffffff;
}

[data-theme="dark"] .theme-cofex .tpl-b2b-alert {
    background: var(--color-primary-light);
    border-color: var(--color-border);
}

[data-theme="dark"] .theme-cofex .tpl-b2b-alert__icon {
    background: var(--color-primary);
    color: #1b1310;
}

/* =========================================
   Pokladňa v tmavej - Phoca prepína cez [data-bs-theme], my cez [data-theme]
   (boatdiesel: formulár adresy bol biela karta s bielym písmom)
   ========================================= */

[data-theme="dark"] .theme-cofex {
    --ph-grey-bg: var(--color-surface-alt);
    --ph-white-bg: var(--color-surface);
    --ph-grey-border: var(--color-border);
}

/* Statické stránky (Kontakt, OP…) majú info blok vypnutý, ale šablóna aj tak
   vypíše „1 min čítania" (default.php: `$showMeta || $readingTime > 0`).
   Samotný čas čítania bez dátumu/autora nedáva zmysel → skryť, ak je v bloku sám. */
.theme-cofex .wp-article__meta:has(> .wp-article__reading-time:only-child) {
    display: none;
}

/* Úvodka bez obsahu komponentu (hideComponentHome): prázdny <main> držal ~300 px
   bielej medzery medzi hero a výkladnými sekciami. Skryť, keď je naozaj prázdny
   (nič okrem prázdneho kontajnera systémových správ). */
.theme-cofex.is-home .es-main:not(:has(.es-container > :not(#system-message-container), #system-message-container > *)) {
    display: none;
}

/* Mobilná hlavička: logo + 4 ikony + hamburger sa na 390 px nezmestili
   (scrollWidth 424 → stránka sa dala posúvať do boku, vpravo vykúkal okraj
   košíkovej zásuvky). Na úzkych displejoch skryť obľúbené (sú v pätičke aj v účte)
   a stiahnuť rozostupy. */
@media (max-width: 480px) {
    .theme-cofex .es-header__actions {
        gap: 0.125rem;
    }
    /* obľúbené (ikona bez .es-cart-btn-wrap) a prepínač témy — na mobile
       tmavý režim aj tak ide podľa systému, obľúbené sú v pätičke a v účte */
    .theme-cofex .es-header__actions .es-header-icon-wrap:not(.es-cart-btn-wrap) {
        display: none;
    }
    /* prepínač témy ostáva aj na mobile (Robert 14.9.) — miesto spraví menšie logo */
    .theme-cofex .es-header__logo img { --es-logo-height-mobile: 1.9em; }
    .theme-cofex .es-topbar .cf-len-pc {
        display: none;
    }
}

/* Dlaždice kategórií v katalógu a v kategórii — malé ako na boatdiesel (Robert 11.9.:
   „veľkostne ako boatdiesel, vedľa seba, malé fotky"). Base variant --catalog ich
   nafukuje na 240–340 px; tu 150–168 px, hustejšia mriežka, menší popisok. */
.theme-cofex .es-cat-grid,
.theme-cofex .es-cat-grid--catalog {
    --es-cat-card-min: 150px;
    --es-cat-card-max: 168px;
    --es-cat-card-gap: var(--space-md);
}

.theme-cofex .es-cat-grid--catalog .es-cat-grid__title {
    font-size: 0.8125rem;
    font-weight: 600;
}

@media (max-width: 767px) {
    .theme-cofex .es-cat-grid--catalog .es-cat-grid__item {
        width: 124px !important;
        flex: 0 0 124px !important;
    }
}

/* Hlavička s 8 kategóriami + Blog + Kontakt sa do 1365 px nezmestí (na 1440 pri
   základných rozostupoch liezli položky na logo a Kontakt na lupu — rovnaká pasca
   ako boatdiesel). Do 1365 px hamburger, od 1366 px stiahnuté rozostupy a písmo.
   template.min.css sa načítava AŽ ZA témou → !important. */
/* 16.9.: navbar má už len E-shop · Novinky a rady · Kontakt (strom je pod E-shopom) → hamburger stačí do 1023 px (hranica šablóny). */
@media (max-width: 1023px) {
    .theme-cofex .es-header__nav {
        display: none !important;
    }
    .theme-cofex .es-header__toggle {
        display: inline-flex !important;
    }
}

@media (min-width: 1024px) {
    .theme-cofex .es-header__nav ul {
        gap: 0;
    }
    .theme-cofex .es-header__nav a,
    .theme-cofex .es-phoca-nav--navbar .es-phoca-nav__list--root > .es-phoca-nav__item > .es-phoca-nav__link {
        padding: var(--space-sm) 0.55rem !important;
        font-size: 0.8125rem !important;
        letter-spacing: -0.01em;
    }
    .theme-cofex .es-header__logo img {
        height: 2.6em;
    }
}

@media (min-width: 1600px) {
    .theme-cofex .es-header__nav a,
    .theme-cofex .es-phoca-nav--navbar .es-phoca-nav__list--root > .es-phoca-nav__item > .es-phoca-nav__link {
        padding: var(--space-sm) 0.8rem !important;
        font-size: 0.875rem !important;
    }
}


/* Fotky rôznych rozmerov: Phoca ich už neoreže (crop_thumbnail=0, štvorcové boxy
   1000/500/240), šablóna ich vpasuje (object-fit: contain) — tu doplnené aj miesta,
   kde base používa cover (košík, pokladňa, karty podkategórií). */
.theme-cofex .ph-cart-cart-row-item img,
.theme-cofex .ph-mod-cart-image img,
.theme-cofex .ph-img-cart-cart,
.theme-cofex .ph-checkout-cart-image img,
.theme-cofex .ph-img-cart-checkout,
.theme-cofex .ph-checkout-cart-row-item .ph-checkout-cart-image img,
.theme-cofex .es-subcategory-card__image img {
    object-fit: contain;
    background: var(--es-media-plate);
}

/* ============================================
   Zobrazenie ceny ako na boatdiesel / web6 (Robert 12.9.: „ak DPH, mrkni web6").
   Karty: jedna cena s DPH bez rozpisu. Detail: veľká cena s DPH, pod ňou malým
   „bez DPH". Phoca po zapnutí dane vypisuje 3 riadky s popiskami — v kategórii
   nečitateľné, v detaile zbytočné.
   ============================================ */
.theme-cofex .ph-category-price-box .ph-price-netto,
.theme-cofex .ph-category-price-box .ph-price-netto-txt,
.theme-cofex .ph-category-price-box .ph-tax,
.theme-cofex .ph-category-price-box .ph-tax-txt,
.theme-cofex .ph-category-price-box .ph-price-brutto-txt,
.theme-cofex .ph-category-price-box .ph-price-original-txt {
    display: none !important;
}

.theme-cofex .ph-category-price-box .ph-price-brutto {
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--color-primary);
}

.theme-cofex .ph-item-price-box {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.15rem;
}

.theme-cofex .ph-item-price-box .ph-price-netto-txt,
.theme-cofex .ph-item-price-box .ph-tax,
.theme-cofex .ph-item-price-box .ph-tax-txt,
.theme-cofex .ph-item-price-box .ph-price-brutto-txt,
.theme-cofex .ph-item-price-box .ph-price-original-txt {
    display: none !important;
}

.theme-cofex .ph-item-price-box .ph-price-original,
.theme-cofex .ph-item-price-box .ph-price-old { order: 0; }
.theme-cofex .ph-item-price-box .ph-price-brutto { order: 1; }
.theme-cofex .ph-item-price-box .ph-price-netto {
    order: 2;
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--color-text-muted);
}

.theme-cofex .ph-item-price-box .ph-price-netto::after {
    content: " bez DPH";
    font-size: 0.85em;
}

/* ============================================
   Podkategórie v kategórii ako kompaktné boxy (boatdiesel, bod 9.2 klientky;
   Robert 12.9.: „kategórie z boatdiesel na mobile aj na PC").
   PC: malý štvorcový náhľad vľavo + názov, 3 v rade (4 od 1200 px — gastro má
   až 16 podkategórií). Mobil: zoznam pod sebou, nič sa neskrýva za okrajom.
   Úvodky (.ph-categories-box / modul) sa to netýka.
   ============================================ */
.theme-cofex.view-category .ph-category-module-box,
.theme-cofex.view-category .ph-category-module-box .es-cat-grid__track {
    width: 100%;
    max-width: none;
    overflow: visible;
}

.theme-cofex.view-category .ph-category-module-box .es-cat-grid__track > ul {
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow: visible !important;
}

@media (min-width: 768px) {
    .theme-cofex.view-category .ph-category-module-box .es-cat-grid__track > ul {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 0.75rem;
    }
}

@media (min-width: 1200px) {
    .theme-cofex.view-category .ph-category-module-box .es-cat-grid__track > ul {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

.theme-cofex.view-category .ph-category-module-box .es-cat-grid__item {
    width: auto !important;
    flex: none !important;
    min-width: 0;
    margin: 0;
}

.theme-cofex.view-category .ph-category-module-box .es-cat-grid__link {
    display: flex !important;
    flex-direction: row !important;   /* base má stĺpec (obrázok nad názvom) */
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    gap: 0.75rem;
    padding: 0.5rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    transition: border-color 0.15s, box-shadow 0.15s;
    transform: none !important;
}

.theme-cofex.view-category .ph-category-module-box .es-cat-grid__link:hover {
    border-color: var(--cofex-mokka);
    box-shadow: 0 2px 8px rgba(74, 24, 0, 0.08);
}

.theme-cofex.view-category .ph-category-module-box .es-cat-grid__image {
    flex: 0 0 auto !important;
    max-width: none;
    width: 3.5rem;
    height: 3.5rem;
    aspect-ratio: 1 / 1;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--es-media-plate);
    border: 0;
    border-radius: var(--radius-sm);
    box-shadow: none !important;
}

.theme-cofex.view-category .ph-category-module-box .es-cat-grid__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.theme-cofex.view-category .ph-category-module-box .es-cat-grid__title {
    flex: 1 1 auto;
    text-align: left;
    margin: 0;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.25;
}

/* nadpis „Kategórie" nad boxami — menší, zarovnaný vľavo ako na boatdiesel */
.theme-cofex.view-category .ph-category-module-box .es-cat-grid__heading {
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
}

/* ============================================================
   Swipe dráha produktov na úvodke — port z boatdiesel (Robert 12.9.:
   „spravme swipe aj na produkty ako na boat"). Override
   html/mod_phocacart_product/swipe.php + js/bd-swipe.js (názvy bd-* ponechané
   1:1, aby sa dali obe verzie porovnávať). Kandidát do jadra tpleshopu.
   ============================================================ */

/* ============================================================
   Swipe produktové kartičky (úvodka) — layout "swipe" modulu
   mod_phocacart_product. Posúvanie prstom rieši prehliadač
   (overflow-x + scroll-snap), šípky pridáva bd-swipe.js.
   ============================================================ */
.theme-cofex .bd-swipe {
    position: relative;
    display: block;
}

.theme-cofex .bd-swipe__track {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline-start: 0.125rem;
    padding: 0.25rem 0.125rem 0.5rem;
    scrollbar-width: none;
    -ms-overflow-style: none;
    overscroll-behavior-x: contain;
}

.theme-cofex .bd-swipe__track::-webkit-scrollbar {
    display: none;
}

.theme-cofex .bd-swipe__track:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 3px;
    border-radius: var(--radius-md, 8px);
}

.theme-cofex .bd-swipe__item {
    flex: 0 0 auto;
    width: 232px;
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
}

/* Karta v dráhe: obrázok s pevným pomerom, telo dorovná výšku */
.theme-cofex .bd-swipe__item .es-product-card__image {
    aspect-ratio: 4 / 3;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #fff;
}

.theme-cofex .bd-swipe__item .es-product-card__image img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

.theme-cofex .bd-swipe__item .es-product-card__body {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    flex: 1 1 auto;
    padding: 0.75rem;
}

.theme-cofex .bd-swipe__item .ph-product-header {
    font-size: 0.9rem;
    line-height: 1.3;
    margin: 0;
}

.theme-cofex .bd-swipe__item .es-product-card__sku,
.theme-cofex .bd-swipe__item .es-product-card__stock {
    font-size: 0.75rem;
}

.theme-cofex .bd-swipe__item .es-product-card__actions {
    margin-top: auto;
    padding-top: 0.5rem;
}

/* Odznak zľavy */
.theme-cofex .bd-swipe__item .es-product-card__labels {
    position: absolute;
    z-index: 2;
    top: 0.5rem;
    left: 0.5rem;
}

.theme-cofex .bd-badge--sale {
    display: inline-block;
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
    background: var(--color-primary);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.01em;
}

.theme-cofex .bd-swipe__item {
    position: relative;
}

/* Šípky — len pre myš; na dotyku sa posúva prstom */
.theme-cofex .bd-swipe__nav {
    display: none;
}

@media (hover: hover) and (pointer: fine) {
    .theme-cofex .bd-swipe__nav {
        display: grid;
        place-items: center;
        position: absolute;
        top: 38%;
        transform: translateY(-50%);
        width: 40px;
        height: 40px;
        border: 1px solid var(--border-color, rgba(0, 0, 0, 0.12));
        border-radius: 50%;
        background: var(--bg-primary, #fff);
        color: var(--text-primary, #111);
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.14);
        cursor: pointer;
        z-index: 3;
        transition: background-color 0.15s ease, color 0.15s ease;
    }

    .theme-cofex .bd-swipe__nav[hidden] {
        display: none;
    }

    .theme-cofex .bd-swipe__nav:hover {
        background: var(--color-primary);
        border-color: var(--color-primary);
        color: #fff;
    }

    .theme-cofex .bd-swipe__nav--prev {
        left: -14px;
    }

    .theme-cofex .bd-swipe__nav--next {
        right: -14px;
    }
}

@media (max-width: 767.98px) {
    .theme-cofex .bd-swipe__item {
        width: clamp(152px, 45vw, 200px);
    }

    .theme-cofex .bd-swipe__track {
        gap: 0.625rem;
    }
}

/* Cena v swipe karte: veľká aktuálna + preškrtnutá pôvodná vedľa,
   bez popiskov "Pôvodná cena / Cena" (v úzkej karte zaberali 4 riadky). */
.theme-cofex .bd-swipe__item .ph-category-price-box {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.45rem;
}

.theme-cofex .bd-swipe__item .ph-price-txt,
.theme-cofex .bd-swipe__item .ph-cb {
    display: none;
}

.theme-cofex .bd-swipe__item .ph-price-brutto {
    order: 1;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--color-primary);
    line-height: 1.2;
}

.theme-cofex .bd-swipe__item .ph-price-original {
    order: 2;
    font-size: 0.82rem;
    font-weight: 500;
    text-decoration: line-through;
    color: var(--color-text-muted);
    line-height: 1.2;
}

/* Karta v dráhe zarovnáva všetko doľava (SKU a stav skladu dedia
   zo základnej karty text-align:center, tu by skákali oproti cene). */
.theme-cofex .bd-swipe__item .es-product-card__sku,
.theme-cofex .bd-swipe__item .es-product-card__stock,
.theme-cofex .bd-swipe__item .es-product-card__header {
    text-align: left;
}

/* Swipe karty rovnako vysoké (názvy majú 1–2 riadky) a cena dole. */
.theme-cofex .bd-swipe__track {
    align-items: stretch !important;
}
.theme-cofex .bd-swipe__item {
    display: flex;
    flex-direction: column;
    height: auto !important;
    align-self: stretch;
}
.theme-cofex .bd-swipe__item .es-product-card__body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}
.theme-cofex .bd-swipe__item .es-product-card__actions {
    margin-top: auto;
}

/* Stav skladu v kartách (swipe + kategória): farba podľa aliasu stavu (pc-stock-<alias>). */
.theme-cofex .ph-stock { font-size: 0.8125rem; font-weight: 600; }
.theme-cofex .ph-stock.pc-stock-skladom { color: var(--color-success); }
.theme-cofex .ph-stock.pc-stock-do-2-3-dni { color: #a06a00; }
.theme-cofex .ph-stock.pc-stock-na-objednavku { color: var(--color-text-muted); }
.theme-cofex .ph-stock.pc-stock-nie-je-skladom { color: var(--color-danger); }
.theme-cofex .ph-stock.pc-stock-u-dodavatela { color: #8a6a1f; }   /* skladom u dodávateľa (5–7 dní) – jantárová, medzi zelenou „Skladom“ a sivou „Na objednávku“ */
.theme-cofex .ph-stock.pc-stock-vypredane { color: var(--color-text-muted); text-decoration: line-through; }   /* vypadnutý tovar z feedu v karanténe (cofex_feed) */

/* ============================================================
   Swipe: šípky na PC vždy (nie len pri hover:hover — na notebooku s dotykom
   by zmizli), na mobile tenký posuvník + závoj na pravom okraji ako náznak
   pokračovania (Robert 12.9.). Triedy is-at-end / bd-swipe--nescroll dáva bd-swipe.js.
   ============================================================ */
@media (min-width: 768px) {
    .theme-cofex .bd-swipe__nav {
        display: grid;
        place-items: center;
        position: absolute;
        top: 38%;
        transform: translateY(-50%);
        width: 40px;
        height: 40px;
        border: 1px solid var(--color-border);
        border-radius: 50%;
        background: var(--color-surface);
        color: var(--color-heading);
        box-shadow: 0 2px 10px rgba(74, 24, 0, 0.14);
        cursor: pointer;
        z-index: 3;
    }
    .theme-cofex .bd-swipe__nav--prev { left: -12px; }
    .theme-cofex .bd-swipe__nav--next { right: -12px; }
    .theme-cofex .bd-swipe__nav[hidden] { display: none; }
    .theme-cofex .bd-swipe__nav:hover { background: var(--color-primary); border-color: var(--color-primary); color: #fff; }
}

@media (max-width: 767.98px) {
    .theme-cofex .bd-swipe__track {
        scrollbar-width: thin;
        scrollbar-color: var(--cofex-latte) transparent;
        padding-bottom: 0.5rem;
    }
    .theme-cofex .bd-swipe__track::-webkit-scrollbar { display: block; height: 4px; }
    .theme-cofex .bd-swipe__track::-webkit-scrollbar-thumb { background: var(--cofex-latte); border-radius: 2px; }
    .theme-cofex .bd-swipe__track::-webkit-scrollbar-track { background: transparent; }
}

.theme-cofex .bd-swipe { position: relative; }
/* závoj vpravo cez masku dráhy (nie farebný prekryv) — funguje na krémovom aj béžovom páse aj v tme (Robert 14.9.) */
.theme-cofex .bd-swipe::after { content: none; }
.theme-cofex .bd-swipe .bd-swipe__track {
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 2.5rem), transparent);
    mask-image: linear-gradient(to right, #000 calc(100% - 2.5rem), transparent);
    transition: -webkit-mask-image 0.2s ease, mask-image 0.2s ease;
}
.theme-cofex .bd-swipe.is-at-end .bd-swipe__track,
.theme-cofex .bd-swipe.bd-swipe--nescroll .bd-swipe__track { -webkit-mask-image: none; mask-image: none; }

/* ---- Pätička na mobile na odklik (cf-ui.js) ---- */
.theme-cofex .bd-foot-toggle { display: none; }
@media (max-width: 767.98px) {
    .theme-cofex .bd-foot-collapsible .es-module__header { display: none; }
    .theme-cofex .bd-foot-toggle {
        display: flex; align-items: center; justify-content: space-between; width: 100%;
        gap: 0.5rem; padding: 0.7rem 0; border: 0; border-bottom: 1px solid rgba(255, 255, 255, 0.12);
        background: none; color: inherit; font: inherit; font-weight: 600; text-align: left; cursor: pointer;
    }
    .theme-cofex .bd-foot-toggle__ico { flex: 0 0 auto; transition: transform 0.2s ease; }
    .theme-cofex .bd-foot-collapsible.is-open .bd-foot-toggle__ico { transform: rotate(180deg); }
    .theme-cofex .bd-foot-collapsible .es-module__body { display: none; }
    .theme-cofex .bd-foot-collapsible.is-open .es-module__body { display: block; padding-top: 0.5rem; }
    .theme-cofex .bd-foot-collapsible { margin-bottom: 0 !important; }
}

/* ---- Popis kategórie na mobile: 4 riadky + „Čítať viac" ---- */
@media (max-width: 767.98px) {
    .theme-cofex .es-category-header__desc {
        display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
    }
    .theme-cofex .es-category-header__desc.is-open { display: block; -webkit-line-clamp: unset; overflow: visible; }
    .theme-cofex .bd-desc-toggle {
        display: inline-block; margin: 0.25rem 0 0.75rem; padding: 0; border: 0; background: none;
        color: var(--color-primary); font: inherit; font-weight: 600; cursor: pointer;
    }
}

/* ---- Filter: PC v ľavom stĺpci, mobil vysúvací panel + plávajúce tlačidlo (cf-ui.js) ---- */
.theme-cofex .bd-filter-fab, .theme-cofex .bd-filter-close, .bd-filter-backdrop { display: none; }
@media (max-width: 767.98px) {
    /* Phoca stránky: panel je mimo obrazovky hneď z CSS (nie až keď cf-ui.js pridá .bd-filter-panel) —
       inak na mobile pri načítaní prebleskne v obsahu (Robert 14.9.). Animácia až po inicializácii. */
    .theme-cofex.com-phocacart .es-sidebar--left,
    .theme-cofex .bd-filter-panel {
        position: fixed; top: 0; left: 0; bottom: 0; width: min(86vw, 360px); z-index: 1200;
        background: var(--color-surface); overflow-y: auto; padding: 3rem 1rem 1.5rem;
        transform: translateX(-100%); transition: none; box-shadow: 0 0 30px rgba(0, 0, 0, 0.25);
    }
    .theme-cofex .bd-filter-panel { transition: transform 0.25s ease; }
    body.bd-filter-open .es-sidebar--left.bd-filter-panel, body.bd-filter-open .bd-filter-panel { transform: translateX(0); }
    .theme-cofex .bd-filter-close {
        display: grid; place-items: center; position: absolute; top: 0.6rem; right: 0.6rem; width: 36px; height: 36px;
        border: 1px solid var(--color-border); border-radius: 50%; background: var(--color-surface); color: var(--color-heading); cursor: pointer;
    }
    .bd-filter-backdrop { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.45); z-index: 1150; opacity: 0; pointer-events: none; transition: opacity 0.2s; }
    body.bd-filter-open .bd-filter-backdrop { display: block; opacity: 1; pointer-events: auto; }
    .theme-cofex .bd-filter-fab {
        position: fixed; left: 50%; bottom: 1rem; transform: translateX(-50%); z-index: 1100;
        display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.7rem 1.25rem; border: 0; border-radius: 999px;
        background: var(--color-primary); color: #fff; font: inherit; font-weight: 600; box-shadow: 0 6px 20px rgba(74, 24, 0, 0.35); cursor: pointer;
    }
    body.bd-filter-open .bd-filter-fab { display: none; }
    body.view-checkout .bd-filter-fab { display: none; }
}

/* ============================================================
   Naposledy prezerané — pás sa dokresľuje v prehliadači z localStorage
   (bd-recent.js), preto tu ide len o vzhľad. Kartička je zámerne menšia
   než produktová: je to pomôcka na návrat, nie ďalší výpis tovaru.
   ============================================================ */
.theme-cofex .bd-recent__item {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    width: 150px;
    padding: 0.5rem;
    border: 1px solid var(--color-border);
    border-radius: var(--card-radius, 8px);
    background: var(--color-surface);
    color: inherit;
    text-decoration: none;
    transition: border-color 0.15s ease, transform 0.15s ease;
}

.theme-cofex .bd-recent__item:hover {
    border-color: var(--color-primary);
    transform: translateY(-2px);
}

.theme-cofex .bd-recent__img {
    display: grid;
    place-items: center;
    aspect-ratio: 1 / 1;
    background: #fff;
    border-radius: 4px;
    overflow: hidden;
}

.theme-cofex .bd-recent__img img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    object-fit: contain;
}

.theme-cofex .bd-recent__nazov {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 0.78rem;
    line-height: 1.25;
}

.theme-cofex .bd-recent__cena {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--color-primary);
}

@media (max-width: 767.98px) {
    .theme-cofex .bd-recent__item {
        width: 122px;
    }
}

/* mazanie: krížik na kartičke a odkaz na vymazanie celého pásu */
.theme-cofex .bd-recent__item {
    position: relative;
}

.theme-cofex .bd-recent__odkaz {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    color: inherit;
    text-decoration: none;
}

.theme-cofex .bd-recent__zmaz {
    position: absolute;
    top: 4px;
    right: 4px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    padding: 0;
    border: 1px solid var(--color-border);
    border-radius: 50%;
    background: var(--color-surface);
    color: var(--text-secondary, #6b7280);
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.15s ease, color 0.15s ease;
}

.theme-cofex .bd-recent__item:hover .bd-recent__zmaz,
.theme-cofex .bd-recent__zmaz:focus-visible {
    opacity: 1;
}

/* na dotyku nie je hover — tam nech je krížik vidno vždy */
@media (hover: none) {
    .theme-cofex .bd-recent__zmaz {
        opacity: 1;
    }
}

.theme-cofex .bd-recent__zmaz:hover {
    color: var(--color-primary);
    border-color: var(--color-primary);
}

.theme-cofex .bd-recent__akcie {
    margin: 0.25rem 0 0;
    text-align: center;
}

.theme-cofex .bd-recent__zmaz-vsetko {
    padding: 0;
    border: 0;
    background: none;
    color: var(--text-secondary, #6b7280);
    font: inherit;
    font-size: 0.8rem;
    text-decoration: underline;
    cursor: pointer;
}

.theme-cofex .bd-recent__zmaz-vsetko:hover {
    color: var(--color-primary);
}

/* ============================================================
   Pravý stĺpec (blog, značky): zoznam článkov je v 300 px stĺpci
   nepoužiteľný — obrázok si bral 210 px a na názov ostalo 90,
   takže sa lámal po slovách. Malý štvorcový náhľad vľavo, názov
   dostane zvyšok.
   ============================================================ */


@media (max-width: 767.98px) {
    .theme-cofex .es-bottom__grid { gap: 0; }
    .theme-cofex .es-bottom__col:not(.bd-foot-collapsible) { margin-top: 1.25rem; }
}

/* Naposledy prezerané — menšie (Robert 12.9.): kartička 120 px (mobil 96 px),
   drobný názov, malá cena, menší nadpis pásu. Pravidlá swipe kariet majú
   rovnakú špecificitu a boli neskôr → tu vyššia špecificita. */
.theme-cofex .bd-recent .bd-swipe__item.bd-recent__item {
    width: 120px !important;
    flex: 0 0 120px !important;
    padding: 0.4rem;
    gap: 0.25rem;
}
.theme-cofex .bd-recent .bd-recent__nazov {
    font-size: 0.72rem;
    line-height: 1.25;
    font-weight: 500;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.theme-cofex .bd-recent .bd-recent__cena {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--color-primary);
}
.theme-cofex .bd-recent .bd-recent__img img {
    max-height: 100%;
    object-fit: contain;
}
.theme-cofex .bd-recent .bd-swipe__track {
    gap: 0.5rem;
    padding: 0.25rem 0 0.5rem;
}
.theme-cofex .es-showcase .es-module:has(> .es-module__body [data-bd-recent]) .es-module__title--xl,
.theme-cofex [data-bd-recent] .es-module__title {
    font-size: 1.125rem !important;
    padding-bottom: 0.5rem;
    margin-bottom: 0.5rem;
}
.theme-cofex [data-bd-recent] .es-module__title::after { width: 2rem; height: 2px; }
.theme-cofex .bd-recent__akcie { margin: 0.25rem 0 0; font-size: 0.75rem; }
@media (max-width: 767.98px) {
    .theme-cofex .bd-recent .bd-swipe__item.bd-recent__item {
        width: 96px !important;
        flex: 0 0 96px !important;
    }
}

/* Hero „contained" zarovno s kontajnerom (Robert 12.9.): base dáva len zvislý
   padding, hero teda šiel od okraja k okraju so zaoblením — tu rovnaká šírka
   a odsadenie ako .es-container, aby lícoval s obsahom pod ním. */
.theme-cofex .es-hero--contained {
    max-width: var(--container-max);
    margin-inline: auto;
    padding: var(--space-md) 0 0;   /* vodorovné odsadenie dáva vnútorný .es-container */
}
.theme-cofex .es-hero--contained .wp-showcase--hero {
    margin-inline: 0 !important;   /* base hero „bleeduje" cez max(-10%, 50%-50vw) → zarovno s obsahom */
    border-radius: var(--radius-lg);
    overflow: hidden;
}

/* ---- Filter: Dostupnosť hneď za kategóriou a cenou (boatdiesel bod 9.3).
   Phoca kreslí parametre až za výrobcami; poradie prehadzujeme flexom. ---- */
.theme-cofex #phFilterBox { display: flex; flex-direction: column; }
.theme-cofex #phFilterBox > .panel              { order: 5; }
.theme-cofex #phFilterBox > .panel-id           { order: 1; }
.theme-cofex #phFilterBox > .panel-price_from   { order: 2; }
.theme-cofex #phFilterBox > .panel-dostupnost   { order: 3; }
.theme-cofex #phFilterBox > .panel-manufacturer { order: 4; }
.theme-cofex #phFilterBox .panel-body { max-height: 17rem; overflow-y: auto; scrollbar-width: thin; }

/* ============================================================
   POKLADŇA A KOŠÍK — port z boatdiesel (web6, 12.–13. 9. 2026; Robert: „hlavne pokladňa sa riešila").
   Bloky 1:1 s .theme-boatdiesel → .theme-cofex, farby na tokeny témy.
   ============================================================ */

/* ---- [boatdiesel 4653–4799] pokladňa na mobile + hosť (5.9.) ---- */
/* ============================================================
   POKLADŇA NA MOBILE (5. 9.)
   Šablóna tam drží dole lištu „Zobraziť súhrn" (.pc-mobile-cta, telo si
   rezervuje 80 px). Na nej ležala bublina poradcu aj ikonka cookies.
   V pokladni ide o dokončenie nákupu — plávajúce prvky preč, aby nič
   neprekrývalo súhrn a tlačidlo. Šípku „hore" dvíhame nad lištu.
   ============================================================ */
@media (max-width: 1023.98px) {
    body.view-checkout .wpp-bublina,
    body.pc-has-mobile-cta .wpp-bublina,
    body.view-checkout .cc-trigger,
    body.view-checkout .cc-trigger-icon,
    body.pc-has-mobile-cta .cc-trigger,
    body.pc-has-mobile-cta .cc-trigger-icon {
        display: none !important;
    }

    body.view-checkout .theme-cofex .es-back-to-top,
    body.view-checkout .es-back-to-top,
    body.pc-has-mobile-cta .es-back-to-top {
        bottom: calc(80px + 1rem) !important;
    }

    /* rozbalený súhrn siaha do polovice obrazovky — nech je nad ním
       ešte vidno hlavičku kroku, nie plávajúce ozdoby */
    body.view-checkout .bd-filter-fab {
        display: none !important;
    }
}

/* ============================================================
   POKLADŇA: nákup ako hosť ako hlavná voľba (5. 9.)
   Phoca dáva prihlásenie prvé a hosťa do rohu; pri sezónnom nákupe
   je to naopak — účet chce málokto. Override šablóny dvíha hosťa hore,
   tu mu dávame váhu a prihlásenie stlmíme.
   ============================================================ */
.theme-cofex .bd-hostuje {
    margin-bottom: 1.5rem;
}

.theme-cofex .bd-hostuje__form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1rem;
    padding: 1.1rem 1.25rem;
    border: 1px solid var(--color-border);
    border-left: 4px solid var(--color-primary);
    border-radius: var(--card-radius, 0.5rem);
    background: var(--color-surface);
}

.theme-cofex .bd-hostuje__btn {
    padding: 0.65rem 1.4rem;
    font-weight: 600;
    font-size: 1rem;
}

.theme-cofex .bd-hostuje__popis {
    color: var(--color-text-muted);
    font-size: 0.92rem;
}

/* Prihlásenie a registrácia sú sekundárne. Základná template.css sa načítava
   po téme, preto tu potrebujeme !important — inak ostanú plné červené. */
.theme-cofex .ph-checkout-box-login button.ph-checkout-btn-login,
.theme-cofex .ph-checkout-box-login .ph-login-form button[type="submit"],
.theme-cofex .ph-checkout-box-login form:not(.bd-hostuje__form) button.btn-primary,
.theme-cofex .ph-checkout-box-login a.btn-primary {
    background: transparent !important;
    color: var(--color-primary) !important;
    border: 1px solid var(--color-primary) !important;
    font-weight: 500;
}

.theme-cofex .ph-checkout-box-login button.ph-checkout-btn-login:hover,
.theme-cofex .ph-checkout-box-login .ph-login-form button[type="submit"]:hover,
.theme-cofex .ph-checkout-box-login form:not(.bd-hostuje__form) button.btn-primary:hover,
.theme-cofex .ph-checkout-box-login a.btn-primary:hover {
    background: var(--color-primary) !important;
    color: #fff !important;
}

/* registračná krabica nech nekričí červeným pozadím */
.theme-cofex .ph-checkout-box-login .ph-box-header,
.theme-cofex .ph-checkout-box-login .ph-left-border {
    background: transparent !important;
}

/* hlavné tlačidlo hosťa musí ostať plné */
.theme-cofex .bd-hostuje__form button.bd-hostuje__btn {
    background: var(--color-primary) !important;
    color: #fff !important;
    border: 1px solid var(--color-primary) !important;
}

@media (max-width: 575.98px) {
    .theme-cofex .bd-hostuje__form { flex-direction: column; align-items: stretch; text-align: center; }
    .theme-cofex .bd-hostuje__btn { width: 100%; }
}

/* Nastavenia cookies v pätičke (5. 9.) — rovnaký prístup ako v tpl_magazin:
   tlačidlo vykresľuje šablóna, nie obsah modulu. */
.theme-cofex .es-footer__cookies {
    display: flex;
    justify-content: center;
    padding: .35rem 0 1rem;
    grid-column: 1 / -1;   /* pätička je mriežka, inak by tlačidlo sedelo v prvom stĺpci */
}

.theme-cofex .es-footer__cookie-btn {
    background: none;
    border: 0;
    padding: .25rem .5rem;
    font: inherit;
    font-size: .85rem;
    color: var(--color-text-muted);
    text-decoration: underline;
    cursor: pointer;
}

.theme-cofex .es-footer__cookie-btn:hover,
.theme-cofex .es-footer__cookie-btn:focus-visible {
    color: var(--color-primary);
}

/* Autorizované značky sú teraz preklik na tovar danej značky (5. 9.) */
.theme-cofex .bd-auth__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.theme-cofex .bd-auth__card:hover {
    border-color: var(--color-primary);
    box-shadow: var(--card-shadow-hover);
}

.theme-cofex .bd-auth__link:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 3px;
}


/* ---- [boatdiesel 6830–6875] telefón: formuláre ---- */
/* ---- telefón: formuláre nech nezužujú priestor (Robert 12. 9.) ----
   Pokladňa: Phoca dáva riadku aj stĺpcu 16 px zboku (spolu 64 px z 390),
   formuláre v článkoch: obal 20 px + fieldset 21,6 px. Necháme 12 px. */
@media (max-width: 575.98px) {
    .theme-cofex .pc-checkout-view .ph-checkout-box-action {
        padding-left: .75rem;
        padding-right: .75rem;
    }

    .theme-cofex .pc-checkout-view .ph-checkout-box-action > [class*="col-"],
    .theme-cofex .pc-checkout-view .ph-checkout-billing-row,
    .theme-cofex .pc-checkout-view .ph-checkout-shipping-row {
        padding-left: 0;
        padding-right: 0;
    }

    .theme-cofex .pc-checkout-view .row.form-group {
        margin-left: 0;
        margin-right: 0;
    }

    .theme-cofex .pc-checkout-view .row.form-group > [class*="col-"] {
        padding-left: 0;
        padding-right: 0;
    }

    .theme-cofex .pc-checkout-view .ph-checkout-box-login .ph-checkout-box-action > div > div {
        padding-left: .75rem;
        padding-right: .75rem;
    }

    .theme-cofex .wp-formular {
        padding: .75rem;
    }

    .theme-cofex .wp-formular fieldset,
    .theme-cofex .wp-formular .m-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .theme-cofex .wp-formular legend {
        padding-left: 0;
    }
}


/* ---- [boatdiesel 6876–6954] pokladňa na telefóne: kroky, hosť, na firmu ---- */
/* ---- pokladňa na telefóne (Robert 12. 9.): kroky, hosť, „Nakupujem na firmu" ---- */
@media (max-width: 575.98px) {
    /* kroky: len čísla s jednou spojitou linkou, názov len pri aktívnom kroku
       (pôvodne sa nezalomené názvy prekrývali a spojnice vyzerali ako pomlčky) */
    .theme-cofex .pc-progress__list {
        position: relative;
        justify-content: space-between;
        align-items: center;
    }

    .theme-cofex .pc-progress__list::before {
        content: "";
        position: absolute;
        left: 14px;
        right: 14px;
        top: 50%;
        height: 2px;
        background: var(--color-border, #e5e7eb);
        transform: translateY(-50%);
    }

    .theme-cofex .pc-progress__step {
        flex: 0 1 auto;
        padding: .4rem 0;
        gap: .4rem;
        z-index: 1;
    }

    .theme-cofex .pc-progress__step + .pc-progress__step::before {
        display: none;
    }

    .theme-cofex .pc-progress__step:not(.pc-progress__step--active) .pc-progress__label {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
    }

    .theme-cofex .pc-progress__step--active {
        padding-right: .5rem;
        background: var(--bg-primary, #fff);
    }

    /* čakajúce kroky prekryjú linku bielym kruhom; hotové/aktívne ostávajú červené */
    .theme-cofex .pc-progress__step:not(.pc-progress__step--done):not(.pc-progress__step--active) .pc-progress__num {
        background: var(--bg-primary, #fff);
    }
}

/* hosť: text „Nákup ako hosť" nad tlačidlom Zrušiť je duplicita hlavičky sekcie → nech je to jeden riadok s odstupom */
.theme-cofex .ph-checkout-add-guest > div:first-child {
    margin-bottom: .6rem;
    color: var(--color-text-muted, #6b7280);
    font-size: .9rem;
}

.theme-cofex .ph-checkout-add-guest .ph-checkout-btn-login-box {
    float: none;
    margin-top: .25rem;
}

/* „Nakupujem na firmu": políčko s odstupom od poľa nad ním a pod ním */
.theme-cofex .bd-na-firmu {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: .6rem 0 .9rem;
    cursor: pointer;
}

.theme-cofex .bd-na-firmu input[type="checkbox"] {
    width: 1.1rem;
    height: 1.1rem;
    margin: 0;
    accent-color: var(--accent-red, var(--color-primary));
}


/* ---- [boatdiesel 6955–6995] systémové hlášky v tmavej ---- */
/* ---- systémové hlášky (napr. „Produkt bol pridaný do košíka") v tmavej téme ----
   Joomla dáva svetlé pastelové pozadie, na tmavom je to rušivé → tmavé tónované varianty. */
[data-theme="dark"] .theme-cofex joomla-alert,
[data-theme="dark"] .theme-cofex .alert {
    --bd-al-bg: var(--color-surface-alt);
    --bd-al-fg: var(--color-text, #e2e8f0);
    --bd-al-bd: #2e3a5c;
    background: var(--bd-al-bg) !important;
    color: var(--bd-al-fg) !important;
    border: 1px solid var(--bd-al-bd) !important;
    box-shadow: none;
}

[data-theme="dark"] .theme-cofex joomla-alert[type="success"],
[data-theme="dark"] .theme-cofex .alert-success {
    --bd-al-bg: #14301f;
    --bd-al-fg: #bfe8c9;
    --bd-al-bd: #1f5a30;
}

[data-theme="dark"] .theme-cofex joomla-alert[type="warning"],
[data-theme="dark"] .theme-cofex .alert-warning {
    --bd-al-bg: #3a2c0f;
    --bd-al-fg: #f3d58a;
    --bd-al-bd: #6b5215;
}

[data-theme="dark"] .theme-cofex joomla-alert[type="danger"],
[data-theme="dark"] .theme-cofex .alert-danger,
[data-theme="dark"] .theme-cofex .alert-error {
    --bd-al-bg: #3b1218;
    --bd-al-fg: #f4b8c0;
    --bd-al-bd: #7a1f2b;
}

[data-theme="dark"] .theme-cofex joomla-alert .joomla-alert--close,
[data-theme="dark"] .theme-cofex joomla-alert button.joomla-alert--close,
[data-theme="dark"] .theme-cofex joomla-alert .alert-message {
    color: inherit !important;
}


/* ---- [boatdiesel 6996–7095] súhrn košíka v pokladni ---- */
/* ---- súhrn košíka v pokladni (Robert 12. 9.: „neprehľadný") ----
   Phoca skladá 6 stĺpcov do 300 px. Namiesto tabuľky: obrázok · názov · množstvo · cena s DPH;
   stĺpce „bez dane" a „daň" preč (DPH je v rekapitulácii), hlavička preč. */
.theme-cofex .ph-checkout-cart-box .ph-checkout-cart-row-header,
.theme-cofex .ph-checkout-cart-box .ph-checkout-cart-netto,
.theme-cofex .ph-checkout-cart-box .ph-checkout-cart-tax,
.theme-cofex .ph-checkout-cart-box .ph-checkout-cart-row-hr {
    display: none !important;
}

.theme-cofex .ph-checkout-cart-box .ph-checkout-cart-row-item {
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr);
    grid-template-areas: "obr nazov" "akcie akcie";
    column-gap: .75rem;
    row-gap: .35rem;
    align-items: center;
    margin: 0 0 .5rem;
    padding: .6rem 0;
    border-bottom: 1px solid var(--color-border, #e5e7eb);
}

.theme-cofex .ph-checkout-cart-box .ph-checkout-cart-row-item > div {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.theme-cofex .ph-checkout-cart-box .ph-checkout-cart-row-item > .ph-checkout-cart-image { grid-area: obr; }
.theme-cofex .ph-checkout-cart-box .ph-checkout-cart-row-item > .ph-checkout-cart-title { grid-area: nazov; font-size: .9rem; line-height: 1.3; }
.theme-cofex .ph-checkout-cart-box .ph-checkout-cart-row-item > .ph-checkout-cart-quantity { grid-area: akcie; justify-self: start; }
.theme-cofex .ph-checkout-cart-box .ph-checkout-cart-row-item > .ph-checkout-cart-brutto { grid-area: akcie; justify-self: end; text-align: right; }

.theme-cofex .ph-checkout-cart-box .ph-img-cart-checkout {
    width: 56px;
    height: 56px;
    object-fit: contain;
    border-radius: .35rem;
    background: #fff;
}

.theme-cofex .ph-checkout-cart-box .ph-checkout-cart-quantity .input-group {
    flex-wrap: nowrap;
    width: auto;
}

.theme-cofex .ph-checkout-cart-box .ph-input-quantity {
    width: 3.2rem !important;
    text-align: center;
    padding: .25rem .3rem;
}

.theme-cofex .ph-checkout-cart-box .ph-checkout-cart-quantity .ph-btn {
    padding: .25rem .45rem;
}

.theme-cofex .bd-cart-suma {
    display: block;
    font-weight: 700;
    color: var(--accent-red, var(--color-primary));
    white-space: nowrap;
}

.theme-cofex .bd-cart-kus {
    display: block;
    font-size: .78rem;
    color: var(--color-text-muted, #6b7280);
    white-space: nowrap;
}

/* rekapitulácia: text vľavo, suma vpravo, bez prázdneho stĺpca */
.theme-cofex .ph-checkout-cart-box .ph-checkout-cart-row-subtotal {
    display: flex !important;
    justify-content: space-between;
    align-items: baseline;
    gap: .5rem;
    padding: .2rem 0;
}

.theme-cofex .ph-checkout-cart-box .ph-checkout-cart-row-subtotal > .col-0 {
    display: none;
}

.theme-cofex .ph-checkout-cart-box .ph-checkout-cart-row-subtotal > div {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    padding: 0 !important;
}

.theme-cofex .ph-checkout-cart-box .ph-cart-total-box {
    margin-top: .35rem;
    padding-top: .5rem;
    border-top: 1px solid var(--color-border, #e5e7eb);
    font-size: 1.05rem;
    font-weight: 700;
}


/* ---- [boatdiesel 7096–7155] mini košík v hlavičke ---- */
/* ---- mini košík v hlavičke: „2× · názov · cena s DPH" (šablóna vnucuje #phItemCartBox .row flex
   a stĺpcom flex:1 → treba id v selektore; názov sa zalamuje, nie orezáva) ---- */
.theme-cofex #phItemCartBox .ph-cart-cart-row-item {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto;
    column-gap: .6rem;
    align-items: start;
    padding: .55rem 0;
}

.theme-cofex #phItemCartBox .ph-cart-cart-row-item > [class*="col-"] {
    flex: none !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    min-width: 0;
}

.theme-cofex #phItemCartBox .ph-cart-small-quantity {
    white-space: nowrap;
    color: var(--color-text-muted, #6b7280);
}

.theme-cofex #phItemCartBox .ph-cart-small-title,
.theme-cofex #phItemCartBox .ph-cart-small-title a {
    font-size: .9rem;
    line-height: 1.3;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    display: block;
}

.theme-cofex #phItemCartBox .ph-cart-small-price {
    font-weight: 600;
    white-space: nowrap;
    text-align: right;
}

.theme-cofex #phItemCartBox .ph-cart-cart-row-header {
    display: none !important;
}

/* mini košík: bez linky pod hlavičkou „Nákupný košík" (Robert 12. 9.) */
.theme-cofex .es-cart-offcanvas__header {
    border-bottom: 0;
}

.theme-cofex #phItemCartBox .ph-cart-cart-row-item:first-of-type {
    padding-top: 0;
}

/* mini košík: prvá položka mala nad sebou linku z prázdneho oddeľovacieho riadku (ph-hr) — oddeľovače riešia položky samy */
.theme-cofex #phItemCartBox .ph-cart-cart-row-hr,
.theme-cofex #phItemCartBox .ph-cart-cart-row-hr .ph-hr {
    display: none !important;
    height: 0;
    border: 0;
}


/* ---- [boatdiesel 7379–7487] boxy dopravy/platby klikateľné ---- */
/* ---- Pokladňa: spôsoby dopravy a platby – celý box je klikateľný (JS v bd-pas.js), kompaktnejší, vybraný zvýraznený ---- */
.theme-cofex .ph-checkout-shipping-item,
.theme-cofex .ph-checkout-payment-item {
    cursor: pointer;
    padding: .65rem .9rem;
    min-height: 0;
    transition: border-color .15s, background-color .15s;
}

.theme-cofex .ph-checkout-shipping-item:hover,
.theme-cofex .ph-checkout-payment-item:hover {
    border-color: var(--color-primary, var(--color-primary));
}

.theme-cofex .ph-checkout-shipping-item:has(input:checked),
.theme-cofex .ph-checkout-payment-item:has(input:checked) {
    border-color: var(--color-primary, var(--color-primary));
    box-shadow: inset 0 0 0 1px var(--color-primary, var(--color-primary));
    background: color-mix(in srgb, var(--color-primary, var(--color-primary)) 5%, transparent);
}

.theme-cofex .ph-checkout-shipping-item .controls,
.theme-cofex .ph-checkout-payment-item .controls,
.theme-cofex .ph-checkout-shipping-item .radio,
.theme-cofex .ph-checkout-payment-item .radio {
    margin: 0;
    padding: 0;
    min-height: 0;
}

.theme-cofex .ph-checkout-shipping-item label,
.theme-cofex .ph-checkout-payment-item label {
    cursor: pointer;
    margin: 0;
    display: flex;
    align-items: center;
    gap: .5rem;
}

.theme-cofex .ph-checkout-shipping-item label input,
.theme-cofex .ph-checkout-payment-item label input {
    margin: 0;
    flex: 0 0 auto;
}

.theme-cofex .ph-checkout-shipping-item .ph-shipping-title,
.theme-cofex .ph-checkout-payment-item .ph-payment-title {
    padding: 0;
    line-height: 1.35;
}

/* súhrn vpravo: názov dopravy/platby vľavo, nie pri cene */
.theme-cofex .ph-cart-shipping-txt,
.theme-cofex .ph-cart-payment-txt,
.theme-cofex .ph-cart-shipping-netto-txt,
.theme-cofex .ph-cart-payment-netto-txt {
    text-align: left;
}

/* cena: bez rozpisu DPH (tax_hide 9/11) ostane jeden riadok – popisok je prázdny, cena vpravo */
.theme-cofex .ph-shipping-price-box .row,
.theme-cofex .ph-payment-price-box .row {
    display: flex;
    justify-content: flex-end;
}

.theme-cofex .ph-shipping-price-box [class*="-txt"]:empty,
.theme-cofex .ph-payment-price-box [class*="-txt"]:empty {
    display: none;
}

.theme-cofex .ph-checkout-shipping-brutto,
.theme-cofex .ph-checkout-payment-brutto,
.theme-cofex .ph-checkout-shipping-free,
.theme-cofex .ph-checkout-payment-free {
    width: auto;
    flex: 0 0 auto;
    text-align: right;
    font-weight: 700;
    white-space: nowrap;
}

/* súhlas s podmienkami + poznámka o osobných údajoch (bez ďalšieho políčka) */
.theme-cofex .ph-checkout-checkbox-confirm {
    display: block;
}

.theme-cofex .ph-checkout-checkbox-confirm label {
    display: block;
    cursor: pointer;
    line-height: 1.5;
}

.theme-cofex .ph-checkout-checkbox-confirm label input {
    margin: 0 .5rem 0 0;
    vertical-align: -.1em;
}

.theme-cofex .bd-pokladna-gdpr {
    margin: .35rem 0 .75rem 1.55rem;
    font-size: .875rem;
    color: var(--color-text-muted, #6b7280);
}

.theme-cofex .bd-pokladna-gdpr a {
    color: inherit;
    text-decoration: underline;
}


/* ---- [boatdiesel 7525–7640] box doprava/platba v jednom riadku ---- */
/* ---- Pokladňa: box dopravy/platby vždy v jednom riadku (názov | cena), aj na telefóne; „Zadarmo" netučné ---- */
.theme-cofex .ph-checkout-shipping-item,
.theme-cofex .ph-checkout-payment-item {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: .75rem;
    margin-left: 0;
    margin-right: 0;
}

.theme-cofex .ph-checkout-shipping-item > [class*="col-"],
.theme-cofex .ph-checkout-payment-item > [class*="col-"] {
    width: auto;
    max-width: none;
    padding: 0;
    flex: 0 0 auto;
}

.theme-cofex .ph-checkout-shipping-item > .ph-shipping-title-box,
.theme-cofex .ph-checkout-payment-item > .ph-payment-title-box {
    flex: 1 1 auto;
    min-width: 0;
}

.theme-cofex .ph-shipping-price-box .row,
.theme-cofex .ph-payment-price-box .row {
    margin: 0;
}

.theme-cofex .ph-shipping-price-box .row > [class*="col-"],
.theme-cofex .ph-payment-price-box .row > [class*="col-"] {
    padding: 0;
    width: auto;
    max-width: none;
    flex: 0 0 auto;
}

.theme-cofex .ph-checkout-shipping-free,
.theme-cofex .ph-checkout-payment-free {
    font-weight: 400;
    color: var(--color-text-muted, #6b7280);
}

/* doplnkové info dopravy (výdajné miesto SPS/GLS/PostaPont) pod názvom, cez celú šírku */
.theme-cofex .ph-checkout-shipping-item > .ph-checkout-shipping-additional-info,
.theme-cofex .ph-checkout-shipping-item .ph-checkout-sps-box,
.theme-cofex .ph-checkout-shipping-item .ph-checkout-gls-box,
.theme-cofex .ph-checkout-shipping-item .ph-checkout-postapont-box,
.theme-cofex .ph-checkout-shipping-item .ph-checkout-zasilkovna-box {
    flex-basis: 100%;
    margin-left: 0;
}

.theme-cofex .ph-checkout-shipping-item:has(.ph-checkout-shipping-additional-info) {
    align-items: flex-start;
}

.theme-cofex .ph-checkout-shipping-item:has(.ph-checkout-shipping-additional-info) > .ph-shipping-price-box {
    margin-top: .15rem;
}

.theme-cofex .ph-checkout-shipping-additional-info {
    color: inherit;
}

.theme-cofex .ph-btn-sps-select-pickup-point,
.theme-cofex .ph-btn-gls-select-pickup-point,
.theme-cofex .ph-btn-postapont-select-pickup-point,
.theme-cofex .ph-btn-zasilkovna-select-pickup-point {
    margin: .35rem 0 .25rem;
    padding: .35rem .8rem;
    border: 1px solid var(--color-primary, var(--color-primary));
    border-radius: .375rem;
    background: transparent;
    color: var(--color-primary, var(--color-primary));
    font-weight: 600;
    cursor: pointer;
}

.theme-cofex .ph-btn-sps-select-pickup-point:hover,
.theme-cofex .ph-btn-gls-select-pickup-point:hover,
.theme-cofex .ph-btn-postapont-select-pickup-point:hover,
.theme-cofex .ph-btn-zasilkovna-select-pickup-point:hover {
    background: var(--color-primary, var(--color-primary));
    color: #fff;
}

[data-theme="dark"] .theme-cofex .ph-btn-sps-select-pickup-point,
[data-theme="dark"] .theme-cofex .ph-btn-gls-select-pickup-point,
[data-theme="dark"] .theme-cofex .ph-btn-postapont-select-pickup-point,
[data-theme="dark"] .theme-cofex .ph-btn-zasilkovna-select-pickup-point {
    border-color: #f06a7c;
    color: #f06a7c;
}

/* vybrané výdajné miesto: farby z témy, nie natvrdo tmavomodrá (na tmavej téme nebolo vidieť) */
.theme-cofex .ph-checkout-sps-info-name,
.theme-cofex .ph-checkout-gls-info-name,
.theme-cofex .ph-checkout-postapont-info-name,
.theme-cofex .ph-checkout-zasilkovna-info-name {
    color: inherit;
}

.theme-cofex .ph-order-sps-branch,
.theme-cofex .ph-order-gls-branch,
.theme-cofex .ph-order-postapont-branch {
    color: var(--color-text-muted, #444);
}

.theme-cofex .ph-sps-map-close,
.theme-cofex .ph-gls-map-close,
.theme-cofex .ph-postapont-map-close {
    background: var(--color-primary, var(--color-primary));
}


/* ---- [boatdiesel 7641–7886] tlačidlá krokov pokladne ---- */
/* ---- Pokladňa: tlačidlá krokov – „Pokračovať" plné (hlavná akcia), „Upraviť …" obrysové vedľajšie; vždy vpravo, na telefóne cez šírku ---- */
.theme-cofex .ph-checkout-address-save,
.theme-cofex .ph-checkout-shipping-save,
.theme-cofex .ph-checkout-payment-save,
.theme-cofex .ph-checkout-address-edit,
.theme-cofex .ph-checkout-shipping-edit,
.theme-cofex .ph-checkout-payment-edit,
.theme-cofex .ph-checkout-btn-login-box {
    float: none;
    display: flex;
    justify-content: flex-end;
    width: 100%;
    padding: 0;
    margin-top: .75rem;
}

.theme-cofex .ph-checkout-address-save .btn,
.theme-cofex .ph-checkout-shipping-save .btn,
.theme-cofex .ph-checkout-payment-save .btn {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .7rem 1.6rem;
    font-size: 1rem;
    font-weight: 600;
    background: var(--color-primary, var(--color-primary));
    border: 1px solid var(--color-primary, var(--color-primary));
    color: #fff;
    border-radius: .5rem;
}

.theme-cofex .ph-checkout-address-save .btn:hover,
.theme-cofex .ph-checkout-shipping-save .btn:hover,
.theme-cofex .ph-checkout-payment-save .btn:hover {
    background: var(--color-primary-hover, #a10820);
    border-color: var(--color-primary-hover, #a10820);
    color: #fff;
}

.theme-cofex .ph-checkout-address-edit .btn,
.theme-cofex .ph-checkout-shipping-edit .btn,
.theme-cofex .ph-checkout-payment-edit .btn,
.theme-cofex .ph-checkout-btn-login-box .btn {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .55rem 1.1rem;
    font-size: .9375rem;
    font-weight: 600;
    background: transparent;
    border: 1px solid var(--color-border-strong, #9ca3af);
    color: var(--color-text, #111);
    border-radius: .5rem;
}

.theme-cofex .ph-checkout-address-edit .btn:hover,
.theme-cofex .ph-checkout-shipping-edit .btn:hover,
.theme-cofex .ph-checkout-payment-edit .btn:hover,
.theme-cofex .ph-checkout-btn-login-box .btn:hover {
    border-color: var(--color-primary, var(--color-primary));
    color: var(--color-primary, var(--color-primary));
    background: transparent;
}

[data-theme="dark"] .theme-cofex .ph-checkout-address-edit .btn,
[data-theme="dark"] .theme-cofex .ph-checkout-shipping-edit .btn,
[data-theme="dark"] .theme-cofex .ph-checkout-payment-edit .btn,
[data-theme="dark"] .theme-cofex .ph-checkout-btn-login-box .btn {
    border-color: rgba(255, 255, 255, .35);
    color: #fff;
}

[data-theme="dark"] .theme-cofex .ph-checkout-address-edit .btn:hover,
[data-theme="dark"] .theme-cofex .ph-checkout-shipping-edit .btn:hover,
[data-theme="dark"] .theme-cofex .ph-checkout-payment-edit .btn:hover,
[data-theme="dark"] .theme-cofex .ph-checkout-btn-login-box .btn:hover {
    border-color: #f06a7c;
    color: #f06a7c;
}

@media (max-width: 575.98px) {
    .theme-cofex .ph-checkout-address-save .btn,
    .theme-cofex .ph-checkout-shipping-save .btn,
    .theme-cofex .ph-checkout-payment-save .btn {
        width: 100%;
        justify-content: center;
    }
}

/* šablóna má na telefóne stĺpec + centrovanie – chceme jeden riadok: názov vľavo, cena vpravo */
.theme-cofex .ph-checkout-shipping-item,
.theme-cofex .ph-checkout-payment-item {
    flex-direction: row;
}

.theme-cofex .ph-shipping-title-box,
.theme-cofex .ph-payment-title-box {
    display: block;
    justify-content: flex-start;
    text-align: left;
}

.theme-cofex .ph-shipping-price-box,
.theme-cofex .ph-payment-price-box {
    display: flex;
    justify-content: flex-end;
    text-align: right;
}

.theme-cofex .ph-shipping-price-box .radio,
.theme-cofex .ph-payment-price-box .radio {
    width: auto;
}

.theme-cofex .ph-checkout-shipping-item > [class*="col-"],
.theme-cofex .ph-checkout-payment-item > [class*="col-"] {
    margin: 0;
}

/* šablóna dáva „#ph-pc-checkout-box .btn-sm { background: transparent !important }" – hlavné tlačidlo kroku musí byť plné */
.theme-cofex #ph-pc-checkout-box .ph-checkout-address-save .btn,
.theme-cofex #ph-pc-checkout-box .ph-checkout-shipping-save .btn,
.theme-cofex #ph-pc-checkout-box .ph-checkout-payment-save .btn {
    background: var(--color-primary, var(--color-primary)) !important;
    color: #fff !important;
    border-color: var(--color-primary, var(--color-primary)) !important;
    max-width: 100%;
}

.theme-cofex #ph-pc-checkout-box .ph-checkout-address-save .btn:hover,
.theme-cofex #ph-pc-checkout-box .ph-checkout-shipping-save .btn:hover,
.theme-cofex #ph-pc-checkout-box .ph-checkout-payment-save .btn:hover {
    background: var(--color-primary-hover, #a30820) !important;
    border-color: var(--color-primary-hover, #a30820) !important;
}

.theme-cofex .ph-checkout-address-save,
.theme-cofex .ph-checkout-shipping-save,
.theme-cofex .ph-checkout-payment-save {
    max-width: 100%;
    box-sizing: border-box;
}

/* poznámka k objednávke: nadpis ako ostatné kroky, odsadený text, na telefóne menší */
.theme-cofex #phConfirm .ph-box-header {
    padding: .85rem 1rem .5rem;
    font-size: 1.05rem;
    font-weight: 600;
}

.theme-cofex #phConfirm textarea.form-control {
    display: block;
    width: calc(100% - 2rem);
    margin: 0 1rem 1rem;
    padding: .65rem .8rem;
    min-height: 5.5rem;
    border: 1px solid var(--color-border, #d1d5db);
    border-radius: .5rem;
    background: var(--color-surface, #fff);
    color: var(--color-text, #111);
}

.theme-cofex #phConfirm textarea.form-control::placeholder {
    color: var(--color-text-muted, #6b7280);
}

@media (max-width: 575.98px) {
    .theme-cofex #phConfirm .ph-box-header {
        font-size: .95rem;
        padding: .7rem .85rem .4rem;
    }

    .theme-cofex #phConfirm textarea.form-control {
        width: calc(100% - 1.7rem);
        margin: 0 .85rem .85rem;
    }
}

/* obaly tlačidiel mali bočné okraje 16 px + šírku 100 % → tlačidlá liezli za rám boxu */
.theme-cofex .ph-checkout-address-save,
.theme-cofex .ph-checkout-shipping-save,
.theme-cofex .ph-checkout-payment-save,
.theme-cofex .ph-checkout-address-edit,
.theme-cofex .ph-checkout-shipping-edit,
.theme-cofex .ph-checkout-payment-edit,
.theme-cofex .ph-checkout-btn-login-box,
.theme-cofex .ph-checkout-confirm {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.theme-cofex .ph-checkout-confirm {
    float: none;
    display: flex;
    justify-content: flex-end;
}

.theme-cofex .ph-checkout-confirm .btn {
    max-width: 100%;
    white-space: normal;
    text-align: center;
}

@media (max-width: 575.98px) {
    .theme-cofex .ph-checkout-confirm .btn {
        width: 100%;
        font-size: .9rem;
        padding: .7rem .9rem;
        justify-content: center;
    }

    .theme-cofex .ph-checkout-address-edit .btn,
    .theme-cofex .ph-checkout-shipping-edit .btn,
    .theme-cofex .ph-checkout-payment-edit .btn {
        padding: .5rem .9rem;
        font-size: .875rem;
    }
}

/* poznámka + potvrdenie: rovnaká šírka ako ostatné kroky (Phoca tam mala okraj 25 px) */
.theme-cofex .ph-checkout-box-action-raw {
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

/* nadpisy v boxoch (ADRESA PRE FAKTURÁCIU, SPÔSOBY DORUČENIA…) na telefóne menšie */
@media (max-width: 575.98px) {
    .theme-cofex #ph-pc-checkout-box .ph-box-header {
        font-size: .95rem;
        letter-spacing: .02em;
    }

    .theme-cofex #ph-pc-checkout-box .ph-checkout-box-header h3,
    .theme-cofex #ph-pc-checkout-box [class*="ph-checkout-box-header"] h3 {
        font-size: .95rem;
    }

    .theme-cofex .wp-products__title {
        font-size: 1.6rem;
    }
}


/* ---- [boatdiesel 7894–7898] zvýraznenie po zmene dopravy/platby ---- */
/* ---- pokladňa: krátke zvýraznenie po zmene dopravy/platby (nahrádza 4 s „pc-loading" v template.js) ---- */
.theme-cofex .pc-changed {
    transition: box-shadow .3s;
}


/* ---- [boatdiesel 7899–7952] Lighthouse: kontrast, dotyk, tlačidlá ---- */
/* ---- Lighthouse (Robert 12. 9. večer): kontrast, miesta dotyku, tlačidlá namiesto JS odkazov ---- */
/* „Na sklade" zelená 4,08:1 na svetlom podklade → tmavšia (≥ 4,5:1); tmavá téma má vlastné farby */
html:not([data-theme="dark"]) .theme-cofex .ph-stock.pc-status-na-sklade,
html:not([data-theme="dark"]) .theme-cofex .pc-stock-bd-na-sklade {
    color: var(--color-success);
}

/* „Nastavenia cookies" v päte mala farbu muted zo svetlej témy na tmavom podklade päty (2,4:1) */
.theme-cofex .es-footer__cookie-btn {
    color: var(--footer-text, #9fb1bf);
}

/* obľúbené / porovnať: <button> namiesto <a href="javascript:"> – vzhľad ostáva pilulka */
.theme-cofex button.bd-ikona-tlacidlo {
    font-family: inherit;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

/* bodky galérie na telefóne: 24×24 miesto dotyku, bodka vnútri ostáva malá */
@media (max-width: 767.98px) {
    .theme-cofex .bd-galeria-m__bodky {
        gap: .25rem;
    }

    .theme-cofex .bd-galeria-m__bodka {
        position: relative;
        width: 24px;
        height: 24px;
        background: transparent;
        border-radius: 50%;
    }

    .theme-cofex .bd-galeria-m__bodka::before {
        content: "";
        position: absolute;
        inset: 50% auto auto 50%;
        width: .6rem;
        height: .6rem;
        transform: translate(-50%, -50%);
        border-radius: 50%;
        background: var(--color-border, #cfd8e3);
    }

    .theme-cofex .bd-galeria-m__bodka.is-active {
        background: transparent;
    }

    .theme-cofex .bd-galeria-m__bodka.is-active::before {
        background: var(--accent-red, var(--color-primary));
    }
}

/* ============================================================
   DETAIL PRODUKTU — port z boatdiesel (galéria swipe, želania vedľa zdieľania, cena vedľa seba, logo výrobcu, sledovať cenu).
   ============================================================ */

/* ---- [boatdiesel 6243–6282] želania v riadku so zdieľaním ---- */
/* ---- „Pridať do zoznamu želaní" v riadku so zdieľaním (12. 9.) ----
   Presúva ho bd-zelania.js; tu len vzhľad: pilulka s červeným srdiečkom,
   rovnako vysoká ako kruhové tlačidlá zdieľania, zarovnaná vpravo. */
.theme-cofex.view-item .pcshare--so-zelaniami .bd-item-actions-row {
    margin: 0 0 0 auto;
    gap: .5rem;
}

.theme-cofex.view-item .pcshare--so-zelaniami .bd-item-actions-row :is(a, button.bd-ikona-tlacidlo) {
    height: 36px;
    padding: 0 .9rem 0 .7rem;
    border-radius: 999px;
    gap: .45rem;
    font-size: .8125rem;
}

.theme-cofex.view-item .pcshare--so-zelaniami .bd-item-actions-row :is(a, button.bd-ikona-tlacidlo) svg.pc-si {
    width: 1.1rem;
    height: 1.1rem;
    color: var(--accent-red, var(--color-primary));
}

.theme-cofex.view-item .pcshare--so-zelaniami .bd-item-actions-row :is(a, button.bd-ikona-tlacidlo):hover svg.pc-si {
    color: #fff;
}

.theme-cofex.view-item .pcshare--so-zelaniami .bd-item-actions-row :is(a, button.bd-ikona-tlacidlo):hover {
    background: var(--accent-red, var(--color-primary));
    border-color: var(--accent-red, var(--color-primary));
    color: #fff;
}

@media (max-width: 575.98px) {
    .theme-cofex.view-item .pcshare--so-zelaniami .bd-item-actions-row {
        flex-basis: 100%;
        margin-left: 0;
        margin-top: .25rem;
    }
}


/* ---- [boatdiesel 6283–6336] galéria v jednom posuvnom rade ---- */
/* ---- galéria v detaile: náhľady v jednom posuvnom rade (pripomienka 11.6) ---- */
.theme-cofex .bd-galeria {
    position: relative;
    margin: .75rem 0 0;
}

.theme-cofex .bd-galeria .ph-item-image-add-box.bd-swipe__track {
    flex-wrap: nowrap;
    gap: .6rem;
    margin: 0;
    padding: .25rem .125rem .5rem;
    scroll-snap-type: x proximity;
}

.theme-cofex .bd-galeria .ph-item-image-box {
    scroll-snap-align: start;
    flex: 0 0 88px;
}

.theme-cofex .bd-galeria .bd-swipe__nav {
    width: 2rem;
    height: 2rem;
    top: 50%;
    transform: translateY(-50%);
}

.theme-cofex .bd-galeria .bd-swipe__nav--prev { left: -.5rem; }
.theme-cofex .bd-galeria .bd-swipe__nav--next { right: -.5rem; }

.theme-cofex .bd-galeria .bd-swipe__nav svg {
    width: 16px;
    height: 16px;
}

/* nowrap dráha náhľadov nesmie roztiahnuť stĺpec s fotkou */
.theme-cofex .pc-item-view #phImageBox {
    min-width: 0;
}

.theme-cofex .bd-galeria {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

.theme-cofex .bd-galeria .ph-item-image-add-box.bd-swipe__track {
    width: 100%;
    max-width: 100%;
}

/* šípky galérie vnútri dráhy (obal má overflow hidden) */
.theme-cofex .bd-galeria .bd-swipe__nav--prev { left: .15rem; }
.theme-cofex .bd-galeria .bd-swipe__nav--next { right: .15rem; }


/* ---- [boatdiesel 6337–6373] akciová a pôvodná cena vedľa seba ---- */
/* ---- detail: akciová a pôvodná cena vedľa seba (pripomienka 11.7) ----
   Doteraz bola pôvodná cena nad novou; teraz veľká nová a vedľa nej preškrtnutá
   pôvodná, cena bez DPH pod nimi na novom riadku. Rovnako ako v kartičkách. */
.theme-cofex .ph-item-price-box {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: .75rem;
    row-gap: .15rem;
}

.theme-cofex .ph-item-price-box .ph-price-brutto {
    order: 1;
}

.theme-cofex .ph-item-price-box .ph-price-original,
.theme-cofex .ph-item-price-box .ph-price-old {
    order: 2;
    margin: 0;
    font-size: 1.15rem;
    text-decoration: line-through;
    color: var(--color-text-muted, #6b7785);
}

.theme-cofex .ph-item-price-box .ph-price-netto {
    order: 3;
    flex-basis: 100%;
}

/* filter Výkon (HP) pred výrobcami — pri motoroch je dôležitejší */
.theme-cofex #phFilterBox > .panel-vykon        { order: 4; }
.theme-cofex #phFilterBox > .panel-manufacturer { order: 5; }
.theme-cofex #phFilterBox > .panel              { order: 6; }
.theme-cofex #phFilterBox > .panel-id           { order: 1; }
.theme-cofex #phFilterBox > .panel-price_from   { order: 2; }
.theme-cofex #phFilterBox > .panel-dostupnost   { order: 3; }


/* ---- [boatdiesel 6374–6432] galéria na mobile ---- */
/* ---- galéria na mobile: fotka sa posúva prstom, bodky pod ňou ---- */
@media (max-width: 767.98px) {
    .theme-cofex .bd-galeria-m--skryta {
        display: none !important;
    }

    .theme-cofex .bd-galeria-m {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -ms-overflow-style: none;
        overscroll-behavior-x: contain;
        border: 1px solid var(--color-border);
        border-radius: var(--card-radius, 8px);
        background: #fff;
    }

    .theme-cofex .bd-galeria-m::-webkit-scrollbar { display: none; }

    .theme-cofex .bd-galeria-m__slide {
        flex: 0 0 100%;
        scroll-snap-align: start;
        aspect-ratio: 1 / 1;
        display: grid;
        place-items: center;
        padding: .75rem;
    }

    .theme-cofex .bd-galeria-m__slide img {
        max-width: 100%;
        max-height: 100%;
        width: auto;
        height: auto;
        object-fit: contain;
    }

    .theme-cofex .bd-galeria-m__bodky {
        display: flex;
        justify-content: center;
        gap: .5rem;
        padding: .75rem 0 .25rem;
    }

    .theme-cofex .bd-galeria-m__bodka {
        width: .6rem;
        height: .6rem;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: var(--color-border, #cfd8e3);
        cursor: pointer;
    }

    .theme-cofex .bd-galeria-m__bodka.is-active {
        background: var(--accent-red, var(--color-primary));
    }
}


/* ---- [boatdiesel 6433–6474] logo výrobcu nad názvom ---- */
/* ---- logo výrobcu nad názvom produktu (mockup klientky 12. 9.) ----
   Panel s cenou je flex stĺpec → blok výrobcu ide poradím pred H1.
   Bez loga (7 značiek) ostane len meno výrobcu, malým, tiež hore. */
.theme-cofex .pc-item-view .ph-item-price-panel .ph-item-manufacturer-box {
    order: -1;
    margin: 0 0 .5rem;
}

.theme-cofex .pc-item-view .ph-item-manufacturer-box .ph-manufacturer-txt {
    display: none;
}

.theme-cofex .pc-item-view .ph-item-manufacturer-box .ph-manufacturer {
    gap: .75rem;
    font-size: .8rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--color-text-muted, #6b7785);
}

.theme-cofex .pc-item-view .es-manufacturer-logo {
    height: 3rem;
    max-width: 12rem;
}

@media (max-width: 575.98px) {
    .theme-cofex .pc-item-view .es-manufacturer-logo {
        height: 2.4rem;
        max-width: 10rem;
    }
}

/* keď má výrobca logo, meno vedľa neho netreba (ostáva pre čítačky v alt) */
.theme-cofex .pc-item-view .ph-item-manufacturer-box .ph-manufacturer:has(.es-manufacturer-logo) {
    font-size: 0;
}

.theme-cofex .pc-item-view .es-manufacturer-logo {
    height: 3.5rem;
    max-width: 14rem;
}


/* ---- [boatdiesel 6779–6829] želania + sledovať cenu ako dvojica ---- */
/* ---- detail: „Pridať do zoznamu želaní" + „Sledovať cenu" (wppush) ako dvojica ----
   rovnaký tvar (oblé rohy ako všade, nie pilulka), rovnaká výška, červená ikona,
   pri hover červená výplň. Na PC vedľa seba vpravo v riadku so zdieľaním. */
.theme-cofex.view-item .pcshare--so-zelaniami .bd-item-actions-row :is(a, button.bd-ikona-tlacidlo),
.theme-cofex.view-item .bd-item-actions-row .wppush-btn {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    height: 36px;
    padding: 0 .9rem 0 .7rem;
    border: 1px solid var(--color-border);
    border-radius: .5rem;
    background: var(--color-surface);
    color: var(--color-heading, var(--color-surface-alt));
    font-size: .8125rem;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    transition: border-color .15s ease, color .15s ease, background .15s ease;
}

.theme-cofex.view-item .bd-item-actions-row .wppush-btn svg {
    width: 1.1rem;
    height: 1.1rem;
    color: var(--accent-red, var(--color-primary));
}

.theme-cofex.view-item .bd-item-actions-row .wppush-btn:hover,
.theme-cofex.view-item .bd-item-actions-row .wppush-btn:focus-visible,
.theme-cofex.view-item .bd-item-actions-row .wppush-btn--aktivne {
    background: var(--accent-red, var(--color-primary));
    border-color: var(--accent-red, var(--color-primary));
    color: #fff;
}

.theme-cofex.view-item .bd-item-actions-row .wppush-btn:hover svg,
.theme-cofex.view-item .bd-item-actions-row .wppush-btn--aktivne svg {
    color: #fff;
}

[data-theme="dark"] .theme-cofex.view-item .bd-item-actions-row .wppush-btn {
    background: var(--color-surface-alt);
    color: var(--color-text);
}

[data-theme="dark"] .theme-cofex.view-item .bd-item-actions-row .wppush-btn:hover,
[data-theme="dark"] .theme-cofex.view-item .bd-item-actions-row .wppush-btn--aktivne {
    background: var(--accent-red, var(--color-primary));
    color: #fff;
}


/* ==========================================================================
   KONTAKT — mriežka ako boatdiesel: foto | karta predajne, fakturácia | mapa
   (Robert 13.9.: „skrášliť kontakt"). Mapa Google až po kliknutí (bd-mapa.js),
   dovtedy statický náhľad images/cofex/mapa.webp.
   ========================================================================== */
.theme-cofex .cf-kontakt__uvod {
    margin: 0 0 1.5rem;
    font-size: 1.05rem;
    max-width: 60ch;
}

.theme-cofex .cf-kontakt {
    display: grid;
    grid-template-columns: minmax(0, 26rem) minmax(0, 1fr);
    gap: 1.5rem;
    margin: 0 0 2rem;
}

.theme-cofex .cf-kontakt__foto {
    margin: 0;
    min-height: 340px;
    border-radius: var(--radius-xl);
    overflow: hidden;
    background: var(--color-surface-alt);
}

.theme-cofex .cf-kontakt__foto img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.theme-cofex .cf-kontakt__karta {
    padding: 2rem 2.25rem;
    border-radius: var(--radius-xl);
    background: var(--color-surface-alt);
    border: 1px solid var(--color-border);
}

.theme-cofex .cf-kontakt__karta h2 {
    margin: 0 0 .9rem;
    padding-bottom: .6rem;
    border-bottom: 2px solid var(--color-primary);
    font-size: 1.3rem;
    line-height: 1.2;
}

.theme-cofex .cf-kontakt__karta h3 {
    margin: 1.4rem 0 .5rem;
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

.theme-cofex .cf-kontakt__karta p {
    margin: 0 0 .75rem;
    line-height: 1.55;
}

.theme-cofex .cf-kontakt__pozn {
    font-size: .85rem;
    color: var(--color-text-muted);
}

/* zoznamy v karte: bez odrážok (článok má disc s vyššou špecifickosťou) */
.theme-cofex .wp-article__body .cf-kontakt__karta ul,
.theme-cofex .com-content-article__body .cf-kontakt__karta ul,
.theme-cofex .cf-kontakt__karta ul {
    list-style: none !important;
    margin: 0 0 .5rem;
    padding: 0 !important;
}

.theme-cofex .cf-kontakt__karta li { margin: 0 0 .4rem; }
.theme-cofex .cf-kontakt__karta li::marker { content: ""; }

.theme-cofex .cf-kontakt__hodiny li {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .35rem 0;
    border-bottom: 1px dashed var(--color-border);
}

.theme-cofex .cf-kontakt__hodiny li:last-child { border-bottom: 0; }

/* telefón a e-mail s ikonou */
.theme-cofex .cf-kontakt__karta a[href^="tel:"],
.theme-cofex .cf-kontakt__karta a[href^="mailto:"] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-weight: 600;
    text-decoration: none;
}

.theme-cofex .cf-kontakt__karta a[href^="tel:"]::before,
.theme-cofex .cf-kontakt__karta a[href^="mailto:"]::before {
    content: "";
    flex: 0 0 auto;
    width: 1.05rem;
    height: 1.05rem;
    background: currentColor;
    -webkit-mask: var(--cf-ik) no-repeat center / contain;
    mask: var(--cf-ik) no-repeat center / contain;
}

.theme-cofex .cf-kontakt__karta a[href^="tel:"]::before {
    --cf-ik: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6.2 6.2l1.3-1.3a2 2 0 0 1 2.1-.5c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/></svg>");
}

.theme-cofex .cf-kontakt__karta a[href^="mailto:"]::before {
    --cf-ik: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5' width='18' height='14' rx='2'/><path d='m3 7 9 6 9-6'/></svg>");
}

.theme-cofex .cf-kontakt__akcie { margin: 1.5rem 0 0; }
.theme-cofex .cf-kontakt__akcie .es-btn { text-decoration: none; }

/* mapa — načíta sa až po kliknutí; predtým statický náhľad */
.theme-cofex .bd-mapa {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    min-height: 340px;
    padding: 1rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    overflow: hidden;
    text-align: center;
    background: var(--color-surface-alt) url("/images/cofex/mapa.webp") center / cover no-repeat;
}

.theme-cofex .bd-mapa::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255, 251, 244, .45);
}

.theme-cofex .bd-mapa > * { position: relative; }

.theme-cofex .bd-mapa__pozn {
    display: inline-block;
    padding: .25rem .6rem;
    border-radius: var(--radius-sm);
    background: rgba(255, 255, 255, .85);
    color: #5a4a40;
    font-size: .8rem;
}

.theme-cofex .bd-mapa--nacitana {
    display: block;
    padding: 0;
    background-image: none;
}

.theme-cofex .bd-mapa--nacitana::before { display: none; }

.theme-cofex .bd-mapa iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

@media (max-width: 767.98px) {
    .theme-cofex .cf-kontakt {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .theme-cofex .cf-kontakt__foto {
        min-height: 0;
        aspect-ratio: 4 / 3;
    }

    .theme-cofex .cf-kontakt__foto img { object-position: center 18%; } /* logo COFEX je v hornej časti fotky */

    .theme-cofex .cf-kontakt__karta { padding: 1.25rem 1.1rem; }
    .theme-cofex .bd-mapa { min-height: 0; aspect-ratio: 4 / 3; }
}

/* ==========================================================================
   KARTA PREDAJNE na úvodke — nahrádza showcase CTA s rozmazaným pozadím:
   fotka výkladu vľavo (380 px, bez roztiahnutia), obsah + údaje + tlačidlá vpravo
   ========================================================================== */
.theme-cofex .cf-predajna {
    display: grid;
    grid-template-columns: minmax(0, 24rem) minmax(0, 1fr);
    border-radius: var(--radius-xl);
    overflow: hidden;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    box-shadow: var(--card-shadow);
}

.theme-cofex .cf-predajna__foto {
    margin: 0;
    min-height: 100%;
    background: var(--color-surface-alt);
}

.theme-cofex .cf-predajna__foto img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.theme-cofex .cf-predajna__obsah {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .9rem;
    padding: 2.5rem 2.75rem;
}

.theme-cofex .cf-predajna__stitok {
    align-self: flex-start;
    padding: .25rem .7rem;
    border-radius: 999px;
    background: var(--color-primary-light);
    color: var(--color-primary);
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.theme-cofex .cf-predajna__nadpis {
    margin: 0;
    font-size: clamp(1.5rem, 2.4vw, 2rem);
    line-height: 1.15;
}

.theme-cofex .cf-predajna__obsah > p {
    margin: 0;
    max-width: 52ch;
    color: var(--color-text-muted);
    line-height: 1.6;
}

.theme-cofex .cf-predajna__info {
    display: grid;
    gap: .55rem;
    margin: .25rem 0 0;
    padding: 0;
    list-style: none;
}

.theme-cofex .cf-predajna__info li {
    display: flex;
    align-items: center;
    gap: .6rem;
    font-weight: 500;
}

.theme-cofex .cf-predajna__info svg { flex: 0 0 auto; color: var(--color-accent); }
.theme-cofex .cf-predajna__info a { font-weight: 600; text-decoration: none; }

.theme-cofex .cf-predajna__akcie {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: .5rem;
}

.theme-cofex .cf-predajna__akcie .es-btn { text-decoration: none; }

/* dvojica na úvodke: karta predajne | novinky z blogu (Robert 13.9. v noci: „miesto mapy novinky, na polovicu") */
.theme-cofex .cf-uvod-dvojica {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    align-items: stretch;
}

@media (min-width: 1024px) {
    .theme-cofex .cf-uvod-dvojica { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .theme-cofex .cf-uvod-dvojica .cf-predajna { grid-template-columns: minmax(0, 13rem) minmax(0, 1fr); }
    .theme-cofex .cf-uvod-dvojica .cf-predajna__obsah { padding: 1.75rem 1.75rem; gap: .7rem; }
    .theme-cofex .cf-uvod-dvojica .cf-predajna__nadpis { font-size: 1.45rem; }
    .theme-cofex .cf-uvod-dvojica .cf-predajna__obsah > p { font-size: .95rem; }
}

@media (min-width: 1200px) {
    .theme-cofex .cf-uvod-dvojica .cf-predajna { grid-template-columns: minmax(0, 16rem) minmax(0, 1fr); }
}

.theme-cofex .cf-novinky {
    display: flex;
    flex-direction: column;
    padding: 1.5rem 1.75rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    background: var(--color-surface);
    box-shadow: var(--card-shadow);
}

.theme-cofex .cf-novinky__hlava {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 1rem;
    padding-bottom: .75rem;
    border-bottom: 2px solid var(--color-primary);
}

.theme-cofex .cf-novinky__nadpis { margin: 0; font-size: 1.35rem; }
.theme-cofex .cf-novinky__vsetky { font-size: .9rem; font-weight: 600; white-space: nowrap; text-decoration: none; }

.theme-cofex .cf-novinky .mod-articles-items {
    display: grid;
    gap: .9rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.theme-cofex .cf-novinky .mod-articles-item {
    display: grid;
    grid-template-columns: 6.5rem minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.theme-cofex .cf-novinky .mod-articles-item:not(:last-child) { padding-bottom: .9rem; border-bottom: 1px dashed var(--color-border); }

/* obrázok (joomla.content.intro_image) ide v markupe za nadpisom → do prvého stĺpca cez order */
.theme-cofex .cf-novinky .mod-articles-item-content { display: contents; }
.theme-cofex .cf-novinky .mod-articles-item figure,
.theme-cofex .cf-novinky .mod-articles-item .item-image,
.theme-cofex .cf-novinky .mod-articles-item .mod-articles-image {
    order: -1;
    grid-row: 1 / span 3;
    margin: 0;
    aspect-ratio: 1;
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: var(--color-surface-alt);
}

.theme-cofex .cf-novinky .mod-articles-item figure img,
.theme-cofex .cf-novinky .mod-articles-item .item-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.theme-cofex .cf-novinky .mod-articles-item figcaption { display: none; }

.theme-cofex .cf-novinky .mod-articles-title { margin: 0; font-size: 1rem; line-height: 1.3; }
.theme-cofex .cf-novinky .mod-articles-title a { text-decoration: none; color: var(--color-heading); }
.theme-cofex .cf-novinky .mod-articles-title a:hover { color: var(--color-primary); }
.theme-cofex .cf-novinky .mod-articles-item dl { margin: 0; font-size: .8rem; color: var(--color-text-muted); }
.theme-cofex .cf-novinky .mod-articles-item dl dt { display: none; }
.theme-cofex .cf-novinky .mod-articles-item dl dd { margin: 0; display: inline; }
.theme-cofex .cf-novinky .mod-articles-item-content > p { margin: 0; font-size: .9rem; color: var(--color-text-muted); line-height: 1.5; }
.theme-cofex .cf-novinky .mod-articles-item dl .icon-calendar { display: none; }

@media (max-width: 575.98px) {
    .theme-cofex .cf-novinky { padding: 1.2rem 1.1rem; }
    .theme-cofex .cf-novinky .mod-articles-item { grid-template-columns: 5rem minmax(0, 1fr); gap: .75rem; }
}

@media (max-width: 991.98px) {
    .theme-cofex .cf-predajna { grid-template-columns: minmax(0, 18rem) minmax(0, 1fr); }
    .theme-cofex .cf-predajna__obsah { padding: 1.75rem; }
}

@media (max-width: 767.98px) {
    .theme-cofex .cf-predajna { grid-template-columns: 1fr; }
    .theme-cofex .cf-predajna__foto { aspect-ratio: 16 / 10; min-height: 0; }
    .theme-cofex .cf-predajna__foto img { object-position: center 18%; }
    .theme-cofex .cf-predajna__obsah { padding: 1.4rem 1.2rem 1.6rem; }
}

[data-theme="dark"] .theme-cofex .cf-kontakt__karta,
[data-theme="dark"] .theme-cofex .cf-kontakt__foto,
[data-theme="dark"] .theme-cofex .cf-predajna__foto { background: var(--color-surface-alt); }
[data-theme="dark"] .theme-cofex .cf-predajna { background: var(--color-surface); }
[data-theme="dark"] .theme-cofex .bd-mapa::before { background: rgba(27, 19, 16, .35); }
[data-theme="dark"] .theme-cofex .bd-mapa__pozn { background: rgba(38, 28, 23, .9); color: var(--color-text-muted); }

/* ==========================================================================
   PÄTIČKA ako boatdiesel (13.9.): ikony platieb nad copyright, sociálne siete
   ========================================================================== */
.theme-cofex .bd-platby {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .5rem;
    margin: 0 0 1rem;
}

.theme-cofex .bd-platby img {
    width: 54px;
    height: 36px;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .12);
    opacity: .92;
}

.theme-cofex .bd-social { margin-top: 1rem; }
.theme-cofex .bd-social__nadpis { font-weight: 700; margin-bottom: .5rem; }
.theme-cofex .bd-social__ikony { display: flex; gap: .5rem; }

.theme-cofex .bd-social__ikony a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .35);
    color: inherit;
    transition: background .15s ease, border-color .15s ease;
}

.theme-cofex .bd-social__ikony a:hover,
.theme-cofex .bd-social__ikony a:focus-visible {
    background: var(--cofex-latte);
    border-color: var(--cofex-latte);
    color: var(--color-primary);
}

/* tlačidlo cookies je v module (šablóna 1.28.2 ho nevykresľuje) — v tmavej päte svetlé písmo */
.theme-cofex .es-footer .es-footer__cookie-btn { color: var(--es-band-text, #d1d5db); opacity: .8; }
.theme-cofex .es-footer .es-footer__cookie-btn:hover,
.theme-cofex .es-footer .es-footer__cookie-btn:focus-visible { color: #fff; opacity: 1; }

/* ==========================================================================
   ČLÁNKY BEZ BOČNÉHO PANELU — užší, centrovaný obsah + typografia (port z boatdiesel,
   Robert 13.9.: „kde nie je ľavý/pravý panel, zúžime rozvrhnutie ako na boate")
   + KONTAKTNÝ FORMULÁR (com_contact cez {formular id=N}, plg_content_wpformular)
   ========================================================================== */
/* ════════════════════════════════════════════════════════════════════
   Typografia dlhých textov (obchodné podmienky, reklamačný poriadok, blog).
   Prenesené stránky sú holé odstavce a zoznamy — čitateľnosť robí rytmus:
   šírka riadku, medzery, výrazné medzinadpisy a zvýraznené úvodné vety.
   ════════════════════════════════════════════════════════════════════ */
/* Zúžiť len text bolo zle — nadpis ostal cez celú šírku a stránka pôsobila
   useknuto doľava. Zužujeme preto CELÝ článok (nadpis + text) a centrujeme ho. */
.theme-cofex .wp-article,
.theme-cofex .com-content-article {
    max-width: 60rem;
    margin-inline: auto;
}

.theme-cofex .com-content-article__body,
.theme-cofex .wp-article__body {
    max-width: none;
    font-size: 1rem;
    line-height: 1.75;
}

.theme-cofex .com-content-article__body p,
.theme-cofex .wp-article__body p {
    margin: 0 0 1rem;
}

/* prvý odstavec ako perex */
.theme-cofex .com-content-article__body > p:first-of-type,
.theme-cofex .wp-article__body > p:first-of-type {
    font-size: 1.08rem;
    color: var(--color-text);
}

/* tučné riadky, ktoré v pôvodnom texte plnia úlohu medzinadpisov */
.theme-cofex .com-content-article__body p > strong:only-child,
.theme-cofex .wp-article__body p > strong:only-child {
    display: inline-block;
    margin-top: 0.6rem;
    font-size: 1.06rem;
    color: var(--color-heading);
}

.theme-cofex .com-content-article__body h2,
.theme-cofex .wp-article__body h2 {
    margin: 2rem 0 0.75rem;
    padding-bottom: 0.35rem;
    border-bottom: 2px solid var(--color-primary);
    font-size: 1.35rem;
}

.theme-cofex .com-content-article__body h3,
.theme-cofex .wp-article__body h3 {
    margin: 1.5rem 0 0.5rem;
    font-size: 1.12rem;
}

.theme-cofex .com-content-article__body li,
.theme-cofex .wp-article__body li {
    margin-bottom: 0.35rem;
}

.theme-cofex .com-content-article__body a,
.theme-cofex .wp-article__body a {
    /* v tmavej téme svetlá červená (--color-link), inak akcentová */
    color: var(--color-link, var(--color-primary));
    text-decoration: underline;
    text-underline-offset: 2px;
}

.theme-cofex .com-content-article__body table,
.theme-cofex .wp-article__body table {
    width: 100%;
    border-collapse: collapse;
    margin: 1rem 0;
}

.theme-cofex .com-content-article__body td,
.theme-cofex .com-content-article__body th,
.theme-cofex .wp-article__body td,
.theme-cofex .wp-article__body th {
    padding: 0.5rem 0.65rem;
    border: 1px solid var(--color-border);
    text-align: left;
}

@media (max-width: 767.98px) {
    .theme-cofex .com-content-article__body,
    .theme-cofex .wp-article__body {
        line-height: 1.7;
    }
}

/* Výzva na servisný formulár (článok Servis a služby) */
.theme-cofex .bd-cta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    margin: 0 0 1.5rem;
    padding: 1rem 1.15rem;
    background: var(--color-surface-alt);
    border-left: 4px solid var(--color-primary);
    border-radius: 4px;
}

.theme-cofex .bd-cta__btn {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0.6rem 1.15rem;
    background: var(--color-primary);
    color: #fff !important;
    font-weight: 600;
    text-decoration: none !important;
    border-radius: 4px;
}

.theme-cofex .bd-cta__btn:hover {
    filter: brightness(1.08);
}

.theme-cofex .bd-cta__note {
    color: var(--color-text-muted);
    font-size: 0.92rem;
}

/* Kontaktný (servisný) formulár — čitateľné polia, nie natlačené */
.theme-cofex .contact-form .control-group,
.theme-cofex .com-contact__form .control-group {
    margin-bottom: 0.9rem;
}

.theme-cofex .contact-form input[type="text"],
.theme-cofex .contact-form input[type="email"],
.theme-cofex .contact-form select,
.theme-cofex .contact-form textarea,
.theme-cofex .com-contact__form input[type="text"],
.theme-cofex .com-contact__form input[type="email"],
.theme-cofex .com-contact__form select,
.theme-cofex .com-contact__form textarea {
    width: 100%;
    padding: 0.55rem 0.7rem;
    border: 1px solid var(--color-border);
    border-radius: 4px;
    background: var(--color-surface);
    color: var(--color-text);
}

.theme-cofex .contact-form textarea,
.theme-cofex .com-contact__form textarea {
    min-height: 8rem;
}

/* === FILTER: obmedzená výška + rolovanie (17.8.) === */
/* Zoznam výrobcov vo filtri narástol na 1187 px (38 položiek) a tlačil obsah
   dolu. Prevzaté z novšieho tpleshopu: panel má strop a roluje sa vo vnútri,
   `overscroll-behavior: contain` zabráni tomu, aby sa po dorolovaní pohla
   celá stránka. */
.theme-cofex .es-filter .panel-body,
.theme-cofex .es-filter .accordion-body,
.theme-cofex #phFilterBox .panel-body {
    max-height: var(--es-filter-max-height, 17rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
    scrollbar-width: thin;
}

/* jemný náznak, že zoznam pokračuje */
.theme-cofex .es-filter .panel-body::-webkit-scrollbar,
.theme-cofex #phFilterBox .panel-body::-webkit-scrollbar {
    width: 8px;
}

.theme-cofex .es-filter .panel-body::-webkit-scrollbar-thumb,
.theme-cofex #phFilterBox .panel-body::-webkit-scrollbar-thumb {
    background: var(--color-border);
    border-radius: 4px;
}

/* === SERVISNÝ FORMULÁR: úprava vzhľadu (17.8.) === */
/* Joomla vypisuje kontaktný formulár ako holé polia pod sebou v dvoch
   fieldsetoch. Skladáme to do dvoch stĺpcov s čitateľnými skupinami. */
.theme-cofex .com-contact__form,
.theme-cofex .contact-form {
    max-width: 60rem;
    margin-inline: auto;
}

.theme-cofex .contact-form fieldset {
    margin: 0 0 1.5rem;
    padding: 1.25rem 1.35rem;
    border: 1px solid var(--color-border);
    border-radius: 6px;
    background: var(--color-surface);
}

.theme-cofex .contact-form legend {
    width: auto;
    padding: 0 0.5rem;
    margin-left: -0.5rem;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--color-primary);
}

/* prázdna legenda (vypnutá cez jazykový prepis) nech nerobí medzeru */
.theme-cofex .contact-form legend:empty {
    display: none;
}

/* dva stĺpce na desktope; správa a súhlas cez celú šírku */
@media (min-width: 768px) {
    /* flex namiesto inline-block — medzery v HTML inak stĺpce pretlačia do ďalšieho riadku */
    .theme-cofex .contact-form fieldset {
        display: flex !important;
        flex-wrap: wrap;
        column-gap: 1rem;
        align-items: flex-start;
    }
    .theme-cofex .contact-form fieldset > legend {
        flex: 0 0 100%;
    }
    .theme-cofex .contact-form fieldset > .control-group {
        flex: 0 0 calc(50% - 0.5rem) !important;
        width: auto !important;
        margin-right: 0;
    }
    .theme-cofex .contact-form fieldset > .control-group:has(textarea),
    .theme-cofex .contact-form fieldset > .control-group:has(input[type="checkbox"]),
    .theme-cofex .contact-form fieldset > .control-group.field-spacer {
        flex: 0 0 100% !important;
    }
}

.theme-cofex .contact-form .control-group {
    margin-bottom: 0.95rem;
}

.theme-cofex .contact-form .control-label label {
    display: inline-block;
    margin-bottom: 0.3rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--color-text);
}

.theme-cofex .contact-form .star {
    color: var(--color-primary);
}

.theme-cofex .contact-form input[type="text"],
.theme-cofex .contact-form input[type="email"],
.theme-cofex .contact-form select,
.theme-cofex .contact-form textarea {
    width: 100% !important;
    max-width: none !important;
    padding: 0.6rem 0.75rem;
    border: 1px solid var(--color-border);
    border-radius: 4px;
    background: var(--color-surface);
    color: var(--color-text);
    font: inherit;
}

.theme-cofex .contact-form input:focus,
.theme-cofex .contact-form select:focus,
.theme-cofex .contact-form textarea:focus {
    outline: 2px solid var(--color-primary);
    outline-offset: 1px;
}

.theme-cofex .contact-form .btn-primary {
    min-height: 46px;
    padding: 0.65rem 1.6rem;
    background: var(--color-primary);
    border: 0;
    border-radius: 4px;
    color: #fff;
    font-weight: 600;
}

.theme-cofex .contact-form .btn-primary:hover {
    filter: brightness(1.08);
}

/* povinné pole – poznámka nad formulárom */
.theme-cofex .contact-form .field-spacer {
    font-size: 0.85rem;
    color: var(--color-text-muted);
}

/* kontakt: karta s formulárom cez celú šírku mriežky */
.theme-cofex .cf-kontakt__karta--formular { grid-column: 1 / -1; }
.theme-cofex .cf-kontakt__karta--formular .contact-form { max-width: none; }
.theme-cofex .cf-kontakt__karta--formular .contact-form fieldset { background: var(--color-surface); }
.theme-cofex .cf-kontakt__karta--formular .contact-form .btn-primary { background: var(--color-primary); color: #fff; }
.theme-cofex .cf-kontakt__karta--formular .contact-form .btn-primary:hover { background: var(--color-primary-hover); }

/* ==========================================================================
   VÝPIS KATEGÓRIE — karta len s „Do košíka" (Robert 13.9.): tlačidlo „Zobraziť produkt"
   vypína Phoca (display_view_product_button=0), počet kusov skryjeme (formulár pošle 1)
   ========================================================================== */
.theme-cofex .ph-category-action-box-buttons .ph-form-quantity,
.theme-cofex .ph-items-action-box-buttons .ph-form-quantity { display: none !important; }

.theme-cofex .ph-category-action-box-buttons .ph-form-button,
.theme-cofex .ph-category-action-box-buttons .ph-form-button .ph-btn { width: 100%; }

/* ==========================================================================
   ÚVODKA — dlaždice kategórií vyplnia šírku kontajnera na PC (Robert 13.9.: „väčšie, nech vyplnia šírku")
   ========================================================================== */
@media (min-width: 1024px) {
    .theme-cofex:not(.view-category) .ph-category-module-box.es-cat-grid {
        --es-cat-card-min: 150px;
        --es-cat-track-max: 1fr;      /* auto-fit + 1fr = 7 dlaždíc sa natiahne cez celú šírku */
        --es-cat-card-gap: var(--space-lg, 1.5rem);
    }

    .theme-cofex:not(.view-category) .ph-category-module-box.es-cat-grid .es-cat-grid__title { font-size: 1rem; text-align: center; }
}

/* ==========================================================================
   MOBIL (< 768 px): „Čo u nás nájdete" a recenzie na úvodke ako posuvný pás (Robert 14.9.),
   rovnaké správanie ako produktové kartičky; súhrn hodnotenia ostáva stabilný nad pásom
   ========================================================================== */
@media (max-width: 767.98px) {
    .theme-cofex .wp-showcase--features .wp-showcase__grid,
    .theme-cofex .es-reviews-wall .es-reviews-grid {
        display: flex !important;
        gap: 0.75rem;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-padding-inline-start: 0.125rem;
        padding: 0.25rem 0.125rem 0.75rem;
        scrollbar-width: none;
        -ms-overflow-style: none;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
        /* závoj vpravo = „pokračuje to" */
        -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 2.5rem), transparent);
        mask-image: linear-gradient(to right, #000 calc(100% - 2.5rem), transparent);
    }

    .theme-cofex .wp-showcase--features .wp-showcase__grid::-webkit-scrollbar,
    .theme-cofex .es-reviews-wall .es-reviews-grid::-webkit-scrollbar { display: none; }

    .theme-cofex .wp-showcase--features .wp-showcase__feature {
        flex: 0 0 min(72vw, 260px);
        scroll-snap-align: start;
    }

    .theme-cofex .es-reviews-wall .es-review-card {
        flex: 0 0 min(82vw, 320px);
        scroll-snap-align: start;
    }
}

/* ==========================================================================
   Drobnosti 14.9. (Robert): zvonček push „zacengá" ako na boate; biele písmo na tmavých
   tlačidlách v článku (článok farbí odkazy na primary); formulár na mobile bez plytvania šírkou
   ========================================================================== */
@keyframes bd-zvonec {
    0%, 60%, 100% { transform: rotate(0); }
    64% { transform: rotate(14deg); }
    68% { transform: rotate(-12deg); }
    72% { transform: rotate(9deg); }
    76% { transform: rotate(-6deg); }
    80% { transform: rotate(3deg); }
    84% { transform: rotate(0); }
}

@keyframes bd-zvonec-pulz {
    0%, 60%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--color-primary) 35%, transparent); }
    64% { box-shadow: 0 0 0 10px color-mix(in srgb, var(--color-primary) 0%, transparent); }
}

.theme-cofex .wppush-temy__ikona { animation: bd-zvonec-pulz 5s ease-out infinite; }
.theme-cofex .wppush-temy__ikona svg { transform-origin: 50% 12%; animation: bd-zvonec 5s ease-in-out infinite; }
.theme-cofex .wppush-temy--aktivne .wppush-temy__ikona,
.theme-cofex .wppush-temy--aktivne .wppush-temy__ikona svg { animation: none; }

@media (prefers-reduced-motion: reduce) {
    .theme-cofex .wppush-temy__ikona, .theme-cofex .wppush-temy__ikona svg { animation: none; }
}

/* tlačidlá v článku: odkazy v tele článku majú farbu primary → na tmavom tlačidle nevidno text */
.theme-cofex .wp-article__body a.es-btn--primary,
.theme-cofex .com-content-article__body a.es-btn--primary,
.theme-cofex .cf-kontakt__akcie a.es-btn--primary,
.theme-cofex .cf-predajna__akcie a.es-btn--primary,
.theme-cofex .bd-mapa .bd-mapa__spust { color: #fff !important; }

.theme-cofex .wp-article__body a.es-btn--outline,
.theme-cofex .cf-predajna__akcie a.es-btn--outline { color: var(--color-primary); }

/* formulár na mobile: karta aj fieldset s minimálnym odsadením, polia na celú šírku */
@media (max-width: 767.98px) {
    .theme-cofex .cf-kontakt__karta--formular { padding: 1rem .85rem 1.1rem; }
    .theme-cofex .contact-form { padding: 0; margin: 0; }
    .theme-cofex .contact-form fieldset { width: 100%; box-sizing: border-box; margin: 0 0 1rem; padding: .85rem .75rem; }
    .theme-cofex .contact-form legend { margin-left: 0; }
    .theme-cofex .contact-form .control-group { margin-bottom: .75rem; }
    .theme-cofex .contact-form .control-group, .theme-cofex .contact-form .controls { width: 100% !important; margin: 0 0 .75rem; }
    .theme-cofex .contact-form textarea { min-height: 9rem; }
}

/* ---- Plávajúce prvky v rohu (Robert 14.9.: „šípka hore sa bije s pomocníkom") — port z boatdiesel:
   zdola poradca, nad ním šípka; pri otvorenom chate šípka a filter zmiznú; cookie ikonka pod chat ---- */
.theme-cofex .es-back-to-top { bottom: 4.75rem !important; z-index: 1150; }
body.wpp-otvorene .es-back-to-top { opacity: 0; pointer-events: none; }

@media (max-width: 767.98px) {
    .theme-cofex .bd-filter-fab { bottom: 1rem; }
    body.wpp-otvorene .bd-filter-fab { opacity: 0; pointer-events: none; }
}

.cc-trigger, .cc-trigger-icon { z-index: 1100 !important; }
body.wpp-otvorene .cc-trigger, body.wpp-otvorene .cc-trigger-icon { opacity: 0; pointer-events: none; }

/* fieldset kontaktného formulára: vnútorné odsadenie aj na mobile (šablóna ho nuluje) */
.theme-cofex .contact-form fieldset { padding-inline: .75rem !important; }
@media (min-width: 768px) { .theme-cofex .contact-form fieldset { padding-inline: 1.35rem !important; } }

/* ---- detail: riadok „Doručenie" pod stavom skladu — ikona vedľa textu (chýbalo z portu web6; Robert 14.9.) ---- */
.theme-cofex .bd-dorucenie {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: .35rem 0 .5rem;
    font-size: .92rem;
    color: var(--color-text-muted);
}

.theme-cofex .bd-dorucenie svg { flex: 0 0 auto; color: var(--color-accent); }
.theme-cofex .bd-dorucenie strong { color: var(--color-text); font-weight: 600; }

/* ==========================================================================
   ÚVODKA PRE DVA SVETY (Robert 14.9.): káva → predajňa|novinky → gastro
   ========================================================================== */
/* značky káv: menšie dlaždice (logo/balenie), do riadku sa ich zmestí viac */
@media (min-width: 1024px) {
    .theme-cofex:not(.view-category) .ph-category-module-box.es-cat-grid.cf-znacky {
        --es-cat-card-min: 96px;      /* 12 značiek v jednom rade na 1376 px */
        --es-cat-track-max: 1fr;
        --es-cat-card-gap: var(--space-md, 1rem);
    }
    .theme-cofex .cf-znacky .es-cat-grid__title { font-size: .85rem; }
}

@media (max-width: 767px) {
    .theme-cofex .cf-znacky .es-cat-grid__item { flex: 0 0 96px !important; width: 96px !important; }
}

/* gastro podkategórie: 16 dlaždíc → na PC dva rady, nech sa nenaťahujú do plagátov */
@media (min-width: 1024px) {
    .theme-cofex:not(.view-category) .ph-category-module-box.es-cat-grid.cf-gastro-kat {
        --es-cat-card-min: 150px;     /* 16 podkategórií = 2 rady po 8 */
        --es-cat-track-max: 1fr;
        --es-cat-card-gap: var(--space-md, 1rem);
    }
    .theme-cofex .cf-gastro-kat .es-cat-grid__title { font-size: .9rem; }
}

/* pás „Poradíme s výberom" */
.theme-cofex .cf-radca-pas {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 1.5rem;
    padding: 1.1rem 1.5rem;
    border: 1px solid var(--color-border);
    border-left: 4px solid var(--color-accent);
    border-radius: var(--radius-xl);
    background: var(--color-surface);
}

.theme-cofex .cf-radca-pas__text { flex: 1 1 24rem; line-height: 1.5; }
.theme-cofex .cf-radca-pas__text strong { color: var(--color-heading); }
.theme-cofex .cf-radca-pas__akcie { display: flex; flex-wrap: wrap; gap: .6rem; }
.theme-cofex .cf-radca-pas__akcie .es-btn { text-decoration: none; white-space: nowrap; }

@media (max-width: 575.98px) {
    .theme-cofex .cf-radca-pas { padding: 1rem 1.1rem; }
    .theme-cofex .cf-radca-pas__akcie, .theme-cofex .cf-radca-pas__akcie .es-btn { width: 100%; }
    .theme-cofex .cf-radca-pas__akcie .es-btn { justify-content: center; }
}

/* CHYBA šablóny na mobile: dráha dlaždíc má justify-content:center + overflow → prvé dlaždice sú v zápornom x
   a nedajú sa doscrollovať (Káva, Kávovary boli neviditeľné). Zarovnať na začiatok. (14.9.) */
@media (max-width: 767.98px) {
    .theme-cofex .es-cat-grid__track > ul { justify-content: flex-start !important; }
}

/* dlaždice kategórií (úvodka, značky, gastro): fotky sú produktové bez okraja → vzduch okolo, nech
   nevyzerajú osekané (Robert 14.9.); v kategórii (kompaktné boxy 56 px) nechať */
.theme-cofex:not(.view-category) .es-cat-grid__image img { box-sizing: border-box; padding: 9%; }

/* ==========================================================================
   „Prečo nakupovať u nás": ikony sú krémové čiarové (z WP) → kruh musí byť tmavý (espresso) v oboch
   režimoch; väčší kruh, ikona so vzduchom (Robert 14.9.: „kruh je natesno, farby doriešiť")
   ========================================================================== */
.theme-cofex .wp-showcase__feature > .wp-showcase__icon {
    width: 5rem;
    height: 5rem;
    margin-bottom: 1rem;
    background: #4a1800;
    border: 3px solid #e5c2a6;
    box-shadow: 0 6px 16px rgba(74, 24, 0, .18);
}

.theme-cofex .wp-showcase__feature > .wp-showcase__icon img {
    width: 2.5rem;
    height: 2.5rem;
}

.theme-cofex .wp-showcase__feature:hover > .wp-showcase__icon {
    background: #6e2e0e;
    transform: scale(1.06);
}

[data-theme="dark"] .theme-cofex .wp-showcase__feature > .wp-showcase__icon { border-color: #d9b48f; box-shadow: 0 6px 16px rgba(0, 0, 0, .4); }

/* ==========================================================================
   TMAVÝ REŽIM: primary je latte (#d9b48f) → biele písmo na ňom nevidno. Na svetlej výplni tmavé písmo
   (Robert 14.9.: „ak zachováme svetlú, tak dať tmavé písmo").
   ========================================================================== */
[data-theme="dark"] .theme-cofex { --color-on-primary: #2b1a12; }

[data-theme="dark"] .theme-cofex .es-btn--primary,
[data-theme="dark"] .theme-cofex .es-btn--primary:hover,
[data-theme="dark"] .theme-cofex .btn-primary.ph-btn:not(.es-product-card .ph-btn),   /* detail/košík: latte výplň; karty vo výpise sú ghost (priehľadné) → nechať svetlé */
[data-theme="dark"] .theme-cofex .phCartButton,
[data-theme="dark"] .theme-cofex .wppush-plav__tlacidlo,
[data-theme="dark"] .theme-cofex .wppush-ulozit,
[data-theme="dark"] .theme-cofex .wppush-btn--aktivne,
[data-theme="dark"] .theme-cofex .wpp-bublina,
[data-theme="dark"] .theme-cofex .wpp-poslat,
[data-theme="dark"] .theme-cofex .wpp-hlava,
[data-theme="dark"] .theme-cofex .bd-filter-fab,
[data-theme="dark"] .theme-cofex .bd-mapa__spust,
[data-theme="dark"] .theme-cofex .bd-hostuje__btn,
[data-theme="dark"] .theme-cofex .wp-btn--primary,
[data-theme="dark"] .theme-cofex .es-footer__cookie-btn ~ .x { color: #2b1a12 !important; }

[data-theme="dark"] .theme-cofex .es-btn--primary svg,
[data-theme="dark"] .theme-cofex .phCartButton svg,
[data-theme="dark"] .theme-cofex .wppush-plav__tlacidlo svg,
[data-theme="dark"] .theme-cofex .wpp-bublina svg { color: #2b1a12; }

/* biele písmo na tmavom ostáva tam, kde je pozadie naozaj tmavé (hero, pätička) — tie primary nepoužívajú */
[data-theme="dark"] .theme-cofex .es-product-card .ph-btn { color: var(--color-text) !important; }
@media (max-width: 340px) { .theme-cofex .es-header__logo img { --es-logo-height-mobile: 1.5em; } .theme-cofex .es-header__actions { gap: 0; } }

/* ---- detail: ikony zdieľania v rovnakom štýle ako Strážiť cenu / želania (Robert 14.9.: „share má inú farbu") ---- */
.theme-cofex.view-item .pcshare .pcshare__btn {
    width: 36px; height: 36px;
    border: 1px solid var(--color-border);
    border-radius: 50%;
    background: var(--color-surface);
    color: var(--color-heading);
    transition: border-color .15s ease, color .15s ease, background .15s ease;
}

.theme-cofex.view-item .pcshare .pcshare__btn:hover,
.theme-cofex.view-item .pcshare .pcshare__btn:focus-visible {
    border-color: var(--color-primary);
    background: var(--color-primary);
    color: var(--color-on-primary, #fff);
}

/* ==========================================================================
   ÚVODKA (body.is-home) — ilustrácie MIMO kontajnera na veľkých monitoroch (Robert 14.9.):
   káva = zrnká vpravo hore pri sekcii showcase-2, gastro = hrniec s vareškou vľavo hore pri showcase-3.
   Zobrazia sa len keď je po bokoch miesto (≥ 1800 px), nízka opacita, nič neprekrývajú (pointer-events none).
   Pozadia sekcií: káva krémová s jemným latte prechodom hore, gastro pieskový pás.
   ========================================================================== */
.theme-cofex.is-home .es-showcase--2,
.theme-cofex.is-home .es-showcase--3 { position: relative; overflow: hidden; }

.theme-cofex.is-home .es-showcase--1,
.theme-cofex.is-home .es-showcase--2,
.theme-cofex.is-home .es-showcase--3 { background: var(--color-body-bg); }   /* dlaždice = rovnaká farba ako hero (Robert) */

/* striedanie pásov po blokoch (Robert: „stačí striedať"): béžový pás = modul s triedou cf-pas-b, na celú šírku okna;
   susedné béžové moduly sa prekryjú (inset -1.5rem), takže tvoria jeden pás; ostatné ostávajú krémové */
.theme-cofex.is-home .es-module.cf-pas-b { position: relative; padding-block: 1.25rem; }
.theme-cofex.is-home .es-module.cf-pas-b::after {
    content: "";
    position: absolute;
    inset: -1.5rem 0;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    background: color-mix(in srgb, var(--color-surface-alt) 55%, var(--color-primary-light));   /* o odtieň teplejšie než pás dlaždíc, nech je striedanie vidno */
    z-index: -1;
    pointer-events: none;
}
.theme-cofex.is-home .es-showcase { isolation: isolate; }
.theme-cofex.is-home .es-module.cf-pas-b > * { position: relative; z-index: 1; }

@media (min-width: 2000px) {   /* Robert 14.9.: na 1800–2000 px liezli pod polopriesvitné karty produktov → až od 2000 px */
    .theme-cofex.is-home .es-showcase--2::before,
    .theme-cofex.is-home .es-showcase--3::before {
        content: "";
        position: absolute;
        top: -36px;                                   /* vrch ilustrácie ≈ začiatok nadpisu sekcie (Robert); sekcia má overflow:hidden, nižšie by orezala */
        /* ~3× väčšie než predtým; širšie než bočný pás, smie mierne podliezť pod okraj kontajnera (obsah má z-index) */
        width: clamp(120px, calc((100% - var(--container-max, 1640px)) / 2 + 24px), 460px);   /* +24 px = len po vnútorné odsadenie kontajnera (32 px), nie pod karty */
        height: 460px;
        pointer-events: none;
        opacity: .14;
        z-index: 2;   /* nad béžovým pásom (ten je z -1 v kontexte kontajnera) — inak ho pás zakryl */
        background-repeat: no-repeat;
        background-size: contain;
    }

    /* zrnká VĽAVO */
    .theme-cofex.is-home .es-showcase--2::before {
        left: -40px;
        transform: rotate(-38deg);   /* zrnká viac natočené (Robert) */
        background-position: left top;
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 200'><g fill='%234a1800'><path transform='rotate(-32 80 92)' d='M80 32c30 0 46 27 46 60s-16 60-46 60-46-27-46-60 16-60 46-60zm0 10c-8 14-5 30 6 44s13 30 4 56c12-8 26-24 26-50s-16-42-36-50z'/><path transform='rotate(20 158 118)' d='M158 62c24 0 36 22 36 48s-12 48-36 48-36-22-36-48 12-48 36-48zm0 8c-6 11-4 24 5 35s10 24 3 45c10-6 21-19 21-40s-13-34-29-40z'/></g></svg>");
    }

    /* hrniec s vareškou VPRAVO */
    .theme-cofex.is-home .es-showcase--3::before {
        right: -30px;
        transform: rotate(10deg);
        background-position: right top;
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 200' fill='none' stroke='%234a1800' stroke-width='7' stroke-linecap='round' stroke-linejoin='round'><path d='M48 96h124v54c0 16-12 28-28 28H76c-16 0-28-12-28-28z'/><path d='M36 96h148'/><path d='M48 118H30M172 118h18'/><path d='M120 96 168 28'/><path d='M168 28c10-12 26-2 18 10s-24 16-22 4'/><path d='M74 70c0-10 8-12 8-22M104 70c0-10 8-12 8-22M134 70c0-10 8-12 8-22'/></svg>");
    }

    .theme-cofex.is-home .es-showcase--2 > .es-container,
    .theme-cofex.is-home .es-showcase--3 > .es-container { position: relative; z-index: 1; }
}

[data-theme="dark"] .theme-cofex.is-home .es-showcase--2::before,
[data-theme="dark"] .theme-cofex.is-home .es-showcase--3::before { filter: invert(1) sepia(1) saturate(.6) brightness(1.2); opacity: .14; }

/* ÚVODKA — rovnaké odsadenia medzi blokmi (Robert 14.9.: „odsadenia nesedia"): sekcie showcase bez vlastného
   paddingu (mali 64 px → medzi sekciami 152 px, vnútri 24 px), každý modul 3 rem pod sebou */
.theme-cofex.is-home .es-showcase { padding-block: 0; }
.theme-cofex.is-home .es-showcase--1 { padding-top: 3rem; }
.theme-cofex.is-home .es-showcase .es-module { margin-bottom: 3rem; }
.theme-cofex.is-home .es-showcase .es-module.cf-pas-b { padding-block: 1.5rem; }
.theme-cofex.is-home .es-showcase .es-module.cf-pas-b::after { top: -1.5rem; bottom: -1.5rem; }   /* nie inset — ten nuloval left:50 % a pás sa usekol vpravo */
.theme-cofex.is-home .es-showcase .es-module:empty, .theme-cofex.is-home .es-showcase .es-module:has(> .es-module__body:empty) { display: none; }

/* ---- hero na mobile: šípky dole vedľa bodiek, nie cez text (Robert 14.9.) ---- */
@media (max-width: 767.98px) {
    .theme-cofex .wp-hero__nav {
        inset: auto 0 0 0;                 /* len spodný pruh */
        height: 3.5rem;
        align-items: center;
        justify-content: center;
        gap: 7.5rem;                       /* medzi šípkami ostane miesto na bodky */
        padding: 0;
    }
    .theme-cofex .wp-hero__arrow { width: 2.25rem; height: 2.25rem; }
    .theme-cofex .wp-hero__dots { bottom: 1.4rem; }
    .theme-cofex .wp-hero__slide { padding-bottom: 4rem; }   /* text/tlačidlá nad ovládaním */
}

/* ---- mobil: dráhy dlaždíc kategórií (úvodka: hlavné, značky, gastro) so závojom vpravo = „dá sa posúvať" (Robert 14.9.) ---- */
@media (max-width: 767.98px) {
    .theme-cofex.is-home .ph-category-module-box .es-cat-grid__track > ul {
        padding-right: 2.5rem;
        scroll-padding-inline-start: 16px;   /* snap „start" inak odscrolluje ľavý padding a prvá dlaždica sedí na okraji */
        -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 3rem), transparent);
        mask-image: linear-gradient(to right, #000 calc(100% - 3rem), transparent);
    }
}

/* tmavý režim – tlačidlá v článkoch a kartách (mali !important biele písmo zo svetlého režimu) → tmavé písmo na latte;
   outline tlačidlo v tme = latte výplň → tiež tmavé písmo; odkaz „Všetky články" latte (Robert 14.9.) */
[data-theme="dark"] .theme-cofex .cf-predajna__akcie a.es-btn,
[data-theme="dark"] .theme-cofex .cf-kontakt__akcie a.es-btn,
[data-theme="dark"] .theme-cofex .cf-radca-pas__akcie .es-btn,
[data-theme="dark"] .theme-cofex .wp-article__body a.es-btn,
[data-theme="dark"] .theme-cofex .com-content-article__body a.es-btn,
[data-theme="dark"] .theme-cofex .es-btn--outline,
[data-theme="dark"] .theme-cofex .contact-form .btn-primary,
[data-theme="dark"] .theme-cofex .bd-mapa .bd-mapa__spust { color: #2b1a12 !important; }

[data-theme="dark"] .theme-cofex .cf-novinky__vsetky { color: var(--color-primary) !important; }

/* ==========================================================================
   O NÁS — prvky dôvery (Robert 14.9.: „vylepšiť O nás, dať tam prvky dôvery")
   Obsah generuje stranky/cofex_o_nas.php (čísla živé z DB, recenzie {loadmoduleid}).
   ========================================================================== */
.theme-cofex .wp-article:has(.cf-onas),
.theme-cofex .com-content-article:has(.cf-onas) { max-width: 72rem; }
.theme-cofex .cf-onas h2 { margin-top: 3rem; }
.theme-cofex .cf-onas__pod { color: var(--color-text-muted); margin-top: -.5rem; }

/* úvod + fotka */
.theme-cofex .cf-onas__uvod { display: flex; gap: 2rem; align-items: center; }
.theme-cofex .cf-onas__uvod-text { flex: 1 1 24rem; }
.theme-cofex .cf-onas__perex { font-size: 1.15rem; line-height: 1.6; }
.theme-cofex .cf-onas__foto { flex: 0 0 auto; margin: 0; width: min(18rem, 40%); }
.theme-cofex .cf-onas__foto img { width: 100%; height: auto; border-radius: var(--radius-xl); box-shadow: var(--shadow-md, 0 8px 24px rgba(0,0,0,.12)); }

/* čísla */
.theme-cofex .cf-onas__cisla {
    list-style: none; margin: 2.5rem 0 0; padding: 0;
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem;
}
.theme-cofex .cf-onas__cisla li {
    margin: 0; padding: 1.25rem 1rem; text-align: center;
    background: var(--color-surface-alt); border-radius: var(--radius-xl);
    border-top: 4px solid var(--color-accent);
}
.theme-cofex .cf-onas__cisla strong { display: block; font-size: 2.2rem; line-height: 1.1; color: var(--color-primary); font-weight: 800; }
.theme-cofex .cf-onas__cisla span { display: block; margin-top: .35rem; font-size: .9rem; color: var(--color-text-muted); }

/* čomu sa venujeme */
.theme-cofex .cf-onas__karty { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 1rem; }
.theme-cofex .cf-onas__karty article {
    padding: 1.25rem; border: 1px solid var(--color-border); border-radius: var(--radius-xl); background: var(--color-surface);
}
.theme-cofex .cf-onas__karty h3 { font-size: 1.05rem; margin: .75rem 0 .4rem; }
.theme-cofex .cf-onas__karty p { margin: 0; font-size: .92rem; line-height: 1.5; color: var(--color-text-muted); }
.theme-cofex .cf-onas__ik {
    display: inline-flex; width: 3rem; height: 3rem; align-items: center; justify-content: center;
    border-radius: 50%; background: var(--color-primary); color: #fff;
}
.theme-cofex .cf-onas__ik svg { width: 1.5rem; height: 1.5rem; }

/* dôverujú nám */
.theme-cofex .cf-onas__partneri { display: flex; flex-wrap: wrap; gap: 1.5rem 3rem; align-items: center; justify-content: center; margin: 1.5rem 0; }
.theme-cofex .cf-onas__partner { margin: 0; }
.theme-cofex .cf-onas__partner img { height: 5.5rem; width: auto; opacity: .9; transition: opacity .2s; }   /* farebne (klient 21.9.) */
.theme-cofex .cf-onas__partner:hover img { filter: none; opacity: 1; }
.theme-cofex .cf-onas__prevadzky { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.theme-cofex .cf-onas__prevadzky li {
    margin: 0; padding: .35rem .8rem; font-size: .85rem; border-radius: 999px;
    background: var(--color-surface-alt); border: 1px solid var(--color-border); color: var(--color-text);
}

/* značky: dlaždice ako na úvodke, bez posuvnej dráhy */
.theme-cofex .cf-onas__znacky .es-cat-grid__track { overflow: visible; mask-image: none; -webkit-mask-image: none; }
.theme-cofex .cf-onas__znacky .es-cat-grid__track > ul { flex-wrap: wrap; justify-content: center; }
.theme-cofex .cf-onas__znacky + .cf-onas__pod { margin-top: 1rem; }
.theme-cofex .cf-onas__znacky a, .theme-cofex .cf-onas__znacky .es-cat-grid__title { text-decoration: none; }

/* prečo Cofex */
.theme-cofex .cf-onas__preco { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem 2rem; }
.theme-cofex .cf-onas__preco li { display: flex; gap: .75rem; align-items: flex-start; margin: 0; line-height: 1.5; }
.theme-cofex .cf-onas__preco svg { flex: 0 0 auto; width: 1.5rem; height: 1.5rem; padding: .2rem; border-radius: 50%; background: var(--color-accent); color: #fff; margin-top: .1rem; }

/* citát + CTA */
.theme-cofex .cf-onas__citat {
    margin: 3rem auto 2rem; padding: 1.5rem 2rem; max-width: 46rem; text-align: center;
    font-size: 1.2rem; font-style: italic; line-height: 1.6; color: var(--color-heading);
    border: 0; border-top: 2px solid var(--color-accent); border-bottom: 2px solid var(--color-accent); background: none;
}
.theme-cofex .cf-onas__cta { margin-top: 1rem; }
.theme-cofex .cf-onas .es-reviews-wall__title, .theme-cofex .cf-onas .es-reviews-wall h2 { display: none; }

@media (max-width: 991.98px) {
    .theme-cofex .cf-onas__cisla { grid-template-columns: repeat(2, 1fr); }
    .theme-cofex .cf-onas__preco { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
    .theme-cofex .cf-onas__uvod { flex-direction: column-reverse; align-items: stretch; }
    .theme-cofex .cf-onas__foto { width: 100%; max-width: 20rem; margin-inline: auto; }
    .theme-cofex .cf-onas__cisla strong { font-size: 1.7rem; }
    .theme-cofex .cf-onas__partner img { height: 4rem; }
    .theme-cofex .cf-onas h2 { margin-top: 2.25rem; }
}
/* tmavá: logá partnerov sú tmavé na priehľadnom → svetlá podložka */
[data-theme="dark"] .theme-cofex .cf-onas__partner img {
    background: #f3ece4; padding: .5rem .8rem; border-radius: var(--radius-lg); filter: none; opacity: .92;
}

/* Kontakt: virtuálna prehliadka predajne (Street View zo starého webu) – rovnaký box ako mapa, cez celú šírku, náhľad = hero fotka */
.theme-cofex .cf-kontakt__prehliadka {
    grid-column: 1 / -1;
    min-height: 300px;
    background-image: url("/images/cofex/hero-cofex.webp");
}
.theme-cofex .cf-kontakt__prehliadka.bd-mapa--nacitana { min-height: 450px; }
.theme-cofex .bd-mapa__titul { font-size: 1.2rem; color: var(--color-heading); }

/* ==========================================================================
   LOGÁ ZNAČIEK (14.9.) – pás výrobcov gastro na úvodke (mod_custom „Značky gastro zariadení“, cofex_uvodka3.php)
   Logá sú 2:1 s okrajom (tema/img/znacky), rovnaká výška, šedé → farebné pri prejdení; v tme svetlá podložka.
   ========================================================================== */
.theme-cofex .cf-loga {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center;
}
.theme-cofex .cf-loga li { margin: 0; flex: 0 0 auto; }
.theme-cofex .cf-loga a {
    display: flex; align-items: center; justify-content: center;
    width: 9.5rem; height: 5rem; padding: .6rem .9rem; box-sizing: border-box;
    border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: #fff;
    transition: transform .15s, box-shadow .15s;
}
.theme-cofex .cf-loga img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; opacity: .92; transition: opacity .2s; }   /* klient 21.9.: farebne, nie čiernobielo (bolo grayscale → farba na hover) */
.theme-cofex .cf-loga a:hover { transform: translateY(-2px); box-shadow: var(--shadow-md, 0 6px 18px rgba(0,0,0,.1)); }
.theme-cofex .cf-loga a:hover img { opacity: 1; }
[data-theme="dark"] .theme-cofex .cf-loga a { background: #fff; border-color: transparent; }   /* biela, nie latte – logá z JPG majú biely podklad, na latte by svietil obdĺžnik */
@media (max-width: 767.98px) {
    .theme-cofex .cf-loga { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: .5rem; margin-inline: -16px; padding-inline: 16px; scroll-padding-inline-start: 16px; -webkit-mask-image: linear-gradient(to right, #000 88%, transparent); mask-image: linear-gradient(to right, #000 88%, transparent); }
    .theme-cofex .cf-loga li { scroll-snap-align: start; }
    .theme-cofex .cf-loga a { width: 7.5rem; height: 4rem; }
    .theme-cofex .cf-loga img { filter: none; opacity: 1; }
}
/* info stránka po objednávke/platbe (view=info) – bočný filter tam nemá čo robiť (modul je na Itemid e-shopu) */
.theme-cofex.view-info .es-sidebar--left, .theme-cofex.view-info .bd-filter-fab { display: none !important; }
.theme-cofex.view-info .es-content--has-sidebar-left { display: block; }   /* mriežka so stĺpcom pre panel → obsah na celú šírku */
.theme-cofex.view-info .es-content__main { max-width: 60rem; }

/* ==========================================================================
   BOOTSTRAP MODAL – základ (16.9., Robert: „keď hodím do košíka, popup ma hodí dole“)
   tpleshop nenačítava Bootstrap CSS, ale Phoca otvára #phAddToCartPopup (aj otázku k produktu) ako Bootstrap 5 modal →
   .modal bol position:static na konci stránky a focus trap Bootstrapu odscrolloval stránku dole. Šablóna štýluje len
   .modal-content/.modal-header, základ (fixed, backdrop, dialog) chýbal. → ODKAZ PRE TPLESHOP: patrí do phocacart.css.
   ========================================================================== */
.theme-cofex .modal { position: fixed; top: 0; left: 0; z-index: 1055; display: none; width: 100%; height: 100%; overflow: hidden auto; outline: 0; }
.theme-cofex .modal.show { display: block; }
.theme-cofex .modal-dialog { position: relative; width: auto; margin: .5rem; pointer-events: none; }
.theme-cofex .modal.fade .modal-dialog { transition: transform .25s ease-out; transform: translateY(-1rem); }
.theme-cofex .modal.show .modal-dialog { transform: none; }
.theme-cofex .modal-content { position: relative; display: flex; flex-direction: column; width: 100%; pointer-events: auto; background: var(--color-surface); color: var(--color-text); }
.theme-cofex .modal-header { display: flex; flex-shrink: 0; align-items: center; justify-content: space-between; gap: 1rem; }
.theme-cofex .modal-body { position: relative; flex: 1 1 auto; padding: 1rem 1.5rem; }
.theme-cofex .modal-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .5rem; padding: .75rem 1.5rem 1.25rem; }
.theme-cofex .modal-header .btn-close { width: 2rem; height: 2rem; border: 0; border-radius: 50%; background: transparent; cursor: pointer; font-size: 0; position: relative; }
.theme-cofex .modal-header .btn-close::before { content: "×"; font-size: 1.6rem; line-height: 1; color: var(--color-text-muted); }
.theme-cofex .modal-backdrop { position: fixed; inset: 0; z-index: 1050; background: rgba(20, 14, 15, .55); }
.theme-cofex .modal-backdrop.fade:not(.show) { opacity: 0; }
body.modal-open { overflow: hidden; }
@media (min-width: 576px) { .theme-cofex .modal-dialog { max-width: 520px; margin: 6vh auto; } }
#phAddToCartPopup .modal-footer .ph-btn, #phAddToCartPopup .modal-footer .btn { flex: 1 1 12rem; justify-content: center; }

/* ============================================
   MEGA MENU „E-shop“ (16.9., Robert: „megamenu z prvej úrovne e-shopu“, klient chce
   menu ako gastromarket.sk). Šablóna generuje rozbaľovací strom (phocaNavRootTitle
   = E-shop, hĺbka 3): koreň → panel s 1. úrovňou → vnorené panely. Tu sa len
   CSS-om prvý panel roztiahne na šírku hlavičky a 1. úroveň (Káva, Kávovary,
   Gastro…) sa vypíše ako stĺpce s podkategóriami natrvalo pod sebou; 3. úroveň
   sa v mega paneli neukazuje (ostáva v mobilnej zásuvke). Bez zásahu do šablóny.
   ============================================ */
@media (min-width: 1024px) {
    .theme-cofex .es-header__inner {
        position: relative;
    }
    .theme-cofex .es-header__nav,
    .theme-cofex .es-phoca-nav--rooted,
    .theme-cofex .es-phoca-nav--rooted .es-phoca-nav__list--root,
    .theme-cofex .es-phoca-nav--rooted .es-phoca-nav__item--root {
        position: static;
    }
    /* medzera medzi odkazom E-shop a panelom (panel sedí na spodku hlavičky, odkaz končí ~17 px vyššie) rušila :hover →
       neviditeľný mostík pod odkazom (Robert 16.9.: „neviem si kliknúť na podmenu“) */
    .theme-cofex .es-phoca-nav--navbar .es-phoca-nav__item--root > .es-phoca-nav__link {
        position: relative;
    }
    .theme-cofex .es-phoca-nav--navbar .es-phoca-nav__item--root > .es-phoca-nav__link::after {
        content: "";
        position: absolute;
        left: -1rem;
        right: -3rem;
        top: 100%;
        height: 1.5rem;
    }
    .theme-cofex .es-phoca-nav--navbar .es-phoca-nav__item--root > .es-phoca-nav__toggle {
        position: relative;
        z-index: 1;
    }
    /* koreňový panel = celá šírka hlavičky */
    .theme-cofex .es-phoca-nav--navbar .es-phoca-nav__item--root > .es-phoca-nav__panel {
        left: 0;
        right: 0;
        top: 100%;
        width: auto;
        min-width: 0;
        max-height: calc(100vh - 8rem);
        overflow: auto;
        padding: var(--space-lg) var(--space-lg) var(--space-md);
        border-radius: 0 0 var(--card-radius) var(--card-radius);
    }
    /* 1. úroveň ako stĺpce (pretlačí .es-header__nav ul { display:flex } aj zvislý submenu šablóny) */
    .theme-cofex .es-header__nav .es-phoca-nav--navbar .es-phoca-nav__item--root > .es-phoca-nav__panel > .es-phoca-nav__submenu {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
        gap: var(--space-md) var(--space-lg);
        align-items: start;
    }
    .theme-cofex .es-phoca-nav--navbar .es-phoca-nav__item--root > .es-phoca-nav__panel > .es-phoca-nav__submenu > .es-phoca-nav__item {
        display: block;
        min-width: 0;
    }
    /* nadpis stĺpca */
    .theme-cofex .es-phoca-nav--navbar .es-phoca-nav__item--root > .es-phoca-nav__panel > .es-phoca-nav__submenu > .es-phoca-nav__item > .es-phoca-nav__link {
        display: block;
        padding: 0 0 var(--space-xs) !important;
        margin-bottom: var(--space-xs);
        border-bottom: 1px solid var(--color-border);
        font-weight: 700;
        font-size: 0.9375rem !important;
        color: var(--color-primary);
        background: none;
    }
    /* 2. úroveň natrvalo pod nadpisom, nie ako plávajúci panel */
    .theme-cofex .es-phoca-nav--navbar .es-phoca-nav__item--root > .es-phoca-nav__panel > .es-phoca-nav__submenu > .es-phoca-nav__item > .es-phoca-nav__panel {
        display: block;
        position: static;
        min-width: 0;
        padding: 0;
        border: 0;
        box-shadow: none;
        background: none;
    }
    .theme-cofex .es-header__nav .es-phoca-nav--navbar .es-phoca-nav__item--root > .es-phoca-nav__panel .es-phoca-nav__submenu .es-phoca-nav__submenu {
        display: block;
    }
    .theme-cofex .es-phoca-nav--navbar .es-phoca-nav__item--root > .es-phoca-nav__panel .es-phoca-nav__submenu .es-phoca-nav__submenu > .es-phoca-nav__item > .es-phoca-nav__link {
        padding: 0.2rem 0 !important;
        font-size: 0.8125rem !important;
        line-height: 1.3;
        white-space: normal;
    }
    /* šípky pri položkách a 3. úroveň v mega paneli preč */
    .theme-cofex .es-phoca-nav--navbar .es-phoca-nav__item--root > .es-phoca-nav__panel .es-phoca-nav__toggle,
    .theme-cofex .es-phoca-nav--navbar .es-phoca-nav__item--root > .es-phoca-nav__panel .es-phoca-nav__submenu .es-phoca-nav__submenu .es-phoca-nav__panel {
        display: none !important;
    }
    /* dlhý stĺpec (Gastro zariadenia – 16 podkategórií) cez 2 stĺpce mriežky, zoznam v 2 stĺpcoch */
    .theme-cofex .es-phoca-nav--navbar .es-phoca-nav__item--root > .es-phoca-nav__panel > .es-phoca-nav__submenu > .es-phoca-nav__item:has(> .es-phoca-nav__panel > .es-phoca-nav__submenu > .es-phoca-nav__item:nth-child(10)) {
        grid-column: span 2;
    }
    .theme-cofex .es-phoca-nav--navbar .es-phoca-nav__item--root > .es-phoca-nav__panel > .es-phoca-nav__submenu > .es-phoca-nav__item:has(> .es-phoca-nav__panel > .es-phoca-nav__submenu > .es-phoca-nav__item:nth-child(10)) .es-phoca-nav__submenu {
        columns: 2;
        column-gap: var(--space-md);
    }
    .theme-cofex .es-phoca-nav--navbar .es-phoca-nav__item--root > .es-phoca-nav__panel .es-phoca-nav__submenu .es-phoca-nav__submenu > .es-phoca-nav__item {
        break-inside: avoid;
    }

    /* malé fotky pri nadpisoch stĺpcov (Robert 16.9.: „dáme aj fotky malé na hlavné?“) – phocaNav nemá obrázky v HTML,
       7 koreňov je stálych → podľa href; náhľad S z Phoca (240 px štvorec, contain na bielej podložke) */
    .theme-cofex .es-phoca-nav--navbar .es-phoca-nav__item--root > .es-phoca-nav__panel > .es-phoca-nav__submenu > .es-phoca-nav__item > .es-phoca-nav__link {
        display: flex;
        align-items: center;
        gap: 0.6rem;
    }
    .theme-cofex .es-phoca-nav--navbar .es-phoca-nav__item--root > .es-phoca-nav__panel > .es-phoca-nav__submenu > .es-phoca-nav__item > .es-phoca-nav__link::before {
        content: "";
        flex: 0 0 auto;
        width: 2.5rem;
        height: 2.5rem;
        border-radius: 0.5rem;   /* Robert 16.9.: kruh „je moc“ → jemne zaoblený štvorec ako dlaždice */
        background: var(--es-media-plate, #fff) center / 84% no-repeat;
        border: 1px solid var(--color-border);
    }
    /* Od tpleshopu 1.30 vypisuje phocaNav náhľad kategórie priamo v HTML (parameter phocaNavImages). Náš zástupný
       štvorec by potom bol druhý obrázok navyše – preto ho pri skutočnom obrázku skryjeme (základ šablóny má to isté
       pravidlo, ale bez `.theme-cofex`, čiže by nás neprebilo). Po prechode na 1.30 sa dá celý blok nižšie zmazať. */
    .theme-cofex .es-phoca-nav--navbar .es-phoca-nav__item--root > .es-phoca-nav__panel > .es-phoca-nav__submenu > .es-phoca-nav__item > .es-phoca-nav__link:has(> .es-phoca-nav__img)::before { display: none; }
    .theme-cofex .es-phoca-nav--navbar .es-phoca-nav__item--root > .es-phoca-nav__panel > .es-phoca-nav__submenu > .es-phoca-nav__item > .es-phoca-nav__link[href$="/562-kava"]::before { background-image: url("/images/phocacartcategories/wp/thumbs/phoca_thumb_s_562-kava.jpg"); }
    .theme-cofex .es-phoca-nav--navbar .es-phoca-nav__item--root > .es-phoca-nav__panel > .es-phoca-nav__submenu > .es-phoca-nav__item > .es-phoca-nav__link[href$="/563-kavovary-a-mlynceky"]::before { background-image: url("/images/phocacartcategories/wp/thumbs/phoca_thumb_s_563-kavovary-a-mlynceky.jpg"); }
    .theme-cofex .es-phoca-nav--navbar .es-phoca-nav__item--root > .es-phoca-nav__panel > .es-phoca-nav__submenu > .es-phoca-nav__item > .es-phoca-nav__link[href$="/7-gastro-zariadenia"]::before { background-image: url("/images/phocacartcategories/gastro/thumbs/phoca_thumb_s_7-gastro-zariadenia.jpg"); }
    .theme-cofex .es-phoca-nav--navbar .es-phoca-nav__item--root > .es-phoca-nav__panel > .es-phoca-nav__submenu > .es-phoca-nav__item > .es-phoca-nav__link[href$="/587-udrzba-a-servis"]::before { background-image: url("/images/phocacartcategories/wp/thumbs/phoca_thumb_s_587-udrzba-a-servis.jpg"); }
    .theme-cofex .es-phoca-nav--navbar .es-phoca-nav__item--root > .es-phoca-nav__panel > .es-phoca-nav__submenu > .es-phoca-nav__item > .es-phoca-nav__link[href$="/580-doplnky"]::before { background-image: url("/images/phocacartcategories/wp/thumbs/phoca_thumb_s_580-doplnky.jpg"); }
    .theme-cofex .es-phoca-nav--navbar .es-phoca-nav__item--root > .es-phoca-nav__panel > .es-phoca-nav__submenu > .es-phoca-nav__item > .es-phoca-nav__link[href$="/575-caj-a-cokolada"]::before { background-image: url("/images/phocacartcategories/wp/thumbs/phoca_thumb_s_575-caj-a-cokolada.jpg"); }
    .theme-cofex .es-phoca-nav--navbar .es-phoca-nav__item--root > .es-phoca-nav__panel > .es-phoca-nav__submenu > .es-phoca-nav__item > .es-phoca-nav__link[href$="/602-pochutiny"]::before { background-image: url("/images/phocacartcategories/wp/thumbs/phoca_thumb_s_602-pochutiny.jpg"); }

}

/* Parametre z feedu pod AI popisom v záložke Popis (cofex_prod_popisy_presun.php) – oddelené linkou, menším písmom */
.theme-cofex .cf-parametre {
    margin-top: 1rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--color-border);
    font-size: 0.9375rem;
    color: var(--color-text-muted, inherit);
}

/* Filtre podľa parametrov (cofex_parametre.php, 16.9.): poradie panelov za výrobcami – Šírka · Výkon · Napájanie · Objem · GN · Priemer · Materiál */
.theme-cofex #phFilterBox > .panel-sirka     { order: 6; }
.theme-cofex #phFilterBox > .panel-vykon     { order: 7; }
.theme-cofex #phFilterBox > .panel-napajanie { order: 8; }
.theme-cofex #phFilterBox > .panel-objem     { order: 9; }
.theme-cofex #phFilterBox > .panel-gn        { order: 10; }
.theme-cofex #phFilterBox > .panel-priemer   { order: 11; }
.theme-cofex #phFilterBox > .panel-material  { order: 12; }

/* Cena a stav skladu v kartách produktov na stred (Robert 16.9.: „dajme ceny na stred v boxoch a vo výpise kategórií“) –
   Phoca dáva cenu aj stav float:right; platí pre výpis kategórie/výsledky filtra aj swipe karty na úvodke */
.theme-cofex .es-product-card .ph-category-price-box,
.theme-cofex .es-product-card .ph-category-stock-box,
.theme-cofex .bd-swipe__item .ph-category-stock-box {
    text-align: center;
}
.theme-cofex .es-product-card .ph-category-price-box .ph-price-brutto,
.theme-cofex .es-product-card .ph-category-price-box .ph-price-original,
.theme-cofex .es-product-card .ph-category-price-box .ph-price-old,
.theme-cofex .es-product-card .ph-category-stock-box .ph-stock,
.theme-cofex .bd-swipe__item .ph-category-stock-box .ph-stock {
    float: none;
}
.theme-cofex .es-product-card .ph-category-stock-box .ph-stock,
.theme-cofex .bd-swipe__item .ph-category-stock-box .ph-stock {
    display: inline-flex;
    justify-content: center;
}
.theme-cofex .bd-swipe__item .ph-category-price-box {
    justify-content: center;
}
.theme-cofex .bd-swipe__item .es-product-card__stock {
    text-align: center;
}
/* Nadpis produktu v kartách na stred (Robert 16.9.: „asi aj v kartičkách nadpis“) – výpis kategórie ho má, doplnené swipe karty na úvodke */
.theme-cofex .bd-swipe__item .es-product-card__title,
.theme-cofex .bd-swipe__item .es-product-card__header,
.theme-cofex .es-product-card .es-product-card__title,
.theme-cofex .es-product-card .es-product-card__header {
    text-align: center;
}

/* Tabuľka v právnych stránkach (Ochrana OÚ – účely spracúvania), cofex_pravne.php 21.9. */
.theme-cofex .cf-tab { width: 100%; border-collapse: collapse; font-size: 0.9375rem; margin: 1rem 0 1.5rem; }
.theme-cofex .cf-tab th, .theme-cofex .cf-tab td { border: 1px solid var(--color-border); padding: 0.5rem 0.6rem; vertical-align: top; text-align: left; }
.theme-cofex .cf-tab th { background: var(--color-surface-alt, #f3ece4); }
@media (max-width: 767px) { .theme-cofex .cf-tab { display: block; overflow-x: auto; } }
