/* =========================
   CONTENT / INFO PAGES
   ========================= */

.contentGrid{
  padding:12px 0 24px;
}
@media (max-width: 980px){
  .contentGrid{ grid-template-columns:1fr; }
}

.sideNav{
  border:1px solid var(--line);
  border-radius:var(--radius2);
  background:#fff;
  box-shadow:var(--shadow);
  padding:12px;
  position:sticky;
  top:calc(var(--header-h) + 10px);
  align-self:start;
}
@media (max-width: 980px){
  .sideNav{ position:static; top:auto; }
}

.sideNav h3{
  margin:0 0 10px;
  font-size:15px;
}
.sideNav a{
  display:block;
  padding:10px 12px;
  border-radius:12px;
  color:#111827;
}
.sideNav a:hover{
  background:rgba(14,165,233,.08);
}
.sideNav a.active{
  background:rgba(14,165,233,.10);
  font-weight:900;
  color:#0b4a6f;
}

.contentPage{
  border:1px solid var(--line);
  border-radius:var(--radius2);
  background:#fff;
  box-shadow:var(--shadow);
  padding:18px;
}
.contentPage h2{
  margin:0 0 12px;
  font-size:22px;
  letter-spacing:-.3px;
}
.contentPage h3{
  margin:20px 0 10px;
  font-size:17px;
}
.contentPage p{
  margin:0 0 12px;
  line-height:1.6;
  color:#111827;
}
.contentPage ul{
  margin:0 0 14px 20px;
  color:#111827;
  line-height:1.6;
}
.contentPage li{ margin-bottom:6px; }

.infoCards{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:12px;
  margin:14px 0;
}
@media (max-width: 900px){
  .infoCards{ grid-template-columns:1fr; }
}
.infoCard{
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px;
  background:#fff;
}
.infoCard b{
  display:block;
  margin-bottom:6px;
}
.infoCard small{
  display:block;
  color:var(--muted);
  line-height:1.5;
}

.contactGrid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 900px){
  .contactGrid{ grid-template-columns:1fr; }
}

.contactCard{
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px;
  background:#fff;
}
.contactCard h4{
  margin:0 0 8px;
  font-size:16px;
}
.contactCard p{
  margin:0 0 8px;
}
.contactCard .muted{
  color:var(--muted);
  font-size:13px;
}

.tableWrap{
  overflow:auto;
  margin:12px 0 16px;
}
.infoTable{
  width:100%;
  min-width:680px;
  border-collapse:separate;
  border-spacing:0;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
}
.infoTable th,
.infoTable td{
  padding:12px;
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:top;
}
.infoTable th{
  background:#f8fafc;
  font-size:13px;
}
.infoTable tr:last-child td{ border-bottom:0; }

.docMeta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:10px 0 16px;
}
.docMeta .badge{
  background:#f3f4f6;
  color:#374151;
}

.anchorLinks{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:10px 0 14px;
}
.anchorLinks a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--line);
  border-radius:999px;
  padding:8px 12px;
  background:#fff;
  color:#111827;
}
.anchorLinks a:hover{
  box-shadow:var(--shadow);
}

.mapPlaceholder{
  border:1px solid var(--line);
  border-radius:18px;
  min-height:260px;
  background:
    linear-gradient(135deg, rgba(14,165,233,.08), rgba(6,182,212,.08)),
    repeating-linear-gradient(
      45deg,
      rgba(255,255,255,.35),
      rgba(255,255,255,.35) 12px,
      rgba(255,255,255,.18) 12px,
      rgba(255,255,255,.18) 24px
    );
  display:grid;
  place-items:center;
  text-align:center;
  color:#0b4a6f;
  padding:16px;
}

.highlightBox{
  border:1px dashed rgba(14,165,233,.5);
  background:rgba(14,165,233,.06);
  border-radius:18px;
  padding:14px;
  margin:14px 0;
}

.legalBox{
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px;
  background:#fafafa;
  margin:12px 0;
}