/* ============================================================
   WINDMASTER — BASE
   Layout, loops, section headers, utilities, animations
   Cargado en todas las páginas.
============================================================ */

/* ── LAYOUT & SPACING ── */

.wm-section-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
}

.wm-hero       { padding: 80px 0 60px; }
.wm-conditions-bar { padding: 30px 0; }

.wm-conditions,
.wm-webcams,
.wm-spots,
.wm-resume,
.wm-summary,
.wm-foro,
.wm-clases,
.wm-tienda {
  padding: 70px 0;
}

@media (max-width: 767px) {
  .wm-hero { padding: 60px 0 40px; }

  .wm-conditions,
  .wm-webcams,
  .wm-spots,
  .wm-resume,
  .wm-summary,
  .wm-foro,
  .wm-clases,
  .wm-tienda {
    padding: 50px 0;
  }
}

/* ── LOOPS & CARDS (BASE GLOBAL) ── */

.elementor-loop-container {
  gap: 20px !important;
}

.e-loop-item {
  box-shadow: var(--wm-shadow-sm);
  transition: var(--wm-transition-normal);
  will-change: transform;
}

.e-loop-item:hover {
  transform: translateY(-6px) scale(1.01);
  box-shadow: var(--wm-shadow-xl);
}

@media (max-width: 767px) {
  .elementor-loop-container {
    gap: 15px !important;
  }
}

/* ── SECTION HEADERS ── */

.sw-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  gap: 15px;
}

.sw-title-group .e-con-inner {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.sw-Eblue .elementor-heading-title,
.elementor-widget.sw-Eblue .elementor-heading-title {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  color: var(--wm-accent) !important;
  text-transform: uppercase !important;
}

.sw-EWh .elementor-heading-title,
.elementor-widget.sw-EWh .elementor-heading-title {
  font-size: 28px !important;
  font-weight: 800 !important;
  color: var(--wm-text-white) !important;
}

.elementor-widget.sw-verTodas .elementor-button,
.elementor-widget.sw-verTodas .elementor-button-link {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--wm-accent) !important;
  background-color: var(--wm-accent) !important;
  color: #000 !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 10px 22px !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transition: var(--wm-transition-fast) !important;
}

.elementor-widget.sw-verTodas .elementor-button:hover,
.elementor-widget.sw-verTodas .elementor-button-link:hover {
  background: var(--wm-accent-dark) !important;
  background-color: var(--wm-accent-dark) !important;
  color: #fff !important;
  transform: translateX(3px);
}

@media (max-width: 767px) {
  .sw-section-header {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .sw-title-group,
  .sw-verTodas {
    width: 100%;
  }

  .sw-title-group .e-con-inner {
    align-items: center;
  }

  .sw-Eblue .elementor-heading-title,
  .sw-EWh .elementor-heading-title {
    text-align: center;
  }

  .sw-verTodas .elementor-button {
    justify-content: center;
  }
}

/* ── ADDITIONAL SECTIONS ── */

.wm-foro .e-con-inner > div {
  gap: 10px;
}

.wm-foro p {
  line-height: 1.4;
}

.wm-clases .e-con-inner > div {
  border-radius: var(--wm-radius-md);
  padding: 16px;
  transition: var(--wm-transition-fast);
}

.wm-clases .e-con-inner > div:hover {
  background: var(--wm-bg-light);
  transform: translateY(-3px);
}

/* ── UTILITY CLASSES ── */

.wm-section-alt  { background-color: var(--wm-bg-secondary) !important; }
.wm-section-dark { background-color: var(--wm-bg-primary) !important; }

/* Pill eyebrow reutilizable (auto-width en contexto flex) */
.wm-eyebrow-pill {
  width: fit-content !important;
  align-self: flex-start;
}

/* ── PAGE HEADER ── */
.wm-page-header {
  position: relative;
  overflow: hidden;
}

/* Glow radial detrás del título */
.wm-page-header::before {
  content: '';
  position: absolute;
  top: -60px;
  left: 50%;
  transform: translateX(-50%);
  width: 700px;
  height: 420px;
  background: radial-gradient(circle at center, rgba(0, 200, 255, 0.07) 0%, transparent 65%);
  pointer-events: none;
  z-index: 0;
}

.wm-page-header .e-con-inner,
.wm-page-header > .e-con > .e-con-inner {
  position: relative;
  z-index: 1;
}

/* Badge "EN VIVO" con punto parpadeante */
.wm-live-tag {
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  width: fit-content !important;
  align-self: center;
}

.wm-live-tag::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #ff4b4b;
  flex-shrink: 0;
  animation: wm-blink 1.8s ease-in-out infinite; /* definida en windmaster.css */
}

/* ── STAGGER ANIMATIONS ── */

.e-loop-item:nth-child(1) { animation-delay: 0.05s; }
.e-loop-item:nth-child(2) { animation-delay: 0.10s; }
.e-loop-item:nth-child(3) { animation-delay: 0.15s; }
.e-loop-item:nth-child(4) { animation-delay: 0.20s; }
.e-loop-item:nth-child(5) { animation-delay: 0.25s; }
.e-loop-item:nth-child(6) { animation-delay: 0.30s; }

/* ── HEADER NAVBAR (post 1016) ── */

/* Centrado vertical de todos los hijos del navbar */
.elementor-1016 .e-con-inner {
  align-items: center !important;
}
