/* =========================================
   BRAZIKA — Copa 2026 LP
   Clone of brazika.com.br visual language
   ========================================= */

/* Tokens */
:root{
  /* Brand palette (oficial) */
  --brand-green: #0E8A3E;
  --brand-yellow: #F5C518;
  --brand-blue: #1A3DAD;
  --brand-coral: #E84A3B;
  --bone: #FAF7EE;
  --ink: #0E0E0E;

  /* Legacy aliases — point to new palette */
  --green: var(--brand-green);
  --green-dark: #0A6E31;
  --green-deep: #07551F;
  --yellow: var(--brand-yellow);
  --yellow-soft: #FBE38B;
  --blue: var(--brand-blue);
  --red: var(--brand-coral);

  --text: #1A1A1A;
  --muted: #6B6B6B;
  --line: #E6E6E6;
  --bg: #FFFFFF;
  --bg-soft: #F6F6F6;

  --radius: 8px;
  --radius-pill: 9999px;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.06);
  --shadow-md: 0 4px 16px rgba(0,0,0,.08);
  --max: 1200px;
  --pad: 24px;

  /* Typography — Antonio (condensed) for displays in italic+uppercase; Inter for body */
  --font-display: 'Antonio', 'Oswald', 'Bebas Neue', 'Right Grotesk', system-ui, sans-serif;
  --font-body: 'Inter', 'Geist', system-ui, -apple-system, sans-serif;

  /* Motion */
  --ease-out: cubic-bezier(.25,1,.5,1);
  --dur: 240ms;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family: var(--font-body);
  color: var(--text);
  background: #fff;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
/* Antonio is condensed — italic + uppercase + tighter tracking gives the chris-lamm display feel.
   Body retains Inter. Anything that wants the "headline" look should inherit from h1-h5
   or use .lp-h1/.lp-h2/.lp-final-h/.lp-z-title (also styled below). */
