/**
 * Prírodná farmácia u sv. Hildegardy (prirodnafarmacia.sk)
 * Moderný responzívny dizajn inšpirovaný pôvodnou bylinkovou farebnosťou (#F4FFE4, #5C743D, #99CC66, #D5EDB3, #993300)
 */

:root {
    --pf-bg-cream: #F6FAF0;
    --pf-bg-soft: #EDF5E1;
    --pf-bg-card: #FFFFFF;
    --pf-olive-dark: #2C3B1B;
    --pf-olive-main: #4A6130;
    --pf-olive-orig: #5C743D;
    --pf-herb-green: #7FB347;
    --pf-herb-lime: #99CC66;
    --pf-herb-pale: #D5EDB3;
    --pf-herb-tint: #EBF5DB;
    --pf-terra: #993300;
    --pf-terra-light: #FDF1EB;
    --pf-text: #243018;
    --pf-text-main: #243018;
    --pf-text-body: #445236;
    --pf-text-muted: #69785A;
    --pf-border: #D8E6C3;
    --pf-border-strong: #BDD39E;
    --pf-shadow-sm: 0 2px 8px rgba(44, 59, 27, 0.06);
    --pf-shadow-md: 0 8px 24px rgba(44, 59, 27, 0.09);
    --pf-shadow-lg: 0 18px 42px rgba(44, 59, 27, 0.14);
    --pf-radius-sm: 8px;
    --pf-radius-md: 14px;
    --pf-radius-lg: 20px;
    --pf-font-serif: 'Lora', Georgia, serif;
    --pf-font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

*, *::before, *::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body.pf-body {
    margin: 0;
    font-family: var(--pf-font-sans);
    background-color: var(--pf-bg-cream);
    color: var(--pf-text-body);
    line-height: 1.6;
    font-size: 15.5px;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 {
    font-family: var(--pf-font-serif);
    color: var(--pf-olive-dark);
    margin-top: 0;
    line-height: 1.25;
}

a {
    color: var(--pf-olive-main);
    text-decoration: none;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

a:hover {
    color: var(--pf-terra);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

.pf-container {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
}

/* --- HORNÁ LIŠTA --- */
.pf-notice-banner {
    background: var(--pf-terra);
    color: #fff;
    padding: 8px 0;
    font-size: 13.5px;
    font-weight: 600;
    text-align: center;
}

.pf-topbar {
    background: var(--pf-olive-dark);
    color: var(--pf-herb-pale);
    font-size: 13px;
    padding: 8px 0;
    border-bottom: 2px solid var(--pf-herb-lime);
}

.pf-topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
}

.pf-topbar-left, .pf-topbar-right {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.pf-topbar-sep {
    opacity: 0.45;
}

.pf-topbar-link {
    color: var(--pf-herb-pale);
    font-weight: 500;
}

.pf-topbar-link:hover {
    color: #fff;
}

.pf-mode-pill {
    padding: 2px 10px;
    border-radius: 99px;
    font-size: 12px;
    font-weight: 600;
}

.pf-mode-pill.is-shop {
    background: rgba(153, 204, 102, 0.22);
    color: #d9f7b6;
    border: 1px solid rgba(153, 204, 102, 0.45);
}

.pf-mode-pill.is-catalog {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.pf-admin-quick-toggle {
    background: var(--pf-herb-lime);
    color: var(--pf-olive-dark);
    border: none;
    padding: 3px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.pf-admin-quick-toggle:hover {
    background: #b2df83;
}

.pf-topbar-admin-btn, .pf-topbar-admin-link {
    color: #fff;
    background: rgba(255, 255, 255, 0.12);
    padding: 3px 9px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
}

.pf-topbar-admin-btn:hover, .pf-topbar-admin-link:hover {
    background: var(--pf-terra);
    color: #fff;
}

/* --- HLAVIČKA & NAVIGÁCIA --- */
.pf-header {
    background: linear-gradient(180deg, #E2F2C8 0%, #F4FFE4 100%);
    border-bottom: 1px solid var(--pf-border-strong);
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: var(--pf-shadow-sm);
}

.pf-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 78px;
}

.pf-brand {
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
}

.pf-brand-emblem {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid var(--pf-olive-orig);
    background: #fff;
    flex-shrink: 0;
    box-shadow: 0 3px 8px rgba(92, 116, 61, 0.22);
}

.pf-brand-avatar {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}

.pf-brand-title {
    display: block;
    font-family: var(--pf-font-serif);
    font-size: 20px;
    font-weight: 700;
    color: var(--pf-olive-dark);
    letter-spacing: 0.01em;
    line-height: 1.15;
}

.pf-brand-tagline {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: var(--pf-terra);
    margin-top: 3px;
}

.pf-nav {
    display: flex;
    align-items: center;
    gap: 4px;
}

.pf-nav-link {
    padding: 9px 14px;
    border-radius: var(--pf-radius-sm);
    font-weight: 600;
    font-size: 14.5px;
    color: var(--pf-olive-dark);
    white-space: nowrap;
}

.pf-nav-link:hover, .pf-nav-link.active {
    background: var(--pf-olive-orig);
    color: #fff;
}

/* Dropdown menu kategórií */
.pf-nav-dropdown {
    position: relative;
}

.pf-dropdown-menu {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    width: 540px;
    background: #fff;
    border: 1px solid var(--pf-border-strong);
    border-radius: var(--pf-radius-md);
    box-shadow: var(--pf-shadow-lg);
    padding: 14px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: all 0.2s ease;
    z-index: 200;
}

.pf-nav-dropdown:hover .pf-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.pf-dropdown-all {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--pf-herb-tint);
    padding: 10px 14px;
    border-radius: var(--pf-radius-sm);
    font-weight: 700;
    color: var(--pf-olive-dark);
    margin-bottom: 10px;
}

.pf-dropdown-all:hover {
    background: var(--pf-herb-pale);
    color: var(--pf-terra);
}

.pf-dropdown-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}

.pf-dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: var(--pf-radius-sm);
    color: var(--pf-text-main);
}

.pf-dropdown-item:hover {
    background: var(--pf-bg-soft);
    color: var(--pf-terra);
}

.pf-dd-icon {
    font-size: 20px;
}

.pf-dropdown-item strong {
    display: block;
    font-size: 13.5px;
    line-height: 1.2;
}

.pf-dropdown-item small {
    font-size: 11.5px;
    color: var(--pf-text-muted);
}

/* Košík tlačidlo v hlavičke */
.pf-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pf-cart-trigger {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--pf-olive-orig);
    color: #fff;
    border: 2px solid var(--pf-olive-dark);
    padding: 8px 15px;
    border-radius: 99px;
    font-family: var(--pf-font-sans);
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 3px 10px rgba(74, 97, 48, 0.22);
}

.pf-cart-trigger:hover {
    background: var(--pf-olive-dark);
    transform: translateY(-1px);
}

.pf-cart-badge {
    background: var(--pf-herb-lime);
    color: var(--pf-olive-dark);
    font-size: 12px;
    font-weight: 800;
    padding: 1px 7px;
    border-radius: 99px;
}

.pf-cart-total {
    font-size: 13px;
    color: var(--pf-herb-pale);
    border-left: 1px solid rgba(255, 255, 255, 0.25);
    padding-left: 8px;
}

.pf-mobile-toggle {
    display: none;
    flex-direction: column;
    gap: 4px;
    background: #fff;
    border: 1px solid var(--pf-border-strong);
    padding: 9px;
    border-radius: 8px;
    cursor: pointer;
}

.pf-mobile-toggle span {
    width: 20px;
    height: 2px;
    background: var(--pf-olive-dark);
}

/* --- TLAČIDLÁ A ODZNAKY --- */
.pf-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: var(--pf-radius-sm);
    font-family: var(--pf-font-sans);
    font-weight: 600;
    font-size: 14.5px;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all 0.18s ease;
    text-decoration: none;
    line-height: 1.3;
}

.pf-btn-primary {
    background: var(--pf-olive-orig);
    color: #fff;
    border-color: var(--pf-olive-dark);
}

.pf-btn-primary:hover {
    background: var(--pf-olive-dark);
    color: #fff;
    transform: translateY(-1px);
}

.pf-btn-outline {
    background: #fff;
    color: var(--pf-olive-dark);
    border-color: var(--pf-border-strong);
}

.pf-btn-outline:hover {
    background: var(--pf-herb-tint);
    border-color: var(--pf-olive-orig);
    color: var(--pf-terra);
}

.pf-btn-ghost {
    background: transparent;
    color: var(--pf-text-body);
}

.pf-btn-ghost:hover {
    background: var(--pf-bg-soft);
}

.pf-btn-lg {
    padding: 13px 24px;
    font-size: 15.5px;
}

.pf-btn-sm {
    padding: 7px 13px;
    font-size: 13.5px;
}

.pf-btn-xs {
    padding: 5px 10px;
    font-size: 12.5px;
}

.pf-w-full {
    width: 100%;
}

.pf-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 9px;
    border-radius: 6px;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.pf-badge-code {
    background: var(--pf-olive-dark);
    color: var(--pf-herb-pale);
}

.pf-badge-new {
    background: #E6F6D5;
    color: #2D5A12;
    border: 1px solid #99CC66;
}

.pf-badge-featured {
    background: var(--pf-terra-light);
    color: var(--pf-terra);
    border: 1px solid #E5B59F;
}

.pf-badge-out {
    background: #FEE2E2;
    color: #991B1B;
}

.pf-badge-cat {
    background: var(--pf-herb-tint);
    color: var(--pf-olive-dark);
}

/* --- HERO SEKCIA --- */
.pf-hero {
    background: radial-gradient(circle at top right, #E2F2C6 0%, #F4FFE4 55%, #F7FAF2 100%);
    padding: 44px 0 48px;
    border-bottom: 1px solid var(--pf-border);
}

.pf-hero-grid {
    display: grid;
    grid-template-columns: 1.18fr 0.82fr;
    gap: 36px;
    align-items: center;
}

.pf-eyebrow {
    display: inline-block;
    background: var(--pf-herb-pale);
    color: var(--pf-terra);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    padding: 5px 13px;
    border-radius: 99px;
    margin-bottom: 14px;
}

.pf-hero-title {
    font-size: clamp(28px, 3.6vw, 44px);
    color: var(--pf-olive-dark);
    margin-bottom: 14px;
}

.pf-hero-lead {
    font-size: 16.5px;
    color: var(--pf-text-body);
    margin-bottom: 22px;
    max-width: 640px;
}

.pf-hero-search {
    margin-bottom: 16px;
}

.pf-search-input-wrap {
    display: flex;
    align-items: center;
    background: #fff;
    border: 2px solid var(--pf-olive-orig);
    border-radius: var(--pf-radius-md);
    padding: 5px 6px 5px 14px;
    box-shadow: var(--pf-shadow-sm);
}

.pf-search-input-wrap input {
    border: none;
    outline: none;
    width: 100%;
    font-size: 15px;
    font-family: var(--pf-font-sans);
    padding: 8px 10px;
    color: var(--pf-text-main);
}

.pf-health-pills {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-bottom: 24px;
}

.pf-pills-label {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--pf-text-muted);
    margin-right: 4px;
}

.pf-health-pill {
    background: #fff;
    border: 1px solid var(--pf-border-strong);
    color: var(--pf-olive-dark);
    font-size: 12.5px;
    font-weight: 600;
    padding: 4px 11px;
    border-radius: 99px;
}

.pf-health-pill:hover {
    background: var(--pf-herb-lime);
    border-color: var(--pf-olive-orig);
    color: var(--pf-olive-dark);
}

.pf-hero-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.pf-hero-VisualCard {
    background: #fff;
    border: 1px solid var(--pf-border-strong);
    border-radius: var(--pf-radius-lg);
    padding: 16px;
    box-shadow: var(--pf-shadow-md);
}

.pf-hero-banner-img {
    width: 100%;
    border-radius: var(--pf-radius-md);
    border: 1px solid var(--pf-border);
    margin-bottom: 14px;
}

.pf-hero-showcase-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 14px;
}

.pf-hero-mini-card {
    background: var(--pf-bg-cream);
    border: 1px solid var(--pf-border);
    border-radius: var(--pf-radius-sm);
    padding: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
}

.pf-hero-mini-card:hover {
    border-color: var(--pf-olive-orig);
    background: var(--pf-herb-tint);
    transform: translateY(-2px);
}

.pf-hero-mini-card img {
    width: 100%;
    height: 76px;
    object-fit: cover;
    border-radius: 6px;
    margin-bottom: 6px;
}

