:root{
    --color-primario: #333;
    --color-secundario: #eee;
    --color-intermedio: #999;
    --color-cont-gris: #ddd;
    --color-sombra: #0001;
    --naranja: #ff6f61;
    --verde-trajanet: #0a3a47;
    --color-claro-translucido: #fffb;

    scroll-behavior: smooth;
}
h1, h2, h3, h4, h5, h6, p{
    margin: 0px;
}
h1{
    text-align: center;
    text-wrap: pretty;
}
body{
    background-color: var(--color-secundario);
    margin: 0;
    font-family: sans-serif;
}
textarea {
    height: 100px;
    resize: none;
    box-sizing: border-box;
}
a{
    text-decoration: none;
}
li{
    list-style: none;
    text-transform: uppercase;
}

/*HEADER*/

header{
    position: sticky;
    top: 0;
    z-index: 10;
    background-color: var(--verde-trajanet);
    color: var(--color-secundario);
    display: flex;
    flex-direction: row;
    padding: 5px 15px;
    justify-content: space-between;
    border-bottom: 2px solid var(--naranja);
}
.header-brand{
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}
.header-logo-container{
    min-width: 32px;
    min-height: 32px;
    background-image: url("./img/logoT.svg");
}
.header-title{
    padding: 10px 0;
}
.header-span{
    font-weight: bold;
    text-transform: uppercase;
}
.visit-link{
    background-color: var(--naranja);
    color: var(--color-secundario);
    padding: 5px 10px;
    border-radius: 5px;
    cursor: pointer;
    align-content: center;
    font-weight: bold;
    text-decoration: none;
}
.visit-link:hover{
    background-color: var(--color-primario);
    color: var(--naranja);
    outline: 2px solid var(--naranja);
    cursor: pointer;
}
.he-bu-con{
    gap: 10px;
}

/*MAIN*/

main{
    display: flex;
    flex-direction: row;
    /* gap: 20px; */
}
.main-container{
    display:flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
}
.nav-section{
    position: sticky;
    z-index: 10;
    min-width: 200px;
    max-width: 300px;
    background-color: var(--color-intermedio);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.nav ul{
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 20px;
}
#logout__button,
.nav-li a{
    display: flex;
    flex-direction: row;
    color: var(--color-secundario);
    align-items: center;
    padding: 10px;
    border-radius: 22px;
    text-align: center;
}

.seccion-escogida{
    font-weight: bold;
}

.botones-nav--abajo{
    padding:0 20px;
    align-items: center;
}
#logout__button{
    transition: all 0.3s ease;
}
#logout__button:hover{
    font-weight: 600;
    cursor: pointer;
}

.nav-li:hover a{
    box-shadow: 0 0 5px 0 var(--color-primario);
}
.main-content{
    padding: 20px;
    position: relative;
}
.top-button{
    max-width: 50%;
    margin: 0 auto;
    margin-bottom: 20px;
    color: var(--color-primario);
}

.mensaje-emergente{
    position: fixed;
    z-index: 10;
    display: none;
    color: var(--color-secundario);
    border: 1px solid var(--naranja);
    left: 50%;
    padding: 10px;
    background-color: var(--verde-trajanet);
}

/*EDICION CONTENEDORES*/
.container-0{
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 700px;
    margin: auto;
}
.contenedor-1, .contenedor-2, .contenedor-3, .contenedor-4{
    padding: 10px;
}
.contenedor-1, .contenedor-3{
    background-color: var(--color-cont-gris);
}
.contenedor-2, .contenedor-4{
    background-color: var(--color-secundario);
}

/*-----Tarjetas comunes-----*/
.cabecera__sec h2{
    text-transform: uppercase;
    text-align: center;
}
.carta-form__container{
    margin-top: 10px;
}
.form__row{
    gap:10px;
    justify-content: center;
}
.form__row div{
    flex: 1;
}

