/* =========================================================
   VIENTOS SONOROS · REDISEÑO 2026
   Estilos personalizados del tema hijo
   Versión limpia · responsive integrado por bloques
   ========================================================= */


/* =========================================================
   01. VARIABLES GLOBALES
   ========================================================= */

:root {
  --vs-color-primary: #0874D1;
  --vs-color-primary-hover: #055EA8;

  --vs-color-dark: #1D2530;
  --vs-color-dark-soft: #263241;

  --vs-color-white: #FFFFFF;
  --vs-color-soft-white: #F4F4F4;

  --vs-color-accent: #E63946;
  --vs-color-accent-hover: #C92F3B;

  --vs-color-purple: #7B1FD1;
  --vs-color-purple-hover: #6817B5;
  --vs-color-light-blue: #A7D8FF;

  --vs-color-pastel-orange: #F9D8C8;
  --vs-color-pastel-purple: #E9DDF0;
  --vs-color-soft-bg: #FAF8FB;

  --vs-radius-pill: 999px;
  --vs-radius-card: 24px;
  --vs-radius-section: 32px;

  --vs-shadow-soft: 0 14px 34px rgba(29, 37, 48, 0.14);
  --vs-shadow-card: 0 18px 46px rgba(29, 37, 48, 0.12);
  --vs-shadow-button: 0 14px 30px rgba(230, 57, 70, 0.24);

  --vs-transition: all 0.25s ease;
}


/* =========================================================
   02. BASE GLOBAL
   ========================================================= */

html,
body {
  overflow-x: hidden;
}

body {
  color: var(--vs-color-dark);
}

a {
  transition: var(--vs-transition);
}


/* =========================================================
   03. HEADER / MENÚ PRINCIPAL
   ========================================================= */

.site-header {
  z-index: 999;
}

.main-header-menu > .menu-item > .menu-link {
  color: var(--vs-color-dark);
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  white-space: nowrap;
  transition: var(--vs-transition);
}

.main-header-menu > .menu-item > .menu-link:hover,
.main-header-menu > .current-menu-item > .menu-link {
  color: var(--vs-color-primary);
}

.ast-builder-grid-row {
  column-gap: 16px;
}

.ast-builder-button-wrap {
  flex-shrink: 0;
  margin-left: 8px !important;
}

.ast-builder-button-wrap .ast-custom-button-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ast-builder-button-wrap .ast-custom-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: max-content;
  max-width: none;
  padding: 12px 22px !important;
  border-radius: var(--vs-radius-pill) !important;
  background-color: var(--vs-color-accent) !important;
  color: var(--vs-color-white) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  transition: var(--vs-transition);
}

.ast-builder-button-wrap .ast-custom-button:hover {
  background-color: var(--vs-color-accent-hover) !important;
  color: var(--vs-color-white) !important;
}

/* Header transparente solo en home */
.home.ast-theme-transparent-header .site-header,
.home .ast-theme-transparent-header .site-header {
  position: absolute;
  width: 100%;
  background: transparent;
}

.home.ast-theme-transparent-header .ast-primary-header-bar,
.home .ast-theme-transparent-header .ast-primary-header-bar {
  padding-left: 40px;
  padding-right: 40px;
}

.home.ast-theme-transparent-header .site-logo-img img,
.home .ast-theme-transparent-header .site-logo-img img {
  max-width: 190px;
  height: auto;
}

.home.ast-theme-transparent-header .main-header-menu > .menu-item > .menu-link,
.home .ast-theme-transparent-header .main-header-menu > .menu-item > .menu-link {
  color: var(--vs-color-white) !important;
}

.home.ast-theme-transparent-header .main-header-menu > .menu-item > .menu-link:hover,
.home.ast-theme-transparent-header .main-header-menu > .current-menu-item > .menu-link,
.home .ast-theme-transparent-header .main-header-menu > .menu-item > .menu-link:hover,
.home .ast-theme-transparent-header .current-menu-item > .menu-link {
  color: var(--vs-color-light-blue) !important;
}

@media (max-width: 1366px) {
  .home.ast-theme-transparent-header .main-header-menu > .menu-item > .menu-link,
  .home .ast-theme-transparent-header .main-header-menu > .menu-item > .menu-link,
  .main-header-menu > .menu-item > .menu-link {
    font-size: 15px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .ast-builder-button-wrap .ast-custom-button {
    font-size: 14px !important;
    padding: 11px 18px !important;
  }
}

@media (max-width: 1200px) {
  .home.ast-theme-transparent-header .main-header-menu > .menu-item > .menu-link,
  .home .ast-theme-transparent-header .main-header-menu > .menu-item > .menu-link,
  .main-header-menu > .menu-item > .menu-link {
    font-size: 15px !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
  }
}

@media (max-width: 1024px) {
  .ast-builder-grid-row {
    column-gap: 10px;
  }

  .home.ast-theme-transparent-header .ast-primary-header-bar,
  .home .ast-theme-transparent-header .ast-primary-header-bar {
    padding-left: 24px;
    padding-right: 24px;
  }

  .home.ast-theme-transparent-header .site-logo-img img,
  .home .ast-theme-transparent-header .site-logo-img img {
    max-width: 155px;
  }
}

@media (max-width: 921px) {
  .main-header-menu > .menu-item > .menu-link {
    white-space: normal;
  }
}

@media (max-width: 767px) {
  .home.ast-theme-transparent-header .ast-primary-header-bar,
  .home .ast-theme-transparent-header .ast-primary-header-bar {
    padding-left: 18px;
    padding-right: 18px;
  }

  .home.ast-theme-transparent-header .site-logo-img img,
  .home .ast-theme-transparent-header .site-logo-img img {
    max-width: 145px;
  }
}


/* =========================================================
   04. HOME · HERO PRINCIPAL
   ========================================================= */

.home .vs-hero {
  position: relative;
  overflow: hidden;
  min-height: 100vh;
  padding-top: 150px;
  padding-bottom: 90px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  background-attachment: fixed !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

.home .vs-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(29, 37, 48, 0.94) 0%,
      rgba(29, 37, 48, 0.84) 38%,
      rgba(8, 116, 209, 0.48) 68%,
      rgba(123, 31, 209, 0.22) 100%
    );
  z-index: 1;
  pointer-events: none;
}

.home .vs-hero > * {
  position: relative;
  z-index: 2;
}

.home .vs-hero .elementor-container,
.home .vs-hero .elementor-column,
.home .vs-hero .elementor-column-wrap,
.home .vs-hero .elementor-widget-wrap {
  align-content: center;
  align-items: center;
}

.home .vs-hero .elementor-heading-title {
  max-width: 760px;
  margin-bottom: 22px !important;
  color: var(--vs-color-white) !important;
  font-style: normal !important;
  font-weight: 850 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.32) !important;
}

.home .vs-hero .elementor-widget-text-editor,
.home .vs-hero .elementor-widget-text-editor p {
  max-width: 640px;
  color: var(--vs-color-white) !important;
  font-size: 1.18rem;
  font-weight: 600;
  line-height: 1.45;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.28) !important;
}

.home .vs-hero .elementor-widget-text-editor {
  margin-bottom: 32px !important;
}

.home .vs-hero-btn-primary .elementor-button,
.home .vs-hero-btn-secondary .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: max-content;
  padding: 15px 32px;
  border-radius: var(--vs-radius-pill);
  font-size: 17px;
  font-weight: 800;
  line-height: 1.1;
  text-decoration: none;
  white-space: nowrap;
  transition: transform 0.22s ease,
              box-shadow 0.22s ease,
              background-color 0.22s ease,
              border-color 0.22s ease,
              color 0.22s ease;
}

.home .vs-hero-btn-primary .elementor-button,
.home .vs-hero .elementor-button.elementor-button-link {
  background-color: var(--vs-color-accent) !important;
  border: 2px solid var(--vs-color-accent) !important;
  color: var(--vs-color-white) !important;
  box-shadow: var(--vs-shadow-button) !important;
}

.home .vs-hero-btn-primary .elementor-button:hover,
.home .vs-hero .elementor-button.elementor-button-link:hover {
  background-color: var(--vs-color-accent-hover) !important;
  border-color: var(--vs-color-accent-hover) !important;
  color: var(--vs-color-white) !important;
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(230, 57, 70, 0.38) !important;
}

.home .vs-hero-btn-secondary .elementor-button {
  background-color: rgba(255, 255, 255, 0.96);
  border: 2px solid rgba(255, 255, 255, 0.96);
  color: var(--vs-color-dark);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
}

.home .vs-hero-btn-secondary .elementor-button:hover {
  background-color: transparent;
  border-color: var(--vs-color-white);
  color: var(--vs-color-white);
  transform: translateY(-2px);
}

