/* Reinicio mínimo (la landing lo traía de Tailwind). */
*,
*::before,
*::after {
  box-sizing: border-box;
}
ul,
ol {
  margin: 0;
}
button,
input,
select,
textarea {
  font: inherit;
}

/* Tema Manzal: lo que la landing no tiene (WordPress, blog y WooCommerce).
   Mismos tokens de landing.css: --cafe, --salvia, --claro, --amarillo, --verde (compra), --linea, --superficie. */

:root {
  --font-display: "Fredoka";
  --font-body: "Nunito Sans";
  --narrow: 46rem;
}

.wrap-narrow {
  width: 100%;
  max-width: var(--narrow);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.skip {
  position: absolute;
  left: -999px;
  top: 0;
  z-index: 100;
  padding: 0.75rem 1rem;
  background: var(--cafe);
  color: #fff;
}
.skip:focus {
  left: 1rem;
}
img {
  max-width: 100%;
  height: auto;
}

/* ---------- Cabecera ---------- */
.site-header .topbar-row {
  gap: 1rem;
}
.site-logo img {
  display: block;
  width: 132px;
  height: auto;
}
.site-nav-list {
  display: flex;
  gap: 0.25rem 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  font-weight: 600;
  font-size: 0.975rem;
}
.site-nav-list a {
  text-decoration: none;
  padding-block: 0.5rem;
}
.site-nav-list a:hover,
.site-nav-list .current-menu-item a {
  text-decoration: underline;
  text-underline-offset: 0.3em;
  text-decoration-thickness: 2px;
}
.site-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.btn-small {
  min-height: 2.75rem;
  padding: 0.4rem 1.25rem;
  font-size: 1rem;
}
.nav-toggle {
  display: none;
  width: 2.75rem;
  height: 2.75rem;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--cafe);
  cursor: pointer;
}
.checkout-secure {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-weight: 600;
  font-size: 0.9375rem;
}
@media (max-width: 960px) {
  .nav-toggle {
    display: grid;
    place-items: center;
  }
  .site-nav {
    display: none;
    position: absolute;
    inset: 100% 0 auto;
    background: var(--claro);
    border-bottom: 1px solid var(--linea);
    padding: 0.5rem var(--gutter) 1.25rem;
  }
  .nav-open .site-nav {
    display: block;
  }
  .site-nav-list {
    flex-direction: column;
    font-size: 1.125rem;
  }
  .site-nav-list a {
    display: block;
    padding-block: 0.75rem;
    border-bottom: 1px solid var(--linea);
  }
  .site-header {
    position: sticky;
  }
}

/* ---------- Pie ---------- */
.site-footer {
  margin-top: 0;
  padding-block: 3.5rem 2rem;
  background: var(--superficie);
  color: var(--cafe);
}
.site-footer .footer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 2rem;
}
.site-footer nav {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.site-footer nav a {
  text-decoration: none;
}
.site-footer nav a:hover {
  text-decoration: underline;
}
.footer-title {
  font-size: 1rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 0.35rem;
}
.footer-brand p {
  margin-top: 0.75rem;
  max-width: 22rem;
  color: var(--texto-suave);
}
.footer-kosher {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
}
.footer-legal {
  margin-top: 2.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--linea);
  font-size: 0.875rem;
  color: var(--texto-suave);
}

/* ---------- Blog ---------- */
.blog-list h1 {
  font-size: clamp(2.25rem, 5vw, 3.5rem);
}
.blog-cats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1.75rem;
}
.blog-cats a {
  padding: 0.4rem 1rem;
  border-radius: 999px;
  border: 1px solid var(--linea);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9375rem;
  background: var(--superficie);
}
.blog-cats a[aria-current] {
  background: var(--cafe);
  color: var(--claro);
  border-color: var(--cafe);
}
.post-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr));
  gap: 1.5rem;
  margin-top: 2rem;
}
.post-card a {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  border-radius: var(--radio);
  overflow: hidden;
  background: var(--superficie);
  transition: transform 160ms ease-out;
}
.post-card a:hover {
  transform: translateY(-3px);
}
.post-card-img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  display: block;
}
.post-card-img-vacia {
  background: color-mix(in srgb, var(--salvia) 35%, var(--claro));
}
.post-card-body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1.1rem 1.25rem 1.35rem;
  flex: 1;
}
.post-card h3 {
  font-size: 1.1875rem;
}
.post-card p {
  color: var(--texto-suave);
  font-size: 0.9375rem;
}
.post-card-meta {
  margin-top: auto;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--salvia);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.nav-links {
  display: flex;
  gap: 0.75rem;
  margin-top: 2.5rem;
  flex-wrap: wrap;
}
.nav-links a,
.nav-links span {
  padding: 0.4rem 0.9rem;
  border-radius: 999px;
  text-decoration: none;
  background: var(--superficie);
}
.nav-links .current {
  background: var(--cafe);
  color: var(--claro);
}

