:root,
[data-theme="light"] {
    --lig-bg: #f5f5f5;
    --lig-surface: #ffffff;
    --lig-surface-alt: #fafafa;
    --lig-text: #1a1a1a;
    --lig-text-muted: #666666;
    --lig-text-subtle: #999999;
    --lig-yellow: #F7D53C;
    --lig-yellow-text: #A67C00;
    --lig-yellow-hover: #D9BB35;
    --lig-yellow-light: rgba(247, 213, 60, 0.2);
    --lig-accent: var(--lig-yellow-text);
    --lig-border: #ebebeb;
    --lig-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    --lig-shadow-sm: 0 1px 4px rgba(0, 0, 0, 0.06);
    --lig-promo-bg: linear-gradient(135deg, #fffbeb 0%, #fff 100%);
    --lig-promo-border: rgba(247, 213, 60, 0.2);
    --lig-brand-logo-bg: #fffbeb;
    --lig-overlay: rgba(0, 0, 0, 0.4);
    --lig-scrollbar: #ccc;
    --lig-scrollbar-thumb: rgba(166, 124, 0, 0.38);
    --lig-media-bg: var(--lig-surface-alt);
    --lig-cat-circle-bg: var(--lig-surface);
    --lig-container-max: 1280px;
    --lig-gutter-x: 1rem;
    --lig-gutter-x-md: 4rem;
    --lig-motion-duration: 0.4s;
    --lig-motion-duration-fast: 0.2s;
    --lig-motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --lig-motion-stagger: 45ms;
    --lig-on-yellow: #1a1a1a;
    --lig-on-yellow-muted: rgba(0, 0, 0, 0.55);
    --lig-on-yellow-surface: rgba(0, 0, 0, 0.06);
    --lig-on-yellow-surface-press: rgba(0, 0, 0, 0.1);
    --lig-on-yellow-chip: rgba(255, 255, 255, 0.65);
    /* Seletor UN/CX/PL — ativo amarelo (padrão imagem 1) */
    --lig-tier-track-bg: #ececec;
    --lig-tier-track-border: rgba(26, 26, 26, 0.06);
    --lig-tier-idle-fg: #6b6b6b;
    --lig-tier-active-bg: linear-gradient(180deg, #ffe566 0%, #f7d53c 52%, #ebc22f 100%);
    --lig-tier-active-fg: #1a1a1a;
    --lig-tier-active-border: #ffffff;
    --lig-tier-active-shadow:
        0 0 0 1px rgba(247, 213, 60, 0.35),
        0 2px 8px rgba(247, 213, 60, 0.42);
    --lig-cta-bg: #1a1a1a;
    --lig-cta-fg: #ffffff;
    --lig-cta-hover: #333333;
    --lig-surface-muted: #f3f4f6;
    --lig-surface-2: #f8fafc;
    --lig-status-wait-bg: rgba(234, 179, 8, 0.15);
    --lig-status-wait-fg: #a16207;
    --lig-status-ok-bg: rgba(34, 197, 94, 0.15);
    --lig-status-ok-fg: #15803d;
    --lig-status-danger-bg: rgba(239, 68, 68, 0.12);
    --lig-status-danger-fg: #b91c1c;
    --lig-status-progress-bg: rgba(14, 165, 233, 0.12);
    --lig-status-progress-fg: #0369a1;
    --lig-success-fg: #047857;
    --lig-error-fg: #dc2626;
    --lig-warning-bg: #fff7ed;
    --lig-warning-border: #fed7aa;
    --lig-warning-fg: #9a3412;
    --lig-on-media: #1a1a1a;
    --lig-status-info-bg: rgba(59, 130, 246, 0.12);
    --lig-status-info-fg: #1d4ed8;
}

[data-theme="dark"] {
    --lig-bg: #0d0d0d;
    --lig-surface: #1a1a1a;
    --lig-surface-alt: #242424;
    --lig-text: #f5f5f5;
    --lig-text-muted: #b3b3b3;
    --lig-text-subtle: #8a8a8a;
    --lig-yellow: #F7D53C;
    --lig-yellow-text: #F7D53C;
    --lig-yellow-hover: #FAE06A;
    --lig-yellow-light: rgba(247, 213, 60, 0.16);
    --lig-accent: var(--lig-yellow-text);
    --lig-border: #2e2e2e;
    --lig-shadow: 0 4px 18px rgba(0, 0, 0, 0.45);
    --lig-shadow-sm: 0 1px 8px rgba(0, 0, 0, 0.35);
    --lig-promo-bg: linear-gradient(135deg, #2a2810 0%, #1a1a1a 100%);
    --lig-promo-border: rgba(247, 213, 60, 0.35);
    --lig-brand-logo-bg: #2a2810;
    --lig-overlay: rgba(0, 0, 0, 0.72);
    --lig-scrollbar: #3a3a3a;
    --lig-scrollbar-thumb: rgba(247, 213, 60, 0.5);
    --lig-media-bg: #ffffff;
    --lig-cat-circle-bg: #ffffff;
    --lig-on-yellow: #1a1a1a;
    --lig-on-yellow-muted: rgba(0, 0, 0, 0.55);
    --lig-on-yellow-surface: rgba(0, 0, 0, 0.06);
    --lig-on-yellow-surface-press: rgba(0, 0, 0, 0.1);
    --lig-on-yellow-chip: rgba(255, 255, 255, 0.65);
    /* Seletor UN/CX/PL — ativo amarelo (padrão imagem 1) */
    --lig-tier-track-bg: rgba(255, 255, 255, 0.1);
    --lig-tier-track-border: rgba(255, 255, 255, 0.08);
    --lig-tier-idle-fg: rgba(255, 255, 255, 0.55);
    --lig-tier-active-bg: linear-gradient(180deg, #ffe566 0%, #f7d53c 52%, #ebc22f 100%);
    --lig-tier-active-fg: #1a1a1a;
    --lig-tier-active-border: #ffffff;
    --lig-tier-active-shadow:
        0 0 0 1px rgba(247, 213, 60, 0.35),
        0 2px 8px rgba(247, 213, 60, 0.42);
    --lig-cta-bg: #f5f5f5;
    --lig-cta-fg: #0d0d0d;
    --lig-cta-hover: #e8e8e8;
    --lig-surface-muted: #2a2a2a;
    --lig-surface-2: #222222;
    --lig-status-wait-bg: rgba(247, 213, 60, 0.18);
    --lig-status-wait-fg: #F7D53C;
    --lig-status-ok-bg: rgba(34, 197, 94, 0.18);
    --lig-status-ok-fg: #86efac;
    --lig-status-danger-bg: rgba(248, 113, 113, 0.16);
    --lig-status-danger-fg: #fca5a5;
    --lig-status-progress-bg: rgba(56, 189, 248, 0.16);
    --lig-status-progress-fg: #7dd3fc;
    --lig-success-fg: #6ee7b7;
    --lig-error-fg: #f87171;
    --lig-warning-bg: rgba(251, 146, 60, 0.12);
    --lig-warning-border: rgba(251, 146, 60, 0.35);
    --lig-warning-fg: #fdba74;
    --lig-on-media: #1a1a1a;
    --lig-status-info-bg: rgba(59, 130, 246, 0.18);
    --lig-status-info-fg: #93c5fd;
}

@media (prefers-color-scheme: dark) {
    [data-theme="auto"] {
        --lig-bg: #0d0d0d;
        --lig-surface: #1a1a1a;
        --lig-surface-alt: #242424;
        --lig-text: #f5f5f5;
        --lig-text-muted: #b3b3b3;
        --lig-text-subtle: #8a8a8a;
        --lig-yellow: #F7D53C;
        --lig-yellow-text: #F7D53C;
        --lig-yellow-hover: #FAE06A;
        --lig-yellow-light: rgba(247, 213, 60, 0.16);
        --lig-accent: var(--lig-yellow-text);
        --lig-border: #2e2e2e;
        --lig-shadow: 0 4px 18px rgba(0, 0, 0, 0.45);
        --lig-shadow-sm: 0 1px 8px rgba(0, 0, 0, 0.35);
        --lig-promo-bg: linear-gradient(135deg, #2a2810 0%, #1a1a1a 100%);
        --lig-promo-border: rgba(247, 213, 60, 0.35);
        --lig-brand-logo-bg: #2a2810;
        --lig-overlay: rgba(0, 0, 0, 0.72);
        --lig-scrollbar: #3a3a3a;
        --lig-scrollbar-thumb: rgba(247, 213, 60, 0.5);
        --lig-media-bg: #ffffff;
        --lig-cat-circle-bg: #ffffff;
        --lig-on-yellow: #1a1a1a;
        --lig-on-yellow-muted: rgba(0, 0, 0, 0.55);
        --lig-on-yellow-surface: rgba(0, 0, 0, 0.06);
        --lig-on-yellow-surface-press: rgba(0, 0, 0, 0.1);
        --lig-on-yellow-chip: rgba(255, 255, 255, 0.65);
        --lig-tier-track-bg: rgba(255, 255, 255, 0.1);
        --lig-tier-track-border: rgba(255, 255, 255, 0.08);
        --lig-tier-idle-fg: rgba(255, 255, 255, 0.55);
        --lig-tier-active-bg: linear-gradient(180deg, #ffe566 0%, #f7d53c 52%, #ebc22f 100%);
        --lig-tier-active-fg: #1a1a1a;
        --lig-tier-active-border: #ffffff;
        --lig-tier-active-shadow:
            0 0 0 1px rgba(247, 213, 60, 0.35),
            0 2px 8px rgba(247, 213, 60, 0.42);
        --lig-cta-bg: #f5f5f5;
        --lig-cta-fg: #0d0d0d;
        --lig-cta-hover: #e8e8e8;
        --lig-surface-muted: #2a2a2a;
        --lig-surface-2: #222222;
        --lig-status-wait-bg: rgba(247, 213, 60, 0.18);
        --lig-status-wait-fg: #F7D53C;
        --lig-status-ok-bg: rgba(34, 197, 94, 0.18);
        --lig-status-ok-fg: #86efac;
        --lig-status-danger-bg: rgba(248, 113, 113, 0.16);
        --lig-status-danger-fg: #fca5a5;
        --lig-status-progress-bg: rgba(56, 189, 248, 0.16);
        --lig-status-progress-fg: #7dd3fc;
        --lig-success-fg: #6ee7b7;
        --lig-error-fg: #f87171;
        --lig-warning-bg: rgba(251, 146, 60, 0.12);
        --lig-warning-border: rgba(251, 146, 60, 0.35);
        --lig-warning-fg: #fdba74;
        --lig-on-media: #1a1a1a;
        --lig-status-info-bg: rgba(59, 130, 246, 0.18);
        --lig-status-info-fg: #93c5fd;
    }
}

@media (prefers-color-scheme: light) {
    [data-theme="auto"] {
        --lig-yellow-text: #A67C00;
        --lig-accent: var(--lig-yellow-text);
        --lig-yellow-light: rgba(247, 213, 60, 0.2);
    }
}

body {
    background-color: var(--lig-bg);
    color: var(--lig-text);
}

[data-theme="light"] {
    color-scheme: light;
}

[data-theme="dark"] {
    color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
    [data-theme="auto"] {
        color-scheme: dark;
    }
}

@media (prefers-color-scheme: light) {
    [data-theme="auto"] {
        color-scheme: light;
    }
}

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

html.lig-app-mode body {
    padding-bottom: calc(4.5rem + env(safe-area-inset-bottom, 0px));
}

html.lig-app-mode.lig-has-float-cart body {
    padding-bottom: calc(7.5rem + env(safe-area-inset-bottom, 0px));
}

/* S? no body ? overflow-x em html+body vira overflow-y:auto nos dois e trava o scroll no mobile. */
body {
    overflow-x: clip;
    max-width: 100%;
}

html {
    max-width: 100%;
}

html.lig-app-mode .lig-site-footer {
    display: none;
}

@media (min-width: 768px) {
    html.lig-app-mode body[data-page='quemsomos'] .lig-site-footer,
    html.lig-app-mode body[data-page='contato'] .lig-site-footer,
    html.lig-app-mode body[data-page='versao'] .lig-site-footer {
        display: block;
    }
}

#app-bottom-nav {
    padding-bottom: env(safe-area-inset-bottom, 0px);
    background: var(--lig-surface);
    border-top: 1px solid var(--lig-border);
    box-shadow: none;
}

.app-tab-active {
    color: var(--lig-yellow-text);
}

.app-tab-active .material-symbols-outlined {
    font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24;
}

/* ?? Motion (microintera??es e reveal) ?? */
html.lig-motion-ready #lig-page-main {
    animation: lig-page-enter 0.32s var(--lig-motion-ease) both;
}

@keyframes lig-page-enter {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.lig-motion-item {
    opacity: 0;
    transform: translate3d(0, 14px, 0);
    transition:
        opacity var(--lig-motion-duration) var(--lig-motion-ease),
        transform var(--lig-motion-duration) var(--lig-motion-ease);
    transition-delay: var(--lig-motion-delay, 0ms);
}

.lig-motion-item.lig-motion-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.lig-motion-press,
.ze-product-card,
.ze-product-h,
.home-suggested-card,
.ofertas-product-row,
.ofertas-points-row,
.ofertas-combo-row,
.home-quick-chip,
.ze-cat-tile,
.conta-menu-row,
.caminhao-item,
.ze-combo-card,
.lig-page-card,
.lig-btn-primary,
.ze-add-btn,
.ze-qty-btn,
#app-bottom-nav a {
    transition:
        transform var(--lig-motion-duration-fast) var(--lig-motion-ease),
        box-shadow var(--lig-motion-duration-fast) ease,
        border-color 0.15s ease,
        background 0.15s ease;
}

.lig-motion-press:active,
.ze-product-card.lig-motion-visible:active,
.ze-product-h.lig-motion-visible:active,
.home-suggested-card.lig-motion-visible:active,
.ofertas-product-row.lig-motion-visible:active,
.ofertas-points-row.lig-motion-visible:active,
.ofertas-combo-row.lig-motion-visible:active,
.home-quick-chip:active,
.ze-cat-tile:active,
.conta-menu-row:active,
.caminhao-item:active,
.ze-combo-card:active,
.lig-btn-primary:active,
.ze-add-btn:active,
.ze-qty-btn:active {
    transform: scale(0.97);
}

#app-bottom-nav a {
    transition:
        color var(--lig-motion-duration-fast) ease,
        transform var(--lig-motion-duration-fast) var(--lig-motion-ease);
}

#app-bottom-nav a .material-symbols-outlined {
    transition: transform var(--lig-motion-duration-fast) var(--lig-motion-ease);
}

#app-bottom-nav a.app-tab-active .material-symbols-outlined {
    transform: translateY(-2px) scale(1.06);
}

#app-bottom-nav a:active {
    transform: scale(0.94);
}

#app-bottom-nav a:active .material-symbols-outlined {
    transform: scale(0.92);
}

.ze-product-card.lig-motion-visible:hover,
.home-suggested-card.lig-motion-visible:hover,
.ofertas-product-row.lig-motion-visible:hover {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

[data-theme='dark'] .ze-product-card.lig-motion-visible:hover,
[data-theme='dark'] .home-suggested-card.lig-motion-visible:hover,
[data-theme='dark'] .ofertas-product-row.lig-motion-visible:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
}

@media (prefers-reduced-motion: reduce) {
    html.lig-motion-ready #lig-page-main {
        animation: none;
    }

    .lig-motion-item {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .lig-motion-press:active,
    .ze-product-card:active,
    .home-suggested-card:active,
    .ofertas-product-row:active,
    .home-quick-chip:active,
    .ze-cat-tile:active,
    .conta-menu-row:active,
    .caminhao-item:active,
    .lig-btn-primary:active,
    .ze-add-btn:active,
    .ze-qty-btn:active,
    #app-bottom-nav a:active {
        transform: none;
    }

    #app-bottom-nav a.app-tab-active .material-symbols-outlined {
        transform: none;
    }
}

/* iOS: NÃO aplicar safe-area no header interno E no stack — causa faixa preta duplicada. */
html.lig-app-standalone .lig-header-stack .ze-app-header,
html.lig-app-safe-areas .lig-header-stack .ze-app-header {
    padding-top: 0;
}

/* Safe areas mobile — um único padding no stack (status bar / home indicator) */
@media (max-width: 767px) {
    html.lig-app-safe-areas .lig-header-stack,
    html.lig-app-standalone .lig-header-stack {
        /* constant() = iOS antigo; env() = moderno */
        padding-top: constant(safe-area-inset-top);
        padding-top: env(safe-area-inset-top, 0px);
        padding-left: constant(safe-area-inset-left);
        padding-left: env(safe-area-inset-left, 0px);
        padding-right: constant(safe-area-inset-right);
        padding-right: env(safe-area-inset-right, 0px);
        background: var(--lig-bg);
        border-bottom-color: var(--lig-border);
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        overflow: visible;
    }

    html.lig-app-safe-areas .lig-header-stack .ze-app-header,
    html.lig-app-safe-areas .lig-header-stack .ze-app-chrome,
    html.lig-app-safe-areas .lig-header-stack .font-nav-bar {
        background: transparent;
        padding-top: 0;
    }

    html.lig-app-safe-areas .lig-header-stack .ze-app-header {
        overflow-x: clip;
        max-width: 100%;
    }

    html.lig-app-safe-areas #app-bottom-nav,
    html.lig-app-standalone #app-bottom-nav {
        padding-bottom: constant(safe-area-inset-bottom);
        padding-bottom: env(safe-area-inset-bottom, 0px);
        padding-left: constant(safe-area-inset-left);
        padding-left: env(safe-area-inset-left, 0px);
        padding-right: constant(safe-area-inset-right);
        padding-right: env(safe-area-inset-right, 0px);
        background: var(--lig-surface);
        border-top-color: color-mix(in srgb, var(--lig-border) 80%, transparent);
        box-shadow: 0 0 0 max(env(safe-area-inset-bottom, 0px), 1px) var(--lig-surface);
        box-sizing: border-box;
    }

    html.lig-app-safe-areas body,
    html.lig-app-standalone body {
        background-color: var(--lig-bg);
        /* Evita padding extra no body empurrando o header */
        padding-top: 0;
    }

    /* Safari iOS às vezes reserva espaço no html com 100vh — preferir dvh sem gap */
    html.lig-app-safe-areas,
    html.lig-app-standalone {
        min-height: 100%;
        min-height: -webkit-fill-available;
    }
}

/* ?? Shared surfaces ?? */
.glass-panel,
.lig-cart-panel {
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    box-shadow: var(--lig-shadow);
}

.text-gradient-brand {
    background: linear-gradient(90deg, var(--lig-yellow-text) 0%, #C9920A 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: var(--lig-bg);
}

::-webkit-scrollbar-thumb {
    background: var(--lig-scrollbar);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--lig-yellow);
}

/* ?? Brand wordmark (header) ?? */
.lig-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    text-decoration: none;
    padding: 0.125rem 0;
}

.lig-brand__logo {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    background: transparent;
    border: 0;
    padding: 0;
    box-shadow: none;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.28));
}

.lig-brand__text {
    font-family: 'Plus Jakarta Sans', 'Hanken Grotesk', system-ui, sans-serif;
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1;
    color: var(--lig-yellow-text);
}

.lig-brand__wordmark {
    display: inline-flex;
    align-items: baseline;
    gap: 0.125rem;
    line-height: 1;
}

.lig-brand__app {
    font-family: 'Caveat', cursive;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 0.9;
    color: #000000;
    transform: translateY(0.08em) rotate(-2.5deg);
    margin-left: 0.0625rem;
    transform-origin: left bottom;
}

[data-theme="dark"] .lig-brand__app {
    color: #f0f0f0;
}

@media (prefers-color-scheme: dark) {
    [data-theme="auto"] .lig-brand__app {
        color: #f0f0f0;
    }
}

@media (min-width: 768px) {
    .lig-brand__logo {
        width: 2.75rem;
        height: 2.75rem;
    }

    .lig-brand__text {
        font-size: 1.375rem;
    }

    .lig-brand__app {
        font-size: 1.625rem;
    }
}

/* ?? App header ?? */
.lig-header-stack {
    position: sticky;
    top: 0;
    z-index: 50;
    background: var(--lig-surface);
    border-bottom: 1px solid var(--lig-border);
    box-shadow: var(--lig-shadow-sm);
}

.ze-app-header {
    position: relative;
    top: auto;
    z-index: auto;
    background: var(--lig-surface);
    border-bottom: none;
    box-shadow: none;
}

.lig-header-stack .ze-app-chrome {
    border-top: 1px solid var(--lig-border);
    background: var(--lig-surface);
}

.font-nav-bar {
    background: var(--lig-surface) !important;
}

.lig-header-main {
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    max-width: var(--lig-container-max);
    margin-left: auto;
    margin-right: auto;
    min-width: 0;
    min-height: 3.5rem;
    gap: 0.5rem;
    padding: 0.625rem var(--lig-gutter-x);
}

@media (max-width: 767px) {
    .lig-header-main {
        max-width: 100%;
        gap: 0.3rem;
        padding-left: 0.65rem;
        padding-right: 0.65rem;
    }

    .lig-header-main .lig-brand,
    .lig-header-main .nav-brand {
        min-width: 0;
        flex: 1 1 auto;
        flex-shrink: 1;
        overflow: hidden;
        gap: 0.35rem;
    }

    .lig-header-main .lig-brand__logo {
        width: 2rem;
        height: 2rem;
        flex-shrink: 0;
    }

    .lig-header-main .lig-brand__wordmark {
        display: inline-flex;
        align-items: baseline;
        min-width: 0;
        flex-shrink: 1;
        gap: 0.15rem;
    }

    .lig-header-main .lig-brand__text {
        font-size: 1.05rem;
        flex-shrink: 0;
    }

    .lig-header-main .lig-brand__app {
        display: inline;
        font-size: 1.15rem;
        flex-shrink: 1;
        min-width: 0;
    }

    .lig-header-actions {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        gap: 0.2rem !important;
        padding-left: 0.15rem;
        border-left: none;
        max-width: none;
        overflow: visible;
    }

    .lig-header-actions .lig-notif-bell,
    .lig-header-actions .lig-sync-nav-btn,
    .lig-header-actions .lig-install-nav-btn,
    .lig-theme-toggle-mount--header .lig-theme-toggle {
        width: 2.125rem;
        height: 2.125rem;
        min-width: 2.125rem;
        min-height: 2.125rem;
    }

    .lig-header-actions .lig-notif-bell__icon,
    .lig-header-actions .lig-sync-nav-btn__icon,
    .lig-header-actions .lig-install-nav-btn .material-symbols-outlined,
    .lig-theme-toggle-mount--header .lig-theme-toggle__icon {
        font-size: 1rem;
    }
}

@media (min-width: 768px) {
    .lig-header-main {
        padding-left: var(--lig-gutter-x-md);
        padding-right: var(--lig-gutter-x-md);
    }
}

.lig-header-main .nav-brand,
.lig-header-main .lig-brand {
    flex-shrink: 0;
}

@media (max-width: 767px) {
    .lig-header-main .nav-brand,
    .lig-header-main .lig-brand {
        flex-shrink: 1;
    }
}

.lig-desktop-nav {
    flex: 0 1 auto;
    justify-content: center;
    min-width: min-content;
    padding: 0 0.25rem;
    overflow: visible;
}

.lig-desktop-nav__track {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    width: max-content;
    max-width: none;
    min-width: min-content;
    margin-inline: auto;
    padding: 0.2rem;
    border-radius: 999px;
    background: var(--lig-surface-alt);
    border: 1px solid var(--lig-border);
    overflow: visible;
    flex-wrap: nowrap;
}

.lig-desktop-nav__group {
    display: inline-flex;
    align-items: center;
    gap: 0.1rem;
    flex: 0 0 auto;
}

.lig-desktop-nav__sep {
    width: 1px;
    height: 1.15rem;
    background: var(--lig-border);
    flex: 0 0 auto;
    margin: 0 0.1rem;
}

.lig-desktop-nav__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    padding: 0.4rem 0.65rem;
    border-radius: 999px;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.2;
    color: var(--lig-text-muted);
    text-decoration: none;
    white-space: nowrap;
    overflow: visible;
    text-overflow: clip;
    transition:
        color var(--lig-motion-duration-fast) ease,
        background var(--lig-motion-duration-fast) ease,
        box-shadow var(--lig-motion-duration-fast) ease;
}

.lig-desktop-nav__link:hover {
    color: var(--lig-text);
    background: var(--lig-surface);
}

.lig-desktop-nav__link--active {
    color: var(--lig-on-yellow);
    background: var(--lig-yellow);
    box-shadow: 0 1px 4px rgba(247, 213, 60, 0.35);
    font-weight: 700;
}

.lig-desktop-nav__link--active:hover {
    color: var(--lig-on-yellow);
    background: var(--lig-yellow-hover);
}

.lig-header-actions {
    flex-shrink: 0;
    padding-left: 0.5rem;
    border-left: 1px solid var(--lig-border);
    position: relative;
    z-index: 2;
    gap: 0.25rem;
}

.lig-header-cart {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border: none;
    border-radius: 999px;
    background: transparent;
    color: var(--lig-yellow-text);
    cursor: pointer;
    transition: background var(--lig-motion-duration-fast) ease, transform var(--lig-motion-duration-fast) ease;
}

.lig-header-cart:hover {
    background: var(--lig-yellow-light);
}

.lig-header-cart:active {
    transform: scale(0.96);
}

.lig-header-cart .material-symbols-outlined {
    font-size: 1.375rem;
}

.lig-header-cart__badge {
    position: absolute;
    top: 0.125rem;
    right: 0.125rem;
    min-width: 1rem;
    height: 1rem;
    padding: 0 0.25rem;
    border-radius: 999px;
    background: var(--lig-yellow);
    color: var(--lig-on-yellow);
    font-size: 0.5625rem;
    font-weight: 800;
    line-height: 1rem;
    text-align: center;
}

.lig-nav-account__label {
    max-width: 6.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (min-width: 768px) {
    .lig-header-universal .lig-header-main {
        gap: 0.75rem;
    }

    .lig-header-universal .lig-nav-account {
        background: var(--lig-yellow-light);
        color: var(--lig-yellow-text);
        border: 1px solid rgba(247, 213, 60, 0.28);
    }

    .lig-header-universal .lig-nav-account--active {
        background: var(--lig-yellow-light);
        box-shadow: inset 0 0 0 1px rgba(247, 213, 60, 0.35);
    }

    .lig-header-universal .lig-desktop-nav__link {
        padding: 0.4375rem 0.8125rem;
        font-size: 0.875rem;
    }

    .lig-header-universal .lig-header-actions {
        gap: 0.35rem;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .lig-nav-account__label {
        display: none;
    }

    .lig-brand__app {
        display: none;
    }

    .lig-desktop-nav__link {
        padding: 0.35rem 0.5rem;
        font-size: 0.75rem;
    }

    .lig-header-main {
        gap: 0.4rem;
    }

    .lig-header-actions {
        gap: 0.1rem;
        padding-left: 0.35rem;
    }

    .lig-sync-nav-btn,
    .lig-install-nav-btn,
    .lig-theme-toggle-mount--header .lig-theme-toggle {
        width: 2.5rem;
        height: 2.5rem;
        min-width: 2.5rem;
        min-height: 2.5rem;
    }
}

@media (min-width: 1200px) {
    .lig-desktop-nav__link {
        padding: 0.4375rem 0.75rem;
        font-size: 0.84375rem;
    }
}

.ze-location-bar,
.ze-fulfillment-bar {
    display: flex;
    align-items: stretch;
    gap: 0;
    padding: 0;
    font-size: 0.8125rem;
    color: var(--lig-text-muted);
    cursor: default;
    min-height: 3rem;
    background: var(--lig-surface);
    border: none;
    font-family: inherit;
    transition: background 0.15s ease, color 0.15s ease;
}

.ze-fulfillment-bar__main {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.65rem 0.5rem 0.65rem 1rem;
    border: none;
    background: transparent;
    font-family: inherit;
    color: inherit;
    cursor: pointer;
    text-align: left;
    transition: background 0.15s ease;
}

.ze-fulfillment-bar__menu-wrap {
    position: relative;
    flex-shrink: 0;
    display: flex;
    align-items: stretch;
    overflow: visible;
    z-index: 90;
}

.ze-fulfillment-bar__menu-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.75rem;
    padding: 0 0.875rem 0 0.5rem;
    border: none;
    border-left: 1px solid var(--lig-border);
    background: transparent;
    color: var(--lig-text-subtle);
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.ze-location-dropdown {
    position: absolute;
    top: calc(100% + 0.35rem);
    right: 0;
    left: auto;
    z-index: 120;
    width: min(20rem, calc(100vw - 1.5rem));
    min-width: min(16rem, calc(100vw - 1.5rem));
    max-width: calc(100vw - 1.5rem);
    max-height: min(calc(100dvh - 5.5rem), 26rem);
    padding: 0.35rem;
    border-radius: 0.875rem;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.ze-location-dropdown__item {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    width: 100%;
    padding: 0.75rem 0.875rem;
    border: none;
    border-radius: 0.625rem;
    background: transparent;
    color: var(--lig-text);
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    transition: background 0.15s ease;
}

.ze-location-dropdown__item:hover,
.ze-location-dropdown__item:focus-visible {
    background: var(--lig-surface-alt);
    outline: none;
}

.ze-location-dropdown__item--active {
    background: var(--lig-yellow-light);
}

.ze-location-dropdown__icon {
    font-size: 1.25rem;
    color: var(--lig-yellow-text);
    flex-shrink: 0;
    margin-top: 0.05rem;
}

.ze-location-dropdown__copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.ze-location-dropdown__title {
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.25;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ze-location-dropdown__meta {
    font-size: 0.75rem;
    color: var(--lig-text-muted);
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ze-location-dropdown__saved {
    display: grid;
    gap: 0.15rem;
    flex: 1 1 auto;
    min-height: 0;
    max-height: min(calc(100dvh - 12rem), 16rem);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable;
}

.ze-location-dropdown__item--add,
.ze-location-dropdown__divider,
.ze-location-dropdown__item[data-fulfillment] {
    flex-shrink: 0;
}

.ze-location-dropdown__saved[hidden] {
    display: none !important;
}

.ze-location-dropdown__section {
    position: sticky;
    top: 0;
    z-index: 1;
    margin: 0.35rem 0.875rem 0.15rem;
    padding-bottom: 0.2rem;
    background: var(--lig-surface);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--lig-text-subtle);
}

.ze-location-dropdown__divider {
    height: 1px;
    margin: 0.35rem 0.5rem;
    background: var(--lig-border);
}

.ze-location-dropdown__item--add .ze-location-dropdown__icon {
    color: var(--lig-yellow-text);
}

.ze-fulfillment-bar__icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 9999px;
    background: var(--lig-surface-alt);
    flex-shrink: 0;
}

.ze-fulfillment-bar__icon {
    font-size: 1.25rem;
    line-height: 1;
    color: var(--lig-yellow-text);
}

.ze-fulfillment-bar__copy {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.15rem;
    text-align: left;
    overflow: hidden;
}

.ze-fulfillment-bar__label {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--lig-text-subtle);
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ze-fulfillment-bar__meta {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--lig-text);
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ze-fulfillment-bar__chev {
    font-size: 1.25rem;
    color: var(--lig-text-subtle);
    flex-shrink: 0;
    transition: transform 0.15s ease;
}

.ze-fulfillment-bar__menu-btn:hover .ze-fulfillment-bar__chev,
.ze-fulfillment-bar__menu-btn:focus-visible .ze-fulfillment-bar__chev,
.ze-fulfillment-bar__menu-btn--open .ze-fulfillment-bar__chev {
    color: var(--lig-text);
}

.ze-fulfillment-bar__menu-btn--open .ze-fulfillment-bar__chev,
.ze-fulfillment-bar__menu-btn[aria-expanded="true"] .ze-fulfillment-bar__chev {
    transform: rotate(180deg);
}

.ze-fulfillment-bar__main:hover,
.ze-fulfillment-bar__main:focus-visible,
.ze-fulfillment-bar__menu-btn:hover,
.ze-fulfillment-bar__menu-btn:focus-visible {
    outline: none;
}

.ze-fulfillment-bar__main:focus-visible,
.ze-fulfillment-bar__menu-btn:focus-visible {
    box-shadow: inset 0 0 0 2px rgba(247, 213, 60, 0.45);
}

.ze-location-bar:hover,
.ze-fulfillment-bar:hover {
    color: var(--lig-text);
}

.ze-fulfillment-bar__main:hover .ze-fulfillment-bar__meta {
    color: var(--lig-text);
}

.ze-app-chrome {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    box-sizing: border-box;
    width: 100%;
    max-width: var(--lig-container-max);
    margin: 0 auto;
    padding: 0.55rem var(--lig-gutter-x) 0.65rem;
    overflow: visible;
    position: relative;
    z-index: 1;
}

.ze-app-chrome .ze-fulfillment-bar,
.ze-app-chrome .ze-location-bar {
    width: 100%;
    min-height: 3rem;
    border-radius: 0.75rem;
    border: 1px solid var(--lig-border);
    overflow: visible;
}

.ze-app-chrome .ze-search-bar {
    width: 100%;
    margin: 0;
}

.ze-search-bar {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.375rem 0.625rem 0.375rem 0.5rem;
    background: var(--lig-surface-alt);
    border: 1px solid var(--lig-border);
    border-radius: 0.75rem;
    color: var(--lig-text-subtle);
    font-size: 0.8125rem;
    min-height: 2.375rem;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}

.ze-search-bar__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    font-size: 1.125rem;
    line-height: 1;
    flex-shrink: 0;
    color: var(--lig-text-subtle);
    cursor: pointer;
}

.ze-search-bar:focus-within {
    border-color: var(--lig-yellow);
    background: var(--lig-surface);
    box-shadow: 0 0 0 2px var(--lig-yellow-light);
}

.ze-search-bar input {
    flex: 1;
    min-width: 0;
    background: transparent;
    border: none;
    outline: none;
    color: var(--lig-text);
    font-size: 0.8125rem;
    line-height: 1.25;
}

.ze-search-bar input::placeholder {
    color: var(--lig-text-subtle);
}

@media (max-width: 767px) {
    .ze-fulfillment-bar__menu-wrap {
        position: relative;
    }

    .ze-location-bar,
    .ze-fulfillment-bar {
        position: relative;
        overflow: visible;
    }

    .ze-location-dropdown {
        left: auto;
        right: 0;
        width: min(20rem, calc(100vw - 1.5rem));
        min-width: min(16rem, calc(100vw - 1.5rem));
        max-width: calc(100vw - 1.5rem);
    }
}

@media (min-width: 768px) {
    .ze-app-chrome {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end;
        gap: 0.5rem 1rem;
        padding: 0 var(--lig-gutter-x-md) 0.625rem;
    }

    .ze-app-chrome .ze-fulfillment-bar,
    .ze-app-chrome .ze-location-bar {
        flex: 1 1 14rem;
        min-width: 0;
        max-width: 26rem;
        margin-right: auto;
    }

    .ze-app-chrome .ze-search-bar {
        flex: 1 1 20rem;
        width: min(22rem, 100%);
        max-width: min(24rem, 100%);
        min-width: 0;
    }
}

/* ?? Promo banner ?? */
.ze-promo {
    margin: 0.75rem 1rem 1rem;
    border-radius: 0.75rem;
    overflow: hidden;
    background: var(--lig-promo-bg);
    border: 1px solid var(--lig-promo-border);
    padding: 1rem 1.125rem;
    display: flex;
    align-items: center;
    gap: 0.875rem;
    min-height: 5rem;
    box-shadow: var(--lig-shadow-sm);
}

.ze-promo__icon {
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background: var(--lig-yellow-light);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ze-promo__title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--lig-text);
    line-height: 1.25;
}

.ze-promo__sub {
    font-size: 0.75rem;
    color: var(--lig-text-muted);
    margin-top: 0.125rem;
}

/* ?? Category tiles ?? */
.ze-cat-scroll {
    display: flex;
    gap: 0.875rem;
    overflow-x: auto;
    padding: 0.25rem 1rem 0.5rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.ze-cat-scroll::-webkit-scrollbar {
    display: none;
}

.ze-cat-tile {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.375rem;
    width: 4.5rem;
    text-decoration: none;
    color: inherit;
}

.ze-cat-tile__circle {
    width: 4rem;
    height: 4rem;
    border-radius: 1rem;
    background: #ffffff;
    border: 1px solid var(--lig-border);
    box-shadow: var(--lig-shadow-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
    padding: 0;
}

[data-theme="dark"] .ze-cat-tile__circle,
[data-theme="light"] .ze-cat-tile__circle {
    background: #ffffff;
}

@media (prefers-color-scheme: dark) {
    [data-theme="auto"] .ze-cat-tile__circle {
        background: #ffffff;
    }
}

[data-theme="dark"] .ze-cat-tile__circle {
    border-color: rgba(0, 0, 0, 0.08);
}

@media (prefers-color-scheme: dark) {
    [data-theme="auto"] .ze-cat-tile__circle {
        border-color: rgba(0, 0, 0, 0.08);
    }
}

.ze-cat-tile:hover .ze-cat-tile__circle,
.ze-cat-tile:focus-visible .ze-cat-tile__circle {
    border-color: var(--lig-yellow);
    transform: scale(1.04);
    box-shadow: 0 2px 12px rgba(247, 213, 60, 0.15);
}

.ze-cat-tile__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transform: scale(1.08);
}

.ze-cat-tile__icon {
    font-size: 1.75rem;
    color: var(--lig-yellow-text);
}

.ze-cat-tile__label {
    font-size: 0.6875rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.2;
    color: var(--lig-text);
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/* ?? Section rows ?? */
.ze-section {
    margin-bottom: 1.25rem;
}

.ze-section__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1rem 0.625rem;
}

.ze-section__title {
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--lig-text);
}

.ze-section__link {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--lig-yellow-text);
    text-decoration: none;
}

.ze-product-scroll {
    display: flex;
    gap: 0.625rem;
    overflow-x: auto;
    padding: 0 1rem 0.25rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    align-items: stretch;
}

.ze-product-scroll::-webkit-scrollbar {
    display: none;
}

.ze-product-h {
    flex-shrink: 0;
    width: 8.75rem;
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    border-radius: 0.75rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: var(--lig-shadow-sm);
}

.ze-product-h__media {
    height: 5.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    background: var(--lig-media-bg);
    overflow: hidden;
    flex-shrink: 0;
}

.ze-product-h__img {
    display: block;
    max-height: 100%;
    max-width: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    margin: 0 auto;
}

.ze-product-h__body {
    padding: 0.5rem 0.625rem 0.625rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    flex: 1;
    min-height: 0;
}

.ze-product-h__pricing {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 0.25rem;
    flex: 1 1 auto;
    min-height: 4rem;
}

.ze-product-h__actions {
    flex-shrink: 0;
    padding-top: 0.25rem;
    margin-top: auto;
}

.ze-product-h__name {
    font-size: 0.6875rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--lig-text);
    min-height: 2.125rem;
    max-height: 2.125rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}

.ze-product-h__price {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--lig-yellow-text);
}

/* ?? Product grid ?? */
.ze-product-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.625rem;
    align-items: stretch;
}

@media (min-width: 640px) {
    .ze-product-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 0.875rem;
    }
}

@media (min-width: 1280px) {
    .ze-product-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.ze-product-card {
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    border-radius: 0.875rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: var(--lig-shadow-sm);
    min-height: 15.5rem;
}

.ze-product-card__media {
    position: relative;
    height: 6.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 0.625rem;
    background: var(--lig-media-bg);
    overflow: hidden;
    flex-shrink: 0;
    isolation: isolate;
}

.ze-product-card__img {
    display: block;
    max-height: 100%;
    max-width: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    margin: 0 auto;
}

.ze-product-card__img--caixa,
.ze-product-card__img--pallet,
.ze-product-h__img.ze-product-card__img--caixa,
.ze-product-h__img.ze-product-card__img--pallet {
    max-height: 100%;
    max-width: 92%;
    object-fit: contain;
}

.ze-product-card__img--pallet,
.ze-product-h__img.ze-product-card__img--pallet {
    max-width: 100%;
    transform: scale(1.02);
}

.ze-product-card__placeholder {
    font-size: 2.5rem;
    color: var(--lig-text-subtle);
}

/* Aviso legal +18 — único componente para Totem e Parceiros (não é por produto). */
.lig-aviso-18 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    margin: 0;
    padding: 0.55rem 0.8rem;
    border-radius: 0.75rem;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface-alt);
    color: var(--lig-text-muted);
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.35;
    text-align: left;
}

.lig-aviso-18__selo {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    border: 2px solid var(--lig-danger, #c62828);
    color: var(--lig-danger, #c62828);
    background: var(--lig-surface);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.lig-aviso-18--compact {
    gap: 0.45rem;
    padding: 0.4rem 0.65rem;
    font-size: 0.75rem;
}

.lig-aviso-18--compact .lig-aviso-18__selo {
    width: 1.4rem;
    height: 1.4rem;
    font-size: 0.625rem;
}

.lig-aviso-18--footer {
    justify-content: flex-start;
    margin-top: 0.5rem;
    padding: 0;
    border: 0;
    background: transparent;
}

.lig-aviso-18--totem-catalog {
    flex-shrink: 0;
    margin: 0 0.15rem 0.6rem;
}

.lig-aviso-18--totem-pay {
    margin-top: 1rem;
}

.ze-product-card__body {
    padding: 0.5rem 0.625rem 0.625rem;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 0.25rem;
    min-height: 0;
}

.ze-product-card__head {
    flex-shrink: 0;
}

.ze-product-card__pricing {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    flex: 1 1 auto;
    min-height: 4.5rem;
    justify-content: flex-end;
}

.ze-product-card__name {
    font-size: 0.6875rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--lig-text);
    min-height: 2.125rem;
    max-height: 2.125rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
    letter-spacing: 0.01em;
}

.ze-product-card__cat {
    font-size: 0.5625rem;
    font-weight: 500;
    color: var(--lig-text-subtle);
    min-height: 0.875rem;
    line-height: 1.2;
    margin: 0;
}

.ze-product-card__footer {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    padding-top: 0.375rem;
    margin-top: auto;
    min-height: 2.25rem;
}

.ze-product-card__price {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--lig-yellow-text);
}

.ze-price-tiers {
    display: flex;
    align-items: center;
    gap: 0.15rem;
    width: 100%;
    height: 1.85rem;
    padding: 0.15rem;
    box-sizing: border-box;
    border-radius: 9999px;
    background: var(--lig-tier-track-bg, #ececec);
    border: 1px solid var(--lig-tier-track-border, rgba(26, 26, 26, 0.06));
}

.ze-price-tiers-slot {
    height: 1.85rem;
    min-height: 1.85rem;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.ze-price-tiers-slot--empty {
    visibility: hidden;
    pointer-events: none;
}

.ze-price-tier {
    box-sizing: border-box;
    flex: 1;
    min-width: 0;
    height: 100%;
    min-height: 0;
    max-height: none;
    padding: 0 0.35rem;
    border-radius: 9999px;
    border: 1.5px solid transparent;
    background: transparent;
    color: var(--lig-tier-idle-fg, #6b6b6b);
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    -webkit-tap-highlight-color: transparent;
    transition:
        border-color 0.15s ease,
        background 0.15s ease,
        color 0.15s ease,
        box-shadow 0.15s ease;
}

.ze-price-tier:hover {
    color: var(--lig-text);
}

.ze-price-tier--active {
    border-color: var(--lig-tier-active-border, #ffffff);
    background: var(--lig-tier-active-bg);
    color: var(--lig-tier-active-fg, #1a1a1a);
    box-shadow: var(--lig-tier-active-shadow);
}

.ze-price-tier--solo {
    cursor: default;
    pointer-events: none;
}

[data-theme='dark'] .ze-price-tiers {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.08);
}

[data-theme='dark'] .ze-price-tier--active {
    border-color: var(--lig-tier-active-border, #ffffff);
    background: var(--lig-tier-active-bg);
    color: var(--lig-tier-active-fg, #1a1a1a);
    box-shadow: var(--lig-tier-active-shadow);
}

@media (prefers-color-scheme: dark) {
    [data-theme='auto'] .ze-price-tiers {
        background: rgba(255, 255, 255, 0.1);
        border-color: rgba(255, 255, 255, 0.08);
    }

    [data-theme='auto'] .ze-price-tier--active {
        border-color: var(--lig-tier-active-border, #ffffff);
        background: var(--lig-tier-active-bg);
        color: var(--lig-tier-active-fg, #1a1a1a);
        box-shadow: var(--lig-tier-active-shadow);
    }
}

html.dark .ze-price-tiers {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.08);
}

html.dark .ze-price-tier {
    color: rgba(255, 255, 255, 0.55);
    border-color: transparent;
    background: transparent;
}

html.dark .ze-price-tier:hover {
    color: var(--lig-text);
}

html.dark .ze-price-tier--active {
    border-color: var(--lig-tier-active-border, #ffffff);
    background: var(--lig-tier-active-bg);
    color: var(--lig-tier-active-fg, #1a1a1a);
    box-shadow: var(--lig-tier-active-shadow);
}

.ze-price-block {
    display: flex;
    flex-direction: column;
    gap: 0.0625rem;
    min-width: 0;
}

.ze-price-block__unit {
    font-size: 0.5625rem;
    font-weight: 500;
    color: var(--lig-text-subtle);
    line-height: 1.25;
}

.ze-product-h .ze-price-tiers {
    margin: 0;
    height: 1.7rem;
    min-height: 1.7rem;
    padding: 0.12rem;
}

.ze-product-h .ze-price-tier {
    font-size: 0.5625rem;
    height: auto;
    min-height: 0;
    max-height: none;
    padding: 0 0.3rem;
}

/* ?? Qty stepper ?? */
.ze-add-btn {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    width: 100%;
    height: 2rem;
    min-height: 2rem;
    max-height: 2rem;
    padding: 0 0.5rem;
    border-radius: 9999px;
    background: var(--lig-yellow);
    color: var(--lig-on-yellow);
    font-size: 0.6875rem;
    font-weight: 700;
    border: none;
    cursor: pointer;
    transition: background 0.15s, transform 0.1s;
}

.ze-add-btn:hover {
    background: var(--lig-yellow-hover);
}

.ze-add-btn:active {
    transform: scale(0.97);
}

.ze-qty-stepper {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 2rem;
    min-height: 2rem;
    max-height: 2rem;
    border-radius: 9999px;
    background: var(--lig-yellow-light);
    border: 1px solid rgba(247, 213, 60, 0.25);
    overflow: hidden;
}

.ze-qty-btn {
    box-sizing: border-box;
    width: 2rem;
    height: 2rem;
    min-width: 2rem;
    min-height: 2rem;
    max-width: 2rem;
    max-height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--lig-yellow);
    color: var(--lig-on-yellow);
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1;
    border: none;
    border-radius: 0;
    cursor: pointer;
    flex-shrink: 0;
    padding: 0;
}

@media (max-width: 767px) {
    .ze-qty-stepper {
        height: 2.75rem;
        min-height: 2.75rem;
        max-height: 2.75rem;
    }

    .ze-qty-btn {
        width: 2.75rem;
        height: 2.75rem;
        min-width: 44px;
        min-height: 44px;
        max-width: 2.75rem;
        max-height: 2.75rem;
    }

    .ze-qty-value {
        height: 2.75rem;
        min-width: 2rem;
    }

    .home-suggested-scroll:has(.totem-product) .totem-qty-btn,
    .parceiros-product-scroll .totem-qty-btn {
        min-width: 44px;
        min-height: 44px;
    }

    .ze-filter-pills,
    .home-quick-chips {
        overscroll-behavior-x: contain;
    }

    /* svh estável + sem pull-to-refresh roubando o gesto no topo. */
    html.lig-app-mode,
    html.lig-app-mode body {
        overscroll-behavior-y: none;
    }

    /*
     * App shell mobile: header + main (rola) + bottom nav (fixo no layout).
     * O menu inferior NÃO usa position:fixed — não salta com a barra do browser.
     */
    html.lig-app-mode,
    html.lig-app-mode body {
        height: 100%;
        height: 100svh;
        max-height: 100svh;
        overflow: hidden;
    }

    html.lig-app-mode {
        --lig-tab-bar-h: 3.5rem;
    }

    html.lig-app-mode body {
        display: flex;
        flex-direction: column;
        min-height: 0;
        padding-bottom: 0 !important;
    }

    html.lig-app-mode .lig-header-stack {
        flex-shrink: 0;
        position: relative;
        top: auto;
    }

    html.lig-app-mode #lig-page-main {
        flex: 1 1 auto;
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior-y: contain;
        -webkit-overflow-scrolling: touch;
        touch-action: manipulation;
        overflow-anchor: none;
    }

    html.lig-app-mode #app-bottom-nav {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        flex-shrink: 0;
        width: 100%;
        z-index: 60;
        transform: none !important;
        transition: none !important;
        padding-bottom: constant(safe-area-inset-bottom);
        padding-bottom: env(safe-area-inset-bottom, 0px);
        background: var(--lig-surface);
        /* Preenche a home indicator / gesture bar sem “recolher” */
        box-shadow: 0 0 0 max(env(safe-area-inset-bottom, 0px), 1px) var(--lig-surface);
    }

    html.lig-app-mode #app-bottom-nav a,
    html.lig-app-mode #app-bottom-nav a .material-symbols-outlined {
        transform: none !important;
        transition: color 0.15s ease, background 0.15s ease !important;
    }

    /* Sticky interno cola no topo do main (header já está fora do scroll) */
    html.lig-app-mode .ze-catalog-sticky {
        top: 0;
    }

    html.lig-app-mode .meus-pedidos-filters {
        top: 0;
    }

    html.lig-app-mode.lig-has-float-cart #lig-page-main {
        padding-bottom: 4.25rem;
    }

    /* Float cart: nav está no fluxo (não fixed) — cola logo acima da tab bar. */
    html.lig-app-mode #ze-float-cart {
        bottom: calc(var(--lig-tab-bar-h) + env(safe-area-inset-bottom, 0px));
        left: 0.65rem;
        right: 0.65rem;
    }

    html.lig-app-mode .ze-float-cart__btn {
        min-height: 3.125rem;
        padding: 0.45rem 0.5rem 0.45rem 0.45rem;
        overflow: visible;
    }

    html.lig-app-mode .ze-float-cart__total {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        line-height: 1.2;
        min-height: 2rem;
        padding: 0.3125rem 0.75rem;
        font-size: 0.875rem;
        font-variant-numeric: tabular-nums;
    }

    html.lig-app-mode .ze-float-cart__icon {
        width: 2.15rem;
        height: 2.15rem;
    }

    /* Resumo / pickers: preenche o main sem 100dvh (evita botão atrás da tab bar). */
    html.lig-app-mode body[data-page='resumo-pedido'] #lig-page-main,
    html.lig-app-mode body[data-page='resumo-pedido'] .resumo-page,
    html.lig-app-mode body[data-page='resumo-pedido'] #resumo-app {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
        height: 100%;
        overflow: hidden;
    }

    html.lig-app-mode body[data-page='resumo-pedido'] .resumo-shell,
    html.lig-app-mode body[data-page='resumo-pedido'] .resumo-shell--picker {
        flex: 1 1 auto;
        min-height: 0;
        height: 100%;
        max-height: none;
    }

    html.lig-app-mode body[data-page='resumo-pedido'] .resumo-shell:not(.resumo-shell--picker) {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: calc(5.25rem + env(safe-area-inset-bottom, 0px));
    }

    html.lig-app-mode body[data-page='resumo-pedido'] .resumo-footer {
        position: fixed;
        left: 0;
        right: 0;
        bottom: calc(var(--lig-tab-bar-h) + env(safe-area-inset-bottom, 0px));
        z-index: 55;
        padding: 0.85rem 1rem;
    }

    html.lig-app-mode body[data-page='resumo-pedido'] .resumo-picker-stack__footer {
        bottom: calc(var(--lig-tab-bar-h) + env(safe-area-inset-bottom, 0px));
        z-index: 55;
    }

    html.lig-app-mode body[data-page='pedido'] #lig-page-main {
        padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px)) !important;
    }

    /*
     * Carrosséis: pan-x + pan-y → iOS/Android rolam horizontalmente com inércia nativa;
     * gesto vertical continua subindo/descendo o #lig-page-main (scroll aninhado).
     */
    .lig-hscroll,
    .parceiros-product-scroll,
    .home-suggested-scroll,
    .ze-product-scroll,
    .home-quick-chips,
    .home-stories-scroll,
    .home-promo-stories,
    .ze-filter-pills {
        touch-action: pan-x pan-y;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-x: contain;
        overscroll-behavior-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .conta-btn,
    .meus-pedidos-filters__clear,
    .home-quick-chip {
        min-height: 44px;
        touch-action: manipulation;
    }

    .totem-product .ze-price-tier,
    .totem-product .totem-qty-btn,
    .totem-product .totem-qty-value {
        touch-action: manipulation;
    }

    /* Conta: o scroll fica no .conta-page, não no main */
    body[data-page='conta'] #lig-page-main {
        overflow: hidden;
    }
}

.ze-qty-value {
    box-sizing: border-box;
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1;
    color: var(--lig-yellow-text);
    min-width: 1.5rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* ?? Filter pills ?? */
.ze-filter-pills {
    display: flex;
    gap: 0.5rem;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 1rem 0.5rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
    background: var(--lig-surface);
}

.ze-filter-pills::-webkit-scrollbar {
    display: none;
}

.ze-filter-pill {
    flex-shrink: 0;
    padding: 0.5rem 0.875rem;
    border-radius: 9999px;
    font-size: 0.8125rem;
    font-weight: 600;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface);
    color: var(--lig-text-muted);
    cursor: pointer;
    min-height: 2.25rem;
    transition: all 0.15s;
    white-space: nowrap;
}

.ze-filter-pill[aria-pressed='true'] {
    background: var(--lig-yellow);
    border-color: var(--lig-yellow);
    color: #1a1a1a;
}

.ze-catalog-sticky {
    position: sticky;
    top: var(--ze-header-offset, 10.5rem);
    z-index: 20;
    background: var(--lig-bg);
    border-bottom: 1px solid var(--lig-border);
    padding-bottom: 0.65rem;
}

.ze-catalog-sticky__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 1rem 0.35rem;
}

.ze-catalog-sticky__eyebrow {
    margin: 0 0 0.15rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--lig-text-subtle);
}

.ze-catalog-sticky__title {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 800;
    line-height: 1.2;
    color: var(--lig-text);
}

.ze-catalog-sticky__stats {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--lig-text-subtle);
    text-align: right;
    flex-shrink: 0;
}

.ze-catalog-toolbar {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0 1rem;
}

.ze-catalog-toolbar__sort {
    margin-left: auto;
    flex-shrink: 0;
}

.ze-catalog-sort {
    min-height: 2.75rem;
    padding: 0.45rem 0.75rem;
    border-radius: 999px;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface);
    color: var(--lig-text);
    font-size: 0.8125rem;
    font-weight: 600;
}

.ze-catalog-refresh-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 2.75rem;
    padding: 0 0.75rem;
    border: 1px solid var(--lig-border);
    border-radius: 999px;
    background: var(--lig-surface);
    box-shadow: var(--lig-shadow-sm);
    color: var(--lig-text);
    font-size: 0.8125rem;
    font-weight: 700;
    cursor: pointer;
    flex-shrink: 0;
}

.ze-catalog-refresh-btn .material-symbols-outlined {
    font-size: 1.125rem;
    color: var(--lig-yellow-text);
}

.ze-catalog-refresh-btn:active {
    transform: scale(0.98);
}

@media (max-width: 767px) {
    .ze-catalog-refresh-btn__label {
        display: none;
    }

    .ze-catalog-refresh-btn {
        width: 2.75rem;
        padding: 0;
    }
}

.ze-catalog-categories-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
    min-height: 2.75rem;
    padding: 0.45rem 0.75rem;
    border: 1px solid var(--lig-border);
    border-radius: 999px;
    background: var(--lig-surface);
    box-shadow: var(--lig-shadow-sm);
    color: var(--lig-text);
    font-size: 0.8125rem;
    font-weight: 700;
    cursor: pointer;
    touch-action: manipulation;
}

.ze-catalog-categories-btn__icon {
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 0.55rem;
    background: var(--lig-yellow-light);
    color: var(--lig-yellow-text);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ze-catalog-categories-btn__icon .material-symbols-outlined {
    font-size: 1.1rem;
    font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24;
}

.ze-catalog-categories-btn__label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ze-catalog-categories-btn__chevron {
    font-size: 1.1rem;
    color: var(--lig-text-subtle);
    flex-shrink: 0;
}

.ze-catalog-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    padding-top: 0.85rem;
}

@media (min-width: 1024px) {
    .ze-catalog-layout {
        grid-template-columns: minmax(11.5rem, 15rem) minmax(0, 1fr);
        gap: 1.25rem;
        align-items: start;
    }

    .ze-catalog-toolbar__sort {
        margin-left: 0;
    }

    .ze-catalog-toolbar {
        justify-content: flex-end;
        padding-top: 0.15rem;
    }
}

.ze-catalog-sidebar {
    position: sticky;
    top: calc(var(--ze-header-offset, 10.5rem) + 5.5rem);
    align-self: start;
    max-height: calc(100dvh - var(--ze-header-offset, 10.5rem) - 6rem);
    overflow: hidden;
}

.ze-catalog-sidebar__label {
    margin: 0 0 0.5rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--lig-text-subtle);
}

.ze-catalog-sidebar__nav {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 0.35rem;
    max-height: calc(100dvh - var(--ze-header-offset, 10.5rem) - 7.5rem);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 0.25rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: var(--lig-scrollbar-thumb) transparent;
}

.ze-catalog-sidebar__nav::-webkit-scrollbar {
    width: 8px;
}

.ze-catalog-sidebar__nav::-webkit-scrollbar-track {
    background: transparent;
}

.ze-catalog-sidebar__nav::-webkit-scrollbar-thumb {
    background: var(--lig-scrollbar-thumb);
    border-radius: 999px;
}

.ze-catalog-sidebar__nav::-webkit-scrollbar-thumb:hover {
    background: var(--lig-yellow);
}

.ze-catalog-sidebar__nav .ze-cat-pill {
    width: 100%;
    justify-content: flex-start;
    text-align: left;
    white-space: normal;
}

.ze-catalog-main {
    min-width: 0;
}

.ze-cat-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    text-align: left;
}

.ze-cat-pill__icon {
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 0.7rem;
    background: var(--ze-cat-icon-bg, var(--totem-cat-icon-bg, var(--lig-surface-alt)));
    color: var(--ze-cat-icon-fg, var(--totem-cat-icon-fg, var(--lig-yellow-text)));
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ze-cat-pill__icon--all {
    background: var(--lig-yellow-light);
    color: var(--lig-yellow-text);
}

.ze-cat-pill__icon .material-symbols-outlined {
    font-size: 1.2rem;
    font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24;
}

.ze-cat-pill__text {
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    min-width: 0;
}

.ze-cat-pill__label {
    font-weight: 700;
}

.ze-cat-pill__count {
    opacity: 0.65;
    font-weight: 700;
}

.ze-filter-pill.ze-cat-pill[aria-pressed='true'] .ze-cat-pill__icon {
    background: rgba(20, 18, 15, 0.08);
    color: #14120f;
}

.ze-catalog-categories-modal {
    position: fixed;
    inset: 0;
    z-index: 80;
    display: none;
    align-items: flex-end;
    justify-content: center;
    padding: 0;
}

.ze-catalog-categories-modal--open {
    display: flex;
}

.ze-catalog-categories-modal__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: var(--lig-overlay);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    cursor: pointer;
}

.ze-catalog-categories-modal__sheet {
    position: relative;
    z-index: 1;
    width: min(100%, 40rem);
    max-height: min(78dvh, 34rem);
    display: flex;
    flex-direction: column;
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    border-radius: 1.35rem 1.35rem 0 0;
    box-shadow: var(--lig-shadow);
    animation: ze-catalog-sheet-up 0.32s cubic-bezier(0.34, 1.28, 0.64, 1) both;
}

@keyframes ze-catalog-sheet-up {
    from {
        opacity: 0;
        transform: translateY(100%);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.ze-catalog-categories-modal__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 1rem 0.65rem;
    border-bottom: 1px solid var(--lig-border);
}

.ze-catalog-categories-modal__title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--lig-text);
}

.ze-catalog-categories-modal__stats {
    margin: 0.2rem 0 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--lig-text-subtle);
}

.ze-catalog-categories-modal__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border: 0;
    border-radius: 999px;
    background: rgba(20, 18, 15, 0.06);
    color: var(--lig-text-muted);
    cursor: pointer;
}

.ze-catalog-categories-modal__pills {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: 0.5rem;
    overflow-y: auto;
    padding: 1rem 1rem calc(1.15rem + env(safe-area-inset-bottom, 0px));
    -webkit-overflow-scrolling: touch;
}

.ze-catalog-categories-modal__pills .ze-cat-pill {
    min-height: 2.75rem;
}

html.lig-catalog-modal-open body {
    overflow: hidden;
}

body[data-page='pedidos'] .ze-product-card__media {
    height: 7.5rem;
    background: var(--lig-media-bg);
}

body[data-page='pedidos'] .ze-product-card {
    border-radius: 1rem;
    min-height: 16.5rem;
}

body[data-page='pedidos'] .ze-product-card__name {
    font-size: 0.75rem;
    min-height: 2.25rem;
    max-height: 2.25rem;
}

body[data-page='pedidos'] .ze-product-card__price {
    font-size: 1rem;
}

/* ?? Parceiros: laterais e overlays clic?veis ?? */
#nav-mobile-menu[aria-hidden='true'],
#nav-mobile-menu.hidden {
    display: none !important;
    pointer-events: none !important;
    visibility: hidden !important;
}

#cart-mobile-sheet[aria-hidden='true'],
#cart-mobile-sheet.hidden,
#cart-panel.hidden {
    display: none !important;
    pointer-events: none !important;
}

.ze-location-dropdown.hidden {
    display: none !important;
    pointer-events: none !important;
}

.lig-header-actions a,
.lig-header-actions button,
.lig-header-cart,
.lig-install-nav-btn,
.lig-theme-toggle-mount--header .lig-theme-toggle {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

.ze-fulfillment-bar__main,
.ze-fulfillment-bar__menu-btn {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

.ze-fulfillment-bar__menu-btn {
    min-width: 3rem;
}

#app-bottom-nav {
    z-index: 60;
    pointer-events: auto;
}

.conta-desktop-aside {
    z-index: 1;
    pointer-events: auto;
}

.conta-aside-link {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

.conta-aside-link.lig-motion-item {
    opacity: 1;
    transform: none;
}

.ze-filter-pill {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

/* ?? Floating cart bar (estilo sacola) ?? */
#ze-float-cart {
    position: fixed;
    left: 0.75rem;
    right: 0.75rem;
    bottom: calc(4rem + env(safe-area-inset-bottom, 0px));
    z-index: 55;
    max-width: 28rem;
    margin: 0 auto;
    overflow: visible;
    transform: translateY(calc(100% + 5rem));
    opacity: 0;
    transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.22s ease;
    pointer-events: none;
}

#ze-float-cart.ze-float-cart--visible {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}

.ze-float-cart__btn {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    min-height: 3.25rem;
    padding: 0.5rem 0.625rem 0.5rem 0.5rem;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    border-radius: 9999px;
    border: 1px solid rgba(26, 26, 26, 0.08);
    background: linear-gradient(180deg, #ffe566 0%, var(--lig-yellow) 48%, #f0c830 100%);
    color: var(--lig-on-yellow);
    font-family: inherit;
    cursor: pointer;
    box-shadow:
        0 10px 28px rgba(26, 26, 26, 0.18),
        0 2px 0 rgba(255, 255, 255, 0.35) inset;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.ze-float-cart__btn:active {
    transform: scale(0.985);
    box-shadow: 0 6px 18px rgba(26, 26, 26, 0.16);
}

.ze-float-cart__action {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    min-width: 0;
}

.ze-float-cart__icon {
    position: relative;
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--lig-on-yellow);
    color: var(--lig-yellow);
    box-shadow: 0 2px 8px rgba(26, 26, 26, 0.2);
}

.ze-float-cart__icon .material-symbols-outlined {
    font-size: 1.25rem;
    font-variation-settings: 'FILL' 1;
}

.ze-float-cart__badge {
    position: absolute;
    top: -0.2rem;
    right: -0.2rem;
    min-width: 1.125rem;
    height: 1.125rem;
    padding: 0 0.25rem;
    border-radius: 9999px;
    background: #ffffff;
    color: var(--lig-on-yellow);
    font-size: 0.625rem;
    font-weight: 800;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--lig-yellow);
    box-shadow: 0 1px 4px rgba(26, 26, 26, 0.15);
}

.ze-float-cart__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.0625rem;
    min-width: 0;
}

.ze-float-cart__title {
    font-size: 0.9375rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.01em;
    white-space: nowrap;
}

.ze-float-cart__meta {
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.2;
    color: var(--lig-on-yellow-muted);
    white-space: nowrap;
}

.ze-float-cart__total {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.4375rem 0.875rem;
    border-radius: 9999px;
    background: var(--lig-on-yellow);
    color: #fff;
    font-size: 0.9375rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(26, 26, 26, 0.18);
}

/* ?? Cart sheet / panel ?? */
.lig-cart-panel {
    display: flex;
    flex-direction: column;
    gap: 0;
    overflow: hidden;
}

.lig-cart-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding-bottom: 0.75rem;
    margin-bottom: 0.25rem;
    border-bottom: 1px solid var(--lig-border);
    flex-shrink: 0;
}

.lig-cart-header--sheet {
    margin-bottom: 0.5rem;
}

.lig-cart-header__brand {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.lig-cart-header__icon {
    font-size: 1.375rem;
    color: var(--lig-yellow-text);
    flex-shrink: 0;
    line-height: 1;
}

.lig-cart-header__title {
    font-size: 1.0625rem;
    font-weight: 800;
    line-height: 1.2;
    color: var(--lig-text);
}

.lig-cart-header__count {
    flex-shrink: 0;
    padding: 0.3125rem 0.625rem;
    border-radius: 0.5rem;
    background: var(--lig-yellow);
    color: var(--lig-on-yellow);
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

.lig-cart-header__actions {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    flex-shrink: 0;
}

.lig-cart-header__clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    min-height: 2.25rem;
    padding: 0.25rem 0.625rem;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface);
    color: var(--lig-text-muted);
    border-radius: 9999px;
    cursor: pointer;
    flex-shrink: 0;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
    transition:
        color var(--lig-motion-duration-fast) ease,
        background var(--lig-motion-duration-fast) ease,
        border-color var(--lig-motion-duration-fast) ease;
}

.lig-cart-header__clear:hover {
    color: var(--lig-text);
    background: var(--lig-surface-alt);
    border-color: var(--lig-text-muted);
}

.lig-cart-header__clear .material-symbols-outlined {
    font-size: 1.125rem;
    line-height: 1;
}

.lig-cart-header__clear-label {
    white-space: nowrap;
}

.lig-cart-header__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border: none;
    background: transparent;
    color: var(--lig-text-muted);
    border-radius: 9999px;
    cursor: pointer;
    flex-shrink: 0;
}

.lig-cart-header__close:hover {
    color: var(--lig-text);
    background: var(--lig-surface-alt);
}

.lig-cart-header__close .material-symbols-outlined {
    font-size: 1.375rem;
    line-height: 1;
}

.lig-cart-scroll {
    flex: 1;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    margin: 0 -0.125rem;
    padding: 0 0.125rem;
}

.lig-cart-items {
    padding: 0.375rem 0 0.5rem;
    min-height: 4.5rem;
}

.lig-cart-line {
    display: grid;
    grid-template-columns: 3.25rem minmax(0, 1fr) auto;
    grid-template-areas:
        "thumb info remove"
        "thumb stepper stepper";
    align-items: start;
    gap: 0.5rem 0.625rem;
    padding: 0.875rem 0;
    border-bottom: 1px solid var(--lig-border);
    background: var(--lig-surface-alt);
    border-radius: 0.75rem;
    margin-bottom: 0.5rem;
    padding-left: 0.625rem;
    padding-right: 0.625rem;
}

.lig-cart-line__thumb-box {
    grid-area: thumb;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 0.5rem;
    overflow: hidden;
    background: var(--lig-media-bg);
    border: 1px solid var(--lig-border);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    align-self: start;
    box-sizing: border-box;
}

.lig-cart-line__thumb {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: contain;
    object-position: center;
    display: block;
    border-radius: 0;
    background: transparent;
}

.lig-cart-line__thumb--placeholder {
    color: var(--lig-text-subtle);
}

.lig-cart-line__thumb--placeholder .material-symbols-outlined {
    font-size: 1.375rem;
}

.lig-cart-line:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.lig-cart-line__info {
    grid-area: info;
    min-width: 0;
}

.lig-cart-line__name {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--lig-text);
    word-break: break-word;
}

.lig-cart-line__meta {
    margin: 0.25rem 0 0;
    font-size: 0.75rem;
    line-height: 1.3;
    color: var(--lig-text-muted);
}

.lig-cart-line__stepper {
    grid-area: stepper;
    display: flex;
    align-items: center;
    gap: 0.375rem;
    flex-shrink: 0;
    justify-self: start;
}

.lig-cart-line__qty {
    min-width: 1.125rem;
    text-align: center;
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--lig-yellow-text);
}

.lig-cart-line__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 9999px;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface-alt);
    color: var(--lig-text);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    padding: 0;
}

.lig-cart-line__btn--plus {
    background: var(--lig-yellow);
    border-color: var(--lig-yellow);
    color: #1a1a1a;
}

.lig-cart-line__remove {
    grid-area: remove;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border: none;
    background: transparent;
    color: var(--lig-text-subtle);
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
}

.lig-cart-line__remove:hover {
    color: #e53935;
}

.lig-cart-line__remove .material-symbols-outlined {
    font-size: 1.125rem;
}

.lig-cart-continue {
    display: block;
    margin: 0 0 0.75rem;
    padding: 0.5rem 0;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--lig-yellow-text, #c9a800);
    text-align: center;
    text-decoration: none;
}

.lig-cart-continue:hover {
    text-decoration: underline;
}

.lig-cart-summary-wrap {
    padding-top: 0.25rem;
}

.lig-cart-summary {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    padding: 0.75rem 0 0.25rem;
    border-top: 1px solid var(--lig-border);
}

.lig-cart-summary__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.8125rem;
    color: var(--lig-text-muted);
}

.lig-cart-summary__row--total {
    font-size: 1rem;
    color: var(--lig-text);
}

.lig-cart-summary__row--total strong {
    font-size: 1.125rem;
    font-weight: 800;
    color: var(--lig-yellow-text, #c9a800);
}

.lig-cart-checkout__error,
.caminhao-checkout__error {
    margin: 0.375rem 0 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #d32f2f;
}

.lig-cart-input--error,
.caminhao-input--error {
    border-color: #d32f2f !important;
    box-shadow: 0 0 0 1px rgba(211, 47, 47, 0.2);
}

.lig-cart-empty {
    padding: 0.75rem 0.125rem 0.25rem;
}

.lig-cart-empty__text {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.45;
    color: var(--lig-text-muted);
}

.lig-cart-empty__text a,
.lig-cart-empty__link a {
    color: var(--lig-yellow-text);
    font-weight: 700;
    text-decoration: none;
}

.lig-cart-empty__btn {
    margin-top: 0.75rem;
    width: 100%;
    min-height: 2.75rem;
    border-radius: 9999px;
    border: 1px solid rgba(247, 213, 60, 0.45);
    background: var(--lig-yellow-light);
    color: var(--lig-yellow-text);
    font-size: 0.875rem;
    font-weight: 700;
    cursor: pointer;
}

.lig-cart-empty__link {
    margin: 0.75rem 0 0;
    font-size: 0.75rem;
    text-align: center;
}

.lig-cart-checkout {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--lig-border);
}

.lig-cart-checkout__label {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--lig-yellow-text);
}

.lig-cart-checkout__delivery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
}

.lig-cart-checkout__hint {
    margin: 0;
    font-size: 0.6875rem;
    line-height: 1.4;
    color: var(--lig-text-muted);
}

.lig-cart-footer {
    padding-top: 0.75rem;
    border-top: 1px solid var(--lig-border);
}

.lig-cart-footer__total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.875rem;
}

.lig-cart-footer__label {
    font-size: 1rem;
    font-weight: 700;
    color: var(--lig-text);
}

.lig-cart-footer__value {
    font-size: 1.125rem;
    font-weight: 800;
    color: var(--lig-yellow-text);
}

.lig-cart-overlay {
    background: var(--lig-overlay);
}

.lig-cart-sheet {
    background: var(--lig-surface);
    border-top: 1px solid var(--lig-border);
    box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.12);
}

.lig-cart-input {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 0.625rem 0.75rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.35;
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    color: var(--lig-text);
}

.lig-cart-input--area {
    resize: none;
    min-height: 4.25rem;
}

.lig-cart-input:focus {
    border-color: var(--lig-yellow);
    outline: none;
}

.lig-cart-input::placeholder {
    color: var(--lig-text-subtle);
}

.lig-cart-label {
    color: var(--lig-yellow-text);
}

.lig-cart-divider {
    border-color: var(--lig-border);
}

.lig-cart-text {
    color: var(--lig-text);
}

.lig-cart-text-muted {
    color: var(--lig-text-muted);
}

.lig-cart-checkout-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    min-height: 2.5rem;
    padding: 0.5rem 0.75rem;
    border-radius: 0.5rem;
    border: 1px solid var(--lig-border);
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
    color: var(--lig-text-muted);
}

.lig-cart-checkout-label:has(:checked) {
    border-color: var(--lig-yellow);
    background: var(--lig-yellow-light);
    color: var(--lig-yellow-text);
}

.lig-cart-continue-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 3rem;
    padding: 0.75rem 1rem;
    border: none;
    border-radius: 999px;
    background: var(--lig-cta-bg);
    color: var(--lig-cta-fg);
    font-size: 0.9375rem;
    font-weight: 700;
    box-shadow: var(--lig-shadow-sm);
    cursor: pointer;
}

.lig-cart-continue-btn__icon {
    font-size: 1.25rem;
}

.lig-cart-continue-btn--loading {
    font-size: 0.9375rem;
    font-weight: 700;
}

.lig-cart-continue-btn:not(:disabled):hover {
    filter: brightness(0.95);
}

.lig-cart-continue-btn:not(:disabled):active {
    filter: brightness(0.9);
}

#cart-add-toast .lig-toast-inner,
#cart-undo-toast .lig-toast-inner {
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    box-shadow: var(--lig-shadow);
    color: var(--lig-text);
}

/* Toast acima da bottom nav; com caminhão flutuante, sobe para não cobrir o botão amarelo */
.lig-cart-toast {
    bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px));
    transition: bottom 0.22s ease, opacity 0.22s ease, transform 0.22s ease;
}

html.lig-has-float-cart .lig-cart-toast {
    /* float: bottom 4.25rem + ~3.25rem altura + 0.5rem gap */
    bottom: calc(8.5rem + env(safe-area-inset-bottom, 0px));
}

@media (min-width: 768px) {
    .lig-cart-toast {
        bottom: 2rem;
    }

    html.lig-has-float-cart .lig-cart-toast {
        bottom: 6.25rem;
    }
}

@media (min-width: 768px) {
    #ze-float-cart {
        left: auto;
        right: 1.5rem;
        max-width: 24rem;
        bottom: 1.5rem;
        margin: 0;
    }

    html.lig-app-mode body,
    html.lig-app-mode.lig-has-float-cart body {
        padding-bottom: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ze-cat-tile__circle,
    .ze-add-btn,
    #ze-float-cart {
        transition: none;
    }
}

/* ?? P?ginas internas (Quem Somos, Contato) ?? */
.lig-page-card {
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    border-radius: 0.75rem;
    box-shadow: var(--lig-shadow-sm);
}

.lig-page-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.75rem;
    border-radius: 9999px;
    background: var(--lig-yellow-light);
    border: 1px solid rgba(247, 213, 60, 0.2);
    color: var(--lig-yellow-text);
    font-size: 0.75rem;
    font-weight: 600;
}

.lig-page-title {
    font-size: clamp(1.75rem, 5vw, 2.5rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--lig-text);
    line-height: 1.15;
}

.lig-page-lead {
    font-size: 1rem;
    line-height: 1.65;
    color: var(--lig-text-muted);
}

.lig-page-body {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--lig-text-muted);
}

.lig-page-body strong {
    color: var(--lig-text);
    font-weight: 600;
}

.lig-page-input {
    width: 100%;
    background: var(--lig-bg);
    border: 1px solid var(--lig-border);
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
    font-size: 0.9375rem;
    color: var(--lig-text);
    transition: border-color 0.15s, box-shadow 0.15s;
}

.lig-page-input:focus {
    outline: none;
    border-color: var(--lig-yellow);
    box-shadow: 0 0 0 3px var(--lig-yellow-light);
}

.lig-page-input::placeholder {
    color: var(--lig-text-subtle);
}

.lig-page-label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--lig-text-muted);
    margin-bottom: 0.375rem;
}

.lig-page-section-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--lig-text);
}

.lig-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.875rem 1.5rem;
    border-radius: 9999px;
    background: var(--lig-yellow);
    color: #1a1a1a;
    font-weight: 700;
    font-size: 0.9375rem;
    border: none;
    cursor: pointer;
    transition: background 0.15s;
    text-decoration: none;
}

.lig-btn-primary:hover {
    background: var(--lig-yellow-hover);
}

.lig-btn-primary img[src*='icon-whatsapp'] {
    filter: brightness(0);
}

.lig-info-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 9999px;
    background: var(--lig-yellow-light);
    color: var(--lig-yellow-text);
    flex-shrink: 0;
}

/* -- Barra de contato compacta (endereço + telefone/horário) -- */
.lig-contact-bar {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.85rem;
    text-align: center;
}

.lig-contact-bar__row {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.lig-contact-bar__address {
    color: var(--lig-text);
    font-size: 0.9375rem;
    font-weight: 500;
}

.lig-contact-bar__map {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--lig-yellow-text);
    font-weight: 700;
    font-size: 0.875rem;
    white-space: nowrap;
}

.lig-contact-bar__map:hover {
    text-decoration: underline;
}

.lig-contact-bar__divider {
    width: 100%;
    height: 1px;
    background: var(--lig-border);
}

.lig-contact-bar__phone-row {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.6rem;
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--lig-text);
}

.lig-contact-bar__phone-row a {
    color: var(--lig-text);
}

.lig-contact-bar__phone-row a:hover {
    text-decoration: underline;
}

.lig-contact-bar__icon {
    width: 1.875rem;
    height: 1.875rem;
}

.lig-contact-bar__sep {
    color: var(--lig-text-subtle);
}

.lig-contact-bar__hours {
    color: var(--lig-text-muted);
    font-weight: 400;
}

/* ?? Fase 1: reorder, combos, theme, onboarding ?? */
.ze-reorder {
    margin: 0 1rem 1rem;
    padding: 1rem 1.125rem;
    border-radius: 0.75rem;
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    box-shadow: var(--lig-shadow-sm);
    display: flex;
    align-items: center;
    gap: 0.875rem;
}

.ze-reorder__icon {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    background: var(--lig-yellow-light);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--lig-yellow-text);
}

.ze-reorder__body {
    flex: 1;
    min-width: 0;
}

.ze-reorder__title {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--lig-text);
}

.ze-reorder__sub {
    font-size: 0.75rem;
    color: var(--lig-text-muted);
    margin-top: 0.125rem;
}

.ze-reorder__btn {
    flex-shrink: 0;
    padding: 0.5rem 1rem;
    border-radius: 9999px;
    background: var(--lig-yellow);
    color: #1a1a1a;
    font-size: 0.8125rem;
    font-weight: 700;
    border: none;
    cursor: pointer;
    min-height: 36px;
    transition: background 0.15s, transform 0.15s;
}

.ze-reorder__btn:hover {
    background: var(--lig-yellow-hover);
}

.ze-reorder__btn:active {
    transform: scale(0.97);
}

.ze-combos-section {
    margin-bottom: 1.25rem;
}

.ze-combo-scroll {
    display: flex;
    gap: 0.75rem;
    overflow-x: auto;
    padding: 0.25rem 1rem 0.5rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.ze-combo-scroll::-webkit-scrollbar {
    display: none;
}

.ze-combo-card {
    flex-shrink: 0;
    width: 11.5rem;
    padding: 1rem;
    border-radius: 0.75rem;
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    box-shadow: var(--lig-shadow-sm);
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.ze-combo-card__icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.625rem;
    background: var(--lig-yellow-light);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--lig-yellow-text);
}

.ze-combo-card__title {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--lig-text);
    line-height: 1.25;
}

.ze-combo-card__sub {
    font-size: 0.6875rem;
    color: var(--lig-text-muted);
    line-height: 1.35;
    flex: 1;
}

.ze-combo-card__price {
    font-size: 0.9375rem;
    font-weight: 800;
    color: var(--lig-yellow-text);
}

.ze-combo-card__btn {
    width: 100%;
    padding: 0.5rem;
    border-radius: 9999px;
    background: var(--lig-yellow);
    color: #1a1a1a;
    font-size: 0.75rem;
    font-weight: 700;
    border: none;
    cursor: pointer;
    min-height: 36px;
    transition: background 0.15s, transform 0.15s;
    box-shadow: 0 1px 4px rgba(166, 124, 0, 0.12);
}

.ze-combo-card__btn:hover {
    background: var(--lig-yellow-hover);
    color: #1a1a1a;
}

.ze-combo-card__btn:active {
    transform: scale(0.97);
}

/* ?? Home mobile (estilo BEES) ?? */
.home-page {
    padding-bottom: 0.5rem;
    max-width: 100%;
}

.home-hero-banner {
    margin: 0.75rem 1rem 0;
    padding: 1rem 1.125rem;
    border-radius: 0.875rem;
    background: linear-gradient(135deg, #fff8dc 0%, #fff3b0 100%);
    border: 1px solid rgba(247, 213, 60, 0.35);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-height: 4.5rem;
}

.home-hero-banner__title {
    font-size: 1rem;
    font-weight: 800;
    color: #1a1a1a;
    line-height: 1.2;
}

.home-hero-banner__sub {
    font-size: 0.75rem;
    color: #666;
    margin-top: 0.25rem;
}

.home-hero-banner__icon {
    font-size: 2.25rem;
    color: #009ee3;
    flex-shrink: 0;
}

.home-quick-chips {
    display: flex;
    gap: 0.5rem;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0.875rem 1rem 0.25rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
}

.home-quick-chips::-webkit-scrollbar {
    display: none;
}

.home-quick-chip {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.5rem 0.875rem;
    border-radius: 9999px;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface);
    color: var(--lig-text);
    font-size: 0.8125rem;
    font-weight: 600;
    text-decoration: none;
    min-height: 2.25rem;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
}

.home-quick-chip:hover {
    border-color: var(--lig-yellow);
    background: var(--lig-yellow-light);
}

.home-quick-chip__icon {
    font-size: 1.125rem;
    color: var(--lig-text-muted);
}

.home-stories-scroll {
    display: flex;
    gap: 0.75rem;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0.75rem 1rem 0.5rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
}

.home-stories-scroll::-webkit-scrollbar {
    display: none;
}

.home-story {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.375rem;
    width: 4.25rem;
    text-decoration: none;
    color: inherit;
}

.home-story__ring {
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    padding: 3px;
    background: linear-gradient(135deg, var(--home-story-ring, #009ee3), #fff);
    box-shadow: 0 0 0 2px var(--home-story-ring, #009ee3);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background-color: #fff;
}

.home-story__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.home-story__icon {
    font-size: 1.75rem;
    color: var(--lig-yellow-text);
}

.home-story__label {
    font-size: 0.625rem;
    font-weight: 800;
    text-align: center;
    letter-spacing: 0.02em;
    color: var(--lig-text);
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ?? Home: promo stories (estilo Instagram/WhatsApp) ?? */
.home-promo-stories {
    display: flex;
    gap: 0.875rem;
    overflow-x: auto;
    padding: 0.625rem 1rem 0.75rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.home-promo-stories::-webkit-scrollbar {
    display: none;
}

.home-promo-story {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.375rem;
    width: 4.5rem;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    color: inherit;
    font: inherit;
}

.home-promo-story__ring {
    width: 4.25rem;
    height: 4.25rem;
    border-radius: 50%;
    padding: 3px;
    background: linear-gradient(135deg, var(--home-promo-ring, #f7d53c), #ff6d00 55%, #e91e63);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    box-sizing: border-box;
    transition: transform 0.15s ease, opacity 0.2s ease;
}

.home-promo-story--seen .home-promo-story__ring {
    background: var(--lig-border);
}

.home-promo-story:active .home-promo-story__ring {
    transform: scale(0.96);
}

.home-promo-story__img,
.home-promo-story__icon {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    background: var(--lig-surface);
    box-sizing: border-box;
    border: 2px solid var(--lig-surface);
}

.home-promo-story__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    color: var(--lig-yellow-text);
}

.home-promo-story__label {
    font-size: 0.6875rem;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.01em;
    color: var(--lig-text);
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

html.lig-story-open {
    overflow: hidden;
}

.lig-story-viewer {
    position: fixed;
    inset: 0;
    z-index: 120;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem;
    background: rgba(0, 0, 0, 0.88);
}

.lig-story-viewer__shell {
    position: relative;
    width: min(100%, 24rem);
    height: min(92vh, 42rem);
    border-radius: 1rem;
    overflow: hidden;
    background: #111;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.45);
}

.lig-story-viewer__top {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 4;
    padding: 0.625rem 0.75rem 0.5rem;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.55), transparent);
}

.lig-story-viewer__progress {
    display: flex;
    gap: 0.25rem;
    margin-bottom: 0.5rem;
}

.lig-story-viewer__bar {
    flex: 1;
    height: 3px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.28);
    overflow: hidden;
}

.lig-story-viewer__bar-fill {
    display: block;
    height: 100%;
    width: 0;
    border-radius: inherit;
    background: #fff;
}

.lig-story-viewer__bar--done .lig-story-viewer__bar-fill {
    width: 100%;
}

.lig-story-viewer__bar--active .lig-story-viewer__bar-fill {
    animation: lig-story-progress 5.5s linear forwards;
}

@keyframes lig-story-progress {
    from {
        width: 0;
    }
    to {
        width: 100%;
    }
}

.lig-story-viewer__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.lig-story-viewer__name {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #fff;
}

.lig-story-viewer__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    cursor: pointer;
}

.lig-story-viewer__body {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
}

.lig-story-viewer__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lig-story-viewer__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 20%, rgba(0, 0, 0, 0.82) 100%);
}

.lig-story-viewer__body--yellow {
    background: linear-gradient(160deg, #f7d53c 0%, #c9a000 100%);
}

.lig-story-viewer__body--purple {
    background: linear-gradient(160deg, #7c4dff 0%, #4527a0 100%);
}

.lig-story-viewer__body--blue {
    background: linear-gradient(160deg, #009ee3 0%, #00629b 100%);
}

.lig-story-viewer__body--green {
    background: linear-gradient(160deg, #00c853 0%, #00796b 100%);
}

.lig-story-viewer__body--orange {
    background: linear-gradient(160deg, #ff6d00 0%, #e65100 100%);
}

.lig-story-viewer__body--wine {
    background: linear-gradient(160deg, #e91e63 0%, #880e4f 100%);
}

.lig-story-viewer__body--dark {
    background: linear-gradient(160deg, #2a2a2a 0%, #111 100%);
}

.lig-story-viewer__body--photo .lig-story-viewer__shade {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.45) 100%);
}

.lig-story-viewer__content {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 1.5rem 1.25rem 1.75rem;
    color: #fff;
}

.lig-story-viewer__content--photo {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    min-height: 100%;
    padding: 1rem 1rem 1.25rem;
}

.lig-story-viewer__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0 1.25rem;
    border-radius: 999px;
    background: #fff;
    color: #1a1a1a;
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
}

.lig-story-viewer__cta--compact {
    min-height: 2rem;
    padding: 0 0.75rem;
    font-size: 0.6875rem;
    font-weight: 700;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.lig-story-viewer__kicker {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.9;
    margin-bottom: 0.375rem;
}

.lig-story-viewer__title {
    font-family: 'Hanken Grotesk', system-ui, sans-serif;
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 0.5rem;
}

.lig-story-viewer__text {
    font-size: 0.9375rem;
    line-height: 1.45;
    opacity: 0.92;
    margin: 0 0 1rem;
}

.lig-story-viewer__tap {
    position: absolute;
    top: 3.5rem;
    bottom: 0;
    width: 38%;
    z-index: 3;
    border: none;
    padding: 0;
    background: transparent;
    cursor: pointer;
}

.lig-story-viewer__tap--prev {
    left: 0;
}

.lig-story-viewer__tap--next {
    right: 0;
}

@media (min-width: 768px) {
    .lig-story-viewer__shell {
        width: min(24rem, 100%);
    }
}

.home-section__link {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #009ee3;
    text-decoration: none;
}

.home-suggested-scroll {
    display: flex;
    gap: 0.625rem;
    overflow-x: auto;
    padding: 0 1rem 0.5rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    align-items: stretch;
    overscroll-behavior-x: contain;
}

.home-suggested-scroll::-webkit-scrollbar {
    display: none;
}

.home-suggested-card {
    flex-shrink: 0;
    width: 9.5rem;
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    border-radius: 0.75rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: var(--lig-shadow-sm);
}

.home-suggested-card__media {
    position: relative;
    height: 6.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem;
    background: var(--lig-media-bg);
}

.home-suggested-card__badge {
    position: absolute;
    top: 0.375rem;
    right: 0.375rem;
    padding: 0.125rem 0.375rem;
    border-radius: 0.25rem;
    background: #1a1a1a;
    color: #fff;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    z-index: 1;
}

.home-suggested-card__img {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
}

.home-suggested-card__name {
    padding: 0.5rem 0.625rem 0;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.25;
    color: var(--lig-text);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.5rem;
}

.home-suggested-card__pricing {
    padding: 0.25rem 0.625rem;
    flex: 1;
}

.home-suggested-card__pricing .ze-price-tiers {
    margin-bottom: 0.125rem;
}

.home-suggested-card__pricing .ze-price-block__unit {
    font-size: 0.5625rem;
}

.home-suggested-card__price,
.home-suggested-card .ze-product-card__price {
    font-size: 0.9375rem;
    font-weight: 800;
    color: var(--lig-text);
}

.home-suggested-card__actions {
    padding: 0 0.625rem 0.625rem;
}

/* Home: separa??o entre blocos de se??o */
.home-page {
    --home-section-gap: 0.875rem;
    --home-section-pad-top: 1.625rem;
    --home-section-pad-bottom: 1.5rem;
    --home-section-divider: color-mix(in srgb, var(--lig-text-muted) 28%, var(--lig-border));
}

@media (max-width: 767px) {
    .home-page {
        --home-section-gap: 0.5rem;
        --home-section-pad-top: 0.875rem;
        --home-section-pad-bottom: 0.875rem;
    }
}

.home-page .ze-section {
    margin-bottom: 0;
}

.home-page [data-home-promo-stories] + .ze-section {
    margin-top: var(--home-section-gap);
    padding-top: var(--home-section-pad-top);
    padding-bottom: var(--home-section-pad-bottom);
    border-top: 1px solid var(--home-section-divider);
}

.home-page > .home-suggested.ze-section {
    padding-bottom: var(--home-section-pad-bottom);
}

.home-page > .home-suggested.ze-section + .home-mobile-sections {
    margin-top: var(--home-section-gap);
    padding-top: var(--home-section-pad-top);
    border-top: 1px solid var(--home-section-divider);
}

.home-page .home-mobile-sections .ze-section {
    padding-bottom: var(--home-section-pad-bottom);
}

.home-page .home-mobile-sections .ze-section + .ze-section {
    margin-top: var(--home-section-gap);
    padding-top: var(--home-section-pad-top);
    border-top: 1px solid var(--home-section-divider);
}

.home-page .home-desktop-only > .ze-section {
    padding-bottom: var(--home-section-pad-bottom);
}

.home-page .home-desktop-only > .ze-section + .ze-section {
    margin-top: var(--home-section-gap);
    padding-top: var(--home-section-pad-top);
    border-top: 1px solid var(--home-section-divider);
}

.home-cat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.625rem;
    padding: 0 1rem;
}

.home-cat-grid__tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    color: inherit;
}

.home-cat-grid__media {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 0.75rem;
    background: var(--home-cat-bg, #fde8ef);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem;
    overflow: hidden;
    transition: transform 0.15s;
}

.home-cat-grid__tile:active .home-cat-grid__media {
    transform: scale(0.97);
}

.home-cat-grid__img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.home-cat-grid__icon {
    font-size: 2rem;
    color: var(--lig-yellow-text);
}

.home-cat-grid__label {
    font-size: 0.6875rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.2;
    color: var(--lig-text);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ze-add-btn--dark {
    background: var(--lig-yellow);
    color: var(--lig-on-yellow);
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 700;
    height: 2rem;
    min-height: 2rem;
    max-height: 2rem;
}

.ze-add-btn--dark:hover {
    background: var(--lig-yellow-hover);
}

.ze-qty-stepper--dark {
    background: var(--lig-yellow-light);
    border-color: rgba(247, 213, 60, 0.25);
    height: 2rem;
    min-height: 2rem;
    max-height: 2rem;
}

.ze-qty-stepper--dark .ze-qty-btn {
    background: var(--lig-yellow);
    color: var(--lig-on-yellow);
    width: 2rem;
    height: 2rem;
}

.ze-qty-stepper--dark .ze-qty-value {
    color: var(--lig-yellow-text);
}

.home-desktop-only {
    display: none;
}

.home-mobile-sections {
    display: block;
}

@media (min-width: 768px) {
    .home-desktop-only {
        display: block;
    }

    .home-mobile-sections {
        display: none;
    }

    .home-hero-banner {
        max-width: var(--lig-container-max, 1280px);
        margin-left: auto;
        margin-right: auto;
    }

    .home-cat-grid {
        grid-template-columns: repeat(6, 1fr);
        max-width: var(--lig-container-max, 1280px);
        margin: 0 auto;
    }
}

/* ?? Conta (aba Perfil mobile) ?? */
.conta-page {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.conta-menu-view {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.conta-topbar {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
    min-height: 3.25rem;
    padding: max(0.75rem, env(safe-area-inset-top, 0px)) 1rem 0.75rem;
    background: var(--lig-bg);
    border-bottom: 1px solid var(--lig-border);
    position: sticky;
    top: 0;
    z-index: 12;
}

.conta-topbar__title {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 800;
    color: var(--lig-text);
    letter-spacing: -0.02em;
}

.conta-topbar__theme,
.conta-sub-header__theme {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-shrink: 0;
}

.conta-topbar__theme .lig-theme-toggle,
.conta-sub-header__theme .lig-theme-toggle {
    width: 2.5rem;
    height: 2.5rem;
    background: var(--lig-surface);
    border-color: var(--lig-border);
    color: var(--lig-text);
}

.conta-hero-header {
    background: var(--lig-yellow);
    padding: 0.875rem 1rem 2.5rem;
    padding-top: max(0.875rem, env(safe-area-inset-top, 0px));
    border-radius: 0 0 1.5rem 1.5rem;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

.conta-hero-header__top {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    min-height: 2.5rem;
    margin-bottom: 0.625rem;
}

.conta-hero-header__title {
    font-size: 1.125rem;
    font-weight: 800;
    color: var(--lig-on-yellow);
    margin: 0;
}

.conta-hero-header__settings {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: var(--lig-on-yellow);
    cursor: pointer;
    border-radius: 9999px;
    transition: background var(--lig-motion-duration-fast) ease, transform var(--lig-motion-duration-fast) var(--lig-motion-ease);
}

.conta-hero-header__settings:active {
    background: var(--lig-on-yellow-surface);
    transform: translateY(-50%) scale(0.94);
}

.conta-store-bar {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.5rem 0.625rem;
    border: none;
    background: var(--lig-on-yellow-surface);
    border-radius: 0.625rem;
    cursor: pointer;
    color: var(--lig-on-yellow);
    font-size: 0.875rem;
    font-weight: 700;
    text-align: left;
    transition: background var(--lig-motion-duration-fast) ease, transform var(--lig-motion-duration-fast) var(--lig-motion-ease);
}

.conta-store-bar:active {
    transform: scale(0.98);
    background: var(--lig-on-yellow-surface-press);
}

.conta-store-bar__logo {
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 0.25rem;
    object-fit: contain;
}

.conta-store-bar__name {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.conta-store-bar__chev {
    font-size: 1.125rem;
    color: var(--lig-on-yellow-muted);
}

.conta-store-bar__action {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    flex-shrink: 0;
    padding: 0.25rem 0.5rem;
    border-radius: 9999px;
    background: var(--lig-on-yellow-chip);
    font-size: 0.6875rem;
    font-weight: 700;
    color: var(--lig-on-yellow);
}

.conta-store-bar__action .material-symbols-outlined {
    font-size: 1rem;
}

.conta-menu-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    background: var(--lig-bg);
    padding: 1rem 0 1rem;
    margin-top: 0;
    min-height: 0;
}

.conta-user-card {
    display: flex;
    align-items: flex-start;
    gap: 0.875rem;
    margin: 0 1rem 1rem;
    padding: 1.125rem 1.25rem;
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    border-radius: 1rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
    position: relative;
    z-index: 1;
    overflow: visible;
}

.conta-user-card--guest {
    flex-wrap: wrap;
}

.conta-user-card__avatar-wrap {
    position: relative;
    flex-shrink: 0;
}

.conta-user-card__avatar-btn {
    position: relative;
    display: block;
    padding: 0;
    border: 0;
    background: transparent;
    border-radius: 9999px;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.conta-user-card__avatar-btn:focus-visible {
    outline: 2px solid var(--lig-yellow);
    outline-offset: 3px;
}

.conta-user-card__avatar {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 9999px;
    object-fit: cover;
    border: 2px solid var(--lig-yellow);
    flex-shrink: 0;
    box-shadow: 0 0 0 3px rgba(247, 213, 60, 0.2);
    display: block;
    background: transparent;
}

.conta-user-card__avatar-edit {
    position: absolute;
    right: -0.1rem;
    bottom: -0.1rem;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--lig-yellow);
    color: var(--lig-on-yellow);
    border: 2px solid var(--lig-surface);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
    pointer-events: none;
}

.conta-user-card__avatar-edit .material-symbols-outlined {
    font-size: 0.85rem;
    line-height: 1;
}

.conta-user-card__avatar-hint {
    margin: 0.45rem 0 0;
    font-size: 0.6875rem;
    line-height: 1.35;
    color: var(--lig-text-muted);
}

.conta-user-card__avatar-status {
    margin: 0.35rem 0 0;
    font-size: 0.75rem;
    line-height: 1.3;
    color: var(--lig-text-muted);
}

.conta-user-card__avatar-status--error {
    color: #b42318;
}

.conta-user-card__avatar--icon {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--lig-yellow-light);
    color: var(--lig-yellow-text);
    font-size: 1.5rem;
}

.conta-user-card__info {
    flex: 1;
    min-width: 0;
    overflow: visible;
    padding-top: 0.15rem;
}

.conta-user-card__name {
    font-size: 1rem;
    font-weight: 700;
    color: var(--lig-text);
    margin: 0 0 0.25rem;
    line-height: 1.35;
    letter-spacing: -0.01em;
    overflow: visible;
}

.conta-user-card__meta {
    font-size: 0.8125rem;
    color: var(--lig-text-muted);
    margin: 0;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}

.conta-user-card__contas {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin: 0.55rem 0 0.35rem;
}

.conta-user-card__contas-label {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--lig-text-muted);
}

.conta-user-card__contas select {
    width: 100%;
    max-width: 22rem;
    border: 1px solid color-mix(in srgb, var(--lig-text-muted) 28%, transparent);
    border-radius: 0.625rem;
    background: var(--lig-surface, #fff);
    color: var(--lig-text);
    padding: 0.5rem 0.7rem;
    font-size: 0.875rem;
}

.conta-user-card__role {
    display: inline-flex;
    align-items: center;
    margin-top: 0.5rem;
    padding: 0.25rem 0.5625rem;
    border-radius: 9999px;
    background: var(--lig-yellow);
    border: none;
    font-size: 0.625rem;
    font-weight: 800;
    color: var(--lig-on-yellow);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.conta-user-card__login {
    width: 100%;
    margin-top: 0.5rem;
    padding: 0.625rem 1rem;
    border-radius: 9999px;
    background: var(--lig-yellow);
    color: var(--lig-on-yellow);
    font-size: 0.875rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}

.conta-menu-list {
    flex: 1;
    margin: 0 1rem;
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: var(--lig-shadow-sm);
}

.conta-menu-logout {
    margin: 1rem 1rem 0;
}

.conta-menu-logout .conta-btn {
    gap: 0.375rem;
}

.conta-menu-logout .material-symbols-outlined {
    font-size: 1.125rem;
}

.conta-menu-list--flush {
    margin: 0;
    border-radius: 0.75rem;
    overflow: hidden;
    border: 1px solid var(--lig-border);
}

.conta-menu-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    padding: 0.9375rem 1rem;
    border: none;
    background: var(--lig-surface);
    text-align: left;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    border-bottom: 1px solid var(--lig-border);
    transition:
        background var(--lig-motion-duration-fast) ease,
        transform var(--lig-motion-duration-fast) var(--lig-motion-ease);
}

.conta-menu-row__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    flex-shrink: 0;
    border-radius: 0.625rem;
    background: var(--lig-surface-alt);
    color: var(--lig-yellow-text);
}

.conta-menu-row__icon .material-symbols-outlined {
    font-size: 1.25rem;
}

.conta-menu-row:last-child {
    border-bottom: none;
}

.conta-menu-row:active {
    background: var(--lig-surface-alt);
}

.conta-menu-row__body {
    flex: 1;
    min-width: 0;
}

.conta-menu-row__title {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--lig-text);
    margin: 0 0 0.1875rem;
}

.conta-menu-row__sub {
    font-size: 0.8125rem;
    color: var(--lig-text-muted);
    margin: 0;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.conta-menu-row__chev {
    font-size: 1.25rem;
    color: var(--lig-text-subtle);
    flex-shrink: 0;
    transition: transform var(--lig-motion-duration-fast) var(--lig-motion-ease), color var(--lig-motion-duration-fast) ease;
}

.conta-menu-row:active .conta-menu-row__chev {
    transform: translateX(2px);
    color: var(--lig-yellow-text);
}

.conta-sub-header {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr) 2.5rem;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    background: var(--lig-surface);
    border-bottom: 1px solid var(--lig-border);
    min-height: 3.25rem;
    position: sticky;
    top: 0;
    z-index: 10;
}

.conta-sub-header__back {
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: var(--lig-text);
    cursor: pointer;
    border-radius: 9999px;
    flex-shrink: 0;
}

.conta-sub-header__back:active {
    background: var(--lig-surface-alt);
}

.conta-sub-header__title {
    margin: 0;
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--lig-text);
    text-align: center;
    min-width: 0;
    padding-right: 0;
}

.conta-sub-body {
    padding: 1rem;
    background: var(--lig-bg);
    flex: 1;
}

.conta-sub-lead {
    font-size: 0.875rem;
    color: var(--lig-text-muted);
    margin: 0 0 1rem;
}

.conta-info-card {
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    border-radius: 0.75rem;
    overflow: hidden;
    margin-bottom: 1rem;
}

.conta-info-row {
    padding: 1rem 1.125rem;
    border-bottom: 1px solid var(--lig-border);
}

.conta-info-row:last-child {
    border-bottom: none;
}

.conta-info-row__label {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--lig-text);
    margin: 0 0 0.25rem;
}

.conta-info-row__value {
    font-size: 0.875rem;
    color: var(--lig-text-muted);
    margin: 0;
}

.conta-order-card {
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    border-radius: 0.75rem;
    padding: 1.125rem;
    margin-bottom: 1rem;
}

.conta-order-card__label {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--lig-text-muted);
    margin: 0 0 0.25rem;
}

.conta-order-card__meta {
    font-size: 1.125rem;
    font-weight: 800;
    color: var(--lig-text);
    margin: 0 0 0.75rem;
}

.conta-order-card__items {
    font-size: 0.8125rem;
    color: var(--lig-text-muted);
    margin: 0 0 1rem;
    padding-left: 1.125rem;
}

.conta-order-detail {
    position: relative;
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    border-radius: 1rem;
    padding: 1rem 1rem 0.95rem;
    margin-bottom: 0;
    box-shadow: var(--lig-shadow-sm, 0 1px 2px rgba(15, 23, 42, 0.06));
    overflow: hidden;
}

.conta-order-detail::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: transparent;
}

.conta-order-detail--open::after {
    background: var(--lig-brand-yellow, #f7d53c);
}

.conta-order-detail__topline,
.conta-order-detail__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    margin: 0;
}

.conta-order-detail__code {
    font-size: 0.9375rem;
    font-weight: 800;
    color: var(--lig-text);
    margin: 0;
    min-width: 0;
    line-height: 1.25;
}

.conta-order-detail__code code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.875rem;
}

.conta-order-detail__date {
    font-size: 0.75rem;
    color: var(--lig-text-muted);
    margin: 0.3rem 0 0;
    line-height: 1.3;
}

.conta-order-detail__badge {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    max-width: min(100%, 11.5rem);
    font-size: 0.625rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 0.28rem 0.55rem 0.28rem 0.28rem;
    border-radius: 9999px;
    border: 1px solid transparent;
    line-height: 1.15;
}

.conta-order-detail__badge-glyph {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 9999px;
    flex-shrink: 0;
    background: color-mix(in srgb, currentColor 14%, transparent);
}

.conta-order-detail__badge-glyph svg {
    width: 0.85rem;
    height: 0.85rem;
    display: block;
}

.conta-order-detail__badge .material-symbols-outlined {
    font-size: 0.95rem;
    font-variation-settings: 'FILL' 1, 'wght' 600, 'GRAD' 0, 'opsz' 20;
    flex-shrink: 0;
}

.conta-order-detail__badge-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-right: 0.15rem;
}

.conta-order-detail__badge--wait {
    background: var(--lig-status-wait-bg);
    color: var(--lig-status-wait-fg);
    border-color: color-mix(in srgb, var(--lig-status-wait-fg) 28%, transparent);
}

.conta-order-detail__badge--ok {
    background: var(--lig-status-ok-bg);
    color: var(--lig-status-ok-fg);
    border-color: color-mix(in srgb, var(--lig-status-ok-fg) 28%, transparent);
}

.conta-order-detail__badge--danger {
    background: var(--lig-status-danger-bg);
    color: var(--lig-status-danger-fg);
    border-color: color-mix(in srgb, var(--lig-status-danger-fg) 30%, transparent);
}

.conta-order-detail__badge--info {
    background: var(--lig-status-info-bg);
    color: var(--lig-status-info-fg);
    border-color: color-mix(in srgb, var(--lig-status-info-fg) 28%, transparent);
}

.conta-order-detail__badge--progress {
    background: var(--lig-status-progress-bg);
    color: var(--lig-status-progress-fg);
    border-color: color-mix(in srgb, var(--lig-status-progress-fg) 28%, transparent);
}

.conta-order-detail__badge--muted {
    background: var(--lig-surface-muted);
    color: var(--lig-text-muted);
    border-color: var(--lig-border);
}

.conta-order-detail__facts {
    display: grid;
    gap: 0.5rem;
    margin: 0 0 0.85rem;
    padding: 0.75rem 0.85rem;
    border-radius: 0.75rem;
    background: var(--lig-surface-muted);
    border: 1px solid color-mix(in srgb, var(--lig-border) 80%, transparent);
}

.conta-order-detail__fact {
    display: grid;
    grid-template-columns: 5.25rem minmax(0, 1fr);
    gap: 0.5rem;
    margin: 0;
    align-items: baseline;
}

.conta-order-detail__fact dt {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--lig-text-muted);
    margin: 0;
}

.conta-order-detail__fact dd {
    font-size: 0.8125rem;
    color: var(--lig-text);
    margin: 0;
    word-break: break-word;
}

.conta-order-detail__items {
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
    border-top: 1px solid var(--lig-border);
}

.conta-order-detail__item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.625rem 0;
    border-bottom: 1px solid var(--lig-border);
    font-size: 0.8125rem;
}

.conta-order-detail__item-name {
    color: var(--lig-text);
    flex: 1;
}

.conta-order-detail__item-price {
    color: var(--lig-text-muted);
    font-weight: 600;
    white-space: nowrap;
}

.conta-order-detail__foot {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.conta-order-detail__total-label {
    font-size: 0.8125rem;
    color: var(--lig-text-muted);
}

.conta-order-detail__total {
    font-size: 1.125rem;
    font-weight: 800;
    color: var(--lig-text);
}

.conta-order-detail__actions {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    margin-top: 0.15rem;
    padding: 0.85rem;
    border-radius: 0.875rem;
    background: color-mix(in srgb, var(--lig-surface-muted) 75%, transparent);
    border: 1px solid color-mix(in srgb, var(--lig-border) 85%, transparent);
}

.conta-order-detail__actions-title {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--lig-text-muted);
}

.conta-order-detail__actions-primary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
    gap: 0.5rem;
}

.conta-order-detail__actions-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
}

.conta-order-detail__actions-footer {
    display: grid;
    gap: 0.5rem;
}

.conta-order-action {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 4.5rem;
    padding: 0.6rem 0.45rem;
    border-radius: 0.875rem;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface);
    color: var(--lig-text);
    font-size: 0.6875rem;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition:
        background 0.15s ease,
        border-color 0.15s ease,
        transform 0.1s ease;
}

.conta-order-action:hover {
    background: color-mix(in srgb, var(--lig-yellow) 14%, var(--lig-surface));
    border-color: color-mix(in srgb, var(--lig-yellow) 45%, var(--lig-border));
}

.conta-order-action:active {
    transform: scale(0.98);
}

.conta-order-action:focus-visible {
    outline: 2px solid var(--lig-yellow);
    outline-offset: 2px;
}

.conta-order-action__icon {
    font-size: 1.375rem;
    color: var(--lig-text);
    font-variation-settings: 'FILL' 0, 'wght' 500;
}

.conta-order-action__label {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.conta-order-action--primary {
    flex-direction: row;
    justify-content: center;
    gap: 0.45rem;
    min-height: 2.75rem;
    padding: 0.7rem 0.85rem;
    background: var(--lig-yellow);
    color: var(--lig-on-yellow);
    border-color: transparent;
    font-size: 0.8125rem;
}

.conta-order-action--primary .conta-order-action__icon {
    font-size: 1.125rem;
    color: inherit;
}

.conta-order-action--primary:hover {
    background: color-mix(in srgb, var(--lig-yellow) 88%, #000);
    border-color: transparent;
}

.conta-order-action--wide,
.conta-order-action--danger-wide {
    flex-direction: row;
    justify-content: center;
    gap: 0.45rem;
    min-height: 2.625rem;
    padding: 0.65rem 0.85rem;
    font-size: 0.8125rem;
}

.conta-order-action--wide .conta-order-action__icon,
.conta-order-action--danger-wide .conta-order-action__icon {
    font-size: 1.125rem;
}

.conta-order-action--danger-wide {
    background: transparent;
    color: var(--lig-danger, #b42318);
    border-color: color-mix(in srgb, var(--lig-danger, #b42318) 35%, var(--lig-border));
}

.conta-order-action--danger-wide:hover {
    background: color-mix(in srgb, var(--lig-danger, #b42318) 8%, var(--lig-surface));
    border-color: color-mix(in srgb, var(--lig-danger, #b42318) 45%, var(--lig-border));
}

.conta-order-action:disabled {
    opacity: 0.6;
    cursor: wait;
    transform: none;
}

.conta-order-detail__actions .conta-order-detail__edit-hint {
    padding: 0.55rem 0.65rem;
    border-radius: 0.625rem;
    background: color-mix(in srgb, var(--lig-yellow) 12%, var(--lig-surface));
    border: 1px solid color-mix(in srgb, var(--lig-yellow) 28%, var(--lig-border));
}

@media (max-width: 420px) {
    .conta-order-detail__actions-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .conta-order-detail__actions-grid .conta-order-action:last-child:nth-child(odd) {
        grid-column: 1 / -1;
        flex-direction: row;
        min-height: 2.75rem;
        padding-inline: 0.85rem;
    }

    .conta-order-detail__actions-grid .conta-order-action:last-child:nth-child(odd) .conta-order-action__icon {
        font-size: 1.125rem;
    }
}

.conta-empty {
    text-align: center;
    padding: 2.5rem 1rem;
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    border-radius: 0.75rem;
    margin-bottom: 1rem;
}

.conta-empty__icon {
    font-size: 2.5rem;
    color: var(--lig-text-subtle);
    margin-bottom: 0.75rem;
}

.conta-empty__title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--lig-text);
    margin: 0 0 0.375rem;
}

.conta-empty__sub {
    font-size: 0.875rem;
    color: var(--lig-text-muted);
    margin: 0 0 1.25rem;
}

.conta-sub-body--addresses {
    display: grid;
    gap: 0.75rem;
}

.conta-address-card {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    border: 1px solid var(--lig-border);
    border-radius: 0.875rem;
    background: var(--lig-surface);
}

.conta-address-card--active {
    border-color: #1a1a1a;
    background: rgba(247, 213, 60, 0.12);
}

.conta-address-card__main {
    min-width: 0;
    flex: 1;
}

.conta-address-card__label {
    margin: 0 0 0.2rem;
    font-size: 0.875rem;
    font-weight: 800;
    color: var(--lig-text);
}

.conta-address-card__line {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.35;
    color: var(--lig-text-muted);
}

.conta-address-card__badge {
    display: inline-flex;
    margin-top: 0.45rem;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: rgba(0, 0, 0, 0.06);
    color: var(--lig-text);
}

.conta-address-card__actions {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
}

.conta-address-card__use {
    border: 0;
    border-radius: 999px;
    padding: 0.45rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 700;
    background: var(--lig-yellow);
    color: #1a1a1a;
    cursor: pointer;
}

.conta-address-card__use:disabled {
    opacity: 0.45;
    cursor: default;
}

.conta-address-card__remove {
    width: 2.25rem;
    height: 2.25rem;
    border: 0;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.06);
    color: var(--lig-text-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.conta-hint--center {
    text-align: center;
}

.conta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.25rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    border: none;
    cursor: pointer;
    min-height: 2.75rem;
    transition: background 0.15s, transform 0.1s;
}

.conta-btn--primary {
    background: var(--lig-yellow);
    color: var(--lig-on-yellow);
    width: 100%;
    margin-bottom: 0.5rem;
}

.conta-btn--outline {
    background: var(--lig-surface);
    color: var(--lig-text);
    border: 2px solid var(--lig-border);
    width: 100%;
}

.conta-btn--danger {
    background: transparent;
    color: var(--lig-danger, #b42318);
    border: 2px solid color-mix(in srgb, var(--lig-danger, #b42318) 35%, var(--lig-border));
    width: 100%;
}

.conta-btn--danger:disabled {
    opacity: 0.6;
    cursor: wait;
}

.conta-btn--dark {
    background: var(--lig-cta-bg);
    color: var(--lig-cta-fg);
}

.conta-btn--full {
    width: 100%;
    margin-top: 1rem;
}

.conta-hint {
    font-size: 0.75rem;
    color: var(--lig-text-subtle);
    text-align: center;
    margin: 1rem 0 0;
}

.conta-help-label {
    margin: 1.25rem 0 0.5rem;
    padding: 0 0.15rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--lig-text-subtle);
}

.conta-help-wa {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    width: 100%;
    padding: 1rem 1.05rem;
    border-radius: 0.875rem;
    border: 1px solid rgba(247, 213, 60, 0.35);
    background: var(--lig-yellow);
    color: var(--lig-on-yellow);
    text-decoration: none;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.35) inset;
    transition:
        background var(--lig-motion-duration-fast) ease,
        transform var(--lig-motion-duration-fast) var(--lig-motion-ease);
}

.conta-help-wa:hover {
    background: var(--lig-yellow-hover);
}

.conta-help-wa:active {
    transform: scale(0.985);
}

.conta-help-wa__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.75rem;
    background: rgba(0, 0, 0, 0.08);
    color: var(--lig-on-yellow);
    flex-shrink: 0;
}

.conta-help-wa__icon .material-symbols-outlined {
    font-size: 1.35rem;
}

.conta-help-wa__icon img {
    width: 1.35rem;
    height: 1.35rem;
    display: block;
    filter: brightness(0);
}

.conta-help-wa__body {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
    flex: 1;
}

.conta-help-wa__title {
    font-size: 0.975rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    line-height: 1.2;
}

.conta-help-wa__sub {
    font-size: 0.8125rem;
    font-weight: 600;
    opacity: 0.72;
}

.conta-help-wa__chev {
    font-size: 1.15rem;
    opacity: 0.55;
    flex-shrink: 0;
}

.conta-faq__item {
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    border-radius: 0.75rem;
    margin-bottom: 0.5rem;
    overflow: hidden;
}

.conta-faq__q {
    padding: 1rem 1.125rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--lig-text);
    cursor: pointer;
    list-style: none;
}

.conta-faq__q::-webkit-details-marker {
    display: none;
}

.conta-faq__a {
    padding: 0 1.125rem 1rem;
    font-size: 0.875rem;
    color: var(--lig-text-muted);
    margin: 0;
    line-height: 1.45;
}

.conta-settings-group {
    margin-bottom: 1.25rem;
}

.conta-settings-group__title {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--lig-text-muted);
    margin: 0 0 0.5rem;
    padding-left: 0.25rem;
}

.conta-prefs-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.conta-clube-teaser {
    background: var(--lig-surface);
    border: 1px dashed rgba(247, 213, 60, 0.35);
    border-radius: 0.75rem;
    padding: 1.25rem;
    text-align: center;
}

.conta-clube-teaser__icon {
    font-size: 1.75rem;
    margin-bottom: 0.375rem;
}

.conta-clube-teaser__title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--lig-text);
    margin: 0 0 0.25rem;
}

.conta-clube-teaser__sub {
    font-size: 0.8125rem;
    color: var(--lig-text-muted);
    margin: 0;
}

.conta-version {
    font-size: 0.75rem;
    color: var(--lig-text-subtle);
    text-align: center;
    margin: 1.5rem 0 0;
}

@media (max-width: 767px) {
    body[data-page='conta'] .lig-header-stack {
        display: none !important;
    }

    body[data-page='meus-pedidos'] .lig-header-stack,
    body[data-page='ofertas'] .lig-header-stack {
        display: none !important;
    }

    body[data-page='meus-pedidos'] #lig-page-main {
        padding: 0;
    }

    body[data-page='meus-pedidos'] .meus-pedidos-header,
    body[data-page='ofertas'] .ofertas-header {
        padding-top: max(0.75rem, env(safe-area-inset-top, 0px));
    }

    body[data-page='meus-pedidos'] .meus-pedidos-filters {
        top: 0;
    }

    body[data-page='conta'] {
        background: var(--lig-bg);
    }

    body[data-page='conta'] #lig-page-main {
        padding: 0;
        min-height: 0;
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    body[data-page='conta'] .conta-page {
        flex: 1;
        min-height: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-y: contain;
    }

    body[data-page='conta'] .conta-menu-view {
        min-height: auto;
        padding-bottom: calc(var(--lig-tab-bar-h, 3.5rem) + env(safe-area-inset-bottom, 0px) + 1rem);
    }

    body[data-page='conta'] .conta-menu-body {
        flex: none;
        min-height: auto;
        padding-bottom: 0.5rem;
    }

    body[data-page='conta'] .conta-menu-list {
        flex: none;
        overflow: visible;
    }

    body[data-page='conta'] .conta-menu-logout {
        margin-bottom: 0.5rem;
    }

    .conta-sub-header {
        padding-top: max(0.75rem, env(safe-area-inset-top, 0px));
    }

    /* constant() para iOS antigo + env() moderno */
    html.lig-app-safe-areas body[data-page='conta'] .conta-topbar,
    html.lig-app-standalone body[data-page='conta'] .conta-topbar,
    html.lig-app-safe-areas body[data-page='conta'] .conta-sub-header,
    html.lig-app-standalone body[data-page='conta'] .conta-sub-header {
        padding-top: constant(safe-area-inset-top);
        padding-top: max(0.75rem, env(safe-area-inset-top, 0px));
    }
}

@media (min-width: 768px) {
    .conta-hero-header {
        border-radius: 0.75rem;
        margin: 1rem 1rem 0;
    }

    .conta-menu-body {
        padding: 0 1rem 1rem;
        max-width: 40rem;
        margin: 0 auto;
        width: 100%;
        margin-top: 0;
    }

    .conta-sub-body {
        max-width: 40rem;
        margin: 0 auto;
        width: 100%;
    }
}

/* ?? Club Raios ?? */
.raios-body {
    background: var(--lig-bg);
}

.raios-page {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.raios-hero {
    background: #1a1a1a;
    color: #fff;
    padding: 0.75rem 1rem 1rem;
    padding-top: max(0.75rem, env(safe-area-inset-top, 0px));
}

.raios-hero__top {
    display: grid;
    grid-template-columns: 2.5rem 1fr 2.5rem;
    align-items: center;
    margin-bottom: 0.5rem;
}

.raios-hero__back {
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: #fff;
    cursor: pointer;
    border-radius: 9999px;
    padding: 0;
}

.raios-hero__back .material-symbols-outlined {
    font-size: 1.5rem;
    line-height: 1;
    font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 24;
}

.raios-hero__back:hover,
.raios-hero__back:focus-visible {
    background: rgba(255, 255, 255, 0.12);
    outline: none;
}

.raios-hero__back:active {
    background: rgba(255, 255, 255, 0.2);
}

.raios-hero__title {
    grid-column: 2;
    font-size: 1.125rem;
    font-weight: 800;
    margin: 0;
    text-align: center;
}

.raios-store-bar {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.25rem 0 0.625rem;
    border: none;
    background: transparent;
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 700;
    cursor: pointer;
    text-align: left;
}

.raios-store-bar__logo {
    width: 1.125rem;
    height: 1.125rem;
    border-radius: 0.25rem;
}

.raios-store-bar__name {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.raios-store-bar__chev {
    font-size: 1.125rem;
    opacity: 0.7;
}

.raios-points-pill {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.75rem 1rem;
    background: #fff;
    border-radius: 9999px;
    color: #1a1a1a;
    font-weight: 800;
    font-size: 1rem;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.raios-points-pill__icon {
    font-size: 1.25rem;
    line-height: 1;
}

.raios-hero__guest {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.75);
    text-align: center;
    margin: 0.625rem 0 0;
}

.raios-body-content {
    flex: 1;
    padding: 1rem;
    padding-bottom: 1.5rem;
    color: var(--lig-text);
}

.raios-body-content--grid {
    background: var(--lig-bg);
}

.raios-body-content--plain {
    background: var(--lig-surface);
}

.raios-summary-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.625rem;
    margin-bottom: 1rem;
}

.raios-summary-card {
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    border-radius: 0.75rem;
    padding: 0.875rem;
    display: flex;
    flex-direction: column;
    min-height: 9rem;
}

.raios-summary-card__tag {
    font-size: 0.5625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    background: #1a1a1a;
    color: #fff;
    padding: 0.2rem 0.5rem;
    border-radius: 0.25rem;
    align-self: flex-start;
    margin-bottom: 0.5rem;
}

.raios-summary-card__value {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--lig-text);
    margin: 0;
    line-height: 1.2;
}

.raios-summary-card__value span {
    font-size: 0.75rem;
    font-weight: 600;
}

.raios-summary-card__value--sm {
    font-size: 1rem;
}

.raios-summary-card__value .text-muted {
    color: var(--lig-text-subtle);
    font-weight: 600;
}

.raios-summary-card__sub {
    font-size: 0.6875rem;
    color: var(--lig-text-muted);
    margin: 0.25rem 0 auto;
    flex: 1;
}

.raios-summary-card__link {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #009ee3;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    text-align: left;
    margin-top: 0.5rem;
}

.raios-summary-card__ring {
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background: conic-gradient(var(--lig-yellow) var(--raios-progress, 0%), var(--lig-border) 0);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
}

.raios-summary-card__ring-icon {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background: var(--lig-media-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
}

.raios-join-card {
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    border-radius: 0.875rem;
    padding: 1.5rem 1.25rem;
    text-align: center;
    margin-bottom: 1rem;
}

.raios-join-card__icon {
    font-size: 2.5rem;
    margin-bottom: 0.5rem;
}

.raios-join-card__title {
    font-size: 1.125rem;
    font-weight: 800;
    margin: 0 0 0.375rem;
    color: #1a1a1a;
}

.raios-join-card__sub {
    font-size: 0.875rem;
    color: #666;
    margin: 0 0 1rem;
}

.raios-join-card__hint {
    font-size: 0.75rem;
    color: var(--lig-yellow-text);
    font-weight: 600;
    margin: 0.75rem 0 0;
}

.raios-promo-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    border-radius: 0.875rem;
    background: linear-gradient(135deg, #2d5016 0%, #4a7c23 100%);
    color: #fff;
    margin-bottom: 1.25rem;
    min-height: 5rem;
}

.raios-promo-banner__title {
    font-size: 1.125rem;
    font-weight: 800;
    margin: 0;
}

.raios-promo-banner__sub {
    font-size: 0.8125rem;
    margin: 0.125rem 0 0;
    opacity: 0.9;
}

.raios-promo-banner__emoji {
    font-size: 2.5rem;
}

.raios-section {
    margin-bottom: 1.25rem;
}

.raios-section__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.625rem;
}

.raios-section__title {
    font-size: 1.0625rem;
    font-weight: 800;
    color: var(--lig-text);
    margin: 0;
}

.raios-section__link {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #009ee3;
    background: none;
    border: none;
    cursor: pointer;
    text-decoration: none;
}

.raios-scroll-row {
    display: flex;
    gap: 0.625rem;
    overflow-x: auto;
    padding-bottom: 0.25rem;
    margin-bottom: 0.75rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.raios-scroll-row::-webkit-scrollbar {
    display: none;
}

.raios-challenge-card {
    flex-shrink: 0;
    width: 10.5rem;
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    border-radius: 0.75rem;
    padding: 0.875rem;
}

.raios-challenge-card__icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.5rem;
    background: var(--lig-surface-alt);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
    color: var(--lig-text-muted);
}

.raios-challenge-card__title {
    font-size: 0.8125rem;
    font-weight: 700;
    margin: 0 0 0.25rem;
    line-height: 1.25;
}

.raios-challenge-card__sub {
    font-size: 0.6875rem;
    color: var(--lig-text-muted);
    margin: 0 0 0.5rem;
}

.raios-challenge-card__badge {
    display: inline-block;
    font-size: 0.625rem;
    font-weight: 800;
    padding: 0.25rem 0.5rem;
    border-radius: 9999px;
    background: #7c4dff;
    color: #fff;
}

.raios-mission-card {
    flex-shrink: 0;
    width: 11rem;
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    border-radius: 0.75rem;
    overflow: hidden;
}

.raios-mission-card__banner {
    background: var(--lig-yellow);
    padding: 0.625rem;
    min-height: 3.5rem;
}

.raios-mission-card__badge {
    font-size: 0.5625rem;
    font-weight: 800;
    display: block;
}

.raios-mission-card__cat {
    font-size: 0.625rem;
    font-weight: 700;
    margin: 0.25rem 0 0;
}

.raios-mission-card__title {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.5rem 0.625rem 0;
    margin: 0;
    line-height: 1.3;
    min-height: 2.5rem;
}

.raios-mission-card__footer {
    padding: 0.5rem 0.625rem 0.625rem;
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.raios-mission-card__pts {
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lig-text);
}

.raios-mission-card__cta {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #009ee3;
    text-decoration: none;
}

.raios-earn-card {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    border-radius: 0.875rem;
    padding: 1rem 1.125rem;
}

.raios-earn-card__body {
    flex: 1;
    min-width: 0;
}

.raios-earn-card__title {
    font-size: 0.9375rem;
    font-weight: 700;
    margin: 0 0 0.25rem;
}

.raios-earn-card__sub {
    font-size: 0.8125rem;
    color: var(--lig-text-muted);
    margin: 0 0 0.75rem;
}

.raios-earn-card__art {
    font-size: 2.5rem;
    flex-shrink: 0;
}

.raios-cat-preview {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.625rem;
}

.raios-cat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.625rem;
}

.raios-cat-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    color: inherit;
}

.raios-cat-tile__media {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 0.75rem;
    background: var(--raios-cat-bg, var(--lig-surface));
    border: 1px solid var(--lig-border);
    display: flex;
    align-items: center;
    justify-content: center;
}

.raios-cat-tile__icon {
    font-size: 2rem;
    color: var(--lig-text-muted);
}

.raios-cat-tile__label {
    font-size: 0.6875rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.2;
    color: var(--lig-text);
}

.raios-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.25rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 700;
    border: none;
    cursor: pointer;
    text-decoration: none;
    min-height: 2.75rem;
}

.raios-btn--yellow {
    background: var(--lig-yellow);
    color: #1a1a1a;
    width: 100%;
}

.raios-btn--outline {
    background: var(--lig-surface);
    color: var(--lig-text);
    border: 2px solid var(--lig-text);
}

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

.raios-btn--sm {
    padding: 0.5rem 1rem;
    min-height: 2.25rem;
    font-size: 0.8125rem;
}

.raios-btn--full {
    width: 100%;
}

.raios-terms {
    text-align: center;
    margin: 1rem 0 0;
}

.raios-terms__link {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #009ee3;
    background: none;
    border: none;
    cursor: pointer;
    text-decoration: underline;
}

.raios-sub-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    background: #1a1a1a;
    color: #fff;
    min-height: 3.25rem;
    position: sticky;
    top: 0;
    z-index: 10;
}

.raios-sub-header__back {
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: #fff;
    cursor: pointer;
    border-radius: 9999px;
    flex-shrink: 0;
}

.raios-sub-header__back .material-symbols-outlined {
    font-size: 1.5rem;
    line-height: 1;
    font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 24;
}

.raios-sub-header__back:hover,
.raios-sub-header__back:focus-visible {
    background: rgba(255, 255, 255, 0.12);
    outline: none;
}

.raios-sub-header__back:active {
    background: rgba(255, 255, 255, 0.2);
}

.raios-sub-header__title {
    flex: 1;
    font-size: 1.0625rem;
    font-weight: 700;
    margin: 0;
    text-align: center;
    padding-right: 2.5rem;
}

.raios-sub-lead {
    font-size: 0.875rem;
    color: var(--lig-text-muted);
    margin: 0 0 1rem;
}

.raios-tx-balance {
    background: var(--lig-surface);
    border-radius: 0.75rem;
    padding: 1.125rem;
    text-align: center;
    margin-bottom: 1rem;
    border: 1px solid var(--lig-border);
}

.raios-tx-balance__label {
    font-size: 0.75rem;
    color: var(--lig-text-muted);
    margin: 0 0 0.25rem;
}

.raios-tx-balance__value {
    font-size: 1.5rem;
    font-weight: 800;
    margin: 0;
}

.raios-tx-list {
    background: var(--lig-surface);
    border-radius: 0.75rem;
    border: 1px solid var(--lig-border);
    overflow: hidden;
}

.raios-tx-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.125rem;
    border-bottom: 1px solid var(--lig-border);
}

.raios-tx-row:last-child {
    border-bottom: none;
}

.raios-tx-row__main {
    flex: 1;
    min-width: 0;
}

.raios-tx-row__desc {
    font-size: 0.875rem;
    font-weight: 600;
    margin: 0 0 0.125rem;
}

.raios-tx-row__date {
    font-size: 0.75rem;
    color: var(--lig-text-muted);
    margin: 0;
}

.raios-tx-row__amt {
    font-size: 0.9375rem;
    font-weight: 800;
    color: var(--lig-text-muted);
}

.raios-tx-row__amt--pos {
    color: #2e7d32;
}

.raios-empty {
    padding: 2rem 1rem;
    text-align: center;
    color: var(--lig-text-muted);
    font-size: 0.875rem;
}

.raios-terms-doc {
    font-size: 0.875rem;
    color: var(--lig-text-muted);
    line-height: 1.5;
}

.raios-terms-doc ul {
    padding-left: 1.25rem;
    margin: 1rem 0;
}

.raios-order-earned {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--lig-yellow-text);
    text-align: center;
    margin: 0 0 1rem;
}

.raios-order-earned a {
    color: #009ee3;
    text-decoration: underline;
}

.lig-bottom-nav-grid--5 .text-\[10px\] {
    font-size: 9px;
}

.lig-bottom-nav-grid--5 .material-symbols-outlined {
    font-size: 22px;
}

.lig-bottom-nav-grid--6 .text-\[10px\] {
    font-size: 8px;
}

.lig-bottom-nav-grid--6 .material-symbols-outlined {
    font-size: 20px;
}

.lig-bottom-nav-grid--6 .min-h-\[56px\] {
    min-height: 52px;
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
}

/* ?? Ofertas (estilo BEES) ?? */
.ofertas-body {
    background: var(--lig-bg);
}

.ofertas-page {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.ofertas-shell {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding-bottom: 0;
    width: 100%;
    max-width: none;
}

.ofertas-header {
    padding: 0.875rem 1rem;
    padding-top: 0.875rem;
    background: var(--lig-surface);
    border-bottom: 1px solid var(--lig-border);
    text-align: center;
    width: 100%;
    box-sizing: border-box;
}

.ofertas-header__title {
    margin: 0;
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--lig-text);
}

.ofertas-header__lead {
    margin: 0.35rem 0 0;
    font-size: 0.8125rem;
    color: var(--lig-text-muted, var(--lig-text-secondary, #64748b));
}

.meus-pedidos-page {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.meus-pedidos-shell {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding-bottom: 0;
    width: 100%;
    max-width: none;
}

.meus-pedidos-header {
    padding: 0.875rem 1rem;
    padding-top: 0.875rem;
    background: var(--lig-surface);
    border-bottom: 1px solid var(--lig-border);
    text-align: center;
    width: 100%;
    box-sizing: border-box;
}

.meus-pedidos-header__title {
    margin: 0;
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--lig-text);
}

.meus-pedidos-header__lead {
    margin: 0.35rem 0 0;
    font-size: 0.8125rem;
    color: var(--lig-text-muted, var(--lig-text-secondary, #64748b));
}

.meus-pedidos-filters {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5rem;
    padding: 0.65rem 1rem;
    background: var(--lig-surface);
    border-bottom: 1px solid var(--lig-border);
    position: sticky;
    top: var(--ze-header-offset, 0px);
    z-index: 40;
    width: 100%;
    box-sizing: border-box;
}

@media (max-width: 639px) {
    .meus-pedidos-filters {
        grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.9fr);
        gap: 0.45rem;
    }

    .meus-pedidos-filters__field--search {
        grid-column: 1 / -1;
    }

    .meus-pedidos-filters__clear {
        grid-column: 1 / -1;
    }

    .meus-pedidos-filters__field {
        min-height: 2.75rem;
        padding: 0 0.55rem;
    }

    .meus-pedidos-filters__field--status {
        min-width: 0;
    }

    .meus-pedidos-filters__field--status select {
        font-size: 0.8125rem;
    }

    .meus-pedidos-header__lead {
        display: none;
    }

    .conta-order-detail {
        padding: 0.9rem 0.9rem 0.85rem;
    }

    .conta-order-detail__badge {
        max-width: min(100%, 9.75rem);
    }

    .conta-order-detail__summary-meta {
        gap: 0.4rem;
    }
}

@media (min-width: 640px) {
    .meus-pedidos-filters {
        grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 0.9fr) auto;
        align-items: center;
    }
}

.meus-pedidos-filters__field {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
    margin: 0;
    padding: 0 0.75rem;
    min-height: 2.75rem;
    border: 1px solid var(--lig-border);
    border-radius: 0.75rem;
    background: var(--lig-bg, var(--lig-surface-alt, #f8fafc));
    color: var(--lig-text-muted);
}

.meus-pedidos-filters__field .material-symbols-outlined {
    font-size: 1.15rem;
    flex-shrink: 0;
}

.meus-pedidos-filters__status-glyph {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    flex-shrink: 0;
}

.meus-pedidos-filters__status-glyph svg {
    width: 1.05rem;
    height: 1.05rem;
    display: block;
}

.meus-pedidos-filters__field input,
.meus-pedidos-filters__field select {
    flex: 1;
    min-width: 0;
    border: 0;
    background: transparent;
    color: var(--lig-text);
    font-size: 0.875rem;
    font-weight: 600;
    outline: none;
    min-height: 2.5rem;
}

.meus-pedidos-filters__field--status select {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 0.15rem;
}

.meus-pedidos-filters__field input[type='date'] {
    color-scheme: light dark;
}

.meus-pedidos-filters__field--status .meus-pedidos-filters__status-icon {
    font-variation-settings: 'FILL' 1, 'wght' 600, 'GRAD' 0, 'opsz' 20;
}

.meus-pedidos-filters__field--tone-wait {
    border-color: color-mix(in srgb, var(--lig-status-wait-fg) 35%, var(--lig-border));
    background: var(--lig-status-wait-bg);
    color: var(--lig-status-wait-fg);
}

.meus-pedidos-filters__field--tone-ok {
    border-color: color-mix(in srgb, var(--lig-status-ok-fg) 35%, var(--lig-border));
    background: var(--lig-status-ok-bg);
    color: var(--lig-status-ok-fg);
}

.meus-pedidos-filters__field--tone-danger {
    border-color: color-mix(in srgb, var(--lig-status-danger-fg) 35%, var(--lig-border));
    background: var(--lig-status-danger-bg);
    color: var(--lig-status-danger-fg);
}

.meus-pedidos-filters__field--tone-info {
    border-color: color-mix(in srgb, var(--lig-status-info-fg) 35%, var(--lig-border));
    background: var(--lig-status-info-bg);
    color: var(--lig-status-info-fg);
}

.meus-pedidos-filters__field--tone-progress {
    border-color: color-mix(in srgb, var(--lig-status-progress-fg) 35%, var(--lig-border));
    background: var(--lig-status-progress-bg);
    color: var(--lig-status-progress-fg);
}

.meus-pedidos-filters__field--tone-wait select,
.meus-pedidos-filters__field--tone-ok select,
.meus-pedidos-filters__field--tone-danger select,
.meus-pedidos-filters__field--tone-info select,
.meus-pedidos-filters__field--tone-progress select {
    color: inherit;
    font-weight: 700;
}

.meus-pedidos-filters__clear {
    min-height: 2.75rem;
    padding: 0 1rem;
    border-radius: 9999px;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface);
    color: var(--lig-text);
    font-size: 0.8125rem;
    font-weight: 700;
    cursor: pointer;
}

.meus-pedidos-count {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--lig-text-muted);
}

.meus-pedidos-list {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.meus-pedidos-load-more {
    display: flex;
    justify-content: center;
    margin-top: 0.85rem;
}

.meus-pedidos-load-more__btn {
    min-width: 11rem;
}

.conta-order-detail__summary {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
    color: inherit;
    font: inherit;
}

.conta-order-detail__summary-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.7rem;
    padding-top: 0.7rem;
    border-top: 1px solid var(--lig-border);
    font-size: 0.8125rem;
    color: var(--lig-text-muted);
}

.conta-order-detail__meta-copy {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.conta-order-detail__summary-meta span:first-child {
    flex: 1;
    min-width: 0;
}

.conta-order-detail__meta-total,
.conta-order-detail__summary-meta strong {
    color: var(--lig-text);
    font-weight: 800;
    white-space: nowrap;
}

.conta-order-detail__chev {
    font-size: 1.25rem;
    color: var(--lig-text-subtle, var(--lig-text-muted));
    flex-shrink: 0;
}

.conta-order-detail__panel[hidden] {
    display: none !important;
}

.conta-order-detail__panel {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--lig-border);
}

.meus-pedidos-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem;
}

body[data-page='meus-pedidos'] #lig-page-main {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 0;
}

body[data-page='meus-pedidos'] .meus-pedidos-page {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.meus-pedidos-shell--empty {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.meus-pedidos-shell--empty .meus-pedidos-body {
    flex: 1;
    justify-content: center;
    align-items: center;
}

.meus-pedidos-empty {
    width: 100%;
    max-width: 28rem;
    margin: 0 auto;
}

.meus-pedidos-empty__btn {
    width: auto;
    min-width: 12rem;
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .meus-pedidos-header,
    .meus-pedidos-filters {
        padding-left: max(1rem, calc((100% - min(72rem, 96vw)) / 2));
        padding-right: max(1rem, calc((100% - min(72rem, 96vw)) / 2));
    }

    .meus-pedidos-body {
        max-width: min(72rem, 96vw);
        margin-left: auto;
        margin-right: auto;
        width: 100%;
        box-sizing: border-box;
    }

    .meus-pedidos-shell--empty .meus-pedidos-body {
        min-height: min(28rem, calc(100vh - 14rem));
        padding: 2rem 1.5rem 3rem;
    }

    .meus-pedidos-empty {
        padding: 3rem 2rem;
    }

    .meus-pedidos-header__lead {
        display: block;
    }
}

.ofertas-status {
    margin: 0.75rem 1rem;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    text-align: center;
    color: var(--lig-text-muted, var(--lig-text-secondary, #64748b));
    background: var(--lig-surface-2);
    border-radius: 0.75rem;
}

.ofertas-status__retry {
    margin-left: 0.35rem;
    font-weight: 600;
    color: var(--lig-primary, #0d9488);
    text-decoration: underline;
    background: none;
    border: 0;
    cursor: pointer;
}

.ofertas-toolbar {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 0.625rem;
    padding: 0.75rem 1rem;
    background: var(--lig-surface);
    border-bottom: 1px solid var(--lig-border);
    width: 100%;
    box-sizing: border-box;
}

.ofertas-toolbar__btn,
.ofertas-toolbar__sort {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 2.5rem;
    padding: 0 0.75rem;
    border: 1px solid var(--lig-border);
    border-radius: 999px;
    background: var(--lig-surface-alt);
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--lig-text);
}

.ofertas-toolbar__btn {
    cursor: pointer;
}

.ofertas-toolbar__chev {
    font-size: 1.125rem !important;
    color: var(--lig-text-subtle);
}

.ofertas-toolbar__sort {
    position: relative;
}

.ofertas-toolbar__select {
    appearance: none;
    width: 100%;
    border: none;
    background: transparent;
    font: inherit;
    color: inherit;
    padding-right: 1.25rem;
    cursor: pointer;
}

.ofertas-toolbar__select:focus {
    outline: none;
}

.ofertas-toolbar__sort-icon {
    position: absolute;
    right: 0.65rem;
    font-size: 1.125rem !important;
    color: var(--lig-text-subtle);
    pointer-events: none;
}

.ofertas-filter-panel {
    padding: 0 1rem 0.75rem;
    background: var(--lig-surface);
    border-bottom: 1px solid var(--lig-border);
    width: 100%;
    box-sizing: border-box;
}

.ofertas-filter-panel__select {
    width: 100%;
    min-height: 2.5rem;
    padding: 0 0.75rem;
    border: 1px solid var(--lig-border);
    border-radius: 0.5rem;
    background: var(--lig-surface);
    font-size: 0.875rem;
    color: var(--lig-text);
}

.ofertas-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
    padding: 0 1rem 0.75rem;
    background: var(--lig-surface);
}

.ofertas-tabs--duo {
    grid-template-columns: repeat(2, 1fr);
}

.ofertas-tab {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    padding: 0.625rem 0.35rem;
    border: 2px solid var(--lig-border);
    border-radius: 0.625rem;
    background: var(--lig-surface);
    cursor: pointer;
    transition: border-color 0.15s;
}

.ofertas-tab--active {
    border-color: #009ee3;
}

.ofertas-tab__icon {
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ofertas-tab__icon .material-symbols-outlined {
    font-size: 1.75rem;
    color: var(--lig-text-muted);
}

.ofertas-tab--active .ofertas-tab__icon .material-symbols-outlined {
    color: #009ee3;
}

.ofertas-tab__label {
    font-size: 0.6875rem;
    font-weight: 700;
    color: var(--lig-text);
}

.ofertas-list {
    flex: 1;
    background: var(--lig-surface);
}

.ofertas-promos-grid.totem-promos__grid {
    padding: 0.75rem 0.85rem 1.25rem;
    overflow: visible;
}

.ofertas-promos-grid .totem-product {
    cursor: default;
}

.ofertas-promos-grid .totem-qty-btn {
    cursor: pointer;
}

.ofertas-promos-grid .totem-promo-unit-btn {
    cursor: pointer;
}

/* ?? Parceiros: cards de produto estilo Totem ?? */
.parceiros-catalog-grid.totem-grid {
    width: 100%;
    padding: 0.25rem 0 1rem;
    align-items: stretch;
    grid-auto-rows: 1fr;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 640px) {
    .parceiros-catalog-grid.totem-grid--grid-m {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1280px) {
    .parceiros-catalog-grid.totem-grid--grid-m {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.ofertas-promos-grid .totem-grid--grid-m.totem-grid--promos {
    align-items: stretch;
    grid-auto-rows: 1fr;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 640px) {
    .ofertas-promos-grid .totem-grid--grid-m.totem-grid--promos {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 768px) {
    .ofertas-promos-grid .totem-grid--grid-m.totem-grid--promos {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 1280px) {
    .ofertas-promos-grid .totem-grid--grid-m.totem-grid--promos {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

:is(.parceiros-catalog-grid, .ofertas-promos-grid) .totem-product {
    height: auto;
    min-height: 100%;
    align-self: stretch;
}

:is(.parceiros-catalog-grid, .ofertas-promos-grid) .totem-product__body {
    flex: 1 1 auto;
    min-height: 0;
}

:is(.parceiros-catalog-grid, .ofertas-promos-grid) .totem-product__pricing {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

:is(.parceiros-catalog-grid, .ofertas-promos-grid) .totem-product__meta {
    flex: 1 1 auto;
}

:is(.parceiros-catalog-grid, .ofertas-promos-grid) .totem-product__qty {
    margin-top: auto;
}

:is(.parceiros-catalog-grid, .ofertas-promos-grid) .totem-product .ze-price-tiers,
:is(.parceiros-catalog-grid, .ofertas-promos-grid) .totem-promo-unit-toggle:not(.totem-promo-unit-toggle--spacer) {
    flex-wrap: nowrap;
}

.ze-price-tiers-slot--spacer,
.totem-promo-unit-toggle--spacer {
    height: 2.15rem;
    min-height: 2.15rem;
    margin: 0;
    visibility: hidden;
    pointer-events: none;
}

.totem-product__promo-valid--spacer {
    min-height: 1.2rem;
    margin: 0;
    visibility: hidden;
    pointer-events: none;
}

:is(.parceiros-catalog-grid, .ofertas-promos-grid) .totem-price-card {
    display: grid;
    grid-template-rows: auto minmax(1.05em, auto) minmax(1.05em, auto);
    gap: 0.12rem;
}

:is(.parceiros-catalog-grid, .ofertas-promos-grid) .totem-price-card__main {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.1rem;
}

:is(.parceiros-catalog-grid, .ofertas-promos-grid) .totem-product__price-old,
:is(.parceiros-catalog-grid, .ofertas-promos-grid) .totem-product__price-old--spacer {
    display: block;
    width: 100%;
    min-height: 1em;
    margin: 0;
    font-size: 0.72em;
    font-weight: 600;
    line-height: 1.15;
    text-align: center;
    text-decoration: line-through;
    color: var(--lig-text-subtle);
}

:is(.parceiros-catalog-grid, .ofertas-promos-grid) .totem-product__price-old--spacer {
    visibility: hidden;
    pointer-events: none;
}

/* Reserva altura das linhas de preço (UN↔CX) — evita salto no carrossel/grid.
   Precisa vencer .totem-price-card__*:empty { display:none } do totem.css. */
:is(
    .parceiros-catalog-grid,
    .ofertas-promos-grid,
    .parceiros-product-scroll,
    .home-suggested-scroll,
    .ze-product-scroll
) .totem-price-card__detail:empty,
:is(
    .parceiros-catalog-grid,
    .ofertas-promos-grid,
    .parceiros-product-scroll,
    .home-suggested-scroll,
    .ze-product-scroll
) .totem-price-card__unit:empty {
    display: block !important;
    visibility: hidden;
    min-height: 1.05em;
    margin: 0;
}

/* Não reexecutar totem-card-in (spring) ao trocar UN/CX — causa tremor na tela. */
:is(
    .parceiros-catalog-grid,
    .ofertas-promos-grid,
    .parceiros-product-scroll,
    .home-suggested-scroll,
    .ze-product-scroll
) .totem-product {
    animation: none;
    overflow-anchor: none;
}

@media (max-width: 767px) {
    :is(
        .parceiros-catalog-grid,
        .ofertas-promos-grid,
        .parceiros-product-scroll,
        .home-suggested-scroll,
        .ze-product-scroll
    ) .totem-product {
        transition:
            background 0.18s ease,
            border-color 0.18s ease,
            box-shadow 0.18s ease;
    }
}

.parceiros-catalog-empty {
    grid-column: 1 / -1;
    padding: 3rem 1rem;
    text-align: center;
    color: var(--lig-text-subtle);
    font-size: 0.875rem;
}

/* Carross?is (In?cio) ? r?plica visual do totem-grid--grid-m */
.parceiros-product-scroll,
.ze-product-scroll:has(.totem-product),
.home-suggested-scroll:has(.totem-product) {
    --totem-grid-min: clamp(7.25rem, 13vw, 10.25rem);
    --totem-grid-gap: clamp(0.55rem, 1.1vw, 0.85rem);
    --totem-grid-name-size: 0.7rem;
    --totem-grid-name-lines: 2;
    display: flex;
    flex-wrap: nowrap;
    gap: var(--totem-grid-gap);
    align-items: stretch;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 1rem 0.25rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
    overflow-anchor: none;
}

@media (max-width: 767px) {
    .parceiros-product-scroll,
    .ze-product-scroll:has(.totem-product),
    .home-suggested-scroll:has(.totem-product) {
        --totem-grid-min: min(10.25rem, 42vw);
        --totem-grid-gap: 0.65rem;
    }
}

.parceiros-product-scroll::-webkit-scrollbar,
.ze-product-scroll:has(.totem-product)::-webkit-scrollbar,
.home-suggested-scroll:has(.totem-product)::-webkit-scrollbar {
    display: none;
}

.parceiros-product-scroll .totem-product,
.ze-product-scroll:has(.totem-product) .totem-product,
.home-suggested-scroll:has(.totem-product) .totem-product {
    flex: 0 0 var(--totem-grid-min);
    min-width: var(--totem-grid-min);
    max-width: var(--totem-grid-min);
    width: var(--totem-grid-min);
    height: auto;
    min-height: 100%;
    align-self: stretch;
    background: rgba(255, 255, 255, 0.35);
    border: 1px solid transparent;
    box-shadow: none;
    border-radius: 0.75rem;
    padding: 0;
    overflow: hidden;
    transition:
        background 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.22s ease,
        transform 0.28s var(--totem-ease-spring, cubic-bezier(0.34, 1.56, 0.64, 1));
}

.parceiros-product-scroll .totem-product:hover,
.ze-product-scroll:has(.totem-product) .totem-product:hover,
.home-suggested-scroll:has(.totem-product) .totem-product:hover {
    background: rgba(255, 255, 255, 0.92);
    border-color: rgba(20, 18, 15, 0.08);
    box-shadow: var(--lig-shadow-sm);
}

.parceiros-product-scroll .totem-product--selected,
.ze-product-scroll:has(.totem-product) .totem-product--selected,
.home-suggested-scroll:has(.totem-product) .totem-product--selected {
    background: rgba(240, 201, 41, 0.14);
    border-color: rgba(240, 201, 41, 0.5);
    box-shadow:
        0 0 0 2px rgba(240, 201, 41, 0.18),
        var(--lig-shadow-sm);
}

.parceiros-product-scroll .totem-product__media,
.ze-product-scroll:has(.totem-product) .totem-product__media,
.home-suggested-scroll:has(.totem-product) .totem-product__media {
    position: relative;
    width: 100%;
    margin: 0;
    height: auto;
    aspect-ratio: 1;
    max-height: none;
    border-radius: 0;
    border: none;
    background: var(--lig-media-bg);
}

.parceiros-product-scroll .totem-product__media::after,
.ze-product-scroll:has(.totem-product) .totem-product__media::after,
.home-suggested-scroll:has(.totem-product) .totem-product__media::after {
    display: none;
}

.parceiros-product-scroll .totem-product__body,
.ze-product-scroll:has(.totem-product) .totem-product__body,
.home-suggested-scroll:has(.totem-product) .totem-product__body {
    align-items: center;
    text-align: center;
    padding: 0.3rem 0.35rem 0.45rem;
    gap: 0.28rem;
}

.parceiros-product-scroll .totem-product__name,
.ze-product-scroll:has(.totem-product) .totem-product__name,
.home-suggested-scroll:has(.totem-product) .totem-product__name {
    width: 100%;
    text-align: center;
    font-size: var(--totem-grid-name-size);
    min-height: calc(var(--totem-grid-name-lines) * 1.25 * var(--totem-grid-name-size));
    -webkit-line-clamp: var(--totem-grid-name-lines);
}

.parceiros-product-scroll .totem-product .ze-price-tiers-slot,
.ze-product-scroll:has(.totem-product) .totem-product .ze-price-tiers-slot,
.home-suggested-scroll:has(.totem-product) .totem-product .ze-price-tiers-slot {
    width: 100%;
}

.parceiros-product-scroll .totem-product__meta .totem-price-card,
.ze-product-scroll:has(.totem-product) .totem-product__meta .totem-price-card,
.home-suggested-scroll:has(.totem-product) .totem-product__meta .totem-price-card {
    padding: 0.25rem 0.15rem 0;
    background: transparent;
    border: none;
    box-shadow: none;
}

.parceiros-product-scroll .totem-product__meta .totem-price-card__main,
.ze-product-scroll:has(.totem-product) .totem-product__meta .totem-price-card__main,
.home-suggested-scroll:has(.totem-product) .totem-product__meta .totem-price-card__main {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.1rem;
}

.parceiros-product-scroll .totem-product__price-old,
.parceiros-product-scroll .totem-product__price-old--spacer,
.ze-product-scroll:has(.totem-product) .totem-product__price-old,
.ze-product-scroll:has(.totem-product) .totem-product__price-old--spacer,
.home-suggested-scroll:has(.totem-product) .totem-product__price-old,
.home-suggested-scroll:has(.totem-product) .totem-product__price-old--spacer {
    display: block;
    width: 100%;
    min-height: 1em;
    margin: 0;
    font-size: 0.72em;
    font-weight: 600;
    line-height: 1.15;
    text-align: center;
    text-decoration: line-through;
    color: var(--lig-text-subtle);
}

.parceiros-product-scroll .totem-product__price-old--spacer,
.ze-product-scroll:has(.totem-product) .totem-product__price-old--spacer,
.home-suggested-scroll:has(.totem-product) .totem-product__price-old--spacer {
    visibility: hidden;
    pointer-events: none;
}

.parceiros-product-scroll .totem-product__qty,
.ze-product-scroll:has(.totem-product) .totem-product__qty,
.home-suggested-scroll:has(.totem-product) .totem-product__qty {
    width: 100%;
    padding-top: 0.15rem;
    margin-top: auto;
}

.parceiros-product-scroll .totem-product .ze-price-tier__promo,
.ze-product-scroll:has(.totem-product) .totem-product .ze-price-tier__promo,
.home-suggested-scroll:has(.totem-product) .totem-product .ze-price-tier__promo {
    display: none;
}

.ze-catalog-main .parceiros-catalog-grid .totem-product {
    min-width: 0;
}

html.parceiros-detail-open {
    overflow: hidden;
}

html.parceiros-detail-open body {
    overflow: hidden;
}

#parceiros-product-detail.totem-detail {
    z-index: 200;
}

.ofertas-empty {
    padding: 2.5rem 1rem;
    text-align: center;
    color: var(--lig-text-muted);
    font-size: 0.875rem;
}

.ofertas-section {
    margin: 0 0 1.25rem;
}

.ofertas-section__title {
    margin: 0 0 0.65rem;
    padding: 0 0.85rem;
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--lig-text-subtle);
}

.ofertas-mkt-gallery {
    padding: 0 1rem 1rem;
    background: var(--lig-surface);
}

.ofertas-mkt-gallery__title {
    margin: 0 0 0.75rem;
    font-family: 'Hanken Grotesk', system-ui, sans-serif;
    font-size: 1rem;
    font-weight: 800;
    color: var(--lig-text);
}

.ofertas-mkt-gallery__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.625rem;
}

.ofertas-mkt-gallery__item {
    margin: 0;
    border-radius: 0.625rem;
    overflow: hidden;
    background: var(--lig-media-bg);
    border: 1px solid var(--lig-border);
}

.ofertas-mkt-gallery__img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

@media (min-width: 640px) {
    .ofertas-mkt-gallery__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.ofertas-product-row {
    display: grid;
    grid-template-columns: 6.5rem 1fr;
    gap: 0.75rem;
    padding: 1rem;
    border-bottom: 1px solid var(--lig-border);
}

.ofertas-product-row__media {
    position: relative;
    width: 6.5rem;
    height: 6.5rem;
    border-radius: 0.5rem;
    background: var(--lig-media-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.ofertas-product-row__img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.ofertas-product-row__badge {
    position: absolute;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    padding: 0.15rem 0.35rem;
    border-radius: 0.2rem;
    color: #fff;
}

.ofertas-product-row__badge--pack {
    bottom: 0.25rem;
    right: 0.25rem;
    padding: 0.22rem 0.38rem 0.2rem;
    border-radius: 0.45rem;
    background: linear-gradient(165deg, #f7d53c 0%, #f3c614 100%);
    color: #ffffff;
    border: 1.5px solid rgba(255, 255, 255, 0.85);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.22);
}

.ofertas-product-row__badge--pct {
    bottom: 0.25rem;
    left: 0.25rem;
    background: #c62828;
}

.ofertas-product-row__body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.ofertas-product-row__name {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--lig-text);
}

.ofertas-product-row__sub {
    margin: 0;
    font-size: 0.6875rem;
    color: var(--lig-text-muted);
}

.ofertas-product-row__prices {
    margin: 0.15rem 0 0;
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.ofertas-product-row__old {
    font-size: 0.75rem;
    color: var(--lig-text-subtle);
    text-decoration: line-through;
}

.ofertas-product-row__price {
    font-size: 0.9375rem;
    font-weight: 800;
    color: #2e7d32;
}

.ofertas-product-row__seller {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.2rem;
    font-size: 0.6875rem;
    color: var(--lig-text-muted);
}

.ofertas-product-row__seller .material-symbols-outlined {
    font-size: 0.875rem;
}

.ofertas-product-row__promo {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--lig-text);
}

.ofertas-product-row__actions {
    margin-top: 0.5rem;
}

.ofertas-product-row__actions .ze-add-btn,
.ofertas-product-row__actions .ze-qty-stepper {
    width: 100%;
    max-width: 12rem;
}

.ofertas-points-row {
    display: grid;
    grid-template-columns: 5.5rem 1fr;
    gap: 0.75rem;
    padding: 1rem;
    border-bottom: 1px solid var(--lig-border);
    position: relative;
}

.ofertas-points-row__img {
    width: 5.5rem;
    height: 5.5rem;
    border-radius: 0.5rem;
    object-fit: cover;
    background: #ffeb3b;
}

.ofertas-points-row__img--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--lig-surface-muted);
    color: var(--lig-text-subtle);
}

.ofertas-points-row__body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding-bottom: 1.75rem;
}

.ofertas-points-row__timer {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #e65100;
}

.ofertas-points-row__dot {
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 50%;
    background: #e65100;
}

.ofertas-points-row__title {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.35;
    color: #1a1a1a;
}

.ofertas-points-row__sub {
    margin: 0;
    font-size: 0.75rem;
    color: #666;
}

.ofertas-points-row__more {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #009ee3;
    text-decoration: none;
    align-self: flex-start;
}

.ofertas-points-row__pts {
    position: absolute;
    left: 1rem;
    bottom: 0.85rem;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem 0.5rem;
    border-radius: 999px;
    background: #1a1a1a;
    color: #fff;
    font-size: 0.6875rem;
    font-weight: 700;
}

.ofertas-combo-row {
    display: grid;
    grid-template-columns: 5.5rem 1fr;
    gap: 0.75rem;
    padding: 1rem;
    border-bottom: 1px solid #eee;
}

.ofertas-combo-row__media {
    width: 5.5rem;
    height: 5.5rem;
    border-radius: 0.5rem;
    background: linear-gradient(145deg, #f5f5f5, #e8e8e8);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ofertas-combo-row__icon {
    font-size: 2rem !important;
    color: #555;
}

.ofertas-combo-row__name {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 700;
    color: #1a1a1a;
}

.ofertas-combo-row__sub {
    margin: 0.15rem 0 0;
    font-size: 0.75rem;
    color: #666;
    line-height: 1.4;
}

.ofertas-combo-row__prices {
    margin: 0.35rem 0 0;
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
}

.ofertas-combo-row__old {
    font-size: 0.75rem;
    color: #999;
    text-decoration: line-through;
}

.ofertas-combo-row__price {
    font-size: 0.9375rem;
    font-weight: 800;
    color: #2e7d32;
}

.ofertas-combo-row__seller {
    margin: 0.15rem 0 0;
    display: flex;
    align-items: center;
    gap: 0.2rem;
    font-size: 0.6875rem;
    color: #888;
}

.ofertas-combo-row__seller .material-symbols-outlined {
    font-size: 0.875rem;
}

.ofertas-combo-row__add {
    margin-top: 0.5rem;
    width: 100%;
    max-width: 14rem;
    min-height: 2.25rem;
    border: none;
    border-radius: 999px;
    background: #e8e8e8;
    color: #333;
    font-size: 0.8125rem;
    font-weight: 700;
    cursor: pointer;
}

.ofertas-combo-row__add:hover {
    background: #ddd;
}

@media (max-width: 767px) {
    body[data-page='ofertas'] #lig-page-main {
        padding: 0;
    }
}

body[data-page='ofertas'] #lig-page-main {
    padding: 0;
}

@media (min-width: 768px) {
    .ofertas-header,
    .ofertas-toolbar,
    .ofertas-filter-panel {
        padding-left: max(1rem, calc((100% - min(72rem, 96vw)) / 2));
        padding-right: max(1rem, calc((100% - min(72rem, 96vw)) / 2));
    }

    .ofertas-list,
    .ofertas-status {
        max-width: min(72rem, 96vw);
        margin-left: auto;
        margin-right: auto;
        width: 100%;
        box-sizing: border-box;
    }
}

/* ?? Caminh?o (carrinho distribuidora) ?? */
.caminhao-body {
    background: var(--lig-bg);
}

.caminhao-page {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.caminhao-shell {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding-bottom: 0;
}

@media (max-width: 767px) {
    html.lig-app-mode .caminhao-shell {
        padding-bottom: calc(5.25rem + env(safe-area-inset-bottom, 0px));
    }

    html.lig-app-mode.lig-has-float-cart .caminhao-shell {
        padding-bottom: calc(5.25rem + env(safe-area-inset-bottom, 0px));
    }

    html.lig-app-mode .caminhao-sticky-foot {
        bottom: calc(var(--lig-tab-bar-h) + env(safe-area-inset-bottom, 0px));
        z-index: 55;
        padding-bottom: calc(0.625rem + env(safe-area-inset-bottom, 0px));
    }

    html.lig-checkout-flow .caminhao-shell,
    html.lig-checkout-flow.lig-app-mode .caminhao-shell,
    html.lig-checkout-flow.lig-app-mode.lig-has-float-cart .caminhao-shell {
        padding-bottom: 0;
    }

    html.lig-checkout-flow .caminhao-sticky-foot,
    html.lig-checkout-flow.lig-app-mode .caminhao-sticky-foot {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        z-index: 40;
        padding: 0.75rem 1rem max(0.75rem, env(safe-area-inset-bottom, 0px));
    }
}

.caminhao-header {
    display: grid;
    grid-template-columns: 2.5rem 1fr 2.5rem;
    align-items: start;
    background: var(--lig-yellow);
    padding: 0.875rem 1rem 1rem;
    padding-top: max(0.875rem, env(safe-area-inset-top, 0px));
}

.caminhao-header__back {
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: var(--lig-on-yellow);
    cursor: pointer;
    border-radius: 9999px;
    padding: 0;
}

.caminhao-header__back .material-symbols-outlined {
    font-size: 1.5rem;
    line-height: 1;
}

.caminhao-header__back:active {
    background: var(--lig-on-yellow-surface-press);
}

.caminhao-header__main {
    grid-column: 2;
    text-align: center;
}

.caminhao-header__title {
    margin: 0 0 0.5rem;
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--lig-on-yellow);
}

.caminhao-header__store-line {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.15rem;
    margin: 0;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--lig-on-yellow-muted);
}

.caminhao-header__store-line .material-symbols-outlined {
    font-size: 1.125rem;
}

.caminhao-header__store {
    display: none;
}

.caminhao-header__count {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--lig-on-yellow-muted);
}

.caminhao-header__count--empty {
    font-weight: 500;
    opacity: 0.85;
}

.caminhao-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0.75rem 1rem 1rem;
    gap: 0.75rem;
}

.caminhao-products {
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    border-radius: 1rem;
    padding: 1rem;
    box-shadow: var(--lig-shadow-sm);
}

.caminhao-products__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.caminhao-products__title {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    color: var(--lig-text);
}

.caminhao-products__badge {
    background: var(--lig-yellow);
    color: #1a1a1a;
    font-size: 0.75rem;
    font-weight: 800;
    min-width: 1.75rem;
    height: 1.75rem;
    padding: 0 0.5rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.caminhao-products__list {
    display: grid;
    gap: 0.75rem;
}

.caminhao-product {
    position: relative;
    border: 1px solid var(--lig-border);
    border-radius: 0.875rem;
    padding: 0.875rem;
    background: var(--lig-bg);
}

.caminhao-product__remove {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    width: 1.75rem;
    height: 1.75rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--lig-text-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.caminhao-product__remove .material-symbols-outlined {
    font-size: 1.125rem;
}

.caminhao-product__top {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    padding-right: 1.5rem;
}

.caminhao-product__thumb-box {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 0.5rem;
    overflow: hidden;
    background: var(--lig-media-bg);
    border: 1px solid var(--lig-border);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-sizing: border-box;
}

.caminhao-product__thumb {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: contain;
    object-position: center;
    display: block;
    border-radius: 0;
    background: transparent;
    border: 0;
}

.caminhao-product__thumb--placeholder {
    color: var(--lig-text-muted);
}

.caminhao-product__thumb--placeholder .material-symbols-outlined {
    font-size: 1.375rem;
}

.caminhao-product__info {
    flex: 1;
    min-width: 0;
}

.caminhao-product__name {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--lig-text);
}

.caminhao-product__detail {
    margin: 0.2rem 0 0.35rem;
    font-size: 0.75rem;
    color: var(--lig-text-muted);
}

.caminhao-product__discount {
    margin: 0 0 0.25rem;
    font-size: 0.6875rem;
    font-weight: 700;
    color: var(--lig-success-fg);
}

.caminhao-product__prices {
    margin: 0;
    display: flex;
    align-items: baseline;
    gap: 0.35rem;
}

.caminhao-product__was {
    font-size: 0.75rem;
    color: var(--lig-text-muted);
    text-decoration: line-through;
}

.caminhao-product__price {
    font-size: 0.875rem;
    font-weight: 800;
    color: var(--lig-success-fg);
}

.caminhao-product__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.caminhao-product__stepper {
    display: inline-flex;
    align-items: center;
    gap: 0;
    border: 1px solid var(--lig-border);
    border-radius: 999px;
    background: var(--lig-surface);
    overflow: hidden;
}

.caminhao-product__qty {
    width: 2.25rem;
    height: 2.25rem;
    border: 0;
    background: transparent;
    color: var(--lig-text);
    font-size: 1.125rem;
    font-weight: 700;
    cursor: pointer;
}

.caminhao-product__qty-val {
    min-width: 2.5rem;
    text-align: center;
    font-size: 0.9375rem;
    font-weight: 800;
}

.caminhao-product__line-total {
    font-size: 1rem;
    font-weight: 800;
    color: var(--lig-success-fg);
    white-space: nowrap;
}

.caminhao-clear-all {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.875rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--lig-border);
    border-radius: 999px;
    background: var(--lig-surface);
    color: var(--lig-text);
    font-size: 0.8125rem;
    font-weight: 700;
    cursor: pointer;
}

.caminhao-clear-all__icon,
.caminhao-clear-all__glyph {
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 999px;
    background: var(--lig-yellow);
    color: #1a1a1a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    line-height: 1;
    font-weight: 800;
}

.caminhao-continue-link {
    display: block;
    text-align: center;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--lig-text-muted);
    text-decoration: none;
    margin-bottom: 0.25rem;
}

.caminhao-sticky-foot {
    position: relative;
    flex-shrink: 0;
    z-index: 40;
    background: var(--lig-surface);
    border-top: 1px solid var(--lig-border);
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.06);
    padding: 0.75rem 1rem max(0.75rem, env(safe-area-inset-bottom, 0px));
}

.caminhao-savings {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0 0 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--lig-success-fg);
}

.caminhao-savings .material-symbols-outlined {
    font-size: 1rem;
}

.caminhao-sticky-foot__bar {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.75rem;
    align-items: center;
}

.caminhao-sticky-foot__label {
    display: block;
    font-size: 0.75rem;
    color: var(--lig-text-muted);
}

.caminhao-sticky-foot__value {
    display: block;
    font-size: 1.125rem;
    font-weight: 800;
    line-height: 1.25;
    font-variant-numeric: tabular-nums;
    color: var(--lig-text);
}

.caminhao-continue-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 3rem;
    padding: 0.5rem 0.5rem 0.5rem 1.125rem;
    border: none;
    border-radius: 999px;
    background: #1a1a1a;
    color: #fff;
    font-size: 0.9375rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

.caminhao-continue-btn__icon {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 999px;
    background: var(--lig-yellow);
    color: #1a1a1a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.caminhao-continue-btn__icon .material-symbols-outlined {
    font-size: 1.25rem;
}

.caminhao-pay-btn--disabled,
.caminhao-continue-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.caminhao-empty {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem 1.5rem 3rem;
    text-align: center;
}

.caminhao-empty__art {
    margin-bottom: 1.5rem;
}

.caminhao-empty__svg {
    width: 11rem;
    height: auto;
    display: block;
}

.caminhao-empty__title {
    margin: 0 0 0.5rem;
    font-size: 1.375rem;
    font-weight: 800;
    color: var(--lig-text);
}

.caminhao-empty__text {
    margin: 0 0 1.5rem;
    font-size: 0.9375rem;
    color: var(--lig-text-muted);
    max-width: 16rem;
    line-height: 1.45;
}

.caminhao-empty__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 14rem;
    min-height: 3rem;
    padding: 0 1.5rem;
    border-radius: 999px;
    background: var(--lig-cta-bg);
    color: var(--lig-cta-fg);
    font-size: 0.9375rem;
    font-weight: 700;
    text-decoration: none;
}

.caminhao-empty__cta:hover {
    background: var(--lig-cta-hover);
}

.caminhao-empty__reorder {
    margin-top: 0.75rem;
    border: none;
    background: transparent;
    color: #009ee3;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: underline;
}

.caminhao-empty__suggest {
    margin-top: 1.25rem;
    width: 100%;
    max-width: 18rem;
}

.caminhao-empty__suggest-label {
    margin: 0 0 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--lig-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.caminhao-empty__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
}

.caminhao-empty__chip {
    padding: 0.375rem 0.75rem;
    border-radius: 9999px;
    background: var(--lig-surface-alt);
    border: 1px solid var(--lig-border);
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--lig-text);
    text-decoration: none;
}

.caminhao-items {
    flex: 1;
    overflow-y: auto;
}

.caminhao-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.625rem;
    padding: 0.875rem 1rem;
    border-bottom: 1px solid var(--lig-border);
}

.caminhao-item__thumb-box {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 0.5rem;
    overflow: hidden;
    background: var(--lig-media-bg);
    border: 1px solid var(--lig-border);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-sizing: border-box;
}

.caminhao-item__thumb {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: contain;
    object-position: center;
    display: block;
}

.caminhao-item__thumb--placeholder {
    color: var(--lig-text-subtle);
}

.caminhao-item__thumb--placeholder .material-symbols-outlined {
    font-size: 1.375rem;
}

.caminhao-item__main {
    flex: 1;
    min-width: 0;
}

.caminhao-item__name {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--lig-text);
}

.caminhao-item__meta {
    margin: 0.25rem 0 0;
    font-size: 0.75rem;
    color: var(--lig-text-muted);
}

.caminhao-item__actions {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    flex-shrink: 0;
}

.caminhao-item__qty {
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface-alt);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    color: var(--lig-text);
}

.caminhao-item__qty--plus {
    background: var(--lig-yellow);
    border-color: var(--lig-yellow);
    color: var(--lig-on-yellow);
}

.caminhao-item__qty-val {
    min-width: 1.25rem;
    text-align: center;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--lig-text);
}

.caminhao-item__remove {
    border: none;
    background: transparent;
    padding: 0.15rem;
    margin-left: 0.15rem;
    color: var(--lig-text-subtle);
    cursor: pointer;
}

.caminhao-item__remove:hover {
    color: #e53935;
}

.caminhao-item__remove .material-symbols-outlined {
    font-size: 1.125rem;
}

.caminhao-checkout {
    padding: 1rem;
    border-top: 1px solid var(--lig-border);
    background: var(--lig-surface-alt);
}

.caminhao-continue {
    display: block;
    margin: 0.75rem 1rem 0;
    padding: 0.5rem 0;
    text-align: center;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--lig-yellow-text, #c9a800);
    text-decoration: none;
}

.caminhao-summary {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    margin-bottom: 0.75rem;
}

.caminhao-summary__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.875rem;
    color: var(--lig-text-muted);
}

.caminhao-summary__row--total {
    font-size: 1rem;
    color: var(--lig-text);
}

.caminhao-summary__row--total strong {
    font-size: 1.125rem;
    font-weight: 800;
    color: var(--lig-yellow-text, #c9a800);
}

.caminhao-checkout__label {
    margin: 0 0 0.5rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--lig-text-muted);
}

.caminhao-checkout__delivery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.caminhao-delivery-opt {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2.5rem;
    border: 1px solid var(--lig-border);
    border-radius: 0.5rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--lig-text-muted);
    cursor: pointer;
    background: var(--lig-surface);
}

.caminhao-delivery-opt--active {
    border-color: var(--lig-yellow);
    background: var(--lig-yellow-light);
    color: var(--lig-text);
}

.caminhao-input,
.caminhao-input--area {
    width: 100%;
    margin-bottom: 0.5rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--lig-border);
    border-radius: 0.5rem;
    font-size: 0.875rem;
    background: var(--lig-surface);
    color: var(--lig-text);
    box-sizing: border-box;
}

.caminhao-input--area {
    resize: none;
    min-height: 4rem;
}

.caminhao-input.hidden {
    display: none;
}

.lig-address-field {
    margin-bottom: 0.5rem;
}

.lig-address-field.hidden,
.cart-checkout--retirada .lig-address-field {
    display: none;
}

.lig-address-field__btn {
    width: 100%;
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.75rem 0.8rem;
    border: 1px solid var(--lig-border);
    border-radius: 0.65rem;
    background: var(--lig-surface);
    color: var(--lig-text);
    font: inherit;
    text-align: left;
    cursor: pointer;
    box-sizing: border-box;
}

.lig-address-field__btn:focus-visible {
    outline: none;
    border-color: var(--lig-yellow);
    box-shadow: 0 0 0 2px var(--lig-yellow-light);
}

.lig-address-field__btn--error {
    border-color: #d32f2f;
    box-shadow: 0 0 0 1px rgba(211, 47, 47, 0.2);
}

.lig-address-field__icon {
    flex-shrink: 0;
    margin-top: 0.05rem;
    color: var(--lig-yellow-text);
    font-size: 1.25rem;
    line-height: 1;
}

.lig-address-field__text {
    flex: 1;
    min-width: 0;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.4;
    overflow-wrap: break-word;
    word-break: normal;
    white-space: normal;
}

.lig-address-field__text--placeholder {
    font-weight: 500;
    color: var(--lig-text-subtle);
}

.lig-address-field__chev {
    flex-shrink: 0;
    margin-top: 0.05rem;
    color: var(--lig-text-subtle);
    font-size: 1.25rem;
    line-height: 1;
}

.caminhao-checkout__hint {
    margin: 0;
    font-size: 0.6875rem;
    color: var(--lig-text-subtle);
    line-height: 1.4;
}

.caminhao-footer {
    padding: 1rem;
    padding-bottom: max(1rem, env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--lig-border);
    background: var(--lig-surface);
}

.caminhao-footer__total {
    display: none;
}

.caminhao-pay-btn {
    width: 100%;
}

.caminhao-pay-btn--disabled,
.caminhao-pay-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

@media (max-width: 767px) {
    body[data-page='caminhao'] .lig-header-stack {
        display: none;
    }

    body[data-page='caminhao'] #lig-page-main {
        padding: 0;
    }
}

@media (min-width: 768px) {
    .caminhao-shell {
        max-width: 40rem;
        margin: 1rem auto 0;
        width: 100%;
        border: 1px solid var(--lig-border);
        border-radius: 0.75rem;
        overflow: hidden;
        padding-bottom: 0;
    }

    .caminhao-body .caminhao-shell {
        margin-bottom: 1rem;
    }
}

@media (max-width: 767px) {
    body[data-page='raios'] .lig-header-stack {
        display: none;
    }

    body[data-page='raios'] #lig-page-main {
        padding: 0;
    }

    body[data-page='raios'] {
        background: #1a1a1a;
    }

    body[data-page='raios'] .raios-sub-header {
        padding-top: max(0.75rem, env(safe-area-inset-top, 0px));
    }
}

@media (min-width: 768px) {
    .raios-body-content {
        max-width: 40rem;
        margin: 0 auto;
        width: 100%;
    }

    .raios-hero {
        border-radius: 0.75rem;
        margin: 1rem 1rem 0;
    }

    .raios-hero__top {
        display: flex;
        justify-content: center;
    }

    .raios-hero__back {
        display: none;
    }

    .raios-hero__title {
        grid-column: auto;
    }
}

.lig-theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    border-radius: 9999px;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface);
    color: var(--lig-text);
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s, color 0.15s, transform 0.15s;
}

.lig-theme-toggle:hover {
    border-color: var(--lig-yellow);
    background: var(--lig-yellow-light);
    color: var(--lig-yellow-text);
}

.lig-theme-toggle:active {
    transform: scale(0.96);
}

.lig-theme-toggle__icon {
    display: inline-flex;
    font-size: 1.375rem;
    line-height: 1;
}

.lig-theme-toggle__icon svg {
    display: block;
    width: 1em;
    height: 1em;
}

/* No header: mesmo compasso dos botões refresh / compartilhar / instalar */
.lig-theme-toggle-mount--header {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    line-height: 0;
}

.lig-theme-toggle-mount--header .lig-theme-toggle {
    width: 2.75rem;
    height: 2.75rem;
    min-width: 2.75rem;
    min-height: 2.75rem;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface);
    color: var(--lig-yellow-text);
    flex-shrink: 0;
    box-sizing: border-box;
}

.lig-theme-toggle-mount--header .lig-theme-toggle__icon {
    font-size: 1.15rem;
    line-height: 1;
    display: flex;
}

.lig-theme-toggle-mount--header .lig-theme-toggle:hover {
    border-color: rgba(247, 213, 60, 0.45);
    background: var(--lig-yellow-light);
    color: var(--lig-yellow-text);
}

.lig-theme-segment {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
}

.lig-theme-segment__btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    padding: 0.75rem 0.5rem;
    border-radius: 0.625rem;
    border: 1px solid var(--lig-border);
    background: var(--lig-bg);
    color: var(--lig-text-muted);
    font-size: 0.6875rem;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s, color 0.15s;
    min-height: 44px;
}

.lig-theme-segment__btn:hover {
    border-color: var(--lig-yellow);
    color: var(--lig-text);
}

.lig-theme-segment__btn--active {
    border-color: var(--lig-yellow);
    background: var(--lig-yellow-light);
    color: var(--lig-yellow-text);
}

.lig-theme-segment__icon {
    font-size: 1.25rem;
    line-height: 1;
}

.lig-theme-segment__label {
    line-height: 1.2;
}

.lig-theme-segment--header {
    gap: 0.25rem;
    max-width: 9.5rem;
}

.lig-theme-segment--header .lig-theme-segment__btn {
    padding: 0.375rem 0.25rem;
    min-height: 2.25rem;
    font-size: 0.5625rem;
    border-radius: 0.5rem;
}

.lig-theme-segment--header .lig-theme-segment__icon {
    font-size: 1.0625rem;
}

@media (max-width: 380px) {
    .lig-theme-segment--header .lig-theme-segment__label {
        display: none;
    }

    .lig-theme-segment--header .lig-theme-segment__btn {
        min-height: 2rem;
        padding: 0.3125rem;
    }

    .lig-theme-segment--header {
        max-width: 6.75rem;
    }
}

/* ?? Site footer ?? */
.lig-site-footer {
    background: var(--lig-surface);
    border-top: 1px solid var(--lig-border);
    margin-top: auto;
}

.lig-footer-inner {
    max-width: var(--lig-container-max);
    margin: 0 auto;
    padding: 1.35rem var(--lig-gutter-x) 0;
}

@media (min-width: 768px) {
    .lig-footer-inner {
        padding: 1.5rem var(--lig-gutter-x-md) 0;
    }
}

.lig-footer-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
}

@media (min-width: 768px) {
    .lig-footer-grid {
        grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) minmax(0, 1.15fr);
        gap: 1.25rem 2rem;
        align-items: start;
    }
}

.lig-footer-col {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    min-width: 0;
}

.lig-footer-brand {
    margin-bottom: 0;
}

.lig-footer-brand .lig-brand__logo {
    width: 1.75rem;
    height: 1.75rem;
}

.lig-footer-brand .lig-brand__text {
    font-size: 1rem;
}

.lig-footer-brand .lig-brand__app {
    font-size: 1.125rem;
}

.lig-footer-lead {
    font-size: 0.8125rem;
    line-height: 1.45;
    color: var(--lig-text-muted);
    max-width: 18rem;
    margin: 0;
}

.lig-footer-contact {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.15rem;
}

.lig-footer-contact__link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.55rem;
    border-radius: 999px;
    border: 1px solid var(--lig-border);
    background: var(--lig-bg);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--lig-text-muted);
    text-decoration: none;
    transition: border-color 0.15s, background 0.15s, color 0.15s;
}

.lig-footer-contact__link:hover {
    border-color: var(--lig-yellow);
    background: var(--lig-yellow-light);
    color: var(--lig-yellow-text);
}

.lig-footer-title {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--lig-text);
    margin: 0;
    letter-spacing: -0.01em;
}

.lig-footer-nav {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.lig-footer-nav--grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 0.75rem;
}

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

.lig-footer-link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.2rem 0;
    font-size: 0.8125rem;
    color: var(--lig-text-muted);
    text-decoration: none;
    transition: color 0.15s;
}

.lig-footer-link:hover {
    color: var(--lig-yellow-text);
}

.lig-footer-location {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    padding: 0.65rem 0.75rem;
    border-radius: 0.625rem;
    border: 1px solid var(--lig-border);
    background: var(--lig-bg);
}

.lig-footer-location__line {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.4;
    color: var(--lig-text);
}

.lig-footer-location__line--hours {
    color: var(--lig-text-muted);
    font-size: 0.75rem;
}

.lig-footer-location__line--hours strong {
    font-weight: 600;
    color: var(--lig-text);
}

.lig-footer-location__dom {
    color: var(--lig-yellow-text);
}

.lig-footer-location__icon {
    flex-shrink: 0;
    font-size: 1rem;
    line-height: 1.2;
    color: var(--lig-yellow-text);
}

.lig-footer-maps-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    align-self: flex-start;
    margin-top: 0.1rem;
    padding: 0.4rem 0.75rem;
    border-radius: 999px;
    border: 1px solid rgba(247, 213, 60, 0.45);
    background: var(--lig-yellow-light);
    color: var(--lig-yellow-text);
    font-size: 0.75rem;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.15s, border-color 0.15s, transform 0.15s;
}

.lig-footer-maps-btn:hover {
    background: var(--lig-yellow);
    border-color: var(--lig-yellow);
    color: #111;
    transform: translateY(-1px);
}

.lig-footer-bar {
    margin-top: 1rem;
    padding: 0.75rem 0 0.85rem;
    border-top: 1px solid var(--lig-border);
}

.lig-footer-copy {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.4;
    color: var(--lig-text-subtle);
    text-align: center;
}

@media (min-width: 768px) {
    .lig-footer-copy {
        text-align: left;
    }
}

.lig-footer-legal {
    margin: 0.35rem 0 0;
    font-size: 0.75rem;
    line-height: 1.4;
    color: var(--lig-text-subtle);
    text-align: center;
}

.lig-footer-legal a {
    color: var(--lig-text-subtle);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.lig-footer-legal a:hover {
    color: var(--lig-yellow-text);
}

@media (min-width: 768px) {
    .lig-footer-legal {
        text-align: left;
    }
}

.lig-pref-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.5rem 0.75rem;
    border-radius: 9999px;
    border: 1px solid var(--lig-border);
    background: var(--lig-bg);
    color: var(--lig-text-muted);
    font-size: 0.8125rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s;
}

.lig-pref-chip:has(input:checked) {
    border-color: var(--lig-yellow);
    background: var(--lig-yellow-light);
    color: var(--lig-yellow-text);
}

.lig-pref-chip input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.lig-onboarding {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 1rem;
    padding-bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
}

.lig-onboarding[hidden] {
    display: none;
}

.lig-onboarding__backdrop {
    position: absolute;
    inset: 0;
    background: var(--lig-overlay);
}

.lig-onboarding__panel {
    position: relative;
    width: 100%;
    max-width: 24rem;
    background: var(--lig-surface);
    border-radius: 1.25rem;
    padding: 1.5rem;
    box-shadow: var(--lig-shadow);
    border: 1px solid var(--lig-border);
    animation: lig-slide-up 0.35s ease;
}

@keyframes lig-slide-up {
    from {
        opacity: 0;
        transform: translateY(1.5rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.lig-onboarding__step {
    display: none;
}

.lig-onboarding__step--active {
    display: block;
}

.lig-onboarding__dots {
    display: flex;
    justify-content: center;
    gap: 0.375rem;
    margin-top: 1.25rem;
}

.lig-onboarding__dot {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 9999px;
    background: var(--lig-border);
    transition: background 0.2s, width 0.2s;
}

.lig-onboarding__dot--active {
    width: 1.25rem;
    background: var(--lig-yellow);
}

.lig-clube-teaser {
    padding: 1rem;
    border-radius: 0.75rem;
    background: linear-gradient(135deg, var(--lig-yellow-light) 0%, var(--lig-surface-alt) 100%);
    border: 1px dashed rgba(247, 213, 60, 0.35);
    text-align: center;
}

.lig-clube-teaser__icon {
    font-size: 2rem;
    line-height: 1;
}

.lig-bottom-nav-grid {
    background: transparent;
    border-top: none;
    width: 100%;
    max-width: var(--lig-container-max);
    margin-left: auto;
    margin-right: auto;
}

/* Tokens usados no HTML mesmo sem tailwind-config.js */
.max-w-container-max {
    max-width: var(--lig-container-max);
}

@media (min-width: 768px) {
    .md\:px-margin-desktop {
        padding-left: var(--lig-gutter-x-md);
        padding-right: var(--lig-gutter-x-md);
    }
}

html {
    scrollbar-gutter: stable;
}

/* ?? Header: Minha conta ?? */
.lig-nav-account {
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.75rem;
    margin-right: 0.25rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--lig-text-muted);
    text-decoration: none;
    transition: color 0.2s, background 0.2s;
    white-space: nowrap;
}

.lig-nav-account__icon {
    font-size: 1.125rem;
    line-height: 1;
}

.lig-nav-account:hover {
    color: var(--lig-yellow-text);
    background: var(--lig-yellow-light);
}

.lig-nav-account--active {
    color: var(--lig-yellow-text);
    background: var(--lig-yellow-light);
}

.lig-nav-account--active .lig-nav-account__icon {
    font-variation-settings: 'FILL' 1;
}

/* ?? Micro-anima??es ?? */
@keyframes ze-add-pop {
    0% { transform: scale(1); }
    45% { transform: scale(1.08); }
    100% { transform: scale(1); }
}

.ze-add-btn--pop {
    animation: ze-add-pop 0.35s ease;
}

@keyframes ze-float-in {
    from {
        opacity: 0;
        transform: translateY(1rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

#ze-float-cart.ze-float-cart--visible {
    animation: ze-float-in 0.3s ease;
}

.lig-confetti {
    position: fixed;
    width: 6px;
    height: 6px;
    border-radius: 1px;
    pointer-events: none;
    z-index: 90;
    left: var(--lig-cx, 50%);
    top: var(--lig-cy, 50%);
    animation: lig-confetti-fly 0.75s ease-out forwards;
}

@keyframes lig-confetti-fly {
    0% {
        opacity: 1;
        transform: translate(0, 0) rotate(0deg) scale(1);
    }
    100% {
        opacity: 0;
        transform: translate(var(--lig-dx, 0px), var(--lig-dy, -60px)) rotate(360deg) scale(0.4);
    }
}

@media (prefers-reduced-motion: reduce) {
    .ze-add-btn--pop,
    #ze-float-cart.ze-float-cart--visible,
    .lig-onboarding__panel,
    .lig-confetti {
        animation: none;
    }
}

/* Splash: regras leves (animação roda via WAAPI no index — não redeclarar animation aqui) */
.lig-splash {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F7D53C;
    padding:
        env(safe-area-inset-top)
        env(safe-area-inset-right)
        env(safe-area-inset-bottom)
        env(safe-area-inset-left);
    opacity: 1;
    transition: opacity 0.52s cubic-bezier(0.22, 1, 0.36, 1);
    transform: translateZ(0);
}

.lig-splash.lig-splash--out {
    opacity: 0;
    pointer-events: none;
}

.lig-splash__stage {
    width: min(40vw, 9.5rem);
    height: min(40vw, 9.5rem);
    display: flex;
    align-items: center;
    justify-content: center;
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.lig-splash__logo {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
}

html.lig-splash-active .lig-login-main,
html.lig-splash-active .lig-login-theme,
html.lig-splash-active #login-phone-modal {
    visibility: hidden;
    pointer-events: none;
}

html.lig-splash-done .lig-login-main,
html.lig-splash-done .lig-login-theme {
    visibility: visible;
    opacity: 1;
    transition: opacity 0.35s ease;
}

/* ?? Login (estilo Z? Delivery) ?? */
html:has(body.lig-login-page),
body.lig-login-page,
body.lig-login-page *,
body.lig-login-page *::before,
body.lig-login-page *::after {
    /* Garante 1 tela sem rolagem mesmo se o CDN do Tailwind (preflight) n?o carregar */
    box-sizing: border-box;
}

html:has(body.lig-login-page),
body.lig-login-page {
    overflow-x: hidden;
    overflow-y: auto;
    height: auto;
    min-height: 100dvh;
    scrollbar-gutter: auto;
}

.lig-login-page {
    --login-u: clamp(0.8125rem, 0.76rem + 0.25vw, 0.9375rem);
    min-height: 100dvh;
    height: auto;
    max-height: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: safe center;
    background: var(--lig-bg);
    color: var(--lig-text);
    position: relative;
    font-family: 'Segoe UI', 'Inter', -apple-system, BlinkMacSystemFont, Roboto, system-ui, sans-serif;
    font-size: var(--login-u);
    overflow-x: hidden;
    overflow-y: auto;
    padding: max(0.5rem, env(safe-area-inset-top)) 0 max(0.75rem, env(safe-area-inset-bottom));
}

.lig-login-page #site-nav,
.lig-login-page #app-bottom-nav,
.lig-login-page #nav-mobile-menu {
    display: none !important;
}

.lig-login-back {
    position: absolute;
    top: max(0.75rem, env(safe-area-inset-top));
    left: max(0.75rem, env(safe-area-inset-left));
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 9999px;
    color: var(--lig-text-muted);
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    transition: color 0.2s, background 0.2s;
}

.lig-login-back:hover {
    color: var(--lig-yellow-text);
    background: var(--lig-yellow-light);
}

.lig-login-theme {
    position: absolute;
    top: max(0.75rem, env(safe-area-inset-top));
    right: max(0.75rem, env(safe-area-inset-right));
    z-index: 10;
}

.lig-login-main {
    display: flex;
    flex-direction: column;
    width: min(100%, clamp(20rem, 92vw, 28rem));
    flex: 0 0 auto;
    margin: 0 auto;
    padding: clamp(0.5rem, 1.5dvh, 0.75rem) clamp(1rem, 3vw, 1.5rem) clamp(0.75rem, 2dvh, 1rem);
}

.lig-login-hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 0 clamp(0.35em, 1.2dvh, 0.75em);
}

body[data-login-mode='choose'] .lig-login-hero {
    padding-bottom: clamp(0.3em, 1dvh, 0.5em);
}

body[data-login-mode='choose'] .lig-login-logo-wrap {
    margin-bottom: clamp(0.5em, 2.5dvh, 1.35em);
    gap: 0.625rem;
}

body.lig-login-page[data-login-mode='signin'],
body.lig-login-page[data-login-mode='signup'],
body.lig-login-page[data-login-mode='signup-consumer'] {
    justify-content: safe flex-start;
}

body[data-login-mode='signin'] .lig-login-hero,
body[data-login-mode='signup'] .lig-login-hero,
body[data-login-mode='signup-consumer'] .lig-login-hero {
    padding-top: clamp(0.5rem, 2dvh, 1.25rem);
    padding-bottom: 0.35em;
}

body[data-login-mode='signin'] .lig-login-logo-wrap,
body[data-login-mode='signup'] .lig-login-logo-wrap,
body[data-login-mode='signup-consumer'] .lig-login-logo-wrap {
    margin-bottom: 0.35em;
    gap: 0.25em;
}

body[data-login-mode='signin'] .lig-login-badge,
body[data-login-mode='signup'] .lig-login-badge,
body[data-login-mode='signup-consumer'] .lig-login-badge {
    width: clamp(5rem, 11dvh, 6.5rem);
}

body[data-login-mode='signin'] .lig-login-hero .lig-login-title,
body[data-login-mode='signup'] .lig-login-hero .lig-login-title,
body[data-login-mode='signup-consumer'] .lig-login-hero .lig-login-title {
    display: none;
}

.lig-login-logo-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.625rem;
    margin-bottom: clamp(0.5em, 2.5dvh, 1.35em);
}

.lig-login-badge {
    display: block;
    width: clamp(6.5rem, 24dvh, 12rem);
    aspect-ratio: 1 / 1;
    flex-shrink: 0;
    background-image:
        url('../img/mascote-badge.png'),
        radial-gradient(circle closest-side, #f5f5f5 96%, transparent 100%);
    background-size: contain, 100% 100%;
    background-repeat: no-repeat, no-repeat;
    background-position: center, center;
}

.lig-login-illustration {
    width: 5rem;
    height: 5rem;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, var(--lig-yellow-light) 0%, var(--lig-surface-alt) 100%);
    border: 1px solid rgba(247, 213, 60, 0.2);
    margin-bottom: 1.25rem;
}

.lig-login-illustration .material-symbols-outlined {
    font-size: 2.25rem;
    color: var(--lig-yellow-text);
}

.lig-login-title {
    font-family: inherit;
    font-size: 0.78em;
    font-weight: 400;
    letter-spacing: 0.01em;
    margin-top: 0;
    margin-bottom: clamp(0.5em, 2.4dvh, 1.3em);
    color: var(--lig-text-subtle);
}

.lig-login-actions {
    display: flex;
    flex-direction: column;
    gap: clamp(0.4em, 1.5dvh, 0.75em);
    width: 100%;
}

.lig-login-mode {
    display: none;
    flex-direction: column;
    gap: clamp(0.4em, 1.5dvh, 0.75em);
    width: 100%;
}

.lig-login-mode--active {
    display: flex;
}

.lig-login-choose {
    gap: 0;
}

.lig-login-choose__stack {
    display: flex;
    flex-direction: column;
    gap: clamp(0.35rem, 1dvh, 0.5rem);
    width: 100%;
}

.lig-login-choice {
    position: relative;
    display: flex;
    align-items: center;
    width: 92%;
    margin: 0 auto;
    min-height: clamp(2.75rem, 6.5dvh, 3rem);
    padding: clamp(0.5rem, 1.2dvh, 0.5625rem) 1rem;
    border-radius: 0.875rem;
    border: 1px solid transparent;
    text-align: left;
    cursor: pointer;
    box-sizing: border-box;
    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease,
        border-color 0.18s ease,
        background-color 0.18s ease;
}

.lig-login-choice:hover {
    transform: translateY(-1px);
}

.lig-login-choice:active {
    transform: scale(0.985);
}

.lig-login-choice:focus-visible {
    outline: 2px solid var(--lig-yellow-text);
    outline-offset: 2px;
}

.lig-login-choice--primary {
    background: var(--lig-tier-active-bg);
    color: #1a1400;
    border-color: rgba(255, 255, 255, 0.5);
    box-shadow: 0 4px 14px -2px rgba(247, 213, 60, 0.65);
}

.lig-login-choice--primary:hover {
    box-shadow: 0 8px 22px -3px rgba(247, 213, 60, 0.8);
}

.lig-login-choice--secondary {
    background: var(--lig-surface);
    color: var(--lig-text);
    border-color: var(--lig-border);
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.1);
}

.lig-login-choice--secondary:hover {
    border-color: var(--lig-yellow);
    background: var(--lig-yellow-light);
    box-shadow: 0 6px 18px -2px rgba(0, 0, 0, 0.12);
}

.lig-login-choice__row {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    min-width: 0;
}

.lig-login-choice__text {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.lig-login-choice__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0.4375rem;
    border-radius: 9999px;
    background: var(--lig-on-yellow-surface);
    flex-shrink: 0;
    transition: transform 0.18s ease;
}

.lig-login-choice--secondary .lig-login-choice__icon {
    color: var(--lig-yellow-text);
    background: var(--lig-yellow-light);
}

.lig-login-choice:hover .lig-login-choice__icon {
    transform: scale(1.06);
}

.lig-login-choice__icon svg,
.lig-login-choice__chevron svg,
.lig-login-mode-back svg {
    width: 100%;
    height: 100%;
    display: block;
    flex-shrink: 0;
}

.lig-login-choice__label {
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

.lig-login-choice__hint {
    font-size: 0.6875rem;
    line-height: 1.25;
    font-weight: 500;
    opacity: 0.72;
}

.lig-login-choice--primary .lig-login-choice__hint {
    color: #1a1400;
    opacity: 1;
}

.lig-login-choice--secondary .lig-login-choice__hint {
    color: var(--lig-text-muted);
}

.lig-login-choice__chevron {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    width: 1.25rem;
    height: 1.25rem;
    opacity: 0.4;
    flex-shrink: 0;
    transition: transform 0.18s ease, opacity 0.18s ease;
}

.lig-login-choice--primary .lig-login-choice__chevron {
    color: #1a1400;
}

.lig-login-choice:hover .lig-login-choice__chevron {
    transform: translate(2px, -50%);
    opacity: 0.65;
}

.lig-login-panel-header {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 0.5rem;
    padding-bottom: 0.75rem;
    margin-bottom: 0.75rem;
    border-bottom: 1px solid var(--lig-border);
}

.lig-login-panel-title {
    grid-column: 2;
    justify-self: center;
    margin: 0;
    font-family: inherit;
    font-size: 1.0625rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--lig-text);
    text-align: center;
    white-space: nowrap;
}

.lig-login-mode-back {
    grid-column: 1;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--lig-text);
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
}

.lig-login-mode-back__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.875rem;
    height: 1.875rem;
    flex-shrink: 0;
    border-radius: 9999px;
    background: var(--lig-border);
    color: var(--lig-text);
    transition: background-color 0.15s ease;
}

.lig-login-mode-back__icon svg {
    width: 1.0625rem;
    height: 1.0625rem;
}

.lig-login-mode-back:hover .lig-login-mode-back__icon {
    background: var(--lig-yellow-light);
    color: var(--lig-yellow-text);
}

.lig-login-signin,
.lig-login-signup {
    gap: 0.5rem;
}

.lig-login-flow-card {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    width: 100%;
    padding: 1.125rem 1.125rem 1.25rem;
    border-radius: 1.25rem;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.6) inset,
        0 16px 36px rgba(0, 0, 0, 0.08),
        0 2px 8px rgba(0, 0, 0, 0.04);
}

[data-theme='dark'] .lig-login-flow-card {
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset, 0 16px 36px rgba(0, 0, 0, 0.35);
}

.lig-login-flow-card--signin {
    gap: 0.75rem;
    padding: 1.125rem 1.125rem 1.25rem;
}

.lig-login-oauth-stack {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
}

.lig-login-oauth-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 2.875rem;
    padding: 0.625rem 1rem;
    border-radius: 9999px;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface);
    color: var(--lig-text);
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition:
        border-color 0.18s ease,
        background 0.18s ease,
        box-shadow 0.18s ease,
        transform 0.15s ease;
}

.lig-login-oauth-btn--google {
    background: #fff;
    border-color: #dadce0;
    color: #3c4043;
    font-weight: 500;
    letter-spacing: 0.01em;
    box-shadow: none;
}

[data-theme='dark'] .lig-login-oauth-btn--google {
    background: #fff;
    border-color: #dadce0;
    color: #3c4043;
}

.lig-login-oauth-btn__content {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.625rem;
    pointer-events: none;
}

.lig-login-oauth-btn--google .lig-login-google-icon {
    width: 1.125rem;
    height: 1.125rem;
    flex-shrink: 0;
}

.lig-login-oauth-btn__label {
    white-space: nowrap;
}

.lig-login-oauth-btn--google:hover {
    border-color: #d2d4d7;
    background: #f8f9fa;
    box-shadow: 0 1px 3px rgba(60, 64, 67, 0.1);
}

.lig-login-oauth-btn--google:active {
    background: #f1f3f4;
    transform: scale(0.99);
}

.lig-login-divider--compact {
    margin: 0;
    font-size: 0.6875rem;
    letter-spacing: 0.08em;
}

.lig-login-oauth-btn:not(.lig-login-oauth-btn--google):hover {
    border-color: rgba(247, 213, 60, 0.35);
    background: var(--lig-yellow-light);
}

.lig-login-oauth-btn:not(.lig-login-oauth-btn--google):active {
    transform: scale(0.985);
}

.lig-login-oauth-btn__icon {
    flex-shrink: 0;
    width: 1.125rem;
    height: 1.125rem;
    font-size: 1.125rem;
    line-height: 1;
}

.lig-login-oauth-btn__label {
    flex: 0 1 auto;
}

.lig-login-oauth-btn--google.lig-login-google-btn--disabled {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

.lig-login-flow-card .lig-login-divider {
    margin: 0;
}

.lig-login-hub {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    width: 100%;
    padding: 0;
    border: none;
    background: transparent;
    text-align: left;
}

.lig-login-field {
    position: relative;
    width: 100%;
}

.lig-login-field__icon {
    position: absolute;
    top: 50%;
    left: 0.875rem;
    transform: translateY(-50%);
    display: flex;
    color: var(--lig-text-muted);
    pointer-events: none;
}

.lig-login-field .lig-login-setup__input.lig-login-setup__input--flat {
    padding-left: 2.5rem !important;
}

.lig-login-field--password .lig-login-setup__input.lig-login-setup__input--flat {
    padding-right: 2.75rem !important;
}

.lig-login-field__toggle {
    position: absolute;
    top: 50%;
    right: 0.375rem;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: none;
    border-radius: 0.5rem;
    background: transparent;
    color: var(--lig-text-muted);
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.lig-login-field__toggle:hover {
    color: var(--lig-text);
    background: color-mix(in srgb, var(--lig-text) 8%, transparent);
}

.lig-login-field__toggle-icon--hide {
    display: none;
}

.lig-login-field__toggle[aria-pressed="true"] .lig-login-field__toggle-icon--show {
    display: none;
}

.lig-login-field__toggle[aria-pressed="true"] .lig-login-field__toggle-icon--hide {
    display: block;
}

/* Campo em caixa: fundo + borda visíveis nos dois temas.
   Seletor duplo para vencer `.lig-login-setup__input { border: none !important }` (mais abaixo). */
.lig-login-setup__input.lig-login-setup__input--flat {
    --lig-field-bg: #f3f3f3;
    --lig-field-border: #d9d9d9;
    --lig-field-border-hover: #b8b8b8;
    border: 1.5px solid var(--lig-field-border) !important;
    border-radius: 0.875rem !important;
    background: var(--lig-field-bg) !important;
    background-color: var(--lig-field-bg) !important;
    box-shadow: none !important;
    min-height: 3rem !important;
    padding: 0.625rem 0.875rem !important;
    font-family: inherit !important;
    font-size: 0.9375rem !important;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.lig-login-setup__input.lig-login-setup__input--flat:hover {
    border-color: var(--lig-field-border-hover) !important;
}

.lig-login-setup__input.lig-login-setup__input--flat:focus {
    outline: none;
    border-color: var(--lig-yellow) !important;
    box-shadow: 0 0 0 3px rgba(247, 213, 60, 0.28) !important;
}

[data-theme='dark'] .lig-login-setup__input.lig-login-setup__input--flat {
    --lig-field-bg: rgba(255, 255, 255, 0.06);
    --lig-field-border: rgba(255, 255, 255, 0.16);
    --lig-field-border-hover: rgba(255, 255, 255, 0.3);
}

@media (prefers-color-scheme: dark) {
    [data-theme='auto'] .lig-login-setup__input.lig-login-setup__input--flat {
        --lig-field-bg: rgba(255, 255, 255, 0.06);
        --lig-field-border: rgba(255, 255, 255, 0.16);
        --lig-field-border-hover: rgba(255, 255, 255, 0.3);
    }
}

.lig-login-hub .lig-login-forgot-wrap {
    margin: 0.125rem 0 0.25rem;
    text-align: right;
}

.lig-login-setup__save--flat {
    margin-top: 0.25rem;
    min-height: 2.875rem;
    border-radius: 9999px;
    background: linear-gradient(135deg, #f9e066 0%, var(--lig-yellow) 52%, #e8c028 100%);
    color: #1a1400;
    font-family: inherit;
    font-size: 0.9375rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.35) inset,
        0 6px 16px rgba(247, 213, 60, 0.2);
    transition: box-shadow 0.18s ease, transform 0.15s ease;
}

.lig-login-setup__save--flat:hover {
    filter: none;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.4) inset,
        0 8px 20px rgba(247, 213, 60, 0.26);
}

.lig-login-setup__save--flat:active {
    transform: scale(0.985);
}

#login-mode-signup .lig-login-flow-card .lig-signup-progress {
    margin-bottom: 0;
}

.lig-login-signup-form {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    width: 100%;
}

.lig-signup-field {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.lig-signup-field__label {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--lig-text);
}

.lig-signup-field__password-wrap {
    position: relative;
    width: 100%;
}

#login-mode-signup .lig-signup-field__password-wrap {
    margin-bottom: 0.625rem;
}

#login-mode-signup .lig-signup-field__password-wrap .lig-login-setup__input--flat {
    margin-bottom: 0;
}

#login-mode-signup .lig-login-setup__input--flat {
    margin-bottom: 0;
}

#login-mode-signup .lig-login-setup__save--flat {
    margin-top: 0.375rem;
}

#login-mode-signup .lig-signup-ask {
    margin: 0 0 0.625rem;
    font-size: 0.9375rem;
}

#login-mode-signup .lig-login-setup__input--flat {
    margin-bottom: 0.625rem;
}

.lig-login-mode-back:hover {
    color: var(--lig-yellow-text);
}

.lig-login-mode-back svg {
    width: 1.125rem;
    height: 1.125rem;
}

.lig-login-signup-switch {
    margin: 0.5rem 0 0;
    text-align: center;
    font-size: 0.8125rem;
    color: var(--lig-text-muted);
}

.lig-login-signup-switch .lig-login-setup-link {
    display: inline;
    width: auto;
    min-height: 0;
    padding: 0;
    margin: 0;
}

#login-mode-signup .lig-signup-progress {
    margin-bottom: 0.25rem;
}

#login-mode-signup .lig-signup-ask {
    margin: 0 0 0.75rem;
    font-size: 1rem;
    font-weight: 600;
    color: var(--lig-text);
}

#login-mode-signup .lig-login-setup__input {
    margin-bottom: 0.75rem;
}

.lig-login-oauth-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.875rem;
    width: 100%;
}

.lig-login-oauth-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3em;
    height: 3em;
    padding: 0;
    border-radius: 50%;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface-alt);
    color: var(--lig-text);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    transition: background 0.2s, border-color 0.2s, transform 0.15s;
    cursor: pointer;
    flex-shrink: 0;
}

.lig-login-google-btn:hover,
.lig-login-phone-btn:hover {
    border-color: rgba(247, 213, 60, 0.35);
    background: var(--lig-yellow-light);
}

.lig-login-google-proxy {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.lig-login-google-mount {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    overflow: hidden;
    opacity: 0.001;
    cursor: pointer;
    max-width: 100%;
    max-height: 100%;
}

.lig-login-google-mount > div {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    overflow: hidden !important;
}

.lig-login-google-mount iframe {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
}

.lig-login-google-icon {
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    display: block;
    width: 1.5em;
    height: 1.5em;
}

.lig-login-google-btn--disabled {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

.lig-login-google-btn--disabled .lig-login-google-mount {
    display: none;
}

.lig-login-google-btn:active,
.lig-login-phone-btn:active,
.lig-login-oauth-btn:active {
    transform: scale(0.96);
}

.lig-login-phone-btn__icon {
    flex-shrink: 0;
    font-size: 1.5em;
    line-height: 1;
    color: var(--lig-text);
}

.lig-login-google-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.lig-login-modal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 0.75rem;
    padding-top: max(0.75rem, env(safe-area-inset-top, 0px));
    padding-bottom: max(0.75rem, env(safe-area-inset-bottom, 0px));
    box-sizing: border-box;
}

.lig-login-modal--open {
    display: flex;
}

html.lig-login-modal-open {
    overflow: hidden;
}

.lig-login-modal__backdrop {
    position: absolute;
    inset: 0;
    background: var(--lig-overlay);
}

.lig-login-modal__dialog {
    position: relative;
    z-index: 1;
    max-height: min(90dvh, 28rem);
    overflow-y: auto;
    margin: 0;
    box-sizing: border-box;
}

.lig-login-modal__dialog.lig-login-phone {
    width: min(calc(100vw - 1.5rem), 22rem);
    max-width: 22rem;
    padding: 1rem 1rem 1.1rem;
}

.lig-login-modal__close {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: transparent;
    color: var(--lig-text-muted);
    cursor: pointer;
}

.lig-login-modal__back {
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: transparent;
    color: var(--lig-text-muted);
    cursor: pointer;
}

.lig-login-modal__back[hidden] {
    display: none !important;
}

.lig-login-modal__back .material-symbols-outlined {
    font-size: 1.125rem;
}

.lig-login-modal__close .material-symbols-outlined {
    font-size: 1.125rem;
}

.lig-login-modal__close:hover {
    color: var(--lig-text);
    background: rgba(127, 127, 127, 0.12);
}

.lig-login-modal__dialog .lig-login-phone__title {
    padding-right: 1.5rem;
    margin-bottom: 0.125rem;
    font-size: 0.9375rem;
}

.lig-login-modal__dialog .lig-login-phone__hint {
    margin-bottom: 0.625rem;
    font-size: 0.75rem;
    line-height: 1.4;
}

.lig-login-modal__dialog .lig-login-setup__label {
    margin-bottom: 0.25rem;
}

.lig-login-modal__dialog .lig-login-setup__input {
    min-height: 2.25rem;
    padding: 0.45rem 0.625rem;
    font-size: 0.875rem;
}

.lig-login-modal__dialog .lig-login-setup__input + .lig-login-setup__label {
    margin-top: 0.5rem;
}

.lig-login-modal__dialog .lig-login-setup__save {
    min-height: 2.375rem;
    margin-top: 0.625rem;
    font-size: 0.875rem;
}

.lig-login-modal__dialog .lig-login-status {
    margin-top: 0.5rem;
    font-size: 0.75rem;
}

.lig-login-modal__dialog.lig-cnpj-modal {
    width: min(calc(100vw - 1.5rem), 26rem);
    max-width: 26rem;
    max-height: min(92dvh, 40rem);
    padding: 1rem 0.875rem 1.25rem;
    border-radius: 1rem;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.2);
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    text-align: left;
}

.lig-cnpj-modal__close {
    z-index: 2;
}

.lig-cnpj-modal__title {
    margin: 0 1.75rem 0.375rem 0;
    font-family: 'Hanken Grotesk', system-ui, sans-serif;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--lig-text);
}

.lig-cnpj-modal__hint {
    margin: 0 0 0.875rem;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: var(--lig-text-muted);
}

.lig-cnpj-modal__form {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.lig-cnpj-modal__field {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.lig-cnpj-modal__label {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--lig-text-muted);
}

.lig-cnpj-modal__input {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    min-height: 2.375rem;
    padding: 0.5rem 0.625rem;
    border: 1px solid var(--lig-border);
    border-radius: 0.5rem;
    background: var(--lig-surface-alt, #fafafa);
    color: var(--lig-text);
    font-size: 0.875rem;
    font-family: inherit;
}

.lig-cnpj-modal__input:focus {
    outline: none;
    border-color: rgba(247, 213, 60, 0.85);
    box-shadow: 0 0 0 2px rgba(247, 213, 60, 0.25);
}

[data-theme='dark'] .lig-cnpj-modal__input {
    background: #2a2a2a;
    border-color: #404040;
    color: var(--lig-text);
}

@media (prefers-color-scheme: dark) {
    [data-theme='auto'] .lig-cnpj-modal__input {
        background: #2a2a2a;
        border-color: #404040;
    }
}

.lig-cnpj-modal__input--cep {
    max-width: 8.5rem;
}

.lig-cnpj-modal__field-row {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: stretch;
}

@media (min-width: 22rem) {
    .lig-cnpj-modal__field-row {
        flex-direction: row;
        align-items: center;
    }
}

.lig-cnpj-modal__field-row .lig-cnpj-modal__input {
    flex: 1 1 auto;
    min-width: 0;
}

.lig-cnpj-modal__btn-secondary {
    flex: 0 0 auto;
    min-height: 2.375rem;
    padding: 0 0.75rem;
    border: 1px solid var(--lig-border);
    border-radius: 0.5rem;
    background: var(--lig-surface-alt, #f3f4f6);
    color: var(--lig-text);
    font-size: 0.75rem;
    font-weight: 600;
    font-family: inherit;
    white-space: nowrap;
    cursor: pointer;
}

.lig-cnpj-modal__btn-secondary:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.lig-cnpj-modal__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.625rem;
}

.lig-cnpj-modal__field--uf {
    grid-column: span 1;
}

@media (min-width: 24rem) {
    .lig-cnpj-modal__grid {
        grid-template-columns: 1.2fr 1.2fr 0.6fr;
    }
}

.lig-cnpj-modal__check {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin-top: 0.25rem;
    font-size: 0.8125rem;
    line-height: 1.4;
    color: var(--lig-text);
    cursor: pointer;
}

.lig-cnpj-modal__check input {
    margin-top: 0.15rem;
    flex-shrink: 0;
}

.lig-cnpj-modal__status {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.4;
}

.lig-cnpj-modal__status--error {
    color: #b91c1c;
}

.lig-cnpj-modal__status--ok {
    color: #15803d;
}

.lig-cnpj-modal__submit {
    margin-top: 0.25rem;
}

.lig-login-phone-panel {
    margin-top: 0.75rem;
}

.lig-login-divider {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    color: var(--lig-text-muted);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.lig-login-divider::before,
.lig-login-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--lig-border);
}

.lig-login-phone {
    width: 100%;
    padding: 1.125rem 1.25rem 1.25rem;
    border-radius: 1rem;
    border: none;
    background: #e8e8e8;
    text-align: left;
}

.lig-login-hub {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

[data-theme="dark"] .lig-login-phone {
    background: #212121;
}

[data-theme="light"] .lig-login-phone {
    background: #e8e8e8;
}

@media (prefers-color-scheme: dark) {
    [data-theme="auto"] .lig-login-phone {
        background: #212121;
    }
}

@media (prefers-color-scheme: light) {
    [data-theme="auto"] .lig-login-phone {
        background: #e8e8e8;
    }
}

.lig-login-phone--disabled {
    opacity: 0.72;
}

.lig-login-phone__title {
    font-family: 'Hanken Grotesk', system-ui, sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--lig-text);
    margin-bottom: 0.25rem;
}

.lig-login-phone__hint {
    font-size: 0.8125rem;
    line-height: 1.45;
    color: var(--lig-text-muted);
    margin-bottom: 0.75rem;
}

.lig-login-phone__otp {
    margin-top: 0.875rem;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.lig-login-phone__otp-input {
    letter-spacing: 0.25em;
    text-align: center;
    font-size: 1.125rem;
    font-weight: 700;
    border: none;
    outline: none;
    border-radius: 9999px;
    background: none;
    box-shadow: inset 2px 5px 10px rgba(5, 5, 5, 0.14);
}

[data-theme="dark"] .lig-login-phone__otp-input {
    box-shadow: inset 2px 5px 10px rgba(0, 0, 0, 0.72);
}

.lig-login-apple-btn {
    border-color: #000;
    background: #000;
    color: #fff;
}

.lig-login-apple-btn:hover {
    border-color: #222;
    background: #222;
}

.lig-login-apple-btn:active {
    transform: scale(0.98);
}

.lig-login-apple-icon {
    flex-shrink: 0;
    color: #fff;
}

[data-theme="dark"] .lig-login-apple-btn {
    border-color: #fff;
    background: #fff;
    color: #000;
}

[data-theme="dark"] .lig-login-apple-btn:hover {
    border-color: #e5e5e5;
    background: #e5e5e5;
}

[data-theme="dark"] .lig-login-apple-icon {
    color: #000;
}

.lig-login-setup__section {
    margin-top: 1rem;
    margin-bottom: 0.375rem;
    font-family: 'Hanken Grotesk', system-ui, sans-serif;
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--lig-text-muted);
}

.lig-login-setup__section:first-of-type {
    margin-top: 0;
}

.lig-login-status {
    font-size: 0.8125rem;
    line-height: 1.45;
    text-align: center;
    color: var(--lig-text-muted);
    padding: 0 0.5rem;
}

.lig-login-status--error {
    color: #c62828;
}

[data-theme="dark"] .lig-login-status--error {
    color: #ff8a80;
}

[data-theme="dark"] .lig-login-status--error {
    color: #ff8a80;
}

.lig-login-status--ok {
    color: #2e7d32;
}

.lig-login-setup {
    width: 100%;
    padding: 1rem;
    border-radius: 0.875rem;
    border: 1px dashed rgba(247, 213, 60, 0.35);
    background: var(--lig-yellow-light);
    text-align: left;
}

.lig-login-setup__title {
    font-family: 'Hanken Grotesk', system-ui, sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--lig-text);
    margin-bottom: 0.375rem;
}

.lig-login-setup__lead {
    font-size: 0.8125rem;
    line-height: 1.45;
    color: var(--lig-text-muted);
    margin-bottom: 0.75rem;
}

.lig-login-setup__label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--lig-text-muted);
    margin-bottom: 0.375rem;
}

.lig-login-setup__input {
    width: 100%;
    max-width: none;
    min-height: 2.75rem;
    padding: 0.625rem 1.25rem;
    margin-bottom: 0;
    font-size: 1rem;
    appearance: none;
    -webkit-appearance: none;
    border: none !important;
    outline: none;
    border-radius: 9999px;
    background: none !important;
    background-color: transparent !important;
    color: var(--lig-text);
    box-shadow: inset 2px 5px 10px rgba(5, 5, 5, 0.14);
}

.lig-login-hub .lig-login-setup__input:last-of-type {
    margin-bottom: 0;
}

.lig-login-setup__input::placeholder {
    color: #6c757d;
}

[data-theme="dark"] .lig-login-setup__input {
    color: #fff;
    box-shadow: inset 2px 5px 10px rgb(5, 5, 5);
}

@media (prefers-color-scheme: dark) {
    [data-theme="auto"] .lig-login-setup__input {
        color: #fff;
        box-shadow: inset 2px 5px 10px rgb(5, 5, 5);
    }
}

[data-theme="dark"] .lig-login-setup__input::placeholder {
    color: #8a9199;
}

@media (prefers-color-scheme: dark) {
    [data-theme="auto"] .lig-login-setup__input::placeholder {
        color: #8a9199;
    }
}

.lig-login-setup__input:focus {
    outline: none;
    box-shadow:
        inset 2px 5px 10px rgba(5, 5, 5, 0.18),
        0 0 0 2px rgba(247, 213, 60, 0.35);
}

[data-theme="dark"] .lig-login-setup__input:focus {
    box-shadow:
        inset 2px 5px 10px rgb(5, 5, 5),
        0 0 0 2px rgba(247, 213, 60, 0.4);
}

@media (prefers-color-scheme: dark) {
    [data-theme="auto"] .lig-login-setup__input:focus {
        box-shadow:
            inset 2px 5px 10px rgb(5, 5, 5),
            0 0 0 2px rgba(247, 213, 60, 0.4);
    }
}

.lig-login-setup__save {
    width: 100%;
    min-height: 2.75rem;
    margin-top: 0.75rem;
    border: none;
    border-radius: 9999px;
    background: var(--lig-yellow);
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: none;
}

.lig-login-setup__save:hover {
    filter: brightness(1.05);
}

.lig-login-signup-btn {
    width: 100%;
    min-height: 2.75rem;
    margin-top: 0.625rem;
    border: 1.5px solid var(--lig-yellow);
    border-radius: 9999px;
    background: transparent;
    color: var(--lig-yellow-text);
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.lig-login-signup-btn:hover {
    background: var(--lig-yellow-light);
}

[data-theme="dark"] .lig-login-signup-btn {
    color: var(--lig-yellow);
}

.lig-login-setup__help {
    margin-top: 0.75rem;
    font-size: 0.75rem;
    line-height: 1.5;
    color: var(--lig-text-muted);
}

.lig-login-setup__help summary {
    cursor: pointer;
    font-weight: 600;
    color: var(--lig-yellow-text);
}

.lig-login-setup__help ol {
    margin: 0.5rem 0 0;
    padding-left: 1.125rem;
}

.lig-login-setup__help code {
    font-size: 0.6875rem;
    background: var(--lig-surface);
    padding: 0.125rem 0.375rem;
    border-radius: 0.25rem;
}

.lig-login-setup__note {
    margin-top: 0.5rem;
    font-size: 0.6875rem;
}

.lig-login-setup-link {
    width: 100%;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--lig-text-muted);
    background: transparent;
    border: none;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.lig-login-setup-link--inline {
    width: auto;
    display: inline;
    padding: 0;
    cursor: pointer;
}

.lig-login-forgot-wrap {
    margin: 0.75rem 0 0;
    text-align: center;
}

.lig-login-forgot-help {
    margin: 0.75rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: var(--lig-text-muted);
    text-align: center;
}

.lig-login-forgot-help--muted {
    margin-top: 0.4rem;
    font-size: 0.75rem;
}

.lig-forgot-modal {
    width: min(calc(100vw - 1.5rem), 22rem);
    max-width: 22rem;
    padding: 1.25rem 1rem 1.35rem;
    text-align: left;
}

.lig-forgot-modal .lig-signup-field__label {
    display: block;
    margin: 0.65rem 0 0.3rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--lig-text-muted);
}

.lig-forgot-modal .lig-signup-field__label:first-of-type {
    margin-top: 0;
}

.lig-forgot-modal #login-forgot-missing .lig-login-setup-link {
    display: block;
    width: 100%;
    margin-top: 0.75rem;
    text-align: center;
}

.lig-login-setup-link:hover {
    color: var(--lig-yellow-text);
}

.lig-login-skip {
    width: 100%;
    min-height: 2.75rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--lig-yellow-text);
    background: transparent;
    border: none;
    border-radius: 9999px;
    transition: background 0.2s;
}

.lig-login-skip:hover {
    background: var(--lig-yellow-light);
}

.lig-login-legal {
    margin-top: clamp(0.5em, 1.6dvh, 0.875em);
    margin-left: auto;
    margin-right: auto;
    width: 92%;
    padding-top: 0;
    padding-bottom: 0.25rem;
    font-family: inherit;
    font-size: 0.66em;
    font-weight: 400;
    line-height: 1.4;
    text-align: center;
    color: var(--lig-text-subtle);
}

.lig-login-legal a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.lig-login-legal a:hover {
    color: var(--lig-yellow-text);
}

.lig-login-nap {
    margin-top: clamp(2rem, 8dvh, 4.5rem);
    padding-top: clamp(0.5rem, 1.2dvh, 0.875rem);
    border-top: 1px solid var(--lig-border);
    text-align: center;
    font-family: inherit;
    font-size: 0.625rem;
    line-height: 1.5;
    color: var(--lig-text-subtle);
}

.lig-login-nap address {
    margin: 0;
    font-style: normal;
    color: var(--lig-text-muted);
    font-weight: 500;
}

.lig-login-nap a {
    color: inherit;
    font-weight: 500;
    text-decoration: none;
}

.lig-login-nap__map-link {
    color: var(--lig-text-muted);
    font-weight: 500;
}

.lig-login-nap a:hover {
    text-decoration: underline;
}

.lig-login-nap__address-group {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    margin-bottom: clamp(0.4rem, 1dvh, 0.75rem);
    max-width: 100%;
}

.lig-login-nap__address-group address {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.lig-login-nap__divider-dot {
    width: 1px;
    height: 0.8125rem;
    background: var(--lig-border);
    flex-shrink: 0;
}

.lig-login-nap__map-link {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    width: fit-content;
    white-space: nowrap;
    flex-shrink: 0;
}

.lig-login-nap__map-link svg {
    display: block;
}

.lig-login-nap__divider {
    height: 1px;
    margin: 0 0 clamp(0.4rem, 1dvh, 0.75rem);
    border: 0;
    background: var(--lig-border);
}

.lig-login-nap__phone-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    margin: 0 0 clamp(0.4rem, 1dvh, 0.75rem);
    color: var(--lig-text);
    font-weight: 500;
}

.lig-login-nap__hours {
    color: inherit;
    font-weight: 400;
}

.lig-login-nap__whatsapp-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--lig-text-subtle);
    flex-shrink: 0;
}

.lig-login-nap__whatsapp-badge svg {
    display: block;
}

.lig-login-nap__sep {
    color: var(--lig-text-subtle);
}

body[data-login-mode='signin'] .lig-login-nap,
body[data-login-mode='signup'] .lig-login-nap {
    display: none;
}

@media (min-width: 768px) and (min-height: 820px) {
    .lig-login-page {
        --login-u: clamp(0.875rem, 0.82rem + 0.3vw, 1rem);
    }

    .lig-login-main {
        width: min(100%, 28rem);
    }
}

.lig-profile-auth {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.lig-profile-auth__avatar {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 9999px;
    object-fit: cover;
    border: 2px solid rgba(247, 213, 60, 0.35);
    background: var(--lig-surface-alt);
}

.lig-profile-auth__avatar--guest {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--lig-yellow-text);
    font-size: 1.75rem;
}

.lig-profile-auth__info {
    flex: 1;
    min-width: 0;
}

.lig-profile-auth__name {
    font-family: 'Hanken Grotesk', system-ui, sans-serif;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--lig-text);
    margin-bottom: 0.125rem;
}

.lig-profile-auth__email {
    font-size: 0.8125rem;
    color: var(--lig-text-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lig-profile-auth__actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.lig-profile-auth__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    min-height: 2.5rem;
    padding: 0 1rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 600;
    transition: background 0.2s, color 0.2s;
}

.lig-profile-auth__btn--primary {
    background: var(--lig-yellow);
    color: #1a1a1a;
}

.lig-profile-auth__btn--primary:hover {
    filter: brightness(1.05);
}

.lig-profile-auth__btn--ghost {
    background: transparent;
    color: var(--lig-text-muted);
    border: 1px solid var(--lig-border);
}

.lig-profile-auth__btn--ghost:hover {
    color: var(--lig-yellow-text);
    border-color: rgba(247, 213, 60, 0.35);
    background: var(--lig-yellow-light);
}

/* ?? Versionamento modular ?? */
.lig-version-link {
    color: var(--lig-yellow-text);
    font-weight: 700;
    text-decoration: none;
}

.lig-version-link:hover {
    text-decoration: underline;
}

.lig-version-page {
    max-width: 40rem;
    margin: 0 auto;
}

.lig-version-hero {
    text-align: center;
    margin-bottom: 2rem;
    padding: 1.5rem 1rem;
    border-radius: 1rem;
    background: linear-gradient(145deg, var(--lig-yellow-light) 0%, var(--lig-surface) 100%);
    border: 1px solid rgba(247, 213, 60, 0.2);
}

.lig-version-hero__label {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--lig-yellow-text);
    margin-bottom: 0.5rem;
}

.lig-version-hero__title {
    font-family: 'Hanken Grotesk', system-ui, sans-serif;
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--lig-text);
}

.lig-version-hero__ver {
    color: var(--lig-yellow-text);
}

.lig-version-hero__sub {
    margin-top: 0.5rem;
    font-size: 0.8125rem;
    color: var(--lig-text-muted);
}

.lig-version-section {
    margin-bottom: 2rem;
}

.lig-version-section__title {
    font-family: 'Hanken Grotesk', system-ui, sans-serif;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--lig-text);
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--lig-border);
}

.lig-version-modules {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 0.625rem;
}

.lig-version-module {
    display: flex;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    border-radius: 0.75rem;
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
}

.lig-version-module__id {
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--lig-text-subtle);
    min-width: 3.5rem;
    padding-top: 0.125rem;
}

.lig-version-module__name {
    display: block;
    font-size: 0.875rem;
    color: var(--lig-text);
}

.lig-version-module__ver {
    font-size: 0.6875rem;
    font-weight: 700;
    color: var(--lig-yellow-text);
    margin-left: 0.375rem;
}

.lig-version-module__desc {
    font-size: 0.75rem;
    color: var(--lig-text-muted);
    margin-top: 0.125rem;
}

.lig-version-timeline {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.lig-version-release {
    padding: 1rem 1.125rem;
    border-radius: 0.875rem;
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    box-shadow: var(--lig-shadow-sm);
}

.lig-version-release__date {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--lig-yellow-text);
    margin-bottom: 0.25rem;
}

.lig-version-release__title {
    font-family: 'Hanken Grotesk', system-ui, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: var(--lig-text);
    line-height: 1.3;
}

.lig-version-release__ver {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--lig-text-muted);
    margin-top: 0.25rem;
}

.lig-version-release__summary {
    font-size: 0.8125rem;
    color: var(--lig-text-muted);
    margin-top: 0.5rem;
    line-height: 1.45;
}

.lig-version-change-list {
    list-style: none;
    padding: 0;
    margin: 1rem 0 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    border-top: 1px solid var(--lig-border);
    padding-top: 0.75rem;
}

.lig-version-change {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    padding-left: 0.625rem;
    border-left: 2px solid var(--lig-border);
}

.lig-version-change--feat {
    border-left-color: var(--lig-yellow);
}

.lig-version-change--fix {
    border-left-color: #43a047;
}

.lig-version-change__meta {
    font-size: 0.625rem;
    font-weight: 600;
    color: var(--lig-text-subtle);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.lig-version-change__text {
    font-size: 0.8125rem;
    color: var(--lig-text);
    line-height: 1.4;
}

.lig-version-hosting__card {
    border: 1px solid var(--lig-border);
    border-radius: 1rem;
    padding: 1.25rem 1.5rem;
    background: var(--lig-surface);
}

.lig-version-hosting__head {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    margin-bottom: 1rem;
}

.lig-version-hosting__icon {
    font-size: 2rem;
    color: var(--lig-accent, #F7D53C);
}

.lig-version-hosting__provider {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--lig-text);
    margin: 0;
}

.lig-version-hosting__meta {
    font-size: 0.8125rem;
    color: var(--lig-text-muted);
    margin: 0.25rem 0 0;
}

.lig-version-hosting__meta code,
.lig-version-hosting__dl code {
    font-size: 0.75rem;
    padding: 0.1rem 0.35rem;
    border-radius: 0.25rem;
    background: var(--lig-surface-2, rgba(0, 0, 0, 0.06));
}

.lig-version-hosting__dl {
    display: grid;
    gap: 0.75rem;
    margin: 0;
}

.lig-version-hosting__dl dt {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--lig-text-muted);
}

.lig-version-hosting__dl dd {
    margin: 0.15rem 0 0;
    font-size: 0.875rem;
    color: var(--lig-text);
}

.lig-version-hosting__dl a {
    color: var(--lig-accent, #F7D53C);
    font-weight: 600;
    text-decoration: none;
}

.lig-version-hosting__dl a:hover {
    text-decoration: underline;
}

/* ??? Pagamento Mercado Pago ??? */
.lig-payment-page {
    max-width: 28rem;
    margin: 0 auto;
}

.lig-payment-card {
    border: 1px solid var(--lig-border);
    border-radius: 1.25rem;
    padding: 1.5rem;
    background: var(--lig-surface);
    text-align: center;
}

.lig-payment-card--success {
    border-color: rgba(34, 197, 94, 0.35);
}

.lig-payment-card--error {
    border-color: rgba(239, 68, 68, 0.35);
}

.lig-payment-icon {
    font-size: 3rem;
    color: var(--lig-text-muted);
    display: block;
    margin: 0 auto 0.75rem;
}

.lig-payment-icon--ok {
    color: #22c55e;
}

.lig-payment-icon--pending {
    color: var(--lig-accent, #F7D53C);
}

.lig-payment-title {
    font-family: 'Hanken Grotesk', system-ui, sans-serif;
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--lig-text);
    margin: 0 0 0.5rem;
}

.lig-payment-lead {
    font-size: 0.9375rem;
    color: var(--lig-text-muted);
    line-height: 1.5;
    margin: 0 0 1.25rem;
}

.lig-nf-notice {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    margin: 0 0 1rem;
    padding: 0.85rem 0.95rem;
    border-radius: 0.95rem;
    border: 1px solid rgba(240, 201, 41, 0.35);
    background: rgba(240, 201, 41, 0.12);
    text-align: left;
}

.lig-nf-notice--muted {
    border-color: var(--lig-border);
    background: var(--lig-surface-alt);
}

.lig-nf-notice__icon {
    font-size: 1.5rem;
    color: var(--lig-yellow-text);
    flex-shrink: 0;
}

.lig-nf-notice__title {
    margin: 0 0 0.2rem;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--lig-text);
}

.lig-nf-notice__lead {
    margin: 0;
    font-size: 0.8125rem;
    color: var(--lig-text-muted);
    line-height: 1.45;
}

.lig-payment-summary {
    text-align: left;
    border: 1px solid var(--lig-border);
    border-radius: 0.875rem;
    padding: 1rem 1.125rem;
    margin-bottom: 1.25rem;
    background: var(--lig-surface-2, rgba(0, 0, 0, 0.02));
}

.lig-payment-summary__title {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--lig-text-muted);
    margin: 0 0 0.75rem;
}

.lig-payment-summary__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.lig-payment-summary__list li {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.875rem;
    color: var(--lig-text);
}

.lig-payment-summary__list--compact li {
    justify-content: flex-start;
}

.lig-payment-summary__total {
    display: flex;
    justify-content: space-between;
    margin: 0.875rem 0 0;
    padding-top: 0.875rem;
    border-top: 1px solid var(--lig-border);
    font-size: 0.9375rem;
}

.lig-payment-summary__meta {
    font-size: 0.8125rem;
    color: var(--lig-text-muted);
    margin: 0.5rem 0 0;
}

.lig-payment-brick {
    min-height: 420px;
    margin-bottom: 1rem;
}

.lig-payment-hint {
    font-size: 0.75rem;
    color: var(--lig-text-muted);
    text-align: center;
    margin: 0.75rem 0 0;
}

.lig-payment-pix {
    margin-top: 1rem;
}

.lig-payment-pix__qr {
    display: block;
    margin: 0 auto 1rem;
    border-radius: 0.75rem;
    border: 1px solid var(--lig-border);
}

.lig-payment-pix__code {
    width: 100%;
    font-size: 0.75rem;
    border-radius: 0.5rem;
    border: 1px solid var(--lig-border);
    padding: 0.5rem;
    margin-bottom: 0.5rem;
    background: var(--lig-surface);
    color: var(--lig-text);
}

.lig-payment-label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--lig-text-muted);
    margin-bottom: 0.35rem;
    text-align: left;
}

.lig-payment-actions {
    margin-top: 1.25rem;
}

.lig-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.25rem;
    border-radius: 9999px;
    border: 1px solid var(--lig-border);
    font-weight: 600;
    font-size: 0.9375rem;
    color: var(--lig-text);
    background: transparent;
    text-decoration: none;
}

.lig-btn-secondary:hover {
    background: var(--lig-surface-2, rgba(0, 0, 0, 0.04));
}

/* Tailwind CDN loads after site.css ? text utilities need the contrast token */
.text-vibrant-yellow {
    color: var(--lig-yellow-text) !important;
}

.has-\[\:checked\]\:text-vibrant-yellow:has(:checked) {
    color: var(--lig-yellow-text) !important;
}

.hover\:text-vibrant-yellow:hover {
    color: var(--lig-yellow-text) !important;
}

.catalog-cat-btn[aria-pressed='true'] {
    color: var(--lig-yellow-text) !important;
    background: var(--lig-yellow-light) !important;
    border-color: rgba(166, 124, 0, 0.35) !important;
}

/* ?? Sincronizar cat?logo (Hub) ?? */
.lig-sync-nav-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    min-width: 2.75rem;
    min-height: 2.75rem;
    padding: 0;
    border-radius: 999px;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface);
    color: var(--lig-yellow-text);
    cursor: pointer;
    flex-shrink: 0;
    box-sizing: border-box;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.lig-sync-nav-btn__icon {
    font-size: 1.15rem;
}

.lig-sync-nav-btn--busy .lig-sync-nav-btn__icon {
    animation: lig-sync-spin 0.85s linear infinite;
}

.lig-sync-nav-btn:hover {
    border-color: rgba(247, 213, 60, 0.45);
    background: var(--lig-yellow-light);
}

.lig-sync-nav-btn:disabled {
    opacity: 0.72;
    cursor: wait;
}

@keyframes lig-sync-spin {
    to {
        transform: rotate(360deg);
    }
}

.lig-catalog-sync-toast {
    position: fixed;
    left: 50%;
    bottom: calc(4.75rem + env(safe-area-inset-bottom, 0px));
    z-index: 80;
    transform: translate(-50%, 12px);
    opacity: 0;
    pointer-events: none;
    padding: 0.65rem 1rem;
    border-radius: 999px;
    background: rgba(20, 18, 15, 0.92);
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
    transition: opacity 0.22s ease, transform 0.22s ease;
}

.lig-catalog-sync-toast--visible {
    opacity: 1;
    transform: translate(-50%, 0);
}

@media (min-width: 768px) {
    .lig-catalog-sync-toast {
        bottom: auto;
        top: calc(4.5rem + env(safe-area-inset-top, 0px));
    }
}

/* ?? PWA: instalar app ?? */
.lig-install-nav-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    min-width: 2.75rem;
    min-height: 2.75rem;
    padding: 0;
    border-radius: 999px;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface);
    color: var(--lig-yellow-text);
    cursor: pointer;
    flex-shrink: 0;
    box-sizing: border-box;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.lig-install-nav-btn:hover {
    border-color: rgba(247, 213, 60, 0.45);
    background: var(--lig-yellow-light);
}

.lig-install-nav-btn .material-symbols-outlined {
    font-size: 1.15rem;
}

.lig-install-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding: 0.75rem 1rem;
    margin: 0.75rem 1rem 0;
    border-radius: 0.75rem;
    border: 1px solid rgba(247, 213, 60, 0.35);
    background: linear-gradient(135deg, rgba(247, 213, 60, 0.14), var(--lig-surface));
}

.lig-install-banner__copy {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.lig-install-banner__copy img {
    border-radius: 50%;
    background: transparent;
}

.lig-install-banner__title {
    margin: 0;
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--lig-text);
}

.lig-install-banner__sub {
    margin: 0.12rem 0 0;
    font-size: 0.74rem;
    color: var(--lig-text-muted);
}

.lig-install-banner__actions {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.lig-install-banner__btn {
    min-height: 2.25rem;
    padding: 0.35rem 0.85rem;
    border-radius: 999px;
    border: none;
    background: var(--lig-yellow);
    color: var(--lig-text);
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
}

.lig-install-banner__dismiss {
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--lig-text-muted);
    font-size: 1.2rem;
    line-height: 1;
    cursor: pointer;
}

html.lig-promo-notice-open body {
    overflow: hidden;
}

.lig-promo-entry-notice {
    position: fixed;
    inset: 0;
    z-index: 1300;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right))
        max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
    pointer-events: none;
}

.lig-promo-entry-notice--open {
    pointer-events: auto;
}

.lig-promo-entry-notice__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.72);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    opacity: 0;
    transition: opacity 0.24s ease;
}

.lig-promo-entry-notice--open .lig-promo-entry-notice__backdrop {
    opacity: 1;
}

.lig-promo-entry-notice__sheet {
    position: relative;
    z-index: 1;
    width: min(420px, 100%);
    padding: 1.75rem 1.5rem 1.5rem;
    border-radius: 1.25rem;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface);
    box-shadow: var(--lig-shadow-lg, 0 24px 48px rgba(0, 0, 0, 0.28));
    text-align: center;
    opacity: 0;
    transform: translateY(12px) scale(0.96);
    transition:
        opacity 0.28s ease,
        transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

.lig-promo-entry-notice--open .lig-promo-entry-notice__sheet {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.lig-promo-entry-notice__icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    margin: 0 auto 1rem;
    border-radius: 999px;
    background: rgba(240, 201, 41, 0.18);
    color: var(--lig-yellow-text, #c99700);
}

.lig-promo-entry-notice__icon {
    font-size: 2rem;
}

.lig-promo-entry-notice__title {
    margin: 0 0 0.75rem;
    font-family: 'Hanken Grotesk', system-ui, sans-serif;
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.2;
    color: var(--lig-text);
}

.lig-promo-entry-notice__lead {
    margin: 0 0 1.35rem;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--lig-text-muted);
}

.lig-promo-entry-notice__proceed {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    width: 100%;
    padding: 0.85rem 1.25rem;
    border: none;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--lig-yellow, #f0c929) 0%, #e5a800 100%);
    color: #14120f;
    font-family: 'Hanken Grotesk', system-ui, sans-serif;
    font-size: 1rem;
    font-weight: 800;
    cursor: pointer;
    touch-action: manipulation;
    box-shadow: 0 8px 20px rgba(240, 201, 41, 0.28);
}

.lig-promo-entry-notice__proceed:active {
    transform: scale(0.98);
}


.lig-install-modal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right))
        max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
}

.lig-install-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.72);
    backdrop-filter: blur(6px);
}

.lig-install-modal__dialog {
    position: relative;
    width: min(100%, 22rem);
    padding: 1.15rem 1.2rem 1.05rem;
    border-radius: 0.75rem;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface);
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.25);
    max-height: min(92vh, 40rem);
    overflow: auto;
}

.lig-install-modal__qr {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.45rem;
    margin: 0.85rem 0 0.65rem;
    padding: 0.85rem;
    border-radius: 0.65rem;
    border: 1px solid var(--lig-border);
    background: #fff;
}

.lig-install-modal__qr img {
    width: 11rem;
    height: 11rem;
    display: block;
    border-radius: 0.25rem;
}

.lig-install-modal__qr-label {
    margin: 0;
    font-size: 0.8rem;
    font-weight: 700;
    color: #0d0d0d;
}

.lig-install-modal__qr-link,
.lig-install-modal__qr-download {
    font-size: 0.78rem;
    font-weight: 600;
    color: #0d0d0d;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.baixar-app {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.baixar-app__loading {
    margin: 3rem auto;
    color: var(--lig-text-subtle);
    font-size: 0.9rem;
}

.baixar-app__hero {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding: 1.5rem 1.15rem 2.5rem;
    background:
        radial-gradient(120% 80% at 10% 0%, rgba(247, 213, 60, 0.55), transparent 55%),
        linear-gradient(180deg, #fff8d6 0%, #f4f4f4 48%, #efefef 100%);
}

html.dark .baixar-app__hero {
    background:
        radial-gradient(120% 80% at 10% 0%, rgba(247, 213, 60, 0.22), transparent 55%),
        linear-gradient(180deg, #1a1a1a 0%, #121212 100%);
}

.baixar-app__brand {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    max-width: 36rem;
    margin: 0 auto;
    width: 100%;
}

.baixar-app__brand img {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 0.85rem;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.baixar-app__eyebrow {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6b5a00;
}

html.dark .baixar-app__eyebrow {
    color: #f7d53c;
}

.baixar-app__title {
    margin: 0.15rem 0 0.35rem;
    font-family: 'Hanken Grotesk', sans-serif;
    font-size: clamp(1.55rem, 4vw, 2.1rem);
    font-weight: 800;
    line-height: 1.15;
    color: var(--lig-text);
}

.baixar-app__sub {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.45;
    color: var(--lig-text-subtle);
    max-width: 32rem;
}

.baixar-app__panel {
    width: min(100%, 26rem);
    margin: 0 auto;
    padding: 1.25rem;
    border-radius: 1rem;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
}

.baixar-app__panel--mobile {
    width: min(100%, 28rem);
}

.baixar-app__qr-wrap {
    margin: 0;
    display: flex;
    justify-content: center;
    padding: 0.75rem;
    border-radius: 0.75rem;
    background: #fff;
}

.baixar-app__qr {
    width: min(100%, 18rem);
    height: auto;
    aspect-ratio: 1;
    display: block;
}

.baixar-app__url {
    margin: 0.85rem 0 0;
    text-align: center;
    font-size: 0.78rem;
    word-break: break-all;
    color: var(--lig-text-subtle);
}

.baixar-app__actions {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    margin-top: 1rem;
}

.baixar-app__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.85rem;
    padding: 0.65rem 1rem;
    border-radius: 0.65rem;
    font-size: 0.95rem;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
    border: 1px solid transparent;
    cursor: pointer;
}

.baixar-app__btn--primary {
    background: #f7d53c;
    color: #0d0d0d;
    box-shadow: 0 8px 18px rgba(247, 213, 60, 0.35);
}

.baixar-app__btn--ghost {
    background: transparent;
    border-color: var(--lig-border);
    color: var(--lig-text);
}

.baixar-app__footnote {
    margin: 0.85rem 0 0;
    text-align: center;
    font-size: 0.78rem;
    color: var(--lig-text-subtle);
}

.baixar-app__steps {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.baixar-app__steps li {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    font-size: 0.92rem;
    line-height: 1.4;
    color: var(--lig-text);
}

.baixar-app__steps li > span:first-child {
    flex-shrink: 0;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f7d53c;
    color: #0d0d0d;
    font-size: 0.8rem;
    font-weight: 800;
}

.baixar-app__hint {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.45;
    color: var(--lig-text-subtle);
}

.lig-install-modal__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

.lig-install-modal__title {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--lig-text);
}

.lig-install-modal__sub {
    margin: 0.35rem 0 0;
    font-size: 0.82rem;
    line-height: 1.45;
    color: var(--lig-text-muted);
}

.lig-install-modal__close {
    width: 2rem;
    height: 2rem;
    padding: 0;
    border-radius: 0.5rem;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface-2, rgba(0, 0, 0, 0.04));
    color: var(--lig-text-muted);
    cursor: pointer;
}

.lig-install-modal__preview {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    margin-bottom: 0.85rem;
    border-radius: 0.5rem;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface-2, rgba(0, 0, 0, 0.03));
}

.lig-install-modal__preview img {
    border-radius: 50%;
    background: transparent;
}

.lig-install-modal__app {
    margin: 0;
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--lig-text);
}

.lig-install-modal__meta {
    margin: 0.15rem 0 0;
    font-size: 0.72rem;
    color: var(--lig-text-muted);
}

.lig-install-modal__steps {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.lig-install-modal__steps li {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    font-size: 0.82rem;
    line-height: 1.45;
    color: var(--lig-text);
}

.lig-install-modal__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 999px;
    flex-shrink: 0;
    font-size: 0.62rem;
    font-weight: 700;
    color: var(--lig-yellow-text);
    background: var(--lig-yellow-light);
    border: 1px solid rgba(247, 213, 60, 0.35);
}

.lig-install-modal__hint,
.lig-install-modal__ok {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.45;
    color: var(--lig-text-muted);
}

.lig-install-modal__ok {
    color: var(--lig-yellow-text);
}

.lig-install-modal__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.lig-install-modal__primary {
    flex: 1 1 auto;
    min-height: 2.5rem;
    padding: 0.45rem 1rem;
    border-radius: 999px;
    border: none;
    background: var(--lig-yellow);
    color: var(--lig-text);
    font-size: 0.78rem;
    font-weight: 700;
    cursor: pointer;
}

.lig-install-modal__ghost {
    min-height: 2.5rem;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    border: 1px solid var(--lig-border);
    background: transparent;
    color: var(--lig-text-muted);
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
}

/* ?? Notifica??es Hub ?? */
.lig-notif-root {
    position: relative;
    z-index: 1;
}

.lig-notif-root--open {
    z-index: 130;
}

.lig-notif-bell {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    padding: 0;
    border-radius: 999px;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface);
    color: var(--lig-text);
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.lig-notif-bell:hover,
.lig-notif-bell--open {
    border-color: rgba(247, 213, 60, 0.45);
    background: var(--lig-yellow-light);
}

.lig-notif-bell__icon {
    font-size: 1.15rem;
}

.lig-notif-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 1.1rem;
    height: 1.1rem;
    padding: 0 0.25rem;
    border-radius: 999px;
    background: #ef4444;
    color: #fff;
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 1.1rem;
    text-align: center;
}

.lig-notif-panel {
    position: absolute;
    top: calc(100% + 0.45rem);
    right: 0;
    z-index: 130;
    width: min(22rem, calc(100vw - 1.5rem));
    max-height: min(28rem, calc(100vh - 5rem));
    display: flex;
    flex-direction: column;
    border-radius: 0.75rem;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.18);
    overflow: hidden;
}

.lig-notif-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    border-bottom: 1px solid var(--lig-border);
}

.lig-notif-panel__title {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--lig-text);
}

.lig-notif-mark-all {
    font-size: 0.68rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--lig-yellow-text);
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.2rem 0;
}

.lig-notif-mark-all:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.lig-notif-list {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.lig-notif-empty {
    padding: 1.5rem 1rem;
    text-align: center;
    font-size: 0.85rem;
    color: var(--lig-text-muted);
}

.lig-notif-item {
    display: block;
    width: 100%;
    text-align: left;
    padding: 0.85rem 1rem;
    border: none;
    border-bottom: 1px solid var(--lig-border);
    background: transparent;
    cursor: pointer;
}

.lig-notif-item:hover {
    background: var(--lig-surface-2, rgba(0, 0, 0, 0.03));
}

.lig-notif-item--unread {
    background: rgba(239, 68, 68, 0.08);
    border-left: 3px solid #ef4444;
}

.lig-notif-item--read {
    opacity: 0.92;
}

.lig-notif-item__foot {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-top: 0.4rem;
}

.lig-notif-tag {
    display: inline-flex;
    align-items: center;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    line-height: 1.2;
}

.lig-notif-tag--unread {
    background: #ef4444;
    color: #fff;
}

.lig-notif-tag--read {
    background: rgba(107, 114, 128, 0.18);
    color: var(--lig-text-muted, #6b7280);
}

.lig-notif-push-banner {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--lig-border);
    background: rgba(247, 213, 60, 0.12);
}

.lig-notif-push-banner p {
    margin: 0;
    font-size: 0.78rem;
    line-height: 1.35;
    color: var(--lig-text);
}

.lig-notif-push-btn {
    align-self: flex-start;
    min-height: 2rem;
    padding: 0.35rem 0.75rem;
    border: none;
    border-radius: 0.5rem;
    background: #f7d53c;
    color: #0d0d0d;
    font-size: 0.78rem;
    font-weight: 800;
    cursor: pointer;
}

/* Pedido proativo de permissão de push */
.lig-push-prompt {
    position: fixed;
    inset: 0;
    z-index: 90;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 1rem;
    padding-bottom: max(1rem, env(safe-area-inset-bottom, 0px));
}

.lig-push-prompt__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(13, 13, 13, 0.45);
}

.lig-push-prompt__dialog {
    position: relative;
    width: min(100%, 24rem);
    margin-bottom: 4.5rem;
    padding: 1.25rem 1.15rem 1.1rem;
    border-radius: 1.1rem;
    background: var(--lig-surface, #fff);
    border: 1px solid var(--lig-border);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.22);
    display: grid;
    gap: 0.65rem;
    text-align: center;
}

.lig-push-prompt__icon {
    width: 3rem;
    height: 3rem;
    margin: 0 auto;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(247, 213, 60, 0.22);
    color: #1a1a1a;
}

.lig-push-prompt__icon .material-symbols-outlined {
    font-size: 1.6rem;
    font-variation-settings: 'FILL' 1;
}

.lig-push-prompt__title {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--lig-text);
}

.lig-push-prompt__body {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.45;
    color: var(--lig-text-muted);
}

.lig-push-prompt__status {
    margin: 0;
    font-size: 0.78rem;
    color: var(--lig-success-fg, #15803d);
}

.lig-push-prompt__status--error {
    color: #ef4444;
}

.lig-push-prompt__actions {
    display: grid;
    gap: 0.45rem;
    margin-top: 0.25rem;
}

.lig-push-prompt__primary {
    min-height: 2.75rem;
    border: none;
    border-radius: 999px;
    background: #f7d53c;
    color: #0d0d0d;
    font-size: 0.9375rem;
    font-weight: 800;
    cursor: pointer;
}

.lig-push-prompt__primary:disabled {
    opacity: 0.7;
    cursor: wait;
}

.lig-push-prompt__ghost {
    min-height: 2.4rem;
    border: none;
    border-radius: 999px;
    background: transparent;
    color: var(--lig-text-muted);
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
}

@media (min-width: 768px) {
    .lig-push-prompt {
        align-items: center;
    }

    .lig-push-prompt__dialog {
        margin-bottom: 0;
    }
}

body.lig-push-prompt-open {
    overflow: hidden;
}

.lig-notif-item__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.25rem;
}

.lig-notif-item__title {
    font-size: 0.86rem;
    font-weight: 600;
    color: var(--lig-text);
}

.lig-notif-item__time {
    flex-shrink: 0;
    font-size: 0.62rem;
    color: var(--lig-text-muted);
}

.lig-notif-item__body {
    margin: 0;
    font-size: 0.8rem;
    line-height: 1.45;
    color: var(--lig-text-muted);
    white-space: pre-wrap;
    word-break: break-word;
}

.lig-notif-item__meta {
    font-size: 0.72rem;
    letter-spacing: 0.02em;
    color: var(--lig-text-muted);
}

.lig-notif-error {
    padding: 0.75rem 1rem;
    font-size: 0.78rem;
    color: #ef4444;
    border-bottom: 1px solid var(--lig-border);
}

@media (max-width: 767px) {
    .lig-notif-panel {
        position: fixed;
        z-index: 130;
    }
}

@media (min-width: 768px) {
    .lig-notif-panel {
        position: fixed;
        z-index: 130;
    }

    .lig-notif-push-banner {
        display: none;
    }

    #lig-notifications-mount {
        position: relative;
        z-index: 2;
    }

    .lig-notif-root--open,
    #lig-notifications-mount:has(.lig-notif-root--open) {
        z-index: 130;
    }
}

/* ?? Desktop: nav, conta, caminhao wide ?? */
@media (min-width: 768px) {
    .caminhao-shell {
        max-width: min(72rem, 96vw);
        margin-left: auto;
        margin-right: auto;
    }

    .raios-body-content {
        max-width: min(72rem, 96vw);
        margin: 0 auto;
        width: 100%;
    }

    .conta-page {
        max-width: min(72rem, 96vw);
        margin: 0 auto;
        width: 100%;
    }

    .conta-desktop-layout {
        display: grid;
        grid-template-columns: 220px minmax(0, 1fr);
        gap: 1.25rem;
        align-items: start;
        padding: 1rem;
    }

    .conta-desktop-aside {
        position: sticky;
        top: 5rem;
        display: flex;
        flex-direction: column;
        gap: 0.25rem;
        padding: 0.75rem;
        border-radius: 0.75rem;
        border: 1px solid var(--lig-border);
        background: var(--lig-surface);
    }

    .conta-aside-link {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        width: 100%;
        padding: 0.625rem 0.75rem;
        border: none;
        border-radius: 0.5rem;
        background: transparent;
        color: var(--lig-text);
        font-size: 0.875rem;
        font-weight: 600;
        text-align: left;
        cursor: pointer;
    }

    .conta-aside-link .material-symbols-outlined {
        font-size: 1.125rem;
        color: var(--lig-text-muted);
    }

    .conta-aside-link:hover {
        background: var(--lig-yellow-light);
    }

    .conta-aside-link--active {
        background: var(--lig-yellow-light);
        color: var(--lig-yellow-text);
    }

    .conta-aside-link--active .material-symbols-outlined {
        color: var(--lig-yellow-text);
    }

    .conta-desktop-main {
        min-width: 0;
    }

    .conta-desktop-main--menu .conta-hero-header {
        border-radius: 0.75rem;
    }

    .conta-desktop-main .conta-sub-body,
    .conta-desktop-main--menu .conta-menu-body {
        max-width: none;
    }

    .conta-menu-list {
        flex: 0 0 auto;
    }

    .ofertas-list:has(.ofertas-product-row) {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ofertas-product-row {
        border-right: 1px solid var(--lig-border);
    }
}

@media (min-width: 1024px) {
}

/* ??? Resumo do pedido (checkout B2B) ??? */
.resumo-body {
    background: var(--lig-bg);
    color: var(--lig-text);
}

html.lig-checkout-flow #app-bottom-nav,
html.lig-checkout-flow #ze-float-cart {
    display: none !important;
}

html.lig-checkout-flow .ze-app-header {
    display: none;
}

html.lig-checkout-flow.lig-app-mode body,
html.lig-checkout-flow.lig-app-mode.lig-has-float-cart body {
    padding-bottom: 0;
}

html.lig-checkout-flow #lig-page-main {
    padding-bottom: 0;
    min-height: 0;
}

html.lig-checkout-flow,
html.lig-checkout-flow body {
    min-height: 100svh;
}

.resumo-page {
    min-height: 60vh;
}

#resumo-app {
    display: flex;
    flex-direction: column;
    min-height: inherit;
}

.resumo-shell {
    display: flex;
    flex-direction: column;
    min-height: 60vh;
}

.resumo-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1rem 0.75rem;
    background: var(--lig-yellow);
    color: #1a1a1a;
}

.resumo-header__back {
    width: 2.5rem;
    height: 2.5rem;
    border: 0;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.08);
    color: #1a1a1a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.15s;
}

.resumo-header__back:hover {
    background: rgba(0, 0, 0, 0.14);
}

.resumo-header__title {
    font-family: "Hanken Grotesk", sans-serif;
    font-size: 1.125rem;
    font-weight: 800;
    margin: 0;
    color: #1a1a1a;
}

.resumo-header__sub {
    margin: 0;
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(26, 26, 26, 0.72);
}

.resumo-content {
    flex: 1;
    padding: 1rem;
    display: grid;
    gap: 0.75rem;
}

.resumo-card {
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    border-radius: 1rem;
    padding: 1rem;
    box-shadow: var(--lig-shadow-sm);
    color: var(--lig-text);
}

.resumo-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.resumo-card__title {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--lig-text);
}

.resumo-card__badge {
    background: var(--lig-yellow);
    color: #1a1a1a;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
}

.resumo-field-value {
    margin: 0;
    font-weight: 600;
    color: var(--lig-text);
}

.resumo-field-hint {
    margin: 0.25rem 0 0;
    font-size: 0.8rem;
    color: var(--lig-text-muted);
}

.resumo-select-btn {
    width: 100%;
    margin-top: 0.5rem;
    padding: 0.85rem 1rem;
    border-radius: 999px;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface-alt);
    color: var(--lig-text);
    text-align: left;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
}

.resumo-select-btn:hover {
    border-color: var(--lig-yellow-text);
    background: var(--lig-yellow-light);
}

.resumo-select-btn--error {
    border-color: #ef4444;
    background: rgba(239, 68, 68, 0.06);
}

.resumo-select-btn--payment {
    display: flex;
    align-items: center;
}

.resumo-select-btn__payment {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
}

.resumo-error {
    color: #ef4444;
    font-size: 0.8rem;
    margin: 0.35rem 0 0;
}

.resumo-vendor-card {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    border-radius: 1rem;
    padding: 1rem;
    box-shadow: var(--lig-shadow-sm);
}

.resumo-vendor-card__logo {
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    background: var(--lig-media-bg);
    border: 1px solid var(--lig-border);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--lig-on-media);
    flex-shrink: 0;
}

.resumo-vendor-card__name {
    margin: 0 0 0.15rem;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--lig-text);
}

.resumo-vendor-card__meta {
    margin: 0;
    font-size: 0.8125rem;
    color: var(--lig-text-muted);
}

.resumo-products-list {
    max-height: min(52vh, 28rem);
    overflow-y: auto;
    margin: 0 -0.25rem;
    padding: 0 0.25rem;
}

.resumo-product {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 0;
    border-top: 1px solid var(--lig-border);
}

.resumo-product--rich:first-child {
    border-top: 0;
    padding-top: 0;
}

.resumo-product__thumb-box,
.checkout-product__thumb-box {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 0.5rem;
    overflow: hidden;
    background: var(--lig-media-bg);
    border: 1px solid var(--lig-border);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-sizing: border-box;
}

.resumo-product__thumb,
.checkout-product__thumb {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: contain;
    object-position: center;
    display: block;
    border-radius: 0;
    background: transparent;
    border: 0;
}

.resumo-product__thumb--placeholder,
.checkout-product__thumb--placeholder {
    color: var(--lig-text-muted);
}

.resumo-product__thumb--placeholder .material-symbols-outlined,
.checkout-product__thumb--placeholder .material-symbols-outlined {
    font-size: 1.375rem;
}

.resumo-product__main {
    flex: 1;
    min-width: 0;
}

.resumo-product__detail {
    margin: 0.2rem 0 0.35rem;
    font-size: 0.75rem;
    color: var(--lig-text-muted);
    line-height: 1.35;
}

.resumo-product__unit-price {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--lig-success-fg);
}

.resumo-product__side {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.35rem;
    flex-shrink: 0;
}

.resumo-product__qty {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--lig-text-muted);
}

.resumo-product:first-child {
    border-top: 0;
}

.resumo-product__name {
    margin: 0;
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--lig-text);
}

.resumo-product__meta {
    margin: 0.15rem 0 0;
    font-size: 0.8rem;
    color: var(--lig-text-muted);
}

.resumo-product__total {
    font-size: 0.9375rem;
    font-weight: 800;
    color: var(--lig-success-fg);
    white-space: nowrap;
}

.resumo-more {
    margin: 0.5rem 0 0;
    font-size: 0.8rem;
    color: var(--lig-text-muted);
}

.resumo-total-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.35rem 0;
    font-size: 0.9rem;
    color: var(--lig-text-muted);
}

.resumo-total-row strong {
    color: var(--lig-text);
}

.resumo-total-row--final {
    margin-top: 0.35rem;
    padding-top: 0.65rem;
    border-top: 1px solid var(--lig-border);
    font-size: 1rem;
    color: var(--lig-text);
}

.resumo-free {
    color: var(--lig-success-fg);
    font-weight: 600;
}

.resumo-footer {
    position: sticky;
    bottom: 0;
    z-index: 40;
    background: var(--lig-surface);
    border-top: 1px solid var(--lig-border);
    padding: 0.85rem 1rem max(0.85rem, env(safe-area-inset-bottom, 0px));
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.06);
}

[data-theme="dark"] .resumo-footer {
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.35);
}

@media (prefers-color-scheme: dark) {
    [data-theme="auto"] .resumo-footer {
        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.35);
    }
}

.resumo-footer--action {
    justify-content: stretch;
}

.resumo-footer--action .resumo-confirm-btn {
    width: 100%;
    justify-content: center;
}

.resumo-footer__total {
    margin: 0;
    font-size: 0.85rem;
    color: var(--lig-text-muted);
}

.resumo-footer__total strong {
    display: block;
    margin-top: 0.15rem;
    font-size: 1.05rem;
    color: var(--lig-text);
}

.resumo-confirm-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    border: 0;
    border-radius: 999px;
    background: var(--lig-yellow);
    color: #1a1a1a;
    padding: 0.85rem 1.1rem;
    min-height: 3rem;
    font-weight: 700;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.15s, opacity 0.15s;
}

.resumo-confirm-btn:hover:not(:disabled) {
    background: var(--lig-yellow-hover);
}

.resumo-confirm-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.resumo-confirm-blockers {
    display: grid;
    gap: 0.35rem;
    margin: 0 0 0.75rem;
}

.resumo-confirm-blockers__item {
    margin: 0;
}

.resumo-confirm-btn__icon {
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 999px;
    background: #1a1a1a;
    color: var(--lig-yellow);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
}

.resumo-empty {
    padding: 2rem 1rem;
    text-align: center;
    color: var(--lig-text-muted);
}

.resumo-date-list {
    display: grid;
    gap: 0.4rem;
    width: 100%;
    padding: 0.125rem 0.15rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.18) transparent;
    flex: 1 1 auto;
    min-height: 0;
}

.resumo-date-list::-webkit-scrollbar {
    width: 4px;
}

.resumo-date-list::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.16);
    border-radius: 999px;
}

.resumo-date-panel {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: min(100%, 26rem);
    margin: 0 auto;
    flex: 1;
    min-height: 0;
    box-sizing: border-box;
}

.resumo-date-panel .resumo-date-confirm {
    width: 100%;
    justify-content: space-between;
    min-height: 2.75rem;
    padding: 0.55rem 0.65rem 0.55rem 0.85rem;
    box-sizing: border-box;
    flex-shrink: 0;
}

.resumo-date-row {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    min-height: 2.75rem;
    padding: 0.55rem 0.75rem;
    border: 1px solid var(--lig-border);
    border-radius: 0.75rem;
    background: var(--lig-surface);
    color: var(--lig-text);
    text-align: left;
    cursor: pointer;
    transition:
        border-color 0.15s ease,
        background 0.15s ease;
    position: relative;
    box-sizing: border-box;
}

.resumo-date-row:last-child {
    border-bottom: 1px solid var(--lig-border);
}

.resumo-date-row:hover {
    border-color: rgba(0, 0, 0, 0.18);
    background: var(--lig-yellow-light);
}

.resumo-date-row--active:hover {
    border-color: #1a1a1a;
    border-width: 2px;
}

.resumo-date-row--active {
    border: 2px solid #1a1a1a;
    background: rgba(247, 213, 60, 0.16);
    padding: calc(0.55rem - 1px) calc(0.75rem - 1px);
}

.resumo-date-row--active::before {
    display: none;
}

.resumo-date-row__radio {
    width: 1.125rem;
    height: 1.125rem;
    border-radius: 999px;
    border: 2px solid var(--lig-border);
    flex-shrink: 0;
    position: relative;
}

.resumo-date-row--active .resumo-date-row__radio {
    border-color: #1a1a1a;
    background: #1a1a1a;
    box-shadow: inset 0 0 0 2px var(--lig-yellow);
}

.resumo-date-row__main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-width: 0;
    flex: 1;
}

.resumo-date-row__copy {
    flex: 0 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.resumo-date-row__date {
    font-size: 0.975rem;
    font-weight: 700;
    line-height: 1.15;
    color: var(--lig-text);
}

.resumo-date-row__weekday {
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.2;
    color: var(--lig-text-muted);
    text-transform: capitalize;
}

.resumo-date-row__fee {
    flex-shrink: 0;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
    padding: 0.35rem 0.55rem;
    border-radius: 999px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: rgba(0, 0, 0, 0.05);
    color: var(--lig-text);
    white-space: nowrap;
}

.resumo-date-row__fee--free {
    background: rgba(0, 0, 0, 0.04);
    color: var(--lig-text-muted);
}

.resumo-options {
    display: grid;
    gap: 0.65rem;
}

.resumo-invoice-options {
    display: grid;
    gap: 0.65rem;
}

.resumo-option--invoice {
    grid-template-columns: auto 1fr;
}

.resumo-option {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.75rem;
    align-items: center;
    width: 100%;
    text-align: left;
    border: 2px solid var(--lig-border);
    border-radius: 1rem;
    background: var(--lig-surface);
    color: var(--lig-text);
    padding: 0.9rem 1rem;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
}

.resumo-option:hover {
    border-color: var(--lig-yellow-text);
    background: var(--lig-yellow-light);
}

.resumo-option--payment {
    grid-template-columns: auto 1fr;
}

.resumo-option--active {
    border-color: var(--lig-yellow-text);
    background: var(--lig-yellow-light);
    box-shadow: 0 0 0 1px var(--lig-yellow-text);
}

.resumo-option__date {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--lig-text);
}

.resumo-option__meta {
    display: block;
    font-size: 0.8rem;
    color: var(--lig-text-muted);
}

.resumo-option__price {
    color: var(--lig-success-fg);
    font-weight: 700;
}

.resumo-option__icon {
    font-size: 1.5rem;
    color: var(--lig-yellow-text);
}

.resumo-option__logo {
    width: 2.75rem;
    height: 1.5rem;
    object-fit: contain;
    object-position: left center;
    flex-shrink: 0;
}

.resumo-option__logo--pix {
    width: 3.5rem;
    height: 1.15rem;
}

.resumo-option__logo--cartao {
    width: 3.25rem;
    height: 1.5rem;
}

.resumo-option__body {
    display: grid;
    gap: 0.15rem;
}

.resumo-option__body strong {
    color: var(--lig-text);
}

.resumo-option__body span {
    color: var(--lig-text-muted);
    font-size: 0.8rem;
}

.resumo-shell--picker {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    overflow: hidden;
}

.resumo-shell--picker .resumo-header {
    flex-shrink: 0;
    padding: 0.65rem 1rem 0.5rem;
}

.resumo-content--picker {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 0.5rem 1rem 0.5rem;
    gap: 0.4rem;
    min-height: 0;
    overflow: hidden;
}

.resumo-content--picker .resumo-picker-lead {
    flex-shrink: 0;
}

.resumo-content--picker-date {
    align-items: stretch;
    padding-inline: max(1rem, env(safe-area-inset-left, 0px)) max(1rem, env(safe-area-inset-right, 0px));
}

.resumo-content--picker-date .resumo-picker-lead {
    width: 100%;
    max-width: 26rem;
    margin: 0 auto;
    text-align: center;
    padding-inline: 0.25rem;
    font-size: 0.75rem;
}

.resumo-content--picker-payment {
    align-items: stretch;
    padding-inline: max(1rem, env(safe-area-inset-left, 0px)) max(1rem, env(safe-area-inset-right, 0px));
}

.resumo-content--picker-payment .resumo-picker-lead {
    width: 100%;
    max-width: 26rem;
    margin: 0 auto;
    text-align: center;
    padding-inline: 0.25rem;
    font-size: 0.75rem;
}

.resumo-picker-stack--date {
    align-items: stretch;
    width: 100%;
    max-width: 26rem;
    margin-inline: auto;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.resumo-picker-stack--date .resumo-date-list {
    flex: 1 1 auto;
    min-height: 0;
    padding-bottom: calc(4.75rem + env(safe-area-inset-bottom, 0px));
}

.resumo-picker-stack--date .resumo-picker-stack__footer {
    width: 100%;
}

.resumo-picker-stack--payment {
    align-items: stretch;
    width: 100%;
    max-width: 26rem;
    margin-inline: auto;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.resumo-picker-stack--payment .resumo-date-list {
    flex: 1 1 auto;
    min-height: 0;
    padding-bottom: 0.35rem;
}

.resumo-picker-stack--payment .resumo-payment-amounts {
    flex-shrink: 0;
    margin-top: 0.15rem;
}

.resumo-payment-row .resumo-date-row__main {
    justify-content: flex-start;
}

.resumo-payment-row__copy {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
    flex: 1;
}

.resumo-payment-row__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    flex-shrink: 0;
}

.resumo-payment-row__icon .resumo-option__icon--compact {
    font-size: 1.125rem;
    color: var(--lig-text);
}

.resumo-payment-row__icon .resumo-option__logo--compact {
    width: 1.65rem;
    height: auto;
    max-height: 1rem;
    object-fit: contain;
}

.resumo-payment-row__icon .resumo-option__logo--pix.resumo-option__logo--compact {
    width: 2rem;
    max-height: 0.85rem;
}

.resumo-picker-stack {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    min-height: 0;
    overflow: hidden;
}

.resumo-picker-stack:not(.resumo-picker-stack--date):not(.resumo-picker-stack--payment) {
    padding-bottom: calc(4.75rem + env(safe-area-inset-bottom, 0px));
}

.resumo-picker-stack--payment {
    padding-bottom: calc(4.75rem + env(safe-area-inset-bottom, 0px));
}

.resumo-picker-stack__methods {
    display: grid;
    gap: 0.5rem;
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.resumo-picker-stack__footer {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 50;
    flex-shrink: 0;
    margin-top: 0;
    padding: 0.65rem max(1rem, env(safe-area-inset-left, 0px))
        calc(0.65rem + env(safe-area-inset-bottom, 0px)) max(1rem, env(safe-area-inset-right, 0px));
    background: linear-gradient(180deg, transparent 0%, var(--lig-bg, #f3f4f6) 22%, var(--lig-bg, #f3f4f6) 100%);
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.08);
    pointer-events: none;
}

.resumo-picker-stack__footer .resumo-confirm-btn {
    pointer-events: auto;
    width: 100%;
    max-width: 26rem;
    margin: 0 auto;
    display: flex;
}

[data-theme='dark'] .resumo-picker-stack__footer {
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.35);
}

@media (prefers-color-scheme: dark) {
    [data-theme='auto'] .resumo-picker-stack__footer {
        box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.35);
    }
}

.resumo-picker-stack .resumo-date-list {
    flex: 1;
    min-height: 0;
}

.resumo-picker-error {
    margin: 0;
    font-size: 0.8125rem;
}

.resumo-picker-lead {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.35;
    color: var(--lig-text-muted);
}

.resumo-edit-banner {
    margin: 0;
    padding: 0.65rem 0.85rem;
    border-radius: 0.75rem;
    background: rgba(247, 213, 60, 0.22);
    border: 1px solid var(--lig-border);
    font-size: 0.8125rem;
    line-height: 1.35;
    color: var(--lig-text);
}

.resumo-edit-banner--blocked {
    background: rgba(239, 68, 68, 0.12);
    border-color: rgba(239, 68, 68, 0.35);
}

.resumo-edit-banner__text {
    margin: 0;
}

.resumo-edit-banner__hint {
    margin: 0.4rem 0 0;
    font-size: 0.75rem;
    line-height: 1.35;
    color: var(--lig-text-muted);
}

.resumo-exit-edit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    width: 100%;
    min-height: 3rem;
    margin: 0 0 0.65rem;
    padding: 0.75rem 1rem;
    border-radius: 0.85rem;
    border: 1px solid rgba(239, 68, 68, 0.4);
    background: #fff;
    color: #b91c1c;
    font-weight: 700;
    font-size: 0.9375rem;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.resumo-exit-edit-btn .material-symbols-outlined {
    font-size: 1.25rem;
}

.resumo-exit-edit-btn:active {
    transform: scale(0.98);
}

@media (min-width: 768px) {
    .resumo-exit-edit-btn {
        min-height: 3.15rem;
    }
}

.conta-order-detail__edit-hint,
.order-track__edit-hint {
    margin: 0;
    width: 100%;
    font-size: 0.8125rem;
    line-height: 1.35;
    color: var(--lig-text-muted);
}

.order-edit-banner {
    margin: 0 0 0.75rem;
    padding: 0.75rem 0.9rem;
    border-radius: 0.75rem;
    font-size: 0.8125rem;
    line-height: 1.4;
}

.order-edit-banner--editable,
.resumo-edit-banner--editable {
    background: rgba(30, 58, 95, 0.08);
    border: 1px solid rgba(30, 58, 95, 0.28);
    color: #1e3a5f;
}

.order-edit-banner--blocked,
.order-edit-banner--muted {
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.28);
    color: var(--lig-text);
}

.order-edit-banner--muted {
    background: rgba(0, 0, 0, 0.04);
    border-color: var(--lig-border);
    color: var(--lig-text-muted);
}

.order-edit-banner--ajuste,
.conta-order-detail__ajuste,
.order-track__adjustment {
    background: rgba(247, 213, 60, 0.28);
    border: 1px solid rgba(30, 58, 95, 0.22);
    color: #1e3a5f;
}

.order-track__adjustment {
    margin: 0.5rem 0 0;
    padding: 0.7rem 0.85rem;
    border-radius: 0.75rem;
    font-size: 0.875rem;
    line-height: 1.4;
}

.conta-order-detail__item--adjusted .conta-order-detail__item-name,
.order-track__receipt-item--adjusted .order-track__receipt-item-title {
    font-weight: 700;
}

.conta-order-detail__total-original {
    display: block;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--lig-text-muted);
    text-decoration: line-through;
}

.order-track__edit-banner,
.conta-order-detail__edit-banner {
    width: 100%;
}

.order-edit-btn--highlight.lig-btn-primary,
.order-edit-btn--highlight.conta-order-action--primary {
    background: #1e3a5f !important;
    border-color: #1e3a5f !important;
    color: #fff !important;
}

.order-edit-btn--highlight.lig-btn-primary:hover,
.order-edit-btn--highlight.conta-order-action--primary:hover {
    background: #162d4a !important;
    border-color: #162d4a !important;
}

.resumo-edit-checkout-hint {
    margin: 0 0 0.75rem;
}

.resumo-option--multi {
    grid-template-columns: auto auto 1fr;
    align-items: center;
    gap: 0.625rem;
    padding: 0.625rem 0.75rem;
    border-width: 1px;
    border-radius: 0.875rem;
    min-height: 3.125rem;
}

.resumo-option--multi.resumo-option--active {
    border-color: #1a1a1a;
    background: rgba(247, 213, 60, 0.18);
    box-shadow: none;
}

.resumo-option__media {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.5rem;
    background: rgba(0, 0, 0, 0.05);
    flex-shrink: 0;
}

.resumo-option__media .resumo-option__icon {
    font-size: 1.25rem;
}

.resumo-option__media .resumo-option__logo {
    width: 2rem;
    height: 1.125rem;
}

.resumo-option__media .resumo-option__logo--pix {
    width: 2.375rem;
    height: 1rem;
}

.resumo-option__check {
    font-size: 1.125rem;
    color: var(--lig-text-muted);
}

.resumo-option--active .resumo-option__check {
    color: #1a1a1a;
}

.resumo-option__body strong {
    font-size: 0.9375rem;
    font-weight: 700;
}

.resumo-option__body span {
    font-size: 0.75rem;
}

.resumo-payment-amounts {
    margin-top: 0;
    padding: 0.65rem 0.75rem;
    gap: 0.45rem;
    border: 1px solid var(--lig-border);
    border-radius: 0.75rem;
    background: var(--lig-surface);
    display: grid;
}

.resumo-payment-confirm,
.resumo-date-confirm {
    margin-top: 0;
    width: 100%;
    justify-content: space-between;
    min-height: 2.75rem;
    padding: 0.55rem 0.65rem 0.55rem 0.85rem;
}

.resumo-payment-amounts__title {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--lig-text);
}

.resumo-payment-amounts__row {
    display: grid;
    grid-template-columns: 1fr minmax(7rem, 9rem);
    gap: 0.625rem;
    align-items: center;
}

.resumo-payment-amounts__label {
    font-size: 0.875rem;
    color: var(--lig-text);
}

.resumo-payment-amounts__field {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    border: 1px solid var(--lig-border);
    border-radius: 0.625rem;
    padding: 0.5rem 0.625rem;
    background: var(--lig-bg, #fff);
}

.resumo-payment-amounts__prefix {
    font-size: 0.8125rem;
    color: var(--lig-text-muted);
}

.resumo-payment-amounts__input {
    width: 100%;
    border: 0;
    background: transparent;
    font: inherit;
    font-weight: 700;
    color: var(--lig-text);
    outline: none;
}

.resumo-cliente-fields {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: 0.25rem;
}

.resumo-cliente-field {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.35rem;
    margin: 0;
    min-width: 0;
}

.resumo-cliente-field__label {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--lig-text-muted);
}

.resumo-cliente-field__optional {
    font-weight: 500;
    color: var(--lig-text-muted);
    opacity: 0.85;
}

.resumo-cliente-field__input {
    width: 100%;
    min-height: 2.75rem;
    box-sizing: border-box;
    border: 1px solid var(--lig-border);
    border-radius: 0.625rem;
    padding: 0.55rem 0.85rem;
    background: var(--lig-surface-alt);
    font: inherit;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--lig-text);
    outline: none;
}

.resumo-cliente-field__input:focus {
    border-color: color-mix(in srgb, var(--lig-yellow) 55%, var(--lig-border));
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--lig-yellow) 22%, transparent);
}

.resumo-cliente-field__input--doc,
.resumo-cliente-field__input--phone {
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.01em;
    font-weight: 700;
}

.resumo-cliente-doc-hint {
    margin: 0;
}

.resumo-cliente-check {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    margin: 0.15rem 0 0;
    cursor: pointer;
    user-select: none;
}

.resumo-cliente-check__input {
    width: 1.125rem;
    height: 1.125rem;
    margin: 0.1rem 0 0;
    flex-shrink: 0;
    accent-color: var(--lig-yellow);
    cursor: pointer;
}

.resumo-cliente-check__label {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--lig-text);
    line-height: 1.35;
}

.resumo-cliente-search {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.resumo-cliente-field--search {
    margin: 0;
}

.resumo-cliente-search__row {
    display: flex;
    gap: 0.5rem;
    align-items: stretch;
}

.resumo-cliente-search__input {
    flex: 1 1 auto;
    min-width: 0;
}

.resumo-cliente-search__btn {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 2.75rem;
    padding: 0 0.9rem;
    border: 1px solid color-mix(in srgb, var(--lig-yellow) 45%, var(--lig-border));
    border-radius: 0.625rem;
    background: color-mix(in srgb, var(--lig-yellow) 18%, var(--lig-surface-alt));
    color: var(--lig-text);
    font: inherit;
    font-size: 0.875rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
}

.resumo-cliente-search__btn:disabled {
    opacity: 0.65;
    cursor: wait;
}

.resumo-cliente-search__btn .material-symbols-outlined {
    font-size: 1.125rem;
}

.resumo-cliente-search-hint--error {
    color: #b42318;
}

.resumo-cliente-search-hint--muted {
    color: var(--lig-text-muted);
}

.resumo-cliente-search-results {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.resumo-cliente-search-hit {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.15rem;
    width: 100%;
    padding: 0.65rem 0.8rem;
    border: 1px solid var(--lig-border);
    border-radius: 0.625rem;
    background: var(--lig-surface-alt);
    color: var(--lig-text);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.resumo-cliente-search-hit:hover,
.resumo-cliente-search-hit:focus-visible {
    border-color: color-mix(in srgb, var(--lig-yellow) 55%, var(--lig-border));
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--lig-yellow) 18%, transparent);
    outline: none;
}

.resumo-cliente-search-hit__name {
    font-size: 0.9375rem;
    font-weight: 700;
}

.resumo-cliente-search-hit__meta {
    font-size: 0.8125rem;
    color: var(--lig-text-muted);
}

.resumo-payment-amounts__sum {
    margin: 0;
    font-size: 0.8125rem;
    color: var(--lig-text-muted);
}

.resumo-payment-amounts__sum--ok strong {
    color: var(--lig-success-fg, #15803d);
}

.resumo-payment-amounts__sum--low,
.resumo-payment-amounts__sum--high {
    color: var(--lig-error-fg, #b91c1c);
}

.resumo-payment-confirm {
    margin-top: 0;
    width: 100%;
}

.resumo-select-btn__payment--multi {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.125rem;
}

.pay-method-opt--multi {
    display: grid;
    grid-template-columns: auto auto 1fr;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    text-align: left;
}

.pay-method-opt__check {
    font-size: 1.25rem;
    color: var(--lig-text-muted);
}

.pay-method-opt--active .pay-method-opt__check {
    color: var(--lig-yellow-text);
}

.pay-method-amounts {
    margin-top: 0.75rem;
    padding: 0.875rem;
    border: 1px solid var(--lig-border);
    border-radius: 0.75rem;
    background: var(--lig-surface);
    display: grid;
    gap: 0.75rem;
}

.pay-method-amounts__title,
.pay-method-amounts__label,
.pay-method-amounts__prefix,
.pay-method-amounts__input,
.pay-method-amounts__sum,
.pay-method-amounts__row,
.pay-method-amounts__field,
.pay-method-error {
    /* reuse resumo classes semantics */
}

.pay-method-amounts__title { margin: 0; font-size: 0.875rem; font-weight: 700; color: var(--lig-text); }
.pay-method-amounts__row { display: grid; grid-template-columns: 1fr minmax(7rem, 9rem); gap: 0.625rem; align-items: center; }
.pay-method-amounts__label { font-size: 0.875rem; color: var(--lig-text); }
.pay-method-amounts__field { display: flex; align-items: center; gap: 0.375rem; border: 1px solid var(--lig-border); border-radius: 0.625rem; padding: 0.5rem 0.625rem; background: var(--lig-bg, #fff); }
.pay-method-amounts__prefix { font-size: 0.8125rem; color: var(--lig-text-muted); }
.pay-method-amounts__input { width: 100%; border: 0; background: transparent; font: inherit; font-weight: 700; color: var(--lig-text); outline: none; }
.pay-method-amounts__sum { margin: 0; font-size: 0.8125rem; color: var(--lig-text-muted); }
.pay-method-amounts__sum--ok strong { color: var(--lig-success-fg, #15803d); }
.pay-method-amounts__sum--low, .pay-method-amounts__sum--high { color: var(--lig-error-fg, #b91c1c); }
.pay-method-error { margin: 0.75rem 0 0; color: var(--lig-error-fg, #b91c1c); font-size: 0.8125rem; }

.resumo-options {
    gap: 0.5rem;
}

.caminhao-checkout__condicao { margin-bottom: 0.75rem; }
.caminhao-checkout__condicao-value { margin: 0.25rem 0 0; font-weight: 600; }
.caminhao-pay-btn--continue {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 3rem;
    padding: 0.5rem 0.5rem 0.5rem 1.125rem;
    border: none;
    border-radius: 999px;
    background: #1a1a1a;
    color: #fff;
    font-size: 0.9375rem;
    font-weight: 700;
    box-shadow: var(--lig-shadow-sm);
    cursor: pointer;
}

.caminhao-pay-btn--continue:not(:disabled):hover {
    filter: brightness(0.95);
}

.caminhao-pay-btn--continue:not(:disabled):active {
    filter: brightness(0.9);
}

.resumo-empty-picker {
    margin: 0;
    color: var(--lig-text-muted);
    line-height: 1.5;
}

/* ??? Conta: edi??o de dados ??? */
.conta-info-row--link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.conta-info-row__main {
    flex: 1;
    min-width: 0;
}

.conta-info-row__edit {
    flex-shrink: 0;
    align-self: center;
    border: 0;
    background: transparent;
    color: var(--lig-text-muted);
    padding: 0.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.conta-edit-form { display: grid; gap: 0.65rem; }
.conta-edit-label { font-size: 0.85rem; font-weight: 600; color: var(--lig-text); }
.conta-edit-input {
    width: 100%; border: 1px solid var(--lig-border); border-radius: 0.85rem; padding: 0.85rem 1rem;
    background: var(--lig-surface); color: var(--lig-text);
}
.conta-edit-status { margin: 0; font-size: 0.85rem; }
.conta-edit-status--ok { color: var(--lig-success-fg); }
.conta-edit-status--error { color: var(--lig-error-fg); }
.conta-alert {
    border-radius: 0.85rem; padding: 0.85rem 1rem; margin-bottom: 0.75rem;
}
.conta-alert--warn { background: var(--lig-warning-bg); border: 1px solid var(--lig-warning-border); color: var(--lig-warning-fg); }
.conta-alert--warn p { margin: 0.35rem 0 0; font-size: 0.9rem; }

/* ??? Acompanhar pedido ??? */
.order-track-body {
    background: var(--lig-bg);
}

.order-track-page {
    max-width: 32rem;
    margin: 0 auto;
}

.order-track__top {
    display: grid;
    grid-template-columns: 2.5rem 1fr auto;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    background: var(--lig-surface);
    border-bottom: 1px solid var(--lig-border);
    position: sticky;
    top: 0;
    z-index: 10;
}

.order-track__top-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    color: var(--lig-text);
    text-align: center;
    line-height: 1.2;
}

.order-track__help {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.8125rem;
    font-weight: 700;
    text-decoration: none;
    color: var(--lig-text);
    white-space: nowrap;
}

.order-track__help .material-symbols-outlined {
    font-size: 1.125rem;
}

.order-track__hero {
    display: none;
}

.order-track__card--compact {
    margin-top: 0.75rem;
}

.order-track__code {
    margin: 0.75rem 0 0;
    font-size: 0.75rem;
    color: var(--lig-text-muted);
    text-align: center;
}

.order-track__section--flat {
    border-radius: 0;
    border-left: 0;
    border-right: 0;
    margin-left: 0;
    margin-right: 0;
}

.order-track__merchant {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0;
    padding: 0.875rem 1rem;
    background: var(--lig-surface);
    border-top: 1px solid var(--lig-border);
    border-bottom: 1px solid var(--lig-border);
    text-decoration: none;
    color: var(--lig-text);
}

.order-track__merchant-logo {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.5rem;
    background: var(--lig-yellow);
    color: #1a1a1a;
    font-size: 0.6875rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.order-track__merchant-name {
    flex: 1;
    font-size: 0.9375rem;
    font-weight: 700;
}

.order-track__merchant-chev {
    color: var(--lig-text-muted);
    font-size: 1.25rem;
}

.order-track__receipt {
    margin: 1rem;
}

.order-track__receipt-edge {
    height: 10px;
    background: var(--lig-surface);
    border-left: 1px solid var(--lig-border);
    border-right: 1px solid var(--lig-border);
}

.order-track__receipt-edge--top {
    border-top: 1px solid var(--lig-border);
    border-radius: 0.5rem 0.5rem 0 0;
    mask-image: radial-gradient(circle at 10px 100%, transparent 8px, #000 8px);
    mask-size: 20px 100%;
    mask-repeat: repeat-x;
    mask-position: -10px 0;
    -webkit-mask-image: radial-gradient(circle at 10px 100%, transparent 8px, #000 8px);
    -webkit-mask-size: 20px 100%;
    -webkit-mask-repeat: repeat-x;
    -webkit-mask-position: -10px 0;
}

.order-track__receipt-edge--bottom {
    border-bottom: 1px solid var(--lig-border);
    border-radius: 0 0 0.5rem 0.5rem;
    mask-image: radial-gradient(circle at 10px 0%, transparent 8px, #000 8px);
    mask-size: 20px 100%;
    mask-repeat: repeat-x;
    mask-position: -10px 0;
    -webkit-mask-image: radial-gradient(circle at 10px 0%, transparent 8px, #000 8px);
    -webkit-mask-size: 20px 100%;
    -webkit-mask-repeat: repeat-x;
    -webkit-mask-position: -10px 0;
}

.order-track__receipt-body {
    background: var(--lig-surface);
    border-left: 1px solid var(--lig-border);
    border-right: 1px solid var(--lig-border);
    padding: 0.875rem 1rem 0.5rem;
}

.order-track__receipt-total {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding-bottom: 0.875rem;
    margin-bottom: 0.5rem;
    border-bottom: 1px dashed var(--lig-border);
    font-size: 0.9375rem;
    font-weight: 700;
}

.order-track__receipt-total strong {
    font-size: 1.125rem;
    font-weight: 800;
    color: var(--lig-success-fg);
}

.order-track__receipt-items {
    list-style: none;
    margin: 0;
    padding: 0;
}

.order-track__receipt-items--collapsed .order-track__receipt-item:nth-child(n + 3) {
    display: none;
}

.order-track__receipt-item {
    padding: 0.625rem 0;
    border-bottom: 1px solid var(--lig-border);
}

.order-track__receipt-item:last-child {
    border-bottom: 0;
}

.order-track__receipt-item-title {
    margin: 0 0 0.2rem;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--lig-text);
}

.order-track__receipt-item-meta {
    margin: 0;
    font-size: 0.75rem;
    color: var(--lig-text-muted);
    line-height: 1.35;
}

.order-track__receipt-more {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.15rem;
    width: 100%;
    margin-top: 0.5rem;
    padding: 0.625rem 0;
    border: 0;
    background: transparent;
    color: var(--lig-text-muted);
    font-size: 0.8125rem;
    font-weight: 700;
    cursor: pointer;
}

.order-track__receipt-more .material-symbols-outlined {
    font-size: 1.125rem;
}

.order-track__meta-strip {
    margin: 0 1rem 0.75rem;
    padding: 0.75rem 1rem;
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    border-radius: 0.875rem;
}

.order-track__meta-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    font-size: 0.8125rem;
}

.order-track__meta-label {
    color: var(--lig-text-muted);
    font-weight: 600;
}

.order-track__meta-value {
    color: var(--lig-text);
    font-weight: 700;
}

.order-track__support {
    margin: 0 1rem 1rem;
    display: grid;
    gap: 0.5rem;
}

.order-track__support-link {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.875rem 1rem;
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    border-radius: 0.875rem;
    text-decoration: none;
    color: var(--lig-text);
}

.order-track__support-icon {
    color: var(--lig-success-fg);
    font-size: 1.375rem;
}

.order-track__support-copy strong {
    display: block;
    font-size: 0.875rem;
    margin-bottom: 0.1rem;
}

.order-track__support-copy span {
    display: block;
    font-size: 0.75rem;
    color: var(--lig-text-muted);
    line-height: 1.35;
}

.order-track__support-chev {
    color: var(--lig-text-muted);
    font-size: 1.25rem;
}

.order-track__back {
    border: 0;
    background: transparent;
    color: var(--lig-text);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    min-height: 2.5rem;
    padding: 0;
}

.order-track__status-pill {
    display: inline-block;
    margin: 0 0 0.5rem;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.08);
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #1a1a1a;
}

.order-track__title {
    margin: 0;
    font-size: 1.375rem;
    font-weight: 800;
    color: #1a1a1a;
}

.order-track__hub-num {
    margin: 0.35rem 0 0;
    font-size: 0.8125rem;
    color: rgba(26, 26, 26, 0.72);
}

.order-track__card {
    margin: -0.5rem 1rem 0.75rem;
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    border-radius: 1rem;
    padding: 1rem;
    box-shadow: var(--lig-shadow-sm);
}

.order-track__eta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
    padding-bottom: 0.875rem;
    border-bottom: 1px solid var(--lig-border);
}

.order-track__eta .material-symbols-outlined {
    font-size: 1.5rem;
    color: var(--lig-text-muted);
}

.order-track__eta-label {
    margin: 0;
    font-size: 0.75rem;
    color: var(--lig-text-muted);
}

.order-track__eta-value {
    margin: 0.1rem 0 0;
    font-size: 1rem;
    font-weight: 800;
    color: var(--lig-text);
}

.order-track__timeline {
    position: relative;
    margin-bottom: 1rem;
    padding: 0.2rem 0 0.15rem;
}

.order-track__timeline-bar {
    position: absolute;
    top: 1.25rem;
    left: calc(10% + 0.15rem);
    right: calc(10% + 0.15rem);
    height: 2px;
    background: color-mix(in srgb, var(--lig-border) 90%, transparent);
    border-radius: 999px;
    overflow: hidden;
    z-index: 0;
}

.order-track__timeline-bar::after {
    content: '';
    display: block;
    height: 100%;
    width: var(--order-track-progress, 0%);
    background: #16a34a;
    border-radius: inherit;
    transition: width 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.order-track__steps {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.2rem;
    position: relative;
    z-index: 1;
}

.order-track__step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.45rem;
    text-align: center;
    min-width: 0;
}

.order-track__step-badge {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    box-sizing: border-box;
    display: grid;
    place-items: center;
    background: var(--lig-surface);
    border: 2px solid var(--lig-border);
    color: var(--lig-text-muted);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        box-shadow 0.25s ease;
}

.order-track__step-glyph {
    display: grid;
    place-items: center;
    width: 1.15rem;
    height: 1.15rem;
    line-height: 0;
}

.order-track__step-glyph svg {
    display: block;
    width: 1.15rem;
    height: 1.15rem;
}

.order-track__step-label {
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    color: var(--lig-text-muted);
    line-height: 1.2;
    max-width: 100%;
    padding: 0 0.05rem;
}

.order-track__step--done .order-track__step-badge {
    background: #16a34a;
    border-color: #16a34a;
    color: #fff;
}

.order-track__step--active .order-track__step-badge {
    background: #1a1a1a;
    border-color: #1a1a1a;
    color: #fff;
    box-shadow: 0 0 0 3px rgba(247, 213, 60, 0.5);
}

.order-track__step--done .order-track__step-label {
    color: #15803d;
}

.order-track__step--active .order-track__step-label {
    color: var(--lig-text);
    font-weight: 800;
}

[data-theme='dark'] .order-track__step--done .order-track__step-badge,
html.dark .order-track__step--done .order-track__step-badge {
    background: #22c55e;
    border-color: #22c55e;
    color: #052e16;
}

[data-theme='dark'] .order-track__step--active .order-track__step-badge,
html.dark .order-track__step--active .order-track__step-badge {
    background: var(--lig-yellow);
    border-color: var(--lig-yellow);
    color: #1a1a1a;
    box-shadow: 0 0 0 3px rgba(247, 213, 60, 0.28);
}

[data-theme='dark'] .order-track__step--done .order-track__step-label,
html.dark .order-track__step--done .order-track__step-label {
    color: #4ade80;
}

[data-theme='dark'] .order-track__timeline-bar::after,
html.dark .order-track__timeline-bar::after {
    background: #22c55e;
}

.order-track__message {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.45;
    color: var(--lig-text-muted);
}

.order-track__notify {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 0.5rem;
    align-items: center;
    margin: 0 1rem 0.75rem;
    padding: 0.75rem 0.875rem;
    border-radius: 0.875rem;
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    font-size: 0.8125rem;
    color: var(--lig-text);
}

.order-track__notify-btn {
    border: 1px solid var(--lig-border);
    border-radius: 999px;
    background: var(--lig-bg);
    padding: 0.35rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
}

.order-track__notify-close {
    border: 0;
    background: transparent;
    color: var(--lig-text-muted);
    font-size: 1.125rem;
    line-height: 1;
    cursor: pointer;
}

.order-track__section {
    margin: 0 1rem 0.625rem;
    padding: 0.875rem 1rem;
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    border-radius: 0.875rem;
}

.order-track__section-head {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

.order-track__section-icon {
    color: var(--lig-success-fg);
    font-size: 1.25rem;
}

.order-track__section-label {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--lig-text-muted);
}

.order-track__section-value {
    margin: 0.15rem 0 0;
    font-size: 0.875rem;
    color: var(--lig-text);
    line-height: 1.4;
}

.order-track__section-title {
    margin: 0 0 0.625rem;
    font-size: 0.875rem;
    font-weight: 800;
    color: var(--lig-text);
}

.order-track__items {
    list-style: none;
    margin: 0;
    padding: 0;
}

.order-track__item {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.5rem 0;
    border-top: 1px solid var(--lig-border);
    font-size: 0.8125rem;
    color: var(--lig-text);
}

.order-track__item:first-child {
    border-top: 0;
    padding-top: 0;
}

.order-track__total {
    margin: 0.75rem 1rem 1rem;
    padding: 1rem 1.125rem;
    border-radius: 1rem 1rem 0 0;
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    border-bottom: 0;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 0.9375rem;
    font-weight: 700;
    box-shadow: var(--lig-shadow-sm);
}

.order-track__total strong {
    font-size: 1.125rem;
    font-weight: 800;
}

.order-track__actions {
    padding: 0 1rem 1.5rem;
}

.order-track__cancel-btn {
    margin-bottom: 0.75rem;
    color: var(--lig-danger, #b42318);
    border-color: color-mix(in srgb, var(--lig-danger, #b42318) 40%, var(--lig-border));
}

.order-track__cancel-btn:disabled {
    opacity: 0.6;
    cursor: wait;
}

/* PWA — atualização automática com progresso (estilo Hub) */
.lig-pwa-update {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: stretch;
    pointer-events: none;
}

.lig-pwa-update[hidden] {
    display: none !important;
}

.lig-pwa-update__backdrop {
    position: absolute;
    inset: 0;
    border: none;
    padding: 0;
    margin: 0;
    background: rgba(15, 15, 15, 0.52);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    pointer-events: auto;
    opacity: 0;
    transition: opacity 0.24s ease;
}

.lig-pwa-update--prompt .lig-pwa-update__backdrop:not([hidden]) {
    opacity: 1;
}

.lig-pwa-update__chip {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    display: flex;
    align-items: center;
    width: min(20rem, calc(100% - 1.5rem));
    margin: 0 auto max(12px, env(safe-area-inset-bottom, 0px));
    padding: 0.625rem 0.875rem;
    border-radius: 14px;
    border: 1px solid color-mix(in srgb, var(--lig-yellow) 40%, var(--lig-border));
    background: color-mix(in srgb, var(--lig-surface) 92%, transparent);
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: var(--lig-text);
}

.lig-pwa-update--prompt .lig-pwa-update__chip,
.lig-pwa-update__chip:has(.lig-pwa-update__prompt:not([hidden])) {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: none;
    margin: 0;
    padding:
        0.625rem 1rem calc(1rem + env(safe-area-inset-bottom, 0px));
    border-radius: 1.375rem 1.375rem 0 0;
    border-bottom: none;
    border-color: color-mix(in srgb, var(--lig-yellow) 55%, var(--lig-border));
    box-shadow:
        0 -8px 40px rgba(0, 0, 0, 0.2),
        0 0 0 1px color-mix(in srgb, var(--lig-yellow) 18%, transparent);
    animation: lig-pwa-update-slide-up 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes lig-pwa-update-slide-up {
    from {
        opacity: 0;
        transform: translateY(1.25rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.lig-pwa-update__handle {
    width: 2.5rem;
    height: 0.25rem;
    margin: 0.125rem auto 0.875rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--lig-text-muted) 45%, transparent);
}

.lig-pwa-update__progresso {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    width: 100%;
}

.lig-pwa-update__topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.lig-pwa-update__etapa {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--lig-text-muted);
}

.lig-pwa-update__pct {
    font-size: 0.78rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: var(--lig-yellow);
}

.lig-pwa-update__barra {
    height: 0.35rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--lig-text-muted) 22%, transparent);
    overflow: hidden;
}

.lig-pwa-update__barra-fill {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(
        90deg,
        color-mix(in srgb, var(--lig-yellow) 75%, #fff),
        var(--lig-yellow)
    );
    transition: width 0.22s ease;
}

.lig-pwa-update--waiting .lig-pwa-update__barra {
    opacity: 0.35;
}

.lig-pwa-update--waiting .lig-pwa-update__etapa {
    color: var(--lig-text);
    font-weight: 700;
}

.lig-pwa-update--waiting .lig-pwa-update__pct {
    display: none;
}

.lig-pwa-update__prompt {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.lig-pwa-update__prompt-head {
    display: flex;
    align-items: flex-start;
    gap: 0.875rem;
    margin-bottom: 1rem;
}

.lig-pwa-update__icon {
    flex-shrink: 0;
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, #ffe566 0%, var(--lig-yellow) 52%, #f0c830 100%);
    color: var(--lig-on-yellow);
    box-shadow:
        0 4px 14px rgba(247, 213, 60, 0.38),
        inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.lig-pwa-update__icon .material-symbols-outlined {
    font-size: 1.5rem;
    font-variation-settings: 'FILL' 1, 'wght' 600;
}

.lig-pwa-update__copy {
    min-width: 0;
    flex: 1 1 auto;
    padding-top: 0.125rem;
}

.lig-pwa-update__eyebrow {
    margin: 0 0 0.25rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--lig-yellow);
}

.lig-pwa-update__title {
    margin: 0 0 0.35rem;
    font-size: 1.0625rem;
    font-weight: 800;
    color: var(--lig-text);
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.lig-pwa-update__sub {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: var(--lig-text-muted);
}

.lig-pwa-update__actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
    width: 100%;
}

.lig-pwa-update__primary,
.lig-pwa-update__ghost {
    border-radius: 999px;
    font-family: inherit;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    transition:
        transform 0.15s ease,
        box-shadow 0.15s ease,
        filter 0.15s ease,
        background 0.15s ease;
}

.lig-pwa-update__primary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    width: 100%;
    min-height: 3.25rem;
    padding: 0.5rem 0.5rem 0.5rem 1.25rem;
    border: 1px solid rgba(26, 26, 26, 0.08);
    background: linear-gradient(180deg, #ffe566 0%, var(--lig-yellow) 48%, #f0c830 100%);
    color: var(--lig-on-yellow);
    font-size: 0.9375rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    box-shadow:
        0 10px 28px rgba(247, 213, 60, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.lig-pwa-update__primary-label {
    flex: 1 1 auto;
    text-align: left;
}

.lig-pwa-update__primary-icon {
    flex-shrink: 0;
    width: 2.125rem;
    height: 2.125rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--lig-on-yellow);
    color: var(--lig-yellow);
    font-size: 1.125rem;
    font-variation-settings: 'FILL' 1;
}

.lig-pwa-update__primary:active {
    transform: scale(0.985);
    filter: brightness(0.98);
}

.lig-pwa-update__ghost {
    min-height: 2.75rem;
    border: 1px solid color-mix(in srgb, var(--lig-border) 85%, transparent);
    background: color-mix(in srgb, var(--lig-surface-alt) 70%, transparent);
    color: var(--lig-text-muted);
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.5rem 1rem;
}

.lig-pwa-update__ghost:active {
    color: var(--lig-text);
    background: color-mix(in srgb, var(--lig-surface-alt) 90%, transparent);
}

@media (max-width: 767px) {
    html.lig-app-mode .lig-pwa-update--prompt .lig-pwa-update__chip {
        padding-bottom: calc(1rem + var(--lig-tab-bar-h, 3.5rem) + env(safe-area-inset-bottom, 0px));
    }

    html.lig-app-mode .lig-pwa-update--applying .lig-pwa-update__chip {
        margin-bottom: calc(var(--lig-tab-bar-h, 3.5rem) + env(safe-area-inset-bottom, 0px) + 0.5rem);
    }
}

html.dark .lig-pwa-update--prompt .lig-pwa-update__chip,
html.dark .lig-pwa-update__chip:has(.lig-pwa-update__prompt:not([hidden])) {
    box-shadow:
        0 -10px 44px rgba(0, 0, 0, 0.55),
        0 0 0 1px color-mix(in srgb, var(--lig-yellow) 22%, transparent);
}

html.dark .lig-pwa-update__primary {
    color: var(--lig-on-yellow);
}

html.dark .lig-pwa-update__ghost {
    background: color-mix(in srgb, var(--lig-surface-alt) 55%, transparent);
    border-color: color-mix(in srgb, var(--lig-border) 90%, transparent);
}

/* ?? Dark mode: contraste seguro (cards, texto, ?cones) ?? */
html.dark .ze-product-card,
html.dark .ze-product-h,
html.dark .home-suggested-card,
html.dark .ofertas-product-row {
    background: var(--lig-surface);
    color: var(--lig-text);
    border-color: var(--lig-border);
}

html.dark .ze-product-card__body,
html.dark .ze-product-h__body,
html.dark .home-suggested-card__actions,
html.dark .home-suggested-card__pricing {
    background: transparent;
    color: var(--lig-text);
}

html.dark .ze-product-card__name,
html.dark .ze-product-h__name,
html.dark .home-suggested-card__name,
html.dark .ofertas-product-row__name {
    color: var(--lig-text);
}

html.dark .ze-product-card__price,
html.dark .ze-product-h__price,
html.dark .home-suggested-card__price,
html.dark .home-suggested-card .ze-product-card__price,
html.dark .ofertas-product-row__price,
html.dark .totem-product__price,
html.dark .totem-price-card__value {
    color: var(--lig-text);
}

html.dark .ze-price-block__unit,
html.dark .totem-price-card__detail,
html.dark .totem-price-card__unit,
html.dark .totem-product__price-old {
    color: var(--lig-text-muted);
}

html.dark .ze-product-card__media,
html.dark .ze-product-h__media,
html.dark .home-suggested-card__media,
html.dark .ofertas-product-row__thumb,
html.dark .totem-product__media {
    background: #ffffff;
}

html.dark .ze-product-card__placeholder,
html.dark .home-suggested-card__placeholder,
html.dark .totem-product__placeholder {
    color: #9ca3af;
    font-size: 2rem;
}

html.dark .parceiros-product-scroll .totem-product,
html.dark .ze-product-scroll:has(.totem-product) .totem-product,
html.dark .home-suggested-scroll:has(.totem-product) .totem-product,
html.dark :is(.parceiros-catalog-grid, .ofertas-promos-grid) .totem-product {
    background: var(--lig-surface);
    border: 1px solid var(--lig-border);
    box-shadow: none;
}

html.dark .parceiros-product-scroll .totem-product:hover,
html.dark .ze-product-scroll:has(.totem-product) .totem-product:hover,
html.dark .home-suggested-scroll:has(.totem-product) .totem-product:hover,
html.dark :is(.parceiros-catalog-grid, .ofertas-promos-grid) .totem-product:hover {
    background: var(--lig-surface-alt);
    border-color: rgba(255, 255, 255, 0.12);
    box-shadow: none;
}

html.dark .parceiros-product-scroll .totem-product--selected,
html.dark .ze-product-scroll:has(.totem-product) .totem-product--selected,
html.dark .home-suggested-scroll:has(.totem-product) .totem-product--selected,
html.dark :is(.parceiros-catalog-grid, .ofertas-promos-grid) .totem-product--selected {
    background: rgba(247, 213, 60, 0.1);
    border-color: rgba(247, 213, 60, 0.45);
    box-shadow: 0 0 0 1px rgba(247, 213, 60, 0.18);
}

html.dark .parceiros-product-scroll .totem-product__name,
html.dark .ze-product-scroll:has(.totem-product) .totem-product__name,
html.dark .home-suggested-scroll:has(.totem-product) .totem-product__name,
html.dark :is(.parceiros-catalog-grid, .ofertas-promos-grid) .totem-product__name {
    color: var(--lig-text);
}

html.dark .totem-qty-btn {
    background: var(--lig-surface-alt);
    border-color: var(--lig-border);
    color: var(--lig-text-muted);
    box-shadow: none;
}

html.dark .totem-qty-btn.totem-plus,
html.dark .totem-product__qty .totem-plus {
    background: var(--lig-yellow);
    border-color: var(--lig-yellow);
    color: var(--lig-on-yellow);
}

html.dark .totem-qty-value {
    color: var(--lig-text);
}

html.dark .ze-cat-tile__label,
html.dark .home-story__label,
html.dark .ze-section__title {
    color: var(--lig-text);
}

html.dark .ze-section__title {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

html.dark .ze-section__title::before {
    content: '';
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 999px;
    background: var(--lig-yellow);
    flex-shrink: 0;
}

html.dark .home-section__link,
html.dark .ze-section__link {
    color: var(--lig-yellow-text);
}

html.dark .lig-header-stack,
html.dark .ze-app-header,
html.dark .lig-header-stack .ze-app-chrome,
html.dark .font-nav-bar {
    background: var(--lig-bg);
    border-color: var(--lig-border);
}

html.dark #app-bottom-nav {
    background: var(--lig-bg);
    border-top-color: var(--lig-border);
}

html.dark .lig-header-actions .material-symbols-outlined:not(.lig-nav-account__icon),
html.dark .lig-install-nav-btn,
html.dark .lig-header-cart,
html.dark .lig-sync-nav-btn {
    color: var(--lig-yellow-text);
}

html.dark .lig-nav-account .lig-nav-account__icon {
    color: inherit;
}

html.dark .lig-theme-toggle {
    color: var(--lig-text-muted);
}

html.dark .lig-theme-toggle-mount--header .lig-theme-toggle {
    color: var(--lig-yellow-text);
}

html.dark .lig-theme-toggle:hover,
html.dark .lig-theme-toggle-mount--header .lig-theme-toggle:hover,
html.dark .lig-install-nav-btn:hover,
html.dark .lig-header-cart:hover,
html.dark .lig-sync-nav-btn:hover {
    color: var(--lig-yellow-text);
}

html.dark .lig-nav-account {
    color: var(--lig-yellow-text);
    background: var(--lig-yellow-light);
    border-color: rgba(247, 213, 60, 0.28);
}

html.dark .lig-nav-account--active {
    color: var(--lig-on-yellow);
    background: var(--lig-yellow);
}

html.dark .lig-desktop-nav__track {
    background: var(--lig-surface);
    border-color: var(--lig-border);
}

html.dark .lig-desktop-nav__link {
    color: var(--lig-text-muted);
}

html.dark .lig-desktop-nav__link:hover {
    color: var(--lig-text);
    background: var(--lig-surface-alt);
}

html.dark .lig-desktop-nav__link--active {
    color: var(--lig-on-yellow);
    background: var(--lig-yellow);
}

html.dark .ze-fulfillment-bar,
html.dark .ze-location-bar,
html.dark .ze-search-bar {
    background: var(--lig-surface);
    color: var(--lig-text);
    border-color: var(--lig-border);
}

html.dark .ze-search-bar input {
    color: var(--lig-text);
    background: transparent;
}

html.dark .ze-search-bar input::placeholder {
    color: var(--lig-text-subtle);
}

html.dark .ze-float-cart__btn {
    color: var(--lig-on-yellow);
}

html.dark .lig-pwa-update__chip {
    background: color-mix(in srgb, var(--lig-surface) 90%, transparent);
    border-color: color-mix(in srgb, var(--lig-yellow) 35%, var(--lig-border));
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.55);
}

html.dark .caminhao-product,
html.dark .caminhao-checkout,
html.dark .lig-cart-line,
html.dark .lig-cart-panel,
html.dark .lig-cart-sheet {
    background: var(--lig-surface-alt);
    color: var(--lig-text);
    border-color: var(--lig-border);
}

html.dark .caminhao-product__name,
html.dark .lig-cart-line__name,
html.dark .lig-cart-header__title {
    color: var(--lig-text);
}

html.dark .conta-user-card,
html.dark .conta-info-card,
html.dark .conta-menu-row {
    background: var(--lig-surface);
    color: var(--lig-text);
    border-color: var(--lig-border);
}

/* Quem Somos ? tema claro/escuro via tokens */
body[data-page='quemsomos'].qs-page,
.qs-page {
    background: var(--lig-bg);
    color: var(--lig-text);
}

.qs-section--surface {
    background: var(--lig-surface);
    color: var(--lig-text);
}

.qs-section--muted {
    background: var(--lig-bg);
    color: var(--lig-text);
}

.qs-brand-logo {
    background: transparent;
    border: 0;
    padding: 0;
    border-radius: 50%;
    object-fit: cover;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.28));
}

.qs-card__title {
    color: var(--lig-text);
}

.qs-card__text {
    color: var(--lig-text-muted);
}

html.dark .qs-page .lig-page-title,
html.dark .qs-page .lig-page-body,
html.dark .qs-page .lig-page-body strong {
    color: var(--lig-text);
}

html.dark .qs-page .lig-page-body strong {
    color: var(--lig-yellow-text);
}

html.dark .qs-page .hero-glow {
    background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(247, 213, 60, 0.12), transparent 70%);
}

html.dark .qs-card {
    background: var(--lig-surface-alt);
    border-color: var(--lig-border);
    box-shadow: none;
}

/* -- Address picker (experi?ncia inicial estilo delivery) -- */
html.lig-addr-open {
    overflow: hidden;
}

html.lig-addr-open body {
    overflow: hidden;
}

.lig-addr {
    position: fixed;
    inset: 0;
    z-index: 120;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.lig-addr[hidden] {
    display: none !important;
}

.lig-addr__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    padding: 0;
    background: var(--lig-overlay, rgba(0, 0, 0, 0.55));
    cursor: pointer;
}

.lig-addr__dialog {
    position: relative;
    z-index: 1;
    width: min(26rem, 100%);
    max-height: min(88vh, 40rem);
    display: flex;
    flex-direction: column;
    background: var(--lig-surface);
    color: var(--lig-text);
    border-radius: 1rem;
    border: 1px solid var(--lig-border);
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.28);
    overflow: hidden;
}

.lig-addr__dialog--map {
    width: min(36rem, 100%);
    max-height: min(92vh, 34rem);
}

.lig-addr__dialog--confirm {
    max-height: min(92vh, 44rem);
}

.lig-addr__screen {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: var(--lig-surface);
}

.lig-addr__screen--map {
    position: relative;
    background: #e8e8e8;
    min-height: 16rem;
}

.lig-addr__dialog--map .lig-addr__screen--map {
    min-height: 18rem;
}

.lig-addr__top {
    display: grid;
    grid-template-columns: 2.75rem 1fr 2.75rem;
    align-items: center;
    gap: 0.25rem;
    min-height: 3.25rem;
    padding: 0.65rem 0.5rem 0.5rem;
    background: var(--lig-surface);
    border-bottom: 1px solid var(--lig-border);
    z-index: 2;
    flex-shrink: 0;
}

.lig-addr__top--over-map {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: transparent;
    border: none;
}

.lig-addr__title {
    margin: 0;
    text-align: center;
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--lig-text);
}

.lig-addr__top--over-map .lig-addr__title {
    color: #1a1a1a;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
}

.lig-addr__icon-btn {
    width: 2.75rem;
    height: 2.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 999px;
    background: transparent;
    color: var(--lig-text);
    cursor: pointer;
}

.lig-addr__icon-btn--light {
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
}

.lig-addr__top-spacer {
    width: 2.75rem;
    height: 2.75rem;
}

.lig-addr__search-wrap {
    padding: 1rem 1rem 0.5rem;
}

.lig-addr__field {
    position: relative;
    display: block;
}

.lig-addr__input {
    display: block;
    width: 100%;
    box-sizing: border-box;
    min-height: 3rem;
    padding: 0.75rem 2.75rem 0.75rem 0.9rem;
    border: 1px solid var(--lig-border-strong, var(--lig-border));
    border-radius: 0.65rem;
    background: var(--lig-surface);
    color: var(--lig-text);
    font-size: 0.9375rem;
    appearance: none;
    -webkit-appearance: none;
    outline: none;
    box-shadow: none;
}

.lig-addr__input:focus,
.lig-addr__input:focus-visible {
    border-color: var(--lig-yellow);
    box-shadow: 0 0 0 2px var(--lig-yellow-light);
    outline: none;
}

.lig-addr__field .lig-addr__input {
    padding-right: 2.75rem;
}

.lig-addr__field-icon {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--lig-text-subtle);
    pointer-events: none;
}

.lig-addr__geo-row {
    margin-top: 0.75rem;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.85rem 0.15rem;
    border: none;
    background: transparent;
    color: var(--lig-text);
    font-size: 0.9375rem;
    font-weight: 600;
    cursor: pointer;
    text-align: left;
}

.lig-addr__geo-row .material-symbols-outlined {
    flex-shrink: 0;
    font-size: 1.35rem;
    line-height: 1;
}

.lig-addr__geo-row .material-symbols-outlined:first-child {
    color: var(--lig-yellow-text);
}

.lig-addr__geo-row > span:not(.material-symbols-outlined) {
    flex: 1;
    min-width: 0;
    line-height: 1.35;
}

.lig-addr__chevron {
    margin-left: auto;
    color: var(--lig-text-subtle);
}

.lig-addr__icon-btn .material-symbols-outlined,
.lig-addr__field-icon,
.lig-addr__result .material-symbols-outlined {
    font-family: 'Material Symbols Outlined', sans-serif;
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

.lig-addr__divider {
    height: 1px;
    background: var(--lig-border);
    margin: 0 1rem;
}

.lig-addr__results {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0.5rem 0 1.5rem;
}

.lig-addr__result {
    width: 100%;
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.85rem 1rem;
    border: none;
    background: transparent;
    color: var(--lig-text);
    font-size: 0.875rem;
    line-height: 1.35;
    text-align: left;
    cursor: pointer;
}

.lig-addr__result:hover,
.lig-addr__result:focus-visible {
    background: var(--lig-yellow-light);
}

.lig-addr__result .material-symbols-outlined {
    color: var(--lig-text-subtle);
    flex-shrink: 0;
}

.lig-addr__empty,
.lig-addr__hint {
    margin: 0.75rem 1rem;
    font-size: 0.8125rem;
    color: var(--lig-text-muted);
}

.lig-addr__map {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.lig-addr__pin {
    position: absolute;
    left: 50%;
    top: 46%;
    z-index: 1;
    transform: translate(-50%, -100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    pointer-events: none;
}

.lig-addr__pin-mark {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
    background: var(--lig-yellow);
    color: #1a1a1a;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.22);
}

.lig-addr__pin-mark .material-symbols-outlined {
    transform: rotate(45deg);
    font-size: 1.25rem;
    font-variation-settings: 'FILL' 1;
}

.lig-addr__pin-dot {
    width: 0.55rem;
    height: 0.55rem;
    margin-top: 0.2rem;
    border-radius: 999px;
    background: #3b82f6;
    box-shadow: 0 0 0 0.45rem rgba(59, 130, 246, 0.28);
}

.lig-addr__map-ui {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    padding: 0 1rem calc(1rem + env(safe-area-inset-bottom, 0px));
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    pointer-events: none;
}

.lig-addr__tip {
    align-self: center;
    max-width: 20rem;
    margin: 0;
    padding: 0.55rem 0.75rem;
    border-radius: 0.5rem;
    background: #fff9e6;
    border: 1px solid rgba(247, 213, 60, 0.55);
    color: #5c4a00;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.3;
}

.lig-addr__recenter {
    align-self: flex-end;
    width: 2.75rem;
    height: 2.75rem;
    border: none;
    border-radius: 999px;
    background: #3a3a3a;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    pointer-events: auto;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
}

.lig-addr__confirm-btn {
    width: 100%;
    min-height: 3rem;
    border: none;
    border-radius: 999px;
    background: var(--lig-yellow);
    color: #1a1a1a;
    font-size: 0.9375rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    pointer-events: auto;
}

.lig-addr__confirm-btn:disabled {
    background: #e5e5e5;
    color: #8a8a8a;
    cursor: not-allowed;
}

.lig-addr__confirm-scroll {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 1rem 1rem 0.5rem;
}

.lig-addr__lead {
    margin: 0 0 1rem;
    font-size: 0.875rem;
    line-height: 1.45;
    color: var(--lig-text-muted);
}

.lig-addr__label {
    display: block;
    margin: 0.65rem 0 0.35rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--lig-text-muted);
}

.lig-addr__row {
    display: flex;
    gap: 0.65rem;
}

.lig-addr__cep-row {
    display: flex;
    gap: 0.5rem;
    align-items: stretch;
}

.lig-addr__cep-row .lig-addr__input {
    flex: 1;
    min-width: 0;
}

.lig-addr__cep-btn {
    flex-shrink: 0;
    min-width: 5.5rem;
    padding: 0 0.85rem;
    border: none;
    border-radius: 0.65rem;
    background: #f7d53c;
    color: #0d0d0d;
    font-size: 0.8125rem;
    font-weight: 800;
    cursor: pointer;
}

.lig-addr__cep-btn:disabled {
    opacity: 0.65;
    cursor: wait;
}

.lig-addr__cep-status {
    margin: 0.35rem 0 0.15rem;
    font-size: 0.75rem;
    color: var(--lig-text-muted);
}

.lig-addr__result-copy {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
    text-align: left;
}

.lig-addr__result-title {
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.3;
}

.lig-addr__result-meta {
    font-size: 0.72rem;
    color: var(--lig-text-muted);
}

.lig-addr__col {
    flex: 1;
    min-width: 0;
}

.lig-addr__col--num {
    flex: 0 0 5.5rem;
}

.lig-addr__checks {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
    margin: 0.65rem 0 0.25rem;
}

.lig-addr__check {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8125rem;
    color: var(--lig-text);
    cursor: pointer;
}

.lig-addr__state {
    margin: 0.75rem 0 0;
    text-align: center;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--lig-text-subtle);
}

.lig-addr__confirm-foot {
    padding: 0.75rem 1rem calc(1rem + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--lig-border);
    background: var(--lig-surface);
}

.lig-addr__change {
    margin: 0.75rem 0 0;
    text-align: center;
    font-size: 0.8125rem;
    color: var(--lig-text-muted);
}

.lig-addr__change button {
    border: none;
    background: none;
    padding: 0;
    color: var(--lig-yellow-text);
    font-weight: 800;
    cursor: pointer;
    text-decoration: underline;
}

.lig-addr__history {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0.25rem 0 0.5rem;
}

.lig-addr__history-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 1rem 0.35rem;
}

.lig-addr__history-title {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--lig-text-subtle);
}

.lig-addr__add-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    border: 0;
    border-radius: 999px;
    padding: 0.35rem 0.65rem;
    font-size: 0.75rem;
    font-weight: 700;
    background: rgba(0, 0, 0, 0.06);
    color: var(--lig-text);
    cursor: pointer;
}

.lig-addr__add-btn .material-symbols-outlined {
    font-size: 1rem;
}

.lig-addr__saved-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.15rem;
    min-width: 0;
    text-align: left;
}

.lig-addr__saved-sub {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--lig-text-muted);
    line-height: 1.25;
}

.lig-addr__empty--saved {
    margin: 0.35rem 1rem 0.5rem;
}

.lig-addr__check--save {
    margin-top: 0.35rem;
}

.lig-addr__history-item .material-symbols-outlined {
    color: var(--lig-yellow-text);
}

.lig-addr__loc-dialog {
    position: fixed;
    inset: 0;
    z-index: 140;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.lig-addr__loc-dialog[hidden] {
    display: none !important;
}

.lig-addr__loc-backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: var(--lig-overlay);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.lig-addr__loc-sheet {
    position: relative;
    z-index: 1;
    width: min(100%, 28rem);
    margin: 0 0.75rem calc(0.75rem + env(safe-area-inset-bottom, 0px));
    padding: 1.25rem 1.15rem 1rem;
    border-radius: 1.1rem;
    border: 1px solid var(--lig-border);
    background: var(--lig-surface);
    box-shadow: var(--lig-shadow);
    text-align: center;
}

.lig-addr__loc-icon {
    font-size: 2rem;
    color: var(--lig-yellow-text);
}

.lig-addr__loc-title {
    margin: 0.65rem 0 0.35rem;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--lig-text);
}

.lig-addr__loc-desc {
    margin: 0 0 1rem;
    font-size: 0.875rem;
    line-height: 1.45;
    color: var(--lig-text-muted);
}

.lig-addr__loc-actions {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.lig-addr__loc-btn {
    width: 100%;
    min-height: 2.85rem;
    border: none;
    border-radius: 999px;
    background: var(--lig-yellow);
    color: #1a1a1a;
    font-size: 0.875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    cursor: pointer;
}

.lig-addr__loc-btn--ghost {
    background: transparent;
    border: 1px solid var(--lig-border-strong, var(--lig-border));
    color: var(--lig-text);
    text-transform: none;
    font-weight: 700;
    letter-spacing: 0;
}

@media (max-width: 767px) {
    .lig-addr {
        align-items: flex-end;
        padding: 0;
    }

    .lig-addr__dialog,
    .lig-addr__dialog--map,
    .lig-addr__dialog--confirm {
        width: 100%;
        max-height: 92vh;
        border-radius: 1rem 1rem 0 0;
    }

    .lig-addr__dialog--map {
        max-height: 94vh;
        min-height: min(70vh, 34rem);
    }

    .lig-addr__top {
        padding-top: max(0.65rem, env(safe-area-inset-top, 0px));
    }
}

.lig-onboarding__skip {
    display: block;
    width: 100%;
    margin-top: 0.65rem;
    border: none;
    background: transparent;
    color: var(--lig-text-muted);
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    min-height: 2.5rem;
}

/* Login ? criar conta em etapas */
.lig-signup-progress {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.4rem;
    margin: 0 0 1.25rem;
}

.lig-signup-progress__bar {
    height: 0.35rem;
    border-radius: 999px;
    background: #e8e8e8;
}

.lig-signup-progress__bar--on {
    background: var(--lig-yellow);
}

.lig-signup-step[hidden] {
    display: none !important;
}

.lig-signup-ask {
    margin: 0 0 0.75rem;
    font-size: 1rem;
    font-weight: 700;
    color: var(--lig-text);
}

.lig-login-phone__title {
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.9375rem;
}