.home .vs-hero + section,
.home .vs-hero + .elementor-section,
.home .vs-hero + .e-con {
  position: relative;
  z-index: 3;
  background-color: var(--vs-color-white);
}

@media (max-width: 921px) {
  .home .vs-hero {
    min-height: 760px;
    padding-top: 130px;
    padding-bottom: 70px;
    background-attachment: scroll !important;
  }

  .home .vs-hero::before {
    background:
      linear-gradient(
        180deg,
        rgba(29, 37, 48, 0.94) 0%,
        rgba(29, 37, 48, 0.84) 52%,
        rgba(8, 116, 209, 0.52) 100%
      );
  }
}

@media (max-width: 767px) {
  .home .vs-hero {
    min-height: 680px;
    padding-top: 120px;
    padding-bottom: 60px;
    text-align: left;
  }

  .home .vs-hero .elementor-heading-title {
    max-width: 100%;
    font-size: clamp(2.1rem, 10vw, 3.1rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.04em;
  }

  .home .vs-hero .elementor-widget-text-editor,
  .home .vs-hero .elementor-widget-text-editor p {
    max-width: 100%;
    font-size: 1.05rem;
    line-height: 1.42;
  }

  .home .vs-hero-btn-primary,
  .home .vs-hero-btn-secondary {
    width: 100%;
  }

  .home .vs-hero-btn-primary .elementor-button,
  .home .vs-hero-btn-secondary .elementor-button {
    width: 100%;
    min-width: 0;
    padding: 14px 22px;
    font-size: 15px;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .home .vs-hero {
    min-height: 650px;
    padding-top: 110px;
    padding-bottom: 50px;
  }

  .home .vs-hero .elementor-heading-title {
    font-size: clamp(2rem, 11vw, 2.8rem) !important;
  }

  .home .vs-hero .elementor-widget-text-editor,
  .home .vs-hero .elementor-widget-text-editor p {
    font-size: 1rem;
  }
}


/* =========================================================
   05. HOME · CTA INSCRIPCIONES
   ========================================================= */

.home .vs-cta-inscripciones {
  position: relative;
  padding: 90px 20px 30px;
  background: #ffffff;
  overflow: hidden;
}

.home .vs-cta-inscripciones > .elementor-container {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 72px 48px;
  border-radius: 36px;
  background:
    radial-gradient(circle at 12% 20%, rgba(168, 218, 220, 0.28) 0, transparent 28%),
    radial-gradient(circle at 88% 16%, rgba(212, 175, 205, 0.28) 0, transparent 30%),
    linear-gradient(
      135deg,
      rgba(29, 37, 48, 0.98) 0%,
      rgba(8, 47, 83, 0.96) 54%,
      rgba(123, 31, 209, 0.82) 100%
    );
  box-shadow: 0 24px 70px rgba(29, 37, 48, 0.20);
  overflow: hidden;
}

.home .vs-cta-inscripciones > .elementor-container::before,
.home .vs-cta-inscripciones > .elementor-container::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.home .vs-cta-inscripciones > .elementor-container::before {
  right: -90px;
  bottom: -90px;
  width: 260px;
  height: 260px;
  background: rgba(230, 57, 70, 0.26);
}

.home .vs-cta-inscripciones > .elementor-container::after {
  left: -80px;
  top: -80px;
  width: 220px;
  height: 220px;
  background: rgba(168, 218, 220, 0.20);
}

.home .vs-cta-inscripciones .elementor-column,
.home .vs-cta-inscripciones .elementor-widget-wrap,
.home .vs-cta-inscripciones .elementor-widget {
  position: relative;
  z-index: 2;
}

.home .vs-cta-inscripciones .elementor-widget-wrap {
  justify-content: center;
  align-content: center;
  text-align: center;
  padding: 0 !important;
}

.home .vs-cta-title .elementor-heading-title,
.home .vs-cta-title {
  max-width: 820px;
  margin: 0 auto 18px;
  color: #ffffff !important;
  font-size: clamp(2.2rem, 4vw, 3.6rem) !important;
  font-weight: 850 !important;
  line-height: 1.06 !important;
  letter-spacing: -0.04em !important;
  text-align: center;
}

.home .vs-cta-text,
.home .vs-cta-text p {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 1.12rem !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
  text-align: center;
}

.home .vs-cta-text {
  margin-bottom: 34px;
}

.home .vs-cta-btn-primary,
.home .vs-cta-btn-secondary {
  display: inline-block;
  margin: 6px 8px 0;
}

.home .vs-cta-btn-primary .elementor-button,
.home .vs-cta-btn-secondary .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px 30px;
  border-radius: var(--vs-radius-pill);
  font-size: 1rem;
  font-weight: 850;
  line-height: 1.1;
  transition: transform 0.22s ease,
              box-shadow 0.22s ease,
              background-color 0.22s ease,
              border-color 0.22s ease,
              color 0.22s ease;
}

.home .vs-cta-btn-primary .elementor-button {
  background-color: var(--vs-color-accent) !important;
  border: 2px solid var(--vs-color-accent) !important;
  color: #ffffff !important;
  box-shadow: 0 16px 34px rgba(230, 57, 70, 0.34);
}

.home .vs-cta-btn-primary .elementor-button:hover {
  background-color: var(--vs-color-accent-hover) !important;
  border-color: var(--vs-color-accent-hover) !important;
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 20px 44px rgba(230, 57, 70, 0.42);
}

.home .vs-cta-btn-secondary .elementor-button {
  background-color: rgba(255, 255, 255, 0.96) !important;
  border: 2px solid rgba(255, 255, 255, 0.96) !important;
  color: var(--vs-color-dark) !important;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.16);
}

.home .vs-cta-btn-secondary .elementor-button:hover {
  background-color: transparent !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.22);
}

@media (max-width: 921px) {
  .home .vs-cta-inscripciones {
    padding: 76px 22px 30px;
  }

  .home .vs-cta-inscripciones > .elementor-container {
    padding: 60px 34px;
    border-radius: 32px;
  }
}

@media (max-width: 767px) {
  .home .vs-cta-inscripciones {
    padding: 64px 18px 30px;
  }

  .home .vs-cta-inscripciones > .elementor-container {
    padding: 48px 24px;
    border-radius: 28px;
  }

  .home .vs-cta-title .elementor-heading-title,
  .home .vs-cta-title {
    font-size: clamp(2rem, 9vw, 2.7rem) !important;
  }

  .home .vs-cta-text,
  .home .vs-cta-text p {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  .home .vs-cta-btn-primary,
  .home .vs-cta-btn-secondary {
    display: block;
    width: 100%;
    margin: 10px 0 0;
  }

  .home .vs-cta-btn-primary .elementor-button,
  .home .vs-cta-btn-secondary .elementor-button {
    width: 100%;
  }
}


/* =========================================================
   06. HOME · QUÉ OFRECE VIENTOS SONOROS
   Nota: la clase .vs-ofrece está aplicada a la columna principal.
   ========================================================= */

.home .vs-ofrece {
  position: relative;
  padding: 45px 20px 90px;
  background: linear-gradient(180deg, var(--vs-color-soft-bg) 0%, #ffffff 100%);
  overflow: hidden;
}

.home .vs-ofrece-title .elementor-heading-title {
  margin-bottom: 16px;
  color: var(--vs-color-dark);
  font-size: clamp(2.1rem, 4vw, 3rem);
  font-weight: 850;
  line-height: 1.1;
  letter-spacing: -0.035em;
  text-align: center;
}

.home .vs-ofrece-intro {
  max-width: 820px;
  margin: 0 auto;
  color: rgba(29, 37, 48, 0.78);
  font-size: 1.08rem;
  font-weight: 500;
  line-height: 1.65;
  text-align: center;
}

.home .vs-ofrece-top {
  width: 100%;
  max-width: 1080px;
  margin: 60px auto 0;
}

.home .vs-ofrece-top > .elementor-container {
  display: flex;
  gap: 42px;
  align-items: stretch;
}

.home .vs-ofrece-top .elementor-column {
  background: #ffffff;
  border: 1px solid rgba(29, 37, 48, 0.08);
  border-radius: 28px;
  box-shadow: var(--vs-shadow-card);
  overflow: hidden;
  padding: 28px;
}

.home .vs-ofrece-top .elementor-widget-wrap {
  padding: 0 !important;
}

.home .vs-ofrece-top img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
  border-radius: 22px;
}

.home .vs-ofrece-top h3,
.home .vs-ofrece-card-title .elementor-heading-title {
  margin-top: 24px !important;
  margin-bottom: 14px !important;
  color: var(--vs-color-dark) !important;
  font-size: clamp(1.65rem, 2.2vw, 2.05rem) !important;
  font-weight: 850 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
}

.home .vs-ofrece-top p,
.home .vs-ofrece-card-text {
  color: rgba(29, 37, 48, 0.76) !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
}

.home .vs-ofrece-top .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
  padding: 13px 22px;
  border: 2px solid var(--vs-color-accent) !important;
  border-radius: var(--vs-radius-pill);
  background-color: var(--vs-color-accent) !important;
  color: #ffffff !important;
  font-size: 0.96rem;
  font-weight: 800;
  line-height: 1.1;
  box-shadow: 0 12px 26px rgba(230, 57, 70, 0.24);
}

