/*
Theme Name: JBLF
Theme URI: https://www.attorneyjohnbrown.com
Author: John Brown Law Firm
Description: Custom block theme for John Brown Law Firm — personal injury lawyers serving Georgia and South Carolina. Conversion-focused layouts, brand fonts, sticky mobile call bar, lead forms (Go High Level + email), and legal-service structured data.
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.0.3
License: Proprietary
Text Domain: jblf
*/

/* Most styling lives in theme.json. These rules cover what theme.json cannot express. */

:root { scroll-behavior: smooth; }
img { height: auto; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
	outline: 3px solid var(--wp--preset--color--gold);
	outline-offset: 2px;
}

/* Header */
.jblf-header { position: sticky; top: 0; z-index: 50; box-shadow: 0 1px 0 var(--wp--preset--color--line); }
.admin-bar .jblf-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .jblf-header { top: 46px; } }
.jblf-header .wp-block-navigation a { text-decoration: none; }
.jblf-phone-link { line-height: 1.15; text-align: right; }
.jblf-phone-link small { display: block; font-size: 11px; font-weight: 700; letter-spacing: 1px; color: var(--wp--preset--color--muted); }
.jblf-phone-link a { font-weight: 800; font-size: 19px; color: var(--wp--preset--color--indigo); text-decoration: none; }
@media (max-width: 900px) { .jblf-hide-mobile { display: none !important; } }

