/* CLRBD Stage 1 — Service hierarchy navigation
   Scope: Services directory only. No changes to CMS/data/forms/tracking. */

.service-hierarchy-shell[hidden],
.service-browser-panel[hidden],
.service-list-stage[hidden]{display:none!important}

.service-hierarchy-shell{
  margin-top:28px;
  scroll-margin-top:128px;
}

.service-browser-empty{
  display:flex;
  align-items:center;
  gap:16px;
  padding:22px 24px;
  border:1px solid #d9dfe6;
  border-radius:16px;
  background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);
  box-shadow:0 10px 28px rgba(7,29,53,.06);
  color:#071d35;
}
.service-browser-empty-icon{
  width:44px;height:44px;flex:0 0 44px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#071d35;color:#d6a63a;
  font-size:22px;font-weight:800;
}
.service-browser-empty b{display:block;font-size:18px;line-height:1.3}
.service-browser-empty p{margin:5px 0 0;color:#66717d;line-height:1.55}

.service-browser-panel{
  border:1px solid #dbe1e7;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 14px 34px rgba(7,29,53,.075);
}
.service-browser-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
  padding:24px 26px;
  background:linear-gradient(135deg,#071d35 0%,#0d2b4b 100%);
  color:#fff;
}
.service-browser-copy{min-width:0}
.service-browser-breadcrumb{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin-bottom:10px;
  color:#d7e0e8;
  font-size:12px;
  letter-spacing:.02em;
}
.service-browser-breadcrumb b{color:#f1c65f;font-weight:700}
.service-browser-breadcrumb i{font-style:normal;color:#8fa1b4}
.service-browser-title,#service-browser-title{
  margin:0;
  font-size:clamp(25px,3vw,36px);
  line-height:1.14;
  color:#fff;
}
#service-browser-help{margin:8px 0 0;max-width:760px;color:#d6dfe7;line-height:1.6}
.service-browser-all{
  flex:0 0 auto;
  border-color:rgba(255,255,255,.45)!important;
  color:#fff!important;
  background:transparent!important;
}
.service-browser-all:hover{background:#fff!important;color:#071d35!important}

.service-stage-number{
  width:36px;height:36px;flex:0 0 36px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#d6a63a;
  color:#071d35;
  font-weight:800;
  font-size:14px;
  box-shadow:0 4px 12px rgba(214,166,58,.22);
}
.service-stage-number-small{width:24px;height:24px;flex-basis:24px;font-size:11px}
.service-stage-heading{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.service-stage-heading small{display:block;color:#8a671e;font-size:10px;font-weight:800;letter-spacing:.13em;margin-bottom:2px}
.service-stage-heading h4{margin:0;color:#071d35;font-size:20px;line-height:1.25}
.service-stage-heading-inline{margin:0}

.service-subcategory-wrap{padding:24px 26px 28px;background:#fbfcfd}
.service-subcategory-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
}
.service-subcategory-card{
  appearance:none;
  width:100%;
  border:1px solid #dce2e8;
  border-radius:13px;
  background:#fff;
  padding:14px 15px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  text-align:left;
  color:#071d35;
  cursor:pointer;
  box-shadow:0 5px 14px rgba(7,29,53,.035);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease;
}
.service-subcategory-card:hover{
  transform:translateY(-2px);
  border-color:#caa14b;
  box-shadow:0 9px 20px rgba(7,29,53,.075);
}
.service-subcategory-card.is-active{
  border-color:#d6a63a;
  background:#fffaf0;
  box-shadow:0 0 0 2px rgba(214,166,58,.12),0 9px 22px rgba(7,29,53,.07);
}
.service-subcategory-index{
  width:32px;height:32px;display:grid;place-items:center;
  border-radius:9px;
  background:#eef2f6;
  color:#536272;
  font-size:11px;font-weight:800;
}
.service-subcategory-card.is-active .service-subcategory-index{background:#071d35;color:#f2c760}
.service-subcategory-copy{min-width:0}
.service-subcategory-copy b{display:block;font-size:14px;line-height:1.32;overflow-wrap:anywhere}
.service-subcategory-copy small{display:block;margin-top:4px;color:#77818b;font-size:11px}
.service-subcategory-arrow{font-size:18px;color:#b78a2e;font-weight:700}

.service-list-stage{
  padding:24px 26px 30px;
  border-top:1px solid #e4e8ed;
  background:#fff;
  scroll-margin-top:128px;
}
.service-list-stage-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
.service-back-link{
  appearance:none;
  border:0;
  background:transparent;
  color:#526171;
  padding:8px 0;
  display:inline-flex;align-items:center;gap:7px;
  font-weight:700;
  cursor:pointer;
}
.service-back-link:hover{color:#071d35}

.service-internal-select{display:none!important}
.service-toolbar.service-toolbar-hierarchy{
  position:static!important;
  top:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  margin:0 0 10px!important;
  padding:10px!important;
  border-radius:13px!important;
  background:#f6f8fa!important;
  border:1px solid #e0e5ea!important;
  box-shadow:none!important;
}
.service-toolbar-hierarchy .search-box{min-width:0!important}
.service-toolbar-hierarchy .popular-toggle{white-space:nowrap;background:#fff!important}

.service-grid.service-grid-hierarchy{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:13px!important;
}
.service-card.service-card-hierarchy{
  min-height:205px!important;
  padding:16px!important;
  border-radius:14px!important;
  display:flex!important;
  flex-direction:column!important;
}
.service-card-topline{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  margin-bottom:10px;
}
.service-card-number{
  min-width:29px;height:24px;padding:0 6px;
  display:inline-grid;place-items:center;
  border-radius:7px;
  background:#071d35;
  color:#efc45d;
  font-size:10px;font-weight:800;
}
.service-card-hierarchy h3{margin-top:0!important}
.service-card-hierarchy p{flex:1}
.service-view-details{
  margin-top:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  width:100%;
  padding-top:10px!important;
  border-top:1px solid #e7eaee!important;
}
.service-view-details i{font-style:normal;font-size:17px;color:#b7892d}

.category-card.category-card-media.is-active .category-media{
  outline:3px solid #d6a63a!important;
  outline-offset:2px;
  box-shadow:0 5px 18px rgba(7,29,53,.12)!important;
}
.category-card.category-card-media.is-active .category-title{
  color:#8e6517!important;
  font-weight:700!important;
}

.service-detail-hero small{display:block;margin-bottom:8px}
.service-detail-section{position:relative}
.service-detail-section-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.service-detail-section-title>span{
  width:30px;height:30px;flex:0 0 30px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#071d35;color:#edc15a;
  font-size:12px;font-weight:800;
}
.service-detail-section-title h3{margin:0!important}
.service-detail-documents{background:#fbf8f0;border-radius:12px;padding:18px!important}
.service-detail-next{border-top:1px solid #e2e6ea}

@media(max-width:1050px){
  .service-subcategory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-grid.service-grid-hierarchy{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .service-browser-top{display:block;padding:20px}
  .service-browser-all{margin-top:16px;width:100%}
  .service-subcategory-wrap,.service-list-stage{padding:20px}
  .service-subcategory-grid{grid-template-columns:1fr}
  .service-list-stage-head{display:block}
  .service-stage-heading-inline{margin-top:8px}
  .service-toolbar.service-toolbar-hierarchy{grid-template-columns:1fr!important}
  .service-toolbar-hierarchy .popular-toggle{width:100%;justify-content:flex-start}
  .service-grid.service-grid-hierarchy{grid-template-columns:1fr!important}
}
@media(max-width:520px){
  .service-browser-empty{align-items:flex-start;padding:18px}
  .service-browser-empty b{font-size:16px}
  .service-subcategory-wrap,.service-list-stage{padding:16px}
  .service-subcategory-card{padding:13px 12px}
  .service-stage-heading h4{font-size:18px}
}
@media(prefers-reduced-motion:reduce){
  .service-subcategory-card{transition:none}
  .service-subcategory-card:hover{transform:none}
}

/* 2026-08-16: service price display; empty admin fee becomes Negotiable */
.service-card-fee{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 2px;padding:10px 12px;border:1px solid rgba(128,21,30,.16);border-radius:10px;background:#faf6f6}.service-card-fee small{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.service-card-fee strong{color:#82141d;font-size:13px}.service-modal-fee{display:inline-flex;align-items:baseline;gap:10px;margin-top:15px;padding:9px 12px;border-radius:10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18)}.service-modal-fee small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.8}.service-modal-fee strong{font-size:15px}
