/*
Theme Name: Bootscore Child
Theme URI: https://bootscore.me/
Template: bootscore
Author: Bootscore
Author URI: https://bootscore.me
Description: Flexible Bootstrap WordPress starter-theme for developers with full WooCommerce support. Documentation
Tags: featured-images,threaded-comments,translation-ready
Version: 6.3.1.1770105632
Updated: 2026-02-03 09:00:32

*/

/* ==== Generales ====*/
:root {
  --mic--var-primary: #e1007a;
  --mic--var-primary-light: #e1007c1b;
  --mic--var-secondary: #1c2e29;
  --mic--var-white: #ffffff;
  --mic--var-black: #000000;
  --mic--var-grey: #fbfbfb;
  --mic--var-grey-dark: #8a8a8a;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Arial";
}

.h1 {
  font-size: clamp(2.5rem, 4vw, 3.5rem);
  font-style: normal;
  font-weight: bold;
  margin-top: 1.5rem;
  margin-bottom: 2rem;
  color: var();
}
.h2 {
  font-size: clamp(1.5rem, 4vw, 2rem);
  font-style: normal;
  font-weight: bold;
  color: var();
}
.h3 {
  font-size: 1.6rem;
  font-weight: bold;
}
p {
  font-size: 1rem;
  color: var();
}
.lead {
  margin-bottom: 1rem;
  text-transform: uppercase;
  color: var(--mic--var-primary);
  font-size: clamp(1rem, 2vw, 1.2rem);
}
section {
  overflow-x: clip;
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.hero {
  padding-top: 12rem;
  padding-bottom: 3rem;
}
.img-fluid {
  max-width: 100%;
  height: auto;
}
.sec-gris {
  background-color: var(--mic--var-grey);
}
.texto-gris {
  color: var(--mic--var-grey-dark);
}
/* --- botones --- */
.btn-mic {
  border-color: transparent;
  border-radius: unset;
  font-weight: bold;
  width: fit-content;
  padding: 0;
  overflow: visible;
}

.btn-mic-primary {
  background-color: transparent;
  color: var(--mic--var-primary);
  transition: all 0.3s ease;
  padding-right: 10px;
}
.btn-mic-primary:hover {
  color: var(--mic--var-secondary);
}
.btn-mic-primary:hover svg {
  transform: translateX(5px);
}
.btn-mic-primary:hover svg path {
  fill: var(--mic--var-secondary);
}
.btn-mic-secondary {
  background-color: transparent;
  color: var(--mic--var-white);
  transition: all 0.3s ease;
  padding-right: 10px;
}
.btn-mic-secondary:hover {
  color: var(--mic--var-primary);
}
.btn-mic-secondary:hover svg {
  transform: translateX(5px);
}
.btn-mic-secondary:hover svg path {
  fill: var(--mic--var-primary);
}
.top-button,
.btn-mic-cta {
  background-color: var(--mic--var-primary);
  color: var(--mic--var-white);
  border: 1px solid var(--mic--var-primary);
  border-radius: 5px;
  text-transform: uppercase;
  font-weight: 100;
  padding: 0.75rem 1.5rem;
}
.top-button:hover,
.btn-mic-cta:hover {
  background-color: var(--mic--var-white);
  color: var(--mic--var-primary);
  border-color: var(--mic--var-primary);
}
.btn-mic-descargas {
  background-color: var(--mic--var-primary-light);
  color: var(--mic--var-black);
  border: 1px solid var(--mic--var-primary-light);
  border-radius: 2rem;
  font-weight: 100;
  padding: 0.5rem 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.btn-mic-descargas:hover {
  background-color: var(--mic--var-primary);
  color: var(--mic--var-white);
  border-color: var(--mic--var-primary);
}
.bg-body-white {
  background-color: var(--mic--var-white);
}

/* --- Botón WhatsApp --- */
.btn-whatsapp {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 999;
  background-color: var(--mic--var-white);
  width: 100%;
  height: 4rem;
  padding: 0.5rem 0;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s ease;
  border-top: 1px solid var(--mic--var-black);
}
.btn-whatsapp svg {
  height: clamp(2rem, 5vw, 3rem);
  width: clamp(2rem, 5vw, 3rem);
}
.btn-whatsapp:hover {
  transform: scale(1.1);
}

.btn-whatsapp svg path {
  fill: var(--mic--var-black);
}

/* ==== Inicio ==== */
/* --- Hero --- */
.hero {
  padding-top: 0rem;
  padding-bottom: 0rem;
  min-height: fit-content;
  max-height: 60rem;
  position: relative;
}

.formacion .hero::after,
.contacto .hero::after,
.torre .hero::after,
.escuela .hero::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--mic--var-black);
  opacity: 0.5;
}
.hero .h1 {
  color: var(--mic--var-white);
}
.inicio .hero .carousel,
.inicio .hero .carousel-inner,
.inicio .hero .carousel-item {
  height: 100%;
  text-align: start;
}
.inicio .hero .carousel-item {
  padding-top: 4rem;
  position: relative;
  padding-bottom: 6rem;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.inicio .hero .carousel {
  position: relative;
}

.inicio .hero-backgrounds {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.inicio .hero-backgrounds .carousel-item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.inicio .hero-content {
  position: relative;
  z-index: 10;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.inicio .hero-content .container,
.inicio .hero-content .row {
  height: 100%;
}

.inicio .hero-content h2,
.inicio .hero-content a,
.inicio .hero-content .contador {
  pointer-events: auto;
}

.inicio .hero .carousel-indicators {
  z-index: 3;
}

.inicio .hero .carousel-control-prev,
.inicio .hero .carousel-control-next {
  z-index: 3;
}
.hero .h1,
.hero p,
.hero a {
  position: relative;
  z-index: 1;
}
.inicio .hero .carousel-item .h1,
.inicio .hero .carousel-item p,
.inicio .hero .carousel-item a {
  position: relative;
  z-index: 1;
}
.inicio .hero .carousel-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--mic--var-black);
  opacity: 0.5;
}
.inicio .hero .contador {
  position: absolute;
  font-family: Helvetica;
  bottom: 2rem;
  right: 2rem;
  color: var(--mic--var-white);
  font-size: 1.5rem;
}
.inicio .hero .contador .op {
  opacity: 0.5;
}
.tipos-formacion .card {
  border-color: transparent;
  height: 100%;
  overflow: clip;
  border-radius: 1rem;
}
.tipos-formacion .card .card-body {
  background-color: var(--mic--var-grey);
  padding: 1.5rem;
}
.tipos-formacion .card .card-body .h3 {
  color: var(--mic--var-primary);
}
.tipos-formacion .card img {
  aspect-ratio: 2/1;
  object-fit: cover;
  width: 100%;
}
.inicio .como-funciona .tarjeta {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 2rem;
  gap: 1rem;
  height: 100%;
  background-color: var(--mic--var-white);
}
.inicio .como-funciona .tarjeta img {
  width: 3rem;
}
.inicio .ubicacion img {
  width: 100%;
  object-fit: cover;
  border-radius: 1rem;
}
/* ==== Páginas ==== */
.escuela .hero {
  background-image: url("assets/img/escuela-hero-bg.webp");
  padding-top: 4rem;
  position: relative;
  padding-bottom: 4rem;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 25rem;
}
.escuela .nuestra-escuela {
  padding-top: 4rem;
  padding-bottom: 12rem;
}
.escuela .nuestra-escuela img {
  border-radius: 0.75rem;
}
.escuela .micaela {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  color: var(--mic--var-white);
}
.escuela .micaela .lead {
  color: var(--mic--var-white);
}
.escuela .micaela::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--mic--var-black);
  opacity: 0.5;
}
.escuela .micaela img {
  position: relative;
  border-radius: 1rem;
  bottom: 10rem;
  z-index: 1;
}
.escuela .micaela .lead,
.escuela .micaela .h2,
.escuela .micaela p {
  position: relative;
  z-index: 1;
}
.escuela .nos-dirigimos img {
  width: 2.5rem;
}
.escuela .nos-dirigimos .textos p {
  color: var(--mic--var-grey-dark);
}
.escuela .nos-dirigimos .textos p strong {
  color: var(--mic--var-black);
}
.escuela .acreditaciones .h3 {
  color: var(--mic--var-primary);
}
.escuela .acreditaciones .foto {
  border-radius: 0.75rem;
  aspect-ratio: 5/2;
  object-fit: cover;
}
.formacion .formaciones article {
  margin-bottom: 4rem;
  scroll-margin-top: 15rem;
}
.formacion .hero {
  background-image: url("assets/img/formacion-hero.webp");
  padding-top: 4rem;
  position: relative;
  padding-bottom: 4rem;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 25rem;
}
.formacion .formaciones .h3 {
  color: var(--mic--var-primary);
}
.formacion .nav .nav-link {
  border-radius: unset;
  color: var(--mic--var-primary);
  border-bottom: 2px solid var(--mic--var-grey-dark);
}
.formacion .nav-pills .nav-link.active,
.formacion .nav-pills .show > .nav-link {
  background-color: transparent;
  border-bottom: 3px solid var(--mic--var-primary);
  font-weight: bold;
}
.formacion .item-escolar p {
  font-size: 1.5rem;
  font-weight: bold;
}
#nav-formaciones {
  position: sticky;
  top: 3.7rem;
  z-index: 1;
  background-color: var(--mic--var-white);
  padding-right: 0;
}

