/* ==========================================================================
   The Car Crash Lawyer - all design lives here.
   To re-color the whole site, change the variables in :root below.
   Structure:  1 Tokens  2 Base  3 Header  4 Buttons  5 Form  6 Page sections (Elementor)
               7 Footer  8 Sticky bar  9 Utilities
   Page sections are styled by the CSS classes set on Elementor containers/widgets
   (tccl-sec, tccl-hero, tccl-card, tccl-step, ...). Editors never need to touch these.
   ========================================================================== */

/* 1. Tokens ---------------------------------------------------------------- */
:root {
	--tccl-black: #0e0c0b;
	--tccl-ink: #1a1412;
	--tccl-maroon: #2c1210;
	--tccl-ivory: #f4f1e6;
	--tccl-paper: #fffdf7;
	--tccl-orange: #d9722f;       /* buttons / highlights */
	--tccl-orange-dark: #b85a1d;
	--tccl-brand-orange: #cc6633; /* logo orange */
	--tccl-text: #2a2320;
	--tccl-muted: #6b625b;
	--tccl-line: rgba(14, 12, 11, 0.14);
	--tccl-radius: 10px;
	--tccl-shadow: 0 10px 30px rgba(14, 12, 11, 0.18);
	--tccl-head: 'Barlow Condensed', 'Arial Narrow', Impact, sans-serif;
	--tccl-body: 'Barlow', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
	--tccl-max: 1160px;
	--tccl-header-h: 68px;
}

/* 2. Base ------------------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	font-family: var(--tccl-body);
	font-size: 17px;
	line-height: 1.6;
	color: var(--tccl-text);
	background: var(--tccl-ivory);
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: var(--tccl-orange-dark); }
.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}
.skip-link:focus { position: fixed !important; top: 8px; left: 8px; width: auto; height: auto; clip: auto; background: #fff; color: #000; padding: 10px 14px; z-index: 9999; }
:focus-visible { outline: 3px solid var(--tccl-orange); outline-offset: 2px; }
.tccl-main--plain { background: var(--tccl-ivory); }
.tccl-plain { max-width: 820px; margin: 0 auto; padding: 48px 20px 64px; }
.tccl-plain__title { font-family: var(--tccl-head); text-transform: uppercase; font-size: 2.4rem; line-height: 1.05; margin: 0 0 20px; }
.tccl-notice { padding: 14px 20px; text-align: center; font-weight: 600; }
.tccl-notice--ok { background: #1f6b3a; color: #fff; }
.tccl-notice--err { background: #9b1c1c; color: #fff; }

/* 3. Header ---------------------------------------------------------------- */
.tccl-header {
	position: sticky; top: 0; z-index: 100;
	background: var(--tccl-black);
	color: var(--tccl-ivory);
	border-bottom: 3px solid var(--tccl-brand-orange);
}
.admin-bar .tccl-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .tccl-header { top: 46px; } }
.tccl-header__inner {
	max-width: var(--tccl-max); margin: 0 auto; padding: 8px 16px;
	min-height: var(--tccl-header-h);
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.tccl-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--tccl-ivory); min-width: 0; }
.tccl-brand__icon, .tccl-brand .custom-logo { width: 44px; height: 44px; object-fit: contain; flex: none; }
.tccl-brand__text { display: flex; flex-direction: column; line-height: 1; min-width: 0; }
.tccl-brand__name { font-family: var(--tccl-head); font-weight: 800; text-transform: uppercase; font-size: 1.35rem; letter-spacing: .02em; white-space: nowrap; }
.tccl-brand__by { font-size: .72rem; color: var(--tccl-brand-orange); letter-spacing: .06em; text-transform: uppercase; margin-top: 3px; font-weight: 600; }
.tccl-header__call { padding: 10px 14px; font-size: .95rem; white-space: nowrap; }
.tccl-header__calllabel { display: none; }
@media (min-width: 720px) {
	.tccl-brand__name { font-size: 1.65rem; }
	.tccl-header__calllabel { display: inline; font-weight: 600; opacity: .8; }
	.tccl-header__call { font-size: 1.05rem; padding: 12px 20px; }
}
@media (max-width: 520px) {
	.tccl-header__inner { padding: 8px 12px; gap: 8px; }
	.tccl-brand { gap: 8px; }
	.tccl-brand__icon, .tccl-brand .custom-logo { width: 38px; height: 38px; }
	.tccl-brand__name { font-size: 1.02rem; white-space: normal; line-height: .95; }
	.tccl-brand__by { display: none; }
	.tccl-header__call { padding: 10px 12px; font-size: .9rem; }
	.tccl-header__call .tccl-ico { width: 18px; height: 18px; }
}

