/* Propuesta 3: una sola paleta para landing y fichas de producto. */
:root {
  --brand-green: #146c43;
  --brand-green-hover: #0f5735;
  --whatsapp-green: #25d366;
  --whatsapp-green-hover: #20bd5a;
  --canvas: #f5f4f0;
  --surface: #ffffff;
  --neutral-dark: #0b0b0a;
  --neutral-line: #dedbd3;
  --neutral-soft: #eeece7;
  --neutral-muted: #62645f;
  --ink: #161513;
  --green: var(--brand-green);
  --green-hover: var(--brand-green-hover);
  --deep: var(--neutral-dark);
  --mint: var(--brand-green);
  --paper: var(--canvas);
  --line: var(--neutral-line);
  --muted: var(--neutral-muted);
  --brand-deep: var(--neutral-dark);
  --brand-surface: #161513;
  --brand-action: var(--brand-green);
  --brand-action-hover: var(--brand-green-hover);
  --brand-soft: var(--neutral-soft);
  --brand-light: var(--brand-green);
  --wa: var(--whatsapp-green);
}

body:not(.product-page) { background: var(--canvas); }
body:not(.product-page) .site-header,
body:not(.product-page) .site-footer,
body:not(.product-page) .landing-hero { background: var(--neutral-dark); }

/* Las secciones regulares comparten el mismo lienzo; la separación viene del ritmo y las líneas. */
body:not(.product-page) .benefits,
body:not(.product-page) .featured,
body:not(.product-page) .catalog,
body:not(.product-page) .personalization,
body:not(.product-page) .community,
body:not(.product-page) .peace,
body:not(.product-page) .story {
  background: var(--canvas);
  color: var(--ink);
  border-color: var(--neutral-line);
}
body:not(.product-page) .featured,
body:not(.product-page) .catalog,
body:not(.product-page) .personalization,
body:not(.product-page) .community,
body:not(.product-page) .peace,
body:not(.product-page) .story { border-top: 1px solid var(--neutral-line); }
body:not(.product-page) .benefits { border-bottom: 0; }
body:not(.product-page) .benefits-inner > a + a { border-color: var(--neutral-line); }

