/* Final parity layer. It intentionally loads after the mirrored critical CSS
   and the compatibility stylesheet. */

:root {
    --eikra-brown: #735751;
    --eikra-beige: #e7d7c1;
    --eikra-red: #bf4342;
    --eikra-red-dark: #9a3534;
    --eikra-gold: #ffa000;
    --eikra-page: 1200px;
}

body.gridlock,
body.gridlock * {
    letter-spacing: 0;
}

/* Header */
body.gridlock #rzn1h,
body.gridlock.header-stuck #rzn1h {
    position: sticky !important;
    top: 0 !important;
    right: auto !important;
    left: auto !important;
    z-index: 90;
    width: 100%;
    border: 0 !important;
    background: var(--eikra-beige);
    box-shadow: none !important;
}

body.gridlock.header-stuck #widget-header {
    padding-top: 0 !important;
}

/* CRO: при глибокому скролі шапка fixed (прихована), виїжджає при скролі вгору */
body.gridlock.header-fixed #rzn1h {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    transform: translateY(-101%);
    transition: transform 0.25s ease;
}

body.gridlock.header-fixed.header-shown #rzn1h {
    transform: translateY(0);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12) !important;
}

/* CRO: міні-таймер акції на картці товару */
body.gridlock .product-block .card-countdown {
    min-height: 16px;
    margin: 2px 10px 4px;
    font-size: 12px;
    font-weight: 600;
    color: var(--eikra-red);
    text-align: center;
    font-variant-numeric: tabular-nums;
}

/* CRO: hero-оверлей з заголовком і CTA поверх слайдера */
body.gridlock .eikra-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(20, 10, 8, 0.62) 0%, rgba(20, 10, 8, 0.38) 45%, rgba(20, 10, 8, 0) 70%);
}

body.gridlock .eikra-hero-overlay-inner {
    max-width: 560px;
    padding: 24px 24px 24px min(6vw, 80px);
}

body.gridlock .eikra-hero-overlay h1 {
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(24px, 3.2vw, 44px);
    line-height: 1.15;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

body.gridlock .eikra-hero-overlay p {
    margin: 0 0 6px;
    color: rgba(255, 255, 255, 0.92);
    font-size: clamp(13px, 1.3vw, 17px);
    line-height: 1.45;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}

body.gridlock .eikra-hero-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

body.gridlock .eikra-hero-cta .eikra-button {
    pointer-events: auto;
}

body.gridlock .eikra-hero-cta .eikra-button.is-hero-outline {
    background: transparent;
    border: 2px solid #fff;
}

body.gridlock .eikra-hero-cta .eikra-button.is-hero-outline:hover,
body.gridlock .eikra-hero-cta .eikra-button.is-hero-outline:focus-visible {
    background: rgba(255, 255, 255, 0.16);
}

@media (max-width: 739px) {
    body.gridlock .eikra-hero-overlay {
        align-items: flex-end;
        background: linear-gradient(180deg, rgba(20, 10, 8, 0) 30%, rgba(20, 10, 8, 0.68) 78%);
    }

    body.gridlock .eikra-hero-overlay-inner {
        padding: 16px 16px 40px; /* низ — під дотси слайдера */
    }

    body.gridlock .eikra-hero-cta .eikra-button {
        min-height: 44px;
        padding: 10px 18px;
    }
}

/* CRO: рекомендовані товари в сайдбарі кошика */
.shop-mini-cart-recs {
    margin-top: 14px;
    padding-top: 10px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.shop-mini-cart-recs h4 {
    margin: 0 0 8px;
    font-size: 14px;
}

.shop-mini-cart-rec {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
}

.shop-mini-cart-rec .thumb img {
    width: 44px;
    height: 44px;
    object-fit: cover;
    border-radius: 8px;
    display: block;
}

.shop-mini-cart-rec .rec-info {
    flex: 1 1 auto;
    min-width: 0;
}

.shop-mini-cart-rec .rec-info .name {
    display: block;
    font-size: 12px;
    line-height: 1.3;
}

.shop-mini-cart-rec .rec-info strong {
    font-size: 13px;
}

.shop-mini-cart-rec a.buy-button-details.rec-add {
    flex: none;
    width: 44px;
    height: 44px;
    min-height: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--eikra-red);
    color: #fff;
    font-size: 18px;
    line-height: 1;
    text-decoration: none;
}

/* CRO: кнопка «вгору» */
.scroll-top-fab {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 95;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--eikra-red);
    color: #fff;
    border: 0;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.25);
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity 0.2s, transform 0.2s;
}

.scroll-top-fab.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

/* CRO: плаваюча кнопка зворотнього дзвінка */
.callback-fab {
    position: fixed;
    right: 16px;
    left: auto;
    bottom: calc(16px + env(safe-area-inset-bottom));
    z-index: 95;
    min-width: 48px;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 18px;
    border: 0;
    border-radius: 999px;
    background: var(--eikra-red);
    color: #fff;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.25);
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.callback-fab:hover,
.callback-fab:focus-visible {
    filter: brightness(1.06);
}

.callback-fab svg {
    flex: none;
}

@media (max-width: 739px) {
    .callback-fab {
        right: 12px;
        left: auto;
        bottom: calc(12px + env(safe-area-inset-bottom));
        width: 48px;
        height: 48px;
        min-width: 48px;
        min-height: 48px;
        padding: 0;
    }

    .callback-fab span {
        display: none;
    }
}

/* на сторінці товару мобільний buy-bar внизу — стрілку піднімаємо над ним */
body:has(.shop-mobile-buy-bar.is-visible) .scroll-top-fab {
    bottom: calc(84px + env(safe-area-inset-bottom));
}

body:has(.shop-mobile-buy-bar.is-visible) .callback-fab {
    bottom: calc(84px + env(safe-area-inset-bottom));
}

body.gridlock #rzn1h .shop-header-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    gap: 24px;
    align-items: center;
    width: min(1680px, calc(100% - 80px)) !important;
    min-height: 96px;
    margin: 0 auto !important;
}

body.gridlock .shop-primary-nav {
    justify-self: start;
}

body.gridlock .shop-primary-nav ul {
    display: flex !important;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

body.gridlock .shop-primary-nav li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

body.gridlock .shop-primary-nav a {
    color: var(--eikra-brown) !important;
    font-size: 11px !important;
    line-height: 1.2;
    text-decoration: none;
    text-transform: uppercase;
}

body.gridlock .shop-primary-nav a:hover,
body.gridlock .shop-primary-nav a:focus-visible {
    color: var(--eikra-red) !important;
}

body.gridlock .shop-header-logo {
    display: block;
    justify-self: center;
    width: 160px;
    line-height: 0;
}

body.gridlock #logo-q1aqp img {
    display: block;
    width: 160px !important;
    height: auto !important;
}

body.gridlock .shop-header-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 54px;
    gap: 24px;
    align-items: center;
    justify-self: stretch;
}

body.gridlock .shop-desktop-search {
    justify-self: center;
}

body.gridlock .shop-header-row p.search a {
    width: 120px !important;
    min-height: 45px;
    padding: 0 20px !important;
    border: 0 !important;
    border-radius: 24px;
    background: var(--eikra-red) !important;
    box-shadow: none !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 400;
    text-transform: uppercase;
    transition: background-color 180ms ease !important;
}

body.gridlock .shop-header-row p.search a:hover,
body.gridlock .shop-header-row p.search a:focus-visible {
    background: var(--eikra-red-dark) !important;
    transform: none !important;
}

body.gridlock #cart-of2rl {
    justify-self: end;
}

body.gridlock #cart-of2rl > a {
    display: block;
    width: 46px;
    color: #000 !important;
    line-height: 0;
}

body.gridlock .shop-cart-icon-wrap {
    position: relative;
    display: block;
}

body.gridlock #cart-of2rl svg {
    display: block;
    width: 40px !important;
    height: 40px !important;
    fill: currentColor;
}

body.gridlock #cart-items-count-of2rl {
    position: absolute;
    top: -5px;
    right: -1px;
    align-items: center;
    justify-content: center;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: var(--eikra-red);
    color: #fff;
    font-size: 10px;
    line-height: 1;
}

body.gridlock #s0wf8 {
    padding: 0 !important;
    border: 0 !important;
    background: transparent;
}

body.gridlock #s0wf8 .shop-category-row {
    position: relative;
    z-index: 30;
    display: flex;
    align-items: stretch;
    justify-content: center;
    width: fit-content;
    min-width: min(420px, calc(100% - 32px));
    max-width: calc(100% - 32px);
    min-height: 52px;
    margin: 0 auto -4px;
    padding: 0 24px;
    border: 1px solid var(--eikra-brown);
    background: var(--eikra-beige);
}

body.gridlock .shop-category-nav > ul {
    display: flex !important;
    align-items: stretch;
    justify-content: center;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

body.gridlock .shop-category-nav > ul > li {
    position: relative;
    display: flex;
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

body.gridlock .shop-category-nav > ul > li + li {
    border-left: 0;
}

body.gridlock .shop-category-nav > ul > li > a {
    position: relative;
    display: flex;
    width: auto;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 0 18px !important;
    color: #333 !important;
    font-size: 13px !important;
    font-weight: 400;
    line-height: 1.15;
    text-align: center;
    white-space: nowrap;
    text-decoration: none;
    text-transform: uppercase;
}

body.gridlock .shop-category-nav > ul > li > a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--eikra-red);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 180ms ease;
    pointer-events: none;
}

body.gridlock .shop-category-nav > ul > li:hover > a,
body.gridlock .shop-category-nav > ul > li:focus-within > a {
    color: var(--eikra-red) !important;
}

body.gridlock .shop-category-nav > ul > li:hover > a::before,
body.gridlock .shop-category-nav > ul > li:focus-within > a::before {
    transform: scaleX(1);
}

body.gridlock .shop-category-nav .submenu {
    position: absolute !important;
    top: 100%;
    left: 0;
    z-index: 95;
    display: none !important;
    min-width: 240px;
    margin: 0 !important;
    padding: 8px 0 !important;
    background: var(--eikra-beige) !important;
    border: 1px solid var(--eikra-red);
}

body.gridlock .shop-category-nav > ul > li:hover > .submenu,
body.gridlock .shop-category-nav > ul > li:focus-within > .submenu {
    display: block !important;
}

body.gridlock .shop-category-nav .submenu li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

body.gridlock .shop-category-nav .submenu a {
    display: block;
    padding: 9px 16px !important;
    color: var(--eikra-brown) !important;
    font-size: 13px !important;
}

body.gridlock .shop-category-nav .submenu a:hover,
body.gridlock .shop-category-nav .submenu a:focus-visible {
    background: var(--eikra-red) !important;
    color: #fff !important;
}

body.gridlock .shop-mobile-controls {
    display: none;
}

body.gridlock .shop-breadcrumbs-band {
    border: 0 !important;
    background: var(--eikra-beige) !important;
}

body.gridlock .shop-breadcrumbs-band .breadcrumbs {
    min-height: 32px;
    padding: 8px 0 !important;
    background: var(--eikra-beige) !important;
}

/* Крихти по центру між меню і контентом: симетричний відступ смуги */
@media (min-width: 980px) {
    body.gridlock .shop-breadcrumbs-band {
        padding: 10px 0 !important;
    }
}

/* Search */
body.gridlock .shop-search-dialog {
    width: min(700px, 100%);
}

body.gridlock .shop-search-form {
    grid-template-columns: minmax(0, 1fr) 54px;
}

body.gridlock .shop-search-form input[type="text"] {
    height: 54px;
    padding: 0 22px !important;
    border: 1px solid #d0b797 !important;
    border-radius: 27px 0 0 27px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14) !important;
    font-size: 17px !important;
}

body.gridlock .shop-search-submit {
    width: 54px !important;
    height: 54px !important;
    border-radius: 0 27px 27px 0 !important;
}

