/* Reserve scrollbar gutter on <html> so the browser doesn't toggle the
   vertical scrollbar on/off when JS mutations briefly shift layout.
   Without this, Chrome on macOS can enter a scrollbar flicker loop on
   pages where the content height hovers near viewport height. */
html {
  scrollbar-gutter: stable !important;
}

/* Anti-FOUC: Hide showcase until JS relocates it into #pp-homepage */
.page-home .showcase,
.page-home .section-showcase {
  opacity: 0 !important;
  transition: opacity .3s ease !important;
}
.page-home .showcase.pp-revealed,
.page-home .section-showcase.pp-revealed {
  opacity: 1 !important;
}

/* ═══════════════════════════════════════════════════════════════
   ANTI-FOUC: Hide CMS subnav bars until JS restyles them.
   Target only divs with background:#1a2e1a (not color:#1a2e1a).
   ═══════════════════════════════════════════════════════════════ */
div[style*="background:#1a2e1a"],
div[style*="background: #1a2e1a"] {
  opacity: 0 !important;
  transition: opacity 0.2s ease !important;
}
div[style*="background:#1a2e1a"].pp-subnav-styled,
div[style*="background: #1a2e1a"].pp-subnav-styled,
.pp-subnav-styled {
  opacity: 1 !important;
}

/* ═══════════════════════════════════════════════════════════════
   ANTI-FOUC: Hide native Tray nav IMMEDIATELY — no .pp-enhanced guard.

   WHY: The old approach waited for JS to add .pp-enhanced before hiding
   the native nav. This caused the old theme nav to flash on every page
   load. This has regressed 3+ times — this fix is permanent.

   SAFE: Our CSS loads in <head> via <link>, so this rule applies before
   the browser paints the nav. If JS fails entirely, the store is broken
   anyway (no cart/checkout), so the guard was unnecessary.

   The custom nav (.pp-nav-list) is excluded so it stays visible.
   ═══════════════════════════════════════════════════════════════ */
/* Fix strobe flash: kill ALL transitions on header/nav that cause flicker */
.header,
.header .top-header,
.header .bg,
nav.nav {
  transition: none !important;
}

/* Nav background — always match header, never flash dark */
nav.nav,
nav.nav.show-nav {
  background: #2C2C2C !important;
}

/* When show-nav is removed by Plugoo scroll JS, hide nav instantly (no animation) */
nav.nav:not(.show-nav) {
  transform: none !important;
  opacity: 1 !important;
}

nav.nav .list.flex.justify-between,
nav.nav > .container > ul:not(.pp-nav-list) {
  display: none !important;
}

/* ════════════════════════════════════════════════════════════ */
/* Source: css/modules/_tokens.css */

/* ════════════════════════════════════════════════════════════ */
/*
 * PeptídeosPro — Design Tokens & Global Variables
 * All colors, fonts, and spacing values in one place
 */

/* === GOOGLE FONTS === */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');

/* === DESIGN TOKENS === */
:root {
  --pp-bg: #FFFFFF;
  --pp-card: #FFFFFF;
  --pp-surface: #F8FAFC;
  --pp-accent: #7B8B6F;
  --pp-accent-light: #8FA688;
  --pp-accent-dim: rgba(123,139,111,0.08);
  --pp-accent-border: rgba(123,139,111,0.15);
  --pp-success: #059669;
  --pp-warning: #D97706;
  --pp-text: #0F172A;
  --pp-text-muted: #475569;
  --pp-text-dim: #94A3B8;
  --pp-border: rgba(15,23,42,0.08);
  --pp-font-display: 'Space Grotesk', system-ui, sans-serif;
  --pp-font-body: 'DM Sans', system-ui, sans-serif;
}


/* ════════════════════════════════════════════════════════════ */
/* Source: css/modules/_header.css */

/* ════════════════════════════════════════════════════════════ */
/*
 * PeptídeosPro — Header, Navigation & Announcement Bar
 */

/* ================================================================
   HIDE NATIVE TRAY HOMEPAGE ELEMENTS — prevent duplicate sections
   ================================================================ */
.page-home .banner-tarja-swiper,
.page-home .banners-grid,
.page-home .banner-line,
.page-home .section-comentarios,
.page-home .instagram-link,
.page-home .line-benefits,
.page-home #banner-brands,
.page-home .barra-oferta-cabecalho,
.page-home .section-news,
.page-home main > .container:not(:has(.showcase)):not(:has(#pp-homepage)),
.page-home main > .section.banner-tarja-swiper,
.page-home main > .section-showcase,
.page-home main > svg.svg-sprite {
  display: none !important;
}

/* ================================================================
   HEADER OVERRIDES — Global dark theme styling
   SAFETY: All rules below are scoped to .pp-enhanced so they ONLY
   apply when peptideospro.js has loaded. If JS is missing, the page
   falls back to the default Tray white theme gracefully.
   ================================================================ */
/* Hide Tray's native offer bar and banner tarja on ALL pages.
   NOT scoped to .pp-enhanced — must hide before JS loads to prevent
   FOUC (flash of the old banner/sacola bar on navigation). */
.barra-oferta-cabecalho,
.banner-tarja-swiper {
  display: none !important;
}

/* No announcement bar — no top padding needed */
.pp-enhanced .application {
  padding-top: 0 !important;
}

/* Dark header background */
.pp-enhanced .header,
.pp-enhanced .header .bg,
.pp-enhanced .header-mobile {
  top: 0 !important;
  background: #111111 !important;
}

/* Force header links and text to be white against dark bg */
.pp-enhanced .header .text,
.pp-enhanced .header .title,
.pp-enhanced .header .title-store,
.pp-enhanced .header-actions a,
.pp-enhanced .header .options-wrapper > a,
.pp-enhanced .header .options-wrapper > span,
.pp-enhanced .header .options-wrapper > .dropHelp > svg,
.pp-enhanced .header .options-wrapper > .dropHelp > p,
.pp-enhanced .header .options-wrapper > .orderList > svg,
.pp-enhanced .header .options-wrapper > .orderList > p,
.pp-enhanced .header .options-wrapper > .account > svg,
.pp-enhanced .header .options-wrapper > .account > div > span,
.pp-enhanced .central-icons span {
  color: #FFFFFF !important;
}

/* Dropdown panels inside header: restore dark text on white bg */
.pp-enhanced .header .dropHelp ul,
.pp-enhanced .header .dropdown-account {
  background: #FFFFFF !important;
  color: #393939 !important;
}
.pp-enhanced .header .dropHelp ul a,
.pp-enhanced .header .dropHelp ul span,
.pp-enhanced .header .dropHelp ul p,
.pp-enhanced .header .dropHelp ul b,
.pp-enhanced .header .dropHelp ul div,
.pp-enhanced .header .dropdown-account a,
.pp-enhanced .header .dropdown-account span,
.pp-enhanced .header .dropdown-account b {
  color: #393939 !important;
}
.pp-enhanced .header .dropdown-account .btn-login {
  color: #FFFFFF !important;
}
.pp-enhanced .header .dropHelp ul a:hover,
.pp-enhanced .header .dropdown-account a:hover {
  color: var(--pp-accent) !important;
}

/* Protect icon fonts in header — never override these, but make them white */
.pp-enhanced .header .icon,
.pp-enhanced .header i.icon,
.pp-enhanced .header .button-search .icon,
.pp-enhanced .header-actions .icon,
.pp-enhanced .central-icons .icon {
  font-family: 'icons-new', 'go' !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  color: #FFFFFF !important;
}

/* Normalize header options — same font size and icon size for all 3 */
.pp-enhanced .header .options-wrapper > .dropHelp > p,
.pp-enhanced .header .options-wrapper > .orderList > p,
.pp-enhanced .header .options-wrapper > .account > div > span {
  font-size: 13px !important;
  font-weight: 500 !important;
}
.pp-enhanced .header .options-wrapper > .dropHelp > svg,
.pp-enhanced .header .options-wrapper > .orderList > svg,
.pp-enhanced .header .options-wrapper > .account > svg {
  width: 26px !important;
  height: 26px !important;
}

/* Fix search input styling */
.pp-enhanced .header .header-search-wrapper {
  display: flex !important;
  align-items: center !important;
  background: #FFFFFF !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  border: none !important;
}
.pp-enhanced .header .input-search {
  font-family: var(--pp-font-body) !important;
  background: transparent !important;
  color: #111111 !important;
  border: none !important;
  box-shadow: none !important;
}
.pp-enhanced .header .button-search {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
}
.pp-enhanced .header .button-search .icon {
  color: #111111 !important;
}

/* Style header fonts and logo */
.pp-enhanced .header .logo,
.pp-enhanced .header .logo a {
  font-family: var(--pp-font-display) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  letter-spacing: -0.02em;
}
.header-logo {
  display: flex !important;
  align-items: center !important;
}
.header-logo img {
  height: 48px !important;
  width: auto !important;
  display: block !important;
  object-fit: contain !important;
  max-width: 200px !important;
}

/* Nav menu styling — exclude dropdown links which have their own dark color */
.pp-enhanced .header .menu-list > li > a,
.pp-enhanced .header nav a:not(.pp-dropdown a):not(.pp-mega-col a):not(.pp-mega-fallback) {
  font-family: var(--pp-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em;
  color: rgba(255,255,255,0.75) !important;
}
.pp-enhanced .header .menu-list > li > a:hover,
.pp-enhanced .header nav a:not(.pp-dropdown a):not(.pp-mega-col a):hover {
  color: #FFFFFF !important;
}

/* ================================================================
   CUSTOM NAVIGATION — replaces Tray default nav
   ================================================================ */
.pp-nav-list {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.pp-nav-item {
  position: relative;
}

.pp-nav-link {
  display: inline-flex !important;
  align-items: center !important;
  font-family: var(--pp-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,0.75) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 22px 18px !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: color 0.2s;
  white-space: nowrap;
}

.pp-nav-link:hover {
  color: #FFFFFF !important;
}

.pp-dropdown-trigger svg {
  transition: transform 0.2s;
}

.pp-has-dropdown:hover .pp-dropdown-trigger svg {
  transform: rotate(180deg);
}

/* Dropdown menu */
.pp-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #FFFFFF;
  border: 1px solid var(--pp-border);
  border-radius: 12px;
  box-shadow: 0 12px 36px rgba(15,23,42,0.10);
  padding: 8px 0;
  min-width: 220px;
  z-index: 200;
  list-style: none;
}

.pp-has-dropdown:hover .pp-dropdown {
  display: block;
}

.pp-enhanced .pp-dropdown li a,
.pp-dropdown li a {
  display: block !important;
  padding: 10px 20px !important;
  font-family: var(--pp-font-body) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--pp-text) !important;
  text-decoration: none !important;
  transition: background 0.15s, color 0.15s;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.pp-enhanced .pp-dropdown li a:hover,
.pp-dropdown li a:hover {
  background: var(--pp-accent-dim);
  color: var(--pp-accent) !important;
}

/* Brands dropdown: multi-column layout.
   With 30+ brands a single-column list was too tall to scan. Uses CSS
   multi-column (not grid) so the existing <ul><li> structure is preserved
   and items flow naturally into columns. */
.pp-dropdown.pp-dropdown-brands {
  column-count: 3 !important;
  column-gap: 4px !important;
  min-width: 600px !important;
  padding: 12px 8px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}
.pp-dropdown.pp-dropdown-brands li {
  break-inside: avoid !important;
  -webkit-column-break-inside: avoid !important;
  page-break-inside: avoid !important;
}
.pp-dropdown.pp-dropdown-brands li a {
  padding: 7px 14px !important;
  font-size: 13px !important;
  white-space: nowrap !important;
}
@media (max-width: 768px) {
  .pp-dropdown.pp-dropdown-brands {
    column-count: 2 !important;
    min-width: 0 !important;
    width: 92vw !important;
    max-width: 480px !important;
  }
}

/* Mega dropdown (DE A À Z) */
.pp-mega-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: #FFFFFF;
  border: 1px solid var(--pp-border);
  border-radius: 12px;
  box-shadow: 0 12px 36px rgba(15,23,42,0.10);
  padding: 20px 24px;
  width: 700px;
  z-index: 200;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0 16px;
}
.pp-mega-dropdown::before {
  content: '';
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  height: 12px;
}
.pp-has-mega:hover .pp-mega-dropdown {
  display: grid;
}
.pp-has-mega:hover .pp-dropdown-trigger svg {
  transform: rotate(180deg);
}
.pp-mega-col {
  display: flex;
  flex-direction: column;
}
.pp-enhanced .pp-mega-dropdown .pp-mega-col a,
.pp-mega-dropdown .pp-mega-col a,
.pp-mega-col a {
  display: block !important;
  padding: 7px 10px !important;
  font-family: var(--pp-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #0F172A !important;
  text-decoration: none !important;
  border-radius: 6px !important;
  transition: background 0.15s, color 0.15s;
  line-height: 1.3 !important;
}
.pp-enhanced .pp-mega-dropdown .pp-mega-col a:hover,
.pp-mega-dropdown .pp-mega-col a:hover,
.pp-mega-col a:hover {
  background: rgba(37,99,235,0.06) !important;
  color: #2563EB !important;
}
.pp-mega-col a .pp-mega-count {
  display: inline !important;
  margin-left: 4px !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: #94A3B8 !important;
}
.pp-mega-col a:hover .pp-mega-count {
  color: #3B82F6 !important;
}
.pp-mega-loading {
  grid-column: 1 / -1;
  text-align: center;
  padding: 20px;
  font-family: var(--pp-font-body) !important;
  font-size: 13px !important;
  color: #475569 !important;
}
.pp-mega-fallback {
  grid-column: 1 / -1;
  display: block;
  text-align: center;
  padding: 16px;
  font-family: var(--pp-font-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--pp-accent) !important;
  text-decoration: none !important;
}

/* (Removed original Tray nav hiding rule restricted to .page-home; now handled globally at top) */
/* ================================================================
   ANNOUNCEMENT BAR — barra topo com mensagem rotativa
   ================================================================ */
.pp-announcement-bar {
  background: #0e150c;
  color: #E2E8F0;
  text-align: center;
  font-family: var(--pp-font-body);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.04em;
  padding: 10px 16px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1001;
  overflow: hidden;
}

.pp-announcement-bar a {
  color: #FFFFFF;
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 700;
}

.pp-announcement-bar .pp-ann-slide {
  display: none;
  animation: ppFadeIn 0.5s ease;
}

.pp-announcement-bar .pp-ann-slide.is-active {
  display: block;
}

@keyframes ppFadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}


/* ════════════════════════════════════════════════════════════ */
/* Source: css/modules/_homepage.css */

/* ════════════════════════════════════════════════════════════ */
/*
 * PeptídeosPro — Homepage Sections
 * Hero, trust strip, categories, products, stats, testimonials, newsletter, features
 */

/* ================================================================
   HERO CAROUSEL — full-width, Sports Research style
   ================================================================ */
.pp-hero {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #0f1a0e;
}

.pp-hero-track {
  display: flex;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  width: 100%;
}

.pp-hero-slide {
  min-width: 100%;
  position: relative;
  display: block !important;
  overflow: hidden;
}

.pp-hero-slide img {
  width: 100%;
  height: auto;
  display: block;
}

.pp-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(15,26,14,0.82) 0%, rgba(15,26,14,0.45) 50%, transparent 100%);
}

.pp-hero-slide.pp-hero-light .pp-hero-overlay {
  background: linear-gradient(90deg, rgba(255,255,255,0.88) 0%, rgba(255,255,255,0.55) 50%, transparent 100%);
}

.pp-hero-content {
  position: relative;
  z-index: 2;
  max-width: 1180px;
  margin: 0 auto;
  padding: 120px 48px 60px;
  width: 100%;
}