.pf-hero-mini-card strong {
    display: block;
    font-size: 12.5px;
    color: var(--pf-olive-dark);
}

.pf-hero-mini-card span {
    font-size: 11px;
    color: var(--pf-text-muted);
}

.pf-hero-trust-strip {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    gap: 8px;
    background: var(--pf-olive-orig);
    color: var(--pf-herb-pale);
    padding: 9px 12px;
    border-radius: var(--pf-radius-sm);
    font-size: 12px;
    font-weight: 700;
}

/* --- PÁS VÝHOD --- */
.pf-benefits-bar {
    background: var(--pf-olive-orig);
    color: #fff;
    padding: 18px 0;
    border-bottom: 3px solid var(--pf-herb-lime);
}

.pf-benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.pf-benefit-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.pf-benefit-icon {
    font-size: 26px;
    background: rgba(255, 255, 255, 0.14);
    width: 46px;
    height: 46px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.pf-benefit-item strong {
    display: block;
    font-size: 14px;
    color: var(--pf-herb-pale);
}

.pf-benefit-item span {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.85);
}

/* --- SEKCIE --- */
.pf-section {
    padding: 54px 0;
}

.pf-section-alt {
    background: var(--pf-bg-soft);
    border-top: 1px solid var(--pf-border);
    border-bottom: 1px solid var(--pf-border);
}

.pf-section-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 28px;
}

.pf-section-tag {
    display: inline-block;
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: 0.15em;
    color: var(--pf-terra);
    text-transform: uppercase;
    margin-bottom: 6px;
}

.pf-section-title {
    font-size: clamp(24px, 2.6vw, 32px);
    margin-bottom: 6px;
}

.pf-section-sub {
    margin: 0;
    color: var(--pf-text-muted);
}

.pf-section-center-cta {
    text-align: center;
    margin-top: 32px;
}

/* --- KATEGÓRIE --- */
.pf-categories-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.pf-category-card {
    background: #fff;
    border: 1px solid var(--pf-border);
    border-radius: var(--pf-radius-md);
    padding: 20px;
    display: flex;
    flex-direction: column;
    transition: all 0.2s ease;
    box-shadow: var(--pf-shadow-sm);
}

.pf-category-card:hover {
    border-color: var(--pf-olive-orig);
    transform: translateY(-3px);
    box-shadow: var(--pf-shadow-md);
}

.pf-cat-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.pf-cat-icon {
    font-size: 28px;
    background: var(--pf-herb-tint);
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pf-cat-count {
    background: var(--pf-bg-soft);
    color: var(--pf-olive-main);
    font-size: 12px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 99px;
}

.pf-category-card h3 {
    font-size: 17.5px;
    margin-bottom: 8px;
}

.pf-category-card p {
    font-size: 13.5px;
    color: var(--pf-text-muted);
    margin: 0 0 14px;
    flex-grow: 1;
}

.pf-cat-link {
    font-size: 13px;
    font-weight: 700;
    color: var(--pf-terra);
}

/* --- PRODUKTOVÉ KARTY --- */
.pf-products-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.pf-catalog-grid {
    grid-template-columns: repeat(3, 1fr);
}

.pf-product-card {
    background: #fff;
    border: 1px solid var(--pf-border);
    border-radius: var(--pf-radius-md);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: all 0.2s ease;
    box-shadow: var(--pf-shadow-sm);
}

.pf-product-card:hover {
    border-color: var(--pf-olive-orig);
    box-shadow: var(--pf-shadow-md);
    transform: translateY(-2px);
}

.pf-product-card.is-out {
    opacity: 0.82;
}

.pf-card-media {
    position: relative;
    height: 185px;
    background: #FAFDF6;
    border-bottom: 1px solid var(--pf-border);
    cursor: pointer;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
}

.pf-card-img {
    max-height: 160px;
    width: auto;
    object-fit: contain;
    transition: transform 0.25s ease;
}

.pf-product-card:hover .pf-card-img {
    transform: scale(1.04);
}

.pf-card-badges {
    position: absolute;
    top: 10px;
    left: 10px;
    right: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    z-index: 2;
}

.pf-card-body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.pf-card-meta {
    font-size: 12px;
    color: var(--pf-text-muted);
    font-weight: 600;
    margin-bottom: 6px;
}

.pf-card-title {
    font-size: 16.5px;
    margin-bottom: 4px;
    cursor: pointer;
}

.pf-card-title:hover {
    color: var(--pf-terra);
}

.pf-card-latin {
    font-size: 12.5px;
    font-style: italic;
    color: var(--pf-olive-orig);
    margin-bottom: 6px;
}

.pf-card-desc {
    font-size: 13px;
    color: var(--pf-text-body);
    margin: 0 0 14px;
    flex-grow: 1;
}

.pf-card-footer {
    border-top: 1px dashed var(--pf-border);
    padding-top: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
}

.pf-card-price {
    font-size: 18px;
    font-weight: 800;
    color: var(--pf-olive-dark);
}

.pf-card-vat {
    font-size: 11px;
    color: var(--pf-text-muted);
    margin-left: 2px;
}

.pf-card-buy-row {
    display: flex;
    align-items: center;
    gap: 6px;
}

/* --- PREDSLOV & SV. HILDEGARDA --- */
.pf-section-hildegard {
    background: linear-gradient(135deg, #EDF6DC 0%, #F6FAF0 100%);
    border-top: 1px solid var(--pf-border-strong);
    border-bottom: 1px solid var(--pf-border-strong);
}

.pf-hildegard-grid {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 38px;
    align-items: start;
}

.pf-portrait-card {
    background: #fff;
    border: 1px solid var(--pf-border-strong);
    border-radius: var(--pf-radius-md);
    padding: 16px;
    text-align: center;
    box-shadow: var(--pf-shadow-sm);
    margin-bottom: 18px;
}

.pf-portrait-img {
    margin: 0 auto 12px;
    border-radius: var(--pf-radius-sm);
    border: 2px solid var(--pf-olive-orig);
}

.pf-portrait-caption strong {
    display: block;
    font-size: 15px;
    color: var(--pf-olive-dark);
}

.pf-portrait-caption span {
    font-size: 12.5px;
    color: var(--pf-text-muted);
}

.pf-promo-tinktura-card {
    background: #fff;
    border: 1px solid var(--pf-border-strong);
    border-radius: var(--pf-radius-md);
    padding: 14px;
    display: flex;
    align-items: center;
    gap: 14px;
}

.pf-promo-tinktura-card img {
    width: 88px;
    border-radius: 6px;
    flex-shrink: 0;
}

.pf-promo-tinktura-card h4 {
    margin: 4px 0;
    font-size: 16px;
}

.pf-promo-tinktura-card p {
    font-size: 12.5px;
    margin: 0 0 8px;
}

.pf-hildegard-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
}

/* --- 3 STĹPCE NA ÚVODE (PORADŇA, PREDAJŇA, AKTUALITY) --- */
.pf-three-col-showcase {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.pf-info-panel {
    background: #fff;
    border: 1px solid var(--pf-border);
    border-radius: var(--pf-radius-md);
    padding: 24px;
    box-shadow: var(--pf-shadow-sm);
    display: flex;
    flex-direction: column;
}

.pf-store-banner-wrap {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.pf-store-banner-img {
    max-height: 220px;
    margin: 0 auto;
    border-radius: var(--pf-radius-sm);
    cursor: pointer;
    border: 1px solid var(--pf-border);
}

.pf-store-meta-box {
    background: var(--pf-bg-cream);
    border: 1px solid var(--pf-border);
    border-radius: var(--pf-radius-sm);
    padding: 12px;
    font-size: 13.5px;
    margin: 10px 0;
}

.pf-store-meta-box p {
    margin: 4px 0;
}

.pf-news-mini-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 16px;
    flex-grow: 1;
}

.pf-news-mini-item {
    border-bottom: 1px dashed var(--pf-border);
    padding-bottom: 10px;
}

.pf-news-date {
    display: inline-block;
    font-size: 11.5px;
    font-weight: 800;
    color: var(--pf-terra);
    background: var(--pf-terra-light);
    padding: 1px 7px;
    border-radius: 4px;
    margin-bottom: 3px;
}

.pf-news-mini-item strong {
    display: block;
    font-size: 14px;
    color: var(--pf-olive-dark);
}

.pf-news-mini-item p {
    font-size: 13px;
    margin: 3px 0 0;
    color: var(--pf-text-body);
}

.pf-pricelist-download-box {
    background: var(--pf-herb-tint);
    padding: 12px;
    border-radius: var(--pf-radius-sm);
    font-size: 13px;
}

.pf-dl-btns {
    display: flex;
    gap: 8px;
    margin-top: 8px;
}

/* --- KATALÓG & BOČNÝ PANEL --- */
.pf-page-header {
    background: linear-gradient(180deg, #E5F3CE 0%, #F6FAF0 100%);
    padding: 28px 0;
    border-bottom: 1px solid var(--pf-border);
}

.pf-breadcrumb {
    font-size: 13px;
    color: var(--pf-text-muted);
    margin-bottom: 8px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.pf-page-header-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
}

.pf-page-header h1 {
    font-size: clamp(24px, 3vw, 34px);
    margin-bottom: 6px;
}

.pf-page-sub {
    margin: 0;
    color: var(--pf-text-body);
    max-width: 760px;
}

.pf-header-dl-group {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.pf-catalog-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 28px;
    align-items: start;
}

.pf-sidebar-box {
    background: #fff;
    border: 1px solid var(--pf-border);
    border-radius: var(--pf-radius-md);
    padding: 18px;
    margin-bottom: 18px;
    box-shadow: var(--pf-shadow-sm);
}

.pf-sidebar-box h3, .pf-sidebar-box h4 {
    font-size: 16.5px;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--pf-border);
}

.pf-cat-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pf-cat-menu a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 9px 11px;
    border-radius: var(--pf-radius-sm);
    color: var(--pf-text-main);
    font-size: 14px;
    font-weight: 500;
}

.pf-cat-menu a:hover, .pf-cat-menu a.active {
    background: var(--pf-olive-orig);
    color: #fff;
    font-weight: 700;
}

.pf-cat-menu .pf-count {
    font-size: 12px;
    background: rgba(0, 0, 0, 0.07);
    padding: 1px 7px;
    border-radius: 99px;
}

.pf-cat-menu a.active .pf-count {
    background: var(--pf-herb-lime);
    color: var(--pf-olive-dark);
}

.pf-quick-filters {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.pf-filter-chip {
    display: block;
    padding: 8px 12px;
    border-radius: var(--pf-radius-sm);
    background: var(--pf-bg-cream);
    border: 1px solid var(--pf-border);
    font-size: 13.5px;
    font-weight: 600;
    color: var(--pf-olive-dark);
}

.pf-filter-chip.active, .pf-filter-chip:hover {
    background: var(--pf-herb-pale);
    border-color: var(--pf-olive-orig);
    color: var(--pf-terra);
}

.pf-catalog-toolbar {
    background: #fff;
    border: 1px solid var(--pf-border);
    border-radius: var(--pf-radius-md);
    padding: 12px 16px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    box-shadow: var(--pf-shadow-sm);
}

.pf-catalog-search-form {
    flex: 1;
    min-width: 260px;
}

.pf-toolbar-search {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--pf-bg-cream);
    border: 1px solid var(--pf-border-strong);
    border-radius: var(--pf-radius-sm);
    padding: 7px 12px;
}

.pf-toolbar-search input {
    border: none;
    background: transparent;
    outline: none;
    width: 100%;
    font-size: 14.5px;
    font-family: var(--pf-font-sans);
}

.pf-clear-search {
    font-size: 12px;
    font-weight: 700;
    color: var(--pf-terra);
    white-space: nowrap;
}

.pf-toolbar-right {
    display: flex;
    align-items: center;
    gap: 14px;
}

.pf-results-count {
    font-size: 13.5px;
    color: var(--pf-text-muted);
}

.pf-view-switcher, .pf-tab-pills {
    display: inline-flex;
    background: var(--pf-bg-soft);
    padding: 4px;
    border-radius: var(--pf-radius-sm);
    border: 1px solid var(--pf-border);
}

.pf-view-btn, .pf-tab-btn {
    border: none;
    background: transparent;
    padding: 6px 13px;
    border-radius: 6px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--pf-text-body);
    cursor: pointer;
}

.pf-view-btn.active, .pf-tab-btn.active {
    background: var(--pf-olive-orig);
    color: #fff;
}