/* Product grids */
@media (min-width: 980px) {
    body.gridlock .products.layout-container .categories-products-body {
        grid-template-columns: 220px minmax(0, 1fr) !important;
        gap: 30px !important;
    }

    body.gridlock .products.layout-container .products-row,
    body.gridlock .eikra-home-products .products-row,
    body.gridlock .similar-products .products-row {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

body.gridlock .products-block > .products-row,
body.gridlock .eikra-home-products .products-row {
    gap: 26px 18px !important;
}

body.gridlock .product-block,
body.gridlock div.products-block div.products-row div.product-block {
    display: flex !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-direction: column;
    background: transparent !important;
    box-shadow: none !important;
}

body.gridlock .product-block .product-image,
body.gridlock div.products-block div.product-block .product-image {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 1;
    margin: 0 0 8px !important;
    overflow: hidden !important;
    border-radius: 30px !important;
    background: #fff !important;
}

body.gridlock .product-block .product-image > .image-main,
body.gridlock .product-block .product-image > .image-additional,
body.gridlock .product-block .product-image .container-async,
body.gridlock .product-block .product-image picture {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    border-radius: 30px !important;
    background: #fff !important;
}

body.gridlock .product-block .product-image > .image-main {
    opacity: 1;
    transition: opacity 180ms ease !important;
}

body.gridlock .product-block .product-image > .image-additional {
    z-index: 1;
    opacity: 0;
    transition: opacity 180ms ease !important;
}

body.gridlock .product-block.has-additional-image:hover .product-image > .image-main,
body.gridlock .product-block.has-additional-image:focus-within .product-image > .image-main {
    opacity: 0;
}

body.gridlock .product-block.has-additional-image:hover .product-image > .image-additional,
body.gridlock .product-block.has-additional-image:focus-within .product-image > .image-additional {
    opacity: 1;
}

body.gridlock .product-block .product-image img {
    position: absolute !important;
    inset: 8px !important;
    display: block !important;
    width: calc(100% - 16px) !important;
    height: calc(100% - 16px) !important;
    max-width: none !important;
    padding: 0 !important;
    border-radius: 24px !important;
    object-fit: contain !important;
    transform: none !important;
    transition: none !important;
}

body.gridlock .product-block .product-attributes.top-left {
    position: absolute !important;
    z-index: 4;
    top: 10px !important;
    left: 10px !important;
    width: auto !important;
    max-width: calc(100% - 20px);
    padding: 0 !important;
}

body.gridlock .product-block .product-attribute-item {
    display: flex;
    min-height: 24px !important;
    align-items: center;
    margin: 0 !important;
    padding: 5px 9px !important;
    border: 0 !important;
    border-radius: 14px !important;
    box-shadow: none !important;
}

body.gridlock .product-block .product-attribute-item span {
    font-size: 10px !important;
    font-weight: 700;
    line-height: 1.2 !important;
    white-space: nowrap;
    text-transform: uppercase;
}

body.gridlock .product-review {
    display: flex !important;
    align-items: center;
    justify-content: center !important;
    gap: 7px;
    min-height: 20px;
    margin: 3px 0 7px !important;
}

body.gridlock .product-review .stars-container::before {
    color: var(--eikra-gold) !important;
    font-size: 14px !important;
    letter-spacing: 1px !important;
}

body.gridlock .product-review .review-count {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--eikra-brown) !important;
    font-size: 12px !important;
    line-height: 1;
}

body.gridlock .product-review .review-count svg {
    display: block !important;
    width: 13px;
    height: 13px;
    fill: currentColor;
}

body.gridlock .product-block .product-name {
    min-height: 40px;
    margin: 0 4px 6px !important;
}

body.gridlock .product-block .product-name a {
    color: var(--eikra-brown) !important;
    font-size: 12px !important;
    font-weight: 700;
    line-height: 1.3 !important;
    text-transform: uppercase;
}

body.gridlock .product-block .product-price-buy-block {
    min-height: 38px;
}

body.gridlock .product-block .action-price,
body.gridlock .product-block .product-price-regular .regular-price {
    color: var(--eikra-brown) !important;
    font-size: 14px !important;
    font-weight: 700;
}

body.gridlock .product-block .product-price-action .regular-price {
    color: #c4a987 !important;
    font-size: 11px !important;
    font-weight: 400;
}

body.gridlock .product-block .card-buy-block {
    display: block !important;
    width: 100%;
    min-height: 32px;
    margin: 8px 0 0 !important;
}

body.gridlock .product-block .card-buy-block a.buy-button-details {
    display: flex !important;
    width: 100% !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 32px !important;
    align-items: center;
    justify-content: center;
    padding: 7px 12px !important;
    border: 0 !important;
    border-radius: 18px !important;
    background: var(--eikra-red) !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-transform: uppercase;
    transition: background-color 180ms ease !important;
}

body.gridlock .product-block .card-buy-block a.buy-button-details:hover,
body.gridlock .product-block .card-buy-block a.buy-button-details:focus-visible {
    background: var(--eikra-red-dark) !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Кнопка Купити в каталозі видима завжди (не лише на hover) */

/* Стрілки схожих товарів — тільки мобільний слайдер */
body.gridlock .shop-similar-arrow {
    display: none;
}

/* Homepage */
body.gridlock .eikra-home,
body.gridlock .eikra-home section {
    background: var(--eikra-beige) !important;
}

body.gridlock .eikra-home h2 {
    margin-bottom: 26px;
    font-size: 24px;
}

body.gridlock .eikra-promo {
    padding: 26px 0 30px;
}

body.gridlock .eikra-promo h2 {
    margin-bottom: 14px;
    font-size: 21px;
    line-height: 1.4;
}

body.gridlock .eikra-promo h3 {
    margin-bottom: 14px;
    font-size: 19px;
}

body.gridlock .eikra-ornament {
    height: 46px;
}

body.gridlock.eikra-home-page .eikra-warning,
body.gridlock .eikra-warning {
    padding: 26px 0 28px;
    background: var(--eikra-beige) !important;
}

body.gridlock .eikra-warning h2 {
    margin-bottom: 10px;
    font-size: 16px;
}

body.gridlock .eikra-warning p {
    max-width: 960px;
    margin-bottom: 8px;
    font-size: 13px;
    line-height: 1.5;
}

body.gridlock .eikra-home-products {
    padding: 22px 0 38px;
}

body.gridlock .eikra-home-products > .eikra-container > h2 {
    margin-bottom: 25px;
}

body.gridlock .eikra-flavors,
body.gridlock .eikra-categories,
body.gridlock .eikra-certificates,
body.gridlock .eikra-reviews,
body.gridlock .eikra-gallery {
    padding: 38px 0 42px;
}

body.gridlock .eikra-flavors > .eikra-container > p {
    margin: -8px auto 28px;
    font-size: 14px;
}

body.gridlock .eikra-slider-arrow,
body.gridlock .eikra-carousel-arrow {
    width: 52px !important;
    height: 52px !important;
}

body.gridlock .eikra-slider-arrow::before,
body.gridlock .eikra-carousel-arrow::before {
    top: 14px;
    width: 22px;
    height: 22px;
    border-width: 2px;
}

body.gridlock .eikra-carousel-arrow::before {
    border-color: var(--eikra-brown);
}

body.gridlock .eikra-carousel-arrow {
    background: rgba(231, 215, 193, 0.75) !important;
}

body.gridlock .eikra-category-grid {
    gap: 22px;
}

body.gridlock .eikra-about-content {
    min-height: 460px;
    padding: 44px 60px;
}

body.gridlock .eikra-about-content h2 {
    font-size: 24px;
}

body.gridlock .eikra-about-content p {
    font-size: 14px;
}

body.gridlock .eikra-video {
    padding: 18px 0 34px;
}

/* Product page and gallery */
body.gridlock .products-002.layout-container {
    margin-top: 30px !important;
}

body.gridlock .products-002 .product-row {
    grid-template-columns: minmax(0, 560px) minmax(0, 560px) !important;
    gap: 48px !important;
}

body.gridlock .products-002 .shop-express-gallery {
    position: relative;
    display: block !important;
    width: 100%;
}

body.gridlock .products-002 .light-product-slider {
    position: relative;
    width: 100%;
}

body.gridlock .products-002 .shop-express-gallery .container-async {
    border-radius: 30px;
    background: #fff !important;
}

body.gridlock .products-002 .shop-express-gallery img {
    width: 100% !important;
    height: 100% !important;
    padding: 16px;
    border-radius: 30px;
    object-fit: contain !important;
}

body.gridlock .products-002 .shop-express-gallery .product-attributes {
    position: absolute !important;
    z-index: 5;
    top: 10px !important;
    left: 10px !important;
    width: auto !important;
    padding: 0 !important;
}

body.gridlock .products-002 .shop-express-gallery .product-attribute-item {
    min-height: 30px !important;
    padding: 7px 11px !important;
    border-radius: 16px !important;
}

/* Мініатюри: рядок під головним фото, без скролбарів і переповнень */
body.gridlock .products-002 .shop-product-thumbs {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    margin: 14px 0 0 !important;
    overflow: visible !important;
}

body.gridlock .products-002 .shop-product-thumbs button {
    flex: 0 0 auto;
    width: 64px !important;
    height: 64px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(115, 87, 81, 0.25) !important;
    border-radius: 12px !important;
    background: #fff !important;
    overflow: hidden !important;
    cursor: pointer;
}

body.gridlock .products-002 .shop-product-thumbs button.active {
    border-color: var(--eikra-red) !important;
}

body.gridlock .products-002 .shop-product-thumbs button img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    padding: 4px !important;
    box-sizing: border-box !important;
    border-radius: 0 !important;
    object-fit: contain !important;
}

body.gridlock .shop-gallery-arrow {
    position: absolute;
    z-index: 6;
    top: 50%;
    width: 48px !important;
    height: 56px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    cursor: pointer;
    transform: translateY(-50%);
}

body.gridlock .shop-gallery-arrow.is-prev {
    left: 2px;
}

body.gridlock .shop-gallery-arrow.is-next {
    right: 2px;
}

body.gridlock .shop-gallery-arrow::before {
    content: "";
    position: absolute;
    top: 17px;
    width: 22px;
    height: 22px;
    border-top: 2px solid var(--eikra-brown);
    border-right: 2px solid var(--eikra-brown);
}

body.gridlock .shop-gallery-arrow.is-prev::before {
    left: 17px;
    transform: rotate(-135deg);
}

body.gridlock .shop-gallery-arrow.is-next::before {
    right: 17px;
    transform: rotate(45deg);
}

body.gridlock .products-002 .products-title h1 {
    margin: 6px 0 12px;
    font-size: 24px;
    line-height: 1.25;
}

body.gridlock .product-details-block .product-review {
    justify-content: flex-start !important;
    margin: 16px 0 12px !important;
}

body.gridlock .product-details-block .product-review .stars-container::before {
    font-size: 16px !important;
}

body.gridlock .product-details-block .product-review .review-count svg {
    width: 15px;
    height: 15px;
}

body.gridlock .product-sku {
    margin: 0 0 18px;
    font-size: 14px;
}

body.gridlock .product-details-block .product-price-action .action-price {
    font-size: 23px !important;
}

body.gridlock .product-details-block .product-price-action .regular-price {
    font-size: 15px !important;
}

body.gridlock .product-details-block .product-buy-block {
    gap: 12px;
    margin-top: 16px !important;
}

body.gridlock .product-details-block .product-count-block {
    min-height: 48px;
}

body.gridlock .product-details-block .product-buy-block a.buy-button-details {
    min-height: 48px;
    border-radius: 24px !important;
    font-size: 13px !important;
}

body.gridlock .shop-description-toggle {
    font-size: 14px;
}

body.gridlock .product-short-description-tab-content {
    font-size: 14px;
    line-height: 1.55;
}

body.gridlock .eikra-promo.is-product {
    padding: 34px 0 8px;
}

/* Product reviews */
body.gridlock .shop-product-reviews {
    width: min(var(--eikra-page), calc(100% - 40px)) !important;
    margin: 40px auto 0 !important;
}

body.gridlock .shop-reviews-grid {
    grid-template-columns: minmax(0, 1.7fr) minmax(300px, 0.8fr);
    gap: 42px;
}

body.gridlock .shop-reviews-grid h2 {
    margin: 0 0 20px;
    font-size: 25px;
}

body.gridlock .shop-review-item {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 18px;
    margin: 0 0 10px;
    padding: 15px 18px;
    background: #f7f7f7;
}

body.gridlock .shop-review-meta .name {
    margin-bottom: 6px;
    font-size: 14px;
}

body.gridlock .shop-review-meta .stars {
    color: #111;
    font-size: 15px;
    letter-spacing: 1px !important;
}

body.gridlock .shop-review-meta .date {
    display: none;
}

body.gridlock .shop-review-content {
    min-width: 0;
}

body.gridlock .shop-review-text {
    color: var(--eikra-brown);
    font-size: 14px;
    line-height: 1.5;
}

body.gridlock .shop-review-reply-toggle,
body.gridlock .shop-review-reply-cancel {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 8px;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #111 !important;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

body.gridlock .shop-review-reply-toggle span {
    font-size: 18px;
    line-height: 1;
}

body.gridlock .shop-review-replies {
    margin-top: 12px;
    padding-left: 14px;
    border-left: 2px solid var(--eikra-beige);
}

body.gridlock .shop-review-reply {
    margin-bottom: 9px;
}

body.gridlock .shop-review-reply strong {
    font-size: 13px;
}

body.gridlock .shop-review-reply p {
    margin: 3px 0 0;
    font-size: 13px;
    line-height: 1.45;
}

body.gridlock .shop-review-reply-form[hidden] {
    display: none !important;
}

body.gridlock .shop-review-reply-form {
    margin-top: 14px;
    padding: 14px;
    border: 1px solid #e1d1bd;
    background: #fff;
}

body.gridlock .shop-review-reply-form label {
    display: block;
    margin-bottom: 10px;
    font-size: 12px;
}

body.gridlock .shop-review-reply-form label > span {
    display: block;
    margin-bottom: 5px;
}

body.gridlock .shop-review-reply-form input,
body.gridlock .shop-review-reply-form textarea {
    width: 100% !important;
    box-sizing: border-box;
    padding: 9px 13px !important;
    border: 1px solid #d9c1a6 !important;
    border-radius: 18px !important;
    background: #fff !important;
    font: inherit;
}

body.gridlock .shop-review-reply-form textarea {
    border-radius: 12px !important;
}

body.gridlock .field-error {
    display: block;
    margin-top: 4px;
    color: var(--eikra-red);
}

body.gridlock .shop-review-reply-actions {
    display: flex;
    align-items: center;
    gap: 14px;
}

body.gridlock .shop-review-reply-actions .button {
    min-height: 34px;
    padding: 8px 20px;
    border: 0;
    border-radius: 18px;
    background: var(--eikra-red);
    color: #fff;
    font-size: 11px;
    text-transform: uppercase;
    cursor: pointer;
}

body.gridlock .shop-review-form-toggle {
    display: none;
}

body.gridlock .shop-review-form-block input[type="text"],
body.gridlock .shop-review-form-block textarea {
    box-sizing: border-box;
}

body.gridlock .shop-rating-input label {
    font-size: 34px;
}

body.gridlock .shop-review-form-block .button {
    min-height: 40px;
    padding: 10px 28px;
    border-radius: 22px;
    font-size: 12px;
}

/* Related products */
body.gridlock .similar-products.layout-container {
    margin-top: 48px !important;
    margin-bottom: 46px !important;
}

body.gridlock .similar-products h2 {
    margin-bottom: 16px;
    font-size: 25px;
}

body.gridlock div.similar-products.layout-container > .row.products-row {
    gap: 20px !important;
    padding: 28px 28px 24px;
    box-sizing: border-box !important;
    border-radius: 26px;
    background: var(--eikra-beige) !important;
}

@media (min-width: 980px) {
    body.gridlock .similar-products .product-block .card-buy-block {
        display: none !important;
    }
}

/* One-click checkout */
body.shop-one-click-open,
body.shop-callback-open {
    overflow: hidden;
}

body.gridlock .shop-one-click-overlay[hidden] {
    display: none !important;
}

body.gridlock .shop-one-click-overlay {
    position: fixed;
    z-index: 100300;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 20px;
}

body.gridlock .shop-one-click-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: rgba(0, 0, 0, 0.45) !important;
}

body.gridlock .shop-one-click-dialog {
    position: relative;
    z-index: 1;
    width: min(440px, 100%);
    box-sizing: border-box;
    padding: 34px 38px 38px;
    background: var(--eikra-beige);
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.22);
}

body.gridlock .shop-one-click-dialog h2 {
    margin: 0 0 24px;
    color: var(--eikra-brown);
    font-size: 25px;
    text-align: center;
    text-transform: uppercase;
}

body.gridlock .shop-one-click-close {
    position: absolute;
    top: 8px;
    right: 10px;
    width: 36px;
    height: 36px;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--eikra-brown) !important;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

body.gridlock .shop-one-click-dialog label {
    display: block;
    margin-bottom: 16px;
    color: var(--eikra-brown);
    font-size: 13px;
}

body.gridlock .shop-one-click-dialog label span {
    display: block;
    margin-bottom: 6px;
}

body.gridlock .shop-one-click-dialog input {
    width: 100% !important;
    height: 44px;
    box-sizing: border-box;
    padding: 0 17px !important;
    border: 1px solid #cfb18c !important;
    border-radius: 22px !important;
    background: #fff !important;
    color: #333 !important;
    font: inherit;
}

body.gridlock .shop-one-click-dialog .button {
    display: flex;
    width: 100%;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    margin-top: 8px;
    padding: 10px 20px;
    border: 0;
    border-radius: 22px;
    background: var(--eikra-red);
    color: #fff;
    font: inherit;
    font-size: 12px;
    text-transform: uppercase;
    cursor: pointer;
}

body.gridlock [data-callback-modal] .shop-one-click-dialog input,
body.gridlock [data-callback-modal] .shop-one-click-dialog .button {
    min-height: 48px;
}


body.gridlock [data-callback-modal] .callback-success {
    margin: 8px 0 0;
    color: var(--eikra-brown);
    font-size: 16px;
    line-height: 1.5;
    text-align: center;
}

/* Hamburger в header — desktop hidden */
body.gridlock .shop-mobile-menu-button.in-header {
    display: none;
}

/* Mobile */
@media (max-width: 979px) {
    html {
        overflow-x: hidden !important;
    }

    body.gridlock #rzn1h .shop-header-row {
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        gap: 12px;
        width: calc(100% - 28px) !important;
        min-height: 60px;
        align-items: center;
    }

    body.gridlock .shop-primary-nav,
    body.gridlock .shop-desktop-search {
        display: none !important;
    }

    body.gridlock .shop-header-logo {
        grid-column: 2;
        justify-self: center;
        width: 100px;
    }

    body.gridlock #logo-q1aqp img {
        width: 100px !important;
    }

    body.gridlock .shop-header-actions {
        grid-column: 3;
        display: flex;
        align-items: center;
        justify-self: end;
    }

    /* Hamburger в header row */
    body.gridlock .shop-mobile-menu-button.in-header {
        display: grid;
        grid-column: 1;
        justify-self: start;
        width: 44px;
        height: 44px;
        place-content: center;
        gap: 5px;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        cursor: pointer;
    }

    body.gridlock .shop-mobile-menu-button.in-header span {
        display: block;
        width: 24px;
        height: 2px;
        background: var(--eikra-brown);
        transition: transform 250ms ease, opacity 180ms ease;
    }

    body.gridlock.shop-mobile-menu-open .shop-mobile-menu-button.in-header span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    body.gridlock.shop-mobile-menu-open .shop-mobile-menu-button.in-header span:nth-child(2) {
        opacity: 0;
    }

    body.gridlock.shop-mobile-menu-open .shop-mobile-menu-button.in-header span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    /* Другий рядок — повністю сховати */
    body.gridlock #s0wf8 {
        display: none !important;
    }

    body.gridlock .shop-mobile-menu-button {
        display: grid;
        width: 42px;
        height: 42px;
        place-content: center;
        gap: 5px;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        cursor: pointer;
    }

    body.gridlock .shop-mobile-menu-button span {
        display: block;
        width: 26px;
        height: 2px;
        background: var(--eikra-brown);
        transition: transform 250ms ease, opacity 180ms ease;
    }

    body.gridlock.shop-mobile-menu-open .shop-mobile-menu-button span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    body.gridlock.shop-mobile-menu-open .shop-mobile-menu-button span:nth-child(2) {
        opacity: 0;
    }

    body.gridlock.shop-mobile-menu-open .shop-mobile-menu-button span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    body.gridlock .shop-mobile-controls p.search a {
        width: 44px !important;
        min-height: 44px;
        padding: 0 !important;
        border-radius: 50%;
        background: var(--eikra-red) !important;
        font-size: 0 !important;
    }

    body.gridlock .shop-mobile-controls p.search a img {
        width: 21px;
        height: 21px;
        filter: brightness(0) invert(1);
    }

    /* Fullscreen mobile menu — 100% width, no backdrop */
    body.gridlock .shop-mobile-menu-overlay {
        position: fixed;
        inset: 0;
        z-index: 100200;
    }

    body.gridlock .shop-mobile-menu-overlay[hidden] {
        display: none !important;
    }

    body.gridlock .shop-mobile-menu-panel {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100dvh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        background: var(--eikra-beige);
        display: flex;
        flex-direction: column;
        transform: translateX(100%);
        transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);
    }

    body.gridlock .shop-mobile-menu-overlay.is-open .shop-mobile-menu-panel {
        transform: translateX(0);
    }

    /* Кошик — 100% width на мобільному */
    body.gridlock .sidebar-popup.shopping-cart {
        width: 100vw !important;
    }

    body.gridlock .shop-mobile-menu-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 14px 20px;
        border-bottom: 1px solid rgba(115, 87, 81, 0.15);
        flex-shrink: 0;
    }

    body.gridlock .shop-mobile-menu-header img {
        height: 36px;
        width: auto;
    }

    body.gridlock .shop-mobile-menu-close {
        width: 44px;
        height: 44px;
        border: 0;
        background: transparent;
        cursor: pointer;
        position: relative;
        padding: 0;
    }

    body.gridlock .shop-mobile-menu-close span {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 24px;
        height: 2px;
        background: var(--eikra-brown);
    }

    body.gridlock .shop-mobile-menu-close span:first-child {
        transform: translate(-50%, -50%) rotate(45deg);
    }

    body.gridlock .shop-mobile-menu-close span:last-child {
        transform: translate(-50%, -50%) rotate(-45deg);
    }

    body.gridlock .shop-mobile-menu-nav {
        flex: 1 1 auto;
        padding: 8px 0;
        overflow-y: auto;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    body.gridlock .shop-mobile-menu-list {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    body.gridlock .shop-mobile-menu-list li a {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 52px;
        padding: 0 24px;
        font-size: 20px;
        font-weight: 600;
        color: var(--eikra-brown);
        text-decoration: none;
        letter-spacing: 0.3px;
    }

    body.gridlock .shop-mobile-menu-list li a:active {
        background: rgba(115, 87, 81, 0.08);
    }

    body.gridlock.shop-mobile-menu-open {
        overflow: hidden !important;
    }

    body.gridlock .products-002 .product-row {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 22px !important;
    }

    body.gridlock .shop-reviews-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 26px;
    }

    /* Фаза 4: Sticky mobile buy bar */
    body.gridlock .shop-mobile-buy-bar {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 89;
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
        background: var(--eikra-beige);
        border-top: 1px solid rgba(115, 87, 81, 0.18);
        box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08);
        transform: translateY(100%);
        transition: transform 250ms ease;
    }

    body.gridlock .shop-mobile-buy-bar.is-visible {
        transform: translateY(0);
    }

    body.gridlock .shop-mobile-buy-bar .mobile-buy-price {
        flex: 0 0 auto;
        font-size: 18px;
        font-weight: 700;
        color: var(--eikra-brown);
        white-space: nowrap;
    }

    body.gridlock .shop-mobile-buy-bar .mobile-buy-price s {
        font-size: 13px;
        color: #999;
        font-weight: 400;
        margin-left: 6px;
    }

    body.gridlock .shop-mobile-buy-bar a.buy-button-details {
        flex: 1 1 auto;
        min-height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        padding: 10px 18px;
        border-radius: 24px;
        background: var(--eikra-red) !important;
        color: #fff !important;
        font-size: 15px;
        font-weight: 700;
        text-transform: uppercase;
        text-decoration: none;
    }

    body.gridlock .shop-mobile-buy-bar a.buy-button-details:hover,
    body.gridlock .shop-mobile-buy-bar a.buy-button-details:focus-visible {
        background: var(--eikra-red-dark) !important;
    }

    /* Checkout: одна колонка полів на мобільному */
    body.gridlock .shop-checkout-form .shop-field-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    body.gridlock .shop-checkout-form input[type="text"],
    body.gridlock .shop-checkout-form input[type="tel"],
    body.gridlock .shop-checkout-form input[type="email"],
    body.gridlock .shop-checkout-form select {
        min-height: 48px;
        box-sizing: border-box;
    }

    body.gridlock.shop-sidebar-open .shop-mobile-buy-bar {
        display: none !important;
    }
}