.formacion .curso-complementario {
  font-size: 1.3rem;
  font-weight: bold;
  position: relative;
  padding-left: 1rem;
}
.formacion .curso-complementario::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 2rem;
  background-color: var(--mic--var-primary);
}
.formacion .formacion-complementaria img {
  width: 95%;
  aspect-ratio: 6/5;
  border-radius: 0.5rem;
  object-fit: cover;
}
.col-cuadrado {
  position: relative;
}
.col-cuadrado::before {
  content: "";
  position: absolute;
  top: -2rem;
  right: 0;
  width: 40%;
  border-radius: 0.5rem;
  aspect-ratio: 1;
  height: auto;
  background-color: var(--mic--var-primary);
  z-index: -1;
}
.formacion .cta {
  background-image: url("assets/img/formacion-CTA.webp");
  padding-top: 4rem;
  position: relative;
  padding-bottom: 4rem;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 25rem;
}
.formacion .cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--mic--var-black);
  opacity: 0.5;
}
.formacion .cta a {
  position: relative;
  z-index: 1;
}
.formacion .cta p,
.formacion .cta .h2 {
  color: var(--mic--var-white);
  position: relative;
  z-index: 1;
}
.formacion .faq .accordion {
  border: none;
}
.formacion .faq .accordion .accordion-item {
  border: none;
}
.formacion .faq .accordion .accordion-button:focus {
  box-shadow: none;
}
.formacion .faq .accordion .accordion-item .accordion-button {
  border: none;
  background-color: var(--mic--var-grey);
  color: var(--mic--var-primary);
  font-weight: bold;
  margin-bottom: 1rem;
}
.formacion-escolar img {
  border-radius: 0.75rem;
}
.formacion .insercion-laboral .img-dcha {
  border-radius: 0.75rem;
}
/* --- Tarjetas de cursos --- */
.card-curso {
  background-color: var(--mic--var-grey);
  overflow: hidden;
  border-radius: 12px;
}

