.bepic-products-page {
    background: var(--bepic-surface-soft);
}

.bepic-products-page main {
    min-height: 65vh;
    color: var(--bepic-home-ink);
    font-family: "Outfit", sans-serif;
}

.bepic-product-kicker {
    color: var(--bepic-home-teal);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.bepic-product-primary,
.bepic-product-secondary {
    min-height: 52px;
    padding: 0 25px;
    border: 1px solid transparent;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.bepic-product-primary {
    color: #fff;
    background: var(--bepic-primary);
    box-shadow: 0 14px 30px color-mix(in srgb, var(--bepic-primary) 24%, transparent);
}

.bepic-product-secondary {
    border-color: #d9e2ee;
    color: var(--bepic-home-navy);
    background: #fff;
}

.bepic-product-primary:hover,
.bepic-product-secondary:hover {
    transform: translateY(-2px);
}

.bepic-product-primary:hover {
    color: #fff;
    box-shadow: 0 18px 38px color-mix(in srgb, var(--bepic-primary) 32%, transparent);
}

.bepic-product-detail {
    padding: 30px 0 110px;
    background:
        radial-gradient(circle at 5% 18%, color-mix(in srgb, var(--bepic-primary) 9%, transparent), transparent 26%),
        radial-gradient(circle at 97% 26%, color-mix(in srgb, var(--bepic-primary) 8%, transparent), transparent 25%),
        var(--bepic-surface-soft);
}

.bepic-product-breadcrumb {
    min-height: 46px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #78869b;
    font-size: 13px;
}

.bepic-product-breadcrumb a {
    color: var(--bepic-home-teal);
    font-weight: 700;
}

.bepic-product-breadcrumb span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bepic-product-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr);
    align-items: start;
    gap: clamp(36px, 5vw, 78px);
}

.bepic-product-gallery {
    position: sticky;
    top: 118px;
}

.bepic-product-main-image {
    min-height: 640px;
    padding: clamp(32px, 6vw, 78px);
    border: 1px solid color-mix(in srgb, var(--bepic-dark) 9%, transparent);
    border-radius: 42px 42px 110px 42px;
    overflow: hidden;
    display: grid;
    place-items: center;
    position: relative;
    background:
        linear-gradient(135deg, rgba(255,255,255,.95), rgba(235,245,249,.92)),
        #fff;
    box-shadow: 0 28px 70px color-mix(in srgb, var(--bepic-dark) 12%, transparent);
}

.bepic-product-main-image::before,
.bepic-product-main-image::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.bepic-product-main-image::before {
    width: 270px;
    height: 270px;
    right: -80px;
    bottom: -90px;
    border: 42px solid color-mix(in srgb, var(--bepic-primary) 8%, transparent);
}

.bepic-product-main-image::after {
    width: 130px;
    height: 130px;
    top: 38px;
    left: 38px;
    background: color-mix(in srgb, var(--bepic-primary) 7%, transparent);
    filter: blur(2px);
}

.bepic-product-main-image img {
    width: min(100%, 560px);
    max-height: 535px;
    object-fit: contain;
    position: relative;
    z-index: 1;
    filter: drop-shadow(0 30px 34px color-mix(in srgb, var(--bepic-dark) 16%, transparent));
    transition: opacity .22s ease, transform .35s ease;
}

.bepic-product-thumbnails {
    margin-top: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.bepic-product-gallery-note {
    margin-top: 18px;
    padding: 17px 20px;
    border: 1px solid color-mix(in srgb, var(--bepic-dark) 9%, transparent);
    border-radius: 18px;
    display: flex;
    align-items: center;
    gap: 13px;
    color: var(--bepic-home-muted);
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 12px 32px color-mix(in srgb, var(--bepic-dark) 6%, transparent);
}

.bepic-product-gallery-note > span {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--bepic-home-teal);
}

.bepic-product-gallery-note p {
    margin: 0;
    line-height: 1.5;
}

.bepic-product-thumbnail {
    width: 84px;
    height: 84px;
    padding: 8px;
    border: 2px solid transparent;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 22px color-mix(in srgb, var(--bepic-dark) 7%, transparent);
    cursor: pointer;
}

