.page-template-locations-listing .container{
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 0;
}

/* Banner Styles */
.locations-banner {
    background: #FFDCE7;
    padding: 93px 0;
    text-align: center;
}

.banner-title {
    font-family: "myFontMd", Sans-serif;
    font-size: 48px;
    font-weight: normal;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #E6007F;
    margin-bottom: 30px;
}

.banner-description {
    max-width: 800px;
    margin: 0 auto 30px;
    font-size: 18px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
}

/* Search Form Styles - Inline layout */
.location-search-form {
    max-width: 1000px;
    margin: 0 auto;
}

.search-row-inline {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.country-selector-inline{
    flex: 1;
    min-width: 20px;
    max-width: 100px;
}
.search-input-inline{
    flex: 1;
    min-width: 200px;
    max-width: 300px;
}
.search-buttons-inline {
    flex: 1;
    min-width: 90px;
    max-width: 120px;
}
.country-selector-inline select,
.search-input-inline input {
    width: 100%;
}

/* Ensure country dropdown is always visible */
.country-select {
    padding: 16px 20px;
    font-size: 16px;
    border: none;
    background: #F2F2F0;
    color: #383838;
    cursor: pointer;
    appearance: none;
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="black" width="18px" height="18px"><path d="M7 10l5 5 5-5z"/></svg>');
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 18px;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    outline: none;
}
.search-input {
    padding: 16px 22px;
    border: none;
    font-size: 16px;
    font-family: "myFont", sans-serif;
    width: 100%;
    box-sizing: border-box;
    outline: none;
}

.search-buttons-inline {
    display: flex;
}

.current-location-btn {
    background: #383838 !important;
    border: none;
    padding: 16px 20px !important;
    cursor: pointer;
    transition: background 0.3s ease;
}
.current-location-btn:hover {
    background: #555;
}

.search-go-btn {
    background: #E6007F;
    color: white !important;
    border: none;
    padding: 16px 20px !important;
    font-family: "myFont", sans-serif !important;
    font-size: 16px !important;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.1em !important;
    transition: background 0.3s ease;
    flex: 1;
}
.search-go-btn:hover {
    background: #383838;
}
.search-results-info {
    margin: 30px auto 0;
}
.search-controls {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
}
.clear-search-btn {
    background: #383838;
    color: white !important;
    border: none;
    padding: 13px 40px;
    cursor: pointer;
    font-family: "myFontMd", sans-serif !important;
    text-decoration: none;
    display: inline-block;
    text-transform: uppercase;
    font-size: 14px !important;
}

.clear-search-btn:hover {
    background: #E6007F;
    color: #333;
}

.bannerList{
    display: flex;
    list-style: none;
    justify-content: center;
    padding: 0;
    margin: 40px 0 0;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: .2em;
    font-family: "myFontBd";
    gap: 100px;
}
.bannerList a{
    font-size: 14px !important;
}
.iconbox-icon-container {
    color: #fff;
    font-size: 16px;
}
/* Enhanced Grid Layout */
.locations-grid {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: stretch;
    height: 680px;
}

.locations-map-column {
    position: sticky;
    top: 20px;
    height: fit-content;
    flex: 0 0 50%;
}
.locations-list-column{
    flex: 0 0 50%;
    background: #F2F2F0;
    height: 100%;
    overflow-y: scroll;
    padding: 40px;
}
.map-container {
    overflow: hidden;
    height: 680px;
}

.custom-map {
    height: 100%;
    width: 100%;
}

/* Info Window Styles */
.map-info-window {
    padding: 15px;
    min-width: 250px;
    max-width: 300px;
    font-family: "myFontMd", sans-serif;
    background:#383838;
    color:#ffffff;
}

.info-window-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-bottom: 10px;
    position: relative;
}
.info-window-header a{
    outline:none;
}

.info-window-header h4 {
    font-family: "myFontMd", sans-serif;
    font-size: 20px;
    color: #ffffff;
    margin: 0;
    flex: 1;
    display: block !important;
    font-weight:500;
    padding-right: 30px;
}

/* Custom close button */
.custom-close-btn {
    background: none !important;
    border: none;
    color: #ffffff !important;
    font-size: 24px !important;
    cursor: pointer;
    padding: 0 !important;
    width: 22px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: right;
    position: absolute;
    top: 0;
    right: -7px;
    transition: color 0.3s ease;
    z-index: 1000;
    outline: none;
    border: 0;
}

.custom-close-btn:hover {
    color: #E6007F;
}

/* Hide Google's default close button and other UI elements */
.gm-ui-hover-effect {
    display: none !important;
}

.gm-style-iw-chr {
    display: none !important;
}

.gm-style-iw-c {
    padding: 0 !important;
}

.gm-style-iw-d {
    overflow: visible !important;
}

.info-window-content {
    margin-bottom: 15px;
}