.card-curso .nav-pills .nav-link {
  font-size: 1.1rem;
  color: var(--mic--var-grey-dark);
  opacity: 0.7;
  border: unset;
  padding: 0 0.5rem;
}

.card-curso .nav-pills .nav-link.active {
  border: unset;
  opacity: 1;
}

.card-curso .nav-pills .nav-link:hover:not(.active) {
  opacity: 1;
  border: unset;
}
.card-curso .horas {
  color: var(--mic--var-primary);
  font-weight: bold;
}
.card-curso .desc {
  font-weight: bold;
}
.card-curso .card-img-top {
  aspect-ratio: 3/1;
  object-fit: cover;
}

.card-curso .card-body {
  padding: 2rem;
}
.formacion .formaciones .card-curso .h3 {
  color: var(--mic--var-black);
  font-weight: bold;
}

.card-curso .badge {
  border-radius: 5px;
  padding: 0.5rem 0.75rem;
  font-weight: bold;
}

.card-curso .desglose-horas {
  color: var(--mic--var-grey-dark);
  font-size: 0.95rem;
}

.card-curso .desglose-horas ul {
  padding-left: 1.25rem;
  margin-bottom: 0;
}
.video video,
.formacion video {
  width: 100%;
  aspect-ratio: 16/9;
}

.formacion .insercion-laboral .container {
  position: relative;
}
.formacion .insercion-laboral .tarjeta-insercion {
  display: flex;
  gap: 1rem;
  align-items: center;
  padding: 2rem;
  background: var(--mic--var-white);
  box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.2);
  border-radius: 5px;
  position: relative;
  z-index: 1;
  flex-direction: column;
}

.torre .hero {
  background-image: url("assets/img/torre-hero.webp");
  padding-top: 4rem;
  position: relative;
  padding-bottom: 4rem;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 25rem;
}
.torre .valor-arquitectonico .h2 {
  color: var(--mic--var-primary);
  position: relative;
  padding-left: 1rem;
}
.torre .valor-arquitectonico .h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 100%;
  background-color: var(--mic--var-primary);
}
.torre .valor-arquitectonico .h2::after {
  content: "01";
  font-size: 10rem;
  font-weight: bold;
  color: #00000018;
  position: absolute;
  top: -7rem;
  left: 0rem;
  z-index: -1;
}

