/* =========================================================
   MANDRAKE PRO UI V1
   Camada visual independente: responsiva, limpa e focada em conversão.
   Mantém identidade azul/branco/preto da loja.
   ========================================================= */
:root {
    --mgp-blue: #0057ff;
    --mgp-blue-700: #0044ca;
    --mgp-blue-900: #062569;
    --mgp-ink: #07111f;
    --mgp-muted: #64748b;
    --mgp-soft: #f4f7ff;
    --mgp-soft-2: #eaf1ff;
    --mgp-line: rgba(0, 87, 255, .16);
    --mgp-card: rgba(255, 255, 255, .96);
    --mgp-shadow: 0 18px 48px rgba(15, 23, 42, .10);
    --mgp-shadow-sm: 0 10px 28px rgba(15, 23, 42, .08);
    --mgp-radius-xl: 28px;
    --mgp-radius-lg: 22px;
    --mgp-radius-md: 16px;
    --mgp-safe-bottom: env(safe-area-inset-bottom, 0px);
}

html {
    scroll-behavior: smooth;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body.mg-pro-theme,
body {
    background:
        radial-gradient(circle at 8% 2%, rgba(0, 87, 255, .12), transparent 28rem),
        radial-gradient(circle at 100% 28%, rgba(0, 87, 255, .08), transparent 24rem),
        linear-gradient(180deg, #f8fbff 0%, #f3f6fb 42%, #ffffff 100%) !important;
    color: var(--mgp-ink);
}

img,
video {
    max-width: 100%;
}

a,
button,
input,
select,
textarea,
label {
    -webkit-tap-highlight-color: transparent;
}

button,
.btn,
.mg-primary-btn,
.checkout-final-btn,
#mobileBtnFinalizar,
#loadMoreProducts {
    touch-action: manipulation;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid rgba(0, 87, 255, .26) !important;
    outline-offset: 3px !important;
}

/* Header mais compacto e premium */
.mg-header-inicio {
    background: rgba(255, 255, 255, .86) !important;
    border-bottom: 1px solid rgba(0, 87, 255, .13) !important;
    box-shadow: 0 12px 34px rgba(15, 23, 42, .07) !important;
    backdrop-filter: blur(18px) saturate(1.25) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.25) !important;
}

.mg-header-inicio-inner,
.mg-header-inner {
    width: min(1180px, calc(100% - 24px)) !important;
    max-width: 1180px !important;
}

.mg-inicio-logo-card,
.mg-logo-card {
    border-radius: 18px !important;
    background: linear-gradient(135deg, #fff, #f5f8ff) !important;
    box-shadow: 0 10px 26px rgba(0, 87, 255, .10) !important;
}

.mg-inicio-menu-button,
.mg-menu-button {
    border-radius: 16px !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .12) !important;
}

.mg-inicio-slide-menu,
.mg-slide-menu {
    box-shadow: 0 30px 90px rgba(2, 6, 23, .32) !important;
}

/* Containers públicos */
.mg-store,
.container,
.main-container,
.checkout-page-clean,
.cart-page-clean,
.favorites-page,
.account-page,
.auth-page {
    width: min(1180px, calc(100% - 24px)) !important;
    max-width: 1180px !important;
}

.mg-store {
    padding-top: clamp(84px, 9vw, 108px) !important;
}

/* Hero / vitrine */
.mg-hero-card,
.mg-hero-pro,
.hero-card,
.checkout-hero,
.cart-hero {
    border: 1px solid rgba(0, 87, 255, .14) !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.97), rgba(242,247,255,.96)),
        radial-gradient(circle at 88% 10%, rgba(0, 87, 255, .16), transparent 17rem) !important;
    box-shadow: var(--mgp-shadow-sm) !important;
    border-radius: var(--mgp-radius-xl) !important;
}

.mg-hero-pro h1,
.hero-card h1,
.checkout-hero h1,
.cart-hero h1 {
    letter-spacing: -.055em !important;
    color: var(--mgp-ink) !important;
}

.mg-hero-pro p,
.hero-card p,
.checkout-hero p,
.cart-hero p {
    color: var(--mgp-muted) !important;
    font-weight: 650 !important;
}

.mg-hero-status-card {
    border-radius: 22px !important;
    border: 1px solid rgba(0, 87, 255, .16) !important;
    background: #fff !important;
    box-shadow: 0 16px 36px rgba(0, 87, 255, .11) !important;
}