/* Cenníková tabuľka v katalógu */
.pf-table-card, .pf-card-box {
    background: #fff;
    border: 1px solid var(--pf-border);
    border-radius: var(--pf-radius-md);
    padding: 24px;
    box-shadow: var(--pf-shadow-sm);
}

.pf-table-responsive {
    overflow-x: auto;
}

.pf-catalog-table, .pf-checkout-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.pf-catalog-table th, .pf-checkout-table th {
    text-align: left;
    padding: 11px 12px;
    background: var(--pf-herb-tint);
    color: var(--pf-olive-dark);
    font-weight: 700;
    border-bottom: 2px solid var(--pf-border-strong);
}

.pf-catalog-table td, .pf-checkout-table td {
    padding: 11px 12px;
    border-bottom: 1px solid var(--pf-border);
    vertical-align: middle;
}

.pf-catalog-row:hover {
    background: #FAFDF6;
}

.pf-table-prod-name {
    cursor: pointer;
    color: var(--pf-olive-dark);
}

.pf-table-prod-name:hover strong {
    color: var(--pf-terra);
}

.pf-table-latin {
    font-style: italic;
    color: var(--pf-text-muted);
    font-size: 13px;
    margin-left: 4px;
}

.pf-table-prod-desc {
    font-size: 12.5px;
    color: var(--pf-text-muted);
    margin-top: 2px;
}

.pf-table-price {
    font-size: 15.5px;
    color: var(--pf-olive-dark);
}

.pf-table-actions {
    display: inline-flex;
    gap: 6px;
}

.pf-shipping-info-card {
    background: var(--pf-herb-tint);
    border: 1px solid var(--pf-border-strong);
    border-radius: var(--pf-radius-md);
    padding: 22px;
    margin-top: 28px;
}

/* --- HERBÁR --- */
.pf-herbar-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 24px;
}

.pf-herbar-search {
    flex: 1;
    min-width: 280px;
    background: #fff;
}

.pf-herbar-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.pf-herbar-card {
    background: #fff;
    border: 1px solid var(--pf-border);
    border-radius: var(--pf-radius-md);
    padding: 18px;
    box-shadow: var(--pf-shadow-sm);
    display: flex;
    flex-direction: column;
}

.pf-herbar-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

.pf-herbar-badge {
    font-size: 11.5px;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 99px;
}

.pf-herbar-badge.is-bylina {
    background: var(--pf-herb-tint);
    color: var(--pf-olive-dark);
}

.pf-herbar-badge.is-zmes {
    background: var(--pf-terra-light);
    color: var(--pf-terra);
}

.pf-herbar-part {
    font-size: 12px;
    color: var(--pf-text-muted);
    margin-left: 6px;
}

.pf-herbar-find-link {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--pf-olive-orig);
}

.pf-herbar-card h3 {
    font-size: 17px;
    margin-bottom: 6px;
}

.pf-herbar-card p {
    font-size: 13.5px;
    margin: 0;
    color: var(--pf-text-body);
}

.pf-hildegard-body-map-card {
    margin-top: 36px;
    background: #fff;
    border: 1px solid var(--pf-border-strong);
    border-radius: var(--pf-radius-lg);
    padding: 28px;
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 28px;
    align-items: center;
}

.pf-body-map-img-wrap {
    text-align: center;
}

.pf-body-map-img {
    border-radius: var(--pf-radius-sm);
    border: 1px solid var(--pf-border);
    cursor: pointer;
    margin-bottom: 6px;
}

/* --- O SPOLOČNOSTI & PRE PARTNEROV --- */
.pf-about-layout {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 28px;
    align-items: start;
}

.pf-certs-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 20px;
}

.pf-cert-card {
    background: var(--pf-bg-cream);
    border: 1px solid var(--pf-border);
    border-radius: var(--pf-radius-sm);
    padding: 12px;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s ease;
}

.pf-cert-card:hover {
    border-color: var(--pf-olive-orig);
    transform: translateY(-3px);
    box-shadow: var(--pf-shadow-md);
}

.pf-cert-img-wrap {
    position: relative;
    margin-bottom: 8px;
}

.pf-cert-img-wrap img {
    margin: 0 auto;
    height: 160px;
    object-fit: contain;
}

.pf-cert-zoom {
    display: block;
    font-size: 11px;
    color: var(--pf-terra);
    font-weight: 700;
    margin-top: 4px;
}

.pf-cert-card strong {
    display: block;
    font-size: 13.5px;
    color: var(--pf-olive-dark);
}

.pf-cert-card span {
    font-size: 11.5px;
    color: var(--pf-text-muted);
}

.pf-billing-list > div {
    margin-bottom: 10px;
}

.pf-billing-list small {
    display: block;
    font-size: 11.5px;
    color: var(--pf-text-muted);
}

.pf-billing-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.pf-partner-downloads {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 20px;
}

.pf-dl-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    background: var(--pf-bg-cream);
    border: 1px solid var(--pf-border-strong);
    border-radius: var(--pf-radius-sm);
}

.pf-dl-card:hover {
    background: var(--pf-herb-tint);
    border-color: var(--pf-olive-orig);
}

.pf-dl-icon {
    font-size: 28px;
}

.pf-dl-card strong {
    display: block;
    color: var(--pf-olive-dark);
}

.pf-dl-card span {
    font-size: 13px;
    color: var(--pf-text-muted);
}

/* Chronológia aktualít */
.pf-timeline {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 18px;
}

.pf-timeline-item {
    display: grid;
    grid-template-columns: 115px 1fr;
    gap: 16px;
    padding: 14px;
    border-radius: var(--pf-radius-sm);
    background: var(--pf-bg-cream);
    border: 1px solid var(--pf-border);
}

.pf-timeline-item.is-featured {
    background: var(--pf-herb-tint);
    border-color: var(--pf-herb-lime);
}

.pf-timeline-date {
    font-weight: 800;
    color: var(--pf-terra);
    font-size: 13.5px;
}

.pf-timeline-body h3 {
    font-size: 16px;
    margin-bottom: 4px;
}

.pf-timeline-body p {
    margin: 0;
    font-size: 14px;
}

/* --- KONTAKT, PORADŇA & FORMULÁRE --- */
.pf-contact-grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 28px;
    align-items: start;
}

.pf-contact-items {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 18px 0;
}

.pf-contact-item {
    display: flex;
    gap: 12px;
}

.pf-contact-icon {
    font-size: 22px;
    background: var(--pf-herb-tint);
    width: 42px;
    height: 42px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.pf-contact-item p {
    margin: 2px 0;
}

.pf-form-group {
    margin-bottom: 14px;
}

.pf-form-group label {
    display: block;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--pf-olive-dark);
    margin-bottom: 5px;
}

.pf-form-group input,
.pf-form-group select,
.pf-form-group textarea {
    width: 100%;
    padding: 10px 13px;
    border: 1px solid var(--pf-border-strong);
    border-radius: var(--pf-radius-sm);
    font-family: var(--pf-font-sans);
    font-size: 14.5px;
    color: var(--pf-text-main);
    background: #fff;
}

.pf-form-group input:focus,
.pf-form-group select:focus,
.pf-form-group textarea:focus {
    outline: none;
    border-color: var(--pf-olive-orig);
    box-shadow: 0 0 0 3px rgba(153, 204, 102, 0.25);
}

.pf-form-row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.pf-form-row-3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 12px;
}

.pf-form-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13.5px;
}

.pf-form-check input {
    margin-top: 4px;
}

.pf-leaflet-map {
    width: 100%;
    height: 360px;
    border-radius: var(--pf-radius-sm);
    border: 1px solid var(--pf-border);
    margin-top: 12px;
    z-index: 1;
}

.pf-map-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}

/* --- SLIDE PUZZLE CAPTCHA --- */
.pf-captcha-box {
    background: var(--pf-bg-cream);
    border: 1px solid var(--pf-border-strong);
    border-radius: var(--pf-radius-sm);
    padding: 12px 14px;
    margin: 14px 0;
}

.pf-captcha-box.is-verified {
    background: #E9F7DC;
    border-color: #68A332;
}

.pf-captcha-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 8px;
}

.pf-captcha-status {
    font-size: 12px;
    padding: 2px 8px;
    border-radius: 99px;
    background: rgba(0, 0, 0, 0.06);
}

.pf-captcha-box.is-verified .pf-captcha-status {
    background: #4A7C1E;
    color: #fff;
}

.pf-captcha-scene {
    position: relative;
    height: 44px;
    background: linear-gradient(90deg, #DFEFCA 0%, #C8E3A6 100%);
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 8px;
    border: 1px solid var(--pf-border-strong);
}

.pf-captcha-slot, .pf-captcha-piece {
    position: absolute;
    top: 5px;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    user-select: none;
}

.pf-captcha-slot {
    background: rgba(44, 59, 27, 0.18);
    border: 2px dashed var(--pf-olive-dark);
    opacity: 0.65;
}

.pf-captcha-piece {
    background: #fff;
    border: 2px solid var(--pf-olive-orig);
    box-shadow: 0 2px 6px rgba(0,0,0,0.18);
    z-index: 2;
}

.pf-captcha-slider {
    width: 100%;
    accent-color: var(--pf-olive-orig);
    cursor: pointer;
}

.pf-captcha-hint {
    font-size: 11.5px;
    color: var(--pf-text-muted);
    text-align: center;
}

/* --- KOŠÍK, POKLADŇA A DRAWER --- */
.pf-checkout-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 28px;
    align-items: start;
}

.pf-checkout-prod-cell {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pf-checkout-prod-cell img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid var(--pf-border);
}

.pf-checkout-prod-cell strong {
    display: block;
    color: var(--pf-olive-dark);
}

.pf-checkout-prod-cell small {
    color: var(--pf-text-muted);
}

.pf-qty-stepper {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--pf-border-strong);
    border-radius: 6px;
    background: #fff;
    overflow: hidden;
}

.pf-qty-stepper button {
    border: none;
    background: var(--pf-bg-soft);
    width: 28px;
    height: 28px;
    font-weight: 700;
    cursor: pointer;
    color: var(--pf-olive-dark);
}

.pf-qty-stepper button:hover {
    background: var(--pf-herb-lime);
}

.pf-qty-stepper span, .pf-qty-stepper input {
    min-width: 32px;
    width: 44px;
    text-align: center;
    border: none;
    font-weight: 700;
    font-size: 13.5px;
    background: transparent;
    color: var(--pf-text-dark);
    -moz-appearance: textfield;
    appearance: textfield;
}

.pf-qty-stepper input::-webkit-outer-spin-button,
.pf-qty-stepper input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.pf-qty-stepper.pf-qty-lg button {
    width: 38px;
    height: 38px;
    font-size: 18px;
}

.pf-qty-stepper.pf-qty-lg input {
    width: 52px;
    height: 38px;
    font-size: 15.5px;
}

.pf-shipping-options {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.pf-radio-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid var(--pf-border-strong);
    border-radius: var(--pf-radius-sm);
    background: var(--pf-bg-cream);
    cursor: pointer;
}

.pf-radio-card:has(input:checked) {
    background: var(--pf-herb-tint);
    border-color: var(--pf-olive-orig);
    box-shadow: 0 0 0 2px rgba(92, 116, 61, 0.18);
}

.pf-radio-body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 10px;
}

.pf-radio-body strong {
    display: block;
    font-size: 14px;
    color: var(--pf-olive-dark);
}

.pf-radio-body span {
    font-size: 12px;
    color: var(--pf-text-muted);
}

.pf-checkout-summary-box {
    background: var(--pf-herb-tint);
    border: 1px solid var(--pf-border-strong);
    border-radius: var(--pf-radius-sm);
    padding: 14px 16px;
    margin-top: 16px;
}

.pf-sum-row {
    display: flex;
    justify-content: space-between;
    padding: 4px 0;
    font-size: 14px;
}

.pf-sum-total {
    border-top: 1px solid var(--pf-border-strong);
    margin-top: 6px;
    padding-top: 8px;
    font-size: 17px;
    color: var(--pf-olive-dark);
}

/* Bočný vysúvací košík */
.pf-drawer-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(24, 34, 14, 0.48);
    opacity: 0;
    visibility: hidden;
    transition: all 0.25s ease;
    z-index: 900;
}

.pf-drawer-backdrop.is-open {
    opacity: 1;
    visibility: visible;
}

.pf-cart-drawer {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    max-width: 430px;
    height: 100vh;
    background: #fff;
    z-index: 910;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.28s ease;
    box-shadow: -8px 0 32px rgba(0, 0, 0, 0.18);
}

.pf-cart-drawer.is-open {
    transform: translateX(0);
}

