/* ============================================================
   THEME — Meridian
   A confident, product-grade look for a full-width directory.

   Deep petrol-teal ground for chrome, warm amber for action, cool
   near-white workspace. Soft-edged cards with real elevation replace
   the hairline-rule treatment; type gets heavier and tighter.

   Loaded AFTER site.css: only redefines tokens, plus a small number of
   component overrides where a token alone cannot carry the change.
   ============================================================ */

:root{
  /* ---- Ink: cool, slightly blue-biased greys ---- */
  --ink:#0E1A20;
  --ink-2:#26383F;
  --ink-3:#41545C;
  --muted:#6A7F88;
  --faint:#9BAEB6;

  /* ---- Ground: cool near-white, not paper-warm ---- */
  --paper:#FFFFFF;
  --paper-2:#F2F6F7;
  --paper-3:#E6EDEF;

  /* ---- Rules ---- */
  --rule:#DCE5E8;
  --rule-2:#EBF1F2;
  --rule-strong:#0E1A20;

  /* ---- Accent: warm amber against the teal ---- */
  --accent:#C9761B;
  --accent-dark:#A65E11;
  --accent-tint:#FDF3E7;
  --accent-line:#F0DCC1;
  --accent-rgb:201,118,27;

  --on-accent:#FFFFFF;
  --control-line:#BFCED3;
  --scroll-thumb:#CBD9DD;
  --scroll-thumb-hover:#A9BEC4;

  /* ---- Semantic, pulled toward the cool palette ---- */
  --ok:#1E7A5A;      --ok-bg:#EAF6F1;   --ok-line:#BFE2D4;   --ok-dark:#155B43;
  --warn:#9A6510;    --warn-bg:#FDF4E6;  --warn-line:#F0DCBB;
  --bad:#B23A2F;     --bad-bg:#FBEEEC;   --bad-line:#F0CFCA;  --bad-dark:#8C2A21;

  /* ---- Metrics: softer, roomier, elevated ---- */
  --radius:10px;
  --radius-lg:16px;
  --radius-sm:8px;
  --gut:clamp(1rem,3.5vw,3rem);
  --wrap-max:100%;
  --shadow-1:0 1px 2px rgba(14,26,32,.06), 0 1px 1px rgba(14,26,32,.04);
  --shadow-2:0 18px 44px rgba(14,26,32,.14);
  --shadow-3:0 5px 10px rgba(14,26,32,.14);

  /* Theme-local: the dark chrome colour used by masthead + footer. */
  --chrome:#0E2A33;
  --chrome-2:#14404D;
  --chrome-ink:#DCE9ED;
  --chrome-faint:#7FA0AC;
}

/* ============================================================
   CHROME — dark masthead, dark footer, full-bleed
   ============================================================ */
.masthead{background:var(--paper);border-bottom:0;box-shadow: var(--shadow-1);}
.masthead__strip{
  background:var(--chrome-2);border-bottom:0;color:var(--chrome-faint);
}
.masthead__strip a{color:var(--chrome-faint);}
.masthead__strip a:hover{color:var(--on-accent);}
.masthead__bar{padding:0.75rem 0;}
/* Same white-masthead correction as the burger below: a site with no logo
   image falls back to its name as text, which was white on white. */
.masthead__brand{color:var(--ink);font-weight:700;letter-spacing:-.03em;}
.masthead__brand span{color:var(--accent);}
.masthead__brand small{color:var(--muted);}
.masthead__nav a{color:var(--ink);font-weight:500;border-radius:var(--radius-sm);}
.masthead__nav a:hover{color:var(--accent);}
.masthead__nav a.is-active{color:var(--accent);}
.masthead__nav a.is-active::after{background:var(--accent);left:.7rem;right:.7rem;bottom:.1rem;height:2px;border-radius:2px;}
.masthead__cta{
  background:var(--accent);border-color:var(--accent);color:var(--on-accent) !important;
  border-radius:var(--radius-sm);font-weight:600;
}
.masthead__cta:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:var(--on-accent);}
/* The masthead is white in this theme (see .masthead above), so the burger
   follows the nav's ink. It was left at white-on-white from the dark-chrome
   original, which made the mobile menu button invisible. */
