
@import url('/fonts/satoshi.css');

/* 🔹 Fix styles for the specific submit button inside your form */
#wpbdp-main-box .submit-btn .wpbdp-button {
    background-color: #282D47 !important;
    border-radius: 5px !important;
    padding: 10px 15px !important;
    font-size:18px;
    color:#fff;
}
#wpbdp-main-box .submit-btn .wpbdp-button:hover {
    background-color: #52C9CA !important;
    border-radius: 5px !important;
}


/* 🔹 Style the Advanced Search link */
#wpbdp-main-box .wpbdp-advanced-search-link {
    display: flex !important;
    align-items: center !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    color: #17252a !important; /* Blue color */
    padding: 10px 15px !important;
    border-radius: 5px !important;
    transition: color 0.3s ease, transform 0.2s ease !important;
    display:none !important;
}
.wpbdp-link {
    display: inline-block;
    background: #282D47; /* Dark blue */
    color: #ffffff !important; /* White text */
    font-size: 16px !important;
    font-weight: 500;
    padding: 8px 12px !important;
    border-radius: 6px;
    text-decoration: none;
    transition: background 0.3s ease, transform 0.2s ease;
    text-align: center;
    border: none;
    cursor: pointer;
}
/* Hover effect */
.wpbdp-link:hover {
    background: #52C9CA !important; /* Light teal */
    color: #ffffff !important;
    transform: translateY(-2px); /* Subtle lift effect */
}
#wpbdp-bar-view-listings-button, 
#wpbdp-bar-manage-listing-button {
    margin: 10px 5px;
}
/* 🔹 Change the color and effect on hover */
#wpbdp-main-box .wpbdp-advanced-search-link:hover {
    color: #52C9CA !important; /* Darker blue */
    background-color: inherit !important;
}

.submit-btn {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}
.cat-item:first-child {
    margin-left: -10px !important; /* Ensures first card starts at left */
}
.wpbdp-listings {
    border: 1px solid #ddd;
    padding: 15px;
    box-shadow: 2px 2px 8px rgba(0,0,0,0.1);
    transition: 0.3s;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: left;
    margin-bottom: 20px;
    border-radius: 8px;
    width:100%;
}
.cat-item {
    flex: 1 1 calc(33.333% - 20px); /* Three columns with proper spacing */
    max-width: 300px;
    min-height: 350px;
    background: #fff;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
    border-radius: 10px;
    padding: 0;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    margin: 20px 10px !important; /* Adds top margin */
}
.cat-item #text {
    font-size:18px;
    font-weight: 500;
}
/* 🔹 Business Directory Listing Cards */
.wpbdp-categories, .wpbdp-listings-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    padding-top:40px;
    max-width: 100%;
    margin: 0 auto; /* Centers the entire section */
}
.wpbdp-listing {
  max-width: 100%; /* Prevent overflow on smaller screens */
  background: none;
  border-radius: 10px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  padding: 15px;
  text-align: left;
  overflow: hidden;
  margin: 0 auto; /* For extra insurance */
}

/* Style the main container on Business Directory Category Page*/
.hero-section-overlay{
    background: #f8f9fa; /* Light gray background */
    padding: 40px 20px;
    text-align: center; /* Center align text */
}
/* Category Box Hover Effect */
.cat-item:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
li.cat-item{
    padding:0px !important;
  
}

.category-image {
    display: block !important;
    width: 100%;
    max-width: 100% !important;
    max-height: 250px !important; /* Slightly smaller for better spacing */
    object-fit: cover;
    margin-bottom: 10px;
    padding: 10px;
    border-radius: 15px; /* Rounded corners for a modern look */

    background: #fff !important; 
}
.category-label{
 font-family: 'Barlow Condensed', sans-serif;
 display:block;
 font-size:1.6em !important;
 color:#012E40;
 margin-bottom:10px;
}
.category-label:hover{
    color:#52C9CA;
   }


.submit.wpbdp-search-widget-submit {
    background: #012e40 !important; /* Blue button */
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 500;
    padding: 10px 15px;
    border: none;
    border-radius: 5px;
    margin-top:0px;
    cursor: pointer;
    width: 100%;
    transition: background 0.3s ease, transform 0.2s ease;
    display: block;
    text-align: center;
}
/* Hover Effect */
.submit.wpbdp-search-widget-submit:hover {
    background: #52C9CA !important;
    color: #fafafa !important;
}
#wpbdp_searchwidget-2 .submit{
    background: #012e40 !important; /* Blue button */
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 500;
    padding: 12px 15px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    width: 100%;
    transition: background 0.3s ease, transform 0.2s ease;
    display: block;
    text-align: center;
    margin-top:5px;
}
#wpbdp_searchwidget-2 .submit:hover {
    background: #52C9CA !important;
}
#wpbdp_searchwidget-6 .submit{
    background: #52C9CA !important; /* Blue button */
    color: #012E40 !important;
    font-size: 16px;
    font-weight: 500;
    padding: 12px 15px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    width: 100%;
    transition: background 0.3s ease, transform 0.2s ease;
    display: block;
    text-align: center;
}
#wpbdp_searchwidget-6 .submit:hover {
    background: #012e40 !important;
    color:#ffffff !important;
}
#wpbdp_searchwidget-4 .wpbdp-search-field-label label {
    font-size: 16px;
    color:#17252a !important;
    font-weight: 500 !important;
    margin-bottom: 2px;
    display: none;

}

