/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

.fondo-marron-subrayado .elementor-heading-title {
  display: inline; /* o inline-block si necesitas padding */
  background-color: #896961; /* color de fondo */
}

.icon-height-limited .elementor-icon-wrapper {
  display: flex;
  align-items: center;
}

.display-none {
  display: none;
}

.grid-2-columns {
  grid-column: span 2;
}

/* MEGA MENU */
.e-n-menu {
  height: 100%;
}

.megamenu .e-n-menu-wrapper .e-n-menu-heading {
  min-height: 120px;
}

.elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon svg {
  fill: #fff !important;
}

.e-n-menu-item:has(.e-n-menu-content.e-active) .e-n-menu-title:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 7px;
  width: 100%;
  background: linear-gradient(
    90deg,
    var(--e-global-color-ed7d3e0),
    var(--e-global-color-e314074)
  );
}

body:has(.e-n-menu-content.e-active):after {
  content: "";
  width: 100%;
  height: 100vh;
  background-color: #410d00;
  opacity: 0.75;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 200;
}

.elementor-widget-n-menu
  .e-n-menu-item:not(:last-of-type)
  .e-n-menu-title:after {
  border: none;
}

header {
  position: relative;
  z-index: 250;
}

/*BREADCRUMBS*/
.elementor-widget-breadcrumbs a,
.elementor-widget-breadcrumbs span {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.3em;
  color: #410d00;
}

.elementor-widget-breadcrumbs .separator {
  color: transparent;
  background-image: url("/wp-content/uploads/2025/06/ene-icon-right-breadcrumb.svg");
  background-repeat: no-repeat;
  background-position: center;
  width: 20px;
  display: inline-block;
}

.elementor-widget-breadcrumbs .last {
  font-weight: 600;
}

/* FORMULARIO */

.wpcf7 form:not(.spam) .wpcf7-response-output,
.wpcf7-mail-sent-ok,
.wpcf7-validation-errors,
div.wpcf7 .ajax-loader,
div.wpcf7 .screen-reader-response,
div.wpcf7 .wpcf7-spinner {
  display: none !important;
}

input[type="date"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="url"],
select,
textarea {
  border: 1px solid #e0e0e0 !important;
  background-color: #f8f8f8;
  border-radius: 2px;
  padding-top: 22px;
  padding-left: 20px;
  padding-right: 20px;
  outline: 0;
}

.form.contact-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.form.contact-form > div {
  position: relative;
}

.form__label.p-s {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s ease-in-out;
  pointer-events: none;
  line-height: 1em;
}

textarea + .form__label.p-s {
  top: 20px;
  transform: none;
}
.form__wrapper [data-name="mensaje"] + .form__label {
  top: 27px;
}

.form__wrapper:has(.form__input:focus) .form__label,
.form__wrapper:has(.form__input:not(:placeholder-shown)) .form__label {
  top: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 12px;
  color: #ef3f3f;
  transform: none;
}

textarea {
  max-height: 200px;
}

div[data-elementor-type="popup"] textarea {
  max-height: 138px;
}

.wpcf7-list-item {
  margin: 0;
}

[type="checkbox"],
[type="radio"] {
  width: 15px;
  height: 15px;
  border: 1px solid #e0e0e0;
  border-radius: 2px;
  background-color: #f8f8f8;
  -webkit-appearance: none;
  /* Evita el estilo por defecto */
  -moz-appearance: none;
  /* Evita el estilo por defecto */
  appearance: none;
  /* Evita el estilo por defecto */
  cursor: pointer;
  transition: all 0.3s ease;
  /* Para transiciones suaves */
  position: relative;
}

/* Cuadrado en el centro cuando está marcado */
[type="checkbox"]:checked::after,
[type="radio"]:checked::after {
  content: "";
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  width: 7px;
  height: 7px;
  background-color: #858585;
  border-radius: 1px;
}

.checks-accept label {
  font-size: 15px;
  line-height: 1.3em;
  color: #615956;
  display: flex;
  gap: 6px;
}

.checks-accept .wpcf7-list-item {
  margin-bottom: 14px;
}