@media (max-width: 739px) {
    body.gridlock .shop-search-overlay {
        padding: 130px 14px 30px;
    }

    body.gridlock .shop-search-form input[type="text"],
    body.gridlock .shop-search-submit {
        height: 48px !important;
    }

    body.gridlock .shop-search-form {
        grid-template-columns: minmax(0, 1fr) 48px;
    }

    body.gridlock .eikra-home h2 {
        font-size: 20px;
    }

    body.gridlock .eikra-ornament {
        height: 34px;
    }

    body.gridlock .eikra-warning,
    body.gridlock .eikra-home-products,
    body.gridlock .eikra-flavors,
    body.gridlock .eikra-categories,
    body.gridlock .eikra-certificates,
    body.gridlock .eikra-reviews,
    body.gridlock .eikra-gallery {
        padding-top: 28px;
        padding-bottom: 30px;
    }

    body.gridlock .eikra-home-products .products-row,
    body.gridlock .products.layout-container .products-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    body.gridlock .products.layout-container,
    body.gridlock .products.layout-container .categories-products-body {
        overflow-x: clip !important;
    }

    /* Схожі товари — горизонтальний слайдер, 1 товар на екран */
    body.gridlock .similar-products .products-row {
        display: flex !important;
        gap: 16px !important;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: 16px 14px 16px !important;
        width: auto !important;
    }

    body.gridlock .similar-products .products-row > .product-block {
        flex: 0 0 75vw !important;
        scroll-snap-align: center;
        max-width: 75vw !important;
    }

    body.gridlock .similar-products .product-block .card-buy-block {
        display: block !important;
    }

    /* Стрілки гортання слайдера схожих товарів */
    body.gridlock .similar-products.layout-container {
        position: relative;
    }

    body.gridlock .shop-similar-arrow {
        position: absolute;
        top: 50%;
        z-index: 5;
        display: grid;
        place-items: center;
        width: 40px;
        height: 52px;
        padding: 0;
        border: 0;
        background: rgba(115, 87, 81, 0.44);
        cursor: pointer;
    }

    body.gridlock .shop-similar-arrow.is-prev { left: 0; border-radius: 0 10px 10px 0; }
    body.gridlock .shop-similar-arrow.is-next { right: 0; border-radius: 10px 0 0 10px; }

    body.gridlock .shop-similar-arrow::before {
        content: "";
        width: 12px;
        height: 12px;
        border-top: 3px solid #fff;
        border-right: 3px solid #fff;
    }

    body.gridlock .shop-similar-arrow.is-prev::before { transform: rotate(-135deg) translate(-2px, 2px); }
    body.gridlock .shop-similar-arrow.is-next::before { transform: rotate(45deg) translate(-2px, 2px); }

    body.gridlock .product-block .product-image img {
        inset: 4px !important;
        width: calc(100% - 8px) !important;
        height: calc(100% - 8px) !important;
    }

    body.gridlock .product-block .product-review .stars-container::before {
        font-size: 12px !important;
    }

    body.gridlock .product-block .product-name {
        min-height: 48px;
    }

    body.gridlock .product-block .product-name a {
        font-size: 10px !important;
    }

    body.gridlock .product-block .action-price,
    body.gridlock .product-block .product-price-regular .regular-price {
        font-size: 12px !important;
    }

    body.gridlock .product-block .product-price-action .regular-price {
        font-size: 9px !important;
    }

    /* CRO: товарна кнопка на мобільному — велика, на всю ширину картки */
    body.gridlock .product-block .card-buy-block a.buy-button-details,
    body.gridlock .product-block .hidden-block a.buy-button-details,
    body.gridlock div.products-block div.products-row div.product-block > div.hidden-block a.buy-button-details {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 100% !important;
        min-height: 44px !important;
        font-size: 14px !important;
        padding: 10px 8px !important;
    }

    body.gridlock .products-002.layout-container {
        width: calc(100% - 20px) !important;
        margin-top: 18px !important;
    }

    body.gridlock .products-002 .shop-express-gallery img {
        padding: 6px;
    }

    body.gridlock .products-002 .products-title h1 {
        font-size: 22px;
    }

    body.gridlock .product-details-block .product-buy-block {
        flex-wrap: wrap;
    }

    body.gridlock .product-details-block .product-count-block,
    body.gridlock .product-details-block .product-buy-block a.buy-button-details {
        width: 100%;
    }

    body.gridlock .shop-product-reviews {
        width: calc(100% - 20px) !important;
        margin-top: 32px !important;
    }

    body.gridlock .shop-reviews-grid h2 {
        font-size: 23px;
    }

    body.gridlock .shop-review-item {
        grid-template-columns: minmax(0, 1fr);
        gap: 9px;
        padding: 14px 13px;
    }

    body.gridlock .shop-review-form-block h2,
    body.gridlock .shop-review-form-wrap[data-mobile-collapsed] {
        display: none;
    }

    body.gridlock .shop-review-form-toggle {
        display: flex;
        min-height: 38px;
        align-items: center;
        justify-content: center;
        margin: 0 auto;
        padding: 9px 24px !important;
        border: 0 !important;
        border-radius: 20px;
        background: var(--eikra-red) !important;
        color: #fff !important;
        font-size: 11px;
        text-transform: uppercase;
        cursor: pointer;
    }

    body.gridlock .shop-review-form-wrap {
        margin-top: 18px;
    }

    body.gridlock .similar-products.layout-container {
        width: calc(100% - 20px) !important;
        margin-top: 34px !important;
    }

    body.gridlock div.similar-products.layout-container > .row.products-row {
        padding: 18px 10px 16px;
        border-radius: 20px;
    }

    body.gridlock .shop-one-click-dialog {
        padding: 30px 20px 24px;
    }

    /* Таймер: компактніше на мобільному (листинг + продуктова) */
    body.gridlock .shop-countdown.is-flip {
        gap: 4px !important;
        margin: 8px 0 4px !important;
    }

    body.gridlock .shop-countdown.is-flip .cd-digit,
    body.gridlock .eikra-promo .shop-countdown span.cd-digit {
        width: 26px !important;
        min-width: 26px !important;
        height: 38px !important;
        min-height: 38px !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        font-size: 20px !important;
        border-radius: 6px !important;
        border-width: 1.5px !important;
    }

    body.gridlock .shop-countdown.is-flip .cd-cards {
        gap: 3px !important;
    }

    body.gridlock .shop-countdown.is-flip .cd-colon {
        margin-top: 4px !important;
        font-size: 18px !important;
    }

    body.gridlock .shop-countdown.is-flip .cd-group small {
        font-size: 10px !important;
    }

    body.gridlock .category-description-row .plugin-layout-inner h3 {
        font-size: 14px !important;
        margin: 0 0 4px !important;
    }

    body.gridlock .category-description-row {
        margin-bottom: 8px !important;
    }

    body.gridlock .category-description-row .layout-inner {
        padding: 10px 8px !important;
    }

    body.gridlock .eikra-promo h3 {
        font-size: 14px !important;
        margin: 0 0 4px !important;
    }

    body.gridlock .eikra-promo .shop-countdown span {
        width: auto !important;
        min-height: auto !important;
    }

    body.gridlock .eikra-promo.is-product {
        padding: 16px 10px !important;
    }

    /* Сітка: 2 колонки на мобільному (як coloring store) */
    body.gridlock .eikra-home-products .products-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        display: grid !important;
    }

    body.gridlock .eikra-home-products .product-block {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
    }

    body.gridlock .products-block > .products-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    /* Картки в ряду однакової висоти — кнопки на одному рівні */
    body.gridlock .eikra-home-products .products-row,
    body.gridlock .products.layout-container .products-row,
    body.gridlock .products-block > .products-row {
        align-items: stretch !important;
    }

    body.gridlock .products-row > .product-block {
        align-self: stretch !important;
    }

    /* Кнопка Купити завжди притиснута до низу картки — рівний рівень у сітці */
    body.gridlock .product-block .card-buy-block,
    body.gridlock .product-block > .hidden-block,
    body.gridlock div.products-block div.products-row div.product-block > div.hidden-block,
    body.gridlock .eikra-home-products .product-block > div.hidden-block {
        margin-top: auto !important;
    }

    body.gridlock .product-block .product-name {
        min-height: 0 !important;
    }

    /* Compact buy buttons на мобільному — card-buy-block + hidden-block */
    body.gridlock .product-block .card-buy-block a.buy-button-details {
        min-height: 34px !important;
        font-size: 11px !important;
        padding: 6px 10px !important;
        border-radius: 10px !important;
    }

    body.gridlock .product-block .hidden-block a.buy-button-details,
    body.gridlock .eikra-home-products .product-block .hidden-block a.buy-button-details,
    body.gridlock div.products-block div.products-row div.product-block > div.hidden-block a.buy-button-details {
        min-height: 34px !important;
        font-size: 11px !important;
        padding: 6px 10px !important;
        border-radius: 10px !important;
    }

    /* Пагінація — компактна, центрована */
    body.gridlock .shop-pagination {
        display: flex !important;
        justify-content: center;
        gap: 6px;
        padding: 12px 0;
        width: 100%;
        box-sizing: border-box;
    }

    body.gridlock .shop-pagination a,
    body.gridlock .shop-pagination span {
        min-height: 36px;
        min-width: 36px;
        display: flex;
        width: max-content;
        align-items: center;
        justify-content: center;
        padding: 6px 12px !important;
        border-radius: 8px !important;
        font-size: 13px !important;
    }

    /* Touch target 44px тільки для степера на сторінці товару */
    body.gridlock .product-details-block .product-count-block a.minus,
    body.gridlock .product-details-block .product-count-block a.plus {
        min-width: 44px;
        min-height: 44px;
    }

    /* Компактні степери в кошику/checkout — інакше чавлять колонку ціни */
    body.gridlock .shop-mini-cart-line .product-count-block a,
    body.gridlock .shop-order-line .product-count-block a,
    body.gridlock .shop-cart-row .product-count-block a {
        min-width: 0 !important;
        min-height: 0 !important;
    }

    /* Ціна не повинна стискатись у вертикальну колонку */
    body.gridlock .shop-mini-cart-line .line-controls,
    body.gridlock .shop-order-line .price-qty {
        flex-wrap: wrap;
    }

    body.gridlock .shop-mini-cart-line .prices,
    body.gridlock .shop-order-line .prices {
        flex: 1 1 150px;
        min-width: 150px;
    }

    body.gridlock .shop-review-form-toggle {
        min-height: 44px;
    }

    body.gridlock .shop-quick-cities {
        gap: 6px;
    }

    body.gridlock .shop-quick-cities button {
        min-height: 44px;
        padding: 8px 16px;
    }

    /* Фаза 5.1: iOS zoom prevention */
    body.gridlock input[type="text"],
    body.gridlock input[type="tel"],
    body.gridlock input[type="number"],
    body.gridlock textarea,
    body.gridlock select {
        font-size: 16px !important;
    }

    /* Фаза 5.2: Footer колонки на мобільному */
    body.gridlock .shop-footer-menu,
    body.gridlock .shop-footer-categories {
        display: block !important;
    }

    body.gridlock .shop-footer-menu ul,
    body.gridlock .shop-footer-categories ul {
        padding: 0;
        list-style: none;
    }

    body.gridlock .shop-footer-menu a,
    body.gridlock .shop-footer-categories a {
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* Фаза 5.4: Cart sticky CTA */
    body.gridlock .shop-cart-summary-band {
        position: sticky;
        bottom: 0;
        z-index: 20;
        background: var(--eikra-beige);
        border-top: 1px solid rgba(115, 87, 81, 0.15);
        padding: 14px;
    }

    body.gridlock .shop-cart-submit {
        min-height: 48px !important;
    }

    /* Фаза 5.5: Checkout order summary sticky */
    body.gridlock .shop-order-summary {
        position: sticky;
        top: 76px;
        z-index: 20;
        border-radius: 12px;
    }

    /* Фаза 5.6: Product name та image radius */
    body.gridlock .product-block .product-name a {
        font-size: 11px !important;
    }

    body.gridlock .product-block .product-image {
        border-radius: 20px !important;
    }

    /* Carousel відгуків: 1 фото на мобільному, горизонтальний скрол */
    body.gridlock .eikra-carousel-viewport {
        overflow-x: auto !important;
        scroll-snap-type: x mandatory;
    }

    body.gridlock .eikra-carousel-track {
        gap: 12px !important;
    }

    body.gridlock .eikra-carousel-track > * {
        flex: 0 0 calc(100% - 24px) !important;
        scroll-snap-align: center;
    }

    body.gridlock .eikra-review-card {
        min-height: auto !important;
    }

    body.gridlock .eikra-review-card img {
        max-height: none !important;
    }

    body.gridlock .eikra-carousel-arrow {
        display: none !important;
    }

    /* Галерея фото: нескінченна marquee-прокрутка на всю ширину */
    body.gridlock .eikra-gallery > .eikra-container {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    body.gridlock .eikra-gallery-grid {
        display: flex !important;
        grid-template-columns: none !important;
        gap: 0 !important;
        width: max-content !important;
        animation: eikra-gallery-marquee 40s linear infinite;
    }

    body.gridlock .eikra-gallery-grid a {
        flex: 0 0 70vw !important;
        margin-right: 12px;
    }

    body.gridlock .eikra-gallery-grid img {
        border-radius: 12px;
    }

    @media (prefers-reduced-motion: reduce) {
        body.gridlock .eikra-gallery-grid {
            animation: none !important;
        }
    }
}

@keyframes eikra-gallery-marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@media (min-width: 980px) {
    body.gridlock .eikra-gallery-grid a.is-clone {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.gridlock .product-block .product-image > .image-main,
    body.gridlock .product-block .product-image > .image-additional {
        transition: none !important;
    }
}

/* ===== Follow-up: anchor navigation, separated commerce actions, category bento, certificates ===== */

body.gridlock #jkz0y,
body.gridlock #home-products,
body.gridlock #xtm0b,
body.gridlock #hvogz,
body.gridlock #rz1m4,
body.gridlock #ht43z,
body.gridlock #bj006,
body.gridlock #m7o0l {
    scroll-margin-top: 104px;
}

@media (min-width: 980px) {
    body.gridlock .shop-about-trigger {
        display: inline-flex;
        min-height: 44px;
        box-sizing: border-box;
        align-items: center;
        justify-content: center;
        gap: 7px;
        padding: 0 15px !important;
        border: 0;
        border-radius: 999px;
        background: transparent;
        color: var(--eikra-brown) !important;
        font: inherit;
        font-size: 13px !important;
        font-weight: 700;
        line-height: 1.2;
        white-space: nowrap;
        cursor: pointer;
        transition: background-color 180ms ease, color 180ms ease;
    }

    body.gridlock .shop-about-trigger:hover,
    body.gridlock .shop-about-trigger:focus-visible,
    body.gridlock .shop-about-menu.is-open .shop-about-trigger {
        background: rgba(191, 67, 66, 0.11);
        color: var(--eikra-red) !important;
        outline: none;
    }

    body.gridlock .shop-about-trigger svg {
        transition: transform 180ms ease;
    }

    body.gridlock .shop-about-menu.is-open .shop-about-trigger svg {
        transform: rotate(180deg);
    }

    body.gridlock .shop-about-dropdown {
        position: absolute;
        top: calc(100% + 14px);
        left: 50%;
        z-index: 1010;
        display: grid;
        width: min(620px, calc(100vw - 48px));
        box-sizing: border-box;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        padding: 14px;
        border: 1px solid rgba(115, 87, 81, 0.22);
        border-radius: 22px;
        background: #fffaf4;
        box-shadow: 0 24px 70px rgba(56, 35, 30, 0.2);
        opacity: 0;
        pointer-events: none;
        transform: translate(-50%, -8px);
        transition: opacity 180ms ease, transform 180ms ease;
    }

    body.gridlock .shop-about-menu.is-open .shop-about-dropdown {
        opacity: 1;
        pointer-events: auto;
        transform: translate(-50%, 0);
    }

    body.gridlock .shop-about-dropdown > a {
        display: flex !important;
        min-height: 70px;
        box-sizing: border-box;
        flex-direction: column;
        align-items: flex-start !important;
        justify-content: center !important;
        gap: 4px !important;
        padding: 12px 14px !important;
        border-radius: 13px !important;
        background: var(--eikra-beige) !important;
        color: var(--eikra-brown) !important;
        text-align: left;
        text-decoration: none;
        text-transform: none !important;
        transition: background-color 180ms ease, color 180ms ease;
    }

    body.gridlock .shop-about-dropdown > a strong {
        font-size: 14px;
        line-height: 1.2;
    }

    body.gridlock .shop-about-dropdown > a span {
        color: #765f59;
        font-size: 11px;
        font-weight: 500;
        line-height: 1.35;
    }

    body.gridlock .shop-about-dropdown > a:hover,
    body.gridlock .shop-about-dropdown > a:focus-visible {
        background: var(--eikra-red) !important;
        color: #fff !important;
        outline: none;
    }

    body.gridlock .shop-about-dropdown > a:hover span,
    body.gridlock .shop-about-dropdown > a:focus-visible span {
        color: rgba(255, 255, 255, 0.82);
    }
}

body.gridlock .shop-mobile-about-links {
    margin: 8px 16px !important;
    padding: 14px !important;
    border: 1px solid rgba(115, 87, 81, 0.18);
    border-radius: 16px;
    background: rgba(255, 250, 244, 0.72);
}

body.gridlock .shop-mobile-about-links > span {
    display: block;
    margin-bottom: 10px;
    color: var(--eikra-red);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-align: center;
    text-transform: uppercase;
}

body.gridlock .shop-mobile-about-links > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
}

body.gridlock .shop-mobile-menu-list .shop-mobile-about-links > div > a {
    min-height: 44px;
    padding: 8px !important;
    border-radius: 10px;
    background: var(--eikra-beige);
    font-size: 13px !important;
    font-weight: 700;
    line-height: 1.2;
}

/* The old card selector forced display:block, which collapsed the CTA gap. */
body.gridlock .product-block .product-buy-block.card-buy-block.eikra-card-actions,
body.gridlock .similar-products .product-block .product-buy-block.card-buy-block.eikra-card-actions,
body.gridlock .similar-products .product-block:hover .product-buy-block.card-buy-block.eikra-card-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    width: 100%;
    min-height: 0;
    box-sizing: border-box;
    margin-top: auto !important;
    padding-top: 12px;
}

body.gridlock .similar-products .product-block,
body.gridlock .similar-products .product-block:hover {
    z-index: 0;
    padding-bottom: 0 !important;
    background: transparent;
    box-shadow: none;
    transform: none;
}

body.gridlock .similar-products .product-block:hover {
    transform: translateY(-3px);
}

body.gridlock .product-details-block .product-buy-block {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: stretch;
    gap: 12px !important;
}

body.gridlock .product-details-block .product-purchase-actions {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
}

body.gridlock .product-details-block .product-purchase-actions .buy-button-details,
body.gridlock .product-details-block .product-purchase-actions .product-quick-order {
    display: inline-flex !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 52px !important;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 10px 13px !important;
    border: 1px solid var(--eikra-red) !important;
    border-radius: 999px !important;
    font: inherit;
    font-size: 13px !important;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
}

/* The legacy product template caps the buy link at 354px on phones. Keep the
   override scoped to product details so homepage assortment cards stay intact. */
body.gridlock div.categories-products-row div.product-details-block div.product-buy-block .product-purchase-actions > a.buy-button-details {
    width: 100% !important;
    max-width: none !important;
    padding: 10px 13px !important;
}

body.gridlock .product-details-block .product-purchase-actions .buy-button-details {
    background: var(--eikra-red) !important;
    color: #fff !important;
}

body.gridlock .product-details-block .product-purchase-actions .product-quick-order {
    background: transparent !important;
    color: var(--eikra-red) !important;
}

body.gridlock .product-details-block .product-purchase-actions .buy-button-details:hover,
body.gridlock .product-details-block .product-purchase-actions .buy-button-details:focus-visible,
body.gridlock .product-details-block .product-purchase-actions .product-quick-order:hover,
body.gridlock .product-details-block .product-purchase-actions .product-quick-order:focus-visible {
    border-color: var(--eikra-red-dark) !important;
    background: var(--eikra-red-dark) !important;
    color: #fff !important;
}

/* 21st.dev Bento Grid adapted to backend-driven store categories. */
body.gridlock .eikra-categories {
    padding: clamp(68px, 7vw, 104px) 0 !important;
}

body.gridlock .eikra-category-grid {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    grid-auto-rows: 236px;
    gap: 18px !important;
}

body.gridlock .eikra-category-card {
    position: relative;
    display: block !important;
    min-width: 0;
    grid-column: span 5;
    overflow: hidden;
    border: 1px solid rgba(115, 87, 81, 0.18);
    border-radius: 24px;
    background: var(--eikra-brown);
    box-shadow: 0 14px 42px rgba(74, 48, 42, 0.1);
    color: #fff;
    text-decoration: none;
}

body.gridlock .eikra-category-card.is-featured {
    grid-column: span 7;
    grid-row: span 2;
}

@media (min-width: 980px) {
    body.gridlock .eikra-category-card:nth-child(2):last-child {
        grid-row: span 2;
    }
}

body.gridlock .eikra-category-card:not(.is-featured) {
    min-height: 236px;
}

body.gridlock .eikra-category-card img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    object-fit: cover;
    opacity: 1 !important;
    transition: transform 450ms cubic-bezier(.2,.7,.2,1) !important;
}

body.gridlock .eikra-category-card > .eikra-category-shade {
    position: absolute;
    inset: 0;
    display: block;
    padding: 0;
    background: linear-gradient(180deg, rgba(38, 19, 15, 0.05) 25%, rgba(38, 19, 15, 0.82) 100%);
}

body.gridlock .eikra-category-card > .eikra-category-content {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: clamp(20px, 3vw, 34px);
    color: #fff;
}

