/* Energie Prirody | epshoptet.css | dokumentace modulu: MODULY.md v git repu */

:root {
    --ep-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --ep-primary: #6AB023;
    --ep-primary-dark: #3D6B0F;
    --ep-primary-light: #EDF5E1;
    --ep-text: #1A1A1A;
    --ep-text-light: #6B6B6B;
    --ep-border: #E8E6E1;
    --ep-bg: #FAFAF8;
    --ep-bg-warm: #F8F6F0;
    --ep-white: #FFFFFF;
    --ep-radius: 16px;
    --ep-radius-sm: 10px;
    --ep-shadow-sm: 0 1px 3px rgba(0,0,0,0.04);
    --ep-shadow-md: 0 4px 20px rgba(0,0,0,0.06);
    --ep-shadow-lg: 0 8px 40px rgba(0,0,0,0.08);
    --ep-transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.ep-product {
    font-family: var(--ep-font);
    color: var(--ep-text);
    line-height: 1.65;
    font-size: 15px;
}
.ep-product *, .ep-product *::before, .ep-product *::after {
    box-sizing: border-box;
}
.ep-section {
    margin-bottom: 28px;
}
.ep-section-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--ep-primary-dark);
    margin-bottom: 6px;
}
.ep-section-heading {
    font-size: 20px;
    font-weight: 700;
    color: var(--ep-text);
    margin: 0 0 18px 0;
    line-height: 1.3;
}
.ep-pill {
    font-size: 12px;
    font-weight: 500;
    padding: 5px 14px;
    border-radius: 20px;
    background: rgba(106,176,35,0.08);
    color: var(--ep-primary-dark);
    border: 1px solid rgba(106,176,35,0.15);
    transition: all var(--ep-transition);
}
.ep-pill:hover {
    background: rgba(106,176,35,0.18);
    transform: translateY(-1px);
}

.ep-short-benefits { margin: 12px 0; }
.ep-short-benefit { display: flex; align-items: flex-start; gap: 8px; padding: 6px 0; }
.ep-short-benefit svg { flex-shrink: 0; margin-top: 3px; }
.ep-short-benefit span { font-size: 14px; line-height: 1.5; color: var(--ep-text); }
.ep-short-cta { margin-top: 12px; font-size: 14px; color: var(--ep-text); }

.ep-hero {
    position: relative;
    padding: 44px 40px;
    background: linear-gradient(135deg, #f7faf2 0%, #eef5e4 50%, #f0f7e6 100%);
    border-radius: var(--ep-radius);
    overflow: hidden;
}
.ep-hero::before {
    content: "";
    position: absolute;
    right: -60px;
    top: -60px;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(106,176,35,0.08) 0%, transparent 70%);
}
.ep-hero::after {
    content: "";
    position: absolute;
    left: -30px;
    bottom: -30px;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(106,176,35,0.05) 0%, transparent 70%);
}
.ep-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--ep-primary-dark);
    background: rgba(106,176,35,0.12);
    padding: 5px 14px;
    border-radius: 20px;
    margin-bottom: 16px;
}
.ep-hero-title {
    font-size: 26px;
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 14px 0;
    color: var(--ep-text);
    position: relative;
    z-index: 2;
}
.ep-hero-lead {
    font-size: 15px;
    line-height: 1.7;
    color: var(--ep-text-light);
    max-width: 600px;
    margin: 0 0 20px 0;
    position: relative;
    z-index: 2;
}
.ep-hero-lead strong {
    color: var(--ep-text);
    font-weight: 600;
}
.ep-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    position: relative;
    z-index: 2;
}
.ep-hero-decoration {
    position: absolute;
    right: 24px;
    bottom: 24px;
    z-index: 1;
}

.ep-zigzag-row {
    display: flex;
    gap: 28px;
    align-items: center;
    padding: 24px;
    background: var(--ep-bg);
    border-radius: var(--ep-radius);
    border: 1px solid var(--ep-border);
}
.ep-zigzag-img {
    flex-shrink: 0;
    width: 240px;
}
.ep-zigzag-img img {
    width: 100%;
    height: auto;
    border-radius: var(--ep-radius-sm);
    background: var(--ep-white);
    padding: 12px;
    box-shadow: var(--ep-shadow-sm);
}
.ep-zigzag-text { flex: 1; }
.ep-zigzag-text h3 {
    font-size: 17px;
    font-weight: 700;
    margin: 0 0 10px 0;
    color: var(--ep-text);
}
.ep-zigzag-text p {
    font-size: 14px;
    line-height: 1.7;
    color: var(--ep-text-light);
    margin: 0;
}

.ep-benefits-premium {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
.ep-benefit-card {
    position: relative;
    padding: 24px;
    border-radius: var(--ep-radius-sm);
    border: 1px solid var(--ep-border);
    background: var(--ep-white);
    transition: all var(--ep-transition);
    overflow: hidden;
}
.ep-benefit-card:hover {
    border-color: rgba(106,176,35,0.3);
    box-shadow: var(--ep-shadow-md);
    transform: translateY(-2px);
}
.ep-benefit-card-bg {
    position: absolute;
    right: -8px;
    bottom: -8px;
    width: 80px;
    height: 80px;
    color: var(--ep-primary);
    opacity: 0.05;
}
.ep-benefit-card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}
.ep-benefit-card-icon,
.ep-benefit-icon {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    background: linear-gradient(135deg, var(--ep-primary-light) 0%, #e8f3d9 100%);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ep-primary);
}
.ep-benefit-card h3 {
    font-size: 15px;
    font-weight: 700;
    margin: 0;
}
.ep-benefit-card p {
    font-size: 13px;
    color: var(--ep-text-light);
    margin: 0;
    line-height: 1.6;
}

.ep-table-wrapper { overflow-x: auto; }
.ep-table-premium {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.ep-table-premium th {
    background: var(--ep-bg);
    font-weight: 600;
    text-align: left;
    padding: 12px 16px;
    border-bottom: 2px solid var(--ep-border);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--ep-text-light);
}
.ep-table-premium td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--ep-border);
}
.ep-table-premium tr:hover td {
    background: rgba(106,176,35,0.03);
}
.ep-table-note {
    font-size: 11px;
    color: #999;
    font-style: italic;
    margin-top: 8px;
}

.ep-dosage-premium {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.ep-dose-card {
    text-align: center;
    padding: 28px 20px;
    border-radius: var(--ep-radius-sm);
    border: 1px solid var(--ep-border);
    background: var(--ep-white);
    position: relative;
    transition: all var(--ep-transition);
}
.ep-dose-card:hover { border-color: var(--ep-primary); }
.ep-dose-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 20%;
    right: 20%;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--ep-primary), transparent);
    border-radius: 0 0 3px 3px;
    opacity: 0;
    transition: opacity var(--ep-transition);
}
.ep-dose-card:hover::before { opacity: 1; }
.ep-dose-number {
    font-size: 36px;
    font-weight: 800;
    color: var(--ep-primary);
    line-height: 1;
}
.ep-dose-unit { font-size: 14px; font-weight: 600; margin-top: 6px; }
.ep-dose-detail { font-size: 12px; color: var(--ep-text-light); margin-top: 8px; line-height: 1.5; }

.ep-expert-premium {
    display: flex;
    gap: 20px;
    padding: 28px;
    border-radius: var(--ep-radius);
    background: var(--ep-bg-warm);
    border: 1px solid var(--ep-border);
}
.ep-expert-photo {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--ep-primary-light), #e8f3d9);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ep-primary);
}
.ep-expert-content { flex: 1; }
.ep-expert-meta {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--ep-primary-dark);
    margin-bottom: 8px;
}
.ep-expert-text {
    font-size: 14px;
    color: var(--ep-text-light);
    line-height: 1.7;
    margin: 0;
    font-style: italic;
}

.ep-warnings-premium {
    padding: 24px 28px;
    border-radius: var(--ep-radius);
    background: linear-gradient(135deg, #FFFCF5 0%, #FFF8EC 100%);
    border: 1px solid #F0E4C8;
    display: flex;
    gap: 16px;
}
.ep-warnings-icon { flex-shrink: 0; color: #D4A017; }
.ep-warnings-content { flex: 1; }
.ep-warnings-title { font-size: 15px; font-weight: 700; margin: 0 0 10px 0; }
.ep-warnings-list { margin: 0; padding-left: 18px; }
.ep-warnings-list li { font-size: 13px; color: var(--ep-text-light); margin-bottom: 4px; line-height: 1.5; }

.ep-composition-premium {
    padding: 20px 24px;
    background: var(--ep-bg);
    border-radius: var(--ep-radius-sm);
    border: 1px solid var(--ep-border);
}
.ep-composition-premium p {
    font-size: 13px;
    line-height: 1.7;
    color: var(--ep-text-light);
    margin: 0;
}

.ep-faq-premium {
    border: 1px solid var(--ep-border);
    border-radius: var(--ep-radius);
    overflow: hidden;
}
.ep-faq-item { border-bottom: 1px solid var(--ep-border); }
.ep-faq-item:last-child { border-bottom: none; }
.ep-faq-question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 15px;
    font-weight: 600;
    margin: 0;
    padding: 18px 24px;
    cursor: pointer;
    transition: all var(--ep-transition);
}
.ep-faq-question:hover { background: var(--ep-bg); color: var(--ep-primary-dark); }
.ep-faq-toggle {
    flex-shrink: 0;
    transition: transform var(--ep-transition);
    color: var(--ep-primary);
}
.ep-faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.ep-faq-answer p { padding: 0 24px 18px; font-size: 14px; color: var(--ep-text-light); line-height: 1.7; margin: 0; }
.ep-faq-item.ep-open .ep-faq-answer { max-height: 500px; }
.ep-faq-item.ep-open .ep-faq-toggle { transform: rotate(180deg); }

.ep-highlight-premium {
    display: flex;
    gap: 16px;
    padding: 24px 28px;
    border-radius: var(--ep-radius);
    background: linear-gradient(135deg, #f7faf2 0%, #eef5e4 100%);
    border: 1px solid rgba(106,176,35,0.15);
}
.ep-highlight-icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    background: rgba(106,176,35,0.12);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ep-primary);
}
.ep-highlight-content h3 { font-size: 16px; font-weight: 700; margin: 0 0 8px 0; }
.ep-highlight-content p { font-size: 14px; color: var(--ep-text-light); line-height: 1.7; margin: 0; }

.ep-steps-premium {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.ep-step-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px 24px;
    border-radius: var(--ep-radius-sm);
    background: var(--ep-white);
    border: 1px solid var(--ep-border);
    transition: all var(--ep-transition);
}
.ep-step-item:hover { border-color: rgba(106,176,35,0.3); }
.ep-step-num {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--ep-primary);
    color: var(--ep-white);
    font-size: 16px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ep-step-item h3 { font-size: 15px; font-weight: 600; margin: 0 0 4px 0; }
.ep-step-item p { font-size: 13px; color: var(--ep-text-light); margin: 0; line-height: 1.6; }

.ep-trust-premium {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    padding: 20px 0;
}
.ep-trust-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 500;
    padding: 10px 18px;
    border-radius: 30px;
    background: var(--ep-bg);
    border: 1px solid var(--ep-border);
    transition: all var(--ep-transition);
}
.ep-trust-badge:hover {
    border-color: rgba(106,176,35,0.3);
    transform: translateY(-1px);
    box-shadow: var(--ep-shadow-sm);
}
.ep-trust-badge svg,
.ep-trust-icon { color: var(--ep-primary); }

.ep-stats-premium {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.ep-stat-item {
    text-align: center;
    padding: 24px 16px;
    background: var(--ep-bg);
    border-radius: var(--ep-radius-sm);
    border: 1px solid var(--ep-border);
    transition: all var(--ep-transition);
}
.ep-stat-item:hover { border-color: rgba(106,176,35,0.3); }
.ep-stat-number,
.ep-stat-value {
    font-size: 32px;
    font-weight: 800;
    color: var(--ep-primary);
    line-height: 1;
}
.ep-stat-unit { font-size: 12px; font-weight: 600; color: var(--ep-text); margin-top: 6px; }
.ep-stat-label,
.ep-stat-desc { font-size: 11px; color: var(--ep-text-light); margin-top: 4px; }

.ep-compare-premium {
    overflow-x: auto;
    border: 1px solid var(--ep-border);
    border-radius: var(--ep-radius);
}
.ep-compare-premium table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.ep-compare-premium th,
.ep-compare-premium td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--ep-border);
    text-align: center;
}
.ep-compare-premium th { background: var(--ep-bg); font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px; }
.ep-compare-premium td:first-child { text-align: left; font-weight: 500; }
.ep-compare-ours {
    background: rgba(106,176,35,0.04);
    border-left: 2px solid var(--ep-primary);
    border-right: 2px solid var(--ep-primary);
}

.ep-spotlight-premium {
    display: flex;
    gap: 32px;
    align-items: flex-start;
    padding: 32px;
    background: linear-gradient(135deg, #FAFAF8 0%, #F5F3ED 100%);
    border-radius: var(--ep-radius);
}
.ep-spotlight-visual {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--ep-primary-light), #e8f3d9);
    border-radius: 50%;
    color: var(--ep-primary);
}
.ep-spotlight-content { flex: 1; }
.ep-spotlight-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--ep-primary-dark);
    margin-bottom: 6px;
}
.ep-spotlight-content h3 { font-size: 18px; font-weight: 700; margin: 0 0 10px 0; }
.ep-spotlight-content p { font-size: 14px; color: var(--ep-text-light); line-height: 1.7; margin: 0 0 12px 0; }
.ep-spotlight-facts { display: flex; flex-wrap: wrap; gap: 8px; }
.ep-spotlight-fact {
    font-size: 13px;
    padding: 8px 14px;
    background: var(--ep-white);
    border-radius: var(--ep-radius-sm);
    border-left: 3px solid var(--ep-primary);
}
.ep-spotlight-fact-label { font-weight: 600; margin-right: 4px; }

.ep-combos-premium {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
.ep-combo-card {
    display: flex;
    gap: 14px;
    padding: 20px;
    border-radius: var(--ep-radius-sm);
    border: 1px solid var(--ep-border);
    background: var(--ep-white);
    transition: all var(--ep-transition);
}
.ep-combo-card:hover { border-color: rgba(106,176,35,0.3); }
.ep-combo-card-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: var(--ep-primary-light);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ep-primary);
}
.ep-combo-card h3 { font-size: 14px; font-weight: 600; margin: 0 0 4px 0; }
.ep-combo-card p { font-size: 12px; color: var(--ep-text-light); margin: 0; line-height: 1.5; }

.ep-timeline-premium {
    position: relative;
    padding-left: 28px;
}
.ep-timeline-premium::before {
    content: "";
    position: absolute;
    left: 8px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--ep-border);
}
.ep-timeline-item {
    position: relative;
    padding-bottom: 24px;
}
.ep-timeline-item:last-child { padding-bottom: 0; }
.ep-timeline-dot {
    position: absolute;
    left: -24px;
    top: 4px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--ep-primary);
    border: 3px solid var(--ep-white);
    box-shadow: var(--ep-shadow-sm);
}
.ep-timeline-period {
    font-size: 12px;
    font-weight: 700;
    color: var(--ep-primary-dark);
    margin-bottom: 4px;
}
.ep-timeline-content p { font-size: 14px; color: var(--ep-text-light); margin: 0; line-height: 1.6; }

.ep-video-premium {
    border-radius: var(--ep-radius);
    overflow: hidden;
    border: 1px solid var(--ep-border);
}
.ep-video-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
}
.ep-video-container iframe {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    border: none;
}
.ep-video-overlay {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.3);
    cursor: pointer;
}
.ep-video-play-btn {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--ep-white);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ep-primary);
    box-shadow: var(--ep-shadow-lg);
}
.ep-video-label { padding: 12px 16px; font-size: 13px; color: var(--ep-text-light); background: var(--ep-bg); }

.ep-reviews-premium {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
.ep-review-card {
    padding: 24px;
    border-radius: var(--ep-radius-sm);
    border: 1px solid var(--ep-border);
    background: var(--ep-white);
}
.ep-review-stars { color: #F5A623; font-size: 14px; margin-bottom: 10px; }
.ep-review-text { font-size: 14px; color: var(--ep-text-light); line-height: 1.6; font-style: italic; margin: 0 0 12px 0; }
.ep-review-author { font-size: 12px; font-weight: 600; color: var(--ep-text); }

.ep-origin-premium {
    display: flex;
    gap: 24px;
    padding: 28px;
    border-radius: var(--ep-radius);
    background: var(--ep-bg-warm);
    border: 1px solid var(--ep-border);
}
.ep-origin-visual {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--ep-primary-light);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ep-primary);
}
.ep-origin-content { flex: 1; }
.ep-origin-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--ep-primary-dark);
    margin-bottom: 6px;
}
.ep-origin-content h3 { font-size: 16px; font-weight: 700; margin: 0 0 8px 0; }
.ep-origin-content p { font-size: 14px; color: var(--ep-text-light); line-height: 1.7; margin: 0; }

.ep-storage-premium {
    display: flex;
    gap: 14px;
    align-items: center;
    padding: 18px 24px;
    border-radius: var(--ep-radius-sm);
    background: var(--ep-bg);
    border: 1px solid var(--ep-border);
}
.ep-storage-icon { flex-shrink: 0; color: var(--ep-primary); }
.ep-storage-premium p { font-size: 13px; color: var(--ep-text-light); line-height: 1.6; margin: 0; }

.ep-ritual-premium {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
    padding: 16px 0;
}
.ep-ritual-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 16px 20px;
    border-radius: var(--ep-radius-sm);
    background: var(--ep-white);
    border: 1px solid var(--ep-border);
    min-width: 100px;
    transition: all var(--ep-transition);
}
.ep-ritual-step.ep-ritual-active,
.ep-ritual-step.ep-active {
    border-color: var(--ep-primary);
    background: var(--ep-primary-light);
}
.ep-ritual-icon { color: var(--ep-primary); }
.ep-ritual-time { font-size: 11px; font-weight: 700; color: var(--ep-primary-dark); }
.ep-ritual-label { font-size: 12px; color: var(--ep-text-light); text-align: center; }

.ep-notfor-premium {
    display: flex;
    gap: 16px;
    padding: 24px 28px;
    border-radius: var(--ep-radius);
    background: #FFF5F5;
    border: 1px solid #F0D4D4;
}
.ep-notfor-icon { flex-shrink: 0; color: #C62828; }
.ep-notfor-content { flex: 1; }
.ep-notfor-content h3 { font-size: 15px; font-weight: 700; margin: 0 0 8px 0; }
.ep-notfor-list { margin: 0; padding-left: 18px; }
.ep-notfor-list li { font-size: 13px; color: var(--ep-text-light); margin-bottom: 4px; line-height: 1.5; }

.ep-capsule-premium {
    display: flex;
    gap: 32px;
    align-items: center;
    padding: 28px;
    border-radius: var(--ep-radius);
    background: var(--ep-bg);
    border: 1px solid var(--ep-border);
}
.ep-capsule-visual {
    flex-shrink: 0;
    position: relative;
    width: 72px;
    height: 160px;
}
.ep-capsule-shape {
    width: 100%;
    height: 100%;
    border-radius: 36px;
    background: linear-gradient(180deg, rgba(106,176,35,0.18), rgba(106,176,35,0.06));
    border: 2px solid rgba(106,176,35,0.25);
}
.ep-capsule-ingredients { flex: 1; }
.ep-capsule-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid var(--ep-border);
    font-size: 14px;
}
.ep-capsule-item:last-child { border-bottom: none; }
.ep-capsule-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}
.ep-capsule-highlight { font-weight: 600; color: var(--ep-primary-dark); }

