:root {
    color-scheme: light;
    --store-bg: #f4f6fb;
    --store-surface: #ffffff;
    --store-text: #0f172a;
    --store-muted: #64748b;
    --store-border: #e2e8f0;
    --store-primary: #4f46e5;
    --store-primary-hover: #4338ca;
    --store-radius: 1rem;
    --store-shadow: 0 10px 30px rgba(15, 23, 42, .08);
    --store-card-aspect: 4 / 3;
    --store-card-fit: cover;
    --store-pdp-aspect: 1 / 1;
    --store-pdp-fit: contain;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    font-family: var(--store-font-body, Inter, ui-sans-serif, system-ui, sans-serif);
    background: var(--store-bg);
    color: var(--store-text);
    line-height: 1.55;
}

h1, h2, h3, .store-logo__name { font-family: var(--store-font-heading, var(--store-font-body)); }

img { max-width: 100%; height: auto; }

a { color: var(--store-primary); text-decoration: none; }
a:hover { text-decoration: underline; }

.store-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;
}

.store-skip {
    position: absolute; left: -9999px; top: auto; z-index: 999;
    padding: .75rem 1rem; background: #000; color: #fff; border-radius: .5rem;
}
.store-skip:focus { left: 1rem; top: 1rem; }

.store-container {
    width: 100%;
    max-width: none;
    margin: 0 auto;
    padding-left: var(--store-container-padding-x, clamp(1rem, 3vw, 2.5rem));
    padding-right: var(--store-container-padding-x, clamp(1rem, 3vw, 2.5rem));
}

html[data-store-width="wide"] .store-container { max-width: 1600px; }
html[data-store-width="boxed"] .store-container { max-width: 1180px; }
html[data-store-width="full"] .store-container,
.store-container--fluid { max-width: none; width: 100%; }

.store-muted { color: var(--store-muted); margin: 0; }

