/*--------------------------------------------------------------
Cases section
Cases page (page-cases-landing.php) and case pages (single-lvk_case.php).
Loaded only on those templates (inc/cases.php).
Colors and type follow the theme: navy #004561, dark navy #0c263e, green #49654e,
warm gray #e0dcdb, body text #414449, Oswald and Open Sans. 1rem = 10px (theme root),
scaling up at 1250px and 1400px. Breakpoints: 1000px (theme mobile), 600px.
--------------------------------------------------------------*/

/* HERO (theme .page-header pattern; darker title box keeps white text readable on light photos) */
.lvk-hero div#headlineWrapper { background-color: rgba(0,0,0,.45); }
.lvk-hero > div.overlay { display: block; height: 220px; background: linear-gradient(180deg, rgba(0,0,0,.65) 0%, rgba(0,0,0,0) 100%); }

/* LAYOUT */
.lvk-case, .lvk-cases-index { padding: 45px 0 60px; color: #414449; }
.lvk-case .siteCenter, .lvk-cases-index .siteCenter { max-width: 1000px; }
.lvk-case-card { background-color: #ffffff; padding: 35px 45px; margin: 0 0 30px; }
.lvk-case-section { scroll-margin-top: 20px; }
.lvk-case-section > h2, .lvk-case-contact h2 { margin: 0 0 20px; font-family: 'Oswald', sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; font-size: 2.6rem; line-height: 1.2; color: #004561; }
.lvk-case p, .lvk-cases-index p { margin: 0 0 1em; }
.lvk-case-subhead { margin: 35px 0 15px; font-family: 'Oswald', sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; font-size: 1.9rem; color: #004561; }

/* MEASURE (keeps reading text under about 80 characters per line; the cards stay full width) */
.lvk-case-headline, .lvk-case-lede, .lvk-case-notice p, .lvk-case-prose, .lvk-case-faq, .lvk-case-list, .lvk-case-updates, .lvk-cases-summary { max-width: 66ch; }

/* LINKS AND FOCUS */
.lvk-case a, .lvk-cases-index a { color: #004561; text-decoration: underline; text-underline-offset: 3px; }
.lvk-case a:hover, .lvk-cases-index a:hover { color: #49654e; }
.lvk-case a:focus-visible, .lvk-cases-index a:focus-visible { outline: 3px solid #004561; outline-offset: 3px; }
.lvk-case .screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }

/* INTRO */
.lvk-case-headline { font-size: 2.6rem; line-height: 1.3; font-weight: 700; color: #0c263e; }
.lvk-case-lede { font-size: 1.9rem; line-height: 1.55; }
.lvk-case-lede p:last-child, .lvk-case-notice p:last-child { margin-bottom: 0; }
.lvk-case-notice { margin: 25px 0 0; padding: 22px 28px; background-color: #004561; color: #ffffff; font-size: 1.8rem; line-height: 1.5; }
.lvk-case-notice a { color: #ffffff; }
.lvk-case-notice a:focus-visible { outline-color: #ffffff; }
.lvk-case-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin: 25px 0 0; padding: 0; list-style: none; }
.lvk-case a.lvk-case-button { display: inline-block; padding: 12px 22px; border: 2px solid #004561; color: #004561; text-decoration: none; font-family: 'Oswald', sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; font-size: 1.7rem; line-height: 1.2; }
.lvk-case a.lvk-case-button span { font-family: 'Open Sans', sans-serif; font-weight: 400; text-transform: none; letter-spacing: 0; font-size: 1.4rem; }
.lvk-case a.lvk-case-button:hover { background-color: #004561; color: #ffffff; }

/* JUMP LINKS (same look as the bio page section tabs) */
.lvk-case-jump { margin: 0 0 30px; padding: 18px 20px; background-color: #ffffff; }
.lvk-case-jump ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 10px; margin: 0; padding: 0; list-style: none; }
.lvk-case-jump a { display: inline-block; padding: 6px 12px; font-family: 'Oswald', sans-serif; font-weight: 600; text-transform: uppercase; font-size: 1.6rem; color: #0c263e; text-decoration: none; }
.lvk-case-jump a:hover { color: #49654e; }

/* PROSE (editor content, FAQ answers, About) */
.lvk-case-prose { font-size: 1.7rem; line-height: 1.65; }
.lvk-case-prose h3 { margin: 35px 0 12px; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 2.1rem; line-height: 1.3; color: #0c263e; }
.lvk-case-prose h3:first-child { margin-top: 0; }
.lvk-case-prose ul, .lvk-case-prose ol { margin: 0 0 1.2em 2.2rem; padding: 0; }
.lvk-case-prose ul li { list-style: disc; margin: 0 0 .6em; }
.lvk-case-prose ol li { list-style: decimal; margin: 0 0 .6em; }
.lvk-case-prose img { display: block; max-width: 100%; height: auto; margin: 25px auto; }
.lvk-case-prose > :last-child { margin-bottom: 0; }

/* CASE STATUS */
.lvk-case-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 40px; margin: 0; }
.lvk-case-facts dt { font-family: 'Oswald', sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; font-size: 1.4rem; color: #49654e; }
.lvk-case-facts dd { margin: 3px 0 0; font-size: 1.7rem; line-height: 1.45; color: #222222; }
.lvk-case-attorneys { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; margin: 0; padding: 0; list-style: none; }
.lvk-case-attorneys a { display: block; text-decoration: none; }
.lvk-case-attorneys img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; margin: 0 0 10px; }
.lvk-case-attorney-name { display: block; font-weight: 700; font-size: 1.7rem; color: #004561; }
.lvk-case-attorneys a:hover .lvk-case-attorney-name { text-decoration: underline; text-underline-offset: 3px; }
.lvk-case-attorney-title { display: block; font-size: 1.4rem; color: #595959; }
.lvk-case-updates, .lvk-case-list { margin: 0; padding: 0; list-style: none; }
.lvk-case-updates li, .lvk-case-list li { padding: 14px 0; border-top: 1px solid #e0dcdb; font-size: 1.7rem; line-height: 1.5; }
.lvk-case-updates li:first-child, .lvk-case-list li:first-child { border-top: 0; padding-top: 0; }
.lvk-case-date { display: block; margin: 0 0 2px; font-size: 1.5rem; color: #595959; }
.lvk-case-list a { font-weight: 600; }
.lvk-case-file { font-size: 1.4rem; color: #595959; }

/* FAQS */
.lvk-case-faq { padding: 22px 0; border-top: 1px solid #e0dcdb; }
.lvk-case-faq:first-child { padding-top: 0; border-top: 0; }
.lvk-case-faq:last-child { padding-bottom: 0; }
.lvk-case-faq h3 { margin: 0 0 8px; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 1.9rem; line-height: 1.35; color: #0c263e; }

/* CONTACTS */
.lvk-case-contacts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; margin: 0 0 30px; }
.lvk-case-contacts .lvk-case-card { margin: 0; }
.lvk-case-contact { font-size: 1.6rem; line-height: 1.5; }
.lvk-case-contact h2 { font-size: 2rem; margin-bottom: 12px; }
.lvk-case-contact p { margin: 0 0 .6em; }
.lvk-case-contact-name { font-weight: 700; color: #222222; }

/* DISCLAIMER (small print at the bottom of case pages) */
.lvk-case-disclaimer { max-width: 66ch; margin: 10px 0 0; font-size: 1.4rem; line-height: 1.55; font-style: italic; color: #595959; }
.lvk-case-disclaimer p { margin: 0 0 .6em; }

/* CASES PAGE */
.lvk-cases-item { margin-bottom: 25px; }
.lvk-cases-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; font-size: 1.4rem; color: #595959; }
.lvk-case-status { display: inline-block; padding: 2px 10px; background-color: #49654e; color: #ffffff; font-weight: 600; font-size: 1.4rem; }
.lvk-cases-title { margin: 0 0 10px; font-family: 'Oswald', sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; font-size: 2.8rem; line-height: 1.2; }
.lvk-cases-index .lvk-cases-title a { text-decoration: none; color: #004561; }
.lvk-cases-index .lvk-cases-title a:hover { color: #49654e; }
.lvk-cases-summary { font-size: 1.8rem; line-height: 1.5; }
.lvk-cases-court { margin-bottom: 0 !important; font-size: 1.4rem; color: #595959; }

/* MOBILE */
@media all and (max-width: 1000px) {
	.lvk-hero div#headlineWrapper { background-color: rgba(0,0,0,.55); } /* the banner line drops to 20px here, so it needs 4.5:1 over the photo */
	/* Theme bug: on phones the floated menu toggle narrows .page-header. Position it as on desktop instead. */
	.single-lvk_case header#mastHead div#mainMenuToggle, .page-template-page-cases-landing header#mastHead div#mainMenuToggle { position: absolute; top: 14px; right: 5%; float: none; }
	.lvk-case, .lvk-cases-index { padding: 25px 0 40px; }
	.lvk-case-card { padding: 25px 6%; margin-bottom: 20px; }
	.lvk-case-section > h2 { font-size: 2.2rem; }
	.lvk-case-headline { font-size: 2.2rem; }
	.lvk-case-lede { font-size: 1.8rem; }
	.lvk-case-jump { padding: 12px 10px; margin-bottom: 20px; }
	.lvk-case-jump a { font-size: 1.5rem; padding: 6px 8px; }
	.lvk-case-attorneys { gap: 20px; }
	.lvk-case-contacts { grid-template-columns: 1fr; gap: 20px; margin-bottom: 20px; }
	.lvk-cases-title { font-size: 2.4rem; }
}

@media all and (max-width: 600px) {
	.lvk-case-facts { grid-template-columns: 1fr; gap: 16px; }
	.lvk-case-attorneys { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.lvk-case-notice { padding: 18px 20px; }
	.lvk-case-buttons li { width: 100%; }
	.lvk-case a.lvk-case-button { display: block; text-align: center; }
}