body:not(.product-page) .product-card,
body:not(.product-page) .catalog-controls,
body:not(.product-page) .review-card,
body:not(.product-page) .empty-state,
body:not(.product-page) .personalization-photos figure { background: var(--surface); }
body:not(.product-page) .product-card:hover { border-color: var(--brand-green); }
body:not(.product-page) .hero-eyebrow { color: #c8c5bd; }
body:not(.product-page) .card-team,
body:not(.product-page) .personalization-photos figcaption { color: var(--neutral-muted); }
body:not(.product-page) .product-badges span:not(.sale):not(.sold-out):not(.official) {
  background: var(--surface);
  border-color: var(--neutral-line);
  color: var(--neutral-muted);
}
body:not(.product-page) .search button,
body:not(.product-page) .team-button:hover,
body:not(.product-page) .personalization-photos figcaption,
body:not(.product-page) .guarantees > p > span:first-child { background: var(--neutral-soft); }

body:not(.product-page) .personalization .eyebrow,
body:not(.product-page) .personalization p,
body:not(.product-page) .personalization small { color: var(--neutral-muted); }
body:not(.product-page) .personalization p b { color: var(--ink); }
body:not(.product-page) .personalization h2 em,
body:not(.product-page) .peace h2 em,
body:not(.product-page) .guarantees > p > span:first-child,
body:not(.product-page) .card-action,
body:not(.product-page) .catalog-bottom p a { color: var(--brand-green); }
body:not(.product-page) .story p { color: var(--neutral-muted); }
body:not(.product-page) .story-mark { color: #cbc9c2; }

body:not(.product-page) .button-green,
body:not(.product-page) .button-light,
body:not(.product-page) .featured .card-action { background: var(--brand-green); color: #fff; }
body:not(.product-page) .button-green:hover,
body:not(.product-page) .button-light:hover,
body:not(.product-page) .featured .card-action:hover { background: var(--brand-green-hover); }
body:not(.product-page) .landing-hero h1 em { color: var(--brand-green); }
body:not(.product-page) .hero-actions .button { background: var(--brand-green); color: #fff; }
body:not(.product-page) .hero-actions .button:hover { background: var(--brand-green-hover); }

body:not(.product-page) .filter-row button[aria-pressed="true"],
body:not(.product-page) .team-button[aria-pressed="true"] {
  background: var(--brand-green);
  border-color: var(--brand-green);
  color: #fff;
}
body:not(.product-page) .stock-toggle input { accent-color: var(--brand-green); }
body:not(.product-page) .community-tabs button[aria-selected="true"] { border-color: var(--brand-green); }
body:not(.product-page) .cart-dock { background: var(--neutral-dark); border-color: #44433f; }
body:not(.product-page) .cart-dock b span { background: var(--brand-green); color: #fff; }
body:not(.product-page) .cart-dock > span:last-child { color: #fff; }

/* Toda acción que abre WhatsApp utiliza el verde oficial de WhatsApp. */
.button-whatsapp,
body:not(.product-page) .help-link,
.product-page .bar .online,
.product-page .checkout-submit,
.product-page .whatsapp-fallback {
  background: var(--whatsapp-green);
  border-color: var(--whatsapp-green);
  color: #071d0f;
}
.button-whatsapp:hover,
body:not(.product-page) .help-link:hover,
.product-page .bar .online:hover,
.product-page .checkout-submit:hover,
.product-page .whatsapp-fallback:hover { background: var(--whatsapp-green-hover); }
.button-whatsapp { text-decoration: none; }
body:not(.product-page) .help-link {
  min-height: 43px;
  padding: 6px 12px;
  border-radius: 10px;
}
body:not(.product-page) .help-link small,
.product-page .pdp-help-copy b,
.product-page .pdp-help-copy small,
.product-page .pdp-help-arrow { color: #071d0f; }
body:not(.product-page) .status-dot,
body:not(.product-page) .help-link.is-online .status-dot,
.product-page .online .dot {
  background: #071d0f;
  box-shadow: 0 0 0 3px rgba(255,255,255,.38);
}
body:not(.product-page) .help-link:not(.is-online) .status-dot,
.product-page .online.off .dot { background: #68736b; box-shadow: none; }

/* La ficha usa la misma base, el mismo verde de marca y superficies neutras. */
.product-page {
  --pdp-green: var(--brand-green);
  --pdp-deep: var(--neutral-dark);
  --pdp-mint: var(--neutral-soft);
  --pdp-line: var(--neutral-line);
  --pdp-muted: var(--neutral-muted);
  background: var(--canvas);
  color: var(--ink);
}
.product-page header,
.product-page footer { background: var(--neutral-dark); }
.product-page .tk-wrap,
.product-page .product-promo-banner,
.product-page .rv-summary { background: var(--neutral-dark); border-color: #33322f; }
.product-page .product-promo-media { opacity: .16; }
.product-page .tk-wrap { color: #c8c5bd; }
.product-page .tk-i i { color: var(--brand-green); }
.product-page .product-promo-copy small { color: #c8c5bd; }
.product-page .product-price {
  background: var(--neutral-dark);
  border-color: #33322f;
  box-shadow: none;
}
.product-page .product-price-label,
.product-page .product-price-reference small,
.product-page .product-price-old,
.product-page .product-price-pills span { color: #c8c5bd; }
.product-page .product-price-pills span { border-color: #4a4945; }
.product-page .product-type.is-active {
  border-color: var(--brand-green);
  background: var(--neutral-soft);
}
.product-page .product-size.is-active {
  background: var(--brand-green);
  border-color: var(--brand-green);
}
.product-page .product-primary-cta,
.product-page .product-sticky-button {
  background: var(--brand-green);
  color: #fff;
}
.product-page .product-primary-cta:hover,
.product-page .product-sticky-button:hover { background: var(--brand-green-hover); }
.product-page .pdp-cart-icon span { background: var(--brand-green); color: #fff; }
.product-page .availability:not(.availability-out_of_stock):not(.availability-low_stock):not(.availability-preorder),
.product-page .checkout-status,
.product-page .product-add-another,
.product-page .continue-shopping { color: var(--brand-green); }
.product-page .product-add-another,
.product-page .continue-shopping { border-color: var(--brand-green); }
.product-page .inline-checkout { border-color: var(--neutral-line); }
.product-page .inline-checkout-toggle { background: var(--neutral-soft); }
.product-page .inline-delivery-route {
  background: var(--neutral-soft);
  color: var(--ink);
}
.product-page .inline-checkout input,
.product-page .inline-checkout select,
.product-page .inline-checkout textarea { border-color: #c8c5bd; color: var(--ink); }
.product-page .product-detail-status,
.product-page a.preview-catalog-link { color: var(--brand-green); }
.product-page .product-benefit strong { color: var(--ink); }
.product-page .rv-avatar { background: var(--neutral-soft); color: var(--ink); }
.product-page .rv-dbar { background: #3a3935; }
.product-page .rv-lb { background: rgba(11,11,10,.96); }
.product-page .rv-lb-info { background: #161513; }
.product-page .related-photo > span,
.product-page .faq-th { color: var(--neutral-muted); }
.product-page .faq-ico,
.product-page .faq-table { background: var(--neutral-soft); }
.product-page button:focus-visible,
.product-page a:focus-visible,
.product-page input:focus-visible,
.product-page select:focus-visible,
.product-page summary:focus-visible { outline-color: var(--brand-green); }

@media (max-width: 600px) {
  body:not(.product-page) .help-link { min-height: 38px; padding: 5px 8px; border-radius: 8px; }
}