.home .vs-ofrece-top .elementor-button:hover {
  background-color: var(--vs-color-accent-hover) !important;
  border-color: var(--vs-color-accent-hover) !important;
  color: #ffffff !important;
}

.home .vs-ofrece-grid-row {
  width: 100%;
  max-width: 1120px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.home .vs-ofrece-top + .vs-ofrece-grid-row {
  margin-top: 70px !important;
}

.home .vs-ofrece-grid-row + .vs-ofrece-grid-row {
  margin-top: 30px !important;
}

.home .vs-ofrece-grid-row > .elementor-container {
  gap: 30px !important;
}

.home .vs-ofrece-grid-row .elementor-column {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.home .vs-ofrece-card-small {
  position: relative;
  min-height: 220px;
  padding: 34px 28px !important;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(29, 37, 48, 0.08);
  border-radius: 24px !important;
  box-shadow: 0 14px 34px rgba(29, 37, 48, 0.09);
  text-align: center;
  overflow: hidden;
}

.home .vs-ofrece-card-small::before {
  content: "";
  position: absolute;
  top: -44px;
  right: -44px;
  width: 116px;
  height: 116px;
  border-radius: 50%;
  background: rgba(168, 218, 220, 0.28);
  pointer-events: none;
}

.home .vs-ofrece-card-small:nth-child(2n)::before {
  background: rgba(212, 175, 205, 0.30);
}

.home .vs-ofrece-card-small:nth-child(3n)::before {
  background: rgba(183, 159, 173, 0.28);
}

.home .vs-ofrece-card-small h4,
.home .vs-ofrece-card-small .elementor-heading-title {
  position: relative;
  z-index: 1;
  margin-bottom: 10px;
  color: var(--vs-color-dark);
  font-size: 1.15rem;
  font-weight: 850;
  line-height: 1.2;
}

.home .vs-ofrece-card-small p,
.home .vs-ofrece-card-small .elementor-widget-text-editor {
  position: relative;
  z-index: 1;
  color: rgba(29, 37, 48, 0.72);
  font-size: 0.98rem;
  font-weight: 500;
  line-height: 1.55;
}

@media (max-width: 921px) {
  .home .vs-ofrece-top > .elementor-container {
    flex-direction: column;
    gap: 28px;
  }
}

@media (max-width: 767px) {
  .home .vs-ofrece {
    padding: 45px 18px 64px;
  }

  .home .vs-ofrece-top img {
    height: 210px;
  }

  .home .vs-ofrece-grid-row > .elementor-container {
    flex-direction: column;
    gap: 18px !important;
  }
}


/* =========================================================
   07. HOME · ENSEÑANZA MUSICAL
   ========================================================= */

.home .vs-ensenanza {
  position: relative;
  padding: 90px 20px;
  background: #ffffff;
}

.home .vs-ensenanza > .elementor-container {
  max-width: 1200px;
  margin: 0 auto;
  align-items: stretch;
}

.home .vs-ensenanza .vs-ensenanza-info,
.home .vs-ensenanza .vs-ensenanza-slider-wrap {
  width: 50%;
}

.home .vs-ensenanza-info {
  display: flex;
  align-items: center;
  min-height: 620px;
  padding: 64px 56px;
  border-radius: 32px 0 0 32px;
  background: var(--vs-color-pastel-orange);
}

.home .vs-ensenanza-info .elementor-widget-wrap,
.home .vs-ensenanza-slider-wrap .elementor-widget-wrap {
  padding: 0 !important;
  align-content: center;
}

.home .vs-ensenanza-info h2,
.home .vs-ensenanza-info .elementor-heading-title {
  margin-bottom: 24px !important;
  color: var(--vs-color-dark) !important;
  font-size: clamp(2.2rem, 4vw, 3.4rem) !important;
  font-weight: 850 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.04em !important;
}

.home .vs-ensenanza-info p,
.home .vs-ensenanza-info .elementor-widget-text-editor {
  max-width: 520px;
  color: rgba(29, 37, 48, 0.78) !important;
  font-size: 1.08rem !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
}

.home .vs-ensenanza-btn .elementor-button,
.home .vs-ensenanza-info .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 20px;
  padding: 14px 26px;
  border: 2px solid var(--vs-color-accent) !important;
  border-radius: var(--vs-radius-pill);
  background-color: var(--vs-color-accent) !important;
  color: #ffffff !important;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.1;
  box-shadow: var(--vs-shadow-button);
}

.home .vs-ensenanza-btn .elementor-button:hover,
.home .vs-ensenanza-info .elementor-button:hover {
  background-color: var(--vs-color-accent-hover) !important;
  border-color: var(--vs-color-accent-hover) !important;
  color: #ffffff !important;
}

.home .vs-ensenanza-slider-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 620px;
  padding: 36px;
  border-radius: 0 32px 32px 0;
  background: var(--vs-color-soft-bg);
  overflow: hidden;
}

.home .vs-ensenanza-slider-wrap > .elementor-widget-wrap {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 28px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 0 4px 16px !important;
}

.home .vs-ensenanza-slider-wrap > .elementor-widget-wrap::-webkit-scrollbar {
  height: 6px;
}

.home .vs-ensenanza-slider-wrap > .elementor-widget-wrap::-webkit-scrollbar-track {
  background: rgba(29, 37, 48, 0.08);
  border-radius: 999px;
}

.home .vs-ensenanza-slider-wrap > .elementor-widget-wrap::-webkit-scrollbar-thumb {
  background: rgba(230, 57, 70, 0.45);
  border-radius: 999px;
}

.home .vs-programa-card {
  flex: 0 0 94% !important;
  width: 100%;
  max-width: 540px !important;
  min-width: 0 !important;
  min-height: 540px;
  padding: 24px;
  background: #ffffff;
  border: 1px solid rgba(29, 37, 48, 0.08);
  border-radius: 28px;
  box-shadow: var(--vs-shadow-card);
  overflow: hidden;
  scroll-snap-align: center;
}

.home .vs-programa-card > .elementor-container {
  width: 100% !important;
}

.home .vs-programa-card img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  display: block;
  border-radius: 20px;
}

.home .vs-programa-title .elementor-heading-title,
.home .vs-programa-card h3 {
  margin-top: 22px !important;
  margin-bottom: 14px !important;
  color: var(--vs-color-dark) !important;
  font-size: clamp(1.45rem, 2vw, 1.85rem) !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.025em !important;
}

.home .vs-programa-text,
.home .vs-programa-card p {
  color: rgba(29, 37, 48, 0.74) !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  line-height: 1.62 !important;
}

.home .vs-programa-btn .elementor-button,
.home .vs-programa-card .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
  padding: 13px 24px;
  border: 2px solid var(--vs-color-accent) !important;
  border-radius: var(--vs-radius-pill);
  background-color: var(--vs-color-accent) !important;
  color: #ffffff !important;
  font-size: 0.96rem;
  font-weight: 800;
  line-height: 1.1;
  box-shadow: 0 12px 26px rgba(230, 57, 70, 0.22);
}

.home .vs-programa-btn .elementor-button:hover,
.home .vs-programa-card .elementor-button:hover {
  background-color: var(--vs-color-accent-hover) !important;
  border-color: var(--vs-color-accent-hover) !important;
  color: #ffffff !important;
}

@media (max-width: 921px) {
  .home .vs-ensenanza > .elementor-container {
    flex-direction: column;
  }

  .home .vs-ensenanza .vs-ensenanza-info,
  .home .vs-ensenanza .vs-ensenanza-slider-wrap {
    width: 100%;
  }

  .home .vs-ensenanza-info {
    min-height: auto;
    padding: 54px 38px;
    border-radius: 32px 32px 0 0;
  }

  .home .vs-ensenanza-slider-wrap {
    min-height: auto;
    padding: 38px;
    border-radius: 0 0 32px 32px;
  }

  .home .vs-programa-card {
    flex-basis: 88% !important;
    max-width: 520px !important;
  }
}

