/* =====================================================
   PULSA MODA FITNESS — TEMA 2026
   Camada de visual carregada DEPOIS do style.css.
   Não muda estrutura nem nomes de classes: para voltar ao
   visual anterior basta remover a linha <link ... tema.css>.
   ===================================================== */

/* ---------- 1. TOKENS ---------- */
:root {
    --ink: #171717;
    --paper: #ffffff;
    --bone: #faf7f6;          /* fundo geral: branco com um sopro de rosé */
    --blush: #f3e6e4;         /* superfícies suaves (fotos, faixas) */
    --rose: #d4a5a5;          /* rosé original da marca */
    --pulse: #b8455f;         /* rosé profundo: preço no Pix, foco, detalhes */
    --muted: #6b6461;

    --font-display: 'Bebas Neue', 'Arial Narrow', Arial, sans-serif;
    --font-body: 'Hanken Grotesk', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;

    --gutter: clamp(20px, 5vw, 72px);
    --ease: cubic-bezier(.2, .7, .2, 1);

    /* o traço de batimento: assinatura visual da marca */
    --pulse-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 40' preserveAspectRatio='none' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 20h78l10-14 14 30 12-24 8 8h118'/%3E%3C/svg%3E");

    /* a pulsação do hero (ecg real: onda P, QRS, onda T): mesma onda
       no hero e sob todos os títulos do site */
    --hero-ecg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 360 40' preserveAspectRatio='none' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 24H20C24 24 25 18 27 18C29 18 30 24 32 24H48L49.5 27.5L51.5 2L54 36L55.5 24H72C76 24 77 15.5 80 15.5C83 15.5 84 24 88 24H104C108 24 109 18 111 18C113 18 114 24 116 24H132L133.5 27.5L135.5 2L138 36L139.5 24H156C160 24 161 15.5 164 15.5C167 15.5 168 24 172 24H188C192 24 193 18 195 18C197 18 198 24 200 24H216L217.5 27.5L219.5 2L222 36L223.5 24H240C244 24 245 15.5 248 15.5C251 15.5 252 24 256 24H272C276 24 277 18 279 18C281 18 282 24 284 24H300L301.5 27.5L303.5 2L306 36L307.5 24H324C328 24 329 15.5 332 15.5C335 15.5 336 24 340 24H360'/%3E%3C/svg%3E");
}

/* ---------- 2. BASE ---------- */
body {
    font-family: var(--font-body);
    background: var(--bone);
    color: var(--ink);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

h1, h2, h3 { text-wrap: balance; }

::selection { background: var(--rose); color: var(--ink); }

:focus-visible {
    outline: 2px solid var(--pulse);
    outline-offset: 3px;
    border-radius: 4px;
}

.skip-link {
    position: absolute;
    left: 16px;
    top: -48px;
    z-index: 9999;
    padding: 10px 16px;
    background: var(--ink);
    color: var(--paper);
    border-radius: 999px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    text-decoration: none;
    transition: top .2s ease;
}

.skip-link:focus-visible {
    top: 16px;
}

/* ---------- 3. NAVBAR ---------- */
.navbar {
    background: rgba(255, 255, 255, .88);
    -webkit-backdrop-filter: saturate(1.4) blur(14px);
    backdrop-filter: saturate(1.4) blur(14px);
    border-bottom: 0;
    box-shadow: 0 1px 0 rgba(23, 23, 23, .07);
}

.nav-link {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .01em;
    padding: 6px 0;
}

.nav-link:hover { opacity: 1; }

.nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: var(--pulse);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .3s var(--ease);
}

.nav-link:hover::after,
.nav-link.active::after,
.nav-link[aria-current="page"]::after { transform: scaleX(1); }

.action-button:hover,
.search-button:hover { background: var(--blush); }

.cart-count { background: var(--pulse); }

@media (max-width: 768px) {
    .navigation { background: rgba(255, 255, 255, .98); }
    .nav-link { font-size: 16px; padding: 16px 0; }
    .nav-link::after { display: none; }
}

/* ---------- 4. HERO ---------- */
.hero { background: var(--blush); }

@media (min-width: 769px) {
    .hero { min-height: calc(86svh - 72px); }
}

.hero-overlay {
    background:
        linear-gradient(to top, rgba(23, 23, 23, .72) 0%, rgba(23, 23, 23, .28) 38%, rgba(23, 23, 23, 0) 68%),
        linear-gradient(to bottom, rgba(23, 23, 23, .14) 0%, rgba(23, 23, 23, 0) 28%);
}

