:root {
    --primary: #1a1a1a;
    --secondary: #796446;
    --bg-light: #fdfdfd;
    --white: #ffffff;
}

body {
    font-family: 'Inter', sans-serif;
    margin: 0;
    background-color: var(--bg-light);
    color: var(--primary);
}

h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 450;
}

h1, h3 {
    font-family: 'Playfair Display', serif;
    font-weight: 400;
}

/* --- Navegación Estilo Minimal --- */
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0px 50px;
    background: var(--white);
    position: sticky;
    top: 0;
    z-index: 1000;
    border-bottom: 1px solid #ffffff;
    height: 150px;
}

.logo a {
    text-decoration: none;
    color: var(--primary);
    font-size: 1.2rem;
    letter-spacing: 3px;
    font-weight: 600;
}
.logo {
    display: flex;
    align-items: center;
    height: 100%;
}

.nav-links {
    list-style: none;
    display: flex;
    gap: 45px;
    align-items: center;
}

.nav-links a {
    text-decoration: none;
    font-weight: 500; /* Un poco más de cuerpo a la letra */
    letter-spacing: 2.5px; /* Espaciado elegante entre letras */
    color: var(--primary);
    font-size: 17px;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: color 0.3s;
}


.nav-links a:hover { color: var(--secondary); }

/*.nav-btn {
    background: var(--primary);
    color: var(--white) !important;
    padding: 10px 20px;
    border-radius: 2px;
}
/* --- BOTÓN DE CONTACTO (Más grande y potente) --- */
.nav-btn {
    font-size: 16px !important;
    padding: 14px 30px !important; /* Más relleno para que el botón sea más grande */
    letter-spacing: 2px;
    font-weight: 600;
    border-radius: 4px; /* Un poco más de forma */
    background-color: var(--primary);
    border: 1px solid var(--primary);
    transition: 0.3s;
    color: white !important;
}

.nav-btn:hover {
    background-color: var(--secondary) !important;
    border-color: var(--secondary);
    color: white !important;
}
/* --- Hero Home --- */

/* --- 2. EL HERO (La franja gris "Diseño & Confort") --- */
.hero-home {
    height: 40vh; /* Un pelín más alto para que luzca */
    background-color: var(--secondary); /* Un gris casi negro, mucho más elegante que el gris claro */
    /* cuando tenga foto del pueblo, descomenta la línea de abajo */
    /* background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('../img/foto_pueblo.jpg'); */
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: white; /* Texto siempre blanco aquí */
}

.hero-text h1 { font-size: 3.2rem; margin-top: 10px; }
.hero-text span { text-transform: uppercase; letter-spacing: 4px; font-size: 1rem; }

/* --- Grid de Apartamentos --- */
.home-apartments { padding: 80px 50px; max-width: 1200px; margin: 0 auto; }
.section-title { text-align: center; margin-bottom: 50px; }
/* --- 4. TÍTULOS DE SECCIÓN (Nuestros Alojamientos) --- */

/* --- 4. TÍTULOS DE SECCIÓN (Nuestros Alojamientos) --- */
.section-title h1 {
    font-size: 3rem; /* Antes 2.5rem - Ahora tiene mucha más fuerza */
    margin-bottom: 15px;
    letter-spacing: -1px; /* Un toque moderno: letras un poco más juntas en títulos grandes */
}

.section-title p {
    font-size: 1.4rem; /* Antes 1.2rem */
    color: #666;
    max-width: 700px; /* Limitamos el ancho para que el texto no se estire infinito */
    margin: 0 auto; /* Centramos el párrafo */
}

.apt-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.apt-card a { text-decoration: none; color: inherit; }

.apt-img {
    height: 600px; /* Altura generosa */
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
    border-radius: 4px; /* Un toque sutil de suavizado en las esquinas */
}


/* Apartamento Industrial 
.industrial-bg { 
    background-image: url('img/piso_los_santos_de_maimona.jpg'); 
}

/* Apartamento Chic (Cámbialo por el nombre de tu archivo) 
.chic-bg { 
    background-image: url('img/); 
} */
 /* Apartamento Industrial */