.pp-hero-tag {
  display: inline-block;
  background: rgba(123,139,111,0.15);
  color: #8FA688;
  font-family: var(--pp-font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 4px;
  border: 1px solid rgba(123,139,111,0.25);
  margin-bottom: 16px;
}

.pp-hero-slide.pp-hero-light .pp-hero-tag {
  background: rgba(123,139,111,0.08);
  color: #7B8B6F;
  border-color: rgba(123,139,111,0.2);
}

.pp-hero-title {
  font-family: var(--pp-font-display) !important;
  font-size: clamp(36px, 4.5vw, 60px) !important;
  font-weight: 700 !important;
  line-height: 1.04;
  letter-spacing: -0.03em;
  color: #FFFFFF !important;
  margin: 0 0 16px;
  max-width: 580px;
}

.pp-hero-slide.pp-hero-light .pp-hero-title {
  color: #0F172A;
}

.pp-hero-title span {
  color: #8FA688;
}

.pp-hero-slide.pp-hero-light .pp-hero-title span {
  color: #7B8B6F;
}

.pp-hero-desc {
  font-family: var(--pp-font-body);
  font-size: 16px;
  line-height: 1.6;
  color: rgba(255,255,255,0.75);
  max-width: 440px;
  margin: 0 0 28px;
}

.pp-hero-slide.pp-hero-light .pp-hero-desc {
  color: #475569;
}

.pp-hero-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #7B8B6F;
  color: #FFFFFF;
  font-family: var(--pp-font-body);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  text-decoration: none;
  padding: 16px 36px;
  border-radius: 8px;
  border: none;
  transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 8px 24px rgba(123,139,111,0.25);
}

.pp-hero-cta:hover {
  background: #6B7F5E;
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(123,139,111,0.35);
  color: #FFFFFF;
}

.pp-hero-cta-outline {
  background: transparent;
  border: 2px solid rgba(255,255,255,0.3);
  box-shadow: none;
  margin-left: 12px;
}

.pp-hero-cta-outline:hover {
  background: rgba(255,255,255,0.1);
  border-color: rgba(255,255,255,0.6);
  box-shadow: none;
}

/* Hero Navigation Dots */
.pp-hero-dots {
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
  z-index: 5;
}

.pp-hero-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255,255,255,0.35);
  border: none;
  cursor: pointer;
  transition: background 0.3s, transform 0.3s;
  padding: 0;
}

.pp-hero-dot.is-active {
  background: #FFFFFF;
  transform: scale(1.25);
}

/* Hero Arrows */
.pp-hero-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(255,255,255,0.12);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.15);
  color: #FFFFFF;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s;
}

.pp-hero-arrow:hover {
  background: rgba(255,255,255,0.25);
}

.pp-hero-arrow.pp-prev {
  left: 24px;
}

.pp-hero-arrow.pp-next {
  right: 24px;
}

/* ================================================================
   TRUST BADGES STRIP — below hero
   ================================================================ */
.pp-trust-strip {
  background: #FFFFFF;
  border-bottom: 1px solid var(--pp-border);
  padding: 20px 24px;
}

.pp-trust-strip-inner {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.pp-trust-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 8px 0;
}

.pp-trust-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--pp-accent-dim);
  border: 1px solid var(--pp-accent-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  flex-shrink: 0;
}

.pp-trust-text {
  font-family: var(--pp-font-body);
}

.pp-trust-text strong {
  display: block;
  font-family: var(--pp-font-display);
  font-size: 14px;
  font-weight: 700;
  color: var(--pp-text);
  letter-spacing: -0.01em;
}

.pp-trust-text span {
  font-size: 12px;
  color: var(--pp-text-muted);
  line-height: 1.3;
}

/* ================================================================
   SECTION HEADERS — consistent across all homepage sections
   ================================================================ */
.pp-section {
  max-width: 1180px;
  margin: 0 auto;
  padding: 56px 24px;
}

.pp-section-header {
  text-align: center;
  margin-bottom: 36px;
}

.pp-section-tag {
  display: inline-block;
  font-family: var(--pp-font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--pp-accent);
  margin-bottom: 10px;
}

.pp-section-title {
  font-family: var(--pp-font-display) !important;
  font-size: clamp(28px, 3vw, 42px) !important;
  font-weight: 700 !important;
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: var(--pp-text) !important;
  margin: 0 0 10px;
}

.pp-section-subtitle {
  font-family: var(--pp-font-body);
  font-size: 15px;
  color: var(--pp-text-muted);
  max-width: 520px;
  margin: 0 auto;
  line-height: 1.6;
}

/* ================================================================
   CATEGORY CARDS — circular image tiles with label below
   Inspired by circle-avatar category rails (e.g. True Source).
   Order MUST match the PEPTÍDEOS dropdown in buildCustomNav().
   ================================================================ */
.pp-categories-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 20px;
  padding: 8px 0 4px;
}

.pp-category-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer;
  padding: 8px 4px 12px;
  border-radius: 14px;
  transition: transform 0.3s ease;
}

.pp-category-card:hover {
  transform: translateY(-4px);
}

.pp-category-circle {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  max-width: 160px;
  border-radius: 50%;
  overflow: hidden;
  background: linear-gradient(135deg, #1a2818 0%, #0f1a0e 100%);
  box-shadow:
    0 12px 30px rgba(15, 23, 42, 0.12),
    inset 0 0 0 1px rgba(255, 255, 255, 0.04);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
  margin-bottom: 14px;
}

.pp-category-card:hover .pp-category-circle {
  box-shadow:
    0 18px 40px rgba(37, 99, 235, 0.18),
    inset 0 0 0 2px rgba(143, 166, 136, 0.35);
}

.pp-category-image {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0.55;
  filter: saturate(1.1) contrast(1.05);
  transition: opacity 0.35s ease, transform 0.5s ease;
}

.pp-category-card:hover .pp-category-image {
  opacity: 0.75;
  transform: scale(1.08);
}

/* Radial vignette so the emoji stays readable over any banner */
.pp-category-glow {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at center, rgba(15, 26, 14, 0.15) 0%, rgba(15, 26, 14, 0.55) 55%, rgba(15, 26, 14, 0.78) 100%);
  pointer-events: none;
}

.pp-category-icon {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 44px;
  line-height: 1;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.35));
  z-index: 2;
  transition: transform 0.3s ease;
}

.pp-category-card:hover .pp-category-icon {
  transform: scale(1.08);
}

.pp-category-name {
  font-family: var(--pp-font-display) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--pp-text) !important;
  line-height: 1.25 !important;
  margin: 0 0 4px !important;
  letter-spacing: -0.01em !important;
}

.pp-category-count {
  display: block !important;
  font-family: var(--pp-font-body) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: var(--pp-text-dim) !important;
  letter-spacing: 0.3px !important;
}

.pp-category-card:hover .pp-category-name {
  color: var(--pp-accent) !important;
}

/* ================================================================
   BESTSELLERS / PRODUCT GRID
   ================================================================ */
.pp-products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.pp-product-card {
  background: #FFFFFF;
  border: 1px solid var(--pp-border);
  border-radius: 16px;
  padding: 20px;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s, box-shadow 0.3s, transform 0.3s;
  display: flex;
  flex-direction: column;
}

.pp-product-card:hover {
  border-color: var(--pp-accent-border);
  box-shadow: 0 16px 36px rgba(15,23,42,0.08);
  transform: translateY(-4px);
}

.pp-product-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  background: #D97706;
  color: #FFFFFF;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 4px;
  z-index: 2;
}

.pp-product-badge-bestseller {
  background: linear-gradient(135deg, #D97706, #B45309);
}

.pp-product-badge-new {
  background: var(--pp-accent);
}

.pp-product-img-wrap {
  position: relative;
  background: #FFFFFF;
  border: 1px solid var(--pp-border);
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  overflow: hidden;
}

.pp-product-img-wrap img {
  max-height: 160px;
  width: auto;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.pp-product-card:hover .pp-product-img-wrap img {
  transform: scale(1.06);
}

.pp-product-category-tag {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--pp-accent);
  margin-bottom: 6px;
}

.pp-product-name {
  font-family: var(--pp-font-display);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--pp-text);
  margin: 0 0 8px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 40px;
}

.pp-product-price {
  font-family: var(--pp-font-display);
  font-size: 20px;
  font-weight: 700;
  color: var(--pp-text);
  margin: auto 0 4px;
}

.pp-product-price-old {
  font-size: 13px;
  font-weight: 400;
  color: var(--pp-text-dim);
  text-decoration: line-through;
  margin-left: 8px;
}

.pp-product-installment {
  font-size: 12px;
  color: var(--pp-text-muted);
  margin-bottom: 12px;
}

.pp-product-installment strong {
  color: var(--pp-success);
}

.pp-product-btn {
  display: block;
  width: 100%;
  text-align: center;
  background: var(--pp-accent);
  color: #FFFFFF;
  font-family: var(--pp-font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  text-decoration: none;
  padding: 12px 16px;
  border-radius: 8px;
  border: none;
  transition: background 0.2s;
  cursor: pointer;
}

.pp-product-btn:hover {
  background: var(--pp-accent-light);
  color: #FFFFFF;
}

/* ================================================================
   NEW ARRIVALS CARDS — PIX, 12x, CTA, WhatsApp (Opção B)
   ================================================================ */
.pp-new-arrivals .pp-product-card {
  padding: 20px !important;
}

.pp-new-arrivals .pp-product-card-link {
  text-decoration: none !important;
  color: inherit !important;
  display: flex !important;
  flex-direction: column !important;
}

.pp-new-arrivals .pp-product-card-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.pp-new-arrivals .pp-product-name {
  font-size: 15px !important;
  line-height: 1.2 !important;
  min-height: 36px !important;
  margin: 4px 0 6px !important;
}

.pp-new-arrivals .pp-product-price-old {
  font-size: 12px !important;
  color: var(--pp-text-dim) !important;
  text-decoration: line-through !important;
  margin: 0 !important;
}

.pp-new-arrivals .pp-product-price {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--pp-text) !important;
  margin: 0 !important;
}

.pp-new-arrivals .pp-product-price-pix {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--pp-success) !important;
  margin: 2px 0 0 !important;
}

.pp-new-arrivals .pp-product-installment {
  font-size: 12px !important;
  color: var(--pp-text-muted) !important;
  margin: 0 0 12px !important;
}

.pp-new-arrivals .pp-product-card-cta {
  display: block !important;
  text-align: center !important;
  background: var(--pp-accent) !important;
  color: #FFFFFF !important;
  font-family: var(--pp-font-body) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 11px 16px !important;
  border-radius: 8px !important;
  margin-top: 8px !important;
  transition: background 0.2s !important;
  cursor: pointer !important;
}

.pp-new-arrivals .pp-product-card-cta:hover {
  background: var(--pp-accent-light) !important;
  color: #FFFFFF !important;
}

.pp-new-arrivals .pp-product-card-whatsapp {
  display: block !important;
  text-align: center !important;
  font-family: var(--pp-font-body) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: var(--pp-text-muted) !important;
  text-decoration: none !important;
  padding: 8px 0 0 !important;
  margin-top: 2px !important;
  transition: color 0.2s !important;
}

.pp-new-arrivals .pp-product-card-whatsapp:hover {
  color: #25D366 !important;
  text-decoration: underline !important;
}

/* ================================================================
   FULL-WIDTH PROMO BANNER — mid-page takeover
   ================================================================ */
.pp-promo-banner {
  position: relative;
  width: 100%;
  min-height: 380px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #0f1a0e;
}

.pp-promo-banner img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.4;
}

.pp-promo-content {
  position: relative;
  z-index: 2;
  max-width: 1180px;
  margin: 0 auto;
  padding: 56px 48px;
  width: 100%;
  text-align: center;
}

.pp-promo-title {
  font-family: var(--pp-font-display) !important;
  font-size: clamp(30px, 3.5vw, 48px) !important;
  font-weight: 700 !important;
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: #FFFFFF !important;
  margin: 0 0 12px;
}

.pp-promo-desc {
  font-size: 16px;
  color: rgba(255,255,255,0.7);
  max-width: 500px;
  margin: 0 auto 28px;
  line-height: 1.6;
}

/* ================================================================
   SOCIAL PROOF / STATS BAR
   ================================================================ */
.pp-stats-bar {
  background: linear-gradient(135deg, #1a2818 0%, #0f1a0e 100%);
  padding: 56px 24px;
}

/* v18.7.2 — Breathing room between the dark stats bar and the next section
   (Google Reviews / "O que nossos clientes dizem"). The two sections were
   stacking too tightly because both used their default vertical padding. */
.pp-stats-bar + .pp-section,
.pp-stats-bar + .pp-google-reviews,
.pp-stats-bar + div.pp-section {
  padding-top: 80px !important;
}

.pp-stats-inner {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  text-align: center;
}

.pp-stat-item {
  padding: 12px;
}

.pp-stat-number {
  font-family: var(--pp-font-display);
  font-size: clamp(32px, 3vw, 48px);
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1;
  margin-bottom: 6px;
}

.pp-stat-number span {
  color: #8FA688;
}

.pp-stat-label {
  font-size: 13px;
  color: rgba(255,255,255,0.55);
  font-weight: 500;
  letter-spacing: 0.5px;
}

/* ================================================================
   TESTIMONIALS SECTION
   ================================================================ */
.pp-testimonials {
  background: #FFFFFF;
}

.pp-testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.pp-testimonial-card {
  background: #FFFFFF;
  border: 1px solid var(--pp-border);
  border-radius: 16px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
}

.pp-testimonial-stars {
  color: #F59E0B;
  font-size: 16px;
  letter-spacing: 2px;
  margin-bottom: 14px;
}

.pp-testimonial-text {
  font-size: 14px;
  line-height: 1.7;
  color: var(--pp-text-muted);
  margin-bottom: 18px;
  flex: 1;
  font-style: italic;
}

.pp-testimonial-author {
  display: flex;
  align-items: center;
  gap: 12px;
}

.pp-testimonial-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--pp-accent-dim);
  border: 1px solid var(--pp-accent-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--pp-font-display);
  font-weight: 700;
  font-size: 15px;
  color: var(--pp-accent);
}

.pp-testimonial-name {
  font-family: var(--pp-font-display);
  font-size: 14px;
  font-weight: 600;
  color: var(--pp-text);
}

.pp-testimonial-role {
  font-size: 11px;
  color: var(--pp-text-dim);
}

/* ================================================================
   NEWSLETTER / CTA SECTION
   ================================================================ */
