/* =====================================================
   HOME
===================================================== */


/* ---------- HERO ---------- */

.hero{

    padding:6rem 0;

}

.hero__content{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:5rem;
    align-items:center;

}

.hero__eyebrow{

    display:inline-block;
    margin-bottom:1rem;
    font-size:.9rem;
    text-transform:uppercase;
    letter-spacing:.14em;
    color:var(--color-primary);

}

.hero h1{

    margin-bottom:1.5rem;
    max-width:650px;

}

.hero p{

    max-width:600px;
    color:var(--color-text-light);

}

.hero__image{

    overflow:hidden;
    border-radius:var(--radius);
    box-shadow:var(--shadow);

}

.hero__image img{

    display:block;
    width:100%;
    height:100%;
    object-fit:cover;

}


/* ---------- BUSCADOR ---------- */

.hero-search{

    display:flex;
    gap:14px;
    margin:2rem 0 1rem;

}

.hero-search input{

    flex:1;
    height:58px;
    padding:0 20px;
    border:1px solid var(--color-border);
    border-radius:14px;
    font-size:1rem;
    outline:none;
    transition:.25s;

}

.hero-search input:focus{

    border-color:var(--color-primary);
    box-shadow:0 0 0 4px rgba(42,122,87,.12);

}

.hero-search button{

    padding:0 34px;
    border:none;
    border-radius:14px;
    background:var(--color-primary);
    color:#fff;
    font-size:1.05rem;
    font-weight:700;
    letter-spacing:.02em;
    cursor:pointer;
    transition:.25s;

}

.hero-search button:hover{

    transform:translateY(-2px);

}

.hero__stats{

    margin-top:1rem;
    font-size:.95rem;
    color:var(--color-text-light);

}


/* ---------- SECCIONES ---------- */

.home-retreats{

    padding:5rem 0;

}

.home-cta{

    padding:5rem 0;
    text-align:center;

}

.home-cta p{

    max-width:650px;
    margin:1rem auto 2rem;
    color:var(--color-text-light);

}


/* ---------- CABECERA ---------- */

.section-heading{

    display:block;

    margin-bottom:2.5rem;

}

.section-subtitle{

    margin-top:.75rem;

    color:var(--color-text-light);

    font-size:1rem;

    max-width:700px;

}

.section-heading a{

    text-decoration:none;
    font-weight:600;
    color:var(--color-primary);

}


/* ---------- RESPONSIVE ---------- */

@media (max-width:1024px){

    .home-retreats .retreat-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media (max-width:900px){

    .hero{

        padding:4rem 0;

    }

    .hero__content{

        grid-template-columns:1fr;
        gap:3rem;

    }

    .hero__image{

        order:-1;

    }

    .hero-search{

        flex-direction:column;

    }

    .hero-search button{

        height:58px;

    }

    .section-heading{

        flex-direction:column;
        align-items:flex-start;
        gap:1rem;

    }

}

@media (max-width:768px){

    .home-retreats .retreat-grid{

        grid-template-columns:1fr;

    }

}
/* =====================================================
   RETIRO DESTACADO
===================================================== */

.home-retreats .retreat-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:2rem;
    align-items:start;
}

.home-retreats .retreat-card{
    width:100%;
    max-width:none;
}

@media(max-width:768px){

    .home-retreats .retreat-grid{
        grid-template-columns:1fr;
    }

}
/* =====================================================
   SUBTÍTULO
===================================================== */

.section-subtitle{
    margin:0;
    color:var(--color-text-light);
    font-size:1rem;
}

/* =====================================================
   CATEGORÍAS
===================================================== */

/* =====================================================
   EXPLORA POR TIPO
===================================================== */

.home-categories{

    padding:3rem 0 5rem;

}

.home-categories .container{

    max-width:1320px;

}

.category-grid{

    margin-top:2rem;

    display:flex;

    flex-wrap:wrap;

    justify-content:space-between;

    gap:1rem;

}

.category-grid a{

    flex:1;

    min-width:160px;

    padding:1rem 1.8rem;

    background:#fff;

    border:1px solid rgba(46,94,78,.25);

    border-radius:999px;

    text-align:center;

    color:var(--color-primary);

    font-weight:600;

    transition:.25s;

}