.pf-drawer-header {
    padding: 18px 20px;
    background: var(--pf-herb-tint);
    border-bottom: 1px solid var(--pf-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.pf-drawer-header h3 {
    margin: 0;
    font-size: 18px;
}

.pf-drawer-sub {
    font-size: 12px;
    color: var(--pf-text-muted);
}

.pf-drawer-body {
    flex: 1;
    overflow-y: auto;
    padding: 16px 20px;
}

.pf-drawer-item {
    display: flex;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--pf-border);
}

.pf-drawer-item-img {
    width: 58px;
    height: 58px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid var(--pf-border);
}

.pf-drawer-item-info {
    flex: 1;
}

.pf-drawer-item-meta {
    font-size: 12px;
    color: var(--pf-text-muted);
    margin: 2px 0 6px;
}

.pf-drawer-item-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.pf-drawer-remove {
    border: none;
    background: transparent;
    color: #991B1B;
    cursor: pointer;
    font-weight: 700;
}

.pf-drawer-footer {
    padding: 16px 20px;
    border-top: 1px solid var(--pf-border);
    background: var(--pf-bg-cream);
}

.pf-drawer-summary-row {
    display: flex;
    justify-content: space-between;
    font-size: 16.5px;
    margin: 10px 0 14px;
}

.pf-drawer-actions {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 10px;
}

.pf-progress-track {
    height: 6px;
    background: #dce8ca;
    border-radius: 99px;
    overflow: hidden;
    margin-top: 5px;
}

.pf-progress-fill {
    height: 100%;
    background: var(--pf-olive-orig);
}

.pf-free-ship-info, .pf-free-ship-achieved {
    font-size: 12.5px;
    background: #fff;
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid var(--pf-border);
}

/* --- MODÁLNE OKNO PRODUKTU A LIGHTBOX --- */
.pf-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(24, 34, 14, 0.62);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.22s ease;
}

.pf-modal-backdrop.is-open {
    opacity: 1;
    visibility: visible;
}

.pf-modal-card {
    background: #fff;
    border-radius: var(--pf-radius-lg);
    width: 100%;
    max-width: 820px;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
    padding: 28px;
    box-shadow: var(--pf-shadow-lg);
}

.pf-modal-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid var(--pf-border);
    background: #fff;
    font-size: 16px;
    cursor: pointer;
}

.pf-modal-product-grid {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 26px;
    align-items: start;
}

.pf-modal-main-img {
    width: 100%;
    border-radius: var(--pf-radius-md);
    border: 1px solid var(--pf-border);
    cursor: zoom-in;
    margin-bottom: 6px;
}

.pf-modal-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 10px;
}

.pf-modal-langs {
    font-size: 13px;
    color: var(--pf-text-muted);
    margin-bottom: 12px;
}

.pf-modal-specs {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    background: var(--pf-bg-cream);
    padding: 10px 14px;
    border-radius: var(--pf-radius-sm);
    margin-bottom: 14px;
}

.pf-modal-specs small {
    display: block;
    font-size: 11.5px;
    color: var(--pf-text-muted);
}

.pf-modal-desc-box h4 {
    font-size: 15px;
    margin-bottom: 6px;
}

.pf-modal-usage {
    background: var(--pf-herb-tint);
    padding: 10px 12px;
    border-radius: var(--pf-radius-sm);
    font-size: 13.5px;
    margin-top: 10px;
}

.pf-modal-price-bar {
    margin: 16px 0;
}

.pf-modal-price-main {
    font-size: 26px;
    font-weight: 800;
    color: var(--pf-olive-dark);
}

.pf-modal-price-vat {
    font-size: 13px;
    color: var(--pf-text-muted);
    margin-left: 6px;
}

.pf-modal-buy-box {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.pf-modal-catalog-notice {
    background: var(--pf-herb-tint);
    border: 1px solid var(--pf-border-strong);
    padding: 14px;
    border-radius: var(--pf-radius-sm);
    font-size: 13.5px;
}

.pf-lightbox-inner {
    position: relative;
    max-width: 92vw;
    max-height: 90vh;
    text-align: center;
}

.pf-lightbox-img {
    max-height: 82vh;
    max-width: 90vw;
    border-radius: 10px;
    box-shadow: 0 12px 40px rgba(0,0,0,0.45);
    margin: 0 auto;
}

.pf-lightbox-caption {
    color: #fff;
    margin-top: 10px;
    font-weight: 600;
}

/* --- PÄTIČKA --- */
.pf-footer {
    background: var(--pf-olive-dark);
    color: #DCE8CA;
    padding: 52px 0 24px;
    margin-top: 40px;
    border-top: 4px solid var(--pf-herb-lime);
}

.pf-footer h3, .pf-footer h4 {
    color: #fff;
}

.pf-footer a {
    color: #DCE8CA;
}

.pf-footer a:hover {
    color: var(--pf-herb-lime);
}

.pf-footer-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr 1.1fr;
    gap: 30px;
    margin-bottom: 36px;
}

.pf-footer-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.pf-footer-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--pf-herb-lime);
}

.pf-footer-logo h3 {
    font-size: 17px;
    margin: 0;
}

.pf-footer-logo span {
    font-size: 11px;
    color: var(--pf-herb-lime);
    letter-spacing: 0.12em;
}

.pf-footer-desc {
    font-size: 13.5px;
    line-height: 1.55;
}

.pf-footer-certs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 12px;
}

.pf-cert-pill {
    background: rgba(153, 204, 102, 0.16);
    border: 1px solid rgba(153, 204, 102, 0.35);
    color: var(--pf-herb-pale);
    font-size: 11.5px;
    padding: 3px 9px;
    border-radius: 99px;
}

.pf-footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
    font-size: 13.5px;
}

.pf-footer-contact p {
    margin: 0 0 8px;
    font-size: 13.5px;
}

.pf-footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    padding-top: 20px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 13px;
}

.pf-footer-bottom-links {
    display: flex;
    gap: 10px;
}

/* --- POMOCNÉ TRIEDY, TOAST, COOKIES --- */
.pf-warning-note {
    background: var(--pf-terra-light);
    border-left: 4px solid var(--pf-terra);
    padding: 10px 14px;
    border-radius: 6px;
    color: var(--pf-terra);
    font-size: 13.5px;
}

.pf-form-alert {
    padding: 12px 14px;
    border-radius: var(--pf-radius-sm);
    font-weight: 600;
    font-size: 14px;
    margin-top: 12px;
}

.pf-form-alert.is-error {
    background: #FEE2E2;
    color: #991B1B;
    border: 1px solid #FCA5A5;
}

.pf-form-alert.is-success {
    background: #DCFCE7;
    color: #166534;
    border: 1px solid #86EFAC;
}

.pf-toast-container {
    position: fixed;
    bottom: 22px;
    right: 22px;
    z-index: 1200;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pf-toast {
    background: var(--pf-olive-dark);
    color: #fff;
    border-left: 4px solid var(--pf-herb-lime);
    padding: 12px 18px;
    border-radius: 10px;
    font-weight: 600;
    font-size: 14px;
    box-shadow: var(--pf-shadow-lg);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.pf-toast.is-hiding {
    opacity: 0;
    transform: translateY(10px);
}

.pf-cookie-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--pf-olive-dark);
    color: #fff;
    padding: 12px 0;
    z-index: 800;
    border-top: 2px solid var(--pf-herb-lime);
}

.pf-cookie-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    font-size: 13.5px;
}

.pf-cookie-inner a {
    color: var(--pf-herb-lime);
    text-decoration: underline;
}

.pf-empty-state {
    text-align: center;
    padding: 48px 24px;
}

.pf-empty-icon {
    font-size: 48px;
    display: block;
    margin-bottom: 10px;
}

.pf-text-right { text-align: right; }
.pf-nowrap { white-space: nowrap; }
.pf-text-success { color: #2D6A1E; }
.pf-text-danger { color: #991B1B; }
.pf-text-muted { color: var(--pf-text-muted); }
.pf-mt-2 { margin-top: 10px; }
.pf-mt-3 { margin-top: 16px; }
.pf-mt-4 { margin-top: 24px; }
.pf-mb-2 { margin-bottom: 10px; }
.pf-mb-3 { margin-bottom: 16px; }
.pf-rounded { border-radius: var(--pf-radius-sm); }

/* --- RESPONZIVITA --- */
@media (max-width: 1080px) {
    .pf-hero-grid,
    .pf-catalog-layout,
    .pf-about-layout,
    .pf-contact-grid,
    .pf-checkout-grid,
    .pf-hildegard-grid,
    .pf-hildegard-body-map-card {
        grid-template-columns: 1fr;
    }
    .pf-categories-grid,
    .pf-products-grid,
    .pf-catalog-grid,
    .pf-herbar-grid,
    .pf-three-col-showcase,
    .pf-benefits-grid,
    .pf-footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .pf-mobile-toggle {
        display: flex;
    }
    .pf-nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: #fff;
        flex-direction: column;
        align-items: stretch;
        padding: 14px;
        border-bottom: 2px solid var(--pf-olive-orig);
        box-shadow: var(--pf-shadow-md);
    }
    .pf-nav.is-open {
        display: flex;
    }
    .pf-dropdown-menu {
        position: static;
        width: 100%;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        margin-top: 6px;
    }
    .pf-dropdown-grid,
    .pf-categories-grid,
    .pf-products-grid,
    .pf-catalog-grid,
    .pf-herbar-grid,
    .pf-three-col-showcase,
    .pf-benefits-grid,
    .pf-certs-grid,
    .pf-footer-grid,
    .pf-form-row-2,
    .pf-form-row-3 {
        grid-template-columns: 1fr;
    }
    .pf-modal-product-grid {
        grid-template-columns: 1fr;
    }
    .pf-cart-total {
        display: none;
    }
}


/* =========================================================================
   ADMINISTRÁCIA (admin.php) – MODERNÝ BYLINNÝ ADMIN SHELL
   ========================================================================= */
.pf-admin-login-body {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: linear-gradient(135deg, #F4FFE4 0%, #E6F5D0 50%, #D5EDB3 100%);
}

.pf-login-card {
    background: #fff;
    border: 1px solid var(--pf-border-strong);
    border-radius: var(--pf-radius-lg);
    padding: 36px;
    width: 100%;
    max-width: 460px;
    box-shadow: var(--pf-shadow-lg);
}

.pf-login-brand {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--pf-border);
}

.pf-login-logo {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--pf-olive-orig);
}

.pf-login-brand h1 {
    font-size: 22px;
    margin: 2px 0 4px;
}

.pf-login-brand p {
    margin: 0;
    font-size: 13px;
    color: var(--pf-text-muted);
}

.pf-login-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--pf-border);
    font-size: 13.5px;
}

/* Admin Layout */
.pf-admin-body {
    background: #F4F7EF;
    color: var(--pf-text);
    min-height: 100vh;
}

.pf-admin-shell {
    display: block;
    padding-left: 270px;
    min-height: 100vh;
    background: linear-gradient(90deg, var(--pf-olive-dark) 0, var(--pf-olive-dark) 270px, #F4F7EF 270px, #F4F7EF 100%);
}

.pf-admin-sidebar {
    background: var(--pf-olive-dark);
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 14px 12px;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 270px;
    height: 100vh;
    z-index: 60;
    overflow-y: auto;
    scrollbar-width: thin;
    box-shadow: 2px 0 16px rgba(18, 28, 10, 0.16);
}

.pf-admin-sidebar-brand {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 4px 8px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    margin-bottom: 8px;
    flex-shrink: 0;
}

.pf-admin-sidebar-brand img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--pf-herb-lime);
}

.pf-admin-sidebar-brand strong {
    display: block;
    font-size: 14.5px;
    color: var(--pf-herb-pale);
    line-height: 1.2;
}

.pf-admin-sidebar-brand span {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.72);
}

.pf-admin-nav {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex-grow: 1;
}

.pf-admin-nav a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 7.5px 11px;
    border-radius: var(--pf-radius-sm);
    color: rgba(255, 255, 255, 0.88);
    font-size: 13.3px;
    font-weight: 600;
    line-height: 1.25;
    transition: all 0.15s ease;
}

.pf-admin-nav a:hover {
    background: rgba(255, 255, 255, 0.09);
    color: #fff;
}

.pf-admin-nav a.is-active {
    background: var(--pf-herb-lime);
    color: var(--pf-olive-dark);
    font-weight: 700;
}

.pf-admin-badge {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    font-size: 11px;
    padding: 1.5px 7px;
    border-radius: 99px;
}