.ep-science-premium {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
.ep-science-card {
    padding: 20px;
    border-radius: var(--ep-radius-sm);
    border: 1px solid var(--ep-border);
    background: var(--ep-white);
}
.ep-science-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: var(--ep-primary-light);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ep-primary);
    margin-bottom: 12px;
}
.ep-science-card h3 { font-size: 14px; font-weight: 600; margin: 0 0 6px 0; }
.ep-science-card p { font-size: 12px; color: var(--ep-text-light); margin: 0; line-height: 1.5; }
.ep-science-meta { font-size: 11px; color: #999; margin-top: 8px; }

.ep-glossary-premium {
    border: 1px solid var(--ep-border);
    border-radius: var(--ep-radius);
    overflow: hidden;
}
.ep-glossary-item {
    padding: 16px 24px;
    border-bottom: 1px solid var(--ep-border);
}
.ep-glossary-item:last-child { border-bottom: none; }
.ep-glossary-item dt {
    font-size: 14px;
    font-weight: 600;
    color: var(--ep-primary-dark);
    margin-bottom: 4px;
}
.ep-glossary-item dd {
    font-size: 13px;
    color: var(--ep-text-light);
    margin: 0;
    line-height: 1.6;
}

.ep-packages-premium {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.ep-package-card {
    text-align: center;
    padding: 24px 16px;
    border-radius: var(--ep-radius-sm);
    border: 1px solid var(--ep-border);
    background: var(--ep-white);
    position: relative;
    transition: all var(--ep-transition);
}
.ep-package-card:hover { border-color: rgba(106,176,35,0.3); }
.ep-package-best {
    border-color: var(--ep-primary);
    box-shadow: 0 0 0 1px var(--ep-primary);
}
.ep-package-badge {
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    background: var(--ep-primary);
    color: var(--ep-white);
    padding: 3px 12px;
    border-radius: 10px;
}
.ep-package-size { font-size: 20px; font-weight: 800; margin-bottom: 4px; }
.ep-package-price { font-size: 14px; color: var(--ep-text-light); }

.ep-allergens-premium {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 16px 0;
}
.ep-allergen-chip {
    font-size: 12px;
    font-weight: 500;
    padding: 6px 14px;
    border-radius: 20px;
    border: 1px solid var(--ep-border);
}
.ep-allergen-free {
    background: var(--ep-primary-light);
    color: var(--ep-primary-dark);
    border-color: rgba(106,176,35,0.2);
}
.ep-allergen-warn {
    background: #FFF8E1;
    color: #F57F17;
    border-color: #FFE082;
}

.ep-expand-premium {
    border: 1px solid var(--ep-border);
    border-radius: var(--ep-radius);
    overflow: hidden;
}
.ep-expand-item { border-bottom: 1px solid var(--ep-border); }
.ep-expand-item:last-child { border-bottom: none; }
.ep-expand-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    cursor: pointer;
    transition: background var(--ep-transition);
    font-size: 14px;
}
.ep-expand-header:hover { background: var(--ep-bg); }
.ep-expand-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.ep-expand-toggle {
    flex-shrink: 0;
    margin-left: auto;
    transition: transform var(--ep-transition);
    color: var(--ep-primary);
}
.ep-expand-body { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.ep-expand-body p { padding: 0 20px 16px 42px; font-size: 13px; color: var(--ep-text-light); line-height: 1.7; margin: 0; }
.ep-expand-item.ep-open .ep-expand-body { max-height: 300px; }
.ep-expand-item.ep-open .ep-expand-toggle { transform: rotate(180deg); }

.ep-cta-premium {
    text-align: center;
    padding: 36px 32px;
    border-radius: var(--ep-radius);
    background: linear-gradient(135deg, #f7faf2 0%, #eef5e4 50%, #f0f7e6 100%);
    border: 1px solid rgba(106,176,35,0.15);
}
.ep-cta-eyebrow {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--ep-primary-dark);
    margin-bottom: 8px;
}
.ep-cta-title { font-size: 22px; font-weight: 800; margin: 0 0 8px 0; }
.ep-cta-text { font-size: 14px; color: var(--ep-text-light); margin: 0 0 20px 0; }
.ep-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 32px;
    background: var(--ep-primary);
    color: var(--ep-white);
    border: none;
    border-radius: 30px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: all var(--ep-transition);
    text-decoration: none;
}
.ep-cta-btn:hover {
    background: var(--ep-primary-dark);
    transform: translateY(-2px);
    box-shadow: var(--ep-shadow-md);
}

ul.ep-list {
    margin: 0 0 16px 0;
    padding-left: 20px;
}
ul.ep-list li {
    font-size: 14px;
    line-height: 1.6;
    color: var(--ep-text);
    margin-bottom: 6px;
    padding-left: 2px;
}
ul.ep-list li::marker { color: var(--ep-primary); }
ul.ep-list li strong { font-weight: 600; }
p.ep-short-tag { margin: 0 0 10px 0; }

.ep-claims-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 16px;
    font-size: 12px;
    font-style: italic;
    color: var(--ep-text-light);
    line-height: 1.5;
}
.ep-claims-note-icon {
    flex-shrink: 0;
    margin-top: 2px;
    display: flex;
    color: currentColor;
    opacity: 0.7;
}

.ep-claims {
    padding: 24px 28px;
    border-radius: var(--ep-radius);
    border: 1px solid var(--ep-border);
    background: var(--ep-white);
}
.ep-claims-head {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-bottom: 16px;
    margin-bottom: 8px;
    border-bottom: 1px solid var(--ep-border);
}
.ep-claims-icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--ep-primary-light) 0%, #e8f3d9 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ep-primary);
}
.ep-claims-head-text { flex: 1 1 160px; }
.ep-claims-head-text h3 {
    font-size: 16px;
    font-weight: 700;
    margin: 0;
    line-height: 1.3;
}
.ep-claims-head-text p {
    font-size: 12px;
    color: var(--ep-text-light);
    margin: 3px 0 0 0;
    line-height: 1.5;
}
.ep-claims-count {
    flex-shrink: 0;
    font-size: 11px;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 20px;
    background: var(--ep-primary-light);
    color: var(--ep-primary-dark);
    white-space: nowrap;
}
.ep-claims-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    column-gap: 32px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.ep-claim {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 8px 0;
    font-size: 14px;
    line-height: 1.55;
    color: var(--ep-text);
}
.ep-claim strong { font-weight: 600; }
.ep-claim-check {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--ep-primary);
    display: flex;
}

.ep-claim-wide {
    grid-column: 1 / -1;
    border-top: 1px solid var(--ep-border);
    margin-top: 6px;
    padding-top: 12px;
}

.ep-claims-grid-single { grid-template-columns: 1fr; }

.ep-claims-groups {
    border: 1px solid var(--ep-border);
    border-radius: var(--ep-radius);
    background: var(--ep-white);
    overflow: hidden;
}
.ep-claims-groups-head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 24px;
    background: var(--ep-bg);
    border-bottom: 1px solid var(--ep-border);
}
.ep-claims-groups-head h3 {
    font-size: 15px;
    font-weight: 700;
    margin: 0;
    flex: 1;
}
.ep-claims-group {
    display: flex;
    gap: 16px;
    padding: 18px 24px;
    border-bottom: 1px solid var(--ep-border);
}
.ep-claims-group:last-of-type { border-bottom: none; }
.ep-claims-group-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--ep-primary-light) 0%, #e8f3d9 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ep-primary);
}
.ep-claims-group-body { flex: 1; }
.ep-claims-group-body h4 {
    font-size: 14px;
    font-weight: 700;
    margin: 0 0 6px 0;
}
.ep-claims-group-list {
    margin: 0;
    padding: 0;
    list-style: none;
}
.ep-claims-group-list li {
    position: relative;
    padding: 3px 0 3px 20px;
    font-size: 14px;
    line-height: 1.55;
    color: var(--ep-text);
}
.ep-claims-group-list li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 11px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--ep-primary);
}
.ep-claims-groups .ep-claims-note {
    margin: 0;
    padding: 14px 24px;
    border-top: 1px solid var(--ep-border);
}

.ep-herbs {
    border: 1px solid var(--ep-border);
    border-radius: var(--ep-radius);
    background: var(--ep-white);
    overflow: hidden;
}
.ep-herb {
    display: flex;
    gap: 20px;
    padding: 16px 24px;
    border-bottom: 1px solid var(--ep-border);
    transition: background var(--ep-transition);
}
.ep-herb:last-child { border-bottom: none; }
.ep-herb:hover { background: rgba(106,176,35,0.03); }
.ep-herb-name {
    flex: 0 1 190px;
    min-width: 140px;
    font-size: 14px;
    font-weight: 600;
    color: var(--ep-text);
    line-height: 1.4;
}
.ep-herb-name em {
    display: block;
    font-size: 12px;
    font-weight: 400;
    font-style: italic;
    color: var(--ep-text-light);
    margin-top: 1px;
}
.ep-herb-info { flex: 1; }
.ep-herb-info p {
    font-size: 13px;
    line-height: 1.6;
    color: var(--ep-text-light);
    margin: 0;
}
.ep-herb-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}
.ep-herb-tag {
    font-size: 11px;
    font-weight: 500;
    padding: 3px 10px;
    border-radius: 12px;
    background: var(--ep-primary-light);
    color: var(--ep-primary-dark);
}

.ep-benefit-map {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.ep-bmap-row {
    display: flex;
    gap: 16px;
    padding: 18px 24px;
    border-radius: var(--ep-radius-sm);
    border: 1px solid var(--ep-border);
    background: var(--ep-white);
    transition: all var(--ep-transition);
}
.ep-bmap-row:hover { border-color: rgba(106,176,35,0.3); }
.ep-bmap-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--ep-primary-light) 0%, #e8f3d9 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ep-primary);
}
.ep-bmap-body { flex: 1; }
.ep-bmap-body h4 {
    font-size: 14px;
    font-weight: 700;
    margin: 0 0 8px 0;
    line-height: 1.35;
}
.ep-bmap-herbs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 8px;
}
.ep-bmap-herbs:last-child { margin-bottom: 0; }
.ep-bmap-herb {
    font-size: 11px;
    font-weight: 500;
    padding: 3px 10px;
    border-radius: 12px;
    background: var(--ep-white);
    border: 1px solid var(--ep-border);
    color: var(--ep-text);
    line-height: 1.45;
}
.ep-bmap-body p {
    font-size: 13px;
    line-height: 1.6;
    color: var(--ep-text-light);
    margin: 0;
}

.ep-showmore { position: relative; }
.ep-showmore-body {
    max-height: var(--ep-showmore-h, 300px);
    overflow: hidden;
    position: relative;
    transition: max-height 0.35s ease;
}
.ep-showmore-body::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 64px;
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, var(--ep-white) 85%);
    pointer-events: none;
    opacity: 1;
    transition: opacity var(--ep-transition);
}
.ep-showmore.ep-open .ep-showmore-body { max-height: 9999px; }
.ep-showmore.ep-open .ep-showmore-body::after { opacity: 0; }
@supports (interpolate-size: allow-keywords) {
    .ep-showmore { interpolate-size: allow-keywords; }
    .ep-showmore.ep-open .ep-showmore-body { max-height: none; }
}
.ep-showmore-footer {
    display: flex;
    justify-content: center;
    margin-top: 16px;
}
.ep-showmore-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 11px 24px;
    border: 1px solid var(--ep-border);
    border-radius: 30px;
    background: var(--ep-white);
    font-family: var(--ep-font);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--ep-primary-dark);
    cursor: pointer;
    text-decoration: none;
    transition: all var(--ep-transition);
}
.ep-showmore-btn:hover {
    border-color: rgba(106,176,35,0.3);
    box-shadow: var(--ep-shadow-sm);
    transform: translateY(-1px);
}
.ep-showmore-btn svg { transition: transform var(--ep-transition); color: var(--ep-primary); }
.ep-showmore.ep-open .ep-showmore-btn svg { transform: rotate(180deg); }
.ep-showmore-btn .ep-showmore-less { display: none; }
.ep-showmore.ep-open .ep-showmore-btn .ep-showmore-more { display: none; }
.ep-showmore.ep-open .ep-showmore-btn .ep-showmore-less { display: inline; }

@media (max-width: 768px) {
    .ep-hero { padding: 28px 24px; }
    .ep-hero-title { font-size: 22px; }

    .ep-zigzag-row { flex-direction: column; text-align: center; }
    .ep-zigzag-img { width: 180px; margin: 0 auto; }

    .ep-benefits-premium { grid-template-columns: 1fr; }
    .ep-stats-premium { grid-template-columns: repeat(2, 1fr); }
    .ep-dosage-premium { grid-template-columns: 1fr; }
    .ep-combos-premium { grid-template-columns: 1fr; }
    .ep-reviews-premium { grid-template-columns: 1fr; }
    .ep-science-premium { grid-template-columns: 1fr; }
    .ep-packages-premium { grid-template-columns: 1fr; }

    .ep-spotlight-premium { flex-direction: column; text-align: center; }
    .ep-spotlight-visual { margin: 0 auto; }
    .ep-spotlight-facts { justify-content: center; }

    .ep-origin-premium { flex-direction: column; text-align: center; }
    .ep-origin-visual { margin: 0 auto; }

    .ep-expert-premium { flex-direction: column; text-align: center; }
    .ep-expert-photo { margin: 0 auto; }

    .ep-capsule-premium { flex-direction: column; text-align: center; }
    .ep-capsule-visual { margin: 0 auto; }

    .ep-highlight-premium { flex-direction: column; }
    .ep-warnings-premium { flex-direction: column; }
    .ep-notfor-premium { flex-direction: column; }
    .ep-storage-premium { flex-direction: column; text-align: center; }

    .ep-claims { padding: 20px; }
    .ep-claims-head { gap: 10px; }
    .ep-claims-icon { width: 36px; height: 36px; }
    .ep-claims-group, .ep-bmap-row { flex-direction: column; gap: 10px; }
    .ep-claims-group-icon, .ep-bmap-icon { width: 28px; height: 28px; }
    .ep-claims-group { padding: 16px 18px; }
    .ep-claims-groups-head { padding: 14px 18px; }
    .ep-benefit-map { grid-template-columns: 1fr; }
    .ep-herb { flex-direction: column; gap: 8px; padding: 14px 18px; }
    .ep-herb-name { flex-basis: auto; min-width: 0; }
    .ep-showmore-body { max-height: var(--ep-showmore-h-m, 430px); }
    .ep-showmore.ep-open .ep-showmore-body { max-height: 9999px; }
}

@media (max-width: 480px) {
    .ep-stats-premium { grid-template-columns: 1fr 1fr; gap: 10px; }
    .ep-stat-item { padding: 16px 12px; }
    .ep-stat-number,
    .ep-stat-value { font-size: 26px; }
    .ep-ritual-premium { gap: 6px; }
    .ep-ritual-step { min-width: 80px; padding: 12px 10px; }

    .ep-claims { padding: 16px; }
    .ep-claims-head {
        display: grid;
        grid-template-columns: 36px 1fr;
        gap: 6px 12px;
        align-items: center;
    }
    .ep-claims-head .ep-claims-count { grid-column: 2; justify-self: start; }
    .ep-claims-groups-head { flex-wrap: wrap; row-gap: 6px; padding: 12px 16px; }
    .ep-claims-groups-head h3 { flex: 1 1 100%; }
    .ep-claims-group { padding: 14px 16px; }
    .ep-herb { padding: 12px 16px; }
    .ep-bmap-row { gap: 12px; padding: 14px 16px; }
    .ep-bmap-icon { border-radius: 8px; }
}

span.ep-benefit-card-icon,
span.ep-benefit-icon { display: flex; }
span.ep-benefit-card-bg { display: block; }
span.ep-hero-badge { display: inline-flex; }
span.ep-hero-decoration { display: block; }
span.ep-warnings-icon { display: flex; }
span.ep-highlight-icon { display: flex; }
span.ep-expert-photo { display: flex; }
span.ep-spotlight-visual,
span.ep-capsule-visual,
span.ep-origin-visual { display: flex; }
span.ep-notfor-icon,
span.ep-storage-icon,
span.ep-science-icon,
span.ep-ritual-icon { display: flex; }
span.ep-claims-icon,
span.ep-claim-check,
span.ep-claims-note-icon,
span.ep-claims-group-icon,
span.ep-bmap-icon { display: flex; }

   U každého modulu je uveden vzorový M-modul.
   ================================================================ */

.ep-category {
    font-family: var(--ep-font);
    color: var(--ep-text);
    line-height: 1.65;
    font-size: 15px;
}
.ep-category *, .ep-category *::before, .ep-category *::after {
    box-sizing: border-box;
}

.ep-cat-hero {
    position: relative;
    padding: 44px 40px;
    background: linear-gradient(135deg, #f7faf2 0%, #eef5e4 50%, #f0f7e6 100%);
    border-radius: var(--ep-radius);
    overflow: hidden;
}
.ep-cat-hero::before {
    content: "";
    position: absolute;
    right: -60px; top: -60px;
    width: 280px; height: 280px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(106,176,35,0.08) 0%, transparent 70%);
}
.ep-cat-hero::after {
    content: "";
    position: absolute;
    left: -30px; bottom: -30px;
    width: 160px; height: 160px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(106,176,35,0.05) 0%, transparent 70%);
}
.ep-cat-hero-badge {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 11px; font-weight: 700; letter-spacing: 1.5px;
    text-transform: uppercase; color: var(--ep-primary-dark);
    background: rgba(106,176,35,0.12);
    padding: 5px 14px; border-radius: 20px; margin-bottom: 16px;
}
.ep-cat-hero-title {
    font-size: 26px; font-weight: 800; line-height: 1.2;
    margin: 0 0 14px 0; color: var(--ep-text);
    position: relative; z-index: 2;
}
.ep-cat-hero-lead {
    font-size: 15px; line-height: 1.7; color: var(--ep-text-light);
    max-width: 600px; margin: 0 0 20px 0;
    position: relative; z-index: 2;
}
.ep-cat-hero-lead strong { color: var(--ep-text); font-weight: 600; }
.ep-cat-hero-pills {
    display: flex; flex-wrap: wrap; gap: 8px;
    position: relative; z-index: 2;
}
.ep-cat-hero-pills .ep-pill { text-decoration: none; }

