/* ===== ORIGINAL CSS (unchanged) ===== */
#wpsl-gmap,#wpsl-search-wrap label{margin-bottom:0}
#wpsl-wrap,.wpsl-clearfix:after,.wpsl-contact-details{clear:both}
#wpsl-map-controls div:hover,#wpsl-reset-map:hover,#wpsl-search-btn:hover,.wpsl-dropdown{cursor:pointer}
#wpsl-search-btn,h2.wpsl-street{font-weight:900;font-family:BRANDING}
@font-face{font-family:wpsl-fontello;src:url('../font/fontello.eot?28897909');src:url('../font/fontello.eot?28897909#iefix') format('embedded-opentype'),url('../font/fontello.woff?28897909') format('woff'),url('../font/fontello.ttf?28897909') format('truetype'),url('../font/fontello.svg?28897909#fontello') format('svg');font-weight:400;font-style:normal}
body{font-family:proxima-nova,Sans-serif;font-size:18px;font-weight:400;line-height:1.6em}
h1,h2,h3,h4,h5,h6{margin-block-start:.5rem;margin-block-end:1rem;font-family:Branding;font-weight:500;line-height:1.2;color:inherit}
#wpsl-gmap{float:right;width:66.5%}
#wpsl-search-wrap,.wpsl-store-below #wpsl-gmap{float:none;width:100%}
.wpsl-gmap-canvas{width:100%;height:300px;margin-bottom:20px}
#wpsl-gmap div:not[class^=gv-iv],#wpsl-gmap img,.wpsl-gmap-canvas div:not[class^=gv-iv],.wpsl-gmap-canvas img{box-shadow:none!important;max-width:none!important;background:0 0}
#wpsl-gmap img,.wpsl-gmap-canvas img{display:inline;opacity:1!important;max-height:none!important}
#wpsl-gmap *{box-sizing:content-box!important;-webkit-box-sizing:content-box!important;-moz-box-sizing:content-box!important}
#wpsl-gmap div.gm-iv-marker,.wpsl-gmap-canvas div.gm-iv-marker{backgroud-image:inherit}
#wpsl-wrap{position:relative;width:100%;overflow:hidden;margin-bottom:20px}
#wpsl-search-wrap form{margin:0;padding:0;border:none;outline:0}
#wpsl-gmap #wpsl-map-controls{position:absolute;height:40px;right:10px;bottom:24px;border-radius:2px;z-index:3;font-size:14px;white-space:nowrap;overflow:hidden;box-shadow:rgba(0,0,0,.3) 0 1px 4px -1px}
#wpsl-gmap #wpsl-map-controls.wpsl-street-view-exists{right:60px}
#wpsl-map-controls .wpsl-direction-preloader{margin:5px 5px 0}
#wpsl-map-controls div{float:left;background:#fff;border-radius:2px}
#wpsl-wrap [class*=" wpsl-icon-"],#wpsl-wrap [class^=wpsl-icon-]{position:relative;float:left;padding:12px 13px;display:inline-block;font-family:wpsl-fontello!important;font-style:normal;font-weight:400;font-size:1.3em;color:#737373;speak:none;text-decoration:inherit;text-align:center;font-variant:normal;text-transform:none;line-height:1em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
#wpsl-map-controls span{font-family:inherit;font-size:inherit}
#wpsl-wrap .wpsl-icon-reset{border-radius:2px 0 0 2px;z-index:2;padding-right:4px}
#wpsl-wrap .wpsl-ie .wpsl-icon-reset{margin-right:-1px}
#wpsl-wrap .wpsl-icon-direction{z-index:1}
#wpsl-map-controls.wpsl-reset-exists .wpsl-icon-direction{border-radius:0 2px 2px 0}
#wpsl-wrap .wpsl-active-icon,#wpsl-wrap [class*=" wpsl-icon-"]:hover,#wpsl-wrap [class^=wpsl-icon-]:hover{color:#000}
#wpsl-result-list a,#wpsl-wrap [class*=" wpsl-icon-"]:focus,#wpsl-wrap [class^=wpsl-icon-]:active{outline:0}
#wpsl-wrap .wpsl-in-progress,#wpsl-wrap .wpsl-in-progress:hover{color:#c6c6c6}
#wpsl-gmap #wpsl-reset-map{position:absolute;display:none;right:37px;top:37px;padding:6px 14px;background:#fff!important;border:1px solid rgba(0,0,0,.15);border-radius:2px;z-index:3}
.gm-style-cc{word-wrap:normal}
#wpsl-search-wrap .wpsl-input,#wpsl-search-wrap .wpsl-select-wrap{display:grid !important}
#wpsl-search-btn,#wpsl-search-wrap #wpsl-radius,#wpsl-search-wrap #wpsl-results,#wpsl-search-wrap .wpsl-input input,#wpsl-search-wrap .wpsl-input label{display:table-cell}
#wpsl-search-input{width:179px;height:auto;padding:15px;font-size:100%;margin:0}
#wpsl-search-wrap input{border:1px solid #d2d2d2;border-radius:5px}
#wpsl-search-btn{font-size:22px;line-height:1.428571429;color:#fff;background-color:#16486d;padding:10px 20px;border-radius:8px!important;box-shadow:0 1px 2px rgba(64,64,64,.1);text-transform:none!important}
#wpsl-search-input.wpsl-error{border:1px solid #bd0028!important}
.wpsl-search{margin-bottom:0!important;padding:40px 0!important;background:#16486d!important;border-bottom:5px solid #ccc}
.wpsl-search.wpsl-checkboxes-enabled{padding:12px}
.elementor-widget:not(:last-child).elementor-widget__width-initial,.wpsl-back{display:inline-block}
#wpsl-result-list{width:30%;margin-right:.5%}
.wpsl-store-below #wpsl-result-list{width:100%;margin:12px 0 0}
#wpsl-direction-details,#wpsl-stores{overflow-y:auto}
#wpsl-direction-details,#wpsl-search select,#wpsl-search-wrap select,.wpsl-direction-details,.wpsl-hide,.wpsl-more-info-listings{display:none}
#wpsl-result-list p{padding-left:10px}
.wpsl-store-below #wpsl-result-list p,.wpsl-store-below .wpsl-direction-before{padding-left:0}
.wpsl-direction-before{margin:14px 0 21px;padding-left:10px}
.wpsl-direction-before div,.wpsl-store-hours{margin-top:10px}
#wpsl-wrap #wpsl-result-list li{padding:10px;border-bottom:1px dotted #ccc;margin-left:0;overflow:hidden;list-style:none!important;text-indent:0}
#wpsl-wrap #wpsl-result-list li li{padding:0;border-bottom:0;margin-left:14px;overflow:visible}
#wpsl-wrap #wpsl-result-list ul li{list-style:none!important}
#wpsl-wrap #wpsl-result-list ol li{list-style:decimal!important}
#wpsl-wrap.wpsl-store-below #wpsl-result-list li{padding:10px 10px 10px 0}
#wpsl-result-list li p{padding-left:0;margin:0}
.wpsl-store-details.wpsl-store-listing{position:relative;padding-right:20px}
.wpsl-store-details.wpsl-store-listing.wpsl-active-details:before,.wpsl-store-details.wpsl-store-listing:before{position:absolute;content:'';bottom:6px;right:0;border-top:5px solid #000;border-left:6px solid transparent;border-right:6px solid transparent}
.wpsl-store-details.wpsl-store-listing.wpsl-active-details:before{border-bottom:5px solid #000;border-top:none;border-left:6px solid transparent;border-right:6px solid transparent}
#wpsl-stores .wpsl-store-thumb{float:right;border-radius:3px;margin:7px 0 0 10px;padding:0;border:none}
.wpsl-direction-index{float:left;width:8%;margin:0 5% 0 0}
.wpsl-direction-txt{float:left;width:62%}
.wpsl-direction-distance{float:left;width:20%;margin:0 0 0 5%}
.wpsl-direction-txt span{display:block;margin-top:10px}
.wpsl-country,.wpsl-street{display:block;border-bottom:none!important}
#wpsl-wrap #wpsl-result-list li.wpsl-preloader{position:relative;border-bottom:none;padding:10px 10px 10px 35px}
.wpsl-preloader img{position:absolute;left:10px;top:50%;margin-top:-8px;box-shadow:none!important;border:none!important}
.wpsl-preloader span{float:left;margin:-5px 0 0 11px}
#wpsl-search-wrap .wpsl-select-wrap{position:relative;z-index:2;margin-right:0}
#wpsl-search-wrap .wpsl-input-field{position:relative}
#wpsl-radius,#wpsl-results{float:left;margin-right:15px;display:inline}
#wpsl-category{z-index:1;clear:both;display:flex;flex-direction:column;white-space:nowrap}
#wpsl-search-wrap .wpsl-dropdown div{position:absolute;float:none;margin:-1px 0 0;top:100%;left:-1px;right:-1px;border:1px solid #69727d;background-color:#fff;border-top:1px solid #eee;border-radius:5px;opacity:0;overflow:hidden;-webkit-transition:150ms ease-in-out;-moz-transition:150ms ease-in-out;-ms-transition:150ms ease-in-out;transition:150ms ease-in-out}
#wpsl-search-wrap .wpsl-dropdown.wpsl-active div{opacity:1}
#wpsl-search-wrap .wpsl-input label,.wpsl-info-actions .wpsl-zoom-here{margin-right:0}
#wpsl-radius{margin-right:10px}
#wpsl-search-wrap div label{line-height:32px;float:left;margin-right:10px;font-size:26px;color:#16486d;font-weight:700;font-family:Branding;margin-bottom:5px}
#wpsl-results label,#wpsl-wrap .wpsl-results-only label{width:auto}
#wpsl-result-list ul{list-style:none;margin:0;padding:0}
#wpsl-gmap .wpsl-info-window,.wpsl-gmap-canvas .wpsl-info-window{max-width:225px;padding:10px 20px 10px 10px}
.wpsl-info-window span,.wpsl-more-info-listings span,.wpsl-store-hours strong,table.wpsl-opening-hours time{display:block}
.wpsl-info-window .wpsl-no-margin{margin:0}
#wpsl-result-list .wpsl-contact-details span,.wpsl-info-window span span{display:inline!important}
#wpsl-wrap .wpsl-info-window p{margin:15px 0 10px}
#wpsl-gmap .wpsl-info-actions{display:block;margin:10px 0!important}
.wpsl-info-actions a{float:left;margin-right:7px}
.wpsl-dropdown{position:relative;width:190px;border:1px solid #ccc;background:#fff;padding:8px;border-radius:5px;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-right:0!important;z-index:2}
.wpsl-dropdown ul{position:absolute;left:0;width:100%;height:100%;padding:0!important;margin:0!important;list-style:none;overflow:hidden}
.wpsl-dropdown:hover{box-shadow:0 0 5px rgba(0,0,0,.15)}
.wpsl-dropdown .wpsl-selected-item,.wpsl-dropdown li{position:relative;display:block;line-height:normal;color:#818285;overflow:hidden}
.fa-solid,.fas,.wpsl-tab h3{color:#16486d}
#wpsl-radius .wpsl-dropdown .wpsl-selected-item,#wpsl-radius .wpsl-dropdown li,#wpsl-results .wpsl-dropdown .wpsl-selected-item,#wpsl-results .wpsl-dropdown li{white-space:nowrap}
.wpsl-selected-item:after{position:absolute;content:"";right:12px;top:50%;margin-top:-4px;border:6px solid transparent;border-top:8px solid #000}
.wpsl-active .wpsl-selected-item:after{margin-top:-10px;border:6px solid transparent;border-bottom:8px solid #000}
.wpsl-dropdown li:hover{background:#f8f9f8;position:relative;z-index:3;color:#000}
.wpsl-dropdown .wpsl-selected-item,.wpsl-dropdown li,.wpsl-selected-item{list-style:none;padding:7px 0 7px 7px!important;margin:0!important}
#wpsl-search-wrap .wpsl-autocomplete-highlight,.wpsl-selected-dropdown{font-weight:700}
.wpsl-clearfix:after,.wpsl-clearfix:before{content:" ";display:table}
#wpsl-wrap .wpsl-selected-item{position:static;padding-right:35px!important}
/*#wpsl-category,.wpsl-input,.wpsl-select-wrap{position:relative;margin-bottom:10px}*/
#wpsl-search-wrap .wpsl-scroll-required div{overflow-y:scroll}
.wpsl-scroll-required ul{overflow:visible}
.wpsl-provided-by{float:right;padding:5px 0;text-align:right;font-size:12px;width:100%}
.wpsl-contact-details,.wpsl-location-address,.wpsl-locations-details{margin-bottom:15px}
table.wpsl-opening-hours td{vertical-align:top;padding:0 15px 0 0;text-align:left}
table.wpsl-opening-hours{width:auto!important;font-size:100%!important}
table.wpsl-opening-hours,table.wpsl-opening-hours td{border:none!important}
.wpsl-gmap-canvas .wpsl-infobox{min-width:155px;max-width:350px!important;padding:10px;border-radius:4px;font-size:13px;font-weight:300;border:1px solid #ccc;background:#fff!important}
.wpsl-gmap-canvas .wpsl-infobox:after,.wpsl-gmap-canvas .wpsl-infobox:before{position:absolute;content:"";left:40px;bottom:-11px}
.wpsl-gmap-canvas .wpsl-infobox:after{border-left:11px solid transparent;border-right:11px solid transparent;border-top:11px solid #fff}
.wpsl-gmap-canvas .wpsl-infobox:before{border-left:13px solid transparent;border-right:13px solid transparent;border-top:13px solid #ccc;bottom:-13px;left:38px}
#wpsl-checkbox-filter,.wpsl-custom-checkboxes{display:block;float:left;margin:5px 0 15px;padding:0;width:100%}
#wpsl-checkbox-filter li,.wpsl-custom-checkboxes li{float:left;list-style:none;margin:0 1% 0 0}
#wpsl-checkbox-filter.wpsl-checkbox-1-columns li,.wpsl-custom-checkboxes.wpsl-checkbox-1-columns li{width:99%}
#wpsl-checkbox-filter.wpsl-checkbox-2-columns li,.wpsl-custom-checkboxes.wpsl-checkbox-2-columns li{width:49%}
#wpsl-checkbox-filter.wpsl-checkbox-3-columns li,.wpsl-custom-checkboxes.wpsl-checkbox-3-columns li{width:32%}
#wpsl-checkbox-filter.wpsl-checkbox-4-columns li,.wpsl-custom-checkboxes.wpsl-checkbox-4-columns li{width:24%}
#wpsl-checkbox-filter input,.wpsl-custom-checkboxes input{margin-right:5px}
#wpsl-search-wrap .wpsl-autocomplete-search-container{position:relative;margin-right:0}
#wpsl-autocomplete-search-input{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;font-size:16px;box-sizing:border-box}
#wpsl-search-wrap .wpsl-autocomplete-search-results{position:absolute;width:100%;top:100%;left:0;z-index:1000;background:#fff;border:1px solid #ccc;border-top:none;border-radius:0 0 4px 4px;box-shadow:0 4px 6px rgba(0,0,0,.1);max-height:300px;overflow-y:auto;display:none;box-sizing:border-box}
#wpsl-search-wrap .wpsl-autocomplete-search-results ul{position:relative;list-style-type:none;margin:0;padding:0 14px 25px;font-size:90%!important}
#wpsl-search-wrap .wpsl-autocomplete-search-results ul:after{content:"";display:block;position:absolute;left:10px;right:0;background-image:url('https://storage.googleapis.com/geo-devrel-public-buckets/powered_by_google_on_white.png');background-repeat:no-repeat;background-size:contain;height:18px}
#wpsl-search-wrap .wpsl-autocomplete-search-results li{padding:4px10px;cursor:pointer;border-bottom:1px solid #eee;margin-bottom:0}
#wpsl-search-wrap .wpsl-autocomplete-search-results li:last-child{border-bottom:none;margin-bottom:10px}
#wpsl-search-wrap .wpsl-autocomplete-search-results li:focus,#wpsl-search-wrap .wpsl-autocomplete-search-results li:hover{background-color:#f5f5f5}
#wpsl-search-wrap .wpsl-autocomplete-search-results li a,#wpsl-search-wrap .wpsl-autocomplete-search-results li a:hover,#wpsl-search-wrap .wpsl-autocomplete-search-results li a:link,#wpsl-search-wrap .wpsl-autocomplete-search-results li a:visited{text-decoration:none;color:#000;box-shadow:none}
@media (max-width:825px){#wpsl-search-input{width:348px}.wpsl-results-only #wpsl-search-wrap .wpsl-dropdown{width:70px}#wpsl-search-wrap .wpsl-input{width:100%;margin-bottom:10px}#wpsl-category label,#wpsl-radius label,.wpsl-cat-results-filter #wpsl-search-wrap .wpsl-input,.wpsl-input label,.wpsl-no-filters #wpsl-search-wrap .wpsl-input,.wpsl-results-only #wpsl-search-wrap .wpsl-input{width:auto}}
div#wpsl-submit{position:absolute;padding-top:120px!important}
h2.wpsl-street{font-size:22px;color:#16486d;margin-bottom:5px!important}
.wpsl-tab h3{font-family:BRANDING;font-weight:700}
.wpsl-search-btn,input[type=submit]{padding:20px;font-family:Branding;font-size:22px;font-weight:700}
.wpsl-search-input,input[type=text]{background:var(#fff)}
.wpsl-directions,.wpsl-directions-2{display:table;border-radius:8px;background-color:#16486d;float:left;color:#fff}
.wpsl-contact-details span{padding-right:15px}
span.rat,span.rev{margin-top:-6px}
span.rateid,span.rateidnew{display:inline-flex}
#wpsl-direction-details,#wpsl-gmap,#wpsl-stores{height:850px!important;margin-left:15px}
.wpsl-direction-wrap{padding-bottom:50px}
.wpsl-directions{padding:5px 10px}
.wpsl-directions-2{margin-left:18px}
a.wpsl-directions:focus,a.wpsl-directions:hover{color:#16486d!important;background-color:#fff!important;border:1px solid #16486d;border-color:#16486d!important}
#wpsl-search-wrap .select2{display:none!important}
.rtl #wpsl-result-list{float:left}
.rtl #wpsl-checkbox-filter input,.rtl .wpsl-custom-checkboxes input{margin-right:0;margin-left:5px}
.rtl .wpsl-info-actions a{float:right;margin:0 0 0 7px}
.rtl #wpsl-gmap .wpsl-info-window{padding-right:22px}
.rtl #wpsl-wrap #wpsl-result-list li.wpsl-preloader{padding:10px 35px 10px 0}
.rtl .wpsl-preloader img{left:0;right:10px}
.wpsl-twentynineteen .wpsl-input{width:100%}
.wpsl-twentynineteen #wpsl-search-input{line-height:1.3em}
.wpsl-twentynineteen #wpsl-search-wrap label{margin-top:6px}
.wpsl-twentynineteen .wpsl-dropdown{width:116px}
#wpsl-results .wpsl-dropdown{width:81px}
#wpsl-search-wrap{background-color:#f7f7f7;margin:auto!important;padding:10px 40px 200px;max-width:min(100%,1377px);border:1px solid #d5d8dc}
#wpsl-category label,#wpsl-radius label,.wpsl-input label{width:auto!important}
#wpsl-search-btn,#wpsl-search-wrap div{margin-right:50px;float:left}
#wpsl-search-btn,#wpsl-search-wrap #wpsl-radius,#wpsl-search-wrap #wpsl-results,#wpsl-search-wrap .wpsl-input,#wpsl-search-wrap .wpsl-input input,#wpsl-search-wrap .wpsl-input label{display:flex;flex-direction:column;white-space:nowrap}

.magnifying-glass{color:#fff}
.wpsl-tab h3{font-size:32px;margin-bottom:-10px}
@media (max-width:1224px){#wpsl-category .wpsl-dropdown,#wpsl-search-input{width:250px!important}#wpsl-search-wrap{padding-bottom:200px!important}div#wpsl-submit{position:absolute;margin-top:10px!important}}
@media (max-width:912px){#wpsl-search-wrap #wpsl-search-btn{float:left;margin:0 5px 0 0}.wpsl-dropdown,.wpsl-results-only #wpsl-search-wrap .wpsl-input{width:100%}.wpsl-search{padding:2%}.wpsl-input{margin-right:0}#wpsl-gmap,#wpsl-result-list{float:none;width:100%}#wpsl-result-list p,#wpsl-wrap #wpsl-result-list li,.wpsl-direction-before{padding-left:0}#wpsl-gmap{margin-bottom:15px;margin-top:30px}#wpsl-result-list,.wpsl-cat-results-filter .wpsl-select-wrap,.wpsl-filter .wpsl-select-wrap{margin-bottom:50px}#wpsl-wrap #wpsl-result-list li.wpsl-preloader{padding-left:25px}.wpsl-preloader img{left:0}#wpsl-stores.wpsl-not-loaded{height:25px}#wpsl-reset-map{top:25px}#wpsl-category,#wpsl-search-btn,.wpsl-input,.wpsl-no-filters #wpsl-search-wrap .wpsl-input,.wpsl-select-wrap{margin-bottom:0}#wpsl-stores.wpsl-no-autoload{height:auto!important}#wpsl-checkbox-filter.wpsl-checkbox-3-columns li,#wpsl-checkbox-filter.wpsl-checkbox-4-columns li{width:49%}#wpsl-search-wrap{padding-bottom:400px!important}div#wpsl-submit{position:absolute;margin-top:210px!important}#wpsl-radius,#wpsl-results{width:100%!important}#wpsl-search-wrap .wpsl-dropdown{width:400px;padding:15px}.wpsl-tab h3{font-size:32px;margin-bottom:-10px}#wpsl-category{padding-top:10px!important}}
@media (max-width:520px){#wpsl-category,#wpsl-category .wpsl-dropdown,#wpsl-radius,#wpsl-results,#wpsl-search-input{width:100%!important}#wpsl-search-wrap .wpsl-dropdown{width:100%!important;padding:15px}#wpsl-search-wrap{padding-bottom:420px!important}div#wpsl-submit{margin-top:210px!important}.wpsl-tab h3{font-size:32px;margin-bottom:-10px}#wpsl-search-btn,#wpsl-search-wrap div{margin-right:0}#wpsl-gmap{margin-top:10px;display:none}}
@media (max-width:375px){div#wpsl-submit{margin-top:200px!important}}
/****/

/* =========================================================
   OVERWRITE SECTION START
   Put this AFTER the original plugin CSS
   ========================================================= */

/* wrapper spacing */
.wpsl-search.wpsl-filter #wpsl-search-wrap{
  padding: 28px 56px 36px !important;
}

/* stop broad plugin float rules from breaking layout */
.wpsl-search.wpsl-filter #wpsl-search-wrap div{
  float: none !important;
  margin-right: 0 !important;
  column-gap: 40px !important;

}

.wpsl-search.wpsl-filter #wpsl-search-wrap div label{
  float: none !important;
  margin-right: 0 !important;
}

/* search button wrapper should not be absolute */
.wpsl-search.wpsl-filter #wpsl-submit{
  position: static !important;
  padding-top: 0 !important;
  margin-top: 4px !important;
}

/* form layout */
.wpsl-search.wpsl-filter #wpsl-search-wrap form{
  display: grid !important;
  grid-template-columns: 380px 160px 360px !important;
  grid-template-rows: auto auto !important;
  /*column-gap: 40px !important;*/
  row-gap: 18px !important;
  align-items: end !important;
}

/* place items in the grid */
.wpsl-search.wpsl-filter #wpsl-search-wrap .wpsl-input{
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  white-space: nowrap;
}

.wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-radius{
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  white-space: nowrap;
  clear: none !important;
}

.wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-category{
  grid-column: 3 !important;
  grid-row: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  white-space: nowrap;
  clear: none !important;
}

.wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-submit{
  grid-column: 1 !important;
  grid-row: 2 !important;
  justify-self: start !important;
}

/* input caret fix */
.wpsl-search.wpsl-filter #wpsl-search-input{
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* control heights */
:root{
  --wpsl-control-h: 56px;
}

.wpsl-search.wpsl-filter #wpsl-search-input{
  height: var(--wpsl-control-h) !important;
}

.wpsl-search.wpsl-filter #wpsl-radius .wpsl-dropdown,
.wpsl-search.wpsl-filter #wpsl-category .wpsl-dropdown{
  width: 100% !important;
  max-width: none !important;
  height: var(--wpsl-control-h) !important;
  padding: 0 16px !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

/* exact desktop field widths */
.wpsl-search.wpsl-filter #wpsl-search-wrap .wpsl-input{
  width: 380px !important;
  max-width: 380px !important;
}

.wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-radius{
  width: 160px !important;
  max-width: 160px !important;
}

.wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-category{
  width: 360px !important;
  max-width: 360px !important;
}

/* dropdown popup alignment */
.wpsl-search.wpsl-filter #wpsl-search-wrap .wpsl-dropdown{
  position: relative !important;
}

.wpsl-search.wpsl-filter #wpsl-search-wrap .wpsl-dropdown > div{
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* dropdown list item alignment */
.wpsl-search.wpsl-filter #wpsl-search-wrap .wpsl-dropdown > div ul li{
  padding-left: 16px !important;
}

.wpsl-search.wpsl-filter #wpsl-search-wrap .wpsl-dropdown > div ul li:last-child{
  padding-bottom: 10px !important;
}

/* label spacing */
.wpsl-search.wpsl-filter #wpsl-search-wrap label{
  margin-bottom: 8px !important;
  line-height: 1.15 !important;
}

/* button polish */
.wpsl-search.wpsl-filter #wpsl-search-btn{
  padding: 16px 28px !important;
}

/* =========================================================
   TABLET
   ========================================================= */
@media (max-width: 1100px){
  .wpsl-search.wpsl-filter #wpsl-search-wrap{
    padding: 24px 24px 30px !important;
  }

  .wpsl-search.wpsl-filter #wpsl-search-wrap form{
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto auto !important;
    column-gap: 0 !important;
    row-gap: 18px !important;
  }

  .wpsl-search.wpsl-filter #wpsl-search-wrap .wpsl-input,
  .wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-radius,
  .wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-category,
  .wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-submit,
  .wpsl-search.wpsl-filter #wpsl-search-wrap .wpsl-select-wrap{
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    margin-right: 0 !important;
  }

  .wpsl-search.wpsl-filter #wpsl-search-wrap .wpsl-input{ grid-row: 1 !important; }
  .wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-radius{ grid-row: 2 !important; }
  .wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-category{ grid-row: 3 !important; }
  .wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-submit{ grid-row: 4 !important; }

  .wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-search-input,
  .wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-radius .wpsl-dropdown,
  .wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-category .wpsl-dropdown,
  .wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-radius .wpsl-dropdown > div,
  .wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-category .wpsl-dropdown > div{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .wpsl-search.wpsl-filter #wpsl-search-wrap .wpsl-select-wrap{
    display: block !important;
  }
}

/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 912px){
  .wpsl-search.wpsl-filter #wpsl-search-wrap{
    padding: 20px !important;
  }

  .wpsl-search.wpsl-filter #wpsl-search-wrap form{
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto auto !important;
    row-gap: 16px !important;
    column-gap: 0 !important;
  }

  .wpsl-search.wpsl-filter #wpsl-search-wrap .wpsl-input,
  .wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-radius,
  .wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-category,
  .wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-submit,
  .wpsl-search.wpsl-filter #wpsl-search-wrap .wpsl-select-wrap{
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    margin-right: 0 !important;
  }

  .wpsl-search.wpsl-filter #wpsl-search-wrap .wpsl-input{ grid-row: 1 !important; }
  .wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-radius{ grid-row: 2 !important; }
  .wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-category{ grid-row: 3 !important; }
  .wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-submit{ grid-row: 4 !important; }

  .wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-search-input,
  .wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-radius .wpsl-dropdown,
  .wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-category .wpsl-dropdown,
  .wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-radius .wpsl-dropdown > div,
  .wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-category .wpsl-dropdown > div{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .wpsl-search.wpsl-filter #wpsl-search-wrap .wpsl-select-wrap{
    display: block !important;
  }

  .wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-search-btn{
    width: auto !important;
    max-width: 100% !important;
  }
}

@media (max-width: 520px){
  .wpsl-search.wpsl-filter #wpsl-search-wrap{
    padding: 18px !important;
  }
}
/* =========================================================
   WPSL CUSTOM OVERRIDES
   ========================================================= */

/* Layout spacing */
.wpsl-search.wpsl-filter #wpsl-search-wrap{
  padding:28px 56px 36px !important;
}

/* Remove plugin float issues */
.wpsl-search.wpsl-filter #wpsl-search-wrap div{
  float:none !important;
  margin-right:0 !important;
}