/* Barra de busca e filtros */
.mg-filter-panel {
    border: 1px solid rgba(0, 87, 255, .14) !important;
    border-radius: 26px !important;
    background: rgba(255, 255, 255, .92) !important;
    box-shadow: var(--mgp-shadow-sm) !important;
    backdrop-filter: blur(12px) !important;
}

#searchInput,
#sortSelect,
.form-control,
.form-select {
    border-radius: 16px !important;
    border-color: rgba(0, 87, 255, .18) !important;
    background-color: #fff !important;
    box-shadow: none !important;
}

#searchInput:focus,
#sortSelect:focus,
.form-control:focus,
.form-select:focus {
    border-color: rgba(0, 87, 255, .48) !important;
    box-shadow: 0 0 0 4px rgba(0, 87, 255, .10) !important;
}

.mg-tab,
.mg-tab-button {
    border-radius: 999px !important;
    min-height: 42px;
    border: 1px solid rgba(0, 87, 255, .18) !important;
    box-shadow: 0 7px 18px rgba(15, 23, 42, .05) !important;
}

.mg-tab[aria-selected="true"],
.mg-tab-button[aria-selected="true"],
.mg-tab.active,
.mg-tab-button.active {
    color: #fff !important;
    background: linear-gradient(135deg, var(--mgp-blue), var(--mgp-blue-700)) !important;
    border-color: transparent !important;
}

/* Grid de produtos */
.js-products-grid {
    align-items: stretch;
}

.mg-product-card,
.js-product-card {
    position: relative;
    isolation: isolate;
    border: 1px solid rgba(0, 87, 255, .12) !important;
    border-radius: 24px !important;
    background: var(--mgp-card) !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .07) !important;
    overflow: hidden;
    transform: translateZ(0);
    will-change: transform;
}

.mg-product-card::before,
.js-product-card::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
    z-index: 1;
}

@media (hover: hover) and (pointer: fine) {
    .mg-product-card:hover,
    .js-product-card:hover {
        transform: translateY(-4px) !important;
        border-color: rgba(0, 87, 255, .28) !important;
        box-shadow: 0 22px 58px rgba(15, 23, 42, .13) !important;
    }
}

.mg-product-image-wrap {
    background: linear-gradient(135deg, #eef4ff, #ffffff) !important;
}

.mg-product-image-wrap::after {
    content: 'Ver detalhes';
    position: absolute;
    left: 10px;
    bottom: 10px;
    z-index: 15;
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 11px;
    border-radius: 999px;
    background: rgba(7, 17, 31, .74);
    color: #fff;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: -.01em;
    backdrop-filter: blur(10px);
    opacity: 0;
    transform: translateY(6px);
    transition: opacity .18s ease, transform .18s ease;
}

@media (hover: hover) and (pointer: fine) {
    .mg-product-card:hover .mg-product-image-wrap::after,
    .js-product-card:hover .mg-product-image-wrap::after {
        opacity: 1;
        transform: translateY(0);
    }
}

.imagem-produto {
    transform: scale(1.001);
    background: #f5f8ff;
}

.js-carousel-prev,
.js-carousel-next,
.mg-fav-btn {
    border: 1px solid rgba(255, 255, 255, .74) !important;
    background: rgba(255, 255, 255, .9) !important;
    color: #07111f !important;
    box-shadow: 0 12px 26px rgba(15, 23, 42, .15) !important;
}

.mg-fav-active {
    color: #ef4444 !important;
}

.mg-product-card h3,
.js-product-card h3 {
    font-size: clamp(.86rem, 2.6vw, 1rem) !important;
    line-height: 1.24 !important;
    letter-spacing: -.018em !important;
}

.mg-price-box,
.mg-discount-box {
    border-color: rgba(0, 87, 255, .14) !important;
    background: linear-gradient(135deg, #f7faff, #ffffff) !important;
}

.mg-discount-badge,
.mg-coupon-badge {
    background: #07111f !important;
    color: #fff !important;
}

.mg-price-to,
.text-brand-600 {
    color: var(--mgp-blue) !important;
}

.mg-size-label,
.mg-color-label {
    box-shadow: 0 7px 16px rgba(15, 23, 42, .07) !important;
}

.mg-size-radio:checked + .mg-size-label,
.mg-color-radio:checked + .mg-color-label {
    border-color: var(--mgp-blue) !important;
    box-shadow: 0 0 0 4px rgba(0, 87, 255, .14), 0 10px 22px rgba(0, 87, 255, .13) !important;
}

.mg-primary-btn,
.btn-primary,
.checkout-final-btn,
#mobileBtnFinalizar,
#btnConfirmarGerarPagamento {
    border: 0 !important;
    color: #fff !important;
    background: linear-gradient(135deg, var(--mgp-blue), var(--mgp-blue-700)) !important;
    box-shadow: 0 14px 30px rgba(0, 87, 255, .22) !important;
}

.mg-primary-btn:hover,
.btn-primary:hover,
.checkout-final-btn:hover,
#mobileBtnFinalizar:hover,
#btnConfirmarGerarPagamento:hover {
    filter: brightness(.98);
}

