/* =====================================================================
   Tienda nueva Winner (tema views/store/nuevo)
   Se carga después de los estilos del tema default y solo los ajusta.
   Todas las reglas van bajo .wn-store para no afectar la tienda actual.
   ===================================================================== */

:root {
  --wn-navy: #17417a;
  --wn-navy-dark: #0d2c56;
  --wn-navy-soft: #f4f7fc;
  --wn-cta: #d4380b;          /* naranja de marca oscurecido: texto blanco legible */
  --wn-cta-dark: #b02d07;
  --wn-points: #442781;
  --wn-points-soft: #efeaf8;
  --wn-ok: #1b6b45;
  --wn-ok-soft: #e8f5ee;
  --wn-error: #b42318;
  --wn-ground: #f3f4f8;
  --wn-line: #e3e5ee;
  --wn-field: #c9ced8;
  --wn-text: #1f2433;
  --wn-text-2: #3b4152;
  --wn-muted: #5b6275;
  --wn-radius: 14px;
  --wn-shadow: 0 8px 24px rgba(23, 65, 122, .08);
}

.wn-store {
  background: var(--wn-ground);
  color: var(--wn-text);
  font-family: 'Montserrat', sans-serif;
}

/* ---------- Barra de vista previa y franja del líder ---------- */
.wn-store .wn-preview-bar {
  background: #fff7e6;
  color: #6b4400;
  font-size: 13px;
  text-align: center;
  padding: 6px 16px;
  border-bottom: 1px solid #f1dfb6;
}
.wn-store .wn-preview-bar a { color: #6b4400; font-weight: 700; text-decoration: underline; }

.wn-store .wn-top-bar {
  background: var(--wn-navy) !important;
  color: #fff;
  font-size: 13px;
  padding: 0;
}
.wn-store .wn-top-bar__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 6px 16px;
  padding-top: 8px;
  padding-bottom: 8px;
  min-height: 20px;
}
.wn-store .wn-top-bar:empty,
.wn-store .wn-top-bar__inner:empty { display: none; }
.wn-store .wn-lider { display: inline-flex; align-items: center; gap: 8px; }
.wn-store .wn-lider__avatar {
  width: 26px; height: 26px; border-radius: 50%;
  background: #2d5a96; color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 700;
}
.wn-store .wn-top-bar__aviso { opacity: .92; }

/* ---------- Encabezado ---------- */
.wn-store #myHeader {
  background: #fff;
  border-bottom: 1px solid var(--wn-line);
  box-shadow: none;
}
.wn-store #myHeader .navbar-brand img { height: 56px; width: auto; }
.wn-store #myHeader .nav-link { color: var(--wn-navy); font-weight: 600; }
.wn-store #myHeader .nav-item.active .nav-link,
.wn-store #myHeader .nav-link:hover { color: var(--wn-cta); }
.wn-store .header-search-bar {
  background: var(--wn-ground);
  border-radius: 12px;
  min-height: 44px;
}
.wn-store .cart-icon-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 12px;
  border: 1.5px solid var(--wn-field);
  color: var(--wn-navy) !important;
}
.wn-store .cart-top .cart-count {
  background: var(--wn-cta);
  color: #fff;
  min-width: 20px; height: 20px; border-radius: 10px;
  font-size: 11px; font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center;
  top: -6px; right: -6px;
}
.wn-store .name_user_show { display: none; }