.wpsl-search.wpsl-filter #wpsl-search-wrap div label{
  float:none !important;
  margin-right:0 !important;
}

/* Fix button positioning */
.wpsl-search.wpsl-filter #wpsl-submit{
  position:static !important;
  padding-top:0 !important;
  margin-top:4px !important;
}

/* GRID layout (desktop) */
.wpsl-search.wpsl-filter #wpsl-search-wrap form{
  display:grid !important;
  grid-template-columns:380px 160px 360px;
  column-gap:40px;
  row-gap:18px;
  align-items:end;
}

/* Position fields */
.wpsl-search.wpsl-filter .wpsl-input{ grid-column:1; }
.wpsl-search.wpsl-filter #wpsl-radius{ grid-column:2; clear:none !important; }
.wpsl-search.wpsl-filter #wpsl-category{ grid-column:3; clear:none !important; }

.wpsl-search.wpsl-filter #wpsl-submit{
  grid-column:1;
  grid-row:2;
}

/* Stack label above control */
.wpsl-search.wpsl-filter .wpsl-input,
.wpsl-search.wpsl-filter #wpsl-radius,
.wpsl-search.wpsl-filter #wpsl-category{
  display:flex;
  flex-direction:column;
}

/* Fix input cursor bug */
#wpsl-search-input{
  display:block !important;
  width:100%;
}