.pf-admin-nav a.is-active .pf-admin-badge {
    background: var(--pf-olive-dark);
    color: var(--pf-herb-pale);
}

.pf-admin-badge-alert {
    background: #DC2626 !important;
    color: #fff !important;
}

.pf-admin-sidebar-footer {
    padding-top: 10px;
    margin-top: 6px;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    flex-shrink: 0;
}

.pf-admin-sidebar-footer .pf-btn-outline {
    border-color: rgba(255, 255, 255, 0.35);
    color: #fff;
}

.pf-admin-sidebar-footer .pf-btn-ghost {
    color: rgba(255, 255, 255, 0.78);
}

.pf-admin-main {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 100vh;
}

.pf-admin-topbar {
    background: #fff;
    border-bottom: 1px solid var(--pf-border);
    padding: 12px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    position: sticky;
    top: 0;
    z-index: 40;
}

.pf-admin-topbar-right {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.pf-admin-status-indicator {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: 99px;
    font-size: 13px;
    font-weight: 700;
}

.pf-admin-status-indicator.is-shop {
    background: #DCFCE7;
    color: #166534;
    border: 1px solid #86EFAC;
}

.pf-admin-status-indicator.is-catalog {
    background: #FEF3C7;
    color: #92400E;
    border: 1px solid #FDE68A;
}

.pf-admin-content {
    padding: 26px 28px 60px;
    max-width: 1480px;
    width: 100%;
}

.pf-admin-page-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 22px;
}

.pf-admin-page-head h1 {
    font-size: 28px;
    margin: 0 0 4px;
}

.pf-admin-page-head p {
    margin: 0;
    color: var(--pf-text-muted);
    font-size: 14px;
}

.pf-admin-card {
    background: #fff;
    border: 1px solid var(--pf-border);
    border-radius: var(--pf-radius-md);
    padding: 22px;
    box-shadow: var(--pf-shadow-sm);
}

.pf-admin-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--pf-border);
}

.pf-admin-card-head h3 {
    margin: 0;
    font-size: 19px;
}

.pf-mode-switcher-card {
    background: linear-gradient(135deg, #FFFFFF 0%, #F4FFE4 100%);
    border: 2px solid var(--pf-olive-orig);
    margin-bottom: 24px;
}

.pf-mode-switcher-grid {
    display: grid;
    grid-template-columns: 1fr 1.25fr;
    gap: 24px;
    align-items: center;
}

.pf-mode-radio-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.pf-mode-radio {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px;
    border: 2px solid var(--pf-border);
    border-radius: var(--pf-radius-sm);
    background: #fff;
    cursor: pointer;
    transition: all 0.15s ease;
}

.pf-mode-radio.is-selected {
    border-color: var(--pf-olive-orig);
    background: #F4FFE4;
}

.pf-mode-radio strong {
    display: block;
    font-size: 14px;
    margin-bottom: 4px;
    color: var(--pf-olive-dark);
}

.pf-mode-radio span {
    display: block;
    font-size: 12.5px;
    color: var(--pf-text-muted);
    line-height: 1.4;
}

.pf-admin-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}

.pf-admin-kpi {
    background: #fff;
    border: 1px solid var(--pf-border);
    border-radius: var(--pf-radius-md);
    padding: 18px 20px;
    display: flex;
    align-items: center;
    gap: 14px;
    box-shadow: var(--pf-shadow-sm);
    transition: transform 0.15s ease, border-color 0.15s ease;
}

.pf-admin-kpi:hover {
    transform: translateY(-2px);
    border-color: var(--pf-olive-orig);
}

.pf-admin-kpi-icon {
    font-size: 28px;
    width: 52px;
    height: 52px;
    border-radius: 12px;
    background: var(--pf-herb-tint);
    display: flex;
    align-items: center;
    justify-content: center;
}

.pf-admin-kpi strong {
    display: block;
    font-size: 22px;
    color: var(--pf-olive-dark);
}

.pf-admin-kpi span {
    font-size: 13px;
    color: var(--pf-text-muted);
}

.pf-admin-two-col {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 20px;
    align-items: start;
}

.pf-admin-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13.5px;
}

.pf-admin-table th {
    text-align: left;
    padding: 10px 12px;
    background: var(--pf-bg-soft);
    color: var(--pf-olive-dark);
    font-weight: 700;
    border-bottom: 2px solid var(--pf-border);
    white-space: nowrap;
}

.pf-admin-table td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--pf-border);
    vertical-align: middle;
}

.pf-admin-table tr.is-selected-row {
    background: #F4FFE4;
}

.pf-admin-actions-cell {
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 6px;
}

.pf-form-grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.pf-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.pf-input,
.pf-admin-body select.pf-input,
.pf-admin-body textarea.pf-input {
    width: 100%;
    padding: 9px 12px;
    border: 1px solid var(--pf-border-strong);
    border-radius: var(--pf-radius-sm);
    font-family: inherit;
    font-size: 14px;
    background: #fff;
    color: var(--pf-text);
}

.pf-input-xs {
    padding: 5px 8px !important;
    font-size: 13px !important;
}

.pf-btn-xs {
    padding: 5px 10px;
    font-size: 12px;
    border-radius: 6px;
}

.pf-admin-filter-bar {
    display: grid;
    grid-template-columns: 1fr 260px auto auto;
    gap: 10px;
    align-items: center;
}

.pf-admin-checkboxes {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 13px;
    font-weight: 600;
}

.pf-status-pill {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 99px;
    font-size: 11.5px;
    font-weight: 700;
}

.pf-status-new { background: #FEF3C7; color: #92400E; }
.pf-status-processing { background: #DBEAFE; color: #1E40AF; }
.pf-status-shipped { background: #E0E7FF; color: #3730A3; }
.pf-status-completed, .pf-status-resolved { background: #DCFCE7; color: #166534; }
.pf-status-cancelled { background: #FEE2E2; color: #991B1B; }

.pf-alert {
    padding: 12px 16px;
    border-radius: var(--pf-radius-sm);
    margin-bottom: 18px;
    font-weight: 600;
    font-size: 14px;
}

.pf-alert-success { background: #DCFCE7; color: #166534; border: 1px solid #86EFAC; }
.pf-alert-error { background: #FEE2E2; color: #991B1B; border: 1px solid #FCA5A5; }
.pf-alert-info { background: #F4FFE4; color: var(--pf-olive-dark); border: 1px solid var(--pf-herb-lime); }

.pf-order-detail-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    background: var(--pf-bg-soft);
    padding: 14px;
    border-radius: var(--pf-radius-sm);
    font-size: 13.5px;
}

.pf-order-detail-meta h4 {
    margin: 0 0 6px;
    font-size: 15px;
}

.pf-admin-sticky-save {
    position: sticky;
    bottom: 16px;
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(8px);
    padding: 12px 18px;
    border: 1px solid var(--pf-border-strong);
    border-radius: var(--pf-radius-md);
    box-shadow: var(--pf-shadow-md);
    display: flex;
    justify-content: flex-end;
    z-index: 30;
}

@media (max-width: 1080px) {
    .pf-admin-shell {
        grid-template-columns: 1fr;
    }
    .pf-admin-sidebar {
        position: static;
        height: auto;
    }
    .pf-mode-switcher-grid,
    .pf-admin-two-col,
    .pf-form-grid-4,
    .pf-admin-kpi-grid,
    .pf-admin-filter-bar {
        grid-template-columns: 1fr;
    }
}


/* =========================================================================
   NOVÝ BYLINKÁRSKY VIZUÁL S DUŠOU (Masthead Banner + Úvodná Svätyňa)
   ========================================================================= */

/* --- VIZUÁLNA HLAVIČKA (MASTHEAD S FOTOGRAFIOU BYLÍN A ČAJU) --- */
.pf-header {
    position: relative;
    z-index: 100;
    background: #F4FFE4;
    border-bottom: 2px solid var(--pf-olive-orig);
    box-shadow: 0 6px 24px rgba(44, 59, 27, 0.08);
}

.pf-masthead {
    position: relative;
    overflow: hidden;
    min-height: 210px;
    display: flex;
    align-items: center;
    background: #233115;
    border-bottom: 1px solid rgba(153, 204, 102, 0.35);
}

.pf-masthead-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center 42%;
    background-repeat: no-repeat;
    transform: scale(1.01);
}

.pf-masthead-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(32, 46, 18, 0.94) 0%,
        rgba(44, 62, 26, 0.86) 44%,
        rgba(44, 62, 26, 0.42) 76%,
        rgba(32, 46, 18, 0.58) 100%
    );
}

.pf-masthead-inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding-top: 26px;
    padding-bottom: 26px;
}

.pf-masthead-brand {
    display: flex;
    align-items: center;
    gap: 22px;
    text-decoration: none;
    max-width: 780px;
}

.pf-masthead-medallion {
    width: 92px;
    height: 92px;
    border-radius: 50%;
    padding: 4px;
    background: linear-gradient(135deg, #D5EDB3 0%, #99CC66 100%);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.38);
    flex-shrink: 0;
}

.pf-masthead-portrait {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    object-position: top center;
    border: 2px solid #2C3B1B;
}

.pf-masthead-titles {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pf-masthead-kicker {
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--pf-herb-lime);
}

.pf-masthead-name {
    font-family: 'Cormorant Garamond', var(--pf-font-serif);
    font-size: clamp(28px, 3.3vw, 44px);
    font-weight: 700;
    color: #F4FFE4;
    line-height: 1.08;
    letter-spacing: 0.01em;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
}

.pf-masthead-motto {
    font-family: var(--pf-font-serif);
    font-style: italic;
    font-size: 15px;
    color: #E2F2C8;
    opacity: 0.95;
    margin-top: 2px;
}

.pf-masthead-craft-badge {
    flex-shrink: 0;
}

.pf-craft-seal {
    background: rgba(244, 255, 228, 0.93);
    backdrop-filter: blur(6px);
    border: 1px solid #99CC66;
    outline: 3px solid rgba(244, 255, 228, 0.22);
    border-radius: 12px;
    padding: 14px 20px;
    text-align: center;
    color: var(--pf-olive-dark);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}

.pf-craft-seal-top {
    display: block;
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--pf-terra);
    margin-bottom: 3px;
}

.pf-craft-seal strong {
    display: block;
    font-family: 'Cormorant Garamond', var(--pf-font-serif);
    font-size: 20px;
    font-weight: 700;
    color: var(--pf-olive-dark);
}

.pf-craft-seal-sub {
    display: block;
    font-size: 12px;
    color: var(--pf-text-body);
    margin-top: 2px;
}

.pf-craft-seal-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 9px;
    padding: 6px 14px;
    border-radius: 99px;
    background: var(--pf-olive-orig);
    color: #F4FFE4 !important;
    font-size: 12.5px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.18s ease;
    box-shadow: 0 2px 8px rgba(44, 59, 27, 0.22);
}

.pf-craft-seal-cta:hover {
    background: var(--pf-olive-dark);
    color: #ffffff !important;
    transform: translateY(-1px);
}

/* --- SAMOSTATNÁ NAVIGAČNÁ LIŠTA POD MASTHEADOM (1 ČISTÝ RIADOK) --- */
.pf-navbar {
    position: relative;
    background: linear-gradient(180deg, #E5F4CD 0%, #F4FFE4 100%);
    border-top: 1px solid #C5DCA6;
}

.pf-navbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 54px;
    flex-wrap: nowrap;
}

.pf-navbar .pf-nav {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: nowrap;
}

.pf-navbar .pf-nav-link {
    padding: 8px 12px;
    border-radius: 7px;
    font-size: 14px;
    font-weight: 600;
    color: var(--pf-olive-dark);
    white-space: nowrap;
}

.pf-navbar .pf-nav-link:hover,
.pf-navbar .pf-nav-link.active {
    background: var(--pf-olive-orig);
    color: #F4FFE4;
}

.pf-dd-code {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: var(--pf-herb-tint);
    border: 1px solid var(--pf-border-strong);
    color: var(--pf-olive-dark);
    font-weight: 800;
    font-size: 12.5px;
    flex-shrink: 0;
}

.pf-mobile-advisory-btn {
    display: none;
    align-items: center;
    gap: 5px;
    padding: 7px 13px;
    border-radius: 99px;
    background: #ffffff;
    border: 1px solid var(--pf-olive-orig);
    color: var(--pf-olive-dark);
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    text-decoration: none;
}

.pf-mobile-toggle {
    display: none;
    align-items: center;
    gap: 8px;
    background: var(--pf-olive-orig);
    color: #F4FFE4;
    border: 1px solid var(--pf-olive-dark);
    padding: 7px 13px;
    border-radius: 99px;
    cursor: pointer;
    font-family: var(--pf-font-sans);
    font-size: 13.5px;
    font-weight: 700;
    box-shadow: 0 2px 8px rgba(44, 59, 27, 0.2);
}

.pf-mobile-toggle-bars {
    display: inline-flex;
    flex-direction: column;
    gap: 4px;
}

.pf-mobile-toggle-bars span {
    display: block;
    width: 18px;
    height: 2px;
    background: #F4FFE4;
    border-radius: 2px;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.pf-mobile-toggle.is-open .pf-mobile-toggle-bars span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
}

.pf-mobile-toggle.is-open .pf-mobile-toggle-bars span:nth-child(2) {
    opacity: 0;
}

.pf-mobile-toggle.is-open .pf-mobile-toggle-bars span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
}

.pf-cart-trigger {
    white-space: nowrap;
    flex-shrink: 0;
}

.pf-cart-total {
    white-space: nowrap;
}

/* --- 1. ÚVODNÁ SVÄTYŇA (SANCTUARY HERO) --- */
.pf-sanctuary-hero {
    background:
        radial-gradient(circle at 12% 18%, rgba(213, 237, 179, 0.55) 0%, transparent 48%),
        radial-gradient(circle at 88% 80%, rgba(153, 204, 102, 0.25) 0%, transparent 50%),
        linear-gradient(180deg, #F4FFE4 0%, #F7FAF1 100%);
    padding: 54px 0 60px;
    border-bottom: 1px solid var(--pf-border);
}

.pf-sanctuary-grid {
    display: grid;
    grid-template-columns: 1.08fr 0.92fr;
    gap: 46px;
    align-items: center;
}

.pf-ornament-kicker {
    display: inline-block;
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--pf-terra);
    margin-bottom: 12px;
}

.pf-sanctuary-title {
    font-family: 'Cormorant Garamond', var(--pf-font-serif);
    font-size: clamp(32px, 3.6vw, 48px);
    font-weight: 700;
    color: var(--pf-olive-dark);
    line-height: 1.12;
    margin-bottom: 18px;
}

.pf-sanctuary-prose {
    font-family: var(--pf-font-serif);
    font-size: 17px;
    line-height: 1.72;
    color: #354426;
    margin-bottom: 24px;
}

.pf-sanctuary-prose p {
    margin: 0 0 14px;
}

.pf-soul-pillars {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 28px;
}

.pf-soul-pillar {
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid var(--pf-border-strong);
    border-top: 3px solid var(--pf-olive-orig);
    border-radius: 10px;
    padding: 14px;
}

.pf-soul-pillar strong {
    display: block;
    font-family: 'Cormorant Garamond', var(--pf-font-serif);
    font-size: 18px;
    font-weight: 700;
    color: var(--pf-olive-dark);
    margin-bottom: 4px;
}

.pf-soul-pillar span {
    display: block;
    font-size: 13px;
    line-height: 1.45;
    color: var(--pf-text-body);
}

.pf-sanctuary-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.pf-manuscript-frame {
    margin: 0;
    background: #FCFDF9;
    border: 1px solid var(--pf-border-strong);
    outline: 6px solid rgba(213, 237, 179, 0.55);
    border-radius: 16px;
    padding: 14px;
    box-shadow: var(--pf-shadow-lg);
}

.pf-manuscript-img-wrap {
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--pf-border);
}

