﻿/* Edge-to-edge hero uses the full viewport height. */
body.home-page .home-hero {
    width: calc(100% + var(--home-page-gutter) * 2);
    max-width: none;
    margin: 0 calc(-1 * var(--home-page-gutter));
    padding: 0;
}
.home-hero-slider {
    --hero-controls-bottom: calc(100px + env(safe-area-inset-bottom, 0px));
    width: 100%;
    height: 100vh;
    height: 100dvh;
    min-height: 560px;
    border-radius: 0;
    background: #211914;
}
.home-hero-slide { position: relative; height: 100%; overflow: hidden; }
.home-hero-image { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.home-hero-slide::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #15100dcc, #15100d40 60%, transparent), linear-gradient(0deg, #15100d80, transparent 35%);
    pointer-events: none;
}
.home-hero-content {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    justify-content: center;
    align-items: flex-start;
    padding: 40px clamp(24px, 7vw, 120px);
    color: #fff;
    text-align: left;
}
.home-hero-eyebrow,
.home-hero-title,
.home-hero-cta { animation: home-hero-enter .75s cubic-bezier(.2,.75,.25,1) both; }
.home-hero-title { animation-delay: .12s; }
.home-hero-cta { animation-delay: .24s; }
@keyframes home-hero-enter {
    from { opacity: 0; transform: translate3d(-24px, 12px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}
.home-hero-eyebrow { margin-bottom: 12px; font-size: 10px; letter-spacing: 2px; }
.home-hero-title { max-width: 600px; margin: 0 0 20px; color: #f0c7bd; font-size: clamp(30px, 4vw, 58px); font-weight: 400; line-height: 1.12; }
.home-hero-cta { display: inline-flex; align-items: center; gap: 16px; padding: 12px 22px; border-radius: 8px; background: #c98f86; color: #171312; text-decoration: none; font-size: 14px; }
.home-hero-cta:hover { background: #b97870; color: #111; }
.home-hero-controls { position: absolute; z-index: 2; bottom: var(--hero-controls-bottom); right: clamp(20px, 5vw, 80px); max-width: calc(100% - 40px); display: flex; align-items: center; gap: 12px; padding: 8px 12px; border: 1px solid #ffffff50; border-radius: 50px; background: #21191499; }
.home-hero-controls button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #fff; font-size: 20px; }
.home-hero-controls button:hover { background: #ffffff25; }
.home-hero-controls button { flex-shrink: 0; }
.home-hero-controls .home-hero-pagination { display: flex; flex-wrap: nowrap; justify-content: center; align-items: center; gap: 0; width: auto; min-width: 0; max-width: none; }
.home-hero-pagination .swiper-pagination-bullet { width: 12px; height: 8px; margin: 0 4px; border-radius: 3px; background: #fff; opacity: .45; }
.home-hero-pagination .swiper-pagination-bullet-active { opacity: 1; }
.home-hero a:focus-visible, .home-hero button:focus-visible, .home-hero-pagination .swiper-pagination-bullet:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
@media (max-width: 991.98px) {
    .home-hero-title { max-width: 100%; font-size: clamp(30px, 6vw, 58px); }
    .home-hero-content { padding-inline: clamp(20px, 5vw, 48px); }
}
@media (max-height: 500px) and (orientation: landscape) {
    .home-hero-slider { --hero-controls-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); min-height: 440px; }
    .home-hero-content { padding-top: 20px; }
    .home-hero-title { font-size: 32px; margin-bottom: 16px; }
    .home-hero-eyebrow { margin-bottom: 10px; }
}
@media (max-width: 767.98px), (max-width: 991.98px) and (max-height: 500px) and (orientation: landscape) {
    .home-hero-slider {
        --hero-controls-bottom: 18px;
        height: clamp(360px, 55svh, 420px);
        min-height: 360px;
    }
    .home-hero-content { justify-content: center; padding: 24px 20px; }
    .home-hero-title { font-size: clamp(26px, 6.5vw, 36px); line-height: 1.16; margin-bottom: 18px; overflow-wrap: break-word; }
    .home-hero-cta { min-height: 44px; padding: 10px 20px; font-size: 13px; gap: 22px; }
    .home-hero-eyebrow { font-size: 9px; letter-spacing: 1.5px; margin-bottom: 12px; }
    .home-hero-slide::after { background: linear-gradient(90deg, #15100dcc, #15100d40 75%), linear-gradient(0deg, #15100d80, transparent 60%); }
    .home-hero-controls {
        left: 50%;
        right: auto;
        transform: translateX(-50%);
        width: max-content;
        gap: 6px;
        padding: 6px 8px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .home-hero-eyebrow,
    .home-hero-title,
    .home-hero-cta { animation: none; }
}

body.home-page .care-demo-card .care-demo-image {
    position: relative;
    min-height: 250px;
    overflow: hidden;
    border-radius: 16px;
    color: #6b7456;
    font-size: 58px;
}

body.home-page .care-demo-card .care-demo-image img {
    width: 100%;
    height: 100%;
    min-height: 250px;
    padding: 14px;
    object-fit: contain;
    background: rgba(255, 255, 255, .28);
}

body.home-page .care-demo-card .care-demo-image::before,
body.home-page .care-demo-card .care-demo-image::after {
    position: absolute;
    content: '';
    border-radius: 50%;
    background: rgba(255, 255, 255, .42);
}

body.home-page .care-demo-card .care-demo-image::before {
    width: 190px;
    height: 190px;
    top: -65px;
    right: -38px;
}

body.home-page .care-demo-card .care-demo-image::after {
    width: 130px;
    height: 130px;
    bottom: -42px;
    left: -28px;
}

body.home-page .care-demo-card .care-demo-image > i,
body.home-page .care-demo-card .care-demo-label {
    position: relative;
    z-index: 1;
}

body.home-page .care-demo-card .care-demo-label {
    position: absolute;
    right: 14px;
    bottom: 12px;
    color: rgba(62, 74, 49, .72);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

body.home-page .care-demo-card .care-demo-skin { background: linear-gradient(145deg, #f6e7df, #ead3c7); }
body.home-page .care-demo-card .care-demo-hair { background: linear-gradient(145deg, #e9e4d4, #d4d6bc); }
body.home-page .care-demo-card .care-demo-body { background: linear-gradient(145deg, #f1e5d1, #e6cdb0); }
body.home-page .care-demo-card .care-demo-baby { background: linear-gradient(145deg, #e4edf0, #d3e2dc); }

body.home-page .care-demo-card .care-demo-caption {
    color: #83796f;
    font-size: 11px;
}

@media (max-width: 575px) {
    body.home-page .care-demo-card .care-demo-image { min-height: 170px; font-size: 42px; }
    body.home-page .care-demo-card .care-demo-image img { min-height: 170px; }
}

/* Subtle glass surfaces over a soft neutral canvas. */
body.home-page .home-scroll-top {
    position: fixed;
    right: 20px;
    bottom: calc(90px + env(safe-area-inset-bottom, 0px));
    z-index: 1020;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    background: #c98f86;
    color: #fff;
    box-shadow: 0 6px 20px rgba(127, 64, 41, 0.25);
    cursor: pointer;
}

body.home-page .home-scroll-top[hidden] {
    display: none;
}

body.home-page .home-scroll-top:hover {
    background: #9b6259;
}

body.home-page .home-scroll-top:focus-visible {
    outline: 2px solid #9b6259;
    outline-offset: 3px;
}

body.home-page main > section.get-to-know-section:not(.top-image) {
    background: #c98f86;
    padding: clamp(18px, 3vw, 36px);
    border-radius: 28px;
    margin-block: 20px;
}

body.home-page .get-to-know .heading,
body.home-page .get-to-know .text {
    color: #211914;
}

body.home-page main > section.limited-stock-section.limited-stock-highlight {
    background: #c98f86;
    padding: clamp(18px, 3vw, 36px);
    border-radius: 28px;
    margin-block: 20px;
}

body.home-page .limited-stock-highlight .heading .title,
body.home-page .limited-stock-highlight .heading .text {
    color: #211914;
}

body.home-page .limited-stock-highlight .heading .icon {
    background-color: var(--home-accent-dark);
}

body.home-page .category-section .category {
    max-width: 1080px;
    margin-inline: auto;
    padding: clamp(14px, 2vw, 24px);
    background: linear-gradient(180deg, #fff 0%, #fcf8f7 100%);
    border: 1px solid rgba(155, 98, 89, 0.12);
    border-radius: 18px;
    box-shadow: 0 10px 32px rgba(35, 52, 27, 0.08);
}

body.home-page .category-eyebrow {
    display: block;
    margin-bottom: 8px;
    color: #9b6259;
    font-size: 12px;
}

body.home-page .category-section .heading .title,
body.home-page .category-section .heading .text {
    color: var(--home-accent-dark);
}

body.home-page .category-section .heading .title {
    width: auto;
    padding-bottom: 0;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: normal;
}

body.home-page .category-section .heading .title::after {
    content: none;
}

body.home-page .category-section .heading > a {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 11px 15px;
    border: 1px solid #ead2cc;
    border-radius: 6px;
    color: var(--home-accent-dark);
    background: #fff;
    font-size: 12px;
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease;
}

body.home-page .category-section .heading > a:hover {
    border-color: var(--home-accent);
    background: #fbf5f3;
}

body.home-page .category-section .heading .icon {
    background-color: var(--home-accent-dark);
}

body.home-page .category-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(10px, 1.5vw, 18px);
}

body.home-page .category-section .category-item.category-card {
    position: relative;
    justify-content: flex-start;
    padding: 0 0 14px;
    border-radius: 8px !important;
    background: #fff;
    text-decoration: none;
    border: 1px solid rgba(155, 98, 89, 0.12);
    box-shadow: 0 5px 18px rgba(35, 52, 27, 0.06);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

body.home-page .category-card .category-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: clamp(130px, 17vw, 210px);
    max-width: none;
    margin-bottom: 8px;
    overflow: hidden;
    border-radius: 0 !important;
    background: #fff;
    border: 0;
}

body.home-page .category-section .category-card img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 0 !important;
    object-fit: cover;
    object-position: center;
}

body.home-page .category-section .category-card .text {
    display: block;
    padding-inline: 10px;
    color: #302724;
    font-weight: 600;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

body.home-page .category-section .category-item.category-card:hover,
body.home-page .category-section .category-item.category-card:focus-visible {
    background: #fbf5f3;
    border-color: var(--home-accent);
    box-shadow: 0 12px 26px rgba(155, 98, 89, 0.13);
    transform: translateY(-3px);
}

@media (max-width: 991px) {
    body.home-page .category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    body.home-page .category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    body.home-page .category-section .container-fluid {
        padding: 0;
    }

    body.home-page .category-section .heading {
        align-items: flex-end !important;
        gap: 8px;
    }

    body.home-page .category-section .heading .title {
        font-size: 20px;
        text-align: left;
    }

    body.home-page .category-section .category-item.category-card {
        padding: 0 0 12px;
    }

    body.home-page .category-card .category-image {
        height: clamp(90px, 22vw, 140px);
        margin-bottom: 6px;
    }
}

body.home-page {
    background: #fcf8f7;
    color: #302724;
    --home-glass: rgba(255, 255, 255, 0.82);
    --home-border: rgba(155, 98, 89, 0.12);
    --home-shadow: 0 8px 28px rgba(97, 48, 32, 0.06);
}

body.home-page main {
    --home-page-gutter: clamp(12px, 2.5vw, 40px);
    background:
        radial-gradient(ellipse at 0% 10%, rgba(155, 98, 89, 0.10), transparent 42%),
        radial-gradient(ellipse at 100% 55%, rgba(196, 211, 181, 0.2), transparent 40%);
    padding: 0 var(--home-page-gutter) 40px;
}

body.home-page .top-image {
    border-radius: 28px;
    overflow: hidden;
    box-shadow: var(--home-shadow);
    margin-bottom: 16px;
}

body.home-page main > section:not(.top-image):not(.home-hero) {
    background: transparent;
    padding: 28px 0;
}

body.home-page main > section.category-section:not(.top-image):not(.home-hero) {
    border-radius: 0;
    background-color: #fff;
    background-image: none;
    width: calc(100% + var(--home-page-gutter) * 2);
    margin-inline: calc(-1 * var(--home-page-gutter));
    padding-inline: var(--home-page-gutter);
}

body.home-page .heading {
    gap: 16px;
}

body.home-page .heading .title {
    color: #9b6259;
    font-size: clamp(21px, 2.2vw, 30px);
    letter-spacing: -0.7px;
    margin-bottom: 0;
}

body.home-page .homepage-brands-section {
    margin: 18px 0 34px;
    padding: clamp(22px, 3vw, 38px);
    border: 1px solid #f0e3df;
    background: linear-gradient(135deg, #fcf8f7, #fff 65%);
}

.homepage-brands-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 24px; }
.homepage-brands-eyebrow { color: #9b6259; font-size: 10px; font-weight: 700; letter-spacing: 1.8px; }
.homepage-brands-heading h2 { margin: 6px 0 0; color: #9b6259; font-size: clamp(24px, 2.5vw, 34px); font-weight: 600; }
.homepage-brands-heading > a { display: inline-flex; align-items: center; gap: 12px; color: #9b6259; font-size: 12px; text-decoration: none; }
.homepage-brands-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.homepage-brand-card { position: relative; display: flex; min-width: 0; min-height: 150px; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 18px; border: 1px solid #f0e3df; background: #fff; color: #302724; text-decoration: none; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.homepage-brand-card:hover { transform: translateY(-3px); border-color: #d6a59c; box-shadow: 0 10px 24px rgba(155, 98, 89, .08); color: #9b6259; }
.homepage-brand-logo { display: grid; place-items: center; width: 100%; height: 72px; }
.homepage-brand-logo img { display: block; max-width: 80%; max-height: 68px; object-fit: contain; }
.homepage-brand-name { font-size: 12px; font-weight: 600; }
.homepage-brand-card > i { position: absolute; top: 12px; right: 13px; color: #b97870; font-size: 13px; }
@media (max-width: 767.98px) {
    .homepage-brands-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .homepage-brand-card { min-height: 126px; }
    .homepage-brands-heading { align-items: center; }
}
@media (prefers-reduced-motion: reduce) {
    .homepage-brand-card { transition: none; }
}

body.home-page .heading > a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

body.home-page .heading .text {
    font-size: 14px;
    font-weight: 600;
}

body.home-page .heading .icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    margin-left: 0;
}

body.home-page .heading .icon i {
    font-size: 11px;
}

body.home-page .category-section .category-item,
body.home-page .product-item {
    background: var(--home-glass);
    border: 1px solid rgba(255, 255, 255, 0.95);
    border-radius: 24px;
    box-shadow: var(--home-shadow), inset 0 0 0 1px var(--home-border);
    transition: transform 200ms ease, box-shadow 200ms ease, background-color 200ms ease;
}

body.home-page .category-section .category-item {
    padding: 24px 12px;
    height: 100%;
}

body.home-page .category-section .category-item .text {
    font-weight: 600;
    margin-top: 12px;
}

body.home-page .product-item {
    padding: 0 0 14px;
}

body.home-page .homepage-products-section .product-item {
    overflow: hidden;
}

body.home-page .homepage-products-section .product-img {
    display: block;
    width: 100%;
    margin: 0 0 14px !important;
    padding: 0 !important;
    overflow: hidden;
}

body.home-page .product-item .name-type .product-name {
    color: #302724;
    font-weight: 600;
}

body.home-page .product-item .product-img img {
    object-fit: contain;
}

body.home-page .product-item .bg-svg {
    opacity: 0.35;
}

body.home-page .product-item .add-to-cart {
    border: 1px solid var(--home-border);
    border-radius: 15px;
}

body.home-page .custom-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    font-weight: 600;
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 5px 16px rgba(155, 98, 89, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

body.home-page .custom-box-design {
    background: rgba(255, 249, 246, 0.94);
}

body.home-page .banner-section .banner-image img,
body.home-page .flash-sale-banner img,
body.home-page .second-banner-box,
body.home-page .campaign-item .card {
    border-radius: 24px;
    box-shadow: var(--home-shadow);
}

body.home-page .campaign-item .card {
    overflow: hidden;
}

body.home-page .campaign-item .card-img {
    height: 240px;
    object-fit: cover;
}

@media (max-width: 767.98px) {
    body.home-page .campaign-item .card-img {
        height: 200px;
    }
}

body.home-page .campaign-item .campaign-item-box {
    background: rgba(39, 30, 26, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 20px;
}

@supports ((backdrop-filter: blur(12px)) or (-webkit-backdrop-filter: blur(12px))) {
    body.home-page header.sticky-top,
    body.home-page .campaign-item .campaign-item-box {
        -webkit-backdrop-filter: blur(12px);
        backdrop-filter: blur(12px);
    }
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    body.home-page .category-section .category-item:hover,
    body.home-page .product-item:hover {
        transform: translateY(-4px);
        box-shadow: 0 14px 32px rgba(97, 48, 32, 0.11);
    }
}

@media (max-width: 575px) {
    body.home-page main {
        --home-page-gutter: 10px;
        padding: 0 var(--home-page-gutter) 24px;
    }

    body.home-page main > section:not(.top-image):not(.home-hero) {
        padding: 20px 0;
    }

    body.home-page .top-image,
    body.home-page .category-section .category-item,
    body.home-page .product-item {
        border-radius: 18px;
    }

    body.home-page .product-item {
        padding: 10px;
    }

    body.home-page .category-section .category-item {
        padding: 18px 10px;
    }

    body.home-page .heading .text {
        font-size: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.home-page .product-item,
    body.home-page .category-section .category-item,
    body.home-page .category-section .category-item img {
        transition: none;
        transform: none;
    }
}

body.home-page .homepage-products-section .product-img img {
    display: block;
    width: 100%;
    height: clamp(190px, 22vw, 280px);
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center;
}
body.home-page .homepage-products-section .product-name {
    font-size: clamp(13px, 1.4vw, 17px);
    overflow-wrap: anywhere;
}
body.home-page .homepage-products-section .price { font-size: clamp(14px, 1.5vw, 20px); }
body.home-page .homepage-products-section .add-to-cart {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    cursor: pointer;
}
body.home-page .homepage-products-section .product-info {
    padding: 0 14px;
}

body.home-page .homepage-section-copy {
    margin-top: 8px;
    color: #81736d;
    font-size: 14px;
    line-height: 1.6;
}

/* Flash Sale editorial panel and product carousel. */
.flash-sale-shell { display: grid; grid-template-columns: minmax(0, 2fr) minmax(240px, .85fr); grid-template-areas: "products intro"; border: 1px solid #e0e7da; background: #fcf8f7; overflow: hidden; }
.flash-sale-intro { grid-area: intro; padding: clamp(24px, 3vw, 44px); background: #c98f86; color: #fff; position: relative; }
.flash-sale-kicker { display: flex; align-items: center; gap: 8px; font-size: 11px; letter-spacing: 2px; margin-bottom: 24px; }
.flash-sale-intro h2 { font-size: clamp(34px, 3.5vw, 52px); line-height: 1.1; margin-bottom: 18px; }
.flash-sale-intro h2 span { display: block; margin-top: 16px; font-size: 22px; line-height: 1.3; font-weight: 400; }
.flash-sale-intro p { font-size: 13px; line-height: 1.8; max-width: 310px; color: #f1f5ed; }
.flash-sale-explore { display: inline-flex; align-items: center; gap: 18px; padding: 12px 0; border-bottom: 1px solid #ffffff80; color: #fff; text-decoration: none; }
.flash-sale-explore:hover { color: #fff; border-color: #fff; }
.flash-sale-art { display: block; width: 100%; max-height: 150px; object-fit: contain; margin-top: 24px; }
.flash-sale-products { grid-area: products; min-width: 0; padding: clamp(20px, 2.5vw, 36px); }
.flash-sale-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 24px; }
.flash-sale-label { font-size: 10px; letter-spacing: 1.6px; color: #c98f86; }
.flash-sale-toolbar h3 { font-size: clamp(20px, 2vw, 28px); margin: 6px 0 0; color: #302724; }
.flash-sale-navigation { display: flex; gap: 8px; }
.flash-sale-navigation button { width: 44px; height: 44px; border: 1px solid #d7e0cf; border-radius: 50%; background: #fff; color: #c98f86; }
.flash-sale-navigation button:hover { background: #f3e2de; }
.flash-sale-navigation button:disabled { opacity: .35; cursor: default; }
#flash-sale-slider .swiper-slide { height: auto; }
body.storefront-page main .flash-sale-card { height: 100%; display: flex; flex-direction: column; border-radius: 8px; }
.flash-sale-card-label { align-self: center; color: #9b6259; background: #fbf5f3; padding: 5px 10px; font-size: 10px; margin-bottom: 16px; border-radius: 30px; }
body.storefront-page main .flash-sale-card .product-img { margin-bottom: 16px; }
body.storefront-page main .flash-sale-card .product-img img { width: 100%; height: 160px; object-fit: contain; }
.flash-sale-card .product-info { display: flex; flex-direction: column; flex: 1; }
.flash-sale-card .name-type { flex: 1; }
body.storefront-page main .flash-sale-card .add-to-cart { width: 100%; gap: 8px; border-radius: 6px; font-size: 12px; padding: 10px; }
.flash-sale-pagination { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px; margin-top: 24px; }
.flash-sale-pagination .swiper-pagination-bullet-active { background: #c98f86; }
.flash-sale-empty { padding: 40px 0; color: #81736d; }
.flash-sale-redesign button:focus-visible, .flash-sale-redesign a:focus-visible { outline: 2px solid #c98f86; outline-offset: 4px; }
@media (max-width: 767.98px) {
    .flash-sale-shell { grid-template-columns: 1fr; grid-template-areas: "intro" "products"; }
    .flash-sale-intro { padding: 24px; }
    .flash-sale-kicker { margin-bottom: 14px; }
    .flash-sale-intro h2 span { font-size: 18px; }
    .flash-sale-art { max-height: 110px; margin-top: 16px; }
    .flash-sale-products { padding: 20px 16px; }
}

body.home-page .flash-sale-redesign .flash-sale-shell {
    overflow: hidden;
    border: 1px solid #eadfd4;
    border-radius: 24px;
    background:
        radial-gradient(ellipse at 100% 0%, rgba(227, 196, 168, .28), transparent 38%),
        linear-gradient(135deg, #fffaf6, #f8f1e9);
    box-shadow: 0 16px 42px rgba(65, 36, 25, .08);
}

body.home-page main > section.flash-sale-section {
    background-color: #f3e8df;
}

body.home-page .flash-sale-redesign .flash-sale-intro {
    overflow: hidden;
    background:
        radial-gradient(circle at 100% 0%, rgba(226, 196, 154, .24), transparent 42%),
        linear-gradient(145deg, #9b6259, #243b1e);
}

body.home-page .flash-sale-redesign .flash-sale-intro::after {
    position: absolute;
    right: -100px;
    bottom: -150px;
    width: 340px;
    height: 340px;
    border: 1px solid rgba(241, 215, 173, .18);
    border-radius: 50%;
    content: "";
    box-shadow: 0 0 0 28px rgba(241, 215, 173, .045), 0 0 0 58px rgba(241, 215, 173, .035);
    pointer-events: none;
}

body.home-page .flash-sale-redesign .flash-sale-intro > * {
    position: relative;
    z-index: 1;
}

body.home-page .flash-sale-redesign .flash-sale-products {
    background:
        radial-gradient(ellipse at 100% 0%, rgba(232, 213, 194, .34), transparent 42%),
        linear-gradient(155deg, #fffdfb, #f8f2ec);
}

body.home-page .flash-sale-redesign .flash-sale-toolbar {
    padding-bottom: 16px;
    border-bottom: 1px solid #e9ded3;
}

@media (max-width: 767.98px) {
    body.home-page .flash-sale-redesign .flash-sale-shell {
        border-radius: 18px;
    }
}

/* Keep the final homepage section flush with the footer. */
body.home-page main { padding-bottom: 0; overflow-x: clip; }
body.home-page main > section.get-to-know-section:not(.top-image) { margin-bottom: 0; }

/* Remove stacked spacing below the campaign cards. */

body.home-page main .homepage-products-section .product-item {
    padding: 10px;
    overflow: hidden;
    border: 1px solid #f0e9e5;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 3px 14px rgba(65, 36, 25, .045);
    text-align: left;
    transition: transform .22s ease, box-shadow .22s ease;
}

body.home-page main .homepage-products-section .product-item .product-img {
    position: relative;
    display: grid !important;
    place-items: center;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / .94;
    margin: 0 !important;
    padding: 12px !important;
    overflow: hidden;
    border-radius: 12px;
    background: #faf7f4;
}

body.home-page main .homepage-products-section .product-item .product-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform .35s ease;
}

body.home-page main .homepage-products-section .product-item .product-card-discount {
    position: absolute;
    z-index: 1;
    top: 10px;
    left: 10px;
    padding: 5px 8px;
    border-radius: 999px;
    background: #fff;
    color: #c98f86;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .04em;
    box-shadow: 0 2px 8px rgba(65, 36, 25, .08);
}

body.home-page main .homepage-products-section .product-item .product-info {
    align-items: stretch !important;
    padding: 14px 4px 4px;
    text-align: left;
}

body.home-page main .homepage-products-section .product-item .name-type {
    align-items: flex-start !important;
    gap: 5px;
    margin-bottom: 12px;
    text-align: left;
}

body.home-page main .homepage-products-section .product-item .product-type {
    color: #94857d;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .09em;
    line-height: 1.4;
    text-transform: uppercase;
}

body.home-page main .homepage-products-section .product-item .product-name {
    display: -webkit-box;
    overflow: hidden;
    color: #302724;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

body.home-page main .homepage-products-section .product-item .product-card-purchase {
    display: flex !important;
    width: 100%;
    flex-direction: row;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: nowrap;
    gap: 6px !important;
    padding-top: 10px;
    border-top: 1px solid #f2ece8;
}

body.home-page main .homepage-products-section .product-item .product-card-pricing {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    margin-right: auto;
}

body.home-page main .homepage-products-section .product-item .product-card-pricing .price {
    color: #9b6259;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

body.home-page main .homepage-products-section .product-item .product-card-pricing del {
    color: #9a8c85;
    font-size: 12px;
}

body.home-page main .homepage-products-section .product-item .add-to-cart {
    display: grid;
    width: 40px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
    flex: 0 0 40px;
    margin-left: auto;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #f1f5ed;
    color: #fff;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

body.home-page main .homepage-products-section .product-item .add-to-cart i {
    color: #9b6259;
    font-size: 16px;
}

body.home-page main .homepage-products-section .product-item .add-to-cart:hover,
body.home-page main .homepage-products-section .product-item .add-to-cart:focus-visible {
    background: #c98f86;
    color: #fff;
}

body.home-page main .homepage-products-section .product-item .add-to-cart:hover i,
body.home-page main .homepage-products-section .product-item .add-to-cart:focus-visible i {
    color: #fff;
}

body.home-page main .homepage-products-section .product-item .add-to-cart:focus-visible,
body.home-page main .homepage-products-section .product-item .product-img:focus-visible,
body.home-page main .homepage-products-section .product-item .name-type:focus-visible {
    outline: 2px solid #9b6259;
    outline-offset: 3px;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    body.home-page main .homepage-products-section .product-item:hover {
        transform: translateY(-3px);
        box-shadow: 0 10px 24px rgba(65, 36, 25, .1);
    }

    body.home-page main .homepage-products-section .product-item:hover .product-img img {
        transform: scale(1.04);
    }
}

@media (max-width: 575px) {
    body.home-page main .homepage-products-section .product-item .product-info {
        padding: 12px 2px 2px;
    }

    body.home-page main .homepage-products-section .product-item .product-name {
        font-size: 12px;
    }

    body.home-page main .homepage-products-section .product-item .product-card-pricing .price {
        font-size: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.home-page main .homepage-products-section .product-item,
    body.home-page main .homepage-products-section .product-item .product-img img,
    body.home-page main .homepage-products-section .product-item .add-to-cart {
        transition: none;
    }
}
