/* Keep effect/strength labels inside cards and move each icon with its label. */
body .product-card__effect {
    flex-wrap: wrap;
    gap: 10px 16px;
}
body .product-card__effect li {
    flex: 0 0 auto;
    max-width: 100%;
    line-height: 1.3;
    overflow-wrap: anywhere;
}
body .product-card .product-card__effect li {
    font-size: 1.6rem;
    padding-left: 2.4rem;
}
body .product-card .product-card__effect li::before {
    width: 1.6rem;
    height: 1.6rem;
}
@media (max-width: 767.98px) {
    body .product-card .product-card__effect {
        gap: 8px 12px;
    }
    body .product-card .product-card__effect li {
        font-size: 1.4rem;
    }
}

/* Category banners retain their geometry; only the image and colors animate. */
/* Consistent, visible quantity controls on products, cart and checkout. */
body .product-count,
body .checkout__product .product-count {
    gap: 8px;
    padding: 6px;
    border-radius: 999px;
    background: #eee8da;
}
body .product-count__button {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border: 1px solid #395110;
    background: #395110;
    transition: background-color 180ms ease, border-color 180ms ease;
}
body .product-count .product-count__input,
body .checkout .product-count .product-count__input,
body .woocommerce-checkout .product-count .product-count__input {
    background: transparent;
}
body .product-count__button .icon {
    width: 16px;
    height: 16px;
    fill: #fffbf3;
}
body .product-count__button:first-of-type {
    background: #fffbf3;
}
body .product-count__button:first-of-type .icon {
    fill: #395110;
}
@media (hover: hover) {
    body .product-count__button:hover {
        background: #ffa6ff;
        border-color: #395110;
    }
    body .product-count__button:hover .icon {
        fill: #395110;
    }
}
body .product-count__button:active {
    background: #ffa6ff;
    border-color: #395110;
}
body .product-count__button:active .icon {
    fill: #395110;
}
body .product-count__button:focus-visible {
    outline: 3px solid #ffa6ff;
    outline-offset: 3px;
}
body .product-count__button:disabled,
body .product-count__button.disabled {
    opacity: 1;
    background: #eee8da;
    border-color: #d7d0bf;
}
body .product-count__button:disabled .icon,
body .product-count__button.disabled .icon {
    fill: #626b50;
}

body {
    --dispo-slider-button-size: 60px;
}
body :is(.product-slider, .deals-slider) :is(.swiper-button-prev, .swiper-button-next),
body .product-single-container .product-slider :is(.swiper-button-prev, .swiper-button-next) {
    width: var(--dispo-slider-button-size);
    height: var(--dispo-slider-button-size);
    border-radius: 50%;
}
body :is(.product-slider, .deals-slider) .swiper-button-prev,
body .product-single-container .product-slider .swiper-button-prev {
    right: calc(var(--dispo-slider-button-size) + 12px);
}
body :is(.product-slider, .deals-slider) .swiper-button-next,
body .product-single-container .product-slider .swiper-button-next {
    right: 0;
}
body :is(.product-slider, .deals-slider) :is(.swiper-button-prev, .swiper-button-next)::after,
body .product-single-container .product-slider :is(.swiper-button-prev, .swiper-button-next)::after {
    background-size: 26px;
}
@media (max-width: 767.98px) {
    body {
        --dispo-slider-button-size: 44px;
    }
    body :is(.product-slider, .deals-slider) :is(.swiper-button-prev, .swiper-button-next)::after,
    body .product-single-container .product-slider :is(.swiper-button-prev, .swiper-button-next)::after {
        background-size: 20px;
    }
}

.hero-block__promo .promo-item__image img {
    transition: transform 300ms ease;
}
/* One active category beside the restored artwork carousel. */
.hero-block__inner--single { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.hero-block__inner--single > :is(.hero-block__slider, .hero-block__promo) { width: 100%; min-width: 0; }
.hero-block__promo--single { align-self: flex-start; }
.hero-block__promo--single .promo-item:only-child {
    width: 100%; min-height: 0; aspect-ratio: 905 / 736;
    border-radius: 36px; overflow: hidden; background: #f5efe4;
}
.hero-block__promo--single .promo-item__info {
    padding: 28px 32px 48px; gap: 8px; z-index: 3;
    background: linear-gradient(180deg, rgba(255,250,241,.96), rgba(255,250,241,.78) 65%, transparent);
}
.hero-block__promo--single .promo-item__info h3 {
    color: #395110; font-size: clamp(28px, 3vw, 44px); line-height: 1;
}
.hero-block__promo--single .promo-item__info span { color: #395110; font-size: 16px; }
.hero-block__promo--single .promo-item__image {
    position: absolute; inset: 0; width: 100%; height: 100%; border-radius: inherit;
}
.hero-block__promo--single .promo-item__image img { object-fit: cover; object-position: center; }
.hero-block__promo--single .promo-item__image::before { display: none; }
.hero-block__promo--single .promo-item__image::after { left: auto; right: 24px; bottom: 24px; }
@media (max-width: 767px) {
    .hero-block__inner--single { grid-template-columns: minmax(0, 1fr); }
    .hero-block__promo--single .promo-item:only-child { aspect-ratio: 1; border-radius: 20px; }
    .hero-block__promo--single .promo-item__info { padding: 24px 24px 40px; }
}
.hero-block__promo .promo-item__image::before {
    z-index: 1;
}
.hero-block__promo .promo-item__image::after {
    z-index: 2;
    transition: background-color 180ms ease;
}
@media (hover: hover) {
    .hero-block__promo .promo-item:hover .promo-item__image img {
        transform: scale(1.04);
    }
    .hero-block__promo .promo-item:hover .promo-item__image::after {
        background-color: #395110;
        background-image: url('../img/arrow-right-cream.svg');
    }
}
.hero-block__promo .promo-item__image:focus-visible img {
    transform: scale(1.04);
}
.hero-block__promo .promo-item__image:focus-visible::after {
    background-color: #395110;
    background-image: url('../img/arrow-right-cream.svg');
}
@media (prefers-reduced-motion: reduce) {
    .hero-block__promo .promo-item__image img,
    .hero-block__promo .promo-item__image::after {
        transition: none;
    }
    .hero-block__promo .promo-item:hover .promo-item__image img,
    .hero-block__promo .promo-item__image:focus-visible img {
        transform: none;
    }
}