.coverflow {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.coverflow-track {
  position: relative;
  height: 350px;
}

.coverflow-item {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 60%;
  transform: translate(-50%, -50%) scale(0.7);
  opacity: 0;
  transition:
    transform 0.4s ease,
    opacity 0.4s ease;
}

.coverflow-item img {
  width: 100%;
  display: block;
  object-fit: cover;
  aspect-ratio: 1;
  border-radius: 0.75rem;
}

/* activo (centro) */
.coverflow-item.active {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
  z-index: 3;
}

/* anterior */
.coverflow-item.prev {
  transform: translate(-120%, -50%) scale(0.8);
  opacity: 0.6;
  z-index: 2;
}

/* siguiente */
.coverflow-item.next {
  transform: translate(20%, -50%) scale(0.8);
  opacity: 0.6;
  z-index: 2;
}
.coverflow button {
  position: absolute;
  bottom: -0;
  background: none;
  border: none;
  font-size: 3rem;
  cursor: pointer;
  z-index: 5;
  color: var(--mic--var-secondary);
}

.coverflow .cf-prev {
  left: 0;
}

.coverflow .cf-next {
  right: 0;
}
.torre .valor-arqueologico {
  background-image: url("assets/img/valor-arqueologico.webp");
  padding-top: 8rem;
  position: relative;
  padding-bottom: 4rem;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /* height: 35rem; */
}
.torre .valor-arqueologico::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--mic--var-black);
  opacity: 0.5;
}
.torre .valor-arqueologico p,
.torre .valor-arqueologico a,
.torre .valor-arqueologico .h2 {
  color: var(--mic--var-white);
  position: relative;
  z-index: 1;
}
.torre .valor-arqueologico .h2 {
  padding-left: 1rem;
}
.torre .valor-arqueologico .h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 100%;
  background-color: var(--mic--var-primary);
}
.torre .valor-arqueologico .h2::after {
  content: "02";
  font-size: 10rem;
  font-weight: bold;
  color: #ffffff18;
  position: absolute;
  top: -7rem;
  left: 0rem;
  z-index: -1;
}
.torre .metodologia {
  padding-top: 8rem;
}
.torre .metodologia img {
  height: 100%;
  object-fit: cover;
  border-radius: 1rem;
}
.torre .metodologia .h2 {
  padding-left: 1rem;
  position: relative;
  color: var(--mic--var-primary);
}
.torre .metodologia .h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 100%;
  background-color: var(--mic--var-primary);
}
.torre .metodologia .h2::after {
  content: "03";
  font-size: 10rem;
  font-weight: bold;
  color: #00000018;
  position: absolute;
  top: -7rem;
  left: 0rem;
  z-index: -1;
}
.torre .objetivos .h2 {
  padding-left: 1rem;
  position: relative;
  color: var(--mic--var-primary);
}
.torre .objetivos .h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 100%;
  background-color: var(--mic--var-primary);
}
.torre .objetivos .h2::after {
  content: "04";
  font-size: 10rem;
  font-weight: bold;
  color: #00000018;
  position: absolute;
  top: -7rem;
  left: 0rem;
  z-index: 0;
}
.torre .objetivos {
  position: relative;
  padding-bottom: 20rem;
}
.torre .objetivos img {
  object-fit: cover;
  width: 100%;
}
.torre .objetivos .imagen-1 img {
  aspect-ratio: 6/4;
  border-radius: 1rem;
}
.torre .objetivos .imagen-2 img {
  aspect-ratio: 6/4;
  border-radius: 1rem;
}

.torre .criterios {
  background-image: url("assets/img/valor-arqueologico.webp");
  padding-top: 8rem;
  position: relative;
  padding-bottom: 6rem;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.torre .criterios::after {
  content: "";
  position: absolute;
  top: -5%;
  left: 10%;
  width: 80%;
  height: 110%;
  background-color: var(--mic--var-primary);
  z-index: -1;
  border-radius: 1rem;
}
.torre .criterios::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--mic--var-black);
  opacity: 0.5;
}
.torre .criterios p,
.torre .criterios a,
.torre .criterios .h2 {
  color: var(--mic--var-white);
  position: relative;
  z-index: 1;
}
.torre .criterios .h2 {
  padding-left: 1rem;
}
.torre .criterios .h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 100%;
  background-color: var(--mic--var-primary);
}
.torre .criterios .h2::after {
  content: "05";
  font-size: 10rem;
  font-weight: bold;
  color: #ffffff18;
  position: absolute;
  top: -7rem;
  left: 0rem;
  z-index: -1;
}
.torre .solucion {
  padding-top: 12rem;
  padding-bottom: 4 rem;
}
.torre .historia {
  padding-top: 8rem;
  padding-bottom: 8rem;
}
.torre .solucion img,
.torre .historia img {
  border-radius: 1rem;
}
.torre .solucion .h2 {
  padding-left: 1rem;
  position: relative;
  color: var(--mic--var-primary);
}
.torre .solucion .h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 100%;
  background-color: var(--mic--var-primary);
}
.torre .solucion .h2::after {
  content: "06";
  font-size: 10rem;
  font-weight: bold;
  color: #00000018;
  position: absolute;
  top: -7rem;
  left: 0rem;
  z-index: 0;
}
/* --- Carrusel de restauración --- */
.restauracion .carousel {
  position: relative;
}