.info-window-content .address,
.info-window-content .location,
.info-window-content .phone {
    font-size: 16px;
    color: #fff;
    margin: 2px 0;
    line-height: 1.4;
    font-family:"myFont";
}
.info-window-actions {
    display: flex;
}
.info-window-actions .btn-book,
.info-window-actions .btn-info {
    flex: 1;
    padding: 14px 12px 13px;
    text-align: center;
    text-decoration: none;
    font-size: 12px;
    font-family: "myFontMd", sans-serif;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.info-window-actions .btn-book {
    background: #E6007F;
    color: white;
    border: none;
}
.locationLeftHalf{
    flex: 0 0 70%;
}
.locationRightHalf{
    flex: 0 0 20%;
}
.info-window-actions .btn-book:hover {
    background: #666666;
    color: white;
}

.info-window-actions .btn-info {
    background: #fff;
    color: #383838;
}

.info-window-actions .btn-info:hover {
    background: #FFDDE7;
    color: #383838;
}

/* Improved Google Maps InfoWindow styling */
.gm-style .gm-style-iw {
    padding: 0 !important;
    border-radius: 0px !important;
    transition: opacity 0.3s ease !important;
}

.gm-style .gm-style-iw-c {
    padding: 0 !important;
    border-radius: 0px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important;
    max-height: none !important;
}

.gm-style .gm-style-iw-d {
    overflow: hidden !important;
    max-height: none !important;
}

/* Ensure the map panning is smooth */
.gm-style iframe {
    transition: transform 0.3s ease !important;
}
.location-card {
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-block: 50px;
}
.locations-list-container .location-card + .location-card{
    border-top: 1px solid #c3c4c2;
}
.locations-list-container .location-card:first-child{
    padding-top:0;
}
.location-card.highlighted {
    border-top: 1px solid #E6007F;
}

.location-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.location-title {
    font-family: "myFontMd", sans-serif;
    color: #383838;
    margin: 0;
    flex-grow: 1;
    font-weight: 500;
    text-transform: uppercase;
    font-size: 30px;
    letter-spacing: 1px;
    margin-bottom: 10px;
    position: relative;
}

.location-state {
    background: #E6007F;
    color: white;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-family: "myFontBd", sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.location-card-content {
    display: flex;
    justify-content: space-between;
    flex-flow: row wrap;
}
/* Removed .location-icon styles since icons are removed */
.location-info {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: flex-start;
}
.locationContent{
    flex: 0 0 74%;
}

.location-text {
    color: #383838;
    line-height: 1.5;
    display: block;
    font-size: 18px;
    margin: 0;
}

.locationActions {
    display: flex;
    gap: 5px;
    margin-top: 0;
    flex: 0 0 20%;
    flex-flow: column;
}
.locationActions .btn{
    font-weight: 500;
    border-radius: 0;
    background: #383838;
    color: #ffffff;
    padding: 14px 21px;
    font-size: 15px;
    border: 0;
    outline: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    text-align: center;
    font-family: "myFontMd";
    display: block !important;
}
.locationActions .btn-book-now {
    background: #E6007F;
    color: white;
    border: none;
}

.btn-book-now:hover {
    background: #383838;
    color: white;
}

.btn-more-info {
    background: transparent;
    color: #E6007F;
    border: 2px solid #E6007F;
}

.btn-more-info:hover {
    background: #E6007F;
    color: white;
}

/* Distance Badge */
.distance-badge {
    display: block;
    color: #383838;
    font-size: 12px;
    font-weight: 700;
    font-family: "myFontBd";
    margin: 0;
    margin-bottom: 12px;
    line-height: 1;
}

/* Quick Links */
.locations-quick-links {
    background: #f8f9fa;
    padding: 30px 0;
    margin-top: 40px;
}

.quick-links-list {
    display: flex;
    justify-content: center;
    gap: 30px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.quick-links-list li {
    display: inline-block;
}

.quick-links-list a {
    color: #E6007F;
    text-decoration: none;
    font-family: "myFontMd", sans-serif;
    font-size: 16px;
    padding: 8px 16px;
    border: 2px solid #E6007F;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.quick-links-list a:hover {
    background: #E6007F;
    color: white;
}

/* Responsive Design */
@media (max-width: 992px) {
    .locations-map-column {
        position: static;
        flex: 0 0 100%;
    }
    
    .map-container {
        height: 400px;
    }
    
    .map-info-window {
        max-width: 250px;
    }
}

@media (max-width: 768px) {
    .banner-title {
        font-size: 24px;
    }
    
    .search-row-inline {
        flex-direction: column;
        gap: 10px;
    }
    
    .country-selector-inline,
    .search-input-inline,
    .search-buttons-inline {
        min-width: 100%;
        max-width: 100%;
    }
    
    .search-buttons-inline {
        display: flex;
        width: 100%;
    }
    
    .current-location-btn,
    .search-go-btn {
        width: 50%;
    }
    .locationActions {
		flex: 0 0 100%;
		flex-flow: row wrap;
		margin-top:15px;
	}
    .quick-links-list {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }
	.country-select {
    	background: #ffffff;
	}
	.bannerList a {
		font-size: 11px !important;
	}
	.bannerList {
		margin: 10px 0 0;
		gap: 20px;
	}
	.locations-banner {
		padding: 50px 0;
	}
	.locations-list-column {
		flex: 0 0 100%;
		padding: 15px;
		margin: 0;
	}
	.location-card {
		flex-flow: column wrap;
	}
	.locationLeftHalf {
		flex: 0 0 100%;
	}
	.locationRightHalf {
		flex: 0 0 100%;
		width: 100%;
	}
	.location-title {
    	font-size: 24px;
	}
	.location-card {
		padding-block: 30px;
	}
	.locationActions .btn {
    	padding: 12px 25px;
    	font-size: 14px;
	}
	.gm-style .gm-style-iw-c {
		min-width: 250px !important;
	}
	.locations-grid {
		height: auto;
	}
	.page-template-locations-listing .container{
		overflow: hidden;
	}
	.locations-grid {
		height: 860px;
	}
	
	
	
}
