/* =========================================================
   LeanCommerce — main.css
   Design system enxuto focado em conversão.
   Troque a identidade da loja alterando apenas os tokens.
   ========================================================= */
:root{
  /* Marca — ajuste livre */
  --brand:        #0f766e;   /* cor principal (links ativos, detalhes) */
  --cta:          #e11d48;   /* cor de AÇÃO: comprar, checkout — alto contraste */
  --cta-hover:    #be123c;
  --sale:         #e11d48;   /* badge de promoção */

  /* Neutros */
  --bg:           #ffffff;
  --bg-soft:      #f6f7f8;
  --ink:          #16181d;
  --ink-soft:     #4b5563;
  --stone:        #9ca3af;
  --line:         #e5e7eb;

  --radius:       10px;
  --radius-pill:  999px;
  --shadow-card:  0 1px 3px rgba(0,0,0,.07), 0 6px 18px -8px rgba(0,0,0,.1);
  --shadow-pop:   0 12px 34px -10px rgba(0,0,0,.25);
  --ease:         cubic-bezier(.22,.9,.28,1);

  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --container: 1280px;
  --header-h: 68px;
  --topbar-h: 36px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; font-family:var(--font); color:var(--ink); background:var(--bg);
  -webkit-font-smoothing:antialiased; line-height:1.55;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; }
button{ font-family:inherit; cursor:pointer; }
.screen-reader-text,.skip-link{
  position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;
}
.skip-link:focus{
  position:fixed; top:8px; left:8px; width:auto; height:auto; clip:auto; z-index:999;
  background:var(--ink); color:#fff; padding:.6em 1em; border-radius:var(--radius);
}
:focus-visible{ outline:2px solid var(--brand); outline-offset:2px; }

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}

/* ===== Carrossel de produtos em destaque ===== */
    .carrossel-destaque {
        max-width: 1200px;
        margin: 60px auto;
        padding: 0 20px;
        position: relative;
    }

    .carrossel-destaque__titulo {
        text-align: center;
        font-size: 1.6rem;
        font-weight: 700;
        margin-bottom: 30px;
        color: #1a1a1a;
    }

    .carrossel-destaque__viewport {
        overflow: hidden;
    }

    /* Transforma a lista de produtos do WooCommerce numa trilha horizontal */
    .carrossel-destaque .woocommerce ul.products {
        display: flex !important;
        grid-template-columns: none !important;
        gap: 24px;
        list-style: none;
        margin: 0;
        padding: 0;
        transition: transform 0.4s ease;
    }

    .carrossel-destaque .woocommerce ul.products li.product {
        flex: 0 0 calc((100% - 72px) / 4);
        width: calc((100% - 72px) / 4) !important;
        margin: 0 !important;
        float: none !important;
        text-align: center;
    }

    .carrossel-destaque .woocommerce ul.products li.product img {
        border-radius: 8px;
        margin-bottom: 12px;
    }

    .carrossel-destaque .woocommerce ul.products li.product .price {
        color: white;
        font-weight: 600;
    }

    .carrossel-destaque__btn {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 44px;
        height: 44px;
        border: none;
        border-radius: 50%;
        background: #1a1a1a;
        color: #fff;
        font-size: 1.2rem;
        cursor: pointer;
        z-index: 5;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: background 0.2s;
    }
    .texto{
        text-align: center;
    }

    .carrossel-destaque__btn:hover {
        background: #333;
    }

    .carrossel-destaque__btn--prev { left: -10px; }
    .carrossel-destaque__btn--next { right: -10px; }

    @media (max-width: 992px) {
        .carrossel-destaque .woocommerce ul.products li.product {
            flex: 0 0 calc((100% - 24px) / 2);
            width: calc((100% - 24px) / 2) !important;
        }
    }

    @media (max-width: 600px) {
        .carrossel-destaque .woocommerce ul.products li.product {
            flex: 0 0 100%;
            width: 100% !important;
        }
    }

/* =========================================================
   TOPBAR / TICKER
   ========================================================= */