#wpbdp-page-main_page {
    padding-top: 40px;
}
.wpbdp-page-category .wpbdp-listings-list {
    background-color: #fff;
}
.listing-field-26 {
    font-size:16px;
    color:#333;
}
.entry-content-wrap{
    background-color: #fff;
}


/* 🔹 Individual Listing Card */
.listing-card {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    width: 100%;
    max-width: 350px;
    display: flex;
    flex-direction: column;
    margin: 20px;
  
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    padding:20px;
    gap:40px;
}

.listing-card:hover {
    transform: scale(1.03);
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* 🔹 Listing Image at the Top */
.listing-card-header {
    width: 100%;
    height: 200px;
    overflow: hidden;
}

.listing-card-header img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 🔹 Card Content */
.listing-card-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

/* 🔹 Category Tags */
.listing-categories, .wpbdp-field-listing_category {
    margin-bottom: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px; /* Space between multiple category tags */
}
#ratings .wpbdp-ratings-reviews {
    padding:5px !important;
}
#contact-form .wpbdp-listing-contact-form{
    padding:5px !important;
    margin:0;
}
.wpbdp-field-listing_category, .wpbdp-field-category .value a {
    display: inline-block;
    background: #5e76bf;
    color: #fff !important;
    padding: 5px 12px;
    border-radius: 3px; /* Makes it pill-shaped */
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
    margin-top:20px;
}

.wpbdp-field-listing_category, .wpbdp-field-category .value a:hover {
    background: #52C9CA;
    color:#ffffff !important;
}

.wpbdp-field-listing_category .value a:nth-child(n+2)::before {
    content: "+";
    margin-right: 6px;
    color: #fff;
    font-weight: bold;
}

/* 🔹 Expand Categories Button */
.expand-categories {
    background: #52C9CA;
    border: none;
    padding: 3px 8px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
}

/* 🔹 Business Name Styling */
.wpbdp-field-business_name {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 0px;
    text-align: center; /* Aligns to the center */
    display: block;
}

/* 🔹 Business Name Link */
.wpbdp-field-business_name .value a {
    text-decoration: none;
    color: #17252a !important; /* Dark blue color */
    transition: color 0.3s ease;
    font-size:2rem !important;
}

/* 🔹 Business Name Hover Effect */
.wpbdp-field-business_name .value a:hover {
    color: #52C9CA !important; /* Light red on hover */
}

.wpbdp-field-association-tags a{
    color:#52C9CA;
}

.wpbdp-field-association-tags a:hover{
    color:#012e40 !important;
}

/* 🔹 Business Logo Container */
.wpbdp-field-business_logo {
    display: flex;
    justify-content: center; /* Centers logo */
    align-items: center;
    
}

/* 🔹 Logo Wrapper */
.wpbdp-field-business_logo .value {
    display: flex;
    justify-content: center;
}

/* 🔹 Business Logo Image */
.wpbdp-field-business_logo .listing-image img {
    margin:0;
    max-width: 100%;
    object-fit: contain;
    border-radius: 8px; /* Rounded corners */
    transition: transform 0.3s ease;
}

/* 🔹 Description */
.listing-description {
    font-size: 18px !important;
    color: #666;
    margin: 20px 0;
    flex-grow: 1;
}

/* 🔹 Address Info */
.address-info {
    font-size: 18px;
    color: #666;
    display: flex;
    align-items: center;
    gap: 5px;
}

/* 🔹 Social Media Links */
.social-fields {
    display: flex;
    gap: 10px;
    margin-top: 10px;
}

/* 🔹 Footer */
.listing-footer {
    margin-top: auto;
    width: 100%;
    text-align: left;
    font-size: 16px;
}

/* 🔹 View Details Button */
.listing-view-details {
    display: inline-block;
    background: #282D47;
    color: white;
    padding: 10px 10px !important;
    font-size: 16px !important;
    border-radius: 5px;
    text-decoration: none;
    transition: background 0.3s ease;
}

