@import url('https://fonts.googleapis.com/css2?family=Courier+Prime:ital,wght@0,400;0,700;1,400;1,700&display=swap');

:root { 
    --bg: #04151F; 
    --accent-dark: #183A37; 
    --text: #EFD6AC; 
    --accent: #C44900; 
}

/* Tipografía de guion absoluta para TODO el sitio */
* {
    font-family: 'Courier Prime', monospace !important;
    box-sizing: border-box;
}

body { 
    background: var(--bg); 
    color: var(--text); 
    margin: 0; 
    line-height: 1.6; 
    overflow-x: hidden; /* Bloquea el scroll horizontal global */
}

/* HEADER: Mantiene el logo a la izquierda y la puerta a la derecha siempre */
header { 
    padding: 20px 5%; 
    display: flex; 
    justify-content: space-between; 
    border-bottom: 1px solid var(--accent-dark); 
    align-items: center; 
    min-height: 80px;
    width: 100%;
}

.logo { 
    text-decoration: none; 
    color: var(--text); 
    font-size: 1.8rem; 
    font-weight: 700;
    letter-spacing: -1px;
}

.logo span { 
    color: var(--accent); 
}

nav {
    display: flex;
    align-items: center;
    gap: 15px;
}

nav a {
    text-decoration: none;
    color: var(--text);
    font-size: 1.6rem;
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* RECTÁNGULO DEL CICLO: Evita el slider y el "baile" */
.filter-bar { 
    background: var(--accent-dark); 
    padding: 20px 5%; 
    margin: 30px 0; 
    border-top: 2px solid var(--accent); 
    border-bottom: 2px solid var(--accent); 
    display: flex; 
    gap: 10px; 
    flex-wrap: wrap; 
    width: 100%;
    justify-content: center;
}

.filter-bar input, .filter-bar select, .filter-bar textarea { 
    background: var(--bg); 
    border: 1px solid #333; 
    color: var(--text); 
    padding: 10px; 
    flex: 1; 
    min-width: 100px; /* Permite que se achiquen más antes de saltar de línea */
}

/* GRID DE PELÍCULAS */
.main-grid { 
    display: grid; 
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); 
    gap: 20px; 
    padding: 5%; 
    width: 100%;
}

.card { 
    background: #061d2b; 
    cursor: pointer; 
    border: 1px solid transparent; 
    transition: 0.3s; 
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
}

.card:hover { 
    transform: scale(1.02); 
}

.card img { 
    width: 100%; 
    aspect-ratio: 2/3; 
    object-fit: cover; 
}

.card h3 {
    margin: 10px 0;
    font-size: 0.9rem;
    padding: 0 5px;
}

.btn { 
    background: var(--accent); 
    color: white; 
    border: none; 
    padding: 10px 20px; 
    cursor: pointer; 
    font-weight: bold; 
    text-decoration: none;
    text-transform: uppercase;
    display: inline-block;
}

h1, h2, h3, h4, h5, h6 {
    margin: 0;
    font-weight: 700;
}

/* AJUSTES ESPECÍFICOS MÓVIL */
@media (max-width: 600px) {
    header {
        padding: 10px 5%; /* Menos relleno para dar aire al logo */
    }
    .logo {
        font-size: 1.2rem; /* Achicamos el logo para que no empuje la puerta */
    }
    .filter-bar {
        padding: 15px;
        gap: 5px;
    }
    .main-grid {
        grid-template-columns: repeat(2, 1fr); /* Fuerza 2 columnas exactas para evitar baile */
        gap: 10px;
        padding: 10px;
    }
}