html {
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
}
body {
  background-color: #000;
  color: #fff;
  font-family: "Schibsted Grotesk", sans-serif;
  font-size: 0.8rem;
}
.schibsted-grotesk-<uniquifier> {
  font-family: "Schibsted Grotesk", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

/*---------------BACKGROUND---------------*/
/*--BG VIDEO--*/
#bg-video {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.5s ease;
  pointer-events: none;
  z-index: -3;
}
/*--IF VIDEO 0--*/
body.video-0 .boton-ver-trabajos {
  color: #4fc3ff;
}
body.video-0 .color-servicios {
  color: #4fc3ff;
}
body.video-0 .boton-redes:hover {
  color: #4fc3ff !important;
}
/*--IF VIDEO 1--*/
body.video-1 .boton-ver-trabajos {
  color: #a8a820;
}
body.video-1 .color-servicios {
  color: #a8a820;
}
body.video-1 .boton-redes:hover {
  color: #a8a820 !important;
}
/*--BG TRAMA--*/
.background-trama {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  background-image: url("trama-25.png");
  background-color: rgba(5, 5, 5, 0.6);
  background-repeat: repeat;
  overflow: hidden;
  z-index: -1;
}
/*---------------END BACKGROUND---------------*/

/*---------------GENERAL---------------*/
.fs-7 {font-size: 0.90rem;}
.fs-8 {font-size: 0.80rem;}
.fs-9 {font-size: 0.70rem;}
.fs-10 {font-size: 0.60rem;}
.pe-6 {padding-right: 20px;}
.arrow-left-1 {font-weight: bolder; margin-right: 25px;}
h6 > a {transition: color 0.3s ease;}
.arrow-left-2 {font-weight: bolder; margin-right: 12px;}
/*---------------END GENERAL---------------*/

/*---------------ACCORDION---------------*/
.accordion-title-left {
  display: inline-block;
  width: 260px;
  font-weight: bold;
}
.accordion-title-right {font-size: 0.80rem;}
@media (min-width: 993px) {
    .accordion-title-right {font-size: 0.90rem; /* desde 768px en adelante */}
}
.accordion-button {
  background-color: transparent !important;
  padding-top: 0.2rem;
  padding-bottom: 0.6rem;
  box-shadow: none !important;
  color: #fff; /* usa el color de texto de la página */
  font-size: 0.9rem;
  border: none !important; /* quita cualquier borde */
  box-shadow: none !important; /* quita la sombra */
}
.accordion-button::after {
  display: none !important; /* oculta el pseudo-elemento (flecha) */
}
.accordion-button:focus {
  box-shadow: none !important;
  background-color: transparent !important;
}
.accordion-button.collapsed {
  background-color: transparent !important;
}
.accordion-button:not(.collapsed) {
  background-color: transparent !important; /* sigue transparente */
  color: #fff; /*color de texto del botón cuando se expande*/
  box-shadow: none; /* sin sombra */
}
.accordion-item {
    border: none !important;        /* quita el borde del contenedor */
    background-color: transparent !important;
}
/* Botón transparente siempre */
.custom-accordion-btn {
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
/* Cuerpo con color al abrir */
a.custom-accordion-body {
  background-color: rgba(0, 0, 0, 0.4); /* negro al 40% */
  color: white; /* texto */
  margin-bottom: 10px;
  margin-top: 0px;
  padding: 20px 40px;
  text-align: justify;
  display: block;
  unicode-bidi: isolate;
  text-decoration: none;
}
a.custom-accordion-body p {margin-bottom: 0.4rem;}
@media (max-width: 575px) {
  a.custom-accordion-body {padding: 20px 30px;}
}
.custom-accordion-body .boton-ver-trabajos {
  color: #a7bbe0;
  margin-left: 20px;
  font-size: 0.8rem;
  font-weight: bold;
}
@media (max-width: 575px) {.custom-accordion-body .boton-ver-trabajos.menos-margen {margin-left: 15px;}
}
/*----------COUNTDOWN OPEN MODAL----------*/
/* contenedor */
.modal-countdown {
  width: 100%;
  height: 4px;
  background: rgba(255,255,255,0.15);
  overflow: hidden;
  margin: 0 0 10px 0;
}
/* barra */
.modal-countdown-bar {
  width: 100%;
  height: 100%;
  background: #ffffff;
  transform-origin: left center;
  transform: scaleX(1);
}
/* animacion */
.modal-countdown-bar.animate {
  animation: accordionCountdown 5s linear forwards;
}
/* keyframes */
@keyframes accordionCountdown {
  from {
    transform: scaleX(1);
  }
  to {
    transform: scaleX(0);
  }
}
.modal-countdown.hidden {
  opacity: 0;
  visibility: hidden;
  display: none;
}
/*----------END COUNTDOWN OPEN MODAL----------*/
/*---------------END ACCORDION---------------*/

/*---------------MODAL---------------*/
body.modal-open {
  overflow: hidden !important;
  padding-right: 0 !important;
}
.modal {
  overflow: hidden;
}
.modal-body {
  overflow: hidden;
}
.modal-fullscreen {
  overflow: hidden;
}
/*--boton close modal--*/
.custom-close {
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  background-color: rgb(216, 216, 216);
  transition: all 0.3s ease;
  transform: scale(1.2);
  box-shadow: 0 4px 15px rgba(0,0,0,0.5);
  margin: 1.4rem!important;
  position: absolute!important;
  right: 0!important;
  top: 0!important;
  z-index: 10;
}
/*--boton close modal hover--*/
.custom-close:hover {
  background-color: rgba(255, 255, 255, 1);
  transform: scale(1.35);
}
/*----------END MODAL----------*/

/*---------------CAROUSEL---------------*/
/* Contenedor swiper */
.mySwiper {
  position: relative;
  width: 100%;
}
/* Botones prev next */
.custom-control {
  position: absolute;
  margin-top: 0;
  top: calc(50% - 40px);
  left: auto;
  right: auto;
  bottom: 0;
  width: 40px;
  height: 80px;
  background: rgba(255, 255, 255, 0.4);
  display: flex;
  align-items: flex-end; /* flecha hacia abajo */
  justify-content: center;
  transition: background 0.3s ease;
  z-index: 10;
}
.custom-control:hover {
  background: rgba(255, 255, 255, 0.7);
}
/* Ajustar flechas Swiper */
.swiper-button-prev::after,
.swiper-button-next::after {
  font-size: 20px;
  font-weight: bold;
  color: black;
  position: static;   /* quitamos el top:50% por defecto */
  transform: none;    /* evitamos centrado vertical */
  margin: 0;          /* sin desplazamiento */
  line-height: 80px;
}
/* Izquierda */
.swiper-button-prev {
  left: 0;
  border-radius: 0 10px 10px 0;
  box-shadow: 0 4px 15px rgba(0,0,0,0.5);
}
/* Derecha */
.swiper-button-next {
  right: 0;
  border-radius: 10px 0 0 10px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.5);
}
/* Prevenir resaltado azul de imágenes */
.mySwiper img {
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: none; /* si no necesitás clic en imagen */
}
.mySwiper .swiper-slide img {
  width: auto;
  height: 90vh;
  max-width: 100%;
  object-fit: contain;
}
@media (max-width: 575px) {
  .mySwiper .swiper-slide img {/*NEW*/
    width: auto;
    height: 95vh;
    max-width: 100%;
    object-fit: contain;
  }
}
/* Ocultamos inicialmente */
.mySwiper {
  opacity: 0;
  transition: opacity 0.3s ease;
}
.mySwiper.swiper-initialized {
  opacity: 1;
}
/* TRANSPARENCIAS NEXT Y PREV */
/* TODAS */
@media (min-width: 768px) {
.mySwiper .swiper-slide {
  transition:
    filter 0.5s ease,
    transform 0.5s ease;
  filter: brightness(0.45);
  transform: scale(0.82);
}
/* SLIDE CENTRAL */
.mySwiper .swiper-slide-next {
  filter: brightness(1);
  transform: scale(1);
}
 }
