

/*gift de la narratiiva*/
.story-gif__img{ width:100%; height:70vh; object-fit:cover; }

:root{
  /* Paleta */
  --c-primary:#1aa19a;
  --c-secondary:#e34a7f;
  --c-dark:#4B4F54;
  --c-text:#333;
  --c-white:#fff;
  --lh:1.6;

  /* Espaciado y radios */
  --sp-1:4px;  --sp-2:8px;  --sp-3:12px; --sp-4:16px; --sp-5:24px; --sp-6:32px;
  --radius:6px;

  /* Transiciones */
  --easing:cubic-bezier(.4, .2, .2, 1);
  --t-fast:.18s; --t-med:.3s;
}

*,
*::before,
*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  margin:0;
  line-height:var(--lh);
  color:var(--c-text);
  background-image:url("../img/fondo.png");  /* Revisar */
  background-size:cover;
  background-attachment:fixed;
  background-repeat:no-repeat;

}

/* Medios */
img, picture, video, canvas, svg{ display:block; max-width:100%; }

/* Links*/
a:focus-visible,
button:focus-visible{
  outline:2px solid var(--c-primary);
  outline-offset:2px;
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important; }
}

/*background fijo */
@media (max-width: 768px){
  body{ 
    background-attachment:scroll;            
    background-size:auto 100%;                
    background-position: top center;         
  }
}

/* Header  */
header{
  background:var(--c-white);
  padding: var(--sp-2) 0;
}
header > .container{
  max-width: 92%;
  margin: 0 auto;
  padding-left: 0;
  padding-right: 0;
}
@media (min-width: 1200px){
  header > .container{ max-width: 88%; }
}
header .navbar{
  display:flex;
  align-items:center;
  justify-content:center;
}
header .navbar .navbar-collapse{ flex-grow:0; }
header .logo{ height:30px; width:auto; }

/* Menu */
.navbar-nav{
  margin-left:0;
  display:flex;
  gap:20px;
}
.navbar-nav .nav-link{
  color:#000;
  text-decoration:none;
  font-weight:bold;
  padding:8px 12px;
  border-radius: var(--radius);
  transition: background var(--t-med) var(--easing), color var(--t-med) var(--easing);
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus-visible{
  background:#3d3f41;
  color:var(--c-white);
}
.navbar-nav .nav-link.active,
.navbar-nav .nav-link[aria-current="page"]{
  background:#3d3f41;
  color:var(--c-white);
}

/* Línea de colores */
.linea-colores{ width:100%; height:10px; background:var(--c-dark); }

/* Banner con logo */
.image-banner{
  position:relative;
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  overflow:hidden;
}
.image-banner > img{
  width:100%;
  height:auto;
}
.image-banner .content{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding: var(--sp-5);
}
.image-banner .content .logo{
  max-width: 90%;
  height:auto;
  filter: brightness(0) invert(1);
}

/*  Seccion iconos  */
.icon-link{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-decoration:none;
  color:var(--c-text);
  transition: color var(--t-fast) var(--easing);
}
.icon-link:hover,
.icon-link:focus-visible{ color:#007bff; }

/* Iconos */
.icon-img{
  width:85%;
  height:auto;
  object-fit:contain;
  transition: transform var(--t-med) cubic-bezier(.4,2,.6,1);
  margin-bottom:2%;
}
.icon-link:hover .icon-img,
.icon-link:focus-visible .icon-img{
  transform: scale(1.12);
}


/*  Footer  */
footer{
  background: var(--c-dark);
  color: var(--c-white);
  padding: 20px;
  text-align:center;
}
footer p{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin:0;
}
footer span{
  cursor:pointer;
  position:relative;
  color: var(--c-white);
  transition: color var(--t-med) var(--easing);
}
footer span::after{
  content:'';
  position:absolute;
  width:0;
  height:2px;
  bottom:-4px;
  left:0;
  background: var(--c-white);
  transition: width var(--t-med) var(--easing);
}
footer span:hover,
footer span:focus-visible{ color:#8BDC65; }
footer span:hover::after,
footer span:focus-visible::after{ width:100%; }

.underline-accent{
  position:relative; display:inline-block;
}
.underline-accent::after{
  content:"";
  position:absolute;
  left:0; bottom:-6px;
  width:6em;
  max-width: 100%;
  height:4px;
  background: var(--c-primary);
  border-radius:4px;
}

/* Ajustes generales  */
@media (max-width:768px){
  .image-banner img{ height:auto; }
}

/*  animacion tarjetas y tamaño*/
.flip-inner{
  transition: transform .6s;
  transform-style: preserve-3d;
}
.flip:hover .flip-inner{
  transform: rotateY(180deg);
}
.flip-face{
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.flip-back{
  transform: rotateY(180deg);
}

.flip.ratio{
  width: 80%;
  margin-inline: auto;
}




/* Carrusel de Indicadores  */

.banner-carousel .slides{
  display: flex;
  transition: transform 0.5s ease-in-out;
  will-change: transform;
}


.banner-carousel .slides .slide{
  min-width: 0;
  flex: 0 0 20%;
  max-width: 20%;
  box-sizing: border-box;
}

/* Movil */
@media (max-width: 575.98px){
  .banner-carousel .slides .slide{
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* Imagen dentro del ítem  */
.banner-carousel .slides .slide img{
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 12px;
}

/* Contenedor y flechas */
.banner-carousel .carousel{
  position: relative;
  overflow: hidden;
  padding-inline: clamp(8px, 1.5vw, 24px); 
}

.banner-carousel .carousel-btn{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 48px;
  height: 48px;
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.45);
  color: #fff;
  cursor: pointer;
}

.banner-carousel .carousel-btn.prev{ left: clamp(8px, 1.5vw, 24px); }
.banner-carousel .carousel-btn.next{ right: clamp(8px, 1.5vw, 24px); }

@media (min-width: 992px){
  .banner-carousel .carousel-btn{
    width: 54px;
    height: 54px;
    background: rgba(0,0,0,.35);
  }
}



