/* TVRepairConnect Core – component styles.
   Colours and fonts come from the Elementor Global Colours / Fonts (Site Settings),
   with fallbacks, so changing them in Elementor updates these components too. */

body {
	--tvrc-navy: var(--e-global-color-primary, #0F2A44);
	--tvrc-blue: var(--e-global-color-secondary, #1D64D8);
	--tvrc-blue-dk: #1752B5;
	--tvrc-accent: var(--e-global-color-accent, #C2410C);
	--tvrc-accent-dk: var(--e-global-color-tvaccdk, #9A3412);
	--tvrc-text: var(--e-global-color-text, #23303D);
	--tvrc-muted: var(--e-global-color-tvmuted, #52606D);
	--tvrc-surface: var(--e-global-color-tvsurf, #F3F7FD);
	--tvrc-tint: var(--e-global-color-tvtint, #EAF2FF);
	--tvrc-border: var(--e-global-color-tvbord, #DCE5F0);
	--tvrc-ok: var(--e-global-color-tvok, #15803D);
	--tvrc-warn: var(--e-global-color-tvwarn, #B45309);
	--tvrc-err: var(--e-global-color-tverr, #B91C1C);
	--tvrc-head: var(--e-global-typography-primary-font-family, "Archivo"), sans-serif;
	--tvrc-body: var(--e-global-typography-text-font-family, "Source Sans 3"), sans-serif;
	--tvrc-radius: 16px;
	--tvrc-shadow: 0 1px 2px rgba(15, 42, 68, .05), 0 6px 20px rgba(15, 42, 68, .06);
	--tvrc-shadow-lg: 0 2px 4px rgba(15, 42, 68, .06), 0 16px 36px rgba(15, 42, 68, .12);
	--tvrc-ring: 0 0 0 3px rgba(29, 100, 216, .35);
}

/* ---------- Shared pieces ---------- */

.tvrc-icon { width: 24px; height: 24px; flex: none; display: inline-block; vertical-align: middle; }
.tvrc-i2 { fill: rgba(29, 100, 216, .14); }

.tvrc-tile {
	display: inline-grid; place-items: center; flex: none;
	width: 52px; height: 52px; border-radius: 14px;
	color: var(--tvrc-blue);
	background: linear-gradient(145deg, #F1F6FF 0%, #DCE9FD 100%);
	box-shadow: inset 0 0 0 1px rgba(29, 100, 216, .08);
}
.tvrc-tile .tvrc-icon { width: 28px; height: 28px; }
.tvrc-tile--lg { width: 60px; height: 60px; border-radius: 16px; }
.tvrc-tile--lg .tvrc-icon { width: 30px; height: 30px; }
.tvrc-tile--sm { width: 40px; height: 40px; border-radius: 11px; }
.tvrc-tile--sm .tvrc-icon { width: 22px; height: 22px; }

.tvrc-pcards, .tvrc-steps, .tvrc-adv, .tvrc-services, .tvrc-cost, .tvrc-regions, .tvrc-guides,
.tvrc-tags, .tvrc-bullets, .tvrc-checklist, .tvrc-progress, .tvrc-mini-steps, .tvrc-tipbox__grid, .tvrc-visit {
	list-style: none; margin: 0; padding: 0;
}

.tvrc-small { font-size: 14px; line-height: 1.5; color: var(--tvrc-muted); margin: 0; }
.tvrc-eyebrow {
	margin: 0 0 6px; font-family: var(--tvrc-head); font-size: 13px; font-weight: 600;
	letter-spacing: 1.2px; text-transform: uppercase; color: var(--tvrc-blue);
}
.tvrc-optional { font-weight: 400; color: var(--tvrc-muted); font-size: .9em; }
.tvrc-req { color: var(--tvrc-err); }
.tvrc-steps .screen-reader-text, .tvrc-hp, .tvrc-sr {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* Headings inside components (beat the kit's ".elementor-kit-9 h3") */
body h3.tvrc-h3 { font-family: var(--tvrc-head); font-size: 18px; line-height: 1.3; font-weight: 600; color: var(--tvrc-navy); margin: 0; }
body h3.tvrc-h4, body h2.tvrc-h4 { font-family: var(--tvrc-head); font-size: 16px; line-height: 1.35; font-weight: 600; color: var(--tvrc-navy); margin: 0; }
body h2.tvrc-h3 { font-family: var(--tvrc-head); font-size: 22px; line-height: 1.3; font-weight: 700; color: var(--tvrc-navy); margin: 0; }

/* Buttons (prefixed with body so the kit's button colours don't override them) */
body .tvrc-btn, body a.tvrc-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 13px 22px; border-radius: 8px; border: 2px solid transparent;
	font-family: var(--tvrc-head); font-size: 16px; font-weight: 600; line-height: 1.2;
	text-decoration: none; cursor: pointer; transition: background-color .15s, color .15s, border-color .15s, transform .15s;
}
body .tvrc-btn .tvrc-icon { width: 18px; height: 18px; }
body .tvrc-btn.tvrc-btn--primary { background: var(--tvrc-blue); color: #fff; }
body .tvrc-btn.tvrc-btn--primary:hover, body .tvrc-btn.tvrc-btn--primary:focus { background: var(--tvrc-blue-dk); color: #fff; }
body .tvrc-btn.tvrc-btn--accent { background: var(--tvrc-accent); color: #fff; }
body .tvrc-btn.tvrc-btn--accent:hover, body .tvrc-btn.tvrc-btn--accent:focus { background: var(--tvrc-accent-dk); color: #fff; }
body .tvrc-btn.tvrc-btn--ghost, body .tvrc-btn.tvrc-btn--outline { background: transparent; color: var(--tvrc-navy); border-color: var(--tvrc-border); }
body .tvrc-btn.tvrc-btn--outline { border-color: var(--tvrc-navy); }
body .tvrc-btn.tvrc-btn--ghost:hover, body .tvrc-btn.tvrc-btn--ghost:focus { background: var(--tvrc-surface); color: var(--tvrc-navy); border-color: #B9C8DB; }
body .tvrc-btn.tvrc-btn--outline:hover, body .tvrc-btn.tvrc-btn--outline:focus { background: var(--tvrc-navy); color: #fff; }
body .tvrc-btn.tvrc-btn--lg { padding: 15px 28px; font-size: 17px; }
body .tvrc-btn.tvrc-btn:focus-visible, body button.tvrc-linkbtn:focus-visible, body a.tvrc-linkbtn:focus-visible { outline: none; box-shadow: var(--tvrc-ring); }
body .tvrc-btn[disabled] { opacity: .7; cursor: progress; }

body button.tvrc-linkbtn, body a.tvrc-linkbtn {
	display: inline-flex; align-items: center; gap: 6px; padding: 4px 2px; border: 0; border-radius: 4px;
	background: none; color: var(--tvrc-blue); font: 600 15px/1.3 var(--tvrc-head);
	text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
}
body button.tvrc-linkbtn:hover, body button.tvrc-linkbtn:focus, body a.tvrc-linkbtn:hover { background: none; color: var(--tvrc-navy); }
body .tvrc-linkbtn .tvrc-icon { width: 16px; height: 16px; }

body a.tvrc-arrowlink, body span.tvrc-arrowlink {
	display: inline-flex; align-items: center; gap: 6px; font-family: var(--tvrc-head); font-weight: 600; font-size: 15px;
	color: var(--tvrc-blue); text-decoration: none;
}
body .tvrc-arrowlink .tvrc-icon { width: 18px; height: 18px; transition: transform .15s; }
body a.tvrc-arrowlink:hover { color: var(--tvrc-navy); }
body a.tvrc-arrowlink:hover .tvrc-icon, .tvrc-guide:hover .tvrc-arrowlink .tvrc-icon { transform: translateX(3px); }

/* Main landmark added around Elementor "Header & Footer" pages (skip-link target). */
.tvrc-main { display: block; }
.tvrc-main:focus { outline: none; }

/* Lists inside Elementor text widgets: the theme reset removes their spacing. */
.elementor-widget-text-editor ul:not(:last-child), .elementor-widget-text-editor ol:not(:last-child) { margin-bottom: 14px; }

/* Links inside running text are underlined, so they don't rely on colour alone (WCAG 1.4.1). */
.elementor-widget-text-editor p a, .elementor-widget-text-editor li a, .tvrc-asidecard p a:not(.tvrc-btn):not(.tvrc-arrowlink), label.tvrc-check a, p.tvrc-notice a {
	text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px;
}

/* Header "Request a Repair" menu button: keep white text when it is the current page
   (the header plugin's active-link colour otherwise turns it blue on orange). */
body .elementor-widget-navigation-menu .hfe-nav-menu .menu-item.current-menu-item a.hfe-menu-item.elementor-button { color: #fff; }

/* ---------- Hero visual ---------- */

.tvrc-hv { position: relative; max-width: 560px; margin: 0 auto; padding: 8px 0; }
.tvrc-hv__art { display: block; width: 100%; height: auto; }
.tvrc-hv__card {
	position: absolute; display: flex; align-items: center; gap: 10px;
	padding: 10px 14px 10px 10px; border-radius: 14px; background: #fff;
	box-shadow: var(--tvrc-shadow-lg); border: 1px solid rgba(15, 42, 68, .06);
	font-family: var(--tvrc-body); line-height: 1.25;
}
.tvrc-hv__card strong { display: block; font-family: var(--tvrc-head); font-size: 14px; font-weight: 600; color: var(--tvrc-navy); }
.tvrc-hv__card small { display: block; font-size: 12.5px; color: var(--tvrc-muted); }
.tvrc-hv__icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: var(--tvrc-tint); color: var(--tvrc-blue); }
.tvrc-hv__icon .tvrc-icon { width: 20px; height: 20px; }
.tvrc-hv__card--a { top: 0; left: -3%; }
.tvrc-hv__card--b { top: 46%; right: -4%; }
.tvrc-hv__card--c { bottom: 2%; left: 6%; }

@media (prefers-reduced-motion: no-preference) {
	.tvrc-hv__card { animation: tvrcFloat 7s ease-in-out infinite; }
	.tvrc-hv__card--b { animation-delay: -2.3s; }
	.tvrc-hv__card--c { animation-delay: -4.6s; }
}
@keyframes tvrcFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }

@media (max-width: 1024px) {
	.tvrc-hv { max-width: 460px; }
	.tvrc-hv__card--a { left: 0; }
	.tvrc-hv__card--b { right: 0; }
}
@media (max-width: 600px) {
	.tvrc-hv { padding: 0; }
	.tvrc-hv__card { padding: 7px 10px 7px 7px; gap: 8px; border-radius: 11px; }
	.tvrc-hv__card strong { font-size: 12.5px; }
	.tvrc-hv__card small { display: none; }
	.tvrc-hv__icon { width: 28px; height: 28px; border-radius: 8px; }
	.tvrc-hv__icon .tvrc-icon { width: 16px; height: 16px; }
	.tvrc-hv__card--a { top: -4px; }
	.tvrc-hv__card--c { bottom: -2px; left: 2%; }
}

/* ---------- Service discovery cards ---------- */

.tvrc-pcards { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.tvrc-pcards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tvrc-pcards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tvrc-pcards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 601px) {
	body .tvrc-pcards--2 a.tvrc-pcard { display: grid; grid-template-columns: auto 1fr; column-gap: 16px; row-gap: 2px; align-items: center; }
	body .tvrc-pcards--2 a.tvrc-pcard .tvrc-tile { grid-row: span 2; }
}
.tvrc-pcards > li { display: flex; }
body a.tvrc-pcard {
	display: flex; flex-direction: column; gap: 10px; width: 100%;
	padding: 20px 18px; border-radius: var(--tvrc-radius); background: #fff;
	border: 1px solid var(--tvrc-border); box-shadow: var(--tvrc-shadow);
	text-decoration: none; color: var(--tvrc-text);
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
body a.tvrc-pcard:hover { transform: translateY(-3px); box-shadow: var(--tvrc-shadow-lg); border-color: #B9CEF3; color: var(--tvrc-text); }
body a.tvrc-pcard:focus-visible { outline: none; box-shadow: var(--tvrc-ring), var(--tvrc-shadow-lg); }
.tvrc-pcard__title { font-family: var(--tvrc-head); font-size: 16px; font-weight: 600; line-height: 1.3; color: var(--tvrc-navy); }
.tvrc-pcard__text { font-size: 14px; line-height: 1.45; color: var(--tvrc-muted); }

@media (max-width: 1024px) {
	.tvrc-pcards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	body a.tvrc-pcard { display: grid; grid-template-columns: auto 1fr; column-gap: 14px; row-gap: 2px; padding: 16px; align-items: center; }
	body .tvrc-pcard .tvrc-tile { grid-row: span 2; }
}
@media (max-width: 600px) {
	.tvrc-pcards { gap: 10px; }
	body a.tvrc-pcard { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 14px 12px; }
	body .tvrc-pcard .tvrc-tile { width: 44px; height: 44px; border-radius: 12px; }
	body .tvrc-pcard .tvrc-tile .tvrc-icon { width: 24px; height: 24px; }
	.tvrc-pcard__title { font-size: 15px; }
	.tvrc-pcard__text { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
	body a.tvrc-pcard, body a.tvrc-pcard:hover { transition: none; transform: none; }
}

/* ---------- Problem Finder ---------- */

.tvrc-finder {
	position: relative; scroll-margin-top: 24px;
	padding: 28px 32px 24px; border-radius: 20px; background: #fff;
	border: 1px solid var(--tvrc-border); box-shadow: var(--tvrc-shadow-lg);
	color: var(--tvrc-text); font-family: var(--tvrc-body);
}

.tvrc-progress { display: flex; gap: 8px; margin: 0 0 24px; padding: 0 0 18px; border-bottom: 1px solid var(--tvrc-border); }
.tvrc-progress li {
	display: flex; align-items: center; gap: 8px; flex: 1;
	font-family: var(--tvrc-head); font-size: 14px; font-weight: 600; color: var(--tvrc-muted);
}
.tvrc-progress li span {
	display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%;
	border: 2px solid var(--tvrc-border); font-size: 13px; background: #fff; flex: none;
}
.tvrc-progress li.is-current { color: var(--tvrc-navy); }
.tvrc-progress li.is-current span { border-color: var(--tvrc-blue); background: var(--tvrc-blue); color: #fff; }
.tvrc-progress li.is-done { color: var(--tvrc-blue); }
.tvrc-progress li.is-done span { border-color: var(--tvrc-blue); color: var(--tvrc-blue); background: var(--tvrc-tint); }

body .tvrc-finder .tvrc-fstep__title { margin: 0 0 4px; font-family: var(--tvrc-head); font-size: 22px; font-weight: 600; line-height: 1.3; letter-spacing: normal; color: var(--tvrc-navy); }
.tvrc-fstep__title:focus { outline: none; }
.tvrc-fstep__hint { margin: 0 0 18px; color: var(--tvrc-muted); font-size: 16px; }

.tvrc-chips { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
body .tvrc-finder button.tvrc-chip {
	display: flex; align-items: center; gap: 10px; width: 100%; min-height: 52px;
	padding: 10px 14px; border-radius: 12px; border: 1.5px solid var(--tvrc-border);
	background: #fff; color: var(--tvrc-navy); text-align: left;
	font-family: var(--tvrc-head); font-size: 15px; font-weight: 600; line-height: 1.25;
	transition: border-color .15s, background-color .15s;
}
body .tvrc-finder button.tvrc-chip .tvrc-icon { color: var(--tvrc-blue); }
body .tvrc-finder button.tvrc-chip:hover { background: var(--tvrc-tint); border-color: var(--tvrc-blue); color: var(--tvrc-navy); }
body .tvrc-finder button.tvrc-chip:focus-visible { outline: none; box-shadow: var(--tvrc-ring); border-color: var(--tvrc-blue); background: var(--tvrc-tint); color: var(--tvrc-navy); }

.tvrc-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 14px; font-size: 15px; }
.tvrc-crumb__label { color: var(--tvrc-muted); }
.tvrc-crumb strong { color: var(--tvrc-navy); }

.tvrc-q { margin: 18px 0 0; padding: 0; border: 0; min-width: 0; }
.tvrc-q legend, .tvrc-reqform legend {
	padding: 0; margin: 0 0 10px; font-family: var(--tvrc-head); font-size: 17px; font-weight: 600; color: var(--tvrc-navy);
}
.tvrc-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
body .tvrc-finder label.tvrc-option {
	display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 13px 14px;
	border: 1.5px solid var(--tvrc-border); border-radius: 12px; cursor: pointer;
	font-family: var(--tvrc-body); font-weight: 400; font-size: 16px; line-height: 1.4; color: var(--tvrc-text);
	transition: border-color .15s, background-color .15s;
}
.tvrc-option input { margin: 3px 0 0; width: 18px; height: 18px; flex: none; accent-color: var(--tvrc-blue); }
body .tvrc-finder label.tvrc-option:hover { border-color: #9DBBEF; }
body .tvrc-finder label.tvrc-option:has(input:checked) { border-color: var(--tvrc-blue); background: var(--tvrc-tint); }
body .tvrc-finder label.tvrc-option:has(input:focus-visible) { box-shadow: var(--tvrc-ring); }
.tvrc-q[aria-invalid="true"] .tvrc-option { border-color: var(--tvrc-err); }

.tvrc-field { margin: 18px 0 0; }
body .tvrc-finder .tvrc-field label, body .tvrc-reqform .tvrc-field > label {
	display: block; margin: 0 0 6px; font-family: var(--tvrc-head); font-size: 15px; font-weight: 600; color: var(--tvrc-navy);
}
body .tvrc-finder .tvrc-field select { max-width: 340px; }

.tvrc-actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--tvrc-border); }

.tvrc-error { margin: 8px 0 0; color: var(--tvrc-err); font-size: 14px; font-weight: 600; }
.tvrc-error[hidden] { display: none; }

.tvrc-finder__disclaimer { display: flex; align-items: flex-start; gap: 8px; margin: 22px 0 0; font-size: 14px; line-height: 1.5; color: var(--tvrc-muted); }
.tvrc-finder__disclaimer .tvrc-icon { width: 18px; height: 18px; margin-top: 1px; color: var(--tvrc-blue); }
.tvrc-notice { margin: 0; padding: 14px 16px; border-radius: 12px; background: var(--tvrc-surface); }

/* Result */
.tvrc-result__head { margin-bottom: 18px; }
body .tvrc-finder .tvrc-result__title { margin: 0 0 12px; font-family: var(--tvrc-head); font-size: 22px; font-weight: 600; line-height: 1.3; letter-spacing: normal; color: var(--tvrc-navy); }
.tvrc-result__title:focus { outline: none; }
.tvrc-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.tvrc-tags li { padding: 5px 12px; border-radius: 999px; background: var(--tvrc-tint); color: var(--tvrc-navy); font-size: 14px; line-height: 1.3; }
.tvrc-result__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.tvrc-result__box { padding: 20px; border-radius: 14px; background: var(--tvrc-surface); border: 1px solid var(--tvrc-border); }
body .tvrc-finder .tvrc-result__box h3 { margin: 0 0 12px; font-family: var(--tvrc-head); font-size: 17px; font-weight: 600; line-height: 1.3; letter-spacing: normal; color: var(--tvrc-navy); }
.tvrc-bullets li { position: relative; padding-left: 18px; margin: 0 0 8px; line-height: 1.5; }
.tvrc-bullets li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: var(--tvrc-blue); }
.tvrc-result__box .tvrc-small { margin-top: 10px; }
.tvrc-checklist li { display: flex; gap: 10px; margin: 0 0 10px; line-height: 1.5; }
.tvrc-checklist .tvrc-icon { width: 18px; height: 18px; margin-top: 3px; color: var(--tvrc-ok); stroke-width: 2.4; }

.tvrc-callout { display: flex; gap: 10px; margin: 14px 0 0; padding: 14px 16px; border-radius: 12px; line-height: 1.5; font-size: 15.5px; }
.tvrc-callout .tvrc-icon { width: 20px; height: 20px; margin-top: 1px; }
.tvrc-callout--info { background: var(--tvrc-tint); color: var(--tvrc-navy); }
.tvrc-callout--info .tvrc-icon { color: var(--tvrc-blue); }
.tvrc-callout--warn { background: #FFF4EA; color: #7C2D12; border-left: 4px solid var(--tvrc-accent); }
.tvrc-callout--warn .tvrc-icon { color: var(--tvrc-accent); }

.tvrc-result__cta {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px;
	margin-top: 18px; padding: 20px 22px; border-radius: 14px; background: var(--tvrc-navy); color: #DCE6F2;
}
.tvrc-result__cta p { margin: 0; font-size: 15.5px; line-height: 1.5; }
.tvrc-result__cta > div:first-child { flex: 1 1 320px; }
.tvrc-result__ctatitle { font-family: var(--tvrc-head); font-weight: 600; font-size: 18px !important; color: #fff; margin-bottom: 2px !important; }
.tvrc-result__ctabtns { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
body .tvrc-result__cta button.tvrc-linkbtn { color: #fff; }
body .tvrc-result__cta button.tvrc-linkbtn:hover, body .tvrc-result__cta button.tvrc-linkbtn:focus { color: #C9D9F2; }
.tvrc-safety { display: flex; gap: 8px; margin: 14px 0 0; font-size: 14px; color: var(--tvrc-muted); line-height: 1.5; }
.tvrc-safety .tvrc-icon { width: 18px; height: 18px; color: var(--tvrc-accent); margin-top: 1px; }

@media (max-width: 767px) {
	.tvrc-finder { padding: 20px 16px 18px; border-radius: 16px; }
	.tvrc-progress { gap: 4px; margin-bottom: 18px; padding-bottom: 14px; }
	.tvrc-progress li { flex-direction: column; gap: 4px; font-size: 12.5px; text-align: center; }
	body .tvrc-finder .tvrc-fstep__title, body .tvrc-finder .tvrc-result__title { font-size: 20px; }
	.tvrc-chips { grid-template-columns: 1fr 1fr; gap: 8px; }
	body .tvrc-finder button.tvrc-chip { flex-direction: column; align-items: flex-start; gap: 6px; font-size: 14px; padding: 10px 12px; }
	.tvrc-options, .tvrc-result__grid { grid-template-columns: 1fr; }
	body .tvrc-finder .tvrc-field select { max-width: none; }
	.tvrc-actions { flex-direction: column-reverse; }
	.tvrc-actions .tvrc-btn, .tvrc-result__ctabtns, .tvrc-result__ctabtns .tvrc-btn { width: 100%; }
	.tvrc-result__ctabtns { justify-content: center; }
}

/* ---------- Form controls (finder + request form) ---------- */

body .tvrc-finder select,
body .tvrc-reqform input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body .tvrc-reqform select, body .tvrc-reqform textarea,
body .tvrc-areaform input:not([type="hidden"]) {
	width: 100%; min-height: 48px; padding: 10px 14px; border: 1.5px solid #C5D2E2; border-radius: 10px;
	background-color: #fff; color: var(--tvrc-text); font-family: var(--tvrc-body); font-size: 16px; line-height: 1.4;
	box-shadow: none; transition: border-color .15s, box-shadow .15s;
}
body .tvrc-reqform textarea { min-height: 112px; resize: vertical; }
body .tvrc-finder select:focus,
body .tvrc-reqform input:not([type="checkbox"]):not([type="radio"]):focus,
body .tvrc-reqform select:focus, body .tvrc-reqform textarea:focus,
body .tvrc-areaform input:focus {
	outline: none; border-color: var(--tvrc-blue); box-shadow: var(--tvrc-ring);
}
body .tvrc-reqform input[aria-invalid="true"]:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body .tvrc-reqform select[aria-invalid="true"], body .tvrc-reqform textarea[aria-invalid="true"] { border-color: var(--tvrc-err); }

/* ---------- How it works ---------- */

.tvrc-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; counter-reset: none; }
.tvrc-step { position: relative; }
.tvrc-step__top { position: relative; display: inline-block; margin-bottom: 16px; }
.tvrc-step__num {
	position: absolute; right: -8px; bottom: -6px; display: grid; place-items: center;
	width: 26px; height: 26px; border-radius: 50%; background: var(--tvrc-navy); color: #fff;
	font-family: var(--tvrc-head); font-size: 13px; font-weight: 700; border: 3px solid #fff;
}
.tvrc-step:not(:last-child)::after {
	content: ""; position: absolute; top: 30px; left: 80px; right: -14px;
	border-top: 2px dashed #B8CDF1;
}
.tvrc-step h3 { margin-bottom: 6px !important; }
.tvrc-step p { margin: 0; color: var(--tvrc-muted); font-size: 15.5px; line-height: 1.55; }
@media (max-width: 1024px) {
	.tvrc-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 24px; }
	.tvrc-step::after { display: none; }
}
@media (max-width: 600px) {
	.tvrc-steps { grid-template-columns: 1fr; gap: 0; }
	.tvrc-step { display: grid; grid-template-columns: auto 1fr; column-gap: 18px; padding-bottom: 24px; }
	.tvrc-step__top { grid-row: span 2; align-self: start; margin: 0; }
	.tvrc-step:not(:last-child)::after { display: block; top: 68px; bottom: 6px; left: 29px; right: auto; border-top: 0; border-left: 2px dashed #B8CDF1; }
}

/* ---------- Advantages ---------- */

.tvrc-adv { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.tvrc-adv__item {
	display: flex; gap: 16px; align-items: flex-start; padding: 22px;
	border-radius: var(--tvrc-radius); background: #fff; border: 1px solid var(--tvrc-border);
}
.tvrc-adv__item h3 { margin-bottom: 4px !important; font-size: 17px !important; }
.tvrc-adv__item p { margin: 0; color: var(--tvrc-muted); font-size: 15px; line-height: 1.5; }
@media (max-width: 1024px) { .tvrc-adv { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .tvrc-adv { grid-template-columns: 1fr; gap: 12px; } .tvrc-adv__item { padding: 18px; } }

/* ---------- Service overview ---------- */

.tvrc-services { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px; }
.tvrc-svc {
	grid-column: span 2; display: flex; flex-direction: column; gap: 10px; padding: 24px;
	border-radius: 18px; background: #fff; border: 1px solid var(--tvrc-border); box-shadow: var(--tvrc-shadow);
	border-top: 4px solid var(--tone, var(--tvrc-blue));
}
.tvrc-svc:nth-child(-n+2) { grid-column: span 3; }
.tvrc-svc__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.tvrc-svc p { margin: 0 0 6px; color: var(--tvrc-muted); font-size: 15.5px; line-height: 1.55; }
.tvrc-svc .tvrc-arrowlink { margin-top: auto; }
.tvrc-tag {
	padding: 4px 10px; border-radius: 999px; font-family: var(--tvrc-head); font-size: 12px; font-weight: 600;
	letter-spacing: .4px; text-transform: uppercase; background: var(--tone-bg, var(--tvrc-tint)); color: var(--tone-text, var(--tvrc-blue));
}
.tvrc-svc .tvrc-tile { color: var(--tone, var(--tvrc-blue)); background: var(--tone-bg, var(--tvrc-tint)); }
.tvrc-svc .tvrc-i2 { fill: currentColor; fill-opacity: .14; }
.tvrc-tone--blue { --tone: #1D64D8; --tone-bg: #E8F0FE; --tone-text: #1752B5; }
.tvrc-tone--sky { --tone: #0369A1; --tone-bg: #E0F2FE; --tone-text: #075985; }
.tvrc-tone--navy { --tone: #0F2A44; --tone-bg: #E5EBF2; --tone-text: #0F2A44; }
.tvrc-tone--amber { --tone: #C2410C; --tone-bg: #FFEDE0; --tone-text: #9A3412; }
.tvrc-tone--green { --tone: #15803D; --tone-bg: #E3F5EA; --tone-text: #166534; }
@media (max-width: 1024px) {
	.tvrc-services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tvrc-svc, .tvrc-svc:nth-child(-n+2) { grid-column: span 1; }
	.tvrc-svc:last-child { grid-column: span 2; }
}
@media (max-width: 600px) {
	.tvrc-services { grid-template-columns: 1fr; gap: 14px; }
	.tvrc-svc:last-child { grid-column: span 1; }
	.tvrc-svc { padding: 20px; }
}

/* ---------- Cost factors ---------- */

.tvrc-cost { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.tvrc-cost li {
	display: flex; gap: 14px; align-items: flex-start; padding: 16px;
	border-radius: 14px; background: #fff; border: 1px solid var(--tvrc-border);
}
.tvrc-cost h3 { margin-bottom: 2px !important; }
.tvrc-cost p { margin: 0; color: var(--tvrc-muted); font-size: 14.5px; line-height: 1.5; }
.tvrc-prices { width: 100%; margin-top: 16px; border-collapse: collapse; background: #fff; border-radius: 14px; overflow: hidden; border: 1px solid var(--tvrc-border); }
.tvrc-prices caption { text-align: left; padding: 0 0 8px; font-family: var(--tvrc-head); font-weight: 600; color: var(--tvrc-navy); }
.tvrc-prices th, .tvrc-prices td { padding: 12px 16px; border-bottom: 1px solid var(--tvrc-border); text-align: left; }
.tvrc-prices small { display: block; font-weight: 400; color: var(--tvrc-muted); }
@media (max-width: 600px) { .tvrc-cost { grid-template-columns: 1fr; } }

/* ---------- Service area ---------- */

.tvrc-area { max-width: 680px; }
.tvrc-regions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.tvrc-regions li {
	display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px 8px 10px; border-radius: 999px;
	background: #fff; border: 1px solid var(--tvrc-border); font-size: 15px; color: var(--tvrc-navy); font-weight: 600;
}
.tvrc-regions .tvrc-icon { width: 18px; height: 18px; color: var(--tvrc-blue); }
body .tvrc-areaform label { display: block; margin: 0 0 6px; font-family: var(--tvrc-head); font-size: 15px; font-weight: 600; color: var(--tvrc-navy); }
.tvrc-areaform__row { display: flex; gap: 10px; margin-bottom: 8px; }
.tvrc-areaform__row input { flex: 1; }
@media (max-width: 600px) { .tvrc-areaform__row { flex-direction: column; } }

/* ---------- Guides ---------- */

.tvrc-guides { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.tvrc-guide {
	position: relative; display: flex; flex-direction: column; overflow: hidden;
	border-radius: var(--tvrc-radius); background: #fff; border: 1px solid var(--tvrc-border);
	transition: box-shadow .18s, transform .18s;
}
.tvrc-guide:not(.is-planned):hover { box-shadow: var(--tvrc-shadow-lg); transform: translateY(-2px); }
.tvrc-guide__img { width: 100%; height: 150px; object-fit: cover; display: block; }
.tvrc-guide__art {
	display: grid; place-items: center; height: 120px; color: var(--tvrc-blue);
	background: radial-gradient(circle at 30% 20%, #F4F8FF 0%, #DCE9FD 100%);
}
.tvrc-guide__art .tvrc-icon { width: 44px; height: 44px; stroke-width: 1.5; }
.tvrc-guide__body { display: flex; flex-direction: column; gap: 8px; padding: 18px; flex: 1; }
.tvrc-guide__body p { margin: 0; font-size: 14.5px; color: var(--tvrc-muted); line-height: 1.5; }
body .tvrc-guide h3 a { color: var(--tvrc-navy); text-decoration: none; }
body .tvrc-guide h3 a::after { content: ""; position: absolute; inset: 0; }
body .tvrc-guide h3 a:focus-visible { outline: none; }
.tvrc-guide:focus-within { box-shadow: var(--tvrc-ring); }
.tvrc-guide .tvrc-arrowlink { margin-top: auto; }
.tvrc-badge {
	align-self: flex-start; padding: 3px 10px; border-radius: 999px; background: #F1F4F8; color: var(--tvrc-muted);
	font-family: var(--tvrc-head); font-size: 12px; font-weight: 600; letter-spacing: .3px;
}
.tvrc-guide.is-planned .tvrc-guide__art { filter: saturate(.6); }
.tvrc-guides__note, .tvrc-guides__more { margin-top: 16px !important; }
@media (max-width: 1024px) { .tvrc-guides { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .tvrc-guides { grid-template-columns: 1fr; } .tvrc-guide__art { height: 96px; } }

/* ---------- Request form ---------- */

.tvrc-reqwrap { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 32px; align-items: start; font-family: var(--tvrc-body); color: var(--tvrc-text); scroll-margin-top: 24px; }
.tvrc-reqform { padding: 32px; border-radius: 20px; background: #fff; border: 1px solid var(--tvrc-border); box-shadow: var(--tvrc-shadow); }
.tvrc-fs { margin: 0 0 28px; padding: 0; border: 0; min-width: 0; }
.tvrc-fs > legend { font-size: 20px; margin-bottom: 4px; }
.tvrc-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.tvrc-help { margin: 6px 0 0; font-size: 14px; color: var(--tvrc-muted); }
.tvrc-inline { border: 0; padding: 0; min-width: 0; }
.tvrc-inline > legend { font-size: 15px !important; margin-bottom: 8px !important; }
.tvrc-pills { display: flex; flex-wrap: wrap; gap: 8px; }
body .tvrc-reqform label.tvrc-pill {
	display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 10px 16px; border-radius: 999px;
	border: 1.5px solid var(--tvrc-border); cursor: pointer; font-family: var(--tvrc-body); font-weight: 600; font-size: 15px; color: var(--tvrc-navy);
}
.tvrc-pill input { accent-color: var(--tvrc-blue); width: 16px; height: 16px; margin: 0; }
body .tvrc-reqform label.tvrc-pill:has(input:checked) { border-color: var(--tvrc-blue); background: var(--tvrc-tint); }
body .tvrc-reqform label.tvrc-pill:has(input:focus-visible) { box-shadow: var(--tvrc-ring); }
body .tvrc-reqform label.tvrc-check { display: flex; gap: 10px; align-items: flex-start; font-family: var(--tvrc-body); font-weight: 400; font-size: 15px; line-height: 1.5; color: var(--tvrc-text); margin: 0; }
.tvrc-check input { width: 20px; height: 20px; margin: 2px 0 0; flex: none; accent-color: var(--tvrc-blue); }
.tvrc-check input[aria-invalid="true"] { outline: 2px solid var(--tvrc-err); outline-offset: 2px; }
.tvrc-consent { padding: 16px; border-radius: 12px; background: var(--tvrc-surface); }
.tvrc-submit { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 24px; }
.tvrc-submit .tvrc-small { flex: 1 1 240px; }
.tvrc-summary {
	display: flex; align-items: center; gap: 14px; margin: 8px 0 4px; padding: 14px 16px;
	border-radius: 12px; background: var(--tvrc-tint); border: 1px solid #C9DBFA;
}
.tvrc-summary > div { flex: 1; }
.tvrc-summary p { margin: 0; line-height: 1.45; }
.tvrc-summary__label { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .8px; color: var(--tvrc-blue); }
.tvrc-summary__text { color: var(--tvrc-navy); }
.tvrc-alert { margin: 0 0 20px; padding: 14px 16px; border-radius: 12px; background: #FDECEC; color: #7F1D1D; border-left: 4px solid var(--tvrc-err); }
.tvrc-alert p { margin: 4px 0 0; }
.tvrc-alert:focus { outline: none; }

.tvrc-reqaside { display: grid; gap: 16px; position: sticky; top: 24px; }
.tvrc-asidecard { padding: 22px; border-radius: 16px; background: #fff; border: 1px solid var(--tvrc-border); }
.tvrc-asidecard p { margin: 8px 0 12px; font-size: 15px; line-height: 1.5; color: var(--tvrc-muted); }
.tvrc-asidecard--soft { background: var(--tvrc-tint); border-color: #C9DBFA; }
.tvrc-asidecard--warn { background: #FFF4EA; border-color: #F9D3B4; }
.tvrc-asidecard--warn p { margin: 0; color: #7C2D12; }
.tvrc-asidecard--warn .tvrc-icon { width: 18px; height: 18px; color: var(--tvrc-accent); margin: -2px 2px 0 0; }
.tvrc-mini-steps { margin-top: 12px; counter-reset: tvrcstep; }
.tvrc-mini-steps li { position: relative; padding-left: 36px; margin: 0 0 14px; font-size: 15px; line-height: 1.5; color: var(--tvrc-muted); counter-increment: tvrcstep; }
.tvrc-mini-steps li:last-child { margin-bottom: 0; }
.tvrc-mini-steps li::before {
	content: counter(tvrcstep); position: absolute; left: 0; top: 0; display: grid; place-items: center;
	width: 24px; height: 24px; border-radius: 50%; background: var(--tvrc-tint); color: var(--tvrc-blue);
	font-family: var(--tvrc-head); font-size: 13px; font-weight: 700;
}
.tvrc-mini-steps strong { color: var(--tvrc-navy); }

.tvrc-success { grid-column: 1 / -1; max-width: 640px; margin: 0 auto; padding: 36px; text-align: center; border-radius: 20px; background: #fff; border: 1px solid var(--tvrc-border); box-shadow: var(--tvrc-shadow); }
.tvrc-success:focus { outline: none; }
.tvrc-success .tvrc-tile { color: var(--tvrc-ok); background: #E3F5EA; margin-bottom: 14px; }
.tvrc-success .tvrc-icon { stroke-width: 2.4; }
.tvrc-success p { color: var(--tvrc-muted); line-height: 1.6; }

@media (max-width: 1024px) {
	.tvrc-reqwrap { grid-template-columns: 1fr; }
	.tvrc-reqaside { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tvrc-asidecard--warn { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
	.tvrc-reqform { padding: 20px 16px; border-radius: 16px; }
	.tvrc-row { grid-template-columns: 1fr; }
	.tvrc-reqaside { grid-template-columns: 1fr; }
	.tvrc-submit .tvrc-btn { width: 100%; }
	.tvrc-success { padding: 26px 18px; }
}

/* ---------- Repair guide articles (single posts, Hello theme markup) ---------- */

body.single-post main.site-main { max-width: 780px; width: 100%; margin: 0 auto; padding: 56px 20px 88px; }
body.single-post .page-header { margin-bottom: 0; padding: 0; }
body.single-post .page-header h1.entry-title { padding: 0; }
body.single-post .page-header h1.entry-title {
	margin: 0 0 10px; font-family: var(--tvrc-head); font-size: clamp(30px, 4.2vw, 44px); line-height: 1.15; font-weight: 700; color: var(--tvrc-navy); letter-spacing: -.4px;
}
.tvrc-guide-meta { margin: 0 0 28px !important; font-family: var(--tvrc-head); font-size: 13px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: var(--tvrc-blue); }
body.single-post .page-content { font-family: var(--tvrc-body); font-size: 18px; line-height: 1.7; color: var(--tvrc-text); }
body.single-post .page-content > p, body.single-post .page-content > ul, body.single-post .page-content > ol { margin: 0 0 18px; }
body.single-post .page-content > h2 { margin: 44px 0 14px; font-family: var(--tvrc-head); font-size: 28px; line-height: 1.25; font-weight: 700; color: var(--tvrc-navy); }
body.single-post .page-content > h3 { margin: 30px 0 8px; font-family: var(--tvrc-head); font-size: 20px; line-height: 1.35; font-weight: 600; color: var(--tvrc-navy); }
body.single-post .page-content > ul, body.single-post .page-content > ol { padding-left: 1.25em; }
body.single-post .page-content > ul > li, body.single-post .page-content > ol > li { margin-bottom: 8px; }
body.single-post .page-content > ul > li::marker { color: var(--tvrc-blue); }
body.single-post .page-content > p a:not(.tvrc-btn):not(.tvrc-arrowlink), body.single-post .page-content > ul a, body.single-post .page-content td a { color: var(--tvrc-blue); text-decoration: underline; text-underline-offset: 3px; }
body.single-post .page-content .tvrc-callout { margin: 24px 0; font-size: 16px; }
body.single-post .wp-block-table { margin: 20px 0 24px; overflow-x: auto; }
body.single-post .wp-block-table table { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 1.5; }
body.single-post .wp-block-table th, body.single-post .wp-block-table td { padding: 12px 14px; border: 1px solid var(--tvrc-border); text-align: left; vertical-align: top; }
body.single-post .wp-block-table thead { border-bottom: 0; }
body.single-post .wp-block-table tbody td { background: #fff; }
body.single-post .wp-block-table thead th { background: var(--tvrc-tint); color: var(--tvrc-navy); font-family: var(--tvrc-head); font-weight: 600; }
.tvrc-guide-cta { margin: 40px 0 0; padding: 26px; }
.tvrc-guide-cta h2.tvrc-h4 { margin: 0 0 6px !important; font-size: 20px !important; }
.tvrc-guide-cta p { margin: 0 0 16px !important; font-size: 16px; color: var(--tvrc-text); }
.tvrc-guide-cta__links { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin: 0 !important; }
.tvrc-related { margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--tvrc-border); }
body.single-post .tvrc-related h2 { margin-top: 0; font-size: 24px; }
.tvrc-related > p { margin-top: 18px !important; }
.tvrc-guides--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tvrc-guides--3 .tvrc-guide__body p { font-size: 14px; }
@media (max-width: 767px) {
	body.single-post main.site-main { padding: 36px 16px 64px; }
	body.single-post .page-content { font-size: 17px; }
	body.single-post .page-content > h2 { font-size: 24px; margin-top: 36px; }
	.tvrc-guides--3 { grid-template-columns: 1fr; }
	.tvrc-guide-cta { padding: 20px; }
}

/* ---------- Header contact bar [tvrc_topbar] ---------- */
.tvrc-topbar {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 24px;
	font-family: var(--tvrc-body); font-size: 14px; line-height: 1.4; color: #fff;
}
.tvrc-topbar__area { margin: 0; display: flex; align-items: center; gap: 6px; color: rgba(255, 255, 255, .85); }
.tvrc-topbar__links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 22px; }
.tvrc-topbar .tvrc-icon { width: 18px; height: 18px; }
.tvrc-topbar .tvrc-i2 { fill: rgba(255, 255, 255, .18); }
body .tvrc-topbar a {
	display: inline-flex; align-items: center; gap: 6px; padding: 4px 0;
	color: #fff; font-weight: 600; text-decoration: none;
}
body .tvrc-topbar a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
body .tvrc-topbar a:focus-visible { outline: 2px solid #fff; outline-offset: 2px; border-radius: 4px; }
@media (max-width: 767px) {
	.tvrc-topbar { justify-content: center; }
	.tvrc-topbar__area { display: none; }
	body .tvrc-topbar a { padding: 6px 0; }
}

/* ---------- Floating WhatsApp button ---------- */
body a.tvrc-wa-float {
	position: fixed; right: 20px; bottom: 20px; z-index: 900;
	display: inline-flex; align-items: center; gap: 8px; min-height: 52px; padding: 0 20px 0 16px;
	border-radius: 999px; background: var(--tvrc-ok); color: #fff;
	font-family: var(--tvrc-head); font-size: 16px; font-weight: 600; text-decoration: none;
	box-shadow: var(--tvrc-shadow-lg); transition: background-color .15s ease, transform .15s ease;
}
body a.tvrc-wa-float:hover { background: #116632; color: #fff; transform: translateY(-1px); }
body a.tvrc-wa-float:focus-visible { outline: 3px solid var(--tvrc-navy); outline-offset: 3px; }
.tvrc-wa-float .tvrc-icon { width: 26px; height: 26px; }
.tvrc-wa-float .tvrc-i2 { fill: rgba(255, 255, 255, .22); }
@media (max-width: 600px) {
	body a.tvrc-wa-float { right: 14px; bottom: 14px; min-height: 48px; padding: 0 16px 0 12px; font-size: 15px; }
	.tvrc-wa-float .tvrc-icon { width: 22px; height: 22px; }
}
@media (prefers-reduced-motion: reduce) { body a.tvrc-wa-float { transition: none; } body a.tvrc-wa-float:hover { transform: none; } }
@media print { .tvrc-wa-float { display: none !important; } }

/* ---------- Cost tables [tvrc_price_table] [tvrc_size_table] [tvrc_parts_table] [tvrc_repair_replace] ---------- */
.tvrc-table {
	--tvrc-thead: var(--tvrc-navy);
	overflow: hidden; border: 1px solid var(--tvrc-border); border-radius: var(--tvrc-radius);
	background: #fff; box-shadow: var(--tvrc-shadow);
}
.tvrc-table--green { --tvrc-thead: #15803D; }
.tvrc-table--purple { --tvrc-thead: #6B21A8; }
body .tvrc-table table { width: 100%; margin: 0; border: 0; border-collapse: collapse; font-family: var(--tvrc-body); font-size: 15px; line-height: 1.5; color: var(--tvrc-text); }
body .tvrc-table thead th {
	padding: 14px 18px; border: 0; background: var(--tvrc-thead); color: #fff; text-align: left;
	font-family: var(--tvrc-head); font-size: 14px; font-weight: 600; letter-spacing: .2px;
}
/* "table tbody > tr > td" selectors so the theme's own table striping doesn't apply. */
body .tvrc-table table tbody > tr > th, body .tvrc-table table tbody > tr > td { padding: 14px 18px; border: 0; border-top: 1px solid var(--tvrc-border); text-align: left; vertical-align: top; background: #fff; }
body .tvrc-table table tbody > tr:nth-child(even) > th, body .tvrc-table table tbody > tr:nth-child(even) > td { background: #F8FAFD; }
body .tvrc-table table tbody > tr > th { font-family: var(--tvrc-head); font-weight: 600; color: var(--tvrc-navy); }
body .tvrc-table table tbody > tr > td { color: var(--tvrc-muted); }
.tvrc-price { font-family: var(--tvrc-head); font-weight: 700; color: var(--tvrc-navy); white-space: nowrap; }
.tvrc-price--quote { font-weight: 600; font-size: 14px; color: var(--tvrc-accent-dk); white-space: normal; }
.tvrc-verdict { display: inline-block; padding: 3px 10px; border-radius: 999px; font-family: var(--tvrc-head); font-size: 13px; font-weight: 600; line-height: 1.5; }
.tvrc-verdict--yes { background: #E7F6EC; color: #166534; }
.tvrc-verdict--maybe { background: var(--tvrc-tint); color: var(--tvrc-blue-dk); }
.tvrc-verdict--no { background: #FDECEC; color: #B91C1C; }
.tvrc-verdict--first { background: #FFF4EA; color: #9A3412; }
@media (max-width: 767px) {
	body .tvrc-table thead { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
	body .tvrc-table table, body .tvrc-table tbody, body .tvrc-table tr, body .tvrc-table table tbody > tr > th, body .tvrc-table table tbody > tr > td { display: block; width: 100%; }
	body .tvrc-table tbody tr { border-top: 4px solid var(--tvrc-thead); }
	body .tvrc-table tbody tr:first-child { border-top: 0; }
	body .tvrc-table table tbody > tr > th { padding: 14px 16px 6px; border-top: 0; font-size: 16px; }
	body .tvrc-table table tbody > tr > td { padding: 4px 16px 10px; border-top: 0; }
	body .tvrc-table tbody td::before { content: attr(data-label); display: block; font-family: var(--tvrc-head); font-size: 12px; font-weight: 600; letter-spacing: .4px; text-transform: uppercase; color: var(--tvrc-navy); }
	body .tvrc-table tbody td:last-child { padding-bottom: 16px; }
}

/* ---------- Questions to ask [tvrc_cost_questions] ---------- */
.tvrc-tipbox { padding: 26px; border: 1px solid #F5D77A; border-radius: var(--tvrc-radius); background: linear-gradient(180deg, #FFF8DB, #FFF3C4); }
.tvrc-tipbox__head { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 18px; }
.tvrc-tipbox__head .tvrc-tile { background: #FDE68A; color: #92400E; }
.tvrc-tipbox__head .tvrc-i2 { fill: rgba(146, 64, 14, .15); }
.tvrc-tipbox__head p { margin: 4px 0 0; color: #713F12; font-size: 15px; }
body .tvrc-tipbox__head h3.tvrc-h4 { font-size: 18px; color: #713F12; }
.tvrc-tipbox__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.tvrc-tipbox__grid li { padding: 16px; border-radius: 12px; background: rgba(255, 255, 255, .75); font-size: 14.5px; line-height: 1.5; color: var(--tvrc-text); }
.tvrc-tipbox__grid strong { display: block; margin-bottom: 4px; font-family: var(--tvrc-head); color: var(--tvrc-navy); }
@media (max-width: 1024px) { .tvrc-tipbox__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .tvrc-tipbox { padding: 18px; } .tvrc-tipbox__grid { grid-template-columns: 1fr; } }

/* ---------- Home or workshop [tvrc_visit_types] ---------- */
.tvrc-visit { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.tvrc-visit li { padding: 24px; border: 1px solid var(--tvrc-border); border-radius: var(--tvrc-radius); background: #fff; box-shadow: var(--tvrc-shadow); }
body .tvrc-visit h3.tvrc-h4 { margin: 14px 0 6px; font-size: 18px; }
.tvrc-visit p { margin: 0 0 8px; color: var(--tvrc-muted); font-size: 15px; line-height: 1.55; }
.tvrc-visit__note { margin-top: 14px; }
@media (max-width: 600px) { .tvrc-visit { grid-template-columns: 1fr; } }
