/*
*************************************************
BTTN - Botones que se usan para todo la app 
Para elementos: input submit, button y a-href 
************************************************** 
*/
.bttn {
    width: auto;
    height: 3rem;
    padding: 0 2rem;
    font-size: 1rem;
    line-height: 1rem;
    text-transform: lowercase;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 2rem;
    border: 0;
    cursor: pointer;
    background-color: var(--color-primario);
    color: var(--color-gris-1);
    text-transform: uppercase;
}

@media screen and (max-width: 1024px) {
    .bttn { 
        height: 2rem;
    }
} 

.bttn:hover,
.bttn.outline:hover,
.bttn.blue:hover {
    background-color: var(--color-azul-5);
    color: var(--color-primario);
    box-shadow: var(--var-shadow);
}
.bttn.btn_disabled, 
.bttn.btn_disabled:hover  {
    color: var(--color-gris-4) !important;
    background-color: var(--color-gris-3);
    box-shadow: 0 0 0 0 rgba(138, 138, 138, 0.1);
}


.bttn.w-full {
    width: 100%;
    padding: 0;
}

.bttn.w-fixed {
    width: 300px;
    padding: 0;
}
@media screen and (max-width: 1024px) {
    .bttn.w-fixed {
        width: auto;
        padding:0 1rem;
    }
} 

.bttn.small {
    /* 
    font-size:0.8rem; 
    line-height: 0.8rem; 
    */
    font-size: 0.75rem;
    line-height: 0.75rem;
    height: 2rem;
}

.bttn.outline {
    background: transparent;
    border: 1px solid var(--color-primario);
    color: var(--color-primario);
}

.bttn.outline:hover {
    border: 1px solid var(--color-azul-5);
}

.bttn.blue {
    background-color: var(--color-azul-3);
    color: var(--color-primario);
}
.bttn.success {
    background-color: var(--bgcolor-success);
    color: var(--color-success);
}
.bttn.success:hover {
    background-color: var(--color-success);
    color: var(--color-gris-1);
}
.bttn.fail {
    background-color: var(--bgcolor-fail);
    color: var(--color-fail);
}
.bttn.fail:hover {
    background-color: var(--color-fail);
    color: var(--color-gris-1);
}
.bttn.hide{
    display: none;
}

.bttn:disabled{
    background-color: var(--color-gris-3);
}

.bttn:disabled{
    background-color: var(--color-gris-3);
    color: var(--color-gris-1);
    box-shadow: none;
    cursor:not-allowed;
}

/*
*************************************************
A HREF / Wrapper de botón - Botón con Icono
************************************************** 
*/
.a-href-bttn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 3rem;
}

/* A HREF BTTN / POSITION RELATIVO = VA EN EL MENÚ DESKTOP */
.a-href-bttn.relative {
    position: relative;
}

.a-href-bttn.relative:hover {
    padding-right: 2rem;
    background-color: var(--color-primario);
    justify-content: flex-start;
    box-shadow: var(--var-shadow);
}
.a-href-bttn.relative.no-padding:hover {
    padding-right: 0;
}

.a-href-bttn.relative label {
    display: none;
    padding-left: 0.5rem;
    word-break: keep-all;
    word-wrap: normal;
    white-space: nowrap;
}

/* Paso 1: muestra el botón */
.a-href-bttn.relative:hover label {
    display: block;
    opacity: 0.8;
}

/* Paso 2: le sube la opacidad 1 */
.a-href-bttn.relative label:hover {
    opacity: 1;
    padding-left: 0.5rem;
    color: var(--color-gris-1);
}


.a-href-bttn.relative ul { 
    width: 14rem;
    background-color: var(--color-gris-3);
    position:absolute;
    top:-1.25rem;
    left:-12.75rem;
    z-index:2;
    padding:1rem; 
    border-radius: 1rem; 
    flex-direction: column; 
    align-items: flex-start; 
    justify-content: flex-start; 
    gap: 0.5rem; 
    display: none;
}
.a-href-bttn.relative:hover ul{
    display: flex; 
}

.a-href-bttn.relative ul li{ 
    width: 100%;
    padding:0.5rem 1rem !important;
    border-radius: 1rem;
}
.a-href-bttn.relative ul li a{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap:0.5rem; 
}
.a-href-bttn.relative ul li:hover{
    background-color: var(--color-primario);
    cursor:pointer;
}
.a-href-bttn.relative ul li a, 
.a-href-bttn.relative ul li a span, 
.a-href-bttn.relative ul li a i{
    font-size:var(--fsizes-small); 
    line-height:var(--fsizes-small); 
}
.a-href-bttn.relative ul li:hover a, 
.a-href-bttn.relative ul li:hover a span, 
.a-href-bttn.relative ul li:hover a i{
    color: var(--color-gris-1) !important;
}
.a-href-bttn.relative ul li a span{
    text-align: left;
}
.a-href-bttn.relative ul li a i, 
.a-href-bttn.relative ul li a i::before{
    width: 1.5rem;
    height: auto;
    display: flex; 
    align-items: center; 
    justify-content: flex-start;
}