.listing-view-details:hover {
    background: #52C9CA;
}
.elementor-element-6ac3607 .wpbdp-search-widget-submit {
    background-color: #012E40 !important; /* Change background color */
    color: white !important; /* Change text color */
    font-size: 16px !important; /* Adjust font size */
    font-weight: 500 !important; /* Make text bold */
    padding: 10px 15px !important; /* Adjust padding */
    border-radius: 5px !important; /* Add rounded corners */
    border: none !important; /* Remove border */
    cursor: pointer !important; /* Show pointer cursor */
    transition: background 0.3s ease !important; /* Smooth transition */
}
.elementor-element-6ac3607 .wpbdp-search-widget-submit:hover {
    background-color: #52C9CA !important; /* Darken background on hover */
    color: #fff !important;
}
/* 🔹 Responsive Adjustments */
@media (max-width: 768px) {
    .wpbdp-categories {
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        align-items: stretch; /* Forces items to take full width */
        padding: 0;
        margin: 0 auto;
        width: 100%;
    }
    .footer-widget-area {
        padding-left:20px;
        padding-right:20px;
    }
    .wpbdp-search-field-label label {
        font-size:18px !important;
    }
    #wpbdp-main-box .submit-btn .wpbdp-button{
        flex-wrap:nowrap;
    }
    .cat-item {
        flex: 1 1 100% !important; /* Forces full width */
        max-width: 100% !important; /* Ensures no extra width issues */
        min-height: 350px;
        margin: 0 0 20px 0 !important; /* Removes auto-centering */
        padding: 10px; /* Ensures consistent spacing */
        width: 100% !important; /* Explicitly sets full width */
    }

        
           
        .cat-item:first-child {
            margin-left: 0px !important; 
        }
        li.cat-item{
            padding:0px !important;
        }

    .listing-card {
        width: 100%;
        max-width: 100%;
    }

    .listing-details {
        padding: 20px;
    }

    .wpbdp-field-business_name .value {
        font-size: 2rem;
    }
    .wpbdp-page-category .wpbdp-listings-list {
        padding:0px;
    }
    .submit.wpbdp-search-widget-submit {
        background: #012e40 !important; 
        color: #ffffff !important;
    }
    /* Hover Effect */
    .submit.wpbdp-search-widget-submit:hover {
        background: #52C9CA !important;
        color: #fafafa !important;
    }
    #wpbdp_searchwidget-2 .submit{
        background: #012e40 !important; /* Blue button */
        color: #ffffff !important;
    }
    #wpbdp_searchwidget-2 .submit:hover {
        background: #52C9CA !important;
    }
    #wpbdp_searchwidget-6 .submit{
        background: #52C9CA !important; /* Blue button */
        color: #012E40 !important;
    }
    #wpbdp_searchwidget-6 .submit:hover {
        background: #012e40 !important;
        color:#ffffff !important;
    }
    .cat-item.with-image {
        padding-bottom: 20px !important;
        width:100%;
}
.wpbdp-field-listing_category, .wpbdp-field-category .value a {
    font-size:14px;
}
}

@media (max-width: 480px) {
    .wpbdp-categories {
        gap: 10px;
        padding: 10px;
    }

    .listing-card {
        width: 100%;
    }

    .listing-columns {
        padding: 15px;
    }

    .wpbdp-field-services .value {
        grid-template-columns: 1fr;
        padding:0px;
    }
    .entry-content-wrap{
        background-color: #fff;
    }
    .cat-item.with-image {
    padding-bottom: 20px !important;
    width:100%;
}
}

/* 🔹 Alphabetical Filtering Bar */
.wpbdp-abc-filtering {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding-top: 40px;
    padding-bottom: 40px;
    background: #FAF9F9;
}

/* 🔹 Individual Letters */
.wpbdp-abc-filtering .letter a {
    display: inline-block;
    text-decoration: none;
    font-size: 16px;
    font-weight:500;
    color:#17252a;
    padding-top:20px;
    padding-bottom:20px;
}

/* 🔹 Hover Effect */
.wpbdp-abc-filtering .letter a:hover {
    color: #52C9CA;
    transform: scale(1.1);
}

/* 🔹 Sidebar Search Widget */
#wpbdp_searchwidget-2 {
    background: #fff;
    padding: 20px;
    box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.08);
}
#wpbdp_searchwidget-2 .widget-title {
    font-size:28px !important;
    font-weight: 500 !important;
}
/* 🔹 Submit Button */
.wpbdp-search-widget-submit, #wpbdp_searchwidget-2-submit  {
    width: 100%;
    padding: 12px !important;
    font-size: 16px;
    font-weight: 500;
    color: white;
    background: #012E40 !important;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    margin-top:20px;
}

.wpbdp-search-widget-submit:hover {
    background: #52C9CA !important;
}
/* Add spacing between each search option */
#wpbdp_searchwidget-2 .wpbdp-search-filter {
    margin-bottom: 20px; 
  }
  
  /* Move the submit button a bit lower */
  #wpbdp_searchwidget-2 .submit {
    margin-top: 20px; 
  }
.listing-thumbnail {
    width: 100%; /* Makes the container full width */
    overflow: hidden; /* Ensures no overflow of the image outside the container */
}
.wpbdp_listing-title{
    display:none;
}
.listing-thumbnail img {
    width: 100%; /* Stretches the image to cover the full width of the container */
    height: auto; /* Adjusts the height automatically to maintain aspect ratio */
    display: block; /* Removes any extra space below the image */
}
/* Overall container for rating field */
.wpbdp-field-rating_average {
    border-bottom: 2px solid #f4f4f4;
    margin-bottom: 10px;
}

/* Label styling */
.wpbdp-field-rating_average .field-label {
    color: #333; /* Darker text for better readability */
    font-size: 18px; /* Slightly larger font size */
    font-weight: 600 !important; /* Make the label bold */
    margin-bottom: 5px; /* Space between label and stars */
    display: block; /* Ensures the label is on a new line */
}

/* Star rating group styling */
.wpbdp-star-group {
    margin-bottom:10px;
}

/* 🔹 Services Section */
.wpbdp-field-services {
    padding: 10px;
    
    border-radius: 8px;
}

.wpbdp-field-services .label {
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 15px;
    color: #012e40;
}

.wpbdp-field-services .value {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    font-size:18px;
}

/* 🔹 Contact Information */
.wpbdp-field-phone,
.wpbdp-field-email,
.wpbdp-field-website {
    display: flex;
    align-items: center;
    gap: 10px;
}

.wpbdp-field-phone .label,
.wpbdp-field-email .label,
.wpbdp-field-website .label {
    font-weight: 500;
    color: #012e40;
    min-width: 100px;
}

