/* WEB-PAST-UI-02H — Traditional menu classic line
   Objetivo: mantener franja verde 100%, pero llevar los textos del menú a una línea más tradicional.
   Importante: este archivo debe reemplazar el traditional.css vigente del paquete anterior.
*/

.wp-theme-layout-traditional {
  --wp-traditional-max-width: 1160px;
  --wp-traditional-radius: 4px;
}

.wp-theme-layout-traditional .wp-header {
  display: none;
}

.wp-theme-layout-traditional .wp-business-banner,
.wp-theme-layout-traditional .wp-banner,
.wp-theme-layout-traditional .wp-hero-banner {
  max-width: var(--wp-traditional-max-width);
  margin: 32px auto 28px;
  border-radius: var(--wp-traditional-radius);
  border: 1px solid color-mix(in srgb, var(--wp-primary) 20%, transparent);
  overflow: hidden;
  background: #fff;
}

.wp-theme-layout-traditional .wp-business-banner img,
.wp-theme-layout-traditional .wp-banner img,
.wp-theme-layout-traditional .wp-hero-banner img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

/* Franja verde 100% pantalla */
.wp-theme-layout-traditional .wp-traditional-nav-rail {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: var(--wp-traditional-rail-bg);
  border-top: 1px solid color-mix(in srgb, var(--wp-traditional-rail-bg) 72%, #000 28%);
  border-bottom: 1px solid color-mix(in srgb, var(--wp-traditional-rail-bg) 72%, #000 28%);
  box-shadow: 0 10px 22px rgba(43, 26, 26, 0.06);
}

/* Contenido de la franja alineado al banner/contenido */
.wp-theme-layout-traditional .wp-traditional-nav-rail__inner {
  max-width: var(--wp-traditional-max-width);
  margin: 0 auto;
  min-height: 68px;
  padding: 0 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

.wp-theme-layout-traditional .wp-traditional-nav-rail__categories {
  display: flex;
  flex: 0 1 auto;
  align-items: center;
  justify-content: center;
  gap: 26px;
  min-width: 0;
  flex-wrap: wrap;
}

/* Línea más tradicional: sin caja, sin subrayado, más sobria */
.wp-theme-layout-traditional .wp-traditional-nav-rail__link,
.wp-theme-layout-traditional .wp-traditional-nav-rail__categories a {
  appearance: none;
  border: 0;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  padding: 0;
  color: var(--wp-traditional-rail-text);
  font-size: 15px;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: .015em;
  text-decoration: none;
  white-space: nowrap;
}

.wp-theme-layout-traditional .wp-traditional-nav-rail__link:hover,
.wp-theme-layout-traditional .wp-traditional-nav-rail__categories a:hover {
  color: color-mix(in srgb, var(--wp-traditional-rail-text) 78%, #000 22%);
  text-decoration: none;
}

/* Ocultar etiqueta textual Categorías si existe */
.wp-theme-layout-traditional .wp-traditional-nav-rail__label,
.wp-theme-layout-traditional .wp-category-rail__label {
  display: none !important;
}

.wp-theme-layout-traditional .wp-traditional-cart-link {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--wp-traditional-rail-text);
  box-shadow: none;
  text-decoration: none;
}

.wp-theme-layout-traditional .wp-traditional-cart-link svg,
.wp-theme-layout-traditional .wp-traditional-cart-link .wp-icon,
.wp-theme-layout-traditional .wp-traditional-cart-link [aria-hidden="true"] {
  color: currentColor;
  fill: none;
  stroke: currentColor;
}

.wp-theme-layout-traditional .wp-traditional-cart-link .wp-cart-badge,
.wp-theme-layout-traditional .wp-cart-badge {
  background: var(--wp-primary);
  color: #fff;
  border-radius: 999px;
  min-width: 18px;
  height: 18px;
  font-size: 11px;
  line-height: 18px;
  text-align: center;
  transform: translate(-4px, -12px);
}

.wp-theme-layout-traditional .wp-traditional-cart-link .wp-cart-badge[hidden] {
  display: none !important;
}

.wp-theme-layout-traditional .wp-traditional-hero,
.wp-theme-layout-traditional .wp-hero,
.wp-theme-layout-traditional .wp-home-hero {
  display: none;
}

.wp-theme-layout-traditional .wp-products-section,
.wp-theme-layout-traditional .wp-featured-products,
.wp-theme-layout-traditional .wp-section-products {
  max-width: var(--wp-traditional-max-width);
  margin: 56px auto 0;
  padding: 0 18px;
}

.wp-theme-layout-traditional .wp-product-card,
.wp-theme-layout-traditional .wp-card,
.wp-theme-layout-traditional .wp-product {
  border-radius: var(--wp-traditional-radius);
}

.wp-theme-layout-traditional .wp-product-card a,
.wp-theme-layout-traditional .wp-product-card button,
.wp-theme-layout-traditional .wp-button,
.wp-theme-layout-traditional .wp-btn {
  border-radius: var(--wp-traditional-radius);
}

/* WEB-PAST-UI-02I — ajuste menor menú tradicional.
   Objetivo: agrandar texto del menú superior y eliminar línea/borde de la franja. */
.wp-theme-layout-traditional .wp-traditional-nav-rail {
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

.wp-theme-layout-traditional .wp-traditional-nav-rail__link {
    font-size: 16px !important;
    font-weight: 800 !important;
    letter-spacing: 0.02em !important;
}

.wp-theme-layout-traditional .wp-traditional-cart-link {
    border: 0 !important;
    box-shadow: none !important;
}


/* WEB-PAST-UI-02I — menú traditional final.
   Texto superior más visible y sin líneas/bordes en la franja. */
.wp-theme-layout-traditional .wp-traditional-nav-rail {
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

.wp-theme-layout-traditional .wp-traditional-nav-rail__link {
    font-size: 20px !important;
    font-weight: 800 !important;
    letter-spacing: 0.01em !important;
    text-decoration: none !important;
}

.wp-theme-layout-traditional .wp-traditional-cart-link {
    border: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}


/* WEB-PAST-UI-02J — alinear sección productos con borde del banner.
   El título "Productos por categoría" y el contenido inferior respetan
   el mismo ancho visual del banner superior. */
.wp-theme-layout-traditional .wp-traditional-products,
.wp-theme-layout-traditional .wp-products-section,
.wp-theme-layout-traditional .wp-featured-products,
.wp-theme-layout-traditional .wp-home-products {
    width: min(100% - 48px, 1160px) !important;
    max-width: 1160px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.wp-theme-layout-traditional .wp-traditional-products__heading,
.wp-theme-layout-traditional .wp-section-heading,
.wp-theme-layout-traditional .wp-products-heading {
    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* WEB-PAST-UI-02L — carrito más visible en barra traditional */
.wp-theme-layout-traditional .wp-traditional-cart-link {
    font-size: 34px !important;
    line-height: 1 !important;
    min-width: 54px !important;
    min-height: 54px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--wp-traditional-rail-text) !important;
}

.wp-theme-layout-traditional .wp-traditional-cart-link svg,
.wp-theme-layout-traditional .wp-traditional-cart-link .wp-cart-icon {
    width: 34px !important;
    height: 34px !important;
}

.wp-theme-layout-traditional .wp-traditional-cart-link .wp-cart-badge {
    font-size: 13px !important;
    min-width: 22px !important;
    height: 22px !important;
    line-height: 22px !important;
}


/* WEB-CAT-PUBLIC-01D — active virtual category in traditional rail */
.wp-theme-layout-traditional .wp-traditional-nav-rail__link.is-active {
  text-decoration: underline;
  text-underline-offset: 6px;
}

/* WEB-PAST-PDP-01B — PDP traditional corporate polish */
.wp-theme-layout-traditional .wp-product-detail,
.wp-theme-layout-traditional .wp-product-page,
.wp-theme-layout-traditional .wp-product-layout {
  margin-top: 52px;
}

.wp-theme-layout-traditional .wp-product-detail {
  align-items: flex-start;
}

.wp-theme-layout-traditional .wp-product-media,
.wp-theme-layout-traditional .wp-product-summary,
.wp-theme-layout-traditional .wp-product-info,
.wp-theme-layout-traditional .wp-product-panel {
  border-radius: 28px;
}

.wp-theme-layout-traditional .wp-product-summary .wp-badge,
.wp-theme-layout-traditional .wp-product-summary .wp-pill,
.wp-theme-layout-traditional .wp-product-summary .wp-product-badges,
.wp-theme-layout-traditional .wp-product-summary .wp-product-price-pill,
.wp-theme-layout-traditional .wp-product-summary .wp-product-trust,
.wp-theme-layout-traditional .wp-product-summary .wp-product-meta-pills {
  display: none !important;
}

/* Ocultar bloque informativo de formatos si alguna variante quedó en HTML */
.wp-theme-layout-traditional .wp-product-formats-summary,
.wp-theme-layout-traditional .wp-product-available-formats,
.wp-theme-layout-traditional .wp-product-summary-card:has(h2:first-child:is(:contains("Formatos disponibles"))) {
  display: none !important;
}

/* Opciones formato / variedad como cards */
.wp-theme-layout-traditional .wp-option-list,
.wp-theme-layout-traditional .wp-product-options,
.wp-theme-layout-traditional .wp-format-options,
.wp-theme-layout-traditional .wp-variant-options {
  display: grid;
  gap: 12px;
}

.wp-theme-layout-traditional .wp-option,
.wp-theme-layout-traditional .wp-format-option,
.wp-theme-layout-traditional .wp-variant-option,
.wp-theme-layout-traditional label:has(input[type="radio"]) {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 54px;
  padding: 14px 18px;
  border: 1px solid rgba(122, 30, 58, .18);
  border-radius: 18px;
  background: #fff;
  color: #2B1A1A;
  box-shadow: 0 10px 28px rgba(122, 30, 58, .05);
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.wp-theme-layout-traditional label:has(input[type="radio"]:checked),
.wp-theme-layout-traditional .wp-option.is-selected,
.wp-theme-layout-traditional .wp-format-option.is-selected,
.wp-theme-layout-traditional .wp-variant-option.is-selected {
  border-color: #7A1E3A;
  background: linear-gradient(135deg, #fff, #fff6f8);
  box-shadow: 0 14px 34px rgba(122, 30, 58, .14);
}

.wp-theme-layout-traditional label:has(input[type="radio"]:checked)::after,
.wp-theme-layout-traditional .wp-option.is-selected::after,
.wp-theme-layout-traditional .wp-format-option.is-selected::after,
.wp-theme-layout-traditional .wp-variant-option.is-selected::after {
  content: "✓";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: #7A1E3A;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  flex: 0 0 auto;
}

.wp-theme-layout-traditional label:has(input[type="radio"]) input[type="radio"],
.wp-theme-layout-traditional .wp-option input[type="radio"],
.wp-theme-layout-traditional .wp-format-option input[type="radio"],
.wp-theme-layout-traditional .wp-variant-option input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.wp-theme-layout-traditional label:has(input[type="radio"]):hover,
.wp-theme-layout-traditional .wp-option:hover,
.wp-theme-layout-traditional .wp-format-option:hover,
.wp-theme-layout-traditional .wp-variant-option:hover {
  transform: translateY(-1px);
  border-color: rgba(122, 30, 58, .42);
}

.wp-theme-layout-traditional .wp-product-actions,
.wp-theme-layout-traditional .wp-product-cart-actions {
  border-radius: 22px;
  background: #fff8f2;
  border: 1px solid rgba(122, 30, 58, .14);
}

@media (max-width: 760px) {
  .wp-theme-layout-traditional .wp-product-detail,
  .wp-theme-layout-traditional .wp-product-page,
  .wp-theme-layout-traditional .wp-product-layout {
    margin-top: 28px;
  }
}

/* WEB-PAST-PDP-01C — title divider instead of price pill */
.wp-theme-layout-traditional .wp-product-title-divider {
  width: 100%;
  height: 1px;
  margin: 18px 0 22px;
  background: linear-gradient(
    90deg,
    rgba(122, 30, 58, 0.26),
    rgba(246, 232, 216, 0.95),
    rgba(122, 30, 58, 0.04)
  );
}

.wp-theme-layout-traditional .wp-product-summary .wp-price-pill,
.wp-theme-layout-traditional .wp-product-summary .wp-product-price-pill,
.wp-theme-layout-traditional .wp-product-summary .wp-product-price,
.wp-theme-layout-traditional .wp-product-summary .wp-product-from-price {
  display: none !important;
}

/* WEB-PAST-CHECKOUT-HEADER-01 — transactional pages */
.wp-theme-layout-traditional .wp-cart-page,
.wp-theme-layout-traditional .wp-cart-shell,
.wp-theme-layout-traditional .wp-checkout-page,
.wp-theme-layout-traditional .wp-checkout-shell {
  max-width: 1180px;
  margin: 54px auto 0;
  padding: 0 24px;
}

.wp-theme-layout-traditional .wp-cart-page,
.wp-theme-layout-traditional .wp-checkout-page {
  border-radius: 32px;
  border: 1px solid rgba(122, 30, 58, .14);
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 28px 70px rgba(122, 30, 58, .10);
}

.wp-theme-layout-traditional .wp-cart-page h1,
.wp-theme-layout-traditional .wp-checkout-page h1 {
  color: #2B1A1A;
  letter-spacing: -0.04em;
}

.wp-theme-layout-traditional .wp-cart-page .wp-eyebrow,
.wp-theme-layout-traditional .wp-checkout-page .wp-eyebrow {
  color: #7A1E3A;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 900;
}

.wp-theme-layout-traditional .wp-cart-page p,
.wp-theme-layout-traditional .wp-checkout-page p {
  color: #7B6666;
  line-height: 1.6;
}

.wp-theme-layout-traditional .wp-cart-page .wp-button-primary,
.wp-theme-layout-traditional .wp-checkout-page .wp-button-primary {
  background: #7A1E3A;
  color: #fff;
  border-color: #7A1E3A;
  box-shadow: 0 16px 36px rgba(122, 30, 58, .20);
}

.wp-theme-layout-traditional .wp-cart-page .wp-button-secondary,
.wp-theme-layout-traditional .wp-checkout-page .wp-button-secondary {
  background: #fff;
  color: #7A1E3A;
  border: 1px solid rgba(122, 30, 58, .20);
}

@media (max-width: 760px) {
  .wp-theme-layout-traditional .wp-cart-page,
  .wp-theme-layout-traditional .wp-cart-shell,
  .wp-theme-layout-traditional .wp-checkout-page,
  .wp-theme-layout-traditional .wp-checkout-shell {
    margin-top: 28px;
    padding: 0 16px;
  }
}

/* WEB-PAST-CHECKOUT-01B — checkout without lock hero */
.wp-theme-layout-traditional .wp-checkout-minimal {
  max-width: 1180px;
  margin: 54px auto 0;
  padding: 0 24px;
}

.wp-theme-layout-traditional .wp-checkout-minimal__hero {
  display: block;
  padding: 36px 42px;
  margin-bottom: 26px;
  border-radius: 30px;
  border: 1px solid rgba(122, 30, 58, .14);
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 24px 60px rgba(122, 30, 58, .08);
}

.wp-theme-layout-traditional .wp-checkout-minimal__brand-card {
  display: none !important;
}

.wp-theme-layout-traditional .wp-checkout-minimal__hero h1 {
  color: #2B1A1A;
  letter-spacing: -0.04em;
}

.wp-theme-layout-traditional .wp-checkout-minimal__hero p {
  max-width: 760px;
  color: #7B6666;
  line-height: 1.6;
}

.wp-theme-layout-traditional .wp-checkout-minimal__grid {
  gap: 24px;
}

.wp-theme-layout-traditional .wp-form-status[data-status="warning"] {
  border-radius: 16px;
  border: 1px solid rgba(122, 30, 58, .18);
  background: #fff8f2;
  color: #7A1E3A;
  padding: 12px 16px;
  margin-bottom: 18px;
}

@media (max-width: 760px) {
  .wp-theme-layout-traditional .wp-checkout-minimal {
    margin-top: 28px;
    padding: 0 16px;
  }

  .wp-theme-layout-traditional .wp-checkout-minimal__hero {
    padding: 24px 20px;
  }
}

/* WEB-PAST-DELIVERY-02 — portada, categorías y catálogo base. */
.wp-theme-layout-traditional .wp-traditional-banner picture,
.wp-theme-layout-traditional .wp-traditional-banner a {
  display: block;
}

.wp-theme-layout-traditional .wp-traditional-products,
.wp-theme-layout-traditional .wp-traditional-catalog {
  width: min(100% - 48px, var(--wp-traditional-max-width));
  max-width: var(--wp-traditional-max-width);
  margin-inline: auto;
}

.wp-theme-layout-traditional .wp-traditional-products {
  margin-top: 48px;
}

.wp-theme-layout-traditional .wp-traditional-products-head {
  margin-bottom: 24px;
}

.wp-theme-layout-traditional .wp-traditional-catalog__head {
  margin-bottom: 28px;
}

.wp-theme-layout-traditional .wp-traditional-products-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
}

.wp-theme-layout-traditional .wp-traditional-products-head__link {
  flex: 0 0 auto;
  color: var(--wp-primary);
  font-weight: 800;
  text-underline-offset: 4px;
}

.wp-theme-layout-traditional .wp-traditional-products-head h2,
.wp-theme-layout-traditional .wp-traditional-catalog__head h1 {
  margin: 6px 0 0;
  color: var(--wp-text);
  letter-spacing: -0.035em;
}

.wp-theme-layout-traditional .wp-traditional-catalog {
  padding: 20px 0 72px;
}

.wp-theme-layout-traditional .wp-traditional-catalog__head h1 {
  font-size: clamp(32px, 5vw, 52px);
  line-height: 1.02;
}

.wp-theme-layout-traditional .wp-traditional-product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.wp-theme-layout-traditional .wp-traditional-product-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--wp-border);
  border-radius: 18px;
  background: var(--wp-surface);
  box-shadow: var(--wp-shadow-soft, 0 16px 38px rgba(54, 34, 39, .07));
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.wp-theme-layout-traditional .wp-traditional-product-card:hover {
  transform: translateY(-3px);
  border-color: var(--wp-border-strong);
  box-shadow: var(--wp-shadow-card, 0 22px 48px rgba(54, 34, 39, .11));
}

.wp-theme-layout-traditional .wp-traditional-product-card__media {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--wp-secondary-soft);
}

.wp-theme-layout-traditional .wp-traditional-product-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .25s ease;
}

.wp-theme-layout-traditional .wp-traditional-product-card:hover .wp-traditional-product-card__media img {
  transform: scale(1.025);
}

.wp-theme-layout-traditional .wp-traditional-product-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  padding: 18px;
}

.wp-theme-layout-traditional .wp-traditional-product-card__body .wp-product-category {
  margin: 0 0 8px;
  color: var(--wp-primary);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.wp-theme-layout-traditional .wp-traditional-product-card__body h2 {
  margin: 0;
  font-size: 19px;
  line-height: 1.2;
}

.wp-theme-layout-traditional .wp-traditional-product-card__body h2 a {
  color: var(--wp-text);
  text-decoration: none;
}

.wp-theme-layout-traditional .wp-traditional-product-card__price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 5px 8px;
  margin: auto 0 16px;
  padding-top: 22px;
}

.wp-theme-layout-traditional .wp-traditional-product-card__price span {
  width: 100%;
  color: var(--wp-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.wp-theme-layout-traditional .wp-traditional-product-card__price strong {
  color: var(--wp-primary);
  font-size: 19px;
}

.wp-theme-layout-traditional .wp-traditional-product-card__price small {
  color: var(--wp-muted);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .02em;
}

.wp-theme-layout-traditional .wp-footer__operator {
  color: inherit;
  text-decoration: none;
  text-underline-offset: 3px;
  transition: color .16s ease;
}

.wp-theme-layout-traditional .wp-footer__operator:hover,
.wp-theme-layout-traditional .wp-footer__operator:focus-visible {
  color: var(--wp-primary);
  text-decoration: underline;
}

.wp-theme-layout-traditional .wp-traditional-product-card .wp-button {
  width: 100%;
  min-height: 44px;
  border-radius: 8px;
}

.wp-theme-layout-traditional .wp-traditional-empty-card {
  grid-column: 1 / -1;
}

@media (max-width: 980px) {
  .wp-theme-layout-traditional .wp-traditional-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .wp-theme-layout-traditional .wp-traditional-products,
  .wp-theme-layout-traditional .wp-traditional-catalog {
    width: min(100% - 28px, var(--wp-traditional-max-width));
  }

  .wp-theme-layout-traditional .wp-traditional-products {
    margin-top: 32px;
  }

  .wp-theme-layout-traditional .wp-traditional-catalog {
    margin-top: 5px;
  }

  .wp-theme-layout-traditional .wp-traditional-catalog {
    padding: 0 0 54px;
  }

  .wp-theme-layout-traditional .wp-traditional-products-head {
    align-items: flex-start;
  }

  .wp-theme-layout-traditional .wp-traditional-catalog__head h1 {
    font-size: 34px;
  }

  .wp-theme-layout-traditional .wp-traditional-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .wp-theme-layout-traditional .wp-traditional-product-card__body {
    padding: 14px;
  }
}

@media (max-width: 640px) {
  .wp-theme-layout-traditional .wp-traditional-banner {
    margin: 14px;
    border-radius: 10px;
  }

  .wp-theme-layout-traditional .wp-traditional-banner picture {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 2;
    background: var(--wp-surface);
  }

  .wp-theme-layout-traditional .wp-traditional-banner img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    background: var(--wp-surface);
  }

  .wp-theme-layout-traditional .wp-traditional-product-grid {
    grid-template-columns: 1fr;
  }

  .wp-theme-layout-traditional .wp-traditional-product-card {
    display: grid;
    flex-direction: initial;
    grid-template-columns: minmax(112px, 42%) minmax(0, 1fr);
  }

  .wp-theme-layout-traditional .wp-traditional-product-card__media {
    height: 100%;
    min-height: 190px;
    aspect-ratio: auto;
  }

  .wp-theme-layout-traditional .wp-traditional-product-card__body h2 {
    font-size: 18px;
  }

  .wp-theme-layout-traditional .wp-traditional-product-card__price {
    padding-top: 16px;
  }

  .wp-theme-layout-traditional
  .wp-traditional-product-card__price small {
    display: block;
    width: 100%;
    margin-top: 2px;
    line-height: 1.15;
  }

  .wp-theme-layout-traditional
  .wp-traditional-product-card__servings-separator {
    display: none;
  }
}

@media (max-width: 380px) {
  .wp-theme-layout-traditional .wp-traditional-products-head {
    display: block;
  }

  .wp-theme-layout-traditional .wp-traditional-products-head__link {
    display: inline-block;
    margin-top: 12px;
  }

  .wp-theme-layout-traditional .wp-traditional-product-card {
    grid-template-columns: 1fr;
  }

  .wp-theme-layout-traditional .wp-traditional-product-card__media {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }
}

/* Entrega 4: carrito del tema tradicional */
.wp-theme-layout-traditional .wp-traditional-cart {
  width: min(100% - 48px, var(--wp-traditional-max-width));
  margin: 38px auto 72px;
  padding: clamp(24px, 4vw, 44px);
  border: 1px solid var(--wp-border);
  border-radius: 28px;
  background: var(--wp-surface);
  box-shadow: var(--wp-shadow-lg);
}

.wp-theme-layout-traditional .wp-traditional-cart__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 30px;
}

.wp-theme-layout-traditional .wp-traditional-cart__head h1 {
  margin: 4px 0 8px;
  font-size: clamp(38px, 5vw, 58px);
  line-height: .98;
}

.wp-theme-layout-traditional .wp-traditional-cart__head p:last-child {
  max-width: 650px;
  margin: 0;
  color: var(--wp-muted);
}

.wp-theme-layout-traditional .wp-traditional-cart__head .wp-button {
  flex: 0 0 auto;
  min-height: 46px;
}

.wp-theme-layout-traditional .wp-traditional-cart__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  align-items: start;
  gap: 24px;
}

.wp-theme-layout-traditional .wp-traditional-cart__status {
  margin: 0 0 14px;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--wp-secondary-soft);
}

.wp-theme-layout-traditional .wp-traditional-cart__status:empty {
  display: none;
}

.wp-theme-layout-traditional .wp-traditional-cart__items {
  display: grid;
  gap: 14px;
}

.wp-theme-layout-traditional .wp-traditional-cart-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  padding: 20px;
  border: 1px solid var(--wp-border);
  border-radius: 18px;
  background: var(--wp-surface);
  box-shadow: var(--wp-shadow-sm);
}

