/* Laws Detail :: Front-end */

:root {
	--ld-primary-color: #2663eb;
	--ld-secondary-color: #773ded;
	--ld-bg-light: #f7f9fe;
	--ld-border-color: #2563eb;
	--ld-accent-color: #cddbff;
	--ld-text-dark: #333333;
	--ld-text-light: #666666;
	--ld-white: #ffffff;
}

/* Base Styles */

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

	width: 100%;
	max-width: var( --ld-canvas );
	margin: 0 auto;
	padding: 0 var( --ld-gutter );
	box-sizing: border-box;
	font-family: 'Google Sans', sans-serif;
}

.ld-container * { box-sizing: border-box; }

/* Theme Reset Guards */

.ld-section h2,
.ld-section h3,
.ld-section h4,
.ld-section p {
	margin: 0;
	padding: 0;
	font-family: inherit;
	letter-spacing: 0;
}

/* Title */

.ld-title {
	font-family: 'Anybody', sans-serif;
	font-weight: 700;
	line-height: 1.025;
	text-transform: uppercase;
	color: var( --ld-text-dark );
	text-align: center;
	margin: 60px 0;
	letter-spacing: -0.5px;
	font-size: max( 24px, calc( 40px * var( --ld-hs ) ) );
}

/* Sections */

.ld-section {
	margin-bottom: 60px;
}

.ld-section-title {
	font-family: 'Anybody', sans-serif;
	font-weight: 700;
	line-height: 1.03;
	text-transform: uppercase;
	color: var( --ld-text-dark );
	margin-bottom: 30px;
	letter-spacing: -0.5px;
	font-size: max( 22px, calc( 32px * var( --ld-hs ) ) );
}

.ld-section-content {
	font-weight: 400;
	line-height: 1.25;
	color: var( --ld-text-dark );
	margin: 0;
	font-size: max( 13px, calc( 16px * var( --ld-bs ) ) );
}

.ld-section-content p {
	margin: 0 0 15px;
	font-size: max( 13px, calc( 16px * var( --ld-bs ) ) );
	line-height: 1.25;
}

.ld-section-content p:last-child {
	margin-bottom: 0;
}

.ld-section-content ul,
.ld-section-content ol {
	margin: 15px 0;
	padding-left: 20px;
	font-size: max( 13px, calc( 16px * var( --ld-bs ) ) );
	line-height: 1.25;
}

.ld-section-content li {
	margin-bottom: 10px;
	font-size: max( 13px, calc( 16px * var( --ld-bs ) ) );
	line-height: 1.25;
	color: var( --ld-text-dark );
}

/* Section Variants */

.ld-section-overview {
	background: var( --ld-bg-light );
	border-left: 1px solid var( --ld-border-color );
	padding: 40px;
	margin-bottom: 60px;
}

.ld-section-overview .ld-section-title {
	margin-top: 0;
	margin-bottom: 20px;
}

