/*
Theme Name: ClikSaude — E-commerce de Saúde
Theme URI: https://cliksaude.com.br
Author: ClikSaude
Author URI: https://cliksaude.com.br
Description: Tema customizado de e-commerce de saúde da ClikSaude. Mobile-first, moderno e otimizado para conversão.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
License: Proprietary
License URI: https://cliksaude.com.br
Text Domain: loja
Tags: ecommerce, health, woocommerce, responsive, custom
*/

/* ========================================================================
   1. DESIGN TOKENS
   ======================================================================== */
:root{
  /* Brand */
  --primary:#0B1E6E;
  --primary-dark:#081654;
  --primary-light:#1E3AAE;
  --secondary:#4FFFB0;
  --secondary-dark:#00B894;

  /* Actions */
  --action-blue:#3B82F6;
  --action-blue-dark:#2563EB;
  --pix-green:#10B981;
  --pix-green-dark:#059669;

  /* Neutrals */
  --bg-body:#F4F7FB;
  --bg-card:#FFFFFF;
  --bg-soft:#F7F9FD;
  --border:#E3E8F1;
  --border-strong:#CED6E3;

  /* Text */
  --text:#0F172A;
  --text-muted:#475569;
  --text-soft:#64748B;
  --text-inverse:#FFFFFF;

  /* Unit colors */
  --u-mais:#00B894;
  --u-yas:#7C3AED;
  --u-vac:#F59E0B;
  --u-lab:#0EA5E9;
  --u-gen:#EC4899;

  /* Feedback */
  --success:#10B981;
  --warning:#F59E0B;
  --danger:#EF4444;

  /* Radii */
  --r-sm:8px;
  --r-md:12px;
  --r-lg:20px;
  --r-xl:28px;
  --r-full:999px;

  /* Shadows */
  --shadow-sm:0 1px 2px rgba(15,23,42,.06);
  --shadow-md:0 6px 18px rgba(15,23,42,.08);
  --shadow-lg:0 18px 45px rgba(15,23,42,.12);
  --shadow-brand:0 18px 45px rgba(11,30,110,.22);

  /* Typography */
  --font-sans:'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-display:'Inter', system-ui, sans-serif;

  /* Container */
  --wrap:1200px;
  --wrap-wide:1320px;
  --gutter:clamp(16px, 3vw, 32px);

  /* Z */
  --z-header:50;
  --z-drawer:80;
  --z-modal:90;
  --z-overlay:70;
}

/* ========================================================================
   2. RESET + BASE
   ======================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
body{
  margin:0;
  font-family:var(--font-sans);
  font-size:16px;
  line-height:1.55;
  color:var(--text);
  background:var(--bg-body);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,select,textarea{font-family:inherit}
h1,h2,h3,h4,h5{margin:0;font-family:var(--font-display);color:var(--text);letter-spacing:-.015em;font-weight:800;line-height:1.15}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}

/* ========================================================================
   3. LAYOUT
   ======================================================================== */
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.wrap-wide{max-width:var(--wrap-wide)}
.section{padding:64px 0}
.section-sm{padding:40px 0}

/* ========================================================================
   4. HEADER
   ======================================================================== */
.site-header{
  position:sticky;top:0;z-index:var(--z-header);
  background:#fff;
  border-bottom:1px solid transparent;
  transition:box-shadow .25s ease,border-color .25s ease;
}
.site-header.is-scrolled{box-shadow:var(--shadow-md);border-bottom-color:var(--border)}
.header-topbar{
  background:var(--primary);color:#fff;font-size:13px;
  padding:8px 0;
}
.header-topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.topbar-left{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.topbar-left span{display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,.9)}
.topbar-left strong{color:#fff;font-weight:700}
.topbar-right{display:flex;align-items:center;gap:16px}
.topbar-right a{color:rgba(255,255,255,.9);transition:color .2s ease}
.topbar-right a:hover{color:var(--secondary)}

.header-main{padding:14px 0}
.header-main .wrap{display:flex;align-items:center;gap:24px}
.site-brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.site-brand .brand-mark{
  width:44px;height:44px;border-radius:12px;
  background:linear-gradient(135deg,var(--primary),var(--primary-light));
  display:grid;place-items:center;color:var(--secondary);font-weight:800;font-size:22px;
  box-shadow:var(--shadow-brand);
}
.site-brand .brand-name{display:flex;flex-direction:column;line-height:1.1}
.site-brand .brand-name strong{color:var(--primary);font-size:19px;font-weight:800}
.site-brand .brand-name small{color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}

.header-search{flex:1;max-width:560px;position:relative}
.header-search input{
  width:100%;height:46px;padding:0 18px 0 46px;
  border:1px solid var(--border);border-radius:var(--r-full);background:var(--bg-soft);
  font-size:15px;color:var(--text);
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.header-search input:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px rgba(11,30,110,.08)}
.header-search::before{
  content:"";position:absolute;left:18px;top:50%;transform:translateY(-50%);
  width:18px;height:18px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B1E6E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") center/contain no-repeat;
}

.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.header-chip{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--bg-soft);border:1px solid var(--border);
  padding:8px 14px;border-radius:var(--r-full);font-weight:600;font-size:14px;
  color:var(--text);transition:border-color .2s ease, background .2s ease;
}
.header-chip:hover{border-color:var(--primary);background:#fff}
.header-chip svg{width:16px;height:16px;color:var(--primary)}
.header-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  width:44px;height:44px;border-radius:var(--r-full);
  background:var(--bg-soft);border:1px solid var(--border);
  color:var(--text);transition:all .2s ease;position:relative;
}
.header-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.header-btn svg{width:20px;height:20px}
.cart-badge{
  position:absolute;top:-4px;right:-4px;
  min-width:20px;height:20px;padding:0 6px;
  background:var(--secondary-dark);color:#fff;font-size:11px;font-weight:700;
  border-radius:var(--r-full);display:grid;place-items:center;border:2px solid #fff;
}

