/*
*************************************************
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.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%;
}



/*  
************************************************* 
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);
}