/* ---------- Botones genéricos ---------- */
.wn-store .wn-btn {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; min-height: 52px;
  border-radius: var(--wn-radius);
  font-family: inherit; font-size: 16px; font-weight: 700;
  text-decoration: none; cursor: pointer;
  border: none;
}
.wn-store .wn-btn--cta { background: var(--wn-cta); color: #fff !important; }
.wn-store .wn-btn--cta:hover { background: var(--wn-cta-dark); }
.wn-store .wn-btn--outline { background: #fff; color: var(--wn-navy); border: 1.5px solid var(--wn-navy); }
.wn-store .wn-btn--link { background: transparent; color: var(--wn-navy); min-height: 44px; font-size: 15px; }
.wn-store :focus-visible { outline: 3px solid rgba(23, 65, 122, .45); outline-offset: 2px; }

/* ---------- Carrito lateral ---------- */
.wn-store .wn-cart-backdrop {
  position: fixed; inset: 0;
  background: rgba(13, 44, 86, .55);
  opacity: 0; pointer-events: none;
  transition: opacity .2s ease;
  z-index: 1040;
}
.wn-store .wn-cart-drawer {
  position: fixed; top: 0; right: 0; bottom: 0;
  width: 440px; max-width: 100%;
  background: #fff;
  display: flex; flex-direction: column;
  box-shadow: -12px 0 40px rgba(13, 44, 86, .2);
  transform: translateX(100%);
  transition: transform .25s ease;
  z-index: 1050;
  outline: none;
}
.wn-store.wn-cart-open { overflow: hidden; }
.wn-store.wn-cart-open .wn-cart-backdrop { opacity: 1; pointer-events: auto; }
.wn-store.wn-cart-open .wn-cart-drawer { transform: translateX(0); }
@media (prefers-reduced-motion: reduce) {
  .wn-store .wn-cart-drawer, .wn-store .wn-cart-backdrop { transition: none; }
}
.wn-store .wn-cart-drawer__head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 20px 24px 12px;
}
.wn-store .wn-cart-drawer__head h2 { margin: 0; font-size: 22px; font-weight: 700; color: var(--wn-navy); }
.wn-store .wn-cart-drawer__close {
  width: 44px; height: 44px; border-radius: 22px; border: none;
  background: var(--wn-ground); color: var(--wn-navy);
  display: inline-flex; align-items: center; justify-content: center;
}
.wn-store .wn-cart-added {
  margin: 0 24px 4px;
  display: flex; align-items: center; gap: 10px;
  background: var(--wn-ok-soft); color: var(--wn-ok);
  border-radius: 12px; padding: 12px 14px;
  font-size: 14px; font-weight: 600;
}
.wn-store .wn-cart-added[hidden] { display: none; }
.wn-store .wn-cart-drawer__body {
  /* anula el estilo de desplegable del tema default */
  position: static !important;
  display: flex !important; flex-direction: column;
  flex: 1; min-height: 0;
  width: auto !important; max-height: none !important;
  box-shadow: none !important; border: none !important;
  background: transparent !important;
  padding: 0 !important; margin: 0 !important;
}
.wn-store .wn-mini-cart {
  list-style: none; margin: 0; padding: 0 24px;
  flex: 1; overflow-y: auto;
}
.wn-store .wn-mini-cart__item {
  display: flex; gap: 14px; align-items: flex-start;
  padding: 16px 0; border-bottom: 1px solid var(--wn-line);
}
.wn-store .wn-mini-cart__img img {
  width: 80px; height: 80px; object-fit: cover;
  border-radius: 12px; background: #e6e9f2;
}
.wn-store .wn-mini-cart__info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.wn-store .wn-mini-cart__name { font-size: 15px; font-weight: 600; color: var(--wn-text); text-decoration: none; }
.wn-store .wn-mini-cart__meta { font-size: 12px; color: var(--wn-muted); }
.wn-store .wn-mini-cart__price { font-size: 16px; font-weight: 700; }
.wn-store .wn-mini-cart__remove {
  width: 40px; height: 40px; border: none; background: transparent;
  color: var(--wn-muted); border-radius: 10px;
  display: inline-flex; align-items: center; justify-content: center;
}
.wn-store .wn-mini-cart__remove:hover { background: #fff1f0; color: var(--wn-error); }
.wn-store .wn-mini-cart__footer {
  padding: 18px 24px 24px; border-top: 1px solid var(--wn-line);
  display: flex; flex-direction: column; gap: 10px;
}
.wn-store .wn-mini-cart__row { display: flex; justify-content: space-between; font-size: 15px; color: var(--wn-text-2); }
.wn-store .wn-mini-cart__row strong { color: var(--wn-text); }
.wn-store .wn-text-points { color: var(--wn-points) !important; }
.wn-store .wn-mini-cart__note { margin: 0; font-size: 12px; color: var(--wn-muted); }
.wn-store .wn-mini-cart__empty {
  flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 12px; padding: 40px 24px; color: var(--wn-muted); text-align: center;
}
.wn-store .wn-mini-cart__empty p { margin: 0; font-size: 16px; font-weight: 600; color: var(--wn-text-2); }
.wn-store .wn-mini-cart__empty .wn-btn { max-width: 240px; }

/* ---------- Ficha de producto ---------- */
.wn-store .single-product .breacrumb { font-size: 13px; color: var(--wn-muted); }
.wn-store .single-product-row {
  background: #fff;
  border-radius: 20px;
  padding: 32px;
  box-shadow: var(--wn-shadow);
  gap: 32px;
}
.wn-store .produc-gallery { background: transparent; }
.wn-store .pr-title h1 { color: var(--wn-navy); font-weight: 700; font-size: 30px; line-height: 1.2; }
.wn-store .product-subtitle { color: var(--wn-text-2); font-size: 15px; }
.wn-store .review-row { font-size: 13px; color: var(--wn-muted); }
.wn-store .wn-categoria a { color: var(--wn-navy); font-weight: 600; }

.wn-store .varition-title { display: block; font-size: 15px; font-weight: 700; color: var(--wn-text); margin-bottom: 10px; }
.wn-store .variations { display: flex; flex-wrap: wrap; gap: 8px; margin-left: 0 !important; }
.wn-store .variations span {
  display: inline-flex; align-items: center; gap: 6px;
  min-height: 44px; padding: 0 18px;
  border-radius: 999px !important;
  border: 1.5px solid var(--wn-field) !important;
  background: #fff !important;
  color: var(--wn-text) !important;
  font-size: 14px; font-weight: 500;
  cursor: pointer;
}
.wn-store .variations span.active,
.wn-store .variations span:hover {
  border-color: var(--wn-navy) !important;
  background: var(--wn-navy) !important;
  color: #fff !important;
}

.wn-store .variations-pricing-row { display: flex; flex-direction: column; gap: 16px; }
.wn-store .sale-price { font-size: 34px; font-weight: 800; color: var(--wn-text); }
.wn-store .wn-points {
  align-self: flex-start;
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--wn-points-soft); color: var(--wn-points);
  padding: 7px 12px; border-radius: 999px;
  font-size: 14px; font-weight: 700;
}
.wn-store .quantity-area {
  align-self: flex-start;
  border: 1.5px solid var(--wn-field); border-radius: var(--wn-radius);
  overflow: hidden;
}
.wn-store .quantity-area button { width: 48px; height: 52px; background: #fff; color: var(--wn-navy); border: none; }
.wn-store .quantity-area input { width: 48px; height: 52px; border: none; text-align: center; font-weight: 700; font-size: 16px; }

.wn-store .btn-buy-now {
  background: var(--wn-cta) !important;
  border-radius: var(--wn-radius) !important;
  min-height: 54px;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 17px !important;
}
.wn-store .btn-buy-now:hover { background: var(--wn-cta-dark) !important; box-shadow: 0 8px 20px rgba(212, 56, 11, .25); }

.wn-store .wn-trust {
  list-style: none; margin: 4px 0 0; padding: 18px 0 0;
  border-top: 1px solid var(--wn-line);
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px;
}
.wn-store .wn-trust li {
  display: flex; align-items: center; gap: 10px;
  font-size: 13px; font-weight: 500; color: var(--wn-text-2);
}
.wn-store .wn-trust svg { color: var(--wn-navy); flex-shrink: 0; }

.wn-store .payment-methods-row { opacity: .9; }
.wn-store .coupon-wrapper { border-radius: 12px; }

.wn-store .product-description-reviews .description-reviews-tabs a { min-height: 48px; display: inline-flex; align-items: center; font-weight: 600; }
.wn-store .product-description-reviews .description-reviews-tabs a.active { color: var(--wn-navy); border-bottom: 3px solid var(--wn-navy); }

@media (max-width: 767px) {
  .wn-store .single-product-row { padding: 16px; border-radius: 0; box-shadow: none; }
  .wn-store .pr-title h1 { font-size: 24px; }
  .wn-store .sale-price { font-size: 28px !important; }
  .wn-store .wn-trust { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .wn-store .wn-trust li { flex-direction: column; text-align: center; font-size: 12px; }
  /* Botón de compra fijo abajo en el celular */
  .wn-store .single-product .btn-buy-now {
    position: fixed; left: 16px; right: 16px; bottom: 16px;
    width: auto; z-index: 1030;
    box-shadow: 0 8px 24px rgba(13, 44, 86, .25);
  }
  .wn-store .single-product { padding-bottom: 96px; }
}

/* ---------- Checkout ---------- */
.wn-store .cart-page > .container { max-width: 1200px; }
.wn-store .wn-checkout-head { display: flex; flex-direction: column; gap: 14px; margin: 8px 0 24px; }
.wn-store .wn-checkout-title { margin: 0; font-size: 26px; font-weight: 700; color: var(--wn-navy); }
.wn-store .wn-checkout-note { margin: 0; font-size: 14px; color: var(--wn-muted); }
.wn-store .wn-steps {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px;
  max-width: 720px;
}
.wn-store .wn-steps__item a,
.wn-store .wn-steps__item > span:last-child { text-decoration: none; }
.wn-store .wn-steps__item a { display: flex; flex-direction: column; gap: 8px; color: inherit; }
.wn-store .wn-steps__item { display: flex; flex-direction: column; gap: 8px; }
.wn-store .wn-steps__item > .wn-steps__bar { display: block; }
.wn-store .wn-steps__bar { display: block; height: 4px; border-radius: 2px; background: #d7d9e4; }
.wn-store .wn-steps__label { font-size: 13px; font-weight: 500; color: var(--wn-muted); }
.wn-store .wn-steps__item.is-active .wn-steps__bar,
.wn-store .wn-steps__item.is-done .wn-steps__bar { background: var(--wn-navy); }
.wn-store .wn-steps__item.is-active .wn-steps__label { color: var(--wn-navy); font-weight: 700; }
.wn-store .wn-steps__item.is-done .wn-steps__label { color: var(--wn-navy); font-weight: 600; }
.wn-store .wn-step-anchor { scroll-margin-top: 120px; }

.wn-store .wn-checkout-grid { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; }
.wn-store .wn-checkout-main { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.wn-store .wn-checkout-aside { flex: 1 1 340px; min-width: 0; position: sticky; top: 110px; }

/* Cada bloque del checkout como tarjeta blanca */
.wn-store .wn-checkout-main > .checkout-setp,
.wn-store .wn-checkout-main > .section-card,
.wn-store .wn-checkout-main > #delivery-method-container,
.wn-store .wn-checkout-main > #pickup-section,
.wn-store .wn-checkout-main > #shipping-section,
.wn-store .wn-checkout-main > #shipping-grupal,
.wn-store .wn-checkout-main > #recipient-info-container,
.wn-store .wn-checkout-main > .non-confirm > .checkout-payments {
  background: #fff;
  border: none;
  border-radius: 18px;
  box-shadow: var(--wn-shadow);
  padding: 24px 28px;
  margin: 0 !important;
  max-width: none;
}
.wn-store .wn-checkout-main > #shipping-section:empty,
.wn-store .wn-checkout-main > #pickup-section[style*="display:none"],
.wn-store .wn-checkout-main > #pickup-section[style*="display: none"] { display: none; }
.wn-store .wn-checkout-main .step-head { background: transparent !important; padding: 0 !important; border: none !important; margin-bottom: 12px; }
.wn-store .wn-checkout-main h2,
.wn-store .wn-checkout-main h3,
.wn-store .wn-checkout-main .step-head h2,
.wn-store .wn-checkout-main .step-head h4,
.wn-store .section-card__head h4 {
  font-size: 19px !important; font-weight: 700 !important; color: var(--wn-text) !important;
  margin: 0 0 12px;
}
.wn-store .wn-checkout-main .step-head h2:empty { display: none; }

/* Campos */
.wn-store .cart-page .form-control,
.wn-store .cart-page select,
.wn-store .cart-page textarea {
  min-height: 48px;
  border: 1.5px solid var(--wn-field);
  border-radius: 12px;
  font-size: 15px;
  color: var(--wn-text);
  box-shadow: none;
}
.wn-store .cart-page textarea.form-control { min-height: 48px; height: auto; }
.wn-store .cart-page .form-control:focus,
.wn-store .cart-page select:focus,
.wn-store .cart-page textarea:focus { border-color: var(--wn-navy); box-shadow: 0 0 0 3px rgba(23, 65, 122, .15); }
.wn-store .cart-page label,
.wn-store .cart-page .control-label { font-size: 13px; font-weight: 600; color: var(--wn-text-2); }
.wn-store .cart-page .is-invalid,
.wn-store .cart-page .error-input { border-color: var(--wn-error) !important; background: #fff6f5; }
.wn-store .cart-page .invalid-feedback,
.wn-store .cart-page .text-danger { color: var(--wn-error) !important; font-size: 13px; font-weight: 500; }

/* Tipo de venta: tarjetas en lugar de píldoras */
.wn-store .order-type-card { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.wn-store .order-type-card .section-card__head,
.wn-store .order-type-card small { grid-column: 1 / -1; margin: 0; }
.wn-store .toggle-pill { margin: 0; display: block; }
.wn-store .toggle-pill .pill-body {
  min-width: 0; height: 100%;
  border-radius: var(--wn-radius);
  border: 1.5px solid var(--wn-field);
  background: #fff;
  padding: 16px;
  gap: 4px;
}
.wn-store .toggle-pill .pill-title { color: var(--wn-text); font-size: 15px; line-height: 1.3; }
.wn-store .toggle-pill .pill-desc { font-size: 13px; color: var(--wn-text-2); line-height: 1.45; font-weight: 400; }
.wn-store .toggle-pill input:checked + .pill-body {
  border: 2px solid var(--wn-navy);
  background: var(--wn-navy-soft);
  color: var(--wn-text);
}
.wn-store .toggle-pill input:checked + .pill-body .pill-title { color: var(--wn-navy); }
.wn-store .toggle-pill.disabled .pill-body { opacity: .55; cursor: not-allowed; }

/* Método de entrega: tarjetas */
.wn-store .wn-delivery { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.wn-store .wn-delivery > h2 { grid-column: 1 / -1; }
.wn-store .wn-delivery > label {
  display: flex !important; align-items: center; gap: 10px;
  min-height: 64px; margin: 0;
  padding: 0 16px;
  border-radius: var(--wn-radius) !important;
  border: 1.5px solid var(--wn-field) !important;
  background: #fff !important;
  color: var(--wn-text) !important;
  font-size: 15px; font-weight: 600;
  text-align: left; white-space: normal;
}
.wn-store .wn-delivery > label[style*="display: none"],
.wn-store .wn-delivery > label[style*="display:none"] { display: none !important; }
.wn-store .wn-delivery > label input { width: 20px; height: 20px; accent-color: var(--wn-navy); margin: 0; }
.wn-store .wn-delivery > label:has(input:checked) {
  border: 2px solid var(--wn-navy) !important;
  background: var(--wn-navy-soft) !important;
  color: var(--wn-navy) !important;
}

/* Transportadoras y métodos de pago (vienen de vistas parciales) */
.wn-store .shipping-provider-option,
.wn-store .dynamic-payment label,
.wn-store .dynamic-payment .payment-method,
.wn-store .dynamic-payment .card {
  border-radius: var(--wn-radius) !important;
}
.wn-store .dynamic-payment label:has(input:checked) {
  border-color: var(--wn-navy) !important;
  background: var(--wn-navy-soft);
}
.wn-store .cart-page input[type="radio"],
.wn-store .cart-page input[type="checkbox"] { accent-color: var(--wn-navy); }

/* Botón final */
.wn-store .btn-checoutcart,
.wn-store #confirm-orderP {
  display: flex !important; align-items: center; justify-content: center;
  width: 100%; min-height: 54px;
  background: var(--wn-cta) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--wn-radius) !important;
  font-size: 16px; font-weight: 700;
  text-transform: none;
}
.wn-store .btn-checoutcart:hover { background: var(--wn-cta-dark) !important; }
.wn-store .warning-div .alert { border-radius: 12px; }

/* Resumen lateral */
.wn-store .wn-summary {
  background: #fff;
  border-radius: 18px;
  box-shadow: var(--wn-shadow);
  padding: 20px 24px;
}
.wn-store .wn-summary__toggle {
  font-size: 18px; font-weight: 700; color: var(--wn-navy);
  cursor: pointer; list-style: none;
  display: flex; justify-content: space-between; align-items: center;
  min-height: 44px;
}
.wn-store .wn-summary__toggle::-webkit-details-marker { display: none; }
.wn-store .wn-summary__toggle::after {
  content: ""; width: 10px; height: 10px;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(45deg); transition: transform .2s;
}
.wn-store .wn-summary[open] .wn-summary__toggle::after { transform: rotate(-135deg); }
.wn-store .wn-summary .cart-wrapper,
.wn-store .wn-summary .checkout-setp { margin: 0; padding: 0; background: transparent; box-shadow: none; border: none; }
.wn-store .wn-summary .step-head { display: none; }
.wn-store .wn-summary table { font-size: 14px; }
.wn-store .wn-summary .table td,
.wn-store .wn-summary .table th { border-color: var(--wn-line); vertical-align: middle; }

@media (min-width: 992px) {
  .wn-store .wn-summary__toggle { pointer-events: none; }
  .wn-store .wn-summary__toggle::after { display: none; }
}
@media (max-width: 991px) {
  .wn-store .wn-checkout-aside { order: -1; position: static; flex-basis: 100%; }
  .wn-store .wn-summary { border-radius: 14px; padding: 12px 16px; }
  .wn-store .wn-summary .table-responsive,
  .wn-store .wn-summary table { overflow-x: auto; display: block; }
}
@media (max-width: 575px) {
  .wn-store .wn-checkout-main > .checkout-setp,
  .wn-store .wn-checkout-main > .section-card,
  .wn-store .wn-checkout-main > #delivery-method-container,
  .wn-store .wn-checkout-main > #pickup-section,
  .wn-store .wn-checkout-main > #shipping-section,
  .wn-store .wn-checkout-main > #recipient-info-container,
  .wn-store .wn-checkout-main > .non-confirm > .checkout-payments { padding: 20px 16px; border-radius: 14px; }
  .wn-store .wn-checkout-title { font-size: 22px; }
  .wn-store .wn-steps__label { font-size: 12px; }
}

/* ---------- Avisos (SweetAlert2) con la tipografía de la tienda ---------- */
.swal2-popup { font-family: 'Montserrat', sans-serif !important; border-radius: 18px !important; }
.swal2-title { color: #17417a !important; font-size: 20px !important; }

/* ---------- Facturación: datos guardados y copia desde envío ---------- */
.wn-store .wn-billing-saved {
  display: flex; align-items: flex-start; gap: 10px;
  background: var(--wn-ok-soft); color: var(--wn-ok);
  border-radius: 12px; padding: 12px 14px; margin-bottom: 14px;
  font-size: 14px; font-weight: 500;
}
.wn-store .wn-billing-saved svg { flex-shrink: 0; margin-top: 1px; }
.wn-store .wn-billing-same {
  display: flex; align-items: center; gap: 10px;
  min-height: 48px; padding: 10px 14px; margin-bottom: 14px;
  border: 1.5px solid var(--wn-field); border-radius: 12px;
  font-size: 14px; font-weight: 600; color: var(--wn-text);
  cursor: pointer;
}
.wn-store .wn-billing-same[hidden] { display: none; }
.wn-store .wn-billing-same:has(input:checked) { border-color: var(--wn-navy); background: var(--wn-navy-soft); color: var(--wn-navy); }
.wn-store .wn-billing-same input { width: 20px; height: 20px; margin: 0; flex-shrink: 0; }
.wn-store .wn-hidden-by-copy { display: none !important; }

/* ---------- Tarjetas del catálogo con "Agregar" ---------- */
.wn-store .pc-product-wrapper { background: #fff; box-shadow: var(--wn-shadow); padding-bottom: 14px; }
.wn-store .wn-card-link { color: var(--wn-text); text-decoration: none; }
.wn-store .wn-card-link:hover { color: var(--wn-navy); }
.wn-store .wn-card-points { font-size: 12px; font-weight: 700; color: var(--wn-points); margin: -2px 0 8px; }
.wn-store .wn-card-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.wn-store .wn-card-actions .pc-price-box { display: flex; flex-direction: column; text-align: left; }
.wn-store .wn-card-actions .pc-price { font-size: 17px; font-weight: 800; color: var(--wn-text); }
.wn-store .wn-quick-add {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  min-height: 44px; padding: 0 14px;
  border: none; border-radius: 12px;
  background: var(--wn-cta); color: #fff !important;
  font-family: inherit; font-size: 14px; font-weight: 700;
  text-decoration: none; cursor: pointer; white-space: nowrap;
  transition: background .15s ease;
}
.wn-store .wn-quick-add:hover { background: var(--wn-cta-dark); }
.wn-store .wn-quick-add--options { background: #fff; color: var(--wn-navy) !important; border: 1.5px solid var(--wn-navy); }
.wn-store .wn-quick-add--options:hover { background: var(--wn-navy-soft); }
.wn-store .wn-quick-add.is-loading { opacity: .7; cursor: progress; }
.wn-store .wn-quick-add.is-added { background: var(--wn-ok); }

/* ---------- Aviso breve ---------- */
.wn-store .wn-toast {
  position: fixed; left: 50%; bottom: 24px;
  transform: translate(-50%, 16px);
  display: flex; align-items: center; gap: 12px;
  max-width: calc(100% - 32px); width: max-content;
  background: var(--wn-text); color: #fff;
  padding: 12px 12px 12px 16px; border-radius: 14px;
  box-shadow: 0 12px 32px rgba(13, 44, 86, .3);
  font-size: 14px; z-index: 1060;
  opacity: 0; transition: opacity .2s ease, transform .2s ease;
}
.wn-store .wn-toast[hidden] { display: none; }
.wn-store .wn-toast.is-in { opacity: 1; transform: translate(-50%, 0); }
.wn-store .wn-toast__icon { color: #7fd6a8; flex-shrink: 0; }
.wn-store .wn-toast--error .wn-toast__icon { color: #ffb4a8; }
.wn-store .wn-toast__text a { color: #fff; font-weight: 700; text-decoration: underline; }
.wn-store .wn-toast__action {
  min-height: 40px; padding: 0 14px; border: none; border-radius: 10px;
  background: #fff; color: var(--wn-navy); font-family: inherit; font-size: 14px; font-weight: 700;
  white-space: nowrap;
}
.wn-store .wn-toast__action[hidden] { display: none; }
@media (max-width: 767px) {
  /* en la ficha el botón de compra está fijo abajo: el aviso va encima */
  .wn-store .wn-toast { bottom: 88px; }
}
.wn-store .cart-icon-btn.wn-bump { animation: wn-bump .4s ease; }
@keyframes wn-bump { 0% { transform: scale(1); } 40% { transform: scale(1.15); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) {
  .wn-store .wn-toast { transition: none; }
  .wn-store .cart-icon-btn.wn-bump { animation: none; }
}

/* ---------- Logos de medios de pago: todos en la misma caja ---------- */
.wn-store .payment-methods-row { flex-direction: column; align-items: flex-start; gap: 12px; padding: 16px; }
.wn-store .payment-brands { display: flex; gap: 8px; border: none; padding: 0; }
.wn-store .payment-brand-logo,
.wn-store .pg-listing li {
  width: 96px; height: 48px;
  box-sizing: border-box;
  padding: 8px 10px;
  border: 1px solid var(--wn-line); border-radius: 10px;
  background: #fff;
  display: flex; align-items: center; justify-content: center;
}
.wn-store .payment-brand-logo { object-fit: contain; }
.wn-store .pg-listing { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.wn-store .pg-listing li img {
  width: 100%; height: 100%;
  max-height: none; object-fit: contain;
}
@media (max-width: 767px) {
  .wn-store .payment-brand-logo,
  .wn-store .pg-listing li { width: 80px; height: 40px; padding: 6px 8px; }
}

/* ---------- Enlace a opiniones ---------- */
.wn-store .wn-reviews-link { color: var(--wn-navy); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.wn-store .wn-reviews-link:hover { color: var(--wn-cta); }
.wn-store #opiniones { scroll-margin-top: 120px; }

/* ---------- Texto informativo del tipo de compra ---------- */
.wn-store .wn-order-info {
  grid-column: 1 / -1;
  margin: 0;
  display: flex; gap: 10px; align-items: flex-start;
  background: var(--wn-navy-soft); color: var(--wn-navy);
  border-radius: 12px; padding: 12px 14px;
  font-size: 14px; line-height: 1.45;
}
.wn-store .wn-order-info:empty { display: none; }
.wn-store .wn-order-info::before {
  content: "i"; flex-shrink: 0;
  width: 20px; height: 20px; border-radius: 50%;
  background: var(--wn-navy); color: #fff;
  font-size: 12px; font-weight: 700; font-style: italic;
  display: inline-flex; align-items: center; justify-content: center;
}

/* ---------- Resumen del pedido (checkout_cart.php del tema nuevo) ---------- */
.wn-checkout-aside .cart-header,
.wn-checkout-aside .cart-items-row,
.wn-checkout-aside .cart-footer-row { display: none; }
.wn-sum { margin: 0; }
.wn-sum__list { list-style: none; margin: 0; padding: 0; }
.wn-sum__item { display: grid; grid-template-columns: 56px 1fr 24px; gap: 12px; align-items: start; padding: 14px 0; border-bottom: 1px solid #eceef3; }
.wn-sum__item:first-child { padding-top: 4px; }
.wn-sum__img { display: block; width: 56px; height: 56px; border-radius: 10px; background: #f5f6f9; overflow: hidden; }
.wn-sum__img img { width: 100%; height: 100%; object-fit: contain; }
.wn-sum__info { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.wn-sum__name { font-size: 14px; font-weight: 600; line-height: 1.3; color: #1d2340; text-decoration: none; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.wn-sum__name:hover { color: #1a3a7c; }
.wn-sum__var { font-size: 12px; color: #6b7189; }
.wn-sum__unit { font-size: 12px; color: #8a90a6; }
.wn-sum__row { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 6px; }
.wn-sum__qty.cart-counter { display: inline-flex; align-items: center; border: 1px solid #dfe2ea; border-radius: 8px; overflow: hidden; height: 30px; margin: 0; }
.wn-sum__qty.cart-counter button { width: 28px; height: 30px; border: 0; background: #f5f6f9; color: #1d2340; font-size: 15px; line-height: 1; padding: 0; cursor: pointer; }
.wn-sum__qty.cart-counter button:hover { background: #e9ecf3; }
.wn-sum__qty.cart-counter .qty-input { width: 34px; height: 30px; border: 0; text-align: center; font-size: 13px; font-weight: 600; padding: 0; background: #fff; }
.wn-sum__qty-fixed { font-size: 13px; color: #6b7189; }
.wn-sum__total { font-size: 14px; font-weight: 700; color: #1d2340; white-space: nowrap; }
.wn-sum__remove { color: #9aa0b4; display: inline-flex; padding: 4px; border-radius: 6px; margin-top: -2px; }
.wn-sum__remove:hover { color: #d63b1a; background: #fdeee9; }
.wn-sum__totals { margin: 14px 0 0; padding: 0; }
.wn-sum__line { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; font-size: 14px; color: #4a5068; }
.wn-sum__line dt { font-weight: 400; margin: 0; }
.wn-sum__line dd { margin: 0; white-space: nowrap; font-weight: 600; color: #1d2340; }
.wn-sum__line--grand { margin-top: 8px; padding-top: 12px; border-top: 1px solid #dfe2ea; font-size: 16px; }
.wn-sum__line--grand dt, .wn-sum__line--grand dd { font-weight: 700; color: #1d2340; }
/* Equivalente en dólares debajo del valor en moneda local */
.wn-sum__total, .wn-sum__line dd { text-align: right; }
.wn-sum__usd { display: block; margin-top: 1px; font-size: 11.5px; font-weight: 500; color: #6b7184; white-space: nowrap; }
.wn-sum__line--grand .wn-sum__usd { font-size: 13px; font-weight: 600; color: #4a5068; }
.wn-sum__line--pts { margin-top: 6px; padding: 8px 10px; border-radius: 8px; background: #f1edf9; font-size: 14px; }
.wn-sum__line--pts dt, .wn-sum__line--pts dd { font-weight: 700; }
.wn-mini-cart__usd { font-size: 12px; font-weight: 500; color: #6b7184; }
.wn-mini-cart__row strong .wn-mini-cart__usd { display: block; text-align: right; }
.wn-mini-cart__row strong { text-align: right; }

/* El tema default da a ".cart-wrapper ul/li" display:flex y anchos fijos (40% / 15%).
   Se anulan aqui para el resumen compacto. */
.cart-wrapper ul.wn-sum__list { display: block; box-shadow: none; padding: 0; margin: 0; }
.cart-wrapper ul.wn-sum__list > li.wn-sum__item { display: grid; grid-template-columns: 56px minmax(0, 1fr) 24px; width: auto; padding: 14px 0; align-items: start; text-align: left; }
.cart-wrapper ul.wn-sum__list > li.wn-sum__item:first-child { padding-top: 4px; }
.wn-checkout-aside .cart-wrapper .checkout-setp,
.wn-checkout-aside .cart-wrapper .cart-body { box-shadow: none; padding: 0; margin: 0; background: transparent; }

/* ---------- Ayuda por paso (columna derecha del checkout) ---------- */
.wn-help { margin-top: 16px; background: #fff; border: 1px solid #e6e9f0; border-radius: 16px; padding: 18px 18px 14px; }
.wn-help__title { display: flex; align-items: center; gap: 8px; margin: 0 0 4px; font-size: 16px; font-weight: 700; color: #1a3a7c; }
.wn-help__lead { margin: 0 0 6px; font-size: 12px; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; color: #8a90a6; }
.wn-help__panel[hidden] { display: none; }
.wn-help details { border-top: 1px solid #eef0f5; }
.wn-help details:first-of-type { border-top: 0; }
.wn-help summary { list-style: none; cursor: pointer; padding: 10px 22px 10px 0; position: relative; font-size: 14px; font-weight: 600; color: #1d2340; }
.wn-help summary::-webkit-details-marker { display: none; }
.wn-help summary::after { content: "+"; position: absolute; right: 2px; top: 8px; font-size: 18px; font-weight: 400; color: #8a90a6; }
.wn-help details[open] > summary::after { content: "−"; }
.wn-help summary:focus-visible { outline: 2px solid #1a3a7c; outline-offset: 2px; border-radius: 4px; }
.wn-help details p { margin: 0 0 12px; font-size: 13px; line-height: 1.5; color: #4a5068; }
.wn-help__contact { display: flex; align-items: center; gap: 10px; margin-top: 10px; padding: 11px 14px; border-radius: 12px; background: #e9f8ef; color: #12733b; font-size: 14px; line-height: 1.3; text-decoration: none; }
.wn-help__contact:hover { background: #dcf3e6; color: #0e5f31; text-decoration: none; }
.wn-help__contact svg { flex: none; }

/* Ayuda dinamica: consejo segun lo que el cliente elige */
.wn-help__now { margin: 8px 0 12px; padding: 12px 14px; border-radius: 12px; background: #eef3fc; border-left: 3px solid #1a3a7c; font-size: 13px; line-height: 1.5; color: #24305a; }
.wn-help__now[hidden] { display: none; }
.wn-help__now ul { margin: 0; padding-left: 16px; }
.wn-help__now li + li { margin-top: 6px; }
.wn-help__now.is-new { animation: wnHelpPulse .5s ease; }
@keyframes wnHelpPulse { from { background: #dbe7fb; } to { background: #eef3fc; } }
@media (prefers-reduced-motion: reduce) { .wn-help__now.is-new { animation: none; } }
.wn-pill-tag { display: inline-block; margin-left: 4px; padding: 1px 6px; border-radius: 6px; background: #eef0f5; color: #6b7189; font-size: 10px; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; vertical-align: middle; }

/* ---------- Globos de ayuda "?" ---------- */
.wn-tip { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; margin-left: 4px; padding: 0; border: 1px solid currentColor; border-radius: 50%; background: transparent; color: #8a90a6; font-size: 11px; font-weight: 700; line-height: 1; cursor: pointer; vertical-align: middle; opacity: .85; }
.wn-tip:hover, .wn-tip[aria-expanded="true"] { color: #1a3a7c; opacity: 1; }
.wn-tip:focus-visible { outline: 2px solid #1a3a7c; outline-offset: 2px; }
.wn-tip-pop { position: absolute; z-index: 10050; padding: 10px 12px; border-radius: 10px; background: #1d2340; color: #fff; font-size: 13px; line-height: 1.45; box-shadow: 0 8px 24px rgba(16, 24, 48, .25); }

/* ---------- Ficha de producto: que falta para agregar ---------- */
.wn-next { margin: 4px 0 10px; padding: 10px 12px; border-radius: 10px; font-size: 13px; line-height: 1.45; }
.wn-next:empty { display: none; }
.wn-next.is-pending { background: #fff5e8; color: #8a4b08; border-left: 3px solid #e8890c; }
.wn-next.is-ready { background: #eef3fc; color: #24305a; border-left: 3px solid #1a3a7c; }

/* ---------- Guia "Como comprar" (inicio y categorias) ---------- */
.wn-guide { margin: 24px 0 8px; padding: 18px 20px; border-radius: 16px; background: #fff; border: 1px solid #e6e9f0; }
.wn-guide[hidden] { display: none; }
.wn-guide__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.wn-guide__title { margin: 0; font-size: 18px; font-weight: 700; color: #1a3a7c; }
.wn-guide__close { width: 32px; height: 32px; border: 0; border-radius: 8px; background: transparent; color: #8a90a6; font-size: 22px; line-height: 1; cursor: pointer; }
.wn-guide__close:hover { background: #f1f3f8; color: #1d2340; }
.wn-guide__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.wn-guide__steps li { display: flex; gap: 12px; align-items: flex-start; }
.wn-guide__steps strong { display: block; font-size: 14px; color: #1d2340; }
.wn-guide__steps span:not(.wn-guide__n) { font-size: 13px; color: #6b7189; }
.wn-guide__n { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: #1a3a7c; color: #fff; font-size: 14px; font-weight: 700; }
@media (max-width: 767px) { .wn-guide__steps { grid-template-columns: 1fr; gap: 12px; } }
.wn-card-points .wn-tip, .wn-points .wn-tip { position: relative; z-index: 3; }

/* ---------- Boton flotante "¿Te ayudo?" ---------- */
.wn-ayuda { position: fixed; right: 20px; bottom: 20px; z-index: 1040; font-family: inherit; }
.wn-ayuda__fab { display: inline-flex; align-items: center; gap: 8px; height: 48px; padding: 0 18px 0 14px; border: 0; border-radius: 24px; background: #1a3a7c; color: #fff; font-size: 15px; font-weight: 600; box-shadow: 0 8px 24px rgba(16, 24, 48, .28); cursor: pointer; transition: transform .15s ease, background .15s ease; }
.wn-ayuda__fab:hover { background: #142e63; transform: translateY(-1px); }
.wn-ayuda__fab:focus-visible { outline: 3px solid #9db8ef; outline-offset: 2px; }
.wn-ayuda.is-open .wn-ayuda__fab { background: #142e63; }
.wn-ayuda__panel { position: absolute; right: 0; bottom: 60px; width: 360px; max-width: calc(100vw - 32px); max-height: min(70vh, 560px); display: flex; flex-direction: column; background: #fff; border-radius: 18px; box-shadow: 0 16px 48px rgba(16, 24, 48, .25); overflow: hidden; }
.wn-ayuda__panel[hidden] { display: none; }
.wn-ayuda__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; padding: 16px 16px 8px 18px; background: #1a3a7c; color: #fff; }
.wn-ayuda__titulo { margin: 0; font-size: 17px; font-weight: 700; color: #fff; }
.wn-ayuda__sub { margin: 2px 0 0; font-size: 13px; color: #c9d6f2; }
.wn-ayuda__cerrar { width: 32px; height: 32px; border: 0; border-radius: 8px; background: transparent; color: #fff; font-size: 24px; line-height: 1; cursor: pointer; }
.wn-ayuda__cerrar:hover { background: rgba(255, 255, 255, .12); }
.wn-ayuda__buscar { display: flex; align-items: center; gap: 8px; margin: 0; padding: 10px 14px; background: #1a3a7c; color: #8fa6d6; }
.wn-ayuda__buscar input { flex: 1; height: 38px; padding: 0 12px; border: 0; border-radius: 10px; font-size: 14px; color: #1d2340; background: #fff; }
.wn-ayuda__buscar input:focus { outline: 2px solid #9db8ef; }
.wn-ayuda__body { flex: 1; overflow-y: auto; padding: 6px 18px 12px; }
.wn-ayuda__grupo { margin: 12px 0 4px; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #8a90a6; }
.wn-ayuda__q { border-bottom: 1px solid #eef0f5; }
.wn-ayuda__q summary { list-style: none; cursor: pointer; position: relative; padding: 11px 24px 11px 0; font-size: 14px; font-weight: 600; color: #1d2340; }
.wn-ayuda__q summary::-webkit-details-marker { display: none; }
.wn-ayuda__q summary::after { content: "+"; position: absolute; right: 2px; top: 9px; font-size: 18px; font-weight: 400; color: #8a90a6; }
.wn-ayuda__q[open] > summary::after { content: "−"; }
.wn-ayuda__q summary:focus-visible { outline: 2px solid #1a3a7c; outline-offset: 2px; border-radius: 4px; }
.wn-ayuda__q p { margin: 0 0 12px; font-size: 13px; line-height: 1.55; color: #4a5068; }
.wn-ayuda__vacio { margin: 16px 0; font-size: 14px; color: #6b7189; }
.wn-ayuda__contacto { display: flex; align-items: center; gap: 12px; padding: 12px 18px; border-top: 1px solid #eef0f5; background: #f2fbf5; color: #12733b; font-size: 13px; line-height: 1.35; text-decoration: none; }
.wn-ayuda__contacto:hover { background: #e4f6ea; color: #0e5f31; text-decoration: none; }
.wn-ayuda__avatar { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: #1fa855; color: #fff; font-weight: 700; }
@media (max-width: 767px) {
  .wn-ayuda { right: 12px; bottom: 12px; }
  .wn-ayuda__fab { width: 48px; padding: 0; justify-content: center; }
  .wn-ayuda__fab span { display: none; }
  .wn-ayuda__panel { position: fixed; left: 12px; right: 12px; bottom: 72px; width: auto; max-width: none; max-height: 75vh; }
  /* En la ficha, el boton "Agregar" fijo ocupa el borde inferior */
  .wn-ayuda.is-producto { bottom: 84px; }
  .wn-ayuda.is-producto .wn-ayuda__panel { bottom: 144px; }
}
@media print { .wn-ayuda { display: none; } }

/* ---------- Pagina de gracias (checkout_thankyou.php del tema nuevo) ---------- */
.wn-gracias { padding: 32px 0 8px; background: #f4f6fa; }
.wn-gracias__card { max-width: 760px; margin: 0 auto; padding: 32px 32px 24px; background: #fff; border-radius: 20px; box-shadow: 0 4px 24px rgba(16, 24, 48, .06); text-align: center; }
.wn-gracias__check { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin-bottom: 12px; border-radius: 50%; background: #e3f6ea; color: #17924a; }
.wn-gracias__titulo { margin: 0 0 6px; font-size: 26px; font-weight: 700; line-height: 1.25; color: #1d2340; }
.wn-gracias__num { margin: 0 0 20px; font-size: 16px; color: #4a5068; }
.wn-gracias__copiar { margin-left: 6px; padding: 2px 10px; border: 1px solid #d4d8e3; border-radius: 8px; background: #fff; color: #1a3a7c; font-size: 12px; font-weight: 600; cursor: pointer; }
.wn-gracias__copiar:hover { background: #f1f4fb; }
.wn-gracias__datos { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 0 0 24px; }
.wn-gracias__datos > div { min-width: 150px; padding: 12px 16px; border-radius: 12px; background: #f5f7fb; }
.wn-gracias__datos dt { margin: 0; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: #8a90a6; }
.wn-gracias__datos dd { margin: 2px 0 0; font-size: 18px; font-weight: 700; color: #1d2340; }
.wn-gracias__estado { display: inline-block; padding: 2px 10px; border-radius: 999px; background: #eef3fc; color: #1a3a7c; font-size: 14px; }
.wn-gracias__sub { margin: 0 0 12px; font-size: 18px; font-weight: 700; color: #1a3a7c; text-align: left; }
.wn-gracias__pasos { margin: 0 0 24px; padding: 0; list-style: none; text-align: left; }
.wn-gracias__pasos li { display: flex; gap: 14px; padding: 12px 0; border-top: 1px solid #eef0f5; }
.wn-gracias__pasos li:first-child { border-top: 0; }
.wn-gracias__pasos strong { display: block; font-size: 15px; color: #1d2340; }
.wn-gracias__pasos span:not(.wn-gracias__bolita) { display: block; font-size: 14px; color: #6b7189; line-height: 1.45; }
.wn-gracias__bolita { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: #eef0f5; color: #6b7189; font-weight: 700; }
.wn-gracias__pasos li.is-pendiente .wn-gracias__bolita { background: #e8890c; color: #fff; }
.wn-gracias__pasos li.is-actual .wn-gracias__bolita { background: #1a3a7c; color: #fff; }
.wn-gracias__pasos li.is-hecho .wn-gracias__bolita { background: #17924a; color: #fff; }
.wn-gracias__pasos .wn-gracias__btn { margin-top: 10px; }
.wn-gracias__acciones { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 16px; }
.wn-gracias__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 20px; border: 0; border-radius: 12px; background: #d63b1a; color: #fff; font-size: 15px; font-weight: 600; text-decoration: none; cursor: pointer; }
.wn-gracias__btn:hover { background: #bb3115; color: #fff; text-decoration: none; }
.wn-gracias__btn--sec { background: #fff; color: #1a3a7c; border: 1px solid #c9d2e6; }
.wn-gracias__btn--sec:hover { background: #f1f4fb; color: #1a3a7c; }
.wn-gracias__lider { display: inline-flex; align-items: center; gap: 12px; padding: 10px 16px; border-radius: 12px; background: #f2fbf5; color: #12733b; font-size: 14px; text-align: left; text-decoration: none; }
.wn-gracias__lider:hover { background: #e4f6ea; color: #0e5f31; text-decoration: none; }
.wn-gracias__avatar { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: #1fa855; color: #fff; font-weight: 700; }
@media (max-width: 575px) {
  .wn-gracias { padding-top: 16px; }
  .wn-gracias__card { padding: 24px 18px 18px; border-radius: 16px; }
  .wn-gracias__titulo { font-size: 21px; }
  .wn-gracias__datos > div { flex: 1 1 100%; }
  .wn-gracias__acciones .wn-gracias__btn { flex: 1 1 100%; }
}
@media print { .wn-gracias { background: #fff; } .wn-gracias__card { box-shadow: none; } }

/* ---------- Avisos en vivo en formularios del checkout ---------- */
.wn-store .form-control.wn-invalido, .wn-store .custom-select.wn-invalido { border-color: #d0342c !important; box-shadow: 0 0 0 3px rgba(208, 52, 44, .12) !important; }
.wn-store .form-control.wn-valido, .wn-store .custom-select.wn-valido { border-color: #1f9d55 !important; }
.wn-field-msg { display: flex; align-items: flex-start; gap: 6px; margin-top: 6px; font-size: 13px; line-height: 1.35; color: #b42318; }
.wn-field-msg::before { content: "!"; flex: none; display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; margin-top: 1px; border-radius: 50%; background: #d0342c; color: #fff; font-size: 11px; font-weight: 700; }

/* ---------- Aviso al agregar: resumen del carrito y "Finalizar compra" ---------- */
.wn-store .wn-toast { align-items: flex-start; }
.wn-store .wn-toast__body { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.wn-store .wn-toast__resumen { font-size: 13px; color: #d5dcef; }
.wn-store .wn-toast__resumen[hidden] { display: none; }
.wn-store .wn-toast__resumen strong { color: #fff; }
.wn-store .wn-toast__acciones { display: flex; flex-wrap: wrap; gap: 8px; }
.wn-store .wn-toast__acciones[hidden] { display: none; }
.wn-store .wn-toast__action { display: inline-flex; align-items: center; text-decoration: none; }
.wn-store .wn-toast__action--main { background: #e8541e; color: #fff; }
.wn-store .wn-toast__action--main:hover { background: #cf4615; color: #fff; text-decoration: none; }
.wn-store .wn-toast__icon { margin-top: 2px; }
@media (max-width: 767px) {
  .wn-store .wn-toast { left: 12px; right: 12px; width: auto; max-width: none; transform: translate(0, 16px); bottom: 72px; }
  .wn-store .wn-toast.is-in { transform: translate(0, 0); }
  .wn-store.wn-pag-producto .wn-toast { bottom: 144px; }
  .wn-store .wn-toast__acciones .wn-toast__action { flex: 1 1 auto; justify-content: center; }
}

/* =====================================================================
   FICHA DE PRODUCTO — rediseño (tema nuevo)
   Prefijo .wn-store .single-product para ganarle a los estilos en linea de product.php
   ===================================================================== */
.wn-store .single-product { background: linear-gradient(180deg, #eef2fa 0, #f6f7fb 420px); padding-bottom: 48px; }
.wn-store .single-product .breacrumb { margin: 18px 0 14px; }
.wn-store .single-product .inner-pages-breadcrumb p { font-size: 13px; color: #6b7189; }
.wn-store .single-product .inner-pages-breadcrumb a { color: #4a5068; }
.wn-store .single-product .inner-pages-breadcrumb a:hover { color: #1a3a7c; }
.wn-store .single-product .single-product-row { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 48px; align-items: start; padding: 32px; background: #fff; border-radius: 28px; box-shadow: 0 10px 40px rgba(16, 24, 48, .07); }

/* Galeria */
.wn-store .single-product .produc-gallery { position: sticky; top: 96px; width: auto; max-width: none; }
.wn-store .single-product .gallery-wrapper { display: flex; gap: 16px; }
.wn-store .single-product .gallery-main { position: relative; flex: 1; aspect-ratio: 1 / 1; min-height: 0; display: flex; align-items: center; justify-content: center; border-radius: 24px; background: radial-gradient(circle at 50% 42%, #ffffff 0, #f1f4fb 55%, #e6ecf8 100%); overflow: hidden; }
.wn-store .single-product .gallery-main .main-image { max-width: 82%; max-height: 82%; object-fit: contain; filter: drop-shadow(0 18px 24px rgba(16, 24, 48, .16)); transition: transform .35s ease; }
.wn-store .single-product .gallery-main:hover .main-image { transform: scale(1.04); }
.wn-store .single-product .nav-arrow { width: 42px; height: 42px; border: 0; border-radius: 50%; background: #fff; color: #1d2340; box-shadow: 0 6px 18px rgba(16, 24, 48, .14); opacity: 0; transition: opacity .2s ease, transform .2s ease; }
.wn-store .single-product .gallery-main:hover .nav-arrow, .wn-store .single-product .nav-arrow:focus-visible { opacity: 1; }
.wn-store .single-product .nav-arrow:hover { transform: scale(1.06); }
.wn-store .single-product .gallery-thumbs { display: flex; flex-direction: column; gap: 10px; width: 76px; max-height: 520px; overflow-y: auto; scrollbar-width: thin; padding: 2px; }
.wn-store .single-product .thumb-item { position: relative; flex: none; width: 72px; height: 72px; padding: 4px; border: 2px solid transparent; border-radius: 16px; background: #f4f6fb; cursor: pointer; overflow: hidden; transition: border-color .15s ease, transform .15s ease; }
.wn-store .single-product .thumb-item img { width: 100%; height: 100%; object-fit: contain; border-radius: 12px; }
.wn-store .single-product .thumb-item:hover { transform: translateY(-1px); }
.wn-store .single-product .thumb-item.active { border-color: #1a3a7c; background: #fff; box-shadow: 0 4px 14px rgba(26, 58, 124, .18); }
.wn-store .single-product .wn-thumb-video { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #1a3a7c, #2d5bc0); }
.wn-store .single-product .wn-thumb-video img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 0; opacity: .75; }
.wn-store .single-product .wn-thumb-video .video-badge { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: rgba(255, 255, 255, .95); color: #1a3a7c; font-size: 11px; inset: auto; }
.wn-store .single-product .wn-thumb-video__txt { position: absolute; left: 0; right: 0; bottom: 4px; z-index: 1; font-size: 10px; font-weight: 700; letter-spacing: .04em; text-align: center; color: #fff; text-transform: uppercase; text-shadow: 0 1px 2px rgba(0, 0, 0, .4); }

/* Encabezado */
.wn-store .single-product .product-content-detail { width: auto; max-width: none; padding: 0; }
.wn-store .single-product .pr-title h1 { margin: 0 0 6px; font-size: 38px; font-weight: 800; line-height: 1.1; letter-spacing: -.01em; color: #10204a; }
.wn-store .single-product .product-subtitle { font-size: 17px; color: #6b7189; }
.wn-store .single-product .review-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 14px 0 22px; }
.wn-store .single-product .review-row img { width: 18px; height: 18px; }
.wn-store .single-product .review-row .spacer { color: #d4d8e3; }
.wn-store .single-product .wn-reviews-link { font-size: 14px; font-weight: 600; color: #1a3a7c; }
.wn-store .single-product .wn-categoria a span { display: inline-block; padding: 5px 12px; border-radius: 999px; background: #eef3fc; color: #1a3a7c; font-size: 13px; font-weight: 700; }
.wn-store .single-product .wn-categoria a:hover span { background: #1a3a7c; color: #fff; }

/* Selector de pais / variaciones */
.wn-store .single-product .variation-row.ft-variation-row,
.wn-store .single-product .variation-row.ft-color-row { display: block; margin: 0 0 20px !important; padding: 18px; border-radius: 20px; background: #f7f8fc; border: 1px solid #eceff6; }
.wn-store .single-product .varition-title { display: flex; align-items: center; gap: 6px; width: auto; margin: 0 0 12px; font-size: 15px; font-weight: 700; color: #1d2340; }
.wn-store .single-product .variations { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; margin: 0 !important; }
.wn-store .single-product .variations span { position: relative; display: flex; align-items: center; gap: 8px; min-height: 44px; margin: 0; padding: 8px 12px; border: 1.5px solid #e1e5ee; border-radius: 12px; background: #fff; color: #1d2340; font-size: 14px; font-weight: 500; line-height: 1.2; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.wn-store .single-product .variations span:hover { border-color: #9fb3dd; background: #fff; color: #1d2340; }
.wn-store .single-product .variations span.active { border-color: #1a3a7c; background: #eef3fc; color: #10204a; font-weight: 700; box-shadow: 0 0 0 3px rgba(26, 58, 124, .12); }
.wn-store .single-product .variations span.active::after { content: ""; position: absolute; top: 6px; right: 6px; width: 16px; height: 16px; border-radius: 50%; background: #1a3a7c url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 10px no-repeat; }
.wn-store .single-product .variations span:focus-visible { outline: 2px solid #1a3a7c; outline-offset: 2px; }
.wn-store .single-product .wn-bandera { flex: none; width: 22px; height: 16px; object-fit: cover; border-radius: 3px; box-shadow: 0 0 0 1px rgba(16, 24, 48, .08); }

/* Caja de compra */
.wn-store .single-product .wn-buybox { display: flex !important; flex-direction: column; gap: 16px; padding: 22px; border-radius: 22px; background: #fff; border: 1px solid #e6e9f0; box-shadow: 0 12px 32px rgba(16, 24, 48, .06); }
.wn-store .single-product .wn-buybox__precio { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.wn-store .single-product .wn-buybox .sale-price { margin: 0; padding: 0; background: none; font-size: 38px; font-weight: 800; letter-spacing: -.01em; line-height: 1; color: #10204a; }
.wn-store .single-product .wn-buybox .wn-points { display: inline-flex; align-items: center; gap: 6px; width: auto; margin: 0; padding: 8px 14px; border-radius: 999px; background: linear-gradient(135deg, #6d3fe0, #9b5cf6); color: #fff; font-size: 14px; font-weight: 700; box-shadow: 0 6px 16px rgba(109, 63, 224, .25); }
.wn-store .single-product .wn-buybox .wn-points .wn-tip { color: #fff; border-color: rgba(255, 255, 255, .7); }
.wn-store .single-product .wn-buybox__cta { display: flex; gap: 12px; align-items: stretch; }
.wn-store .single-product .wn-buybox .quantity-area { display: inline-flex; align-items: center; flex: none; height: 56px; margin: 0; padding: 4px; border: 1.5px solid #e1e5ee; border-radius: 16px; background: #f7f8fc; }
.wn-store .single-product .wn-buybox .quantity-area button { width: 40px; height: 46px; border: 0; border-radius: 12px; background: transparent; color: #1d2340; font-size: 13px; }
.wn-store .single-product .wn-buybox .quantity-area button:hover { background: #fff; box-shadow: 0 2px 6px rgba(16, 24, 48, .08); }
.wn-store .single-product .wn-buybox .quantity-area input { width: 44px; height: 46px; border: 0; background: transparent; text-align: center; font-size: 17px; font-weight: 700; color: #10204a; box-shadow: none; }
.wn-store .single-product .wn-buybox .btn-buy-now { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: auto; max-width: none; height: 56px; margin: 0; border: 0; border-radius: 16px; background: linear-gradient(135deg, #f26a2e 0%, #d63b1a 100%); color: #fff; font-size: 17px; font-weight: 700; letter-spacing: .01em; box-shadow: 0 10px 24px rgba(214, 59, 26, .32); transition: transform .15s ease, box-shadow .15s ease; }
.wn-store .single-product .wn-buybox .btn-buy-now:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(214, 59, 26, .38); }
.wn-store .single-product .wn-buybox .btn-buy-now:active { transform: translateY(0); }
.wn-store .single-product .wn-buybox .wn-next { margin: -4px 0 0; }

/* Cupon plegado */
.wn-store .single-product .wn-cupon summary { display: inline-flex; align-items: center; gap: 8px; list-style: none; cursor: pointer; font-size: 14px; font-weight: 600; color: #1a3a7c; }
.wn-store .single-product .wn-cupon summary::-webkit-details-marker { display: none; }
.wn-store .single-product .wn-cupon summary:hover { text-decoration: underline; }
.wn-store .single-product .wn-cupon[open] summary { margin-bottom: 10px; }
.wn-store .single-product .wn-cupon .coupon-wrapper { display: flex; align-items: center; gap: 8px; max-width: none; height: 48px; margin: 0; padding: 4px 4px 4px 14px; border: 1.5px solid #e1e5ee; border-radius: 14px; background: #fff; }
.wn-store .single-product .wn-cupon .coupon-code { flex: 1; min-width: 0; height: 38px; border: 0; background: transparent; font-size: 14px; box-shadow: none; }
.wn-store .single-product .wn-cupon .btn-apply-coupon { height: 38px; padding: 0 16px; border: 0; border-radius: 10px; background: #1a3a7c; color: #fff; font-size: 13px; font-weight: 700; text-transform: none; }

/* Confianza y pagos */
.wn-store .single-product .wn-buybox .wn-trust { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.wn-store .single-product .wn-buybox .wn-trust li { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 12px 6px; border-radius: 14px; background: #f7f8fc; color: #4a5068; font-size: 12px; font-weight: 600; text-align: center; }
.wn-store .single-product .wn-buybox .wn-trust svg { color: #1a3a7c; }
.wn-store .single-product .wn-pagos { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 0; padding: 14px 0 0; border-top: 1px dashed #e1e5ee; background: none; box-shadow: none; }
.wn-store .single-product .wn-pagos__label { width: 100%; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #8a90a6; }
.wn-store .single-product .wn-pagos .payment-brands, .wn-store .single-product .wn-pagos .pg-listing { display: contents; }
.wn-store .single-product .wn-pagos .payment-brand-logo,
.wn-store .single-product .wn-pagos .pg-listing li { display: inline-flex; align-items: center; justify-content: center; width: 58px; height: 36px; margin: 0; padding: 4px 6px; border: 1px solid #eceff6; border-radius: 8px; background: #fff; list-style: none; }
.wn-store .single-product .wn-pagos .pg-listing li img, .wn-store .single-product .wn-pagos img.payment-brand-logo { max-width: 100%; max-height: 100%; object-fit: contain; filter: grayscale(1); opacity: .75; transition: filter .15s ease, opacity .15s ease; }
.wn-store .single-product .wn-pagos .pg-listing li:hover img, .wn-store .single-product .wn-pagos img.payment-brand-logo:hover { filter: none; opacity: 1; }

/* Tablet y celular */
@media (max-width: 991px) {
  .wn-store .single-product .single-product-row { grid-template-columns: 1fr; gap: 24px; padding: 20px; border-radius: 22px; }
  .wn-store .single-product .produc-gallery { position: static; }
  .wn-store .single-product .pr-title h1 { font-size: 30px; }
}
@media (max-width: 767px) {
  .wn-store .single-product .single-product-row { padding: 14px; margin: 0 -6px; }
  .wn-store .single-product .gallery-wrapper { flex-direction: column-reverse; }
  .wn-store .single-product .gallery-thumbs { flex-direction: row; width: auto; max-height: none; overflow-x: auto; overflow-y: hidden; }
  .wn-store .single-product .thumb-item { width: 60px; height: 60px; }
  .wn-store .single-product .nav-arrow { opacity: 1; width: 36px; height: 36px; }
  .wn-store .single-product .pr-title h1 { font-size: 26px; }
  .wn-store .single-product .variations { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wn-store .single-product .wn-buybox { padding: 16px; }
  .wn-store .single-product .wn-buybox .sale-price { font-size: 30px; }
  /* El boton "Agregar" queda fijo abajo (regla existente); la cantidad queda en su lugar */
  .wn-store .single-product .wn-buybox .btn-buy-now { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 1030; }
  .wn-store .single-product .wn-buybox .quantity-area { width: 100%; justify-content: space-between; }
}

/* ---- Ajustes ficha (v10): caja de compra a todo el ancho, pagos en fila, foto sin fondo blanco ---- */
.wn-store .single-product .variation-row.mt-3:not(.ft-variation-row):not(.ft-color-row) { display: block !important; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
.wn-store .single-product .wn-buybox { align-items: stretch !important; text-align: left !important; width: 100% !important; max-width: none !important; margin: 0 !important; }
.wn-store .single-product .wn-buybox > * { width: 100%; max-width: none; margin-left: 0; margin-right: 0; text-align: left; }
.wn-store .single-product .wn-buybox__precio { justify-content: flex-start; }
.wn-store .single-product .wn-buybox .sale-price { display: inline-block !important; width: auto !important; margin: 0 !important; font-size: 40px; }
.wn-store .single-product .wn-buybox .wn-points { display: inline-flex !important; margin: 0 !important; }
.wn-store .single-product .wn-buybox .wn-next { width: 100%; }
.wn-store .single-product .wn-pagos { flex-direction: row !important; justify-content: flex-start !important; align-items: center !important; border-left: 0; border-right: 0; border-bottom: 0; border-radius: 0; }
.wn-store .single-product .wn-pagos .payment-brands { padding: 0; border: 0; }
.wn-store .single-product .wn-pagos .payment-brand-logo { height: 36px; }
.wn-store .single-product .wn-pagos .pg-listing li { padding: 4px 6px; }
.wn-store .single-product .wn-pagos .pg-listing li img { max-height: 26px; }
/* La foto del producto viene con fondo blanco: se funde con el degradado */
.wn-store .single-product .gallery-main .main-image { mix-blend-mode: multiply; }
.wn-store .single-product .gallery-thumbs { overflow-x: hidden; }

/* ---- Descripcion y comentarios ---- */
.wn-store .product-description-reviews { margin-top: 32px; padding-bottom: 32px; }
.wn-store .product-description-reviews > .container { padding: 28px 32px; background: #fff; border-radius: 28px; box-shadow: 0 10px 40px rgba(16, 24, 48, .06); }
.wn-store .description-reviews-tabs { display: inline-flex; gap: 4px; margin: 0 0 28px; padding: 6px; border: 0; border-radius: 16px; background: #f1f4fb; }
.wn-store .description-reviews-tabs a,
.wn-store .description-reviews-tabs a.dbtn,
.wn-store .description-reviews-tabs a.rbtn { margin: 0; padding: 10px 22px; border: 0 !important; border-radius: 12px !important; background: transparent !important; color: #6b7189 !important; font-size: 15px; font-weight: 700; }
.wn-store .description-reviews-tabs a:hover { color: #1a3a7c !important; background: rgba(255, 255, 255, .7) !important; }
.wn-store .description-reviews-tabs a.active,
.wn-store .description-reviews-tabs a.dbtn.active,
.wn-store .description-reviews-tabs a.rbtn.active { background: #1a3a7c !important; color: #fff !important; box-shadow: 0 6px 16px rgba(26, 58, 124, .25); }
.wn-store .desc-policies-wrapper { gap: 48px; }
.wn-store .desc-column .description-content { max-width: 72ch; font-size: 15px; line-height: 1.7; color: #3d4460; }
.wn-store .desc-column .description-content h1,
.wn-store .desc-column .description-content h2,
.wn-store .desc-column .description-content h3,
.wn-store .desc-column .description-content h4 { margin: 28px 0 10px; font-size: 20px; font-weight: 800; color: #10204a; }
.wn-store .desc-column .description-content > :first-child { margin-top: 0; }
.wn-store .desc-column .description-content p { margin: 0 0 10px; }
.wn-store .desc-column .description-content ul { padding-left: 20px; }
.wn-store .desc-column .description-content li::marker { color: #e8541e; }
.wn-store .policies-column .policies-title { border-bottom-width: 0; margin-bottom: 12px; }
.wn-store .policies-accordion { border: 1px solid #eceff6; border-radius: 18px; overflow: hidden; box-shadow: none; }
@media (max-width: 767px) {
  .wn-store .product-description-reviews > .container { padding: 18px 16px; border-radius: 20px; }
  .wn-store .description-reviews-tabs { display: flex; }
  .wn-store .description-reviews-tabs a { flex: 1; text-align: center; padding: 10px 12px; }
  .wn-store .single-product .wn-buybox .sale-price { font-size: 32px; }
}

/* ---- Productos similares: tarjeta blanca como el resto de la ficha ---- */
.wn-store .related-products { padding: 0 0 48px; background: none; }
.wn-store .related-products .gradient-container { padding: 28px 32px; background: #fff !important; border-radius: 28px; box-shadow: 0 10px 40px rgba(16, 24, 48, .06); }
.wn-store .related-products .section-title { margin: 0 0 16px; font-size: 24px; font-weight: 800; color: #10204a; text-align: left; }
@media (max-width: 767px) { .wn-store .related-products .gradient-container { padding: 18px 16px; border-radius: 20px; } }

/* ---------- Opiniones (pestaña Comentarios) ---------- */
.wn-stars { display: inline-flex; gap: 2px; vertical-align: middle; }
.wn-stars svg.on { fill: #f5a524; }
.wn-stars svg.off { fill: #e1e5ee; }
.wn-rv-resumen { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 32px; align-items: center; margin-bottom: 24px; padding: 24px; border-radius: 20px; background: #f7f8fc; }
.wn-rv-nota { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
.wn-rv-nota strong { font-size: 48px; font-weight: 800; line-height: 1; color: #10204a; }
.wn-rv-nota > span:last-child { font-size: 13px; color: #6b7189; }
.wn-rv-barras { margin: 0; padding: 0; list-style: none; }
.wn-rv-barras li { display: grid; grid-template-columns: 34px minmax(0, 1fr) 28px; gap: 10px; align-items: center; padding: 3px 0; font-size: 13px; color: #4a5068; }
.wn-rv-barras li span:last-child { text-align: right; color: #8a90a6; }
.wn-rv-barra { height: 8px; border-radius: 999px; background: #e6e9f0; overflow: hidden; }
.wn-rv-barra i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #f5a524, #f7b84b); }
.wn-rv-lista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.wn-rv { display: flex; gap: 14px; padding: 18px; border: 1px solid #eceff6; border-radius: 18px; background: #fff; }
.wn-rv.is-extra { display: none; }
.wn-rv__avatar { position: relative; flex: none; width: 44px; height: 44px; border-radius: 50%; background: linear-gradient(135deg, #1a3a7c, #4f78d6); color: #fff; overflow: hidden; display: flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 700; }
.wn-rv__avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.wn-rv__cuerpo { min-width: 0; }
.wn-rv__cabecera { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin-bottom: 6px; }
.wn-rv__cabecera h3 { margin: 0; font-size: 15px; font-weight: 700; color: #1d2340; }
.wn-rv__cabecera time { font-size: 12px; color: #8a90a6; }
.wn-rv__cuerpo p { margin: 0; font-size: 14px; line-height: 1.55; color: #4a5068; overflow-wrap: anywhere; }
.wn-rv-mas { display: block; margin: 18px auto 0; padding: 12px 24px; border: 1.5px solid #c9d2e6; border-radius: 12px; background: #fff; color: #1a3a7c; font-size: 14px; font-weight: 700; cursor: pointer; }
.wn-rv-mas:hover { background: #f1f4fb; }
.wn-rv-vacio { display: flex; align-items: center; gap: 16px; padding: 24px; border-radius: 20px; background: #f7f8fc; color: #8a90a6; }
.wn-rv-vacio p { margin: 0; font-size: 15px; color: #4a5068; }
.wn-rv-form { margin-top: 32px; padding: 24px; border-radius: 20px; border: 1px solid #eceff6; background: #fbfcfe; }
.wn-rv-form .write-review { margin: 0 0 16px; font-size: 20px; font-weight: 800; color: #10204a; }
.wn-rv-form .control-label { font-size: 14px; font-weight: 600; color: #1d2340; }
.wn-rv-form .form-control { min-height: 46px; border: 1.5px solid #e1e5ee; border-radius: 12px; font-size: 14px; }
.wn-rv-form textarea.form-control { min-height: 110px; }
.wn-rv-form .form-control:focus { border-color: #1a3a7c; box-shadow: 0 0 0 3px rgba(26, 58, 124, .12); }
.wn-rv-form .help-block { margin-top: 6px; font-size: 12px; color: #8a90a6; }
.wn-rv-form #submit { height: 48px; padding: 0 24px; border: 0; border-radius: 12px; background: #1a3a7c; color: #fff; font-size: 15px; font-weight: 700; }
.wn-rv-form #submit:hover { background: #142e63; }
@media (max-width: 767px) {
  .wn-rv-resumen { grid-template-columns: 1fr; gap: 16px; padding: 18px; }
  .wn-rv-lista { grid-template-columns: 1fr; }
}

/* ===== Correcciones de prueba (Ariany) ===== */

/* Aviso de "agregado": al centro de la pantalla, bien visible */
.wn-store .wn-toast { top: 50%; bottom: auto; left: 50%; right: auto; width: min(440px, calc(100vw - 32px)); max-width: none; padding: 20px 20px 18px; border-radius: 20px; font-size: 15px; transform: translate(-50%, -46%) scale(.97); box-shadow: 0 24px 64px rgba(13, 30, 70, .35); z-index: 1065; }
.wn-store .wn-toast.is-in { transform: translate(-50%, -50%) scale(1); }
.wn-store .wn-toast__icon { width: 26px; height: 26px; }
.wn-store .wn-toast__acciones .wn-toast__action { flex: 1 1 auto; justify-content: center; min-height: 44px; }
@media (max-width: 767px) {
  .wn-store .wn-toast, .wn-store.wn-pag-producto .wn-toast { top: 50%; bottom: auto; left: 50%; right: auto; width: calc(100vw - 32px); transform: translate(-50%, -46%); }
  .wn-store .wn-toast.is-in { transform: translate(-50%, -50%); }
}

/* Resumen del checkout: los botones - y + del tema viejo flotaban encima de la cantidad */
.wn-sum__qty.cart-counter { position: static; margin: 0 !important; }
.wn-sum__qty.cart-counter button { position: static !important; left: auto !important; right: auto !important; top: auto !important; bottom: auto !important; flex: none; font-family: inherit; }
.wn-sum__qty.cart-counter .qty-input { border-radius: 0 !important; color: #1d2340 !important; font-family: inherit !important; }

/* Checkout con el carrito vacio */
.wn-sum-vacio { padding: 8px 0 4px; text-align: center; }
.wn-sum-vacio p { margin: 0 0 14px; font-size: 14px; color: #4a5068; }

/* "Comprando para: <pais>" en la barra superior */
.wn-pais-compra { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border: 1px solid rgba(255, 255, 255, .35); border-radius: 999px; background: rgba(255, 255, 255, .1); color: #fff; font-size: 13px; line-height: 1.2; cursor: pointer; white-space: nowrap; }
.wn-pais-compra:hover { background: rgba(255, 255, 255, .2); }
.wn-pais-compra:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.wn-pais-compra strong { font-weight: 700; }

/* Catalogo: producto que no se vende en el pais elegido */
.wn-quick-add.wn-no-disp { background: #eef0f5 !important; color: #8a90a6 !important; box-shadow: none !important; }
.wn-card-no-disp img { opacity: .55; }
.wn-toast__text a[data-wn-cambiar-pais] { color: #ffd2bf; }

/* ---------- Contacto ---------- */
.wn-contacto { padding: 40px 0 56px; background: linear-gradient(180deg, #eef2fa 0, #f6f7fb 360px); }
.wn-contacto__hero { max-width: 680px; margin: 0 auto 28px; text-align: center; }
.wn-contacto__eyebrow { display: inline-block; margin-bottom: 10px; padding: 5px 14px; border-radius: 999px; background: #fde9e1; color: #c2410c; font-size: 13px; font-weight: 700; letter-spacing: .03em; }
.wn-contacto__hero h1 { margin: 0 0 10px; font-size: 40px; font-weight: 800; line-height: 1.12; color: #10204a; }
.wn-contacto__hero p { margin: 0; font-size: 17px; line-height: 1.55; color: #4a5068; }
.wn-contacto__canales { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin-bottom: 24px; }
.wn-canal { display: flex; align-items: center; gap: 14px; padding: 18px; border: 1px solid #e6e9f0; border-radius: 20px; background: #fff; color: #1d2340; text-decoration: none; box-shadow: 0 6px 20px rgba(16, 24, 48, .05); transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.wn-canal:hover { transform: translateY(-2px); border-color: #c9d2e6; box-shadow: 0 12px 28px rgba(16, 24, 48, .1); color: #1d2340; text-decoration: none; }
.wn-canal__icono { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 14px; background: #eef3fc; color: #1a3a7c; }
.wn-canal--wa .wn-canal__icono { background: #e3f6ea; color: #17924a; }
.wn-canal__txt { min-width: 0; display: flex; flex-direction: column; }
.wn-canal__txt strong { font-size: 16px; }
.wn-canal__txt span { font-size: 14px; color: #6b7189; overflow-wrap: anywhere; }
.wn-contacto__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.wn-contacto__form-card { padding: 28px; border-radius: 24px; background: #fff; box-shadow: 0 10px 40px rgba(16, 24, 48, .07); }
.wn-contacto__form-card h2, .wn-contacto__atajos h2 { margin: 0 0 4px; font-size: 22px; font-weight: 800; color: #10204a; }
.wn-contacto__nota { margin: 0 0 18px; font-size: 13px; color: #8a90a6; }
.wn-contacto__fila { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.wn-contacto__campo { margin-bottom: 14px; }
.wn-contacto__campo label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; color: #1d2340; }
.wn-contacto__campo .form-control { width: 100%; min-height: 48px; padding: 10px 14px; border: 1.5px solid #e1e5ee; border-radius: 12px; background: #fbfcfe; font-size: 15px; color: #1d2340; box-shadow: none; }
.wn-contacto__campo textarea.form-control { min-height: 130px; resize: vertical; }
.wn-contacto__campo .form-control:focus { border-color: #1a3a7c; background: #fff; outline: none; box-shadow: 0 0 0 3px rgba(26, 58, 124, .12); }
.wn-contacto__error { display: block; margin-top: 6px; font-size: 13px; color: #b42318; }
.wn-contacto__enviar { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; height: 54px; border: 0; border-radius: 14px; background: linear-gradient(135deg, #f26a2e, #d63b1a); color: #fff; font-size: 16px; font-weight: 700; box-shadow: 0 10px 24px rgba(214, 59, 26, .28); cursor: pointer; transition: transform .15s ease; }
.wn-contacto__enviar:hover { transform: translateY(-1px); }
.wn-contacto__ok { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 20px; padding: 14px 16px; border-radius: 14px; background: #e3f6ea; color: #12733b; font-size: 14px; line-height: 1.45; }
.wn-contacto__lado { display: flex; flex-direction: column; gap: 16px; }
.wn-contacto__atajos { padding: 24px; border-radius: 24px; background: #fff; box-shadow: 0 10px 40px rgba(16, 24, 48, .07); }
.wn-contacto__atajos h2 { margin-bottom: 12px; font-size: 18px; }
.wn-atajo { display: flex; flex-direction: column; width: 100%; margin-top: 8px; padding: 12px 40px 12px 14px; position: relative; border: 1px solid #eceff6; border-radius: 14px; background: #f7f8fc; color: #1d2340; text-align: left; text-decoration: none; cursor: pointer; }
.wn-atajo::after { content: "›"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-size: 22px; color: #8a90a6; }
.wn-atajo:hover { background: #eef3fc; border-color: #c9d2e6; color: #1d2340; text-decoration: none; }
.wn-atajo span { font-size: 15px; font-weight: 700; }
.wn-atajo small { font-size: 13px; color: #6b7189; }
.wn-atajo--lider { background: #f2fbf5; border-color: #d3efdc; }
.wn-contacto__mapa { overflow: hidden; border-radius: 24px; box-shadow: 0 10px 40px rgba(16, 24, 48, .07); background: #e6ecf8; }
.wn-contacto__mapa iframe { display: block; width: 100%; height: 280px; border: 0; }
@media (max-width: 991px) { .wn-contacto__grid { grid-template-columns: 1fr; } }
@media (max-width: 575px) {
  .wn-contacto { padding-top: 24px; }
  .wn-contacto__hero h1 { font-size: 28px; }
  .wn-contacto__hero p { font-size: 15px; }
  .wn-contacto__fila { grid-template-columns: 1fr; gap: 0; }
  .wn-contacto__form-card, .wn-contacto__atajos { padding: 20px; border-radius: 20px; }
}
.wn-sum__line--pend dd { font-weight: 500; color: #8a90a6; font-style: italic; }

/* ===== Celular (pruebas de Ariany) ===== */
/* El tema viejo baja el encabezado 39px (top:39px) y lo monta sobre el banner */
.wn-store #myHeader:not(.sticky) { top: 0 !important; }

/* Categorias: no cortar palabras a la mitad ("TECNOLO-GIA") */
.wn-store .main-categories .category-icon-inner span { word-break: normal; overflow-wrap: normal; hyphens: none; }
@media (max-width: 575px) {
  .wn-store .main-categories .category-icon-inner span { font-size: 9px; letter-spacing: 0; line-height: 1.2; }
  .wn-store .main-categories .category-icon-inner { padding-left: 4px; padding-right: 4px; }
}

/* Barra superior compacta en celular: lider + pais en una fila, aviso abajo */
@media (max-width: 767px) {
  .wn-store .wn-top-bar { font-size: 12px; }
  .wn-store .wn-top-bar__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding-top: 6px; padding-bottom: 6px; }
  .wn-store .wn-lider__extra { display: none; }
  .wn-store .wn-lider { flex: 1 1 auto; min-width: 0; }
  .wn-store .wn-lider strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .wn-store .wn-pais-compra { padding: 3px 8px; font-size: 12px; }
  .wn-store .wn-top-bar__aviso { flex: 1 1 100%; font-size: 11px; }
  .wn-store .wn-top-bar__aviso img, .wn-store .wn-top-bar__aviso svg { max-height: 20px; }
}
/* Encabezado en celular: alto automatico (tenia 90px fijos) y logo mas chico, para que el buscador no tape el banner */
@media (max-width: 991px) {
  .wn-store #myHeader { height: auto !important; min-height: 0; }
  .wn-store #myHeader .navbar { padding-top: 6px; padding-bottom: 8px; }
  .wn-store #myHeader .navbar-brand { padding: 0; margin: 0; }
  .wn-store #myHeader .navbar-brand img { height: 52px; width: auto; }
}

/* Carrito lateral en celular: el tema viejo le daba min-width:400px a .cart-dropdown y se cortaba */
.wn-store .wn-cart-drawer { width: min(440px, 100vw); max-width: 100vw; }
.wn-store .wn-cart-drawer .cart-dropdown,
.wn-store .wn-cart-drawer__body { position: static !important; min-width: 0 !important; width: auto !important; max-width: 100% !important; right: auto !important; top: auto !important; box-shadow: none !important; border-radius: 0 !important; overflow-x: hidden; }
.wn-store .wn-cart-drawer * { min-width: 0; }

/* Tarjetas de producto: si precio y "Agregar" no caben juntos, el boton baja a todo el ancho */
.wn-store .wn-card-actions { flex-wrap: wrap; row-gap: 8px; }
.wn-store .wn-card-actions .pc-price-box { flex: 1 1 auto; min-width: 0; }
.wn-store .wn-card-actions .wn-quick-add { flex: 1 1 auto; }
@media (max-width: 575px) {
  .wn-store .wn-card-actions .wn-quick-add { flex-basis: 100%; }
}

/* ---- Checkout: paso de confirmacion como tarjeta dentro de la columna principal ---- */
.wn-checkout-main .confirm-checkout .checkout-setp { margin: 0; padding: 24px; border-radius: 20px; background: #fff; box-shadow: 0 4px 24px rgba(16, 24, 48, .06); }
.wn-checkout-main .confirm-checkout .step-head h2 { margin: 0 0 14px; font-size: 22px; font-weight: 800; color: #10204a; text-align: left; }
.wn-checkout-main .confirm-checkout textarea { width: 100%; min-height: 90px; border: 1.5px solid #e1e5ee; border-radius: 12px; padding: 10px 14px; }

/* ---- Pagina de gracias: tablas del pedido legibles en celular (tarjetas con etiquetas) ---- */
@media (max-width: 767px) {
  .profile-page .cart-wrapper ul.cart-header { display: none !important; }
  .profile-page .cart-wrapper ul { display: grid !important; grid-template-columns: 1fr 1fr; gap: 6px 12px; padding: 14px !important; margin: 0 0 10px !important; border-radius: 14px; background: #fff; box-shadow: 0 2px 10px rgba(16, 24, 48, .06); }
  .profile-page .cart-wrapper ul li { width: auto !important; padding: 0 !important; display: block !important; text-align: left !important; font-size: 13px; }
  .profile-page .cart-wrapper ul li .my-orders-text { display: block; font-size: 14px; color: #1d2340; }
  .profile-page .cart-wrapper ul li::before { display: block; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #8a90a6; }
  /* Productos: nombre a todo el ancho; luego precio, cantidad, descuento y total */
  .profile-page .my-order-details > .cart-wrapper ul.cart-items-row li:nth-child(1) { grid-column: 1 / -1; }
  .profile-page .my-order-details > .cart-wrapper ul.cart-items-row li:nth-child(2)::before { content: "Precio"; }
  .profile-page .my-order-details > .cart-wrapper ul.cart-items-row li:nth-child(3)::before { content: "Cantidad"; }
  .profile-page .my-order-details > .cart-wrapper ul.cart-items-row li:nth-child(4)::before { content: "Descuento"; }
  .profile-page .my-order-details > .cart-wrapper ul.cart-items-row li:nth-child(5)::before { content: "Total"; }
  .profile-page .my-order-details > .cart-wrapper ul.cart-items-row li:nth-child(5) .my-orders-text { font-weight: 800; }
  .profile-page .img-order-details-img { display: flex !important; align-items: center; gap: 10px; }
  .profile-page .img-order-details-img img { width: 52px; height: 52px; object-fit: contain; flex: none; }
  /* Totales: una fila por concepto */
  .profile-page .cart-wrapper ul.cart-footer-row { grid-template-columns: 1fr; background: #f5f7fb; }
  .profile-page .cart-wrapper ul.cart-footer-row li { display: flex !important; justify-content: space-between; gap: 12px; font-size: 14px; }
  .profile-page .cart-wrapper ul.cart-footer-row li:last-child { padding-top: 8px !important; border-top: 1px solid #e1e5ee; font-weight: 800; }
  /* Pago: modo, transaccion, estado */
  .profile-page .order-details-bottom-left ul:not(.cart-header):not(.cart-footer-row) li:nth-child(1)::before { content: "Método"; }
  .profile-page .order-details-bottom-left ul:not(.cart-header):not(.cart-footer-row) li:nth-child(2)::before { content: "Transacción"; }
  .profile-page .order-details-bottom-left ul:not(.cart-header):not(.cart-footer-row) li:nth-child(3)::before { content: "Estado"; }
  .profile-page .my-order-details-bottom { flex-direction: column; }
  .profile-page .my-order-details-bottom > * { width: 100% !important; max-width: 100% !important; }
  .profile-page h2 { font-size: 20px !important; }
}

/* ---- Checkout: libreta de direcciones y datos de facturacion guardados ---- */
.wn-libreta { margin-bottom: 18px; }
  .wn-libreta__cab { margin-bottom: 10px; }
  .wn-libreta__cab strong { display: block; font-size: 16px; color: #1d2340; }
  .wn-libreta__cab small { color: #6b7088; }
  .wn-libreta__lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; }
  .wn-dir { position: relative; display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 12px 14px 12px 40px; border: 1.5px solid #e1e5ee; border-radius: 14px; background: #fff; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
  .wn-dir input[type=radio] { position: absolute; left: 14px; top: 15px; width: 17px; height: 17px; accent-color: #17417a; }
  .wn-dir:has(input:checked) { border-color: #17417a; box-shadow: 0 0 0 3px rgba(23,65,122,.12); }
  .wn-dir.is-off { opacity: .55; cursor: not-allowed; }
  .wn-dir__txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; font-size: 13px; color: #4a5068; }
  .wn-dir__txt b { font-size: 14px; color: #1d2340; }
  .wn-dir__txt b em { margin-left: 6px; padding: 1px 8px; border-radius: 999px; background: #e8eefb; color: #17417a; font-size: 11px; font-style: normal; }
  .wn-dir__txt span { overflow-wrap: anywhere; }
  .wn-dir__txt small { color: #8a90a6; }
  .wn-dir__acc { display: flex; flex-wrap: wrap; gap: 10px; }
  .wn-dir__btn { padding: 0; border: 0; background: none; color: #17417a; font-size: 12px; font-weight: 700; text-decoration: underline; cursor: pointer; }
  .wn-dir__btn--rojo { color: #c0392b; }
  .wn-dir--nueva { justify-content: center; border-style: dashed; background: #fafbfd; }
  .wn-guardar { display: grid; gap: 8px; margin: 4px 0 16px; padding: 12px 14px; border-radius: 12px; background: #f5f7fb; }
  .wn-guardar__chk { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; font-weight: 600; color: #1d2340; cursor: pointer; }
  .wn-guardar__chk input { width: 17px; height: 17px; accent-color: #17417a; }
  .wn-guardar [name="wn_address_alias"], .wn-guardar [name="wn_billing_alias"] { max-width: 420px; }

/* ===== Ficha de producto en celular y tablet =====
   Solo acomoda medidas: todo va en media queries, en escritorio (992px o mas) no cambia nada.
   Va al final del archivo para ganarle a "Ajustes ficha (v10)", que no tiene media query. */
@media (max-width: 991px) {
  /* "1fr" crece con el contenido: las miniaturas empujaban la columna y toda la pagina quedaba mas ancha que la pantalla */
  .wn-store .single-product .single-product-row { grid-template-columns: minmax(0, 1fr); }
  .wn-store .single-product .product-content-detail { min-width: 0; }

  /* Galeria: foto arriba y miniaturas en un carril que se desliza con el dedo */
  .wn-store .single-product .produc-gallery { padding: 0; }
  .wn-store .single-product .gallery-wrapper { flex-direction: column-reverse; height: auto; }
  .wn-store .single-product .gallery-thumbs { flex-direction: row; width: 100%; max-height: none; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
  .wn-store .single-product .gallery-thumbs::-webkit-scrollbar { display: none; }
  .wn-store .single-product .gallery-main { max-height: 70vh; }
  .wn-store .single-product .gallery-main .main-video { min-height: 0; }

  /* Descripcion: la columna no se estira con su contenido y los videos del editor (width="640") se adaptan */
  .wn-store .desc-policies-wrapper { align-items: stretch; gap: 32px; }
  .wn-store .desc-column .description-content { overflow-wrap: anywhere; }
  .wn-store .desc-column .description-content img,
  .wn-store .desc-column .description-content video,
  .wn-store .desc-column .description-content table { max-width: 100%; height: auto; }
  .wn-store .desc-column .description-content iframe { display: block; width: 100%; max-width: 640px; height: auto; aspect-ratio: 16 / 9; border: 0; }

  /* Productos similares: grilla en vez de tarjetas de ancho fijo */
  .wn-store .related-products .product-list-related { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; }
  .wn-store .related-products .pc-product-wrapper { width: auto; margin: 0; }

  /* El carrito cerrado queda fuera de la pantalla, pero su sombra se veia como una franja oscura en el borde derecho */
  .wn-store .wn-cart-drawer { box-shadow: none; }
  .wn-store.wn-cart-open .wn-cart-drawer { box-shadow: -12px 0 40px rgba(13, 44, 86, .2); }
}
@media (max-width: 767px) {
  /* Migas de pan compactas: la foto del producto se ve sin hacer scroll (los estilos de product.php cargan despues de este archivo) */
  .wn-store .single-product .breacrumb { margin: 0; padding: 12px 0 10px; }
  .wn-store .single-product .breacrumb .inner-pages-breadcrumb { margin: 0; padding: 0; }
  .wn-store .single-product .breacrumb .inner-pages-breadcrumb p { margin: 0; }

  .wn-store .single-product .gallery-main .main-image { max-width: 92%; max-height: 92%; padding: 8px; }
  .wn-store .single-product .thumb-item.active { box-shadow: none; }
  /* El hover de escritorio reemplaza el translateY(-50%) y la flecha saltaba al tocarla */
  .wn-store .single-product .nav-arrow:hover { transform: translateY(-50%); }

  /* Sin separadores "|": al bajar de linea quedaban colgando */
  .wn-store .single-product .review-row { gap: 8px 12px; margin: 10px 0 16px; }
  .wn-store .single-product .review-row .spacer { display: none; }

  /* Paises y tallas: el texto no se sale del boton */
  .wn-store .single-product .variation-row.ft-variation-row,
  .wn-store .single-product .variation-row.ft-color-row { padding: 14px 12px; }
  .wn-store .single-product .variations span { gap: 6px; padding: 6px 8px 6px 10px; text-align: left; overflow-wrap: anywhere; }

  /* Puntos: heredaba line-height de 40px del .sale-point del tema viejo y quedaba de 56px de alto */
  .wn-store .single-product .wn-buybox__precio { gap: 10px 12px; }
  .wn-store .single-product .wn-buybox .wn-points { padding: 6px 12px; font-size: 13px; line-height: 1.2; }
  .wn-store .single-product .wn-buybox .wn-trust { border-top: 0; }
  .wn-store .product-description-reviews { margin-top: 0; }

  /* En iPhone un campo con letra menor a 16px hace zoom al tocarlo */
  .wn-store .single-product .wn-cupon .coupon-code,
  .wn-store .wn-rv-form .form-control { font-size: 16px; }
  /* El acordeon se cortaba a 500px: en pantalla angosta el texto legal queda mas largo */
  .wn-store .policies-accordion .accordion-item.active .accordion-body { max-height: none; }
  .wn-store .related-products .product-list-related { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* El boton fijo "Agregar al carrito" tapaba el final del pie de pagina */
  .wn-store.wn-pag-producto .footer-area { padding-bottom: 96px; }
}
@media (max-width: 359px) {
  .wn-store .single-product .variations span { gap: 5px; padding: 6px 6px 6px 8px; font-size: 12px; }
  .wn-store .single-product .wn-bandera { width: 18px; height: 13px; }
}