@media (max-width: 767px) {
  .home .vs-ensenanza {
    padding: 64px 18px;
  }

  .home .vs-ensenanza-info {
    padding: 42px 26px;
  }

  .home .vs-ensenanza-slider-wrap {
    padding: 26px;
  }

  .home .vs-ensenanza-slider-wrap > .elementor-widget-wrap {
    gap: 20px !important;
  }

  .home .vs-programa-card {
    flex-basis: 92% !important;
    padding: 18px;
    border-radius: 24px;
  }

  .home .vs-programa-card img {
    height: 200px;
    border-radius: 18px;
  }
}


/* =========================================================
   08. HOME · MUSICOTERAPIA Y ESPACIOS CREATIVOS
   ========================================================= */

.home .vs-musicoterapia {
  position: relative;
  padding: 90px 20px;
  background: #ffffff;
}

.home .vs-musicoterapia > .elementor-container {
  max-width: 1200px;
  margin: 0 auto;
  align-items: stretch;
}

.home .vs-musicoterapia .vs-musicoterapia-info,
.home .vs-musicoterapia .vs-musicoterapia-slider-wrap {
  width: 50%;
}

.home .vs-musicoterapia-slider-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 620px;
  padding: 44px;
  border-radius: 32px 0 0 32px;
  background: var(--vs-color-soft-bg);
  overflow: hidden;
}

.home .vs-musicoterapia-slider-wrap > .elementor-widget-wrap {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 28px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 0 4px 16px !important;
  align-content: center;
}

.home .vs-musicoterapia-slider-wrap > .elementor-widget-wrap::-webkit-scrollbar {
  height: 6px;
}

.home .vs-musicoterapia-slider-wrap > .elementor-widget-wrap::-webkit-scrollbar-track {
  background: rgba(29, 37, 48, 0.08);
  border-radius: 999px;
}

.home .vs-musicoterapia-slider-wrap > .elementor-widget-wrap::-webkit-scrollbar-thumb {
  background: rgba(123, 31, 209, 0.38);
  border-radius: 999px;
}

.home .vs-musicoterapia-info {
  display: flex;
  align-items: center;
  min-height: 620px;
  padding: 64px 56px;
  border-radius: 0 32px 32px 0;
  background: var(--vs-color-pastel-purple);
}

.home .vs-musicoterapia-info .elementor-widget-wrap {
  align-content: center;
  padding: 0 !important;
}

.home .vs-musicoterapia-info h2,
.home .vs-musicoterapia-info .elementor-heading-title {
  margin-bottom: 24px !important;
  color: var(--vs-color-dark) !important;
  font-size: clamp(2.2rem, 4vw, 3.35rem) !important;
  font-weight: 850 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.04em !important;
}

.home .vs-musicoterapia-info p,
.home .vs-musicoterapia-info .elementor-widget-text-editor {
  max-width: 520px;
  color: rgba(29, 37, 48, 0.78) !important;
  font-size: 1.08rem !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
}

.home .vs-musicoterapia-btn .elementor-button,
.home .vs-musicoterapia-info .elementor-button,
.home .vs-musicoterapia-card-btn .elementor-button,
.home .vs-musicoterapia-card .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--vs-color-purple) !important;
  border-radius: var(--vs-radius-pill);
  background-color: var(--vs-color-purple) !important;
  color: #ffffff !important;
  font-weight: 800;
  line-height: 1.1;
}

.home .vs-musicoterapia-btn .elementor-button,
.home .vs-musicoterapia-info .elementor-button {
  margin-top: 20px;
  padding: 14px 26px;
  font-size: 1rem;
  box-shadow: 0 14px 30px rgba(123, 31, 209, 0.22);
}

.home .vs-musicoterapia-card-btn .elementor-button,
.home .vs-musicoterapia-card .elementor-button {
  margin-top: 18px;
  padding: 13px 24px;
  font-size: 0.96rem;
  box-shadow: 0 12px 26px rgba(123, 31, 209, 0.20);
}

.home .vs-musicoterapia-btn .elementor-button:hover,
.home .vs-musicoterapia-info .elementor-button:hover,
.home .vs-musicoterapia-card-btn .elementor-button:hover,
.home .vs-musicoterapia-card .elementor-button:hover {
  background-color: var(--vs-color-purple-hover) !important;
  border-color: var(--vs-color-purple-hover) !important;
  color: #ffffff !important;
}

.home .vs-musicoterapia-card {
  flex: 0 0 94% !important;
  width: 100%;
  max-width: 540px !important;
  min-width: 0 !important;
  min-height: 540px;
  padding: 24px;
  background: #ffffff;
  border: 1px solid rgba(29, 37, 48, 0.08);
  border-radius: 28px;
  box-shadow: var(--vs-shadow-card);
  overflow: hidden;
  scroll-snap-align: center;
}

.home .vs-musicoterapia-card > .elementor-container {
  width: 100% !important;
}

.home .vs-musicoterapia-card .elementor-widget-wrap {
  display: block !important;
  overflow: visible !important;
  padding: 0 !important;
}

.home .vs-musicoterapia-card .elementor-widget {
  width: 100% !important;
}

.home .vs-musicoterapia-card img {
  width: 100%;
  height: 230px;
  object-fit: cover;
  display: block;
  border-radius: 20px;
}

.home .vs-musicoterapia-card-title .elementor-heading-title,
.home .vs-musicoterapia-card h3 {
  margin-top: 22px !important;
  margin-bottom: 14px !important;
  color: var(--vs-color-dark) !important;
  font-size: clamp(1.45rem, 2vw, 1.85rem) !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.025em !important;
}

.home .vs-musicoterapia-card-text,
.home .vs-musicoterapia-card p {
  color: rgba(29, 37, 48, 0.74) !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  line-height: 1.62 !important;
}

@media (max-width: 921px) {
  .home .vs-musicoterapia > .elementor-container {
    flex-direction: column;
  }

  .home .vs-musicoterapia .vs-musicoterapia-info,
  .home .vs-musicoterapia .vs-musicoterapia-slider-wrap {
    width: 100%;
  }

  .home .vs-musicoterapia-slider-wrap {
    min-height: auto;
    padding: 38px;
    border-radius: 32px 32px 0 0;
  }

  .home .vs-musicoterapia-info {
    min-height: auto;
    padding: 54px 38px;
    border-radius: 0 0 32px 32px;
  }

  .home .vs-musicoterapia-card {
    flex-basis: 88% !important;
    max-width: 520px !important;
  }
}

@media (max-width: 767px) {
  .home .vs-musicoterapia {
    padding: 64px 18px;
  }

  .home .vs-musicoterapia-slider-wrap {
    padding: 26px;
  }

  .home .vs-musicoterapia-info {
    padding: 42px 26px;
  }

  .home .vs-musicoterapia-slider-wrap > .elementor-widget-wrap {
    gap: 20px !important;
  }

  .home .vs-musicoterapia-card {
    flex-basis: 92% !important;
    padding: 18px;
    border-radius: 24px;
  }

  .home .vs-musicoterapia-card img {
    height: 200px;
    border-radius: 18px;
  }
}


/* =========================================================
   09. HOME · EQUIPO / ESCUELA CERCANA
   ========================================================= */

.home .vs-equipo {
  position: relative;
  padding: 90px 20px;
  background:
    radial-gradient(circle at 8% 20%, rgba(168, 218, 220, 0.22) 0, transparent 28%),
    radial-gradient(circle at 92% 80%, rgba(212, 175, 205, 0.22) 0, transparent 30%),
    linear-gradient(180deg, #ffffff 0%, var(--vs-color-soft-bg) 100%);
  overflow: hidden;
}

.home .vs-equipo > .elementor-container {
  max-width: 1200px;
  margin: 0 auto;
  align-items: stretch;
}

.home .vs-equipo .vs-equipo-media,
.home .vs-equipo .vs-equipo-content {
  display: flex;
  align-items: center;
}

.home .vs-equipo-media {
  width: 48%;
  padding-right: 34px;
}

.home .vs-equipo-content {
  width: 52%;
  padding-left: 34px;
}

.home .vs-equipo-media .elementor-widget-wrap,
.home .vs-equipo-content .elementor-widget-wrap {
  padding: 0 !important;
  align-content: center;
}

.home .vs-equipo-img img,
.home .vs-equipo-media img {
  width: 100%;
  height: 660px;
  object-fit: cover;
  display: block;
  border-radius: 34px;
  box-shadow: 0 24px 64px rgba(29, 37, 48, 0.16);
}

.home .vs-equipo-title .elementor-heading-title,
.home .vs-equipo-title {
  margin-bottom: 24px !important;
  color: var(--vs-color-dark) !important;
  font-size: clamp(2.2rem, 4vw, 3.4rem) !important;
  font-weight: 850 !important;
  line-height: 1.06 !important;
  letter-spacing: -0.04em !important;
}

.home .vs-equipo-text,
.home .vs-equipo-text p {
  max-width: 620px;
  color: rgba(29, 37, 48, 0.76) !important;
  font-size: 1.08rem !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
}

.home .vs-equipo-features {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 24px;
  margin-bottom: 24px;
}

.home .vs-equipo-feature {
  position: relative;
  padding: 14px 18px;
  background: #ffffff;
  border: 1px solid rgba(29, 37, 48, 0.08);
  border-radius: 22px;
  box-shadow: 0 12px 28px rgba(29, 37, 48, 0.08);
}

.home .vs-equipo-feature,
.home .vs-equipo-feature p {
  color: rgba(29, 37, 48, 0.74) !important;
  font-size: 0.98rem !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
}

.home .vs-equipo-feature strong,
.home .vs-equipo-feature b {
  color: var(--vs-color-dark);
  font-weight: 850;
}

.home .vs-equipo-btn .elementor-button,
.home .vs-equipo-content .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 26px;
  border: 2px solid var(--vs-color-accent) !important;
  border-radius: var(--vs-radius-pill);
  background-color: var(--vs-color-accent) !important;
  color: #ffffff !important;
  font-size: 1rem;
  font-weight: 850;
  line-height: 1.1;
  box-shadow: var(--vs-shadow-button);
  transition: transform 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
}