.bepic-product-thumbnail.is-active {
    border-color: var(--bepic-primary);
}

.bepic-product-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.bepic-product-buybox {
    padding: clamp(26px, 4vw, 46px);
    border: 1px solid color-mix(in srgb, var(--bepic-dark) 9%, transparent);
    border-radius: 32px;
    background: rgba(255, 255, 255, .95);
    box-shadow: 0 26px 65px color-mix(in srgb, var(--bepic-dark) 10%, transparent);
}

.bepic-product-buybox h1 {
    margin: 15px 0 15px;
    color: var(--bepic-home-navy);
    font-size: clamp(34px, 3.25vw, 50px);
    font-weight: 800;
    letter-spacing: -.055em;
    line-height: 1.01;
}

.bepic-product-intro {
    margin: 0 0 18px;
    color: var(--bepic-home-muted);
    font-size: 17px;
    line-height: 1.7;
}

.bepic-product-badges,
.bepic-product-categories,
.bepic-product-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.bepic-product-badges span,
.bepic-product-categories a,
.bepic-product-metrics span {
    padding: 7px 11px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 750;
}

.bepic-product-badges span {
    color: var(--bepic-home-navy);
    background: #edf3fb;
}

.bepic-product-badges .is-lifestyle { color: #08706f; background: #dcf6f2; }
.bepic-product-badges .is-discountable { color: #9b4a00; background: #fff0df; }
.bepic-product-badges .is-signup { color: #174f98; background: #e6efff; }

.bepic-product-categories a {
    color: #5f6f83;
    background: #f2f5f9;
}

.bepic-product-categories a:hover {
    color: var(--bepic-primary);
}

.bepic-product-price {
    margin: 28px 0 18px;
    display: grid;
}

.bepic-product-price small {
    color: #7b889a;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bepic-product-price strong {
    color: var(--bepic-home-navy);
    font-size: clamp(35px, 4vw, 48px);
    font-weight: 800;
    letter-spacing: -.035em;
}

.bepic-product-metrics {
    margin-bottom: 22px;
}

.bepic-product-metrics span {
    border: 1px solid #dae3ef;
    color: #5a687a;
    background: #fff;
}

.bepic-product-metrics strong {
    color: var(--bepic-home-navy);
}

.bepic-product-purchase-form {
    display: grid;
    gap: 15px;
}

.bepic-product-option {
    display: grid;
    gap: 8px;
    color: var(--bepic-home-navy);
    font-size: 13px;
    font-weight: 750;
}

.bepic-product-option select {
    width: 100%;
    min-height: 52px;
    padding: 0 43px 0 15px;
    border: 1px solid #d6e0ec;
    border-radius: 14px;
    color: var(--bepic-home-ink);
    background: #f8fafc;
    font: inherit;
}

.bepic-product-option small {
    color: #b03932;
}

.bepic-product-stock {
    margin-top: 4px;
    color: #18744d;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
}

.bepic-product-stock span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #22a86a;
    box-shadow: 0 0 0 5px rgba(34, 168, 106, .1);
}

.bepic-product-stock.is-unavailable { color: #9b473d; }
.bepic-product-stock.is-unavailable span { background: #c95247; box-shadow: 0 0 0 5px rgba(201, 82, 71, .1); }
.bepic-product-backorder-note { margin: 14px 0 0; padding: 14px 17px; border: 1px solid #efdac2; border-radius: 13px; color: #78491f; background: #fff6e9; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.bepic-product-backorder-status { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 32px; padding: 7px 12px; border: 1px solid #efdac2; border-radius: 99px; color: #78491f; background: #fff6e9; font-size: 12px; font-weight: 600; line-height: 1.3; cursor: default; }
.bepic-product-backorder-status::before { content: ""; flex-shrink: 0; width: 5px; height: 5px; border-radius: 50%; background: #b76a1c; }

.bepic-product-quantity-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.bepic-product-quantity-row > label {
    color: var(--bepic-home-navy);
    font-size: 13px;
    font-weight: 750;
}

.bepic-product-quantity-row > div {
    min-height: 46px;
    border: 1px solid #d6e0ec;
    border-radius: 999px;
    display: grid;
    grid-template-columns: 42px 48px 42px;
    overflow: hidden;
    background: #fff;
}

.bepic-product-quantity-row button,
.bepic-product-quantity-row input {
    border: 0;
    color: var(--bepic-home-navy);
    background: transparent;
    text-align: center;
    font: inherit;
    font-weight: 750;
}

.bepic-product-quantity-row input {
    width: 48px;
    appearance: textfield;
}

.bepic-product-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
}

.bepic-product-actions > :only-child {
    grid-column: 1 / -1;
}

.bepic-product-action-status {
    min-height: 20px;
    margin: 0;
    color: var(--bepic-home-muted);
    font-size: 13px;
}

.bepic-product-context {
    margin: 24px 0 0;
    padding-top: 18px;
    border-top: 1px solid #e2e8f1;
    color: #6c798b;
    font-size: 12px;
}

.bepic-product-context button {
    padding: 0;
    border: 0;
    color: var(--bepic-primary);
    background: transparent;
    font: inherit;
    font-weight: 750;
}

.bepic-product-story {
    margin-top: clamp(70px, 9vw, 130px);
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(330px, .9fr);
    gap: clamp(38px, 7vw, 100px);
}

.bepic-product-story > div,
.bepic-product-story > aside {
    padding: clamp(28px, 4vw, 48px);
    border-radius: 32px;
    background: #fff;
    box-shadow: 0 22px 60px color-mix(in srgb, var(--bepic-dark) 8%, transparent);
}

.bepic-product-story h2,
.bepic-product-section-head h2 {
    margin: 7px 0 22px;
    color: var(--bepic-home-navy);
    font-size: clamp(34px, 4vw, 55px);
    font-weight: 800;
    letter-spacing: -.045em;
    line-height: 1;
}

.bepic-product-story p {
    color: var(--bepic-home-muted);
    font-size: 16px;
    line-height: 1.78;
}

.bepic-product-resource-link {
    margin-top: 26px;
    padding: 15px;
    border: 1px solid #dbe4ee;
    border-radius: 18px;
    display: grid;
    grid-template-columns: 44px 1fr auto;
    align-items: center;
    gap: 14px;
    color: var(--bepic-home-navy);
}

.bepic-product-resource-link > span {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--bepic-primary);
    font-size: 11px;
    font-weight: 800;
}

.bepic-product-pack-list {
    display: grid;
    gap: 10px;
}

.bepic-product-pack-list article {
    padding: 12px;
    border: 1px solid #e0e7f0;
    border-radius: 18px;
    display: grid;
    grid-template-columns: 64px 1fr;
    align-items: center;
    gap: 14px;
}

.bepic-product-pack-list img {
    width: 64px;
    height: 64px;
    padding: 5px;
    border-radius: 13px;
    object-fit: contain;
    background: #f4f7fb;
}

.bepic-product-pack-list article > div {
    display: grid;
}

.bepic-product-pack-list span { color: var(--bepic-primary); font-size: 11px; font-weight: 800; }
.bepic-product-pack-list strong { color: var(--bepic-home-navy); }
.bepic-product-pack-list p { margin: 4px 0; color: #67758a; font-size: 12px; line-height: 1.45; }
.bepic-product-pack-list a { color: var(--bepic-home-teal); font-size: 12px; font-weight: 700; }

.bepic-product-pack-links {
    margin-top: 6px;
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px 14px;
}

.bepic-product-related {
    margin-top: clamp(70px, 9vw, 130px);
}

.bepic-product-section-head {
    margin-bottom: 30px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
}

.bepic-product-section-head .bepic-product-kicker,
.bepic-product-section-head h2 {
    grid-column: 1;
}

.bepic-product-section-head h2 { margin-bottom: 0; }
.bepic-product-section-head > a { grid-column: 2; grid-row: 1 / 3; color: var(--bepic-primary); font-weight: 750; }

.bepic-product-related-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.bepic-product-related-card a {
    height: 100%;
    padding: 18px;
    border: 1px solid color-mix(in srgb, var(--bepic-dark) 8%, transparent);
    border-radius: 26px;
    display: grid;
    background: #fff;
    box-shadow: 0 18px 45px color-mix(in srgb, var(--bepic-dark) 7%, transparent);
    transition: transform .3s ease, box-shadow .3s ease;
}

.bepic-product-related-card a:hover { transform: translateY(-7px); box-shadow: 0 25px 55px color-mix(in srgb, var(--bepic-dark) 13%, transparent); }
.bepic-product-related-card img { width: 100%; height: 220px; padding: 20px; object-fit: contain; }
.bepic-product-related-card span { color: var(--bepic-home-teal); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.bepic-product-related-card strong { margin-top: 5px; color: var(--bepic-home-navy); font-size: 20px; line-height: 1.15; }
.bepic-product-related-card small { margin-top: 10px; color: var(--bepic-primary); font-size: 15px; font-weight: 750; }

.bepic-product-browse-more {
    margin-top: clamp(68px, 8vw, 115px);
}

.bepic-product-browse-more > div:last-child {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.bepic-product-browse-more > div:last-child > a {
    min-height: 112px;
    padding: 22px;
    border: 1px solid color-mix(in srgb, var(--bepic-dark) 9%, transparent);
    border-radius: 22px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-content: center;
    gap: 5px 16px;
    color: var(--bepic-home-navy);
    background: #fff;
    box-shadow: 0 14px 35px color-mix(in srgb, var(--bepic-dark) 6%, transparent);
    transition: transform .25s ease, box-shadow .25s ease;
}

.bepic-product-browse-more > div:last-child > a:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 45px color-mix(in srgb, var(--bepic-dark) 11%, transparent);
}

.bepic-product-browse-more small {
    grid-column: 1;
    color: var(--bepic-home-teal);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.bepic-product-browse-more strong {
    grid-column: 1;
    font-size: 19px;
}

.bepic-product-browse-more a > span {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
    color: var(--bepic-primary);
    font-size: 22px;
}

.bepic-product-confidence {
    margin-top: clamp(68px, 8vw, 115px);
    padding: clamp(30px, 4vw, 52px);
    border-radius: 32px;
    display: grid;
    grid-template-columns: minmax(280px, 1.25fr) repeat(3, minmax(150px, .75fr));
    align-items: center;
    gap: 16px;
    color: #fff;
    background: radial-gradient(circle at 88% 20%, color-mix(in srgb, var(--bepic-primary) 34%, transparent), transparent 30%), linear-gradient(140deg, var(--bepic-dark-deep), var(--bepic-dark-soft));
    box-shadow: 0 28px 65px color-mix(in srgb, var(--bepic-dark) 18%, transparent);
}

.bepic-product-confidence h2 {
    margin: 7px 0 0;
    color: #fff;
    font-size: clamp(30px, 3.5vw, 48px);
    font-weight: 800;
    letter-spacing: -.04em;
    line-height: 1;
}

.bepic-product-confidence > a {
    min-height: 76px;
    padding: 17px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: rgba(255, 255, 255, .08);
    text-align: center;
    font-weight: 750;
    transition: background .25s ease, transform .25s ease;
}

.bepic-product-confidence > a:hover {
    color: #fff;
    background: rgba(255, 255, 255, .15);
    transform: translateY(-3px);
}

.bepic-product-catalog-hero {
    padding: clamp(70px, 9vw, 125px) 0 74px;
    color: #fff;
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 88% 20%, color-mix(in srgb, var(--bepic-primary) 38%, transparent), transparent 27%),
        radial-gradient(circle at 13% 90%, color-mix(in srgb, var(--bepic-primary) 28%, transparent), transparent 34%),
        linear-gradient(135deg, var(--bepic-dark-deep), var(--bepic-dark-soft) 66%, var(--bepic-primary-deep));
}

.bepic-product-catalog-hero::after {
    content: "";
    width: 460px;
    height: 460px;
    border: 1px dashed rgba(255,255,255,.2);
    border-radius: 50%;
    position: absolute;
    right: -80px;
    bottom: -260px;
}

.bepic-product-catalog-hero .bepic-home-container { position: relative; z-index: 1; }
.bepic-product-catalog-hero .bepic-product-kicker { color: var(--bepic-brand-highlight); }
.bepic-product-catalog-hero h1 { max-width: 900px; margin: 8px 0 15px; color: #fff; font-size: clamp(48px, 7vw, 92px); font-weight: 800; letter-spacing: -.06em; line-height: .94; }
.bepic-product-catalog-hero > div > p { max-width: 710px; color: rgba(255,255,255,.76); font-size: 19px; }

.bepic-product-search-form {
    max-width: 920px;
    margin-top: 36px;
    padding: 10px;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 999px;
    display: grid;
    grid-template-columns: 1fr auto;
    background: rgba(255,255,255,.13);
    backdrop-filter: blur(15px);
}

.bepic-product-search-form label {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 0 18px;
}

.bepic-product-search-form svg { width: 24px; fill: none; stroke: #fff; stroke-width: 1.8; }
.bepic-product-search-form input { width: 100%; border: 0; outline: 0; color: #fff; background: transparent; font: inherit; font-size: 17px; }
.bepic-product-search-form input::placeholder { color: rgba(255,255,255,.65); }
.bepic-product-search-form button { min-height: 54px; padding: 0 34px; border: 0; border-radius: 999px; color: #fff; background: var(--bepic-primary); font: inherit; font-weight: 750; }

.bepic-product-collection-switcher {
    max-width: 1180px;
    margin-top: 30px;
    padding: 13px 13px 13px 20px;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 28px;
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    background: color-mix(in srgb, var(--bepic-dark) 38%, transparent);
    box-shadow: 0 18px 45px rgba(0, 0, 0, .14);
    backdrop-filter: blur(18px);
}

.bepic-product-collection-label {
    padding-right: 17px;
    border-right: 1px solid rgba(255,255,255,.2);
    display: grid;
    gap: 3px;
}

.bepic-product-collection-label span {
    color: var(--bepic-brand-highlight);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.bepic-product-collection-label strong {
    color: #fff;
    font-size: 14px;
    line-height: 1.25;
}

.bepic-product-category-nav {
    min-width: 0;
    padding: 2px 3px 5px;
    display: flex;
    gap: 9px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-color: rgba(255,255,255,.45) transparent;
    scrollbar-width: thin;
}

.bepic-product-category-nav a {
    min-width: 170px;
    min-height: 66px;
    padding: 9px 15px 9px 9px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 18px;
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: 46px auto;
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 10px;
    color: #fff;
    background: rgba(255,255,255,.09);
    box-shadow: inset 0 1px rgba(255,255,255,.08);
    transition: border-color .22s ease, background .22s ease, transform .22s ease;
}

.bepic-product-category-nav a:hover,
.bepic-product-category-nav a.is-active {
    border-color: #fff;
    color: var(--bepic-home-navy);
    background: #fff;
    transform: translateY(-2px);
}

.bepic-product-category-nav a strong {
    align-self: end;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.15;
}

.bepic-product-category-nav a small {
    align-self: start;
    color: rgba(255,255,255,.62);
    font-size: 10px;
    font-weight: 650;
}

.bepic-product-category-nav a:hover small,
.bepic-product-category-nav a.is-active small { color: var(--bepic-home-muted); }

.bepic-product-collection-mark {
    width: 46px;
    height: 46px;
    border-radius: 15px;
    grid-row: 1 / 3;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--bepic-primary-deep);
    box-shadow: 0 8px 18px rgba(2, 15, 40, .22);
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .04em;
}

.bepic-product-collection-mark.is-all,
.bepic-product-collection-mark.is-accent-0 { background: linear-gradient(135deg, var(--bepic-primary), var(--bepic-accent-ink)); }
.bepic-product-collection-mark.is-accent-1 { background: linear-gradient(135deg, var(--bepic-primary), var(--bepic-primary-deep)); }
.bepic-product-collection-mark.is-accent-2 { background: linear-gradient(135deg, var(--bepic-dark-soft), var(--bepic-primary-deep)); }
.bepic-product-collection-mark.is-accent-3 { background: linear-gradient(135deg, var(--bepic-primary-deep), var(--bepic-accent-ink)); }

.bepic-product-catalog-hero.is-collection {
    padding-top: clamp(58px, 7vw, 96px);
    padding-bottom: 68px;
}

.bepic-product-catalog-hero.is-collection h1 {
    max-width: 1050px;
    color: #fff;
    font-size: clamp(52px, 7.4vw, 98px);
}

.bepic-product-catalog-hero.is-collection h1::after {
    content: "";
    width: min(250px, 38vw);
    height: 7px;
    margin-top: 14px;
    border-radius: 999px;
    display: block;
    background: linear-gradient(90deg, var(--bepic-primary), var(--bepic-accent-highlight));
    transform: rotate(-2deg);
}

.bepic-product-catalog.is-collection {
    padding-top: 74px;
    background:
        radial-gradient(circle at 96% 8%, color-mix(in srgb, var(--bepic-primary) 10%, transparent), transparent 25%),
        linear-gradient(180deg, #fff, #f5f9fc 24%, #fff);
}

.bepic-product-family-directory {
    padding: 90px 0 102px;
    background: #fff;
}

.bepic-product-family-directory .bepic-product-section-head {
    max-width: 920px;
    grid-template-columns: minmax(0, 1fr);
}

.bepic-product-family-directory .bepic-product-section-head > p {
    max-width: 690px;
    margin: 8px 0 0;
    color: var(--bepic-home-muted);
    font-size: 17px;
    line-height: 1.65;
}

.bepic-product-family-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.bepic-product-family-card {
    min-height: 430px;
    border: 1px solid color-mix(in srgb, var(--bepic-dark) 8%, transparent);
    border-radius: 28px;
    overflow: hidden;
    display: grid;
    grid-template-rows: 230px 1fr;
    background: #f8fbfd;
    box-shadow: 0 18px 48px color-mix(in srgb, var(--bepic-dark) 8%, transparent);
    transition: transform .3s ease, box-shadow .3s ease;
}

.bepic-product-family-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 28px 60px color-mix(in srgb, var(--bepic-dark) 14%, transparent);
}

.bepic-product-family-image {
    padding: 24px;
    position: relative;
    overflow: hidden;
    display: grid;
    place-items: center;
    background: radial-gradient(circle at 80% 20%, color-mix(in srgb, var(--bepic-primary) 15%, transparent), transparent 32%), linear-gradient(145deg, #eef6f7, #fff6ed);
}

.bepic-product-family-image::after {
    content: "";
    width: 130px;
    height: 130px;
    border: 22px solid color-mix(in srgb, var(--bepic-primary) 8%, transparent);
    border-radius: 50%;
    position: absolute;
    right: -35px;
    bottom: -48px;
}

.bepic-product-family-image > img:first-child {
    width: 100%;
    height: 188px;
    object-fit: contain;
    position: relative;
    z-index: 1;
    filter: drop-shadow(0 17px 20px color-mix(in srgb, var(--bepic-dark) 13%, transparent));
}

.bepic-product-family-image img + img {
    width: 110px;
    max-height: 48px;
    padding: 8px;
    border-radius: 12px;
    position: absolute;
    left: 16px;
    bottom: 15px;
    z-index: 2;
    object-fit: contain;
    background: rgba(255, 255, 255, .93);
    box-shadow: 0 9px 22px color-mix(in srgb, var(--bepic-dark) 12%, transparent);
}

.bepic-product-family-card > div {
    padding: 24px;
    display: flex;
    flex-direction: column;
}

.bepic-product-family-card > div > span {
    color: var(--bepic-home-teal);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bepic-product-family-card h2 {
    margin: 7px 0 9px;
    font-size: 27px;
    line-height: 1.06;
}

.bepic-product-family-card h2 a {
    color: var(--bepic-home-navy);
}

.bepic-product-family-card p {
    margin: 0 0 18px;
    color: var(--bepic-home-muted);
    line-height: 1.55;
}

.bepic-product-family-link {
    margin-top: auto;
    color: var(--bepic-primary);
    font-weight: 800;
}

.bepic-product-catalog { padding: 90px 0 120px; }
.bepic-product-catalog-head { margin-bottom: 34px; display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; }
.bepic-product-catalog-head h2 { margin: 5px 0 0; color: var(--bepic-home-navy); font-size: clamp(40px, 5vw, 65px); font-weight: 800; letter-spacing: -.05em; }
.bepic-product-catalog-head > p { margin: 0; color: var(--bepic-home-muted); font-weight: 650; }
.bepic-product-catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }

.bepic-product-catalog-card {
    min-height: 510px;
    border: 1px solid color-mix(in srgb, var(--bepic-dark) 8%, transparent);
    border-radius: 30px;
    overflow: hidden;
    display: grid;
    grid-template-rows: 290px 1fr;
    background: #fff;
    box-shadow: 0 18px 48px color-mix(in srgb, var(--bepic-dark) 8%, transparent);
    transition: transform .3s ease, box-shadow .3s ease;
}

.bepic-product-catalog-card:hover { transform: translateY(-8px); box-shadow: 0 28px 62px color-mix(in srgb, var(--bepic-dark) 14%, transparent); }
.bepic-product-catalog-image { padding: 28px; position: relative; overflow: hidden; display: grid; place-items: center; background: linear-gradient(145deg, #f9fbfd, #eaf4f5); }
.bepic-product-catalog-image::after { content: ""; width: 150px; height: 150px; border: 25px solid color-mix(in srgb, var(--bepic-primary) 7%, transparent); border-radius: 50%; position: absolute; right: -35px; bottom: -45px; }
.bepic-product-catalog-image img { width: 100%; height: 235px; object-fit: contain; position: relative; z-index: 1; transition: transform .4s ease; }
.bepic-product-catalog-card:hover .bepic-product-catalog-image img { transform: scale(1.055); }
.bepic-product-catalog-image > span { padding: 7px 12px; border-radius: 999px; position: absolute; right: 16px; bottom: 15px; z-index: 2; color: #fff; background: var(--bepic-primary); font-size: 11px; font-weight: 750; }
.bepic-product-catalog-body { padding: 24px; display: flex; flex-direction: column; }
.bepic-product-catalog-body h2 { margin: 13px 0 11px; font-size: 25px; line-height: 1.05; }
.bepic-product-catalog-body h2 a { color: var(--bepic-home-navy); }
.bepic-product-catalog-bottom { margin-top: auto; padding-top: 22px; display: flex; align-items: center; justify-content: space-between; }
.bepic-product-catalog-bottom > strong { color: var(--bepic-home-navy); font-size: 23px; }
.bepic-product-catalog-bottom > div { display: flex; align-items: center; gap: 8px; }
.bepic-product-card-details,
.bepic-product-card-add {
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid #d7e0eb;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--bepic-home-navy);
    background: #fff;
    font: inherit;
    font-size: 12px;
    font-weight: 750;
    cursor: pointer;
}

.bepic-product-card-add {
    border-color: var(--bepic-primary);
    color: #fff;
    background: var(--bepic-primary);
}

.bepic-product-card-add:hover { color: #fff; }

.bepic-product-empty {
    grid-column: 1 / -1;
    min-height: 380px;
    padding: 50px;
    border: 1px dashed #cad5e3;
    border-radius: 32px;
    display: grid;
    place-items: center;
    align-content: center;
    text-align: center;
    background: #fff;
}

.bepic-product-empty > span { color: var(--bepic-primary); font-size: 35px; }
.bepic-product-empty h2 { margin: 10px 0; color: var(--bepic-home-navy); font-size: clamp(34px, 4vw, 52px); font-weight: 800; }
.bepic-product-empty p { max-width: 600px; color: var(--bepic-home-muted); font-size: 17px; }

.bepic-product-unavailable {
    min-height: 70vh;
    padding: 120px 0;
    display: grid;
    align-items: center;
    text-align: center;
    background: radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--bepic-primary) 11%, transparent), transparent 34%), var(--bepic-surface-soft);
}

.bepic-product-unavailable h1 { max-width: 850px; margin: 12px auto; color: var(--bepic-home-navy); font-size: clamp(48px, 7vw, 82px); font-weight: 800; letter-spacing: -.055em; }
.bepic-product-unavailable p { max-width: 680px; margin: 0 auto 30px; color: var(--bepic-home-muted); font-size: 18px; }
.bepic-product-unavailable div > div { display: flex; justify-content: center; gap: 12px; }

@media (max-width: 1100px) {
    .bepic-product-detail-grid { grid-template-columns: minmax(0, 1fr) minmax(350px, .92fr); gap: 34px; }
    .bepic-product-main-image { min-height: 540px; }
    .bepic-product-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bepic-product-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bepic-product-family-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bepic-product-confidence { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .bepic-product-confidence > div { grid-column: 1 / -1; }
}

@media (max-width: 850px) {
    .bepic-product-detail { padding-top: 18px; }
    .bepic-product-detail-grid { grid-template-columns: 1fr; }
    .bepic-product-gallery { position: static; }
    .bepic-product-main-image { min-height: 500px; border-radius: 30px 30px 72px 30px; }
    .bepic-product-story { grid-template-columns: 1fr; }
    .bepic-product-browse-more > div:last-child { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bepic-product-collection-switcher { grid-template-columns: 1fr; padding: 14px; }
    .bepic-product-collection-label { padding: 0 5px 10px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
}

@media (max-width: 650px) {
    .bepic-product-detail { padding-bottom: 75px; }
    .bepic-product-main-image { min-height: 390px; padding: 28px; }
    .bepic-product-main-image img { max-height: 330px; }
    .bepic-product-thumbnail { width: 68px; height: 68px; }
    .bepic-product-buybox { padding: 25px 20px; border-radius: 25px; }
    .bepic-product-buybox h1 { font-size: 34px; line-height: 1.04; }
    .bepic-product-actions { grid-template-columns: 1fr; }
    .bepic-product-story > div,
    .bepic-product-story > aside { padding: 27px 20px; }
    .bepic-product-section-head { grid-template-columns: 1fr; }
    .bepic-product-section-head > a { margin-top: 14px; grid-column: 1; grid-row: auto; }
    .bepic-product-related-grid,
    .bepic-product-catalog-grid,
    .bepic-product-family-grid,
    .bepic-product-browse-more > div:last-child,
    .bepic-product-confidence { grid-template-columns: 1fr; }
    .bepic-product-catalog-hero { padding: 72px 0 56px; }
    .bepic-product-catalog-hero h1 { font-size: 52px; }
    .bepic-product-search-form { border-radius: 25px; grid-template-columns: 1fr; gap: 8px; }
    .bepic-product-search-form label { min-height: 54px; }
    .bepic-product-search-form button { width: 100%; }
    .bepic-product-collection-switcher { margin-top: 24px; border-radius: 22px; }
    .bepic-product-category-nav { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 7px; }
    .bepic-product-category-nav a { min-width: 158px; min-height: 62px; flex: 0 0 auto; }
    .bepic-product-collection-mark { width: 42px; height: 42px; border-radius: 13px; }
    .bepic-product-catalog-hero.is-collection h1 { font-size: 49px; }
    .bepic-product-catalog { padding: 66px 0 85px; }
    .bepic-product-catalog-head { align-items: flex-start; flex-direction: column; gap: 9px; }
    .bepic-product-catalog-card { min-height: 480px; grid-template-rows: 260px 1fr; }
    .bepic-product-catalog-bottom { align-items: flex-start; flex-direction: column; }
    .bepic-product-catalog-bottom > div { width: 100%; }
    .bepic-product-card-details,
    .bepic-product-card-add { flex: 1 1 0; }
    .bepic-product-family-directory { padding: 67px 0 76px; }
    .bepic-product-confidence { padding: 28px 20px; }
    .bepic-product-empty { min-height: 330px; padding: 34px 20px; }
    .bepic-product-unavailable { padding: 85px 0; }
    .bepic-product-unavailable div > div { align-items: stretch; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
    .bepic-product-main-image img,
    .bepic-product-catalog-card,
    .bepic-product-catalog-image img,
    .bepic-product-related-card a,
    .bepic-product-primary,
    .bepic-product-secondary { transition: none !important; }
}
