/* ════════════════════════════════════════════════════════
   Peptider Child Theme v15 — theme.css
   Paleta oficial atualizada — sem emojis, SVG icons
   ════════════════════════════════════════════════════════ */

:root {
  /* ── Paleta obrigatória ── */
  --primary:        #044BD9;
  --primary-hover:  #0237A8;
  --navy:           #011640;
  --slate:          #3C4959;
  --light-bg:       #E8EBF0;
  --card-bg:        #F5F7FA;
  --border:         #D7DDE6;
  --text:           #1B2232;
  --text-secondary: #667085;
  --accent:         #F29E38;

  /* ── Superfícies derivadas ── */
  --surface:        #E8EBF0;   /* alias → light-bg */
  --surface-2:      #DDE2EC;
  --surface-3:      #D4DBE8;

  /* ── Tipografia ── */
  --font-sans: "Inter", system-ui, sans-serif;
  --font-disp: "Inter Tight", "Inter", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;
  --radius:    0.5rem;
}

/* ── Reset WP / Elementor / TT4 ────────────────────────── */
html, body { margin:0; padding:0; }
body { background:var(--light-bg); color:var(--text); font-family:var(--font-sans); -webkit-font-smoothing:antialiased; }
*, *::before, *::after { box-sizing:border-box; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; height:auto; display:block; }
button { font-family:var(--font-sans); }

.wp-site-blocks, body > .wp-block-template-part,
.site-header.wp-block-template-part, .site-footer.wp-block-template-part,
.elementor-location-header, .elementor-location-footer,
#wpadminbar { display:none !important; }

/* ── Top Bar ──────────────────────────────────────────── */
.pep-topbar {
  width:100%; background:var(--navy);
  color:rgba(255,255,255,.8);
  font-size:13px; font-family:var(--font-sans);
}
.pep-topbar-inner {
  max-width:1280px; margin:0 auto; padding:.625rem 1.5rem;
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
}
.pep-topbar-left { display:flex; align-items:center; gap:1.5rem; }
.pep-topbar-left span { display:flex; align-items:center; gap:.375rem; }
.pep-topbar-left .sep { opacity:.5; }
.pep-topbar a { display:inline-flex; align-items:center; gap:.375rem; color:inherit; }
.pep-topbar a:hover { color:#fff; }
@media(max-width:768px){ .pep-topbar-left .hide-sm { display:none; } }

/* ── Nav Header ───────────────────────────────────────── */
.pep-header { width:100%; background:var(--light-bg); position:sticky; top:0; z-index:900; border-bottom:1px solid var(--border); }
.pep-header-inner {
  max-width:1280px; margin:0 auto; padding:1.125rem 1.5rem;
  display:flex; align-items:center; justify-content:space-between;
}

/* Logo */
.pep-logo { display:flex; flex-direction:column; align-items:center; gap:.3rem; text-decoration:none; color:var(--text); }
.pep-logo-icon { display:block; color:var(--text); }
.pep-logo-name { font-family:var(--font-disp); font-size:.72rem; font-weight:500; letter-spacing:.35em; text-transform:uppercase; color:var(--text); }
.pep-logo-name.light { color:#fff; }

/* Nav links */
.pep-nav { display:flex; align-items:center; gap:0; list-style:none; margin:0; padding:0; }
.pep-nav-item { position:relative; }
.pep-nav-link {
  font-size:14.5px; color:var(--slate); text-decoration:none;
  display:flex; align-items:center; gap:.25rem; white-space:nowrap;
  transition:color .15s;
}
.pep-nav-link:hover { color:var(--text); }

/* Dropdown — hover bridge trick */
.pep-nav-item:hover .pep-dropdown,
.pep-nav-item:focus-within .pep-dropdown { opacity:1; pointer-events:all; transform:translateY(0); }
.pep-dropdown {
  position:absolute; top:100%; left:0;
  opacity:0; pointer-events:none; transform:translateY(-4px);
  transition:opacity .16s, transform .16s; z-index:200;
  min-width:175px;
}
.pep-dropdown::before { content:''; display:block; height:.625rem; } /* invisible bridge */
.pep-dropdown a {
  display:block; padding:.55rem .875rem;
  font-size:13.5px; color:var(--slate);
  background:var(--card-bg);
  border-left:1px solid var(--border);
  border-right:1px solid var(--border);
  transition:background .12s, color .12s;
}
.pep-dropdown a:first-child { border-top:1px solid var(--border); border-radius:var(--radius) var(--radius) 0 0; padding-top:.7rem; }
.pep-dropdown a:last-child  { border-bottom:1px solid var(--border); border-radius:0 0 var(--radius) var(--radius); box-shadow:0 4px 20px rgba(1,22,64,.1); }
.pep-dropdown a:hover { background:var(--light-bg); color:var(--text); }

/* Header actions */
.pep-header-actions { display:flex; align-items:center; gap:1.25rem; }
.pep-icon-btn { background:none; border:none; cursor:pointer; padding:.25rem; color:var(--slate); display:flex; align-items:center; transition:color .15s; }
.pep-icon-btn:hover { color:var(--text); }
.pep-cart-wrap { position:relative; }
.pep-cart-badge {
  position:absolute; top:-8px; right:-8px;
  background:var(--primary); color:#fff;
  font-size:10px; font-weight:500;
  height:16px; width:16px; border-radius:50%;
  display:grid; place-items:center;
}
.pep-mobile-toggle { display:none; background:none; border:none; cursor:pointer; padding:.25rem; color:var(--text); }

/* ── Hero ─────────────────────────────────────────────── */
.pep-hero {
  background:linear-gradient(180deg, var(--light-bg) 0%, var(--surface-2) 100%);
}
.pep-hero-inner {
  max-width:1280px; margin:0 auto; padding:2.5rem 1.5rem 2rem;
  display:grid; grid-template-columns:7fr 5fr; gap:1.5rem; align-items:center;
}
.pep-hero-eyebrow {
  font-size:11px; font-family:var(--font-mono); letter-spacing:.22em;
  text-transform:uppercase; color:var(--primary); font-weight:600; margin-bottom:1rem;
}
.pep-hero h1 {
  font-family:var(--font-disp); font-size:clamp(2.5rem,5vw,3.25rem);
  font-weight:600; line-height:1.05; letter-spacing:-.03em; color:var(--text);
  margin:0 0 .75rem;
}
.pep-hero-sub {
  font-family:var(--font-disp); font-size:clamp(1.25rem,2.5vw,1.625rem);
  font-weight:500; color:var(--slate); margin:0 0 1.25rem;
}
.pep-hero-desc { font-size:14px; color:var(--text-secondary); line-height:1.65; max-width:28rem; margin:0 0 1.75rem; }
.pep-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; margin-bottom:1.25rem; }
.pep-hero-note { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; font-size:12.5px; color:var(--text-secondary); }
.pep-hero-note span { display:flex; align-items:center; gap:.375rem; }
.pep-hero-img-col { position:relative; height:300px; }
@media(min-width:768px){ .pep-hero-img-col { height:380px; } }
.pep-hero-img-col img { position:relative; z-index:1; height:100%; width:100%; object-fit:contain; object-position:center; }
.pep-molecule-svg { position:absolute; inset:0; width:100%; height:100%; opacity:.7; pointer-events:none; z-index:0; }

/* ── Buttons ──────────────────────────────────────────── */
.pep-btn-dark {
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--navy); color:#fff;
  font-size:13px; font-weight:500; padding:.75rem 1.25rem;
  border-radius:var(--radius); border:none; cursor:pointer; text-decoration:none;
  transition:background .15s;
}
.pep-btn-dark:hover { background:var(--slate); color:#fff; }

.pep-btn-primary {
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--primary); color:#fff;
  font-size:13px; font-weight:500; padding:.75rem 1.25rem;
  border-radius:var(--radius); border:none; cursor:pointer; text-decoration:none;
  transition:background .15s;
}
.pep-btn-primary:hover { background:var(--primary-hover); color:#fff; }

.pep-btn-light {
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--card-bg); color:var(--text);
  font-size:13px; font-weight:500; padding:.75rem 1.25rem;
  border-radius:var(--radius); border:1px solid var(--border); cursor:pointer; text-decoration:none;
  transition:background .15s;
}
.pep-btn-light:hover { background:var(--light-bg); }