/* Artículo */
.post-header {
  padding-top: clamp(2rem, 6vw, 4rem);
}
.post-crumbs a {
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--salvia);
}
.post-header h1 {
  margin-top: 0.75rem;
  font-size: clamp(2rem, 5vw, 3.25rem);
  line-height: 1.08;
}
.post-meta {
  margin-top: 1rem;
  color: var(--texto-suave);
  font-size: 0.9375rem;
}
.post-cover {
  margin-block: 2rem 0;
}
.post-cover img {
  width: 100%;
  border-radius: var(--radio-grande);
}
.post-content {
  margin-top: 2rem;
  font-size: 1.125rem;
  line-height: 1.7;
}
.post-content > * + * {
  margin-top: 1.1em;
}
.post-content h2 {
  margin-top: 2em;
  font-size: clamp(1.5rem, 3vw, 2rem);
}
.post-content h3 {
  margin-top: 1.6em;
}
.post-content a {
  color: var(--cafe);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.2em;
}
.post-content ul,
.post-content ol {
  padding-left: 1.25em;
}
.post-content li + li {
  margin-top: 0.4em;
}
.post-content blockquote {
  margin-inline: 0;
  padding: 1rem 1.25rem;
  border-left: 4px solid var(--salvia);
  background: var(--superficie);
  border-radius: 0 var(--radio) var(--radio) 0;
}
.post-content table {
  width: 100%;
  border-collapse: collapse;
  display: block;
  overflow-x: auto;
}
.post-content th,
.post-content td {
  padding: 0.6rem 0.75rem;
  border-bottom: 1px solid var(--linea);
  text-align: left;
}
.post-inline-cta {
  margin-block: 2rem;
  padding: 1.25rem 1.5rem;
  border-radius: var(--radio);
  border-left: 5px solid var(--verde);
  background: var(--salvia-suave);
}
.post-inline-cta p + p,
.post-inline-cta p + a {
  margin-top: 0.5rem;
}
.post-inline-cta a {
  display: inline-block;
  margin-top: 0.75rem;
  font-weight: 700;
  color: var(--verde);
}
.post-inline-eyebrow {
  font-family: var(--font-display), system-ui, sans-serif;
  font-weight: 600;
  font-size: 1.125rem;
}
.post-note {
  margin-top: 2.5rem !important;
  padding-top: 1rem;
  border-top: 1px solid var(--linea);
  font-size: 0.9375rem;
  color: var(--texto-suave);
}
.post-offer {
  margin-top: clamp(3rem, 8vw, 5rem);
  background: var(--superficie);
}
.post-prueba {
  margin-top: 1.5rem;
  font-weight: 600;
}

/* Páginas */
.page-body {
  padding-block: clamp(2rem, 6vw, 4rem);
}
.page-body > h1 {
  font-size: clamp(2rem, 5vw, 3rem);
}

/* Plan Detox */
.detox-book {
  max-width: 24rem;
  justify-self: center;
}
.detox-book img {
  filter: drop-shadow(0 30px 40px color-mix(in srgb, var(--cafe) 30%, transparent));
}
.detox-form {
  margin-top: 1.5rem;
}

/* ---------- WooCommerce ---------- */
.wc-main {
  padding-block: clamp(1.5rem, 5vw, 3.5rem) clamp(3rem, 8vw, 5rem);
}
.woocommerce-breadcrumb {
  font-size: 0.875rem;
  margin-bottom: 1.25rem;
  color: var(--texto-suave);
}
.woocommerce-breadcrumb a {
  text-decoration: none;
}