.pp-newsletter {
  background: linear-gradient(135deg, #5A6B4F 0%, #7B8B6F 50%, #8FA688 100%);
  padding: 56px 24px;
  text-align: center;
}

.pp-newsletter-inner {
  max-width: 560px;
  margin: 0 auto;
}

.pp-newsletter h3 {
  font-family: var(--pp-font-display) !important;
  font-size: clamp(24px, 2.5vw, 34px) !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  margin: 0 0 10px;
  line-height: 1.1;
}

.pp-newsletter p {
  font-size: 15px;
  color: rgba(255,255,255,0.75);
  margin: 0 0 24px;
  line-height: 1.6;
}

.pp-newsletter-form {
  display: flex;
  gap: 10px;
  max-width: 440px;
  margin: 0 auto;
}

.pp-newsletter-input {
  flex: 1;
  padding: 14px 18px;
  border: 2px solid rgba(255,255,255,0.2);
  border-radius: 8px;
  background: rgba(255,255,255,0.12);
  color: #FFFFFF;
  font-family: var(--pp-font-body);
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s;
}

.pp-newsletter-input::placeholder {
  color: rgba(255,255,255,0.5);
}

.pp-newsletter-input:focus {
  border-color: rgba(255,255,255,0.5);
}

.pp-newsletter-btn {
  padding: 14px 28px;
  background: #FFFFFF;
  color: #5A6B4F;
  font-family: var(--pp-font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.2s, transform 0.2s;
  white-space: nowrap;
}

.pp-newsletter-btn:hover {
  background: #F4F3F0;
  transform: translateY(-1px);
}

/* ================================================================
   WHY CHOOSE US — feature blocks
   ================================================================ */
.pp-features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.pp-feature-card {
  background: #FFFFFF;
  border: 1px solid var(--pp-border);
  border-radius: 16px;
  padding: 32px 24px;
  text-align: center;
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
}

.pp-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px rgba(15,23,42,0.06);
  border-color: var(--pp-accent-border);
}

.pp-feature-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: var(--pp-accent-dim);
  border: 1px solid var(--pp-accent-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin: 0 auto 16px;
}

.pp-feature-title {
  font-family: var(--pp-font-display) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: var(--pp-text) !important;
  margin: 0 0 8px;
}

.pp-feature-desc {
  font-size: 13px;
  color: var(--pp-text-muted);
  line-height: 1.6;
  margin: 0;
}

/* ================================================================
   BRANDS / CERTIFICATIONS STRIP
   ================================================================ */
.pp-certs-strip {
  background: #FFFFFF;
  border-top: 1px solid var(--pp-border);
  border-bottom: 1px solid var(--pp-border);
  padding: 32px 24px;
}

.pp-certs-inner {
  max-width: 1180px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 48px;
  flex-wrap: wrap;
}

.pp-cert-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  opacity: 0.5;
  transition: opacity 0.3s;
}

.pp-cert-item:hover {
  opacity: 1;
}

.pp-cert-icon {
  font-size: 28px;
}

.pp-cert-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--pp-text-muted);
}

/* ================================================================
   VIEW ALL BUTTON — consistent link style
   ================================================================ */
.pp-view-all {
  text-align: center;
  margin-top: 32px;
}

.pp-view-all a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--pp-font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--pp-accent);
  text-decoration: none;
  padding: 12px 28px;
  border: 2px solid var(--pp-accent-border);
  border-radius: 8px;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.pp-view-all a:hover {
  background: var(--pp-accent);
  border-color: var(--pp-accent);
  color: #FFFFFF;
}

/* ================================================================
   HOMEPAGE TRAY OVERRIDES — override default Tray homepage blocks
   ================================================================ */
.page-home .banner-carousel,
.page-home .banners {
  display: none !important;
}

.page-home .showcase .section-header,
.page-home .showcase .title-section {
  font-family: var(--pp-font-display);
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--pp-text);
  text-align: center;
}

.page-home .showcase .item {
  border-radius: 16px;
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.2s;
}

.page-home .showcase .item:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(15,23,42,0.08);
  border-color: var(--pp-accent-border);
}

.page-home .showcase .item .image {
  border-radius: 12px !important;
  background: #FFFFFF !important;
}
/* Lighten beige product JPG backgrounds toward white */
.section-showcase .image > a > img,
.page-catalog .list-product .product .image > a > img,
.page-product .product-gallery .image img {
  filter: brightness(1.08) !important;
}

/* V1.2 — Hide WhatsApp "Dúvidas?" buttons on product cards (home page) */
.section-showcase .prod-options,
.section-showcase .btn-pay-wp {
  display: none !important;
}

/* V1.2 — Hide pagination dots below product showcase (home page) */
.section-showcase .dots {
  display: none !important;
}

/* v18.7.2 — Normalize Tray discount badge on homepage bestsellers showcase.
   Tray renders .tag-list.tag-discount with color:#8aac9c (green seal) and a
   tiny SVG down-arrow + "15%". This produces the green curved/arrow artifacts
   seen at the top of each showcase card. We mirror the orange pill style
   already applied to .page-catalog and .page-product, and nuke any leftover
   tag-circle / product-tags-circle from the original Tray theme. */
.section-showcase .tag-list.tag-discount,
.section-showcase .tag-discount,
.section-showcase .tag-circle.discount {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
  width: fit-content !important;
  max-width: 80px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 6px 12px !important;
  background: #D97706 !important;
  background-color: #D97706 !important;
  background-image: none !important;
  color: #FFFFFF !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-align: center !important;
  border: 0 !important;
  border-radius: 6px !important;
  outline: 0 !important;
  box-shadow: none !important;
  display: inline-block !important;
  z-index: 5 !important;
}
.section-showcase .tag-list.tag-discount svg,
.section-showcase .tag-discount svg,
.section-showcase .tag-circle.discount svg {
  display: none !important;
}
.section-showcase .product-tags-circle,
.section-showcase .tag-circle.free-shipping,
.section-showcase .tag-circle.progressive-discount {
  display: none !important;
}

/* v18.7.2 — Same orange-pill discount badge for the related-products carousel
   on the product page. Without this the badge renders as faded green text
   ("15%" in #8aac9c) at top-right of each related card.
   NOTE: pinned to the RIGHT so it doesn't collide with the
   .pp-related-category chip that already lives at top-left. */
.section-product-related .tag-list.tag-discount,
.section-product-related .tag-discount,
.section-product-related .tag-circle.discount {
  position: absolute !important;
  top: 14px !important;
  left: auto !important;
  right: 14px !important;
  width: fit-content !important;
  max-width: 80px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 6px 12px !important;
  background: #D97706 !important;
  background-color: #D97706 !important;
  background-image: none !important;
  color: #FFFFFF !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-align: center !important;
  border: 0 !important;
  border-radius: 6px !important;
  outline: 0 !important;
  box-shadow: none !important;
  display: inline-block !important;
  z-index: 5 !important;
}
.section-product-related .tag-list.tag-discount svg,
.section-product-related .tag-discount svg,
.section-product-related .tag-circle.discount svg {
  display: none !important;
}
.section-product-related .product-tags-circle,
.section-product-related .tag-circle.free-shipping,
.section-product-related .tag-circle.progressive-discount {
  display: none !important;
}

/* v18.7.2 — Kill Swiper lazy preloaders globally on product cards.
   Tray's Plugoo theme renders a hover-image <img> with empty data-src on
   every card. swiper-lazy never resolves it, so the .swiper-lazy-preloader
   div (border-radius:50%, position:absolute, width=image width, height=8px)
   stays forever as a 221x8 ellipse pinned to the top of each card image.
   That's the "green/curved arc" artifact users were seeing on the homepage
   bestsellers strip and on related-product/recently-viewed carousels.
   We already had this rule for .page-catalog — broaden it. */
.section-showcase .swiper-lazy-preloader,
.section-product-related .swiper-lazy-preloader,
.products-history .swiper-lazy-preloader,
.showcase .swiper-lazy-preloader {
  display: none !important;
}

/* ════════════════════════════════════════════════════════════
   V1.3 — Benefits bar: align horizontally (override Swiper)
   Target: .line-benefits > .container > .benefits-items > .swiper-container > .swiper-wrapper > .benefits-item
   ════════════════════════════════════════════════════════════ */

/* Kill swiper slide behavior — show all items side by side */
.line-benefits .benefits-items .swiper-container {
  overflow: visible !important;
}

.line-benefits .benefits-items .swiper-wrapper {
  display: flex !important;
  flex-wrap: nowrap !important;
  transform: translate3d(0, 0, 0) !important;
  justify-content: center;
  gap: 12px;
}

.line-benefits .benefits-items .swiper-slide.benefits-item {
  width: auto !important;
  flex: 0 1 auto !important;
  margin-right: 0 !important;
  padding: 8px 12px;
  font-size: 13px;
}

.line-benefits .benefits-items .benefits-icon svg,
.line-benefits .benefits-items .benefits-icon img {
  width: 28px;
  height: 28px;
}

/* Hide swiper nav arrows/pagination on benefits bar */
.line-benefits .benefits-items .swiper-button-next,
.line-benefits .benefits-items .swiper-button-prev,
.line-benefits .benefits-items .swiper-pagination {
  display: none !important;
}

/* ════════════════════════════════════════════════════════════
   V1.3 — Newsletter: remove beige bg, increase contrasts
   ════════════════════════════════════════════════════════════ */

/* Newsletter title text — no box, just text */
.footer .newsletter .info {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

.footer .newsletter .info .first,
.footer .newsletter .info .last {
  color: #FFFFFF !important;
}

/* Newsletter button — high contrast with green accent */
.footer .newsletter .news-button {
  background: #7B8B6F !important;
  color: #FFFFFF !important;
  border: none !important;
  font-weight: 600;
  letter-spacing: 0.5px;
  transition: background 0.3s ease;
}

.footer .newsletter .news-button:hover {
  background: #8FA688 !important;
}

/* Newsletter fields — cleaner style */
.footer .newsletter .field {
  border: 1px solid #7B8B6F !important;
  border-radius: 4px;
  background: #FFFFFF !important;
  color: #333333 !important;
}

.footer .newsletter .field:focus {
  border-color: #8FA688 !important;
  outline: none;
  box-shadow: 0 0 0 2px rgba(143, 166, 136, 0.25);
}

/* Newsletter section overall — remove beige container bg */
.footer .newsletter {
  background: transparent !important;
}

/* ════════════════════════════════════════════════════════════ */
/* Source: css/modules/_product.css */

/* ════════════════════════════════════════════════════════════ */
/*
 * PeptídeosPro — Product Page Styles
 * Layout, gallery, form, price, buy button, shipping, tabs
 */

/* ================================================================
   PRODUCT PAGE — Clinical Edge layout (Tray selectors)
   ================================================================ */

/* === Global font overrides (scoped to product area, NOT header) === */
.page-product .product-wrapper h1,
.page-product .product-wrapper h2,
.page-product .product-wrapper h3,
.page-product .product-wrapper h4,
.page-product .product-tabs h2,
.page-product .product-tabs h3 {
  font-family: var(--pp-font-display) !important;
  color: var(--pp-text) !important;
}
.page-product .product-wrapper p,
.page-product .product-wrapper span:not(.icon):not([class*="icon"]),
.page-product .product-wrapper a,
.page-product .product-wrapper li,
.page-product .product-wrapper td,
.page-product .product-wrapper label,
.page-product .product-wrapper input,
.page-product .product-wrapper select,
.page-product .product-wrapper button,
.page-product .product-tabs p,
.page-product .product-tabs span,
.page-product .product-tabs a,
.page-product .product-tabs td {
  font-family: var(--pp-font-body) !important;
}

/* === Header spacing (no announcement bar) === */
.page-product .header { top: 0 !important; }
.page-product .header-mobile { top: 0 !important; }
.page-product .barra-oferta-cabecalho { display: none !important; }

/* === Hide Tray default elements we replace === */
.page-product .product-rating { display: none !important; }
.page-product .product-main-info { display: none !important; }
.page-product .actions > .message { display: none !important; }
.page-product .produto-formas-pagamento { display: none !important; }
.page-product .product-social.sidepicture { display: none !important; }
.page-product .product-gifts:empty { display: none !important; }
.page-product .product-loader { display: none !important; }
.page-product .product-thumbs .controls { display: none !important; }
/* Hide empty thumbnails area when there's only 1 image */
.page-product .product-thumbs:not(:has(.swiper-slide ~ .swiper-slide)) { display: none !important; }
.page-product .product-thumbs .swiper-wrapper:empty { display: none !important; }
.page-product .product-thumbs .thumbs-list:has(.swiper-wrapper:empty) { display: none !important; }
/* Fallback: hide thumbs if only dot/no thumbs */
.page-product .product-thumbs .hide-dots-desk:only-child { display: none !important; }

/* === Breadcrumb (inside product-wrapper, above product-box) === */
.pp-breadcrumb {
  display: block !important;
  width: 100% !important;
  padding: 0 0 16px !important;
  margin: 0 0 0 !important;
  font-family: var(--pp-font-body) !important;
  font-size: 12px !important;
  color: var(--pp-text-dim) !important;
  letter-spacing: 0.02em !important;
  font-style: normal !important;
}
.pp-breadcrumb a {
  color: var(--pp-text-dim) !important;
  text-decoration: none !important;
  transition: color 0.15s !important;
  font-weight: 400 !important;
}
.pp-breadcrumb a:hover {
  color: var(--pp-accent) !important;
}
.pp-breadcrumb .pp-breadcrumb-sep {
  margin: 0 6px !important;
  color: #CBD5E1 !important;
}
.pp-breadcrumb .pp-breadcrumb-current {
  color: var(--pp-text-muted) !important;
  font-weight: 500 !important;
}
/* Hide Tray's native breadcrumb if any */
.page-product .breadcrumb:not(.pp-breadcrumb) {
  display: none !important;
}

/* === Product wrapper container === */
.page-product .product-wrapper {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 24px 24px 32px !important;
}

/* === Product box — 2-column layout === */
.page-product .product-box {
  display: flex !important;
  gap: 40px !important;
  align-items: flex-start !important;
}

/* Ensure all product-form children don't overflow */
.page-product .product-form > div,
.page-product .product-form > form,
.page-product .product-form > section,
.page-product .product-form .actions,
.page-product .product-form .tray-buy-button,
.page-product .product-form .product-price,
.page-product .product-form .product-shipping,
.page-product .product-form .pp-product-badges,
.page-product .product-form .pp-buy-row {
  box-sizing: border-box !important;
  max-width: 100% !important;
}

/* Kill orphan <br> tags inside price that add unwanted spacing */
.page-product .produto-preco br,
.page-product #preco br {
  display: none !important;
}

/* === Product gallery (left column) === */
.page-product .product-gallery {
  flex: 0 0 50% !important;
  max-width: 50% !important;
  position: relative !important;
}

.page-product .product-gallery .product-images {
  border-radius: 12px !important;
  overflow: visible !important;
  position: relative !important;
}
/* Clip slides inside wrapper (not on .product-images, so badge stays visible) */
.page-product .product-gallery .product-images .swiper-wrapper {
  overflow: hidden !important;
  border-radius: 12px !important;
}

/* Main gallery Swiper — the Plugoo theme sets wrapper to display:block
   which breaks Swiper's horizontal translate3d sliding. Must be flex. */
.page-product .product-images.swiper-container {
  overflow: hidden !important;
}
.page-product .product-images > .swiper-wrapper {
  display: flex !important;
  flex-wrap: nowrap !important;
  width: 9999px !important;
}
/* Ensure slides don't shrink — Swiper uses translate3d to show active slide */
.page-product .product-images .swiper-slide {
  flex-shrink: 0 !important;
}

.page-product .product-gallery .image {
  background: #FFFFFF !important;
  border-radius: 12px !important;
  border: 1px solid rgba(15,23,42,0.06) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
}

/* Hide share/social button entirely — clutters gallery */
.page-product .product-social,
.page-product .share-product,
.page-product .product-gallery .product-social,
.page-product .share-this,
.page-product [class*="share-button"],
.page-product [class*="compartilh"],
.page-product .product-gallery [class*="share"],
.page-product .product-images ~ [class*="share"],
.page-product .product-box [class*="share"]:not(.submit-fast-buy) {
  display: none !important;
}

/* Discount badge overlay on gallery — orange pill, top-left.
   Tray original CSS renders .tag-discount as a tiny 36px circle at top-right.
   We override ALL properties to transform it into a readable pill badge. */
.page-product .product-images > .tag-discount,
.page-product .product-images .tag-discount,
.page-product .product-gallery .tag-discount,
.page-product .product-gallery .desconto,
.page-product .product-gallery .discount-badge,
.page-product .product-gallery .tag-circle.discount,
.page-product .product-gallery .tag-list.tag-discount,
.page-product .product-images .tag-circle.discount,
.page-product .product-images .tag-list.tag-discount {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
  z-index: 5 !important;
  background: #D97706 !important;
  background-color: #D97706 !important;
  color: #FFFFFF !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  font-family: var(--pp-font-body) !important;
  line-height: 1 !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  display: block !important;
  text-align: center !important;
}
/* Hide SVG icons inside Tray discount tags */
.page-product .tag-discount svg,
.page-product .tag-list.tag-discount svg,
.page-product .tag-circle.discount svg {
  display: none !important;
}
/* Hide the duplicate circle badge */
.page-product .product-tags-circle {
  display: none !important;
}

