:root {
    --brand-orange: #f37021;    
    --brand-black: #0d0e10;     
    --section-dark: #16181c;    
    --brand-grey: #a4b0be;
    --text-light: #ffffff;
    --whatsapp-green: #25d366;
    --letter-space-mod: 0.5px;
}

/* RESET GENERAL, FUENTES Y CENTRADO DE BODY */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
    letter-spacing: var(--letter-space-mod);
}

html { 
    scroll-behavior: smooth; 
}

body { 
    background-color: var(--brand-black); 
    color: var(--text-light); 
    line-height: 1.7; 
    -webkit-font-smoothing: antialiased;
    display: flex;
    flex-direction: column;
    align-items: center; /* Centrado horizontal de secciones */
    justify-content: center;
    width: 100%;
}

/* Asegurar que todas las secciones ocupen todo el ancho pero centren su contenido */
header, section, footer {
    width: 100%;
    display: flex;
    justify-content: center;
}

.container { 
    width: 90%; 
    max-width: 1140px; 
    margin: 0 auto; 
}

.small-container { 
    max-width: 700px; 
}

.text-center { 
    text-align: center; 
}

.text-white { 
    color: var(--text-light) !important; 
}

/* NAVBAR */
.navbar {
    width: 100%;
    background: var(--brand-black);
    padding: 20px 0;
    position: sticky;
    top: 0;
    z-index: 3000;
    border-bottom: 2px solid rgba(243, 112, 33, 0.1);
}
.nav-container { 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
}
.nav-logo { 
    height: 55px; 
    width: auto; 
    display: block; 
}
.nav-links { 
    display: flex; 
    list-style: none; 
    gap: 35px; 
    align-items: center; 
}
.nav-links a { 
    text-decoration: none; 
    color: var(--text-light); 
    font-weight: 600; 
    font-size: 15px; 
    transition: color 0.3s; 
}
.nav-links a:hover { 
    color: var(--brand-orange); 
}

/* BOTONES */
.btn-primary { 
    background: var(--brand-orange); 
    color: var(--brand-black) !important; 
    padding: 12px 26px; 
    border-radius: 8px; 
    font-weight: 700; 
}
.btn-primary:hover { 
    background: var(--text-light); 
    color: var(--brand-black) !important; 
}
.btn-whatsapp { 
    background: var(--whatsapp-green); 
    color: var(--text-light); 
    padding: 16px 32px; 
    border-radius: 8px; 
    text-decoration: none; 
    font-weight: 700; 
    display: inline-flex; 
    align-items: center; 
    gap: 12px; 
    transition: 0.3s; 
}
.btn-secondary { 
    background: transparent; 
    color: var(--text-light); 
    padding: 16px 32px; 
    border-radius: 8px; 
    text-decoration: none; 
    font-weight: 700; 
    border: 2px solid var(--brand-orange); 
    display: inline-flex; 
    align-items: center; 
    gap: 12px; 
    transition: 0.3s; 
}
.btn-whatsapp:hover, .btn-secondary:hover { 
    transform: translateY(-3px); 
    box-shadow: 0 10px 20px rgba(243, 112, 33, 0.15); 
}

/* HERO */
.hero { 
    padding: 120px 0; 
    background: var(--brand-black); 
}
.hero-grid { 
    display: grid; 
    grid-template-columns: 1.2fr 0.8fr; 
    align-items: center; 
    gap: 60px; 
}
.hero-text h1 { 
    font-size: 54px; 
    font-weight: 800; 
    line-height: 1.15; 
    margin-bottom: 30px; 
}
.highlight { 
    color: var(--brand-orange); 
}
.hero-text p { 
    font-size: 18px; 
    color: var(--brand-grey); 
    margin-bottom: 40px; 
}
.hero-buttons { 
    display: flex; 
    gap: 20px; 
    flex-wrap: wrap; 
}
.delivery-icon { 
    font-size: 180px; 
    color: var(--brand-orange); 
    display: block; text-align: center; 
    animation: floatAnimation 3.5s ease-in-out infinite; 
}
@keyframes floatAnimation { 
    0%, 100% { transform: translateY(0); } 
    50% { transform: translateY(-20px); } 
}

