html {
    scroll-behavior: smooth;
}

/*------------------SECTION_herramientaBusqueda----------------------*/

.contenedor_herramienta_busqueda {
    background-color: #FFFFFF;
    padding: 0%;
}

.contenedor_cuerpo_herramienta_busqueda{
    width: 1220px;
    border-top: 0.5px solid #707070;
    border-bottom: 0.5px solid #707070;
    padding: 8px 0%;
    margin: 0% auto;
}

/* Menu Version desktop */

.version_desktop_herramienta_busqueda {
    display: block;
}

.fila_busqueda {
    gap: 1rem; /* Espacio entre textos y boton */
    justify-content: space-between;
    position: relative;
}

/* Texto izquierda */
.contenedor_categorias_herramienta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 22px; /* Espacio entre los dos textos */
}

.categoria_busqueda {
    font-family: "OpenSans-Regular";
    font-size: 14px;
    color: #444444;
    margin: auto;
    position: relative;
    text-decoration: none;
}

.categoria_busqueda:hover {
    color: #444444;
    text-decoration: none;
}

/* Estado activo */
.categoria_busqueda.categoria_activa {
    font-weight: bold;
    color: #414141;
}

/* Linea inferior */
.categoria_busqueda::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -14px;
    width: 0;
    height: 2px;
    background-color: #444444;
    transition: width 0.3s ease;
}

.categoria_busqueda.categoria_activa::after {
    width: 100%;
}

/* Boton derecha */
.btn_herramienta_busqueda{
    background-color: #F7F7F7;
    color: white;
    font-family: "Pier_Sans_Reg";
    cursor: pointer;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 300;
    width: 52px;
    height: 32px;
    text-decoration: none;
    padding: 0px 10px 2px 10px;
    border: none;
}

.btn_herramienta_busqueda:hover{
    cursor: pointer;
    text-decoration: none;
}

.btn_herramienta_busqueda svg path {
    stroke: #444444;
    stroke-width: 0.6;
}

/* Barra de busqueda oculta */
.buscador_overlay {
    display: none;
    height: 32px;
    width: 50%;
    margin-left: 50%;
    background: #F7F7F7;
    border-radius: 30px;
    padding: 6px 16px;
    align-items: center;
    gap: 16px;
    border: 1px solid #444444;
}

.boton_buscar {
    border: none;
    background: none;
    flex-shrink: 0;
    padding: 0;
    display: flex;
    align-items: center;        /* centra vertical */
    justify-content: center;    /* centra horizontal */
    width: 20px;                /* ajusta si quieres */
    height: 20px;
    cursor: pointer;
}

.input_busqueda {
    color: #444444;
    font-family: "OpenSans-Regular";
    font-size: 16px;
}

.buscador_overlay input {
    border: none;
    outline: none;
    background: transparent;
    width: 100%;
    font-size: 14px;
}

.buscador_overlay input::placeholder {
    color: #C1C1C1;
    opacity: 1;
}

.btn_cerrar {
    background: none;
    border: none;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.icono_cerrar {
    display: block;   /* evita saltos raros */
}

/* Menu Version tableta y movil */

.version_tableta_herramienta_busqueda {
    display: none;
}

.contenedor_categorias_herramienta2 {
    display: flex;
    align-items: center;     /* centra verticalmente */
    justify-content: center; /* separa texto y botón */
    width: 100%;
    z-index: 10;
    gap: 0px;
}

.categoria_busqueda2 {
    font-family: "OpenSans-Regular";
    font-size: 16px;
    font-weight: bold;
    color: #444444;
    text-align: center;
}

/* Boton derecha */
.btn_herramienta_busqueda_tableta {
    background-color: transparent;
    font-family: "Pier_Sans_Reg";
    cursor: pointer;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 300;
    width: 52px;
    height: 32px;
    text-decoration: none;
    padding: 5px 10px;
    border: none;
}

.btn_herramienta_busqueda_tableta img {
    transition: transform 0.3s ease;
}

.btn_herramienta_busqueda_tableta.rotado img {
    transform: rotate(45deg);
}

/* Dropdown del menu */
.no-scroll {
    overflow: hidden;
    height: 100vh;
}

#dropdownMenuTableta {
    overflow-y: auto;
    touch-action: pan-y; /* permite scroll vertical interno */
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: #FFFFFF;
    width: 100%;
    overflow: auto;
    z-index: 5;
    margin-top: 9.4px;
    height: auto;
}

.dropdown-content.show {
    display: flex;
}