/* 4. Buttons --------------------------------------------------------------- */
.tccl-btn, .tccl-ebtn .elementor-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	font-family: var(--tccl-body) !important; font-weight: 700; font-size: 1.05rem; line-height: 1.15;
	text-decoration: none; text-align: center; cursor: pointer;
	padding: 15px 26px; border-radius: 8px; border: 2px solid transparent;
	transition: transform .12s ease, background-color .15s ease, box-shadow .15s ease;
}
.tccl-btn--primary, .tccl-ebtn--primary .elementor-button {
	background: var(--tccl-orange) !important; color: #150c07 !important; border-color: var(--tccl-orange) !important;
	box-shadow: 0 6px 18px rgba(217, 114, 47, .35);
}
.tccl-btn--primary:hover, .tccl-ebtn--primary .elementor-button:hover { background: #ee8541 !important; border-color: #ee8541 !important; transform: translateY(-1px); color: #150c07 !important; }
.tccl-btn--outline, .tccl-ebtn--outline .elementor-button {
	background: transparent !important; color: var(--tccl-ivory) !important; border-color: var(--tccl-ivory) !important;
}
.tccl-btn--outline:hover, .tccl-ebtn--outline .elementor-button:hover { background: var(--tccl-ivory) !important; color: var(--tccl-black) !important; }
.tccl-btn--dark { background: var(--tccl-black); color: var(--tccl-ivory); border-color: var(--tccl-black); }
.tccl-btn--dark:hover { background: var(--tccl-maroon); color: #fff; }
.tccl-btn--block { display: flex; width: 100%; font-size: 1.15rem; padding: 17px 20px; }
.tccl-btn .tccl-ico { flex: none; }
.tccl-btn--call .tccl-btn__num { white-space: nowrap; }
.tccl-main .tccl-btn-row, .tccl-btn-row { display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: 12px !important; align-items: center; width: 100% !important; }
.tccl-main .tccl-narrow-inner { max-width: 860px !important; }
.tccl-btn-row > .elementor-widget, .tccl-btn-row > * { margin: 0 !important; width: auto !important; }

/* Badge (Google rating) */
.tccl-badge { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: inherit; font-weight: 600; font-size: .95rem; }
.tccl-badge__stars { display: inline-flex; color: #ffc233; }
.tccl-badge__stars svg { width: 18px; height: 18px; }
a.tccl-badge:hover .tccl-badge__text { text-decoration: underline; }
.tccl-reviews-note { background: #fff3cd; color: #5c4400; border: 1px dashed #b38600; padding: 12px 16px; border-radius: 6px; font-size: .9rem; }
.tccl-sec:has(.tccl-reviews-empty) { display: none !important; }
.tccl-reviews--widget { background: var(--tccl-paper); padding: 16px; border-radius: var(--tccl-radius); }

/* 5. Lead form ------------------------------------------------------------- */
.tccl-formcard {
	background: var(--tccl-paper); color: var(--tccl-text);
	border-radius: 14px; box-shadow: var(--tccl-shadow);
	border-top: 6px solid var(--tccl-orange);
	padding: 22px 20px 20px;
	scroll-margin-top: calc(var(--tccl-header-h) + 16px);
	width: 100%;
}
.tccl-formcard__title { font-family: var(--tccl-head); font-weight: 800; text-transform: uppercase; font-size: 1.9rem; line-height: 1; color: var(--tccl-black); }
.tccl-formcard__sub { color: var(--tccl-muted); font-size: .95rem; margin: 6px 0 14px; }
.tccl-form .tccl-field { margin-bottom: 12px; }
.tccl-form label { display: block; font-weight: 600; font-size: .9rem; margin-bottom: 4px; color: var(--tccl-ink); }
.tccl-form .req { color: #b3261e; }
.tccl-form input[type=text], .tccl-form input[type=tel], .tccl-form input[type=email], .tccl-form select, .tccl-form textarea,
.tccl-cf7 input[type=text], .tccl-cf7 input[type=tel], .tccl-cf7 input[type=email], .tccl-cf7 select, .tccl-cf7 textarea {
	width: 100%; font: inherit; font-size: 16px; color: var(--tccl-ink);
	padding: 12px 14px; min-height: 48px;
	background: #fff; border: 1.5px solid #c9c1b6; border-radius: 8px;
}
.tccl-form textarea, .tccl-cf7 textarea { min-height: 84px; resize: vertical; }
.tccl-form input:focus, .tccl-form select:focus, .tccl-form textarea:focus { border-color: var(--tccl-orange); outline: 3px solid rgba(217, 114, 47, .3); }
.tccl-hp { position: absolute !important; left: -9999px; height: 0; overflow: hidden; }
.tccl-consent { display: flex !important; gap: 10px; align-items: flex-start; font-size: .78rem !important; font-weight: 400 !important; line-height: 1.4; color: var(--tccl-muted) !important; margin: 4px 0 14px !important; }
.tccl-consent input { margin-top: 3px; width: 20px; height: 20px; flex: none; accent-color: var(--tccl-orange); }
.tccl-form__fee { text-align: center; margin: 12px 0 0; font-size: .88rem; font-weight: 600; color: var(--tccl-maroon); }
.tccl-form__status { margin-top: 10px; font-size: .95rem; }
.tccl-form__status.is-error { color: #b3261e; font-weight: 600; }
.tccl-form__success { background: #eaf6ee; border: 1px solid #a5d6b5; color: #14532d; padding: 18px; border-radius: 8px; font-weight: 600; }
.tccl-cf7 .wpcf7-submit { background: var(--tccl-orange); color: #150c07; border: 0; font-weight: 700; padding: 16px; border-radius: 8px; width: 100%; cursor: pointer; font-size: 1.1rem; }

/* 6. Page sections (Elementor) -------------------------------------------- */
/* Neutralize Elementor's default spacing so our classes control layout. */
.tccl-main .elementor-widget:not(:last-child) { margin-block-end: 0 !important; }
.tccl-main .e-con { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; }
.tccl-main .elementor-widget-container { margin: 0; }

.tccl-main .tccl-sec {
	width: 100% !important; max-width: none !important;
	padding: 56px 0 !important;
	position: relative;
}
@media (min-width: 900px) { .tccl-main .tccl-sec { padding: 84px 0 !important; } }
.tccl-main .tccl-inner {
	width: 100% !important; max-width: var(--tccl-max) !important; margin: 0 auto !important;
	padding: 0 20px !important;
	display: flex !important; flex-direction: column !important; gap: 22px !important;
}
.tccl-main .tccl-sec--dark   { background: var(--tccl-black); color: var(--tccl-ivory); }
.tccl-main .tccl-sec--maroon { background: var(--tccl-maroon); color: var(--tccl-ivory); }
.tccl-main .tccl-sec--ivory  { background: var(--tccl-ivory); color: var(--tccl-text); }
.tccl-main .tccl-sec--paper  { background: var(--tccl-paper); color: var(--tccl-text); }
.tccl-main .tccl-sec--orange { background: var(--tccl-brand-orange); color: #150c07; }

/* Headings */
.tccl-main .elementor-heading-title, .tccl-main .tccl-h {
	font-family: var(--tccl-head) !important; font-weight: 800 !important; text-transform: uppercase;
	line-height: 1.02 !important; letter-spacing: .005em; margin: 0;
}
.tccl-main h1.elementor-heading-title { font-size: clamp(2.5rem, 8.4vw, 4.6rem) !important; }
.tccl-main h2.elementor-heading-title { font-size: clamp(2rem, 5.6vw, 3.3rem) !important; }
.tccl-main h3.elementor-heading-title { font-size: clamp(1.35rem, 3.4vw, 1.75rem) !important; line-height: 1.08 !important; }
.tccl-main .tccl-sec--dark .elementor-heading-title,
.tccl-main .tccl-sec--maroon .elementor-heading-title { color: var(--tccl-ivory) !important; }
.tccl-main .tccl-sec--ivory .elementor-heading-title,
.tccl-main .tccl-sec--paper .elementor-heading-title,
.tccl-main .tccl-sec--orange .elementor-heading-title { color: var(--tccl-black) !important; }
.tccl-main .tccl-hl { color: var(--tccl-orange); }
.tccl-main .tccl-sec--orange .tccl-hl { color: var(--tccl-maroon); }
.tccl-main .tccl-eyebrow .elementor-heading-title {
	font-family: var(--tccl-body) !important; font-size: .85rem !important; letter-spacing: .16em; font-weight: 700 !important;
	color: var(--tccl-brand-orange) !important; line-height: 1.3 !important;
}
.tccl-main .tccl-lead, .tccl-main .tccl-lead p { font-size: 1.15rem; line-height: 1.55; margin: 0; }
@media (min-width: 900px) { .tccl-main .tccl-lead, .tccl-main .tccl-lead p { font-size: 1.28rem; } }
.tccl-main .tccl-center, .tccl-main .tccl-center .elementor-heading-title, .tccl-main .tccl-center p { text-align: center; }
.tccl-main .tccl-narrow { max-width: 760px; margin-left: auto !important; margin-right: auto !important; }
.tccl-main .elementor-widget-text-editor p { margin: 0 0 .9em; }
.tccl-main .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.tccl-main .tccl-fine, .tccl-main .tccl-fine p { font-size: .82rem; opacity: .8; }

/* Hero */
.tccl-main .tccl-hero {
	background:
		radial-gradient(1000px 500px at 85% -10%, rgba(217, 114, 47, .28), transparent 60%),
		linear-gradient(180deg, #0e0c0b 0%, #1a0f0d 100%);
	padding-top: 36px !important;
	overflow: hidden;
}
.tccl-main .tccl-hero::after { /* hazard-stripe accent along the bottom */
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 10px;
	background: repeating-linear-gradient(135deg, var(--tccl-orange) 0 16px, var(--tccl-black) 16px 32px);
}
@media (min-width: 900px) { .tccl-main .tccl-hero { padding-top: 64px !important; } }
.tccl-main .tccl-hero-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 28px !important; align-items: start; width: 100% !important; }
@media (min-width: 980px) { .tccl-main .tccl-hero-grid { grid-template-columns: 1.15fr .85fr !important; gap: 48px !important; } }
.tccl-main .tccl-hero-copy { display: flex !important; flex-direction: column !important; gap: 18px !important; min-width: 0; }
.tccl-main .tccl-hero-copy .tccl-lead { color: #efe7d6; }
.tccl-main .tccl-hero .tccl-fee, .tccl-main .tccl-fee { font-weight: 700; color: var(--tccl-orange); }

/* Icon list (checkmarks) */
.tccl-main .elementor-icon-list-items { list-style: none; margin: 0; padding: 0; }
.tccl-main .elementor-icon-list-item { display: flex !important; align-items: flex-start; gap: 12px; margin: 0 0 12px !important; padding: 0 !important; font-size: 1.08rem; line-height: 1.4; }
.tccl-main .elementor-icon-list-icon { width: auto !important; }
.tccl-main .elementor-icon-list-icon { color: var(--tccl-orange); flex: none; margin-top: 3px; }
.tccl-main .elementor-icon-list-icon i { color: var(--tccl-orange); font-size: 1.05rem; }
.tccl-main .elementor-icon-list-icon svg { fill: var(--tccl-orange); width: 1.05rem; height: 1.05rem; }
.tccl-main .elementor-icon-list-text { color: inherit !important; }

/* Trust strip */
.tccl-main .tccl-strip { background: var(--tccl-brand-orange); color: #150c07; padding: 16px 0 !important; }
.tccl-main .tccl-strip .tccl-inner { flex-direction: row !important; flex-wrap: wrap; justify-content: center; gap: 10px 32px !important; align-items: center; }
.tccl-main .tccl-strip .elementor-heading-title, .tccl-main .tccl-strip p { color: #150c07 !important; font-family: var(--tccl-head) !important; font-size: 1.15rem !important; font-weight: 700 !important; text-transform: uppercase; letter-spacing: .04em; margin: 0; }
.tccl-main .tccl-strip .tccl-badge { color: #150c07; }
.tccl-main .tccl-strip .tccl-badge__stars { color: #150c07; }

/* Grids */
.tccl-main .tccl-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 16px !important; width: 100% !important; }
@media (min-width: 640px) { .tccl-main .tccl-grid--2, .tccl-main .tccl-grid--3, .tccl-main .tccl-grid--4 { grid-template-columns: repeat(2, 1fr) !important; } }
@media (min-width: 980px) {
	.tccl-main .tccl-grid { gap: 22px !important; }
	.tccl-main .tccl-grid--3 { grid-template-columns: repeat(3, 1fr) !important; }
	.tccl-main .tccl-grid--4 { grid-template-columns: repeat(4, 1fr) !important; }
	.tccl-main .tccl-grid--5 { grid-template-columns: repeat(5, 1fr) !important; }
}
.tccl-main .tccl-grid > .elementor-widget, .tccl-main .tccl-grid > .e-con { width: auto !important; min-width: 0; }

/* Cards (icon-box widgets) */
.tccl-main .tccl-card {
	background: var(--tccl-paper); border-radius: var(--tccl-radius);
	border-top: 4px solid var(--tccl-brand-orange);
	box-shadow: 0 4px 16px rgba(14, 12, 11, .08);
	padding: 24px 22px; height: 100%;
}
.tccl-main .tccl-card .elementor-icon-box-wrapper { display: block !important; text-align: left; }
.tccl-main .tccl-card .elementor-icon-box-icon { margin: 0 0 12px !important; display: block; }
.tccl-main .tccl-card .elementor-icon { color: var(--tccl-brand-orange) !important; fill: var(--tccl-brand-orange); font-size: 38px !important; }
.tccl-main .tccl-card .elementor-icon i { color: var(--tccl-brand-orange) !important; font-size: 38px !important; }
.tccl-main .tccl-card .elementor-icon svg { fill: var(--tccl-brand-orange) !important; width: 38px; height: 38px; }
.tccl-main .tccl-card .elementor-icon-box-title, .tccl-main .tccl-card .elementor-icon-box-title a {
	font-family: var(--tccl-head) !important; font-weight: 800; font-size: 1.6rem !important; text-transform: uppercase; line-height: 1.05; color: var(--tccl-black) !important; margin: 0 0 8px; text-decoration: none;
}
.tccl-main .tccl-card .elementor-icon-box-description { color: var(--tccl-text); font-size: 1rem; line-height: 1.55; margin: 0; }
.tccl-main .tccl-sec--dark .tccl-card, .tccl-main .tccl-sec--maroon .tccl-card { background: rgba(255, 255, 255, .06); box-shadow: none; }
.tccl-main .tccl-sec--dark .tccl-card .elementor-icon-box-title, .tccl-main .tccl-sec--maroon .tccl-card .elementor-icon-box-title,
.tccl-main .tccl-sec--dark .tccl-card .elementor-icon-box-title a, .tccl-main .tccl-sec--maroon .tccl-card .elementor-icon-box-title a { color: var(--tccl-ivory) !important; }
.tccl-main .tccl-sec--dark .tccl-card .elementor-icon-box-description, .tccl-main .tccl-sec--maroon .tccl-card .elementor-icon-box-description { color: #e9e1d2; }

/* Steps (auto-numbered) */
.tccl-main .tccl-steps { counter-reset: step; }
.tccl-main .tccl-step {
	counter-increment: step; position: relative;
	display: flex !important; flex-direction: column !important; gap: 8px !important;
	background: var(--tccl-paper); border-radius: var(--tccl-radius); padding: 24px 22px 22px !important;
	box-shadow: 0 4px 16px rgba(14, 12, 11, .08);
}
.tccl-main .tccl-step::before {
	/* Elementor uses ::before for its background overlay, so neutralize that first. */
	content: counter(step); position: static; width: auto; height: auto; opacity: 1; z-index: auto; background: none; transition: none; display: block;
	font-family: var(--tccl-head); font-weight: 800; font-size: 2.6rem; line-height: 1; color: var(--tccl-orange);
}
.tccl-main .tccl-sec--dark .tccl-step, .tccl-main .tccl-sec--maroon .tccl-step { background: rgba(255, 255, 255, .06); box-shadow: none; }
.tccl-main .tccl-step .elementor-widget-text-editor { font-size: 1rem; line-height: 1.55; }
.tccl-main .tccl-sec--dark .tccl-step, .tccl-main .tccl-sec--maroon .tccl-step { color: #e9e1d2; }

/* Stats */
.tccl-main .tccl-stat { text-align: center; padding: 26px 20px !important; border: 1px solid rgba(244, 241, 230, .25); border-radius: var(--tccl-radius); display: flex !important; flex-direction: column !important; gap: 6px !important; align-items: center; }
.tccl-main .tccl-stat .tccl-stat__num .elementor-heading-title { font-size: clamp(3.4rem, 9vw, 5rem) !important; color: var(--tccl-orange) !important; }
.tccl-main .tccl-stat .tccl-stat__lbl .elementor-heading-title { font-size: 1.25rem !important; }
.tccl-main .tccl-stat p { font-size: .98rem; margin: 0; color: #e9e1d2; }

/* FAQ accordion */
.tccl-main .tccl-faq .elementor-accordion .elementor-accordion-item { border: 0 !important; border-bottom: 1px solid var(--tccl-line) !important; background: transparent; }
.tccl-main .tccl-faq .elementor-tab-title { padding: 20px 4px !important; background: transparent; }
.tccl-main .tccl-faq .elementor-accordion-title, .tccl-main .tccl-faq .elementor-tab-title a {
	font-family: var(--tccl-head) !important; font-weight: 700; font-size: 1.4rem !important; text-transform: uppercase; color: var(--tccl-black) !important; line-height: 1.15;
}
.tccl-main .tccl-faq .elementor-accordion-icon { color: var(--tccl-orange) !important; }
.tccl-main .tccl-faq .elementor-accordion-icon i, .tccl-main .tccl-faq .elementor-accordion-icon svg { color: var(--tccl-orange) !important; fill: var(--tccl-orange) !important; }
.tccl-main .tccl-faq .elementor-tab-content { padding: 0 4px 22px !important; border: 0 !important; color: var(--tccl-text); font-size: 1.05rem; line-height: 1.65; }
.tccl-main .tccl-faq .elementor-tab-title.elementor-active a { color: var(--tccl-orange-dark) !important; }

/* Body text on dark bands (Elementor's text widget sets its own color) */
.tccl-main .tccl-sec--dark .elementor-widget-text-editor,
.tccl-main .tccl-sec--maroon .elementor-widget-text-editor { color: #e9e1d2; }
.tccl-main .tccl-sec--dark .elementor-widget-text-editor.tccl-lead,
.tccl-main .tccl-sec--maroon .elementor-widget-text-editor.tccl-lead { color: #efe7d6; }
.tccl-main .tccl-sec--ivory .elementor-widget-text-editor,
.tccl-main .tccl-sec--paper .elementor-widget-text-editor { color: var(--tccl-text); }
.tccl-main .elementor-heading-title { text-wrap: balance; }
.tccl-main .tccl-lead { text-wrap: pretty; }

/* Legal note under sections */
.tccl-main .tccl-note, .tccl-main .tccl-note p { font-size: .85rem; color: var(--tccl-muted); text-align: center; }
.tccl-main .tccl-sec--dark .tccl-note, .tccl-main .tccl-sec--dark .tccl-note p, .tccl-main .tccl-sec--maroon .tccl-note, .tccl-main .tccl-sec--maroon .tccl-note p { color: #c9bfae; }

/* Final CTA */
.tccl-main .tccl-cta-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 28px !important; align-items: center; width: 100% !important; }
@media (min-width: 980px) { .tccl-main .tccl-cta-grid { grid-template-columns: 1fr 1fr !important; gap: 56px !important; } }

/* 7. Footer ---------------------------------------------------------------- */
.tccl-footer { background: var(--tccl-black); color: #cfc6b6; padding: 44px 16px 48px; border-top: 6px solid var(--tccl-brand-orange); }
.tccl-footer__inner { max-width: 900px; margin: 0 auto; text-align: center; }
.tccl-footer__logo img { width: 240px; height: auto; margin: 0 auto 14px; display: block; }
.tccl-footer__fee { font-family: var(--tccl-head); font-size: 1.5rem; text-transform: uppercase; color: var(--tccl-ivory); font-weight: 700; margin: 0 0 6px; line-height: 1.1; }
.tccl-footer__call { font-family: var(--tccl-head); font-size: 2.2rem; font-weight: 800; margin: 0 0 22px; }
.tccl-footer__call a { color: var(--tccl-orange); text-decoration: none; }
.tccl-footer__resp { font-size: .85rem; margin: 0 0 12px; color: #e5dccb; }
.tccl-footer__disclaimer { font-size: .78rem; line-height: 1.6; color: #a89f90; text-align: left; border-top: 1px solid rgba(244, 241, 230, .18); padding-top: 18px; }
.tccl-footer__legal { font-size: .78rem; margin: 20px 0 0; color: #a89f90; }
.tccl-footer__legal a { color: #cfc6b6; }
.tccl-disclaimer { font-size: .8rem; line-height: 1.6; color: var(--tccl-muted); }

/* 8. Sticky mobile bar ----------------------------------------------------- */
.tccl-sticky { display: none; }
@media (max-width: 899px) {
	.tccl-sticky {
		display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 200;
		background: var(--tccl-black); border-top: 3px solid var(--tccl-brand-orange);
		padding: 8px; gap: 8px; padding-bottom: calc(8px + env(safe-area-inset-bottom));
	}
	.tccl-sticky__btn {
		flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px;
		min-height: 48px; border-radius: 8px; text-decoration: none; font-weight: 700; font-size: .95rem; text-align: center; line-height: 1.1;
	}
	.tccl-sticky__btn--call { background: var(--tccl-orange); color: #150c07; }
	.tccl-sticky__btn--text { background: transparent; color: var(--tccl-ivory); border: 2px solid var(--tccl-ivory); }
	.tccl-sticky__btn--form { background: var(--tccl-ivory); color: var(--tccl-black); }
	body.tccl-has-sticky { padding-bottom: 72px; }
}

/* 9. Utilities ------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	* { transition: none !important; }
}
@media print { .tccl-sticky, .tccl-header { display: none; } }