.wp-theme-layout-traditional .wp-traditional-cart-item .wp-cart-item__body {
  display: block;
  min-width: 0;
}

.wp-theme-layout-traditional .wp-traditional-cart-item__eyebrow {
  display: block;
  color: var(--wp-primary);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .11em;
  line-height: 1.2;
  text-transform: uppercase;
}

.wp-theme-layout-traditional .wp-traditional-cart-item__name {
  display: block;
  margin: 3px 0 14px;
  color: var(--wp-text);
  font-size: 22px;
  line-height: 1.15;
}

.wp-theme-layout-traditional .wp-traditional-cart-item__meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.wp-theme-layout-traditional .wp-traditional-cart-item__meta span,
.wp-theme-layout-traditional .wp-traditional-cart-item__total {
  display: grid;
  gap: 2px;
}

.wp-theme-layout-traditional .wp-traditional-cart-item__meta span {
  min-width: 0;
  color: var(--wp-text);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
}

.wp-theme-layout-traditional .wp-traditional-cart-item__meta small,
.wp-theme-layout-traditional .wp-traditional-cart-item__total small {
  color: var(--wp-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.wp-theme-layout-traditional .wp-traditional-cart-item__meta strong {
  color: var(--wp-text);
  font-size: 14px;
}

.wp-theme-layout-traditional .wp-traditional-cart-item__actions {
  display: grid;
  justify-items: end;
  gap: 12px;
  min-width: 168px;
}

.wp-theme-layout-traditional .wp-traditional-cart-item__total {
  justify-items: end;
}

.wp-theme-layout-traditional .wp-traditional-cart-item__total > span {
  color: var(--wp-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.wp-theme-layout-traditional .wp-traditional-cart-item__total strong {
  color: var(--wp-primary);
  font-size: 22px;
}

.wp-theme-layout-traditional .wp-traditional-cart-item__quantity {
  display: inline-grid;
  grid-template-columns: 42px 46px 42px;
  align-items: center;
  overflow: hidden;
  border: 1px solid var(--wp-border);
  border-radius: 999px;
  background: var(--wp-surface);
}

.wp-theme-layout-traditional .wp-traditional-cart-item__quantity button {
  min-width: 42px;
  min-height: 42px;
  border: 0;
  background: transparent;
  color: var(--wp-primary);
  font-size: 20px;
  font-weight: 700;
  cursor: pointer;
}

.wp-theme-layout-traditional .wp-traditional-cart-item__quantity button:hover {
  background: var(--wp-primary-soft);
}

.wp-theme-layout-traditional .wp-traditional-cart-item__quantity strong {
  text-align: center;
}

.wp-theme-layout-traditional .wp-traditional-cart-item__remove {
  padding: 4px;
  border: 0;
  background: transparent;
  color: var(--wp-primary);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.wp-theme-layout-traditional .wp-traditional-cart__summary {
  position: sticky;
  top: 22px;
  display: grid;
  gap: 16px;
  padding: 22px;
  border: 1px solid var(--wp-border);
  border-radius: 20px;
  background: var(--wp-secondary-soft);
  box-shadow: var(--wp-shadow-sm);
}

.wp-theme-layout-traditional .wp-traditional-cart__summary[hidden] {
  display: none;
}

.wp-theme-layout-traditional .wp-traditional-cart__summary-head h2 {
  margin: 4px 0 0;
  font-size: 26px;
}

.wp-theme-layout-traditional .wp-traditional-cart__summary-head {
  display: block;
}

.wp-theme-layout-traditional .wp-traditional-cart__summary-head .wp-eyebrow {
  display: block;
  margin: 0;
}

.wp-theme-layout-traditional .wp-traditional-cart__summary-row,
.wp-theme-layout-traditional .wp-traditional-cart__summary-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.wp-theme-layout-traditional .wp-traditional-cart__summary-row {
  padding-bottom: 14px;
  border-bottom: 1px solid var(--wp-border);
}

.wp-theme-layout-traditional .wp-traditional-cart__summary-total strong {
  color: var(--wp-primary);
  font-size: 28px;
}

.wp-theme-layout-traditional .wp-traditional-cart__summary .wp-button {
  min-height: 50px;
}

.wp-theme-layout-traditional .wp-traditional-cart__summary-note {
  margin: -4px 0 0;
  color: var(--wp-muted);
  font-size: 12px;
  line-height: 1.45;
  text-align: center;
}

.wp-theme-layout-traditional .wp-traditional-cart-empty {
  display: grid;
  justify-items: center;
  gap: 10px;
  min-height: 280px;
  padding: 48px 24px;
  border: 1px dashed var(--wp-border);
  border-radius: 20px;
  background: var(--wp-secondary-soft);
  text-align: center;
}

.wp-theme-layout-traditional .wp-traditional-cart-empty__icon {
  font-size: 42px;
  line-height: 1;
}

.wp-theme-layout-traditional .wp-traditional-cart-empty h2,
.wp-theme-layout-traditional .wp-traditional-cart-empty p {
  margin: 0;
}

.wp-theme-layout-traditional .wp-traditional-cart-empty p {
  max-width: 420px;
  color: var(--wp-muted);
}

@media (max-width: 900px) {
  .wp-theme-layout-traditional .wp-traditional-cart__layout {
    grid-template-columns: 1fr;
  }

  .wp-theme-layout-traditional .wp-traditional-cart__summary {
    position: static;
  }
}

/* Entrega 5.1: checkout operativo compacto */
.wp-theme-layout-traditional .wp-traditional-checkout__mobile-total {
  display: none;
}

.wp-theme-layout-traditional .wp-traditional-checkout {
  margin-top: 28px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-traditional-checkout__contact-grid {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-form-row--rut {
  grid-template-columns: minmax(0, 1fr);
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-form-row--rut label {
  width: min(100%, 320px);
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-months {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-month {
  padding: 14px;
  border-color: var(--wp-border);
  border-radius: 16px;
  background: var(--wp-secondary-soft);
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-days,
.wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-weekdays {
  gap: 5px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-day,
.wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-empty {
  width: 100%;
  min-width: 0;
  min-height: 0;
  aspect-ratio: 1;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-day {
  display: grid;
  place-items: center;
  padding: 0;
  border-color: var(--wp-border);
  border-radius: 8px;
  line-height: 1;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-day.is-disabled,
.wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-day:disabled {
  opacity: .52;
  background: color-mix(in srgb, var(--wp-muted) 10%, var(--wp-surface));
  color: var(--wp-muted);
}


/*
 * MP_TRADITIONAL_CALENDAR_SPECIAL_DATE_COLOR_V1
 *
 * Fecha importante:
 * el número adopta identidad corporativa sin cambiar
 * fondo, borde, tamaño ni geometría del calendario.
 *
 * Disabled y selected conservan prioridad visual.
 */
.wp-theme-layout-traditional
.wp-traditional-checkout
.wp-calendar-day.is-special:not(.is-disabled):not(:disabled):not(.is-selected)
> span {
  color: var(--wp-primary);
  font-weight: 900;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-delivery-option-grid,
.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step [name="documentType"] + .wp-document-option__icon {
  color: var(--wp-primary);
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-delivery-option-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-delivery-option,
.wp-theme-layout-traditional .wp-traditional-checkout .wp-document-option {
  position: relative;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 9px;
  min-height: 128px;
  margin: 0;
  padding: 16px 12px;
  border: 1px solid var(--wp-border);
  border-radius: 16px;
  background: var(--wp-surface);
  color: var(--wp-text);
  text-align: center;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-delivery-option:hover,
.wp-theme-layout-traditional .wp-traditional-checkout .wp-document-option:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--wp-primary) 45%, var(--wp-border));
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-delivery-option:has(input:checked),
.wp-theme-layout-traditional .wp-traditional-checkout .wp-document-option:has(input:checked) {
  border-color: var(--wp-primary);
  background: var(--wp-primary-soft);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--wp-primary) 12%, transparent);
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-delivery-option input,
.wp-theme-layout-traditional .wp-traditional-checkout .wp-document-option input {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 18px;
  min-height: 18px;
  margin: 0;
  accent-color: var(--wp-primary);
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-delivery-option__icon,
.wp-theme-layout-traditional .wp-traditional-checkout .wp-document-option__icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: var(--wp-primary-soft);
  color: var(--wp-primary);
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-delivery-option__icon svg,
.wp-theme-layout-traditional .wp-traditional-checkout .wp-document-option__icon svg {
  width: 25px;
  height: 25px;
  fill: currentColor;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-document-option > span:last-child {
  display: grid;
  gap: 3px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-document-option small {
  color: var(--wp-muted);
  font-size: 12px;
  font-weight: 500;
}

.wp-theme-layout-traditional .wp-traditional-checkout [data-wp-checkout-document-form] > .wp-radio-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 220px));
  gap: 12px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--progress {
  position: relative;
  gap: 10px;
  overflow: hidden;
  border-style: dashed;
  background: var(--wp-surface);
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--progress::before,
.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--progress::after {
  content: '';
  position: absolute;
  left: -8px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--wp-background);
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--progress::before {
  top: 34%;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--progress::after {
  top: 68%;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card__heading {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 12px;
  border-bottom: 1px dashed var(--wp-border);
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card__heading > span {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--wp-primary-soft);
  color: var(--wp-primary);
  font-weight: 900;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card__heading .wp-side-label,
.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card__heading h3 {
  margin: 0 !important;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--progress article {
  position: relative;
  padding: 12px 42px 12px 13px;
  border-color: color-mix(in srgb, var(--wp-muted) 22%, transparent);
  background: color-mix(in srgb, var(--wp-muted) 7%, var(--wp-surface));
  filter: grayscale(.5);
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--progress article::after {
  content: '!';
  position: absolute;
  top: 50%;
  right: 12px;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  transform: translateY(-50%);
  border-radius: 50%;
  background: color-mix(in srgb, var(--wp-muted) 16%, var(--wp-surface));
  color: var(--wp-muted);
  font-weight: 900;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--progress article.is-complete {
  border-color: color-mix(in srgb, var(--wp-primary) 38%, var(--wp-border));
  background: var(--wp-primary-soft);
  filter: none;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--progress article.is-complete::after {
  content: '✓';
  background: var(--wp-primary);
  color: var(--wp-on-primary, #fff);
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--progress article.is-complete span,
.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--progress article.is-complete strong {
  color: var(--wp-primary);
}

@media (max-width: 700px) {
  .wp-theme-layout-traditional .wp-traditional-checkout__mobile-total {
    display: grid;
    gap: 2px;
    order: -2;
    margin: 0;
    padding: 16px 18px;
    border-radius: 16px;
    background: var(--wp-primary);
    color: var(--wp-on-primary, #fff);
  }

  .wp-theme-layout-traditional .wp-traditional-checkout__mobile-total .wp-side-label,
  .wp-theme-layout-traditional .wp-traditional-checkout__mobile-total strong,
  .wp-theme-layout-traditional .wp-traditional-checkout__mobile-total span {
    color: inherit;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout__mobile-total strong {
    font-size: 32px;
    line-height: 1.05;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout > .mp-stepper {
    order: -1;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-minimal__aside {
    display: none;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-minimal__grid,
  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-minimal__flow,
  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step,
  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step form,
  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step input,
  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step textarea {
    min-width: 0;
    max-width: 100%;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step input,
  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step textarea {
    width: 100%;
    box-sizing: border-box;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step__header {
    position: relative;
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    align-items: start;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step__state {
    grid-column: 2;
    justify-self: start;
    margin-top: 2px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-months {
    display: grid;
    grid-template-columns: 1fr;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-carousel__controls {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    align-items: center;
    gap: 8px;
    margin-bottom: 2px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-carousel__controls span {
    color: var(--wp-muted);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-carousel__controls button {
    width: 42px;
    height: 42px;
    border: 1px solid var(--wp-border);
    border-radius: 12px;
    background: var(--wp-surface);
    color: var(--wp-primary);
    font-size: 26px;
    font-weight: 800;
    cursor: pointer;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-carousel__controls button:disabled {
    opacity: .35;
    cursor: not-allowed;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-month {
    width: 100%;
    box-sizing: border-box;
    padding: 12px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-day,
  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-empty {
    min-height: 34px;
    aspect-ratio: 1;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-form-row,
  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-months,
  .wp-theme-layout-traditional .wp-traditional-checkout .wp-delivery-option-grid,
  .wp-theme-layout-traditional .wp-traditional-checkout [data-wp-checkout-document-form] > .wp-radio-row {
    grid-template-columns: 1fr;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-form-row--rut label {
    width: 100%;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-months {
    gap: 12px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-delivery-option,
  .wp-theme-layout-traditional .wp-traditional-checkout .wp-document-option {
    grid-template-columns: 46px 1fr;
    align-items: center;
    justify-items: start;
    min-height: 82px;
    padding: 12px 46px 12px 12px;
    text-align: left;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-delivery-option strong,
  .wp-theme-layout-traditional .wp-traditional-checkout .wp-document-option strong {
    font-size: 15px;
    line-height: 1.2;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-document-option > span:last-child {
    min-width: 0;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout > .mp-stepper {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    overflow: visible;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .mp-stepper__line {
    display: none;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .mp-stepper__step {
    display: grid;
    grid-template-rows: 30px auto;
    justify-items: center;
    align-content: center;
    gap: 4px;
    min-width: 0;
    min-height: 66px;
    padding: 7px 3px;
    border: 1px solid color-mix(in srgb, var(--wp-muted) 18%, transparent);
    border-radius: 13px;
    background: color-mix(in srgb, var(--wp-muted) 7%, var(--wp-surface));
    color: var(--wp-muted);
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .mp-stepper__step.is-current,
  .wp-theme-layout-traditional .wp-traditional-checkout .mp-stepper__step.is-complete {
    border-color: color-mix(in srgb, var(--wp-primary) 38%, var(--wp-border));
    background: var(--wp-primary-soft);
    color: var(--wp-primary);
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .mp-stepper__dot {
    width: 30px;
    height: 30px;
    border: 1px solid color-mix(in srgb, var(--wp-muted) 24%, transparent);
    background: var(--wp-surface);
    color: var(--wp-muted);
    box-shadow: none;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .mp-stepper__step.is-current .mp-stepper__dot,
  .wp-theme-layout-traditional .wp-traditional-checkout .mp-stepper__step.is-complete .mp-stepper__dot {
    border-color: var(--wp-primary);
    background: var(--wp-primary);
    color: var(--wp-on-primary, #fff);
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .mp-stepper__label {
    max-width: 100%;
    overflow: hidden;
    font-size: 9px;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (max-width: 390px) {
  .wp-theme-layout-traditional .wp-traditional-checkout {
    width: calc(100% - 12px);
    gap: 12px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout__mobile-total {
    padding: 13px 14px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step {
    border-radius: 16px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step__header {
    gap: 8px;
    padding: 12px 9px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step__body {
    padding: 0 7px 12px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-shell {
    gap: 9px;
    margin-bottom: 10px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-month {
    padding: 6px;
    border-radius: 12px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-month h3 {
    margin-bottom: 8px;
    padding-inline: 3px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-days,
  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-weekdays {
    gap: 3px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-weekdays {
    margin-bottom: 4px;
    font-size: 10px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-day,
  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-empty {
    min-height: 36px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-carousel__controls {
    grid-template-columns: 38px minmax(0, 1fr) 38px;
    gap: 5px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-carousel__controls button {
    width: 38px;
    height: 38px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-delivery-option,
  .wp-theme-layout-traditional .wp-traditional-checkout .wp-document-option {
    min-height: 72px;
    padding: 9px 40px 9px 9px;
    border-radius: 13px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-delivery-option__icon,
  .wp-theme-layout-traditional .wp-traditional-checkout .wp-document-option__icon {
    width: 40px;
    height: 40px;
    border-radius: 11px;
  }
}

@media (max-width: 380px) {
  .wp-theme-layout-traditional .wp-traditional-cart-item__meta {
    grid-template-columns: 1fr;
  }
}

/* Entrega 5: checkout del tema tradicional */
.wp-theme-layout-traditional .wp-traditional-checkout {
  width: min(100% - 48px, var(--wp-traditional-max-width));
  max-width: var(--wp-traditional-max-width);
  margin: 38px auto 72px;
  gap: 24px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-minimal__hero {
  grid-template-columns: 1fr;
  padding: clamp(28px, 5vw, 52px);
  border-color: var(--wp-border);
  border-radius: 28px;
  background: var(--wp-surface);
  box-shadow: var(--wp-shadow-lg);
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-minimal__hero h1 {
  margin: 6px 0 12px;
  font-size: clamp(42px, 6vw, 64px);
  line-height: .98;
  letter-spacing: -.045em;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-minimal__hero p:last-child {
  margin: 0;
}

.wp-theme-layout-traditional .wp-traditional-checkout > .wp-form-status {
  min-height: 0;
  margin: -8px 0 0;
}

.wp-theme-layout-traditional .wp-traditional-checkout > .wp-form-status:empty {
  display: none;
}

.wp-theme-layout-traditional .wp-traditional-checkout > .wp-form-status:not(:empty) {
  padding: 12px 16px;
  border: 1px solid var(--wp-border);
  border-radius: 14px;
  background: var(--wp-secondary-soft);
}

.wp-theme-layout-traditional .wp-traditional-checkout .mp-stepper {
  padding: 16px 20px;
  border-color: var(--wp-border);
  border-radius: 20px;
  background: var(--wp-surface);
  box-shadow: var(--wp-shadow-sm);
}

.wp-theme-layout-traditional .wp-traditional-checkout .mp-stepper__step {
  min-height: 58px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .mp-stepper__dot {
  width: 38px;
  height: 38px;
  border-color: var(--wp-border);
}

.wp-theme-layout-traditional .wp-traditional-checkout .mp-stepper__label {
  font-size: 13px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-minimal__grid {
  grid-template-columns: minmax(0, 1fr) 350px;
  gap: 24px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step {
  overflow: hidden;
  border-color: var(--wp-border);
  border-radius: 22px;
  box-shadow: var(--wp-shadow-sm);
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step.is-current {
  border-color: color-mix(in srgb, var(--wp-primary) 28%, var(--wp-border));
  box-shadow: var(--wp-shadow-md);
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step__header {
  align-items: center;
  padding: 20px 22px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step__icon {
  width: 42px;
  height: 42px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step__copy strong {
  font-size: 18px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step__body {
  padding: 2px 22px 24px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step input,
.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step textarea {
  min-height: 48px;
  border-color: var(--wp-border);
  border-radius: 12px;
  background: var(--wp-surface);
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step textarea {
  min-height: 92px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step form > .wp-button,
.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-actions .wp-button {
  min-height: 46px;
  border-radius: 12px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-minimal__aside {
  /*
   * En desktop este aside vive dentro de una columna lateral
   * acotada. Mantener una sola columna evita que el segundo
   * track colapse a 0px.
   *
   * Los breakpoints posteriores pueden reorganizarlo cuando
   * el aside pasa a ocupar todo el ancho disponible.
   */
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card {
  padding: 18px;
  border-color: var(--wp-border);
  border-radius: 18px;
  box-shadow: var(--wp-shadow-sm);
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--total {
  background: var(--wp-primary);
  color: var(--wp-on-primary, #fff);
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--total .wp-side-label,
.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--total strong,
.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--total span {
  color: inherit;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--total strong {
  margin: 4px 0 2px;
  font-size: 34px;
}

.wp-theme-layout-traditional .wp-traditional-checkout__products {
  display: grid;
  gap: 12px;
}

.wp-theme-layout-traditional .wp-traditional-checkout__products-head .wp-side-label {
  margin-bottom: 4px !important;
}

.wp-theme-layout-traditional .wp-traditional-checkout__products-head h3 {
  margin: 0;
}

.wp-theme-layout-traditional .wp-traditional-checkout__products > .wp-cart-items {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-traditional-cart-item {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--wp-border);
  border-radius: 14px;
  background: var(--wp-secondary-soft);
  box-shadow: none;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-cart-item__body {
  display: block;
  min-width: 0;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-traditional-cart-item__eyebrow {
  display: block;
  color: var(--wp-primary);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-traditional-cart-item__name {
  display: block;
  overflow-wrap: anywhere;
  margin: 3px 0 10px;
  color: var(--wp-text);
  font-size: 17px;
  line-height: 1.2;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-traditional-cart-item__meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-traditional-cart-item__meta span {
  display: grid;
  gap: 2px;
  min-width: 0;
  color: var(--wp-text);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-traditional-cart-item__meta small,
.wp-theme-layout-traditional .wp-traditional-checkout .wp-traditional-cart-item__total > span {
  color: var(--wp-muted);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .07em;
  line-height: 1.2;
  text-transform: uppercase;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-traditional-cart-item__actions {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  justify-items: stretch;
  gap: 10px;
  min-width: 0;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-traditional-cart-item__total {
  display: grid;
  grid-column: 1 / -1;
  justify-items: start;
  gap: 2px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-traditional-cart-item__total strong {
  color: var(--wp-primary);
  font-size: 20px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-traditional-cart-item__quantity {
  display: inline-grid;
  grid-template-columns: 36px 38px 36px;
  justify-self: start;
  overflow: hidden;
  border: 1px solid var(--wp-border);
  border-radius: 999px;
  background: var(--wp-surface);
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-traditional-cart-item__quantity button {
  min-width: 36px;
  min-height: 38px;
  border: 0;
  background: transparent;
  color: var(--wp-primary);
  font-size: 18px;
  font-weight: 800;
  cursor: pointer;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-traditional-cart-item__quantity strong {
  align-self: center;
  text-align: center;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-traditional-cart-item__remove {
  border: 0;
  background: transparent;
  color: var(--wp-primary);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--progress article {
  border-color: var(--wp-border);
  border-radius: 14px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--pay {
  border-color: color-mix(in srgb, var(--wp-primary) 30%, var(--wp-border));
  background: var(--wp-secondary-soft);
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--pay .wp-button {
  min-height: 48px;
}

@media (max-width: 920px) {
  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-minimal__grid {
    grid-template-columns: 1fr;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-minimal__aside {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout__products,
  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--progress {
    grid-row: span 2;
  }
}

@media (max-width: 700px) {
  .wp-theme-layout-traditional .wp-traditional-checkout {
    width: min(100% - 28px, var(--wp-traditional-max-width));
    margin: 26px auto 54px;
    gap: 16px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-minimal__hero {
    padding: 24px 18px;
    border-radius: 18px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-minimal__hero h1 {
    font-size: clamp(38px, 12vw, 50px);
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .mp-stepper {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding: 10px;
    border-radius: 16px;
    scrollbar-width: none;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .mp-stepper::-webkit-scrollbar {
    display: none;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .mp-stepper__step {
    flex: 0 0 64px;
    min-height: 54px;
    gap: 4px;
    padding: 0;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .mp-stepper__dot {
    width: 32px;
    height: 32px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .mp-stepper__label {
    font-size: 10px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step__header {
    align-items: flex-start;
    gap: 10px;
    padding: 16px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step__icon {
    width: 36px;
    height: 36px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step__copy strong {
    font-size: 16px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step__copy small {
    font-size: 12px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step__state {
    padding: 5px 7px;
    font-size: 10px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step__body {
    padding: 0 16px 18px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-form-grid {
    grid-template-columns: 1fr;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-actions .wp-button,
  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step form > .wp-button {
    width: 100%;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-minimal__aside {
    grid-template-columns: 1fr;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout__products,
  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--progress {
    grid-row: auto;
  }
}

/* WEB-PAST-DELIVERY-03 — ficha de producto del tema incluido. */
.wp-theme-layout-traditional .wp-traditional-pdp {
  width: min(100% - 48px, var(--wp-traditional-max-width));
  max-width: var(--wp-traditional-max-width);
  grid-template-columns: minmax(320px, .92fr) minmax(0, 1.08fr);
  gap: 28px;
  margin: 48px auto 72px;
}

.wp-theme-layout-traditional .wp-traditional-pdp__gallery,
.wp-theme-layout-traditional .wp-traditional-pdp__info {
  border: 1px solid var(--wp-border);
  border-radius: 22px;
  background: var(--wp-surface);
  box-shadow: var(--wp-shadow-soft, 0 18px 46px rgba(54, 34, 39, .08));
}

.wp-theme-layout-traditional .wp-traditional-pdp__gallery {
  top: 22px;
  padding: 18px;
}

.wp-theme-layout-traditional .wp-traditional-pdp__main-media {
  overflow: hidden;
  border-radius: 16px;
  background: var(--wp-secondary-soft);
}

.wp-theme-layout-traditional .wp-traditional-pdp__main-media .wp-pdp-main-image {
  width: 100%;
  aspect-ratio: 1 / 1;
  border: 0;
  border-radius: 0;
  object-fit: cover;
}

.wp-theme-layout-traditional .wp-traditional-pdp .wp-pdp-thumbs {
  gap: 10px;
  margin-top: 14px;
  padding: 2px;
}

.wp-theme-layout-traditional .wp-traditional-pdp__thumb {
  flex: 0 0 auto;
  width: 70px;
  height: 70px;
  padding: 3px;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 12px;
  background: var(--wp-surface);
  cursor: pointer;
}

.wp-theme-layout-traditional .wp-traditional-pdp__thumb:hover,
.wp-theme-layout-traditional .wp-traditional-pdp__thumb.is-selected {
  border-color: var(--wp-primary);
}

.wp-theme-layout-traditional .wp-traditional-pdp__thumb img {
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 8px;
  object-fit: cover;
}

.wp-theme-layout-traditional .wp-traditional-pdp__info {
  padding: clamp(24px, 3vw, 38px);
}

@media (min-width: 981px) {
  body.wp-theme-layout-traditional.wp-page-product .wp-traditional-pdp__info {
    padding-top: clamp(12px, 1.9vw, 21px);
  }
}

.wp-theme-layout-traditional .wp-traditional-pdp__info h1 {
  margin: 0;
  font-size: clamp(38px, 5vw, 58px);
  line-height: .98;
}

.wp-theme-layout-traditional .wp-traditional-pdp__info .wp-product-title-divider {
  margin: 20px 0;
  background: linear-gradient(90deg, var(--wp-border-strong), var(--wp-border), transparent);
}

.wp-theme-layout-traditional .wp-traditional-pdp__info .wp-pdp-description {
  margin: 0 0 24px;
  color: var(--wp-muted);
  font-size: 17px;
  line-height: 1.65;
}

.wp-theme-layout-traditional .wp-traditional-pdp .wp-purchase-box {
  gap: 18px;
  margin-top: 0;
}

.wp-theme-layout-traditional .wp-traditional-pdp .wp-option-box {
  margin: 0;
  padding: 18px;
  border: 1px solid var(--wp-border);
  border-radius: 18px;
  background: var(--wp-secondary-soft);
}

.wp-theme-layout-traditional .wp-traditional-pdp__option-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
}

.wp-theme-layout-traditional .wp-traditional-pdp__option-head > span {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: var(--wp-primary);
  color: var(--wp-on-primary);
  font-size: 13px;
  font-weight: 850;
}

.wp-theme-layout-traditional .wp-traditional-pdp__option-head h2 {
  margin: 0 0 3px;
  font-size: 18px;
}

.wp-theme-layout-traditional .wp-traditional-pdp__option-head p {
  margin: 0;
  color: var(--wp-muted);
  font-size: 13px;
  line-height: 1.45;
}

.wp-theme-layout-traditional .wp-traditional-pdp .wp-choice-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.wp-theme-layout-traditional .wp-traditional-pdp .wp-choice-card {
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 68px;
  padding: 12px 14px;
  border: 1px solid var(--wp-border);
  border-radius: 14px;
  background: var(--wp-surface);
  box-shadow: none;
}

.wp-theme-layout-traditional .wp-traditional-pdp .wp-choice-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.wp-theme-layout-traditional .wp-traditional-pdp .wp-choice-card > span {
  color: var(--wp-text);
  font-size: 14px;
  font-weight: 750;
  line-height: 1.25;
}

.wp-theme-layout-traditional .wp-traditional-pdp .wp-choice-card > strong {
  color: var(--wp-primary);
  white-space: nowrap;
}

.wp-theme-layout-traditional .wp-traditional-pdp .wp-choice-card > small {
  grid-column: 1 / -1;
  color: var(--wp-muted);
  font-size: 11px;
}

.wp-theme-layout-traditional .wp-traditional-pdp .wp-choice-card:has(input:checked) {
  border-color: var(--wp-primary);
  background: var(--wp-primary-soft);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--wp-primary) 10%, transparent);
}

.wp-theme-layout-traditional .wp-traditional-pdp .wp-choice-card:has(input:checked)::after {
  content: "✓";
  position: absolute;
  top: 8px;
  right: 8px;
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: var(--wp-primary);
  color: var(--wp-on-primary);
  font-size: 11px;
  font-weight: 900;
}

.wp-theme-layout-traditional .wp-traditional-pdp__selection {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 16px 18px;
  border: 1px solid var(--wp-border);
  border-radius: 16px;
  background: var(--wp-surface);
}

.wp-theme-layout-traditional .wp-traditional-pdp__selection > div {
  display: grid;
  gap: 3px;
}

.wp-theme-layout-traditional .wp-traditional-pdp__selection span {
  color: var(--wp-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.wp-theme-layout-traditional .wp-traditional-pdp__selection strong {
  color: var(--wp-text);
}

.wp-theme-layout-traditional .wp-traditional-pdp__selection small {
  color: var(--wp-muted);
}

.wp-theme-layout-traditional .wp-traditional-pdp__selection-price {
  flex: 0 0 auto;
  text-align: right;
}

.wp-theme-layout-traditional .wp-traditional-pdp__selection-price strong {
  color: var(--wp-primary);
  font-size: 22px;
}

.wp-theme-layout-traditional .wp-traditional-pdp__actions {
  display: grid;
  grid-template-columns: 110px minmax(180px, 1fr) auto;
  align-items: end;
  gap: 10px;
  margin: 0;
  padding: 16px;
  border: 1px solid var(--wp-border);
  border-radius: 18px;
  background: var(--wp-secondary-soft);
}

.wp-theme-layout-traditional .wp-traditional-pdp__actions .wp-quantity-field input,
.wp-theme-layout-traditional .wp-traditional-pdp__actions .wp-button {
  width: 100%;
  min-height: 48px;
  border-radius: 12px;
}

.wp-theme-layout-traditional .wp-traditional-pdp__actions .wp-quantity-field input {
  padding: 10px 12px;
  border: 1px solid var(--wp-border);
  background: var(--wp-surface);
}

.wp-theme-layout-traditional .wp-traditional-pdp__price-note {
  margin: -8px 0 0;
  color: var(--wp-muted);
  font-size: 12px;
  text-align: center;
}

.wp-theme-layout-traditional .wp-traditional-pdp .wp-form-status:not(:empty) {
  margin: 0;
  padding: 12px 14px;
  border-radius: 12px;
}

@media (max-width: 980px) {
  .wp-theme-layout-traditional .wp-traditional-pdp {
    grid-template-columns: 1fr;
  }

  .wp-theme-layout-traditional .wp-traditional-pdp__gallery {
    position: static;
  }

  .wp-theme-layout-traditional .wp-traditional-pdp__main-media {
    max-width: 680px;
    margin-inline: auto;
  }
}

@media (max-width: 700px) {
  .wp-theme-layout-traditional .wp-traditional-pdp {
    width: min(100% - 28px, var(--wp-traditional-max-width));
    gap: 14px;
    margin: 28px auto 54px;
  }

  .wp-theme-layout-traditional .wp-traditional-pdp__gallery {
    padding: 10px;
    border-radius: 16px;
  }

  .wp-theme-layout-traditional .wp-traditional-pdp__info {
    padding: 22px 16px;
    border-radius: 16px;
  }

  .wp-theme-layout-traditional .wp-traditional-pdp__info h1 {
    font-size: 28px;
    line-height: 1.05;
  }

  .wp-theme-layout-traditional .wp-traditional-pdp .wp-choice-list {
    grid-template-columns: 1fr;
  }

  .wp-theme-layout-traditional .wp-traditional-pdp__selection {
    align-items: flex-start;
  }

  .wp-theme-layout-traditional .wp-traditional-pdp__actions {
    grid-template-columns: 1fr;
  }

  .wp-theme-layout-traditional .wp-traditional-pdp__selection-price {
    text-align: right;
  }
}

@media (max-width: 380px) {
  .wp-theme-layout-traditional .wp-traditional-pdp__selection {
    display: grid;
  }

  .wp-theme-layout-traditional .wp-traditional-pdp__selection-price {
    text-align: left;
  }
}

/*
 * Checkout mobile canónico.
 * Mantener al final: sustituye la presentación móvil heredada del checkout.
 */
@media (max-width: 700px) {
  .wp-theme-layout-traditional .wp-traditional-checkout > .mp-stepper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    overflow: visible;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .mp-stepper__line,
  .wp-theme-layout-traditional .wp-traditional-checkout .mp-stepper__dot {
    display: none;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .mp-stepper__step {
    display: grid;
    place-items: center;
    min-width: 0;
    min-height: 42px;
    padding: 8px 6px;
    border: 1px solid color-mix(in srgb, var(--wp-muted) 24%, var(--wp-border));
    border-radius: 11px;
    background: color-mix(in srgb, var(--wp-muted) 8%, var(--wp-surface));
    color: var(--wp-muted);
    box-shadow: none;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .mp-stepper__step.is-current {
    border-color: var(--wp-primary);
    background: var(--wp-surface);
    color: var(--wp-primary);
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .mp-stepper__step.is-complete {
    border-color: var(--wp-primary);
    background: var(--wp-primary);
    color: var(--wp-on-primary, #fff);
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .mp-stepper__label {
    display: block;
    max-width: 100%;
    overflow: visible;
    color: inherit;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.15;
    text-align: center;
    text-overflow: clip;
    white-space: normal;
  }
}

@media (max-width: 390px) {
  .wp-theme-layout-traditional .wp-traditional-checkout {
    width: calc(100% - 12px);
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step__header {
    gap: 7px;
    padding: 11px 8px 9px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step__body {
    padding: 0 5px 11px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-shell,
  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-months {
    width: 100%;
    min-width: 0;
    gap: 7px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-carousel__controls {
    grid-template-columns: 34px minmax(0, 1fr) 34px;
    gap: 4px;
    padding-inline: 1px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-carousel__controls button {
    width: 34px;
    height: 34px;
    border-radius: 10px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-month {
    width: 100%;
    min-width: 0;
    padding: 5px;
    border-radius: 11px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-days,
  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-weekdays {
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 2px;
  }

  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-day,
  .wp-theme-layout-traditional .wp-traditional-checkout .wp-calendar-empty {
    width: 100%;
    min-width: 0;
    min-height: 0;
    aspect-ratio: 1;
  }
}


/* MPV_CHECKOUT_MPAY_CONTRACT_19 — CTA único de pago en el resumen lateral.
   El botón aparece únicamente cuando contacto, fecha, entrega y documento
   están almacenados. La revisión y el CTA viven dentro del mismo card. */
.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--pay {
  display: grid;
  gap: 10px;
  padding: 20px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--pay .wp-side-label {
  margin: 0 !important;
  color: var(--wp-primary);
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--pay h3 {
  margin: 0;
  font-size: 21px;
  line-height: 1.2;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--pay > p {
  margin: 0;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card__payment-note {
  padding-top: 2px;
  font-size: 13px;
  line-height: 1.45;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card__payment-note strong {
  color: var(--wp-text);
  font-weight: 900;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card__payment-button {
  width: 100%;
  min-height: 58px;
  margin-top: 6px;
  border-radius: 14px;
  font-size: 20px;
  font-weight: 900;
  cursor: pointer;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card__payment-button[hidden] {
  display: none !important;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card__payment-button[disabled] {
  cursor: wait;
}

@media (max-width: 700px) {
  .wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card__payment-button {
    min-height: 60px;
    font-size: 21px;
  }
}


/*
 * MP_TRADITIONAL_MOBILE_PDP_STRUCTURE_V1
 *
 * Desktop conserva la PDP de dos columnas.
 *
 * Mobile:
 *   1. identidad textual del producto;
 *   2. galería;
 *   3. configuración y compra.
 *
 * Un único SSR: H1, descripción y formulario no se duplican.
 */
@media (max-width: 700px) {
  body.wp-theme-layout-traditional.wp-page-product
  .wp-traditional-pdp {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    margin-top: 20px;
  }

  body.wp-theme-layout-traditional.wp-page-product
  .wp-traditional-pdp__info {
    display: contents;
  }

  body.wp-theme-layout-traditional.wp-page-product
  .wp-traditional-pdp__intro {
    order: 1;
    padding: 0 20px 20px;
    border: 1px solid var(--wp-border);
    border-radius: 22px;
    background: var(--wp-surface);
    box-shadow:
      var(
        --wp-shadow-soft,
        0 18px 46px rgba(54, 34, 39, .08)
      );
  }

  body.wp-theme-layout-traditional.wp-page-product
  .wp-traditional-pdp__gallery {
    order: 2;
    top: auto;
  }

  body.wp-theme-layout-traditional.wp-page-product
  .wp-traditional-pdp
  .wp-purchase-box {
    order: 3;
    padding: 20px;
    border: 1px solid var(--wp-border);
    border-radius: 22px;
    background: var(--wp-surface);
    box-shadow:
      var(
        --wp-shadow-soft,
        0 18px 46px rgba(54, 34, 39, .08)
      );
  }

  body.wp-theme-layout-traditional.wp-page-product
  .wp-traditional-pdp__intro
  .wp-pdp-description {
    margin-bottom: 0;
  }
}


/* MPV_PDP_20 — Selector marcado, cantidad stepper y CTA simplificado. */
.wp-theme-layout-traditional .wp-traditional-pdp .wp-choice-card:has(input:checked) {
  border: 2px solid var(--wp-primary);
  background: var(--wp-primary-soft);
  box-shadow:
    0 0 0 3px color-mix(in srgb, var(--wp-primary) 16%, transparent),
    0 9px 22px color-mix(in srgb, var(--wp-primary) 14%, transparent);
}

.wp-theme-layout-traditional .wp-traditional-pdp .wp-choice-card:has(input:checked)::after {
  content: none;
  display: none;
}

.wp-theme-layout-traditional .wp-traditional-pdp__actions {
  grid-template-columns: minmax(190px, 220px) minmax(220px, 1fr);
  align-items: end;
}

.wp-theme-layout-traditional .wp-quantity-field--stepper {
  display: grid;
  gap: 7px;
}

.wp-theme-layout-traditional .wp-quantity-stepper {
  display: grid;
  grid-template-columns: 54px minmax(62px, 1fr) 54px;
  min-height: 56px;
  overflow: hidden;
  border: 1px solid var(--wp-border);
  border-radius: 14px;
  background: var(--wp-surface);
}

.wp-theme-layout-traditional .wp-quantity-stepper button,
.wp-theme-layout-traditional .wp-quantity-stepper input {
  min-width: 0;
  min-height: 56px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--wp-text);
  font: inherit;
}

.wp-theme-layout-traditional .wp-quantity-stepper button {
  display: grid;
  place-items: center;
  padding: 0;
  color: var(--wp-primary);
  font-size: 30px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  transition: background-color 150ms ease, color 150ms ease;
}

.wp-theme-layout-traditional .wp-quantity-stepper button:hover {
  background: var(--wp-primary-soft);
}

.wp-theme-layout-traditional .wp-quantity-stepper button:focus-visible {
  position: relative;
  z-index: 1;
  outline: 3px solid color-mix(in srgb, var(--wp-primary) 28%, transparent);
  outline-offset: -3px;
}

.wp-theme-layout-traditional .wp-quantity-stepper input {
  width: 100%;
  padding: 0 6px;
  border-inline: 1px solid var(--wp-border);
  text-align: center;
  font-size: 22px;
  font-weight: 850;
  appearance: textfield;
  -moz-appearance: textfield;
}

.wp-theme-layout-traditional .wp-quantity-stepper input::-webkit-inner-spin-button,
.wp-theme-layout-traditional .wp-quantity-stepper input::-webkit-outer-spin-button {
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
}

.wp-theme-layout-traditional .wp-traditional-pdp__add-button {
  min-height: 56px;
  font-size: 17px;
}

.wp-theme-layout-traditional .wp-traditional-pdp__catalog-link {
  margin: -3px 0 0;
  text-align: center;
}

.wp-theme-layout-traditional .wp-traditional-pdp__catalog-link a {
  color: var(--wp-primary);
  font-size: 14px;
  font-weight: 750;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.wp-theme-layout-traditional .wp-traditional-pdp__catalog-link a:hover {
  color: var(--wp-primary-dark);
}

@media (max-width: 700px) {
  .wp-theme-layout-traditional .wp-traditional-pdp__actions {
    grid-template-columns: 1fr;
  }
}


/* MPV_CHECKOUT_MPAY_CONTRACT_22 — CTA siempre visible y estado bloqueado explícito.
   El botón permanece en el card para mostrar el destino del flujo. Solo se
   habilita cuando contacto, fecha, entrega y documento están almacenados. */
.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--pay {
  gap: 16px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card__payment-button[hidden] {
  display: inline-flex !important;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card__payment-button[disabled] {
  border-color: #c9c5c6;
  background: #d8d5d6;
  color: #777174;
  box-shadow: none;
  cursor: not-allowed;
  opacity: 1;
  transform: none;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card__payment-button[disabled]:hover {
  border-color: #c9c5c6;
  background: #d8d5d6;
  color: #777174;
  box-shadow: none;
  transform: none;
}


/* MPV_CHECKOUT_STEP_NEXT_23 — Avance explícito por completitud y firma M-Pay.
   Cada paso mantiene su CTA visible, gris y bloqueado hasta que sus campos
   requeridos estén completos. El botón se activa con la paleta corporativa. */
.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step__next-button {
  min-width: 174px;
  background: var(--wp-primary);
  border-color: var(--wp-primary);
  color: var(--wp-on-primary, #fff);
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--wp-primary) 18%, transparent);
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step__next-button:not([disabled]):hover {
  background: var(--wp-primary-dark, var(--wp-primary));
  border-color: var(--wp-primary-dark, var(--wp-primary));
  transform: translateY(-1px);
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-step__next-button[disabled] {
  border-color: #c9c5c6;
  background: #d8d5d6;
  color: #777174;
  box-shadow: none;
  cursor: not-allowed;
  opacity: 1;
  transform: none;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card__powered {
  margin: -2px 0 0 !important;
  text-align: center;
  font-size: 11px;
  line-height: 1.35;
  opacity: 0.64;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card__powered a {
  color: var(--wp-muted, #7b6666);
  text-decoration: none;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card__powered a:hover,
.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card__powered a:focus-visible {
  color: var(--wp-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}


/* MPV_CHECKOUT_MPAY_CARD_24 — Jerarquía final del card de acceso a M-Pay.
   Se elimina la etiqueta duplicada. El título abre el card, seguido por el CTA
   y una señal breve de seguridad con mayor legibilidad. */
.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--pay {
  gap: 16px;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card--pay h3 {
  margin: 0;
}

.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card__security {
  margin: -1px 0 0 !important;
  color: color-mix(in srgb, var(--wp-text) 72%, var(--wp-muted, #7b6666));
  font-size: 13px;
  font-weight: 650;
  line-height: 1.35;
  text-align: center;
}


/* MPV_CART_PREVIEW_29 — Alineación y composición editorial del carrito. */
.wp-theme-layout-traditional .wp-traditional-cart__summary {
  margin-top: 0;
}

.wp-theme-layout-traditional .wp-traditional-cart-item--preview {
  grid-template-columns: minmax(0, 1fr) minmax(250px, 290px);
  align-items: center;
  border: 1.5px solid var(--wp-primary);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--wp-primary) 8%, transparent);
}

.wp-theme-layout-traditional .wp-traditional-cart-item--preview .wp-traditional-cart-item__name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.wp-theme-layout-traditional .wp-traditional-cart-item--preview .wp-traditional-cart-item__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}

.wp-theme-layout-traditional .wp-traditional-cart-item--preview .wp-traditional-cart-item__meta span {
  min-width: 88px;
}

.wp-theme-layout-traditional .wp-traditional-cart-item--preview .wp-traditional-cart-item__actions {
  display: grid;
  justify-items: stretch;
  gap: 12px;
  min-width: 0;
}

.wp-theme-layout-traditional .wp-traditional-cart-item__calculation {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  white-space: nowrap;
}

.wp-theme-layout-traditional .wp-traditional-cart-item__multiply {
  color: var(--wp-muted);
  font-size: 18px;
  font-weight: 800;
}

.wp-theme-layout-traditional .wp-traditional-cart-item__unit-price {
  color: var(--wp-text);
  font-size: 16px;
  font-weight: 800;
}

.wp-theme-layout-traditional .wp-traditional-cart-item__result {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 14px;
}

.wp-theme-layout-traditional .wp-traditional-cart-item--preview .wp-traditional-cart-item__total {
  min-width: 122px;
  justify-items: end;
}

.wp-theme-layout-traditional .wp-traditional-cart-item--preview .wp-traditional-cart-item__remove {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  padding: 0;
  border: 1.5px solid var(--wp-primary);
  border-radius: 50%;
  background: var(--wp-surface);
  color: var(--wp-primary);
  text-decoration: none;
  transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.wp-theme-layout-traditional .wp-traditional-cart-item--preview .wp-traditional-cart-item__remove:hover {
  background: var(--wp-primary);
  color: var(--wp-on-primary, #fff);
  transform: translateY(-1px);
}

.wp-theme-layout-traditional .wp-traditional-cart-item--preview .wp-traditional-cart-item__remove svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}


/* MPV_CART_PREVIEW_30 — Jerarquía derecha: total arriba, controles abajo.
   La columna izquierda queda congelada. */
.wp-theme-layout-traditional .wp-traditional-cart-item--preview .wp-traditional-cart-item__actions {
  align-self: stretch;
  display: grid;
  grid-template-rows: auto 1fr;
  align-content: space-between;
  gap: 14px;
}

.wp-theme-layout-traditional .wp-traditional-cart-item--preview .wp-traditional-cart-item__result--top {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
}

.wp-theme-layout-traditional .wp-traditional-cart-item--preview .wp-traditional-cart-item__result--top .wp-traditional-cart-item__total {
  min-width: 0;
  justify-items: end;
  text-align: right;
}

.wp-theme-layout-traditional .wp-traditional-cart-item--preview .wp-traditional-cart-item__controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  align-self: end;
}

.wp-theme-layout-traditional .wp-traditional-cart-item--preview .wp-traditional-cart-item__controls .wp-traditional-cart-item__calculation {
  flex: 0 1 auto;
}


/* MPV_CART_PREVIEW_31 — Mutaciones asíncronas y borde del resumen.
   Cantidad/eliminación usan la respuesta canónica del backend sin recargar la
   página. El card lateral adopta el mismo borde corporativo de los productos. */
.wp-theme-layout-traditional .wp-traditional-cart__summary {
  border: 1.5px solid var(--wp-primary);
  box-shadow: 0 12px 28px color-mix(in srgb, var(--wp-primary) 10%, transparent);
}

.wp-theme-layout-traditional .wp-traditional-cart-item--preview.is-updating {
  pointer-events: none;
}

.wp-theme-layout-traditional .wp-traditional-cart-item--preview {
  position: relative;
}


/* MP_HOME_MEDIA_04C2
   Foto pública de la pastelería: imagen real o placeholder cuando el bloque está ON. */
.wp-theme-layout-traditional .wp-home-bakery-photo {
    width: min(100% - 48px, 1160px);
    max-width: 1160px;
    margin: 48px auto 0;
}

.wp-theme-layout-traditional .wp-traditional-bakery-photo__frame {
    width: 100%;
    aspect-ratio: 2 / 1;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--wp-primary) 14%, transparent);
    border-radius: 24px;
    background: var(--wp-surface, #fff);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.045);
}

.wp-theme-layout-traditional .wp-traditional-bakery-photo__frame > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wp-theme-layout-traditional .wp-traditional-bakery-photo__placeholder {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    padding: 28px;
    text-align: center;
    background:
        linear-gradient(
            135deg,
            color-mix(in srgb, var(--wp-primary) 5%, var(--wp-surface, #fff)),
            var(--wp-surface, #fff)
        );
    color: var(--wp-muted);
}

.wp-theme-layout-traditional .wp-traditional-bakery-photo__placeholder strong {
    color: var(--wp-primary);
    font-size: clamp(1.25rem, 2vw, 1.75rem);
}

.wp-theme-layout-traditional .wp-traditional-bakery-photo__placeholder span {
    font-size: 0.95rem;
    font-weight: 600;
}

@media (max-width: 640px) {
    .wp-theme-layout-traditional .wp-home-bakery-photo {
        width: min(100% - 28px, 1160px);
        margin-top: 36px;
    }

    .wp-theme-layout-traditional .wp-traditional-bakery-photo__frame {
        border-radius: 18px;
    }

    .wp-theme-layout-traditional .wp-traditional-bakery-photo__placeholder {
        padding: 20px;
    }
}

/* MP_HOME_MEDIA_05B
   Imagen publicitaria/promocional: banner visual real o placeholder cuando el bloque está ON. */
.wp-theme-layout-traditional .wp-home-promotional-image {
    width: min(100% - 48px, 1160px);
    max-width: 1160px;
    margin: 48px auto 0;
}

.wp-theme-layout-traditional .wp-traditional-promotional-image__frame {
    width: 100%;
    aspect-ratio: 8 / 3;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--wp-primary) 14%, transparent);
    border-radius: 24px;
    background: var(--wp-surface, #fff);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.045);
}

.wp-theme-layout-traditional .wp-traditional-promotional-image__frame > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wp-theme-layout-traditional .wp-traditional-promotional-image__placeholder {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 6px;
    padding: 28px;
    text-align: center;
    background:
        linear-gradient(
            135deg,
            color-mix(in srgb, var(--wp-primary) 5%, var(--wp-surface, #fff)),
            var(--wp-surface, #fff)
        );
    color: var(--wp-muted);
}

.wp-theme-layout-traditional .wp-traditional-promotional-image__placeholder strong {
    color: var(--wp-primary);
    font-size: clamp(1.25rem, 2vw, 1.75rem);
}

.wp-theme-layout-traditional .wp-traditional-promotional-image__placeholder span {
    font-size: 1rem;
    font-weight: 700;
}

.wp-theme-layout-traditional .wp-traditional-promotional-image__placeholder small {
    font-size: 0.9rem;
    font-weight: 600;
}

@media (max-width: 640px) {
    .wp-theme-layout-traditional .wp-home-promotional-image {
        width: min(100% - 28px, 1160px);
        margin-top: 36px;
    }

    .wp-theme-layout-traditional .wp-traditional-promotional-image__frame {
        aspect-ratio: 16 / 7;
        border-radius: 18px;
    }

    .wp-theme-layout-traditional .wp-traditional-promotional-image__placeholder {
        padding: 20px;
    }
}

/* MP_HOME_INSTITUTIONAL_H2A
   Locales, horarios, mapa y contacto.
   Los colores provienen de los tokens del theme; no hay branding por bakery. */

.wp-theme-layout-traditional .wp-home-institutional {
    width: min(100% - 48px, 1160px);
    max-width: 1160px;
    margin: 48px auto 0;
}

.wp-theme-layout-traditional .wp-traditional-locations__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr);
    gap: 28px;
    align-items: stretch;
}

.wp-theme-layout-traditional .wp-traditional-locations__content {
    display: grid;
    gap: 22px;
}

.wp-theme-layout-traditional .wp-traditional-branch-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 16px;
}

.wp-theme-layout-traditional .wp-traditional-branch-card,
.wp-theme-layout-traditional .wp-traditional-hours,
.wp-theme-layout-traditional .wp-traditional-contact-card {
    border: 1px solid color-mix(in srgb, var(--wp-primary) 14%, transparent);
    background: var(--wp-surface, #fff);
    border-radius: 22px;
    padding: 22px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.045);
}

.wp-theme-layout-traditional .wp-traditional-branch-card h3,
.wp-theme-layout-traditional .wp-traditional-hours h3 {
    margin: 0 0 10px;
}

.wp-theme-layout-traditional .wp-traditional-branch-card p {
    margin: 6px 0 0;
    color: var(--wp-muted);
}

.wp-theme-layout-traditional .wp-traditional-branch-card__address {
    color: var(--wp-text) !important;
    font-weight: 700;
}

.wp-theme-layout-traditional .wp-traditional-hours dl {
    margin: 0;
}

.wp-theme-layout-traditional .wp-traditional-hours dl > div {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding: 11px 0;
    border-bottom: 1px solid color-mix(in srgb, var(--wp-primary) 10%, transparent);
}

.wp-theme-layout-traditional .wp-traditional-hours dl > div:last-child {
    border-bottom: 0;
}

.wp-theme-layout-traditional .wp-traditional-hours dt {
    color: var(--wp-muted);
}

.wp-theme-layout-traditional .wp-traditional-hours dd {
    margin: 0;
    color: var(--wp-text);
    font-weight: 700;
    text-align: right;
}

.wp-theme-layout-traditional .wp-traditional-contact__actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 16px;
}

.wp-theme-layout-traditional .wp-traditional-contact-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    text-decoration: none;
    color: var(--wp-text);
    transition: transform 160ms ease, box-shadow 160ms ease;
}

.wp-theme-layout-traditional .wp-traditional-contact-card strong {
    color: var(--wp-primary);
}

.wp-theme-layout-traditional .wp-traditional-contact-card span {
    overflow-wrap: anywhere;
}

.wp-theme-layout-traditional .wp-traditional-contact-card:hover,
.wp-theme-layout-traditional .wp-traditional-contact-card:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.075);
}

@media (max-width: 820px) {
    .wp-theme-layout-traditional .wp-traditional-locations__layout {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 640px) {
    .wp-theme-layout-traditional .wp-home-institutional {
        width: min(100% - 28px, 1160px);
        margin-top: 36px;
    }

    .wp-theme-layout-traditional .wp-traditional-hours dl > div {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }

    .wp-theme-layout-traditional .wp-traditional-hours dd {
        text-align: left;
    }
}

/* MP_HOME_FOOTER_VISUAL_01 */
.wp-page-home.wp-theme-layout-traditional .wp-main {
    padding-bottom: 0;
}

.wp-theme-layout-traditional .wp-traditional-contact {
    width: 100vw;
    max-width: none;
    margin: 48px calc(50% - 50vw) 0;
    padding: 48px max(24px, calc((100vw - 1160px) / 2)) 42px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: var(--wp-traditional-rail-bg);
    color: var(--wp-traditional-rail-text);
}

.wp-theme-layout-traditional .wp-traditional-contact .wp-eyebrow,
.wp-theme-layout-traditional .wp-traditional-contact h2 {
    color: inherit;
}

.wp-page-home.wp-theme-layout-traditional .wp-footer {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 20px max(24px, calc((100vw - 1160px) / 2));
    border: 0;
    border-radius: 0;
    background: var(--wp-traditional-rail-bg);
    color: var(--wp-traditional-rail-text);
}

.wp-page-home.wp-theme-layout-traditional .wp-footer__operator,
.wp-page-home.wp-theme-layout-traditional .wp-footer__operator:hover,
.wp-page-home.wp-theme-layout-traditional .wp-footer__operator:focus-visible {
    color: inherit;
}

@media (max-width: 640px) {
    .wp-theme-layout-traditional .wp-traditional-contact {
        margin-top: 36px;
        padding: 36px 18px 30px;
    }

    .wp-page-home.wp-theme-layout-traditional .wp-footer {
        padding: 18px;
    }
}

/* MP_TRADITIONAL_LOCATION_CARDS_02 */
.wp-theme-layout-traditional .wp-traditional-locations .wp-section-head {
    margin-bottom: 22px;
}

.wp-theme-layout-traditional .wp-traditional-location-list {
    display: grid;
    gap: 30px;
}

.wp-theme-layout-traditional .wp-traditional-location-card {
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--wp-primary) 14%, transparent);
    border-radius: 28px;
    background: var(--wp-surface, #fff);
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.055);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.wp-theme-layout-traditional .wp-traditional-location-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 24px 58px rgba(0, 0, 0, 0.075);
}

.wp-theme-layout-traditional .wp-traditional-location-card__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr);
    gap: 34px;
    align-items: start;
    padding: 30px 32px;
}

.wp-theme-layout-traditional .wp-traditional-location-card .wp-traditional-branch-card,
.wp-theme-layout-traditional .wp-traditional-location-card .wp-traditional-hours {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.wp-theme-layout-traditional .wp-traditional-location-card__label {
    margin: 0 0 8px !important;
    color: var(--wp-primary) !important;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.wp-theme-layout-traditional .wp-traditional-location-card .wp-traditional-branch-card h3 {
    margin: 0 0 12px;
    font-size: 1.28rem;
}

.wp-theme-layout-traditional .wp-traditional-location-card .wp-traditional-hours {
    padding-left: 34px;
    border-left: 1px solid color-mix(in srgb, var(--wp-primary) 14%, transparent);
}

.wp-theme-layout-traditional .wp-traditional-hours__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 4px;
}

.wp-theme-layout-traditional .wp-traditional-hours__head h3 {
    margin: 0;
}

.wp-theme-layout-traditional .wp-traditional-hours__badge {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 4px 10px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--wp-primary) 8%, transparent);
    color: var(--wp-primary);
    font-size: 0.72rem;
    font-weight: 700;
    white-space: nowrap;
}

.wp-theme-layout-traditional .wp-traditional-location-card .wp-traditional-location-map {
    min-height: 0;
    border: 0;
    border-top: 1px solid color-mix(in srgb, var(--wp-primary) 12%, transparent);
    border-radius: 0;
    background: color-mix(in srgb, var(--wp-background) 80%, #fff);
}

.wp-theme-layout-traditional .wp-traditional-location-card .wp-traditional-location-map iframe {
    display: block;
    width: 100%;
    height: 360px;
    min-height: 360px;
    border: 0;
}

.wp-theme-layout-traditional .wp-traditional-location-card .wp-traditional-location-map > a {
    display: block;
    padding: 14px 20px 16px;
    border-top: 1px solid color-mix(in srgb, var(--wp-primary) 10%, transparent);
    background: var(--wp-surface, #fff);
    text-align: center;
    font-weight: 700;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.wp-theme-layout-traditional .wp-traditional-location-card--hours-only .wp-traditional-location-card__top {
    grid-template-columns: minmax(0, 1fr);
}

.wp-theme-layout-traditional .wp-traditional-location-card--hours-only .wp-traditional-hours {
    padding-left: 0;
    border-left: 0;
}

.wp-page-home.wp-theme-layout-traditional .wp-main {
    padding-bottom: 72px;
}

@media (max-width: 820px) {
    .wp-theme-layout-traditional .wp-traditional-location-card__top {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 26px;
    }

    .wp-theme-layout-traditional .wp-traditional-location-card .wp-traditional-hours {
        padding-top: 24px;
        padding-left: 0;
        border-top: 1px solid color-mix(in srgb, var(--wp-primary) 14%, transparent);
        border-left: 0;
    }

    .wp-theme-layout-traditional .wp-traditional-location-card .wp-traditional-location-map iframe {
        height: 300px;
        min-height: 300px;
    }
}

@media (max-width: 640px) {
    .wp-theme-layout-traditional .wp-traditional-location-list {
        gap: 22px;
    }

    .wp-theme-layout-traditional .wp-traditional-location-card {
        border-radius: 22px;
    }

    .wp-theme-layout-traditional .wp-traditional-location-card__top {
        padding: 22px;
    }

    .wp-theme-layout-traditional .wp-traditional-hours__head {
        align-items: flex-start;
        flex-direction: column;
    }

    /*
     * Mobile no instancia Google Maps.
     * Se conserva únicamente el acceso externo.
     */
    .wp-theme-layout-traditional
    .wp-traditional-location-card
    .wp-traditional-location-map
    [data-wp-desktop-map] {
        display: none;
    }

    .wp-theme-layout-traditional
    .wp-traditional-location-card
    .wp-traditional-location-map > a {
        border-top: 0;
        padding: 16px 20px;
    }

    .wp-page-home.wp-theme-layout-traditional .wp-main {
        padding-bottom: 44px;
    }
}

/* MP_TRADITIONAL_HOME_NAV_BUTTON_01 */
.wp-theme-layout-traditional .wp-traditional-home-link {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--wp-traditional-rail-text);
    box-shadow: none;
    text-decoration: none;
}

.wp-theme-layout-traditional .wp-traditional-home-link svg {
    width: 24px;
    height: 24px;
    color: currentColor;
}

.wp-theme-layout-traditional .wp-traditional-home-link:hover,
.wp-theme-layout-traditional .wp-traditional-home-link:focus-visible,
.wp-theme-layout-traditional .wp-traditional-cart-link:hover,
.wp-theme-layout-traditional .wp-traditional-cart-link:focus-visible {
    color: color-mix(in srgb, var(--wp-traditional-rail-text) 78%, #000 22%);
    text-decoration: none;
}

.wp-theme-layout-traditional .wp-traditional-home-link.is-active {
    color: color-mix(in srgb, var(--wp-traditional-rail-text) 82%, #000 18%);
}

@media (max-width: 768px) {
    .wp-theme-layout-traditional .wp-traditional-nav-rail__categories {
        max-width: calc(100% - 118px);
    }
}

/* MP_TRADITIONAL_NAV_ICONS_02 */
.wp-theme-layout-traditional .wp-traditional-home-link,
.wp-theme-layout-traditional .wp-traditional-cart-link,
.wp-theme-layout-traditional .wp-traditional-home-link:hover,
.wp-theme-layout-traditional .wp-traditional-home-link:focus-visible,
.wp-theme-layout-traditional .wp-traditional-home-link.is-active,
.wp-theme-layout-traditional .wp-traditional-cart-link:hover,
.wp-theme-layout-traditional .wp-traditional-cart-link:focus-visible {
    color: #fff !important;
}

.wp-theme-layout-traditional .wp-traditional-home-link svg,
.wp-theme-layout-traditional .wp-traditional-cart-link svg {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
}

.wp-theme-layout-traditional .wp-traditional-home-link svg path {
    stroke: currentColor;
    stroke-width: 2.6;
    fill: none;
    vector-effect: non-scaling-stroke;
}


/* MP_TRADITIONAL_VERTICAL_RHYTHM_01
 *
 * Regla de ritmo vertical de la Home Traditional:
 *
 * - Menú: elemento estructural, sin espacio propio arriba/abajo.
 * - Banner y bloques centrales: separación uniforme.
 * - El bloque siguiente es quien aporta el aire después del menú.
 */
.wp-page-home.wp-theme-layout-traditional {
    --wp-traditional-home-gap: 32px;
}

/*
 * El contenido puede comenzar literalmente en el borde superior.
 * Si el primer elemento es Banner o una sección, ellos mismos
 * aportan su separación.
 */
.wp-theme-layout-traditional .wp-main:has(> .wp-traditional-nav-rail),
.wp-theme-layout-traditional .wp-main:has(> .wp-business-banner) {
    padding-top: 0 !important;
}

/*
 * El menú es la única pieza sin separación vertical propia.
 */
.wp-theme-layout-traditional
.wp-main > .wp-traditional-nav-rail {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/*
 * Banner y todos los módulos centrales comparten el mismo ritmo.
 *
 * Los márgenes verticales entre dos bloques adyacentes colapsan,
 * por lo que el espacio visual resultante sigue siendo un solo gap.
 */
.wp-page-home.wp-theme-layout-traditional
.wp-main > .wp-business-banner,
.wp-page-home.wp-theme-layout-traditional
.wp-main > .wp-section {
    margin-top: var(--wp-traditional-home-gap) !important;
    margin-bottom: var(--wp-traditional-home-gap) !important;
}

/*
 * Locales y horarios deja de tener una separación especial
 * antes del footer. Su separación la controla el ritmo general.
 */
.wp-page-home.wp-theme-layout-traditional
.wp-main > .wp-traditional-locations {
    padding-bottom: 0 !important;
}

@media (max-width: 768px) {
    .wp-page-home.wp-theme-layout-traditional {
        --wp-traditional-home-gap: 24px;
    }
}

/*
 * MP_TRADITIONAL_CART_CONTEXT_DIVIDER_01
 *
 * El divisor contextual pertenece al carrito.
 * Catálogo comienza directamente con su contenido.
 */
.wp-theme-layout-traditional .wp-traditional-cart {
    border-top: 2px solid var(--wp-traditional-rail-bg);
    padding-top: 38px;
}

@media (max-width: 768px) {
    .wp-theme-layout-traditional .wp-traditional-cart {
        padding-top: 28px;
    }
}

/*
 * MP_TRADITIONAL_PRODUCT_ROW_DIVIDERS_AUTO_01
 *
 * Separadores visuales automáticos entre filas.
 *
 * ON:
 *   productCards.accent.style = none
 *
 * OFF:
 *   top, left, corner o full
 *
 * Color:
 *   mismo color de acento configurado para product cards.
 *
 * Breakpoints canónicos de la grilla Traditional:
 *   > 980px     = 4 columnas
 *   761-980px   = 3 columnas
 *   641-760px   = 2 columnas
 *   <= 640px    = 1 columna
 */

.wp-theme-layout-traditional
.wp-traditional-product-row-divider {
    display: none;
    grid-column: 1 / -1;
    width: 100%;
    height: 2px;
    margin: 12px 0;
    border: 0;
    border-radius: 999px;
    background: var(--wp-product-card-accent-effective);
}

/* 4 columnas */
@media (min-width: 981px) {
    .wp-theme-layout-traditional
    .wp-traditional-product-grid--row-dividers
    > .wp-traditional-product-row-divider.is-break-4 {
        display: block;
    }
}

/* 3 columnas */
@media (min-width: 761px) and (max-width: 980px) {
    .wp-theme-layout-traditional
    .wp-traditional-product-grid--row-dividers
    > .wp-traditional-product-row-divider.is-break-3 {
        display: block;
    }
}

/* 2 columnas */
@media (min-width: 641px) and (max-width: 760px) {
    .wp-theme-layout-traditional
    .wp-traditional-product-grid--row-dividers
    > .wp-traditional-product-row-divider.is-break-2 {
        display: block;
    }
}

/* 1 columna */
@media (max-width: 640px) {
    .wp-theme-layout-traditional
    .wp-traditional-product-grid--row-dividers
    > .wp-traditional-product-row-divider.is-break-1 {
        display: block;
    }
}

/*
 * MP_TRADITIONAL_PRODUCT_DIVIDER_POLISH_01
 *
 * Los divisores internos entre filas de productos
 * se mantienen visualmente sutiles.
 */

/*
 * Separadores entre filas: más sutiles.
 */
.wp-theme-layout-traditional
.wp-traditional-product-row-divider {
    height: 1.2px;
}

/*
 * MP_TRADITIONAL_PRODUCT_DIVIDER_COLOR_01
 *
 * Los divisores entre filas de productos utilizan
 * el mismo color principal de los botones (--wp-primary).
 */
.wp-theme-layout-traditional
.wp-traditional-product-grid--row-dividers
> .wp-traditional-product-row-divider {
    height: 1px;
    background: var(--wp-primary);
}

/* MP_SOCIAL_FLOATING_01
 *
 * Canales sociales estructurales de la web.
 * La visibilidad pertenece a Website Config;
 * la identidad real pertenece a Business/PublicProfile.
 */
.wp-theme-layout-traditional .wp-social-floating {
    position: fixed;
    z-index: 900;
    right: 22px;
    bottom: 22px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.wp-theme-layout-traditional .wp-social-floating__button {
    display: inline-flex;
    width: 54px;
    height: 54px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    box-shadow:
        0 10px 28px rgba(0, 0, 0, 0.18),
        0 2px 8px rgba(0, 0, 0, 0.10);
    text-decoration: none;
    transition:
        transform 160ms ease,
        box-shadow 160ms ease;
}

.wp-theme-layout-traditional .wp-social-floating__button:hover {
    transform: translateY(-2px);
    box-shadow:
        0 14px 34px rgba(0, 0, 0, 0.22),
        0 3px 10px rgba(0, 0, 0, 0.12);
}

.wp-theme-layout-traditional
.wp-social-floating__button:focus-visible {
    outline: 3px solid var(--wp-primary);
    outline-offset: 3px;
}

.wp-theme-layout-traditional
.wp-social-floating__button--whatsapp {
    background: #25D366;
    color: #fff;
}

.wp-theme-layout-traditional
.wp-social-floating__button--whatsapp svg {
    width: 30px;
    height: 30px;
    display: block;
}

@media (max-width: 640px) {
    .wp-theme-layout-traditional .wp-social-floating {
        right: 14px;
        bottom: 14px;
        gap: 8px;
    }

    .wp-theme-layout-traditional .wp-social-floating__button {
        width: 50px;
        height: 50px;
    }

    .wp-theme-layout-traditional
    .wp-social-floating__button--whatsapp svg {
        width: 28px;
        height: 28px;
    }

}

/*
 * MP_TRADITIONAL_HOME_TOP_DIVIDER_01
 * MP_TRADITIONAL_HOME_CARD_ACCENT_02
 *
 * Separador estructural automático del Home.
 *
 * cards.accent.style = none
 *   => separador visible.
 *
 * top / left / corner / full
 *   => separador oculto porque los cards ya llevan acento.
 *
 * El separador hereda color e intensidad de Tarjetas generales,
 * pero conserva grosor fijo para no transformarse en una franja.
 */
.wp-theme-layout-traditional
.wp-traditional-home-top-divider {
    display: none;
    width: min(
        100% - 48px,
        var(--wp-traditional-max-width)
    );
    height: 2px;
    margin: 0 auto;
    background: var(--wp-card-accent-effective);
}

body.wp-theme-layout-traditional[data-card-accent="none"]
.wp-traditional-home-top-divider {
    display: block;
}

@media (max-width: 640px) {
    .wp-theme-layout-traditional
    .wp-traditional-home-top-divider {
        width: calc(100% - 28px);
    }
}


/*
 * MP_TRADITIONAL_TRANSACTION_MODE_V1
 *
 * Una sola barra Traditional.
 *
 * Desktop carrito/checkout:
 *   Inicio + nombre | Checkout/Pedido
 *
 * Mobile carrito/checkout:
 *   hamburguesa | nombre | carrito + badge
 *
 * No existe un segundo header transaccional.
 */
.wp-theme-layout-traditional
.wp-traditional-nav-rail--transaction
.wp-traditional-nav-rail__inner {
    width: min(
        calc(100% - 80px),
        calc(var(--wp-traditional-max-width) - 32px)
    );
    min-height: 68px;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
}

.wp-theme-layout-traditional
.wp-traditional-nav-rail--transaction
.wp-traditional-sticky-brand {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    gap: 10px;

    width: auto;
    max-width: 100%;

    color: var(--wp-traditional-rail-text);
    font-size: 18px;
    font-weight: 800;
    line-height: 1.1;
    text-align: left;

    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: auto;
}

.wp-theme-layout-traditional
.wp-traditional-nav-rail--transaction
.wp-traditional-nav-rail__center {
    display: none;
}

.wp-theme-layout-traditional
.wp-traditional-transaction-home-icon {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
}

.wp-theme-layout-traditional
.wp-traditional-nav-rail--transaction
.wp-traditional-cart-link {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
}

.wp-theme-layout-traditional
.wp-traditional-nav-rail--transaction
.wp-traditional-cart-link svg {
    width: 24px;
    height: 24px;
}

.wp-theme-layout-traditional
.wp-traditional-transaction-context-label {
    color: currentColor;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: .01em;
}

@media (min-width: 769px) {
    .wp-theme-layout-traditional
    .wp-traditional-nav-rail--transaction
    .wp-cart-badge {
        display: none !important;
    }
}

@media (max-width: 768px) {
    .wp-theme-layout-traditional
    .wp-traditional-nav-rail--transaction
    .wp-traditional-nav-rail__inner {
        width: 100%;
        min-height: 58px;
        padding: 7px 14px;
        grid-template-columns: 44px minmax(0, 1fr) 44px;
        gap: 8px;
    }

    .wp-theme-layout-traditional
    .wp-traditional-nav-rail--transaction
    .wp-traditional-sticky-brand {
        justify-self: center;
        width: 100%;
        max-width: 100%;
        padding: 0 4px;

        font-size: clamp(15px, 4.6vw, 19px);
        line-height: 1.1;
        text-align: center;
    }

    .wp-theme-layout-traditional
    .wp-traditional-nav-rail--transaction
    .wp-traditional-cart-link {
        justify-self: end;
    }

    .wp-theme-layout-traditional
    .wp-traditional-transaction-home-icon,

    .wp-theme-layout-traditional
    .wp-traditional-transaction-context-label {
        display: none;
    }
}


/*
 * MP_TRADITIONAL_CARD_ACCENT_CONTROLS_01
 *
 * Cards generales:
 * color + intensidad + grosor independientes.
 */
body.wp-theme-layout-traditional {
    --wp-card-accent-effective:
        color-mix(
            in srgb,
            var(--wp-card-accent-color)
                var(--wp-card-accent-intensity),
            transparent
        );
}

/*
 * MP_TRADITIONAL_LARGE_CARD_ACCENT_01
 *
 * PRESETS CANONICOS DE CARDS GRANDES
 *
 * top:
 *   2px superior.
 *
 * left:
 *   5px lateral izquierdo.
 *
 * corner:
 *   5px lateral + 2px superior.
 *
 * full:
 *   marco completo 2px.
 *
 * none:
 *   borde estructural neutro.
 *
 * Alcance cerrado:
 *   - Sobre la pastelería.
 *   - Card grande de Locales y horarios.
 *   - Card principal del carrito.
 *   - Pasos grandes del Checkout.
 *
 * No afecta productos ni componentes internos.
 *
 * Color:
 *   --wp-card-accent-color
 *   Hereda --wp-primary si no existe override.
 */


/* ----------------------------------------------------------
 * BASE NEUTRA
 * ---------------------------------------------------------- */

body[data-card-accent]
.wp-traditional-about,

body[data-card-accent]
.wp-traditional-location-card,

body[data-card-accent]
.wp-traditional-cart,

body[data-card-accent]
.wp-traditional-checkout
.wp-checkout-step {
    border-style: solid;
    border-width: 1px;
    border-color: var(--wp-border);
}


/* ----------------------------------------------------------
 * SUPERIOR — fino / elegante
 * ---------------------------------------------------------- */

body[data-card-accent="top"]
.wp-traditional-about,

body[data-card-accent="top"]
.wp-traditional-location-card,

body[data-card-accent="top"]
.wp-traditional-cart,

body[data-card-accent="top"]
.wp-traditional-checkout
.wp-checkout-step {
    border-top-width: var(--wp-card-accent-thin-width);
    border-top-color: var(--wp-card-accent-effective);
}


/* ----------------------------------------------------------
 * LATERAL — marcado
 * ---------------------------------------------------------- */

body[data-card-accent="left"]
.wp-traditional-about,

body[data-card-accent="left"]
.wp-traditional-location-card,

body[data-card-accent="left"]
.wp-traditional-cart,

body[data-card-accent="left"]
.wp-traditional-checkout
.wp-checkout-step {
    border-left-width: var(--wp-card-accent-thick-width);
    border-left-color: var(--wp-card-accent-effective);
}


/* ----------------------------------------------------------
 * ESQUINA — editorial / recomendado
 * ---------------------------------------------------------- */

body[data-card-accent="corner"]
.wp-traditional-about,

body[data-card-accent="corner"]
.wp-traditional-location-card,

body[data-card-accent="corner"]
.wp-traditional-cart,

body[data-card-accent="corner"]
.wp-traditional-checkout
.wp-checkout-step {
    border-top-width: var(--wp-card-accent-thin-width);
    border-top-color: var(--wp-card-accent-effective);
    border-left-width: var(--wp-card-accent-thick-width);
    border-left-color: var(--wp-card-accent-effective);
}


/* ----------------------------------------------------------
 * MARCO — fuerte
 * ---------------------------------------------------------- */

body[data-card-accent="full"]
.wp-traditional-about,

body[data-card-accent="full"]
.wp-traditional-location-card,

body[data-card-accent="full"]
.wp-traditional-cart,

body[data-card-accent="full"]
.wp-traditional-checkout
.wp-checkout-step {
    border-width: var(--wp-card-accent-thin-width);
    border-left-width: var(--wp-card-accent-thick-width);
    border-color: var(--wp-card-accent-effective);
}


/* ----------------------------------------------------------
 * SIN ACENTO
 * ---------------------------------------------------------- */

body[data-card-accent="none"]
.wp-traditional-about,

body[data-card-accent="none"]
.wp-traditional-location-card,

body[data-card-accent="none"]
.wp-traditional-cart,

body[data-card-accent="none"]
.wp-traditional-checkout
.wp-checkout-step {
    border-width: 1px;
    border-color: var(--wp-border);
}

/*
 * MP_TRADITIONAL_PRODUCT_CARD_ACCENT_INTENSITY_01
 *
 * 100% = color sólido.
 * 0%   = completamente transparente.
 *
 * Solo afecta acentos de Product Cards y sus divisores.
 */
body.wp-theme-layout-traditional {
    --wp-product-card-accent-effective:
        color-mix(
            in srgb,
            var(--wp-product-card-accent-color)
                var(--wp-product-card-accent-intensity),
            transparent
        );
}

/*
 * MP_TRADITIONAL_PRODUCT_CARD_ACCENT_01
 *
 * Acento independiente de PRODUCT CARDS.
 *
 * top    = 2px superior
 * left   = 5px lateral
 * corner = 5px lateral + 2px superior
 * full   = marco 2px
 * none   = borde neutro
 *
 * No comparte estado con data-card-accent.
 *
 * Color:
 *   --wp-product-card-accent-color.
 *   Hereda --wp-primary si no existe override.
 */

body.wp-theme-layout-traditional[data-product-card-accent]
.wp-traditional-product-card {
    border-style: solid;
    border-width: 1px;
    border-color: var(--wp-border);
}

/* Superior */
body.wp-theme-layout-traditional[data-product-card-accent="top"]
.wp-traditional-product-card {
    border-top-width: var(--wp-product-card-accent-thin-width);
    border-top-color: var(--wp-product-card-accent-effective);
}

/* Lateral */
body.wp-theme-layout-traditional[data-product-card-accent="left"]
.wp-traditional-product-card {
    border-left-width: var(--wp-product-card-accent-thick-width);
    border-left-color: var(--wp-product-card-accent-effective);
}

/* Esquina */
body.wp-theme-layout-traditional[data-product-card-accent="corner"]
.wp-traditional-product-card {
    border-top-width: var(--wp-product-card-accent-thin-width);
    border-top-color: var(--wp-product-card-accent-effective);
    border-left-width: var(--wp-product-card-accent-thick-width);
    border-left-color: var(--wp-product-card-accent-effective);
}

/* Marco */
body.wp-theme-layout-traditional[data-product-card-accent="full"]
.wp-traditional-product-card {
    border-width: var(--wp-product-card-accent-thin-width);
    border-left-width: var(--wp-product-card-accent-thick-width);
    border-color: var(--wp-product-card-accent-effective);
}

/* Sin acento */
body.wp-theme-layout-traditional[data-product-card-accent="none"]
.wp-traditional-product-card {
    border-width: 1px;
    border-color: var(--wp-border);
}

/*
 * El hover mantiene el preset elegido.
 * No permitimos que la regla histórica border-color del hover
 * reemplace el color corporativo del acento.
 */
body.wp-theme-layout-traditional[data-product-card-accent="top"]
.wp-traditional-product-card:hover {
    border-top-color: var(--wp-product-card-accent-effective);
}

body.wp-theme-layout-traditional[data-product-card-accent="left"]
.wp-traditional-product-card:hover {
    border-left-color: var(--wp-product-card-accent-effective);
}

body.wp-theme-layout-traditional[data-product-card-accent="corner"]
.wp-traditional-product-card:hover {
    border-top-color: var(--wp-product-card-accent-effective);
    border-left-color: var(--wp-product-card-accent-effective);
}

body.wp-theme-layout-traditional[data-product-card-accent="full"]
.wp-traditional-product-card:hover {
    border-color: var(--wp-product-card-accent-effective);
}

body.wp-theme-layout-traditional[data-product-card-accent="none"]
.wp-traditional-product-card:hover {
    border-color: var(--wp-border-strong);
}

/*
 * MP_TRADITIONAL_HOME_BAKERY_PHOTO_ACCENT_01
 *
 * La foto institucional de la pastelería participa del mismo
 * contrato visual que las Tarjetas generales:
 *
 * - mismo preset;
 * - mismo color;
 * - misma intensidad;
 * - mismo multiplicador de grosor.
 *
 * No afecta banner, imagen publicitaria ni mapa.
 */

/* Base neutra */
body.wp-theme-layout-traditional[data-card-accent]
.wp-traditional-bakery-photo__frame {
    border-style: solid;
    border-width: 1px;
    border-color: var(--wp-border);
}

/* Superior */
body.wp-theme-layout-traditional[data-card-accent="top"]
.wp-traditional-bakery-photo__frame {
    border-top-width: var(--wp-card-accent-thin-width);
    border-top-color: var(--wp-card-accent-effective);
}

/* Lateral */
body.wp-theme-layout-traditional[data-card-accent="left"]
.wp-traditional-bakery-photo__frame {
    border-left-width: var(--wp-card-accent-thick-width);
    border-left-color: var(--wp-card-accent-effective);
}

/* Esquina */
body.wp-theme-layout-traditional[data-card-accent="corner"]
.wp-traditional-bakery-photo__frame {
    border-top-width: var(--wp-card-accent-thin-width);
    border-top-color: var(--wp-card-accent-effective);
    border-left-width: var(--wp-card-accent-thick-width);
    border-left-color: var(--wp-card-accent-effective);
}

/* Marco: lateral izquierdo siempre reforzado */
body.wp-theme-layout-traditional[data-card-accent="full"]
.wp-traditional-bakery-photo__frame {
    border-width: var(--wp-card-accent-thin-width);
    border-left-width: var(--wp-card-accent-thick-width);
    border-color: var(--wp-card-accent-effective);
}

/* Sin acento */
body.wp-theme-layout-traditional[data-card-accent="none"]
.wp-traditional-bakery-photo__frame {
    border-width: 1px;
    border-color: var(--wp-border);
}

/*
 * MP_TRADITIONAL_SHARED_FOOTER_01
 *
 * Footer estructural único del theme Traditional.
 *
 * Todas las páginas usan el mismo partial SSR:
 * redes sociales centradas + legal.
 *
 * Mi Web controla únicamente la presentación
 * y visibilidad de los canales sociales.
 */

.wp-theme-layout-traditional
.wp-site-footer--traditional {
    width: 100%;
    margin: 0;
    border: 0;
    background: var(
        --wp-footer-bg,
        var(--wp-traditional-rail-bg)
    );
    color: var(
        --wp-footer-text,
        var(--wp-traditional-rail-text)
    );
}

.wp-theme-layout-traditional
.wp-site-footer--traditional
.wp-site-footer__inner {
    width: min(
        calc(100% - 48px),
        var(--wp-traditional-max-width)
    );
    max-width: var(--wp-traditional-max-width);
    margin: 0 auto;
    padding: 38px 0 22px;
}

.wp-theme-layout-traditional
.wp-site-footer--traditional
.wp-site-footer__social {
    margin: 0;
    padding: 10px 0 8px;
}

.wp-theme-layout-traditional
.wp-site-footer--traditional
.wp-site-footer__social-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

.wp-theme-layout-traditional
.wp-site-footer--traditional
.wp-site-footer__social-link {
    transition:
        transform 160ms ease,
        background 160ms ease,
        border-color 160ms ease;
}

.wp-theme-layout-traditional
.wp-site-footer--traditional
.wp-site-footer__social-link:hover,
.wp-theme-layout-traditional
.wp-site-footer--traditional
.wp-site-footer__social-link:focus-visible {
    transform: translateY(-2px);
    border-color: currentColor;
    background: color-mix(
        in srgb,
        currentColor 10%,
        transparent
    );
    color: inherit;
}

.wp-theme-layout-traditional
.wp-site-footer--traditional
.wp-site-footer__social-links--icons
.wp-site-footer__social-link {
    display: inline-flex;
    width: 82px;
    height: 82px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid
        color-mix(
            in srgb,
            currentColor 52%,
            transparent
        );
    border-radius: 50%;
    color: inherit;
    text-decoration: none;
}

.wp-theme-layout-traditional
.wp-site-footer--traditional
.wp-site-footer__social-links--icons
.wp-site-footer__social-icon {
    display: inline-flex;
    width: 42px;
    height: 42px;
}

.wp-theme-layout-traditional
.wp-site-footer--traditional
.wp-site-footer__social-links--icons
.wp-site-footer__social-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.wp-theme-layout-traditional
.wp-site-footer--traditional
.wp-site-footer__social-links--text
.wp-site-footer__social-link {
    display: inline-flex;
    min-height: 60px;
    align-items: center;
    justify-content: center;
    padding: 10px 27px;
    border: 1px solid
        color-mix(
            in srgb,
            currentColor 46%,
            transparent
        );
    border-radius: 999px;
    color: inherit;
    font-size: 1.16rem;
    font-weight: 800;
    text-decoration: none;
}

.wp-theme-layout-traditional
.wp-site-footer--traditional
.wp-site-footer__social-links--both
.wp-site-footer__social-link {
    display: inline-flex;
    min-height: 60px;
    align-items: center;
    justify-content: center;
    gap: 11px;
    padding: 10px 23px;
    border: 1px solid
        color-mix(
            in srgb,
            currentColor 46%,
            transparent
        );
    border-radius: 999px;
    color: inherit;
    font-size: 1.08rem;
    font-weight: 800;
    text-decoration: none;
}

.wp-theme-layout-traditional
.wp-site-footer--traditional
.wp-site-footer__social-links--both
.wp-site-footer__social-icon {
    display: inline-flex;
    width: 32px;
    height: 32px;
}

.wp-theme-layout-traditional
.wp-site-footer--traditional
.wp-site-footer__social-links--both
.wp-site-footer__social-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.wp-theme-layout-traditional
.wp-site-footer--traditional
.wp-site-footer__legal {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 30px;
    padding-top: 18px;
    border-top: 1px solid
        color-mix(
            in srgb,
            currentColor 20%,
            transparent
        );
    color: inherit;
    font-size: .76rem;
}

.wp-theme-layout-traditional
.wp-site-footer--traditional
.wp-site-footer__legal a {
    color: inherit;
    text-underline-offset: 3px;
}

@media (max-width: 760px) {
    .wp-theme-layout-traditional
    .wp-site-footer--traditional
    .wp-site-footer__inner {
        width: calc(100% - 28px);
        padding-top: 30px;
    }

    .wp-theme-layout-traditional
    .wp-site-footer--traditional
    .wp-site-footer__social-links {
        gap: 12px;
    }

    .wp-theme-layout-traditional
    .wp-site-footer--traditional
    .wp-site-footer__legal {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }
}

/*
 * MP_INSTAGRAM_HOME_V1_01
 *
 * Módulo Instagram del Home Traditional.
 * CTA simple V1, sin feed ni dependencia de Meta API.
 */

.wp-theme-layout-traditional
.wp-home-instagram {
    width: min(
        calc(100% - 48px),
        var(--wp-traditional-max-width)
    );
    margin: 34px auto;
}

.wp-theme-layout-traditional
.wp-home-instagram__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    min-height: 150px;
    padding: 28px 32px;
    border: 1px solid
        color-mix(
            in srgb,
            var(--wp-primary) 26%,
            var(--wp-border)
        );
    border-radius: 18px;
    background: color-mix(
        in srgb,
        var(--wp-primary) 5%,
        #fff
    );
    text-align: left;
}

.wp-theme-layout-traditional
.wp-home-instagram__icon {
    display: inline-flex;
    width: 72px;
    height: 72px;
    flex: 0 0 72px;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    background: var(--wp-primary);
    color: #fff;
    text-decoration: none;
    transition:
        transform 160ms ease,
        opacity 160ms ease;
}

.wp-theme-layout-traditional
.wp-home-instagram__icon:hover,
.wp-theme-layout-traditional
.wp-home-instagram__icon:focus-visible {
    transform: translateY(-2px);
    opacity: .92;
}

.wp-theme-layout-traditional
.wp-home-instagram__icon svg {
    width: 40px;
    height: 40px;
}

.wp-theme-layout-traditional
.wp-home-instagram__content {
    display: grid;
    justify-items: start;
    gap: 5px;
}

.wp-theme-layout-traditional
.wp-home-instagram__eyebrow {
    margin: 0;
    color: var(--wp-text-muted);
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.wp-theme-layout-traditional
.wp-home-instagram__title {
    margin: 0;
    color: var(--wp-text);
    font-size: clamp(1.35rem, 2.3vw, 1.8rem);
    line-height: 1.15;
}

.wp-theme-layout-traditional
.wp-home-instagram__cta {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    margin-top: 8px;
    padding: 7px 16px;
    border-radius: 999px;
    background: var(--wp-primary);
    color: #fff;
    font-size: .86rem;
    font-weight: 800;
    text-decoration: none;
    transition:
        transform 160ms ease,
        opacity 160ms ease;
}

.wp-theme-layout-traditional
.wp-home-instagram__cta:hover,
.wp-theme-layout-traditional
.wp-home-instagram__cta:focus-visible {
    transform: translateY(-1px);
    opacity: .92;
    color: #fff;
}

@media (max-width: 640px) {
    .wp-theme-layout-traditional
    .wp-home-instagram {
        width: calc(100% - 28px);
        margin-top: 26px;
        margin-bottom: 26px;
    }

    .wp-theme-layout-traditional
    .wp-home-instagram__inner {
        flex-direction: column;
        gap: 14px;
        padding: 24px 20px;
        text-align: center;
    }

    .wp-theme-layout-traditional
    .wp-home-instagram__icon {
        width: 64px;
        height: 64px;
        flex-basis: 64px;
        border-radius: 18px;
    }

    .wp-theme-layout-traditional
    .wp-home-instagram__icon svg {
        width: 35px;
        height: 35px;
    }

    .wp-theme-layout-traditional
    .wp-home-instagram__content {
        justify-items: center;
    }
}

/*
 * MP_INSTAGRAM_HOME_V1_02
 *
 * Composición desktop:
 * icono | identidad Instagram | CTA.
 *
 * Los tres elementos usan la altura visual
 * de 72px para formar una sola línea equilibrada.
 */

.wp-theme-layout-traditional
.wp-home-instagram__inner {
    display: grid;
    grid-template-columns:
        72px
        minmax(0, 1fr)
        auto;
    gap: 24px;
    align-items: center;
    justify-content: stretch;
}

.wp-theme-layout-traditional
.wp-home-instagram__content {
    display: flex;
    min-width: 0;
    min-height: 72px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 4px;
}

.wp-theme-layout-traditional
.wp-home-instagram__eyebrow {
    font-size: .82rem;
}

.wp-theme-layout-traditional
.wp-home-instagram__title {
    font-size: clamp(
        1.45rem,
        2.4vw,
        1.9rem
    );
}

.wp-theme-layout-traditional
.wp-home-instagram__cta {
    min-width: 172px;
    height: 72px;
    min-height: 72px;
    margin: 0;
    padding: 0 24px;
    border-radius: 18px;
    font-size: .95rem;
    white-space: nowrap;
}

@media (max-width: 640px) {
    .wp-theme-layout-traditional
    .wp-home-instagram__inner {
        display: flex;
        flex-direction: column;
        gap: 14px;
    }

    .wp-theme-layout-traditional
    .wp-home-instagram__content {
        min-height: auto;
        align-items: center;
    }

    .wp-theme-layout-traditional
    .wp-home-instagram__cta {
        width: 100%;
        max-width: 240px;
        height: 52px;
        min-height: 52px;
        border-radius: 999px;
    }
}

/*
 * MP_CATALOG_PROGRESSIVE_LOADING_01
 *
 * Control auxiliar de carga progresiva.
 * Normalmente funciona como sentinel invisible.
 * El botón aparece solamente como fallback.
 */

.wp-theme-layout-traditional
[data-wp-catalog-progressive] {
    display: flex;
    min-height: 1px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 12px;
    padding-top: 18px;
    text-align: center;
}

.wp-theme-layout-traditional
[data-wp-catalog-progressive-status] {
    color: var(--wp-muted);
    font-size: .88rem;
}

.wp-theme-layout-traditional
[data-wp-catalog-progressive-status]:empty {
    display: none;
}

.wp-theme-layout-traditional
[data-wp-catalog-progressive-more] {
    min-width: 190px;
}

.wp-theme-layout-traditional
[data-wp-catalog-progressive-more][hidden] {
    display: none;
}


/* MP_TRADITIONAL_STICKY_NAV_RAIL_01 */

/*
 * La navegación estructural del theme Traditional permanece
 * accesible durante el scroll.
 *
 * Si existe un banner antes del menú, el banner desplaza
 * normalmente y la barra se fija recién al alcanzar el viewport.
 *
 * Si el menú está primero, permanece fijado desde el inicio.
 */
.wp-theme-layout-traditional .wp-traditional-nav-rail {
    position: sticky;
    top: 0;
    z-index: 1000;
}


/* MP_TRADITIONAL_STICKY_BRAND_01 */

/*
 * La barra se divide estructuralmente en:
 *
 * izquierda  = identidad de la pastelería
 * centro     = Home + categorías
 * derecha    = carrito
 *
 * El espacio izquierdo existe aunque el nombre esté oculto,
 * evitando que el menú central se desplace al aparecer la marca.
 */
.wp-theme-layout-traditional .wp-traditional-nav-rail__inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 20px;
}

.wp-theme-layout-traditional .wp-traditional-nav-rail__center {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.wp-theme-layout-traditional .wp-traditional-sticky-brand {
    justify-self: start;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    color: var(--wp-traditional-rail-text);
    font-size: 18px;
    line-height: 1.1;
    font-weight: 800;
    text-decoration: none;

    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    pointer-events: none;

    transition:
        opacity .18s ease,
        transform .18s ease,
        visibility .18s ease;
}

.wp-theme-layout-traditional
.wp-traditional-sticky-brand.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.wp-theme-layout-traditional
.wp-traditional-sticky-brand:hover,
.wp-theme-layout-traditional
.wp-traditional-sticky-brand:focus-visible {
    color: var(--wp-traditional-rail-text);
    text-decoration: none;
}

/*
 * MP_TRADITIONAL_MOBILE_IDENTITY_V1
 *
 * Un mismo header y una sola navegación.
 *
 * Desktop:
 *   nombre | navegación | carrito
 *
 * Mobile:
 *   hamburguesa | nombre textual | carrito
 *   navegación canónica desplegable bajo la barra.
 */

.wp-theme-layout-traditional
.wp-traditional-mobile-menu-toggle {
    display: none;
}

.wp-theme-layout-traditional
.wp-traditional-home-link__label {
    display: none;
}

.wp-theme-layout-traditional
.wp-traditional-cart-link {
    justify-self: end;
}

@media (max-width: 768px) {
    .wp-theme-layout-traditional
    .wp-traditional-nav-rail__inner {
        min-height: 58px;
        padding: 7px 14px;
        grid-template-columns: 44px minmax(0, 1fr) 44px;
        gap: 8px;
    }

    .wp-theme-layout-traditional
    .wp-traditional-mobile-menu-toggle {
        display: inline-flex;
        width: 44px;
        height: 44px;
        padding: 0;
        align-items: center;
        justify-content: center;
        justify-self: start;

        border: 0;
        border-radius: 8px;
        background: transparent;
        color: var(--wp-traditional-rail-text);
        cursor: pointer;
    }

    .wp-theme-layout-traditional
    .wp-traditional-mobile-menu-toggle:hover,
    .wp-theme-layout-traditional
    .wp-traditional-mobile-menu-toggle:focus-visible {
        background:
            color-mix(
                in srgb,
                var(--wp-traditional-rail-text) 12%,
                transparent
            );
    }

    .wp-theme-layout-traditional
    .wp-traditional-mobile-menu-toggle svg {
        width: 25px;
        height: 25px;
    }

    .wp-theme-layout-traditional
    .wp-traditional-sticky-brand {
        justify-self: center;
        width: 100%;
        max-width: 100%;
        padding: 0 4px;

        color: var(--wp-traditional-rail-text);
        font-size: clamp(15px, 4.6vw, 19px);
        line-height: 1.1;
        font-weight: 800;
        text-align: center;

        opacity: 1;
        visibility: visible;
        transform: none;
        pointer-events: auto;
    }

    .wp-theme-layout-traditional
    .wp-traditional-cart-link {
        justify-self: end;
        min-width: 44px !important;
        min-height: 44px !important;
    }

    .wp-theme-layout-traditional
    .wp-traditional-cart-link svg {
        width: 27px !important;
        height: 27px !important;
    }

    .wp-theme-layout-traditional
    .wp-traditional-nav-rail__center {
        position: absolute;
        z-index: 1001;
        top: 100%;
        left: 0;
        right: 0;

        display: none;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;

        max-height: calc(100vh - 70px);
        overflow-y: auto;
        padding: 8px 14px 14px;

        background: var(--wp-traditional-rail-bg);
        border-radius: 0 0 14px 14px;
        box-shadow: 0 16px 30px rgba(0, 0, 0, .14);
    }

    .wp-theme-layout-traditional
    .wp-traditional-nav-rail__center.is-open {
        display: flex;
    }

    .wp-theme-layout-traditional
    .wp-traditional-home-link {
        width: 100%;
        min-height: 46px;
        padding: 0 10px;

        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 12px;

        color: var(--wp-traditional-rail-text);
        text-decoration: none;
    }

    .wp-theme-layout-traditional
    .wp-traditional-home-link svg {
        width: 22px;
        height: 22px;
        flex: 0 0 auto;
    }

    .wp-theme-layout-traditional
    .wp-traditional-home-link__label {
        display: inline;
        font-weight: 800;
    }

    .wp-theme-layout-traditional
    .wp-traditional-nav-rail__categories {
        width: 100%;
        max-width: none;

        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;

        overflow: visible;
        padding: 0;
    }

    .wp-theme-layout-traditional
    .wp-traditional-nav-rail__link,
    .wp-theme-layout-traditional
    .wp-traditional-nav-rail__categories a {
        width: 100%;
        min-height: 46px;
        padding: 0 10px !important;

        display: flex;
        align-items: center;

        font-size: 16px !important;
        line-height: 1.25;
        white-space: normal;
    }

    .wp-theme-layout-traditional
    .wp-traditional-nav-rail__link.is-active {
        text-decoration: none;
        background:
            color-mix(
                in srgb,
                var(--wp-traditional-rail-text) 12%,
                transparent
            );
        border-radius: 8px;
    }
}


/*
 * MP_TRADITIONAL_INTERIOR_BANNER_RHYTHM_01
 *
 * En desktop el banner interior entrega inmediatamente
 * el contexto a la superficie funcional siguiente.
 *
 * El espacio lo controla dicha superficie; el banner
 * no agrega un segundo gap inferior.
 */
@media (min-width: 641px) {
    .wp-theme-layout-traditional
    .wp-traditional-banner--interior {
        margin-bottom: 0;
    }
}

/*
 * MP_TRADITIONAL_MOBILE_GRAPHIC_SURFACE_V1
 *
 * Home:
 *   muestra únicamente identidad mobile cuando existe
 *   media.logo canónica.
 *
 * Interiores:
 *   el nombre textual del header es identidad suficiente.
 *
 * Transaction:
 *   carrito / checkout tampoco repiten banner en mobile.
 */
.wp-theme-layout-traditional
.wp-traditional-mobile-home-identity {
    display: none;
}

@media (max-width: 640px) {
    .wp-theme-layout-traditional
    .wp-traditional-banner--interior,

    .wp-theme-layout-traditional
    .wp-traditional-transaction-banner,

    .wp-theme-layout-traditional
    .wp-traditional-banner--home {
        display: none;
    }

    .wp-theme-layout-traditional
    .wp-traditional-mobile-home-identity {
        display: block;
    }
}


/*
 * MP_THEME_MEDIA_RADIUS_01
 *
 * Identidad visual de Traditional.
 * Las imágenes principales usan una geometría claramente
 * redondeada y consistente.
 */
.wp-theme-layout-traditional {
    --wp-theme-media-radius: 20px;
}

.wp-theme-layout-traditional .wp-business-banner,
.wp-theme-layout-traditional .wp-banner,
.wp-theme-layout-traditional .wp-hero-banner,
.wp-theme-layout-traditional .wp-traditional-banner {
    border-radius: var(--wp-theme-media-radius);
}

.wp-theme-layout-traditional .wp-business-banner img,
.wp-theme-layout-traditional .wp-banner img,
.wp-theme-layout-traditional .wp-hero-banner img,
.wp-theme-layout-traditional .wp-traditional-banner img {
    border-radius: inherit;
}

/*
 * MP_TRADITIONAL_CART_MOBILE_V1
 *
 * Carrito mobile:
 *
 *   1. Header transaccional en una sola fila.
 *   2. El wrapper general deja de ser una mega-card.
 *   3. El título constituye su propia card.
 *   4. Cada producto es autocontenido.
 *   5. Total y controles nunca salen del card.
 *
 * La lógica de carrito y sus hooks JS permanecen intactos.
 */
@media (max-width: 700px) {
    .wp-page-cart.wp-theme-layout-traditional
    .wp-traditional-cart {
        width: min(
            100% - 28px,
            var(--wp-traditional-max-width)
        );

        margin: 20px auto 54px;
        padding: 0;

        border: 0;
        border-radius: 0;

        background: transparent;
        box-shadow: none;
    }


    /*
     * Card de introducción.
     */
    .wp-page-cart.wp-theme-layout-traditional
    .wp-traditional-cart__head {
        display: grid;
        gap: 14px;

        margin: 0 0 18px;
        padding: 12px 20px 18px;

        border: 1.5px solid var(--wp-primary);
        border-radius: 18px;

        background: var(--wp-surface);
        box-shadow:
            0 10px 24px
            color-mix(
                in srgb,
                var(--wp-primary) 8%,
                transparent
            );
    }

    /*
     * Ajuste visual aprobado:
     * la card conserva posición y dimensiones;
     * solo su contenido interior sube 14px.
     */
    .wp-page-cart.wp-theme-layout-traditional
    .wp-traditional-cart__head > * {
        transform: translateY(-14px);
    }

    .wp-page-cart.wp-theme-layout-traditional
    .wp-traditional-cart__head h1 {
        margin: 4px 0 8px;

        font-size: 28px;
        line-height: 1.05;
    }

    .wp-page-cart.wp-theme-layout-traditional
    .wp-traditional-cart__head p:last-child {
        margin: 0;
    }

    .wp-page-cart.wp-theme-layout-traditional
    .wp-traditional-cart__head .wp-button {
        width: 100%;
        min-height: 46px;
        border-radius: 8px;
    }


    /*
     * Contenido.
     */
    .wp-page-cart.wp-theme-layout-traditional
    .wp-traditional-cart__layout {
        gap: 18px;
    }

    .wp-page-cart.wp-theme-layout-traditional
    .wp-traditional-cart__items {
        gap: 14px;
    }


    /*
     * Product card.
     */
    .wp-page-cart.wp-theme-layout-traditional
    .wp-traditional-cart-item--preview {
        width: 100%;
        min-width: 0;

        grid-template-columns: minmax(0, 1fr);
        gap: 16px;

        padding: 16px;

        overflow: hidden;

        border-radius: 18px;
        box-sizing: border-box;
    }

    .wp-page-cart.wp-theme-layout-traditional
    .wp-traditional-cart-item--preview
    .wp-cart-item__body {
        min-width: 0;
    }

    .wp-page-cart.wp-theme-layout-traditional
    .wp-traditional-cart-item--preview
    .wp-traditional-cart-item__name {
        margin-bottom: 14px;

        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }

    .wp-page-cart.wp-theme-layout-traditional
    .wp-traditional-cart-item--preview
    .wp-traditional-cart-item__meta {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    .wp-page-cart.wp-theme-layout-traditional
    .wp-traditional-cart-item--preview
    .wp-traditional-cart-item__meta span {
        min-width: 0;
    }


    /*
     * Acciones: total arriba; cantidad, precio unitario
     * y eliminar en una fila autocontenida.
     */
    .wp-page-cart.wp-theme-layout-traditional
    .wp-traditional-cart-item--preview
    .wp-traditional-cart-item__actions {
        width: 100%;
        min-width: 0;

        display: grid;
        grid-template-rows: auto auto;

        align-self: auto;
        gap: 14px;
    }

    .wp-page-cart.wp-theme-layout-traditional
    .wp-traditional-cart-item--preview
    .wp-traditional-cart-item__result--top {
        width: 100%;
        min-width: 0;

        display: block;
    }

    .wp-page-cart.wp-theme-layout-traditional
    .wp-traditional-cart-item--preview
    .wp-traditional-cart-item__result--top
    .wp-traditional-cart-item__total {
        width: 100%;
        min-width: 0;

        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 16px;

        margin: 0;

        text-align: left;
    }

    .wp-page-cart.wp-theme-layout-traditional
    .wp-traditional-cart-item--preview
    .wp-traditional-cart-item__total strong {
        flex: 0 0 auto;
        text-align: right;
    }

    .wp-page-cart.wp-theme-layout-traditional
    .wp-traditional-cart-item--preview
    .wp-traditional-cart-item__controls {
        width: 100%;
        min-width: 0;

        display: grid;
        grid-template-columns: minmax(0, 1fr) 42px;

        align-items: center;
        gap: 10px;
    }

    .wp-page-cart.wp-theme-layout-traditional
    .wp-traditional-cart-item--preview
    .wp-traditional-cart-item__calculation {
        min-width: 0;

        display: flex;
        align-items: center;
        justify-content: flex-start;

        gap: 8px;
        white-space: nowrap;
    }

    .wp-page-cart.wp-theme-layout-traditional
    .wp-traditional-cart-item--preview
    .wp-traditional-cart-item__quantity {
        flex: 0 0 auto;
        justify-self: start;
    }

    .wp-page-cart.wp-theme-layout-traditional
    .wp-traditional-cart-item--preview
    .wp-traditional-cart-item__remove {
        position: static;

        justify-self: end;

        width: 42px;
        height: 42px;
    }


    /*
     * Resumen.
     */
    .wp-page-cart.wp-theme-layout-traditional
    .wp-traditional-cart__summary {
        margin: 0;
        padding: 18px;

        border-radius: 18px;
    }

    .wp-page-cart.wp-theme-layout-traditional
    .wp-traditional-cart__summary
    .wp-button {
        border-radius: 8px;
    }
}

/*
 * MP_TRADITIONAL_CART_CONTINUE_POSITION_V1
 *
 * Desktop conserva "Seguir comprando" en la cabecera.
 * Mobile lo presenta después del contenido/resumen.
 */
.wp-theme-layout-traditional
.wp-traditional-cart__continue--mobile {
    display: none;
}

@media (max-width: 700px) {
    .wp-page-cart.wp-theme-layout-traditional
    .wp-traditional-cart__continue--desktop {
        display: none;
    }

    .wp-page-cart.wp-theme-layout-traditional
    .wp-traditional-cart__continue--mobile {
        width: 100%;
        min-height: 46px;
        margin-top: 18px;

        display: flex;
        align-items: center;
        justify-content: center;

        border-radius: 8px;
    }
}

/*
 * MP_TRADITIONAL_MOBILE_DELIVERY_OPTIONS_V1
 *
 * Opciones de entrega mobile.
 *
 * Autoridad:
 *   input[name="deliveryCode"] + :has(input:checked)
 *
 * Seleccionada:
 *   identidad corporativa + borde reforzado + check.
 *
 * No seleccionada:
 *   identidad neutra/gris.
 *
 * El check reutiliza el ::after canónico existente, pero queda
 * fuera del flujo para no alterar altura ni geometría de la card.
 */
.wp-theme-layout-traditional
.wp-traditional-checkout
.wp-delivery-option__copy {
    min-width: 0;
}

.wp-theme-layout-traditional
.wp-traditional-checkout
.wp-delivery-option__copy small {
    display: none;
}

@media (max-width: 700px) {
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-delivery-option {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 14px;

        min-height: 102px;
        padding: 14px 44px 14px 14px;

        align-items: center;
        justify-items: start;

        border: 1px solid
            color-mix(
                in srgb,
                var(--wp-muted) 42%,
                var(--wp-border)
            );

        border-radius: 12px;

        background:
            color-mix(
                in srgb,
                var(--wp-muted) 7%,
                var(--wp-surface)
            );

        color: var(--wp-text);
        text-align: left;

        box-shadow: none;
    }


    /*
     * Selección inequívoca sin cambiar dimensiones:
     * border corporativo + fondo suave + inset.
     */
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-delivery-option:has(input:checked) {
        border-color: var(--wp-primary);

        background:
            color-mix(
                in srgb,
                var(--wp-primary) 11%,
                var(--wp-surface)
            );

        box-shadow:
            inset 0 0 0 1px var(--wp-primary),
            0 8px 20px
            color-mix(
                in srgb,
                var(--wp-primary) 12%,
                transparent
            );
    }


    /*
     * Accesibilidad teclado.
     */
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-delivery-option:has(input:focus-visible) {
        outline: 3px solid
            color-mix(
                in srgb,
                var(--wp-primary) 34%,
                transparent
            );

        outline-offset: 2px;
    }


    /*
     * Iconografía outline.
     *
     * Grande, pero visualmente liviana.
     */
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-delivery-option__icon {
        width: 58px;
        height: 58px;

        border: 1px solid
            color-mix(
                in srgb,
                var(--wp-muted) 30%,
                var(--wp-border)
            );

        border-radius: 14px;

        background:
            color-mix(
                in srgb,
                var(--wp-muted) 6%,
                var(--wp-surface)
            );

        color:
            color-mix(
                in srgb,
                var(--wp-muted) 82%,
                var(--wp-text)
            );
    }

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-delivery-option__icon svg {
        width: 34px;
        height: 34px;

        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
    }


    /*
     * Icono seleccionado:
     * corporativo, pero no como bloque sólido.
     */
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-delivery-option:has(input:checked)
    .wp-delivery-option__icon {
        border-color:
            color-mix(
                in srgb,
                var(--wp-primary) 38%,
                var(--wp-border)
            );

        background:
            color-mix(
                in srgb,
                var(--wp-primary) 9%,
                var(--wp-surface)
            );

        color: var(--wp-primary);
    }


    /*
     * Copy.
     */
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-delivery-option__copy {
        width: 100%;

        display: grid;
        gap: 5px;
    }

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-delivery-option__copy strong {
        font-size: 16px;
        line-height: 1.15;
        font-weight: 800;
    }

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-delivery-option:has(input:checked)
    .wp-delivery-option__copy strong {
        color: var(--wp-primary);
    }

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-delivery-option__copy small {
        display: block;

        max-width: 230px;

        color: var(--wp-muted);
        font-size: 13px;
        line-height: 1.35;
        font-weight: 500;
    }


    /*
     * El radio canónico continúa siendo la autoridad semántica.
     * La regla global lo mantiene visualmente oculto.
     */
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-delivery-option input {
        top: 12px;
        right: 12px;

        width: 22px;
        min-height: 22px;
    }


    /*
     * Segunda señal visual de selección.
     *
     * Override específico del ::after global.
     * position:absolute lo saca completamente del grid,
     * por lo que nunca aumenta la altura de la card.
     */
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-delivery-option:has(input:checked)::after {
        content: "✓";

        position: absolute;
        top: 12px;
        right: 12px;

        width: 22px;
        height: 22px;
        margin: 0;

        display: inline-flex;
        align-items: center;
        justify-content: center;

        border-radius: 999px;

        background: var(--wp-primary);
        color: var(--wp-on-primary, #fff);

        font-size: 12px;
        line-height: 1;
        font-weight: 800;

        flex: none;
        pointer-events: none;
    }
}


/*
 * MP_TRADITIONAL_CHECKOUT_STEP_SCROLL_V1
 *
 * Cuando un paso se abre mediante interacción mobile,
 * scrollIntoView alinea el card desde su inicio.
 *
 * scroll-margin-top reserva el espacio del header
 * Traditional sticky y deja un pequeño aire visual.
 */
@media (max-width: 700px) {
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-checkout-step {
        scroll-margin-top:
            var(--wp-checkout-scroll-offset, 170px);
    }
}


/*
 * MP_TRADITIONAL_CHECKOUT_PROGRESS_LINE_V1
 *
 * Mobile:
 * total -> línea de avance -> cards.
 *
 * Pendiente:
 *   círculo neutro.
 *
 * Actual no guardado:
 *   borde y número corporativos.
 *
 * Guardado backend:
 *   círculo corporativo invertido.
 *
 * La línea permanece neutra porque los pasos pueden completarse
 * en un orden distinto sin implicar progreso secuencial falso.
 */
.wp-theme-layout-traditional
.wp-traditional-checkout
.mp-stepper__progress-copy {
    display: none;
}

@media (max-width: 700px) {
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    > .mp-stepper {
        position: relative;

        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0;

        overflow: visible;

        padding: 0 2px 4px;

        border: 0;
        border-radius: 0;

        background: transparent;
        box-shadow: none;
    }


    /*
     * Línea neutra entre centro de círculo 1 y círculo 4.
     */
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .mp-stepper__line {
        position: absolute;
        z-index: 0;

        top: 15px;
        left: 12.5%;
        right: 12.5%;

        display: block;

        height: 2px;

        background:
            color-mix(
                in srgb,
                var(--wp-muted) 26%,
                var(--wp-border)
            );

        pointer-events: none;
    }


    /*
     * El step deja de ser mini-card.
     */
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .mp-stepper__step,
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .mp-stepper__step.is-current,
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .mp-stepper__step.is-complete {
        position: relative;
        z-index: 1;

        min-width: 0;
        min-height: 56px;

        display: grid;
        grid-template-rows: 30px auto;
        justify-items: center;
        align-content: start;
        gap: 6px;

        padding: 0 2px;

        border: 0;
        border-radius: 0;

        background: transparent;
        box-shadow: none;

        transform: none;
    }


    /*
     * Pendiente.
     */
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .mp-stepper__dot {
        width: 30px;
        height: 30px;

        display: grid !important;
        place-items: center;

        border: 2px solid
            color-mix(
                in srgb,
                var(--wp-muted) 42%,
                var(--wp-border)
            );

        border-radius: 999px;

        background: var(--wp-surface);
        color: var(--wp-muted);

        font-size: 12px;
        line-height: 1;
        font-weight: 850;

        box-shadow: none;
    }


    /*
     * Actual, todavía pendiente de guardar.
     */
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .mp-stepper__step.is-current:not(.is-complete)
    .mp-stepper__dot {
        border-color: var(--wp-primary);
        background: var(--wp-surface);
        color: var(--wp-primary);
    }


    /*
     * Guardado confirmado.
     */
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .mp-stepper__step.is-complete
    .mp-stepper__dot {
        border-color: var(--wp-primary);
        background: var(--wp-primary);
        color: var(--wp-on-primary, #fff);
    }


    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .mp-stepper__label {
        display: block;

        max-width: 100%;

        overflow: visible;

        color: var(--wp-muted);

        font-size: 10px;
        line-height: 1.15;
        font-weight: 750;

        text-align: center;
        text-overflow: clip;
        white-space: normal;
    }

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .mp-stepper__step.is-current
    .mp-stepper__label,

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .mp-stepper__step.is-complete
    .mp-stepper__label {
        color: var(--wp-primary);
    }


    /*
     * Explicación inferior.
     */
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .mp-stepper__progress-copy {
        grid-column: 1 / -1;

        display: grid;
        gap: 3px;

        margin-top: 3px;
        padding-top: 10px;

        border-top: 1px solid
            color-mix(
                in srgb,
                var(--wp-muted) 14%,
                transparent
            );

        text-align: center;
    }

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .mp-stepper__progress-copy strong {
        color: var(--wp-text);
        font-size: 13px;
        line-height: 1.25;
        font-weight: 850;
    }

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .mp-stepper__progress-copy small {
        color: var(--wp-muted);
        font-size: 12px;
        line-height: 1.3;
        font-weight: 500;
    }
}


/*
 * MP_TRADITIONAL_CHECKOUT_PROGRESS_VISIBILITY_V1
 *
 * Traditional mobile conserva comportamiento accordion para
 * los cards, pero muestra siempre su stepper como indicador
 * de navegación y progreso.
 *
 * [hidden] continúa teniendo significado propio.
 *
 * Los pasos guardados mantienen su número 1..4 invertido;
 * no heredan el check genérico de checkout-shared.css.
 */
@media (max-width: 700px) {
    .wp-theme-layout-traditional
    .wp-traditional-checkout.wp-checkout-ui--accordion
    > .mp-stepper:not([hidden]) {
        display: grid !important;
    }

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .mp-stepper__step.is-complete
    .mp-stepper__dot {
        font-size: 12px;
    }

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .mp-stepper__step.is-complete
    .mp-stepper__dot::after {
        content: none;
        display: none;
    }
}


/*
 * MP_TRADITIONAL_CHECKOUT_STICKY_PROGRESS_V1
 *
 * Mobile:
 *
 * - Header Traditional permanece sticky arriba.
 * - Total del pedido conserva flujo normal y desaparece al bajar.
 * - Solo la barra de progreso queda sticky bajo el header.
 * - El fondo opaco evita que los cards se lean detrás.
 */
@media (max-width: 700px) {
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    > .mp-stepper {
        position: sticky;
        top: 58px;
        z-index: 900;

        margin-top: 0;
        margin-bottom: 12px;
        padding-top: 9px;
        padding-bottom: 9px;

        background: var(--wp-background);

        box-shadow:
            0 8px 12px -12px
            color-mix(
                in srgb,
                var(--wp-text) 30%,
                transparent
            );
    }

    /*
     * El total NO forma parte del stack sticky.
     */
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    > .wp-traditional-checkout__mobile-total {
        position: static;
    }
}


/*
 * MP_TRADITIONAL_CHECKOUT_NEUTRAL_PROGRESS_V1
 *
 * La barra expresa persistencia, no navegación.
 *
 * - is-current por sí solo permanece neutro.
 * - únicamente is-complete invierte círculo y label.
 * - un checkout nuevo comienza con los cuatro pasos grises.
 */
@media (max-width: 700px) {
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .mp-stepper__step.is-current:not(.is-complete)
    .mp-stepper__dot {
        border-color:
            color-mix(
                in srgb,
                var(--wp-muted) 42%,
                var(--wp-border)
            );

        background: var(--wp-surface);
        color: var(--wp-muted);
    }

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .mp-stepper__step.is-current:not(.is-complete)
    .mp-stepper__label {
        color: var(--wp-muted);
    }
}


/*
 * MP_TRADITIONAL_MOBILE_DOCUMENT_OPTIONS_V1
 *
 * Entrega manda:
 * Documento replica la geometría, jerarquía y estados de
 * .wp-delivery-option en mobile.
 */
@media (max-width: 700px) {
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    [data-wp-checkout-document-form]
    > .wp-radio-row {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-document-option {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 14px;

        width: 100%;
        min-height: 102px;

        padding: 14px 44px 14px 14px;

        align-items: center;
        justify-items: start;

        border: 1px solid
            color-mix(
                in srgb,
                var(--wp-muted) 42%,
                var(--wp-border)
            );

        border-radius: 12px;

        background:
            color-mix(
                in srgb,
                var(--wp-muted) 7%,
                var(--wp-surface)
            );

        color: var(--wp-text);
        text-align: left;

        box-shadow: none;
    }

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-document-option:has(input:checked) {
        border-color: var(--wp-primary);

        background:
            color-mix(
                in srgb,
                var(--wp-primary) 11%,
                var(--wp-surface)
            );

        box-shadow:
            inset 0 0 0 1px var(--wp-primary),
            0 8px 20px
            color-mix(
                in srgb,
                var(--wp-primary) 12%,
                transparent
            );
    }

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-document-option:has(input:focus-visible) {
        outline: 3px solid
            color-mix(
                in srgb,
                var(--wp-primary) 34%,
                transparent
            );

        outline-offset: 2px;
    }

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-document-option__icon {
        width: 58px;
        height: 58px;

        display: grid;
        place-items: center;

        border: 1px solid
            color-mix(
                in srgb,
                var(--wp-muted) 30%,
                var(--wp-border)
            );

        border-radius: 14px;

        background:
            color-mix(
                in srgb,
                var(--wp-muted) 6%,
                var(--wp-surface)
            );

        color:
            color-mix(
                in srgb,
                var(--wp-muted) 82%,
                var(--wp-text)
            );
    }

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-document-option__icon svg {
        width: 34px;
        height: 34px;
    }

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-document-option:has(input:checked)
    .wp-document-option__icon {
        border-color:
            color-mix(
                in srgb,
                var(--wp-primary) 38%,
                var(--wp-border)
            );

        background:
            color-mix(
                in srgb,
                var(--wp-primary) 9%,
                var(--wp-surface)
            );

        color: var(--wp-primary);
    }

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-document-option
    > span:last-child {
        width: 100%;
        min-width: 0;

        display: grid;
        gap: 4px;
    }

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-document-option strong {
        color: var(--wp-text);

        font-size: 15px;
        line-height: 1.2;
        font-weight: 800;
    }

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-document-option:has(input:checked)
    strong {
        color: var(--wp-primary);
    }

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-document-option small {
        display: block;

        color: var(--wp-muted);

        font-size: 13px;
        line-height: 1.3;
        font-weight: 500;
    }

    /*
     * Check idéntico al patrón Entrega:
     * absoluto arriba a la derecha, fuera del flujo.
     */
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-document-option:has(input:checked)::after {
        content: "✓";

        position: absolute;
        top: 12px;
        right: 12px;

        width: 22px;
        height: 22px;
        margin: 0;

        display: inline-flex;
        align-items: center;
        justify-content: center;

        border-radius: 999px;

        background: var(--wp-primary);
        color: var(--wp-on-primary, #fff);

        font-size: 12px;
        line-height: 1;
        font-weight: 800;

        flex: none;
        pointer-events: none;
    }
}


/*
 * MP_TRADITIONAL_CHECKOUT_FINAL_ACTION_V2
 *
 * Acción final independiente del acordeón.
 *
 * No es una quinta card ni un quinto paso.
 * Se activa cuando los tres pasos previos están stored
 * y Documento contiene datos válidos.
 */

.wp-checkout-final-submit {
  width: 100%;

  margin: 14px 0 0;
  padding: 0;

  border: 0;
  background: transparent;
  box-shadow: none;
}

.wp-checkout-final-submit__button {
  width: 100%;
  min-height: 46px;
}

.wp-checkout-final-submit__button:not(:disabled) {
  cursor: pointer;
}

.wp-checkout-final-submit__button:disabled,
.wp-checkout-final-submit__button[aria-disabled="true"] {
  background: #d7d2d8;
  border-color: #d7d2d8;
  color: #ffffff;

  opacity: 1;

  box-shadow: none;
  cursor: not-allowed;
}

@media (max-width: 760px) {
  .wp-checkout-final-submit {
    margin-top: 14px;
  }

  .wp-checkout-final-submit__button {
    width: 100%;
  }
}

/* =========================================================
 * MP_CHECKOUT_DESKTOP_OPTION_CARDS_V1
 *
 * Paso 3 Entrega + Paso 4 Documento.
 * Desktop replica el lenguaje visual Mobile:
 * icono grande a la izquierda + copy legible.
 *
 * 2 opciones => 2 columnas.
 * 3 opciones => 3 columnas cuando exista espacio.
 * ========================================================= */

@media (min-width: 641px) {

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-delivery-option-grid,

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    [data-wp-checkout-document-form]
    > .wp-radio-row {
        display: grid;
        grid-template-columns:
            repeat(
                auto-fit,
                minmax(220px, 1fr)
            );
        gap: 14px;
        align-items: stretch;
    }


    /*
     * Card:
     * icono protagonista a la izquierda,
     * texto alineado y espacio reservado al check.
     */
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-delivery-option,

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-document-option {
        position: relative;

        display: grid;
        grid-template-columns:
            76px minmax(0, 1fr);

        align-items: center;
        justify-items: stretch;

        column-gap: 18px;

        min-height: 124px;

        padding:
            18px
            52px
            18px
            18px;

        text-align: left;

        cursor: pointer;

        transition:
            border-color .16s ease,
            box-shadow .16s ease,
            transform .16s ease,
            background-color .16s ease;
    }


    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-delivery-option:hover,

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-document-option:hover {
        transform: translateY(-1px);
    }


    /*
     * Caja del icono.
     */
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-delivery-option__icon,

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-document-option__icon {
        width: 72px;
        height: 72px;

        display: grid;
        place-items: center;

        border: 1px solid
            color-mix(
                in srgb,
                var(--wp-muted) 30%,
                var(--wp-border)
            );

        border-radius: 16px;

        background:
            color-mix(
                in srgb,
                var(--wp-muted) 6%,
                var(--wp-surface)
            );
    }


    /*
     * Entrega usa iconografía outline.
     * Evita que automóvil/store/truck se conviertan
     * en una masa sólida por fill: currentColor.
     */
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-delivery-option__icon svg {
        width: 42px;
        height: 42px;

        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
    }


    /*
     * Documento conserva su dibujo canónico,
     * pero aumenta su tamaño.
     */
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-document-option__icon svg {
        width: 40px;
        height: 40px;
    }


    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-delivery-option:has(input:checked)
    .wp-delivery-option__icon,

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-document-option:has(input:checked)
    .wp-document-option__icon {
        border-color:
            color-mix(
                in srgb,
                var(--wp-primary) 38%,
                var(--wp-border)
            );

        background:
            color-mix(
                in srgb,
                var(--wp-primary) 9%,
                var(--wp-surface)
            );

        color: var(--wp-primary);
    }


    /*
     * Copy.
     */
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-delivery-option__copy,

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-document-option
    > span:last-child {
        width: 100%;
        min-width: 0;

        display: grid;
        gap: 6px;

        align-content: center;
        text-align: left;
    }


    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-delivery-option__copy strong,

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-document-option strong {
        display: block;

        margin: 0;

        font-size: 1.08rem;
        line-height: 1.18;
        font-weight: 800;

        text-align: left;
    }


    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-delivery-option__copy small,

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-document-option small {
        display: block;

        margin: 0;

        color: var(--wp-muted);

        font-size: .92rem;
        line-height: 1.38;
        font-weight: 500;

        text-align: left;
    }


    /*
     * El radio continúa siendo autoridad semántica,
     * pero queda visualmente oculto.
     */
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-delivery-option input,

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-document-option input {
        position: absolute;

        top: 14px;
        right: 14px;

        width: 24px;
        min-height: 24px;

        margin: 0;

        opacity: 0;
        pointer-events: none;
    }


    /*
     * Check visual:
     * igual que Mobile, absoluto arriba a la derecha.
     */
    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-delivery-option:has(input:checked)::after,

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-document-option:has(input:checked)::after {
        content: "✓";

        position: absolute;

        top: 14px;
        right: 14px;

        width: 24px;
        height: 24px;

        margin: 0;

        display: inline-flex;
        align-items: center;
        justify-content: center;

        border-radius: 999px;

        background: var(--wp-primary);
        color: var(--wp-on-primary, #fff);

        font-size: 14px;
        line-height: 1;
        font-weight: 900;

        pointer-events: none;
    }


    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-delivery-option:has(input:checked),

    .wp-theme-layout-traditional
    .wp-traditional-checkout
    .wp-document-option:has(input:checked) {
        box-shadow:
            inset 0 0 0 1px var(--wp-primary),
            0 8px 20px
            color-mix(
                in srgb,
                var(--wp-primary) 12%,
                transparent
            );
    }
}

/* =========================================================
 * MP_CHECKOUT_FINAL_CTA_CLEAN_V1
 * El cierre visual del checkout es únicamente el CTA.
 * ========================================================= */

.wp-theme-layout-traditional
.wp-traditional-checkout
.wp-checkout-final-submit__button:not(:disabled):not([aria-disabled="true"]) {
    cursor: pointer;
}

.wp-theme-layout-traditional
.wp-traditional-checkout
.wp-checkout-final-submit__button:disabled,

.wp-theme-layout-traditional
.wp-traditional-checkout
.wp-checkout-final-submit__button[aria-disabled="true"] {
    cursor: not-allowed;
}

/*
 * MP_CHECKOUT_CONTACT_VALIDATION_V1
 * Checkout · contacto validado y normalizado.
 */

.mp-contact-composite {
    display: flex;
    width: 100%;
    align-items: stretch;
    box-sizing: border-box;
}

.mp-contact-composite > input:not([type="hidden"]) {
    flex: 1 1 auto;
    min-width: 0;
}

.mp-contact-composite--rut {
    border: 1px solid var(--checkout-border, #ded4df);
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

.mp-contact-composite--rut:focus-within {
    border-color: var(--mp-contact-accent, #7f238f);
    box-shadow:
        0 0 0 3px
        color-mix(
            in srgb,
            var(--mp-contact-accent, #7f238f) 12%,
            transparent
        );
}

.mp-contact-rut-input {
    text-align: left !important;
    padding-left: 16px !important;
    padding-right: 6px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-variant-numeric: tabular-nums;
}

.mp-contact-rut-input:focus {
    border: 0 !important;
    box-shadow: none !important;
}

.mp-contact-rut-dv {
    display: flex;
    flex: 0 0 auto;
    min-height: 46px;
    align-items: center;
    justify-content: flex-start;
    padding: 0 16px 0 4px;
    border: 0;
    border-radius: 0;
    background: #fff;
    color: var(--mp-contact-accent, #7f238f);
    font-weight: 700;
    white-space: nowrap;
}

.mp-contact-whatsapp-prefix {
    display: flex;
    flex: 0 0 auto;
    min-width: 66px;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    border: 1px solid var(--checkout-border, #ded4df);
    border-right: 0;
    border-radius: 12px 0 0 12px;
    background:
        color-mix(
            in srgb,
            var(--mp-contact-accent, #7f238f) 11%,
            white
        );
    color: var(--mp-contact-accent, #7f238f);
    font-size: 15px;
    font-weight: 800;
    white-space: nowrap;
}

.mp-contact-whatsapp-input {
    text-align: left !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    border-radius: 0 12px 12px 0 !important;
    font-variant-numeric: tabular-nums;
}

/*
 * Campos simples: vacío.
 */
.checkout-form input.mp-contact-field--empty:not(:focus),
input.mp-contact-field--empty:not(:focus) {
    border: 2px solid #b42318 !important;
    box-shadow: none !important;
}

/*
 * Campos simples: tiene contenido, pero formato incorrecto.
 * Sólo se ilumina fuera del foco.
 */
.checkout-form input.mp-contact-field--format:not(:focus),
input.mp-contact-field--format:not(:focus) {
    border: 2px solid
        var(--mp-contact-accent, #7f238f) !important;
    box-shadow: none !important;
}

/*
 * Campos compuestos: un único borde exterior alrededor
 * de TODO el control, incluido prefijo WhatsApp o DV RUT.
 */
.mp-contact-composite--empty:not(:focus-within) {
    border: 2px solid #b42318 !important;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: none !important;
}

.mp-contact-composite--format:not(:focus-within) {
    border: 2px solid
        var(--mp-contact-accent, #7f238f) !important;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: none !important;
}

.mp-contact-composite--empty:not(:focus-within)
    > input:not([type="hidden"]),
.mp-contact-composite--empty:not(:focus-within)
    > span,
.mp-contact-composite--format:not(:focus-within)
    > input:not([type="hidden"]),
.mp-contact-composite--format:not(:focus-within)
    > span {
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

.mp-contact-composite--empty:not(:focus-within)
    > :first-child,
.mp-contact-composite--format:not(:focus-within)
    > :first-child {
    border-left: 0 !important;
}

.mp-contact-composite--empty:not(:focus-within)
    > :last-child,
.mp-contact-composite--format:not(:focus-within)
    > :last-child {
    border-right: 0 !important;
}

/*
 * Conserva sólo la separación interior.
 */
.mp-contact-composite--rut
    .mp-contact-rut-dv {
    border-left: 0 !important;
}

.mp-contact-composite--whatsapp
    .mp-contact-whatsapp-prefix {
    border-right:
        1px solid
        color-mix(
            in srgb,
            var(--mp-contact-accent, #7f238f) 24%,
            transparent
        );
}

.mp-contact-field-error {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    font-weight: 600;
}

.mp-contact-field-error--empty {
    color: #b42318;
}

.mp-contact-field-error--format {
    color: var(--mp-contact-accent, #7f238f);
}


/*
 * MP_CHECKOUT_CONTACT_FINAL_VISUAL_V3
 *
 * RUT:
 *   una sola caja visual;
 *   cuerpo y DV inline;
 *   DV sin sub-card.
 *
 * WhatsApp:
 *   +56 usa la misma paleta del resumen lateral.
 */

/*
 * La autoridad cromática siempre es la del tema.
 * No depende del estado disabled del botón.
 */
[data-wp-checkout-customer-form] {
    --mp-contact-accent: var(--wp-primary) !important;
}

/* ==========================================================
   RUT
   ========================================================== */

.mp-contact-composite--rut {
    justify-content: flex-start !important;
    align-items: stretch !important;

    background:
        var(--wp-surface, #fff) !important;
}

/*
 * El cuerpo deja de crecer a todo el ancho.
 * Su ancho sigue los caracteres visibles.
 */
.mp-contact-composite--rut
    > input.mp-contact-rut-input {
    flex: 0 0 auto !important;

    width:
        calc(
            var(--mp-rut-visible-chars, 1) * 1ch
            + 20px
        ) !important;

    min-width: 34px !important;
    max-width: calc(100% - 34px) !important;

    padding-left: 16px !important;
    padding-right: 2px !important;

    text-align: left !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;

    box-shadow: none !important;
}

/*
 * El -DV deja de parecer una segunda celda.
 */
.mp-contact-composite--rut
    > .mp-contact-rut-dv {
    flex: 0 0 auto !important;

    width: auto !important;
    min-width: 0 !important;

    padding:
        0
        16px
        0
        2px !important;

    justify-content: flex-start !important;

    border: 0 !important;
    border-left: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;

    color: inherit !important;
    font-weight: 400 !important;

    opacity: 1 !important;
}

/*
 * Focus sobre una sola caja.
 */
.mp-contact-composite--rut
    > input.mp-contact-rut-input:focus {
    border: 0 !important;
    box-shadow: none !important;
}

/*
 * Tanto vacío como formato incorrecto iluminan
 * la caja completa: cuerpo + DV.
 */
.mp-contact-composite--rut.mp-contact-composite--empty:not(:focus-within) {
    border:
        2px solid #b42318 !important;

    border-radius: 12px !important;
    overflow: hidden !important;
}

.mp-contact-composite--rut.mp-contact-composite--format:not(:focus-within) {
    border:
        2px solid var(--wp-primary) !important;

    border-radius: 12px !important;
    overflow: hidden !important;
}

/* ==========================================================
   WHATSAPP · +56
   ========================================================== */

.mp-contact-composite--whatsapp
    > .mp-contact-whatsapp-prefix {
    min-width: 68px !important;

    padding:
        0
        16px !important;

    /*
     * Misma familia cromática del resumen lateral:
     * fondo suave + texto principal.
     */
    background:
        var(--wp-secondary-soft) !important;

    color:
        var(--wp-primary) !important;

    border-color:
        var(--wp-border) !important;

    font-size: 15px !important;
    font-weight: 800 !important;

    opacity: 1 !important;
}

.mp-contact-composite--whatsapp
    > input.mp-contact-whatsapp-input {
    text-align: left !important;

    padding-left:
        16px !important;
}

/*
 * Formato incorrecto:
 * borde corporativo completo incluyendo +56.
 */
.mp-contact-composite--whatsapp.mp-contact-composite--format:not(:focus-within) {
    border:
        2px solid var(--wp-primary) !important;

    border-radius: 12px !important;
    overflow: hidden !important;
}


/*
 * MP_CHECKOUT_CONTACT_RUT_NATIVE_SINGLE_INPUT_V1
 *
 * RUT = un único textbox convencional.
 * "13.232.529 - 4" vive completo dentro del mismo input.
 */

input.mp-contact-rut-input {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    min-height: 46px !important;

    padding:
        11px
        16px !important;

    text-align: left !important;

    border:
        1px solid
        var(--wp-border) !important;

    border-radius:
        12px !important;

    background:
        var(--wp-surface, #fff) !important;

    color:
        inherit !important;

    font: inherit !important;
    font-weight: inherit !important;

    box-shadow:
        none !important;

    font-variant-numeric:
        tabular-nums;
}

input.mp-contact-rut-input:focus {
    border-color:
        var(--wp-primary) !important;

    box-shadow:
        0 0 0 3px
        color-mix(
            in srgb,
            var(--wp-primary) 12%,
            transparent
        ) !important;

    outline: none !important;
}

/*
 * Validación directamente sobre el único textbox.
 */
input.mp-contact-rut-input.mp-contact-field--empty:not(:focus) {
    border:
        2px solid #b42318 !important;

    box-shadow:
        none !important;
}

input.mp-contact-rut-input.mp-contact-field--format:not(:focus) {
    border:
        2px solid
        var(--wp-primary) !important;

    box-shadow:
        none !important;
}

/*
 * Código visual histórico del DV separado:
 * queda neutralizado por compatibilidad, aunque el nuevo
 * DOM ya no crea este elemento.
 */
.mp-contact-rut-dv {
    display: none !important;
}

/*
 * MP_TRADITIONAL_CALENDAR_SPECIAL_DATE_BORDER_V2
 *
 * Fecha especial disponible:
 * - sin punto inferior;
 * - número corporativo;
 * - borde corporativo 1.5px;
 * - selected y disabled conservan su autoridad visual.
 */

.wp-theme-layout-traditional
.wp-traditional-checkout
.wp-calendar-day.is-special:not(.is-disabled):not(:disabled):not(.is-selected) {
    border:
        1.5px solid
        var(--wp-primary);

    background:
        var(--wp-surface);

    color:
        var(--wp-primary);
}

.wp-theme-layout-traditional
.wp-traditional-checkout
.wp-calendar-day.is-special:not(.is-disabled):not(:disabled):not(.is-selected)
> span {
    color:
        var(--wp-primary);

    font-weight: 900;
}

/*
 * El backend/renderer mantiene <small> como marcador semántico,
 * pero Traditional ya no lo representa como punto visual.
 */
.wp-theme-layout-traditional
.wp-traditional-checkout
.wp-calendar-day.is-special
> small {
    display: none !important;
}


/*
 * MP_CHECKOUT_PAYMENT_LOCK_FEEDBACK_V1
 *
 * Backend es autoridad.
 * Esta capa sólo hace inequívoco un lock ya confirmado.
 */

/* Card lateral persistente después de cerrar el popup. */
.wp-theme-layout-traditional
.wp-traditional-checkout
[data-summary-card].has-payment-lock {
    border:
        2px solid #b42318 !important;

    background:
        color-mix(
            in srgb,
            #b42318 6%,
            var(--wp-surface)
        ) !important;

    box-shadow:
        0 0 0 3px
        color-mix(
            in srgb,
            #b42318 8%,
            transparent
        ) !important;
}

.wp-checkout-side-card__payment-lock {
    margin-top: 8px;

    padding-top: 8px;

    border-top:
        1px solid
        color-mix(
            in srgb,
            #b42318 24%,
            transparent
        );

    color:
        #b42318;

    font-size:
        11px;

    font-weight:
        800;

    line-height:
        1.3;
}

/* Controles bloqueados después del 409 autoritativo. */
.wp-traditional-checkout.is-payment-locked
form input:disabled,
.wp-traditional-checkout.is-payment-locked
form select:disabled,
.wp-traditional-checkout.is-payment-locked
form textarea:disabled,
.wp-traditional-checkout.is-payment-locked
form button:disabled {
    cursor:
        not-allowed;
}

/* Modal de payment lock. */
.wp-checkout-payment-lock-dialog {
    position:
        fixed;

    inset:
        0;

    z-index:
        10020;

    display:
        grid;

    place-items:
        center;

    padding:
        24px;
}

.wp-checkout-payment-lock-dialog__backdrop {
    position:
        absolute;

    inset:
        0;

    background:
        rgba(31, 19, 35, .50);

    backdrop-filter:
        blur(3px);
}

.wp-checkout-payment-lock-dialog__panel {
    position:
        relative;

    z-index:
        1;

    width:
        min(100%, 460px);

    padding:
        26px;

    border:
        1px solid
        var(--wp-border);

    border-radius:
        20px;

    background:
        var(--wp-surface);

    box-shadow:
        0 28px 80px
        rgba(31, 19, 35, .24);
}

.wp-checkout-payment-lock-dialog__icon {
    display:
        grid;

    width:
        42px;

    height:
        42px;

    place-items:
        center;

    margin-bottom:
        14px;

    border-radius:
        50%;

    background:
        color-mix(
            in srgb,
            #b42318 10%,
            white
        );

    color:
        #b42318;

    font-size:
        22px;

    font-weight:
        900;
}

.wp-checkout-payment-lock-dialog__panel h2 {
    margin:
        0 0 10px;

    color:
        var(--wp-text);
}

.wp-checkout-payment-lock-dialog__panel p {
    margin:
        0 0 12px;

    color:
        var(--wp-muted);

    line-height:
        1.5;
}

.wp-checkout-payment-lock-dialog__state {
    color:
        #b42318 !important;

    font-weight:
        800;
}

.wp-checkout-payment-lock-dialog__panel
[data-close-payment-lock] {
    margin-top:
        6px;
}

body.wp-checkout-payment-lock-open {
    overflow:
        hidden;
}