/* Este contenedor se encarga de las opciones centradas */
.contenedor_menu_centrado {
    display: flex;
    justify-content: center;
    padding-bottom: 54px;
}

.opciones_menuTableta {
    width: 33%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.opcion_menu_tableta {
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    width: 100%;
    border-bottom: 1px solid #D6D6D6;
    font-family: "OpenSans-Regular";
    font-size: 16px;
    color: #444444;
}

.opcion_menu_tableta:hover {
    color: #444444;
}

/* Barra de busqueda */
.buscador_tableta {
    height: 32px;
    width: 33%;
    background: #F7F7F7;
    border-radius: 30px;
    padding: 6px 16px;
    margin: 24px auto 64px auto;
    align-items: center;
    display: flex;
    transition: width 0.3s ease;
    gap: 16px;
}

.boton_buscar2 {
    border: none;
    background: none;
    flex-shrink: 0;
    padding: 0;
    display: flex;
    align-items: center;        /* centra vertical */
    justify-content: center;    /* centra horizontal */
    width: 20px;                /* ajusta si quieres */
    height: 20px;
    cursor: pointer;
}

.buscador_tableta input {
    border: none;
    outline: none;
    background: transparent;
    width: 100%;
    font-size: 14px;
}

.buscador_tableta input::placeholder {
    color: #C1C1C1;
    opacity: 1;
}

.buscador_tableta.expandido {
    width: 43%;
    border: 1px solid #444444;
    transition: width 0.3s ease;
}

.buscador_tableta.expandido input {
    width: 93%;
    transition: width 0.3s ease;
}

.cerrar_menu_tableta {
    width: 100%;
    margin: 0 auto;
    display: flex; 
    justify-content: center;
    align-items: center; 
    padding: 24px 0; 
}

.cerrar_menu {
    font-family: "OpenSans-Regular";
    font-size: 16px;
    color: #444444;
    background: none;
    border: none;
    padding-bottom: 5px;
    border-bottom: 2px solid #444444;
    cursor: pointer;
}

.overlay-categorias {
    position: absolute;
    left: 0;
    width: 100%;
    background: rgba(68, 68, 68, 0.8);
    display: none;
    z-index: 4;
}

.show {display: block;}

/* ---------- Pantallas grandes y medianas --------- */
@media only screen and (max-width: 1600px){
    .contenedor_cuerpo_herramienta_busqueda{
         width: 975px;
    }
}

@media only screen and (max-width: 1022px){

    .version_desktop_herramienta_busqueda,
    .btn_herramienta_busqueda {
        display: none;
    }

    .version_tableta_herramienta_busqueda {
        display: block;
    }

    .fila_busqueda {
        justify-content: center;
        padding: 0%;
    }

    .btn_suscribete_banner {
        margin: 0%;
    }

    .categoria_busqueda {
        font-family: "OpenSans-Regular";
        font-size: 16px;
        font-weight: bold;
        color: #444444;
        margin: auto;
    }

    .dropdown-content.show{
       display: flex;
       flex-direction: column;
   }
}

@media only screen and (max-width: 991px){

    .contenedor_cuerpo_herramienta_busqueda{
        width: 100%;
        margin: 0%;
    }

}

@media only screen and (max-width: 730px){

    .contenedor_categoria_herramienta {
        flex-direction: column;
    }

    .fila_busqueda {
        flex-direction: column;
        align-items: flex-start;
    }

    .categoria_busqueda {
        padding: 0%;
    }

    .btn_suscribete_banner {
        margin: 24px auto 0% auto;
    }
}

@media only screen and (max-width: 690px){

    .contenedor_menu_centrado {
        display: flex;
        justify-content: center;
        padding-bottom: 0;
    }

    .opciones_menuTableta {
        width: 70%;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding-top: 12px;
    }

    .buscador_tableta {
        height: 32px;
        width: 70%;
        background: #F7F7F7;
        border-radius: 30px;
        margin: 24px auto 0 auto;
        align-items: center;
        transition: width 0.3s ease;
    }

    .cerrar_menu_tableta {
        width: 100%;
        margin: 0 auto;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 174px 0 24px 0;
    }

    .buscador_tableta.expandido {
        width: 91%;
        border: 1px solid #444444;
        transition: width 0.3s ease;
    }

    .buscador_tableta.expandido input {
        width: 93.5%;
        transition: width 0.3s ease;
    }
}

/* Pantallas para moviles */
@media (max-width: 500px) {

    #dropdownMenuTableta {
        position: absolute; 
        top: 135.6px;          /* altura del header */
        left: 0;
        width: 100%;
        height: calc(100dvh - 135.6px);
        flex-direction: column;
        background: #FFFFFF;
        
        z-index: 10;
    }

    .overlay-categorias {
        z-index: 5;
    }

    .contenido_superior {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow-y: auto;
    }

    .cerrar_menu_tableta {
        flex-shrink: 0;
        padding: 0 0 24px 0;
    }

}