#loadMoreProducts {
    min-height: 48px;
    border-radius: 18px !important;
    border-color: rgba(0, 87, 255, .22) !important;
    background: #fff !important;
    color: var(--mgp-blue-700) !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .08) !important;
}

.mg-floating-cart {
    border: 1px solid rgba(0, 87, 255, .18) !important;
    background: rgba(255, 255, 255, .94) !important;
    box-shadow: 0 18px 48px rgba(15, 23, 42, .18) !important;
    backdrop-filter: blur(14px);
}

.mg-floating-cart-count {
    background: #ef4444 !important;
    color: #fff !important;
}

/* Modal produto */
#produtoModal {
    background: rgba(2, 6, 23, .72) !important;
    backdrop-filter: blur(10px) !important;
}

#produtoModal .mg-modal-box {
    border: 1px solid rgba(255, 255, 255, .82) !important;
    border-radius: 30px !important;
    box-shadow: 0 34px 100px rgba(2, 6, 23, .34) !important;
}

#produtoModal .js-close-modal {
    border: 1px solid rgba(15, 23, 42, .09) !important;
    background: #fff !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .14) !important;
}

.mg-detail-main-image,
.mg-detail-image-panel img {
    border-radius: 22px !important;
    background: #f5f8ff !important;
}

.js-modal-gallery-prev,
.js-modal-gallery-next {
    border: 1px solid rgba(255, 255, 255, .78) !important;
    background: rgba(255, 255, 255, .92) !important;
}

.js-modal-thumb {
    border-radius: 14px !important;
    border: 1px solid rgba(0, 87, 255, .14) !important;
}

.js-modal-thumb.is-active,
.js-modal-thumb[aria-selected="true"] {
    border-color: var(--mgp-blue) !important;
    box-shadow: 0 0 0 4px rgba(0, 87, 255, .14) !important;
}

/* Carrinho / checkout */
.cart-shell-clean,
.checkout-card,
.resumo-card,
.checkout-step-clean,
.coupon-drawer,
.checkout-address-card,
.card {
    border-color: rgba(0, 87, 255, .13) !important;
    border-radius: 24px !important;
    box-shadow: 0 12px 34px rgba(15, 23, 42, .07) !important;
}

.cart-item,
.item-carrinho,
.cart-item-clean {
    border-color: rgba(0, 87, 255, .12) !important;
    border-radius: 22px !important;
    background: #fff !important;
}

.delivery-option-clean,
.payment-choice-clean {
    border-radius: 18px !important;
    border: 1px solid rgba(0, 87, 255, .16) !important;
    background: #fff !important;
    min-height: 62px;
}

.btn-check:checked + .delivery-option-clean,
.btn-check:checked + .payment-choice-clean {
    border-color: rgba(0, 87, 255, .45) !important;
    background: linear-gradient(135deg, rgba(0, 87, 255, .09), #fff) !important;
    box-shadow: 0 12px 28px rgba(0, 87, 255, .12) !important;
}

.checkout-note,
#avisoPixPendente,
.mg-pix-unavailable-note {
    border: 1px solid rgba(245, 158, 11, .28) !important;
    border-radius: 16px !important;
    background: #fffbeb !important;
    color: #92400e !important;
    padding: .85rem .95rem !important;
}

.pix-pro-card,
.pix-status-clean,
#pixQRCode,
#pixCopiaCola {
    border-radius: 20px !important;
}

#pixPagamentoModal .modal-content,
.modal-content {
    border-radius: 26px !important;
    border: 1px solid rgba(255,255,255,.82) !important;
    box-shadow: 0 30px 90px rgba(2, 6, 23, .28) !important;
}

/* Contas, login e favoritos */
.auth-card,
.login-card,
.cadastro-card,
.account-card,
.favorito-card,
.favorite-card {
    border-radius: 24px !important;
    border: 1px solid rgba(0, 87, 255, .13) !important;
    box-shadow: var(--mgp-shadow-sm) !important;
}

/* Rodapé */
footer,
.mg-footer,
.footer {
    border-top-color: rgba(0, 87, 255, .14) !important;
}

/* Toasts */
.toast,
.toast-clean,
#toast > * {
    border-radius: 18px !important;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .18) !important;
}