.ep-cat-navigator { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.ep-cat-nav-card {
    position: relative; display: flex; flex-direction: column;
    align-items: center; text-align: center;
    padding: 24px; border-radius: var(--ep-radius-sm);
    border: 1px solid var(--ep-border); background: var(--ep-white);
    text-decoration: none; color: inherit;
    transition: all var(--ep-transition); overflow: hidden;
}
.ep-cat-nav-card:hover {
    border-color: rgba(106,176,35,0.3);
    box-shadow: var(--ep-shadow-md); transform: translateY(-2px);
}
.ep-cat-nav-icon {
    width: 40px; height: 40px; flex-shrink: 0; border-radius: 10px;
    background: linear-gradient(135deg, var(--ep-primary-light) 0%, #e8f3d9 100%);
    display: flex; align-items: center; justify-content: center;
    color: var(--ep-primary); margin-bottom: 12px;
}
.ep-cat-nav-card h3 { font-size: 15px; font-weight: 700; margin: 0 0 4px 0; }
.ep-cat-nav-card p { font-size: 13px; color: var(--ep-text-light); margin: 0; line-height: 1.6; }

.ep-cat-choose { display: flex; gap: 0; }
.ep-cat-choose-step {
    flex: 1; text-align: center; padding: 20px 24px; position: relative;
    background: var(--ep-white); border: 1px solid var(--ep-border);
    border-radius: var(--ep-radius-sm); margin-right: -1px;
    transition: all var(--ep-transition);
}
.ep-cat-choose-step:first-child { border-radius: var(--ep-radius-sm) 0 0 var(--ep-radius-sm); }
.ep-cat-choose-step:last-child { border-radius: 0 var(--ep-radius-sm) var(--ep-radius-sm) 0; margin-right: 0; }
.ep-cat-choose-step:hover { border-color: rgba(106,176,35,0.3); }
.ep-cat-choose-num {
    display: inline-flex; align-items: center; justify-content: center;
    width: 36px; height: 36px; border-radius: 50%;
    background: var(--ep-primary); color: var(--ep-white);
    font-size: 16px; font-weight: 800; margin-bottom: 10px;
}
.ep-cat-choose-step h3 { font-size: 15px; font-weight: 600; margin: 0 0 4px 0; }
.ep-cat-choose-step p { font-size: 13px; color: var(--ep-text-light); margin: 0; line-height: 1.6; }
.ep-cat-choose-arrow {
    position: absolute; right: -12px; top: 50%; transform: translateY(-50%);
    z-index: 2; color: var(--ep-primary);
}

.ep-cat-subcategories { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.ep-cat-subcat-card {
    display: flex; gap: 14px; align-items: center; padding: 20px;
    border-radius: var(--ep-radius-sm); border: 1px solid var(--ep-border);
    background: var(--ep-white); text-decoration: none; color: inherit;
    transition: all var(--ep-transition);
}
.ep-cat-subcat-card:hover {
    border-color: rgba(106,176,35,0.3);
    box-shadow: var(--ep-shadow-md); transform: translateY(-2px);
}
.ep-cat-subcat-img {
    flex-shrink: 0; width: 64px; height: 64px;
    border-radius: var(--ep-radius-sm); object-fit: cover; background: var(--ep-bg);
}
.ep-cat-subcat-content { flex: 1; }
.ep-cat-subcat-content h3 { font-size: 14px; font-weight: 600; margin: 0 0 4px 0; }
.ep-cat-subcat-content p { font-size: 12px; color: var(--ep-text-light); margin: 0; line-height: 1.5; }
.ep-cat-subcat-count { font-size: 11px; font-weight: 600; color: var(--ep-primary-dark); margin-top: 4px; }

.ep-cat-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; padding: 20px 0; }
.ep-cat-trust-item {
    display: flex; align-items: center; gap: 8px;
    font-size: 13px; font-weight: 500; padding: 10px 18px;
    border-radius: 30px; background: var(--ep-bg);
    border: 1px solid var(--ep-border); transition: all var(--ep-transition);
}
.ep-cat-trust-item:hover {
    border-color: rgba(106,176,35,0.3);
    transform: translateY(-1px); box-shadow: var(--ep-shadow-sm);
}
.ep-cat-trust-item svg { color: var(--ep-primary); flex-shrink: 0; }

.ep-cat-featured { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.ep-cat-featured-card {
    padding: 24px; border-radius: var(--ep-radius-sm);
    border: 1px solid var(--ep-border); background: var(--ep-white);
    text-align: center; text-decoration: none; color: inherit;
    transition: all var(--ep-transition);
}
.ep-cat-featured-card:hover {
    border-color: rgba(106,176,35,0.3);
    box-shadow: var(--ep-shadow-md); transform: translateY(-2px);
}
.ep-cat-featured-img {
    width: 100%; max-width: 100px; height: auto; margin: 0 auto 12px; display: block;
    border-radius: var(--ep-radius-sm); background: var(--ep-white);
    padding: 8px; box-shadow: var(--ep-shadow-sm);
}
.ep-cat-featured-card h3 { font-size: 15px; font-weight: 700; margin: 0 0 4px 0; line-height: 1.3; }
.ep-cat-featured-card p { font-size: 13px; color: var(--ep-text-light); margin: 0 0 12px 0; line-height: 1.6; }
.ep-cat-featured-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 8px 20px; background: var(--ep-primary); color: var(--ep-white);
    border: none; border-radius: 30px; font-size: 13px; font-weight: 700;
    text-decoration: none; transition: all var(--ep-transition);
}
.ep-cat-featured-btn:hover { background: var(--ep-primary-dark); transform: translateY(-2px); box-shadow: var(--ep-shadow-md); }

.ep-cat-faq { border: 1px solid var(--ep-border); border-radius: var(--ep-radius); overflow: hidden; }
.ep-cat-faq-item { border-bottom: 1px solid var(--ep-border); }
.ep-cat-faq-item:last-child { border-bottom: none; }
.ep-cat-faq-question {
    display: flex; justify-content: space-between; align-items: center;
    font-size: 15px; font-weight: 600; margin: 0; padding: 18px 24px;
    cursor: pointer; transition: all var(--ep-transition);
}
.ep-cat-faq-question:hover { background: var(--ep-bg); color: var(--ep-primary-dark); }
.ep-cat-faq-toggle { flex-shrink: 0; transition: transform var(--ep-transition); color: var(--ep-primary); }
.ep-cat-faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.ep-cat-faq-answer p { padding: 0 24px 18px; font-size: 14px; color: var(--ep-text-light); line-height: 1.7; margin: 0; }
.ep-cat-faq-item.ep-open .ep-cat-faq-answer { max-height: 500px; }
.ep-cat-faq-item.ep-open .ep-cat-faq-toggle { transform: rotate(180deg); }

.ep-cat-ingredients { display: flex; flex-wrap: wrap; gap: 10px; padding: 16px 0; }
.ep-cat-ingredient-tag {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 12px; font-weight: 500; padding: 6px 14px;
    border-radius: 20px; background: var(--ep-primary-light);
    color: var(--ep-primary-dark); border: 1px solid rgba(106,176,35,0.2);
    text-decoration: none; transition: all var(--ep-transition);
}
.ep-cat-ingredient-tag:hover { background: rgba(106,176,35,0.18); transform: translateY(-1px); box-shadow: var(--ep-shadow-sm); }
.ep-cat-ingredient-tag svg { flex-shrink: 0; color: var(--ep-primary); }

.ep-cat-story {
    display: flex; gap: 28px; align-items: center; padding: 24px;
    background: var(--ep-bg); border-radius: var(--ep-radius);
    border: 1px solid var(--ep-border);
}
.ep-cat-story.ep-cat-story-reverse { flex-direction: row-reverse; }
.ep-cat-story-img { flex-shrink: 0; width: 240px; }
.ep-cat-story-img img {
    width: 100%; height: auto; border-radius: var(--ep-radius-sm);
    background: var(--ep-white); padding: 12px; box-shadow: var(--ep-shadow-sm);
}
.ep-cat-story-text { flex: 1; }
.ep-cat-story-label {
    font-size: 10px; font-weight: 700; letter-spacing: 2px;
    text-transform: uppercase; color: var(--ep-primary-dark); margin-bottom: 6px;
}
.ep-cat-story-text h3 { font-size: 17px; font-weight: 700; margin: 0 0 10px 0; color: var(--ep-text); }
.ep-cat-story-text p { font-size: 14px; line-height: 1.7; color: var(--ep-text-light); margin: 0 0 10px 0; }
.ep-cat-story-text p:last-child { margin-bottom: 0; }

.ep-cat-cta {
    text-align: center; padding: 36px 32px; border-radius: var(--ep-radius);
    background: linear-gradient(135deg, #f7faf2 0%, #eef5e4 50%, #f0f7e6 100%);
    border: 1px solid rgba(106,176,35,0.15);
}
.ep-cat-cta-eyebrow { font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--ep-primary-dark); margin-bottom: 8px; }
.ep-cat-cta-title { font-size: 22px; font-weight: 800; margin: 0 0 8px 0; }
.ep-cat-cta-text { font-size: 14px; color: var(--ep-text-light); margin: 0 0 20px 0; }
.ep-cat-cta-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 14px 32px; background: var(--ep-primary); color: var(--ep-white);
    border: none; border-radius: 30px; font-size: 15px; font-weight: 700;
    cursor: pointer; transition: all var(--ep-transition); text-decoration: none;
}
.ep-cat-cta-btn:hover { background: var(--ep-primary-dark); transform: translateY(-2px); box-shadow: var(--ep-shadow-md); }

.ep-cat-compare { overflow-x: auto; border: 1px solid var(--ep-border); border-radius: var(--ep-radius); }
.ep-cat-compare table { width: 100%; border-collapse: collapse; font-size: 14px; }
.ep-cat-compare th, .ep-cat-compare td { padding: 12px 16px; border-bottom: 1px solid var(--ep-border); text-align: center; }
.ep-cat-compare th { background: var(--ep-bg); font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px; }
.ep-cat-compare td:first-child { text-align: left; font-weight: 500; }
.ep-cat-compare tr:hover td { background: rgba(106,176,35,0.03); }
.ep-cat-compare-best { background: rgba(106,176,35,0.04); border-left: 2px solid var(--ep-primary); border-right: 2px solid var(--ep-primary); }

.ep-cat-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.ep-cat-stat {
    text-align: center; padding: 24px 16px; background: var(--ep-bg);
    border-radius: var(--ep-radius-sm); border: 1px solid var(--ep-border);
    transition: all var(--ep-transition);
}
.ep-cat-stat:hover { border-color: rgba(106,176,35,0.3); }
.ep-cat-stat-value { font-size: 32px; font-weight: 800; color: var(--ep-primary); line-height: 1; }
.ep-cat-stat-unit { font-size: 12px; font-weight: 600; color: var(--ep-text); margin-top: 6px; }
.ep-cat-stat-label { font-size: 11px; color: var(--ep-text-light); margin-top: 4px; }

.ep-cat-brand {
    display: flex; gap: 24px; align-items: center; padding: 28px;
    border-radius: var(--ep-radius); background: var(--ep-bg-warm);
    border: 1px solid var(--ep-border);
}
.ep-cat-brand-logo {
    flex-shrink: 0; width: 64px; height: 64px; border-radius: 50%;
    background: var(--ep-primary-light);
    display: flex; align-items: center; justify-content: center;
    color: var(--ep-primary); overflow: hidden;
}
.ep-cat-brand-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.ep-cat-brand-content { flex: 1; }
.ep-cat-brand-label { font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--ep-primary-dark); margin-bottom: 6px; }
.ep-cat-brand-content h3 { font-size: 16px; font-weight: 700; margin: 0 0 8px 0; }
.ep-cat-brand-content p { font-size: 14px; color: var(--ep-text-light); line-height: 1.7; margin: 0; }

