/* --- RESET --- */
* { margin: 0; padding: 0; box-sizing: border-box; }
body, html { font-family: 'Montserrat', sans-serif; transition: background 0.5s ease; }

/* --- NAVEGACIÓN GLOBAL --- */
nav { z-index: 10000; transition: background 0.3s ease-in-out; }
/* El header usa clases utilitarias (pb-4, bg-black, flex-col) idénticas en todas las páginas.
   No se redefine .header-content aquí para que index/historia tengan el mismo alto que el resto
   y el header no "salte" al navegar entre páginas. */
.nav-link { font-size: 10px; letter-spacing: 3px; text-transform: uppercase; color: rgba(255,255,255,0.6); text-decoration: none; transition: 0.4s; }
.nav-link:hover { color: #fff; }
.nav-link.active { color: #fff; font-weight: 900; border-bottom: 2px solid #008C45; padding-bottom: 5px; }

/* Banderas: el marcado nuevo usa clases Tailwind (flex, gap-1, mt-1, w-8, h-[2px], bg-*).
   No se redefine .flag-container aquí: su margin-bottom inflaba el header ~11px solo en
   index/historia (unicas que cargan style.css) y lo hacia "saltar" respecto al resto. */
.separator-green { width: 1px; height: 12px; background: #008C45; opacity: 0.6; }

/* --- EL FAMOSO MODAL PREMIUM (IMAGE 2 FONDO) --- */
.modal-overlay {
    display: none; 
    position: fixed; 
    inset: 0; 
    z-index: 99999;
    background-image: url('/image/benelli-fondo.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    filter: brightness(1.2) contrast(1.15) saturate(1.2);
    justify-content: center; 
    align-items: center;
    overflow: hidden;
}

.modal-content {
    background: #111; /* MENOS NEGRO, MÁS GRIS OSCURO PREMIUM */
    width: 95%; max-width: 1100px; height: 560px;
    display: flex; 
    position: relative;
    box-shadow: 0 0 100px rgba(0,0,0,1);
    filter: brightness(0.8) contrast(0.9) blur(0) !important; 
}

.close-modal { position: absolute; top: 20px; right: 25px; font-size: 35px; cursor: pointer; color: rgba(255,255,255,0.3); z-index: 100; }
.close-modal:hover { color: #fff; }

.modal-form-side { width: 45%; padding: 50px; display: flex; align-items: center; background: #111; } /* Fondo Lighter Grey */
.modal-image-side { width: 55%; position: relative; }
.modal-image-side img { width: 100%; height: 100%; object-fit: cover; }
.img-overlay-side { position: absolute; inset: 0; background: linear-gradient(to right, #111 0%, transparent 40%); } /* Ajuste de degradado */

#contactForm input, #contactForm textarea {
    background: rgba(255,255,255,0.08); /* Fondo Lighter Grey en campos */
    border: none; border-bottom: 1px solid rgba(255,255,255,0.1);
    padding: 15px; color: #fff; font-size: 13px; outline: none; margin-bottom: 10px; width: 100%;
}
.btn-submit-modal { background: #008C45; color: #fff; padding: 18px; text-transform: uppercase; font-weight: 900; letter-spacing: 3px; border: none; cursor: pointer; margin-top: 15px; width: 100%; transition: 0.4s; }
.btn-submit-modal:hover { background: white; color: black; }

/* --- REVEAL ANIMATIONS --- */
.reveal-content, .reveal-left, .reveal-right { opacity: 0; transition: all 1.2s cubic-bezier(0.16, 1, 0.3, 1); }
.reveal-content { transform: translateY(50px); }
.reveal-left { transform: translateX(-50px); }
.reveal-right { transform: translateX(50px); }
.active { opacity: 1; transform: translate(0, 0); }
