/* ==========================================================================
   Loja WM — tema Premium
   --------------------------------------------------------------------------
   As cores vêm das Configurações do painel: o layout injeta --bs-primary,
   --bs-secondary e --site-primary-contrast, e tudo aqui deriva delas.
   Trocar a cor no admin muda a loja inteira, sem editar CSS.
   ========================================================================== */

:root {
    --wm-brand: var(--bs-primary, #1700C2);
    --wm-brand-ink: var(--bs-secondary, #12009B);
    --wm-on-brand: var(--site-primary-contrast, #FFFFFF);

    --wm-tint: color-mix(in srgb, var(--wm-brand) 9%, #FFFFFF);
    --wm-tint-2: color-mix(in srgb, var(--wm-brand) 16%, #FFFFFF);
    --wm-tint-border: color-mix(in srgb, var(--wm-brand) 28%, #FFFFFF);

    --wm-ink: #0F0F1A;
    --wm-body: #4B4B60;
    --wm-muted: #6B6B80;
    --wm-line: #E7E6F0;
    --wm-line-soft: #F0EFF7;
    --wm-surface: #FFFFFF;
    --wm-canvas: #F6F5FB;

    --wm-ok: #0B7A4B;
    --wm-ok-ink: #0A5C39;
    --wm-ok-bg: #E6F4EC;
    --wm-sale: #C2410C;
    --wm-sale-ink: #9A3412;
    --wm-sale-bg: #FDEAE0;
    --wm-warn-bg: #FEF3E6;
    --wm-warn-ink: #92400E;

    --wm-radius-sm: 10px;
    --wm-radius: 14px;
    --wm-radius-lg: 18px;
    --wm-radius-xl: 22px;

    --wm-shadow-1: 0 1px 2px rgba(15, 15, 26, .04), 0 6px 18px rgba(15, 15, 26, .05);
    --wm-shadow-2: 0 10px 30px rgba(15, 15, 26, .08);
    --wm-shadow-3: 0 18px 50px rgba(15, 15, 26, .10);

    --wm-sans: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --wm-display: 'Bricolage Grotesque', 'Manrope', system-ui, sans-serif;
}

/* --------------------------------------------------------------- base --- */

body {
    font-family: var(--wm-sans);
    color: var(--wm-body);
    background: var(--wm-surface);
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--wm-display);
    color: var(--wm-ink);
    letter-spacing: -.02em;
    font-weight: 800;
}

a { color: var(--wm-brand); text-decoration: none; }
a:hover { color: var(--wm-brand-ink); }

.wm-num { font-variant-numeric: tabular-nums; }
.text-muted { color: var(--wm-muted) !important; }

/* O spinner de tela cheia sai: a página aparece direto. */
#spinner { display: none !important; }

/* Animações do tema antigo não seguram mais o conteúdo escondido. */
.wow { visibility: visible !important; animation: none !important; }

/* ------------------------------------------------------------ botões --- */

.btn {
    font-weight: 700;
    border-radius: var(--wm-radius-sm);
    padding: .72rem 1.3rem;
    transition: transform .12s ease, box-shadow .15s ease, background-color .15s ease;
}

.btn-lg { padding: .95rem 1.7rem; font-size: 1.05rem; }
.btn-sm { padding: .5rem .95rem; font-size: .88rem; }

.btn-primary {
    background: var(--wm-brand);
    border-color: var(--wm-brand);
    color: var(--wm-on-brand);
    box-shadow: 0 8px 20px color-mix(in srgb, var(--wm-brand) 22%, transparent);
}
.btn-primary:hover, .btn-primary:focus-visible {
    background: var(--wm-brand-ink);
    border-color: var(--wm-brand-ink);
    color: var(--wm-on-brand);
    transform: translateY(-1px);
}

.btn-outline-primary {
    border: 1px solid var(--wm-brand);
    color: var(--wm-brand);
    background: var(--wm-surface);
}
.btn-outline-primary:hover { background: var(--wm-tint); color: var(--wm-brand-ink); border-color: var(--wm-brand); }

.btn-dark { background: var(--wm-ink); border-color: var(--wm-ink); }
.btn-light { background: var(--wm-canvas); border-color: var(--wm-line); color: var(--wm-ink); }

.rounded-pill { border-radius: 999px !important; }

/* ---------------------------------------------------------- cabeçalho --- */

.wm-topbar {
    background: var(--wm-brand);
    color: var(--wm-on-brand);
    font-size: .82rem;
    font-weight: 600;
}
.wm-topbar a { color: var(--wm-on-brand); opacity: .92; }
.wm-topbar a:hover { color: var(--wm-on-brand); opacity: 1; }
.wm-topbar .wm-topbar-linha {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    min-height: 42px;
    flex-wrap: wrap;
}
.wm-topbar-itens { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }

.wm-header { background: var(--wm-surface); border-bottom: 1px solid var(--wm-line); }
.wm-header-linha {
    display: flex;
    align-items: center;
    gap: 2rem;
    padding: 1.05rem 0;
}
.wm-logo { display: flex; align-items: center; gap: .7rem; flex-shrink: 0; }
.wm-logo img { height: 42px; width: auto; max-width: 170px; object-fit: contain; }
.wm-logo span {
    font-family: var(--wm-display);
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--wm-ink);
    letter-spacing: -.03em;
}

.wm-busca { flex: 1 1 380px; min-width: 0; position: relative; display: flex; }
.wm-busca input {
    width: 100%;
    height: 50px;
    padding: 0 13rem 0 2.9rem;
    border: 1px solid var(--wm-line);
    background: var(--wm-canvas);
    border-radius: 12px;
    font-size: .97rem;
    color: var(--wm-ink);
    outline: none;
}
.wm-busca input:focus { border-color: var(--wm-tint-border); background: var(--wm-surface); box-shadow: 0 0 0 4px color-mix(in srgb, var(--wm-brand) 10%, transparent); }
.wm-busca .wm-busca-icone { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: var(--wm-muted); }
.wm-busca select {
    position: absolute;
    right: 6.6rem;
    top: 7px;
    height: 36px;
    width: 160px;
    border: 0;
    border-left: 1px solid var(--wm-line);
    background: transparent;
    color: var(--wm-body);
    font-size: .86rem;
    font-weight: 600;
    padding: 0 .5rem;
    outline: none;
}
.wm-busca button {
    position: absolute;
    right: 6px;
    top: 6px;
    height: 38px;
    padding: 0 1.1rem;
    border: 0;
    border-radius: 9px;
    background: var(--wm-brand);
    color: var(--wm-on-brand);
    font-weight: 700;
    font-size: .9rem;
}

.wm-acoes { display: flex; align-items: center; gap: .4rem; flex-shrink: 0; }
.wm-acao {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .5rem .85rem;
    border-radius: var(--wm-radius-sm);
    color: var(--wm-ink);
    position: relative;
}
.wm-acao:hover { background: var(--wm-canvas); color: var(--wm-ink); }
.wm-acao i { font-size: 1.15rem; color: var(--wm-brand); }
.wm-acao small { display: block; font-size: .7rem; color: var(--wm-muted); font-weight: 600; line-height: 1.1; }
.wm-acao strong { display: block; font-size: .85rem; line-height: 1.2; }
.wm-acao-carrinho { background: var(--wm-canvas); }
.wm-badge-carrinho {
    position: absolute;
    top: 2px;
    right: 4px;
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    border-radius: 999px;
    background: var(--wm-sale);
    color: #fff;
    font-size: .68rem;
    font-weight: 800;
    display: grid;
    place-items: center;
}

.wm-nav { border-top: 1px solid var(--wm-line-soft); background: var(--wm-surface); }
.wm-nav-linha { display: flex; align-items: center; gap: .25rem; height: 52px; overflow-x: auto; scrollbar-width: none; }
.wm-nav-linha::-webkit-scrollbar { display: none; }
.wm-nav-linha a, .wm-nav-linha button {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    height: 38px;
    padding: 0 1rem;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: var(--wm-body);
    font-size: .92rem;
    font-weight: 600;
    white-space: nowrap;
}
.wm-nav-linha a:hover { background: var(--wm-canvas); color: var(--wm-ink); }
.wm-nav-linha a.ativo { color: var(--wm-brand); background: var(--wm-tint); font-weight: 700; }
.wm-nav-categorias { background: var(--wm-tint) !important; color: var(--wm-brand) !important; font-weight: 700 !important; }
.wm-nav-oferta { color: var(--wm-sale) !important; font-weight: 700 !important; }

/* ---------------------------------------------------------------- hero --- */

.wm-hero { background: var(--wm-canvas); border-bottom: 1px solid var(--wm-line); }
.wm-hero-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem;
    align-items: center;
    padding: 3.5rem 0 3.75rem;
}
.wm-hero-texto { flex: 999 1 420px; min-width: 0; }
.wm-hero-selo {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .45rem .9rem;
    border-radius: 999px;
    background: var(--wm-surface);
    border: 1px solid var(--wm-tint-border);
    color: var(--wm-brand);
    font-size: .82rem;
    font-weight: 700;
}
.wm-hero h1 {
    font-size: clamp(2.1rem, 4.4vw, 3.5rem);
    line-height: 1.06;
    margin: 1.25rem 0 0;
}
.wm-hero p.wm-hero-sub {
    font-size: 1.08rem;
    line-height: 1.6;
    max-width: 32rem;
    margin: 1.1rem 0 0;
}
.wm-hero-botoes { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.9rem; }
.wm-hero-dados {
    display: flex;
    flex-wrap: wrap;
    gap: 1.8rem;
    margin-top: 2.1rem;
    padding-top: 1.6rem;
    border-top: 1px solid var(--wm-line);
}
.wm-hero-dados strong {
    display: block;
    font-family: var(--wm-display);
    font-size: 1.5rem;
    color: var(--wm-ink);
    line-height: 1.1;
}
.wm-hero-dados span { font-size: .84rem; font-weight: 600; color: var(--wm-muted); }

.wm-hero-card {
    flex: 1 1 360px;
    min-width: 0;
    position: relative;
}
.wm-hero-card-inner {
    background: var(--wm-surface);
    border: 1px solid var(--wm-line);
    border-radius: var(--wm-radius-xl);
    padding: 1.6rem;
    box-shadow: var(--wm-shadow-3);
}
.wm-hero-foto {
    background: var(--wm-tint);
    border-radius: var(--wm-radius-lg);
    height: 320px;
    display: grid;
    place-items: center;
    overflow: hidden;
}
.wm-hero-foto img { width: 86%; height: 86%; object-fit: contain; }
.wm-hero-preco { font-family: var(--wm-display); font-size: 2rem; font-weight: 800; color: var(--wm-ink); line-height: 1.1; }
.wm-hero-flutuante {
    position: absolute;
    left: -14px;
    top: 2.4rem;
    background: var(--wm-surface);
    border: 1px solid var(--wm-line);
    border-radius: var(--wm-radius);
    padding: .7rem 1rem;
    display: flex;
    align-items: center;
    gap: .7rem;
    box-shadow: var(--wm-shadow-2);
}
.wm-hero-flutuante i {
    width: 34px; height: 34px;
    display: grid; place-items: center;
    border-radius: 9px;
    background: var(--wm-ok-bg);
    color: var(--wm-ok);
}

/* ------------------------------------------------------------ confiança --- */

.wm-trust { border-bottom: 1px solid var(--wm-line); background: var(--wm-surface); }
.wm-trust-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
    padding: 1.6rem 0;
}
.wm-trust-item { display: flex; align-items: center; gap: .85rem; }
.wm-trust-item i {
    width: 42px; height: 42px; flex: 0 0 42px;
    display: grid; place-items: center;
    border-radius: 11px;
    background: var(--wm-tint);
    color: var(--wm-brand);
    font-size: 1.05rem;
}
.wm-trust-item strong { display: block; font-size: .9rem; color: var(--wm-ink); font-family: var(--wm-sans); font-weight: 800; }
.wm-trust-item span { font-size: .84rem; }

/* ------------------------------------------------------------- seções --- */

.wm-secao { padding: 3.75rem 0 0; }
.wm-secao-topo {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: wrap;
    margin-bottom: 1.75rem;
}
.wm-secao-topo h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); }
.wm-secao-topo p { margin: .45rem 0 0; font-size: .97rem; }
.wm-link-seta { font-weight: 700; display: inline-flex; align-items: center; gap: .5rem; }