.home .vs-equipo-btn .elementor-button:hover,
.home .vs-equipo-content .elementor-button:hover {
  background-color: var(--vs-color-accent-hover) !important;
  border-color: var(--vs-color-accent-hover) !important;
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(230, 57, 70, 0.34);
}

@media (max-width: 921px) {
  .home .vs-equipo > .elementor-container {
    flex-direction: column;
  }

  .home .vs-equipo .vs-equipo-media,
  .home .vs-equipo .vs-equipo-content {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .home .vs-equipo-media {
    margin-bottom: 42px;
  }

  .home .vs-equipo-img img,
  .home .vs-equipo-media img {
    height: 420px;
  }
}

@media (max-width: 767px) {
  .home .vs-equipo {
    padding: 64px 18px;
  }

  .home .vs-equipo-img img,
  .home .vs-equipo-media img {
    height: 320px;
    border-radius: 26px;
  }

  .home .vs-equipo-title .elementor-heading-title,
  .home .vs-equipo-title {
    font-size: clamp(2rem, 9vw, 2.7rem) !important;
  }

  .home .vs-equipo-text,
  .home .vs-equipo-text p {
    font-size: 1rem !important;
    line-height: 1.6 !important;
  }

  .home .vs-equipo-feature {
    padding: 18px 20px;
  }

  .home .vs-equipo-btn .elementor-button,
  .home .vs-equipo-content .elementor-button {
    width: 100%;
  }
}


/* =========================================================
   10. HOME · CONTACTO + REDES + UBICACIÓN
   ========================================================= */

.home .vs-contacto-home {
  position: relative;
  padding: 90px 20px;
  background:
    radial-gradient(circle at 10% 16%, rgba(168, 218, 220, 0.20) 0, transparent 28%),
    radial-gradient(circle at 88% 84%, rgba(212, 175, 205, 0.22) 0, transparent 30%),
    linear-gradient(180deg, var(--vs-color-soft-bg) 0%, #ffffff 100%);
  overflow: hidden;
}

.home .vs-contacto-home > .elementor-container {
  max-width: 1200px;
  margin: 0 auto;
  align-items: stretch;
}

.home .vs-contacto-info,
.home .vs-contacto-map {
  display: flex;
  align-items: stretch;
}

.home .vs-contacto-info {
  width: 46%;
  padding-right: 28px;
}

.home .vs-contacto-map {
  width: 54%;
  padding-left: 28px;
}

.home .vs-contacto-info .elementor-widget-wrap {
  padding: 46px 42px !important;
  align-content: center;
  background: #ffffff;
  border: 1px solid rgba(29, 37, 48, 0.08);
  border-radius: 32px;
  box-shadow: 0 18px 46px rgba(29, 37, 48, 0.11);
}

.home .vs-contacto-title .elementor-heading-title,
.home .vs-contacto-title {
  margin-bottom: 18px !important;
  color: var(--vs-color-dark) !important;
  font-size: clamp(2.1rem, 4vw, 3.2rem) !important;
  font-weight: 850 !important;
  line-height: 1.06 !important;
  letter-spacing: -0.04em !important;
}

.home .vs-contacto-text,
.home .vs-contacto-text p {
  margin-bottom: 24px !important;
  color: rgba(29, 37, 48, 0.76) !important;
  font-size: 1.05rem !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
}

.home .vs-contacto-list {
  margin-top: 6px;
  margin-bottom: 26px;
}

.home .vs-contacto-list,
.home .vs-contacto-list p,
.home .vs-contacto-list li,
.home .vs-contacto-list .elementor-icon-list-text {
  color: rgba(29, 37, 48, 0.80) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}

.home .vs-contacto-list .elementor-icon-list-icon {
  min-width: 26px;
}

.home .vs-contacto-list .elementor-icon-list-icon i,
.home .vs-contacto-list .elementor-icon-list-icon svg {
  font-size: 20px !important;
  width: 20px !important;
  height: 20px !important;
}

.home .vs-contacto-list .elementor-icon-list-item:nth-child(1) .elementor-icon-list-icon i,
.home .vs-contacto-list .elementor-icon-list-item:nth-child(1) .elementor-icon-list-icon svg {
  color: #25D366 !important;
  fill: #25D366 !important;
}

.home .vs-contacto-list .elementor-icon-list-item:nth-child(2) .elementor-icon-list-icon i,
.home .vs-contacto-list .elementor-icon-list-item:nth-child(2) .elementor-icon-list-icon svg {
  color: var(--vs-color-primary) !important;
  fill: var(--vs-color-primary) !important;
}

.home .vs-contacto-list .elementor-icon-list-item:nth-child(3) .elementor-icon-list-icon i,
.home .vs-contacto-list .elementor-icon-list-item:nth-child(3) .elementor-icon-list-icon svg {
  color: #F4B400 !important;
  fill: #F4B400 !important;
}

.home .vs-contacto-social {
  margin: 6px 0 28px;
}

.home .vs-contacto-social .elementor-social-icon {
  width: 44px;
  height: 44px;
  margin-right: 10px;
  border-radius: 50%;
  color: #ffffff !important;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.home .vs-contacto-social .elementor-social-icon-facebook,
.home .vs-contacto-social .elementor-social-icon-facebook-f {
  background-color: #1877F2 !important;
}

.home .vs-contacto-social .elementor-social-icon-instagram {
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%) !important;
}

.home .vs-contacto-social .elementor-social-icon-youtube {
  background-color: #FF0000 !important;
}

.home .vs-contacto-social .elementor-social-icon:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(29, 37, 48, 0.20);
}

.home .vs-contacto-btn {
  width: 100%;
  text-align: center;
}

.home .vs-contacto-btn .elementor-button,
.home .vs-contacto-info .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  padding: 14px 26px;
  border: 2px solid var(--vs-color-accent) !important;
  border-radius: var(--vs-radius-pill);
  background-color: var(--vs-color-accent) !important;
  color: #ffffff !important;
  font-size: 1rem;
  font-weight: 850;
  line-height: 1.1;
  box-shadow: var(--vs-shadow-button);
  transition: transform 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
}

.home .vs-contacto-btn .elementor-button:hover,
.home .vs-contacto-info .elementor-button:hover {
  background-color: var(--vs-color-accent-hover) !important;
  border-color: var(--vs-color-accent-hover) !important;
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(230, 57, 70, 0.34);
}

.home .vs-contacto-map .elementor-widget-wrap {
  padding: 0 !important;
  background: #ffffff;
  border: 1px solid rgba(29, 37, 48, 0.08);
  border-radius: 32px;
  box-shadow: 0 18px 46px rgba(29, 37, 48, 0.11);
  overflow: hidden;
}

.home .vs-contacto-map-widget,
.home .vs-contacto-map .elementor-widget-google_maps {
  width: 100%;
  height: 100%;
}

.home .vs-contacto-map iframe,
.home .vs-contacto-map .elementor-custom-embed iframe {
  width: 100% !important;
  min-height: 520px;
  display: block;
  border: 0;
}

