 /* ----------------------------------------------------------------
	Canvas: Law Firm
-----------------------------------------------------------------*/

:root {
	--cnvs-themecolor: #0F317E;
	--cnvs-themecolor-rgb: 15, 49, 126;
	--cnvs-body-font: 'Manrope', sans-serif;
	--cnvs-secondary-font: 'Merriweather', serif;
}

.dark {
	--cnvs-header-sticky-bg:  var(--cnvs-themecolor);
}

#header {
	--cnvs-header-border-color: var(--bs-warning);
}

.text-border-right {
	overflow: hidden;
}

.text-border-right::after {
	content:"";
	display: inline-block;
	vertical-align: middle;
	width: 100%;
	margin-right: -100%;
	margin-left: 10px;
	border-top: 1px solid rgba(var(--cnvs-contrast-rgb), 0.25);
}

.text-border-right.b-w-50::after {
	width: 10rem;
}

.large-device-menu a {
	position: relative;
	display: block;
	margin-bottom: 14px;
	transition: all .25s ease;
	font-weight: 500;
}

.large-device-menu a:last-child {
	margin-bottom: 0;
}

.large-device-menu a:hover {
	transform:  translateX(2px);
	color: var(--bs-warning) !important;
}

.service-feature  .grid-inner .more-link {
	margin-top: 10px;
}

#logo a img {
	height: auto !important;
}

@media (min-width: 992px) {

	.sticky-header .large-device-menu-wrap {
		align-items: center;
	}

	.sticky-header .large-device-menu a {
		display: inline-block;
		margin: 0 18px;
		transform: none;
	}

	.sticky-header .header-row {
		align-items: center !important;
		padding-top: .5rem !important;
		padding-bottom: .5rem !important;	
	}

	.sticky-header .large-device-menu {
		padding: 0;
		margin: 0
	}

	.service-feature {
		position: relative;
		transform: translateY(-50%);
		z-index: 4;
	}

	.service-feature  .grid-inner .more-link {
		opacity: 0;
		visibility: hidden;
		transition: all .3s ease;
		margin-top: 0;
	}

	.service-feature .grid-inner:hover .more-link {
		opacity: 1;
		visibility: visible;
		transform: translateY(4px);
		will-change: transform;
	}

	.service-feature .grid-inner .f-b-desc {
		transform: translateY(10px);
		transition: transform .3s ease;
		will-change: transform;
	}

	.service-feature .grid-inner:hover .f-b-desc {
		transform: translateY(-4px);
	}

	.grid-border {
		--cnvs-grid-border-width: 2px;
		--cnvs-grid-border-color: var(--cnvs-themecolor);
		--cnvs-grid-border-opacity: .1;
	}

	.grid-border [class^=col-]::after {
		display: none;
	}
}

.lady-justice-img::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	box-shadow: -30px -30px 0 var(--bs-warning);
	opacity: .4;
	border-radius: .25rem;
}

#lawfirm-inline label {
	display: inline-block;
	text-transform: none;
	letter-spacing: 0;
	font-weight: 300;
	font-size: 1.75rem;
	line-height: 2;
}

#lawfirm-inline input,
#lawfirm-inline select,
.dark #lawfirm-inline input,
.dark #lawfirm-inline select {
	display: inline-block;
	background-color: transparent;
	display: inline-block;
	margin: 0 10px;
	border-radius: 0;
	width: auto;
	cursor: pointer;
	border: none;
	border-bottom: 1px solid #FFF !important;
	font-size: 1.75rem;
	padding: 0 3px;
	color: var(--bs-warning);
	font-weight: 300;
}

#lawfirm-inline input:focus { outline: none; }


#lawfirm-inline select,
.dark #lawfirm-inline select {
	-webkit-appearance: none;
	border-radius: 0;
	background-position: 100% 50%;
	background-repeat: no-repeat;
	background-image: url("law-firm/images/select-arrow.svg");
	padding-right: 20px;
	background-size: 12px;
}