/* ── Trust strip ──────────────────────────────────────── */
.pep-trust { max-width:1280px; margin:0 auto; padding:.5rem 1.5rem 0; }
.pep-trust-grid {
  border-radius:.75rem; background:var(--surface-3);
  display:grid; grid-template-columns:repeat(2,1fr);
}
@media(min-width:1024px){ .pep-trust-grid { grid-template-columns:repeat(4,1fr); } }
.pep-trust-item { display:flex; align-items:flex-start; gap:.75rem; padding:1.25rem; }
.pep-trust-icon {
  display:grid; place-items:center; height:2.5rem; width:2.5rem;
  border-radius:.5rem; background:rgba(255,255,255,.7); flex-shrink:0;
}
.pep-trust-title { font-family:var(--font-disp); font-size:14px; font-weight:600; color:var(--text); line-height:1.2; }
.pep-trust-desc { margin-top:.25rem; font-size:11.5px; color:var(--text-secondary); line-height:1.4; }

/* ── Section card ─────────────────────────────────────── */
.pep-card-section {
  border-radius:.75rem; padding:1.25rem;
  background:var(--surface-3);
}
@media(min-width:768px){ .pep-card-section { padding:1.75rem; } }

/* ── Content wrapper ──────────────────────────────────── */
.pep-content { max-width:1280px; margin:0 auto; padding:1rem 1.5rem; }
.pep-content + .pep-content { padding-top:0; }

/* ── Section headings ─────────────────────────────────── */
.pep-s-title { font-family:var(--font-disp); font-size:15px; font-weight:600; color:var(--text); margin:0 0 1.5rem; }
.pep-s-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.5rem; }
.pep-s-header h2 { font-family:var(--font-disp); font-size:1.25rem; font-weight:600; color:var(--text); margin:0; }
.pep-link-sm { display:inline-flex; align-items:center; gap:.375rem; font-size:14px; color:var(--primary); text-decoration:none; }
.pep-link-sm:hover { text-decoration:underline; }