h1,h2,h3,h4,h5{
  font-family: var(--font-display);
  font-weight: 700;
  font-style: italic;
  text-transform: uppercase;
  letter-spacing: .005em; /* Antonio is narrow; -.015em was for Bricolage */
  line-height: 1.02;
}
/* Buttons / CTAs / eyebrows that already use the display font want the same italic uppercase. */
.lp-btn, .lp-eyebrow, .lp-z-title, .lp-h1, .lp-h2, .lp-final-h,
.lp-kit-text .lp-h2, .lp-step-n, .lp-steps h4, .lp-footer-wordmark,
.lp-cd-clock, .lp-watermark{
  font-family: var(--font-display);
  font-style: italic;
  text-transform: uppercase;
  letter-spacing: .005em;
}
/* Body copy & form controls keep Inter, normal style. */
.lp-lead, .lp-hero-sub, .lp-z-pitch, p:not(.lp-eyebrow), label, input, textarea, select{
  font-family: var(--font-body);
  font-style: normal;
  text-transform: none;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
ul{list-style:none}

.container{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}

/* ===== Promo bar ===== */
.promo-bar{
  background: var(--green);
  color: #fff;
  text-align: center;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 16px;
  letter-spacing: .01em;
}

/* ===== Header ===== */
.site-header{
  background:#fff;
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  z-index: 50;
}
.header-inner{
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
  gap: 16px;
  padding: 14px var(--pad);
  max-width: var(--max);
  margin: 0 auto;
  min-height: 92px;
}
.nav-left{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.nav-left a{
  font-size: 14px;
  color: #1a1a1a;
  font-weight: 500;
  padding: 6px 2px;
}
.nav-left a.active{
  background: var(--green);
  color:#fff;
  padding: 6px 14px;
  border-radius: 6px;
}
.nav-left a:hover{color: var(--green)}
.nav-left a.active:hover{color:#fff;background:var(--green-dark)}

.brand-logo{display:flex;justify-content:center;align-items:center}
.brand-logo img{height: 56px; width: auto; max-width: 220px; object-fit: contain}
.brand-logo .wordmark{
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 36px;
  color: var(--green);
  letter-spacing: .02em;
  text-shadow: 2px 2px 0 #000, -1px -1px 0 var(--yellow);
}

.nav-right{display:flex;align-items:center;justify-content:flex-end;gap: 18px}
.icon-btn{
  width: 36px; height: 36px;
  display: inline-flex; align-items:center; justify-content:center;
  border-radius: 50%;
  color:#1a1a1a;
}
.icon-btn:hover{background:#f1f1f1}
.icon-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2}
.mobile-menu-btn{display:none}

/* ===== Hero ===== */
.hero{
  background: var(--green);
  color:#fff;
  padding: 70px var(--pad) 80px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.hero::before{
  content:"";
  position:absolute;
  top: 64px; right: 36px;
  width: 38px; height: 38px;
  background: var(--yellow);
  border-radius: 50%;
}
.hero-eyebrow{
  color: var(--yellow);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .25em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.hero-divider{
  display:inline-flex;
  height: 4px;
  width: 88px;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 28px;
}
.hero-divider span{flex:1}
.hero-divider span:nth-child(1){background:#3FA567}
.hero-divider span:nth-child(2){background:var(--yellow)}
.hero-divider span:nth-child(3){background:#7FB4FF}

.hero h1{
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(40px, 7vw, 88px);
  line-height: 1.02;
  letter-spacing: -.02em;
  color: #FBF6E7;
  max-width: 980px;
  margin: 0 auto 30px;
}
.hero h1 .accent{color: var(--yellow)}

.hero-sub{
  font-size: 16px;
  color: rgba(255,255,255,.92);
  max-width: 540px;
  margin: 0 auto 28px;
}

.btn-primary{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  background: var(--yellow);
  color: #0E0E0E;
  font-weight: 700;
  padding: 16px 30px;
  border-radius: var(--radius-pill);
  font-size: 15px;
  transition: transform .15s ease, background .15s ease;
}
.btn-primary:hover{background: #FFDB33; transform: translateY(-1px)}
.btn-primary svg{width:18px;height:18px}

/* Countdowns inside hero */
.hero-countdowns{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  max-width: 680px;
  margin: 40px auto 0;
}
.countdown-card{
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 12px;
  padding: 16px 14px;
  text-align: center;
}
.countdown-card h4{
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .15em;
  color: var(--yellow);
  margin-bottom: 4px;
}
.countdown-card .cd-date{
  font-size: 12px;
  color: rgba(255,255,255,.75);
  margin-bottom: 10px;
}
.countdown-card .cd-clock{
  display:flex;
  justify-content:center;
  gap: 8px;
  font-family: var(--font-display);
  font-weight: 800;
}
.cd-clock .unit{
  background: rgba(0,0,0,.2);
  border-radius: 6px;
  padding: 6px 8px;
  min-width: 48px;
}
.cd-clock .num{display:block;font-size:18px;line-height:1}
.cd-clock .lbl{font-size:9px;font-weight:500;opacity:.7;margin-top:3px;letter-spacing:.1em}

/* ===== Trust strip ===== */
.trust-strip{
  background: #fff;
  border-bottom: 1px solid var(--line);
  padding: 28px var(--pad);
}
.trust-grid{
  max-width: var(--max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.trust-item{display:flex;align-items:center;gap: 12px}
.trust-item .ti-icon{
  width: 44px; height: 44px;
  flex-shrink: 0;
  border-radius: 50%;
  background: #EAF6EE;
  color: var(--green);
  display:flex;align-items:center;justify-content:center;
}
.trust-item .ti-icon svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2}
.trust-item h4{font-size: 14px; font-weight: 700; color: #1a1a1a}
.trust-item p{font-size: 12px; color: var(--muted)}

/* ===== Section heading ===== */
.section{padding: 64px var(--pad)}
.section-head{text-align:center; margin-bottom: 36px}
.section-head .eyebrow{
  color: var(--green);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .25em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.section-head h2{
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(28px, 4vw, 42px);
  letter-spacing: -.015em;
  color: #1a1a1a;
}
.section-head h2 .accent{color: var(--green)}
.section-head p{
  color: var(--muted);
  font-size: 15px;
  max-width: 580px;
  margin: 12px auto 0;
}

/* ===== Product grid ===== */
.product-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  max-width: var(--max);
  margin: 0 auto;
}
.product-card{
  background: #fff;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
}
.product-media{
  position: relative;
  background: #f4f4f4;
  border-radius: 6px;
  overflow: hidden;
  aspect-ratio: 4/5;
}
.product-media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.product-card:hover .product-media img{transform: scale(1.03)}
.discount-badge{
  position: absolute;
  top: 10px; left: 10px;
  background: var(--green);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 4px;
  letter-spacing: .02em;
}
.product-info{padding: 14px 4px 4px; text-align: center}
.product-info h3{
  font-size: 14px;
  font-weight: 500;
  color: #1a1a1a;
  margin-bottom: 6px;
  line-height: 1.35;
}
.product-rating{
  display:inline-flex;
  align-items:center;
  gap: 6px;
  margin-bottom: 8px;
}
.product-rating .stars{color: var(--yellow); font-size: 13px; letter-spacing: 1px}
.product-rating .count{font-size: 12px; color: var(--muted)}
.product-price{
  display:flex;
  justify-content:center;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 12px;
}
.product-price .now{color: var(--green); font-size: 15px; font-weight: 700}
.product-price .now small{font-weight:500;font-size:11px;opacity:.85}
.product-price .was{color: var(--muted); font-size: 13px; text-decoration: line-through}
.product-card .btn-cart{
  display:block;
  width: 100%;
  background: var(--green);
  color:#fff;
  text-align:center;
  padding: 12px 14px;
  border-radius: 6px;
  font-weight: 700;
  font-size: 14px;
  margin-top: auto;
  transition: background .15s ease;
}
.product-card .btn-cart:hover{background: var(--green-dark)}
.product-installment{font-size: 11px; color: var(--muted); margin-bottom: 10px}

/* Payment inline icons (card / pix) */
.payment-icon{
  display:inline-flex;
  vertical-align:-3px;
  margin-right:5px;
  line-height:0;
}
.payment-icon svg{ width:16px; height:16px; display:block; }
.payment-icon--card svg{ width:20px; height:auto; }
.payment-icon--pix svg{ fill: #32BCAD; }
.lp-z-price .payment-icon svg{ width:18px; height:18px; }
.pdp-installment .payment-icon{ vertical-align:-4px; }
.pdp-pix-line{
  display:flex; align-items:center; gap:6px;
  font-size:13px; color:var(--muted); margin:-4px 0 10px;
}
.pdp-pix-line b{ color:#0a8f7f; font-weight:700; }

/* ===== Yellow Kit Casal banner ===== */
.kit-banner{
  background: linear-gradient(180deg, var(--yellow) 0%, #FFCB00 100%);
  padding: 60px var(--pad);
  text-align: center;
  margin: 0;
}
.kit-banner h2{
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(28px, 4.5vw, 48px);
  color: #0E0E0E;
  line-height: 1.05;
  margin-bottom: 14px;
  letter-spacing: -.02em;
}
.kit-banner p{
  color: #1a1a1a;
  font-size: 15px;
  max-width: 520px;
  margin: 0 auto 22px;
}
.kit-banner .btn-primary{background: #0E0E0E; color: #fff}
.kit-banner .btn-primary:hover{background: #1a1a1a}
.kit-banner-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  align-items: center;
  max-width: var(--max);
  margin: 0 auto;
  text-align: left;
}
.kit-banner-grid .kit-img img{
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(0,0,0,.15);
}
.kit-banner-grid h2{text-align: left}
.kit-banner-grid p{margin: 0 0 22px; text-align: left}
.kit-banner-grid .text-side{padding: 10px}

/* ===== Namorados section ===== */
.namorados{
  background: #FFF8F2;
  padding: 70px var(--pad);
}
.namorados-inner{
  max-width: var(--max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 48px;
  align-items: center;
}
.namorados-text .eyebrow{
  color: #C0392B;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .25em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.namorados-text h2{
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.08;
  letter-spacing: -.02em;
  margin-bottom: 16px;
  color: #1a1a1a;
}
.namorados-text p{color: #4a4a4a; font-size: 16px; margin-bottom: 14px}
.namorados-text .deadline{
  background: #fff;
  border: 1px dashed #C0392B;
  color: #1a1a1a;
  font-size: 14px;
  font-weight: 600;
  padding: 12px 18px;
  border-radius: 8px;
  display: inline-block;
  margin: 6px 0 22px;
}
.namorados-img img{border-radius: 12px; box-shadow: 0 18px 40px rgba(0,0,0,.12)}

/* ===== Edition / countdown block ===== */
.edition{
  background: var(--green);
  color:#fff;
  padding: 60px var(--pad);
  text-align: center;
}
.edition .eyebrow{
  color: var(--yellow);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .25em;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.edition h2{
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(28px,4vw,42px);
  margin-bottom: 14px;
}
.edition p{color: rgba(255,255,255,.85); max-width: 580px; margin: 0 auto 28px}
.edition-countdown{display:flex; justify-content:center; gap: 10px; flex-wrap:wrap}
.edition-countdown .unit{
  background: rgba(0,0,0,.25);
  border-radius: 8px;
  padding: 14px 16px;
  min-width: 76px;
}
.edition-countdown .num{
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 32px;
  display: block;
  line-height: 1;
}
.edition-countdown .lbl{
  font-size: 10px;
  letter-spacing: .15em;
  text-transform: uppercase;
  opacity: .75;
  margin-top: 6px;
}

/* ===== Reviews ===== */
.reviews{background: #fff; padding: 64px var(--pad)}
.reviews-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  max-width: var(--max);
  margin: 0 auto;
}
.review-card{
  background: #fafafa;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 20px 18px;
  display:flex;
  flex-direction:column;
  gap: 10px;
}
.review-card .stars{color: var(--yellow); font-size: 14px; letter-spacing:1px}
.review-card p{font-size: 14px; color: #1a1a1a; line-height: 1.55; flex: 1}
.review-card footer{
  display:flex;align-items:center;gap:10px;
  border-top: 1px solid var(--line);
  padding-top: 10px;
  font-size: 13px;
}
.review-card .avatar{
  width: 32px; height: 32px;
  background: var(--green);
  color: #fff;
  font-weight: 700;
  border-radius: 50%;
  display:inline-flex;align-items:center;justify-content:center;
  font-size: 13px;
}
.review-card b{font-weight:600}
.review-card .loc{color: var(--muted); font-size: 12px}

/* ===== FAQ ===== */
.faq{background: #fff; padding: 64px var(--pad)}
.faq-list{max-width: 760px; margin: 0 auto}
.faq-item{border-bottom: 1px solid var(--line)}
.faq-item summary{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding: 18px 4px;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  list-style: none;
  gap: 16px;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary .icon{
  width: 16px; height: 16px;
  flex-shrink: 0;
  position: relative;
}
.faq-item summary .icon::before,
.faq-item summary .icon::after{
  content:""; position:absolute; background: #1a1a1a; transition: transform .2s ease;
}
.faq-item summary .icon::before{top: 7px; left: 0; width: 16px; height: 2px}
.faq-item summary .icon::after{top: 0; left: 7px; width: 2px; height: 16px}
.faq-item[open] summary .icon::after{transform: rotate(90deg)}
.faq-item .answer{padding: 0 4px 18px; color: #4a4a4a; font-size: 14px; line-height: 1.6}

/* ===== Security strip ===== */
.security-strip{
  background: #F1F4F1;
  text-align:center;
  padding: 14px var(--pad);
  font-size: 13px;
  color: #2a2a2a;
}
.security-strip b{color: var(--green); font-weight: 700}

/* ===== Footer ===== */
.site-footer{background: var(--green); color: #fff; padding: 50px var(--pad) 30px}
.footer-inner{
  max-width: var(--max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 36px;
}
.footer-brand .footer-wordmark{
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 32px;
  color: #fff;
  text-shadow: 2px 2px 0 #000;
}
.footer-brand p{
  font-size: 13px;
  color: rgba(255,255,255,.8);
  margin-top: 14px;
  max-width: 320px;
}
.footer-col h5{
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .15em;
  margin-bottom: 16px;
  color: var(--yellow);
}
.footer-col ul li{margin-bottom: 8px}
.footer-col a{font-size: 14px; color: rgba(255,255,255,.92)}
.footer-col a:hover{color: var(--yellow)}

.footer-payments{
  border-top: 1px solid rgba(255,255,255,.18);
  margin-top: 36px;
  padding-top: 24px;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap: 20px;
  max-width: var(--max);
  margin-left:auto;margin-right:auto;
}
.pay-icons{display:flex; flex-wrap:wrap; gap: 6px; align-items:center}
.pay-icons .pay{
  background: #fff;
  border-radius: 4px;
  height: 26px;
  width: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  font-weight: 800;
  color: #1a1a1a;
  letter-spacing: .02em;
}
.footer-copyright{font-size: 12px; color: rgba(255,255,255,.78)}
.footer-copyright a{color: var(--yellow); text-decoration: underline}

/* ===== WhatsApp floating — REMOVED, footer has "fala com a gente" ===== */
.wpp-float, .wa-float{ display: none !important; }

/* Payment icons (SVG row) */
.pay-icons-svg{
  display:flex; flex-wrap:wrap; gap: 8px; align-items:center;
}
.pay-icons-svg .pay-svg{
  background: #fff;
  border-radius: 5px;
  height: 28px;
  min-width: 44px;
  padding: 4px 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.pay-icons-svg .pay-svg svg{height: 18px; width: auto; display:block}

/* Social icons */
.social-icons{display:flex; gap: 14px; align-items:center; margin-top: 14px}
.social-icons a{
  width: 36px; height: 36px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.12);
  color: #FBF6E7;
  transition: background .15s ease, transform .15s ease;
}
.social-icons a:hover{background: var(--yellow); color: #0E0E0E; transform: translateY(-2px)}
.social-icons svg{width: 18px; height: 18px; fill: currentColor}

/* Cart badge on icon */
.icon-btn{position:relative}
.cart-badge{
  position:absolute;
  top:-2px; right:-4px;
  min-width:18px; height:18px;
  background: var(--red);
  color:#fff;
  border-radius:9px;
  font-size:11px;
  font-weight:700;
  display:inline-flex;align-items:center;justify-content:center;
  padding: 0 5px;
}

/* ============ Generic page (fale, rastrear, conta, carrinho, PDP) ============ */
.page-hero{
  background: var(--green);
  color: #fff;
  padding: 56px var(--pad) 48px;
  text-align: center;
}
.page-hero h1{
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(28px, 5vw, 48px);
  letter-spacing: -.02em;
  margin-bottom: 10px;
  color: #FBF6E7;
}
.page-hero p{
  max-width: 580px; margin: 0 auto;
  color: rgba(255,255,255,.92); font-size: 15px;
}

.page-wrap{
  max-width: 760px;
  margin: 0 auto;
  padding: 40px var(--pad) 80px;
}
.page-wrap.wide{ max-width: 1100px }

/* ============ Forms ============ */
.form-card{
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 26px;
  box-shadow: var(--shadow-sm);
}
.form-row{margin-bottom: 14px}
.form-row label{
  display:block;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 6px;
  color: #1a1a1a;
}
.form-row input,
.form-row select,
.form-row textarea{
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  font: inherit;
  background: #fff;
  color: #1a1a1a;
  min-height: 44px;
}
.form-row textarea{min-height: 110px; resize: vertical}
.form-row input:focus, .form-row select:focus, .form-row textarea:focus{
  outline: 2px solid var(--green); outline-offset: -1px; border-color: var(--green);
}
.form-grid{display:grid; gap: 12px; grid-template-columns: 1fr 1fr}
@media (max-width: 640px){ .form-grid{grid-template-columns: 1fr} }

.btn-block{
  display:block; width:100%;
  background: var(--green);
  color:#fff;
  text-align:center;
  font-weight: 700;
  font-size: 15px;
  padding: 14px 18px;
  border-radius: 999px;
  min-height: 48px;
  transition: background .15s ease, transform .15s ease;
}
.btn-block:hover{background: var(--green-dark); transform: translateY(-1px)}

.btn-ghost{
  display:inline-block;
  background: transparent;
  color: var(--green);
  border: 2px solid var(--green);
  font-weight: 700;
  padding: 10px 18px;
  border-radius: 999px;
  font-size: 14px;
  min-height: 44px;
}
.btn-ghost:hover{background: var(--green); color: #fff}

/* Toast */
.toast{
  position: fixed;
  left: 50%; bottom: 30px;
  transform: translateX(-50%) translateY(20px);
  background: #1a1a1a;
  color: #fff;
  padding: 14px 22px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
  z-index: 200;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}
.toast.show{opacity: 1; transform: translateX(-50%) translateY(0)}

/* ============ Rastrear specifics ============ */
.steps{
  display:grid; gap: 16px;
  grid-template-columns: repeat(3, 1fr);
  margin: 30px 0;
}
@media (max-width: 640px){ .steps{grid-template-columns: 1fr} }
.step{
  background: #fafafa;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 18px;
  text-align: center;
}
.step .n{
  display:inline-flex; width: 36px; height: 36px;
  background: var(--green); color: #fff; border-radius: 50%;
  align-items: center; justify-content: center;
  font-family: var(--font-display); font-weight: 900;
  margin-bottom: 10px;
}
.step h4{font-size: 14px; font-weight: 700; margin-bottom: 6px}
.step p{font-size: 13px; color: var(--muted); line-height: 1.5}

/* ============ Conta (account) ============ */
.tabs{
  display:flex; gap: 6px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 26px;
  overflow-x: auto;
}
.tabs button{
  padding: 12px 16px;
  font-weight: 600;
  font-size: 14px;
  color: var(--muted);
  border-bottom: 3px solid transparent;
  white-space: nowrap;
  min-height: 44px;
}
.tabs button.active{color: var(--green); border-bottom-color: var(--green)}
.tab-panel{display:none}
.tab-panel.active{display:block}

.empty-state{
  text-align:center; padding: 40px 20px;
  color: var(--muted);
}
.empty-state .big{font-size: 16px; margin-bottom: 14px; color: #1a1a1a}

.order-card{
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 18px;
  margin-bottom: 14px;
}
.order-card header{
  display:flex; justify-content:space-between; align-items: flex-start;
  font-size: 13px; color: var(--muted); margin-bottom: 8px;
  border: 0; padding: 0;
}
.order-card h4{font-size: 15px; color:#1a1a1a; margin-bottom: 6px}
.order-card .status{
  display:inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  background: #EAF6EE;
  color: var(--green-deep);
  text-transform: uppercase;
}

/* ============ Carrinho ============ */
.cart-grid{
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 30px;
  align-items: start;
}
@media (max-width: 768px){ .cart-grid{grid-template-columns: 1fr} }

.cart-item{
  display:grid;
  grid-template-columns: 90px 1fr auto;
  gap: 14px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
  align-items: center;
}
.cart-item img{
  width: 90px; height: 110px;
  object-fit: cover;
  border-radius: 8px;
  background: #f4f4f4;
}
.cart-item .meta h4{font-size: 14px; font-weight: 600; margin-bottom: 4px; color:#1a1a1a}
.cart-item .meta .opts{font-size: 12px; color: var(--muted); margin-bottom: 8px}
.cart-item .qty{display:flex; align-items:center; gap: 6px}
.cart-item .qty button{
  width:32px; height:32px;
  border: 1px solid var(--line);
  border-radius: 6px;
  font-size: 16px; font-weight: 700;
  background: #fff;
}
.cart-item .qty span{min-width: 24px; text-align:center; font-weight: 600}
.cart-item .price-col{text-align:right}
.cart-item .price-col .price{font-weight: 700; color: var(--green); font-size: 14px}
.cart-item .price-col .remove{
  display:block; margin-top: 8px; font-size: 12px;
  color: var(--muted); text-decoration: underline;
}
.cart-item .price-col .remove:hover{color: var(--red)}

.cart-summary{
  background: #fafafa;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 22px;
  position: sticky;
  top: 110px;
}
.cart-summary h3{
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 18px;
  margin-bottom: 16px;
}
.cart-summary .line{display:flex; justify-content:space-between; padding: 8px 0; font-size: 14px}
.cart-summary .line.total{border-top: 1px solid var(--line); padding-top: 14px; margin-top: 8px; font-size: 18px; font-weight: 700; color: var(--green)}
.cart-summary .coupon{display:flex; gap: 8px; margin: 14px 0}
.cart-summary .coupon input{flex: 1; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px}
.cart-summary .coupon button{
  background: #1a1a1a; color: #fff; border-radius: 8px; padding: 0 16px; font-weight: 700; font-size: 13px;
  min-height: 44px; border: none; cursor: pointer;
}
.cart-summary .coupon input{ min-height: 44px; text-transform: uppercase; letter-spacing: .04em; }
.cart-summary .coupon input::placeholder{ text-transform: none; letter-spacing: 0; }
.cart-summary .coupon-msg{ font-size: 12px; margin: -6px 0 10px; min-height: 16px; }
.cart-summary .coupon-msg.ok{ color: var(--green); }
.cart-summary .coupon-msg.err{ color: var(--red, #b91c1c); }
.cart-summary .line.discount span:last-child{ color: var(--green); font-weight: 700; }
.cart-summary .coupon-hints{ font-size: 11px; color: var(--muted); margin: -4px 0 10px; letter-spacing: .02em; }
.cart-summary .coupon-hints b{ color: var(--green); font-weight: 700; }

/* ============ PDP ============ */
.breadcrumb{
  font-size: 12px; color: var(--muted);
  padding: 14px var(--pad);
  max-width: var(--max); margin: 0 auto;
}
.breadcrumb a{color: var(--muted)}
.breadcrumb a:hover{color: var(--green)}

.pdp-grid{
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 40px;
  max-width: var(--max);
  margin: 0 auto;
  padding: 20px var(--pad) 40px;
}
@media (max-width: 880px){ .pdp-grid{grid-template-columns: 1fr; gap: 24px} }

.pdp-gallery .main{
  background: #f4f4f4;
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 4/5;
  margin-bottom: 10px;
}
.pdp-gallery .main img{width:100%; height:100%; object-fit: cover}
.pdp-thumbs{
  display:grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px;
}
.pdp-thumbs button{
  aspect-ratio: 1;
  border: 2px solid transparent;
  border-radius: 6px;
  overflow: hidden;
  padding: 0;
  background: #f4f4f4;
}
.pdp-thumbs button.active{border-color: var(--green)}
.pdp-thumbs img{width:100%; height:100%; object-fit: cover}

.pdp-info h1{
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(22px, 3vw, 32px);
  letter-spacing: -.02em;
  line-height: 1.1;
  margin-bottom: 10px;
}
.pdp-rating{display:flex; align-items: center; gap: 8px; margin-bottom: 14px}
.pdp-rating .stars{color: var(--yellow); letter-spacing: 1px}
.pdp-rating .count{font-size: 13px; color: var(--muted)}
.pdp-price{display:flex; align-items: baseline; gap: 12px; margin-bottom: 4px}
.pdp-price .now{color: var(--green); font-size: 26px; font-weight: 800}
.pdp-price .was{color: var(--muted); font-size: 16px; text-decoration: line-through}
.pdp-installment{font-size: 13px; color: var(--muted); margin-bottom: 18px}
.pdp-installment b{color: var(--green)}

.pdp-options h5{font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: #1a1a1a; margin-bottom: 8px}
.size-options{display:flex; gap: 8px; flex-wrap: wrap; margin-bottom: 18px}
.size-options button{
  min-width: 48px; min-height: 44px;
  border: 1.5px solid var(--line);
  border-radius: 6px;
  background: #fff;
  font-weight: 600;
  font-size: 14px;
  padding: 0 14px;
}
.size-options button.active{border-color: var(--green); background: var(--green); color: #fff}
.size-options button:hover:not(.active){border-color: var(--green)}

.pdp-cta{display:flex; flex-direction: column; gap: 10px; margin: 18px 0 24px}
.pdp-cta .btn-block{margin: 0}

.pdp-meta-row{
  display:grid; grid-template-columns: 1fr 1fr; gap: 8px;
  margin-bottom: 18px;
}
.pdp-meta-row .pill{
  background: #EAF6EE;
  color: var(--green-deep);
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
}

.pdp-desc-block{
  border-top: 1px solid var(--line);
  padding-top: 16px;
  margin-top: 14px;
}
.pdp-desc-block h4{font-size: 13px; font-weight: 700; margin-bottom: 6px; text-transform: uppercase; letter-spacing: .1em}
.pdp-desc-block p{font-size: 14px; color: #2a2a2a; line-height: 1.6; margin-bottom: 10px}

.pdp-reviews{max-width: var(--max); margin: 0 auto; padding: 40px var(--pad)}
.pdp-related{background: #fafafa; padding: 50px var(--pad)}

/* Footer additions */
.footer-col .footer-contact a{display:block; padding: 4px 0}


/* ===== Sticky mobile bar ===== */
.sticky-mobile{
  display: none;
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: #fff;
  border-top: 1px solid var(--line);
  padding: 10px 14px;
  z-index: 70;
  align-items: center;
  gap: 12px;
}
.sticky-mobile .sm-text{flex: 1; font-size: 12px; line-height: 1.25}
.sticky-mobile .sm-text b{color: var(--green); display:block; font-size: 13px}
.sticky-mobile .btn-cart{
  background: var(--green);
  color: #fff;
  padding: 12px 18px;
  border-radius: 6px;
  font-weight: 700;
  font-size: 13px;
}

/* ===== Policy pages ===== */
.policy-hero{
  background: var(--green);
  color: #fff;
  padding: 60px var(--pad);
  text-align: center;
}
.policy-hero h1{
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(28px, 4vw, 44px);
}
.policy-content{max-width: 760px; margin: 0 auto; padding: 50px var(--pad) 80px}
.policy-content h2{
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 22px;
  margin: 28px 0 14px;
  color: #1a1a1a;
}
.policy-content p{
  font-size: 15px;
  color: #2a2a2a;
  margin-bottom: 14px;
  line-height: 1.65;
}
.policy-content a{color: var(--green); text-decoration: underline}

/* ===== Responsive ===== */
@media (max-width: 960px){
  .trust-grid{grid-template-columns: repeat(2, 1fr)}
  .product-grid{grid-template-columns: repeat(2, 1fr); gap: 18px}
  .reviews-grid{grid-template-columns: repeat(2, 1fr)}
  .kit-banner-grid{grid-template-columns: 1fr}
  .kit-banner-grid h2, .kit-banner-grid p{text-align:center}
  .namorados-inner{grid-template-columns: 1fr; gap: 30px}
  .footer-inner{grid-template-columns: 1fr 1fr; gap: 24px}
  .footer-brand{grid-column: 1/-1}
}

@media (max-width: 640px){
  :root{--pad: 16px}
  .header-inner{
    grid-template-columns: auto 1fr auto;
    min-height: 70px;
    padding: 10px var(--pad);
  }
  .brand-logo{justify-self: center}
  .brand-logo img{height: 48px; max-width: 180px}
  .nav-left{display: none}
  .nav-left.open{
    display:flex;
    position: absolute;
    top: 100%; left:0; right:0;
    background: #fff;
    border-bottom: 1px solid var(--line);
    padding: 14px var(--pad);
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
  .nav-left.open a{padding: 10px 6px; width:100%}
  .mobile-menu-btn{display:inline-flex; width: 36px; height: 36px}
  .nav-right{gap: 8px}

  .hero{padding: 56px 16px 70px}
  .hero h1{font-size: 44px}
  .hero::before{top:30px;right:18px;width:24px;height:24px}
  .hero-countdowns{grid-template-columns: 1fr 1fr; gap: 8px}
  .cd-clock .unit{min-width: 38px; padding: 5px 4px}
  .cd-clock .num{font-size: 14px}

  .product-grid{grid-template-columns: 1fr; gap: 22px; max-width: 380px; margin: 0 auto}
  .reviews-grid{grid-template-columns: 1fr}
  .trust-grid{grid-template-columns: 1fr 1fr; gap: 16px}
  .footer-inner{grid-template-columns: 1fr}

  .section{padding: 48px 16px}
  .sticky-mobile{display:flex}
  body{padding-bottom: 70px}

  .edition-countdown .unit{min-width: 60px; padding: 10px 8px}
  .edition-countdown .num{font-size: 24px}
}

/* ===== Promo bar rotating ticker ===== */
.promo-bar{position:relative; overflow:hidden}
.promo-ticker{
  position: relative;
  height: 1.4em;
  display:flex;
  align-items:center;
  justify-content:center;
}
.promo-slide{
  position: absolute;
  inset: 0;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .3s ease, transform .3s ease;
  pointer-events: none;
  white-space: nowrap;
  padding: 0 8px;
}
.promo-slide.is-active{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
@media (max-width: 720px){
  .promo-bar{font-size: 12px}
  .promo-slide{white-space: normal; line-height: 1.25}
}

/* ===== Copa countdown strip (compact, between catalog and kit casal) ===== */
.copa-strip{
  background: var(--green-deep);
  color: #fff;
  padding: 14px var(--pad);
  border-top: 2px solid var(--yellow);
  border-bottom: 2px solid var(--yellow);
}
.copa-strip-inner{
  max-width: var(--max);
  margin: 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 14px;
  flex-wrap: wrap;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(16px, 2.2vw, 22px);
  letter-spacing: .02em;
  text-transform: lowercase;
}
.copa-strip .cs-flag{font-size: 1.2em; font-style: normal}
.copa-strip .cs-title b{color: var(--yellow); font-weight: 900}
.copa-strip .cs-sep{opacity: .5; font-style: normal}
.copa-strip .cs-clock b{color: var(--yellow); font-weight: 900; letter-spacing: .04em}
.copa-strip .cs-clock .num{display:inline-block; min-width: 1.4em; text-align: center}
@media (max-width: 640px){
  .copa-strip-inner{gap: 6px 10px; flex-direction: column}
  .copa-strip .cs-sep{display:none}
}

/* ===== Product card hover image swap ===== */
.product-media .img-main,
.product-media .img-hover{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity .3s ease, transform .35s ease;
}
.product-media .img-hover{ opacity: 0 }
@media (hover: hover){
  .product-card:hover .product-media .img-hover{ opacity: 1 }
  .product-card:hover .product-media .img-main{ opacity: 0 }
}


/* =========================================
   LP MODE — landing page exclusive styles
   ========================================= */
:root{
  --cream: #FAF7EE;
  --ink-deep: #0B0B0B;
}
body.lp{ background: var(--cream); color: var(--ink-deep); }
body.lp .copa-strip{ border-top: 1px solid rgba(0,0,0,.06); }

/* Reveal — only hide once JS marks the page as ready */
.lp.js-ready .reveal{ opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
.lp.js-ready .reveal.is-in{ opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce){
  .lp.js-ready .reveal{ opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* Header LP */
.lp-header{
  background: var(--cream);
  border-bottom: 1px solid rgba(0,0,0,.06);
  position: sticky; top: 0; z-index: 50;
}
.lp-header-inner{
  max-width: var(--max);
  margin: 0 auto;
  padding: 14px var(--pad);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
}
.lp-header-spacer{ display:block }
.lp-logo{ display: flex; justify-content: center; }
.lp-logo img{ height: 84px; width: auto; }
.lp-track{
  justify-self: end;
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: lowercase;
  color: rgba(0,0,0,.6);
  border-bottom: 1px solid rgba(0,0,0,.2);
  padding-bottom: 2px;
}
.lp-track:hover{ color: var(--ink-deep); border-color: var(--ink-deep); }

@media (max-width: 700px){
  .lp-logo img{ height: 110px; }
  .lp-track{ font-size: 11px; }
}

/* Typography */
.lp-eyebrow{
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(0,0,0,.55);
  margin-bottom: 18px;
}
.lp-eyebrow--light{ color: rgba(255,255,255,.85); }
.lp-h1, .lp-h2, .lp-final-h, .lp-z-title{
  font-family: var(--font-display);
  font-weight: 900;
  text-transform: lowercase;
  line-height: .95;
  letter-spacing: -.01em;
}
.lp-h1{ font-size: clamp(48px, 8vw, 96px); color: #fff; }
.lp-h2{ font-size: clamp(40px, 5.6vw, 76px); }
.lp-accent{ color: var(--green); }
.lp-accent-yellow{ color: var(--yellow); }
.lp-hero-content .lp-accent{ color: var(--yellow); }

/* Hero */
.lp-hero{
  position: relative;
  min-height: 92vh;
  display: flex;
  align-items: center;
  padding: 80px var(--pad) 140px;
  overflow: hidden;
  color: #fff;
}
.lp-hero-bg{ position: absolute; inset: 0; z-index: 0; }
.lp-hero-bg img{ width:100%; height:100%; object-fit: cover; object-position: center 30%; }
.lp-hero-tint{
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,.55) 60%, rgba(0,0,0,.75) 100%);
}
.lp-hero-content{
  position: relative; z-index: 2;
  max-width: var(--max);
  margin: 0 auto;
  width: 100%;
}
.lp-hero-sub{
  margin-top: 24px;
  max-width: 540px;
  font-size: clamp(15px, 1.6vw, 19px);
  color: rgba(255,255,255,.88);
  line-height: 1.5;
}
.lp-cta-row{
  margin-top: 40px;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items: center;
}
.lp-hero-countdown{
  position: absolute;
  bottom: 32px; right: 32px;
  z-index: 3;
  display: flex; flex-direction: column;
  align-items: flex-end;
  color: rgba(255,255,255,.92);
  background: rgba(0,0,0,.32);
  backdrop-filter: blur(6px);
  padding: 12px 18px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 4px;
}
.lp-cd-label{ font-size: 11px; letter-spacing: .2em; text-transform: uppercase; opacity: .75; }
.lp-cd-clock{ font-family: var(--font-display); font-weight: 700; font-size: 24px; letter-spacing: .02em; display:flex; gap:10px; margin-top: 4px; }
.lp-cd-clock b{ font-weight: 700; }
@media (max-width: 700px){
  .lp-hero{ min-height: 86vh; padding: 60px var(--pad) 120px; }
  .lp-hero-countdown{ left: 16px; right: 16px; bottom: 16px; align-items: flex-start; }
  .lp-cd-clock{ font-size: 20px; }
}

/* Buttons */
.lp-btn{
  display: inline-flex; align-items: center; gap: 10px;
  padding: 18px 28px;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  border-radius: 2px;
  transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}
.lp-btn svg{ width: 16px; height: 16px; }
.lp-btn--primary{ background: var(--green); color: #fff; box-shadow: 0 6px 0 var(--green-deep); }
.lp-btn--primary:hover{ transform: translateY(-2px); box-shadow: 0 8px 0 var(--green-deep); }
.lp-btn--ghost{ color: #fff; border: 1px solid rgba(255,255,255,.5); }
.lp-btn--ghost:hover{ background: rgba(255,255,255,.1); border-color: #fff; }
.lp-btn--ink{ color: var(--ink-deep); border-bottom: 1px solid var(--ink-deep); padding: 6px 0; border-radius:0; letter-spacing: .12em; }
.lp-btn--ink:hover{ color: var(--green); border-color: var(--green); }
.lp-btn--onDark{ background: #fff; color: var(--ink-deep); box-shadow: 0 6px 0 rgba(0,0,0,.5); }
.lp-btn--onDark:hover{ box-shadow: 0 8px 0 rgba(0,0,0,.5); transform: translateY(-2px); }
.lp-btn--yellow{ background: var(--yellow); color: var(--ink-deep); box-shadow: 0 6px 0 #B89200; }
.lp-btn--yellow:hover{ transform: translateY(-2px); box-shadow: 0 8px 0 #B89200; }

/* Sections */
.lp-section-head{ max-width: var(--max); margin: 0 auto; padding: 0 var(--pad); text-align: center; margin-bottom: 64px; }

/* Manifesto */
.lp-manifesto{
  padding: 140px var(--pad);
  text-align: center;
  max-width: 1100px;
  margin: 0 auto;
}
.lp-manifesto p{
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.2;
  letter-spacing: -.005em;
  color: var(--ink-deep);
}
@media (max-width: 700px){ .lp-manifesto{ padding: 80px var(--pad); } }

/* Collection zigzag */
.lp-collection{ padding: 80px 0 140px; background: #fff; }
.lp-zigzag{ display: flex; flex-direction: column; gap: 120px; max-width: var(--max); margin: 0 auto; padding: 0 var(--pad); }
.lp-z-item{
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 72px;
  align-items: center;
}
.lp-z-item.is-right{ direction: rtl; }
.lp-z-item.is-right > *{ direction: ltr; }
.lp-z-media{
  position: relative;
  aspect-ratio: 4/5;
  overflow: hidden;
  background: var(--cream);
  display: block;
}
.lp-z-media img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .5s ease, transform .8s ease; }
.lp-z-media .lp-z-hover{ opacity: 0; }
.lp-z-media:hover .lp-z-hover{ opacity: 1; }
.lp-z-media:hover img{ transform: scale(1.04); }
.lp-z-disc{
  position: absolute; top: 16px; left: 16px;
  background: var(--ink-deep); color: #fff;
  font-family: var(--font-display); font-weight: 700;
  font-size: 18px;
  padding: 6px 12px;
  z-index: 2;
}
.lp-z-text{ padding: 0 12px; }
.lp-z-title{ font-size: clamp(32px, 4vw, 52px); margin-bottom: 18px; }
.lp-z-pitch{ font-size: 17px; color: rgba(0,0,0,.7); line-height: 1.55; margin-bottom: 24px; max-width: 440px; }
.lp-z-price{ font-family: var(--font-body); font-size: 17px; margin-bottom: 28px; }
.lp-z-price b{ font-size: 22px; font-weight: 800; color: var(--green); }
.lp-z-price s{ color: rgba(0,0,0,.4); }
.lp-z-price small{ color: rgba(0,0,0,.55); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
@media (max-width: 800px){
  .lp-collection{ padding: 60px 0 100px; }
  .lp-zigzag{ gap: 80px; }
  .lp-z-item, .lp-z-item.is-right{ grid-template-columns: 1fr; direction: ltr; gap: 28px; }
  .lp-z-text{ padding: 0; }
}

/* Kit Casal */
.lp-kit{
  background: var(--green-deep);
  color: #fff;
  padding: 140px var(--pad);
}
.lp-kit-inner{ max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.lp-kit-img{ aspect-ratio: 4/5; overflow: hidden; }
.lp-kit-img img{ width: 100%; height: 100%; object-fit: cover; }
.lp-kit-text .lp-accent{ color: var(--yellow); }
.lp-kit-text .lp-lead{ margin: 28px 0 40px; font-size: 18px; line-height: 1.55; color: rgba(255,255,255,.88); max-width: 460px; }
@media (max-width: 800px){
  .lp-kit{ padding: 80px var(--pad); }
  .lp-kit-inner{ grid-template-columns: 1fr; gap: 36px; }
}

/* Social proof — quotes */
.lp-social{ padding: 140px 0; background: var(--cream); }
.lp-quotes{ max-width: var(--max); margin: 0 auto; padding: 0 var(--pad); display: grid; grid-template-columns: 1fr 1fr; gap: 56px 80px; }
.lp-quote blockquote{
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(24px, 2.6vw, 32px);
  line-height: 1.25;
  color: var(--ink-deep);
  border-left: 3px solid var(--green);
  padding-left: 24px;
  margin-bottom: 18px;
}
.lp-quote figcaption{ display: flex; gap: 12px; align-items: center; }
.lp-q-avatar{
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--green); color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-weight: 700; font-size: 18px;
}
.lp-quote figcaption b{ display: block; font-size: 14px; }
.lp-quote figcaption em{ display: block; font-style: normal; font-size: 12px; color: rgba(0,0,0,.55); letter-spacing: .05em; }
@media (max-width: 800px){
  .lp-social{ padding: 80px 0; }
  .lp-quotes{ grid-template-columns: 1fr; gap: 48px; }
}

/* How it works */
.lp-how{ padding: 140px var(--pad); background: #fff; }
.lp-steps{ max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; list-style: none; counter-reset: step; }
.lp-steps li{ position: relative; padding-top: 24px; border-top: 2px solid var(--ink-deep); }
.lp-step-n{ font-family: var(--font-display); font-weight: 900; font-size: 56px; color: var(--green); line-height: .9; display:block; margin-bottom: 12px; }
.lp-steps h4{ font-family: var(--font-display); font-weight: 700; font-size: 24px; text-transform: lowercase; margin-bottom: 8px; }
.lp-steps p{ font-size: 14px; color: rgba(0,0,0,.65); line-height: 1.5; }
@media (max-width: 800px){
  .lp-how{ padding: 80px var(--pad); }
  .lp-steps{ grid-template-columns: 1fr 1fr; gap: 32px; }
}

/* FAQ */
.lp-faq{ padding: 140px var(--pad); background: var(--cream); }
.lp-faq-list{ max-width: 820px; margin: 0 auto; }
.lp-faq-item{ border-bottom: 1px solid rgba(0,0,0,.12); padding: 24px 0; }
.lp-faq-item summary{
  list-style: none;
  cursor: pointer;
  display: flex; justify-content: space-between; align-items: center;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(20px, 2.2vw, 26px);
  text-transform: lowercase;
}
.lp-faq-item summary::-webkit-details-marker{ display: none; }
.lp-faq-icon{ width: 16px; height: 16px; position: relative; flex-shrink: 0; margin-left: 16px; }
.lp-faq-icon::before, .lp-faq-icon::after{ content:''; position: absolute; background: var(--ink-deep); transition: transform .25s ease; }
.lp-faq-icon::before{ inset: 7px 0; height: 2px; }
.lp-faq-icon::after{ inset: 0 7px; width: 2px; }
.lp-faq-item[open] .lp-faq-icon::after{ transform: scaleY(0); }
.lp-faq-item > div{ padding-top: 14px; font-size: 16px; color: rgba(0,0,0,.7); line-height: 1.6; max-width: 720px; }
.lp-faq-h{
  font-family: var(--font-display, 'Bricolage Grotesque', sans-serif);
  font-weight: 800;
  text-transform: lowercase;
  letter-spacing: -.02em;
  font-size: clamp(34px, 4.6vw, 48px);
  line-height: 1.05;
  color: var(--ink, #0e0e0e);
}
.lp-faq-item:hover{ background: rgba(0,0,0,.015); }
.lp-hero-deadline{
  position: absolute; left: 32px; right: 32px; bottom: 28px;
  display: flex; justify-content: flex-end;
  font-size: 13px; letter-spacing: .04em; color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.4);
  pointer-events: none;
}
.lp-hero-deadline b{ color: var(--brz-yellow, #f5c84b); font-weight: 700; }
@media (max-width: 800px){
  .lp-faq{ padding: 80px var(--pad); }
  .lp-hero-deadline{ left: 16px; right: 16px; bottom: 16px; justify-content: flex-start; font-size: 12px; }
}

/* Final CTA */
.lp-final{ background: var(--green-deep); color: #fff; padding: 160px var(--pad); text-align: center; }
.lp-final-inner{ max-width: 1000px; margin: 0 auto; }
.lp-final-h{ font-size: clamp(44px, 6.4vw, 88px); margin-bottom: 48px; }
@media (max-width: 700px){ .lp-final{ padding: 100px var(--pad); } }

/* Footer LP */
.lp-footer{ background: var(--ink-deep); color: rgba(255,255,255,.7); padding: 64px var(--pad) 40px; }
.lp-footer-inner{ max-width: var(--max); margin: 0 auto; text-align: center; display: flex; flex-direction: column; gap: 24px; align-items: center; }
.lp-footer-wordmark{ font-family: var(--font-display); font-weight: 900; font-size: 36px; color: #fff; letter-spacing: .02em; }
.lp-footer-nav{ display: flex; gap: 28px; flex-wrap: wrap; justify-content: center; font-size: 13px; text-transform: lowercase; letter-spacing: .06em; }
.lp-footer-nav a:hover{ color: #fff; }
.lp-footer-social, .lp-footer-pay{ display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; opacity: .8; }
.lp-footer-meta{ font-size: 12px; opacity: .55; margin-top: 8px; }

/* =========================================
   BRAZIKA — Design System overrides (oficial)
   ========================================= */

/* LP background = bone, not cream-variant */
:root{ --cream: var(--bone); --ink-deep: var(--ink); }

/* Display/headline tightening for Bricolage */
.lp-h1, .lp-h2, .lp-final-h, .lp-z-title,
.lp-manifesto p, .lp-quote blockquote,
.lp-faq-item summary, .lp-steps h4 {
  text-transform: none;
  letter-spacing: -.02em;
  line-height: 1.02;
}
.lp-h1{ font-weight: 800; }
.lp-h2{ font-weight: 800; }
.lp-step-n{ font-weight: 800; letter-spacing: -.04em; }
.lp-footer-wordmark{ letter-spacing: -.01em; font-weight: 800; }

/* Body legibility */
.lp-z-pitch, .lp-hero-sub, .lp-kit-text .lp-lead,
.lp-faq-item > div, .lp-steps p {
  font-family: var(--font-body);
  font-weight: 400;
}

/* CTA primary = INK (preto), pill shape, generous padding */
.lp-btn{
  border-radius: var(--radius-pill);
  letter-spacing: .04em;
  text-transform: none;
  font-family: var(--font-body);
  font-weight: 600;
  padding: 16px 28px;
  transition: background var(--dur) var(--ease-out),
              color var(--dur) var(--ease-out),
              transform var(--dur) var(--ease-out),
              box-shadow var(--dur) var(--ease-out);
}
.lp-btn--primary{
  background: var(--ink);
  color: #fff;
  box-shadow: none;
}
.lp-btn--primary:hover{
  background: var(--brand-green);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
}
.lp-btn--ghost{
  border-radius: var(--radius-pill);
  border: 1px solid rgba(255,255,255,.7);
  color: #fff;
}
.lp-btn--ghost:hover{ background: rgba(255,255,255,.12); border-color: #fff; }
.lp-btn--onDark{
  background: #fff;
  color: var(--ink);
  box-shadow: none;
}
.lp-btn--onDark:hover{
  background: var(--brand-yellow);
  color: var(--ink);
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
}
.lp-btn--yellow{
  background: var(--brand-yellow);
  color: var(--ink);
  box-shadow: none;
}
.lp-btn--yellow:hover{
  background: var(--ink);
  color: #fff;
  transform: translateY(-1px);
}

/* Generic non-LP buttons → also ink + pill, hover green */
.btn-primary{
  background: var(--ink);
  color: #fff;
}
.btn-primary:hover{ background: var(--brand-green); color: #fff; transform: translateY(-1px); }
.btn-block{ background: var(--ink); border-radius: var(--radius-pill); }
.btn-block:hover{ background: var(--brand-green); }
.btn-ghost{ border-color: var(--ink); color: var(--ink); border-radius: var(--radius-pill); }
.btn-ghost:hover{ background: var(--ink); color: #fff; }

/* Accent links/spans — keep green, just less harsh */
.lp-accent{ color: var(--brand-green); }

/* Final CTA subtitle */
.lp-final-sub{
  font-family: var(--font-body);
  font-size: clamp(15px, 1.6vw, 18px);
  color: rgba(255,255,255,.78);
  margin: -24px auto 40px;
  max-width: 600px;
}

/* Promo ticker — slightly larger */
.promo-bar{ font-family: var(--font-body); font-weight: 500; }

/* Universal easing */
a, button, .lp-btn, .product-card, .lp-faq-item, .lp-z-media img {
  transition-timing-function: var(--ease-out);
}

/* ===== Mobile: logo +80% (from 67 -> 120) ===== */
@media (max-width: 640px){
  .brand-logo img{ height: 120px; max-width: 320px; }
}
@media (max-width: 700px){
  .lp-logo img{ height: 120px; }   /* +80% from 67 */
}
/* ensure header doesn't push horizontal scroll on small screens */
@media (max-width: 700px){
  .lp-header-inner{ padding: 10px 14px; gap: 8px; }
  body, html{ overflow-x: hidden; }
}

/* =====================================================================
   PDP v6 — editorial PDPs aligned with LP design system
   prefix: .pdp-*  (additive, doesn't override existing rules)
   ===================================================================== */

body.pdp{ background: var(--bone, #FAF7EE); color: var(--ink, #0E0E0E); }
body.pdp main{ display:block; }

/* Breadcrumb */
.pdp-crumb{
  max-width: var(--max);
  margin: 0 auto;
  padding: 14px var(--pad) 0;
  font-family: var(--font-body);
  font-size: 13px;
  color: rgba(0,0,0,.55);
  text-transform: lowercase;
  letter-spacing: .02em;
}
.pdp-crumb a{ color: rgba(0,0,0,.55); }
.pdp-crumb a:hover{ color: var(--ink); }
.pdp-crumb .sep{ margin: 0 8px; opacity: .5; }
.pdp-crumb .cur{ color: var(--ink); }

/* ===== Main grid ===== */
.pdp-v6{
  max-width: var(--max);
  margin: 0 auto;
  padding: 24px var(--pad) 64px;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 56px;
  align-items: start;
}
@media (max-width: 980px){
  .pdp-v6{ grid-template-columns: 1fr; gap: 24px; padding: 16px 0 48px; }
}

/* ===== Gallery ===== */
.pdp-gal{ display:flex; gap: 14px; }
.pdp-gal-thumbs{
  display:flex; flex-direction: column; gap: 10px; flex: 0 0 76px;
}
.pdp-gal-thumbs button{
  width:76px; height: 92px;
  border: 1px solid rgba(0,0,0,.10);
  background: #fff;
  padding: 0; cursor: pointer; overflow:hidden;
  border-radius: 2px;
  transition: border-color .24s cubic-bezier(.25,1,.5,1), transform .24s cubic-bezier(.25,1,.5,1);
}
.pdp-gal-thumbs button img{ width:100%; height:100%; object-fit: cover; display:block; }
.pdp-gal-thumbs button:hover{ border-color: rgba(0,0,0,.4); }
.pdp-gal-thumbs button.is-active{ border-color: var(--ink); transform: scale(1.02); }

.pdp-gal-main{
  position: relative;
  flex: 1 1 auto;
  aspect-ratio: 4/5;
  background: #f0ece1;
  overflow:hidden;
  border-radius: 2px;
  scroll-snap-type: x mandatory;
  display: flex;
  scroll-behavior: smooth;
}
.pdp-gal-main img.pdp-gal-img{
  width:100%; height:100%; object-fit: cover; display:block;
  flex: 0 0 100%;
  scroll-snap-align: start;
  transition: opacity .28s cubic-bezier(.25,1,.5,1);
}
.pdp-gal-counter{
  position:absolute; right:12px; bottom:12px;
  background: rgba(14,14,14,.78); color:#fff;
  font-family: var(--font-body); font-size: 11px;
  letter-spacing: .12em;
  padding: 5px 10px; border-radius: 999px;
  pointer-events: none;
}
.pdp-gal-disc{
  position:absolute; top: 14px; left: 14px;
  background: var(--yellow, #F5C518);
  color: var(--ink);
  font-family: var(--font-body); font-weight: 700;
  font-size: 12px; letter-spacing: .04em;
  padding: 6px 10px; border-radius: 2px;
}

@media (max-width: 980px){
  .pdp-gal{ flex-direction: column-reverse; gap: 12px; }
  .pdp-gal-main{ aspect-ratio: 4/5; border-radius: 0; }
  .pdp-gal-thumbs{
    flex-direction: row;
    flex: 0 0 auto;
    padding: 0 14px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .pdp-gal-thumbs::-webkit-scrollbar{ display:none; }
  .pdp-gal-thumbs button{ flex: 0 0 56px; height: 70px; }
}

/* ===== Info col ===== */
.pdp-info-v6{ padding-top: 8px; }
@media (max-width: 980px){ .pdp-info-v6{ padding: 8px var(--pad) 0; } }

.pdp-eyebrow{
  font-family: var(--font-body);
  font-size: 11px; font-weight: 600;
  letter-spacing: .22em; text-transform: uppercase;
  color: rgba(0,0,0,.55);
  margin: 0 0 12px;
}
.pdp-title{
  font-family: var(--font-display);
  font-weight: 800;
  text-transform: lowercase;
  line-height: .98;
  letter-spacing: -.015em;
  font-size: clamp(32px, 4.4vw, 54px);
  margin: 0 0 12px;
  color: var(--ink);
}
.pdp-pitch{
  font-family: var(--font-body);
  font-size: 15px; color: rgba(0,0,0,.7);
  line-height: 1.5;
  margin: 0 0 22px;
  max-width: 460px;
}

.pdp-rating-v6{ display:flex; align-items:center; gap: 10px; margin-bottom: 18px; }
.pdp-rating-v6 .stars{ color: var(--yellow); letter-spacing: 2px; font-size: 14px; }
.pdp-rating-v6 .count{ font-size: 12px; color: rgba(0,0,0,.55); }

/* Price block */
.pdp-price-v6{
  display:flex; align-items:baseline; gap: 14px; flex-wrap: wrap;
  margin: 0 0 6px;
}
.pdp-price-v6 .now{
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(40px, 5vw, 56px);
  line-height: 1;
  color: var(--ink);
  letter-spacing: -.02em;
}
.pdp-price-v6 .was{
  font-size: 16px; color: rgba(0,0,0,.45);
  text-decoration: line-through;
}
.pdp-price-v6 .disc{
  background: var(--yellow);
  color: var(--ink);
  font-family: var(--font-body);
  font-weight: 700; font-size: 12px;
  letter-spacing: .04em;
  padding: 4px 8px; border-radius: 2px;
}
.pdp-pay-lines{
  display:flex; flex-direction: column; gap: 6px;
  margin: 14px 0 24px;
  font-family: var(--font-body);
  font-size: 14px;
  color: rgba(0,0,0,.78);
}
.pdp-pay-lines .line{ display:inline-flex; align-items:center; gap:8px; }
.pdp-pay-lines .line b{ color: var(--ink); font-weight: 700; }
.pdp-pay-lines .pix-amt{ color: #0a8f7f; font-weight: 700; }
.pdp-pay-lines svg{ width: 16px; height: 16px; flex:none; }

/* Trust block (prominent) */
.pdp-trust{
  background: #F2EEDF;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 4px;
  padding: 16px 18px;
  margin: 0 0 28px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 18px;
}
.pdp-trust .row{
  display:flex; align-items:center; gap: 10px;
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--ink);
  font-weight: 500;
}
.pdp-trust .row b{ font-weight: 700; }
.pdp-trust svg{ width: 18px; height: 18px; flex:none; stroke: var(--green, #0E8A3E); }
@media (max-width: 540px){ .pdp-trust{ grid-template-columns: 1fr; } }

/* Selector blocks */
.pdp-sel{ margin-bottom: 22px; }
.pdp-sel-label{
  font-family: var(--font-body);
  font-size: 11px; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--ink); margin: 0 0 10px;
}
.pdp-sel-label .val{ font-weight: 500; text-transform: none; letter-spacing: 0; color: rgba(0,0,0,.6); margin-left: 8px; }

.pdp-sizes{ display:flex; gap: 8px; flex-wrap: wrap; }
.pdp-sizes button{
  min-width: 56px; padding: 12px 18px;
  border: 1px solid rgba(0,0,0,.18);
  background: #fff;
  font-family: var(--font-body);
  font-size: 14px; font-weight: 500;
  color: var(--ink);
  border-radius: 999px;
  cursor: pointer;
  transition: all .24s cubic-bezier(.25,1,.5,1);
}
.pdp-sizes button:hover{ border-color: var(--ink); }
.pdp-sizes button.is-active{ background: var(--ink); color: #fff; border-color: var(--ink); }
.pdp-sizes button.is-out{ color: rgba(0,0,0,.3); text-decoration: line-through; border-style: dashed; }

.pdp-colors{ display:flex; gap: 10px; }
.pdp-colors button{
  width: 32px; height: 32px;
  border-radius: 999px;
  border: 2px solid rgba(0,0,0,.12);
  background: #ccc;
  cursor: pointer;
  position: relative;
  transition: border-color .24s cubic-bezier(.25,1,.5,1);
}
.pdp-colors button.is-active{ border-color: var(--ink); box-shadow: 0 0 0 2px rgba(255,255,255,1) inset; }
.pdp-colors .sw-verde{ background: linear-gradient(135deg, #0E8A3E 50%, #F5C518 50%); }
.pdp-colors .sw-amarelo{ background: #F5C518; }
.pdp-colors .sw-azul{ background: #1B4FA0; }
.pdp-colors .sw-kit-va{ background: linear-gradient(135deg, #0E8A3E 50%, #F5C518 50%); }
.pdp-colors .sw-kit-ab{ background: linear-gradient(135deg, #1B4FA0 50%, #fff 50%); border-color: rgba(0,0,0,.25); }

.pdp-qty{
  display:inline-flex; align-items:center;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 999px;
  overflow:hidden;
}
.pdp-qty button{
  width: 40px; height: 44px;
  background: #fff; border: none; cursor: pointer;
  font-size: 18px; color: var(--ink);
}
.pdp-qty button:hover{ background: #f4f0e3; }
.pdp-qty input{
  width: 44px; height: 44px;
  border: none; text-align: center;
  font-family: var(--font-body); font-weight: 700;
  font-size: 15px;
  background: #fff;
}

/* CTAs */
.pdp-cta-v6{ display:flex; flex-direction: column; gap: 10px; margin: 8px 0 22px; }
.pdp-cta-v6 .btn{
  display: inline-flex; align-items:center; justify-content:center; gap: 10px;
  width: 100%;
  height: 56px;
  border-radius: 999px;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: .04em;
  text-transform: lowercase;
  cursor: pointer;
  transition: all .24s cubic-bezier(.25,1,.5,1);
  border: 1px solid transparent;
}
.pdp-cta-v6 .btn-primary{
  background: var(--ink);
  color: #fff;
  box-shadow: 0 4px 0 rgba(0,0,0,.15);
}
.pdp-cta-v6 .btn-primary:hover{
  background: var(--green, #0E8A3E);
  transform: translateY(-2px);
  box-shadow: 0 6px 0 rgba(0,0,0,.18);
}
.pdp-cta-v6 .btn-outline{
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--ink);
}
.pdp-cta-v6 .btn-outline:hover{
  background: var(--ink);
  color: #fff;
}
.pdp-cta-v6 .btn svg{ width: 16px; height: 16px; }

/* Payment strip */
.pdp-paystrip{
  display:flex; align-items:center; gap: 10px;
  flex-wrap: wrap;
  padding-top: 16px;
  border-top: 1px solid rgba(0,0,0,.08);
}
.pdp-paystrip .lbl{
  font-family: var(--font-body);
  font-size: 11px; letter-spacing: .16em;
  text-transform: uppercase; color: rgba(0,0,0,.5);
  margin-right: 4px;
}
.pdp-paystrip svg{ height: 22px; width: auto; opacity: .9; }
.pdp-paystrip .pay-svg{ display:inline-flex; align-items:center; }

/* ===== Editorial description ===== */
.pdp-editorial{
  background: var(--bone);
  padding: 96px var(--pad);
  border-top: 1px solid rgba(0,0,0,.06);
}
.pdp-editorial-inner{
  max-width: var(--max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: start;
}
@media (max-width: 880px){
  .pdp-editorial{ padding: 64px var(--pad); }
  .pdp-editorial-inner{ grid-template-columns: 1fr; gap: 40px; }
}
.pdp-editorial h3{
  font-family: var(--font-display);
  font-weight: 800;
  text-transform: lowercase;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1;
  margin: 0 0 20px;
  letter-spacing: -.01em;
}
.pdp-editorial .sub{
  font-family: var(--font-body);
  font-size: 16px; line-height: 1.65;
  color: rgba(0,0,0,.78);
  margin: 0 0 28px;
}
.pdp-editorial .block + .block{ margin-top: 36px; }
.pdp-editorial .block h4{
  font-family: var(--font-body);
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .18em;
  color: var(--ink);
  margin: 0 0 10px;
}
.pdp-editorial .block p{
  font-family: var(--font-body);
  font-size: 15px; line-height: 1.7;
  color: rgba(0,0,0,.72);
  margin: 0;
}
.pdp-editorial-img{
  width: 100%;
  aspect-ratio: 4/5;
  overflow: hidden;
  background: #f0ece1;
}
.pdp-editorial-img img{ width:100%; height:100%; object-fit: cover; display:block; }

/* ===== Reviews editorial ===== */
.pdp-reviews-v6{
  background: var(--bone);
  padding: 96px var(--pad);
  border-top: 1px solid rgba(0,0,0,.06);
}
.pdp-reviews-v6-inner{ max-width: var(--max); margin: 0 auto; }
.pdp-reviews-v6 h3{
  font-family: var(--font-display);
  font-weight: 800; text-transform: lowercase;
  font-size: clamp(28px, 3.4vw, 44px);
  margin: 0 0 48px;
  text-align: center;
  letter-spacing: -.01em;
}
.pdp-quotes{
  display: grid; grid-template-columns: 1fr 1fr; gap: 48px;
}
@media (max-width: 760px){
  .pdp-reviews-v6{ padding: 64px var(--pad); }
  .pdp-quotes{ grid-template-columns: 1fr; gap: 32px; }
}
.pdp-quote{
  border-top: 2px solid var(--ink);
  padding-top: 24px;
}
.pdp-quote blockquote{
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 600;
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.25;
  color: var(--ink);
  margin: 0 0 18px;
  letter-spacing: -.005em;
}
.pdp-quote figcaption{
  font-family: var(--font-body);
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(0,0,0,.6);
}
.pdp-quote figcaption b{ color: var(--ink); font-weight: 700; }
.pdp-quote figcaption em{ font-style: normal; opacity: .7; margin-left: 6px; }

/* ===== Combine com ===== */
.pdp-combine{
  padding: 96px var(--pad);
  background: #F2EEDF;
}
.pdp-combine-inner{ max-width: var(--max); margin: 0 auto; }
.pdp-combine h3{
  font-family: var(--font-display);
  font-weight: 800; text-transform: lowercase;
  font-size: clamp(28px, 3.4vw, 44px);
  margin: 0 0 12px;
  letter-spacing: -.01em;
}
.pdp-combine .lead{
  font-family: var(--font-body);
  font-size: 15px; color: rgba(0,0,0,.6);
  margin: 0 0 40px;
}
.pdp-combine-grid{
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px;
}
@media (max-width: 880px){
  .pdp-combine{ padding: 64px var(--pad); }
  .pdp-combine-grid{ grid-template-columns: 1fr; gap: 24px; max-width: 420px; margin: 0 auto; }
}
.pdp-combine-card{ background: transparent; }
.pdp-combine-card a.media{
  display:block; aspect-ratio: 4/5;
  background: var(--bone);
  overflow:hidden;
  position: relative;
  border-radius: 2px;
}
.pdp-combine-card a.media img{
  width:100%; height:100%; object-fit: cover; display:block;
  transition: transform .8s cubic-bezier(.25,1,.5,1), opacity .4s ease;
}
.pdp-combine-card a.media .hover{ position:absolute; inset:0; opacity:0; }
.pdp-combine-card a.media:hover .hover{ opacity:1; }
.pdp-combine-card a.media:hover img.base{ opacity: 0; }
.pdp-combine-card h4{
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 18px;
  text-transform: lowercase;
  margin: 14px 0 4px;
  letter-spacing: -.005em;
}
.pdp-combine-card .price{
  font-family: var(--font-body);
  font-size: 14px; color: rgba(0,0,0,.7);
  margin: 0 0 8px;
}
.pdp-combine-card .price b{ color: var(--ink); font-weight: 700; }
.pdp-combine-card a.more{
  font-family: var(--font-body);
  font-size: 12px; font-weight: 600;
  text-transform: lowercase; letter-spacing: .12em;
  color: var(--ink);
  border-bottom: 1px solid var(--ink);
  padding-bottom: 2px;
}
.pdp-combine-card a.more:hover{ color: var(--green); border-color: var(--green); }

/* ===== Final CTA full-bleed ===== */
.pdp-final{
  background: var(--green-deep, #0A5E2C);
  color:#fff;
  padding: 140px var(--pad);
  text-align: center;
}
.pdp-final h2{
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 800;
  text-transform: lowercase;
  font-size: clamp(40px, 6vw, 72px);
  line-height: 1;
  margin: 0 0 36px;
  letter-spacing: -.015em;
  color: #fff;
}
.pdp-final .lp-btn{ background: var(--yellow); color: var(--ink); box-shadow: 0 6px 0 rgba(0,0,0,.25); }
.pdp-final .lp-btn:hover{ transform: translateY(-2px); box-shadow: 0 8px 0 rgba(0,0,0,.25); background: var(--yellow); }
@media (max-width: 700px){ .pdp-final{ padding: 90px var(--pad); } }

/* ===== Sticky mobile bottom bar ===== */
.pdp-sticky{
  position: fixed; left:0; right:0; bottom: 0;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(10px);
  border-top: 1px solid rgba(0,0,0,.08);
  display:none;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  z-index: 60;
  box-shadow: 0 -4px 24px rgba(0,0,0,.08);
}
.pdp-sticky img{ width: 44px; height: 54px; object-fit: cover; border-radius: 2px; flex: none; }
.pdp-sticky .meta{ flex: 1 1 auto; min-width: 0; }
.pdp-sticky .meta .nm{
  font-family: var(--font-body); font-weight: 700;
  font-size: 12px; color: var(--ink);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  text-transform: lowercase;
}
.pdp-sticky .meta .pr{
  font-family: var(--font-display); font-weight: 800;
  font-size: 16px; color: var(--ink);
}
.pdp-sticky .meta .pr small{ font-family: var(--font-body); font-weight: 500; font-size: 11px; color: rgba(0,0,0,.55); margin-left: 4px; }
.pdp-sticky button{
  background: var(--ink); color: #fff;
  height: 44px; padding: 0 18px;
  border-radius: 999px; border: none;
  font-family: var(--font-body); font-weight: 700;
  font-size: 13px; text-transform: lowercase; letter-spacing: .04em;
  cursor: pointer;
}
.pdp-sticky button:hover{ background: var(--green, #0E8A3E); }
@media (max-width: 780px){
  .pdp-sticky{ display: flex; }
  body.pdp{ padding-bottom: 80px; }
}

/* Reveal helper for non-LP body */
body.pdp.js-ready .reveal{ opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
body.pdp.js-ready .reveal.is-in{ opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce){
  body.pdp.js-ready .reveal{ opacity: 1 !important; transform: none !important; transition: none !important; }
}


/* =====================================================================
   PDP v7 — editorial PDPs (body.lp.pdp-v2) — aligned with LP system
   ===================================================================== */

body.lp.pdp-v2{ background: var(--bone); color: var(--ink); }
body.lp.pdp-v2 main{ display:block; }

/* Breadcrumb */
.pdp-breadcrumb{ background: var(--bone); border-bottom: 1px solid rgba(0,0,0,.04); }
.pdp-breadcrumb-inner{
  max-width: var(--max); margin: 0 auto;
  padding: 16px var(--pad);
  font-family: var(--font-body);
  font-size: 13px;
  color: rgba(0,0,0,.5);
  text-transform: lowercase;
  letter-spacing: .02em;
  display:flex; gap: 8px; align-items: center;
}
.pdp-breadcrumb-inner a{ color: rgba(0,0,0,.5); transition: color .2s; }
.pdp-breadcrumb-inner a:hover{ color: var(--ink); }
.pdp-breadcrumb-inner span{ opacity: .6; }
.pdp-breadcrumb-inner .cur{ color: var(--ink); opacity: 1; }

/* ===== Hero grid ===== */
.pdp-v2-main{ overflow-x: hidden; }
.pdp-v2 .pdp-hero{
  max-width: 1400px;
  margin: 0 auto;
  padding: 32px var(--pad) 96px;
  display: grid;
  grid-template-columns: minmax(0, 60%) minmax(0, 40%);
  gap: 64px;
  align-items: start;
}
@media (max-width: 980px){
  .pdp-v2 .pdp-hero{ grid-template-columns: 1fr; gap: 28px; padding: 16px 0 48px; }
}

/* Gallery */
.pdp-v2 .pdp-gallery{ display: flex; flex-direction: column; gap: 16px; }
.pdp-v2 .pdp-main-img{
  position: relative;
  aspect-ratio: 4/5;
  overflow: hidden;
  background: #efe9d8;
  border-radius: 4px;
}
.pdp-v2 .pdp-main-img img{
  width: 100%; height: 100%; object-fit: cover; display:block;
  transition: opacity .3s var(--ease-out);
}
.pdp-v2 .pdp-main-img img.is-fading{ opacity: 0; }
.pdp-v2 .pdp-thumbs{
  display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px;
}
.pdp-v2 .pdp-thumbs button{
  aspect-ratio: 4/5; padding: 0; cursor: pointer; overflow: hidden;
  background: #efe9d8; border: 1.5px solid transparent; border-radius: 3px;
  transition: border-color .2s var(--ease-out);
}
.pdp-v2 .pdp-thumbs button:hover{ border-color: rgba(0,0,0,.3); }
.pdp-v2 .pdp-thumbs button.is-active{ border-color: var(--ink); }
.pdp-v2 .pdp-thumbs img{ width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 980px){
  .pdp-v2 .pdp-main-img{ border-radius: 0; }
  .pdp-v2 .pdp-thumbs{ padding: 0 var(--pad); grid-template-columns: repeat(5, 1fr); gap: 8px; }
}

/* Info column — sticky */
.pdp-v2 .pdp-info{
  position: sticky; top: 96px;
  align-self: start;
  padding: 8px 0 16px;
}
@media (max-width: 980px){
  .pdp-v2 .pdp-info{ position: static; padding: 0 var(--pad); }
}

.pdp-v2 .pdp-info .lp-eyebrow{ margin-bottom: 14px; }
.pdp-v2 .pdp-h1{
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(34px, 4.4vw, 56px);
  letter-spacing: -.02em;
  line-height: 1.02;
  text-transform: lowercase;
  margin: 0 0 14px;
  color: var(--ink);
}
.pdp-v2 .pdp-pitch{
  font-family: var(--font-body);
  font-size: 16px; line-height: 1.5;
  color: rgba(0,0,0,.65);
  margin-bottom: 20px;
  max-width: 480px;
}

.pdp-v2 .pdp-rating{ display: flex; gap: 10px; align-items: center; margin-bottom: 24px; }
.pdp-v2 .pdp-rating .stars{ color: var(--yellow); letter-spacing: 2px; font-size: 15px; }
.pdp-v2 .pdp-rating .count{ font-size: 12px; color: rgba(0,0,0,.55); font-family: var(--font-body); }

/* Price block */
.pdp-v2 .pdp-price-block{ margin-bottom: 24px; }
.pdp-v2 .pdp-price-row{ display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; margin-bottom: 8px; }
.pdp-v2 .pdp-price-now{
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(40px, 5vw, 56px);
  letter-spacing: -.02em;
  line-height: 1;
  color: var(--ink);
}
.pdp-v2 .pdp-price-was{
  font-family: var(--font-body); font-weight: 500;
  font-size: 18px; color: rgba(0,0,0,.4); text-decoration: line-through;
}
.pdp-v2 .pdp-price-disc{
  background: var(--yellow); color: var(--ink);
  font-family: var(--font-body); font-weight: 700;
  font-size: 13px; padding: 4px 10px;
  border-radius: 4px; letter-spacing: .02em;
}
.pdp-v2 .pdp-pix-line,
.pdp-v2 .pdp-card-line{
  font-family: var(--font-body); font-size: 14px;
  color: rgba(0,0,0,.7);
  display: inline-flex; align-items: center; gap: 8px;
  margin-right: 16px;
}
.pdp-v2 .pdp-pix-line{ margin-bottom: 4px; color: var(--ink); font-weight: 600; }
.pdp-v2 .pdp-pix-line small,
.pdp-v2 .pdp-card-line small{ font-weight: 400; color: rgba(0,0,0,.55); }

/* Trust block */
.pdp-v2 .pdp-trust{
  background: rgba(14, 138, 62, .06);
  border: 1px solid rgba(14, 138, 62, .15);
  border-radius: 12px;
  padding: 18px 22px;
  margin: 24px 0;
  display: flex; flex-direction: column; gap: 12px;
}
.pdp-v2 .pdp-trust-row{
  display: flex; align-items: center; gap: 12px;
  font-family: var(--font-body); font-size: 13.5px;
  color: rgba(0,0,0,.78);
}
.pdp-v2 .pdp-trust-row b{ color: var(--ink); font-weight: 700; }
.pdp-v2 .pdp-trust-row svg{ width: 18px; height: 18px; flex: none; color: var(--green); }

/* Options */
.pdp-v2 .pdp-options{ margin: 8px 0 24px; display: flex; flex-direction: column; gap: 18px; }
.pdp-v2 .pdp-opt-row{ display: flex; flex-direction: column; gap: 10px; }
.pdp-v2 .pdp-opt-head{ display: flex; justify-content: space-between; align-items: baseline; }
.pdp-v2 .pdp-opt-label{
  font-family: var(--font-body); font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .18em; color: rgba(0,0,0,.55);
}
.pdp-v2 .pdp-opt-value{ font-size: 14px; color: var(--ink); font-weight: 500; }
.pdp-v2 .pdp-size-guide{
  font-size: 12px; color: rgba(0,0,0,.55);
  text-decoration: underline; text-underline-offset: 3px;
}
.pdp-v2 .pdp-size-guide:hover{ color: var(--ink); }

.pdp-v2 .pdp-size-pills{ display: flex; flex-wrap: wrap; gap: 8px; }
.pdp-v2 .pdp-size-pills button{
  font-family: var(--font-body); font-size: 13px; font-weight: 600;
  padding: 12px 18px; min-width: 56px;
  background: #fff; color: var(--ink);
  border: 1.5px solid rgba(0,0,0,.15);
  border-radius: 999px; cursor: pointer;
  text-transform: lowercase;
  transition: all .2s var(--ease-out);
}
.pdp-v2 .pdp-size-pills button:hover{ border-color: var(--ink); }
.pdp-v2 .pdp-size-pills button.is-active{ background: var(--ink); color: #fff; border-color: var(--ink); }
.pdp-v2 .pdp-size-pills button.is-disabled{
  text-decoration: line-through; color: rgba(0,0,0,.3);
  background: rgba(0,0,0,.03); cursor: not-allowed;
}

.pdp-v2 .pdp-qty-row{ flex-direction: row; align-items: center; gap: 14px; }
.pdp-v2 .pdp-qty{
  display: inline-flex; align-items: center;
  border: 1.5px solid rgba(0,0,0,.15); border-radius: 999px;
  overflow: hidden;
}
.pdp-v2 .pdp-qty button{
  width: 40px; height: 44px; background: transparent; border: none;
  font-size: 18px; cursor: pointer; color: var(--ink);
}
.pdp-v2 .pdp-qty button:hover{ background: rgba(0,0,0,.05); }
.pdp-v2 .pdp-qty span{
  min-width: 36px; text-align: center;
  font-family: var(--font-body); font-weight: 600;
}

/* CTAs */
.pdp-v2 .pdp-cta-stack{ display: flex; flex-direction: column; gap: 10px; margin: 8px 0 18px; }
.pdp-v2 .pdp-btn-add{
  width: 100%; justify-content: center;
  padding: 18px 28px;
  font-size: 15px;
  font-family: var(--font-body);
}
.pdp-v2 .pdp-btn-buy{
  width: 100%;
  padding: 16px 28px;
  background: transparent;
  color: var(--ink);
  border: 1.5px solid var(--ink);
  border-radius: 999px;
  font-family: var(--font-body); font-weight: 600; font-size: 14px;
  cursor: pointer;
  text-transform: lowercase; letter-spacing: .04em;
  transition: all .2s var(--ease-out);
}
.pdp-v2 .pdp-btn-buy:hover{ background: var(--ink); color: #fff; }

.pdp-v2 .pdp-pay-row{
  display: flex; align-items: center; gap: 12px;
  font-family: var(--font-body); font-size: 11px;
  color: rgba(0,0,0,.5);
  text-transform: uppercase; letter-spacing: .15em;
  margin-top: 6px;
}
.pdp-v2 .pdp-pay-icons{ display: flex; gap: 8px; align-items: center; }
.pdp-v2 .pdp-pay-icons .pay-svg{ height: 22px; display: inline-flex; align-items: center; }
.pdp-v2 .pdp-pay-icons .pay-svg svg{ height: 22px; width: auto; display: block; }

/* ===== Editorial section ===== */
.pdp-v2 .pdp-editorial{ background: #fff; padding: 96px var(--pad); }
.pdp-v2 .pdp-editorial-inner{
  max-width: var(--max); margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr; gap: 80px;
  align-items: start;
}
@media (max-width: 800px){
  .pdp-v2 .pdp-editorial{ padding: 64px var(--pad); }
  .pdp-v2 .pdp-editorial-inner{ grid-template-columns: 1fr; gap: 36px; }
}
.pdp-v2 .pdp-editorial-text .lp-eyebrow{ margin-bottom: 16px; }
.pdp-v2 .pdp-h2{
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(36px, 5vw, 64px);
  letter-spacing: -.02em; line-height: 1.02;
  text-transform: lowercase;
  margin: 0 0 40px;
  color: var(--ink);
}
.pdp-v2 .pdp-prose{ display: flex; flex-direction: column; gap: 22px; max-width: 520px; }
.pdp-v2 .pdp-prose h3{
  font-family: var(--font-display); font-weight: 700;
  font-size: 18px; text-transform: lowercase;
  letter-spacing: -.01em; color: var(--ink);
  margin: 8px 0 6px;
  border-top: 1px solid rgba(0,0,0,.12); padding-top: 22px;
}
.pdp-v2 .pdp-prose h3:first-child{ border-top: none; padding-top: 0; margin-top: 0; }
.pdp-v2 .pdp-prose p{
  font-family: var(--font-body); font-size: 16px; line-height: 1.65;
  color: rgba(0,0,0,.72);
}
.pdp-v2 .pdp-editorial-img{
  aspect-ratio: 4/5; overflow: hidden; border-radius: 4px;
  background: #efe9d8;
}
.pdp-v2 .pdp-editorial-img img{ width: 100%; height: 100%; object-fit: cover; }

/* ===== Why brazika ===== */
.pdp-v2 .pdp-why{ background: var(--bone); padding: 96px var(--pad); }
.pdp-v2 .pdp-why-grid{
  max-width: var(--max); margin: 0 auto;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px;
}
.pdp-v2 .pdp-why-card{
  padding: 32px 24px; background: #fff;
  border: 1px solid rgba(0,0,0,.06); border-radius: 8px;
  display: flex; flex-direction: column; gap: 14px;
}
.pdp-v2 .pdp-why-card svg{ width: 32px; height: 32px; color: var(--green); }
.pdp-v2 .pdp-why-card h4{
  font-family: var(--font-display); font-weight: 700;
  font-size: 22px; text-transform: lowercase;
  letter-spacing: -.01em; color: var(--ink);
  line-height: 1.15;
}
.pdp-v2 .pdp-why-card p{
  font-family: var(--font-body); font-size: 14px; line-height: 1.55;
  color: rgba(0,0,0,.65);
}
@media (max-width: 800px){
  .pdp-v2 .pdp-why{ padding: 64px var(--pad); }
  .pdp-v2 .pdp-why-grid{ grid-template-columns: 1fr; gap: 16px; }
}

/* ===== Reviews ===== */
.pdp-v2 .pdp-reviews-v2{ background: #fff; padding: 96px 0; }
.pdp-v2 .pdp-quotes{
  max-width: var(--max); margin: 0 auto; padding: 0 var(--pad);
  display: grid; grid-template-columns: 1fr 1fr; gap: 64px;
}
.pdp-v2 .pdp-quotes blockquote{
  font-family: var(--font-display); font-style: italic;
  font-weight: 700;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.25; color: var(--ink);
  border-left: 3px solid var(--green);
  padding-left: 24px;
  margin: 0 0 18px;
}
.pdp-v2 .pdp-quotes blockquote::before{ content: '"'; opacity:.4; margin-right: 2px; }
.pdp-v2 .pdp-quotes blockquote::after{ content: '"'; opacity:.4; margin-left: 2px; }
.pdp-v2 .pdp-q-foot{ display: flex; align-items: center; gap: 12px; }
.pdp-v2 .pdp-q-avatar{
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--green); color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-weight: 700; font-size: 18px;
}
.pdp-v2 .pdp-q-name{ font-family: var(--font-body); font-size: 13px; font-weight: 700; color: var(--ink); display: block; }
.pdp-v2 .pdp-q-loc{ font-family: var(--font-body); font-size: 11px; color: rgba(0,0,0,.5); text-transform: uppercase; letter-spacing: .12em; }
@media (max-width: 800px){
  .pdp-v2 .pdp-reviews-v2{ padding: 64px 0; }
  .pdp-v2 .pdp-quotes{ grid-template-columns: 1fr; gap: 40px; }
}

/* ===== Related ===== */
.pdp-v2 .pdp-related-v2{ background: var(--bone); padding: 96px 0; }
.pdp-v2 .pdp-related-grid{
  max-width: var(--max); margin: 0 auto; padding: 0 var(--pad);
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px;
}
.pdp-v2 .pdp-rel-card{ display: block; }
.pdp-v2 .pdp-rel-media{
  position: relative; aspect-ratio: 4/5;
  overflow: hidden; background: #efe9d8;
  display: block; margin-bottom: 16px; border-radius: 4px;
}
.pdp-v2 .pdp-rel-media img{
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; transition: opacity .5s var(--ease-out), transform .8s var(--ease-out);
}
.pdp-v2 .pdp-rel-media .hover-img{ opacity: 0; }
.pdp-v2 .pdp-rel-media:hover .hover-img{ opacity: 1; }
.pdp-v2 .pdp-rel-media:hover img{ transform: scale(1.04); }
.pdp-v2 .pdp-rel-disc{
  position: absolute; top: 12px; left: 12px;
  background: var(--ink); color: #fff;
  font-family: var(--font-display); font-weight: 700; font-size: 14px;
  padding: 4px 10px; z-index: 2;
}
.pdp-v2 .pdp-rel-name{
  font-family: var(--font-display); font-weight: 700;
  font-size: 22px; text-transform: lowercase;
  letter-spacing: -.01em; color: var(--ink);
  margin-bottom: 6px;
}
.pdp-v2 .pdp-rel-price{
  font-family: var(--font-body); font-size: 14px;
  color: rgba(0,0,0,.7); margin-bottom: 14px;
}
.pdp-v2 .pdp-rel-price b{ color: var(--ink); font-weight: 700; font-size: 16px; }
.pdp-v2 .pdp-rel-price s{ color: rgba(0,0,0,.4); margin-left: 8px; }
.pdp-v2 .pdp-rel-link{
  font-family: var(--font-body); font-size: 13px; font-weight: 600;
  color: var(--ink); text-transform: lowercase; letter-spacing: .06em;
  border-bottom: 1px solid var(--ink); padding-bottom: 3px;
  transition: color .2s, border-color .2s;
}
.pdp-v2 .pdp-rel-link:hover{ color: var(--green); border-color: var(--green); }
@media (max-width: 800px){
  .pdp-v2 .pdp-related-v2{ padding: 64px 0; }
  .pdp-v2 .pdp-related-grid{ grid-template-columns: 1fr; gap: 28px; }
}

/* ===== Final CTA ===== */
.pdp-v2 .pdp-final{ background: var(--green-deep); color: #fff; padding: 128px var(--pad); text-align: center; }
.pdp-v2 .pdp-final-inner{ max-width: 900px; margin: 0 auto; }
.pdp-v2 .pdp-final-h{
  font-family: var(--font-display); font-style: italic;
  font-weight: 800;
  font-size: clamp(40px, 6.4vw, 80px);
  letter-spacing: -.02em; line-height: 1.0;
  text-transform: lowercase;
  margin: 0 0 24px;
  color: #fff;
}
.pdp-v2 .pdp-final-sub{
  font-family: var(--font-body); font-size: clamp(14px, 1.5vw, 17px);
  color: rgba(255,255,255,.75); margin-bottom: 36px;
}
@media (max-width: 700px){ .pdp-v2 .pdp-final{ padding: 80px var(--pad); } }

/* ===== Sticky bar mobile ===== */
.pdp-stickybar{
  position: fixed; left: 0; right: 0; bottom: 0;
  background: var(--ink); color: #fff;
  display: none; align-items: center; gap: 12px;
  padding: 10px 14px;
  z-index: 60;
  box-shadow: 0 -6px 24px rgba(0,0,0,.18);
}
.pdp-stickybar img{
  width: 48px; height: 60px; object-fit: cover; border-radius: 3px; flex: none;
}
.pdp-sticky-info{ flex: 1; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pdp-sticky-name{
  font-family: var(--font-body); font-size: 13px; font-weight: 600;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  text-transform: lowercase;
}
.pdp-sticky-price{
  font-family: var(--font-display); font-weight: 800; font-size: 15px;
  color: var(--yellow);
}
.pdp-sticky-price small{ font-family: var(--font-body); font-weight: 400; font-size: 10px; color: rgba(255,255,255,.65); margin-left: 4px; text-transform: uppercase; letter-spacing: .12em; }
.pdp-sticky-btn{
  background: var(--yellow); color: var(--ink); border: none;
  padding: 12px 18px; border-radius: 999px;
  font-family: var(--font-body); font-weight: 700; font-size: 13px;
  cursor: pointer; text-transform: lowercase; letter-spacing: .04em;
  flex: none;
}
.pdp-sticky-btn:hover{ background: #fff; }
@media (max-width: 780px){
  .pdp-stickybar{ display: flex; }
  body.pdp-v2{ padding-bottom: 84px; }
  body.pdp-v2 .pdp-final{ padding-bottom: 100px; }
}

/* ====== PDP Rich Reviews (summary + bars + paginated list) ====== */
.pdp-reviews-rich{ max-width: var(--max); margin: 56px auto 0; }
.pdp-rv-summary{
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 48px;
  align-items: center;
  padding: 32px 0;
  border-top: 1px solid rgba(0,0,0,.08);
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.pdp-rv-score{ text-align: center; }
.pdp-rv-avg{
  font-family: 'Antonio', system-ui, sans-serif;
  font-weight: 700;
  font-size: 64px;
  line-height: 1;
  color: var(--ink, #111);
}
.pdp-rv-stars{ margin-top: 6px; letter-spacing: 2px; font-size: 18px; color: #ddd; }
.pdp-rv-star.on{ color: #f5b400; }
.pdp-rv-count{ margin-top: 6px; font-size: 13px; opacity: .65; }
.pdp-rv-bars{ display: grid; gap: 8px; }
.pdp-rv-bar-row{
  display: grid;
  grid-template-columns: 32px 1fr 36px;
  align-items: center;
  gap: 12px;
  font-size: 13px;
}
.pdp-rv-bar-label{ opacity: .7; text-align: right; }
.pdp-rv-bar{
  display: block;
  height: 8px;
  background: rgba(0,0,0,.06);
  border-radius: 4px;
  overflow: hidden;
}
.pdp-rv-bar-fill{ display: block; height: 100%; background: #009739; transition: width .4s ease; }
.pdp-rv-bar-count{ opacity: .55; text-align: right; font-variant-numeric: tabular-nums; }
.pdp-rv-list{ list-style: none; padding: 0; margin: 24px 0 0; display: grid; gap: 0; }
.pdp-rv-item{
  padding: 24px 0;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.pdp-rv-head{ display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 10px; }
.pdp-rv-who{ display: flex; align-items: center; gap: 12px; }
.pdp-rv-avatar{
  width: 36px; height: 36px; border-radius: 50%;
  background: linear-gradient(135deg, #009739, #fedd00);
  color: #fff; display: inline-flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 15px;
}
.pdp-rv-name{ font-weight: 600; font-size: 14px; color: var(--ink, #111); }
.pdp-rv-meta{ font-size: 12px; opacity: .6; margin-top: 2px; }
.pdp-rv-rating{ letter-spacing: 2px; color: #ddd; font-size: 14px; }
.pdp-rv-title{ margin: 6px 0 6px; font-size: 14px; font-weight: 700; color: var(--ink, #111); }
.pdp-rv-body{ margin: 0; font-size: 14px; line-height: 1.55; color: #333; }
.pdp-rv-badges{ display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.pdp-rv-badge{
  font-size: 11px; padding: 3px 8px; border-radius: 999px;
  background: rgba(0,151,57,.10); color: #006a28; font-weight: 600;
}
.pdp-rv-badge-soft{ background: rgba(0,0,0,.05); color: #555; font-weight: 500; }
.pdp-rv-more-wrap{ text-align: center; margin-top: 16px; }
.pdp-rv-more{
  appearance: none; border: 1px solid rgba(0,0,0,.15); background: #fff;
  padding: 12px 24px; font-size: 13px; font-weight: 600; cursor: pointer;
  border-radius: 999px; transition: background .15s ease, border-color .15s ease;
}
.pdp-rv-more:hover{ background: #111; color: #fff; border-color: #111; }
@media (max-width: 780px){
  .pdp-reviews-rich{ padding: 0 var(--pad); }
  .pdp-rv-summary{
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 24px 0;
  }
  .pdp-rv-avg{ font-size: 48px; }
  .pdp-rv-head{ flex-direction: column; align-items: flex-start; }
  .pdp-rv-rating{ align-self: flex-start; }
}

/* === LP POLISH v7 === */
:root{ --brz-yellow:#F5C518; --brz-green:#0E8A3E; --brz-green-deep:#0B6E32; --brz-bone-50:#FAF7F1; }

/* Ticker mobile fine-tune */
.promo-bar{ padding: 6px 12px; }
@media (max-width: 480px){
  .promo-bar{ font-size: 11px; padding: 5px 8px; }
  .promo-slide{ font-size: 11px; }
}

/* Hero — keep within fold on mobile */
@media (max-width: 480px){
  .lp-hero{ min-height: 78vh; padding: 48px 18px 100px; }
  .lp-hero .lp-h1{ font-size: 38px; line-height: 1.02; }
  .lp-hero-sub{ font-size: 14px; margin-top: 10px; }
}

.lp-cd-deadline{
  display: block; margin-top: 8px;
  font-family: var(--font-body); font-size: 11px;
  letter-spacing: .06em; text-transform: lowercase;
  color: rgba(255,255,255,.78);
}
.lp-cd-deadline b{ color: var(--brz-yellow); font-weight: 700; }

/* Price block redesign */
.price-block{
  margin: 6px 0 22px;
  display: flex; flex-direction: column; gap: 6px;
}
.price-row-main{
  display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px;
  line-height: 1.1;
}
.price-main{
  font-family: var(--font-display); font-weight: 800; font-size: 32px;
  color: #0E0E0E; letter-spacing: -0.01em;
}
.price-compare{
  font-family: var(--font-body); font-size: 14px;
  color: rgba(0,0,0,.42); text-decoration: line-through;
}
.price-badge{
  display: inline-block;
  background: var(--brz-yellow); color: #0E0E0E;
  padding: 3px 9px; border-radius: 999px;
  font-family: var(--font-body); font-weight: 700; font-size: 11px;
  letter-spacing: .08em; text-transform: uppercase;
}
.price-installment{
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--font-body); font-size: 13px; color: rgba(0,0,0,.62);
  line-height: 1.3;
}
.price-installment .pi-card{ width: 22px; height: 14px; flex: none; }
.price-pix{
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(14, 138, 62, .07);
  color: rgba(0,0,0,.72);
  padding: 6px 10px; border-radius: 8px;
  font-family: var(--font-body); font-size: 13px;
  width: fit-content; line-height: 1.3;
}
.price-pix .pi-pix{ width: 18px; height: 18px; flex: none; }
.price-pix b{ color: var(--brz-green); font-weight: 800; }
.price-pix .pix-off{ color: var(--brz-green); font-weight: 600; }
.price-eta{
  font-family: var(--font-body); font-size: 12px;
  color: rgba(0,0,0,.55); letter-spacing: .02em;
  margin-top: 2px;
}
.price-eta .eta-date{ color: var(--brz-green); font-weight: 700; }

@media (max-width: 480px){
  .price-main{ font-size: 26px; }
  .price-compare{ font-size: 13px; }
  .price-badge{ font-size: 10px; padding: 2px 7px; }
  .price-installment, .price-pix, .price-eta{ font-size: 12px; }
}

/* Objections block */
.lp-objections{
  padding: 96px var(--pad);
  background: #fff;
}
.lp-obj-grid{
  display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
  max-width: 980px; margin: 32px auto 0;
}
.lp-obj-card{
  background: var(--brz-bone-50);
  border-radius: 16px;
  padding: 32px;
  transition: transform .25s ease, box-shadow .25s ease;
}
.lp-obj-card:hover{ transform: translateY(-2px); box-shadow: 0 10px 28px rgba(0,0,0,.06); }
.lp-obj-ic{
  width: 32px; height: 32px; color: var(--brz-green);
  margin-bottom: 14px; display: block;
}
.lp-obj-card h4{
  font-family: var(--font-display); font-weight: 800;
  font-size: 20px; margin: 0 0 8px;
  text-transform: lowercase; letter-spacing: -0.01em;
  color: #0E0E0E;
}
.lp-obj-card p{
  font-family: var(--font-body); font-size: 14px; line-height: 1.55;
  color: rgba(0,0,0,.62); margin: 0;
}
@media (max-width: 720px){
  .lp-objections{ padding: 64px 18px; }
  .lp-obj-grid{ grid-template-columns: 1fr; gap: 14px; }
  .lp-obj-card{ padding: 24px; }
  .lp-obj-card h4{ font-size: 18px; }
}

/* Scarcity strip */
.lp-scarcity{
  background: var(--brz-green-deep);
  color: #fff;
  padding: 14px 18px;
  text-align: center;
}
.lp-scarcity p{
  margin: 0;
  font-family: var(--font-body); font-weight: 600;
  font-size: 13px; letter-spacing: .04em;
  text-transform: lowercase;
}

/* Brazika watermarks */
.lp-kit{ position: relative; overflow: hidden; }
.lp-watermark{
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--font-display); font-weight: 800;
  font-size: clamp(140px, 22vw, 280px);
  letter-spacing: -.02em; line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1.5px rgba(255,255,255,.10);
  pointer-events: none;
  z-index: 0;
  white-space: nowrap;
}
.lp-watermark--dark{
  -webkit-text-stroke: 1.5px rgba(0,0,0,.07);
}
.lp-kit-inner{ position: relative; z-index: 1; }
.lp-final{ position: relative; overflow: hidden; }
.lp-final-inner{ position: relative; z-index: 1; }

/* Footer wordmark beefed up */
.lp-footer-wordmark{
  font-size: clamp(64px, 12vw, 128px) !important;
  letter-spacing: -.03em;
  line-height: .85;
}

/* Yellow accent underline helpers */
.lp-accent{ position: relative; }
.lp-accent::after{
  content: ""; position: absolute; left: 0; right: 0; bottom: -2px;
  height: 3px; background: var(--brz-yellow);
  border-radius: 2px; opacity: .9;
}
.lp-hero-content .lp-accent::after{ background: var(--brz-yellow); }

/* Reviews — initial-letter avatar (no images, no shopee link, no media gallery). */

/* === PDP WHY v2 === */
.pdp-why{ padding: 96px 0; background: var(--ink, #0E0E0E); color: var(--bone, #FAF7EE); margin-top: 64px; }
.pdp-why-grid{ max-width: 1180px; margin: 0 auto; padding: 0 32px; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.pdp-why-card h3{ font-family: 'Bricolage Grotesque', sans-serif; font-weight: 800; font-size: clamp(28px, 3.4vw, 42px); line-height: 1.05; margin: 0 0 20px; color: var(--brand-yellow, #F5C518); letter-spacing: -0.01em; }
.pdp-why-card p{ font-family: 'Sora', sans-serif; font-size: 17px; line-height: 1.6; color: rgba(250,247,238,0.85); margin: 0; max-width: 480px; }
@media (max-width: 780px){
  .pdp-why{ padding: 64px 0; }
  .pdp-why-grid{ grid-template-columns: 1fr; gap: 40px; padding: 0 20px; }
  .pdp-why-card h3{ font-size: 28px; }
  .pdp-why-card p{ font-size: 16px; }
}

/* === Manifesto + Por que (admin-editáveis via brazika_lp_overrides) === */
.lp-manifesto{
  max-width: var(--max);
  margin: 0 auto;
  padding: 72px var(--pad);
  text-align: center;
}
.lp-manifesto-inner{ max-width: 760px; margin: 0 auto; }
.lp-manifesto-body{
  font-family: var(--font-display);
  font-style: italic;
  text-transform: uppercase;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.05;
  letter-spacing: .005em;
  color: var(--text);
  margin-top: 12px;
}
.lp-why{
  max-width: var(--max);
  margin: 0 auto;
  padding: 32px var(--pad) 72px;
}
.lp-why-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 32px;
}
.lp-why-card{
  background: #f7f5f0;
  padding: 36px 28px;
  border: 1px solid var(--line, #e6e3dc);
  box-shadow: 6px 6px 0 #1a1a1a;
}
.lp-why-h{
  font-family: var(--font-display);
  font-style: italic;
  text-transform: uppercase;
  font-size: clamp(22px, 2.4vw, 32px);
  letter-spacing: .005em;
  margin-bottom: 12px;
}
.lp-why-copy{
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.55;
}
@media (max-width: 720px){
  .lp-why-grid{ grid-template-columns: 1fr; }
  .lp-manifesto{ padding: 56px var(--pad); }
}

/* ===================== Mini-cart (drawer + header icon) ===================== */
/* Botão do carrinho no header — agrupado com o link "rastrear/voltar". */
.mc-header-actions{ justify-self:end; display:flex; align-items:center; gap:14px; }
.mc-trigger{
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; padding:0; border:1.5px solid var(--ink); border-radius:11px;
  background:#fff; color:var(--ink); cursor:pointer; box-shadow:3px 3px 0 var(--ink);
  transition:transform .12s ease, box-shadow .12s ease; flex:0 0 auto;
}
.mc-trigger:hover{ transform:translate(-1px,-1px); box-shadow:4px 4px 0 var(--ink); }
.mc-trigger:active{ transform:translate(1px,1px); box-shadow:1px 1px 0 var(--ink); }
.mc-trigger svg{ width:22px; height:22px; }
.mc-badge{
  position:absolute; top:-7px; right:-7px; min-width:20px; height:20px; padding:0 5px;
  background:var(--green); color:#fff; border:2px solid var(--cream); border-radius:99px;
  font-family:var(--font-display); font-weight:800; font-size:11px; line-height:16px;
  display:flex; align-items:center; justify-content:center;
}
@media (max-width:700px){
  .mc-header-actions{ gap:10px; }
  .mc-trigger{ width:40px; height:40px; }
  .mc-trigger svg{ width:21px; height:21px; }
}

/* Scroll lock quando o drawer abre */
html.mc-locked, html.mc-locked body{ overflow:hidden; }

/* Drawer */
.mc-root{ position:fixed; inset:0; z-index:1000; visibility:hidden; pointer-events:none; }
.mc-root.open{ visibility:visible; pointer-events:auto; }
.mc-overlay{
  position:absolute; inset:0; background:rgba(14,14,14,.42);
  opacity:0; transition:opacity .28s ease;
}
.mc-root.open .mc-overlay{ opacity:1; }
.mc-panel{
  position:absolute; top:0; right:0; height:100%; width:min(420px,92vw);
  background:var(--cream); border-left:2px solid var(--ink);
  display:flex; flex-direction:column;
  transform:translateX(100%); transition:transform .3s cubic-bezier(.22,.7,.3,1);
  box-shadow:-10px 0 40px rgba(0,0,0,.18);
}
.mc-root.open .mc-panel{ transform:translateX(0); }
.mc-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 20px; border-bottom:1.5px solid var(--ink); background:#fff;
}
.mc-head h2{
  margin:0; font-family:var(--font-display); font-weight:800; font-size:22px;
  text-transform:lowercase; letter-spacing:-.01em; color:var(--ink);
}
.mc-close{
  width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center;
  border:1.5px solid var(--ink); border-radius:10px; background:#fff; color:var(--ink); cursor:pointer;
}
.mc-close svg{ width:18px; height:18px; }
.mc-close:hover{ background:var(--ink); color:#fff; }
.mc-body{ flex:1; overflow-y:auto; padding:8px 20px; -webkit-overflow-scrolling:touch; }

/* Item */
.mc-item{ display:flex; gap:12px; padding:14px 0; border-bottom:1px solid var(--line); }
.mc-item img{ width:64px; height:64px; object-fit:cover; border-radius:10px; border:1.5px solid var(--ink); flex:0 0 auto; }
.mc-item-meta{ flex:1; min-width:0; }
.mc-item-meta h4{ margin:0 0 3px; font-size:14px; font-weight:700; line-height:1.25; color:var(--ink); }
.mc-item-opts{ font-size:12px; color:var(--muted); margin-bottom:8px; }
.mc-qty{ display:inline-flex; align-items:center; border:1.5px solid var(--ink); border-radius:9px; overflow:hidden; }
.mc-qty button{
  width:30px; height:30px; border:none; background:#fff; cursor:pointer;
  font-size:17px; font-weight:700; color:var(--ink); line-height:1;
}
.mc-qty button:hover{ background:var(--yellow-soft); }
.mc-qty span{ min-width:30px; text-align:center; font-weight:700; font-size:14px; }
.mc-item-right{ display:flex; flex-direction:column; align-items:flex-end; justify-content:space-between; }
.mc-item-price{ font-family:var(--font-display); font-weight:800; font-size:15px; white-space:nowrap; }
.mc-remove{ background:none; border:none; padding:0; font-size:12px; color:var(--muted); cursor:pointer; text-decoration:underline; }
.mc-remove:hover{ color:#E84A3B; }

/* Footer */
.mc-foot{ border-top:1.5px solid var(--ink); padding:18px 20px calc(18px + env(safe-area-inset-bottom)); background:#fff; }
.mc-sub{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:10px; }
.mc-sub span:first-child{ font-size:14px; color:var(--muted); }
.mc-sub span:last-child{ font-family:var(--font-display); font-weight:900; font-size:22px; color:var(--ink); }
.mc-ship{ display:flex; align-items:center; gap:7px; font-size:12.5px; color:var(--green-dark); font-weight:600; margin-bottom:14px; }
.mc-dot{ width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 3px rgba(14,138,62,.18); }
.mc-btn{
  display:block; width:100%; text-align:center; padding:14px; border-radius:11px; cursor:pointer;
  font-family:var(--font-display); font-weight:800; font-size:16px; text-transform:uppercase;
  letter-spacing:.03em; text-decoration:none; border:none; box-sizing:border-box;
}
.mc-btn.primary{ background:var(--green); color:#fff; box-shadow:0 5px 0 var(--green-deep); margin-bottom:10px; }
.mc-btn.primary:hover{ transform:translateY(-2px); box-shadow:0 7px 0 var(--green-deep); }
.mc-btn.ghost{ background:#fff; color:var(--ink); border:1.5px solid var(--ink); }
.mc-btn.ghost:hover{ background:var(--ink); color:#fff; }

/* Empty */
.mc-empty{ text-align:center; padding:60px 20px; }
.mc-empty-ic{ display:inline-flex; color:var(--line); }
.mc-empty-ic svg{ width:56px; height:56px; }
.mc-empty p{ font-family:var(--font-display); font-weight:700; font-size:18px; margin:14px 0 18px; color:var(--ink); }
.mc-empty .mc-btn{ display:inline-block; width:auto; padding:12px 28px; }

/* Mobile = bottom-sheet */
@media (max-width:600px){
  .mc-panel{
    top:auto; bottom:0; right:0; left:0; width:100%; height:auto; max-height:90vh;
    border-left:none; border-top:2px solid var(--ink);
    border-radius:18px 18px 0 0; transform:translateY(100%);
    box-shadow:0 -10px 40px rgba(0,0,0,.22);
  }
  .mc-root.open .mc-panel{ transform:translateY(0); }
  .mc-head{ border-radius:18px 18px 0 0; }
}

/* Mini-cart toast */
.mc-toast{
  position:fixed; left:50%; bottom:30px; transform:translateX(-50%) translateY(24px);
  display:flex; align-items:center; gap:10px;
  background:var(--ink); color:#fff; padding:13px 20px; border-radius:999px;
  font-size:14px; font-weight:600; opacity:0; pointer-events:none;
  transition:opacity .22s ease, transform .22s ease; z-index:1100;
  box-shadow:0 10px 30px rgba(0,0,0,.28); max-width:88vw;
}
.mc-toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }
.mc-toast-ic{ display:inline-flex; width:22px; height:22px; align-items:center; justify-content:center;
  background:var(--green); border-radius:50%; flex:0 0 auto; }
.mc-toast-ic svg{ width:13px; height:13px; }