/* SECCIÓN: IMAGEN PROMOCIONAL (SINGANASDECOCINAR.JPG) */
.promo-banner-section {
    padding: 40px 0;
    background: var(--brand-black);
}
.promo-img-wrapper {
    max-width: 480px;
    margin: 0 auto;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(243, 112, 33, 0.15);
    border: 2px solid rgba(243, 112, 33, 0.2);
    transition: transform 0.3s ease;
}
.promo-img-wrapper:hover {
    transform: scale(1.02);
    border-color: var(--brand-orange);
}
.promo-banner-img {
    width: 100%;
    height: auto;
    display: block;
}

/* QUE ES INDOO */
.about-section { 
    padding: 100px 0; 
    background: var(--section-dark); 
    border-top: 1px solid rgba(243, 112, 33, 0.1); 
    border-bottom: 1px solid rgba(243, 112, 33, 0.1); 
}
.section-title { 
    font-size: 42px; 
    font-weight: 800; 
    text-align: center; 
    margin-bottom: 15px; 
    color: var(--brand-orange); 
    text-transform: uppercase; 
}
.section-subtitle { 
    font-size: 26px; 
    text-align: center; 
    color: var(--text-light); 
    margin-bottom: 50px; 
    font-weight: 400; 
}
.about-box { 
    background: var(--brand-black); 
    padding: 50px; 
    border-radius: 12px; 
    border-left: 5px solid var(--brand-orange); 
    font-size: 18px; 
    color: #e2e8f0; 
    text-align: left;
}
.about-box p { 
    margin-bottom: 25px; 
}
.highlight-text { 
    background: rgba(243, 112, 33, 0.05); 
    padding: 25px; 
    border-radius: 8px; 
    font-weight: 600; 
    color: var(--brand-orange); 
    border: 1px dashed var(--brand-orange); 
}

/* LOCALES CON RECUADROS SIMÉTRICOS PERFECTOS */
.locales-section { 
    padding: 100px 0; 
    background: var(--brand-black); 
}
.grid-2 { 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(450px, 1fr)); 
    gap: 40px; 
}
.local-card { 
    background: var(--section-dark); 
    border-radius: 16px; 
    overflow: hidden; 
    display: flex; 
    align-items: center;        /* Centra verticalmente imagen e info interna */
    box-shadow: 0 10px 30px rgba(0,0,0,0.3); 
    border: 1px solid rgba(255,255,255,0.03); 
    transition: border-color 0.3s ease;
    min-height: 210px;          /* Fuerza que todas las tarjetas midan lo mismo */
}
.local-card:hover { 
    border-color: var(--brand-orange); 
}

/* Contenedor de la Imagen: Rectángulo idéntico y equilibrado */
.local-img-container {
    width: 40%;
    height: 180px;              /* MEDIDA FIJA RECTANGULAR PARA TODAS LAS IMÁGENES */
    margin: 15px;               
    border-radius: 12px;        
    overflow: hidden;           
    background: #252830;
}

/* Ajuste proporcional de fotos */
.local-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;          /* Recorta y ajusta al rectángulo automáticamente */
    display: block;
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Animación Zoom sin romper el rectángulo */
.local-card:hover .local-photo {
    transform: scale(1.12);
}

.local-info-content { 
    width: 60%; 
    padding: 15px 20px 15px 5px; 
    display: flex; 
    flex-direction: column; 
    justify-content: center; 
    text-align: left;
}
.local-info-content h3 { 
    font-size: 22px; 
    color: var(--text-light); 
    margin-bottom: 8px; 
}
.local-info-content p { 
    color: var(--brand-grey); 
    font-size: 14px; 
    margin-bottom: 18px; 
    line-height: 1.5; 
}
.btn-pedir { 
    background: var(--brand-orange); 
    color: var(--brand-black); 
    text-decoration: none; 
    padding: 10px 24px; 
    border-radius: 6px; 
    font-weight: 700; 
    align-self: flex-start; 
    font-size: 14px; 
    display: inline-flex; 
    align-items: center; 
    gap: 8px; 
    transition: 0.2s; 
}
.btn-pedir:hover { 
    background: var(--text-light); 
}

