/*====================================*/
/* RESET CSS */
/*====================================*/
/* Box sizing rules */
*,
*::before,
*::after {
    box-sizing: border-box;
    font-family: "brother-1816", sans-serif;
    
    font-style: normal;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
    margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role='list'],
ol[role='list'] {
    list-style: none;
}

/* Set core root defaults */
html{
    scroll-behavior: smooth;
}
html:focus-within {
    scroll-behavior: smooth;
}

/* Set core body defaults */
body {
    min-height: 100vh;
    font-size:16px;
    text-rendering: optimizeSpeed;
    line-height: 1.5;
}

.yellow{
    background-color: var(--background-yellow);
}

.black{
    background-color: var(--background-black);
    color:#fff;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
    text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
    max-width: 100%;
    display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
    font: inherit;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
    html:focus-within {
    scroll-behavior: auto;
}

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
    }
}

.container{
    width:70vw;
    margin:0 auto;
}

a{
    color:#fff
}

/*====================================*/
/* Custom properties*/
/*====================================*/
:root{
    --background: rgba(17, 17, 17, 0.8);
    --background-green: rgb(30, 94, 94, 0.8);
    --background-red:rgb(240, 129, 114, 0.8);
    --background-red-fcea:#F08172;
    --slide-background: #E7E1DD;
    --background-yellow: #FDCC39;
    --background-black: #121212;
    --background-white: #F5F5F5;
    --color-link: #138978;
    --color-paso-1: #E58F31;
    --color-paso-2: #18A999;
    --color-paso-3: #F05D23;
    --padding-slide: 1.2rem;
    --font-size-small: 14px;
    --font-size-big: 18px;
}


/*====================================*/

/*Navbar*/

.logo{
    max-width:200px;
    padding: 1.2rem 0 1.2rem 1.2rem;
}

header{
    background: var(--background-yellow);
    text-align: center;
    position:fixed;
    height: 80px;
    width:100%;
    z-index: 100;
}

nav{
    position:absolute;
    text-align: right;
    top:100%;
    right:0;
    background: var(--background-yellow);
    width:100%;
    transform:scale(1, 0);
    transform-origin: top;
    transition: transform 400ms ease-in-out;
}

nav ul{
    margin:0;
    padding:0;
    list-style: none;
}

nav li{
    margin-bottom: 1em;
    margin-right: 1em;
}

nav a{
    color:#2B2B2B;
    text-decoration: none;
    font-size: 1.15rem;
    opacity: 0;
    transition: opacity 150ms ease-in-out;
}

nav a:hover{
    color:rgb(102, 3, 0);
}

#menu-button{
    background-color: var(--background-yellow);
    border: 0;
}

.nav-toggle{
    display:none;
}

.nav-toggle-label{
    position:absolute;
    top:0;
    right:1rem;
    margin-right:1em;   
    height: 100%;
    display:flex;
    align-items: center; 
}

.barra{
    font-size: 42px!important;
    color: #2B2B2B;
    font-weight: 700!important;
    cursor: pointer;
}

nav {
    transform: scale(1, 0);
    transform-origin: top;
    transition: transform 400ms ease-in-out;
}

nav.nav-open {
    transform: scale(1, 1);
}

nav.nav-open a {
    opacity: 1;
    transition: opacity 250ms ease-in-out 250ms;
}

header.scrolled{
    background-color: #f08172 !important;
    transition: background-color 200ms linear;
}

/*=fin navbar=*/

.fondo-amarillo{
    background-color: var(--background-yellow);
}

/*====Hero====*/

.hero{
    height: 70vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 1.6rem;
    font-weight: 800;
    padding-top: 100px;
}

.hero p{
    display: flex;
    justify-content: flex-end;
}
.titulo-hero{
    line-height: 2rem;
}

/*=================*/
/*=====Carousel=====*/

.carousel-container {
    display: flex;
    overflow: hidden;
    position: relative;
    margin: 0 auto;
    width: 70vw;
    height: calc(100vh - 90px); /* La mitad de la pantalla menos la mitad del navbar */
    padding-top: 90px; /* Mismo espacio que el navbar */
    padding-bottom: 20px; /* Para equilibrar visualmente */
    color:var(--background-blue);
}