/* Announcement */
.store-announcement { background: #0f172a; color: #e2e8f0; font-size: .85rem; }
.store-announcement__inner { padding: .55rem 0; text-align: center; }
.store-announcement p { margin: 0; }

/* Header */
.store-header {
    background: var(--store-surface);
    border-bottom: 1px solid var(--store-border);
    position: sticky; top: 0; z-index: 40;
    box-shadow: 0 1px 0 rgba(15,23,42,.04);
}

.store-header__bar {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: .75rem 1rem;
    min-height: 4.25rem;
}

.store-body--auth .store-header__bar { grid-template-columns: 1fr auto; }

.store-logo { display: grid; gap: .1rem; color: inherit; text-decoration: none; min-width: 0; }
.store-logo:hover { text-decoration: none; }
.store-logo__name { font-size: 1.15rem; font-weight: 800; letter-spacing: -.02em; }
.store-logo__image { display: block; max-height: 2.5rem; max-width: 9rem; width: auto; height: auto; object-fit: contain; }
.store-logo__tagline { font-size: .72rem; color: var(--store-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.store-search {
    position: relative; display: none; align-items: center; max-width: 34rem; width: 100%; margin: 0 auto;
}
.store-search-wrap { position: relative; display: none; width: 100%; max-width: 34rem; margin: 0 auto; }
.store-search-wrap .store-search { display: flex; }
.store-search__icon {
    position: absolute; left: .85rem; width: 1.1rem; height: 1.1rem; color: var(--store-muted); pointer-events: none;
}
.store-search__icon svg { width: 100%; height: 100%; display: block; }
.store-search input {
    width: 100%; padding: .72rem .9rem .72rem 2.5rem; border-radius: 999px;
    border: 1px solid var(--store-border); background: #f8fafc; font: inherit;
}
.store-search input:focus {
    outline: 2px solid color-mix(in srgb, var(--store-primary) 35%, transparent);
    border-color: var(--store-primary); background: #fff;
}

.store-header__actions { display: flex; align-items: center; gap: .35rem; }
.store-header__action {
    display: grid; justify-items: center; gap: .15rem; padding: .35rem .55rem;
    border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; text-decoration: none;
}
.store-header__action:hover { text-decoration: none; color: var(--store-primary); }
.store-header__action-icon svg { width: 1.35rem; height: 1.35rem; display: block; }
.store-header__action--cart .store-header__action-icon svg {
    width: var(--store-cart-icon-size, 1.35rem);
    height: var(--store-cart-icon-size, 1.35rem);
}
.store-header__action-label { font-size: .68rem; font-weight: 600; color: var(--store-muted); }
.store-header__action--cart { position: relative; }
.store-header__action--favorites { position: relative; }
.store-header__action--favorites .store-cart-badge {
    right: .15rem;
}

.store-product-page__title-row {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    margin: 0 0 .35rem;
}
.store-product-page__title-row h1 {
    flex: 1 1 auto;
    margin: 0;
}
.store-fav-btn {
    appearance: none;
    flex: 0 0 auto;
    width: 2.35rem;
    height: 2.35rem;
    margin: 0;
    padding: 0;
    border: 1px solid var(--store-border);
    border-radius: 999px;
    background: var(--store-surface);
    color: var(--store-muted);
    display: inline-grid;
    place-items: center;
    cursor: pointer;
    transition: color .15s ease, border-color .15s ease, background .15s ease, transform .15s ease;
}
.store-fav-btn__icon {
    display: grid;
    place-items: center;
}
.store-fav-btn__icon svg {
    width: 1.15rem;
    height: 1.15rem;
    display: block;
}
.store-fav-btn:hover {
    color: #e11d48;
    border-color: color-mix(in srgb, #e11d48 35%, var(--store-border));
}
.store-fav-btn.is-active {
    color: #e11d48;
    border-color: color-mix(in srgb, #e11d48 45%, var(--store-border));
    background: color-mix(in srgb, #fff 88%, #e11d48 12%);
}
.store-fav-btn.is-active .store-fav-btn__icon svg {
    fill: currentColor;
}
.store-fav-btn.is-pulse {
    animation: store-fav-pulse .45s ease;
}
@keyframes store-fav-pulse {
    0%, 100% { transform: scale(1); }
    40% { transform: scale(1.18); }
}
.store-card__media-wrap {
    position: relative;
}
.store-fav-btn--card {
    position: absolute;
    top: .45rem;
    right: .45rem;
    z-index: 2;
    width: 2rem;
    height: 2rem;
    background: color-mix(in srgb, #fff 92%, transparent);
    box-shadow: 0 2px 8px color-mix(in srgb, #0f172a 12%, transparent);
}
.store-fav-btn--card .store-fav-btn__icon svg {
    width: 1rem;
    height: 1rem;
}

.store-favorites-title {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin: 0;
    font-size: clamp(1.35rem, 2.4vw, 1.65rem);
    letter-spacing: -.02em;
    line-height: 1.15;
}
.store-favorites-title__icon {
    display: inline-grid;
    place-items: center;
    color: #e11d48;
}
.store-favorites-title__icon svg { width: 1.2rem; height: 1.2rem; }
.store-favorites-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: .75rem 1.25rem;
    margin-bottom: 1.35rem;
    padding-bottom: .85rem;
    border-bottom: 1px solid var(--store-border);
}
.store-favorites-head__copy { min-width: 0; }
.store-favorites-head__meta {
    margin: .25rem 0 0;
    font-size: .82rem;
    color: var(--store-muted);
}
.store-favorites-continue {
    display: inline-flex;
    align-items: center;
    font-size: .84rem;
    font-weight: 650;
    color: var(--store-primary);
    text-decoration: none;
    white-space: nowrap;
}
.store-favorites-continue:hover { text-decoration: underline; }

.store-favorites-empty {
    display: grid;
    justify-items: center;
    gap: .55rem;
    text-align: center;
    padding: 3rem 1rem 2.5rem;
    border: 1px dashed color-mix(in srgb, var(--store-border) 85%, var(--store-muted));
    border-radius: 1rem;
    background: color-mix(in srgb, var(--store-surface) 96%, var(--store-muted) 4%);
}
.store-favorites-empty__icon {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    color: #e11d48;
    background: color-mix(in srgb, #fff 88%, #e11d48 12%);
    margin-bottom: .25rem;
}
.store-favorites-empty__icon svg { width: 1.35rem; height: 1.35rem; }
.store-favorites-empty h2 { margin: 0; font-size: 1.15rem; }
.store-favorites-empty .store-muted { margin: 0 0 .55rem; max-width: 22rem; }
.store-favorites-empty .store-btn { margin-top: .25rem; }

.store-favorites-list {
    display: grid;
    gap: 0;
}
.store-favorites-line {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: .85rem 1rem;
    align-items: start;
    padding: .95rem 0;
    border-bottom: 1px solid color-mix(in srgb, var(--store-border) 88%, transparent);
    transition: background .15s ease;
}
.store-favorites-line:first-child { padding-top: .15rem; }
.store-favorites-line:hover {
    background: color-mix(in srgb, var(--store-surface) 70%, transparent);
}
.store-favorites-line__thumb {
    display: block;
    width: 72px;
    aspect-ratio: 1;
    border-radius: .55rem;
    overflow: hidden;
    background: #eef2f7;
    border: 1px solid color-mix(in srgb, var(--store-border) 80%, transparent);
}
.store-favorites-line__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.store-favorites-line__ph {
    display: grid;
    place-items: center;
    height: 100%;
    font-size: .68rem;
    color: var(--store-muted);
}
.store-favorites-line__main {
    display: grid;
    gap: .65rem;
    min-width: 0;
}
.store-favorites-line__kit {
    display: inline-flex;
    align-items: center;
    margin: 0 0 .3rem;
    padding: .12rem .45rem;
    border-radius: .35rem;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #312e81;
    background: #e0e7ff;
}
.store-favorites-line__text h2 {
    margin: 0;
    font-size: .98rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -.01em;
}
.store-favorites-line__text h2 a {
    color: inherit;
    text-decoration: none;
}
.store-favorites-line__text h2 a:hover {
    color: var(--store-primary);
}
.store-favorites-line__meta {
    margin: .22rem 0 0;
    font-size: .8rem;
    line-height: 1.35;
    color: var(--store-muted);
}
.store-favorites-line__side {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .55rem .85rem;
}
.store-favorites-line__price {
    margin: 0;
    font-size: 1.02rem;
    font-weight: 800;
    letter-spacing: -.015em;
    color: #b12704;
}
.store-favorites-line__actions {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}
.store-favorites-add-btn {
    appearance: none;
    margin: 0;
    padding: .48rem .9rem;
    border: 1px solid #f0b800;
    border-radius: 999px;
    background: #ffd814;
    color: #111827;
    font: inherit;
    font-size: .8rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: background .15s ease, filter .15s ease;
}
.store-favorites-add-btn:hover {
    background: #f7ca00;
}
.store-favorites-add-btn:disabled {
    opacity: .55;
    cursor: not-allowed;
}
.store-favorites-remove {
    appearance: none;
    width: 2rem;
    height: 2rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--store-muted);
    display: inline-grid;
    place-items: center;
    cursor: pointer;
    transition: color .15s ease, background .15s ease;
}
.store-favorites-remove svg {
    width: .95rem;
    height: .95rem;
    display: block;
}
.store-favorites-remove:hover {
    color: #b91c1c;
    background: color-mix(in srgb, #fee2e2 80%, transparent);
}
@media (min-width: 760px) {
    .store-favorites-line {
        grid-template-columns: 88px minmax(0, 1fr);
        gap: 1rem 1.15rem;
        align-items: center;
        padding: 1rem 0;
    }
    .store-favorites-line__thumb { width: 88px; }
    .store-favorites-line__main {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 1rem 1.5rem;
    }
    .store-favorites-line__side {
        flex-direction: column;
        align-items: flex-end;
        justify-content: center;
        gap: .45rem;
        min-width: 11.5rem;
    }
    .store-favorites-line__price {
        font-size: 1.08rem;
    }
}
html.store-dark .store-favorites-line__kit {
    color: #c7d2fe;
    background: #312e81;
}
html.store-dark .store-favorites-empty {
    background: color-mix(in srgb, var(--store-surface) 90%, #000 10%);
}
.store-header__action--cart-icon-only {
    padding-inline: .45rem;
}
.store-header__action--cart-icon-only .store-cart-badge {
    right: .05rem;
}
.store-cart-badge {
    position: absolute; top: 0; right: .2rem; min-width: 1rem; height: 1rem; padding: 0 .25rem;
    border-radius: 999px; background: var(--store-primary); color: #fff; font-size: var(--store-cart-badge-size, .62rem); font-weight: 800;
    display: grid; place-items: center;
}
.store-cart-badge--wide {
    min-width: auto; height: auto; padding: .12rem .35rem; font-size: .58rem; white-space: nowrap;
    max-width: 5.5rem; overflow: hidden; text-overflow: ellipsis;
}

/* Balão “adicionado” saindo do botão do carrinho */
.store-header__cart-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
}
.store-cart-balloon {
    position: absolute;
    top: calc(100% + .45rem);
    right: 0;
    z-index: 90;
    width: max-content;
    max-width: min(16.5rem, calc(100vw - 1.5rem));
    pointer-events: none;
    transform-origin: top right;
}
.store-cart-balloon[hidden] {
    display: none !important;
}
.store-cart-balloon__bubble {
    position: relative;
    display: grid;
    gap: .35rem;
    padding: .7rem .85rem .75rem;
    border-radius: 1rem;
    background: #fff;
    border: 1px solid color-mix(in srgb, var(--store-primary) 22%, var(--store-border));
    box-shadow:
        0 12px 28px color-mix(in srgb, #0f172a 14%, transparent),
        0 2px 0 color-mix(in srgb, var(--store-primary) 12%, transparent);
    color: var(--store-text);
}
.store-cart-balloon__bubble::before {
    content: "";
    position: absolute;
    top: -.42rem;
    right: 1.05rem;
    width: .72rem;
    height: .72rem;
    background: #fff;
    border-left: 1px solid color-mix(in srgb, var(--store-primary) 22%, var(--store-border));
    border-top: 1px solid color-mix(in srgb, var(--store-primary) 22%, var(--store-border));
    transform: rotate(45deg);
}
.store-cart-balloon__bubble strong {
    font-size: .86rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -.01em;
}
.store-cart-balloon__bubble a {
    font-size: .78rem;
    font-weight: 700;
    color: var(--store-primary);
    text-decoration: none;
    width: fit-content;
}
.store-cart-balloon__bubble a:hover {
    text-decoration: underline;
}
.store-cart-balloon.is-open {
    pointer-events: auto;
    animation: store-cart-balloon-in .42s cubic-bezier(.2, 1.15, .35, 1) both;
}
.store-cart-balloon.is-pop {
    animation: store-cart-balloon-pop .45s ease-in forwards;
}
.store-header__action--cart.is-cart-pulse .store-header__action-icon {
    animation: store-cart-icon-pulse .55s ease;
}
.store-header__action--cart.is-cart-pulse .store-cart-badge {
    animation: store-cart-badge-pop .55s cubic-bezier(.2, 1.4, .35, 1);
}
@keyframes store-cart-balloon-in {
    0% {
        opacity: 0;
        transform: translateY(-.55rem) scale(.55);
        filter: blur(1px);
    }
    62% {
        opacity: 1;
        transform: translateY(.08rem) scale(1.04);
        filter: blur(0);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}
@keyframes store-cart-balloon-pop {
    0% {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
    55% {
        opacity: .85;
        transform: translateY(-.2rem) scale(1.08);
    }
    100% {
        opacity: 0;
        transform: translateY(-.55rem) scale(.35);
        filter: blur(1.5px);
    }
}
@keyframes store-cart-icon-pulse {
    0%, 100% { transform: scale(1); }
    35% { transform: scale(1.18); }
    60% { transform: scale(.94); }
}
@keyframes store-cart-badge-pop {
    0%, 100% { transform: scale(1); }
    40% { transform: scale(1.35); }
}
@media (prefers-reduced-motion: reduce) {
    .store-cart-balloon.is-open,
    .store-cart-balloon.is-pop,
    .store-header__action--cart.is-cart-pulse .store-header__action-icon,
    .store-header__action--cart.is-cart-pulse .store-cart-badge {
        animation: none;
    }
    .store-cart-balloon.is-open {
        opacity: 1;
        transform: none;
    }
    .store-cart-balloon.is-pop {
        opacity: 0;
    }
}
html.store-dark .store-cart-balloon__bubble {
    background: #0f172a;
    border-color: color-mix(in srgb, var(--store-primary) 35%, #334155);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .45);
}
html.store-dark .store-cart-balloon__bubble::before {
    background: #0f172a;
    border-color: color-mix(in srgb, var(--store-primary) 35%, #334155);
}

.store-header__menu-toggle { display: inline-flex; }
.store-icon-btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 2.5rem; height: 2.5rem; border: 1px solid var(--store-border); border-radius: .75rem;
    background: #fff; color: inherit; cursor: pointer;
}
.store-icon-btn svg { width: 1.2rem; height: 1.2rem; }

.store-header__nav-wrap { border-top: 1px solid var(--store-border); background: #fafbfd; display: none; }
.store-nav { display: flex; gap: .25rem; overflow-x: auto; padding: .45rem 0; scrollbar-width: thin; }
.store-nav__link {
    white-space: nowrap; padding: .45rem .85rem; border-radius: 999px; font-size: .88rem; font-weight: 600;
    color: var(--store-muted); text-decoration: none;
}
.store-nav__link:hover, .store-nav__link--active { background: color-mix(in srgb, var(--store-primary) 10%, #fff); color: var(--store-primary); text-decoration: none; }

.store-mobile-nav {
    position: fixed; inset: 0; z-index: 50; background: rgba(15,23,42,.45);
}
.store-mobile-nav[hidden] { display: none; }
.store-mobile-nav__panel {
    width: min(88vw, 320px); height: 100%; background: #fff; padding: 1rem;
    box-shadow: var(--store-shadow); overflow-y: auto;
}
.store-mobile-nav__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.store-mobile-nav__links { display: grid; gap: .35rem; }
.store-mobile-nav__links a { padding: .65rem .25rem; font-weight: 600; color: inherit; text-decoration: none; }
.store-mobile-nav__links hr { border: 0; border-top: 1px solid var(--store-border); margin: .5rem 0; }
.store-search--mobile { display: grid; margin-bottom: 1rem; }
.store-search--mobile input { width: 100%; padding: .7rem .85rem; border-radius: .75rem; border: 1px solid var(--store-border); font: inherit; }

@media (min-width: 900px) {
    .store-header__bar { grid-template-columns: minmax(10rem, 14rem) minmax(0, 1fr) auto; }
    .store-search-wrap { display: block; }
    .store-header__menu-toggle { display: none; }
    .store-header__nav-wrap { display: block; }
    .store-header__action-label { display: block; }
}

@media (max-width: 899px) {
    .store-logo__tagline { display: none; }
}

/* Main */
.store-main { min-height: 55vh; }
.store-main--auth { padding: 1.5rem 0 3rem; }

.store-section { padding: 2.5rem 0; }
.store-section--compact { padding-top: 1.5rem; }
.store-container.store-section { padding-left: 1.25rem; padding-right: 1.25rem; }
.store-section__head { margin-bottom: 1.25rem; }
.store-section__head h1, .store-section__head h2 { margin: 0 0 .35rem; font-size: clamp(1.25rem, 2.5vw, 1.75rem); }
.store-section__head--row { display: flex; justify-content: space-between; align-items: end; gap: 1rem; flex-wrap: wrap; }
.store-link-arrow { font-weight: 700; white-space: nowrap; }
.store-cart-continue {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    margin-left: auto;
    padding: .4rem .85rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--store-primary, #4f46e5) 22%, var(--store-border));
    background: color-mix(in srgb, var(--store-surface, #fff) 94%, var(--store-primary, #4f46e5) 6%);
    color: var(--store-primary, #4f46e5);
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .01em;
    text-decoration: none;
    white-space: nowrap;
    line-height: 1.2;
    transition: background .15s ease, border-color .15s ease, filter .15s ease;
}
.store-cart-continue:hover {
    background: color-mix(in srgb, var(--store-surface, #fff) 88%, var(--store-primary, #4f46e5) 12%);
    border-color: color-mix(in srgb, var(--store-primary, #4f46e5) 35%, var(--store-border));
    filter: brightness(.98);
    text-decoration: none;
}

/* Hero banner */
.store-hero-banner { position: relative; overflow: hidden; }
.store-hero-slide {
    display: none; position: relative; min-height: clamp(220px, 34vw, 420px);
    align-items: center; color: #fff;
}
.store-hero-banner--compact .store-hero-slide { min-height: clamp(180px, 24vw, 300px); }
.store-hero-banner--tall .store-hero-slide { min-height: clamp(320px, 48vw, 560px); }
.store-hero-slide.is-active { display: flex; }
.store-hero-slide__bg {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
.store-hero-slide::before {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(90deg, rgba(15,23,42,.72), rgba(15,23,42,.25));
}
.store-hero-slide--brand { background: linear-gradient(135deg, #312e81, #6366f1); }
.store-hero-slide--sunset { background: linear-gradient(135deg, #9a3412, #f97316); }
.store-hero-slide--ocean { background: linear-gradient(135deg, #0c4a6e, #0284c7); }
.store-hero-slide__content { position: relative; z-index: 1; padding: 3rem 0; max-width: 38rem; }
.store-hero-slide__eyebrow { margin: 0 0 .5rem; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; opacity: .85; }
.store-hero-slide h1 { margin: 0 0 .75rem; font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.08; letter-spacing: -.03em; }
.store-hero-slide__subtitle { margin: 0 0 1.25rem; font-size: clamp(1rem, 2vw, 1.15rem); opacity: .92; max-width: 34rem; }
.store-hero-banner__dots {
    position: absolute; left: 50%; bottom: 1rem; transform: translateX(-50%);
    display: flex; gap: .45rem; z-index: 2;
}
.store-hero-banner__dots button {
    width: .55rem; height: .55rem; border-radius: 999px; border: 0; background: rgba(255,255,255,.45); cursor: pointer;
}
.store-hero-banner__dots button[aria-selected="true"] { background: #fff; width: 1.2rem; }

/* Trust bar */
.store-trust { background: var(--store-surface); border-bottom: 1px solid var(--store-border); }
.store-trust__grid {
    display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); padding: 1.25rem 0;
}
.store-trust__item { display: flex; gap: .75rem; align-items: flex-start; }
.store-trust__icon {
    width: 2.5rem; height: 2.5rem; border-radius: .85rem; display: grid; place-items: center;
    background: color-mix(in srgb, var(--store-primary) 10%, #fff); color: var(--store-primary); flex-shrink: 0;
}
.store-trust__icon svg { width: 1.25rem; height: 1.25rem; }
.store-trust__item strong { display: block; font-size: .92rem; }
.store-trust__item p { margin: .15rem 0 0; font-size: .82rem; color: var(--store-muted); }

/* Categories */
.store-category-grid {
    display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}
.store-category-tile {
    display: grid; gap: .5rem; padding: 1.1rem; border-radius: var(--store-radius);
    background: var(--store-surface); border: 1px solid var(--store-border);
    color: inherit; text-decoration: none; transition: transform .15s ease, box-shadow .15s ease;
}
.store-category-tile:hover { transform: translateY(-2px); box-shadow: var(--store-shadow); text-decoration: none; }
.store-category-tile__icon {
    width: 2.5rem; height: 2.5rem; border-radius: .85rem; display: grid; place-items: center;
    background: var(--store-primary); color: #fff; font-weight: 800;
}
.store-category-tile__name { font-weight: 700; }
.store-category-tile__cta { display: inline-flex; align-items: center; gap: .25rem; font-size: .82rem; color: var(--store-primary); font-weight: 700; }
.store-category-tile__cta svg { width: .9rem; height: .9rem; }

/* Product grid */
.store-grid {
    display: grid; gap: 1rem;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--store-grid-min, 220px)), 1fr));
}
.store-grid--featured .store-card { border-color: color-mix(in srgb, var(--store-primary) 18%, var(--store-border)); }

.store-card {
    background: var(--store-surface); border: 1px solid var(--store-border);
    border-radius: var(--store-radius); overflow: hidden; display: grid; grid-template-rows: auto 1fr;
    transition: transform .15s ease, box-shadow .15s ease;
}
.store-card:hover { transform: translateY(-2px); box-shadow: var(--store-shadow); }
.store-card__media { display: block; position: relative; aspect-ratio: var(--store-card-aspect, 4 / 3); background: #e2e8f0; overflow: hidden; }
.store-card__media img { width: 100%; height: 100%; object-fit: var(--store-card-fit, cover); display: block; transition: transform .25s ease; }
.store-card:hover .store-card__media img { transform: scale(1.03); }
.store-card__placeholder {
    width: 100%; height: 100%; display: grid; place-items: center; color: var(--store-muted); font-size: .85rem;
}
.store-card__badge {
    position: absolute; top: .65rem; left: .65rem; z-index: 2; background: #dc2626; color: #fff;
    font-size: .68rem; font-weight: 800; padding: .25rem .5rem; border-radius: 999px;
}
.store-card__body { padding: .95rem 1rem 1.1rem; display: grid; gap: .35rem; align-content: start; }
.store-card__meta { margin: 0; font-size: .78rem; line-height: 1.35; }
.store-card__kit-savings { margin: 0; font-size: .82rem; font-weight: 800; color: #059669; }
.store-card__blocked-msg { margin: 0; font-size: .8rem; font-weight: 700; color: #dc2626; }
.store-card--blocked { opacity: .92; }
.store-card--blocked .store-card__media { filter: grayscale(.15); }

/* Kit collage + savings ribbon (parity with mock) */
.store-kit-media { position: relative; width: 100%; height: 100%; display: block; }
.store-card__media .store-kit-media { position: absolute; inset: 0; }
.store-kit-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.store-kit-thumb-grid,
.store-kit-hero-grid {
    display: grid; gap: 2px; grid-template-columns: repeat(2, 1fr); width: 100%; height: 100%;
    background: #cbd5e1;
}
.store-kit-thumb-grid img,
.store-kit-hero-grid img {
    width: 100%; height: 100%; min-height: 0; object-fit: cover; display: block;
}
.store-kit-media--hero { aspect-ratio: 1; border-radius: 1rem; overflow: hidden; background: #e2e8f0; }
.store-kit-media--hero > img { width: 100%; height: 100%; object-fit: cover; }
.store-kit-savings-ribbon {
    position: absolute; top: 0; left: 0; z-index: 2;
    background: linear-gradient(135deg, #047857, #10b981); color: #ecfdf5;
    font-size: .72rem; font-weight: 800; line-height: 1.25;
    padding: .4rem .65rem; border-radius: 0 0 .75rem 0;
}
.store-kit-savings-ribbon--hero { font-size: .82rem; padding: .55rem .85rem; }
.store-badge--inline {
    position: static; display: inline-flex; vertical-align: middle;
    margin-left: .35rem; font-size: .65rem; padding: .15rem .4rem;
}
.store-alert--warn {
    background: #fff7ed; border: 1px solid #fdba74; color: #9a3412;
    padding: .75rem 1rem; border-radius: .75rem; margin: .75rem 0;
}
.store-kit__variant { margin: 0 0 .15rem; font-size: .8rem; font-weight: 700; color: var(--store-text); }

/* Variant picker — estilo Amazon (miniaturas + tamanhos) */
.store-variant-picker {
    display: grid;
    gap: .75rem;
    margin: .2rem 0 .75rem;
}
.store-variant-axis__head {
    margin-bottom: .35rem;
    min-height: 1.35rem;
}
.store-variant-axis__label {
    display: inline-block;
    min-width: 8.5rem;
    font-size: .84rem;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    color: var(--store-text);
}
.store-variant-axis__label strong {
    display: inline-block;
    min-width: 3.5rem;
    font-weight: 700;
}
.store-variant-axis__options {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: .5rem;
}
.store-variant-axis__options--swatches {
    gap: .5rem;
}
.store-variant-axis__options--sizes {
    gap: .45rem;
}

/* Cores: tile com miniatura + preço — geometria fixa (não pula ao trocar) */
.store-variant-swatch {
    appearance: none;
    position: relative;
    box-sizing: border-box;
    width: 2.55rem;
    height: 2.55rem;
    padding: 2px;
    border: 2px solid color-mix(in srgb, var(--store-text) 22%, transparent);
    border-radius: .3rem;
    background: var(--store-surface);
    cursor: pointer;
    overflow: hidden;
    transition: border-color .15s ease, opacity .15s ease;
}
.store-variant-swatch--priced {
    width: 5.1rem;
    min-width: 5.1rem;
    max-width: 5.1rem;
    height: auto;
    min-height: 7.35rem;
    padding: 3px;
    display: flex;
    flex-direction: column;
    gap: .15rem;
    overflow: hidden;
    flex: 0 0 5.1rem;
}
.store-variant-swatch__media {
    display: block;
    width: 100%;
    flex: 0 0 auto;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: .2rem;
    background: #f1f5f9;
}
.store-variant-swatch img,
.store-variant-swatch__fallback {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: .2rem;
}
.store-variant-swatch__fallback {
    display: grid;
    place-items: center;
    font-size: .85rem;
    font-weight: 700;
    color: #fff;
    background: var(--swatch, #94a3b8);
    text-shadow: 0 1px 1px rgba(0,0,0,.25);
}
.store-variant-swatch__prices {
    display: grid;
    grid-template-rows: 1.05em 1em;
    align-content: start;
    gap: 0;
    padding: 0 .1rem .1rem;
    text-align: center;
    line-height: 1;
    min-height: 2.05em;
}
.store-variant-swatch__price {
    font-size: .72rem;
    font-weight: 700;
    color: var(--store-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.store-variant-swatch__list {
    font-size: .62rem;
    color: var(--store-muted);
    text-decoration: line-through;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    visibility: visible;
}
.store-variant-swatch__list.is-empty {
    visibility: hidden;
}
.store-variant-swatch:hover:not(:disabled) {
    border-color: color-mix(in srgb, var(--store-text) 55%, transparent);
}
.store-variant-swatch.is-selected {
    border-color: #2162a1;
}
.store-variant-swatch.is-unavailable:not(.is-selected) {
    opacity: .55;
}
.store-variant-swatch:disabled {
    cursor: not-allowed;
    opacity: .38;
}

/* Tamanhos: caixas de tamanho fixo */
.store-variant-size {
    appearance: none;
    box-sizing: border-box;
    width: auto;
    min-width: 2.6rem;
    height: 2.15rem;
    min-height: 2.15rem;
    padding: 0 .5rem;
    border: 2px solid color-mix(in srgb, var(--store-text) 22%, transparent);
    border-radius: .3rem;
    background: var(--store-surface);
    color: var(--store-text);
    font: inherit;
    font-size: .84rem;
    font-weight: 650;
    cursor: pointer;
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    transition: border-color .15s ease, background .15s ease, opacity .15s ease, color .15s ease;
}
.store-variant-size:hover:not(:disabled) {
    border-color: color-mix(in srgb, var(--store-text) 55%, transparent);
    background: color-mix(in srgb, var(--store-text) 4%, var(--store-surface));
}
.store-variant-size.is-selected {
    border-color: #2162a1;
    background: #fff;
    color: var(--store-text);
}
.store-variant-size.is-unavailable:not(.is-selected) {
    opacity: .55;
    text-decoration: line-through;
    text-decoration-thickness: 1px;
}
.store-variant-size:disabled {
    cursor: not-allowed;
    opacity: .38;
}

/* Fallback legado (chips) */
.store-variant-chip {
    appearance: none;
    border: 1px solid color-mix(in srgb, var(--store-text) 18%, transparent);
    background: var(--store-surface);
    color: var(--store-text);
    border-radius: .35rem;
    min-height: 2.4rem;
    padding: .4rem .85rem;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    font: inherit;
    font-size: .9rem;
    font-weight: 650;
    cursor: pointer;
    transition: border-color .15s ease, opacity .15s ease;
}
.store-variant-chip.is-selected {
    border-color: var(--store-primary);
    color: var(--store-primary);
}
.store-variant-chip.is-unavailable:not(.is-selected) {
    opacity: .38;
}
.store-variant-chip:disabled {
    cursor: not-allowed;
    opacity: .38;
}
#product-hero-img {
    transition: opacity .18s ease;
}
html.store-dark .store-variant-swatch,
html.store-dark .store-variant-size,
html.store-dark .store-variant-chip {
    border-color: rgba(255,255,255,.22);
}
html.store-dark .store-variant-swatch.is-selected,
html.store-dark .store-variant-size.is-selected {
    border-color: var(--store-primary);
}
.store-card__category { margin: 0; font-size: .72rem; font-weight: 700; color: var(--store-muted); text-transform: uppercase; letter-spacing: .04em; }
.store-card__body h3 { margin: 0; font-size: .98rem; line-height: 1.35; }
.store-card__body h3 a { color: inherit; text-decoration: none; }
.store-card__body h3 a:hover { color: var(--store-primary); }
.store-card__cta { font-size: .82rem; font-weight: 700; color: var(--store-primary); margin-top: .15rem; }

.store-price { font-weight: 800; color: var(--store-primary); display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem; }
.store-price--card { font-size: 1rem; }
.store-price--xl { font-size: clamp(1.6rem, 3vw, 2rem); }
.store-price__from { font-size: .75rem; font-weight: 600; }
.store-price__old { font-size: .9rem; color: var(--store-muted); text-decoration: line-through; font-weight: 600; }

/* Product page — layout estilo Amazon (mídia | info | buy box) */
.store-breadcrumb { display: flex; flex-wrap: wrap; gap: .45rem; padding: .75rem 0 0; font-size: .8rem; color: var(--store-muted); }
.store-breadcrumb a { color: var(--store-muted); }
.store-product-page {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 1fr;
    padding: .65rem 0 2rem;
    align-items: start;
}
.store-product-page__form {
    display: contents;
}
.store-product-page__media {
    display: grid;
    gap: .55rem;
    min-width: 0;
}
.store-product-page__gallery {
    position: relative;
    border-radius: .5rem;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--store-border);
    max-width: min(100%, 560px);
}
.store-product-page__gallery img,
.store-product-page__gallery #product-hero-img {
    width: 100%;
    display: block;
    aspect-ratio: var(--store-pdp-aspect, 1 / 1);
    max-height: min(560px, 62vh);
    object-fit: var(--store-pdp-fit, contain);
    background: #fff;
}
.store-product-page__info {
    min-width: 0;
}
.store-product-page__info h1 {
    margin: 0 0 .35rem;
    font-size: clamp(1.25rem, 2.4vw, 1.55rem);
    line-height: 1.25;
    letter-spacing: -.015em;
    font-weight: 700;
}
.store-product-page__meta,
.store-product-page__kit-note {
    margin: 0 0 .65rem;
    font-size: .8rem;
    line-height: 1.4;
}
.store-product-page__buybox {
    min-width: 0;
    padding: .9rem 1rem;
    border: 1px solid var(--store-border);
    border-radius: .65rem;
    background: var(--store-surface);
}
.store-price-block {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .3rem .55rem;
    margin: 0 0 .75rem;
}
.store-price-block--info .store-price--xl {
    font-size: clamp(1.45rem, 2.6vw, 1.85rem);
    color: #b12704;
}
.store-price-block--buybox {
    margin-bottom: .55rem;
    min-height: 2.1rem;
}
.store-price-block--buybox .store-price--xl {
    font-size: 1.35rem;
    color: #b12704;
}
.store-price-block--buybox .store-price__old[hidden] {
    display: inline !important;
    visibility: hidden;
    min-width: 4.5rem;
}
.store-price-block--info {
    min-height: 3.1rem;
    align-content: flex-start;
}
.store-price__discount {
    font-size: 1.35rem;
    font-weight: 700;
    color: #cc0c39;
    letter-spacing: -.02em;
    min-width: 3.25rem;
    visibility: visible;
}
.store-price__discount[hidden] {
    display: inline-block !important;
    visibility: hidden;
    width: 3.25rem;
}
.store-price-block--info .store-price__old {
    width: 100%;
    font-size: .85rem;
    order: 3;
    text-decoration: none;
    color: var(--store-muted);
    font-weight: 500;
    min-height: 1.2em;
    visibility: visible;
}
.store-price-block--info .store-price__old::before {
    content: "De: ";
}
.store-price-block--info .store-price__old[hidden] {
    display: block !important;
    visibility: hidden;
}
.store-stock-line { margin-bottom: .75rem; }
.store-stock-line .store-badge--ok {
    background: transparent;
    color: #007600;
    padding: 0;
    font-size: .95rem;
    font-weight: 700;
}
.store-stock-line .store-badge--warn {
    background: transparent;
    color: #b12704;
    padding: 0;
    font-size: .9rem;
    font-weight: 700;
}
.store-stock-line .store-badge--danger {
    background: transparent;
    color: #b12704;
    padding: 0;
    font-size: .9rem;
    font-weight: 700;
}
.store-product-page__details {
    min-width: 0;
}
.store-product-page__description h2 {
    margin: 0 0 .45rem;
    font-size: 1.05rem;
}
.store-product-page__description .store-prose {
    font-size: .92rem;
    line-height: 1.55;
}

@media (min-width: 960px) {
    .store-product-page {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(220px, 248px);
        grid-template-rows: auto auto;
        column-gap: 1.35rem;
        row-gap: 1.25rem;
    }
    .store-product-page__media { grid-column: 1; grid-row: 1; }
    .store-product-page__info { grid-column: 2; grid-row: 1; }
    .store-product-page__buybox {
        grid-column: 3;
        grid-row: 1;
        position: sticky;
        top: 5rem;
        align-self: start;
    }
    .store-product-page__details {
        grid-column: 1 / 3;
        grid-row: 2;
        max-width: 44rem;
    }
    .store-product-page__media:has(.store-product-thumbs) {
        grid-template-columns: 48px minmax(0, 1fr);
        align-items: start;
    }
    .store-product-page__media:has(.store-product-thumbs) .store-product-thumbs {
        flex-direction: column;
        flex-wrap: nowrap;
        overflow-x: hidden;
        overflow-y: auto;
        max-height: min(560px, 62vh);
        margin-top: 0;
        gap: .4rem;
        order: -1;
    }
    .store-product-page__media:has(.store-product-thumbs) .store-product-thumbs__btn {
        flex: 0 0 auto;
    }
    .store-product-page__media:has(.store-product-thumbs) .store-product-page__gallery {
        max-width: none;
    }
}
@media (min-width: 900px) and (max-width: 959px) {
    .store-product-page {
        grid-template-columns: minmax(0, 1fr) minmax(240px, 280px);
        grid-template-rows: auto auto auto;
        column-gap: 1.25rem;
    }
    .store-product-page__media { grid-column: 1; grid-row: 1; }
    .store-product-page__info { grid-column: 1; grid-row: 2; }
    .store-product-page__buybox {
        grid-column: 2;
        grid-row: 1 / span 2;
        position: sticky;
        top: 5rem;
    }
    .store-product-page__details { grid-column: 1 / -1; grid-row: 3; }
}
.store-field { display: grid; gap: .35rem; margin-bottom: 1rem; }
.store-field span, .store-field label { font-size: .88rem; font-weight: 700; }
.store-field input, .store-field select {
    padding: .7rem .8rem; border-radius: .75rem; border: 1px solid var(--store-border); font: inherit; background: #fff;
}
.store-field-hint { margin: .25rem 0 0; font-size: .78rem; color: var(--store-muted); }
/* Buy box estilo Amazon: qtde acima, CTAs empilhados com hierarquia */
.store-buybox-actions {
    position: relative;
    display: grid;
    gap: .55rem;
    margin-top: .2rem;
    max-width: none;
}
.store-product-page__buybox .store-field span,
.store-product-page__buybox .store-field label {
    font-size: .78rem;
}
.store-product-page__buybox .store-badge {
    font-size: inherit;
    padding: inherit;
}
.store-field--qty {
    margin-bottom: 0;
    width: 100%;
}
.store-field--qty input {
    width: 100%;
    max-width: none;
    padding: .55rem .75rem;
    font-size: .92rem;
    border-radius: .55rem;
}
.store-buybox-actions__btns {
    display: grid;
    gap: .55rem;
}
.store-action-balloon {
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(100% + .45rem);
    z-index: 8;
    pointer-events: none;
    transform-origin: bottom center;
}
.store-action-balloon[hidden] {
    display: none !important;
}
.store-action-balloon__bubble {
    position: relative;
    display: grid;
    gap: .2rem;
    padding: .65rem .8rem;
    border-radius: .85rem;
    font-size: .84rem;
    line-height: 1.35;
    box-shadow: 0 10px 24px color-mix(in srgb, #0f172a 12%, transparent);
}
.store-action-balloon__bubble::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -.35rem;
    width: .7rem;
    height: .7rem;
    transform: translateX(-50%) rotate(45deg);
}
.store-action-balloon--error .store-action-balloon__bubble {
    background: #fff1f2;
    color: #9f1239;
    border: 1px solid #fecdd3;
}
.store-action-balloon--error .store-action-balloon__bubble::after {
    background: #fff1f2;
    border-right: 1px solid #fecdd3;
    border-bottom: 1px solid #fecdd3;
}
.store-action-balloon__bubble strong {
    font-weight: 750;
}
.store-action-balloon.is-open {
    animation: store-action-balloon-in .38s cubic-bezier(.2, 1.15, .35, 1) both;
}
.store-action-balloon.is-pop {
    animation: store-action-balloon-pop .4s ease-in forwards;
}
.store-field--qty input.is-shake {
    animation: store-field-shake .42s ease;
    border-color: #fb7185;
    outline: 2px solid color-mix(in srgb, #e11d48 25%, transparent);
}
@keyframes store-action-balloon-in {
    0% { opacity: 0; transform: translateY(.4rem) scale(.92); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes store-action-balloon-pop {
    0% { opacity: 1; transform: translateY(0) scale(1); }
    100% { opacity: 0; transform: translateY(-.35rem) scale(.88); }
}
@keyframes store-field-shake {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(-.28rem); }
    40% { transform: translateX(.28rem); }
    60% { transform: translateX(-.18rem); }
    80% { transform: translateX(.18rem); }
}
@media (prefers-reduced-motion: reduce) {
    .store-action-balloon.is-open,
    .store-action-balloon.is-pop,
    .store-field--qty input.is-shake {
        animation: none;
    }
}
html.store-dark .store-action-balloon--error .store-action-balloon__bubble {
    background: #450a0a;
    color: #fecdd3;
    border-color: #7f1d1d;
}
html.store-dark .store-action-balloon--error .store-action-balloon__bubble::after {
    background: #450a0a;
    border-color: #7f1d1d;
}
.store-btn--add,
.store-btn--buy-now {
    width: 100%;
    min-height: 2.35rem;
    padding: .55rem .9rem;
    font-size: .86rem;
    font-weight: 700;
    border-radius: 999px;
    white-space: nowrap;
}
.store-buy-hint { font-size: .82rem; margin: 0; }
.store-product-page__description { margin-top: .35rem; padding-top: .85rem; border-top: 1px solid var(--store-border); }
@media (min-width: 900px) {
    .store-product-page__details .store-product-page__description { margin-top: 0; padding-top: 0; border-top: 0; }
}
.store-prose { color: #334155; }

/* Badges */
.store-badge {
    display: inline-flex; align-items: center; padding: .28rem .55rem; border-radius: 999px;
    font-size: .72rem; font-weight: 800;
}
.store-badge--ok { background: #dcfce7; color: #166534; }
.store-badge--warn { background: #fef3c7; color: #92400e; }
.store-badge--danger { background: #fee2e2; color: #991b1b; }
.store-badge--promo { position: absolute; top: .85rem; left: .85rem; background: #dc2626; color: #fff; }
.store-badge--save { background: #ecfdf5; color: #047857; }

/* CTA bands */
.store-signup-band { background: linear-gradient(135deg, #1e1b4b, var(--store-primary)); color: #fff; }
.store-signup-band__inner {
    display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;
    gap: 1.25rem; padding: 2rem 0;
}
.store-signup-band h2 { margin: 0 0 .35rem; color: #fff; }
.store-signup-band .store-muted { color: rgba(255,255,255,.78); }
.store-signup-band__actions { display: flex; flex-wrap: wrap; gap: .65rem; }

.store-newsletter { background: var(--store-surface); border-top: 1px solid var(--store-border); }
.store-newsletter__inner {
    display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;
    gap: 1rem; padding: 2rem 0;
}
.store-newsletter__form { display: flex; flex-wrap: wrap; gap: .65rem; width: min(100%, 34rem); }
.store-newsletter__form input {
    flex: 1 1 12rem; min-width: 0; padding: .75rem .85rem; border-radius: .75rem;
    border: 1px solid var(--store-border); font: inherit;
}

/* Auth */
.store-auth-page {
    width: min(100%, 980px); margin: 0 auto; display: grid; gap: 1.5rem;
    grid-template-columns: 1fr; padding: 0 1.25rem;
}
@media (min-width: 900px) {
    .store-auth-page { grid-template-columns: 1fr 1fr; align-items: center; min-height: calc(100vh - 12rem); }
}
.store-auth-page__promo h1 { margin: .35rem 0 1rem; font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.1; }
.store-auth-page__eyebrow { margin: 0; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--store-primary); }
.store-auth-benefits { margin: 0; padding-left: 1.1rem; color: #334155; display: grid; gap: .45rem; }
.store-auth-card {
    background: var(--store-surface); border: 1px solid var(--store-border); border-radius: calc(var(--store-radius) + .15rem);
    padding: 1.35rem; box-shadow: var(--store-shadow);
}
.store-auth-card__footer { margin: 1rem 0 0; font-size: .88rem; color: var(--store-muted); }
.store-auth-card__hint { margin-top: .75rem; font-size: .78rem; }

/* Forms & buttons */
.store-form { display: grid; gap: .9rem; }
.store-form label { display: grid; gap: .35rem; font-size: .88rem; font-weight: 700; }
.store-form input {
    width: 100%; padding: .72rem .8rem; border-radius: .75rem; border: 1px solid var(--store-border); font: inherit;
}
.store-form input:user-valid { border-color: #86efac; }
.store-form input:user-invalid:not(:placeholder-shown) { border-color: #fca5a5; }

.store-password-field__wrap {
    position: relative; display: flex; align-items: stretch;
}
.store-password-field__wrap input { padding-right: 2.75rem; width: 100%; }
.store-password-field__toggle {
    position: absolute; right: .35rem; top: 50%; transform: translateY(-50%);
    width: 2.25rem; height: 2.25rem; padding: 0; border: 0; background: transparent;
    cursor: pointer; border-radius: .5rem; color: var(--store-muted);
    display: grid; place-items: center;
}
.store-password-field__toggle:hover { background: #f1f5f9; color: var(--store-primary); }
/* Tab/foco: anel discreto — ícone só muda no click (JS). */
.store-password-field__toggle:focus { outline: none; background: transparent; color: var(--store-muted); }
.store-password-field__toggle:focus-visible {
    outline: 2px solid color-mix(in srgb, var(--store-primary) 55%, transparent);
    outline-offset: 1px;
    background: transparent;
    color: var(--store-muted);
}
.store-password-field__toggle:active { background: transparent; }
.store-password-field__toggle svg { width: 1.15rem; height: 1.15rem; display: block; pointer-events: none; }
.store-password-field__icon[hidden] { display: none; }
.store-form__forgot {
    justify-self: end;
    font-size: .82rem;
    font-weight: 600;
    margin-top: -.35rem;
}

.store-field-hint { margin: .25rem 0 0; font-size: .82rem; }
.store-field-hint--ok { color: #047857; font-weight: 600; }
.store-field-hint--error { color: #b91c1c; font-weight: 600; }

.store-field { display: grid; gap: .35rem; font-size: .88rem; font-weight: 700; }
.store-field input, .store-field select, .store-field textarea {
    width: 100%; padding: .65rem .75rem; border-radius: .65rem;
    border: 1px solid var(--store-border); font: inherit; background: var(--store-surface);
}
.store-field--wide { grid-column: 1 / -1; }
.store-field--cep { max-width: 10rem; }
.store-field--uf { max-width: 5rem; }

.store-address-fieldset { border: 0; margin: 0 0 1.25rem; padding: 0; }
.store-address-fieldset legend { font-weight: 800; font-size: .95rem; margin-bottom: .5rem; }
.store-address-fieldset__desc { margin: 0 0 .75rem; font-size: .85rem; }
.store-address-grid {
    display: grid; gap: .75rem;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}
.store-address-same { margin: .5rem 0 1rem; }
.store-check { display: flex; align-items: center; gap: .5rem; font-weight: 600; }
.store-check input { width: auto; }

.store-account__status {
    display: flex; flex-wrap: wrap; align-items: center; gap: .65rem;
    margin-bottom: 1.25rem; font-size: .85rem;
}
.store-account-tabs__nav {
    display: flex; gap: .25rem; flex-wrap: wrap; margin-bottom: 1rem;
    border-bottom: 1px solid var(--store-border); padding-bottom: .5rem;
}
.store-account-tabs__tab {
    padding: .55rem .9rem; border: 0; background: transparent;
    font: inherit; font-weight: 700; font-size: .88rem; color: var(--store-muted);
    cursor: pointer; border-bottom: 2px solid transparent;
}
.store-account-tabs__tab.is-active { color: var(--store-primary); border-bottom-color: var(--store-primary); }
.store-account-tabpanel { display: none; }
.store-account-tabpanel.is-active { display: block; }
.store-account-tabpanel[hidden] { display: none !important; }
.store-account-section__head { margin-bottom: 1rem; }
.store-account-section__head h2 { margin: 0 0 .35rem; }
.store-account-steps { margin: 0; padding-left: 1.2rem; display: grid; gap: .35rem; }
.store-form--account { max-width: 40rem; }

.store-cart-line-badge {
    display: grid;
    gap: .4rem;
    width: fit-content;
    max-width: 100%;
    margin-top: .45rem;
    padding: .55rem .75rem;
    border-radius: .75rem;
    border: 1px solid color-mix(in srgb, var(--store-primary, #4f46e5) 16%, var(--store-border));
    background:
        linear-gradient(165deg,
            color-mix(in srgb, var(--store-surface, #fff) 88%, var(--store-primary, #4f46e5) 12%),
            var(--store-surface, #fff) 68%);
    box-shadow: 0 1px 0 color-mix(in srgb, var(--store-ink, #0f172a) 4%, transparent);
}
.store-cart-line-badge--deal {
    border-color: color-mix(in srgb, #15803d 22%, var(--store-border));
    background:
        linear-gradient(165deg,
            color-mix(in srgb, #fff 94%, #15803d 6%),
            #fff 72%);
}
.store-cart-line-badge__meta {
    font-size: .78rem;
    font-weight: 600;
    color: color-mix(in srgb, var(--store-ink, #0f172a) 72%, var(--store-muted, #64748b));
    line-height: 1.3;
}
.store-cart-line-badge__row {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .3rem .45rem;
}
.store-cart-line-badge__label {
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--store-muted, #64748b);
}
.store-cart-line-badge__row strong {
    font-size: .92rem;
    font-weight: 800;
    letter-spacing: -.02em;
    color: var(--store-primary, #4f46e5);
    display: inline-flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .3rem;
}
.store-cart-line-badge--deal .store-cart-line-badge__row strong {
    color: #15803d;
}
.store-cart-line-badge__sep {
    width: 1px;
    height: .85em;
    align-self: center;
    background: color-mix(in srgb, var(--store-border) 80%, var(--store-ink, #0f172a));
    margin: 0 .1rem;
}
.store-cart-line__total { margin: .45rem 0 0; font-size: .88rem; display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem .5rem; }
.store-cart-line__was {
    font-weight: 500;
    color: var(--store-muted, #94a3b8);
    text-decoration: line-through;
}
.store-cart-line__pricing { margin-top: 0; display: grid; gap: .45rem; }
.store-cart-line-badge .store-cart-unit-split { margin: 0; }
.store-cart-line-badge .store-cart-unit-chip {
    background: color-mix(in srgb, var(--store-surface, #fff) 70%, transparent);
}
.store-cart-unit-split {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: stretch;
}
.store-cart-unit-chip {
    display: grid;
    gap: .2rem;
    padding: .5rem .65rem;
    border-radius: .65rem;
    border: 1px solid var(--store-border);
    background: var(--store-surface);
    min-width: 8.5rem;
    max-width: 12rem;
}
.store-cart-unit-chip__tag {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--store-muted, #64748b);
}
.store-cart-unit-chip__tag em {
    font-style: normal;
    padding: .1rem .35rem;
    border-radius: 999px;
    background: color-mix(in srgb, #15803d 14%, transparent);
    color: #15803d;
    font-weight: 800;
}
.store-cart-unit-chip strong {
    font-size: .98rem;
    font-weight: 800;
    letter-spacing: -.02em;
    color: var(--store-ink, #0f172a);
}
.store-cart-unit-chip small {
    font-size: .72rem;
    color: var(--store-muted, #64748b);
}
.store-cart-unit-chip--deal {
    border-color: color-mix(in srgb, #15803d 28%, var(--store-border));
    background: color-mix(in srgb, #fff 96%, #15803d 4%);
}
.store-cart-unit-chip--deal strong {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .35rem;
    color: #15803d;
}
.store-cart-unit-chip--deal s {
    font-size: .78rem;
    font-weight: 600;
    color: var(--store-muted, #94a3b8);
}
.store-cart-line--deal {
    border-color: color-mix(in srgb, #15803d 18%, var(--store-border));
}
.store-summary-dl [data-cart-benefit-discount],
.store-summary-dl [data-cart-benefit-discount-label],
.store-summary-dl [data-cart-coupon-discount],
.store-summary-dl [data-cart-coupon-discount-label] {
    color: var(--store-success, #15803d);
}
.store-summary-dl [data-cart-benefit-discount-label][hidden],
.store-summary-dl [data-cart-benefit-discount][hidden],
.store-summary-dl [data-cart-coupon-discount-label][hidden],
.store-summary-dl [data-cart-coupon-discount][hidden] {
    display: none !important;
}

.store-cart-coupon {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    min-width: 0;
}
.store-cart-coupon__label {
    display: block;
    margin: 0 0 .5rem;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--store-muted);
}
.store-cart-coupon__row {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    align-items: center;
}
.store-cart-coupon__input {
    flex: 1 1 8rem;
    min-width: 0;
    padding: .62rem .75rem;
    border-radius: .7rem;
    border: 1px solid var(--store-border);
    background: color-mix(in srgb, var(--store-surface) 88%, #fff);
    font: inherit;
    font-size: .84rem;
    text-transform: uppercase;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.store-cart-coupon__input:focus {
    outline: none;
    border-color: color-mix(in srgb, var(--store-primary) 45%, var(--store-border));
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--store-primary) 14%, transparent);
}
.store-cart-coupon__input::placeholder {
    font-size: .78rem;
    letter-spacing: .02em;
    text-transform: none;
    opacity: .75;
}
.store-cart-coupon__row .store-btn {
    flex: 0 0 auto;
    padding: .55rem .9rem;
    border-radius: .7rem;
}
.store-cart-coupon__applied {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .65rem .75rem;
    border-radius: .75rem;
    border: 1px solid color-mix(in srgb, #15803d 18%, transparent);
    background: color-mix(in srgb, #fff 90%, #15803d 10%);
    font-size: .88rem;
    font-weight: 700;
    color: #166534;
}
.store-cart-coupon__status {
    margin: .45rem 0 0;
    font-size: .8rem;
}
.store-cart-coupon__status--error {
    color: #b91c1c;
}
[data-cart-coupon-form][hidden],
[data-cart-coupon-applied][hidden],
[data-cart-coupon-status][hidden] {
    display: none !important;
}
.store-summary-dl__hint {
    display: inline;
    margin-left: .25rem;
    font-size: .65rem;
    font-weight: 500;
    letter-spacing: .02em;
    color: color-mix(in srgb, var(--store-success, #15803d) 70%, var(--store-muted, #64748b));
    vertical-align: baseline;
}
@media (max-width: 560px) {
    .store-cart-unit-chip { max-width: none; flex: 1 1 8rem; }
}
.store-cart__signup-hint { margin-top: .75rem; font-size: .85rem; }

/* Ajax search */
.store-search-results {
    position: absolute; left: 0; right: 0; top: calc(100% + .35rem); z-index: 50;
    background: var(--store-surface); border: 1px solid var(--store-border); border-radius: .85rem;
    box-shadow: var(--store-shadow); overflow: hidden; max-height: 360px; overflow-y: auto;
}
.store-search-results[hidden] { display: none; }
.store-search-result {
    display: grid; grid-template-columns: 48px 1fr auto; gap: .65rem; align-items: center;
    padding: .65rem .75rem; color: inherit; text-decoration: none; border-bottom: 1px solid var(--store-border);
}
.store-search-result:hover { background: color-mix(in srgb, var(--store-primary) 6%, var(--store-surface)); text-decoration: none; }
.store-search-result img { width: 48px; height: 48px; object-fit: cover; border-radius: .5rem; background: #e2e8f0; }
.store-search-result strong { display: block; font-size: .88rem; }
.store-search-result span { font-size: .78rem; color: var(--store-muted); }
.store-search-result em { font-size: .82rem; font-weight: 800; color: var(--store-primary); font-style: normal; }
.store-search-results__all { display: block; padding: .7rem .75rem; text-align: center; font-weight: 700; font-size: .85rem; }

/* Product gallery thumbs */
.store-product-thumbs { display: flex; gap: .4rem; margin-top: 0; overflow-x: auto; }
.store-product-thumbs__btn {
    border: 2px solid transparent; border-radius: .45rem; padding: 0; background: none; cursor: pointer; flex: 0 0 48px;
}
.store-product-thumbs__btn.is-active { border-color: var(--store-primary); }
.store-product-thumbs__btn img { width: 48px; height: 48px; object-fit: cover; border-radius: .35rem; display: block; }
@media (min-width: 900px) {
    .store-product-page__media .store-product-thumbs__btn { flex-basis: 48px; width: 48px; }
    .store-product-page__media .store-product-thumbs__btn img { width: 48px; height: 48px; }
}
.store-badge--kit { top: auto; bottom: .65rem; left: .65rem; background: #312e81; color: #fff; }
.store-product-page__gallery { position: relative; }
.store-product-page__gallery .store-badge--kit { position: absolute; z-index: 3; }

/* Kit composition */
.store-kit {
    margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--store-border);
}
.store-kit h2 { margin: 0 0 .75rem; font-size: 1.1rem; }
.store-kit__savings {
    padding: .75rem 1rem; border-radius: .75rem; margin-bottom: 1rem;
    background: #ecfdf5; border: 1px solid #a7f3d0; display: grid; gap: .15rem;
}
.store-kit__summary-dl { display: flex; gap: 1.5rem; flex-wrap: wrap; margin: 0 0 1rem; }
.store-kit__summary-dl dt { font-size: .75rem; color: var(--store-muted); margin-bottom: .15rem; }
.store-kit__summary-dl dd { margin: 0; font-weight: 800; }
.store-kit__price { color: var(--store-primary); }
.store-kit__items { list-style: none; margin: 0; padding: 0; display: grid; gap: .65rem; }
.store-kit__item {
    display: grid; grid-template-columns: 56px 1fr auto; gap: .75rem; align-items: center;
    padding: .75rem; border: 1px solid var(--store-border); border-radius: .85rem; background: var(--store-surface);
}
.store-kit__item-media img { width: 56px; height: 56px; object-fit: cover; border-radius: .55rem; }
.store-kit__item-placeholder { display: grid; place-items: center; width: 56px; height: 56px; background: #e2e8f0; border-radius: .55rem; }
.store-kit__item-body h3 { margin: 0 0 .2rem; font-size: .92rem; }
.store-kit__item-prices { text-align: right; }
.store-kit__unit { display: block; font-size: .72rem; }
.store-card__badge--kit { left: auto; right: .65rem; background: #312e81; }

.store-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: .35rem;
    background: var(--store-primary); color: #fff; border: 0; border-radius: .8rem;
    padding: .72rem 1.15rem; font-weight: 700; cursor: pointer; text-decoration: none; font: inherit;
}
.store-btn:hover { background: var(--store-primary-hover); text-decoration: none; color: #fff; }
.store-btn:disabled { opacity: .55; cursor: not-allowed; }
.store-btn--block { width: 100%; }
.store-btn--ghost { background: transparent; color: var(--store-text); border: 1px solid var(--store-border); }
.store-btn--ghost:hover { background: #f1f5f9; color: var(--store-text); }
.store-btn--on-dark { border-color: rgba(255,255,255,.35); color: #fff; }
.store-btn--on-dark:hover { background: rgba(255,255,255,.12); color: #fff; }
.store-btn--light { background: #fff; color: var(--store-primary); }
.store-btn--light:hover { background: #eef2ff; color: var(--store-primary); }
/* Hierarquia buy box (depois de .store-btn para não ser sobrescrito) */
.store-btn.store-btn--add {
    background: #ffd814;
    color: #111827;
    border: 1px solid #fcd200;
}
.store-btn.store-btn--add:hover:not(:disabled) {
    background: #f7ca00;
    border-color: #f0b800;
    color: #111827;
    filter: none;
}
.store-btn.store-btn--buy-now {
    background: var(--store-primary);
    color: #fff;
    border: 1px solid var(--store-primary);
}
.store-btn.store-btn--buy-now:hover:not(:disabled) {
    background: var(--store-primary-hover);
    border-color: var(--store-primary-hover);
    color: #fff;
    filter: none;
}
html.store-dark .store-btn.store-btn--add {
    color: #111827;
}

.store-alert {
    background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;
    border-radius: .75rem; padding: .7rem .85rem; font-size: .88rem; margin-bottom: .75rem;
}

.store-toast {
    margin: 1rem auto 0; width: min(calc(100% - 2rem), 1180px); padding: .75rem 1rem; border-radius: .75rem;
    font-size: .88rem; font-weight: 600;
}
.store-toast--success { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; }
.store-toast--error { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }
.store-toast--float {
    position: fixed;
    top: 1rem;
    left: 50%;
    z-index: 80;
    width: max-content;
    max-width: min(calc(100vw - 2rem), 28rem);
    margin: 0;
    padding: .7rem 1rem;
    border-radius: .85rem;
    box-shadow: 0 10px 30px color-mix(in srgb, #0f172a 16%, transparent);
    transform: translateX(-50%) translateY(-.35rem);
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
}
.store-toast--float:not([hidden]) {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    pointer-events: auto;
}
.store-toast--float.store-toast--success {
    background: #ecfdf5;
    color: #047857;
    border: 1px solid #a7f3d0;
}
.store-toast--float.store-toast--error {
    background: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fecaca;
}
html.store-dark .store-toast--float.store-toast--success {
    background: #052e16;
    color: #86efac;
    border-color: #166534;
}
html.store-dark .store-toast--float.store-toast--error {
    background: #450a0a;
    color: #fecaca;
    border-color: #7f1d1d;
}

/* Pagination & chips */
.store-pagination { display: flex; justify-content: center; align-items: center; gap: .75rem; margin-top: 2rem; flex-wrap: wrap; }
.store-pagination__status { color: var(--store-muted); font-size: .88rem; }
.store-chip-row { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.store-chip {
    display: inline-flex; padding: .45rem .8rem; border-radius: 999px; border: 1px solid var(--store-border);
    background: var(--store-surface); font-size: .85rem; font-weight: 600; color: inherit; text-decoration: none;
}
.store-chip:hover { border-color: var(--store-primary); color: var(--store-primary); text-decoration: none; }

/* Panels / empty / footer */
.store-empty, .store-panel {
    background: var(--store-surface); border: 1px solid var(--store-border); border-radius: var(--store-radius); padding: 1.35rem;
}
.store-empty { text-align: center; padding: 2.5rem 1.25rem; }
.store-empty--404 { margin: 2rem auto; max-width: 36rem; }

.store-footer { background: #0f172a; color: #cbd5e1; margin-top: 2rem; }
.store-footer a { color: #e2e8f0; }
.store-footer__grid {
    display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    padding: 2.25rem 0 1.5rem;
}
.store-footer__grid h3 { margin: 0 0 .65rem; color: #fff; font-size: .92rem; }
.store-footer__grid ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; font-size: .88rem; }
.store-footer__brand p { margin: .5rem 0 0; font-size: .88rem; color: #94a3b8; max-width: 26rem; }
.store-footer__bottom {
    border-top: 1px solid rgba(255,255,255,.08); padding: 1rem 0 1.35rem;
    display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; font-size: .82rem; color: #94a3b8;
}

.store-dl { display: grid; grid-template-columns: auto 1fr; gap: .35rem 1rem; margin: .75rem 0 0; font-size: .9rem; }
.store-dl dt { color: var(--store-muted); }
.store-dl code { font-size: .78rem; word-break: break-all; }

.store-admin { padding: 1.5rem 0 2.5rem; }
.store-admin__header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.store-admin__grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }

.store-account { padding: 1rem 0 2.5rem; }
.store-account__hero { margin-bottom: 1.25rem; }
.store-account__grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.store-account-links { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.store-account__logout { margin-top: 1rem; }

.store-link-muted { color: var(--store-muted); font-size: .88rem; font-weight: 600; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto; }
}

/* Sort */
.store-sort { display: flex; align-items: center; gap: .5rem; font-size: .88rem; }
.store-sort label { color: var(--store-muted); font-weight: 600; }
.store-sort select {
    padding: .5rem .65rem; border-radius: .65rem; border: 1px solid var(--store-border);
    background: var(--store-surface); font: inherit;
}

/* Cart */
.store-cart {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 1fr;
    min-width: 0;
}
.store-cart-head__main { min-width: 0; flex: 1 1 auto; }
.store-cart-head__title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: .55rem .75rem;
    min-width: 0;
}
.store-cart-page__title {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin: 0;
    flex: 0 0 auto;
}
.store-cart-page__icon { display: inline-grid; place-items: center; color: var(--store-primary); }
.store-cart-page__icon svg { width: var(--store-cart-page-icon-size, 1.5rem); height: var(--store-cart-page-icon-size, 1.5rem); display: block; }
.store-cart__suggestions {
    min-width: 0;
}
.store-cart__suggestions[hidden] {
    display: none !important;
}
@media (min-width: 900px) {
    .store-cart {
        grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
        align-items: start;
    }
    .store-cart:has(> .store-cart__suggestions:not([hidden])) {
        grid-template-columns: minmax(200px, 240px) minmax(0, 1fr) minmax(280px, 320px);
    }
    .store-cart__suggestions {
        position: sticky;
        top: 5.5rem;
        align-self: start;
        max-height: calc(100vh - 6.5rem);
        overflow-y: auto;
    }
    .store-cart__lines { min-width: 0; }
}
.store-cart-line {
    display: grid;
    gap: .85rem 1rem;
    grid-template-columns: 72px minmax(0, 1fr);
    grid-template-areas:
        "thumb info"
        "actions actions";
    padding: 1.1rem 0;
    border-bottom: 1px solid var(--store-border);
    transition: background .18s ease;
}
.store-cart-line:hover {
    background: color-mix(in srgb, var(--store-primary, #4f46e5) 2.5%, transparent);
}
@media (min-width: 700px) {
    .store-cart-line {
        grid-template-columns: 88px minmax(0, 1fr) auto;
        grid-template-areas: "thumb info actions";
        align-items: center;
        padding: 1.15rem .35rem 1.15rem 0;
        margin: 0 -.35rem;
        border-radius: .85rem;
    }
}
.store-cart-line__thumb { grid-area: thumb; }
.store-cart-line__info { grid-area: info; min-width: 0; }
.store-cart-line__actions { grid-area: actions; }
.store-cart-line__thumb {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    aspect-ratio: 1;
    border-radius: .8rem;
    overflow: hidden;
    background: #e2e8f0;
    box-shadow: 0 1px 0 color-mix(in srgb, var(--store-ink, #0f172a) 6%, transparent);
    transition: transform .18s ease, box-shadow .18s ease;
    cursor: zoom-in;
    font: inherit;
    color: inherit;
    text-align: center;
}
button.store-cart-line__thumb:focus-visible {
    outline: 2px solid var(--store-primary, #4f46e5);
    outline-offset: 2px;
}
.store-cart-line__thumb--empty {
    cursor: default;
    display: grid;
    place-items: center;
    font-size: .75rem;
    color: var(--store-muted, #64748b);
}
.store-cart-line:hover .store-cart-line__thumb:not(.store-cart-line__thumb--empty) {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px color-mix(in srgb, var(--store-ink, #0f172a) 10%, transparent);
}
.store-cart-line__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none; }
.store-cart-line__info h2 { margin: 0 0 .15rem; font-size: 1rem; font-weight: 700; color: inherit; }

.store-image-dialog {
    position: relative;
    padding: 0;
    border: 0;
    border-radius: 1rem;
    max-width: min(92vw, 720px);
    max-height: min(92vh, 720px);
    background: transparent;
    overflow: visible;
}
.store-image-dialog::backdrop {
    background: color-mix(in srgb, #0f172a 72%, transparent);
    backdrop-filter: blur(3px);
}
.store-image-dialog__toolbar {
    position: absolute;
    top: .35rem;
    right: .35rem;
    z-index: 2;
    margin: 0;
}
.store-image-dialog__close {
    width: 2.35rem;
    height: 2.35rem;
    border: 0;
    border-radius: 999px;
    background: color-mix(in srgb, #0f172a 72%, transparent);
    color: #fff;
    font-size: 1.45rem;
    line-height: 1;
    cursor: pointer;
}
.store-image-dialog__close:hover,
.store-image-dialog__close:focus-visible {
    background: #0f172a;
}
.store-image-dialog img {
    display: block;
    width: 100%;
    max-height: min(88vh, 680px);
    object-fit: contain;
    border-radius: 1rem;
    background: #fff;
}
.store-cart-line__actions {
    display: flex;
    justify-content: stretch;
}
@media (min-width: 700px) {
    .store-cart-line__actions {
        justify-content: flex-end;
        align-self: center;
    }
}
.store-cart-line__panel {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .55rem .75rem;
    width: 100%;
    padding: .6rem .7rem;
    border-radius: .9rem;
    border: 1px solid color-mix(in srgb, var(--store-border) 88%, var(--store-primary, #4f46e5) 12%);
    background:
        linear-gradient(165deg,
            color-mix(in srgb, var(--store-surface, #fff) 94%, var(--store-primary, #4f46e5) 6%),
            var(--store-surface, #fff) 78%);
    box-shadow:
        0 1px 0 color-mix(in srgb, var(--store-ink, #0f172a) 4%, transparent),
        inset 0 1px 0 color-mix(in srgb, #fff 70%, transparent);
}
@media (min-width: 700px) {
    .store-cart-line__panel {
        flex-direction: column;
        align-items: stretch;
        width: auto;
        min-width: 8.75rem;
        padding: .65rem .7rem;
    }
}
.store-cart-stepper {
    display: inline-flex;
    align-items: stretch;
    border: 1px solid var(--store-border);
    border-radius: 999px;
    overflow: hidden;
    background: var(--store-surface, #fff);
    box-shadow: inset 0 1px 2px color-mix(in srgb, var(--store-ink, #0f172a) 4%, transparent);
}
.store-cart-stepper__btn {
    appearance: none;
    display: inline-grid;
    place-items: center;
    width: 2.15rem;
    margin: 0;
    padding: 0;
    border: 0;
    background: color-mix(in srgb, var(--store-surface, #fff) 88%, var(--store-bg, #f4f6fb) 12%);
    color: var(--store-ink, #0f172a);
    cursor: pointer;
    transition: background .14s ease, color .14s ease, transform .12s ease;
}
.store-cart-stepper__btn svg {
    width: .9rem;
    height: .9rem;
    display: block;
}
.store-cart-stepper__btn:hover:not(:disabled) {
    background: color-mix(in srgb, var(--store-primary, #4f46e5) 10%, var(--store-surface, #fff) 90%);
    color: var(--store-primary, #4f46e5);
}
.store-cart-stepper__btn:active:not(:disabled) {
    transform: scale(.94);
}
.store-cart-stepper__btn:disabled {
    opacity: .35;
    cursor: not-allowed;
}
.store-cart-stepper__input {
    width: 2.55rem;
    margin: 0;
    padding: .38rem .2rem;
    border: 0;
    border-left: 1px solid var(--store-border);
    border-right: 1px solid var(--store-border);
    background: var(--store-surface, #fff);
    font: inherit;
    font-size: .9rem;
    font-weight: 800;
    text-align: center;
    color: var(--store-ink, #0f172a);
    -moz-appearance: textfield;
}
.store-cart-stepper__input:focus {
    outline: none;
    background: color-mix(in srgb, var(--store-primary, #4f46e5) 4%, var(--store-surface, #fff) 96%);
}
.store-cart-stepper__input::-webkit-outer-spin-button,
.store-cart-stepper__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.store-cart-stepper.is-updating .store-cart-stepper__input {
    animation: store-cart-qty-pulse .35s ease;
}
@keyframes store-cart-qty-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.06); color: var(--store-primary, #4f46e5); }
}
.store-cart-line__toolbar {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
}
@media (min-width: 700px) {
    .store-cart-line__toolbar {
        justify-content: center;
        padding-top: .15rem;
        border-top: 1px solid color-mix(in srgb, var(--store-border) 85%, transparent);
    }
}
.store-cart-chip {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .28rem;
    margin: 0;
    padding: .38rem .62rem;
    border: 1px solid transparent;
    border-radius: 999px;
    background: transparent;
    font: inherit;
    font-size: .74rem;
    font-weight: 700;
    line-height: 1;
    color: var(--store-muted, #64748b);
    cursor: pointer;
    white-space: nowrap;
    transition: background .14s ease, border-color .14s ease, color .14s ease, transform .12s ease;
}
.store-cart-chip__icon {
    display: inline-flex;
    width: .88rem;
    height: .88rem;
    flex-shrink: 0;
}
.store-cart-chip__icon svg {
    width: 100%;
    height: 100%;
    display: block;
}
.store-cart-chip--save:hover,
.store-cart-chip--save:focus-visible {
    color: #e11d48;
    background: color-mix(in srgb, #fecdd3 35%, transparent);
    border-color: color-mix(in srgb, #fda4af 45%, transparent);
    outline: none;
}
.store-cart-chip--save.is-saved {
    color: #e11d48;
    background: color-mix(in srgb, #fecdd3 55%, transparent);
    border-color: color-mix(in srgb, #fb7185 40%, transparent);
    animation: store-cart-save-pop .45s ease;
}
.store-cart-chip--save.is-saved .store-cart-chip__icon svg {
    fill: currentColor;
}
@keyframes store-cart-save-pop {
    0% { transform: scale(1); }
    40% { transform: scale(1.08); }
    100% { transform: scale(1); }
}
.store-cart-chip--remove:hover,
.store-cart-chip--remove:focus-visible {
    color: #b91c1c;
    background: color-mix(in srgb, #fee2e2 55%, transparent);
    border-color: color-mix(in srgb, #fca5a5 45%, transparent);
    outline: none;
}
.store-cart-chip:active:not(:disabled) {
    transform: scale(.96);
}
@media (max-width: 420px) {
    .store-cart-chip__label {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }
    .store-cart-chip {
        width: 2.1rem;
        height: 2.1rem;
        padding: 0;
    }
}
.store-cart__summary {
    display: grid;
    gap: 1.15rem;
    background:
        linear-gradient(180deg,
            color-mix(in srgb, var(--store-surface) 96%, #fff) 0%,
            var(--store-surface) 100%);
    border: 1px solid color-mix(in srgb, var(--store-border) 88%, var(--store-ink, #0f172a) 12%);
    border-radius: 1.15rem;
    padding: 1.25rem 1.2rem 1.3rem;
    position: sticky;
    top: 5.5rem;
    min-width: 0;
    box-shadow:
        0 1px 0 color-mix(in srgb, #fff 70%, transparent),
        0 18px 40px -28px color-mix(in srgb, var(--store-ink, #0f172a) 28%, transparent);
}
.store-cart__summary-head {
    display: grid;
    gap: .2rem;
}
.store-cart__summary-eyebrow {
    margin: 0;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--store-muted, #64748b);
}
.store-cart__summary h2 {
    margin: 0;
    font-size: 1.28rem;
    font-weight: 750;
    letter-spacing: -.02em;
    line-height: 1.15;
    color: var(--store-ink, #0f172a);
}

.store-cart__summary-actions {
    display: grid;
    gap: .55rem;
}
.store-cart__more {
    margin-top: 0;
}

.store-summary-dl {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: .55rem 1rem;
    margin: 0;
    padding: .15rem 0 0;
}
.store-summary-dl dt {
    font-weight: 500;
    font-size: .9rem;
    color: var(--store-muted, #64748b);
}
.store-summary-dl dd {
    margin: 0;
    text-align: right;
    font-weight: 700;
    font-size: .92rem;
    color: var(--store-ink, #0f172a);
}
.store-summary-dl__free {
    color: #15803d;
    font-weight: 800;
}
.store-summary-dl__total {
    margin-top: .55rem;
    padding-top: .85rem;
    border-top: 1px solid var(--store-border, #e2e8f0);
    font-size: 1.08rem;
    font-weight: 800;
    color: var(--store-ink, #0f172a);
}
dd.store-summary-dl__total {
    color: var(--store-primary, #4f46e5);
    font-variant-numeric: tabular-nums;
    letter-spacing: -.01em;
}
.store-cart-freight {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    min-width: 0;
    overflow: visible;
    display: grid;
    gap: 1rem;
}
.store-cart-freight__label { display: block; margin-bottom: .45rem; font-size: .85rem; font-weight: 700; }
.store-cart-freight__section { display: grid; gap: .6rem; }
.store-cart-freight__section + .store-cart-freight__section {
    margin-top: 0;
    padding-top: 1rem;
    border-top: 1px solid var(--store-border, #e2e8f0);
}
.store-cart-freight__section-title {
    display: block;
    margin: 0;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--store-muted, #64748b);
}
.store-cart-freight__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin-bottom: 0;
}
.store-cart-freight__cep {
    flex: 1 1 7.5rem;
    width: auto;
    min-width: 7rem;
    max-width: 100%;
    padding: .62rem .75rem;
    border-radius: .7rem;
    border: 1px solid var(--store-border);
    background: color-mix(in srgb, var(--store-surface) 88%, #fff);
    font: inherit;
    font-variant-numeric: tabular-nums;
    box-sizing: border-box;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.store-cart-freight__cep:focus {
    outline: none;
    border-color: color-mix(in srgb, var(--store-primary) 45%, var(--store-border));
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--store-primary) 14%, transparent);
}
.store-cart-freight__row .store-btn,
.store-cart-freight__calc {
    flex: 0 0 auto;
    padding: .55rem .9rem;
    border-radius: .7rem;
    font: inherit;
    font-weight: 600;
    white-space: nowrap;
}
.store-cart-freight__options { display: grid; gap: .45rem; min-width: 0; }
.store-cart-freight__options[hidden] { display: none !important; }
.store-cart-freight__hint { margin: 0 0 .15rem; font-size: .8rem; }
.store-cart-freight__option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .45rem .5rem;
    align-items: start;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: .65rem .7rem;
    border-radius: .75rem;
    border: 1px solid var(--store-border);
    background: color-mix(in srgb, var(--store-surface) 92%, #fff);
    cursor: pointer;
    font-size: .84rem;
    line-height: 1.35;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.store-cart-freight__option:has(input:checked) {
    border-color: color-mix(in srgb, var(--store-primary) 55%, var(--store-border));
    background: color-mix(in srgb, var(--store-primary) 8%, var(--store-surface));
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--store-primary) 28%, transparent);
}
.store-cart-freight__option input {
    margin: .15rem 0 0;
    flex-shrink: 0;
}
.store-cart-freight__option span { display: grid; gap: .15rem; min-width: 0; }
.store-cart-freight__option strong {
    font-size: .82rem;
    font-weight: 600;
    line-height: 1.3;
    overflow-wrap: anywhere;
}
.store-cart-freight__option small {
    color: var(--store-muted, #64748b);
    font-size: .72rem;
    line-height: 1.4;
    white-space: normal;
    overflow-wrap: anywhere;
}
.store-cart-freight__option em {
    font-style: normal;
    font-size: .8rem;
    font-weight: 700;
    white-space: nowrap;
    justify-self: end;
    align-self: start;
    margin-top: .1rem;
    text-align: right;
}
.store-cart-freight__status { margin: .15rem 0 0; font-size: .82rem; }
.store-cart-freight__status[hidden] { display: none !important; }
.store-cart-freight__perk {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin: .15rem 0 0;
    padding: .75rem .85rem;
    border-radius: .85rem;
    border: 1px solid color-mix(in srgb, #15803d 22%, transparent);
    background:
        linear-gradient(135deg,
            color-mix(in srgb, #ecfdf5 88%, #fff) 0%,
            color-mix(in srgb, #d1fae5 55%, #fff) 100%);
    color: #14532d;
    animation: store-freight-perk-in .35s ease both;
}
.store-cart-freight__perk[hidden] { display: none !important; }
.store-cart-freight__perk-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 999px;
    background: color-mix(in srgb, #fff 70%, #bbf7d0);
    color: #15803d;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, #15803d 12%, transparent);
}
.store-cart-freight__perk-icon svg {
    width: 1.15rem;
    height: 1.15rem;
}
.store-cart-freight__perk-copy {
    display: grid;
    gap: .1rem;
    min-width: 0;
}
.store-cart-freight__perk-copy strong {
    font-size: .92rem;
    font-weight: 800;
    letter-spacing: -.01em;
    line-height: 1.2;
}
.store-cart-freight__perk-copy small {
    font-size: .78rem;
    font-weight: 500;
    color: color-mix(in srgb, #14532d 78%, #64748b);
}
@keyframes store-freight-perk-in {
    from {
        opacity: 0;
        transform: translateY(4px) scale(.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}
@media (prefers-reduced-motion: reduce) {
    .store-cart-freight__perk { animation: none; }
}
.store-cart-freight__option--pickup em { color: #15803d; }
.store-cart-freight__option--price-only {
    grid-template-columns: auto 1fr;
}

.store-cart-suggestions {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: .65rem;
    align-items: stretch;
    min-width: 0;
}
.store-cart-suggestion {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .35rem;
    width: 100%;
    max-width: none;
    padding: .55rem 1.7rem .55rem .7rem;
    border-radius: .75rem;
    border: 1px solid color-mix(in srgb, var(--store-accent, #4f46e5) 18%, transparent);
    background: color-mix(in srgb, var(--store-surface, #fff) 92%, var(--store-accent, #4f46e5) 8%);
    min-width: 0;
    box-sizing: border-box;
}
.store-cart-suggestion__dismiss {
    position: absolute;
    top: .15rem;
    right: .15rem;
    z-index: 2;
    box-sizing: border-box;
    width: 1.2rem;
    height: 1.2rem;
    min-width: 1.2rem;
    max-width: 1.2rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: .35rem;
    background: transparent !important;
    color: var(--store-muted, #64748b);
    font: 700 1rem/1 inherit;
    letter-spacing: 0;
    text-transform: none;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}
.store-cart-suggestion__dismiss:hover,
.store-cart-suggestion__dismiss:focus-visible {
    color: var(--store-text, #0f172a);
    background: color-mix(in srgb, var(--store-text, #0f172a) 8%, transparent) !important;
    outline: none;
}
.store-cart-suggestion__dismiss span {
    display: block;
    line-height: 1;
}
.store-cart-suggestion--success {
    border-color: color-mix(in srgb, #15803d 25%, transparent);
    background: color-mix(in srgb, #fff 94%, #15803d 6%);
}
.store-cart-suggestion--accent {
    border-color: color-mix(in srgb, var(--store-accent, #4f46e5) 28%, transparent);
}
.store-cart-suggestion--info {
    border-color: color-mix(in srgb, #0ea5e9 22%, transparent);
    background: color-mix(in srgb, #fff 95%, #0ea5e9 5%);
}
.store-cart-suggestion__badge {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    max-width: calc(100% - .5rem);
    padding: .2rem .55rem;
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
    background: var(--store-accent, #4f46e5);
    color: #fff;
    white-space: nowrap;
}
.store-cart-suggestion--success .store-cart-suggestion__badge { background: #15803d; }
.store-cart-suggestion--info .store-cart-suggestion__badge { background: #0ea5e9; }
.store-cart-suggestion__body {
    display: grid;
    gap: .2rem;
    width: 100%;
    min-width: 0;
}
.store-cart-suggestion__body strong {
    font-size: .82rem;
    line-height: 1.25;
}
.store-cart-suggestion__body p {
    margin: 0;
    font-size: .74rem;
    line-height: 1.3;
    color: var(--store-muted, #64748b);
}
.store-cart-suggestion__cta {
    justify-self: start;
    margin-top: .1rem;
    padding: .28rem .55rem;
    border-radius: 999px;
    border: 0;
    background: color-mix(in srgb, var(--store-accent, #4f46e5) 12%, #fff);
    color: var(--store-accent, #4f46e5);
    font-size: .72rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}
.store-cart-suggestion__cta:hover { filter: brightness(.96); }

.store-order-success {
    text-align: center;
    max-width: 28rem;
    margin-inline: auto;
}
.store-order-success__badge {
    display: inline-flex;
    margin: 0 0 .75rem;
    padding: .25rem .7rem;
    border-radius: 999px;
    background: #dcfce7;
    color: #166534;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.store-order-success__total {
    margin: .5rem 0 0;
    font-size: 1.55rem;
    font-weight: 800;
}
.store-order-success__items {
    list-style: none;
    margin: 1rem 0;
    padding: 0;
    text-align: left;
    display: grid;
    gap: .45rem;
}
.store-order-success__items li {
    display: grid;
    gap: .1rem;
    padding: .55rem .7rem;
    border-radius: .65rem;
    border: 1px solid var(--store-border, #e2e8f0);
    background: var(--store-surface, #fff);
}
.store-order-success__items small {
    color: var(--store-muted, #64748b);
}

/* Dark mode */
html.store-dark {
    color-scheme: dark;
    --store-bg: #0b1220;
    --store-surface: #111827;
    --store-text: #e5e7eb;
    --store-muted: #94a3b8;
    --store-border: #1f2937;
}
html.store-dark .store-header { box-shadow: none; }
html.store-dark .store-search input,
html.store-dark .store-form input,
html.store-dark .store-field input,
html.store-dark .store-field select,
html.store-dark .store-newsletter__form input { background: #0f172a; color: var(--store-text); }
html.store-dark .store-btn--ghost:hover { background: #1f2937; }
html.store-dark .store-card__media,
html.store-dark .store-product-page__gallery,
html.store-dark .store-cart__summary {
    background: linear-gradient(180deg, #111827 0%, #0f172a 100%);
    border-color: #334155;
    box-shadow: 0 18px 40px -28px rgba(0, 0, 0, .55);
}
html.store-dark .store-cart__summary h2 { color: #f8fafc; }
html.store-dark .store-summary-dl dd { color: #e2e8f0; }
html.store-dark .store-summary-dl__total { border-top-color: #334155; color: #f8fafc; }
html.store-dark .store-cart-freight__cep,
html.store-dark .store-cart-coupon__input,
html.store-dark .store-cart-freight__option {
    background: #111827;
    border-color: #334155;
    color: #e2e8f0;
}
html.store-dark .store-cart-freight__perk {
    border-color: color-mix(in srgb, #4ade80 28%, transparent);
    background: linear-gradient(135deg, color-mix(in srgb, #052e16 70%, #0f172a), color-mix(in srgb, #14532d 45%, #0f172a));
    color: #bbf7d0;
}
html.store-dark .store-cart-freight__perk-icon {
    background: color-mix(in srgb, #14532d 55%, #0f172a);
    color: #86efac;
}
html.store-dark .store-cart-freight__perk-copy small { color: #86efac; }
html.store-dark .store-cart-line:hover {
    background: color-mix(in srgb, var(--store-primary, #4f46e5) 6%, transparent);
}
html.store-dark .store-cart-line__thumb { background: #1f2937; }
html.store-dark .store-cart-line__panel {
    background:
        linear-gradient(165deg,
            color-mix(in srgb, #0f172a 92%, var(--store-primary, #4f46e5) 8%),
            #0f172a 75%);
    border-color: #334155;
    box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 6%, transparent);
}
html.store-dark .store-cart-stepper {
    border-color: #334155;
    background: #0f172a;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, .25);
}
html.store-dark .store-cart-stepper__btn {
    background: #1e293b;
    color: #e2e8f0;
}
html.store-dark .store-cart-stepper__btn:hover:not(:disabled) {
    background: color-mix(in srgb, var(--store-primary, #4f46e5) 22%, #1e293b 78%);
    color: #c7d2fe;
}
html.store-dark .store-cart-stepper__input {
    background: #0f172a;
    border-color: #334155;
    color: #f8fafc;
}
html.store-dark .store-cart-line__toolbar {
    border-top-color: #334155;
}
html.store-dark .store-cart-chip { color: #94a3b8; }
html.store-dark .store-cart-chip--save:hover,
html.store-dark .store-cart-chip--save:focus-visible {
    color: #fb7185;
    background: color-mix(in srgb, #881337 35%, transparent);
    border-color: color-mix(in srgb, #be123c 40%, transparent);
}
html.store-dark .store-cart-chip--remove:hover,
html.store-dark .store-cart-chip--remove:focus-visible {
    color: #f87171;
    background: color-mix(in srgb, #7f1d1d 35%, transparent);
    border-color: color-mix(in srgb, #b91c1c 35%, transparent);
}
html.store-dark .store-cart-line-badge {
    background: linear-gradient(165deg, #1f2937, #111827);
    border-color: #334155;
}
html.store-dark .store-cart-line-badge__meta { color: #cbd5e1; }
html.store-dark .store-cart-line-badge__row strong {
    color: color-mix(in srgb, var(--store-primary) 70%, #fff);
}
html.store-dark .store-cart-line-badge--deal {
    background: linear-gradient(165deg, color-mix(in srgb, #052e16 70%, #111827), #111827);
    border-color: color-mix(in srgb, #15803d 40%, #334155);
}
html.store-dark .store-cart-line-badge--deal .store-cart-line-badge__row strong { color: #4ade80; }
html.store-dark .store-cart-line-badge__sep { background: #475569; }
html.store-dark .store-cart-suggestion__dismiss { color: #94a3b8; }
html.store-dark .store-cart-suggestion__dismiss:hover,
html.store-dark .store-cart-suggestion__dismiss:focus-visible {
    color: #f1f5f9;
    background: color-mix(in srgb, #f1f5f9 10%, transparent);
}
html.store-dark .store-prose { color: #cbd5e1; }

/* Admin */
.store-body--admin .store-main { padding-top: 1rem; }
.store-admin-nav { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin-bottom: 1.25rem; }
.store-admin-nav a {
    font-size: .88rem; font-weight: 700; color: var(--store-muted); text-decoration: none;
    padding: .35rem 0; border-bottom: 2px solid transparent;
}
.store-admin-nav a.is-active, .store-admin-nav a:hover { color: var(--store-primary); border-bottom-color: var(--store-primary); }
.store-admin-form { display: grid; gap: 1rem; }
.store-admin-form fieldset { border: 0; margin: 0; }
.store-admin-form legend { font-weight: 800; font-size: 1.05rem; margin-bottom: .75rem; }
.store-admin-form__grid { display: grid; gap: .85rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.store-admin-form__grid--colors { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.store-admin-form label { display: grid; gap: .35rem; font-size: .88rem; font-weight: 600; }
.store-admin-form input, .store-admin-form select, .store-admin-form textarea {
    width: 100%; padding: .65rem .75rem; border-radius: .65rem; border: 1px solid var(--store-border);
    font: inherit; background: var(--store-surface);
}
.store-check { display: flex; align-items: center; gap: .5rem; font-weight: 600; margin: .35rem 0; }
.store-check input { width: auto; }
.store-admin-banners { display: grid; gap: 1rem; margin-top: 1rem; }
.store-admin-banner-row { padding: 1rem; border: 1px dashed var(--store-border); border-radius: .85rem; }
.store-admin-banner-row h3 { margin: 0 0 .75rem; font-size: .95rem; }
.store-admin-sections { display: grid; gap: .35rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.store-admin-form__actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: .5rem; }
.store-panel--highlight { border-color: color-mix(in srgb, var(--store-primary) 25%, var(--store-border)); }
.store-header .store-admin-nav { margin: 0; flex: 1; justify-content: center; }