.ep-cat-scenarios { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.ep-cat-scenario {
    display: flex; flex-direction: column; align-items: center; text-align: center;
    padding: 24px; border-radius: var(--ep-radius-sm);
    border: 1px solid var(--ep-border); background: var(--ep-white);
    text-decoration: none; color: inherit; transition: all var(--ep-transition);
}
.ep-cat-scenario:hover { border-color: rgba(106,176,35,0.3); box-shadow: var(--ep-shadow-md); transform: translateY(-2px); }
.ep-cat-scenario-icon {
    width: 40px; height: 40px; border-radius: 10px;
    background: linear-gradient(135deg, var(--ep-primary-light) 0%, #e8f3d9 100%);
    display: flex; align-items: center; justify-content: center;
    color: var(--ep-primary); margin-bottom: 10px;
}
.ep-cat-scenario h3 { font-size: 15px; font-weight: 700; margin: 0 0 4px 0; }
.ep-cat-scenario p { font-size: 13px; color: var(--ep-text-light); margin: 0; line-height: 1.6; }

.ep-cat-ingredients-deep { border: 1px solid var(--ep-border); border-radius: var(--ep-radius); overflow: hidden; }
.ep-cat-ingr-item { border-bottom: 1px solid var(--ep-border); }
.ep-cat-ingr-item:last-child { border-bottom: none; }
.ep-cat-ingr-header {
    display: flex; align-items: center; gap: 12px; padding: 16px 20px;
    cursor: pointer; transition: background var(--ep-transition); font-size: 14px;
}
.ep-cat-ingr-header:hover { background: var(--ep-bg); }
.ep-cat-ingr-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; background: var(--ep-primary); }
.ep-cat-ingr-toggle { flex-shrink: 0; margin-left: auto; transition: transform var(--ep-transition); color: var(--ep-primary); }
.ep-cat-ingr-body { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.ep-cat-ingr-body-inner { padding: 0 20px 16px 42px; }
.ep-cat-ingr-body p { font-size: 13px; color: var(--ep-text-light); line-height: 1.7; margin: 0 0 8px 0; }
.ep-cat-ingr-body p:last-child { margin-bottom: 0; }
.ep-cat-ingr-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.ep-cat-ingr-tag { font-size: 11px; font-weight: 500; padding: 3px 10px; border-radius: 12px; background: var(--ep-primary-light); color: var(--ep-primary-dark); }
.ep-cat-ingr-item.ep-open .ep-cat-ingr-body { max-height: 400px; }
.ep-cat-ingr-item.ep-open .ep-cat-ingr-toggle { transform: rotate(180deg); }

.ep-cat-seasonal {
    display: flex; gap: 16px; padding: 24px 28px;
    border-radius: var(--ep-radius);
    background: linear-gradient(135deg, #f7faf2 0%, #eef5e4 100%);
    border: 1px solid rgba(106,176,35,0.15);
}
.ep-cat-seasonal--summer, .ep-cat-seasonal--autumn {
    background: linear-gradient(135deg, #FFFCF5 0%, #FFF8EC 100%); border-color: #F0E4C8;
}
.ep-cat-seasonal--winter {
    background: linear-gradient(135deg, #F5F8FC 0%, #EBF0F7 100%); border-color: #D4DEE8;
}
.ep-cat-seasonal-icon {
    flex-shrink: 0; width: 44px; height: 44px;
    background: rgba(106,176,35,0.12); border-radius: 12px;
    display: flex; align-items: center; justify-content: center; color: var(--ep-primary);
}
.ep-cat-seasonal--summer .ep-cat-seasonal-icon, .ep-cat-seasonal--autumn .ep-cat-seasonal-icon { background: rgba(212,160,23,0.12); color: #D4A017; }
.ep-cat-seasonal-content { flex: 1; }
.ep-cat-seasonal-content h3 { font-size: 16px; font-weight: 700; margin: 0 0 8px 0; }
.ep-cat-seasonal-content p { font-size: 14px; color: var(--ep-text-light); line-height: 1.7; margin: 0; }

.ep-cat-video { border-radius: var(--ep-radius); overflow: hidden; border: 1px solid var(--ep-border); }
.ep-cat-video-container { position: relative; padding-bottom: 56.25%; height: 0; }
.ep-cat-video-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }
.ep-cat-video-label { padding: 12px 16px; font-size: 13px; color: var(--ep-text-light); background: var(--ep-bg); }

.ep-cat-reviews { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.ep-cat-review { padding: 24px; border-radius: var(--ep-radius-sm); border: 1px solid var(--ep-border); background: var(--ep-white); }
.ep-cat-review-stars { color: #F5A623; font-size: 14px; margin-bottom: 10px; }
.ep-cat-review-text { font-size: 14px; color: var(--ep-text-light); line-height: 1.6; font-style: italic; margin: 0 0 12px 0; }
.ep-cat-review-footer { display: flex; justify-content: space-between; align-items: center; }
.ep-cat-review-author { font-size: 12px; font-weight: 600; color: var(--ep-text); }
.ep-cat-review-product { font-size: 11px; color: var(--ep-primary-dark); font-weight: 500; }

.ep-cat-certs { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.ep-cat-cert {
    display: flex; align-items: flex-start; gap: 12px; padding: 20px;
    border-radius: var(--ep-radius-sm); border: 1px solid var(--ep-border); background: var(--ep-white);
}
.ep-cat-cert-icon {
    flex-shrink: 0; width: 36px; height: 36px; border-radius: 8px;
    background: var(--ep-primary-light);
    display: flex; align-items: center; justify-content: center; color: var(--ep-primary);
}
.ep-cat-cert h3 { font-size: 14px; font-weight: 600; margin: 0 0 6px 0; }
.ep-cat-cert p { font-size: 12px; color: var(--ep-text-light); margin: 0; line-height: 1.5; }

.ep-cat-glossary { border: 1px solid var(--ep-border); border-radius: var(--ep-radius); overflow: hidden; }
.ep-cat-glossary-item { padding: 16px 24px; border-bottom: 1px solid var(--ep-border); }
.ep-cat-glossary-item:last-child { border-bottom: none; }
.ep-cat-glossary-term { font-size: 14px; font-weight: 600; color: var(--ep-primary-dark); margin: 0 0 4px 0; }
.ep-cat-glossary-def { font-size: 13px; color: var(--ep-text-light); margin: 0; line-height: 1.6; }

.ep-cat-crosslinks { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.ep-cat-crosslink {
    display: flex; align-items: center; gap: 14px; padding: 20px;
    border-radius: var(--ep-radius-sm); border: 1px solid var(--ep-border);
    background: var(--ep-white); text-decoration: none; color: inherit;
    transition: all var(--ep-transition);
}
.ep-cat-crosslink:hover { border-color: rgba(106,176,35,0.3); box-shadow: var(--ep-shadow-md); transform: translateY(-2px); }
.ep-cat-crosslink-icon {
    flex-shrink: 0; width: 40px; height: 40px; border-radius: 10px;
    background: linear-gradient(135deg, var(--ep-primary-light) 0%, #e8f3d9 100%);
    display: flex; align-items: center; justify-content: center; color: var(--ep-primary);
}
.ep-cat-crosslink-text { flex: 1; }
.ep-cat-crosslink-text h3 { font-size: 14px; font-weight: 600; margin: 0 0 4px 0; }
.ep-cat-crosslink-text p { font-size: 12px; color: var(--ep-text-light); margin: 0; line-height: 1.5; }
.ep-cat-crosslink-arrow { flex-shrink: 0; color: var(--ep-primary); transition: transform var(--ep-transition); }
.ep-cat-crosslink:hover .ep-cat-crosslink-arrow { transform: translateX(3px); }

.ep-cat-newsletter {
    text-align: center; padding: 36px 32px;
    border-radius: var(--ep-radius); background: var(--ep-bg-warm);
    border: 1px solid var(--ep-border);
}
.ep-cat-newsletter-icon {
    width: 44px; height: 44px; margin: 0 auto 14px; border-radius: 12px;
    background: rgba(106,176,35,0.12);
    display: flex; align-items: center; justify-content: center; color: var(--ep-primary);
}
.ep-cat-newsletter h3 { font-size: 16px; font-weight: 700; margin: 0 0 8px 0; }
.ep-cat-newsletter p { font-size: 14px; color: var(--ep-text-light); margin: 0 0 20px 0; }
.ep-cat-newsletter-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 14px 32px; background: var(--ep-primary); color: var(--ep-white);
    border: none; border-radius: 30px; font-size: 15px; font-weight: 700;
    cursor: pointer; transition: all var(--ep-transition); text-decoration: none;
}
.ep-cat-newsletter-btn:hover { background: var(--ep-primary-dark); transform: translateY(-2px); box-shadow: var(--ep-shadow-md); }

@media (max-width: 768px) {
    .ep-cat-hero { padding: 28px 24px; }
    .ep-cat-hero-title { font-size: 22px; }
    .ep-cat-navigator { grid-template-columns: repeat(2,1fr); }
    .ep-cat-subcategories { grid-template-columns: 1fr; }
    .ep-cat-featured { grid-template-columns: repeat(2,1fr); }
    .ep-cat-scenarios { grid-template-columns: 1fr; }
    .ep-cat-reviews { grid-template-columns: 1fr; }
    .ep-cat-certs { grid-template-columns: 1fr; }
    .ep-cat-crosslinks { grid-template-columns: 1fr; }
    .ep-cat-stats { grid-template-columns: repeat(2,1fr); }
    .ep-cat-choose { flex-direction: column; gap: 12px; }
    .ep-cat-choose-step { border-radius: var(--ep-radius-sm) !important; margin-right: 0; }
    .ep-cat-choose-arrow { display: none; }
    .ep-cat-story { flex-direction: column; text-align: center; }
    .ep-cat-story.ep-cat-story-reverse { flex-direction: column; }
    .ep-cat-story-img { width: 180px; margin: 0 auto; }
    .ep-cat-brand { flex-direction: column; text-align: center; }
    .ep-cat-brand-logo { margin: 0 auto; }
    .ep-cat-seasonal { flex-direction: column; }
}
@media (max-width: 480px) {
    .ep-cat-navigator { grid-template-columns: 1fr; }
    .ep-cat-featured { grid-template-columns: 1fr; }
    .ep-cat-stats { grid-template-columns: 1fr 1fr; gap: 10px; }
    .ep-cat-stat { padding: 16px 12px; }
    .ep-cat-stat-value { font-size: 26px; }
}

.ep-article {
    font-family: var(--ep-font);
    color: var(--ep-text);
    line-height: 1.75;
    font-size: 15px;
    max-width: 720px;
    margin-left: auto; margin-right: auto;
}
.ep-article *, .ep-article *::before, .ep-article *::after { box-sizing: border-box; }

.ep-blog-header { margin-bottom: 28px; padding-bottom: 20px; border-bottom: 1px solid var(--ep-border); }
.ep-blog-header-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 14px; }
.ep-blog-category {
    font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
    color: var(--ep-primary-dark); background: rgba(106,176,35,0.12);
    padding: 5px 14px; border-radius: 20px; text-decoration: none;
}
.ep-blog-date, .ep-blog-readtime { font-size: 13px; color: var(--ep-text-light); }
.ep-blog-dot { width: 3px; height: 3px; border-radius: 50%; background: var(--ep-border); }
.ep-blog-header h1 { font-size: 26px; font-weight: 800; line-height: 1.2; margin: 0 0 10px 0; color: var(--ep-text); }
.ep-blog-header-subtitle { font-size: 15px; color: var(--ep-text-light); margin: 0; line-height: 1.7; }

.ep-blog-toc {
    padding: 20px 24px; border-radius: var(--ep-radius-sm);
    background: var(--ep-bg); border: 1px solid var(--ep-border);
    border-left: 3px solid var(--ep-primary); margin-bottom: 28px;
}
.ep-blog-toc-title { font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--ep-primary-dark); margin: 0 0 10px 0; }
.ep-blog-toc-list { list-style: none; margin: 0; padding: 0; }
.ep-blog-toc-list li { margin-bottom: 6px; }
.ep-blog-toc-list a { font-size: 14px; color: var(--ep-text-light); text-decoration: none; transition: color var(--ep-transition); }
.ep-blog-toc-list a:hover { color: var(--ep-primary-dark); }
.ep-blog-toc-list .ep-blog-toc-sub { padding-left: 18px; margin-top: 6px; }

.ep-blog-lead { font-size: 16px; line-height: 1.7; color: var(--ep-text); font-weight: 400; margin: 0 0 28px 0; }
.ep-blog-lead strong { font-weight: 600; }

.ep-blog-body h2 { font-size: 20px; font-weight: 700; margin: 36px 0 14px 0; color: var(--ep-text); line-height: 1.3; }
.ep-blog-body h3 { font-size: 17px; font-weight: 700; margin: 28px 0 10px 0; color: var(--ep-text); line-height: 1.3; }
.ep-blog-body h4 { font-size: 15px; font-weight: 700; margin: 20px 0 8px 0; color: var(--ep-text); }
.ep-blog-body p { font-size: 15px; line-height: 1.75; color: var(--ep-text); margin: 0 0 16px 0; }
.ep-blog-body a { color: var(--ep-primary-dark); text-decoration: underline; text-decoration-color: rgba(106,176,35,0.3); text-underline-offset: 3px; transition: text-decoration-color var(--ep-transition); }
.ep-blog-body a:hover { text-decoration-color: var(--ep-primary); }
.ep-blog-body ul, .ep-blog-body ol { margin: 0 0 16px 0; padding-left: 20px; }
.ep-blog-body li { font-size: 15px; line-height: 1.65; margin-bottom: 4px; color: var(--ep-text); }
.ep-blog-body ul li::marker { color: var(--ep-primary); }
.ep-blog-body strong { font-weight: 600; }
.ep-blog-body hr { border: none; height: 1px; background: var(--ep-border); margin: 28px 0; }

.ep-blog-figure { margin: 28px 0; }
.ep-blog-figure img { width: 100%; height: auto; border-radius: var(--ep-radius-sm); box-shadow: var(--ep-shadow-sm); display: block; }
.ep-blog-figcaption { font-size: 12px; color: var(--ep-text-light); font-style: italic; text-align: center; margin-top: 8px; line-height: 1.5; }

.ep-blog-callout { display: flex; gap: 16px; padding: 24px 28px; border-radius: var(--ep-radius); margin: 24px 0; }
.ep-blog-callout-icon { flex-shrink: 0; width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; }
.ep-blog-callout-content { flex: 1; }
.ep-blog-callout-content h4 { font-size: 15px; font-weight: 700; margin: 0 0 8px 0; }
.ep-blog-callout-content p { font-size: 14px; color: var(--ep-text-light); line-height: 1.7; margin: 0; }
.ep-blog-callout--tip { background: linear-gradient(135deg, #f7faf2 0%, #eef5e4 100%); border: 1px solid rgba(106,176,35,0.15); }
.ep-blog-callout--tip .ep-blog-callout-icon { background: rgba(106,176,35,0.12); color: var(--ep-primary); }
.ep-blog-callout--info { background: linear-gradient(135deg, #F5F8FC 0%, #EBF0F7 100%); border: 1px solid #D4DEE8; }
.ep-blog-callout--info .ep-blog-callout-icon { background: rgba(52,152,219,0.12); color: #2980B9; }
.ep-blog-callout--warning { background: linear-gradient(135deg, #FFFCF5 0%, #FFF8EC 100%); border: 1px solid #F0E4C8; }
.ep-blog-callout--warning .ep-blog-callout-icon { background: rgba(212,160,23,0.12); color: #D4A017; }

.ep-blog-quote { position: relative; padding: 20px 24px 20px 28px; margin: 28px 0; border-left: 4px solid var(--ep-primary); background: var(--ep-bg); border-radius: 0 var(--ep-radius-sm) var(--ep-radius-sm) 0; }
.ep-blog-quote p { font-size: 15px; font-style: italic; line-height: 1.7; color: var(--ep-text); margin: 0; }
.ep-blog-quote-author { font-size: 12px; font-weight: 600; color: var(--ep-text-light); margin-top: 8px; font-style: normal; }

.ep-blog-product {
    display: flex; gap: 14px; align-items: center; padding: 20px; margin: 24px 0;
    border-radius: var(--ep-radius-sm); border: 1px solid var(--ep-border);
    background: var(--ep-white); transition: all var(--ep-transition);
}
.ep-blog-product:hover { border-color: rgba(106,176,35,0.3); box-shadow: var(--ep-shadow-md); transform: translateY(-2px); }
.ep-blog-product-img { flex-shrink: 0; width: 64px; height: 64px; border-radius: var(--ep-radius-sm); object-fit: cover; background: var(--ep-white); padding: 6px; box-shadow: var(--ep-shadow-sm); }
.ep-blog-product-info { flex: 1; }
.ep-blog-product-label { font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--ep-primary-dark); margin-bottom: 2px; }
.ep-blog-product-info h4 { font-size: 14px; font-weight: 600; margin: 0 0 4px 0; }
.ep-blog-product-info p { font-size: 12px; color: var(--ep-text-light); margin: 0; line-height: 1.5; }
.ep-blog-product-btn {
    flex-shrink: 0; display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 20px; background: var(--ep-primary); color: var(--ep-white);
    border: none; border-radius: 30px; font-size: 13px; font-weight: 700;
    text-decoration: none; transition: all var(--ep-transition);
}
.ep-blog-product-btn:hover { background: var(--ep-primary-dark); transform: translateY(-2px); box-shadow: var(--ep-shadow-md); }

.ep-blog-takeaways { padding: 24px 28px; margin: 28px 0; border-radius: var(--ep-radius); background: linear-gradient(135deg, #f7faf2 0%, #eef5e4 100%); border: 1px solid rgba(106,176,35,0.15); }
.ep-blog-takeaways-title { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; margin: 0 0 10px 0; color: var(--ep-text); }
.ep-blog-takeaways-title svg { color: var(--ep-primary); }
.ep-blog-takeaways-list { margin: 0; padding-left: 18px; }
.ep-blog-takeaways-list li { font-size: 13px; line-height: 1.6; color: var(--ep-text); margin-bottom: 4px; }
.ep-blog-takeaways-list li::marker { color: var(--ep-primary); }

.ep-blog-author { display: flex; gap: 20px; align-items: center; padding: 28px; margin: 28px 0; border-radius: var(--ep-radius); background: var(--ep-bg-warm); border: 1px solid var(--ep-border); }
.ep-blog-author-avatar { flex-shrink: 0; width: 56px; height: 56px; border-radius: 50%; background: linear-gradient(135deg, var(--ep-primary-light), #e8f3d9); display: flex; align-items: center; justify-content: center; color: var(--ep-primary); overflow: hidden; }
.ep-blog-author-avatar img { width: 100%; height: 100%; object-fit: cover; }
.ep-blog-author-info { flex: 1; }
.ep-blog-author-label { font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--ep-primary-dark); margin-bottom: 8px; }
.ep-blog-author-info h4 { font-size: 15px; font-weight: 700; margin: 0 0 4px 0; }
.ep-blog-author-info p { font-size: 14px; color: var(--ep-text-light); margin: 0; line-height: 1.7; }

.ep-blog-related { margin: 28px 0; }
.ep-blog-related-title { font-size: 11px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--ep-primary-dark); margin: 0 0 14px 0; }
.ep-blog-related-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.ep-blog-related-card { border-radius: var(--ep-radius-sm); border: 1px solid var(--ep-border); background: var(--ep-white); overflow: hidden; text-decoration: none; color: inherit; transition: all var(--ep-transition); }
.ep-blog-related-card:hover { border-color: rgba(106,176,35,0.3); box-shadow: var(--ep-shadow-md); transform: translateY(-2px); }
.ep-blog-related-img { width: 100%; height: 120px; object-fit: cover; display: block; }
.ep-blog-related-body { padding: 14px 16px; }
.ep-blog-related-body h3 { font-size: 14px; font-weight: 600; margin: 0 0 4px 0; line-height: 1.3; }
.ep-blog-related-body p { font-size: 12px; color: var(--ep-text-light); margin: 0; line-height: 1.5; }
.ep-blog-related-date { font-size: 11px; color: #999; margin-top: 6px; }

.ep-blog-sources { padding: 20px 24px; margin: 28px 0; border-radius: var(--ep-radius-sm); background: var(--ep-bg); border: 1px solid var(--ep-border); }
.ep-blog-sources-title { font-size: 11px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--ep-primary-dark); margin: 0 0 10px 0; }
.ep-blog-sources-list { margin: 0; padding: 0; list-style: none; counter-reset: source; }
.ep-blog-sources-list li { counter-increment: source; font-size: 13px; color: var(--ep-text-light); line-height: 1.7; padding: 4px 0 4px 28px; position: relative; }
.ep-blog-sources-list li::before { content: "[" counter(source) "]"; position: absolute; left: 0; font-size: 11px; font-weight: 600; color: var(--ep-primary-dark); }
.ep-blog-sources-list a { color: var(--ep-primary-dark); text-decoration: underline; text-decoration-color: rgba(106,176,35,0.3); }
.ep-blog-sources-list a:hover { text-decoration-color: var(--ep-primary); }

.ep-blog-steps { display: flex; flex-direction: column; gap: 16px; margin: 24px 0; }
.ep-blog-step { display: flex; align-items: flex-start; gap: 16px; padding: 20px 24px; border-radius: var(--ep-radius-sm); background: var(--ep-white); border: 1px solid var(--ep-border); transition: all var(--ep-transition); }
.ep-blog-step:hover { border-color: rgba(106,176,35,0.3); }
.ep-blog-step-num { flex-shrink: 0; width: 36px; height: 36px; border-radius: 50%; background: var(--ep-primary); color: var(--ep-white); font-size: 16px; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.ep-blog-step-content { flex: 1; }
.ep-blog-step-content h3 { font-size: 15px; font-weight: 600; margin: 0 0 4px 0; }
.ep-blog-step-content p { font-size: 13px; color: var(--ep-text-light); margin: 0; line-height: 1.6; }

.ep-blog-compare { margin: 24px 0; overflow-x: auto; border: 1px solid var(--ep-border); border-radius: var(--ep-radius); }
.ep-blog-compare table { width: 100%; border-collapse: collapse; font-size: 14px; }
.ep-blog-compare th, .ep-blog-compare td { padding: 12px 16px; border-bottom: 1px solid var(--ep-border); text-align: center; }
.ep-blog-compare th { background: var(--ep-bg); font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px; }
.ep-blog-compare td:first-child { text-align: left; font-weight: 500; }
.ep-blog-compare tr:hover td { background: rgba(106,176,35,0.03); }
.ep-blog-compare-note { font-size: 11px; color: #999; font-style: italic; margin-top: 8px; }

.ep-blog-spotlight { display: flex; gap: 32px; align-items: flex-start; padding: 32px; margin: 24px 0; background: linear-gradient(135deg, #FAFAF8 0%, #F5F3ED 100%); border-radius: var(--ep-radius); }
.ep-blog-spotlight-visual { flex-shrink: 0; width: 80px; height: 80px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--ep-primary-light), #e8f3d9); border-radius: 50%; color: var(--ep-primary); }
.ep-blog-spotlight-content { flex: 1; }
.ep-blog-spotlight-label { font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--ep-primary-dark); margin-bottom: 6px; }
.ep-blog-spotlight-content h3 { font-size: 18px; font-weight: 700; margin: 0 0 10px 0; }
.ep-blog-spotlight-content p { font-size: 14px; color: var(--ep-text-light); line-height: 1.7; margin: 0 0 12px 0; }
.ep-blog-spotlight-content p:last-child { margin-bottom: 0; }
.ep-blog-spotlight-facts { display: flex; flex-wrap: wrap; gap: 8px; }
.ep-blog-spotlight-fact { font-size: 13px; padding: 8px 14px; background: var(--ep-white); border-radius: var(--ep-radius-sm); border-left: 3px solid var(--ep-primary); }

.ep-blog-numlist { margin: 24px 0; }
.ep-blog-numlist-item { display: flex; align-items: flex-start; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--ep-border); }
.ep-blog-numlist-item:last-child { border-bottom: none; }
.ep-blog-numlist-num { flex-shrink: 0; width: 32px; height: 32px; border-radius: 50%; background: var(--ep-primary-light); color: var(--ep-primary-dark); font-size: 14px; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.ep-blog-numlist-content { flex: 1; }
.ep-blog-numlist-content h4 { font-size: 15px; font-weight: 600; margin: 0 0 4px 0; }
.ep-blog-numlist-content p { font-size: 13px; color: var(--ep-text-light); margin: 0; line-height: 1.6; }

.ep-blog-beforeafter { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 24px 0; border-radius: var(--ep-radius-sm); overflow: hidden; border: 1px solid var(--ep-border); }
.ep-blog-before, .ep-blog-after { padding: 24px; }
.ep-blog-before { background: #FFF5F5; border-right: 1px solid var(--ep-border); }
.ep-blog-after { background: linear-gradient(135deg, #f7faf2 0%, #eef5e4 100%); }
.ep-blog-before-label, .ep-blog-after-label { font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 10px; }
.ep-blog-before-label { color: #C62828; }
.ep-blog-after-label { color: var(--ep-primary-dark); }
.ep-blog-before ul, .ep-blog-after ul { margin: 0; padding-left: 18px; }
.ep-blog-before li, .ep-blog-after li { font-size: 13px; color: var(--ep-text-light); margin-bottom: 4px; line-height: 1.5; }
.ep-blog-before li::marker { color: #E57373; }
.ep-blog-after li::marker { color: var(--ep-primary); }

.ep-blog-timeline { position: relative; padding-left: 28px; margin: 24px 0; }
.ep-blog-timeline::before { content: ""; position: absolute; left: 8px; top: 0; bottom: 0; width: 2px; background: var(--ep-border); }
.ep-blog-timeline-item { position: relative; padding-bottom: 24px; }
.ep-blog-timeline-item:last-child { padding-bottom: 0; }
.ep-blog-timeline-dot { position: absolute; left: -24px; top: 4px; width: 14px; height: 14px; border-radius: 50%; background: var(--ep-primary); border: 3px solid var(--ep-white); box-shadow: var(--ep-shadow-sm); }
.ep-blog-timeline-period { font-size: 12px; font-weight: 700; color: var(--ep-primary-dark); margin-bottom: 4px; }
.ep-blog-timeline-item h3 { font-size: 15px; font-weight: 600; margin: 0 0 4px 0; }
.ep-blog-timeline-item p { font-size: 14px; color: var(--ep-text-light); margin: 0; line-height: 1.6; }

.ep-blog-chart { margin: 24px 0; padding: 20px 24px; border-radius: var(--ep-radius-sm); background: var(--ep-bg); border: 1px solid var(--ep-border); }
.ep-blog-chart-title { font-size: 15px; font-weight: 700; margin: 0 0 14px 0; }
.ep-blog-chart-bar { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.ep-blog-chart-label { font-size: 13px; font-weight: 500; min-width: 120px; text-align: right; color: var(--ep-text); }
.ep-blog-chart-track { flex: 1; height: 20px; background: var(--ep-white); border-radius: 10px; overflow: hidden; border: 1px solid var(--ep-border); }
.ep-blog-chart-fill { height: 100%; background: linear-gradient(90deg, var(--ep-primary-light), var(--ep-primary)); border-radius: 10px; transition: width 0.6s ease; }
.ep-blog-chart-value { font-size: 12px; font-weight: 700; color: var(--ep-primary-dark); min-width: 40px; }

.ep-blog-recipe { padding: 24px; margin: 24px 0; border-radius: var(--ep-radius-sm); border: 1px solid var(--ep-border); background: var(--ep-white); }
.ep-blog-recipe-header { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--ep-border); }
.ep-blog-recipe-icon { width: 40px; height: 40px; border-radius: 10px; background: linear-gradient(135deg, var(--ep-primary-light) 0%, #e8f3d9 100%); display: flex; align-items: center; justify-content: center; color: var(--ep-primary); }
.ep-blog-recipe-header h3 { font-size: 17px; font-weight: 700; margin: 0; }
.ep-blog-recipe-meta { display: flex; gap: 20px; margin-bottom: 14px; }
.ep-blog-recipe-meta-item { font-size: 12px; color: var(--ep-text-light); }
.ep-blog-recipe-meta-item strong { color: var(--ep-text); font-weight: 600; }
.ep-blog-recipe-section h4 { font-size: 11px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--ep-primary-dark); margin: 0 0 8px 0; }
.ep-blog-recipe-ingredients { margin: 0 0 14px 0; padding-left: 18px; }
.ep-blog-recipe-ingredients li { font-size: 13px; color: var(--ep-text-light); margin-bottom: 4px; line-height: 1.5; }
.ep-blog-recipe-ingredients li::marker { color: var(--ep-primary); }
.ep-blog-recipe-steps { margin: 0; padding-left: 18px; }
.ep-blog-recipe-steps li { font-size: 13px; color: var(--ep-text); margin-bottom: 6px; line-height: 1.6; }
.ep-blog-recipe-tip { margin-top: 14px; padding: 12px 16px; border-radius: var(--ep-radius-sm); background: var(--ep-primary-light); font-size: 13px; color: var(--ep-primary-dark); line-height: 1.6; }

.ep-blog-expert { display: flex; gap: 20px; padding: 28px; margin: 24px 0; border-radius: var(--ep-radius); background: var(--ep-bg-warm); border: 1px solid var(--ep-border); }
.ep-blog-expert-avatar { flex-shrink: 0; width: 56px; height: 56px; border-radius: 50%; background: linear-gradient(135deg, var(--ep-primary-light), #e8f3d9); display: flex; align-items: center; justify-content: center; color: var(--ep-primary); overflow: hidden; }
.ep-blog-expert-avatar img { width: 100%; height: 100%; object-fit: cover; }
.ep-blog-expert-content { flex: 1; }
.ep-blog-expert-meta { font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--ep-primary-dark); margin-bottom: 8px; }
.ep-blog-expert-text { font-size: 14px; color: var(--ep-text-light); line-height: 1.7; margin: 0 0 8px 0; font-style: italic; }
.ep-blog-expert-name { font-size: 13px; font-weight: 600; color: var(--ep-text); }
.ep-blog-expert-title { font-size: 12px; color: var(--ep-text-light); }

.ep-blog-topbar { position: sticky; top: 0; z-index: 100; background: var(--ep-white); border-bottom: 1px solid var(--ep-border); padding: 10px 20px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ep-blog-topbar-tags { display: flex; gap: 6px; flex-wrap: wrap; }
.ep-blog-topbar-tag { font-size: 11px; font-weight: 500; padding: 3px 10px; border-radius: 12px; background: var(--ep-primary-light); color: var(--ep-primary-dark); text-decoration: none; transition: all var(--ep-transition); }
.ep-blog-topbar-tag:hover { background: rgba(106,176,35,0.18); }
.ep-blog-progress-bar { position: absolute; bottom: 0; left: 0; height: 2px; background: var(--ep-primary); transition: width 0.15s linear; width: 0%; }

@media (max-width: 768px) {
    .ep-article { padding: 0 16px; }
    .ep-blog-header h1 { font-size: 22px; }
    .ep-blog-body h2 { font-size: 18px; }
    .ep-blog-body h3 { font-size: 15px; }
    .ep-blog-related-grid { grid-template-columns: 1fr; }
    .ep-blog-spotlight { flex-direction: column; text-align: center; }
    .ep-blog-spotlight-visual { margin: 0 auto; }
    .ep-blog-spotlight-facts { justify-content: center; }
    .ep-blog-expert { flex-direction: column; text-align: center; }
    .ep-blog-expert-avatar { margin: 0 auto; }
    .ep-blog-author { flex-direction: column; text-align: center; }
    .ep-blog-author-avatar { margin: 0 auto; }
    .ep-blog-beforeafter { grid-template-columns: 1fr; }
    .ep-blog-before { border-right: none; border-bottom: 1px solid var(--ep-border); }
    .ep-blog-product { flex-direction: column; text-align: center; }
    .ep-blog-callout { flex-direction: column; }
}
@media (max-width: 480px) {
    .ep-blog-header h1 { font-size: 20px; }
    .ep-blog-header-meta { gap: 8px; }
    .ep-blog-recipe-meta { flex-direction: column; gap: 6px; }
}

span.ep-cat-nav-icon, span.ep-cat-choose-num, span.ep-cat-scenario-icon,
span.ep-cat-cert-icon, span.ep-cat-crosslink-icon, span.ep-cat-newsletter-icon,
span.ep-cat-brand-logo, span.ep-cat-seasonal-icon, span.ep-cat-ingr-dot { display: flex; }

span.ep-blog-callout-icon, span.ep-blog-spotlight-visual,
span.ep-blog-expert-avatar, span.ep-blog-author-avatar,
span.ep-blog-recipe-icon, span.ep-blog-step-num,
span.ep-blog-numlist-num, span.ep-blog-product-img { display: flex; }

.products-block .product .star { width: 16px; height: 16px; }
.products-block .product .star::before { font-size: 16px; }

.products-block .product .stars-placeholder { display: none; }

@media (max-width: 767px) {

    .products-block .product:not(.sai-ProductBox) .star { width: 18px; height: 18px; }
    .products-block .product:not(.sai-ProductBox) .star::before { font-size: 18px; }

    .columns-mobile-2 .products-block.products > div:not(.sai-ProductBox) {
        padding: 12px 8px;
        display: flex;
        margin-bottom: 12px;
    }

    .columns-mobile-2 .products-block .product:not(.sai-ProductBox):hover {
        transform: none;
        padding: 12px 8px;
    }

    .columns-mobile-2 .products-block > div:not(.sai-ProductBox) .p {
        display: flex; flex-direction: column; flex: 1 1 auto; height: auto;
    }
    .columns-mobile-2 .products-block > div:not(.sai-ProductBox) .p-in {
        display: flex; flex-direction: column; flex: 1 1 auto;
    }

    .columns-mobile-2 .products-block > div:not(.sai-ProductBox) .p a.image {
        margin-bottom: 12px;
        height: 130px;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .columns-mobile-2 .products-block > div:not(.sai-ProductBox) .p a.image img {
        max-height: 130px;
        max-width: 100%;
        width: auto;
        object-fit: contain;
    }

    .columns-mobile-2 .products-block > div:not(.sai-ProductBox) .p .name {
        margin-top: 8px;
        line-height: 1.3;
        font-size: 16px;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        height: auto;
        min-height: 2.6em;
        max-height: 2.6em;
    }

    .columns-mobile-2 .products-block > div:not(.sai-ProductBox) .p .ratings-wrapper {
        margin-top: 6px;
        min-height: 48px;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: flex-end;
    }
    .columns-mobile-2 .products-block > div:not(.sai-ProductBox) .p .ratings-wrapper .availability { flex: 0 0 auto; }

    .columns-mobile-2 .products-block > div:not(.sai-ProductBox) .p .stars-placeholder {
        display: block;
        height: 12px;
        margin-bottom: 5px;
        text-align: center;
    }
    .columns-mobile-2 .products-block > div:not(.sai-ProductBox) .p .stars-placeholder::before {
        font-family: shoptet;
        content: "\e91c\e91c\e91c\e91c\e91c";
        font-size: 18px;
        line-height: 18px;
        color: #D8D5CE;
        letter-spacing: 1px;
    }

    .columns-mobile-2 .products-block > div:not(.sai-ProductBox) .p-in .p-bottom {
        margin-top: 0; flex: 1 1 auto; display: flex;
    }
    .columns-mobile-2 .products-block > div:not(.sai-ProductBox) .p-bottom > div {
        display: flex; flex-direction: column; flex-wrap: nowrap; width: 100%; gap: 0;
    }
    .columns-mobile-2 .products-block > div:not(.sai-ProductBox) .p-bottom > div .p-desc { order: 1; }
    .columns-mobile-2 .products-block > div:not(.sai-ProductBox) .p-bottom > div .prices { order: 2; margin-top: auto; }
    .columns-mobile-2 .products-block > div:not(.sai-ProductBox) .p-bottom > div .p-tools { order: 3; }

    .columns-mobile-2 .products-block > div:not(.sai-ProductBox) .p-tools .quantity { display: none !important; }
    .columns-mobile-2 .products-block > div:not(.sai-ProductBox) .p-tools form { gap: 0; }
    .columns-mobile-2 .products-block > div:not(.sai-ProductBox) .p-tools .btn {
        display: flex; align-items: center; justify-content: center;
        width: 100%; max-width: none; min-height: 52px;
    }

    .columns-mobile-2 .products-block > div:not(.sai-ProductBox) .prices .price-final {
        font-size: 18px; font-weight: 700;
    }

    .columns-mobile-2 .products-block > div:not(.sai-ProductBox) .p-desc {
        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical;
        overflow: hidden;
        font-size: 12px;
        line-height: 1.5;

        max-height: 72px;
        min-height: 72px;
        margin-top: 6px;
        margin-bottom: 8px;
    }
}

@media (max-width: 767px) {
    .type-detail .products-block.products-related:not(.slick-initialized) {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        padding-bottom: 8px;
    }
    .columns-mobile-2 .products-block.products-related:not(.slick-initialized) > div:not(.sai-ProductBox) {
        flex: 0 0 62%;
        max-width: 62%;
        scroll-snap-align: start;
        margin-bottom: 0;
    }

    .type-detail .products-block.products-related:not(.slick-initialized) {
        scrollbar-width: none;
    }
    .type-detail .products-block.products-related:not(.slick-initialized)::-webkit-scrollbar {
        display: none;
    }

    .ep-strip-wrap { position: relative; }
    .ep-strip-arrow {
        position: absolute;
        top: 45%;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        background: #fff;
        border: 1px solid #e8e8e8;
        box-shadow: 0 1px 4px rgba(0,0,0,.12);
        z-index: 5;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        cursor: pointer;
    }
    .ep-strip-arrow--prev { left: 2px; }
    .ep-strip-arrow--next { right: 2px; }
    .ep-strip-arrow::before {
        font-family: shoptet;
        font-size: 14px;
        color: #444;
        line-height: 1;
    }
    .ep-strip-arrow--prev::before { content: "\e90f"; }
    .ep-strip-arrow--next::before { content: "\e910"; }

    .type-detail .fixed-cart { z-index: 50; }
}

@media (max-width: 767px) {
    .type-index .banners-row .top-icon { display: none; }

    .ep-usp {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px 12px;
        margin: 10px 10px 4px;
        padding: 14px;
        border-radius: 14px;
        background: linear-gradient(135deg, #EDF5E1, #E2EFD2);
        font-family: var(--ep-font, inherit);
    }
    .ep-usp-item {
        display: flex;
        align-items: center;
        gap: 9px;
        font-size: 12.5px;
        font-weight: 600;
        line-height: 1.25;
        color: #3D6B0F;
        text-decoration: none;

        opacity: 1;
        transform: none;
        transition: opacity .4s ease, transform .4s ease;
    }
    .ep-usp.ep-pre .ep-usp-item { opacity: 0; transform: translateY(6px); transition: none; }
    .ep-usp-item:nth-child(2) { transition-delay: .07s; }
    .ep-usp-item:nth-child(3) { transition-delay: .14s; }
    .ep-usp-item:nth-child(4) { transition-delay: .21s; }
    .ep-usp-item:nth-child(5) { transition-delay: .28s; }

    .ep-usp-ico {
        flex: 0 0 26px;
        width: 26px; height: 26px;
        border-radius: 50%;
        background: #fff;
        box-shadow: 0 1px 3px rgba(61,107,15,.18);
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .ep-usp-ico i { font-size: 12px; color: #6AB023; }

    .ep-usp-item--wide {
        grid-column: 1 / -1;
        justify-content: center;
        background: #fff;
        border-radius: 999px;
        padding: 8px 14px;
        box-shadow: 0 1px 3px rgba(61,107,15,.12);
    }
    .ep-usp-item--wide .ep-usp-ico { background: #EDF5E1; box-shadow: none; }
    .ep-usp-item--wide::after {
        content: "\e910";
        font-family: shoptet;
        font-size: 10px;
        margin-left: 2px;
        opacity: .6;
    }

    @media (prefers-reduced-motion: reduce) {
        .ep-usp-item { transition: none; }
        .ep-usp.ep-pre .ep-usp-item { opacity: 1; transform: none; }
    }
}
@media (min-width: 768px) {
    .ep-usp { display: none; }
}

@media (max-width: 767px) {
    input[type="text"],
    input[type="search"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    input[type="password"],
    select,
    textarea {
        font-size: 16px !important;
    }
}

@media (max-width: 767px) {
    html {
        overflow-x: hidden;
        max-width: 100%;
    }

    body {
        overflow-x: clip;
        max-width: 100%;
    }

    body > div[class*="_"][style*="fixed"],
    body > div[class^="_2cZS8Kk"],
    body > div[class*=" _2cZS8Kk"],
    body > div[class^="_3QFqK"],
    body > div[class*=" _3QFqK"] {
        max-width: calc(100vw - 16px) !important;
        left: auto !important;
        right: 8px !important;
        box-sizing: border-box;
    }
}

@media (max-width: 767px) {
    body.type-detail .p-info-wrapper {
        display: flex;
        flex-flow: row wrap;
    }

    body.type-detail .p-info-wrapper > * { flex: 0 0 100%; max-width: 100%; order: 50; }

    body.type-detail .p-info-wrapper > .p-detail-inner-header  { order: 10; }
    body.type-detail .p-info-wrapper > .p-detail-info          { order: 20; }
    body.type-detail .p-info-wrapper > .p-final-price-wrapper  { order: 30; }
    body.type-detail .p-info-wrapper > .availability-value     { order: 32; }

    body.type-detail .p-info-wrapper > .detail-parameters      { order: 33; }
    body.type-detail .p-info-wrapper > .add-to-cart            { order: 34; }
    body.type-detail .p-info-wrapper > .delivery-box           { order: 36; }
    body.type-detail .p-info-wrapper > .p-short-description    { order: 60; }
    body.type-detail .p-info-wrapper > .social-buttons-wrapper { order: 70; }

    body.type-detail .p-info-wrapper > .p-final-price-wrapper { margin-top: 4px; }
    body.type-detail .p-info-wrapper > .p-short-description   { margin-top: 18px; }

    body.type-detail .p-info-wrapper > .p-final-price-wrapper {
        flex: 0 0 auto;
        width: auto;
        max-width: 65%;
        flex-wrap: wrap;
        column-gap: 10px;
        row-gap: 0;
    }
    body.type-detail .p-info-wrapper > .availability-value {
        flex: 1 1 0;
        min-width: 0;
        width: auto;
        max-width: none;
        margin-left: 0;
        align-self: center;
        text-align: right;
    }

    body.type-detail .p-final-price-wrapper .price-measure {
        display: block;
        flex: 0 0 100%;
        margin-top: 2px;
        font-size: 12px;
        line-height: 1.3;
        color: var(--ep-text-light);
        white-space: nowrap;
    }

    body.type-detail .p-info-wrapper { column-gap: 12px; }
}

@media (max-width: 767px) {

    .fixed-cart {
        gap: 12px;
        border-top: 1px solid var(--ep-border);
        box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.10);
    }

    .ep-fc-info {
        flex: 1 1 auto;
        min-width: 0;
        line-height: 1.2;
        text-align: left;
    }
    .ep-fc-name {
        display: block;
        margin-bottom: 2px;
        font-size: 13px;
        font-weight: 600;
        color: var(--ep-text-light);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .ep-fc-price {
        display: block;
        font-size: 22px;
        font-weight: 800;
        letter-spacing: -0.2px;
        color: var(--ep-text);
        white-space: nowrap;
    }

    .fixed-cart .ep-fc-info + .btn,
    .fixed-cart .ep-fc-info ~ .add-to-cart-button {
        flex: 0 0 auto;
        width: auto;
        min-width: 150px;
        min-height: 44px;
    }
}

@media (max-width: 767px) {
    body.type-detail .delivery-box {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        gap: 8px;
    }
    body.type-detail .delivery-box > div {
        flex: 1 1 0;
        min-width: 0;
        align-items: center;
        gap: 6px;
    }
    body.type-detail .delivery-box > div img {
        max-width: 100%;
        height: auto;
    }
    body.type-detail .delivery-box > div span {
        white-space: nowrap;
    }
}

@media (min-width: 992px) {
    body.ordering-process #order-form.order-delivery-payment-form {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0 24px;

        align-items: start;
    }

    body.ordering-process #order-form.order-delivery-payment-form > .co-box {
        margin-bottom: 0;
        height: auto;
        padding-left: 24px;
        padding-right: 24px;
    }
}

body.ordering-process #order-form.order-delivery-payment-form .shipping-billing-table .radio-wrapper {

    display: flex;
    border: 1px solid #E3E1DC;
    border-radius: 12px;
    background: var(--ep-white);
    margin-bottom: 8px;

    padding: 0;
    transition: border-color 0.2s, background-color 0.2s;
}
body.ordering-process #order-form.order-delivery-payment-form .shipping-billing-table .radio-wrapper:last-child {
    margin-bottom: 0;
}
body.ordering-process #order-form.order-delivery-payment-form .shipping-billing-table .radio-wrapper:hover {
    border-color: rgba(106, 176, 35, 0.5);
}
body.ordering-process #order-form.order-delivery-payment-form .shipping-billing-table .radio-wrapper.active {
    border-color: var(--ep-primary);
    background: var(--ep-primary-light);
}

body.ordering-process #order-form.order-delivery-payment-form .shipping-billing-table label {
    flex: 1 1 auto;

    margin: 0;
    flex-wrap: nowrap;
    align-items: center;
    gap: 10px;
    padding: 12px 14px 12px 90px;
}

body.ordering-process #order-form.order-delivery-payment-form .shipping-billing-table label::before {
    left: 14px;
}
body.ordering-process #order-form.order-delivery-payment-form .shipping-billing-table label::after {
    left: 16px;
}

body.ordering-process #order-form.order-delivery-payment-form .shipping-billing-table input:focus-visible + label {
    outline: 2px solid var(--ep-primary);
    outline-offset: -2px;
    border-radius: 12px;
}
body.ordering-process #order-form.order-delivery-payment-form .shipping-billing-table .payment-logo {
    position: absolute;
    left: 38px;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    margin: 0;
    text-align: center;
}
body.ordering-process #order-form.order-delivery-payment-form .shipping-billing-table .payment-logo img {
    max-width: 100%;
    max-height: 24px;
    width: auto;
    height: auto;
}
body.ordering-process #order-form.order-delivery-payment-form .shipping-billing-table .payment-info {
    flex: 1 1 auto;
    min-width: 0;

    max-width: none;
}
body.ordering-process #order-form.order-delivery-payment-form .shipping-billing-table .payment-shipping-price {
    flex: 0 0 auto;
    white-space: nowrap;
    text-align: right;
}

body.ordering-process #order-form.order-delivery-payment-form .shipping-billing-table .shipping-billing-name {
    text-transform: none;
}

@media (min-width: 992px) and (max-width: 1439px) {
    body.ordering-process #order-form.order-delivery-payment-form > .co-box {
        padding-left: 12px;
        padding-right: 12px;
    }
    body.ordering-process #order-form.order-delivery-payment-form .shipping-billing-table .payment-logo {
        display: none;
    }
    body.ordering-process #order-form.order-delivery-payment-form .shipping-billing-table label {
        padding-left: 38px;
    }
}

body.ordering-process:not(.in-kosik) #checkoutSidebar .checkout-box,
body.ordering-process:not(.in-kosik) .top-navigation-bar {
    display: none;
}

@media (max-width: 767px) {
    body.ordering-process #checkoutSidebar .checkout-box,
    body.ordering-process .top-navigation-bar {
        display: none;
    }
}

body.in-krok-2 .form-group:has(> .form-control-wrapper--with-note) {
    display: none;
}

@media (max-width: 767px) {
    .ep-co-logo {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 14px 0;

        position: sticky;
        top: 0;
        z-index: 20;
        background: var(--ep-white);
        border-bottom: 1px solid var(--ep-border);
    }
    .ep-co-logo img {
        max-height: 42px;
        width: auto;
    }
}

@media (min-width: 768px) {
    .ep-co-logo {
        display: none;
    }
}

@media (max-width: 767px) {
    body.ordering-process .cart-header {
        display: flex;
        position: static;
        justify-content: center;
        flex-wrap: wrap;
        gap: 3px;
        margin: 0 0 18px;
        padding: 9px 6px;

        background: var(--ep-white);
        border-bottom: 1px solid var(--ep-border);
        list-style: none;
    }
    body.ordering-process .cart-header .step {
        display: block;
        margin: 0;
        padding: 0;
    }
    body.ordering-process .cart-header .step > a,
    body.ordering-process .cart-header .step > strong {
        display: block;
        padding: 7px 9px;
        border-radius: 999px;
        font-size: 11.5px;
        font-weight: 600;
        line-height: 1.2;
        color: var(--ep-text-light);
        text-decoration: none;
        white-space: nowrap;
    }
    body.ordering-process .cart-header .step.active > strong {
        background: var(--ep-primary);
        color: var(--ep-white);
    }
}

@media (min-width: 768px) {
    body.ordering-process:not(.in-kosik) #header .search,
    body.ordering-process:not(.in-kosik) #header .navigation-buttons,
    body.ordering-process:not(.in-kosik) #header #navigation,
    body.ordering-process:not(.in-kosik) #header .menu-helper {
        display: none;
    }
    body.ordering-process:not(.in-kosik) #header .header-top {
        justify-content: center;
    }
    body.ordering-process:not(.in-kosik) #header .site-name-wrapper {
        flex: 0 0 auto;
    }
    body.ordering-process:not(.in-kosik) #header .site-name {
        display: flex;
        justify-content: center;
    }
}

@media (min-width: 1200px) {
    body.ordering-process:not(.in-kosik) #content-wrapper {
        width: auto;
        max-width: 1680px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 24px;
        padding-right: 24px;
    }
    body.ordering-process:not(.in-kosik) #checkoutContent {
        width: 72%;
    }
    body.ordering-process:not(.in-kosik) #checkoutSidebar {
        width: 28%;
    }
    body.ordering-process #order-form.order-delivery-payment-form .shipping-billing-table .shipping-billing-name,
    body.ordering-process #order-form.order-delivery-payment-form .shipping-billing-table .payment-shipping-price {
        font-size: 16px;
    }
    body.ordering-process #order-form.order-delivery-payment-form .shipping-billing-table .sublabel {
        font-size: 13px;
    }
}

:where(html[lang="cs"]) .subcategories {
    display: grid;
}
:where(html[lang="cs"]) .category-top > ul.subcategories {
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    align-items: stretch;
    gap: 10px;
    margin: 0 0 26px;
    padding: 0;
    list-style: none;
}
:where(html[lang="cs"]) .category-top > ul.subcategories::before {
    content: "Vyberte podkategorii";
    grid-column: 1 / -1;
    flex-basis: 100%;
    width: 100%;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.4px;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--ep-primary-dark);
}
:where(html[lang="cs"]) .category-top > ul.subcategories > li {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0;
    float: none;
    list-style: none;
}
:where(html[lang="cs"]) .category-top > ul.subcategories > li.divider {
    grid-column: 1 / -1;
    flex-basis: 100%;
    width: 100%;
    height: 0;
    margin: 6px 0;
    padding: 0;
    background: none;
    border-top: 1px solid var(--ep-border);
}
:where(html[lang="cs"]) .category-top > ul.subcategories > li > a {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    height: 100%;
    min-height: 60px;
    padding: 12px 34px 12px 16px;
    background: var(--ep-white);
    border: 1px solid var(--ep-border);
    border-radius: var(--ep-radius-sm);
    color: var(--ep-text);
    text-decoration: none;
    transition: border-color var(--ep-transition), box-shadow var(--ep-transition), background var(--ep-transition);
}
:where(html[lang="cs"]) .category-top > ul.subcategories > li > a::before {
    content: none;
}
:where(html[lang="cs"]) .category-top > ul.subcategories > li > a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 14px;
    left: auto;
    width: 7px;
    height: 7px;
    background: none;
    border-top: 2px solid var(--ep-primary);
    border-right: 2px solid var(--ep-primary);
    transform: translateY(-50%) rotate(45deg);
    transition: right var(--ep-transition);
}
:where(html[lang="cs"]) .category-top > ul.subcategories > li > a:hover,
:where(html[lang="cs"]) .category-top > ul.subcategories > li > a:focus-visible {
    background: var(--ep-primary-light);
    border-color: var(--ep-primary);
    box-shadow: var(--ep-shadow-md);
    color: var(--ep-text);
}
:where(html[lang="cs"]) .category-top > ul.subcategories > li > a:hover::after {
    right: 10px;
}
:where(html[lang="cs"]) .category-top > ul.subcategories > li > a .text {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: none;
    padding: 0;
    overflow: visible;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    text-align: left;
    text-overflow: clip;
}
:where(html[lang="cs"]) .category-top > ul.subcategories > li > a .image {
    display: none;
}
:where(html[lang="cs"]) .category-top > ul.subcategories:has(img[data-src*="/user/categories/"], img[src*="/user/categories/"]) > li > a {
    padding: 10px 34px 10px 10px;
}
:where(html[lang="cs"]) .category-top > ul.subcategories:has(img[data-src*="/user/categories/"], img[src*="/user/categories/"]) > li > a .image {
    display: block;
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    overflow: hidden;
    background: var(--ep-bg);
    border-radius: 8px;
}
:where(html[lang="cs"]) .category-top > ul.subcategories:has(img[data-src*="/user/categories/"], img[src*="/user/categories/"]) > li > a .image img {
    display: block;
    width: 100%;
    height: 56px;
    max-height: none;
    object-fit: cover;
}
:where(html[lang="cs"]) .category-top > ul.subcategories:has(img[data-src*="/user/categories/"], img[src*="/user/categories/"]) > li > a .image img[data-src$="/img/folder.svg"],
:where(html[lang="cs"]) .category-top > ul.subcategories:has(img[data-src*="/user/categories/"], img[src*="/user/categories/"]) > li > a .image img[src$="/img/folder.svg"] {
    padding: 15px;
    object-fit: contain;
    opacity: 0.3;
    background: linear-gradient(135deg, var(--ep-primary-light), var(--ep-white));
}
:where(html[lang="cs"]) .category-top > ul.subcategories:has(img[data-src*="/user/categories/"], img[src*="/user/categories/"]) > li:not(:has(.image)) > a::before {
    content: "";
    position: static;
    display: block;
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    background: linear-gradient(135deg, var(--ep-primary-light), var(--ep-white));
    border-radius: 8px;
}
:where(html[lang="cs"]) .category-top > ul.subcategories:not(:has(img[data-src*="/user/categories/"], img[src*="/user/categories/"])):has(> li:nth-child(13)) {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
:where(html[lang="cs"]) .category-top > ul.subcategories:not(:has(img[data-src*="/user/categories/"], img[src*="/user/categories/"])):has(> li:nth-child(13)) > li > a {
    min-height: 0;
    padding: 9px 30px 9px 14px;
    border-radius: 999px;
}
:where(html[lang="cs"]) .category-top > ul.subcategories:not(:has(img[data-src*="/user/categories/"], img[src*="/user/categories/"])):has(> li:nth-child(13)) > li > a .text {
    font-size: 15px;
}
:where(html[lang="cs"]) .category-top > ul.subcategories:not(:has(img[data-src*="/user/categories/"], img[src*="/user/categories/"])):has(> li:nth-child(13)) > li > a::after {
    right: 12px;
    width: 6px;
    height: 6px;
}
:where(html[lang="cs"]) .category-top > ul.subcategories:not(:has(img[data-src*="/user/categories/"], img[src*="/user/categories/"])):has(> li:nth-child(13)) > li > a:hover::after {
    right: 9px;
}

.ep-subcat-more {
    display: none;
}

@media (max-width: 767px) {
    :where(html[lang="cs"]) .category-top > ul.subcategories {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-bottom: 20px;
    }
    :where(html[lang="cs"]) .category-top > ul.subcategories > li > a {
        min-height: 56px;
        padding: 11px 26px 11px 12px;
    }
    :where(html[lang="cs"]) .category-top > ul.subcategories > li > a .text {
        font-size: 15px;
    }
    :where(html[lang="cs"]) .category-top > ul.subcategories > li > a::after {
        right: 11px;
    }
    :where(html[lang="cs"]) .category-top > ul.subcategories:has(img[data-src*="/user/categories/"], img[src*="/user/categories/"]) > li > a {
        gap: 10px;
        padding: 8px 24px 8px 8px;
    }
    :where(html[lang="cs"]) .category-top > ul.subcategories:has(img[data-src*="/user/categories/"], img[src*="/user/categories/"]) > li > a .image {
        flex: 0 0 48px;
        width: 48px;
        height: 48px;
    }
    :where(html[lang="cs"]) .category-top > ul.subcategories:has(img[data-src*="/user/categories/"], img[src*="/user/categories/"]) > li > a .image img {
        height: 48px;
    }
    :where(html[lang="cs"]) .category-top > ul.subcategories:has(img[data-src*="/user/categories/"], img[src*="/user/categories/"]) > li > a .image img[data-src$="/img/folder.svg"],
    :where(html[lang="cs"]) .category-top > ul.subcategories:has(img[data-src*="/user/categories/"], img[src*="/user/categories/"]) > li > a .image img[src$="/img/folder.svg"] {
        padding: 12px;
    }
    :where(html[lang="cs"]) .category-top > ul.subcategories:has(img[data-src*="/user/categories/"], img[src*="/user/categories/"]) > li:not(:has(.image)) > a::before {
        flex: 0 0 48px;
        width: 48px;
        height: 48px;
    }
    :where(html[lang="cs"]) .category-top > ul.subcategories:has(img[data-src*="/user/categories/"], img[src*="/user/categories/"]) > li > a .text {
        font-size: 14px;
    }
    :where(html[lang="cs"]) .category-top > ul.subcategories.ep-subcat-collapsed > li:nth-child(n+7) {
        display: none;
    }
    .ep-subcat-more {
        display: block;
        width: 100%;
        margin: -12px 0 22px;
        padding: 12px 16px;
        background: var(--ep-white);
        border: 1px solid var(--ep-primary);
        border-radius: 999px;
        color: var(--ep-primary-dark);
        font-family: inherit;
        font-size: 15px;
        font-weight: 600;
        line-height: 1.2;
        text-align: center;
        cursor: pointer;
    }
    .ep-subcat-more::after {
        content: "";
        display: inline-block;
        width: 7px;
        height: 7px;
        margin: -3px 0 0 8px;
        border-right: 2px solid var(--ep-primary);
        border-bottom: 2px solid var(--ep-primary);
        transform: rotate(45deg);
        vertical-align: middle;
    }
    :where(html[lang="cs"]) .category-top > ul.subcategories:not(:has(img[data-src*="/user/categories/"], img[src*="/user/categories/"])):has(> li:nth-child(13)) > li > a {
        padding: 9px 28px 9px 13px;
    }
    :where(html[lang="cs"]) .category-top > ul.subcategories:not(:has(img[data-src*="/user/categories/"], img[src*="/user/categories/"])):has(> li:nth-child(13)) > li > a .text {
        font-size: 14.5px;
    }
}

#footer.ep-foot-ready {
    position: relative;
    background: #1C2716;
    color: #C3CCBB;
    font-size: 15px;
    line-height: 1.6;
    overflow: hidden;
}
#footer.ep-foot-ready::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(760px 340px at 12% 0%, rgba(122,178,58,0.16), transparent 62%);
}
#footer.ep-foot-ready .ep-foot-old {
    display: none;
}
#footer.ep-foot-ready {
    --ep-foot-inline: max(20px, calc(50% - 569px));
}
#footer.ep-foot-ready .ep-foot-cont,
#footer.ep-foot-ready .ep-foot-proof-in,
#footer.ep-foot-ready .ep-foot-logos-in {
    position: relative;
    z-index: 2;
    max-width: none;
    margin: 0;
    padding-left: var(--ep-foot-inline);
    padding-right: var(--ep-foot-inline);
}