.category-grid a:hover{

    background:var(--color-primary);

    color:#fff;

    border-color:var(--color-primary);

    transform:translateY(-2px);

}
/* =====================================================
   BENEFICIOS
===================================================== */

.home-benefits{
    padding:5rem 0;
}

.benefits-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:2rem;
}

.benefits-grid article{
    padding:2rem;
    border:1px solid var(--color-border);
    border-radius:var(--radius);
    background:#fff;
    text-align:center;
}

.benefits-grid h3{
    margin-bottom:1rem;
}

.benefits-grid p{
    margin:0;
    color:var(--color-text-light);
}

/* =====================================================
   CTA
===================================================== */

.home-cta{
    background:#244737;
    color:#fff;
    border-radius:28px;
    margin:5rem auto;
}

.home-cta p{
    color:rgba(255,255,255,.8);
}

@media(max-width:900px){

    .benefits-grid{
        grid-template-columns:1fr;
    }

    .category-grid{
        justify-content:flex-start;
    }
}

/* =====================================================
   NUESTRA RECOMENDACIÓN
===================================================== */

.home-retreats .section-heading{

    display:block;
    text-align:left;
    margin-bottom:2.5rem;

}

.home-retreats .section-heading h2{

    margin-bottom:.75rem;

}

.home-retreats .section-subtitle{

    max-width:700px;
    color:var(--color-text-light);

}

.home-retreats .retreat-card,
.home-latest .retreat-card{

    background:#fff;

    border-radius:14px;

    overflow:hidden;

    border:1px solid rgba(0,0,0,.05);

    box-shadow:0 8px 24px rgba(0,0,0,.06);

    transition:.30s ease;

}

.home-retreats .retreat-card:hover,
.home-latest .retreat-card:hover{

    transform:translateY(-6px);

    box-shadow:0 18px 36px rgba(0,0,0,.10);

}

.home-retreats .retreat-card:hover{

    transform:translateY(-6px);

    box-shadow:0 20px 45px rgba(0,0,0,.12);

}

.home-retreats .retreat-card__image,
.home-latest .retreat-card__image{

    height:260px;

    overflow:hidden;

}

.home-retreats .retreat-card__image img,
.home-latest .retreat-card__image img{

    width:100%;

    height:100%;

    object-fit:cover;

}

.home-retreats .retreat-card__content,
.home-latest .retreat-card__content{

    padding:1.4rem 1.5rem 1.6rem;

}

.home-retreats .retreat-card__title{

    margin-bottom:.5rem;

}

.home-retreats .retreat-card__location{

    margin-bottom:1.25rem;

    color:var(--color-text-light);

}

/* =====================================================
   ÚLTIMOS RETIROS
===================================================== */

.home-latest{

    padding:5rem 0;

}

.home-latest .retreat-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:2rem;

}

.home-latest__footer{

    margin-top:3rem;

    text-align:center;

}

@media(max-width:900px){

    .home-latest .retreat-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .home-latest .retreat-grid{

        grid-template-columns:1fr;

    }


/* =====================================================
   ÚLTIMOS RETIROS
===================================================== */

.home-latest{

    padding:5rem 0;

}

.home-latest .retreat-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:2rem;

}

@media(max-width:900px){

    .home-latest .retreat-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .home-latest .retreat-grid{

        grid-template-columns:1fr;

    }

}/* =====================================================
   DESTINOS
===================================================== */

.home-destinations{

    padding:5rem 0;

}

.destination-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:2rem;

}

.destination-card{

    display:block;

    overflow:hidden;

    border-radius:14px;

    background:#fff;

    box-shadow:0 8px 24px rgba(0,0,0,.06);

    transition:.30s;

}

.destination-card:hover{

    transform:translateY(-6px);

    box-shadow:0 18px 36px rgba(0,0,0,.10);

}

.destination-card img{

    width:100%;

    height:220px;

    object-fit:cover;

}

.destination-card__content{

    padding:1.5rem;

}

.destination-card h3{

    margin:0 0 .45rem;

    font-size:1.35rem;

}

.destination-card span{

    color:var(--color-primary);

    font-weight:600;

}

@media(max-width:1000px){

    .destination-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .destination-grid{

        grid-template-columns:1fr;

    }

}