/* Lazy-load fix: pulse placeholder while images load */
@keyframes pp-gallery-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}
.page-product .product-gallery .image:not(.pp-img-loaded) {
  background: #FFFFFF !important;
  animation: pp-gallery-pulse 1.5s ease-in-out infinite !important;
}
.page-product .product-gallery .image.pp-img-loaded {
  animation: none !important;
  background: #FFFFFF !important;
}

/* Gallery images: hidden until loaded, then smooth fade-in */
.page-product .product-gallery .image img.swiper-lazy:not(.swiper-lazy-loaded) {
  opacity: 0 !important;
}
.page-product .product-gallery .image img.swiper-lazy.swiper-lazy-loaded,
.page-product .product-gallery .image img.pp-force-loaded {
  opacity: 1 !important;
  transition: opacity 0.3s ease !important;
}

/* Thumbnail labels */
.pp-thumb-label {
  display: block !important;
  text-align: center !important;
  font-size: 10px !important;
  color: var(--pp-text-dim) !important;
  margin-top: 4px !important;
  font-family: var(--pp-font-body) !important;
}

.page-product .product-gallery .image img {
  border-radius: 8px !important;
}
.page-product .product-gallery .image {
  background: #FFFFFF !important;
}

/* Thumbnails — MINIMAL visual styling only.
   Plugoo/Swiper handles ALL layout, positioning, and click behavior.
   We do NOT touch display, width, height, flex, position, transform, or overflow. */
.page-product .product-thumbs .swiper-slide .thumb {
  background: var(--pp-surface) !important;
  border: 2px solid var(--pp-border) !important;
  border-radius: 8px !important;
  padding: 4px !important;
  transition: border-color 0.2s !important;
}
.page-product .product-thumbs .swiper-slide.swiper-slide-thumb-active .thumb,
.page-product .product-thumbs .swiper-slide.active .thumb,
.page-product .product-thumbs .swiper-slide:hover .thumb {
  border-color: var(--pp-accent) !important;
}
.page-product .product-thumbs .swiper-slide img {
  object-fit: contain !important;
  border-radius: 4px !important;
}
.page-product .product-thumbs .controls {
  display: none !important;
}

/* === Product form (right column) === */
.page-product .product-form {
  flex: 1 !important;
  min-width: 0 !important;
  max-width: 50% !important;
  padding-top: 0 !important;
  box-sizing: border-box !important;
  text-align: left !important;
}

/* Product title */
.page-product h1.product-name {
  font-family: var(--pp-font-display) !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  color: var(--pp-text) !important;
  letter-spacing: 0.3px !important;
  line-height: 1.2 !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  text-align: left !important;
}
.page-product h1.product-name .pp-dose-highlight {
  color: var(--pp-accent) !important;
}

/* === Price block === */
.page-product .product-price.product-price-tray {
  margin-bottom: 16px !important;
}

.page-product .produto-preco {
  background: #FFFFFF !important;
  border-radius: 10px !important;
  border: 1px solid var(--pp-border) !important;
  padding: 16px 20px !important;
  text-align: left !important;
}

/* === Custom price block (injected by JS) — PIX-first with toggle === */
.pp-price-row {
  text-align: left !important;
  line-height: 1.4 !important;
}

/* Row 1: Old price + discount badge (small, muted, top) */
.pp-price-was {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-bottom: 8px !important;
}
.pp-price-old {
  font-size: 14px !important;
  color: var(--pp-text-dim) !important;
  text-decoration: line-through !important;
  font-family: var(--pp-font-body) !important;
}
.pp-discount-badge {
  display: inline-block !important;
  background: #FEF3C7 !important;
  color: #92400E !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
  font-family: var(--pp-font-body) !important;
}

/* PIX hero card (default view) */
.pp-price-pix {
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  color: var(--pp-success) !important;
  font-family: var(--pp-font-body) !important;
  background: rgba(5,150,105,0.08) !important;
  border: 1.5px solid rgba(5,150,105,0.2) !important;
  border-radius: 10px !important;
  padding: 14px 18px !important;
  margin-bottom: 8px !important;
}
.pp-pix-value {
  font-family: var(--pp-font-display) !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  color: var(--pp-success) !important;
  line-height: 1.1 !important;
}
.pp-pix-label {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--pp-success) !important;
}
.pp-pix-off {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--pp-success) !important;
  opacity: 0.7 !important;
}

/* Card hero card (toggled view) */
.pp-price-card-hero {
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  color: var(--pp-text) !important;
  font-family: var(--pp-font-body) !important;
  background: var(--pp-card) !important;
  border: 1.5px solid var(--pp-border) !important;
  border-radius: 10px !important;
  padding: 14px 18px !important;
  margin-bottom: 8px !important;
}
.pp-card-value {
  font-family: var(--pp-font-display) !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  color: var(--pp-text) !important;
  line-height: 1.1 !important;
}
.pp-card-label {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--pp-text-muted) !important;
}

/* Toggle link between PIX/Card views */
.pp-price-toggle {
  font-size: 13px !important;
  color: var(--pp-text-muted) !important;
  font-family: var(--pp-font-body) !important;
  cursor: pointer !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}
.pp-price-toggle:hover {
  color: var(--pp-accent) !important;
}

/* Legacy Tray price elements (hidden when our JS replaces them) */
.page-product .produto-preco .PrecoPrincipal,
.page-product .produto-preco .current-price {
  font-family: var(--pp-font-display) !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  color: var(--pp-text) !important;
  line-height: 1.1 !important;
}

/* === OUT-OF-STOCK "NOTIFY ME" BLOCK ===
   Tray renders this inside .produto-preco as:
     span.botao-nao_indisponivel   — font-size:0, with ::before/::after
                                     pseudo-elements holding the heading +
                                     helper text (uppercased via text-transform)
     div#nao_disp                   — contains label + #email_avise + #letMeKnow
   We keep Tray's DOM intact (so their submit JS still works) and restyle it
   into a clean vertical form. */
.page-product .produto-preco:has(#produto_nao_disp) {
  padding: 20px !important;
}
.page-product .botao-nao_indisponivel {
  display: block !important;
  font-size: 0 !important;
  line-height: 0 !important;
  position: static !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 0 14px !important;
  text-align: left !important;
  width: 100% !important;
  cursor: default !important;
  pointer-events: none !important;
}
.page-product .botao-nao_indisponivel::before {
  display: block !important;
  font-family: var(--pp-font-display) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--pp-text) !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  background: none !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  height: auto !important;
  transform: none !important;
}
.page-product .botao-nao_indisponivel::after {
  display: block !important;
  font-family: var(--pp-font-body) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--pp-text-muted) !important;
  line-height: 1.5 !important;
  text-transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  height: auto !important;
  transform: none !important;
}
.page-product #nao_disp {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}
.page-product #nao_disp > br { display: none !important; }
.page-product #nao_disp label {
  display: block !important;
  font-family: var(--pp-font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--pp-text-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin: 0 0 6px !important;
  width: 100% !important;
}
.page-product #nao_disp label br { display: none !important; }
.page-product #nao_disp #email_avise {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  height: 44px !important;
  padding: 0 14px !important;
  background: #FFFFFF !important;
  border: 1px solid var(--pp-border) !important;
  border-radius: 8px !important;
  font-family: var(--pp-font-body) !important;
  font-size: 14px !important;
  color: var(--pp-text) !important;
  margin: 0 0 10px !important;
  transition: border-color 0.15s ease !important;
}
.page-product #nao_disp #email_avise:focus {
  outline: none !important;
  border-color: var(--pp-accent) !important;
  box-shadow: 0 0 0 3px rgba(37,99,235,0.12) !important;
}
.page-product #nao_disp #letMeKnow {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 46px !important;
  background: var(--pp-text) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: var(--pp-font-body) !important;
  font-size: 0 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  transition: background 0.15s ease, transform 0.1s ease !important;
}
.page-product #nao_disp #letMeKnow:hover {
  background: #1E293B !important;
  transform: translateY(-1px) !important;
}
.page-product #nao_disp #letMeKnow img { display: none !important; }
.page-product #nao_disp #letMeKnow::before {
  content: "AVISE-ME" !important;
  display: inline-block !important;
  font-family: var(--pp-font-body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: #FFFFFF !important;
  position: static !important;
  background: none !important;
}
.page-product #nao_disp #letMeKnow::after {
  content: none !important;
}
.page-product #nao_disp .color {
  display: none !important; /* redundant helper text, already shown via ::after */
}
.page-product #nao_disp #div_erro {
  margin-top: 10px !important;
  padding: 8px 12px !important;
  background: #FEF2F2 !important;
  border: 1px solid #FECACA !important;
  border-radius: 6px !important;
  color: #991B1B !important;
  font-size: 12px !important;
  font-family: var(--pp-font-body) !important;
}

/* === Buy button area === */
.page-product .actions {
  margin-top: 0 !important;
  padding: 0 !important;
}

.page-product .tray-buy-button {
  margin-bottom: 8px !important;
}

.page-product .botao-commerce.botao-comprar,
.page-product #button-buy {
  background: var(--pp-success) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 10px !important;
  height: 52px !important;
  font-family: var(--pp-font-body) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background 0.2s, transform 0.15s, box-shadow 0.2s !important;
  width: 100% !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  padding: 0 16px !important;
  box-shadow: 0 4px 14px rgba(5,150,105,0.25) !important;
}

.page-product .botao-commerce.botao-comprar:hover,
.page-product #button-buy:hover {
  background: #047857 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(5,150,105,0.35) !important;
}

.page-product .botao-commerce-img {
  display: none !important;
}
/* Override Tray ::after that shows button text */
.page-product #button-buy::after {
  content: "COMPRAR" !important;
  color: #FFFFFF !important;
  font-family: var(--pp-font-body) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
}

/* === CART SIDEBAR — fix buttons appearing as unlabeled toggles === */
.modal.cart-preview .botao-commerce.botao-continuar-comprando {
  display: none !important;
}
.modal.cart-preview .botao-commerce.botao-prosseguir-compra {
  width: 100% !important;
  height: auto !important;
  padding: 12px 24px !important;
  border-radius: 8px !important;
  background: #2563EB !important;
  display: block !important;
  text-align: center !important;
  float: none !important;
  margin-top: 8px !important;
}
.modal.cart-preview .botao-commerce.botao-prosseguir-compra .botao-commerce-img {
  display: inline-block !important;
  font-size: 14px !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}

/* === STICKY BUY BAR — mobile only === */
.pp-sticky-buy-bar {
  display: none !important;
}
/* Hide desktop-only Plugoo banner on mobile (transborda e fica vazio até virem versões mobile) */
@media (max-width: 768px) {
  .page-home .banner-home,
  .page-home .banner-advanced,
  .page-home .banner-carousel,
  .page-home .banner-principal {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .pp-sticky-buy-bar {
    display: flex !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    background: #FFFFFF !important;
    border-top: 1px solid var(--pp-border) !important;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.1) !important;
    padding: 10px 16px !important;
    align-items: center !important;
    gap: 12px !important;
    transform: translateY(100%) !important;
    transition: transform 0.3s ease !important;
  }
  .pp-sticky-buy-bar.pp-sticky-visible {
    transform: translateY(0) !important;
  }
  .pp-sticky-buy-bar .pp-sticky-price {
    flex-shrink: 0 !important;
  }
  .pp-sticky-buy-bar .pp-sticky-price-value {
    font-family: var(--pp-font-display) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--pp-text) !important;
    line-height: 1.1 !important;
  }
  .pp-sticky-buy-bar .pp-sticky-price-pix {
    font-size: 11px !important;
    color: var(--pp-success) !important;
    font-weight: 600 !important;
    font-family: var(--pp-font-body) !important;
  }
  .pp-sticky-buy-bar .pp-sticky-btn {
    flex: 1 !important;
    background: var(--pp-success) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 10px !important;
    height: 46px !important;
    font-family: var(--pp-font-body) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(5,150,105,0.25) !important;
    transition: background 0.2s !important;
  }
  .pp-sticky-buy-bar .pp-sticky-btn:active {
    background: #047857 !important;
  }
  /* Add bottom padding to body so sticky bar doesn't cover content */
  .page-product.pp-sticky-active {
    padding-bottom: 72px !important;
  }
}

/* === Shipping calculator — single inline row === */
.page-product .product-shipping {
  display: block !important;
  visibility: visible !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 8px 0 !important;
  margin-top: 0 !important;
  width: 100% !important;
}
/* Hide children we don't need */
.page-product .product-shipping > .info,
.page-product .product-shipping > .shipping-form,
.page-product .product-shipping > .result:empty {
  display: none !important;
}
.page-product .produto-calcular-frete {
  display: block !important;
}

/* Hide the original H6 title (replaced by JS with inline icon+label) */
.page-product .cepbox-text {
  display: none !important;
}

/* Hide the "CEP:" label */
.page-product .cepbox label {
  display: none !important;
}

/* CEP box — single row: icon+label, input, button */
.page-product .cepbox {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  flex-wrap: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
}

/* Hide original split inputs (replaced by single input via JS) */
.page-product .cepbox input.text.pp-cep-original {
  display: none !important;
}

/* Single merged CEP input */
.page-product .cepbox .pp-cep-input {
  flex: 1 !important;
  border: 1px solid rgba(15,23,42,0.12) !important;
  border-radius: 20px !important;
  padding: 0 14px !important;
  font-size: 14px !important;
  font-family: var(--pp-font-body) !important;
  height: 38px !important;
  box-sizing: border-box !important;
  background: #fff !important;
  outline: none !important;
  min-width: 0 !important;
  color: var(--pp-text) !important;
}
.page-product .cepbox .pp-cep-input::placeholder {
  color: var(--pp-text-dim) !important;
}
.page-product .cepbox .pp-cep-input:focus {
  border-color: var(--pp-accent) !important;
  box-shadow: 0 0 0 2px rgba(123,139,111,0.12) !important;
}

/* Shipping label (icon + text, injected by JS) */
.page-product .pp-shipping-label {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-shrink: 0 !important;
  margin-right: 12px !important;
  white-space: nowrap !important;
}
.page-product .pp-shipping-label svg {
  width: 20px !important;
  height: 20px !important;
  color: var(--pp-text) !important;
  flex-shrink: 0 !important;
}
.page-product .pp-shipping-label span {
  font-family: var(--pp-font-body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--pp-text) !important;
}

/* "CALCULAR" button — text-style, no bg */
.page-product .botao-simular-frete,
.page-product .submit-shipping {
  background: transparent !important;
  color: var(--pp-text) !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: var(--pp-font-body) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  padding: 0 4px 0 12px !important;
  height: 44px !important; /* M4: WCAG 2.5.5 / Apple HIG min tap target */
  cursor: pointer !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
}
.page-product .botao-simular-frete:hover,
.page-product .submit-shipping:hover {
  color: var(--pp-accent) !important;
}

/* Hide the dash separator between inputs */
.page-product .cepbox > br,
.page-product .cepbox > span:not(.blocoAlerta) {
  display: none !important;
}

/* Alert messages */
.page-product .cepbox .blocoAlerta {
  display: none !important;
}