#lawfirm-inline input::-moz-placeholder {
	color: var(--bs-warning);
}

#lawfirm-inline input:-ms-input-placeholder {
	color: var(--bs-warning);
}

#lawfirm-inline input::-webkit-input-placeholder {
	color: var(--bs-warning);
}

.lawfirm-inline-loader.css3-spinner { background-color: rgba(255, 255, 255, 0.8) }

#lawfirm-inline-submitted,
.lawfirm-inline-success #lawfirm-inline,
.lawfirm-inline-success .lawfirm-inline-heading,
body:not(.lawfirm-inline-processing) .lawfirm-inline-loader { display: none; }

.lawfirm-inline-success #lawfirm-inline-submitted { display: block; }

.blog-cards .card::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background-color: var(--bs-warning);
}

.widget_links:not(.widget-li-noicon) li::before {
	color: var(--bs-warning);
}

.widget_links li {
	padding: 6px 0;
}

/* ----------------------------------------------------------------
	Additive (page <head> inline style, ported verbatim):
	touch devices cannot honor fixed background-attachment.
-----------------------------------------------------------------*/

.device-touch .section-contact {
	background-attachment: scroll !important;
}

/* ----------------------------------------------------------------
	Additive: FSE equivalent of the source landing pages'
	`.content-wrap.overflow-visible.py-0` utility classes. The py-0 belongs
	ONLY to the landing PAGES (page-canvas template) whose sections carry
	their own vertical padding: it must NOT reach the designed singles
	(case / blog), the WooCommerce pages, or plain pages, which rely on the
	theme's default `.content-wrap` padding (`var(--cnvs-content-padding) 0`).
	Overflow stays visible demo-wide: the landing hero underlap AND the case
	single's sticky media column both need an un-clipped wrapper.
-----------------------------------------------------------------*/

.content-wrap {
	overflow: visible;
}

.page-template-page-canvas .content-wrap {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* ----------------------------------------------------------------
	Additive: designed inner pages, news-post / case singles and the
	News & Recent Cases archive grids. Scoped to the demo's own body
	classes (.law-firm-post / .law-firm-case) and section wrappers
	(.law-firm-blog / .law-firm-cases); demo tokens only.
-----------------------------------------------------------------*/

/* Title band on news-post and case singles: the demo's themecolor band
   language. Geometry (transparent-header underlap, parallax padding)
   rides the design's own include-header / page-title-parallax contract. */
.law-firm-post .page-title,
.law-firm-case .page-title {
	background-image: linear-gradient(to bottom, rgba(var(--cnvs-themecolor-rgb), 0.88), rgba(var(--cnvs-themecolor-rgb), 1));
	border-bottom: 0;
}

/* Keep the dark-scheme overlay a deep-blue tint (default overlay is a
   heavier neutral wash meant for photo backgrounds). */
.law-firm-post .page-title::before,
.law-firm-case .page-title::before {
	background: rgba(0, 0, 0, 0.15);
}

.law-firm-post .page-title h1,
.law-firm-case .page-title h1 {
	font-weight: 700;
}

.law-firm-post .page-title .breadcrumb a:hover,
.law-firm-case .page-title .breadcrumb a:hover {
	color: var(--bs-warning);
}

/* Archive grids: the theme's .entry card recomposed in the demo's card
   language: white rounded card, warning underline, themecolor titles
   (mirrors the home page's .blog-cards treatment). */
.law-firm-blog .entry .grid-inner,
.law-firm-cases .entry .grid-inner {
	position: relative;
	overflow: hidden;
	height: 100%;
	background-color: #FFF;
	border-radius: 0.6rem;
	box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
	padding-bottom: 1.75rem;
	transition: transform 0.3s ease;
}

.law-firm-blog .entry .grid-inner:hover,
.law-firm-cases .entry .grid-inner:hover {
	transform: translateY(-0.25rem);
}

.law-firm-blog .entry .grid-inner::after,
.law-firm-cases .entry .grid-inner::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background-color: var(--bs-warning);
}