/* Mobile */
@media (max-width: 768px) {
    .mg-header-inicio-inner,
    .mg-header-inner {
        width: min(100% - 18px, 1180px) !important;
        padding-block: .58rem !important;
    }

    .mg-store,
    .container,
    .main-container,
    .checkout-page-clean,
    .cart-page-clean,
    .favorites-page,
    .account-page,
    .auth-page {
        width: min(100% - 16px, 1180px) !important;
    }

    .mg-store {
        padding-top: 78px !important;
        padding-bottom: calc(88px + var(--mgp-safe-bottom)) !important;
    }

    .mg-hero-card,
    .mg-hero-pro,
    .hero-card,
    .checkout-hero,
    .cart-hero {
        border-radius: 22px !important;
        padding: 1rem !important;
    }

    .mg-hero-pro h1,
    .hero-card h1,
    .checkout-hero h1,
    .cart-hero h1 {
        font-size: clamp(1.45rem, 7vw, 2rem) !important;
        line-height: 1.02 !important;
    }

    .mg-filter-panel {
        position: sticky;
        top: 70px;
        z-index: 40;
        margin-inline: -8px !important;
        border-radius: 0 0 22px 22px !important;
        border-top: 0 !important;
        box-shadow: 0 16px 32px rgba(15, 23, 42, .10) !important;
    }

    .js-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    .mg-product-card,
    .js-product-card {
        border-radius: 18px !important;
        box-shadow: 0 9px 24px rgba(15, 23, 42, .08) !important;
    }

    .mg-product-image-wrap {
        aspect-ratio: 4 / 5.25 !important;
    }

    .mg-product-image-wrap::after {
        display: none !important;
    }

    .js-carousel-prev,
    .js-carousel-next {
        width: 32px !important;
        height: 32px !important;
    }

    .mg-fav-btn {
        width: 38px !important;
        height: 38px !important;
        right: 8px !important;
        top: 8px !important;
    }

    .mg-product-card .flex.flex-1.flex-col,
    .js-product-card .flex.flex-1.flex-col {
        padding: 10px !important;
    }

    .mg-product-card h3,
    .js-product-card h3 {
        min-height: 2.45em;
        font-size: .82rem !important;
    }

    .js-description,
    .js-desc-toggle {
        display: none !important;
    }

    .mg-price-box,
    .mg-discount-box {
        padding: 9px !important;
        border-radius: 16px !important;
    }

    .mg-price-to {
        font-size: 1.02rem !important;
        line-height: 1.05 !important;
    }

    .mg-size-label {
        padding: .34rem .55rem !important;
        font-size: .68rem !important;
    }

    .mg-color-label {
        width: 24px !important;
        height: 24px !important;
    }

    .mg-primary-btn,
    .js-add-cart {
        min-height: 42px !important;
        border-radius: 15px !important;
        font-size: .78rem !important;
        margin-top: .7rem !important;
    }

    #produtoModal {
        align-items: flex-end !important;
        padding: 0 !important;
    }

    #produtoModal.flex {
        display: flex !important;
    }

    #produtoModal .mg-modal-box {
        width: 100% !important;
        max-width: 100% !important;
        max-height: min(92dvh, 840px) !important;
        border-radius: 26px 26px 0 0 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    #produtoModal .mg-modal-box::before {
        content: '';
        display: block;
        width: 42px;
        height: 5px;
        margin: 10px auto 2px;
        border-radius: 999px;
        background: rgba(15, 23, 42, .18);
    }

    #produtoModal .js-close-modal {
        top: 12px !important;
        right: 12px !important;
        width: 42px !important;
        height: 42px !important;
    }

    .mg-detail-main-image,
    .mg-detail-image-panel img {
        max-height: 48dvh !important;
        object-fit: contain !important;
    }

    .mg-floating-cart {
        right: 12px !important;
        bottom: calc(82px + var(--mgp-safe-bottom)) !important;
    }

    .checkout-cta-footer,
    .mobile-checkout-bar,
    .cart-mobile-bar {
        position: sticky !important;
        bottom: 0 !important;
        z-index: 80 !important;
        padding-bottom: calc(.75rem + var(--mgp-safe-bottom)) !important;
        background: linear-gradient(to top, #fff 82%, rgba(255,255,255,0)) !important;
    }
}