#footer.ep-foot-ready .ep-foot-proof {
    position: relative;
    z-index: 2;
    background: #16200F;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}
#footer.ep-foot-ready .ep-foot-proof-in {
    display: grid;
    grid-template-columns: auto 1fr 1fr 1fr;
    align-items: center;
}
#footer.ep-foot-ready .ep-foot-rating {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 14px 26px 14px 0;
    text-decoration: none;
}
#footer.ep-foot-ready .ep-foot-rating-num {
    font-size: 27px;
    font-weight: 700;
    line-height: 1;
    color: #FFFFFF;
}
#footer.ep-foot-ready .ep-foot-stars {
    display: flex;
    gap: 2px;
}
#footer.ep-foot-ready .ep-foot-stars svg {
    width: 14px;
    height: 14px;
    color: #F2B705;
}
#footer.ep-foot-ready .ep-foot-rating-sub {
    display: block;
    margin-top: 2px;
    font-size: 12.5px;
    line-height: 1.25;
    color: #93A089;
}
#footer.ep-foot-ready .ep-foot-rating:hover .ep-foot-rating-sub {
    color: #C3CCBB;
}
#footer.ep-foot-ready .ep-foot-pf {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 16px 24px;
}
#footer.ep-foot-ready .ep-foot-pf + .ep-foot-pf {
    border-left: 1px solid rgba(255,255,255,0.07);
}
#footer.ep-foot-ready .ep-foot-pf-ico {
    flex: 0 0 20px;
    color: #8FC64F;
    opacity: 0.9;
}
#footer.ep-foot-ready .ep-foot-pf-ico svg {
    display: block;
    width: 20px;
    height: 20px;
}
#footer.ep-foot-ready .ep-foot-pf-t {
    font-size: 14px;
    line-height: 1.3;
    color: #DCE4D4;
}
#footer.ep-foot-ready .ep-foot-pf-t b {
    color: #FFFFFF;
    font-weight: 700;
}