.hero-text {
    justify-content: flex-end;
    align-items: flex-start;
    gap: 0;
    padding: 0 var(--gutter) 116px;
    text-align: left;
    pointer-events: none;
}

.hero-text-title {
    max-width: 11ch;
    font-family: var(--font-display);
    font-size: clamp(64px, 15vw, 188px);
    line-height: .86;
    letter-spacing: .01em;
    text-shadow: none;
    text-transform: uppercase;
}

/* o traço de pulso: ecg real (onda P, QRS, onda T) que se desenha
   sozinho e recomeça em loop infinito */
.hero-text::after {
    content: "";
    display: block;
    width: min(300px, 62vw);
    height: 34px;
    margin-top: 18px;
    background: #fff;
    -webkit-mask: var(--hero-ecg) left center / 100% 100% no-repeat;
    mask: var(--hero-ecg) left center / 100% 100% no-repeat;
    animation: pulse-draw 4.5s linear infinite;
}

@keyframes pulse-draw {
    0%   { clip-path: inset(0 100% 0 0); opacity: 1; }
    55%  { clip-path: inset(0 0 0 0);    opacity: 1; }
    78%  { clip-path: inset(0 0 0 0);    opacity: 1; }
    88%  { clip-path: inset(0 0 0 0);    opacity: 0; }
    89%  { clip-path: inset(0 100% 0 0); opacity: 0; }
    94%  { clip-path: inset(0 100% 0 0); opacity: 0; }
    100% { clip-path: inset(0 100% 0 0); opacity: 1; }
}

.hero-text-button {
    left: var(--gutter);
    bottom: 40px;
    transform: none;
    padding: 15px 34px;
    background: var(--paper);
    color: var(--ink);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    box-shadow: none;
}

.hero-text-button:hover {
    background: var(--pulse);
    color: #fff;
    transform: none;
}

.hero-text-button:active { transform: scale(.98); }

/* ---------- 5. CATEGORIAS ---------- */
.categories,
.novidades,
.looks { background: var(--bone); }

.categories { padding-top: 56px; }

.section-title {
    font-family: var(--font-display);
    font-size: clamp(40px, 8vw, 72px);
    font-weight: 400;
    letter-spacing: .01em;
    line-height: .95;
}

.category-card {
    border-radius: 6px;
    background: var(--blush);
}

.category-overlay {
    background: linear-gradient(to top, rgba(23, 23, 23, .68) 0%, rgba(23, 23, 23, .12) 40%, rgba(23, 23, 23, 0) 65%);
}

/* nome da categoria vira título grande, sem balão */
.category-label {
    top: auto;
    left: 18px;
    right: 18px;
    bottom: 78px;
    padding: 0;
    background: none;
    border-radius: 0;
    box-shadow: none;
    color: #fff;
    font-family: var(--font-display);
    font-size: clamp(34px, 5vw, 46px);
    font-weight: 400;
    letter-spacing: .02em;
    line-height: 1;
    text-transform: none;
}

.category-bottom {
    left: 18px;
    right: 18px;
    bottom: 18px;
    padding: 0;
    background: none;
    box-shadow: none;
    border-radius: 0;
    border-top: 1px solid rgba(255, 255, 255, .45);
    padding-top: 12px;
}

.category-price {
    color: #fff;
    font-size: 13px;
    font-weight: 500;
}

.category-arrow {
    background: #fff;
    color: var(--ink);
    width: 32px;
    height: 32px;
    flex-basis: 32px;
}

.category-card:hover .category-arrow { background: var(--rose); transform: translateX(4px); }

/* ---------- 6. CABEÇALHOS DE SEÇÃO (Novidades / Looks / Favoritos) ---------- */
.novidades-header,
.looks-header {
    position: relative;
    border-left: 0;
    background: transparent;
    padding: 8px 4px 22px;
    margin-bottom: 8px;
}

/* divisor: tracado cardiaco real (onda P, complexo QRS, onda T),
   repetindo de ponta a ponta como um monitor - o SVG nunca estica */
.novidades-header::after,
.looks-header::after {
    content: "";
    position: absolute;
    left: 4px;
    right: 4px;
    bottom: 2px;
    height: 18px;
    background: var(--pulse);
    --ecg-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 40' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 24H240C245 24 246 17.5 249 17.5C252 17.5 253 24 258 24H290L291 27.5L292 2L293.5 36L294.5 24H330C336 24 337 15 343 15C349 15 350 24 356 24H600'/%3E%3C/svg%3E");
    -webkit-mask: var(--hero-ecg) left center / auto 100% repeat-x;
    mask: var(--hero-ecg) left center / auto 100% repeat-x;
    animation: pulse-draw 4.5s linear infinite;
}