/* Shipping results */
.page-product .product-shipping .result {
  margin-top: 10px !important;
}
.page-product .product-shipping .frete-resultado,
.page-product .product-shipping table {
  width: 100% !important;
  font-family: var(--pp-font-body) !important;
  font-size: 13px !important;
  border-collapse: collapse !important;
}
.page-product .product-shipping table td,
.page-product .product-shipping table th {
  padding: 8px 4px !important;
  border-bottom: 1px solid var(--pp-border) !important;
  color: var(--pp-text) !important;
}
.page-product .product-shipping table tr:last-child td {
  border-bottom: none !important;
}

/* === Product social sharing — hidden (duplicate of gallery rule) === */
.page-product .product-social {
  display: none !important;
}

/* === WhatsApp CTA button — constrained size, proper spacing === */
.page-product .wp-prod,
.page-product .whatsapp-button,
.page-product [class*="whatsapp"],
.page-product a[href*="whatsapp"],
.page-product .botao-whatsapp {
  margin-top: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  height: 44px !important;
  max-height: 44px !important;
  overflow: hidden !important;
  border: 1px solid var(--pp-accent) !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: var(--pp-accent) !important;
  font-family: var(--pp-font-body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background 0.2s ease !important;
}
.page-product .wp-prod:hover {
  background: var(--pp-accent-dim) !important;
}
.page-product .wp-prod svg,
.page-product [class*="whatsapp"] svg {
  width: 20px !important;
  height: 20px !important;
  flex-shrink: 0 !important;
}

/* === TABS — Completely hidden (content injected by JS as separate sections) === */
/* Main hiding rules in _components.css */

/* === Related products === */
.page-product .section-product-related {
  max-width: 1180px !important;
  margin: 32px auto !important;
  padding: 0 24px !important;
}

/* Force related products into a horizontal grid — override Swiper carousel */
.page-product .section-product-related .swiper-container,
.page-product .section-product-related .showcase .row,
.page-product .section-product-related .row,
.page-product .section-product-related .showcase {
  overflow: visible !important;
}
.page-product .section-product-related .swiper-wrapper,
.page-product .section-product-related .list-product,
.page-product .section-product-related .showcase .row,
.page-product .section-product-related .row,
.page-product .section-product-related .showcase {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  transform: none !important;
}
/* Override Swiper inline width on slides */
.page-product .section-product-related .swiper-slide {
  width: 100% !important;
  margin-right: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
/* Hide Swiper nav arrows and dots — not needed in grid mode */
.page-product .section-product-related .prev,
.page-product .section-product-related .next,
.page-product .section-product-related .dots {
  display: none !important;
}
/* Title should span full width above grid */
.page-product .section-product-related .title-section {
  grid-column: 1 / -1 !important;
}
/* Ensure Tray columns don't fight the grid */
.page-product .section-product-related [class*="col-"],
.page-product .section-product-related .col {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
}

.page-product .section-product-related .title-section {
  font-family: var(--pp-font-display) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--pp-text) !important;
  margin-bottom: 16px !important;
}

.page-product .section-product-related .item {
  background: var(--pp-card) !important;
  border-radius: 10px !important;
  border: 1px solid var(--pp-border) !important;
  padding: 16px !important;
  transition: border-color 0.2s !important;
}

/* Breathing room around the Comprar row + WhatsApp CTA inside each
   related-products card. Tray renders .product.show-down flush to its
   container edges, so without this the buttons touch the card border. */
.page-product .section-product-related .product.show-down {
  padding: 0 12px 14px !important;
}
.page-product .section-product-related .product .submit-fast-buy,
.page-product .section-product-related .product .actions,
.page-product .section-product-related .product .actions-fixed {
  margin-top: 10px !important;
}
.page-product .section-product-related .product a[href*="wa.me"],
.page-product .section-product-related .product a[href*="whatsapp"],
.page-product .section-product-related .product .wapp,
.page-product .section-product-related .product .btn-pay-wp {
  margin-top: 8px !important;
}

/* v18.7.2 — Center-align the WhatsApp icon + text inside the
   "Dúvidas? Fale no WhatsApp" CTA on related-products cards. Tray's
   default left-aligns them with the icon flush-left. */
.page-product .section-product-related .product .btn-pay-wp,
.page-product .section-product-related .product a[href*="wa.me"],
.page-product .section-product-related .product a[href*="whatsapp"],
.page-product .section-product-related .product .wapp {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  text-align: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.page-product .section-product-related .product .btn-pay-wp > *,
.page-product .section-product-related .product .btn-pay-wp svg,
.page-product .section-product-related .product .btn-pay-wp .icon,
.page-product .section-product-related .product .btn-pay-wp img {
  flex: 0 0 auto !important;
  margin: 0 !important;
  position: static !important;
  vertical-align: middle !important;
}

.page-product .section-product-related .item:hover {
  border-color: var(--pp-accent-border) !important;
}

.page-product .section-product-related .item .image {
  background: var(--pp-surface) !important;
  border-radius: 8px !important;
  margin-bottom: 10px !important;
}

.page-product .section-product-related .product-info .product-name {
  font-family: var(--pp-font-display) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--pp-text) !important;
}

/* Related products — buy button bright green */
.page-product .section-product-related .action.add-to-cart,
.page-product .section-product-related .botao {
  background: var(--pp-success) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: var(--pp-font-body) !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
}
.page-product .section-product-related .action.add-to-cart:hover,
.page-product .section-product-related .botao:hover {
  background: #047857 !important;
}

.page-product .section-product-related .product-info .price,
.page-product .section-product-related .product-info .current-price {
  font-family: var(--pp-font-display) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--pp-accent) !important;
}

/* Recently viewed products */
.page-product .products-history {
  max-width: 1180px !important;
  margin: 40px auto 32px !important;
  padding: 0 24px !important;
}

.page-product .products-history .title-section,
.page-product .products-history .block-title {
  font-family: var(--pp-font-display) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--pp-text) !important;
  margin-bottom: 20px !important;
  text-align: center !important;
}

/* Recently viewed — grid layout (override Tray's .productList layout) */
.page-product .products-history .productList,
.page-product .products-history #produtos {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 16px !important;
  max-width: 1000px !important;
  margin: 0 auto !important;
}

.page-product .products-history #produtos ul {
  display: contents !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Hide empty ul (Tray renders an empty one before the real list) */
.page-product .products-history #produtos ul:empty {
  display: none !important;
}

.page-product .products-history #produtos ul li {
  background: #FFFFFF !important;
  border-radius: 12px !important;
  border: 1px solid var(--pp-border) !important;
  padding: 20px 16px !important;
  transition: border-color 0.2s, box-shadow 0.3s, transform 0.3s !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.page-product .products-history #produtos ul li:hover {
  border-color: var(--pp-accent-border) !important;
  box-shadow: 0 12px 28px rgba(15,23,42,0.08) !important;
  transform: translateY(-3px) !important;
}

.page-product .products-history #produtos .FotoLista {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--pp-surface) !important;
  border-radius: 10px !important;
  padding: 16px !important;
  margin-bottom: 14px !important;
  min-height: 120px !important;
  width: 100% !important;
}

.page-product .products-history #produtos img {
  border-radius: 4px !important;
  max-width: 100px !important;
  max-height: 100px !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
  background: transparent !important;
  object-fit: contain !important;
}

.page-product .products-history #produtos h3 {
  margin: 0 0 6px !important;
}

.page-product .products-history #produtos .NomeProdLista,
.page-product .products-history #produtos h3 a {
  font-family: var(--pp-font-display) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--pp-text) !important;
  text-decoration: none !important;
  line-height: 1.3 !important;
}

/* Hide the Tray price/values row — we show "Ver Produto" button instead */
.page-product .products-history #produtos .ValoresLista {
  display: none !important;
}

/* "Ver Produto" button — injected by JS (pp-view-btn).
   v18.7.2 — A CORS-blocked Tray stylesheet (cart_preview.min.css or similar)
   forces width:90px / height:90px / background:olive on anchor tags inside
   .products-history. We override with explicit auto dims + max specificity. */
html.page-product body.pp-enhanced .products-history #produtos a.pp-view-btn,
html.page-product .products-history #produtos a.pp-view-btn,
.page-product .products-history #produtos .pp-view-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin-top: auto !important;
  padding: 10px 22px !important;
  font-family: var(--pp-font-body) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: #FFFFFF !important;
  background: var(--pp-accent) !important;
  background-color: var(--pp-accent) !important;
  background-image: none !important;
  border: none !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  white-space: nowrap !important;
  transition: background 0.2s !important;
  box-sizing: border-box !important;
}

html.page-product body.pp-enhanced .products-history #produtos a.pp-view-btn:hover,
html.page-product .products-history #produtos a.pp-view-btn:hover,
.page-product .products-history #produtos .pp-view-btn:hover {
  background: var(--pp-accent-light) !important;
  background-color: var(--pp-accent-light) !important;
}

/* Hide pagination, clear button, total count, loader, empty state */
.page-product .products-history .paginacao_ajax,
.page-product .products-history #clearHistory,
.page-product .products-history .history-loader,
.page-product .products-history #not_visited,
.page-product .products-history .visitados_itens,
.page-product .products-history .total_produtos {
  display: none !important;
}


/* ════════════════════════════════════════════════════════════ */
/* Source: css/modules/_components.css */

/* ════════════════════════════════════════════════════════════ */
/*
 * PeptideosPro — Shared Components
 * Badges, benefits, specs, FAQ, trust signals, qty selector, buy row, related products
 */

/* === BADGES (refined: subtle borders, near-white bg) === */
.pp-badge {
  display: inline-block !important;
  background: #FAFBFC !important;
  color: var(--pp-text-muted) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  padding: 5px 12px !important;
  border-radius: 4px !important;
  border: 1px solid #E5E7EB !important;
  letter-spacing: 0.8px !important;
  margin-right: 4px !important;
  margin-bottom: 4px !important;
  font-family: var(--pp-font-body) !important;
}

.pp-badge-success {
  background: #F0FDF9 !important;
  color: var(--pp-success) !important;
  border-color: rgba(5,150,105,0.2) !important;
}

.pp-badge-warning {
  background: #FEF3C7 !important;
  color: #B45309 !important;
  border-color: rgba(180,83,9,0.25) !important;
}

/* === Product badges (above title) === */
.pp-product-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-bottom: 12px !important;
  padding-top: 4px !important;
}

/* === Product subtitle & description === */
.pp-product-subtitle {
  font-family: var(--pp-font-body) !important;
  font-size: 14px !important;
  color: var(--pp-text-dim) !important;
  margin: 6px 0 14px !important;
  font-weight: 400 !important;
}
.pp-product-description {
  font-family: var(--pp-font-body) !important;
  font-size: 15px !important;
  color: var(--pp-text-muted) !important;
  line-height: 1.75 !important;
  margin: 0 0 20px !important;
}

/* === Quantity selector + buy button row === */
.pp-buy-row {
  display: flex !important;
  align-items: stretch !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.pp-qty-selector {
  display: flex !important;
  align-items: center !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  background: #FFFFFF !important;
}
.pp-qty-btn {
  width: 44px !important;
  height: 48px !important;
  border: none !important;
  background: #F8FAFC !important;
  font-size: 18px !important;
  color: var(--pp-text) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.15s !important;
  font-family: var(--pp-font-body) !important;
  padding: 0 !important;
  line-height: 1 !important;
}
.pp-qty-btn:hover {
  background: #E2E8F0 !important;
}
.pp-qty-input {
  width: 44px !important;
  height: 48px !important;
  border: none !important;
  border-left: 1px solid #E2E8F0 !important;
  border-right: 1px solid #E2E8F0 !important;
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  font-family: var(--pp-font-display) !important;
  color: var(--pp-text) !important;
  background: #FFFFFF !important;
  -moz-appearance: textfield !important;
  padding: 0 !important;
}
.pp-qty-input::-webkit-outer-spin-button,
.pp-qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}
.pp-buy-btn-wrapper {
  flex: 1 !important;
  min-width: 0 !important;
}
.pp-buy-btn-wrapper #bt_comprar {
  height: 100% !important;
}
.pp-buy-row .botao-commerce.botao-comprar,
.pp-buy-row #button-buy {
  width: 100% !important;
  height: 48px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
}

/* === Trust signals (single horizontal row) === */
.pp-product-trust-signals {
  display: flex !important;
  visibility: visible !important;
  gap: 0 !important;
  margin-top: 8px !important;
  width: 100% !important;
  padding: 0 !important;
}
.pp-product-trust-signals .pp-trust-signal {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 5px !important;
  flex: 1 !important;
  font-size: 13px !important;
  color: var(--pp-text) !important;
  font-family: var(--pp-font-body) !important;
  background: transparent !important;
  border: none !important;
  border-right: 1px solid var(--pp-border) !important;
  border-radius: 0 !important;
  padding: 8px 8px !important;
  min-width: 0 !important;
  justify-content: center !important;
}
.pp-product-trust-signals .pp-trust-signal:last-child {
  border-right: none !important;
}
.pp-product-trust-signals .pp-trust-signal span:first-child { font-size: 14px !important; line-height: 1 !important; flex-shrink: 0 !important; }
.pp-product-trust-signals .pp-trust-signal span:last-child { font-size: 10px !important; font-weight: 600 !important; color: var(--pp-text-muted) !important; line-height: 1.2 !important; }

/* === CALCULATOR BANNER — CTA linking to dosage calculator === */
.pp-calculator-banner {
  display: block !important;
  visibility: visible !important;
  margin-top: 10px !important;
  border-radius: 10px !important;
  width: 100% !important;
  overflow: hidden !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.pp-calculator-banner:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(123,139,111,0.3) !important;
  text-decoration: none !important;
}
.pp-calculator-banner img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 10px !important;
}

/* === TABS — hidden by JS when custom data exists, styled otherwise === */
/* DO NOT force-hide tabs in CSS — JS controls visibility conditionally.
   When hideTabs() runs (custom data exists), it sets display:none via JS.
   When styleNativeTabs() runs (no custom data), tabs remain visible and styled. */
.page-product .product-tabs {
  max-width: 1180px !important;
  margin: 24px auto !important;
  padding: 0 24px !important;
  font-family: var(--pp-font-body) !important;
}
.page-product .product-tabs .tabs-nav {
  border-bottom: 1px solid var(--pp-border) !important;
  margin-bottom: 0 !important;
}
/* Strip padding/margin from the <li> wrapper so the active <a>'s
   border-bottom sits flush with the <ul>'s own border-bottom. Without
   this, the li contributes its own 12px bottom padding and we get two
   parallel horizontal lines under the active tab. */
.page-product .product-tabs .tabs-nav li {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  font-family: var(--pp-font-body) !important;
  font-size: 14px !important;
  color: var(--pp-text-muted) !important;
  font-weight: 500 !important;
}
.page-product .product-tabs .tabs-nav a {
  display: inline-block !important;
  font-family: var(--pp-font-body) !important;
  font-size: 14px !important;
  color: var(--pp-text-muted) !important;
  font-weight: 500 !important;
  padding: 12px 20px !important;
  margin-bottom: -1px !important; /* overlap the ul's 1px border */
  border-bottom: 2px solid transparent !important;
  text-decoration: none !important;
  transition: color 0.15s ease, border-color 0.15s ease !important;
}
.page-product .product-tabs .tabs-nav a:hover,
.page-product .product-tabs .tabs-nav li.active a,
.page-product .product-tabs .tabs-nav a.active {
  color: var(--pp-text) !important;
  border-bottom-color: var(--pp-accent) !important;
}
/* Tray's own theme paints a second sage "ribbon" under the active tab via
   an absolutely-positioned ::after on span.text. Hide it — we already have
   our border-bottom as the underline indicator. */
