/* ================= VARIABLES ================= */
:root {
    --brand-color: #d84315; /* Naranja oscuro (Restaurante) */
    --brand-hover: #bf360c;
    --cart-accent: #ffb300; /* NUEVO: Dorado brillante para contrastar */
}

/* ================= ESTILOS DEL CARRITO ================= */
/* Color para la burbuja (badge) del carrito */
.cart-badge-custom {
    background-color: var(--cart-accent) !important;
    color: #121212 !important; /* Texto oscuro para máximo contraste */
    font-weight: bold;
    box-shadow: 0 2px 5px rgba(0,0,0,0.3); /* Pequeña sombra para que resalte */
    border-radius: 50% !important;
    min-width: 22px;
}

/* Efecto hover: El ícono del carrito se ilumina al pasar el mouse */
.cart-icon-wrapper:hover i {
    color: var(--cart-accent) !important;
    transition: color 0.3s ease;
}

/* ================= TAMAÑO DEL MODAL DEL CARRITO ================= */
#cart-modal {
    width: 90% !important;       /* Ocupará el 90% del ancho de la pantalla en móviles */
    max-width: 900px !important; /* En escritorio no pasará de 900px para que no se vea desproporcionado */
    height: 85% !important;      /* Aumenta la altura al 85% de la pantalla */
    max-height: 85% !important; 
}

/* Estilo inicial para los botones sin color */
.btn-tipo-pedido {
    width: 100%;
    border-radius: 8px;
    height: 50px;
    border: 1px solid #e0e0e0; /* Un borde gris sutil */
    background-color: transparent;
    color: #333;
}

/* Estilo cuando el botón recibe clic */
.btn-seleccionado {
    background-color: #e3f2fd !important; /* Un azul muy claro */
    border-color: #2196f3 !important; /* Borde azul para resaltar */
    color: #0d47a1 !important; /* Texto más oscuro */
}

/* ================= COMPORTAMIENTO GENERAL ================= */
html {
    scroll-behavior: smooth; /* Hace que los clics en el menú se deslicen suavemente */
}

/* ================= UTILIDADES ================= */
.brand-text { color: var(--brand-color) !important; }
.bg-brand { background-color: var(--brand-color) !important; }
.bg-brand:hover { background-color: var(--brand-hover) !important; }
.text-shadow { text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.8); }
.rounded-img { border-radius: 12px; }
.border-none { border: none !important; }

/* Para que la imagen y el texto en "Nosotros" se alineen bien en móviles */
.flex-wrap { flex-wrap: wrap; }

/* ================= SLIDER ================= */
.fullscreen-slider {
    height: 90vh !important;
}
.slider .slides li img {
    filter: brightness(0.6); /* Oscurece la imagen para que el texto resalte */
}

/* ================= TABS PERSONALIZADOS ================= */
.tabs.transparent-tabs .indicator {
    background-color: var(--brand-color);
    height: 3px;
}
.tabs.transparent-tabs .tab a {
    color: #424242;
    font-weight: bold;
}
.tabs.transparent-tabs .tab a:hover, 
.tabs.transparent-tabs .tab a.active {
    color: var(--brand-color);
}

/* ================= CARDS DEL MENÚ ================= */
.dish-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-radius: 12px;
    overflow: hidden;
    height: 100%; /* Iguala alturas */
    display: flex;
    flex-direction: column;
}

.dish-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
}

.dish-card .card-image img {
    height: 220px;
    object-fit: cover;
}

.dish-card .card-content {
    flex-grow: 1; /* Empuja el botón/precio hacia abajo si el texto es corto */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.price-tag {
    font-size: 1.6rem;
    font-weight: 800;
    color: var(--brand-color);
    margin-top: 15px;
    border-top: 1px solid #eee;
    padding-top: 10px;
}

/* ================= GALERÍA ================= */
.gallery-item {
    margin-bottom: 20px;
}
.gallery-item img {
    border-radius: 8px;
    cursor: zoom-in;
}

/* ================= CAROUSEL TESTIMONIOS ================= */
#testimonial-carousel {
    height: 300px !important;
}


/* ================= CAROUSEL GALERIA ================= */

/* Contenedor principal relativo para posicionar los botones */
.carousel-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    max-width: 100%;
    overflow: hidden;
}