.masthead__burger{border-color:var(--rule);color:var(--ink);}
.masthead__burger:hover{border-color:var(--accent);color:var(--accent);}
.mh-drop__panel{
  background:var(--paper);border:0;border-radius:var(--radius);
  box-shadow:var(--shadow-2);padding:.6rem;
}
@media(max-width:991.98px){
  /* The masthead is white, so the drop-down nav panel is white as well. */
  .masthead__nav{background:var(--paper);border-bottom:0;box-shadow:var(--shadow-2);}
  .masthead__nav a{border-bottom-color:var(--rule);color:var(--ink);}
  .mh-drop__panel{background:transparent;box-shadow:none;}
  .mh-drop__panel a{color:var(--ink-3);}
}

/* White footer to match the white masthead — a hairline rule instead of a
   colour change is what separates it from the page. */
.foot{background:var(--paper);border-top:1px solid var(--rule);color:var(--muted);}
.foot__brand{color:var(--ink);}
.foot__brand span{color:var(--accent);}
.foot__about{color:var(--muted);}
.foot h6{color:var(--ink);}
.foot a{color:var(--ink-3);}
.foot a:hover{color:var(--accent);}
.foot__social a{border-color:var(--rule);color:var(--ink-3);background:var(--paper);}
.foot__social a:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent);}
.foot__bottom{border-top-color:var(--rule);color:var(--muted);}

/* ============================================================
   SURFACES — cards with elevation, not hairlines
   ============================================================ */
.rtl-card,.card{border-color:var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-1);}

.dir{border-top:0;display:grid;gap:.85rem;}
.dir__row{
  background:var(--paper);border:1px solid var(--rule);border-bottom:1px solid var(--rule);
  border-radius:var(--radius);padding:1.15rem 1.25rem;box-shadow:var(--shadow-1);
  transition:box-shadow .16s ease,transform .16s ease,border-color .16s ease;
}
.dir__row:hover{
  background:var(--paper);border-color:var(--accent-line);
  box-shadow:var(--shadow-2);transform:translateY(-2px);
}
.dir__avatar{border-radius:var(--radius-sm);}
.dir__area{
  border-radius:999px;background:var(--paper-2);border-color:transparent;
  color:var(--ink-3);text-transform:none;letter-spacing:0;font-size:.75rem;
}
.dir__verify{
  background:var(--ok-bg);color:var(--ok);border-radius:999px;
  padding:.15rem .55rem;letter-spacing:.04em;
}

.index{border-top:0;}
.index__row{
  border-bottom:0;background:var(--paper);border:1px solid var(--rule);
  border-radius:var(--radius);padding:.85rem 1rem;margin-bottom:.5rem;
  transition:border-color .16s,box-shadow .16s,transform .16s;
}
.index__row:hover{
  background:var(--paper);padding-left:1rem;border-color:var(--accent-line);
  box-shadow:var(--shadow-1);transform:translateY(-1px);
}
.index--2col{column-gap:.75rem;}

.teaser{
  border-top:0;background:var(--paper);border:1px solid var(--rule);
  border-radius:var(--radius);padding:1.35rem;box-shadow:var(--shadow-1);
  transition:box-shadow .16s,transform .16s;
}
.teaser:hover{box-shadow:var(--shadow-2);transform:translateY(-2px);}

.figures{background:var(--paper-2);border-color:var(--rule);}
.figures__item{border-right-color:var(--rule);padding-left:1rem;}
.figures__item b{color:var(--accent);}

/* ============================================================
   TYPE — heavier and tighter than the rule-based default
   ============================================================ */
.display{font-weight:800;letter-spacing:-.04em;}
.display em{font-style:normal;color:var(--accent);}
h1,.h1,h2,.h2{font-weight:700;}
.kicker{
  color:var(--accent);letter-spacing:.14em;background:var(--accent-tint);
  display:inline-block;padding:.3rem .7rem;border-radius:999px;margin-bottom:1rem;
}
.section-head{border-top:0;padding-top:0;align-items:center;}
.section-head__more{
  border-bottom:0;background:var(--paper-2);border-radius:999px;
  padding:.35rem .85rem;color:var(--ink-2);font-weight:600;
}
.section-head__more:hover{background:var(--accent);color:var(--on-accent);}