.page-product .product-tabs .tabs-nav a span.text::after,
.page-product .product-tabs .tabs-nav a.active span.text::after,
.page-product .product-tabs .tabs-nav li.active a span.text::after {
  content: none !important;
  display: none !important;
  background: none !important;
  border: none !important;
}
.page-product .product-tabs .tabs-content,
.page-product .product-tabs .tab-content {
  font-family: var(--pp-font-body) !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
  color: var(--pp-text-muted) !important;
  padding: 24px 0 !important;
}
.page-product #formasPagto {
  display: none !important;
}

/* === SECTION CONTAINERS (generous whitespace) === */
.pp-product-benefits-section,
.pp-product-specs-section,
.pp-product-faq-section {
  max-width: 1180px !important;
  margin: 56px auto !important;
  padding: 0 24px !important;
}

/* Section titles */
.pp-product-section-title {
  font-family: var(--pp-font-display) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--pp-text) !important;
  margin: 0 0 24px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid var(--pp-border) !important;
}

/* === BENEFITS GRID (4 columns, white bg, #E5E7EB border) === */
.pp-benefits-grid-4 {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
}
.pp-benefit-card-v2 {
  background: #FFFFFF !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 12px !important;
  padding: 24px 20px !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}
.pp-benefit-card-v2:hover {
  border-color: var(--pp-accent-border) !important;
  box-shadow: 0 4px 12px rgba(15,23,42,0.04) !important;
}
.pp-benefit-icon-v2 {
  font-size: 28px !important;
  margin-bottom: 12px !important;
  line-height: 1 !important;
}
.pp-benefit-card-v2 h4 {
  font-family: var(--pp-font-display) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--pp-text) !important;
  margin: 0 0 8px !important;
}
.pp-benefit-card-v2 p {
  font-family: var(--pp-font-body) !important;
  font-size: 13px !important;
  color: var(--pp-text-muted) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* === SPECS TABLE (zebra striping) === */
.pp-specs {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 0 !important;
  background: #FFFFFF !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 1px solid #E5E7EB !important;
}

.pp-specs td {
  padding: 14px 20px !important;
  border-bottom: 1px solid #F1F5F9 !important;
  font-size: 14px !important;
  font-family: var(--pp-font-body) !important;
}

.pp-specs tr.pp-specs-zebra td {
  background: #FFFFFF !important;
}

.pp-specs tr:last-child td { border-bottom: none !important; }
.pp-specs td:first-child {
  color: var(--pp-text-muted) !important;
  width: 35% !important;
  font-weight: 400 !important;
}
.pp-specs td:last-child {
  color: var(--pp-text) !important;
  font-weight: 500 !important;
  text-align: left !important;
}

/* COA download link */
.pp-coa-download {
  color: var(--pp-accent) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}
.pp-coa-download:hover {
  color: var(--pp-accent-light) !important;
}

/* === FAQ ACCORDION === */
.pp-faq-accordion {
  background: #FFFFFF !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

.pp-faq-item {
  border-bottom: 1px solid #F1F5F9 !important;
}
.pp-faq-item:last-child {
  border-bottom: none !important;
}

.pp-faq-question {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 18px 24px !important;
  cursor: pointer !important;
  transition: background 0.15s !important;
}
.pp-faq-question:hover {
  background: #FFFFFF !important;
}
/* Override Tray's ::after that adds a duplicate "+" */
.pp-faq-question::after {
  content: none !important;
  display: none !important;
}

.pp-faq-question strong {
  font-family: var(--pp-font-body) !important;
  font-size: 14px !important;
  color: var(--pp-text) !important;
  font-weight: 500 !important;
  flex: 1 !important;
}

.pp-faq-toggle {
  color: var(--pp-accent) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  transition: transform 0.25s ease !important;
  flex-shrink: 0 !important;
  margin-left: 16px !important;
  width: 24px !important;
  height: 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.pp-faq-item.is-open .pp-faq-toggle {
  transform: rotate(45deg) !important;
}

.pp-faq-answer {
  display: none !important;
  padding: 0 24px 18px !important;
  background: #FFFFFF !important;
}
.pp-faq-item.is-open .pp-faq-answer {
  display: block !important;
}
.pp-faq-answer p {
  font-family: var(--pp-font-body) !important;
  font-size: 14px !important;
  color: var(--pp-text-muted) !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

/* === RELATED PRODUCTS (category badge + dosage highlight) === */
.pp-related-category {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  background: var(--pp-accent-dim) !important;
  color: var(--pp-accent) !important;
  font-family: var(--pp-font-body) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  padding: 3px 10px !important;
  border-radius: 4px !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  z-index: 2 !important;
}

.page-product .section-product-related .product-info .product-name .pp-dose-highlight {
  color: var(--pp-accent) !important;
}


/* ════════════════════════════════════════════════════════════ */
/* Source: css/modules/_responsive.css */

/* ════════════════════════════════════════════════════════════ */
/*
 * PeptídeosPro — Responsive Breakpoints
 * Mobile and tablet adaptations for all sections
 */

/* ================================================================
   HEADER / NAV MOBILE
   ================================================================ */
/* Mobile header adjustments */
@media (max-width: 768px) {
  /* Reduce announcement bar padding on mobile */
  .pp-announcement-bar {
    font-size: 11px !important;
    padding: 8px 12px !important;
  }

  /* Header spacing for mobile — no announcement bar */
  .application {
    padding-top: 0;
  }
  .header,
  .header-mobile {
    top: 0 !important;
  }

  /* Hide desktop header options on mobile (Atendimento, Rastrear, Minha Conta) */
  .pp-enhanced .header .options-wrapper {
    display: none !important;
  }

  /* Hide desktop search bar on mobile — Plugoo bottom nav has "Buscar" */
  .pp-enhanced .header .header-search-wrapper {
    display: none !important;
  }

  /* Mobile header logo sizing */
  .header-logo img {
    height: 36px !important;
    max-width: 160px !important;
  }

  /* Hide desktop nav on mobile (Tray handles hamburger) */
  .pp-custom-nav {
    display: none !important;
  }

  /* Mobile hamburger menu link colors — ensure readability */
  .header-mobile-menu a,
  .menu-mobile a,
  .mobile-menu a,
  .header-mobile .menu-list a,
  .nav-mobile a,
  .sidebar-menu a {
    font-family: var(--pp-font-body) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
  }
}

/* Mobile sidebar extra links (DE A À Z, Como Usar, Artigos, Protocolos, FAQ) */
.pp-mobile-extra-links {
  padding: 16px 24px 24px !important;
  border-top: 1px solid rgba(15,23,42,0.08) !important;
  margin-top: 8px !important;
}
.pp-mobile-extra-title {
  font-family: var(--pp-font-display) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #94A3B8 !important;
  margin-bottom: 12px !important;
}
.pp-mobile-extra-link {
  display: block !important;
  padding: 10px 0 !important;
  font-family: var(--pp-font-body) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #0F172A !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(15,23,42,0.05) !important;
}
.pp-mobile-extra-link:last-child {
  border-bottom: none !important;
}
.pp-mobile-extra-icon {
  margin-right: 8px !important;
}

/* ================================================================
   CONTACT PAGE — Hide company data & address (Tray template elements)
   ================================================================ */
#dados_empresa,
#nosso_endereco {
  display: none !important;
}

/* ================================================================
   FOOTER — hide Plugoo / TrayCommerce branding (all pages)
   ================================================================ */
footer .copy .plugoo,
footer .copy .tray {
  display: none !important;
}

/* ================================================================
   GOOGLE REVIEWS SECTION (homepage + product page)
   ================================================================ */
.pp-google-reviews {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

/* Summary bar */
.pp-gr-summary {
  background: #f8f9fa !important;
  border-radius: 12px !important;
  padding: 20px 28px !important;
  margin-bottom: 24px !important;
  text-align: center !important;
}
.pp-gr-summary-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}
.pp-gr-rating {
  font-family: var(--pp-font-display), 'Space Grotesk', system-ui, sans-serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--pp-text, #0F172A) !important;
  line-height: 1 !important;
}
.pp-gr-rating-stars {
  display: inline-flex !important;
  align-items: center !important;
  gap: 1px !important;
}
.pp-gr-count {
  font-size: 14px !important;
  color: var(--pp-text-muted, #475569) !important;
}
.pp-gr-cta {
  display: inline-block !important;
  background: var(--pp-accent, #2563EB) !important;
  color: #fff !important;
  padding: 10px 24px !important;
  border-radius: 24px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  margin-left: 8px !important;
  transition: background .2s !important;
}
.pp-gr-cta:hover {
  background: var(--pp-accent-light, #3B82F6) !important;
  color: #fff !important;
}

/* Card grid */
.pp-gr-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
}

/* Individual card */
.pp-gr-card {
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  padding: 20px !important;
  transition: box-shadow .2s !important;
}
.pp-gr-card:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
}
.pp-gr-card-header {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
}
.pp-gr-avatar {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  flex-shrink: 0 !important;
}
.pp-gr-author {
  min-width: 0 !important;
}
.pp-gr-name {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--pp-text, #0F172A) !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.pp-gr-time {
  font-size: 11px !important;
  color: var(--pp-text-muted, #475569) !important;
  line-height: 1.3 !important;
  display: flex !important;
  align-items: center !important;
  gap: 3px !important;
}
.pp-gr-stars {
  display: flex !important;
  gap: 1px !important;
  margin-bottom: 8px !important;
}
.pp-gr-text {
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: var(--pp-text, #0F172A) !important;
  margin: 0 !important;
}

/* Product page variant */
.pp-product-reviews-section {
  max-width: 1180px !important;
  margin: 40px auto !important;
  padding: 0 24px !important;
}
.pp-gr-summary-product {
  margin-bottom: 20px !important;
}

/* Responsive */
@media (max-width: 1024px) {
  .pp-gr-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 640px) {
  .pp-gr-grid {
    grid-template-columns: 1fr !important;
  }
  .pp-gr-summary {
    padding: 16px 18px !important;
  }
  .pp-gr-rating {
    font-size: 22px !important;
  }
  .pp-gr-cta {
    margin-left: 0 !important;
    margin-top: 8px !important;
    width: 100% !important;
    text-align: center !important;
  }
}

/* ================================================================
   HOMEPAGE RESPONSIVE
   ================================================================ */
@media (max-width: 1200px) {
  .pp-categories-grid {
    grid-template-columns: repeat(7, 1fr);
    gap: 14px;
  }
  .pp-category-circle { max-width: 130px; }
  .pp-category-icon { font-size: 38px; }
}

@media (max-width: 1024px) {
  .pp-categories-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
  }
  .pp-category-circle { max-width: 140px; }
  .pp-category-icon { font-size: 40px; }

  .pp-products-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  /* Nav links slightly smaller on tablet */
  .pp-nav-link {
    padding: 22px 12px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 768px) {
  /* Hero */
  .pp-hero-slide {
    /* image-based hero — no min-height needed */
  }

  .pp-hero-content {
    padding: 32px 20px;
  }

  .pp-hero-tag {
    font-size: 10px !important;
    padding: 5px 12px !important;
  }

  .pp-hero-title {
    font-size: 28px;
    max-width: 100%;
    line-height: 1.15;
  }

  .pp-hero-desc {
    font-size: 13px;
    max-width: 100%;
    line-height: 1.5;
  }

  .pp-hero-cta {
    width: 100%;
    justify-content: center;
    padding: 14px 20px;
    font-size: 12px !important;
  }

  .pp-hero-cta-outline {
    margin-left: 0;
    margin-top: 10px;
  }

  .pp-hero-arrow {
    display: none;
  }

  .pp-hero-dots {
    bottom: 16px !important;
  }

  /* Trust strip */
  .pp-trust-strip {
    padding: 16px 12px !important;
  }

  .pp-trust-strip-inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .pp-trust-item {
    padding: 10px 8px !important;
    font-size: 12px !important;
  }

  .pp-trust-item .pp-trust-emoji {
    font-size: 20px !important;
  }

  .pp-trust-item strong {
    font-size: 12px !important;
  }

  .pp-trust-item span {
    font-size: 11px !important;
  }

  /* Categories — 3 columns on phones/tablets, circles auto-size */
  .pp-categories-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
  }
  .pp-category-circle { max-width: 110px; }
  .pp-category-icon { font-size: 34px; }
  .pp-category-name { font-size: 13px !important; }
  .pp-category-count { font-size: 10px !important; }

  /* Products grid */
  .pp-products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .pp-product-card {
    border-radius: 8px !important;
  }

  .pp-product-img-wrap {
    min-height: 140px;
    padding: 12px;
  }

  .pp-product-img-wrap img {
    max-height: 110px;
  }

  .pp-product-card-info {
    padding: 10px 12px !important;
  }

  .pp-product-card-info h3 {
    font-size: 13px !important;
    line-height: 1.3 !important;
  }

  .pp-product-card-info .pp-product-price {
    font-size: 15px !important;
  }

  .pp-product-card-info .pp-product-oldprice {
    font-size: 11px !important;
  }

  /* Stats */
  .pp-stats-inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .pp-stat-number {
    font-size: 28px !important;
  }

  /* Testimonials */
  .pp-testimonials-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  /* Features */
  .pp-features-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  /* Newsletter */
  .pp-newsletter-form {
    flex-direction: column;
  }

  .pp-newsletter-form input {
    width: 100% !important;
  }

  .pp-newsletter-form button {
    width: 100% !important;
    margin-top: 8px;
  }

  /* Promo */
  .pp-promo-content {
    padding: 32px 20px;
  }

  .pp-promo-title {
    font-size: 24px !important;
  }

  /* Sections */
  .pp-section {
    padding: 36px 16px;
  }

  .pp-section-title {
    font-size: 24px !important;
  }

  .pp-section-subtitle {
    font-size: 13px !important;
  }

  .pp-section-tag {
    font-size: 10px !important;
  }

  /* ================================================================
     "Tá todo mundo comprando" — Tray native showcase carousel
     ================================================================ */
  .page-home .section-showcase {
    padding: 24px 12px !important;
  }
  .page-home .section-showcase .row,
  .page-home .section-showcase .showcase .row {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    overflow: visible !important;
  }
  .page-home .section-showcase .item {
    width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
  }
  .page-home .section-showcase .item .image {
    min-height: 120px !important;
    padding: 12px !important;
  }
  .page-home .section-showcase .item .product-name {
    font-size: 12px !important;
    min-height: auto !important;
  }
  .page-home .section-showcase .item .current-price {
    font-size: 16px !important;
  }
  .page-home .section-showcase .item .old-price {
    font-size: 11px !important;
  }
  .page-home .section-showcase .item .product-installments {
    font-size: 10px !important;
  }
  .page-home .section-showcase .item .actions {
    padding: 8px !important;
  }
  .page-home .section-showcase .item .action.add-to-cart,
  .page-home .section-showcase .item .botao {
    font-size: 11px !important;
    padding: 8px 10px !important;
  }

  /* Hide native Tray benefits strip on mobile (duplicate of our trust strip) */
  .line-benefits {
    display: none !important;
  }

  /* "Compre por marca" — brand carousel mobile */
  .page-home .brands-slide,
  .page-home [class*="brands-slide"] {
    gap: 12px !important;
    padding: 12px 0 !important;
  }
  .page-home .brands-slide .item {
    padding: 10px 14px !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
  }
  .page-home .brands-slide .item img {
    height: 28px !important;
    max-width: 80px !important;
  }

  /* Footer trust strip — stack on mobile */
  .pp-footer-trust-strip {
    flex-direction: column !important;
    gap: 0 !important;
    padding: 16px !important;
  }
  .pp-footer-trust-item {
    padding: 10px 12px !important;
    gap: 12px !important;
    justify-content: flex-start !important;
  }
}

@media (max-width: 480px) {
  /* Hero even smaller */
  .pp-hero-slide {
    /* image-based hero — no min-height needed */
  }

  .pp-hero-title {
    font-size: 24px;
  }

  .pp-hero-desc {
    font-size: 12px;
  }

  /* Products single column */
  .pp-products-grid {
    grid-template-columns: 1fr;
  }

  .pp-categories-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }
  .pp-category-circle { max-width: 92px; }
  .pp-category-icon { font-size: 30px; }

  .pp-trust-strip-inner {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .pp-section-title {
    font-size: 20px !important;
  }
}

/* ================================================================
   PRODUCT PAGE RESPONSIVE
   ================================================================ */
@media (max-width: 768px) {
  /* Stack product layout vertically */
  .page-product .product-box {
    flex-direction: column !important;
    gap: 0 !important;
  }
  .page-product .product-gallery {
    flex: none !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  .page-product .product-form {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 16px !important;
  }

  /* Product wrapper full width */
  .page-product .product-wrapper {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Gallery image sizing */
  .page-product .product-image-wrap {
    min-height: 300px !important;
    padding: 20px !important;
  }

  /* Thumbnails row — horizontal scroll on mobile */
  .page-product .product-thumbs {
    overflow-x: auto !important;
    padding: 8px 0 !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .page-product .product-thumbs .swiper-wrapper {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
    width: auto !important;
  }
  .page-product .product-thumbs .swiper-slide {
    width: 52px !important;
    height: 52px !important;
    flex-shrink: 0 !important;
  }
  .page-product .product-thumbs .swiper-slide .thumb {
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
  }
  .page-product .product-thumbs .swiper-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  /* Product title */
  .page-product h1.product-name {
    font-size: 22px !important;
    line-height: 1.2 !important;
  }

  /* Badges */
  .pp-product-badges {
    gap: 4px !important;
    flex-wrap: wrap !important;
  }
  .pp-product-badges span {
    font-size: 9px !important;
    padding: 3px 8px !important;
  }

  /* Subtitle & description */
  .pp-product-subtitle {
    font-size: 13px !important;
  }
  .pp-product-description {
    font-size: 13px !important;
    line-height: 1.6 !important;
  }

  /* Price block */
  .page-product .produto-preco {
    padding: 12px 14px !important;
  }
  .page-product .produto-preco .PrecoPrincipal {
    font-size: 26px !important;
  }
  .pp-price-old {
    font-size: 13px !important;
  }
  .pp-pix-value,
  .pp-card-value {
    font-size: 26px !important;
  }
  .pp-pix-label,
  .pp-card-label {
    font-size: 14px !important;
  }
  .pp-price-pix,
  .pp-price-card-hero {
    padding: 12px 14px !important;
  }
  .pp-price-toggle {
    font-size: 12px !important;
  }

  /* Buy row — stack vertically on tablet/mobile */
  .pp-buy-row {
    flex-direction: column !important;
    gap: 8px !important;
  }
  .pp-qty-selector {
    width: 100% !important;
    justify-content: center !important;
  }
  .pp-buy-btn-wrapper {
    flex: 1 !important;
  }

  /* Trust signals — single row, compact on mobile */
  .pp-product-trust-signals {
    gap: 4px !important;
  }
  .pp-product-trust-signals .pp-trust-signal {
    padding: 6px 2px !important;
  }
  .pp-product-trust-signals .pp-trust-signal span:first-child {
    font-size: 16px !important;
  }
  .pp-product-trust-signals .pp-trust-signal span:last-child {
    font-size: 9px !important;
  }

  /* Shipping calculator — responsive: hide label text, keep compact */
  .page-product .pp-shipping-label span {
    display: none !important;
  }
  .page-product .pp-shipping-label {
    margin-right: 8px !important;
  }

  /* Benefits grid */
  .pp-benefits-grid-4 {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .pp-benefits {
    grid-template-columns: 1fr !important;
  }

  /* Tabs content */
  .page-product .tabs-content {
    padding: 16px !important;
  }

  /* Sections below product */
  .pp-product-benefits-section,
  .pp-product-specs-section,
  .pp-product-faq-section {
    margin: 28px auto !important;
    padding: 0 16px !important;
  }

  /* FAQ */
  .pp-faq-question {
    padding: 12px 14px !important;
    font-size: 14px !important;
  }
  .pp-faq-answer {
    padding: 0 14px 12px !important;
    font-size: 13px !important;
  }

  /* Specs table */
  .pp-specs td {
    padding: 10px 12px !important;
    font-size: 13px !important;
  }
  .pp-specs {
    font-size: 13px !important;
  }

  /* Shipping form */
  .page-product .product-shipping {
    padding: 12px !important;
  }

  /* Related products — 2-col on tablet */
  .page-product .section-product-related .swiper-wrapper,
  .page-product .section-product-related .list-product,
  .page-product .related-products .showcase .row {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  /* Hide clutter on mobile related product cards */
  .page-product .section-product-related .item .product-installments,
  .page-product .section-product-related .item .product-payment-option,
  .page-product .section-product-related .item .payment_option_html,
  .page-product .section-product-related .item [class*="whatsapp"],
  .page-product .section-product-related .item .pedido-whatsapp,
  .page-product .section-product-related .item .quantity,
  .page-product .section-product-related .item .qtd,
  .page-product .section-product-related .item [class*="qtd"],
  .page-product .section-product-related .item .buy-together,
  .page-product .section-product-related .item .rating {
    display: none !important;
  }
  .page-product .section-product-related .item .product-name {
    font-size: 13px !important;
    -webkit-line-clamp: 2 !important;
  }
  .page-product .section-product-related .item .current-price,
  .page-product .section-product-related .item .price {
    font-size: 14px !important;
  }
  .page-product .section-product-related .item .old-price {
    font-size: 11px !important;
  }
  .page-product .section-product-related {
    padding: 0 16px !important;
  }
  /* Recently viewed — 2-col on mobile, tighter spacing */
  .page-product .products-history {
    padding: 0 16px !important;
    margin: 24px auto !important;
  }
  .page-product .products-history .productList,
  .page-product .products-history #produtos {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  .page-product .products-history #produtos ul li {
    padding: 14px 10px !important;
  }
  .page-product .products-history #produtos .FotoLista {
    min-height: 80px !important;
    padding: 12px !important;
  }
  .page-product .products-history #produtos img {
    max-width: 70px !important;
    max-height: 70px !important;
  }
  .page-product .products-history #produtos .NomeProdLista,
  .page-product .products-history #produtos h3 a {
    font-size: 12px !important;
  }
  .page-product .products-history #produtos .pp-view-btn {
    padding: 6px 14px !important;
    font-size: 11px !important;
  }
}

/* === FOOTER INSTITUCIONAL — 2-column link layout === */
.pp-enhanced .footer .box .overflow > ul.list {
  columns: 2 !important;
  column-gap: 32px !important;
}
.pp-enhanced .footer .box .overflow > ul.list > li {
  break-inside: avoid !important;
  padding: 4px 0 !important;
}
@media (max-width: 768px) {
  .pp-enhanced .footer .box .overflow > ul.list {
    columns: 1 !important;
  }
}

/* === FOOTER REORGANIZED COLUMNS (Institucional + Mapa do Site) === */
.pp-footer-reorganized {
  padding: 0 !important;
}
.pp-footer-columns {
  display: flex !important;
  gap: 40px !important;
}
.pp-footer-col {
  flex: 1 !important;
}
.pp-footer-col-title {
  font-family: var(--pp-font-display) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--pp-accent) !important;
  margin-bottom: 16px !important;
}
.pp-footer-col-links {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.pp-footer-col-links li {
  margin-bottom: 10px !important;
}
.pp-footer-col-links a {
  font-family: var(--pp-font-body) !important;
  font-size: 14px !important;
  color: var(--pp-text) !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
.pp-footer-col-links a:hover {
  color: var(--pp-accent) !important;
}

/* === FOOTER TRUST STRIP (Plugoo native — Frete Grátis, Descontos, etc.) === */
.pp-footer-trust-strip {
  display: flex !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 0 !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 32px 24px !important;
  border-top: 1px solid var(--pp-border) !important;
  border-bottom: 1px solid var(--pp-border) !important;
}
.pp-footer-trust-item {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  padding: 12px 16px !important;
  text-align: left !important;
}
.pp-footer-trust-item img,
.pp-footer-trust-item svg {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  flex-shrink: 0 !important;
  opacity: 0.6 !important;
  margin-right: 8px !important;
}
/* Also target native Plugoo structure directly */
.pp-footer-trust-strip > * > img,
.pp-footer-trust-strip > * > svg,
.pp-footer-trust-strip > * > *:first-child img,
.pp-footer-trust-strip > * > *:first-child svg {
  margin-right: 12px !important;
}
.pp-footer-trust-item strong,
.pp-footer-trust-item b {
  display: block !important;
  font-family: var(--pp-font-display) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--pp-text) !important;
  line-height: 1.3 !important;
}
.pp-footer-trust-item span,
.pp-footer-trust-item small,
.pp-footer-trust-item p {
  font-family: var(--pp-font-body) !important;
  font-size: 12px !important;
  color: var(--pp-text-muted) !important;
  line-height: 1.3 !important;
}
@media (max-width: 768px) {
  .pp-footer-trust-strip {
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 24px 16px !important;
  }
  .pp-footer-trust-item {
    flex: 0 0 calc(50% - 4px) !important;
    padding: 8px 12px !important;
  }
}
@media (max-width: 480px) {
  .pp-footer-trust-item {
    flex: 0 0 100% !important;
  }
}

/* --- TRAY NATIVE CLEANUP (Avoids massive whitespace gaps) --- */
.page-home #banner-brands {
  margin-top: 0 !important;
  padding-top: 40px !important;
}
/* Brand logos — uniform size, consistent spacing */
#banner-brands .swiper-wrapper,
#banner-brands ul,
#banner-brands .list-brands {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
}
#banner-brands .swiper-slide,
#banner-brands .item,
#banner-brands li,
#banner-brands a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 160px !important;
  height: 70px !important;
  padding: 10px 24px !important;
  box-sizing: border-box !important;
}
#banner-brands img {
  max-height: 28px !important;
  max-width: 120px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  transition: opacity 0.2s !important;
  filter: grayscale(100%) !important;
  opacity: 0.55 !important;
}
#banner-brands img:hover {
  opacity: 0.85 !important;
  filter: grayscale(0%) !important;
}
.page-home .banners-grid, 
.page-home .banner-line,
.page-home .banner-principal,
.page-home .banner-carousel,
.page-home .banners,
.page-home .slider-banner,
.page-home .section-comentarios,
.page-home .instagram-link,
.page-home .section-benefits,
.page-home .benefits {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}