/* Equal control height */
:root{ --wpsl-h:56px; }

#wpsl-search-input,
#wpsl-radius .wpsl-dropdown,
#wpsl-category .wpsl-dropdown{
  height:var(--wpsl-h);
}

/* Make dropdown fill column */
#wpsl-radius .wpsl-dropdown,
#wpsl-category .wpsl-dropdown{
  width:100% !important;
}

/* Align dropdown popup */
#wpsl-search-wrap .wpsl-dropdown{
  position:relative;
}

#wpsl-search-wrap .wpsl-dropdown > div{
  left:0 !important;
  right:0 !important;
  width:100% !important;
}

/* Dropdown text alignment */
#wpsl-search-wrap .wpsl-dropdown li{
  padding-left:16px !important;
}

#wpsl-search-wrap .wpsl-dropdown li:last-child{
  padding-bottom:10px !important;
}

/* Button style */
#wpsl-search-btn{
  padding:16px 28px;
}

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

@media (max-width:1100px){

  .wpsl-search.wpsl-filter #wpsl-search-wrap{
    padding:24px;
  }

  .wpsl-search.wpsl-filter #wpsl-search-wrap form{
    grid-template-columns:1fr;
    row-gap:18px;
  }

  .wpsl-search.wpsl-filter .wpsl-input{grid-row:1;}
  .wpsl-search.wpsl-filter #wpsl-radius{grid-row:2;}
  .wpsl-search.wpsl-filter #wpsl-category{grid-row:3;}
  .wpsl-search.wpsl-filter #wpsl-submit{grid-row:4;}

  #wpsl-search-input,
  #wpsl-radius .wpsl-dropdown,
  #wpsl-category .wpsl-dropdown{
    width:100% !important;
  }

}