#footer.ep-foot-ready .ep-foot-main {
    position: relative;
}
#footer.ep-foot-ready .ep-foot-orn {
    position: absolute;
    right: -70px;
    top: 40px;
    z-index: 1;
    width: 470px;
    height: 470px;
    color: #8FC64F;
    opacity: 0.055;
    pointer-events: none;
}
#footer.ep-foot-ready .ep-foot-grid {
    display: grid;
    grid-template-columns: 1.4fr 1.05fr 1.05fr 1.3fr;
    gap: 44px;
    padding: 46px 0 42px;
}
#footer.ep-foot-ready .ep-foot-h {
    margin: 0 0 6px;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 1.3px;
    text-transform: uppercase;
    color: #8FC64F;
}
#footer.ep-foot-ready .ep-foot-rule {
    display: block;
    width: 26px;
    height: 2px;
    margin-bottom: 17px;
    background: #8FC64F;
    opacity: 0.45;
}
#footer.ep-foot-ready .ep-foot-col ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
#footer.ep-foot-ready .ep-foot-col li {
    margin-bottom: 10px;
    line-height: 1.4;
}
#footer.ep-foot-ready .ep-foot-col a {
    position: relative;
    display: inline-block;
    font-size: 15px;
    color: #C3CCBB;
    text-decoration: none;
    transition: color var(--ep-transition), padding-left var(--ep-transition);
}
#footer.ep-foot-ready .ep-foot-col a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #8FC64F;
    opacity: 0;
    transform: translateY(-50%);
    transition: opacity var(--ep-transition);
}
#footer.ep-foot-ready .ep-foot-col a:hover {
    color: #FFFFFF;
    padding-left: 13px;
}
#footer.ep-foot-ready .ep-foot-col a:hover::before {
    opacity: 1;
}

#footer.ep-foot-ready .ep-foot-plate {
    display: inline-block;
    margin-bottom: 16px;
    padding: 13px 17px;
    background: var(--ep-white);
    border-radius: 12px;
    box-shadow: 0 2px 14px rgba(0,0,0,0.18);
}
#footer.ep-foot-ready .ep-foot-plate .site-name {
    display: block;
    margin: 0;
    padding: 0;
    width: auto;
}
#footer.ep-foot-ready .ep-foot-plate .site-name a {
    display: block;
    padding: 0;
}
#footer.ep-foot-ready .ep-foot-plate .site-name img {
    display: block;
    width: auto;
    height: 44px;
    max-height: 44px;
}
#footer.ep-foot-ready .ep-foot-claim {
    max-width: 33ch;
    margin: 0 0 18px;
    font-size: 14.5px;
    line-height: 1.65;
    color: #A3AF99;
}
#footer.ep-foot-ready .ep-foot-since {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    padding: 5px 13px;
    border: 1px solid rgba(143,198,79,0.3);
    border-radius: 999px;
    font-size: 12.5px;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    color: #8FC64F;
}
#footer.ep-foot-ready .ep-foot-since svg {
    width: 13px;
    height: 13px;
}
#footer.ep-foot-ready .ep-foot-social {
    display: flex;
    gap: 9px;
}
#footer.ep-foot-ready .ep-foot-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 39px;
    height: 39px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 10px;
    color: #D2DBC9;
    transition: background var(--ep-transition), color var(--ep-transition), border-color var(--ep-transition);
}
#footer.ep-foot-ready .ep-foot-social svg {
    width: 18px;
    height: 18px;
}
#footer.ep-foot-ready .ep-foot-social a:hover {
    background: var(--ep-primary);
    border-color: var(--ep-primary);
    color: var(--ep-white);
}

#footer.ep-foot-ready .ep-foot-help {
    padding: 21px 20px;
    background: linear-gradient(160deg, rgba(143,198,79,0.13), rgba(143,198,79,0.04));
    border: 1px solid rgba(143,198,79,0.22);
    border-radius: 14px;
}
#footer.ep-foot-ready .ep-foot-help-t {
    margin: 0 0 7px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
    color: #FFFFFF;
}
#footer.ep-foot-ready .ep-foot-help-p {
    margin: 0 0 16px;
    font-size: 13.5px;
    line-height: 1.55;
    color: #A3AF99;
}
#footer.ep-foot-ready .ep-foot-help-mail {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 15px;
    background: #8FC64F;
    border-radius: 9px;
    color: #16200F;
    font-size: 14.5px;
    font-weight: 700;
    text-decoration: none;
    word-break: break-word;
    transition: background var(--ep-transition);
}
#footer.ep-foot-ready .ep-foot-help-mail svg {
    flex: 0 0 15px;
    width: 15px;
    height: 15px;
}
#footer.ep-foot-ready .ep-foot-help-mail:hover {
    background: #A3D763;
}

#footer.ep-foot-ready .ep-foot-logos {
    position: relative;
    z-index: 2;
    background: rgba(0,0,0,0.14);
    border-top: 1px solid rgba(255,255,255,0.07);
}
#footer.ep-foot-ready .ep-foot-logos-in {
    display: flex;
    align-items: center;
    gap: 34px;
    flex-wrap: wrap;
    padding-top: 18px;
    padding-bottom: 18px;
}
#footer.ep-foot-ready .ep-foot-lgroup {
    display: flex;
    align-items: center;
    gap: 14px;
}
#footer.ep-foot-ready .ep-foot-lbl {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    white-space: nowrap;
    color: #7C8A72;
}
#footer.ep-foot-ready .ep-foot-lrow {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
}
#footer.ep-foot-ready .ep-foot-lg {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    min-width: 60px;
    padding: 0 11px;
    background: var(--ep-white);
    border-radius: 8px;
    transition: transform var(--ep-transition), box-shadow var(--ep-transition);
}
#footer.ep-foot-ready .ep-foot-lg:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 12px rgba(0,0,0,0.25);
}
#footer.ep-foot-ready .ep-foot-lg img {
    display: block;
    width: auto;
    max-width: 86px;
    max-height: 24px;
}
#footer.ep-foot-ready .ep-foot-lg svg {
    display: block;
}
#footer.ep-foot-ready .ep-foot-lspacer {
    flex: 1;
}
#footer.ep-foot-ready .ep-foot-totop {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 15px;
    background: none;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 999px;
    color: #93A089;
    font-family: inherit;
    font-size: 12.5px;
    white-space: nowrap;
    cursor: pointer;
    transition: color var(--ep-transition), border-color var(--ep-transition);
}
#footer.ep-foot-ready .ep-foot-totop svg {
    width: 13px;
    height: 13px;
}
#footer.ep-foot-ready .ep-foot-totop:hover {
    color: #FFFFFF;
    border-color: rgba(143,198,79,0.5);
}

#footer.ep-foot-ready .footer-bottom {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 26px;
    flex-wrap: wrap;
    width: auto;
    max-width: none;
    margin: 0;
    padding: 15px var(--ep-foot-inline);
    background: #111A0B;
    border-top: 1px solid rgba(255,255,255,0.05);
    font-size: 12.5px;
    flex-direction: row;
}
#footer.ep-foot-ready .footer-bottom::before,
#footer.ep-foot-ready .footer-bottom::after {
    content: none;
}
#footer.ep-foot-ready .footer-bottom .copyright {
    order: 1;
    margin: 0;
    line-height: 1.5;
    color: #7C8A72;
}
#footer.ep-foot-ready .footer-bottom .copyright b {
    font-weight: 600;
    color: #93A089;
}
#footer.ep-foot-ready .footer-bottom #signature {
    order: 2;
    margin: 0;
    width: auto;
    font-size: 11.5px;
    line-height: 1.5;
    text-align: right;
    opacity: 0.5;
}
#footer.ep-foot-ready .footer-bottom #signature .koder {
    display: none;
}
#footer.ep-foot-ready .footer-bottom #signature a {
    color: #4E5A45;
}
#footer.ep-foot-ready .footer-bottom #signature img {
    opacity: 0.5;
}

@media (min-width: 1440px) {
    #footer.ep-foot-ready {
        --ep-foot-inline: max(20px, calc(50% - 689px));
    }
}

@media (max-width: 991px) {
    #footer.ep-foot-ready .ep-foot-proof-in {
        grid-template-columns: 1fr 1fr;
    }
    #footer.ep-foot-ready .ep-foot-pf + .ep-foot-pf {
        border-left: 0;
    }
    #footer.ep-foot-ready .ep-foot-grid {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }
    #footer.ep-foot-ready .ep-foot-orn {
        display: none;
    }
}