body.gridlock .eikra-category-content small {
    margin-bottom: 7px;
    color: rgba(255, 255, 255, 0.76);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

body.gridlock .eikra-category-content strong {
    max-width: 500px;
    color: #fff;
    font-size: clamp(22px, 2.3vw, 38px);
    line-height: 1.08;
}

body.gridlock .eikra-category-card:not(.is-featured) .eikra-category-content strong {
    font-size: clamp(18px, 1.7vw, 27px);
}

body.gridlock .eikra-category-link {
    display: inline-flex;
    max-height: 0;
    align-items: center;
    gap: 8px;
    overflow: hidden;
    padding: 0 !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 800;
    opacity: 0;
    transform: translateY(8px);
    transition: max-height 220ms ease, margin-top 220ms ease, opacity 220ms ease, transform 220ms ease;
}

body.gridlock .eikra-category-card:hover img,
body.gridlock .eikra-category-card:focus-visible img {
    opacity: 1 !important;
    transform: scale(1.04) !important;
}

body.gridlock .eikra-category-card:hover .eikra-category-link,
body.gridlock .eikra-category-card:focus-visible .eikra-category-link {
    max-height: 32px;
    margin-top: 14px;
    opacity: 1;
    transform: translateY(0);
}

/* Certificates use the same image-card language and in-page frame as Ideas. */
body.gridlock .eikra-certificates {
    padding: clamp(68px, 7vw, 104px) 0 !important;
    background: #fffaf4 !important;
}

body.gridlock .eikra-certificate-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px !important;
}

body.gridlock .eikra-certificate-card {
    position: relative;
    aspect-ratio: 7 / 10;
    overflow: hidden;
    padding: 0;
    border: 1px solid rgba(115, 87, 81, 0.2);
    border-radius: 20px;
    background: var(--eikra-brown);
    box-shadow: 0 12px 34px rgba(74, 48, 42, 0.11);
    cursor: zoom-in;
}

body.gridlock .eikra-certificate-card:nth-child(2) {
    margin-top: 34px;
    margin-bottom: -34px;
}

body.gridlock .eikra-certificate-card img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: cover;
    transition: transform 450ms cubic-bezier(.2,.7,.2,1) !important;
}

body.gridlock .eikra-certificate-card::after {
    content: "";
    position: absolute;
    inset: 58% 0 0;
    background: linear-gradient(180deg, transparent, rgba(30, 16, 12, 0.72));
}

body.gridlock .eikra-certificate-card > span {
    position: absolute;
    right: 50px;
    bottom: 20px;
    left: 18px;
    z-index: 2;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    text-align: left;
}

body.gridlock .eikra-certificate-card > svg {
    position: absolute;
    right: 18px;
    bottom: 20px;
    z-index: 2;
    color: #fff;
}

body.gridlock .eikra-certificate-card:hover img,
body.gridlock .eikra-certificate-card:focus-visible img {
    transform: scale(1.035);
}

body.gridlock .eikra-video-copy {
    align-items: center;
    text-align: center;
}

body.gridlock .eikra-video-copy > p:not(.eikra-section-eyebrow) {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

@media (max-width: 979px) {
    body.gridlock .product-details-block .product-buy-block {
        grid-template-columns: minmax(0, 1fr);
    }

    body.gridlock .product-details-block .product-count-block {
        width: 100%;
    }

    body.gridlock .eikra-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-auto-rows: 280px;
    }

    body.gridlock .eikra-category-card,
    body.gridlock .eikra-category-card.is-featured {
        grid-column: span 1;
        grid-row: span 1;
        min-height: 280px;
    }

    body.gridlock .eikra-category-card.is-featured {
        grid-column: 1 / -1;
        min-height: 420px;
    }
}

@media (max-width: 739px) {
    body.gridlock .shop-mobile-about-links > div {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.gridlock .product-details-block .product-purchase-actions {
        gap: 8px;
    }

    body.gridlock .product-details-block .product-purchase-actions .buy-button-details,
    body.gridlock .product-details-block .product-purchase-actions .product-quick-order {
        min-height: 52px !important;
        padding: 10px 14px !important;
        font-size: clamp(12px, 3.5vw, 14px) !important;
    }

    body.gridlock div.categories-products-row div.product-details-block div.product-buy-block .product-purchase-actions > a.buy-button-details {
        padding: 10px 14px !important;
    }

    body.gridlock .shop-mobile-buy-bar {
        display: grid;
        grid-template-columns: auto minmax(0, 0.78fr) minmax(0, 1.22fr);
        gap: 6px;
    }

    body.gridlock .shop-mobile-buy-bar .mobile-buy-price {
        font-size: 13px;
    }

    body.gridlock .shop-mobile-buy-bar a.buy-button-details,
    body.gridlock .shop-mobile-buy-bar .product-quick-order {
        display: inline-flex;
        min-width: 0;
        min-height: 44px;
        box-sizing: border-box;
        align-items: center;
        justify-content: center;
        padding: 7px 5px;
        border: 1px solid var(--eikra-red);
        border-radius: 999px;
        font: inherit;
        font-size: 9px;
        font-weight: 800;
        line-height: 1.15;
        text-align: center;
        text-transform: uppercase;
    }

    body.gridlock .shop-mobile-buy-bar a.buy-button-details {
        background: var(--eikra-red) !important;
        color: #fff !important;
    }

    body.gridlock .shop-mobile-buy-bar .product-quick-order {
        background: transparent;
        color: var(--eikra-red);
    }

    body.gridlock .eikra-categories,
    body.gridlock .eikra-certificates {
        padding: 58px 0 66px !important;
    }

    body.gridlock .eikra-category-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-rows: 300px;
        gap: 12px !important;
    }

    body.gridlock .eikra-category-card,
    body.gridlock .eikra-category-card.is-featured {
        grid-column: 1;
        min-height: 300px;
    }

    body.gridlock .eikra-category-card.is-featured {
        min-height: 360px;
    }

    body.gridlock .eikra-category-link {
        max-height: 32px;
        margin-top: 12px;
        opacity: 1;
        transform: none;
    }

    body.gridlock .eikra-certificates > .eikra-container {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    body.gridlock .eikra-certificates .eikra-section-heading {
        padding: 0 20px;
    }

    body.gridlock .eikra-certificate-grid {
        display: flex !important;
        gap: 12px !important;
        width: 100% !important;
        box-sizing: border-box;
        overflow-x: auto;
        padding: 0 20px 8px;
        scroll-padding-left: 20px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    body.gridlock .eikra-certificate-grid::-webkit-scrollbar { display: none; }

    body.gridlock .eikra-certificate-card,
    body.gridlock .eikra-certificate-card:nth-child(2) {
        flex: 0 0 76vw;
        max-width: 320px;
        margin: 0;
        scroll-snap-align: start;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.gridlock .shop-about-dropdown,
    body.gridlock .shop-about-trigger svg,
    body.gridlock .eikra-category-card img,
    body.gridlock .eikra-category-link,
    body.gridlock .eikra-certificate-card img {
        transition: none !important;
    }
}

/* Напуск меню на банер: рівно 4px (зануляємо старий -22px зсув hero) */
@media (min-width: 980px) {
    body.gridlock .eikra-hero {
        margin-top: 0 !important;
    }
}

/* === Задачі від клієнта (2026-07-17) === */

/* Home: "Купуйте ікру по акції" — стилі для всіх viewport */
body.gridlock .eikra-home-products .product-block .product-name a {
    color: #111 !important;
}

body.gridlock .eikra-home-products .product-block {
    text-align: center !important;
    align-items: center !important;
}

body.gridlock .eikra-home-products .product-block .product-price-buy-block {
    min-height: auto;
}

body.gridlock .eikra-home-products .product-block .product-review {
    justify-content: center !important;
    margin: 2px 0 4px !important;
}

body.gridlock .eikra-home-products .product-block > .hidden-block {
    margin-top: 6px !important;
}

@media (min-width: 980px) {
    body.gridlock .eikra-home-products .product-block .product-name a {
        font-size: 15px !important;
    }
    body.gridlock .eikra-home-products .product-block .product-name {
        min-height: 38px;
        margin-bottom: 4px !important;
    }
    body.gridlock .eikra-home-products .product-block .action-price,
    body.gridlock .eikra-home-products .product-block .product-price-regular .regular-price {
        color: #111 !important;
        font-size: 20px !important;
        font-weight: 800;
    }
    body.gridlock .eikra-home-products .product-block .product-price-action .regular-price {
        color: #666 !important;
        font-size: 15px !important;
        font-weight: 600;
    }
}

@media (min-width: 980px) {
    body.gridlock .eikra-home-products .product-block .product-buy-block a.buy-button-details,
    body.gridlock .eikra-home-products .product-block .hidden-block .product-buy-block a.buy-button-details,
    body.gridlock .eikra-home-products .product-block .hidden-block a.buy-button-details {
        min-height: 80px !important;
        font-size: 36px !important;
        font-weight: 800 !important;
        border-radius: 16px !important;
        padding: 16px 28px !important;
        line-height: 1.2 !important;
    }
}

/* Відступи блоку зліва/справа -90% */
body.gridlock .eikra-home-products {
    padding-left: max(2px, calc((100% - 1680px) / 2 * 0.1)) !important;
    padding-right: max(2px, calc((100% - 1680px) / 2 * 0.1)) !important;
}

body.gridlock .eikra-home-products > .eikra-container {
    max-width: 100%;
    width: 100%;
}

/* 1b. Зірки рейтингу — збільшити в 2 рази (скрізь) */
body.gridlock .product-block .product-review .stars-container::before {
    font-size: 24px !important;
    letter-spacing: 2px !important;
}

body.gridlock .product-block .product-review .review-count {
    white-space: nowrap;
    flex-shrink: 0;
}

@media (min-width: 980px) {
    body.gridlock .product-block .product-review .review-count {
        font-size: 14px !important;
    }

    body.gridlock .product-block .product-review .review-count svg {
        width: 16px;
        height: 16px;
    }
}

@media (max-width: 979px) {
    body.gridlock .product-block .product-review .review-count {
        font-size: 11px !important;
        gap: 3px;
    }

    body.gridlock .product-block .product-review .review-count svg {
        width: 11px;
        height: 11px;
    }
}

body.gridlock .product-details-block .product-review .stars-container::before {
    font-size: 28px !important;
    letter-spacing: 2px !important;
}

/* 2. Home: "Відгуки клієнтів" — розтягнути на весь екран */
body.gridlock .eikra-reviews {
    width: 100%;
    max-width: none;
}

body.gridlock .eikra-reviews > .eikra-container {
    max-width: 100%;
    width: calc(100% - 32px);
    margin: 0 auto;
}

/* 2b. Home: "7 смаків Єікри" — на весь екран */
body.gridlock .eikra-flavors {
    width: 100%;
    max-width: none;
}

body.gridlock .eikra-flavors > .eikra-container {
    max-width: 100%;
    width: calc(100% - 32px);
    margin: 0 auto;
}

/* 3. Home: 40px між останнім орнаментом і footer */
body.gridlock .eikra-home > .eikra-ornament:last-child {
    margin-bottom: 40px;
}

/* 4. Shop: 3 товари на рядок замість 4 */
@media (min-width: 980px) {
    body.gridlock .products.layout-container .products-row,
    body.gridlock .products-block > .products-row {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    /* Sidebar: +15% ширше */
    body.gridlock .products.layout-container .categories-products-body {
        grid-template-columns: 253px minmax(0, 1fr) !important;
    }
}

/* Shop product cards — більші шрифти при 3-колонковій сітці */
body.gridlock .products.layout-container .product-block .product-name a {
    font-size: 14px !important;
}

body.gridlock .products.layout-container .product-block .action-price,
body.gridlock .products.layout-container .product-block .product-price-regular .regular-price {
    font-size: 18px !important;
}

body.gridlock .products.layout-container .product-block .product-price-action .regular-price {
    font-size: 14px !important;
    color: #666 !important;
}

body.gridlock .products.layout-container .product-block .hidden-block a.buy-button-details {
    min-height: 44px !important;
    font-size: 15px !important;
    border-radius: 10px !important;
}

/* 4b. Shop: categories active state — grey bg, bold */
body.gridlock .categories-block > div > a {
    transition: background 0.15s ease;
}

body.gridlock .categories-block > div > a:hover,
body.gridlock .categories-block > div > a.is-active {
    background: #eee;
    font-weight: 700;
}

/* 4c. Shop: depth-3 category — no extra left indent */
body.gridlock .categories-block > div.child > a {
    padding-left: 0 !important;
}

/* 4d. Shop: price filter — повзунок range + поле "від" */
body.gridlock .shop-price-filter {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

body.gridlock .shop-price-fields {
    display: flex;
    align-items: center;
    gap: 6px;
}

body.gridlock .shop-price-dash {
    color: #999;
    font-size: 16px;
}

body.gridlock .shop-price-fields input[type="number"] {
    width: 70px;
    min-height: 34px;
    padding: 0 6px;
    border: 1px solid #ccc;
    border-radius: 6px;
    text-align: center;
    font-size: 14px;
    background: #fff;
}

body.gridlock .shop-price-filter button[type="submit"] {
    min-height: 34px;
    padding: 0 16px;
    border: 0;
    border-radius: 6px;
    background: var(--eikra-red);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    text-transform: uppercase;
}

/* Dual-range slider */
body.gridlock .shop-price-dual-range {
    position: relative;
    height: 30px;
    margin-top: 4px;
}

body.gridlock .shop-range-track {
    position: absolute;
    top: 50%;
    left: 11px;
    right: 11px;
    height: 6px;
    background: #d5d5d5;
    border-radius: 3px;
    transform: translateY(-50%);
}

body.gridlock .shop-range-fill {
    display: none;
}

body.gridlock .shop-price-dual-range .shop-price-range {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    -webkit-appearance: none;
    appearance: none;
    background: transparent !important;
    pointer-events: none;
    margin: 0 !important;
    padding: 0 !important;
    outline: none;
    z-index: 2;
    box-sizing: border-box;
}

body.gridlock .shop-price-dual-range .shop-price-range--min {
    z-index: 3;
}

body.gridlock .shop-price-dual-range .shop-price-range--max {
    z-index: 4;
}

body.gridlock .shop-price-dual-range .shop-price-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #b0b0b0;
    border: 2px solid #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.2);
    cursor: pointer;
    pointer-events: auto;
}

body.gridlock .shop-price-dual-range .shop-price-range::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #b0b0b0;
    border: 2px solid #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.2);
    cursor: pointer;
    pointer-events: auto;
}

body.gridlock .shop-price-dual-range .shop-price-range::-moz-range-track {
    background: transparent;
    height: 6px;
}

body.gridlock .shop-filter-reset {
    font-size: 12px;
    color: var(--eikra-red);
    text-decoration: underline;
}

body.gridlock .filters-block .filter-section-block .title {
    padding-left: 0 !important;
}

/* 4e. Shop: pagination to footer gap */
body.gridlock .shop-pagination {
    margin-bottom: 40px !important;
}

/* 4f. Shop: sort dropdown — white bg, shadow, no overlap */
body.gridlock .sort-dropdown-menu {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 20;
    background: #fff !important;
    border: 1px solid #d0b797;
    border-radius: 6px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.14);
    min-width: 220px;
    padding: 6px 0;
    margin-top: 4px;
}

body.gridlock .sort-dropdown-menu ul {
    list-style: none !important;
    margin: 0;
    padding: 0;
}

body.gridlock .sort-dropdown-menu li {
    list-style: none !important;
}

body.gridlock .sort-dropdown-menu li::marker {
    content: none;
    display: none;
}

body.gridlock .sort-dropdown-menu li::before {
    display: none !important;
}

body.gridlock .sort-dropdown-menu li a {
    display: block;
    padding: 10px 18px;
    font-size: 14px;
    color: #333;
    white-space: nowrap;
}

body.gridlock .sort-dropdown-menu li a:hover {
    background: var(--eikra-beige);
    color: var(--eikra-red);
}

body.gridlock .sort-filter-row {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
}

body.gridlock .categories-products-sortby {
    padding: 8px 16px;
    border: 1px solid #d0b797;
    border-radius: 6px;
    background: #fff;
    cursor: pointer;
    font-size: 14px;
    white-space: nowrap;
}

/* 5. Product page: badge — centered text, tight padding */
body.gridlock .products-002 .shop-express-gallery .product-attribute-item {
    padding: 3px 11px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.3 !important;
    text-align: center !important;
}

/* 5b. Product page: short description open by default */
body.gridlock .product-short-description-tab-content.active {
    display: block !important;
}

/* 5c. Product page: similar — centered text + hover effect */
body.gridlock .similar-products .product-block {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    position: relative;
    z-index: 1;
    border-radius: 12px;
    text-align: center !important;
    align-items: center !important;
}

body.gridlock .similar-products .product-block .product-price-action,
body.gridlock .similar-products .product-block .product-price-buy-block {
    justify-content: center !important;
    text-align: center !important;
}

body.gridlock .similar-products .product-block .product-review {
    justify-content: center !important;
}

@media (min-width: 980px) {
    body.gridlock .similar-products .product-block .card-buy-block,
    body.gridlock .similar-products .product-block > .hidden-block {
        display: none !important;
    }
}

/* Галерея страв: пропорція 3:4 на всіх viewport */
body.gridlock .eikra-gallery-grid img {
    aspect-ratio: 3 / 4 !important;
    width: 100% !important;
    height: auto !important;
    object-fit: cover;
}

body.gridlock .similar-products .product-block:hover {
    transform: scale(1.08);
    box-shadow: 0 8px 32px rgba(0,0,0,0.15);
    z-index: 10;
    background: #fff;
    border-radius: 12px;
    padding-bottom: 12px !important;
}

body.gridlock .similar-products .product-block:hover .card-buy-block,
body.gridlock .similar-products .product-block:hover > .hidden-block {
    display: block !important;
}

/* 5d. Product page: similar products beige block — rounded corners */
body.gridlock div.similar-products.layout-container > .row.products-row {
    border-radius: 26px !important;
}

/* 6. Checkout: label asterisk inline, equal field widths */
body.gridlock .shop-checkout-form .shop-field-grid label > span:first-child {
    white-space: nowrap !important;
}

body.gridlock .shop-checkout-form .shop-field-grid label > span:first-child > span {
    display: inline !important;
}

body.gridlock .shop-checkout-form .shop-field-grid label {
    overflow: hidden;
}

body.gridlock .shop-checkout-form .shop-field-grid label > span:first-child,
body.gridlock .shop-checkout-form .shop-field-grid label input,
body.gridlock .shop-checkout-form .shop-field-grid label .shop-phone-wrap,
body.gridlock .shop-checkout-form .shop-field-grid label .shop-phone-wrap input {
    box-sizing: border-box;
    max-width: 100%;
}

@media (min-width: 740px) {
    body.gridlock .shop-checkout-form .shop-field-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

body.gridlock .shop-checkout-form .shop-field-grid label {
    min-width: 0;
}

/* Mobile */

/* ===== Кастомний дропдаун Нової Пошти ===== */
body.gridlock .np-dd-anchor {
    position: relative;
    display: block;
    overflow: visible !important;
}

body.gridlock .np-dropdown {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 30;
    max-height: 260px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid rgba(115, 87, 81, 0.18);
    border-radius: 14px;
    box-shadow: 0 12px 32px rgba(60, 42, 33, 0.16);
    opacity: 0;
    transform: translateY(-6px);
    transition: opacity 160ms ease, transform 160ms ease;
}

body.gridlock .np-dropdown.is-open {
    opacity: 1;
    transform: translateY(0);
}

body.gridlock .np-dd-option {
    display: block;
    width: 100%;
    padding: 11px 16px;
    border: 0;
    background: none;
    color: var(--eikra-brown);
    font: inherit;
    font-size: 14px;
    text-align: left;
    cursor: pointer;
}

body.gridlock .np-dd-option:hover,
body.gridlock .np-dd-option:focus-visible {
    background: var(--eikra-beige);
}

body.gridlock .np-dd-option + .np-dd-option {
    border-top: 1px solid rgba(115, 87, 81, 0.08);
}

/* ===== М'яка анімація кошика-drawer ===== */
body.gridlock .sidebar-popup.shopping-cart {
    transform: translateX(0);
    transition: transform 320ms cubic-bezier(0.4, 0, 0.2, 1), visibility 0s linear 0s;
}

body.gridlock .sidebar-popup.shopping-cart.hidden {
    display: flex !important;
    visibility: hidden;
    transform: translateX(105%);
    transition: transform 320ms cubic-bezier(0.4, 0, 0.2, 1), visibility 0s linear 320ms;
    pointer-events: none;
}

body.gridlock .shop-cart-backdrop {
    display: block;
    opacity: 0;
    pointer-events: none;
    transition: opacity 260ms ease;
}

body.gridlock .shop-cart-backdrop.visible {
    opacity: 1;
    pointer-events: auto;
}

/* ===== М'якший вхід мобільного меню: фон + пункти ===== */
@media (max-width: 979px) {
    body.gridlock .shop-mobile-menu-overlay {
        background: rgba(35, 24, 19, 0);
        transition: background 280ms ease;
    }

    body.gridlock .shop-mobile-menu-overlay.is-open {
        background: rgba(35, 24, 19, 0.35);
    }

    body.gridlock .shop-mobile-menu-nav a {
        opacity: 0;
        transform: translateX(24px);
        transition: opacity 260ms ease, transform 260ms cubic-bezier(0.4, 0, 0.2, 1);
    }

    body.gridlock .shop-mobile-menu-overlay.is-open .shop-mobile-menu-nav a {
        opacity: 1;
        transform: translateX(0);
    }

    body.gridlock .shop-mobile-menu-overlay.is-open .shop-mobile-menu-nav li:nth-child(1) a { transition-delay: 60ms; }
    body.gridlock .shop-mobile-menu-overlay.is-open .shop-mobile-menu-nav li:nth-child(2) a { transition-delay: 100ms; }
    body.gridlock .shop-mobile-menu-overlay.is-open .shop-mobile-menu-nav li:nth-child(3) a { transition-delay: 140ms; }
    body.gridlock .shop-mobile-menu-overlay.is-open .shop-mobile-menu-nav li:nth-child(4) a { transition-delay: 180ms; }
    body.gridlock .shop-mobile-menu-overlay.is-open .shop-mobile-menu-nav li:nth-child(n+5) a { transition-delay: 220ms; }
}

@media (prefers-reduced-motion: reduce) {
    body.gridlock .sidebar-popup.shopping-cart,
    body.gridlock .shop-cart-backdrop,
    body.gridlock .np-dropdown,
    body.gridlock .shop-mobile-menu-overlay,
    body.gridlock .shop-mobile-menu-nav a,
    body.gridlock .shop-mobile-menu-panel {
        transition: none !important;
    }
}

/* ===== Flash-повідомлення: картка замість голої смуги ===== */
body.gridlock .shop-flash-row {
    margin: 20px auto 0;
    width: min(var(--eikra-container, 1200px), calc(100% - 40px));
}

body.gridlock .shop-flash {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    background: #fff;
    border: 1px solid rgba(115, 87, 81, 0.16);
    border-left: 4px solid var(--eikra-red);
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(60, 42, 33, 0.08);
    color: var(--eikra-brown);
    font-size: 14px;
}

body.gridlock .shop-flash::before {
    content: "";
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--eikra-red);
    /* біла "i" на червоному колі */
    -webkit-mask: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%23bf4342'/%3E%3Crect x='9' y='8.5' width='2' height='7' rx='1' fill='%23fff'/%3E%3Ccircle cx='10' cy='5.5' r='1.3' fill='%23fff'/%3E%3C/svg%3E");
    background-size: contain;
    background-color: transparent;
}

body.gridlock .np-dropdown::-webkit-scrollbar { width: 6px; }
body.gridlock .np-dropdown::-webkit-scrollbar-thumb { background: rgba(115, 87, 81, 0.3); border-radius: 3px; }
body.gridlock .np-dropdown::-webkit-scrollbar-track { background: transparent; }

/* ===== CRO: hero в загальній сітці, з конкретними УТП і таймером на фото ===== */
body.gridlock .eikra-hero-overlay {
    align-items: center;
    background: radial-gradient(ellipse at center, rgba(29, 15, 11, 0.78) 0%, rgba(29, 15, 11, 0.64) 38%, rgba(29, 15, 11, 0.18) 78%, rgba(29, 15, 11, 0.04) 100%);
}

body.gridlock .eikra-hero-overlay-grid {
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(var(--eikra-page), calc(100% - 48px));
    margin: 0 auto;
}

body.gridlock .eikra-hero-overlay-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 980px;
    padding: 34px 0 42px;
    text-align: center;
}

body.gridlock .eikra-hero-overlay .eikra-hero-price {
    display: inline-flex;
    min-height: 47px;
    align-items: center;
    justify-content: center;
    margin: 0 0 15px;
    padding: 10px 21px;
    border-radius: 999px;
    background: var(--eikra-red);
    color: #fff;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.1;
    text-shadow: none;
}

body.gridlock .eikra-hero-overlay h1 {
    max-width: 980px;
    margin: 0 auto 18px;
    color: #fff;
    font-size: clamp(49px, 4.45vw, 70px);
    font-weight: 800;
    line-height: 1.08;
    text-align: center;
    text-transform: uppercase;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.42);
}