/* El track o pista por donde se deslizan las imágenes */
.carousel-track {
    display: flex;
    gap: 15px; /* Espacio entre imágenes */
    overflow-x: auto;
    scroll-snap-type: x mandatory; /* Fuerza a que se detenga en una imagen */
    scroll-behavior: smooth; /* Deslizamiento suave al usar JS */
    padding: 10px 0;
    
    /* Ocultar barra de scroll en navegadores Webkit (Chrome, Safari) */
    -ms-overflow-style: none;  
    scrollbar-width: none;  
}

.carousel-track::-webkit-scrollbar {
    display: none;
}

/* Cada elemento del carrusel */
.carousel-item {
    flex: 0 0 100%; /* Cada imagen ocupa el 100% en móviles */
    scroll-snap-align: center;
}

/* Ajuste responsivo: en tablets/desktop mostrar 2 o 3 imágenes */
@media (min-width: 600px) {
    .carousel-item {
        flex: 0 0 calc(100% / 2 - 15px); /* 2 imágenes visibles */
    }
}
@media (min-width: 992px) {
    .carousel-item {
        flex: 0 0 calc(100% / 3 - 15px); /* 3 imágenes visibles */
    }
}

.carousel-item img {
    width: 100%;
    height: 250px;
    object-fit: cover; /* Evita que las imágenes se deformen */
    border-radius: 8px; /* Opcional: bordes redondeados */
}

/* Estilos de los botones */
.carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    padding: 10px 15px;
    cursor: pointer;
    z-index: 10;
    border-radius: 50%;
    transition: background 0.3s ease;
}

.carousel-btn:hover {
    background: rgba(0, 0, 0, 0.8);
}

.prev-btn { left: 10px; }
.next-btn { right: 10px; }

/* ================= FIN CAROUSEL GALERIA ================= */

/* Asignamos la posición a los botones de la galería Y a los del menú */
.prev-btn, .prev-btn-menu { 
    left: 10px; 
}
.next-btn, .next-btn-menu { 
    right: 10px; 
}

.carousel-track {
    display: flex;
    gap: 15px; /* Espacio entre imágenes */
    overflow-x: auto;
    scroll-snap-type: x mandatory; 
    scroll-behavior: smooth; 
    
    /* CAMBIO AQUÍ: 10px arriba/abajo, 50px izquierda/derecha */
    padding: 10px 50px; 
    
    -ms-overflow-style: none;  
    scrollbar-width: none;  
}

/* ================= RESPONSIVE DESIGN ================= */
@media (max-width: 600px) {
    /* Ocultamos los botones en celulares (el usuario desliza con el dedo) */
    .carousel-btn {
        display: none;
    }
    
    /* Reducimos el padding lateral porque ya no hay botones estorbando */
    .carousel-track {
        padding: 10px 15px;
    }
}



/* ================= SIDENAV PERSONALIZADO ================= */

/* Fondo oscuro con un gradiente muy sutil hacia tu color de marca */
.custom-sidenav {
    background: linear-gradient(145deg, #121212 0%, #2a2a2a 100%);
    /* Si prefieres que el gradiente incluya tu naranja oscuro, usa este en su lugar:
       background: linear-gradient(145deg, #1c1c1c 0%, #4a1705 100%); */
}

/* Color de los enlaces */
.custom-sidenav li > a {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 1.1rem;
    font-weight: 500;
    transition: background-color 0.3s ease, padding-left 0.3s ease;
}

/* Color de los iconos: Usamos tu variable de color para que resalten */
.custom-sidenav li > a > i.brand-icon {
    color: var(--brand-color) !important;
}

/* Efecto al tocar/pasar el cursor (Hover) */
.custom-sidenav li > a:hover {
    background-color: rgba(216, 67, 21, 0.15); /* Un fondo naranja muy translúcido */
    padding-left: 40px; /* Empuja el texto un poco a la derecha para darle dinamismo */
}

/* Línea separadora adaptada al fondo oscuro */
.custom-sidenav .divider.custom-divider {
    background-color: rgba(255, 255, 255, 0.1);
    margin: 10px 0;
}

/* ================= NAVBAR PERSONALIZADO ================= */

/* Forzamos el fondo negro para sobreescribir Materialize */
.custom-navbar {
    background-color: #161313 !important; /* Negro oscuro sólido */
    box-shadow: 0 2px 10px rgba(15, 14, 14, 0.5); /* Sombra para darle profundidad */
}



/* Modificamos el price-tag para usar Flexbox */
.price-tag {
    font-size: 1.6rem;
    font-weight: 800;
    color: var(--brand-color);
    margin-top: 15px;
    border-top: 1px solid #eee;
    padding-top: 10px;
    display: flex;
    justify-content: space-between; /* Separa el precio del botón */
    align-items: center;
}

/* Ajuste sutil para el contador del carrito en el Navbar */
#cart-badge {
    min-width: 20px;
    border-radius: 50%;
    margin-left: 5px;
}