/*Section nav*/
.sec-nav-li a{
    color: var(--color-primario);
    font-weight: 600;
}
.sec-nav__ul{
    gap: 20px;
}
/*FLEX*/
/*Column*/
.flex-column,
.configurar__cuenta,
.cuentas-info__container, .cuentas__opciones, .cuentas__coleccion, .texto-cuenta__container,
.botones-nav--abajo,
#login-form, .login,
.conf-cuentas__container, .cuentas, .cuentas__form,
.reservas__container,
.horario__form,
.sub-form,
.info-general__container,
.info__form-container,
.info__form-container>div,
.info-util__form,
.platos__coleccion,
.tip-car__opciones,
.tipos__coleccion,
.form__dupla,
.carta-form,
.configuracion__form,
.cabeceras__form-container,
.conf-cabeceras,
.identidad__container,
.identidad-item,
.id-form,
.colores-flex,
.conf-cabeceras,
.cabecera-ind,
.apariencia__title-container,
.alergenos,
.plato__info-container,
.aler__wrapper,
.stats-platos__contenedor,
.stats-general__contenedor,
.stats-general__info,
.politica-privacidad{
    display: flex;
    flex-direction: column;
    gap: 10px;
}
/*Row*/
.flex-ori,
.usuario__item, .cuentas-info__container,
.form__row,
.sec-nav__ul,
.id-flex,
.plato__foto-texto,
.platos__alergenos,
.stats-platos__flex{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

/*IMÁGENES*/
.qr_container{
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 84px;
    height: 84px;
}
.img-cuenta__container,
.prev-logo-container,
.prev-cab__img-container{
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

/*-----CONF GENERAL-----*/
/*QR*/
.qr_wrapper{
    gap: 10px;
}
.qr_container{
    flex: 3;
}
.qr_textos{
    flex: 7;
}
/*Alerta de confirmacion*/
.mensaje-countdown, .contenedor-mensaje-deuda {
    background: #fff3b0;      /* amarillo suave */
    border: 2px solid #ff9800; /* naranja */
    padding: 15px 18px;
    border-radius: 6px;
    color: #5a3d00;
    font-size: 15px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.mc1{
    background: #ffcccc;      /* amarillo suave */
    border: 2px solid #e60000; /* naranja */
    color: #5a0000;
}
.enlaceConfirm{
    color: blue;
}
.enlaceConfirm:hover{
    cursor: pointer;
    text-decoration: underline;
}

.titulo-boton{
    justify-content: space-between;
    align-items: center;
}
.identidad__color-item{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.prev-cab__img-container{
    height: 100px;
    padding: 10px;
    position: relative;
}
#img-inicio{
    position: absolute;
    bottom: 10px;
}

.text__input, .form-input{
    background-color: var(--color-claro-translucido);
    border: none;
    padding: 10px;
    font-family: sans-serif;
    transition: all 0.3s ease;
}

.text__input-claro{
    background-color: var(--color-claro-translucido);
    border: none;
    box-shadow: 0 2px 5px var(--color-intermedio);
    padding: 10px;
    font-family: sans-serif;
    transition: all 0.3s ease;
}
.text__input:hover{
    box-shadow: 0 0 5px 0px var(--color-primario);
}
.text__input:focus{
    outline: 2px solid var(--naranja);
}

.form__boton{
    background-color: var(--color-secundario);
    color: var(--color-primario);
    border-radius: 15px;
    padding: 5px 10px;
    text-align: center;
    align-content: center;
    border: 1px solid var(--naranja);
    box-shadow: 0 0 5px 0 var(--color-sombra);
    box-sizing: content-box;
    text-transform: uppercase;
    font-weight: 600;
    transition: all 0.3s ease;

}
.form__boton:hover{
    background-color: var(--naranja);
    color: var(--color-secundario);
    cursor: pointer;
}
.form__boton:active{
    box-shadow: 0 0 5px 0 var(--color-primario);
}

    /*Conf info*/

.comensales{
    text-transform: uppercase;
    font-weight: 600;

}
.elim-susp-content{
    align-items: center;
}
.elim-susp-buttoms{
    gap: 10px;
}

/*-----CONF CARTA-----*/

/*Nav*/
.cabecera-conf{
    justify-items: center;
    text-align: center;
}

.form__boton:hover a{
    color: var(--color-secundario);
}


/*Tipos*/

.tipos__coleccion{
    margin: 10px 0;
}
.tipo__item{
    background-position: center;
    background-size: cover;
    display:flex;
    flex-direction: row;
    padding: 10px;
    justify-content: space-between;
}
.tipo-col__foto-container{
    width: 86px;
    height: 86px;
    background-position: center;
    background-size: cover;
}
.tipo-col__nom-desc{
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: var(--color-secundario);
}
.tip-car__boton{
    background-color: var(--color-secundario);
    border-radius: 15px;
    padding: 5px 10px;
    text-align: center;
    transition: all 0.3s ease;

}
.cuentas__eliminar,
.tip-car__eliminar{
    color: red;
    font-weight: bold;
}
.tip-car__boton:hover{
    cursor: pointer;
    outline: 2px solid var(--naranja);
}

/*Platos*/
.form__alergenos{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
.plato__item{
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    background-color: var(--color-sombra);
    padding: 15px;
}
.plato__foto-texto{
    gap: 20px;
    align-items: center;
}
.plato__img-container{
    width:86px;
    height: 86px;
    background-position: center;
    background-size: cover;
}
.platos__alergenos{
    gap: 10px;
}
.alergeno{
    padding: 5px;
    border-radius: 6px;
    background-color: var(--color-secundario);
}

/*Alergenos*/
.aler__wrapper{
    margin: auto;
    margin-top: 20px;
    max-width: 500px;
    background-color: var(--color-sombra);
    padding: 20px;
}
.aler__dupla{
    display: flex;
    flex-direction: row;
    gap: 6px;
    align-items: center;
    justify-content: space-between;
    background-color: var(--color-sombra);
    padding: 6px;
    border-radius: 12px;
}
.aler__logo-text{
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
}
.aler__img{
    width:32px;
    height: 32px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}
.aler__dupla .tip-car__opciones{
    flex-direction: row;
}

/*PERFILES*/
.delete__name{
    font-weight: 600;
}

/*CONF STATS*/

.stats-platos__flex{
    gap: 10px;
    justify-content: center;
}
.stats-general__info{
    gap: 10px;
    justify-content: center;
}

/*LOGIN Y CUENTAS*/
.login__container{
    margin-top: 30px;
}
.usuario__item{
    justify-content: space-between;
}
.img-cuenta__container{
    background-image: url('img/iconoUser.svg');
}
.cuentas-info__container, .cuentas__opciones, .texto-cuenta__container{
    justify-content: center;
}

/*REACTIVAR CUENTA*/
.reactivar-cerrar p{
    color:var(--naranja);
}
.restaurar-container{
    align-items: center;
    gap: 10px;
    padding-top: 20px;
}

/*CONTACTO*/
.contacto-row{
    gap: 10px;
    flex-wrap: wrap;
}
.contacto-row .form-input{
    flex: 1;
}
.contacto__form h1, .contacto__form p{
    text-align: center;
    text-wrap: pretty;
}
.contacto__form h1{
    text-transform: uppercase;
}

.politica-privacidad{
    position: absolute;
    z-index: 1000;
    backdrop-filter: blur(10px);
    display: none;
}
.politica-container{
    max-width: 700px;
    max-height: 60vh;
    margin: auto;
    padding: 10px;
    background-color: var(--color-sombra);
    overflow-y: auto;
}
#open-privacidad{
    color: blue;
}
#open-privacidad:hover{
    text-decoration: underline;
    cursor: pointer;
}

/*FOOTER*/
.logo-footer-container{
    min-width: 32px;
    min-height: 32px;
    background-image: url("../img/logoT.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
footer{
    background-color: var(--verde-trajanet);
    color: var(--color-secundario);
    display: flex;
    flex-direction: row;
    padding: 10px 15px;
    justify-content: center;
    gap: 15px;
    border-top: 2px solid var(--naranja);
}
footer a{
    color: var(--naranja);
}
footer a:hover{
    text-decoration: underline;
}

/* =============== MEDIA QUERIES RESPONSIVE =============== */

/* TABLET - 768px */
@media (max-width: 768px) {
    body {
        overflow-x: hidden;
    }
    
    header {
        flex-direction: column;
        flex-wrap: wrap;
        align-items: center;
        padding: 5px 8px;
        gap: 8px;
        box-sizing: border-box;
    }
    .he-bu-con>div, .he-bu-con>a{
        flex: 1;
    }
    .header-brand {
        flex: 1;
        min-width: 150px;
    }
    
    .visit-link {
        flex: 1;
        min-width: 80px;
        padding: 6px 10px;
    }
    .visit-link p{
        text-align: center;
    }
    
    main {
        flex-direction: column;
        gap: 0;
        overflow-x: hidden;
    }
    
    .nav-section {
        position: fixed;
        width: 100%;
        max-width: 100%;
        flex-direction: column;
        flex-wrap: wrap;
        justify-content: space-around;
        z-index: 5;
        gap: 10px;
        padding: 10px;
        box-sizing: border-box;
    }
    
    .nav ul {
        flex-direction: column;
        flex-wrap: wrap;
        gap: 10px;
        gap: 3px;
        padding: 5px;
        width: 100%;
        height: 100%;
        box-sizing: border-box;
    }
    
    .nav-li {
        flex: 1;
        min-width: 70px;
    }
    
    .nav-li a {
        align-content: center;
        padding: 6px 4px;
    }
    .nav-li a p{
        margin: auto;
    }
    
    .botones-nav--abajo {
        width: 100%;
        flex-direction: row;
        gap: 5px;
        padding: 0 5px;
        justify-content: space-between;
        box-sizing: border-box;
    }
    
    .top-button {
        display: none;
    }
    
    #logout__button {
        flex: 1;
        padding: 6px 4px;
    }
    #logout__button p{
        margin: auto;
    }
    
    .main-content {
        padding: 10px;
        width: 100%;
        box-sizing: border-box;
        overflow-x: hidden;
    }
    
    .container-0 {
        max-width: 100%;
        margin: auto;
    }
    
    .sec-nav__ul {
        gap: 8px;
        flex-wrap: wrap;
    }
    
    .sec-nav-li {
        flex: 1 1 calc(50% - 8px);
        min-width: 80px;
    }
    
    .form__row div {
        flex: 1 1 100%;
    }
    
    .form__row {
        gap: 8px;
    }
    
    .form__alergenos {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .qr_wrapper {
        gap: 10px;
        flex-wrap: wrap;
    }
    
    .qr_container {
        flex: 1 1 100%;
        max-width: 120px;
        margin: auto;
    }
    
    .qr_textos {
        flex: 1 1 100%;
    }
    
    .tipo__item {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    
    .tipo-col__foto-container {
        width: 100%;
        height: 120px;
    }
    
    .tipo-col__nom-desc {
        width: 100%;
    }
    
    .plato__item {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .plato__foto-texto {
        width: 100%;
        flex-direction: column;
        gap: 8px;
    }
    
    .plato__img-container {
        width: 100%;
        height: 120px;
    }
    
    .stats-platos__flex {
        flex-wrap: wrap;
        gap: 10px;
    }
    
    .stats-plato {
        flex: 1 1 calc(50% - 10px);
        min-width: 120px;
    }
    
    .stats-general__info {
        flex-wrap: wrap;
        gap: 8px;
    }
    
    .stats-general {
        flex: 1 1 calc(50% - 8px);
        min-width: 120px;
    }
    
    .aler__wrapper {
        max-width: 100%;
        box-sizing: border-box;
    }
    
    .prev-cab__img-container {
        width: 100%;
        height: 100px;
    }
    
    .identidad__color-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    
    textarea {
        height: 70px;
    }
}