/* ── Product cards ────────────────────────────────────── */
.pep-products { display:grid; grid-template-columns:1fr; gap:1rem; }
@media(min-width:600px){ .pep-products { grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .pep-products { grid-template-columns:repeat(4,1fr); } }
.pep-product-card {
  border-radius:.5rem; border:1px solid var(--border);
  background:var(--card-bg); padding:1rem; display:flex; flex-direction:column;
}
.pep-product-top { display:flex; gap:.75rem; }
.pep-product-img {
  height:7rem; width:5rem; flex-shrink:0;
  border-radius:.375rem; overflow:hidden; background:var(--surface-2);
}
.pep-product-img img { height:100%; width:100%; object-fit:cover; }
.pep-product-info { flex:1; min-width:0; }
.pep-product-name { font-family:var(--font-disp); font-size:15px; font-weight:600; color:var(--text); line-height:1.2; margin:0 0 .5rem; display:flex; align-items:flex-start; gap:.375rem; flex-wrap:wrap; }
.pep-badge-new { font-size:9px; font-family:var(--font-mono); letter-spacing:.08em; text-transform:uppercase; padding:.125rem .375rem; border-radius:.25rem; background:var(--primary); color:#fff; }
.pep-product-meta { font-size:12px; color:var(--text-secondary); line-height:1.5; }
.pep-product-meta span { color:var(--text-secondary); opacity:.75; }
.pep-product-btn {
  margin-top:1rem; width:100%; border:1px solid var(--border);
  background:var(--card-bg); border-radius:.375rem; padding:.5rem;
  font-size:12px; font-weight:500; color:var(--text); cursor:pointer;
  text-align:center; display:block; transition:background .15s;
}
.pep-product-btn:hover { background:var(--light-bg); }

/* ── Lab + FAQ two-col ────────────────────────────────── */
.pep-lab-faq { display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media(min-width:1024px){ .pep-lab-faq { grid-template-columns:1.15fr 1fr; } }

.pep-lab-icons { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; margin-top:1.5rem; }
@media(min-width:600px){ .pep-lab-icons { grid-template-columns:repeat(4,1fr); } }
.pep-lab-icon-item { text-align:center; }
.pep-lab-icon-box {
  margin:0 auto; display:grid; place-items:center;
  height:3rem; width:3rem; border-radius:.5rem; background:var(--surface-3);
}
.pep-lab-icon-title { margin-top:.75rem; font-size:13px; font-weight:600; color:var(--text); }
.pep-lab-icon-desc { margin-top:.25rem; font-size:11.5px; color:var(--text-secondary); line-height:1.35; }

/* FAQ */
.pep-faq-list { margin-top:1.25rem; border-top:1px solid var(--border); }
.pep-faq-btn {
  width:100%; background:none; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:space-between;
  padding:.75rem 0; font-size:13.5px; color:var(--slate);
  text-align:left; border-bottom:1px solid var(--border);
  font-family:var(--font-sans); transition:color .15s;
}
.pep-faq-btn:hover { color:var(--text); }
.pep-faq-answer { font-size:13px; color:var(--text-secondary); line-height:1.6; padding:.75rem 0; border-bottom:1px solid var(--border); display:none; }
.pep-faq-item.open .pep-faq-answer { display:block; }

/* ── Page hero (sub-pages) ────────────────────────────── */
.pep-page-hero {
  background:linear-gradient(180deg, var(--light-bg) 0%, var(--surface-2) 100%);
  padding:3.5rem 1.5rem 2.5rem;
}
.pep-page-hero-inner { max-width:1280px; margin:0 auto; }
.pep-page-eyebrow {
  font-size:11px; font-family:var(--font-mono); letter-spacing:.22em;
  text-transform:uppercase; color:var(--primary); font-weight:600; margin-bottom:.875rem;
}
.pep-page-hero h1 {
  font-family:var(--font-disp); font-size:clamp(1.75rem,4vw,2.75rem);
  font-weight:600; line-height:1.1; letter-spacing:-.025em; color:var(--text); margin:0 0 .875rem;
}
.pep-page-hero p { font-size:14px; color:var(--text-secondary); line-height:1.65; max-width:38rem; margin:0 0 1.5rem; }

/* ── Breadcrumb ───────────────────────────────────────── */
.pep-breadcrumb { font-size:12px; color:var(--text-secondary); padding:.625rem 1.5rem; max-width:1280px; margin:0 auto; }
.pep-breadcrumb a { color:var(--primary); }
.pep-breadcrumb span { margin:0 .375rem; opacity:.5; }

/* ── Info cards (white) ───────────────────────────────── */
.pep-info-grid { display:grid; grid-template-columns:1fr; gap:1rem; margin-top:1rem; }
@media(min-width:640px){ .pep-info-grid { grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .pep-info-grid { grid-template-columns:repeat(3,1fr); } }
.pep-info-card {
  background:var(--card-bg); border:1px solid var(--border);
  border-radius:.5rem; padding:1.5rem;
}
.pep-info-card-icon {
  width:40px; height:40px;
  background:rgba(4,75,217,.08);
  border-radius:.5rem;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:.875rem;
  color:var(--primary);
  flex-shrink:0;
}
.pep-info-card h3 { font-family:var(--font-disp); font-size:15px; font-weight:600; color:var(--text); margin:0 0 .5rem; }
.pep-info-card p { font-size:13px; color:var(--text-secondary); line-height:1.6; margin:0 0 1rem; }
.pep-info-card a { font-size:13px; font-weight:600; color:var(--primary); display:inline-flex; align-items:center; gap:.25rem; }
.pep-info-card a:hover { text-decoration:underline; }

/* ── Table ────────────────────────────────────────────── */
.pep-table-wrap { overflow-x:auto; border-radius:.5rem; border:1px solid var(--border); }
.pep-table { width:100%; border-collapse:collapse; font-size:13px; }
.pep-table th { background:var(--surface-2); font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--text-secondary); padding:.875rem 1rem; text-align:left; border-bottom:1px solid var(--border); }
.pep-table td { padding:.875rem 1rem; border-bottom:1px solid var(--border); color:var(--text); font-size:13px; }
.pep-table tr:last-child td { border-bottom:none; }
.pep-table tr:hover td { background:var(--light-bg); }

/* Badges */
.pep-badge { display:inline-flex; align-items:center; gap:.25rem; font-size:11px; font-weight:600; padding:.2rem .55rem; border-radius:999px; }
.pep-badge-pass { background:rgba(16,185,129,.12); color:#059669; }
.pep-badge-blue { background:rgba(4,75,217,.1); color:var(--primary); font-family:var(--font-mono); }

/* ── Stats strip ──────────────────────────────────────── */
.pep-stats { background:var(--navy); color:#fff; }
.pep-stats-inner {
  max-width:1280px; margin:0 auto; padding:2.5rem 1.5rem;
  display:flex; justify-content:space-around; flex-wrap:wrap; gap:2rem; text-align:center;
}
.pep-stat-val { display:block; font-family:var(--font-disp); font-size:2rem; font-weight:600; }
.pep-stat-lbl { font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; opacity:.6; }

/* ── Forms ────────────────────────────────────────────── */
.pep-form-grid { display:grid; grid-template-columns:1fr; gap:1.25rem; }
.pep-field label { display:block; font-size:13px; font-weight:500; color:var(--text); margin-bottom:.375rem; }
.pep-field input, .pep-field select, .pep-field textarea {
  width:100%; padding:.625rem .875rem;
  background:var(--card-bg); color:var(--text);
  border:1px solid var(--border); border-radius:var(--radius);
  font-size:14px; font-family:var(--font-sans); transition:border-color .15s;
}
.pep-field input:focus, .pep-field select:focus, .pep-field textarea:focus { outline:none; border-color:var(--primary); }
.pep-field textarea { resize:vertical; min-height:120px; }

/* ── Footer ───────────────────────────────────────────── */
.pep-footer { background:var(--navy); color:rgba(255,255,255,.75); }
.pep-footer-main { max-width:1280px; margin:0 auto; padding:3.5rem 1.5rem 2.5rem; display:flex; flex-direction:column; gap:2.5rem; }
@media(min-width:768px){ .pep-footer-main { flex-direction:row; align-items:flex-start; justify-content:space-between; } }
.pep-footer-brand { flex-shrink:0; }
@media(min-width:768px){ .pep-footer-brand { width:220px; } }
.pep-footer-tagline { margin-top:.75rem; font-size:13px; color:rgba(255,255,255,.5); }
.pep-footer-socials { margin-top:1.5rem; display:flex; align-items:center; gap:1rem; color:rgba(255,255,255,.55); }
.pep-footer-socials a:hover { color:#fff; }
.pep-footer-cols { flex:1; display:grid; grid-template-columns:repeat(2,1fr); gap:2rem; }
@media(min-width:640px){ .pep-footer-cols { grid-template-columns:repeat(3,1fr); } }
@media(min-width:1024px){ .pep-footer-cols { grid-template-columns:repeat(6,1fr); } }
.pep-footer-col h4 { font-family:var(--font-disp); font-size:13px; font-weight:600; color:#fff; margin:0 0 .75rem; }
.pep-footer-col ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.5rem; }
.pep-footer-col a { font-size:12.5px; color:rgba(255,255,255,.55); transition:color .15s; }
.pep-footer-col a:hover { color:#fff; }
.pep-footer-col p { font-size:12.5px; color:rgba(255,255,255,.55); margin:.25rem 0; }
.pep-footer-bottom { border-top:1px solid rgba(255,255,255,.08); }
.pep-footer-bottom-inner {
  max-width:1280px; margin:0 auto; padding:1.25rem 1.5rem;
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem;
  font-size:12px; color:rgba(255,255,255,.4);
}
.pep-footer-bottom-links { display:flex; align-items:center; gap:1.5rem; }
.pep-footer-bottom a:hover { color:#fff; }

/* ── Age Gate ─────────────────────────────────────────── */
#pep-age-gate {
  position:fixed; inset:0; z-index:99999;
  background:rgba(1,22,64,.85); backdrop-filter:blur(12px);
  display:flex; align-items:center; justify-content:center; padding:1.5rem;
}
.pep-gate-box {
  background:var(--light-bg); border-radius:1rem; padding:2.5rem;
  max-width:440px; width:100%; text-align:center;
  box-shadow:0 40px 80px rgba(1,22,64,.35);
  border:1px solid var(--border);
}
.pep-gate-logo { display:flex; flex-direction:column; align-items:center; margin-bottom:2rem; }
.pep-gate-logo-name { font-family:var(--font-disp); font-size:1.75rem; font-weight:600; letter-spacing:-.03em; color:var(--text); }
.pep-gate-logo-sub { font-family:var(--font-mono); font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:var(--text-secondary); margin-top:.25rem; }
.pep-gate-title { font-family:var(--font-disp); font-size:1.375rem; font-weight:600; color:var(--text); letter-spacing:-.02em; margin:0 0 .75rem; }
.pep-gate-desc { font-size:13.5px; color:var(--text-secondary); line-height:1.65; margin:0 0 2rem; }
.pep-gate-actions { display:flex; flex-direction:column; gap:.625rem; margin-bottom:1.5rem; }
.pep-gate-enter {
  padding:.875rem 1.5rem; background:var(--navy); color:#fff;
  border:none; border-radius:var(--radius); font-size:14px; font-weight:500;
  cursor:pointer; font-family:var(--font-sans); transition:background .15s;
}
.pep-gate-enter:hover { background:var(--slate); }
.pep-gate-exit {
  padding:.875rem 1.5rem; background:transparent;
  border:1px solid var(--border); border-radius:var(--radius);
  font-size:13px; color:var(--text-secondary); cursor:pointer;
  font-family:var(--font-sans); transition:border-color .2s, color .2s;
}
.pep-gate-exit:hover { border-color:var(--slate); color:var(--text); }
.pep-gate-legal { font-size:11.5px; color:var(--text-secondary); line-height:1.6; }
.pep-gate-legal a { color:var(--primary); }

/* ── Tidio ────────────────────────────────────────────── */
#tidio-chat { z-index:9000 !important; }

/* ── Responsive nav ───────────────────────────────────── */
@media(max-width:768px){
  .pep-nav { display:none; }
  .pep-mobile-toggle { display:flex; }
  .pep-hero-inner { grid-template-columns:1fr; }
  .pep-hero-img-col { display:none; }
}
/* Mobile drawer é gerenciado via style inline no PHP (sem JS de classe) */

/* ══ HERO COM IMAGEM DE FUNDO ══════════════════════════════ */
.pep-hero-bg {
  position:relative;
  min-height:420px;
  background-size:cover;
  background-position:center 35%;
  background-repeat:no-repeat;
  background-color:var(--navy);
}
.pep-hero-overlay {
  position:absolute; inset:0; z-index:0;
  background:linear-gradient(
    105deg,
    rgba(1,22,64,.88) 0%,
    rgba(1,22,64,.75) 45%,
    rgba(1,22,64,.28) 75%,
    rgba(1,22,64,.08) 100%
  );
}
.pep-hero-inner-full {
  position:relative; z-index:1;
  max-width:1280px; margin:0 auto;
  padding:5rem 1.5rem 5.5rem;
}
.pep-hero-content { max-width:600px; }

/* Hero buttons (sobre fundo escuro) */
.pep-btn-hero-primary {
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--primary); color:#fff;
  font-size:14px; font-weight:600; padding:.9rem 1.875rem;
  border-radius:var(--radius); border:none; cursor:pointer; text-decoration:none;
  transition:background .15s, transform .1s, box-shadow .15s;
  box-shadow:0 4px 20px rgba(4,75,217,.45);
}
.pep-btn-hero-primary:hover {
  background:var(--primary-hover); color:#fff;
  transform:translateY(-1px); box-shadow:0 8px 28px rgba(4,75,217,.55);
}
.pep-btn-hero-ghost {
  display:inline-flex; align-items:center; gap:.5rem;
  background:rgba(255,255,255,.1); color:#fff;
  font-size:14px; font-weight:500; padding:.9rem 1.875rem;
  border-radius:var(--radius); border:1.5px solid rgba(255,255,255,.35);
  cursor:pointer; text-decoration:none; backdrop-filter:blur(4px);
  transition:background .15s, border-color .15s;
}
.pep-btn-hero-ghost:hover {
  background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.65); color:#fff;
}

/* ══ BOTÕES DE COMPRA PROFISSIONAIS ════════════════════════ */
/* WooCommerce add-to-cart */
.woocommerce .single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button {
  background:var(--primary) !important; color:#fff !important;
  font-family:var(--font-sans) !important; font-weight:600 !important;
  font-size:14px !important; border-radius:var(--radius) !important;
  padding:.875rem 1.75rem !important; border:none !important;
  cursor:pointer; transition:background .15s, transform .1s !important;
  box-shadow:0 2px 12px rgba(4,75,217,.3) !important;
  display:inline-flex !important; align-items:center; gap:.5rem;
}
.woocommerce .single_add_to_cart_button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background:var(--primary-hover) !important; color:#fff !important;
  transform:translateY(-1px) !important;
}
/* Botão "View Specifications" nos product cards */
.pep-product-btn {
  background:var(--primary) !important; color:#fff !important;
  border:none !important; font-weight:600 !important;
  font-size:13px !important; padding:.65rem 1rem !important;
  border-radius:var(--radius) !important;
  transition:background .15s, transform .1s !important;
}
.pep-product-btn:hover {
  background:var(--primary-hover) !important; color:#fff !important;
  transform:translateY(-1px) !important;
}
/* Botão "Add to Cart" nos loop/archive */
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .button {
  background:var(--primary) !important; color:#fff !important;
  border-radius:var(--radius) !important; font-weight:600 !important;
  border:none !important; box-shadow:none !important;
}
.woocommerce ul.products li.product .add_to_cart_button:hover,
.woocommerce ul.products li.product .button:hover {
  background:var(--primary-hover) !important;
}

@media(max-width:768px){
  .pep-hero-inner-full { padding:3rem 1.5rem 3.5rem; }
  .pep-hero-content { max-width:100%; }
  .pep-hero-bg { background-position:70% center; }
}

/* ══════════════════════════════════════════════════════════
   OVERRIDE CRÍTICO — forçar background claro em TODAS páginas
   (peptider.css do Lovable tem dark-mode que vaza)
   ══════════════════════════════════════════════════════════ */
html { background: var(--light-bg) !important; }
body,
body.woocommerce,
body.woocommerce-page,
body.page,
body.archive,
body.single-product,
.woocommerce,
main,
#main,
#content,
.site-content,
.entry-content,
[class*="elementor-section"],
[class*="e-container"] {
  background: var(--light-bg) !important;
  color: var(--text) !important;
}

/* Garantir que o pep-page-wrapper (nossos templates) tenha fundo claro */
.pep-page-wrapper,
.pep-shop-page,
.pep-science-page,
.pep-lab-page,
.pep-research-page {
  background: var(--light-bg) !important;
  min-height: 80vh;
}

/* ── Shop Page Layout ────────────────────────────────────── */
.pep-shop-hero {
  background: var(--navy);
  padding: 3.5rem 1.5rem 3rem;
}
.pep-shop-hero-inner {
  max-width: 1280px;
  margin: 0 auto;
}
.pep-shop-title {
  color: #fff !important;
  font-family: var(--font-disp) !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 700 !important;
  margin: .25rem 0 .75rem !important;
  line-height: 1.15 !important;
}
.pep-shop-subtitle {
  color: rgba(255,255,255,.78) !important;
  max-width: 680px;
  font-size: 15px;
  line-height: 1.65;
  margin: 0 0 1rem !important;
}
.pep-disclaimer-inline {
  color: rgba(255,255,255,.5) !important;
  font-size: 11px !important;
  letter-spacing: .06em;
  margin: 0 !important;
}
.pep-section-label {
  color: var(--accent) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin: 0 0 .5rem !important;
}

.pep-shop-body { padding: 3rem 1.5rem 4rem; background: var(--light-bg); }
.pep-shop-body-inner {
  max-width: 1280px; margin: 0 auto;
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 2.5rem;
  align-items: start;
}
@media(max-width:900px){
  .pep-shop-body-inner { grid-template-columns: 1fr; }
  .pep-shop-sidebar { display:none; }
}

/* Sidebar */
.pep-shop-sidebar {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.25rem;
  position: sticky;
  top: 90px;
}
.pep-sidebar-title {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-secondary) !important;
  margin: 0 0 .75rem !important;
}
.pep-sidebar-divider { border: none; border-top: 1px solid var(--border); margin: 1.25rem 0; }
.pep-cat-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .25rem; }
.pep-cat-list li a {
  display: block;
  padding: .45rem .75rem;
  border-radius: calc(var(--radius) - 2px);
  font-size: 13.5px;
  color: var(--text) !important;
  font-weight: 500;
  transition: background .12s, color .12s;
}
.pep-cat-list li a:hover,
.pep-cat-list li.active > a {
  background: var(--primary);
  color: #fff !important;
}
.pep-cat-children { list-style: none; margin: .25rem 0 0 1rem; padding: 0; }
.pep-cat-children li a { font-size: 13px; font-weight: 400; }

.pep-sort-links { display: flex; flex-direction: column; gap: .25rem; }
.pep-sort-link {
  display: block;
  padding: .4rem .75rem;
  border-radius: calc(var(--radius) - 2px);
  font-size: 13px;
  color: var(--text) !important;
  transition: background .12s, color .12s;
}
.pep-sort-link:hover,
.pep-sort-link.active { background: var(--surface-2); color: var(--primary) !important; font-weight: 600; }

/* Shop product grid override */
.pep-shop-main ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 1.25rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.pep-shop-main ul.products li.product {
  background: var(--card-bg) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  padding: 1rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .5rem !important;
  transition: box-shadow .15s !important;
}
.pep-shop-main ul.products li.product:hover {
  box-shadow: 0 4px 20px rgba(4,75,217,.1) !important;
}
.pep-shop-main ul.products li.product a.woocommerce-loop-product__link img {
  border-radius: calc(var(--radius) - 2px) !important;
  width: 100% !important; height: 180px !important; object-fit: cover !important;
}
.pep-shop-main ul.products li.product .woocommerce-loop-product__title {
  font-size: 14px !important; font-weight: 600 !important;
  color: var(--text) !important; margin: 0 !important;
}
.pep-shop-main ul.products li.product .price {
  color: var(--primary) !important; font-weight: 700 !important; font-size: 15px !important;
}
.pep-shop-main ul.products li.product .button {
  margin-top: auto !important;
  background: var(--primary) !important;
  color: #fff !important;
  border-radius: var(--radius) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  padding: .6rem 1rem !important;
  border: none !important;
  text-align: center !important;
}
.pep-shop-main ul.products li.product .button:hover {
  background: var(--primary-hover) !important;
}

.pep-shop-pagination { margin-top: 2.5rem; display: flex; justify-content: center; }
.pep-shop-pagination .page-numbers {
  display: inline-flex; gap: .375rem;
}
.pep-shop-pagination .page-numbers a,
.pep-shop-pagination .page-numbers span {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2.25rem; height: 2.25rem;
  border-radius: var(--radius);
  background: var(--card-bg); border: 1px solid var(--border);
  font-size: 14px; font-weight: 500; color: var(--text) !important;
  transition: background .12s, color .12s;
}
.pep-shop-pagination .page-numbers a:hover { background: var(--surface-2); }
.pep-shop-pagination .page-numbers .current {
  background: var(--primary) !important; color: #fff !important; border-color: var(--primary);
}

.pep-empty-shop {
  display: flex; flex-direction: column; align-items: center; gap: 1rem;
  padding: 4rem 2rem; color: var(--text-secondary) !important;
}
.pep-btn-sm {
  background: var(--primary); color: #fff; border-radius: var(--radius);
  padding: .6rem 1.25rem; font-size: 14px; font-weight: 600;
}

/* ── Single Product page background ────────────────────── */
body.single-product #page,
body.single-product .woocommerce-notices-wrapper,
body.single-product .woocommerce-breadcrumb {
  background: var(--light-bg) !important;
}
body.single-product .woocommerce-breadcrumb {
  max-width: 1280px; margin: 1rem auto 0; padding: 0 1.5rem;
  font-size: 13px; color: var(--text-secondary) !important;
}

/* ── WooCommerce Breadcrumb ─────────────────────────────── */
.woocommerce-breadcrumb {
  background: transparent !important;
  font-size: 13px !important;
  color: var(--text-secondary) !important;
  padding: 0 !important;
}
.woocommerce-breadcrumb a { color: var(--primary) !important; }

/* ══════════════════════════════════════════════════════════
   MY ACCOUNT PAGE
   ══════════════════════════════════════════════════════════ */
.pep-account-page { background: var(--light-bg) !important; min-height: 80vh; }

.pep-account-hero {
  background: var(--navy);
  padding: 2.5rem 1.5rem 2rem;
}
.pep-account-hero-inner { max-width: 1280px; margin: 0 auto; }
.pep-account-title {
  color: #fff !important;
  font-family: var(--font-disp) !important;
  font-size: clamp(1.5rem, 3vw, 2.25rem) !important;
  font-weight: 700 !important;
  margin: .25rem 0 0 !important;
}

.pep-account-body { padding: 2.5rem 1.5rem 4rem; background: var(--light-bg); }
.pep-account-body-inner {
  max-width: 1280px; margin: 0 auto;
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 2rem;
  align-items: start;
}
@media(max-width:768px){ .pep-account-body-inner { grid-template-columns: 1fr; } }

.pep-account-sidebar {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1rem;
  position: sticky;
  top: 90px;
}
.pep-account-nav { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .25rem; }
.pep-account-nav-item a {
  display: flex; align-items: center; gap: .625rem;
  padding: .6rem .875rem;
  border-radius: calc(var(--radius) - 2px);
  font-size: 13.5px; font-weight: 500;
  color: var(--text) !important;
  transition: background .12s, color .12s;
}
.pep-account-nav-item a:hover,
.pep-account-nav-item.active a {
  background: var(--primary);
  color: #fff !important;
}
.pep-account-nav-item.logout a { color: #c0392b !important; margin-top: .5rem; }
.pep-account-nav-item.logout a:hover { background: #fdf2f2; color: #c0392b !important; }

.pep-account-main {
  background: var(--card-bg) !important;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 2rem;
}

/* WooCommerce content inside account */
.pep-account-main .woocommerce-MyAccount-content,
.pep-account-main p,
.pep-account-main h2,
.pep-account-main h3 {
  color: var(--text) !important;
  background: transparent !important;
}
.pep-account-main table.woocommerce-orders-table {
  width: 100%; border-collapse: collapse;
}
.pep-account-main table.woocommerce-orders-table th {
  font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: var(--text-secondary) !important; padding: .5rem .75rem;
  border-bottom: 2px solid var(--border);
}
.pep-account-main table.woocommerce-orders-table td {
  padding: .875rem .75rem; font-size: 14px;
  border-bottom: 1px solid var(--border);
  color: var(--text) !important;
}
.pep-account-main .woocommerce-button,
.pep-account-main .button {
  background: var(--primary) !important; color: #fff !important;
  border-radius: var(--radius) !important; font-weight: 600 !important;
  font-size: 13px !important; padding: .45rem .875rem !important;
  border: none !important; text-decoration: none !important;
  display: inline-block !important;
}
.pep-account-main .woocommerce-button:hover,
.pep-account-main .button:hover { background: var(--primary-hover) !important; }

/* Form fields inside account */
.pep-account-main input[type="text"],
.pep-account-main input[type="email"],
.pep-account-main input[type="password"],
.pep-account-main select,
.pep-account-main textarea {
  width: 100%; padding: .65rem .875rem;
  border: 1px solid var(--border); border-radius: var(--radius);
  font-size: 14px; font-family: var(--font-sans);
  background: #fff !important; color: var(--text) !important;
  outline: none;
}
.pep-account-main input:focus, .pep-account-main select:focus {
  border-color: var(--primary); box-shadow: 0 0 0 3px rgba(4,75,217,.1);
}
.pep-account-main label {
  font-size: 13px; font-weight: 600; color: var(--text) !important;
  display: block; margin-bottom: .375rem;
}

/* ══════════════════════════════════════════════════════════
   WooCommerce account content — força cores claras
   ══════════════════════════════════════════════════════════ */
.woocommerce-MyAccount-content,
.woocommerce-MyAccount-content *:not(a):not(button):not(.button) {
  color: var(--text) !important;
  background-color: transparent !important;
}
.woocommerce-MyAccount-content table {
  width: 100%;
  border-collapse: collapse;
}
.woocommerce-MyAccount-content table th {
  font-size: 11px; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; color: var(--text-secondary) !important;
  padding: .5rem .75rem; border-bottom: 2px solid var(--border);
  background: transparent !important;
}
.woocommerce-MyAccount-content table td {
  padding: .875rem .75rem; font-size: 14px;
  border-bottom: 1px solid var(--border);
  color: var(--text) !important; background: transparent !important;
}
.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content a.button,
.woocommerce-MyAccount-content button.button {
  background: var(--primary) !important; color: #fff !important;
  border-radius: var(--radius) !important; font-weight: 600 !important;
  font-size: 13px !important; padding: .45rem .875rem !important;
  border: none !important; text-decoration: none !important;
}
.woocommerce-MyAccount-content input[type="text"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="password"],
.woocommerce-MyAccount-content select,
.woocommerce-MyAccount-content textarea {
  background: #fff !important; color: var(--text) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  padding: .625rem .875rem !important; font-size: 14px !important;
}
.woocommerce-MyAccount-content input:focus,
.woocommerce-MyAccount-content select:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 3px rgba(4,75,217,.1) !important;
}
.woocommerce-MyAccount-content label {
  color: var(--text) !important; font-size: 13px !important; font-weight: 600 !important;
}

/* Força fundo claro SEMPRE — qualquer página */
html, body { background-color: var(--light-bg) !important; }
#page, #content, #main, .site, .site-content,
.wp-site-blocks, [data-elementor-type],
[class*="elementor-section-wrap"],
[class*="e-con"] {
  background-color: var(--light-bg) !important;
}

/* ══════════════════════════════════════════════════════════
   RESPONSIVO GLOBAL — Mobile & Tablet
   ══════════════════════════════════════════════════════════ */

/* ── Tablet (≤1024px) ─────────────────────────────────── */
@media(max-width:1024px){
  /* Inline grids 3 colunas → 2 colunas */
  [style*="grid-template-columns: repeat(3,1fr)"],
  [style*="grid-template-columns:repeat(3,1fr)"],
  [style*="grid-template-columns: repeat(3, 1fr)"] {
    grid-template-columns: repeat(2,1fr) !important;
  }
  /* Stats de 4 colunas → 2 */
  [style*="grid-template-columns: repeat(4,1fr)"],
  [style*="grid-template-columns:repeat(4,1fr)"],
  [style*="grid-template-columns: repeat(4, 1fr)"] {
    grid-template-columns: repeat(2,1fr) !important;
  }
  /* Grids 2 colunas desiguais → equal */
  [style*="grid-template-columns: 1.2fr 1fr"],
  [style*="grid-template-columns:1.2fr 1fr"],
  [style*="grid-template-columns: 1.1fr 1fr"],
  [style*="grid-template-columns:1.1fr 1fr"] {
    grid-template-columns: 1fr 1fr !important;
  }
  /* Sidebar shop/account em tablet */
  [style*="grid-template-columns: 220px 1fr"],
  [style*="grid-template-columns:220px 1fr"] {
    grid-template-columns: 200px 1fr !important;
    gap: 1.5rem !important;
  }
}

/* ── Mobile (≤768px) ──────────────────────────────────── */
@media(max-width:768px){

  /* ── Todos os grids inline → single column ── */
  [style*="grid-template-columns: 220px"],
  [style*="grid-template-columns:220px"],
  [style*="grid-template-columns: 1.2fr"],
  [style*="grid-template-columns:1.2fr"],
  [style*="grid-template-columns: 1.1fr"],
  [style*="grid-template-columns:1.1fr"],
  [style*="grid-template-columns: 1fr 1fr"],
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns: repeat(2"],
  [style*="grid-template-columns:repeat(2"],
  [style*="grid-template-columns: repeat(3"],
  [style*="grid-template-columns:repeat(3"],
  [style*="grid-template-columns: repeat(4"],
  [style*="grid-template-columns:repeat(4"] {
    grid-template-columns: 1fr !important;
  }

  /* ── Hero sections ── */
  [style*="padding:3.5rem 1.5rem 3rem"],
  [style*="padding: 3.5rem 1.5rem 3rem"],
  [style*="padding:4.5rem 1.5rem 4rem"],
  [style*="padding: 4.5rem 1.5rem 4rem"],
  [style*="padding:2.5rem 1.5rem 2rem"],
  [style*="padding: 2.5rem 1.5rem 2rem"] {
    padding: 2.5rem 1.25rem 2rem !important;
  }

  /* ── Body sections ── */
  [style*="padding:3rem 1.5rem 4rem"],
  [style*="padding: 3rem 1.5rem 4rem"],
  [style*="padding:2.5rem 1.5rem 4rem"],
  [style*="padding: 2.5rem 1.5rem 4rem"] {
    padding: 2rem 1rem 2.5rem !important;
  }

  /* ── Sticky sidebars (esconder no mobile) ── */
  [style*="position:sticky"],
  [style*="position: sticky"] {
    position: relative !important;
    top: auto !important;
  }

  /* ── Flex rows → column no mobile ── */
  [style*="display:flex"][style*="gap:.375rem"],
  [style*="display: flex"][style*="gap: .375rem"] {
    flex-wrap: wrap !important;
  }

  /* ── Form 2 colunas → 1 ── */
  [style*="grid-template-columns: 1fr 1fr"],
  [style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }

  /* ── Cards e conteúdo: padding menor ── */
  [style*="padding:2rem"],
  [style*="padding: 2rem"] {
    padding: 1.25rem !important;
  }
  [style*="padding:1.75rem"],
  [style*="padding: 1.75rem"] {
    padding: 1.25rem !important;
  }

  /* ── Título hero menor ── */
  [style*="font-size:clamp(2rem"] {
    font-size: clamp(1.5rem, 5vw, 2rem) !important;
  }

  /* ── Trust grid ── */
  .pep-trust-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  /* ── Product grid da home ── */
  .pep-products {
    grid-template-columns: 1fr 1fr !important;
  }

  /* ── Footer ── */
  .pep-footer-cols {
    grid-template-columns: 1fr 1fr !important;
  }
  .pep-footer-main {
    flex-direction: column !important;
  }

  /* ── Nav mobile: sidebar escondida no account/shop ── */
  .pep-shop-sidebar,
  .pep-account-sidebar,
  aside[style*="sticky"] {
    display: none !important;
  }

  /* ── Topbar: comprimir ── */
  .pep-topbar-inner {
    padding: .4rem 1rem !important;
    font-size: 12px !important;
  }

  /* ── Header inner ── */
  .pep-header-inner {
    padding: .75rem 1rem !important;
  }

  /* ── Conteúdo de página: padding lateral menor ── */
  .pep-content {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  /* ── Card section padding ── */
  .pep-card-section {
    padding: 1.25rem !important;
  }

  /* ── FAQ ── */
  .pep-faq-btn {
    font-size: 13px !important;
  }

  /* ── Esconder segundo separador no topbar ── */
  .pep-topbar .hide-sm { display: none !important; }

  /* ── Hero overlay: mais opaco no mobile (imagem atrás fica pequena) ── */
  .pep-hero-overlay {
    background: linear-gradient(180deg, rgba(1,22,64,.92) 0%, rgba(1,22,64,.85) 100%) !important;
  }
}

/* ── Mobile pequeno (≤480px) ──────────────────────────── */
@media(max-width:480px){
  .pep-trust-grid { grid-template-columns: 1fr !important; }
  .pep-products   { grid-template-columns: 1fr !important; }
  .pep-footer-cols { grid-template-columns: 1fr !important; }

  .pep-logo-name { font-size: 18px !important; }

  /* Botões hero: stack */
  .pep-hero-actions {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .pep-btn-hero-primary,
  .pep-btn-hero-ghost {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* ── Nav mobile: movido para o bloco "MOBILE NAV" abaixo ─── */

/* ══════════════════════════════════════════════════════════
   LAYOUT CLASSES — usadas nos templates para responsividade
   ══════════════════════════════════════════════════════════ */

/* Wrapper de página com fundo claro */
.pep-page { background: var(--light-bg); min-height: 80vh; }

/* Body section com max-width e padding */
.pep-body { max-width: 1280px; margin: 0 auto; padding: 3rem 1.5rem 4rem; }
.pep-body-sm { max-width: 1280px; margin: 0 auto; padding: 2rem 1.5rem 3rem; }

/* Grid 2 colunas iguais */
.pep-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: start; }
/* Grid 2 colunas desiguais (conteúdo + sidebar) */
.pep-grid-2-wide { display: grid; grid-template-columns: 1.2fr 1fr; gap: 2rem; align-items: start; }
/* Grid 3 colunas */
.pep-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
/* Grid 4 colunas */
.pep-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
/* Grid auto-fill cards */
.pep-grid-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1.25rem; }
/* Layout com sidebar */
.pep-sidebar-layout { display: grid; grid-template-columns: 220px 1fr; gap: 2.5rem; align-items: start; }

/* Card branco padrão */
.pep-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.75rem;
}
.pep-card-sm { padding: 1.25rem; }

/* Sticky sidebar */
.pep-sticky { position: sticky; top: 90px; }

/* ── Tablet (≤1024px) ─────────────────────────────────── */
@media(max-width:1024px){
  .pep-grid-3 { grid-template-columns: repeat(2, 1fr); }
  .pep-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .pep-grid-2-wide { grid-template-columns: 1fr; }
  .pep-sidebar-layout { grid-template-columns: 190px 1fr; gap: 1.5rem; }
  .pep-body { padding: 2.5rem 1.25rem 3rem; }
}

/* ── Mobile (≤768px) ──────────────────────────────────── */
@media(max-width:768px){
  .pep-grid-2,
  .pep-grid-2-wide,
  .pep-grid-3,
  .pep-grid-4,
  .pep-sidebar-layout { grid-template-columns: 1fr !important; }

  /* Esconder sidebar no mobile */
  .pep-sidebar-layout > aside,
  .pep-sidebar-layout > .pep-sidebar { display: none !important; }

  .pep-body { padding: 1.75rem 1rem 2.5rem; }
  .pep-body-sm { padding: 1.5rem 1rem 2rem; }
  .pep-card { padding: 1.25rem; }
  .pep-sticky { position: relative; top: auto; }

  /* Stats row */
  .pep-grid-4 { grid-template-columns: repeat(2, 1fr) !important; }

  /* Formulários: 2col → 1col */
  .pep-form-2col { grid-template-columns: 1fr !important; }
}

/* ── Mobile pequeno (≤480px) ─────────────────────────── */
@media(max-width:480px){
  .pep-grid-2,
  .pep-grid-3,
  .pep-grid-4 { grid-template-columns: 1fr !important; }

  .pep-grid-cards { grid-template-columns: 1fr 1fr !important; }

  .pep-hero-actions { flex-direction: column !important; }
  .pep-btn-hero-primary,
  .pep-btn-hero-ghost { width: 100% !important; justify-content: center !important; }
}

/* Shop mobile banner — oculto no desktop, visível só no mobile */
.pep-shop-mobile-banner { display:none; }
@media(max-width:768px){
  .pep-shop-mobile-banner { display: block !important; }
}

/* ══ PROMO TICKER — topbar rotating announcements ═══════════ */
.pep-topbar-cta { display:inline-flex; align-items:center; gap:.35rem; color:rgba(255,255,255,.8); font-size:12px; white-space:nowrap; flex-shrink:0; }
.pep-topbar-cta:hover { color:#fff; }
.pep-promo-ticker { display:flex; align-items:center; }
.pep-ticker-item {
  display:none; /* hidden by default; JS controls visibility */
  align-items:center; gap:.375rem;
  font-size:13px; color:rgba(255,255,255,.85);
}
.pep-ticker-item strong { color:#fff; }
/* First item shown by default (class added in HTML) */
.pep-ticker-active { display:flex !important; }

/* ══ MOBILE DRAWER — gerenciado via inline styles no PHP + JS ══
   O drawer (#pep-drawer) usa style="display:none/block" via JS.
   O CSS abaixo cuida apenas de detalhes de mobile.
   ══════════════════════════════════════════════════════════════ */
@media(max-width:768px){
  /* Ensure header is positioned so absolute drawer works */
  .pep-header { position:relative !important; }
  /* Cart badge */
  .pep-cart-badge { font-size:10px !important; min-width:16px !important; height:16px !important; }
  /* Search overlay */
  #pep-search-
/* ══════════════════════════════════════════════════════════
   v19 — SINGLE PRODUCT (PDP) + CART + CHECKOUT
   Padronização visual: paleta, fonte, cards e botões do tema
   ══════════════════════════════════════════════════════════ */

/* ── PDP: layout ──────────────────────────────────────── */
.pep-pdp-grid {
  display:grid; grid-template-columns:minmax(0,380px) 1fr; gap:2.5rem; align-items:start;
}
@media(max-width:900px){ .pep-pdp-grid { grid-template-columns:1fr; gap:1.5rem; } }

/* Galeria */
.pep-pdp-gallery-main {
  border:1px solid var(--border); border-radius:var(--radius);
  background:var(--card-bg); overflow:hidden; aspect-ratio:1;
}
.pep-pdp-gallery-main img { width:100%; height:100%; object-fit:cover; }
.pep-pdp-thumbs { display:flex; gap:.625rem; margin-top:.75rem; flex-wrap:wrap; }
.pep-pdp-thumb {
  width:64px; height:64px; padding:0; border-radius:.375rem; cursor:pointer;
  border:1px solid var(--border); background:var(--card-bg); overflow:hidden;
  transition:border-color .15s;
}
.pep-pdp-thumb img { width:100%; height:100%; object-fit:cover; }
.pep-pdp-thumb.is-active { border-color:var(--primary); box-shadow:0 0 0 1px var(--primary); }

/* Card de compra */
.pep-pdp-summary {
  border:1px solid var(--border); border-radius:.75rem;
  background:var(--surface-3); padding:1.75rem;
}
.pep-pdp-eyebrow {
  font-size:11px; font-family:var(--font-mono); letter-spacing:.12em;
  text-transform:uppercase; color:var(--primary); font-weight:600; margin-bottom:.625rem;
}
.pep-pdp-eyebrow a { color:var(--primary); }
.pep-pdp-title {
  font-family:var(--font-disp); font-size:clamp(1.6rem,3.2vw,2.1rem);
  font-weight:600; line-height:1.1; letter-spacing:-.02em; color:var(--text); margin:0 0 .75rem;
}
.pep-pdp-price { font-size:1.75rem; font-weight:700; color:var(--primary); margin-bottom:.875rem; }
.pep-pdp-price del { color:var(--text-secondary); font-weight:400; font-size:1.1rem; opacity:.7; margin-right:.5rem; }
.pep-pdp-price ins { text-decoration:none; }

.pep-pdp-stock {
  display:inline-flex; align-items:center; gap:.45rem;
  font-size:13px; font-weight:500; margin-bottom:1.25rem;
}
.pep-pdp-stock.in { color:#15803d; }
.pep-pdp-stock.out { color:#b91c1c; }
.pep-pdp-dot { width:8px; height:8px; border-radius:50%; background:currentColor; }

.pep-pdp-short {
  font-size:14.5px; color:var(--slate); line-height:1.7;
  padding-bottom:1.25rem; margin-bottom:1.25rem; border-bottom:1px solid var(--border);
}
.pep-pdp-short p { margin:0 0 .5rem; }

/* Formulário add-to-cart dentro do card */
.pep-pdp-form { margin-bottom:1.5rem; }
.pep-pdp-form .quantity { display:inline-flex; margin-right:.75rem; }
.pep-pdp-form .quantity input.qty {
  width:64px; height:48px; text-align:center;
  border:1px solid var(--border) !important; border-radius:var(--radius);
  background:#fff !important; color:var(--text) !important;
  -webkit-text-fill-color:var(--text) !important;
  font-size:15px; font-weight:600; font-family:var(--font-sans);
}
.pep-pdp-form .cart { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; }
.pep-pdp-form .single_add_to_cart_button { flex:1; min-width:200px; justify-content:center; }
.pep-pdp-form .variations { width:100%; margin-bottom:1rem; }
.pep-pdp-form .variations td, .pep-pdp-form .variations th { padding:.4rem 0; }
.pep-pdp-form .variations select {
  width:100%; padding:.7rem .875rem; border:1px solid var(--border);
  border-radius:var(--radius); background:var(--light-bg); color:var(--text);
  font-family:var(--font-sans); font-size:14px;
}

/* Meta */
.pep-pdp-meta { border-top:1px solid var(--border); padding-top:1rem; margin-bottom:1.25rem; }
.pep-pdp-meta-row {
  display:flex; justify-content:space-between; font-size:13px;
  padding:.4rem 0; border-bottom:1px solid var(--border);
}
.pep-pdp-meta-row:last-child { border-bottom:none; }
.pep-pdp-meta-row span { color:var(--text-secondary); }
.pep-pdp-meta-row strong { color:var(--text); font-weight:600; font-family:var(--font-mono); font-size:12.5px; }

/* Trust */
.pep-pdp-trust { display:flex; flex-wrap:wrap; gap:.875rem 1.25rem; padding:1rem 0; border-top:1px solid var(--border); }
.pep-pdp-trust-item { display:inline-flex; align-items:center; gap:.45rem; font-size:12.5px; font-weight:500; color:var(--text); }
.pep-pdp-disclaimer { font-size:11px; letter-spacing:.04em; text-transform:uppercase; color:var(--text-secondary); margin:.75rem 0 0; }

/* Descrição + relacionados */
.pep-pdp-desc {
  border:1px solid var(--border); border-radius:.75rem;
  background:var(--surface-3); padding:1.75rem;
}
.pep-pdp-section-title {
  font-family:var(--font-disp); font-size:1.25rem; font-weight:600;
  color:var(--text); margin:0 0 1.25rem;
}
.pep-pdp-desc-body { font-size:14.5px; color:var(--slate); line-height:1.8; max-width:760px; }
.pep-pdp-desc-body h2, .pep-pdp-desc-body h3 { font-family:var(--font-disp); color:var(--text); }
.pep-pdp-desc-body p { margin:0 0 1rem; }

.pep-pdp-related { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; }
@media(max-width:900px){ .pep-pdp-related { grid-template-columns:repeat(2,1fr); } }
@media(max-width:480px){ .pep-pdp-related { grid-template-columns:1fr; } }
.pep-pdp-rel-card {
  background:var(--card-bg); border:1px solid var(--border);
  border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column;
  transition:transform .15s, box-shadow .15s;
}
.pep-pdp-rel-card:hover { transform:translateY(-2px); box-shadow:0 6px 24px rgba(1,22,64,.1); }
.pep-pdp-rel-img { display:block; aspect-ratio:1; overflow:hidden; }
.pep-pdp-rel-img img { width:100%; height:100%; object-fit:cover; }
.pep-pdp-rel-body { padding:1rem; display:flex; flex-direction:column; gap:.5rem; flex:1; }
.pep-pdp-rel-name { font-size:14px; font-weight:600; color:var(--text); line-height:1.35; }
.pep-pdp-rel-price { color:var(--primary); font-weight:700; font-size:15px; }
.pep-pdp-rel-btn {
  margin-top:auto; text-align:center; background:var(--primary); color:#fff;
  font-size:13px; font-weight:600; padding:.6rem .875rem; border-radius:var(--radius);
  transition:background .15s;
}
.pep-pdp-rel-btn:hover { background:var(--primary-hover); color:#fff; }

/* ══ CART + CHECKOUT — cabeçalho padrão ════════════════════ */
.pep-woo-eyebrow {
  font-size:11px; font-family:var(--font-mono); letter-spacing:.12em;
  text-transform:uppercase; color:var(--primary); font-weight:600; margin:0 0 .5rem;
}
.pep-woo-title {
  font-family:var(--font-disp); font-size:clamp(1.75rem,4vw,2.5rem);
  font-weight:600; letter-spacing:-.025em; color:var(--text); margin:0;
}

/* ── CART table ───────────────────────────────────────── */
.pep-woo-body .woocommerce { color:var(--text); }
.woocommerce table.shop_table,
.woocommerce-cart table.cart {
  border:1px solid var(--border) !important; border-radius:.75rem !important;
  border-collapse:separate !important; border-spacing:0 !important; overflow:hidden;
  background:var(--card-bg) !important; margin-bottom:1.5rem;
}
.woocommerce table.shop_table thead th,
.woocommerce-cart table.cart thead th {
  background:var(--surface-3) !important; color:var(--text) !important;
  font-family:var(--font-disp) !important; font-weight:600 !important;
  font-size:12.5px !important; letter-spacing:.04em; text-transform:uppercase;
  padding:1rem 1.25rem !important; border:none !important;
  border-bottom:1px solid var(--border) !important; text-align:left;
}
.woocommerce table.shop_table td,
.woocommerce-cart table.cart td {
  background:var(--card-bg) !important; color:var(--text) !important;
  padding:1rem 1.25rem !important; border-top:1px solid var(--border) !important;
  vertical-align:middle; font-size:14px;
}
.woocommerce-cart table.cart img { width:64px !important; border-radius:.375rem; border:1px solid var(--border); }
.woocommerce-cart table.cart td.product-name a { color:var(--text) !important; font-weight:600; }
.woocommerce-cart table.cart td.product-name a:hover { color:var(--primary) !important; }
.woocommerce a.remove {
  color:var(--text-secondary) !important; font-weight:700;
  border:1px solid var(--border); border-radius:50%;
  width:22px; height:22px; line-height:20px; text-align:center;
}
.woocommerce a.remove:hover { background:#b91c1c !important; color:#fff !important; border-color:#b91c1c; }
.woocommerce .quantity input.qty {
  width:64px; height:42px; text-align:center; padding:.4rem;
  border:1px solid var(--border) !important; border-radius:var(--radius);
  background:#fff !important; color:var(--text) !important;
  -webkit-text-fill-color:var(--text) !important;
  font-weight:600; font-family:var(--font-sans);
}
.woocommerce-cart td.actions { background:var(--card-bg) !important; }
.woocommerce-cart .coupon { display:flex; gap:.625rem; align-items:center; flex-wrap:wrap; }
.woocommerce-cart .coupon input#coupon_code {
  height:48px; padding:.5rem 1rem; min-width:200px;
  border:1px solid var(--border); border-radius:var(--radius);
  background:var(--light-bg); color:var(--text); font-family:var(--font-sans); font-size:14px;
}

/* Cart totals box */
.woocommerce-cart .cart-collaterals,
.woocommerce .cart_totals {
  float:none !important; width:100% !important; max-width:420px; margin-left:auto;
}
.woocommerce .cart_totals h2 {
  font-family:var(--font-disp) !important; font-size:1.1rem !important;
  font-weight:600 !important; color:var(--text) !important; margin:0 0 1rem !important;
}
.woocommerce .cart_totals table {
  border:1px solid var(--border) !important; border-radius:.75rem !important;
  overflow:hidden; background:var(--card-bg) !important;
}
.woocommerce .cart_totals table th {
  background:var(--card-bg) !important; color:var(--text-secondary) !important;
  font-weight:500 !important; padding:.875rem 1.25rem !important;
  border-top:1px solid var(--border) !important; font-size:13.5px;
}
.woocommerce .cart_totals table td {
  background:var(--card-bg) !important; color:var(--text) !important; font-weight:600;
  padding:.875rem 1.25rem !important; border-top:1px solid var(--border) !important; text-align:right;
}
.woocommerce .cart_totals .order-total th,
.woocommerce .cart_totals .order-total td { font-size:16px !important; color:var(--text) !important; }
.woocommerce .cart_totals .order-total .amount { color:var(--primary) !important; }
.wc-proceed-to-checkout { padding-top:1.25rem !important; }
.wc-proceed-to-checkout a.checkout-button {
  display:block !important; width:100%; text-align:center; font-size:15px !important;
  padding:1rem !important;
}

/* ── CHECKOUT ─────────────────────────────────────────── */
.woocommerce-checkout .col2-set, .woocommerce-checkout #customer_details {
  display:grid; grid-template-columns:1fr 1fr; gap:2rem; width:100% !important;
}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { width:100% !important; float:none !important; }
@media(max-width:768px){ .woocommerce-checkout .col2-set, .woocommerce-checkout #customer_details { grid-template-columns:1fr; gap:1.25rem; } }
.woocommerce-checkout h3 {
  font-family:var(--font-disp) !important; font-size:1.15rem !important;
  font-weight:600 !important; color:var(--text) !important; margin:0 0 1.25rem !important;
}
.woocommerce form .form-row label { color:var(--text) !important; font-size:13.5px; font-weight:500; margin-bottom:.35rem; display:block; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout .select2-container .select2-selection {
  border:1px solid var(--border) !important; border-radius:var(--radius) !important;
  background:var(--light-bg) !important; color:var(--text) !important;
  padding:.7rem .875rem !important; font-family:var(--font-sans) !important; font-size:14px !important;
  min-height:46px;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  outline:none !important; border-color:var(--primary) !important;
  box-shadow:0 0 0 3px rgba(4,75,217,.12) !important;
}
#order_review, #order_review_heading {
  background:var(--surface-3); border:1px solid var(--border);
  border-radius:.75rem; padding:1.5rem;
}
#order_review_heading { border-bottom:none; border-radius:.75rem .75rem 0 0; padding-bottom:0; margin:0; }
#order_review { border-radius:0 0 .75rem .75rem; border-top:none; }
.woocommerce-checkout #payment {
  background:var(--light-bg) !important; border-radius:var(--radius);
}
.woocommerce-checkout #payment ul.payment_methods {
  border-bottom:1px solid var(--border) !important; padding:1rem 0 !important;
}
.woocommerce-checkout #payment div.payment_box {
  background:var(--surface-2) !important; color:var(--slate) !important; border-radius:var(--radius);
}
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color:var(--surface-2) !important; }
.woocommerce #payment #place_order, .woocommerce-checkout #place_order {
  width:100%; justify-content:center; font-size:15px !important; padding:1rem !important; margin-top:1rem;
}

/* Notices / mensagens WooCommerce */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-radius:var(--radius) !important; border:1px solid var(--border) !important;
  background:var(--card-bg) !important; color:var(--text) !important;
  border-top:3px solid var(--primary) !important; font-size:14px;
}
.woocommerce-error { border-top-color:#b91c1c !important; }
.woocommerce-message::before, .woocommerce-info::before { color:var(--primary) !important; }

/* Cart vazio */
.cart-empty.woocommerce-info { text-align:center; }
.return-to-shop a.button { display:inline-flex; }


/* v19.2 — quantidade sempre legivel (defeat dark-mode herdado) */
input.qty,
.woocommerce input.qty,
.woocommerce .quantity input,
.quantity input[type="number"],
.quantity input[type="text"] {
  background:#fff !important;
  color:var(--text) !important;
  -webkit-text-fill-color:var(--text) !important;
  border:1px solid var(--border) !important;
  opacity:1 !important;
}
/* Garantir texto escuro nos campos de checkout */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  -webkit-text-fill-color:var(--text) !important;
}