/* Hero portrait */
.jblf-arch img { border-radius: 240px 240px 0 0; aspect-ratio: 1 / 1.12; object-fit: cover; object-position: center top; width: 100%; }
.jblf-arch-wrap { position: relative; }
.jblf-float { position: absolute; background: #fff; color: var(--wp--preset--color--ink); border-radius: 14px; padding: 12px 16px; box-shadow: 0 14px 40px rgba(8,4,40,.3); line-height: 1.2; }
.jblf-float--name { left: -24px; bottom: 110px; }
.jblf-float--gold { right: -8px; top: 60px; background: var(--wp--preset--color--gold); color: var(--wp--preset--color--midnight); text-align: center; font-weight: 800; }
@media (max-width: 781px) { .jblf-float--name { left: 8px; } .jblf-float--gold { right: 8px; } }

/* Cards */
.jblf-card { border-radius: 20px; height: 100%; }
.jblf-card a { text-decoration: none; }
.jblf-link-card { transition: transform .15s ease, box-shadow .15s ease; }
.jblf-link-card:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(32,16,122,.12); }
.jblf-stars { color: var(--wp--preset--color--gold); letter-spacing: 2px; }
.jblf-num { width: 44px; height: 44px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; background: var(--wp--preset--color--indigo); color: #fff; }

/* Timeline steps */
.jblf-steps { list-style: none; padding: 0; margin: 0; counter-reset: s; }
.jblf-steps li { position: relative; margin-left: 22px; padding: 0 0 26px 36px; border-left: 2px solid #DCD8F2; counter-increment: s; }
.jblf-steps li:last-child { border-left-color: transparent; padding-bottom: 0; }
.jblf-steps li::before { content: counter(s); position: absolute; left: -23px; top: -2px; width: 44px; height: 44px; border-radius: 999px; background: var(--wp--preset--color--indigo); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; }
.jblf-steps li:last-child::before { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--midnight); }
.jblf-steps strong { display: block; font-size: 19px; margin-bottom: 4px; }

/* Video */
.jblf-video video { width: 100%; aspect-ratio: 9 / 16; object-fit: cover; border-radius: 20px; background: var(--wp--preset--color--midnight); border: 4px solid rgba(255,255,255,.15); box-shadow: 0 20px 50px rgba(8,4,40,.45); display: block; }

/* FAQ */
.wp-block-details { background: #fff; border-radius: 14px; padding: 18px 22px; }
.wp-block-details summary { font-weight: 700; cursor: pointer; color: var(--wp--preset--color--ink); }
.wp-block-details[open] summary { margin-bottom: 10px; }

/* Lead form */
.jblf-form { display: grid; gap: 12px; }
.jblf-form .row { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
@media (max-width: 600px) { .jblf-form .row { grid-template-columns: 1fr; } }
.jblf-form label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; color: var(--wp--preset--color--ink); }
.jblf-form input[type=text], .jblf-form input[type=tel], .jblf-form input[type=email], .jblf-form input[type=date], .jblf-form select, .jblf-form textarea {
	min-height: 46px; border: 1px solid #CFCBE0; border-radius: 10px; padding: 0 12px; font: inherit; font-size: 16px; background: #fff; color: var(--wp--preset--color--ink); width: 100%; box-sizing: border-box;
}
.jblf-form textarea { padding: 10px 12px; min-height: 90px; }
.jblf-form fieldset { border: 0; margin: 0; padding: 0; }
.jblf-form legend { font-size: 13px; font-weight: 600; margin-bottom: 8px; padding: 0; }
.jblf-form .choices { display: flex; gap: 10px; }
.jblf-form .choices label { flex: 1; flex-direction: row; align-items: center; justify-content: center; min-height: 46px; border: 1px solid #CFCBE0; border-radius: 10px; font-size: 15px; }
.jblf-form .consent { flex-direction: row; align-items: flex-start; gap: 10px; font-size: 11px; font-weight: 400; color: var(--wp--preset--color--muted); line-height: 1.45; }
.jblf-form .consent input { margin-top: 2px; width: 18px; height: 18px; flex: none; }
.jblf-form button { min-height: 56px; border: 0; border-radius: 999px; background: var(--wp--preset--color--indigo); color: #fff; font: inherit; font-weight: 800; font-size: 17px; cursor: pointer; }
.jblf-form--gold button { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--midnight); }
.jblf-form .fine { font-size: 12px; color: var(--wp--preset--color--muted); text-align: center; margin: 0; }
.jblf-form .ticks { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 16px; font-size: 13px; font-weight: 600; color: var(--wp--preset--color--muted); }
.jblf-form .hp { position: absolute; left: -9999px; }
.jblf-form-wrap { background: #fff; border-radius: 20px; padding: 28px; color: var(--wp--preset--color--ink); box-shadow: 0 18px 50px rgba(8,4,40,.25); }
.jblf-notice { padding: 14px 18px; border-radius: 12px; font-weight: 600; margin-bottom: 12px; }
.jblf-notice--ok { background: #E6F4EA; color: #14532D; }
.jblf-notice--err { background: #FDECEC; color: #7F1D1D; }

/* Quick (inline) form in hero */
.jblf-quick { background: #fff; border-radius: 16px; padding: 10px; display: flex; flex-wrap: wrap; gap: 8px; max-width: 680px; box-shadow: 0 18px 50px rgba(8,4,40,.35); }
.jblf-quick label { flex: 1 1 160px; display: flex; flex-direction: column; gap: 2px; padding: 6px 12px; font-size: 11px; font-weight: 700; color: var(--wp--preset--color--muted); letter-spacing: .5px; }
.jblf-quick label + label { border-left: 1px solid var(--wp--preset--color--line); }
.jblf-quick input { border: 0; outline: none; font: inherit; font-size: 16px; color: var(--wp--preset--color--ink); padding: 4px 0; background: transparent; }
.jblf-quick button { flex: 1 1 100%; min-height: 56px; border: 0; border-radius: 12px; background: var(--wp--preset--color--gold); color: var(--wp--preset--color--midnight); font: inherit; font-weight: 800; font-size: 16px; cursor: pointer; }
@media (max-width: 600px) { .jblf-quick label + label { border-left: 0; border-top: 1px solid var(--wp--preset--color--line); } }

/* Team grid */
.jblf-team-photo img { aspect-ratio: 4 / 5; object-fit: cover; border-radius: 14px; width: 100%; }
.jblf-initials { aspect-ratio: 4 / 5; border-radius: 14px; background: #E4E0F7; display: flex; align-items: center; justify-content: center; font-family: var(--wp--preset--font-family--serif); font-weight: 700; font-size: 44px; color: var(--wp--preset--color--indigo); }

/* Sticky mobile call bar */
.jblf-mobilebar { display: none; }
@media (max-width: 781px) {
	.jblf-mobilebar { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999; background: #fff; border-top: 1px solid var(--wp--preset--color--line); padding: 10px 12px calc(12px + env(safe-area-inset-bottom)); }
	.jblf-mobilebar a { min-height: 52px; border-radius: 10px; display: flex; align-items: center; justify-content: center; gap: 6px; font-weight: 800; font-size: 15px; text-decoration: none; text-align: center; line-height: 1.1; }
	.jblf-mobilebar .call { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--midnight); }
	.jblf-mobilebar .text { background: var(--wp--preset--color--indigo); color: #fff; }
	.jblf-mobilebar .review { border: 2px solid var(--wp--preset--color--indigo); color: var(--wp--preset--color--indigo); }
	body { padding-bottom: 80px; }
}

/* Footer */
.jblf-footer a { color: #BDB7E3; text-decoration: none; }
.jblf-footer a:hover { color: #fff; }
.jblf-social a { width: 44px; height: 44px; border-radius: 999px; border: 1px solid #2A2266; display: inline-flex; align-items: center; justify-content: center; color: #fff; }

/* Utility */
.jblf-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }
.jblf-pill { display: inline-block; border-radius: 999px; padding: 8px 16px; font-size: 13px; font-weight: 600; }
.jblf-table { overflow-x: auto; }
.jblf-badge-row { display: inline-flex; gap: 10px; align-items: center; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.22); border-radius: 999px; padding: 8px 14px; font-size: 13px; font-weight: 600; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); }

/* ===== Layout sections ===== */
.jblf-main { margin-block-start: 0; }
.jblf-main > * { margin-block-start: 0; }
.jblf-sec { padding-top: clamp(56px, 7vw, 96px); padding-bottom: clamp(56px, 7vw, 96px); }
.jblf-sec--tight { padding-top: clamp(32px, 4vw, 56px); }
.jblf-sec--mist { background: var(--wp--preset--color--mist); }
.jblf-sec--dark { background: var(--wp--preset--color--midnight); color: #fff; }
.jblf-sec--dark :where(h1,h2,h3,h4) { color: #fff; }
.jblf-sec--dark h1 em, .jblf-sec--dark h2 em, .jblf-hero__title em { color: var(--wp--preset--color--gold); font-style: italic; }
.jblf-sec--dark a:not(.jblf-btn):not(.wp-block-button__link) { color: var(--wp--preset--color--gold); }
.jblf-sec__head { margin-bottom: 1.5rem; }
.jblf-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--wp--preset--color--accent-text); margin-bottom: .25rem; }
.jblf-sec--dark .jblf-eyebrow { color: var(--wp--preset--color--gold); }
.jblf-lede { font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--muted); max-width: 760px; }
.jblf-sec--dark .jblf-lede, .jblf-pagehead--dark .jblf-lede { color: #D9D5F0; }
.jblf-small { font-size: 13px; opacity: .85; }
.jblf-rounded img { border-radius: 20px; }
.jblf-portrait img { aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; width: 100%; }

/* Utility bar + header */
.jblf-utility { background: var(--wp--preset--color--midnight); color: #D9D5F0; font-size: 13px; padding-top: 8px; padding-bottom: 8px; }
.jblf-utility p { margin: 0; }
.jblf-utility a { color: var(--wp--preset--color--gold); font-weight: 700; text-decoration: none; }
.jblf-header { background: #fff; padding-top: 12px; padding-bottom: 12px; }
.jblf-header__row { gap: 18px; }
.jblf-header__cta { gap: 16px; }
.jblf-logo { margin: 0; }
.jblf-logo img { width: 190px; max-width: 42vw; }
.jblf-nav .wp-block-navigation__submenu-container { border-radius: 12px; padding: 8px 0; box-shadow: 0 16px 40px rgba(8,4,40,.18); border: 1px solid var(--wp--preset--color--line) !important; }
@media (max-width: 600px) { .jblf-phone-link a { font-size: 15px; } .jblf-phone-link small { font-size: 9px; } }

/* Buttons */
.wp-block-button.is-style-gold .wp-block-button__link { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--midnight); }
.wp-block-button.is-style-gold .wp-block-button__link:hover { background: #FFC85C; }
.wp-block-button.is-style-white-outline .wp-block-button__link { background: transparent; border: 2px solid #fff; color: #fff; }
.wp-block-button.is-style-outline .wp-block-button__link { border: 2px solid currentColor; background: transparent; color: var(--wp--preset--color--indigo); }
.jblf-cta-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin: 1.25rem 0; }
.jblf-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 0 24px; border-radius: 999px; font-weight: 800; text-decoration: none; font-size: 16px; }
.jblf-btn--gold { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--midnight) !important; }
.jblf-btn--indigo { background: var(--wp--preset--color--indigo); color: #fff !important; }
.jblf-btn--ghost { border: 2px solid var(--wp--preset--color--indigo); color: var(--wp--preset--color--indigo) !important; }
.jblf-cta-buttons--dark .jblf-btn--ghost, .jblf-cta-buttons--dark .jblf-btn--indigo { background: transparent; border: 2px solid rgba(255,255,255,.7); color: #fff !important; }

/* Hero */
.jblf-hero { background: radial-gradient(1200px 600px at 85% 10%, #2C1C92 0%, var(--wp--preset--color--midnight) 60%); }
.jblf-hero__cols { gap: clamp(24px, 5vw, 64px); }
.jblf-hero__title { font-size: var(--wp--preset--font-size--display); margin-top: 1rem; }
.jblf-hero__lede { font-size: var(--wp--preset--font-size--large); color: #D9D5F0; max-width: 620px; }
.jblf-hero__lede strong { color: #fff; }
.jblf-hero__fine { font-size: 12px; color: #BDB7E3; max-width: 680px; }
.jblf-hero__ticks { font-size: 14px; font-weight: 600; color: #fff; white-space: pre-wrap; }
.jblf-hero .jblf-quick { margin-top: 1.5rem; }
.jblf-float p, p.jblf-float { margin: 0; }
.jblf-float small { font-size: 12px; opacity: .8; }

/* Stats bar */
.jblf-stats { background: var(--wp--preset--color--indigo); color: #fff; padding-top: 26px; padding-bottom: 26px; }
.jblf-stats__row p { margin: 0; text-align: center; font-size: 11px; font-weight: 700; letter-spacing: 1.5px; color: #D9D5F0; }
.jblf-stats__row strong { display: block; font-family: var(--wp--preset--font-family--serif); font-size: 40px; line-height: 1.1; letter-spacing: 0; color: #fff; }

/* Reviews */
.jblf-review { background: #fff; border-radius: 20px; padding: 24px; box-shadow: 0 1px 0 var(--wp--preset--color--line); display: flex; flex-direction: column; }
.jblf-review p { margin: 0 0 .75rem; }
.jblf-review__meta { font-size: 12px; font-weight: 700; color: var(--wp--preset--color--muted); text-transform: uppercase; letter-spacing: 1px; }
.jblf-review__text { flex: 1; font-size: 16px; }
.jblf-review__name { font-size: 14px; color: var(--wp--preset--color--muted); margin-bottom: 0 !important; }
.jblf-review__name strong { color: var(--wp--preset--color--ink); }
.jblf-quote-strip { margin-top: 2rem; background: var(--wp--preset--color--mist); border-radius: 14px; padding: 16px 20px; font-weight: 600; }

/* Practice cards */
.jblf-practice-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; margin-top: 1.5rem; }
.jblf-practice-card { display: flex; flex-direction: column; gap: 8px; background: var(--wp--preset--color--mist); border-radius: 20px; padding: 22px; text-decoration: none; color: var(--wp--preset--color--ink); }
.jblf-practice-card .t { font-family: var(--wp--preset--font-family--serif); font-weight: 700; font-size: 24px; color: var(--wp--preset--color--indigo); line-height: 1.1; }
.jblf-practice-card .d { font-size: 14px; color: var(--wp--preset--color--muted); flex: 1; }
.jblf-practice-card .m { font-size: 13px; font-weight: 800; color: var(--wp--preset--color--indigo); }
.jblf-practice-card.is-featured { grid-column: 1 / -1; background: var(--wp--preset--color--indigo); color: #fff; padding: 30px; }
.jblf-practice-card.is-featured .t { color: #fff; font-size: 34px; }
.jblf-practice-card.is-featured .d { color: #D9D5F0; font-size: 16px; max-width: 640px; }
.jblf-practice-card.is-featured .m { color: var(--wp--preset--color--gold); }
.jblf-practice-card .tag { align-self: flex-start; background: var(--wp--preset--color--gold); color: var(--wp--preset--color--midnight); font-size: 11px; font-weight: 800; letter-spacing: 1px; border-radius: 999px; padding: 4px 10px; }
@media (min-width: 900px) { .jblf-practice-card.is-featured { grid-column: span 2; grid-row: span 2; justify-content: flex-end; } }

/* Tiles (compensation / insurer tactics / Spanish) */
.jblf-tiles { margin-top: 1.5rem; gap: 16px; }
.jblf-tile { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); border-radius: 20px; padding: 24px; }
.jblf-tile h3 { font-size: 24px; margin: 0 0 .5rem; }
.jblf-tile p { margin: 0; }
.jblf-sec--dark .jblf-tile p { color: #D9D5F0; }
.jblf-tiles--light .jblf-tile { background: var(--wp--preset--color--mist); border-color: transparent; }
.jblf-tile--num .jblf-num { margin-bottom: 12px; }
.jblf-values { display: flex; flex-wrap: wrap; gap: 8px; }
.jblf-values span { background: var(--wp--preset--color--mist); color: var(--wp--preset--color--indigo); border-radius: 999px; padding: 6px 14px; font-size: 13px; font-weight: 700; }

/* Cities */
.jblf-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.jblf-pills a { background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 999px; padding: 8px 14px; font-size: 14px; font-weight: 600; text-decoration: none; color: var(--wp--preset--color--ink); }
.jblf-pills a:hover { border-color: var(--wp--preset--color--indigo); color: var(--wp--preset--color--indigo); }

/* Blog cards */
.jblf-posts { gap: 20px; }
.jblf-post-card { background: var(--wp--preset--color--mist); border-radius: 20px; padding: 0 0 22px; overflow: hidden; height: 100%; }
.jblf-post-card > *:not(.wp-block-post-featured-image) { padding-left: 22px; padding-right: 22px; }
.jblf-post-card .wp-block-post-featured-image { margin: 0 0 14px; }
.jblf-post-card .wp-block-post-title { font-size: 24px; margin: .25rem 0 .5rem; }
.jblf-post-card .wp-block-post-title a { text-decoration: none; }
.jblf-post-card .wp-block-post-date { margin-top: 18px; }
.jblf-post-card .wp-block-post-excerpt__more-link { font-weight: 700; }

/* Final CTA */
.jblf-final .jblf-video { margin: 0 auto; max-width: 300px; }
.jblf-final .jblf-video figcaption { color: var(--wp--preset--color--gold); font-size: 12px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; text-align: center; }
.jblf-band h2 { font-size: var(--wp--preset--font-size--x-large); max-width: 680px; margin: 0; }

/* Page heads, breadcrumbs, content */
.jblf-pagehead { background: var(--wp--preset--color--mist); padding-top: clamp(28px, 4vw, 48px); padding-bottom: clamp(28px, 4vw, 48px); }
.jblf-pagehead--dark { background: var(--wp--preset--color--midnight); color: #fff; }
.jblf-pagehead--dark h1 { color: #fff; }
.jblf-pagehead h1 { font-size: var(--wp--preset--font-size--xx-large); margin: .25rem 0 .75rem; }
.jblf-crumbs { font-size: 13px; color: var(--wp--preset--color--muted); }
.jblf-crumbs a { color: inherit; }
.jblf-pagehead--dark .jblf-crumbs { color: #BDB7E3; }
.jblf-content h2 { font-size: var(--wp--preset--font-size--x-large); margin-top: 2.25rem; }
.jblf-content h3 { font-size: 22px; }
.jblf-content table { width: 100%; border-collapse: collapse; font-size: 15px; }
.jblf-content th, .jblf-content td { border-bottom: 1px solid var(--wp--preset--color--line); padding: 10px 12px; text-align: left; vertical-align: top; }
.jblf-content thead th { background: var(--wp--preset--color--mist); }
.jblf-callout { background: #FFF6E0; border-left: 4px solid var(--wp--preset--color--gold); border-radius: 12px; padding: 16px 20px; }
.jblf-toc { background: var(--wp--preset--color--mist); border-radius: 14px; padding: 18px 22px; }
.jblf-toc ul { margin: 0; padding-left: 18px; }
.jblf-split { gap: clamp(24px, 4vw, 56px); }
.jblf-sticky { position: sticky; top: 110px; display: grid; gap: 12px; }
.jblf-side-title { font-size: 26px; margin: 0; }
.jblf-side-sub { margin: 0; color: var(--wp--preset--color--muted); }
.jblf-sidebar .jblf-form-wrap { box-shadow: 0 10px 30px rgba(32,16,122,.12); border: 1px solid var(--wp--preset--color--line); padding: 20px; }
.jblf-side-call { background: var(--wp--preset--color--indigo); color: #fff; border-radius: 16px; padding: 16px 20px; }
.jblf-side-call p { margin: 0; }
.jblf-side-call a { color: var(--wp--preset--color--gold); font-size: 22px; font-weight: 800; text-decoration: none; }
.jblf-author { background: var(--wp--preset--color--mist); border-radius: 16px; padding: 16px 20px; gap: 16px; margin-top: 2rem; align-items: center; }
.jblf-author figure { margin: 0; flex: none; }
.jblf-author p { margin: 0; font-size: 14px; }
.jblf-h-small { font-size: 22px !important; }
.jblf-related { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.jblf-related a { display: inline-block; background: var(--wp--preset--color--mist); border-radius: 999px; padding: 8px 14px; font-weight: 700; font-size: 14px; text-decoration: none; }
.jblf-meta { gap: 10px 18px; font-size: 14px; color: var(--wp--preset--color--muted); }
.jblf-meta p { margin: 0; }
.jblf-article { padding-top: 2rem; padding-bottom: 3rem; }
.jblf-feature { background: var(--wp--preset--color--mist); border-radius: 24px; padding: clamp(20px, 3vw, 36px); margin-bottom: 2.5rem; }
.jblf-team-h { margin-bottom: 1.25rem; }
.jblf-team-photo--lg img { border-radius: 20px; aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.jblf-initials--lg { font-size: 72px; }
@media (max-width: 781px) { .jblf-sticky { position: static; } }

/* Footer */
.jblf-footer { background: var(--wp--preset--color--midnight); color: #BDB7E3; padding-top: 56px; padding-bottom: 32px; font-size: 14px; margin-block-start: 0; }
.jblf-footer__h { color: #fff !important; font-family: var(--wp--preset--font-family--sans) !important; font-size: 13px !important; letter-spacing: 2px; text-transform: uppercase; }
.jblf-footer__list { list-style: none; padding: 0; line-height: 2; }
.jblf-footer-contact strong { color: #fff; font-size: 18px; }
.jblf-footer__legal { font-size: 12px; border-top: 1px solid #2A2266; padding-top: 18px; margin-top: 8px; }
.jblf-social { display: flex; gap: 10px; }

/* ===== Fixes: seamless full-width sections ===== */
.wp-site-blocks > *, .jblf-main, .wp-block-post-content > .alignfull, .jblf-main > .alignfull { margin-block-start: 0 !important; }
.wp-block-post-content > .alignfull + .alignfull { margin-block-start: 0 !important; }
.jblf-hero__fine { margin-left: 0 !important; }
.jblf-sec > .jblf-lede, .jblf-pagehead > .jblf-lede, .jblf-pagehead > .wp-block-post-excerpt { max-width: 1240px !important; margin-left: auto !important; margin-right: auto !important; padding-right: max(0px, calc(100% - 780px)); box-sizing: border-box; }
.jblf-band h2 { max-width: none; }
.jblf-sec .jblf-lede { margin-bottom: 1.5rem; }
.jblf-tiles { grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr)) !important; }
.jblf-reviews { grid-template-columns: repeat(auto-fill, minmax(min(270px, 100%), 1fr)) !important; }
.jblf-steps { margin-top: 1.75rem !important; }
.hp, .jblf-quick .hp, .jblf-form .hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
html, body { overflow-x: clip; }
.jblf-checks { list-style: none; padding: 0; font-weight: 600; }
.jblf-map iframe { display: block; }

@media (max-width: 600px) {
	.jblf-header .jblf-phone-link { display: none; }
	.jblf-utility__row > p:first-child { display: none; }
	.jblf-utility__row { justify-content: center !important; }
}

/* ---- Two-step quick form (hero) ---- */
.jblf-quick--steps > .jblf-quick__step { flex: 1 1 100%; border: 0; margin: 0; padding: 0; min-width: 0; }
.jblf-quick--steps legend, .jblf-quick__legend { display: block; padding: 8px 12px 6px; margin: 0; font-size: 12px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.jblf-quick__legend strong { color: var(--wp--preset--color--ink); }
.jblf-chips { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 0 4px 4px; }
.jblf-quick .jblf-chip, .jblf-quick .jblf-chip + .jblf-chip { position: relative; display: block; flex: none; padding: 0; border: 0; }
.jblf-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.jblf-chip span { display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 8px 10px; border: 2px solid var(--wp--preset--color--line); border-radius: 12px; font-size: 15px; font-weight: 700; letter-spacing: 0; color: var(--wp--preset--color--ink); text-align: center; cursor: pointer; transition: border-color .15s, background .15s; }
.jblf-chip:hover span, .jblf-chip input:checked + span { border-color: var(--wp--preset--color--gold); background: #fff8e6; }
.jblf-chip input:focus-visible + span { outline: 3px solid var(--wp--preset--color--indigo); outline-offset: 2px; }
.jblf-quick__fields { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.jblf-quick--steps button[type=submit] { width: 100%; }
.jblf-quick .jblf-quick__back { flex: none; display: inline; min-height: 0; width: auto; padding: 0 0 0 6px; border-radius: 0; background: none; color: var(--wp--preset--color--indigo); font-size: 12px; font-weight: 700; text-transform: none; letter-spacing: 0; text-decoration: underline; }
.jblf-quick--steps.is-js [data-step="2"] { display: none; }
.jblf-quick--steps.is-js.is-step2 [data-step="1"] { display: none; }
.jblf-quick--steps.is-js.is-step2 [data-step="2"] { display: block; }
.jblf-quick--steps:not(.is-js) .jblf-quick__back, .jblf-quick--steps:not(.is-js) [data-jblf-picked] { display: none; }
@media (max-width: 600px) { .jblf-chips { grid-template-columns: repeat(2, 1fr); } .jblf-quick .jblf-chip + .jblf-chip { border-top: 0; } }

/* ---- Case manager section ---- */
.jblf-cm-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin-top: 1.5rem; }
.jblf-cm-card { background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 20px; padding: 24px; }
.jblf-cm-card h3 { margin: 14px 0 6px; font-size: 1.15rem; }
.jblf-cm-card p { margin: 0; color: var(--wp--preset--color--muted); }
.jblf-cm-icon { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: var(--wp--preset--color--gold); color: var(--wp--preset--color--midnight); }
.jblf-cm-icon svg { width: 24px; height: 24px; }

/* ---- Mobile menu overlay (Oct 2026) ---- */
.jblf-nav .wp-block-navigation__responsive-container.is-menu-open { background: #fff !important; padding: 0 !important; }
.jblf-nav .is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch !important; padding: 64px 24px 140px !important; }
.jblf-nav .is-menu-open .wp-block-navigation__container { align-items: stretch !important; justify-content: flex-start !important; gap: 0 !important; width: 100%; }
.jblf-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { align-items: stretch !important; width: 100%; border-bottom: 1px solid var(--wp--preset--color--line); }
.jblf-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { display: block; width: 100%; padding: 16px 0 !important; font-size: 19px; font-weight: 700; text-align: left; color: var(--wp--preset--color--midnight); }
.jblf-nav .is-menu-open .wp-block-navigation__submenu-container { display: grid !important; grid-template-columns: 1fr 1fr; gap: 0 12px !important; width: 100%; margin: -6px 0 0 !important; padding: 0 0 12px !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important; }
.jblf-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { width: 100%; }
.jblf-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { display: block; width: 100%; padding: 8px 0 !important; font-size: 15px; font-weight: 500; line-height: 1.3; text-align: left; color: var(--wp--preset--color--muted); }
.jblf-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--indigo); }
.jblf-nav .is-menu-open .wp-block-navigation__submenu-icon { display: none !important; }
.jblf-nav .is-menu-open .wp-block-navigation__responsive-container-close { top: 18px; right: 18px; }
.jblf-nav .is-menu-open .wp-block-navigation__responsive-container-close svg { width: 30px; height: 30px; }

/* ---- Homepage mobile layout (Oct 2026) ---- */
@media (max-width: 600px) {
	.jblf-sec { padding-top: 40px !important; padding-bottom: 40px !important; }
	.jblf-sec h2.wp-block-heading { font-size: 30px; line-height: 1.12; }
	.jblf-lede { font-size: 16px; }

	/* Hero: get the form onto the first screen */
	.jblf-hero { padding-top: 20px !important; padding-bottom: 28px !important; }
	.jblf-hero .jblf-badge-row { font-size: 12px; padding: 6px 12px; margin-bottom: 12px; }
	.jblf-hero__title { font-size: 34px !important; line-height: 1.08 !important; margin-bottom: 10px !important; }
	.jblf-hero__lede { font-size: 15px !important; line-height: 1.45; margin-bottom: 14px !important; }
	.jblf-hero__fine { font-size: 11px; }
	.jblf-hero__ticks { display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
	.jblf-arch-wrap { max-width: 260px; margin: 8px auto 0 !important; }
	.jblf-chip span { min-height: 46px; font-size: 14px; }

	/* Stats: let the odd one out span the row */
	.jblf-stats__row > p:last-child:nth-child(odd) { grid-column: 1 / -1; }

	/* Case manager: compact 2-up cards */
	.jblf-cm-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
	.jblf-cm-card { padding: 16px 14px; border-radius: 16px; }
	.jblf-cm-icon { width: 36px; height: 36px; border-radius: 10px; }
	.jblf-cm-icon svg { width: 20px; height: 20px; }
	.jblf-cm-card h3 { font-size: 16px; margin: 10px 0 4px; }
	.jblf-cm-card p { font-size: 13px; line-height: 1.4; }

	/* Practice areas: featured card full width, the rest as a 2-up grid of titles */
	.jblf-practice-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
	.jblf-practice-card.is-featured { grid-column: 1 / -1; }
	.jblf-practice-card:not(.is-featured) { padding: 16px 14px !important; }
	.jblf-practice-card:not(.is-featured) .d { display: none; }
	.jblf-practice-card:not(.is-featured) .t { font-size: 17px; line-height: 1.2; }
	.jblf-practice-card:not(.is-featured) .m { font-size: 13px; margin-top: 6px; }

	/* Reviews + blog: swipeable rows instead of long stacks */
	.jblf-reviews, .jblf-posts { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px !important; margin-left: -20px !important; margin-right: -20px !important; padding: 0 20px 8px !important; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.jblf-reviews::-webkit-scrollbar, .jblf-posts::-webkit-scrollbar { display: none; }
	.jblf-reviews > *, .jblf-posts > * { flex: 0 0 84% !important; max-width: 84%; margin: 0 !important; scroll-snap-align: start; }

	/* Compensation + insurance tiles: tighter single column */
	.jblf-tiles { gap: 10px !important; }
	.jblf-tile { padding: 16px 18px !important; }
	.jblf-tile h3, .jblf-tile h4 { font-size: 19px !important; line-height: 1.2; margin-bottom: 4px !important; }
	.jblf-tile p { font-size: 14px !important; line-height: 1.45; }
	.jblf-tile--num { position: relative; padding-left: 62px !important; }
	.jblf-tile--num > *:first-child { position: absolute; left: 16px; top: 16px; width: 32px !important; height: 32px !important; font-size: 13px !important; margin: 0 !important; }
}
