@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap");

:root {
    --zhiva-paper: #f6f3ec;
    --zhiva-paper-2: #fbfaf6;
    --zhiva-blue: #13284c;
    --zhiva-blue-soft: #203c68;
    --zhiva-green: #5d8c31;
    --zhiva-chlorophyll: #2f6b45;
    --zhiva-propolis: #6b4423;
    --zhiva-line: rgba(19, 40, 76, 0.14);
    --zhiva-muted: rgba(19, 40, 76, 0.68);
    --zhiva-shadow: 0 22px 70px rgba(19, 40, 76, 0.09);
}

html,
body {
    background: var(--zhiva-paper);
    color: var(--zhiva-blue);
    font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.65;
}

body {
    background:
        radial-gradient(circle at 10% 0%, rgba(93, 140, 49, 0.10), transparent 34rem),
        linear-gradient(180deg, #fbfaf6 0%, var(--zhiva-paper) 42%, #f1eee6 100%);
}

a,
.uk-link {
    color: var(--zhiva-chlorophyll);
    text-underline-offset: 0.22em;
}

a:hover,
.uk-link:hover {
    color: var(--zhiva-blue);
}

h1,
h2,
h3,
h4,
h5,
h6,
.uk-h1,
.uk-h2,
.uk-h3,
.uk-heading-small,
.uk-heading-medium {
    color: var(--zhiva-blue);
    font-family: "Manrope", system-ui, sans-serif;
    font-weight: 700;
    letter-spacing: -0.035em;
}

.zhiva-editorial,
.zhiva-hero__title,
.zhiva-section-title {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 600;
    letter-spacing: -0.025em;
}

.tm-header,
.tm-header-mobile {
    position: relative;
    z-index: 1200;
    border-bottom: 1px solid var(--zhiva-line);
    background: rgba(246, 243, 236, 0.88);
    backdrop-filter: blur(16px);
}

.tm-header .uk-container-large,
.tm-headerbar-top .uk-container {
    max-width: 1220px;
}

.uk-container:not(.uk-container-xsmall):not(.uk-container-small):not(.uk-container-expand),
.uk-container-large {
    max-width: 1400px;
}

.tm-headerbar-top {
    padding-top: 12px;
    padding-bottom: 12px;
}

.tm-header .uk-navbar-container {
    border-top: 1px solid var(--zhiva-line);
}

.tm-header .uk-navbar,
.tm-header-mobile .uk-navbar {
    position: relative;
}

.tm-header .uk-navbar::before,
.tm-header-mobile .uk-navbar::before {
    content: none;
}

.tm-header .uk-navbar::after {
    content: none;
}

.uk-navbar-nav > li > a,
.uk-navbar-item,
.uk-navbar-toggle {
    min-height: 48px;
    color: var(--zhiva-blue);
    font-family: "Manrope", system-ui, sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
}

.uk-navbar-nav > li.uk-active > a,
.uk-navbar-nav > li > a:hover {
    color: var(--zhiva-chlorophyll);
}

/* ── Logo ──────────────────────────────────────────── */
.uk-logo,
.uk-logo:hover {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    color: var(--zhiva-blue);
}

/* Uploaded logo image — constrain to header height */
.uk-logo img {
    height: 38px;
    width: auto;
    max-width: 180px;
    object-fit: contain;
}

.zhiva-header-catalog {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    min-width: 120px;
    min-height: 40px;
    padding: 0 18px;
}

.zhiva-header-search {
    width: min(386px, 32vw);
}

.zhiva-header-search .uk-search-input {
    height: 40px;
    padding-left: 40px;
}

.zhiva-header-phone {
    display: grid;
    gap: 3px;
    min-width: 172px;
    color: var(--zhiva-blue);
    line-height: 1.1;
    text-align: center;
}

.zhiva-header-phone strong,
.zhiva-header-phone small {
    display: block;
}

.zhiva-header-phone strong {
    font-size: 16px;
    font-weight: 800;
}

.zhiva-header-phone small {
    color: var(--zhiva-muted);
    font-size: 12px;
    font-weight: 500;
}

.zhiva-header-actions {
    display: grid;
    grid-template-columns: repeat(3, 66px);
    gap: 14px;
    align-items: center;
}

.zhiva-header-action {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 4px;
    color: var(--zhiva-blue-soft);
    font-size: 11px;
    font-weight: 500;
    line-height: 1.15;
    text-align: center;
    text-decoration: none;
}

.zhiva-header-action:hover {
    color: var(--zhiva-chlorophyll);
    text-decoration: none;
}

.zhiva-header-action .uk-icon {
    color: currentColor;
}

.zhiva-header-action__icon {
    position: relative;
    display: inline-flex;
}

.zhiva-header-cart-badge {
    position: absolute;
    top: -7px;
    right: -9px;
    display: inline-grid;
    place-items: center;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 999px;
    background: var(--zhiva-green);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
}

.uk-button {
    border-radius: 999px;
    font-family: "Manrope", system-ui, sans-serif;
    font-weight: 800;
    letter-spacing: 0.01em;
    text-transform: none;
}

.uk-button-primary,
.zhiva-button-primary {
    border: 1px solid var(--zhiva-blue);
    background: var(--zhiva-blue);
    color: #fff;
    box-shadow: 0 14px 34px rgba(19, 40, 76, 0.22);
}

.uk-button-primary:hover,
.zhiva-button-primary:hover {
    border-color: var(--zhiva-blue-soft);
    background: var(--zhiva-blue-soft);
    color: #fff;
}

.uk-button-default,
.zhiva-button-outline {
    border-color: rgba(19, 40, 76, 0.22);
    background: rgba(255, 255, 255, 0.45);
    color: var(--zhiva-blue);
}

.uk-card,
.zhiva-card {
    border: 1px solid var(--zhiva-line);
    border-radius: 28px;
    background: rgba(251, 250, 246, 0.84);
    box-shadow: var(--zhiva-shadow);
}

.zhiva-shell {
    overflow: hidden;
    background: var(--zhiva-paper);
}

.zhiva-hero {
    position: relative;
    padding: clamp(44px, 8vw, 96px) 0 clamp(32px, 6vw, 74px);
}

.zhiva-hero::before {
    content: "";
    position: absolute;
    inset: 5% -18% auto auto;
    width: min(54vw, 680px);
    height: min(54vw, 680px);
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(47, 107, 69, 0.22), transparent 58%),
        radial-gradient(circle at 30% 30%, rgba(107, 68, 35, 0.12), transparent 44%);
    pointer-events: none;
}

.zhiva-hero__grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
    gap: clamp(28px, 5vw, 72px);
    align-items: center;
}

.zhiva-kicker {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 20px;
    color: var(--zhiva-chlorophyll);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.zhiva-kicker::before {
    content: "";
    width: 34px;
    height: 1px;
    background: currentColor;
}

.zhiva-hero__title {
    max-width: 780px;
    margin: 0;
    font-size: clamp(48px, 8vw, 112px);
    line-height: 0.9;
}

.zhiva-hero__lead {
    max-width: 640px;
    margin: 26px 0 0;
    color: var(--zhiva-muted);
    font-size: clamp(17px, 2vw, 21px);
    line-height: 1.58;
}

.zhiva-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.zhiva-proof-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 34px;
}

.zhiva-proof {
    padding: 16px 18px;
    border: 1px solid var(--zhiva-line);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.42);
}

.zhiva-proof strong {
    display: block;
    color: var(--zhiva-blue);
    font-size: 15px;
    line-height: 1.25;
}

.zhiva-proof span {
    display: block;
    margin-top: 4px;
    color: var(--zhiva-muted);
    font-size: 13px;
    line-height: 1.35;
}

.zhiva-visual-card {
    position: relative;
    padding: clamp(22px, 4vw, 38px);
    border: 1px solid rgba(19, 40, 76, 0.13);
    border-radius: 38px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.80), rgba(246, 243, 236, 0.62)),
        radial-gradient(circle at 80% 15%, rgba(93, 140, 49, 0.18), transparent 42%);
    box-shadow: 0 30px 80px rgba(19, 40, 76, 0.13);
}

.zhiva-product-orbit {
    min-height: 460px;
    border-radius: 30px;
    background:
        radial-gradient(circle at center, rgba(255, 255, 255, 0.95) 0 18%, transparent 19%),
        radial-gradient(circle at center, transparent 0 31%, rgba(19, 40, 76, 0.10) 31.3% 31.8%, transparent 32%),
        radial-gradient(circle at 30% 28%, rgba(93, 140, 49, 0.28), transparent 12%),
        radial-gradient(circle at 75% 33%, rgba(107, 68, 35, 0.20), transparent 10%),
        radial-gradient(circle at 65% 76%, rgba(47, 107, 69, 0.20), transparent 13%),
        linear-gradient(180deg, #f8f5ee, #ece7dc);
}

.zhiva-product-bottle {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(180px, 42vw);
    height: 300px;
    transform: translate(-50%, -50%);
    border-radius: 34px 34px 26px 26px;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.55), transparent 24% 72%, rgba(19, 40, 76, 0.10)),
        linear-gradient(180deg, #243f23 0 18%, #f8f4ea 18% 100%);
    box-shadow: 0 26px 50px rgba(19, 40, 76, 0.22);
}

.zhiva-product-bottle::before {
    content: "";
    position: absolute;
    top: -44px;
    left: 50%;
    width: 74px;
    height: 54px;
    transform: translateX(-50%);
    border-radius: 14px 14px 6px 6px;
    background: #243f23;
}

.zhiva-product-bottle::after {
    content: "Жива";
    position: absolute;
    right: 18px;
    bottom: 34px;
    left: 18px;
    padding: 18px 10px;
    border-radius: 18px;
    background: #fffaf1;
    color: var(--zhiva-blue);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 34px;
    font-weight: 700;
    text-align: center;
}

.zhiva-lab-note {
    position: absolute;
    right: 22px;
    bottom: 22px;
    max-width: 230px;
    padding: 16px 18px;
    border: 1px solid rgba(19, 40, 76, 0.14);
    border-radius: 22px;
    background: rgba(251, 250, 246, 0.86);
    color: var(--zhiva-muted);
    font-size: 13px;
    line-height: 1.4;
}