.listing-footer {
    margin-top: auto;
    width: 100%;
    text-align: left;
}
/* Label */
.wpbdp-listings-sort-options label {
    font-size: 18px;
    font-weight: 500;
    color: #17252a;
    background: #FAF9F9;
    align-items: center; /* Centers vertically */
}
.wpbdp-listings-sort-options select {
    width:90%;
}


.wpbdp-listings-sort-options {
    background-color: inherit !important;
    display: flex;
    justify-content: center; /* Centers horizontally */
    align-items: center; /* Centers vertically */
    margin: bottom -40px;
    padding:0px;
}
.wpbdp-listings-sort-options label {
    background-color: inherit !important;
}
/* Base Styling for the Add Listing Button */
#wpbdp-bar-submit-listing-button {
  
    background: #ec5b48; 
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    padding: 10px 12px;
    border-radius: 6px;
    border: none;
    text-decoration: none;
    transition: background 0.3s ease, transform 0.2s ease;
}

/* Hover Effect */
#wpbdp-bar-submit-listing-button:hover {
    background: #52C9CA; /* Soft orange/pink */
    color: #ffffff;
    transform: translateY(-2px); /* Slight lift effect */
}

/* Focus (When Clicked or Tabbing) */
#wpbdp-bar-submit-listing-button:focus {
    color: #fff;
    background:#012E40;
}

/* If the button is inside a container */
.wpbdp-bar {
    text-align: center; /* Centers button */
    margin: 20px 0; /* Adds spacing */
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    #wpbdp-bar-submit-listing-button {
        width: auto;
        text-align: center;
        padding: 12px 12px;
        font-size: 16px;
        background: #ec5b48; 
        color: #fff;
    }
    #wpbdp_searchwidget-2 {
        border: none !important;
    }
  /* Mobile adjustments for the search form */
    #wpbdp-main-box .main-fields form {
      display: flex;
      align-items: left;
      gap: 10px; /* Adjust gap as needed */
    }

    .wpbdp-main-links-3-buttons {
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-between; 
      align-items: center;
    }
    
    .wpbdp-main-links-3-buttons a {
      flex: 1;
      text-align: center;
      margin: 0 5px;  
      white-space: nowrap; 
    }

        #wpbdp-main-box .main-fields form {
          display: flex;
          flex-direction: row;
          gap: 10px;
        }
        /* Allow the search field to grow */
        #wpbdp-main-box .wpbdp-form-field.search-fields {
          flex: 1;
          margin-right: 0px;
        }
        /* Keep the submit button to its natural width */
        #wpbdp-main-box .wpbdp-form-field.submit-btn {
          flex: 0 auto;
        }
      
}


/* Main image styling */
.card-image img {
    width: 100%;
    display: block;
}

/* Padding for the card content */
.card-content {
    padding: 15px;
}

.card-header {
    display: flex;
    gap: 20px;
    align-items: center;
    margin-bottom: 20px;
    padding: 20px;
    background-color: #f8f9fa;
  }
  
  /* Enforce a 150x150 box for the logo container */
  .card-header .business-logo {
    width: 150px;
    height: 150px;
    display: flex;             /* so we can center the image inside */
    align-items: center;
    justify-content: center;
    box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 12px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
    margin: 0;
    
  }
  

  .card-header .business-logo img {
    width: auto !important;
    height: auto !important;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover; /* ensures the entire image is visible */
    padding:0px;
  }

.business-name{
    font-size: 64px !important;
    font-weight: 500;
    line-height: 24px;
    font-family: 'Barlow Condensed', sans-serif;
}


/* Ratings row */
.wpbdp-ratings-reviews .review-form {
    padding: 0px !important;
    margin-bottom:20px;
}
.single-contact {
    padding:5px;
}

/* Description row */
.card-description {
    margin-bottom: 10px;
    margin-top:10px;
    font-size: 18px !important;
}

/* Address row */
.card-address {
    margin-bottom: 5px;
    margin-top:10px;
    font-size: 16px;
    color: #555;
}

/* Category row */
.card-category {
    font-size: 16px;
    color: #333;
    margin-left: auto; /* pushes the category to the far right */
}

/* Footer row for the button */
.card-footer {
    display: flex;
    align-items: center; /* vertically centers both items */
}

/* View Details button styling */
.view-details-btn {
    /* Remove the margin-top so that it aligns with the category */
    padding: 5px 10px;
    background-color: #012e40;
    color: #fff;
    font-weight: 500;
    text-decoration: none;
    border-radius: 3px;
    transition: background-color 0.3s ease;
    font-size: 16px;
    /* margin-top: 20px; <-- remove this */
}

.view-details-btn:hover {
    background-color: #52C9CA;
    color:#fff;
}
/* Container for the single listing page */
.bdp-single {
    width: 1400px;
    padding: 15px;
    line-height: 1.6;
    color: #333;
    margin:0 auto;
}
.bdp-single p {
    font-size: 18px;
    margin-top: 40px;
    margin-bottom: 40px;
}
/* Top images */
.single-images img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 15px;
}

/* Header: Business Logo and Name */
.single-header {
    display: flex;
    align-items: center;
    margin-top: 40px;
    margin-bottom: 15px;
    gap: 20px;
}
.business-logo {
    max-width: 150px !important;
    height: 150px !important;
    display: block;
    padding:10px;
    background-color: #fff;
    object-fit: contain;
}
.single-header .business-logo img {
    max-width: 150px !important;
    height: 150px !important;
    border-radius: 50%;
    border: 2px solid #f4f4f4;
    margin-right: 15px;
    object-fit: cover;
}
.single-header .business-name {
    font-size: 1.8em;
    font-weight: bold;
}