@media (max-width: 921px) {
  .home .vs-contacto-home > .elementor-container {
    flex-direction: column;
  }

  .home .vs-contacto-info,
  .home .vs-contacto-map {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .home .vs-contacto-info {
    margin-bottom: 34px;
  }

  .home .vs-contacto-map iframe,
  .home .vs-contacto-map .elementor-custom-embed iframe {
    min-height: 420px;
  }
}

@media (max-width: 767px) {
  .home .vs-contacto-home {
    padding: 64px 18px;
  }

  .home .vs-contacto-info .elementor-widget-wrap {
    padding: 36px 26px !important;
    border-radius: 26px;
  }

  .home .vs-contacto-map .elementor-widget-wrap {
    border-radius: 26px;
  }

  .home .vs-contacto-title .elementor-heading-title,
  .home .vs-contacto-title {
    font-size: clamp(2rem, 9vw, 2.7rem) !important;
  }

  .home .vs-contacto-map iframe,
  .home .vs-contacto-map .elementor-custom-embed iframe {
    min-height: 340px;
  }

  .home .vs-contacto-btn .elementor-button,
  .home .vs-contacto-info .elementor-button {
    width: 100%;
  }
}


/* =========================================================
   11. FOOTER · VIENTOS SONOROS
   ========================================================= */

.site-footer,
.ast-footer-overlay,
.ast-builder-footer-grid-columns,
.ast-footer-copyright,
.footer-adv-overlay {
  background:
    radial-gradient(circle at 10% 20%, rgba(168, 218, 220, 0.18) 0, transparent 28%),
    radial-gradient(circle at 92% 80%, rgba(212, 175, 205, 0.18) 0, transparent 30%),
    linear-gradient(180deg, var(--vs-color-soft-bg) 0%, #F1EEF5 100%) !important;
}

.site-footer .site-above-footer-wrap,
.site-footer .site-primary-footer-wrap {
  padding-top: 38px !important;
  padding-bottom: 34px !important;
}

.site-footer .ast-builder-grid-row {
  align-items: center !important;
}

.site-footer img,
.site-footer .widget_media_image img,
.site-footer .custom-logo-link img {
  max-width: 185px !important;
  height: auto !important;
}

.site-footer,
.site-footer p,
.site-footer li,
.site-footer .widget,
.site-footer .textwidget {
  color: rgba(29, 37, 48, 0.78) !important;
  font-size: 0.98rem !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
}

.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer .widget-title {
  margin-bottom: 14px !important;
  color: var(--vs-color-dark) !important;
  font-size: 1.1rem !important;
  font-weight: 850 !important;
  letter-spacing: -0.015em;
}

.site-footer .textwidget {
  text-align: center;
}

.site-footer a {
  color: var(--vs-color-dark) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.site-footer a:hover {
  color: var(--vs-color-accent) !important;
}

.site-footer .menu,
.site-footer .footer-widget-area ul,
.site-footer nav ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.site-footer .menu li,
.site-footer nav li {
  margin-bottom: 7px !important;
}

.site-footer .menu a,
.site-footer nav a {
  display: inline-block;
  color: rgba(29, 37, 48, 0.78) !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.site-footer .menu a:hover,
.site-footer nav a:hover {
  color: var(--vs-color-accent) !important;
  transform: translateX(3px);
}

.site-footer .elementor-social-icon,
.site-footer .wp-block-social-link,
.site-footer a[href*="facebook"],
.site-footer a[href*="instagram"],
.site-footer a[href*="youtube"] {
  transition: transform 0.22s ease, opacity 0.22s ease;
}

.site-footer .elementor-social-icon:hover,
.site-footer .wp-block-social-link:hover,
.site-footer a[href*="facebook"]:hover,
.site-footer a[href*="instagram"]:hover,
.site-footer a[href*="youtube"]:hover {
  transform: translateY(-2px);
  opacity: 0.85;
}

.site-footer i,
.site-footer svg {
  font-size: 18px !important;
  width: 18px !important;
  height: 18px !important;
}

.site-footer .site-below-footer-wrap {
  min-height: auto !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  border-top: 1px solid rgba(29, 37, 48, 0.08) !important;
  background: linear-gradient(180deg, #F1EEF5 0%, #ECE8F2 100%) !important;
}

.site-footer .site-below-footer-wrap .ast-builder-grid-row {
  min-height: auto !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  align-items: center !important;
}

.site-footer .site-below-footer-wrap .widget,
.site-footer .site-below-footer-wrap .textwidget,
.site-footer .site-below-footer-wrap p,
.site-footer .ast-footer-copyright,
.site-footer .ast-footer-copyright p {
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(29, 37, 48, 0.66) !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  text-align: center !important;
}

.site-footer .site-below-footer-wrap a,
.site-footer .ast-footer-copyright a {
  color: var(--vs-color-accent) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.site-footer .site-below-footer-wrap a:hover,
.site-footer .ast-footer-copyright a:hover {
  color: var(--vs-color-accent-hover) !important;
}

@media (max-width: 921px) {
  .site-footer .ast-builder-grid-row {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    text-align: center !important;
  }

  .site-footer img,
  .site-footer .widget_media_image img,
  .site-footer .custom-logo-link img {
    max-width: 165px !important;
  }

  .site-footer .menu a:hover,
  .site-footer nav a:hover {
    transform: none;
  }
}

@media (max-width: 767px) {
  .site-footer .site-primary-footer-wrap,
  .site-footer .site-above-footer-wrap {
    padding-top: 36px !important;
    padding-bottom: 34px !important;
  }

  .site-footer img,
  .site-footer .widget_media_image img,
  .site-footer .custom-logo-link img {
    max-width: 145px !important;
  }

  .site-footer,
  .site-footer p,
  .site-footer li,
  .site-footer .widget,
  .site-footer .textwidget {
    font-size: 0.94rem !important;
  }
}

/* =========================================================
   AJUSTE FINAL · FOOTER ASTRA
   ========================================================= */

/* Unifica el fondo de todas las zonas del footer */
.site-footer,
.site-footer *,
.site-above-footer-wrap,
.site-primary-footer-wrap,
.site-below-footer-wrap,
.ast-builder-footer-grid-columns,
.ast-builder-grid-row-container,
.ast-footer-copyright {
  background-color: transparent !important;
}

/* Fondo único del footer completo */
.site-footer {
  background:
    radial-gradient(circle at 10% 20%, rgba(168, 218, 220, 0.16) 0, transparent 28%),
    radial-gradient(circle at 92% 80%, rgba(212, 175, 205, 0.18) 0, transparent 30%),
    linear-gradient(180deg, #FAF8FB 0%, #ECE8F2 100%) !important;
}

/* Quita fondos heredados de Astra en las filas internas */
.site-footer .site-above-footer-wrap,
.site-footer .site-primary-footer-wrap,
.site-footer .site-below-footer-wrap {
  background: transparent !important;
  background-color: transparent !important;
}

/* Reduce espacio entre footer principal y copyright */
.site-footer .site-above-footer-wrap,
.site-footer .site-primary-footer-wrap {
  padding-bottom: 28px !important;
  margin-bottom: 0 !important;
}

.site-footer .site-below-footer-wrap {
  padding-top: 12px !important;
  padding-bottom: 14px !important;
  margin-top: 0 !important;
  border-top: 1px solid rgba(29, 37, 48, 0.08) !important;
}

/* Elimina alturas mínimas o separaciones internas de Astra */
.site-footer .site-below-footer-wrap .ast-builder-grid-row,
.site-footer .site-below-footer-wrap .ast-builder-grid-row-container,
.site-footer .site-below-footer-wrap .ast-builder-footer-grid-columns {
  min-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Centra el copyright/crédito */
.site-footer .site-below-footer-wrap,
.site-footer .site-below-footer-wrap .ast-builder-grid-row,
.site-footer .site-below-footer-wrap .ast-builder-footer-grid-columns,
.site-footer .site-below-footer-wrap .footer-widget-area,
.site-footer .site-below-footer-wrap .widget,
.site-footer .site-below-footer-wrap .textwidget,
.site-footer .site-below-footer-wrap p {
  text-align: center !important;
  justify-content: center !important;
  align-items: center !important;
}

/* Texto del copyright */
.site-footer .site-below-footer-wrap p,
.site-footer .site-below-footer-wrap .textwidget {
  width: 100% !important;
  margin: 0 auto !important;
  color: rgba(29, 37, 48, 0.72) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

/* Enlace Código_Carving */
.site-footer .site-below-footer-wrap a {
  color: var(--vs-color-accent) !important;
  font-weight: 850 !important;
  text-decoration: none !important;
}

.site-footer .site-below-footer-wrap a:hover {
  color: var(--vs-color-accent-hover) !important;
}

/* =========================================================
   AJUSTE · FOOTER · COPYRIGHT INTEGRADO
   ========================================================= */

.site-footer .vs-footer-credit,
.site-footer .vs-footer-credit .textwidget,
.site-footer .vs-footer-credit p,
.site-footer .vs-footer-credit div {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  width: 100% !important;
  text-align: center !important;
}

.site-footer .vs-footer-credit {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.site-footer .vs-footer-credit p,
.site-footer .vs-footer-credit {
  color: rgba(29, 37, 48, 0.72) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

.site-footer .vs-footer-credit a {
  color: var(--vs-color-accent) !important;
  font-weight: 850 !important;
  text-decoration: none !important;
}

.site-footer .vs-footer-credit a:hover {
  color: var(--vs-color-accent-hover) !important;
}

/* =========================================================
   AJUSTE · QUÉ OFRECE · ICONOS TARJETAS PEQUEÑAS
   ========================================================= */

.home .vs-ofrece-card-small .elementor-widget-text-editor:first-child {
  margin-bottom: 18px !important;
}

.home .vs-ofrece-card-small .elementor-widget-text-editor:first-child,
.home .vs-ofrece-card-small .elementor-widget-text-editor:first-child p {
  font-size: 2.2rem !important;
  line-height: 1 !important;
}

/* =========================================================
   VIENTOS SONOROS - Página Inscripciones 2026/27
   ========================================================= */

.page-id-959 {
  background: #FAF8FB;
}

/* Ocultar título automático de Astra si aparece duplicado */
.page-id-959 .entry-title {
  display: none !important;
}

/* Contenedor general Elementor */
.page-id-959 .site-content {
  background: #FAF8FB;
}

/* =========================
   Hero inscripciones
   ========================= */

.vs-inscripciones-hero {
  padding: 110px 24px 70px !important;
  background:
    radial-gradient(circle at 15% 20%, rgba(249, 216, 200, 0.85) 0%, rgba(249, 216, 200, 0) 34%),
    radial-gradient(circle at 85% 10%, rgba(230, 57, 70, 0.14) 0%, rgba(230, 57, 70, 0) 30%),
    linear-gradient(135deg, #fff7f1 0%, #faf8fb 56%, #f4f0fb 100%);
  border-bottom: 1px solid rgba(20, 28, 44, 0.08);
}

.vs-inscripciones-hero > .elementor-container,
.vs-inscripciones-hero > .elementor-column-gap-default {
  max-width: 1120px;
  margin: 0 auto;
}

.vs-inscripciones-title h1,
.vs-inscripciones-title h2,
.vs-inscripciones-title .elementor-heading-title {
  margin: 0 0 22px !important;
  color: #101B33 !important;
  font-size: clamp(2.4rem, 5vw, 4.4rem) !important;
  line-height: 1.04 !important;
  font-weight: 850 !important;
  letter-spacing: -0.045em !important;
}

.vs-inscripciones-intro {
  max-width: 760px;
}

.vs-inscripciones-intro,
.vs-inscripciones-intro p {
  color: rgba(16, 27, 51, 0.78) !important;
  font-size: 1.16rem !important;
  line-height: 1.75 !important;
  margin-bottom: 0 !important;
}

/* =========================
   Caja información importante
   ========================= */

.vs-inscripciones-info {
  padding: 58px 24px 28px !important;
  background: #FAF8FB;
}

.vs-inscripciones-info > .elementor-container,
.vs-inscripciones-info > .elementor-column-gap-default {
  max-width: 1120px;
  margin: 0 auto;
}

.vs-inscripciones-info .elementor-widget-wrap {
  padding: 34px 38px !important;
  background: linear-gradient(135deg, #101B33 0%, #26395f 100%);
  border-radius: 26px;
  box-shadow: 0 22px 60px rgba(16, 27, 51, 0.14);
}

.vs-inscripciones-info-title .elementor-heading-title {
  color: #ffffff !important;
  font-size: clamp(1.7rem, 3vw, 2.4rem) !important;
  line-height: 1.15 !important;
  font-weight: 850 !important;
  margin-bottom: 14px !important;
}

.vs-inscripciones-info-text,
.vs-inscripciones-info-text p {
  color: rgba(255, 255, 255, 0.84) !important;
  font-size: 1.04rem !important;
  line-height: 1.75 !important;
}

.vs-inscripciones-info-text p:last-child {
  margin-bottom: 0 !important;
}

/* =========================
   Sección formulario
   ========================= */

.vs-inscripciones-form-section {
  padding: 36px 24px 90px !important;
  background: #FAF8FB;
}

.vs-inscripciones-form-section > .elementor-container,
.vs-inscripciones-form-section > .elementor-column-gap-default {
  max-width: 1120px;
  margin: 0 auto;
}

.vs-inscripciones-form-section .elementor-widget-wrap {
  padding: 42px 44px !important;
  background: #ffffff;
  border: 1px solid rgba(16, 27, 51, 0.08);
  border-radius: 30px;
  box-shadow: 0 26px 70px rgba(16, 27, 51, 0.12);
}

.vs-inscripciones-form-title .elementor-heading-title {
  color: #101B33 !important;
  font-size: clamp(1.8rem, 3vw, 2.6rem) !important;
  line-height: 1.16 !important;
  font-weight: 850 !important;
  margin-bottom: 28px !important;
}

/* =========================
   Forminator - Estilo formulario
   ========================= */

.vs-inscripciones-form .forminator-ui {
  font-family: inherit !important;
}

.vs-inscripciones-form .forminator-label {
  color: #101B33 !important;
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  margin-bottom: 8px !important;
}

.vs-inscripciones-form .forminator-description,
.vs-inscripciones-form .forminator-field .forminator-description {
  color: rgba(16, 27, 51, 0.62) !important;
  font-size: 0.92rem !important;
  line-height: 1.55 !important;
}

.vs-inscripciones-form input,
.vs-inscripciones-form textarea,
.vs-inscripciones-form select {
  min-height: 48px !important;
  border: 1px solid rgba(16, 27, 51, 0.18) !important;
  border-radius: 14px !important;
  background: #FAF8FB !important;
  color: #101B33 !important;
  font-size: 1rem !important;
  box-shadow: none !important;
}

.vs-inscripciones-form textarea {
  min-height: 150px !important;
  padding-top: 14px !important;
}

.vs-inscripciones-form input:focus,
.vs-inscripciones-form textarea:focus,
.vs-inscripciones-form select:focus {
  border-color: #E63946 !important;
  box-shadow: 0 0 0 4px rgba(230, 57, 70, 0.12) !important;
  outline: none !important;
}

/* Títulos de sección dentro del formulario */
.vs-inscripciones-form .forminator-title {
  color: #101B33 !important;
  font-size: 2rem !important;
  line-height: 1.15 !important;
  font-weight: 850 !important;
  margin: 34px 0 8px !important;
}

.vs-inscripciones-form .forminator-subtitle {
  color: rgba(16, 27, 51, 0.68) !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
  margin-bottom: 22px !important;
}

/* Radios y checkboxes */
.vs-inscripciones-form .forminator-radio,
.vs-inscripciones-form .forminator-checkbox {
  margin-bottom: 12px !important;
}

.vs-inscripciones-form .forminator-radio-label,
.vs-inscripciones-form .forminator-checkbox-label {
  color: rgba(16, 27, 51, 0.82) !important;
  font-size: 1rem !important;
  line-height: 1.55 !important;
}

/* Botón enviar */
.vs-inscripciones-form .forminator-button-submit {
  margin-top: 24px !important;
  padding: 16px 30px !important;
  border-radius: 999px !important;
  background: #E63946 !important;
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.01em !important;
  border: none !important;
  box-shadow: 0 14px 34px rgba(230, 57, 70, 0.28) !important;
  transition: all 0.2s ease !important;
}

.vs-inscripciones-form .forminator-button-submit:hover {
  background: #C92F3B !important;
  transform: translateY(-2px);
  box-shadow: 0 18px 42px rgba(230, 57, 70, 0.34) !important;
}

/* Mensajes */
.vs-inscripciones-form .forminator-response-message {
  border-radius: 18px !important;
  padding: 18px 20px !important;
  font-size: 1rem !important;
  line-height: 1.55 !important;
}

/* =========================
   Responsive
   ========================= */

@media (max-width: 767px) {
  .vs-inscripciones-hero {
    padding: 78px 18px 50px !important;
  }

  .vs-inscripciones-info,
  .vs-inscripciones-form-section {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .vs-inscripciones-info .elementor-widget-wrap {
    padding: 28px 24px !important;
    border-radius: 22px;
  }

  .vs-inscripciones-form-section .elementor-widget-wrap {
    padding: 30px 22px !important;
    border-radius: 24px;
  }

  .vs-inscripciones-form .forminator-title {
    font-size: 1.55rem !important;
  }

  .vs-inscripciones-form .forminator-button-submit {
    width: 100% !important;
  }
}

/* =========================================================
   VIENTOS SONOROS - Submenús header Astra
   ========================================================= */

@media (min-width: 1025px) {

  /* Caja del desplegable */
  .main-header-menu .sub-menu {
    min-width: 340px !important;
    max-width: 380px !important;
    width: max-content !important;
    padding: 12px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    border: 1px solid rgba(16, 27, 51, 0.08) !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 48px rgba(16, 27, 51, 0.18) !important;
    overflow: hidden !important;
  }

  /* Elementos del submenú */
  .main-header-menu .sub-menu .menu-item {
    background: transparent !important;
  }

  .main-header-menu .sub-menu .menu-link {
    display: block !important;
    padding: 12px 16px !important;
    color: #101B33 !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
    border-radius: 12px !important;
    background: transparent !important;

    /* IMPORTANTE */
    white-space: normal !important;
    word-break: normal !important;
  }

  /* Hover submenú */
  .main-header-menu .sub-menu .menu-link:hover,
  .main-header-menu .sub-menu .menu-item:hover > .menu-link {
    color: #E63946 !important;
    background: rgba(230, 57, 70, 0.08) !important;
  }

  /* Flecha del submenú */
  .main-header-menu .menu-item-has-children > .menu-link .dropdown-menu-toggle {
    color: inherit !important;
  }
}

/* =========================================================
   VIENTOS SONOROS - Corrección hero móvil
   ========================================================= */

@media (max-width: 767px) {

  .home .vs-hero {
    min-height: 100vh !important;
    padding: 110px 20px 70px 20px!important;
    overflow: hidden !important;
  }

  .home .vs-hero .elementor-container,
  .home .vs-hero .elementor-column,
  .home .vs-hero .elementor-widget-wrap {
    max-width: 100% !important;
    width: 100% !important;
    padding-right: 8px !important;
  }

  .home .vs-hero-title,
  .home .vs-hero-title .elementor-heading-title {
    max-width: 100% !important;
    width: 100% !important;
    font-size: clamp(2.15rem, 10vw, 3rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.045em !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    padding-right: 14px !important;
  }

  .home .vs-hero-text,
  .home .vs-hero-text p {
    max-width: 100% !important;
    font-size: 0.98rem !important;
    line-height: 1.55 !important;
  }

  .home .vs-hero-buttons,
  .home .vs-hero-buttons .elementor-widget-container,
  .home .vs-hero-buttons .elementor-button-wrapper {
    width: 100% !important;
    max-width: 100% !important;
  }

  .home .vs-hero-buttons .elementor-button,
  .home .vs-hero .elementor-button {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    padding: 16px 22px !important;
    font-size: 1rem !important;
    line-height: 1.25 !important;
  }
}

/* =========================================================
   VIENTOS SONOROS - Menú móvil Astra
   ========================================================= */

@media (max-width: 921px) {

  /* Contenedor del menú desplegado */
  .ast-mobile-header-content,
  .ast-mobile-popup-drawer,
  .ast-mobile-popup-inner,
  .ast-mobile-popup-content,
  .ast-builder-menu-mobile {
    background: #ffffff !important;
    color: #101B33 !important;
  }

  /* Enlaces principales del menú móvil */
  .ast-mobile-header-content .main-header-menu .menu-link,
  .ast-mobile-popup-content .main-header-menu .menu-link,
  .ast-builder-menu-mobile .main-navigation .menu-item > .menu-link {
    color: #101B33 !important;
    background: transparent !important;
    font-size: 0.98rem !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    padding: 12px 22px !important;
  }

  /* Hover / activo */
  .ast-mobile-header-content .main-header-menu .menu-link:hover,
  .ast-mobile-popup-content .main-header-menu .menu-link:hover,
  .ast-builder-menu-mobile .main-navigation .menu-item.current-menu-item > .menu-link {
    color: #E63946 !important;
    background: rgba(230, 57, 70, 0.07) !important;
  }

  /* Submenús en móvil */
  .ast-mobile-header-content .main-header-menu .sub-menu,
  .ast-mobile-popup-content .main-header-menu .sub-menu,
  .ast-builder-menu-mobile .main-navigation .sub-menu {
    background: #FAF8FB !important;
    padding: 6px 0 !important;
    border: none !important;
    box-shadow: none !important;
  }

  .ast-mobile-header-content .main-header-menu .sub-menu .menu-link,
  .ast-mobile-popup-content .main-header-menu .sub-menu .menu-link,
  .ast-builder-menu-mobile .main-navigation .sub-menu .menu-link {
    color: rgba(16, 27, 51, 0.82) !important;
    font-size: 0.92rem !important;
    font-weight: 750 !important;
    padding: 10px 34px !important;
    white-space: normal !important;
  }

  /* Flechas desplegables */
  .ast-mobile-header-content .dropdown-menu-toggle,
  .ast-mobile-popup-content .dropdown-menu-toggle,
  .ast-builder-menu-mobile .dropdown-menu-toggle {
    color: #101B33 !important;
  }

  .ast-mobile-header-content .ast-icon,
  .ast-mobile-popup-content .ast-icon,
  .ast-builder-menu-mobile .ast-icon {
    fill: #101B33 !important;
    color: #101B33 !important;
  }

  /* Botón de cerrar */
  .ast-mobile-popup-drawer .ast-mobile-popup-drawer-close,
  .ast-mobile-popup-drawer .ast-mobile-popup-drawer-close .ast-icon {
    color: #101B33 !important;
    fill: #101B33 !important;
  }

  /* Botón inscripciones dentro del menú móvil */
  .ast-mobile-header-content .ast-header-button-1,
  .ast-mobile-popup-content .ast-header-button-1 {
    padding: 16px 22px 22px !important;
    text-align: center !important;
  }

  .ast-mobile-header-content .ast-header-button-1 .ast-custom-button,
  .ast-mobile-popup-content .ast-header-button-1 .ast-custom-button,
  .ast-mobile-header-content .ast-custom-button,
  .ast-mobile-popup-content .ast-custom-button {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    background: #E63946 !important;
    color: #ffffff !important;
    border-radius: 999px !important;
    padding: 13px 22px !important;
    font-size: 0.92rem !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    border: none !important;
  }

  .ast-mobile-header-content .ast-header-button-1 .ast-custom-button:hover,
  .ast-mobile-popup-content .ast-header-button-1 .ast-custom-button:hover {
    background: #C92F3B !important;
    color: #ffffff !important;
  }
}

/* =========================================================
   VIENTOS SONOROS - Fix menú móvil en home con cabecera transparente
   ========================================================= */

@media (max-width: 921px) {

  /* Fondo del desplegable móvil en la home */
  .home .ast-mobile-header-content,
  .home .ast-mobile-header-content .ast-builder-menu-mobile,
  .home .ast-mobile-header-content .main-header-menu,
  .home .ast-mobile-header-content .main-navigation,
  .home .ast-mobile-header-content .menu {
    background: #ffffff !important;
  }

  /* Enlaces principales visibles en home */
  .home .ast-mobile-header-content .main-header-menu > .menu-item > .menu-link,
  .home .ast-mobile-header-content .main-header-menu > .menu-item > a,
  .home .ast-mobile-header-content .ast-builder-menu-mobile .menu-item > .menu-link,
  .home .ast-mobile-header-content .ast-builder-menu-mobile .menu-item > a {
    color: #101B33 !important;
    background: transparent !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* Elemento activo en home */
  .home .ast-mobile-header-content .main-header-menu > .current-menu-item > .menu-link,
  .home .ast-mobile-header-content .main-header-menu > .current_page_item > .menu-link {
    color: #E63946 !important;
    background: rgba(230, 57, 70, 0.08) !important;
  }

  /* Submenús visibles en home */
  .home .ast-mobile-header-content .main-header-menu .sub-menu,
  .home .ast-mobile-header-content .main-header-menu .sub-menu .menu-item,
  .home .ast-mobile-header-content .main-header-menu .sub-menu .menu-link {
    background: #FAF8FB !important;
    color: #101B33 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* Flechas desplegables en home */
  .home .ast-mobile-header-content .dropdown-menu-toggle,
  .home .ast-mobile-header-content .dropdown-menu-toggle .ast-icon,
  .home .ast-mobile-header-content .ast-icon {
    color: #101B33 !important;
    fill: #101B33 !important;
  }

  /* Botón de inscripción dentro del menú móvil en home */
  .home .ast-mobile-header-content .ast-custom-button,
  .home .ast-mobile-header-content .ast-header-button-1 .ast-custom-button {
    background: #E63946 !important;
    color: #ffffff !important;
  }
}