/* Warner Injury & Chiropractic Center: service page + homepage section styles.
   Uses theme tokens: --pColor #3bc3e9, --sColor #00abc9, Playfair Display + Montserrat. */

.wcc-layout {
	--wcc-ink: #141414;
	--wcc-body: #383838;
	--wcc-soft: #f4f6f3;
	--wcc-line: #dfe5e3;
	--wcc-teal-ink: #00778c;
	--wcc-warn: #a8321f;
	--wcc-warn-bg: #fbf1ee;
}

/* ---------- Inner page hero (replaces theme page-header) ---------- */
.wcc-hero {
	position: relative;
	background: #111;
	padding: 76px 0 70px;
	text-align: left;
	overflow: hidden;
}
.wcc-hero:after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 6px;
	background: linear-gradient(90deg, var(--pColor, #3bc3e9), var(--sColor, #00abc9));
}
.wcc-hero .wcc-wrap { position: relative; z-index: 1; }
.wcc-hero-eyebrow {
	font-family: 'Playfair Display', serif;
	font-style: italic;
	font-size: 20px;
	color: var(--pColor, #3bc3e9) !important;
	margin: 0 0 12px;
}
.wcc-hero h1.page-title {
	font-family: 'Playfair Display', serif;
	font-weight: 400;
	font-size: clamp(34px, 4.4vw, 58px);
	line-height: 1.12;
	letter-spacing: 0;
	text-transform: none;
	color: #fff;
	max-width: 920px;
	margin: 0 0 20px;
	padding: 0;
}
.wcc-hero-intro {
	font-size: 19px;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.86);
	max-width: 720px;
	margin: 0 0 30px;
}
.wcc-hero-ctas { display: flex; flex-wrap: wrap; gap: 14px; }

/* ---------- Buttons ---------- */
a.wcc-btn {
	display: inline-block;
	background: var(--pColor, #3bc3e9);
	color: #000 !important;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	text-decoration: none;
	line-height: 1.2;
	padding: 16px 30px;
	border-radius: 30px;
	transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
}
a.wcc-btn:hover, a.wcc-btn:focus-visible {
	background: #000;
	color: #fff !important;
	transform: translateY(-2px);
}
a.wcc-btn.wcc-btn-alt {
	background: transparent;
	color: #fff !important;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.7);
}
a.wcc-btn.wcc-btn-alt:hover { background: #fff; color: #000 !important; }
.wcc-content a.wcc-btn { background: #000; color: #fff !important; }
.wcc-content a.wcc-btn:hover { background: var(--sColor, #00abc9); color: #fff !important; }
.wcc-content a.wcc-btn.wcc-btn-call { background: var(--sColor, #00abc9); color: #fff !important; }
.wcc-content a.wcc-btn.wcc-btn-call:hover { background: #000; }
.wcc-cta { margin: 34px 0 0 !important; }

/* ---------- Sections ---------- */
.wcc-content { color: var(--wcc-body); }
.wcc-sec {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 80px 0;
	background: #fff;
}
.wcc-content > .wcc-sec:nth-of-type(even) { background: var(--wcc-soft); }
.wcc-wrap {
	max-width: 1160px;
	margin: 0 auto;
	padding: 0 24px;
}
.wcc-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: 'Montserrat', sans-serif;
	font-size: 13px !important;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wcc-teal-ink) !important;
	margin: 0 0 14px !important;
}
.wcc-eyebrow:before {
	content: "";
	width: 34px;
	height: 3px;
	background: var(--pColor, #3bc3e9);
	flex: none;
}
.wcc-content h2 {
	font-family: 'Playfair Display', serif;
	font-weight: 400;
	font-size: clamp(29px, 3.1vw, 42px);
	line-height: 1.2;
	color: var(--wcc-ink);
	max-width: 880px;
	margin: 0 0 22px;
	text-transform: none;
}
.wcc-content h3 {
	font-family: 'Playfair Display', serif;
	font-weight: 400;
	font-size: clamp(21px, 1.9vw, 26px);
	line-height: 1.3;
	color: var(--wcc-ink);
	margin: 34px 0 12px;
}
.wcc-content p {
	font-size: 17px;
	line-height: 1.75;
	max-width: 78ch;
	margin: 0 0 18px;
}
.wcc-content .wcc-sub { margin-top: 26px; color: var(--wcc-ink); }
.wcc-content .wcc-note,
.wcc-alert {
	border-left: 4px solid var(--wcc-warn);
	background: var(--wcc-warn-bg);
	padding: 18px 22px;
	border-radius: 0 12px 12px 0;
	max-width: 880px;
	color: #3a1a14;
}
.wcc-content .wcc-note { margin: 26px 0 0; }
.wcc-alert { margin: 24px 0; }
.wcc-alert ul { margin: 0; padding: 0; list-style: none; }
.wcc-alert li {
	position: relative;
	padding: 6px 0 6px 28px;
	font-size: 16.5px;
	line-height: 1.55;
	margin: 0;
}
.wcc-alert li:before {
	content: "!";
	position: absolute;
	left: 0; top: 8px;
	width: 18px; height: 18px;
	border-radius: 50%;
	background: var(--wcc-warn);
	color: #fff;
	font: 700 12px/18px 'Montserrat', sans-serif;
	text-align: center;
	margin: 0;
}

/* ---------- Cards ---------- */
.wcc-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 20px;
	margin: 30px 0 6px;
}
.wcc-card {
	background: #fff;
	border: 1px solid var(--wcc-line);
	border-top: 3px solid var(--pColor, #3bc3e9);
	border-radius: 0 22px 0 22px;
	padding: 26px 24px 22px;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.wcc-card:hover { transform: translateY(-4px); box-shadow: 0 16px 30px -18px rgba(0, 0, 0, 0.35); }
.wcc-card h3, .wcc-content .wcc-card-title { margin: 0 0 8px; font-size: 21px; }
.wcc-content .wcc-card-title { font-family: 'Montserrat', sans-serif; font-size: 17px; color: var(--wcc-ink); }
.wcc-card p { font-size: 16px; line-height: 1.6; margin: 0; }

/* ---------- Feature / check lists ---------- */
.wcc-features, .wcc-list {
	list-style: none;
	margin: 26px 0 10px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 14px 32px;
}
.wcc-features li, .wcc-list li {
	position: relative;
	padding: 2px 0 2px 36px;
	margin: 0;
	font-size: 16.5px;
	line-height: 1.6;
}
.wcc-features li:before, .wcc-list li:before {
	content: "";
	position: absolute;
	left: 0; top: 4px;
	width: 22px; height: 22px;
	border-radius: 50%;
	background: var(--pColor, #3bc3e9);
	margin: 0;
}
.wcc-features li:after, .wcc-list li:after {
	content: "";
	position: absolute;
	left: 8px; top: 9px;
	width: 6px; height: 10px;
	border: solid #000;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.wcc-features li strong { display: block; color: var(--wcc-ink); font-size: 17px; }
.wcc-features li span { display: block; }
.wcc-ilist li strong { display: inline; }
.wcc-list li { font-weight: 500; color: var(--wcc-ink); }

/* ---------- Steps ---------- */
.wcc-steps {
	list-style: none;
	margin: 30px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 18px;
}
.wcc-steps li {
	background: #fff;
	border: 1px solid var(--wcc-line);
	border-left: 4px solid var(--sColor, #00abc9);
	border-radius: 0 16px 16px 0;
	padding: 22px 20px;
	margin: 0;
}
.wcc-steps li:before { content: none; }
.wcc-content .wcc-step-title { margin: 0 0 6px; font-size: 17px; color: var(--wcc-ink); }
.wcc-steps p { font-size: 15.5px; line-height: 1.6; margin: 0; }

/* ---------- Tables ---------- */
.wcc-table-wrap { overflow-x: auto; margin: 28px 0 22px; border-radius: 16px; border: 1px solid var(--wcc-line); background: #fff; }
.wcc-table { width: 100%; border-collapse: collapse; min-width: 560px; margin: 0; }
.wcc-table th {
	background: #111;
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-align: left;
	padding: 16px 20px;
	border: 0;
}
.wcc-table td {
	padding: 15px 20px;
	font-size: 16px;
	line-height: 1.55;
	border: 0;
	border-top: 1px solid var(--wcc-line);
	vertical-align: top;
	color: var(--wcc-body);
}
.wcc-table td:first-child { font-weight: 600; color: var(--wcc-ink); }
.wcc-table tbody tr:nth-child(even) td { background: #f8faf9; }

/* ---------- Related links ---------- */
.wcc-links {
	list-style: none;
	margin: 28px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 14px;
}
.wcc-links li { margin: 0; padding: 0; }
.wcc-links li:before { content: none; }
.wcc-links a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	background: #fff;
	border: 1px solid var(--wcc-line);
	border-radius: 14px;
	padding: 18px 20px;
	color: var(--wcc-ink) !important;
	text-decoration: none;
	font-size: 16px;
	line-height: 1.4;
	transition: border-color 0.2s ease, transform 0.2s ease;
}
.wcc-links a:after { content: "\2192"; color: var(--wcc-teal-ink); font-size: 20px; flex: none; }
.wcc-links a:hover { border-color: var(--pColor, #3bc3e9); transform: translateX(3px); }

/* ---------- FAQ ---------- */
.wcc-faq { max-width: 900px; margin: 26px 0 0; border-top: 1px solid var(--wcc-line); }
.wcc-faq details { border-bottom: 1px solid var(--wcc-line); }
.wcc-faq summary {
	position: relative;
	list-style: none;
	cursor: pointer;
	padding: 22px 48px 22px 0;
	font-family: 'Montserrat', sans-serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.45;
	color: var(--wcc-ink);
}
.wcc-faq summary::-webkit-details-marker { display: none; }
.wcc-faq summary:after {
	content: "+";
	position: absolute;
	right: 4px; top: 50%;
	transform: translateY(-50%);
	width: 32px; height: 32px;
	border-radius: 50%;
	background: var(--pColor, #3bc3e9);
	color: #000;
	font: 400 22px/32px 'Montserrat', sans-serif;
	text-align: center;
	transition: transform 0.2s ease;
}
.wcc-faq details[open] summary:after { content: "\2212"; }
.wcc-faq summary:focus-visible { outline: 2px solid var(--sColor, #00abc9); outline-offset: 4px; }
.wcc-faq-a p { margin: 0 0 22px; }

/* ---------- Homepage hero overlay ---------- */
.home .hide-las { position: relative; }
.home .dm-slide-main .slide-caption { display: none !important; }
.wcc-home-hero {
	position: absolute;
	inset: 0;
	z-index: 5;
	display: flex;
	align-items: center;
	background: transparent;
	padding: 0;
	pointer-events: none;
}
.wcc-home-hero:after { content: none; }
.wcc-home-hero .wcc-wrap { width: 100%; max-width: 1400px; padding: 0 30px; pointer-events: auto; }
.wcc-home-hero .wcc-hero-eyebrow { color: var(--wcc-teal-ink, #00778c) !important; }
.wcc-home-hero h1.page-title { color: #000; font-size: clamp(38px, 4.6vw, 64px); max-width: 760px; }
.wcc-home-hero .wcc-hero-intro { color: #1d1d1d; max-width: 600px; }
.wcc-home-hero a.wcc-btn { background: #000; color: #fff !important; }
.wcc-home-hero a.wcc-btn:hover { background: var(--sColor, #00abc9); }
.wcc-home-hero a.wcc-btn.wcc-btn-alt { background: #fff; color: #000 !important; box-shadow: inset 0 0 0 2px #000; }
.wcc-home-hero a.wcc-btn.wcc-btn-alt:hover { background: #000; color: #fff !important; }
.home .wcc-sec { margin-left: 0; margin-right: 0; }
.home .wcc-home-mid > .wcc-sec:nth-of-type(odd), .home .wcc-home-end > .wcc-sec:nth-of-type(even) { background: var(--wcc-soft); }
.home .wcc-home-mid > .wcc-sec:nth-of-type(even), .home .wcc-home-end > .wcc-sec:nth-of-type(odd) { background: #fff; }
.central-welcome .wcc-eyebrow { color: #fff !important; justify-content: center; }
.central-welcome .wcc-eyebrow:before { background: #fff; }

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
	.wcc-home-hero { position: static; background: var(--wcc-soft, #f4f6f3); padding: 48px 0 44px; }
	.wcc-home-hero .wcc-wrap { padding: 0 20px; }
}
@media (max-width: 768px) {
	.wcc-hero { padding: 52px 0 48px; }
	.wcc-sec { padding: 58px 0; }
	.wcc-hero-intro { font-size: 17px; }
	.wcc-features, .wcc-list { grid-template-columns: 1fr; }
	.wcc-faq summary { font-size: 16.5px; }
}
@media (prefers-reduced-motion: reduce) {
	.wcc-card, a.wcc-btn, .wcc-links a { transition: none; }
	.wcc-card:hover, a.wcc-btn:hover, .wcc-links a:hover { transform: none; }
}
