/*
Theme Name:   Winflash Child
Theme URI:    
Description:  Child theme de Hello Elementor para el sitio institucional de Winflash Importadora.
Author:       Cristian
Template:     hello-elementor
Version:      1.0.0
Text Domain:  winflash-child
*/

/* ==========================================================================
   Variables de marca (Sección 10 del ReporteDeInicio)
   Se usan como CSS Custom Properties en todo el sitio: Elementor, header.php,
   footer.php y cualquier componente HTML personalizado.
   ========================================================================== */
:root {
  --winflash-ivory-white: #F5F1F0;
  --winflash-pearl-white: #EFEAE9;
  --winflash-metallic-gold: #D5B070;
  --winflash-deep-gold: #C0934E;
  --winflash-dark-warm-gold: #8F6A2A;

  --winflash-font-heading: 'Playfair Display', serif;
  --winflash-font-body: 'Inter', sans-serif;
}

body {
  font-family: var(--winflash-font-body);
  background-color: var(--winflash-ivory-white);
  color: #2b2420;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--winflash-font-heading);
}

/* ==========================================================================
   Galería de Producto (Componente HTML personalizado)
   ========================================================================== */

.winflash-product-gallery {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.winflash-product-gallery__main {
  position: relative;
  width: 100%;
  height: 438px;
  background-color: #F1EDEC;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.winflash-product-gallery__media {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: none;
}

.winflash-product-gallery__media--active {
  display: block;
}

.winflash-product-gallery__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: none;
}

.winflash-product-gallery__video--active {
  display: block;
}

.winflash-product-gallery__play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 64px;
  height: 64px;
  background-color: var(--winflash-deep-gold);
  border-radius: 50%;
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
  border: none;
  padding: 0;
}

.winflash-product-gallery__play-button--visible {
  display: flex;
}

.winflash-product-gallery__play-button:hover {
  background-color: var(--winflash-metallic-gold);
  transform: translate(-50%, -50%) scale(1.1);
}

.winflash-product-gallery__play-button:focus {
  outline: 2px solid var(--winflash-dark-warm-gold);
  outline-offset: 4px;
}

.winflash-product-gallery__play-icon {
  width: 0;
  height: 0;
  border-left: 20px solid white;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  margin-left: 4px;
}

.winflash-product-gallery__thumbnails {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding-bottom: 8px;
}

.winflash-product-gallery__thumbnail {
  flex-shrink: 0;
  width: 120px;
  height: 120px;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  border: 2px solid transparent;
  transition: all 0.3s ease;
  background-color: #F1EDEC;
}

.winflash-product-gallery__thumbnail:hover {
  border-color: var(--winflash-metallic-gold);
}

.winflash-product-gallery__thumbnail--active {
  border-color: var(--winflash-deep-gold);
  box-shadow: 0 2px 8px rgba(143, 106, 42, 0.3);
}

.winflash-product-gallery__thumbnail img,
.winflash-product-gallery__thumbnail video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.winflash-product-gallery__thumbnail-video-indicator {
  position: relative;
  width: 100%;
  height: 100%;
}

.winflash-product-gallery__thumbnail-video-indicator::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  border-left: 12px solid white;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}

/* Responsive */
@media (max-width: 768px) {
  .winflash-product-gallery__main {
    height: auto;
    aspect-ratio: 4 / 3;
  }

  .winflash-product-gallery__thumbnails {
    gap: 12px;
  }

  .winflash-product-gallery__thumbnail {
    width: 100px;
    height: 100px;
  }

  .winflash-product-gallery__play-button {
    width: 56px;
    height: 56px;
  }

  .winflash-product-gallery__play-icon {
    border-left: 16px solid white;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
  }
}

/* ==========================================================================
   Showcase de Categorías (Página de Inicio)
   ========================================================================== */

.winflash-category-showcase {
  max-width: 1280px;
  margin: 0 auto;
  padding: 80px 24px;
}

.winflash-category-showcase__header {
  text-align: center;
  margin-bottom: 64px;
}

.winflash-category-showcase__title {
  font-family: var(--winflash-font-heading);
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--winflash-dark-warm-gold);
  margin: 0 0 16px 0;
  line-height: 1.2;
}

.winflash-category-showcase__subtitle {
  font-family: var(--winflash-font-body);
  font-size: 1.125rem;
  color: #4F4539;
  margin: 0;
  line-height: 1.6;
}

.winflash-category-showcase__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.winflash-category-card {
  position: relative;
  height: 500px;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.winflash-category-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

.winflash-category-card__image-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.winflash-category-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.winflash-category-card:hover .winflash-category-card__image {
  transform: scale(1.1);
}

.winflash-category-card__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.3) 50%,
    rgba(0, 0, 0, 0.7) 100%
  );
  transition: background 0.4s ease;
}

.winflash-category-card:hover .winflash-category-card__overlay {
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.2) 0%,
    rgba(0, 0, 0, 0.5) 50%,
    rgba(0, 0, 0, 0.8) 100%
  );
}

.winflash-category-card__content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 32px;
  color: white;
  z-index: 2;
}

.winflash-category-card__label {
  font-family: var(--winflash-font-body);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--winflash-metallic-gold);
  margin-bottom: 8px;
  display: block;
}

.winflash-category-card__title {
  font-family: var(--winflash-font-heading);
  font-size: 1.75rem;
  font-weight: 700;
  margin: 0 0 16px 0;
  line-height: 1.3;
}

.winflash-category-card__description {
  font-family: var(--winflash-font-body);
  font-size: 0.9375rem;
  line-height: 1.6;
  margin: 0 0 24px 0;
  opacity: 0.9;
}

.winflash-category-card__button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: var(--winflash-deep-gold);
  color: white;
  padding: 12px 24px;
  border-radius: 999px;
  text-decoration: none;
  font-family: var(--winflash-font-body);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  transition: all 0.3s ease;
  opacity: 0;
  transform: translateY(20px);
}

.winflash-category-card:hover .winflash-category-card__button {
  opacity: 1;
  transform: translateY(0);
}

.winflash-category-card__button:hover {
  background-color: var(--winflash-metallic-gold);
  transform: scale(1.05);
}

.winflash-category-card__button-arrow {
  transition: transform 0.3s ease;
}

.winflash-category-card__button:hover .winflash-category-card__button-arrow {
  transform: translateX(4px);
}

/* Diseño oblicuo para las tarjetas */
.winflash-category-card--angled {
  transform: skewY(-2deg);
}

.winflash-category-card--angled .winflash-category-card__content {
  transform: skewY(2deg);
}

.winflash-category-card--angled:hover {
  transform: skewY(-2deg) translateY(-8px);
}

/* Responsive */
@media (max-width: 1024px) {
  .winflash-category-showcase__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }

  .winflash-category-card {
    height: 450px;
  }

  .winflash-category-showcase__title {
    font-size: 2rem;
  }
}

@media (max-width: 768px) {
  .winflash-category-showcase {
    padding: 60px 16px;
  }

  .winflash-category-showcase__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .winflash-category-card {
    height: 400px;
  }

  .winflash-category-card--angled {
    transform: skewY(-1deg);
  }

  .winflash-category-card--angled:hover {
    transform: skewY(-1deg) translateY(-8px);
  }

  .winflash-category-showcase__title {
    font-size: 1.75rem;
  }

  .winflash-category-showcase__subtitle {
    font-size: 1rem;
  }

  .winflash-category-card__title {
    font-size: 1.5rem;
  }

  .winflash-category-card__button {
    opacity: 1;
    transform: translateY(0);
  }
}