.law-firm-blog .entry .entry-title,
.law-firm-blog .entry .entry-meta,
.law-firm-blog .entry .entry-content,
.law-firm-cases .entry .entry-title,
.law-firm-cases .entry .entry-meta,
.law-firm-cases .entry .entry-content {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.law-firm-blog .entry .entry-title h3,
.law-firm-cases .entry .entry-title h3 {
	font-size: 1.25rem;
	line-height: 1.5;
}

.law-firm-blog .entry .entry-title h3 a,
.law-firm-cases .entry .entry-title h3 a {
	color: var(--cnvs-themecolor);
}

.law-firm-blog .entry .entry-title h3 a:hover,
.law-firm-cases .entry .entry-title h3 a:hover {
	color: var(--bs-warning);
}

.law-firm-blog .entry .entry-meta ul li,
.law-firm-blog .entry .entry-meta ul li a,
.law-firm-cases .entry .entry-meta ul li,
.law-firm-cases .entry .entry-meta ul li a {
	color: var(--bs-warning);
}

/* Equal-height cards: stretch each column's card to the row height so the
   warning underline lands at the same baseline across a row. */
.law-firm-blog .post-grid .entry,
.law-firm-cases .post-grid .entry {
	display: flex;
}

.law-firm-blog .entry .grid-inner,
.law-firm-cases .entry .grid-inner {
	display: flex;
	flex-direction: column;
	width: 100%;
}

/* Fixed-ratio card images (source art has wildly different aspect ratios):
   crop to a uniform banner so the grid aligns instead of going ragged. The
   image is the card's top edge, so round only its top corners. */
.law-firm-blog .entry .entry-image,
.law-firm-cases .entry .entry-image,
.law-firm-single .single-case-related .entry-image {
	overflow: hidden;
	border-radius: 0.6rem 0.6rem 0 0;
	margin-bottom: 1.25rem;
}

.law-firm-blog .entry .entry-image img,
.law-firm-cases .entry .entry-image img,
.law-firm-single .single-case-related .entry-image img {
	display: block;
	width: 100%;
	height: 210px;
	object-fit: cover;
	object-position: center;
	transition: transform 0.4s ease;
}

.law-firm-blog .entry .grid-inner:hover .entry-image img,
.law-firm-cases .entry .grid-inner:hover .entry-image img {
	transform: scale(1.04);
}

/* Push the "View Case" read-more to the card's base so cards with shorter
   copy don't leave a gap above the underline. */
.law-firm-blog .entry .entry-content,
.law-firm-cases .entry .entry-content {
	margin-top: auto;
	padding-bottom: 0.25rem;
}

/* Recent-cases cards surface the two things that sell a win: the practice
   area (eyebrow) and the OUTCOME (result pill). Scoped to .law-firm-cases so
   the News archive (.law-firm-blog) is untouched; applies identically on the
   recent-cases page and the case-single "Related Cases" row (same wrapper). */
.law-firm-cases .entry .case-area-tag,
.law-firm-cases .entry .case-outcome,
.law-firm-cases .entry .more-link {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.law-firm-cases .entry .case-area-tag {
	display: block;
	margin-top: 0.1rem;
	margin-bottom: 0.4rem;
	font-family: var(--cnvs-body-font);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #99A0AC;
}

.law-firm-cases .entry .case-outcome {
	margin-top: 0.35rem;
	margin-bottom: 0.9rem;
}

.law-firm-cases .entry .case-outcome-value {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.32rem 0.75rem;
	border-radius: 2rem;
	background-color: rgba(var(--cnvs-themecolor-rgb), 0.07);
	color: var(--cnvs-themecolor);
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1.3;
}

.law-firm-cases .entry .case-outcome-value::before {
	content: "\2713"; /* check, the win */
	color: var(--bs-warning);
	font-weight: 900;
	font-size: 0.9em;
}

/* With the outcome pill between title and excerpt, the excerpt flows
   naturally; only the read-more is pushed to the card base. */
.law-firm-cases .entry .entry-content {
	margin-top: 0;
}

.law-firm-cases .entry .more-link {
	margin-top: auto;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-weight: 700;
	font-size: 0.85rem;
	color: var(--cnvs-themecolor);
}

.law-firm-cases .entry .more-link::after {
	content: "\2192"; /* arrow */
	transition: transform 0.25s ease;
}

.law-firm-cases .entry .grid-inner:hover .more-link,
.law-firm-cases .entry .more-link:hover {
	color: var(--bs-warning);
}

.law-firm-cases .entry .grid-inner:hover .more-link::after {
	transform: translateX(3px);
}

/* ----------------------------------------------------------------
	Additive: designed CPT single, the canvas_lawfirm_case two-column
	case page (image | details = practice-area eyebrow + attribute stat
	strip + write-up + "Discuss Your Case" CTA + Back-to-Cases + Related
	Cases). Body scope `.law-firm-single` (DemoContent\Registrar). Demo
	tokens only (themecolor #0F317E, Manrope/Merriweather). The related
	row reuses the archive `.law-firm-cases .entry .grid-inner` cards
	above (DRY, no card CSS is duplicated here).
-----------------------------------------------------------------*/

.law-firm-single .single-case-media .entry-image img {
	width: 100%;
	/* Crop to a balanced portrait so a very tall source image doesn't tower
	   over the details column; the details set the row height. */
	aspect-ratio: 4 / 5;
	max-height: 560px;
	object-fit: cover;
	object-position: center;
	border-radius: 0.5rem;
	box-shadow: 0 1rem 2.5rem rgba(var(--cnvs-themecolor-rgb), 0.18);
}

/* On two-column widths the details column is taller than the portrait; by
   default the flex column stretches and strands the image at the top with
   dead space below. Let the media column keep its natural height and stick
   to the scroll so the portrait stays in view as the write-up is read. */
@media (min-width: 992px) {
	.law-firm-single .single-case-row > .single-case-media {
		position: -webkit-sticky;
		position: sticky;
		top: 110px;
		align-self: flex-start;
	}
}

.law-firm-single .single-case-details {
	padding: 0.25rem 0;
}

/* Practice-area eyebrow above the case attributes. */
.law-firm-single .case-area {
	display: inline-block;
	margin-bottom: 1rem;
	color: var(--cnvs-themecolor);
	font-family: var(--cnvs-body-font);
	font-weight: 700;
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 2px;
}

.law-firm-single a.case-area:hover {
	color: var(--bs-warning);
}

/* Meta block with a short themecolor accent divider before the write-up. */
.law-firm-single .single-case-meta {
	position: relative;
	margin-bottom: 1.75rem;
	padding-bottom: 1.75rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.law-firm-single .single-case-meta::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 54px;
	height: 3px;
	border-radius: 3px;
	background-color: var(--cnvs-themecolor);
}

/* Attribute stat strip: equal-width bordered stat cards (value over label). */
.law-firm-single .case-attributes {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.law-firm-single .case-attributes li {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 16px 12px;
	text-align: center;
	background-color: rgba(var(--cnvs-themecolor-rgb), 0.045);
	border: 1px solid rgba(var(--cnvs-themecolor-rgb), 0.14);
	border-radius: 8px;
}

.law-firm-single .case-attributes .attr-label {
	order: 2;
	color: #777;
	font-family: var(--cnvs-body-font);
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.law-firm-single .case-attributes .attr-value {
	order: 1;
	color: var(--cnvs-themecolor);
	font-family: var(--cnvs-secondary-font);
	font-weight: 700;
	font-size: 1.05rem;
	line-height: 1.25;
}

@media (max-width: 575.98px) {
	.law-firm-single .case-attributes {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* The case write-up (post-content). */
.law-firm-single .single-case-details .entry-content {
	margin-top: 1.75rem;
}

.law-firm-single .single-case-details .entry-content p {
	font-family: var(--cnvs-body-font);
	font-size: 1rem;
	line-height: 1.8;
}

.law-firm-single .single-case-details .entry-content h3 {
	font-family: var(--cnvs-secondary-font);
	font-weight: 700;
	font-size: 1.15rem;
	margin-top: 1.5rem;
	margin-bottom: 0.75rem;
}

/* Primary "Discuss Your Case" CTA (the theme .button base is themecolor-filled). */
.law-firm-single .single-case-cta {
	margin-top: 1.75rem;
}

.law-firm-single .single-case-contact {
	padding: 0.85rem 2rem;
	font-weight: 600;
	box-shadow: 0 0.5rem 1.25rem rgba(var(--cnvs-themecolor-rgb), 0.28);
}

/* Footer: demoted ghost "Back to Cases" + "Related Cases" heading. */
.law-firm-single .single-case-footer {
	margin-top: 3.5rem;
	padding-top: 2.5rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.law-firm-single .single-case-back {
	margin-bottom: 2.5rem;
	background-color: transparent;
	color: var(--cnvs-heading-color, #333);
	border: 1px solid rgba(0, 0, 0, 0.2);
}

.law-firm-single .single-case-back:hover {
	background-color: #333;
	color: #fff;
	border-color: #333;
}

.law-firm-single .related-cases-title {
	position: relative;
	margin-bottom: 1.75rem;
	padding-bottom: 0.75rem;
	font-family: var(--cnvs-secondary-font);
	font-weight: 700;
}

.law-firm-single .related-cases-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 40px;
	height: 2px;
	background-color: var(--cnvs-themecolor);
}

/* ----------------------------------------------------------------
	Additive: designed blog-SINGLE sidebar. The demo's news posts render
	through the GLOBAL single.html (`.postcontent.col-lg-9` +
	`.sidebar.col-lg-3` with Recent Posts / Categories / Tag Cloud WP
	CORE blocks: `.wp-block-latest-posts` / `.wp-block-categories` /
	`.wp-block-tag-cloud`, which the theme's classic-widget rules do not
	target). Body scope `.law-firm-post` (generic canvas_demo_post_body_class);
	demo tokens only (Merriweather display, Manrope body, themecolor #0F317E).
-----------------------------------------------------------------*/

.law-firm-post .sidebar .widget {
	margin-top: 2.5rem;
	padding-top: 0;
	border-top: 0;
}

.law-firm-post .sidebar .widget:first-child {
	margin-top: 0;
}

/* Widget title: the demo's Merriweather heading + a short themecolor
   accent underline (mirrors the case single's related-cases title). */
.law-firm-post .sidebar .widget-title {
	position: relative;
	font-family: var(--cnvs-secondary-font);
	font-weight: 700;
	font-size: 17px;
	color: #222;
	padding-bottom: 14px;
	margin-bottom: 22px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.law-firm-post .sidebar .widget-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 40px;
	height: 2px;
	background-color: var(--cnvs-themecolor);
}

/* Generic widget links: themecolor on hover. */
.law-firm-post .sidebar .widget a {
	color: #444;
	transition: color 0.25s ease;
}

.law-firm-post .sidebar .widget a:hover {
	color: var(--cnvs-themecolor);
}

/* Recent Posts: clean stacked rows (hairline dividers); title in the demo
   body font, the date muted below it. */
.law-firm-post .sidebar .wp-block-latest-posts__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.law-firm-post .sidebar .wp-block-latest-posts__list li {
	padding: 12px 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.law-firm-post .sidebar .wp-block-latest-posts__list li:first-child {
	padding-top: 0;
}

.law-firm-post .sidebar .wp-block-latest-posts__list li:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.law-firm-post .sidebar .wp-block-latest-posts__post-title {
	display: block;
	font-family: var(--cnvs-body-font);
	font-weight: 600;
	font-size: 14px;
	line-height: 1.5;
}

.law-firm-post .sidebar .wp-block-latest-posts__post-date {
	display: block;
	margin-top: 5px;
	font-family: var(--cnvs-body-font);
	font-size: 12px;
	color: #999;
}

/* Categories: same row rhythm; label in the body font, count muted. */
.law-firm-post .sidebar .wp-block-categories {
	list-style: none;
	margin: 0;
	padding: 0;
}

.law-firm-post .sidebar .wp-block-categories li {
	padding: 9px 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	font-family: var(--cnvs-body-font);
	font-size: 14px;
	color: #999;
}

.law-firm-post .sidebar .wp-block-categories li:first-child {
	padding-top: 0;
}

.law-firm-post .sidebar .wp-block-categories li:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.law-firm-post .sidebar .wp-block-categories a {
	font-family: var(--cnvs-body-font);
	font-weight: 600;
}

/* Tag Cloud: tags as themecolor-bordered pill/chip links; font-size
   normalised over the block's per-tag inline pt sizing for a tidy row. */
.law-firm-post .sidebar .wp-block-tag-cloud {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
}

.law-firm-post .sidebar .wp-block-tag-cloud .tag-cloud-link {
	display: inline-block;
	padding: 6px 14px;
	font-family: var(--cnvs-body-font);
	font-size: 12px !important;
	font-weight: 500;
	line-height: 1.4;
	color: var(--cnvs-themecolor);
	background-color: rgba(var(--cnvs-themecolor-rgb), 0.06);
	border: 1px solid rgba(var(--cnvs-themecolor-rgb), 0.35);
	border-radius: 50px;
	transition: all 0.25s ease;
}

.law-firm-post .sidebar .wp-block-tag-cloud .tag-cloud-link:hover {
	color: #fff;
	background-color: var(--cnvs-themecolor);
	border-color: var(--cnvs-themecolor);
}

/* ----------------------------------------------------------------
	Additive: designed blog-SINGLE main column, the news article itself.
	In the source's blog single the title lives in the page-title bar (the demo's
	transparent dark header needs that dark band), and there is NO in-content
	title, so the duplicate post-title single.html emits is hidden. Plus a
	clean banner featured image and the demo's Merriweather/Manrope article
	typography. `.law-firm-post` scope; demo tokens only.
-----------------------------------------------------------------*/

/* Hide the duplicate in-content post-title (the title shows in the bar). Only
   the main article's direct-child title: related/recent titles are nested
   deeper and are untouched. */
.law-firm-post .single-post .entry > .entry-title {
	display: none;
}

/* Meta row (date / author / category): now the article's first visible line. */
.law-firm-post .single-post .entry > .entry-meta {
	margin-top: 0;
	margin-bottom: 1.5rem;
	font-family: var(--cnvs-body-font);
}

.law-firm-post .single-post .entry > .entry-meta a:hover {
	color: var(--cnvs-themecolor);
}

/* Featured image: a clean rounded article banner (source art varies wildly
   in size/ratio, so crop to a uniform banner). */
.law-firm-post .single-post .entry-image {
	margin-bottom: 2rem;
	border-radius: 0.6rem;
	overflow: hidden;
}

.law-firm-post .single-post .entry-image img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	max-height: 460px;
	object-fit: cover;
	object-position: center;
}

/* Article body: Manrope body at a comfortable measure/leading, Merriweather
   subheads, themecolor links; a larger lead paragraph sets the tone. */
.law-firm-post .single-post .entry-content {
	font-family: var(--cnvs-body-font);
}

.law-firm-post .single-post .entry-content p {
	font-size: 1.0625rem;
	line-height: 1.85;
	color: #444;
	margin-bottom: 1.4rem;
}

.law-firm-post .single-post .entry-content > p:first-of-type {
	font-size: 1.2rem;
	line-height: 1.7;
	color: #2a2a2a;
}

.law-firm-post .single-post .entry-content h1,
.law-firm-post .single-post .entry-content h2,
.law-firm-post .single-post .entry-content h3,
.law-firm-post .single-post .entry-content h4 {
	font-family: var(--cnvs-secondary-font);
	font-weight: 700;
	color: #1c1c1c;
	margin-top: 2rem;
	margin-bottom: 0.9rem;
}

.law-firm-post .single-post .entry-content a {
	color: var(--cnvs-themecolor);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* ----------------------------------------------------------------
	Additive: term / date / author archives, the demo BLOG design.

	When the demo is site-wide active, the generic
	`canvas_demo_scope_body_class()` stamps `law-firm law-firm-archive` on
	every archive-family view (term/date/author archives, blog home,
	search). These rules give the SHARED global archive template's generic
	post list + title band the demo's blog look WITHOUT editing that
	(every-demo) template: reusing the same News-card language as the
	designed News/Recent-Cases pages (`.law-firm-blog`/`.law-firm-cases`)
	and the same tokens. Scoped by body class → non-demo sites (which never
	carry the class) are untouched. Demo tokens only.
-----------------------------------------------------------------*/

/* The demo header is a DARK transparent header (light menu), so the archive
   title band is a solid themecolor banner (a light band would hide the light
   header menu). The default `.page-title` padding is only 4rem, so extra
   top padding clears the floating header. */
.law-firm-archive .page-title {
	padding-top: 7.5rem;
	padding-bottom: 4rem;
	background-image: linear-gradient(to bottom, rgba(var(--cnvs-themecolor-rgb), 0.92), rgba(var(--cnvs-themecolor-rgb), 1));
	border-bottom: 0;
}

.law-firm-archive .page-title h1 {
	color: #fff;
	font-family: var(--cnvs-secondary-font);
	font-weight: 700;
}

.law-firm-archive .page-title .breadcrumb,
.law-firm-archive .page-title .breadcrumb a,
.law-firm-archive .page-title .breadcrumb .active {
	color: rgba(255, 255, 255, 0.75);
}

.law-firm-archive .page-title .breadcrumb a:hover {
	color: var(--bs-warning);
}

/* Archive cards: the demo's News-card look (white rounded card, warning
   bottom accent, themecolor Merriweather titles), matching the designed
   News/Recent-Cases page cards, in the single-column archive list. */
.law-firm-archive .entry {
	margin-bottom: 30px;
}

.law-firm-archive .entry .grid-inner {
	position: relative;
	overflow: hidden;
	background-color: #fff;
	border-radius: 0.6rem;
	box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
	padding-bottom: 1.75rem;
	transition: transform 0.3s ease;
}

.law-firm-archive .entry .grid-inner:hover {
	transform: translateY(-0.25rem);
}

.law-firm-archive .entry .grid-inner::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background-color: var(--bs-warning);
}

.law-firm-archive .entry .entry-title,
.law-firm-archive .entry .entry-meta,
.law-firm-archive .entry .entry-content,
.law-firm-archive .entry .more-link {
	padding-left: 1.75rem;
	padding-right: 1.75rem;
}

.law-firm-archive .entry .entry-title {
	padding-top: 1.5rem;
}

.law-firm-archive .entry .entry-title h2 {
	font-family: var(--cnvs-secondary-font);
	font-weight: 700;
	font-size: 1.35rem;
	line-height: 1.4;
}

.law-firm-archive .entry .entry-title h2 a {
	color: var(--cnvs-themecolor);
}

.law-firm-archive .entry .entry-title h2 a:hover {
	color: var(--bs-warning);
}

.law-firm-archive .entry .entry-meta ul li,
.law-firm-archive .entry .entry-meta ul li a {
	color: var(--bs-warning);
}

.law-firm-archive .entry .entry-content p {
	font-family: var(--cnvs-body-font);
	line-height: 1.8;
	color: #777;
}

.law-firm-archive .entry .more-link {
	display: inline-block;
	margin-top: 0.5rem;
	font-family: var(--cnvs-secondary-font);
	font-weight: 700;
	color: var(--cnvs-themecolor);
}

.law-firm-archive .entry .more-link:hover {
	color: var(--bs-warning);
}

/* Default all demo images to object-fit:cover (avoid stretch/distortion in fixed-aspect boxes; inert on natural-aspect icons/logos). */
.law-firm img {
	object-fit: cover;
}