/* AJUSTES TARJETA ANUNCIO */
.commercial-card {
    border: 1px dashed rgba(243, 112, 33, 0.4) !important;
    background: linear-gradient(145deg, #16181c 0%, #1e110b 100%) !important;
}
.commercial-img-box {
    background: rgba(243, 112, 33, 0.1) !important;
    display: flex;
    align-items: center;
    justify-content: center;
}
.commercial-icon {
    font-size: 55px;
    color: var(--brand-orange);
    animation: pulseAnimation 2s infinite ease-in-out;
}
@keyframes pulseAnimation {
    0%, 100% { transform: scale(1); opacity: 0.9; }
    50% { transform: scale(1.06); opacity: 1; }
}
.badge-promo {
    background: var(--brand-orange);
    color: var(--brand-black);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 4px;
    align-self: flex-start;
    margin-bottom: 8px;
}
.btn-call-now {
    background: var(--text-light) !important;
    color: var(--brand-black) !important;
}
.btn-call-now:hover {
    background: var(--brand-orange) !important;
    color: var(--brand-black) !important;
}

/* MAPA */
.map-section { 
    padding: 100px 0; 
    background: var(--section-dark); 
}
.map-instruction { 
    font-size: 18px; 
    color: var(--brand-grey); 
}
.map-spacer { 
    height: 45px; 
}
.map-wrapper { 
    border-radius: 12px; 
    overflow: hidden; 
    box-shadow: 0 20px 40px rgba(0,0,0,0.4); 
    border: 3px solid rgba(243, 112, 33, 0.2); 
}

/* ¿HABLAMOS? */
.talk-section { 
    padding: 100px 0 60px 0; 
    background: var(--brand-black); 
}
.talk-p { 
    font-size: 18px; 
    color: var(--brand-grey); 
    max-width: 800px; 
    margin: 0 auto 40px auto; 
}
.details-horizontal { 
    display: flex; 
    justify-content: center; 
    gap: 40px; 
    flex-wrap: wrap; 
}
.details-horizontal span { 
    font-size: 16px; 
    display: inline-flex; 
    align-items: center; 
    gap: 10px; 
}
.details-horizontal i { 
    color: var(--brand-orange); 
    font-size: 18px; 
}

/* FORMULARIO */
.form-section { 
    padding: 0 0 100px 0; 
    background: var(--brand-black); 
}
.contact-form-container { 
    background: var(--section-dark); 
    padding: 50px; 
    border-radius: 12px; 
    box-shadow: 0 15px 40px rgba(0,0,0,0.2); 
    border: 1px solid rgba(243, 112, 33, 0.1); 
}
.form-group { 
    margin-bottom: 25px; 
}
.form-group label { 
    display: block; 
    font-weight: 600; 
    margin-bottom: 10px; 
    font-size: 14px; 
    color: var(--brand-orange); 
}
.form-group input, .form-group textarea { 
    width: 100%; 
    padding: 14px 18px; 
    background: var(--brand-black); 
    border: 1px solid #2d3139; 
    border-radius: 6px; 
    font-size: 16px; 
    color: var(--text-light); 
    outline: none; 
    transition: 0.3s; 
}
.form-group input:focus, .form-group textarea:focus { 
    border-color: var(--brand-orange); 
    box-shadow: 0 0 0 3px rgba(243, 112, 33, 0.15); 
}
.btn-submit { 
    background: var(--brand-orange); 
    color: var(--brand-black); 
    border: none; 
    padding: 16px 30px; 
    font-size: 16px; 
    font-weight: 700; 
    border-radius: 6px; 
    cursor: pointer; 
    width: 100%; 
    transition: 0.3s; 
}
.btn-submit:hover { 
    background: var(--text-light); 
}

/* ALERTAS */
.alert { 
    padding: 15px; 
    border-radius: 6px; 
    margin-bottom: 25px; 
    font-weight: 600; 
    text-align: center; 
}
.alert.success { 
    background: rgba(37, 211, 102, 0.1); 
    color: #25d366; 
    border: 1px solid #25d366; 
}
.alert.error { 
    background: rgba(235, 94, 85, 0.1); 
    color: #eb5e55; 
    border: 1px solid #eb5e55; 
}

/* PIE DE PÁGINA */
.footer { 
    background: #060708; 
    padding: 80px 0 0 0; 
    border-top: 1px solid #16181c; 
}
.footer-grid-bottom { 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); 
    gap: 60px; 
    padding-bottom: 50px; 
}
.footer-column h3 { 
    color: var(--brand-orange); 
    margin-bottom: 30px; 
    font-size: 20px; 
    text-transform: uppercase; 
    font-weight: 700; 
}
.footer-column p { 
    color: var(--brand-grey); 
    font-size: 15px; 
}
.footer-column ul { 
    list-style: none; 
}
.footer-column ul li a { 
    color: var(--brand-grey); 
    text-decoration: none; 
    transition: color 0.2s; 
}
.footer-column ul li a:hover { 
    color: var(--brand-orange); 
}
.footer-copy { 
    text-align: center; 
    padding: 25px 0; 
    border-top: 1px solid #111317; 
    font-size: 14px; 
    color: #57606f; 
    width: 100%; 
}