.pf-manuscript-img {
    width: 100%;
    height: auto;
    display: block;
}

.pf-manuscript-quote {
    padding: 16px 14px 6px;
    text-align: center;
}

.pf-manuscript-quote blockquote {
    margin: 0 0 6px;
    font-family: 'Cormorant Garamond', var(--pf-font-serif);
    font-style: italic;
    font-size: 20px;
    line-height: 1.38;
    color: var(--pf-olive-dark);
}

.pf-manuscript-quote cite {
    font-style: normal;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--pf-terra);
}

/* --- 2. LIST ČITATEĽOVI NA SKUTOČNOM KLÁŠTORNOM PERGAMENE (PREDSLOV ING. SONE POGÁŇOVEJ) --- */
.pf-letter-section {
    background: radial-gradient(circle at 50% 50%, #F1F6E7 0%, #E7F0D6 100%);
    padding: 58px 0;
}

.pf-letter-sheet {
    position: relative;
    background-color: #F4E4C1;
    background-image:
        radial-gradient(ellipse at 50% 45%, rgba(255, 250, 235, 0.82) 0%, rgba(243, 226, 188, 0.55) 58%, rgba(209, 173, 114, 0.58) 100%),
        radial-gradient(circle at 14% 18%, rgba(168, 120, 52, 0.14) 0%, transparent 45%),
        radial-gradient(circle at 88% 82%, rgba(152, 104, 38, 0.18) 0%, transparent 50%),
        repeating-linear-gradient(0deg, rgba(130, 88, 34, 0.022) 0px, rgba(130, 88, 34, 0.022) 1px, transparent 1px, transparent 4px),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.45 0 0 0 0 0.30 0 0 0 0 0.12 0 0 0 0.065 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
    border: 2px solid #B58B4C;
    box-shadow:
        inset 0 0 65px rgba(124, 79, 25, 0.38),
        inset 0 0 18px rgba(88, 52, 12, 0.28),
        inset 0 0 0 10px rgba(245, 231, 198, 0.65),
        inset 0 0 0 12px rgba(150, 104, 42, 0.55),
        0 20px 50px rgba(42, 30, 12, 0.18),
        0 4px 14px rgba(42, 30, 12, 0.12);
    border-radius: 12px;
    padding: 46px 52px 48px;
    overflow: hidden;
}

.pf-parchment-corner {
    position: absolute;
    font-size: 28px;
    line-height: 1;
    color: #8C5C1E;
    opacity: 0.72;
    pointer-events: none;
    user-select: none;
    text-shadow: 0 1px 0 rgba(255, 248, 228, 0.8);
}

.pf-parchment-corner.is-tl { top: 16px; left: 20px; transform: rotate(-45deg); }
.pf-parchment-corner.is-tr { top: 16px; right: 20px; transform: rotate(45deg); }
.pf-parchment-corner.is-bl { bottom: 16px; left: 20px; transform: rotate(-135deg); }
.pf-parchment-corner.is-br { bottom: 16px; right: 20px; transform: rotate(135deg); }

.pf-letter-ornament-top {
    text-align: center;
    color: #8A5A1E;
    font-size: 22px;
    letter-spacing: 0.45em;
    margin-bottom: 26px;
    opacity: 0.88;
    text-shadow: 0 1px 0 rgba(255, 250, 235, 0.85);
}

.pf-letter-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 44px;
    align-items: start;
    position: relative;
    z-index: 1;
}

.pf-hildegard-card {
    background: linear-gradient(180deg, rgba(251, 241, 217, 0.92) 0%, rgba(235, 213, 169, 0.88) 100%);
    border: 1.5px solid #B88E4F;
    box-shadow:
        inset 0 0 24px rgba(138, 92, 32, 0.18),
        inset 0 0 0 4px rgba(250, 240, 216, 0.75),
        inset 0 0 0 5px rgba(168, 122, 58, 0.4),
        0 8px 22px rgba(68, 42, 12, 0.12);
    border-radius: 12px;
    padding: 22px 18px;
    text-align: center;
}

.pf-hildegard-frame {
    width: 170px;
    height: 204px;
    margin: 0 auto 14px;
    border-radius: 90px 90px 12px 12px;
    overflow: hidden;
    border: 3px solid #9A6B28;
    box-shadow:
        0 0 0 3px rgba(247, 233, 200, 0.9),
        0 6px 16px rgba(60, 36, 10, 0.25);
}

.pf-hildegard-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    filter: sepia(0.14) contrast(1.03);
}

.pf-hildegard-card h3 {
    font-family: 'Cormorant Garamond', var(--pf-font-serif);
    font-size: 23px;
    color: #38210A;
    margin: 0 0 2px;
}

.pf-hildegard-years {
    display: block;
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: #8A4B14;
    margin-bottom: 10px;
}

.pf-hildegard-card p {
    font-family: 'Lora', var(--pf-font-serif);
    font-size: 13.5px;
    line-height: 1.58;
    color: #4A3114;
    margin: 0;
}

.pf-letter-body-col .pf-section-tag {
    color: #8A4B14;
    background: rgba(184, 134, 59, 0.15);
    border: 1px solid rgba(166, 114, 42, 0.38);
    padding: 4px 12px;
    border-radius: 999px;
    display: inline-block;
    margin-bottom: 10px;
}

.pf-letter-heading {
    font-family: 'Cormorant Garamond', var(--pf-font-serif);
    font-size: clamp(30px, 3.2vw, 40px);
    color: #341E07;
    margin-bottom: 18px;
    text-shadow: 0 1px 0 rgba(255, 250, 236, 0.75);
    border-bottom: 1px solid rgba(156, 110, 46, 0.35);
    padding-bottom: 12px;
}

.pf-letter-prose {
    font-family: 'Lora', var(--pf-font-serif);
    font-size: 16.5px;
    line-height: 1.82;
    color: #3B260E;
}

.pf-letter-prose > p:first-of-type {
    font-style: italic;
    font-weight: 600;
    color: #5A3812;
    font-size: 17.5px;
}

.pf-letter-prose h4 {
    font-family: 'Cormorant Garamond', var(--pf-font-serif);
    font-size: 24px;
    font-weight: 700;
    color: #7A3B10;
    margin: 24px 0 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.pf-letter-prose h4::before {
    content: '❧';
    font-size: 18px;
    color: #9C6621;
}

.pf-letter-signature-row {
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px dashed rgba(148, 102, 38, 0.5);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
}

.pf-signature-with-seal {
    display: flex;
    align-items: center;
    gap: 18px;
}

.pf-wax-seal {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #B92B27 0%, #8E1B18 58%, #590E0C 100%);
    box-shadow:
        inset 0 2px 5px rgba(255, 190, 180, 0.45),
        inset 0 -3px 6px rgba(40, 4, 4, 0.7),
        0 5px 14px rgba(58, 22, 8, 0.38);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transform: rotate(-7deg);
    border: 2px solid #721412;
}

.pf-wax-seal-inner {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    border: 1.5px dashed rgba(252, 211, 77, 0.65);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #FDE68A;
    line-height: 1.05;
    text-align: center;
    box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.45);
}

.pf-wax-seal-year {
    font-size: 8.5px;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.pf-wax-seal-herb {
    font-size: 15px;
    margin: 1px 0;
}

.pf-wax-seal-city {
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 0.14em;
}

.pf-signature-script {
    display: block;
    font-family: 'Cormorant Garamond', var(--pf-font-serif);
    font-style: italic;
    font-weight: 700;
    font-size: 31px;
    color: #5C340E;
    line-height: 1.1;
    margin-bottom: 4px;
}

.pf-signature-block strong {
    display: block;
    font-size: 15px;
    color: #341E07;
}

.pf-signature-block span {
    font-size: 13px;
    color: #6B4A23;
}

.pf-letter-links .pf-link-arrow {
    color: #6E3E0F;
    font-weight: 700;
    background: rgba(184, 134, 59, 0.16);
    border: 1px solid rgba(156, 108, 40, 0.42);
    padding: 9px 16px;
    border-radius: 999px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.pf-letter-links .pf-link-arrow:hover {
    background: #7A4412;
    color: #FFFBEB;
    border-color: #7A4412;
}

/* --- 3. TRIPTYCH REMESLA (TRI DARY PRÍRODY) --- */
.pf-editorial-header {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 36px;
}

.pf-craft-triptych {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
}

.pf-craft-card {
    background: #fff;
    border: 1px solid var(--pf-border-strong);
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: var(--pf-shadow-sm);
    transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.pf-craft-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--pf-shadow-md);
}

.pf-craft-media {
    position: relative;
    height: 220px;
    background: #FAFDF6;
    border-bottom: 1px solid var(--pf-border);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    overflow: hidden;
}

.pf-craft-media img {
    max-height: 188px;
    width: auto;
    object-fit: contain;
    border-radius: 8px;
}

.pf-craft-tag {
    position: absolute;
    bottom: 12px;
    left: 14px;
    background: rgba(44, 59, 27, 0.9);
    color: #F4FFE4;
    font-size: 11.5px;
    font-weight: 700;
    padding: 4px 11px;
    border-radius: 99px;
}

.pf-craft-body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.pf-craft-body h3 {
    font-family: 'Cormorant Garamond', var(--pf-font-serif);
    font-size: 24px;
    margin-bottom: 10px;
}

.pf-craft-body p {
    font-size: 14.5px;
    line-height: 1.65;
    color: var(--pf-text-body);
    margin: 0 0 18px;
    flex-grow: 1;
}

.pf-craft-link {
    font-weight: 700;
    font-size: 14px;
    color: var(--pf-terra);
}

/* --- 4. ČAJOVŇA A PORADŇA V NITRE --- */
.pf-nitra-sanctuary {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 40px;
    align-items: start;
}

.pf-nitra-photo-main {
    background: #fff;
    border: 1px solid var(--pf-border-strong);
    border-radius: 14px;
    padding: 10px;
    box-shadow: var(--pf-shadow-sm);
    margin-bottom: 14px;
    cursor: pointer;
}

.pf-nitra-photo-main img {
    width: 100%;
    height: 270px;
    object-fit: cover;
    border-radius: 10px;
}

.pf-photo-caption {
    display: block;
    text-align: center;
    font-size: 12.5px;
    color: var(--pf-text-muted);
    padding-top: 8px;
}

.pf-nitra-photo-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.pf-nitra-photo-sub {
    background: #fff;
    border: 1px solid var(--pf-border);
    border-radius: 12px;
    padding: 8px;
    text-align: center;
    cursor: pointer;
}

.pf-nitra-photo-sub img {
    width: 100%;
    height: 145px;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 6px;
}

.pf-nitra-photo-sub span {
    font-size: 12px;
    font-weight: 600;
    color: var(--pf-olive-dark);
}

.pf-advisory-callout {
    margin-top: 24px;
    background: #F4FFE4;
    border: 1px solid var(--pf-border-strong);
    border-left: 4px solid var(--pf-olive-orig);
    border-radius: 14px;
    padding: 22px 24px;
}

.pf-advisory-callout h3 {
    font-family: 'Cormorant Garamond', var(--pf-font-serif);
    font-size: 24px;
    margin-bottom: 8px;
}

.pf-advisory-callout-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 16px;
}