@media (max-width: 767px) {
    #footer.ep-foot-ready {
        --ep-foot-inline: 16px;
    }
    #footer.ep-foot-ready .ep-foot-proof-in {
        display: block;
        padding-top: 16px;
        padding-bottom: 14px;
    }
    #footer.ep-foot-ready .ep-foot-rating {
        justify-content: center;
        gap: 12px;
        padding: 0 0 14px;
        margin-bottom: 12px;
        border-bottom: 1px solid rgba(255,255,255,0.07);
    }
    #footer.ep-foot-ready .ep-foot-rating-num {
        font-size: 32px;
    }
    #footer.ep-foot-ready .ep-foot-stars svg {
        width: 15px;
        height: 15px;
    }
    #footer.ep-foot-ready .ep-foot-rating-sub {
        font-size: 13px;
    }
    #footer.ep-foot-ready .ep-foot-pf {
        gap: 10px;
        padding: 4px 0;
    }
    #footer.ep-foot-ready .ep-foot-pf-ico {
        flex: 0 0 17px;
    }
    #footer.ep-foot-ready .ep-foot-pf-ico svg {
        width: 17px;
        height: 17px;
    }
    #footer.ep-foot-ready .ep-foot-pf-t {
        font-size: 13.5px;
    }

    #footer.ep-foot-ready .ep-foot-grid {
        grid-template-columns: 1fr 1fr;
        gap: 0;
        padding: 26px 0 24px;
    }
    #footer.ep-foot-ready .ep-foot-brand {
        grid-column: 1 / -1;
        order: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        margin-bottom: 22px;
    }
    #footer.ep-foot-ready .ep-foot-plate {
        margin-bottom: 14px;
        padding: 11px 15px;
    }
    #footer.ep-foot-ready .ep-foot-plate .site-name img {
        height: 38px;
        max-height: 38px;
    }
    #footer.ep-foot-ready .ep-foot-claim {
        max-width: 30ch;
        margin-bottom: 0;
        font-size: 14px;
    }
    #footer.ep-foot-ready .ep-foot-brand {
        margin-bottom: 24px;
    }
    #footer.ep-foot-ready .ep-foot-since {
        margin: 14px 0 12px;
    }
    #footer.ep-foot-ready .ep-foot-social a {
        width: 36px;
        height: 36px;
    }

    #footer.ep-foot-ready .ep-foot-helpcol {
        grid-column: 1 / -1;
        order: 2;
        margin-bottom: 26px;
    }
    #footer.ep-foot-ready .ep-foot-helpcol .ep-foot-h,
    #footer.ep-foot-ready .ep-foot-helpcol .ep-foot-rule {
        display: none;
    }
    #footer.ep-foot-ready .ep-foot-help {
        padding: 18px 16px;
    }
    #footer.ep-foot-ready .ep-foot-help-t {
        font-size: 16px;
    }
    #footer.ep-foot-ready .ep-foot-help-p {
        margin-bottom: 14px;
        font-size: 13px;
    }
    #footer.ep-foot-ready .ep-foot-help-mail {
        padding: 13px 15px;
        font-size: 14px;
    }

    #footer.ep-foot-ready .ep-foot-col {
        order: 3;
        padding-right: 12px;
    }
    #footer.ep-foot-ready .ep-foot-col .ep-foot-h {
        font-size: 11.5px;
        letter-spacing: 1px;
    }
    #footer.ep-foot-ready .ep-foot-col li {
        margin-bottom: 12px;
    }
    #footer.ep-foot-ready .ep-foot-col a {
        font-size: 14px;
        line-height: 1.35;
    }
    #footer.ep-foot-ready .ep-foot-col a:hover {
        padding-left: 0;
    }
    #footer.ep-foot-ready .ep-foot-col a:hover::before {
        opacity: 0;
    }

    #footer.ep-foot-ready .ep-foot-logos-in {
        gap: 14px;
        padding-top: 16px;
        padding-bottom: 16px;
    }
    #footer.ep-foot-ready .ep-foot-lgroup {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        width: 100%;
    }
    #footer.ep-foot-ready .ep-foot-lrow {
        gap: 6px;
    }
    #footer.ep-foot-ready .ep-foot-lg {
        height: 36px;
        min-width: 46px;
        padding: 0 8px;
    }
    #footer.ep-foot-ready .ep-foot-lg img {
        max-height: 21px;
        max-width: 74px;
    }
    #footer.ep-foot-ready .ep-foot-lg svg {
        width: auto;
        max-width: 78px;
        height: auto;
    }
    #footer.ep-foot-ready .ep-foot-lspacer {
        display: none;
    }
    #footer.ep-foot-ready .ep-foot-totop {
        width: 100%;
        justify-content: center;
        padding: 11px 15px;
        font-size: 13px;
    }

    #footer.ep-foot-ready .footer-bottom {
        flex-direction: column;
        gap: 8px;
        padding: 16px;
        text-align: center;
    }
    #footer.ep-foot-ready .footer-bottom .copyright {
        order: 1;
        font-size: 12px;
    }
    #footer.ep-foot-ready .footer-bottom #signature {
        order: 2;
        text-align: center;
    }
}

.evaluation:has(.width25p) {
    max-width: 1178px;
    margin: 34px auto 10px;
    padding: 30px 20px 26px;
    background: var(--ep-bg-warm);
    border: 1px solid var(--ep-border);
    border-radius: var(--ep-radius);
    text-align: center;
}
.evaluation:has(.width25p) > .width100p {
    width: auto;
    margin: 0 auto 22px;
    padding: 0;
    font-family: 'Exo 2', var(--ep-font);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.2px;
    color: var(--ep-text);
}
.evaluation:has(.width25p) > .width100p::after {
    content: "";
    display: block;
    width: 34px;
    height: 3px;
    margin: 11px auto 0;
    background: var(--ep-primary);
    border-radius: 2px;
}
.evaluation:has(.width25p) > .visible {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
    width: auto;
    margin: 0;
}
.evaluation:has(.width25p) .width25p {
    float: none;
    width: auto;
    min-width: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
}
.evaluation:has(.width25p) .width25p:hover {
    box-shadow: none;
    transform: none;
}
.evaluation:has(.width25p) .width25p img {
    margin: 0;
}
.evaluation:has(.width25p) .width25p > a {
    display: block;
    box-sizing: border-box;
    height: 100%;
    padding: 13px 15px;
    background: var(--ep-white);
    border: 0;
    border-radius: var(--ep-radius-sm);
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    transition: box-shadow var(--ep-transition), transform var(--ep-transition);
}
.evaluation:has(.width25p) .width25p > a:hover {
    box-shadow: var(--ep-shadow-md);
    transform: translateY(-2px);
}
.evaluation:has(.width25p) .width25p img {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    max-height: none;
}
.evaluation:has(.width25p) > #toggle {
    clear: both;
    margin: 22px 0 0;
    text-align: center;
}
.evaluation:has(.width25p) > #toggle a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 20px;
    background: var(--ep-white);
    border: 1px solid var(--ep-primary);
    border-radius: 999px;
    color: var(--ep-primary-dark);
    font-size: 14.5px;
    font-weight: 600;
    text-decoration: none;
    transition: background var(--ep-transition), color var(--ep-transition);
}
.evaluation:has(.width25p) > #toggle a::after {
    content: "";
    width: 6px;
    height: 6px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(-45deg);
}
.evaluation:has(.width25p) > #toggle a:hover {
    background: var(--ep-primary);
    color: var(--ep-white);
}

@media (max-width: 1199px) {
    .evaluation:has(.width25p) > .visible {
        grid-template-columns: repeat(4, 1fr);
    }
}
@media (max-width: 767px) {
    .evaluation:has(.width25p) {
        margin: 24px auto 8px;
        padding: 22px 14px 20px;
        border-radius: var(--ep-radius-sm);
    }
    .evaluation:has(.width25p) > .width100p {
        margin-bottom: 18px;
        font-size: 18px;
    }
    .evaluation:has(.width25p) > .visible {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    .evaluation:has(.width25p) .width25p > a {
        padding: 11px 13px;
    }
    .evaluation:has(.width25p) > #toggle {
        margin-top: 18px;
    }
    .evaluation:has(.width25p) > #toggle a {
        width: 100%;
        justify-content: center;
        padding: 12px 20px;
    }
}

@media (min-width: 1440px) {
    .evaluation:has(.width25p) {
        max-width: 1418px;
    }
}

body.in-hodnoceni-obchodu .sidebar-left {
    display: none;
}
body.in-hodnoceni-obchodu #content.content.narrow {
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
}
body.in-hodnoceni-obchodu #content .content-inner {
    max-width: none;
}
body.in-hodnoceni-obchodu.ep-rate-ready #content h1 {
    font-size: 32px;
    letter-spacing: -0.4px;
    margin-bottom: 20px;
}

#ratingWrapper.ep-rate-on > .rate-wrap,
#ratingWrapper.ep-rate-on > .add-comment,
#ratingsList.ep-rate-on,
.listingControls.ep-rate-on {
    display: none;
}

.ep-rate-hero {
    background: var(--ep-white);
    border: 1px solid var(--ep-border);
    border-radius: 22px;
    padding: 30px 32px 28px;
    margin-bottom: 18px;
    color: var(--ep-text);
    position: relative;
    overflow: hidden;
    box-shadow: var(--ep-shadow-md);
}
.ep-rate-hero-top {
    display: grid;
    grid-template-columns: 232px 1fr 268px;
    gap: 30px;
    align-items: center;
    position: relative;
    z-index: 1;
}

.ep-rate-score {
    text-align: center;
    position: relative;
}
.ep-rate-score::after {
    content: "";
    position: absolute;
    right: -15px;
    top: 6%;
    bottom: 6%;
    width: 1px;
    background: var(--ep-border);
}
.ep-rate-num {
    font-family: 'Exo 2', var(--ep-font);
    font-size: 86px;
    line-height: 0.9;
    font-weight: 700;
    color: var(--ep-text);
    letter-spacing: -3px;
}
.ep-rate-of {
    font-size: 22px;
    color: var(--ep-text-light);
    font-weight: 500;
    letter-spacing: 0;
}
.ep-rate-score .stars {
    display: inline-flex;
    gap: 4px;
    margin: 10px 0 8px;
}
.ep-rate-score .stars .star {
    width: 24px;
    height: 24px;
}
.ep-rate-score .stars .star::before {
    font-size: 24px;
    line-height: 1;
}
.ep-rate-cnt {
    font-size: 14.5px;
    color: var(--ep-text-light);
}
.ep-rate-cnt b {
    color: var(--ep-text);
    font-weight: 600;
}

.ep-rate-bars {
    position: relative;
}
.ep-rate-row {
    display: grid;
    grid-template-columns: 50px 1fr 104px;
    align-items: center;
    gap: 13px;
    margin: 8px 0;
}
.ep-rate-lbl {
    font-size: 13.5px;
    color: var(--ep-text-light);
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    display: flex;
    align-items: center;
    gap: 4px;
}
.ep-rate-lbl .star {
    width: 12px;
    height: 12px;
}
.ep-rate-lbl .star::before {
    font-size: 12px;
    line-height: 1;
}
.ep-rate-track {
    height: 9px;
    border-radius: 999px;
    background: #F0EEE8;
    overflow: hidden;
}
.ep-rate-fill {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #E9A227, #F5C86A);
    min-width: 3px;
    transform-origin: left center;
    animation: epRateGrowX 1.1s cubic-bezier(0.22, 1, 0.36, 1);
}
.ep-rate-row.ep-rate-low .ep-rate-fill {
    background: #DBD6CB;
}
.ep-rate-val {
    font-size: 13px;
    color: var(--ep-text-light);
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.ep-rate-val b {
    color: var(--ep-text);
    font-weight: 600;
}

.ep-rate-proof {
    display: grid;
    gap: 9px;
}
.ep-rate-proof > div {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    background: var(--ep-bg-warm);
    border: 1px solid var(--ep-border);
    border-radius: 12px;
    padding: 10px 12px;
}
.ep-rate-proof b {
    display: block;
    font-size: 14.5px;
    color: var(--ep-text);
    font-weight: 600;
    line-height: 1.3;
}
.ep-rate-proof em {
    color: var(--ep-text-light);
    font-size: 12.5px;
    font-style: normal;
    line-height: 1.35;
}
.ep-rate-ic {
    flex: 0 0 17px;
    color: var(--ep-primary);
    margin-top: 1px;
}
.ep-rate-ic svg {
    display: block;
    width: 17px;
    height: 17px;
}


.ep-rate-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin: 0 0 24px;
}
.ep-rate-btn,
.ep-rate-btn:hover,
.ep-rate-btn:focus {
    text-decoration: none;
}
.ep-rate-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 999px;
    padding: 12px 24px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    border: 1.5px solid transparent;
    cursor: pointer;
    font-family: inherit;
    transition: all var(--ep-transition);
}
.ep-rate-btn-primary,
.ep-rate-btn-primary:link,
.ep-rate-btn-primary:visited {
    background: var(--ep-primary);
    color: #fff;
    box-shadow: 0 4px 16px rgba(106, 176, 35, 0.3);
}
.ep-rate-btn-primary:hover,
.ep-rate-btn-primary:focus {
    background: var(--ep-primary-dark);
    color: #fff;
    transform: translateY(-1px);
}
.ep-rate-btn-ghost,
.ep-rate-btn-ghost:link,
.ep-rate-btn-ghost:visited {
    background: #fff;
    color: var(--ep-primary-dark);
    border-color: #CFE0B6;
}
.ep-rate-btn-ghost:hover,
.ep-rate-btn-ghost:focus {
    background: var(--ep-primary-light);
    color: var(--ep-primary-dark);
}
.ep-rate-hint {
    font-size: 13.5px;
    color: var(--ep-text-light);
    margin-left: auto;
}

.ep-rate-themes {
    background: var(--ep-white);
    border: 1px solid var(--ep-border);
    border-radius: 18px;
    padding: 22px 24px 24px;
    margin-bottom: 24px;
    box-shadow: var(--ep-shadow-sm);
}
.ep-rate-themes-head {
    display: flex;
    align-items: baseline;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}
.ep-rate-themes-head h2 {
    margin: 0;
    font-size: 19px;
    font-weight: 700;
    letter-spacing: -0.2px;
}
.ep-rate-themes-head em {
    font-style: normal;
    font-size: 13.5px;
    color: var(--ep-text-light);
}
.ep-rate-themes-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
.ep-theme {
    display: grid;
    grid-template-columns: 34px 1fr;
    grid-template-rows: auto auto;
    column-gap: 11px;
    row-gap: 7px;
    align-items: center;
    text-align: left;
    background: var(--ep-bg-warm);
    border: 1px solid var(--ep-border);
    border-radius: 13px;
    padding: 12px 14px;
    cursor: pointer;
    font-family: inherit;
    transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}
.ep-theme:hover {
    border-color: #CFE0B6;
    background: #fff;
    transform: translateY(-2px);
    box-shadow: var(--ep-shadow-md);
}
.ep-theme[aria-pressed="true"] {
    background: var(--ep-primary-light);
    border-color: var(--ep-primary);
    box-shadow: inset 0 0 0 1px var(--ep-primary);
}
.ep-theme-ic {
    grid-row: span 2;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: rgba(106, 176, 35, 0.12);
    color: var(--ep-primary-dark);
    display: flex;
    align-items: center;
    justify-content: center;
}
.ep-theme-ic svg {
    width: 19px;
    height: 19px;
    display: block;
}
.ep-theme-nm {
    font-size: 14.5px;
    font-weight: 600;
    line-height: 1.25;
    color: var(--ep-text);
}
.ep-theme-nm span {
    display: block;
    font-size: 12.5px;
    font-weight: 400;
    color: var(--ep-text-light);
    margin-top: 1px;
}
.ep-theme-bar {
    height: 6px;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.06);
    overflow: hidden;
}
.ep-theme-bar i {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--ep-primary), #8CC93F);
    transform-origin: left center;
    animation: epRateGrowX 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.ep-rate-tools {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    border-bottom: 1px solid var(--ep-border);
    padding-bottom: 14px;
    margin-bottom: 20px;
}
.ep-rate-chip {
    border: 1px solid var(--ep-border);
    background: #fff;
    border-radius: 999px;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 500;
    color: var(--ep-text);
    cursor: pointer;
    font-family: inherit;
    line-height: 1.4;
    transition: all 0.2s ease;
}
.ep-rate-chip:hover {
    border-color: #CFE0B6;
    background: var(--ep-bg-warm);
}
.ep-rate-chip[aria-pressed="true"] {
    background: var(--ep-primary-dark);
    border-color: var(--ep-primary-dark);
    color: #fff;
}
.ep-rate-n {
    opacity: 0.65;
    font-weight: 400;
    margin-left: 5px;
    font-size: 13px;
}
.ep-rate-sep {
    flex: 1;
}
.ep-rate-search {
    position: relative;
    display: flex;
    align-items: center;
}
.ep-rate-search svg {
    position: absolute;
    left: 13px;
    width: 16px;
    height: 16px;
    color: var(--ep-text-light);
    pointer-events: none;
}
.ep-rate-search input {
    font-family: inherit;
    font-size: 14px;
    padding: 9px 14px 9px 36px;
    border-radius: 999px;
    border: 1px solid var(--ep-border);
    background: #fff;
    color: var(--ep-text);
    width: 230px;
    height: auto;
    transition: all 0.2s ease;
}
.ep-rate-search input:focus {
    border-color: var(--ep-primary);
    box-shadow: 0 0 0 3px rgba(106, 176, 35, 0.12);
    outline: none;
    width: 280px;
}
.ep-rate-tools label {
    font-size: 14px;
    color: var(--ep-text-light);
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0;
}
.ep-rate-tools select {
    font-family: inherit;
    font-size: 14px;
    padding: 7px 10px;
    border-radius: 8px;
    border: 1px solid var(--ep-border);
    background: #fff;
    color: var(--ep-text);
    height: auto;
    width: auto;
}

.ep-rate-active {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    background: var(--ep-primary-light);
    border: 1px solid #CFE0B6;
    border-radius: 12px;
    padding: 11px 16px;
    margin-bottom: 18px;
    font-size: 14.5px;
    color: var(--ep-primary-dark);
}
.ep-rate-active b {
    font-weight: 700;
}
.ep-rate-active button {
    margin-left: auto;
    border: 1px solid #CFE0B6;
    background: #fff;
    color: var(--ep-primary-dark);
    border-radius: 999px;
    padding: 5px 14px;
    font-size: 13.5px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    transition: all 0.2s ease;
}
.ep-rate-active button:hover {
    background: var(--ep-primary-dark);
    border-color: var(--ep-primary-dark);
    color: #fff;
}

.ep-rate-quotes {
    columns: 3;
    column-gap: 16px;
    margin-bottom: 8px;
}
.ep-quote {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    background: #fff;
    border: 1px solid var(--ep-border);
    border-radius: 15px;
    padding: 17px 19px 16px;
    margin: 0 0 16px;
    box-shadow: var(--ep-shadow-sm);
    position: relative;
    transition: box-shadow var(--ep-transition), transform var(--ep-transition);
}
.ep-quote:hover {
    box-shadow: var(--ep-shadow-md);
    transform: translateY(-2px);
}
.ep-quote-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}
.ep-quote-av {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 50%;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.3px;
    background: var(--ep-primary-dark);
}
.ep-quote-who {
    min-width: 0;
}
.ep-quote-nm {
    font-weight: 600;
    font-size: 14.5px;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}
.ep-quote-dt {
    font-size: 12.5px;
    color: var(--ep-text-light);
    display: block;
}
.ep-quote-sub {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 2px;
}
.ep-quote-head .stars {
    flex: 0 0 auto;
    display: inline-flex;
    gap: 2px;
}
.ep-quote-head .stars .star {
    width: 14px;
    height: 14px;
}
.ep-quote-head .stars .star::before {
    font-size: 14px;
    line-height: 1;
}
.ep-quote-txt {
    font-size: 15px;
    line-height: 1.55;
    color: #2E2E2E;
}
.ep-quote-txt mark {
    background: rgba(233, 162, 39, 0.28);
    color: inherit;
    border-radius: 3px;
    padding: 0 2px;
}
.ep-quote-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 11px;
}
.ep-quote-tag {
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.3px;
    padding: 3px 9px;
    border-radius: 999px;
    background: rgba(106, 176, 35, 0.09);
    color: var(--ep-primary-dark);
    border: 1px solid rgba(106, 176, 35, 0.16);
}
.ep-quote-big {
    border-color: #DDE8CC;
    background: linear-gradient(180deg, #FBFDF7, #fff);
}
.ep-quote-big .ep-quote-txt {
    font-size: 17px;
    line-height: 1.6;
}
.ep-quote-big::before {
    content: "\201C";
    position: absolute;
    right: 15px;
    top: 3px;
    font-size: 56px;
    color: rgba(106, 176, 35, 0.15);
    font-family: Georgia, serif;
    line-height: 1;
}

.ep-rate-empty {
    text-align: center;
    padding: 40px 20px;
    color: var(--ep-text-light);
    font-size: 15.5px;
}
.ep-rate-empty b {
    display: block;
    color: var(--ep-text);
    font-size: 17px;
    margin-bottom: 6px;
}

.ep-rate-wall-box {
    margin: 26px 0 0;
}
.ep-rate-wall-box > summary {
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    font-weight: 600;
    color: var(--ep-primary-dark);
    background: var(--ep-bg-warm);
    border: 1px solid var(--ep-border);
    border-radius: 12px;
    padding: 12px 18px;
}
.ep-rate-wall-box > summary::-webkit-details-marker {
    display: none;
}
.ep-rate-wall-box > summary::after {
    content: "\25BE";
    margin-left: auto;
    transition: transform 0.2s ease;
}
.ep-rate-wall-box[open] > summary::after {
    transform: rotate(180deg);
}
.ep-rate-wall-box > summary em {
    font-weight: 400;
    color: var(--ep-text-light);
    font-size: 13.5px;
    font-style: normal;
}
.ep-rate-wall {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(215px, 1fr));
    gap: 8px;
    margin-top: 14px;
}
.ep-rate-wall-item {
    display: flex;
    align-items: center;
    gap: 9px;
    background: #fff;
    border: 1px solid var(--ep-border);
    border-radius: 10px;
    padding: 7px 11px;
    font-size: 13.5px;
    min-width: 0;
}
.ep-rate-wall-item .ep-quote-av {
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    font-size: 11px;
}
.ep-rate-wall-item .ep-quote-nm {
    flex: 1;
    font-weight: 500;
}
.ep-rate-wall-item .stars {
    display: inline-flex;
    gap: 1px;
    flex: 0 0 auto;
}
.ep-rate-wall-item .stars .star {
    width: 11px;
    height: 11px;
}
.ep-rate-wall-item .stars .star::before {
    font-size: 11px;
    line-height: 1;
}
.ep-rate-wall-item .ep-quote-dt {
    font-size: 12px;
    white-space: nowrap;
    flex: 0 0 auto;
}