body.gridlock .eikra-hero-benefits {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
    gap: 9px;
    margin: 0 auto 18px;
    padding: 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    list-style: none;
}

body.gridlock .eikra-hero-benefits li {
    display: flex;
    width: 100%;
    align-items: flex-start;
    justify-content: center;
    gap: 13px;
    padding: 0;
    color: #fff !important;
    text-align: center;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.42);
}

body.gridlock .eikra-hero-benefits li::before {
    content: "";
    flex: 0 0 10px;
    width: 10px;
    height: 17px;
    margin-top: 2px;
    border-right: 4px solid var(--eikra-gold);
    border-bottom: 4px solid var(--eikra-gold);
    transform: rotate(45deg);
}

body.gridlock .eikra-hero-countdown {
    width: 100%;
    margin: 0 auto 20px;
}

body.gridlock .eikra-hero-countdown > span {
    display: block;
    margin-bottom: 9px;
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
}

body.gridlock .eikra-hero-countdown .shop-countdown.is-flip {
    gap: 9px !important;
}

body.gridlock .eikra-hero-countdown .shop-countdown.is-flip .cd-group {
    gap: 7px;
}

body.gridlock .eikra-hero-countdown .shop-countdown.is-flip .cd-cards {
    gap: 4px !important;
}

body.gridlock .eikra-hero-countdown .shop-countdown.is-flip .cd-digit {
    width: 39px !important;
    min-width: 39px !important;
    height: 55px !important;
    min-height: 55px !important;
    border-width: 1px !important;
    border-radius: 9px !important;
    font-size: 30px !important;
}

body.gridlock .eikra-hero-countdown .shop-countdown.is-flip .cd-colon {
    margin-top: 9px !important;
    color: #fff;
    font-size: 29px !important;
}

body.gridlock .eikra-hero-countdown .shop-countdown.is-flip .cd-group small {
    color: #fff;
    font-size: 13px !important;
    font-weight: 700;
}

body.gridlock .eikra-hero-cta {
    justify-content: center;
}

body.gridlock .eikra-hero-cta .eikra-button {
    display: inline-flex;
    min-height: 64px;
    align-items: center;
    justify-content: center;
    padding: 17px 36px;
    border-radius: 999px;
    font-size: 20px;
    font-weight: 800;
}

/* Hero залишається візуально цілісним, а орнамент не прилипає до фото. */
body.gridlock .eikra-hero + .eikra-ornament {
    margin-top: 12px;
}

/* ===== CRO: круглий помічник з підбору + коротка текстова підказка ===== */
body.gridlock .callback-fab {
    right: 16px;
    left: auto;
    width: 56px;
    height: 56px;
    min-width: 56px;
    min-height: 56px;
    padding: 0;
    border-radius: 50%;
    transition: filter 180ms ease, transform 180ms ease;
}

body.gridlock .callback-fab:hover {
    transform: translateY(-2px);
}

body.gridlock .callback-fab:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}

body.gridlock .callback-fab span {
    position: absolute;
    right: 66px;
    left: auto;
    bottom: 6px;
    display: block;
    width: max-content;
    max-width: 210px;
    padding: 9px 12px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 5px 20px rgba(60, 42, 33, 0.18);
    color: var(--eikra-brown);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
    text-align: left;
    pointer-events: none;
}

body.gridlock .callback-fab span::before {
    content: "";
    position: absolute;
    right: -6px;
    left: auto;
    bottom: 13px;
    width: 12px;
    height: 12px;
    background: #fff;
    transform: rotate(45deg);
}

body.gridlock [data-callback-modal] .callback-intro {
    max-width: 430px;
    margin: 0 auto 24px;
    color: var(--eikra-brown);
    font-size: 17px;
    line-height: 1.55;
    text-align: center;
}

/* Попап консультації: світла картка з чіткою ієрархією форми. */
body.gridlock [data-callback-modal].shop-one-click-overlay {
    padding: clamp(14px, 3vw, 30px);
    background: rgba(45, 28, 23, 0.2);
}

body.gridlock [data-callback-modal] .shop-one-click-backdrop {
    background: rgba(35, 19, 15, 0.62) !important;
    backdrop-filter: blur(5px);
}

body.gridlock [data-callback-modal] .shop-one-click-dialog {
    width: min(540px, 100%);
    max-height: calc(100dvh - 28px);
    overflow-y: auto;
    padding: 48px 48px 42px;
    border: 1px solid rgba(115, 87, 81, 0.14);
    border-radius: 30px;
    background:
        radial-gradient(circle at 50% 0, rgba(191, 67, 66, 0.1), transparent 190px),
        #fffaf3;
    box-shadow: 0 28px 80px rgba(35, 19, 15, 0.34);
}

body.gridlock [data-callback-modal] .shop-one-click-dialog h2 {
    max-width: 440px;
    margin: 0 auto 12px;
    color: var(--eikra-brown);
    font-size: 34px;
    font-weight: 800;
    line-height: 1.12;
    text-transform: none;
}

body.gridlock [data-callback-modal] .shop-one-click-close {
    top: 12px;
    right: 12px;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 50% !important;
    color: var(--eikra-brown) !important;
    font-size: 30px;
    transition: background-color 160ms ease, color 160ms ease;
}

body.gridlock [data-callback-modal] .shop-one-click-close:hover,
body.gridlock [data-callback-modal] .shop-one-click-close:focus-visible {
    background: rgba(191, 67, 66, 0.1) !important;
    color: var(--eikra-red) !important;
}

body.gridlock [data-callback-modal] .callback-modal-icon {
    display: grid;
    width: 60px;
    height: 60px;
    margin: 0 auto 14px;
    place-items: center;
    border-radius: 50%;
    background: var(--eikra-red);
    box-shadow: 0 10px 28px rgba(191, 67, 66, 0.25);
    color: #fff;
}

body.gridlock [data-callback-modal] .callback-modal-kicker {
    margin: 0 0 8px;
    color: var(--eikra-red);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
}

body.gridlock [data-callback-modal] .shop-one-click-dialog form {
    margin: 0;
}

body.gridlock [data-callback-modal] .shop-one-click-dialog label {
    margin-bottom: 14px;
    color: var(--eikra-brown);
    font-size: 15px;
    font-weight: 700;
}

body.gridlock [data-callback-modal] .shop-one-click-dialog label span {
    margin-bottom: 7px;
}

body.gridlock [data-callback-modal] .shop-one-click-dialog input {
    height: 56px;
    min-height: 56px;
    padding: 0 18px !important;
    border: 1px solid rgba(115, 87, 81, 0.28) !important;
    border-radius: 14px !important;
    background: #fff !important;
    font-size: 16px;
    transition: border-color 160ms ease, box-shadow 160ms ease;
}

body.gridlock [data-callback-modal] .shop-one-click-dialog input:focus {
    border-color: var(--eikra-red) !important;
    outline: 0;
    box-shadow: 0 0 0 4px rgba(191, 67, 66, 0.12);
}

body.gridlock [data-callback-modal] .shop-one-click-dialog .button {
    min-height: 56px;
    margin-top: 6px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 800;
    transition: background-color 160ms ease, transform 160ms ease;
}

body.gridlock [data-callback-modal] .shop-one-click-dialog .button:hover,
body.gridlock [data-callback-modal] .shop-one-click-dialog .button:focus-visible {
    background: var(--eikra-red-dark);
    transform: translateY(-1px);
}


/* Правий стек: помічник унизу, кнопка «вгору» над ним. */
body.gridlock .scroll-top-fab {
    bottom: 84px;
}

/* ===== CRO: помітний промо-таймер усередині кожної товарної картки ===== */
body.gridlock .product-block .card-countdown {
    display: flex;
    width: calc(100% - 16px);
    min-height: 42px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin: 8px 8px 10px;
    padding: 6px 9px;
    border: 1px solid var(--eikra-red);
    border-radius: 10px;
    background: #fff;
    color: var(--eikra-red);
    font-variant-numeric: tabular-nums;
}

body.gridlock .product-block .card-countdown-label {
    font-size: 10px;
    font-weight: 700;
    line-height: 1.15;
    text-transform: uppercase;
}

body.gridlock .product-block .card-countdown-value {
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

@media (max-width: 979px) {
    body.gridlock .eikra-hero {
        height: clamp(520px, 62vw, 610px);
        aspect-ratio: auto;
    }

    body.gridlock .eikra-hero-overlay {
        align-items: center;
        background: radial-gradient(ellipse at center, rgba(29, 15, 11, 0.8) 0%, rgba(29, 15, 11, 0.64) 54%, rgba(29, 15, 11, 0.3) 100%);
    }

    body.gridlock .eikra-hero-overlay-grid {
        display: flex;
        width: calc(100% - 28px);
    }

    body.gridlock .eikra-hero-overlay-inner {
        max-width: 760px;
        padding: 24px 0 52px;
    }

    body.gridlock .eikra-hero-overlay .eikra-hero-price {
        min-height: 39px;
        margin-bottom: 10px;
        padding: 8px 16px;
        font-size: 17px;
    }

    body.gridlock .eikra-hero-overlay h1 {
        margin-bottom: 12px;
        font-size: clamp(31px, 8vw, 40px);
        line-height: 1.08;
    }

    body.gridlock .eikra-hero-benefits {
        gap: 5px;
        margin-bottom: 12px;
        font-size: 17px;
    }

    body.gridlock .eikra-hero-countdown {
        margin-bottom: 13px;
    }

    body.gridlock .eikra-hero-countdown > span {
        margin-bottom: 6px;
        font-size: 13px;
    }

    body.gridlock .eikra-hero-countdown .shop-countdown.is-flip .cd-digit {
        width: 29px !important;
        min-width: 29px !important;
        height: 42px !important;
        min-height: 42px !important;
        font-size: 23px !important;
    }

    body.gridlock .eikra-hero-countdown .shop-countdown.is-flip .cd-colon {
        margin-top: 5px !important;
        font-size: 22px !important;
    }

    body.gridlock .eikra-hero-countdown .shop-countdown.is-flip .cd-group small {
        font-size: 10px !important;
    }

    body.gridlock .eikra-hero-cta .eikra-button {
        width: min(100%, 420px);
        min-height: 58px;
        padding: 15px 23px;
        font-size: 18px;
    }

    body.gridlock [data-callback-modal] .shop-one-click-dialog {
        padding: 44px 36px 38px;
    }

    body.gridlock .callback-fab {
        width: 52px;
        height: 52px;
        min-width: 52px;
        min-height: 52px;
    }

    body.gridlock .callback-fab span {
        right: 60px;
        left: auto;
        bottom: 4px;
        width: 150px;
        max-width: calc(100vw - 84px);
        font-size: 12px;
        white-space: normal;
    }

    body.gridlock .callback-fab {
        right: 12px;
        left: auto;
        bottom: calc(12px + env(safe-area-inset-bottom));
    }

    body.gridlock .scroll-top-fab {
        right: 12px;
        bottom: calc(76px + env(safe-area-inset-bottom));
    }

    body.gridlock:has(.shop-mobile-buy-bar.is-visible) .callback-fab {
        bottom: calc(84px + env(safe-area-inset-bottom));
    }

    body.gridlock:has(.shop-mobile-buy-bar.is-visible) .scroll-top-fab {
        bottom: calc(148px + env(safe-area-inset-bottom));
    }

    body.gridlock .product-block .card-countdown {
        min-height: 38px;
        gap: 5px;
        margin: 6px 8px 8px;
        padding: 5px 6px;
    }

    body.gridlock .product-block .card-countdown-label { font-size: 9px; }
    body.gridlock .product-block .card-countdown-value { font-size: 11px; }
}

@media (max-width: 739px) {
    body.gridlock .eikra-hero {
        height: clamp(520px, 115vw, 680px);
        aspect-ratio: auto;
    }

    body.gridlock .eikra-hero-overlay-grid {
        width: calc(100% - 16px);
    }

    body.gridlock .eikra-hero-overlay-inner {
        padding: 20px 0 54px;
    }

    body.gridlock .eikra-hero .eikra-slider-arrow {
        display: none !important;
    }

    body.gridlock .eikra-hero-countdown .shop-countdown.is-flip {
        gap: 3px !important;
    }

    body.gridlock .eikra-hero-countdown .shop-countdown.is-flip .cd-group {
        gap: 4px;
    }

    body.gridlock .eikra-hero-countdown .shop-countdown.is-flip .cd-cards {
        gap: 2px !important;
    }

    body.gridlock .eikra-hero-countdown .shop-countdown.is-flip .cd-digit {
        width: 25px !important;
        min-width: 25px !important;
    }

    body.gridlock .eikra-hero-countdown .shop-countdown.is-flip .cd-colon {
        font-size: 18px !important;
    }

    body.gridlock .eikra-hero + .eikra-ornament {
        margin-top: 8px;
    }

    body.gridlock [data-callback-modal] .shop-one-click-dialog {
        padding: 38px 20px 26px;
        border-radius: 24px;
    }

    body.gridlock [data-callback-modal] .callback-modal-icon {
        width: 54px;
        height: 54px;
        margin-bottom: 12px;
    }

    body.gridlock [data-callback-modal] .shop-one-click-dialog h2 {
        font-size: 28px;
    }

    body.gridlock [data-callback-modal] .callback-intro {
        margin-bottom: 20px;
        font-size: 16px;
    }
}

@media (max-width: 390px) and (max-height: 700px) {
    body.gridlock .eikra-hero-overlay-inner { padding-top: 12px; }
    body.gridlock .eikra-hero-overlay h1 { font-size: 31px; }
    body.gridlock .eikra-hero-benefits { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
    body.gridlock .callback-fab { transition: none; }
}

/* ===== Головна: секції від «єІкра завжди на вашому столі» ===== */

/* Картки товарів і смаків не створюють шар над sticky-хедером. */
body.gridlock #rzn1h {
    isolation: isolate;
}

body.gridlock .eikra-home-products,
body.gridlock .eikra-flavors,
body.gridlock .eikra-home-products .products-row,
body.gridlock .eikra-carousel {
    position: relative;
    z-index: 0;
    isolation: isolate;
}

body.gridlock .eikra-home-products .product-block,
body.gridlock .eikra-home-products .product-image,
body.gridlock .eikra-flavor-card,
body.gridlock .eikra-flavor-card img {
    z-index: 0 !important;
}

body.gridlock .eikra-section-heading {
    max-width: 760px;
    margin: 0 auto 38px;
    text-align: center;
}

body.gridlock .eikra-section-heading.is-left {
    max-width: 660px;
    margin-right: auto;
    margin-left: 0;
    text-align: left;
}

body.gridlock .eikra-section-eyebrow {
    margin: 0 0 10px !important;
    color: var(--eikra-red) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase;
}

body.gridlock .eikra-section-heading h2 {
    margin: 0 0 12px;
    color: var(--eikra-brown);
    font-size: clamp(32px, 4vw, 54px);
    line-height: 1.04;
    text-transform: none;
}

body.gridlock .eikra-section-heading > p:last-child {
    max-width: 650px;
    margin: 0 auto;
    color: #604b46;
    font-size: 17px;
    line-height: 1.6;
}

body.gridlock .eikra-section-heading.is-left > p:last-child {
    margin-left: 0;
}

body.gridlock .eikra-about {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(430px, 0.92fr);
    min-height: 680px;
    background: var(--eikra-brown) !important;
}

body.gridlock .eikra-about > picture {
    min-height: 680px;
    overflow: hidden;
}

body.gridlock .eikra-about > picture img {
    transition: transform 700ms ease !important;
}

body.gridlock .eikra-about:hover > picture img {
    transform: scale(1.025) !important;
}

body.gridlock .eikra-about-content {
    min-height: 680px;
    box-sizing: border-box;
    padding: clamp(52px, 6vw, 92px);
    background: var(--eikra-brown);
}

body.gridlock .eikra-about-content .eikra-section-eyebrow {
    color: #f2b1a6 !important;
}

body.gridlock .eikra-about-content h2 {
    max-width: 560px;
    margin: 0 0 24px;
    color: #fff4e6;
    font-size: clamp(34px, 4.2vw, 60px);
    font-weight: 700;
    line-height: 1.03;
    text-transform: none;
}

body.gridlock .eikra-about-content p:not(.eikra-section-eyebrow) {
    max-width: 620px;
    margin: 0 0 15px;
    color: #f3e6d7;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.65;
}

body.gridlock .eikra-about-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 25px 0 24px;
    padding: 0;
    list-style: none;
}