@media (max-width: 380px) {
    .js-products-grid {
        gap: 8px !important;
    }

    .mg-product-card .flex.flex-1.flex-col,
    .js-product-card .flex.flex-1.flex-col {
        padding: 9px !important;
    }

    .mg-primary-btn,
    .js-add-cart {
        font-size: .72rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

/* Produtos: filtro estilo vitrine profissional + finalização via WhatsApp */
.mg-product-filter-grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(190px, .7fr) minmax(180px, .55fr) minmax(140px, .35fr) !important;
    align-items: end !important;
}

.mg-card-meta-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin-bottom: .55rem !important;
}

.mg-card-category {
    font-size: .72rem !important;
    color: var(--mgp-muted, #64748b) !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 70% !important;
}

.mg-card-availability {
    font-size: .68rem !important;
    font-weight: 900 !important;
    color: #047857 !important;
    background: #ecfdf5 !important;
    border: 1px solid #bbf7d0 !important;
    border-radius: 999px !important;
    padding: .18rem .5rem !important;
    white-space: nowrap !important;
}

.mg-product-card .space-y-3 {
    display: grid !important;
    gap: .7rem !important;
}

.mg-product-card .js-no-card-open > p.mb-1 {
    display: flex !important;
    align-items: center !important;
    gap: .35rem !important;
    font-size: .76rem !important;
    font-weight: 950 !important;
    color: var(--mgp-blue-900, #0f172a) !important;
    margin-bottom: .45rem !important;
}

.mg-color-chip-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: .42rem !important;
    min-height: 32px !important;
    padding: .32rem .58rem !important;
    border-radius: 999px !important;
    border: 1px solid rgba(0, 87, 255, .16) !important;
    background: #fff !important;
    color: var(--mgp-ink, #0f172a) !important;
    font-size: .78rem !important;
    font-weight: 850 !important;
    cursor: pointer !important;
    transition: .18s ease !important;
    line-height: 1 !important;
    box-shadow: 0 7px 16px rgba(15, 23, 42, .06) !important;
}

.mg-color-chip-dot {
    width: 17px !important;
    height: 17px !important;
    border-radius: 999px !important;
    display: inline-block !important;
    border: 2px solid #fff !important;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .18) !important;
    flex: none !important;
}

.mg-color-chip-label:hover,
.mg-size-label:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(0, 87, 255, .35) !important;
}

.mg-color-radio:checked + .mg-color-chip-label,
.mg-size-radio:checked + .mg-size-label {
    border-color: var(--mgp-blue, #0057ff) !important;
    background: #eff6ff !important;
    color: var(--mgp-blue-900, #0f172a) !important;
    box-shadow: 0 0 0 3px rgba(0, 87, 255, .13), 0 10px 22px rgba(0, 87, 255, .10) !important;
}

.mg-whatsapp-payment-card {
    width: 100% !important;
    border-color: rgba(34, 197, 94, .28) !important;
    background: linear-gradient(135deg, #f0fdf4, #fff) !important;
}

.whatsapp-icon {
    background: #dcfce7 !important;
    color: #16a34a !important;
}

.mg-whatsapp-note {
    border-color: rgba(34, 197, 94, .22) !important;
    background: #f0fdf4 !important;
    color: #14532d !important;
}

@media (max-width: 900px) {
    .mg-product-filter-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    .mg-product-filter-grid .mg-search-wrap {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 640px) {
    .mg-product-filter-grid {
        grid-template-columns: 1fr !important;
    }

    .mg-card-category {
        max-width: 62% !important;
        font-size: .65rem !important;
    }

    .mg-card-availability {
        font-size: .62rem !important;
    }

    .mg-color-chip-label {
        font-size: .68rem !important;
        min-height: 28px !important;
        padding: .26rem .45rem !important;
    }

    .mg-color-chip-dot {
        width: 14px !important;
        height: 14px !important;
    }

    .mg-product-card .space-y-3 {
        gap: .55rem !important;
    }

    .mg-whatsapp-choice {
        grid-template-columns: 1fr !important;
    }
}


/* =========================================================
   MANDRAKE PRO UI V4 - vitrine profissional, leve e responsiva
   ========================================================= */
.fab,
.fa-brands {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    min-width: 1em;
    height: 1em;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
}
.fa-whatsapp::before { content: "✆"; font-size: 1.05em; }
.fa-lock::before { content: "🔒"; font-size: .9em; }
.fa-spinner::before { content: "◌"; }
.fa-spin { animation: mgpSpin .75s linear infinite; }
@keyframes mgpSpin { to { transform: rotate(360deg); } }

.mg-store {
    width: min(1200px, calc(100% - 24px)) !important;
    max-width: 1200px !important;
    padding-top: clamp(78px, 8vw, 106px) !important;
}

.mg-hero-pro {
    padding: clamp(18px, 3vw, 30px) !important;
    border-radius: 30px !important;
    min-height: auto !important;
}
.mg-hero-pro-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: clamp(14px, 3vw, 28px) !important;
    align-items: center !important;
}
.mg-hero-pro h1 {
    font-size: clamp(1.65rem, 4vw, 3.2rem) !important;
    line-height: .98 !important;
    margin: 0 !important;
}
.mg-hero-pro p {
    max-width: 620px !important;
    font-size: clamp(.92rem, 1.3vw, 1.05rem) !important;
    margin-top: .6rem !important;
}
.mg-hero-status-card {
    min-width: 150px !important;
    padding: 16px 18px !important;
    text-align: center !important;
}
.mg-hero-status-card strong {
    display: block !important;
    font-size: clamp(1.8rem, 4vw, 2.7rem) !important;
    line-height: 1 !important;
    color: var(--mgp-blue) !important;
}
.mg-hero-status-card span {
    display: block !important;
    margin-top: 4px !important;
    font-size: .78rem !important;
    font-weight: 900 !important;
    color: var(--mgp-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
}

.mg-filter-panel {
    margin-top: 18px !important;
    padding: clamp(14px, 2vw, 20px) !important;
    border-radius: 26px !important;
}
.mg-filter-panel .mg-filter-title {
    color: var(--mgp-ink) !important;
    font-size: .95rem !important;
    letter-spacing: -.01em !important;
}
.mg-product-filter-grid {
    display: grid !important;
    grid-template-columns: minmax(260px, 1.25fr) minmax(210px, .75fr) minmax(190px, .55fr) minmax(150px, .35fr) !important;
    gap: 12px !important;
    align-items: end !important;
}
.mg-input-pro,
#searchInput,
#categorySelect,
#sortSelect,
#itemsPerPageSelect {
    min-height: 50px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(0, 87, 255, .18) !important;
    background: #fff !important;
    color: var(--mgp-ink) !important;
    font-weight: 850 !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .04) !important;
}
.mg-input-pro:focus,
#searchInput:focus,
#categorySelect:focus,
#sortSelect:focus,
#itemsPerPageSelect:focus {
    border-color: rgba(0, 87, 255, .52) !important;
    box-shadow: 0 0 0 4px rgba(0, 87, 255, .11) !important;
}

#tabsList {
    gap: 9px !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    padding-bottom: 4px !important;
}
#tabsList::-webkit-scrollbar { display: none !important; }
.mg-tab-button {
    min-height: 40px !important;
    padding: 0 15px !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #1e3a8a !important;
    border: 1px solid rgba(0, 87, 255, .16) !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .06) !important;
    white-space: nowrap !important;
}
.mg-tab-button:hover,
.mg-tab-button:focus-visible {
    border-color: rgba(0, 87, 255, .38) !important;
    background: #eff6ff !important;
}
.mg-tab-button-active,
.mg-tab-button[aria-selected="true"] {
    color: #fff !important;
    background: linear-gradient(135deg, var(--mgp-blue), var(--mgp-blue-700)) !important;
    border-color: transparent !important;
    box-shadow: 0 12px 28px rgba(0, 87, 255, .24) !important;
}

