:root {
    --primary: #4d137a;
    --secondary: #8f5cff;
    --surface: #ffffff;
    --surface-soft: #f8f7fb;
    --background: #f4f5f7;
    --text: #1e1a25;
    --muted: #6d6676;
    --line: rgba(77, 19, 122, 0.08);
    --shadow: 0 24px 50px rgba(51, 33, 74, 0.12);
    --radius-xl: 32px;
    --radius-lg: 24px;
    --radius-md: 18px;
    --radius-sm: 12px;
    --container: 1180px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    background:
        radial-gradient(circle at top left, rgba(143, 92, 255, 0.12), transparent 30%),
        radial-gradient(circle at top right, rgba(77, 19, 122, 0.14), transparent 32%),
        var(--background);
    color: var(--text);
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    display: block;
    max-width: 100%;
}

.public-body {
    min-height: 100vh;
}

.store-shell {
    width: min(calc(100% - 24px), var(--container));
    margin: 0 auto;
    padding: 22px 0 110px;
}

.flash-stack {
    position: fixed;
    top: 18px;
    left: 50%;
    z-index: 40;
    width: min(calc(100% - 24px), 520px);
    transform: translateX(-50%);
}

.flash {
    margin-bottom: 10px;
    border-radius: var(--radius-sm);
    padding: 14px 16px;
    background: #fff;
    box-shadow: var(--shadow);
    font-size: 0.95rem;
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.32s ease, transform 0.32s ease;
}

.flash.is-hiding {
    opacity: 0;
    transform: translateY(-8px);
}

.flash--success {
    border-left: 4px solid #1ea971;
}

.flash--error {
    border-left: 4px solid #d14343;
}

.app-splash {
    position: fixed;
    inset: 0;
    z-index: 90;
    display: grid;
    place-items: center;
    padding: 24px;
    background:
        radial-gradient(circle at top, rgba(143, 92, 255, 0.35), transparent 30%),
        linear-gradient(140deg, #2f0a4c, #4d137a 45%, #7f56d9 100%);
    color: #fff;
    transition: opacity 0.45s ease, visibility 0.45s ease;
}

.app-splash.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.app-splash__orb {
    position: absolute;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
    filter: blur(10px);
    animation: pulse 2.8s ease-in-out infinite;
}

.app-splash__content {
    position: relative;
    text-align: center;
}

.app-splash__content strong {
    display: block;
    margin-bottom: 8px;
    font-size: clamp(1.6rem, 4vw, 2.4rem);
}

.app-splash__label {
    display: inline-flex;
    margin-bottom: 16px;
    padding: 8px 14px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 999px;
    font-size: 0.76rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.hero-card {
    position: relative;
    overflow: hidden;
    margin-bottom: 18px;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: var(--radius-xl);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(248, 245, 255, 0.94)),
        #fff;
    box-shadow: var(--shadow);
}

.hero-card__glow {
    position: absolute;
    width: 210px;
    height: 210px;
    border-radius: 50%;
    filter: blur(24px);
    opacity: 0.45;
}

.hero-card__glow--left {
    top: -120px;
    left: -70px;
    background: rgba(77, 19, 122, 0.22);
}

.hero-card__glow--right {
    right: -80px;
    bottom: -120px;
    background: rgba(143, 92, 255, 0.22);
}

.hero-card__top,
.hero-card__brand,
.hero-card__meta,
.hero-card__actions {
    position: relative;
    z-index: 1;
}

.hero-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
}

.hero-card__badge,
.hero-card__admin-link,
.category-rail__item,
.catalog-section__count,
.product-card__tag,
.product-card__order {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    font-size: 0.76rem;
}

.hero-card__badge {
    padding: 8px 12px;
    background: rgba(77, 19, 122, 0.08);
    color: var(--primary);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.hero-card__admin-link {
    padding: 9px 14px;
    background: #fff;
    color: var(--text);
    border: 1px solid rgba(77, 19, 122, 0.1);
}

.hero-card__brand {
    display: grid;
    grid-template-columns: 86px 1fr;
    gap: 16px;
    align-items: center;
}

.hero-card__logo {
    width: 86px;
    height: 86px;
    display: grid;
    place-items: center;
    border-radius: 26px;
    background: linear-gradient(135deg, rgba(77, 19, 122, 0.92), rgba(143, 92, 255, 0.88));
    box-shadow: 0 16px 30px rgba(77, 19, 122, 0.24);
}

.hero-card__logo img {
    width: 58px;
    height: 58px;
    object-fit: contain;
}

.hero-card__logo span {
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
}

.hero-card__content h1 {
    margin: 0 0 10px;
    font-size: clamp(1.9rem, 5vw, 3rem);
    line-height: 1.02;
}

.hero-card__content p {
    margin: 0;
    max-width: 60ch;
    color: var(--muted);
    line-height: 1.6;
}

.hero-card__meta {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin: 22px 0;
}

.meta-chip {
    padding: 15px 16px;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.74);
    backdrop-filter: blur(8px);
}

.meta-chip strong,
.catalog-section__eyebrow {
    display: block;
    margin-bottom: 6px;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--primary);
}

.meta-chip span {
    color: var(--muted);
    line-height: 1.45;
}

.hero-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 18px;
    border: 0;
    border-radius: 16px;
    font-weight: 600;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.btn:hover {
    transform: translateY(-1px);
}

.btn--primary {
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    color: #fff;
    box-shadow: 0 16px 25px rgba(77, 19, 122, 0.22);
}

.btn--ghost {
    background: rgba(77, 19, 122, 0.06);
    color: var(--primary);
}

.btn--mini {
    min-height: 40px;
    padding: 0 14px;
    background: rgba(77, 19, 122, 0.08);
    color: var(--primary);
    font-size: 0.92rem;
}

.category-rail {
    position: sticky;
    top: 10px;
    z-index: 15;
    display: flex;
    gap: 10px;
    overflow-x: auto;
    margin-bottom: 18px;
    padding: 10px;
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.84);
    backdrop-filter: blur(10px);
    box-shadow: 0 18px 34px rgba(53, 39, 69, 0.1);
}

.category-rail::-webkit-scrollbar {
    display: none;
}

.category-rail__item {
    padding: 11px 16px;
    white-space: nowrap;
    background: rgba(77, 19, 122, 0.06);
    color: var(--muted);
}

.category-rail__item.is-current {
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    color: #fff;
}

.catalog {
    display: grid;
    gap: 18px;
}

.catalog-section {
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 18px 38px rgba(50, 37, 67, 0.08);
}

.catalog-section__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.storefront-category__header--featured {
    position: relative;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
    text-align: center;
}

.storefront-category__header--featured > div {
    display: grid;
    justify-items: center;
    margin-inline: auto;
}

.storefront-category__header-image {
    display: block;
    width: min(100%, 360px);
    height: auto;
}

.catalog-section__header h2 {
    margin: 0;
    font-size: 1.35rem;
}

.catalog-section__count {
    padding: 9px 12px;
    background: rgba(77, 19, 122, 0.08);
    color: var(--primary);
}

.storefront-category__header--featured .catalog-section__count {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

@media (max-width: 720px) {
    .storefront-category__header--featured {
        gap: 10px;
    }

    .storefront-category__header--featured .catalog-section__count {
        position: static;
        transform: none;
        margin-inline: auto;
    }

    .storefront-category__header-image {
        width: min(100%, 290px);
    }
}

.product-grid {
    display: grid;
    gap: 14px;
}

.product-card {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: linear-gradient(180deg, #fff, #fcfbff);
}

.product-card__image-wrap {
    position: relative;
    aspect-ratio: 16 / 10;
    background:
        radial-gradient(circle at top right, rgba(143, 92, 255, 0.18), transparent 30%),
        linear-gradient(135deg, rgba(77, 19, 122, 0.1), rgba(255, 255, 255, 0.7));
}

.product-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-card__image--placeholder {
    display: grid;
    place-items: center;
    color: var(--muted);
    font-size: 0.9rem;
}

.product-card__tag {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    padding: 8px 12px;
    background: rgba(255, 255, 255, 0.92);
    color: var(--primary);
    box-shadow: 0 10px 22px rgba(54, 35, 74, 0.14);
}

.product-card__body {
    padding: 16px;
}

.product-card__title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.product-card__title-row h3 {
    margin: 0;
    font-size: 1.08rem;
}

.product-card__title-row strong {
    white-space: nowrap;
    color: var(--primary);
}

.product-card__body p {
    margin: 0 0 16px;
    color: var(--muted);
    line-height: 1.55;
}

.product-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.product-card__order {
    padding: 8px 12px;
    background: var(--surface-soft);
    color: var(--muted);
}

.empty-state {
    padding: 42px 22px;
    text-align: center;
    border: 1px dashed rgba(77, 19, 122, 0.22);
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, 0.8);
}

.empty-state strong {
    display: block;
    margin-bottom: 8px;
    font-size: 1.05rem;
}

.empty-state p {
    margin: 0;
    color: var(--muted);
}

.floating-cart {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 30;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    padding: 0;
    border: 0;
    border-radius: 20px;
    background: linear-gradient(135deg, #f5961e, #ffb247);
    color: #fff;
    font-weight: 700;
    box-shadow: 0 18px 36px rgba(245, 150, 30, 0.28);
    cursor: pointer;
}

.floating-cart__icon {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #171717;
}

.floating-cart__icon svg {
    width: 28px;
    height: 28px;
    stroke: currentColor;
    stroke-width: 1.8;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.floating-cart__count {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 7px;
    border: 3px solid var(--background);
    border-radius: 999px;
    background: #111214;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 800;
}

body.cart-overlay-open {
    overflow: hidden;
}

.cart-overlay {
    position: fixed;
    inset: 0;
    z-index: 80;
    display: grid;
    place-items: end end;
    padding: 16px;
}

.cart-overlay__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 8, 10, 0.26);
}

.cart-overlay__dialog {
    position: relative;
    z-index: 1;
    width: min(100%, 500px);
    max-height: calc(100vh - 120px);
    overflow: auto;
    margin-bottom: 82px;
    border: 1px solid rgba(245, 150, 30, 0.22);
    border-radius: 24px;
    background:
        linear-gradient(180deg, rgba(18, 18, 19, 0.98), rgba(9, 10, 11, 0.99));
    box-shadow:
        0 24px 54px rgba(0, 0, 0, 0.52),
        0 20px 44px rgba(245, 150, 30, 0.16);
}

.cart-overlay__loading {
    padding: 22px;
    color: rgba(255, 255, 255, 0.82);
    text-align: center;
}

.cart-overlay-panel {
    display: grid;
    gap: 18px;
    padding: 20px;
    color: #fff;
}

.cart-overlay-panel .catalog-section__eyebrow {
    margin-bottom: 8px;
    color: #ffbb52;
}

.cart-overlay-panel__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.cart-overlay-panel__top h2 {
    margin: 0;
    font-size: 1.9rem;
    line-height: 0.98;
    color: #fff;
}

.cart-overlay-panel__header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.cart-overlay-panel__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid rgba(245, 150, 30, 0.45);
    border-radius: 999px;
    background: rgba(245, 150, 30, 0.16);
    color: #ffd28f;
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.cart-overlay-panel__close {
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid rgba(245, 150, 30, 0.18);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.04);
    color: rgba(255, 255, 255, 0.86);
    font-size: 1rem;
    cursor: pointer;
}

.cart-overlay-panel__empty {
    display: grid;
    gap: 8px;
    padding: 18px;
    border: 1px dashed rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    color: rgba(255, 255, 255, 0.76);
}

.cart-overlay-panel__empty strong {
    color: #fff;
}

.cart-overlay-list {
    display: grid;
    gap: 12px;
}

.cart-overlay-item {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    align-items: flex-start;
    gap: 12px;
    padding: 14px;
    border: 1px solid rgba(245, 150, 30, 0.12);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.03);
}

.cart-overlay-item__media {
    width: 62px;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(245, 150, 30, 0.12);
}

.cart-overlay-item__media img,
.cart-overlay-item__placeholder {
    width: 100%;
    height: 100%;
}

.cart-overlay-item__media img {
    display: block;
    padding: 4px;
    object-fit: contain;
    background: rgba(255, 253, 251, 0.96);
}

.cart-overlay-item__placeholder {
    display: grid;
    place-items: center;
    padding: 8px;
    color: rgba(255, 255, 255, 0.56);
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
}

.cart-overlay-item__content {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
}