/*
*************************************************
Botón con Icono
************************************************** 
*/
.bttn-icon {
    width: 3rem;
    height: 3rem;
    background-color: var(--color-gris-4);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}
@media screen and (max-width: 1024px) {
    .bttn-icon {
        width: 2.5rem;
        height: 2.5rem;
    }
}
.bttn-icon.small {
    width: 2rem;
    height: 2rem;
}
.bttn-icon.tiny { 
    /*
    width: 1.5rem;
    height: 1.5rem;
    */
    width: 2rem;
    height: 2rem;
}

.bttn-icon.outline { 
    background: transparent;
    border: 2px solid var(--color-azul-4);
    color: var(--color-azul-4);
} 
.bttn-icon.outline:hover { 
    border: 2px solid var(--color-primario);
    color: var(--color-primario);
}

.bttn-icon.active {
    background-color: var(--color-azul-5);
}

.bttn-icon:hover {
    background-color: var(--color-primario);
}

.bttn-icon.primario {
    background-color: var(--color-primario);
}

.bttn-icon i,
.bttn-icon i::after {
    color: var(--color-gris-1);
    font-size: 1.25rem;
    text-shadow: 1px 1px 2px rgba(100, 100, 100, 0.125), 0 0 1em rgba(100, 100, 100, 0.125), 0 0 0.2em rgba(100, 100, 100, 0.125);
}

/*@media screen and (min-height: 500px) and (max-height: 800px) {*/
@media screen and (max-height: 800px) {
    .bttn-icon i,
    .bttn-icon i::after {
        font-size: 1rem; 
    } 
}

.bttn-icon.small i,
.bttn-icon.small i::after, 
.bttn-icon.tiny i,
.bttn-icon.tiny i::after {
    font-size: 1rem;
}

.bttn-icon.active i,
.bttn-icon.active i::after {
    color: var(--color-primario);
}

.bttn-icon:hover i,
.bttn-icon:hover i::after {
    color: var(--color-gris-1);
}

.bttn-icon.rotate i{
    transform: rotate(180deg);
}

.bttn-icon img {
    width: 100%;
    border-radius: 50%;
}



/*
*************************************************
Boton Notificación - Header 
**************************************************
*/
.bttn-icon.notification {
    position: relative;
}
.bttn-icon.notification label {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 50%;
    width: 1.5rem;
    height: 1.5rem;
    font-size: var(--fsizes-micro); 
    line-height: var(--fsizes-micro); 
    letter-spacing: -1px;
    font-weight: 500; 
    box-shadow: var(--var-shadow);
    color: var(--color-gris-1);
    background-color: var(--color-fail);
    border:2px solid var(--color-fail);
}
@media screen and (max-width: 1024px) {
    .bttn-icon.notification label {
        /* top: 0.125rem;
        right: 0.125rem; */
        width: 1.25rem;
        height: 1.25rem;
    }
} 
/* 
.bttn-icon.notification:hover label {
    color: var(--color-primario);
    background-color: var(--color-azul-1); 
    border:2px solid var(--color-azul-1);
}
*/ 


/*
*************************************************
Boton Hamburguesa - Menú Mobile
**************************************************
*/
#bttnProfileHeaderDesktop {
    font-size: 0;
    line-height: 0;
}

#bttnOpenCloseMenuMobile {
    display: none;
}

@media screen and (max-width: 1024px) {
    #bttnProfileHeaderDesktop {
        display: none;
    }

    #bttnOpenCloseMenuMobile {
        display: block;
    }
}

.bttn-icon .animate-hamburger {
    width: 20px;
    height: 20px;
    overflow: hidden;
    position: relative;
    top: calc(50% - 10px);
    left: calc(50% - 10px);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;  
    cursor: pointer; 
}

.bttn-icon .animate-hamburger .ico-hamburger-1,
.bttn-icon .animate-hamburger .ico-hamburger-2 {
    position: absolute;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
}

.bttn-icon .animate-hamburger .ico-hamburger-1 {
    left: 0;
}

.bttn-icon.active .animate-hamburger .ico-hamburger-1 {
    left: -20px;
}

.bttn-icon .animate-hamburger .ico-hamburger-2 {
    left: 20px;
}