.carousel-track {
    display: flex;
    transition: transform 0.3s ease-in-out;
    will-change: transform;
}

.carousel-slide {
    position:relative;
    width: 70vw;
    height: auto;
    margin: 0 auto;
    overflow-y: auto;
    
}

.carousel-controls {
    position: absolute;
    top: 50%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    transform: translateY(-50%);
    pointer-events: none;
}

.carousel-button {
    color: var(--background-blue);
    border: none;
    padding: 0.5rem 1rem;
    cursor: pointer;
    font-size: 2rem;
    border-radius: 4px;
    background-color: rgba(231, 225, 221, 0.5);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    pointer-events: all;
}

.carousel-container:focus {
    outline: 2px dashed #FDCC39;
    outline-offset: 4px;
}
/*=================*/
/*=====Slides=====*/

.container-grid{
    margin-bottom:2rem;
}


.slide-content{
    display:flex;
    flex-direction: column;
}

.slide-titulo h2{
    margin-bottom:3rem;
}
.grid-normal{
    margin: 2rem 0 2rem 0;
}

.grid-big p{
    font-size:1.3rem;
}

.grid-big img{
    margin-top: .5rem;
}

.mano-container {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}

.mano-vertical {
    display: block;
    max-width: 150px;
    width: auto;
    height: 200px;
}

.mano-horizontal{
    height: 100px;
}

.mano-horizontal-2{
    height: 200px;
}

.mano-extendida{
    height: 100px;
}
/*==================*/

/*===========Slides indicators===========*/

.carousel-indicators {
    overflow-x: auto;
    white-space: nowrap;
    width: 100%;
    gap:1rem;
    padding: 0.5rem 1rem;
    justify-content: flex-start;
    scrollbar-width: none;
}

.carousel-indicators::-webkit-scrollbar {
    display: none;
}

.carousel-indicators .indicator {
    flex: 0 0 auto;
    width: 100px;
    padding: 0.4rem 1.2rem;
    background-color: #FDCC39; /* Amarillo */
    color: #1D1D1B; /* Negro profundo */
    font-weight: bold;
    font-size:.7rem;
    border-radius: 10px;
    border: 2px solid transparent;
}

.carousel-indicators .indicator.active {
    background-color: transparent;
    color: #FDCC39; /* Texto amarillo */
    border-color: #FDCC39; /* Borde amarillo */
}

.slide-contenido,
.grid-2,
.grid-3,
.grid-2-right {
    height: auto;
}

/*====================================*/

/*==============PREGUNTAS FRECUENTES===============================*/

.faq-section {
    padding-top: 7rem;
}

.faq-title{
    font-size:3rem;
    margin-bottom:2rem;
}

.faq-item {
    margin-bottom: 1rem;
    border-bottom: 1px solid #ccc;
}

.faq-question {
    width: 100%;
    text-align: left;
    font-weight: bold;
    font-size: 1rem;
    background: none;
    border: none;
    padding: 1rem 0;
    cursor: pointer;
}

.faq-answer {
    overflow: hidden;
    height: 0;
    font-size:.8rem;
    transition: height 0.4s ease;
    display: none; /* se muestra por JS */
}



/*==============================================*/

/*===============MATERIALES=================*/

.materiales{
    padding-top:7rem;
}

.materiales-titulo{
    font-size:2rem;
    margin-bottom:1rem;
}

.materiales-links{
    display: flex;
    flex-direction: column;
    gap:2rem;
}

.cuadro{
    display: flex;
    border: 2px solid #2B2B2B;
    height: 150px;
    flex-direction: column;
    justify-content: space-between;
    padding: 1rem;
    border-radius: 20px;
}

.descarga{
    background-color: #2B2B2B;
    color: #fff;
    border-radius: 20px;
    border: #2B2B2B;
    text-decoration: none;
    padding: .4rem;
    text-align: center;
}

.descarga a{
    color:#fff;
    text-decoration: none;
}

.imagen-mano{
    width:50%;
}
/*=================================================*/
/*=====================NOTICIAS=====================*/

.noticias{
    
    height: 100vh;
}

.carousel-indicators.puntos {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 1rem;
    padding: 0;
}


