/* ================================= */
/* VARIABLES Y RESET */
/* ================================= */

:root{

    --color-primario:#2C3639;
    --color-secundario:#d5cebb;
    --color-terciario:#a27b5c;
    --color-hover:#3b5249;
    --color-blanco:#ffffff;

    --font-main:'Segoe UI',
    Tahoma,
    Geneva,
    Verdana,
    sans-serif;

}

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

/* ================================= */
/* BODY */
/* ================================= */

body{

    font-family:var(--font-main);

    background-color:var(--color-blanco);

    padding:40px 20px;

    display:flex;

    justify-content:center;

}

/* ================================= */
/* CONTENEDOR PRINCIPAL */
/* ================================= */

.main-container{

    width:100%;

    max-width:1200px;

    background-color:#f5f5f5;

    border-radius:10px;

    overflow:hidden;

    box-shadow:0 10px 30px rgba(0,0,0,0.1);

}

/* ================================= */
/* HERO SECTION */
/* ================================= */

.hero-section{

    display:flex;

    min-height:280px;

    background-color:var(--color-primario);

    color:var(--color-blanco);

}

.hero-image-container{

    flex:1;

    max-height:280px;

    overflow:hidden;

}

.hero-image{

    width:100%;

    height:100%;

    object-fit:cover;

}

.hero-content{

    flex:1;

    padding:35px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    background:
    linear-gradient(
        90deg,
        rgba(44,54,57,0.2) 0%,
        rgba(44,54,57,1) 100%
    );

}

.hero-content h1{

    font-size:2rem;

    margin-bottom:12px;

    letter-spacing:1px;

    line-height:1.2;

}

.hero-content p{

    font-size:0.95rem;

    line-height:1.6;

    color:#e2decb;

}

/* ================================= */
/* GRID DE HOTELES */
/* ================================= */

.grid-section{

    display:grid;

    grid-template-columns:
    repeat(
        auto-fill,
        minmax(300px,1fr)
    );

    gap:25px;

    padding:35px;

    background-color:#fafafa;

}

/* ================================= */
/* TARJETAS */
/* ================================= */

.hotel-card{

    background-color:var(--color-blanco);

    border-radius:10px;

    overflow:hidden;

    box-shadow:0 5px 15px rgba(0,0,0,0.08);

    transition:transform 0.3s ease;

}

.hotel-card:hover{

    transform:translateY(-5px);

}

.hotel-card img{

    width:100%;

    height:240px;

    object-fit:cover;

}

/* ================================= */
/* INFORMACIÓN */
/* ================================= */

.card-info{

    padding:20px;

}

.card-info h3{

    font-size:1.2rem;

    margin-bottom:10px;

    color:var(--color-primario);

}

.card-info p{

    font-size:0.95rem;

    line-height:1.6;

    color:#666;

}

/* ================================= */
/* RESPONSIVE */
/* ================================= */

@media(max-width:900px){

    .hero-section{

        flex-direction:column;

    }

    .hero-image-container{

        max-height:220px;

    }

    .hero-content{

        padding:25px 20px;

        background:var(--color-primario);

    }

    .hero-content h1{

        font-size:1.7rem;

    }

    .grid-section{

        grid-template-columns:1fr;

        padding:20px;

        gap:20px;

    }

    .hotel-card img{

        height:220px;

    }

}