.bttn-icon.active .animate-hamburger .ico-hamburger-2 {
    left: 0; 
}



/*  
************************************************* 
Nav Menú Desktop
************************************************** 
*/
.menu-desktop {
    height: auto;
    position: fixed;
    top: 7rem;
    left: 2rem;
    z-index: 100;
    overflow-x: visible;
}
/*@media screen and (min-height: 500px) and (max-height: 800px) {*/
@media screen and (max-height: 800px) {
    .menu-desktop {
        top: 6.8rem;
    }
}

@media screen and (max-width: 1024px) {
    .menu-desktop {
        display: none;
    }
}


/*@media screen and (min-height: 500px) and (max-height: 800px) {*/
@media screen and (max-height: 800px) {
    /* .menu-desktop {
        top: 5.5rem;
    }  */
    .menu-desktop .bttn-icon{
        width: 2.25rem;
        height: 2.25rem;
    }   
}

.menu-desktop--content,
.menu-desktop--content li {
    list-style-type: none;
    list-style: none;
    padding: 0;
    margin: 0;
}

.menu-desktop--content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap:1rem;
}

/* @media screen and (min-height: 500px) and (max-height: 800px) { */ 
@media screen and (max-height: 800px) {
    .menu-desktop--content {
        gap:0.25rem;
    }
}

.menu-desktop--content li {
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
}


/*  
************************************************* 
Botones lineales con ícono para etiqueta <a>
************************************************** 
*/
.bttn-icon-line{
    width:auto;
    height: auto;
    display: block; 
}
.bttn-icon-line span{
    border:1px solid var(--color-azul-4);
    width:auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap:0.5rem;
    padding:0.5rem 1rem;
    border-radius: 1rem;
}
.bttn-icon-line span:hover{
    border:1px solid var(--color-primario); 
    background-color: var(--color-primario);
    box-shadow: var(--var-shadow);
}
.bttn-icon-line span, 
.bttn-icon-line span i, 
.bttn-icon-line span b{
    font-size: var(--fsizes-small); 
    color:var(--color-azul-4);
}
.bttn-icon-line span:hover, 
.bttn-icon-line span:hover i, 
.bttn-icon-line span:hover b{
    color:var(--color-gris-1);
}


/*  
************************************************* 
Botón buscar con ícono para etiqueta <a>
************************************************** 
*/
.box-bttn--search{
    width: auto;
    display: flex;
    align-items: center;
}

.bttn-search{
    width:auto;
    min-width: 3rem;
    height: 3rem;
    padding:1rem;
    display: flex;
    align-items: center; 
    justify-content: center; 
    align-content: center;
    border-radius: 2rem; 
    background-color: var(--color-azul-4);
    border:1px solid var(--color-azul-4);
}
@media screen and (max-width: 1024px) {
    .bttn-search{
        min-width: 2rem;
        height: 2rem;
    }
}
.bttn-search.small{
    min-width: auto;
    /* width: 2rem; */
    height: 2rem;
    /* padding:0;
    border-radius: 1rem;  */
}
.bttn-search:hover{ 
    background-color: var(--color-primario);
    border:1px solid var(--color-primario);
}
.bttn-search.outline{
    background-color: transparent;
    border:1px solid var(--color-azul-4); 
}
.bttn-search.outline:hover{ 
    background-color: var(--color-azul-1);
    border:1px solid var(--color-primario);
}

.bttn-search, 
.bttn-search span, 
.bttn-search span i, 
.bttn-search span i::before, 
.bttn-search span b{
    font-size:0.75rem;  
    line-height: 1rem; 
    color:var(--color-gris-2);
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* .bttn-search span b{
    font-weight:400; 
    padding-left: 0.5rem;
} */

.bttn-search.txt span::after{
    content:"FILTRAR";
}
.bttn-search.txt-clean span::after{
    content:"LIMPIAR FILTROS";
}

@media screen and (max-width: 1024px) {
    .bttn-search.txt-clean.reponsive span::after, 
    .bttn-search.txt.reponsive span::after{
        content:"";
    }
}


.bttn-search:hover, 
.bttn-search:hover span, 
.bttn-search:hover span i, 
.bttn-search:hover span i::before, 
.bttn-search:hover span b{
    color:var(--color-gris-1);
}


.bttn-search.outline, 
.bttn-search.outline span, 
.bttn-search.outline span i, 
.bttn-search.outline span i::before, 
.bttn-search.outline span b{
    color:var(--color-azul-4);
}
.bttn-search.outline:hover, 
.bttn-search.outline:hover span, 
.bttn-search.outline:hover span i, 
.bttn-search.outline:hover span i::before, 
.bttn-search.outline:hover span b{
    color:var(--color-primario);
}