/* --- 5. SPODNÁ KRONIKA A POZVANIE ĎALEJ --- */
.pf-bottom-harmony-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: stretch;
}

.pf-chronicle-box,
.pf-invitation-card {
    background: #fff;
    border: 1px solid var(--pf-border-strong);
    border-radius: 16px;
    padding: 28px 30px;
    box-shadow: var(--pf-shadow-sm);
}

.pf-chronicle-box h3,
.pf-invitation-card h3 {
    font-family: 'Cormorant Garamond', var(--pf-font-serif);
    font-size: 26px;
    margin-bottom: 14px;
}

.pf-chronicle-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 18px;
}

.pf-chronicle-item {
    display: grid;
    grid-template-columns: 95px 1fr;
    gap: 14px;
    padding-bottom: 12px;
    border-bottom: 1px dashed var(--pf-border);
}

.pf-chronicle-date {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--pf-terra);
}

.pf-chronicle-item strong {
    display: block;
    font-size: 14.5px;
    color: var(--pf-olive-dark);
    margin-bottom: 3px;
}

.pf-chronicle-item p {
    margin: 0;
    font-size: 13.5px;
    color: var(--pf-text-body);
}

.pf-invitation-card {
    background: linear-gradient(160deg, #F4FFE4 0%, #E7F5CE 100%);
}

.pf-invitation-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 18px;
}

.pf-invitation-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid var(--pf-border-strong);
    border-radius: 10px;
    padding: 13px 16px;
    transition: all 0.18s ease;
}

.pf-invitation-row:hover {
    border-color: var(--pf-olive-orig);
    background: #fff;
    transform: translateX(3px);
}

.pf-invitation-row strong {
    display: block;
    font-size: 15px;
    color: var(--pf-olive-dark);
}

.pf-invitation-row span {
    font-size: 12.5px;
    color: var(--pf-text-muted);
}

/* --- KOMPAKTNÁ COOKIE KARTIČKA V PRAVOM DOLNOM ROHU --- */
.pf-cookie-banner {
    position: fixed;
    bottom: 18px;
    right: 18px;
    left: auto;
    width: calc(100% - 36px);
    max-width: 410px;
    background: var(--pf-olive-dark);
    color: #F4FFE4;
    padding: 14px 18px;
    border-radius: 12px;
    border: 1px solid var(--pf-herb-lime);
    box-shadow: var(--pf-shadow-lg);
    z-index: 800;
}

.pf-cookie-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: nowrap;
    font-size: 12.5px;
    line-height: 1.45;
}

@media (max-width: 1080px) {
    .pf-masthead-inner {
        flex-direction: column;
        align-items: flex-start;
    }
    .pf-sanctuary-grid,
    .pf-letter-layout,
    .pf-craft-triptych,
    .pf-nitra-sanctuary,
    .pf-bottom-harmony-grid {
        grid-template-columns: 1fr;
    }
    .pf-soul-pillars {
        grid-template-columns: 1fr;
    }
    .pf-letter-sheet {
        padding: 24px 20px;
    }
}

/* ==========================================================================
   OPRAVY ADMINISTRÁCIE A ZÓNA ZÁKAZNÍKOV / PARTNEROV (?page=ucet)
   ========================================================================== */

.pf-admin-body {
    font-family: var(--pf-font-sans);
    background: var(--pf-bg-cream);
    color: var(--pf-text-main);
}

.pf-admin-brand-logo {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    object-fit: cover;
    object-position: top center;
    border: 2px solid var(--pf-herb-lime);
    background: #fff;
    flex-shrink: 0;
}

.pf-admin-sidebar-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 7px 12px;
    border-radius: 8px;
    background: rgba(213, 237, 179, 0.16);
    border: 1px solid rgba(153, 204, 102, 0.45);
    color: #F4FFE4 !important;
    font-size: 12.2px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.18s ease;
}

.pf-admin-sidebar-btn:hover {
    background: var(--pf-herb-lime);
    border-color: var(--pf-herb-lime);
    color: var(--pf-olive-dark) !important;
}

.pf-admin-sidebar-logout {
    display: block;
    text-align: center;
    padding: 7px 10px;
    border-radius: 7px;
    color: #E2F2C8 !important;
    font-size: 12.5px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.18s ease;
}

.pf-admin-sidebar-logout:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff !important;
}

.pf-status-dot {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    margin-right: 7px;
    vertical-align: middle;
}

.pf-status-dot.is-online {
    background: #65B741;
    box-shadow: 0 0 0 3px rgba(101, 183, 65, 0.25);
}

.pf-status-dot.is-catalog {
    background: #D97706;
    box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.22);
}

.pf-admin-kpi-icon {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: var(--pf-herb-tint);
    border: 1px solid var(--pf-border-strong);
    color: var(--pf-olive-dark);
    font-family: 'Cormorant Garamond', var(--pf-font-serif);
    font-size: 17px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* --- TLAČIDLO ÚČTU V HLAVIČKE PODLA REŽIMU E-SHOPU --- */
.pf-account-trigger {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 15px;
    border-radius: 99px;
    background: #fff;
    border: 1px solid var(--pf-border-strong);
    color: var(--pf-olive-dark);
    font-size: 13.5px;
    font-weight: 700;
    white-space: nowrap;
    text-decoration: none;
    transition: all 0.18s ease;
    box-shadow: var(--pf-shadow-sm);
}

.pf-account-trigger:hover,
.pf-account-trigger.active {
    background: var(--pf-olive-orig);
    border-color: var(--pf-olive-orig);
    color: #F4FFE4;
}

/* --- ZÁKAZNÍCKA ZÓNA & REGISTRÁCIA (?page=ucet) --- */
.pf-account-auth-grid {
    display: grid;
    grid-template-columns: 0.92fr 1.08fr;
    gap: 28px;
    align-items: start;
}

.pf-account-col-stack {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.pf-account-card {
    background: #fff;
    border: 1px solid var(--pf-border-strong);
    border-radius: 16px;
    padding: 28px 30px;
    box-shadow: var(--pf-shadow-sm);
}

.pf-account-card-head {
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--pf-border);
}

.pf-account-card-head h2 {
    font-family: 'Cormorant Garamond', var(--pf-font-serif);
    font-size: 28px;
    margin: 4px 0 6px;
}

.pf-account-card-head p {
    margin: 0;
    font-size: 14px;
    color: var(--pf-text-muted);
}

.pf-account-welcome-card {
    background: linear-gradient(160deg, #F4FFE4 0%, #E7F5CE 100%);
    border: 1px solid var(--pf-border-strong);
    border-radius: 16px;
    padding: 24px;
    box-shadow: var(--pf-shadow-sm);
}

.pf-account-welcome-inner {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 20px;
    align-items: center;
}

.pf-account-welcome-img {
    width: 120px;
    height: 145px;
    object-fit: cover;
    border-radius: 12px;
    border: 2px solid var(--pf-olive-orig);
    box-shadow: var(--pf-shadow-sm);
}

.pf-account-welcome-inner h3 {
    font-family: 'Cormorant Garamond', var(--pf-font-serif);
    font-size: 22px;
    margin: 4px 0 8px;
}

.pf-check-list {
    margin: 0;
    padding-left: 18px;
    font-size: 13.5px;
    color: var(--pf-text-body);
    line-height: 1.65;
}

.pf-account-type-pills {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.pf-type-pill {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 13px 15px;
    border: 1.5px solid var(--pf-border-strong);
    border-radius: 12px;
    background: #FAFDF6;
    cursor: pointer;
    transition: all 0.18s ease;
}

.pf-type-pill input[type="radio"] {
    display: none;
}

.pf-type-pill strong {
    font-size: 14.5px;
    color: var(--pf-olive-dark);
}

.pf-type-pill span {
    font-size: 12px;
    color: var(--pf-text-muted);
}

.pf-type-pill.is-active {
    background: #F4FFE4;
    border-color: var(--pf-olive-orig);
    box-shadow: 0 0 0 2px rgba(92, 116, 61, 0.16);
}

.pf-partner-fields-box {
    background: #F8FCF2;
    border: 1px dashed var(--pf-border-strong);
    border-radius: 12px;
    padding: 16px;
    margin: 14px 0;
}

.pf-account-dashboard-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 28px;
    align-items: start;
}

.pf-user-orders-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.pf-user-order-card {
    background: #FAFDF6;
    border: 1px solid var(--pf-border);
    border-radius: 12px;
    padding: 16px 18px;
}

.pf-user-order-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px dashed var(--pf-border);
}

.pf-user-order-items {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 10px;
}

.pf-user-order-item-pill {
    background: #fff;
    border: 1px solid var(--pf-border);
    border-radius: 6px;
    padding: 3px 9px;
    font-size: 12.5px;
    color: var(--pf-text-body);
}

.pf-user-order-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    font-size: 13px;
    color: var(--pf-text-muted);
}

.pf-user-order-bottom strong {
    font-size: 15px;
    color: var(--pf-olive-dark);
}

@media (max-width: 980px) {
    .pf-account-auth-grid,
    .pf-account-dashboard-grid,
    .pf-account-welcome-inner,
    .pf-account-type-pills {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   GOOGLE OAUTH 2.0 TLAČIDLO & 2FA GOOGLE AUTHENTICATOR (QR KÓD + PLÔŠKY)
   ========================================================================== */

.pf-google-auth-box {
    margin-bottom: 16px;
}

.pf-google-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    width: 100%;
    padding: 11px 18px;
    border-radius: 10px;
    background: #ffffff;
    border: 1.5px solid #cbd5e1;
    color: #1e293b;
    font-family: var(--pf-font-sans);
    font-size: 14.5px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.05);
    transition: all 0.18s ease;
}

.pf-google-btn:hover {
    background: #f8fafc;
    border-color: var(--pf-olive-orig);
    box-shadow: 0 4px 12px rgba(44, 59, 27, 0.1);
}

.pf-auth-divider {
    display: flex;
    align-items: center;
    text-align: center;
    margin: 14px 0 12px;
    color: var(--pf-text-muted);
    font-size: 12.5px;
}

.pf-auth-divider::before,
.pf-auth-divider::after {
    content: "";
    flex: 1;
    border-bottom: 1px solid var(--pf-border);
}

.pf-auth-divider span {
    padding: 0 12px;
}

.pf-2fa-pill-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
}

.pf-2fa-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 32px;
    padding: 0 12px;
    border-radius: 7px;
    font-size: 12.5px;
    font-weight: 700;
    white-space: nowrap;
}

.pf-2fa-pill-uid {
    background: #EEF5E4;
    color: var(--pf-olive-dark);
    border: 1px solid var(--pf-border-strong);
    flex-shrink: 0;
}

