.search-page {
  position: relative;
  min-height: 80vh;
  padding: 46px 0 75px;
  overflow: visible;
  background: linear-gradient(145deg, #fff7f1 0, #fff 42%, #f4f7ff 100%)
}

/* Advanced search sidebar inspired by the production directory layout. */
.search-header-filter{height:46px;padding:0 13px;display:flex;align-items:center;gap:7px;border:1px solid #ffd0b3;border-radius:14px;background:linear-gradient(145deg,#fff,#fff5ee);color:#d94f00;font-family:inherit;cursor:pointer;box-shadow:0 7px 18px rgba(255,101,8,.1)}.search-header-filter span{font-size:21px}.search-header-filter b{font-size:9px}.search-header-filter.compact{width:42px;height:42px;padding:0;display:grid;place-items:center}.search-layout{grid-template-columns:300px minmax(0,1fr);gap:22px}.search-filter-card{padding:0;overflow:hidden;border-color:#e6e9ef;border-radius:24px;box-shadow:0 16px 38px rgba(20,33,61,.08)}.search-filter-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 17px;border-bottom:1px solid #edf0f4}.search-filter-drawer-head>div{display:flex;align-items:center;gap:10px}.search-filter-drawer-head>div>span{width:37px;height:37px;display:grid;place-items:center;border-radius:11px;background:#fff0e6;color:#ff6508}.search-filter-drawer-head p,.search-category-filter legend p{margin:0}.search-filter-drawer-head b,.search-filter-drawer-head small{display:block}.search-filter-drawer-head b{font-size:12px}.search-filter-drawer-head small{margin-top:2px;color:#98a2b3;font-size:8px}.search-filter-drawer-head button{display:none;width:34px;height:34px;border:0;border-radius:10px;background:#f2f4f7;color:#667085}.search-filter-promo{margin:14px;padding:16px;border-radius:18px;background:linear-gradient(145deg,#ff6508,#ff8d45);color:#fff;box-shadow:0 12px 24px rgba(255,101,8,.2)}.search-filter-promo>span{font-size:7px;font-weight:900;letter-spacing:1.4px;opacity:.8}.search-filter-promo h2{margin:5px 0 3px;font-size:15px}.search-filter-promo p{margin:0;font-size:8px;line-height:1.7;opacity:.9}.search-filter-card form{padding:0 14px 14px;gap:15px}.search-category-filter{min-width:0;margin:0;padding:0;border:0}.search-category-filter legend{width:100%;display:flex;align-items:center;gap:8px;margin-bottom:9px;color:#344054}.search-category-filter legend>span{color:#ff6508}.search-category-filter legend b,.search-category-filter legend small{display:block}.search-category-filter legend b{font-size:10px}.search-category-filter legend small{color:#98a2b3;font-size:7px}.search-category-filter-list{max-height:285px;display:grid;gap:5px;padding-left:3px;overflow-y:auto}.search-category-filter-list label{display:block}.search-category-filter-list input{position:absolute;opacity:0;pointer-events:none}.search-category-filter-list label>span{height:39px;padding:0 9px;display:flex;align-items:center;gap:9px;border:1px solid #edf0f4;border-radius:11px;background:#fbfcfe;color:#475467;cursor:pointer;transition:.16s}.search-category-filter-list label>span>i{width:25px;height:25px;display:grid;place-items:center;color:#ff6508;font-style:normal}.search-category-filter-list svg{width:17px;height:17px}.search-category-filter-list label>span>b{flex:1;font-size:8.5px}.search-category-filter-list label>span>em{opacity:0;color:#ff6508;font-size:17px}.search-category-filter-list input:checked+span{border-color:#ffb887;background:#fff3eb;color:#d94f00;box-shadow:0 5px 13px rgba(255,101,8,.08)}.search-category-filter-list input:checked+span>em{opacity:1}.search-filter-fields{display:grid;gap:10px;padding-top:12px;border-top:1px solid #edf0f4}.search-filter-fields label>span{display:flex;align-items:center;gap:5px}.search-filter-fields label>span i{color:#ff6508;font-size:16px}.search-filter-actions{display:grid;grid-template-columns:1fr auto;gap:8px}.search-filter-actions a{display:grid;place-items:center;padding:0 8px;border:1px solid #e5e8ef;border-radius:11px;color:#667085;font-size:8px;font-weight:800}.search-filter-card .search-assurance{margin:0 14px 15px}.search-filter-overlay{display:none}

@media(max-width:1000px){.search-layout{display:block}.search-filter-card{position:fixed;z-index:151;top:0;right:0;bottom:0;width:min(360px,90vw);margin:0;border-radius:24px 0 0 24px;overflow-y:auto;transform:translateX(105%);transition:.25s;visibility:hidden}.search-filter-card.open{transform:none;visibility:visible}.search-filter-drawer-head{position:sticky;z-index:2;top:0;background:#fff}.search-filter-drawer-head button{display:grid;place-items:center}.search-filter-overlay{position:fixed;z-index:150;inset:0;display:block;background:rgba(15,23,42,.54);opacity:0;visibility:hidden;transition:.25s;backdrop-filter:blur(3px)}.search-filter-overlay.open{opacity:1;visibility:visible}.search-filter-is-open{overflow:hidden}.mobile-filter-button{display:flex;align-items:center;gap:5px}.search-category-filter-list{max-height:none}}
@media(min-width:1001px){.search-header-filter{display:none}}

.search-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none
}

.search-glow-one {
  width: 330px;
  height: 330px;
  right: -180px;
  top: 80px;
  background: radial-gradient(circle, rgba(255, 101, 8, .13), transparent 68%)
}

.search-glow-two {
  width: 380px;
  height: 380px;
  left: -210px;
  top: 400px;
  background: radial-gradient(circle, rgba(21, 94, 239, .09), transparent 68%)
}

.search-page>.container {
  position: relative
}

.search-page-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px
}

.search-kicker {
  display: inline-block;
  padding: 5px 11px;
  border-radius: 20px;
  background: #fff0e7;
  color: #d94f00;
  font-size: 10px;
  font-weight: 900
}

.search-page-head h1 {
  margin: 7px 0 2px;
  font-size: 32px
}

.search-page-head h1 strong {
  color: #ff6508
}

.search-page-head p {
  margin: 0;
  color: #667085;
  font-size: 12px
}

.search-head-mark {
  width: 78px;
  height: 78px;
  display: grid;
  place-items: center;
  border: 1px solid #ffd8bf;
  border-radius: 24px;
  background: linear-gradient(145deg, #fff, #fff0e7);
  color: #ff6508;
  font-size: 38px;
  box-shadow: 0 15px 35px rgba(255, 101, 8, .13)
}

.search-main-form {
  position: sticky;
  z-index: 45;
  top: 90px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 9px;
  padding: 9px;
  border: 1px solid #ffdbc4;
  border-radius: 20px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 15px 40px rgba(20, 33, 61, .09)
}

.search-main-input {
  height: 49px;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 25px 42px;
  align-items: center
}

.search-main-input>span {
  color: #ff6508;
  font-size: 24px;
  text-align: center
}

.search-main-input input {
  height: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  font-family: inherit
}

.search-main-input button {
  border: 0;
  background: transparent;
  color: #98a2b3;
  font-size: 20px;
  cursor: pointer
}

.search-map-submit {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid #cfe1ec;
  border-radius: 12px;
  background: linear-gradient(145deg, #edf7fc, #dfeef7);
  color: #215f8d;
  text-decoration: none;
  box-shadow: 0 7px 16px rgba(33, 95, 141, .14);
  transition: transform .18s ease, box-shadow .18s ease
}

.search-map-submit:hover {
  color: #17496e;
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(33, 95, 141, .2)
}

.search-map-submit .material-symbols-rounded { font-size: 22px }

.search-main-form select {
  border: 0;
  border-right: 1px solid #eaecf0;
  padding: 0 13px;
  background: #fff;
  font-family: inherit;
  color: #475467;
  outline: 0
}

.search-category-strip {
  display: flex;
  gap: 8px;
  margin: 18px 0 22px;
  padding-bottom: 8px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
  scrollbar-color: #bbc4d1 #f1f5f9;
}

/* Chrome, Edge, Safari */
.search-category-strip::-webkit-scrollbar {
  height: 8px;
}

.search-category-strip::-webkit-scrollbar-track {
  background: #f1f5f9;
  border-radius: 999px;
}

.search-category-strip::-webkit-scrollbar-thumb {
  background: linear-gradient(90deg,
      #0ea5e9,
      #38bdf8);
  border-radius: 999px;
  border: 2px solid #f1f5f9;
  transition: 0.3s;
}

.search-category-strip::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(90deg,
      #0284c7,
      #0ea5e9);
}

.search-category-strip::-webkit-scrollbar-corner {
  background: transparent;
}

.search-category-strip a {
  min-width: max-content;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  border: 1px solid #e5e8ef;
  border-radius: 13px;
  background: #fff;
  color: #475467;
  font-size: 10px;
  font-weight: 800
}

.search-category-strip a>span {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: color-mix(in srgb, var(--chip-color, #ff6508) 12%, white);
  color: var(--chip-color, #ff6508)
}

.search-category-strip a>span svg {
  width: 15px;
  height: 15px
}

.search-category-strip a.active {
  border-color: #ff6508;
  background: #fff1e8;
  color: #d94f00;
  box-shadow: 0 6px 15px rgba(255, 101, 8, .1)
}

.search-popular-strip { display:flex; margin:18px 0 22px; padding:12px 14px; align-items:center; gap:14px; border:1px solid #e5ebe8; border-radius:17px; background:rgba(255,255,255,.88); }
.search-popular-strip-title { display:flex; min-width:max-content; align-items:center; gap:8px; }
.search-popular-strip-title>span { display:grid; width:34px; height:34px; border-radius:11px; place-items:center; background:#fff0e7; color:#f05a0b; font-size:19px; }
.search-popular-strip-title p { margin:0; }
.search-popular-strip-title b,.search-popular-strip-title small { display:block; }
.search-popular-strip-title b { color:#263b35; font-size:11px; font-weight:950; }
.search-popular-strip-title small { margin-top:2px; color:#8a9893; font-size:8px; font-weight:700; }
.search-popular-tags { display:flex; min-width:0; padding-bottom:2px; gap:7px; overflow-x:auto; scrollbar-width:none; }
.search-popular-tags::-webkit-scrollbar { display:none; }
.search-popular-tags a { display:flex; min-width:max-content; height:36px; padding:0 11px; align-items:center; gap:6px; border:1px solid #e4e9e7; border-radius:999px; background:#fff; color:#51635d; font-size:9px; font-weight:850; }
.search-popular-tags a>span { display:grid; width:20px; height:20px; place-items:center; color:var(--chip-color,#0b9871); font-size:13px; }
.search-popular-tags a.active { border-color:#25a981; background:#edf9f5; color:#087a60; }
@media(max-width:700px) { .search-popular-strip { display:block; padding:11px; } .search-popular-strip-title { margin-bottom:9px; } }

.search-active-filters { display:flex; margin:-10px 0 22px; padding:10px 12px; align-items:center; gap:10px; border:1px solid #dce9e4; border-radius:15px; background:#f8fcfa; }
.search-active-filters-title { display:flex; min-width:max-content; align-items:center; gap:5px; color:#344b44; }
.search-active-filters-title span { color:#07815f; font-size:18px; }
.search-active-filters-title b { font-size:9px; font-weight:900; }
.search-active-filter-tags { display:flex; min-width:0; flex:1; gap:6px; overflow-x:auto; scrollbar-width:none; }
.search-active-filter-tags::-webkit-scrollbar { display:none; }
.search-active-filter-tags a { display:flex; min-width:max-content; height:31px; padding:0 8px; align-items:center; gap:5px; border:1px solid #bfe2d6; border-radius:999px; background:#fff; color:#176c56; font-size:9px; font-weight:850; transition:.18s ease; }
.search-active-filter-tags a:hover { border-color:#e8a486; background:#fff7f3; color:#bd4b1b; }
.search-active-filter-tags a>span { font-size:15px; }
.search-active-filter-tags a>i { display:grid; width:17px; height:17px; border-radius:50%; place-items:center; background:#e6f5ef; font-size:12px; font-style:normal; }
.search-active-filters-reset { display:flex; min-width:max-content; height:31px; padding:0 8px; align-items:center; gap:4px; color:#768680; font-size:8px; font-weight:850; }
.search-active-filters-reset span { font-size:15px; }
@media(max-width:700px) { .search-active-filters { align-items:flex-start; flex-wrap:wrap; } .search-active-filter-tags { order:3; width:100%; flex-basis:100%; } .search-active-filters-reset { margin-inline-start:auto; } }

.search-layout {
  display: grid;
  grid-template-columns: 245px 1fr;
  align-items: start;
  gap: 18px
}

.search-filter-card {
  position: sticky;
  top: 96px;
  padding: 18px;
  border: 1px solid #e7eaf0;
  border-radius: 21px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(20, 33, 61, .06)
}

.search-filter-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px
}

.search-filter-title h2 {
  margin: 0;
  font-size: 14px
}

.search-filter-title a {
  color: #ff6508;
  font-size: 9px;
  font-weight: 800
}

.search-filter-card form {
  display: grid;
  gap: 13px
}

.search-filter-card label {
  display: grid;
  gap: 6px;
  color: #344054;
  font-size: 10px;
  font-weight: 800
}

.search-filter-card select {
  height: 44px;
  padding: 0 10px;
  border: 1px solid #dfe3eb;
  border-radius: 12px;
  background: #fbfcfe;
  font-family: inherit;
  outline: 0
}

.search-filter-card select:focus {
  border-color: #ff6508;
  box-shadow: 0 0 0 3px rgba(255, 101, 8, .1)
}

.search-assurance {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 18px;
  padding: 12px;
  border-radius: 14px;
  background: #ecfdf3
}

.search-assurance>span {
  width: 29px;
  height: 29px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #12b76a;
  color: #fff
}

.search-assurance b,
.search-assurance small {
  display: block
}

.search-assurance b {
  font-size: 9px
}

.search-assurance small {
  color: #667085;
  font-size: 7.5px
}

.search-results-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 13px
}

.search-results-head h2 {
  margin: 0;
  font-size: 18px
}

.search-results-head p {
  margin: 2px 0 0;
  color: #667085;
  font-size: 9px
}

.mobile-filter-button {
  display: none;
  border: 1px solid #ffd0b2;
  border-radius: 11px;
  background: #fff;
  color: #d94f00;
  padding: 8px 11px;
  font-family: inherit;
  font-weight: 800
}

.search-results-toolbar { display:flex; margin:0 0 13px; padding:8px; align-items:center; justify-content:space-between; gap:10px; border:1px solid #e3e9e7; border-radius:14px; background:#fff; }
.search-view-switcher,.search-order-switcher { display:flex; align-items:center; gap:5px; }
.search-view-switcher>span,.search-order-switcher>span { margin-inline-end:3px; color:#7b8984; font-size:8px; font-weight:800; }
.search-results-toolbar a { display:flex; height:32px; padding:0 8px; align-items:center; justify-content:center; gap:4px; border:1px solid transparent; border-radius:9px; background:#f4f7f6; color:#64746f; }
.search-results-toolbar a>span { font-size:18px; }
.search-results-toolbar a>b { font-size:8px; }
.search-results-toolbar a.active { border-color:#9dd7c6; background:#eaf8f3; color:#087a60; box-shadow:0 5px 14px -12px #047857; }

.search-provider-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px
}

.search-provider-grid.is-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.search-provider-grid.is-grid .search-provider-card { display:flex; min-height:390px; flex-direction:column; border-color:#e3eae7; border-radius:20px; box-shadow:0 16px 38px -30px rgba(24,61,51,.5); }
.search-provider-grid.is-grid .search-provider-card:hover { border-color:#aed8cb; transform:translateY(-4px); box-shadow:0 22px 42px -28px rgba(8,122,96,.45); }
.search-provider-grid.is-grid .search-provider-image { width:100%; min-height:210px; height:210px; border-bottom:1px solid #edf1ef; }
.search-provider-grid.is-grid .search-provider-content { flex:1; padding:16px; }
.search-provider-grid.is-grid .search-provider-name h3 { font-size:15px; }
.search-provider-grid.is-grid .search-provider-name p { margin-top:4px; font-size:9px; }
.search-provider-grid.is-grid .search-provider-tags { display:flex; flex-wrap:wrap; gap:7px; }
.search-provider-grid.is-grid .search-provider-tags span { padding:6px 8px; border-radius:9px; background:#f5f8f7; }
.search-provider-grid.is-grid .search-provider-bottom { margin-top:auto; padding-top:12px; border-top:1px solid #edf1ef; }
.search-provider-grid.is-list { grid-template-columns:1fr; }
.search-provider-grid.is-list .search-provider-card { grid-template-columns:180px minmax(0,1fr); }

.search-results-skeleton { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.search-results-skeleton[hidden] { display:none; }
.search-results-skeleton article { overflow:hidden; border:1px solid #e6ece9; border-radius:20px; background:#fff; }
.search-results-skeleton article>span { display:block; height:210px; background:#e9efec; }
.search-results-skeleton article>div { display:grid; padding:16px; gap:10px; }
.search-results-skeleton i,.search-results-skeleton b,.search-results-skeleton article>span { position:relative; overflow:hidden; }
.search-results-skeleton i,.search-results-skeleton b { display:block; height:12px; border-radius:7px; background:#edf2f0; }
.search-results-skeleton i:nth-child(1) { width:70%; height:17px; }
.search-results-skeleton i:nth-child(2) { width:45%; }
.search-results-skeleton i:nth-child(3) { width:85%; }
.search-results-skeleton b { width:100%; height:38px; margin-top:8px; }
.search-results-skeleton i::after,.search-results-skeleton b::after,.search-results-skeleton article>span::after { position:absolute; inset:0; content:""; background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.75) 50%,transparent 80%); transform:translateX(-100%); animation:searchSkeleton 1.25s infinite; }
@keyframes searchSkeleton { to { transform:translateX(100%); } }

.search-load-more-wrap { position:relative; display:flex; margin-top:24px; padding:14px; align-items:center; justify-content:space-between; gap:18px; overflow:hidden; border:1px solid #dce8e4; border-radius:20px; background:linear-gradient(135deg,#f7fcfa,#fff 52%,#f4f8ff); box-shadow:0 18px 38px -32px rgba(15,42,35,.55); }
.search-load-more-wrap::before { position:absolute; top:-55px; right:-35px; width:140px; height:140px; border-radius:50%; background:radial-gradient(circle,rgba(16,185,129,.14),transparent 68%); content:""; pointer-events:none; }
.search-load-more-stats { position:relative; min-width:180px; flex:1; }
.search-load-more-stats span { display:flex; align-items:end; justify-content:space-between; gap:12px; }
.search-load-more-stats small { color:#71837d; font-size:10px; font-weight:850; }
.search-load-more-stats strong { color:#1d3931; font-size:12px; font-weight:900; }
.search-load-more-stats strong b { color:#07815f; font-size:20px; font-weight:950; }
.search-load-more-stats strong em { color:#536b63; font-size:14px; font-style:normal; font-weight:950; }
.search-load-more-stats>div { height:7px; margin-top:8px; overflow:hidden; border-radius:99px; background:#e4eeea; }
.search-load-more-stats>div i { display:block; width:var(--search-progress,0%); height:100%; border-radius:inherit; background:linear-gradient(90deg,#087a60,#22c994); box-shadow:0 0 12px rgba(16,185,129,.3); transition:width .35s ease; }
.search-load-more-wrap button { position:relative; display:grid; min-width:220px; height:60px; padding:0 19px; border:1px solid #8fd0bd; border-radius:17px; grid-template-columns:32px 1fr; grid-template-rows:1fr 1fr; align-items:center; background:linear-gradient(135deg,#0da77d,#087a60); color:#fff; font-family:inherit; cursor:pointer; box-shadow:0 16px 30px -18px #047857,inset 0 1px rgba(255,255,255,.25); transition:.2s ease; }
.search-load-more-wrap button:hover { border-color:#087a60; transform:translateY(-2px); box-shadow:0 21px 35px -18px #047857,inset 0 1px rgba(255,255,255,.25); }
.search-load-more-wrap button>span { grid-row:1/3; font-size:25px; }
.search-load-more-wrap button>b { align-self:end; font-size:13px; font-weight:950; line-height:1.4; }
.search-load-more-wrap button>small { align-self:start; color:rgba(255,255,255,.76); font-size:9px; font-weight:700; }
.search-load-more-wrap button.is-loading { pointer-events:none; opacity:.65; }
.search-load-complete { display:flex; min-width:220px; height:60px; padding:0 16px; align-items:center; justify-content:center; gap:8px; border:1px solid #b8dfd3; border-radius:17px; background:#eaf8f3; color:#087a60; }
.search-load-complete i { font-size:23px; font-style:normal; }
.search-load-complete b { font-size:11px; font-weight:950; }
.search-pagination { display:none; }
.search-ajax-content.is-loading .search-results { opacity:.62; pointer-events:none; }
.search-ajax-content.is-loading .search-results { position:relative; }
.search-ajax-content.is-loading .search-results::after { content:""; position:absolute; z-index:20; top:90px; left:50%; width:34px; height:34px; border:3px solid rgba(8,122,96,.2); border-top-color:#087a60; border-radius:50%; background:#fff; box-shadow:0 5px 18px rgba(8,122,96,.16); animation:search-ajax-spin .7s linear infinite; }
@keyframes search-ajax-spin { to { transform:rotate(360deg); } }

.search-provider-card {
  display: grid;
  grid-template-columns: 150px 1fr;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #ffe0cc;
  border-radius: 21px;
  background: #fff;
  box-shadow: 0 9px 25px rgba(20, 33, 61, .055);
  transition: .2s
}

.search-provider-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(20, 33, 61, .1)
}

.search-provider-image {
  position: relative;
  min-height: 190px;
  overflow: hidden;
  background: linear-gradient(145deg, #ffe6d5, #edf3ff)
}

.search-provider-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top
}

.search-provider-image>span {
  position: absolute;
  right: 8px;
  top: 8px;
  padding: 3px 8px;
  border-radius: 12px;
  background: #ff6508;
  color: #fff;
  font-size: 7px;
  font-weight: 900
}

.search-provider-image button {
  position: absolute;
  left: 8px;
  top: 8px;
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 9px;
  background: rgba(255, 255, 255, .9);
  color: #ff6508;
  font-size: 17px
}

.search-provider-content {
  display: flex;
  flex-direction: column;
  padding: 13px
}

.search-provider-name {
  display: flex;
  justify-content: space-between;
  gap: 7px
}

.search-provider-name h3 {
  margin: 0;
  color: #172c27;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.5
}

.search-provider-name h3 i {
  color: #155eef;
  font-style: normal
}

.search-provider-name p {
  margin: 2px 0;
  color: #667085;
  font-size: 10px;
  font-weight: 700
}

.search-provider-name>b {
  height: max-content;
  padding: 3px 6px;
  border-radius: 8px;
  background: #fffaeb;
  color: #b54708;
  font-size: 10px;
  font-weight: 950
}

.search-provider-tags {
  display: grid;
  gap: 5px;
  margin: 10px 0;
  color: #667085;
  font-size: 10px;
  font-weight: 750;
}

.search-provider-bottom {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 9px;
  border-top: 1px solid #eaecf0
}

.search-provider-bottom small,
.search-provider-bottom strong {
  display: block
}

.search-provider-bottom small {
  color: #98a2b3;
  font-size: 9px;
  font-weight: 750
}

.search-provider-bottom strong { color:#172c27; font-size:13px; font-weight:950; }
.search-provider-bottom>a { padding:7px 10px; border-radius:10px; background:#eef8f4; color:#087a60; font-size:9px; font-weight:950; }
.search-provider-contact { display:grid; margin-top:11px; padding-top:10px; border-top:1px solid #e8eeeb; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.search-provider-contact>a,.search-provider-contact>span { min-width:0; height:37px; display:flex; align-items:center; justify-content:center; gap:5px; border:1px solid #dfe8e4; border-radius:11px; background:#f8fbfa; color:#435a53; transition:.18s ease; }
.search-provider-contact span.material-symbols-rounded,.search-provider-contact>span>i { font-size:17px; font-style:normal; }
.search-provider-contact b { overflow:hidden; font-size:9px; font-weight:950; text-overflow:ellipsis; white-space:nowrap; }
.search-provider-contact .call { border-color:#cbdcf5; background:#f1f6ff; color:#315ea8; }
.search-provider-contact .whatsapp { border-color:#bce4d2; background:#eafaf2; color:#087a57; }
.search-provider-contact .message { border-color:#f4d6bf; background:#fff5ed; color:#c75716; }
.search-provider-contact>a:hover { transform:translateY(-2px); filter:saturate(1.15); box-shadow:0 8px 18px -14px currentColor; }
.search-provider-contact .disabled { grid-column:span 2; color:#98a5a0; cursor:not-allowed; }

.search-provider-bottom strong {
  color: #ff6508;
  font-size: 12px
}

.search-provider-bottom a {
  padding: 6px 9px;
  border-radius: 9px;
  background: #14213d;
  color: #fff;
  font-size: 8px;
  font-weight: 800
}

.search-no-results {
  grid-column: 1/-1;
  padding: 65px 20px;
  border: 1px dashed #d8dee8;
  border-radius: 22px;
  background: rgba(255, 255, 255, .7);
  text-align: center
}

.search-no-results>span {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  margin: auto;
  border-radius: 20px;
  background: #fff0e7;
  color: #ff6508;
  font-size: 30px
}

.search-no-results h3 {
  margin: 12px 0 2px
}

.search-no-results p {
  margin: 0 0 15px;
  color: #667085;
  font-size: 10px
}

.search-mobile-nav {
  display: none
}

.search-pagination {
  margin-top: 22px
}

.search-pagination nav>div:first-child {
  display: none
}

.search-pagination nav>div:last-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px
}

.search-pagination svg {
  width: 17px
}

.search-pagination a,
.search-pagination span {
  font-size: 10px
}

@media(max-width:1000px) {
  .search-provider-grid {
    grid-template-columns: 1fr
  }

  .search-provider-card {
    grid-template-columns: 175px 1fr
  }
}

@media(max-width:700px) {
  body:has(.search-page) {
    padding-bottom: 72px
  }

  .search-page {
    padding: 24px 0 35px;
    overflow: visible
  }

  .search-page-head {
    margin-bottom: 15px
  }

  .search-page-head h1 {
    font-size: 23px
  }

  .search-page-head p {
    font-size: 10px
  }

  .search-head-mark {
    display: none
  }

  .search-main-form {
    position: sticky;
    z-index: 45;
    top: 86px;
    grid-template-columns: minmax(0, 1fr) auto auto;
    padding: 7px;
    border-radius: 17px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 13px 32px -20px rgba(20,33,61,.45);
    backdrop-filter: blur(14px)
  }

  .search-main-input {
    height: 45px
  }

  .search-main-form select {
    grid-column: 1/-1;
    height: 40px;
    border: 0;
    border-top: 1px solid #f0f1f3
  }

  .search-main-form>.btn {
    grid-row: 1;
    grid-column: 3;
    padding: 7px 13px
  }

  .search-main-form>.mobile-filter-button {
    display: flex;
    grid-row: 1;
    grid-column: 2;
    align-items: center;
    justify-content: center;
    gap: 4px
  }

  .search-main-form>.mobile-filter-button span {
    font-size: 18px
  }

  .search-category-strip {
    margin: 14px 0 17px
  }

  .search-layout {
    display: block
  }

  .search-filter-card {
    display: none;
    position: relative;
    top: auto;
    margin-bottom: 14px
  }

  .search-filter-card.mobile-open {
    display: block
  }

  .mobile-filter-button {
    display: block
  }

  .search-results-toolbar { align-items:stretch; flex-direction:column; }
  .search-view-switcher,.search-order-switcher { justify-content:space-between; }
  .search-view-switcher>span,.search-order-switcher>span { flex:1; }
  .search-provider-grid.is-grid { grid-template-columns:1fr; }
  .search-results-skeleton { grid-template-columns:1fr; }
  .search-load-more-wrap { padding:12px; align-items:stretch; flex-direction:column; }
  .search-load-more-wrap button { width:100%; min-width:0; }
  .search-load-complete { width:100%; min-width:0; }
  .search-provider-grid.is-list .search-provider-card { grid-template-columns:105px minmax(0,1fr); }

  .search-provider-card {
    grid-template-columns: 115px 1fr;
    border-radius: 18px
  }

  .search-provider-image {
    min-height: 165px
  }

  .search-provider-content {
    padding: 11px
  }

  .search-provider-tags {
    margin: 7px 0
  }

  .site-footer { display: block; }

  .search-mobile-nav {
    position: fixed;
    z-index: 60;
    right: 0;
    left: 0;
    bottom: 0;
    height: 66px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    align-items: center;
    padding: 5px 9px max(5px, env(safe-area-inset-bottom));
    border-top: 1px solid #e5e8ef;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 -8px 25px rgba(20, 33, 61, .08);
    backdrop-filter: blur(14px)
  }

  .search-mobile-nav a {
    display: grid;
    place-items: center;
    color: #667085;
    font-size: 8px;
    font-weight: 800
  }

  .search-mobile-nav a>span {
    font-size: 20px;
    line-height: 1
  }

  .search-mobile-nav a.active {
    color: #ff6508
  }

  .search-mobile-nav .search-mobile-request {
    width: 48px;
    height: 48px;
    margin: -25px auto 0;
    border: 5px solid #fff;
    border-radius: 50%;
    background: linear-gradient(135deg, #ff6508, #ff914d);
    color: #fff;
    box-shadow: 0 8px 20px rgba(255, 101, 8, .3)
  }

  .search-mobile-nav .search-mobile-request span {
    font-size: 26px
  }

  .search-pagination nav>div:last-child {
    display: block
  }
}

@media(max-width:700px){.search-filter-card{display:block;position:fixed;top:0;right:0;bottom:0;width:min(360px,90vw);margin:0;border-radius:24px 0 0 24px;transform:translateX(105%);visibility:hidden}.search-filter-card.open{display:block;transform:none;visibility:visible}}

/* Production-style specialties list */
.search-filter-card .search-category-filter {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid #dfe7ee;
  border-radius: 20px;
  background: linear-gradient(145deg, #fff, #f7fafc);
  box-shadow: 0 14px 30px -28px rgba(15, 23, 42, .55);
}

.search-filter-card .search-category-filter legend {
  display: grid;
  width: 100%;
  margin: 0 0 10px;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  column-gap: 9px;
}

.search-filter-card .search-category-filter legend > span {
  display: grid;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  grid-row: span 2;
  place-items: center;
  background: linear-gradient(135deg, #10b981, #087a60);
  color: #fff;
  font-size: 17px;
  box-shadow: 0 8px 18px -10px #047857;
}

.search-filter-card .search-category-filter legend p b {
  color: #172033;
  font-size: 14px;
  font-weight: 950;
  line-height: 1.2;
}

.search-filter-card .search-category-filter legend p small {
  margin-top: 3px;
  color: #8391a3;
  font-size: 10px;
  font-weight: 750;
}

.search-filter-card .search-category-filter-list {
  display: grid;
  max-height: 286px;
  padding: 2px 1px 2px 5px;
  gap: 8px;
  overflow-y: auto;
  scrollbar-color: #9ed9c8 #edf4f2;
  scrollbar-width: thin;
}

.search-filter-card .search-category-filter-list::-webkit-scrollbar { width: 6px; }
.search-filter-card .search-category-filter-list::-webkit-scrollbar-track { background: #edf4f2; border-radius: 10px; }
.search-filter-card .search-category-filter-list::-webkit-scrollbar-thumb { background: #9ed9c8; border-radius: 10px; }

.search-filter-card .search-category-filter-list label > span {
  display: grid;
  min-height: 52px;
  height: auto;
  padding: 7px 9px;
  border: 1px solid #e5ebf0;
  border-radius: 15px;
  grid-template-columns: 38px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 9px;
  background: #fff;
  color: #46576a;
  cursor: pointer;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.search-filter-card .search-category-filter-list label > span > i {
  display: grid;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  place-items: center;
  background: linear-gradient(145deg, #edf9f5, #dff3ec);
  color: #07815f;
}

.search-filter-card .search-category-filter-list label > span > i svg { width: 20px; height: 20px; }

.search-filter-card .search-category-filter-list label > span > b {
  overflow: hidden;
  color: #263548;
  font-size: 12px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.search-filter-card .search-category-filter-list label > span > em {
  display: grid;
  width: 24px;
  height: 24px;
  border: 1px solid #dce5e9;
  border-radius: 50%;
  place-items: center;
  background: #f7fafb;
  color: transparent;
  font-size: 14px;
  opacity: 1;
}

.search-filter-card .search-category-filter-list label:hover > span {
  border-color: #9bd8c7;
  transform: translateX(-2px);
  box-shadow: 0 10px 22px -20px #047857;
}

.search-filter-card .search-category-filter-list input:focus-visible + span {
  outline: 3px solid rgba(16, 185, 129, .2);
  outline-offset: 2px;
}

.search-filter-card .search-category-filter-list input:checked + span {
  border-color: #20ad82;
  background: linear-gradient(135deg, #f0fdf8, #e5f8f1);
  color: #087a60;
  box-shadow: inset 3px 0 #0c9b73, 0 12px 25px -22px #047857;
}

.search-filter-card .search-category-filter-list input:checked + span > i {
  background: linear-gradient(135deg, #10b981, #087a60);
  color: #fff;
  box-shadow: 0 8px 17px -10px #047857;
}

.search-filter-card .search-category-filter-list input:checked + span > b { color: #087a60; }
.search-filter-card .search-category-filter-list input:checked + span > em {
  border-color: #0b9871;
  background: #0b9871;
  color: #fff;
}

@media(max-width:1000px) {
  .search-filter-card .search-category-filter-list { max-height: 286px; }
}

/* Keep specialty controls strictly inside the filter card. */
.search-filter-card,
.search-filter-card form,
.search-filter-card .search-category-filter,
.search-filter-card .search-category-filter legend,
.search-filter-card .search-category-filter-list,
.search-filter-card .search-category-filter-list label,
.search-filter-card .search-category-filter-list label > span {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}

.search-filter-card .search-category-filter {
  width: 100%;
  overflow: hidden;
}

.search-filter-card .search-category-filter-list {
  width: 100%;
  overflow-x: hidden;
}

.search-filter-card .search-category-filter-list label {
  width: 100%;
  overflow: hidden;
}

.search-filter-card .search-category-filter-list label > span {
  width: 100%;
}

.search-filter-card .search-category-filter-list label > span > b {
  display: block;
  min-width: 0;
  max-width: 100%;
}

/* Companies-directory inspired filter panel */
.search-filter-card {
  border: 1px solid #dfe8e4;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 45px -32px rgba(20, 74, 61, .45);
}

.search-filter-card .search-filter-drawer-head {
  padding: 18px;
  border-bottom: 1px solid #e8efec;
  background: linear-gradient(145deg, #fff, #f7fbf9);
}

.search-filter-card .search-filter-drawer-head > div > span {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: linear-gradient(135deg, #10b981, #087a60);
  color: #fff;
  box-shadow: 0 10px 20px -12px #047857;
}

.search-filter-card .search-filter-drawer-head b { color: #172c27; font-size: 14px; font-weight: 950; }
.search-filter-card .search-filter-drawer-head small { margin-top: 4px; color: #81918c; font-size: 10px; font-weight: 700; }

.search-filter-card .search-filter-promo {
  display: flex;
  margin: 14px;
  padding: 15px;
  align-items: center;
  gap: 12px;
  border: 1px solid #cfe9df;
  border-radius: 17px;
  background: linear-gradient(135deg, #effbf6, #f8fcfa);
  color: #183d33;
  box-shadow: none;
}

.search-filter-card .search-filter-promo > span {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 13px;
  place-items: center;
  background: #fff;
  color: #07815f;
  font-size: 23px;
  letter-spacing: 0;
  box-shadow: 0 8px 20px -16px #047857;
  opacity: 1;
}

.search-filter-card .search-filter-promo small { color: #0b8b69; font-size: 9px; font-weight: 900; }
.search-filter-card .search-filter-promo h2 { margin: 2px 0; color: #183d33; font-size: 14px; font-weight: 950; }
.search-filter-card .search-filter-promo p { color: #71837d; font-size: 9px; font-weight: 650; opacity: 1; }
.search-filter-card form { padding: 0 14px 14px; gap: 14px; }

.search-filter-card .search-filter-fields {
  gap: 12px;
  padding-top: 14px;
  border-top-color: #e6eeeb;
}

.search-filter-card .search-filter-fields label > span {
  margin-bottom: 7px;
  color: #344b44;
  font-size: 11px;
  font-weight: 900;
}

.search-filter-card .search-filter-fields label > span i { color: #07815f; }
.search-filter-card .search-filter-fields select {
  height: 48px;
  padding: 0 13px;
  border: 1px solid #dfe8e4;
  border-radius: 14px;
  background-color: #fbfdfc;
  color: #334b44;
  font-size: 11px;
  font-weight: 750;
}

.search-filter-card .search-filter-fields select:focus {
  border-color: #20ad82;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, .12);
}

.search-filter-card .search-filter-actions { grid-template-columns: minmax(0, 1fr) auto; gap: 9px; }
.search-filter-card .search-filter-actions button,
.search-filter-card .search-filter-actions a { height: 46px; border-radius: 13px; font-family: inherit; font-weight: 900; }
.search-filter-card .search-filter-actions button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 0;
  background: linear-gradient(135deg, #10b981, #087a60);
  color: #fff;
  box-shadow: 0 12px 24px -15px #047857;
}
.search-filter-card .search-filter-actions button span { font-size: 18px; }
.search-filter-card .search-filter-actions a { gap: 4px; padding: 0 11px; border-color: #dfe8e4; background: #fff; color: #667a74; }
.search-filter-card .search-filter-actions a span { font-size: 17px; }
.search-filter-card .search-assurance { border-color: #d9ebe4; background: #f2faf7; }
.search-filter-card .search-assurance > span { background: #dff5ed; color: #07815f; }

@media(max-width:1000px) {
  .search-filter-card { border-radius: 22px 0 0 22px; }
  .search-filter-card .search-filter-drawer-head { background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
}

/* Stable specialty list layout (avoids fieldset/legend browser sizing quirks). */
.search-layout {
  grid-template-columns: minmax(0, 245px) minmax(0, 1fr);
}

.search-filter-card {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
}

.search-filter-card > *,
.search-filter-card form > *,
.search-filter-card label,
.search-filter-card select,
.search-filter-card button,
.search-filter-card a {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.search-filter-card form {
  width: auto;
  max-width: none;
  margin: 0;
}

.search-filter-card .search-filter-promo,
.search-filter-card .search-assurance {
  width: auto;
  max-width: none;
  box-sizing: border-box;
}

.search-filter-card .search-filter-fields,
.search-filter-card .search-filter-fields label,
.search-filter-card .search-filter-fields select,
.search-filter-card .search-filter-actions {
  width: 100%;
}

.search-filter-card .search-filter-fields select {
  display: block;
}

.search-filter-card .search-filter-actions {
  grid-template-columns: minmax(0, 1fr) minmax(82px, auto);
}

.search-filter-card .search-category-filter {
  display: block;
  min-inline-size: 0;
  margin: 0;
  padding: 12px;
  overflow: hidden;
  border: 1px solid #dfe9e5;
  border-radius: 17px;
  background: #fbfdfc;
  box-shadow: none;
}

.search-filter-card .search-category-filter-title {
  display: flex;
  width: 100%;
  margin: 0 0 11px;
  align-items: center;
  gap: 9px;
}

.search-filter-card .search-category-filter-title > span {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 10px;
  place-items: center;
  background: #e3f6ef;
  color: #07815f;
  font-size: 18px;
}

.search-filter-card .search-category-filter-title p { min-width: 0; margin: 0; }
.search-filter-card .search-category-filter-title b,
.search-filter-card .search-category-filter-title small { display: block; }
.search-filter-card .search-category-filter-title b { color: #213a33; font-size: 12px; font-weight: 950; line-height: 1.35; }
.search-filter-card .search-category-filter-title small { margin-top: 2px; color: #879790; font-size: 9px; font-weight: 700; }

.search-filter-card .search-category-filter-list {
  display: flex;
  width: 100%;
  max-height: 280px;
  padding: 1px 0 1px 4px;
  flex-direction: column;
  gap: 6px;
  overflow-x: hidden;
  overflow-y: auto;
}

.search-filter-card .search-category-filter-list label {
  display: block;
  width: 100%;
  margin: 0;
  overflow: visible;
}

.search-filter-card .search-category-filter-list input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.search-filter-card .search-category-filter-list label > span {
  display: flex;
  width: 100%;
  min-height: 46px;
  padding: 6px 8px;
  align-items: center;
  gap: 8px;
  border: 1px solid #e4ebe8;
  border-radius: 13px;
  background: #fff;
  box-shadow: none;
  transform: none;
}

.search-filter-card .search-category-filter-list label > span > i {
  display: grid;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  border-radius: 10px;
  place-items: center;
  background: #eef8f4;
  color: #07815f;
  font-size: 17px;
  font-style: normal;
  line-height: 1;
}

.search-filter-card .search-category-filter-list label > span > i svg { width: 17px; height: 17px; }
.search-filter-card .search-category-filter-list label > span > i .material-symbols-rounded {
  font-size: 20px;
  line-height: 1;
}
.search-filter-card .search-category-filter-list label > span > b {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  color: #334b44;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.search-filter-card .search-category-filter-list label > span > em {
  display: grid;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  border: 1px solid #d9e4df;
  border-radius: 50%;
  place-items: center;
  background: #fff;
  color: transparent;
  font-size: 13px;
  font-style: normal;
  opacity: 1;
}

.search-filter-card .search-category-filter-list label:hover > span {
  border-color: #9ed8c7;
  background: #f9fdfb;
  transform: none;
}

.search-filter-card .search-category-filter-list input:checked + span {
  border-color: #1eaa80;
  background: #effaf6;
  box-shadow: inset -3px 0 #0c9b73;
}

.search-filter-card .search-category-filter-list input:checked + span > i {
  background: #dff5ed;
  color: #087a60;
  box-shadow: none;
}

.search-filter-card .search-category-filter-list input:checked + span > em {
  border-color: #0b9871;
  background: #0b9871;
  color: #fff;
}

@media(max-width:1000px) {
  .search-filter-card .search-category-filter-list { max-height: none; }
}

/* Keep the mobile filter drawer independently scrollable. */
@media(max-width:1000px) {
  .search-filter-card {
    position: fixed;
    top: 0;
    right: 0;
    bottom: auto;
    width: min(360px, 90vw);
    max-width: 90vw;
    height: 100vh;
    height: 100dvh;
    display: block;
    overflow: hidden;
  }

  .search-filter-card .search-filter-drawer-head {
    position: relative;
    z-index: 3;
  }

  .search-filter-drawer-body {
    position: absolute;
    inset-inline: 0;
    top: 79px;
    bottom: 0;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: scroll;
    overscroll-behavior-y: contain;
    touch-action: pan-y;
    scrollbar-width: thin;
    scrollbar-color: #9ed9c8 #edf4f2;
    -webkit-overflow-scrolling: touch;
  }

  .search-filter-drawer-body::-webkit-scrollbar { width: 6px; }
  .search-filter-drawer-body::-webkit-scrollbar-track { background: #edf4f2; }
  .search-filter-drawer-body::-webkit-scrollbar-thumb { background: #9ed9c8; border-radius: 0; }

  .search-filter-card .search-category-filter-list {
    max-height: 280px;
    max-height: min(280px, 42dvh);
    padding: 1px 0;
    overflow-x: hidden;
    overflow-y: scroll;
    overscroll-behavior: contain;
    touch-action: pan-y;
    scrollbar-width: auto;
    scrollbar-color: #58b99d #e5f1ed;
  }

  .search-filter-card .search-category-filter-list::-webkit-scrollbar { display: block; width: 7px; }
  .search-filter-card .search-category-filter-list::-webkit-scrollbar-button { display: none; width: 0; height: 0; }
  .search-filter-card .search-category-filter-list::-webkit-scrollbar-track { background: #e5f1ed; border-radius: 999px; }
  .search-filter-card .search-category-filter-list::-webkit-scrollbar-thumb { min-height: 48px; border: 0; border-radius: 999px; background: #36ad8b; }
  .search-filter-card .search-category-filter-list::-webkit-scrollbar-thumb:hover { background: #087a60; }
}

@media(min-width:1001px) {
  .search-filter-card .search-category-filter-list {
    display: flex;
    width: 100%;
    max-height: 280px;
    padding: 1px 0;
    flex-direction: column;
    gap: 6px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #78cbb3 #edf4f2;
  }

  .search-filter-card .search-category-filter-list::-webkit-scrollbar { width: 7px; }
  .search-filter-card .search-category-filter-list::-webkit-scrollbar-button { display: none; width: 0; height: 0; }
  .search-filter-card .search-category-filter-list::-webkit-scrollbar-track { background: #edf4f2; border-radius: 0; }
  .search-filter-card .search-category-filter-list::-webkit-scrollbar-thumb { min-height: 38px; border: 1px solid #edf4f2; border-radius: 0; background: #78cbb3; }
}

/* Consistent category scroll indicator (avoids native Windows arrow buttons). */
.search-category-list-shell { position: relative; min-width: 0; }
.search-category-list-shell .search-category-filter-list {
  padding-inline-start: 0;
  padding-inline-end: 11px;
  scrollbar-width: none;
}
.search-category-list-shell .search-category-filter-list::-webkit-scrollbar { display: none; width: 0; height: 0; }
.search-category-scroll-track {
  position: absolute;
  top: 1px;
  bottom: 1px;
  inset-inline-end: 1px;
  width: 6px;
  display: none;
  overflow: hidden;
  border-radius: 999px;
  background: #e5f1ed;
  pointer-events: none;
}
.search-category-list-shell.has-scroll .search-category-scroll-track { display: block; }
.search-category-scroll-track i {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  min-height: 42px;
  border-radius: 999px;
  background: #36ad8b;
  will-change: transform;
}

/* Keep the remaining filter controls visible without an excessively tall specialties list. */
.search-filter-card .search-category-filter-list { max-height:220px; }
@media(max-width:1000px) {
  .search-filter-card .search-category-filter-list { max-height:min(200px,30dvh); }
}
.search-provider-identity{display:inline-flex!important;align-items:center;gap:4px;width:max-content;margin-top:6px!important;padding:5px 8px;border:1px solid #b9e4d8;border-radius:8px;background:#edf9f5;color:#087b62!important;font-size:8px!important;font-weight:900!important;line-height:1!important}.search-provider-identity i{font-size:14px}.search-provider-identity.institution{border-color:#bdd8ef;background:#edf6fd;color:#19689f!important}.search-provider-specialties{margin:11px 0 3px;padding:10px 11px;border:1px solid #e5ebee;border-radius:13px;background:#f8fafb}.search-provider-specialties>small{display:flex;align-items:center;gap:4px;margin-bottom:7px;color:#738290;font-size:8px;font-weight:900}.search-provider-specialties>small i{color:#078995;font-size:14px}.search-provider-specialties>div{display:flex;flex-wrap:wrap;gap:6px}.search-provider-specialties>div>span{display:inline-flex;align-items:center;gap:4px;min-height:27px;padding:3px 8px;border-radius:8px;background:color-mix(in srgb,var(--specialty-color) 10%,white);color:#344a59;font-size:8px;font-weight:850}.search-provider-specialties>div>span i{color:var(--specialty-color);font-size:15px}@media(max-width:560px){.search-provider-specialties{padding:8px}.search-provider-specialties>div{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.search-provider-specialties>div>span{flex:0 0 auto}}

/* Compact provider portrait: shared by list and grid search cards. */
.search-provider-grid .search-provider-card { overflow:visible; }
.search-provider-grid.is-list .search-provider-card { grid-template-columns:104px minmax(0,1fr); align-items:start; }
.search-provider-grid .search-provider-image,
.search-provider-grid.is-grid .search-provider-image,
.search-provider-grid.is-list .search-provider-image { position:relative; width:72px; height:72px; min-height:72px; margin:18px auto 0; flex:0 0 72px; overflow:visible; border:3px solid #fff; border-radius:50%; background:linear-gradient(145deg,#e8faf4,#fff3e9); box-shadow:0 0 0 1px #cfe9df,0 10px 24px -14px rgba(8,122,96,.65); isolation:isolate; }
.search-provider-grid .search-provider-image::before,
.search-provider-grid .search-provider-image::after { position:absolute; z-index:-1; border-radius:50%; content:""; pointer-events:none; }
.search-provider-grid .search-provider-image::before { width:25px; height:25px; top:-10px; right:-11px; background:rgba(16,185,129,.18); box-shadow:-52px 57px 0 -7px rgba(255,101,8,.18); }
.search-provider-grid .search-provider-image::after { inset:-7px; border:1px dashed rgba(8,122,96,.25); }
.search-provider-grid .search-provider-image img { display:block; width:100%; height:100%; border-radius:50%; object-fit:cover; object-position:center top; }
.search-provider-grid .search-provider-image>span { right:49px; top:50px; width:max-content; max-width:92px; padding:4px 7px; white-space:nowrap; box-shadow:0 6px 14px -9px rgba(20,33,61,.7); }
.search-provider-grid .search-provider-image button { left:-8px; top:-8px; width:27px; height:27px; border:1px solid #e1ebe7; border-radius:50%; box-shadow:0 6px 14px -9px rgba(20,33,61,.65); }
.search-provider-grid.is-grid .search-provider-content { width:100%; }
@media(max-width:700px) {
  .search-provider-grid.is-list .search-provider-card { grid-template-columns:88px minmax(0,1fr); }
  .search-provider-grid .search-provider-image,
  .search-provider-grid.is-grid .search-provider-image,
  .search-provider-grid.is-list .search-provider-image { width:64px; height:64px; min-height:64px; margin-top:15px; flex-basis:64px; }
  .search-provider-grid .search-provider-image>span { right:42px; top:44px; }
}