.cart-overlay-item__copy {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.cart-overlay-item__copy strong {
    font-size: 0.98rem;
    line-height: 1.15;
    color: #fff;
}

.cart-overlay-item__copy p,
.cart-overlay-item__copy small {
    margin: 0;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.9rem;
}

.cart-overlay-item__side {
    display: grid;
    gap: 10px;
    justify-items: end;
    flex-shrink: 0;
}

.cart-overlay-item__price {
    color: #ffb247;
    font-size: 1.1rem;
    line-height: 1;
    font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
}

.cart-overlay-item__controls {
    display: flex;
    align-items: center;
    gap: 10px;
}

.cart-overlay-item__button {
    width: 38px;
    height: 38px;
    padding: 0;
    border: 0;
    border-radius: 12px;
    color: #fff;
    font-size: 1.15rem;
    font-weight: 800;
    cursor: pointer;
}

.cart-overlay-item__button--minus {
    background: linear-gradient(135deg, #ff7b1a, #ff5d0a);
}

.cart-overlay-item__button--plus {
    background: linear-gradient(135deg, #ffb347, #f5961e);
    color: #15110a;
}

.cart-overlay-item__button--remove {
    background: rgba(255, 78, 78, 0.12);
    border: 1px solid rgba(255, 78, 78, 0.35);
    color: #ff8d8d;
    font-size: 1rem;
}

.cart-overlay-item__quantity {
    min-width: 24px;
    text-align: center;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 800;
}

.cart-overlay-summary {
    display: grid;
    gap: 10px;
}

.cart-overlay-summary__row,
.cart-overlay-summary__total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.cart-overlay-summary__row {
    color: rgba(255, 255, 255, 0.7);
    font-weight: 700;
}

.cart-overlay-summary__row strong {
    color: rgba(255, 255, 255, 0.82);
}

.cart-overlay-summary__total {
    align-items: flex-start;
    justify-content: flex-start;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.cart-overlay-summary__total > div {
    display: grid;
    gap: 4px;
}

.cart-overlay-summary__total span {
    color: rgba(255, 255, 255, 0.48);
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.cart-overlay-summary__total small {
    color: rgba(255, 255, 255, 0.62);
    line-height: 1.45;
}

.cart-overlay-panel__actions {
    display: grid;
}

.cart-overlay-panel__checkout {
    min-height: 58px;
    border: 1px solid rgba(255, 178, 71, 0.42);
    background: linear-gradient(135deg, #ffae3b, #f5961e);
    box-shadow: 0 18px 34px rgba(245, 150, 30, 0.28);
    color: #16110a;
    font-size: 1rem;
    font-weight: 800;
    text-transform: uppercase;
}

.cart-overlay-panel__checkout:hover {
    background: linear-gradient(135deg, #ffba57, #ff9b1e);
    color: #16110a;
}

@keyframes pulse {
    0%, 100% {
        transform: scale(0.95);
        opacity: 0.45;
    }
    50% {
        transform: scale(1.06);
        opacity: 0.72;
    }
}

@media (min-width: 768px) {
    .store-shell {
        padding-top: 34px;
    }

    .hero-card {
        padding: 32px;
    }

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

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

@media (max-width: 560px) {
    .cart-overlay {
        padding: 12px;
    }

    .cart-overlay__dialog {
        width: min(calc(100vw - 24px), 500px);
        max-height: calc(100vh - 112px);
        margin-bottom: 70px;
        border-radius: 22px;
    }

    .cart-overlay-panel {
        padding: 16px;
    }

    .cart-overlay-panel__top {
        flex-direction: column;
    }

    .cart-overlay-panel__header-actions {
        width: 100%;
        justify-content: space-between;
    }

    .cart-overlay-item {
        grid-template-columns: 56px minmax(0, 1fr);
        align-items: flex-start;
    }

    .cart-overlay-item__media {
        width: 56px;
        border-radius: 12px;
    }

    .cart-overlay-item__content {
        flex-direction: column;
        align-items: stretch;
    }

    .cart-overlay-item__side {
        width: 100%;
        justify-items: stretch;
    }

    .cart-overlay-item__controls {
        justify-content: space-between;
    }

    .cart-overlay-item__button {
        width: 44px;
        height: 44px;
    }

    .cart-overlay-summary__total {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (min-width: 1024px) {
    .product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

[hidden] {
    display: none !important;
}

body.storefront-body {
    background:
        radial-gradient(circle at top, rgba(245, 150, 30, 0.14), transparent 18%),
        linear-gradient(180deg, #f5f1e7 0%, #f7f5ef 38%, #f2eee3 100%);
    color: #181717;
    font-family: "Inter", "Segoe UI", sans-serif;
}

.storefront-body .app-splash {
    background:
        radial-gradient(circle at top, rgba(255, 193, 77, 0.18), transparent 28%),
        linear-gradient(145deg, #080808, #1c1b1d 48%, #4d3517 100%);
}

.storefront-body h1,
.storefront-body h2,
.storefront-body h3 {
    font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
    letter-spacing: 0.01em;
}

.storefront {
    width: min(calc(100% - 24px), 1280px);
    margin: 0 auto;
    padding: 24px 0 110px;
}

.storefront-header {
    position: relative;
    isolation: isolate;
    overflow: visible;
    z-index: 12;
    margin-bottom: 0;
    border-radius: 0;
    background: #0d0d0f;
    color: #fff;
    box-shadow: 0 26px 60px rgba(0, 0, 0, 0.2);
}

.storefront-header__main {
    display: grid;
    gap: 12px;
    padding: 4px 18px 4px;
    position: relative;
    z-index: 30;
}

.storefront-brand-stack {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}

.storefront-brand {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
}

.storefront-brand__mark {
    width: 204px;
    height: 204px;
    display: grid;
    place-items: center;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.storefront-brand__mark img {
    width: 204px;
    height: 204px;
    object-fit: contain;
}

.storefront-brand__mark span {
    color: #181717;
    font-size: 2rem;
    font-weight: 800;
    font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
}

.storefront-back-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 14px;
    border: 1px solid rgba(217, 122, 108, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 12px 24px rgba(97, 74, 59, 0.08);
    color: var(--tropic-coral-deep);
    font-size: 0.88rem;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.storefront-back-button::before {
    content: "←";
    margin-right: 8px;
    font-size: 0.95rem;
    line-height: 1;
}

.storefront-back-button:hover {
    transform: translateY(-1px);
    background: #fff8f2;
    box-shadow: 0 14px 28px rgba(97, 74, 59, 0.12);
    color: var(--tropic-ink);
}

.storefront-back-button {
    --back-main-size: 0.92rem;
    --back-text: #fff7ef;
    --back-bg: linear-gradient(135deg, var(--tropic-coral-deep) 0%, var(--tropic-coral) 62%, #e19f8f 100%);
    --back-bg-hover: linear-gradient(135deg, #cf6e5d 0%, #e58a78 62%, #efaa9a 100%);
    --back-outline: rgba(217, 122, 108, 0.22);
    --back-shadow: rgba(97, 74, 59, 0.28);
    gap: 0;
    padding: 0.42em 0.66em 0.42em 0.92em;
    border: none;
    background: var(--back-bg);
    box-shadow: 0 0 0.25em 0 rgba(217, 122, 108, 0.55);
    color: var(--back-text);
    font-size: var(--back-main-size);
    text-decoration: none;
    transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease, outline-offset 0.22s ease;
}

.storefront-back-button::before {
    content: none;
}

.storefront-back-button span {
    margin-right: 0.38em;
    line-height: 1;
    transition: text-shadow 0.3s ease;
}

.storefront-back-button svg {
    width: 1.04em;
    height: 0.74em;
    fill: currentColor;
    transform: scaleX(-1);
    transform-origin: center;
    transition: margin-right 0.3s ease, filter 0.3s ease;
}

.storefront-back-button svg polygon:nth-child(1) {
    transition: transform 0.35s ease;
    transform: translateX(-60%);
}

.storefront-back-button svg polygon:nth-child(2) {
    transition: transform 0.45s ease;
    transform: translateX(-30%);
}

.storefront-back-button:hover {
    background: var(--back-bg-hover);
    outline: 0.12em solid transparent;
    outline-offset: 0.16em;
    box-shadow:
        0 0 0.8em 0 rgba(217, 122, 108, 0.58),
        0 10px 20px rgba(97, 74, 59, 0.18);
    color: var(--back-text);
    animation:
        storefront-back-ripple 1s linear infinite,
        storefront-back-colorize 1s infinite;
}

.storefront-back-button:hover span {
    text-shadow: 4px 4px 4px var(--back-shadow);
}

.storefront-back-button:hover svg {
    margin-right: 0.28em;
    filter: drop-shadow(4px 4px 2px var(--back-shadow));
}

.storefront-back-button:hover svg polygon:nth-child(1),
.storefront-back-button:hover svg polygon:nth-child(2) {
    transform: translateX(0%);
}

.storefront-back-button:hover svg polygon:nth-child(1) {
    animation: storefront-back-opacity 1s infinite 0.35s;
}

.storefront-back-button:hover svg polygon:nth-child(2) {
    animation: storefront-back-opacity 1s infinite 0.2s;
}

.storefront-back-button:hover svg polygon:nth-child(3) {
    animation: storefront-back-opacity 1s infinite 0.05s;
}

.storefront-back-button:active {
    transform: scale(0.96);
}

@keyframes storefront-back-opacity {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes storefront-back-colorize {
    0% {
        background: var(--back-bg);
    }

    50% {
        background: var(--back-bg-hover);
    }

    100% {
        background: var(--back-bg);
    }
}

@keyframes storefront-back-ripple {
    0% {
        outline: 0 solid transparent;
        outline-offset: -0.08em;
    }

    50% {
        outline: 0.16em solid var(--back-outline);
        outline-offset: 0.16em;
    }

    100% {
        outline: 0.28em solid transparent;
        outline-offset: 0.28em;
    }
}

.storefront-search {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: center;
}

.storefront-search__label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.storefront-search input {
    min-width: 0;
    min-height: 42px;
    padding: 0 18px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 16px;
    background: #fff;
    color: #171717;
    font-size: 1rem;
}

.storefront-search button {
    min-height: 42px;
    padding: 0 18px;
    border: 0;
    border-radius: 16px;
    background: linear-gradient(135deg, #f5961e, #ffb247);
    color: #171717;
    font-weight: 800;
    cursor: pointer;
}

.storefront-cart-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 54px;
    min-width: 54px;
    height: 54px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.04);
    color: #fff;
    font-weight: 700;
}

.storefront-cart-link__icon {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.storefront-cart-link__icon svg {
    width: 24px;
    height: 24px;
    stroke: currentColor;
    stroke-width: 1.8;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.storefront-cart-link__count {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    border-radius: 999px;
    background: linear-gradient(135deg, #f5961e, #ffb247);
    color: #171717;
    font-size: 0.82rem;
    font-weight: 800;
}

.storefront-utility {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    z-index: 60;
}

.storefront-utility-menu__toggle {
    width: 54px;
    height: 54px;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.04);
    color: #fff;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.storefront-utility-menu__toggle:hover,
.storefront-utility.is-open .storefront-utility-menu__toggle {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.22);
}

.storefront-utility-menu__toggle:active {
    transform: scale(0.98);
}

.storefront-utility-menu__toggle span {
    width: 22px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition: transform 0.22s ease, opacity 0.22s ease;
}

.storefront-utility__auth-button {
    position: relative;
    min-width: 106px;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    overflow: visible;
    border: 1px solid #fec195;
    border-radius: 16px;
    background: #fec195;
    box-shadow: 0 8px 16px rgba(97, 74, 59, 0.16);
    color: #181818;
    font-size: 0.88rem;
    font-weight: 700;
    filter: drop-shadow(2px 2px 3px rgba(0, 0, 0, 0.12));
    transition: border-color 0.3s ease, transform 0.2s ease, box-shadow 0.24s ease, background 0.3s ease;
}

.storefront-utility__auth-button:hover {
    border-color: #f3b182;
    background: linear-gradient(85deg, #fec195, #fcc196, #fabd92, #fac097, #fac39c);
    animation: storefrontAuthWind 2s ease-in-out infinite;
    box-shadow: 0 14px 24px rgba(97, 74, 59, 0.2);
}

.storefront-utility__auth-button:active {
    transform: scale(0.98);
}

.storefront-utility__auth-text {
    position: relative;
    z-index: 2;
}

.storefront-utility__auth-icon {
    position: absolute;
    top: 0;
    transform-origin: 50% 0;
    transition: transform 0.5s ease-in-out;
    pointer-events: none;
    filter: drop-shadow(2px 2px 3px rgba(0, 0, 0, 0.25));
}

.storefront-utility__auth-icon svg {
    width: 100%;
    height: auto;
    display: block;
    fill: #181818;
}

.storefront-utility__auth-icon--1 {
    top: -2px;
    right: -2px;
    width: 18px;
    transform-origin: 0 0;
    transform: rotate(10deg);
}

.storefront-utility__auth-button:hover .storefront-utility__auth-icon--1 {
    animation: storefrontAuthSlay1 3s cubic-bezier(0.52, 0, 0.58, 1) infinite;
}

.storefront-utility__auth-icon--2 {
    top: -1px;
    left: 15px;
    width: 8px;
    transform: rotate(10deg);
}

.storefront-utility__auth-button:hover .storefront-utility__auth-icon--2 {
    animation: storefrontAuthSlay2 3s cubic-bezier(0.52, 0, 0.58, 1) 1s infinite;
    transform: rotate(0deg);
}

.storefront-utility__auth-icon--3 {
    top: -1px;
    left: -1px;
    width: 12px;
    transform: rotate(-5deg);
}

.storefront-utility__auth-button:hover .storefront-utility__auth-icon--3 {
    animation: storefrontAuthSlay3 2s cubic-bezier(0.52, 0, 0.58, 1) 1s infinite;
    transform: rotate(0deg);
}

@keyframes storefrontAuthWind {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 50% 100%;
    }

    100% {
        background-position: 0% 50%;
    }
}

@keyframes storefrontAuthSlay1 {
    0%,
    100% {
        transform: rotate(10deg);
    }

    50% {
        transform: rotate(-5deg);
    }
}

@keyframes storefrontAuthSlay2 {
    0%,
    100% {
        transform: rotate(0deg);
    }

    50% {
        transform: rotate(15deg);
    }
}

@keyframes storefrontAuthSlay3 {
    0%,
    100% {
        transform: rotate(0deg);
    }

    50% {
        transform: rotate(-5deg);
    }
}

.storefront-utility.is-open .storefront-utility-menu__toggle span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

.storefront-utility.is-open .storefront-utility-menu__toggle span:nth-child(2) {
    opacity: 0;
}

.storefront-utility.is-open .storefront-utility-menu__toggle span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

.storefront-utility-menu__panel {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    z-index: 80;
    min-width: 240px;
    max-width: min(280px, calc(100vw - 24px));
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    background: rgba(16, 16, 18, 0.98);
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.3);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
}

.storefront-utility.is-open .storefront-utility-menu__panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.storefront-utility-menu__welcome {
    padding: 2px 2px 6px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.9rem;
    line-height: 1.4;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.storefront-utility-menu__section {
    display: none;
}

.storefront-utility-menu__section-title {
    display: block;
    margin-bottom: 10px;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.storefront-utility-menu__category-links {
    display: grid;
    gap: 8px;
}

.storefront-utility-menu__category-link {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 14px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #fff;
    font-size: 0.9rem;
    font-weight: 600;
}

.storefront-utility-menu__category-link.is-current {
    color: #ffbb52;
    border-color: rgba(255, 187, 82, 0.34);
    background: rgba(255, 187, 82, 0.08);
}

.storefront-utility__link,
.storefront-utility__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 14px;
    border-radius: 14px;
    font-size: 0.95rem;
    font-weight: 600;
}

.storefront-utility-menu__panel .storefront-utility__link,
.storefront-utility-menu__panel .storefront-utility__cta {
    width: 100%;
    justify-content: flex-start;
    min-height: 44px;
    padding: 0 14px;
    border-radius: 14px;
}

.storefront-utility__link {
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: #fff;
}

.storefront-utility__cta {
    background: #fff;
    color: #171717;
}

.storefront-nav-wrap {
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 35;
    padding: 0 18px 0;
    margin-top: -40px;
}

.storefront-nav {
    display: inline-flex;
    justify-content: center;
    gap: 6px;
    overflow-x: auto;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
    padding: 2px;
    border-radius: 20px;
    background: transparent;
}

.storefront-nav::-webkit-scrollbar {
    display: none;
}

.storefront-brand-grid-section {
    margin-bottom: 18px;
}

.storefront-brand-grid {
    display: grid;
    gap: 16px;
}

.storefront-brand-card {
    overflow: hidden;
    display: block;
    border: 1px solid rgba(77, 19, 122, 0.12);
    border-radius: 24px;
    background: transparent;
    box-shadow: 0 18px 36px rgba(46, 30, 60, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.storefront-brand-card:hover {
    transform: translateY(-2px);
    border-color: rgba(245, 150, 30, 0.28);
    box-shadow: 0 24px 42px rgba(46, 30, 60, 0.12);
}

.storefront-brand-card__media {
    aspect-ratio: 1 / 1;
    display: grid;
    place-items: center;
    padding: 0;
    background: transparent;
}

.storefront-brand-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
    box-shadow: 0 18px 28px rgba(20, 13, 26, 0.18);
}

.storefront-nav__link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0.55rem 1.2rem;
    overflow: hidden;
    isolation: isolate;
    border: double 3px transparent;
    border-radius: 999px;
    white-space: nowrap;
    color: #ffffff;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    background-image:
        linear-gradient(#212121, #212121),
        linear-gradient(137.48deg, #ffdb3b 10%, #fe53bb 45%, #8f51ea 67%, #0044ff 87%);
    background-origin: border-box;
    background-clip: padding-box, border-box;
    background-size: 300% 300%;
    backdrop-filter: blur(1rem);
    box-shadow: 0 0 0.35em 0 rgba(143, 81, 234, 0.28);
    transition: transform 0.35s ease, box-shadow 0.35s ease, background 0.35s ease;
    animation: storefront-nav-gradient 5s ease infinite;
}

.storefront-nav__link:hover {
    transform: scale(1.08);
    box-shadow: 0 0 1em 0 rgba(254, 83, 187, 0.36);
}

.storefront-nav__link:active {
    transform: scale(0.96);
    border-color: #fe53bb;
    animation: none;
}

.storefront-nav__link.is-current {
    box-shadow:
        0 0 1.05em 0 rgba(254, 83, 187, 0.42),
        0 0 1.4em 0 rgba(0, 68, 255, 0.18);
}

.storefront-nav__label {
    position: relative;
    z-index: 2;
    color: inherit;
    text-shadow: 0 0 4px rgba(255, 255, 255, 0.88);
}

.storefront-nav__stars-shell {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    border-radius: inherit;
    opacity: 0;
    background: rgba(33, 33, 33, 0.92);
    transition: opacity 0.35s ease, background-color 0.35s ease;
    pointer-events: none;
}

.storefront-nav__stars {
    position: relative;
    display: block;
    width: 200rem;
    height: 200rem;
    background: transparent;
}

.storefront-nav__stars::before,
.storefront-nav__stars::after {
    content: "";
    position: absolute;
    background-image: radial-gradient(#ffffff 1px, transparent 1%);
    background-size: 50px 50px;
}

.storefront-nav__stars::before {
    top: 0;
    left: -50%;
    width: 170%;
    height: 500%;
    opacity: 0.45;
    animation: storefront-nav-stars 60s linear infinite;
}

.storefront-nav__stars::after {
    top: -10rem;
    left: -100rem;
    width: 100%;
    height: 100%;
    animation: storefront-nav-stars-rotate 90s linear infinite;
}

.storefront-nav__glow {
    position: absolute;
    z-index: 1;
    display: flex;
    width: 11rem;
    pointer-events: none;
}

.storefront-nav__circle {
    width: 100%;
    height: 26px;
    filter: blur(1.7rem);
    animation: storefront-nav-glow-pulse 4s infinite;
}

.storefront-nav__circle:nth-child(1) {
    background: rgba(254, 83, 186, 0.58);
}

.storefront-nav__circle:nth-child(2) {
    background: rgba(142, 81, 234, 0.62);
}

.storefront-nav__link:hover .storefront-nav__stars-shell,
.storefront-nav__link.is-current .storefront-nav__stars-shell {
    opacity: 1;
}

.storefront-nav__link:active .storefront-nav__circle {
    background: #fe53bb;
}

@keyframes storefront-nav-stars {
    from {
        transform: translateY(0);
    }

    to {
        transform: translateY(-135rem);
    }
}

@keyframes storefront-nav-stars-rotate {
    from {
        transform: rotate(360deg);
    }

    to {
        transform: rotate(0);
    }
}

@keyframes storefront-nav-gradient {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

@keyframes storefront-nav-glow-pulse {
    0% {
        transform: scale(0.75);
        box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);
    }

    70% {
        transform: scale(1);
        box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
    }

    100% {
        transform: scale(0.75);
        box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    }
}

.storefront-announcement {
    position: relative;
    z-index: 4;
    margin-bottom: 18px;
    padding: 11px 18px;
    border-radius: 0 0 24px 24px;
    background: linear-gradient(135deg, #f5961e, #ffae3c);
    color: #fff;
    text-align: center;
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    box-shadow: 0 16px 34px rgba(245, 150, 30, 0.18);
}

.storefront-showcase {
    display: grid;
    gap: 18px;
    align-items: start;
    margin-bottom: 18px;
}

.storefront-showcase__content,
.storefront-showcase__feature {
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 18px 40px rgba(39, 34, 25, 0.08);
}

.storefront-showcase__content {
    padding: 28px 22px;
    background:
        radial-gradient(circle at top right, rgba(245, 150, 30, 0.12), transparent 32%),
        linear-gradient(180deg, #fff, #fdf8ef);
}

.storefront-showcase__eyebrow,
.storefront-toolbar__eyebrow,
.storefront-showcase__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(245, 150, 30, 0.12);
    color: #d27700;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.storefront-showcase__content h1 {
    margin: 14px 0 12px;
    font-size: clamp(2.6rem, 7vw, 4.8rem);
    line-height: 0.9;
    text-transform: uppercase;
}

.storefront-showcase__content p {
    margin: 0;
    max-width: 58ch;
    color: #4d4942;
    font-size: 1rem;
    line-height: 1.7;
}

.storefront-showcase__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
}

.btn--accent,
.btn--light,
.btn--dark,
.btn--outline {
    border-radius: 16px;
}

.btn--accent {
    background: linear-gradient(135deg, #f5961e, #ffb247);
    color: #171717;
    box-shadow: 0 18px 32px rgba(245, 150, 30, 0.22);
}

.btn--light {
    background: rgba(23, 23, 23, 0.06);
    color: #171717;
}

.btn--dark {
    background: #1a1a1c;
    color: #fff;
}

.btn--outline {
    border: 1px solid rgba(23, 23, 23, 0.12);
    background: #fff;
    color: #171717;
}

.storefront-showcase__metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 22px;
}

.storefront-metric {
    padding: 14px;
    border: 1px solid rgba(23, 23, 23, 0.08);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.82);
}

.storefront-metric strong {
    display: block;
    margin-bottom: 4px;
    font-size: 1.6rem;
    font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
}

.storefront-metric span {
    color: #68635b;
    font-size: 0.92rem;
}

.storefront-showcase__feature {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 14px;
    align-content: start;
    padding: 20px;
    background:
        linear-gradient(135deg, #ff9514 0%, #ca7e1e 42%, #4a355e 42%, #4a355e 100%);
    color: #fff;
}

.storefront-showcase__badge {
    margin-bottom: 16px;
    gap: 8px;
    background: rgba(255, 255, 255, 0.16);
    color: #fff2d9;
}

.storefront-showcase__badge svg {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    fill: currentColor;
}

.storefront-showcase__marquee-header {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 12px;
    text-align: center;
}

.storefront-showcase__marquee-header .storefront-showcase__badge {
    margin-bottom: 0;
    margin-inline: auto;
}

.storefront-showcase__marquee-header strong {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.88rem;
    font-weight: 700;
}

.storefront-showcase__marquee-shell {
    position: relative;
    display: grid;
    gap: 10px;
    min-height: 0;
    padding: 18px;
    border-radius: 28px;
    background:
        linear-gradient(135deg, rgba(255, 191, 96, 0.16) 0%, rgba(255, 191, 96, 0.06) 42%, rgba(49, 34, 69, 0.1) 42%, rgba(49, 34, 69, 0.16) 100%);
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.08),
        0 20px 36px rgba(20, 16, 27, 0.1);
    overflow: hidden;
    isolation: isolate;
}

.storefront-showcase__marquee-shell::before,
.storefront-showcase__marquee-shell::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.storefront-showcase__marquee-shell::before {
    inset: 0;
    border-radius: 24px;
    background:
        linear-gradient(135deg, rgba(247, 166, 49, 0.96) 0%, rgba(229, 148, 31, 0.9) 47%, rgba(92, 66, 120, 0.94) 47%, rgba(77, 57, 103, 0.96) 100%);
    z-index: 0;
}

.storefront-showcase__marquee-shell::after {
    inset: 0;
    border-radius: 28px;
    background:
        linear-gradient(90deg, rgba(74, 53, 94, 0.2), transparent 13%, transparent 87%, rgba(74, 53, 94, 0.24)),
        linear-gradient(180deg, rgba(74, 53, 94, 0.12), transparent 16%, transparent 84%, rgba(74, 53, 94, 0.2));
    z-index: 2;
}

.storefront-showcase__viewport {
    position: relative;
    z-index: 1;
    overflow: hidden;
    padding: 8px 6px;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    touch-action: pan-y;
    overscroll-behavior-x: contain;
}

.storefront-showcase__viewport.is-dragging {
    cursor: grabbing;
}

.storefront-showcase__carousel-track {
    display: flex;
    align-items: stretch;
    gap: 14px;
    width: max-content;
    transition: transform 850ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
}

.storefront-showcase__mini-card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr;
    align-items: start;
    gap: 16px;
    flex: 0 0 clamp(250px, 22vw, 310px);
    min-height: 248px;
    padding: 18px;
    border-radius: 24px;
    background: rgba(255, 248, 238, 0.97);
    color: #1d1a22;
    box-shadow: 0 12px 24px rgba(20, 16, 27, 0.14);
    text-decoration: none;
    user-select: none;
    -webkit-user-select: none;
    -webkit-user-drag: none;
    touch-action: pan-y;
}

.storefront-showcase__promo-ribbon {
    position: absolute;
    top: 12px;
    right: -30px;
    z-index: 2;
    min-width: 116px;
    padding: 6px 0 5px;
    border-radius: 8px 8px 0 0;
    background: linear-gradient(135deg, #ff7b33, #ff944a);
    color: #fff;
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-align: center;
    text-transform: uppercase;
    box-shadow: 0 8px 14px rgba(240, 90, 40, 0.18);
    transform: rotate(45deg);
    transform-origin: center;
}

.storefront-showcase__mini-media {
    height: 142px;
    border-radius: 22px;
    overflow: hidden;
    background: linear-gradient(180deg, #fff7ec, #f6e0bf);
    touch-action: pan-y;
}

.storefront-showcase__mini-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    -webkit-user-drag: none;
}

.storefront-showcase__mini-copy {
    display: grid;
    gap: 8px;
    align-content: start;
}

.storefront-showcase__mini-copy span,
.storefront-showcase__mini-copy small {
    display: block;
    line-height: 1.2;
}

.storefront-showcase__mini-copy span {
    color: #8c4b00;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.storefront-showcase__mini-copy strong {
    font-size: 1.55rem;
    line-height: 0.92;
    text-transform: uppercase;
    font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
}

.storefront-showcase__mini-copy small {
    color: #4a355e;
    font-size: 1rem;
    font-weight: 700;
}

.storefront-showcase__carousel-note {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.88rem;
}

.storefront-showcase__carousel-note span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.storefront-showcase__carousel-note strong {
    font-weight: 700;
}

.storefront-showcase__details--marquee {
    display: grid;
    gap: 6px 18px;
    max-width: none;
    padding-top: 4px;
}

.storefront-showcase__details--marquee h2 {
    max-width: 18ch;
    margin-bottom: 0;
    font-size: clamp(1.15rem, 2.2vw, 1.6rem);
    line-height: 1.02;
}

.storefront-showcase__details--marquee p {
    max-width: 56ch;
    margin: 0;
    font-size: 0.94rem;
    line-height: 1.5;
}

.storefront-showcase__media {
    aspect-ratio: 16 / 10;
    display: grid;
    place-items: center;
    margin-bottom: 16px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.14);
    overflow: hidden;
}

.storefront-showcase__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.storefront-showcase__placeholder {
    color: rgba(255, 255, 255, 0.78);
    font-weight: 700;
    text-transform: uppercase;
}

.storefront-showcase__details span {
    display: inline-block;
    margin-bottom: 8px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.storefront-showcase__details h2 {
    margin: 0 0 10px;
    font-size: clamp(2rem, 6vw, 3rem);
    line-height: 0.95;
    text-transform: uppercase;
}

.storefront-showcase__details p {
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.65;
}

.storefront-showcase__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 18px;
}

.storefront-showcase__footer strong {
    font-size: clamp(1.9rem, 5vw, 3rem);
    line-height: 1;
    font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
}

.storefront-showcase__empty strong {
    display: block;
    margin-bottom: 8px;
    font-size: 1.2rem;
}

.storefront-showcase__empty p {
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
}

.storefront-benefits {
    display: grid;
    gap: 10px;
    margin-bottom: 24px;
    padding: 18px;
    border-radius: 26px;
    background: linear-gradient(135deg, #f5961e, #da8508);
    color: #fff;
    box-shadow: 0 18px 40px rgba(245, 150, 30, 0.18);
}

.storefront-benefit {
    padding: 14px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.storefront-benefit:last-child {
    border-bottom: 0;
}

.storefront-benefit strong {
    display: block;
    margin-bottom: 4px;
    font-size: 1rem;
    text-transform: uppercase;
}

.storefront-benefit span {
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.95rem;
    line-height: 1.5;
}

.storefront-category-links {
    display: grid;
    gap: 14px;
    margin-bottom: 24px;
}

.storefront-category-link-card {
    display: grid;
    gap: 6px;
    padding: 20px 18px;
    border-radius: 24px;
    background: linear-gradient(180deg, #fff, #fff7ec);
    box-shadow: 0 16px 34px rgba(39, 34, 25, 0.08);
    border: 1px solid rgba(23, 23, 23, 0.06);
}

.storefront-category-link-card__eyebrow {
    color: #cf7900;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.storefront-category-link-card strong {
    font-size: 1.6rem;
    line-height: 0.95;
    text-transform: uppercase;
    font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
}

.storefront-category-link-card small {
    color: #6d685e;
    font-size: 0.92rem;
}

.storefront-toolbar {
    display: grid;
    gap: 16px;
    align-items: end;
    margin-bottom: 18px;
}

.storefront-toolbar__intro {
    max-width: 760px;
}

.storefront-toolbar__intro h2 {
    margin: 10px 0 8px;
    font-size: clamp(2rem, 5vw, 3.5rem);
    line-height: 0.96;
    text-transform: uppercase;
}

.storefront-toolbar__intro p {
    margin: 0;
    color: #59554d;
    line-height: 1.7;
}

.storefront-toolbar__status {
    display: inline-flex;
    align-items: center;
    min-height: 52px;
    padding: 0 18px;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 32px rgba(40, 34, 25, 0.08);
    color: #4b463d;
    font-weight: 600;
}

.storefront-search-empty {
    margin-bottom: 18px;
}

.storefront-page-heading {
    display: grid;
    gap: 18px;
    align-items: end;
    margin-bottom: 22px;
    padding: 24px 22px;
    border-radius: 28px;
    background: linear-gradient(180deg, #fff, #fff7ec);
    box-shadow: 0 18px 40px rgba(36, 32, 24, 0.08);
}

.storefront-page-heading__content h1 {
    margin: 10px 0 8px;
    font-size: clamp(2.2rem, 6vw, 4rem);
    line-height: 0.95;
    text-transform: uppercase;
}

.storefront-page-heading__content p {
    margin: 0;
    color: #5c574f;
    line-height: 1.7;
}

.storefront-page-heading__actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.storefront-page-heading--promotions,
.storefront-page-heading--with-back {
    position: relative;
    grid-template-columns: 1fr;
    justify-items: center;
    align-items: center;
    overflow: hidden;
    padding-top: 62px;
}

.storefront-page-heading.storefront-page-heading--promotions {
    min-height: 238px;
    padding-top: 54px;
    padding-bottom: 30px;
    background:
        radial-gradient(circle at 18% 16%, rgba(255, 241, 232, 0.36), rgba(255, 241, 232, 0) 28%),
        radial-gradient(circle at 84% 18%, rgba(255, 196, 132, 0.22), rgba(255, 196, 132, 0) 24%),
        linear-gradient(180deg, #eba38f 0%, #df8b73 55%, #d2705b 100%);
}

.storefront-page-heading.storefront-page-heading--category-feature {
    min-height: 238px;
    padding-top: 54px;
    padding-bottom: 30px;
    background:
        radial-gradient(circle at 18% 16%, rgba(255, 241, 232, 0.36), rgba(255, 241, 232, 0) 28%),
        radial-gradient(circle at 84% 18%, rgba(255, 196, 132, 0.22), rgba(255, 196, 132, 0) 24%),
        linear-gradient(180deg, #eba38f 0%, #df8b73 55%, #d2705b 100%);
}

.storefront-page-heading__back {
    position: absolute;
    top: 24px;
    left: 22px;
    min-height: 46px;
    padding: 0 18px 0 14px;
    border: 1px solid rgba(217, 122, 108, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 14px 28px rgba(118, 83, 63, 0.12);
    color: var(--tropic-coral-deep);
    font-weight: 700;
    letter-spacing: 0.01em;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.storefront-page-heading__back::before {
    content: "←";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin-right: 10px;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(217, 122, 108, 0.16), rgba(221, 163, 166, 0.22));
    color: inherit;
    font-size: 1rem;
    line-height: 1;
}

.storefront-page-heading__back:hover {
    transform: translateY(-1px);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(255, 247, 242, 0.96));
    box-shadow: 0 18px 34px rgba(118, 83, 63, 0.16);
    color: var(--tropic-ink);
}

.storefront-page-heading__back {
    z-index: 3;
}

.storefront-page-heading--promotions .storefront-page-heading__content {
    position: relative;
    z-index: 2;
    align-self: start;
    width: 100%;
    max-width: 760px;
    text-align: center;
    margin-top: -14px;
}

.storefront-page-heading--promotions .storefront-page-heading__content h1 {
    margin-top: 0;
}

.storefront-page-heading__title-image {
    display: block;
    max-width: 100%;
    height: auto;
}

.storefront-page-heading__title-image--promotions {
    width: min(100%, 500px);
    margin: 0 auto;
}

.storefront-page-heading__title-image--category {
    width: auto;
    max-width: min(100%, 500px);
    height: 86px;
    margin: 0 auto;
}

.storefront-page-heading--promotions .storefront-toolbar__eyebrow {
    margin-inline: auto;
}

.storefront-page-heading__back::before {
    content: "\2190";
}

.storefront-page-heading--promotions .storefront-page-heading__content {
    z-index: 4;
    margin-top: 2px;
}

.storefront-page-heading--category-feature .storefront-page-heading__content {
    position: relative;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: start;
    width: 100%;
    max-width: 760px;
    min-height: 112px;
    text-align: center;
    margin-top: 2px;
}

.storefront-fire-banner {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 46%;
    overflow: hidden;
    pointer-events: none;
    z-index: 1;
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.22) 14%, #000 30%, #000 100%);
    mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.22) 14%, #000 30%, #000 100%);
}

.storefront-fire-banner__glow {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    height: 94px;
    background:
        radial-gradient(circle at 20% 84%, rgba(255, 208, 110, 0.16), transparent 34%),
        radial-gradient(circle at 52% 86%, rgba(255, 112, 18, 0.15), transparent 34%),
        radial-gradient(circle at 82% 82%, rgba(207, 36, 18, 0.14), transparent 32%);
    filter: blur(14px);
    z-index: 1;
}

.storefront-fire-banner__svg {
    position: absolute;
    left: 0;
    bottom: -6px;
    width: 100%;
    height: 104%;
    display: block;
    z-index: 2;
    will-change: transform;
}

.storefront-fire-banner__canvas {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 78%;
    width: 100%;
    display: block;
    z-index: 3;
}

.storefront-fire-banner__spark-shapes .flame {
    fill: #ffd54a;
}

.storefront-fire-banner__inner-flames .flame {
    fill: #f77f00;
}

.storefront-fire-banner .flame-main.one {
    fill: #7a0c0c;
}

.storefront-fire-banner .flame-main.two {
    fill: #d62828;
}

.storefront-fire-banner .flame-main.warm {
    fill: #f77f00;
    opacity: 0.9;
}

.storefront-fire-banner .flame-main.glow {
    fill: #ffd54a;
    opacity: 0.5;
}

.storefront-fire-banner .flame {
    animation-name: flameDisappear;
    animation-duration: 2s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    opacity: 0.5;
    transform-origin: 45% 45% 0;
}

.storefront-fire-banner .flame.one {
    animation-delay: 1s;
    animation-duration: 3s;
}

.storefront-fire-banner .flame.two {
    animation-duration: 5s;
    animation-delay: 1s;
}

.storefront-fire-banner .flame-main {
    animation-name: flameMovement;
    animation-duration: 2s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    transform-origin: center bottom;
    will-change: transform;
}

.storefront-fire-banner .flame-main.one {
    animation-duration: 2.2s;
    animation-delay: 1s;
}

.storefront-fire-banner .flame-main.two {
    animation-duration: 2s;
    animation-delay: 1s;
}

.storefront-fire-banner .flame-main.three {
    animation-duration: 2.1s;
    animation-delay: 3s;
}

.storefront-page-heading--centered {
    grid-template-columns: 1fr;
    justify-items: center;
    align-items: center;
}

.storefront-page-heading--centered .storefront-page-heading__content {
    width: 100%;
    max-width: 760px;
    text-align: center;
}

.storefront-page-heading--back-only {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    min-height: 0;
    margin-bottom: 12px;
    padding: 0;
    background: transparent;
    box-shadow: none;
}

.storefront-page-heading--back-only .storefront-page-heading__back {
    position: static;
}

.storefront-page-heading--centered .storefront-toolbar__eyebrow {
    margin-inline: auto;
}

.storefront-brand-hero {
    display: grid;
    gap: 18px;
    margin-bottom: 22px;
    padding: 22px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 18px 40px rgba(36, 32, 24, 0.08);
}

.storefront-brand-hero__media {
    max-width: 320px;
    aspect-ratio: 1 / 1;
    display: grid;
    place-items: center;
    padding: 18px;
    border-radius: 24px;
    background: linear-gradient(135deg, #6e2ad8, #905cff);
}

.storefront-brand-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 18px;
    box-shadow: 0 18px 28px rgba(20, 13, 26, 0.2);
}

.storefront-brand-hero__body {
    align-self: center;
}

.storefront-brand-hero__body h2 {
    margin: 12px 0 8px;
    font-size: clamp(2rem, 5vw, 3.6rem);
    line-height: 0.94;
    text-transform: uppercase;
}

.storefront-brand-hero__body p {
    margin: 0;
    color: #59554d;
    line-height: 1.7;
}

.storefront-category {
    padding: 22px;
    border-radius: 28px;
    border: 1px solid rgba(18, 18, 18, 0.06);
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 18px 40px rgba(36, 32, 24, 0.06);
}

.storefront-category__header {
    margin-bottom: 18px;
}

.storefront-category__description {
    margin: 6px 0 0;
    color: #68635c;
    line-height: 1.5;
}

.storefront-product-grid {
    gap: 18px;
    justify-items: center;
}

.storefront-product-card {
    width: min(100%, 338px);
    border-radius: 24px;
    border: 1px solid rgba(23, 23, 23, 0.08);
    background: linear-gradient(180deg, #fff, #fff9f2);
    box-shadow: 0 12px 28px rgba(37, 31, 23, 0.06);
    cursor: pointer;
}

.storefront-product-card__image-wrap {
    --product-card-media-inset: 14px;
    aspect-ratio: 4 / 4.72;
    display: block;
    overflow: hidden;
    box-sizing: border-box;
    padding: var(--product-card-media-inset) var(--product-card-media-inset) 0;
    background:
        radial-gradient(circle at top right, rgba(245, 150, 30, 0.2), transparent 28%),
        linear-gradient(135deg, rgba(240, 237, 231, 0.8), #fff);
}

.storefront-product-card__image-frame {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 18px 18px 0 0;
    background: linear-gradient(180deg, rgba(255, 251, 247, 0.98), rgba(244, 230, 215, 0.96));
}

.storefront-product-card img.product-card__image {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    object-fit: cover;
    object-position: center top;
    background: transparent;
    transform: none;
}

.storefront-product-card__media-link {
    display: block;
}

.storefront-product-card__body {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.storefront-product-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.storefront-product-card__meta span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(245, 150, 30, 0.1);
    color: #aa6400;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
}

.storefront-product-card .product-card__title-row {
    width: 100%;
    min-width: 0;
    margin-bottom: 0;
    justify-content: center;
    padding-inline: 10px;
    box-sizing: border-box;
    overflow: hidden;
}

.storefront-product-card .product-card__title-row h3 {
    width: 100%;
    min-width: 0;
    font-size: 1.55rem;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.storefront-product-card .product-card__title-row h3 a {
    color: inherit;
    display: block;
    width: 100%;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.storefront-product-card .product-card__body p {
    margin-bottom: 0;
    color: #5c574f;
}

.storefront-product-card__badge-row {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 30px;
    overflow: hidden;
}

.storefront-product-card__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    max-width: 100%;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.storefront-product-card__badge.is-featured,
.storefront-product-card__badge.is-promo {
    background: rgba(221, 163, 166, 0.2);
    color: var(--tropic-coral-deep);
}

.storefront-product-card__badge.is-discount {
    background: linear-gradient(135deg, var(--tropic-coral-deep), var(--tropic-coral) 62%, #e19f8f 100%);
    color: #fff;
}

.storefront-product-card__badge.is-trending {
    background: rgba(151, 179, 155, 0.2);
    color: #5f7c64;
}

.storefront-product-card__flavors {
    display: grid;
    gap: 8px;
    margin-top: 2px;
}

.storefront-product-card__flavors label {
    color: #7a746a;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.storefront-product-card__flavors select {
    width: 100%;
    min-height: 44px;
    padding: 0 14px;
    border: 1px solid rgba(23, 23, 23, 0.12);
    border-radius: 14px;
    background: #fff;
    color: #171717;
    font: inherit;
}

.storefront-product-card__flavors select.is-invalid {
    border-color: rgba(209, 67, 67, 0.65);
    box-shadow: 0 0 0 3px rgba(209, 67, 67, 0.12);
}

.storefront-product-card__flavor-hint {
    color: #5c574f;
    font-size: 0.82rem;
}

.storefront-product-card__flavor-hint.is-error {
    color: #d14343;
}

.storefront-product-card__details {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.storefront-product-card__details-toggle {
    width: 100%;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid rgba(23, 23, 23, 0.12);
    border-radius: 14px;
    background: #fff;
    color: #171717;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.storefront-product-card__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.storefront-product-card__details-content {
    padding: 14px;
    border: 1px solid rgba(23, 23, 23, 0.08);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.82);
}

.storefront-product-card__details-content p {
    margin: 0;
}

.storefront-product-card__flavor-stock {
    color: #5f594f;
    font-size: 0.82rem;
    font-weight: 600;
}

.storefront-product-card__footer {
    align-items: flex-end;
}

.storefront-product-card__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.storefront-product-card__actions form {
    display: inline-flex;
}

.storefront-product-card__pricing {
    display: grid;
    gap: 2px;
}

.storefront-product-card__pricing span {
    color: #7a746a;
    font-size: 0.85rem;
    font-weight: 600;
}

.storefront-product-card__pricing strong {
    font-size: 1.5rem;
    line-height: 1;
    color: #171717;
    font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
}

.storefront-product-detail {
    display: grid;
    gap: 20px;
    margin-bottom: 28px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 18px 40px rgba(36, 32, 24, 0.08);
}

.storefront-product-detail__gallery {
    display: grid;
    gap: 12px;
}

.storefront-product-detail__main {
    overflow: hidden;
    border-radius: 24px;
    background: linear-gradient(180deg, #fff, #fff9f2);
    border: 1px solid rgba(23, 23, 23, 0.08);
}

.storefront-product-detail__main img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.storefront-product-detail__thumbs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(72px, 1fr));
    gap: 10px;
}

.storefront-product-detail__thumb {
    padding: 0;
    overflow: hidden;
    border: 2px solid transparent;
    border-radius: 16px;
    background: #fff;
    cursor: pointer;
}

.storefront-product-detail__thumb.is-active {
    border-color: rgba(245, 150, 30, 0.72);
    box-shadow: 0 12px 20px rgba(245, 150, 30, 0.12);
}

.storefront-product-detail__thumb img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.storefront-product-detail__info {
    display: grid;
    gap: 16px;
}

.storefront-product-detail__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.storefront-product-detail__meta span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(77, 19, 122, 0.07);
    color: var(--primary);
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
}

.storefront-product-detail__meta .is-stock {
    background: rgba(28, 154, 101, 0.12);
    color: #1c9a65;
}

.storefront-product-detail__meta .is-out {
    background: rgba(209, 67, 67, 0.12);
    color: #d14343;
}

.storefront-product-detail__price {
    display: grid;
    gap: 6px;
}

.storefront-product-detail__price small {
    color: #7a746a;
    font-size: 0.9rem;
    font-weight: 700;
}

.storefront-product-detail__price strong {
    font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
    font-size: clamp(2rem, 6vw, 3.4rem);
    line-height: 0.95;
    text-transform: uppercase;
}

.storefront-product-detail__description {
    display: grid;
    gap: 10px;
    padding: 18px;
    border: 1px solid rgba(23, 23, 23, 0.08);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 249, 242, 0.96));
    color: #514b41;
    line-height: 1.75;
}

.storefront-product-detail__description div {
    font-size: 1rem;
}

.storefront-product-detail__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
}

.storefront-product-detail__actions .btn {
    min-width: 220px;
}

.storefront-product-detail__cart-form {
    display: grid;
    gap: 12px;
    min-width: min(100%, 320px);
}

.storefront-product-detail__details {
    display: grid;
    gap: 12px;
}

.storefront-product-detail__details-toggle {
    min-height: 52px;
    font-size: 1rem;
}

.storefront-product-detail__quantity {
    min-width: min(100%, 320px);
}

.storefront-quantity-field {
    display: grid;
    gap: 8px;
}

.storefront-quantity-field__label {
    color: #5f594f;
    font-size: 0.84rem;
    font-weight: 800;
    text-transform: uppercase;
}

.storefront-quantity-stepper {
    display: inline-grid;
    grid-template-columns: 52px 74px 52px;
    align-items: center;
    gap: 10px;
}

.storefront-quantity-button {
    width: 52px;
    min-width: 52px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 14px;
    color: #fff;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    transition: transform 0.16s ease, opacity 0.16s ease, filter 0.16s ease;
}

.storefront-quantity-button:hover {
    filter: brightness(1.05);
}

.storefront-quantity-button:active {
    transform: scale(0.97);
}

.storefront-quantity-button:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    filter: none;
}

.storefront-quantity-button--minus {
    background: linear-gradient(135deg, #ff5b5b, #ef3a3a);
}

.storefront-quantity-button--plus {
    background: linear-gradient(135deg, #21d14d, #11b83a);
}

.storefront-quantity-input {
    width: 74px;
    min-height: 46px;
    padding: 0 8px;
    border: 0;
    border-radius: 14px;
    background: #111214;
    color: #fff;
    font: inherit;
    font-weight: 800;
    text-align: center;
    appearance: textfield;
    -moz-appearance: textfield;
}

.storefront-quantity-input:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

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

.cart-layout {
    display: grid;
    gap: 18px;
}

.cart-main,
.cart-sidebar {
    min-width: 0;
}

.empty-state--cart {
    display: grid;
    gap: 14px;
    justify-items: start;
}

.cart-list {
    display: grid;
    gap: 16px;
}

.cart-item {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid rgba(23, 23, 23, 0.08);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.78);
}

.cart-item__media {
    overflow: hidden;
    border-radius: 18px;
    background: linear-gradient(180deg, #fff, #fff9f2);
    border: 1px solid rgba(23, 23, 23, 0.08);
}

.cart-item__media img,
.cart-item__placeholder {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.cart-item__placeholder {
    display: grid;
    place-items: center;
    color: #7a746a;
}

.cart-item__body {
    display: grid;
    gap: 14px;
}

.cart-item__info {
    display: grid;
    gap: 6px;
}

.cart-item__brand {
    color: var(--primary);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.cart-item__info h3 {
    margin: 0;
    font-size: clamp(1.6rem, 4vw, 2.4rem);
    line-height: 0.95;
}

.cart-item__info h3 a {
    color: #171717;
}

.cart-item__flavor,
.cart-item__unit {
    margin: 0;
    color: #5f594f;
}

.cart-item__controls {
    display: grid;
    gap: 12px;
}

.cart-item__quantity-form {
    display: flex;
    align-items: end;
    gap: 10px;
    flex-wrap: wrap;
}

.cart-item__quantity-field {
    display: grid;
    gap: 6px;
}

.cart-item__quantity-label {
    color: #5f594f;
    font-size: 0.84rem;
    font-weight: 700;
}

.cart-item__quantity-stepper {
    display: inline-grid;
    grid-template-columns: 52px 64px 52px;
    align-items: center;
    gap: 10px;
}

.cart-item__quantity-button {
    width: 52px;
    min-width: 52px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 14px;
    color: #fff;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    transition: transform 0.16s ease, opacity 0.16s ease, filter 0.16s ease;
}

.cart-item__quantity-button:hover {
    filter: brightness(1.05);
}

.cart-item__quantity-button:active {
    transform: scale(0.97);
}

.cart-item__quantity-button:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    filter: none;
}

.cart-item__quantity-button--minus {
    background: linear-gradient(135deg, #ff5b5b, #ef3a3a);
}

.cart-item__quantity-button--plus {
    background: linear-gradient(135deg, #21d14d, #11b83a);
}

.cart-item__quantity-form input {
    width: 64px;
    min-height: 44px;
    padding: 0 8px;
    border: 0;
    border-radius: 14px;
    background: #111214;
    color: #fff;
    font: inherit;
    font-weight: 800;
    text-align: center;
    appearance: textfield;
    -moz-appearance: textfield;
}

.cart-item__quantity-form input::-webkit-outer-spin-button,
.cart-item__quantity-form input::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.cart-item__totals {
    display: grid;
    gap: 4px;
}

.cart-item__totals strong {
    font-size: 1.5rem;
    line-height: 1;
    font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
}

.cart-item__totals small {
    color: #7a746a;
}

.cart-summary {
    display: grid;
    gap: 16px;
}

.cart-page .storefront-page-heading--cart {
    display: block;
    padding: 18px 20px;
    border: 1px solid rgba(23, 23, 23, 0.08);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 249, 242, 0.96));
    box-shadow: 0 12px 30px rgba(37, 31, 23, 0.06);
}

.cart-page .storefront-page-heading--cart .storefront-page-heading__content {
    display: grid;
    justify-items: center;
    gap: 10px;
    text-align: center;
}

.cart-page .storefront-page-heading--cart .storefront-page-heading__content h1 {
    margin: 0;
    font-size: clamp(1.8rem, 5vw, 2.6rem);
    line-height: 1;
    text-transform: none;
}

.cart-page .storefront-page-heading__actions .btn {
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid rgba(23, 23, 23, 0.08);
    border-radius: 999px;
    background: #fff;
    box-shadow: none;
    color: #5c5248;
}

body.cart-page-active .floating-cart-layer,
body.cart-page-active .floating-cart,
body.cart-page-active .floating-cart-popover {
    display: none !important;
}

.cart-heading-link {
    --clr: #c86f67;
    line-height: 1;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1.5rem 0.75rem 1.25rem;
    border: none;
    border-radius: 999px;
    background: var(--clr);
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 700;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.cart-heading-link:hover {
    background: #2f2924;
}

.cart-heading-link:active {
    transform: scale(0.98);
}

.cart-heading-link__icon-wrapper {
    flex-shrink: 0;
    width: 25px;
    height: 25px;
    position: relative;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 50%;
    background: #fff;
    color: var(--clr);
}

.cart-heading-link:hover .cart-heading-link__icon-wrapper {
    color: #2f2924;
}

.cart-heading-link__icon-svg--copy {
    position: absolute;
    transform: translate(-150%, 150%);
}

.cart-heading-link:hover .cart-heading-link__icon-svg:first-child {
    transition: transform 0.3s ease-in-out;
    transform: translate(150%, -150%);
}

.cart-heading-link:hover .cart-heading-link__icon-svg--copy {
    transition: transform 0.3s ease-in-out 0.1s;
    transform: translate(0);
}

.cart-page .cart-layout {
    gap: 20px;
}

.cart-page .cart-panel,
.cart-page .cart-summary {
    border: 1px solid rgba(23, 23, 23, 0.08);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 12px 28px rgba(37, 31, 23, 0.05);
}

.cart-page .cart-panel {
    padding: 20px;
}

.cart-page .cart-panel__header {
    align-items: center;
    margin-bottom: 18px;
}

.cart-page .cart-panel__header .catalog-section__eyebrow {
    margin-bottom: 4px;
}

.cart-page .cart-panel__header h2 {
    margin: 0;
    font-size: clamp(1.15rem, 3vw, 1.45rem);
    line-height: 1.1;
    text-transform: none;
}

.cart-page .cart-panel__header p {
    margin: 8px 0 0;
    color: #6c655b;
    line-height: 1.5;
}

.cart-page .cart-panel__clear .btn {
    min-height: 40px;
    padding: 0 14px;
    border-radius: 999px;
}

.cart-page .cart-list {
    gap: 0;
}

.cart-page .cart-item {
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 14px;
    padding: 18px 0;
    border: 0;
    border-bottom: 1px solid rgba(23, 23, 23, 0.08);
    border-radius: 0;
    background: transparent;
}

.cart-page .cart-item:first-child {
    padding-top: 0;
}

.cart-page .cart-item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.cart-page .cart-item__media {
    border-radius: 16px;
    background: #f8f2eb;
}

.cart-page .cart-item__media img,
.cart-page .cart-item__placeholder {
    aspect-ratio: 1 / 1;
}

.cart-page .cart-item__body {
    gap: 12px;
}

.cart-page .cart-item__info {
    gap: 4px;
}

.cart-page .cart-item__brand {
    color: #c17f73;
    font-size: 0.74rem;
    letter-spacing: 0.06em;
}

.cart-page .cart-item__info h3 {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.3;
}

.cart-page .cart-item__info h3 a {
    color: #2f2924;
}

.cart-page .cart-item__flavor,
.cart-page .cart-item__unit {
    font-size: 0.92rem;
    color: #72695e;
}

.cart-page .cart-item__controls {
    gap: 10px;
}

.cart-page .cart-item__quantity-form {
    gap: 8px 10px;
    align-items: center;
}

.cart-page .cart-item__quantity-label {
    font-size: 0.78rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8b8174;
}

.cart-page .cart-item__quantity-stepper {
    grid-template-columns: 38px 48px 38px;
    gap: 8px;
}

.cart-page .cart-item__quantity-button {
    width: 38px;
    min-width: 38px;
    height: 38px;
    border-radius: 12px;
    font-size: 1.05rem;
}

.cart-page .cart-item__quantity-button--minus {
    background: #f3e4df;
    color: #8f5d55;
}

.cart-page .cart-item__quantity-button--plus {
    background: #efe8df;
    color: #5d554c;
}

.cart-page .cart-item__quantity-form input {
    width: 48px;
    min-height: 38px;
    border: 1px solid rgba(23, 23, 23, 0.1);
    border-radius: 12px;
    background: #fff;
    color: #2f2924;
    font-size: 0.98rem;
}

.cart-page .cart-item__totals {
    gap: 3px;
}

.cart-page .cart-item__totals strong {
    font-size: 1.2rem;
    color: #2f2924;
}

.cart-page .cart-item__totals small {
    color: #8b8174;
    line-height: 1.45;
}

.cart-page .cart-item [data-cart-remove-form] .btn {
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    border-color: rgba(193, 127, 115, 0.2);
    background: #fff7f5;
    color: #b86558;
}

.cart-page .cart-summary {
    position: sticky;
    top: 18px;
    padding: 20px;
    gap: 14px;
}

.cart-page .cart-summary .catalog-section__eyebrow {
    margin-bottom: 2px;
}

.cart-page .cart-summary h2 {
    margin: 0;
    font-size: 1.3rem;
    line-height: 1.1;
}

.cart-page .cart-summary__rows {
    gap: 8px;
}

.cart-page .cart-summary__row {
    padding: 10px 0;
}

.cart-page .cart-summary__notice {
    padding: 14px;
    border-radius: 16px;
    background: #f9f5ef;
}

.cart-page .cart-summary__actions .btn {
    min-height: 52px;
    border-radius: 16px;
    font-size: 0.95rem;
}

@media (max-width: 767px) {
    .cart-page .cart-layout {
        gap: 0;
        border: 1px solid rgba(23, 23, 23, 0.08);
        border-radius: 20px;
        background: rgba(255, 255, 255, 0.96);
        box-shadow: 0 12px 28px rgba(37, 31, 23, 0.05);
        overflow: hidden;
    }

    .cart-page .cart-panel,
    .cart-page .cart-summary {
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .cart-page .storefront-page-heading--cart {
        padding: 16px 14px;
        border-radius: 20px;
    }

    .cart-page .storefront-page-heading--cart .storefront-page-heading__content {
        gap: 8px;
    }

    .cart-page .storefront-page-heading__actions .btn {
        min-height: 38px;
        padding: 0 14px;
        font-size: 0.84rem;
    }

    .cart-heading-link {
        gap: 0.6rem;
        padding: 0.68rem 1.2rem 0.68rem 1rem;
        font-size: 0.88rem;
    }

    .cart-heading-link__icon-wrapper {
        width: 22px;
        height: 22px;
    }

    .cart-page .cart-panel {
        padding: 16px 14px;
    }

    .cart-page .cart-sidebar {
        border-top: 1px solid rgba(23, 23, 23, 0.08);
    }

    .cart-page .cart-panel__header {
        margin-bottom: 12px;
    }

    .cart-page .cart-panel__header h2 {
        font-size: 1.02rem;
    }

    .cart-page .cart-panel__header p {
        margin-top: 4px;
        font-size: 0.88rem;
        line-height: 1.35;
    }

    .cart-page .cart-panel__clear .btn {
        min-height: 34px;
        padding: 0 10px;
        font-size: 0.82rem;
    }

    .cart-page .cart-item {
        grid-template-columns: 74px minmax(0, 1fr);
        align-items: start;
        gap: 10px;
        padding: 12px 0;
    }

    .cart-page .cart-item__media {
        width: 74px;
        border-radius: 12px;
        align-self: start;
    }

    .cart-page .cart-item__body {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
        gap: 10px;
    }

    .cart-page .cart-item__info {
        gap: 2px;
        min-width: 0;
    }

    .cart-page .cart-item__brand {
        font-size: 0.66rem;
        letter-spacing: 0.05em;
    }

    .cart-page .cart-item__info h3 {
        font-size: 0.9rem;
        line-height: 1.18;
    }

    .cart-page .cart-item__info h3 a {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .cart-page .cart-item__flavor,
    .cart-page .cart-item__unit {
        font-size: 0.82rem;
        line-height: 1.24;
    }

    .cart-page .cart-item__controls {
        min-width: 104px;
        justify-items: end;
        align-content: start;
        gap: 6px;
    }

    .cart-page .cart-item__quantity-form {
        justify-content: flex-end;
        gap: 4px 6px;
    }

    .cart-page .cart-item__quantity-label {
        font-size: 0.66rem;
        line-height: 1;
        text-align: right;
    }

    .cart-page .cart-item__quantity-stepper {
        grid-template-columns: 32px 40px 32px;
        gap: 6px;
    }

    .cart-page .cart-item__quantity-button {
        width: 32px;
        min-width: 32px;
        height: 32px;
        border-radius: 10px;
        font-size: 0.96rem;
    }

    .cart-page .cart-item__quantity-form input {
        width: 40px;
        min-height: 32px;
        border-radius: 10px;
        font-size: 0.86rem;
    }

    .cart-page .cart-item__totals {
        gap: 1px;
        justify-items: end;
        text-align: right;
    }

    .cart-page .cart-item__totals strong {
        font-size: 0.98rem;
    }

    .cart-page .cart-item__totals small {
        font-size: 0.72rem;
        line-height: 1.22;
    }

    .cart-page .cart-item [data-cart-remove-form] .btn {
        min-height: 32px;
        padding: 0 12px;
        font-size: 0.8rem;
        align-self: end;
    }

    .cart-page .cart-summary {
        position: static;
        padding: 16px 14px;
        gap: 12px;
    }

    .cart-page .cart-summary h2 {
        font-size: 1.08rem;
    }

    .cart-page .cart-summary__row {
        padding: 8px 0;
    }

    .cart-page .cart-summary__notice {
        padding: 12px;
        border-radius: 14px;
        font-size: 0.88rem;
    }

    .cart-page .cart-summary__actions .btn {
        min-height: 46px;
        font-size: 0.88rem;
    }
}

@media (max-width: 420px) {
    .cart-page .cart-item {
        grid-template-columns: 68px minmax(0, 1fr);
        gap: 8px;
    }

    .cart-page .cart-item__media {
        width: 68px;
    }

    .cart-page .cart-item__body {
        gap: 8px;
    }

    .cart-page .cart-item__controls {
        min-width: 98px;
        gap: 5px;
    }

    .cart-page .cart-item__info h3 {
        font-size: 0.86rem;
    }

    .cart-page .cart-item__flavor,
    .cart-page .cart-item__unit {
        font-size: 0.78rem;
    }

    .cart-page .cart-item__quantity-stepper {
        grid-template-columns: 30px 36px 30px;
        gap: 4px;
    }

    .cart-page .cart-item__quantity-button {
        width: 30px;
        min-width: 30px;
        height: 30px;
    }

    .cart-page .cart-item__quantity-form input {
        width: 36px;
        min-height: 30px;
    }

    .cart-page .cart-item__totals strong {
        font-size: 0.92rem;
    }

    .cart-page .cart-item__totals small {
        font-size: 0.69rem;
    }
}

@media (min-width: 860px) {
    .cart-page .cart-item {
        grid-template-columns: 96px minmax(0, 1fr);
    }

    .cart-page .cart-item__body {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 20px;
    }

    .cart-page .cart-item__controls {
        min-width: 220px;
        justify-items: end;
    }
}

.storefront-page-heading--checkout {
    border: 1px solid rgba(23, 23, 23, 0.06);
    background:
        radial-gradient(circle at top right, rgba(245, 150, 30, 0.16), transparent 26%),
        linear-gradient(180deg, #fff8ee, #fffefb);
}

.cart-summary h2 {
    margin: 0;
}

.checkout-layout {
    align-items: start;
}

.checkout-card {
    padding: 24px;
    border-radius: 28px;
    border: 1px solid rgba(23, 23, 23, 0.06);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 248, 236, 0.92));
    box-shadow: 0 18px 40px rgba(36, 32, 24, 0.08);
}

.checkout-card--summary {
    position: sticky;
    top: 22px;
    color: #fff;
    background:
        radial-gradient(circle at top right, rgba(245, 150, 30, 0.3), transparent 24%),
        linear-gradient(155deg, #111114 0%, #2a1839 58%, #4d137a 100%);
    box-shadow: 0 22px 50px rgba(30, 17, 44, 0.22);
}

.checkout-card--summary .catalog-section__eyebrow,
.checkout-card--summary .cart-summary__notice strong,
.checkout-card--summary .cart-summary__address span {
    color: rgba(255, 214, 153, 0.96);
}

.checkout-card--summary h2,
.checkout-card--summary .checkout-card__lead,
.checkout-card--summary .cart-summary__row span,
.checkout-card--summary .cart-summary__row strong,
.checkout-card--summary .cart-summary__notice p,
.checkout-card--summary .cart-summary__address strong {
    color: #fff;
}

.checkout-card--summary .cart-summary__row {
    border-bottom-color: rgba(255, 255, 255, 0.1);
}

.checkout-card--summary .cart-summary__notice,
.checkout-card--summary .cart-summary__address {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.08);
}

.checkout-card__lead {
    margin: -4px 0 0;
    color: #5f594f;
    line-height: 1.65;
}

.checkout-form__autosave {
    margin: -2px 0 0;
    color: #7a746a;
    font-size: 0.92rem;
    line-height: 1.55;
}

.cart-summary__preferences {
    display: grid;
    gap: 16px;
}

.checkout-form {
    gap: 18px;
}

.checkout-form__section {
    display: grid;
    gap: 12px;
}

.checkout-form__subtitle {
    display: block;
    font-size: 1.35rem;
    line-height: 1;
    text-transform: uppercase;
    font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
}

.checkout-form__hint {
    margin: 0;
    color: #655f56;
    line-height: 1.6;
}

.checkout-cash-field {
    display: grid;
    gap: 10px;
    margin-top: 2px;
    padding: 16px 18px;
    border: 1px solid rgba(23, 23, 23, 0.08);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.72);
}

.checkout-cash-field__label {
    color: #3c352d;
    font-size: 0.95rem;
    font-weight: 800;
}

.checkout-cash-field__input {
    width: 100%;
    min-height: 52px;
    padding: 0 16px;
    border: 1px solid rgba(23, 23, 23, 0.12);
    border-radius: 16px;
    background: #fffdfa;
    color: #1c1813;
    font-size: 1rem;
    font-weight: 700;
}

.checkout-cash-field__input:focus {
    outline: 0;
    border-color: rgba(245, 150, 30, 0.65);
    box-shadow: 0 0 0 4px rgba(245, 150, 30, 0.12);
}

.checkout-cash-field__helper {
    color: #655f56;
    font-size: 0.9rem;
    line-height: 1.5;
}

.checkout-cash-field__helper--warning {
    color: #a45f00;
    font-weight: 700;
}

.checkout-form__divider {
    height: 1px;
    background: linear-gradient(90deg, rgba(23, 23, 23, 0.02), rgba(23, 23, 23, 0.12), rgba(23, 23, 23, 0.02));
}

.cart-choice-group {
    display: grid;
    gap: 10px;
}

.cart-choice-group__title {
    color: #5f594f;
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.cart-choice-group__options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.cart-choice-group__options--stacked {
    grid-template-columns: 1fr;
}

.cart-choice {
    position: relative;
    display: flex;
    min-height: 52px;
    align-items: center;
    border: 1px solid rgba(23, 23, 23, 0.08);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.78);
    overflow: hidden;
}

.checkout-option-grid {
    gap: 14px;
}

.checkout-option-card,
.checkout-payment-card {
    min-height: 0;
    align-items: stretch;
    border-radius: 22px;
    border: 1px solid rgba(23, 23, 23, 0.08);
    background: #fffdfa;
    box-shadow: 0 10px 24px rgba(36, 32, 24, 0.05);
}

.cart-choice input {
    position: absolute;
    opacity: 0;
    inset: 0;
    cursor: pointer;
}

.cart-choice span {
    width: 100%;
    padding: 0 16px;
    color: #3c352d;
    font-weight: 700;
}

.cart-choice .checkout-option-card__content,
.cart-choice .checkout-payment-card__content {
    display: grid;
    gap: 8px;
    min-height: 100%;
    padding: 18px 56px 18px 18px;
    position: relative;
}

.cart-choice .checkout-option-card__content::before,
.cart-choice .checkout-payment-card__content::before {
    content: "";
    position: absolute;
    top: 18px;
    right: 18px;
    width: 24px;
    height: 24px;
    border-radius: 8px;
    border: 2px solid rgba(77, 19, 122, 0.24);
    background: #fff;
    transition: all 0.2s ease;
}

.cart-choice .checkout-option-card__content strong,
.cart-choice .checkout-payment-card__content strong {
    display: block;
    padding-right: 6px;
    font-size: 1.1rem;
    line-height: 1.05;
    text-transform: uppercase;
    font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
}

.cart-choice .checkout-option-card__content small,
.cart-choice .checkout-payment-card__content small {
    color: #726b62;
    font-size: 0.92rem;
    font-weight: 500;
    line-height: 1.5;
}

.cart-choice input:checked + span {
    background: rgba(77, 19, 122, 0.09);
    color: var(--primary);
}

.checkout-option-card input:checked + .checkout-option-card__content,
.checkout-payment-card input:checked + .checkout-payment-card__content {
    background:
        linear-gradient(135deg, rgba(245, 150, 30, 0.08), rgba(77, 19, 122, 0.08)),
        #fffdfa;
    color: #2f0d49;
}

.checkout-option-card input:checked + .checkout-option-card__content::before,
.checkout-payment-card input:checked + .checkout-payment-card__content::before {
    border-color: #f5961e;
    background: linear-gradient(135deg, #f5961e, #ffb347);
    box-shadow: 0 0 0 4px rgba(245, 150, 30, 0.12);
}

.checkout-option-card input:checked + .checkout-option-card__content::after,
.checkout-payment-card input:checked + .checkout-payment-card__content::after {
    content: "✓";
    position: absolute;
    top: 22px;
    right: 25px;
    color: #fff;
    font-size: 0.86rem;
    font-weight: 900;
    line-height: 1;
}

.checkout-option-card input:checked + .checkout-option-card__content,
.checkout-payment-card input:checked + .checkout-payment-card__content {
    box-shadow: inset 0 0 0 2px rgba(245, 150, 30, 0.45);
}

.cart-summary__rows {
    display: grid;
    gap: 12px;
}

.cart-summary__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(23, 23, 23, 0.08);
}

.cart-summary__row--total strong {
    font-size: 1.8rem;
    line-height: 1;
    font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
}

.cart-summary__notice,
.cart-summary__status,
.cart-summary__address {
    display: grid;
    gap: 6px;
    padding: 16px;
    border-radius: 18px;
    border: 1px solid rgba(23, 23, 23, 0.08);
    background: rgba(255, 255, 255, 0.78);
}

.cart-summary__notice strong,
.cart-summary__status strong,
.cart-summary__address span {
    font-size: 0.84rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--primary);
}

.cart-summary__notice p,
.cart-summary__status p,
.cart-summary__address strong {
    margin: 0;
    color: #4d473d;
    line-height: 1.6;
}

.cart-summary__status--warning {
    background: rgba(255, 187, 82, 0.14);
    border-color: rgba(245, 150, 30, 0.26);
}

.cart-summary__status--warning strong {
    color: #8f5200;
}

.cart-summary__status--success {
    background: rgba(28, 154, 101, 0.12);
    border-color: rgba(28, 154, 101, 0.2);
}

.cart-summary__status--success strong {
    color: #1c9a65;
}

.cart-summary__actions {
    display: grid;
    gap: 10px;
}

.checkout-info-stack {
    display: grid;
    gap: 12px;
}

body.checkout-pix-modal-open {
    overflow: hidden;
}

.checkout-pix-modal {
    position: fixed;
    inset: 0;
    z-index: 88;
    display: grid;
    place-items: center;
    padding: 18px;
}

.checkout-pix-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 10, 14, 0.72);
}

.checkout-pix-modal__dialog {
    position: relative;
    width: min(100%, 460px);
    display: grid;
    gap: 14px;
    padding: 20px;
    border: 1px solid rgba(41, 130, 255, 0.6);
    border-radius: 26px;
    background: linear-gradient(180deg, rgba(25, 25, 28, 0.98), rgba(16, 17, 20, 0.99));
    box-shadow: 0 28px 60px rgba(0, 0, 0, 0.44);
    color: #fff;
}

.checkout-pix-modal__close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.03);
    color: rgba(255, 255, 255, 0.82);
    font-size: 1rem;
    cursor: pointer;
}

.checkout-pix-modal__icon {
    justify-self: center;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(0, 225, 255, 0.08);
    color: #0ae0ff;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.checkout-pix-modal h2 {
    margin: 0;
    text-align: center;
    font-size: 1.72rem;
    line-height: 1;
    font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
}

.checkout-pix-modal__lead {
    margin: -4px 0 0;
    color: rgba(255, 255, 255, 0.66);
    text-align: center;
    line-height: 1.5;
}

.checkout-pix-modal__summary {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: 12px;
}

.checkout-pix-modal__key-card,
.checkout-pix-modal__total-card,
.checkout-pix-modal__qr-card,
.checkout-pix-modal__qr-panel {
    display: grid;
    gap: 8px;
    padding: 16px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.checkout-pix-modal__key-card {
    background: linear-gradient(180deg, rgba(24, 45, 82, 0.88), rgba(12, 22, 36, 0.96));
    border-color: rgba(41, 130, 255, 0.34);
}

.checkout-pix-modal__key-card span,
.checkout-pix-modal__total-card span,
.checkout-pix-modal__copy-code span {
    color: rgba(175, 201, 255, 0.92);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.checkout-pix-modal__key-card strong {
    font-size: 1.58rem;
    line-height: 1;
    font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
}

.checkout-pix-modal__key-card small {
    color: rgba(255, 255, 255, 0.56);
}

.checkout-pix-modal__total-card {
    background: rgba(255, 255, 255, 0.04);
}

.checkout-pix-modal__total-card strong {
    color: #1dff84;
    font-size: 1.95rem;
    line-height: 1;
    font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
}

.checkout-pix-modal__qr-panel {
    background: rgba(255, 255, 255, 0.025);
}

.checkout-pix-modal__qr-card {
    justify-items: center;
    background: transparent;
    padding: 0;
    border: 0;
}

.checkout-pix-modal__qr-image {
    width: min(100%, 176px);
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 16px;
    background: #fff;
    padding: 6px;
}

.checkout-pix-modal__copy-code {
    width: 100%;
    display: grid;
    gap: 8px;
}

.checkout-pix-modal__copy-code p {
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.82rem;
    line-height: 1.55;
    word-break: break-all;
}

.checkout-pix-modal__actions {
    display: grid;
    gap: 12px;
}

.checkout-pix-modal__quick-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.checkout-pix-modal__copy-button,
.checkout-pix-modal__toggle-button,
.checkout-pix-modal__copy-code-button,
.checkout-pix-modal__whatsapp-button,
.checkout-pix-modal__confirm-button {
    min-height: 52px;
    border-radius: 16px;
    font-size: 0.95rem;
    font-weight: 800;
}

.checkout-pix-modal__copy-button {
    background: linear-gradient(135deg, #ffbf54, #ff9d12);
    color: #111;
    box-shadow: 0 16px 26px rgba(255, 165, 38, 0.22);
}

.checkout-pix-modal__toggle-button,
.checkout-pix-modal__copy-code-button {
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.02);
    color: #fff;
}

.checkout-pix-modal__whatsapp-button {
    background: linear-gradient(135deg, #1f8f57, #24a866);
    color: #fff;
    box-shadow: 0 18px 30px rgba(31, 143, 87, 0.22);
}

.checkout-pix-modal__confirm-button {
    background: linear-gradient(135deg, #1f6fff, #2b82ff);
    color: #fff;
    box-shadow: 0 18px 30px rgba(31, 111, 255, 0.22);
}

@media (max-width: 640px) {
    .checkout-pix-modal {
        padding: 14px;
    }

    .checkout-pix-modal__dialog {
        width: min(100%, 400px);
        padding: 18px;
        gap: 12px;
    }

    .checkout-pix-modal__summary,
    .checkout-pix-modal__quick-actions {
        grid-template-columns: 1fr;
    }

    .checkout-pix-modal h2 {
        font-size: 1.56rem;
    }

    .checkout-pix-modal__key-card strong {
        font-size: 1.46rem;
    }

    .checkout-pix-modal__total-card strong {
        font-size: 1.76rem;
    }
}

.checkout-summary__selection p + p {
    margin-top: 6px;
}

.checkout-card--summary .btn--primary {
    background: linear-gradient(135deg, #f5961e, #ffb347);
    color: #161214;
    box-shadow: 0 16px 28px rgba(245, 150, 30, 0.22);
}

.checkout-card--summary .btn--primary:hover {
    transform: translateY(-1px);
}

@media (max-width: 640px) {
    .cart-choice-group__options {
        grid-template-columns: 1fr;
    }

    .checkout-card {
        padding: 20px;
        border-radius: 24px;
    }

    .cart-choice .checkout-option-card__content,
    .cart-choice .checkout-payment-card__content {
        padding: 16px 52px 16px 16px;
    }
}

.storefront-footer-shell {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.storefront-footer {
    display: grid;
    gap: 24px 28px;
    margin-top: 28px;
    padding: 30px 28px;
    border-radius: 30px;
    background: #131315;
    color: #fff;
    box-shadow: 0 22px 50px rgba(0, 0, 0, 0.18);
}

.storefront-footer__section {
    display: grid;
    align-content: start;
    gap: 10px;
}

.storefront-footer__heading {
    display: block;
    margin: 0 0 4px;
    font-size: 1.18rem;
    text-transform: uppercase;
    font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
    letter-spacing: 0.04em;
}

.storefront-footer__brand p {
    margin: 0;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.58;
}

.storefront-footer__link,
.storefront-footer__meta {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: rgba(255, 255, 255, 0.74);
    line-height: 1.45;
    text-decoration: none;
}

.storefront-footer__meta {
    color: rgba(255, 255, 255, 0.82);
}

.storefront-footer__meta-icon {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    margin-top: 2px;
    color: inherit;
}

.storefront-footer__meta-icon svg {
    width: 100%;
    height: 100%;
    display: block;
    fill: currentColor;
}

.storefront-footer__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 999px;
    margin-top: 6px;
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16);
}

.storefront-footer__link:hover,
.storefront-footer__cta:hover {
    color: #ffefdf;
}

.storefront-footer__legal {
    padding: 0 4px 2px;
    color: rgba(92, 82, 72, 0.76);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-align: center;
    text-transform: uppercase;
}

.storefront-body .floating-cart {
    width: 64px;
    background: linear-gradient(135deg, #f5961e, #ffb247);
    box-shadow: 0 18px 34px rgba(245, 150, 30, 0.28);
}

@media (min-width: 768px) {
    .storefront-header__main {
        grid-template-columns: 180px minmax(0, 1fr) auto;
        align-items: center;
        padding: 4px 24px 4px;
    }

    .storefront-search {
        grid-column: 2;
        grid-row: 1;
    }

    .storefront-utility {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }

    .storefront-nav-wrap {
        padding: 0 24px 4px;
    }

    .storefront-showcase {
        grid-template-columns: 1fr;
    }

    .storefront-showcase__content,
    .storefront-showcase__feature {
        width: 100%;
    }

    .storefront-showcase__feature {
        padding: 22px;
    }

    .storefront-showcase__marquee-shell {
        padding: 20px;
    }

    .storefront-showcase__details--marquee {
        grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1fr);
        align-items: end;
    }

    .storefront-showcase__details--marquee span {
        grid-column: 1 / -1;
        margin-bottom: 0;
    }

    .storefront-showcase__details--marquee p {
        max-width: 44ch;
    }

    .storefront-benefits {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 18px;
    }

    .storefront-toolbar {
        grid-template-columns: minmax(0, 1fr) auto;
    }

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

    .storefront-category-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .storefront-page-heading {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .storefront-page-heading--promotions,
    .storefront-page-heading--with-back {
        grid-template-columns: 1fr;
    }

    .storefront-page-heading--centered {
        grid-template-columns: 1fr;
    }

    .storefront-product-detail {
        grid-template-columns: minmax(300px, 420px) minmax(0, 1fr);
        align-items: start;
        padding: 22px;
    }

    .storefront-brand-hero {
        grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
        align-items: center;
    }

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

    .cart-item {
        grid-template-columns: 220px minmax(0, 1fr);
        align-items: start;
    }

    .cart-layout {
        grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.75fr);
        align-items: start;
    }

    .storefront-footer {
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr) minmax(0, 1.02fr) minmax(0, 0.88fr);
    }
}

@media (min-width: 1100px) {
    .storefront-header__main {
        position: relative;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 18px;
        min-height: 146px;
        padding: 8px 18px 4px 214px;
    }

    .storefront-brand-stack {
        position: absolute;
        top: -22px;
        left: 18px;
        z-index: 1;
    }

    .storefront-brand {
        position: static;
    }

    .storefront-search {
        grid-column: 1;
        grid-row: auto;
    }

    .storefront-utility {
        grid-column: 2;
        grid-row: auto;
        justify-content: flex-end;
    }

    .storefront-benefits {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .storefront-category-links {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .storefront-benefit {
        padding: 0 14px;
        border-bottom: 0;
        border-right: 1px solid rgba(255, 255, 255, 0.16);
    }

    .storefront-benefit:last-child {
        border-right: 0;
    }

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

    .storefront-brand-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .storefront {
        width: min(calc(100% - 16px), 1280px);
        padding-top: 16px;
        padding-bottom: max(2px, env(safe-area-inset-bottom, 0px));
        display: flex;
        flex-direction: column;
        min-height: 100svh;
    }

    .storefront-category {
        padding: 14px 12px;
    }

    .storefront-header__main {
        position: relative;
        gap: 6px;
        padding-top: 4px;
        padding-bottom: 0;
    }

    .storefront-brand {
        width: 100%;
        justify-content: center;
        margin-inline: auto;
    }

    .storefront-brand-stack {
        width: 100%;
        position: relative;
        align-items: center;
        justify-content: center;
        gap: 0;
        margin-top: -12px;
        margin-bottom: -8px;
    }

    .storefront-brand__mark {
        width: 156px;
        height: 156px;
    }

    .storefront-brand__mark img {
        width: 156px;
        height: 156px;
        transform: scale(1.35);
        transform-origin: center;
    }

    .storefront-back-button {
        position: absolute;
        top: 100px;
        left: 0px;
        z-index: 4;
        --back-main-size: 1.20rem;
        min-height: 30px;
        margin: 0;
        padding: 0.38em 0.58em 0.38em 0.82em;
    }

    .storefront-back-button span {
        margin-right: 0.28em;
    }

    .storefront-back-button svg {
        width: 0.94em;
        height: 0.68em;
    }

    .storefront-search {
        margin-top: -2px;
    }

    .storefront-utility {
        position: absolute;
        top: 12px;
        left: 18px;
        right: auto;
        justify-content: flex-start;
    }

    .storefront-utility__auth-button {
        min-width: 106px;
        min-height: 42px;
        padding: 0 16px;
        font-size: 0.84rem;
        box-shadow: 0 8px 14px rgba(97, 74, 59, 0.12);
    }

    .storefront-utility__auth-icon--1 {
        width: 16px;
    }

    .storefront-utility__auth-icon--2 {
        left: 14px;
        width: 7px;
    }

    .storefront-utility__auth-icon--3 {
        width: 11px;
    }

    .storefront-nav-wrap {
        display: flex;
        justify-content: center;
        padding: 0 12px 6px;
        margin-top: 8px;
    }

    .storefront-utility-menu__panel {
        left: 0;
        right: auto;
        min-width: min(260px, calc(100vw - 32px));
        max-width: min(280px, calc(100vw - 24px));
    }

    .storefront-utility-menu__section {
        display: block;
        margin-top: 2px;
        padding-top: 4px;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
    }

    .storefront-nav {
        width: 100%;
        max-width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 6px;
        overflow: visible;
        margin: 0 auto;
        padding: 4px 0;
        background: transparent;
    }

    .storefront-nav__link {
        flex: 0 1 auto;
        min-width: 0;
        min-height: 40px;
        padding: 0.48rem 1rem;
        font-size: 0.74rem;
        letter-spacing: 0.08em;
    }

    .storefront-product-grid,
    .product-grid.storefront-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
        justify-items: stretch;
    }

    .storefront-product-card {
        width: 100%;
        min-width: 0;
        border-radius: 18px;
    }

    .storefront-product-card__image-wrap {
        --product-card-media-inset: 8px;
        aspect-ratio: 4 / 4.9;
        padding: var(--product-card-media-inset) var(--product-card-media-inset) 0;
    }

    .storefront-product-card img.product-card__image {
        height: 100%;
        transform: none;
    }

    .storefront-product-card__body {
        gap: 8px;
        padding: 10px 8px 8px;
    }

    .storefront-product-card .product-card__title-row {
        padding-inline: 6px;
    }

    .storefront-product-card .product-card__title-row h3 {
        min-height: 1em;
        font-size: 0.72rem;
        line-height: 1;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .storefront-product-card__badge-row {
        gap: 4px;
        min-height: 22px;
    }

    .storefront-product-card__badge {
        min-height: 18px;
        padding: 0 6px;
        font-size: 0.52rem;
        letter-spacing: 0.03em;
    }

    .storefront-product-card__details-toggle,
    .storefront-product-card__cta {
        min-height: 32px;
        padding: 0 8px;
        border-radius: 12px;
        font-size: 0.76rem;
    }

    .storefront-header {
        border-radius: 0;
    }

    .storefront-announcement {
        border-radius: 0 0 18px 18px;
        font-size: 0.84rem;
    }

    .storefront-showcase__metrics {
        grid-template-columns: 1fr;
    }

    .storefront-showcase__marquee-shell {
        padding: 16px;
    }

    .storefront-showcase__viewport {
        padding: 6px 0;
        touch-action: pan-y;
    }

    .storefront-showcase__viewport.is-native-scroll {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
        -ms-overflow-style: none;
        touch-action: auto;
    }

    .storefront-showcase__viewport.is-native-scroll::-webkit-scrollbar {
        display: none;
    }

    .storefront-showcase__carousel-track {
        gap: 8px;
    }

    .storefront-showcase__viewport.is-native-scroll .storefront-showcase__carousel-track {
        width: max-content;
        padding-right: 6px;
    }

    .storefront-showcase__viewport.is-native-scroll .storefront-showcase__mini-card,
    .storefront-showcase__viewport.is-native-scroll .storefront-showcase__mini-media,
    .storefront-showcase__viewport.is-native-scroll .storefront-showcase__mini-media img {
        touch-action: auto;
    }

    .storefront-showcase__mini-card {
        grid-template-columns: 1fr;
        gap: 10px;
        flex-basis: clamp(124px, 39vw, 158px);
        min-height: 0;
        padding: 9px;
        border-radius: 18px;
        scroll-snap-align: start;
    }

    .storefront-showcase__mini-media {
        height: auto;
        aspect-ratio: 5 / 5.2;
        padding: 7px;
        border-radius: 14px;
    }

    .storefront-showcase__mini-copy {
        gap: 6px;
    }

    .storefront-showcase__mini-copy strong {
        display: -webkit-box;
        overflow: hidden;
        font-size: 0.98rem;
        line-height: 0.98;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

    .storefront-showcase__mini-copy span {
        font-size: 0.64rem;
    }

    .storefront-showcase__mini-copy small {
        font-size: 0.82rem;
    }

    .storefront-showcase__details--marquee h2 {
        max-width: none;
        font-size: clamp(1.1rem, 5vw, 1.45rem);
    }

    .storefront-showcase__details--marquee p {
        max-width: none;
        font-size: 0.9rem;
    }

    .storefront-showcase__footer,
    .storefront-product-card__footer {
        flex-direction: column;
        align-items: stretch;
    }

    .storefront-product-card__actions,
    .storefront-product-detail__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .storefront-page-heading__actions {
        align-items: stretch;
    }

    .storefront-page-heading--promotions,
    .storefront-page-heading--with-back {
        justify-items: stretch;
        padding-top: 92px;
    }

    .storefront-page-heading.storefront-page-heading--promotions {
        min-height: 176px;
        padding-top: 62px;
        padding-bottom: 18px;
    }

    .storefront-page-heading.storefront-page-heading--category-feature {
        min-height: 176px;
        padding-top: 62px;
        padding-bottom: 18px;
    }

    .storefront-page-heading__back {
        top: 12px;
        left: 12px;
        right: auto;
        width: auto;
        max-width: calc(100% - 24px);
        min-height: 34px;
        padding: 0 12px 0 8px;
        justify-content: flex-start;
        font-size: 0.875rem;
    }

    .storefront-page-heading--back-only {
        min-height: 34px;
        margin-bottom: 10px;
        padding-top: 0;
    }

    .storefront-page-heading--back-only .storefront-page-heading__back {
        position: static;
    }

    .storefront-page-heading--promotions .storefront-page-heading__content {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 78px;
        text-align: center;
        margin-top: -2px;
    }

    .storefront-page-heading--category-feature .storefront-page-heading__content {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 78px;
        text-align: center;
        margin-top: -2px;
    }

    .storefront-page-heading__back::before {
        width: 22px;
        height: 22px;
        margin-right: 7px;
        font-size: 0.8rem;
    }

    .storefront-page-heading__title-image--promotions {
        width: min(100%, 330px);
    }

    .storefront-page-heading__title-image--category {
        width: auto;
        max-width: min(100%, 330px);
        height: 58px;
    }

    .storefront-fire-banner {
        height: 34%;
    }

    .storefront-fire-banner__canvas {
        height: 70%;
    }

    .storefront-product-card .btn,
    .storefront-showcase__footer .btn,
    .storefront-page-heading__actions .btn,
    .storefront-product-detail__actions .btn {
        width: 100%;
    }

    .storefront-product-detail__purchase-actions,
    .storefront-product-share,
    .storefront-product-share__actions {
        width: 100%;
    }

    .storefront-product-share__actions {
        justify-content: flex-start;
    }

    .storefront-body .floating-cart {
        right: 12px;
        left: auto;
        width: 60px;
        height: 60px;
    }
}

@keyframes flameMovement {
    50% {
        transform: scale(0.985, 1.01) translate(0, 2px) rotate(-0.6deg);
    }
}

@keyframes flameDisappear {
    0% {
        transform: translate(0, 0) rotate(180deg);
    }

    50% {
        opacity: 1;
    }

    100% {
        transform: translate(-10px, -40px) rotate(180deg);
        opacity: 0;
    }
}

@keyframes promotionsEmberRise {
    0% {
        transform: translate3d(0, 0, 0) scale(0.72);
        opacity: 0;
    }

    18% {
        opacity: 0.95;
    }

    100% {
        transform: translate3d(12px, -110px, 0) scale(0.18);
        opacity: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .storefront-showcase__carousel-track {
        transition: none;
    }
}

.status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1;
}

.status-pill--success {
    background: rgba(28, 154, 101, 0.12);
    color: #1c9a65;
}

.status-pill--neutral {
    background: rgba(23, 23, 23, 0.06);
    color: #5f594f;
}

.status-pill--accent {
    background: rgba(77, 19, 122, 0.12);
    color: var(--primary);
}

.status-pill--warning {
    background: rgba(245, 150, 30, 0.14);
    color: #8f5200;
}

.status-pill--danger {
    background: rgba(209, 67, 67, 0.12);
    color: #d14343;
}

.storefront-page-heading--tracking {
    align-items: end;
}

.tracking-search {
    display: grid;
    gap: 10px;
    min-width: min(100%, 420px);
}

.tracking-search__label {
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--primary);
}

.tracking-search__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
}

.tracking-search__row input {
    min-width: 0;
    min-height: 54px;
    padding: 0 16px;
    border: 1px solid rgba(23, 23, 23, 0.08);
    border-radius: 16px;
    background: #fff;
    color: #171717;
    font: inherit;
}

.tracking-success {
    display: grid;
    gap: 10px;
    margin-top: 18px;
    background:
        radial-gradient(circle at top right, rgba(28, 154, 101, 0.14), transparent 24%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(240, 251, 245, 0.96));
}

.tracking-success h2,
.tracking-card h2 {
    margin: 0;
}

.tracking-success p {
    margin: 0;
    color: #5d564d;
    line-height: 1.6;
}

.tracking-success strong {
    display: inline-flex;
    width: fit-content;
    min-height: 42px;
    align-items: center;
    padding: 0 16px;
    border-radius: 14px;
    background: rgba(28, 154, 101, 0.12);
    color: #1c9a65;
    font-size: 1rem;
    letter-spacing: 0.05em;
}

.tracking-layout {
    display: grid;
    gap: 18px;
    margin-top: 18px;
}

.tracking-layout--single {
    grid-template-columns: minmax(0, 1fr);
}

.tracking-main,
.tracking-sidebar {
    min-width: 0;
}

.tracking-card {
    display: grid;
    gap: 18px;
}

.tracking-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}

.tracking-card__top .status-pill {
    white-space: nowrap;
}

.tracking-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 12px;
}

.tracking-step {
    position: relative;
    display: grid;
    gap: 8px;
    padding: 16px;
    border: 1px solid rgba(23, 23, 23, 0.08);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.7);
    color: #6b645b;
}

.tracking-step__dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: rgba(23, 23, 23, 0.16);
    box-shadow: inset 0 0 0 4px rgba(255, 255, 255, 0.86);
}

.tracking-step strong {
    font-size: 0.92rem;
    line-height: 1.35;
}

.tracking-step.is-active {
    color: #1e1a25;
    border-color: rgba(77, 19, 122, 0.16);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(250, 246, 255, 0.92));
}

.tracking-step.is-active .tracking-step__dot {
    background: linear-gradient(135deg, var(--primary), var(--secondary));
}

.tracking-step.is-current {
    box-shadow: 0 16px 28px rgba(77, 19, 122, 0.08);
}

.tracking-timeline {
    position: relative;
    display: grid;
    gap: 18px;
}

.tracking-timeline__item {
    position: relative;
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 16px;
}

.tracking-timeline__marker {
    position: relative;
    width: 30px;
    min-height: 100%;
}

.tracking-timeline__marker::before {
    content: "";
    position: absolute;
    top: 30px;
    left: 14px;
    bottom: -24px;
    width: 3px;
    border-radius: 999px;
    background: rgba(151, 179, 155, 0.28);
}

.tracking-timeline__item:last-child .tracking-timeline__marker::before {
    display: none;
}

.tracking-timeline__content {
    display: grid;
    gap: 8px;
    padding: 18px 20px;
    border: 1px solid rgba(217, 122, 108, 0.12);
    border-radius: 22px;
    background:
        radial-gradient(circle at top right, rgba(221, 163, 166, 0.08), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 248, 243, 0.94));
    box-shadow: 0 14px 26px rgba(122, 89, 78, 0.06);
}

.tracking-timeline__meta {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}

.tracking-timeline__meta strong {
    font-size: 1rem;
}

.tracking-timeline__marker-icon {
    position: absolute;
    top: 0;
    left: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    border: 1px solid rgba(151, 179, 155, 0.34);
    background: linear-gradient(180deg, rgba(151, 179, 155, 0.18), rgba(151, 179, 155, 0.1));
    box-shadow: 0 10px 18px rgba(151, 179, 155, 0.14);
    font-size: 0.95rem;
    line-height: 1;
}

.tracking-timeline__meta span,
.tracking-timeline__content p {
    color: #6b645b;
}

.tracking-timeline__content p {
    margin: 0;
    line-height: 1.6;
}

.tracking-timeline__item.is-complete .tracking-timeline__marker::before {
    background: rgba(151, 179, 155, 0.3);
}

.tracking-timeline__item.is-failed .tracking-timeline__marker::before {
    background: rgba(217, 122, 108, 0.28);
}

.tracking-timeline__item.is-failed .tracking-timeline__marker-icon {
    border-color: rgba(217, 122, 108, 0.34);
    background: linear-gradient(180deg, rgba(217, 122, 108, 0.18), rgba(217, 122, 108, 0.1));
    box-shadow: 0 10px 18px rgba(217, 122, 108, 0.12);
}

.tracking-timeline__item.is-failed .tracking-timeline__content {
    border-color: rgba(217, 122, 108, 0.16);
    background: linear-gradient(180deg, rgba(255, 251, 250, 0.98), rgba(255, 243, 240, 0.96));
}

.tracking-timeline__item.is-pending .tracking-timeline__marker::before {
    background: rgba(234, 216, 201, 0.92);
}

.tracking-timeline__item.is-pending .tracking-timeline__marker-icon {
    border-color: rgba(234, 216, 201, 0.96);
    background: linear-gradient(180deg, rgba(255, 249, 244, 0.98), rgba(244, 235, 226, 0.96));
    box-shadow: 0 10px 18px rgba(190, 157, 136, 0.12);
    color: #9c7d66;
}

.tracking-timeline__item.is-pending .tracking-timeline__content {
    border-color: rgba(234, 216, 201, 0.96);
    background: linear-gradient(180deg, rgba(255, 253, 251, 0.98), rgba(251, 245, 239, 0.96));
}

.tracking-items {
    display: grid;
    gap: 12px;
}

.tracking-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    border: 1px solid rgba(23, 23, 23, 0.08);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.74);
}

.tracking-item__copy {
    display: grid;
    gap: 4px;
}

.tracking-item__copy strong {
    font-size: 1rem;
}

.tracking-item__copy p {
    margin: 0;
    color: #6b645b;
}

.tracking-item > span {
    white-space: nowrap;
    color: var(--primary);
    font-weight: 800;
}

.tracking-card--summary {
    position: sticky;
    top: 22px;
}

.tracking-card--pix {
    gap: 14px;
    background:
        radial-gradient(circle at top right, rgba(28, 154, 101, 0.12), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 251, 247, 0.94));
}

.tracking-card--cancelled-notice {
    gap: 14px;
    background:
        radial-gradient(circle at top right, rgba(209, 67, 67, 0.12), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 245, 245, 0.95));
}

.tracking-card--pix > p {
    margin: 0;
    color: #5d564d;
    line-height: 1.6;
}

.tracking-card--cancelled-notice > p {
    margin: 0;
    color: #6c5353;
    line-height: 1.6;
}

.tracking-pix__qr {
    display: grid;
    place-items: center;
    padding: 18px;
    border: 1px solid rgba(23, 23, 23, 0.08);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.9);
}

.tracking-pix__qr img {
    width: min(100%, 240px);
    aspect-ratio: 1;
    object-fit: contain;
}

.tracking-pix__copy {
    display: grid;
    gap: 12px;
}

.tracking-pix__actions {
    display: grid;
    gap: 12px;
}

.tracking-pix__copy textarea {
    width: 100%;
    min-height: 132px;
    padding: 14px 16px;
    border: 1px solid rgba(23, 23, 23, 0.08);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.9);
    color: var(--text);
    font: inherit;
    line-height: 1.5;
    resize: vertical;
}

.tracking-summary__rows {
    display: grid;
    gap: 12px;
}

.tracking-summary__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(23, 23, 23, 0.08);
}

.tracking-summary__row span {
    color: #6b645b;
}

.tracking-summary__row strong {
    text-align: right;
}

.tracking-summary__row--total strong {
    font-size: 1.7rem;
    line-height: 1;
    font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
}

@media (min-width: 960px) {
    .tracking-layout {
        grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.78fr);
        align-items: start;
    }

    .tracking-layout--single {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 640px) {
    .tracking-search__row {
        grid-template-columns: 1fr;
    }

    .tracking-item,
    .tracking-summary__row,
    .tracking-timeline__meta,
    .tracking-card__top {
        flex-direction: column;
        align-items: flex-start;
    }

    .tracking-item > span,
    .tracking-summary__row strong {
        white-space: normal;
        text-align: left;
    }
}

body.tracking-page {
    background:
        radial-gradient(circle at top left, rgba(221, 163, 166, 0.18), transparent 26%),
        radial-gradient(circle at top right, rgba(151, 179, 155, 0.18), transparent 28%),
        linear-gradient(180deg, #fff8f2 0%, #f7eee3 100%);
}

body.tracking-page .catalog-section {
    border-color: rgba(217, 122, 108, 0.12);
    background:
        radial-gradient(circle at top left, rgba(221, 163, 166, 0.12), transparent 26%),
        radial-gradient(circle at top right, rgba(151, 179, 155, 0.12), transparent 30%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(255, 249, 244, 0.97));
    box-shadow: 0 22px 46px rgba(122, 89, 78, 0.12);
}

body.tracking-page .catalog-section__eyebrow,
body.tracking-page .tracking-search__label {
    color: #d97a6c;
}

body.tracking-page .tracking-success {
    background:
        radial-gradient(circle at top left, rgba(221, 163, 166, 0.16), transparent 24%),
        radial-gradient(circle at top right, rgba(151, 179, 155, 0.16), transparent 30%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 245, 240, 0.98));
}

body.tracking-page .tracking-success h2,
body.tracking-page .tracking-card h2,
body.tracking-page .tracking-step strong,
body.tracking-page .tracking-item__copy strong,
body.tracking-page .tracking-timeline__meta strong {
    color: #4a342f;
}

body.tracking-page .tracking-success p,
body.tracking-page .tracking-item__copy p,
body.tracking-page .tracking-timeline__meta span,
body.tracking-page .tracking-timeline__content p,
body.tracking-page .tracking-summary__row span {
    color: #775f58;
}

body.tracking-page .tracking-success strong {
    background: rgba(151, 179, 155, 0.16);
    color: #5f7c67;
}

body.tracking-page .tracking-card__top h2,
body.tracking-page .tracking-item > span,
body.tracking-page .tracking-summary__row strong,
body.tracking-page .tracking-card .cart-summary__address strong {
    color: #4a342f;
}

body.tracking-page .tracking-step,
body.tracking-page .tracking-timeline__content,
body.tracking-page .tracking-item {
    border-color: rgba(217, 122, 108, 0.1);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 248, 243, 0.92));
}

body.tracking-page .tracking-step {
    color: #846962;
}

body.tracking-page .tracking-step__dot {
    background: rgba(217, 122, 108, 0.28);
    box-shadow: inset 0 0 0 4px rgba(255, 255, 255, 0.96);
}

body.tracking-page .tracking-step.is-active {
    color: #4a342f;
    border-color: rgba(217, 122, 108, 0.2);
    background:
        linear-gradient(135deg, rgba(221, 163, 166, 0.12), rgba(151, 179, 155, 0.1)),
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 248, 243, 0.92));
}

body.tracking-page .tracking-step.is-active .tracking-step__dot {
    background: linear-gradient(135deg, #d97a6c, #97b39b);
}

body.tracking-page .tracking-step.is-current {
    box-shadow: 0 16px 28px rgba(217, 122, 108, 0.1);
}

body.tracking-page .status-pill {
    border: 1px solid transparent;
}

body.tracking-page .status-pill--success {
    background: rgba(151, 179, 155, 0.16);
    border-color: rgba(151, 179, 155, 0.28);
    color: #5b7461;
}

body.tracking-page .status-pill--warning,
body.tracking-page .status-pill--accent {
    background: rgba(221, 163, 166, 0.16);
    border-color: rgba(217, 122, 108, 0.24);
    color: #b35f54;
}

body.tracking-page .status-pill--neutral {
    background: rgba(234, 216, 201, 0.42);
    border-color: rgba(234, 216, 201, 0.72);
    color: #7d675f;
}

body.tracking-page .status-pill--danger {
    background: rgba(217, 122, 108, 0.14);
    border-color: rgba(217, 122, 108, 0.24);
    color: #b75449;
}

body.tracking-page .tracking-timeline__marker::before,
body.tracking-page .tracking-summary__row {
    border-color: rgba(217, 122, 108, 0.1);
}

body.tracking-page .tracking-timeline__marker::before {
    background: rgba(151, 179, 155, 0.26);
}

body.tracking-page .tracking-timeline__marker-icon {
    border-color: rgba(151, 179, 155, 0.34);
    background: linear-gradient(180deg, rgba(151, 179, 155, 0.16), rgba(151, 179, 155, 0.08));
    color: #5f7c67;
}

body.tracking-page .tracking-timeline__item.is-failed .tracking-timeline__marker-icon {
    border-color: rgba(217, 122, 108, 0.34);
    background: linear-gradient(180deg, rgba(217, 122, 108, 0.18), rgba(217, 122, 108, 0.1));
    color: #b75449;
}

body.tracking-page .tracking-search__row input {
    border-color: rgba(217, 122, 108, 0.16);
    background: rgba(255, 255, 255, 0.96);
    color: #4a342f;
}

body.tracking-page .tracking-search__row input::placeholder {
    color: rgba(74, 52, 47, 0.42);
}

body.tracking-page .tracking-card--cancelled-notice {
    background:
        radial-gradient(circle at top right, rgba(217, 122, 108, 0.16), transparent 28%),
        radial-gradient(circle at top left, rgba(221, 163, 166, 0.12), transparent 30%),
        linear-gradient(180deg, rgba(255, 250, 249, 0.98), rgba(255, 242, 239, 0.98));
    border-color: rgba(217, 122, 108, 0.22);
}

body.tracking-page .tracking-card--cancelled-notice > p {
    color: #7d5a54;
}

body.tracking-page .tracking-card .cart-summary__address {
    border-color: rgba(217, 122, 108, 0.12);
    background: rgba(255, 255, 255, 0.74);
}

body.tracking-page .tracking-card .cart-summary__address span {
    color: #d97a6c;
}

.product-card__discount-badge {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #f5961e, #ffb247);
    color: #171717;
    font-size: 0.78rem;
    font-weight: 900;
    box-shadow: 0 12px 24px rgba(245, 150, 30, 0.22);
}

.storefront-product-card__price-old,
.storefront-product-detail__price-old,
.cart-item__unit--old {
    color: var(--muted);
    text-decoration: line-through;
}

.storefront-product-card__pricing {
    display: grid;
    gap: 4px;
}

.storefront-product-card__price-old {
    font-size: 0.82rem;
}

.storefront-showcase__mini-price-old {
    color: rgba(30, 26, 37, 0.48);
    text-decoration: line-through;
}

.storefront-product-detail__price {
    display: grid;
    gap: 6px;
}

.storefront-product-detail__discount {
    display: inline-flex;
    width: fit-content;
    min-height: 34px;
    align-items: center;
    padding: 0 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #f5961e, #ffb247);
    color: #171717;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.checkout-coupon-box {
    display: grid;
    gap: 12px;
    margin-bottom: 18px;
    padding: 16px;
    border: 1px solid rgba(245, 150, 30, 0.14);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.04);
}

.checkout-coupon-box__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.checkout-coupon-box__header strong {
    font-size: 0.9rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #ffce84;
}

.checkout-coupon-box__form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
}

.checkout-coupon-box__input {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid rgba(77, 19, 122, 0.12);
    border-radius: 14px;
    background: #fff;
    color: var(--text);
    font: inherit;
}

.checkout-coupon-box__description,
.checkout-coupon-box__hint,
.checkout-coupon-box__error {
    margin: 0;
    line-height: 1.5;
}

.checkout-coupon-box__description {
    color: #fff3de;
}

.checkout-coupon-box__hint {
    color: #d9c9b8;
}

.checkout-coupon-box__error {
    color: #d14343;
    font-weight: 600;
}

.checkout-coupon-box__remove {
    display: flex;
}

.checkout-coupon-box .btn--ghost,
.checkout-coupon-box__saved-toggle {
    border: 1px solid rgba(245, 150, 30, 0.18);
    background: rgba(245, 150, 30, 0.08);
    color: #ffe7bf;
}

.checkout-coupon-box .btn--ghost:hover,
.checkout-coupon-box__saved-toggle:hover {
    background: rgba(245, 150, 30, 0.14);
}

.checkout-coupon-box__saved {
    display: grid;
    gap: 12px;
    padding-top: 4px;
}

.checkout-coupon-box__saved-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid rgba(245, 150, 30, 0.18);
    border-radius: 14px;
    background: rgba(245, 150, 30, 0.08);
    color: #ffe7bf;
    font-size: 0.9rem;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
}

.checkout-coupon-box__saved-toggle::-webkit-details-marker {
    display: none;
}

.checkout-coupon-box__saved-list {
    display: grid;
    gap: 10px;
}

.checkout-coupon-box__saved-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.05);
}

.checkout-coupon-box__saved-copy {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.checkout-coupon-box__saved-copy strong {
    font-size: 0.92rem;
    color: #fff2df;
}

.checkout-coupon-box__saved-copy small {
    color: #d3c5b6;
    line-height: 1.45;
}

.checkout-coupon-box__saved-button {
    flex-shrink: 0;
}

.cart-summary__row--discount strong {
    color: #1ea971;
}

.storefront-notification-menu {
    position: relative;
    display: inline-flex;
}

.storefront-notification-menu__toggle {
    position: relative;
    width: 54px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.04);
    color: #fff;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.storefront-notification-menu__toggle:hover,
.storefront-notification-menu.is-open .storefront-notification-menu__toggle {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(245, 150, 30, 0.38);
}

.storefront-notification-menu__toggle svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.storefront-notification-menu__count {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
    border-radius: 999px;
    background: linear-gradient(135deg, #f5961e, #ffb247);
    color: #171717;
    font-size: 0.76rem;
    font-weight: 800;
}

.storefront-notification-menu__panel {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    z-index: 81;
    width: min(340px, calc(100vw - 24px));
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    background: rgba(16, 16, 18, 0.98);
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.32);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
}

.storefront-notification-menu.is-open .storefront-notification-menu__panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.storefront-notification-menu__header,
.storefront-notification-menu__mark-all {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.storefront-notification-menu__header strong {
    color: #fff;
    font-size: 0.98rem;
}

.storefront-notification-menu__header a,
.storefront-notification-menu__mark-all {
    color: #ffbb52;
    font-size: 0.82rem;
    font-weight: 700;
}

.storefront-notification-menu__mark-all,
.storefront-notification-menu__clear-all {
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
}

.storefront-notification-menu__clear-all {
    color: #ff9f95;
}

.storefront-notification-menu__clear-all:hover {
    color: #ffd1cb;
}

.storefront-notification-menu__list {
    display: grid;
    gap: 10px;
}

.storefront-notification-item,
.storefront-notification-menu__empty {
    display: grid;
    gap: 6px;
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.03);
}

.storefront-notification-item.is-unread {
    border-color: rgba(245, 150, 30, 0.22);
    background: rgba(245, 150, 30, 0.08);
}

.storefront-notification-item {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 12px;
}

.storefront-notification-item__open {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.storefront-notification-item__delete-form {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
}

.storefront-notification-item__delete {
    min-height: 32px;
    padding: 0 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.72rem;
    font-weight: 700;
    cursor: pointer;
    transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.storefront-notification-item__delete:hover {
    border-color: rgba(245, 150, 30, 0.32);
    background: rgba(245, 150, 30, 0.1);
    color: #ffcb7a;
}

.storefront-notification-item__type {
    color: #ffbb52;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.storefront-notification-item strong,
.storefront-notification-menu__empty strong {
    color: #fff;
}

.storefront-notification-item small,
.storefront-notification-menu__empty p {
    color: rgba(255, 255, 255, 0.66);
    line-height: 1.45;
}

.storefront-notification-menu__footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
}

.storefront-notification-menu__footer form {
    margin: 0;
}

.notifications-page__list {
    display: grid;
    gap: 14px;
}

.notifications-page__item {
    display: grid;
    gap: 10px;
    padding: 18px;
    border: 1px solid rgba(77, 19, 122, 0.12);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.74);
}

.notifications-page__item.is-unread {
    border-color: rgba(245, 150, 30, 0.24);
    background:
        radial-gradient(circle at top right, rgba(245, 150, 30, 0.12), transparent 32%),
        rgba(255, 255, 255, 0.88);
}

.notifications-page__item-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.notifications-page__type {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(77, 19, 122, 0.08);
    color: var(--primary);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.notifications-page__date {
    color: var(--muted);
    font-size: 0.88rem;
}

.notifications-page__item p {
    margin: 0;
    color: var(--muted);
    line-height: 1.55;
}

.notifications-page__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px;
}

.notifications-page__toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.notifications-page__actions form,
.notifications-page__toolbar form {
    margin: 0;
}

.btn--danger-soft {
    color: #ffb0a6 !important;
    border-color: rgba(255, 96, 96, 0.2) !important;
    background: rgba(255, 96, 96, 0.08) !important;
}

.btn--danger-soft:hover {
    color: #ffd1cb !important;
    border-color: rgba(255, 96, 96, 0.34) !important;
    background: rgba(255, 96, 96, 0.14) !important;
}

.customer-coupon-highlight {
    background:
        radial-gradient(circle at top right, rgba(245, 150, 30, 0.18), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 247, 236, 0.92));
}

.customer-coupon-highlight__body {
    display: grid;
    gap: 18px;
}

.customer-coupon-highlight__copy {
    display: grid;
    gap: 10px;
}

.customer-coupon-highlight__copy strong {
    font-size: 1.5rem;
    line-height: 1;
    font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
    text-transform: uppercase;
}

.customer-coupon-highlight__copy p {
    margin: 0;
    color: #5c574f;
    line-height: 1.65;
}

.customer-coupon-highlight__chips,
.customer-coupon-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.customer-coupon-highlight__chips span,
.customer-coupon-card__meta span,
.customer-coupon-card__value {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(77, 19, 122, 0.08);
    color: var(--primary);
    font-size: 0.8rem;
    font-weight: 800;
}

.customer-coupon-highlight__actions,
.customer-coupon-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.customer-coupon-grid {
    display: grid;
    gap: 16px;
}

.customer-coupon-card {
    display: grid;
    gap: 14px;
    padding: 20px;
    border: 1px solid rgba(23, 23, 23, 0.08);
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 248, 236, 0.9));
    box-shadow: 0 16px 34px rgba(39, 34, 25, 0.06);
}

.customer-coupon-card.is-redeemed {
    border-color: rgba(245, 150, 30, 0.22);
    background:
        radial-gradient(circle at top right, rgba(245, 150, 30, 0.12), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(255, 247, 232, 0.92));
}

.customer-coupon-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.customer-coupon-card h3 {
    margin: 0;
    font-size: 1.45rem;
    line-height: 0.96;
    text-transform: uppercase;
}

.customer-coupon-card p {
    margin: 0;
    color: #5c574f;
    line-height: 1.65;
}

@media (max-width: 767px) {
    .checkout-coupon-box__form {
        grid-template-columns: 1fr;
    }

    .checkout-coupon-box__saved-item {
        flex-direction: column;
        align-items: stretch;
    }

    .storefront-notification-menu {
        margin-right: 0;
    }

    .storefront-notification-menu__panel {
        right: -62px;
    }

    .storefront-notification-item {
        grid-template-columns: 1fr;
    }

    .storefront-notification-item__delete-form {
        justify-content: flex-start;
    }

    .notifications-page__item-top {
        flex-direction: column;
        align-items: flex-start;
    }

    .customer-coupon-highlight__actions,
    .customer-coupon-card__actions {
        flex-direction: column;
        align-items: stretch;
    }
}

@media (min-width: 768px) {
    .customer-coupon-highlight__body {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
    }

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

/* Moda Tropical palette overrides */
:root {
    --primary: #d97a6c;
    --secondary: #97b39b;
    --surface: #fffdfb;
    --surface-soft: #fff8f2;
    --background: #f8efe7;
    --text: #4a342f;
    --muted: #7b6660;
    --line: rgba(217, 122, 108, 0.12);
    --shadow: 0 24px 50px rgba(97, 74, 59, 0.12);
    --tropic-coral: #d97a6c;
    --tropic-coral-deep: #bf6358;
    --tropic-guava: #dda3a6;
    --tropic-sage: #97b39b;
    --tropic-sage-deep: #6f8e76;
    --tropic-sand: #ead8c9;
    --tropic-cream: #fff8f2;
    --tropic-ink: #4a342f;
    --fem-pink: var(--tropic-guava);
    --fem-pink-strong: var(--tropic-coral);
    --fem-violet: var(--tropic-sage);
    --fem-violet-deep: var(--tropic-sage-deep);
    --fem-blush: var(--tropic-cream);
    --fem-blush-strong: var(--tropic-sand);
    --fem-ink: var(--tropic-ink);
}

body {
    background:
        radial-gradient(circle at top left, rgba(221, 163, 166, 0.18), transparent 30%),
        radial-gradient(circle at top right, rgba(151, 179, 155, 0.16), transparent 32%),
        var(--background);
    color: var(--text);
}

.app-splash {
    background:
        radial-gradient(circle at top, rgba(221, 163, 166, 0.24), transparent 30%),
        linear-gradient(140deg, #a65f54, #d97a6c 48%, #97b39b 100%);
}

.flash {
    background: var(--surface);
}

.hero-card__badge,
.hero-card__admin-link,
.catalog-section__count,
.product-card__tag,
.product-card__order,
.catalog-section__eyebrow,
.storefront-showcase__eyebrow,
.storefront-toolbar__eyebrow,
.storefront-showcase__badge,
.customer-area-hero__badge,
.auth-panel__eyebrow,
.auth-form-card__badge,
.account-data span {
    background: rgba(221, 163, 166, 0.2);
    color: var(--tropic-coral-deep);
}

.btn--primary,
.btn--accent,
.checkout-card--summary .btn--primary,
.storefront-product-card__actions .btn--primary,
.storefront-product-detail__actions .btn--primary {
    background: linear-gradient(135deg, var(--tropic-coral-deep), var(--tropic-coral) 56%, var(--tropic-guava) 100%);
    color: #fff;
    box-shadow: 0 18px 32px rgba(217, 122, 108, 0.18);
}

.btn--ghost,
.btn--outline,
.btn--light,
.customer-area-hero__back,
.customer-area-nav__link,
.hero-card__admin-link--soft {
    border-color: rgba(217, 122, 108, 0.14);
    background: rgba(255, 255, 255, 0.92);
    color: var(--tropic-ink);
}

.customer-area-hero__logout,
.customer-area-nav__link.is-current {
    background: linear-gradient(135deg, var(--tropic-coral-deep), var(--tropic-coral) 56%, var(--tropic-guava) 100%);
    color: #fff;
    box-shadow: 0 14px 26px rgba(217, 122, 108, 0.16);
}

body.storefront-body {
    background:
        radial-gradient(circle at top, rgba(221, 163, 166, 0.16), transparent 18%),
        linear-gradient(180deg, #fff9f5 0%, #f8efe7 38%, #f4ebe2 100%);
    color: var(--tropic-ink);
    overflow-x: clip;
}

.storefront-body .app-splash {
    background:
        radial-gradient(circle at top, rgba(221, 163, 166, 0.22), transparent 28%),
        linear-gradient(145deg, #a45b52, #d97a6c 48%, #97b39b 100%);
}

.storefront-header {
    background: linear-gradient(180deg, #fffdfb, #f8efe7);
    color: var(--tropic-ink);
    box-shadow: 0 26px 60px rgba(97, 74, 59, 0.14);
}

.storefront-search input {
    border-color: rgba(217, 122, 108, 0.14);
}

.storefront-search button,
.storefront-cart-link__count,
.floating-cart {
    background: linear-gradient(135deg, var(--tropic-coral-deep), var(--tropic-coral) 56%, var(--tropic-guava) 100%);
    color: #fff;
}

.storefront-cart-link,
.storefront-utility-menu__toggle,
.storefront-notification-menu__toggle {
    border-color: rgba(151, 179, 155, 0.22);
    background: rgba(151, 179, 155, 0.12);
    color: var(--tropic-sage-deep);
}

.storefront-utility__auth-button {
    border-color: #f1c39d;
    background: #fec195;
    color: #181818;
}

.storefront-utility__auth-button:hover {
    border-color: #f3b182;
    box-shadow: 0 14px 24px rgba(217, 122, 108, 0.18);
}

.storefront-utility-menu__toggle:hover,
.storefront-utility.is-open .storefront-utility-menu__toggle,
.storefront-notification-menu__toggle:hover,
.storefront-notification-menu.is-open .storefront-notification-menu__toggle {
    background: rgba(221, 163, 166, 0.16);
    border-color: rgba(217, 122, 108, 0.18);
}

.storefront-utility-menu__panel,
.storefront-notification-menu__panel {
    border-color: rgba(217, 122, 108, 0.1);
    background: rgba(255, 253, 251, 0.98);
    box-shadow: 0 22px 48px rgba(97, 74, 59, 0.14);
}

.storefront-utility-menu__welcome {
    color: rgba(74, 52, 47, 0.72);
    border-bottom-color: rgba(151, 179, 155, 0.16);
}

.storefront-utility-menu__section-title {
    color: rgba(111, 142, 118, 0.82);
}

.storefront-utility-menu__category-link,
.storefront-utility-menu__panel .storefront-utility__link {
    border-color: rgba(217, 122, 108, 0.14);
    background: rgba(255, 255, 255, 0.9);
    color: var(--tropic-ink);
}

.storefront-utility-menu__category-link:hover,
.storefront-utility-menu__panel .storefront-utility__link:hover {
    border-color: rgba(217, 122, 108, 0.22);
    background: rgba(234, 216, 201, 0.42);
}

.storefront-utility-menu__category-link.is-current,
.storefront-notification-item.is-unread {
    border-color: rgba(221, 163, 166, 0.34);
    background: rgba(221, 163, 166, 0.12);
    color: var(--tropic-ink);
}

.storefront-notification-menu__header strong,
.storefront-notification-item strong,
.storefront-notification-menu__empty strong {
    color: var(--tropic-ink);
}

.storefront-notification-menu__header a,
.storefront-notification-menu__mark-all,
.storefront-notification-item__type {
    color: var(--tropic-coral-deep);
}

.storefront-notification-menu__clear-all {
    color: #a66d63;
}

.storefront-notification-menu__clear-all:hover {
    color: var(--tropic-coral-deep);
}

.storefront-notification-item,
.storefront-notification-menu__empty {
    border-color: rgba(217, 122, 108, 0.1);
    background: rgba(255, 255, 255, 0.88);
}

.storefront-notification-item small,
.storefront-notification-menu__empty p {
    color: rgba(74, 52, 47, 0.68);
}

.storefront-notification-item__delete {
    border-color: rgba(151, 179, 155, 0.18);
    background: rgba(151, 179, 155, 0.09);
    color: rgba(74, 52, 47, 0.72);
}

.storefront-notification-item__delete:hover {
    border-color: rgba(217, 122, 108, 0.28);
    background: rgba(221, 163, 166, 0.18);
    color: var(--tropic-coral-deep);
}

.storefront-utility__cta {
    background: linear-gradient(135deg, var(--tropic-coral-deep), var(--tropic-coral) 56%, var(--tropic-guava) 100%);
    color: #fff;
}

.storefront-nav {
    background: transparent;
}

.storefront-nav__link {
    color: #fff;
}

.storefront-nav__link.is-current,
.storefront-nav__link:hover {
    color: #fff;
}

.storefront-showcase__content,
.storefront-showcase__feature,
.storefront-brand-card,
.storefront-category-link-card,
.storefront-product-card,
.storefront-page-heading,
.storefront-brand-hero,
.storefront-product-detail,
.storefront-footer,
.auth-panel,
.auth-form-card,
.account-card,
.account-side-card,
.customer-area-hero {
    box-shadow: 0 18px 40px rgba(97, 74, 59, 0.1);
}

.storefront-showcase__content {
    background:
        radial-gradient(circle at top right, rgba(221, 163, 166, 0.16), transparent 32%),
        linear-gradient(180deg, #fffdfb, #fff8f2);
}

.storefront-showcase__content p,
.storefront-toolbar__intro p,
.storefront-category__description,
.storefront-page-heading__content p,
.storefront-brand-hero__body p,
.storefront-product-card .product-card__body p,
.storefront-product-detail__description,
.storefront-footer__brand p,
.storefront-footer__column a,
.storefront-footer__column span {
    color: var(--muted);
}

.btn--dark {
    background: var(--tropic-sage-deep);
    color: #fff;
}

.storefront-showcase__feature {
    background: linear-gradient(135deg, var(--tropic-coral-deep) 0%, var(--tropic-coral) 36%, var(--tropic-guava) 68%, var(--tropic-sage) 100%);
    color: #fff;
    padding: 16px;
}

.storefront-showcase__badge {
    padding: 12px 18px;
    border: 1px solid rgba(255, 210, 112, 0.42);
    background: linear-gradient(135deg, #8f1407 0%, #cf2415 28%, #ff5d12 62%, #ffc83b 100%);
    color: #fff7e7;
    box-shadow: 0 16px 28px rgba(143, 20, 7, 0.22);
    text-shadow: 0 1px 0 rgba(82, 16, 8, 0.28);
    text-decoration: none;
    cursor: pointer;
}

.storefront-showcase__marquee-shell {
    background:
        linear-gradient(135deg, rgba(255, 236, 225, 0.16) 0%, rgba(255, 236, 225, 0.07) 42%, rgba(151, 179, 155, 0.1) 42%, rgba(151, 179, 155, 0.16) 100%);
    padding: 14px;
}

.storefront-showcase__marquee-shell::before {
    background:
        linear-gradient(135deg, rgba(191, 99, 88, 0.96) 0%, rgba(217, 122, 108, 0.94) 34%, rgba(221, 163, 166, 0.9) 64%, rgba(151, 179, 155, 0.94) 100%);
}

.storefront-showcase__marquee-shell::after {
    background:
        linear-gradient(90deg, rgba(191, 99, 88, 0.16), transparent 13%, transparent 87%, rgba(111, 142, 118, 0.18)),
        linear-gradient(180deg, rgba(111, 142, 118, 0.12), transparent 16%, transparent 84%, rgba(191, 99, 88, 0.16));
}

.storefront-showcase__mini-card {
    background: rgba(255, 253, 251, 0.98);
    box-shadow: 0 12px 24px rgba(97, 74, 59, 0.12);
    gap: 12px;
    padding: 16px;
}

.storefront-showcase__mini-media,
.storefront-product-card__image-wrap,
.storefront-brand-card__media,
.storefront-brand-hero__media,
.storefront-product-detail__main {
    background: linear-gradient(180deg, #fffdfb, #f3e5d8);
}

.storefront-showcase__mini-copy span,
.storefront-brand-card__eyebrow,
.storefront-category-link-card__eyebrow,
.storefront-product-card__meta span,
.storefront-product-detail__meta span,
.storefront-notification-item__type {
    color: var(--tropic-coral-deep);
}

.storefront-showcase__mini-copy small,
.storefront-product-card__pricing strong,
.storefront-product-detail__price strong,
.storefront-showcase__details span,
.storefront-showcase__carousel-note span,
.storefront-showcase__mini-price-old,
.storefront-product-card__price-old,
.storefront-product-detail__price-old {
    color: var(--tropic-sage-deep);
}

.storefront-category-link-card {
    background: linear-gradient(135deg, var(--tropic-coral-deep) 0%, var(--tropic-coral) 38%, var(--tropic-guava) 68%, var(--tropic-sage) 100%);
    color: #fff;
    box-shadow: 0 18px 40px rgba(217, 122, 108, 0.16);
}

.storefront-category-link-card strong,
.storefront-category-link-card small {
    color: #fff;
}

.storefront-page-heading,
.storefront-brand-hero,
.storefront-product-detail {
    background:
        radial-gradient(circle at top right, rgba(221, 163, 166, 0.12), transparent 26%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 248, 242, 0.96));
}

.storefront-product-card__flavors select,
.storefront-product-detail__flavors select,
.storefront-quantity-stepper,
.storefront-quantity-input,
.storefront-product-card__details-toggle,
.storefront-product-detail__details-toggle {
    border-color: rgba(151, 179, 155, 0.24);
}

.storefront-product-card__details-toggle,
.storefront-product-detail__details-toggle {
    background: rgba(234, 216, 201, 0.36);
    color: var(--tropic-sage-deep);
}

.storefront-product-card__details-content,
.storefront-product-detail__description {
    background: rgba(255, 248, 242, 0.9);
}

.storefront-product-detail__thumb.is-active,
.storefront-product-card__flavors select.is-invalid {
    border-color: rgba(217, 122, 108, 0.56);
    box-shadow: 0 0 0 4px rgba(221, 163, 166, 0.14);
}

.product-card__discount-badge,
.storefront-showcase__promo-ribbon,
.storefront-product-detail__discount,
.checkout-coupon-box .btn--ghost {
    background: linear-gradient(135deg, var(--tropic-coral-deep), var(--tropic-coral) 62%, #e19f8f 100%);
    color: #fff;
}

.storefront-showcase__promo-ribbon {
    background: linear-gradient(135deg, #a51508 0%, #e0321b 34%, #ff6a00 68%, #ffd24a 100%);
    color: #fff7ea;
    box-shadow: 0 10px 18px rgba(165, 21, 8, 0.24);
}

.storefront-showcase__mini-card {
    min-height: 0;
}

.storefront-showcase__mini-media {
    height: auto;
    aspect-ratio: 5 / 5.2;
    padding: 10px;
    border-radius: 22px;
    background: linear-gradient(180deg, #fffdfb, #f6ebdf);
    touch-action: pan-y;
}

.storefront-showcase__mini-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
    touch-action: pan-y;
}

.product-card__tag {
    z-index: 2;
    border: 1px solid rgba(191, 99, 88, 0.18);
    background: linear-gradient(135deg, rgba(191, 99, 88, 0.94), rgba(217, 122, 108, 0.92));
    color: #fffaf7;
    box-shadow: 0 10px 22px rgba(191, 99, 88, 0.18);
}

.storefront-footer {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: linear-gradient(135deg, #6f8e76 0%, #88a68f 38%, #c98f7d 100%);
}

.storefront-footer > * {
    position: relative;
    z-index: 1;
}

.storefront-footer::before,
.storefront-footer::after {
    content: "";
    position: absolute;
    bottom: -24px;
    width: 172px;
    height: 232px;
    pointer-events: none;
    opacity: 0.3;
    z-index: 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    filter: drop-shadow(0 12px 18px rgba(63, 88, 66, 0.16));
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 240'%3E%3Cpath d='M74 220C78 171 91 110 112 35' fill='none' stroke='%236f8e76' stroke-width='7' stroke-linecap='round'/%3E%3Cellipse cx='106' cy='60' rx='44' ry='11' transform='rotate(-30 106 60)' fill='%23c7ddb8'/%3E%3Cellipse cx='112' cy='84' rx='42' ry='10' transform='rotate(-14 112 84)' fill='%23b5d0aa'/%3E%3Cellipse cx='114' cy='110' rx='38' ry='10' transform='rotate(3 114 110)' fill='%239fbe99'/%3E%3Cellipse cx='109' cy='136' rx='34' ry='9' transform='rotate(18 109 136)' fill='%238cb089'/%3E%3Cellipse cx='99' cy='160' rx='29' ry='8' transform='rotate(31 99 160)' fill='%23799f7d'/%3E%3Cellipse cx='82' cy='74' rx='37' ry='10' transform='rotate(-150 82 74)' fill='%23d4e5c5'/%3E%3Cellipse cx='75' cy='98' rx='35' ry='10' transform='rotate(-169 75 98)' fill='%23bdd5b2'/%3E%3Cellipse cx='73' cy='124' rx='31' ry='9' transform='rotate(175 73 124)' fill='%23a5c29f'/%3E%3Cellipse cx='76' cy='150' rx='25' ry='8' transform='rotate(160 76 150)' fill='%238daf8b'/%3E%3Cpath d='M70 212c8-5 18-8 28-9' fill='none' stroke='%236f8e76' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E");
}

.storefront-footer::before {
    left: -34px;
    transform: rotate(-8deg);
}

.storefront-footer::after {
    right: -34px;
    transform: scaleX(-1) rotate(-8deg);
}

.storefront-footer__heading {
    color: #fff;
}

.storefront-footer__brand p,
.storefront-footer__link,
.storefront-footer__meta {
    color: rgba(255, 248, 242, 0.88);
}

.storefront-footer__meta {
    color: rgba(255, 248, 242, 0.92);
}

.storefront-footer__link:hover,
.storefront-footer__cta:hover {
    color: #fff;
}

.storefront-footer__cta {
    background: rgba(255, 255, 255, 0.18);
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.18),
        0 12px 24px rgba(92, 62, 48, 0.14);
}

@media (max-width: 760px) {
    .storefront-footer {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: min-content;
        align-content: start;
        gap: 12px 12px;
        padding: 18px 16px;
        border-radius: 28px;
    }

    .storefront-footer-shell {
        min-height: calc(100svh - 8px - env(safe-area-inset-bottom, 0px));
        align-items: stretch;
        justify-content: flex-end;
        margin-top: auto;
        gap: 4px;
    }

    .storefront-footer {
        flex: 0 0 auto;
        min-height: auto;
    }

    .storefront-footer__brand {
        grid-column: 1 / -1;
    }

    .storefront-footer__section--categories {
        grid-column: 1;
        grid-row: 2;
    }

    .storefront-footer__section--help {
        grid-column: 2;
        grid-row: 2;
    }

    .storefront-footer__section--support {
        grid-column: 1 / -1;
        grid-row: 3;
    }

    .storefront-footer__heading {
        margin-bottom: 1px;
        font-size: 0.94rem;
    }

    .storefront-footer__brand p,
    .storefront-footer__link,
    .storefront-footer__meta {
        font-size: 0.88rem;
        line-height: 1.26;
    }

    .storefront-footer__section {
        gap: 5px;
    }

    .storefront-footer__brand p {
        line-height: 1.22;
    }

    .storefront-footer__cta {
        width: 100%;
        min-height: 38px;
        margin-top: 2px;
        font-size: 0.88rem;
    }

    .storefront-footer::before,
    .storefront-footer::after {
        width: 112px;
        height: 156px;
        opacity: 0.16;
        bottom: -14px;
    }

    .storefront-footer::before {
        left: -36px;
    }

    .storefront-footer::after {
        right: -36px;
    }

    .storefront-footer__legal {
        padding: 0 8px max(1px, env(safe-area-inset-bottom, 0px));
        font-size: 0.66rem;
        letter-spacing: 0.06em;
    }
}

.floating-cart {
    background: linear-gradient(135deg, #d96f8d 0%, #b45ccf 52%, #f4a547 100%);
    color: #fffaf4;
    box-shadow: 0 18px 30px rgba(180, 92, 207, 0.24);
    border: 1px solid rgba(255, 248, 240, 0.28);
}

.floating-cart-layer {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 140;
}

body > .floating-cart-layer .floating-cart,
body > .floating-cart-layer .floating-cart-popover {
    position: fixed !important;
    pointer-events: auto;
}

body > .floating-cart,
body > .floating-cart-popover,
body > .cart-overlay {
    position: fixed;
}

.floating-cart.is-bumped {
    animation: floating-cart-bump 0.52s ease;
}

.floating-cart__icon {
    color: #fffaf4;
}

.floating-cart__count {
    border-color: rgba(255, 248, 242, 0.92);
    background: #7a4bb1;
    color: #fff;
}

.floating-cart-popover {
    position: fixed;
    right: 16px;
    bottom: 92px;
    z-index: 31;
    width: min(260px, calc(100vw - 24px));
    display: grid;
    gap: 4px;
    padding: 14px 16px;
    border: 1px solid rgba(234, 216, 201, 0.92);
    border-radius: 18px;
    background: rgba(255, 253, 251, 0.98);
    color: var(--tropic-ink);
    box-shadow: 0 20px 40px rgba(97, 74, 59, 0.16);
    opacity: 0;
    transform: translateY(10px) scale(0.96);
    transform-origin: bottom right;
    pointer-events: none;
    transition: opacity 0.22s ease, transform 0.22s ease;
}

.floating-cart-popover.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.floating-cart-popover::after {
    content: "";
    position: absolute;
    right: 26px;
    bottom: -8px;
    width: 16px;
    height: 16px;
    border-right: 1px solid rgba(234, 216, 201, 0.92);
    border-bottom: 1px solid rgba(234, 216, 201, 0.92);
    background: rgba(255, 253, 251, 0.98);
    transform: rotate(45deg);
}

.floating-cart-popover__title {
    color: var(--tropic-coral-deep);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.floating-cart-popover__message {
    color: rgba(74, 52, 47, 0.82);
    font-size: 0.92rem;
    line-height: 1.45;
}

@keyframes floating-cart-bump {
    0%,
    100% {
        transform: scale(1);
    }

    34% {
        transform: scale(1.08);
    }

    68% {
        transform: scale(0.96);
    }
}

.storefront-product-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    padding: 0 4px;
    color: rgba(74, 52, 47, 0.74);
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.storefront-product-breadcrumbs a {
    color: var(--tropic-coral-deep);
}

.storefront-product-breadcrumbs span:last-child {
    color: var(--tropic-ink);
}

.storefront-product-detail--editorial {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: clamp(18px, 3vw, 32px);
    border-radius: 34px;
    border: 1px solid rgba(255, 255, 255, 0.84);
    background:
        radial-gradient(circle at top right, rgba(221, 163, 166, 0.13), transparent 26%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(255, 248, 242, 0.96));
}

.storefront-product-detail--editorial .storefront-product-detail__gallery-shell {
    display: grid;
    gap: 16px;
}

.storefront-product-detail--editorial .storefront-product-detail__gallery {
    display: block;
}

.storefront-product-detail--editorial .storefront-product-detail__main {
    position: relative;
    border-radius: 28px;
    border: 1px solid rgba(234, 216, 201, 0.8);
    background:
        radial-gradient(circle at top left, rgba(151, 179, 155, 0.14), transparent 24%),
        linear-gradient(180deg, #fffdfb, #f8ede2);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
    cursor: grab;
    touch-action: pan-y;
    user-select: none;
}

.storefront-product-detail--editorial .storefront-product-detail__main img {
    width: 100%;
    aspect-ratio: 4 / 5.2;
    object-fit: contain;
    object-position: center;
    user-select: none;
    -webkit-user-drag: none;
    pointer-events: none;
}

.storefront-product-detail--editorial .storefront-product-detail__main.is-dragging {
    cursor: grabbing;
}

.storefront-product-detail--editorial .storefront-product-detail__thumbs {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(72px, 88px);
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 4px;
}

.storefront-product-detail--editorial .storefront-product-detail__thumb {
    border-width: 1px;
    border-color: rgba(234, 216, 201, 0.92);
    border-radius: 18px;
    background: linear-gradient(180deg, #fffdfb, #f6ece2);
    box-shadow: 0 10px 18px rgba(97, 74, 59, 0.08);
}

.storefront-product-detail--editorial .storefront-product-detail__thumb.is-active {
    border-color: rgba(217, 122, 108, 0.62);
    box-shadow: 0 0 0 4px rgba(221, 163, 166, 0.16);
}

.storefront-product-detail--editorial .storefront-product-detail__thumb img {
    aspect-ratio: 4 / 5;
    object-fit: cover;
}

.storefront-product-detail--editorial .storefront-product-detail__info {
    gap: 22px;
}

.storefront-product-detail--editorial .storefront-product-detail__header {
    display: grid;
    gap: 10px;
}

.storefront-product-detail__backlink {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0;
    color: var(--tropic-coral-deep);
    font-size: 0.92rem;
    font-weight: 700;
}

.storefront-product-detail__backlink:hover {
    color: var(--tropic-ink);
}

.storefront-product-detail__eyebrow {
    color: var(--tropic-coral-deep);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.storefront-product-detail--editorial h1 {
    margin: 0;
    color: var(--tropic-ink);
    font-size: clamp(2.2rem, 5vw, 4rem);
    line-height: 0.94;
    text-transform: uppercase;
}

.storefront-product-detail__subheader {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    color: rgba(74, 52, 47, 0.72);
    font-size: 0.92rem;
}

.storefront-product-detail__subheader span {
    position: relative;
}

.storefront-product-detail__subheader span + span::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -10px;
    width: 4px;
    height: 4px;
    border-radius: 999px;
    background: rgba(151, 179, 155, 0.92);
    transform: translateY(-50%);
}

.storefront-product-detail--editorial .storefront-product-detail__price {
    gap: 8px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(234, 216, 201, 0.82);
}

.storefront-product-detail--editorial .storefront-product-detail__price strong {
    font-size: clamp(2.1rem, 4vw, 3.4rem);
    color: var(--tropic-sage-deep);
}

.storefront-product-detail--editorial .storefront-product-detail__price small {
    color: var(--muted);
    font-size: 0.95rem;
    font-weight: 600;
}

.storefront-product-detail--editorial .storefront-product-detail__meta {
    gap: 10px;
}

.storefront-product-detail--editorial .storefront-product-detail__meta span {
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid rgba(234, 216, 201, 0.92);
    background: rgba(255, 253, 251, 0.92);
    font-size: 0.76rem;
    letter-spacing: 0.04em;
}

.storefront-product-detail--editorial .storefront-product-detail__meta .is-stock {
    border-color: rgba(151, 179, 155, 0.24);
    background: rgba(151, 179, 155, 0.16);
    color: var(--tropic-sage-deep);
}

.storefront-product-detail--editorial .storefront-product-detail__meta .is-out {
    border-color: rgba(217, 122, 108, 0.2);
    background: rgba(217, 122, 108, 0.14);
    color: var(--tropic-coral-deep);
}

.storefront-product-detail--editorial .storefront-product-detail__flavors {
    gap: 14px;
    padding: 20px 22px;
    border: 1px solid rgba(234, 216, 201, 0.86);
    border-radius: 24px;
    background: rgba(255, 253, 251, 0.88);
}

.storefront-product-detail__size-heading {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px 12px;
    align-items: baseline;
}

.storefront-product-detail__size-heading span {
    color: rgba(74, 52, 47, 0.72);
    font-size: 0.88rem;
    font-weight: 600;
}

.storefront-product-detail__native-select {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.storefront-product-detail__size-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.storefront-product-detail__size-list.is-invalid {
    padding: 4px;
    margin: -4px;
    border-radius: 20px;
    box-shadow: 0 0 0 4px rgba(217, 122, 108, 0.12);
}

.storefront-product-detail__size-option {
    position: relative;
    min-width: 66px;
    min-height: 52px;
    padding: 0 18px;
    border: 1px solid rgba(151, 179, 155, 0.28);
    border-radius: 16px;
    background: #fffdfb;
    color: var(--tropic-ink);
    font: inherit;
    font-size: 0.96rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease, color 0.16s ease;
}

.storefront-product-detail__size-option:hover {
    border-color: rgba(217, 122, 108, 0.48);
    transform: translateY(-1px);
}

.storefront-product-detail__size-option.is-selected {
    border-color: var(--tropic-ink);
    background: linear-gradient(135deg, var(--tropic-ink), #6d5249);
    color: #fff;
    box-shadow: 0 16px 24px rgba(74, 52, 47, 0.16);
}

.storefront-product-detail__size-option.is-unavailable,
.storefront-product-detail__size-option:disabled {
    border-color: rgba(74, 52, 47, 0.16);
    background: rgba(244, 237, 231, 0.9);
    color: rgba(74, 52, 47, 0.38);
    cursor: not-allowed;
    box-shadow: none;
    transform: none;
}

.storefront-product-detail__size-option.is-unavailable::after,
.storefront-product-detail__size-option:disabled::after {
    content: "";
    position: absolute;
    inset: 8px;
    background: linear-gradient(135deg, transparent 48%, rgba(126, 107, 98, 0.8) 49%, rgba(126, 107, 98, 0.8) 51%, transparent 52%);
    pointer-events: none;
}

.storefront-product-detail--editorial .storefront-product-card__flavor-stock {
    color: var(--tropic-sage-deep);
}

.storefront-product-detail--editorial .storefront-product-card__flavor-hint {
    font-weight: 600;
}

.storefront-product-detail--editorial .storefront-product-detail__cart-form {
    gap: 14px;
}

.storefront-product-detail__purchase-row {
    display: grid;
    grid-template-columns: minmax(0, 220px) minmax(0, 1fr);
    gap: 14px;
    align-items: end;
}

.storefront-product-detail__purchase-actions {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 12px;
    align-items: end;
}

.storefront-product-detail--editorial .storefront-product-detail__quantity {
    min-width: 0;
}

.storefront-product-detail--editorial .storefront-quantity-stepper {
    width: 100%;
    grid-template-columns: 50px minmax(0, 1fr) 50px;
    gap: 8px;
}

.storefront-product-detail--editorial .storefront-quantity-button {
    height: 52px;
    border-radius: 16px;
}

.storefront-product-detail--editorial .storefront-quantity-button--minus {
    background: linear-gradient(135deg, var(--tropic-guava), #d98c8e);
}

.storefront-product-detail--editorial .storefront-quantity-button--plus {
    background: linear-gradient(135deg, var(--tropic-sage), var(--tropic-sage-deep));
}

.storefront-product-detail--editorial .storefront-quantity-input {
    width: 100%;
    min-height: 52px;
    border-radius: 16px;
    background: rgba(74, 52, 47, 0.94);
    color: #fff;
}

.storefront-product-detail__submit {
    width: 100%;
    min-height: 56px;
    border-radius: 18px;
    justify-content: center;
}

.storefront-product-detail__favorite {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    min-width: 56px;
    height: 56px;
    border: 1px solid rgba(217, 122, 108, 0.14);
    border-radius: 18px;
    background: rgba(255, 253, 251, 0.96);
    color: var(--tropic-ink);
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.storefront-product-detail__favorite svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.storefront-product-detail__favorite:hover {
    transform: translateY(-1px);
    border-color: rgba(217, 122, 108, 0.28);
    box-shadow: 0 12px 24px rgba(217, 122, 108, 0.12);
}

.storefront-product-detail__favorite.is-active {
    border-color: rgba(191, 99, 88, 0.3);
    background: linear-gradient(135deg, var(--tropic-coral-deep), var(--tropic-coral) 70%, var(--tropic-guava) 100%);
    color: #fff;
    box-shadow: 0 16px 28px rgba(217, 122, 108, 0.16);
}

.storefront-product-detail__favorite.is-active svg {
    fill: currentColor;
}

.storefront-product-detail__favorite.is-error {
    border-color: rgba(177, 62, 62, 0.34);
    box-shadow: 0 0 0 4px rgba(177, 62, 62, 0.08);
}

.storefront-product-detail__secondary-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.storefront-product-detail__secondary-actions .btn {
    min-width: 220px;
}

.storefront-product-share {
    display: grid;
    gap: 12px;
}

.storefront-product-share__label {
    color: rgba(74, 52, 47, 0.8);
    font-size: 0.98rem;
}

.storefront-product-share__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.storefront-product-share__icon,
.storefront-product-share__copy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    border: 1px solid rgba(217, 122, 108, 0.14);
    border-radius: 999px;
    background: rgba(255, 253, 251, 0.96);
    color: var(--tropic-ink);
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.storefront-product-share__icon {
    width: 42px;
    min-width: 42px;
}

.storefront-product-share__icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.storefront-product-share__copy {
    padding: 0 16px;
    font-size: 0.9rem;
    font-weight: 600;
}

.storefront-product-share__icon:hover,
.storefront-product-share__copy:hover {
    transform: translateY(-1px);
    border-color: rgba(217, 122, 108, 0.28);
    box-shadow: 0 12px 20px rgba(217, 122, 108, 0.1);
}

.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;
}

.storefront-product-detail__about {
    display: grid;
    gap: 12px;
    padding-top: 8px;
    border-top: 1px solid rgba(234, 216, 201, 0.82);
}

.storefront-product-detail__about h2 {
    margin: 0;
    color: var(--tropic-ink);
    font-size: clamp(1.4rem, 2vw, 1.8rem);
}

.storefront-product-detail--editorial .storefront-product-detail__description {
    padding: 20px 22px;
    border: 1px solid rgba(234, 216, 201, 0.86);
    border-radius: 24px;
    background: rgba(255, 253, 251, 0.88);
}

@media (min-width: 1100px) {
    .storefront-product-detail--editorial {
        grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
        align-items: start;
    }

    .storefront-product-detail--editorial .storefront-product-detail__gallery-shell.has-thumbs {
        grid-template-columns: 88px minmax(0, 1fr);
        align-items: start;
    }

    .storefront-product-detail--editorial .storefront-product-detail__thumbs {
        grid-auto-flow: row;
        grid-auto-columns: auto;
        grid-template-columns: 1fr;
        overflow: visible;
    }
}

@media (max-width: 767px) {
    .storefront-product-breadcrumbs {
        gap: 6px;
        margin-bottom: 14px;
        padding: 0;
        font-size: 0.72rem;
    }

    .floating-cart {
        position: fixed !important;
        right: max(16px, calc(env(safe-area-inset-right, 0px) + 14px));
        bottom: calc(116px + env(safe-area-inset-bottom, 0px));
        left: auto !important;
        width: 60px;
        height: 60px;
        border-radius: 20px;
        z-index: 140;
        background: linear-gradient(140deg, #d96f8d 0%, #b45ccf 50%, #f4a547 100%);
        box-shadow: 0 20px 36px rgba(180, 92, 207, 0.26);
        transform: translateZ(0);
        will-change: transform;
    }

    .floating-cart__icon,
    .floating-cart__icon svg {
        width: 24px;
        height: 24px;
    }

    .floating-cart__count {
        top: -5px;
        right: -5px;
        min-width: 24px;
        height: 24px;
        font-size: 0.72rem;
        background: #7e46c5;
        color: #fff;
    }

    .floating-cart-popover {
        position: fixed !important;
        right: max(14px, calc(env(safe-area-inset-right, 0px) + 12px));
        bottom: calc(192px + env(safe-area-inset-bottom, 0px));
        width: min(240px, calc(100vw - 24px));
        padding: 12px 14px;
        z-index: 141;
    }

    .floating-cart-popover::after {
        right: 22px;
    }

    .storefront-product-detail--editorial {
        gap: 22px;
        padding: 16px;
        border-radius: 26px;
    }

    .storefront-product-detail--editorial .storefront-product-detail__main {
        border-radius: 22px;
    }

    .storefront-product-detail--editorial .storefront-product-detail__gallery {
        order: 1;
    }

    .storefront-product-detail--editorial .storefront-product-detail__thumbs {
        order: 2;
        grid-template-columns: repeat(auto-fit, minmax(58px, 1fr));
        grid-auto-flow: row;
        grid-auto-columns: auto;
        gap: 10px;
        overflow: visible;
        padding-bottom: 0;
    }

    .storefront-product-detail--editorial h1 {
        font-size: clamp(1.9rem, 11vw, 2.8rem);
    }

    .storefront-product-detail--editorial .storefront-product-detail__flavors,
    .storefront-product-detail--editorial .storefront-product-detail__description {
        padding: 16px;
        border-radius: 20px;
    }

    .storefront-product-detail__purchase-row {
        grid-template-columns: 1fr;
    }

    .storefront-product-detail__purchase-actions {
        grid-template-columns: 56px minmax(0, 1fr);
    }

    .storefront-product-detail__secondary-actions .btn {
        width: 100%;
        min-width: 0;
    }
}