/*-----------------------End_SECTION_herramientaBusqueda---------------------*/

/*-----------------------SECTION_Suscribete_Banner--------------------------*/

.contenedor_suscribete_banner {
    background-color: #EFEFEF;
    padding: 24px 0%;
}

.contenedor_cuerpo_suscribete_banner{
    max-width: 1220px;
    padding: 0%;
}

.titulo_parte1{
    font-family: "Pier_Sans_Bold";
    font-size: 24px;
    color: #444444;
}

.titulo_parte2{
    font-family: "OpenSans-Regular";
    font-size: 14px;
    color: #444444;
    padding-top: 10px;
}

.btn_suscribete_banner{
    background-color: #FF0000;
    color: white;
    font-family: "Pier_Sans_Reg";
    cursor: pointer;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 300;
    padding: 10px 22px;
    text-decoration: none;
    margin: 0% 0% 0% 64px;
}

.btn_suscribete_banner:hover{
    cursor: pointer;
    background-color: #FFFFFF;
    color: #FF0000;
    text-decoration: none;
    border: 1px solid #FF0000;
}

.fila_suscripcion {
    gap: 1rem; /* Espacio entre textos y botón */
}

.contenedor_textos_suscribete_banner {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem; /* Espacio entre los dos textos */
}

/*  ---------- Pantallas grandes y medianas --------- */
@media only screen and (max-width: 1600px){
    .contenedor_cuerpo_suscribete_banner{
        max-width: 975px;
        padding: 0%;
    }
}

@media only screen and (max-width: 991px){
    .contenedor_cuerpo_suscribete_banner{
        max-width: 80%;
        padding: 0%;
    }

}

@media only screen and (max-width: 825px){
    .contenedor_suscribete_banner {
        background-color: #EFEFEF;
        padding: 30px 0%;
    }

    .contenedor_textos_suscribete_banner {
        display: flex;
        flex-direction: column; /* Esto los pone uno debajo del otro */
        align-items: flex-start;
        gap: 0.5rem; /* Espacio vertical entre los textos */
    }
    
    .titulo_parte2 {
        padding: 0%;
    }

}