/* RESPONSIVE */
@media(max-width: 992px) {
    .grid-2 { grid-template-columns: 1fr; }
    .local-card { flex-direction: column; align-items: stretch; }
    .local-img-container { width: calc(100% - 30px); height: 220px; }
    .local-info-content { width: 100%; padding: 20px; }
}
@media(max-width: 768px) {
    .hero-grid { grid-template-columns: 1fr; text-align: center; }
    .hero-buttons { justify-content: center; }
    .nav-links { display: none; }
    .hero-text h1 { font-size: 38px; }
    .section-title { font-size: 32px; }
    .details-horizontal { flex-direction: column; gap: 15px; }
}
@media(max-width: 576px) {
    .promo-img-wrapper { max-width: 95%; }
}

/* ==========================================================================
   NUEVA SECCIÓN DE REDES SOCIALES EN FOOTER Y AJUSTES DE CIERRE
   ========================================================================== */

/* Grid del footer pasa de 2 a 3 columnas en pantallas grandes */
.footer-grid-bottom { 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); 
    gap: 40px; 
    padding-bottom: 50px; 
}

/* Contenedor de iconos de redes */
.social-links-container {
    display: flex;
    gap: 15px;
    margin-top: 15px;
}

/* Botón base para redes */
.social-icon-btn {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #16181c;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.05);
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Efectos Hover individuales con los colores oficiales de cada marca */
.social-icon-btn:hover {
    transform: translateY(-5px);
    color: #ffffff !important;
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.3);
}

.social-icon-btn.facebook:hover {
    background: #1877f2;
    border-color: #1877f2;
}

.social-icon-btn.instagram:hover {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    border-color: #dc2743;
}

.social-icon-btn.tiktok:hover {
    background: #010101;
    border-color: #00f2fe;
    text-shadow: 1px 1px #fe0979, -1px -1px #00f2fe;
}

.social-icon-btn.google-review:hover {
    background: #4285f4;
    border-color: #4285f4;
}

/* Asegurar el empuje definitivo del Copyright */
.footer {
    position: relative;
    display: flex;
    flex-direction: column;
}

.footer-copy { 
    text-align: center; 
    padding: 25px 0; 
    border-top: 1px solid #16181c; 
    font-size: 14px; 
    color: #57606f; 
    width: 100%;
    background: #030405; /* Fondo ligeramente más oscuro para marcar el fin absoluto */
}

/* Ajustes menores para móvil */
@media(max-width: 768px) {
    .social-links-container {
        justify-content: center;
        margin-bottom: 20px;
    }
    .text-center-mobile h3 {
        text-align: center;
    }
}