@media (max-width: 768px) {
    .card-header {
        flex-direction: column; /* Stack items vertically */
        align-items: center;
        justify-content: center;
        text-align: center;
        width: 100%;
       
    }

    /* Force the business name to appear first */
    .business-name {
        order: 2;
        margin-bottom: 0px; /* Add spacing between name and logo */
        line-height: 26px;
        font-size: 24px !important;
    }

    /* Force the business logo to appear second */
    .business-logo {
        order: 1;
    }

    .business-logo img {
        margin: 0 auto;  /* Center the image */
        object-fit: cover;
        border-radius: 50%;
        border: 2px solid #fff;
        box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    }
}

/* Full Description */
.single-description p{
    margin-bottom: 20px;
    margin-top:0;
    font-size: 18px;
}

.single-services-details-map {
    display: flex;
    justify-content: space-between;
    align-items: stretch; /* Ensures all columns are the same height */
    gap: 20px;
}

.single-services-details-map .services-column{
    flex:3;
    padding: 15px;
    background: #f9f9f9;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.single-services-details-map .services-column h3{
    font-family: 'Barlow Condensed', sans-serif;
    font-size:32px !important;
}
.single-services-details-map .details-column{
    flex:3;
    padding: 15px;
    background: #f9f9f9;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    font-size:16px !important;
}
.single-services-details-map .details-column h3{
    font-family: 'Barlow Condensed', sans-serif;
    font-size:32px !important;
}
.single-services-details-map .map-column {
    flex: 4;
    padding: 10px;
    background: #f9f9f9;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.single-services-details-map .map-column h3{
    font-family: 'Barlow Condensed', sans-serif;
    font-size:32px !important;
}
.single-services-map h3 {
    margin: 0 auto;
    text-align: center;
    font-family: 'Barlow Condensed', sans-serif;
}
.map-column{
    background: #f8f9fa;
}
/* Details Section */
.single-details .detail-row {
    margin-bottom: 10px;
    font-size: 18px !important;
}
.single-details .detail-row strong {
    display: inline-block;
    width: 90px;
}
.single-services-map .services-column { 
    border-radius:10px;
}

/* Reviews Section */
.single-reviews {
    margin: 20px 0;
    padding: 10px;
    background: #f9f9f9;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.single-reviews h3 {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: 1.8rem !important;
}
/* Contact Form Section */
.single-contact {
    margin: 20px 0;
    padding: 5px;
    background: #f9f9f9;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.single-contact h3 {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: 1.8rem !important;
}
/* Responsive adjustments */
@media (max-width: 768px) {
    .single-services-map {
        flex-direction: column;
    }
    .single-header {
        flex-direction: column;
        align-items: flex-start;
    }
    .single-header .business-logo {
        margin-bottom: 10px;
    }
    #wpbdp-listings-list .listings {
        background: white;
        padding: 0px;
    }
}
.go-back-container {
    margin: 20px 0;
    text-align: left; /* Aligns the button to the left */
}

.go-back-button {
    background: #012e40; /* WordPress-style blue */
    color: #fff;
    border: none;
    padding: 5px 10px;
    font-size: 14px;
    font-weight: 500;
    border-radius: 5px;
    cursor: pointer;
    display: inline-block;
}

.go-back-button:hover {
    background: #52C9CA;
    color:#fff;
}
/* Style the input field */
.wpbdp-form-field input[type="text"] {
    border-radius: 8px;
    background-color: #ffffff !important;
    color: #333 !important;
    padding: 10px 15px;
    width: 100%;
    border-radius: 3px !important;
    box-sizing: border-box;
    font-size:16px !important;
}

/* Ensure select2 container respects the available width */
.select2-container {
    width: 100% !important;
  }
  
  /* Set the form as a flex container without wrapping */
  #wpbdp_searchwidget-4 form {
    display: flex;
    align-items: center;
    gap: 10px !important;
    width: 100%;
    flex-wrap: nowrap;
  }
  
  /* Allow the select box container to expand and fill available space */
  #wpbdp_searchwidget-4 form .wpbdp-search-filter {
    flex: 1;
    max-width: 100%;
    box-sizing: border-box;
  }
  
  /* Make sure the button’s container doesn’t force a new line */
  #wpbdp_searchwidget-4 form p {
    margin-bottom: 0 !important;
    flex-shrink: 0;
  }

/* Optional: Add some responsive behavior */
@media (max-width: 768px) {
    
    #wpbdp-main-box {
        padding: 0px !important; /* Adjust padding as needed */
    }
    .wpbdp-categories-3-columns-tiny {
        width:100%;
    }
  
    
      
}
/* Ensure the widget container takes 100% width */
#wpbdp_searchwidget-4 {
    width: 100%;
    box-sizing: border-box;
  }
  
  /* Use flexbox for the form to keep elements on the same line */
  #wpbdp_searchwidget-4 form {
    display: flex;
    flex-wrap: nowrap;  /* Prevent wrapping so both elements stay side by side */
    align-items: center;
    width: 100%;
    gap: 15px;
  }
  
  /* Allow the select box container to expand and fill available space */
  #wpbdp_searchwidget-4 form .wpbdp-search-filter {
    flex: 1;
    max-width: 100%;
    box-sizing: border-box;
  }
  
  /* Keep the submit button at its natural width and remove extra margins */
  #wpbdp_searchwidget-4 form p {
    margin: 0;
    flex-shrink: 0;
  }