.restauracion .carousel-indicators {
  bottom: -50px;
}

.restauracion .carousel-indicators li {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: var(--mic--var-secondary);
  opacity: 0.5;
}

.restauracion .carousel-indicators li.active {
  opacity: 1;
}

.restauracion .carousel-control-prev,
.restauracion .carousel-control-next {
  width: 5%;
  opacity: 0.8;
}

.restauracion .carousel-control-prev-icon,
.restauracion .carousel-control-next-icon {
  background-color: var(--mic--var-secondary);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  background-size: 60%;
}

/* --- Slider comparación antes/después --- */
.restauracion .antes-despues-wrapper {
  padding: 20px 0;
}

.restauracion .comparison-slider {
  position: relative;
  max-width: 100%;
  margin: 0 auto;
}

.restauracion .comparison-figure {
  position: relative;
  margin: 0;
  padding: 0;
  overflow: hidden;
  aspect-ratio: 21/9;
  border-radius: 8px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.restauracion .comparison-image-after,
.restauracion .comparison-image-before {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.restauracion .comparison-image-after {
  width: 100%;
  height: auto;
}

.restauracion .comparison-divisor {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 50%;
  overflow: hidden;
  border-right: 8px solid var(--mic--var-secondary);
  z-index: 2;
}

.restauracion .comparison-image-before {
  /* El ancho se ajustará por JS al ancho del contenedor figure para que no se escale con el divisor */
  max-width: none;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
}

.restauracion .comparison-slider-input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: absolute;
  top: 50%;
  left: -25px;
  transform: translateY(-50%);
  background-color: transparent;
  width: calc(100% + 50px);
  z-index: 11;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.restauracion .comparison-slider-input:focus,
.restauracion .comparison-slider-input:active {
  border: none;
  outline: none;
}

.restauracion .comparison-slider-input::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  height: 0;
  width: 0;
  background: transparent;
}

.restauracion .comparison-slider-input::-moz-range-thumb {
  height: 0;
  width: 0;
  background: transparent;
  border: none;
}

.restauracion .comparison-labels {
  position: absolute;
  bottom: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding: 0;
  z-index: 5;
}

.restauracion .comparison-handle {
  position: absolute;
  height: 50px;
  width: 50px;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  z-index: 10;
  background-color: var(--mic--var-secondary);
  border-radius: 50%;
  cursor: grab;
  box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.3);
  /* border: 4px solid white; */
}

.restauracion .comparison-handle::before,
.restauracion .comparison-handle::after {
  content: "";
  width: 0;
  height: 0;
  border: 6px inset transparent;
  position: absolute;
  top: 50%;
  margin-top: -6px;
}

.restauracion .comparison-handle::before {
  border-right: 6px solid white;
  left: 50%;
  margin-left: -17px;
}

.restauracion .comparison-handle::after {
  border-left: 6px solid white;
  right: 50%;
  margin-right: -17px;
}
.restauracion .comparison-label-left,
.restauracion .comparison-label-right {
  background-color: var(--mic--var-secondary);
  padding: 5px 15px;
  border-radius: 4px;
  color: var(--mic--var-white);
  text-transform: uppercase;
  font-size: 1.2rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.restauracion .carousel-indicators [data-bs-target] {
  background-color: var(--mic--var-secondary);
  height: 1rem;
  width: 1rem;
  border-radius: 50%;
}
/* Responsive */
@media (max-width: 768px) {
  .restauracion .comparison-figure {
    aspect-ratio: 4/3;
  }

  .restauracion .comparison-handle {
    width: 40px;
    height: 40px;
  }

  .restauracion .comparison-slider-input {
    left: -20px;
    width: calc(100% + 40px);
  }
}
.imagenes-antiguas .galeria,
.imagenes-actuales .galeria {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 15px;
}
.imagenes-antiguas .gelaria [class^="div"],
.imagenes-actuales .galeria [class^="div"] {
  overflow: hidden;
  position: relative;
}

.imagenes-actuales .galeria img,
.imagenes-antiguas .galeria img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0.75rem;
}

/* Lightbox Styles */
.mic-lightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  padding: 20px;
}

.mic-lightbox.active {
  display: flex;
}