.checks-accept a {
  color: inherit;
  text-decoration: underline;
}

.checks-accept .wpcf7-acceptance {
  margin-right: 5px;
}

.checks-accept .privacy {
  display: flex;
}

form .wpcf7-form-control.wpcf7-submit {
  background: linear-gradient(
    90deg,
    var(--e-global-color-ed7d3e0) 0%,
    var(--e-global-color-e314074) 100%
  );
  background-color: #fff !important;
  border: 1px solid transparent;
  border-image: linear-gradient(
    90deg,
    var(--e-global-color-ed7d3e0),
    var(--e-global-color-e314074)
  );
  border-image-slice: 1;
  color: #fff !important;
}

.wpcf7 .wpcf7-submit:disabled {
  opacity: 0.7;
}

form .wpcf7-form-control.wpcf7-submit {
  background-color: #fff;
}

/* DESPLEGABLE DE ACADEMIAS DEL MENÚ */

.deplegable-academias .desplegable-listado-sedes {
  max-height: 0px !important;
  transition: all 0.2s ease-in-out;
  overflow: hidden;
}

.deplegable-academias:hover .desplegable-listado-sedes {
  max-height: 500px !important;
}

/* TÉRMINOS DEL BLOG (ETIQUETAS) */

.post-custom-tags a {
  background: #fcf7f3 !important;
  border: 1px solid transparent;
  border-image: linear-gradient(
    90deg,
    var(--e-global-color-ed7d3e0),
    var(--e-global-color-e314074)
  );
  border-image-slice: 1;
  font-size: 14px;
  line-height: 1em;
  padding: 12px;
  font-weight: 600;
}

.post-custom-tags {
  display: flex !important;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 9px;
}

/* COMPARTIR EL POST EN BLOG */
.elementor-share-btn__text {
  background: #fcf7f3 !important;
  border: 1px solid transparent;
  border-image: linear-gradient(
    90deg,
    var(--e-global-color-ed7d3e0),
    var(--e-global-color-e314074)
  );
  border-image-slice: 1;
}

