/* Native PHP Theme - Additional Styles */
/* Most styling is handled by Tailwind CSS */

/* ── Custom color utilities for runtime JavaScript ───────────────────── */
.bg-accent {
	background-color: #22A699 !important;
}

.border-accent {
	border-color: #22A699 !important;
}

/* ── Base typography ─────────────────────────────────────────────────── */
body {
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	text-wrap: balance;
}

p,
li {
	text-wrap: pretty;
}

/* ── Custom scrollbar ────────────────────────────────────────────────── */
::-webkit-scrollbar {
	width: 6px;
}

::-webkit-scrollbar-track {
	background: #f8f9fb;
}

::-webkit-scrollbar-thumb {
	background: #22A699;
	border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
	background: #1A7A6E;
}

/* ── Smooth scroll with sticky header offset ─────────────────────────── */
html {
	scroll-padding-top: 88px;
	scroll-behavior: smooth;
}

/* ── Form inputs — consistent focus ring ─────────────────────────────── */
input:not([type="radio"]):not([type="checkbox"]):focus,
textarea:focus,
select:focus {
	outline: none;
	border-color: #22A699;
	box-shadow: 0 0 0 3px rgba(34, 166, 153, 0.12);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

input:not([type="radio"]):not([type="checkbox"]),
textarea,
select {
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* ── FAQ accordion ────────────────────────────────────────────────────── */
.faq-content {
	transition: max-height 0.28s ease-out, opacity 0.22s ease-out, padding-bottom 0.28s ease-out;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	padding-left: 1rem;
	padding-right: 1rem;
	padding-bottom: 0;
}

@media (min-width: 768px) {
	.faq-content {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}
}

.faq-content:not(.hidden) {
	max-height: 1000px;
	opacity: 1;
	padding-bottom: 1.25rem;
}

.faq-trigger:hover {
	background-color: #f9fafb;
	border-radius: 0;
}

/* ── Service cards — image zoom ──────────────────────────────────────── */
.service-card-img {
	transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.group:hover .service-card-img {
	transform: scale(1.06);
}

/* ── Sticky header shadow on scroll ──────────────────────────────────── */
#lmc-header {
	transition: box-shadow 0.2s ease, background-color 0.2s ease;
}

/* ── Promise cards hover ─────────────────────────────────────────────── */
.promise-card {
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.promise-card:hover {
	transform: translateY(-2px);
}

/* ── Prose: legal page content typography ────────────────────────────── */
.prose h1 {
	font-size: 2rem;
	font-weight: 800;
	color: #0D2137;
	margin-bottom: 1rem;
	line-height: 1.2;
}

.prose h2 {
	font-size: 1.375rem;
	font-weight: 700;
	color: #0D2137;
	margin-top: 2.5rem;
	margin-bottom: 0.75rem;
	border-bottom: 1px solid #f3f4f6;
	padding-bottom: 0.5rem;
}

.prose h3 {
	font-size: 1.125rem;
	font-weight: 700;
	color: #0D2137;
	margin-top: 1.75rem;
	margin-bottom: 0.5rem;
}

.prose p {
	color: #4B5563;
	line-height: 1.75;
	margin-bottom: 1rem;
}

.prose a {
	color: #22A699;
	text-decoration: none;
}

.prose a:hover {
	text-decoration: underline;
}

.prose ul {
	list-style-type: disc;
	padding-left: 1.5rem;
	margin-bottom: 1rem;
}

.prose ol {
	list-style-type: decimal;
	padding-left: 1.5rem;
	margin-bottom: 1rem;
}

.prose li {
	color: #4B5563;
	line-height: 1.75;
	margin-bottom: 0.25rem;
}

.prose strong {
	color: #0D2137;
	font-weight: 600;
}

.prose hr {
	border-color: #E5E7EB;
	margin-top: 2rem;
	margin-bottom: 2rem;
}

.prose blockquote {
	border-left: 4px solid #22A699;
	padding-left: 1rem;
	color: #6B7280;
	font-style: italic;
	margin: 1.5rem 0;
}

.prose table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1rem;
}

.prose th {
	background: #f9fafb;
	color: #0D2137;
	font-weight: 600;
	padding: 0.5rem 0.75rem;
	border: 1px solid #e5e7eb;
	text-align: left;
}

.prose td {
	padding: 0.5rem 0.75rem;
	border: 1px solid #e5e7eb;
	color: #4B5563;
}