.topbar{
  height:var(--topbar-h); background:var(--ink); color:#fff;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  font-size:.78rem; letter-spacing:.03em; font-weight:600; text-transform:uppercase;
}
.ticker{ position:relative; width:100%; max-width:720px; height:100%; text-align:center; }
.ticker-item{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  opacity:0; transform:translateY(8px); transition:opacity .45s var(--ease), transform .45s var(--ease);
  padding:0 1rem;
}
.ticker-item.is-active{ opacity:1; transform:translateY(0); }

/* =========================================================
   HEADER FIXO
   ========================================================= */
.site-header{
  position:sticky; top:0; z-index:90; background:var(--bg);
  border-bottom:1px solid var(--line);
}
.site-header.scrolled{ box-shadow:0 4px 16px -8px rgba(0,0,0,.12); }
.header-inner{
  max-width:var(--container); margin:0 auto; height:var(--header-h);
  display:flex; align-items:center; gap:1.4rem; padding:0 4vw;
}
.brand{ flex-shrink:0; }
.brand-name{ font-size:1.35rem; font-weight:800; letter-spacing:-.02em; text-decoration:none; }
.brand img{ max-height:44px; width:auto; }

.header-search{
  flex:1 1 220px; min-width:160px; display:flex; max-width:480px; border:1.5px solid var(--line);
  border-radius:var(--radius-pill); overflow:hidden; transition:border-color .25s ease;
  background:var(--bg-soft);
}
.header-search:focus-within{ border-color:var(--brand); background:#fff; }
.header-search input[type="search"]{
  flex:1; border:none; background:transparent; padding:.65rem 1.1rem; font-size:.92rem; min-width:0;
}
.header-search input[type="search"]:focus{ outline:none; }
.header-search button{
  border:none; background:transparent; padding:0 1rem; color:var(--ink-soft); display:flex; align-items:center;
}

.primary-nav .menu{ list-style:none; display:flex; gap:1.6rem; margin:0; padding:0; }
.primary-nav a{
  text-decoration:none; font-size:.92rem; font-weight:600; color:var(--ink-soft);
  transition:color .2s ease;
}
.primary-nav a:hover,
.primary-nav .current-menu-item > a{ color:var(--ink); }

/* ---------- Submenus (dropdown/accordion com toggle) ---------- */
.primary-nav .menu-item-has-children{ position:relative; display:flex; align-items:center; flex-wrap:wrap; }
.primary-nav .submenu-toggle{
  display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; margin-left:.1rem; padding:0;
  background:none; border:none; color:inherit; cursor:pointer; border-radius:50%;
  transition:background .2s ease;
}
.primary-nav .submenu-toggle:hover{ background:var(--bg-soft); }
.primary-nav .submenu-toggle svg{ transition:transform .2s ease; pointer-events:none; }
.primary-nav .menu-item-has-children.submenu-open > .submenu-toggle svg{ transform:rotate(180deg); }

.primary-nav .sub-menu{ list-style:none; margin:0; padding:0; }

@media (min-width:901px){
  .primary-nav .sub-menu{
    position:absolute; top:100%; left:0; min-width:200px;
    background:#fff; border:1px solid var(--line); border-radius:var(--radius);
    box-shadow:0 14px 32px -10px rgba(0,0,0,.18); padding:.4rem;
    opacity:0; visibility:hidden; transform:translateY(6px);
    transition:opacity .18s ease, transform .18s ease, visibility .18s;
    z-index:30;
  }
  .primary-nav .menu-item-has-children.submenu-open > .sub-menu,
  .primary-nav .menu-item-has-children:hover > .sub-menu{
    opacity:1; visibility:visible; transform:translateY(0);
  }
  .primary-nav .sub-menu a{ display:block; padding:.6rem .75rem; border-radius:6px; white-space:nowrap; }
  .primary-nav .sub-menu a:hover{ background:var(--bg-soft); color:var(--ink); }
  .primary-nav .sub-menu .menu-item-has-children{ display:block; }
  .primary-nav .sub-menu .submenu-toggle{ position:absolute; right:.2rem; top:.2rem; }
}

.header-actions{ margin-left:auto; display:flex; align-items:center; gap:1rem; }
.cart-link{
  position:relative; display:flex; align-items:center; color:var(--ink);
  padding:.45rem; border-radius:50%; transition:background .2s ease;
}
.cart-link:hover{ background:var(--bg-soft); }
.cart-count{
  position:absolute; top:-2px; right:-4px; min-width:18px; height:18px;
  background:var(--cta); color:#fff; font-size:.66rem; font-weight:700;
  border-radius:var(--radius-pill); display:flex; align-items:center; justify-content:center;
  padding:0 4px;
}

.nav-toggle{ display:none; }

@media (max-width: 1150px){
  .header-inner{ flex-wrap:wrap; height:auto; padding:.7rem 4vw; gap:.8rem; }
  .nav-toggle{
    display:flex; flex-direction:column; gap:4px; background:none; border:none; padding:.4rem;
  }
  .nav-toggle span{ width:22px; height:2px; background:var(--ink); transition:transform .3s ease, opacity .3s ease; }
  .nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }
  .brand{ order:1; }
  .nav-toggle{ order:0; }
  .header-actions{ order:2; }
  .header-search{ order:3; flex-basis:100%; max-width:none; }
  .primary-nav{ order:4; flex-basis:100%; display:none; }
  .primary-nav.is-open{ display:block; }
  .primary-nav .menu{ flex-direction:column; gap:0; border-top:1px solid var(--line); padding-top:.5rem; }
  .primary-nav .menu a{ display:block; padding:.7rem 0; }
  .primary-nav .menu-item-has-children{ flex-wrap:wrap; justify-content:space-between; }
  .primary-nav .menu-item-has-children > a{ flex:1; }
  .primary-nav .sub-menu{
    flex-basis:100%; max-height:0; overflow:hidden;
    transition:max-height .25s ease;
  }
  .primary-nav .menu-item-has-children.submenu-open > .sub-menu{ max-height:800px; }
  .primary-nav .sub-menu a{ padding:.6rem 0 .6rem 1rem; font-size:.88rem; color:var(--ink-soft); }
}