.industrial-bg { 
    background-image: url('img/piso_los_santos_de_maimona.jpg'); 
    background-size: cover;
    background-position: center;
}

/* Apartamento Chic */
.chic-bg { 
    background-image: url('img/piso_maimona.jpg'); 
    background-size: cover;
    background-position: center;
}
.apt-price {
    font-size: 1.1rem;
    color: var(--secondary); /* El color bronce para que resalte con elegancia */
    font-weight: 600;
    margin-top: 5px;
    display: block;
}
/* Foto de fondo principal (La que sale arriba del todo al entrar) */
.hero-home {
    background-image: linear-gradient(rgb(46, 34, 24),var(--secondary)), url('img/foto_del_pueblo.jpg');
    background-size: cover;
    background-position: center;
    color: white; /* Esto hace que el texto sea blanco para que se lea bien */
}

.apt-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.4s;
}

.apt-overlay span {
    color: white;
    border: 1px solid white;
    padding: 10px 20px;
    text-transform: uppercase;
    font-size: 0.8rem;
}

.apt-card:hover .apt-overlay { opacity: 1; }

 /*3. TÍTULOS DE LOS APARTAMENTOS --- */
.apt-desc h3 { 
    margin:  20px 0 5px 0; 
    font-size: 2.5rem; /* Antes 1.8rem */
}

.apt-desc p { 
    color: #555; /* Un poco más oscuro para que se lea mejor */
    font-size: 1.1rem; /* Antes 0.9rem */
    line-height: 1.6;
}

/* --- Sección Pueblo --- */
.home-town-preview {
    background: lab(80.4% 2.26 16.47);
    padding: 70px 50px;
    text-align: center;
}

.town-content { max-width: 600px; margin: 0 auto; }
.link-simple { color: var(--secondary); text-decoration: none; font-weight: 600; }

/* Mobile */
@media (max-width: 768px) {
    .apt-grid { grid-template-columns: 1fr; }
    .navbar { padding: 20px; }
    .nav-links { display: none; } /* Aquí podrías añadir un menú hamburguesa */
}
/* --- Ajuste específico para el nuevo Logo con imagen --- */
.navbar .logo a {
    display: flex;
    align-items: center;
    padding: 0; /* Quitamos padding innecesario */
}

.navbar .logo img {
    height: 200px; 
    width: auto;
    display: block;
    /* Ajuste de posición */
    margin-left: -20px; /* Un pequeño ajuste para pegarlo al borde izquierdo */
    margin-top: 0px;   /* Para que sobresalga por abajo como queríamos */
    
    /* Limpieza y efectos */
    transition: transform 0.3s ease;
    z-index: 1001;
    position: relative; 
}