@media (max-width: 480px) {
  /* Product page extra small */
  .page-product h1.product-name {
    font-size: 20px !important;
  }
  .page-product .produto-preco .PrecoPrincipal {
    font-size: 24px !important;
  }
  .pp-benefits-grid-4 {
    grid-template-columns: 1fr !important;
  }
  /* Hero even smaller on tiny screens */
  .pp-hero-content {
    padding: 24px 16px;
  }
}

/* ================================================================
   DEFENSIVE RULES FOR ORPHANED CMS SCRIPTS
   Hides script fragments accidentally pasted into the CMS visual editor
   ================================================================ */
body:not(.page-home) div[style*="background:linear-gradient(135deg,#1a2818"],
body:not(.page-home) div[style*="background:linear-gradient"],
body:not(.page-home) .pp-hero-overlay,
body:not(.page-home) .pp-hero-content,
body:not(.page-home) .pp-hero-tag,
body:not(.page-home) .pp-hero-title,
body:not(.page-home) .pp-hero-desc,
body:not(.page-home) .pp-hero-cta {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  height: 0 !important;
}

/* ================================================================
   CATALOG OVERRIDES
   ================================================================ */
.page-catalog .vitrine, .page-catalog .banner-catalog, .page-catalog .banner-linha, .page-catalog .catalog-header { display: none !important; }
.page-catalog .catalogo-form-filtros { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 32px !important; padding-bottom: 24px !important; border-bottom: 1px solid var(--pp-border) !important; }
.page-catalog .filtro-ordem select { font-family: var(--pp-font-body) !important; border: 1px solid var(--pp-border) !important; border-radius: 8px !important; padding: 8px 16px !important; background-color: var(--pp-bg) !important; color: var(--pp-text) !important; font-size: 14px !important; outline: none; }
.page-catalog .title-category, .page-catalog .board > h1, .page-catalog h1.tit-catalog { font-family: var(--pp-font-display) !important; font-size: 28px !important; font-weight: 700 !important; color: var(--pp-text) !important; letter-spacing: -0.02em; margin-bottom: 24px !important; }
.page-catalog .sidebar, .page-catalog .filtro, .page-catalog #left-column { font-family: var(--pp-font-body) !important; color: var(--pp-text) !important; }
.page-catalog .sidebar h3, .page-catalog .filtro h3, .page-catalog .sidebar .tit-filtro { font-family: var(--pp-font-display) !important; font-size: 16px !important; font-weight: 700 !important; margin-bottom: 16px !important; color: var(--pp-text) !important; border-bottom: 1px solid var(--pp-border); padding-bottom: 8px; }
.page-catalog .sidebar label, .page-catalog .filtro label { font-size: 14px !important; color: var(--pp-text-muted) !important; margin-bottom: 10px !important; display: flex !important; align-items: center !important; gap: 8px !important; cursor: pointer; }
.page-catalog .catalog-content .list-product, .page-catalog .board .list-product { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 24px !important; }
.page-catalog .catalog-content .list-product > .item, .page-catalog .board .list-product > .item { width: 100% !important; padding: 0 !important; margin: 0 !important; float: none !important; display: block !important; }
.page-catalog .list-product .product { background: var(--pp-bg) !important; border: 1px solid var(--pp-border) !important; border-radius: 16px !important; padding: 20px !important; transition: border-color 0.2s, box-shadow 0.3s, transform 0.3s !important; height: 100% !important; display: flex !important; flex-direction: column !important; }
.page-catalog .list-product .product:hover { border-color: var(--pp-accent-border) !important; box-shadow: 0 16px 36px rgba(15,23,42,0.08) !important; transform: translateY(-4px) !important; }
.page-catalog .list-product .product .image { background: #FFFFFF !important; border: 1px solid var(--pp-border) !important; border-radius: 12px !important; padding: 24px !important; margin-bottom: 16px !important; display: flex !important; align-items: center !important; justify-content: center !important; position: relative !important; aspect-ratio: 1/1 !important; }
.page-catalog .list-product .product .image { padding: 0 !important; background: #FFFFFF !important; position: relative !important; aspect-ratio: 1/1 !important; display: flex !important; align-items: center !important; justify-content: center !important; overflow: hidden !important; }
.page-catalog .list-product .product .image a { position: static !important; display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; height: 100% !important; padding: 16px !important; box-sizing: border-box !important; }
.page-catalog .list-product .product .image img { position: static !important; max-width: 100% !important; max-height: 100% !important; width: auto !important; height: auto !important; object-fit: contain !important; transform: none !important; transition: opacity 0.3s ease !important; }
.page-catalog .list-product .product .image > a > img { filter: brightness(1.08) !important; }
.page-catalog .list-product .product .image img.hover-image { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; padding: 24px !important; box-sizing: border-box !important; opacity: 0 !important; }
.page-catalog .list-product .product:hover .image img.hover-image { opacity: 1 !important; }
.page-catalog .list-product .product:hover .image img.primary-image { opacity: 0 !important; }
/* Hide any preloader elements */
.page-catalog .list-product .product .image .swiper-lazy-preloader { display: none !important; }
.page-catalog .list-product .product:hover .image img { transform: scale(1.06) !important; }
.page-catalog .list-product .product-info { display: flex !important; flex-direction: column !important; flex-grow: 1 !important; text-decoration: none !important; }
.page-catalog .list-product .product-name { font-family: var(--pp-font-display) !important; font-size: 16px !important; font-weight: 700 !important; line-height: 1.25 !important; color: var(--pp-text) !important; margin: 0 0 12px !important; }
.page-catalog .list-product .product-rating { margin-bottom: 8px !important; }
.page-catalog .list-product .product-price { margin-top: auto !important; }
.page-catalog .list-product .current-price { font-family: var(--pp-font-display) !important; font-size: 20px !important; font-weight: 700 !important; color: var(--pp-text) !important; display: block; }
.page-catalog .list-product .old-price { font-size: 13px !important; font-weight: 400 !important; color: var(--pp-text-dim) !important; text-decoration: line-through !important; display: block; margin-bottom: 4px; }
.page-catalog .list-product .tag-circle.discount, .page-catalog .list-product .tag-list.tag-discount, .page-catalog .list-product .tag-discount { position: absolute !important; top: 14px !important; left: 14px !important; background: #D97706 !important; color: #FFFFFF !important; font-size: 13px !important; font-weight: 700 !important; padding: 6px 12px !important; border-radius: 6px !important; z-index: 5 !important; width: fit-content !important; max-width: 80px !important; height: auto !important; display: inline-block !important; line-height: 1 !important; text-align: center !important; }
.page-catalog .list-product .tag-discount svg, .page-catalog .list-product .tag-list.tag-discount svg { display: none !important; }
.page-catalog .list-product .product-tags-circle { display: none !important; }
/* Catalog page mobile responsive */
@media (max-width: 768px) {
  /* Product grid: 2 columns */
  .page-catalog .catalog-content .list-product,
  .page-catalog .board .list-product {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .page-catalog .list-product .product {
    padding: 12px !important;
  }

  /* Hide sidebar filters on mobile — Tray has its own mobile filter toggle */
  .page-catalog .sidebar,
  .page-catalog #left-column,
  .page-catalog .filtro {
    display: none !important;
  }

  /* Make catalog content full-width when sidebar is hidden */
  .page-catalog .catalog-content,
  .page-catalog .board,
  .page-catalog #right-column,
  .page-catalog .content-right {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    padding: 0 12px !important;
  }

  /* Category title */
  .page-catalog .title-category,
  .page-catalog .board > h1,
  .page-catalog h1.tit-catalog {
    font-size: 22px !important;
    margin-bottom: 16px !important;
  }

  /* Filter/order bar — stack vertically */
  .page-catalog .catalogo-form-filtros {
    flex-direction: column !important;
    gap: 12px !important;
    padding-bottom: 16px !important;
    margin-bottom: 16px !important;
  }

  /* Category banner full width */
  .page-catalog .pp-category-banner,
  .page-catalog .banner-catalog img,
  .page-catalog .banner-linha img {
    width: 100% !important;
    border-radius: 8px !important;
  }

  /* Product card adjustments */
  .page-catalog .list-product .product-name {
    font-size: 13px !important;
  }
  .page-catalog .list-product .current-price {
    font-size: 17px !important;
  }
  .page-catalog .list-product .old-price {
    font-size: 11px !important;
  }

  /* Breadcrumbs smaller */
  .page-catalog .breadcrumb,
  .page-catalog .breadcrumbs {
    font-size: 11px !important;
    padding: 8px 12px !important;
  }
}

/* ================================================================
   PIX-FIRST PRICE CARDS — used on catalog/search/related/showcase
   Injected by refactorCatalogCardPrices() in JS. Mirrors the
   product page price block visual but smaller, scoped to .product-price.
   ================================================================ */
.product-price .price.display-cash[data-pp-refactored="1"] {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  align-items: flex-start !important;
}
.product-price .pp-card-old-price {
  font-size: 12px !important;
  font-weight: 400 !important;
  color: var(--pp-text-dim, #94A3B8) !important;
  text-decoration: line-through !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}
.product-price .pp-card-pix-box {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  background: rgba(5, 150, 105, 0.08) !important;
  border: 1px solid rgba(5, 150, 105, 0.18) !important;
  border-radius: 8px !important;
  padding: 6px 10px !important;
  margin: 2px 0 !important;
  width: auto !important;
  max-width: 100% !important;
}
.product-price .pp-card-pix-value {
  font-family: var(--pp-font-display, 'Space Grotesk', system-ui, sans-serif) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--pp-success, #059669) !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}
.product-price .pp-card-pix-label {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--pp-success, #059669) !important;
  letter-spacing: 0.2px !important;
  white-space: nowrap !important;
}
/* v18.7.2 — Force PIX price block to stay on a single line. The related-
   products carousel cards are narrow enough that "R$ 1.996,99 no PIX"
   was wrapping into 2-3 lines. */
.product-price .pp-card-pix-box {
  white-space: nowrap !important;
  flex-wrap: nowrap !important;
}
.product-price .pp-card-card-line {
  font-size: 11px !important;
  font-weight: 400 !important;
  color: var(--pp-text-muted, #475569) !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}
.product-price .pp-card-installments {
  font-size: 10px !important;
  font-weight: 400 !important;
  color: var(--pp-text-dim, #94A3B8) !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}

/* Mobile — slightly smaller PIX number to fit in 2-col grid */
@media (max-width: 768px) {
  .product-price .pp-card-pix-value { font-size: 16px !important; }
  .product-price .pp-card-pix-label { font-size: 10px !important; }
  .product-price .pp-card-old-price { font-size: 10px !important; }
  .product-price .pp-card-card-line { font-size: 10px !important; }
  .product-price .pp-card-installments { font-size: 9px !important; }
  .product-price .pp-card-pix-box { padding: 4px 8px !important; }
}

/* ═══════════════════════════════════════════════════════════════
   /como-usar — Técnica de Aplicação infographic hero
   Inserted by JS at the top of .board_htm. The source image is a
   tall 800×1433 portrait on a dark green background, so we frame it
   with a matching dark card on desktop and let it go edge-to-edge
   on mobile. Figcaption below carries the regulatory disclaimer.
   ═══════════════════════════════════════════════════════════════ */
.page-como-usar .pp-como-usar-hero {
  margin: 0 auto 40px !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}
.page-como-usar .pp-como-usar-figure {
  margin: 0 !important;
  padding: 24px !important;
  background: linear-gradient(180deg, #0F1A0E 0%, #152015 100%) !important;
  border: 1px solid rgba(123, 139, 111, 0.25) !important;
  border-radius: 16px !important;
  box-shadow:
    0 12px 32px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
  max-width: 560px !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 18px !important;
}
.page-como-usar .pp-como-usar-figure img {
  display: block !important;
  width: 100% !important;
  max-width: 480px !important;
  height: auto !important;
  border-radius: 10px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35) !important;
}
.page-como-usar .pp-como-usar-caption {
  font-family: var(--pp-font-body) !important;
  font-size: 11px !important;
  line-height: 1.55 !important;
  color: rgba(200, 214, 192, 0.72) !important;
  text-align: center !important;
  max-width: 480px !important;
  padding: 0 8px !important;
  font-style: normal !important;
  letter-spacing: 0.1px !important;
}

@media (max-width: 768px) {
  .page-como-usar .pp-como-usar-hero {
    margin: 0 -16px 28px !important;
    width: calc(100% + 32px) !important;
  }
  .page-como-usar .pp-como-usar-figure {
    padding: 16px !important;
    border-radius: 0 !important;
    border-left: none !important;
    border-right: none !important;
    max-width: 100% !important;
  }
  .page-como-usar .pp-como-usar-figure img {
    max-width: 100% !important;
    border-radius: 6px !important;
  }
  .page-como-usar .pp-como-usar-caption {
    font-size: 10px !important;
  }
}

    text-align: center !important;
  }
}

/* ============================================================
   RESEARCH USE DISCLAIMER (2026-04-15)
   Clickwrap consent: footer + modal + product checkbox
   ============================================================ */

/* ── Footer disclaimer (topo do rodapé, todas as páginas) ── */
.pp-research-footer-disclaimer {
  background: linear-gradient(135deg, #F0F4FF 0%, #E8F0FE 100%) !important;
  border-top: 1px solid rgba(37,99,235,0.12) !important;
  border-bottom: 1px solid rgba(37,99,235,0.12) !important;
  padding: 18px 0 !important;
  font-family: var(--pp-font-body) !important;
}
.pp-research-footer-disclaimer .pp-rfd-inner {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}
.pp-research-footer-disclaimer .pp-rfd-icon-wrap {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(37,99,235,0.08) !important;
  border-radius: 8px !important;
  color: var(--pp-accent) !important;
}
.pp-research-footer-disclaimer .pp-rfd-text {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}
.pp-research-footer-disclaimer .pp-rfd-label {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  color: var(--pp-accent) !important;
  line-height: 1.3 !important;
}
.pp-research-footer-disclaimer .pp-rfd-desc {
  font-size: 12.5px !important;
  line-height: 1.5 !important;
  color: #475569 !important;                      /* slate-600 */
}
.pp-research-footer-disclaimer .pp-rfd-desc a {
  color: var(--pp-accent) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  border-bottom: 1px solid rgba(37,99,235,0.3) !important;
  transition: border-color 0.2s !important;
}
.pp-research-footer-disclaimer .pp-rfd-desc a:hover {
  border-bottom-color: var(--pp-accent) !important;
}
@media (max-width: 640px) {
  .pp-research-footer-disclaimer .pp-rfd-inner {
    padding: 0 16px !important;
    gap: 12px !important;
  }
  .pp-research-footer-disclaimer .pp-rfd-label {
    font-size: 11px !important;
  }
  .pp-research-footer-disclaimer .pp-rfd-desc {
    font-size: 11.5px !important;
  }
}

/* ── Modal de primeiro acesso ── */
.pp-research-modal-backdrop {
  position: fixed !important;
  top: 0 !important; left: 0 !important;
  width: 100% !important; height: 100% !important;
  background: rgba(15, 23, 42, 0.75) !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  animation: ppResearchModalFadeIn 0.25s ease-out !important;
}
.pp-research-modal-backdrop.pp-research-modal-closing {
  animation: ppResearchModalFadeOut 0.2s ease-in forwards !important;
}
@keyframes ppResearchModalFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes ppResearchModalFadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}
.pp-research-modal {
  background: #FFFFFF !important;
  border-radius: 12px !important;
  max-width: 520px !important;
  width: 100% !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3) !important;
  font-family: var(--pp-font-body) !important;
  max-height: 90vh !important;
  overflow-y: auto !important;
  animation: ppResearchModalSlideUp 0.3s ease-out !important;
}
@keyframes ppResearchModalSlideUp {
  from { transform: translateY(20px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}
.pp-research-modal-header {
  padding: 24px 28px 16px 28px !important;
  border-bottom: 1px solid var(--pp-border) !important;
}
.pp-research-modal-badge {
  display: inline-block !important;
  background: #FEF3C7 !important;
  color: #78350F !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  margin-bottom: 10px !important;
}
.pp-research-modal-header h2 {
  font-family: var(--pp-font-display) !important;
  font-size: 22px !important;
  color: var(--pp-text) !important;
  margin: 0 !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
}
.pp-research-modal-body {
  padding: 20px 28px !important;
  color: var(--pp-text-muted) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}
.pp-research-modal-body p {
  margin: 0 0 12px 0 !important;
}
.pp-research-modal-body strong {
  color: var(--pp-text) !important;
  font-weight: 600 !important;
}
.pp-research-modal-body ul {
  margin: 12px 0 16px 0 !important;
  padding-left: 20px !important;
}
.pp-research-modal-body ul li {
  margin-bottom: 6px !important;
  list-style: disc !important;
}
.pp-research-modal-body .pp-research-modal-terms {
  font-size: 13px !important;
  color: var(--pp-text-dim) !important;
  margin-top: 16px !important;
  padding-top: 14px !important;
  border-top: 1px solid var(--pp-border) !important;
}
.pp-research-modal-body a {
  color: var(--pp-accent) !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
}
.pp-research-modal-footer {
  padding: 16px 28px 24px 28px !important;
}
.pp-research-modal-btn {
  width: 100% !important;
  height: 48px !important;
  background: var(--pp-accent) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: var(--pp-font-body) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
}
.pp-research-modal-btn:hover {
  background: var(--pp-accent-light) !important;
}

@media (max-width: 640px) {
  .pp-research-modal-header { padding: 20px 20px 14px 20px !important; }
  .pp-research-modal-body { padding: 16px 20px !important; font-size: 13px !important; }
  .pp-research-modal-footer { padding: 14px 20px 20px 20px !important; }
  .pp-research-modal-header h2 { font-size: 19px !important; }
}

/* ── Checkbox de consentimento no produto ── */
.pp-research-consent {
  margin: 16px 0 !important;
  padding: 16px 18px !important;
  background: #FFFBEB !important;                           /* amber-50 */
  border: 1px solid #FCD34D !important;                     /* amber-300 */
  border-radius: 10px !important;
  transition: all 0.25s ease !important;
}
.pp-research-consent.pp-research-consent-warn {
  background: #FEF2F2 !important;
  border-color: #DC2626 !important;
  animation: ppResearchConsentShake 0.4s ease !important;
}
@keyframes ppResearchConsentShake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-4px); }
  75% { transform: translateX(4px); }
}
.pp-research-consent-label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  cursor: pointer !important;
  margin: 0 !important;
}
.pp-research-consent-checkbox {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.pp-research-consent-custombox {
  flex-shrink: 0 !important;
  width: 22px !important;
  height: 22px !important;
  border: 2px solid #D97706 !important;                     /* amber-600 */
  border-radius: 5px !important;
  background: #FFFFFF !important;
  margin-top: 1px !important;
  transition: all 0.2s ease !important;
  position: relative !important;
}
.pp-research-consent-checkbox:checked ~ .pp-research-consent-custombox {
  background: #059669 !important;                           /* emerald-600 */
  border-color: #059669 !important;
}
.pp-research-consent-checkbox:checked ~ .pp-research-consent-custombox::after {
  content: '' !important;
  position: absolute !important;
  left: 6px !important;
  top: 2px !important;
  width: 6px !important;
  height: 11px !important;
  border: solid #FFFFFF !important;
  border-width: 0 2.5px 2.5px 0 !important;
  transform: rotate(45deg) !important;
}
.pp-research-consent-checkbox:focus-visible ~ .pp-research-consent-custombox {
  outline: 2px solid #D97706 !important;
  outline-offset: 2px !important;
}
.pp-research-consent-text {
  font-family: var(--pp-font-body) !important;
  font-size: 12.5px !important;
  line-height: 1.55 !important;
  color: #78350F !important;                                /* amber-900 */
  user-select: none !important;
}
.pp-research-consent-text strong {
  color: #0F172A !important;
  font-weight: 700 !important;
}
.pp-research-consent-text a {
  color: #2563EB !important;
  text-decoration: underline !important;
  font-weight: 700 !important;
  pointer-events: auto !important;                          /* garante que o link e clicavel dentro do label */
}
.pp-research-consent-text a:hover {
  color: #1D4ED8 !important;
}
.pp-research-consent.pp-research-consent-warn .pp-research-consent-text {
  color: #991B1B !important;
}
.pp-research-consent.pp-research-consent-warn .pp-research-consent-custombox {
  border-color: #DC2626 !important;
}

/* Botão COMPRAR desabilitado enquanto checkbox não marcado */
.page-product #button-buy.pp-buy-disabled,
.page-product #button-buy[disabled] {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
  filter: grayscale(0.3) !important;
}

@media (max-width: 640px) {
  .pp-research-consent { padding: 14px 14px !important; }
  .pp-research-consent-text { font-size: 12px !important; }
}

/* ================================================================
   ACCESSIBILITY — respect user's motion preference
   ================================================================ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
