/* 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-rail-bg: #88b8a7;
  --wp-traditional-rail-text: var(--wp-accent, #f54e8f);
  --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);
}

@media (max-width: 768px) {
  .wp-theme-layout-traditional .wp-business-banner,
  .wp-theme-layout-traditional .wp-banner,
  .wp-theme-layout-traditional .wp-hero-banner {
    margin: 18px 14px 18px;
  }

  .wp-theme-layout-traditional .wp-traditional-nav-rail__inner {
    min-height: auto;
    padding: 14px;
    justify-content: center;
  }

  .wp-theme-layout-traditional .wp-traditional-nav-rail__categories {
    flex: 0 1 auto;
    max-width: calc(100% - 74px);
    justify-content: flex-start;
    gap: 18px;
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 2px;
  }

  .wp-theme-layout-traditional .wp-traditional-nav-rail__link,
  .wp-theme-layout-traditional .wp-traditional-nav-rail__categories a {
    font-size: 14px;
  }
}

/* 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, var(--wp-accent, #F54E8F)) !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: 48px 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;
}

.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,
  .wp-theme-layout-traditional .wp-traditional-catalog {
    margin-top: 32px;
  }

  .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 img {
    width: 100%;
    aspect-ratio: 3 / 2;
    height: auto;
    object-fit: contain;
    object-position: center;
    background: var(--wp-surface);
  }

  .wp-theme-layout-traditional .wp-traditional-nav-rail__inner {
    padding: 12px 14px;
  }

  .wp-theme-layout-traditional .wp-traditional-nav-rail__categories {
    gap: 16px;
  }

  .wp-theme-layout-traditional .wp-traditional-nav-rail__link {
    font-size: 16px !important;
  }

  .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;
  }
}

@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;
  }
}

@media (max-width: 700px) {
  .wp-theme-layout-traditional .wp-traditional-cart {
    width: min(100% - 28px, var(--wp-traditional-max-width));
    margin: 26px auto 54px;
    padding: 20px 14px;
    border-radius: 18px;
  }

  .wp-theme-layout-traditional .wp-traditional-cart__head {
    display: grid;
    gap: 18px;
    margin-bottom: 22px;
  }

  .wp-theme-layout-traditional .wp-traditional-cart__head h1 {
    font-size: clamp(36px, 12vw, 48px);
  }

  .wp-theme-layout-traditional .wp-traditional-cart__head .wp-button {
    width: 100%;
  }

  .wp-theme-layout-traditional .wp-traditional-cart-item {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 16px;
  }

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

  .wp-theme-layout-traditional .wp-traditional-cart-item__actions {
    grid-template-columns: 1fr auto;
    align-items: center;
    justify-items: stretch;
    width: 100%;
    min-width: 0;
  }

  .wp-theme-layout-traditional .wp-traditional-cart-item__total {
    grid-column: 1 / -1;
    justify-items: start;
  }

  .wp-theme-layout-traditional .wp-traditional-cart-item__quantity {
    justify-self: start;
  }

  .wp-theme-layout-traditional .wp-traditional-cart__summary {
    padding: 18px;
  }
}

/* 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);
}

.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 {
  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: clamp(34px, 12vw, 46px);
  }

  .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;
  }
}


/* 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_CHECKOUT_MPAY_PREFLIGHT_25 — Aviso editorial antes de abandonar el checkout.
   El CTA sigue gobernado por la validación de los cuatro pasos. Al activarse,
   un diálogo corporativo informa el cambio de superficie y cuenta diez segundos
   antes de iniciar la preparación del pago. Cancelar solo cierra el aviso y
   conserva íntegro el carro. */