/* ================= MAPA DE UBICACIÓN ================= */
.map-container {
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    background-color: #eee; /* Fallback de carga */
}

.map-container iframe {
    width: 100%;
    height: 350px;
    border: none;
    display: block; /* Elimina el pequeño margen inferior fantasma de los iframes */
}

/* Ajuste de altura en dispositivos móviles para optimizar el viewport */
@media (max-width: 600px) {
    .map-container iframe {
        height: 250px;
    }
}


/* ================= CORRECCIÓN DE NÚMEROS INVISIBLES EN DATEPICKER ================= */

/* 1. Forzar que todos los días del calendario tengan texto oscuro */
.datepicker-table td,
.datepicker-table td button {
    color: #212121 !important; 
}

/* 2. Asegurar que el día seleccionado mantenga el texto blanco para contrastar con el fondo naranja */
.datepicker-table td.is-selected button {
    color: #ffffff !important; 
}

/* 3. Prevenir que los números del Timepicker (Reloj) también sufran el mismo problema */
.timepicker-tick {
    color: #212121 !important;
}

.timepicker-tick.active,
.timepicker-tick:hover {
    color: #ffffff !important;
}

/* ================= FOOTER Y REDES SOCIALES ================= */

/* Flexbox para alinear todos los iconos en un solo renglón horizontal */
.social-inline {
    display: flex;
    align-items: center;
    gap: 25px; /* Espaciado uniforme y elegante entre íconos */
    padding: 0;
    margin-top: 10px;
}

/* Quitamos los estilos de lista por defecto */
.social-inline li {
    list-style: none;
}

/* Estilos base y transiciones para la animación */
.social-icon {
    display: inline-block;
    transition: transform 0.3s ease, filter 0.3s ease;
}

/* Efecto al pasar el cursor (Hover) */
.social-icon:hover {
    transform: translateY(-5px); /* El ícono da un pequeño "salto" hacia arriba */
    filter: brightness(1.2); /* Se ilumina sutilmente */
}



/* 👉 NUEVO: Estilos Profesionales y Responsivos para el Modal del Carrito */

/* Ajustes generales del contenedor */
#cart-modal {
    width: 95% !important; /* Un poco más ancho en móviles para aprovechar espacio */
    max-width: 700px !important; /* Más contenido y elegante en PC */
    border-radius: 12px; /* Bordes redondeados modernos */
}

/* Quitamos el padding derecho absoluto que rompe el diseño en móviles */
#cart-items .collection-item.avatar {
    display: flex;
    flex-direction: column;
    padding-right: 20px; 
    min-height: auto;
    border-radius: 8px;
    margin-bottom: 10px;
    border: 1px solid #f5f5f5;
}

/* En pantallas más grandes, lo volvemos horizontal */
@media (min-width: 600px) {
    #cart-items .collection-item.avatar {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}

/* Contenedor de la información (Nombre, cantidad, notas) */
.cart-item-info {
    flex: 1;
    padding-left: 60px; /* Deja espacio exacto para la imagen circular */
}

/* Contenedor de las acciones (Precio y eliminar) */
.cart-item-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-top: 15px;
    padding-left: 60px; /* Alineado con el texto en móviles */
}

/* Comportamiento de acciones en escritorio */
@media (min-width: 600px) {
    .cart-item-info { padding-left: 60px; }
    .cart-item-actions {
        width: auto;
        margin-top: 0;
        padding-left: 0;
        flex-direction: column;
        align-items: flex-end;
    }
}

/* Ajuste de los botones del pie de página para móviles */
@media (max-width: 600px) {
    #cart-modal .modal-footer {
        display: flex;
        flex-direction: column-reverse; /* El botón de WhatsApp queda arriba, es más importante */
        height: auto;
        padding: 15px;
    }
    #cart-modal .modal-footer .btn, 
    #cart-modal .modal-footer .btn-flat {
        width: 100%;
        margin: 5px 0;
        text-align: center;
    }
}