/* =========================================================
   WPSL 3.x / THEME COMPATIBILITY — Mosaic legacy search form
   ========================================================= */

/* WPSL 3.x may omit the category label depending on its label visibility
   setting. The template restores the label; these rules keep it aligned with
   the legacy Radius/Location labels. */
.wpsl-search.wpsl-filter #wpsl-search-wrap #wpsl-category > label {
    display: block !important;
    width: auto !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.15 !important;
    color: #16486d !important;
    font-family: Branding, sans-serif !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    float: none !important;
}

/* Prevent Elementor/theme button styles from replacing the legacy WPSL
   blue Search button. */
#wpsl-wrap .wpsl-search #wpsl-submit #wpsl-search-btn,
#wpsl-wrap .wpsl-search #wpsl-submit input#wpsl-search-btn[type="submit"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    background: #16486d !important;
    background-color: #16486d !important;
    background-image: none !important;
    border: 1px solid #16486d !important;
    border-radius: 8px !important;
    box-shadow: 0 1px 2px rgba(64,64,64,.1) !important;
    color: #fff !important;
    opacity: 1 !important;
    text-shadow: none !important;
    font-family: Branding, sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.428571429 !important;
    padding: 16px 28px !important;
}

#wpsl-wrap .wpsl-search #wpsl-submit #wpsl-search-btn:hover,
#wpsl-wrap .wpsl-search #wpsl-submit #wpsl-search-btn:focus {
    background: #16486d !important;
    background-color: #16486d !important;
    border-color: #16486d !important;
    color: #fff !important;
}