.pf-2fa-pill-active {
    background: #ECFDF5;
    color: #065F46;
    border: 1px solid #A7F3D0;
    flex: 1;
    justify-content: flex-start;
}

.pf-2fa-pill-inactive {
    background: #FFFBEB;
    color: #92400E;
    border: 1px solid #FDE68A;
    flex: 1;
    justify-content: flex-start;
}

.pf-2fa-pill-btn-on {
    background: var(--pf-olive-orig);
    color: #fff;
    border: 1px solid var(--pf-olive-dark);
    cursor: pointer;
    flex-shrink: 0;
}

.pf-2fa-pill-btn-on:hover {
    background: var(--pf-olive-dark);
}

.pf-2fa-pill-btn-off {
    background: #FFF1F2;
    color: #BE123C;
    border: 1px solid #FECDD3;
    cursor: pointer;
    flex-shrink: 0;
}

.pf-2fa-setup-box {
    background: #FAFDF6;
    border: 1px solid var(--pf-border-strong);
    border-radius: 14px;
    padding: 20px;
}

.pf-2fa-qr-grid {
    display: grid;
    grid-template-columns: 185px 1fr;
    gap: 22px;
    align-items: center;
}

.pf-2fa-qr-frame {
    background: #ffffff;
    border: 2px solid var(--pf-olive-orig);
    border-radius: 12px;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--pf-shadow-sm);
}

.pf-2fa-secret-code {
    display: inline-block;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.14em;
    background: #ffffff;
    border: 1px dashed var(--pf-olive-orig);
    color: var(--pf-olive-dark);
    padding: 7px 14px;
    border-radius: 8px;
}

.pf-totp-input {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 20px !important;
    font-weight: 800;
    letter-spacing: 0.25em;
    text-align: center;
}

@media (max-width: 720px) {
    .pf-2fa-qr-grid {
        grid-template-columns: 1fr;
    }
    .pf-2fa-pill-bar {
        flex-wrap: wrap;
    }
}

/* =========================================================================
   DRAG & DROP NAHRÁVANIE SÚBOROV, OPTIMALIZÁCIA FOTIEK A ZMENA PORADIA
   ========================================================================= */
.pf-admin-media-row {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 16px;
    align-items: stretch;
}

.pf-dropzone {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border: 2px dashed var(--pf-olive-orig);
    border-radius: 12px;
    background: #FAFDF6;
    cursor: pointer;
    transition: all 0.2s ease;
}

.pf-dropzone:hover,
.pf-dropzone.is-dragover {
    background: #EEF7E1;
    border-color: var(--pf-olive-dark);
    box-shadow: 0 0 0 4px rgba(153, 204, 102, 0.22);
}

.pf-dropzone-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    z-index: 2;
}

.pf-dropzone-preview-wrap {
    width: 78px;
    height: 78px;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--pf-border-strong);
    background: #fff;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pf-dropzone-preview {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pf-dropzone-icon {
    width: 52px;
    height: 52px;
    border-radius: 12px;
    background: #E7F3D4;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    flex-shrink: 0;
}

.pf-dropzone-body {
    flex: 1;
    min-width: 0;
}

.pf-dropzone-body strong {
    display: block;
    font-size: 13.8px;
    color: var(--pf-olive-dark);
}

.pf-dropzone-status {
    margin-top: 6px;
    font-size: 12.2px;
    font-weight: 700;
    color: #166534;
    display: none;
}

.pf-dropzone-status.is-visible {
    display: inline-block;
    background: #DCFCE7;
    border: 1px solid #86EFAC;
    padding: 3px 9px;
    border-radius: 99px;
}

.pf-dropzone-multi {
    flex-direction: column;
    align-items: stretch;
}

.pf-dropzone-multi > .pf-dropzone-body {
    display: flex;
    align-items: center;
    gap: 14px;
}

.pf-dropzone-multi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 10px;
    margin-top: 10px;
}

.pf-dropzone-multi-item {
    background: #fff;
    border: 1px solid var(--pf-border-strong);
    border-radius: 8px;
    padding: 6px;
    text-align: center;
    font-size: 11px;
}

.pf-dropzone-multi-item img {
    width: 100%;
    height: 68px;
    object-fit: cover;
    border-radius: 6px;
    margin-bottom: 4px;
}

.pf-admin-media-side {
    background: #FAFDF6;
    border: 1px solid var(--pf-border);
    border-radius: 12px;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.pf-quick-img-picker {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.pf-quick-img-thumb {
    width: 44px;
    height: 44px;
    padding: 2px;
    border-radius: 8px;
    border: 2px solid transparent;
    background: #fff;
    cursor: pointer;
    overflow: hidden;
    transition: all 0.15s ease;
}

.pf-quick-img-thumb:hover,
.pf-quick-img-thumb.is-selected {
    border-color: var(--pf-olive-orig);
    transform: translateY(-1px);
}

.pf-quick-img-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 5px;
}

/* Drag & Drop poradie v tabuľke a miniatúra riadku */
.pf-admin-drag-hint {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    align-items: center;
    background: #F4FBE9;
    border: 1px solid #CBE3A8;
    border-radius: 10px;
    padding: 8px 13px;
    font-size: 12.5px;
    color: var(--pf-olive-dark);
    margin: 8px 0 12px;
}

.pf-drag-handle {
    cursor: grab;
    font-size: 18px;
    color: #7C8F65;
    text-align: center;
    user-select: none;
    width: 34px;
}

.pf-drag-handle:active {
    cursor: grabbing;
}

.pf-sortable-row.is-dragging {
    opacity: 0.45;
    background: #E9F6D7 !important;
}

.pf-sortable-row.is-drag-over {
    border-top: 2px solid var(--pf-olive-orig) !important;
}

.pf-row-thumb-drop {
    position: relative;
    width: 44px;
    height: 44px;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid var(--pf-border-strong);
    background: #fff;
    cursor: pointer;
    transition: all 0.15s ease;
}

.pf-row-thumb-drop img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pf-row-thumb-overlay {
    position: absolute;
    inset: 0;
    background: rgba(44, 59, 27, 0.58);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    opacity: 0;
    transition: opacity 0.15s ease;
    pointer-events: none;
}

.pf-row-thumb-drop:hover .pf-row-thumb-overlay,
.pf-row-thumb-drop.is-dragover .pf-row-thumb-overlay {
    opacity: 1;
}

.pf-row-thumb-drop.is-dragover {
    border: 2px dashed var(--pf-olive-orig);
    transform: scale(1.08);
}

.pf-row-thumb-input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

@media (max-width: 900px) {
    .pf-admin-media-row {
        grid-template-columns: 1fr;
    }
}

/* =========================================================================
   KOMPLETNÁ OPTIMALIZÁCIA MOBILNEJ A TABLELOVEJ VERZIE (<= 980px a <= 640px)
   ========================================================================= */
html, body {
    max-width: 100%;
    overflow-x: clip;
}

@media (max-width: 1160px) {
    .pf-navbar .pf-nav-link {
        padding: 7px 9px;
        font-size: 13.2px;
    }
    .pf-account-trigger,
    .pf-cart-trigger {
        padding: 6px 11px;
        font-size: 12.8px;
    }
}

@media (max-width: 980px) {
    /* 1. Horná lišta (Topbar) na mobile */
    .pf-topbar-inner {
        padding: 5px 0;
        gap: 6px;
        justify-content: space-between;
    }
    .pf-topbar-left .pf-topbar-sep,
    .pf-topbar-left .pf-topbar-item:nth-child(3),
    .pf-topbar-right .pf-topbar-sep:first-of-type,
    .pf-topbar-right a[href^="mailto:"] {
        display: none;
    }
    .pf-topbar-item,
    .pf-topbar-link {
        font-size: 11.5px;
    }

    /* 2. Masthead (Vizuálna hlavička) na mobile */
    .pf-masthead-inner {
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
        padding-top: 16px;
        padding-bottom: 16px;
    }
    .pf-masthead-brand {
        gap: 14px;
    }
    .pf-masthead-medallion {
        width: 68px;
        height: 68px;
        padding: 3px;
    }
    .pf-masthead-kicker {
        font-size: 10px;
        letter-spacing: 0.12em;
    }
    .pf-masthead-name {
        font-size: clamp(22px, 5.5vw, 30px);
    }
    .pf-masthead-motto {
        font-size: 13px;
    }
    .pf-masthead-craft-badge {
        display: none;
    }

    /* 3. Mobilná navigačná lišta a rozbaľovacie menu */
    .pf-navbar-inner {
        min-height: 50px;
        justify-content: flex-end;
    }
    .pf-header-actions {
        width: 100%;
        justify-content: space-between;
        gap: 8px;
    }
    .pf-mobile-advisory-btn {
        display: inline-flex;
    }
    .pf-mobile-toggle {
        display: inline-flex;
        margin-left: auto;
    }
    .pf-navbar .pf-nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: #FCFDF9;
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
        padding: 14px 16px 18px;
        border-bottom: 3px solid var(--pf-olive-orig);
        box-shadow: 0 14px 32px rgba(24, 34, 14, 0.22);
        z-index: 400;
    }
    .pf-navbar .pf-nav.is-open {
        display: flex;
    }
    .pf-navbar .pf-nav-link {
        padding: 11px 14px;
        font-size: 15px;
        border: 1px solid var(--pf-border);
        background: #fff;
        border-radius: 9px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .pf-nav-dropdown .pf-dropdown-menu {
        position: static;
        width: 100%;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        padding: 10px;
        margin-top: 6px;
        background: #F4FBE9;
        border-radius: 10px;
    }
    .pf-nav-dropdown .pf-dropdown-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 6px;
    }
    .pf-dropdown-item small {
        display: none;
    }

    /* 4. Katalóg produktov – horizontálne pilulky kategórií namiesto dlhého bočného panela */
    .pf-catalog-sidebar {
        position: static !important;
    }
    .pf-sidebar-cat-list {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
    }
    .pf-sidebar-cat-link {
        padding: 7px 11px !important;
        font-size: 12.8px !important;
        border-radius: 99px !important;
        background: #fff;
        border: 1px solid var(--pf-border-strong);
    }
    .pf-sidebar-promo-box {
        display: none;
    }
    .pf-catalog-toolbar {
        flex-direction: column;
        align-items: stretch !important;
        gap: 10px;
    }

    /* 5. Administrácia na mobile a tablete */
    .pf-admin-shell {
        padding-left: 0 !important;
        background: #F4F7EF !important;
    }
    .pf-admin-sidebar {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        padding: 12px !important;
    }
    .pf-admin-nav {
        display: flex !important;
        flex-direction: row !important;
        overflow-x: auto !important;
        gap: 6px !important;
        padding-bottom: 4px;
    }
    .pf-admin-nav a {
        white-space: nowrap;
        padding: 7px 11px !important;
        font-size: 12.5px !important;
    }
    .pf-admin-topbar {
        flex-direction: column;
        align-items: stretch !important;
        gap: 10px;
        padding: 12px 16px !important;
    }
    .pf-admin-content {
        padding: 16px !important;
    }
    .pf-admin-two-col,
    .pf-form-grid-4,
    .pf-form-grid-3,
    .pf-form-row {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 640px) {
    .pf-container {
        padding-left: 14px;
        padding-right: 14px;
    }
    .pf-section {
        padding: 32px 0;
    }
    .pf-sanctuary-hero {
        padding: 28px 0 34px;
    }
    .pf-sanctuary-title {
        font-size: 27px;
    }
    .pf-sanctuary-prose {
        font-size: 15.2px;
    }
    .pf-sanctuary-actions .pf-btn,
    .pf-advisory-callout-actions .pf-btn {
        width: 100%;
    }
    .pf-hildegard-frame {
        width: 130px;
        height: 156px;
    }
    .pf-letter-sheet {
        padding: 20px 16px 24px;
    }
    .pf-letter-prose {
        font-size: 15px;
    }
    .pf-chronicle-box,
    .pf-invitation-card,
    .pf-account-card,
    .pf-advisory-callout {
        padding: 18px 16px;
    }
    .pf-chronicle-item {
        grid-template-columns: 1fr;
        gap: 4px;
    }
    .pf-nitra-photo-pair {
        grid-template-columns: 1fr;
    }
    .pf-nav-dropdown .pf-dropdown-grid {
        grid-template-columns: 1fr;
    }
    .pf-page-header-flex {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 12px;
    }
    .pf-cookie-banner {
        right: 10px;
        left: 10px;
        bottom: 10px;
        width: auto;
        max-width: none;
    }
}