/* Ficha */
.woocommerce div.product {
  display: grid;
  gap: clamp(1.5rem, 4vw, 3.5rem);
}
@media (min-width: 900px) {
  .woocommerce div.product {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
  }
  .woocommerce div.product > .product-dose,
  .woocommerce div.product > .guarantee,
  .woocommerce div.product > .woocommerce-tabs {
    grid-column: 1 / -1;
  }
}
.woocommerce div.product div.images,
.woocommerce div.product div.summary {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
}
.woocommerce div.product div.images img {
  border-radius: var(--radio-grande);
}
.woocommerce div.product .product_title {
  font-size: clamp(2rem, 4.5vw, 3rem);
  line-height: 1.06;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  margin-top: 1rem;
  color: var(--cafe);
  font-family: var(--font-display), system-ui, sans-serif;
  font-weight: 700;
  font-size: 2.25rem;
}
.woocommerce div.product p.price del {
  font-size: 1.25rem;
  opacity: 0.55;
  font-weight: 500;
}
.woocommerce div.product p.price ins {
  text-decoration: none;
}
.woocommerce-product-details__short-description {
  margin-top: 1rem;
  color: var(--texto-suave);
}
.product-perday {
  margin-top: 0.25rem;
  font-weight: 600;
}
.product-points {
  flex-direction: column;
  align-items: flex-start;
}
.product-buy {
  margin-top: 1.25rem;
}
.product-buy .btn {
  width: 100%;
}
.product-kosher {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1rem;
  font-size: 0.875rem;
  color: var(--texto-suave);
}
.product-dose {
  margin-top: 1rem;
}
.woocommerce-tabs {
  margin-top: 1rem;
}
.woocommerce-tabs ul.tabs {
  display: none;
}
.woocommerce-tabs .panel > h2:first-child {
  font-size: clamp(1.5rem, 3vw, 2rem);
  margin-bottom: 1rem;
}
.buy-sticky {
  display: none;
}
@media (max-width: 720px) {
  .buy-sticky {
    position: fixed;
    inset: auto 0 0;
    z-index: 40;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.625rem max(1rem, env(safe-area-inset-right)) calc(0.625rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
    background: color-mix(in srgb, var(--claro) 94%, transparent);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-top: 1px solid var(--linea);
  }
  .buy-sticky div {
    display: grid;
  }
  .buy-sticky strong {
    font-family: var(--font-display), system-ui, sans-serif;
    font-size: 1.25rem;
  }
  .buy-sticky span {
    font-size: 0.8125rem;
    color: var(--texto-suave);
  }
  .buy-sticky .btn {
    min-height: 3rem;
  }
  .single-product .wa {
    bottom: calc(5rem + env(safe-area-inset-bottom));
  }
}

/* Tienda */
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr));
  gap: 1.5rem;
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none;
}
.woocommerce ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  padding: 1rem;
  border-radius: var(--radio-grande);
  background: var(--superficie);
}
.woocommerce ul.products li.product a img {
  border-radius: var(--radio);
  margin-bottom: 1rem;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-display), system-ui, sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--cafe);
}
.woocommerce ul.products li.product .price {
  display: block;
  margin: 0.5rem 0 1rem;
  font-family: var(--font-display), system-ui, sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--cafe);
}
.woocommerce ul.products li.product .btn {
  margin-top: auto;
}
.woocommerce span.onsale {
  background: var(--amarillo);
  color: var(--cafe);
  font-weight: 700;
  border-radius: 999px;
  min-height: 0;
  line-height: 1;
  padding: 0.5rem 0.75rem;
}
.woocommerce-result-count,
.woocommerce-ordering {
  display: none;
}

/* Botones de WooCommerce (carrito, pago, Mi cuenta) con el estilo de la marca. */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  border-radius: 999px;
  padding: 0.85rem 1.5rem;
  font-family: var(--font-display), system-ui, sans-serif;
  font-weight: 600;
  background: var(--superficie);
  color: var(--cafe);
  border: 2px solid var(--cafe);
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce a.checkout-button,
.woocommerce #place_order {
  background: var(--verde) !important;
  border-color: var(--verde) !important;
  color: #fff !important;
  font-size: 1.125rem;
  min-height: 3.5rem;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce #place_order:hover {
  filter: brightness(1.1);
}

/* Avisos */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-top: 0;
  border-radius: var(--radio);
  background: var(--superficie);
  color: var(--cafe);
  padding: 1rem 1.25rem 1rem 3rem;
}
.woocommerce-message::before,
.woocommerce-info::before {
  color: var(--verde);
}

/* Carrito: el botón principal es Finalizar compra. */
.woocommerce-cart .cart-collaterals .cart_totals {
  width: 100%;
  max-width: 30rem;
  margin-left: auto;
}
.woocommerce-cart table.cart img {
  width: 72px;
  border-radius: 0.75rem;
}
.woocommerce table.shop_table {
  border-radius: var(--radio);
  border-color: var(--linea);
  background: var(--superficie);
}

/* Pago */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
  background: transparent;
  padding: 0.25rem 0;
  font-size: 0.9375rem;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before {
  display: none;
}
.woocommerce form .form-row label {
  font-weight: 600;
  font-size: 0.9375rem;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single {
  min-height: 3rem;
  padding: 0.65rem 0.85rem;
  border: 1.5px solid var(--linea);
  border-radius: 0.75rem;
  background: #fff;
  font-size: 1rem; /* 16 px: el celular no hace zoom */
  color: var(--cafe);
}
.select2-container .select2-selection--single .select2-selection__rendered {
  line-height: 1.6;
  padding: 0;
}
.woocommerce form .form-row input.input-text:focus {
  border-color: var(--cafe);
  outline: none;
}
@media (min-width: 900px) {
  .woocommerce-checkout form.checkout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: 0 3rem;
    align-items: start;
  }
  .woocommerce-checkout form.checkout > * {
    grid-column: 1;
  }
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    grid-column: 2;
  }
  .woocommerce-checkout #order_review_heading {
    grid-row: 1;
  }
  .woocommerce-checkout #order_review {
    grid-row: 2 / span 4;
    position: sticky;
    top: 6rem;
  }
  .woocommerce-checkout .col2-set .col-1,
  .woocommerce-checkout .col2-set .col-2 {
    width: 100%;
    float: none;
  }
}
.woocommerce-checkout #order_review {
  padding: 1.25rem;
  border-radius: var(--radio-grande);
  background: var(--superficie);
}
.woocommerce-checkout #payment {
  background: transparent;
  border-radius: 0;
}
.woocommerce-checkout #payment ul.payment_methods {
  padding: 0;
  border: 0;
}
.woocommerce-checkout #payment ul.payment_methods li {
  padding: 0.85rem 1rem;
  margin-bottom: 0.5rem;
  border: 1.5px solid var(--linea);
  border-radius: 0.75rem;
  background: #fff;
  list-style: none;
}
.woocommerce-checkout #payment div.payment_box {
  background: var(--claro);
  color: var(--cafe);
  border-radius: 0.75rem;
}
.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: var(--claro);
}
.woocommerce-checkout h3 {
  font-size: 1.5rem;
  margin-bottom: 1rem;
}

