.ukfm-local-page-template { background: #f7f8fb; }
.ukfm-local-page { max-width: 1480px; margin: 0 auto; padding: 2.25rem 1rem 4rem; }
.ukfm-local-page h1,.ukfm-local-page h2,.ukfm-local-page h3 { line-height: 1.2; }
.ukfm-module { margin: 0 0 1.5rem; padding: 1.5rem; border: 1px solid #e7eaf0; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(17,24,39,.04); }
.ukfm-hero { padding: 2rem; background: linear-gradient(180deg,#f8fbff 0%,#ffffff 100%); border-color:#dbe7f5; }
.ukfm-hero__lead,.ukfm-module p,.ukfm-module li,.ukfm-module dd,.ukfm-module dt { line-height: 1.7; }
.ukfm-hero__intro p:last-child { margin-bottom: 0; }
.ukfm-hero__intro-image { margin: 1rem 0; max-width: 720px; }
.ukfm-hero__intro-image img { display:block; width:100%; height:auto; border-radius: 14px; border:1px solid #e7eaf0; }
.ukfm-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.25rem; justify-content:center; align-items:center; }
.ukfm-actions .wp-block-button { margin:0; }
.ukfm-button-wrap .wp-block-button__link { text-decoration:none; }
.ukfm-primary-pill .wp-block-button__link { display:inline-flex; align-items:center; justify-content:center; }
.ukfm-secondary-pill .wp-block-button__link { display:inline-flex; align-items:center; justify-content:center; }
.ukfm-card-grid { display:grid; gap:1rem; }
.ukfm-card { padding:1rem; border-radius:12px; border:1px solid #e5e7eb; background:#f9fafb; }
.ukfm-solicitor-card h3,.ukfm-card h3 { margin-top:0; margin-bottom:.5rem; }
.ukfm-solicitor-meta { color:#374151; font-size:.88rem; margin-bottom:.55rem; }
.ukfm-solicitor-links { display:flex; flex-wrap:wrap; gap:.5rem .85rem; }
.ukfm-note { font-style:italic; }
.ukfm-fixed-content h2 + p { max-width: 1100px; }
.ukfm-fixed-columns { display:grid; gap:1rem; margin-top:1rem; }
.ukfm-fixed-columns--three { grid-template-columns: repeat(3, minmax(0,1fr)); }
.ukfm-fixed-columns--two { grid-template-columns: repeat(2, minmax(0,1fr)); }
.ukfm-fixed-card,.ukfm-fixed-step { padding:1rem; border-radius:14px; border:1px solid #e7eaf0; background:#fafbfc; }
.ukfm-fixed-card--voucher { background:#EAF3DE; border-left:4px solid #3B6D11; }
.ukfm-fixed-card--aid { background:#FAEEDA; border-left:4px solid #854F0B; }
.ukfm-fixed-card--separate { background:#E6F1FB; border-left:4px solid #185FA5; }
.ukfm-divider { border:0; border-top:1px solid #e7eaf0; margin:1.5rem 0; }
.ukfm-direct-route-box { margin-top:1rem; border:1px solid rgba(155,81,224,.18); border-radius:16px; background:linear-gradient(180deg, rgba(243,234,250,.55) 0%, rgba(255,255,255,.92) 100%); box-shadow:0 6px 18px rgba(0,0,0,.04); padding:1.15rem; }
.ukfm-direct-route-box__intro { margin-top:0; }
.ukfm-court-inline { margin-top:1rem; padding-top:1rem; border-top:1px solid rgba(155,81,224,.18); }
.ukfm-court-inline__card-wrap { margin-top:.75rem; }
.ukfm-court-inline__card { width: fit-content; max-width: 420px; padding:1rem; border-radius:12px; border:1px solid #e7eaf0; background:#fff; }
.ukfm-solicitor-grid { grid-template-columns: repeat(5, minmax(0,1fr)); gap:12px; }
.ukfm-solicitor-card { padding:12px; }
.ukfm-solicitor-card h3 { font-size:15px; line-height:1.25; margin-bottom:8px; }
.ukfm-solicitor-card .ukfm-solicitor-meta,.ukfm-solicitor-card .ukfm-solicitor-links a { font-size:13px; line-height:1.35; }
.ukfm-related-help { margin-bottom:0; }
@media (max-width: 1200px) {
  .ukfm-fixed-columns--three { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ukfm-solicitor-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 781px) {
  .ukfm-local-page { padding-top:1rem; }
  .ukfm-module,.ukfm-hero { padding:1.2rem; }
  .ukfm-fixed-columns--three,.ukfm-fixed-columns--two,.ukfm-solicitor-grid { grid-template-columns:1fr; }
  .ukfm-actions { justify-content:center; }
  .ukfm-primary-pill,.legal-aid-pill,.advisor-pill { display:flex; justify-content:center; width:100%; }
  .ukfm-primary-pill .wp-block-button__link,.legal-aid-pill .wp-block-button__link,.advisor-pill .wp-block-button__link { width:min(100%,320px); display:inline-flex; align-items:center; justify-content:center; text-align:center; }
}

.ukfm-court-inline .ukfm-note { margin-top: .75rem; }


.ukfm-locations-hub { margin-top: 1.5rem; }
.ukfm-locations-hub__intro { margin-top: 0; margin-bottom: 1rem; }
.ukfm-locations-hub__accordion { display: grid; gap: 1rem; }
.ukfm-region-accordion { border: 1px solid #e7eaf0; border-radius: 16px; background: #fff; overflow: hidden; }
.ukfm-region-accordion__summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.2rem; cursor: pointer; font-weight: 600; }
.ukfm-region-accordion__summary::-webkit-details-marker { display: none; }

.ukfm-region-accordion__title-wrap { min-width: 0; }
.ukfm-region-accordion__title-link { color: inherit; text-decoration: none; }
.ukfm-region-accordion__title-link:hover,
.ukfm-region-accordion__title-link:focus { text-decoration: underline; }
.ukfm-region-accordion__count { min-width: 2rem; height: 2rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: #f3f4f6; color: #111827; font-size: .9rem; }
.ukfm-region-accordion__body { padding: 0 1.2rem 1.1rem; }
.ukfm-region-accordion__links { margin: 0; padding-left: 1.15rem; columns: 2; column-gap: 2rem; }
.ukfm-region-accordion__links li { break-inside: avoid; margin: 0 0 .45rem; }
.ukfm-region-accordion__links a { text-decoration: none; }
.ukfm-region-accordion__links a:hover, .ukfm-region-accordion__links a:focus { text-decoration: underline; }
@media (max-width: 781px) {
  .ukfm-region-accordion__links { columns: 1; }
}


.ukfm-region-links { margin-top: 1.5rem; }
.ukfm-region-links__header { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:1rem; }
.ukfm-region-links__title { margin:0; }
.ukfm-region-links__count { margin:0; color:#5b6671; font-size:.95rem; }
.ukfm-region-links__intro { margin-top:0; margin-bottom:1rem; }
.ukfm-region-links__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem; }
.ukfm-region-links__item { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.1rem; border:1px solid #dbe7f5; border-radius:14px; background:#f8fbff; color:#12324a; text-decoration:none; transition:all .18s ease; }
.ukfm-region-links__item:hover, .ukfm-region-links__item:focus { background:#ffffff; border-color:#185FA5; color:#0f2740; box-shadow:0 6px 18px rgba(24,95,165,.08); text-decoration:none; transform:translateY(-1px); }
.ukfm-region-links__item-label { font-weight:600; line-height:1.35; }
.ukfm-region-links__item-arrow { font-size:1.05rem; opacity:.8; }
@media (max-width: 781px) {
  .ukfm-region-links__grid { grid-template-columns:1fr; }
}


/* Stronger UKFM region directory styling */
.entry-content .ukfm-region-links,
.ukfm-region-links {
  display:block !important;
  margin-top:1.5rem !important;
}
.entry-content .ukfm-region-links__header,
.ukfm-region-links__header {
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:1rem !important;
  flex-wrap:wrap !important;
  margin-bottom:1rem !important;
}
.entry-content .ukfm-region-links__grid,
.ukfm-region-links__grid {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:.9rem !important;
  align-items:stretch !important;
}
.entry-content .ukfm-region-links__item,
.ukfm-region-links__item {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:1rem !important;
  width:100% !important;
  min-height:72px !important;
  box-sizing:border-box !important;
  padding:1rem 1.1rem !important;
  border:1px solid #dbe7f5 !important;
  border-radius:14px !important;
  background:#f8fbff !important;
  color:#12324a !important;
  text-decoration:none !important;
  line-height:1.35 !important;
  transition:all .18s ease !important;
}
.entry-content .ukfm-region-links__item:hover,
.entry-content .ukfm-region-links__item:focus,
.ukfm-region-links__item:hover,
.ukfm-region-links__item:focus {
  background:#ffffff !important;
  border-color:#185FA5 !important;
  color:#0f2740 !important;
  box-shadow:0 6px 18px rgba(24,95,165,.08) !important;
  text-decoration:none !important;
  transform:translateY(-1px);
}
.entry-content .ukfm-region-links__item-label,
.ukfm-region-links__item-label {
  display:block !important;
  font-weight:600 !important;
}
.entry-content .ukfm-region-links__item-arrow,
.ukfm-region-links__item-arrow {
  display:inline-block !important;
  flex:0 0 auto !important;
  font-size:1.05rem !important;
  opacity:.8 !important;
}
@media (max-width: 781px) {
  .entry-content .ukfm-region-links__grid,
  .ukfm-region-links__grid {
    grid-template-columns:1fr !important;
  }
}