.mic-lightbox-content {
  max-width: 90%;
  max-height: 90%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.mic-lightbox-img {
  max-width: 100%;
  max-height: 90vh;
  object-fit: contain;
  border-radius: 4px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
}

.mic-lightbox-close,
.mic-lightbox-prev,
.mic-lightbox-next {
  position: absolute;
  color: white;
  background: rgba(255, 255, 255, 0.1);
  border: none;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
  cursor: pointer;
  z-index: 10000;
  transition: background 0.3s ease;
  line-height: 1;
}

.mic-lightbox-close:hover,
.mic-lightbox-prev:hover,
.mic-lightbox-next:hover {
  background: var(--mic--var-primary);
}
.imagenes-actuales .galeria div,
.imagenes-antiguas .galeria div {
  border-radius: 0.75rem;
  overflow: hidden;
}
.imagenes-actuales .galeria img,
.imagenes-antiguas .galeria img {
  cursor: pointer;
  transition: transform 0.3s ease;
}

.imagenes-actuales .galeria img:hover,
.imagenes-antiguas .galeria img:hover {
  transform: scale(1.02);
}

.mic-lightbox-prev {
  left: 1rem;
}
.mic-lightbox-next {
  right: 1rem;
}
.mic-lightbox-close {
  top: 4rem;
  right: 2rem;
}

.contacto .hero {
  background-image: url("assets/img/valor-arqueologico.webp");
  padding-top: 4rem;
  position: relative;
  padding-bottom: 4rem;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 25rem;
}

footer#footer .info-footer a,
.contacto .informacion .info a {
  display: block;
  color: var(--mic--var-black);
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}
.contacto .informacion img {
  border-radius: 1rem;
}
.contacto .informacion a:hover {
  color: var(--mic--var-secondary);
  text-decoration: underline;
}
.contacto .form-wrapper .nf-field-element input[type="text"],
.contacto .form-wrapper .nf-field-element input[type="number"],
.contacto .form-wrapper .nf-field-element input[type="email"],
.contacto .form-wrapper .nf-field-element input[type="tel"],
.contacto .form-wrapper .nf-field-element textarea {
  border: none;
  background-color: var(--mic--var-primary-light);
  padding: 1rem;
  border-radius: 1rem;
}
.contacto .form-wrapper .nf-field-element input[type="text"]::placeholder,
.contacto .form-wrapper .nf-field-element input[type="number"]::placeholder,
.contacto .form-wrapper .nf-field-element input[type="email"]::placeholder,
.contacto .form-wrapper .nf-field-element input[type="tel"]::placeholder,
.contacto .form-wrapper .nf-field-element textarea ::placeholder {
  color: var(--mic--var-secondary);
}
.contacto .form-wrapper input[type="submit"] {
  background-color: var(--mic--var-primary);
  color: var(--mic--var-white);
  border: 1px solid var(--mic--var-primary);
  border-radius: 10px;
  text-transform: uppercase;
  font-weight: 100;
  padding: 0.75rem 1.5rem;
}
.contacto .form-wrapper input[type="submit"]:hover {
  background-color: var(--mic--var-white);
  color: var(--mic--var-primary);
}
.contacto .form-wrapper .checkbox-wrap input[type="checkbox"] {
  border-color: var(--mic--var-primary);
}
.checkbox-wrap a {
  color: var(--mic--var-primary);
  text-decoration: none;
}
.contacto .form-wrapper .checkbox-wrap a {
  color: var(--mic--var-black);
  text-decoration: none;
}
.contacto .form-wrapper .checkbox-wrap a:hover {
  color: var(--mic--var-secondary);
  text-decoration: underline;
}

.contacto .form-wrapper .nf-field-label .nf-label-span,
.contacto .form-wrapper .nf-field-label label {
  font-weight: 100;
}

.contacto .form-wrapper .nf-form-fields-required {
  margin-bottom: 1rem;
}
.contacto .mapa iframe {
  width: 100%;
  aspect-ratio: 16/9;
}
/* === Header === */
#masthead {
  z-index: 999 !important;
}

#masthead #nav-main img {
  width: 5rem;
}
#masthead #nav-main .isotipo {
  width: 3rem;
}
#masthead #nav-main .nav-link {
  font-size: 1.5rem;
  color: var(--mic--var-black);
  position: relative;
  transition: color 0.3s ease;
}

#masthead #nav-main .nav-link::before {
  content: "";
  position: absolute;
  width: 0;
  height: 2px;
  bottom: 0;
  left: 50%;
  background-color: var(--mic--var-secondary);
  transition: all 0.3s ease-in-out;
  transform: translateX(-50%);
}