.nav-main{border-top:1px solid var(--border);background:#fff}
.nav-main ul{display:flex;align-items:center;gap:4px;padding:6px 0;overflow-x:auto;scrollbar-width:none}
.nav-main ul::-webkit-scrollbar{display:none}
.nav-main a{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 16px;border-radius:var(--r-full);
  font-weight:600;font-size:14.5px;color:var(--text-muted);white-space:nowrap;
  transition:background .2s ease, color .2s ease;
}
.nav-main a:hover{background:var(--bg-soft);color:var(--primary)}
.nav-main a.is-active{background:var(--primary);color:#fff}
.nav-burger{display:none;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r-md);background:var(--bg-soft);border:1px solid var(--border)}
.nav-burger svg{width:22px;height:22px;color:var(--primary)}

/* ========================================================================
   5. HERO
   ======================================================================== */
.hero{
  position:relative;overflow:hidden;
  min-height:580px;display:flex;align-items:center;
  background:#0B1E6E;
  color:#fff;
}
.hero-slides{position:absolute;inset:0;z-index:1}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease}
.hero-slide.is-active{opacity:1}
.hero::after{
  content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(110deg, rgba(11,30,110,.92) 0%, rgba(11,30,110,.70) 45%, rgba(11,30,110,.25) 100%);
}
.hero .wrap{position:relative;z-index:3;padding-top:70px;padding-bottom:90px}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 14px;border-radius:var(--r-full);
  background:rgba(79,255,176,.15);color:var(--secondary);
  font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;
  border:1px solid rgba(79,255,176,.35);
}
.hero h1{font-size:clamp(34px, 5vw, 56px);margin:20px 0 18px;max-width:760px}
.hero h1 em{color:var(--secondary);font-style:normal}
.hero p{max-width:640px;font-size:clamp(16px, 1.3vw, 19px);color:rgba(255,255,255,.85);line-height:1.55;margin-bottom:28px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 26px;border-radius:var(--r-full);
  font-weight:700;font-size:15px;text-align:center;
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease;
  cursor:pointer;
}
.btn-primary{background:var(--secondary);color:var(--primary-dark)}
.btn-primary:hover{background:#3cf0a0;transform:translateY(-1px);box-shadow:0 10px 25px rgba(79,255,176,.35)}
.btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.3)}
.btn-ghost:hover{background:rgba(255,255,255,.2)}
.btn-primary-dark{background:var(--primary);color:#fff}
.btn-primary-dark:hover{background:var(--primary-dark)}
.btn-outline{background:transparent;color:var(--primary);border:1.5px solid var(--primary)}
.btn-outline:hover{background:var(--primary);color:#fff}
.hero-stats{display:flex;gap:28px;margin-top:40px;flex-wrap:wrap}
.hero-stat{display:flex;flex-direction:column}
.hero-stat strong{font-size:28px;color:var(--secondary);font-weight:800;line-height:1}
.hero-stat span{font-size:13px;color:rgba(255,255,255,.7);margin-top:4px;letter-spacing:.03em;text-transform:uppercase}

/* ========================================================================
   6. CATEGORY CARDS (overlap the hero)
   ======================================================================== */
.category-strip{margin-top:-60px;position:relative;z-index:4;padding-bottom:40px}
.category-grid{
  display:grid;gap:16px;
  grid-template-columns:repeat(4,1fr);
}
.category-card{
  background:#fff;border-radius:var(--r-lg);padding:22px;
  box-shadow:var(--shadow-md);transition:transform .2s ease, box-shadow .2s ease;
  display:flex;flex-direction:column;gap:10px;
  border:1px solid transparent;
}
.category-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--border)}
.cat-icon{
  width:48px;height:48px;border-radius:14px;display:grid;place-items:center;color:#fff;
}
.cat-icon svg{width:24px;height:24px}
.c-lab .cat-icon{background:linear-gradient(135deg,#0EA5E9,#0284C7)}
.c-consulta .cat-icon{background:linear-gradient(135deg,#00B894,#007F66)}
.c-imagem .cat-icon{background:linear-gradient(135deg,#7C3AED,#5B21B6)}
.c-vacina .cat-icon{background:linear-gradient(135deg,#F59E0B,#C2780F)}
.category-card h3{font-size:17px;color:var(--primary);margin-top:4px}
.category-card p{font-size:13.5px;color:var(--text-muted);line-height:1.5}
.category-card .cat-arrow{
  margin-top:auto;display:inline-flex;align-items:center;gap:6px;
  font-weight:700;color:var(--primary);font-size:13.5px;
}

/* ========================================================================
   7. PROMO CAROUSEL
   ======================================================================== */
.promo-carousel{padding:40px 0}
.promo-row{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:thin}
.promo-row::-webkit-scrollbar{height:6px}
.promo-row::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px}
.promo-card{
  flex:0 0 min(85%, 420px);
  scroll-snap-align:start;
  border-radius:var(--r-lg);padding:26px 28px;color:#fff;
  display:flex;flex-direction:column;justify-content:space-between;
  min-height:220px;overflow:hidden;position:relative;
}
.promo-card::after{
  content:"";position:absolute;top:-40%;right:-10%;width:240px;height:240px;border-radius:50%;
  background:rgba(255,255,255,.12);
}
.promo-1{background:linear-gradient(135deg,#0B1E6E,#1E3AAE)}
.promo-2{background:linear-gradient(135deg,#EC4899,#BE185D)}
.promo-3{background:linear-gradient(135deg,#00B894,#007F66)}
.promo-card .eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.8);font-weight:700}
.promo-card h3{font-size:24px;margin:8px 0;color:#fff;position:relative;z-index:1}
.promo-card p{font-size:14px;color:rgba(255,255,255,.85);max-width:340px;position:relative;z-index:1}
.promo-card .btn{align-self:flex-start;margin-top:16px;background:#fff;color:var(--primary);position:relative;z-index:1}

/* ========================================================================
   8. PRODUCT CARDS (horizontal scroll + grid)
   ======================================================================== */
.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:26px;gap:16px;flex-wrap:wrap}
.section-head h2{font-size:clamp(24px, 3vw, 32px);color:var(--primary)}
.section-head p{color:var(--text-muted);font-size:14.5px;margin-top:4px}
.section-head .link{font-weight:700;color:var(--primary);display:inline-flex;align-items:center;gap:6px}

.product-row{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 16px;scrollbar-width:thin}
.product-row::-webkit-scrollbar{height:6px}
.product-row::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px}
.product-row .product-card{flex:0 0 260px;scroll-snap-align:start}

.product-grid{
  display:grid;gap:18px;
  grid-template-columns:repeat(auto-fill, minmax(240px,1fr));
}
.product-card{
  background:#fff;border-radius:var(--r-lg);overflow:hidden;
  border:1px solid var(--border);
  display:flex;flex-direction:column;
  transition:transform .18s ease, box-shadow .2s ease, border-color .2s ease;
}
.product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--border-strong)}
.product-card .pc-img{aspect-ratio:5/4;background:var(--bg-soft);position:relative;overflow:hidden}
.product-card .pc-img img{width:100%;height:100%;object-fit:cover}
.product-card .pc-tag{
  position:absolute;top:10px;left:10px;
  background:var(--primary);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  padding:5px 10px;border-radius:var(--r-full);
}
.product-card .pc-tag.tag-lab{background:var(--u-lab)}
.product-card .pc-tag.tag-consulta{background:var(--u-mais)}
.product-card .pc-tag.tag-vacina{background:var(--u-vac);color:#1a1a1a}
.product-card .pc-tag.tag-imagem{background:var(--u-yas)}
.product-card .pc-tag.tag-gen{background:var(--u-gen)}
.product-card .pc-body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.product-card h3{font-size:16px;color:var(--text);line-height:1.3;font-weight:700}
.product-card .pc-sub{font-size:13px;color:var(--text-muted);min-height:36px}
.product-card .pc-price{display:flex;align-items:baseline;gap:8px;margin-top:auto}
.product-card .pc-pix{font-size:20px;font-weight:800;color:var(--pix-green)}
.product-card .pc-card{font-size:12.5px;color:var(--text-muted);text-decoration:line-through}
.product-card .pix-tag{
  display:inline-flex;align-items:center;gap:4px;
  background:rgba(16,185,129,.1);color:var(--pix-green-dark);
  font-size:11px;font-weight:700;padding:3px 8px;border-radius:var(--r-full);
  letter-spacing:.03em;
}
.product-card .pc-foot{padding:0 16px 16px}
.product-card .pc-btn{width:100%;padding:11px;border-radius:var(--r-full);background:var(--primary);color:#fff;font-weight:700;font-size:13.5px;transition:background .2s ease}
.product-card .pc-btn:hover{background:var(--primary-dark)}
.product-card .pc-prep{
  display:inline-flex;align-items:center;gap:4px;
  font-size:11.5px;color:var(--warning);font-weight:600;
}

/* ========================================================================
   9. "COMO FUNCIONA" - 4 STEPS
   ======================================================================== */
.how-it-works{background:#fff;padding:80px 0;position:relative}
.how-steps{
  display:grid;gap:18px;
  grid-template-columns:repeat(4,1fr);
  margin-top:40px;
}
.how-step{
  padding:28px 22px;border-radius:var(--r-lg);
  background:var(--bg-soft);border:1px solid var(--border);
  position:relative;
}
.how-step .step-num{
  position:absolute;top:-16px;left:22px;
  width:42px;height:42px;border-radius:var(--r-full);
  background:var(--primary);color:var(--secondary);font-weight:800;font-size:18px;
  display:grid;place-items:center;
  box-shadow:var(--shadow-brand);
}
.how-step h3{font-size:17px;color:var(--primary);margin:14px 0 8px}
.how-step p{font-size:14px;color:var(--text-muted);line-height:1.55}

/* ========================================================================
   10. TRUST BAR
   ======================================================================== */
.trust-bar{padding:40px 0;background:var(--bg-soft);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.trust-bar-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-around;gap:20px}
.trust-item{display:flex;align-items:center;gap:12px;color:var(--text)}
.trust-item .icon{
  width:44px;height:44px;border-radius:12px;background:#fff;border:1px solid var(--border);
  display:grid;place-items:center;color:var(--primary);flex-shrink:0;
}
.trust-item .icon svg{width:22px;height:22px}
.trust-item strong{display:block;font-size:14.5px;line-height:1.2}
.trust-item span{display:block;font-size:12.5px;color:var(--text-muted);margin-top:2px}

/* ========================================================================
   11. APP BANNER
   ======================================================================== */
.app-banner{
  padding:72px 0;
  background:linear-gradient(120deg,var(--primary) 0%, var(--primary-light) 100%);
  color:#fff;position:relative;overflow:hidden;
}
.app-banner::before{
  content:"";position:absolute;right:-80px;bottom:-80px;width:320px;height:320px;border-radius:50%;
  background:radial-gradient(circle, rgba(79,255,176,.4) 0%, transparent 70%);
}
.app-banner .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;position:relative;z-index:1}
.app-banner .eyebrow{
  display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:var(--r-full);
  background:rgba(79,255,176,.2);color:var(--secondary);border:1px solid rgba(79,255,176,.3);
  font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
}
.app-banner h2{font-size:clamp(28px, 3.5vw, 40px);margin:16px 0;color:#fff}
.app-banner h2 em{color:var(--secondary);font-style:normal}
.app-banner p{color:rgba(255,255,255,.85);max-width:520px;margin-bottom:24px}
.app-stores{display:flex;gap:12px;flex-wrap:wrap}
.app-store{
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 18px;border-radius:12px;
  background:#000;color:#fff;
  transition:transform .15s ease;
}
.app-store:hover{transform:translateY(-2px)}
.app-store svg{width:22px;height:22px;flex-shrink:0}
.app-store small{font-size:11px;color:rgba(255,255,255,.75);display:block;line-height:1}
.app-store strong{font-size:15px;font-weight:700;display:block;line-height:1.15;margin-top:2px}
.app-mock{text-align:center}
.app-mock .phone{
  max-width:260px;margin:0 auto;border-radius:28px;overflow:hidden;border:8px solid #111;
  box-shadow:0 25px 60px rgba(0,0,0,.35);aspect-ratio:9/18;background:#fff;
  display:grid;place-items:center;color:var(--primary);font-weight:700;
}

/* ========================================================================
   12. TESTIMONIALS
   ======================================================================== */
.testimonials{padding:72px 0;background:#fff}
.tests-row{
  display:grid;gap:18px;
  grid-template-columns:repeat(3,1fr);
  margin-top:40px;
}
.test-card{
  padding:26px;border-radius:var(--r-lg);background:var(--bg-soft);
  border:1px solid var(--border);
  display:flex;flex-direction:column;gap:14px;
}
.test-stars{color:var(--warning);font-size:14px;letter-spacing:2px}
.test-card p{font-size:15px;color:var(--text);line-height:1.55;font-style:italic}
.test-person{display:flex;align-items:center;gap:12px;margin-top:auto}
.test-person .avatar{
  width:44px;height:44px;border-radius:50%;
  background:linear-gradient(135deg,var(--primary),var(--primary-light));
  color:#fff;display:grid;place-items:center;font-weight:700;font-size:16px;
}
.test-person strong{display:block;font-size:14.5px;color:var(--text);line-height:1.2}
.test-person small{display:block;font-size:12.5px;color:var(--text-muted);margin-top:2px}

/* ========================================================================
   13. FAQ
   ======================================================================== */
.faq{padding:72px 0;background:var(--bg-soft)}
.faq-list{max-width:820px;margin:40px auto 0}
.faq-item{
  background:#fff;border:1px solid var(--border);border-radius:var(--r-md);
  margin-bottom:10px;overflow:hidden;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.faq-item:hover{border-color:var(--border-strong)}
.faq-item[open]{border-color:var(--primary);box-shadow:var(--shadow-sm)}
.faq-item summary{
  list-style:none;cursor:pointer;padding:18px 22px;
  font-weight:700;color:var(--primary);font-size:15.5px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"+";font-size:24px;color:var(--primary);flex-shrink:0;
  transition:transform .2s ease;font-weight:400;
}
.faq-item[open] summary::after{content:"−"}
.faq-item .faq-answer{padding:0 22px 20px;color:var(--text-muted);font-size:14.5px;line-height:1.6}

/* ========================================================================
   14. NEWSLETTER
   ======================================================================== */
.newsletter{
  padding:64px 0;background:var(--primary);color:#fff;text-align:center;
  position:relative;overflow:hidden;
}
.newsletter::before{
  content:"";position:absolute;left:-120px;top:-120px;width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle, rgba(79,255,176,.25) 0%, transparent 70%);
}
.newsletter .wrap{position:relative;z-index:1;max-width:680px}
.newsletter h2{color:#fff;font-size:clamp(24px, 3vw, 34px);margin-bottom:10px}
.newsletter p{color:rgba(255,255,255,.85);margin-bottom:24px}
.news-form{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.news-form input{
  flex:1;min-width:240px;max-width:380px;
  height:48px;padding:0 20px;border-radius:var(--r-full);border:none;
  font-size:15px;color:var(--text);background:#fff;
}
.news-form input:focus{outline:none;box-shadow:0 0 0 4px rgba(79,255,176,.3)}
.news-form .btn{height:48px;padding:0 28px}

/* ========================================================================
   15. FOOTER
   ======================================================================== */
.site-footer{background:var(--primary-dark);color:rgba(255,255,255,.8);padding:64px 0 32px}
.footer-grid{
  display:grid;gap:32px;
  grid-template-columns:1.3fr 1fr 1fr 1fr;
  margin-bottom:40px;
}
.footer-col h4{color:#fff;font-size:15px;margin-bottom:18px;letter-spacing:.02em}
.footer-col a{display:block;padding:5px 0;font-size:14px;color:rgba(255,255,255,.7);transition:color .2s ease}
.footer-col a:hover{color:var(--secondary)}
.footer-col p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.7);margin-bottom:14px}
.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:16px;color:#fff}
.footer-brand .brand-mark{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,var(--primary-light),var(--primary));display:grid;place-items:center;color:var(--secondary);font-weight:800;font-size:22px}
.footer-brand strong{color:#fff;font-size:18px;font-weight:800}
.footer-brand small{color:var(--secondary);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:700}
.footer-social{display:flex;gap:10px;margin-top:16px}
.footer-social a{
  width:38px;height:38px;border-radius:var(--r-full);
  background:rgba(255,255,255,.08);color:#fff;
  display:grid;place-items:center;padding:0;transition:background .2s ease, color .2s ease;
}
.footer-social a:hover{background:var(--secondary);color:var(--primary-dark)}
.footer-social svg{width:18px;height:18px}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);padding-top:24px;
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  color:rgba(255,255,255,.6);font-size:13px;
}
.footer-bottom .stamps{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.footer-bottom .stamps span{
  padding:4px 10px;border:1px solid rgba(255,255,255,.2);border-radius:var(--r-full);
  font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;color:rgba(255,255,255,.7);
}

/* ========================================================================
   16. MOBILE BOTTOM NAV
   ======================================================================== */
.bottom-nav{
  display:none;
  position:fixed;bottom:0;left:0;right:0;z-index:var(--z-header);
  background:#fff;border-top:1px solid var(--border);
  padding:8px 6px calc(8px + env(safe-area-inset-bottom));
}
.bottom-nav ul{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.bottom-nav a{
  display:flex;flex-direction:column;align-items:center;gap:3px;
  padding:6px 4px;border-radius:var(--r-md);
  color:var(--text-muted);font-size:11px;font-weight:600;
  transition:color .2s ease, background .2s ease;
}
.bottom-nav a.is-active{color:var(--primary);background:var(--bg-soft)}
.bottom-nav a svg{width:22px;height:22px}
.bottom-nav a.bn-cart{position:relative}
.bottom-nav a.bn-cart .cart-badge{position:absolute;top:2px;right:calc(50% - 22px)}

/* ========================================================================
   17. WHATSAPP FLOATING
   ======================================================================== */
.wa-float{
  position:fixed;bottom:24px;right:24px;z-index:var(--z-overlay);
  width:56px;height:56px;border-radius:var(--r-full);
  background:#25D366;color:#fff;
  display:grid;place-items:center;
  box-shadow:0 12px 30px rgba(37,211,102,.5);
  transition:transform .15s ease;
}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:28px;height:28px}

/* ========================================================================
   18. RESPONSIVE
   ======================================================================== */
@media (max-width: 1024px){
  .category-grid{grid-template-columns:repeat(2,1fr)}
  .how-steps{grid-template-columns:repeat(2,1fr)}
  .tests-row{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .app-banner .wrap{grid-template-columns:1fr}
  .app-mock{order:-1}
}
@media (max-width: 768px){
  :root{--gutter:16px}
  .section{padding:44px 0}
  .header-topbar{display:none}
  .header-main .wrap{gap:12px;flex-wrap:wrap}
  .header-search{order:3;width:100%;max-width:100%;flex-basis:100%}
  .header-actions .hide-mobile{display:none}
  .nav-main{display:none}
  .nav-burger{display:inline-flex}
  .hero{min-height:480px}
  .hero .wrap{padding-top:40px;padding-bottom:60px}
  .hero-stats{gap:18px}
  .hero-stat strong{font-size:22px}
  .category-strip{margin-top:-40px}
  .promo-card{flex-basis:88%}
  .how-steps{grid-template-columns:1fr}
  .trust-bar-inner{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}
  .trust-item{flex-shrink:0}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
  .footer-bottom{flex-direction:column;text-align:center}
  body{padding-bottom:70px}
  .bottom-nav{display:block}
  .wa-float{bottom:80px;right:16px;width:50px;height:50px}
  .wa-float svg{width:24px;height:24px}
}
@media (max-width: 480px){
  .category-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .hero h1{font-size:30px}
}

/* ========================================================================
   19. UTILS
   ======================================================================== */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hide-mobile{display:inherit}
@media (max-width:768px){.hide-mobile{display:none!important}}
.only-mobile{display:none}
@media (max-width:768px){.only-mobile{display:inherit}}

/* ========================================================================
   20. WOOCOMMERCE — premium overrides (v1.1)
   ======================================================================== */

/* container geral das páginas WC */
.wc-page{padding:32px 0 80px}
.is-woocommerce main#main{background:#F7F8FB;min-height:60vh}

/* breadcrumb */
.woocommerce-breadcrumb{font-size:13px;color:#6B7280;padding:24px 0 0;display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.woocommerce-breadcrumb a{color:#6B7280;text-decoration:none;transition:color .15s}
.woocommerce-breadcrumb a:hover{color:var(--brand,#0B1E6E)}
.woocommerce-breadcrumb .sep{color:#CBD5E1;margin:0 4px}

/* notices/avisos */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments{
  border:1px solid #E5E7EB;border-left:4px solid var(--brand,#0B1E6E);
  background:#fff;padding:14px 18px;border-radius:10px;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  font-size:14px;color:#1F2937;margin:18px 0;
  box-shadow:0 1px 2px rgba(11,30,110,.04);
  list-style:none;
}
.woocommerce-message{border-left-color:var(--accent,#22C55E)}
.woocommerce-error{border-left-color:#EF4444}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{display:none}
.woocommerce-message a.button,
.woocommerce-info a.button{
  background:var(--brand,#0B1E6E);color:#fff;border:0;padding:8px 14px;border-radius:8px;
  font-weight:600;font-size:13px;text-decoration:none;
}

/* result count + sorting */
.woocommerce-result-count{color:#6B7280;font-size:14px;margin:0}
.woocommerce-ordering select{
  border:1px solid #E5E7EB;border-radius:10px;padding:10px 36px 10px 14px;
  background:#fff;font-size:14px;color:#1F2937;font-family:inherit;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2.5'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat;background-position:right 12px center;
}

/* listagem — grid de produtos */
ul.products{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:1024px){ul.products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){ul.products{grid-template-columns:1fr}}

ul.products li.product{
  background:#fff;border-radius:18px;border:1px solid #ECEEF3;overflow:hidden;
  display:flex;flex-direction:column;
  box-shadow:0 1px 2px rgba(11,30,110,.04);transition:transform .25s ease,box-shadow .25s ease;
  margin:0;float:none!important;width:auto!important;
}
ul.products li.product:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(11,30,110,.10)}

ul.products li.product .pc-img{position:relative;aspect-ratio:4/3;background:#F1F5F9;overflow:hidden}
ul.products li.product .pc-img img,
ul.products li.product .pc-img a img{width:100%;height:100%;object-fit:cover;display:block}
ul.products li.product .pc-tag{
  position:absolute;top:12px;left:12px;background:#0B1E6E;color:#fff;
  font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  padding:4px 10px;border-radius:999px;
}
ul.products li.product .pc-sale{
  position:absolute;top:12px;right:12px;background:var(--accent,#22C55E);color:#fff;
  font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  padding:4px 10px;border-radius:999px;
}
ul.products li.product .pc-body{padding:18px 18px 0;display:flex;flex-direction:column;gap:8px;flex:1}
ul.products li.product .pc-title{margin:0;font-size:17px;font-weight:700;color:#0B1E6E;line-height:1.3}
ul.products li.product .pc-title a{color:inherit;text-decoration:none}
ul.products li.product .pc-title a:hover{color:var(--brand,#0B1E6E)}
ul.products li.product .pc-sub{color:#6B7280;font-size:13px;line-height:1.5}
ul.products li.product .pc-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px}
ul.products li.product .pc-pix{font-size:22px;font-weight:800;color:var(--accent,#22C55E)}
ul.products li.product .pix-tag{
  background:var(--accent,#22C55E);color:#fff;font-size:10px;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;border-radius:999px;
}
ul.products li.product .pc-card{font-size:13px;color:#94A3B8;text-decoration:line-through}
ul.products li.product .pc-foot{padding:14px 18px 18px}
ul.products li.product .pc-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;background:var(--brand,#0B1E6E);color:#fff;
  font-weight:700;padding:12px 16px;border-radius:12px;
  text-decoration:none;text-align:center;font-size:14px;border:0;cursor:pointer;
  transition:transform .15s ease,background .15s ease;
}
ul.products li.product .pc-btn:hover{background:#0a1856;transform:translateY(-1px);color:#fff}
ul.products li.product .pc-btn.added{background:var(--accent,#22C55E)}
ul.products li.product .pc-btn.loading{opacity:.7;pointer-events:none}

/* esconde "Visualizar carrinho" duplicado pós-AJAX (já temos no header) */
ul.products li.product .added_to_cart.wc-forward{
  display:block;text-align:center;margin-top:8px;font-size:13px;
  color:var(--brand,#0B1E6E);text-decoration:none;
}

/* paginação */
.woocommerce-pagination ul.page-numbers{
  list-style:none;padding:0;margin:32px 0 0;display:flex;justify-content:center;gap:6px;
}
.woocommerce-pagination ul.page-numbers li{margin:0}
.woocommerce-pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;padding:0 12px;border-radius:10px;
  border:1px solid #E5E7EB;background:#fff;color:#1F2937;
  font-weight:600;font-size:14px;text-decoration:none;
}
.woocommerce-pagination .page-numbers.current{background:var(--brand,#0B1E6E);color:#fff;border-color:var(--brand,#0B1E6E)}
.woocommerce-pagination .page-numbers:hover:not(.current){border-color:var(--brand,#0B1E6E);color:var(--brand,#0B1E6E)}

/* ============================================================
   PÁGINA DO PRODUTO (single-product)
   ============================================================ */
.single-product div.product{
  display:grid;grid-template-columns:minmax(300px,1.1fr) 1fr;gap:48px;
  background:#fff;padding:32px;border-radius:20px;border:1px solid #ECEEF3;
  box-shadow:0 4px 16px rgba(11,30,110,.04);margin-top:24px;
}
@media(max-width:880px){.single-product div.product{grid-template-columns:1fr;gap:24px;padding:20px}}

.single-product div.product .woocommerce-product-gallery{margin:0;float:none;width:auto;position:relative}
.single-product div.product .woocommerce-product-gallery__wrapper{border-radius:14px;overflow:hidden}
.single-product div.product .woocommerce-product-gallery__image img{border-radius:14px;display:block;width:100%;height:auto}
.single-product div.product .woocommerce-product-gallery__trigger{
  position:absolute;top:12px;right:12px;z-index:2;
  width:42px;height:42px;background:#fff;border-radius:50%;
  border:1px solid #E5E7EB;text-indent:-9999px;
  box-shadow:0 4px 14px rgba(11,30,110,.10);
}

.single-product div.product .summary{margin:0;float:none;width:auto}
.single-product .product_title{
  font-size:32px;line-height:1.15;font-weight:800;color:#0B1E6E;margin:0 0 12px;
}
.single-product .woocommerce-product-rating{margin-bottom:14px}

/* preço premium */
.loja-product-price{
  background:#F0FDF4;border:1px solid #BBF7D0;border-radius:14px;
  padding:18px 20px;margin:18px 0 22px;
}
.lpp-pix-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.lpp-pix-amount{font-size:36px;font-weight:800;color:#15803D;line-height:1}
.lpp-pix-tag{
  background:var(--accent,#22C55E);color:#fff;font-size:11px;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;border-radius:999px;
}
.lpp-card-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;font-size:14px;color:#374151}
.lpp-card-amount{font-weight:700;color:#1F2937}
.lpp-card-installments{color:#6B7280;font-size:13px}

/* descrição curta */
.single-product .woocommerce-product-details__short-description{
  color:#374151;font-size:15px;line-height:1.65;margin:0 0 22px;
}
.single-product .woocommerce-product-details__short-description p{margin:0 0 8px}

/* form add to cart premium */
.loja-add-to-cart{display:flex;flex-direction:column;gap:12px;margin:0;border:0;padding:0;background:transparent}
.loja-quantity-wrap{display:flex;align-items:center;gap:14px}
.loja-quantity-label{font-size:14px;font-weight:600;color:#374151}

.loja-qty{display:inline-flex;align-items:stretch;border:1.5px solid #E5E7EB;border-radius:12px;overflow:hidden;background:#fff}
.loja-qty-btn{
  background:#F8FAFC;border:0;width:42px;font-size:20px;font-weight:600;color:#0B1E6E;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .15s ease;
}
.loja-qty-btn:hover{background:#E2E8F0}
.loja-qty-btn:disabled{color:#CBD5E1;cursor:not-allowed}
.loja-qty-input{
  width:64px;text-align:center;border:0;background:#fff;font-size:16px;font-weight:600;color:#0B1E6E;
  -moz-appearance:textfield;
}
.loja-qty-input::-webkit-outer-spin-button,
.loja-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.loja-buy-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  background:var(--brand,#0B1E6E);color:#fff;border:0;
  padding:16px 24px;border-radius:14px;font-size:16px;font-weight:700;
  cursor:pointer;transition:transform .15s ease,background .15s ease;
  width:100%;font-family:inherit;
}
.loja-buy-btn:hover{background:#0a1856;transform:translateY(-1px)}
.loja-buy-btn:focus{outline:2px solid #0B1E6E;outline-offset:2px}

.loja-whatsapp-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  background:#fff;color:#25D366;border:1.5px solid #25D366;
  padding:14px 24px;border-radius:14px;font-size:14px;font-weight:600;
  text-decoration:none;transition:background .15s ease,color .15s ease;
}
.loja-whatsapp-btn:hover{background:#25D366;color:#fff}

/* meta */
.single-product .product_meta{
  border-top:1px solid #ECEEF3;padding-top:14px;margin-top:18px;
  font-size:13px;color:#6B7280;line-height:1.8;
}
.single-product .product_meta > span{display:block}
.single-product .product_meta a{color:var(--brand,#0B1E6E);text-decoration:none;font-weight:500}
.single-product .product_meta a:hover{text-decoration:underline}

/* tabs */
.woocommerce-tabs{margin-top:48px}
.woocommerce-tabs ul.tabs{
  list-style:none;padding:0;margin:0;
  display:flex;gap:6px;border-bottom:2px solid #E5E7EB;
  overflow-x:auto;flex-wrap:wrap;
}
.woocommerce-tabs ul.tabs li{margin:0;padding:0;background:none;border:0}
.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce-tabs ul.tabs li a{
  display:block;padding:14px 20px;font-weight:600;color:#6B7280;
  text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-2px;
  transition:color .15s,border-color .15s;
}
.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover{color:var(--brand,#0B1E6E);border-bottom-color:var(--brand,#0B1E6E)}
.woocommerce-tabs .panel{padding:24px 0;font-size:15px;line-height:1.7;color:#374151}
.woocommerce-tabs .panel h2{font-size:22px;color:#0B1E6E;margin:0 0 14px}

/* related products */
section.related,
section.up-sells{margin-top:56px}
section.related > h2,
section.up-sells > h2{
  font-size:24px;color:#0B1E6E;margin:0 0 24px;font-weight:700;
}

/* ============================================================
   CARRINHO
   ============================================================ */
.woocommerce-cart-form{
  background:#fff;border-radius:16px;border:1px solid #ECEEF3;overflow:hidden;
  box-shadow:0 1px 2px rgba(11,30,110,.04);
}
table.shop_table{width:100%;border-collapse:collapse;border:0}
table.shop_table thead th{
  background:#F8FAFC;font-size:12px;font-weight:700;color:#6B7280;
  text-transform:uppercase;letter-spacing:.05em;padding:14px 16px;text-align:left;
  border-bottom:1px solid #E5E7EB;
}
table.shop_table tbody td{
  padding:18px 16px;border-bottom:1px solid #F1F5F9;font-size:14px;color:#1F2937;vertical-align:middle;
}
table.shop_table tbody tr:last-child td{border-bottom:0}
table.shop_table .product-thumbnail img{width:64px;height:64px;object-fit:cover;border-radius:10px;display:block}
table.shop_table .product-name a{color:#0B1E6E;font-weight:600;text-decoration:none}
table.shop_table .product-name a:hover{text-decoration:underline}
table.shop_table .product-price,
table.shop_table .product-subtotal{font-weight:600}
table.shop_table .product-remove a.remove{
  display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:32px;background:#FEE2E2;color:#DC2626!important;
  border-radius:8px;font-size:0;text-decoration:none;
  position:relative;
}
table.shop_table .product-remove a.remove::before{
  content:"×";font-size:20px;font-weight:700;line-height:1;
}
table.shop_table .product-remove a.remove:hover{background:#FCA5A5;color:#fff!important}
table.shop_table tfoot td{padding:16px;font-weight:600}

/* coupon row */
.cart-collaterals{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
@media(max-width:768px){.cart-collaterals{grid-template-columns:1fr}}
.coupon{display:flex;gap:8px;align-items:center;padding:16px;background:#fff;border:1px dashed #CBD5E1;border-radius:12px;margin-bottom:16px}
.coupon label{font-weight:600;color:#374151;display:none}
.coupon input[type="text"]{
  flex:1;padding:10px 14px;border:1px solid #E5E7EB;border-radius:8px;
  font-size:14px;font-family:inherit;background:#F8FAFC;
}
.coupon input[type="text"]:focus{outline:0;border-color:var(--brand,#0B1E6E);background:#fff}

button.button,
.shop_table input[type="submit"],
form.checkout_coupon button{
  background:var(--brand,#0B1E6E);color:#fff;border:0;padding:10px 18px;
  border-radius:10px;font-weight:600;font-size:14px;cursor:pointer;
  font-family:inherit;transition:background .15s;
}
button.button:hover,
.shop_table input[type="submit"]:hover{background:#0a1856}
button.button.alt,
.checkout-button,
button[name="update_cart"],
button[name="proceed_to_checkout"]{
  background:var(--accent,#22C55E);color:#fff;
}
button.button.alt:hover,
.checkout-button:hover{background:#16A34A}

.cart_totals{
  background:#fff;border-radius:16px;border:1px solid #ECEEF3;padding:24px;
  box-shadow:0 1px 2px rgba(11,30,110,.04);
}
.cart_totals h2{font-size:20px;color:#0B1E6E;margin:0 0 16px}
.cart_totals table{width:100%}
.cart_totals .order-total .amount{font-size:24px;font-weight:800;color:var(--accent,#22C55E)}
.wc-proceed-to-checkout{margin-top:16px}
.wc-proceed-to-checkout .checkout-button{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;padding:16px 24px;border-radius:14px;font-size:16px;font-weight:700;
  text-decoration:none;
}

/* carrinho vazio */
.loja-cart-empty{
  background:#fff;border-radius:20px;padding:48px 24px;text-align:center;
  border:1px solid #ECEEF3;max-width:520px;margin:0 auto;
  box-shadow:0 4px 16px rgba(11,30,110,.04);
}
.loja-cart-empty-icon{color:#CBD5E1;margin-bottom:16px;display:flex;justify-content:center}
.loja-cart-empty h2{font-size:24px;color:#0B1E6E;margin:0 0 8px}
.loja-cart-empty p{color:#6B7280;font-size:15px;margin:0 0 24px}
.loja-cart-empty-btn{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--brand,#0B1E6E);color:#fff;
  padding:14px 28px;border-radius:14px;font-weight:700;
  text-decoration:none;
}
.loja-cart-empty-btn:hover{background:#0a1856;color:#fff}
.return-to-shop{text-align:center;margin:24px 0}
.return-to-shop .button{
  background:var(--brand,#0B1E6E);color:#fff;
  padding:14px 28px;border-radius:14px;font-weight:700;text-decoration:none;
  display:inline-block;
}

/* ============================================================
   CHECKOUT
   ============================================================ */
.woocommerce-checkout form.checkout{
  display:grid;grid-template-columns:minmax(300px,1.4fr) minmax(280px,1fr);gap:32px;
}
@media(max-width:980px){.woocommerce-checkout form.checkout{grid-template-columns:1fr}}

#customer_details{display:grid;grid-template-columns:1fr;gap:16px}
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields{
  background:#fff;border-radius:14px;border:1px solid #ECEEF3;padding:24px;
  box-shadow:0 1px 2px rgba(11,30,110,.04);
}
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading,
.woocommerce-account-fields h3{
  font-size:18px;color:#0B1E6E;margin:0 0 18px;font-weight:700;
}

.form-row label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:6px}
.form-row .required{color:#EF4444;margin-left:2px}
.form-row input[type="text"],
.form-row input[type="email"],
.form-row input[type="tel"],
.form-row input[type="password"],
.form-row input[type="number"],
.form-row select,
.form-row textarea,
.select2-selection--single,
.select2-container .select2-selection{
  width:100%;padding:11px 14px;border:1px solid #E5E7EB;border-radius:10px;
  font-size:14px;font-family:inherit;background:#F8FAFC;color:#1F2937;
  transition:border-color .15s,background .15s;
  height:auto!important;line-height:1.4;
}
.select2-selection__rendered{padding-left:0!important;padding-right:24px!important;line-height:1.4!important}
.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus{
  outline:0;border-color:var(--brand,#0B1E6E);background:#fff;
  box-shadow:0 0 0 3px rgba(11,30,110,.10);
}
.form-row textarea{min-height:90px;resize:vertical}

#order_review{
  background:#fff;border-radius:14px;border:1px solid #ECEEF3;padding:24px;
  box-shadow:0 1px 2px rgba(11,30,110,.04);
  position:sticky;top:24px;align-self:start;
}
#order_review_heading{margin-top:0}
#payment{background:transparent;border-radius:0;margin-top:18px}
#payment ul.payment_methods{
  list-style:none;padding:0;margin:0 0 18px;
  border:1px solid #E5E7EB;border-radius:12px;overflow:hidden;
}
#payment ul.payment_methods li{
  border-bottom:1px solid #E5E7EB;padding:14px 16px;background:#fff;
}
#payment ul.payment_methods li:last-child{border-bottom:0}
#payment ul.payment_methods li label{display:inline-flex;align-items:center;gap:10px;font-weight:600;color:#1F2937;cursor:pointer}
#payment .payment_box{
  background:#F8FAFC;border-radius:10px;padding:14px 16px;margin-top:10px;
  font-size:13px;color:#4B5563;
}

#place_order{
  background:var(--accent,#22C55E);color:#fff;border:0;
  padding:18px 28px;border-radius:14px;font-size:17px;font-weight:700;
  cursor:pointer;width:100%;font-family:inherit;
  display:flex;align-items:center;justify-content:center;gap:10px;
  transition:background .15s;
}
#place_order:hover{background:#16A34A}

/* ============================================================
   MINHA CONTA
   ============================================================ */
.woocommerce-account .woocommerce{
  display:grid;grid-template-columns:240px 1fr;gap:32px;background:transparent;
}
@media(max-width:768px){.woocommerce-account .woocommerce{grid-template-columns:1fr}}
.woocommerce-MyAccount-navigation{
  background:#fff;border-radius:14px;border:1px solid #ECEEF3;padding:8px;
  box-shadow:0 1px 2px rgba(11,30,110,.04);
}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0}
.woocommerce-MyAccount-navigation li{margin:0}
.woocommerce-MyAccount-navigation li a{
  display:block;padding:12px 14px;border-radius:10px;
  color:#374151;text-decoration:none;font-size:14px;font-weight:500;
}
.woocommerce-MyAccount-navigation li a:hover,
.woocommerce-MyAccount-navigation li.is-active a{background:#F0F4FF;color:var(--brand,#0B1E6E);font-weight:600}

.woocommerce-MyAccount-content{
  background:#fff;border-radius:14px;border:1px solid #ECEEF3;padding:28px;
  box-shadow:0 1px 2px rgba(11,30,110,.04);
}
.woocommerce-MyAccount-content h1,
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3{color:#0B1E6E}

/* Login/Register */
.woocommerce-form-login,
.woocommerce-form-register{
  background:#fff;border-radius:14px;border:1px solid #ECEEF3;padding:28px;
  max-width:480px;margin:24px auto;
  box-shadow:0 4px 16px rgba(11,30,110,.04);
}
.woocommerce-form-login__submit,
.woocommerce-form-register__submit{
  background:var(--brand,#0B1E6E);color:#fff;border:0;
  padding:14px 24px;border-radius:12px;font-weight:700;font-size:15px;
  cursor:pointer;width:100%;font-family:inherit;
}
.woocommerce-form-login__submit:hover,
.woocommerce-form-register__submit:hover{background:#0a1856}

/* ============================================================
   COMPLEMENTOS
   ============================================================ */
.woocommerce form .form-row.woocommerce-invalid input,
.woocommerce form .form-row.woocommerce-invalid select{border-color:#EF4444}
.woocommerce form .form-row.woocommerce-validated input{border-color:var(--accent,#22C55E)}

/* Stock badges */
.stock.in-stock{color:#15803D;font-weight:600;font-size:13px}
.stock.out-of-stock{color:#DC2626;font-weight:600;font-size:13px}

/* Sale flash */
span.onsale{
  background:var(--accent,#22C55E);color:#fff;font-weight:700;
  font-size:11px;letter-spacing:.05em;text-transform:uppercase;
  padding:4px 10px;border-radius:999px;
  position:absolute;top:12px;right:12px;z-index:2;
  min-height:auto;min-width:auto;line-height:1;
}

/* Stars */
.star-rating{color:#F59E0B;font-size:14px;letter-spacing:2px}
p.stars a{color:#F59E0B}

/* Loader (AJAX) */
.blockUI.blockOverlay{background:rgba(255,255,255,.7)!important}
.woocommerce a.added_to_cart{display:none!important}

/* ============================================================
   21. WOOCOMMERCE — overrides de especificidade (v1.1.1)
   WooCommerce default .button.alt usa cores roxas. Forçamos
   verde (PIX/CTA) e azul-marinho (brand) com seletores
   altamente específicos para vencer o CSS do plugin.
   ============================================================ */

/* Botão "Comprar agora" da página do produto — VERDE accent */
body.woocommerce.single-product .loja-buy-btn,
body.woocommerce-page .loja-buy-btn,
.woocommerce div.product form.cart .button.loja-buy-btn,
.woocommerce div.product form.cart .single_add_to_cart_button.loja-buy-btn,
.single_add_to_cart_button.loja-buy-btn{
  background:var(--accent,#22C55E)!important;
  color:#fff!important;
  border:0!important;
}
body.woocommerce.single-product .loja-buy-btn:hover,
body.woocommerce-page .loja-buy-btn:hover,
.single_add_to_cart_button.loja-buy-btn:hover{
  background:#16A34A!important;
}

/* Botão "Finalizar compra" do carrinho — VERDE accent */
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce a.checkout-button.button.alt.wc-forward,
a.checkout-button.button.alt{
  background:var(--accent,#22C55E)!important;
  color:#fff!important;
  border:0!important;
}
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
a.checkout-button.button.alt:hover{
  background:#16A34A!important;
}

/* Botão "Finalizar pedido" do checkout — VERDE accent */
.woocommerce-checkout #place_order,
.woocommerce-checkout button#place_order,
body.woocommerce-checkout #place_order{
  background:var(--accent,#22C55E)!important;
  color:#fff!important;
  border:0!important;
}
.woocommerce-checkout #place_order:hover{background:#16A34A!important}

/* Botão "Atualizar carrinho" e "Aplicar cupom" — AZUL brand */
.woocommerce button[name="update_cart"],
.woocommerce button[name="apply_coupon"],
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart button[name="apply_coupon"]{
  background:var(--brand,#0B1E6E)!important;
  color:#fff!important;
  border:0!important;
}
.woocommerce button[name="update_cart"]:hover,
.woocommerce button[name="apply_coupon"]:hover{
  background:#0a1856!important;
}

/* "Ver carrinho" do notice de adicionado ao carrinho — VERDE */
.woocommerce-message a.button.wc-forward,
.woocommerce-info a.button.wc-forward,
.woocommerce-notices-wrapper a.button.wc-forward{
  background:var(--accent,#22C55E)!important;
  color:#fff!important;
  border:0!important;
}

/* Botão "Adicionar à conta" / login / register — AZUL brand */
.woocommerce form.lost_reset_password button.button,
.woocommerce form.login button.button,
.woocommerce form.register button.button,
.woocommerce-MyAccount-content button.button,
.woocommerce-form-login button.woocommerce-button,
.woocommerce-form-register button.woocommerce-button{
  background:var(--brand,#0B1E6E)!important;
  color:#fff!important;
  border:0!important;
}

/* Genérico — qualquer botão WC.alt remanescente fica accent */
.woocommerce .button.alt,
.woocommerce input.button.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt{
  background:var(--accent,#22C55E)!important;
  color:#fff!important;
  border-color:transparent!important;
}
.woocommerce .button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover{
  background:#16A34A!important;
}

/* Coluna direita do checkout só "Seu pedido" não pode estar vazia */
.woocommerce-checkout #order_review_heading{display:block!important}

/* ========================================================================
   21. HERO — contraste corrigido (v1.4)
   ======================================================================== */
.hero{background:#0B1E6E}
.hero::after{
  background:linear-gradient(120deg, rgba(8,22,84,.96) 0%, rgba(11,30,110,.86) 50%, rgba(11,30,110,.55) 100%) !important;
}
.hero h1, .hero h1 strong{color:#fff !important;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero h1 em{color:#4FFFB0 !important;font-style:normal;text-shadow:0 0 22px rgba(79,255,176,.5)}
.hero p{color:rgba(255,255,255,.92) !important;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.hero p strong{color:#fff;background:rgba(79,255,176,.18);padding:1px 6px;border-radius:6px}
.hero-eyebrow{background:rgba(79,255,176,.22) !important;color:#9CFFD0 !important;border-color:rgba(79,255,176,.5) !important}
.hero-stat strong{color:#4FFFB0 !important;text-shadow:0 0 16px rgba(79,255,176,.45)}
.hero-stat span{color:rgba(255,255,255,.85) !important}
.hero .btn-primary{background:#4FFFB0;color:#081654;font-weight:800}
.hero .btn-primary:hover{background:#3CF0A0}
.hero .btn-ghost{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.4);color:#fff}

/* ========================================================================
   22. CARRINHO PADRÃO WC — overrides visuais (v1.4)
   ======================================================================== */
.woocommerce-cart .woocommerce{
  display:grid;grid-template-columns:1fr 360px;gap:24px;align-items:flex-start;
}
@media(max-width:960px){.woocommerce-cart .woocommerce{grid-template-columns:1fr}}
.woocommerce-cart .woocommerce-cart-form{grid-column:1;min-width:0}
.woocommerce-cart .cart-collaterals{grid-column:2;margin:0 !important;width:auto !important}
@media(max-width:960px){.woocommerce-cart .woocommerce-cart-form,.woocommerce-cart .cart-collaterals{grid-column:1}}
.woocommerce-cart table.cart{
  background:#fff;border:1px solid #ECEEF3;border-radius:18px;overflow:hidden;
  box-shadow:0 1px 2px rgba(11,30,110,.04);border-collapse:separate !important;border-spacing:0 !important;
  margin:0 0 16px;
}
.woocommerce-cart table.cart thead{background:#F8FAFC}
.woocommerce-cart table.cart thead th{
  font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:#475569;
  font-weight:700;padding:14px 18px;border-bottom:1px solid #E2E8F0;
}
.woocommerce-cart table.cart tbody tr{border-bottom:1px solid #F1F5F9}
.woocommerce-cart table.cart tbody td{padding:18px;vertical-align:middle;border-top:0 !important}
.woocommerce-cart table.cart .product-thumbnail img{
  width:72px !important;height:72px !important;object-fit:cover;border-radius:10px;background:#F1F5F9;
}
.woocommerce-cart table.cart .product-name a{color:#0F172A;font-weight:700;text-decoration:none}
.woocommerce-cart table.cart .product-name a:hover{color:#0B1E6E}
.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-subtotal{color:#15803D;font-weight:700;white-space:nowrap}
.woocommerce-cart table.cart .product-remove a.remove{
  background:transparent !important;color:#94A3B8 !important;font-size:0 !important;
  width:32px;height:32px;line-height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
}
.woocommerce-cart table.cart .product-remove a.remove::before{content:"×";font-size:20px;font-weight:400;line-height:1}
.woocommerce-cart table.cart .product-remove a.remove:hover{color:#EF4444 !important;background:#FEF2F2 !important}
.woocommerce-cart .quantity{display:inline-flex;align-items:center;background:#F8FAFC;border:1px solid #E2E8F0;border-radius:99px;padding:2px;overflow:hidden}
.woocommerce-cart .quantity input.qty{width:46px !important;border:0 !important;background:transparent !important;text-align:center;font-weight:700}
.woocommerce-cart .quantity input.qty:focus{outline:none;box-shadow:none}
.woocommerce-cart table.cart td.actions{padding:18px;background:#F8FAFC;border-top:1px solid #ECEEF3}
.woocommerce-cart td.actions .coupon{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.woocommerce-cart td.actions .coupon label{display:none}
.woocommerce-cart td.actions input.input-text{
  padding:11px 14px !important;border:1px solid #E2E8F0 !important;border-radius:10px !important;
  background:#fff !important;font-size:14px;min-width:200px;
}
.woocommerce-cart td.actions input.input-text:focus{outline:none;border-color:#0B1E6E !important;box-shadow:0 0 0 3px rgba(11,30,110,.1) !important}
.woocommerce-cart td.actions button[name="apply_coupon"],
.woocommerce-cart td.actions button[name="update_cart"]{
  background:#0B1E6E !important;color:#fff !important;border:0 !important;border-radius:10px !important;
  padding:10px 18px !important;font-weight:700 !important;font-size:13.5px !important;
}
.woocommerce-cart td.actions button[name="apply_coupon"]:hover,
.woocommerce-cart td.actions button[name="update_cart"]:hover{background:#081654 !important}
.woocommerce-cart .cart_totals{
  background:#fff;border:1px solid #ECEEF3;border-radius:18px;padding:22px;
  box-shadow:0 1px 2px rgba(11,30,110,.04);
}
.woocommerce-cart .cart_totals h2{font-size:18px;color:#0B1E6E;margin:0 0 14px;font-weight:800}
.woocommerce-cart .cart_totals table.shop_table{border:0 !important;background:transparent !important}
.woocommerce-cart .cart_totals table.shop_table tr{border:0}
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td{
  padding:8px 0 !important;border-top:1px dashed #E2E8F0 !important;background:transparent !important;font-size:14.5px;
}
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td{padding-top:14px !important;font-weight:800;font-size:16px;color:#0F172A;border-top:1px solid #CBD5E1 !important}
.woocommerce-cart .cart_totals .order-total .amount{font-size:22px !important;color:#0F172A !important}
@media(min-width:961px){.woocommerce-cart .cart-collaterals{position:sticky;top:24px}}
.woocommerce-cart .wc-proceed-to-checkout{margin-top:14px;padding:0 !important}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  display:flex !important;align-items:center;justify-content:center;
  background:#22C55E !important;color:#fff !important;
  padding:14px 22px !important;border-radius:12px !important;
  font-weight:800 !important;font-size:16px !important;text-transform:none;
  box-shadow:0 8px 22px rgba(34,197,94,.32) !important;text-decoration:none;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{background:#16A34A !important;transform:translateY(-1px)}

/* ========================================================================
   23. CHECKOUT — overrides visuais (v1.4)
   ======================================================================== */
.woocommerce-checkout form.checkout{
  display:grid;grid-template-columns:1fr 400px;gap:28px;align-items:flex-start;
}
@media(max-width:960px){.woocommerce-checkout form.checkout{grid-template-columns:1fr}}
.woocommerce-checkout form.checkout #customer_details{grid-column:1;min-width:0}
.woocommerce-checkout form.checkout h3#order_review_heading,
.woocommerce-checkout form.checkout #order_review{grid-column:2}
@media(min-width:961px){.woocommerce-checkout form.checkout #order_review{position:sticky;top:24px}}
@media(max-width:960px){
  .woocommerce-checkout form.checkout #customer_details,
  .woocommerce-checkout form.checkout h3#order_review_heading,
  .woocommerce-checkout form.checkout #order_review{grid-column:1}
}
.woocommerce-checkout #customer_details > .col-1,
.woocommerce-checkout #customer_details > .col-2,
.woocommerce-checkout #customer_details .woocommerce-billing-fields,
.woocommerce-checkout #customer_details .woocommerce-shipping-fields,
.woocommerce-checkout #customer_details .woocommerce-additional-fields{
  background:#fff;border:1px solid #ECEEF3;border-radius:18px;padding:24px;
  box-shadow:0 1px 2px rgba(11,30,110,.04);width:100% !important;float:none !important;margin:0 0 18px;
}
.woocommerce-checkout #order_review_heading{font-size:17px;color:#0B1E6E;margin:0 0 12px}
.woocommerce-checkout #order_review{
  background:#fff;border:1px solid #ECEEF3;border-radius:18px;padding:22px;
  box-shadow:0 1px 2px rgba(11,30,110,.04);
}
.woocommerce-checkout #order_review table.shop_table{border:0 !important;width:100%}
.woocommerce-checkout #order_review table.shop_table tr{border:0}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td{
  padding:8px 0 !important;border-top:1px dashed #E2E8F0 !important;background:transparent !important;font-size:14px;
}
.woocommerce-checkout #order_review table.shop_table .order-total th,
.woocommerce-checkout #order_review table.shop_table .order-total td{padding-top:14px !important;border-top:1px solid #CBD5E1 !important;font-weight:800}
.woocommerce-checkout #order_review table.shop_table .order-total .amount{font-size:20px !important;color:#0F172A !important}
.woocommerce-checkout .form-row{margin:0 0 14px}
.woocommerce-checkout .form-row label{font-size:13px;font-weight:600;color:#1F2937;display:block;margin-bottom:6px}
.woocommerce-checkout .form-row .required{color:#EF4444;text-decoration:none;margin-left:2px}
.woocommerce-checkout .form-row input[type=text],
.woocommerce-checkout .form-row input[type=email],
.woocommerce-checkout .form-row input[type=tel],
.woocommerce-checkout .form-row input[type=number],
.woocommerce-checkout .form-row input[type=password],
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea{
  width:100% !important;padding:11px 14px !important;border:1px solid #E2E8F0 !important;
  border-radius:10px !important;background:#fff !important;font-size:14.5px !important;
  font-family:inherit !important;color:#0F172A !important;height:auto !important;
}
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus{
  outline:none !important;border-color:#0B1E6E !important;box-shadow:0 0 0 3px rgba(11,30,110,.08) !important;
}
.woocommerce-checkout #payment{background:transparent !important;border:0 !important;padding:0 !important;margin:14px 0 0}
.woocommerce-checkout #payment ul.payment_methods{padding:0 !important;border:0 !important;margin:0 0 14px;list-style:none}
.woocommerce-checkout #payment ul.payment_methods li{
  background:#F8FAFC;border:1px solid #E2E8F0;border-radius:12px;padding:12px 14px;margin:0 0 8px;
}
.woocommerce-checkout #payment ul.payment_methods li input[type=radio]{margin-right:8px}
.woocommerce-checkout #payment ul.payment_methods li label{font-weight:600;color:#0F172A;cursor:pointer}
.woocommerce-checkout #payment ul.payment_methods .payment_box{background:#fff !important;border:1px solid #ECEEF3 !important;border-radius:10px !important;padding:12px !important;margin-top:8px;font-size:13px;color:#475569}
.woocommerce-checkout #place_order{
  display:flex !important;align-items:center;justify-content:center;width:100%;
  background:#22C55E !important;color:#fff !important;
  padding:15px 22px !important;border-radius:12px !important;font-size:16px !important;font-weight:800 !important;
  box-shadow:0 8px 22px rgba(34,197,94,.32) !important;text-transform:none;border:0 !important;
}
.woocommerce-checkout #place_order:hover{background:#16A34A !important}

/* ========================================================================
   24. SHOP/ARCHIVE — grid garantido (v1.4)
   ======================================================================== */
ul.products{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:20px;list-style:none;padding:0;margin:0;
}
@media(max-width:1100px){ul.products{grid-template-columns:repeat(3,minmax(0,1fr)) !important}}
@media(max-width:768px){ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
@media(max-width:480px){ul.products{grid-template-columns:1fr !important}}
ul.products li.product{width:auto !important;float:none !important;margin:0 !important;clear:none !important}

/* ========================================================================
   25. PATCHES v1.5 — corrige bugs visíveis das seções 22 e 23
   ======================================================================== */

/* Bug 1 — .cart-collaterals tinha grid 1fr 1fr legado da seção 20 do tema v1.1.1.
   Quando colocávamos ele na coluna 2 (360px) do grid pai, o conteúdo era dividido em
   2 sub-colunas de ~170px cada, comprimindo "Totais do carrinho" e "Finalizar compra". */
.woocommerce-cart .cart-collaterals{
  display:block !important;
  grid-template-columns:none !important;
  margin-top:0 !important;
}
.woocommerce-cart .cart-collaterals > .cart_totals{width:100% !important;float:none !important}

/* Bug 2 — grid-column: 1 / 2 nos filhos do form de checkout não pegavam por
   especificidade insuficiente. Forçando com !important + align-items:start. */
.woocommerce-checkout form.checkout{align-items:start !important}
.woocommerce-checkout form.checkout > #customer_details{grid-column:1 !important}
.woocommerce-checkout form.checkout > h3#order_review_heading{grid-column:2 !important;align-self:start}
.woocommerce-checkout form.checkout > #order_review{grid-column:2 !important;align-self:start}
@media(max-width:960px){
  .woocommerce-checkout form.checkout > #customer_details,
  .woocommerce-checkout form.checkout > h3#order_review_heading,
  .woocommerce-checkout form.checkout > #order_review{grid-column:1 !important}
}

/* ========================================================================
   26. PATCHES v1.6 — força bruta para checkout vazio e minha conta comprimida
   ======================================================================== */

/* Bug A — checkout: regra anterior não pegava no auto-flow.
   Solução: explicita grid-row TAMBÉM, e usa especificidade html body */
html body.woocommerce-checkout form.checkout{
  display:grid !important;
  grid-template-columns:1fr 400px !important;
  grid-template-rows:auto auto !important;
  align-items:start !important;
  gap:28px !important;
}
html body.woocommerce-checkout form.checkout > #customer_details{
  grid-column:1 / 2 !important;
  grid-row:1 / 3 !important;
}
html body.woocommerce-checkout form.checkout > h3#order_review_heading{
  grid-column:2 / 3 !important;
  grid-row:1 / 2 !important;
}
html body.woocommerce-checkout form.checkout > #order_review{
  grid-column:2 / 3 !important;
  grid-row:2 / 3 !important;
}
/* Inputs hidden do Mercado Pago não devem ocupar células do grid */
html body.woocommerce-checkout form.checkout > input[type="hidden"]{
  display:none !important;
}
@media(max-width:960px){
  html body.woocommerce-checkout form.checkout{
    grid-template-columns:1fr !important;
    grid-template-rows:auto !important;
  }
  html body.woocommerce-checkout form.checkout > #customer_details,
  html body.woocommerce-checkout form.checkout > h3#order_review_heading,
  html body.woocommerce-checkout form.checkout > #order_review{
    grid-column:1 / -1 !important;
    grid-row:auto !important;
  }
}

/* Bug B — minha conta: float:right; width:68% do woocommerce-layout.css
   estava colidindo com o grid do tema. Reset definitivo. */
html body.woocommerce-account .woocommerce{
  display:grid !important;
  grid-template-columns:240px 1fr !important;
  gap:24px !important;
}
html body.woocommerce-account .woocommerce-MyAccount-navigation{
  float:none !important;
  width:auto !important;
  grid-column:1 / 2 !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content{
  float:none !important;
  width:auto !important;
  max-width:none !important;
  grid-column:2 / 3 !important;
}
@media(max-width:768px){
  html body.woocommerce-account .woocommerce{grid-template-columns:1fr !important}
  html body.woocommerce-account .woocommerce-MyAccount-navigation,
  html body.woocommerce-account .woocommerce-MyAccount-content{grid-column:1 / -1 !important}
}

/* ========================================================================
   27. PATCHES v1.7 — vencer especificidade do woocommerce-layout.css
   ======================================================================== */

/* Bug — woocommerce-layout.css força float:left + width:22.05% nos cards.
   Minha regra anterior (ul.products li.product) perdia por especificidade.
   Solução: prefixo .woocommerce + maior força. */
html body .woocommerce ul.products,
html body .woocommerce-page ul.products,
html body ul.products{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:20px !important;
  list-style:none !important;
  padding:0 !important;
  margin:0 !important;
}
html body .woocommerce ul.products::before,
html body .woocommerce ul.products::after,
html body .woocommerce-page ul.products::before,
html body .woocommerce-page ul.products::after{
  content:none !important;
  display:none !important;
}
html body .woocommerce ul.products li.product,
html body .woocommerce-page ul.products li.product,
html body ul.products li.product{
  float:none !important;
  clear:none !important;
  width:auto !important;
  margin:0 !important;
  max-width:none !important;
}
html body .woocommerce ul.products li.first,
html body .woocommerce-page ul.products li.first,
html body .woocommerce ul.products li.last,
html body .woocommerce-page ul.products li.last{
  clear:none !important;
  margin-right:0 !important;
}
@media(max-width:1100px){
  html body .woocommerce ul.products,
  html body .woocommerce-page ul.products,
  html body ul.products{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}
@media(max-width:768px){
  html body .woocommerce ul.products,
  html body .woocommerce-page ul.products,
  html body ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:480px){
  html body .woocommerce ul.products,
  html body .woocommerce-page ul.products,
  html body ul.products{grid-template-columns:1fr !important}
}
