/* Laws Hero :: Front-end (Box Grid Layout) */

.lh-section {
	--lh-hs: 1;
	--lh-bs: 1;
	--lh-gutter: calc( ( var( --lh-canvas, 1440px ) - var( --lh-content, 1200px ) ) / 2 );

	width: 100%;
	padding: var( --lh-pad-y, 60px ) 0 var( --lh-pad-bottom, 60px );
	margin-bottom: var( --lh-gap-bottom, 0px );
	background: #FFFFFF;
	font-family: 'Google Sans', sans-serif;
	box-sizing: border-box;
}
.lh-section * { box-sizing: border-box; }

.lh-section.lh-full {
	width: var( --lh-vw, 100vw );
	max-width: var( --lh-vw, 100vw );
	margin-left: calc( 50% - ( var( --lh-vw, 100vw ) / 2 ) );
	margin-right: calc( 50% - ( var( --lh-vw, 100vw ) / 2 ) );
}

.lh-container {
	max-width: var( --lh-canvas, 1440px );
	margin: 0 auto;
	padding: 0 var( --lh-gutter );
}

/* Theme reset guards */
.lh-section h2,
.lh-section h3,
.lh-section h4,
.lh-section p { margin: 0; padding: 0; }
.lh-section h2,
.lh-section h3,
.lh-section h4 { font-family: inherit; letter-spacing: 0; }
.lh-section a { box-shadow: none; }
.lh-section button {
	font: inherit;
	color: inherit;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	border: none;
	padding: 0;
	background: transparent;
}

/* Headline block */

.lh-head { text-align: center; margin-bottom: 30px; }