.ld-section-applicability {
	background: var( --ld-bg-light );
	width: 100vw;
	margin-left: calc( 50% - 50vw );
	margin-right: calc( 50% - 50vw );
	padding: 40px 0;
	margin-bottom: 60px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.ld-section-applicability .ld-section-title {
	width: 100%;
	max-width: var( --ld-canvas );
	padding: 0 var( --ld-gutter );
	box-sizing: border-box;
	margin-top: 0;
	margin-bottom: 20px;
	display: block;
}

.ld-section-applicability .ld-section-content {
	width: 100%;
	max-width: var( --ld-canvas );
	padding: 0 var( --ld-gutter );
	box-sizing: border-box;
	margin: 0;
	display: block;
}

.ld-section-applicability .ld-section-content p {
	margin: 0;
}

.ld-section-key_compliance_areas {
	margin-bottom: 60px;
}

.ld-section-key_compliance_areas .ld-section-title {
	margin-bottom: 40px;
}

.ld-section-key_compliance_areas ul {
	display: grid;
	grid-template-columns: repeat( 2, 1fr );
	gap: 30px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ld-section-key_compliance_areas li {
	background: var( --ld-bg-light );
	border-left: 8px solid var( --ld-accent-color );
	border-radius: 20px;
	padding: 30px;
	min-height: 70px;
	display: flex;
	align-items: center;
	font-weight: 500;
	font-size: max( 14px, calc( 18px * var( --ld-bs ) ) );
	line-height: 1.4;
	color: var( --ld-text-dark );
	margin: 0;
	transition: all 0.3s ease;
}

.ld-section-key_compliance_areas li:hover {
	box-shadow: 0 2px 8px rgba( 38, 99, 235, 0.15 );
	transform: translateX( 4px );
	border-left-color: var( --ld-primary-color );
	color: var( --ld-primary-color );
}

.ld-section-grievance_redressal {
	background: var( --ld-bg-light );
	border-left: 1px solid var( --ld-border-color );
	padding: 40px;
	margin-bottom: 60px;
}

.ld-section-grievance_redressal .ld-section-title {
	margin-top: 0;
	margin-bottom: 20px;
}

.ld-section-grievance_redressal .ld-section-content {
	margin: 0;
}

.ld-section-grievance_redressal .ld-section-content p {
	margin: 0 0 15px;
}

.ld-section-why_compliance_matters {
	background: var( --ld-bg-light );
	border: 1px solid var( --ld-border-color );
	border-radius: 20px;
	padding: 47px 39px;
	margin-bottom: 60px;
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.ld-section-why_compliance_matters .ld-section-title {
	margin-top: 0;
	margin-bottom: 30px;
}

.ld-section-why_compliance_matters .ld-section-content {
	margin: 0;
}

.ld-section-box {
	background: var( --ld-bg-light );
	border: 2px solid var( --ld-border-color );
	border-radius: 35px;
	padding: 47px 39px;
	margin-top: 30px;
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.ld-box-content {
	font-weight: 400;
	font-size: max( 13px, calc( 16px * var( --ld-bs ) ) );
	line-height: 1.25;
	color: var( --ld-text-dark );
}

.ld-box-content p {
	margin: 0;
	font-size: max( 13px, calc( 16px * var( --ld-bs ) ) );
	line-height: 1.25;
}

.ld-box-content p:last-child {
	margin-bottom: 0;
}

.ld-box-content ul,
.ld-box-content ol {
	margin: 15px 0;
	padding-left: 20px;
}

.ld-box-content li {
	font-size: max( 13px, calc( 16px * var( --ld-bs ) ) );
	line-height: 1.25;
	margin-bottom: 10px;
}

.ld-section-disclaimer {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 100vw;
	margin-left: calc( 50% - 50vw );
	margin-right: calc( 50% - 50vw );
	padding: 0;
	margin-bottom: 80px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 23.6vw;
	border-radius: 0;
	overflow: hidden;
}

.ld-section-disclaimer[data-bg-image] {
	background-image: var( --ld-bg-image );
}

.ld-section-disclaimer-content {
	width: 100%;
	max-width: var( --ld-canvas );
	margin: 0 auto;
	padding: 0 var( --ld-gutter );
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.ld-section-disclaimer .ld-disclaimer-title,
.ld-section-disclaimer .ld-disclaimer-content {
	max-width: 91.83%;
}

.ld-section-disclaimer .ld-disclaimer-title {
	font-family: 'Anybody', sans-serif;
	font-weight: 800;
	font-size: max( 20px, calc( 40px * var( --ld-hs ) ) );
	line-height: 1.2;
	color: var( --ld-primary-color );
	margin: 0 0 24px;
	text-transform: uppercase;
}

.ld-section-disclaimer .ld-disclaimer-content {
	font-family: 'Google Sans', sans-serif;
	font-weight: 400;
	font-size: max( 14px, calc( 18px * var( --ld-bs ) ) );
	line-height: 1.4;
	color: #252525;
	margin: 0;
}

.ld-section-disclaimer .ld-disclaimer-content p {
	margin: 0;
	font-size: inherit;
	line-height: inherit;
}

.ld-section-disclaimer .ld-disclaimer-content strong {
	font-weight: 700;
}

.ld-law-wrapper {
	margin-bottom: 80px;
	padding-bottom: 80px;
	border-bottom: 1px solid #e0e0e0;
}

.ld-law-wrapper:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.ld-pdf-download-container {
	display: flex;
	justify-content: flex-start;
	margin: 40px 0;
}

.ld-pdf-download-btn {
	display: inline-block;
	padding: 12px 28px;
	background: linear-gradient( 90deg, var( --ld-primary-color ) 0%, var( --ld-secondary-color ) 100% );
	border: none;
	border-radius: 13px;
	color: var( --ld-white );
	text-decoration: none;
	font-family: 'Google Sans', sans-serif;
	font-weight: 600;
	font-size: max( 14px, calc( 16px * var( --ld-bs ) ) );
	line-height: 1.5;
	text-align: center;
	transition: transform 0.3s ease;
	cursor: pointer;
}

.ld-pdf-download-btn:link,
.ld-pdf-download-btn:visited,
.ld-pdf-download-btn:hover,
.ld-pdf-download-btn:active {
	color: var( --ld-white );
}

.ld-pdf-download-btn:hover {
	transform: translateY( -2px );
}

.ld-pdf-download-btn:active {
	transform: translateY( 0 );
}

.ld-compliance-grid {
	display: grid;
	grid-template-columns: repeat( 2, 1fr );
	gap: 30px;
	margin-top: 0;
}

.ld-compliance-item {
	width: 100%;
}

.ld-compliance-box {
	background: var( --ld-bg-light );
	border-left: 8px solid var( --ld-accent-color );
	border-radius: 20px;
	padding: 30px;
	min-height: 70px;
	display: flex;
	align-items: center;
	transition: all 0.3s ease;
}

.ld-compliance-box:hover {
	box-shadow: 0 2px 8px rgba( 38, 99, 235, 0.15 );
	transform: translateX( 4px );
	border-left-color: var( --ld-primary-color );
}

.ld-compliance-box p {
	font-weight: 500;
	font-size: max( 14px, calc( 18px * var( --ld-bs ) ) );
	line-height: 1.4;
	color: var( --ld-text-dark );
	margin: 0;
	text-align: left;
}

/* Responsive Design - Desktop to Mobile */

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

@media ( max-width: 1200px ) {
	.ld-container { --ld-hs: 0.9; --ld-bs: 0.95; }
	.ld-section-box { padding: 40px 35px; border-radius: 30px; }
	.ld-section-why_compliance_matters { padding: 40px 35px; border-radius: 18px; }
}

@media ( max-width: 1024px ) {
	.ld-container { --ld-hs: 0.82; --ld-bs: 0.92; }
	.ld-title { margin: 48px 0; }
	.ld-section-applicability { padding: 30px 0; }
	.ld-section-applicability .ld-section-title,
	.ld-section-applicability .ld-section-content { padding: 0 var( --ld-gutter ); }
	.ld-section-grievance_redressal { padding: 30px; }
	.ld-section-disclaimer { padding: 8vw 0; min-height: auto; }
}

@media ( max-width: 768px ) {
	.ld-container { --ld-hs: 0.8; --ld-bs: 0.95; --ld-gutter: 20px; }
	.ld-title { font-size: 28px; margin: 40px 0; }
	.ld-section { margin-bottom: 40px; }
	.ld-section-title { font-size: max( 20px, calc( 24px * var( --ld-hs ) ) ); margin-bottom: 16px; }

	.ld-section-overview { padding: 20px; }
	.ld-section-applicability { padding: 20px 0; }
	.ld-section-applicability .ld-section-title,
	.ld-section-applicability .ld-section-content { padding: 0 var( --ld-gutter ); }
	.ld-section-grievance_redressal { padding: 20px; }

	.ld-section-disclaimer { padding: 6vw 0; }

	.ld-compliance-grid,
	.ld-section-key_compliance_areas ul { grid-template-columns: 1fr; gap: 15px; }
	.ld-compliance-box,
	.ld-section-key_compliance_areas li { padding: 20px 15px; min-height: auto; }

	.ld-section-box { padding: 25px 20px; border-radius: 25px; }
	.ld-section-why_compliance_matters { padding: 25px 20px; }
}

@media ( max-width: 600px ) {
	.ld-container { --ld-hs: 0.7; --ld-bs: 0.9; --ld-gutter: 15px; }
	.ld-title { font-size: 24px; margin: 30px 0; }
	.ld-section { margin-bottom: 30px; }
	.ld-section-title { font-size: max( 18px, calc( 20px * var( --ld-hs ) ) ); }

	.ld-section-overview { padding: 15px; }
	.ld-section-applicability { padding: 15px 0; }
	.ld-section-applicability .ld-section-title,
	.ld-section-applicability .ld-section-content { padding: 0 var( --ld-gutter ); }
	.ld-section-grievance_redressal { padding: 15px; }

	.ld-section-disclaimer { padding: 6vw 0; }

	.ld-compliance-grid,
	.ld-section-key_compliance_areas ul { gap: 12px; }
	.ld-compliance-box,
	.ld-section-key_compliance_areas li { padding: 15px 12px; border-left: 6px solid var( --ld-accent-color ); }

	.ld-section-box { padding: 20px 15px; border-radius: 20px; }
	.ld-section-why_compliance_matters { padding: 20px 15px; }

	.ld-pdf-download-btn { padding: 10px 20px; }
}

@media ( max-width: 400px ) {
	.ld-container { --ld-hs: 0.64; --ld-bs: 0.88; --ld-gutter: 12px; }
	.ld-title { font-size: 22px; margin: 24px 0; }
	.ld-section-title { font-size: max( 16px, calc( 18px * var( --ld-hs ) ) ); margin-bottom: 14px; }

	.ld-section-overview { padding: 12px; }
	.ld-section-grievance_redressal { padding: 12px; }

	.ld-compliance-box,
	.ld-section-key_compliance_areas li { padding: 12px 10px; border-radius: 12px; }

	.ld-section-box { padding: 15px 12px; border-radius: 16px; margin-top: 15px; }
	.ld-section-why_compliance_matters { padding: 15px 12px; border-radius: 16px; }
}

@media ( max-width: 768px ) {
	.ld-section-why_compliance_matters .ld-section-content,
	.ld-section-why_compliance_matters .ld-section-content * {
		text-align: left !important;
	}
}

@media ( max-width: 600px ) {
	.ld-container .ld-section-applicability .ld-section-title,
	.ld-container .ld-section-applicability .ld-section-content,
	.ld-container .ld-section-disclaimer-content {
		padding-left: calc( var( --ld-gutter ) + 15px );
		padding-right: calc( var( --ld-gutter ) + 15px );
	}
}

@media ( max-width: 400px ) {
	.ld-container .ld-section-applicability .ld-section-title,
	.ld-container .ld-section-applicability .ld-section-content,
	.ld-container .ld-section-disclaimer-content {
		padding-left: calc( var( --ld-gutter ) + 12px );
		padding-right: calc( var( --ld-gutter ) + 12px );
	}
}

@media ( prefers-reduced-motion: reduce ) {
	.ld-section-box,
	.ld-section-why_compliance_matters,
	.ld-compliance-box,
	.ld-section-key_compliance_areas li,
	.ld-pdf-download-btn {
		transition: none !important;
	}
}
