/* SEHAT ONLINE • Specialists directory • Coastal Breeze 1.1.12
   Scoped to the public listing only: profile, booking and admin visuals remain unchanged. */
body .so-pub.so-pub-directory.so-directory-v111{
  --dir-navy:#162f4e;--dir-blue:#3d668c;--dir-muted:#63819a;--dir-border:#e0e9ef;
  --dir-powder:#e7f0f5;--dir-light:#f6f9fc;--dir-ivory:#f2f0e4;
  width:min(1576px,100%);max-width:1576px;box-sizing:border-box;margin:0 auto 92px;padding:18px clamp(15px,2.6vw,44px) 0;
  color:var(--dir-navy);font-family:'DM Sans',Arial,sans-serif;line-height:1.45;
}
body .so-directory-v111 *,body .so-directory-v111 *:before,body .so-directory-v111 *:after{box-sizing:border-box}
body .so-directory-v111 .so-directory-filters{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;
  gap:18px;min-height:107px;padding:21px 25px!important;margin:0 0 23px!important;
  border:1px solid #e4edf3!important;border-radius:23px!important;background:#fff!important;
  box-shadow:0 12px 35px rgba(32,64,92,.075)!important;
}
body .so-directory-v111 .so-directory-filters>label{
  display:flex!important;flex-direction:row!important;align-items:stretch!important;justify-content:stretch!important;
  gap:0!important;min-width:0;min-height:82px!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;overflow:hidden;
  background:#fff!important;border:1px solid var(--dir-border)!important;border-radius:13px!important;
  color:var(--dir-blue)!important;cursor:pointer;
  transition:border-color .2s,box-shadow .2s;
}
body .so-directory-v111 .so-directory-filters>label:focus-within{border-color:#5b83a4!important;box-shadow:0 0 0 3px #e0edf5!important}
body .so-directory-v111 .so-directory-filter-icon{
  flex:0 0 69px;display:flex;justify-content:center;align-items:center;
  background:linear-gradient(140deg,#e7f0f7,#f4f8fa);color:#3b6f9d;font-size:31px;font-weight:500;
}
body .so-directory-v111 .so-directory-label{
  display:flex!important;flex:1 1 auto!important;flex-direction:column!important;justify-content:center!important;min-width:0;
  padding:12px 13px 10px 16px;color:#4b6f93;font-size:12px;font-weight:750;line-height:1.2;
}
body .so-directory-v111 .so-directory-filters select{
  display:block!important;width:100%!important;min-height:33px!important;height:35px!important;max-height:none!important;margin:2px 0 0!important;
  padding:5px 28px 5px 0!important;border:0!important;outline:0!important;box-shadow:none!important;
  background:transparent!important;color:var(--dir-navy)!important;font-size:14px!important;font-weight:750!important;
  line-height:1.2!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;
}
body .so-directory-v111 .so-directory-meta{
  display:flex;align-items:center;gap:16px;min-height:28px;margin:0 3px 18px;
  font-size:13px;font-weight:650;color:var(--dir-muted);
}
body .so-directory-v111 .so-directory-fetching{color:#2e668f}
body .so-directory-v111 .so-directory-error:not([hidden]){
  padding:13px 18px;margin:6px 2px 22px;border:1px solid #efc8b7;border-radius:12px;background:#fff7f1;color:#763a24;font-size:14px;
}
body .so-directory-v111 [hidden]{display:none!important}
body .so-directory-v111 .so-pub-grid{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:21px!important;align-items:stretch;margin:0!important;
  transition:opacity .15s ease;
}
body .so-directory-v111 .so-pub-grid[aria-busy="true"]{opacity:.52;pointer-events:none}
body .so-directory-v111 .so-directory-card{
  min-width:0;display:flex!important;flex-direction:column!important;gap:0!important;
  padding:0!important;overflow:hidden;border:1px solid #e5edf2!important;border-radius:20px!important;
  background:#fff!important;box-shadow:0 12px 28px rgba(21,51,83,.065)!important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
body .so-directory-v111 .so-directory-card:hover{
  transform:translateY(-4px);border-color:#cadbe7!important;box-shadow:0 20px 36px rgba(21,51,83,.115)!important;
}
body .so-directory-v111 .so-directory-card .so-pub-photo-box{
  flex:none;position:relative;width:100%!important;min-width:0!important;height:182px!important;
  border-radius:0!important;overflow:hidden;background:linear-gradient(145deg,#eaf2f7,#d7e6ee);
}
body .so-directory-v111 .so-directory-card .so-pub-photo{
  width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
  display:block!important;border-radius:0!important;object-fit:cover!important;object-position:center 22%!important;
}
body .so-directory-v111 .so-directory-card .so-pub-photo-fallback{
  display:flex!important;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#dceaf3,#fbe8d9);font-size:66px;color:#3f678a;font-weight:800;
}
body .so-directory-v111 .so-directory-photo-status{
  position:absolute;right:10px;top:10px;display:flex;flex-direction:column;align-items:flex-end;gap:5px;
  max-width:calc(100% - 20px);pointer-events:none;
}
body .so-directory-v111 .so-directory-status{
  display:inline-flex;gap:6px;align-items:center;max-width:100%;padding:5px 10px;
  border-radius:100px;border:1px solid #ffffff9a;background:rgba(255,255,255,.96);
  color:#24425e;font-size:10px;font-weight:750;line-height:1.4;box-shadow:0 2px 8px #172f4514;
}
body .so-directory-v111 .so-directory-status-away{color:#835d38}
body .so-directory-v111 .so-status-dot{display:inline-block;width:8px;height:8px;background:#38b76d;border-radius:50%}
body .so-directory-v111 .so-directory-card .so-pub-card-body{
  display:flex!important;flex:1;flex-direction:column;gap:0;min-width:0;padding:15px 17px 16px!important;
}
body .so-directory-v111 .so-directory-card h3{
  min-height:0!important;font-family:'DM Sans',Arial,sans-serif!important;
  font-size:clamp(17px,1.5vw,21px)!important;font-weight:850!important;line-height:1.25!important;
  letter-spacing:-.02em!important;margin:0 0 3px!important;
}
body .so-directory-v111 .so-directory-card h3 a{color:var(--dir-navy)!important}
body .so-directory-v111 .so-directory-card h3 a:hover{color:var(--dir-blue)!important}
body .so-directory-v111 .so-directory-specialty{
  min-height:0;margin:0 0 5px!important;font-size:12px!important;line-height:1.35!important;
  font-weight:600;color:#60809c!important;
}
body .so-directory-v111 .so-directory-qualification{
  margin:0 0 11px!important;min-height:17px;font-size:12px!important;font-weight:550;
  color:#365f83!important;line-height:1.4!important;overflow-wrap:anywhere;
}
body .so-directory-v111 .so-directory-details{
  display:flex;flex-wrap:wrap;gap:7px 15px;align-items:center;
  margin:0 0 10px;color:#436b8d;font-size:11px;font-weight:600;
}
body .so-directory-v111 .so-directory-detail{display:inline-flex;align-items:center;gap:6px}
body .so-directory-v111 .so-directory-detail span{font-size:17px;font-weight:700;color:#2e5e8a}
body .so-directory-v111 .so-directory-tags{
  display:flex;flex-wrap:wrap;align-content:flex-start;gap:5px;min-height:32px;margin-bottom:13px;
}
body .so-directory-v111 .so-directory-tag{
  display:inline-flex;align-items:center;max-width:100%;padding:5px 9px;background:#eaf1f7;
  color:#3c6589;border-radius:50px;font-size:10px;font-weight:600;line-height:1.25;overflow-wrap:anywhere;
}
body .so-directory-v111 .so-directory-card .so-pub-actions{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.26fr)!important;
  gap:7px!important;margin-top:auto;align-items:stretch;
}
body .so-directory-v111 .so-directory-card .so-pub-btn{
  min-height:43px!important;display:flex!important;gap:5px;align-items:center;justify-content:center;
  padding:10px 7px!important;border-radius:11px!important;font-size:11px!important;line-height:1.25!important;
  white-space:normal!important;text-align:center;text-decoration:none!important;font-weight:800!important;
}
body .so-directory-v111 .so-directory-card .so-pub-outline{border:1px solid #7ea6c6!important;color:#285e8b!important;background:#fff!important}
body .so-directory-v111 .so-directory-card .so-pub-outline:hover{background:#ecf4f8!important;color:#204f75!important}
body .so-directory-v111 .so-directory-card .so-pub-primary{
  background:linear-gradient(110deg,#3a6790,#4b7fa7)!important;border-color:#426f97!important;color:#fff!important;
}
body .so-directory-v111 .so-directory-card .so-pub-primary:hover{background:#244d76!important;color:#fff!important}
body .so-directory-v111 .so-directory-card .so-pub-soon{
  border:1px solid #d8e4eb!important;background:#f2f5f6!important;color:#64798b!important;cursor:not-allowed;
}
body .so-directory-v111 .so-directory-empty{padding:52px 24px!important;border-radius:18px!important}
@media(max-width:1150px){
 body .so-directory-v111 .so-pub-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 body .so-directory-v111 .so-directory-filters{gap:10px;padding:17px!important}
}
@media(max-width:840px){
 body .so-directory-v111 .so-pub-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body .so-directory-v111 .so-directory-filters{grid-template-columns:1fr!important;min-height:0;padding:14px!important;gap:10px!important}
 body .so-directory-v111 .so-directory-filters>label{min-height:74px}
}
@media(max-width:530px){
 body .so-pub.so-pub-directory.so-directory-v111{margin-bottom:56px;padding:12px 10px 0}
 body .so-directory-v111 .so-pub-grid{grid-template-columns:1fr!important;gap:18px!important}
 body .so-directory-v111 .so-directory-card .so-pub-photo-box{height:215px!important}
 body .so-directory-v111 .so-directory-card h3{font-size:20px!important}
 body .so-directory-v111 .so-directory-filters{margin-bottom:19px!important}
}
@media(prefers-reduced-motion:reduce){
 body .so-directory-v111 .so-directory-card,body .so-directory-v111 .so-pub-grid{transition:none!important}
 body .so-directory-v111 .so-directory-card:hover{transform:none!important}
}

/* v1.1.13 — deep navy filter bar, legible white values and labels. Scoped to listing. */
body .so-pub.so-directory-v111 .so-directory-filters {
  background:linear-gradient(112deg,#132d49 0%,#244969 100%)!important;
  border:1px solid #345a7b!important;
  box-shadow:0 16px 35px rgba(16,37,61,.18)!important;
}
body .so-pub.so-directory-v111 .so-directory-filters>label {
  background:#284864!important;
  border:1px solid #52708b!important;
  color:#f2f7ff!important;
}
body .so-pub.so-directory-v111 .so-directory-filters>label:hover{border-color:#8fb0ca!important;}
body .so-pub.so-directory-v111 .so-directory-filters>label:focus-within{
  border-color:#e8c49e!important;box-shadow:0 0 0 3px rgba(244,200,158,.42)!important;
}
body .so-pub.so-directory-v111 .so-directory-filter-icon{
  background:linear-gradient(145deg,#395d7e,#2b4b69)!important;
  color:#e6f4ff!important;
  border-right:1px solid rgba(255,255,255,.12)!important;
}
body .so-pub.so-directory-v111 .so-directory-label{color:#d5e7f5!important;}
body .so-pub.so-directory-v111 .so-directory-filters select{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  color-scheme:dark!important;
  background-color:transparent!important;
}
body .so-pub.so-directory-v111 .so-directory-filters select option{
  background:#183653!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
}
body .so-pub.so-directory-v111 .so-directory-filters select:focus-visible{outline:2px solid #f4c89e!important;outline-offset:2px!important;border-radius:3px!important;}


/* v1.1.15 — Increase the usable photograph area and never crop uploaded portraits.
   Specific to listing cards; do not alter individual profiles or booking. */
body .so-pub.so-directory-v111 .so-directory-card .so-pub-photo-box {
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  height:auto!important;min-height:0!important;
  background:linear-gradient(145deg,#e5f0f6 0%,#f3f8fa 58%,#f7eee5 100%)!important;
}
body .so-pub.so-directory-v111 .so-directory-card img.so-pub-photo {
  display:block!important;flex:0 0 auto!important;
  width:100%!important;height:clamp(310px,25vw,380px)!important;
  max-width:100%!important;max-height:none!important;
  object-fit:contain!important;object-position:center center!important;
  background:transparent!important;
}
body .so-pub.so-directory-v111 .so-directory-card .so-pub-photo-fallback {
  flex:0 0 auto!important;height:clamp(310px,25vw,380px)!important;
}
/* Status labels now sit on their own strip BELOW the image: they cannot cover faces. */
body .so-pub.so-directory-v111 .so-directory-card .so-directory-photo-status {
  position:static!important;inset:auto!important;right:auto!important;top:auto!important;
  display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;
  align-items:center!important;justify-content:flex-end!important;gap:6px!important;
  width:100%!important;max-width:100%!important;min-height:44px!important;
  padding:7px 11px!important;pointer-events:auto!important;
  background:#f4f8fb!important;border-top:1px solid #e2eaf0!important;
}
body .so-pub.so-directory-v111 .so-directory-card .so-directory-status {
  white-space:nowrap!important;font-size:10px!important;
}
@media (min-width:841px) and (max-width:1150px) {
  body .so-pub.so-directory-v111 .so-directory-card img.so-pub-photo,
  body .so-pub.so-directory-v111 .so-directory-card .so-pub-photo-fallback {
    height:335px!important;
  }
}
@media (min-width:531px) and (max-width:840px) {
  body .so-pub.so-directory-v111 .so-directory-card img.so-pub-photo,
  body .so-pub.so-directory-v111 .so-directory-card .so-pub-photo-fallback {
    height:355px!important;
  }
}
@media (max-width:530px) {
  body .so-pub.so-directory-v111 .so-directory-card .so-pub-photo-box {height:auto!important;}
  body .so-pub.so-directory-v111 .so-directory-card img.so-pub-photo,
  body .so-pub.so-directory-v111 .so-directory-card .so-pub-photo-fallback {
    height:355px!important;
  }
}
