/**
 * Centralized Frontend Stylesheet - Auction Sheet Verification
 * Design System: Nippon Chassis Ledger
 * Tokens:
 *   bg:        #F4F7FB
 *   surface:   #FFFFFF
 *   primary:   #0B1528
 *   secondary: #16243E
 *   ink:       #0F172A
 *   muted:     #475569
 *   border:    #DCE3EE
 *   accent:    #D97706
 */

:root {
	--asv-bg: #F4F7FB;
	--asv-surface: #FFFFFF;
	--asv-primary: #0B1528;
	--asv-secondary: #16243E;
	--asv-ink: #0F172A;
	--asv-muted: #475569;
	--asv-border: #DCE3EE;
	--asv-accent: #D97706;
	--asv-font-heading: 'Plus Jakarta Sans', sans-serif;
	--asv-font-body: 'DM Sans', sans-serif;
	--asv-font-mono: 'JetBrains Mono', monospace;
	--asv-radius-sm: 6px;
	--asv-radius-md: 10px;
	--asv-radius-lg: 14px;
}

body,
body .site-content,
body p,
body li {
	font-family: var(--asv-font-body);
	color: var(--asv-ink);
	line-height: 1.65;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.site-title,
.wp-block-heading {
	font-family: var(--asv-font-heading);
	line-height: 1.12;
	letter-spacing: -0.02em;
}

/* Unified 1280px Container Width for Header, Footer, and Pages */
:root {
	--ast-normal-container-width: 1280px;
	--wp--style--global--content-size: 1280px;
	--wp--style--global--wide-size: 1280px;
}

.site-header .ast-container,
.site-footer .ast-container {
	max-width: 1280px !important;
	width: calc(100% - 48px) !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

.page .site-content .ast-container {
	max-width: 100% !important;
	width: 100% !important;
	padding: 0 !important;
}

.page .entry-content {
	margin: 0;
}

.page .entry-content > .wp-block-group.alignfull {
	padding-left: 24px !important;
	padding-right: 24px !important;
	box-sizing: border-box;
}

.page .entry-content > .wp-block-group.alignfull > * {
	max-width: 1280px !important;
	width: 100%;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

.single-post .site-content .ast-container,
.blog .site-content .ast-container,
.archive .site-content .ast-container {
	max-width: 1280px !important;
	width: calc(100% - 48px) !important;
	padding: 48px 0 !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

/* Astra Header & Footer refinements */
.site-header .site-title a {
	font-family: var(--asv-font-heading);
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--asv-surface) !important;
}

.ast-header-button-1 .ast-custom-button {
	font-family: var(--asv-font-heading);
	font-weight: 700;
	border-radius: var(--asv-radius-sm);
	transition: opacity 0.2s ease, transform 0.15s ease;
}

.ast-header-button-1 .ast-custom-button:hover {
	opacity: 0.94;
	transform: translateY(-1px);
}

/* Homepage Verification Form Card (asv/verification-form) */
.asv-verification-card {
	background-color: var(--asv-surface);
	border: 1px solid var(--asv-border);
	border-radius: var(--asv-radius-lg);
	padding: 32px;
	box-shadow: 0 20px 44px rgba(11, 21, 40, 0.24);
	color: var(--asv-ink);
	text-align: left;
}

.asv-verification-card-header {
	margin-bottom: 22px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--asv-border);
}

.asv-card-badge {
	display: inline-block;
	background-color: var(--asv-bg);
	color: var(--asv-primary);
	border: 1px solid var(--asv-border);
	font-family: var(--asv-font-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
	padding: 4px 10px;
	border-radius: var(--asv-radius-sm);
	margin-bottom: 10px;
}

.asv-verification-card-title {
	font-family: var(--asv-font-heading);
	font-size: 24px !important;
	font-weight: 700;
	color: var(--asv-ink) !important;
	margin: 0 0 8px 0 !important;
	line-height: 1.15;
}

.asv-verification-card-desc {
	font-size: 14.5px;
	color: var(--asv-muted) !important;
	margin: 0 !important;
	line-height: 1.55;
}

.asv-field-group {
	margin-bottom: 18px;
}

.asv-field-label {
	display: block;
	font-family: var(--asv-font-heading);
	font-size: 14px;
	font-weight: 700;
	color: var(--asv-ink);
	margin-bottom: 6px;
}

.asv-req {
	color: var(--asv-accent);
}

.asv-whatsapp-input-wrap {
	display: grid;
	grid-template-columns: 124px 1fr;
	gap: 8px;
}

.asv-country-select,
.asv-input {
	width: 100%;
	height: 48px;
	padding: 10px 14px;
	font-family: var(--asv-font-body);
	font-size: 15px;
	color: var(--asv-ink) !important;
	background-color: var(--asv-surface) !important;
	border: 1.5px solid var(--asv-border) !important;
	border-radius: var(--asv-radius-sm) !important;
	box-sizing: border-box;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.asv-chassis-input {
	font-family: var(--asv-font-mono);
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.asv-textarea {
	height: auto;
	min-height: 130px;
	padding-top: 12px;
	resize: vertical;
}

.asv-country-select:focus,
.asv-input:focus {
	outline: none !important;
	border-color: var(--asv-accent) !important;
	box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.2) !important;
}

.asv-field-hint {
	display: block;
	font-size: 12.5px;
	color: var(--asv-muted);
	margin-top: 5px;
	line-height: 1.45;
}

.asv-submit-wrap {
	margin-top: 22px;
}

.asv-btn-verify {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	padding: 13px 24px;
	background-color: var(--asv-accent) !important;
	color: var(--asv-surface) !important;
	border: none !important;
	border-radius: var(--asv-radius-sm) !important;
	font-family: var(--asv-font-heading);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.01em;
	cursor: pointer;
	transition: background-color 0.15s ease, transform 0.15s ease;
}

.asv-btn-verify:hover,
.asv-btn-verify:focus {
	background-color: var(--asv-primary) !important;
	color: var(--asv-surface) !important;
	transform: translateY(-1px);
}

.asv-btn-busy {
	opacity: 0.72;
	pointer-events: none;
}

/* Alerts */
.asv-alert {
	padding: 14px 16px;
	border-radius: var(--asv-radius-sm);
	margin-bottom: 18px;
	font-size: 14px;
	line-height: 1.55;
}

.asv-alert code {
	font-family: var(--asv-font-mono);
	font-weight: 600;
	background: var(--asv-surface);
	padding: 2px 6px;
	border-radius: 4px;
	border: 1px solid var(--asv-border);
}

.asv-alert-success {
	background-color: var(--asv-bg);
	border-left: 4px solid var(--asv-primary);
	color: var(--asv-ink);
}

.asv-alert-error {
	background-color: var(--asv-bg);
	border-left: 4px solid var(--asv-accent);
	color: var(--asv-ink);
}

/* Contact Us Form Card (asv/contact-form) */
.asv-contact-card {
	background-color: var(--asv-surface);
	border: 1px solid var(--asv-border);
	border-radius: var(--asv-radius-lg);
	padding: 36px;
}

.asv-contact-card-title {
	font-size: 26px !important;
	margin: 0 0 8px 0 !important;
	color: var(--asv-ink) !important;
}

.asv-contact-card-desc {
	color: var(--asv-muted) !important;
	margin: 0 0 24px 0 !important;
}

.asv-contact-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.asv-hp-wrap {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

/* Native Gutenberg Details / FAQ Block Styling */
.wp-block-details {
	background-color: var(--asv-surface);
	border: 1px solid var(--asv-border);
	border-radius: var(--asv-radius-md);
	padding: 18px 22px;
	margin-bottom: 14px;
}

.wp-block-details summary {
	font-family: var(--asv-font-heading);
	font-weight: 700;
	font-size: 17px;
	color: var(--asv-ink);
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.wp-block-details summary::after {
	content: "+";
	font-family: var(--asv-font-mono);
	font-size: 20px;
	font-weight: 700;
	color: var(--asv-accent);
	margin-left: 12px;
}

.wp-block-details[open] summary::after {
	content: "-";
}

.wp-block-details p {
	margin: 12px 0 0 0;
	color: var(--asv-muted);
}

/* Responsive adjustments */
@media (max-width: 782px) {
	.asv-verification-card,
	.asv-contact-card {
		padding: 24px 18px;
	}

	.asv-contact-grid {
		grid-template-columns: 1fr;
	}

	.asv-whatsapp-input-wrap {
		grid-template-columns: 110px 1fr;
	}
}

/* Vertically center Hero text column and Verification Form column */
#hero-section > .wp-block-columns {
	align-items: center !important;
}

/* High-contrast light typography inside dark navy Astra Footer */
.site-footer,
.site-footer p,
.site-footer li,
.ast-footer-copyright,
.ast-footer-copyright p,
.ast-footer-copyright span {
	color: var(--asv-bg) !important;
}

.site-footer a,
.ast-footer-copyright a {
	color: var(--asv-surface);
	transition: color 0.15s ease;
}

.site-footer a:hover,
.ast-footer-copyright a:hover {
	color: var(--asv-accent) !important;
}

/* ==========================================================================
   Verification Confirmation Card & 10-Minute Response Time Notice
   Matches exact Nippon Chassis Ledger specification & user confirmation UI
   ========================================================================== */
.asv-confirmation-card {
	background: #F8FAFC;
	border: 1px solid #E2E8F0;
	border-left: 5px solid #0B1528;
	border-radius: 8px;
	padding: 16px 20px;
	text-align: left;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
	margin-bottom: 12px;
}

.asv-confirmation-header {
	font-family: var(--asv-font-heading);
	font-size: 16px;
	font-weight: 700;
	color: #0F172A;
	margin-bottom: 8px;
	letter-spacing: -0.01em;
}

.asv-confirmation-body {
	font-size: 14.5px;
	color: #334155;
	line-height: 1.55;
	margin: 0;
}

.asv-confirmation-body code {
	background: #FFFFFF;
	border: 1px solid #CBD5E1;
	border-radius: 4px;
	padding: 2px 7px;
	font-family: var(--asv-font-mono);
	font-size: 13.5px;
	font-weight: 700;
	color: #0F172A;
}

.asv-confirmation-body strong {
	color: #0F172A;
	font-weight: 700;
}

/* Dedicated Response-Time Notice (10 Minutes) */
.asv-response-notice {
	background: #FFFBEB;
	border: 1px solid #FDE68A;
	border-left: 4px solid #D97706;
	border-radius: 8px;
	padding: 12px 16px;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	text-align: left;
	box-shadow: 0 1px 3px rgba(217, 119, 6, 0.06);
	margin-top: 10px;
}

.asv-notice-icon-box {
	color: #D97706;
	flex-shrink: 0;
	margin-top: 1px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.asv-notice-content {
	font-size: 13.5px;
	color: #92400E;
	line-height: 1.5;
}

.asv-notice-content strong {
	color: #78350F;
}

/* ==========================================================================
   Verification Confirmation Popup Modal
   ========================================================================== */
body.asv-modal-open {
	overflow: hidden;
}

.asv-modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100vw;
	height: 100vh;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	box-sizing: border-box;
	animation: asvFadeIn 0.2s ease-out;
}

.asv-modal-backdrop {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background: rgba(11, 21, 40, 0.76);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	cursor: pointer;
}

.asv-modal-dialog {
	position: relative;
	background: #FFFFFF;
	border-radius: 14px;
	max-width: 540px;
	width: 100%;
	padding: 32px 28px 24px 28px;
	box-shadow: 0 25px 60px -15px rgba(11, 21, 40, 0.45), 0 0 0 1px rgba(11, 21, 40, 0.06);
	z-index: 2;
	text-align: center;
	box-sizing: border-box;
	animation: asvModalSlide 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.asv-modal-close {
	position: absolute;
	top: 14px;
	right: 16px;
	width: 32px;
	height: 32px;
	background: transparent;
	border: none;
	font-size: 26px;
	line-height: 30px;
	color: #64748B;
	cursor: pointer;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color 0.15s ease, background 0.15s ease;
	padding: 0;
}

.asv-modal-close:hover {
	color: #0F172A;
	background: #F1F5F9;
}

.asv-modal-icon-badge {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #DCFCE7;
	border: 2px solid #BBF7D0;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 16px auto;
}

.asv-modal-title {
	font-family: var(--asv-font-heading);
	font-size: 20px;
	font-weight: 800;
	color: #0F172A;
	margin: 0 0 6px 0;
	line-height: 1.2;
}

.asv-modal-subtitle {
	font-size: 13.5px;
	color: #64748B;
	margin: 0 0 18px 0;
	line-height: 1.45;
}

.asv-modal-content-area {
	margin-bottom: 22px;
}

.asv-modal-actions {
	display: flex;
	justify-content: center;
	gap: 10px;
}

.asv-modal-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--asv-font-heading);
	font-size: 14.5px;
	font-weight: 700;
	padding: 10px 32px;
	border-radius: 6px;
	cursor: pointer;
	text-decoration: none;
	border: 1px solid transparent;
	transition: background 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
}

.asv-modal-btn-primary {
	background: #0B1528;
	color: #FFFFFF;
}

.asv-modal-btn-primary:hover {
	background: #16243E;
	box-shadow: 0 4px 12px rgba(11, 21, 40, 0.25);
	transform: translateY(-1px);
}

@keyframes asvFadeIn {
	from { opacity: 0; }
	to   { opacity: 1; }
}

@keyframes asvModalSlide {
	from {
		opacity: 0;
		transform: scale(0.94) translateY(12px);
	}
	to {
		opacity: 1;
		transform: scale(1) translateY(0);
	}
}

@media (max-width: 600px) {
	.asv-modal-dialog {
		padding: 24px 18px 20px 18px;
		max-width: 95vw;
	}
	.asv-modal-title {
		font-size: 18px;
	}
	.asv-confirmation-card {
		padding: 14px 16px;
	}
	.asv-response-notice {
		padding: 10px 12px;
		font-size: 13px;
	}
}

/* ==========================================================================
   Print Styles for Reports & Public Sheets
   ========================================================================== */
.asv-print-page-wrapper,
.asv-print-page-body,
.asv-print-page-body > tr,
.asv-print-page-body > tr > td {
	display: block;
	width: 100%;
	border: none;
	padding: 0;
	margin: 0;
}

.asv-print-page-header-spacer,
.asv-print-page-footer-spacer {
	display: none;
}

@media print {
	@page {
		margin: 0;
		size: auto;
	}

	.asv-report-container {
		border: none !important;
		box-shadow: none !important;
		padding: 0 15mm !important;
		margin: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.asv-print-page-wrapper {
		display: table !important;
		width: 100% !important;
		border-collapse: collapse !important;
		border-spacing: 0 !important;
		border: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.asv-print-page-header-spacer {
		display: table-header-group !important;
	}

	.asv-page-header-gap {
		height: 16mm !important;
		display: block !important;
	}

	.asv-print-page-footer-spacer {
		display: table-footer-group !important;
	}

	.asv-page-footer-gap {
		height: 14mm !important;
		display: block !important;
	}

	.asv-print-page-body {
		display: table-row-group !important;
	}

	.asv-print-page-body > tr > td {
		display: table-cell !important;
		border: none !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.asv-print-header {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		border-bottom: 2px solid #0B1528 !important;
		padding-bottom: 14px !important;
		margin-bottom: 22px !important;
	}

	.asv-print-logo img {
		max-height: 48px !important;
		width: auto !important;
		display: block !important;
	}

	.asv-report-main-grid {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 20px !important;
		page-break-inside: avoid !important;
		break-inside: avoid !important;
		margin-bottom: 22px !important;
	}

	.asv-report-sheet-col,
	.asv-report-specs-col {
		width: 100% !important;
		box-sizing: border-box !important;
		page-break-inside: avoid !important;
		break-inside: avoid !important;
	}

	.asv-report-gallery-section {
		page-break-before: always !important;
		break-before: page !important;
		margin-top: 0 !important;
		padding-top: 0 !important;
		border-top: none !important;
	}

	.asv-car-images-grid {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 16px !important;
		margin-top: 14px !important;
	}

	.asv-car-image-tile {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 4 / 3 !important;
		page-break-inside: avoid !important;
		break-inside: avoid !important;
		border: 1px solid #CBD5E1 !important;
		border-radius: 6px !important;
		overflow: hidden !important;
	}
}

/* ==========================================================================
   Responsive Mobile & Tablet Footer & Bottom CTA Enhancements
   ========================================================================== */

/* Prevent horizontal viewport overflow across all mobile screens */
html, body {
	overflow-x: hidden !important;
	max-width: 100% !important;
}

#page, .site {
	overflow-x: hidden !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

.site-footer,
#colophon {
	background-color: #0B1528 !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	overflow-x: hidden !important;
}

/* Primary Footer Container */
.site-primary-footer-wrap {
	background-color: #0B1528 !important;
	box-sizing: border-box !important;
}

.site-primary-footer-wrap .ast-builder-grid-row-container-inner,
.site-below-footer-wrap .ast-builder-grid-row-container-inner {
	max-width: 1200px !important;
	margin: 0 auto !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* Mobile & Tablet Footer Layout (<= 921px) */
@media (max-width: 921px) {
	.site-primary-footer-wrap {
		padding: 44px 20px 28px 20px !important;
	}

	.site-primary-footer-wrap .ast-builder-grid-row-container-inner {
		padding: 0 !important;
	}

	.site-primary-footer-wrap .ast-builder-grid-row,
	.site-primary-footer-wrap .ast-builder-footer-grid-columns {
		display: flex !important;
		flex-direction: column !important;
		gap: 32px !important;
		width: 100% !important;
	}

	.site-footer-primary-section-1,
	.site-footer-primary-section-2,
	.site-footer-primary-section-3 {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		box-sizing: border-box !important;
	}

	/* Section 1: Logo & Brand Summary */
	.site-footer-primary-section-1 {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
	}

	.site-footer-primary-section-1 .ast-builder-html-element {
		text-align: left !important;
		width: 100% !important;
	}

	.site-footer-primary-section-1 img {
		max-width: 215px !important;
		height: auto !important;
		display: block !important;
		margin-bottom: 12px !important;
	}

	.site-footer-primary-section-1 span {
		color: #DCE3EE !important;
		font-size: 14.5px !important;
		line-height: 1.65 !important;
		display: block !important;
	}

	/* Section 2: Quick Links Menu */
	.site-footer-primary-section-2 {
		padding-top: 24px !important;
		border-top: 1px solid rgba(220, 227, 238, 0.12) !important;
	}

	.site-footer-primary-section-2 .footer-widget-area {
		width: 100% !important;
	}

	.site-footer-primary-section-2::before {
		content: "Quick Links";
		display: block;
		font-family: var(--asv-font-heading, "Plus Jakarta Sans", sans-serif);
		font-size: 14px;
		font-weight: 700;
		color: #FFFFFF;
		text-transform: uppercase;
		letter-spacing: 0.6px;
		margin-bottom: 12px;
	}

	#astra-footer-menu {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 6px 16px !important;
		padding: 0 !important;
		margin: 0 !important;
		list-style: none !important;
		width: 100% !important;
	}

	#astra-footer-menu li {
		margin: 0 !important;
		padding: 0 !important;
	}

	#astra-footer-menu li a {
		display: flex !important;
		align-items: center !important;
		color: #DCE3EE !important;
		font-size: 14.5px !important;
		font-weight: 500 !important;
		padding: 8px 0 !important;
		text-decoration: none !important;
		min-height: 40px !important;
		box-sizing: border-box !important;
		transition: color 0.15s ease !important;
	}

	#astra-footer-menu li a:hover,
	#astra-footer-menu li a:focus {
		color: #D97706 !important;
	}

	/* Section 3: Contact & WhatsApp Support Card */
	.site-footer-primary-section-3 {
		padding-top: 8px !important;
	}

	.site-footer-primary-section-3 .ast-builder-html-element > div {
		background: #16243E !important;
		border: 1px solid rgba(217, 119, 6, 0.35) !important;
		border-radius: 12px !important;
		padding: 20px 18px !important;
		box-sizing: border-box !important;
		width: 100% !important;
	}

	.site-footer-primary-section-3 strong {
		color: #FFFFFF !important;
		font-size: 16px !important;
		font-weight: 700 !important;
		display: block !important;
		margin-bottom: 12px !important;
	}

	.site-footer-primary-section-3 p {
		margin: 0 0 10px 0 !important;
		font-size: 14px !important;
		line-height: 1.5 !important;
		color: #DCE3EE !important;
	}

	.site-footer-primary-section-3 p:last-child {
		margin-bottom: 0 !important;
		padding-top: 10px !important;
		border-top: 1px solid rgba(220, 227, 238, 0.1) !important;
	}

	.site-footer-primary-section-3 a[href*="wa.me"] {
		display: inline-flex !important;
		align-items: center !important;
		gap: 6px !important;
		background: #D97706 !important;
		color: #FFFFFF !important;
		padding: 8px 16px !important;
		border-radius: 6px !important;
		font-weight: 700 !important;
		font-size: 14.5px !important;
		text-decoration: none !important;
		margin-top: 4px !important;
		margin-bottom: 4px !important;
		box-shadow: 0 2px 8px rgba(217, 119, 6, 0.35) !important;
	}

	.site-footer-primary-section-3 a[href*="wa.me"]:hover {
		background: #B45309 !important;
		color: #FFFFFF !important;
	}

	/* Below Footer (Copyright Bar) */
	.site-below-footer-wrap {
		background-color: #070D18 !important;
		border-top: 1px solid #16243E !important;
		padding: 18px 20px !important;
		box-sizing: border-box !important;
	}

	.site-below-footer-wrap .ast-builder-grid-row-container-inner {
		width: 100% !important;
		padding: 0 !important;
	}

	.ast-footer-copyright p {
		font-size: 13px !important;
		line-height: 1.6 !important;
		color: #94A3B8 !important;
		text-align: center !important;
		margin: 0 !important;
	}

	.ast-footer-copyright p a {
		color: #D97706 !important;
	}
}

/* Extra small mobile screens (< 480px) */
@media (max-width: 480px) {
	#astra-footer-menu {
		grid-template-columns: 1fr !important;
		gap: 4px !important;
	}
}

/* Responsive Bottom CTA columns right above footer (#final-cta and similar) */
@media (max-width: 781px) {
	.entry-content .wp-block-columns:not(.is-not-stacked-on-mobile) {
		flex-wrap: wrap !important;
		flex-direction: column !important;
		gap: 20px !important;
	}

	.entry-content .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column,
	.entry-content .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column[style*="flex-basis"] {
		flex-basis: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
	}

	#final-cta {
		padding: 44px 20px !important;
		box-sizing: border-box !important;
	}

	#final-cta h2 {
		font-size: 1.65rem !important;
		line-height: 1.25 !important;
		text-align: left !important;
		margin-bottom: 12px !important;
	}

	#final-cta p {
		font-size: 1rem !important;
		line-height: 1.6 !important;
		text-align: left !important;
		margin-bottom: 0 !important;
	}

	#final-cta .wp-block-buttons {
		justify-content: flex-start !important;
		width: 100% !important;
		margin-top: 6px !important;
	}

	#final-cta .wp-block-button,
	#final-cta .wp-block-button__link {
		width: 100% !important;
		display: block !important;
		text-align: center !important;
		padding: 14px 24px !important;
		font-size: 1.05rem !important;
		box-sizing: border-box !important;
	}
}