#abasConteudo { margin-top: 18px !important; }
.js-tab-content > .mb-3,
.js-tab-content > .mb-3.flex {
    margin-bottom: 14px !important;
}
.js-tab-content h2 {
    font-size: clamp(1.2rem, 2.4vw, 1.7rem) !important;
    letter-spacing: -.04em !important;
}
.js-tab-content h2 + p {
    font-size: .86rem !important;
    color: var(--mgp-muted) !important;
}
.js-products-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(10px, 1.8vw, 18px) !important;
    align-items: stretch !important;
}
@media (min-width: 760px) {
    .js-products-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (min-width: 1100px) {
    .js-products-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}

.mg-product-card,
.js-product-card {
    border-radius: 22px !important;
    border-color: rgba(0, 87, 255, .12) !important;
    background: #fff !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .07) !important;
    content-visibility: auto;
    contain-intrinsic-size: 320px 520px;
}
.mg-product-card:hover,
.js-product-card:hover {
    box-shadow: 0 20px 52px rgba(15, 23, 42, .13) !important;
}
.mg-product-image-wrap {
    aspect-ratio: 1 / 1.08 !important;
    background: linear-gradient(135deg, #f8fbff, #edf4ff) !important;
    border-radius: 0 !important;
}
.mg-product-image-wrap .imagem-produto,
.js-product-card .imagem-produto {
    object-fit: contain !important;
    padding: 9px !important;
    background: transparent !important;
}
.mg-product-image-wrap::after { display: none !important; }
.js-carousel-prev,
.js-carousel-next {
    width: 34px !important;
    height: 34px !important;
    background: rgba(255,255,255,.94) !important;
    border: 1px solid rgba(0, 87, 255, .13) !important;
    box-shadow: 0 10px 24px rgba(15,23,42,.12) !important;
}
.mg-fav-btn {
    width: 40px !important;
    height: 40px !important;
    background: rgba(255, 255, 255, .94) !important;
    border: 1px solid rgba(0, 87, 255, .12) !important;
    box-shadow: 0 10px 22px rgba(15,23,42,.10) !important;
}
.js-product-card > .flex.flex-1.flex-col,
.mg-product-card > .flex.flex-1.flex-col {
    padding: 12px !important;
    gap: 0 !important;
}
.mg-card-meta-row {
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 7px !important;
}
.mg-card-category {
    max-width: 100% !important;
    font-size: .66rem !important;
    color: #1d4ed8 !important;
    background: #eff6ff !important;
    border: 1px solid rgba(37, 99, 235, .14) !important;
    padding: .22rem .48rem !important;
    border-radius: 999px !important;
}
.mg-card-availability {
    display: none !important;
}
.js-product-card h3 {
    min-height: 2.45em !important;
    color: #07111f !important;
    font-size: clamp(.86rem, 1.5vw, 1.02rem) !important;
    line-height: 1.23 !important;
    margin: 0 !important;
}
.js-product-card .mg-price-box,
.js-product-card .mg-discount-box {
    border-radius: 16px !important;
    padding: 10px !important;
    background: linear-gradient(135deg, #eff6ff, #fff) !important;
}
.js-product-card .mg-price-to,
.js-product-card .text-lg.font-black.text-brand-600,
.js-product-card .sm\:text-xl {
    font-size: clamp(1.02rem, 2vw, 1.32rem) !important;
    color: var(--mgp-blue-700) !important;
    letter-spacing: -.04em !important;
}
.js-rating {
    margin-top: 8px !important;
    padding: .35rem .5rem !important;
    max-width: 100% !important;
    font-size: .72rem !important;
}
.js-description,
.js-desc-toggle {
    display: none !important;
}
.js-product-card .space-y-3 {
    margin-top: 10px !important;
    display: grid !important;
    gap: 8px !important;
}
.js-product-card .js-no-card-open > p.mb-1 {
    font-size: .7rem !important;
    margin-bottom: 5px !important;
    color: #334155 !important;
}
.mg-size-label,
.mg-color-chip-label {
    min-height: 30px !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
    border-color: rgba(0, 87, 255, .16) !important;
    background: #fff !important;
}
.mg-size-label { padding: .34rem .62rem !important; }
.mg-color-chip-label { padding: .32rem .56rem !important; }
.mg-color-chip-dot { width: 15px !important; height: 15px !important; }
.mg-primary-btn,
.js-add-cart {
    min-height: 46px !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, var(--mgp-blue), var(--mgp-blue-700)) !important;
    color: #fff !important;
    box-shadow: 0 12px 28px rgba(0, 87, 255, .22) !important;
    font-size: .84rem !important;
    letter-spacing: -.01em !important;
}
.js-add-cart i::before { content: "🛍" !important; font-size: .95em !important; }
.mg-primary-btn:hover,
.js-add-cart:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 16px 34px rgba(0, 87, 255, .30) !important;
}

.mg-floating-cart {
    right: max(14px, calc((100vw - 1200px) / 2 + 14px)) !important;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 16px) !important;
    min-height: 54px !important;
    padding: .55rem .92rem .55rem .58rem !important;
    border-radius: 999px !important;
    border: 1px solid rgba(0, 87, 255, .18) !important;
    background: rgba(255,255,255,.96) !important;
    color: var(--mgp-blue) !important;
    box-shadow: 0 18px 48px rgba(15, 23, 42, .18) !important;
    backdrop-filter: blur(16px) saturate(1.2) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.2) !important;
}
.mg-floating-cart-icon {
    width: 38px !important;
    height: 38px !important;
    background: linear-gradient(135deg, #eff6ff, #fff) !important;
    color: var(--mgp-blue) !important;
    border: 1px solid rgba(0, 87, 255, .16) !important;
    overflow: visible !important;
}
.mg-floating-cart-icon img { display: none !important; }
.mg-bag-svg { width: 22px !important; height: 22px !important; display: block !important; }
.mg-floating-cart-label {
    font-size: .86rem !important;
    font-weight: 950 !important;
    color: #07111f !important;
}
.mg-floating-cart-count {
    top: -7px !important;
    right: -5px !important;
    min-width: 22px !important;
    height: 22px !important;
    font-size: .7rem !important;
}

#loadMoreProducts {
    min-height: 50px !important;
    padding-inline: 24px !important;
    border-radius: 16px !important;
    background: #fff !important;
}