.carousel-indicators.puntos .indicator {
    width: 12px;
    height: 12px;
    background-color: #000;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    opacity: 0.6;
    transition: opacity 0.3s, transform 0.3s;
  text-indent: -9999px; /* Asegura que no se vea texto aunque lo haya */
  display: inline-block; /* Asegura que respete ancho/alto */
  padding: 0; /* Elimina espacio interno */
}

.carousel-indicators.puntos .indicator.active {
    background-color: #DCFC56;
    opacity: 1;
    transform: scale(1.3);
}

.leer-mas{
    display: flex;
    background-color: #FDCC39;
    color: #222;
    border-radius: 20px;
    border: #2B2B2B;
    justify-content: center;
    text-decoration: none;
    padding: .8rem;
    width: 200px;
}

.leer-mas a{
    color:#222;
    text-decoration: none; 
}

/*=====================================================*/
/*=====Media Queries=====*/

@media (min-width: 768px) {
body{
    font-size: 18px
}
header{
    display:flex;
    align-items: center;
    justify-content: space-between;
}
/*--Navbar--*/
nav{
    all: unset;
    position:static;
    display:flex;
    align-items: center;
}

nav ul{
    display:flex;
    align-items: center;
}

nav li{
    margin-left:3em;
    margin-bottom: 0;
}

nav a{
    opacity:1;
}
.logo{
    max-width: 100%;
}
.nav-toggle-label{
    display:none;
}
/*---------*/

/*----Hero----*/
.hero{
    font-size: 6rem;
    line-height: 14rem;
}
/*----SLIDES----*/

.carousel-slide{
    overflow: hidden;
}

.slide-contenido{
    display:flex;
    justify-content: center;
    flex-direction: column;
    height: 90vh;
}

.slide-titulo h2{
    font-size:5rem;
    margin-bottom:4rem;
}

.grid-big {
    position: relative;
}

.mano-container {
    position: absolute;
    top: -80px; /* sobresale del slide */
    left: 0;
    z-index: 10;
}

.mano-vertical {
    height: 60vh;
    width: auto;
}
.mano-horizontal{
    height: auto;
}

.mano-horizontal-2{
    height: auto;
}

.mano-extendida{
    width:auto;
    height: auto;
}
.grid-2{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    justify-content: center;
    align-items: center;
    height: 90vh;
    max-height: 100%;
}

.grid-3{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap:3rem;
    height: 40vh;
    max-height: 100%;
    width: 70vw;
}
.grid-2-right{
    display:grid;
    grid-template-columns: repeat(2, 1fr);
    gap:3rem;
    width:70vw;
    height: 40vh;
    max-height: 100%;
}
.carousel-indicators {
    position: fixed;
    bottom: 10px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    gap: 5rem;
    z-index: 99;
    padding: 0.5rem;
    background: transparent;
    width: fit-content;
    margin: 0 auto;
}

.carousel-indicators .indicator {
    border: 2px solid transparent;
    background-color: #FDCC39; /* Amarillo */
    color: #1D1D1B; /* Negro profundo */
    padding: 0.4rem 0.9rem;
    font-weight: bold;
    border-radius: 10px;
    cursor: pointer;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    width: 150px;
}

.carousel-indicators .indicator.active {
    background-color: transparent;
    color: #FDCC39; /* Texto amarillo */
    border-color: #FDCC39; /* Borde amarillo */
}

/*=============Preguntas frecuentes================*/
.faq-title{
    font-size:5rem;
    margin-bottom: 3rem;
}
.faq-question{
    font-size: 1.4rem;
}

.faq-answer{
    font-size:1rem;
}
/*=====================================================*/
/*======================Materiales======================*/
.materiales-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
.materiales-links{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}

.materiales-titulo {
    font-size: 4rem;
    margin-bottom: 1rem;
}

.cuadro{
    height: 250px;
}

/*===================Noticias=============================*/

.slide-noticia{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    align-items: center;
    height: 80vh;
}

/*=====================================================*/

}

@media (min-width:768px) and (max-width: 1400px) {
    .hero{
        font-size:4rem;
        width:75vw;
    }

    .carousel-container{
        width:75vw;
    }
    nav li{
        margin-left:1em;
    }
    .slide-titulo h2{
        font-size:2rem;
    }

    .carousel-slide{
        width:75vw
    }

    .grid-3{
        gap:1.5rem;
    }
}