.ep-rate-more {
    text-align: center;
    margin: 26px 0 0;
}
.ep-rate-more .ep-rate-btn {
    padding: 13px 32px;
}
.ep-rate-more .ep-rate-btn[disabled] {
    opacity: 0.55;
    cursor: default;
    transform: none;
}
.ep-rate-pos {
    display: block;
    font-size: 13.5px;
    color: var(--ep-text-light);
    margin-top: 10px;
}

.ep-rate-outro {
    margin-top: 34px;
    background: var(--ep-bg-warm);
    border: 1px solid var(--ep-border);
    border-radius: 18px;
    padding: 26px 28px;
    display: flex;
    gap: 22px;
    align-items: center;
    flex-wrap: wrap;
}
.ep-rate-outro h2 {
    margin: 0 0 4px;
    font-size: 20px;
    font-weight: 700;
    color: var(--ep-text);
}
.ep-rate-outro p {
    margin: 0;
    color: var(--ep-text-light);
    font-size: 15px;
}
.ep-rate-outro-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 12px;
}
.ep-rate-outro-cats a {
    font-size: 13.5px;
    font-weight: 500;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(106, 176, 35, 0.08);
    color: var(--ep-primary-dark);
    border: 1px solid rgba(106, 176, 35, 0.15);
    text-decoration: none;
    transition: all var(--ep-transition);
}
.ep-rate-outro-cats a:hover {
    background: rgba(106, 176, 35, 0.18);
    color: var(--ep-primary-dark);
}
.ep-rate-outro .ep-rate-btn {
    margin-left: auto;
}

.ep-rate-sticky {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 60;
    background: rgba(255, 255, 255, 0.97);
    backdrop-filter: blur(8px);
    color: var(--ep-text);
    border-top: 1px solid var(--ep-border);
    box-shadow: 0 -4px 18px rgba(0, 0, 0, 0.08);
    transform: translateY(105%);
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.ep-rate-sticky.ep-rate-sticky-on {
    transform: translateY(0);
}
@media (min-width: 768px) {
    .ep-rate-sticky {
        display: none;
    }
}
.ep-rate-sticky-in {
    max-width: 1240px;
    margin: 0 auto;
    padding: 10px 20px;
    display: flex;
    align-items: center;
    gap: 14px;
}
.ep-rate-sticky-score {
    font-family: 'Exo 2', var(--ep-font);
    font-size: 24px;
    font-weight: 700;
    color: var(--ep-text);
    line-height: 1;
}
.ep-rate-sticky .stars {
    display: inline-flex;
    gap: 2px;
}
.ep-rate-sticky .stars .star {
    width: 14px;
    height: 14px;
}
.ep-rate-sticky .stars .star::before {
    font-size: 14px;
    line-height: 1;
}
.ep-rate-sticky-txt {
    font-size: 14px;
    color: var(--ep-text-light);
}
.ep-rate-sticky-txt b {
    color: var(--ep-text);
    font-weight: 600;
}
.ep-rate-sticky .ep-rate-btn {
    margin-left: auto;
    padding: 9px 20px;
    font-size: 14px;
}

.ep-rate-hero .star.star-on::before,
.ep-rate-sticky .star.star-on::before,
.ep-quote .star.star-on::before,
.ep-rate-wall-item .star.star-on::before {
    color: #E9A227;
}
.ep-rate-hero .star.star-off::before,
.ep-rate-sticky .star.star-off::before,
.ep-quote .star.star-off::before,
.ep-rate-wall-item .star.star-off::before {
    color: #D9D5CC;
}

body.in-hodnoceni-obchodu #rate-form {
    background: var(--ep-bg-warm);
    border: 1px solid var(--ep-border);
    border-radius: 18px;
    padding: 24px 26px;
    margin-bottom: 26px;
    max-width: 760px;
}
body.in-hodnoceni-obchodu #rate-form h3 {
    margin-top: 0;
    font-size: 21px;
    font-weight: 700;
}
body.in-hodnoceni-obchodu #rate-form .form-control {
    border-radius: 10px;
    border: 1px solid var(--ep-border);
    background: #fff;
}
body.in-hodnoceni-obchodu #rate-form .form-control:focus {
    border-color: var(--ep-primary);
    box-shadow: 0 0 0 3px rgba(106, 176, 35, 0.12);
}
body.in-hodnoceni-obchodu #rate-form .btn-primary {
    border-radius: 999px;
    padding: 12px 28px;
    font-size: 15px;
    font-weight: 600;
    background: var(--ep-primary);
    border-color: var(--ep-primary);
    text-transform: none;
    letter-spacing: 0;
}
body.in-hodnoceni-obchodu #rate-form .btn-primary:hover {
    background: var(--ep-primary-dark);
    border-color: var(--ep-primary-dark);
}
body.in-hodnoceni-obchodu #rate-form .btn::before,
body.in-hodnoceni-obchodu #rate-form .btn::after {
    content: none;
}

.ep-rate-fade {
    opacity: 0;
    transform: translateY(10px);
    animation: epRateIn 0.5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
@keyframes epRateIn {
    to {
        opacity: 1;
        transform: none;
    }
}
@keyframes epRateGrowX {
    from {
        transform: scaleX(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .ep-rate-sticky {
        transition: none;
    }
    .ep-rate-fill,
    .ep-theme-bar i,
}

@media (max-width: 1180px) {
    .ep-rate-quotes {
        columns: 2;
    }
    .ep-rate-themes-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 991px) {
    .ep-rate-hero-top {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .ep-rate-score::after {
        display: none;
    }
    .ep-rate-proof {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 767px) {
    body.in-hodnoceni-obchodu.ep-rate-ready #content h1 {
        font-size: 25px;
        margin-bottom: 14px;
    }
    .ep-rate-hero {
        padding: 22px 18px 20px;
        border-radius: 18px;
    }
    .ep-rate-hero-top {
        gap: 16px;
    }
    .ep-rate-num {
        font-size: 64px;
    }
    .ep-rate-score .stars .star {
        width: 20px;
        height: 20px;
    }
    .ep-rate-score .stars .star::before {
        font-size: 20px;
    }
    .ep-rate-row {
        grid-template-columns: 42px 1fr 92px;
        gap: 9px;
    }
    .ep-rate-val {
        font-size: 12px;
    }
    .ep-rate-proof {
        grid-template-columns: 1fr;
        gap: 7px;
    }
    .ep-rate-proof > div {
        padding: 9px 11px;
    }
    .ep-rate-actions {
        gap: 9px;
        margin-bottom: 20px;
    }
    .ep-rate-actions .ep-rate-btn {
        flex: 1 1 auto;
        justify-content: center;
        padding: 12px 14px;
    }
    .ep-rate-hint {
        margin-left: 0;
        flex-basis: 100%;
    }
    .ep-rate-themes {
        padding: 18px 14px 18px;
        border-radius: 16px;
    }
    .ep-rate-themes-head {
        margin-bottom: 13px;
    }
    .ep-rate-themes-head h2 {
        font-size: 17.5px;
    }
    .ep-rate-themes-grid {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
    .ep-theme {
        padding: 10px 11px;
        grid-template-columns: 26px 1fr;
        column-gap: 8px;
        row-gap: 6px;
        align-items: start;
    }
    .ep-theme:hover {
        transform: none;
    }
    .ep-theme-ic {
        width: 26px;
        height: 26px;
    }
    .ep-theme-ic svg {
        width: 15px;
        height: 15px;
    }
    .ep-theme-nm {
        font-size: 13px;
    }
    .ep-theme-nm span {
        font-size: 11.5px;
    }
    .ep-rate-tools {
        gap: 7px;
        padding-bottom: 12px;
        margin-bottom: 16px;
    }
    .ep-rate-tools label {
        order: 5;
        flex: 0 0 auto;
        font-size: 13px;
    }
    .ep-rate-tools select {
        padding: 6px 8px;
        font-size: 13px;
    }
    .ep-rate-chip {
        padding: 7px 13px;
        font-size: 13.5px;
    }
    .ep-rate-sep {
        flex-basis: 100%;
        height: 0;
    }
    .ep-rate-search {
        order: 4;
        flex: 1 1 0;
        min-width: 0;
    }
    .ep-rate-search input,
    .ep-rate-search input:focus {
        width: 100%;
    }
    .ep-rate-quotes {
        columns: 2;
        column-gap: 9px;
    }
    .ep-quote {
        padding: 11px 12px 10px;
        margin-bottom: 9px;
        border-radius: 12px;
    }
    .ep-quote-head {
        margin-bottom: 6px;
        gap: 7px;
    }
    .ep-quote-av {
        width: 26px;
        height: 26px;
        flex: 0 0 26px;
        font-size: 11px;
    }
    .ep-quote-nm {
        font-size: 12.5px;
    }
    .ep-quote-dt {
        font-size: 11px;
    }
    .ep-quote-sub {
        flex-wrap: wrap;
        gap: 2px 5px;
        margin-top: 1px;
    }
    .ep-quote .ep-quote-dt {
        font-size: 10.5px;
    }
    .ep-quote-head .stars {
        gap: 1px;
    }
    .ep-quote-head .stars .star {
        width: 11px;
        height: 11px;
    }
    .ep-quote-head .stars .star::before {
        font-size: 11px;
    }
    .ep-quote-txt {
        font-size: 13px;
        line-height: 1.45;
    }
    .ep-quote-big .ep-quote-txt {
        font-size: 13.5px;
    }
    .ep-quote-big::before {
        font-size: 38px;
        right: 9px;
        top: 1px;
    }
    .ep-quote-tags {
        gap: 4px;
        margin-top: 8px;
    }
    .ep-quote-tag {
        font-size: 10px;
        padding: 2px 7px;
    }
    .ep-rate-wall-box {
        margin-top: 20px;
    }
    .ep-rate-wall-box > summary {
        padding: 11px 14px;
        font-size: 14px;
    }
    .ep-rate-wall {
        grid-template-columns: 1fr 1fr;
        gap: 7px;
    }
    .ep-rate-wall-item {
        padding: 6px 9px;
        font-size: 12.5px;
        gap: 7px;
    }
    .ep-rate-wall-item .ep-quote-dt {
        display: none;
    }
    .ep-rate-outro {
        padding: 22px;
    }
    .ep-rate-outro .ep-rate-btn {
        margin-left: 0;
        width: 100%;
        justify-content: center;
    }
    .ep-rate-sticky-in {
        padding: 9px 14px;
        gap: 10px;
    }
    .ep-rate-sticky-score {
        font-size: 20px;
    }
    .ep-rate-sticky .stars {
        display: none;
    }
    .ep-rate-sticky-txt {
        font-size: 12.5px;
        line-height: 1.25;
    }
    .ep-rate-sticky .ep-rate-btn {
        padding: 9px 16px;
        font-size: 13.5px;
    }
    body.in-hodnoceni-obchodu #rate-form {
        padding: 20px 18px;
    }
}


@media (max-width: 374px) {
    .ep-rate-wall {
        grid-template-columns: 1fr;
    }
    .ep-rate-wall-item .ep-quote-dt {
        display: block;
    }
}


@media (max-width: 991px) {
    :where(html[lang="cs"]) .top-navigation-bar .responsive-tools > a[data-target="navigation"] {
        position: absolute;
        right: 0;
        left: auto;
        top: 50%;
        transform: translateY(-50%);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        width: auto;
        height: 44px;
        margin: 0;
        padding: 0 14px 0 12px;
        border-radius: var(--ep-radius-sm);
        background: var(--ep-primary-dark);
        box-shadow: var(--ep-shadow-sm);
        color: #fff;
        text-decoration: none;
        z-index: 3;
        -webkit-tap-highlight-color: transparent;
        transition: background var(--ep-transition);
    }
    :where(html[lang="cs"]) .top-navigation-bar .responsive-tools > a[data-target="navigation"]::before {
        position: static;
        width: auto;
        height: auto;
        margin: 0;
        padding: 0;
        background: none;
        border-radius: 0;
        color: inherit;
        font-size: 20px;
        line-height: 1;
    }
    :where(html[lang="cs"]) .top-navigation-bar .responsive-tools > a[data-target="navigation"]::after {
        position: static;
        width: auto !important;
        height: auto;
        margin: 0;
        padding: 0;
        background: none;
        color: inherit;
        font-family: inherit;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 0.06em;
        line-height: 1;
    }
    :where(html[lang="cs"]) .top-navigation-bar .responsive-tools > a[data-target="navigation"]:hover,
    :where(html[lang="cs"]) .top-navigation-bar .responsive-tools > a[data-target="navigation"]:focus,
    :where(html[lang="cs"]) .top-navigation-bar .responsive-tools > a[data-target="navigation"]:active {
        background: var(--ep-primary);
        color: #fff;
    }
    :where(html[lang="cs"]) .top-navigation-bar .responsive-tools > a[data-target="navigation"]:focus-visible {
        outline: 2px solid var(--ep-primary-dark);
        outline-offset: 3px;
    }
}

@media (max-width: 359px) {
    :where(html[lang="cs"]) .top-navigation-bar .responsive-tools > a[data-target="navigation"] {
        height: 42px;
        gap: 6px;
        padding: 0 12px 0 10px;
    }
    :where(html[lang="cs"]) .top-navigation-bar .responsive-tools > a[data-target="navigation"]::before {
        font-size: 18px;
    }
    :where(html[lang="cs"]) .top-navigation-bar .responsive-tools > a[data-target="navigation"]::after {
        font-size: 12px;
        letter-spacing: 0.04em;
    }
}

#footer.ep-foot-ready .ep-foot-trust {
    position: relative;
    z-index: 2;
    background: rgba(0,0,0,0.10);
    border-top: 1px solid rgba(255,255,255,0.07);
}
#footer.ep-foot-ready .ep-foot-trust-in {
    position: relative;
    z-index: 2;
    max-width: 1208px;
    margin: 0 auto;
    padding: 14px 15px;
    display: flex;
    align-items: center;
    gap: 14px 22px;
    flex-wrap: wrap;
}
#footer.ep-foot-ready .ep-foot-trust-items {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}
#footer.ep-foot-ready .ep-foot-trust-lbl {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    white-space: nowrap;
    color: #7C8A72;
}
#footer.ep-foot-ready .ep-foot-heureka {
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 10px;
    padding: 8px 15px 8px 9px;
    min-height: 72px;
    text-decoration: none;
    transition: border-color var(--ep-transition), background var(--ep-transition);
}
#footer.ep-foot-ready .ep-foot-heureka:hover {
    background: rgba(255,255,255,0.08);
    border-color: rgba(242,183,5,0.45);
}
#footer.ep-foot-ready .ep-foot-pecet {
    display: block;
    flex: 0 0 auto;
    width: 54px;
    height: 54px;
    background: var(--ep-white);
    border-radius: 50%;
}
#footer.ep-foot-ready .ep-foot-heureka-d {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
#footer.ep-foot-ready .ep-foot-heureka-top {
    display: flex;
    align-items: center;
    gap: 7px;
}
#footer.ep-foot-ready .ep-foot-heureka-num {
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    color: #FFFFFF;
}
#footer.ep-foot-ready .ep-foot-heureka-sub {
    font-size: 12px;
    color: #93A089;
    white-space: nowrap;
}
#footer.ep-foot-ready .ep-foot-google {
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 10px;
    padding: 10px 15px;
    min-height: 72px;
    text-decoration: none;
    transition: border-color var(--ep-transition), background var(--ep-transition);
}
#footer.ep-foot-ready .ep-foot-google:hover {
    background: rgba(255,255,255,0.08);
    border-color: rgba(66,133,244,0.5);
}
#footer.ep-foot-ready .ep-foot-google-ico {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    background: var(--ep-white);
    border-radius: 50%;
    color: #4285F4;
    font-size: 19px;
    font-weight: 700;
    line-height: 1;
}
#footer.ep-foot-ready .ep-foot-google-d {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
#footer.ep-foot-ready .ep-foot-google-top {
    display: flex;
    align-items: center;
    gap: 7px;
}
#footer.ep-foot-ready .ep-foot-google-num {
    font-size: 16px;
    font-weight: 700;
    color: #FFFFFF;
    line-height: 1;
}
#footer.ep-foot-ready .ep-foot-google-sub {
    font-size: 12px;
    color: #93A089;
    white-space: nowrap;
}

@media (max-width: 767px) {
    #footer.ep-foot-ready .ep-foot-trust-in {
        gap: 14px;
    }
    #footer.ep-foot-ready .ep-foot-pecet {
        width: 46px;
        height: 46px;
    }
}

@media (max-width: 767px) {
    :where(html[lang="cs"]) #header .header-top .site-name a img {
        max-height: 46px;
    }
    :where(html[lang="cs"]) .top-navigation-bar .responsive-tools > a[data-target="login"] {
        display: block;
        position: absolute;
        right: 98px;
        top: 50%;
        margin: 0;
        transform: translateY(-50%);
        color: #767676;
    }
    :where(html[lang="cs"]) .top-navigation-bar .responsive-tools > a[data-target="search"] {
        right: 138px;
        top: 50%;
        margin: 0;
        transform: translateY(-50%);
    }
    :where(html[lang="cs"]) #header .header-top .navigation-buttons > a.cart-count {
        left: auto;
        right: 188px !important;
    }
}

@media (max-width: 359px) {
    :where(html[lang="cs"]) .top-navigation-bar .responsive-tools > a[data-target="login"] {
        right: 51px;
    }
    :where(html[lang="cs"]) .top-navigation-bar .responsive-tools > a[data-target="search"] {
        right: 91px;
    }
    :where(html[lang="cs"]) #header .header-top .navigation-buttons > a.cart-count {
        right: 141px !important;
    }
    :where(html[lang="cs"]) .top-navigation-bar .responsive-tools > a[data-target="navigation"] {
        gap: 0;
        width: 44px;
        padding: 0;
    }
    :where(html[lang="cs"]) .top-navigation-bar .responsive-tools > a[data-target="navigation"]::after {
        display: none;
    }
}

@media (max-width: 767px) {
    :where(html[lang="cs"]) body.navigation-window-visible #navigation::before {
        content: "";
        position: fixed;
        top: 0;
        right: 60%;
        bottom: 0;
        left: 0;
        z-index: -1;
        background: rgba(28, 39, 22, 0.5);
    }
}

@media (max-width: 479px) {
    :where(html[lang="cs"]) body.navigation-window-visible #navigation {
        width: min(88%, 340px);
    }
    :where(html[lang="cs"]) body.navigation-window-visible #navigation::before {
        right: min(88%, 340px);
    }
}
