/* 
  storefront.css 
  V3: Flowerbx High-Fashion Minimalist Clone
*/

@import url('https://fonts.googleapis.com/css2?family=Jost:wght@400;500;600;700&family=Inter:wght@300;400;500;600&display=swap');

/* Homepage hero carousel restore: scoped to the landing carousel only. */
.hero-carousel {
    overflow: hidden;
}

/* Level 4 clean sales landing pages */
.sales-landing-page {
    background: #fffaf8;
    color: var(--color-black);
}

.sales-breadcrumb {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    padding: 1rem 0;
    font-size: 0.82rem;
    color: var(--color-gray-dark);
}

.sales-breadcrumb a {
    color: var(--color-black);
    text-decoration: none;
}

.sales-hero {
    position: relative;
    min-height: clamp(560px, 74vh, 760px);
    display: flex;
    align-items: flex-end;
    overflow: hidden;
}

.sales-hero__media {
    position: absolute;
    inset: 0;
}

.sales-hero__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(38, 28, 28, 0.68), rgba(38, 28, 28, 0.18) 58%, rgba(38, 28, 28, 0.06));
}

.sales-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sales-hero__content {
    position: relative;
    z-index: 1;
    padding-bottom: clamp(3rem, 7vw, 5.5rem);
    max-width: 1180px;
}

.sales-hero__content h1 {
    max-width: 780px;
    color: #fff;
    font-size: clamp(2.45rem, 7vw, 5.5rem);
    line-height: 0.97;
    margin: 0 0 1rem;
}

.sales-hero__content p {
    max-width: 660px;
    color: rgba(255, 255, 255, 0.92);
    font-size: clamp(1rem, 2vw, 1.25rem);
    line-height: 1.65;
}

.sales-eyebrow {
    margin: 0 0 0.75rem;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #b2475b;
}

.sales-hero .sales-eyebrow {
    color: #ffe3e8;
}

.sales-hero__actions,
.sales-link-row {
    display: flex;
    gap: 0.9rem;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 1.5rem;
}

.sales-section {
    padding: clamp(3rem, 7vw, 5.5rem) 0;
}

.sales-two-column,
.sales-copy-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.75fr);
    gap: clamp(2rem, 5vw, 4rem);
    align-items: center;
}

.sales-two-column h2,
.sales-section-heading h2,
.sales-copy-grid h2,
.sales-final-cta h2 {
    margin: 0 0 1rem;
    font-size: clamp(1.65rem, 3vw, 2.6rem);
    line-height: 1.08;
}

.sales-two-column p,
.sales-section-heading p,
.sales-copy-grid p,
.sales-faq p,
.sales-final-cta p {
    color: var(--color-gray-dark);
    line-height: 1.7;
}

.sales-card-image {
    margin: 0;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid rgba(226, 217, 213, 0.92);
    background: #fff;
}

.sales-card-image img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}

.sales-section-heading {
    max-width: 760px;
    margin-bottom: 1.75rem;
}

.sales-product-grid {
    grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr));
}

.sales-copy-section {
    background: #fff;
}

.sales-copy-grid {
    align-items: stretch;
}

.sales-copy-grid article,
.sales-faq article {
    border: 1px solid rgba(226, 217, 213, 0.92);
    background: #fffaf8;
    border-radius: 8px;
    padding: clamp(1.25rem, 3vw, 2rem);
}

.sales-faq-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.sales-faq h3 {
    margin: 0 0 0.65rem;
    font-size: 1.05rem;
}

.sales-links {
    background: #fff;
}

.sales-link-row a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0.75rem 1rem;
    border: 1px solid rgba(226, 217, 213, 0.92);
    border-radius: 999px;
    color: var(--color-black);
    background: #fffaf8;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.88rem;
}

.sales-final-cta {
    padding: clamp(3rem, 7vw, 5rem) 0;
    background: #2f2425;
    color: #fff;
    text-align: center;
}

.sales-final-cta p {
    color: rgba(255, 255, 255, 0.78);
}

.sales-empty {
    padding: 2rem;
    border: 1px solid rgba(226, 217, 213, 0.92);
    background: #fff;
    border-radius: 8px;
}

@media (max-width: 760px) {
    .sales-hero {
        min-height: 620px;
    }

    .sales-hero__media::after {
        background: linear-gradient(180deg, rgba(38, 28, 28, 0.16), rgba(38, 28, 28, 0.78));
    }

    .sales-two-column,
    .sales-copy-grid,
    .sales-faq-grid {
        grid-template-columns: 1fr;
    }
}

/* Product card rose redesign 2026-06-16. Global storefront cards. */
.product-grid,
.collection-product-grid {
    gap: clamp(1.35rem, 2.2vw, 2rem) !important;
}

.product-card,
.collection-product-card,
.page-home .homepage-slider__card.product-card {
    overflow: hidden;
    border: 1px solid rgba(226, 217, 213, 0.92) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 16px 36px rgba(60, 40, 45, 0.10) !important;
    padding: 0.62rem 0.62rem 0.88rem !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease !important;
}

.product-card:hover,
.collection-product-card:hover,
.page-home .homepage-slider__card.product-card:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(231, 143, 159, 0.55) !important;
    box-shadow: 0 22px 44px rgba(60, 40, 45, 0.14) !important;
}

.product-card .product-image,
.collection-product-card .product-image,
.page-home .homepage-slider__card .product-image {
    aspect-ratio: 1 / 1.15 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 10px !important;
    background: #fbf7f5 !important;
}

.product-card .product-image img:not(.pdp-main-image):not(.pdp-gallery-thumb),
.collection-product-card .product-image img:not(.pdp-main-image):not(.pdp-gallery-thumb),
.page-home .homepage-slider__card .product-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
}

.product-card:hover .product-image img:not(.pdp-main-image):not(.pdp-gallery-thumb),
.collection-product-card:hover .product-image img:not(.pdp-main-image):not(.pdp-gallery-thumb),
.page-home .homepage-slider__card:hover .product-image img {
    transform: scale(1.035) !important;
}

.product-card-actions {
    top: 1.1rem !important;
    right: 1.1rem !important;
    bottom: auto !important;
    z-index: 5 !important;
    display: flex !important;
}

.product-card-favorite {
    width: 48px !important;
    height: 48px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    color: #ef6f87 !important;
    box-shadow: 0 10px 24px rgba(47, 35, 38, 0.18) !important;
}

.product-card-favorite svg {
    width: 25px !important;
    height: 25px !important;
    stroke-width: 1.45 !important;
}

.product-card-favorite.is-favorite {
    background: #fff4f7 !important;
    color: #e95573 !important;
}

.product-card .product-info,
.collection-product-card .product-info,
.page-home .homepage-slider__card .product-info {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    min-height: 0 !important;
    padding: 1rem 0.28rem 0 !important;
}

.product-card .product-title,
.collection-product-card .product-title,
.page-home .homepage-slider__card .product-title {
    min-height: 3.2em !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: clamp(1rem, 1.05vw, 1.16rem) !important;
    font-weight: 500 !important;
    line-height: 1.32 !important;
    letter-spacing: 0 !important;
    color: #181214 !important;
    text-transform: uppercase !important;
    text-wrap: balance !important;
}

.product-card .product-title::after,
.collection-product-card .product-title::after,
.page-home .homepage-slider__card .product-title::after {
    content: "";
    display: block;
}

.product-card-stats {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.62rem;
    margin: 0.82rem auto 0;
    width: min(100%, 18.4rem);
    padding-top: 1.05rem;
}

.product-card-stats::before {
    content: "";
    position: absolute;
    left: 13%;
    right: 13%;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(239, 111, 135, 0.28), transparent);
}

.product-card-stats::after {
    content: "*";
    position: absolute;
    left: 50%;
    top: -0.57rem;
    transform: translateX(-50%);
    padding: 0 0.55rem;
    background: #fff;
    color: #ef7890;
    font-size: 0.82rem;
    line-height: 1;
}

