body{
    font-family: "Plus Jakarta Sans", sans-serif !important;
    display:flex;
    flex-direction: column;
    min-height: 100vh;
}
.container{
    flex: 1;
    padding-left: 60px !important;
    padding-right: 60px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
}
.navbar{
    height: 4rem;
    background-color: white;
}

.nav-link{
    color:black !important; /*here important is used to override the default color of the bootstrap */
    margin-bottom: 0px;
}
.f-info-links a{
    text-decoration:none;
    color: #222222;
}
.f-info-links, 
.f-info-socials,
.f-info-brand{
    width:100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.f-info-socials i{
    font-size:1.2rem;
    margin-right: 1rem;
}
.f-info{
    height : 6rem;
    text-align: center;
    background-color: white;
    display: flex;
    flex-wrap:wrap;
    justify-content: center;
    align-items: space-evenly;;
}

.listing-card{
    border : none !important;
    margin-bottom: 2rem;
}
.card-img-top{
    border-radius: 1rem !important;
    width : 100%;
    object-fit: cover !important;
}
.card-body{
    padding: 0% !important;
}

.listing-link{
    text-decoration: none;
}

.card-img-overlay {
    opacity: 0;
    background-color: white;
}

.card:hover .card-img-overlay {
    opacity: 0.2;
}

.show-img{
    height: 30vh;
}

/* styling for map */
#map { 
    width: 100% !important;
    max-width: 600px;   /* or 100% for truly full width */
    height: 300px;
    min-height: 180px;
    border-radius: 1rem;
    margin-bottom: 1rem;
    margin-left: auto;
    margin-right: auto;
    display: block;
}

@media (max-width: 768px) {
    #map {
        height: 200px;
        min-height: 120px;
        min-width: 200px;
    }
}

.listing-img {
    display: block;
    max-width: 100%;
    max-height: 400px; /* Adjust as needed */
    width: auto;
    height: auto;
    object-fit: contain; /* Shows the whole image, no cropping */
    border-radius: 1.5rem;
    margin: 0 auto;
    background: #f8f9fa;
}   

/* Responsive review card fix */
@media (max-width: 767.98px) {
    .review-card-fix {
        width: 90% !important;
        margin: 0.5rem auto !important; /* top/bottom 0.5rem, left/right auto for centering */
        word-break: break-word;
        white-space: normal;
        padding: 1rem;
        font-size: 1rem;
        max-width: 500px;
    }
    .review-card-fix .card-title,
    .review-card-fix .card-text {
        word-break: break-word;
        white-space: normal;
    }
}

/* Desktop: center and set max width */
@media (min-width: 768px) {
    .review-card-fix {
        max-width: 400px !important;
        margin: 1rem auto !important;
        width: 90% !important;
    }
}

/* Phone view: reduce left & right padding for main container */
@media (max-width: 767.98px) {
    .container,
    .col-8.offset-2,
    .col-10.offset-0,
    .col-12.offset-0 {
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
}