/* ============================================================
   PHB Lab Directory — scoped styles (#phb-lab)
   Hardcoded hex (no CSS custom properties at WP boundary)
   ============================================================ */
#phb-lab *,#phb-lab *::before,#phb-lab *::after{box-sizing:border-box;}
#phb-lab{
  font-family:'Source Sans 3',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:#0d2b4e;line-height:1.5;max-width:1180px;margin:0 auto;padding:8px 16px 48px;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
#phb-lab a{text-decoration:none;color:inherit;box-shadow:none;}
#phb-lab p{margin:0;}

/* ---- masthead ---- */
#phb-lab .lab-eyebrow{
  font-family:'Source Sans 3',sans-serif;font-size:12px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:#1d9e75;margin-bottom:6px;
}
#phb-lab .lab-title{
  font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:40px;line-height:1.08;
  color:#0d2b4e;margin:0 0 12px;
}
#phb-lab .lab-sub{font-size:16px;color:#5a6b7b;max-width:680px;margin-bottom:20px;}
#phb-lab .lab-sub strong{color:#0d2b4e;font-weight:600;}

/* ---- stat chips ---- */
#phb-lab .lab-stats{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;}
#phb-lab .lab-stat{
  display:flex;align-items:baseline;gap:7px;background:#fff;border:1px solid #e3e8ee;
  border-radius:10px;padding:9px 15px;
}
#phb-lab .lab-stat b{font-family:'Playfair Display',serif;font-size:20px;color:#0d2b4e;font-weight:700;}
#phb-lab .lab-stat span{font-size:12.5px;color:#5a6b7b;text-transform:uppercase;letter-spacing:.06em;font-weight:600;}

/* ---- control bar ---- */
#phb-lab .lab-controls{
  position:-webkit-sticky;position:sticky;top:0;z-index:20;
  background:rgba(247,249,251,.94);backdrop-filter:saturate(150%) blur(8px);
  -webkit-backdrop-filter:saturate(150%) blur(8px);
  padding:14px 0 12px;margin-bottom:18px;border-bottom:1px solid #e3e8ee;
}
#phb-lab .lab-searchwrap{position:relative;margin-bottom:12px;}
#phb-lab .lab-searchwrap svg{
  position:absolute;left:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#9aa7b4;
}
#phb-lab .lab-search{
  width:100%;font-family:inherit;font-size:16px;color:#0d2b4e;
  padding:13px 16px 13px 44px;border:1.5px solid #d6dde5;border-radius:12px;background:#fff;
  outline:none;transition:border-color .15s,box-shadow .15s;
}
#phb-lab .lab-search::placeholder{color:#9aa7b4;}
#phb-lab .lab-search:focus{border-color:#1d9e75;box-shadow:0 0 0 3px rgba(29,158,117,.16);}

#phb-lab .lab-pills{display:flex;flex-wrap:wrap;gap:8px;}
#phb-lab .lab-pill{
  display:inline-flex;align-items:center;gap:7px;cursor:pointer;user-select:none;
  font-family:inherit;font-size:13.5px;font-weight:600;color:#0d2b4e;
  background:#fff;border:1.5px solid #d6dde5;border-radius:999px;padding:6px 14px;
  transition:all .15s;line-height:1.2;
}
#phb-lab .lab-pill:hover{border-color:#1d9e75;color:#1d9e75;}
#phb-lab .lab-pill .ct{
  font-size:11.5px;font-weight:700;color:#5a6b7b;background:#eef2f6;
  border-radius:999px;padding:1px 8px;transition:all .15s;
}
#phb-lab .lab-pill.is-active{background:#0d2b4e;border-color:#0d2b4e;color:#fff;}
#phb-lab .lab-pill.is-active .ct{background:#1d9e75;color:#fff;}

/* ---- domain sections ---- */
#phb-lab .lab-domain{margin-bottom:34px;}
#phb-lab .lab-domain.is-hidden{display:none;}
#phb-lab .lab-domain-head{
  display:flex;align-items:center;gap:12px;margin-bottom:16px;
  border-bottom:3px solid #1d9e75;padding-bottom:9px;
}
#phb-lab .lab-domain-head h3{
  font-family:'Playfair Display',serif;font-weight:700;font-size:22px;color:#0d2b4e;margin:0;
}
#phb-lab .lab-domain-head .ct{
  font-size:12px;font-weight:700;color:#1d9e75;background:#e7f5ef;border-radius:999px;padding:2px 11px;
}

/* ---- card grid ---- */
#phb-lab .lab-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:13px;
}
#phb-lab .lab-card{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:#fff;border:1px solid #e3e8ee;border-left:4px solid #cdd6df;
  border-radius:12px;padding:15px 16px;min-height:66px;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
  will-change:transform;
}
#phb-lab .lab-card.is-hidden{display:none;}
#phb-lab .lab-card:hover{
  transform:translateY(-3px);box-shadow:0 10px 24px -10px rgba(13,43,78,.28);
  border-left-color:#1d9e75;border-color:#cfe6dc;
}
#phb-lab .lab-card-name{font-size:15px;font-weight:600;color:#0d2b4e;line-height:1.28;}
#phb-lab .lab-card-tag{
  display:block;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  color:#8a97a4;margin-top:4px;
}
#phb-lab .lab-card .arr{
  flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:#f0f4f8;
  display:flex;align-items:center;justify-content:center;color:#0d2b4e;
  transition:background .16s,color .16s,transform .16s;
}
#phb-lab .lab-card:hover .arr{background:#1d9e75;color:#fff;transform:translateX(2px);}
#phb-lab .lab-card .arr svg{width:15px;height:15px;}

/* accent per domain */
#phb-lab .lab-card[data-accent="navy"]:hover{border-left-color:#0d2b4e;}
#phb-lab .lab-card[data-accent="gold"]:hover{border-left-color:#ba7517;}
#phb-lab .lab-card[data-accent="gold"]:hover .arr{background:#ba7517;}
#phb-lab .lab-card[data-accent="teal"]:hover{border-left-color:#1d9e75;}

/* ---- empty state ---- */
#phb-lab .lab-empty{
  display:none;text-align:center;padding:48px 20px;color:#5a6b7b;
  background:#fff;border:1px dashed #d6dde5;border-radius:14px;
}
#phb-lab .lab-empty.is-shown{display:block;}
#phb-lab .lab-empty b{display:block;font-family:'Playfair Display',serif;font-size:20px;color:#0d2b4e;margin-bottom:6px;}

/* ---- live count ---- */
#phb-lab .lab-count{font-size:13px;color:#5a6b7b;font-weight:600;margin:-6px 0 16px;}
#phb-lab .lab-count b{color:#1d9e75;}

@media (max-width:560px){
  #phb-lab{padding:8px 12px 40px;}
  #phb-lab .lab-title{font-size:30px;}
  #phb-lab .lab-grid{grid-template-columns:1fr;}
}