/* =========================================================
   MOSAIC FORM LAYOUT FIX v1.0.7
   The legacy template nests Radius + Specialty inside
   .wpsl-select-wrap. Flatten that wrapper into the form grid.
   ========================================================= */
@media (min-width: 1101px) {
  #wpsl-wrap #wpsl-search-wrap #myForm {
    display: grid !important;
    grid-template-columns: 380px 160px 360px !important;
    grid-template-rows: auto auto !important;
    column-gap: 40px !important;
    row-gap: 18px !important;
    align-items: end !important;
  }

  #wpsl-wrap #wpsl-search-wrap #myForm > .wpsl-input {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 380px !important;
    max-width: 380px !important;
    margin: 0 !important;
    float: none !important;
  }

  /* Make Radius + Specialty participate directly in #myForm's grid. */
  #wpsl-wrap #wpsl-search-wrap #myForm > .wpsl-select-wrap {
    display: contents !important;
  }

  #wpsl-wrap #wpsl-search-wrap #myForm #wpsl-radius {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 160px !important;
    max-width: 160px !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
    display: flex !important;
    flex-direction: column !important;
  }

  #wpsl-wrap #wpsl-search-wrap #myForm #wpsl-category {
    grid-column: 3 !important;
    grid-row: 1 !important;
    width: 360px !important;
    max-width: 360px !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: none !important;
    display: flex !important;
    flex-direction: column !important;
  }

  #wpsl-wrap #wpsl-search-wrap #myForm > #wpsl-submit {
    grid-column: 1 !important;
    grid-row: 2 !important;
    position: static !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    justify-self: start !important;
  }

  #wpsl-wrap #wpsl-search-wrap #myForm #wpsl-search-input,
  #wpsl-wrap #wpsl-search-wrap #myForm #wpsl-radius .wpsl-dropdown,
  #wpsl-wrap #wpsl-search-wrap #myForm #wpsl-category .wpsl-dropdown,
  #wpsl-wrap #wpsl-search-wrap #myForm #wpsl-radius select,
  #wpsl-wrap #wpsl-search-wrap #myForm #wpsl-category select {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  #wpsl-wrap #wpsl-search-wrap #myForm .wpsl-input,
  #wpsl-wrap #wpsl-search-wrap #myForm #wpsl-radius,
  #wpsl-wrap #wpsl-search-wrap #myForm #wpsl-category {
    align-self: end !important;
  }
}

/* Keep the same fields stacked cleanly on tablets/mobile. */
@media (max-width: 1100px) {
  #wpsl-wrap #wpsl-search-wrap #myForm {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
    row-gap: 18px !important;
  }

  #wpsl-wrap #wpsl-search-wrap #myForm > .wpsl-select-wrap {
    display: contents !important;
  }

  #wpsl-wrap #wpsl-search-wrap #myForm > .wpsl-input,
  #wpsl-wrap #wpsl-search-wrap #myForm #wpsl-radius,
  #wpsl-wrap #wpsl-search-wrap #myForm #wpsl-category,
  #wpsl-wrap #wpsl-search-wrap #myForm > #wpsl-submit {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
  }

  #wpsl-wrap #wpsl-search-wrap #myForm > .wpsl-input { grid-row: 1 !important; }
  #wpsl-wrap #wpsl-search-wrap #myForm #wpsl-radius { grid-row: 2 !important; }
  #wpsl-wrap #wpsl-search-wrap #myForm #wpsl-category { grid-row: 3 !important; }
  #wpsl-wrap #wpsl-search-wrap #myForm > #wpsl-submit { grid-row: 4 !important; }
}