/* o batimento solto sumiu: a linha inteira agora e o batimento */
.novidades-header::before,
.looks-header::before {
    content: none;
}

.novidades-mark,
.looks-mark {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--paper);
    box-shadow: 0 0 0 1px rgba(23, 23, 23, .1);
}

.novidades-title,
.looks-title {
    font-family: var(--font-display);
    font-size: clamp(34px, 6vw, 54px);
    font-weight: 400;
    letter-spacing: .01em;
    line-height: .95;
    text-transform: none;
}

.novidades-subtitle,
.looks-subtitle {
    display: block;
    margin-top: 4px;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    color: var(--pulse);
}

.looks-more {
    background: transparent;
    color: var(--ink);
    border: 1.5px solid var(--ink);
    border-radius: 999px;
    font-weight: 700;
    letter-spacing: .06em;
    transition: background-color .25s ease, color .25s ease;
}

.looks-more:hover { background: var(--ink); color: #fff; }

/* ---------- 7. CARDS DE PRODUTO ---------- */
.product-card {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none !important;
}

.product-image {
    background: var(--blush);
    border-radius: 14px;
}

.product-info {
    background: transparent;
    border-top: 0;
    padding: 12px 4px 0;
}

.product-name {
    justify-content: flex-start;
    min-height: 0;
    padding: 0 0 8px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.3;
    text-align: left;
}

.box-price {
    align-items: flex-start;
    margin: 0;
    padding: 0 0 6px;
    gap: 2px;
    text-align: left;
}

.product-price { align-items: flex-start; }

.product-price .price-off,
.product-card .price-off {
    justify-content: flex-start;
    font-size: 14px;
    color: var(--muted);
}

.product-payment { justify-content: flex-start; text-align: left; }

.price-pix {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -.01em;
    color: var(--pulse);
}

.price-pix::after {
    font-size: 12px;
    font-weight: 500;
    color: var(--muted);
}

.variants { padding: 10px 0 0; }

.variants a:first-child {
    background: var(--ink);
    letter-spacing: .06em;
}

.variants a:first-child:hover { background: var(--pulse); }

.variants a:last-child {
    background: transparent;
    border-color: rgba(23, 23, 23, .35);
}

.variants a:last-child:hover { background: var(--ink); border-color: var(--ink); }

/* ---------- 8. BANNER DE OFERTA / PROMO ---------- */
.oferta-banner img { border-radius: 6px; }

.promo-box { border-radius: 6px; }

.promo-title,
.promo-title.pix { font-family: var(--font-display); font-weight: 400; letter-spacing: .01em; }

.promo-button {
    border-radius: 999px;
    font-weight: 700;
    letter-spacing: .06em;
}

/* ---------- 9. FAIXA DE CONFIANÇA + NEWSLETTER ---------- */
.footer-trust,
.footer-news {
    background: var(--blush);
    border-bottom: 1px solid rgba(23, 23, 23, .08);
}

.footer-news-title {
    font-family: var(--font-display);
    font-size: clamp(36px, 6vw, 56px);
    font-weight: 400;
    letter-spacing: .01em;
    line-height: .95;
}

/* ---------- 10. RODAPÉ ---------- */
.footer-h {
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 400;
    letter-spacing: .04em;
    text-transform: none;
    color: var(--rose);
}

.footer-bottom { background: #0c0c0c; }

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

/* ---------- 12. ROBUSTEZ ---------- */
/* logos de pagamento nunca estouram a largura em telas pequenas */
.footer-pay-row { flex-wrap: wrap; row-gap: 8px; }

/* títulos do rodapé no mobile (acordeões) iguais aos demais */
.footer-acc-btn {
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 400;
    letter-spacing: .04em;
    text-transform: none;
    color: var(--rose);
}

/* ---------- 13. PÁGINAS DE CATEGORIA ---------- */
.cat-header {
    position: relative;
    border-left: 0;
    background: transparent;
    padding: 28px 20px 26px;
}

/* A linha reta de baixo foi desligada: o ECG e a linha agora.
   Antes ela ficava por baixo do ECG (dava a impressao de "traco com
   o ECG por cima") e o ECG parava em 300px, longe do fim da pagina.
   Mesma ideia que ja valia em .looks-header / .novidades-header. */
.cat-header::after {
    content: none;
}

.cat-header::before {
    content: "";
    position: absolute;
    left: 20px;
    right: 20px;          /* vai de ponta a ponta, como no .looks-header */
    bottom: -2px;
    height: 18px;
    background: var(--pulse);
    -webkit-mask: var(--hero-ecg) left center / auto 100% repeat-x;
    mask: var(--hero-ecg) left center / auto 100% repeat-x;
    animation: pulse-draw 4.5s linear infinite;
    z-index: 1;
}

.cat-mark { border-radius: 50%; background: var(--paper); box-shadow: 0 0 0 1px rgba(23, 23, 23, .1); }

.cat-title {
    font-family: var(--font-display);
    font-size: clamp(40px, 7vw, 64px);
    font-weight: 400;
    letter-spacing: .01em;
    line-height: .95;
    text-transform: none;
}

.cat-tab {
    border-radius: 999px;
    border-color: rgba(23, 23, 23, .25);
    font-weight: 700;
    letter-spacing: .06em;
    transition: background-color .25s ease, color .25s ease;
}

.cat-tab:not(.active):hover { background: var(--blush); }
.cat-tab.active { background: var(--ink); border-color: var(--ink); }

.cat-btn { border-radius: 999px; border-color: rgba(23, 23, 23, .25); }

.cat-banner { background: var(--blush); }

/* ---------- 14. PÁGINA DE PRODUTO (desktop em duas colunas) ---------- */
@media (min-width: 900px) {
    .product-page {
        display: grid;
        grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr);
        grid-template-areas:
            "gallery info"
            "gallery accordions";
        grid-template-rows: auto 1fr;
        column-gap: clamp(32px, 5vw, 80px);
        align-items: start;
        max-width: 1280px;
        margin: 0 auto;
        padding: 32px var(--gutter) 24px;
    }

    .pp-gallery { grid-area: gallery; }
    .pp-info { grid-area: info; padding: 0; }
    .pp-accordions { grid-area: accordions; padding: 8px 0 40px; }

    .pp-gallery,
    .pp-info,
    .pp-accordions { min-width: 0; }

    .pp-photo { max-width: none; margin: 0; border-radius: 14px; }

    .pp-thumbs { padding-top: 12px; }
}

.pp-name {
    font-family: var(--font-display);
    letter-spacing: .01em;
}

.pp-photo { background: var(--blush); }

.pp-buy {
    border-radius: 999px;
    letter-spacing: .08em;
    transition: background-color .25s ease, transform .2s ease;
}

.pp-buy:hover { background: var(--pulse); }
.pp-buy:active { transform: scale(.99); }

.pp-option { border-radius: 999px; }
.pp-option.active { background: var(--ink); border-color: var(--ink); color: #fff; }

/* ---------- 15. AJUSTES FINOS ---------- */
/* "Sobre" e "Suporte" empilhados no desktop: dá respiro entre eles */
.footer-links-row > div + div { margin-top: 32px; }
@media (max-width: 899px) { .footer-links-row > div + div { margin-top: 0; } }

.cat-header { padding: 28px 12px 26px; }
.cat-header::before,
.cat-header::after { left: 12px; }
.cat-header::after { right: 12px; }

/* ---------- 16. CARRINHO E CHECKOUT ---------- */
.cart-checkout,
.cart-empty-btn,
.co-finalizar {
    border-radius: 999px;
    letter-spacing: .06em;
    transition: background-color .25s ease, transform .2s ease;
}

.cart-checkout:hover,
.cart-empty-btn:hover,
.co-finalizar:hover { background: var(--pulse); }

.cart-summary,
.co-resumo { background: var(--paper); border-radius: 14px; }
/* ---------- 17. BUY BOX - PACOTE CONVERSAO ---------- */
/* 1) preco: hierarquia Pix + selo + parcelamento */

.pp-prices { gap: 4px; margin-bottom: 8px; }

.pp-prices-top {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.pp-pix-badge {
    background: var(--pulse);
    color: #fff;
    font-family: var(--font-body);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 999px;
    white-space: nowrap;
}

.pp-prices .price-pix {
    font-size: clamp(30px, 7vw, 36px);
    font-weight: 800;
    color: var(--pulse);
    line-height: 1.1;
}

.pp-installments {
    margin: 6px 0 0;
    font-size: .9rem;
    color: var(--muted);
}

/* 2) CTAS: Comprar agora (primario) + Adicionar (secundario) */

.pp-ctas {
    display: grid;
    gap: 10px;
    margin-top: 22px;
}

.pp-buy-now,
.pp-buy {
    height: 52px;
    margin-top: 0;
}

.pp-buy-now {
    display: block;
    width: 100%;
    background: var(--pulse);
    color: #ffffff;
    border: 0;
    border-radius: 999px;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    cursor: pointer;
    transition: background-color .25s ease, transform .2s ease;
}

.pp-buy-now:hover { background: #9e3a52; }
.pp-buy-now:active { transform: scale(.99); }
.pp-buy-now:disabled { background: #9a9a9a; color: #fff; cursor: not-allowed; }
.pp-buy-now:disabled:hover { background: #9a9a9a; }

.pp-buy {
    background: transparent;
    border: 2px solid var(--ink);
    color: var(--ink);
}

.pp-buy:hover { background: var(--ink); color: #ffffff; }
.pp-buy:disabled { background: #6b6b6b; color: #ffffff; cursor: not-allowed; }
.pp-buy:disabled:hover { background: #6b6b6b; color: #ffffff; }

/* 6) linha de confianca + guia de tamanho */

.pp-trust {
    list-style: none;
    margin: 16px 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    font-size: .82rem;
    color: var(--muted);
}

.pp-trust li {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.pp-trust svg {
    width: 15px;
    height: 15px;
    flex: none;
    color: var(--pulse);
}

.pp-sizeguide-link {
    display: inline-block;
    margin-top: 10px;
    padding: 0;
    border: 0;
    background: none;
    font-family: var(--font-body);
    font-size: .85rem;
    font-weight: 700;
    color: var(--pulse);
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

/* aviso: tamanho obrigatorio antes de comprar */
.pp-aviso-tam {
    margin: 12px 0 0;
    padding: 10px 14px;
    border-left: 3px solid var(--pulse);
    background: rgba(184, 69, 95, .07);
    color: var(--pulse);
    font-size: .85rem;
    font-weight: 700;
    border-radius: 0 8px 8px 0;
}

.pp-aviso-tam[hidden] { display: none; }

.pp-group--erro .pp-options {
    outline: 2px solid var(--pulse);
    outline-offset: 4px;
    border-radius: 8px;
    animation: tam-pisca .65s ease 2;
}

@keyframes tam-pisca {
    50% { outline-color: transparent; }
}

/* 4) frete: caixa de resultado */

.pp-freight-result {
    margin-top: 12px;
    border-top: 1px solid #e7e0de;
    padding-top: 10px;
    display: grid;
    gap: 8px;
}

.pp-freight-result[hidden] { display: none; }

.pp-freight-opt {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    font-size: .88rem;
    color: var(--ink);
}

.pp-freight-opt span { display: grid; }
.pp-freight-opt small { color: var(--muted); font-size: .75rem; }
.pp-freight-opt strong { color: var(--pulse); white-space: nowrap; }
.frete-gratis { color: var(--pulse); font-weight: 700; }

.pp-freight-msg,
.pp-freight-demo {
    margin: 0;
    font-size: .78rem;
    color: var(--muted);
}

/* 3) barra fixa mobile */

.pp-sticky {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 60;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 10px var(--gutter) calc(10px + env(safe-area-inset-bottom));
    background: var(--paper);
    border-top: 1px solid var(--blush);
    box-shadow: 0 -10px 30px rgba(23, 23, 23, .12);
    transform: translateY(115%);
    visibility: hidden;
    transition: transform .3s var(--ease), visibility .3s;
}

.pp-sticky.show { transform: none; visibility: visible; }

.pp-sticky-info { display: grid; line-height: 1.15; }

.pp-sticky-pix {
    font-weight: 800;
    font-size: 1.15rem;
    color: var(--pulse);
}

.pp-sticky-note {
    font-size: .65rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--muted);
}

.pp-sticky-btn {
    background: var(--pulse);
    color: #fff;
    border: 0;
    border-radius: 999px;
    padding: 13px 26px;
    font-family: var(--font-body);
    font-size: .85rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
    cursor: pointer;
    white-space: nowrap;
}

.pp-sticky-btn:active { transform: scale(.98); }
.pp-sticky-btn:disabled { background: #9a9a9a; color: #fff; cursor: not-allowed; }
.pp-sticky-btn:disabled:active { transform: none; }

@media (min-width: 900px) {
    .pp-sticky { display: none; }
}

/* ESGOTADO MANUAL: barra fixa some da interface indisponivel */
.pp-sticky.pp-sticky-esgotado { display: none; }

@media (max-width: 899px) {
    body.pp-sticky-on { padding-bottom: 84px; }
}


/* =====================================================
   EDIÇÃO LOJA RICA — refinamento sobre o visual original
   Mantém Bebas Neue + Hanken Grotesk + rosé da marca.
   Adiciona: preto profundo, champanhe discreto, cantos
   quase retos, botões finos e mais respiro.
   ===================================================== */
:root {
    --ink: #121012;
    --gold: #b59a72;          /* champanhe: só em fios e detalhes */
    --pulse: #9a3b55;         /* preço no Pix e ações */
    --line: rgba(18, 16, 18, .12);
}

/* a frase extra da home sai: a home volta à estrutura original */
.manifesto { display: none; }

body { background: #fff; color: var(--ink); }

/* menu */
.navbar { background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); box-shadow: none; }
.nav-link { font-size: 12.5px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }
.action-button svg, .search-button svg { stroke-width: 1.5; }

/* títulos: Bebas com mais respiro entre letras */
.section-title, .novidades-title, .looks-title, .cat-title, .cat-banner-title,
.promo-title, .oferta-title, .footer-news-title { letter-spacing: .06em; }

/* fio champanhe sob cabeçalhos de seção */
.novidades-header, .looks-header, .cat-header { border-bottom: 1px solid var(--line); }
.novidades-subtitle, .looks-subtitle { letter-spacing: .08em; color: var(--gold); }

/* categorias: cantos retos, rótulo limpo */
.category-card { border-radius: 2px; }
.category-image img { transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.category-card:hover .category-image img { transform: scale(1.05); }
.category-label { letter-spacing: .12em; }

/* produtos */
.product-card { border-radius: 0; box-shadow: none; background: transparent; border: 0; }
.product-card:hover { box-shadow: none; }
.product-image { border-radius: 2px; background: #f4efed; position: relative; }
.product-image img { transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.product-card:hover .product-image img { transform: scale(1.04); }
.product-image img.alt { position: absolute; inset: 0; opacity: 0; pointer-events: none; transition: opacity .5s ease, transform 1.2s cubic-bezier(.2,.7,.2,1); }
.product-card:hover .product-image img.alt.ready { opacity: 1; }
.product-name { font-weight: 500; letter-spacing: .01em; }
.price-pix { color: var(--pulse); font-weight: 700; }

/* botões: pretos, finos, letras espaçadas */
.variants a, .cart-checkout, .co-finalizar, .cart-empty-btn, .pp-buy-now, .pp-buy, .hero-text-button, .promo-button {
    border-radius: 2px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.variants a:first-child, .cart-checkout, .co-finalizar, .cart-empty-btn { background: var(--ink); color: #fff; }
.variants a:first-child:hover, .cart-checkout:hover, .co-finalizar:hover, .cart-empty-btn:hover { background: var(--pulse); }
.pp-buy-now { background: var(--pulse); border: 0; color: #fff; }
.pp-buy-now:hover { background: #7e2d44; }
.pp-buy { background: transparent; border: 1px solid var(--ink); color: var(--ink); }
.pp-buy:hover { background: var(--ink); color: #fff; }
.pp-option, .cat-tab, .cat-btn, .pp-photo, .cart-summary, .co-resumo { border-radius: 2px; }
.pp-option.active, .cat-tab.active { background: var(--ink); border-color: var(--ink); color: #fff; }
.pp-pix-badge { background: var(--pulse); border-radius: 2px; }

/* faixa de confiança e rodapé: preto profundo com fios champanhe */
.footer-trust { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #faf8f7; }
.footer-trust-item svg { color: var(--gold); stroke-width: 1.5; }
.footer-news { background: var(--ink); color: #fff; }
.footer-news-title { color: #fff; }
.footer-news-text { color: rgba(255,255,255,.75); }
.footer-news-text strong { color: var(--gold); }
.footer-news-form button { border-radius: 2px; letter-spacing: .14em; text-transform: uppercase; font-size: 12px; font-weight: 600; }
.footer-main { background: #0b090b; }
.footer-h, .footer-acc-btn { color: var(--gold); letter-spacing: .08em; }
.footer-bottom { background: #060506; }

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