/* ============================================================================
   PRIDO — Secciones inferiores de la ficha de producto · r1 · 2026-09-03
   Handle: prido-product-sections (inc/product-single/bootstrap.php), solo is_product().
   Re-skin CSS sobre el markup y JS existentes (sin tocar shortcodes ni carruseles):
     - Opiniones de clientes  (.prido-reviews-*)
     - Más vendidos           (.prido-bs-*)
     - Relacionados / Vistos  (.prido-related-* / .prido-rel-*; "vistos" reutiliza rel)
   Estilo "Card v3" del catálogo: tarjeta blanca, radio 14, borde sutil, categoría
   en eyebrow, título 14.5/600, precio Outfit 700, CTA teal AA (#0E7E7A).
   Carga DESPUÉS de prido-product-single (base migrada del maestro) → gana empates.
   Tema por dos señales: :root[data-theme="dark"] y body.woodmart-dark.
   ============================================================================ */

.prido-bs-breakout,
.prido-related-breakout,
.prido-reviews-breakout {
  --ps-fh: 'Outfit', system-ui, sans-serif;
  --ps-fb: var(--prido-font-body, 'Noto Sans', system-ui, sans-serif);
  --ps-ink: #0f1a26; --ps-ink-soft: #1a2a3a; --ps-muted: #5e6f80; --ps-faint: #8a9aae;
  --ps-line: #e4e9ef; --ps-line-strong: #cfd6df;
  --ps-surface: #ffffff; --ps-surface-2: #f6f8fb; --ps-surface-3: #eef2f6;
  --ps-teal: var(--prido-secondary, #2dc6c1); --ps-cta: var(--prido-teal-700, #0E7E7A); --ps-cta-hover: #0B6A67;
  --ps-info-bg: #e8f9f8; --ps-info-fg: #147068;
  --ps-promo: #C0392B;
  --ps-rc: 14px; --ps-ri: 10px;
  --ps-shadow: 0 10px 30px -12px rgba(15,26,38,.16), 0 2px 6px rgba(15,26,38,.05);
  --ps-ease: cubic-bezier(.2, 0, .2, 1);
}
:root[data-theme="dark"] .prido-bs-breakout, body.woodmart-dark .prido-bs-breakout,
:root[data-theme="dark"] .prido-related-breakout, body.woodmart-dark .prido-related-breakout,
:root[data-theme="dark"] .prido-reviews-breakout, body.woodmart-dark .prido-reviews-breakout {
  --ps-ink: #ecf2f7; --ps-ink-soft: #d8e2ec; --ps-muted: #8d9eb2; --ps-faint: #6b7c91;
  --ps-line: rgba(255,255,255,.10); --ps-line-strong: rgba(255,255,255,.22);
  --ps-surface: #18222e; --ps-surface-2: #1d2835; --ps-surface-3: #243042;
  --ps-info-bg: rgba(45,198,193,.14); --ps-info-fg: #3fd6d0;
  --ps-promo: #E25C44;
  --ps-shadow: 0 14px 34px -14px rgba(0,0,0,.6), 0 2px 8px rgba(0,0,0,.4);
}

/* ---------- Encabezados de sección ---------- */
.prido-bs-header h2,
.prido-related-header h2,
.prido-reviews-heading h2 {
  font-family: var(--ps-fh) !important;
  font-size: clamp(22px, 1.4rem + .6vw, 26px) !important;
  font-weight: 600 !important;
  letter-spacing: -.01em !important;
  line-height: 1.1 !important;
  color: var(--ps-ink) !important;
  margin: 0 !important;
  text-transform: none !important;
}
.prido-bs-header,
.prido-related-header { margin-bottom: 16px !important; }

/* ---------- Tarjetas de riel (Más vendidos / Relacionados / Vistos) ---------- */
.prido-bs-card,
.prido-related-card {
  background: var(--ps-surface) !important;
  border: 1px solid var(--ps-line) !important;
  border-radius: var(--ps-rc) !important;
  box-shadow: none !important;
  overflow: hidden;
  transition: box-shadow .2s var(--ps-ease), transform .2s var(--ps-ease), border-color .2s var(--ps-ease) !important;
}
.prido-bs-card:hover,
.prido-related-card:hover {
  box-shadow: var(--ps-shadow) !important;
  transform: translateY(-2px) !important;
  border-color: var(--ps-line-strong) !important;
}
.prido-bs-img-wrap,
.prido-rel-img-link { background: #fff !important; border-bottom: 1px solid var(--ps-line) !important; }
.prido-bs-badge-top,
.prido-bs-badge-shipping {
  border-radius: 999px !important;
  font-family: var(--ps-fh) !important;
  font-size: 10.5px !important; font-weight: 700 !important;
  letter-spacing: .04em !important; text-transform: uppercase !important;
  padding: 4px 8px !important;
  box-shadow: none !important;
}
.prido-bs-badge-top { background: var(--ps-ink) !important; color: var(--ps-surface) !important; }
.prido-bs-badge-shipping { background: var(--ps-info-bg) !important; color: var(--ps-info-fg) !important; }
.prido-bs-cat,
.prido-rel-cat {
  font-family: var(--ps-fb) !important;
  font-size: 10.5px !important; font-weight: 600 !important;
  letter-spacing: .1em !important; text-transform: uppercase !important;
  color: var(--ps-muted) !important;
}
.prido-bs-title,
.prido-rel-title {
  font-family: var(--ps-fb) !important;
  font-size: 14.5px !important; font-weight: 600 !important;
  line-height: 1.3 !important;
  color: var(--ps-ink) !important;
}
.prido-bs-rating { color: var(--ps-muted) !important; font-size: 12px !important; }
.prido-bs-sale-box .amount,
.prido-bs-regular-box .amount,
.prido-rel-sale .amount {
  font-family: var(--ps-fh) !important;
  font-size: 18px !important; font-weight: 700 !important;
  color: var(--ps-ink) !important;
}
.prido-bs-reg-price .amount,
.prido-rel-reg .amount {
  font-family: var(--ps-fb) !important;
  font-size: 12.5px !important; font-weight: 400 !important;
  color: var(--ps-faint) !important;
  text-decoration: line-through;
}
.prido-rel-savings {
  background: var(--ps-promo) !important; color: #fff !important;
  border-radius: 999px !important;
  font-family: var(--ps-fh) !important; font-size: 11px !important; font-weight: 700 !important;
}
.prido-rel-desc { color: var(--ps-muted) !important; font-size: 12.5px !important; line-height: 1.45 !important; }

/* CTA de tarjeta: teal AA sólido; el tooltip conserva su comportamiento */
.prido-bs-action-btn,
.prido-rel-action-btn {
  background: var(--ps-cta) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: var(--ps-ri) !important;
  font-family: var(--ps-fh) !important;
  font-size: 13.5px !important; font-weight: 600 !important;
  min-height: 42px !important;
  box-shadow: none !important;
  transition: background .16s var(--ps-ease), transform .16s var(--ps-ease) !important;
}
.prido-bs-action-btn:hover,
.prido-rel-action-btn:hover { background: var(--ps-cta-hover) !important; transform: translateY(-1px); }
.prido-bs-action-btn.prido-add--options,
.prido-rel-action-btn.prido-add--options {
  background: transparent !important;
  color: var(--ps-cta) !important;
  border: 1.5px solid var(--ps-cta) !important;
}
.prido-bs-action-btn.prido-add--options:hover,
.prido-rel-action-btn.prido-add--options:hover { background: var(--ps-info-bg) !important; }
.prido-bs-action-btn.prido-add--disabled,
.prido-rel-action-btn.prido-add--disabled,
.prido-bs-action-btn.is-disabled,
.prido-rel-action-btn.is-disabled {
  background: var(--ps-surface-3) !important;
  color: var(--ps-muted) !important;
  border: 1px solid var(--ps-line) !important;
  transform: none !important;
}
/* Favorito (wishlist) sobre la tarjeta: chip redondo */
.prido-bs-actions .wd-wishlist-btn,
.prido-rel-actions .wd-wishlist-btn {
  width: 34px !important; height: 34px !important;
  border-radius: 50% !important;
  background: var(--ps-surface) !important;
  border: 1px solid var(--ps-line) !important;
  color: var(--ps-muted) !important;
  box-shadow: none !important;
}
.prido-bs-actions .wd-wishlist-btn:hover,
.prido-rel-actions .wd-wishlist-btn:hover { color: var(--ps-cta) !important; border-color: var(--ps-teal) !important; }

/* Flechas del carrusel: redondas, sutiles */
.prido-bs-carousel-wrapper .prido-gallery-arrow,
.prido-related-carousel-wrapper .prido-gallery-arrow {
  background: var(--ps-surface) !important;
  border: 1px solid var(--ps-line) !important;
  color: var(--ps-ink-soft) !important;
  box-shadow: 0 1px 2px rgba(15,26,38,.06) !important;
}
.prido-bs-carousel-wrapper .prido-gallery-arrow:hover,
.prido-related-carousel-wrapper .prido-gallery-arrow:hover { border-color: var(--ps-line-strong) !important; color: var(--ps-ink) !important; }
.prido-bs-scrollbar-wrap,
.prido-rel-scrollbar-wrap { background: var(--ps-surface-3) !important; }
.prido-bs-thumb,
.prido-rel-thumb { background: var(--ps-teal) !important; }

/* ---------- Opiniones de clientes ---------- */
.prido-reviews-container {
  background: var(--ps-surface) !important;
  border: 1px solid var(--ps-line) !important;
  border-radius: var(--ps-rc) !important;
  box-shadow: none !important;
}
.prido-reviews-top-bar { border-bottom: 1px solid var(--ps-line) !important; }
.prido-reviews-global-rating .score { font-family: var(--ps-fh) !important; font-weight: 700 !important; color: var(--ps-ink) !important; }
.prido-reviews-actions .prido-btn-glass {
  background: transparent !important;
  color: var(--ps-cta) !important;
  border: 1.5px solid var(--ps-cta) !important;
  border-radius: var(--ps-ri) !important;
  font-family: var(--ps-fh) !important; font-size: 13.5px !important; font-weight: 600 !important;
  min-height: 42px !important;
  box-shadow: none !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
.prido-reviews-actions .prido-btn-glass:hover { background: var(--ps-info-bg) !important; }
.prido-no-reviews-msg {
  box-sizing: border-box; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important;
  border: 1px dashed var(--ps-line-strong) !important;
  border-radius: var(--ps-rc) !important;
  background: transparent !important;
  color: var(--ps-muted) !important;
  font-family: var(--ps-fb) !important;
}
.prido-reviews-grid > * {
  background: var(--ps-surface-2) !important;
  border: 1px solid var(--ps-line) !important;
  border-radius: var(--ps-ri) !important;
  box-shadow: none !important;
}
/* Modal "todas las opiniones" + formulario (mismo sistema de modales; solo tokens) */
.prido-ar-filter-btn {
  border-radius: 999px !important;
  border: 1px solid var(--ps-line-strong) !important;
  background: var(--ps-surface) !important;
  color: var(--ps-ink-soft) !important;
  font-family: var(--ps-fb) !important; font-size: 13px !important;
}
.prido-ar-filter-btn.is-active,
.prido-ar-filter-btn[aria-pressed="true"] { background: var(--ps-ink) !important; color: var(--ps-surface) !important; border-color: var(--ps-ink) !important; }
.prido-ar-sort-select {
  border-radius: var(--ps-ri) !important;
  border: 1px solid var(--ps-line-strong) !important;
  background: var(--ps-surface) !important;
  color: var(--ps-ink-soft) !important;
  min-height: 38px !important;
}
.prido-review-form input[type="text"],
.prido-review-form input[type="email"],
.prido-review-form textarea {
  border-radius: var(--ps-ri) !important;
  border: 1px solid var(--ps-line-strong) !important;
  background: var(--ps-surface) !important;
  color: var(--ps-ink) !important;
  font-family: var(--ps-fb) !important; font-size: 13.5px !important;
  min-height: 44px !important;
}
.prido-review-form input:focus-visible,
.prido-review-form textarea:focus-visible { outline: 2px solid var(--ps-teal) !important; outline-offset: 1px; }
.prido-review-form .prido-btn-main {
  background: var(--ps-cta) !important; color: #fff !important;
  border: 0 !important; border-radius: var(--ps-ri) !important;
  font-family: var(--ps-fh) !important; font-size: 14px !important; font-weight: 600 !important;
  min-height: 46px !important;
  box-shadow: none !important;
}
.prido-review-form .prido-btn-main:hover { background: var(--ps-cta-hover) !important; }

/* ---------- Responsive ---------- */
@media (max-width: 575px) {
  .prido-bs-header h2,
  .prido-related-header h2,
  .prido-reviews-heading h2 { font-size: 21px !important; }
  .prido-bs-action-btn,
  .prido-rel-action-btn { font-size: 13px !important; min-height: 40px !important; }
}


/* ============================================================================
   Drawers de carrito y cotización — estilo del prototipo (solo en la ficha)
   ============================================================================ */
body.single-product .prido-cart-drawer .prido-mc-foot__checkout,
body.single-product .prido-quote-drawer .prido-quote-drawer__cta {
  display: flex !important; align-items: center; justify-content: center; gap: 8px;
  height: 46px; padding: 0 18px !important;
  background: var(--prido-teal-700, #0E7E7A) !important; color: #fff !important;
  border: 0 !important; border-radius: 12px !important;
  font-family: 'Outfit', system-ui, sans-serif !important; font-size: 14px !important; font-weight: 600 !important;
  text-decoration: none !important; box-shadow: none !important;
}
body.single-product .prido-cart-drawer .prido-mc-foot__checkout:hover,
body.single-product .prido-quote-drawer .prido-quote-drawer__cta:hover { background: #0B6A67 !important; color: #fff !important; }
body.single-product .prido-cart-drawer .prido-mc-foot__viewcart,
body.single-product .prido-cart-drawer .prido-cart-drawer__continue,
body.single-product .prido-quote-drawer .prido-cart-drawer__continue {
  display: inline-block !important; align-self: center; width: auto !important; margin: 0 auto !important; padding: 4px 0 !important;
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  color: var(--prido-theme-ink-muted, #5e6f80) !important;
  font-family: var(--prido-font-body, 'Noto Sans', system-ui, sans-serif) !important; font-size: 13px !important; font-weight: 500 !important;
  text-decoration: underline !important; text-underline-offset: 3px;
}
body.single-product .prido-cart-drawer .prido-mc-foot__viewcart:hover,
body.single-product .prido-cart-drawer .prido-cart-drawer__continue:hover,
body.single-product .prido-quote-drawer .prido-cart-drawer__continue:hover { color: var(--prido-theme-ink, #0f1a26) !important; }
body.single-product .prido-cart-drawer .prido-mc-foot__actions { display: flex !important; flex-direction: column !important; gap: 10px !important; }
body.single-product .prido-cart-drawer .prido-cart-drawer__title,
body.single-product .prido-quote-drawer .prido-cart-drawer__title { font-family: 'Outfit', system-ui, sans-serif !important; font-size: 19px !important; font-weight: 600 !important; }


/* ============================================================================
   Opiniones de clientes · estructura del mockup (resumen + lista + CTA)
   ============================================================================ */
.prido-reviews-breakout .prido-reviews-container--r2 { display: flex !important; flex-direction: column; gap: 16px; padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
.prido-reviews-container--r2 .prido-reviews-top-bar { display: flex !important; align-items: flex-end !important; justify-content: space-between !important; gap: 12px; padding: 0 !important; border: 0 !important; background: transparent !important; }
.prido-reviews-container--r2 .prido-reviews-heading { display: block !important; }
.prido-reviews-container--r2 .prido-reviews-sub { margin: 4px 0 0 !important; font-family: var(--ps-fb) !important; font-size: 13px !important; color: var(--ps-muted) !important; line-height: 1.4 !important; }
.prido-reviews-container--r2 .prido-reviews-all-link { font-family: var(--ps-fb); font-size: 13px; font-weight: 600; color: var(--prido-primary, #5e81a2); text-decoration: none; white-space: nowrap; }
.prido-reviews-layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 20px; align-items: start; }
.prido-reviews-summary { display: flex; flex-direction: column; gap: 12px; padding: 20px; border: 1px solid var(--ps-line); border-radius: var(--ps-rc); background: var(--ps-surface); }
.prido-reviews-summary-top { display: flex; align-items: baseline; gap: 10px; }
.prido-reviews-big { font-family: var(--ps-fh); font-size: 44px; font-weight: 700; line-height: 1; color: var(--ps-ink); }
.prido-reviews-stars-row { display: flex; gap: 2px; color: var(--ps-line-strong); }
.prido-reviews-bar { display: grid; grid-template-columns: 52px 1fr 28px; align-items: center; gap: 8px; font-size: 12px; color: var(--ps-muted); }
.prido-reviews-bar i { display: block; height: 6px; border-radius: 999px; background: var(--ps-surface-3); overflow: hidden; }
.prido-reviews-bar i b { display: block; height: 100%; background: #f2b01e; }
.prido-reviews-bar span:last-child { text-align: right; }
.prido-reviews-container--r2 .prido-reviews-write { align-self: flex-start; display: inline-flex !important; align-items: center; gap: 8px; height: 42px; padding: 0 16px !important; margin-top: 4px; }
.prido-reviews-main { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.prido-reviews-list-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.prido-reviews-count { font-family: var(--ps-fb); font-size: 14px; font-weight: 600; color: var(--ps-ink); }
.prido-reviews-sort { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 12px; border: 1px solid var(--ps-line-strong); border-radius: 10px; background: var(--ps-surface); font-family: var(--ps-fb); font-size: 13px; color: var(--ps-ink-soft); text-decoration: none; }
.prido-reviews-container--r2 .prido-reviews-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0 !important; margin: 0 !important; }
.prido-reviews-container--r2 .prido-no-reviews-msg {
  grid-column: 1 / -1; display: flex !important; flex-direction: column; align-items: center; gap: 6px; text-align: center;
  padding: 28px 20px !important; margin: 0 !important; color: var(--ps-muted) !important;
  border: 1px dashed var(--ps-line-strong) !important; border-radius: var(--ps-rc) !important; background: transparent !important; font-size: 13px !important;
}
.prido-reviews-container--r2 .prido-no-reviews-msg svg { color: var(--ps-line-strong); }
.prido-reviews-container--r2 .prido-no-reviews-msg strong { font-family: var(--ps-fb); font-size: 15px; font-weight: 600; color: var(--ps-ink); }
.prido-reviews-container--r2 .prido-review-premium-card { background: var(--ps-surface) !important; border: 1px solid var(--ps-line) !important; border-radius: var(--ps-ri) !important; box-shadow: none !important; }
.prido-reviews-cta { display: flex; flex-direction: column; gap: 10px; padding: 20px; border: 1px solid var(--ps-line); border-radius: var(--ps-rc); background: var(--ps-surface-2); }
.prido-reviews-cta-title { font-family: var(--ps-fh); font-size: 15px; font-weight: 600; color: var(--ps-ink); }
.prido-reviews-cta .prido-reviews-sub { margin: 0 !important; }
.prido-reviews-cta-btn { align-self: flex-start; display: inline-flex; align-items: center; justify-content: center; height: 46px; padding: 0 22px; border-radius: var(--ps-ri); background: var(--ps-cta); color: #fff !important; font-family: var(--ps-fh); font-size: 14px; font-weight: 600; text-decoration: none !important; }
.prido-reviews-cta-btn:hover { background: var(--ps-cta-hover); }
@media (max-width: 900px) {
  .prido-reviews-layout { grid-template-columns: minmax(0, 1fr); }
  .prido-reviews-container--r2 .prido-reviews-grid { grid-template-columns: minmax(0, 1fr); }
}
/* r2b: la sección ocupa todo el ancho (el maestro centraba el contenedor) */
.prido-reviews-breakout .prido-reviews-container--r2 { width: 100% !important; max-width: none !important; align-items: stretch !important; margin: 0 !important; }
.prido-reviews-container--r2 .prido-reviews-layout { width: 100%; }
.prido-reviews-container--r2 .prido-btn-glass { text-transform: none !important; letter-spacing: 0 !important; font-size: 13.5px !important; }
/* r4: encabezados de sección alineados a la izquierda también en móvil (mockup) */
.prido-reviews-container--r2 .prido-reviews-top-bar, .prido-reviews-container--r2 .prido-reviews-heading,
.prido-bs-header, .prido-related-header { text-align: left !important; align-items: flex-end !important; justify-content: space-between !important; }
.prido-reviews-container--r2 .prido-reviews-heading h2, .prido-bs-header h2, .prido-related-header h2 { text-align: left !important; }