#masthead #nav-main .nav-link:hover::before,
#masthead #nav-main .nav-link.active::before,
#masthead #nav-main .nav-link.current-menu-item::before,
#masthead #nav-main .nav-link.current_page_item::before {
  width: 100%;
}
#masthead .wpml-ls-item {
  margin-top: 2rem;
}
#masthead #nav-main .nav-link:hover {
  color: var(--mic--var-secondary) !important;
}

#masthead .nav-toggler {
  border: none;
  color: var(--mic--var-black);
}
/* === Footer === */
footer#footer .logo {
  width: 100%;
}
footer#footer .logos {
  border-bottom: 4rem solid var(--mic--var-primary);
}
footer#footer .info-footer img {
  max-width: 9rem;
}

.modal-wrapper {
  padding: 1rem 2rem 2rem;
}

.modal-content {
  border-radius: 2rem;
  border: none;
}

.modal-wrapper .nf-field-element input[type="text"],
.modal-wrapper .nf-field-element input[type="number"],
.modal-wrapper .nf-field-element input[type="email"],
.modal-wrapper .nf-field-element input[type="tel"],
.modal-wrapper .nf-field-element textarea {
  border: none !important;
  background-color: var(--mic--var-primary-light) !important;
  padding: 1rem !important;
  border-radius: 1rem !important;
  color: var(--mic--var-white) !important;
}

.modal-wrapper .nf-field-element input[type="text"]::placeholder,
.modal-wrapper .nf-field-element input[type="number"]::placeholder,
.modal-wrapper .nf-field-element input[type="email"]::placeholder,
.modal-wrapper .nf-field-element input[type="tel"]::placeholder,
.modal-wrapper .nf-field-element textarea::placeholder {
  color: var(--mic--var-white) !important;
  opacity: 0.8;
}

.modal-wrapper input[type="submit"] {
  background-color: var(--mic--var-primary);
  color: var(--mic--var-white);
  border: 1px solid var(--mic--var-primary);
  border-radius: 10px;
  text-transform: uppercase;
  font-weight: 100;
  padding: 0.75rem 1.5rem;
  transition: all 0.3s ease;
}

.modal-wrapper input[type="submit"]:hover {
  background-color: var(--mic--var-white);
  color: var(--mic--var-primary);
}

.modal-wrapper .nf-field-label .nf-label-span,
.modal-wrapper .nf-field-label label {
  font-weight: 100 !important;
}

.modal-wrapper .nf-form-content {
  padding: 0 !important;
}

/* === 404 === */
.torre.error-404 p,
.torre.error-404 a,
.torre.error-404 h1,
.torre.error-404 .h2 {
  position: relative;
  z-index: 2;
}
/* === Popup === */
.pum-container h2 {
  font-size: clamp(1.7rem, 4vw, 2rem);
  font-style: normal;
  font-weight: bold;
  color: var(--mic--var-black);
  margin-bottom: 2rem;
}
.pum-container strong {
  color: var(--mic--var-black);
}
.pum-container .btn-primary {
  background-color: var(--mic--var-primary);
  color: var(--mic--var-white);
  border: 1px solid var(--mic--var-primary);
  border-radius: 10px;
  text-transform: uppercase;
  font-weight: 100;
  margin-top: 2rem;
  padding: 0.75rem 1.5rem;
}
.pum-container .btn-primary:hover {
  background-color: var(--mic--var-white);
  color: var(--mic--var-primary);
}
.pum-close {
  width: 5rem;
  font-size: 1.5rem;
}

#pum-239 {
  z-index: 1000 !important;
}
/* === Archive === */

/* ==== MQ ==== */

/*sm*/

@media (min-width: 576px) {
  /* ==== Inicio ==== */
  /* --- Hero --- */

  /* ==== Páginas ==== */

  /* === Header === */

  /* === Footer === */

  /* === 404 === */

  /* === Single === */

  /* === Archive === */
}

/*md*/
@media (min-width: 768px) {
  /* ==== Inicio ==== */
  /* --- Hero --- */
  .comparison-handle {
    display: none;
  }
  /* ==== Páginas ==== */
  .formacion .formacion-complementaria .dos-cols {
    column-count: 2;
  }
  /* === Header === */
  #masthead #nav-main .nav-link {
    font-size: 1.2rem;
  }
  /* === Footer === */

  /* === 404 === */

  /* === Single === */

  /* === Archive === */
}