.wm-categorias { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.4rem; }
.wm-categoria {
    border: 1px solid var(--wm-line);
    border-radius: var(--wm-radius-lg);
    padding: 1.5rem;
    background: var(--wm-surface);
    display: flex;
    align-items: center;
    gap: 1.1rem;
    transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.wm-categoria:hover { border-color: var(--wm-tint-border); transform: translateY(-2px); box-shadow: var(--wm-shadow-1); }
.wm-categoria i {
    width: 60px; height: 60px; flex: 0 0 60px;
    display: grid; place-items: center;
    border-radius: 16px;
    background: var(--wm-tint);
    color: var(--wm-brand);
    font-size: 1.5rem;
}
.wm-categoria strong { display: block; font-family: var(--wm-display); font-size: 1.1rem; color: var(--wm-ink); }
.wm-categoria span { font-size: .88rem; color: var(--wm-muted); }

/* ------------------------------------------------------ card de produto --- */

.wm-produto {
    height: 100%;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--wm-line);
    border-radius: var(--wm-radius-lg);
    background: var(--wm-surface);
    overflow: hidden;
    transition: transform .15s ease, box-shadow .18s ease, border-color .15s ease;
}
.wm-produto:hover { transform: translateY(-3px); box-shadow: var(--wm-shadow-2); border-color: var(--wm-tint-border); }