/* ----------- Pantallas peques - Movil ------------- */
@media only screen and (max-width: 560px){

    .contenedor_suscribete_banner {
        background-color: #EFEFEF;
        padding: 24px 0% 32px 0%;
    }

    .contenedor_textos_suscribete_banner {
        flex-direction: column;
        align-items: center;
    }

    .fila_suscripcion {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .titulo_parte2 {
        padding: 0%;
    }

    .btn_suscribete_banner {
        margin: 0% auto;
    }
}
/*-------------------End_SECTION_Suscribete_Banner-------------------*/

/*------------------------SECTION_Suscribete--------------------------*/

.contenedor_texto_home_suscribete_1 {
    display: block;
}

.contenedor_texto_home_suscribete_2,
.contenedor_texto_home_suscribete_3,
.contenedor_texto_home_suscribete_4  {
    display: none;
}

.contenedor_texto_home_suscribete_1, 
.contenedor_texto_home_suscribete_2,
.contenedor_texto_home_suscribete_3,
.contenedor_texto_home_suscribete_4 {
    width: 95%;
    justify-content: center;
}

.contenedor_titulos_suscripcion {
    padding: 0%;
}

.contenedor_baner_suscribete{
    width: 100%;
    height: auto;
    padding: 100px 0% 50px 0%;
    background-color: #EFEFEF;
    position: relative;
    text-align: center;
}

.svg_fhd_home_suscribete{
    position: absolute; 
    top: -30px;
    display: block;
}

.svg_tablet_home_suscribete,
.svg_movil_home_suscribete {
    display: none;
}

.Titulo_home_suscribete{
    color: #444444;
    font-family: "Pier_Sans_Bold";
    font-size: 36px;
    padding-bottom: 12px;
    line-height: 1.15;
    margin: 0%;
}

.subtitulo_home_suscribete{
    color: #444444;
    font-family: "OpenSans-Regular";
    font-size: 14px;
    line-height: 1.25;
    padding: 0% 0% 25px 0%;
    margin: 0%;
}

.subtitulo_home_suscribete_opciones {
    color: #444444;
    font-family: "OpenSans-Regular";
    font-size: 14px;
    line-height: 1.25;
    padding: 0% 0% 25px 0%;
    margin: 0% auto;
    text-align: center; 
    display: block;
}

/* ------------- Input /Boton -------------- */

.contenedor_input_suscripcion {
    display: flex;
    align-items: center;        /* Centra verticalmente checkbox y texto */
    justify-content: center;    /* Centra horizontalmente todo el conjunto */
    gap: 8px;                   /* Espacio entre los inputs*/
    padding: 0% 0% 15px 0%;
    flex-wrap: nowrap;
}

.input_suscrip {
    width: 328px;
    height: 50px;
    color: #444444;
    padding: 10px 18px;
    background-color: #FFFFFF;
    border-radius: 25px;
    border-color: transparent;
    outline: none; /* elimina el contorno azul por defecto */
    transition: border-color 0.2s ease;
}

.input_suscrip::placeholder {
    color: #D6D6D6;
    font-family: "OpenSans-Regular";
    font-size: 14px;
}

.input_suscrip:focus {
    border: 1px solid #444444;
}

.contenedor_boton_suscribete {
    padding-left: 8px;
    text-decoration: none;
    display: flex;
    justify-content: center;
}

/* Por defecto, muestra solo el botón de escritorio */
.btn_mobile {
    display: none;
}

.btn_primario_blog {
    background-color: #FF0000;
    color: white;
    font-family: "Pier_Sans_Reg";
    cursor: pointer;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 300;
    padding: 10px 22px;
    text-decoration: none;
}

.btn_primario_blog:hover{
    cursor: pointer;
    background-color: #FFFFFF;
    color: #FF0000;
    text-decoration: none;
    border: 1px solid #FF0000;
}


/* ---------- Politicas de Privacidad --------- */
.contenedor_form_check{
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left; 
    padding: 0%;
    gap: 8px; /* Espacio entre el checkbox y el texto */
    width: 100%;
    max-width: 790px;
    margin: 0 auto;
}

.form-check-input[type=checkbox] {
    border-radius: 0%;
    width: 13px !important;
    height: 13px !important;
    margin-top: 2.5px;
}

.form-check-input:checked {
    --bs-form-check-bg-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='#000000' stroke='%23your-checkmark-color' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/></svg>");
}

.texto_check_politica{
    color: #444444;
    font-family: "OpenSans-Regular";
    font-size: 12px;
}

.a_politicas_check {
  color: #444444;           /* color del texto del link */
}

.a_politicas_check:hover {
  color: #000000;           /* color al pasar el mouse */
  text-decoration: underline;
}

/* ------- Redes sociales ------------ */
.contenedor_redes {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;  /* permite que los elementos salten de línea en pantallas pequeñas */
  text-align: center;
  gap: 80px; /* espacio entre el texto y los iconos */
  padding-top: 50px;
}

/* ------- Texto -------- */
.texto_redes_suscribete {
  font-size: 1.2rem;
  font-weight: 600;
  margin: 0;
  color: #444444;
  font-family: "Pier_Sans_Bold";
  font-size: 26px;
  margin: 0%;
  padding: 0%;
}

/* ------- SVGs -------- */
.redes-container {
  display: flex;
  justify-content: center; /* centra horizontalmente */
  gap: 32px;              /* separación entre iconos */
  align-items: center;     /* centra verticalmente */
}

.icono {
  display: block;
  width: 25px;
  height: 25px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: background-image 0.3s;
  cursor: pointer;
}

/* Linkedin */
.icono.linkedin {
  background-image: url('../img/ui_elements/linkedin.svg');
}

.icono.linkedin:hover {
  background-image: url('../img/ui_elements/linkedin_hover.svg');
}

/* Facebook */
.icono.facebook {
  background-image: url('../img/ui_elements/facebook.svg');
}

.icono.facebook:hover {
  background-image: url('../img/ui_elements/facebook_hover.svg');
}

/* Instagram */
.icono.instagram {
  background-image: url('../img/ui_elements/instagram.svg');
}

.icono.instagram:hover {
  background-image: url('../img/ui_elements/instagram_hover.svg');
}

/* YouTube */
.icono.youtube {
  background-image: url('../img/ui_elements/youtube.svg');
}

.icono.youtube:hover {
  background-image: url('../img/ui_elements/youtube_hover.svg');
}


/* ---------- Pantallas medianas y grandes ----------- */

@media (max-width: 1390px) {
    .svg_fhd_home_suscribete{
        top: -10px;
    }
}

@media (max-width: 1000px) {
    .contenedor_baner_suscribete{
        padding: 100px 0% 50px 0%;
    }

    .contenedor_texto_home_suscribete_1,
    .contenedor_texto_home_suscribete_2,
    .contenedor_texto_home_suscribete_3,
    .contenedor_texto_home_suscribete_4 {
        width: 60%;
    }

    .contenedor_input_suscripcion {
        flex-direction: column;
        align-items: center;
        padding-bottom: 0;
        gap: 25px;
    }

    .input_suscrip {
        width: 100%;
        max-width: 328px;
    }

    .contenedor_form_check {
        flex-direction: row;
        justify-content: center;
        align-items: flex-start;
        width: 100%;
        max-width: 328px;
        margin: 15px auto 0% auto;
        order: 3;
    }

    .form-check-input[type=checkbox]{
        margin-top: 0.5%;
    }

    .texto_check_politica {
        width: 100%;
        text-align: left;
    }

    .contenedor_boton_suscribete {
        width: 100%;
        max-width: 328px;
        order: 2;
        padding: 0%;
        margin: 25px auto 0% auto;
        display: flex;
        justify-content: center;
    }

    .btn_desktop {
        display: none;
    }

    .btn_mobile {
        display: flex;
        justify-content: center;
        margin-top: 25px;
    }

    .btn_primario_blog {
        width: 100%;
        height: 50px;
        border-radius: 25px;
    }

    .contenedor_redes {
        order: 4;
    }

    .contenedor_redes svg {
        max-width: 230px;
    }
    
    .svg_fhd_home_suscribete,
    .svg_movil_home_suscribete {
        display: none;
    }
    
    .svg_tablet_home_suscribete{
        position: absolute; 
        top: -35px;
        display: block;
    }
}

@media (max-width: 900px) {

    .contenedor_baner_suscribete{
        padding: 109px 0% 50px 0%;
    }

    .svg_tablet_home_suscribete{
        position: absolute; 
        top: -10px;
        display: block;
    }
}

/* --------- Pantallas peque - Movil ----------- */
@media (max-width: 717px) {

    .contenedor_baner_suscribete{
        padding: 129px 0% 50px 0%;
    }

    .contenedor_texto_home_suscribete_1, 
    .contenedor_texto_home_suscribete_2,
    .contenedor_texto_home_suscribete_3,
    .contenedor_texto_home_suscribete_4  {
        width: 78%;
    }

    .contenedor_redes {
        order: 4;
    }

    .texto_redes_suscribete {
        margin-bottom: 0%;
    }

    .contenedor_form_check {
        margin: 15px auto 0% auto;
    }

    .btn_mobile {
        margin-top: 25px;
    }

    .subtitulo_home_suscribete {
        padding: 0% 0% 40px 0%;
    }

    .contenedor_form_check {
        order: 2;
    }

    .contenedor_boton_suscribete {
        order: 3;
    }

    .svg_tablet_home_suscribete{
        display: none;
    }

    .svg_movil_home_suscribete{
        position: absolute; 
        top: -10px;
        display: block;
    }

}

@media (max-width: 660px) {
    .contenedor_redes {
        flex-direction: row; /* una sola linea */
        justify-content: center;
    }

    .texto_redes_suscribete {
        margin-right: 15px;
    }
    
}

@media (max-width: 600px) {

    .contenedor_redes {
        gap: 25px;
    }
    
}

@media (max-width: 450px) {

    .contenedor_baner_suscribete{
        padding: 110px 0% 50px 0%;
    }

    .contenedor_texto_home_suscribete_1,
    .contenedor_texto_home_suscribete_2,
    .contenedor_texto_home_suscribete_3,
    .contenedor_texto_home_suscribete_4  {
        width: 75%;
    }
    
    .svg_movil_home_suscribete{
        position: absolute; 
        top: -5px;
        display: block;
    }

    .subtitulo_home_suscribete {
        padding: 0% 0% 25px 0%;
    }

    .contenedor_redes {
        gap: 25px;
    }

}

@media (max-width: 405px) {

    .Titulo_home_suscribete{
        font-size: 34px;
    }
    
}
/*-------------------End_SECTION_Suscribete-------------------------*/