/* Estilos Calendario Dinámico */
.nordic-calendar {
    background: white;
    padding: 20px;
    border-radius: 15px;
    max-width: 400px;
    margin: 0 auto;
}
.cal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
}
.cal-header button {
    background: none; border: none; font-size: 20px; cursor: pointer; color: var(--secondary);
}
.days-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 8px;
}
.day {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    border-radius: 5px;
    font-family: 'Inter', sans-serif;
}
.available { background: #f0f0f0; color: #333; }
.busy { 
    background: #e2a5a5; /* Rojo pastel suave */
    color: white;
    text-decoration: line-through;
}

/* Modales y Panel Admin */
.modal-nordic {
    position: fixed; top:0; left:0; width:100%; height:100%; 
    background: rgba(255,255,255,0.95); display: none; z-index: 2000;
}
.admin-panel-fixed {
    position: fixed; bottom: 0; width: 100%;
    background: white; border-top: 2px solid var(--secondary);
    padding: 20px; z-index: 1500; box-shadow: 0 -5px 20px rgba(0,0,0,0.1);
}
.admin-controls {
    display: flex; justify-content: center; align-items: center; gap: 20px; flex-wrap: wrap;
}
.btn-text { background:none; border:none; text-decoration:underline; color:#666; cursor:pointer; }
.hidden { display: none !important; }

/* Estilo del botón hamburguesa (oculto por defecto en PC) */
.menu-toggle {
    display: none;
    flex-direction: column;
    cursor: pointer;
    gap: 5px;
}

.menu-toggle span {
    width: 25px;
    height: 3px;
    background-color: var(--secondary);
    transition: 0.3s;
}

/* Estilo para la sección SEO con texto justificado */
.home-seo-info {
    padding: 80px 50px;
    background-color: #f9f9f9; /* Fondo gris muy suave para dar contraste */
    border-top: 1px solid #eee;
    display: flex;
    justify-content: center;
}

.seo-container {
    max-width: 800px; /* Reducimos un poco el ancho para mejorar la lectura del justificado */
}

.seo-container h2 {
    font-size: 2.2rem;
    color: var(--primary);
    margin-bottom: 30px;
    text-align: center; /* El título siempre mejor centrado */
    font-family: 'Playfair Display', serif;
}

.seo-container p {
    font-size: 1.15rem;
    line-height: 1.8;
    color: #444;
    margin-bottom: 20px;
    text-align: justify; /* TEXTO JUSTIFICADO */
    hyphens: auto; /* Opcional: ayuda a que las palabras largas se corten mejor */
}

.seo-container strong {
    color: var(--secondary); /* Color bronce para las palabras clave */
    font-weight: 600;
}


/* --- Media Query para Móviles (Sustituye todo el bloque final) --- */
@media (max-width: 768px) {
    /* 1. Navbar y Hamburguesa */
    .menu-toggle { display: flex; } 

    .navbar { 
        height: 80px !important; 
        padding: 0 20px !important; 
    }
    
    .navbar .logo img { 
        height: 100px !important; /* Logo más razonable */
        margin-left: 0 !important;
    }

    .nav-links {
        position: absolute;
        top: 80px;
        left: 0;
        width: 100%;
        background: var(--white);
        flex-direction: column;
        align-items: center;
        gap: 20px;
        padding: 30px 0;
        display: none; /* Se activa con la clase .active */
        border-bottom: 1px solid #eee;
        z-index: 999;
    }

    .nav-links.active { display: flex !important; }

    .nav-btn {
        padding: 10px 20px !important;
        font-size: 14px !important;
    }

    /* 2. Index - Hero (La franja de arriba) */
    .hero-home {
        height: 50vh !important;
    }

    .hero-text h1 {
        font-size: 2rem !important; /* Título más pequeño para que no se corte */
    }

    /* 3. Index - Apartamentos (Uno debajo de otro) */
    .home-apartments {
        padding: 40px 20px !important;
    }

    .section-title h1 {
        font-size: 2.2rem !important;
    }

    .section-title p {
        font-size: 1.1rem !important;
    }

    .apt-grid {
        grid-template-columns: 1fr !important; /* FUERZA una sola columna */
        gap: 40px !important;
    }

    .apt-img {
        height: 350px !important; /* Imagen más baja para móviles */
    }

    .apt-desc h3 {
        font-size: 1.8rem !important;
    }
    .home-seo-info {
        padding: 50px 25px !important;
    }
    .seo-container p {
        font-size: 1.05rem !important;
        text-align: left; /* En móvil el justificado suele verse mal por el poco ancho */
    }
    /* Reducción del H1 (Títulos principales como el del Hero) */
    h1 {
        font-size: 2rem !important; /* Antes 3.2rem */
        line-height: 1.2;
    }

    /* Reducción del H2 (Títulos de secciones como 'Nuestros Alojamientos') */
    h2 {
        font-size: 1.8rem !important; /* Antes 3rem */
        margin-bottom: 15px;
    }

    /* Reducción del H3 (Nombres de los apartamentos) */
    h3 {
        font-size: 1.6rem !important; /* Antes 2.5rem */
    }

    /* Ajuste extra para el texto del Hero Home */
    .hero-text h1 {
        font-size: 1.9rem !important;
        padding: 0 10px;
    }

    .hero-text span {
        font-size: 0.8rem !important;
        letter-spacing: 2px !important;
    }
}