.zhiva-orbit-label {
    position: absolute;
    z-index: 1;
    padding: 8px 12px;
    border: 1px solid rgba(19, 40, 76, 0.14);
    border-radius: 999px;
    background: rgba(251, 250, 246, 0.78);
    color: var(--zhiva-blue-soft);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.zhiva-orbit-label--top { top: 18px; left: 20px; }
.zhiva-orbit-label--bottom { right: 20px; bottom: 18px; }

.zhiva-route-card {
    display: block;
    color: inherit;
    text-decoration: none;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.zhiva-route-card:hover {
    color: inherit;
    border-color: rgba(47, 107, 69, 0.45);
    box-shadow: 0 26px 70px rgba(19, 40, 76, 0.14);
    transform: translateY(-4px);
    text-decoration: none;
}

.zhiva-route-ribbon {
    position: relative;
    z-index: 3;
    margin: clamp(-24px, -2.5vw, -12px) 0 clamp(22px, 4vw, 48px);
}

.zhiva-route-ribbon__track {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--zhiva-line);
    border-radius: 26px;
    background: rgba(251, 250, 246, 0.92);
    box-shadow: 0 20px 48px rgba(19, 40, 76, 0.09);
}

.zhiva-route-ribbon__item {
    display: grid;
    gap: 5px;
    min-width: 0;
    min-height: 142px;
    padding: 22px 24px;
    border-right: 1px solid var(--zhiva-line);
    color: var(--zhiva-blue);
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.zhiva-route-ribbon__item:last-child {
    border-right: 0;
}

.zhiva-route-ribbon__item:hover {
    background: rgba(93, 140, 49, 0.10);
    color: var(--zhiva-blue);
    text-decoration: none;
}

.zhiva-route-ribbon__item:focus-visible {
    position: relative;
    z-index: 1;
    outline: 3px solid var(--zhiva-green);
    outline-offset: -3px;
}

.zhiva-route-ribbon__eyebrow {
    color: var(--zhiva-chlorophyll);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.zhiva-route-ribbon__item strong {
    overflow: hidden;
    font-size: 17px;
    line-height: 1.2;
    text-overflow: ellipsis;
}

.zhiva-route-ribbon__item > span:last-child {
    display: flex;
    gap: 8px;
    align-items: end;
    margin-top: auto;
    color: var(--zhiva-muted);
    font-size: 12px;
    line-height: 1.35;
}

.zhiva-route-ribbon__item b {
    flex: 0 0 auto;
    color: var(--zhiva-chlorophyll);
    font-size: 18px;
    line-height: 1;
}

.zhiva-card-link { display: inline-block; margin-top: 22px; color: var(--zhiva-chlorophyll); font-size: 14px; font-weight: 800; }

.zhiva-promo--home {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 28px;
    align-items: center;
    padding: clamp(26px, 4vw, 42px);
    border-radius: 32px;
    background: var(--zhiva-blue);
    color: rgba(255, 255, 255, .82);
}

.zhiva-promo--home h2, .zhiva-promo--home .zhiva-kicker { color: #fff; }
.zhiva-promo--home .zhiva-kicker { margin-bottom: 12px; }
.zhiva-promo--home h2 { margin: 0; font-size: clamp(28px, 4vw, 48px); line-height: 1; }
.zhiva-promo--home p:not(.zhiva-kicker) { margin: 12px 0 0; }
.zhiva-promo__code { padding: 13px 18px; border: 1px dashed rgba(255,255,255,.45); border-radius: 14px; color: #b7dc75; font-size: 20px; font-weight: 800; letter-spacing: .08em; }
.zhiva-final-cta { display: flex; justify-content: space-between; gap: 28px; align-items: end; padding-top: 12px; border-top: 1px solid var(--zhiva-line); }
.zhiva-final-cta .zhiva-section-title { max-width: 620px; }
.zhiva-final-cta p:not(.zhiva-kicker) { max-width: 540px; color: var(--zhiva-muted); }

/* ── Homepage v3 bridge ─────────────────────────────────────────── */
.zhiva-homepage .zhiva-hero--fullbleed {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding: clamp(56px, 8vw, 112px) 0 clamp(42px, 7vw, 86px);
    overflow: hidden;
    border-radius: 0;
    background:
        radial-gradient(circle at 78% 30%, rgba(93, 140, 49, .20), transparent 23rem),
        linear-gradient(115deg, #fbfaf6 0%, #f0eee5 100%);
}

.zhiva-hero__inner { width: 100%; }
.zhiva-hero__copy { position: relative; z-index: 2; }
.zhiva-hero__visual { position: relative; min-height: clamp(360px, 42vw, 560px); }
.zhiva-hero__product { position: absolute; width: clamp(150px, 19vw, 250px); height: clamp(190px, 25vw, 330px); padding: 16px; border: 1px solid rgba(19, 40, 76, .12); border-radius: 26px; background: rgba(255, 255, 255, .72); box-shadow: 0 26px 70px rgba(19, 40, 76, .14); }
.zhiva-hero__product img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.zhiva-hero__product--one { top: 7%; left: 5%; transform: rotate(-7deg); }
.zhiva-hero__product--two { top: 22%; right: 9%; z-index: 1; transform: rotate(6deg); }
.zhiva-hero__product--three { right: 29%; bottom: 0; z-index: 2; transform: rotate(-2deg); }
.zhiva-hero__note { position: absolute; z-index: 3; padding: 9px 13px; border: 1px solid rgba(19, 40, 76, .14); border-radius: 999px; background: rgba(251, 250, 246, .88); color: var(--zhiva-blue-soft); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.zhiva-hero__note--top { top: 1%; right: 2%; }
.zhiva-hero__note--bottom { right: 5%; bottom: 3%; }

.zhiva-home-section-head { display: flex; justify-content: space-between; gap: 24px; align-items: end; margin-bottom: 28px; }
.zhiva-home-section-head .zhiva-section-title { margin-bottom: 0; }
.zhiva-section-link { flex-shrink: 0; color: var(--zhiva-chlorophyll); font-size: 14px; font-weight: 800; text-decoration: none; }
.zhiva-section-link:hover { color: var(--zhiva-blue); }
.zhiva-trust-section { padding-top: 18px; padding-bottom: 36px; }
.zhiva-trust-section .zhiva-trust-strip { justify-content: stretch; text-align: left; }
.zhiva-trust-section .zhiva-trust-strip__item { max-width: none; }
.zhiva-mosaic--home { grid-template-rows: clamp(210px, 24vw, 320px) clamp(150px, 17vw, 230px); }
.zhiva-mosaic--home .zhiva-mosaic__item:first-child { grid-row: 1 / -1; }
.zhiva-mosaic__overlay { flex-direction: column; align-items: flex-start; justify-content: end; gap: 3px; }
.zhiva-mosaic__overlay b { color: #fff; font-size: clamp(18px, 2vw, 28px); line-height: 1.1; }
.zhiva-mosaic__overlay small { color: rgba(255, 255, 255, .78); font-size: 12px; line-height: 1.3; }

.zhiva-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.zhiva-product-card { display: block; overflow: hidden; border: 1px solid var(--zhiva-line); border-radius: 22px; background: rgba(251, 250, 246, .84); color: var(--zhiva-blue); box-shadow: var(--zhiva-shadow); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.zhiva-product-card:hover { color: var(--zhiva-blue); border-color: rgba(47, 107, 69, .4); box-shadow: 0 25px 60px rgba(19, 40, 76, .14); transform: translateY(-3px); text-decoration: none; }
.zhiva-product-card__media { display: grid; place-items: center; height: clamp(180px, 20vw, 260px); padding: 18px; background: #fff; }
.zhiva-product-card__media img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.zhiva-product-card__body { padding: 16px 18px 20px; }
.zhiva-product-card__body h3 { min-height: 2.6em; margin: 0 0 12px; font-size: 15px; line-height: 1.3; }
.zhiva-collection-banner { display: grid; grid-template-columns: 1.1fr .9fr; min-height: 330px; overflow: hidden; border-radius: 30px; background: var(--zhiva-blue); color: #fff; text-decoration: none; }
.zhiva-collection-banner:hover { color: #fff; text-decoration: none; }
.zhiva-collection-banner__copy { padding: clamp(28px, 5vw, 64px); }
.zhiva-collection-banner__copy .zhiva-kicker, .zhiva-collection-banner__copy .zhiva-section-title { color: #fff; }
.zhiva-collection-banner__copy p:not(.zhiva-kicker) { max-width: 470px; color: rgba(255, 255, 255, .78); }
.zhiva-collection-banner__media { min-height: 330px; background: #e8e4d8; }
.zhiva-collection-banner__media img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; }
.zhiva-products-section--new { padding-top: 20px; }
.zhiva-editorial--home { padding: clamp(24px, 4vw, 44px); border-radius: 28px; background: rgba(255, 255, 255, .42); }
.zhiva-article-featured--home .uk-card-media { min-height: 300px; }
.zhiva-subscribe { display: flex; justify-content: space-between; gap: 28px; align-items: center; padding: clamp(26px, 4vw, 46px); border: 1px solid var(--zhiva-line); border-radius: 28px; background: rgba(255, 255, 255, .48); }
.zhiva-subscribe h2 { margin: 0; font-size: clamp(28px, 4vw, 48px); line-height: 1; }
.zhiva-subscribe p:not(.zhiva-kicker) { margin-bottom: 0; color: var(--zhiva-muted); }

/* ── Homepage brand-store redesign · 2026-09-12 ───────────────────── */
.zhiva-homepage--brand-store {
    background:
        linear-gradient(180deg, #fbfaf6 0%, #f6f3ec 46%, #eef1eb 100%);
}

.zhiva-homepage--brand-store .zhiva-home-hero {
    min-height: auto;
    padding-top: 44px;
    padding-bottom: 56px;
    background:
        radial-gradient(circle at 78% 22%, rgba(93, 140, 49, .16), transparent 22rem),
        linear-gradient(112deg, #fbfaf6 0%, #f0eee5 100%);
}

.zhiva-homepage--brand-store .zhiva-home-hero .zhiva-hero__grid {
    grid-template-columns: minmax(0, .98fr) minmax(340px, .82fr);
    gap: clamp(24px, 4vw, 56px);
}

.zhiva-homepage--brand-store .zhiva-home-hero .zhiva-hero__title {
    max-width: 720px;
    font-size: clamp(48px, 6vw, 84px);
    line-height: .95;
}

.zhiva-homepage--brand-store .zhiva-home-hero .zhiva-hero__lead {
    max-width: 610px;
    margin-top: 20px;
    font-size: 18px;
    line-height: 1.55;
}

.zhiva-inline-link {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    color: var(--zhiva-chlorophyll);
    font-weight: 800;
    text-decoration: none;
}

.zhiva-inline-link:hover,
.zhiva-inline-link:focus-visible {
    color: var(--zhiva-blue);
    text-decoration: underline;
}

.zhiva-hero__scene {
    isolation: isolate;
    min-height: 420px;
    border-radius: 34px;
}

.zhiva-hero__stone {
    position: absolute;
    inset: 26% 2% 8% 4%;
    z-index: 0;
    border: 1px solid rgba(19, 40, 76, .08);
    border-radius: 42% 58% 46% 54%;
    background:
        linear-gradient(135deg, rgba(255,255,255,.72), rgba(195, 189, 174, .34)),
        radial-gradient(circle at 30% 35%, rgba(107, 68, 35, .14), transparent 42%);
    box-shadow: 0 28px 70px rgba(19, 40, 76, .12);
}

.zhiva-hero__ingredient {
    position: absolute;
    z-index: 1;
    border-radius: 999px;
    background: rgba(93, 140, 49, .18);
    box-shadow: inset 0 0 0 1px rgba(47, 107, 69, .16);
}

.zhiva-hero__ingredient--one {
    top: 12%;
    left: 9%;
    width: 72px;
    height: 72px;
}

.zhiva-hero__ingredient--two {
    right: 7%;
    bottom: 19%;
    width: 96px;
    height: 96px;
    background: rgba(107, 68, 35, .13);
}

.zhiva-trust-strip--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.zhiva-home-products.zhiva-product-grid {
    align-items: stretch;
}

.zhiva-product-card--home {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.zhiva-product-card--home .zhiva-product-card__media {
    height: 238px;
}

.zhiva-product-card--home .zhiva-product-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 10px;
}

.zhiva-product-card--home .zhiva-product-card__body strong {
    min-height: 2.6em;
    color: var(--zhiva-blue);
    font-size: 15px;
    font-weight: 800;
    line-height: 1.3;
}

.zhiva-product-card__description {
    display: -webkit-box;
    overflow: hidden;
    color: var(--zhiva-muted);
    font-size: 13px;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.zhiva-product-card__availability {
    display: inline-flex;
    width: max-content;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(93, 140, 49, .10);
    color: var(--zhiva-chlorophyll);
    font-size: 11px;
    font-weight: 800;
}

.zhiva-product-card__availability--no {
    background: rgba(19, 40, 76, .08);
    color: var(--zhiva-muted);
}

.zhiva-product-card__footer {
    display: flex;
    gap: 12px;
    align-items: end;
    justify-content: space-between;
    margin-top: auto;
}

.zhiva-product-card__prices {
    display: grid;
    gap: 2px;
}

.zhiva-product-card__price {
    color: var(--zhiva-blue);
    font-size: 19px;
    font-weight: 800;
    line-height: 1.1;
}

.zhiva-product-card__price-old {
    color: var(--zhiva-muted);
    font-size: 12px;
    text-decoration: line-through;
}

.zhiva-product-card__more {
    color: var(--zhiva-chlorophyll);
    font-size: 12px;
    font-weight: 800;
}

.zhiva-brand-ingredients {
    background: rgba(255, 255, 255, .38);
}

.zhiva-brand-ingredients__grid {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1fr);
    gap: clamp(28px, 5vw, 72px);
    align-items: center;
}

.zhiva-brand-ingredients__media {
    overflow: hidden;
    min-height: 420px;
    border: 1px solid var(--zhiva-line);
    border-radius: 34px;
    background: #e8e4d8;
    box-shadow: var(--zhiva-shadow);
}

.zhiva-brand-ingredients__media img,
.zhiva-brand-page__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    mix-blend-mode: multiply;
}

.zhiva-brand-ingredients__copy p:not(.zhiva-kicker) {
    max-width: 620px;
    color: var(--zhiva-muted);
    font-size: 18px;
    line-height: 1.65;
}

.zhiva-brand-ingredients__links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 26px;
}

.zhiva-reading-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.zhiva-article-tile {
    display: flex;
    overflow: hidden;
    min-width: 0;
    min-height: 360px;
    flex-direction: column;
    border: 1px solid var(--zhiva-line);
    border-radius: 24px;
    background: rgba(251, 250, 246, .86);
    color: var(--zhiva-blue);
    box-shadow: var(--zhiva-shadow);
    text-decoration: none;
}

.zhiva-article-tile:hover {
    color: var(--zhiva-blue);
    text-decoration: none;
    transform: translateY(-2px);
}

.zhiva-article-tile img {
    width: 100%;
    height: 210px;
    object-fit: cover;
    background: #fff;
}

.zhiva-article-tile span {
    margin: 18px 18px 8px;
    color: var(--zhiva-chlorophyll);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.zhiva-article-tile strong {
    margin: 0 18px 22px;
    font-size: 20px;
    line-height: 1.2;
}

.zhiva-reading-section__glossary {
    margin: 28px 0 0;
}

.tm-header .uk-navbar-nav > li:first-child,
.tm-header .uk-navbar-nav > li.item-116,
.tm-header .uk-navbar-nav > li.item-122 {
    display: none;
}

.tm-header .uk-navbar-nav > li.item-153 {
    order: 1;
}

.tm-header .uk-navbar-nav > li.item-118 {
    order: 2;
}

.tm-header .uk-navbar-nav > li.item-120 {
    order: 3;
}

.tm-header .uk-navbar-nav > li.item-119 {
    order: 4;
}

.tm-header .uk-navbar-nav > li.item-121 {
    order: 5;
}

.zhiva-site-footer {
    padding: 58px 0 26px;
    background: var(--zhiva-blue);
    color: rgba(255, 255, 255, .78);
}

.zhiva-site-footer a {
    color: rgba(255, 255, 255, .86);
    text-decoration: none;
}

.zhiva-site-footer a:hover,
.zhiva-site-footer a:focus-visible {
    color: #fff;
    text-decoration: underline;
}

.zhiva-site-footer__grid {
    display: grid;
    grid-template-columns: 1.15fr repeat(3, minmax(0, 1fr));
    gap: clamp(24px, 4vw, 56px);
}

.zhiva-site-footer__brand h2 {
    margin: 0 0 12px;
    color: #fff;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 42px;
    line-height: 1;
}

.zhiva-site-footer__brand p {
    max-width: 310px;
    margin: 0 0 18px;
}

.zhiva-site-footer__contact {
    display: grid;
    gap: 4px;
}

.zhiva-site-footer__contact a {
    font-size: 18px;
    font-weight: 800;
}

.zhiva-site-footer__contact span {
    font-size: 12px;
}

.zhiva-site-footer__group {
    color: rgba(255, 255, 255, .76);
}

.zhiva-site-footer__group summary {
    margin-bottom: 14px;
    color: #fff;
    cursor: pointer;
    font-weight: 800;
    list-style: none;
}

.zhiva-site-footer__group summary::-webkit-details-marker {
    display: none;
}

.zhiva-site-footer__group a {
    display: block;
    margin: 0 0 10px;
    font-size: 14px;
}

.zhiva-site-footer__bottom {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-top: 42px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, .18);
    font-size: 13px;
}

.zhiva-brand-page__image {
    overflow: hidden;
    min-height: 420px;
    border-radius: 34px;
    background: #e8e4d8;
}

@media (max-width: 959px) {
    .zhiva-homepage--brand-store .zhiva-home-hero .zhiva-hero__grid,
    .zhiva-brand-ingredients__grid {
        grid-template-columns: 1fr;
    }

    .zhiva-hero__scene {
        min-height: 360px;
        order: 2;
    }

    .zhiva-trust-strip--three,
    .zhiva-reading-grid,
    .zhiva-site-footer__grid {
        grid-template-columns: 1fr;
    }

    .zhiva-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zhiva-brand-ingredients__media {
        min-height: 300px;
    }
}

@media (max-width: 639px) {
    .zhiva-homepage--brand-store .zhiva-home-hero {
        padding-top: 30px;
        padding-bottom: 36px;
    }

    .zhiva-homepage--brand-store .zhiva-home-hero .zhiva-hero__title {
        font-size: 44px;
        line-height: .98;
    }

    .zhiva-homepage--brand-store .zhiva-home-hero .zhiva-hero__lead {
        margin-top: 16px;
        font-size: 16px;
    }

    .zhiva-homepage--brand-store .zhiva-home-hero .zhiva-hero__actions {
        margin-top: 22px;
    }

    .zhiva-homepage--brand-store .zhiva-home-hero .zhiva-hero__actions .uk-button,
    .zhiva-homepage--brand-store .zhiva-inline-link {
        width: 100%;
        justify-content: center;
    }

    .zhiva-hero__scene {
        min-height: 300px;
    }

    .zhiva-homepage--brand-store .zhiva-hero__product {
        width: 126px;
        height: 166px;
    }

    .zhiva-homepage--brand-store .zhiva-hero__product--one {
        left: 2%;
    }

    .zhiva-homepage--brand-store .zhiva-hero__product--two {
        right: 2%;
    }

    .zhiva-homepage--brand-store .zhiva-hero__product--three {
        right: 25%;
    }

    .zhiva-product-grid,
    .zhiva-reading-grid {
        grid-template-columns: 1fr;
    }

    .zhiva-product-card--home .zhiva-product-card__media {
        height: 220px;
    }

    .zhiva-brand-ingredients__media,
    .zhiva-brand-page__image {
        min-height: 240px;
        border-radius: 24px;
    }

    .zhiva-site-footer {
        padding-top: 38px;
    }

    .zhiva-site-footer__bottom {
        display: grid;
    }
}

.zhiva-section {
    padding: clamp(46px, 7vw, 92px) 0;
}

.zhiva-section-title {
    margin: 0 0 16px;
    font-size: clamp(38px, 5vw, 72px);
    line-height: 0.98;
}

.zhiva-section-lead {
    max-width: 720px;
    color: var(--zhiva-muted);
    font-size: 18px;
}

.zhiva-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 30px;
}

.zhiva-feature-card {
    padding: 26px;
    min-height: 220px;
}

.zhiva-feature-card small {
    color: var(--zhiva-chlorophyll);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.zhiva-feature-card h3 {
    margin: 18px 0 10px;
    font-size: 24px;
    line-height: 1.1;
}

.zhiva-feature-card p {
    margin: 0;
    color: var(--zhiva-muted);
}

.zhiva-commerce-band {
    padding: clamp(28px, 4vw, 44px);
    border-radius: 36px;
    background: var(--zhiva-blue);
    color: rgba(255, 255, 255, 0.78);
}

.zhiva-commerce-band h2 {
    color: #fff;
}

.zhiva-commerce-band .uk-button-default {
    border-color: rgba(255, 255, 255, 0.42);
    color: #fff;
}

/* ══════════════════════════════════════════════════════════════════════
   UIkit Component Overrides — Zhiva Design System
   Mapped from prototypes-v3 blocks to native uk-* classes
   ══════════════════════════════════════════════════════════════════════ */

/* ── uk-card variants ─────────────────────────────────────────────── */

.uk-card-default.zhiva-card--warm,
.uk-card-default[data-variant="warm"] {
    background: rgba(107, 68, 35, 0.05);
    border-color: rgba(107, 68, 35, 0.14);
}

.uk-card-media-top,
.uk-card-media-bottom {
    overflow: hidden;
    border-radius: 28px;
}

.uk-card-media-top img,
.uk-card-media-bottom img,
.uk-card-media-left img,
.uk-card-media-right img {
    object-fit: cover;
    width: 100%;
    display: block;
}

.uk-card-media-left img,
.uk-card-media-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ── uk-section spacing ───────────────────────────────────────────── */

.uk-section {
    padding-top: clamp(46px, 7vw, 92px);
    padding-bottom: clamp(46px, 7vw, 92px);
}

.uk-section-small {
    padding-top: clamp(28px, 4vw, 54px);
    padding-bottom: clamp(28px, 4vw, 54px);
}

.uk-section-large {
    padding-top: clamp(64px, 10vw, 120px);
    padding-bottom: clamp(64px, 10vw, 120px);
}

/* ── uk-breadcrumb ────────────────────────────────────────────────── */

.uk-breadcrumb > li > a,
.uk-breadcrumb > li > span {
    font-size: 12px;
    font-weight: 600;
    color: var(--zhiva-muted);
    letter-spacing: 0.02em;
}

.uk-breadcrumb > li > a:hover {
    color: var(--zhiva-chlorophyll);
}

.uk-breadcrumb > li:last-child > span {
    color: var(--zhiva-blue);
}

/* ── uk-search ────────────────────────────────────────────────────── */

.uk-search .uk-search-input {
    border: 1px solid var(--zhiva-line);
    border-radius: 999px;
    background: var(--zhiva-paper-2);
    color: var(--zhiva-blue);
    font-family: "Manrope", system-ui, sans-serif;
    font-size: 14px;
    font-weight: 500;
    padding: 10px 18px 10px 42px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.uk-search .uk-search-input:focus {
    border-color: var(--zhiva-chlorophyll);
    box-shadow: 0 0 0 3px rgba(47, 107, 69, 0.12);
    outline: none;
}

.uk-search .uk-search-icon {
    color: var(--zhiva-muted);
}

/* ── AJAX product search ─────────────────────────────────────────── */

.zhiva-ajax-product-search {
    position: relative;
    width: min(386px, 32vw);
}

.zhiva-ajax-product-search__results {
    position: absolute;
    z-index: 1100;
    top: calc(100% + 10px);
    right: 0;
    left: 0;
    display: grid;
    gap: 8px;
    max-height: min(560px, calc(100vh - 150px));
    overflow-y: auto;
    padding: 10px;
    border: 1px solid var(--zhiva-line);
    border-radius: 14px;
    background: var(--zhiva-paper, #fff);
    box-shadow: 0 18px 36px rgba(25, 50, 74, 0.2);
}

.zhiva-ajax-product-search__results[hidden] {
    display: none;
}

.zhiva-ajax-product-search__item {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    min-width: 0;
    padding: 9px;
    border-radius: 10px;
    color: var(--zhiva-blue);
    text-decoration: none;
}

.zhiva-ajax-product-search__item:hover,
.zhiva-ajax-product-search__item:focus-visible {
    background: var(--zhiva-paper-2);
    color: var(--zhiva-chlorophyll);
    outline: none;
}

.zhiva-ajax-product-search__image {
    width: 56px;
    height: 56px;
    border-radius: 8px;
    object-fit: contain;
}

.zhiva-ajax-product-search__body {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.zhiva-ajax-product-search__body strong,
.zhiva-ajax-product-search__body small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zhiva-ajax-product-search__body small {
    color: var(--zhiva-muted);
}

.zhiva-ajax-product-search__price {
    color: var(--zhiva-blue);
    white-space: nowrap;
}

.zhiva-ajax-product-search__empty {
    margin: 0;
    padding: 12px;
    color: var(--zhiva-muted);
    text-align: center;
}

.zhiva-ajax-product-search__more {
    justify-self: center;
}

@media (max-width: 639px) {
    .zhiva-ajax-product-search {
        width: 100%;
    }

    .zhiva-ajax-product-search__results {
        max-height: min(65vh, 460px);
    }

    .zhiva-ajax-product-search__item {
        grid-template-columns: 48px minmax(0, 1fr);
        gap: 10px;
    }

    .zhiva-ajax-product-search__image {
        width: 48px;
        height: 48px;
    }

    .zhiva-ajax-product-search__price {
        grid-column: 2;
    }
}

/* ── uk-accordion / FAQ ──────────────────────────────────────────── */

.uk-accordion > .uk-open > .uk-accordion-title::before {
    background: var(--zhiva-chlorophyll);
}

.uk-accordion-title {
    font-family: "Manrope", system-ui, sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: var(--zhiva-blue);
    padding: 18px 0;
    border-bottom: 1px solid var(--zhiva-line);
}

.uk-accordion-content {
    padding: 14px 0 20px;
    color: var(--zhiva-muted);
    font-size: 14px;
    line-height: 1.65;
}

/* ── uk-table ────────────────────────────────────────────────────── */

.uk-table th {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--zhiva-muted);
    padding: 12px 16px;
}

.uk-table td {
    font-size: 14px;
    font-weight: 500;
    padding: 14px 16px;
    color: var(--zhiva-blue);
}

.uk-table-divider > tr:not(:first-child),
.uk-table-divider > :not(:first-child) > tr,
.uk-table-divider > :first-child > :not(:first-child) {
    border-top-color: var(--zhiva-line);
}

/* ── uk-alert / callout ──────────────────────────────────────────── */

.uk-alert {
    border-radius: 16px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.55;
    padding: 16px 20px;
}

.uk-alert-success {
    background: rgba(47, 107, 69, 0.07);
    border: 1px solid rgba(47, 107, 69, 0.18);
    color: var(--zhiva-chlorophyll);
}

.uk-alert-warning {
    background: rgba(107, 68, 35, 0.06);
    border: 1px solid rgba(107, 68, 35, 0.16);
    color: var(--zhiva-propolis);
}

.uk-alert-danger {
    background: rgba(180, 40, 40, 0.05);
    border: 1px solid rgba(180, 40, 40, 0.14);
    color: #8B2020;
}

/* ── uk-form inputs ──────────────────────────────────────────────── */

.uk-input,
.uk-select,
.uk-textarea {
    border: 1px solid var(--zhiva-line);
    border-radius: 10px;
    background: var(--zhiva-paper-2);
    color: var(--zhiva-blue);
    font-family: "Manrope", system-ui, sans-serif;
    font-size: 14px;
    font-weight: 500;
    padding: 11px 16px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.uk-input:focus,
.uk-select:focus,
.uk-textarea:focus {
    border-color: var(--zhiva-chlorophyll);
    box-shadow: 0 0 0 3px rgba(47, 107, 69, 0.12);
    outline: none;
    background: #fff;
}

.uk-input::placeholder,
.uk-textarea::placeholder {
    color: var(--zhiva-muted);
    font-weight: 400;
}

.uk-form-label {
    font-size: 13px;
    font-weight: 700;
    color: var(--zhiva-blue);
    letter-spacing: 0.01em;
    margin-bottom: 6px;
    display: block;
}

.uk-form-danger {
    border-color: #8B2020;
    box-shadow: 0 0 0 3px rgba(180, 40, 40, 0.10);
}

.uk-form-help {
    font-size: 12px;
    color: #8B2020;
    margin-top: 4px;
}

/* ── uk-progress ──────────────────────────────────────────────────── */

.uk-progress {
    height: 8px;
    border-radius: 999px;
    background: rgba(19, 40, 76, 0.06);
    overflow: hidden;
}

.uk-progress::-webkit-progress-bar {
    border-radius: 999px;
    background: rgba(19, 40, 76, 0.06);
}

.uk-progress::-webkit-progress-value {
    border-radius: 999px;
    background: linear-gradient(90deg, var(--zhiva-chlorophyll), var(--zhiva-green));
}

.uk-progress::-moz-progress-bar {
    border-radius: 999px;
    background: linear-gradient(90deg, var(--zhiva-chlorophyll), var(--zhiva-green));
}

/* ── uk-label / tags ──────────────────────────────────────────────── */

.uk-label {
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding: 4px 12px;
    text-transform: uppercase;
}

.uk-label-success {
    background: rgba(47, 107, 69, 0.10);
    color: var(--zhiva-chlorophyll);
}

.uk-label-warning {
    background: rgba(107, 68, 35, 0.08);
    color: var(--zhiva-propolis);
}

/* ── uk-subnav / filters ──────────────────────────────────────────── */

.uk-subnav-pill > .uk-active > a {
    background: var(--zhiva-blue);
    color: #fff;
    border-radius: 999px;
}

.uk-subnav-pill > * > a {
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    padding: 7px 18px;
    color: var(--zhiva-muted);
    transition: all 0.2s ease;
}

.uk-subnav-pill > * > a:hover {
    color: var(--zhiva-blue);
    background: rgba(19, 40, 76, 0.06);
}

/* ── uk-comment / reviews ─────────────────────────────────────────── */

.uk-comment-header {
    font-size: 14px;
    font-weight: 700;
}

.uk-comment-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--zhiva-blue);
    margin-bottom: 6px;
}

.uk-comment-meta {
    font-size: 12px;
    color: var(--zhiva-muted);
}

.uk-comment-body {
    font-size: 14px;
    color: var(--zhiva-muted);
    line-height: 1.6;
}

.uk-comment-avatar {
    border-radius: 50%;
}

/* ── uk-nav / TOC ─────────────────────────────────────────────────── */

.uk-nav-default > li > a {
    color: var(--zhiva-blue);
    font-size: 14px;
    font-weight: 600;
    padding: 8px 0;
    transition: color 0.2s ease;
}

.uk-nav-default > li > a:hover {
    color: var(--zhiva-chlorophyll);
}

/* ── uk-pagination ────────────────────────────────────────────────── */

.uk-pagination > * > a,
.uk-pagination > * > span {
    border-radius: 10px;
    font-size: 13px;
    font-weight: 700;
    color: var(--zhiva-blue);
    min-width: 38px;
    transition: all 0.2s ease;
}

.uk-pagination > .uk-active > a,
.uk-pagination > .uk-active > span {
    background: var(--zhiva-blue);
    color: #fff;
}

/* ── uk-modal ────────────────────────────────────────────────────── */

.uk-modal-dialog {
    border-radius: 28px;
    background: var(--zhiva-paper-2);
    box-shadow: 0 40px 100px rgba(19, 40, 76, 0.18);
}

/* ── uk-notification ──────────────────────────────────────────────── */

.uk-notification-message {
    border-radius: 16px;
    background: var(--zhiva-blue);
    color: rgba(255, 255, 255, 0.92);
    font-size: 14px;
    font-weight: 600;
}

/* ══════════════════════════════════════════════════════════════════════
   New .zhiva-* Component Classes
   Complex blocks where uk-* alone is insufficient
   ══════════════════════════════════════════════════════════════════════ */

/* ── .zhiva-photo-hero ────────────────────────────────────────────── */

.zhiva-photo-hero {
    position: relative;
    min-height: 420px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    border-radius: 28px;
}

.zhiva-photo-hero img,
.zhiva-photo-hero .uk-cover {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.zhiva-photo-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 30%, rgba(19, 40, 76, 0.62) 100%);
    pointer-events: none;
}

.zhiva-photo-hero .zhiva-photo-hero__content {
    position: relative;
    z-index: 1;
    padding: 32px;
    color: #fff;
}

.zhiva-photo-hero__content h1 {
    color: #fff;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(32px, 5vw, 56px);
    line-height: 1.0;
}

/* ── .zhiva-product-card ──────────────────────────────────────────── */

.zhiva-product-card .uk-card-body {
    padding: 18px;
}

.zhiva-product-card__title {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    margin: 8px 0 4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.zhiva-product-card__price {
    font-size: 18px;
    font-weight: 800;
    color: var(--zhiva-chlorophyll);
}

.zhiva-product-card__price--old {
    font-size: 13px;
    font-weight: 500;
    color: var(--zhiva-muted);
    text-decoration: line-through;
    margin-left: 6px;
}

.zhiva-product-card__badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
}

/* ── .zhiva-product-row ───────────────────────────────────────────── */

.zhiva-product-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 16px;
    align-items: center;
    padding: 16px;
}

.zhiva-product-row img {
    width: 72px;
    height: 72px;
    border-radius: 14px;
    object-fit: cover;
}

/* ── .zhiva-product-detail ────────────────────────────────────────── */

.zhiva-product-detail {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(28px, 4vw, 56px);
    align-items: start;
}

.zhiva-product-detail h1 {
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.1;
    margin-bottom: 12px;
}

.zhiva-product-detail__lead {
    font-size: 15px;
    color: var(--zhiva-muted);
    line-height: 1.6;
    margin-bottom: 20px;
}

.zhiva-product-detail__price {
    font-size: 28px;
    font-weight: 800;
    color: var(--zhiva-chlorophyll);
    margin-bottom: 20px;
}

.zhiva-product-detail__gallery-thumbs {
    display: flex;
    gap: 8px;
    margin-top: 12px;
}

.zhiva-product-detail__gallery-thumbs img {
    width: 64px;
    height: 64px;
    border-radius: 12px;
    object-fit: cover;
    border: 2px solid transparent;
    opacity: 0.6;
    cursor: pointer;
    transition: all 0.2s ease;
}

.zhiva-product-detail__gallery-thumbs img:hover,
.zhiva-product-detail__gallery-thumbs img.uk-active {
    border-color: var(--zhiva-chlorophyll);
    opacity: 1;
}

/* ── .zhiva-article-featured ─────────────────────────────────────── */

.zhiva-article-featured {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: clamp(20px, 3vw, 36px);
    align-items: start;
}

.zhiva-article-featured .uk-card-media {
    border-radius: 20px;
    overflow: hidden;
}

.zhiva-article-featured .uk-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.zhiva-article-featured__category {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--zhiva-chlorophyll);
    margin-bottom: 10px;
}

.zhiva-article-featured__title {
    font-size: clamp(22px, 3vw, 30px);
    line-height: 1.15;
    margin-bottom: 10px;
}

.zhiva-article-featured__excerpt {
    font-size: 14px;
    color: var(--zhiva-muted);
    line-height: 1.6;
    margin-bottom: 14px;
}

/* ── .zhiva-trust-strip ───────────────────────────────────────────── */

.zhiva-trust-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    text-align: center;
}

.zhiva-trust-strip__item {
    flex: 1 1 160px;
    max-width: 200px;
    padding: 20px 16px;
    border-radius: 20px;
    background: rgba(251, 250, 246, 0.84);
    border: 1px solid var(--zhiva-line);
}

.zhiva-trust-strip__item strong {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: var(--zhiva-blue);
    margin-bottom: 4px;
}

.zhiva-trust-strip__item span {
    font-size: 12px;
    color: var(--zhiva-muted);
    line-height: 1.35;
}

/* ── .zhiva-steps ─────────────────────────────────────────────────── */

.zhiva-steps {
    counter-reset: zhiva-step;
}

.zhiva-steps__item {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    padding: 20px 0;
    border-bottom: 1px solid var(--zhiva-line);
    counter-increment: zhiva-step;
}

.zhiva-steps__item:last-child {
    border-bottom: none;
}

.zhiva-steps__number {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--zhiva-blue);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 18px;
    font-weight: 700;
}

.zhiva-steps__text h3 {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 4px;
}

.zhiva-steps__text p {
    font-size: 14px;
    color: var(--zhiva-muted);
    line-height: 1.5;
    margin: 0;
}

/* ── .zhiva-mosaic ───────────────────────────────────────────────── */

.zhiva-mosaic {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 240px 240px;
    gap: 12px;
}

.zhiva-mosaic__item {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
}

.zhiva-mosaic__item:first-child {
    grid-row: 1 / -1;
}

.zhiva-mosaic__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.zhiva-mosaic__item:hover img {
    transform: scale(1.04);
}

.zhiva-mosaic__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(19, 40, 76, 0.55) 100%);
    display: flex;
    align-items: flex-end;
    padding: 18px;
}

.zhiva-mosaic__overlay span {
    color: #fff;
    font-size: 14px;
    font-weight: 700;
}

/* ── .zhiva-quote ────────────────────────────────────────────────── */

.zhiva-quote {
    position: relative;
    padding: 28px 28px 28px 36px;
    border-left: 3px solid var(--zhiva-chlorophyll);
    border-radius: 0 20px 20px 0;
    background: rgba(47, 107, 69, 0.04);
}

.zhiva-quote::before {
    content: "\201C";
    position: absolute;
    top: 16px;
    left: 20px;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 48px;
    color: var(--zhiva-chlorophyll);
    opacity: 0.4;
    line-height: 1;
}

.zhiva-quote blockquote {
    margin: 0;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.35;
    color: var(--zhiva-blue);
    font-style: italic;
}

.zhiva-quote cite {
    display: block;
    margin-top: 12px;
    font-style: normal;
    font-family: "Manrope", system-ui, sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: var(--zhiva-muted);
}

/* ── .zhiva-category-card ────────────────────────────────────────── */

.zhiva-category-card {
    position: relative;
    min-height: 200px;
    overflow: hidden;
    border-radius: 24px;
    display: flex;
    align-items: flex-end;
    padding: 22px;
    cursor: pointer;
    transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}

.zhiva-category-card:hover {
    transform: translateY(-2px);
}

.zhiva-category-card img,
.zhiva-category-card .uk-cover {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.zhiva-category-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(19, 40, 76, 0.05) 0%, rgba(19, 40, 76, 0.52) 100%);
    pointer-events: none;
}

.zhiva-category-card__title {
    position: relative;
    z-index: 1;
    color: #fff;
    font-size: clamp(18px, 2.5vw, 24px);
    font-weight: 700;
}

.zhiva-category-card__count {
    position: relative;
    z-index: 1;
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
    font-weight: 600;
    margin-top: 4px;
}

/* ── .zhiva-ingredient ───────────────────────────────────────────── */

.zhiva-ingredient {
    display: flex;
    gap: 14px;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid var(--zhiva-line);
}

.zhiva-ingredient:last-child {
    border-bottom: none;
}

.zhiva-ingredient img {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.zhiva-ingredient strong {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: var(--zhiva-blue);
}

.zhiva-ingredient span {
    font-size: 12px;
    color: var(--zhiva-muted);
    line-height: 1.35;
}

/* ── .zhiva-icon-card ─────────────────────────────────────────────── */

.zhiva-icon-card {
    padding: 24px;
    text-align: center;
}

.zhiva-icon-card .uk-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: rgba(47, 107, 69, 0.08);
    color: var(--zhiva-chlorophyll);
    margin-bottom: 16px;
}

.zhiva-icon-card h3 {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 6px;
}

.zhiva-icon-card p {
    font-size: 13px;
    color: var(--zhiva-muted);
    line-height: 1.45;
    margin: 0;
}

/* ── .zhiva-widget ───────────────────────────────────────────────── */

.zhiva-widget {
    padding: 20px;
}

.zhiva-widget h4 {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--zhiva-line);
}

/* ── .zhiva-stepper ───────────────────────────────────────────────── */

.zhiva-stepper {
    display: flex;
    align-items: center;
    gap: 0;
    justify-content: center;
    padding: 0 0 20px;
}

.zhiva-stepper__step {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    color: var(--zhiva-muted);
}

.zhiva-stepper__step--active {
    color: var(--zhiva-blue);
}

.zhiva-stepper__step--done {
    color: var(--zhiva-chlorophyll);
}

.zhiva-stepper__circle {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 800;
    border: 2px solid var(--zhiva-line);
    background: #fff;
    color: var(--zhiva-muted);
    transition: all 0.2s ease;
}

.zhiva-stepper__step--active .zhiva-stepper__circle {
    border-color: var(--zhiva-blue);
    background: var(--zhiva-blue);
    color: #fff;
}

.zhiva-stepper__step--done .zhiva-stepper__circle {
    border-color: var(--zhiva-chlorophyll);
    background: var(--zhiva-chlorophyll);
    color: #fff;
}

.zhiva-stepper__line {
    width: 40px;
    height: 2px;
    background: var(--zhiva-line);
    margin: 0 4px;
}

.zhiva-stepper__line--done {
    background: var(--zhiva-chlorophyll);
}

/* ── .zhiva-timeline ─────────────────────────────────────────────── */

.zhiva-timeline {
    position: relative;
    padding-left: 32px;
}

.zhiva-timeline::before {
    content: "";
    position: absolute;
    left: 11px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--zhiva-line);
}

.zhiva-timeline__item {
    position: relative;
    padding-bottom: 28px;
}

.zhiva-timeline__item:last-child {
    padding-bottom: 0;
}

.zhiva-timeline__dot {
    position: absolute;
    left: -32px;
    top: 4px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid var(--zhiva-chlorophyll);
}

.zhiva-timeline__item:first-child .zhiva-timeline__dot {
    background: var(--zhiva-chlorophyll);
}

.zhiva-timeline__title {
    font-size: 15px;
    font-weight: 700;
    color: var(--zhiva-blue);
    margin-bottom: 4px;
}

.zhiva-timeline__text {
    font-size: 14px;
    color: var(--zhiva-muted);
    line-height: 1.5;
    margin: 0;
}

.zhiva-timeline__date {
    font-size: 12px;
    font-weight: 700;
    color: var(--zhiva-muted);
    letter-spacing: 0.02em;
    margin-top: 6px;
}

/* ── .zhiva-empty ─────────────────────────────────────────────────── */

.zhiva-empty {
    text-align: center;
    padding: clamp(48px, 8vw, 80px) 24px;
}

.zhiva-empty__icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: rgba(19, 40, 76, 0.04);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    color: var(--zhiva-muted);
}

.zhiva-empty h2 {
    font-size: 28px;
    margin-bottom: 10px;
}

.zhiva-empty p {
    font-size: 15px;
    color: var(--zhiva-muted);
    max-width: 420px;
    margin: 0 auto 24px;
    line-height: 1.5;
}

/* ── .zhiva-thank-you ────────────────────────────────────────────── */

.zhiva-thank-you {
    text-align: center;
    padding: clamp(56px, 10vw, 100px) 24px;
}

.zhiva-thank-you__check {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--zhiva-green);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
}

.zhiva-thank-you h1 {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(32px, 5vw, 48px);
    margin-bottom: 12px;
}

.zhiva-thank-you p {
    font-size: 16px;
    color: var(--zhiva-muted);
    max-width: 520px;
    margin: 0 auto 28px;
    line-height: 1.6;
}

/* ── .zhiva-author ────────────────────────────────────────────────── */

.zhiva-author {
    display: flex;
    gap: 16px;
    align-items: center;
}

.zhiva-author img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}

.zhiva-author__name {
    font-size: 14px;
    font-weight: 700;
    color: var(--zhiva-blue);
}

.zhiva-author__role {
    font-size: 12px;
    color: var(--zhiva-muted);
}

/* ── .zhiva-reviews ───────────────────────────────────────────────── */

.zhiva-reviews {
    border-top: 1px solid var(--zhiva-line);
}

.zhiva-reviews__item {
    padding: 20px 0;
    border-bottom: 1px solid var(--zhiva-line);
}

.zhiva-reviews__item:last-child {
    border-bottom: none;
}

.zhiva-reviews__header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.zhiva-reviews__stars {
    color: #D4A520;
    font-size: 13px;
    letter-spacing: 2px;
}

.zhiva-reviews__date {
    font-size: 12px;
    color: var(--zhiva-muted);
    margin-left: auto;
}

.zhiva-reviews__text {
    font-size: 14px;
    color: var(--zhiva-muted);
    line-height: 1.6;
}

/* ── .zhiva-cart-row ──────────────────────────────────────────────── */

.zhiva-cart-row {
    display: grid;
    grid-template-columns: 80px 1fr auto auto;
    gap: 16px;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px solid var(--zhiva-line);
}

.zhiva-cart-row:last-child {
    border-bottom: none;
}

.zhiva-cart-row img {
    width: 80px;
    height: 80px;
    border-radius: 14px;
    object-fit: cover;
}

.zhiva-cart-row__title {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 4px;
}

.zhiva-cart-row__meta {
    font-size: 12px;
    color: var(--zhiva-muted);
}

.zhiva-cart-row__price {
    font-size: 16px;
    font-weight: 800;
    color: var(--zhiva-blue);
    text-align: right;
}

.zhiva-cart-row__qty {
    display: flex;
    align-items: center;
    gap: 8px;
}

.zhiva-cart-row__qty button {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    border: 1px solid var(--zhiva-line);
    background: #fff;
    color: var(--zhiva-blue);
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
}

.zhiva-cart-row__qty button:hover {
    border-color: var(--zhiva-chlorophyll);
    color: var(--zhiva-chlorophyll);
}

.zhiva-cart-row__qty span {
    font-size: 14px;
    font-weight: 700;
    min-width: 24px;
    text-align: center;
}

/* ── .zhiva-promo ────────────────────────────────────────────────── */

.zhiva-promo {
    display: flex;
    gap: 10px;
    max-width: 380px;
}

.zhiva-promo .uk-input {
    border-radius: 999px;
    flex: 1;
}

.zhiva-promo .uk-button {
    border-radius: 999px;
    white-space: nowrap;
    flex-shrink: 0;
}

/* ── .zhiva-order-summary ─────────────────────────────────────────── */

.zhiva-order-summary {
    padding: 24px;
}

.zhiva-order-summary__row {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    font-size: 14px;
    border-bottom: 1px solid var(--zhiva-line);
}

.zhiva-order-summary__row:last-child {
    border-bottom: none;
}

.zhiva-order-summary__row--total {
    font-size: 18px;
    font-weight: 800;
    color: var(--zhiva-blue);
    padding-top: 14px;
    border-bottom: none;
}

.zhiva-order-summary__row--total span:last-child {
    color: var(--zhiva-chlorophyll);
}

/* ── .zhiva-tx-header ───────────────────────────────────────────── */

.zhiva-tx-header {
    padding: 16px 24px;
    background: var(--zhiva-blue);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 14px;
    font-weight: 700;
}

.zhiva-tx-header a,
.zhiva-tx-header .uk-link {
    color: rgba(255, 255, 255, 0.7);
}

.zhiva-tx-header a:hover {
    color: #fff;
}

/* ── .zhiva-tx-footer ──────────────────────────────────────────────── */

.zhiva-tx-footer {
    padding: 24px;
    text-align: center;
    border-top: 1px solid var(--zhiva-line);
    font-size: 13px;
    color: var(--zhiva-muted);
}

.zhiva-tx-footer .uk-nav {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 12px;
}

.zhiva-tx-footer .uk-nav > li > a {
    font-size: 12px;
    font-weight: 700;
    color: var(--zhiva-blue);
    padding: 0;
}

/* ── .zhiva-banner ────────────────────────────────────────────────── */

.zhiva-banner {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    padding: clamp(28px, 4vw, 44px);
}

.zhiva-banner--navy {
    background: var(--zhiva-blue);
    color: #fff;
}

.zhiva-banner--green {
    background: linear-gradient(135deg, var(--zhiva-chlorophyll), var(--zhiva-green));
    color: #fff;
}

.zhiva-banner h2 {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(28px, 4vw, 44px);
    line-height: 1.05;
}

.zhiva-banner p {
    font-size: 15px;
    opacity: 0.8;
    max-width: 520px;
    line-height: 1.55;
}

.zhiva-banner .uk-button-default {
    border-color: rgba(255, 255, 255, 0.4);
    color: #fff;
}

/* ── .zhiva-collection ───────────────────────────────────────────── */

.zhiva-collection {
    display: flex;
    gap: 18px;
    align-items: center;
    padding: 18px 0;
    border-bottom: 1px solid var(--zhiva-line);
}

.zhiva-collection:last-child {
    border-bottom: none;
}

.zhiva-collection img {
    width: 100px;
    height: 100px;
    border-radius: 18px;
    object-fit: cover;
    flex-shrink: 0;
}

.zhiva-collection h3 {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 4px;
}

.zhiva-collection p {
    font-size: 13px;
    color: var(--zhiva-muted);
    margin: 0;
}

.zhiva-collection .uk-button {
    margin-left: auto;
    flex-shrink: 0;
}

/* ── .zhiva-cross-sell ───────────────────────────────────────────── */

.zhiva-cross-sell {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
    scrollbar-width: thin;
    scrollbar-color: var(--zhiva-line) transparent;
}

.zhiva-cross-sell .uk-card {
    flex-shrink: 0;
    width: 180px;
    scroll-snap-align: start;
}

/* ══════════════════════════════════════════════════════════════════════
   Responsive additions for new components
   ══════════════════════════════════════════════════════════════════════ */

@media (max-width: 959px) {
    .jshop,
    .jshop * {
        box-sizing: border-box;
        max-width: 100%;
    }

    .jshop,
    .productfull {
        width: 100%;
        max-width: calc(100vw - 30px);
        overflow-x: hidden;
    }

    .jshop h1,
    .productfull h1 {
        font-size: 28px;
        line-height: 1.18;
        width: 100%;
        max-width: calc(100vw - 30px);
        overflow-wrap: anywhere;
        word-break: break-word;
        white-space: normal;
    }

    .jshop_code_prod {
        display: block;
        margin-top: 4px;
        font-size: 11px;
        line-height: 1.35;
        white-space: normal;
    }

    .productfull .prod_buttons,
    .productfull .product-buttons {
        width: 100%;
    }

    .productfull .product-buttons {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .productfull .product-buttons input[type="submit"] {
        width: 100%;
        min-height: 44px;
        margin: 0;
        white-space: normal;
    }

    .uk-navbar-item,
    .uk-navbar-toggle {
        min-height: 64px;
    }

    .tm-header-mobile .uk-navbar::before {
        min-height: 64px;
        font-size: 32px;
    }

    .zhiva-hero__grid,
    .zhiva-card-grid {
        grid-template-columns: 1fr;
    }

    .zhiva-hero__inner { padding-inline: 24px; }
    .zhiva-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .zhiva-collection-banner { grid-template-columns: 1fr; }
    .zhiva-collection-banner__media { min-height: 220px; }
    .zhiva-subscribe { align-items: flex-start; flex-direction: column; }

    .zhiva-hero {
        padding-top: 34px;
    }

    .zhiva-proof-row {
        grid-template-columns: 1fr;
    }

    .zhiva-product-orbit {
        min-height: 360px;
    }

    .zhiva-lab-note {
        position: relative;
        right: auto;
        bottom: auto;
        margin-top: 18px;
        max-width: none;
    }

    /* New components — tablet */
    .zhiva-product-detail {
        grid-template-columns: 1fr;
    }

    .zhiva-article-featured {
        grid-template-columns: 1fr;
    }

    .zhiva-cart-row {
        grid-template-columns: 64px 1fr auto;
    }

    .zhiva-cart-row__qty {
        grid-column: 1 / -1;
        justify-content: flex-start;
        padding-top: 8px;
    }

    .zhiva-mosaic {
        grid-template-columns: 1fr;
        grid-template-rows: 200px 200px 200px;
    }

    .zhiva-mosaic__item:first-child {
        grid-row: auto;
    }

    .zhiva-trust-strip {
        flex-direction: column;
        align-items: center;
    }

    .zhiva-trust-strip__item {
        max-width: 100%;
    }

    .zhiva-promo {
        max-width: none;
    }

    .zhiva-stepper__label {
        display: none;
    }
}

@media (max-width: 480px) {
    .zhiva-hero__title {
        font-size: 48px;
    }

    .zhiva-hero__inner { padding-inline: 16px; }
    .zhiva-hero__visual { min-height: 320px; margin-top: 12px; }
    .zhiva-hero__product { width: 132px; height: 174px; padding: 10px; border-radius: 18px; }
    .zhiva-hero__product--one { left: 0; }
    .zhiva-hero__product--two { right: 0; }
    .zhiva-hero__product--three { right: 24%; }
    .zhiva-home-section-head { align-items: flex-start; flex-direction: column; gap: 10px; }
    .zhiva-product-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .zhiva-product-card__media { height: 150px; padding: 10px; }
    .zhiva-product-card__body { padding: 12px; }
    .zhiva-product-card__body h3 { font-size: 13px; }
    .zhiva-product-card__price { font-size: 16px; }
    .zhiva-collection-banner__media { min-height: 190px; }
    .zhiva-article-featured--home { padding: 14px; }
    .zhiva-subscribe .uk-button { width: 100%; }

    .zhiva-hero__actions .uk-button {
        width: 100%;
    }

    .zhiva-orbit-label { font-size: 9px; }
    .zhiva-orbit-label--top { top: 12px; left: 12px; }
    .zhiva-orbit-label--bottom { right: 12px; bottom: 12px; }
    .zhiva-promo--home { grid-template-columns: 1fr; gap: 18px; }
    .zhiva-promo__code { justify-self: start; }
    .zhiva-final-cta { display: grid; align-items: start; }
    .zhiva-final-cta .uk-button { width: 100%; }

    .zhiva-visual-card {
        margin-inline: -6px;
        border-radius: 28px;
    }

    /* New components — mobile */
    .zhiva-product-row {
        grid-template-columns: 56px 1fr;
        gap: 12px;
    }

    .zhiva-product-row img {
        width: 56px;
        height: 56px;
    }

    .zhiva-product-row .uk-button {
        grid-column: 1 / -1;
    }

    .zhiva-cart-row {
        grid-template-columns: 56px 1fr;
        gap: 10px;
    }

    .zhiva-cart-row img {
        width: 56px;
        height: 56px;
    }

    .zhiva-cart-row__price,
    .zhiva-cart-row__qty {
        grid-column: 1 / -1;
    }

    .zhiva-cart-row__price {
        text-align: left;
    }

    .zhiva-photo-hero {
        min-height: 320px;
        border-radius: 20px;
    }

    .zhiva-photo-hero__content {
        padding: 20px;
    }

    .zhiva-promo {
        flex-direction: column;
    }

    .zhiva-promo .uk-button {
        width: 100%;
    }

    .zhiva-steps__item {
        gap: 12px;
    }

    .zhiva-steps__number {
        width: 32px;
        height: 32px;
        font-size: 14px;
    }

    .zhiva-cross-sell .uk-card {
        width: 150px;
    }

    .zhiva-collection {
        flex-direction: column;
        text-align: center;
    }

    .zhiva-collection .uk-button {
        margin-left: 0;
    }
}

@media (max-width: 639px) {
    .productfull h1,
    .productfull .jshop_prod_description,
    .productfull .description,
    .productfull .prod_buttons,
    .productfull .product-buttons {
        width: 100%;
        max-width: 350px;
        overflow-wrap: anywhere;
        white-space: normal;
    }
}

/* Glossary */
.zhiva-glossary-index,
.zhiva-glossary-term {
    --zhiva-blue: #13284C;
    --zhiva-blue-dark: #0F1F3D;
    --zhiva-green: #2F6B45;
    --zhiva-green-bright: #5D8C31;
    --zhiva-propolis: #6B4423;
    --zhiva-cream: #F6F3EC;
    --zhiva-soft: #F1F2F4;
    --zhiva-border: #E7EAF0;
    --zhiva-text: #25324A;
    color: var(--zhiva-text);
}

/* Glossary term shell assembled from Joomla article fields. */
.zhiva-term-shell {
    margin: 0 0 clamp(30px, 5vw, 58px);
}

.zhiva-term-shell__hero {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr);
    gap: clamp(24px, 5vw, 72px);
    align-items: center;
    margin: 0 0 clamp(28px, 5vw, 48px);
    padding: 20px;
    border: 1px solid var(--zhiva-border);
    border-radius: 28px;
    background: #f4f7f2;
}

.zhiva-term-shell__copy {
    padding-left: clamp(24px, 5vw, 60px);
}

.zhiva-term-shell--bee-products { --zhiva-category-color: #87641e; --zhiva-category-tint: #f1dfad; }
.zhiva-term-shell--plant-extracts { --zhiva-category-color: #5b7650; --zhiva-category-tint: #dfe8d6; }
.zhiva-term-shell--oils-and-fats { --zhiva-category-color: #8b5b45; --zhiva-category-tint: #e6c8b8; }
.zhiva-term-shell--bases-and-actives { --zhiva-category-color: #55717a; --zhiva-category-tint: #d9e5e8; }
.zhiva-term-shell--inci-components { --zhiva-category-color: #75657f; --zhiva-category-tint: #e4dfe8; }
.zhiva-term-shell[class*="zhiva-term-shell--"] .zhiva-term-shell__hero {
    border-color: color-mix(in srgb, var(--zhiva-category-color) 35%, var(--zhiva-border));
    background: var(--zhiva-category-tint);
}

.zhiva-term-shell__copy h1 {
    max-width: 760px;
    margin: 0 0 18px;
    color: var(--zhiva-blue);
    font-family: var(--font-serif, 'Cormorant Garamond', serif);
    font-size: clamp(38px, 5vw, 68px);
    line-height: .98;
}

.zhiva-term-eyebrow {
    margin: 0 0 14px;
    color: var(--zhiva-green);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.zhiva-term-shell__lead {
    max-width: 680px;
    color: #53627a;
    font-size: clamp(17px, 2vw, 21px);
    line-height: 1.55;
}

.zhiva-term-shell__actions {
    margin-top: 24px;
}

.zhiva-term-shell__media {
    overflow: hidden;
    aspect-ratio: 4 / 3;
    border-radius: 20px;
    background: #fff;
}

.zhiva-term-shell__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.zhiva-term-shell .zhiva-term-facts {
    margin: -12px 0 40px;
}

.zhiva-term-shell__content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(25%, 29%, 33.333%);
    gap: 0;
    align-items: start;
}

.zhiva-term-shell__main {
    min-width: 0;
}

.zhiva-term-shell__sidebar {
    position: sticky;
    top: 28px;
    min-width: 0;
}

.zhiva-term-shell__body {
    max-width: 860px;
    margin: 0 auto;
}

.zhiva-term-shell__body > p:first-child {
    font-size: 18px;
}

.zhiva-glossary-related {
    margin-top: clamp(42px, 7vw, 84px);
    padding-top: clamp(28px, 5vw, 52px);
    border-top: 1px solid var(--zhiva-border);
}

.zhiva-glossary-related__head {
    margin-bottom: 22px;
}

.zhiva-glossary-related__eyebrow {
    margin: 0 0 6px;
    color: var(--zhiva-green);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.zhiva-glossary-related h2 {
    margin: 0;
    color: var(--zhiva-blue);
    font-family: var(--font-serif, 'Cormorant Garamond', serif);
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1;
}

.zhiva-glossary-related__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
}

.zhiva-glossary-related .zhiva-glossary-ingredient {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--zhiva-border);
    border-top: 3px solid var(--zhiva-category-color, #7d8a98);
    border-radius: 16px;
    background: #fff;
    color: var(--zhiva-text);
    text-decoration: none;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.zhiva-glossary-related .zhiva-glossary-ingredient[data-category="bee-products"] { --zhiva-category-color: #87641e; --zhiva-category-tint: #f1dfad; }
.zhiva-glossary-related .zhiva-glossary-ingredient[data-category="plant-extracts"] { --zhiva-category-color: #5b7650; --zhiva-category-tint: #dfe8d6; }
.zhiva-glossary-related .zhiva-glossary-ingredient[data-category="oils-and-fats"] { --zhiva-category-color: #8b5b45; --zhiva-category-tint: #e6c8b8; }
.zhiva-glossary-related .zhiva-glossary-ingredient[data-category="bases-and-actives"] { --zhiva-category-color: #55717a; --zhiva-category-tint: #d9e5e8; }
.zhiva-glossary-related .zhiva-glossary-ingredient[data-category="inci-components"] { --zhiva-category-color: #75657f; --zhiva-category-tint: #e4dfe8; }
.zhiva-glossary-related .zhiva-glossary-ingredient:hover {
    transform: translateY(-3px);
    border-color: rgba(93, 140, 49, .45);
    box-shadow: 0 18px 34px rgba(19, 40, 76, .09);
    color: var(--zhiva-text);
}

.zhiva-glossary-related .zhiva-glossary-ingredient__media {
    display: block;
    flex: 0 0 auto;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--zhiva-category-tint, var(--zhiva-cream));
}

.zhiva-glossary-related .zhiva-glossary-ingredient__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.zhiva-glossary-related .zhiva-glossary-ingredient__placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    background: radial-gradient(circle at 30% 20%, #f7f5ed, var(--zhiva-category-tint, #e8eee4));
    color: color-mix(in srgb, var(--zhiva-category-color, #7d8a98) 28%, transparent);
    font-family: var(--font-serif, 'Cormorant Garamond', serif);
    font-size: clamp(56px, 7vw, 96px);
}

.zhiva-glossary-related .zhiva-list__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    background: var(--zhiva-category-tint, #fff);
}

.zhiva-glossary-related .zhiva-list__title {
    color: var(--zhiva-blue);
    font-family: var(--font-serif, 'Cormorant Garamond', serif);
    font-size: 22px;
    line-height: 1.05;
}

@media (max-width: 1100px) {
    .zhiva-glossary-related__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .zhiva-glossary-related__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
}

@media (max-width: 430px) {
    .zhiva-glossary-related__grid {
        grid-template-columns: 1fr;
    }
}

article:has(.zhiva-term-shell) > .uk-text-center,
article:has(.zhiva-term-shell) > .uk-article-meta,
article:has(.zhiva-term-shell) > .uk-article-title,
article:has(.zhiva-term-shell) .fields-container {
    display: none;
}

article:has(.zhiva-blog-article) > .uk-text-center,
article:has(.zhiva-blog-article) > .uk-article-meta,
article:has(.zhiva-blog-article) > .uk-article-title,
article:has(.zhiva-blog-article) > [property="image"],
article:has(.zhiva-blog-article) .fields-container {
    display: none;
}

.zhiva-blog-article__back{display:inline-block;margin-bottom:20px;color:#537d32;font-weight:700;text-decoration:none}.zhiva-blog-article__hero{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(24px,4vw,56px);align-items:stretch;padding:clamp(24px,4vw,56px);border-radius:28px;background:linear-gradient(135deg,#163b58 0%,#1f614e 100%);color:#fff}.zhiva-blog-article__copy{display:flex;flex-direction:column;justify-content:center}.zhiva-blog-article__eyebrow{margin:0 0 12px;color:#d6e8a8;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.zhiva-blog-article__hero h1{margin:0;color:#fff;font-family:Georgia,serif;font-size:clamp(36px,5vw,68px);line-height:1.02}.zhiva-blog-article__lead{max-width:680px;margin:22px 0 0;color:rgba(255,255,255,.86);font-size:clamp(17px,2vw,22px);line-height:1.45}.zhiva-blog-article__meta{margin:22px 0 0;color:rgba(255,255,255,.72);font-size:14px}.zhiva-blog-article__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.zhiva-blog-article__tags span{padding:6px 10px;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff;font-size:13px}.zhiva-blog-article__media{overflow:hidden;align-self:center;border-radius:20px;aspect-ratio:4/3;background:rgba(255,255,255,.15)}.zhiva-blog-article__media img{width:100%;height:100%;object-fit:cover}.zhiva-blog-article__placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:rgba(255,255,255,.75);font:700 clamp(70px,10vw,140px)/1 Georgia,serif}.zhiva-blog-article__body{max-width:900px;margin:clamp(28px,5vw,72px) auto 0}.zhiva-blog-article__body>p:first-child{font-size:1.12em}.zhiva-relation-card__placeholder{display:flex;align-items:center;justify-content:center;color:#7d8a98;font-size:42px;font-weight:700}@media(max-width:639px){.zhiva-blog-article__hero{grid-template-columns:1fr;padding:20px;border-radius:20px}.zhiva-blog-article__media{order:-1;border-radius:14px}.zhiva-blog-article__hero h1{font-size:clamp(34px,10vw,48px)}.zhiva-blog-article__lead{font-size:17px}.zhiva-blog-article__body{margin-top:32px}}
.zhiva-article-hero{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(24px,4vw,56px);align-items:stretch}.zhiva-article-hero>:first-child{grid-column:1;grid-row:1}.zhiva-article-hero>.zhiva-blog-article__media{grid-column:2;grid-row:1}@media(max-width:639px){.zhiva-article-hero{grid-template-columns:1fr}.zhiva-article-hero>:first-child,.zhiva-article-hero>.zhiva-blog-article__media{grid-column:1;grid-row:auto}.zhiva-article-hero>.zhiva-blog-article__media{order:-1}}

@media (max-width: 639px) {
    .zhiva-term-shell__hero {
        grid-template-columns: 1fr;
        padding: 20px;
    }

    .zhiva-term-shell__media {
        order: -1;
    }

    .zhiva-term-shell .zhiva-term-facts {
        grid-template-columns: 1fr;
        margin: 0 0 30px;
    }
}

@media (max-width: 959px) {
    .zhiva-term-shell__content {
        grid-template-columns: 1fr;
    }

    .zhiva-term-shell__sidebar {
        position: static;
    }
}

.zhiva-term-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
    gap: clamp(24px, 4vw, 56px);
    align-items: center;
    margin: 0 0 clamp(28px, 5vw, 56px);
    padding: clamp(28px, 5vw, 64px);
    border-radius: 32px;
    background:
        radial-gradient(circle at 86% 16%, rgba(246, 243, 236, .95), transparent 30%),
        linear-gradient(135deg, var(--zhiva-blue-dark), var(--zhiva-blue) 48%, var(--zhiva-green));
    color: #fff;
}

.zhiva-glossary-hero {
    display: block;
    margin: 0 0 clamp(28px, 5vw, 56px);
    padding: clamp(28px, 5vw, 56px) clamp(20px, 4vw, 48px);
    border: 1px solid var(--zhiva-border);
    border-radius: 28px;
    background: #F4F7F2;
    color: var(--zhiva-text);
    text-align: center;
}

.zhiva-glossary-hero::after {
    display: none;
}

.zhiva-glossary-hero h1 {
    margin-right: auto;
    margin-left: auto;
    color: var(--zhiva-blue);
}

.zhiva-glossary-hero p {
    margin-right: auto;
    margin-left: auto;
    color: #53627A;
}

.zhiva-glossary-hero .zhiva-glossary-eyebrow {
    color: var(--zhiva-green);
}

.zhiva-glossary-hero .zhiva-glossary-hero__meta {
    display: none;
}

.zhiva-glossary-hero::after,
.zhiva-term-hero::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -120px;
    width: 300px;
    height: 300px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
}

.zhiva-glossary-eyebrow,
.zhiva-term-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    color: rgba(255, 255, 255, .82);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.zhiva-glossary-hero h1,
.zhiva-term-hero h1 {
    max-width: 760px;
    margin: 0 0 16px;
    color: #fff;
    font-size: clamp(34px, 5vw, 64px);
    line-height: .98;
}

.zhiva-glossary-hero p,
.zhiva-term-hero p {
    max-width: 680px;
    margin: 0;
    color: rgba(255, 255, 255, .86);
    font-size: clamp(17px, 2vw, 21px);
    line-height: 1.55;
}

.zhiva-glossary-hero__meta,
.zhiva-term-specimen {
    position: relative;
    z-index: 1;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 24px;
    background: rgba(255, 255, 255, .12);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .22);
    backdrop-filter: blur(12px);
}

.zhiva-glossary-hero__meta strong,
.zhiva-term-specimen strong {
    display: block;
    color: #fff;
    font-size: 30px;
    line-height: 1.1;
}

.zhiva-glossary-hero__meta span,
.zhiva-term-specimen span {
    display: block;
    margin-top: 6px;
    color: rgba(255, 255, 255, .78);
    font-size: 14px;
}

.zhiva-glossary-nav,
.zhiva-term-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 34px;
}

.zhiva-glossary-nav a,
.zhiva-term-back,
.zhiva-term-links a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 14px;
    border: 1px solid var(--zhiva-border);
    border-radius: 999px;
    background: #fff;
    color: var(--zhiva-blue);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.zhiva-glossary-nav a:hover,
.zhiva-term-back:hover,
.zhiva-term-links a:hover {
    border-color: rgba(93, 140, 49, .45);
    color: var(--zhiva-green);
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(19, 40, 76, .1);
}

.zhiva-glossary-categories {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    margin: 0 0 clamp(34px, 5vw, 56px);
}

.zhiva-glossary-category {
    display: flex;
    min-height: 156px;
    flex-direction: column;
    gap: 10px;
    padding: 20px;
    border: 1px solid var(--zhiva-border);
    border-radius: 20px;
    background: #fff;
    color: var(--zhiva-text);
    text-decoration: none;
    box-shadow: 0 8px 24px rgba(19, 40, 76, .06);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.zhiva-glossary-category:hover {
    border-color: rgba(93, 140, 49, .45);
    color: var(--zhiva-text);
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(19, 40, 76, .08);
}

.zhiva-glossary-category:focus-visible,
.zhiva-glossary-subcategory:focus-within {
    outline: 3px solid rgba(93, 140, 49, .32);
    outline-offset: 3px;
}

.zhiva-glossary-categories--sidebar {
    grid-template-columns: 1fr;
    gap: 16px;
    margin: 0;
}

.zhiva-glossary-categories--sidebar .zhiva-glossary-category {
    min-height: 96px;
    flex-direction: row;
    gap: 0;
    padding: 0;
    overflow: hidden;
    border-radius: 16px;
}

.zhiva-glossary-categories--sidebar .zhiva-glossary-category[data-glossary-category=""] { --zhiva-category-color: #7d8a98; --zhiva-category-tint: #f4f6f7; }
.zhiva-glossary-categories--sidebar .zhiva-glossary-category[data-glossary-category="bee-products"] { --zhiva-category-color: #87641e; --zhiva-category-tint: #f1dfad; }
.zhiva-glossary-categories--sidebar .zhiva-glossary-category[data-glossary-category="plant-extracts"] { --zhiva-category-color: #5b7650; --zhiva-category-tint: #dfe8d6; }
.zhiva-glossary-categories--sidebar .zhiva-glossary-category[data-glossary-category="oils-and-fats"] { --zhiva-category-color: #8b5b45; --zhiva-category-tint: #e6c8b8; }
.zhiva-glossary-categories--sidebar .zhiva-glossary-category[data-glossary-category="bases-and-actives"] { --zhiva-category-color: #55717a; --zhiva-category-tint: #d9e5e8; }
.zhiva-glossary-categories--sidebar .zhiva-glossary-category[data-glossary-category="inci-components"] { --zhiva-category-color: #75657f; --zhiva-category-tint: #e4dfe8; }
.zhiva-glossary-categories--sidebar .zhiva-glossary-category:first-child .zhiva-glossary-category__media { background: var(--zhiva-cream, #f1f3ec); }

.zhiva-glossary-categories--sidebar .zhiva-glossary-category__media {
    flex: 0 0 34%;
    min-height: 96px;
    aspect-ratio: 1 / 1;
    background: var(--zhiva-glossary-category-image) center / cover no-repeat;
}

.zhiva-glossary-categories--sidebar .zhiva-glossary-category,
.zhiva-glossary-categories--sidebar .zhiva-glossary-category:hover,
.zhiva-glossary-categories--sidebar .zhiva-glossary-category:focus,
.zhiva-glossary-categories--sidebar .zhiva-glossary-category:focus-visible {
    text-decoration: none;
}

.zhiva-glossary-categories--sidebar .zhiva-glossary-category__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    padding: 14px;
    background: var(--zhiva-category-tint, #fff);
}

.zhiva-glossary-categories--sidebar .zhiva-glossary-category strong {
    font-size: 20px;
    line-height: 1.05;
}

.zhiva-glossary-categories--sidebar .zhiva-glossary-category__count {
    font-size: 11px;
}

.zhiva-glossary-category__eyebrow,
.zhiva-glossary-subcategory__eyebrow {
    color: var(--zhiva-green);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.zhiva-glossary-category strong {
    color: var(--zhiva-blue);
    font-family: var(--font-serif, 'Cormorant Garamond', serif);
    font-size: 22px;
    font-weight: 500;
    line-height: 1.15;
}

.zhiva-glossary-category > span:last-child,
.zhiva-glossary-subcategory > p:last-child {
    color: #637089;
    font-size: 13px;
    line-height: 1.5;
}

.zhiva-glossary-subcategories {
    display: grid;
    gap: 18px;
    margin: 0 0 clamp(30px, 5vw, 58px);
}

.zhiva-glossary-subcategory {
    padding: clamp(22px, 3vw, 32px);
    border: 1px solid var(--zhiva-border);
    border-radius: 24px;
    background: var(--zhiva-cream);
}

.zhiva-glossary-subcategory h2 {
    margin: 8px 0 6px;
    color: var(--zhiva-blue);
    font-size: clamp(24px, 3vw, 34px);
}

.zhiva-glossary-subcategory p:last-child {
    max-width: 640px;
    margin: 0;
}

.zhiva-glossary-section {
    margin: 0 0 clamp(30px, 5vw, 58px);
}

.zhiva-glossary-section__head {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: end;
    margin-bottom: 18px;
}

.zhiva-glossary-section__head h2 {
    margin: 0;
    color: var(--zhiva-blue);
    font-size: clamp(25px, 3vw, 38px);
}

.zhiva-glossary-section__head p {
    max-width: 560px;
    margin: 0;
    color: #637089;
    line-height: 1.55;
}

.zhiva-glossary-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.zhiva-glossary-card {
    position: relative;
    padding: 28px;
    border: 1px solid var(--zhiva-border);
    border-radius: 12px;
    background: var(--zhiva-cream);
    color: var(--zhiva-text);
    text-decoration: none;
    transition: transform .35s cubic-bezier(.23,1,.32,1), box-shadow .35s ease, border-color .35s ease;
    display: flex;
    flex-direction: column;
    cursor: pointer;
    overflow: hidden;
}

.zhiva-glossary-card:hover {
    transform: translateY(-6px);
    border-color: var(--zhiva-blue);
    box-shadow: 0 20px 40px rgba(19,40,76,.05);
    color: var(--zhiva-text);
}

/* Watermark letter (replaces square badge) */
.zhiva-glossary-card__watermark {
    position: absolute;
    top: -8px;
    right: 12px;
    font-family: var(--font-serif, 'Cormorant Garamond', serif);
    font-size: 72px;
    font-weight: 600;
    opacity: .04;
    pointer-events: none;
    line-height: 1;
    color: var(--zhiva-blue);
}

/* Category tag */
.zhiva-glossary-card__tag {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--zhiva-green);
    margin-bottom: 10px;
    display: block;
}

.zhiva-glossary-card h3 {
    font-family: var(--font-serif, 'Cormorant Garamond', serif);
    font-size: 22px;
    font-weight: 500;
    line-height: 1.25;
    margin: 0 0 14px;
    color: var(--zhiva-blue);
}

.zhiva-glossary-card p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 14px;
    line-height: 1.65;
    color: #637089;
    margin: 0 0 20px;
}

/* CTA footer with arrow */
.zhiva-glossary-card__cta {
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    color: var(--zhiva-blue);
    text-decoration: none;
    transition: color .2s ease;
}
.zhiva-glossary-card:hover .zhiva-glossary-card__cta {
    color: var(--zhiva-green);
}
.zhiva-glossary-card__cta svg {
    transition: transform .2s ease;
}
.zhiva-glossary-card:hover .zhiva-glossary-card__cta svg {
    transform: translateX(4px);
}

/* Search input */
.zhiva-glossary-search {
    max-width: 560px;
    margin: 0 auto 32px;
}
.zhiva-glossary-search input {
    width: 100%;
    padding: 14px 22px;
    background: #fff;
    border: 1px solid var(--zhiva-border);
    border-radius: 40px;
    font-size: 15px;
    color: var(--zhiva-blue);
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.zhiva-glossary-search input:focus {
    border-color: var(--zhiva-blue);
    box-shadow: 0 10px 30px rgba(19,40,76,.05);
}

/* Alphabet filter */
.zhiva-glossary-alpha {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 0 0 40px;
}
.zhiva-glossary-alpha button,
.zhiva-glossary-alpha a {
    min-width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid var(--zhiva-border);
    border-radius: 50%;
    font-size: 14px;
    font-weight: 600;
    color: var(--zhiva-blue);
    cursor: pointer;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
    text-decoration: none;
}
.zhiva-glossary-alpha button:hover,
.zhiva-glossary-alpha a:hover,
.zhiva-glossary-alpha button.uk-active,
.zhiva-glossary-alpha a.uk-active {
    background: var(--zhiva-blue);
    color: #fff;
    border-color: var(--zhiva-blue);
}

.zhiva-glossary-note,
.zhiva-term-panel {
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid var(--zhiva-border);
    border-radius: 26px;
    background: var(--zhiva-cream);
}

.zhiva-glossary-note h2,
.zhiva-term-panel h2,
.zhiva-term-panel h3 {
    margin-top: 0;
    color: var(--zhiva-blue);
}

/* The glossary index owns its navigation and should not show Joomla's
   category metadata or previous/next article controls above and below it. */
main article:has(.zhiva-glossary-index) > .uk-article-meta,
main article:has(.zhiva-glossary-index) > nav[aria-label="Пагинация"] {
    display: none;
}

.zhiva-term-back {
    margin: 0 0 18px;
}

.zhiva-term-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: -24px clamp(14px, 3vw, 36px) 34px;
    position: relative;
    z-index: 2;
}

.zhiva-term-fact {
    padding: 18px;
    border: 1px solid var(--zhiva-border);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(19, 40, 76, .08);
}

.zhiva-term-fact span {
    display: block;
    margin-bottom: 5px;
    color: #637089;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.zhiva-term-fact strong {
    color: var(--zhiva-blue);
    font-size: 18px;
}

.zhiva-term-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    gap: 18px;
    align-items: start;
}

.zhiva-term-panel {
    background: #fff;
}

.zhiva-term-panel--accent {
    background: linear-gradient(180deg, var(--zhiva-cream), #fff);
}

.zhiva-term-panel p,
.zhiva-term-panel li {
    color: #4E5B72;
    line-height: 1.65;
}

.zhiva-term-panel ul {
    margin-bottom: 0;
}

.zhiva-term-links {
    margin-bottom: 0;
}

.zhiva-term-warning {
    margin-top: 18px;
    padding: 16px 18px;
    border-left: 4px solid var(--zhiva-green-bright);
    border-radius: 16px;
    background: #F7FAF4;
    color: #4E5B72;
}

@media (max-width: 959px) {
    .zhiva-term-hero,
    .zhiva-term-grid {
        grid-template-columns: 1fr;
    }

    .zhiva-glossary-categories {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zhiva-glossary-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zhiva-glossary-section__head {
        display: block;
    }

    .zhiva-glossary-section__head p {
        margin-top: 8px;
    }
}

@media (min-width: 960px) and (max-width: 1199px) {
    .zhiva-glossary-categories {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .zhiva-glossary-card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 639px) {
    .zhiva-glossary-categories {
        grid-template-columns: 1fr;
    }

    .zhiva-glossary-hero,
    .zhiva-term-hero {
        padding: 24px 18px;
        border-radius: 22px;
    }

    .zhiva-glossary-card-grid,
    .zhiva-term-facts {
        grid-template-columns: 1fr;
    }

    .zhiva-term-facts {
        margin: 0 0 24px;
    }
}

/* Blog */
.zhiva-blog-index,
.zhiva-blog-category,
.zhiva-blog-article {
    --zhiva-blue: #13284C;
    --zhiva-blue-dark: #0F1F3D;
    --zhiva-green: #2F6B45;
    --zhiva-green-bright: #5D8C31;
    --zhiva-propolis: #6B4423;
    --zhiva-cream: #F6F3EC;
    --zhiva-soft: #F1F2F4;
    --zhiva-border: #E7EAF0;
    --zhiva-text: #25324A;
    color: var(--zhiva-text);
}

.zhiva-blog-hero,
.zhiva-article-hero {
    position: relative;
    overflow: hidden;
    margin: 0 0 clamp(28px, 5vw, 58px);
    padding: clamp(30px, 6vw, 72px);
    border-radius: 34px;
    background:
        radial-gradient(circle at 82% 18%, rgba(246, 243, 236, .92), transparent 32%),
        linear-gradient(135deg, var(--zhiva-blue-dark), var(--zhiva-blue) 54%, var(--zhiva-green));
    color: #fff;
}

.zhiva-blog-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 360px);
    gap: clamp(24px, 4vw, 58px);
    align-items: end;
}

.zhiva-blog-eyebrow,
.zhiva-article-eyebrow {
    display: inline-flex;
    margin-bottom: 14px;
    color: rgba(255, 255, 255, .82);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.zhiva-blog-hero h1,
.zhiva-article-hero h1 {
    max-width: 840px;
    margin: 0 0 16px;
    color: #fff;
    font-size: clamp(34px, 5vw, 66px);
    line-height: .98;
}

.zhiva-blog-hero p,
.zhiva-article-hero p {
    max-width: 720px;
    margin: 0;
    color: rgba(255, 255, 255, .86);
    font-size: clamp(17px, 2vw, 21px);
    line-height: 1.56;
}

.zhiva-blog-hero__panel {
    position: relative;
    z-index: 1;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 24px;
    background: rgba(255, 255, 255, .12);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .2);
    backdrop-filter: blur(12px);
}

.zhiva-blog-hero__panel strong {
    display: block;
    color: #fff;
    font-size: 30px;
    line-height: 1.1;
}

.zhiva-blog-hero__panel span {
    display: block;
    margin: 6px 0 14px;
    color: rgba(255, 255, 255, .78);
    font-size: 14px;
}

.zhiva-blog-nav,
.zhiva-article-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 34px;
}

.zhiva-blog-nav a,
.zhiva-blog-card__more,
.zhiva-article-back,
.zhiva-article-links a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 14px;
    border: 1px solid var(--zhiva-border);
    border-radius: 999px;
    background: #fff;
    color: var(--zhiva-blue);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.zhiva-blog-nav a:hover,
.zhiva-blog-card:hover .zhiva-blog-card__more,
.zhiva-article-back:hover,
.zhiva-article-links a:hover {
    border-color: rgba(93, 140, 49, .45);
    color: var(--zhiva-green);
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(19, 40, 76, .1);
}

.zhiva-blog-section {
    margin: 0 0 clamp(34px, 5vw, 62px);
}

.zhiva-blog-section__head {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: end;
    margin-bottom: 18px;
}

.zhiva-blog-section__head h2 {
    margin: 0;
    color: var(--zhiva-blue);
    font-size: clamp(25px, 3vw, 38px);
}

.zhiva-blog-section__head p {
    max-width: 580px;
    margin: 0;
    color: #637089;
    line-height: 1.55;
}

.zhiva-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.zhiva-blog-card {
    display: flex;
    flex-direction: column;
    min-height: 280px;
    padding: 22px;
    border: 1px solid var(--zhiva-border);
    border-radius: 26px;
    background: linear-gradient(180deg, #fff, #FAFBFC);
    color: var(--zhiva-text);
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.zhiva-blog-card:hover {
    border-color: rgba(47, 107, 69, .35);
    color: var(--zhiva-text);
    transform: translateY(-3px);
    box-shadow: 0 20px 46px rgba(19, 40, 76, .11);
}

.zhiva-blog-card,
.zhiva-blog-card:hover,
.zhiva-blog-card:focus,
.zhiva-blog-card:focus-visible,
.zhiva-blog-card__title,
.zhiva-blog-card__intro {
    text-decoration: none;
}

.zhiva-blog-card__meta,
.zhiva-article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
    color: #637089;
    font-size: 13px;
    font-weight: 700;
}

.zhiva-blog-chip,
.zhiva-article-chip {
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    border-radius: 999px;
    background: var(--zhiva-cream);
    color: var(--zhiva-propolis);
}

.zhiva-blog-card h3 {
    margin: 0 0 10px;
    color: var(--zhiva-blue);
    font-size: 22px;
    line-height: 1.16;
}

.zhiva-blog-card p {
    margin: 0 0 18px;
    color: #637089;
    line-height: 1.55;
}

.zhiva-blog-card__more {
    margin-top: auto;
    align-self: flex-start;
}

.zhiva-blog-note,
.zhiva-article-panel {
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid var(--zhiva-border);
    border-radius: 26px;
    background: var(--zhiva-cream);
}

.zhiva-article-back {
    margin: 0 0 18px;
}

.zhiva-article-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 340px);
    gap: 20px;
    align-items: start;
}

.zhiva-article-main,
.zhiva-article-side {
    display: grid;
    gap: 18px;
}

.zhiva-article-panel {
    background: #fff;
}

.zhiva-article-panel--accent {
    background: linear-gradient(180deg, var(--zhiva-cream), #fff);
}

.zhiva-article-panel h2,
.zhiva-article-panel h3,
.zhiva-blog-note h2 {
    margin-top: 0;
    color: var(--zhiva-blue);
}

.zhiva-article-panel p,
.zhiva-article-panel li,
.zhiva-blog-note p {
    color: #4E5B72;
    line-height: 1.68;
}

@media (max-width: 959px) {
    .zhiva-blog-hero,
    .zhiva-article-body {
        grid-template-columns: 1fr;
    }

    .zhiva-blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zhiva-blog-section__head {
        display: block;
    }

    .zhiva-blog-section__head p {
        margin-top: 8px;
    }
}

@media (max-width: 639px) {
    .zhiva-blog-hero,
    .zhiva-article-hero {
        padding: 24px 18px;
        border-radius: 22px;
    }

    .zhiva-blog-grid {
        grid-template-columns: 1fr;
    }

    .zhiva-blog-card {
        min-height: auto;
    }
}

/* ── Brand article canvas ────────────────────────────────────────── */
/* YOOtheme's uk-section-default otherwise leaves a white canvas around the brand shell. */
main.tm-main:has(.zhiva-brand-page) {
    background: var(--zhiva-paper);
}

/* Collections / intent pages */
.zhiva-collections-index,
.zhiva-collection-page {
    --zhiva-card-shadow: 0 18px 54px rgba(19, 40, 76, 0.08);
    display: grid;
    gap: clamp(22px, 4vw, 42px);
    color: var(--zhiva-blue);
}

.zhiva-collections-hero,
.zhiva-collection-hero {
    display: grid;
    gap: clamp(20px, 4vw, 42px);
    padding: clamp(28px, 5vw, 58px);
    border: 1px solid var(--zhiva-border);
    border-radius: 30px;
    background:
        radial-gradient(circle at 92% 12%, rgba(93, 140, 49, 0.13), transparent 28%),
        linear-gradient(135deg, #fff 0%, var(--zhiva-cream) 100%);
    box-shadow: var(--zhiva-card-shadow);
}

.zhiva-collections-hero {
    grid-template-columns: minmax(0, 1fr) minmax(240px, 360px);
    align-items: end;
}

.zhiva-collection-hero {
    max-width: 980px;
}

.zhiva-collections-hero h1,
.zhiva-collection-hero h1 {
    max-width: 840px;
    margin: 0;
    color: var(--zhiva-blue);
    font-family: var(--zhiva-serif);
    font-size: clamp(38px, 6vw, 76px);
    line-height: 0.96;
}

.zhiva-collections-hero p,
.zhiva-collection-hero > p {
    max-width: 760px;
    margin: 16px 0 0;
    color: #4E5B72;
    font-size: clamp(17px, 2vw, 20px);
    line-height: 1.62;
}

.zhiva-collections-hero aside {
    display: grid;
    gap: 10px;
    padding: 22px;
    border: 1px solid rgba(93, 140, 49, 0.2);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.76);
}

.zhiva-collections-hero aside strong,
.zhiva-collection-note strong {
    color: var(--zhiva-green);
    font-size: 14px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.zhiva-collections-hero aside span {
    color: #4E5B72;
    line-height: 1.55;
}

.zhiva-collection-back {
    margin: 0 0 16px;
}

.zhiva-collection-back a {
    color: var(--zhiva-green);
    font-weight: 800;
    text-decoration: none;
}

.zhiva-collection-actions,
.zhiva-collection-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.zhiva-collection-chips span {
    display: inline-flex;
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    color: var(--zhiva-propolis);
    font-size: 13px;
    font-weight: 800;
}

.zhiva-collection-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.zhiva-collection-card {
    display: grid;
    align-content: start;
    gap: 12px;
    min-height: 230px;
    padding: 22px;
    border: 1px solid var(--zhiva-border);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 12px 36px rgba(19, 40, 76, 0.06);
    color: inherit;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.zhiva-collection-card:hover {
    transform: translateY(-3px);
    border-color: rgba(93, 140, 49, 0.38);
    box-shadow: var(--zhiva-card-shadow);
    color: inherit;
    text-decoration: none;
}

.zhiva-collection-card span {
    width: fit-content;
    padding: 5px 10px;
    border-radius: 999px;
    background: var(--zhiva-cream);
    color: var(--zhiva-propolis);
    font-size: 12px;
    font-weight: 800;
}

.zhiva-collection-card strong {
    color: var(--zhiva-blue);
    font-size: 21px;
    line-height: 1.12;
}

.zhiva-collection-card em {
    color: #637089;
    font-style: normal;
    line-height: 1.55;
}

.zhiva-collection-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 340px);
    gap: 20px;
    align-items: start;
}

.zhiva-collection-layout main,
.zhiva-collection-layout aside {
    display: grid;
    gap: 18px;
}

.zhiva-collection-panel,
.zhiva-collection-note,
.zhiva-collection-links,
.zhiva-collection-faq {
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid var(--zhiva-border);
    border-radius: 24px;
    background: #fff;
}

.zhiva-collection-panel--accent,
.zhiva-collection-note {
    background: var(--zhiva-cream);
}

.zhiva-collection-panel h2,
.zhiva-collection-links h2,
.zhiva-collection-faq h2,
.zhiva-collection-note h2 {
    margin-top: 0;
    color: var(--zhiva-blue);
}

.zhiva-collection-panel p,
.zhiva-collection-panel li,
.zhiva-collection-note p,
.zhiva-collection-faq p {
    color: #4E5B72;
    line-height: 1.68;
}

.zhiva-collection-links {
    display: grid;
    gap: 12px;
}

.zhiva-collection-links a {
    display: grid;
    gap: 5px;
    padding: 14px 0;
    border-top: 1px solid var(--zhiva-border);
    color: inherit;
    text-decoration: none;
}

.zhiva-collection-links a:first-of-type {
    border-top: 0;
}

.zhiva-collection-links span {
    color: var(--zhiva-propolis);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.zhiva-collection-links strong {
    color: var(--zhiva-blue);
    line-height: 1.25;
}

.zhiva-collection-faq details {
    padding: 16px 0;
    border-top: 1px solid var(--zhiva-border);
}

.zhiva-collection-faq details:first-of-type {
    border-top: 0;
}

.zhiva-collection-faq summary {
    cursor: pointer;
    color: var(--zhiva-blue);
    font-weight: 800;
}

@media (max-width: 1199px) {
    .zhiva-collection-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 959px) {
    .zhiva-collections-hero,
    .zhiva-collection-layout {
        grid-template-columns: 1fr;
    }

    .zhiva-collection-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 639px) {
    .zhiva-collections-hero,
    .zhiva-collection-hero {
        padding: 24px 18px;
        border-radius: 22px;
    }

    .zhiva-collection-grid {
        grid-template-columns: 1fr;
    }

.zhiva-collection-card {
        min-height: auto;
    }
}

/* Related products — horizontal product row from blocks-v3, with a detail CTA. */
.zhiva-related-products {
    margin-top: clamp(38px, 6vw, 76px);
    padding-top: clamp(28px, 4vw, 48px);
    border-top: 1px solid var(--zhiva-border, #e7eaf0);
}

.zhiva-related-products__head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 24px;
    margin-bottom: 18px;
}

.zhiva-related-products__eyebrow {
    display: block;
    margin-bottom: 8px;
    color: var(--zhiva-green, #2f6b45);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.zhiva-related-products__head h2 {
    margin: 0;
    color: var(--zhiva-blue, #13284c);
    font-size: clamp(26px, 3vw, 38px);
}

.zhiva-related-products__count {
    color: #637089;
    font-size: 14px;
}

.zhiva-related-products__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.zhiva-related-row {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    gap: 8px 12px;
    align-items: center;
    padding: 8px;
    border: 1px solid var(--zhiva-border, #e7eaf0);
    border-radius: 18px;
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.zhiva-related-row:hover {
    border-color: rgba(19, 40, 76, .22);
    box-shadow: 0 12px 28px rgba(19, 40, 76, .08);
    transform: translateY(-2px);
}

.zhiva-related-row__media {
    display: grid;
    place-items: center;
    grid-column: 1;
    grid-row: 1 / span 3;
    width: 72px;
    height: 72px;
    overflow: hidden;
    border-radius: 12px;
    background: #f6f3ec;
}

.zhiva-related-row__media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.zhiva-related-row__placeholder {
    width: 34px;
    height: 34px;
    border: 1px solid #d8dde5;
    border-radius: 50%;
}

.zhiva-related-row__title {
    margin: 0 0 4px;
    font-size: 14px;
    line-height: 1.25;
}

.zhiva-related-row__title a {
    color: var(--zhiva-blue, #13284c);
    text-decoration: none;
}

.zhiva-related-row__title a:hover {
    color: var(--zhiva-green, #2f6b45);
}

.zhiva-related-row__meta,
.zhiva-related-row__rating {
    margin: 0;
    color: #637089;
    font-size: 13px;
    line-height: 1.45;
}

.zhiva-related-row__rating {
    display: flex;
    gap: 6px;
    align-items: center;
    margin-top: 5px;
}

.zhiva-related-row__rating .stars,
.zhiva-related-row__rating .star,
.zhiva-related-row__rating svg {
    color: #d39435;
}

.zhiva-related-row__price {
    display: grid;
    justify-items: start;
    grid-column: 2;
    grid-row: 2;
    gap: 2px;
    white-space: nowrap;
}

.zhiva-related-row__price del {
    color: #9aa3b1;
    font-size: 12px;
}

.zhiva-related-row__price strong {
    color: var(--zhiva-blue, #13284c);
    font-size: 18px;
}

.zhiva-related-row__detail {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 8px 14px;
    border-radius: 999px;
    background: var(--zhiva-green, #2f6b45);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    transition: background .2s ease, transform .2s ease;
    grid-column: 2;
    grid-row: 3;
    justify-self: start;
    min-height: 30px;
    padding: 5px 10px;
    font-size: 11px;
}

.zhiva-related-row__body {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
}

.zhiva-related-row__meta,
.zhiva-related-row__rating {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zhiva-related-row__detail:hover {
    background: var(--zhiva-blue, #13284c);
    color: #fff;
    transform: translateX(2px);
}

@media (max-width: 639px) {
    .zhiva-related-products__head {
        align-items: start;
    }

    .zhiva-related-products__count {
        padding-top: 4px;
    }

    .zhiva-related-row {
        gap: 8px 10px;
    }

    .zhiva-related-row__media {
        width: 64px;
        height: 64px;
    }

    .zhiva-related-row__price {
        grid-column: 2;
        grid-row: 2;
        justify-items: start;
    }

    .zhiva-related-row__detail {
        grid-column: 2;
        grid-row: 3;
        justify-self: start;
    }
}

@media (min-width: 640px) and (max-width: 959px) {
    .zhiva-related-products__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 639px) {
    .zhiva-related-products__list { grid-template-columns: 1fr; }
}

@media (max-width: 959px) {
    .zhiva-route-ribbon__track {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zhiva-route-ribbon__item:nth-child(2) {
        border-right: 0;
    }

    .zhiva-route-ribbon__item:nth-child(-n + 2) {
        border-bottom: 1px solid var(--zhiva-line);
    }
}

@media (max-width: 639px) {
    .zhiva-route-ribbon {
        margin-top: -12px;
    }

    .zhiva-route-ribbon__track {
        display: flex;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .zhiva-route-ribbon__item {
        flex: 0 0 min(82vw, 300px);
        min-height: 132px;
        padding: 19px 20px;
        border-right: 1px solid var(--zhiva-line);
        border-bottom: 0;
        scroll-snap-align: start;
    }
}
/* Glossary index visual assembly: prototype order and list contract. */
.zhiva-glossary-index .zhiva-glossary-hero {
    position: relative;
    display: grid;
    max-width: none;
    width: 100%;
    grid-template-columns: minmax(0, 4fr) minmax(0, 6fr);
    gap: clamp(22px, 3vw, 42px);
    margin: 0 0 clamp(24px, 3vw, 40px);
    padding: clamp(20px, 3vw, 32px);
    border: 1px solid var(--zhiva-border);
    border-radius: 28px;
    background: #f4f7f2;
    text-align: left;
}

.zhiva-glossary-index .zhiva-glossary-hero__main { display: flex; flex-direction: column; justify-content: center; }

.zhiva-glossary-index .zhiva-glossary-hero h1 {
    max-width: 760px;
    margin: 0 0 14px;
    color: var(--zhiva-blue);
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(42px, 7vw, 72px);
    line-height: .95;
}

.zhiva-glossary-index .zhiva-glossary-hero p {
    max-width: 650px;
    margin: 0;
    color: #637089;
    font-size: clamp(16px, 2vw, 19px);
    line-height: 1.6;
}

.zhiva-glossary-index .zhiva-glossary-hero__meta { display: none; }

.zhiva-glossary-index .zhiva-glossary-tools {
    max-width: none;
    margin: clamp(24px, 4vw, 38px) 0 0;
}

.zhiva-glossary-index .zhiva-glossary-search { max-width: none; margin: 0; }
.zhiva-glossary-index .zhiva-glossary-search label {
    display: block;
    margin-bottom: 8px;
    color: var(--zhiva-blue);
    font-size: 13px;
    font-weight: 800;
}
.zhiva-glossary-index .zhiva-glossary-search input {
    min-height: 56px;
    border: 1px solid var(--zhiva-border);
    border-radius: 999px;
    box-shadow: 0 12px 30px rgba(19, 40, 76, .06);
}

.zhiva-glossary-index .zhiva-glossary-categories {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 0;
}

.zhiva-glossary-index .zhiva-glossary-hero__categories { display: flex; align-items: center; }

.zhiva-glossary-index .zhiva-glossary-category {
    position: relative;
    display: flex;
    min-height: 0;
    flex-direction: row;
    overflow: hidden;
    padding: 0;
    border: 1px solid var(--zhiva-border, #d9e0e3);
    border-radius: 18px;
    background: #fff;
    color: var(--zhiva-text);
    text-decoration: none;
    box-shadow: 0 8px 24px rgba(19, 40, 76, .06);
}
.zhiva-glossary-index .zhiva-glossary-category[data-glossary-category=""] { --zhiva-category-color: #7d8a98; --zhiva-category-tint: #f4f6f7; }
.zhiva-glossary-index .zhiva-glossary-category[data-glossary-category="bee-products"] { --zhiva-category-color: #87641e; --zhiva-category-tint: #f1dfad; }
.zhiva-glossary-index .zhiva-glossary-category[data-glossary-category="plant-extracts"] { --zhiva-category-color: #5b7650; --zhiva-category-tint: #dfe8d6; }
.zhiva-glossary-index .zhiva-glossary-category[data-glossary-category="oils-and-fats"] { --zhiva-category-color: #8b5b45; --zhiva-category-tint: #e6c8b8; }
.zhiva-glossary-index .zhiva-glossary-category[data-glossary-category="bases-and-actives"] { --zhiva-category-color: #55717a; --zhiva-category-tint: #d9e5e8; }
.zhiva-glossary-index .zhiva-glossary-category[data-glossary-category="inci-components"] { --zhiva-category-color: #75657f; --zhiva-category-tint: #e4dfe8; }
.zhiva-glossary-index .zhiva-glossary-category__body { background: var(--zhiva-category-tint, #fff); }
.zhiva-glossary-index .zhiva-glossary-category:hover,
.zhiva-glossary-index .zhiva-glossary-category:focus-visible { text-decoration: none; }
.zhiva-glossary-index .zhiva-glossary-category__media {
    flex: 0 0 38%;
    display: block;
    min-height: 116px;
    aspect-ratio: 500 / 375;
    overflow: hidden;
    background: var(--zhiva-glossary-category-image) center / cover no-repeat;
    filter: saturate(.82);
    transition: transform .3s ease;
}
.zhiva-glossary-index .zhiva-glossary-category:first-child .zhiva-glossary-category__media {
    background: var(--zhiva-cream, #f1f3ec);
}
.zhiva-glossary-index .zhiva-glossary-category:hover .zhiva-glossary-category__media { transform: scale(1.03); }
.zhiva-glossary-index .zhiva-glossary-category[aria-pressed="true"] {
    border-color: var(--zhiva-green, #5d8c31);
    background: #f1f6ed;
    box-shadow: 0 0 0 2px rgba(93, 140, 49, .18), 0 14px 28px rgba(19, 40, 76, .08);
}
.zhiva-glossary-index .zhiva-glossary-category__body { display: flex; flex: 1; flex-direction: column; justify-content: center; gap: 6px; padding: 14px; }
.zhiva-glossary-index .zhiva-glossary-category strong { color: var(--zhiva-blue); font-family: var(--font-serif, 'Cormorant Garamond', serif); font-size: 21px; line-height: 1.05; }
.zhiva-glossary-index .zhiva-glossary-category__count { color: #637089; font-size: 12px; font-weight: 600; }

.zhiva-glossary-index .zhiva-glossary-ingredients {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: clamp(30px, 5vw, 56px);
}
.zhiva-glossary-index .zhiva-glossary-ingredient {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--zhiva-border);
    border-radius: 16px;
    background: #fff;
    color: var(--zhiva-text);
    text-decoration: none;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.zhiva-glossary-index .zhiva-glossary-ingredient[data-category="bee-products"] { --zhiva-category-color: #87641e; --zhiva-category-tint: #f1dfad; }
.zhiva-glossary-index .zhiva-glossary-ingredient[data-category="plant-extracts"] { --zhiva-category-color: #5b7650; --zhiva-category-tint: #dfe8d6; }
.zhiva-glossary-index .zhiva-glossary-ingredient[data-category="oils-and-fats"] { --zhiva-category-color: #8b5b45; --zhiva-category-tint: #e6c8b8; }
.zhiva-glossary-index .zhiva-glossary-ingredient[data-category="bases-and-actives"] { --zhiva-category-color: #55717a; --zhiva-category-tint: #d9e5e8; }
.zhiva-glossary-index .zhiva-glossary-ingredient[data-category="inci-components"] { --zhiva-category-color: #75657f; --zhiva-category-tint: #e4dfe8; }
.zhiva-glossary-index .zhiva-glossary-ingredient { border-top: 3px solid var(--zhiva-category-color, #7d8a98); }
.zhiva-glossary-index .zhiva-glossary-ingredient:hover {
    transform: translateY(-3px);
    border-color: rgba(93, 140, 49, .45);
    box-shadow: 0 18px 34px rgba(19, 40, 76, .09);
    color: var(--zhiva-text);
}
.zhiva-glossary-index .zhiva-glossary-ingredient__media {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--zhiva-cream);
}
.zhiva-glossary-index .zhiva-glossary-ingredient__media img { width: 100%; height: 100%; object-fit: cover; }
.zhiva-glossary-index .zhiva-glossary-ingredient__placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    background: linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--zhiva-category-tint, #f7f5ed) 32%, #fff) 100%);
    color: color-mix(in srgb, var(--zhiva-category-color, #7d8a98) 28%, transparent);
    font-family: var(--font-serif, 'Cormorant Garamond', serif);
    font-size: 96px;
}
.zhiva-glossary-index .zhiva-glossary-ingredient .zhiva-list__body { display: flex; flex: 1; flex-direction: column; gap: 8px; padding: 18px; background: var(--zhiva-category-tint, #fff); }
.zhiva-glossary-index .zhiva-glossary-ingredient .zhiva-list__title { color: var(--zhiva-blue); font-family: var(--font-serif, 'Cormorant Garamond', serif); font-size: 24px; line-height: 1.05; }
.zhiva-glossary-index .zhiva-glossary-ingredient .zhiva-list__meta:first-child { color: var(--zhiva-category-color, var(--zhiva-green)); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.zhiva-glossary-index .zhiva-glossary-ingredient__link { margin-top: auto; color: var(--zhiva-blue); font-size: 13px; font-weight: 800; }
.zhiva-glossary-index [data-glossary-card][hidden] { display: none; }
.zhiva-glossary-index .zhiva-glossary-tools__empty { margin: 18px 0 0; color: #637089; text-align: center; }

@media (max-width: 1100px) {
    .zhiva-glossary-index .zhiva-glossary-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .zhiva-glossary-index .zhiva-glossary-ingredients { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    .zhiva-glossary-index .zhiva-glossary-categories { grid-template-columns: 1fr; }
    .zhiva-glossary-index .zhiva-glossary-ingredients { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .zhiva-glossary-index .zhiva-glossary-category__media { flex-basis: 40%; min-height: 100px; }
    .zhiva-glossary-index .zhiva-glossary-category__body { padding: 14px; }
    .zhiva-glossary-index .zhiva-glossary-category strong { font-size: 22px; }
    .zhiva-glossary-index .zhiva-glossary-ingredient .zhiva-list__body { padding: 14px; }
    .zhiva-glossary-index .zhiva-glossary-ingredient .zhiva-list__title { font-size: 21px; }
}
@media (max-width: 900px) {
    .zhiva-glossary-index .zhiva-glossary-hero { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 430px) {
    .zhiva-glossary-index .zhiva-glossary-categories,
    .zhiva-glossary-index .zhiva-glossary-ingredients { grid-template-columns: 1fr; }
}

/* Category product cards: visual contract based on the cart-empty popular-products card. */
.zhiva-category-products .jshop_list_product .block_product {
    margin-bottom: 0;
    padding-bottom: 0;
    transition: none;
}
.zhiva-category-products .jshop_list_product .block_product:hover {
    border-radius: 0;
    box-shadow: none;
}
:is(.zhiva-category-products, .zhiva-related-products) .zhiva-pcard {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 100%;
    padding: 16px;
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--zhiva-line, rgba(19, 40, 76, .12));
    border-radius: 12px;
    background: #f1f3f5;
    box-shadow: 0 8px 22px rgba(19, 40, 76, .04);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
:is(.zhiva-category-products, .zhiva-related-products) .zhiva-product-grid__item,
:is(.zhiva-category-products, .zhiva-related-products) .block_product {
    display: flex;
    min-width: 0;
}
:is(.zhiva-category-products, .zhiva-related-products) .zhiva-product-grid__item > .block_product,
:is(.zhiva-category-products, .zhiva-related-products) .block_product > .product {
    width: 100%;
}
:is(.zhiva-category-products, .zhiva-related-products) .block_product > .product {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}
:is(.zhiva-category-products, .zhiva-related-products) .zhiva-pcard:hover {
    transform: translateY(-3px) !important;
    border-color: rgba(93, 140, 49, .45);
    box-shadow: 0 18px 34px rgba(19, 40, 76, .09);
}
:is(.zhiva-category-products, .zhiva-related-products) .zhiva-pcard:hover .zhiva-pcard__media .jshop_img {
    transform: none;
}
:is(.zhiva-category-products, .zhiva-related-products) .zhiva-pcard__media {
    display: block;
    width: 100%;
    flex: 0 0 auto;
    aspect-ratio: 4 / 3;
    min-height: 0;
    border-radius: 12px;
    background: #f5f7f3;
    overflow: hidden;
}
:is(.zhiva-category-products, .zhiva-related-products) .zhiva-pcard__media .jshop_img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
    padding: 22px;
    box-sizing: border-box;
}
:is(.zhiva-category-products, .zhiva-related-products) .zhiva-pcard__body {
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: 7px;
    padding: 16px 0 0;
}
:is(.zhiva-category-products, .zhiva-related-products) .zhiva-pcard__badges {
    position: static;
    min-height: 18px;
}
:is(.zhiva-category-products, .zhiva-related-products) .zhiva-pcard__badge {
    padding: 3px 8px;
    border-radius: 999px;
    background: #f1f6ed;
    color: var(--zhiva-chlorophyll, #2f6b45);
    font-size: 10px;
}
:is(.zhiva-category-products, .zhiva-related-products) .zhiva-pcard__title {
    padding: 0;
    font-size: 16px;
    letter-spacing: 0;
}
:is(.zhiva-category-products, .zhiva-related-products) .zhiva-pcard__sub {
    padding: 0;
    font-size: 13px;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
:is(.zhiva-category-products, .zhiva-related-products) .zhiva-pcard__foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    padding: 16px 0 2px;
}
:is(.zhiva-category-products, .zhiva-related-products) .zhiva-pcard__price {
    font-size: 22px;
    color: var(--zhiva-blue, #13284c);
}
:is(.zhiva-category-products, .zhiva-related-products) .zhiva-pcard__buy {
    min-width: 88px;
    min-height: 44px;
    padding: 9px 14px;
    border: 1px solid var(--zhiva-line, rgba(19, 40, 76, .16));
    border-radius: 8px;
    background: #fff;
    color: var(--zhiva-blue, #13284c);
}
:is(.zhiva-category-products, .zhiva-related-products) .zhiva-pcard__buy:hover {
    background: var(--zhiva-green, #5d8c31);
    border-color: var(--zhiva-green, #5d8c31);
    color: #fff;
}

/* Dynamic blog index */
.zhiva-blog-dynamic { margin: 0 0 clamp(34px, 5vw, 62px); color: var(--zhiva-text, #25324A); }
.zhiva-blog-hero--index {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 6fr);
    gap: clamp(22px, 3vw, 42px);
    margin: 0 0 clamp(24px, 3vw, 40px);
    padding: clamp(20px, 3vw, 32px);
    border: 1px solid var(--zhiva-border, #d9e0e3);
    border-radius: 28px;
    background: #f4f7f2;
    text-align: left;
}
.zhiva-blog-hero__main { display: flex; flex-direction: column; justify-content: center; }
.zhiva-blog-eyebrow { display: block; margin-bottom: 14px; color: var(--zhiva-green, #5d8c31); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.zhiva-blog-hero--index h1 { max-width: 760px; margin: 0 0 14px; color: var(--zhiva-blue, #13284c); font-family: 'Cormorant Garamond', serif; font-size: clamp(42px, 5.5vw, 70px); line-height: .95; }
.zhiva-blog-hero--index p { max-width: 650px; margin: 0; color: #637089; font-size: clamp(16px, 2vw, 19px); line-height: 1.6; }
.zhiva-blog-hero__categories { display: flex; align-items: center; }
.zhiva-blog-category-grid { display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.zhiva-blog-category {
    position: relative;
    display: flex;
    min-height: 116px;
    overflow: hidden;
    padding: 0;
    border: 1px solid var(--zhiva-border, #d9e0e3);
    border-radius: 18px;
    background: #fff;
    color: var(--zhiva-text, #25324A);
    text-align: left;
    box-shadow: 0 8px 24px rgba(19, 40, 76, .06);
    cursor: pointer;
    transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}
.zhiva-blog-category:hover { transform: translateY(-2px); border-color: rgba(93, 140, 49, .45); box-shadow: 0 14px 28px rgba(19, 40, 76, .09); }
.zhiva-blog-category:focus-visible { outline: 3px solid rgba(93, 140, 49, .35); outline-offset: 3px; }
.zhiva-blog-category[aria-pressed="true"] { border-color: var(--zhiva-green, #5d8c31); background: #f1f6ed; box-shadow: 0 0 0 2px rgba(93, 140, 49, .18), 0 14px 28px rgba(19, 40, 76, .08); }
.zhiva-blog-category__media { flex: 0 0 38%; display: block; min-height: 116px; overflow: hidden; background: var(--zhiva-blog-category-image, linear-gradient(135deg, #eef1ea, #dfe8d6)) center / cover no-repeat; filter: saturate(.82); transition: transform .3s ease; }
.zhiva-blog-category:hover .zhiva-blog-category__media { transform: scale(1.03); }
.zhiva-blog-category:first-child .zhiva-blog-category__media { background: linear-gradient(135deg, #e9eee5, #cbd9c2); }
.zhiva-blog-category__body { display: flex; flex: 1; flex-direction: column; justify-content: center; gap: 6px; padding: 14px; background: var(--zhiva-blog-category-tint, #f4f6f7); }
.zhiva-blog-category strong { color: var(--zhiva-blue, #13284c); font-family: var(--font-serif, 'Cormorant Garamond', serif); font-size: 21px; line-height: 1.05; }
.zhiva-blog-category__count { color: #637089; font-size: 12px; font-weight: 600; }
.zhiva-blog-tools { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 0 0 18px; }
.zhiva-blog-search { flex: 1 1 320px; }
.zhiva-blog-search input { width: 100%; min-height: 48px; padding: 12px 16px; border: 1px solid #E7EAF0; border-radius: 14px; background: #fff; color: #25324A; }
.zhiva-blog-reset { min-height: 46px; padding: 10px 16px; border: 1px solid #E7EAF0; border-radius: 999px; background: #F6F3EC; color: #13284C; font-weight: 700; cursor: pointer; }
.zhiva-blog-tools__empty { flex-basis: 100%; margin: 0; padding: 16px 18px; border-radius: 16px; background: #F6F3EC; color: #637089; }
.zhiva-blog-filters { display: grid; gap: 16px; margin: 0 0 28px; padding: 20px; border: 1px solid #E7EAF0; border-radius: 22px; background: #FAFBFC; }
.zhiva-blog-filter-group { display: grid; gap: 9px; }
.zhiva-blog-filter-label { color: #637089; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.zhiva-blog-filter-list { display: flex; flex-wrap: wrap; gap: 8px; }
.zhiva-blog-filter, .zhiva-blog-tag { min-height: 36px; padding: 7px 12px; border: 1px solid #E7EAF0; border-radius: 999px; background: #fff; color: #25324A; font-size: 14px; font-weight: 700; cursor: pointer; }
.zhiva-blog-filter span, .zhiva-blog-tag span { color: #8B96A8; font-size: 12px; }
.zhiva-blog-filter[aria-pressed="true"], .zhiva-blog-tag[aria-pressed="true"] { border-color: #2F6B45; background: #2F6B45; color: #fff; }
.zhiva-blog-filter[aria-pressed="true"] span, .zhiva-blog-tag[aria-pressed="true"] span { color: rgba(255,255,255,.76); }
.zhiva-blog-results-head { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; margin: 0 0 16px; }
.zhiva-blog-results-head h2 { margin: 0; color: #13284C; font-size: clamp(25px, 3vw, 38px); }
.zhiva-blog-results-head > span { color: #637089; font-size: 14px; font-weight: 700; }
.zhiva-blog-card--dynamic { overflow: hidden; min-height: 0; padding: 0; }
.zhiva-blog-card__media { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: linear-gradient(135deg, #F6F3EC, #DCE8DE); }
.zhiva-blog-card__media img { width: 100%; height: 100%; object-fit: cover; }
.zhiva-blog-card__media > span { display: grid; height: 100%; place-items: center; color: #2F6B45; font-size: 54px; font-weight: 800; }
.zhiva-blog-card__body { display: flex; flex: 1; flex-direction: column; padding: 20px 22px 22px; }
.zhiva-blog-card__title, .zhiva-blog-card__intro, .zhiva-blog-card__tags, .zhiva-blog-card__more { display: block; }
.zhiva-blog-card__title { margin: 0 0 10px; color: #13284C; font-size: 22px; line-height: 1.16; }
.zhiva-blog-card__intro { margin-bottom: 14px; color: #637089; line-height: 1.55; }
.zhiva-blog-card__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; color: #2F6B45; font-size: 12px; font-weight: 700; }
.zhiva-blog-card__more { margin-top: auto; }
.zhiva-blog-card--dynamic.uk-card-surface {
    border: 1px solid #d9dde3;
    border-radius: 16px;
    background: #f1f2f4;
    box-shadow: none;
}
.zhiva-blog-card--dynamic.uk-card-surface:hover,
.zhiva-blog-card--dynamic.uk-card-surface:focus-visible {
    background: #f1f2f4;
    box-shadow: 0 14px 25px rgba(0, 0, 0, .16);
}
@media (max-width: 639px) {
    .zhiva-blog-hero--index { grid-template-columns: 1fr; gap: 24px; border-radius: 22px; }
    .zhiva-blog-category-grid { grid-template-columns: 1fr; gap: 12px; }
    .zhiva-blog-category { min-height: 100px; }
    .zhiva-blog-category__media { min-height: 100px; }
    .zhiva-blog-filters { padding: 16px; border-radius: 18px; }
    .zhiva-blog-results-head { display: block; }
    .zhiva-blog-results-head > span { display: block; margin-top: 6px; }
}

.zhiva-blog-article--editorial{max-width:820px;margin-inline:auto}.zhiva-blog-article__header{padding:0 0 clamp(28px,5vw,54px);border-bottom:1px solid #e7eaf0}.zhiva-blog-article__header h1{max-width:820px;margin:0;color:#13284c;font-family:Georgia,serif;font-size:clamp(38px,6vw,72px);line-height:1.02}.zhiva-blog-article__header .zhiva-blog-article__eyebrow{margin:0 0 14px;color:#5d8c31}.zhiva-blog-article--editorial .zhiva-blog-article__media{width:100%;margin:28px 0 24px;border-radius:18px;aspect-ratio:16/10;background:#f4f1e9}.zhiva-blog-article--editorial .zhiva-blog-article__lead{max-width:760px;margin:0;color:#536176;font-size:clamp(18px,2.2vw,24px);line-height:1.45}.zhiva-blog-article--editorial .zhiva-blog-article__meta{margin:18px 0 0;color:#7a8798;font-size:14px}.zhiva-blog-article--editorial .zhiva-blog-article__tags span{border-color:#d8dee7;color:#537d32}.zhiva-blog-article__body--editorial{max-width:none;margin-top:clamp(30px,5vw,58px)}.zhiva-blog-article__body--editorial .zhiva-article-body{margin:0}.zhiva-blog-article__body--editorial .zhiva-article-main{max-width:none}@media(max-width:639px){.zhiva-blog-article--editorial{padding-inline:0}.zhiva-blog-article--editorial .zhiva-blog-article__media{margin:22px 0 20px;border-radius:12px}.zhiva-blog-article__body--editorial{margin-top:30px}}
.zhiva-term-shell--blog .zhiva-blog-article__eyebrow{margin:0 0 12px;color:#5d8c31;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.zhiva-term-shell--blog .zhiva-blog-article__meta{margin:20px 0 0;color:#68768a;font-size:14px}.zhiva-term-shell--blog .zhiva-blog-article__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.zhiva-term-shell--blog .zhiva-blog-article__tags span{padding:6px 10px;border:1px solid rgba(19,40,76,.16);border-radius:999px;color:#537d32;font-size:13px}.zhiva-term-shell--blog .zhiva-term-shell__sidebar .zhiva-relation-cards{grid-template-columns:1fr}.zhiva-term-shell--blog .zhiva-term-shell__body{max-width:none}

/* The glossary article does not load JoomShopping CSS; keep its product cards fully styled. */
.zhiva-glossary-products .zhiva-pcard{box-sizing:border-box;display:flex;min-height:100%;flex-direction:column;overflow:hidden;gap:0;border:1px solid rgba(19,40,76,.12);border-radius:12px;background:#f1f3f5;color:var(--zhiva-blue,#13284c);box-shadow:0 8px 22px rgba(19,40,76,.04)}
.zhiva-glossary-products .zhiva-pcard__media{display:block;width:100%;min-height:0;overflow:hidden;aspect-ratio:4/3;border-radius:12px;background:#f5f7f3}
.zhiva-glossary-products .zhiva-pcard__media .jshop_img{display:block;box-sizing:border-box;width:100%;height:100%;padding:22px;object-fit:contain;mix-blend-mode:multiply}
.zhiva-glossary-products .zhiva-pcard__body{display:flex;flex:1;flex-direction:column;gap:7px;padding:16px 16px 0}
.zhiva-glossary-products .zhiva-pcard__title{display:-webkit-box;overflow:hidden;padding:0;color:var(--zhiva-blue,#13284c);font-size:16px;line-height:1.3;text-decoration:none;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.zhiva-glossary-products .zhiva-pcard__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding:16px}
.zhiva-glossary-products .zhiva-pcard__prices{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}
.zhiva-glossary-products .zhiva-pcard__price{color:var(--zhiva-blue,#13284c);font-size:22px;font-weight:800}
.zhiva-glossary-products .zhiva-pcard__price-old{color:#637089;font-size:13px;text-decoration:line-through}
.zhiva-glossary-products .zhiva-pcard__qty{display:flex;align-items:center}
.zhiva-glossary-products .zhiva-pcard__qty-btn,.zhiva-glossary-products .zhiva-pcard__qty-val{min-width:30px;height:30px;border:1px solid rgba(19,40,76,.12);background:#fff;color:var(--zhiva-blue,#13284c);text-align:center;line-height:28px}
.zhiva-glossary-products .zhiva-pcard__qty-btn{cursor:pointer}
.zhiva-glossary-products .zhiva-pcard__buy{display:inline-flex;min-width:88px;min-height:44px;align-items:center;justify-content:center;padding:9px 14px;border:1px solid rgba(19,40,76,.16);border-radius:8px;background:#fff;color:var(--zhiva-blue,#13284c);cursor:pointer}
.zhiva-glossary-products .zhiva-pcard__buy:hover{background:var(--zhiva-green,#5d8c31);color:#fff}

/* YOOtheme footer builder column correction */
.zhiva-site-footer > .uk-container > .uk-grid {
    display: grid !important;
    grid-template-columns: 1.15fr repeat(3, minmax(0, 1fr));
    gap: clamp(24px, 4vw, 56px);
    align-items: start;
}

.zhiva-site-footer > .uk-container > .uk-grid > * {
    width: auto !important;
    max-width: none !important;
}

.zhiva-site-footer h2,
.zhiva-site-footer h3 {
    color: #fff;
}

.zhiva-site-footer .uk-panel p {
    margin: 0 0 10px;
}

@media (max-width: 767px) {
    .zhiva-site-footer > .uk-container > .uk-grid {
        grid-template-columns: 1fr;
    }
}

/* ── Homepage choice hub · 2026-09-29 ────────────────────────────── */
.zhiva-homepage--choice-hub { background: #f6f3ec; color: #151b22; }
.zhiva-homepage--choice-hub .zhiva-home-hero { min-height: min(780px, calc(100dvh - 48px)); padding: clamp(32px, 5vw, 72px) 0; background: #f6f3ec; }
.zhiva-homepage--choice-hub .zhiva-home-hero::before { content: none; }
.zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__grid { grid-template-columns: minmax(0, .95fr) minmax(440px, 1.05fr); align-items: stretch; gap: clamp(28px, 5vw, 88px); }
.zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(20px, 3vw, 48px) 0; }
.zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__title { max-width: 790px; color: #151b22; font-size: clamp(54px, 6.6vw, 104px); letter-spacing: -.045em; line-height: .89; }
.zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__lead { max-width: 540px; color: #46515e; font-size: clamp(16px, 1.35vw, 20px); line-height: 1.55; }
.zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__actions { align-items: center; gap: 20px; }
.zhiva-homepage--choice-hub .zhiva-home-hero .uk-button-primary { border-color: #2f6b45; background: #2f6b45; }
.zhiva-homepage--choice-hub .zhiva-home-hero .uk-button-primary:hover,
.zhiva-homepage--choice-hub .zhiva-home-hero .uk-button-primary:focus-visible { border-color: #215137; background: #215137; }
.zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-inline-link { color: #13284c; font-weight: 800; }
.zhiva-homepage--choice-hub .zhiva-hero__scene { min-height: clamp(500px, 52vw, 700px); overflow: hidden; background: #e4e8e5; }
.zhiva-homepage--choice-hub .zhiva-hero__stone,
.zhiva-homepage--choice-hub .zhiva-hero__ingredient { display: none; }
.zhiva-homepage--choice-hub .zhiva-hero__product { border: 1px solid rgba(21, 27, 34, .12); border-radius: 0; background: #fff; box-shadow: none; }
.zhiva-homepage--choice-hub .zhiva-hero__note { border-radius: 0; border-color: rgba(21, 27, 34, .16); background: rgba(246, 243, 236, .92); color: #13284c; }

.zhiva-homepage--choice-hub .zhiva-choice-routes { scroll-margin-top: 76px; padding-top: clamp(76px, 11vw, 164px); }
.zhiva-homepage--choice-hub .zhiva-choice-routes__head { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(260px, .5fr); column-gap: clamp(24px, 7vw, 128px); align-items: end; margin-bottom: clamp(28px, 4vw, 54px); }
.zhiva-homepage--choice-hub .zhiva-choice-routes__head .zhiva-kicker,
.zhiva-homepage--choice-hub .zhiva-choice-routes__head .zhiva-section-title { grid-column: 1; }
.zhiva-homepage--choice-hub .zhiva-choice-routes__head .zhiva-section-title { margin: 4px 0 0; color: #151b22; font-size: clamp(42px, 5.4vw, 78px); letter-spacing: -.04em; line-height: .94; }
.zhiva-homepage--choice-hub .zhiva-choice-routes__head > p:last-child { grid-column: 2; grid-row: 1 / span 2; max-width: 360px; margin: 0 0 4px; color: #5d6670; font-size: 15px; line-height: 1.55; }
.zhiva-homepage--choice-hub .zhiva-choice-routes__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(245px, 1fr)); gap: 12px; }
.zhiva-homepage--choice-hub .zhiva-choice-route { position: relative; display: block; min-height: 245px; overflow: hidden; color: #fff; background: #13284c; isolation: isolate; text-decoration: none; }
.zhiva-homepage--choice-hub .zhiva-choice-route::after { position: absolute; z-index: 1; inset: 0; background: rgba(19, 40, 76, .3); content: ""; transition: background .28s ease; }
.zhiva-homepage--choice-hub .zhiva-choice-route:hover::after,
.zhiva-homepage--choice-hub .zhiva-choice-route:focus-visible::after { background: rgba(19, 40, 76, .16); }
.zhiva-homepage--choice-hub .zhiva-choice-route:focus-visible { outline: 3px solid #6aae33; outline-offset: 4px; }
.zhiva-homepage--choice-hub .zhiva-choice-route img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.zhiva-homepage--choice-hub .zhiva-choice-route:hover img,
.zhiva-homepage--choice-hub .zhiva-choice-route:focus-visible img { transform: scale(1.035); }
.zhiva-homepage--choice-hub .zhiva-choice-route > span { position: absolute; z-index: 2; right: clamp(18px, 2vw, 32px); bottom: clamp(18px, 2vw, 32px); left: clamp(18px, 2vw, 32px); display: grid; gap: 7px; }
.zhiva-homepage--choice-hub .zhiva-choice-route small { font-size: 11px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.zhiva-homepage--choice-hub .zhiva-choice-route strong { max-width: 460px; font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(27px, 2.7vw, 46px); font-weight: 600; letter-spacing: -.02em; line-height: .94; }
.zhiva-homepage--choice-hub .zhiva-choice-route em { font-size: 13px; font-style: normal; line-height: 1.35; opacity: .9; }
.zhiva-homepage--choice-hub .zhiva-choice-route--care { grid-column: span 5; grid-row: span 2; min-height: 520px; }
.zhiva-homepage--choice-hub .zhiva-choice-route--bee { grid-column: span 7; }
.zhiva-homepage--choice-hub .zhiva-choice-route--ritual { grid-column: span 3; }
.zhiva-homepage--choice-hub .zhiva-choice-route--gift { grid-column: span 4; }
.zhiva-homepage--choice-hub .zhiva-choice-route--ritual strong,
.zhiva-homepage--choice-hub .zhiva-choice-route--gift strong { font-size: clamp(24px, 2.1vw, 34px); }

.zhiva-homepage--choice-hub .zhiva-products-section--curated { padding-top: clamp(82px, 11vw, 156px); }
.zhiva-homepage--choice-hub .zhiva-home-section-head__note { max-width: 270px; margin: 0 0 4px auto; color: #5d6670; font-size: 14px; line-height: 1.45; }
.zhiva-homepage--choice-hub .zhiva-home-products--curated .zhiva-home-products { gap: 0; border-top: 1px solid #cbd2d8; }
.zhiva-homepage--choice-hub .zhiva-home-products--curated .zhiva-product-card--home { border: 0; border-right: 1px solid #cbd2d8; border-radius: 0; background: transparent; box-shadow: none; }
.zhiva-homepage--choice-hub .zhiva-home-products--curated .zhiva-product-card--home:last-child { border-right: 0; }
.zhiva-homepage--choice-hub .zhiva-home-products--curated .zhiva-product-card__media { height: clamp(210px, 23vw, 340px); padding: clamp(16px, 2vw, 28px); border-radius: 0; background: #fff; }
.zhiva-homepage--choice-hub .zhiva-home-products--curated .zhiva-product-card__body { padding: 20px 18px 24px; }
.zhiva-homepage--choice-hub .zhiva-home-products--curated .zhiva-product-card__more { color: #2f6b45; }
.zhiva-homepage--choice-hub .zhiva-home-products--curated .zhiva-product-card__description,
.zhiva-homepage--choice-hub .zhiva-products-section--new .zhiva-product-card__description { display: none; }
.zhiva-homepage--choice-hub .zhiva-section-link--below { display: inline-flex; margin-top: 24px; }

.zhiva-homepage--choice-hub .zhiva-brand-ingredients { margin-top: clamp(42px, 7vw, 96px); background: #dde5e1; }
.zhiva-homepage--choice-hub .zhiva-brand-ingredients__grid { align-items: stretch; }
.zhiva-homepage--choice-hub .zhiva-brand-ingredients__media { min-height: clamp(360px, 42vw, 620px); }
.zhiva-homepage--choice-hub .zhiva-brand-ingredients__copy { align-self: center; padding: clamp(36px, 6vw, 96px) clamp(24px, 5vw, 80px); }
.zhiva-homepage--choice-hub .zhiva-brand-ingredients__copy .zhiva-section-title { color: #151b22; font-size: clamp(40px, 4.9vw, 72px); letter-spacing: -.04em; line-height: .92; }
.zhiva-homepage--choice-hub .zhiva-products-section--new,
.zhiva-homepage--choice-hub .zhiva-reading-section { background: transparent; }

@media (max-width: 959px) {
    .zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__grid { grid-template-columns: 1fr; gap: 24px; }
    .zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__copy { padding-bottom: 0; }
    .zhiva-homepage--choice-hub .zhiva-choice-route--care { min-height: 472px; }
}

@media (max-width: 639px) {
    .zhiva-homepage--choice-hub .zhiva-home-hero { min-height: auto; padding-top: 28px; padding-bottom: 0; }
    .zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__copy { padding-top: 0; }
    .zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__title { font-size: clamp(40px, 11.7vw, 50px); }
    .zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__lead { font-size: 16px; }
    .zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__actions { align-items: stretch; flex-direction: column; gap: 14px; }
    .zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-inline-link { min-height: 44px; justify-content: center; }
    .zhiva-homepage--choice-hub .zhiva-hero__scene { min-height: 360px; margin: 0 -16px; }
    .zhiva-homepage--choice-hub .zhiva-hero__product { width: 128px; height: 172px; }
    .zhiva-homepage--choice-hub .zhiva-choice-routes { padding-top: 80px; }
    .zhiva-homepage--choice-hub .zhiva-choice-routes__head { display: block; margin-bottom: 28px; }
    .zhiva-homepage--choice-hub .zhiva-choice-routes__head .zhiva-section-title { font-size: 48px; }
    .zhiva-homepage--choice-hub .zhiva-choice-routes__head > p:last-child { margin-top: 18px; }
    .zhiva-homepage--choice-hub .zhiva-choice-routes__grid { grid-template-columns: 1fr; grid-template-rows: none; gap: 10px; }
    .zhiva-homepage--choice-hub .zhiva-choice-route,
    .zhiva-homepage--choice-hub .zhiva-choice-route--care,
    .zhiva-homepage--choice-hub .zhiva-choice-route--bee,
    .zhiva-homepage--choice-hub .zhiva-choice-route--ritual,
    .zhiva-homepage--choice-hub .zhiva-choice-route--gift { grid-column: auto; grid-row: auto; min-height: 320px; }
    .zhiva-homepage--choice-hub .zhiva-choice-route strong,
    .zhiva-homepage--choice-hub .zhiva-choice-route--ritual strong,
    .zhiva-homepage--choice-hub .zhiva-choice-route--gift strong { font-size: 36px; }
    .zhiva-homepage--choice-hub .zhiva-home-section-head__note { margin: 12px 0 0; }
    .zhiva-homepage--choice-hub .zhiva-home-products--curated .zhiva-home-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .zhiva-homepage--choice-hub .zhiva-home-products--curated .zhiva-product-card--home:nth-child(2n) { border-right: 0; }
    .zhiva-homepage--choice-hub .zhiva-home-products--curated .zhiva-product-card__media { height: 190px; padding: 12px; }
    .zhiva-homepage--choice-hub .zhiva-home-products--curated .zhiva-product-card__body { padding: 14px 10px 18px; }
    .zhiva-homepage--choice-hub .zhiva-brand-ingredients { margin-inline: -16px; }
    .zhiva-homepage--choice-hub .zhiva-brand-ingredients__copy { padding: 36px 24px 48px; }
    .zhiva-homepage--choice-hub .zhiva-brand-ingredients__copy .zhiva-section-title { font-size: 46px; }
}



/* ── Compact fixed header and catalog mega menu ───────────────────── */
.tm-header,
.tm-header-mobile {
    z-index: 1300;
    overflow: visible;
    border-bottom-color: rgba(19, 40, 76, .12);
    background: rgba(246, 243, 236, .78);
    box-shadow: 0 8px 28px rgba(19, 40, 76, .07);
    -webkit-backdrop-filter: blur(18px) saturate(1.1);
    backdrop-filter: blur(18px) saturate(1.1);
}

.tm-header:not(.tm-header-stacked) .tm-headerbar-top {
    padding-top: 8px;
    padding-bottom: 8px;
}

.tm-header:not(.tm-header-stacked) .uk-navbar-container,
.tm-header.tm-header-stacked .uk-navbar-container {
    border-top: 0;
}

.tm-header:not(.tm-header-stacked) .uk-navbar-item,
.tm-header:not(.tm-header-stacked) .uk-navbar-toggle {
    min-height: 48px;
}

.zhiva-catalog-menu {
    position: relative;
    display: flex;
    align-items: center;
}

.zhiva-catalog-menu__toggle {
    display: inline-flex;
    min-width: 126px;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 17px;
    border: 0;
    border-radius: 999px;
    box-shadow: 0 8px 18px rgba(15, 101, 160, .18);
}

.zhiva-catalog-menu__panel {
    position: fixed;
    z-index: 1450;
    top: 64px;
    left: 50%;
    display: grid;
    width: min(1180px, calc(100vw - 32px));
    max-height: min(720px, calc(100vh - 82px));
    grid-template-columns: minmax(0, 1fr) 208px;
    overflow: auto;
    border: 1px solid rgba(19, 40, 76, .13);
    border-radius: 20px;
    background: rgba(255, 255, 255, .95);
    box-shadow: 0 24px 60px rgba(19, 40, 76, .22);
    transform: translateX(-50%);
    -webkit-backdrop-filter: blur(20px) saturate(1.08);
    backdrop-filter: blur(20px) saturate(1.08);
}

.zhiva-catalog-menu__panel[hidden],
.zhiva-catalog-menu__category-panel[hidden] {
    display: none;
}

.zhiva-catalog-menu__head {
    display: none;
}

.zhiva-catalog-menu__desktop {
    display: grid;
    min-height: 420px;
    grid-template-columns: 230px minmax(0, 1fr);
}

.zhiva-catalog-menu__roots {
    display: grid;
    align-content: start;
    gap: 3px;
    padding: 18px 12px;
    border-right: 1px solid rgba(19, 40, 76, .1);
    background: rgba(246, 243, 236, .72);
}

.zhiva-catalog-menu__root {
    width: 100%;
    min-height: 38px;
    padding: 8px 12px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: var(--zhiva-blue);
    font: inherit;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.25;
    text-align: left;
    cursor: pointer;
}

.zhiva-catalog-menu__root:hover,
.zhiva-catalog-menu__root:focus-visible,
.zhiva-catalog-menu__root.is-active {
    background: rgba(13, 101, 160, .11);
    color: var(--zhiva-blue);
    outline: 0;
}

.zhiva-catalog-menu__content {
    padding: 18px 20px 20px;
}

.zhiva-catalog-menu__category-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.zhiva-catalog-menu__category-head h2 {
    margin: 0;
    color: var(--zhiva-blue);
    font-size: 24px;
    line-height: 1.1;
}

.zhiva-catalog-menu__category-title {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 10px;
}

.zhiva-catalog-menu__category-image {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    border-radius: 10px;
    object-fit: cover;
    box-shadow: 0 6px 16px rgba(19, 40, 76, .12);
}

.zhiva-catalog-menu__category-head a,
.zhiva-catalog-menu__all {
    color: var(--zhiva-blue-soft);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.zhiva-catalog-menu__category-head a:hover,
.zhiva-catalog-menu__all:hover {
    color: var(--zhiva-chlorophyll);
}

.zhiva-catalog-menu__groups {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px 14px;
}

.zhiva-catalog-menu__group > a {
    display: block;
    margin-bottom: 7px;
    color: var(--zhiva-blue);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.3;
    text-decoration: none;
}

.zhiva-catalog-menu__group {
    position: relative;
    min-height: 72px;
    overflow: hidden;
    padding: 8px 10px;
    border: 1px solid rgba(19, 40, 76, .07);
    border-radius: 10px;
    background: rgba(246, 243, 236, .42);
}

.zhiva-catalog-menu__group-link {
    position: relative;
    z-index: 1;
    display: block !important;
    min-height: 38px;
    margin: -8px -10px 5px !important;
    padding: 8px 52px 7px 10px;
}

.zhiva-catalog-menu__group-link > span {
    position: relative;
    z-index: 1;
}

.zhiva-catalog-menu__group-image {
    position: absolute;
    right: 2px;
    bottom: -10px;
    z-index: 0;
    width: 88px;
    height: 88px;
    object-fit: contain;
    opacity: .48;
    filter: saturate(1.08) contrast(1.04);
    mix-blend-mode: multiply;
    pointer-events: none;
}

.zhiva-catalog-menu__group > a:hover,
.zhiva-catalog-menu__links a:hover {
    color: var(--zhiva-chlorophyll);
}

.zhiva-catalog-menu__links {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.zhiva-catalog-menu__links a {
    color: var(--zhiva-muted);
    font-size: 13px;
    line-height: 1.3;
    text-decoration: none;
}

.zhiva-catalog-menu__links--depth-1 {
    margin: 7px 0 0 10px;
}

.zhiva-catalog-menu__services {
    display: grid;
    align-content: start;
    gap: 13px;
    padding: 25px 22px;
    border-left: 1px solid rgba(19, 40, 76, .1);
    background: rgba(246, 243, 236, .56);
}

.zhiva-catalog-menu__services > strong {
    color: var(--zhiva-blue);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.zhiva-catalog-menu__services > div {
    display: grid;
    gap: 10px;
}

.zhiva-catalog-menu__services a {
    color: var(--zhiva-blue-soft);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
}

.zhiva-catalog-menu__services a:hover {
    color: var(--zhiva-chlorophyll);
}

.zhiva-catalog-menu__mobile,
.zhiva-catalog-menu__mobile-account {
    display: none;
}

.zhiva-header-search {
    width: min(340px, 28vw);
}

.zhiva-header-phone {
    min-width: 154px;
}

.zhiva-header-actions {
    grid-template-columns: repeat(3, 48px);
    gap: 8px;
}

.zhiva-header-action {
    font-size: 10px;
}

.zhiva-ajax-product-search__results {
    z-index: 1500;
}

@media (max-width: 1199px) {
    .zhiva-header-action > span:last-child {
        display: none;
    }

    .zhiva-header-actions {
        grid-template-columns: repeat(3, 38px);
        gap: 4px;
    }

    .zhiva-header-search {
        width: min(300px, 26vw);
    }
}

@media (max-width: 959px) {
    body.zhiva-catalog-menu-open {
        overflow: hidden;
    }

    .zhiva-catalog-menu__toggle {
        min-width: 40px;
        width: 40px;
        min-height: 40px;
        padding: 0;
    }

    .zhiva-catalog-menu__toggle > span:last-child {
        display: none;
    }

    .zhiva-catalog-menu__panel {
        top: 64px;
        left: 0;
        width: 100vw;
        max-height: calc(100vh - 64px);
        grid-template-columns: 1fr;
        border-width: 1px 0 0;
        border-radius: 0;
        transform: none;
    }

    .zhiva-catalog-menu__head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 16px 18px;
        border-bottom: 1px solid rgba(19, 40, 76, .1);
        color: var(--zhiva-blue);
    }

    .zhiva-catalog-menu__desktop {
        display: none;
    }

    .zhiva-catalog-menu__mobile {
        display: grid;
        gap: 0;
        padding: 4px 18px 18px;
    }

    .zhiva-catalog-menu__accordion {
        border-bottom: 1px solid rgba(19, 40, 76, .1);
    }

    .zhiva-catalog-menu__accordion summary {
        display: flex;
        min-height: 52px;
        align-items: center;
        justify-content: space-between;
        color: var(--zhiva-blue);
        font-size: 16px;
        font-weight: 800;
        cursor: pointer;
        list-style: none;
    }

    .zhiva-catalog-menu__accordion-summary {
        display: inline-flex;
        min-width: 0;
        align-items: center;
        gap: 10px;
    }

    .zhiva-catalog-menu__accordion-image {
        width: 42px;
        height: 42px;
        flex: 0 0 42px;
        border-radius: 9px;
        object-fit: cover;
    }

    .zhiva-catalog-menu__accordion summary::-webkit-details-marker {
        display: none;
    }

    .zhiva-catalog-menu__accordion summary::after {
        content: '⌄';
        color: var(--zhiva-muted);
        font-size: 18px;
        transition: transform .18s ease;
    }

    .zhiva-catalog-menu__accordion[open] summary::after {
        transform: rotate(180deg);
    }

    .zhiva-catalog-menu__accordion .zhiva-catalog-menu__links {
        gap: 10px;
        padding: 0 0 16px;
    }

    .zhiva-catalog-menu__accordion .zhiva-catalog-menu__links a {
        font-size: 14px;
    }

    .zhiva-catalog-menu__all {
        display: block;
        margin: -4px 0 14px;
    }

    .zhiva-catalog-menu__services {
        gap: 10px;
        padding: 18px;
        border-top: 1px solid rgba(19, 40, 76, .1);
        border-left: 0;
    }

    .zhiva-catalog-menu__mobile-account {
        display: grid !important;
        gap: 10px;
        margin-top: 5px;
        padding-top: 14px;
        border-top: 1px solid rgba(19, 40, 76, .1);
    }

    .zhiva-mobile-search-module {
        position: relative;
        width: 40px;
    }

    .zhiva-mobile-search-module .zhiva-ajax-product-search,
    .zhiva-mobile-search-module .uk-search,
    .zhiva-mobile-search-module .uk-search-input {
        width: 40px;
    }

    .zhiva-mobile-search-module .uk-search-input {
        min-height: 40px;
        padding: 0;
        border: 0;
        border-radius: 999px;
        color: transparent;
        cursor: pointer;
    }

    .zhiva-mobile-search-module .uk-search-input:focus {
        position: fixed;
        z-index: 1510;
        top: 74px;
        left: 12px;
        width: calc(100vw - 24px);
        padding: 0 16px 0 42px;
        border: 1px solid rgba(19, 40, 76, .18);
        background: #fff;
        color: var(--zhiva-blue);
        box-shadow: 0 16px 36px rgba(19, 40, 76, .22);
        cursor: text;
    }

    .zhiva-mobile-search-module .uk-search > span {
        pointer-events: none;
    }

    .zhiva-mobile-search-module .zhiva-ajax-product-search__results {
        position: fixed;
        z-index: 1505;
        top: 122px;
        right: 12px;
        left: 12px;
        width: auto;
    }

    .zhiva-header-phone-call {
        color: var(--zhiva-blue);
    }
}

/* Keep the outer header in the viewport when UIkit's nested sticky wrapper is scrolled. */
.tm-header,
.tm-header-mobile {
    position: sticky;
    top: 0;
}

.tm-header > .uk-sticky,
.tm-header-mobile > .uk-sticky {
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    margin-top: 0 !important;
}

/* Keep the logo, catalog and search as one left-aligned group. */
@media (min-width: 960px) {
    .tm-header .uk-navbar {
        justify-content: flex-start;
    }

    .tm-header .uk-navbar-left {
        flex: 0 0 auto;
    }

    .tm-header .uk-navbar-right {
        display: flex;
        flex: 1 1 auto;
        min-width: 0;
        margin-left: 0;
        justify-content: flex-start;
    }

    .tm-header .zhiva-header-catalog-module,
    .tm-header .zhiva-header-search-module {
        flex: 0 0 auto;
    }

    .tm-header .zhiva-header-catalog-module {
        margin-left: 14px !important;
    }

    .tm-header .zhiva-header-phone-module {
        margin-left: auto !important;
    }

    .tm-header .zhiva-header-actions-module {
        flex: 0 0 auto;
    }
}

/* Homepage production hero: one editorial photo across the viewport. */
.zhiva-homepage--choice-hub.zhiva-shell {
    overflow: visible;
}

.tm-main:has(.zhiva-homepage--choice-hub) {
    padding-top: 0;
    background: #f7f5ef;
}

.zhiva-homepage--choice-hub .zhiva-home-hero {
    position: relative;
    min-height: clamp(560px, 65vw, 820px);
    margin-inline: calc(50% - 50vw);
    padding: 0;
    overflow: hidden;
    isolation: isolate;
    background: #21170f;
}

.zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__media {
    position: absolute;
    z-index: 0;
    inset: 0;
    display: block;
}

.zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__overlay {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(90deg, rgba(18, 12, 8, .82) 0%, rgba(18, 12, 8, .52) 42%, rgba(18, 12, 8, .08) 76%, rgba(18, 12, 8, .18) 100%);
}

.zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__inner {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: clamp(560px, 65vw, 820px);
    align-items: center;
    box-sizing: border-box;
    padding-inline: clamp(24px, 4vw, 64px);
}

.zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__grid {
    display: block;
    width: 100%;
}

.zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__copy {
    max-width: min(660px, 58vw);
    padding: clamp(28px, 6vw, 84px) 0;
    color: #fff;
}

.zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-kicker {
    color: #f6c36e;
}

.zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__title,
.zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__lead {
    color: #fff;
}

.zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__title {
    max-width: 650px;
    font-size: clamp(48px, 6.6vw, 104px);
    letter-spacing: -.045em;
    line-height: .91;
}

.zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__lead {
    max-width: 560px;
    color: rgba(255, 255, 255, .84);
}

.zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-inline-link {
    color: #fff;
}

.zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-inline-link:focus-visible,
.zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-inline-link:hover {
    color: #f6c36e;
}

.zhiva-homepage--choice-hub .zhiva-products-section--promo:not(:has(.zhiva-home-products)) {
    display: none;
}

@media (max-width: 639px) {
    .zhiva-homepage--choice-hub .zhiva-home-hero,
    .zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__inner {
        min-height: 650px;
    }

    .zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__media img {
        object-position: 62% center;
    }

    .zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__overlay {
        background: linear-gradient(180deg, rgba(18, 12, 8, .48) 0%, rgba(18, 12, 8, .68) 48%, rgba(18, 12, 8, .9) 100%);
    }

    .zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__copy {
        max-width: 100%;
        padding: 52px 0 44px;
    }

    .zhiva-homepage--choice-hub .zhiva-home-hero .zhiva-hero__title {
        font-size: clamp(42px, 12vw, 58px);
    }
}

/* Keep the desktop header at the agreed 70–71px rhythm. */
@media (min-width: 960px) {
    .tm-header:not(.tm-header-stacked) .uk-navbar-item,
    .tm-header:not(.tm-header-stacked) .uk-navbar-toggle {
        min-height: 70px;
    }

    .tm-header .uk-logo img {
        height: 46px;
    }

    .tm-header .zhiva-header-search .uk-search-default {
        width: 100%;
    }

    .tm-header .zhiva-header-search .uk-search-input {
        height: 44px;
    }

    .tm-header .zhiva-catalog-menu__panel {
        top: 78px;
        max-height: min(720px, calc(100vh - 96px));
    }
}

/* ── Homepage editorial finish · 2026-10-02 ─────────────────────── */
.zhiva-homepage--choice-hub {
    --zhiva-home-ink: #13284c;
    --zhiva-home-muted: #607086;
    --zhiva-home-line: #d7dde1;
    --zhiva-home-cream: #f6f3ec;
    --zhiva-home-sage: #e8f0eb;
    background: #f7f5ef;
}

.zhiva-homepage--choice-hub .zhiva-section-title {
    color: var(--zhiva-home-ink);
    letter-spacing: -.035em;
}

.zhiva-homepage--choice-hub .zhiva-kicker {
    letter-spacing: .12em;
}

.zhiva-homepage--choice-hub .uk-container-xlarge {
    box-sizing: border-box;
}

.zhiva-homepage--choice-hub .zhiva-home-trust {
    padding-block: 18px;
    background: transparent;
}

.zhiva-homepage--choice-hub .zhiva-home-trust .uk-container {
    overflow: hidden;
    border: 1px solid var(--zhiva-home-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(19, 40, 76, .06);
}

.zhiva-homepage--choice-hub .zhiva-home-trust .uk-container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.zhiva-homepage--choice-hub .zhiva-home-trust a {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 14px;
    min-width: 0;
    align-items: center;
    min-height: 80px;
    padding: 22px 24px;
    border-right: 1px solid var(--zhiva-home-line);
    color: var(--zhiva-home-ink);
    text-decoration: none;
}

.zhiva-homepage--choice-hub .zhiva-home-trust a:first-child { border-left: 1px solid var(--zhiva-home-line); }
.zhiva-homepage--choice-hub .zhiva-home-trust a:hover,
.zhiva-homepage--choice-hub .zhiva-home-trust a:focus-visible { background: var(--zhiva-home-cream); }
.zhiva-homepage--choice-hub .zhiva-home-trust a:focus-visible { outline: 3px solid #6aae33; outline-offset: -3px; }
.zhiva-homepage--choice-hub .zhiva-home-trust strong { color: #527090; font: 600 25px/1 "Cormorant Garamond", Georgia, serif; }
.zhiva-homepage--choice-hub .zhiva-home-trust span { display: grid; min-width: 0; gap: 4px; }
.zhiva-homepage--choice-hub .zhiva-home-trust b { font-size: 13px; line-height: 1.2; }
.zhiva-homepage--choice-hub .zhiva-home-trust small { overflow: hidden; color: #69778a; font-size: 11px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.zhiva-homepage--choice-hub .zhiva-home-trust em { color: #2f6b45; font-size: 20px; font-style: normal; }

.zhiva-homepage--choice-hub .zhiva-choice-routes {
    padding-block: 84px 92px;
    background: transparent;
}

.zhiva-homepage--choice-hub .zhiva-choice-routes__head {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, .5fr);
    column-gap: clamp(24px, 7vw, 128px);
    align-items: end;
    margin-bottom: 32px;
}
.zhiva-homepage--choice-hub .zhiva-choice-routes__head .zhiva-kicker,
.zhiva-homepage--choice-hub .zhiva-choice-routes__head .zhiva-section-title { grid-column: 1; }
.zhiva-homepage--choice-hub .zhiva-choice-routes__head .zhiva-section-title { max-width: 760px; text-wrap: balance; }
.zhiva-homepage--choice-hub .zhiva-choice-routes__head > p:last-child {
    grid-column: 2;
    grid-row: 1 / span 2;
    max-width: 360px;
    margin: 0 0 4px;
    color: var(--zhiva-home-muted);
    font-size: 15px;
    line-height: 1.55;
}
.zhiva-homepage--choice-hub .zhiva-choice-routes__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(320px, 360px));
    gap: 18px;
}
.zhiva-homepage--choice-hub .zhiva-choice-route,
.zhiva-homepage--choice-hub .zhiva-choice-route--care,
.zhiva-homepage--choice-hub .zhiva-choice-route--bee,
.zhiva-homepage--choice-hub .zhiva-choice-route--ritual,
.zhiva-homepage--choice-hub .zhiva-choice-route--gift { grid-column: auto; grid-row: auto; min-height: 0; }
.zhiva-homepage--choice-hub .zhiva-choice-route {
    border: 1px solid rgba(19, 40, 76, .12);
    border-radius: 22px;
    box-shadow: 0 18px 34px rgba(19, 40, 76, .12);
    transition: box-shadow .25s ease, transform .25s ease;
}
.zhiva-homepage--choice-hub .zhiva-choice-route:hover,
.zhiva-homepage--choice-hub .zhiva-choice-route:focus-visible { box-shadow: 0 24px 46px rgba(19, 40, 76, .18); transform: translateY(-3px); }
.zhiva-homepage--choice-hub .zhiva-choice-route > span { gap: 8px; }
.zhiva-homepage--choice-hub .zhiva-choice-route strong { text-wrap: balance; }
.zhiva-homepage--choice-hub .zhiva-choice-route em { color: rgba(255,255,255,.86) !important; }

.zhiva-homepage--choice-hub .zhiva-products-section--curated,
.zhiva-homepage--choice-hub .zhiva-products-section--ritual,
.zhiva-homepage--choice-hub .zhiva-products-section--new,
.zhiva-homepage--choice-hub .zhiva-products-section--promo {
    padding-block: 84px 92px;
    background: transparent;
}

.zhiva-homepage--choice-hub .zhiva-home-section-head {
    align-items: end;
    margin-bottom: 26px;
}
.zhiva-homepage--choice-hub .zhiva-home-section-head .zhiva-section-title { text-wrap: balance; }
.zhiva-homepage--choice-hub .zhiva-home-section-head__lead { max-width: 620px; margin: 16px 0 0; color: var(--zhiva-home-muted); font-size: 15px; line-height: 1.6; }
.zhiva-homepage--choice-hub .zhiva-home-products.zhiva-product-grid { gap: 18px; }
.zhiva-homepage--choice-hub .zhiva-product-card--home {
    border: 1px solid var(--zhiva-home-line) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 10px 22px rgba(19, 40, 76, .06) !important;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.zhiva-homepage--choice-hub .zhiva-product-card--home:hover,
.zhiva-homepage--choice-hub .zhiva-product-card--home:focus-within { border-color: #2f6b45 !important; box-shadow: 0 18px 32px rgba(19, 40, 76, .14) !important; transform: translateY(-4px); }
.zhiva-homepage--choice-hub .zhiva-product-card--home .zhiva-product-card__media { height: 260px; border-bottom: 1px solid var(--zhiva-home-line); background: linear-gradient(180deg, #fff 0%, #f7f8f5 100%); }
.zhiva-homepage--choice-hub .zhiva-product-card--home .zhiva-product-card__body { padding: 17px 16px 19px; }
.zhiva-homepage--choice-hub .zhiva-product-card--home .zhiva-product-card__body strong { min-height: 3.1em; font-size: 14px; }

.zhiva-homepage--choice-hub .zhiva-brand-ingredients {
    margin-block: 18px;
    padding-block: 0 !important;
    overflow: hidden;
    border-radius: 28px;
    background: #13284c;
    color: #fff;
    box-shadow: 0 20px 42px rgba(19, 40, 76, .14);
}

.zhiva-homepage--choice-hub .zhiva-brand-ingredients__grid { gap: 0; }
.zhiva-homepage--choice-hub .zhiva-brand-ingredients__media { min-height: 470px; border: 0; border-radius: 0; background: #e8e4d8; box-shadow: none; }
.zhiva-homepage--choice-hub .zhiva-brand-ingredients__media img { mix-blend-mode: multiply; }
.zhiva-homepage--choice-hub .zhiva-brand-ingredients__copy { padding: 76px clamp(32px, 6vw, 104px); }
.zhiva-homepage--choice-hub .zhiva-brand-ingredients__copy .zhiva-kicker { color: #a4c7d8; }
.zhiva-homepage--choice-hub .zhiva-brand-ingredients__copy .zhiva-section-title { color: #fff; }
.zhiva-homepage--choice-hub .zhiva-brand-ingredients__copy p:not(.zhiva-kicker) { color: #d7e0e9; font-size: 17px; }
.zhiva-homepage--choice-hub .zhiva-proof-list { display: grid; gap: 0; margin: 28px 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.24); }
.zhiva-homepage--choice-hub .zhiva-proof-list li { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 14px; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.24); }
.zhiva-homepage--choice-hub .zhiva-proof-list strong { color: #a4c7d8; font: 600 22px/1 "Cormorant Garamond", Georgia, serif; }
.zhiva-homepage--choice-hub .zhiva-proof-list span { display: grid; gap: 4px; }
.zhiva-homepage--choice-hub .zhiva-proof-list b { color: #fff; font-size: 13px; line-height: 1.3; }
.zhiva-homepage--choice-hub .zhiva-proof-list small { color: #d7e0e9; font-size: 12px; line-height: 1.45; }
.zhiva-homepage--choice-hub .zhiva-brand-ingredients__links .uk-button-default { border-color: #fff; background: #fff; color: #13284c; }
.zhiva-homepage--choice-hub .zhiva-brand-ingredients__links .uk-button-default:hover { background: #dbe5ea; }

.zhiva-homepage--choice-hub .zhiva-reading-section { padding-block: 84px 92px; background: transparent; }
.zhiva-homepage--choice-hub .zhiva-reading-section__intro { max-width: 560px; margin: 18px 0 0; color: #5d6670; font-size: 15px; line-height: 1.6; }
.zhiva-homepage--choice-hub .zhiva-reading-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(270px, .82fr); gap: 14px; }
.zhiva-homepage--choice-hub .zhiva-article-tile { min-height: 390px; border: 1px solid var(--zhiva-home-line); border-radius: 20px; background: var(--zhiva-home-cream); box-shadow: 0 10px 22px rgba(19, 40, 76, .06); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.zhiva-homepage--choice-hub .zhiva-article-tile:hover,
.zhiva-homepage--choice-hub .zhiva-article-tile:focus-visible { border-color: #2f6b45; box-shadow: 0 18px 32px rgba(19, 40, 76, .12); transform: translateY(-4px); }
.zhiva-homepage--choice-hub .zhiva-article-tile img { border-radius: 19px 19px 0 0; }
.zhiva-homepage--choice-hub .zhiva-glossary-card { display: flex; min-height: 390px; flex-direction: column; padding: 28px 26px; border-radius: 20px; background: linear-gradient(145deg, #19345f 0%, #13284c 72%); color: #fff; box-shadow: 0 18px 32px rgba(19, 40, 76, .14); }
.zhiva-homepage--choice-hub .zhiva-glossary-card .zhiva-kicker { color: #a4c7d8; }
.zhiva-homepage--choice-hub .zhiva-glossary-card h3 { margin: 24px 0 14px; color: #fff; font: 600 clamp(36px, 3vw, 50px)/.98 "Cormorant Garamond", Georgia, serif; }
.zhiva-homepage--choice-hub .zhiva-glossary-card > p:not(.zhiva-kicker) { margin: 0 0 22px; color: #d7e0e9; font-size: 13px; line-height: 1.6; }
.zhiva-homepage--choice-hub .zhiva-glossary-card nav { display: grid; margin-top: auto; }
.zhiva-homepage--choice-hub .zhiva-glossary-card nav a { display: flex; justify-content: space-between; gap: 8px; padding: 11px 0; border-top: 1px solid rgba(255,255,255,.28); color: #fff; font-size: 12px; font-weight: 800; text-decoration: none; }
.zhiva-homepage--choice-hub .zhiva-glossary-card nav a:hover { color: #f6c36e; }
.zhiva-homepage--choice-hub .zhiva-glossary-card__all { display: inline-flex; width: max-content; margin-top: 20px; border-bottom: 1px solid #fff; color: #fff; font-size: 12px; font-weight: 800; text-decoration: none; }
.zhiva-homepage--choice-hub .zhiva-home-partner { margin-top: 0; padding: 52px 0; background: transparent; }
.zhiva-homepage--choice-hub .zhiva-home-partner .uk-container { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.zhiva-homepage--choice-hub .zhiva-home-partner .uk-container { padding: 30px clamp(24px, 4vw, 56px); border-radius: 22px; background: #dbe5ea; }
.zhiva-homepage--choice-hub .zhiva-home-partner .zhiva-kicker { color: #527090; }
.zhiva-homepage--choice-hub .zhiva-home-partner h2 { margin: 10px 0 8px; color: #13284c; font: 600 clamp(37px, 4vw, 54px)/.98 "Cormorant Garamond", Georgia, serif; }
.zhiva-homepage--choice-hub .zhiva-home-partner p:not(.zhiva-kicker) { margin: 0; color: #526174; font-size: 13px; line-height: 1.6; }

@media (max-width: 767px) {
    .zhiva-homepage--choice-hub .zhiva-home-trust { padding-block: 12px; }
    .zhiva-homepage--choice-hub .zhiva-home-trust .uk-container { grid-template-columns: 1fr; }
    .zhiva-homepage--choice-hub .zhiva-home-trust a,
    .zhiva-homepage--choice-hub .zhiva-home-trust a:first-child { border-right: 0; border-left: 0; border-bottom: 1px solid var(--zhiva-home-line); }
    .zhiva-homepage--choice-hub .zhiva-home-trust a:last-child { border-bottom: 0; }
    .zhiva-homepage--choice-hub .zhiva-home-trust small { white-space: normal; }
    .zhiva-homepage--choice-hub .zhiva-choice-routes { padding-block: 64px 70px; }
    .zhiva-homepage--choice-hub .zhiva-choice-routes__head { display: block; margin-bottom: 28px; }
    .zhiva-homepage--choice-hub .zhiva-choice-routes__head > p:last-child { margin-top: 18px; }
    .zhiva-homepage--choice-hub .zhiva-choice-routes__grid { grid-template-columns: 1fr; grid-template-rows: none; gap: 10px; }
    .zhiva-homepage--choice-hub .zhiva-choice-route,
    .zhiva-homepage--choice-hub .zhiva-choice-route--care,
    .zhiva-homepage--choice-hub .zhiva-choice-route--bee,
    .zhiva-homepage--choice-hub .zhiva-choice-route--ritual,
    .zhiva-homepage--choice-hub .zhiva-choice-route--gift { grid-column: auto; grid-row: auto; min-height: 270px; }
    .zhiva-homepage--choice-hub .zhiva-choice-route--care { min-height: 340px; }
    .zhiva-homepage--choice-hub .zhiva-products-section--curated,
    .zhiva-homepage--choice-hub .zhiva-products-section--ritual,
    .zhiva-homepage--choice-hub .zhiva-products-section--new,
    .zhiva-homepage--choice-hub .zhiva-products-section--promo,
    .zhiva-homepage--choice-hub .zhiva-reading-section { padding-block: 64px 72px; }
    .zhiva-homepage--choice-hub .zhiva-home-section-head { display: block; }
    .zhiva-homepage--choice-hub .zhiva-home-section-head__note { max-width: 420px; margin: 12px 0 0; }
    .zhiva-homepage--choice-hub .zhiva-home-products.zhiva-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .zhiva-homepage--choice-hub .zhiva-product-card--home .zhiva-product-card__media { height: 188px; }
    .zhiva-homepage--choice-hub .zhiva-brand-ingredients__media { min-height: 300px; }
    .zhiva-homepage--choice-hub .zhiva-brand-ingredients__copy { padding: 42px 24px 50px; }
    .zhiva-homepage--choice-hub .zhiva-reading-grid { grid-template-columns: 1fr; }
    .zhiva-homepage--choice-hub .zhiva-glossary-card,
    .zhiva-homepage--choice-hub .zhiva-article-tile { min-height: 0; }
    .zhiva-homepage--choice-hub .zhiva-home-partner .uk-container { align-items: flex-start; flex-direction: column; padding: 24px 20px; }
}

@media (max-width: 479px) {
    .zhiva-homepage--choice-hub .zhiva-home-trust a { grid-template-columns: auto minmax(0, 1fr) auto; padding-inline: 16px; }
    .zhiva-homepage--choice-hub .zhiva-choice-routes__head .zhiva-section-title { font-size: clamp(42px, 12vw, 52px); }
    .zhiva-homepage--choice-hub .zhiva-product-card--home .zhiva-product-card__body { padding: 14px 11px 16px; }
    .zhiva-homepage--choice-hub .zhiva-product-card--home .zhiva-product-card__body strong { font-size: 13px; }
    .zhiva-homepage--choice-hub .zhiva-glossary-card { padding: 24px 20px; }
}

/* ── Homepage product cards match category list · 2026-10-02 ────── */
.zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}
.zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard {
    min-height: 0;
    padding: 16px;
    border: 1px solid #d1d9df;
    border-radius: 16px;
    background: #f1f3f5;
    box-shadow: 0 8px 22px rgba(19, 40, 76, .04);
}
.zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__media {
    aspect-ratio: 4 / 3;
    min-height: 0;
    border-radius: 14px;
    background: #f7f8f5;
}
.zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__media .jshop_img {
    padding: 22px;
    object-fit: contain;
    mix-blend-mode: multiply;
}
.zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__body {
    gap: 10px;
    padding: 18px 4px 0;
}
.zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__title {
    padding: 0;
    color: #13284c;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.28;
}
.zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__sub {
    min-height: 2.9em;
    padding: 0;
    color: #637089;
    font-size: 14px;
    line-height: 1.45;
}
.zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__meta {
    min-height: 20px;
    font-size: 14px;
}
.zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__avail {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #5d8c31;
    font-weight: 500;
}
.zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__avail::before {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #5d8c31;
    content: "";
    flex: 0 0 auto;
}
.zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__foot {
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    padding: 20px 4px 4px;
}
.zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__prices {
    margin-right: auto;
}
.zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__price {
    color: #13284c;
    font-size: 28px;
    font-weight: 800;
}
.zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__qty {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    height: 40px;
    border-color: #d1d9df;
    border-radius: 7px;
    background: #e9edf0;
    overflow: hidden;
}
.zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__qty-btn,
.zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__qty-val {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    color: #13284c;
    background: #e9edf0;
}
.zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__qty-btn {
    border: 0;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
}
.zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__qty-val {
    box-sizing: border-box;
    border-color: #d1d9df;
    border-top: 0;
    border-bottom: 0;
}
.zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__buy {
    min-width: 108px;
    min-height: 56px;
    padding: 12px 18px;
    border: 1px solid #d1d9df;
    border-radius: 11px;
    background: #fff;
    color: #13284c;
    font-size: 16px;
    font-weight: 600;
}
.zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__buy:hover,
.zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__buy:focus-visible {
    border-color: #5d8c31;
    background: #5d8c31;
    color: #fff;
}

@media (min-width: 768px) and (max-width: 1600px) {
    .zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__foot {
        gap: 8px;
    }
    .zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__price {
        font-size: 22px;
    }
    .zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__qty {
        height: 32px;
    }
    .zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__qty-btn,
    .zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__qty-val {
        width: 30px;
        height: 30px;
    }
    .zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__buy {
        min-width: 88px;
        min-height: 46px;
        padding: 9px 12px;
        font-size: 14px;
    }
}

@media (max-width: 767px) {
    .zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
    .zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard {
        padding: 12px;
    }
    .zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__media .jshop_img {
        padding: 14px;
    }
    .zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__body {
        padding-top: 14px;
    }
    .zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__title {
        font-size: 16px;
    }
    .zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__sub,
    .zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__meta {
        font-size: 12px;
    }
    .zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__foot {
        gap: 8px;
        padding-top: 16px;
    }
    .zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__price {
        font-size: 22px;
    }
    .zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__qty-btn,
    .zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__qty-val {
        width: 28px;
        height: 30px;
    }
    .zhiva-homepage--choice-hub .zhiva-home-products.zhiva-category-products .zhiva-pcard__buy {
        min-width: 88px;
        min-height: 46px;
        padding: 9px 12px;
        font-size: 14px;
    }
}