/* ============================================================
   CONTROLS
   ============================================================ */
.btn{border-radius:var(--radius-sm);font-weight:600;}
.btn-ink,.btn-gold,.btn-navy,.btn-primary,.btn-dark{
  background:var(--accent);border-color:var(--accent);color:var(--on-accent);
}
.btn-ink:hover,.btn-gold:hover,.btn-navy:hover,.btn-primary:hover,.btn-dark:hover,
.btn-ink:focus,.btn-gold:focus,.btn-navy:focus{
  background:var(--accent-dark);border-color:var(--accent-dark);color:var(--on-accent);
}
.btn-line,.btn-outline-navy,.btn-outline-dark,.btn-outline-light,.btn-outline-primary,.btn-outline-secondary{
  border-color:var(--rule);color:var(--ink);background:var(--paper);
}
.btn-line:hover,.btn-outline-navy:hover,.btn-outline-dark:hover,.btn-outline-light:hover{
  background:var(--ink);border-color:var(--ink);color:var(--on-accent);
}

.searchbar{
  border:0;border-radius:var(--radius);box-shadow:var(--shadow-3);
  background:var(--paper);padding:.3rem;
}
.searchbar input{border-radius:var(--radius-sm);}
.searchbar input + input{border-left:1px solid var(--rule);}
.searchbar button{
  background:var(--accent);border-radius:var(--radius-sm);color:var(--on-accent);
}
.searchbar button:hover{background:var(--accent-dark);}

.fconsole{background:var(--paper-2);border-top:0;border-bottom:1px solid var(--rule);}
.ffield input,.ffield select{border-radius:var(--radius-sm);}
.fconsole__go{background:var(--accent);border-radius:var(--radius-sm);}
.fconsole__go:hover{background:var(--accent-dark);}
.fpill span{border-radius:999px;}
.fpill input:checked + span{background:var(--accent);border-color:var(--accent);color:var(--on-accent);}
.chipx{background:var(--ink);border-radius:999px;}
.tagstate{border-radius:999px;}
a.tagstate.is-active{background:var(--accent);border-color:var(--accent);color:var(--on-accent);}

.rail{border-top:0;background:var(--paper);border:1px solid var(--rule);
  border-radius:var(--radius);padding:1.1rem 1.15rem;box-shadow:var(--shadow-1);}
.rail__group{border-bottom-color:var(--rule-2);}

.leadform{
  border-top:0;background:var(--paper);border:1px solid var(--rule);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-2);padding:1.6rem 1.5rem;
}
.leadform__btn{background:var(--accent);border-radius:var(--radius-sm);}
.leadform__btn:hover{background:var(--accent-dark);}
.leadform__input{border-radius:var(--radius-sm);}

.lawtable thead th{border-bottom-color:var(--rule);}
.lawtable tbody tr:hover{background:var(--paper-2);}

.faq .accordion-item{
  border:1px solid var(--rule);border-radius:var(--radius)!important;
  margin-bottom:.6rem;background:var(--paper);box-shadow:var(--shadow-1);
}
.faq .accordion-button{padding:1rem 1.15rem;}
.faq .accordion-body{padding:0 1.15rem 1.15rem;}

.pagehead{background:var(--paper-2);border-bottom:1px solid var(--rule);}
.opener{background:var(--paper);}
.empty{border-top:0;background:var(--paper-2);border-radius:var(--radius-lg);}

.wa-float,.scroll-top{border-radius:50%;}
.wa-float{background:var(--accent);}
.wa-float:hover{background:var(--accent-dark);}

/* Search box + latest-profile cards */
.searchbox__panel{border:0;border-radius:var(--radius-lg);}
.searchbox__tags a{border-radius:999px;background:var(--paper-2);border-color:transparent;}
.searchbox__tags a:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent);}
.profile-card{box-shadow:var(--shadow-1);}
.profile-card:hover{box-shadow:var(--shadow-2);}
.profile-card__av{border-radius:var(--radius-sm);}
.profile-card__tags span{background:var(--paper-2);border-color:transparent;}