body.gridlock .eikra-about-facts li {
    display: flex;
    min-height: 58px;
    align-items: center;
    padding: 11px 14px 11px 34px;
    border-top: 1px solid rgba(255, 244, 230, 0.34);
    color: #fff4e6;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    position: relative;
}

body.gridlock .eikra-about-facts li::before {
    content: "";
    position: absolute;
    left: 12px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--eikra-red);
    box-shadow: 0 0 0 4px rgba(191, 67, 66, 0.2);
}

body.gridlock .eikra-about-content .eikra-button {
    min-height: 48px;
    margin-top: 0;
    padding: 12px 28px;
    border-radius: 0;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.04em;
}

body.gridlock .eikra-reviews {
    padding: clamp(68px, 8vw, 112px) 0;
    overflow: hidden;
    background: #f7efe5;
}

body.gridlock .eikra-reviews-marquee {
    height: 620px;
    overflow: hidden;
    margin-top: 10px;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 7%, #000 93%, transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0, #000 7%, #000 93%, transparent 100%);
}

body.gridlock .eikra-reviews-track {
    will-change: transform;
}

body.gridlock .eikra-reviews-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    padding-bottom: 16px;
}

body.gridlock .eikra-review-card {
    display: flex;
    min-height: 272px;
    box-sizing: border-box;
    flex-direction: column;
    align-items: stretch;
    padding: 22px;
    border: 1px solid rgba(115, 87, 81, 0.24);
    border-radius: 12px;
    background: #fffaf4;
    box-shadow: 0 10px 30px rgba(74, 48, 42, 0.06);
    transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

body.gridlock .eikra-review-card:hover,
body.gridlock .eikra-review-card:focus-within {
    border-color: var(--eikra-red);
    box-shadow: 0 14px 36px rgba(74, 48, 42, 0.11);
    transform: translateY(-2px);
}

body.gridlock .eikra-review-stars {
    display: flex;
    gap: 3px;
    margin-bottom: 13px;
}

body.gridlock .eikra-review-stars svg {
    fill: var(--eikra-gold);
}

body.gridlock .eikra-review-stars svg.is-empty {
    fill: #d8cfc3;
}

body.gridlock .eikra-review-card blockquote {
    flex: 1;
    margin: 0 0 18px;
    color: #3f302d;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.58;
}

body.gridlock .eikra-review-author {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 17px;
}

body.gridlock .eikra-review-avatar {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    place-items: center;
    border-radius: 50%;
    background: var(--eikra-red);
    color: #fff;
    font-size: 15px;
    font-weight: 800;
}

body.gridlock .eikra-review-author > span:last-child {
    display: grid;
    gap: 2px;
}

body.gridlock .eikra-review-author strong {
    color: var(--eikra-brown);
    font-size: 14px;
}

body.gridlock .eikra-review-author small {
    color: #8d7771;
    font-size: 11px;
}

body.gridlock .eikra-review-product {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 18px;
    gap: 10px;
    align-items: center;
    min-height: 58px;
    padding-top: 13px;
    border-top: 1px solid rgba(115, 87, 81, 0.16);
    color: var(--eikra-brown);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    text-decoration: none;
}

body.gridlock .eikra-review-product img {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 48px !important;
    height: 48px !important;
    max-height: none !important;
    border-radius: 8px !important;
    object-fit: cover !important;
    opacity: 1 !important;
}

body.gridlock .eikra-review-product svg {
    color: var(--eikra-red);
    transition: transform 180ms ease;
}

body.gridlock .eikra-review-product:hover,
body.gridlock .eikra-review-product:focus-visible {
    color: var(--eikra-red);
}

body.gridlock .eikra-review-product:hover svg,
body.gridlock .eikra-review-product:focus-visible svg {
    transform: translate(2px, -2px);
}

body.gridlock .eikra-reviews-nav {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    margin: 0 auto;
    padding: 0;
    border: 1px solid rgba(115, 87, 81, 0.62);
    border-radius: 50%;
    background: #fffaf4;
    color: var(--eikra-brown);
    cursor: pointer;
    transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease;
}

body.gridlock .eikra-reviews-nav:hover,
body.gridlock .eikra-reviews-nav:focus-visible {
    border-color: var(--eikra-red);
    background: var(--eikra-red);
    color: #fff;
}

body.gridlock .eikra-reviews-nav.is-up { margin-bottom: 12px; }
body.gridlock .eikra-reviews-nav.is-down { margin-top: 12px; }

body.gridlock .eikra-reviews-empty {
    margin: 0;
    padding: 32px;
    border: 1px solid rgba(115, 87, 81, 0.2);
    text-align: center;
}

body.gridlock .eikra-video {
    padding: clamp(70px, 8vw, 112px) 0;
    background: var(--eikra-beige);
}

body.gridlock .eikra-video iframe {
    width: 100% !important;
    max-width: none;
    box-sizing: border-box;
    border: 1px solid rgba(115, 87, 81, 0.36) !important;
    border-radius: 0;
    box-shadow: 0 22px 60px rgba(74, 48, 42, 0.16);
}

body.gridlock .eikra-gallery {
    padding: clamp(70px, 8vw, 112px) 0;
    background: var(--eikra-brown);
}

body.gridlock .eikra-gallery .eikra-section-heading h2,
body.gridlock .eikra-gallery .eikra-section-heading > p:last-child {
    color: #fff4e6;
}

body.gridlock .eikra-gallery .eikra-section-eyebrow {
    color: #f2b1a6 !important;
}

body.gridlock .eikra-gallery-grid {
    gap: 18px;
}

body.gridlock .eikra-gallery-grid a {
    overflow: hidden;
    background: #5b413c;
}

body.gridlock .eikra-gallery-grid img {
    transition: transform 420ms ease, opacity 180ms ease !important;
}

body.gridlock .eikra-gallery-grid a:hover img,
body.gridlock .eikra-gallery-grid a:focus-visible img {
    opacity: 0.92;
    transform: scale(1.035);
}

@media (min-width: 740px) {
    body.gridlock .eikra-gallery-grid .is-clone { display: none; }
}

@media (min-width: 740px) and (max-width: 979px) {
    body.gridlock .eikra-about {
        grid-template-columns: 0.9fr 1.1fr;
    }

    body.gridlock .eikra-about-content {
        padding: 44px 34px;
    }

    body.gridlock .eikra-about-facts {
        grid-template-columns: 1fr;
    }

    body.gridlock .eikra-about-facts li {
        min-height: 44px;
    }

    body.gridlock .eikra-reviews-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 739px) {
    body.gridlock .eikra-section-heading {
        margin-bottom: 28px;
        padding: 0 18px;
    }

    body.gridlock .eikra-section-heading h2 {
        font-size: 36px;
    }

    body.gridlock .eikra-section-heading > p:last-child {
        font-size: 15px;
    }

    body.gridlock .eikra-about {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    body.gridlock .eikra-about > picture {
        min-height: 0;
        aspect-ratio: 4 / 5;
    }

    body.gridlock .eikra-about-content {
        min-height: 0;
        padding: 42px 20px 48px;
    }

    body.gridlock .eikra-about-content h2 {
        font-size: 40px;
    }

    body.gridlock .eikra-about-content p:not(.eikra-section-eyebrow) {
        font-size: 15px;
    }

    body.gridlock .eikra-about-facts {
        grid-template-columns: 1fr;
        gap: 0;
    }

    body.gridlock .eikra-about-facts li {
        min-height: 46px;
    }

    body.gridlock .eikra-about-content .eikra-button {
        width: 100%;
        box-sizing: border-box;
    }

    body.gridlock .eikra-reviews {
        padding: 62px 0;
    }

    body.gridlock .eikra-reviews-marquee {
        height: 590px;
    }

    body.gridlock .eikra-reviews-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        padding: 0 12px 12px;
    }

    body.gridlock .eikra-review-card {
        min-height: 280px;
        padding: 20px;
    }

    body.gridlock .eikra-video {
        padding: 58px 0 64px;
    }

    body.gridlock .eikra-video iframe {
        width: calc(100% - 24px) !important;
    }

    body.gridlock .eikra-gallery {
        padding: 60px 0 68px;
    }

    body.gridlock .eikra-gallery .eikra-section-heading {
        padding-right: 20px;
        padding-left: 20px;
    }

    body.gridlock .eikra-gallery-grid .is-clone {
        display: block !important;
    }
}

/* Badge reCAPTCHA перенесений за лівий край, щоб не затуляти callback і кошик. */
.grecaptcha-badge {
    right: auto !important;
    left: -10000px !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

body.gridlock [data-callback-modal] .shop-one-click-close {
    width: 44px;
    height: 44px;
    transition: background-color 180ms ease, color 180ms ease;
}

body.gridlock [data-callback-modal] .shop-one-click-close:hover,
body.gridlock [data-callback-modal] .shop-one-click-close:focus-visible {
    background: rgba(191, 67, 66, 0.1) !important;
    color: var(--eikra-red) !important;
    transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
    body.gridlock .eikra-about > picture img,
    body.gridlock .eikra-review-card,
    body.gridlock .eikra-review-product svg,
    body.gridlock .eikra-gallery-grid img {
        transition: none !important;
    }

    body.gridlock .eikra-reviews-marquee {
        overflow-y: auto;
        -webkit-mask-image: none;
        mask-image: none;
    }

    body.gridlock .eikra-reviews-grid.is-duplicate { display: none; }
}

/* ===== 21st.dev patterns adapted for єІкра: toolbar, video dialog, image-card gallery ===== */

body.gridlock #rzn1h,
body.gridlock.header-fixed #rzn1h {
    z-index: 1000 !important;
}

/* Product media can animate only inside its own stacking context. */
body.gridlock .products-row,
body.gridlock .products-row > .product-block,
body.gridlock .product-block,
body.gridlock .product-block .product-image {
    position: relative !important;
    z-index: 0 !important;
    isolation: isolate;
}

body.gridlock .product-block .product-image > .image-main,
body.gridlock .product-block .product-image > .image-additional,
body.gridlock .product-block .product-image picture,
body.gridlock .product-block .product-image img {
    z-index: 0 !important;
}

@media (min-width: 980px) {
    body.gridlock #rzn1h .shop-header-row {
        grid-template-columns: 138px minmax(0, 1fr) auto !important;
        gap: clamp(24px, 3vw, 52px);
        width: min(1440px, calc(100% - 48px)) !important;
        min-height: 88px;
    }

    body.gridlock .shop-header-logo {
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
        width: 132px;
    }

    body.gridlock #logo-q1aqp img {
        width: 132px !important;
    }

    body.gridlock .shop-primary-nav {
        position: relative;
        grid-column: 2;
        grid-row: 1;
        justify-self: center;
    }

    body.gridlock .shop-primary-nav > ul {
        flex-wrap: nowrap;
        align-items: center;
        gap: 3px;
    }

    body.gridlock .shop-primary-nav > ul > li > a,
    body.gridlock .shop-catalog-trigger {
        display: inline-flex;
        min-height: 44px;
        box-sizing: border-box;
        align-items: center;
        justify-content: center;
        gap: 7px;
        padding: 0 15px !important;
        border: 0;
        border-radius: 999px;
        background: transparent;
        color: var(--eikra-brown) !important;
        font: inherit;
        font-size: 13px !important;
        font-weight: 700;
        line-height: 1.2;
        text-decoration: none;
        text-transform: none;
        white-space: nowrap;
        cursor: pointer;
        transition: background-color 180ms ease, color 180ms ease;
    }

    body.gridlock .shop-primary-nav > ul > li > a:hover,
    body.gridlock .shop-primary-nav > ul > li > a:focus-visible,
    body.gridlock .shop-primary-nav > ul > li > a[aria-current="page"],
    body.gridlock .shop-catalog-trigger:hover,
    body.gridlock .shop-catalog-trigger:focus-visible,
    body.gridlock .shop-catalog-menu.is-open .shop-catalog-trigger {
        background: rgba(191, 67, 66, 0.11);
        color: var(--eikra-red) !important;
        outline: none;
    }

    body.gridlock .shop-catalog-trigger svg {
        transition: transform 180ms ease;
    }

    body.gridlock .shop-catalog-menu.is-open .shop-catalog-trigger svg {
        transform: rotate(180deg);
    }

    body.gridlock .shop-catalog-dropdown {
        position: absolute;
        top: calc(100% + 14px);
        left: 50%;
        z-index: 1010;
        width: min(780px, calc(100vw - 48px));
        box-sizing: border-box;
        padding: 22px;
        border: 1px solid rgba(115, 87, 81, 0.22);
        border-radius: 22px;
        background: #fffaf4;
        box-shadow: 0 24px 70px rgba(56, 35, 30, 0.2);
        opacity: 0;
        pointer-events: none;
        transform: translate(-50%, -8px);
        transition: opacity 180ms ease, transform 180ms ease;
    }

    body.gridlock .shop-catalog-menu.is-open .shop-catalog-dropdown {
        opacity: 1;
        pointer-events: auto;
        transform: translate(-50%, 0);
    }

    body.gridlock .shop-catalog-heading {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        padding: 0 2px 16px;
        border-bottom: 1px solid rgba(115, 87, 81, 0.16);
    }

    body.gridlock .shop-catalog-heading > span {
        color: var(--eikra-brown);
        font-size: 21px;
        font-weight: 800;
    }

    body.gridlock .shop-catalog-heading > a {
        color: var(--eikra-red) !important;
        font-size: 13px !important;
        font-weight: 800;
        text-decoration: none;
        text-transform: none;
    }

    body.gridlock .shop-catalog-grid,
    body.gridlock .shop-catalog-grid ul {
        margin: 0 !important;
        padding: 0 !important;
        list-style: none;
    }

    body.gridlock .shop-catalog-grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 22px 18px !important;
        padding-top: 18px !important;
    }

    body.gridlock .shop-catalog-grid > li {
        min-width: 0;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.gridlock .shop-catalog-category {
        display: flex !important;
        min-height: 44px;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 9px 11px !important;
        border-radius: 12px;
        background: var(--eikra-beige);
        color: var(--eikra-brown) !important;
        font-size: 13px !important;
        font-weight: 800;
        text-decoration: none;
        text-transform: none;
    }

    body.gridlock .shop-catalog-category:hover,
    body.gridlock .shop-catalog-category:focus-visible {
        background: var(--eikra-red);
        color: #fff !important;
    }

    body.gridlock .shop-catalog-grid > li > ul {
        display: grid !important;
        gap: 3px;
        padding-top: 7px !important;
    }

    body.gridlock .shop-catalog-grid > li > ul a {
        display: block;
        padding: 7px 11px !important;
        color: #745f59 !important;
        font-size: 12px !important;
        text-decoration: none;
        text-transform: none;
    }

    body.gridlock .shop-catalog-grid > li > ul a:hover,
    body.gridlock .shop-catalog-grid > li > ul a:focus-visible {
        color: var(--eikra-red) !important;
    }

    body.gridlock .shop-header-actions {
        grid-column: 3;
        grid-row: 1;
        grid-template-columns: auto 48px;
        gap: 12px;
        justify-self: end;
    }

    body.gridlock .shop-header-row p.search a {
        width: auto !important;
        min-width: 106px;
        min-height: 44px;
        padding: 0 18px !important;
        font-size: 12px !important;
        font-weight: 700;
        text-transform: none;
    }

    body.gridlock #cart-of2rl > a {
        display: grid;
        width: 44px;
        height: 44px;
        place-items: center;
    }

    body.gridlock #cart-of2rl svg {
        width: 31px !important;
        height: 31px !important;
    }

    body.gridlock #s0wf8 {
        display: none !important;
    }

    body.gridlock .eikra-hero {
        height: calc(100svh - 88px) !important;
        max-height: 820px;
        min-height: 0 !important;
        margin-top: 0 !important;
        aspect-ratio: auto !important;
    }
}

body.gridlock .eikra-hero-cta .eikra-button {
    box-sizing: border-box;
    border: 2px solid var(--eikra-red);
    font-family: inherit;
    cursor: pointer;
}

body.gridlock .eikra-hero-quick-order {
    background: var(--eikra-red) !important;
    color: #fff !important;
    box-shadow: 0 12px 32px rgba(191, 67, 66, 0.38);
}

body.gridlock .eikra-hero-quick-order:hover,
body.gridlock .eikra-hero-quick-order:focus-visible {
    border-color: var(--eikra-red-dark);
    background: var(--eikra-red-dark) !important;
    transform: translateY(-1px);
}

body.gridlock .eikra-hero-cta .is-hero-outline {
    border-color: rgba(255, 255, 255, 0.9) !important;
    background: rgba(32, 18, 14, 0.2) !important;
    color: #fff !important;
    backdrop-filter: blur(5px);
}

@media (min-width: 980px) and (max-height: 700px) {
    body.gridlock .eikra-hero-overlay-inner { padding: 16px 0 24px; }
    body.gridlock .eikra-hero-overlay .eikra-hero-price { min-height: 40px; margin-bottom: 9px; font-size: 17px; }
    body.gridlock .eikra-hero-overlay h1 { margin-bottom: 10px; font-size: clamp(36px, 4vw, 48px); }
    body.gridlock .eikra-hero-benefits { gap: 4px; margin-bottom: 9px; font-size: 17px; }
    body.gridlock .eikra-hero-countdown { margin-bottom: 10px; }
    body.gridlock .eikra-hero-countdown > span { margin-bottom: 5px; font-size: 12px; }
    body.gridlock .eikra-hero-countdown .shop-countdown.is-flip .cd-digit { width: 31px !important; min-width: 31px !important; height: 43px !important; min-height: 43px !important; font-size: 24px !important; }
    body.gridlock .eikra-hero-countdown .shop-countdown.is-flip .cd-group small { font-size: 10px !important; }
    body.gridlock .eikra-hero-cta .eikra-button { min-height: 50px; padding: 12px 24px; font-size: 16px; }
}