/* Mi cuenta */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: inline-block;
  padding: 0.4rem 1rem;
  border-radius: 999px;
  background: var(--superficie);
  text-decoration: none;
  font-weight: 600;
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
  background: var(--cafe);
  color: var(--claro);
}

/* reCAPTCHA (formularios de Brevo) sube para no tapar el botón de WhatsApp */
.grecaptcha-badge {
  bottom: calc(5.5rem + env(safe-area-inset-bottom)) !important;
}

@media (prefers-reduced-motion: reduce) {
  .post-card a {
    transition: none;
  }
}

/* =====================================================================
 * Paleta clara (pedido del dueño, 05-11-2026): sin bloques café oscuro ni
 * amarillo fuerte. Fondos claros; el café queda para el texto, el verde
 * para comprar, y el amarillo solo en toques suaves.
 * ===================================================================== */
:root {
  --fondo: color-mix(in srgb, var(--claro) 45%, white);
  --salvia-suave: color-mix(in srgb, var(--salvia) 22%, white);
  --amarillo-suave: color-mix(in srgb, var(--amarillo) 40%, white);
}
body {
  background: var(--fondo);
}
.announce {
  background: var(--salvia-suave);
  color: var(--cafe);
}
.cupo-bar strong {
  color: var(--verde);
}
.ritual,
.closing {
  background: var(--salvia-suave);
  color: var(--cafe);
}
.ritual .lead,
.closing .lead {
  color: var(--texto-suave);
}
.closing .btn-quiet {
  color: var(--cafe);
  box-shadow: inset 0 0 0 2px var(--cafe);
}
.strip[data-filled="true"] .day {
  background: var(--verde);
}
.offer-tag,
.pz-eyebrow {
  background: var(--amarillo-suave);
  color: var(--cafe);
}
.guarantee-seal {
  background: var(--salvia);
  color: #fff;
}
.videos video {
  background: var(--salvia-suave);
}
.site-footer {
  background: var(--claro);
}

/* ---------- Pago en una pantalla ---------- */
.woocommerce-checkout .site-header .topbar-row {
  justify-content: space-between;
}
.checkout-top {
  margin-bottom: 1.5rem;
  padding: 1rem 1.1rem;
  border-radius: var(--radio-grande);
  background: #fff;
}
.checkout-items {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.checkout-items li {
  display: grid;
  grid-template-columns: 3.5rem 1fr auto;
  align-items: center;
  gap: 0.75rem;
  font-weight: 600;
}
.checkout-items img {
  width: 3.5rem;
  height: 3.5rem;
  object-fit: cover;
  border-radius: 0.75rem;
}
.checkout-ship {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--linea);
  font-size: 0.875rem;
  color: var(--texto-suave);
}
@media (min-width: 900px) {
  /* En computador el resumen completo ya está a la derecha. */
  .checkout-top {
    display: none;
  }
}
.woocommerce-checkout .woocommerce-billing-fields h3 {
  font-size: 1.25rem;
}
.woocommerce-checkout .woocommerce-billing-fields h3::after {
  content: " · solo lo necesario para enviarte tu pedido";
  font-family: var(--font-body), system-ui, sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
  color: var(--texto-suave);
}
.woocommerce-checkout .woocommerce-account-fields,
.woocommerce-checkout .woocommerce-shipping-fields {
  font-size: 0.9375rem;
}
.woocommerce-checkout #place_order {
  width: 100%;
}
.checkout-secure {
  white-space: nowrap;
  font-size: 0.875rem;
}
/* La galería de WooCommerce arranca invisible hasta que su JS termina; con una sola foto a veces no termina. */
.woocommerce-product-gallery {
  opacity: 1 !important;
}

/* =====================================================================
 * Mayoristas
 * ===================================================================== */