.wm-produto-foto {
    position: relative;
    height: 210px;
    background: var(--wm-canvas);
    display: grid;
    place-items: center;
    overflow: hidden;
}
.wm-produto-foto img { width: 100%; height: 100%; object-fit: contain; padding: 1rem; transition: transform .25s ease; }
.wm-produto:hover .wm-produto-foto img { transform: scale(1.04); }
.wm-produto-foto .wm-sem-foto { color: #B9B6CE; font-size: 2rem; }

.wm-tag {
    position: absolute;
    top: .8rem;
    left: .8rem;
    padding: .28rem .6rem;
    border-radius: 7px;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .01em;
}
.wm-tag-oferta { background: var(--wm-sale); color: #fff; }
.wm-tag-destaque { background: var(--wm-brand); color: var(--wm-on-brand); }
.wm-tag-digital { background: var(--wm-brand); color: var(--wm-on-brand); display: inline-flex; align-items: center; gap: .35rem; }

.wm-produto-corpo { padding: 1.1rem; display: flex; flex-direction: column; gap: .55rem; flex: 1 1 auto; }
.wm-produto-cat { font-size: .72rem; font-weight: 700; color: var(--wm-muted); text-transform: uppercase; letter-spacing: .06em; }
.wm-produto-nome {
    font-family: var(--wm-display);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--wm-ink);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.wm-produto-nome:hover { color: var(--wm-brand); }
.wm-produto-precos { margin-top: auto; }
.wm-produto-de { display: block; font-size: .82rem; color: var(--wm-muted); text-decoration: line-through; }
.wm-produto-por { display: block; font-family: var(--wm-display); font-size: 1.45rem; font-weight: 800; color: var(--wm-ink); line-height: 1.2; }
.wm-produto-parcela { display: block; font-size: .82rem; color: var(--wm-body); }
.wm-produto-pix { display: inline-block; margin-top: .4rem; font-size: .78rem; font-weight: 700; color: var(--wm-ok); }
.wm-produto-estoque { font-size: .78rem; font-weight: 700; color: var(--wm-sale-ink); }

/* Contagem regressiva da oferta */
.wm-contador {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    align-self: flex-start;
    padding: .25rem .6rem;
    border-radius: 7px;
    background: var(--wm-warn-bg);
    color: var(--wm-warn-ink);
    font-size: .76rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}
.wm-contador-urgente { background: var(--wm-sale-bg); color: var(--wm-sale-ink); }
.wm-contador-fim { background: #EFEEF5; color: var(--wm-muted); }
.wm-contador i { font-size: .7rem; }
.wm-produto .btn { width: 100%; margin-top: .35rem; }

/* ------------------------------------------------------------ vitrine --- */

.nav-pills { gap: .35rem; background: var(--wm-canvas); padding: .3rem; border-radius: 12px; display: inline-flex; }
.nav-pills .nav-link {
    border-radius: 9px !important;
    background: transparent !important;
    color: var(--wm-muted) !important;
    font-weight: 700;
    font-size: .92rem;
    padding: .55rem 1.1rem !important;
    margin: 0 !important;
}
.nav-pills .nav-link.active {
    background: var(--wm-surface) !important;
    color: var(--wm-ink) !important;
    box-shadow: 0 1px 3px rgba(15, 15, 26, .08);
}

.pagination { gap: .3rem; flex-wrap: wrap; }
.page-link {
    border: 1px solid var(--wm-line);
    border-radius: var(--wm-radius-sm) !important;
    color: var(--wm-body);
    font-weight: 700;
    min-width: 42px;
    text-align: center;
}
.page-item.active .page-link { background: var(--wm-brand); border-color: var(--wm-brand); color: var(--wm-on-brand); }

/* ------------------------------------------------------------- faixas --- */

.wm-faixa-escura {
    background: var(--wm-ink);
    border-radius: var(--wm-radius-xl);
    padding: 2.75rem;
    display: flex;
    flex-wrap: wrap;
    gap: 2.5rem;
    align-items: center;
}
.wm-faixa-escura h2 { color: #fff; font-size: clamp(1.5rem, 2.8vw, 2.1rem); line-height: 1.14; }
.wm-faixa-escura p { color: #C9C7DA; margin: .9rem 0 0; max-width: 34rem; }
.wm-faixa-selo {
    display: inline-flex;
    padding: .45rem .9rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .1);
    color: #fff;
    font-size: .82rem;
    font-weight: 700;
}
.wm-faixa-item {
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: var(--wm-radius);
    padding: 1.1rem;
    display: flex;
    align-items: center;
    gap: .9rem;
}
.wm-faixa-item i {
    width: 44px; height: 44px; flex: 0 0 44px;
    display: grid; place-items: center;
    border-radius: 11px;
    background: var(--wm-brand);
    color: var(--wm-on-brand);
}
.wm-faixa-item strong { display: block; color: #fff; font-size: .95rem; font-family: var(--wm-sans); }
.wm-faixa-item span { color: #9F9DB5; font-size: .84rem; }

/* ------------------------------------------------------------- rodapé --- */

.wm-footer { margin-top: 4.5rem; border-top: 1px solid var(--wm-line); background: var(--wm-canvas); }
.wm-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.3fr; gap: 2rem; padding: 3rem 0; }
.wm-footer h4 {
    font-family: var(--wm-sans);
    font-size: .82rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--wm-ink);
    margin-bottom: 1rem;
}
.wm-footer ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .65rem; }
.wm-footer ul a { color: var(--wm-body); font-size: .92rem; }
.wm-footer ul a:hover { color: var(--wm-brand); }
.wm-footer-base { border-top: 1px solid var(--wm-line); }
.wm-footer-base-linha {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    padding: 1.1rem 0;
    font-size: .84rem;
    color: var(--wm-muted);
}
.wm-social { display: flex; gap: .5rem; margin-top: 1.1rem; }
.wm-social a {
    width: 38px; height: 38px;
    display: grid; place-items: center;
    border-radius: 10px;
    border: 1px solid var(--wm-line);
    background: var(--wm-surface);
    color: var(--wm-brand);
}
.wm-social a:hover { background: var(--wm-brand); color: var(--wm-on-brand); border-color: var(--wm-brand); }

/* ------------------------------------------------------ produto / forms --- */

.wm-caixa { border: 1px solid var(--wm-line); border-radius: var(--wm-radius-lg); background: var(--wm-surface); }
.wm-caixa-sombra { box-shadow: var(--wm-shadow-1); }

.form-control, .form-select {
    border: 1px solid var(--wm-line);
    border-radius: var(--wm-radius-sm);
    padding: .72rem .9rem;
    color: var(--wm-ink);
    font-size: .97rem;
}
.form-control:focus, .form-select:focus {
    border-color: var(--wm-tint-border);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--wm-brand) 10%, transparent);
}
.form-label { font-size: .84rem; font-weight: 700; color: var(--wm-ink); margin-bottom: .4rem; }

.badge.bg-primary { background: var(--wm-brand) !important; color: var(--wm-on-brand) !important; }

.alert { border-radius: var(--wm-radius); border-width: 1px; font-size: .94rem; }

/* ------------------------------------------------------------ flutuantes --- */

.whatsapp-flutuante { box-shadow: var(--wm-shadow-2); }

/* O botão "voltar ao topo" começa escondido e só aparece depois que a
   página rola (o main.js usa fadeIn, que define display inline). */
.back-to-top { display: none; box-shadow: var(--wm-shadow-2); }

/* ---------------------------------------------------------- responsivo --- */

@media (max-width: 991.98px) {
    .wm-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .wm-categorias { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .wm-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .wm-header-linha { flex-wrap: wrap; gap: 1rem; }
    .wm-busca { order: 3; flex-basis: 100%; }
    .wm-acoes { margin-left: auto; }
}

@media (max-width: 767.98px) {
    .wm-hero-grid { padding: 2.25rem 0 2.5rem; gap: 2rem; }
    .wm-hero-foto { height: 230px; }
    /* No mobile o selo vai para o canto do cartão; definir só um eixo
       vertical evita que ele estique e cubra o preço. */
    .wm-hero-flutuante { left: auto; right: 10px; top: 1.6rem; bottom: auto; }
    .wm-faixa-escura { padding: 1.75rem; }
    .wm-secao { padding: 2.5rem 0 0; }
    .wm-produto-foto { height: 170px; }
    .wm-busca select { display: none; }
    .wm-busca input { padding-right: 5.5rem; }
}

@media (max-width: 575.98px) {
    .wm-trust-grid { grid-template-columns: 1fr; gap: .9rem; padding: 1.1rem 0; }
    .wm-categorias { grid-template-columns: 1fr; }
    .wm-footer-grid { grid-template-columns: 1fr; gap: 1.75rem; padding: 2.25rem 0; }
    .wm-acao-texto { display: none; }
    .wm-acao { padding: .5rem .6rem; }
    .wm-hero-dados { gap: 1.1rem; }
    .wm-hero-preco { font-size: 1.55rem; white-space: nowrap; }
    .wm-produto .btn { font-size: .9rem; }
    .wm-produto-corpo { padding: .85rem; }
    .wm-produto-por { font-size: 1.25rem; }
}