.mySwiper .swiper-slide {
  display: flex;/*new*/
  justify-content: center;/*new*/
  align-items: center;/*new*/
}
/*-------------END CAROUSEL-------------*/

/*----------WHATSAPP BTN----------*/
.whatsapp-btn {
  background-color: #000; /* negro */
  color: #fff; /* icono blanco */
  transition: background-color 0.3s;
}
.whatsapp-btn:hover {
  background-color: #25D366; /* verde WhatsApp */
  color: #fff; /* icono sigue blanco */
}
/*----------END WHATSAPP BTN----------*/

/*------------BIO------------*/
.custom-bio-pic {
  background-color: rgba(0, 0, 0, 0.4); /* negro al 40% */
  margin: 0;
  padding: 40px 0 40px 60px;
  unicode-bidi: isolate;
  text-decoration: none;
}
.custom-bio-pic img {
  width: 100%;
}
.custom-bio-body {
  background-color: rgba(0, 0, 0, 0.4); /* negro al 40% */
  color: white;           /* texto */
  margin: 0;
  padding: 50px 80px 40px 70px;
  text-align: justify;
  display: block;
  unicode-bidi: isolate;
  text-decoration: none;
}
.custom-bio-body p {
  margin-bottom: 0.4rem;
}
@media (max-width: 991px) {
  .custom-bio-body {
    padding: 40px;
  }
  .custom-bio-pic {
    padding: 40px 40px 0 40px;
  }
  .custom-bio-pic img {
    width: 40%;
  }
}
@media (max-width: 575px) {
  .custom-bio-body {
    padding: 40px;
  }
  .custom-bio-pic {
    padding: 40px 40px 0 40px;
  }
  .custom-bio-pic img {
    width: 80%;
  }
}
.oculto {
  display: none;
}
#mostrarDiv img {
  cursor: pointer;
}
/*----------END BIO----------*/