.product-card-stat {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.38rem;
    border-radius: 999px;
    background: linear-gradient(180deg, #fff5f7 0%, #fcecef 100%);
    color: #2f282a;
    padding: 0.54rem 0.6rem;
    font-size: 0.86rem;
    line-height: 1;
    white-space: nowrap;
}

.product-card-stat svg {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    fill: #ef6f87;
    color: #ef6f87;
}

.product-card .product-price,
.collection-product-card .product-price,
.page-home .homepage-slider__card .product-price {
    margin: 1.15rem 0 0 !important;
    justify-content: center !important;
    color: #141012 !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: clamp(1.65rem, 1.75vw, 2rem) !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
}

.product-card .product-price::before {
    display: none !important;
}

.product-delivery {
    margin: 1rem 0 0 !important;
    padding: 1.05rem 0.2rem 0 !important;
    border-top: 1px solid rgba(220, 208, 205, 0.95) !important;
    justify-content: center !important;
    gap: 0.58rem !important;
    color: #1d1719 !important;
    font-size: 0.86rem !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

.product-delivery__icon {
    width: 22px !important;
    height: 22px !important;
    color: #ef6f87 !important;
}

.product-delivery__icon svg {
    width: 22px !important;
    height: 22px !important;
    fill: currentColor !important;
}

.product-buy-now {
    width: 100% !important;
    margin: 0.96rem 0 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: linear-gradient(180deg, #f0738c 0%, #e95f7c 100%) !important;
    color: #fff !important;
    padding: 1rem 1.1rem !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.24), 0 10px 20px rgba(225, 82, 113, 0.18) !important;
}

.product-card:hover .product-buy-now {
    background: linear-gradient(180deg, #f17a92 0%, #e75373 100%) !important;
}

.page-home .homepage-slider__card.product-card {
    flex-basis: clamp(240px, 20vw, 292px) !important;
    max-width: clamp(240px, 20vw, 292px) !important;
    min-height: 0 !important;
}

@media (min-width: 1200px) {
    .product-grid[style],
    .collection-product-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .product-card,
    .collection-product-card,
    .page-home .homepage-slider__card.product-card {
        border-radius: 14px !important;
        padding: 0.55rem 0.55rem 0.78rem !important;
    }

    .product-card-favorite {
        width: 42px !important;
        height: 42px !important;
    }

    .product-card .product-title,
    .collection-product-card .product-title,
    .page-home .homepage-slider__card .product-title {
        min-height: auto !important;
        font-size: 0.98rem !important;
    }

    .product-card-stats {
        grid-template-columns: 1fr 1fr;
        gap: 0.42rem;
        width: 100%;
    }

    .product-card-stat {
        padding: 0.48rem 0.42rem;
        font-size: 0.78rem;
    }

    .product-card .product-price,
    .collection-product-card .product-price,
    .page-home .homepage-slider__card .product-price {
        font-size: 1.55rem !important;
    }

    .product-delivery {
        font-size: 0.76rem !important;
        letter-spacing: 0 !important;
    }
}

.payment-page {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 70vh;
    background: #f5f2f2;
    padding-bottom: 5rem;
}
.payment-page::before {
    content: "";
    position: absolute;
    z-index: -2;
    inset: -24px;
    background: url('/assets/img/hero/velvet-hero-09-premium.webp') center / cover fixed no-repeat;
    filter: blur(18px);
    transform: scale(1.035);
}
.payment-page::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: rgba(255, 252, 252, 0.8);
}
.payment-intro {
    position: relative;
    padding: 3.25rem 1.25rem 4.75rem;
    text-align: center;
    background: transparent;
    border-bottom: 1px solid rgba(125, 107, 111, 0.16);
}
.payment-intro__inner { max-width: 820px; margin: 0 auto; }
.payment-intro h1 { margin: 0.35rem 0 0.8rem; font-family: var(--font-heading); font-size: clamp(2rem, 4vw, 3.25rem); font-weight: 500; text-transform: uppercase; }
.payment-intro__inner > p:last-of-type { margin: 0 auto; max-width: 620px; color: #536159; line-height: 1.65; }
.payment-progress { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 680px; margin: 2.4rem auto 0; }
.payment-progress__step { position: relative; display: grid; justify-items: center; gap: 0.55rem; color: #7d8781; font-size: 0.72rem; letter-spacing: 0.04em; text-transform: uppercase; }
.payment-progress__step::before { content: ""; position: absolute; z-index: 0; top: 14px; right: 50%; width: 100%; height: 1px; background: #c7cec9; }
.payment-progress__step:first-child::before { display: none; }
.payment-progress__marker { position: relative; z-index: 1; display: grid; place-items: center; width: 29px; height: 29px; border: 1px solid #b5beb8; border-radius: 50%; background: #fff; color: #6e7872; font-size: 0.72rem; font-weight: 700; }
.payment-progress__step.is-complete { color: #52665a; }
.payment-progress__step.is-complete::before, .payment-progress__step.is-active::before { background: #738b7c; }
.payment-progress__step.is-complete .payment-progress__marker { border-color: #738b7c; background: #738b7c; color: #fff; }
.payment-progress__step.is-active { color: #151b17; }
.payment-progress__step.is-active .payment-progress__marker { border: 2px solid #b97487; color: #8a4358; box-shadow: 0 0 0 5px rgba(185, 116, 135, 0.14); }
.payment-layout {
    position: relative;
    z-index: 2;
    width: min(1160px, calc(100% - 2rem));
    margin: -2.2rem auto 0;
    padding: 1.5rem;
    border: 1px solid rgba(211, 199, 203, 0.9);
    border-radius: 8px;
    background: rgba(248, 247, 249, 0.98);
    box-shadow: 0 22px 56px rgba(70, 51, 57, 0.14);
}
.payment-main {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr);
    gap: 1.25rem;
    align-items: start;
}
.payment-notices { grid-column: 1 / -1; display: grid; gap: 0.65rem; }
.payment-notices:empty { display: none; }
.payment-notices .flash { margin: 0; }
.payment-column { display: grid; min-width: 0; gap: 1.25rem; align-content: start; }
.payment-column--left { grid-column: 1; grid-row: 2; }
.payment-column--right { grid-column: 2; grid-row: 2; }
.payment-card, .payment-summary {
    min-width: 0;
    width: 100%;
    background: #fff;
    border: 1px solid #ded7da;
    border-radius: 6px;
    padding: 1.5rem;
    box-shadow: 0 8px 24px rgba(70, 51, 57, 0.07);
}
.payment-card--empty { max-width: 680px; margin: 0 auto; text-align: center; }
.payment-card--checkout { align-self: start; }
.payment-card__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; border-bottom: 1px solid #e0e5e1; padding-bottom: 1.1rem; margin-bottom: 1.25rem; }
.payment-card__heading--items { align-items: center; }
.payment-card h2, .payment-summary h2 { margin: 0.25rem 0 0; color: #182019; font-family: var(--font-heading); font-weight: 500; }
.payment-card h2 { font-size: 1.35rem; }
.payment-mode, .payment-item-count { display: inline-flex; min-height: 30px; align-items: center; border: 1px solid #d2b36d; color: #6b531b; background: #fff9e9; padding: 0.35rem 0.65rem; font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; white-space: nowrap; }
.payment-item-count { border-color: #d5ddd7; background: #f6f8f6; color: #526159; }
.secure-payment-form { display: grid; gap: 1rem; }
.payment-provider-field label, .payment-field span, .payment-section-label { display: block; margin-bottom: 0.48rem; color: #27332c; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; }
.payment-methods { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0 0 1rem; border-bottom: 1px solid #e0e5e1; }
.payment-methods p { margin: 0 0 0.25rem; }
.payment-methods > div > span { color: #68746d; font-size: 0.78rem; }
.payment-methods__brands { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.45rem; }
.payment-brand { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 34px; border: 1px solid #d9dfdb; border-radius: 4px; background: #fff; box-shadow: 0 3px 10px rgba(32, 43, 36, 0.07); }
.payment-brand img { display: block; max-width: 40px; max-height: 24px; width: auto; height: auto; }
.payment-brand img[alt="American Express"] { max-width: 42px; max-height: 26px; }
.hosted-tokenization { min-height: 164px; border: 1px solid #d4dcd6; border-radius: 4px; background: #fff; padding: 0.9rem; box-shadow: inset 0 1px 2px rgba(25, 36, 29, 0.04); }
.payment-field input { width: 100%; min-height: 48px; border: 1px solid #d4dcd6; border-radius: 4px; background: #fff; padding: 0.72rem 0.85rem; transition: border-color 0.18s ease, box-shadow 0.18s ease; }
.payment-field input:focus { outline: none; border-color: #9c6072; box-shadow: 0 0 0 3px rgba(185, 116, 135, 0.14); }
.payment-billing { display: grid; gap: 0.85rem; border: 1px solid #e3dade; border-radius: 4px; background: #fff; padding: 1rem; }
.payment-section-label { margin: 0; }
.payment-field-grid { display: grid; grid-template-columns: minmax(0, 1fr) 92px 140px; gap: 0.75rem; align-items: start; }
.payment-billing small { color: #68746d; line-height: 1.45; }
.payment-submit { width: 100%; min-height: 56px; border-radius: 4px; background: #1c2921; box-shadow: 0 10px 22px rgba(28, 41, 33, 0.18); }
.payment-submit:hover { background: #8c4b60; }
.payment-submit:disabled { opacity: 0.65; cursor: wait; }
.payment-trust { display: flex; align-items: flex-start; justify-content: center; gap: 0.65rem; color: #657269; text-align: left; }
.payment-trust__icon, .payment-summary__secure > span { flex: 0 0 auto; display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: #e8f0e9; color: #3f6a4c; font-size: 0.72rem; font-weight: 800; }
.payment-trust p { margin: 0; font-size: 0.75rem; line-height: 1.5; }
.payment-trust strong { color: #314139; }
.payment-form-error { margin: 0; border: 1px solid #d9a2a8; border-radius: 4px; background: #fff1f2; color: #7b1f28; padding: 0.8rem 0.9rem; line-height: 1.45; }
.payment-complete, .payment-unavailable { border: 1px solid #dfe5e0; border-radius: 4px; background: #f7f9f7; padding: 1.35rem; }
.payment-complete strong, .payment-unavailable strong { display: block; margin-bottom: 0.4rem; font-family: var(--font-heading); font-size: 1.15rem; }
.payment-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; }
.payment-items { display: grid; gap: 0.8rem; }
.payment-item { display: grid; grid-template-columns: 78px minmax(0, 1fr) auto; align-items: center; gap: 0.9rem; border: 1px solid #e0e5e1; border-radius: 5px; background: #fff; padding: 0.75rem; box-shadow: 0 6px 18px rgba(31, 42, 35, 0.06); }
.payment-item__image { width: 78px; height: 78px; object-fit: cover; border-radius: 4px; background: #f0f2f0; }
.payment-item__details { min-width: 0; }
.payment-item strong, .payment-item span, .payment-item small { display: block; }
.payment-item span, .payment-item small { margin-top: 0.28rem; color: #68746d; font-size: 0.78rem; }
.payment-item b { color: #233129; white-space: nowrap; }
.payment-summary__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.payment-summary__heading h2 { font-size: 1.25rem; }
.payment-summary__heading > strong { color: #8a4358; font-family: var(--font-heading); font-size: 1.8rem; font-weight: 500; white-space: nowrap; }
.payment-summary dl { margin: 0; border-top: 1px solid #e0e5e1; border-bottom: 1px solid #e0e5e1; padding: 0.65rem 0; }
.payment-summary dl div { display: flex; justify-content: space-between; gap: 1rem; padding: 0.42rem 0; }
.payment-summary dt, .payment-summary dd { margin: 0; color: #5e6a63; font-size: 0.84rem; }
.payment-summary__total { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: 1rem 0; color: #1c2921; font-family: var(--font-heading); text-transform: uppercase; }
.payment-summary__total strong { font-size: 1.25rem; }
.payment-summary__secure { display: flex; align-items: center; gap: 0.65rem; border: 1px solid #dfe7e1; border-radius: 4px; background: #f5f8f5; padding: 0.75rem; }
.payment-summary__secure strong, .payment-summary__secure small { display: block; }
.payment-summary__secure strong { color: #314139; font-size: 0.8rem; }
.payment-summary__secure small { margin-top: 0.15rem; color: #69756d; font-size: 0.7rem; }
.payment-summary__help { margin: 1rem 0 0; border-top: 1px solid #e0e5e1; padding-top: 0.9rem; color: #667269; font-size: 0.82rem; text-align: center; }
.payment-summary__help a { color: #1c2921; font-weight: 700; }
.surcharge-disclosure { display: flex; flex-direction: column; gap: 0.3rem; margin: 0 0 1.25rem; padding: 0.85rem 1rem; border: 1px solid rgba(185, 116, 135, 0.34); background: rgba(251, 245, 246, 0.92); color: var(--color-gray-dark); font-size: 0.82rem; line-height: 1.5; }
.surcharge-disclosure strong { color: var(--color-black); font-family: var(--font-heading); font-size: 0.8rem; letter-spacing: 0.04em; text-transform: uppercase; }
.surcharge-disclosure--checkout { margin: 1rem 0 0; }
.surcharge-disclosure--payment { margin-bottom: 1rem; }
.payment-qa { border-style: dashed; }

@media (max-width: 900px) {
    .payment-page::before { background-attachment: scroll; background-position: center top; }
    .payment-layout { width: min(760px, calc(100% - 2rem)); padding: 1rem; }
    .payment-main {
        grid-template-columns: minmax(0, 1fr);
        gap: 1rem;
    }
    .payment-notices { grid-column: 1; }
    .payment-column { grid-column: 1; grid-row: auto; gap: 1rem; }
    .payment-column--left { order: 1; }
    .payment-column--right { order: 2; }
}

@media (max-width: 560px) {
    .payment-page { padding-bottom: 3rem; }
    .payment-page::before { inset: -16px; filter: blur(14px); }
    .payment-page::after { background: rgba(255, 252, 252, 0.84); }
    .payment-intro { padding: 2rem 0.75rem 3.2rem; }
    .payment-intro h1 { font-size: 1.9rem; line-height: 1.15; }
    .payment-intro__inner > p:last-of-type { font-size: 0.78rem; line-height: 1.55; }
    .payment-progress { margin-top: 1.7rem; }
    .payment-progress__step { font-size: 0.6rem; }
    .payment-progress__marker { width: 25px; height: 25px; }
    .payment-progress__step::before { top: 12px; }
    .payment-layout { width: calc(100% - 1rem); margin-top: -1.5rem; padding: 0.65rem; }
    .payment-main, .payment-column { gap: 0.85rem; }
    .payment-card, .payment-summary { padding: 1rem; border-radius: 5px; }
    .payment-card__heading { align-items: flex-start; }
    .payment-mode { font-size: 0.65rem; }
    .hosted-tokenization { min-height: 185px; padding: 0.65rem; }
    .payment-field-grid { grid-template-columns: 1fr; }
    .payment-methods { align-items: flex-start; flex-direction: column; }
    .payment-methods__brands { justify-content: flex-start; }
    .payment-item { grid-template-columns: 64px minmax(0, 1fr); }
    .payment-item__image { width: 64px; height: 64px; }
    .payment-item b { grid-column: 2; }
    .payment-summary__heading { align-items: center; }
}

@media (max-width: 380px) {
    .payment-progress__step strong { font-size: 0.54rem; }
    .payment-progress__marker { width: 23px; height: 23px; }
    .payment-progress__step::before { top: 11px; }
    .payment-methods__brands { gap: 0.3rem; }
    .payment-brand { min-width: 44px; }
    .payment-item { grid-template-columns: 54px minmax(0, 1fr); gap: 0.7rem; padding: 0.65rem; }
    .payment-item__image { width: 54px; height: 54px; }
}

.hero-carousel__viewport {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: inherit;
}

.hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    transform: scale(1.012);
    transition: opacity 0.8s ease, transform 1.2s ease;
}

.hero-slide.is-active {
    opacity: 1;
    pointer-events: auto;
    transform: scale(1);
    z-index: 2;
}

.hero-slide .hero-image,
.hero-slide .hero-content {
    height: 100%;
}

.hero-carousel__controls {
    position: absolute;
    left: 50%;
    bottom: clamp(1rem, 2vw, 1.5rem);
    z-index: 5;
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    transform: translateX(-50%);
    padding: 0.35rem 0.55rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.78);
    backdrop-filter: blur(10px);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
}

.hero-carousel__arrow,
.hero-carousel__dot {
    border: 0;
    cursor: pointer;
}

.hero-carousel__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 50%;
    background: rgba(255,255,255,0.92);
    color: var(--brand-green-dark);
    font-size: 1.2rem;
    line-height: 1;
    transition: background 0.2s ease, transform 0.2s ease;
}

.hero-carousel__arrow:hover {
    background: var(--color-white);
    transform: translateY(-1px);
}

.hero-carousel__dots {
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
}

.hero-carousel__dot {
    width: 0.52rem;
    height: 0.52rem;
    padding: 0;
    border-radius: 999px;
    background: rgba(43, 68, 50, 0.34);
    transition: width 0.2s ease, background 0.2s ease;
}

.hero-carousel__dot.is-active {
    width: 1.35rem;
    background: var(--brand-green-dark);
}

@media (max-width: 620px) {
    .hero-carousel__controls {
        bottom: 0.85rem;
        gap: 0.5rem;
        padding: 0.28rem 0.42rem;
    }

    .hero-carousel__arrow {
        width: 1.65rem;
        height: 1.65rem;
        font-size: 1rem;
    }

    .hero-carousel__dot {
        width: 0.46rem;
        height: 0.46rem;
    }

    .hero-carousel__dot.is-active {
        width: 1.1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero-slide {
        transition: none;
        transform: none;
    }
}

/* Emergency popup scroll repair — non-blocking offer card, 2026-06-19 */
body.delivery-offer-open {
    overflow: visible !important;
}

.delivery-offer {
    inset: auto 24px 24px auto !important;
    width: min(560px, calc(100vw - 48px)) !important;
    display: block !important;
    padding: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.delivery-offer.is-visible {
    opacity: 1 !important;
    pointer-events: none !important;
}

.delivery-offer__backdrop {
    display: none !important;
}

.delivery-offer__dialog {
    width: 100% !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 48px) !important;
    grid-template-columns: 190px minmax(0, 1fr) !important;
    border-radius: 20px !important;
    overflow: auto !important;
    pointer-events: auto !important;
    transform: translateY(18px) scale(0.98) !important;
    box-shadow: 0 28px 80px rgba(29, 16, 20, 0.28), 0 8px 24px rgba(29, 16, 20, 0.13) !important;
}

.delivery-offer.is-visible .delivery-offer__dialog {
    transform: translateY(0) scale(1) !important;
}

.delivery-offer__close {
    top: 12px !important;
    right: 12px !important;
    width: 38px !important;
    height: 38px !important;
}

.delivery-offer__media {
    min-height: 0 !important;
    height: 100% !important;
}

.delivery-offer__media span {
    left: 18px !important;
    bottom: 16px !important;
    font-size: 0.72rem !important;
}

.delivery-offer__content {
    padding: 2.2rem 2rem 1.7rem !important;
}

.delivery-offer__content::before {
    top: 16px !important;
    left: 20px !important;
    font-size: 0.7rem !important;
}

.delivery-offer__eyebrow {
    margin-bottom: 0.65rem !important;
    font-size: 0.61rem !important;
}

.delivery-offer__content h2 {
    margin-bottom: 0.75rem !important;
    font-size: clamp(2rem, 4vw, 2.75rem) !important;
    line-height: 0.96 !important;
}

.delivery-offer__content > p:not(.delivery-offer__eyebrow):not(.delivery-offer__note) {
    font-size: 0.84rem !important;
    line-height: 1.55 !important;
}

.delivery-offer__benefits {
    gap: 0.45rem !important;
    margin: 0.9rem 0 1.05rem !important;
}

.delivery-offer__benefits span {
    padding: 0.48rem 0.6rem !important;
    font-size: 0.66rem !important;
}

.delivery-offer__actions {
    gap: 0.7rem !important;
}

.delivery-offer__primary {
    min-height: 44px !important;
    padding: 0.7rem 1rem !important;
    font-size: 0.68rem !important;
}

.delivery-offer__secondary {
    font-size: 0.69rem !important;
}

.delivery-offer__note {
    margin-top: 0.85rem !important;
    font-size: 0.61rem !important;
}

@media (max-width: 620px) {
    .delivery-offer {
        right: 12px !important;
        bottom: 12px !important;
        width: calc(100vw - 24px) !important;
    }

    .delivery-offer__dialog {
        display: block !important;
        max-height: calc(100dvh - 24px) !important;
        border-radius: 18px !important;
    }

    .delivery-offer__media {
        height: 128px !important;
        min-height: 128px !important;
    }

    .delivery-offer__media img {
        object-position: 50% 47% !important;
    }

    .delivery-offer__content {
        padding: 1.55rem 1.15rem 1.05rem !important;
    }

    .delivery-offer__content h2 {
        font-size: clamp(1.9rem, 10vw, 2.55rem) !important;
    }

    .delivery-offer__benefits {
        margin: 0.75rem 0 0.9rem !important;
    }

    .delivery-offer__actions {
        flex-direction: row !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
    }

    .delivery-offer__primary {
        width: auto !important;
        flex: 1 1 auto !important;
    }

    .delivery-offer__secondary {
        width: auto !important;
        flex: 0 0 auto !important;
        border: 0 !important;
        border-bottom: 1px solid #dbc4cb !important;
        border-radius: 0 !important;
        padding-inline: 0.15rem !important;
    }
}

@media (max-width: 390px), (max-height: 700px) {
    .delivery-offer__media {
        height: 96px !important;
        min-height: 96px !important;
    }

    .delivery-offer__content {
        padding-top: 1.25rem !important;
    }

    .delivery-offer__benefits,
    .delivery-offer__note {
        display: none !important;
    }
}

/* Center the non-blocking offer on every viewport — 2026-06-19 */
.delivery-offer,
.delivery-offer.is-visible {
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
}

@media (max-width: 620px) {
    .delivery-offer,
    .delivery-offer.is-visible {
        top: 50% !important;
        left: 50% !important;
        right: auto !important;
        bottom: auto !important;
        transform: translate(-50%, -50%) !important;
    }
}

/* Homepage visual rescue 2026-06-04: scoped landing-page polish only. */
.page-home .hero-split {
    min-height: clamp(440px, 58vw, 620px);
}

.page-home .hero-image img {
    object-fit: cover;
    object-position: center center;
}

.page-home .hero-content {
    padding: clamp(2.25rem, 5vw, 3.5rem) 1.75rem;
    background: linear-gradient(90deg, rgba(24, 18, 18, 0.18) 0%, rgba(24, 18, 18, 0.08) 42%, rgba(24, 18, 18, 0.2) 100%);
}

.page-home .hero-title {
    font-size: clamp(2.05rem, 4.2vw, 3.65rem);
    line-height: 1.28;
    letter-spacing: 0.16em;
    max-width: 13ch;
    margin-bottom: 1rem;
}

.page-home .hero-subtitle {
    max-width: min(860px, 88vw);
    font-size: clamp(0.78rem, 1.22vw, 0.98rem);
    line-height: 1.65;
    letter-spacing: 0.13em;
    margin-bottom: 1.35rem;
}

.page-home .hero-carousel__controls {
    bottom: clamp(0.9rem, 2vw, 1.35rem);
    padding: 0.25rem 0.45rem;
    background: rgba(255, 255, 255, 0.86);
}

.page-home .homepage-product-sections {
    padding: clamp(2.6rem, 5vw, 4rem) 0 0.5rem;
}

.page-home .homepage-product-section {
    max-width: 1360px;
    margin: 0 auto clamp(2.5rem, 5vw, 4rem);
    padding: 0 clamp(1.25rem, 3vw, 3rem);
}

.page-home .homepage-slider {
    grid-template-columns: 2rem minmax(0, 1fr) 2rem;
    gap: 0.65rem;
    align-items: stretch;
}

.page-home .homepage-slider__track {
    min-width: 0;
    gap: 0;
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid rgba(196, 151, 160, 0.28);
    background: rgba(250, 239, 242, 0.72);
    scroll-padding-inline: 0;
}

.page-home .homepage-slider__card {
    flex: 0 0 clamp(190px, 18vw, 244px);
    max-width: clamp(190px, 18vw, 244px);
    min-width: 0;
    border-right: 1px solid rgba(196, 151, 160, 0.22);
}

.page-home .homepage-slider__card .product-card {
    height: 100%;
    min-height: 320px;
    padding-bottom: 1rem;
    background: rgba(255, 255, 255, 0.76);
}

.page-home .homepage-slider__card .product-image {
    aspect-ratio: 1 / 0.78;
    margin: 0;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.72);
}

.page-home .homepage-slider__card .product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.page-home .homepage-slider__card .product-info {
    padding: 0.95rem 0.8rem 0;
}

.page-home .homepage-slider__card .product-name {
    min-height: 2.6em;
    font-size: 0.78rem;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.page-home .homepage-slider__card .product-price {
    font-size: 0.76rem;
}

.page-home .homepage-slider__button {
    position: relative;
    z-index: 3;
    align-self: center;
    width: 2rem;
    height: 2.75rem;
    min-width: 2rem;
    border: 0;
    background: rgba(255, 255, 255, 0.9);
    color: var(--color-black);
    box-shadow: 0 10px 25px rgba(51, 33, 38, 0.08);
}

@media (min-width: 1200px) {
    .page-home .homepage-slider__card {
        flex-basis: calc((100% - 4rem) / 5);
        max-width: calc((100% - 4rem) / 5);
    }
}

@media (max-width: 760px) {
    .page-home .hero-split {
        min-height: 440px;
    }

    .page-home .hero-image img {
        object-position: 60% center;
    }

    .page-home .hero-content {
        align-items: flex-start;
        text-align: left;
        padding: 2.4rem 1rem 2.85rem;
    }

    .page-home .hero-title {
        font-size: clamp(1.9rem, 8vw, 2.7rem);
        max-width: 11ch;
        letter-spacing: 0.12em;
    }

    .page-home .hero-subtitle {
        font-size: 0.72rem;
        letter-spacing: 0.08em;
        line-height: 1.55;
    }

    .page-home .hero-carousel__controls {
        bottom: 0.65rem;
    }

    .page-home .homepage-product-section {
        padding: 0 1rem;
    }

    .page-home .homepage-product-section__header {
        display: block;
    }

    .page-home .homepage-product-section__link {
        width: 100%;
        margin-top: 0.8rem;
    }

    .page-home .homepage-slider {
        grid-template-columns: 0 minmax(0, 1fr) 0;
        gap: 0;
    }

    .page-home .homepage-slider__button {
        position: absolute;
        top: 42%;
        transform: translateY(-50%);
    }

    .page-home .homepage-slider__button--prev {
        left: 0.25rem;
    }

    .page-home .homepage-slider__button--next {
        right: 0.25rem;
    }

    .page-home .homepage-slider__card {
        flex-basis: 68%;
        max-width: 68%;
    }

    .page-home .homepage-slider__card .product-card {
        min-height: 300px;
    }
}

:root {
    /* Mapped legacy vars to neutral palette to prevent backend breaks */
    --brand-teal: #161211;
    --brand-teal-dark: #110d0d;
    --brand-pink: #c8929d;
    --brand-pink-dark: #ad7884;
    
    /* V3 Strict Palette */
    --color-black: #000000;
    --color-off-black: #111111;
    --color-white: #fffdfd;
    --color-off-white: #fbf5f6;
    --color-gray-light: #eadfe2;
    --color-gray-mid: #8d7f83;
    --color-gray-dark: #3e3436;
    --color-blush: #f6eaec;
    --color-blush-strong: #eed7dc;
    --color-rose-line: #d8bcc3;
    --color-champagne-line: #dfd1b1;
    --color-champagne-soft: rgba(223, 209, 177, 0.28);
    --color-champagne-glow: rgba(190, 164, 111, 0.1);
    
    --font-heading: 'Jost', sans-serif;
    --font-body: 'Inter', sans-serif;
    
    --container-max: 1400px;
    --product-image-ratio: 4 / 5;
}

/* BASE */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-family: var(--font-body); color: var(--color-black); background:
    radial-gradient(circle at top right, rgba(223, 209, 177, 0.12), transparent 24%),
    linear-gradient(180deg, #fffdfd 0%, #fdf9fa 42%, #fffdfd 100%); font-size: 14px; line-height: 1.6; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
a { color: inherit; text-decoration: none; transition: 0.2s ease; }
button, input, select, textarea { font: inherit; }
img { max-width: 100%; height: auto; display: block; }
.container { max-width: var(--container-max); margin: 0 auto; padding: 0 2rem; }
.container-nav { max-width: 1200px; }
.site-shell { overflow-x: clip; }
.site-main { min-width: 0; }
body.mobile-nav-open { overflow: hidden; touch-action: none; }

/* UTILITY BUTTONS & FORMS */
.btn { display: inline-flex; justify-content: center; align-items: center; background: var(--color-off-black); color: var(--color-white); font-family: var(--font-heading); text-transform: uppercase; font-weight: 500; letter-spacing: 0.1em; padding: 1rem 2rem; border: 1px solid var(--color-off-black); border-radius: 0; cursor: pointer; text-decoration: none; gap: 0.5rem; transition: background 0.2s, color 0.2s; font-size: 0.85rem; }
.btn:hover { background: var(--color-white); color: var(--color-black); box-shadow: 0 10px 24px var(--color-champagne-glow); }
.btn-secondary { display: inline-flex; justify-content: center; align-items: center; background: var(--color-white); color: var(--color-black); font-family: var(--font-heading); text-transform: uppercase; font-weight: 500; letter-spacing: 0.1em; padding: 1rem 2rem; border: 1px solid var(--color-rose-line); border-radius: 0; cursor: pointer; text-decoration: none; gap: 0.5rem; transition: background 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; font-size: 0.85rem; }
.btn-secondary:hover { border-color: var(--color-champagne-line); background: linear-gradient(180deg, var(--color-blush) 0%, rgba(255,255,255,0.96) 100%); box-shadow: 0 10px 24px var(--color-champagne-glow); }
.checkout-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; }
.checkout-actions .btn,
.checkout-actions .btn-secondary { width: 246px; min-height: 56px; background: var(--color-off-black); color: var(--color-white); border-color: var(--color-off-black); }
.checkout-actions .btn:hover,
.checkout-actions .btn-secondary:hover { background: var(--color-white); color: var(--color-black); border-color: var(--color-off-black); }
.btn-icon { background: none; border: none; cursor: pointer; padding: 0.5rem; color: var(--color-black); display: inline-flex; align-items: center; justify-content: center; }
.btn-block { width: 100%; }

input[type="text"], input[type="email"], input[type="password"], input[type="search"], select, textarea { width: 100%; padding: 0.85rem; border: 1px solid var(--color-gray-light); background: rgba(255,255,255,0.92); color: var(--color-black); border-radius: 0; outline: none; transition: border-color 0.2s, box-shadow 0.2s, background 0.2s; font-family: var(--font-body); }
input:focus, select:focus, textarea:focus { border-color: var(--color-champagne-line); box-shadow: 0 0 0 3px rgba(223, 209, 177, 0.22); background: var(--color-white); }
label { display: block; font-family: var(--font-heading); text-transform: uppercase; font-size: 0.75rem; letter-spacing: 0.05em; margin-bottom: 0.5rem; color: var(--color-black); font-weight: 600; }

/* HEADER REBUILD */
.site-header { background: linear-gradient(180deg, rgba(255, 253, 253, 0.98) 0%, rgba(255, 250, 247, 0.96) 100%); border-bottom: 1px solid var(--color-gray-light); position: sticky; top: 0; z-index: 100; backdrop-filter: blur(10px); overflow-x: clip; box-shadow: 0 10px 28px rgba(190, 164, 111, 0.05); }
.header-top { padding: 2rem 0; border-bottom: 1px solid var(--color-gray-light); }
.promo-bar { background: var(--color-blush); border-bottom: 1px solid var(--color-rose-line); color: var(--color-gray-dark); }
.promo-bar__inner { padding: 0.55rem 0; text-align: center; font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; }
.header-top-container { display: flex; align-items: center; justify-content: space-between; position: relative; }

.header-left { display: flex; align-items: center; gap: 0.5rem; font-family: var(--font-heading); font-size: 0.75rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.15em; color: var(--color-gray-dark); width: 33%; flex-shrink: 0; }
.icon-pin { flex-shrink: 0; }

.header-center { width: 34%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.header-logo-box { display: inline-block; border: 2px solid var(--color-black); padding: 0.75rem 1.75rem; text-decoration: none; margin-bottom: 0.5rem; background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(246,234,236,0.45) 72%, rgba(223,209,177,0.18) 100%); box-shadow: 0 8px 18px rgba(190, 164, 111, 0.06); }
.logo-text { font-family: var(--font-heading); font-size: 1.5rem; font-weight: 500; letter-spacing: 0.25em; color: var(--color-black); display: block; }
.logo-subtext { font-family: var(--font-heading); font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.2em; color: var(--color-gray-mid); }

.header-right { display: flex; align-items: center; justify-content: flex-end; gap: 1.5rem; width: 33%; flex-shrink: 0; }
.loyalty-text { font-family: var(--font-heading); font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--color-black); margin-right: 1rem; }
.icon-button { color: var(--color-black); background: none; border: none; cursor: pointer; padding: 0; width: 1.75rem; height: 1.75rem; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; transition: opacity 0.2s; }
.icon-button:hover { opacity: 0.6; }
.icon-button svg { width: 18px; height: 18px; display: block; overflow: visible; }
.header-search-form { display: flex; align-items: center; }
.header-search-input { display: none; }

/* NAVIGATION */
.nav-bar { padding: 1.25rem 0; position: relative; z-index: 50; border-bottom: 1px solid var(--color-gray-light); background: var(--color-white); }
.nav-links { list-style: none; margin: 0; padding: 0; display: flex; justify-content: center; gap: 2.5rem; flex-wrap: wrap; }
.nav-item { position: relative; }
.nav-item.has-mega-dropdown { position: static; }
.nav-item__top { display: inline-flex; align-items: center; gap: 0.25rem; position: relative; }
.nav-item__link { font-family: var(--font-heading); font-size: 0.8rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.15em; color: var(--color-black); text-decoration: none; padding-bottom: 0.5rem; transition: 0.3s; position: relative; display: inline-flex; align-items: center; }
.nav-item__link::after { content: ''; position: absolute; left: 0; bottom: 0; width: 0; height: 1px; background: var(--brand-pink-dark); transition: width 0.3s ease; }
.nav-item--favorites .nav-item__link { gap: 0.4rem; color: #8f3f58; }
.nav-favorites-icon { flex: 0 0 auto; stroke: currentColor; }
.nav-item.is-hover-open .nav-item__link::after,
.nav-item.is-active .nav-item__link::after { width: 100%; }
.nav-item__toggle { display: none; align-items: center; justify-content: center; background: none; border: none; color: var(--color-black); cursor: pointer; padding: 0 0 0.45rem; transition: transform 0.2s ease, color 0.2s ease; }
.nav-item.has-dropdown .nav-item__toggle { display: inline-flex; }
.nav-item.is-active .nav-item__toggle,
.nav-item.is-hover-open .nav-item__toggle { color: var(--brand-pink-dark); }
.nav-item.is-active .nav-item__toggle svg,
.nav-item.is-hover-open .nav-item__toggle svg { transform: rotate(180deg); }
.nav-item__toggle svg { transition: transform 0.2s ease; }

/* DROPDOWN & MEGA MENU FOUNDATION */
.nav-dropdown { position: absolute; top: calc(100% + 0.4rem); left: 50%; transform: translateX(-50%) translateY(10px); background: linear-gradient(180deg, rgba(255, 253, 253, 0.99) 0%, rgba(255, 250, 247, 0.98) 100%); width: max-content; min-width: 0; max-width: calc(100vw - 32px); padding: 1.5rem; box-shadow: 0 24px 50px rgba(53, 33, 39, 0.12), 0 10px 22px rgba(190, 164, 111, 0.06); border: 1px solid var(--color-gray-light); border-top: 2px solid var(--color-black); opacity: 0; pointer-events: none; transition: opacity 0.18s ease, transform 0.18s ease; display: none; flex-direction: column; gap: 0.85rem; z-index: 300; border-radius: 0 0 8px 8px; }
.nav-dropdown::before { content: ''; position: absolute; top: -1rem; left: 0; right: 0; height: 1.5rem; background: transparent; } /* Invisible bridge */
.nav-item.has-dropdown.is-hover-open > .nav-dropdown,
.nav-item.has-dropdown.is-active > .nav-dropdown { display: flex; opacity: 1; pointer-events: auto; transform: translateX(-50%) translateY(0); transition-delay: 0s; }
.nav-dropdown a { font-family: var(--font-body); font-size: 0.85rem; color: var(--color-gray-mid); text-transform: capitalize; transition: 0.2s; white-space: nowrap; }
.nav-dropdown a:hover { color: var(--brand-pink-dark); padding-left: 2px; }

/* MEGA MENU OVERRIDES */
.nav-dropdown--mega { grid-auto-flow: column; grid-auto-columns: max-content; gap: 2.75rem; padding: 2rem 2.5rem; width: max-content; min-width: 0; align-items: start; justify-content: flex-start; left: 50%; transform: translateX(-50%) translateY(10px); max-width: calc(100vw - 40px); overflow-x: auto; overscroll-behavior-x: contain; }
.nav-item.has-dropdown.is-hover-open > .nav-dropdown--mega,
.nav-item.has-dropdown.is-active > .nav-dropdown--mega { display: inline-grid; transform: translateX(-50%) translateY(0); }
.nav-dropdown-group { display: flex; flex-direction: column; gap: 0.85rem; width: max-content; min-width: 0; }
.nav-dropdown-group__title { font-family: var(--font-heading); font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--color-gray-dark); border-bottom: 1px solid var(--color-gray-light); padding-bottom: 0.65rem; margin: 0 0 0.25rem 0; }
.nav-dropdown--mega a { text-transform: uppercase; font-family: var(--font-heading); font-size: 0.75rem; letter-spacing: 0.05em; color: var(--color-black); }
.nav-dropdown--mega a:hover { padding-left: 4px; color: var(--brand-pink-dark); }

/* MOBILE RESPONSIVE DRAWER */
.mobile-menu-toggle { display: none; }
.mobile-menu-close { display: none; }
.mobile-backdrop { display: none; }
.mobile-menu-meta { display: none; }

@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
    .nav-item:hover .nav-item__link::after { width: 100%; }
    .nav-item.has-dropdown:hover .nav-dropdown { opacity: 1; pointer-events: auto; transform: translateX(-50%) translateY(0); transition-delay: 0s; }
    .nav-item.has-dropdown:hover .nav-dropdown--mega { transform: translateX(-50%) translateY(0); }
}

@media (max-width: 1024px), (hover: none) and (pointer: coarse) {
    .site-header { backdrop-filter: blur(18px); }
    .header-top { padding: 0.95rem 0 1rem; }
    .header-top-container { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 0.75rem; }
    .header-left, .header-center, .header-right { width: auto; }
    .header-left { order: 1; font-size: 0.68rem; display: flex; align-items: center; gap: 0.45rem; min-width: 0; }
    .header-left span { display: none; }
    .header-center { order: 2; margin-top: 0; display: block; text-align: center; }
    .header-right { order: 3; display: flex; justify-content: flex-end; width: auto; margin-top: 0; gap: 0.65rem; }
    .loyalty-text, .header-search-form { display: none; }
    .header-logo-box { padding: 0.55rem 0.8rem; margin-bottom: 0.35rem; }
    .logo-text { font-size: 0.95rem; letter-spacing: 0.18em; }
    .logo-subtext { font-size: 0.55rem; letter-spacing: 0.14em; }
    
    .mobile-menu-toggle { display: inline-flex; position: relative; z-index: 1002; }
    
    /* Off-canvas hamburger menu drawer */
    .nav-bar { position: fixed; inset: 0 auto 0 0; width: min(90vw, 420px); max-width: 420px; height: 100dvh; background: linear-gradient(180deg, rgba(255,253,253,0.985) 0%, rgba(247,237,239,0.98) 100%); z-index: 1001; transform: translateX(0); visibility: hidden; pointer-events: none; overflow-y: auto; overflow-x: hidden; padding: calc(env(safe-area-inset-top, 0px) + 1rem) 1rem calc(env(safe-area-inset-bottom, 0px) + 2rem); border-right: 1px solid var(--color-gray-light); display: none; box-shadow: 20px 0 50px rgba(17, 13, 13, 0.15); -webkit-overflow-scrolling: touch; }
    .nav-bar.is-open { display: block; visibility: visible; pointer-events: auto; }
    .mobile-backdrop { display: block; position: fixed; inset: 0; background: rgba(17,13,13,0.42); backdrop-filter: blur(4px); z-index: 1000; opacity: 0; pointer-events: none; transition: opacity 0.24s ease; }
    .mobile-backdrop.is-open { opacity: 1; pointer-events: auto; }
    .mobile-menu-close { display: flex; margin: 0 0 1.4rem auto; }
    .mobile-menu-meta { display: block; margin-bottom: 1.25rem; padding-bottom: 1rem; border-bottom: 1px solid rgba(216, 188, 195, 0.55); }
    .mobile-menu-meta__eyebrow { margin: 0 0 0.6rem; font-family: var(--font-heading); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.16em; color: var(--brand-pink-dark); }
    .mobile-menu-meta__links { display: flex; flex-wrap: wrap; gap: 0.65rem; }
    .mobile-menu-meta__links a { padding: 0.45rem 0.7rem; border: 1px solid var(--color-gray-light); background: rgba(255,255,255,0.86); font-family: var(--font-heading); font-size: 0.68rem; letter-spacing: 0.12em; text-transform: uppercase; }
    
    .container-nav { padding: 0; }
    .nav-links { flex-direction: column; align-items: flex-start; gap: 0; }
    .nav-item { width: 100%; border-bottom: 1px solid rgba(216, 188, 195, 0.55); }
    .nav-item.has-mega-dropdown { position: relative; }
    .nav-item__top { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0.5rem; }
    .nav-item__link { padding: 1rem 0; width: 100%; display: flex; justify-content: flex-start; font-size: 1rem; letter-spacing: 0.14em; }
    .nav-item__toggle { display: inline-flex; padding: 0.55rem; border-radius: 999px; position: relative; z-index: 2; }
    
    .nav-dropdown::before { display: none; }
    .nav-dropdown { position: static; display: flex; flex-direction: column; gap: 0.95rem; opacity: 0; pointer-events: none; transform: none !important; box-shadow: none; border: none; padding: 0 0 0 0.85rem; background: transparent; width: 100%; min-width: 0; max-width: none; max-height: 0; overflow: hidden; margin: 0; transition: max-height 0.24s ease, opacity 0.18s ease, padding 0.18s ease; }
    .nav-item.is-active > .nav-dropdown { opacity: 1; pointer-events: auto; max-height: 1200px; padding: 0.1rem 0 1rem 0.85rem; }
    .nav-dropdown a { white-space: normal; line-height: 1.5; padding: 0.15rem 0; }
    .nav-dropdown--mega { display: flex; flex-direction: column; grid-auto-flow: row; grid-auto-columns: unset; gap: 1.15rem; width: 100%; min-width: 0; max-width: 100%; overflow: hidden; padding: 0; }
    .nav-item.has-dropdown.is-active > .nav-dropdown--mega { display: flex; padding: 0.1rem 0 1rem 0.85rem; }
    .nav-dropdown-group { min-width: 0; width: 100%; max-width: 100%; gap: 0.7rem; }
    .nav-dropdown-group a { display: block; max-width: 100%; overflow-wrap: anywhere; }
    .nav-dropdown-group__title { margin-bottom: 0.2rem; }
}

/* HERO BANNERS */
.hero-split { display: grid; grid-template-columns: 1fr; background: linear-gradient(180deg, var(--color-blush) 0%, var(--color-off-white) 60%, var(--color-white) 100%); min-height: clamp(520px, 74vh, 860px); position: relative; }
.hero-image { position: absolute; top:0; left:0; width: 100%; height: 100%; z-index: 1; }
.hero-image img { width: 100%; height: 100%; object-fit: cover; }
.hero-content { position: relative; z-index: 2; padding: clamp(3rem, 7vw, 5rem) 2rem; text-align: center; display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100%; background: linear-gradient(180deg, rgba(16,10,10,0.12) 0%, rgba(16,10,10,0.28) 100%); }
.hero-title { font-family: var(--font-heading); font-size: clamp(2.2rem, 5vw, 4.6rem); font-weight: 500; text-transform: uppercase; letter-spacing: 0.18em; color: var(--color-white); margin: 0 0 1rem; text-shadow: 0 6px 24px rgba(0,0,0,0.28); max-width: 12ch; }
.hero-subtitle { font-size: clamp(0.9rem, 2vw, 1.15rem); color: var(--color-white); font-family: var(--font-heading); font-weight: 400; margin-bottom: 1.75rem; text-transform: uppercase; letter-spacing: 0.18em; text-shadow: 0 3px 14px rgba(0,0,0,0.28); border-bottom: 1px solid rgba(255, 237, 241, 0.9); padding-bottom: 0.5rem; }

/* PRODUCT GRIDS (Flowerbx Style) */
.section-title { text-align: center; font-family: var(--font-heading); font-size: 1.2rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.15em; color: var(--color-black); margin: 3rem 0 2rem; }
.product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1px; background: var(--color-gray-light); border: 1px solid var(--color-gray-light); margin-bottom: 4rem; }
.product-card { background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(251,245,246,0.96) 100%); text-align: center; position: relative; padding-bottom: 1.5rem; display: flex; flex-direction: column; transition: background 0.3s, transform 0.3s ease; }
.product-card:hover { background: var(--color-white); transform: translateY(-2px); }
.product-image { position: relative; aspect-ratio: var(--product-image-ratio); overflow: hidden; background: linear-gradient(180deg, #f5ecee 0%, #f0e3e6 100%); margin-bottom: 1rem; display: flex; align-items: center; justify-content: center; padding: 0.85rem; }
.product-image img { width: 100%; height: 100%; object-fit: contain; object-position: center center; transition: transform 0.35s ease; }
.product-card:hover .product-image img { transform: scale(1.02); }

/* Hide quick add on grid, Flowerbx makes you click in */
.product-card .btn { display: none; }

.product-info { padding: 0 1.5rem; flex-grow: 1; display: flex; flex-direction: column; justify-content: flex-end; }
.product-title { font-family: var(--font-heading); font-size: 0.95rem; font-weight: 500; color: var(--color-black); margin: 0 0 0.5rem; text-transform: uppercase; letter-spacing: 0.05em; }
.product-price { font-family: var(--font-heading); font-size: 0.9rem; font-weight: 600; color: var(--color-black); }
.product-price::before { content: 'FROM '; font-weight: 400; font-size: 0.75rem; color: var(--color-gray-mid); margin-right: 0.25rem; }

/* HOMEPAGE PRODUCT SECTION SLIDERS */
.homepage-product-sections { padding: 4rem 0 1rem; background: linear-gradient(180deg, rgba(255,253,253,0.96) 0%, rgba(251,245,246,0.72) 100%); }
.homepage-product-section { margin-bottom: 4rem; }
.homepage-product-section__header { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.25rem; border-bottom: 1px solid var(--color-gray-light); padding-bottom: 1rem; margin-bottom: 1.25rem; }
.homepage-product-section__header h2 { color: var(--color-black); font-size: 1.5rem; font-weight: 500; font-family: var(--font-heading); text-transform: uppercase; margin: 0; letter-spacing: 0.1em; line-height: 1.25; }
.homepage-product-section__eyebrow { color: var(--color-gray-dark); margin-bottom: 0.25rem; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; }
.homepage-product-section__link { display: inline-flex; align-items: center; justify-content: center; font-size: 0.75rem; padding: 0.5rem 1rem; flex: none; }
.homepage-slider { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: stretch; gap: 0.75rem; }
.homepage-slider__track { display: flex; gap: 1px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; background: var(--color-gray-light); border: 1px solid var(--color-gray-light); scrollbar-width: thin; scrollbar-color: var(--color-rose-line) transparent; }
.homepage-slider__track:focus { outline: 2px solid var(--color-champagne-line); outline-offset: 3px; }
.homepage-slider__track::-webkit-scrollbar { height: 0.55rem; }
.homepage-slider__track::-webkit-scrollbar-track { background: transparent; }
.homepage-slider__track::-webkit-scrollbar-thumb { background: var(--color-rose-line); border-radius: 999px; }
.homepage-slider__card { flex: 0 0 280px; scroll-snap-align: start; min-height: 100%; }
.homepage-slider__card .product-image { min-height: 0; }
.homepage-slider__button { width: 2.6rem; min-height: 100%; border: 1px solid var(--color-gray-light); background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(246,234,236,0.9) 100%); color: var(--color-black); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: border-color 0.2s ease, background 0.2s ease, opacity 0.2s ease, transform 0.2s ease; }
.homepage-slider__button span { font-size: 2rem; line-height: 1; transform: translateY(-1px); }
.homepage-slider__button:hover:not(:disabled) { border-color: var(--color-champagne-line); background: var(--color-white); transform: translateY(-1px); }
.homepage-slider__button:disabled { opacity: 0.35; cursor: default; }

/* PRODUCT DETAILS PAGE */
.pdp-wrap { display: grid; grid-template-columns: 1fr; gap: 3rem; margin: 3rem auto; padding-bottom: 5rem; max-width: 1200px; align-items: start; }
@media(min-width: 900px){ .pdp-wrap { grid-template-columns: minmax(0, 1.2fr) minmax(380px, 420px); gap: 4rem; justify-content: center; } }
@media(min-width: 1220px){
    .pdp-wrap { grid-template-columns: minmax(430px, 0.95fr) minmax(650px, 760px); max-width: 1460px; gap: 3rem; }
    .pdp-add-form { display: grid; grid-template-columns: minmax(360px, 430px) minmax(250px, 300px); gap: 1.35rem; align-items: start; }
    .pdp-addon-panel { position: sticky; top: 120px; max-height: calc(100vh - 140px); overflow-y: auto; padding-right: 0.15rem; scrollbar-width: thin; scrollbar-color: var(--color-rose-line) transparent; }
    .pdp-detail-sections { grid-column: 1 / 2; }
}
.pdp-gallery { background: linear-gradient(180deg, #fbf4f5 0%, #fffdfd 100%); display: flex; flex-direction: column; align-items: center; border: 1px solid var(--color-gray-light); padding: 2rem; }
.pdp-main-image-frame { width: 100%; max-width: 550px; aspect-ratio: var(--product-image-ratio); background: linear-gradient(180deg, #f7edef 0%, #f1e3e7 100%); border: 1px solid var(--color-gray-light); box-shadow: inset 0 0 0 1px rgba(255,255,255,0.72); padding: 1rem; display: flex; align-items: center; justify-content: center; }
.pdp-main-image { width: 100%; height: 100%; object-fit: contain; object-position: center center; }
.pdp-gallery-thumb { width: 70px; height: 70px; object-fit: contain; object-position: center center; background: #fff; }
.pdp-thumbnail-row { width: 100%; max-width: 550px; display: flex; flex-flow: row wrap; align-items: center; justify-content: center; gap: 0.65rem; margin-top: 1rem; }
.pdp-thumbnail-button { flex: 0 0 74px; width: 74px; height: 74px; border: 1px solid var(--color-gray-light); background: #fff; padding: 2px; overflow: hidden; cursor: pointer; border-radius: 4px; transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease; }
.pdp-thumbnail-button:hover,
.pdp-thumbnail-button.is-active { border-color: var(--brand-pink-dark); box-shadow: 0 6px 16px rgba(141, 127, 131, 0.12); transform: translateY(-1px); }

.pdp-info { position: sticky; top: 120px; }
.pdp-breadcrumbs { font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--color-gray-mid); margin-bottom: 1.5rem; display: flex; gap: 0.5rem; align-items: center; }
.pdp-title { font-family: var(--font-heading); font-size: 2rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.12em; color: var(--color-black); margin: 0 0 0.5rem; line-height: 1.2; }
.pdp-price { font-family: var(--font-heading); font-size: 1.25rem; font-weight: 500; color: var(--color-gray-dark); margin-bottom: 2.5rem; padding-bottom: 2rem; border-bottom: 1px solid var(--color-gray-light); }
.pdp-price::before { content: 'FROM '; font-weight: 400; font-size: 0.85rem; color: var(--color-gray-mid); letter-spacing: 0.05em; margin-right: 0.25rem; }
.pdp-detail-sections { margin-top: 3rem; display: grid; gap: 1rem; }
.pdp-detail-section { background: linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(251,245,246,0.92) 100%); border: 1px solid var(--color-gray-light); padding: 1.25rem 1.35rem; border-radius: 4px; }
.pdp-detail-section h2 { margin: 0 0 0.65rem; color: var(--color-black); font-family: var(--font-heading); font-size: 0.85rem; font-weight: 600; letter-spacing: 0.1em; line-height: 1.35; text-transform: uppercase; }
.pdp-detail-section p { margin: 0; color: var(--color-gray-dark); font-size: 0.9rem; line-height: 1.7; }

.variant-group { margin-bottom: 2.5rem; border-bottom: 1px solid var(--color-gray-light); padding-bottom: 2.5rem; }
.addon-variant-group { margin-bottom: 0; }
.variant-label { display: block; font-family: var(--font-heading); font-size: 0.85rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--color-black); margin-bottom: 1.25rem; }
.radio-pill-list { display: flex; flex-direction: column; gap: 0.75rem; }
.radio-pill { display: flex; align-items: center; justify-content: space-between; padding: 1.1rem 1.25rem; border: 1px solid var(--color-gray-light); cursor: pointer; transition: 0.2s; background: rgba(255,255,255,0.94); border-radius: 4px; }
.radio-pill:hover { border-color: var(--brand-pink-dark); background: var(--color-blush); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,0.02); }
.radio-pill input { display: none; }
.radio-pill input:checked + .radio-pill-content { font-weight: 600; color: var(--color-black); }
.radio-pill:has(input:checked) { border: 2px solid var(--brand-pink-dark); padding: calc(1.1rem - 1px) calc(1.25rem - 1px); background: linear-gradient(180deg, #fffdfd 0%, var(--color-blush) 100%); box-shadow: 0 4px 15px rgba(200, 146, 157, 0.1); }
.radio-pill-content { font-family: var(--font-heading); font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--color-gray-dark); display: flex; justify-content: space-between; width: 100%; align-items: center; }

.addon-list { display: grid; grid-template-columns: 1fr; gap: 0.75rem; margin-bottom: 2.5rem; }
.addon-item { display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.85rem 0.9rem; border: 1px solid var(--color-gray-light); background: rgba(255,255,255,0.92); cursor: pointer; border-radius: 4px; transition: all 0.2s ease; }
.addon-item:hover { border-color: var(--brand-pink-dark); background: var(--color-blush); box-shadow: 0 4px 12px rgba(0,0,0,0.02); }
.addon-item:has(input:checked) { border-color: var(--color-black); background: var(--color-off-white); box-shadow: 0 0 0 1px var(--color-black); transform: translateY(-1px); }
.addon-item input[type="checkbox"] { appearance: none; -webkit-appearance: none; margin-top: 0.15rem; width: 1.15rem; height: 1.15rem; border: 2px solid var(--color-black); background: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; border-radius: 2px; flex-shrink: 0; }
.addon-item input[type="checkbox"]:checked { background: var(--color-black); }
.addon-item input[type="checkbox"]:checked::after { content: '\2714'; color: #fff; font-size: 0.85rem; }
.addon-item__media { width: 4.25rem; min-width: 4.25rem; aspect-ratio: 1 / 1; border: 1px solid var(--color-gray-light); background: #fff; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.addon-item__media img { width: 100%; height: 100%; object-fit: contain; display: block; }
.addon-item__body { flex: 1 1 auto; min-width: 0; }
.addon-item__topline { display: block; margin-bottom: 0.25rem; }
.addon-item__name { color: var(--color-black); font-family: var(--font-heading); text-transform: uppercase; letter-spacing: 0.04em; font-size: 0.78rem; line-height: 1.35; overflow-wrap: normal; word-break: normal; }
.addon-item__price { display: block; margin-top: 0.2rem; white-space: nowrap; font-weight: 600; font-size: 0.82rem; color: var(--color-gray-dark); }
.addon-item__description { color: var(--color-gray-mid); font-size: 0.8rem; line-height: 1.4; }

.qty-wrap { display: flex; align-items: center; gap: 1rem; margin-bottom: 2rem; }
.qty-btn { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--color-gray-light); background: var(--color-white); cursor: pointer; }
.qty-input { width: 50px; height: 40px; text-align: center; border: 1px solid var(--color-gray-light); font-family: var(--font-heading); }

/* CART & CHECKOUT */
.cart-wrap { max-width: 1180px; margin: 2.5rem auto; padding: 0 1.5rem; }
.checkout-wrap { max-width: 860px; margin: 2.5rem auto; padding: 0 1.5rem; }
.page-title { font-family: var(--font-heading); font-size: 2rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.15em; text-align: center; margin-bottom: 1rem; color: var(--color-black); }
.page-subtitle { text-align: center; font-size: 0.9rem; color: var(--color-gray-dark); margin-bottom: 2.2rem; }

.cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 360px); gap: 2.25rem; align-items: start; }
.cart-items { border-top: 1px solid var(--color-rose-line); background: rgba(255,255,255,0.72); min-width: 0; }
.cart-item { display: grid; grid-template-columns: 146px minmax(0, 1fr); gap: 1.7rem; padding: 1.6rem 0; border-bottom: 1px solid var(--color-gray-light); align-items: start; }
.cart-item-img { width: 146px; flex-shrink: 0; }
.cart-item-img__frame { aspect-ratio: 4 / 5; background: linear-gradient(180deg, #f7edef 0%, #f1e3e7 100%); border: 1px solid var(--color-gray-light); box-shadow: inset 0 0 0 1px rgba(255,255,255,0.72); padding: 0.85rem; display: flex; align-items: center; justify-content: center; }
.cart-item-img__frame--placeholder { background: linear-gradient(180deg, #f8f0f2 0%, #f2e5e8 100%); }
.cart-item-img__media { width: 100%; height: 100%; object-fit: contain; object-position: center center; filter: drop-shadow(0 10px 18px rgba(76, 46, 54, 0.08)); }
.cart-item-img__placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; border: 1px dashed var(--color-rose-line); background: rgba(255,255,255,0.52); color: var(--color-gray-mid); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.12em; text-align: center; padding: 1rem; }
.cart-item-details { flex-grow: 1; min-width: 0; padding-top: 0.15rem; }
.cart-item-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 0.55rem; }
.cart-item-title { font-family: var(--font-heading); font-size: 1rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.05em; margin: 0 0 0.5rem; }
.cart-item-variant { font-size: 0.75rem; color: var(--color-gray-dark); margin: 0; text-transform: uppercase; letter-spacing: 0.05em; }
.cart-item-price { font-weight: 600; font-size: 1.1rem; white-space: nowrap; padding-top: 0.1rem; }
.cart-item-unit-price { font-size: 0.85rem; color: var(--color-gray-mid); margin-bottom: 0.5rem; }
.cart-item-extras { background: linear-gradient(180deg, rgba(246,234,236,0.55) 0%, rgba(255,255,255,0.9) 100%); padding: 0.9rem 1rem; margin: 1rem 0; border: 1px solid var(--color-gray-light); }
.cart-item-extras__title { font-family: var(--font-heading); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; display: block; margin-bottom: 0.5rem; }
.cart-item-extras__row { display: flex; justify-content: space-between; font-size: 0.85rem; color: var(--color-gray-dark); margin-bottom: 0.25rem; }
.cart-item-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.35rem; padding-top: 1rem; border-top: 1px solid rgba(216, 188, 195, 0.5); }
.cart-item-actions__update { display: flex; gap: 0.5rem; align-items: center; margin: 0; }
.cart-item-actions__qty { width: 56px; text-align: center; padding: 0.5rem; }
.cart-qty-stepper { display: inline-grid; grid-template-columns: 44px 48px 44px; min-height: 44px; border: 1px solid var(--color-rose-line); background: var(--color-white); }
.cart-qty-stepper__button { border: 0; background: transparent; color: var(--color-black); font-family: var(--font-heading); font-size: 1.05rem; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: background 0.2s ease; }
.cart-qty-stepper__button:hover { background: var(--color-blush); }
.cart-qty-stepper__value { border-left: 1px solid var(--color-gray-light); border-right: 1px solid var(--color-gray-light); display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-heading); font-size: 0.9rem; color: var(--color-black); }
.cart-empty-state { text-align: center; padding: 3.25rem 1.5rem 3rem; margin: 1rem auto 0; max-width: 620px; border-top: 1px solid var(--color-rose-line); border-bottom: 1px solid var(--color-gray-light); background: linear-gradient(180deg, rgba(246,234,236,0.55) 0%, rgba(255,255,255,0.88) 100%); }
.cart-empty-state__eyebrow { display: inline-block; margin-bottom: 0.85rem; font-family: var(--font-heading); font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--brand-pink-dark); }
.cart-empty-state__title { margin: 0 0 0.85rem; font-size: 1.55rem; }
.cart-empty-state__copy { color: var(--color-gray-dark); margin: 0 auto 1.5rem; max-width: 430px; }
.cart-summary-wrap { margin-top: 0; padding-top: 0; align-self: start; }
.cart-summary-panel { width: 100%; max-width: none; margin-left: 0; padding: 1.6rem 1.6rem 1.4rem; background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(251,245,246,0.92) 100%); border-top: 2px solid var(--brand-pink-dark); border-left: 1px solid var(--color-gray-light); border-right: 1px solid var(--color-gray-light); border-bottom: 1px solid var(--color-gray-light); }
.cart-summary-row { display: flex; justify-content: space-between; margin-bottom: 0.9rem; }
.cart-summary-row--subtle { color: var(--color-gray-dark); }
.cart-summary-row--promo { color: var(--brand-pink-dark); font-weight: 600; }
.cart-summary-total { display: flex; justify-content: space-between; margin-bottom: 1.5rem; font-size: 1.4rem; font-weight: 600; color: var(--color-black); border-top: 1px solid var(--color-gray-light); padding-top: 1rem; }
.cart-summary-total__label { font-family: var(--font-heading); text-transform: uppercase; letter-spacing: 0.1em; }
.cart-summary-note { margin: -0.75rem 0 1.25rem; color: var(--color-gray-dark); font-size: 0.78rem; line-height: 1.5; }
.cart-promo-box { margin-bottom: 1.5rem; padding: 0.95rem; background: rgba(246,234,236,0.4); border: 1px solid var(--color-gray-light); }
.cart-promo-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; margin: 0; }
.cart-promo-input { width: 100%; min-width: 0; height: 48px; border-right: 0; padding: 0 0.65rem; font-size: 0.68rem; letter-spacing: 0.02em; background: var(--color-white); }
.cart-promo-submit.btn { width: auto; min-width: 96px; height: 48px; padding: 0.85rem; white-space: nowrap; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

@media (max-width: 360px) {
    .cart-promo-form { grid-template-columns: 1fr; gap: 0.65rem; }
    .cart-promo-input { border-right: 1px solid var(--color-gray-light); }
    .cart-promo-submit.btn { width: 100%; }
}

@media (max-width: 760px) {
    .cart-item { grid-template-columns: 108px minmax(0, 1fr); gap: 1rem; }
    .cart-item-img { width: 108px; }
    .cart-item-img__frame { padding: 0.55rem; }
    .cart-item-head { flex-direction: column; gap: 0.45rem; }
    .cart-item-price { padding-top: 0; }
    .cart-item-actions { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 900px) {
    .cart-layout { grid-template-columns: 1fr; gap: 1.75rem; }
    .cart-summary-wrap { margin-top: 0.25rem; }
}

.checkout-grid { display: grid; grid-template-columns: 1fr; gap: 3rem; }
@media(min-width: 800px) { .checkout-grid { grid-template-columns: 2fr 1fr; } }
.checkout-panel { background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(251,245,246,0.88) 86%, rgba(223,209,177,0.12) 100%); padding: 2rem; border: 1px solid var(--color-gray-light); box-shadow: 0 16px 36px rgba(190, 164, 111, 0.05); }
.checkout-panel-title { font-family: var(--font-heading); font-size: 1.25rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.1em; border-bottom: 1px solid var(--color-gray-light); padding-bottom: 1rem; margin-bottom: 2rem; }
.checkout-fulfillment-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.85rem; margin: 0 0 1.25rem; }
.checkout-fulfillment-option { position: relative; display: block; min-height: 122px; border: 1px solid var(--color-gray-light); background: rgba(255,255,255,0.94); padding: 1.05rem 1rem 1rem 3rem; cursor: pointer; transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease; }
.checkout-fulfillment-option:hover { border-color: var(--brand-pink-dark); background: var(--color-blush); transform: translateY(-1px); box-shadow: 0 8px 18px rgba(51,33,38,0.05); }
.checkout-fulfillment-option input { position: absolute; left: 1rem; top: 1.1rem; width: 1rem; height: 1rem; accent-color: var(--brand-pink-dark); }
.checkout-fulfillment-option strong { display: block; margin-bottom: 0.45rem; font-family: var(--font-heading); font-size: 0.88rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--color-black); }
.checkout-fulfillment-option small { display: block; color: var(--color-gray-dark); line-height: 1.45; font-size: 0.82rem; }
.checkout-fulfillment-option:has(input:checked) { border: 2px solid var(--brand-pink-dark); padding: calc(1.05rem - 1px) calc(1rem - 1px) calc(1rem - 1px) calc(3rem - 1px); background: linear-gradient(180deg, #fffdfd 0%, var(--color-blush) 100%); box-shadow: 0 8px 22px rgba(176,118,136,0.12); }
.checkout-pickup-details { display: flex; flex-direction: column; gap: 0.35rem; margin: 0 0 1.25rem; padding: 1rem 1.1rem; border: 1px solid var(--color-gray-light); background: rgba(255,255,255,0.92); color: var(--color-gray-dark); line-height: 1.5; }
.checkout-pickup-details strong { font-family: var(--font-heading); text-transform: uppercase; letter-spacing: 0.1em; color: var(--color-black); font-size: 0.85rem; }

/* ACCOUNT AREA */
.account-wrap { max-width: 1100px; margin: 4rem auto; display: grid; grid-template-columns: 260px 1fr; gap: 4rem; padding: 0 1.5rem; }
@media (max-width: 768px) { .account-wrap { grid-template-columns: 1fr; gap: 2rem; margin: 2rem auto; } }

/* Sidebar Navigation */
.account-sidebar-box { padding-right: 2rem; }
.account-welcome { font-family: var(--font-heading); font-size: 1.5rem; margin: 0 0 0.5rem; font-weight: 500; color: var(--color-black); letter-spacing: 0.1em; text-transform: uppercase; }
.account-welcome-sub { color: var(--color-gray-mid); font-size: 0.85rem; margin-bottom: 2.5rem; letter-spacing: 0.05em; border-bottom: 1px solid var(--color-gray-light); padding-bottom: 1.5rem; }
.account-nav-toggle { display: none; width: 100%; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.1rem; border: 1px solid var(--color-gray-light); background: linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(246,234,236,0.82) 100%); color: var(--color-black); border-radius: 8px; box-shadow: 0 10px 24px rgba(141, 127, 131, 0.08); }
.account-nav-toggle__label { display: flex; flex-direction: column; align-items: flex-start; gap: 0.2rem; text-align: left; min-width: 0; }
.account-nav-toggle__eyebrow { font-family: var(--font-heading); font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.16em; color: var(--brand-pink-dark); }
.account-nav-toggle__value { font-family: var(--font-heading); font-size: 0.92rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--color-black); }
.account-nav-toggle svg { flex-shrink: 0; transition: transform 0.2s ease; }
.account-sidebar-box.is-open .account-nav-toggle svg { transform: rotate(180deg); }
.account-sidebar-panel[hidden] { display: none !important; }

.account-nav { display: flex; flex-direction: column; gap: 0.25rem; }
.account-nav-link { display: flex; align-items: center; padding: 1rem 1.25rem; color: var(--color-gray-dark); text-transform: uppercase; font-family: var(--font-heading); font-size: 0.85rem; letter-spacing: 0.1em; transition: all 0.3s ease; border-radius: 4px; border-left: 3px solid transparent; }
.account-nav-link:hover { color: var(--brand-pink-dark); background: linear-gradient(90deg, rgba(246,234,236,0.6) 0%, transparent 100%); border-left-color: var(--color-rose-line); }
.account-nav-link.active { color: var(--color-black); font-weight: 600; background: linear-gradient(90deg, var(--color-blush-strong) 0%, rgba(246,234,236,0.2) 100%); border-left-color: var(--brand-pink-dark); }
.account-nav-logout { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--color-gray-light); }
.account-nav-logout button { width: 100%; text-align: left; padding: 1rem 1.25rem; background: none; border: none; font-family: var(--font-heading); font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.1em; cursor: pointer; color: var(--color-gray-dark); font-weight: 500; transition: color 0.3s; }
.account-nav-logout button:hover { color: var(--brand-pink-dark); }

/* Main Content Area */
.account-content { 
    background: rgba(255, 255, 255, 0.75); 
    backdrop-filter: blur(12px); 
    -webkit-backdrop-filter: blur(12px); 
    border: 1px solid rgba(255, 255, 255, 0.8); 
    box-shadow: 0 10px 40px rgba(141, 127, 131, 0.08), 0 8px 22px rgba(190, 164, 111, 0.04); 
    padding: 3.5rem; 
    border-radius: 8px; 
}
@media (max-width: 768px) { .account-content { padding: 2rem 1.5rem; } }

.account-card-header { margin-bottom: 2.5rem; border-bottom: 1px solid var(--color-rose-line); padding-bottom: 1.5rem; }
.account-card-header h1, .account-card-header h2 { font-family: var(--font-heading); font-size: 2rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.15em; color: var(--color-black); margin: 0 0 0.5rem; }

/* Grid for Dashboard & Cards */
.account-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; }
.detail-card { 
    background: rgba(255, 255, 255, 0.9); 
    border: 1px solid var(--color-gray-light); 
    padding: 1.75rem; 
    border-radius: 6px; 
    transition: transform 0.3s ease, box-shadow 0.3s ease; 
    display: flex; 
    flex-direction: column; 
}
.detail-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(141, 127, 131, 0.12); border-color: var(--color-rose-line); }

.summary-label { font-family: var(--font-heading); font-size: 1.05rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--color-black); margin: 0 0 0.5rem; }
.detail-card .btn-outline { margin-top: auto; align-self: flex-start; border: 1px solid var(--color-gray-mid); padding: 0.5rem 1.25rem; font-family: var(--font-heading); text-transform: uppercase; font-size: 0.75rem; letter-spacing: 0.1em; transition: 0.3s; }
.detail-card .btn-outline:hover { background: var(--color-blush); border-color: var(--brand-pink-dark); color: var(--color-black); }

/* Stack layouts */
.stack-sm { display: flex; flex-direction: column; gap: 0.5rem; }
.stack-md { display: flex; flex-direction: column; gap: 1.25rem; }
.stack-lg { display: flex; flex-direction: column; gap: 2rem; }
.field-grid { display: grid; gap: 1.5rem; }
.field-grid.cols-2 { grid-template-columns: 1fr 1fr; }
@media(max-width:600px) { .field-grid.cols-2 { grid-template-columns: 1fr; } }
.field-group { display: flex; flex-direction: column; gap: 0.5rem; }

/* Status pills */
.status-pill { display: inline-block; padding: 0.35rem 0.85rem; background: linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(246,234,236,0.9) 100%); border: 1px solid var(--color-rose-line); color: var(--color-black); font-family: var(--font-heading); font-size: 0.7rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; border-radius: 20px; box-shadow: 0 6px 14px rgba(190, 164, 111, 0.05); }
.status-pill--success { background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(232,247,236,0.95) 100%); border-color: #b7dec1; color: #1d5c2c; }
.status-pill--warning { background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(251,244,224,0.96) 100%); border-color: var(--color-champagne-line); color: #7f5e1d; }
.status-pill--muted { background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(244,241,239,0.96) 100%); border-color: #d9d2ce; color: #6b5f62; }
.status-pill--info { background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(246,234,236,0.92) 100%); }

/* Empty state */
.empty-state { text-align: center; padding: 4rem 2rem; background: rgba(255,255,255,0.6); border: 1px dashed var(--color-rose-line); border-radius: 6px; }
.empty-state .eyebrow { font-family: var(--font-heading); font-size: 0.75rem; font-weight: 600; color: var(--brand-pink-dark); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 0.5rem; }

.reminder-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; margin-top: 0.35rem; }
.reminder-product-card { position: relative; display: block; min-height: 100%; cursor: pointer; }
.reminder-product-card:hover { transform: translateY(-3px); }
.reminder-product-radio { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.reminder-product-card__frame { display: flex; flex-direction: column; min-height: 100%; background: linear-gradient(180deg, rgba(255,255,255,0.95) 0%, rgba(250,243,244,0.95) 100%); border: 1px solid rgba(227, 208, 212, 0.9); border-radius: 14px; overflow: hidden; box-shadow: 0 10px 24px rgba(141, 127, 131, 0.08); transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease, background 0.25s ease; }
.reminder-product-card:hover .reminder-product-card__frame { border-color: var(--color-rose-line); box-shadow: 0 16px 30px rgba(141, 127, 131, 0.12); }
.reminder-product-card__media { display: block; aspect-ratio: 4 / 5; background: radial-gradient(circle at top, rgba(255,255,255,0.95) 0%, rgba(246,234,236,0.78) 100%); border-bottom: 1px solid rgba(227, 208, 212, 0.75); }
.reminder-product-card__media img { width: 100%; height: 100%; object-fit: contain; display: block; padding: 1rem; }
.reminder-product-card__body { display: flex; flex-direction: column; gap: 0.45rem; padding: 1rem 1rem 1.1rem; }
.reminder-product-card__title { color: var(--color-black); font-family: var(--font-heading); font-size: 0.95rem; text-transform: uppercase; letter-spacing: 0.08em; line-height: 1.45; }
.reminder-product-card__price { color: var(--brand-pink-dark); font-family: var(--font-heading); font-size: 0.82rem; letter-spacing: 0.12em; text-transform: uppercase; }
.reminder-product-card__hint { color: var(--color-gray-dark); font-size: 0.8rem; line-height: 1.5; }
.reminder-product-card.is-selected .reminder-product-card__frame,
.reminder-product-radio:checked + .reminder-product-card__frame { border-color: var(--brand-pink-dark); box-shadow: 0 0 0 1px rgba(176, 118, 136, 0.18), 0 18px 34px rgba(141, 127, 131, 0.16); background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(246,234,236,1) 100%); }
.reminder-product-card.is-selected .reminder-product-card__price,
.reminder-product-radio:checked + .reminder-product-card__frame .reminder-product-card__price { color: var(--color-black); }
.reminder-product-card.is-selected::after,
.reminder-product-radio:checked + .reminder-product-card__frame::after { content: "Selected"; position: absolute; top: 0.85rem; right: 0.85rem; padding: 0.35rem 0.7rem; border-radius: 999px; background: rgba(255,255,255,0.92); border: 1px solid var(--color-rose-line); color: var(--brand-pink-dark); font-family: var(--font-heading); font-size: 0.66rem; letter-spacing: 0.14em; text-transform: uppercase; }
.reminder-product-select-fallback { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); border: 0; }
@media (max-width: 640px) {
  .reminder-product-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 540px) {
  .reminder-product-grid { grid-template-columns: 1fr; }
}

/* FOOTER */
.site-footer { background: linear-gradient(180deg, #fcf6f7 0%, #f7edef 100%); border-top: 1px solid var(--color-gray-light); padding: 4rem 0 2rem; margin-top: 4rem; text-align: center; }
.footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 3rem; margin-bottom: 3rem; }
.footer-col h4 { font-family: var(--font-heading); font-size: 0.85rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 1.5rem; color: var(--color-black); }
.footer-col a { display: block; color: var(--color-gray-dark); margin-bottom: 0.75rem; font-size: 0.85rem; text-decoration: none; }
.footer-col a:hover { color: var(--brand-pink-dark); text-decoration: underline; }
.footer-bottom { border-top: 1px solid var(--color-gray-light); padding-top: 2rem; text-align: center; color: var(--color-gray-mid); font-size: 0.8rem; }

.contact-location-map {
    display: grid;
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
    gap: 2rem;
    align-items: stretch;
    margin: 0 0 4rem;
    border: 1px solid var(--color-gray-light);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(250, 239, 242, 0.62) 100%);
}

.contact-location-map__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1rem;
    padding: clamp(2rem, 4vw, 3rem);
    text-align: left;
}

.contact-location-map__copy h2 {
    margin: 0;
    color: var(--color-black);
    font-family: var(--font-heading);
    font-size: clamp(1.35rem, 2.6vw, 2rem);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.35;
    text-transform: uppercase;
}

.contact-location-map__copy p:not(.eyebrow) {
    margin: 0;
    color: var(--color-gray-dark);
    font-size: 0.92rem;
    line-height: 1.75;
}

.contact-location-map__copy .btn-secondary {
    align-self: flex-start;
}

.contact-location-map__frame {
    min-height: 360px;
    background: var(--color-off-white);
}

.contact-location-map__frame a,
.contact-location-map__frame img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 360px;
}

.contact-location-map__frame a {
    color: inherit;
    text-decoration: none;
}

.contact-location-map__frame img {
    border: 0;
    object-fit: cover;
}

/* Quick Links Category Strip */
.category-strip { background: transparent; padding: 2rem 0 2.75rem; }
.category-strip-grid { display: flex; justify-content: center; flex-wrap: wrap; gap: 1.5rem; }
.category-box { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 140px; height: 125px; background: rgba(255, 255, 255, 0.82); backdrop-filter: blur(8px); border: 1px solid rgba(230, 218, 220, 0.7); border-radius: 12px; text-decoration: none; color: var(--color-black); transition: all 0.3s ease; box-shadow: 0 4px 15px rgba(0,0,0,0.03); }
.category-box:hover { transform: translateY(-4px); background: #fff; border-color: var(--color-champagne-line); box-shadow: 0 8px 25px rgba(0,0,0,0.06), 0 10px 24px rgba(190, 164, 111, 0.06); color: var(--brand-pink-dark); }
.checkout-gate-item { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; font-size:0.9rem; color:var(--color-gray-dark); }
.account-required-link { font-family:var(--font-heading); text-transform:uppercase; letter-spacing:0.12em; font-size:0.76rem; color:var(--color-gray-dark); text-decoration:underline; text-align:center; }
.category-icon { color: var(--brand-pink-dark); margin-bottom: 0.5rem; }
.category-icon svg { width: 34px; height: 34px; stroke-width: 1.5; }
.category-title { font-family: var(--font-heading); font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; text-align: center; margin-top: 0.2rem; }

@media (max-width: 800px) {
    .container { padding: 0 1rem; }
    .hero-content { align-items: flex-start; text-align: left; }
    .hero-title { max-width: 8ch; margin-bottom: 0.75rem; }
    .hero-subtitle { letter-spacing: 0.12em; max-width: 18ch; }
    .category-strip-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.85rem; }
    .category-box { width: 100%; height: 112px; padding: 0.75rem; }
    .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .product-info { padding: 0 0.85rem; }
    .product-title { font-size: 0.82rem; }
    .pdp-wrap { gap: 1.75rem; margin: 1.5rem auto; padding-bottom: 3rem; }
    .pdp-gallery { padding: 1rem; }
    .pdp-thumbnail-row { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; overscroll-behavior-x: contain; padding: 0 0 0.35rem; scrollbar-width: thin; }
    .pdp-thumbnail-button { flex-basis: 68px; width: 68px; height: 68px; }
    .pdp-gallery-thumb { width: 64px; height: 64px; }
    .pdp-info { position: static; }
    .pdp-title { font-size: 1.45rem; letter-spacing: 0.09em; }
    .pdp-price { margin-bottom: 1.4rem; padding-bottom: 1.2rem; }
    .variant-group { margin-bottom: 1.5rem; padding-bottom: 1.5rem; }
    .pdp-detail-sections { margin-top: 2rem; }
    .pdp-detail-section { padding: 1rem; }
    .qty-wrap { flex-direction: column; align-items: stretch; }
    .qty-input { width: 100%; height: 48px; }
    .site-footer { padding: 3rem 0 1.5rem; }
    .footer-grid { gap: 1.5rem; }
}

@media (max-width: 480px) {
    .product-grid { grid-template-columns: 1fr; }
}

@media (max-width: 1200px) {
    .container { padding: 0 1.5rem; }
    .hero-content { padding-inline: clamp(1.5rem, 4vw, 3rem); }
    .hero-title { letter-spacing: 0.12em; }
    .pdp-wrap { gap: 2.5rem; }
    .cart-wrap, .checkout-wrap { padding: 0 1.25rem; }
}

@media (max-width: 1024px) {
    .hero-split { min-height: 640px; }
    .hero-content { align-items: flex-start; text-align: left; justify-content: flex-end; }
    .hero-title { max-width: 10ch; font-size: clamp(2rem, 6vw, 3.6rem); }
    .hero-subtitle { max-width: 26ch; }
    .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pdp-breadcrumbs { flex-wrap: wrap; }
    .checkout-grid { gap: 1.75rem; }
    .account-wrap { grid-template-columns: 1fr; gap: 1.75rem; margin: 2rem auto; }
    .account-sidebar-box { padding-right: 0; }
    .account-welcome-sub { margin-bottom: 1rem; padding-bottom: 1rem; }
    .account-nav-toggle { display: flex; }
    .account-sidebar-panel { display: none; }
    .account-sidebar-box.is-open .account-sidebar-panel { display: block; }
    .account-content { padding: 2.25rem 1.75rem; }
    .account-card-header h1, .account-card-header h2 { font-size: 1.7rem; letter-spacing: 0.1em; }
    .footer-grid { gap: 2rem; }
}

@media (max-width: 620px) {
    .btn, .btn-secondary { width: 100%; }
    .hero-split { min-height: 560px; }
    .hero-content { padding: 2rem 1rem 2.25rem; }
    .hero-title { max-width: none; font-size: clamp(1.7rem, 8vw, 2.5rem); letter-spacing: 0.1em; }
    .hero-subtitle { max-width: none; font-size: 0.82rem; border-bottom: 0; padding-bottom: 0; margin-bottom: 1rem; }
    .category-strip { padding: 1.25rem 0 2rem; }
    .cart-wrap, .checkout-wrap { margin: 1.5rem auto; padding: 0 0.9rem; }
    .cart-item { grid-template-columns: 1fr; }
    .cart-item-img { width: 100%; max-width: 170px; }
    .cart-summary-panel { max-width: none; margin-left: 0; padding: 1.25rem; }
    .checkout-panel { padding: 1.25rem; }
    .checkout-fulfillment-options { grid-template-columns: 1fr; }
    .field-grid.cols-2 { grid-template-columns: 1fr; }
    .account-grid { grid-template-columns: 1fr; }
    .detail-card { padding: 1.25rem; }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-col h4 { margin-bottom: 0.85rem; }

    .contact-location-map,
    .contact-support-grid {
        grid-template-columns: 1fr !important;
    }

    .contact-location-map__copy {
        padding: 1.5rem;
        text-align: center;
    }

    .contact-location-map__copy .btn-secondary {
        align-self: center;
        width: 100%;
        justify-content: center;
    }

    .contact-location-map__frame,
    .contact-location-map__frame img {
        min-height: 300px;
    }
}

/* Free-delivery announcement + 24-hour welcome offer — 2026-06-19 */
.promo-bar {
    background:
        linear-gradient(90deg, rgba(255,255,255,0.12), rgba(255,255,255,0) 30%),
        linear-gradient(90deg, #7f2945 0%, #a33b5d 48%, #7f2945 100%) !important;
    border-bottom: 0 !important;
    color: #fff !important;
    box-shadow: inset 0 -1px rgba(255,255,255,0.12) !important;
}

.promo-bar__inner {
    min-height: 42px;
    padding: 0.55rem 1rem !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.62rem;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.115em !important;
    line-height: 1.25;
}

.promo-bar__gift {
    flex: 0 0 auto;
    color: #f8dca7;
}

.promo-bar__inner strong {
    color: #fff;
    font-weight: 700;
}

.promo-bar__dot {
    color: #f1c977;
}

.promo-bar__detail {
    color: rgba(255,255,255,0.78);
    font-size: 0.64rem;
}

.promo-bar__cta {
    margin-left: 0.4rem;
    padding-left: 0.9rem;
    border-left: 1px solid rgba(255,255,255,0.34);
    color: #fbe4b4;
    font-weight: 700;
}

.checkout-free-fee {
    color: #8d294b !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em;
}

body.delivery-offer-open {
    overflow: hidden;
}

.delivery-offer {
    position: fixed;
    inset: 0;
    z-index: 4000;
    display: grid;
    place-items: center;
    padding: clamp(1rem, 4vw, 3rem);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.28s ease;
}

.delivery-offer[hidden] {
    display: none !important;
}

.delivery-offer.is-visible {
    opacity: 1;
    pointer-events: auto;
}

.delivery-offer__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(28, 17, 21, 0.64);
    backdrop-filter: blur(10px) saturate(0.86);
}

.delivery-offer__dialog {
    position: relative;
    width: min(920px, 100%);
    min-height: 520px;
    display: grid;
    grid-template-columns: 0.88fr 1.12fr;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.58);
    border-radius: 24px;
    background: #fffaf7;
    box-shadow: 0 40px 110px rgba(29, 16, 20, 0.38), 0 12px 32px rgba(29, 16, 20, 0.16);
    transform: translateY(26px) scale(0.97);
    transition: transform 0.38s cubic-bezier(.2,.75,.2,1);
    outline: none;
}

.delivery-offer.is-visible .delivery-offer__dialog {
    transform: translateY(0) scale(1);
}

.delivery-offer__close {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 3;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(95, 43, 60, 0.16);
    border-radius: 999px;
    color: #5f2b3c;
    background: rgba(255,255,255,0.88);
    box-shadow: 0 8px 22px rgba(46,27,33,0.1);
    cursor: pointer;
    transition: transform 0.2s ease, background 0.2s ease;
}

.delivery-offer__close:hover {
    transform: rotate(4deg) scale(1.05);
    background: #fff;
}

.delivery-offer__media {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    background: #6f263f;
}

.delivery-offer__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(35,14,22,0.04), rgba(35,14,22,0.5));
}

.delivery-offer__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: 50% 50%;
    transform: scale(1.015);
}

.delivery-offer__media span {
    position: absolute;
    left: 28px;
    bottom: 26px;
    z-index: 1;
    color: #fff;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 1.05rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.delivery-offer__content {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(3.2rem, 6vw, 5rem) clamp(2rem, 5vw, 4.2rem);
    background:
        radial-gradient(circle at 92% 8%, rgba(218,167,177,0.24), transparent 28%),
        linear-gradient(145deg, #fffdfb 0%, #fff7f5 100%);
}

.delivery-offer__content::before {
    content: "✦";
    position: absolute;
    top: 30px;
    left: 34px;
    color: #c8909e;
    font-size: 0.9rem;
}

.delivery-offer__eyebrow {
    margin: 0 0 1rem;
    color: #9a3858;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.delivery-offer__content h2 {
    margin: 0 0 1.15rem;
    color: #302125;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(2.5rem, 5vw, 4.25rem);
    font-weight: 500;
    line-height: 0.98;
    letter-spacing: -0.035em;
}

.delivery-offer__content > p:not(.delivery-offer__eyebrow):not(.delivery-offer__note) {
    margin: 0;
    color: #66565b;
    font-size: 1rem;
    line-height: 1.72;
}

.delivery-offer__content strong {
    color: #6f263f;
}

.delivery-offer__benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin: 1.5rem 0 1.7rem;
}

.delivery-offer__benefits span {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.62rem 0.78rem;
    border: 1px solid #ead5da;
    border-radius: 999px;
    color: #713247;
    background: rgba(255,255,255,0.75);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.035em;
}

.delivery-offer__actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.delivery-offer__primary {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    padding: 0.85rem 1.35rem;
    border-radius: 999px;
    color: #fff !important;
    background: linear-gradient(135deg, #742640, #a53e60);
    box-shadow: 0 14px 28px rgba(117,38,65,0.22);
    text-decoration: none !important;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.delivery-offer__primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 32px rgba(117,38,65,0.28);
}

.delivery-offer__secondary {
    padding: 0.7rem 0.2rem;
    border: 0;
    border-bottom: 1px solid #b48492;
    color: #704554;
    background: transparent;
    font: inherit;
    font-size: 0.78rem;
    cursor: pointer;
}

.delivery-offer__note {
    margin: 1.35rem 0 0;
    color: #9a858c;
    font-size: 0.69rem;
    line-height: 1.45;
}

@media (max-width: 760px) {
    .promo-bar__inner {
        min-height: 45px;
        gap: 0.42rem;
        font-size: 0.61rem !important;
        letter-spacing: 0.075em !important;
    }

    .promo-bar__detail,
    .promo-bar__cta,
    .promo-bar__dot {
        display: none;
    }

    .delivery-offer {
        align-items: end;
        padding: 0.7rem;
    }

    .delivery-offer__dialog {
        width: 100%;
        max-height: calc(100dvh - 1.4rem);
        min-height: 0;
        display: block;
        overflow-y: auto;
        border-radius: 22px;
    }

    .delivery-offer__media {
        min-height: 185px;
        height: 26vh;
        max-height: 230px;
    }

    .delivery-offer__media img {
        object-position: 50% 48%;
    }

    .delivery-offer__media span {
        left: 20px;
        bottom: 18px;
        font-size: 0.85rem;
    }

    .delivery-offer__content {
        padding: 2.2rem 1.35rem 1.5rem;
    }

    .delivery-offer__content::before {
        top: 18px;
        left: 20px;
    }

    .delivery-offer__content h2 {
        font-size: clamp(2.15rem, 12vw, 3.15rem);
    }

    .delivery-offer__benefits {
        margin: 1.1rem 0 1.25rem;
    }

    .delivery-offer__actions {
        align-items: stretch;
        flex-direction: column;
        gap: 0.65rem;
    }

    .delivery-offer__primary,
    .delivery-offer__secondary {
        width: 100%;
    }

    .delivery-offer__secondary {
        border: 1px solid #dbc4cb;
        border-radius: 999px;
    }

    .delivery-offer__note {
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .delivery-offer,
    .delivery-offer__dialog,
    .delivery-offer__close,
    .delivery-offer__primary {
        transition: none !important;
    }
}

@media (max-width: 760px) {
    .homepage-product-sections { padding-top: 3rem; }
    .homepage-product-section { margin-bottom: 3rem; }
    .homepage-product-section__header { align-items: flex-start; flex-direction: column; }
    .homepage-product-section__header h2 { font-size: 1.2rem; }
    .homepage-slider { grid-template-columns: minmax(0, 1fr); gap: 0.85rem; }
    .homepage-slider__track { margin: 0 -1rem; padding: 0 1rem; border-left: 0; border-right: 0; }
    .homepage-slider__card { flex-basis: min(78vw, 280px); }
    .homepage-slider__button { display: none; }
}

@media (max-width: 360px) {
    .container { padding: 0 0.85rem; }
    .header-top-container { gap: 0.45rem; }
    .logo-text { font-size: 0.82rem; letter-spacing: 0.12em; }
    .logo-subtext { font-size: 0.48rem; letter-spacing: 0.1em; }
    .category-strip-grid { grid-template-columns: 1fr; }
    .category-box { height: auto; min-height: 96px; }
    .cart-item-actions__update { width: 100%; flex-wrap: wrap; }
    .cart-item-actions__update .btn-secondary,
    .cart-item-actions__update .admin-button,
    .cart-item-actions__update button { width: 100%; }
    .cart-item-actions__update .cart-qty-stepper { width: 100%; grid-template-columns: 52px 1fr 52px; }
    .cart-item-actions__update .cart-qty-stepper__button { width: auto; }
    .pdp-gallery { padding: 0.8rem; }
    .pdp-title { font-size: 1.2rem; letter-spacing: 0.07em; }
}

.account-auth-shell {
    max-width: 600px;
    margin: 3rem auto;
    padding: 2.5rem 2rem;
}

.account-auth-shell--narrow {
    max-width: 480px;
}

.account-auth-header {
    text-align: center;
    margin-bottom: 2rem;
}

.account-auth-title {
    font-family: var(--font-heading);
    font-size: clamp(1.8rem, 4vw, 2.2rem);
    color: var(--color-black);
    margin: 0 0 0.5rem;
    font-weight: 400;
    letter-spacing: 0.02em;
}

.account-auth-inline {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.account-auth-footer {
    margin-top: 1.5rem;
    text-align: center;
}

.account-auth-link {
    color: var(--color-black);
    font-family: var(--font-heading);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid var(--color-rose-line);
    padding-bottom: 2px;
}

@media (max-width: 600px) {
    .account-auth-shell,
    .account-auth-shell--narrow {
        margin: 1.5rem auto;
        padding: 1.5rem 1rem;
        max-width: none;
    }
}

/* Final homepage-only visual rescue override. Keep scoped; do not affect PDP/catalog pages. */
.page-home .hero-split{min-height:clamp(440px,58vw,620px)}
.page-home .hero-image img{object-fit:cover;object-position:center center}
.page-home .hero-content{padding:clamp(2.25rem,5vw,3.5rem) 1.75rem;background:linear-gradient(90deg,rgba(24,18,18,.18) 0%,rgba(24,18,18,.08) 42%,rgba(24,18,18,.2) 100%)}
.page-home .hero-title{font-size:clamp(2.05rem,4.2vw,3.65rem);line-height:1.28;letter-spacing:.16em;max-width:13ch;margin-bottom:1rem}
.page-home .hero-subtitle{max-width:min(860px,88vw);font-size:clamp(.78rem,1.22vw,.98rem);line-height:1.65;letter-spacing:.13em;margin-bottom:1.35rem}
.page-home .hero-carousel__controls{bottom:clamp(.9rem,2vw,1.35rem);padding:.25rem .45rem;background:rgba(255,255,255,.86)}
.page-home .homepage-product-sections{padding:clamp(2.6rem,5vw,4rem) 0 .5rem}
.page-home .homepage-product-section{max-width:1360px;margin:0 auto clamp(2.5rem,5vw,4rem);padding:0 clamp(1.25rem,3vw,3rem)}
.page-home .homepage-slider{grid-template-columns:2rem minmax(0,1fr) 2rem;gap:.65rem;align-items:stretch}
.page-home .homepage-slider__track{min-width:0;gap:0;overflow-x:auto;overflow-y:hidden;border:1px solid rgba(196,151,160,.28);background:rgba(250,239,242,.72);scroll-padding-inline:0}
.page-home .homepage-slider__card{flex:0 0 clamp(190px,18vw,244px);max-width:clamp(190px,18vw,244px);min-width:0;border-right:1px solid rgba(196,151,160,.22)}
.page-home .homepage-slider__card .product-card{height:100%;min-height:320px;padding-bottom:1rem;background:rgba(255,255,255,.76)}
.page-home .homepage-slider__card .product-image{aspect-ratio:1/.78;margin:0;padding:1rem;background:rgba(255,255,255,.72)}
.page-home .homepage-slider__card .product-image img{width:100%;height:100%;object-fit:contain}
.page-home .homepage-slider__card .product-info{padding:.95rem .8rem 0}
.page-home .homepage-slider__card .product-name{min-height:2.6em;font-size:.78rem;line-height:1.3;overflow-wrap:anywhere}
.page-home .homepage-slider__card .product-price{font-size:.76rem}
.page-home .homepage-slider__button{position:relative;z-index:3;align-self:center;width:2rem;height:2.75rem;min-width:2rem;border:0;background:rgba(255,255,255,.9);color:var(--color-black);box-shadow:0 10px 25px rgba(51,33,38,.08)}
@media (min-width:1200px){.page-home .homepage-slider__card{flex-basis:calc((100% - 4rem)/5);max-width:calc((100% - 4rem)/5)}}
@media (max-width:760px){.page-home .hero-split{min-height:440px}.page-home .hero-image img{object-position:60% center}.page-home .hero-content{align-items:flex-start;text-align:left;padding:2.4rem 1rem 2.85rem}.page-home .hero-title{font-size:clamp(1.9rem,8vw,2.7rem);max-width:11ch;letter-spacing:.12em}.page-home .hero-subtitle{font-size:.72rem;letter-spacing:.08em;line-height:1.55}.page-home .hero-carousel__controls{bottom:.65rem}.page-home .homepage-product-section{padding:0 1rem}.page-home .homepage-product-section__header{display:block}.page-home .homepage-product-section__link{width:100%;margin-top:.8rem}.page-home .homepage-slider{grid-template-columns:0 minmax(0,1fr) 0;gap:0}.page-home .homepage-slider__button{position:absolute;top:42%;transform:translateY(-50%)}.page-home .homepage-slider__button--prev{left:.25rem}.page-home .homepage-slider__button--next{right:.25rem}.page-home .homepage-slider__card{flex-basis:68%;max-width:68%}.page-home .homepage-slider__card .product-card{min-height:300px}}

@media (max-width:760px){.page-home .homepage-slider{display:block;position:relative;width:100%}.page-home .homepage-slider__track{width:100%;min-width:100%;display:flex;padding:0;scroll-padding-left:0}.page-home .homepage-slider__card{flex:0 0 72%;max-width:72%}.page-home .homepage-slider__button{display:flex;align-items:center;justify-content:center}.page-home .homepage-slider__button--prev{left:.35rem}.page-home .homepage-slider__button--next{right:.35rem}.page-home .homepage-slider__card .product-image{aspect-ratio:1/.82;padding:.9rem}.page-home .homepage-slider__card .product-info{padding:.85rem .65rem 0}.page-home .homepage-slider__card .product-name{font-size:.74rem;line-height:1.25}}

.page-home .hero-slide{visibility:hidden}
.page-home .hero-slide.is-active{visibility:visible}
@media (max-width:760px){.page-home .homepage-slider__card{flex-basis:100%;max-width:100%}.page-home .homepage-slider__card .product-card{min-height:310px}.page-home .homepage-slider__button--prev{left:.15rem}.page-home .homepage-slider__button--next{right:.15rem}}

/* Homepage header/hero height polish 2026-06-04. CSS-only, header + home hero. */
.site-header .header-top {
    padding-top: 18px;
    padding-bottom: 18px;
}

.site-header .nav-bar {
    padding-top: 12px;
    padding-bottom: 12px;
}

.page-home .hero-split {
    min-height: clamp(390px, 44vw, 500px);
}

.page-home .hero-content {
    padding-top: clamp(1.85rem, 4vw, 2.75rem);
    padding-bottom: clamp(1.85rem, 4vw, 2.75rem);
}

.page-home .hero-content .btn {
    margin-bottom: 2.1rem;
}

@media (max-width: 760px) {
    .site-header .header-top {
        padding-top: 12px;
        padding-bottom: 10px;
    }

    .page-home .hero-split {
        min-height: 380px;
    }

    .page-home .hero-content {
        padding-top: 1.85rem;
        padding-bottom: 2.35rem;
    }

    .page-home .hero-content .btn {
        margin-bottom: 1.7rem;
    }
}

/* Homepage hero image/text/button polish 2026-06-04. Scoped to hero only. */
.page-home .hero-image img {
    object-position: center center;
}

.page-home .hero-content {
    align-items: flex-start;
    justify-content: center;
    text-align: left;
    padding-left: clamp(3rem, 9vw, 9rem);
    padding-right: clamp(2rem, 7vw, 7rem);
    background:
        linear-gradient(90deg, rgba(18, 14, 14, 0.36) 0%, rgba(18, 14, 14, 0.2) 36%, rgba(18, 14, 14, 0.08) 64%, rgba(18, 14, 14, 0.16) 100%);
}

.page-home .hero-title {
    max-width: 11.5ch;
    font-size: clamp(2.1rem, 3.8vw, 3.35rem);
    line-height: 1.18;
    letter-spacing: 0.15em;
    text-align: left;
}

.page-home .hero-subtitle {
    max-width: 680px;
    font-size: clamp(0.78rem, 1.05vw, 0.94rem);
    letter-spacing: 0.12em;
    line-height: 1.55;
    text-align: left;
    margin-bottom: 1.05rem;
}

.page-home .hero-content .btn {
    align-self: flex-start;
    margin-bottom: 0;
}

.page-home .hero-carousel__controls {
    left: clamp(3rem, 9vw, 9rem);
    bottom: clamp(1.05rem, 2vw, 1.35rem);
    transform: none;
    padding: 0.25rem 0.45rem;
    background: rgba(255, 255, 255, 0.82);
}

.page-home .hero-carousel__arrow {
    display: none !important;
}

.page-home .hero-carousel__controls {
    display: none !important;
}

/* Homepage product carousel polish 2026-06-04.
   Scoped to homepage rails only; do not affect PDP/catalog cards. */
.page-home .homepage-product-section {
    max-width: 1280px;
    padding-inline: clamp(2rem, 4vw, 4.5rem);
}

.page-home .homepage-product-section__header {
    border-bottom: 0;
    margin-bottom: 1.45rem;
}

.page-home .homepage-product-section__header h2 {
    letter-spacing: 0.1em;
}

.page-home .homepage-slider {
    display: grid;
    grid-template-columns: 2.25rem minmax(0, 1fr) 2.25rem;
    gap: 1rem;
    align-items: center;
}

.page-home .homepage-slider__track {
    border: 0;
    background: transparent;
    box-shadow: none;
    gap: 1.15rem;
    padding: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
}

.page-home .homepage-slider__track::-webkit-scrollbar {
    display: none;
}

.page-home .homepage-slider__card {
    flex: 0 0 calc((100% - 4.6rem) / 5);
    max-width: calc((100% - 4.6rem) / 5);
    border: 0;
    scroll-snap-align: start;
}

.page-home .homepage-slider__card .product-card {
    min-height: 0;
    background: transparent;
    box-shadow: none;
    padding-bottom: 0.25rem;
}

.page-home .homepage-slider__card .product-image {
    aspect-ratio: 1 / 1;
    padding: 0;
    margin: 0 0 0.9rem;
    background: #f4f0eb;
    overflow: hidden;
}

.page-home .homepage-slider__card .product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.page-home .homepage-slider__card .product-info {
    padding: 0;
}

.page-home .homepage-slider__card .product-name {
    min-height: 2.35em;
    font-size: 0.86rem;
    line-height: 1.35;
    letter-spacing: 0.04em;
    font-weight: 500;
}

.page-home .homepage-slider__card .product-price {
    margin-top: 0.35rem;
    color: var(--color-gray-dark);
    font-size: 0.88rem;
}

.page-home .homepage-slider__button {
    position: relative;
    width: 2.25rem;
    height: 2.25rem;
    min-width: 2.25rem;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: var(--color-black);
    font-size: 1.8rem;
    line-height: 1;
}

.page-home .homepage-slider__button:hover {
    background: transparent;
    transform: none;
    color: var(--brand-pink);
}

@media (max-width: 980px) {
    .page-home .homepage-slider__card {
        flex-basis: calc((100% - 2.3rem) / 3);
        max-width: calc((100% - 2.3rem) / 3);
    }
}

@media (max-width: 760px) {
    .page-home .homepage-product-section {
        padding-inline: 1.25rem;
    }

    .page-home .homepage-slider {
        display: grid;
        grid-template-columns: 1.75rem minmax(0, 1fr) 1.75rem;
        gap: 0.55rem;
    }

    .page-home .homepage-slider__track {
        gap: 0.9rem;
    }

    .page-home .homepage-slider__card {
        flex-basis: 100%;
        max-width: 100%;
    }

    .page-home .homepage-slider__button {
        position: relative;
        top: auto;
        right: auto;
        left: auto;
        transform: none;
        width: 1.75rem;
        min-width: 1.75rem;
        font-size: 1.55rem;
    }

    .page-home .homepage-slider__card .product-image {
        max-height: 300px;
    }
}

/* Homepage editorial overlay polish 2026-06-04.
   Moves the Birthday editorial copy into the empty side of its image. */
.page-home .homepage-editorial--split {
    padding: 0;
    margin: clamp(2.5rem, 5vw, 4rem) 0;
}

.page-home .homepage-editorial__split {
    position: relative;
    display: block;
    max-width: 1280px;
}

.page-home .homepage-editorial__media {
    position: relative;
    overflow: hidden;
}

.page-home .homepage-editorial__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 251, 249, 0.92) 0%, rgba(255, 251, 249, 0.74) 34%, rgba(255, 251, 249, 0.12) 58%, rgba(255, 251, 249, 0) 100%);
    pointer-events: none;
}

.page-home .homepage-editorial__media img {
    display: block;
    width: 100%;
    height: clamp(340px, 35vw, 470px);
    object-fit: cover;
    object-position: center center;
}

.page-home .homepage-editorial__panel {
    position: absolute;
    z-index: 2;
    left: clamp(2rem, 5vw, 4.5rem);
    top: 50%;
    transform: translateY(-50%);
    width: min(38%, 440px);
    padding: 0;
    background: transparent;
    box-shadow: none;
}

.page-home .homepage-editorial__eyebrow {
    margin-bottom: 0.6rem;
    color: var(--color-gray-dark);
}

.page-home .homepage-editorial__title {
    margin: 0 0 0.8rem;
    font-size: clamp(1.25rem, 2.2vw, 2rem);
    line-height: 1.25;
}

.page-home .homepage-editorial__copy {
    margin: 0 0 1.1rem;
    max-width: 34rem;
    line-height: 1.65;
}

.page-home .homepage-editorial__cta {
    margin-bottom: 0.85rem;
}

.page-home .homepage-editorial__cards--compact {
    display: grid;
    gap: 0.35rem;
}

.page-home .homepage-editorial__card {
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    text-align: left;
}

.page-home .homepage-editorial__card .product-title {
    font-size: 0.8rem;
    letter-spacing: 0.08em;
}

@media (max-width: 760px) {
    .page-home .homepage-editorial__media img {
        height: 520px;
        object-position: 64% center;
    }

    .page-home .homepage-editorial__media::after {
        background: linear-gradient(180deg, rgba(255, 251, 249, 0.92) 0%, rgba(255, 251, 249, 0.72) 50%, rgba(255, 251, 249, 0.12) 100%);
    }

    .page-home .homepage-editorial__panel {
        left: 1.25rem;
        right: 1.25rem;
        top: 1.4rem;
        transform: none;
        width: auto;
    }
}

.page-home .hero-carousel__dots {
    gap: 0.45rem;
}

.page-home .hero-carousel__dot {
    width: 0.45rem;
    height: 0.45rem;
}

.page-home .hero-carousel__dot.is-active {
    width: 1.25rem;
}

@media (max-width: 760px) {
    .page-home .hero-image img {
        object-position: 62% center;
    }

    .page-home .hero-content {
        padding-left: 1rem;
        padding-right: 1rem;
        padding-top: 1.75rem;
        padding-bottom: 2.75rem;
        background: linear-gradient(90deg, rgba(18, 14, 14, 0.42) 0%, rgba(18, 14, 14, 0.24) 55%, rgba(18, 14, 14, 0.1) 100%);
    }

    .page-home .hero-title {
        font-size: clamp(1.68rem, 7vw, 2.35rem);
        line-height: 1.2;
        letter-spacing: 0.1em;
        max-width: 10.5ch;
    }

    .page-home .hero-subtitle {
        font-size: 0.68rem;
        line-height: 1.45;
        letter-spacing: 0.07em;
        max-width: 24rem;
    }

    .page-home .hero-content .btn {
        width: min(100%, 22rem);
        align-self: stretch;
    }

    .page-home .hero-carousel__controls {
        left: 1rem;
        bottom: 0.7rem;
    }
}

/* Homepage lower copy alignment polish 2026-06-04. */
.page-home .occasion-shortcuts,
.page-home .homepage-seo,
.page-home .homepage-occasions,
.page-home .homepage-seo-band,
.page-home .homepage-section-heading--center {
    text-align: center;
}

.page-home .occasion-shortcuts .section-heading,
.page-home .occasion-shortcuts .eyebrow,
.page-home .occasion-shortcuts .page-subtitle,
.page-home .homepage-seo .section-heading,
.page-home .homepage-seo .eyebrow,
.page-home .homepage-seo .page-subtitle,
.page-home .homepage-occasions .homepage-section-heading,
.page-home .homepage-seo-band .container {
    margin-left: auto;
    margin-right: auto;
}

.page-home .homepage-seo-band {
    padding: clamp(3rem, 6vw, 5rem) 0 clamp(2rem, 4vw, 3.25rem);
    background: #fffafa;
    border-top: 1px solid rgba(196, 151, 160, 0.22);
}

.page-home .homepage-seo-band__inner {
    max-width: 1020px;
    text-align: center;
}

.page-home .homepage-seo-band__inner h2 {
    margin: 0 auto 1rem;
    max-width: 920px;
    font-family: var(--font-heading);
    font-size: clamp(1.35rem, 2.6vw, 2rem);
    line-height: 1.25;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-black);
}

.page-home .homepage-seo-band__inner p:not(.eyebrow) {
    max-width: 900px;
    margin: 0.85rem auto 0;
    color: var(--color-gray-dark);
    font-size: 0.98rem;
    line-height: 1.8;
}

.page-home .homepage-trust-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin-bottom: 2.5rem;
    background: rgba(196, 151, 160, 0.28);
    border: 1px solid rgba(196, 151, 160, 0.28);
}

.page-home .homepage-trust-card {
    min-height: 210px;
    padding: clamp(1.35rem, 2.5vw, 2rem);
    background: rgba(255, 255, 255, 0.94);
    text-align: left;
}

.page-home .homepage-trust-card h3 {
    margin: 0 0 0.8rem;
    font-family: var(--font-heading);
    font-size: 0.84rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--color-black);
}

.page-home .homepage-trust-card p {
    margin: 0;
    color: var(--color-gray-dark);
    font-size: 0.92rem;
    line-height: 1.7;
}

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

@media (max-width: 640px) {
    .page-home .homepage-trust-grid {
        grid-template-columns: 1fr;
    }

    .page-home .homepage-trust-card {
        min-height: auto;
    }
}

.page-home .homepage-sitelinks {
    padding: clamp(2.5rem, 5vw, 4rem) 0;
    background: linear-gradient(180deg, rgba(255, 253, 253, 0.96) 0%, rgba(250, 239, 242, 0.78) 100%);
    border-top: 1px solid rgba(196, 151, 160, 0.22);
    border-bottom: 1px solid rgba(196, 151, 160, 0.22);
    text-align: center;
}

.page-home .homepage-sitelinks__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    background: rgba(196, 151, 160, 0.28);
    border: 1px solid rgba(196, 151, 160, 0.28);
    margin-top: 1.4rem;
}

.page-home .homepage-sitelinks__item {
    display: flex;
    min-height: 8.25rem;
    flex-direction: column;
    justify-content: center;
    gap: 0.65rem;
    padding: 1.2rem;
    background: rgba(255, 255, 255, 0.86);
    color: var(--color-black);
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease;
}

.page-home .homepage-sitelinks__item:hover {
    background: #111;
    color: #fff;
    text-decoration: none;
}

.page-home .homepage-sitelinks__item span {
    font-family: var(--font-heading);
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    line-height: 1.35;
    text-transform: uppercase;
}

.page-home .homepage-sitelinks__item small {
    color: inherit;
    font-size: 0.82rem;
    line-height: 1.55;
    opacity: 0.75;
}

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

@media (max-width: 560px) {
    .page-home .homepage-sitelinks__grid {
        grid-template-columns: 1fr;
    }

    .page-home .homepage-sitelinks__item {
        min-height: 0;
        padding: 1.05rem;
    }
}

/* Product image and PDP gallery polish 2026-06-04.
   Keeps listing images consistent and matches the old PDP gallery rhythm. */
.product-grid .product-card,
.collection-grid .product-card,
.category-products .product-card,
.page-search .product-card,
.page-best-sellers .product-card,
.page-occasion .product-card {
    min-width: 0;
}

.product-card .product-image {
    aspect-ratio: 1 / 1;
    min-height: 0;
    padding: clamp(0.75rem, 1.8vw, 1.15rem);
    background: #fbfaf8;
}

.product-card-actions {
    position: absolute;
    right: 0.85rem;
    bottom: 0.85rem;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.product-card-favorite,
.product-card-view-count {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid rgba(26, 26, 26, 0.18);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.94);
    color: #171717;
    box-shadow: 0 7px 18px rgba(30, 20, 24, 0.14);
    cursor: pointer;
    transition: transform 0.2s ease, color 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.product-card-view-count {
    cursor: default;
    color: #42383a;
    font-size: 0.67rem;
    font-weight: 700;
    line-height: 1;
}

.product-card-favorite:hover,
.product-card-favorite:focus-visible {
    transform: translateY(-2px) scale(1.04);
    border-color: #a64f68;
    outline: none;
}

.product-card-favorite svg,
.product-card-view-count svg {
    width: 21px;
    height: 21px;
    fill: transparent;
    stroke: currentColor;
    stroke-width: 1.7;
    transition: fill 0.2s ease;
}

.product-card-view-count svg {
    width: 19px;
    height: 19px;
    fill: currentColor;
    stroke: none;
}

.product-card-favorite.is-favorite {
    border-color: #a52d4d;
    background: #fff7f9;
    color: #b21f49;
}

.product-card-favorite.is-favorite svg {
    fill: currentColor;
}

.product-card-favorite:disabled {
    cursor: wait;
    opacity: 0.65;
}

@media (max-width: 640px) {
    .product-card-actions {
        right: 0.65rem;
        bottom: 0.65rem;
        gap: 0.35rem;
    }

    .product-card-favorite,
    .product-card-view-count {
        width: 38px;
        height: 38px;
    }
}

.product-card .product-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
    transform: scale(1.28);
}

.product-card:hover .product-image img {
    transform: scale(1.34);
}

.pdp-gallery .product-image img,
.pdp-main-image,
.pdp-gallery-thumb {
    transform: none;
}

.page-home .homepage-slider__card .product-image {
    aspect-ratio: 1 / 1;
    padding: clamp(0.75rem, 1.4vw, 1rem);
}

.pdp-wrap {
    grid-template-areas:
        "gallery info"
        "details info";
    grid-template-columns: minmax(0, 1fr) minmax(350px, 420px);
    gap: 1.75rem 4rem;
    max-width: 1240px;
}

.pdp-gallery {
    grid-area: gallery;
    background: transparent;
    border: 0;
    padding: 0;
}

.pdp-info {
    grid-area: info;
}

.pdp-main-image-frame {
    max-width: 620px;
    aspect-ratio: 1 / 0.78;
    background: #fbfaf8;
    border: 0;
    box-shadow: none;
    padding: 0;
}

.pdp-main-image {
    object-fit: contain;
}

.pdp-thumbnail-row {
    max-width: 620px;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 0.45rem;
    overflow-x: auto;
    padding: 0.5rem 0 0.25rem;
    scrollbar-width: thin;
}

.pdp-thumbnail-button {
    flex: 0 0 54px;
    width: 54px;
    height: 54px;
    border-radius: 0;
    border-color: #d7d3ca;
    padding: 2px;
}

.pdp-gallery-thumb {
    width: 48px;
    height: 48px;
    object-fit: contain;
}

.pdp-thumbnail-button.is-active {
    border-color: #4e5524;
    box-shadow: inset 0 0 0 1px #4e5524;
}

.pdp-detail-sections {
    grid-area: details;
    margin-top: 0;
    background: #fff2e8;
    padding: 1.5rem 1.75rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.2rem 2rem;
}

.pdp-detail-section {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
}

.pdp-detail-section:first-child,
.pdp-detail-section:last-child {
    grid-column: 1 / -1;
}

.pdp-detail-section h2 {
    font-size: 0.78rem;
    letter-spacing: 0.08em;
}

.pdp-detail-section p {
    font-size: 0.9rem;
    line-height: 1.65;
}

.pdp-recipe-section {
    grid-column: 1 / -1;
}

.pdp-recipe-list__variant {
    margin-bottom: 0.7rem;
    color: var(--color-gray-dark);
    font-family: var(--font-heading);
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pdp-recipe-table {
    width: 100%;
    border-collapse: collapse;
    color: var(--color-gray-dark);
    font-size: 0.88rem;
    line-height: 1.5;
}

.pdp-recipe-table th,
.pdp-recipe-table td {
    padding: 0.34rem 0;
    border-top: 1px solid rgba(215, 211, 202, 0.7);
    vertical-align: top;
}

.pdp-recipe-table th {
    width: 4rem;
    color: var(--color-black);
    font-weight: 600;
    text-align: left;
}

@media (max-width: 899px) {
    .pdp-wrap {
        display: grid;
        grid-template-areas:
            "gallery"
            "info"
            "details";
        grid-template-columns: minmax(0, 1fr);
        gap: 1.5rem;
    }

    .pdp-main-image-frame {
        max-width: 100%;
        aspect-ratio: 1 / 0.86;
    }

    .pdp-detail-sections {
        grid-template-columns: 1fr;
        padding: 1.25rem;
    }
}

/* PDP add-on panel placement: keep add-ons in the cart form but pin them to the top-right desktop column. */
@media (min-width: 1220px) {
    .pdp-wrap {
        grid-template-areas:
            "gallery purchase"
            "details purchase";
        grid-template-columns: minmax(430px, 0.95fr) minmax(650px, 760px);
        max-width: 1460px;
        gap: 1.75rem 3rem;
    }

    .pdp-add-form {
        grid-area: purchase;
        display: grid;
        grid-template-columns: minmax(360px, 430px) minmax(250px, 300px);
        gap: 1.35rem;
        align-items: start;
    }

    .pdp-info {
        grid-area: auto;
    }

    .pdp-addon-panel {
        position: sticky;
        top: 120px;
        align-self: start;
        max-height: calc(100vh - 140px);
        overflow-y: auto;
        padding-right: 0.15rem;
        scrollbar-width: thin;
        scrollbar-color: var(--color-rose-line) transparent;
    }
}

.product-card .product-image img:not(.pdp-main-image):not(.pdp-gallery-thumb) {
    transform: scale(1.28) !important;
}

.product-card:hover .product-image img:not(.pdp-main-image):not(.pdp-gallery-thumb) {
    transform: scale(1.34) !important;
}

/* Product card storefront parity polish 2026-06-04. */
.product-card {
    border: 1px solid rgba(215, 211, 202, 0.9);
    background: #fff;
    padding-bottom: 0;
    overflow: hidden;
}

.product-card .product-image {
    aspect-ratio: 1 / 1.18;
    background: #fff;
    margin-bottom: 0;
    padding: clamp(0.6rem, 1.4vw, 0.9rem);
}

.product-card .product-image img:not(.pdp-main-image):not(.pdp-gallery-thumb) {
    transform: scale(1.08) !important;
}

.product-card:hover .product-image img:not(.pdp-main-image):not(.pdp-gallery-thumb) {
    transform: scale(1.12) !important;
}

.product-card .product-info {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 0.75rem;
    padding: 0.85rem 0.95rem 0.8rem;
    border-top: 1px solid rgba(215, 211, 202, 0.9);
}

.product-card .product-title {
    text-align: left;
    font-size: 0.82rem;
    line-height: 1.25;
    min-height: 0;
}

.product-card .product-price {
    white-space: nowrap;
    color: #111;
    font-size: 0.82rem;
    font-weight: 600;
}

.product-card .product-price::before {
    content: none !important;
}

.product-delivery {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.72rem 0.95rem;
    border-top: 1px solid rgba(215, 211, 202, 0.9);
    color: #111;
    font-family: var(--font-heading);
    font-size: 0.82rem;
    letter-spacing: 0.02em;
}

.product-delivery__icon {
    display: inline-flex;
    width: 1.45rem;
    height: 1.45rem;
    color: #111;
}

.product-delivery__icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
}

.product-buy-now {
    padding: 0.95rem;
    border-top: 1px solid rgba(215, 211, 202, 0.9);
    color: #111;
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    text-align: center;
}

.page-home .homepage-slider__card .product-card {
    min-height: 0;
}

.page-home .homepage-slider__card .product-image {
    aspect-ratio: 1 / 1.06;
}

@media (max-width: 760px) {
    .product-card .product-info {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .product-card .product-title,
    .product-card .product-price {
        text-align: center;
    }
}

/* Homepage product title polish: one line, clipped gracefully inside the card. */
.page-home .homepage-slider__card .product-info {
    display: block;
    min-width: 0;
    padding: 0.85rem 0.95rem 0.8rem;
}

.page-home .homepage-slider__card .product-title {
    display: block;
    width: 100%;
    min-width: 0;
    min-height: 1.35em;
    margin: 0 0 0.35rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: normal;
    overflow-wrap: normal;
    text-align: left;
}

.page-home .homepage-slider__card .product-price {
    display: block;
    width: 100%;
    text-align: center;
    white-space: nowrap;
}

/* Homepage collection cards: match catalog sizing more closely. */
.page-home .homepage-product-section {
    max-width: 1460px;
}

.page-home .homepage-slider {
    grid-template-columns: 2.25rem minmax(0, 1fr) 2.25rem;
    gap: 0.85rem;
}

.page-home .homepage-slider__track {
    gap: 1px;
    background: var(--color-gray-light);
    border: 1px solid var(--color-gray-light);
}

.page-home .homepage-slider__card {
    flex: 0 0 calc((100% - 3px) / 4);
    max-width: calc((100% - 3px) / 4);
    background: var(--color-white);
    border-right: 1px solid var(--color-gray-light);
}

.page-home .homepage-slider__card .product-card {
    min-height: 0;
    height: 100%;
    background: var(--color-white);
}

.page-home .homepage-slider__card .product-image {
    aspect-ratio: 1 / 1.12;
    margin: 0;
    padding: 0.85rem;
    background: linear-gradient(180deg, #f7f3f0 0%, #f2ede8 100%);
}

.page-home .homepage-slider__card .product-info {
    padding: 0.95rem 1rem 0.8rem;
}

.page-home .homepage-slider__card .product-title {
    font-size: 0.88rem;
}

.page-home .homepage-slider__card .product-price {
    font-size: 0.88rem;
}

/* Mercury image background match 2026-06-08.
   Uses the same soft studio off-white as the normalized product photos so image
   edges blend into the frame instead of showing a separate white box. */
:root {
    --product-photo-bg: #f7f6f3;
}

.product-card .product-image,
.page-home .homepage-slider__card .product-image,
.pdp-main-image-frame,
.pdp-thumbnail-button,
.pdp-gallery-thumb,
.cart-item-img__frame {
    background: var(--product-photo-bg) !important;
}

.pdp-gallery {
    background: transparent !important;
}

@media (max-width: 1100px) {
    .page-home .homepage-slider__card {
        flex-basis: calc((100% - 1px) / 2);
        max-width: calc((100% - 1px) / 2);
    }
}

@media (max-width: 760px) {
    .page-home .homepage-slider__card {
        flex-basis: 100%;
        max-width: 100%;
    }
}

/* MERCURY COLLECTION PRODUCT LISTING PAGE */
.collection-page {
    background: #fffdfc;
    color: var(--color-black);
}

.collection-hero {
    border-bottom: 1px solid var(--color-gray-light);
    background: linear-gradient(180deg, #fffafa 0%, #fffdfc 100%);
}

.collection-hero--with-banner {
    position: relative;
    isolation: isolate;
    display: grid;
    min-height: clamp(390px, 38vw, 560px);
    overflow: hidden;
    border-bottom: 0;
    background: #282123;
    color: #fff;
}

.collection-hero--with-banner::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(90deg, rgba(24, 17, 19, 0.78) 0%, rgba(24, 17, 19, 0.45) 48%, rgba(24, 17, 19, 0.13) 100%);
    pointer-events: none;
}

.collection-hero__inner {
    padding-top: clamp(1.35rem, 3vw, 2.4rem);
    padding-bottom: clamp(1.5rem, 3.5vw, 3rem);
}

.collection-hero--with-banner .collection-hero__inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 100%;
    min-height: inherit;
    padding-top: clamp(1.5rem, 3vw, 2.5rem);
    padding-bottom: clamp(2rem, 4vw, 3.75rem);
}

.collection-hero--with-banner .collection-breadcrumbs {
    margin-bottom: auto;
    color: rgba(255, 255, 255, 0.8);
}

.collection-hero--with-banner .collection-breadcrumbs a:hover,
.collection-hero--with-banner .collection-hero__eyebrow {
    color: #f5ccd8;
}

.collection-hero--with-banner .collection-hero__copy,
.collection-hero--with-banner .collection-hero__facts {
    color: rgba(255, 255, 255, 0.88);
}

.collection-hero--with-banner .collection-hero__facts span::before {
    background: #f5ccd8;
}

.collection-breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-bottom: clamp(1.15rem, 2.6vw, 2rem);
    color: var(--color-gray-dark);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.collection-breadcrumbs a {
    color: inherit;
}

.collection-breadcrumbs a:hover {
    color: var(--brand-pink-dark);
}

.collection-hero__content {
    max-width: 790px;
}

.collection-hero__eyebrow {
    margin: 0 0 0.7rem;
    color: var(--brand-pink-dark);
    font-family: var(--font-heading);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.collection-hero h1 {
    margin: 0;
    max-width: 18ch;
    font-family: var(--font-heading);
    font-size: clamp(2rem, 4.3vw, 4.25rem);
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: 0;
    text-transform: uppercase;
}

.collection-hero__copy {
    max-width: 690px;
    margin: 1rem 0 0;
    color: var(--color-gray-dark);
    font-size: clamp(0.94rem, 1.2vw, 1.05rem);
    line-height: 1.75;
}

.collection-hero__facts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem 1.6rem;
    margin-top: 1.4rem;
    color: var(--color-gray-dark);
    font-family: var(--font-heading);
    font-size: 0.7rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.collection-hero__facts span {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
}

.collection-hero__facts span::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--brand-pink-dark);
}

.collection-controls {
    border-bottom: 1px solid var(--color-gray-light);
    background: rgba(255, 255, 255, 0.98);
}

.collection-controls__form {
    display: grid;
    grid-template-columns: minmax(220px, 1.35fr) minmax(190px, 1fr) minmax(170px, 0.85fr) auto auto;
    align-items: end;
    gap: 1rem;
    padding: 1.15rem 0;
}

.collection-field {
    min-width: 0;
}

.collection-field label,
.collection-directory__toolbar label > span {
    display: block;
    margin-bottom: 0.48rem;
    color: var(--color-gray-dark);
    font-family: var(--font-heading);
    font-size: 0.66rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.collection-field input,
.collection-field select,
.collection-directory__toolbar select {
    width: 100%;
    min-height: 46px;
    padding: 0.72rem 0.85rem;
    border: 1px solid var(--color-gray-light);
    border-radius: 0;
    background: var(--color-white);
    color: var(--color-black);
    font: inherit;
}

.collection-field input:focus,
.collection-field select:focus,
.collection-directory__toolbar select:focus {
    outline: 1px solid var(--brand-pink-dark);
    outline-offset: 1px;
}

.collection-featured-toggle {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    gap: 0.55rem;
    padding: 0 0.35rem;
    white-space: nowrap;
    color: var(--color-black);
    font-family: var(--font-heading);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
}

.collection-featured-toggle input {
    width: 19px;
    height: 19px;
    margin: 0;
    accent-color: var(--color-black);
}

.collection-apply {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 0 1.5rem;
    border: 1px solid var(--color-black);
    background: var(--color-black);
    color: var(--color-white);
    font-family: var(--font-heading);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    cursor: pointer;
}

.collection-apply:hover {
    background: var(--brand-pink-dark);
    border-color: var(--brand-pink-dark);
}

.collection-apply span {
    display: block;
    position: static;
    color: inherit;
    line-height: 1;
}

.collection-active-filters {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem;
    padding: 0 0 1rem;
    color: var(--color-gray-dark);
    font-size: 0.78rem;
}

.collection-filter-chip {
    padding: 0.35rem 0.6rem;
    border: 1px solid var(--color-gray-light);
    background: var(--color-off-white);
    color: var(--color-black);
}

.collection-active-filters a {
    margin-left: auto;
    color: var(--brand-pink-dark);
    font-family: var(--font-heading);
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-decoration: underline;
    text-transform: uppercase;
}

.collection-results {
    padding: clamp(1.5rem, 3vw, 2.5rem) 0 clamp(4rem, 8vw, 7rem);
}

.collection-results__bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
    color: var(--color-gray-dark);
    font-size: 0.8rem;
}

.collection-results__bar p {
    margin: 0;
}

.collection-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    border: 1px solid var(--color-gray-light);
    background: var(--color-gray-light);
}

.collection-product-card {
    min-width: 0;
    padding-bottom: 0;
    transform: none;
}

.collection-product-card:hover {
    transform: none;
}

.collection-product-card .product-image {
    aspect-ratio: 1 / 1;
}

.collection-product-card .product-info {
    min-height: 96px;
}

.collection-product-card .product-delivery {
    min-height: 48px;
    padding-left: 1rem;
    padding-right: 1rem;
}

.collection-product-card .product-buy-now {
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.collection-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 2.5rem;
}

.collection-pagination a {
    display: inline-flex;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color-gray-light);
    background: var(--color-white);
    color: var(--color-black);
    font-family: var(--font-heading);
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.collection-pagination a:hover,
.collection-pagination a.is-current {
    border-color: var(--color-black);
    background: var(--color-black);
    color: var(--color-white);
}

.collection-pagination__direction {
    padding: 0 1.2rem;
}

.collection-empty {
    padding: clamp(3rem, 7vw, 6rem) 1rem;
    border: 1px solid var(--color-gray-light);
    text-align: center;
}

.collection-empty h2 {
    margin: 0 0 0.75rem;
    font-family: var(--font-heading);
    font-size: 1.4rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.collection-empty p {
    margin: 0 0 1.4rem;
    color: var(--color-gray-dark);
}

.collection-directory {
    padding: clamp(1.5rem, 3vw, 2.5rem) 0 clamp(4rem, 8vw, 7rem);
}

.collection-directory__toolbar {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 2rem;
    margin-bottom: 1.5rem;
}

.collection-directory__toolbar p {
    max-width: 620px;
    margin: 0;
    color: var(--color-gray-dark);
    line-height: 1.6;
}

.collection-directory__toolbar label {
    width: min(100%, 320px);
}

.collection-directory__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    border: 1px solid var(--color-gray-light);
    background: var(--color-gray-light);
}

.collection-tile {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) auto;
    min-width: 0;
    min-height: 112px;
    align-items: center;
    gap: 1rem;
    padding: 0.65rem 1rem 0.65rem 0.65rem;
    background: var(--color-white);
    color: var(--color-black);
    transition: background 0.2s ease;
}

.collection-tile:hover {
    background: var(--color-off-white);
}

.collection-tile__media {
    width: 92px;
    height: 92px;
    overflow: hidden;
    background: var(--product-photo-bg);
}

.collection-tile__media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.collection-tile__body {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 0.45rem;
}

.collection-tile__body strong {
    font-family: var(--font-heading);
    font-size: 0.78rem;
    line-height: 1.45;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.collection-tile__body span {
    color: var(--color-gray-dark);
    font-size: 0.76rem;
}

.collection-tile__arrow {
    font-size: 1.15rem;
}

@media (max-width: 1100px) {
    .collection-controls__form {
        grid-template-columns: minmax(220px, 1.2fr) minmax(190px, 1fr) minmax(170px, 0.8fr);
    }

    .collection-featured-toggle {
        justify-self: start;
    }

    .collection-apply {
        min-width: 140px;
    }

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

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

@media (max-width: 760px) {
    .collection-hero__inner {
        padding-top: 1rem;
        padding-bottom: 1.45rem;
    }

    .collection-breadcrumbs {
        margin-bottom: 1rem;
        font-size: 0.62rem;
    }

    .collection-hero h1 {
        font-size: 2rem;
        line-height: 1.08;
    }

    .collection-hero__copy {
        font-size: 0.9rem;
        line-height: 1.65;
    }

    .collection-hero__facts {
        gap: 0.55rem 1rem;
        font-size: 0.62rem;
    }

    .collection-controls__form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.8rem;
    }

    .collection-field--search {
        grid-column: 1 / -1;
    }

    .collection-featured-toggle {
        min-height: 42px;
        padding: 0;
    }

    .collection-apply {
        width: 100%;
        min-height: 44px;
    }

    .collection-active-filters a {
        width: 100%;
        margin: 0.25rem 0 0;
    }

    .collection-results {
        padding-top: 1.2rem;
    }

    .collection-results__bar {
        font-size: 0.72rem;
    }

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

    .collection-product-card .product-info {
        min-height: 104px;
        padding: 0.85rem 0.75rem;
    }

    .collection-product-card .product-title {
        font-size: 0.72rem;
        line-height: 1.45;
    }

    .collection-product-card .product-price {
        font-size: 0.74rem;
    }

    .collection-product-card .product-delivery {
        min-height: 45px;
        padding: 0.65rem 0.7rem;
        font-size: 0.62rem;
        line-height: 1.3;
    }

    .collection-product-card .product-buy-now {
        min-height: 46px;
        font-size: 0.7rem;
    }

    .collection-directory__toolbar {
        display: block;
    }

    .collection-directory__toolbar p {
        margin-bottom: 1rem;
    }

    .collection-directory__toolbar label {
        width: 100%;
    }

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

    .collection-tile {
        grid-template-columns: 78px minmax(0, 1fr) auto;
        min-height: 96px;
    }

    .collection-tile__media {
        width: 78px;
        height: 78px;
    }
}

@media (max-width: 410px) {
    .collection-controls__form {
        grid-template-columns: 1fr;
    }

    .collection-field--search {
        grid-column: auto;
    }
}

/* PRODUCT DETAIL REDESIGN 2026-06-08 */
.pdp-wrap {
    display: block;
    max-width: 1320px;
    margin: clamp(1.5rem, 4vw, 3.5rem) auto;
    padding-bottom: clamp(3rem, 7vw, 6rem);
}

.pdp-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(390px, 0.82fr);
    grid-template-areas: none;
    gap: clamp(2.25rem, 5vw, 5rem);
    align-items: start;
}

.pdp-gallery {
    grid-area: auto;
    position: sticky;
    top: 112px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-width: 0;
    padding: 0 !important;
    border: 0;
    background: transparent !important;
}

.pdp-main-image-frame {
    width: 100%;
    max-width: none;
    aspect-ratio: 1 / 0.88;
    padding: clamp(0.75rem, 2vw, 1.5rem);
    border: 1px solid #e3dfd9;
    background: var(--product-photo-bg) !important;
    box-shadow: none;
}

.pdp-main-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.pdp-image-empty {
    display: grid;
    width: 100%;
    aspect-ratio: 1 / 0.88;
    place-items: center;
    color: var(--color-gray-mid);
    border: 1px solid #e3dfd9;
    background: var(--product-photo-bg);
}

.pdp-thumbnail-row {
    width: 100%;
    max-width: none;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 0.65rem;
    margin-top: 0.85rem;
    padding: 0 0 0.45rem;
    overflow-x: auto;
    scrollbar-width: thin;
}

.pdp-thumbnail-button {
    flex: 0 0 68px;
    width: 68px;
    height: 68px;
    padding: 3px;
    border: 1px solid #ddd8d1;
    border-radius: 2px;
    background: var(--product-photo-bg) !important;
    box-shadow: none;
}

.pdp-gallery-thumb {
    width: 60px;
    height: 60px;
    background: var(--product-photo-bg) !important;
}

.pdp-thumbnail-button:hover,
.pdp-thumbnail-button.is-active {
    border-color: var(--color-black);
    box-shadow: inset 0 0 0 1px var(--color-black);
    transform: none;
}

.pdp-add-form {
    grid-area: auto;
    display: block;
    min-width: 0;
}

.pdp-info {
    position: static;
}

.pdp-breadcrumbs {
    margin-bottom: 1.25rem;
    font-size: 0.68rem;
    line-height: 1.5;
}

.pdp-title {
    max-width: 16ch;
    margin-bottom: 0.75rem;
    font-size: clamp(1.85rem, 3vw, 2.75rem);
    line-height: 1.08;
    letter-spacing: 0;
}

.pdp-price {
    margin-bottom: 1rem;
    padding-bottom: 0;
    border-bottom: 0;
    font-size: 1.35rem;
}

.pdp-price::before {
    content: 'FROM';
    display: inline-block;
    margin-right: 0.45rem;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    vertical-align: 0.12rem;
}

.pdp-price.is-selected-price::before {
    content: 'SELECTED';
}

.pdp-service-points {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.25rem;
    margin-bottom: 1.75rem;
    padding-bottom: 1.4rem;
    border-bottom: 1px solid #e3dfd9;
    color: #4f4a46;
    font-size: 0.78rem;
    line-height: 1.45;
}

.pdp-service-points span {
    position: relative;
    padding-left: 1rem;
}

.pdp-service-points span::before {
    position: absolute;
    left: 0;
    content: '✓';
    color: #4e5524;
    font-weight: 700;
}

.variant-group {
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #e3dfd9;
}

.variant-label {
    margin-bottom: 0.4rem;
    font-size: 0.82rem;
}

.pdp-section-note,
.pdp-checkout-note {
    margin: 0 0 1rem;
    color: var(--color-gray-mid);
    font-size: 0.78rem;
    line-height: 1.5;
}

.radio-pill-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.radio-pill,
.radio-pill:has(input:checked) {
    min-height: 64px;
    padding: 0.8rem 0.9rem;
    border-width: 1px;
    border-radius: 2px;
    background: #fff;
    box-shadow: none;
}

.radio-pill:hover {
    border-color: #8b817a;
    background: #fffdfc;
    box-shadow: none;
    transform: none;
}

.radio-pill:has(input:checked) {
    border-color: var(--color-black);
    background: #fff8f8;
    box-shadow: inset 0 0 0 1px var(--color-black);
}

.radio-pill-content {
    align-items: flex-start;
    gap: 0.6rem;
    font-size: 0.78rem;
    line-height: 1.35;
    letter-spacing: 0;
}

.radio-pill-content span:first-child {
    overflow-wrap: anywhere;
}

.radio-pill-content span:last-child {
    flex: 0 0 auto;
    white-space: nowrap;
}

.qty-wrap {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.75rem;
    margin-bottom: 0.65rem;
}

.pdp-quantity-control {
    display: grid;
    grid-template-columns: 38px 44px 38px;
    min-height: 52px;
    border: 1px solid #d8d2cb;
    background: #fff;
}

.pdp-quantity-button {
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--color-black);
    font-size: 1.15rem;
    cursor: pointer;
}

.pdp-quantity-button:hover {
    background: #f7f3f1;
}

.pdp-quantity-control .qty-input {
    width: 44px;
    height: 100%;
    padding: 0;
    border: 0;
    border-right: 1px solid #e3dfd9;
    border-left: 1px solid #e3dfd9;
    background: transparent;
    appearance: textfield;
}

.pdp-quantity-control .qty-input::-webkit-inner-spin-button,
.pdp-quantity-control .qty-input::-webkit-outer-spin-button {
    margin: 0;
    appearance: none;
}

.qty-wrap .btn {
    min-height: 52px;
}

.pdp-checkout-note {
    margin-bottom: 0;
    text-align: center;
}

.pdp-addon-panel {
    position: static;
    max-height: none;
    margin-top: 2rem;
    padding: 1.25rem;
    overflow: visible;
    border: 1px solid #e3dfd9;
    background: #fcfaf8;
}

.pdp-addon-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.pdp-addon-heading h2 {
    margin: 0 0 0.35rem;
    font-family: var(--font-heading);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pdp-addon-heading p {
    margin: 0;
    color: var(--color-gray-mid);
    font-size: 0.78rem;
    line-height: 1.45;
}

.pdp-addon-count {
    flex: 0 0 auto;
    color: var(--color-gray-mid);
    font-size: 0.72rem;
    white-space: nowrap;
}

.addon-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    margin: 0;
}

.addon-item,
.addon-item:has(input:checked) {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5rem;
    min-width: 0;
    min-height: 194px;
    padding: 0.65rem;
    border-width: 1px;
    border-radius: 2px;
    background: #fff;
    box-shadow: none;
    transform: none;
}

.addon-item:hover {
    border-color: #8b817a;
    background: #fff;
    box-shadow: none;
}

.addon-item:has(input:checked) {
    border-color: var(--color-black);
    background: #fff8f8;
    box-shadow: inset 0 0 0 1px var(--color-black);
}

.addon-item input[type="checkbox"] {
    position: absolute;
    z-index: 2;
    top: 0.75rem;
    left: 0.75rem;
    width: 1.2rem;
    height: 1.2rem;
    margin: 0;
}

.addon-item__media {
    width: 100%;
    min-width: 0;
    height: 112px;
    aspect-ratio: auto;
    border: 0;
    background: var(--product-photo-bg);
}

.addon-item__media img {
    object-fit: contain;
}

.addon-item__body {
    width: 100%;
}

.addon-item__topline {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
    margin: 0;
}

.addon-item__name {
    font-size: 0.72rem;
    line-height: 1.35;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.addon-item__price {
    flex: 0 0 auto;
    margin: 0;
    font-size: 0.76rem;
}

.addon-item__description {
    margin-top: 0.3rem;
    font-size: 0.72rem;
}

.pdp-detail-sections {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin-top: clamp(2.5rem, 6vw, 5rem);
    padding: 0;
    border-top: 1px solid #ddd8d1;
    border-bottom: 1px solid #ddd8d1;
    background: #fff;
}

.pdp-detail-section,
.pdp-detail-section:first-child,
.pdp-detail-section:last-child,
.pdp-recipe-section {
    grid-column: auto;
    padding: clamp(1.5rem, 3vw, 2.5rem);
    border: 0;
    border-right: 1px solid #e3dfd9;
    border-bottom: 1px solid #e3dfd9;
    border-radius: 0;
    background: #fff;
}

.pdp-detail-section:nth-child(2n) {
    border-right: 0;
}

.pdp-detail-section:nth-last-child(-n + 2) {
    border-bottom: 0;
}

.pdp-detail-section h2 {
    margin-bottom: 0.8rem;
    font-size: 0.78rem;
}

.pdp-detail-section p {
    max-width: 68ch;
    font-size: 0.9rem;
    line-height: 1.75;
}

@media (max-width: 1050px) {
    .pdp-hero {
        grid-template-columns: minmax(0, 1fr) minmax(350px, 0.84fr);
        gap: 2.25rem;
    }

    .radio-pill-list,
    .addon-list {
        grid-template-columns: 1fr;
    }

    .addon-item {
        grid-template-columns: 96px minmax(0, 1fr);
        min-height: 112px;
        align-items: center;
        padding: 0.65rem;
    }

    .addon-item__media {
        width: 96px;
        height: 96px;
    }

    .addon-item__body {
        align-self: center;
    }
}

@media (max-width: 760px) {
    .pdp-wrap {
        margin-top: 1rem;
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .pdp-hero {
        grid-template-columns: minmax(0, 1fr);
        gap: 1.5rem;
    }

    .pdp-gallery {
        position: static;
    }

    .pdp-main-image-frame {
        aspect-ratio: 1 / 0.92;
        padding: 0.5rem;
    }

    .pdp-thumbnail-button {
        flex-basis: 60px;
        width: 60px;
        height: 60px;
    }

    .pdp-gallery-thumb {
        width: 52px;
        height: 52px;
    }

    .pdp-breadcrumbs {
        display: none;
    }

    .pdp-title {
        max-width: none;
        font-size: 1.7rem;
    }

    .radio-pill-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .qty-wrap {
        grid-template-columns: 1fr;
    }

    .pdp-quantity-control {
        grid-template-columns: 1fr 52px 1fr;
    }

    .pdp-quantity-control .qty-input {
        width: 52px;
    }

    .pdp-addon-panel {
        margin-top: 1.5rem;
        padding: 1rem;
    }

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

    .addon-item {
        display: grid;
        grid-template-columns: 1fr;
        min-height: 176px;
    }

    .addon-item__media {
        width: 100%;
        height: 96px;
    }

    .addon-item__topline {
        display: block;
    }

    .addon-item__price {
        margin-top: 0.2rem;
    }

    .pdp-detail-sections {
        grid-template-columns: 1fr;
        margin-top: 2rem;
    }

    .pdp-detail-section,
    .pdp-detail-section:first-child,
    .pdp-detail-section:last-child,
    .pdp-recipe-section,
    .pdp-detail-section:nth-child(2n),
    .pdp-detail-section:nth-last-child(-n + 2) {
        border-right: 0;
        border-bottom: 1px solid #e3dfd9;
    }

    .pdp-detail-section:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 420px) {
    .radio-pill-list {
        grid-template-columns: 1fr;
    }

    .pdp-addon-heading {
        display: block;
    }

    .pdp-addon-count {
        display: block;
        margin-top: 0.5rem;
    }
}
.collection-hero__banner {
    position: absolute;
    z-index: 0;
    inset: 0;
    margin: 0;
    overflow: hidden;
}

.collection-hero__banner img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.collection-summary {
    padding: 0 0 4rem;
}

.collection-summary__inner {
    border-top: 1px solid #eadde0;
    max-width: 900px;
    padding-top: 2rem;
}

.collection-summary__inner h2 {
    font-size: 1.35rem;
    margin: 0 0 0.85rem;
}

.collection-summary__inner p {
    color: #584e50;
    line-height: 1.8;
    margin: 0;
}

.cart-recovery-notice {
    display: grid;
    gap: 0.65rem;
    margin: 1rem 0;
    padding: 1rem;
    border: 1px solid #d8c5c9;
    background: #fff8f8;
}

.cart-recovery-notice strong {
    font-family: var(--font-heading);
    font-size: 0.95rem;
}

.cart-recovery-notice span {
    color: #5c5153;
    font-size: 0.84rem;
    line-height: 1.55;
}

.cart-recovery-notice .btn-secondary {
    width: 100%;
    text-align: center;
}

@media (max-width: 640px) {
    .collection-hero--with-banner {
        min-height: 430px;
    }

    .collection-hero--with-banner::after {
        background: linear-gradient(180deg, rgba(24, 17, 19, 0.32) 0%, rgba(24, 17, 19, 0.78) 68%, rgba(24, 17, 19, 0.9) 100%);
    }

    .collection-hero--with-banner .collection-hero__inner {
        padding-top: 1.25rem;
        padding-bottom: 1.75rem;
    }

    .collection-summary {
        padding-bottom: 2.5rem;
    }
}
.account-social-login {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 1.25rem 0 0;
}

.account-social-form {
    display: none;
}

.account-auth-divider {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 1.35rem 0;
    color: var(--color-gray-dark);
    font-size: 0.78rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.account-auth-divider::before,
.account-auth-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--color-rose-line);
}

.account-auth-divider span {
    white-space: nowrap;
}

/* Product favorites and customer conversation */
#pdp-favorite-form {
    display: none;
}

.pdp-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.pdp-title-row .pdp-title {
    min-width: 0;
}

.pdp-favorite-button {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    border: 1px solid var(--color-rose-line);
    border-radius: 50%;
    background: #fff;
    color: #5f5a5c;
    cursor: pointer;
    transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.pdp-favorite-button:hover {
    transform: translateY(-1px);
    border-color: #bc3150;
    color: #bc3150;
}

.pdp-favorite-button svg {
    width: 21px;
    height: 21px;
    fill: transparent;
    stroke: currentColor;
    stroke-width: 1.7;
}

.pdp-favorite-button span {
    font-size: 0.72rem;
    font-weight: 700;
}

.pdp-favorite-button.is-favorite {
    color: #b42341;
    border-color: #e4a4b1;
    background: #fff4f6;
}

.pdp-favorite-button.is-favorite svg {
    fill: currentColor;
}

.pdp-view-count {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.18rem;
    border: 1px solid var(--color-rose-line);
    border-radius: 50%;
    background: #fff;
    color: #5f5a5c;
    font-size: 0.72rem;
    font-weight: 700;
}

.pdp-view-count svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

.pdp-social {
    grid-column: 1 / -1;
    width: 100%;
    margin-top: 1rem;
    border-top: 1px solid var(--color-rose-line);
    padding-top: 2.25rem;
}

.pdp-social__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.pdp-social__header h2 {
    margin: 0;
    font-family: var(--font-heading);
    font-size: 1.7rem;
    font-weight: 500;
    text-transform: uppercase;
}

.pdp-social__header > span {
    color: var(--color-gray-dark);
    font-size: 0.78rem;
    text-transform: uppercase;
}

.product-comment-form {
    display: grid;
    gap: 0.85rem;
    max-width: 760px;
    padding: 1.25rem;
    margin-bottom: 1.5rem;
    border: 1px solid var(--color-rose-line);
    border-radius: 6px;
    background: #fffafa;
}

.product-comment-form > label,
.product-rating legend {
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
}

.product-comment-form textarea {
    width: 100%;
    min-height: 120px;
    resize: vertical;
    border: 1px solid var(--color-gray-light);
    border-radius: 4px;
    padding: 0.9rem;
    font: inherit;
    background: #fff;
}

.product-comment-form .btn {
    width: fit-content;
}

.product-rating {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 0.2rem;
    border: 0;
    padding: 0;
    margin: 0;
}

.product-rating legend {
    width: 100%;
    margin-bottom: 0.4rem;
}

.product-rating input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.product-rating label {
    color: #c7c0bd;
    font-size: 1.6rem;
    line-height: 1;
    cursor: pointer;
}

.product-rating input:checked ~ label,
.product-rating label:hover,
.product-rating label:hover ~ label {
    color: #b7791f;
}

.product-rating input:focus-visible + label {
    outline: 2px solid var(--brand-pink-dark);
    outline-offset: 3px;
}

.product-comment-login,
.product-comments-empty,
.favorites-empty {
    padding: 1.5rem;
    border: 1px solid var(--color-gray-light);
    border-radius: 6px;
    background: #fff;
}

.product-comment-login {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.product-comment-login p {
    margin: 0;
}

.product-comments-list {
    display: grid;
    gap: 0;
}

.product-comment {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 0.9rem;
    padding: 1.1rem 0;
    border-bottom: 1px solid var(--color-gray-light);
}

.product-comment__avatar {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #f3e5e8;
    color: #8a3f57;
    font-weight: 700;
}

.product-comment__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-bottom: 0.35rem;
}

.product-comment__meta span {
    color: #b7791f;
}

.product-comment__meta time {
    color: var(--color-gray-mid);
    font-size: 0.78rem;
}

.product-comment__body p {
    margin: 0;
    color: var(--color-gray-dark);
    line-height: 1.65;
}

/* Selectable cart checkout */
.cart-item {
    grid-template-columns: 84px 146px minmax(0, 1fr);
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    border-left: 3px solid transparent;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.cart-item.is-selected {
    background: #fffafb;
    border-left-color: #b45670;
}

.cart-item-select {
    align-self: center;
    display: grid;
    justify-items: center;
    gap: 0.45rem;
    color: var(--color-gray-dark);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer;
}

.cart-item-select input {
    width: 22px;
    height: 22px;
    accent-color: #9c3f5d;
    cursor: pointer;
}

/* Favorites account view */
.favorites-hero,
.account-page-hero {
    position: relative;
    min-height: 230px;
    margin: 0 0 2.25rem;
    overflow: hidden;
    border-radius: 6px;
    background: #32272a;
    color: #fff;
}

.favorites-hero img,
.favorites-hero__overlay,
.account-page-hero img,
.account-page-hero__overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.favorites-hero img,
.account-page-hero img {
    object-fit: cover;
    object-position: center;
}

.favorites-hero__overlay,
.account-page-hero__overlay {
    background: linear-gradient(90deg, rgba(32, 22, 25, 0.76) 0%, rgba(32, 22, 25, 0.35) 72%, rgba(32, 22, 25, 0.08) 100%);
}

.favorites-hero__content,
.account-page-hero__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 230px;
    max-width: 520px;
    padding: 2rem;
}

.favorites-hero__content p,
.account-page-hero__content p {
    margin: 0 0 0.55rem;
    color: #f4c7d4;
    font-family: var(--font-heading);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.favorites-hero__content h2,
.account-page-hero__content h2 {
    margin: 0 0 0.6rem;
    color: #fff;
    font-family: var(--font-heading);
    font-size: clamp(1.65rem, 3.2vw, 2.6rem);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: 0;
    text-transform: uppercase;
}

.favorites-hero__content span,
.account-page-hero__content span {
    max-width: 38ch;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    line-height: 1.55;
}

.favorites-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 1.25rem;
}

.favorite-card {
    border: 1px solid var(--color-gray-light);
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
}

.favorite-card__media {
    display: block;
    aspect-ratio: 4 / 5;
    padding: 0.85rem;
    background: #fff7f8;
}

.favorite-card__media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.favorite-card__body {
    display: grid;
    gap: 0.65rem;
    padding: 1rem;
}

.favorite-card__body h3 {
    margin: 0;
    font-family: var(--font-heading);
    font-size: 0.95rem;
    text-transform: uppercase;
}

.favorite-card__remove {
    padding: 0;
    border: 0;
    background: transparent;
    color: #8a3f57;
    text-decoration: underline;
    cursor: pointer;
}

@media (max-width: 760px) {
    .favorites-hero,
    .favorites-hero__content,
    .account-page-hero,
    .account-page-hero__content {
        min-height: 260px;
    }

    .favorites-hero__overlay,
    .account-page-hero__overlay {
        background: linear-gradient(180deg, rgba(32, 22, 25, 0.08) 0%, rgba(32, 22, 25, 0.8) 72%, rgba(32, 22, 25, 0.9) 100%);
    }

    .favorites-hero__content,
    .account-page-hero__content {
        padding: 1.35rem;
    }

    .pdp-title-row {
        align-items: center;
    }

    .pdp-favorite-button {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
    }

    .pdp-social__header,
    .product-comment-login {
        align-items: flex-start;
        flex-direction: column;
    }

    .pdp-social__header h2 {
        font-size: 1.3rem;
    }

    .product-comment-form .btn,
    .product-comment-login .btn-outline {
        width: 100%;
        text-align: center;
    }

    .cart-item {
        grid-template-columns: 42px 96px minmax(0, 1fr);
        gap: 0.75rem;
    }

    .cart-item-img {
        width: 96px;
    }

    .cart-item-select span {
        display: none;
    }
}

@media (max-width: 520px) {
    .cart-item {
        grid-template-columns: 36px minmax(0, 1fr);
    }

    .cart-item-img {
        width: 100%;
        max-width: 130px;
    }

    .cart-item-details {
        grid-column: 2;
    }
}

/* Final product card rose override 2026-06-16. Kept at EOF so it wins older card rules. */
.product-card,
.collection-product-card,
.page-home .homepage-slider__card.product-card {
    overflow: hidden !important;
    border: 1px solid rgba(226, 217, 213, 0.92) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 16px 36px rgba(60, 40, 45, 0.10) !important;
    padding: 0.62rem 0.62rem 0.88rem !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease !important;
}

.product-card:hover,
.collection-product-card:hover,
.page-home .homepage-slider__card.product-card:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(231, 143, 159, 0.55) !important;
    box-shadow: 0 22px 44px rgba(60, 40, 45, 0.14) !important;
}

.product-card .product-image,
.collection-product-card .product-image,
.page-home .homepage-slider__card .product-image {
    aspect-ratio: 1 / 1.15 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 10px !important;
    background: #fbf7f5 !important;
}

.product-card .product-image img:not(.pdp-main-image):not(.pdp-gallery-thumb),
.collection-product-card .product-image img:not(.pdp-main-image):not(.pdp-gallery-thumb),
.page-home .homepage-slider__card .product-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
}

.product-card:hover .product-image img:not(.pdp-main-image):not(.pdp-gallery-thumb),
.collection-product-card:hover .product-image img:not(.pdp-main-image):not(.pdp-gallery-thumb),
.page-home .homepage-slider__card:hover .product-image img {
    transform: scale(1.035) !important;
}

.product-card-actions {
    top: 1.1rem !important;
    right: 1.1rem !important;
    bottom: auto !important;
    z-index: 5 !important;
}

.product-card-favorite {
    width: 48px !important;
    height: 48px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    color: #ef6f87 !important;
    box-shadow: 0 10px 24px rgba(47, 35, 38, 0.18) !important;
}

.product-card-favorite svg {
    width: 25px !important;
    height: 25px !important;
    stroke-width: 1.45 !important;
}

.product-card .product-info,
.collection-product-card .product-info,
.page-home .homepage-slider__card .product-info {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    min-height: 0 !important;
    padding: 1rem 0.28rem 0 !important;
}

.product-card .product-title,
.collection-product-card .product-title,
.page-home .homepage-slider__card .product-title {
    min-height: 3.2em !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: clamp(1rem, 1.05vw, 1.16rem) !important;
    font-weight: 500 !important;
    line-height: 1.32 !important;
    letter-spacing: 0 !important;
    color: #181214 !important;
    text-transform: uppercase !important;
    text-wrap: balance !important;
}

.product-card-stats {
    position: relative !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.62rem !important;
    margin: 0.82rem auto 0 !important;
    width: min(100%, 18.4rem) !important;
    padding-top: 1.05rem !important;
}

.product-card-stats::before {
    content: "" !important;
    position: absolute !important;
    left: 13% !important;
    right: 13% !important;
    top: 0 !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(239, 111, 135, 0.28), transparent) !important;
}

.product-card-stats::after {
    content: "*" !important;
    position: absolute !important;
    left: 50% !important;
    top: -0.57rem !important;
    transform: translateX(-50%) !important;
    padding: 0 0.55rem !important;
    background: #fff !important;
    color: #ef7890 !important;
    font-size: 0.82rem !important;
    line-height: 1 !important;
}

.product-card-stat {
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.38rem !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #fff5f7 0%, #fcecef 100%) !important;
    color: #2f282a !important;
    padding: 0.54rem 0.6rem !important;
    font-size: 0.86rem !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.product-card-stat svg {
    flex: 0 0 auto !important;
    width: 18px !important;
    height: 18px !important;
    fill: #ef6f87 !important;
    color: #ef6f87 !important;
}

.product-card .product-price,
.collection-product-card .product-price,
.page-home .homepage-slider__card .product-price {
    margin: 1.15rem 0 0 !important;
    justify-content: center !important;
    color: #141012 !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: clamp(1.65rem, 1.75vw, 2rem) !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
}

.product-card .product-price::before {
    display: none !important;
}

.product-delivery {
    margin: 1rem 0 0 !important;
    padding: 1.05rem 0.2rem 0 !important;
    border-top: 1px solid rgba(220, 208, 205, 0.95) !important;
    justify-content: center !important;
    gap: 0.58rem !important;
    color: #1d1719 !important;
    font-size: 0.86rem !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

.product-delivery__icon,
.product-delivery__icon svg {
    width: 22px !important;
    height: 22px !important;
    color: #ef6f87 !important;
    fill: currentColor !important;
}

.product-buy-now {
    width: 100% !important;
    margin: 0.96rem 0 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: linear-gradient(180deg, #f0738c 0%, #e95f7c 100%) !important;
    color: #fff !important;
    padding: 1rem 1.1rem !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.24), 0 10px 20px rgba(225, 82, 113, 0.18) !important;
}

.page-home .homepage-slider__card.product-card {
    flex-basis: clamp(240px, 20vw, 292px) !important;
    max-width: clamp(240px, 20vw, 292px) !important;
    min-height: 0 !important;
}

@media (min-width: 1200px) {
    .product-grid[style],
    .collection-product-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .product-card,
    .collection-product-card,
    .page-home .homepage-slider__card.product-card {
        border-radius: 14px !important;
        padding: 0.55rem 0.55rem 0.78rem !important;
    }

    .product-card .product-title,
    .collection-product-card .product-title,
    .page-home .homepage-slider__card .product-title {
        min-height: auto !important;
        font-size: 0.98rem !important;
    }

    .product-card-stat {
        padding: 0.48rem 0.42rem !important;
        font-size: 0.78rem !important;
    }

    .product-delivery {
        font-size: 0.76rem !important;
        letter-spacing: 0 !important;
    }
}
/* PDP luxury redesign 2026-06-16 */
body.pdp-page {
    background:
        radial-gradient(circle at 20% 0%, rgba(244, 195, 203, 0.16), transparent 18rem),
        linear-gradient(180deg, #fff 0%, #fffafb 42%, #fff 100%);
}

body.pdp-page .top-delivery-strip,
body.pdp-page .storefront-delivery-strip {
    background: linear-gradient(90deg, #fff4f5 0%, #f8dfe4 50%, #fff4f5 100%) !important;
    color: #8f5360 !important;
    border: 0 !important;
    min-height: 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

body.pdp-page .site-header,
body.pdp-page .storefront-header {
    background: rgba(255, 255, 255, 0.94) !important;
    border-bottom: 1px solid rgba(226, 207, 209, 0.85) !important;
    box-shadow: 0 12px 38px rgba(70, 47, 52, 0.055) !important;
}

.pdp-wrap {
    width: min(100% - 2rem, 1180px) !important;
    margin: 0.65rem auto 0 !important;
    padding: 0 !important;
}

.pdp-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1.03fr) minmax(360px, 0.97fr) !important;
    gap: clamp(2rem, 4vw, 4.2rem) !important;
    align-items: start !important;
    margin: 0 !important;
}

.pdp-gallery {
    position: relative !important;
    top: auto !important;
    min-width: 0 !important;
}

.pdp-main-image-frame {
    position: relative !important;
    aspect-ratio: 1 / 0.92 !important;
    overflow: hidden !important;
    padding: 0.48rem !important;
    border: 1px solid rgba(225, 207, 208, 0.98) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 22px 60px rgba(78, 52, 58, 0.12) !important;
}

.pdp-main-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 12px !important;
    background: #fbf6f4 !important;
}

.pdp-favorite-button--image {
    position: absolute !important;
    top: 1.05rem !important;
    right: 1.05rem !important;
    width: 48px !important;
    height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    color: #ef6f87 !important;
    box-shadow: 0 12px 30px rgba(47, 35, 38, 0.18) !important;
    cursor: pointer !important;
}

.pdp-favorite-button--image svg {
    width: 25px !important;
    height: 25px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.6 !important;
}

.pdp-favorite-button--image.is-favorite svg {
    fill: currentColor !important;
}

.pdp-thumbnail-shell {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) 38px !important;
    gap: 0.82rem !important;
    align-items: center !important;
    margin-top: 1rem !important;
}

.pdp-thumbnail-row {
    display: flex !important;
    gap: 0.7rem !important;
    overflow-x: auto !important;
    scroll-behavior: smooth !important;
    padding: 0.1rem !important;
    scrollbar-width: none !important;
}

.pdp-thumbnail-row::-webkit-scrollbar {
    display: none !important;
}

.pdp-thumb-nav,
.pdp-thumbnail-button {
    border: 1px solid rgba(226, 207, 209, 0.98) !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 10px 24px rgba(78, 52, 58, 0.09) !important;
}

.pdp-thumb-nav {
    width: 38px !important;
    height: 38px !important;
    border-radius: 999px !important;
    color: #e86682 !important;
    font-size: 1rem !important;
    cursor: pointer !important;
}

.pdp-thumbnail-button {
    flex: 0 0 76px !important;
    height: 76px !important;
    padding: 0.25rem !important;
    border-radius: 10px !important;
    cursor: pointer !important;
}

.pdp-thumbnail-button.is-active {
    border-color: #ef6f87 !important;
    box-shadow: 0 0 0 2px rgba(239, 111, 135, 0.15), 0 10px 24px rgba(78, 52, 58, 0.1) !important;
}

.pdp-gallery-thumb {
    width: 100% !important;
    height: 100% !important;
    border-radius: 7px !important;
    object-fit: cover !important;
}

.pdp-add-form {
    min-width: 0 !important;
}

.pdp-info {
    display: block !important;
    padding: 0 !important;
}

.pdp-breadcrumbs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.45rem !important;
    align-items: center !important;
    margin-bottom: 0.8rem !important;
    color: #8f7a7d !important;
    font-size: 0.78rem !important;
}

.pdp-breadcrumbs a {
    color: #887176 !important;
    text-decoration: none !important;
}

.pdp-title-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 1.25rem !important;
    align-items: start !important;
}

.pdp-title {
    margin: 0 !important;
    max-width: 12ch !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: clamp(2rem, 3.8vw, 3.55rem) !important;
    font-weight: 400 !important;
    line-height: 1.02 !important;
    letter-spacing: 0 !important;
    color: #191214 !important;
    text-transform: uppercase !important;
}

.pdp-popularity-row {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    gap: 0.65rem !important;
    padding-top: 0.52rem !important;
}

.pdp-stat-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.44rem !important;
    padding: 0.54rem 0.8rem !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #fff5f7 0%, #fcecef 100%) !important;
    color: #30282a !important;
    font-size: 0.82rem !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.pdp-stat-pill svg {
    width: 17px !important;
    height: 17px !important;
    fill: #ef6f87 !important;
    color: #ef6f87 !important;
}

.pdp-price {
    display: flex !important;
    align-items: baseline !important;
    gap: 0.55rem !important;
    margin: 0.85rem 0 0 !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: clamp(1.55rem, 2.2vw, 2.15rem) !important;
    font-weight: 400 !important;
    color: #191214 !important;
}

.pdp-price::before {
    content: none !important;
    display: none !important;
}

.pdp-price span {
    font-family: var(--font-body, Arial, sans-serif) !important;
    font-size: 0.82rem !important;
    color: #766367 !important;
}

.pdp-service-points {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 1rem 1.55rem !important;
    align-items: center !important;
    margin: 1.25rem 0 0 !important;
    padding: 1.05rem 0 !important;
    border-bottom: 1px solid rgba(226, 207, 209, 0.86) !important;
    color: #4c4244 !important;
    font-size: 0.86rem !important;
}

.pdp-service-points span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

.pdp-service-points svg {
    width: 18px !important;
    height: 18px !important;
    fill: #ef6f87 !important;
}

.pdp-short-description {
    margin: 1.15rem 0 1.35rem !important;
    color: #55484b !important;
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
}

.variant-group {
    margin-top: 1.2rem !important;
}

.variant-label {
    display: block !important;
    margin-bottom: 0.72rem !important;
    color: #1d1719 !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

.radio-pill-list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0.82rem !important;
}

.radio-pill {
    position: relative !important;
}

.radio-pill input {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.radio-pill-content {
    min-height: 82px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.42rem !important;
    border: 1px solid rgba(226, 207, 209, 0.98) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: #2c2426 !important;
    text-align: center !important;
    transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease !important;
}

.radio-pill-content span:first-child {
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: 1rem !important;
}

.radio-pill-content span:last-child {
    color: #8d4b58 !important;
    font-size: 0.84rem !important;
}

.radio-pill input:checked + .radio-pill-content {
    border-color: #ef6f87 !important;
    background: #fff8f9 !important;
    box-shadow: inset 0 0 0 1px rgba(239, 111, 135, 0.3), 0 14px 28px rgba(239, 111, 135, 0.1) !important;
}

.radio-pill input:checked + .radio-pill-content::after {
    content: "v" !important;
    position: absolute !important;
    top: -0.45rem !important;
    right: -0.45rem !important;
    width: 1.45rem !important;
    height: 1.45rem !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: #ef6f87 !important;
    color: #fff !important;
    font-size: 0.85rem !important;
}

.qty-wrap {
    display: grid !important;
    grid-template-columns: 132px minmax(0, 1fr) !important;
    gap: 1rem !important;
    align-items: stretch !important;
    margin-top: 1.05rem !important;
}

.pdp-quantity-control {
    display: grid !important;
    grid-template-columns: 38px 1fr 38px !important;
    align-items: center !important;
    border: 1px solid rgba(226, 207, 209, 0.98) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #fff !important;
}

.pdp-quantity-button,
.pdp-quantity-control .qty-input {
    width: 100% !important;
    height: 48px !important;
    border: 0 !important;
    background: transparent !important;
    text-align: center !important;
    color: #241c1e !important;
}

.pdp-quantity-button {
    cursor: pointer !important;
    font-size: 1rem !important;
}

.pdp-add-to-bag {
    min-height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.65rem !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: linear-gradient(180deg, #f0738c 0%, #e95f7c 100%) !important;
    color: #fff !important;
    box-shadow: 0 14px 26px rgba(225, 82, 113, 0.2) !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

.pdp-add-to-bag svg {
    width: 18px !important;
    height: 18px !important;
    fill: currentColor !important;
}

.pdp-checkout-note {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.7rem 1.6rem !important;
    justify-content: center !important;
    margin: 1.25rem 0 0 !important;
    color: #67595c !important;
    font-size: 0.84rem !important;
}

.pdp-checkout-note span + span::before {
    content: "|" !important;
    margin-right: 1.6rem !important;
    color: rgba(112, 92, 96, 0.5) !important;
}

.pdp-trust-strip {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    margin: 2rem 0 1.4rem !important;
    border: 1px solid rgba(226, 207, 209, 0.96) !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, 0.86) !important;
    box-shadow: 0 18px 45px rgba(78, 52, 58, 0.055) !important;
    overflow: hidden !important;
}

.pdp-trust-strip div {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    column-gap: 0.75rem !important;
    row-gap: 0.1rem !important;
    align-items: center !important;
    padding: 1.05rem 1.25rem !important;
}

.pdp-trust-strip div + div {
    border-left: 1px solid rgba(226, 207, 209, 0.7) !important;
}

.pdp-trust-strip span {
    grid-row: span 2 !important;
    color: #ef6f87 !important;
    font-size: 1.2rem !important;
}

.pdp-trust-strip strong {
    color: #2b2325 !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
}

.pdp-trust-strip small {
    color: #6a5c5f !important;
    font-size: 0.76rem !important;
}

.pdp-detail-sections {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 0 !important;
    margin: 1.4rem 0 1.65rem !important;
    border: 1px solid rgba(226, 207, 209, 0.96) !important;
    border-radius: 10px !important;
    background: #fff !important;
    overflow: hidden !important;
    box-shadow: 0 18px 45px rgba(78, 52, 58, 0.05) !important;
}

.pdp-detail-section {
    padding: 1.7rem 2rem !important;
    border: 0 !important;
    background: transparent !important;
}

.pdp-detail-section + .pdp-detail-section {
    border-left: 1px solid rgba(226, 207, 209, 0.72) !important;
}

.pdp-detail-section h2 {
    margin: 0 0 1rem !important;
    color: #9d5060 !important;
    font-size: 0.82rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

.pdp-detail-section p,
.pdp-recipe-list {
    color: #514548 !important;
    font-size: 0.88rem !important;
    line-height: 1.65 !important;
}

.pdp-social {
    margin: 0 0 2rem !important;
    padding: 1.4rem 1.55rem 1.8rem !important;
    border: 1px solid rgba(239, 111, 135, 0.22) !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #fff 0%, #fff7f8 100%) !important;
    box-shadow: 0 16px 44px rgba(78, 52, 58, 0.05) !important;
}

.pdp-social__header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    margin-bottom: 1rem !important;
}

.pdp-social__header .eyebrow {
    display: none !important;
}

.pdp-social__header h2 {
    margin: 0 !important;
    color: #241c1e !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

.pdp-social__header > span {
    color: #8b777a !important;
    font-size: 0.78rem !important;
    text-transform: uppercase !important;
}

.product-comments-empty {
    display: grid !important;
    justify-items: center !important;
    gap: 0.48rem !important;
    margin: 0 !important;
    padding: 1.1rem 1rem 0.6rem !important;
    color: #514548 !important;
    text-align: center !important;
}

.product-comments-empty > span {
    width: 58px !important;
    height: 38px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid rgba(239, 111, 135, 0.35) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #ef6f87 !important;
    font-size: 1.55rem !important;
}

.product-comments-empty strong {
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: 1.05rem !important;
    font-weight: 400 !important;
}

.product-comments-empty p {
    margin: 0 !important;
    color: #76676a !important;
    font-size: 0.86rem !important;
}

.product-comments-empty .btn {
    margin-top: 0.55rem !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: #e95f7c !important;
    color: #fff !important;
    padding: 0.75rem 1.8rem !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

.pdp-addon-panel {
    margin-top: 1.4rem !important;
    border: 1px solid rgba(226, 207, 209, 0.9) !important;
    border-radius: 10px !important;
    background: #fff !important;
}

.pdp-wrap + .container {
    width: min(100% - 2rem, 1180px) !important;
    margin-top: 1.8rem !important;
    padding-top: 2rem !important;
    border-top: 0 !important;
}

.pdp-wrap + .container .eyebrow {
    display: none !important;
}

.pdp-wrap + .container h2 {
    text-align: left !important;
    font-size: 1rem !important;
    letter-spacing: 0 !important;
}

@media (max-width: 980px) {
    .pdp-hero {
        grid-template-columns: 1fr !important;
        gap: 1.8rem !important;
    }

    .pdp-title-row {
        grid-template-columns: 1fr !important;
    }

    .pdp-popularity-row {
        justify-content: flex-start !important;
    }

    .pdp-trust-strip,
    .pdp-detail-sections {
        grid-template-columns: 1fr 1fr !important;
    }

    .pdp-detail-section + .pdp-detail-section,
    .pdp-trust-strip div + div {
        border-left: 0 !important;
    }
}

@media (max-width: 640px) {
    .pdp-wrap {
        width: min(100% - 1rem, 1180px) !important;
        margin-top: 0.3rem !important;
    }

    .pdp-main-image-frame {
        aspect-ratio: 1 / 1.08 !important;
    }

    .pdp-title {
        max-width: 100% !important;
        font-size: 2rem !important;
    }

    .pdp-popularity-row,
    .pdp-service-points,
    .pdp-checkout-note {
        justify-content: flex-start !important;
    }

    .radio-pill-list,
    .qty-wrap,
    .pdp-trust-strip,
    .pdp-detail-sections {
        grid-template-columns: 1fr !important;
    }

    .pdp-checkout-note span + span::before {
        display: none !important;
    }

    .pdp-detail-section + .pdp-detail-section,
    .pdp-trust-strip div + div {
        border-top: 1px solid rgba(226, 207, 209, 0.7) !important;
    }

.pdp-detail-section {
        padding: 1.35rem !important;
    }
}

/* 2026-06-16 homepage luxury redesign */
body.storefront-page {
    background: #fffaf8;
    color: #2b2b2b;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(255, 250, 248, 0.94);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid #efe1e6;
    box-shadow: 0 8px 28px rgba(43, 43, 43, 0.05);
}

.site-announcement-bar {
    min-height: 32px;
    background: linear-gradient(90deg, #fff2f4 0%, #fff8f4 48%, #fff2f4 100%);
    border-bottom: 1px solid #f1d9df;
}

.site-announcement-bar__inner {
    min-height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    color: #8d5d75;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
}

.site-announcement-bar__icon {
    width: 16px;
    height: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.site-announcement-bar__icon svg,
.header-address-icon svg,
.home-trust-card__icon svg,
.home-feature-card__icon svg,
.site-footer__logo-mark svg,
.site-footer__newsletter-icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
}

.site-header .header-top {
    padding: 1.2rem 0;
    border-bottom: 1px solid #efe1e6;
    background: transparent;
}

.site-header .header-top-container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
}

.header-left,
.header-right {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.header-right {
    justify-content: flex-end;
}

.header-left {
    min-width: 0;
}

.header-address-icon {
    width: 16px;
    height: 16px;
    display: inline-flex;
    color: #2b2b2b;
    flex: 0 0 auto;
}

.header-address-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #555;
    font-size: 0.77rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.header-center {
    display: flex;
    justify-content: center;
}

.header-logo-box {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.18rem;
    text-decoration: none;
    color: #1c1c1c;
}

.header-logo-mark {
    width: 20px;
    height: 20px;
    color: #e76a8a;
}

.header-logo-text {
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(1.65rem, 2vw, 2.2rem);
    line-height: 1;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.header-logo-subtext {
    font-size: 0.67rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #777;
}

.header-account-link,
.header-right .loyalty-text {
    color: #1c1c1c;
    text-decoration: none;
    font-size: 0.78rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.header-search-form {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    margin: 0;
}

.header-search-input {
    width: 0;
    min-width: 0;
    opacity: 0;
    pointer-events: none;
    padding: 0;
    border: 0;
    background: transparent;
    transition: width 0.25s ease, opacity 0.25s ease, padding 0.25s ease;
}

.header-search-form:focus-within .header-search-input,
.header-search-form:hover .header-search-input {
    width: 180px;
    opacity: 1;
    pointer-events: auto;
    padding: 0.55rem 0.8rem;
    border: 1px solid #efd9df;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.98);
}

.icon-button {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    border: 1px solid transparent;
    color: #1c1c1c;
    background: transparent;
    transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.icon-button:hover {
    transform: translateY(-1px);
    border-color: #efd9df;
    background: rgba(255, 255, 255, 0.92);
}

.mobile-menu-toggle {
    display: none;
}

.site-header .nav-bar {
    padding: 0;
    background: rgba(255, 255, 255, 0.92);
    border-bottom: 1px solid #efe1e6;
}

.site-header .container-nav {
    max-width: 1280px;
    margin: 0 auto;
}

.site-header .nav-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.2rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-header .nav-item {
    position: relative;
}

.site-header .nav-item__top {
    display: flex;
    align-items: center;
    gap: 0.15rem;
}

.site-header .nav-item__link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 1rem 0.9rem;
    color: #333;
    text-decoration: none;
    font-size: 0.78rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.site-header .nav-item__link:hover,
.site-header .nav-item.is-hover-open > .nav-item__top .nav-item__link {
    color: #e45c7d;
}

.site-header .nav-item__toggle {
    border: 0;
    background: transparent;
    color: #555;
    padding: 0.25rem;
}

.site-header .nav-dropdown {
    position: absolute;
    left: 0;
    top: calc(100% - 0.3rem);
    min-width: 240px;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid #efd9df;
    border-radius: 16px;
    padding: 0.9rem;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    box-shadow: 0 16px 32px rgba(43, 43, 43, 0.08);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

.site-header .nav-item.is-hover-open > .nav-dropdown,
.site-header .nav-item.is-active > .nav-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.site-header .nav-dropdown a,
.site-header .nav-dropdown-group__title {
    display: block;
    text-decoration: none;
}

.site-header .nav-dropdown a {
    padding: 0.5rem 0.35rem;
    color: #555;
    font-size: 0.82rem;
}

.site-header .nav-dropdown a:hover {
    color: #e45c7d;
}

.site-header .nav-dropdown--mega {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    min-width: 680px;
}

.site-header .nav-dropdown-group__title {
    margin-bottom: 0.5rem;
    color: #1c1c1c;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.site-main {
    display: block;
}

.page-home.home-luxury {
    background:
        radial-gradient(circle at top center, rgba(255, 228, 235, 0.55) 0%, rgba(255, 250, 248, 0) 34%),
        linear-gradient(180deg, #fffaf8 0%, #ffffff 100%);
    padding-bottom: 0;
}

.page-home.home-luxury .container {
    max-width: 1280px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
}

.home-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 1.4rem;
    border-radius: 12px;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.home-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(231, 106, 138, 0.2);
}

.home-btn--primary {
    background: linear-gradient(180deg, #f07d98 0%, #e45c7d 100%);
    color: #fff;
}

.home-btn--secondary {
    background: #fff;
    color: #e45c7d;
    border: 1px solid #e8b8c6;
}

.home-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.home-section-heading--center {
    display: block;
    text-align: center;
}

.home-section-heading h2,
.home-section-heading--center h2,
.home-hero__copy h1,
.home-promo-banner__copy h2,
.home-local-delivery__copy h2,
.home-faq__intro h2,
.site-footer__brand-copy h2 {
    font-family: "Playfair Display", Georgia, serif;
    color: #1c1c1c;
}

.home-section-heading h2,
.home-section-heading--center h2 {
    margin: 0;
    font-size: clamp(1.75rem, 2.4vw, 2rem);
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.home-section-heading__link,
.home-local-delivery__copy a {
    color: #e45c7d;
    text-decoration: none;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.home-eyebrow {
    margin: 0 0 0.55rem;
    color: #e45c7d;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.home-hero {
    padding: 0 0 2rem;
}

.home-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(480px, 0.95fr);
    align-items: center;
    min-height: 560px;
    gap: 2rem;
    overflow: hidden;
}

.home-hero__copy {
    padding: 3rem 0;
    max-width: 520px;
}

.home-hero__copy h1 {
    margin: 0 0 1rem;
    font-size: clamp(2.8rem, 4vw, 4rem);
    line-height: 1.08;
    font-weight: 600;
}

.home-hero__copy p {
    margin: 0;
    color: #555;
    font-size: 1rem;
    line-height: 1.75;
}

.home-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem;
}

.home-hero__media {
    height: 100%;
    display: flex;
    align-items: stretch;
}

.home-hero__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 0;
    box-shadow: none;
}

.home-trust-strip {
    padding: 0 0 3.5rem;
}

.home-trust-strip__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.home-trust-card,
.home-feature-card {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #f1d9df;
    border-radius: 16px;
    box-shadow: 0 10px 28px rgba(43, 43, 43, 0.05);
}

.home-trust-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-height: 80px;
    padding: 1.1rem 1.2rem;
}

.home-trust-card__icon,
.home-feature-card__icon {
    width: 28px;
    height: 28px;
    color: #e76a8a;
    flex: 0 0 auto;
}

.home-trust-card h2,
.home-feature-card h3 {
    margin: 0 0 0.18rem;
    color: #1c1c1c;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.home-trust-card p,
.home-feature-card p,
.home-section-heading--center p,
.home-local-delivery__copy p,
.home-faq__intro p,
.site-footer__brand-copy p,
.site-footer__newsletter-intro p {
    margin: 0;
    color: #666;
    font-size: 0.95rem;
    line-height: 1.65;
}

.home-occasion,
.home-product-showcase,
.home-promo-banner,
.home-why-choose,
.home-reviews,
.home-local-delivery,
.home-faq {
    padding: 0 0 4rem;
}

.home-occasion__grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 24px;
}

.home-occasion-card,
.home-product-card,
.home-review-card {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #f1d9df;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(43, 43, 43, 0.05);
}

.home-occasion-card__link {
    display: block;
    text-decoration: none;
    color: inherit;
    height: 100%;
}

.home-occasion-card__image {
    aspect-ratio: 1 / 1;
    padding: 10px;
}

.home-occasion-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 12px;
}

.home-occasion-card__body {
    padding: 0 1rem 1rem;
    text-align: center;
}

.home-occasion-card__body h3 {
    margin: 0 0 0.35rem;
    color: #1c1c1c;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.home-occasion-card__body span {
    color: #e45c7d;
    font-size: 0.73rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.home-product-grid {
    display: grid;
    gap: 24px;
}

.home-product-grid--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-product-grid--five {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.home-product-card.product-card {
    padding: 0;
    background: rgba(255, 255, 255, 0.98);
}

.home-product-card .product-card-actions {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 4;
}

.home-product-card .product-card-favorite {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid #f0d7dd;
    color: #e76a8a;
    box-shadow: 0 8px 20px rgba(43, 43, 43, 0.08);
}

.home-product-card__media {
    position: relative;
    aspect-ratio: 280 / 200;
    margin: 0;
    padding: 12px;
    background: linear-gradient(180deg, #fff8f6 0%, #fdf1f1 100%);
}

.home-product-card__media > a {
    display: block;
    width: 100%;
    height: 100%;
}

.home-product-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 14px;
}

.home-product-card__body {
    padding: 0.85rem 1rem 1rem;
    text-align: center;
}

.home-product-card__title,
.home-product-card .product-title {
    min-height: 2.6em;
    margin: 0;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 1rem;
    line-height: 1.35;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.home-product-card__title a {
    color: #2b2b2b;
    text-decoration: none;
}

.home-product-card .product-title::after {
    display: none;
}

.home-product-card .product-card-stats {
    justify-content: center;
    gap: 0.8rem;
    margin: 0.75rem 0 0;
    padding-top: 0;
}

.home-product-card .product-card-stats::before,
.home-product-card .product-card-stats::after {
    display: none;
}

.home-product-card .product-card-stat {
    min-width: 0;
    padding: 0.4rem 0.7rem;
    border-radius: 999px;
    background: #fff5f6;
    color: #8d5d75;
    font-size: 0.72rem;
}

.home-product-card .product-card-stat svg {
    width: 14px;
    height: 14px;
}

.home-product-card__price,
.home-product-card .product-price {
    margin: 0.95rem 0 0.9rem;
    color: #1c1c1c;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 1.85rem;
    font-weight: 600;
}

.home-product-card .product-price::before {
    display: none;
}

.home-product-card__delivery {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    margin-bottom: 1rem;
    color: #555;
    font-size: 0.8rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.home-product-card__delivery-icon {
    width: 18px;
    height: 18px;
    color: #e76a8a;
}

.home-product-card__delivery-icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
}

.home-product-card__cta {
    display: inline-flex;
    width: 100%;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: linear-gradient(180deg, #f07d98 0%, #e45c7d 100%);
    color: #fff;
    text-decoration: none;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.home-promo-banner__panel {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.1fr);
    align-items: stretch;
    overflow: hidden;
    border: 1px solid #f1d9df;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 10px 24px rgba(43, 43, 43, 0.05);
}

.home-promo-banner__copy {
    padding: 2.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.home-promo-banner__copy h2 {
    margin: 0 0 1rem;
    font-size: clamp(2rem, 3vw, 2.8rem);
    line-height: 1.12;
    font-weight: 600;
}

.home-promo-banner__copy p {
    margin: 0 0 1.5rem;
    color: #555;
    font-size: 1rem;
    line-height: 1.75;
}

.home-promo-banner__image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.home-why-choose__layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.home-why-choose__intro {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.home-why-choose__intro h2 {
    margin: 0;
    font-size: clamp(1.8rem, 2.6vw, 2.3rem);
    line-height: 1.1;
    font-family: "Playfair Display", Georgia, serif;
}

.home-why-choose__cards {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

.home-feature-card {
    padding: 1.2rem 1rem;
    text-align: center;
}

.home-feature-card__icon {
    display: inline-flex;
    margin-bottom: 0.8rem;
}

.home-reviews__rating {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.6rem;
    color: #e45c7d;
    font-size: 1rem;
    letter-spacing: 0.18em;
}

.home-reviews__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.home-review-card {
    padding: 1.5rem 1.3rem;
    min-height: 156px;
}

.home-review-card__stars {
    margin-bottom: 0.85rem;
    color: #e45c7d;
    font-size: 0.95rem;
    letter-spacing: 0.24em;
}

.home-review-card p {
    margin: 0 0 1rem;
    color: #444;
    line-height: 1.75;
}

.home-review-card span {
    color: #777;
    font-size: 0.9rem;
}

.home-local-delivery__layout {
    display: grid;
    grid-template-columns: 520px minmax(0, 1fr);
    align-items: center;
    gap: 40px;
}

.home-local-delivery__image {
    overflow: hidden;
    border: 1px solid #f1d9df;
    border-radius: 16px;
    box-shadow: 0 10px 24px rgba(43, 43, 43, 0.05);
}

.home-local-delivery__image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.home-local-delivery__copy h2,
.home-faq__intro h2 {
    margin: 0 0 1rem;
    font-size: clamp(2rem, 3vw, 2.8rem);
    line-height: 1.12;
    font-weight: 600;
}

.home-local-delivery__copy a {
    display: inline-flex;
    margin-top: 1.2rem;
}

.home-faq__layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 32px;
    align-items: start;
    padding: 2rem;
    border: 1px solid #f1d9df;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 10px 24px rgba(43, 43, 43, 0.05);
}

.home-faq__accordion {
    border: 1px solid #efe1e6;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

.home-faq-item + .home-faq-item {
    border-top: 1px solid #efe1e6;
}

.home-faq-item__button {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.3rem 1.4rem;
    border: 0;
    background: #fff;
    color: #1c1c1c;
    text-align: left;
    font-size: 0.96rem;
    font-weight: 600;
}

.home-faq-item__symbol {
    color: #e45c7d;
    font-size: 1.4rem;
    line-height: 1;
}

.home-faq-item__panel {
    padding: 0 1.4rem 1.3rem;
}

.site-footer {
    margin-top: 0;
    padding: 0;
    text-align: left;
    background:
        radial-gradient(circle at top center, rgba(255, 231, 237, 0.48) 0%, rgba(255, 250, 248, 0) 34%),
        linear-gradient(180deg, #fffaf8 0%, #fff4f6 100%);
    border-top: 1px solid #efe1e6;
}

.site-footer__panel {
    padding: 5rem 0 2rem;
}

.site-footer__brand {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 24px;
    align-items: center;
    padding-bottom: 2rem;
    border-bottom: 1px solid #efe1e6;
}

.site-footer__brand-image {
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid #f1d9df;
}

.site-footer__brand-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.site-footer__brand-copy h2 {
    margin: 0.25rem 0 0.8rem;
    font-size: 2rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.site-footer__logo-mark {
    width: 22px;
    height: 22px;
    color: #e76a8a;
}

.site-footer__socials {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1rem;
}

.site-footer__socials a {
    width: 36px;
    height: 36px;
    border-radius: 999px;
    border: 1px solid #efd9df;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #2b2b2b;
    background: rgba(255, 255, 255, 0.94);
}

.site-footer__links {
    display: grid;
    grid-template-columns: 280px repeat(4, minmax(0, 1fr));
    gap: 24px;
    padding: 2rem 0;
}

.site-footer__column h3,
.site-footer__newsletter-intro h3 {
    margin: 0 0 1rem;
    color: #1c1c1c;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.site-footer__column a {
    display: block;
    margin-bottom: 0.75rem;
    color: #555;
    text-decoration: none;
    font-size: 0.92rem;
}

.site-footer__column a:hover,
.site-footer__legal a:hover {
    color: #e45c7d;
}

.site-footer__newsletter {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 1.5rem 0 0;
    border-top: 1px solid #efe1e6;
}

.site-footer__newsletter-intro {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.site-footer__newsletter-icon {
    width: 44px;
    height: 44px;
    color: #e76a8a;
    flex: 0 0 auto;
}

.site-footer__newsletter-form {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 0 0 auto;
}

.site-footer__newsletter-form input {
    width: 360px;
    max-width: 100%;
    min-height: 48px;
    border-radius: 12px;
    border: 1px solid #efd9df;
    background: rgba(255, 255, 255, 0.98);
    padding: 0 1rem;
}

.site-footer__newsletter-form button {
    min-width: 120px;
    min-height: 48px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(180deg, #f07d98 0%, #e45c7d 100%);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.site-footer__legal {
    border-top: 1px solid #efe1e6;
    background: rgba(255, 255, 255, 0.84);
}

.site-footer__legal-inner {
    min-height: 56px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: #777;
    font-size: 0.78rem;
}

.site-footer__legal nav {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.site-footer__legal a {
    color: #777;
    text-decoration: none;
}

@media (max-width: 1200px) {
    .home-occasion__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .home-product-grid--five {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .home-why-choose__layout,
    .home-local-delivery__layout,
    .site-footer__brand,
    .site-footer__links,
    .site-footer__newsletter {
        grid-template-columns: 1fr;
    }

    .site-footer__links {
        display: grid;
    }
}

@media (max-width: 1024px) {
    .mobile-menu-toggle {
        display: inline-flex;
    }

    .site-header .header-top-container {
        grid-template-columns: auto 1fr auto;
        gap: 0.75rem;
    }

    .header-left {
        gap: 0.55rem;
    }

    .header-address-text {
        display: none;
    }

    .header-right .header-account-link {
        display: none;
    }

    .header-search-form:hover .header-search-input,
    .header-search-form:focus-within .header-search-input {
        width: 132px;
    }

    .site-header .nav-bar {
        position: fixed;
        inset: 0 auto 0 0;
        width: min(92vw, 420px);
        height: 100dvh;
        padding: calc(env(safe-area-inset-top, 0px) + 1rem) 1rem calc(env(safe-area-inset-bottom, 0px) + 2rem);
        background: rgba(255, 250, 248, 0.98);
        border-right: 1px solid #efe1e6;
        transform: translateX(-104%);
        transition: transform 0.25s ease;
        overflow-y: auto;
        z-index: 1001;
        display: block;
        visibility: visible;
        pointer-events: auto;
    }

    .site-header .nav-bar.is-open {
        transform: translateX(0);
    }

    .site-header .nav-links {
        flex-direction: column;
        align-items: stretch;
        padding-top: 1rem;
    }

    .site-header .nav-item__top {
        justify-content: space-between;
    }

    .site-header .nav-item__link {
        width: 100%;
        padding: 0.95rem 0;
    }

    .site-header .nav-dropdown,
    .site-header .nav-dropdown--mega {
        position: static;
        min-width: 0;
        display: none;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        margin-bottom: 0.5rem;
        grid-template-columns: 1fr;
    }

    .site-header .nav-item.is-active > .nav-dropdown {
        display: block;
    }

    .site-header .nav-dropdown a {
        padding-left: 0;
    }

    .home-hero__inner,
    .home-promo-banner__panel,
    .home-faq__layout,
    .home-reviews__grid {
        grid-template-columns: 1fr;
    }

    .home-trust-strip__grid,
    .home-product-grid--four,
    .home-product-grid--five,
    .home-why-choose__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .page-home.home-luxury .container {
        padding-left: 16px;
        padding-right: 16px;
    }

    .site-announcement-bar__inner {
        font-size: 0.62rem;
        letter-spacing: 0.16em;
    }

    .site-header .header-top {
        padding: 0.7rem 0;
    }

    .header-center {
        min-width: 0;
    }

    .header-logo-box {
        max-width: 140px;
    }

    .header-logo-text {
        font-size: 0.92rem;
        letter-spacing: 0.1em;
    }

    .header-logo-subtext {
        font-size: 0.36rem;
        letter-spacing: 0.08em;
    }

    .icon-button {
        width: 34px;
        height: 34px;
    }

    .header-search-form .header-search-input,
    .header-search-form:hover .header-search-input,
    .header-search-form:focus-within .header-search-input {
        display: none;
    }

    .site-header .nav-bar {
        width: 100%;
    }

    .home-hero {
        padding-bottom: 1.5rem;
    }

    .home-hero__inner {
        min-height: 0;
        gap: 1rem;
    }

    .home-hero__copy {
        padding: 0.5rem 0 0;
        max-width: none;
    }

    .home-hero__copy h1 {
        font-size: 2.15rem;
        line-height: 1.06;
    }

    .home-hero__copy p {
        font-size: 0.95rem;
    }

    .home-hero__actions {
        flex-direction: column;
    }

    .home-hero__media img {
        min-height: 230px;
        border-radius: 16px;
    }

    .home-trust-strip__grid,
    .home-occasion__grid,
    .home-product-grid--four,
    .home-product-grid--five,
    .home-why-choose__cards,
    .home-reviews__grid {
        grid-template-columns: 1fr;
    }

    .home-occasion,
    .home-product-showcase,
    .home-promo-banner,
    .home-why-choose,
    .home-reviews,
    .home-local-delivery,
    .home-faq {
        padding-bottom: 3rem;
    }

    .home-promo-banner__copy,
    .home-faq__layout {
        padding: 1.35rem;
    }

    .home-why-choose__intro h2,
    .home-local-delivery__copy h2,
    .home-faq__intro h2,
    .home-promo-banner__copy h2 {
        font-size: 2rem;
    }

    .home-local-delivery__layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .site-footer__panel {
        padding: 3rem 0 1.5rem;
    }

    .site-footer__brand {
        grid-template-columns: 1fr;
    }

    .site-footer__newsletter {
        align-items: stretch;
    }

    .site-footer__newsletter-form {
        flex-direction: column;
        align-items: stretch;
    }

    .site-footer__newsletter-form input,
    .site-footer__newsletter-form button {
        width: 100%;
    }

    .site-footer__legal-inner,
    .site-footer__legal nav {
        flex-direction: column;
        justify-content: center;
        text-align: center;
        padding: 0.8rem 0;
    }
}

/* 2026-06-16 restore previous top header feel + previous hero image source behavior */
.site-announcement-bar {
    display: none !important;
}

.promo-bar {
    display: block;
    background: #fdf0f2;
    border-bottom: 1px solid #ead7dd;
    color: #8d5d75;
}

.promo-bar__inner {
    padding: 0.55rem 0;
    text-align: center;
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.site-header {
    background: linear-gradient(180deg, rgba(255,253,253,0.98) 0%, rgba(255,250,247,0.96) 100%) !important;
    border-bottom: 1px solid #efe1e6 !important;
    box-shadow: 0 10px 28px rgba(190, 164, 111, 0.05) !important;
}

.site-header .header-top {
    padding: 2rem 0 !important;
    border-bottom: 1px solid #efe1e6 !important;
}

.site-header .header-top-container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative !important;
    gap: 0 !important;
}

.header-left {
    width: 33% !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    color: #555 !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
}

.header-left span {
    display: inline !important;
}

.header-center {
    width: 34% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.header-logo-box {
    display: inline-block !important;
    border: 2px solid #1c1c1c !important;
    padding: 0.75rem 1.75rem !important;
    margin-bottom: 0.5rem !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(246,234,236,0.45) 72%, rgba(223,209,177,0.18) 100%) !important;
    box-shadow: 0 8px 18px rgba(190,164,111,0.06) !important;
    max-width: none !important;
}

.header-logo-mark {
    display: none !important;
}

.header-logo-text,
.logo-text {
    font-family: "Playfair Display", Georgia, serif !important;
    font-size: 1.5rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.25em !important;
    color: #1c1c1c !important;
    display: block !important;
    text-transform: uppercase !important;
}

.header-logo-subtext,
.logo-subtext {
    font-family: "Playfair Display", Georgia, serif !important;
    font-size: 0.65rem !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: #777 !important;
}

.header-right {
    width: 33% !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 1.5rem !important;
}

.header-account-link,
.loyalty-text {
    font-size: 0.75rem !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
}

.icon-button {
    width: 1.75rem !important;
    height: 1.75rem !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.icon-button:hover {
    transform: none !important;
    opacity: 0.6;
}

.site-header .nav-bar {
    padding: 1.25rem 0 !important;
    background: #fff !important;
    border-bottom: 1px solid #efe1e6 !important;
}

.site-header .nav-links {
    gap: 2.5rem !important;
}

.site-header .nav-item__link {
    padding: 0 0 0.5rem !important;
    font-size: 0.8rem !important;
    letter-spacing: 0.15em !important;
}

.home-hero {
    padding-top: 0 !important;
}

.home-hero__inner {
    min-height: 560px !important;
    gap: 0 !important;
}

.home-hero__copy {
    padding: 4rem 3rem 4rem 3rem !important;
    max-width: none !important;
}

.home-hero__media img {
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 0 !important;
    min-height: 560px !important;
}

@media (max-width: 1024px) {
    .site-header .header-top {
        padding: 0.95rem 0 1rem !important;
    }

    .site-header .header-top-container {
        display: grid !important;
        grid-template-columns: auto 1fr auto !important;
        gap: 0.75rem !important;
    }

    .header-left,
    .header-center,
    .header-right {
        width: auto !important;
    }

    .header-left span {
        display: none !important;
    }

    .header-logo-box {
        padding: 0.55rem 0.8rem !important;
        margin-bottom: 0.35rem !important;
    }

    .header-logo-text,
    .logo-text {
        font-size: 0.95rem !important;
        letter-spacing: 0.18em !important;
    }

    .header-logo-subtext,
    .logo-subtext {
        font-size: 0.55rem !important;
        letter-spacing: 0.14em !important;
    }

    .header-right {
        gap: 0.65rem !important;
    }
}

@media (max-width: 760px) {
    .promo-bar__inner {
        font-size: 0.62rem !important;
        letter-spacing: 0.1em !important;
    }

    .header-logo-text,
    .logo-text {
        font-size: 0.82rem !important;
        letter-spacing: 0.12em !important;
    }

    .header-logo-subtext,
    .logo-subtext {
        font-size: 0.48rem !important;
        letter-spacing: 0.1em !important;
    }

    .home-hero__inner {
        min-height: 0 !important;
        gap: 0.75rem !important;
    }

    .home-hero__copy {
        padding: 1rem 1rem 0 !important;
    }

    .home-hero__media img {
        min-height: 280px !important;
        border-radius: 14px !important;
    }
}

/* 2026-06-16 homepage UI-spec precision pass */
:root {
    --vr-rose: #e76a8a;
    --vr-rose-hover: #d95578;
    --vr-bg: #fff9fa;
    --vr-surface: #ffffff;
    --vr-text: #1c1c1c;
    --vr-muted: #555555;
    --vr-border: #f1d9df;
}

.home-luxury {
    background: var(--vr-bg) !important;
    color: var(--vr-text) !important;
}

.home-luxury .container,
.site-footer .container {
    max-width: 1280px !important;
    width: min(100% - 48px, 1280px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.home-luxury h1,
.home-luxury h2,
.home-luxury h3,
.site-footer h2,
.site-footer h3 {
    font-family: "Playfair Display", Georgia, serif !important;
    color: var(--vr-text) !important;
    letter-spacing: 0 !important;
}

.home-luxury p,
.home-luxury a,
.home-luxury span,
.site-footer p,
.site-footer a,
.site-footer span,
.site-footer input,
.site-footer button {
    font-family: "Montserrat", Arial, sans-serif !important;
}

.home-hero {
    background: var(--vr-bg) !important;
    padding-bottom: 32px !important;
}

.home-hero__inner {
    grid-template-columns: minmax(0, 45%) minmax(0, 55%) !important;
    min-height: 540px !important;
    max-width: 1280px !important;
    overflow: hidden !important;
    background: linear-gradient(90deg, #fff9fa 0%, #fff4f6 46%, #fff 100%) !important;
}

.home-hero__copy {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 80px 56px 80px 80px !important;
}

.home-hero__copy h1 {
    max-width: 520px !important;
    margin: 0 0 20px !important;
    font-size: 56px !important;
    line-height: 64px !important;
    font-weight: 600 !important;
}

.home-hero__copy p {
    max-width: 470px !important;
    font-size: 16px !important;
    line-height: 24px !important;
    color: var(--vr-muted) !important;
}

.home-hero__actions {
    gap: 16px !important;
    margin-top: 32px !important;
}

.home-btn,
.home-product-card__cta,
.site-footer__newsletter-form button {
    min-height: 44px !important;
    border-radius: 8px !important;
    background: var(--vr-rose) !important;
    border-color: var(--vr-rose) !important;
    color: #fff !important;
    box-shadow: none !important;
}

.home-btn {
    width: 180px !important;
    height: 44px !important;
    padding: 0 18px !important;
}

.home-btn--secondary {
    background: transparent !important;
    color: var(--vr-rose) !important;
    border: 1px solid var(--vr-rose) !important;
}

.home-btn:hover,
.home-product-card__cta:hover,
.site-footer__newsletter-form button:hover {
    background: var(--vr-rose-hover) !important;
    border-color: var(--vr-rose-hover) !important;
    color: #fff !important;
}

.home-hero__media {
    min-height: 540px !important;
}

.home-hero__media img {
    min-height: 540px !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 58% center !important;
}

.home-trust-strip {
    padding: 0 0 56px !important;
}

.home-trust-strip__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

.home-trust-card {
    min-height: 80px !important;
    padding: 18px 24px !important;
    border: 1px solid var(--vr-border) !important;
    border-radius: 12px !important;
    background: var(--vr-surface) !important;
}

.home-trust-card__icon,
.home-feature-card__icon {
    width: 32px !important;
    height: 32px !important;
    color: var(--vr-rose) !important;
}

.home-trust-card h2,
.home-feature-card h3 {
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 16px !important;
    letter-spacing: 0.12em !important;
}

.home-trust-card p,
.home-feature-card p {
    font-size: 12px !important;
    line-height: 18px !important;
}

.home-occasion,
.home-product-showcase,
.home-promo-banner,
.home-why-choose,
.home-reviews,
.home-local-delivery,
.home-faq {
    padding-top: 64px !important;
    padding-bottom: 48px !important;
}

.home-section-heading {
    margin-bottom: 32px !important;
}

.home-section-heading h2 {
    font-size: 32px !important;
    line-height: 40px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
}

.home-section-heading__link {
    color: var(--vr-rose) !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
}

.home-occasion__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

.home-occasion-card {
    min-height: 232px !important;
    border: 1px solid var(--vr-border) !important;
    border-radius: 12px !important;
    background: var(--vr-surface) !important;
}

.home-occasion-card__image {
    height: 150px !important;
    aspect-ratio: auto !important;
    padding: 10px !important;
}

.home-occasion-card__image img {
    border-radius: 8px !important;
    object-fit: cover !important;
}

.home-occasion-card__body {
    padding: 12px 16px 18px !important;
}

.home-product-grid,
.home-product-grid--four,
.home-product-grid--five {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

.home-product-card.product-card {
    min-height: 436px !important;
    padding: 16px !important;
    border: 1px solid var(--vr-border) !important;
    border-radius: 16px !important;
    background: var(--vr-surface) !important;
    box-shadow: 0 10px 24px rgba(43, 43, 43, 0.06) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
}

.home-product-card__media {
    height: 200px !important;
    aspect-ratio: auto !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #fff7f8 !important;
}

.home-product-card__media img {
    object-fit: cover !important;
    object-position: center !important;
}

.home-product-card .product-card-actions {
    top: 12px !important;
    right: 12px !important;
}

.home-product-card .product-card-favorite {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: var(--vr-rose) !important;
    box-shadow: 0 4px 14px rgba(43, 43, 43, 0.14) !important;
}

.home-product-card__body {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 16px 0 0 !important;
}

.home-product-card__title,
.home-product-card .product-title {
    min-height: 44px !important;
    margin: 0 0 12px !important;
    font-size: 16px !important;
    line-height: 22px !important;
    font-weight: 600 !important;
    text-align: center !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.home-product-card__meta.product-card-stats {
    display: flex !important;
    justify-content: center !important;
    gap: 12px !important;
    min-height: 28px !important;
    margin: 0 0 16px !important;
}

.home-product-card .product-card-stat {
    min-height: 28px !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    background: #fdecef !important;
    color: var(--vr-muted) !important;
    font-size: 12px !important;
    line-height: 16px !important;
}

.home-product-card .product-card-stat svg {
    width: 14px !important;
    height: 14px !important;
    color: var(--vr-rose) !important;
}

.home-product-card__price,
.home-product-card.product-card .product-price {
    margin: auto 0 16px !important;
    color: var(--vr-text) !important;
    font-family: "Playfair Display", Georgia, serif !important;
    font-size: 20px !important;
    line-height: 24px !important;
    font-weight: 600 !important;
    text-align: center !important;
}

.home-product-card__cta {
    width: 100% !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.home-product-card__delivery {
    display: none !important;
}

.home-promo-banner__panel {
    min-height: 285px !important;
    max-width: 1280px !important;
    grid-template-columns: minmax(0, 48%) minmax(0, 52%) !important;
    border: 1px solid var(--vr-border) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    background: var(--vr-surface) !important;
}

.home-promo-banner__copy {
    padding: 48px 56px !important;
}

.home-promo-banner__copy h2 {
    font-size: 32px !important;
    line-height: 38px !important;
    font-weight: 600 !important;
}

.home-promo-banner__image img {
    height: 100% !important;
    object-fit: cover !important;
    object-position: 62% center !important;
}

.home-why-choose__layout {
    grid-template-columns: minmax(250px, 0.8fr) minmax(0, 2.2fr) !important;
    gap: 32px !important;
    align-items: stretch !important;
}

.home-why-choose__intro {
    padding: 24px 0 !important;
}

.home-why-choose__cards {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

.home-feature-card {
    min-height: 126px !important;
    padding: 20px 24px !important;
    border: 1px solid var(--vr-border) !important;
    border-radius: 12px !important;
    background: var(--vr-surface) !important;
}

.home-reviews__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

.home-review-card {
    min-height: 156px !important;
    padding: 24px !important;
    border: 1px solid var(--vr-border) !important;
    border-radius: 14px !important;
    background: var(--vr-surface) !important;
}

.home-review-card__stars,
.home-reviews__rating span {
    color: var(--vr-rose) !important;
}

.home-review-card p {
    font-size: 14px !important;
    line-height: 22px !important;
}

.home-local-delivery__layout {
    grid-template-columns: minmax(0, 520px) minmax(0, 1fr) !important;
    gap: 64px !important;
    align-items: center !important;
}

.home-local-delivery__image {
    border: 1px solid var(--vr-border) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 28px rgba(43, 43, 43, 0.06) !important;
}

.home-local-delivery__image img {
    min-height: 220px !important;
    object-fit: cover !important;
}

.home-local-delivery__copy {
    max-width: 620px !important;
}

.home-local-delivery__copy h2 {
    font-size: 32px !important;
    line-height: 38px !important;
    font-weight: 600 !important;
}

.home-faq__layout {
    grid-template-columns: minmax(0, 32%) minmax(0, 68%) !important;
    gap: 40px !important;
    padding: 48px 56px !important;
    border: 1px solid var(--vr-border) !important;
    border-radius: 16px !important;
    background: var(--vr-surface) !important;
}

.home-faq__intro h2 {
    font-size: 32px !important;
    line-height: 38px !important;
}

.home-faq-item__button {
    min-height: 68px !important;
    padding: 18px 24px !important;
}

.home-faq-item__panel {
    padding: 0 24px 20px !important;
}

.site-footer {
    background: var(--vr-bg) !important;
    border-top: 1px solid var(--vr-border) !important;
    margin-top: 64px !important;
    padding: 0 !important;
    text-align: left !important;
}

.site-footer__panel {
    padding: 72px 0 32px !important;
}

.site-footer__brand {
    display: block !important;
    max-width: 280px !important;
    margin: 0 auto 32px !important;
}

.site-footer__brand-image {
    display: none !important;
}

.site-footer__brand-copy {
    text-align: center !important;
}

.site-footer__logo-mark {
    color: var(--vr-rose) !important;
}

.site-footer__links {
    grid-template-columns: repeat(4, minmax(160px, 1fr)) !important;
    gap: 24px !important;
}

.site-footer__newsletter {
    margin-top: 40px !important;
    padding: 24px 0 0 !important;
    border-top: 1px solid var(--vr-border) !important;
}

.site-footer__socials {
    justify-content: center !important;
}

.site-footer__socials a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.site-footer__socials a svg {
    width: 16px !important;
    height: 16px !important;
    display: block !important;
    fill: currentColor !important;
}

.site-footer__newsletter-form input,
.site-footer__newsletter-form button {
    min-height: 48px !important;
}

.site-footer__legal {
    background: var(--vr-surface) !important;
}

.site-footer__legal-inner {
    min-height: 56px !important;
}

@media (max-width: 1180px) {
    .home-luxury .container,
    .site-footer .container {
        width: min(100% - 48px, 1280px) !important;
    }

    .home-occasion__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .home-product-grid,
    .home-product-grid--four,
    .home-product-grid--five,
    .home-why-choose__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .site-footer__links {
        grid-template-columns: repeat(2, minmax(180px, 1fr)) !important;
    }
}

@media (max-width: 900px) {
    .home-hero__inner,
    .home-promo-banner__panel,
    .home-why-choose__layout,
    .home-local-delivery__layout,
    .home-faq__layout {
        grid-template-columns: 1fr !important;
    }

    .home-hero__copy {
        padding: 40px 24px 24px !important;
    }

    .home-hero__copy h1 {
        font-size: 42px !important;
        line-height: 48px !important;
    }

    .home-hero__media,
    .home-hero__media img {
        min-height: 320px !important;
    }

    .home-trust-strip__grid,
    .home-reviews__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .home-faq__layout {
        padding: 40px 24px !important;
    }
}

@media (max-width: 640px) {
    .home-luxury .container,
    .site-footer .container {
        width: min(100% - 32px, 1280px) !important;
    }

    .home-hero__copy h1 {
        font-size: 34px !important;
        line-height: 40px !important;
    }

    .home-hero__actions {
        flex-direction: column !important;
    }

    .home-btn {
        width: 100% !important;
    }

    .home-trust-strip__grid,
    .home-occasion__grid,
    .home-product-grid,
    .home-product-grid--four,
    .home-product-grid--five,
    .home-why-choose__cards,
    .home-reviews__grid,
    .site-footer__links {
        grid-template-columns: 1fr !important;
    }

    .home-occasion,
    .home-product-showcase,
    .home-promo-banner,
    .home-why-choose,
    .home-reviews,
    .home-local-delivery,
    .home-faq {
        padding-top: 48px !important;
        padding-bottom: 36px !important;
    }

    .home-section-heading h2,
    .home-promo-banner__copy h2,
    .home-local-delivery__copy h2,
    .home-faq__intro h2 {
        font-size: 28px !important;
        line-height: 34px !important;
    }

    .home-promo-banner__copy {
        padding: 36px 24px !important;
    }

    .home-product-card.product-card {
        max-width: 360px !important;
        margin: 0 auto !important;
        width: 100% !important;
    }

    .site-footer__panel {
        padding-top: 56px !important;
    }

    .site-footer__newsletter,
    .site-footer__newsletter-form {
        display: grid !important;
        gap: 16px !important;
    }
}

/* 2026-06-18 full-width hero image restore */
.home-luxury .home-hero {
    position: relative !important;
    min-height: 560px !important;
    padding: 0 !important;
    background-image:
        linear-gradient(90deg, rgba(255, 249, 250, 0.94) 0%, rgba(255, 249, 250, 0.86) 33%, rgba(255, 249, 250, 0.38) 58%, rgba(255, 249, 250, 0.06) 100%),
        var(--home-hero-image) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

.home-luxury .home-hero__inner {
    display: flex !important;
    align-items: center !important;
    min-height: 560px !important;
    max-width: 1280px !important;
    overflow: visible !important;
    background: transparent !important;
}

.home-luxury .home-hero__copy {
    width: min(52%, 590px) !important;
    max-width: 590px !important;
    padding: 80px 0 !important;
    position: relative !important;
    z-index: 1 !important;
}

.home-luxury .home-hero__media {
    display: none !important;
}

@media (max-width: 900px) {
    .home-luxury .home-hero {
        min-height: 620px !important;
        background-image:
            linear-gradient(180deg, rgba(255, 249, 250, 0.96) 0%, rgba(255, 249, 250, 0.84) 44%, rgba(255, 249, 250, 0.38) 100%),
            var(--home-hero-image) !important;
        background-position: 62% center !important;
    }

    .home-luxury .home-hero__inner {
        min-height: 620px !important;
        align-items: flex-start !important;
    }

    .home-luxury .home-hero__copy {
        width: 100% !important;
        max-width: 540px !important;
        padding: 48px 0 280px !important;
    }
}

@media (max-width: 640px) {
    .home-luxury .home-hero {
        min-height: 600px !important;
        background-position: 63% bottom !important;
    }

    .home-luxury .home-hero__inner {
        min-height: 600px !important;
    }

    .home-luxury .home-hero__copy {
        padding: 38px 0 260px !important;
    }
}

/* 2026-06-18 homepage UX polish pass */
.home-luxury {
    --vr-rose: #e45c7a;
    --vr-rose-dark: #c9435e;
    --vr-rose-soft: #fdebf0;
    --vr-border: #efd5db;
    --vr-shadow-soft: 0 14px 34px rgba(43, 34, 37, 0.08);
    --vr-shadow-card: 0 18px 40px rgba(43, 34, 37, 0.10);
}

.home-luxury .container {
    width: min(100% - 64px, 1280px) !important;
}

.home-luxury .home-hero {
    min-height: 590px !important;
    box-shadow: inset 0 -1px 0 rgba(232, 197, 204, 0.65) !important;
}

.home-luxury .home-hero__inner {
    min-height: 590px !important;
}

.home-luxury .home-hero__copy {
    width: min(50%, 620px) !important;
    max-width: 620px !important;
    padding: 96px 0 92px !important;
}

.home-luxury .home-hero__copy h1 {
    max-width: 620px !important;
    margin-bottom: 18px !important;
    font-size: clamp(3.6rem, 4.8vw, 5.25rem) !important;
    line-height: 0.98 !important;
    letter-spacing: 0 !important;
}

.home-luxury .home-hero__copy p {
    max-width: 520px !important;
    font-size: 1.12rem !important;
    line-height: 1.75 !important;
    color: #443d3f !important;
}

.home-luxury .home-hero__actions {
    gap: 18px !important;
    margin-top: 30px !important;
}

.home-luxury .home-btn {
    min-height: 50px !important;
    min-width: 190px !important;
    padding: 0 26px !important;
    border-radius: 10px !important;
    font-size: 0.82rem !important;
    letter-spacing: 0.12em !important;
    box-shadow: 0 10px 24px rgba(228, 92, 122, 0.18) !important;
}

.home-luxury .home-btn--primary {
    background: linear-gradient(135deg, #ee718d 0%, var(--vr-rose) 100%) !important;
    border-color: var(--vr-rose) !important;
}

.home-luxury .home-trust-strip {
    padding: 34px 0 52px !important;
}

.home-luxury .home-trust-strip__grid {
    gap: 20px !important;
}

.home-luxury .home-trust-card {
    min-height: 92px !important;
    padding: 20px 24px !important;
    border-color: var(--vr-border) !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 26px rgba(43, 34, 37, 0.05) !important;
}

.home-luxury .home-trust-card__icon {
    width: 34px !important;
    height: 34px !important;
    color: var(--vr-rose) !important;
}

.home-luxury .home-trust-card h2 {
    font-size: 0.8rem !important;
    letter-spacing: 0.11em !important;
}

.home-luxury .home-trust-card p {
    font-size: 0.86rem !important;
    line-height: 1.45 !important;
}

.home-luxury .home-occasion,
.home-luxury .home-product-showcase,
.home-luxury .home-promo-banner,
.home-luxury .home-why-choose,
.home-luxury .home-reviews,
.home-luxury .home-local-delivery,
.home-luxury .home-faq {
    padding-top: 58px !important;
    padding-bottom: 58px !important;
}

.home-luxury .home-section-heading {
    margin-bottom: 30px !important;
    align-items: center !important;
}

.home-luxury .home-section-heading h2 {
    font-size: clamp(2rem, 2.8vw, 2.9rem) !important;
    line-height: 1.08 !important;
    letter-spacing: 0.14em !important;
}

.home-luxury .home-section-heading__link {
    font-size: 0.82rem !important;
    letter-spacing: 0.13em !important;
    color: var(--vr-rose) !important;
}

.home-luxury .home-occasion__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 22px !important;
}

.home-luxury .home-occasion-card {
    border-radius: 14px !important;
    box-shadow: 0 14px 28px rgba(43, 34, 37, 0.07) !important;
}

.home-luxury .home-occasion-card__link {
    padding: 12px 12px 16px !important;
}

.home-luxury .home-occasion-card__image {
    aspect-ratio: 1 / 0.86 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}

.home-luxury .home-occasion-card__image img {
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
}

.home-luxury .home-occasion-card__body h3 {
    margin-top: 16px !important;
    font-size: 0.92rem !important;
    letter-spacing: 0.12em !important;
}

.home-luxury .home-occasion-card__body span {
    margin-top: 9px !important;
    font-size: 0.72rem !important;
    color: var(--vr-rose) !important;
}

.home-luxury .home-product-grid {
    gap: 28px !important;
}

.home-luxury .home-product-grid--four {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.home-luxury .home-product-card.product-card {
    min-height: 482px !important;
    border-color: var(--vr-border) !important;
    border-radius: 18px !important;
    box-shadow: var(--vr-shadow-soft) !important;
    overflow: hidden !important;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease !important;
}

.home-luxury .home-product-card.product-card:hover {
    transform: translateY(-3px) !important;
    border-color: #e8bfc9 !important;
    box-shadow: var(--vr-shadow-card) !important;
}

.home-luxury .home-product-card__media {
    aspect-ratio: 1.18 / 1 !important;
    margin: 14px 14px 0 !important;
    border-radius: 14px !important;
    background: #fff !important;
}

.home-luxury .home-product-card__media img {
    border-radius: 14px !important;
}

.home-luxury .home-product-card .product-card-favorite {
    width: 42px !important;
    height: 42px !important;
    top: 12px !important;
    right: 12px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 8px 20px rgba(43, 34, 37, 0.13) !important;
}

.home-luxury .home-product-card .product-card-favorite svg {
    width: 19px !important;
    height: 19px !important;
}

.home-luxury .home-product-card__body {
    display: flex !important;
    min-height: 222px !important;
    padding: 18px 18px 18px !important;
    flex-direction: column !important;
}

.home-luxury .home-product-card__title,
.home-luxury .home-product-card .product-title {
    min-height: 48px !important;
    font-size: 1.02rem !important;
    line-height: 1.28 !important;
    letter-spacing: 0.055em !important;
}

.home-luxury .home-product-card .product-card-stats {
    gap: 10px !important;
    margin: 14px 0 0 !important;
    min-height: 30px !important;
}

.home-luxury .home-product-card .product-card-stat {
    min-height: 30px !important;
    padding: 0 11px !important;
    font-size: 0.77rem !important;
    gap: 6px !important;
    color: #4f494b !important;
    background: var(--vr-rose-soft) !important;
}

.home-luxury .home-product-card .product-card-stat svg {
    width: 15px !important;
    height: 15px !important;
    fill: var(--vr-rose) !important;
}

.home-luxury .home-product-card__price,
.home-luxury .home-product-card .product-price {
    margin: 22px 0 16px !important;
    font-size: 1.55rem !important;
    line-height: 1.1 !important;
    color: #1c1c1c !important;
}

.home-luxury .home-product-card__cta {
    margin-top: auto !important;
    min-height: 46px !important;
    border-radius: 9px !important;
    font-size: 0.82rem !important;
    letter-spacing: 0.15em !important;
    background: linear-gradient(135deg, #ee718d 0%, var(--vr-rose) 100%) !important;
}

.home-luxury .home-promo-banner__panel {
    min-height: 330px !important;
    border-radius: 18px !important;
    box-shadow: var(--vr-shadow-soft) !important;
    overflow: hidden !important;
}

.home-luxury .home-promo-banner__copy {
    padding: 56px 60px !important;
}

.home-luxury .home-promo-banner__copy h2 {
    max-width: 480px !important;
    font-size: clamp(2.1rem, 3vw, 3.35rem) !important;
    line-height: 1.08 !important;
}

.home-luxury .home-promo-banner__copy p:not(.home-eyebrow) {
    max-width: 470px !important;
    font-size: 1.02rem !important;
    line-height: 1.75 !important;
}

.home-luxury .home-promo-banner__image img {
    height: 100% !important;
    min-height: 330px !important;
    object-fit: cover !important;
}

.home-luxury .home-why-choose__layout {
    grid-template-columns: minmax(260px, 0.9fr) minmax(0, 2.4fr) !important;
    gap: 34px !important;
    align-items: stretch !important;
}

.home-luxury .home-why-choose__intro {
    display: flex !important;
    min-height: 230px !important;
    padding: 0 12px 0 0 !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.home-luxury .home-why-choose__intro h2 {
    font-size: clamp(2rem, 2.4vw, 2.8rem) !important;
    line-height: 1.08 !important;
}

.home-luxury .home-why-choose__intro p:not(.home-eyebrow) {
    font-size: 1rem !important;
    line-height: 1.65 !important;
}

.home-luxury .home-why-choose__cards {
    gap: 20px !important;
}

.home-luxury .home-feature-card {
    min-height: 230px !important;
    padding: 30px 22px !important;
    justify-content: center !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 28px rgba(43, 34, 37, 0.06) !important;
}

.home-luxury .home-feature-card__icon {
    width: 36px !important;
    height: 36px !important;
    color: var(--vr-rose) !important;
}

.home-luxury .home-feature-card h3 {
    margin-top: 18px !important;
    font-size: 0.82rem !important;
    letter-spacing: 0.12em !important;
}

.home-luxury .home-feature-card p {
    margin-top: 10px !important;
    font-size: 0.86rem !important;
    line-height: 1.5 !important;
}

.home-luxury .home-reviews__rating {
    margin-top: 12px !important;
    font-size: 1rem !important;
}

.home-luxury .home-reviews__grid {
    gap: 26px !important;
}

.home-luxury .home-review-card {
    min-height: 176px !important;
    padding: 30px 34px !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 28px rgba(43, 34, 37, 0.06) !important;
}

.home-luxury .home-review-card__stars {
    font-size: 1rem !important;
    letter-spacing: 0.15em !important;
}

.home-luxury .home-review-card p {
    margin-top: 14px !important;
    font-size: 0.98rem !important;
    line-height: 1.65 !important;
}

.home-luxury .home-review-card span {
    margin-top: 14px !important;
    font-size: 0.88rem !important;
}

.home-luxury .home-local-delivery__layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr) !important;
    gap: 52px !important;
    align-items: center !important;
}

.home-luxury .home-local-delivery__image {
    border-radius: 18px !important;
    min-height: 280px !important;
    box-shadow: var(--vr-shadow-soft) !important;
}

.home-luxury .home-local-delivery__image img {
    min-height: 280px !important;
    object-fit: cover !important;
}

.home-luxury .home-local-delivery__copy h2 {
    max-width: 650px !important;
    font-size: clamp(2.05rem, 3vw, 3.2rem) !important;
    line-height: 1.08 !important;
}

.home-luxury .home-local-delivery__copy p:not(.home-eyebrow) {
    max-width: 680px !important;
    font-size: 1.03rem !important;
    line-height: 1.8 !important;
}

.home-luxury .home-faq__layout {
    grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.45fr) !important;
    gap: 52px !important;
    padding: 54px 56px !important;
    border-radius: 18px !important;
    box-shadow: var(--vr-shadow-soft) !important;
}

.home-luxury .home-faq__intro h2 {
    font-size: clamp(2rem, 2.7vw, 3rem) !important;
}

.home-luxury .home-faq__intro p:not(.home-eyebrow) {
    font-size: 1rem !important;
    line-height: 1.75 !important;
}

.home-luxury .home-faq-item__button {
    min-height: 70px !important;
    padding: 0 22px !important;
    font-size: 0.98rem !important;
}

.home-luxury .home-faq-item__panel p {
    padding: 0 22px 22px !important;
    font-size: 0.95rem !important;
    line-height: 1.7 !important;
}

.site-footer {
    margin-top: 40px !important;
}

.site-footer__panel {
    padding-top: 76px !important;
    border-radius: 18px !important;
}

.site-footer__brand {
    margin: 0 auto 46px !important;
    text-align: center !important;
}

.site-footer__brand-copy h2 {
    font-size: 2.1rem !important;
}

.site-footer__brand-copy p {
    font-size: 0.98rem !important;
    line-height: 1.75 !important;
}

.site-footer__socials {
    justify-content: center !important;
    gap: 12px !important;
}

.site-footer__socials a {
    width: 38px !important;
    height: 38px !important;
}

.site-footer__socials a svg {
    width: 17px !important;
    height: 17px !important;
}

.site-footer__links {
    gap: 42px !important;
}

.site-footer__column h3 {
    font-size: 0.86rem !important;
    letter-spacing: 0.11em !important;
}

.site-footer__column a,
.site-footer__column li,
.site-footer__column p {
    font-size: 0.92rem !important;
    line-height: 1.7 !important;
}

.site-footer__newsletter {
    margin-top: 44px !important;
    padding: 24px 28px !important;
    border-radius: 14px !important;
}

@media (max-width: 1180px) {
    .home-luxury .home-occasion__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .home-luxury .home-product-grid--four {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .home-luxury .home-product-card.product-card {
        max-width: 380px !important;
        margin: 0 auto !important;
        width: 100% !important;
    }
}

@media (max-width: 900px) {
    .home-luxury .container {
        width: min(100% - 36px, 1280px) !important;
    }

    .home-luxury .home-hero {
        min-height: 640px !important;
    }

    .home-luxury .home-hero__inner {
        min-height: 640px !important;
    }

    .home-luxury .home-hero__copy {
        max-width: 560px !important;
        padding: 56px 0 300px !important;
    }

    .home-luxury .home-hero__copy h1 {
        font-size: clamp(2.8rem, 10vw, 4rem) !important;
        line-height: 1.02 !important;
    }

    .home-luxury .home-trust-strip__grid,
    .home-luxury .home-why-choose__layout,
    .home-luxury .home-local-delivery__layout,
    .home-luxury .home-faq__layout,
    .home-luxury .home-promo-banner__panel {
        grid-template-columns: 1fr !important;
    }

    .home-luxury .home-why-choose__intro {
        min-height: 0 !important;
        text-align: center !important;
        align-items: center !important;
        padding: 0 !important;
    }

    .home-luxury .home-faq__layout {
        padding: 38px 24px !important;
    }
}

@media (max-width: 640px) {
    .home-luxury .container {
        width: min(100% - 28px, 1280px) !important;
    }

    .home-luxury .home-hero {
        min-height: 620px !important;
    }

    .home-luxury .home-hero__inner {
        min-height: 620px !important;
    }

    .home-luxury .home-hero__copy {
        padding: 44px 0 286px !important;
    }

    .home-luxury .home-hero__actions {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .home-luxury .home-btn {
        width: 100% !important;
        min-width: 0 !important;
    }

    .home-luxury .home-occasion,
    .home-luxury .home-product-showcase,
    .home-luxury .home-promo-banner,
    .home-luxury .home-why-choose,
    .home-luxury .home-reviews,
    .home-luxury .home-local-delivery,
    .home-luxury .home-faq {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }

    .home-luxury .home-section-heading {
        gap: 16px !important;
        align-items: flex-start !important;
    }

    .home-luxury .home-section-heading h2 {
        font-size: 2rem !important;
    }

    .home-luxury .home-occasion__grid,
    .home-luxury .home-product-grid--four,
    .home-luxury .home-reviews__grid,
    .home-luxury .home-why-choose__cards {
        grid-template-columns: 1fr !important;
    }

    .home-luxury .home-product-card.product-card {
        max-width: 390px !important;
    }

    .home-luxury .home-promo-banner__copy {
        padding: 38px 24px !important;
    }

    .home-luxury .home-faq-item__button {
        min-height: 64px !important;
        font-size: 0.92rem !important;
    }

    .site-footer__panel {
        padding-top: 54px !important;
    }
}

/* 2026-06-18 homepage second-pass card and mobile polish */
.home-luxury .home-product-card.product-card {
    min-height: 468px !important;
}

.home-luxury .home-product-card__media {
    aspect-ratio: 1.22 / 1 !important;
    margin: 12px 12px 0 !important;
}

.home-luxury .home-product-card__body {
    min-height: 210px !important;
    padding: 16px 18px 18px !important;
}

.home-luxury .home-product-card__title,
.home-luxury .home-product-card .product-title {
    min-height: 44px !important;
    font-size: 1rem !important;
}

.home-luxury .home-product-card .product-card-stats {
    margin-top: 12px !important;
}

.home-luxury .home-product-card__price,
.home-luxury .home-product-card .product-price {
    margin-top: 18px !important;
    margin-bottom: 14px !important;
}

.home-luxury .home-product-card__cta {
    min-height: 44px !important;
}

@media (max-width: 900px) {
    .home-luxury .home-hero {
        background-image:
            linear-gradient(180deg, rgba(255, 249, 250, 0.98) 0%, rgba(255, 249, 250, 0.91) 42%, rgba(255, 249, 250, 0.58) 100%),
            var(--home-hero-image) !important;
    }

    .home-luxury .home-hero__copy {
        padding-top: 48px !important;
    }

    .home-luxury .home-hero__copy p {
        max-width: 330px !important;
        color: #2e292a !important;
        text-shadow: 0 1px 12px rgba(255, 255, 255, 0.65) !important;
    }
}

@media (max-width: 640px) {
    .home-luxury .home-hero {
        min-height: 600px !important;
    }

    .home-luxury .home-hero__inner {
        min-height: 600px !important;
    }

    .home-luxury .home-hero__copy {
        padding: 40px 0 250px !important;
    }

    .home-luxury .home-hero__copy h1 {
        font-size: clamp(2.9rem, 13vw, 3.7rem) !important;
        line-height: 0.98 !important;
        max-width: 340px !important;
        text-shadow: 0 1px 18px rgba(255, 255, 255, 0.78) !important;
    }

    .home-luxury .home-hero__actions {
        max-width: 210px !important;
        gap: 12px !important;
    }

    .home-luxury .home-btn {
        min-height: 52px !important;
        padding: 0 18px !important;
        font-size: 0.78rem !important;
    }

    .home-luxury .home-product-card.product-card {
        min-height: 0 !important;
    }

    .home-luxury .home-product-card__body {
        min-height: 198px !important;
    }
}

/* 2026-06-18 align homepage product cards with collection card design */
.home-luxury .home-product-card.product-card {
    min-height: 610px !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fffafa 100%) !important;
}

.home-luxury .home-product-card__media {
    aspect-ratio: 1 / 1 !important;
    margin: 16px 16px 0 !important;
    border-radius: 14px 14px 0 0 !important;
    background: #fbf7f6 !important;
}

.home-luxury .home-product-card__media img {
    object-fit: cover !important;
    border-radius: 14px 14px 0 0 !important;
}

.home-luxury .home-product-card__body {
    min-height: 290px !important;
    padding: 18px 18px 18px !important;
}

.home-luxury .home-product-card .product-title {
    position: relative !important;
    min-height: 58px !important;
    margin: 0 0 22px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: "Playfair Display", Georgia, serif !important;
    font-size: 1.05rem !important;
    line-height: 1.25 !important;
    letter-spacing: 0.055em !important;
}

.home-luxury .home-product-card .product-title::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 8% !important;
    right: 8% !important;
    top: -18px !important;
    height: 1px !important;
    background: rgba(220, 208, 205, 0.95) !important;
}

.home-luxury .home-product-card .product-card-stats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    position: relative !important;
    margin: 4px 0 0 !important;
    padding-top: 20px !important;
    min-height: 54px !important;
}

.home-luxury .home-product-card .product-card-stats::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 13% !important;
    right: 13% !important;
    top: 5px !important;
    height: 1px !important;
    background: rgba(236, 213, 218, 0.95) !important;
}

.home-luxury .home-product-card .product-card-stats::after {
    content: "*" !important;
    display: block !important;
    position: absolute !important;
    left: 50% !important;
    top: -7px !important;
    transform: translateX(-50%) !important;
    width: 20px !important;
    text-align: center !important;
    color: var(--vr-rose) !important;
    background: #fffafa !important;
    font-family: Georgia, serif !important;
    font-size: 14px !important;
}

.home-luxury .home-product-card .product-card-stat {
    min-height: 34px !important;
    padding: 0 12px !important;
    font-size: 0.82rem !important;
    white-space: nowrap !important;
}

.home-luxury .home-product-card .product-card-stat svg {
    width: 16px !important;
    height: 16px !important;
}

.home-luxury .home-product-card .product-price {
    margin: 18px 0 0 !important;
    font-size: 1.72rem !important;
    line-height: 1.12 !important;
}

.home-luxury .home-product-card .product-delivery {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 16px 0 0 !important;
    padding: 15px 4px 0 !important;
    border-top: 1px solid rgba(220, 208, 205, 0.95) !important;
    color: #141012 !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: nowrap !important;
    background: transparent !important;
}

.home-luxury .home-product-card .product-delivery__icon,
.home-luxury .home-product-card .product-delivery__icon svg {
    width: 19px !important;
    height: 19px !important;
    color: var(--vr-rose) !important;
    fill: currentColor !important;
}

.home-luxury .home-product-card__cta.product-buy-now {
    margin-top: 18px !important;
    min-height: 52px !important;
    border-radius: 10px !important;
    font-size: 0.88rem !important;
    letter-spacing: 0.11em !important;
}

@media (max-width: 1180px) {
    .home-luxury .home-product-card.product-card {
        min-height: 610px !important;
    }
}

@media (max-width: 640px) {
    .home-luxury .home-product-card.product-card {
        min-height: 0 !important;
    }

    .home-luxury .home-product-card__body {
        min-height: 282px !important;
    }

    .home-luxury .home-product-card .product-card-stat {
        font-size: 0.78rem !important;
        padding: 0 8px !important;
    }
}

/* 2026-06-20 mobile Shop By Occasion card polish */
@media (max-width: 640px) {
    .home-luxury .home-occasion__grid {
        gap: 20px !important;
    }

    .home-luxury .home-occasion-card {
        width: 100% !important;
        max-width: 360px !important;
        min-height: 0 !important;
        margin: 0 auto !important;
        border-radius: 18px !important;
        box-shadow: 0 14px 32px rgba(58, 33, 41, 0.09) !important;
    }

    .home-luxury .home-occasion-card__link {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 18px !important;
    }

    .home-luxury .home-occasion-card__image {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 4 / 3 !important;
        padding: 0 !important;
        border-radius: 14px !important;
        background: #f8f3f4 !important;
    }

    .home-luxury .home-occasion-card__image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
        border-radius: 14px !important;
    }

    .home-luxury .home-occasion-card__body {
        padding: 20px 0 2px !important;
        text-align: center !important;
    }

    .home-luxury .home-occasion-card__body h3 {
        margin: 0 0 14px !important;
        font-size: 1.05rem !important;
        line-height: 1.3 !important;
        letter-spacing: 0.12em !important;
    }

    .home-luxury .home-occasion-card__body span {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 150px !important;
        min-height: 44px !important;
        margin: 0 auto !important;
        padding: 0 24px !important;
        border: 1px solid var(--vr-rose) !important;
        border-radius: 8px !important;
        background: linear-gradient(135deg, #ee718d 0%, var(--vr-rose) 100%) !important;
        color: #fff !important;
        box-shadow: 0 8px 18px rgba(228, 92, 122, 0.2) !important;
        font-size: 0.76rem !important;
        letter-spacing: 0.13em !important;
    }

    .home-luxury .home-occasion-card__link:hover .home-occasion-card__body span,
    .home-luxury .home-occasion-card__link:focus-visible .home-occasion-card__body span {
        background: var(--vr-rose-dark) !important;
        border-color: var(--vr-rose-dark) !important;
    }
}

/* 2026-06-20 keep mobile collection popularity stats inside narrow cards */
@media (max-width: 640px) {
    .collection-product-grid .collection-product-card .product-card-stats {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 6px !important;
        width: 100% !important;
        margin-top: 0.72rem !important;
        padding-top: 1rem !important;
    }

    .collection-product-grid .collection-product-card .product-card-stat {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 31px !important;
        padding: 6px 8px !important;
        gap: 5px !important;
        font-size: 0.72rem !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
    }

    .collection-product-grid .collection-product-card .product-card-stat svg {
        flex: 0 0 13px !important;
        width: 13px !important;
        height: 13px !important;
    }

    .collection-product-grid .collection-product-card .product-card-stat > span {
        min-width: 0 !important;
    }
}

/* 2026-06-20 keep mobile collection prices inside narrow cards */
@media (max-width: 640px) {
    .collection-product-card .product-price {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 46px !important;
        margin: 0.9rem 0 0 !important;
        padding: 0 2px !important;
        font-size: clamp(1rem, 4.3vw, 1.18rem) !important;
        line-height: 1.18 !important;
        text-align: center !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        overflow: hidden !important;
    }
}

/* 2026-06-20 lock mobile collection card internal alignment */
@media (max-width: 640px) {
    .collection-product-grid .collection-product-card {
        display: grid !important;
        grid-template-rows: 174px 242px 58px 56px !important;
        align-content: start !important;
        row-gap: 0 !important;
    }

    .collection-product-grid .collection-product-card .product-image {
        align-self: start !important;
    }

    .collection-product-grid .collection-product-card .product-info {
        min-height: 0 !important;
        height: 242px !important;
        padding: 20px 4px 8px !important;
        display: grid !important;
        grid-template-rows: 74px 84px 56px !important;
        align-items: start !important;
    }

    .collection-product-grid .collection-product-card .product-title {
        min-height: 70px !important;
        height: 70px !important;
        margin: 0 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 3 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        text-align: center !important;
    }

    .collection-product-grid .collection-product-card .product-card-stats {
        align-self: start !important;
        height: 84px !important;
        margin: 0 !important;
    }

    .collection-product-grid .collection-product-card .product-price {
        align-self: start !important;
        height: 56px !important;
        margin: 0 !important;
    }

    .collection-product-grid .collection-product-card .product-delivery {
        align-self: start !important;
        min-height: 0 !important;
        height: 58px !important;
        margin: 0 !important;
    }

    .collection-product-grid .collection-product-card .product-buy-now {
        align-self: end !important;
        min-height: 0 !important;
        height: 56px !important;
        margin: 0 !important;
    }
}

/* 2026-06-20 premium icon polish: shared homepage trust/features + delivery icons */
.home-luxury .home-trust-card__icon,
.home-luxury .home-feature-card__icon,
.home-trust-card__icon,
.home-feature-card__icon {
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 16px !important;
    color: #b94366 !important;
    background: radial-gradient(circle at 30% 18%, #fff 0 25%, #fff5f8 26% 100%) !important;
    border: 1px solid rgba(185, 67, 102, 0.18) !important;
    box-shadow: 0 12px 28px rgba(80, 28, 45, 0.08) !important;
}

.home-trust-card__icon svg,
.home-feature-card__icon svg {
    width: 25px !important;
    height: 25px !important;
    display: block !important;
    overflow: visible !important;
}

.home-trust-card__icon svg *,
.home-feature-card__icon svg *,
.product-delivery__icon svg *,
.home-product-card__delivery-icon svg * {
    vector-effect: non-scaling-stroke;
}

.product-delivery__icon,
.home-product-card__delivery-icon {
    color: #d94f73 !important;
}

.product-delivery__icon svg,
.home-product-card__delivery-icon svg {
    width: 18px !important;
    height: 18px !important;
    fill: none !important;
    stroke: currentColor !important;
}

@media (max-width: 640px) {
    .home-luxury .home-trust-card__icon,
    .home-luxury .home-feature-card__icon,
    .home-trust-card__icon,
    .home-feature-card__icon {
        flex-basis: 44px !important;
        width: 44px !important;
        height: 44px !important;
        border-radius: 15px !important;
    }

    .home-trust-card__icon svg,
    .home-feature-card__icon svg {
        width: 24px !important;
        height: 24px !important;
    }
}

/* 2026-06-20 unified Velvet Rose CTA button system */
:root {
    --vr-button-bg: linear-gradient(135deg, #742640 0%, #a53e60 100%);
    --vr-button-bg-hover: linear-gradient(135deg, #662137 0%, #953653 100%);
    --vr-button-border: #8f3453;
    --vr-button-shadow: 0 14px 28px rgba(117, 38, 65, 0.22);
    --vr-button-shadow-hover: 0 18px 32px rgba(117, 38, 65, 0.28);
    --vr-button-focus: rgba(117, 38, 65, 0.24);
}

.btn:not(.btn-icon):not(.icon-button),
.btn-secondary,
.home-btn,
.home-luxury .home-btn,
.home-product-card__cta,
.home-luxury .home-product-card__cta,
.home-section-heading__link,
.product-buy-now,
.collection-product-card .product-buy-now,
.home-luxury .home-product-card__cta.product-buy-now,
.product-comment-form .btn,
.product-comments-empty .btn,
.product-comment-login .btn-outline,
.detail-card .btn-outline,
.cart-promo-submit.btn,
.cart-recovery-notice .btn-secondary,
.checkout-actions .btn,
.checkout-actions .btn-secondary,
.payment-submit,
.pdp-add-to-bag,
.qty-wrap .btn,
.site-footer__newsletter-form button,
.account-auth-shell button[type="submit"],
.account-auth-shell .btn,
.account-auth-shell .btn-secondary,
.home-promo-banner__copy .home-btn,
.homepage-editorial__cta,
.contact-location-map__copy .btn-secondary,
a[class*="__cta"]:not(.promo-bar__cta),
button[class*="__cta"],
input[type="submit"] {
    appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 50px !important;
    min-width: 168px !important;
    padding: 0.85rem 1.35rem !important;
    border: 1px solid var(--vr-button-border) !important;
    border-radius: 999px !important;
    background: var(--vr-button-bg) !important;
    color: #fff !important;
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 0.76rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    line-height: 1.25 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    cursor: pointer !important;
    box-shadow: var(--vr-button-shadow) !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, border-color 0.18s ease, opacity 0.18s ease !important;
}

.btn:not(.btn-icon):not(.icon-button):hover,
.btn-secondary:hover,
.home-btn:hover,
.home-luxury .home-btn:hover,
.home-product-card__cta:hover,
.home-luxury .home-product-card__cta:hover,
.home-section-heading__link:hover,
.product-buy-now:hover,
.collection-product-card .product-buy-now:hover,
.home-luxury .home-product-card__cta.product-buy-now:hover,
.product-comment-form .btn:hover,
.product-comments-empty .btn:hover,
.product-comment-login .btn-outline:hover,
.detail-card .btn-outline:hover,
.cart-promo-submit.btn:hover,
.cart-recovery-notice .btn-secondary:hover,
.checkout-actions .btn:hover,
.checkout-actions .btn-secondary:hover,
.payment-submit:hover,
.pdp-add-to-bag:hover,
.qty-wrap .btn:hover,
.site-footer__newsletter-form button:hover,
.account-auth-shell button[type="submit"]:hover,
.account-auth-shell .btn:hover,
.account-auth-shell .btn-secondary:hover,
.home-promo-banner__copy .home-btn:hover,
.homepage-editorial__cta:hover,
.contact-location-map__copy .btn-secondary:hover,
a[class*="__cta"]:not(.promo-bar__cta):hover,
button[class*="__cta"]:hover,
input[type="submit"]:hover {
    background: var(--vr-button-bg-hover) !important;
    border-color: #7b2a47 !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: var(--vr-button-shadow-hover) !important;
}

.btn:not(.btn-icon):not(.icon-button):focus-visible,
.btn-secondary:focus-visible,
.home-btn:focus-visible,
.home-product-card__cta:focus-visible,
.home-section-heading__link:focus-visible,
.product-buy-now:focus-visible,
.payment-submit:focus-visible,
.pdp-add-to-bag:focus-visible,
.site-footer__newsletter-form button:focus-visible,
.account-auth-shell button[type="submit"]:focus-visible,
a[class*="__cta"]:not(.promo-bar__cta):focus-visible,
button[class*="__cta"]:focus-visible,
input[type="submit"]:focus-visible {
    outline: 3px solid var(--vr-button-focus) !important;
    outline-offset: 3px !important;
}

.btn:disabled,
.btn-secondary:disabled,
.product-buy-now:disabled,
.payment-submit:disabled,
.pdp-add-to-bag:disabled,
.site-footer__newsletter-form button:disabled,
.account-auth-shell button[type="submit"]:disabled,
button[class*="__cta"]:disabled,
input[type="submit"]:disabled {
    opacity: 0.62 !important;
    cursor: not-allowed !important;
    transform: none !important;
}

.btn svg,
.btn-secondary svg,
.home-btn svg,
.home-product-card__cta svg,
.product-buy-now svg,
.payment-submit svg,
.pdp-add-to-bag svg,
.site-footer__newsletter-form button svg,
.account-auth-shell button[type="submit"] svg {
    color: currentColor !important;
}

.checkout-actions .btn,
.checkout-actions .btn-secondary,
.payment-submit,
.pdp-add-to-bag,
.account-auth-shell button[type="submit"] {
    width: 100% !important;
}

.cart-promo-submit.btn,
.site-footer__newsletter-form button {
    min-width: 120px !important;
}

.home-luxury .home-section-heading__link {
    min-height: 50px !important;
    min-width: 168px !important;
    padding: 0.85rem 1.35rem !important;
    border: 1px solid var(--vr-button-border) !important;
    border-radius: 999px !important;
    background: var(--vr-button-bg) !important;
    color: #fff !important;
    box-shadow: var(--vr-button-shadow) !important;
}

.home-luxury .home-section-heading__link:hover {
    background: var(--vr-button-bg-hover) !important;
    color: #fff !important;
    box-shadow: var(--vr-button-shadow-hover) !important;
}

.promo-bar__cta,
.icon-button,
.btn-icon,
.homepage-slider__button,
.pdp-thumbnail-button,
.cart-qty-stepper__button,
.pdp-quantity-button,
.home-faq-item__button,
.account-nav-logout button,
.pdp-favorite-button,
.pdp-favorite-button--image {
    box-shadow: none !important;
}

@media (max-width: 640px) {
    .btn:not(.btn-icon):not(.icon-button),
    .btn-secondary,
    .home-btn,
    .home-luxury .home-btn,
    .home-product-card__cta,
    .home-section-heading__link,
    .product-buy-now,
    .collection-product-card .product-buy-now,
    .payment-submit,
    .pdp-add-to-bag,
    .site-footer__newsletter-form button,
    .account-auth-shell button[type="submit"],
    a[class*="__cta"]:not(.promo-bar__cta),
    button[class*="__cta"],
    input[type="submit"] {
        min-height: 48px !important;
        min-width: 0 !important;
        padding: 0.78rem 1.15rem !important;
        border-radius: 999px !important;
        font-size: 0.74rem !important;
        letter-spacing: 0.08em !important;
    }
}