body.gridlock .eikra-card-actions {
    display: grid !important;
    grid-template-columns: 0.72fr 1.28fr;
    gap: 8px;
    min-height: 44px;
}

body.gridlock .product-block .eikra-card-actions a.buy-button-details,
body.gridlock .product-block .eikra-card-actions .eikra-card-quick-order {
    display: inline-flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 8px 10px !important;
    border: 1px solid var(--eikra-red) !important;
    border-radius: 999px !important;
    font: inherit;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
}

body.gridlock .product-block .eikra-card-actions a.buy-button-details {
    background: transparent !important;
    color: var(--eikra-red) !important;
}

body.gridlock .product-block .eikra-card-actions .eikra-card-quick-order {
    background: var(--eikra-red) !important;
    color: #fff !important;
}

body.gridlock .product-block .eikra-card-actions a.buy-button-details:hover,
body.gridlock .product-block .eikra-card-actions a.buy-button-details:focus-visible,
body.gridlock .product-block .eikra-card-actions .eikra-card-quick-order:hover,
body.gridlock .product-block .eikra-card-actions .eikra-card-quick-order:focus-visible {
    border-color: var(--eikra-red-dark) !important;
    background: var(--eikra-red-dark) !important;
    color: #fff !important;
    transform: none !important;
}

body.gridlock .shop-one-click-context {
    max-width: 330px;
    margin: -12px auto 22px;
    color: #6c5550;
    font-size: 14px;
    line-height: 1.45;
    text-align: center;
}

body.gridlock .shop-one-click-dialog .button:disabled {
    opacity: 0.68;
    cursor: wait;
}

body.eikra-media-open {
    overflow: hidden;
}

body.gridlock .eikra-video {
    padding: clamp(68px, 7vw, 104px) 0 !important;
    background: var(--eikra-beige) !important;
}

body.gridlock .eikra-video-card {
    display: grid;
    grid-template-columns: minmax(320px, 0.8fr) minmax(0, 1.2fr);
    overflow: hidden;
    border: 1px solid rgba(115, 87, 81, 0.22);
    border-radius: 32px;
    background: #fffaf4;
    box-shadow: 0 22px 65px rgba(74, 48, 42, 0.11);
}

body.gridlock .eikra-video-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: clamp(38px, 5vw, 70px);
}

body.gridlock .eikra-video-copy h2 {
    margin: 0 0 20px;
    color: var(--eikra-brown);
    font-size: clamp(38px, 4.2vw, 62px);
    line-height: 1.02;
    text-transform: none;
}

body.gridlock .eikra-video-copy > p:not(.eikra-section-eyebrow) {
    margin: 0 0 30px;
    color: #644e49;
    font-size: 17px;
    line-height: 1.65;
}

body.gridlock .eikra-media-button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    gap: 11px;
    padding: 7px 20px 7px 8px;
    border: 0;
    border-radius: 999px;
    background: var(--eikra-red);
    color: #fff;
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}

body.gridlock .eikra-play-icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 50%;
    background: #fff;
    color: var(--eikra-red);
}

body.gridlock .eikra-video-preview {
    position: relative;
    min-height: 540px;
    overflow: hidden;
    padding: 0;
    border: 0;
    background: var(--eikra-brown);
    cursor: pointer;
}

body.gridlock .eikra-video-preview img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover;
    transition: transform 500ms cubic-bezier(.2,.7,.2,1);
}

body.gridlock .eikra-video-preview-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(36, 18, 14, 0.05), rgba(36, 18, 14, 0.52));
}

body.gridlock .eikra-video-preview-play {
    position: absolute;
    top: 50%;
    left: 50%;
    display: grid;
    width: 82px;
    height: 82px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.65);
    border-radius: 50%;
    background: rgba(255, 250, 244, 0.92);
    color: var(--eikra-red);
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.28);
    transform: translate(-50%, -50%);
}

body.gridlock .eikra-video-preview-label {
    position: absolute;
    right: 24px;
    bottom: 22px;
    padding: 9px 13px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 999px;
    background: rgba(42, 24, 19, 0.45);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    backdrop-filter: blur(8px);
}

body.gridlock .eikra-video-preview:hover img,
body.gridlock .eikra-video-preview:focus-visible img {
    transform: scale(1.035);
}

body.gridlock .eikra-media-dialog[hidden] {
    display: none !important;
}

body.gridlock .eikra-media-dialog {
    position: fixed;
    inset: 0;
    z-index: 100400;
    display: grid;
    box-sizing: border-box;
    place-items: center;
    padding: 28px;
}

body.gridlock .eikra-media-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: rgba(34, 20, 16, 0.86);
    backdrop-filter: blur(10px);
}

body.gridlock .eikra-video-dialog-frame,
body.gridlock .eikra-gallery-dialog-frame {
    position: relative;
    z-index: 1;
    width: min(1100px, 100%);
}

body.gridlock .eikra-video-dialog-frame {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 22px;
    background: #160e0c;
    box-shadow: 0 30px 100px rgba(0, 0, 0, 0.48);
}

body.gridlock .eikra-video-dialog-frame iframe {
    display: block;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
}

body.gridlock .eikra-media-close {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 4;
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.42);
    border-radius: 50%;
    background: rgba(32, 18, 14, 0.68);
    color: #fff;
    font: inherit;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
    backdrop-filter: blur(8px);
}

body.gridlock .eikra-gallery {
    padding: clamp(68px, 7vw, 104px) 0 !important;
    background: #fffaf4 !important;
}

body.gridlock .eikra-gallery .eikra-section-heading h2,
body.gridlock .eikra-gallery .eikra-section-heading > p:last-child {
    color: var(--eikra-brown) !important;
}

body.gridlock .eikra-gallery .eikra-section-eyebrow {
    color: var(--eikra-red) !important;
}

body.gridlock .eikra-gallery-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: auto !important;
    animation: none !important;
}

body.gridlock .eikra-gallery-card {
    position: relative;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    padding: 0;
    border: 0;
    border-radius: 20px;
    background: var(--eikra-brown);
    box-shadow: 0 12px 34px rgba(74, 48, 42, 0.11);
    cursor: zoom-in;
}

body.gridlock .eikra-gallery-card:nth-child(even) {
    margin-top: 36px;
    margin-bottom: -36px;
}

body.gridlock .eikra-gallery-card img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover;
    transition: transform 450ms cubic-bezier(.2,.7,.2,1) !important;
}

body.gridlock .eikra-gallery-card::after {
    content: "";
    position: absolute;
    inset: 40% 0 0;
    background: linear-gradient(180deg, transparent, rgba(30, 16, 12, 0.72));
}

body.gridlock .eikra-gallery-card > span {
    position: absolute;
    right: 48px;
    bottom: 20px;
    left: 18px;
    z-index: 2;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    text-align: left;
}

body.gridlock .eikra-gallery-card > svg {
    position: absolute;
    right: 18px;
    bottom: 20px;
    z-index: 2;
    color: #fff;
}

body.gridlock .eikra-gallery-card:hover img,
body.gridlock .eikra-gallery-card:focus-visible img {
    transform: scale(1.045);
}

body.gridlock .eikra-gallery-dialog-frame {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) 54px;
    align-items: center;
    gap: 16px;
}

body.gridlock .eikra-gallery-dialog-frame figure {
    position: relative;
    display: grid;
    max-height: calc(100svh - 56px);
    margin: 0;
    place-items: center;
}

body.gridlock .eikra-gallery-dialog-frame figure > img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: calc(100svh - 96px) !important;
    border-radius: 18px;
    object-fit: contain;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.38);
}

body.gridlock .eikra-gallery-dialog-frame figcaption {
    position: absolute;
    right: 14px;
    bottom: 14px;
    left: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 16px;
    border-radius: 12px;
    background: rgba(35, 20, 16, 0.68);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    backdrop-filter: blur(8px);
}

body.gridlock .eikra-gallery-dialog-frame figcaption small {
    font-size: 12px;
    white-space: nowrap;
}

body.gridlock .eikra-gallery-dialog-arrow {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.46);
    border-radius: 50%;
    background: rgba(255, 250, 244, 0.12);
    color: #fff;
    font: inherit;
    font-size: 34px;
    cursor: pointer;
}

