/* FD24 SEARCH — FINAL UI/CSS RESTRUCTURE
   Functional JavaScript intentionally unchanged.
   FD24 locked design tokens:
   Primary #059669 | Hover #047857 | Heading #0F172A
   Body #475569 | Background #F8FAFC | Surface #FFFFFF
   Button 10px | Input 12px | Card 14px | Search 16px
*/
.fd24-wrap{max-width:1280px;margin:50px auto;padding:0 20px;color:#475569;font-family:Inter,Arial,Helvetica,sans-serif}
.fd24-tabs{display:flex;gap:4px;border-bottom:1px solid #E2E8F0;overflow-x:auto;scrollbar-width:none}
.fd24-tabs::-webkit-scrollbar{display:none}
.fd24-tab{flex:0 0 auto;min-height:48px;padding:0 22px;border:1px solid #E2E8F0;border-bottom:0;border-radius:10px 10px 0 0;background:#F8FAFC;color:#475569;font-family:Inter,Arial,Helvetica,sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:.18s ease}
.fd24-tab:hover{background:#ECFDF5;color:#047857}
.fd24-tab.active{background:#059669;border-color:#059669;color:#FFF}
.fd24-panel{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0 10px;padding:20px;border:1px solid #E2E8F0;border-top:0;border-radius:0 0 14px 14px;background:#FFF;box-shadow:0 4px 18px rgba(15,23,42,.04)}
.fd24-keyword-wrap{position:relative;flex:1.35 1 260px;min-width:220px}
.fd24-specialty{display:none;flex:1 1 220px;min-width:200px;margin-top:0}
.fd24-search-location{position:relative;flex:1.35 1 260px;min-width:230px;margin-top:0}
.fd24-location-stage{display:none;flex:1 1 220px;min-width:200px;margin-top:0}
.fd24-search-location.completed{display:none}
.fd24-specialty.visible,.fd24-location-stage.visible{display:block}
.fd24-specialty label,.fd24-location-stage label,.fd24-search-location label{display:block;margin:0 0 7px;color:#0F172A;font-size:13px;line-height:1.25;font-weight:600}
.fd24-keyword-wrap>.fd24-input,.fd24-specialty .fd24-input,.fd24-search-location .fd24-input,.fd24-location-stage .fd24-input{width:100%}
.fd24-combo,.fd24-keyword-wrap{position:relative}
.fd24-input{width:100%;height:48px;padding:0 14px;border:1px solid #CBD5E1;border-radius:12px;outline:0;background:#FFF;color:#0F172A;font-family:Inter,Arial,Helvetica,sans-serif;font-size:15px;line-height:48px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.fd24-input::placeholder{color:#94A3B8;opacity:1}
.fd24-input:hover{border-color:#94A3B8}
.fd24-input:focus{border-color:#059669;box-shadow:0 0 0 3px rgba(5,150,105,.12)}
.fd24-options{position:absolute;z-index:1000;left:0;right:0;width:100%;max-width:100%;box-sizing:border-box;top:76px;max-height:260px;overflow:auto;display:none;padding:5px;border:1px solid #CBD5E1;border-radius:12px;background:#FFF;box-shadow:0 12px 30px rgba(15,23,42,.14)}
.fd24-options.open{display:block}
/* Progressive location alignment: reserve the same label space for keyword
   and the same breadcrumb space under the location field so inputs do not jump. */
.fd24-keyword-wrap:before{content:none;display:none}
.fd24-breadcrumb{margin-top:12px;min-height:18px;color:#64748B;font-size:12px;line-height:1.35}

.fd24-option{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:42px;padding:9px 11px;border-radius:8px;color:#475569;font-size:14px;line-height:1.35;cursor:pointer;transition:.15s ease}
.fd24-option:hover{background:#ECFDF5;color:#047857}
.fd24-option strong{display:block;min-width:0;color:#0F172A;font-weight:600}
.fd24-option:hover strong{color:#047857}
.fd24-option small{display:block;flex:0 0 auto;color:#64748B;font-size:12px;white-space:nowrap}
.fd24-empty-option{padding:11px;color:#64748B;font-size:14px}
.fd24-search-row{display:flex;flex:0 0 auto;align-items:center;gap:8px;margin-top:24px}
.fd24-search-btn,.fd24-reset-btn{height:48px;border-radius:10px;padding:0 20px;border:1px solid transparent;font-family:Inter,Arial,Helvetica,sans-serif;font-size:15px;font-weight:600;line-height:48px;cursor:pointer;transition:.18s ease;white-space:nowrap}
.fd24-search-btn{background:#059669;color:#FFF;box-shadow:0 2px 5px rgba(5,150,105,.18)}
.fd24-search-btn:hover{background:#047857}
.fd24-search-btn:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(5,150,105,.18)}
.fd24-reset-btn{border-color:#CBD5E1;background:#FFF;color:#475569}
.fd24-reset-btn:hover{border-color:#94A3B8;background:#F8FAFC;color:#0F172A}
.fd24-filter-btn{display:none;width:48px;height:48px;margin:0;border:1px solid #CBD5E1;border-radius:10px;background:#FFF;color:#475569;font-size:19px;cursor:pointer;align-items:center;justify-content:center}
.fd24-filter-btn.visible{display:inline-flex}
.fd24-filter-btn:hover,.fd24-filter-btn.active{border-color:#059669;background:#ECFDF5;color:#059669}
.fd24-filter-panel{display:none;flex:0 0 100%;width:100%;margin-top:12px;padding:16px;border:1px solid #E2E8F0;border-radius:12px;background:#F8FAFC}
.fd24-filter-panel.visible{display:block}
.fd24-filter-panel label{display:block;margin-bottom:7px;color:#0F172A;font-size:13px;font-weight:600}
.fd24-filter-panel .fd24-combo{max-width:420px}
.fd24-filter-search-row{display:none;flex:0 0 100%;margin-top:12px}
.fd24-filter-search-row.visible{display:block}
.fd24-filter-search-row .fd24-search-btn{width:auto}
.fd24-note{margin-top:10px;flex:0 0 100%;margin-top:14px;color:#64748B;font-size:13px;line-height:1.5}
.fd24-count{flex:0 0 100%;margin-top:24px;margin-bottom:10px;color:#0F172A;font-size:15px;font-weight:600}
.fd24-result{flex:0 0 100%;border-top:1px solid #E2E8F0;padding:15px 0}
.fd24-result-title{color:#059669;font-size:17px;font-weight:600}
.fd24-result-title:hover{color:#047857}
.fd24-details{margin-top:6px;color:#475569;font-size:14px;line-height:1.55}
@media(min-width:1200px){
  .fd24-panel{flex-wrap:wrap;align-items:flex-end}
  .fd24-keyword-wrap{flex:1 1 220px;min-width:0}
  .fd24-specialty{flex:1 1 180px;min-width:0}
  .fd24-search-location{flex:1.2 1 220px;min-width:0}
  .fd24-location-stage{flex:1 1 180px;min-width:0}
  .fd24-search-row{flex:0 1 auto;margin-top:30px;align-self:flex-start}
  .fd24-note,.fd24-count,.fd24-result,.fd24-filter-panel,.fd24-filter-search-row{flex-basis:100%}
}
@media(min-width:900px) and (max-width:1199px){
  .fd24-panel{flex-wrap:wrap;align-items:flex-end}
  .fd24-keyword-wrap,.fd24-specialty,.fd24-search-location{flex:1 1 calc(33.333% - 10px);min-width:0}
  .fd24-location-stage{flex:1 1 calc(33.333% - 10px);min-width:0;margin-top:14px}
  .fd24-search-row{flex:1 1 calc(33.333% - 10px);margin-top:30px;align-self:flex-start}
  .fd24-note,.fd24-count,.fd24-result,.fd24-filter-panel,.fd24-filter-search-row{flex-basis:100%}
}
@media(min-width:651px) and (max-width:899px){
  .fd24-panel{flex-wrap:wrap;align-items:flex-end}
  .fd24-keyword-wrap,.fd24-specialty,.fd24-search-location,.fd24-location-stage{flex:1 1 calc(50% - 10px);min-width:0;margin-top:12px}
  .fd24-keyword-wrap{margin-top:0}
  .fd24-keyword-wrap:before{height:0;margin:0}
  .fd24-search-row{flex:1 1 100%;margin-top:14px}
}
@media(max-width:650px){
  .fd24-wrap{max-width:100%;overflow-x:hidden;margin:24px auto;padding:0 16px}
  .fd24-tab{min-height:44px;padding:0 17px;font-size:14px}
  .fd24-panel{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:16px;border-radius:0 0 14px 14px}
  .fd24-keyword-wrap,.fd24-specialty,.fd24-search-location,.fd24-location-stage{width:100%;min-width:0;flex:0 0 auto;margin-top:12px}
  .fd24-keyword-wrap{margin-top:0}
  .fd24-keyword-wrap:before{height:0;margin:0}
  .fd24-specialty.visible,.fd24-location-stage.visible{display:block}
  .fd24-search-row{width:100%;margin-top:14px;display:flex;flex-wrap:wrap;align-items:stretch}
  .fd24-search-btn,.fd24-reset-btn{flex:1 1 0;min-width:0;padding:0 14px}
  .fd24-filter-btn{flex:0 0 48px}
  .fd24-options{top:70px;max-height:230px}
  .fd24-option{align-items:flex-start;gap:10px}
  .fd24-option small{white-space:normal;text-align:right}
  .fd24-filter-panel{margin-top:12px;padding:14px}
  .fd24-filter-panel .fd24-combo{max-width:none}
  .fd24-note{margin-top:10px;margin-top:12px;font-size:12.5px}
}
@media(max-width:380px){
  .fd24-wrap{padding:0 12px}
  .fd24-panel{padding:13px}
  .fd24-tab{padding:0 14px;font-size:13px}
  .fd24-input{height:46px;font-size:14px}
  .fd24-search-btn,.fd24-reset-btn{height:46px;line-height:46px;font-size:14px}
  .fd24-filter-btn{width:46px;height:46px}
}



/* FD24 FINAL DESKTOP ROW
   All visible search controls share one baseline.
   Breadcrumb belongs to the Location column, exactly below its input.
   The explanatory note stays below the entire row. */
.fd24-panel{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:flex-start !important;
  column-gap:10px !important;
  row-gap:0 !important;
}
.fd24-keyword-wrap,
.fd24-specialty,
.fd24-search-location,
.fd24-location-stage{
  margin-top:0 !important;
}
.fd24-keyword-wrap>label{
  display:block;
  margin:0 0 7px;
  color:#0F172A;
  font-size:13px;
  line-height:1.25;
  font-weight:600;
}
.fd24-keyword-wrap:before{display:none !important;content:none !important}

/* Breadcrumb is visually fixed below the Location input. */
.fd24-search-location{
  display:block;
}
.fd24-breadcrumb{
  display:block !important;
  margin-top:10px !important;
  min-height:20px !important;
  height:20px !important;
  line-height:20px !important;
  font-size:13px !important;
  color:#315B8A !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Button row aligns with the input boxes, not with their labels. */
.fd24-search-row{
  margin-top:30px !important;
  align-self:flex-start !important;
  flex:0 0 auto !important;
}

/* Explanatory note is a separate full-width line with more vertical space. */
.fd24-note{
  flex:0 0 100% !important;
  width:100% !important;
  box-sizing:border-box;
  margin-top:20px !important;
  padding-top:0 !important;
}

/* When only Keyword + Location + Upazila are visible, keep them balanced. */
@media (min-width:1200px){
  .fd24-keyword-wrap{flex:1 1 260px !important;min-width:220px !important}
  .fd24-search-location{flex:1 1 260px !important;min-width:230px !important}
  .fd24-location-stage{flex:1 1 240px !important;min-width:210px !important}
  .fd24-specialty{flex:1 1 220px !important;min-width:200px !important}
}
@media (min-width:651px) and (max-width:1199px){
  .fd24-search-row{margin-top:30px !important}
}
@media (max-width:650px){
  .fd24-panel{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    row-gap:0 !important;
  }
  .fd24-keyword-wrap,
  .fd24-specialty,
  .fd24-search-location,
  .fd24-location-stage{
    width:100% !important;
    flex:0 0 auto !important;
  }
  .fd24-search-row{
    width:100% !important;
    margin-top:14px !important;
  }
  .fd24-note{
    margin-top:16px !important;
  }
}



@media (max-width:650px){
  .fd24-search-row{
    display:flex !important;
    align-items:stretch !important;
    gap:8px !important;
    width:100% !important;
    min-width:0 !important;
    flex-wrap:nowrap !important;
  }
  .fd24-search-row button{
    box-sizing:border-box !important;
    min-width:0 !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
  .fd24-search-row .fd24-search-btn{
    flex:1 1 auto !important;
    width:auto !important;
    min-width:145px !important;
  }
  .fd24-search-row .fd24-reset-btn{
    flex:0 0 78px !important;
    width:78px !important;
    min-width:78px !important;
    max-width:78px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }
  .fd24-search-row .fd24-filter-btn{
    flex:0 0 48px !important;
    width:48px !important;
    min-width:48px !important;
    max-width:48px !important;
  }
}



/* V11: strict desktop control alignment */
@media (min-width:651px){
  .fd24-panel{
    align-items:flex-start !important;
  }

  .fd24-keyword-wrap,
  .fd24-search-location,
  .fd24-location-stage{
    display:flex !important;
    flex-direction:column !important;
    margin-top:0 !important;
  }

  .fd24-keyword-wrap > label,
  .fd24-search-location > label,
  .fd24-location-stage > label{
    display:block !important;
    height:20px !important;
    min-height:20px !important;
    margin:0 0 7px !important;
    line-height:20px !important;
    box-sizing:border-box !important;
  }

  .fd24-keyword-wrap > input,
  .fd24-search-location input,
  .fd24-location-stage input{
    margin-top:0 !important;
  }

  /* Buttons sit exactly on the same baseline as the input controls. */
  .fd24-search-row{
    align-self:flex-start !important;
    margin-top:27px !important;
  }

  .fd24-search-row button{
    margin-top:0 !important;
  }

  /* Breadcrumb does not participate in the input-row alignment. */
  .fd24-breadcrumb{
    margin-top:10px !important;
  }
}

/* Small screens: keep the existing responsive stacking intact. */
@media (max-width:650px){
  .fd24-keyword-wrap,
  .fd24-search-location,
  .fd24-location-stage{
    display:flex !important;
    flex-direction:column !important;
  }
}



/* V12: restore progressive location visibility.
   The alignment CSS must never override the JS-controlled display state. */
@media (min-width:651px){
  .fd24-specialty:not(.visible){
    display:none !important;
  }
  .fd24-location-stage:not(.visible){
    display:none !important;
  }
  .fd24-specialty.visible{
    display:flex !important;
    flex-direction:column !important;
  }
  .fd24-location-stage.visible{
    display:flex !important;
    flex-direction:column !important;
  }
  .fd24-search-location.completed{
    display:none !important;
  }
}

@media (max-width:650px){
  .fd24-specialty:not(.visible){
    display:none !important;
  }
  .fd24-location-stage:not(.visible){
    display:none !important;
  }
  .fd24-specialty.visible,
  .fd24-location-stage.visible{
    display:flex !important;
    flex-direction:column !important;
  }
  .fd24-search-location.completed{
    display:none !important;
  }
}



:root {
  --fd24-primary: #059669;
  --fd24-primary-dark: #047857;
  --fd24-surface: #ECFDF5;
  --fd24-surface-soft: #D1FAE5;
  --fd24-muted: #6B7280;
}
/* Active tab */
.fd24-tab.active,
.fd24-tab.fd24-active {
  background: var(--fd24-primary) !important;
  border-color: var(--fd24-primary) !important;
  color: #fff !important;
}
/* Primary search action */
.fd24-search-btn,
button.fd24-search-btn {
  background: var(--fd24-primary) !important;
  border-color: var(--fd24-primary) !important;
  color: #fff !important;
}
.fd24-search-btn:hover,
button.fd24-search-btn:hover {
  background: var(--fd24-primary-dark) !important;
  border-color: var(--fd24-primary-dark) !important;
}
/* Focus states */
.fd24-panel input:focus,
.fd24-panel select:focus,
.fd24-panel button:focus-visible {
  border-color: var(--fd24-primary) !important;
  box-shadow: 0 0 0 2px rgba(5,150,105,.15) !important;
  outline: none !important;
}
/* Location/result accents */
.fd24-breadcrumb,
.fd24-note {
  color: var(--fd24-primary-dark) !important;
}
.fd24-options .fd24-option:hover,
.fd24-options .fd24-option.active {
  background: var(--fd24-surface) !important;
}
.fd24-options .fd24-option strong,
.fd24-location-meta {
  color: var(--fd24-primary-dark) !important;
}
/* Soft healthcare tint where the UI uses an accent background */
.fd24-tab:not(.active):hover {
  background: var(--fd24-surface) !important;
}



/* Medical Green standard — secondary controls */
.fd24-reset-btn,
button.fd24-reset-btn {
  background: #FFFFFF !important;
  color: #374151 !important;
  border: 1px solid #D1D5DB !important;
}

.fd24-reset-btn:hover,
button.fd24-reset-btn:hover {
  background: #ECFDF5 !important;
  color: #047857 !important;
  border-color: #059669 !important;
}

.fd24-filter-btn,
button.fd24-filter-btn {
  background: #FFFFFF !important;
  color: #374151 !important;
  border: 1px solid #D1D5DB !important;
}

.fd24-filter-btn:hover,
button.fd24-filter-btn:hover {
  background: #ECFDF5 !important;
  color: #047857 !important;
  border-color: #059669 !important;
}

.fd24-reset-btn:focus-visible,
.fd24-filter-btn:focus-visible {
  border-color: #059669 !important;
  box-shadow: 0 0 0 2px rgba(5,150,105,.15) !important;
  outline: none !important;
}


/* Final Medical Green authority */
.fd24-tab.active,.fd24-tab.fd24-active{background:#059669!important;border-color:#059669!important;color:#fff!important}
.fd24-search-btn{background:#059669!important;border-color:#059669!important;color:#fff!important}
.fd24-search-btn:hover{background:#047857!important;border-color:#047857!important}
.fd24-input:focus{border-color:#059669!important;box-shadow:0 0 0 3px rgba(5,150,105,.12)!important}
.fd24-breadcrumb,.fd24-note{color:#047857!important}
.fd24-option:hover,.fd24-options .fd24-option.active{background:#ECFDF5!important}
.fd24-reset-btn,.fd24-filter-btn{background:#fff!important;color:#374151!important;border-color:#D1D5DB!important}
.fd24-reset-btn:hover,.fd24-filter-btn:hover,.fd24-filter-btn.active{background:#ECFDF5!important;color:#047857!important;border-color:#059669!important}

/* v1.1.4: site-wide 1280px alignment */
.fd24-wrap{width:100%;box-sizing:border-box}
@media(max-width:1320px){.fd24-wrap{padding-left:20px;padding-right:20px}}
@media(max-width:650px){.fd24-wrap{padding-left:12px;padding-right:12px}}

/* v1.1.5: use FD24 Search as the search UI on Directorist Search Result Page.
   Keep Directorist's native result/listing cards; hide only its duplicate search form. */
.fd24-directorist-result-page .directorist-search-form{
  display:none !important;
}
.fd24-directorist-result-page .fd24-search-plugin-v1{
  margin-bottom:28px;
}


/* v1.1.6: keyword suggestion dropdown, control baseline and result-page filter preservation. */
@media (min-width:651px){
  .fd24-panel{align-items:flex-start !important;}
  .fd24-keyword-wrap,
  .fd24-specialty,
  .fd24-search-location,
  .fd24-location-stage{
    align-self:flex-start !important;
  }
  .fd24-keyword-wrap > label,
  .fd24-specialty > label,
  .fd24-search-location > label,
  .fd24-location-stage > label{
    height:20px !important;
    min-height:20px !important;
    margin:0 0 7px !important;
    line-height:20px !important;
    box-sizing:border-box !important;
  }
  .fd24-keyword-wrap > .fd24-input,
  .fd24-specialty .fd24-input,
  .fd24-search-location .fd24-input,
  .fd24-location-stage .fd24-input{
    margin-top:0 !important;
  }
  .fd24-options{top:76px !important;z-index:10000 !important;}
}

/* Preserve Directorist's result/filter area; only its duplicate search form is hidden. */
.fd24-directorist-result-page .directorist-search-form{display:none !important;}
.fd24-directorist-result-page .directorist-filter{display:block;}
.fd24-directorist-result-page .directorist-search-result{display:block;}
@media (max-width:650px){
  .fd24-options{top:70px !important;z-index:10000 !important;}
}

/* v1.2.0 — shortcode Result Page */
.fd24-results-page{width:100%;max-width:1280px;margin:0 auto;box-sizing:border-box}
.fd24-results-search{margin-bottom:24px}
.fd24-results-native{width:100%}
.fd24-results-native .atbdp-search-form,
.fd24-results-native .directorist-search-form{display:none !important}
.fd24-results-native .directorist-search-contents,
.fd24-results-native .directorist-search-result{width:100%}
@media(max-width:1320px){.fd24-results-page{padding-left:20px;padding-right:20px}}
@media(max-width:650px){.fd24-results-page{padding-left:12px;padding-right:12px}}


/* V13: result-page cleanup and directory-type navigation removal.
   The FD24 search bar remains, but its explanatory note and empty breadcrumb
   are removed on the native result page. Directorist's own directory-type nav
   is hidden at CSS level so it never flashes during page load. */
.fd24-directorist-result-page .fd24-results-search .fd24-note,
.fd24-directorist-result-page .fd24-results-search .fd24-breadcrumb{
  display:none !important;
}
.fd24-directorist-result-page .fd24-results-search .fd24-panel{
  padding-bottom:12px !important;
}
.fd24-directorist-result-page .directorist-type-nav{
  display:none !important;
}
.fd24-directorist-result-page :has(> .directorist-type-nav){
  display:none !important;
}


/* v1.2.3: Empty paragraphs must never affect FD24 field alignment. */
.fd24-specialty > p:empty,
.fd24-search-location > p:empty,
.fd24-specialty > p:has(br:only-child),
.fd24-search-location > p:has(br:only-child){
  display:none !important;
  margin:0 !important;
  padding:0 !important;
  height:0 !important;
  line-height:0 !important;
}

/* v1.2.5: keep every combo dropdown directly attached to its input,
   matching the existing keyword dropdown spacing. The keyword dropdown
   retains its label-aware top offset. */
@media (min-width:651px){
  .fd24-combo > .fd24-options{
    top:48px !important;
  }
  .fd24-keyword-wrap > .fd24-options{
    top:76px !important;
  }
}
@media (max-width:650px){
  .fd24-combo > .fd24-options{
    top:48px !important;
  }
  .fd24-keyword-wrap > .fd24-options{
    top:70px !important;
  }
}

/* v1.2.5: reduce the vertical gap between the site header and the
   FD24 result-page search block without changing the standalone search page. */
.fd24-directorist-result-page .fd24-results-search .fd24-wrap{
  margin-top:20px !important;
}


/* v1.2.6 — compact Directorist result-page top spacing.
   The large blank area above the Search Result heading is outside the FD24
   search panel, so scope the reset to the Directorist result page only. */
.fd24-directorist-result-page .site-content,
.fd24-directorist-result-page .site-main,
.fd24-directorist-result-page .content-area {
  margin-top:0 !important;
  padding-top:0 !important;
}
.fd24-directorist-result-page .entry-header,
.fd24-directorist-result-page .entry-title {
  margin-top:0 !important;
  padding-top:0 !important;
}


/* v1.3.0 — standard Search Result heading spacing. */
.fd24-directorist-result-page .entry-header{
  margin-top:0 !important;
  padding-top:32px !important;
  margin-bottom:24px !important;
}
.fd24-directorist-result-page .entry-title{
  margin-top:0 !important;
  margin-bottom:0 !important;
}


/* v1.3.1 — Mobile search-page polish
   Keep the existing functional/search logic unchanged while making the
   mobile form use the available viewport width more efficiently. */
@media (max-width:650px){
  .fd24-wrap{
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:8px !important;
    padding-right:8px !important;
  }

  /* Three primary service tabs share the available width evenly. */
  .fd24-tabs{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:4px !important;
    width:100% !important;
    overflow:visible !important;
  }
  .fd24-tab{
    width:100% !important;
    min-width:0 !important;
    min-height:46px !important;
    padding-left:6px !important;
    padding-right:6px !important;
    font-size:14px !important;
    white-space:nowrap !important;
  }

  /* Give the form card almost all of the mobile content width. */
  .fd24-panel{
    width:100% !important;
    box-sizing:border-box !important;
    padding:14px !important;
  }

  /* Mobile field labels and controls remain comfortably readable. */
  .fd24-input{
    box-sizing:border-box !important;
    font-size:14px !important;
  }
  .fd24-search-row{
    width:100% !important;
    gap:8px !important;
  }
  .fd24-search-row .fd24-search-btn{
    flex:1 1 auto !important;
    min-width:0 !important;
  }
  .fd24-search-row .fd24-reset-btn{
    flex:0 0 72px !important;
    width:72px !important;
    min-width:72px !important;
    max-width:72px !important;
  }
  .fd24-search-row .fd24-filter-btn{
    flex:0 0 46px !important;
    width:46px !important;
    min-width:46px !important;
    max-width:46px !important;
  }

  /* Keep the helper copy compact on narrow screens. */
  .fd24-note{
    font-size:12px !important;
    line-height:1.45 !important;
    margin-top:14px !important;
  }
}

@media (max-width:380px){
  .fd24-wrap{padding-left:6px !important;padding-right:6px !important}
  .fd24-panel{padding:12px !important}
  .fd24-tab{font-size:13px !important;min-height:44px !important}
  .fd24-search-row .fd24-reset-btn{flex-basis:68px !important;width:68px !important;min-width:68px !important;max-width:68px !important}
  .fd24-search-row .fd24-filter-btn{flex-basis:44px !important;width:44px !important;min-width:44px !important;max-width:44px !important}
}


/* v1.3.3 — Mobile responsive stabilization
   Preserve v1.3.2 functionality; fix tab wrapping, diagnostic form spacing,
   input overflow and search-action clipping on narrow screens. */
@media (max-width:650px){
  .fd24-tabs{
    display:flex !important;
    flex-wrap:nowrap !important;
    width:100% !important;
    overflow-x:hidden !important;
    gap:3px !important;
  }
  .fd24-tab{
    flex:1 1 0 !important;
    min-width:0 !important;
    width:33.333% !important;
    max-width:none !important;
    padding-left:8px !important;
    padding-right:8px !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  .fd24-panel{
    box-sizing:border-box !important;
    width:100% !important;
    padding:16px !important;
  }

  .fd24-keyword-wrap,
  .fd24-specialty,
  .fd24-search-location,
  .fd24-location-stage{
    box-sizing:border-box !important;
    width:100% !important;
    margin-top:0 !important;
  }
  .fd24-keyword-wrap + .fd24-specialty,
  .fd24-specialty + .fd24-search-location,
  .fd24-keyword-wrap + .fd24-search-location,
  .fd24-search-location + .fd24-location-stage{
    margin-top:16px !important;
  }

  .fd24-keyword-wrap > label,
  .fd24-specialty > label,
  .fd24-search-location > label,
  .fd24-location-stage > label{
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 0 8px !important;
    line-height:1.3 !important;
  }

  .fd24-input{
    box-sizing:border-box !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }
  .fd24-input::placeholder{
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .fd24-search-row{
    box-sizing:border-box !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 78px 48px !important;
    gap:8px !important;
    width:100% !important;
    min-width:0 !important;
    margin-top:20px !important;
    align-items:stretch !important;
  }
  .fd24-search-row .fd24-search-btn{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:48px !important;
    padding:0 10px !important;
    box-sizing:border-box !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
    line-height:1 !important;
  }
  .fd24-search-row .fd24-reset-btn{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:78px !important;
    min-width:78px !important;
    max-width:78px !important;
    height:48px !important;
    padding:0 8px !important;
    box-sizing:border-box !important;
    white-space:nowrap !important;
  }
  .fd24-search-row .fd24-filter-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:48px !important;
    min-width:48px !important;
    max-width:48px !important;
    height:48px !important;
    box-sizing:border-box !important;
  }

  .fd24-note{
    box-sizing:border-box !important;
    width:100% !important;
    margin-top:16px !important;
    line-height:1.55 !important;
  }
  .fd24-breadcrumb{
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    margin-top:10px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
}

@media (max-width:380px){
  .fd24-panel{padding:13px !important}
  .fd24-tab{font-size:12.5px !important;padding-left:5px !important;padding-right:5px !important}
  .fd24-search-row{grid-template-columns:minmax(0,1fr) 72px 46px !important;gap:6px !important}
  .fd24-search-row .fd24-reset-btn{width:72px !important;min-width:72px !important;max-width:72px !important}
  .fd24-search-row .fd24-filter-btn{width:46px !important;min-width:46px !important;max-width:46px !important}
  .fd24-search-row .fd24-search-btn{padding-left:7px !important;padding-right:7px !important;font-size:13px !important}
}


/* v1.3.6 definitive Filter action layout.
   The original Search action is hidden while Hospital/Diagnostic Filter is open.
   The existing Reset button is moved by JS into the dedicated row below the filter. */
.fd24-filter-open #searchBtn{display:none !important;}
.fd24-filter-open .fd24-filter-search-row{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex-wrap:nowrap !important;
  gap:12px !important;
  width:100% !important;
  margin-top:12px !important;
  box-sizing:border-box !important;
}
.fd24-filter-open .fd24-filter-search-row #filterSearchBtn{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  flex:0 1 auto !important; width:auto !important; min-width:0 !important; max-width:100% !important;
  height:48px !important; box-sizing:border-box !important; white-space:nowrap !important;
}
.fd24-filter-open .fd24-filter-search-row #resetBtn{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  flex:0 0 auto !important; width:auto !important; min-width:86px !important; max-width:none !important;
  height:48px !important; margin:0 !important; box-sizing:border-box !important; white-space:nowrap !important;
}

@media (max-width:650px){
  .fd24-filter-open .fd24-search-row{
    display:flex !important; width:100% !important; justify-content:center !important; align-items:center !important;
    margin-top:16px !important; gap:0 !important;
  }
  .fd24-filter-open .fd24-search-row #searchBtn{display:none !important;}
  .fd24-filter-open .fd24-search-row #filterBtn{
    display:inline-flex !important; flex:0 0 48px !important; width:48px !important; min-width:48px !important;
    max-width:48px !important; height:48px !important; margin:0 auto !important;
  }
  .fd24-filter-open .fd24-filter-panel{
    width:100% !important; box-sizing:border-box !important; margin-top:16px !important;
  }
  .fd24-filter-open .fd24-filter-search-row{
    display:grid !important; grid-template-columns:minmax(0,1fr) 86px !important; gap:8px !important;
    align-items:stretch !important; width:100% !important; margin-top:16px !important;
  }
  .fd24-filter-open .fd24-filter-search-row #filterSearchBtn{
    width:100% !important; min-width:0 !important; max-width:none !important; height:48px !important;
    padding-left:10px !important; padding-right:10px !important; white-space:nowrap !important;
  }
  .fd24-filter-open .fd24-filter-search-row #resetBtn{
    width:86px !important; min-width:86px !important; max-width:86px !important; height:48px !important;
  }
}

@media (max-width:380px){
  .fd24-filter-open .fd24-search-row #filterBtn{width:46px !important; min-width:46px !important; max-width:46px !important; height:46px !important;}
  .fd24-filter-open .fd24-filter-search-row{grid-template-columns:minmax(0,1fr) 78px !important; gap:7px !important;}
  .fd24-filter-open .fd24-filter-search-row #filterSearchBtn,
  .fd24-filter-open .fd24-filter-search-row #resetBtn{height:46px !important;}
  .fd24-filter-open .fd24-filter-search-row #resetBtn{width:78px !important; min-width:78px !important; max-width:78px !important;}
}


/* v1.3.7 — definitive closed mobile action-row fix.
   Preserve v1.3.6 Filter-open behavior. When the Filter is closed on
   Hospital/Diagnostic mobile search, Search + Reset + Filter must remain
   on ONE row and must never wrap. */
@media (max-width:650px){
  .fd24-wrap:not(.fd24-filter-open) .fd24-search-row{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:8px !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }

  .fd24-wrap:not(.fd24-filter-open) .fd24-search-row .fd24-search-btn{
    order:1 !important;
    flex:1 1 auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    box-sizing:border-box !important;
    margin:0 !important;
    white-space:nowrap !important;
    overflow:visible !important;
  }

  .fd24-wrap:not(.fd24-filter-open) .fd24-search-row .fd24-reset-btn{
    order:2 !important;
    flex:0 0 72px !important;
    width:72px !important;
    min-width:72px !important;
    max-width:72px !important;
    box-sizing:border-box !important;
    margin:0 !important;
    white-space:nowrap !important;
  }

  .fd24-wrap:not(.fd24-filter-open) .fd24-search-row .fd24-filter-btn{
    order:3 !important;
    flex:0 0 46px !important;
    width:46px !important;
    min-width:46px !important;
    max-width:46px !important;
    box-sizing:border-box !important;
    margin:0 !important;
  }
}

@media (max-width:380px){
  .fd24-wrap:not(.fd24-filter-open) .fd24-search-row{
    gap:6px !important;
  }
  .fd24-wrap:not(.fd24-filter-open) .fd24-search-row .fd24-reset-btn{
    flex-basis:68px !important;
    width:68px !important;
    min-width:68px !important;
    max-width:68px !important;
  }
  .fd24-wrap:not(.fd24-filter-open) .fd24-search-row .fd24-filter-btn{
    flex-basis:44px !important;
    width:44px !important;
    min-width:44px !important;
    max-width:44px !important;
  }
  .fd24-wrap:not(.fd24-filter-open) .fd24-search-row .fd24-search-btn{
    font-size:13px !important;
    padding-left:7px !important;
    padding-right:7px !important;
  }
}


/* v1.3.8 — align primary keyword dropdown with Specialty/Location dropdowns.
   The keyword input now uses the same combo structure as Specialty so its
   suggestions are anchored directly below the input instead of overlapping it. */
.fd24-keyword-wrap > .fd24-combo{
  position:relative !important;
  width:100% !important;
}
.fd24-keyword-wrap > .fd24-combo > .fd24-input{
  display:block !important;
  width:100% !important;
  box-sizing:border-box !important;
}
.fd24-keyword-wrap > .fd24-combo > .fd24-options{
  top:48px !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  max-width:100% !important;
  z-index:10001 !important;
}
@media (max-width:650px){
  .fd24-keyword-wrap > .fd24-combo > .fd24-options{
    top:48px !important;
  }
}

/* v1.3.9: WordPress/editor safety net — empty paragraphs must never affect FD24 layout. */
.fd24-search-plugin-v1 p:empty,
.fd24-search-plugin-v1 p:has(br:only-child){
  display:none !important;
  margin:0 !important;
  padding:0 !important;
  height:0 !important;
  line-height:0 !important;
}