.elementor-share-btn__title {
  background: linear-gradient(
    90deg,
    var(--e-global-color-ed7d3e0) 0%,
    var(--e-global-color-e314074) 100%
  ) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

@media (max-width: 768px) {
  .elementor-share-buttons--view-text .elementor-grid {
    display: flex;
    flex-direction: column;
  }

  .elementor-share-buttons--view-text .elementor-grid .elementor-grid-item {
    margin-bottom: 0;
  }

  .post-custom-tags a {
    padding: 7px;
  }
}

/* MINIATURA DE FICHAS*/
.elementor-widget-theme-post-featured-image a {
  width: 100%;
}

/* PAGINACIÓN EN BLOG*/

.elementor-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.elementor-pagination .page-numbers {
  font-size: 17px;
  border: 1px solid black;
  padding: 15px 25px;
  font-family: "Overpass", sans-serif;
  line-height: 1em;
}

.elementor-pagination a.page-numbers {
  background: linear-gradient(
    90deg,
    var(--e-global-color-ed7d3e0) 0%,
    var(--e-global-color-e314074) 100%
  );
  background-color: #fff;
  color: #fff;
  border-image: linear-gradient(
    90deg,
    var(--e-global-color-ed7d3e0),
    var(--e-global-color-e314074)
  );
  border-image-slice: 1;
}

.elementor-pagination .page-numbers.prev,
.elementor-pagination .page-numbers.next {
  gap: 10px;
  display: flex;
  align-items: center;
}

.elementor-pagination span.page-numbers {
  color: #a7a7a7;
  border: 1px solid #a7a7a7;
}

.elementor-pagination a.page-numbers.next:after {
  content: "";
  background-image: url("/wp-content/uploads/2025/05/ene-icon-right-arrow.svg");
  background-repeat: no-repeat;
  display: inline-block;
  width: 17px;
  height: 15px;
  background-position: top center;
  background-size: contain;
}

.elementor-pagination a.page-numbers.prev:before {
  content: "";
  background-image: url("/wp-content/uploads/2025/05/ene-icon-right-arrow.svg");
  background-repeat: no-repeat;
  display: inline-block;
  width: 17px;
  height: 15px;
  background-position: bottom center;
  background-size: contain;
  transform: rotate(180deg);
}

.elementor-pagination span.page-numbers.next:after {
  content: "";
  background-image: url("/wp-content/uploads/2025/05/ene-icon-right-arrow.svg");
  background-repeat: no-repeat;
  display: inline-block;
  width: 17px;
  height: 15px;
  background-position: top center;
  background-size: contain;
  filter: brightness(0) saturate(100%) invert(82%) sepia(15%) saturate(0%)
    hue-rotate(168deg) brightness(81%) contrast(82%);
}

.elementor-pagination span.page-numbers.prev:before {
  content: "";
  background-image: url("/wp-content/uploads/2025/05/ene-icon-right-arrow.svg");
  background-repeat: no-repeat;
  display: inline-block;
  width: 17px;
  height: 15px;
  background-position: bottom center;
  background-size: contain;
  transform: rotate(180deg);
  filter: brightness(0) saturate(100%) invert(82%) sepia(15%) saturate(0%)
    hue-rotate(168deg) brightness(81%) contrast(82%);
}

.elementor-pagination .page-numbers:not(.prev):not(.next) {
  background: #fcf7f3;
  border: 1px solid transparent;
  border-image: linear-gradient(
    90deg,
    var(--e-global-color-ed7d3e0),
    var(--e-global-color-e314074)
  );
  border-image-slice: 1;
  color: #ef3f3f;
}

.elementor-pagination .page-numbers.current {
  background: linear-gradient(
    90deg,
    var(--e-global-color-ed7d3e0) 0%,
    var(--e-global-color-e314074) 100%
  ) !important;
  background-color: #fff !important;
  color: #fff !important;
  border-image: linear-gradient(
    90deg,
    var(--e-global-color-ed7d3e0),
    var(--e-global-color-e314074)
  ) !important;
  border-image-slice: 1 !important;
}

.elementor-pagination .page-numbers.next {
  position: absolute;
  right: 0;
}

.elementor-pagination .page-numbers.prev {
  position: absolute;
  left: 0;
}

@media (max-width: 1288px) {
  .elementor-pagination .page-numbers.prev,
  .elementor-pagination .page-numbers.next {
    position: static;
  }
}

/* BOTONES */

/* Por defecto - Degradado con hover blanco */
.elementor-button span {
  line-height: 1em;
}

.elementor-button-danger .elementor-button span {
  color: #fff;
}

.elementor-button-danger .elementor-button,
.btn-cookies {
  background: linear-gradient(
    90deg,
    var(--e-global-color-ed7d3e0) 0%,
    var(--e-global-color-e314074) 100%
  );
  background-color: #fff !important;
  border: 1px solid transparent;
  border-image: linear-gradient(
    90deg,
    var(--e-global-color-ed7d3e0),
    var(--e-global-color-e314074)
  );
  border-image-slice: 1;
}

.elementor-button-danger .elementor-button:hover,
.btn-cookies {
  background: #fff !important;
}

.elementor-button-danger .elementor-button:hover .elementor-button-text {
  background: linear-gradient(
    90deg,
    var(--e-global-color-ed7d3e0) 0%,
    var(--e-global-color-e314074) 100%
  ) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

/* header .elementor-button-danger .elementor-button:hover {
  background: linear-gradient(
    90deg,
    var(--e-global-color-ed7d3e0) 0%,
    var(--e-global-color-e314074) 100%
  ) !important;
}

header .elementor-button-danger .elementor-button:hover span {
  color: #fff !important;
} */

/* Información - Blanco con hover gris */

.elementor-button-info .elementor-button {
  background: none !important;
  border: 1px solid #615956;
}

.elementor-button-info .elementor-button span {
  color: #615956;
}

/* Correcto - Marrón con hover degradado (con flecha) */
.elementor-button-success .elementor-button {
  background: #896961 !important;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 40px;
  padding-left: 28px;
  padding-right: 28px;
  justify-content: space-between;
}

.elementor-button-success .elementor-button span {
  color: #fff;
}

.elementor-button-success .elementor-button:hover {
  background: linear-gradient(
    90deg,
    var(--e-global-color-ed7d3e0) 0%,
    var(--e-global-color-e314074) 100%
  ) !important;
}

.elementor-button-success .elementor-button:after {
  content: "";
  background-image: url("https://ene.visualit.com.es/wp-content/uploads/2025/05/ene-icon-right-arrow.svg");
  width: 23px;
  height: 23px;
  display: block;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  gap: 40px;
}

.elementor-button-success .elementor-button-content-wrapper {
  display: flex;
}

/* Advertencia - Blanco con hover degradado (con flecha) */
.elementor-button-warning .elementor-button {
  background: #fff !important;
  display: flex;
  flex-direction: row;
  width: max-content;
  align-items: center;
  gap: 40px;
  padding-left: 28px;
  padding-right: 28px;
  border: 1px solid transparent;
  border-image: linear-gradient(
    90deg,
    var(--e-global-color-ed7d3e0),
    var(--e-global-color-e314074)
  );
  border-image-slice: 1;
}

.elementor-button-warning .elementor-button .elementor-button-text {
  background: linear-gradient(
    90deg,
    var(--e-global-color-ed7d3e0) 0%,
    var(--e-global-color-e314074) 100%
  ) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

.elementor-button-warning .elementor-button:hover .elementor-button-text {
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  color: #fff !important;
  /* Cambia esto al color que desees */
  -webkit-text-fill-color: #fff !important;
}

.elementor-button-warning .elementor-button:hover {
  background: linear-gradient(
    90deg,
    var(--e-global-color-ed7d3e0) 0%,
    var(--e-global-color-e314074) 100%
  ) !important;
}

.elementor-button-warning .elementor-button:after {
  content: "";
  background-image: url("https://ene.visualit.com.es/wp-content/uploads/2025/05/ene-icon-right-arrow-degradado.svg");
  width: 23px;
  height: 23px;
  display: block;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  gap: 40px;
}

.elementor-button-warning .elementor-button:hover:after {
  background-image: url("https://ene.visualit.com.es/wp-content/uploads/2025/05/ene-icon-right-arrow.svg");
}

.elementor-button-warning .elementor-button-content-wrapper {
  display: flex;
}

@media (max-width: 765px) {
  .elementor-button-warning .elementor-button,
  .elementor-button-warning .elementor-button:after {
    gap: 16px;
  }
}

/* Degradado en texto */
.color-degradado-font {
  background: linear-gradient(
    90deg,
    var(--e-global-color-ed7d3e0) 0%,
    var(--e-global-color-e314074) 100%
  ) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

a > .color-degradado-font u:before {
  content: "";
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 5px;
  z-index: -1;
  background: linear-gradient(
    90deg,
    var(--e-global-color-ed7d3e0) 0%,
    var(--e-global-color-e314074) 100%
  );
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  -webkit-mask-composite: destination-out;
  padding-bottom: 1px;
}

/* Flipbox cuadrado */
.flipbox-cuadrado {
  aspect-ratio: 1 / 1;
  width: 100%;
  max-width: 400px;
  /* ajusta el valor si quieres limitar el tamaño */
}

.flipbox-cuadrado .elementor-flip-box {
  height: 100%;
}

.flipbox-cuadrado .elementor-flip-box__layer {
  height: 100%;
}

.flipbox-cuadrado
  .elementor-flip-box__back
  .elementor-flip-box__layer__overlay {
  background: linear-gradient(
    90deg,
    rgba(239, 63, 63, 0.8) 0%,
    rgba(239, 63, 180, 0.8) 100%
  );
}

/* Acordeón personalizado */
.faq .e-n-accordion svg {
  fill: transparent !important;
}

.faq .e-n-accordion .e-n-accordion-item {
  box-shadow: 0px 5px 16px 5px #0000001a;
}

summary[data-accordion-index="1"] {
  border-color: #fff !important;
}

/* Editor de texto */
.text-editor-ene h2 {
  background: linear-gradient(
    90deg,
    var(--e-global-color-ed7d3e0) 0%,
    var(--e-global-color-e314074) 100%
  ) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  font-size: 26px;
  font-weight: 500;
  line-height: 1.2em;
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid #d3d3d3;
  font-family: inherit;
}

.text-editor-ene a {
  text-decoration: underline;
}

/* SEDES - Grid de benefits */
.grid-benefits .elementor-heading-title {
  background: linear-gradient(
    90deg,
    var(--e-global-color-ed7d3e0) 0%,
    var(--e-global-color-e314074) 100%
  ) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

.grid-benefits > * {
  border-image: linear-gradient(
      90deg,
      var(--e-global-color-ed7d3e0),
      var(--e-global-color-e314074)
    )
    1;
}

/* SEDES - Miniatura */
@media (min-width: 1200px) {
  .miniatura-sedes br {
    display: none;
  }
}

/* SEDES - Grid cuadrado */
.grid-cuadrados.elementor-element > * {
  aspect-ratio: 1 / 1;
  width: 100%;
  /* o el ancho deseado */
}

.grid-cuadrados.elementor-element {
  aspect-ratio: 1 / 1;
  width: 100%;
  /* o el ancho deseado */
}

.grid-cuadrados .elementor-widget-heading {
  aspect-ratio: auto;
}

.swiper-slide:not(:has(.elementor-element)) {
  display: none;
}

.carrusel-academias-sede .swiper-wrapper {
  justify-content: center;
}

.carrusel-academias-sede .swiper-pagination-bullet {
  background: #fcf7f3;
  opacity: 1;
}

.carrusel-academias-sede
  .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #ef3f3f;
}

@media (max-width: 1200px) {
  .carrusel-academias-sede .swiper-wrapper {
    justify-content: inherit;
  }
}

/* GENERAL - Editor de texto */

.text-editor ul {
  list-style: none;
  padding-left: 0;
  margin: 10px 0 20px 0;
}

.text-editor ul li {
  position: relative;
  padding-left: 1em;
  margin-bottom: 20px;
}

.text-editor ul li:last-child {
  margin-bottom: 0px;
}

.text-editor ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 7px;
  height: 7px;
  background: linear-gradient(84.2deg, #ef3f3f 48%, #ef3fb4 100%);
}

/* ESPECIALIDAD - Fases de oposición */
.text-editor.fases b {
  font-size: 24px;
  color: #000;
}

.text-editor.fases li b {
  font-size: inherit;
  color: inherit;
}

/* FICHA DE DETALLE DE SEDE */
.sede-horario ul {
  list-style: none;
  padding: 0;
}

/* GRID BOTONES - Especialidades */

.listado-botones-flecha {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  grid-template-columns: repeat(4, 1fr);
  align-items: stretch;
  display: grid;
}

.listado-botones-flecha a {
  --display: flex;
  --flex-direction: row;
  --container-widget-width: calc(
    (1 - var(--container-widget-flex-grow)) * 100%
  );
  --container-widget-height: 100%;
  --container-widget-flex-grow: 1;
  --container-widget-align-self: stretch;
  --flex-wrap-mobile: wrap;
  --justify-content: space-between;
  --align-items: center;
  --gap: 30px 30px;
  --row-gap: 30px;
  --column-gap: 30px;
  border-style: solid;
  --border-style: solid;
  border-width: 1px 1px 1px 1px;
  --border-top-width: 1px;
  --border-right-width: 1px;
  --border-bottom-width: 1px;
  --border-left-width: 1px;
  border-color: var(--e-global-color-ed7d3e0);
  --border-color: var(--e-global-color-ed7d3e0);
  --padding-top: 25px;
  --padding-bottom: 25px;
  --padding-left: 25px;
  --padding-right: 25px;
  background-color: #fcf7f3;
  padding: 25px;
  text-align: var(--text-align);
  display: flex;
  justify-content: space-between;
}

.listado-botones-flecha a span {
  background: linear-gradient(
    90deg,
    var(--e-global-color-ed7d3e0) 0%,
    var(--e-global-color-e314074) 100%
  ) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

.listado-botones-flecha a img {
  width: 35px;
}