@media (max-width: 979px) {
    body.gridlock .eikra-card-actions {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    body.gridlock .product-block .eikra-card-actions a.buy-button-details,
    body.gridlock .product-block .eikra-card-actions .eikra-card-quick-order {
        min-height: 44px !important;
        padding: 8px 7px !important;
        font-size: 9px !important;
    }

    body.gridlock .eikra-video-card {
        grid-template-columns: 1fr;
    }

    body.gridlock .eikra-video-preview {
        min-height: 430px;
    }

    body.gridlock .eikra-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.gridlock .eikra-gallery-card:nth-child(even) {
        margin-top: 24px;
        margin-bottom: -24px;
    }
}

@media (max-width: 739px) {
    body.gridlock .eikra-hero {
        height: calc(100svh - 60px) !important;
        min-height: 520px !important;
        max-height: 680px;
    }

    body.gridlock .eikra-hero-cta {
        width: 100%;
        flex-wrap: nowrap;
        gap: 7px;
    }

    body.gridlock .eikra-hero-cta .eikra-button {
        width: auto;
        min-width: 0;
        min-height: 48px;
        flex: 1 1 50%;
        padding: 9px 8px;
        font-size: 12px;
        line-height: 1.15;
    }

    body.gridlock .eikra-video,
    body.gridlock .eikra-gallery {
        padding: 58px 0 66px !important;
    }

    body.gridlock .eikra-video-card {
        border-radius: 22px;
    }

    body.gridlock .eikra-video-copy {
        padding: 34px 22px 38px;
    }

    body.gridlock .eikra-video-copy h2 {
        font-size: 40px;
    }

    body.gridlock .eikra-video-copy > p:not(.eikra-section-eyebrow) {
        margin-bottom: 24px;
        font-size: 15px;
    }

    body.gridlock .eikra-video-preview {
        min-height: 330px;
    }

    body.gridlock .eikra-video-preview-play {
        width: 68px;
        height: 68px;
    }

    body.gridlock .eikra-gallery > .eikra-container {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    body.gridlock .eikra-gallery .eikra-section-heading {
        padding: 0 20px;
    }

    body.gridlock .eikra-gallery-grid {
        display: flex !important;
        gap: 12px !important;
        width: 100% !important;
        box-sizing: border-box;
        overflow-x: auto;
        padding: 0 20px 8px;
        scroll-padding-left: 20px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    body.gridlock .eikra-gallery-grid::-webkit-scrollbar { display: none; }

    body.gridlock .eikra-gallery-card {
        flex: 0 0 78vw !important;
        max-width: 330px;
        margin: 0 !important;
        scroll-snap-align: start;
    }

    body.gridlock .eikra-media-dialog {
        padding: 12px;
    }

    body.gridlock .eikra-video-dialog-frame {
        border-radius: 14px;
    }

    body.gridlock .eikra-gallery-dialog-frame {
        grid-template-columns: 44px minmax(0, 1fr) 44px;
        gap: 5px;
    }

    body.gridlock .eikra-gallery-dialog-arrow {
        width: 44px;
        height: 44px;
        font-size: 28px;
    }

    body.gridlock .eikra-media-close {
        top: 8px;
        right: 8px;
        width: 44px;
        height: 44px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.gridlock .shop-catalog-dropdown,
    body.gridlock .shop-catalog-trigger svg,
    body.gridlock .eikra-video-preview img,
    body.gridlock .eikra-gallery-card img {
        transition: none !important;
    }
}

/* Final cascade guard for the 2026-08 commerce and editorial refinements. */
body.gridlock .eikra-video-copy {
    align-items: center;
    text-align: center;
}

body.gridlock .eikra-video-copy > p:not(.eikra-section-eyebrow) {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

body.gridlock .eikra-video-copy .eikra-media-button {
    align-self: center;
}

body.gridlock .similar-products .product-block,
body.gridlock .similar-products .product-block:hover {
    z-index: 1;
    padding-bottom: 0 !important;
    background: transparent;
    box-shadow: none;
    transform: none;
}

body.gridlock .similar-products .product-block:hover {
    transform: translateY(-3px);
}

body.gridlock .product-block .product-buy-block.card-buy-block.eikra-card-actions,
body.gridlock .similar-products .product-block .product-buy-block.card-buy-block.eikra-card-actions,
body.gridlock .similar-products .product-block:hover .product-buy-block.card-buy-block.eikra-card-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
}

/* Shared heading language for the legacy homepage commerce sections. */
body.gridlock .eikra-home-products .eikra-section-heading,
body.gridlock .eikra-flavors .eikra-section-heading {
    margin-bottom: clamp(34px, 4vw, 48px);
}

body.gridlock .eikra-about-content .eikra-section-eyebrow {
    font-size: 14px !important;
    letter-spacing: 0.06em !important;
    text-transform: none;
}

body.gridlock .eikra-about-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

body.gridlock .eikra-about-actions .eikra-button {
    min-height: 50px;
    box-sizing: border-box;
    margin: 0;
    border: 1px solid transparent;
    border-radius: 999px !important;
    font-family: inherit;
    cursor: pointer;
}

body.gridlock .eikra-about-actions .is-about-primary {
    border-color: var(--eikra-red);
    background: var(--eikra-red) !important;
    color: #fff !important;
    box-shadow: 0 12px 30px rgba(191, 67, 66, 0.28);
}

body.gridlock .eikra-about-actions .is-about-primary:hover,
body.gridlock .eikra-about-actions .is-about-primary:focus-visible {
    border-color: var(--eikra-red-dark);
    background: var(--eikra-red-dark) !important;
}

body.gridlock .eikra-about-actions .is-about-secondary {
    border-color: rgba(255, 244, 230, 0.72);
    background: transparent !important;
    color: #fff4e6 !important;
}

body.gridlock .eikra-about-actions .is-about-secondary:hover,
body.gridlock .eikra-about-actions .is-about-secondary:focus-visible {
    background: #fff4e6 !important;
    color: var(--eikra-brown) !important;
}

body.gridlock .eikra-product-list-toggle {
    display: none;
}

body.gridlock .eikra-flavor-slider {
    position: relative;
}

body.gridlock .eikra-flavor-slider-viewport {
    width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

body.gridlock .eikra-flavor-slider-viewport::-webkit-scrollbar {
    display: none;
}

body.gridlock .eikra-flavor-slider-track {
    display: flex;
    align-items: stretch;
    gap: 18px;
    padding: 2px;
}

body.gridlock .eikra-flavor-slide {
    position: relative;
    display: block;
    aspect-ratio: 1 / 1;
    flex: 0 0 calc((100% - 54px) / 4);
    overflow: hidden;
    border: 1px solid rgba(115, 87, 81, 0.2);
    border-radius: 20px;
    background: var(--eikra-brown);
    box-shadow: 0 12px 34px rgba(74, 48, 42, 0.11);
    color: #fff;
    scroll-snap-align: start;
    text-decoration: none;
}

body.gridlock .eikra-flavor-slide img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: cover;
    transition: transform 450ms cubic-bezier(.2,.7,.2,1) !important;
}

body.gridlock .eikra-flavor-slide::after {
    content: "";
    position: absolute;
    inset: 48% 0 0;
    background: linear-gradient(180deg, transparent, rgba(30, 16, 12, 0.76));
}

body.gridlock .eikra-flavor-slide > span {
    position: absolute;
    right: 48px;
    bottom: 20px;
    left: 18px;
    z-index: 2;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.3;
    text-align: left;
}

body.gridlock .eikra-flavor-slide > svg {
    position: absolute;
    right: 18px;
    bottom: 20px;
    z-index: 2;
    color: #fff;
}

body.gridlock .eikra-flavor-slide:hover img,
body.gridlock .eikra-flavor-slide:focus-visible img {
    transform: scale(1.04);
}

body.gridlock .eikra-flavor-slide:focus-visible {
    outline: 3px solid var(--eikra-red);
    outline-offset: -3px;
}

body.gridlock .eikra-flavor-slider-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 22px;
}

body.gridlock .eikra-flavor-slider-arrow,
body.gridlock .eikra-flavor-autoplay-toggle {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(115, 87, 81, 0.52);
    border-radius: 50%;
    background: #fffaf4;
    color: var(--eikra-brown);
    cursor: pointer;
    transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease;
}

body.gridlock .eikra-flavor-autoplay-toggle[hidden] {
    display: none !important;
}

body.gridlock .eikra-flavor-slider-arrow:hover,
body.gridlock .eikra-flavor-slider-arrow:focus-visible,
body.gridlock .eikra-flavor-autoplay-toggle:hover,
body.gridlock .eikra-flavor-autoplay-toggle:focus-visible {
    border-color: var(--eikra-red);
    background: var(--eikra-red);
    color: #fff;
    outline: none;
}

body.gridlock .eikra-flavor-slider-status {
    min-width: 58px;
    color: var(--eikra-brown);
    font-size: 13px;
    font-weight: 800;
    text-align: center;
}

body.gridlock .eikra-flavor-autoplay-toggle .is-play,
body.gridlock .eikra-flavor-slider.is-autoplay-paused .eikra-flavor-autoplay-toggle .is-pause {
    display: none;
}

body.gridlock .eikra-flavor-slider.is-autoplay-paused .eikra-flavor-autoplay-toggle .is-play {
    display: block;
}

body.gridlock .eikra-section-cta {
    display: flex;
    max-width: 860px;
    box-sizing: border-box;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 46px auto 0;
    padding: 22px 24px;
    border: 1px solid rgba(115, 87, 81, 0.2);
    border-radius: 22px;
    background: #fffaf4;
    box-shadow: 0 12px 34px rgba(74, 48, 42, 0.08);
}

body.gridlock .eikra-section-cta p {
    max-width: 560px;
    margin: 0;
    color: var(--eikra-brown);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
}

body.gridlock .eikra-section-cta a {
    display: inline-flex;
    min-height: 50px;
    flex: 0 0 auto;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    padding: 10px 22px;
    border: 1px solid var(--eikra-red);
    border-radius: 999px;
    background: var(--eikra-red);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
}

body.gridlock .eikra-section-cta a:hover,
body.gridlock .eikra-section-cta a:focus-visible {
    border-color: var(--eikra-red-dark);
    background: var(--eikra-red-dark);
    outline: none;
}

@media (min-width: 740px) and (max-width: 979px) {
    body.gridlock .eikra-flavor-slide {
        flex-basis: calc((100% - 18px) / 2);
    }
}

@media (max-width: 739px) {
    body.gridlock .eikra-home-products {
        padding: 62px 0 72px !important;
    }

    body.gridlock .eikra-home-products > .eikra-container {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    body.gridlock .eikra-home-products .eikra-section-heading {
        margin-bottom: 36px;
        padding: 0 20px;
    }

    body.gridlock .eikra-home-products .products-row {
        display: grid !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: stretch !important;
        gap: 38px !important;
        overflow: visible !important;
        margin: 0 !important;
        padding: 0 20px !important;
    }

    body.gridlock .eikra-home-products .products-row > .product-block {
        display: flex !important;
        width: 100% !important;
        max-width: 340px !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    body.gridlock .eikra-home-products.is-disclosure-ready:not(.is-expanded) .products-row > .product-block:nth-child(n+8) {
        display: none !important;
    }

    body.gridlock .eikra-product-list-toggle {
        display: inline-flex;
        min-height: 50px;
        align-items: center;
        justify-content: center;
        gap: 10px;
        margin: 34px auto 0;
        padding: 10px 20px;
        border: 1px solid var(--eikra-red);
        border-radius: 999px;
        background: transparent;
        color: var(--eikra-red);
        font: inherit;
        font-size: 13px;
        font-weight: 800;
        cursor: pointer;
    }

    body.gridlock .eikra-product-list-toggle svg {
        flex: 0 0 auto;
        transition: transform 180ms ease;
    }

    body.gridlock .eikra-home-products.is-expanded .eikra-product-list-toggle svg {
        transform: rotate(180deg);
    }

    body.gridlock .eikra-product-list-toggle:hover,
    body.gridlock .eikra-product-list-toggle:focus-visible {
        background: var(--eikra-red);
        color: #fff;
    }

    body.gridlock .eikra-flavor-slider-track {
        gap: 12px;
    }

    body.gridlock .eikra-flavor-slide {
        aspect-ratio: 1 / 1;
        flex-basis: 82%;
        border-radius: 16px;
    }

    body.gridlock .eikra-flavor-slide > span {
        right: 38px;
        bottom: 16px;
        left: 15px;
        font-size: 14px;
    }

    body.gridlock .eikra-flavor-slide > svg {
        right: 15px;
        bottom: 16px;
    }

    body.gridlock .eikra-flavor-slider-controls {
        margin-top: 18px;
    }

    body.gridlock .eikra-flavor-slider-arrow,
    body.gridlock .eikra-flavor-autoplay-toggle {
        width: 44px;
        height: 44px;
    }

    /* Compact, non-overlapping category rows replace the desktop photo overlays. */
    body.gridlock .eikra-categories .eikra-category-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-rows: auto !important;
        gap: 12px !important;
    }

    body.gridlock .eikra-categories .eikra-category-card,
    body.gridlock .eikra-categories .eikra-category-card.is-featured {
        display: grid !important;
        min-height: 154px !important;
        grid-template-columns: 128px minmax(0, 1fr);
        grid-template-rows: minmax(154px, auto);
        overflow: hidden;
        border-radius: 20px;
        background: #fffaf4;
        color: var(--eikra-brown);
        box-shadow: 0 10px 30px rgba(74, 48, 42, 0.09);
    }

    body.gridlock .eikra-categories .eikra-category-card img {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 154px;
        grid-column: 1;
        grid-row: 1;
        object-fit: cover;
        transform: none !important;
    }

    body.gridlock .eikra-categories .eikra-category-shade {
        display: none !important;
    }

    body.gridlock .eikra-categories .eikra-category-content {
        position: relative;
        inset: auto;
        grid-column: 2;
        grid-row: 1;
        justify-content: center;
        padding: 18px;
        color: var(--eikra-brown);
    }

    body.gridlock .eikra-categories .eikra-category-content small {
        margin-bottom: 8px;
        color: var(--eikra-red);
        font-size: 10px;
    }

    body.gridlock .eikra-categories .eikra-category-content strong,
    body.gridlock .eikra-categories .eikra-category-card:not(.is-featured) .eikra-category-content strong {
        color: var(--eikra-brown);
        font-size: 20px;
        line-height: 1.12;
    }

    body.gridlock .eikra-categories .eikra-category-link {
        max-height: 30px;
        margin-top: 12px;
        color: var(--eikra-red) !important;
        opacity: 1;
        transform: none;
    }

    body.gridlock .eikra-about-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 9px;
    }

    body.gridlock .eikra-about-actions .eikra-button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.gridlock .eikra-flavor-slider-viewport {
        scroll-behavior: auto;
    }

    body.gridlock .eikra-flavor-slide img,
    body.gridlock .eikra-product-list-toggle svg {
        transition: none !important;
    }
}

/* Unified homepage spacing and readable sale cards on phones. */
@media (max-width: 739px) {
    body.gridlock .eikra-warning,
    body.gridlock .eikra-home-products,
    body.gridlock .eikra-flavors,
    body.gridlock .eikra-categories,
    body.gridlock .eikra-certificates,
    body.gridlock .eikra-reviews,
    body.gridlock .eikra-video,
    body.gridlock .eikra-gallery {
        padding-top: 62px !important;
        padding-bottom: 72px !important;
    }

    body.gridlock .eikra-flavors > .eikra-container,
    body.gridlock .eikra-warning > .eikra-container,
    body.gridlock .eikra-categories > .eikra-container,
    body.gridlock .eikra-reviews > .eikra-container,
    body.gridlock .eikra-video > .eikra-container {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
        padding-right: 20px !important;
        padding-left: 20px !important;
    }

    body.gridlock .eikra-about-content {
        padding: 62px 20px 72px !important;
    }

    body.gridlock .eikra-home-products .eikra-section-heading,
    body.gridlock .eikra-flavors .eikra-section-heading,
    body.gridlock .eikra-categories .eikra-section-heading,
    body.gridlock .eikra-reviews .eikra-section-heading {
        padding-right: 0;
        padding-left: 0;
    }

    body.gridlock .eikra-home-products .eikra-section-heading,
    body.gridlock .eikra-home-products .products-row {
        padding-right: 20px !important;
        padding-left: 20px !important;
    }

    body.gridlock .eikra-home-products .product-block .product-name {
        margin: 12px 0 8px !important;
    }

    body.gridlock .eikra-home-products .product-block .product-name a {
        display: -webkit-box;
        overflow: hidden;
        color: #111 !important;
        font-size: 16px !important;
        font-weight: 800 !important;
        line-height: 1.3 !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    body.gridlock .eikra-home-products .product-block .action-price,
    body.gridlock .eikra-home-products .product-block .product-price-regular .regular-price {
        color: #111 !important;
        font-size: 21px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
    }

    body.gridlock .eikra-home-products .product-block .product-price-action .regular-price {
        color: #666 !important;
        font-size: 14px !important;
        font-weight: 600 !important;
    }

    body.gridlock .eikra-home-products .product-block price unit {
        font-size: 0.62em !important;
    }

    body.gridlock .eikra-home-products .product-block .card-countdown {
        width: calc(100% - 16px);
        min-height: 54px;
        gap: 9px;
        margin: 12px 8px;
        padding: 9px 12px;
        border-radius: 13px;
    }

    body.gridlock .eikra-home-products .product-block .card-countdown-label {
        font-size: 11px;
        line-height: 1.2;
    }

    body.gridlock .eikra-home-products .product-block .card-countdown-value {
        font-size: 16px;
    }

    body.gridlock .eikra-product-list-toggle {
        display: flex;
        width: fit-content;
        margin-right: auto;
        margin-left: auto;
    }

    body.gridlock .eikra-section-cta {
        display: grid;
        gap: 16px;
        margin: 34px 0 0;
        padding: 20px;
        text-align: center;
    }

    body.gridlock .eikra-gallery .eikra-section-cta {
        margin-right: 20px;
        margin-left: 20px;
    }

    body.gridlock .eikra-section-cta p {
        font-size: 15px;
    }

    body.gridlock .eikra-section-cta a {
        width: 100%;
        min-height: 52px;
        padding-right: 16px;
        padding-left: 16px;
        font-size: 13px;
    }
}

/* Product-card breathing room. Product details are intentionally excluded. */
body.gridlock .eikra-home-products .product-block,
body.gridlock .products.layout-container .products-row > .product-block,
body.gridlock .similar-products .product-block {
    box-sizing: border-box;
    padding: clamp(14px, 1.35vw, 18px) !important;
}

@media (max-width: 739px) {
    body.gridlock .eikra-home-products .product-block,
    body.gridlock .products.layout-container .products-row > .product-block,
    body.gridlock .similar-products .product-block {
        padding: 14px !important;
    }

    /* Hero CTAs: one clear action per row across the available mobile width. */
    body.gridlock .eikra-hero-cta {
        display: flex;
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        flex-wrap: nowrap;
        gap: 10px;
    }

    body.gridlock .eikra-hero-cta .eikra-button {
        width: 100% !important;
        min-width: 0;
        min-height: 50px;
        flex: 0 0 auto;
        padding: 11px 16px;
        font-size: 14px;
        line-height: 1.2;
    }

    /* Larger, readable actions only in the homepage sale offers. */
    body.gridlock .eikra-home-products .product-block .eikra-card-actions a.buy-button-details,
    body.gridlock .eikra-home-products .product-block .eikra-card-actions .eikra-card-quick-order {
        min-height: 52px !important;
        padding: 11px 14px !important;
        font-size: 14px !important;
        line-height: 1.2 !important;
    }
}

/* Product-detail quantity: compact, touch-friendly stepper. */
body.gridlock .product-details-block .product-count-block {
    display: grid !important;
    width: 156px !important;
    min-width: 156px;
    height: 54px !important;
    min-height: 54px !important;
    box-sizing: border-box;
    grid-template-columns: 48px minmax(0, 1fr) 48px;
    justify-self: center;
    overflow: hidden;
    padding: 0 !important;
    border: 1px solid rgba(191, 67, 66, 0.34) !important;
    border-radius: 999px !important;
    background: #fffaf4 !important;
    box-shadow: 0 8px 22px rgba(70, 42, 35, 0.08);
}

body.gridlock .product-details-block .product-count-block:focus-within {
    border-color: var(--eikra-red) !important;
    box-shadow: 0 0 0 4px rgba(191, 67, 66, 0.11);
}

body.gridlock .product-details-block .product-count-block a.minus,
body.gridlock .product-details-block .product-count-block a.plus {
    display: grid !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 52px !important;
    min-height: 52px !important;
    box-sizing: border-box;
    place-items: center;
    padding: 0 !important;
    background: rgba(191, 67, 66, 0.06) !important;
    color: var(--eikra-red) !important;
    font-size: 23px !important;
    font-weight: 700;
    text-decoration: none;
    transition: background-color 160ms ease, color 160ms ease;
}

body.gridlock .product-details-block .product-count-block a.minus {
    border-right: 1px solid rgba(191, 67, 66, 0.18);
}

body.gridlock .product-details-block .product-count-block a.plus {
    border-left: 1px solid rgba(191, 67, 66, 0.18);
}

body.gridlock .product-details-block .product-count-block a.minus:hover,
body.gridlock .product-details-block .product-count-block a.minus:focus-visible,
body.gridlock .product-details-block .product-count-block a.plus:hover,
body.gridlock .product-details-block .product-count-block a.plus:focus-visible {
    background: var(--eikra-red) !important;
    color: #fff !important;
    outline: none;
}

body.gridlock .product-details-block .product-count-block input.count {
    width: 100% !important;
    min-width: 0;
    height: 52px !important;
    box-sizing: border-box;
    padding: 0 4px !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--eikra-brown) !important;
    font-size: 18px !important;
    font-weight: 800;
    text-align: center;
    appearance: textfield;
    outline: none;
}

body.gridlock .product-details-block .product-count-block input.count::-webkit-inner-spin-button,
body.gridlock .product-details-block .product-count-block input.count::-webkit-outer-spin-button {
    margin: 0;
    appearance: none;
}

/* Legacy product CSS uses a highly specific 13px rule for this input. */
body.gridlock div.product div.product-details-block div.product-buy-block div.product-count-block input.count {
    width: 100% !important;
    height: 52px !important;
    padding: 0 4px !important;
    font-size: 18px !important;
    font-weight: 800 !important;
}

body.gridlock .product-details-block .product-count-block a.minus::before,
body.gridlock .product-details-block .product-count-block a.plus::before {
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1;
}

/* Desktop homepage grid: every content section follows the certificate width.
   The hero remains intentionally full-bleed and outside this rule. */
@media (min-width: 980px) {
    body.gridlock.eikra-home-page {
        --eikra-home-desktop-container: 1410px;
        --eikra-home-desktop-gutter: 15px;
    }

    body.gridlock.eikra-home-page #rzn1h .shop-header-row,
    body.gridlock.eikra-home-page .eikra-home > section:not(.eikra-hero):not(.eikra-about) > .eikra-container,
    body.gridlock.eikra-home-page #widget-footer .shop-footer-shell {
        width: min(var(--eikra-home-desktop-container), calc(100% - (var(--eikra-home-desktop-gutter) * 2))) !important;
        max-width: var(--eikra-home-desktop-container) !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    body.gridlock.eikra-home-page .eikra-home-products {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    /* About stays full-bleed on the image side; only its text respects the
       certificate section's right edge on wide desktop screens. */
    body.gridlock.eikra-home-page .eikra-about-content {
        padding-right: max(clamp(52px, 6vw, 92px), calc((100vw - var(--eikra-home-desktop-container)) / 2)) !important;
    }
}

/* Footer 7 / minimal-footer pattern from the Beezy 21st.dev library,
   translated to the existing Blade markup and єІкра design tokens. */
body.gridlock #widget-footer {
    border-top: 0;
    background: var(--eikra-brown);
}

body.gridlock #widget-footer #xdwax {
    margin: 0 !important;
    padding: 72px 0 0 !important;
    background: var(--eikra-brown) !important;
}

body.gridlock #widget-footer .shop-footer-shell {
    width: min(1410px, calc(100% - 30px));
    margin: 0 auto;
}

body.gridlock #widget-footer .shop-footer-row {
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: minmax(280px, 1.35fr) minmax(150px, 0.72fr) minmax(170px, 0.82fr) minmax(280px, 1.05fr) !important;
    align-items: start;
    gap: clamp(34px, 4vw, 68px) !important;
    box-sizing: border-box;
    margin: 0 !important;
    padding: 0 !important;
}

body.gridlock #widget-footer .shop-footer-column {
    min-width: 0;
}

body.gridlock #widget-footer .visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    margin: -1px !important;
    padding: 0 !important;
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

body.gridlock #widget-footer .shop-footer-logo {
    width: 176px;
    margin: 0 0 22px;
}

body.gridlock #widget-footer .shop-footer-logo img {
    width: 176px;
}

body.gridlock #widget-footer .shop-footer-description {
    max-width: 360px;
    margin: 0 0 24px;
    color: rgba(255, 250, 244, 0.78) !important;
    font-size: 15px;
    line-height: 1.65;
}

body.gridlock #widget-footer h2:not(.visually-hidden) {
    margin: 2px 0 20px;
    color: #fffaf4;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.gridlock #widget-footer ul {
    display: grid;
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.gridlock #widget-footer .shop-footer-menu a,
body.gridlock #widget-footer .shop-footer-categories a {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 3px 0;
    color: rgba(255, 250, 244, 0.78) !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
    transition: color 180ms ease, transform 180ms ease;
}

body.gridlock #widget-footer .shop-footer-menu a:hover,
body.gridlock #widget-footer .shop-footer-menu a:focus-visible,
body.gridlock #widget-footer .shop-footer-categories a:hover,
body.gridlock #widget-footer .shop-footer-categories a:focus-visible {
    color: #fff !important;
    outline: none;
    transform: translateX(3px);
}

body.gridlock #widget-footer .shop-footer-promises {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 250, 244, 0.16);
}

body.gridlock #widget-footer .shop-footer-promises li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 250, 244, 0.86) !important;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
}

body.gridlock #widget-footer .shop-footer-promises svg {
    flex: 0 0 auto;
    color: #f2b1a6;
}

body.gridlock #widget-footer .shop-footer-contacts {
    box-sizing: border-box;
    padding: 26px;
    border: 1px solid rgba(255, 250, 244, 0.18);
    border-radius: 24px;
    background: rgba(255, 250, 244, 0.07);
}

body.gridlock #widget-footer .shop-footer-kicker {
    margin: 0 0 9px;
    color: #f2b1a6 !important;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.3;
}

body.gridlock #widget-footer .shop-footer-contacts h2 {
    margin-bottom: 18px;
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: 0;
    text-transform: none;
}

body.gridlock #widget-footer .shop-footer-phone {
    display: inline-flex;
    margin: 0 0 18px;
    padding: 0;
    color: #fffaf4 !important;
    font-size: 18px;
    font-weight: 800;
    text-decoration: none;
}

body.gridlock #widget-footer .shop-footer-callback {
    display: inline-flex;
    width: 100%;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    border: 1px solid var(--eikra-red);
    border-radius: 999px;
    background: var(--eikra-red);
    color: #fff;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: border-color 180ms ease, background-color 180ms ease;
}

body.gridlock #widget-footer .shop-footer-callback:hover,
body.gridlock #widget-footer .shop-footer-callback:focus-visible {
    border-color: var(--eikra-red-dark);
    background: var(--eikra-red-dark);
    outline: none;
}

body.gridlock #widget-footer .shop-footer-viber {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 15px;
    padding: 2px 0;
    color: rgba(255, 250, 244, 0.8) !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

body.gridlock #widget-footer .shop-footer-viber:hover,
body.gridlock #widget-footer .shop-footer-viber:focus-visible {
    color: #fff !important;
    outline: none;
}

body.gridlock #widget-footer .shop-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 54px;
    padding: 24px 0 28px;
    border-top: 1px solid rgba(255, 250, 244, 0.16);
}

body.gridlock #widget-footer .shop-footer-bottom p {
    margin: 0;
    color: rgba(255, 250, 244, 0.62) !important;
    font-size: 12px;
}

body.gridlock #widget-footer .shop-footer-bottom nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px 22px;
}

body.gridlock #widget-footer .shop-footer-bottom a {
    padding: 2px 0;
    color: rgba(255, 250, 244, 0.7) !important;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
}

body.gridlock #widget-footer .shop-footer-bottom a:hover,
body.gridlock #widget-footer .shop-footer-bottom a:focus-visible {
    color: #fff !important;
    outline: none;
}

@media (max-width: 979px) {
    body.gridlock #widget-footer #xdwax {
        padding-top: 52px !important;
    }

    body.gridlock #widget-footer .shop-footer-shell {
        width: min(720px, calc(100% - 28px));
    }

    body.gridlock #widget-footer .shop-footer-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 36px 28px !important;
    }
}

@media (max-width: 739px) {
    body.gridlock #widget-footer #xdwax {
        padding-top: 42px !important;
    }

    body.gridlock #widget-footer .shop-footer-row {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 32px !important;
        text-align: left;
    }

    body.gridlock #widget-footer .shop-footer-column,
    body.gridlock #widget-footer .shop-footer-column p,
    body.gridlock #widget-footer .shop-footer-column h2 {
        text-align: left;
    }

    body.gridlock #widget-footer .shop-footer-logo {
        margin-left: 0;
    }

    body.gridlock #widget-footer .shop-footer-menu a,
    body.gridlock #widget-footer .shop-footer-categories a {
        justify-content: flex-start;
    }

    body.gridlock #widget-footer .shop-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        margin-top: 40px;
        padding-bottom: calc(26px + env(safe-area-inset-bottom));
    }

    body.gridlock #widget-footer .shop-footer-bottom nav {
        justify-content: flex-start;
    }
}

/* Sticky summary: product context plus one purchase action only. */
@media (max-width: 979px) {
    body.gridlock .shop-mobile-buy-bar {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(132px, 42%);
        gap: 10px;
    }

    body.gridlock .shop-mobile-buy-bar .mobile-buy-summary {
        display: flex;
        min-width: 0;
        flex-direction: column;
        justify-content: center;
        gap: 3px;
    }

    body.gridlock .shop-mobile-buy-bar .mobile-buy-title {
        display: -webkit-box;
        overflow: hidden;
        color: var(--eikra-brown);
        font-size: 12px;
        font-weight: 700;
        line-height: 1.2;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    body.gridlock .shop-mobile-buy-bar .mobile-buy-price {
        overflow: hidden;
        color: var(--eikra-red);
        font-size: 16px;
        font-weight: 800;
        line-height: 1.15;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.gridlock .shop-mobile-buy-bar a.buy-button-details {
        width: 100%;
        min-height: 52px;
        padding-right: 12px;
        padding-left: 12px;
        font-size: 15px;
    }
}