.lh-heading {
	font-family: 'Anybody', sans-serif !important;
	font-weight: 700;
	line-height: 1.025;
	text-transform: uppercase;
	color: var( --lh-heading, #333333 );
	font-size: max( 24px, calc( var( --lh-heading-fs, 40px ) * var( --lh-hs ) ) );
}

.lh-head .lh-intro {
	max-width: 828px;
	margin: 20px auto 0;
	font-weight: 400;
	line-height: 1.25;
	color: var( --lh-intro, #9F9F9F );
	font-size: max( 13px, calc( var( --lh-intro-fs, 20px ) * var( --lh-bs ) ) );
}

/* Law Grid Layout */

.lh-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var( --lh-card-gap, 30px );
	max-width: 1200px;
	margin: 0 auto;
}

.lh-law-card {
	background: var( --lh-card-bg, #F7F9FE );
	border-radius: var( --lh-card-radius, 20px );
	padding: 30px;
	min-height: 250px;
	display: flex;
	flex-direction: column;
	cursor: pointer;
	transition: all 0.3s ease;
	position: relative;
	overflow: visible;
	grid-column: auto;
}


.lh-law-card:hover,
.lh-law-card.is-active {
	background: #DDE6FF;
}

.lh-law-header {
	margin-bottom: auto;
}

.lh-law-title {
	font-family: 'Google Sans', sans-serif;
	font-size: max( 14px, calc( var( --lh-title-fs, 24px ) * var( --lh-bs ) ) );
	font-weight: 400;
	line-height: 1.25;
	color: var( --lh-title, #000000 );
	text-transform: capitalize;
	text-align: center;
	margin: 0;
	padding: 0;
	cursor: pointer;
	transition: color 0.3s ease;
}

.lh-law-card:hover .lh-law-title,
.lh-law-card.is-active .lh-law-title {
	color: #2663EB;
}

.lh-read-more {
	display: inline-block;
	margin-top: 20px;
	padding: 12px 28px;
	background: #E8EEFF;
	border: 1px solid #2563EB;
	border-radius: 13px;
	color: #2563EB;
	text-decoration: none;
	font-family: 'Google Sans', sans-serif;
	font-weight: 600;
	font-size: 18px;
	line-height: 23px;
	text-align: center;
	transition: all 0.3s ease;
	align-self: center;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.lh-read-more:hover {
	background: linear-gradient(90deg, #2663EB 0%, #773DED 100%);
	color: #FFFFFF;
	border-color: transparent;
}

/* Card View Laws Dropdown */

.lh-card-view-laws-dropdown {
	position: static;
	width: 100%;
	margin-top: 12px;
	text-align: center;
	display: flex;
	flex-direction: column;
}

.lh-view-laws-trigger {
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 8px 16px;
	background: transparent;
	border: none;
	cursor: pointer;
	transition: all 0.3s ease;
	user-select: none;
}

.lh-view-laws-trigger:hover {
	background: transparent;
	border: none;
	color: inherit;
}

.lh-view-laws-text {
	font-family: 'Inter', 'Google Sans', 'Segoe UI', sans-serif;
	font-size: 20px;
	font-weight: 500;
	line-height: 24px;
	color: #838383;
	transition: color 0.3s ease;
	white-space: nowrap;
}

.lh-view-laws-trigger:hover .lh-view-laws-text {
	color: #333333;
}

.lh-view-laws-trigger:hover .lh-view-laws-arrow path {
	stroke: #333333;
}

.lh-view-laws-arrow {
	width: 24px;
	height: 24px;
	transition: transform 0.3s ease, stroke 0.3s ease;
	flex-shrink: 0;
}

.lh-view-laws-arrow path {
	stroke: #838383;
	transition: stroke 0.3s ease;
}


.lh-view-laws-trigger.active .lh-view-laws-text {
	color: #333333;
}

.lh-view-laws-trigger.active .lh-view-laws-arrow {
	transform: rotate(180deg);
}

.lh-view-laws-trigger.active .lh-view-laws-arrow path {
	stroke: #333333;
}

.lh-view-laws-menu {
	position: static;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	min-width: auto;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: all 0.3s ease;
	margin-top: 0;
	z-index: 1000;
	margin-bottom: 0;
	width: 100%;
}

.lh-view-laws-menu.active {
	max-height: 1000px;
	opacity: 1;
	margin-top: 20px;
	margin-bottom: 0;
}

@media (max-width: 768px) {
	.lh-view-laws-menu {
		margin-top: 0;
	}
	.lh-view-laws-menu.active {
		margin-top: 10px;
		margin-bottom: 30px;
	}
}

.lh-view-laws-item {
	padding: 0;
	border: none;
	display: block;
	transition: all 0.2s ease;
	text-decoration: none;
	color: inherit;
	font-family: 'Google Sans', 'Segoe UI', sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 18px;
	color: #333333;
}

.lh-view-laws-item:last-child {
	border-bottom: none;
	margin-bottom: 0;
}

.lh-view-laws-item:hover {
	background: transparent;
}

.lh-view-laws-item-title {
	flex: 1;
	margin: 0;
}

.lh-view-laws-item-arrow {
	display: none;
}

/* Compliance Areas (Full-width Expandable) */

.lh-compliance-container {
	width: 100%;
	margin-top: 30px;
	display: none !important;
}

.lh-compliance-container.is-active {
	display: block !important;
	animation: slideDown 0.3s ease forwards;
}

.lh-compliance-container-mobile {
	width: 100%;
	margin-top: 20px;
	display: none !important;
}

.lh-compliance-container-mobile.is-active {
	display: block !important;
	animation: slideDown 0.3s ease forwards;
}

.lh-compliance-areas {
	background: var( --lh-card-bg, #F7F9FE );
	border-radius: var( --lh-card-radius, 20px );
	padding: 35px 40px;
	width: 100%;
}

@keyframes slideDown {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.lh-compliance-areas h4 {
	font-family: 'Anybody', sans-serif;
	font-weight: 700;
	font-size: max( 20px, calc( 32px * var( --lh-hs ) ) );
	line-height: 1;
	text-transform: uppercase;
	color: #333333;
	margin-bottom: 30px;
	text-align: center;
}

.lh-compliance-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.lh-compliance-item {
	background: #FFFFFF;
	border-left: 8px solid #CDDBFF;
	border-radius: 20px;
	padding: 20px 25px;
	font-family: 'Google Sans', sans-serif;
	font-weight: 500;
	font-size: 20px;
	line-height: 25px;
	color: #333333;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	transition: all 0.2s ease;
	cursor: pointer;
	width: 100%;
}

.lh-compliance-item:hover {
	background: #FAFBFF;
	border-left-color: #2563EB;
	transform: translateX(4px);
	color: #2563EB;
}

.lh-compliance-item:last-child {
	margin-bottom: 0;
}

.lh-compliance-item,
.lh-compliance-item:visited,
.lh-compliance-item:link {
	color: #333333;
}

.lh-compliance-item-title {
	margin: 0;
	padding: 0;
	font-size: 20px;
	line-height: 25px;
	flex: 1;
}

/* Responsive */

@media ( max-width: 1439px ) {
	.lh-section { --lh-gutter: clamp( 40px, 6vw, 120px ); }
}

@media ( max-width: 1300px ) {
	.lh-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 25px;
	}
}

@media ( max-width: 1024px ) {
	.lh-section { --lh-hs: .82; --lh-bs: .92; padding: 48px 0; }
	.lh-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 25px;
	}
	.lh-law-card {
		padding: 25px;
	}
}

@media ( max-width: 768px ) {
	.lh-section { --lh-hs: .8; --lh-bs: .95; }
	.lh-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
	.lh-law-card {
		padding: 20px;
		min-height: auto;
		display: flex;
		flex-direction: column;
	}
	.lh-view-laws-text {
		font-size: 14px;
	}
	.lh-view-laws-menu.active {
		margin-top: 12px;
	}
	.lh-view-laws-item {
		padding: 12px 14px;
		font-size: 13px;
		margin-bottom: 8px;
	}
	.lh-compliance-list {
		grid-template-columns: 1fr;
	}
	.lh-compliance-container {
		display: none !important;
	}
	.lh-compliance-container-mobile {
		width: 100%;
		margin-top: 15px;
	}
	.lh-compliance-areas {
		padding: 20px;
	}
	.lh-compliance-areas h4 {
		font-size: max( 16px, calc( 24px * var( --lh-hs ) ) );
		margin-bottom: 20px;
	}
}

@media ( max-width: 600px ) {
	.lh-section { --lh-hs: .7; --lh-bs: .9; --lh-gutter: 20px; padding: 40px 0; }
	.lh-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.lh-law-card {
		padding: 15px;
	}
	.lh-compliance-areas {
		padding: 20px;
	}
}

@media ( max-width: 400px ) {
	.lh-section { --lh-hs: .64; --lh-bs: .88; --lh-gutter: 16px; }
	.lh-law-card {
		padding: 15px;
	}
}

@media ( prefers-reduced-motion: reduce ) {
	.lh-law-card,
	.lh-read-more,
	.lh-compliance-areas {
		transition: none !important;
	}
}