/* Container for each plan info box */
.wpbdp-plan-info-box {
    border: 1px solid #ddd;            /* Light gray border */
    background-color: #fff;            /* White background */
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 4px;
    transition: box-shadow 0.3s ease;
    font-family: 'Outfit', sans-serif;
  }
  
  .wpbdp-plan-info-box:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
  }
  
  /* Plan details container */
  .wpbdp-plan-details {
    margin-bottom: 10px;

  }
  
  /* Plan label (e.g., Basic, Standard, Premium) */
  .wpbdp-plan-label {
    font-size: 1.8em;
    font-weight: bold;
    margin-bottom: 5px;
    color: #333;
    
  }
  
  /* Price amount styling */
  .wpbdp-plan-price-amount{
    font-size: 32px !important;
    color: #52C9CA; 
    font-weight:bold;      /* Use your preferred accent color */
    display: block;
    margin-bottom: 10px;
  }
  
  /* Plan description */
  .wpbdp-plan-description p {
    font-size: 16px;
    color: #333;
    line-height: 1.6;
    margin: 0 0 10px;
    text-align: left;
  }
  
  /* Feature list styling */
  .wpbdp-plan-feature-list {
    list-style: disc inside;
    margin: 0;
    padding-left: 20px;

  }
  .wpbdp-plan-feature-list li {
    display: list-item;       
    margin-bottom: 10px;  
    font-size: 16px;
    color: #333;
  }
  
  /* Plan duration (if used) */
  .wpbdp-plan-duration {
    font-size: 18px !important;
    background: #8B87FF;
    border-radius: 10px;
    width: 60% !important;
    margin-bottom: 10px;
    color: #fff !important;
    margin: 40px auto!important;
    font-weight: 500 !important;
    padding:5px;
  }
  
  /* Action button styling for the radio input */
  .wpbdp-plan-action label.button.wpbdp-button {
    display: inline-block;
    background-color: #012E40;
    color: #fff;
    padding: 10px 20px;
    border-radius: 25px;
    font-size: 16px;
    text-align: center;
    cursor: pointer;
    transition: background-color 0.3s ease;
    border: none;
    width:60%;
  }
  
  .wpbdp-plan-action label.button.wpbdp-button:hover {
    background-color: #52C9CA;
  }
  .wpbdp-plan-action input:checked + label.wpbdp-button {
    background-color: #52C9CA;
    /* Optionally adjust text color or other styles */
    color: #fff;
  }