.wp-theme-layout-traditional .wp-traditional-checkout .wp-checkout-side-card__security a {
  color: color-mix(in srgb, var(--wp-text) 76%, var(--wp-muted, #7b6666));
  font: inherit;
  font-weight: 650;
  text-decoration: none;
}

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

body.wp-mpay-preflight-open {
  overflow: hidden;
}

.wp-theme-layout-traditional .wp-mpay-preflight[hidden] {
  display: none !important;
}

.wp-theme-layout-traditional .wp-mpay-preflight {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 24px;
}

.wp-theme-layout-traditional .wp-mpay-preflight__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: rgba(30, 17, 21, 0.72);
  cursor: pointer;
}

.wp-theme-layout-traditional .wp-mpay-preflight__dialog {
  position: relative;
  width: min(620px, 100%);
  max-height: min(88vh, 760px);
  overflow: auto;
  padding: clamp(26px, 4.5vw, 42px);
  border: 1px solid color-mix(in srgb, var(--wp-primary) 46%, var(--wp-border));
  border-radius: 26px;
  background:
    radial-gradient(circle at 100% 0, color-mix(in srgb, var(--wp-primary) 8%, transparent), transparent 260px),
    linear-gradient(145deg, var(--wp-surface, #fff) 0%, color-mix(in srgb, var(--wp-primary-soft, #fff4f7) 62%, #fff) 100%);
  box-shadow:
    0 30px 90px rgba(24, 12, 16, 0.32),
    inset 5px 0 0 var(--wp-primary);
  outline: none;
}

.wp-theme-layout-traditional .wp-mpay-preflight__kicker {
  margin: 0 0 10px;
  color: var(--wp-primary);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.wp-theme-layout-traditional .wp-mpay-preflight__dialog h2 {
  margin: 0;
  color: var(--wp-text);
  font-size: clamp(24px, 4vw, 34px);
  line-height: 1.16;
  letter-spacing: -0.035em;
}

.wp-theme-layout-traditional .wp-mpay-preflight__copy {
  display: grid;
  gap: 10px;
  margin-top: 20px;
}

.wp-theme-layout-traditional .wp-mpay-preflight__copy p {
  margin: 0;
  color: var(--wp-muted, #735f64);
  font-size: 15px;
  line-height: 1.55;
}

.wp-theme-layout-traditional .wp-mpay-preflight__countdown {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-top: 24px;
  padding: 16px 18px;
  border: 1px solid color-mix(in srgb, var(--wp-primary) 26%, var(--wp-border));
  border-radius: 16px;
  background: color-mix(in srgb, var(--wp-primary-soft, #fff4f7) 72%, #fff);
}

.wp-theme-layout-traditional .wp-mpay-preflight__countdown span {
  color: var(--wp-muted, #735f64);
  font-size: 13px;
  font-weight: 700;
}

.wp-theme-layout-traditional .wp-mpay-preflight__countdown strong {
  color: var(--wp-primary);
  font-size: 17px;
  white-space: nowrap;
}

.wp-theme-layout-traditional .wp-mpay-preflight__countdown strong span {
  color: inherit;
  font-size: 26px;
  font-weight: 950;
}

.wp-theme-layout-traditional .wp-mpay-preflight__actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, auto);
  gap: 12px;
  margin-top: 22px;
}

.wp-theme-layout-traditional .wp-mpay-preflight__confirm,
.wp-theme-layout-traditional .wp-mpay-preflight__cancel {
  min-height: 56px;
  border-radius: 14px;
  font-size: 17px;
  font-weight: 900;
  cursor: pointer;
}

.wp-theme-layout-traditional .wp-mpay-preflight__confirm {
  box-shadow: 0 13px 28px color-mix(in srgb, var(--wp-primary) 24%, transparent);
}

.wp-theme-layout-traditional .wp-mpay-preflight__cancel {
  border: 1px solid color-mix(in srgb, var(--wp-primary) 34%, var(--wp-border));
  background: transparent;
  color: var(--wp-primary);
  box-shadow: none;
}

.wp-theme-layout-traditional .wp-mpay-preflight__cancel:hover,
.wp-theme-layout-traditional .wp-mpay-preflight__cancel:focus-visible {
  background: color-mix(in srgb, var(--wp-primary-soft, #fff4f7) 74%, #fff);
}

.wp-theme-layout-traditional .wp-mpay-preflight button[disabled] {
  cursor: wait;
  opacity: 0.72;
}

@media (max-width: 620px) {
  .wp-theme-layout-traditional .wp-mpay-preflight {
    align-items: end;
    padding: 12px;
  }

  .wp-theme-layout-traditional .wp-mpay-preflight__dialog {
    width: 100%;
    max-height: 92vh;
    padding: 26px 20px 22px;
    border-radius: 24px 24px 18px 18px;
    box-shadow: 0 22px 70px rgba(24, 12, 16, 0.34);
  }

  .wp-theme-layout-traditional .wp-mpay-preflight__countdown {
    display: grid;
    gap: 6px;
  }

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

  .wp-theme-layout-traditional .wp-mpay-preflight__cancel {
    min-height: 50px;
  }
}

/* MPV_CHECKOUT_MPAY_PREFLIGHT_27 — Aviso simple con retorno automático.
   Se elimina la carga comercial de medios de pago y se reserva el centro
   del diálogo para la única información operacional que el cliente necesita. */
.wp-theme-layout-traditional .wp-mpay-preflight__copy {
  min-height: 150px;
  margin-top: 18px;
  padding: 22px 10px;
  display: grid;
  place-items: center;
}

.wp-theme-layout-traditional .wp-mpay-preflight__copy .wp-mpay-preflight__return-message {
  max-width: 470px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--wp-primary);
  font-size: clamp(19px, 2.6vw, 23px);
  font-weight: 850;
  line-height: 1.42;
  text-align: center;
}

@media (max-width: 620px) {
  .wp-theme-layout-traditional .wp-mpay-preflight__copy {
    min-height: 122px;
    padding: 18px 2px;
  }

  .wp-theme-layout-traditional .wp-mpay-preflight__copy .wp-mpay-preflight__return-message {
    font-size: 19px;
  }
}


/* 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;
}

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

  .wp-theme-layout-traditional .wp-traditional-cart-item--preview .wp-traditional-cart-item__name {
    white-space: normal;
  }

  .wp-theme-layout-traditional .wp-traditional-cart-item__calculation,
  .wp-theme-layout-traditional .wp-traditional-cart-item__result {
    justify-content: space-between;
  }

  .wp-theme-layout-traditional .wp-traditional-cart-item--preview .wp-traditional-cart-item__total {
    justify-items: start;
  }
}


/* 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;
}

@media (max-width: 700px) {
  .wp-theme-layout-traditional .wp-traditional-cart-item--preview .wp-traditional-cart-item__actions {
    gap: 12px;
  }

  .wp-theme-layout-traditional .wp-traditional-cart-item--preview .wp-traditional-cart-item__result--top,
  .wp-theme-layout-traditional .wp-traditional-cart-item--preview .wp-traditional-cart-item__controls {
    justify-content: space-between;
  }

  .wp-theme-layout-traditional .wp-traditional-cart-item--preview .wp-traditional-cart-item__result--top .wp-traditional-cart-item__total {
    justify-items: end;
    margin-left: 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 {
  opacity: 0.72;
  filter: saturate(0.82);
  pointer-events: none;
  transition: opacity 140ms ease, filter 140ms ease;
}

.wp-theme-layout-traditional .wp-traditional-cart-item--preview.is-updating::after {
  content: "Actualizando";
  position: absolute;
  right: 18px;
  bottom: 10px;
  color: var(--wp-primary);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.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-location-map {
    min-height: 360px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 22px;
    border: 1px solid color-mix(in srgb, var(--wp-primary) 14%, transparent);
    background: var(--wp-surface, #fff);
}

.wp-theme-layout-traditional .wp-traditional-location-map iframe {
    width: 100%;
    min-height: 320px;
    flex: 1 1 auto;
    border: 0;
}

.wp-theme-layout-traditional .wp-traditional-location-map > a {
    display: block;
    padding: 14px 18px;
    text-align: center;
    font-weight: 700;
}

.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;
    }

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

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

@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: #88b8a7;
    color: var(--wp-traditional-rail-text, var(--wp-accent));
}

.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: #88b8a7;
    color: var(--wp-traditional-rail-text, var(--wp-accent));
}

.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;
    }

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

    .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_CONTEXT_DIVIDER_01
 *
 * Separación visual entre el encabezado corporativo
 * y las superficies funcionales de categoría y carrito.
 *
 * Usa exactamente el mismo color del menú Traditional.
 */
.wp-theme-layout-traditional .wp-traditional-catalog,
.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-catalog,
    .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_DIVIDER_POLISH_01
 *
 * Ajuste visual final:
 *
 * - divisor superior de categoría mantiene 2px;
 * - se desplaza visualmente hacia el centro del espacio
 *   entre banner y encabezado de categoría;
 * - carrito conserva su divisor original;
 * - divisores internos de productos bajan a 1.2px.
 */

/*
 * Conservamos el espacio exacto que ocupaba el border original,
 * pero hacemos transparente solamente el de catálogo.
 */
.wp-theme-layout-traditional .wp-traditional-catalog {
    position: relative;
    border-top-color: transparent;
}

/*
 * Nueva posición visual del mismo divisor.
 * No desplaza banner, título ni grilla.
 */
.wp-theme-layout-traditional .wp-traditional-catalog::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 18px;
    left: 0;
    right: 0;
    height: 2px;
    border-radius: 999px;
    background: var(--wp-traditional-rail-bg);
    pointer-events: none;
}

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

/*
 * En pantallas pequeñas el espacio vertical es menor.
 */
@media (max-width: 768px) {
    .wp-theme-layout-traditional .wp-traditional-catalog::before {
        top: 12px;
    }
}

/*
 * MP_TRADITIONAL_PRODUCT_DIVIDER_COLOR_01
 *
 * Jerarquía visual definitiva:
 *
 * - divisor superior categoría/carrito:
 *     Fondo del menú (--wp-traditional-rail-bg)
 *
 * - divisores entre filas de productos:
 *     mismo color principal utilizado por 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_TRADITIONAL_CATALOG_TOP_DIVIDER_TOGGLE_01
 *
 * El pseudo-elemento existente conserva exactamente su diseño,
 * posición, grosor y color.
 *
 * Visibilidad automática solo en /categoria/*:
 * - menú como primer elemento visual: visible;
 * - banner como primer elemento visual: oculto.
 *
 * CATEGORY_TOP_DIVIDER_AUTO_01
 */
.wp-theme-layout-traditional
.wp-traditional-catalog:not(.wp-traditional-catalog--top-divider)::before {
    display: none;
}


/* 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_HEADER_04
 *
 * Carrito y Checkout:
 * barra superior fija como estructura, usando exactamente
 * colores y altura visual del menú Traditional.
 *
 * El banner, cuando está habilitado, se renderiza debajo.
 */
.wp-theme-layout-traditional .wp-traditional-transaction-header {
    position: sticky;
    top: 0;
    z-index: 1100;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background: var(--wp-traditional-rail-bg, #88B8A7);
    color: var(--wp-traditional-rail-text, #FFFFFF);
    border: 0;
    box-shadow: none;
}

.wp-theme-layout-traditional
.wp-traditional-transaction-header__inner {
    /*
     * Inset visual de 16px por lado respecto del ancho nominal
     * del banner. Evita que iconos/textos se perciban más anchos
     * que la imagen corporativa.
     */
    width: min(
        calc(100% - 80px),
        calc(var(--wp-traditional-max-width) - 32px)
    );
    min-height: 68px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.wp-theme-layout-traditional
.wp-traditional-transaction-header__home {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    color: currentColor;
    text-decoration: none;
}

.wp-theme-layout-traditional
.wp-traditional-transaction-header__home:hover,
.wp-theme-layout-traditional
.wp-traditional-transaction-header__home:focus-visible {
    color: currentColor;
    text-decoration: none;
}

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

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

.wp-theme-layout-traditional
.wp-traditional-transaction-header__context {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    text-align: right;
}

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

.wp-theme-layout-traditional
.wp-traditional-transaction-banner {
    display: block;
}

@media (max-width: 640px) {
    .wp-theme-layout-traditional
    .wp-traditional-transaction-header__inner {
        width: calc(100% - 28px);
        min-height: 58px;
        gap: 16px;
    }

    .wp-theme-layout-traditional
    .wp-traditional-transaction-header__business,
    .wp-theme-layout-traditional
    .wp-traditional-transaction-header__context {
        font-size: 16px;
    }

    .wp-theme-layout-traditional
    .wp-traditional-transaction-header__home-icon,
    .wp-theme-layout-traditional
    .wp-traditional-transaction-header__cart-icon {
        width: 22px;
        height: 22px;
    }
}

/*
 * 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, #fff)
    );
}

.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 {
    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;
}

@media (max-width: 768px) {
    .wp-theme-layout-traditional .wp-traditional-nav-rail__inner {
        grid-template-columns:
            minmax(72px, .8fr)
            minmax(0, 2fr)
            minmax(44px, .8fr);
        gap: 10px;
    }

    .wp-theme-layout-traditional .wp-traditional-sticky-brand {
        font-size: 14px;
    }

    .wp-theme-layout-traditional
    .wp-traditional-nav-rail__center {
        gap: 12px;
    }

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


/* MP_TRADITIONAL_STICKY_BRAND_CART_POSITION_02 */

/*
 * El nombre de la pastelería permanece como identidad
 * independiente a la izquierda.
 *
 * Home, categorías y carrito vuelven a formar el grupo
 * central original de navegación.
 */
.wp-theme-layout-traditional
.wp-traditional-nav-rail__center
.wp-traditional-cart-link {
    flex: 0 0 auto;
}


/*
 * 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;
}