/*lg*/
@media (min-width: 992px) {
  /* ==== Inicio ==== */
  /* --- Hero --- */
  .hero {
    height: 75vh;
  }

  .inicio .hero .contador {
    font-size: 2.5rem;
  }
  /* --- Botón WhatsApp --- */
  .btn-whatsapp {
    position: fixed;
    top: 80%;
    bottom: 12%;
    left: 2rem;
    z-index: 999;
    background-color: transparent;
    width: 3rem;
    height: 3rem;
    display: flex;
    padding: 0;
    justify-content: center;
    align-items: center;
    transition: all 0.3s ease;
    border-top: unset;
  }

  .btn-whatsapp svg path {
    fill: var(--mic--var-white); /* Inicial */
    transition: fill 0.3s ease;
  }
  .btn-whatsapp.scrolled svg path {
    fill: #25d366; /* Verde WhatsApp */
  }
  .escuela .nuestra-escuela {
    padding-top: 4rem;
    padding-bottom: 8rem;
  }
  /* ==== Páginas ==== */
  .formacion .insercion-laboral .img-dcha {
    position: absolute;
    right: 0;
    top: 0;
    height: 80%;
    width: 50%;
    object-fit: cover;
    z-index: 0;
    border-radius: 0.75rem;
  }
  .formacion .insercion-laboral .tarjeta-insercion {
    flex-direction: row;
  }
  #nav-formaciones {
    top: 7.7rem;
  }
  .torre .objetivos .col-texto {
    background-color: var(--mic--var-white);
    position: relative;
    /* top: 12rem;
    padding-left: 3rem;
    padding-top: 7rem;
    right: 8rem; */
    border-radius: 1rem;
    /* width: 140%; */
  }
  .torre .objetivos .imagen-1 img {
    aspect-ratio: 5/6;
  }
  .torre .objetivos .imagen-2 img {
    aspect-ratio: 2/1;
  }
  .torre .metodologia {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  .torre .criterios::after {
    top: -10%;
    height: 120%;
  }
  .imagenes-actuales .galeria,
  .imagenes-antiguas .galeria {
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: repeat(4, 1fr);
    height: 600px;
  }
  .imagenes-actuales .galeria .div2,
  .imagenes-antiguas .galeria .div2 {
    grid-area: 1 / 4 / 3 / 6;
  }
  .imagenes-actuales .galeria .div3,
  .imagenes-antiguas .galeria .div3 {
    grid-area: 1 / 6 / 3 / 10;
  }
  .imagenes-actuales .galeria .div4,
  .imagenes-antiguas .galeria .div4 {
    grid-area: 3 / 4 / 5 / 8;
  }
  .imagenes-actuales .galeria .div5,
  .imagenes-antiguas .galeria .div5 {
    grid-area: 3 / 8 / 5 / 10;
  }
  .imagenes-actuales .galeria .div1,
  .imagenes-antiguas .galeria .div1 {
    grid-area: 1 / 1 / 5 / 4;
  }
  .imagenes-actuales .galeria .div6,
  .imagenes-antiguas .galeria .div6 {
    grid-area: 1 / 10 / 5 / 13;
  }

  .contacto .mapa iframe {
    aspect-ratio: 26/9;
  }
  .mic-lightbox-close {
    right: 4rem;
  }
  .mic-lightbox-prev {
    left: 8rem;
  }
  .mic-lightbox-next {
    right: 8rem;
  }
  .coverflow {
    padding-bottom: 6rem;
  }
  /* === Header === */
  #masthead #nav-main .nav-link:hover::before,
  #masthead #nav-main .nav-link.active::before,
  #masthead #nav-main .nav-link.current-menu-item::before,
  #masthead #nav-main .nav-link.current_page_item::before {
    width: 80%;
  }
  #masthead .wpml-ls-item {
    margin-top: unset;
    margin-left: 2rem;
  }
  /* === Footer === */

  /* === 404 === */

  /* === Single === */

  /* === Archive === */
}

/*xl*/
@media (min-width: 1200px) {
  /* ==== Inicio ==== */
  /* --- Hero --- */
  .hero-content::before {
    content: "";
    position: absolute;
    height: 68%;
    width: 2px;
    background-color: var(--mic--var-white);
    top: 10%;
    left: 3%;
    z-index: 2;
  }
  /* ==== Páginas ==== */

  /* === Header === */

  /* === Footer === */

  /* === 404 === */

  /* === Single === */

  /* === Archive === */
}

/*xxl*/
@media (min-width: 1400px) {
  /* ==== Inicio ==== */
  /* --- Hero --- */

  /* ==== Páginas ==== */
  .torre .objetivos .col-texto {
    background-color: var(--mic--var-white);
    position: relative;
    top: 12rem;
    padding-left: 3rem;
    padding-top: 7rem;
    right: 8rem;
    border-radius: 1rem;
    width: 140%;
  }
  /* === Header === */

  /* === Footer === */

  /* === 404 === */

  /* === Single === */

  /* === Archive === */
}
