/*
Theme Name: Astra Child
Template: astra
Version: 1.0.0
*/

/* REGOLE GENERALI */
h1{
    font-size:clamp(2rem, 3vw, 3rem);
    text-align: center;
}


/* Archivio strutture */

.bp-archive{
    width:100%;
    padding-top:120px;
}

.bp-archive-search{
    width:min(1080px, calc(100% - 40px));
    margin:30px auto 50px;
}

.bp-single {
    width: 100%;
    padding-top: 60px;
    padding-left: 20px;
    padding-right: 20px;
}



.bp-properties{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:30px;
    margin:40px auto;
    width:min(1200px, calc(100% - 40px));
}

.bp-properties:has(.bp-property-card:nth-child(2):last-child){
    grid-template-columns:repeat(2,minmax(0,1fr));
}

@media (max-width:1024px){

    .bp-properties{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

}

@media (max-width:768px){

    .bp-properties{
        grid-template-columns:1fr;
    }

}

.bp-card-link{
    display:block;
    color:inherit;
    text-decoration:none;
}

.bp-property-card{
    position:relative;
    background:#fff;
    border:1px solid #e5e5e5;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 2px 10px rgba(0,0,0,.05);
    transition:all .25s ease;
}

.bp-property-card:hover{
    transform:translateY(-4px);
    box-shadow:0 10px 25px rgba(0,0,0,.10);
}

.bp-property-card img{
    width:100%;
    height:320px;
    object-fit:cover;
    display:block;
}


.bp-card-content{
    padding:20px;
}

.bp-card-title{
    margin:0 0 8px;
    font-size:1.3rem;
    line-height:1.2;
}

.bp-card-price{
    margin:0 0 12px;
    font-size:1.1rem;
    font-weight:600;
}
.bp-card-location{
    margin:0 0 8px;
    color:#666;
}

.bp-card-details{
    margin:0;
    color:#444;
}

.bp-card-features{
    margin-top:10px;
    color:#777;
    font-size:.9rem;
}

/* GALLERY FOTO SINGLE STRUTTURA */

.bp-gallery{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    grid-template-rows:220px 220px;
    gap:8px;
    margin-bottom:40px;
}

.bp-gallery-item{
    overflow:hidden;
}

.bp-gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.bp-gallery-item-1{
    grid-row:1 / 3;
}

.bp-gallery-item-1 img{
    border-radius:12px 0 0 12px;
}

.bp-gallery-item-3 img{
    border-radius:0 12px 0 0;
}

.bp-gallery-item-5 img{
    border-radius:0 0 12px 0;
}

/* LAYOUT SINGOLA STRUTTURA */

.bp-container{
    display:grid;
    grid-template-columns:minmax(0,1fr) 320px;
    gap:40px;
    margin-bottom:60px;
}

.bp-main{
    min-width:0;
}

.bp-sidebar{
    position:sticky;
    top:30px;
    align-self:start;
}

.bp-price-box{
    border:1px solid #e5e5e5;
    border-radius:12px;
    padding:25px;
    background:#fff;
    box-shadow:0 2px 10px rgba(0,0,0,0.05);
}

.bp-price-box h3{
    margin:0 0 15px;
}

.bp-price-box p{
    margin:0 0 20px;
    font-size:1.3rem;
}

.bp-button{
    display:block;
    text-align:center;
    padding:12px;
    border:1px solid #163971;
    color:#163971;
    text-decoration:none;
    border-radius:6px;
}

.bp-title{
    margin-bottom:10px;
	font-size:clamp(2rem, 3vw, 3rem);
}

.bp-location{
    margin-bottom:30px;
    color:#666;
    font-size:1.1rem;
}
.bp-city{
    font-size:1.1rem;
    margin-bottom:5px;
}

.bp-address{
    margin-bottom:25px;
}

.bp-address a{
    color:#666;
    text-decoration:underline;
}

.bp-address a:hover{
    color:#163971;
}


.bp-meta{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:15px;
    margin:30px 0;
}

.bp-meta span{
    display:block;
    padding:15px;
    border:1px solid #e5e5e5;
    border-radius:8px;
    text-align:center;
}

.bp-description{
    margin-top:30px;
}

.bp-map{
    margin-top:50px;
}

.bp-map iframe{
    width:100%;
    height:450px;
    border:0;
    border-radius:12px;
}

@media(max-width:900px){

    .bp-container{
        grid-template-columns:1fr;
    }

    .bp-sidebar{
        position:static;
    }

    .bp-meta{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

}


.bp-amenities{
    margin-top:50px;
}

.bp-amenities h2{
    margin-bottom:20px;
}

.bp-amenities ul{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 30px;
    margin:0;
    padding:0;
    list-style:none;
}

.bp-amenities li{
    padding:10px 0;
    border-bottom:1px solid #e5e5e5;
}
