/* =====================================================
   PROPERTY DETAIL
===================================================== */

#property-detail {

    max-width: 1300px;
    margin: 50px auto;
    padding: 0 20px;

}

/* =====================================================
   HEADER
===================================================== */

.property-header {

    display: flex;
    justify-content: space-between;
    align-items: flex-start;

    gap: 30px;

    margin-bottom: 40px;

    padding-bottom: 25px;

    border-bottom: 1px solid #ddd;

}

.property-code {

    display: inline-block;

    font-size: 14px;

    color: #777;

    margin-bottom: 10px;

}

.property-header h1 {

    font-size: 38px;

    color: #222;

    margin-bottom: 10px;

}

.location {

    color: #666;

    font-size: 18px;

}

.property-price {

    background: #b00000;

    color: white;

    padding: 20px 30px;

    font-size: 34px;

    font-weight: bold;

    white-space: nowrap;

}


/* =====================================================
   GALLERY
===================================================== */

.gallery {

    margin-bottom: 50px;

}

.main-image {

    margin-bottom: 15px;

}

.main-image img {

    width: 100%;

    height: 650px;

    object-fit: cover;

    border: 1px solid #ddd;

}

.thumbnail-gallery {

    display: grid;

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

    gap: 15px;

}

.thumbnail-gallery img {

    width: 100%;

    height: 140px;

    object-fit: cover;

    border: 1px solid #ddd;

    cursor: pointer;

    transition: .25s;

}

.thumbnail-gallery img:hover {

    opacity: .75;

}


/* =====================================================
   PROPERTY DATA
===================================================== */

.property-data {

    margin-bottom: 50px;

}

.features {

    display: flex;
    gap: 10px;
    margin: 0.5rem 0;

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

    /*display: flex;

    flex-direction: row;
    flex-wrap: wrap;
    flex-grow: 4;
    flex-flow: row;
    justify-content: space-between;
    align-items: center;
    align-content: center;
    gap: 20px;
    */
}

.feature {

    border: 1px solid #ddd;

    padding: 20px;

    text-align: center;

    background: #fafafa;

    width: 100px;

    border-radius: 1rem;

}

.feature strong {

    display: block;

    color: #b00000;

    margin-bottom: 10px;

}

.feature span {

    font-size: 18px;

    color: #333;

}


/* =====================================================
   DESCRIPTION
===================================================== */

.description {

    margin-bottom: 50px;

}

.description h2 {

    color: #b00000;

    margin-bottom: 20px;

    font-size: 30px;

}

.description p {

    line-height: 1.8;

    color: #444;

    text-align: justify;

}


/* =====================================================
   CONTACT BOX
===================================================== */

.contact-box {

    border: 1px solid #ddd;

    background: #fafafa;

    padding: 35px;

    margin-bottom: 60px;

}

.contact-box h2 {

    color: #b00000;

    margin-bottom: 15px;

}

.contact-box p {

    margin-bottom: 25px;

    color: #555;

}

.contact-box a {

    display: inline-block;

    background: #25D366;

    color: white;

    padding: 15px 30px;

    text-decoration: none;

    font-weight: bold;

    border-radius: 4px;

    transition: .25s;

}

.contact-box a:hover {

    background: #1da851;

}


/* =====================================================
   RELATED PROPERTIES
===================================================== */

#related-properties {

    max-width: 1300px;

    margin: 80px auto;

    padding: 0 20px;

}

#related-properties h2 {

    text-align: center;

    color: #b00000;

    margin-bottom: 40px;

    font-size: 32px;

}

.properties-grid {

    display: grid;

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

    gap: 30px;

}

.property-card {

    border: 1px solid #ddd;

    background: white;

    transition: .25s;

}

.property-card:hover {

    box-shadow: 0 8px 25px rgba(0, 0, 0, .15);

}

.property-card img {

    width: 100%;

    height: 220px;

    object-fit: cover;

}

.property-card h3 {

    padding: 20px 20px 10px;

    font-size: 22px;

}

.property-card p {

    padding: 0 20px;

    color: #b00000;

    font-weight: bold;

    font-size: 22px;

}

.property-card a {

    display: inline-block;

    margin: 20px;

    padding: 12px 24px;

    background: #b00000;

    color: white;

    text-decoration: none;

    font-weight: bold;

}

.property-card a:hover {

    background: #900000;

}

/* ==========================================
   MAPA
========================================== */

#mapa {

    max-width: 1300px;

    margin: 70px auto;

}

#mapa h2 {

    /*text-align: center;*/

    color: #b00000;

    margin-bottom: 10px;

    font-size: 30px;

}

#mapa p {

    /*text-align: center;*/

    color: #666;

    margin-bottom: 30px;

}

.map-container {

    overflow: hidden;

    border: 1px solid #ddd;

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

    display: block;

    width: 100%;

    height: 450px;

}

gmp-map {
    height: 100%;
}


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

@media (max-width: 1100px) {

    .features {

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

    }

}

@media (max-width: 900px) {

    .property-header {

        flex-direction: column;

    }

    .property-price {

        width: 100%;

        text-align: center;

    }

    .main-image img {

        height: 450px;

    }

    .thumbnail-gallery {

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

    }

    .properties-grid {

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

    }

}

@media (max-width: 700px) {

    .features {

        grid-template-columns: 1fr;

    }

    .properties-grid {

        grid-template-columns: 1fr;

    }

    .property-header h1 {

        font-size: 30px;

    }

    .property-price {

        font-size: 28px;

    }

    .main-image img {

        height: 300px;

    }

    .thumbnail-gallery img {

        height: 100px;

    }

}