/* ========================================= */
/* ESTILOS GLOBALES Y CONTENEDOR */
/* ========================================= */

body {
    font-family: 'Arial', sans-serif;
    background-color: #b5d6d6;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    margin: 0;
    padding: 20px;
}

.btn-ico {
    /* 1. Establece el posicionamiento */
    position: fixed; /* Mantiene el botón visible incluso al hacer scroll */
    /*position: absolute; /* Úsalo si quieres que se mueva con el scroll del contenido */

    /* 2. Define la ubicación */
    top: 20px;   /* Distancia desde el borde superior */
    left: 20px;  /* Distancia desde el borde izquierdo */

    /* Resto de estilos para el diseño del botón (color, padding, etc.) */
    background-color: #ff6347; 
    color: white; 
    padding: 5px 5px; 
    border-radius: 8px; 
    font-size: 0.9em;
    text-decoration: none; /* Quita el subrayado del enlace */
    z-index: 1000; /* Asegura que esté por encima de otros elementos */
}

.btn-back {
    /* 1. Establece el posicionamiento */
    position: fixed; /* Mantiene el botón visible incluso al hacer scroll */
    /*position: absolute; /* Úsalo si quieres que se mueva con el scroll del contenido */

    /* 2. Define la ubicación */
    top: 50px;   /* Distancia desde el borde superior */
    left: 20px;  /* Distancia desde el borde izquierdo */
    background-color: #ff6347; /* Color de fondo llamativo (rojo tomate) */
    color: white; /* Color del texto */
    padding: 5px 5px; /* Relleno interno para hacerlo más grande */
    border: none; /* Quita el borde predeterminado */
    border-radius: 8px; /* Esquinas redondeadas */
    font-size: 0.9em; /* Tamaño de fuente más grande */
    cursor: pointer; /* Cambia el cursor a una mano (indica que es cliqueable) */
    transition: background-color 0.3s ease; /* Transición suave para el efecto hover */
    margin-top: 20px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.contenedor-principal {
    display: flex;
    gap: 20px; 
    max-width: 900px;
    width: 100%;
}

.bloque {
    background-color: white;
    padding: 25px;
    border-radius: 15px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    flex: 1; /* Hace que ambos bloques ocupen el mismo ancho */
    min-height: 500px;
    display: flex;
    flex-direction: column;
}

/* Títulos de Bloque */
.header-bloque {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid #e0e0e0;
    color: #4a4a4a;
}

.header-bloque i {
    font-size: 24px;
    margin-right: 10px;
    color: #007bff; 
}

/* ========================================= */
/* ESTILOS DEL BLOQUE IZQUIERDO (Planificación) */
/* ========================================= */

.lista-planificacion {
    list-style: none;
    padding: 0;
    margin: 0;
    flex-grow: 1; 
}

.item-comida {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    padding: 8px 0;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.2s;
}

.item-comida:hover {
    background-color: #f0f8ff;
}

/* Checkbox Personalizado */
.item-comida input[type="checkbox"] {
    display: none; 
}

.item-comida label {
    display: flex;
    align-items: center;
    user-select: none;
}

.custom-checkbox {
    width: 18px;
    height: 18px;
    border: 2px solid #ccc;
    border-radius: 4px;
    margin-right: 10px;
    display: inline-block;
    position: relative;
    background-color: white;
}

/* Estilo cuando está seleccionado */
.item-comida input[type="checkbox"]:checked + label .custom-checkbox {
    background-color: #007bff;
    border-color: #007bff;
}

.item-comida input[type="checkbox"]:checked + label .custom-checkbox::after {
    content: "\f00c"; /* Icono de checkmark de Font Awesome */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-size: 12px;
}

/* Botón Generar Lista (Naranja y Circular) */
.btn-generar {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background-color: #ff7f50; /* Naranja */
    color: white;
    border: none;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    box-shadow: 0 6px 15px rgba(255, 127, 80, 0.4);
    transition: background-color 0.2s, transform 0.2s;
    margin: 20px auto 0;
}

.btn-generar:hover {
    background-color: #ff6347;
    transform: translateY(-2px);
}

.btn-generar i {
    font-size: 36px;
    margin-bottom: 5px;
}


/* ========================================= */
/* ESTILOS DEL BLOQUE DERECHO (Consolidado) */
/* ========================================= */

.btn-limpiar {
    background-color: #6c757d; /* Gris */
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 8px;
    font-size: 16px;
    cursor: pointer;
    margin-top: auto; /* Empuja el botón hacia la parte inferior del bloque */
    transition: background-color 0.2s;
}

.btn-limpiar:hover {
    background-color: #5a6268;
}

.lista-consolidada {
    list-style: none;
    padding: 0;
    margin: 0;
}

.lista-consolidada li {
    padding: 8px 0;
    border-bottom: 1px dashed #e0e0e0;
    margin-bottom: 5px;
    font-size: 16px;
    color: #333;
}

.lista-consolidada li:last-child {
    border-bottom: none;
}

/* Icono de advertencia */
.advertencia {
    color: #ffc107;
    margin-left: 5px;
    font-size: 14px;
}