.may-hero h1 {
  font-size: clamp(2.5rem, 6vw, 4rem);
}
.may-margen {
  margin: 0;
  padding: clamp(1.25rem, 4vw, 2rem);
  border-radius: var(--radio-grande);
  background: #fff;
}
.may-margen-bar {
  display: flex;
  min-height: 9rem;
  border-radius: var(--radio);
  overflow: hidden;
}
.may-margen-bar > span {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 0.25rem;
  padding: 1rem;
}
.may-margen-bar b {
  font-family: var(--font-display), system-ui, sans-serif;
  font-size: clamp(1.15rem, 3vw, 1.6rem);
  line-height: 1.1;
}
.may-margen-bar small {
  font-size: 0.8125rem;
}
.may-costo {
  width: var(--w);
  min-width: 8rem;
  background: var(--salvia-suave);
}
.may-ganancia {
  flex: 1;
  background: var(--verde);
  color: #fff;
}
.may-margen figcaption {
  margin-top: 0.85rem;
  font-size: 0.875rem;
  color: var(--texto-suave);
}
.may-pasos {
  background: var(--salvia-suave);
}
.may-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: 1.25rem;
  margin-top: 2rem;
  padding: 0;
  list-style: none;
}
.may-steps li {
  padding: 1.5rem 1.25rem;
  border-radius: var(--radio-grande);
  background: #fff;
  color: var(--cafe);
}
.may-steps svg {
  width: 5.5rem;
  height: 5.5rem;
  color: var(--cafe);
}
.may-steps h3 {
  margin-top: 0.75rem;
}
.may-steps p {
  margin-top: 0.4rem;
  color: var(--texto-suave);
}
.will-reveal li {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 500ms ease-out, transform 500ms ease-out;
}
.will-reveal.is-in li {
  opacity: 1;
  transform: none;
}
.will-reveal.is-in li:nth-child(2) { transition-delay: 120ms; }
.will-reveal.is-in li:nth-child(3) { transition-delay: 240ms; }
.will-reveal.is-in li:nth-child(4) { transition-delay: 360ms; }
.may-calc-grid {
  display: grid;
  gap: 2rem;
  align-items: center;
}
@media (min-width: 900px) {
  .may-calc-grid {
    grid-template-columns: 1fr 1fr;
  }
}
.may-calc {
  display: grid;
  gap: 0.6rem;
  padding: clamp(1.25rem, 4vw, 2rem);
  border-radius: var(--radio-grande);
  background: #fff;
}
.may-calc label {
  font-weight: 600;
}
.may-calc input[type="range"] {
  width: 100%;
  accent-color: var(--verde);
  margin-bottom: 0.75rem;
}
.may-calc-res {
  padding: 1rem 1.25rem;
  border-radius: var(--radio);
  background: var(--salvia-suave);
}
.may-calc-res strong {
  display: block;
  font-family: var(--font-display), system-ui, sans-serif;
  font-size: clamp(2rem, 6vw, 2.75rem);
  color: var(--verde);
  line-height: 1.1;
}
.may-calc-res span {
  font-size: 0.9375rem;
  color: var(--texto-suave);
}
.may-facts {
  margin-top: 2rem;
}
.may-form-sec {
  background: var(--salvia-suave);
}
.may-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.25rem 1rem;
  margin-top: 1.5rem;
}
.may-form p {
  margin: 0 0 0.75rem;
}
.may-form .may-full {
  grid-column: 1 / -1;
}
@media (max-width: 600px) {
  .may-form {
    grid-template-columns: 1fr;
  }
}
.may-form label {
  display: block;
  margin-bottom: 0.3rem;
  font-weight: 600;
  font-size: 0.9375rem;
}
.may-form input,
.may-form select,
.may-form textarea {
  width: 100%;
  min-height: 3rem;
  padding: 0.65rem 0.85rem;
  border: 1.5px solid var(--linea);
  border-radius: 0.75rem;
  background: #fff;
  color: var(--cafe);
  font-size: 1rem;
}
.may-form .btn {
  width: 100%;
}
.may-trampa {
  position: absolute;
  left: -9999px;
}
.may-error {
  margin-top: 1rem;
  padding: 0.75rem 1rem;
  border-radius: 0.75rem;
  background: #fde8e6;
  color: #8a1c12;
}
.may-ok {
  text-align: center;
  padding: 2rem 1rem;
  border-radius: var(--radio-grande);
  background: #fff;
}
.may-ok p {
  margin: 0.75rem auto 1.5rem;
}
@media (prefers-reduced-motion: reduce) {
  .will-reveal li {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
/* Cuatro pasos: 4 columnas, 2 o 1, nunca 3 + 1. */
.may-steps {
  grid-template-columns: 1fr;
}
@media (min-width: 560px) {
  .may-steps {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1000px) {
  .may-steps {
    grid-template-columns: repeat(4, 1fr);
  }
}
.may-recibes {
  margin: 0;
  padding: clamp(1.25rem, 4vw, 2rem);
  border-radius: var(--radio-grande);
  background: #fff;
}
.may-recibes svg {
  width: 6rem;
  height: 6rem;
  color: var(--cafe);
}
.may-recibes h2 {
  margin-top: 0.5rem;
  font-size: 1.5rem;
}
.may-recibes ul {
  display: grid;
  gap: 0.6rem;
  margin-top: 1rem;
  padding: 0;
  list-style: none;
}
.may-recibes li {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
}
.may-recibes li svg {
  width: 18px;
  height: 18px;
  flex: none;
  margin-top: 0.2rem;
  color: var(--verde);
}
.may-hero {
  padding-block: clamp(2rem, 6vw, 4.5rem);
}
.may-hero-grid {
  display: grid;
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: center;
}
@media (min-width: 900px) {
  .may-hero-grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  }
}
.may-copy .pz-eyebrow {
  display: inline-block;
}
.may-copy .hero-actions {
  margin-top: 1.5rem;
}
.may-presentaciones .offer-body {
  gap: 0.4rem;
}
.may-condiciones {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  margin-top: 1.5rem;
  padding: 0;
  list-style: none;
}
.may-condiciones li {
  display: flex;
  gap: 0.45rem;
  align-items: center;
  color: var(--verde);
}
.may-condiciones li svg {
  flex: none;
}
.may-condiciones li {
  color: var(--cafe);
}
.may-condiciones li svg {
  color: var(--verde);
}
.may-dist {
  margin-top: 1rem;
  font-weight: 600;
}
.may-desvio {
  grid-column: 1 / -1;
  margin-bottom: 1rem;
  padding: 1rem 1.15rem;
  border-radius: var(--radio);
  background: #fff;
  border: 2px dashed var(--verde);
}
.may-desvio > * + * {
  margin-top: 0.75rem;
}

/* ---------- Gana con Manzal (Socios) ---------- */
.soc-hero { background: var(--fondo); }
.soc-hero-grid { display: grid; gap: 2rem; align-items: center; }
@media (min-width: 900px) { .soc-hero-grid { grid-template-columns: 1.05fr 1fr; } }
.soc-hero h1 { font-size: clamp(2.1rem, 5.2vw, 3.4rem); }
.soc-anim { margin: 0; padding: 1rem; border-radius: var(--radio-grande); background: var(--salvia-suave); }
.soc-anim svg { display: block; width: 100%; height: auto; }
.soc-txt { font: 600 20px var(--font-display), system-ui, sans-serif; fill: var(--cafe); }
.soc-moneda { font: 700 13px var(--font-display), system-ui, sans-serif; fill: var(--cafe); }
.soc-anim figcaption { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; justify-content: center; margin-top: .5rem; font-size: .875rem; color: var(--texto-suave); }
.soc-dot { display: inline-block; width: .7rem; height: .7rem; border-radius: 50%; vertical-align: -1px; margin-right: .3rem; }
.soc-dot-link { background: var(--verde); }
.soc-dot-mon { background: #E8B04B; }
.soc-rutas use { animation: soc-flujo 1.2s linear infinite; }
@keyframes soc-flujo { to { stroke-dashoffset: -11; } }
.soc-ok { transform-box: fill-box; transform-origin: center; animation: soc-pop 4.8s ease-out infinite; }
.soc-c2 .soc-ok { animation-delay: .6s; }
.soc-c3 .soc-ok { animation-delay: 1.2s; }
@keyframes soc-pop { 0%, 36% { transform: scale(0); } 44% { transform: scale(1.15); } 50%, 90% { transform: scale(1); } 100% { transform: scale(0); } }
@media (prefers-reduced-motion: reduce) {
  .soc-mov { display: none; }
  .soc-rutas use, .soc-ok { animation: none; }
}
.soc-steps h3 { font-size: 1.2rem; }
.soc-dos { display: grid; gap: 2rem; align-items: center; }
@media (min-width: 860px) { .soc-dos { grid-template-columns: 1.1fr .9fr; } }
.soc-tienda-sec .may-condiciones { margin-top: 1.25rem; }
/* Celular dibujado con la tienda del socio. */
.soc-movil { justify-self: center; width: min(100%, 17rem); padding: .7rem; border-radius: 2.2rem; background: #fff; box-shadow: 0 1.5rem 3rem rgba(96, 56, 18, .14); transform: rotate(2deg); }
.soc-movil-pantalla { display: grid; gap: .55rem; justify-items: center; padding: 1rem .9rem 1.2rem; border-radius: 1.7rem; background: var(--salvia-suave); text-align: center; }
.soc-movil-url { margin: 0; padding: .25rem .7rem; border-radius: 999px; background: #fff; font-size: .7rem; color: var(--texto-suave); }
.soc-movil-foto { width: 4.5rem; height: 4.5rem; border-radius: 50%; border: 4px solid #fff; background: radial-gradient(circle at 50% 38%, var(--cafe) 0 22%, transparent 23%), radial-gradient(ellipse at 50% 100%, var(--cafe) 0 42%, transparent 43%), var(--claro); }
.soc-movil-h { margin: 0; font: 600 1.05rem/1.2 var(--font-display), system-ui, sans-serif; color: var(--cafe); }
.soc-movil-q { margin: 0; font-size: .78rem; font-style: italic; color: var(--texto-suave); }
.soc-movil-prod { display: flex; gap: .6rem; align-items: center; width: 100%; padding: .5rem; border-radius: 1rem; background: #fff; text-align: left; font-size: .85rem; }
.soc-movil-prod b, .soc-movil-prod small { display: block; }
.soc-movil-prod small { color: var(--texto-suave); }
.soc-movil-img { flex: none; width: 3rem; height: 3rem; border-radius: .7rem; background: var(--claro) center / cover; }
.soc-movil-btn { width: 100%; padding: .6rem; border-radius: 999px; background: var(--verde); color: #fff; font-weight: 700; font-size: .9rem; }
.soc-calc-sec { background: var(--salvia-suave); }
.soc-gancho { margin-top: 1.25rem; padding: 1rem 1.25rem; border-left: 5px solid var(--verde); border-radius: var(--radio); background: #fff; }
.soc-nota { margin-top: .5rem; color: var(--texto-suave); }
/* Línea de tiempo del estado activo. */
.soc-linea { display: grid; gap: .75rem; margin-top: 2rem; }
@media (min-width: 760px) { .soc-linea { grid-template-columns: 1fr 1fr 1fr; gap: 0; } }
.soc-tramo { padding: 1.25rem; border-radius: var(--radio-grande); background: #fff; border-top: 8px solid var(--verde); }
@media (min-width: 760px) {
  .soc-tramo { border-radius: 0; }
  .soc-tramo-1 { border-radius: var(--radio-grande) 0 0 var(--radio-grande); }
  .soc-tramo-3 { border-radius: 0 var(--radio-grande) var(--radio-grande) 0; }
}
.soc-tramo-2 { border-top-color: #E8B04B; background: #fffbea; }
.soc-tramo-3 { border-top-color: #c9cfc5; background: #f4f5f2; }
.soc-tramo strong { display: block; font: 600 1.3rem var(--font-display), system-ui, sans-serif; margin: .2rem 0 .3rem; }
.soc-tramo p { margin: 0; color: var(--texto-suave); font-size: .95rem; }
.soc-dias { font-size: .8rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--texto-suave); }
.will-reveal .soc-tramo { opacity: 0; transform: translateY(18px); transition: opacity 500ms ease-out, transform 500ms ease-out; }
.will-reveal.is-in .soc-tramo { opacity: 1; transform: none; }
.will-reveal.is-in .soc-tramo-2 { transition-delay: 150ms; }
.will-reveal.is-in .soc-tramo-3 { transition-delay: 300ms; }
.soc-decir { align-items: stretch; }
@media (min-width: 860px) { .soc-decir { grid-template-columns: 1fr 1fr; } }
.soc-caja { padding: 1.5rem; border-radius: var(--radio-grande); background: #fff; border: 1.5px solid var(--linea); }
.soc-caja ul { margin: .75rem 0 0; padding-left: 1.1rem; display: grid; gap: .4rem; }
.soc-caja-si h3 { color: var(--verde); }
.soc-caja-no h3 { color: #8a4b12; }
/* Formulario del plugin, con el estilo del tema. */
.soc-form { margin-top: 1.5rem; padding: clamp(1.25rem, 4vw, 2rem); border-radius: var(--radio-grande); background: #fff; }
.soc-form form p { margin: 0 0 1rem; }
.soc-form label { display: block; font-weight: 600; font-size: .9375rem; }
.soc-form input[type="text"], .soc-form input[type="tel"], .soc-form input[type="email"], .soc-form select, .soc-form textarea {
  width: 100%; min-height: 3rem; margin-top: .3rem; padding: .65rem .85rem; border: 1.5px solid var(--linea); border-radius: .75rem; background: #fff; color: var(--cafe); font: inherit; font-weight: 400;
}
.soc-form textarea { min-height: 7rem; }
.soc-form input[type="file"] { margin-top: .4rem; font-weight: 400; }
.soc-form input[type="checkbox"] { width: 1.15rem; height: 1.15rem; accent-color: var(--verde); vertical-align: -3px; margin-right: .35rem; }
.soc-form label:has(input[type="checkbox"]) { font-weight: 400; }
.soc-form small { display: block; margin-top: .3rem; color: var(--texto-suave); font-size: .85rem; }
.soc-form fieldset { margin: 0 0 1rem; padding: 1rem 1.1rem .25rem; border: 1.5px solid var(--linea); border-radius: var(--radio); }
.soc-form legend { padding: 0 .4rem; font: 600 1.05rem var(--font-display), system-ui, sans-serif; }
.soc-form button[type="submit"] { width: 100%; min-height: 3.25rem; border: 0; border-radius: 999px; background: var(--verde) !important; color: #fff !important; font-weight: 700; font-size: 1.05rem; font-family: inherit; cursor: pointer; }
.soc-form button[type="submit"]:hover { filter: brightness(1.1); }
.soc-form .woocommerce-message, .soc-form .woocommerce-info, .soc-form .woocommerce-error { margin: 0 0 1rem; padding: .9rem 1.1rem; border-radius: .75rem; list-style: none; }
.soc-form .woocommerce-message { background: var(--salvia-suave); }
.soc-form .woocommerce-info { background: #fffbea; }
.soc-form .woocommerce-error { background: #fde8e6; color: #8a1c12; }

/* ---------- Tienda del socio (/tienda-nombre) ---------- */
.smt { background: var(--fondo); }
.smt-cab { display: flex; justify-content: center; padding: 1rem; background: #fff; border-bottom: 1px solid var(--linea); }
.smt-main { padding-bottom: 3rem; }
.smt-hero { display: grid; justify-items: center; gap: .6rem; padding-top: 2.5rem; text-align: center; max-width: 44rem; }
.smt-hero h1 { font-size: clamp(2rem, 5vw, 2.9rem); }
.smt-foto { width: 10.5rem; height: 10.5rem; border-radius: 50%; object-fit: cover; border: 6px solid #fff; box-shadow: 0 .75rem 2rem rgba(96, 56, 18, .14); }
.smt-inicial { display: grid; place-items: center; background: var(--salvia-suave); color: var(--cafe); font: 600 4rem var(--font-display), system-ui, sans-serif; }
.smt-historia { margin: .75rem 0 0; padding: 1.1rem 1.4rem; border-radius: var(--radio-grande); background: #fff; text-align: left; font-size: 1.05rem; }
.smt-historia p { margin: 0 0 .5rem; }
.smt-historia cite { display: block; font-style: normal; font-weight: 700; color: var(--verde); }
.smt-historia cite::before { content: "— "; }
.smt-sellos { justify-content: center; }
.smt-ofertas { margin-top: 2.5rem; }
.smt-prod-h { font-size: 1.5rem; }
.smt-ritual { margin-top: 3rem; padding: clamp(1.25rem, 4vw, 2rem); border-radius: var(--radio-grande); background: var(--salvia-suave); }
.smt-wa { margin-top: 2rem; text-align: center; }
.smt-pie { padding: 1.5rem 1rem 2.5rem; text-align: center; font-size: .875rem; color: var(--texto-suave); }
.smt-pie p { margin: .25rem 0; }
.smt-pie a { color: inherit; }

/* ---------- Libro Detox: formulario y gracias ---------- */
.libro-form { margin-top: 1.5rem; padding: clamp(1rem, 3vw, 1.5rem); border-radius: var(--radio-grande); background: #fff; }
.libro-autoriza label { font-weight: 400; font-size: .875rem; color: var(--texto-suave); }
.libro-autoriza input[type="checkbox"] { width: 1.1rem; height: 1.1rem; min-height: 0; margin-right: .35rem; vertical-align: -3px; accent-color: var(--verde); }
.libro-ok { background: var(--fondo); }
.libro-ok-grid { display: grid; gap: 2rem; align-items: center; }
@media (min-width: 760px) { .libro-ok-grid { grid-template-columns: 14rem 1fr; } }
.libro-ok-portada { width: min(100%, 14rem); height: auto; justify-self: center; filter: drop-shadow(0 20px 30px color-mix(in srgb, var(--cafe) 30%, transparent)); }
.libro-oferta { background: var(--salvia-suave); }
.libro-oferta-caja { max-width: 44rem; text-align: center; }
.libro-oferta-caja .lead { margin: .75rem auto 1rem; }
.libro-quedan { font-weight: 700; color: var(--verde); margin-bottom: 1rem; }
.libro-oferta-caja .small { margin-top: .75rem; color: var(--texto-suave); }

/* ---------- Blog: resumen, aviso de estudios y botones dentro del artículo ---------- */
.post-content .post-resumen { margin: 1.75rem 0; padding: 1.25rem 1.5rem; border-radius: var(--radio-grande); background: #fff; border: 1.5px solid var(--linea); }
.post-content .post-resumen ul { margin: .5rem 0 0; }
.post-content .post-aviso { margin: 1rem 0 1.5rem; padding: 1rem 1.25rem; border-radius: var(--radio); background: #fffbea; border-left: 5px solid #E8B04B; font-size: .95rem; }
.post-content .btn { margin-top: .75rem; text-decoration: none; }
.post-content .btn-buy { color: #fff; }
.post-content h3 + p a[target="_blank"] { font-weight: 700; color: var(--verde); }

/* Pasos de la dosis y tira de días sobre fondo claro (en la landing iban sobre café). */
.steps p {
  color: var(--texto-suave);
}
.steps li {
  border-top-color: color-mix(in srgb, var(--cafe) 22%, transparent);
}
.steps li::before {
  color: color-mix(in srgb, var(--salvia) 70%, var(--cafe));
}
.ritual .strip,
.ritual .strip-legend,
.ritual .strip-label span {
  color: var(--texto-suave);
}