/* Checkout/carrinho WhatsApp: sem aparência de gateway */
.mg-whatsapp-checkout-box,
.mg-whatsapp-payment-card,
.mg-whatsapp-note {
    border-radius: 20px !important;
}
.mg-whatsapp-payment-card {
    border: 1px solid rgba(22, 163, 74, .20) !important;
    background: linear-gradient(135deg, #f0fdf4, #ffffff) !important;
    box-shadow: 0 10px 28px rgba(22, 163, 74, .08) !important;
}
.whatsapp-icon {
    background: #dcfce7 !important;
    color: #15803d !important;
}
.checkout-final-btn,
#mobileBtnFinalizar,
#btnConfirmarGerarPagamento {
    background: linear-gradient(135deg, #16a34a, #128c3a) !important;
    border: 0 !important;
    color: #fff !important;
    min-height: 52px !important;
    border-radius: 18px !important;
    font-weight: 950 !important;
    box-shadow: 0 14px 30px rgba(22, 163, 74, .24) !important;
}
.checkout-final-btn:hover,
#mobileBtnFinalizar:hover,
#btnConfirmarGerarPagamento:hover {
    filter: brightness(.98) !important;
    transform: translateY(-1px) !important;
}

@media (max-width: 900px) {
    .mg-hero-pro-inner { grid-template-columns: 1fr !important; }
    .mg-hero-status-card { width: 100% !important; display: flex !important; justify-content: space-between !important; align-items: center !important; }
    .mg-product-filter-grid { grid-template-columns: 1fr 1fr !important; }
    .mg-product-filter-grid .mg-search-wrap { grid-column: 1 / -1 !important; }
}
@media (max-width: 640px) {
    .mg-store { width: min(100% - 16px, 1200px) !important; padding-bottom: 92px !important; }
    .mg-hero-pro { border-radius: 24px !important; padding: 18px !important; }
    .mg-hero-pro h1 { font-size: 1.65rem !important; }
    .mg-product-filter-grid { grid-template-columns: 1fr !important; gap: 10px !important; }
    .mg-filter-panel { margin-left: 0 !important; margin-right: 0 !important; border-radius: 22px !important; }
    .js-products-grid { gap: 10px !important; }
    .js-product-card { border-radius: 18px !important; }
    .mg-product-image-wrap { aspect-ratio: 1 / 1.05 !important; }
    .mg-product-image-wrap .imagem-produto { padding: 7px !important; }
    .js-product-card > .flex.flex-1.flex-col,
    .mg-product-card > .flex.flex-1.flex-col { padding: 9px !important; }
    .mg-card-category { font-size: .58rem !important; padding: .2rem .42rem !important; }
    .js-product-card h3 { font-size: .8rem !important; min-height: 2.35em !important; }
    .js-rating { display: none !important; }
    .js-product-card .space-y-3 { gap: 6px !important; margin-top: 8px !important; }
    .mg-size-label,
    .mg-color-chip-label { min-height: 28px !important; font-size: .65rem !important; padding: .28rem .48rem !important; }
    .mg-color-chip-label span:not(.mg-color-chip-dot) { max-width: 56px !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
    .mg-color-chip-dot { width: 13px !important; height: 13px !important; }
    .mg-primary-btn,
    .js-add-cart { min-height: 42px !important; border-radius: 14px !important; font-size: .75rem !important; margin-top: 10px !important; }
    .mg-floating-cart { right: 10px !important; bottom: calc(env(safe-area-inset-bottom, 0px) + 10px) !important; min-height: 50px !important; padding: .5rem .75rem .5rem .5rem !important; }
    .mg-floating-cart-icon { width: 34px !important; height: 34px !important; }
    .mg-floating-cart-label { font-size: .78rem !important; }
}
@media (max-width: 360px) {
    .js-products-grid { grid-template-columns: 1fr !important; }
    .mg-floating-cart-label { display: inline !important; }
    .mg-floating-cart { width: auto !important; min-width: 0 !important; }
}
@media (hover: none) {
    .mg-product-card:hover,
    .js-product-card:hover,
    .mg-primary-btn:hover,
    .js-add-cart:hover { transform: none !important; }
}