/* =========================================================
   BOTÕES
   ========================================================= */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  font-weight:700; font-size:.92rem; text-decoration:none; border:none;
  padding:.8rem 1.6rem; border-radius:var(--radius); transition:background .25s ease, transform .2s var(--ease), box-shadow .25s ease;
}
.btn-primary{ background:var(--cta); color:#fff; box-shadow:0 6px 18px -8px rgba(225,29,72,.5); }
.btn-primary:hover{ background:var(--cta-hover); transform:translateY(-1px); }
.btn-ghost{ background:transparent; color:var(--ink); border:1.5px solid var(--line); }
.btn-ghost:hover{ border-color:var(--ink); }
.btn-lg{ padding:1rem 2.1rem; font-size:1rem; }
.btn-small{ padding:.5rem 1rem; font-size:.8rem; }

/* =========================================================
   HERO + BENEFÍCIOS (home)
   ========================================================= */
.hero{
  color:#fff; text-align:left; padding:6.5rem 6vw 5rem;
}
/* Hero com imagem: imagem é background absoluto, conteúdo define a altura */
.hero--has-image{ position:relative; isolation:isolate; min-height:640px; display:flex; align-items:center; }
.hero-bg{
  position:absolute; inset:0;
  overflow:hidden;
  z-index:0;
}
.hero-bg img{
  width:100%; height:100%; object-fit:cover; object-position:center top;
  display:block;
}
.hero-inner{ max-width:560px; margin:0; position:relative; z-index:2; }
/* Tablet: usa a imagem mobile/quase-quadrada (via <picture>) em vez de esticar
   o banner ultra-wide do desktop — evita o corte severo por object-fit:cover. */
@media (max-width:1024px){
  .hero--has-image{ min-height:560px; }
  .hero-bg img{ object-position:center center; }
  .hero-inner{ max-width:480px; }
}
@media (max-width:767px){
  .hero{ padding:4rem 6vw 4.5rem; }
  .hero--has-image{ min-height:520px; }
  .hero-title{ font-size:clamp(1.8rem,8vw,2.6rem); }
  .hero-sub{ font-size:.95rem; }
  .hero-inner{ max-width:100%; }
}
@media (max-width:480px){
  .hero{ padding:3.5rem 5vw 4rem; }
  .hero-title{ font-size:clamp(1.6rem,9vw,2.2rem); }
}
.hero-kicker{
  font-size:.78rem; text-transform:uppercase; letter-spacing:.18em; font-weight:700;
  color:rgba(255,255,255,.7); margin:0 0 1rem;
}
.hero-title{ font-size:clamp(2.1rem, 5vw, 3.6rem); line-height:1.06; margin:0 0 1.2rem; letter-spacing:-.02em; text-transform:uppercase; font-weight:800; }
.hero-sub{ font-size:1.05rem; color:rgba(255,255,255,.85); margin:0 0 2rem; max-width:34em; }
.hero-ctas{ display:flex; gap:1rem; justify-content:flex-start; flex-wrap:wrap; }
.hero .btn-ghost{ color:#fff; border-color:rgba(255,255,255,.4); }
.hero .btn-ghost:hover{ border-color:#fff; }
.hero .btn-primary{ background:#fff; color:#111; border-color:#fff; }
.hero .btn-primary:hover{ background:rgba(255,255,255,.9); }

.hero-benefits{
  display:flex; gap:2rem; flex-wrap:wrap; margin-top:3rem;
  padding-top:2rem; border-top:1px solid rgba(255,255,255,.2);
}
.hero-benefit{ display:flex; flex-direction:column; gap:.2rem; }
.hero-benefit strong{ font-size:.85rem; letter-spacing:.03em; text-transform:uppercase; }
.hero-benefit span{ font-size:.82rem; color:rgba(255,255,255,.7); }
@media (max-width:480px){
  .hero-benefits{ gap:1.2rem 1.6rem; margin-top:2rem; padding-top:1.5rem; }
}


.benefits{ border-bottom:1px solid var(--line); background:var(--bg-soft); }
.benefits-inner{
  max-width:var(--container); margin:0 auto; padding:1.1rem 4vw;
  display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; text-align:center;
}
.benefit strong{ display:block; font-size:.9rem; }
.benefit span{ font-size:.78rem; color:var(--ink-soft); }
@media (max-width:760px){ .benefits-inner{ grid-template-columns:repeat(2,1fr); } }

/* =========================================================
   SEÇÕES DA HOME
   ========================================================= */
.home-section{ padding:4.5rem 0; }
.home-section--sale{ background:var(--bg-soft); }
.section-inner{ max-width:var(--container); margin:0 auto; padding:0 4vw; }
.section-head{
  display:flex; justify-content:space-between; align-items:baseline; gap:1rem; margin-bottom:2rem;
}
.section-head h2{ font-size:clamp(1.5rem,3vw,2.1rem); margin:0; letter-spacing:-.01em; }
.section-more{
  font-size:.88rem; font-weight:700; text-decoration:none; color:var(--brand); white-space:nowrap;
}
.section-more:hover{ text-decoration:underline; }

.cat-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:1.2rem; }
.cat-card{
  text-decoration:none; text-align:center; padding:1.2rem .8rem; border:1px solid var(--line);
  border-radius:var(--radius); transition:box-shadow .25s ease, transform .25s var(--ease);
  background:#fff;
}
.cat-card:hover{ box-shadow:var(--shadow-card); transform:translateY(-3px); }
.cat-thumb{ display:block; margin:0 auto .8rem; width:72px; height:72px; border-radius:50%; overflow:hidden; background:var(--bg-soft); }
.cat-thumb img{ width:100%; height:100%; object-fit:cover; }
.cat-thumb-empty{ display:block; width:100%; height:100%;  }
.cat-name{ display:block; font-weight:700; font-size:.9rem; }
.cat-count{ display:block; font-size:.75rem; color:var(--stone); }
@media (max-width:980px){ .cat-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:560px){ .cat-grid{ grid-template-columns:repeat(2,1fr); } }

/* =========================================================
   REVIEWS DE CLIENTES (carrossel)
   ========================================================= */
.reviews-carousel__viewport{ position:relative; overflow:hidden; }
.reviews-carousel__track{
  display:flex; gap:24px; list-style:none; margin:0; padding:0;
  transition:transform .4s ease;
}
.reviews-carousel__item{ position:relative; flex:0 0 calc((100% - 72px) / 4); }
.reviews-carousel__item img{
  width:100%; aspect-ratio:1/1; object-fit:cover; display:block;
  border-radius:var(--radius); border:1px solid var(--line);
}
.reviews-carousel__caption{
  position:absolute; inset:auto 0 0 0; margin:0; z-index:2;
  padding:2.2rem .9rem .9rem; border-radius:0 0 var(--radius) var(--radius);
  background:linear-gradient(to top, rgba(10,12,18,.82) 0%, rgba(10,12,18,.4) 55%, transparent 100%);
  color:#fff; font-size:.85rem; line-height:1.4; font-weight:600;
  text-shadow:0 1px 2px rgba(0,0,0,.25);
}
.reviews-carousel__btn{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border:none; border-radius:50%;
  background:var(--ink); color:#fff; font-size:1.2rem; cursor:pointer;
  z-index:5; display:flex; align-items:center; justify-content:center;
  transition:background .2s ease;
}
.reviews-carousel__btn:hover{ background:#333; }
.reviews-carousel__btn--prev{ left:-10px; }
.reviews-carousel__btn--next{ right:-10px; }
@media (max-width:992px){
  .reviews-carousel__item{ flex:0 0 calc((100% - 24px) / 2); }
}
@media (max-width:600px){
  .reviews-carousel__item{ flex:0 0 100%; }
  .reviews-carousel__btn{ width:36px; height:36px; font-size:1rem; }
}

/* =========================================================
   WOOCOMMERCE — LOOP DE PRODUTOS (cards)
   ========================================================= */
.woocommerce ul.products{
  display:grid !important; grid-template-columns:repeat(auto-fill, minmax(230px, 2fr));
  gap:1.4rem; margin:0; padding:0; list-style:none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{ display:none; }
.woocommerce ul.products li.product{
  width:auto !important; float:none !important; margin:0 !important;
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; display:flex; flex-direction:column;
  transition:box-shadow .25s ease, transform .25s var(--ease);
  position:relative;
}
.woocommerce ul.products li.product:hover{ box-shadow:var(--shadow-card); transform:translateY(-4px); }
.woocommerce ul.products li.product a img{ width:100%; aspect-ratio:1/1; object-fit:cover; margin:0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:.95rem; font-weight:600; padding:.9rem 1rem .2rem; line-height:1.35;
}
.woocommerce ul.products li.product .price{
  padding:0 1rem; color:var(--ink) !important; font-weight:800; font-size:1.05rem;
}
.woocommerce ul.products li.product .price del{ color:var(--stone); font-weight:500; font-size:.85rem; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; color:var(--cta); }
.woocommerce ul.products li.product .star-rating{ margin:.3rem 1rem 0; }
.woocommerce ul.products li.product .button{
  margin:.9rem 1rem 1.1rem; background:var(--cta); padding:18px; color:#fff; border-radius:var(--radius);
  font-weight:700; text-align:center; transition:background .25s ease;
}
.woocommerce ul.products li.product .button:hover{ background:var(--cta-hover); }

/* Mobile: grade fixa de 2 colunas (o auto-fill com min de 230px colapsa pra 1 coluna) */
@media (max-width:600px){
  .woocommerce ul.products{ grid-template-columns:repeat(2, 1fr) !important; gap:.7rem; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title{
    font-size:.85rem; padding:.7rem .7rem .1rem;
  }
  .woocommerce ul.products li.product .price{ padding:0 .7rem; font-size:.9rem; }
  .woocommerce ul.products li.product .star-rating{ margin:.2rem .7rem 0; }
  .woocommerce ul.products li.product .button{
    margin:.7rem .7rem .9rem; padding:12px; font-size:.85rem;
  }
}

.woocommerce span.onsale{
  position:absolute; top:.8rem; left:.8rem; z-index:2;
  background:var(--sale); color:#fff; font-weight:800; font-size:.72rem;
  min-height:0; min-width:0; line-height:1; padding:.45em .8em; border-radius:var(--radius-pill);
  text-transform:uppercase; letter-spacing:.04em;
}

/* Contagem de resultados + ordenação (nativos do Woo) */
.woocommerce .woocommerce-result-count{ color:var(--ink-soft); font-size:.88rem; }
.woocommerce .woocommerce-ordering select{
  border:1.5px solid var(--line); border-radius:var(--radius); padding:.55rem .9rem;
  font-size:.88rem; background:#fff; font-family:inherit;
}

/* =========================================================
   LOJA — layout com sidebar de filtros
   ========================================================= */
.shop-layout{
  max-width:var(--container); margin:0 auto; padding:2.5rem 4vw 4rem;
  display:grid; grid-template-columns:260px 2fr; gap:2.5rem; align-items:start;
  
}


.shop-content{ min-width:0; }

.filters-toggle{
  display:none; align-items:center; gap:.5em; background:#fff; border:1.5px solid var(--line);
  border-radius:var(--radius); padding:.65rem 1.1rem; font-weight:700; font-size:.88rem;
  margin-bottom:1.2rem;
}

.shop-filters{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1.4rem;
  position:sticky; top:calc(var(--header-h) + 16px);
}
.filters-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:1rem; }
.filters-head strong{ font-size:1rem; }
.filters-close{ display:none; background:none; border:none; font-size:1.6rem; line-height:1; color:var(--stone); }
.filters-clear{
  display:inline-block; font-size:.8rem; color:var(--cta); font-weight:700; margin-bottom:1.2rem;
}

.filter-group{ padding:1.1rem 0; border-top:1px solid var(--line); }
.filter-group:first-of-type{ border-top:none; padding-top:0; }
.filter-title{
  font-size:.75rem; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-soft);
  margin:0 0 .8rem; font-weight:700;
}

.filter-list{ list-style:none; margin:0; padding:0; }
.filter-list li{ margin:.35rem 0; }
.filter-list a{
  text-decoration:none; font-size:.9rem; color:var(--ink-soft); transition:color .2s ease;
}
.filter-list a:hover{ color:var(--ink); }
.filter-list .current-cat > a{ color:var(--brand); font-weight:700; }
.filter-list .children{ list-style:none; padding-left:1rem; margin:.3rem 0 0; }

.filter-check{
  display:flex; align-items:center; gap:.6em; text-decoration:none; font-size:.9rem; color:var(--ink-soft);
}
.filter-check .check-box{
  width:17px; height:17px; border:1.5px solid var(--stone); border-radius:4px; flex-shrink:0;
  transition:background .2s ease, border-color .2s ease;
}
.filter-check.is-active{ color:var(--ink); font-weight:600; }
.filter-check.is-active .check-box{ background:var(--brand); border-color:var(--brand); }

.price-filter .price-fields{ display:flex; align-items:center; gap:.5rem; margin-bottom:.8rem; }
.price-filter input[type="number"]{
  width:100%; min-width:0; border:1.5px solid var(--line); border-radius:var(--radius);
  padding:.5rem .7rem; font-size:.88rem; font-family:inherit;
}
.price-filter .btn-small{ width:100%; background:var(--ink); color:#fff; border-radius:var(--radius); }
.price-filter .btn-small:hover{ background:#000; }

.tag-cloud{ display:flex; flex-wrap:wrap; gap:.5rem; }
.tag-pill{
  font-size:.78rem; padding:.35em .9em; border:1px solid var(--line); border-radius:var(--radius-pill);
  text-decoration:none; color:var(--ink-soft); transition:all .2s ease;
}
.tag-pill:hover{ border-color:var(--ink); color:var(--ink); }
.tag-pill.is-active{ background:var(--brand); border-color:var(--brand); color:#fff; }

/* Off-canvas no mobile */
@media (max-width: 900px){
  .shop-layout{ grid-template-columns:2fr; }
  .filters-toggle{ display:inline-flex; }
  .shop-filters{
    position:fixed; inset:0 auto 0 0; width:min(84vw, 340px); z-index:120;
    border-radius:0; border:none; overflow-y:auto;
    transform:translateX(-105%); transition:transform .35s var(--ease);
    box-shadow:var(--shadow-pop); top:0;
  }
  .shop-filters.is-open{ transform:translateX(0); }
  .filters-close{ display:block; }
  .shop-overlay{
    position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:110;
  }
}

/* =========================================================
   PRODUTO INDIVIDUAL
   ========================================================= */
.product-single-wrap{ max-width:var(--container); margin:0 auto; padding:2.5rem 4vw 4rem; }
.woocommerce div.product .product_title{ font-size:clamp(1.5rem,3vw,2.2rem); letter-spacing:-.01em; }
.woocommerce div.product p.price{ font-size:1.6rem; font-weight:800; color:var(--ink); }
.woocommerce div.product p.price ins{ text-decoration:none; color:var(--cta); }
.woocommerce div.product p.price del{ color:var(--stone); font-size:1.05rem; }
.woocommerce div.product form.cart .button,
.woocommerce #respond input#submit{
  background:var(--cta); color:#fff; border-radius:var(--radius); font-weight:800;
  padding:1rem 2rem; font-size:1rem; transition:background .25s ease;
}
.woocommerce div.product form.cart .button:hover{ background:var(--cta-hover); }
.woocommerce div.product form.cart div.quantity .qty{
  border:1.5px solid var(--line); border-radius:var(--radius); padding:.85rem .4rem;
}
.woocommerce div.product .woocommerce-tabs ul.tabs{ padding-left:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent; border:none; border-radius:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{ border-bottom:2px solid var(--brand); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{ font-weight:700; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before{ border-color:var(--line); }

/* =========================================================
   CARRINHO / CHECKOUT / NOTICES
   ========================================================= */
.page-wrap{ max-width:var(--container); margin:0 auto; padding:2.5rem 4vw 4rem; }
.page-title{ font-size:clamp(1.6rem,3vw,2.3rem); letter-spacing:-.01em; }

/* Trilha de navegação (breadcrumbs — Rank Math) */
.breadcrumb-bar{ max-width:var(--container); margin:0 auto; padding:1.4rem 4vw 0; }
.lean-breadcrumbs{ margin:0 0 1.4rem; }
.lean-breadcrumbs .rank-math-breadcrumb{
  margin:0; font-size:.82rem; color:var(--stone); line-height:1.6;
}
.lean-breadcrumbs .rank-math-breadcrumb p{ margin:0; }
.lean-breadcrumbs .rank-math-breadcrumb a{ color:var(--ink-soft); text-decoration:none; font-weight:600; }
.lean-breadcrumbs .rank-math-breadcrumb a:hover{ color:var(--brand); text-decoration:underline; }
.lean-breadcrumbs .rank-math-breadcrumb .separator{ margin:0 .3em; color:var(--line); }
.lean-breadcrumbs .rank-math-breadcrumb .last{ color:var(--ink-soft); font-weight:600; }

.woocommerce table.shop_table{ border:1px solid var(--line); border-radius:var(--radius); }
.woocommerce table.shop_table th{ font-size:.8rem; text-transform:uppercase; letter-spacing:.06em; }
.woocommerce .cart .button,
.woocommerce .cart input.button,
.woocommerce a.checkout-button,
.woocommerce #place_order{
  background:var(--cta) !important; color:#fff !important; border-radius:var(--radius) !important;
  font-weight:800 !important;
}
.woocommerce a.checkout-button:hover,
.woocommerce #place_order:hover{ background:var(--cta-hover) !important; }
.woocommerce a.checkout-button{ font-size:1.05rem !important; padding:1rem !important; }

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  border:1.5px solid var(--line); border-radius:var(--radius); padding:.75rem .9rem; font-family:inherit;
}
.woocommerce form .form-row input.input-text:focus{ border-color:var(--brand); outline:none; }

.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  border-radius:var(--radius); border-top-width:3px;
}
.woocommerce-message{ border-top-color:var(--brand); }
.woocommerce-message a.button{ background:var(--ink); color:#fff; border-radius:var(--radius); }

/* =========================================================
   BLOG / conteúdo genérico
   ========================================================= */
.post-list{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
  gap:1.8rem; margin:2rem 0 0;
}
.post-card{
  border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
  background:#fff; display:flex; flex-direction:column;
  transition:box-shadow .25s ease, transform .25s var(--ease);
}
.post-card:hover{ box-shadow:var(--shadow-card); transform:translateY(-4px); }
.post-card__thumb{ display:block; aspect-ratio:16/10; overflow:hidden; background:var(--bg-soft); }
.post-card__thumb img{
  width:100%; height:100%; object-fit:cover; display:block; margin:0;
  transition:transform .4s ease;
}
.post-card:hover .post-card__thumb img{ transform:scale(1.05); }
.post-card__body{ padding:1.2rem 1.3rem 1.4rem; display:flex; flex-direction:column; flex:1; }
.post-meta{
  color:var(--stone); font-size:.75rem; text-transform:uppercase;
  letter-spacing:.06em; font-weight:700; margin:0 0 .55rem;
}
.post-card h2{ margin:0 0 .6rem; font-size:1.12rem; line-height:1.35; }
.post-card h2 a{ text-decoration:none; color:var(--ink); }
.post-card h2 a:hover{ color:var(--brand); }
.post-excerpt{ font-size:.88rem; color:var(--ink-soft); line-height:1.6; margin:0 0 1rem; flex:1; }
.post-excerpt p{ margin:0; }
.post-tags{ display:flex; flex-wrap:wrap; gap:.4rem; margin:0 0 1.1rem; }
.post-tag{
  font-size:.7rem; font-weight:700; text-decoration:none; color:var(--ink-soft);
  background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--radius-pill);
  padding:.25rem .7rem; transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.post-tag:hover{ background:var(--brand); color:#fff; border-color:var(--brand); }
.post-more{
  align-self:flex-start; font-size:.82rem; font-weight:700; color:var(--stone);
  text-decoration:none; margin-top:auto; letter-spacing:.01em;
  transition:color .2s ease;
}
.post-more:hover{ color:var(--brand); text-decoration:underline; }

.entry-content{ max-width:760px; margin:0 auto; }
.post-single__thumb{
  max-width:900px; margin:1.5rem auto 2rem; border-radius:var(--radius); overflow:hidden;
}
.post-single__thumb img{ width:100%; height:auto; display:block; margin:0; }
.post-tags--single{
  display:flex; flex-wrap:wrap; gap:.5rem; max-width:760px; margin:2.2rem auto 0;
  padding-top:1.5rem; border-top:1px solid var(--line);
}
.pagination-wrap{ margin-top:3rem; }

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{ background:var(--ink); color:#d1d5db; margin-top:4rem; }
.footer-inner{
  max-width:var(--container); margin:0 auto; padding:3.5rem 4vw 2.5rem;
  display:grid; grid-template-columns:1.2fr 1fr 1.2fr; gap:3rem;
}
.footer-brand .brand-name{ color:#fff; font-size:1.3rem; font-weight:800; }
/* O logo do rodapé é a MESMA imagem da marca usada no header, sem filtros.
   Dica: se seu logo for escuro e sumir no fundo, envie uma versão clara
   em Personalizar → Identidade do Site, ou clareie o rodapé mudando --ink. */
.footer-brand img{ max-height:44px; width:auto; }
.footer-tagline{ font-size:.88rem; color:#9ca3af; margin-top:.8rem; max-width:26em; }
.footer-menu{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.55rem; }
.footer-menu a{ text-decoration:none; font-size:.9rem; color:#d1d5db; transition:color .2s ease; }
.footer-menu a:hover{ color:#fff; }
.footer-trust p{ font-size:.85rem; margin:0 0 1rem; color:#9ca3af; }
.footer-trust strong{ color:#fff; }
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1); text-align:center; padding:1.2rem 4vw;
  font-size:.78rem; color:#9ca3af;
}
@media (max-width:760px){ .footer-inner{ grid-template-columns:2fr; gap:2rem; } }

/* =========================================================
   BOTÃO FLUTUANTE WHATSAPP
   ========================================================= */
.whatsapp-fab{
  position:fixed;  bottom:1.4rem; z-index:100;
  display:flex; align-items:center; gap:.6em;
  background:#25d366; color:#fff; text-decoration:none; font-weight:800; font-size:.9rem;
  padding:.85rem 1.3rem; border-radius:var(--radius-pill);
  box-shadow:0 10px 26px -8px rgba(37,211,102,.6);
  transition:transform .25s var(--ease), box-shadow .25s ease;
}
.whatsapp-fab:hover{ transform:translateY(-3px); box-shadow:0 14px 32px -8px rgba(37,211,102,.75); }
@media (max-width:560px){
  .whatsapp-fab span{ display:none; }
  .whatsapp-fab{ padding:.9rem; border-radius:50%; }
}
