/* ==========================================================================
   MSL SERVICIOS — UI FICHA DE PRODUCTO
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. BREADCRUMBS HORIZONTALES
   -------------------------------------------------------------------------- */
.breadcrumbs,
.woocommerce-breadcrumb {
  display: flex !important;
  flex-wrap: wrap !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  margin: var(--space-5, 1.25rem) 0 0;
}

.breadcrumbs__list {
  display: flex !important;
  flex-wrap: wrap !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.breadcrumbs__item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--font-size-small, 0.875rem);
  color: var(--color-text-caption, #64748b);
}

.breadcrumbs__item:not(:last-child)::after {
  content: '/';
  color: var(--color-text-caption, #9ca3af);
}

.breadcrumbs__link {
  text-decoration: none;
  color: var(--color-primary-600, #0E0E8B);
  transition: color 0.15s ease;
}

.breadcrumbs__link:hover {
  color: var(--color-primary-700, #0b0b6d);
  text-decoration: underline;
}

.breadcrumbs__current {
  color: var(--color-text-secondary, #475569);
  font-weight: 500;
}

/* --------------------------------------------------------------------------
   2. HERO: 2 COLUMNAS (IMAGEN + TARJETA INFO)
   -------------------------------------------------------------------------- */
.product-hero {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-7, 1.75rem);
  margin-top: var(--space-6, 1.5rem);
}

@media (min-width: 1024px) {
  .product-hero {
    grid-template-columns: 2fr 3fr;
    gap: var(--space-8, 2rem);
    align-items: start;
  }
}

/* --- Columna izquierda: Imagen en tarjeta --- */
.product-hero__gallery {
  display: flex;
  flex-direction: column;
  gap: var(--space-3, 0.75rem);
}

.product-image-card {
  background: var(--color-bg-primary, #fff);
  border: 1px solid var(--color-border-subtle, #e2e8f0);
  border-radius: var(--radius-lg, 0.75rem);
  padding: var(--space-5, 1.25rem);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 5;
  overflow: hidden;
}

@media (min-width: 1024px) {
  .product-image-card {
    aspect-ratio: 1 / 1;
    max-height: 420px;
  }
}

.product-image-card__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Thumbnails */
.p-thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2, 0.5rem);
}

.p-thumb {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  padding: 0;
  background-color: var(--color-neutral-100, #f1f5f9);
  border: 2px solid transparent;
  border-radius: var(--radius-md, 0.5rem);
  cursor: pointer;
  transition: border-color 0.15s ease;
  overflow: hidden;
}

.p-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-thumb:hover {
  border-color: var(--color-border-strong, #cbd5e1);
}

.p-thumb.is-active {
  border-color: var(--color-primary-600, #0E0E8B);
}

/* --- Columna derecha: Tarjeta de resumen --- */
.product-summary-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  gap: var(--space-4, 1rem);
}

.product-summary-card__cat {
  display: inline-block;
  width: fit-content;
  padding: var(--space-1, 0.25rem) var(--space-3, 0.75rem);
  background-color: var(--color-primary-50, #eef2ff);
  border-radius: var(--radius-full, 9999px);
  font-size: var(--font-size-caption, 0.75rem);
  font-weight: 600;
  color: var(--color-primary-600, #0E0E8B);
}

.product-summary-card__title {
  margin: 0;
  font-size: var(--font-size-h2, 1.75rem);
  line-height: var(--line-height-h2, 1.2);
  color: var(--color-text-primary, #0f172a);
}

.product-summary-card__sku {
  margin: 0;
  font-size: var(--font-size-caption, 0.75rem);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--color-text-caption, #64748b);
}

.product-summary-card__excerpt {
  font-size: var(--font-size-body, 1rem);
  line-height: var(--line-height-body, 1.6);
  color: var(--color-text-secondary, #475569);
}

.product-summary-card__excerpt p {
  margin: 0;
}

.product-summary-card__description {
  padding-top: var(--space-4, 1rem);
  border-top: 1px solid var(--color-border-subtle, #e2e8f0);
  font-size: var(--font-size-body, 1rem);
  line-height: var(--line-height-body, 1.6);
  color: var(--color-text-secondary, #475569);
}

.product-summary-card__description p {
  margin: 0 0 var(--space-3, 0.75rem);
}

.product-summary-card__description p:last-child {
  margin-bottom: 0;
}

.product-summary-card__cta {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2, 0.5rem);
  width: fit-content;
  margin-top: var(--space-2, 0.5rem);
}

.product-summary-card__cta svg {
  width: 20px;
  height: 20px;
}

/* --------------------------------------------------------------------------
   3. PRODUCTOS RELACIONADOS
   -------------------------------------------------------------------------- */
.product-related {
  margin-top: var(--space-10, 4rem);
  margin-bottom: 80px;
  padding-top: var(--space-8, 2rem);
  border-top: 1px solid var(--color-border-subtle, #e2e8f0);
}

.product-related h2 {
  margin: 0 0 var(--space-6, 1.5rem);
  font-size: var(--font-size-h3, 1.25rem);
  color: var(--color-text-primary, #0f172a);
}

/* Grilla 5 columnas */
.product-grid--4 {
  display: grid;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: var(--space-5, 1.25rem);
}

/* Product card */
.product-card {
  display: flex;
  flex-direction: column;
  background: var(--color-bg-primary, #fff);
  border: 1px solid var(--color-border-subtle, #e2e8f0);
  border-radius: var(--radius-lg, 0.75rem);
  overflow: hidden;
  transition: box-shadow 0.15s ease;
}

.product-card:hover {
  box-shadow: var(--shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1));
}

.product-card__link {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  text-decoration: none;
  color: inherit;
}

.product-card__media {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-4, 1rem);
  background: var(--color-neutral-50, #f9fafb);
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.product-card__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.product-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-2, 0.5rem);
  padding: var(--space-4, 1rem);
  flex: 1 1 auto;
}

.product-card__cat {
  font-size: var(--font-size-xs, 0.75rem);
  color: var(--color-text-caption, #9ca3af);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.product-card__name {
  margin: 0;
  font-size: var(--font-size-small, 0.875rem);
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-text-primary, #0f172a);
}

.product-card .btn {
  margin: 0 var(--space-4, 1rem) var(--space-4, 1rem);
  justify-content: center;
}

/* --------------------------------------------------------------------------
   4. RESPONSIVE
   -------------------------------------------------------------------------- */
@media (max-width: 1023px) {
  .product-grid--4 {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 767px) {
  .product-grid--4 {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .product-summary-card {
    padding: var(--space-5, 1.25rem);
  }
}

@media (max-width: 479px) {
  .product-grid--4 {
    grid-template-columns: 1fr !important;
  }

  .breadcrumbs__list {
    gap: 4px;
  }
}

/* --------------------------------------------------------------------------
   PRODUCTOS RELACIONADOS — Responsivo
   -------------------------------------------------------------------------- */
.product-related .product-grid--4,
.product-related .product-grid {
  display: grid !important;
  gap: 16px !important;
}

.product-related .product-grid--4 > *,
.product-related .product-grid > * {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  float: none !important;
  margin: 0 !important;
}

/* Escritorio: 5 columnas */
@media (min-width: 1024px) {
  .product-related .product-grid--4,
  .product-related .product-grid {
    grid-template-columns: repeat(5, 1fr) !important;
  }
}

/* Tablet: 4 columnas */
@media (min-width: 768px) and (max-width: 1023px) {
  .product-related .product-grid--4,
  .product-related .product-grid {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

/* Móvil: 2 columnas */
@media (max-width: 767px) {
  .product-related .product-grid--4,
  .product-related .product-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }
}