/* ======================
   HERO AREA
   ====================== */
   .listing-hero {
    background: #f8f9fa; /* or use background-image: url(...) for a big hero banner */
    padding: 30px 20px;
    margin-bottom: 20px;
    position: relative;
}
.listing-hero-inner {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 40px;
}
.hero-logo img {
    width: 150px;
    height: 150px;
    object-fit: cover;
    border-radius: 50%;
    border: 2px solid #fff;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}
.hero-info {
    flex: 1;
}
.hero-title {
    font-size: 2.6rem;
    font-family: 'Barlow Condensed', sans-serif;
    margin-bottom: 0px !important;
    color:#070D24;
}
.hero-rating {
    margin-bottom: 15px;
}
.hero-actions {
    display: flex;
    gap: 15px;
}
.hero-btn {
    background-color: #012e40;
    color: #fff;
    padding: 5px 10px;
    border-radius: 4px;
    text-decoration: none;
    font-size: 1rem;
    transition: background 0.3s ease;
}
.hero-btn:hover {
    background-color: #52C9CA;
}

/* ======================
   TAB NAVIGATION
   ====================== */
.listing-nav-tabs {
    border-bottom: 1px solid #eee;
    margin-bottom: 20px;
}
.listing-nav-tabs ul {
    list-style: none;
    padding: 0;
    display: flex;
    gap: 20px;
}
.listing-nav-tabs ul li {
    margin: 0;
    padding: 0;
    font-family: 'Outfit', sans-serif;
    font-size:16px;
}
.listing-nav-tabs ul li a {
    text-decoration: none;
    color: #333;
    font-weight: 500;
    padding: 10px;
    display: inline-block;
}
.listing-nav-tabs ul li.active a,
.listing-nav-tabs ul li a:hover {
    color: #52C9CA;
}

/* ======================
   MAIN CONTENT ROW
   ====================== */
   .main-content-row {
    display: flex;
    gap: 20px;
    max-width: 1400px;
    margin: 0 auto 20px;
}

.left-column,
.center-column,
.right-column {
    background: #fff;
    padding: 20px;
    flex: 1;
    border: 1px solid #eee;
    border-radius: 5px;
    min-height: 200px;
    max-height: 700px; /* adjust this value as needed */
    overflow-y: auto;
}

/* Headings inside the columns */
.left-column h3,
.center-column h3,
.right-column h3 {
    margin-top: 0;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 1.8rem;
    margin-bottom: 15px;
}

/* Container for the row of extra images */
.all-photos-content-row {
    max-width: 1400px;
    margin: 0 auto 20px; /* same bottom margin as main-content-row */
    background: #fff;    /* matches your columns' background */
    padding: 20px;       /* same padding as the columns */
    border: 1px solid #eee;
    border-radius: 5px;
}

/* The heading for your images */
.all-photos-content-row h3 {
    margin-top: 0;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 1.8rem;
    margin-bottom: 15px;
}

.all-photos {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    align-items: flex-start;
  }
  
  /* Force inner wrappers to be inline or inline-flex */
  .all-photos > * {
    display: inline-flex !important;
    margin: 0 !important;
  }
/* Style each image */
.all-photos img {
    width: 250px !important;        /* adjust as needed for your design */
    height: 250px !important;
    object-fit: cover;   /* crops image within the 100x100 area */
    border-radius: 4px;
    border: 1px solid #eee;
}

/* The map or location info in the right column */
.listing-map {
    margin-bottom: 15px;
}

/* ======================
   REVIEWS SECTION
   ====================== */
.single-reviews {
    max-width: 1400px;
    margin: 0 auto 20px;
    padding: 20px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 5px;
}
.single-reviews h3 {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 1.8rem;
    margin-top: 0;
}

/* ======================
   CONTACT FORM SECTION
   ====================== */
.single-contact {
    max-width: 1400px;
    margin: 0 auto 40px;
    padding: 20px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 5px;
}
.single-contact h3 {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 1.2rem;
    margin-top: 0;
}
/* Reduce spacing between contact details paragraphs */
.center-column, .contact-details p {
    font-size: 17px !important;
}
.contact-details p {
    margin: 5px 0;
}
/* Style the address container so the label and text align on the same line */
.contact-address {
    margin: 5px 0;
    font-size: 17px;
    display: flex;
    align-items: center;
    gap: 5px;
}

/* Ensure the <strong> label in the address doesn't push the content down */
.contact-address strong {
    vertical-align: middle;
}

/* Social links container styling */
.contact-socials {
    margin-top: 10px;
}
.contact-socials h4 {
    margin: 0 0 5px;
    font-size: 1.4rem;
}
.contact-socials span {
    margin-right: 10px;
    font-size: 18px;
}

/* Optional: if your social icons are images, align them */
.contact-socials img {
    vertical-align: middle;
    margin-right: 5px;
}
.card-years,
.hero-years {
    display: flex;
    align-items: left;
    color:#2b3a40;
    font-weight:600;
    font-size:18px;
    /* Use your existing font-size/color if desired */
    /* For example, if you want the hero-years a bit larger: */
}

.card-years .years-label,
.hero-years .years-label {
    margin: 0 0 0 5px; /* Adds a little space between the value and the label */

}
.wpbdp-field-years_in_business .wpbdp-icon {
    font-size: 18px;      /* Change the icon size */
    color: #52C9CA;    /* Change the icon color */
    margin-right: 0px;    /* Add space between the icon and the value */
  }

/* Container for additional details on the excerpt card */
.card-extra-details {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: center;   /* Ensures everything lines up horizontally */
    margin-bottom: 10px;
    border-bottom: 2px solid #f4f4f4;
  }
  
  /* Each field (years, estimates, license, hourly) is a small horizontal flex group */
  .card-extra-details .detail-item {
    display: flex;
    flex-direction: row;   /* label and value side by side */
    align-items: baseline; /* or 'center' if you prefer them perfectly centered */
    gap: 5px;              /* space between label and value */
    font-size: 16px;       /* smaller font on excerpt if desired */
    color: #17252a;
  }

  .detail-item .free-estimates {
    display: flex;
    flex-direction: column;
  }
  
  /* Make labels a bit bolder than values */
  .card-extra-details .detail-label {
    font-weight: 600;
    margin: 0;
  }
  
  /* Ensure value doesn’t have unintended margin */
  .card-extra-details .detail-value {
    margin: 0;
  }
  
  /* Base styling for extra details in the hero area */
.hero-additional-details {
    display: flex;
    gap: 15px;          /* Space between each detail item */
    flex-wrap: wrap;    /* Allows items to wrap if needed */
    align-items: center;
    padding: 0px;      /* Optional padding to give it its own 'card' feel */
    background: #f9f9f9;
    margin-top:20px;
}

/* Each detail item: label and value side by side */
.hero-additional-details .detail-item {
    display: flex;
    flex-direction: row;
    align-items:baseline; /* Adjust to 'center' if needed */
    gap: 5px;
    font-size: 16px;
    color: #17252a;
}

/* Bold the labels */
.hero-additional-details .detail-label {
    font-weight: 500;
    margin: 0;
}

/* Ensure value has no extra margin */
.hero-additional-details .detail-value {
    margin: 0;
}
  .detail-item .detail-value {
    margin:0;  
  }
  
  .detail-item .detail-label {
    font-weight: 500;         
  }
  .business-views i{
    font-size:18px;
    color:#52C9CA;
    margin-right:5px;
  }
  .business-views p{
    font-size:16px;
    color: #17252a;
    margin-bottom:8px;
    font-weight:500;
  }

/* Responsive: Stack columns on mobile */
@media (max-width: 768px) {
    .bdp-single {
        width: 100%;
        padding: 0px;
        line-height: 1.6;
        color: #333;
    }
    .wpbdp-listing-contact-form .send-message-button {
        display: none !important;
    }
    .wpbdp-listing-contact-form .contact-form-wrapper {
        display: block !important;
    }
    .listing-hero {
        padding: 20px 10px;
    }
    .listing-hero-inner {
        flex-direction: row !important;  /* change from column to row */
        align-items: center;
        justify-content: flex-start;      /* align to left; change to center if desired */
        text-align: center;                 /* or center if preferred */
        gap: 5px;
        width: 100%;
        padding: 0 10px;                  /* add some horizontal padding */
      }
      .hero-title {
        font-size: 1.8rem;
        margin: 0;
        line-height:1;
        margin-top:30px !important;
      }
      .hero-logo img {
        width: 150px !important;
        height: 150px !important;
      }

    .main-content-row {
        flex-direction: column;
        padding:0px;
      }
      .left-column,
      .center-column,
      .right-column {
        margin-bottom: 20px; /* add spacing between stacked columns */
        padding: 15px; /* slightly less padding if needed */
      }
      .all-photos img {
        width: 100px !important; /* adjust thumbnail size on mobile */
        height: 100px !important;
      }
      .wpbdp-listing.single { padding: 10px !important; }
      .listing-nav-tabs ul {
        justify-content: center; /* Centers the tabs */
        flex-wrap: wrap;         /* Allows them to wrap if needed */
        gap: 10px;               /* Optionally reduce the gap */
      }
      .listing-nav-tabs ul li a {
        padding: 8px;            /* Optionally reduce the padding */
        font-size: 16px;         /* Optionally reduce the font size */
      }

        .card-extra-details {
        display:flex;
        flex-direction: column;
        align-items: flex-start; /* left-align the items */
        gap: 0px;
    }
            /* Force the container to stack each item vertically */
        .hero-additional-details {
            flex-direction: column;      /* All items in a single column */
            align-items: flex-start;     /* Left-align them */
            gap: 0px;
        }
        .hero-additional-details .detail-item {
            font-size:14px;
        }

    }
  
    .excerpt-footer {
        display: flex;
        width: 100%;
        margin-top: 10px;
      }
      
      .excerpt-footer .listing-actions,
      .excerpt-footer .card-category {
        width: 50%;
        box-sizing: border-box; /* ensures padding/borders don’t overflow the 50% */
      }
      
      .excerpt-footer .listing-actions {
        text-align: left;   /* or 'center' if you prefer */
      }
      
      .excerpt-footer .card-category {
            text-align: right;  /* keeps category on the far right */
            white-space: nowrap; /* prevents the text from wrapping */
            margin-left: auto; /* pushes the category to the far right */
      }
      .wpbdp-field-display.wpbdp-field-category {
        margin-bottom: 0 !important;
      }
      @media (max-width: 768px) {
        .excerpt-footer {
          display: flex;
          width: 100%;
          margin-top: 10px;
        }
        
        /* Fix the listing actions to a set width */
        .excerpt-footer .listing-actions {
          flex: 0 0 40%;
          text-align: left;
          box-sizing: border-box;
        }
        
        /* Let the category take the remaining space and prevent wrapping */
        .excerpt-footer .card-category {
          flex: 1;
          text-align: right;
          white-space: nowrap;  /* prevents wrapping */
          box-sizing: border-box;
        }
      }
      .deal-coupon-section {
        background: #f8f9fa;
        padding: 15px;
        border-radius: 8px;
        text-align: center;
        margin-bottom: 20px;
    }
    
    .deal-coupon-section h3 {
        font-family: 'Barlow Condensed', sans-serif;
        font-size: 1.8rem;
    }
   .deal-coupon-section .value a {
    font-size: 20px !important;
    font-weight: 400;
    padding: 8px 12px;
    border-radius: 10px;
    background-color:#012e40;
    color:#ffffff;
   }
   .deal-coupon-section .value a:hover {
    background-color:#52C9CA;
    color:#012E40
   }
   .submit-next-button {
    background-color: #52C9CA !important;
    color: #fff !important;
    padding: 10px 40px;
    width:30%;
    border: none;
    border-radius: 8px;
    font-size: 18px;
    cursor: pointer;
    transition: background-color 0.3s ease;
  }
  
  .submit-next-button:hover {
    background-color: #012E40 !important;
    color:#fff !important;
  }
   @media (max-width: 768px) {
    .wpbdp-plan-selection-list {
      display: flex;
      flex-direction: column;
    }
    .wpbdp-plan {
      width: 100%;
      margin-bottom: 20px; /* optional spacing */
    }
  }
  .select2-container--default .select2-selection--multiple {
    min-height: 45px !important;
    height: 45px !important; /* if you want a strict height */
    display: flex;           /* ensures alignment of items */
    align-items: center;     /* centers the text/placeholder */
}

.go-back-button {
    /* Size of the circle */
    width: 40px;
    height: 40px;
    
    /* Make it round with a simple gradient background */
    background: #012E40;
    border-radius: 50%;
    
    /* Remove default borders and text, center the icon */
    border: none;
    outline: none;
    display: flex;
    align-items: center;
    justify-content: center;
    
    /* Font & color for the icon */
    font-size: 18px; /* Adjust icon size */
    color: #fff !important;     /* Icon color */
    
    /* Some box shadow & pointer styles */
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    cursor: pointer;
    transition: transform 0.2s ease;
    margin-bottom:30px;
  }
  
  .go-back-button:hover {
    /* Slight grow on hover */
    transform: scale(1.05);
    background-color: #52C9CA;
    color:#fff;
  }

  .town-image {
    box-shadow: 0 5px 10px rgba(154,160,185,.05), 0 15px 40px rgba(166,173,201,.2);
    border-radius: 25px;
  }