/* InterAct block theme – shared styles. Logical properties only, so RTL and LTR both work. */
:root {
	--ia-radius: 4px;
	--ia-shadow: 0 18px 40px -22px rgb(16 24 40 / 0.35);
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
/* Nothing may make the page wider than the screen (animations start off-position, decorative glows …).
   clip, not hidden: it creates no scroll box, so the sticky header keeps working. */
.wp-site-blocks { overflow-x: clip; }

/* Stacked full-width sections touch each other (no white gaps). */
.wp-site-blocks > main,
.wp-site-blocks > .site-footer { margin-block-start: 0; }
.wp-block-post-content > .alignfull,
main > .alignfull { margin-block-start: 0; margin-block-end: 0; }

:where(a, button, summary, input):focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}

/* ---------- header */
.site-header { position: sticky; inset-block-start: 0; z-index: 50; box-shadow: 0 1px 0 var(--wp--preset--color--border); }
.admin-bar .site-header { inset-block-start: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { inset-block-start: 46px; } }
@media (max-width: 600px) { .admin-bar .site-header { inset-block-start: 0; } }
.site-header .brand { gap: 0.75rem; }
.site-header .wp-block-site-title { white-space: nowrap; }
.header-cta .wp-block-button__link { padding: 0.6em 1.25em; }
@media (max-width: 781px) { .wp-block-buttons.header-cta { display: none; } }
.main-nav a:hover { color: var(--wp--preset--color--accent-text); }

/* ---------- type helpers */
.eyebrow {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--accent-text);
	margin-block-end: 0;
}
.lead { font-size: clamp(1.075rem, 1.6vw, 1.2rem); }
.muted { color: var(--wp--preset--color--muted); }
.section-head { max-width: 720px; margin-inline: auto !important; margin-block-end: var(--wp--preset--spacing--60); }
.section-head > * { margin-block: 0.4rem; }
.section-head .lead { color: var(--wp--preset--color--muted); }

/* ---------- dark sections (hero, page header, CTA, footer, quote box) */
:where(.has-hero-gradient-background, .has-primary-background-color, .has-primary-2-background-color) .eyebrow,
:where(.has-hero-gradient-background, .has-primary-background-color, .has-primary-2-background-color) a:not(.wp-element-button) {
	color: var(--wp--preset--color--accent);
}
:where(.has-hero-gradient-background, .has-primary-background-color) .lead { color: inherit; opacity: 0.88; }
.has-hero-gradient-background .is-style-outline > .wp-block-button__link,
.has-primary-background-color .is-style-outline > .wp-block-button__link,
.has-primary-2-background-color .is-style-outline > .wp-block-button__link {
	color: var(--wp--preset--color--base);
	border-color: color-mix(in srgb, var(--wp--preset--color--base) 55%, transparent);
}

/* ---------- buttons */
.wp-element-button { transition: filter 0.15s ease, transform 0.15s ease; }
.wp-element-button:hover { filter: brightness(1.08); transform: translateY(-1px); }
.is-style-outline > .wp-block-button__link {
	border: 2px solid currentColor;
	padding-block: calc(0.85em - 2px);
	color: var(--wp--preset--color--primary);
	background: transparent;
}
.is-full .wp-block-button { width: 100%; }
.is-full .wp-block-button__link { width: 100%; }

/* ---------- hero */
.hero { position: relative; overflow: hidden; }
.hero::before {
	content: "";
	position: absolute;
	inset-block-start: -35%;
	inset-inline-start: -15%;
	width: min(70vw, 900px);
	aspect-ratio: 1;
	background: radial-gradient(closest-side, color-mix(in srgb, var(--wp--preset--color--accent) 22%, transparent), transparent);
	pointer-events: none;
}
.hero > * { position: relative; }
.hero h1 { margin-block: 0.5rem 1rem; }
.hero-cols { gap: var(--wp--preset--spacing--60); }
.hero-card {
	border-radius: calc(var(--ia-radius) * 2);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent) 40%, transparent);
	box-shadow: 0 40px 70px -40px rgb(0 0 0 / 0.6);
}
.hero-card h2 { color: var(--wp--preset--color--accent); }

/* ---------- check lists */
.is-style-checks { list-style: none; padding-inline-start: 0; }
.is-style-checks li { position: relative; padding-inline-start: 2em; margin-block: 0.55em; }
.is-style-checks li::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	inset-block-start: 0.32em;
	width: 1.25em;
	height: 1.25em;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
}
.is-style-checks li::after {
	content: "";
	position: absolute;
	inset-inline-start: 0.45em;
	inset-block-start: 0.5em;
	width: 0.32em;
	height: 0.62em;
	border: solid var(--wp--preset--color--accent-contrast);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

/* ---------- stats */
.stats-grid { gap: var(--wp--preset--spacing--50); }
.stat { text-align: center; }
.stat > * { margin: 0; }
.stat-num {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(2.3rem, 4vw, 3.25rem);
	font-weight: 700;
	line-height: 1.05;
	color: var(--wp--preset--color--primary);
	direction: ltr;
	unicode-bidi: isolate;
}
.stat-label { color: var(--wp--preset--color--muted); margin-block-start: 0.4rem !important; }

/* ---------- cards */
.cards { gap: var(--wp--preset--spacing--40); }
.card {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: calc(var(--ia-radius) * 2);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.cards > .card:hover { box-shadow: var(--ia-shadow); transform: translateY(-2px); }
.card > h3 { margin-block-start: 1.1rem; }
.card-link { margin-block-start: auto; }
.card-link a { font-weight: 700; text-decoration: none; }

/* ---------- icons: white line icon on a primary-coloured circle (follows the style variation) */
.wp-block-image.ia-icon {
	margin: 0;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	display: grid;
	place-items: center;
	flex: none;
}
.wp-block-image.ia-icon img { width: 28px; height: 28px; }
.wp-block-image.ia-icon.is-small { width: 46px; height: 46px; }
.wp-block-image.ia-icon.is-small img { width: 22px; height: 22px; }

/* ---------- about / quote */
.quote-box { border-radius: calc(var(--ia-radius) * 2); position: relative; overflow: hidden; }
.quote-box::before {
	content: "\201D";
	position: absolute;
	inset-block-start: -0.15em;
	inset-inline-start: 0.2em;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 9rem;
	line-height: 1;
	color: var(--wp--preset--color--accent);
	opacity: 0.35;
}
.quote-text {
	position: relative;
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.25rem, 2vw, 1.55rem);
	line-height: 1.5;
}
.quote-cite { font-weight: 700; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--accent); }
.testimonial .quote-text { font-size: 1.1rem; }
.testimonial .quote-cite { color: var(--wp--preset--color--accent-text); }

/* ---------- process */
.steps { gap: var(--wp--preset--spacing--50); }
.step { border-block-start: 2px solid var(--wp--preset--color--border); padding-block-start: var(--wp--preset--spacing--40); }
.step-num {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1;
	margin: 0;
	color: var(--wp--preset--color--accent-text);
}
.step h3 { margin-block-start: 0.9rem; }

/* ---------- FAQ */
.faq-list > * + * { margin-block-start: 0.75rem; }
.faq-item {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--ia-radius);
}
.faq-item > summary {
	cursor: pointer;
	list-style: none;
	position: relative;
	font-weight: 700;
	padding: 1.1rem 1.4rem;
	padding-inline-end: 3.2rem;
}
.faq-item > summary::-webkit-details-marker { display: none; }
.faq-item > summary::after {
	content: "+";
	position: absolute;
	inset-inline-end: 1.3rem;
	inset-block-start: 50%;
	transform: translateY(-50%);
	font-size: 1.5rem;
	font-weight: 400;
	color: var(--wp--preset--color--accent-text);
}
.faq-item[open] > summary::after { content: "\2013"; }
.faq-item > :not(summary) { padding-inline: 1.4rem; margin-block: 0 1.2rem; color: var(--wp--preset--color--muted); }

/* ---------- page header band */
.page-header h1 { margin-block: 0.35rem 0.5rem; }
.page-header .lead { max-width: 640px; }

/* ---------- services detail */
.svc-row { padding-block: var(--wp--preset--spacing--60); border-block-end: 1px solid var(--wp--preset--color--border); }
.svc-row:first-child { padding-block-start: 0; }
.svc-row:last-child { border-block-end: 0; padding-block-end: 0; }
.svc-row h2 { margin-block-start: 1rem; }

/* ---------- contact */
.contact-row { gap: 1rem; margin-block-start: 1.25rem; }
.contact-row p { margin: 0; }
.contact-label { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.contact-value { font-weight: 700; font-size: 1.15rem; }
.contact-value a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.contact-value a:hover { color: var(--wp--preset--color--accent-text); }

/* ---------- notice (template placeholders) */
.notice {
	background: color-mix(in srgb, var(--wp--preset--color--accent) 14%, var(--wp--preset--color--base));
	border-inline-start: 4px solid var(--wp--preset--color--accent);
	border-radius: var(--ia-radius);
	padding: 1rem 1.25rem;
}

/* ---------- footer */
.footer-inner { font-size: var(--wp--preset--font-size--small); }
.footer-inner .wp-block-site-title a { color: inherit; }
.footer-inner p { margin-block: 0.35rem; }
.footer-about { opacity: 0.8; max-width: 34ch; }
.footer-title { font-family: var(--wp--preset--font-family--body); color: var(--wp--preset--color--accent); margin-block-end: 0.75rem; }
.footer-nav { gap: 0.5rem; }
.footer-inner a:not(.wp-element-button) { color: inherit !important; text-decoration: none; }
.footer-inner a:not(.wp-element-button):hover { text-decoration: underline; }
.footer-bottom {
	margin-block-start: var(--wp--preset--spacing--60) !important;
	padding-block-start: var(--wp--preset--spacing--40);
	border-block-start: 1px solid color-mix(in srgb, var(--wp--preset--color--base) 18%, transparent);
	opacity: 0.8;
}

/* ---------- floating WhatsApp button */
.wa-float { position: fixed; inset-block-end: 20px; inset-inline-end: 20px; z-index: 60; margin: 0 !important; }
.wa-float .wp-block-button__link {
	background: #0f7a43;
	color: #fff;
	border-radius: 999px;
	padding: 0.75em 1.3em;
	box-shadow: 0 12px 28px -10px rgb(0 0 0 / 0.45);
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
}
.wa-float .wp-block-button__link::before {
	content: "";
	width: 1.25em;
	height: 1.25em;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20l1.3-3.9A8 8 0 1 1 8 19z'/%3E%3Cpath d='M9 9.5c0 3 2.5 5.5 5.5 5.5l1-1.5-2-1-1 1c-1-.5-2-1.5-2.5-2.5l1-1-1-2z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.editor-styles-wrapper .wa-float { position: static; margin-block-start: 1rem !important; }

/* ---------- posts */
.post-card .wp-block-post-featured-image { margin-block-end: 0.5rem; border-radius: var(--ia-radius); overflow: hidden; }
.post-card .wp-block-post-title a { color: var(--wp--preset--color--contrast); text-decoration: none; }

@media (max-width: 781px) {
	.hero .wp-block-buttons .wp-block-button { flex: 1 1 100%; }
	.hero .wp-block-buttons .wp-block-button__link { width: 100%; }
	.footer-bottom { flex-direction: column; align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; }
}

/* ---------- mobile menu overlay */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: 1.35rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.1rem; }
body:has(.wp-block-navigation__responsive-container.is-menu-open) .wa-float { display: none; }

/* ---------- demo photos (captioned "for display only" + credit) */
.wp-block-image.ia-photo { margin: 0; }
.wp-block-image.ia-photo img {
	width: 100%;
	aspect-ratio: 10 / 11;
	object-fit: cover;
	object-position: 50% 50%;
	border-radius: calc(var(--ia-radius) * 3);
	box-shadow: var(--ia-shadow);
}
.wp-block-image.ia-photo.hero-photo img { aspect-ratio: 9 / 10; max-height: 620px; box-shadow: 0 40px 70px -40px rgb(0 0 0 / 0.6); }
.wp-block-image.ia-photo figcaption {
	margin-block: 0.6rem 0;
	font-size: 0.8rem;
	line-height: 1.4;
	text-align: start;
	color: var(--wp--preset--color--muted);
}
.wp-block-image.ia-photo figcaption a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.has-hero-gradient-background .wp-block-image.ia-photo figcaption,
.has-primary-background-color .wp-block-image.ia-photo figcaption { color: var(--wp--preset--color--base); opacity: 0.8; }
.about-side > .quote-box { margin-block-start: 1.5rem; }
.contact .ia-photo { margin-block-end: 1.5rem; }

/* ---------- animations: the hero waits for GSAP (max 3 s, see functions.php) */
.ia-anim .hero .wp-block-column > *,
.ia-anim .page-header .alignwide > * { visibility: hidden; }

/* ---------- contact form (php/forms.php): colours, radius and fonts come from the template */
.ia-form-wrap { max-width: 760px; margin-inline: auto; }
.ia-form-wrap.alignwide { max-width: var(--wp--style--global--wide-size, 1200px); }
.ia-form {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: calc(var(--ia-radius) * 2);
	padding: clamp(1.25rem, 3vw, 2.25rem);
	box-shadow: var(--ia-shadow);
	text-align: start;
}
.ia-form-title { margin: 0 0 1rem; font-size: var(--wp--preset--font-size--large); }
.ia-form-grid { display: grid; gap: 0.9rem 1.1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
/* scoped under .ia-form: other modules use .ia-field too (the property filters) */
.ia-form .ia-field { margin: 0; display: grid; gap: 0.35rem; min-width: 0; font-size: inherit; font-weight: 400; color: inherit; }
.ia-form .ia-field.ia-wide { grid-column: 1 / -1; }
.ia-form .ia-field > label { font-weight: 700; font-size: var(--wp--preset--font-size--small); }
.ia-form .ia-field input, .ia-form .ia-field select, .ia-form .ia-field textarea {
	font: inherit;
	width: 100%;
	box-sizing: border-box;
	padding: 0.75em 0.9em;
	color: var(--wp--preset--color--contrast);
	background: var(--wp--preset--color--surface);
	border: 1.5px solid var(--wp--preset--color--border);
	border-radius: var(--ia-radius);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.ia-form .ia-field textarea { resize: vertical; min-height: 7.5rem; }
.ia-form .ia-field input:focus, .ia-form .ia-field select:focus, .ia-form .ia-field textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--wp--preset--color--accent) 30%, transparent);
}
.ia-form .ia-field input[dir="ltr"] { text-align: right; }
.ia-form .ia-consent label { display: flex; gap: 0.6rem; align-items: flex-start; font-weight: 400; font-size: var(--wp--preset--font-size--small); }
.ia-form .ia-consent input { width: auto; height: auto; padding: 0; margin-top: 0.25em; accent-color: var(--wp--preset--color--accent); flex: none; }
.ia-form .ia-consent a { color: var(--wp--preset--color--accent-text); }
.ia-form-actions { margin: 1.2rem 0 0; }
.ia-form-submit { border: 0; cursor: pointer; min-width: 10rem; }
.ia-form-submit[disabled] { opacity: 0.6; cursor: wait; }
.ia-form-status { margin: 0.8rem 0 0; font-weight: 700; min-height: 1.2em; }
.ia-form.is-sent .ia-form-status { color: #1a7f45; }
.ia-form.is-error .ia-form-status { color: #b42318; }
.ia-form.is-note .ia-form-status { color: var(--wp--preset--color--accent-text); font-weight: 400; }
.ia-hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 600px) { .ia-form-grid { grid-template-columns: 1fr; } .ia-form-submit { width: 100%; } }

/* ===== modules/trades ===== */
/* InterAct trades module (modules/trades): one-page landing pages for trades.
 * Every component reads CSS variables (set them in your design's style.css on :root or on one section) and has
 * modifier classes (spec "cls"), so three variants of a trade can look completely different. Logical properties only.
 * Breakpoint: 782px (phones below). Nothing moves for prefers-reduced-motion. */
:root {
	--t-radius: var(--ia-radius);
	--t-gap: clamp(0.75rem, 2vw, 1.25rem);
	--t-card-bg: var(--wp--preset--color--base);
	--t-card-fg: var(--wp--preset--color--contrast);
	--t-card-border: var(--wp--preset--color--border);
	--t-card-shadow: var(--ia-shadow);
	--t-chip-bg: var(--wp--preset--color--surface);
	--t-chip-fg: var(--wp--preset--color--contrast);
	--t-chip-border: var(--wp--preset--color--border);
	--t-chip-on-bg: var(--wp--preset--color--primary);
	--t-chip-on-fg: var(--wp--preset--color--base);
	--t-num-bg: var(--wp--preset--color--accent);
	--t-num-fg: var(--wp--preset--color--accent-contrast);
	--t-call-bg: var(--wp--preset--color--accent);
	--t-call-fg: var(--wp--preset--color--accent-contrast);
	--t-wa-bg: #0f7a43;
	--t-wa-fg: #ffffff;
	--t-bar-h: 64px;
	--t-bar-bg: var(--wp--preset--color--base);
	--t-bar-border: var(--wp--preset--color--border);
	--t-ba-ratio: 4 / 3;
	--t-ba-line: #ffffff;
	--t-ba-knob-bg: #ffffff;
	--t-ba-knob-fg: var(--wp--preset--color--contrast);
	--t-est-bg: var(--wp--preset--color--base);
	--t-est-result-bg: var(--wp--preset--color--primary);
	--t-est-result-fg: var(--wp--preset--color--base);
	--t-price-leader: var(--wp--preset--color--border);
	--t-icon-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3.5h3.5l1.8 4.5-2.3 1.4a11 11 0 0 0 6.6 6.6l1.4-2.3 4.5 1.8V19a2 2 0 0 1-2 2A16.5 16.5 0 0 1 3 5.5a2 2 0 0 1 2-2z'/%3E%3C/svg%3E");
	--t-icon-wa: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20l1.3-3.9A8 8 0 1 1 8 19z'/%3E%3Cpath d='M9 9.5c0 3 2.5 5.5 5.5 5.5l1-1.5-2-1-1 1c-1-.5-2-1.5-2.5-2.5l1-1-1-2z'/%3E%3C/svg%3E");
	--t-icon-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
.t-sec[id], #ia-form { scroll-margin-block-start: 84px; }
.t-sec .section-head { margin-block-end: var(--wp--preset--spacing--50); }
.t-note { font-size: 0.875rem; color: var(--wp--preset--color--muted); margin-block-start: var(--wp--preset--spacing--40) !important; }
.has-primary-background-color .t-note, .has-hero-gradient-background .t-note { color: inherit; opacity: 0.8; }

/* hidden settings (WhatsApp message, area answers): never shown on the site, labelled in the editor */
.t-msg { display: none; }
.editor-styles-wrapper .t-msg {
	display: block; font-size: 0.85rem; padding: 0.6em 0.8em; border: 1px dashed currentColor; border-radius: 6px; opacity: 0.75;
}
.editor-styles-wrapper .t-msg::before { display: block; font-weight: 700; margin-block-end: 0.2em; }
.editor-styles-wrapper .t-picker-msg::before { content: "הודעת הוואטסאפ ({problem} = הבעיה שנבחרה) · מוסתר באתר"; }
.editor-styles-wrapper .t-est-msg::before { content: "הטקסט שנכנס לטופס ({range} = הטווח, {choices} = הבחירות) · מוסתר באתר"; }
.editor-styles-wrapper .t-areas-yes::before { content: "תשובה כשהאזור ברשימה ({area} = מה שהוקלד) · מוסתר באתר"; }
.editor-styles-wrapper .t-areas-no::before { content: "תשובה כשהאזור לא ברשימה · מוסתר באתר"; }

/* buttons with an icon: .t-call / .t-wa anywhere */
.t-call > .wp-block-button__link, .t-wa > .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: 0.5em;
}
.t-call > .wp-block-button__link::before, .t-wa > .wp-block-button__link::before {
	content: ""; flex: none; width: 1.15em; height: 1.15em; background: currentColor;
	-webkit-mask: var(--t-icon-phone) center / contain no-repeat; mask: var(--t-icon-phone) center / contain no-repeat;
}
.t-wa > .wp-block-button__link::before { -webkit-mask-image: var(--t-icon-wa); mask-image: var(--t-icon-wa); }
.t-call > .wp-block-button__link { background: var(--t-call-bg); color: var(--t-call-fg); }
.t-wa > .wp-block-button__link { background: var(--t-wa-bg); color: var(--t-wa-fg); }

/* ---------- slim one-page header */
.t-header .t-header-row { gap: 1rem; min-width: 0; }
.t-header .t-brand { gap: 0.6rem; min-width: 0; flex: 0 1 auto; }
.t-header .wp-block-site-title { white-space: normal; line-height: 1.15; overflow-wrap: anywhere; }
.t-header .t-tagline { margin: 0; font-size: 0.85rem; color: var(--wp--preset--color--muted); line-height: 1.2; }
.t-header .t-links { margin: 0; display: flex; gap: 1.4rem; font-weight: 600; flex: 0 1 auto; }
.t-header .t-links a { color: inherit; text-decoration: none; white-space: nowrap; }
.t-header .t-links a:hover, .t-header .t-links a:focus-visible { text-decoration: underline; text-underline-offset: 4px; }
.t-header .t-header-cta { flex: none; gap: 0.5rem; flex-wrap: nowrap; }
.t-header .t-header-cta .wp-block-button__link { padding: 0.6em 1.1em; white-space: nowrap; }
.t-header .t-call > .wp-block-button__link { direction: ltr; }
.t-header--dark { box-shadow: none; }
.t-header--center .t-header-row { justify-content: center !important; }
@media (max-width: 781px) {
	.t-header .t-links { display: none; }
	.t-header .t-tagline { display: none; }
	.t-header .wp-block-site-title { font-size: 1.05rem; }
	/* phones: round icon buttons (the bar at the bottom carries the words); the text stays for screen readers */
	.t-header:not(.t-header--phone-text) .t-header-cta .wp-block-button__link {
		font-size: 0; width: 44px; height: 44px; padding: 0; border-radius: 999px;
	}
	.t-header:not(.t-header--phone-text) .t-header-cta .wp-block-button__link::before { width: 20px; height: 20px; }
	.t-header--mobile-links .t-header-row { flex-wrap: wrap !important; }
	.t-header--mobile-links .t-links {
		display: flex; order: 3; flex: 1 1 100%; gap: 1rem; overflow-x: auto; padding-block: 0.35rem; font-size: 0.95rem;
		scrollbar-width: none;
	}
}

/* ---------- compact footer */
.t-footer .t-footer-top { gap: var(--wp--preset--spacing--50); align-items: flex-start !important; }
.t-footer .t-footer-brand { max-width: 34rem; }
.t-footer .t-footer-about { opacity: 0.85; }
.t-footer .t-footer-contact > * { margin-block: 0.25rem !important; }
.t-footer .t-footer-phone { font-size: 1.5rem; font-weight: 700; direction: ltr; text-align: end; }
.t-footer a:not(.wp-element-button) { color: inherit !important; text-decoration: none; }
.t-footer a:not(.wp-element-button):hover, .t-footer a:not(.wp-element-button):focus-visible { text-decoration: underline; }
.t-footer .t-footer-bottom {
	margin-block-start: var(--wp--preset--spacing--50) !important; padding-block-start: var(--wp--preset--spacing--40);
	border-block-start: 1px solid color-mix(in srgb, currentColor 20%, transparent); font-size: 0.9rem; opacity: 0.85;
}
@media (max-width: 781px) {
	.t-footer .t-footer-top, .t-footer .t-footer-bottom { flex-direction: column; align-items: flex-start !important; }
	.t-footer .t-footer-phone { text-align: start; direction: rtl; }
}

/* ---------- sticky call + WhatsApp bar (phones only) */
.wp-block-buttons.t-callbar { display: none; }
@media (max-width: 781px) {
	body:has(.t-callbar) { padding-block-end: calc(var(--t-bar-h) + env(safe-area-inset-bottom, 0px)); }
	.wp-block-buttons.t-callbar {
		display: flex; position: fixed; z-index: 70; inset-inline: 0; inset-block-end: 0; margin: 0 !important;
		gap: 0.5rem; flex-wrap: nowrap;
		padding: 0.5rem max(0.75rem, env(safe-area-inset-left, 0px)) calc(0.5rem + env(safe-area-inset-bottom, 0px)) max(0.75rem, env(safe-area-inset-right, 0px));
		background: var(--t-bar-bg); border-block-start: 1px solid var(--t-bar-border);
		box-shadow: 0 -10px 30px -18px rgb(0 0 0 / 0.45);
		transition: transform 0.25s ease, visibility 0s linear 0s;
	}
	.t-callbar > .wp-block-button { flex: 1 1 0; min-width: 0; }
	.t-callbar .wp-block-button__link {
		width: 100%; min-height: calc(var(--t-bar-h) - 1rem); padding: 0.5em 0.75em; font-size: 1.05rem;
		white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
	}
	/* hidden while the contact form is on screen or typed in, so it never covers the submit button */
	.t-bar-off .t-callbar { transform: translateY(110%); visibility: hidden; transition: transform 0.25s ease, visibility 0s linear 0.25s; }
	.t-callbar--call-only .t-wa, .t-callbar--wa-only .t-call { display: none; }
	.t-callbar--stacked .t-call { flex-grow: 2; }
	.t-callbar--dark { --t-bar-bg: var(--wp--preset--color--primary); --t-bar-border: transparent; }
	.t-callbar--float { inset-inline: 0.75rem; inset-block-end: calc(0.75rem + env(safe-area-inset-bottom, 0px));
		padding: 0.4rem; border: 0; border-radius: 999px; }
	.t-callbar--float .wp-block-button__link { border-radius: 999px; }
	.t-callbar--float.t-callbar { box-shadow: 0 14px 34px -12px rgb(0 0 0 / 0.5); }
}
@media (min-width: 782px) {
	/* optional: a WhatsApp bubble on desktop too */
	.wp-block-buttons.t-callbar--desk-wa { display: block; position: fixed; z-index: 70; inset-block-end: 20px; inset-inline-end: 20px; margin: 0 !important; }
	.t-callbar--desk-wa .t-call { display: none; }
	.t-callbar--desk-wa .wp-block-button__link { border-radius: 999px; box-shadow: 0 12px 28px -10px rgb(0 0 0 / 0.45); }
}
.editor-styles-wrapper .wp-block-buttons.t-callbar { display: flex; position: static; transform: none; visibility: visible; }

/* ---------- problem picker */
.t-picker-grid { gap: var(--t-gap); }
.t-pick {
	position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 0.35rem;
	padding: 1.1rem 1.2rem; background: var(--t-card-bg); color: var(--t-card-fg);
	border: 1px solid var(--t-card-border); border-radius: calc(var(--t-radius) * 1.5);
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.t-pick > * { margin: 0 !important; }
.t-pick .ia-icon { margin-block-end: 0.35rem !important; }
.t-pick-label { font-weight: 700; font-size: 1.1rem; line-height: 1.3; }
.t-pick-label a { color: inherit; text-decoration: none; }
.t-pick-label a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; } /* the whole card is the link */
.t-pick-label a::before {
	content: ""; position: absolute; inset-block-start: 1rem; inset-inline-end: 1rem; width: 1.4rem; height: 1.4rem;
	background: var(--t-wa-bg); -webkit-mask: var(--t-icon-wa) center / contain no-repeat; mask: var(--t-icon-wa) center / contain no-repeat;
}
.t-pick-sub { font-size: 0.9rem; color: var(--wp--preset--color--muted); }
.t-pick:hover { transform: translateY(-2px); box-shadow: var(--t-card-shadow); border-color: var(--t-wa-bg); }
.t-pick:focus-within { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 2px; }
.t-pick-label a:focus-visible { outline: none; }
@media (max-width: 781px) {
	/* phones: compact cards, icon beside the text */
	.t-pick:has(> .ia-icon) { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 0.9rem; align-items: center; padding-inline-end: 3rem; }
	.t-pick > .ia-icon { grid-row: span 2; margin: 0 !important; }
	.t-pick-label a::before { inset-block-start: 50%; transform: translateY(-50%); }
}
.t-picker-hint { font-size: 0.9rem; color: var(--wp--preset--color--muted); margin-block-start: var(--wp--preset--spacing--40) !important; }
/* modifiers */
.t-picker--list .t-picker-grid { grid-template-columns: 1fr !important; max-width: 640px; margin-inline: auto !important; gap: 0.5rem; }
.t-picker--list .t-pick { flex-direction: row; align-items: center; padding: 0.85rem 1rem; padding-inline-end: 3rem; }
.t-picker--list .t-pick-label a::before { inset-block-start: 50%; transform: translateY(-50%); }
.t-picker--list .t-pick .ia-icon { margin: 0 !important; }
.t-picker--chips .t-picker-grid { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 0.6rem; }
.t-picker--chips .t-pick { flex-direction: row; padding: 0.6rem 1rem; padding-inline-end: 2.6rem; border-radius: 999px; background: var(--t-chip-bg); }
.t-picker--chips .t-pick-label { font-size: 1rem; }
.t-picker--chips .t-pick-label a::before { inset-block-start: 50%; transform: translateY(-50%); inset-inline-end: 0.8rem; width: 1.15rem; height: 1.15rem; }
.t-picker--chips .t-pick-sub, .t-picker--chips .ia-icon { display: none; }
.t-picker--bold .t-pick { background: var(--wp--preset--color--primary); color: var(--wp--preset--color--base); border-color: transparent; }
.t-picker--bold .t-pick-sub { color: inherit; opacity: 0.8; }
.t-picker--bold .t-pick-label a::before { background: currentColor; }

/* ---------- before / after slider */
.t-ba-list { display: grid; gap: var(--wp--preset--spacing--60); }
.t-sec > .t-ba-list.alignwide { max-width: var(--t-ba-max, 960px); }
.t-ba--grid.t-sec > .t-ba-list.alignwide { max-width: var(--wp--style--global--wide-size); }
.t-ba--grid .t-ba-list { grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); }
.t-ba-pair > * { margin-block: 0 !important; }
.t-ba-pair { display: grid; gap: 0.75rem; }
.t-ba-title { text-align: center; }
.t-ba-text { text-align: center; color: var(--wp--preset--color--muted); }
/* without JavaScript (and in the editor): the two photos side by side */
.t-ba-stage { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; position: relative; }
.t-ba-stage > * { margin: 0 !important; }
.t-ba-img img { width: 100%; aspect-ratio: var(--t-ba-ratio); object-fit: cover; border-radius: var(--t-radius); display: block; }
.t-ba-img figcaption { font-size: 0.75rem; line-height: 1.35; color: var(--wp--preset--color--muted); margin-block-start: 0.35rem; }
.t-ba-img figcaption a { color: inherit; }
.t-ba-tag {
	justify-self: start; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.02em; padding: 0.2em 0.7em; border-radius: 999px;
	background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base);
}
.t-ba-tag-before { grid-row: 1; grid-column: 1; }
.t-ba-tag-after { grid-row: 1; grid-column: 2; }
.t-ba-before { grid-row: 2; grid-column: 1; }
.t-ba-after { grid-row: 2; grid-column: 2; }
/* enhanced (script.js adds .is-on): one frame, the "after" photo is uncovered from the left up to the handle */
.t-ba-stage.is-on {
	grid-template-columns: 1fr; grid-template-areas: "img" "cap1" "cap2"; gap: 0; --pos: 50%;
	touch-action: pan-y; user-select: none;
}
.t-ba-stage.is-on .t-ba-img { display: contents; }
.t-ba-stage.is-on .t-ba-img img { grid-area: img; border-radius: calc(var(--t-radius) * 1.5); }
.t-ba-stage.is-on .t-ba-after img { clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
.t-ba-stage.is-on .t-ba-before figcaption { grid-area: cap1; margin-block-start: 0.5rem; }
.t-ba-stage.is-on .t-ba-after figcaption { grid-area: cap2; margin-block-start: 0.1rem; }
.t-ba-stage.is-on .t-ba-tag { grid-area: img; align-self: start; margin: 0.75rem !important; z-index: 2; pointer-events: none;
	background: rgb(0 0 0 / 0.62); color: #fff; }
.t-ba-stage.is-on .t-ba-tag-before { justify-self: end; }   /* physical right: the "before" side */
.t-ba-stage.is-on .t-ba-tag-after { justify-self: start; }
[dir="rtl"] .t-ba-stage.is-on .t-ba-tag-before { justify-self: start; }
[dir="rtl"] .t-ba-stage.is-on .t-ba-tag-after { justify-self: end; }
.t-ba-ui { grid-area: img; position: relative; z-index: 3; }
.t-ba-ui input[type="range"] {
	position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; touch-action: pan-y;
}
.t-ba-line { position: absolute; inset-block: 0; left: var(--pos); width: 3px; margin-left: -1.5px; background: var(--t-ba-line);
	box-shadow: 0 0 0 1px rgb(0 0 0 / 0.15); pointer-events: none; }
.t-ba-knob {
	position: absolute; top: 50%; left: var(--pos); width: 46px; height: 46px; margin: -23px 0 0 -23px; border-radius: 999px;
	background: var(--t-ba-knob-bg); color: var(--t-ba-knob-fg); box-shadow: 0 6px 18px rgb(0 0 0 / 0.3); pointer-events: none;
	display: grid; place-items: center; font-size: 18px; font-weight: 700; line-height: 1;
}
.t-ba-knob::before { content: "\2039\00a0\203A"; }
.t-ba-ui input[type="range"]:focus-visible ~ .t-ba-knob { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 3px; }
.t-ba--wide { --t-ba-ratio: 16 / 9; }
.t-ba--square { --t-ba-ratio: 1 / 1; }

/* ---------- price estimator */
.t-est-box {
	display: grid; gap: var(--wp--preset--spacing--50); grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	background: var(--t-est-bg); border: 1px solid var(--t-card-border); border-radius: calc(var(--t-radius) * 2);
	padding: var(--wp--preset--spacing--50); box-shadow: var(--t-card-shadow);
}
.t-est-box > * { margin: 0 !important; }
.t-est-qs > * + * { margin-block-start: 1.25rem !important; }
.t-est-label { font-weight: 700; margin-block-end: 0.5rem !important; }
.t-est-opts { margin: 0; padding-inline-start: 1.2em; color: var(--wp--preset--color--muted); }
.t-est-field { border: 0; margin: 0; padding: 0; min-width: 0; }
.t-est-field legend, .t-est-field > label { font-weight: 700; padding: 0; margin-block-end: 0.55rem; display: block; }
.t-est-choices { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.t-est-choice { position: relative; display: inline-flex; }
.t-est-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.t-est-choice span {
	display: inline-block; padding: 0.55em 1em; border-radius: 999px; cursor: pointer; line-height: 1.3;
	background: var(--t-chip-bg); color: var(--t-chip-fg); border: 1px solid var(--t-chip-border);
}
.t-est-choice input:checked + span { background: var(--t-chip-on-bg); color: var(--t-chip-on-fg); border-color: transparent; }
.t-est-choice input:checked + span::before {
	content: ""; display: inline-block; width: 0.9em; height: 0.9em; margin-inline-end: 0.35em; vertical-align: -0.05em;
	background: currentColor; -webkit-mask: var(--t-icon-check) center / contain no-repeat; mask: var(--t-icon-check) center / contain no-repeat;
}
.t-est-choice input:focus-visible + span { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 2px; }
.t-est-num { display: inline-flex; align-items: stretch; border: 1px solid var(--t-chip-border); border-radius: 999px; overflow: hidden; }
.t-est-num button, .t-est-num input {
	font: inherit; border: 0; background: var(--t-chip-bg); color: var(--t-chip-fg); text-align: center;
}
.t-est-num button { width: 2.75rem; font-size: 1.3rem; cursor: pointer; }
.t-est-num input { width: 4rem; font-weight: 700; -moz-appearance: textfield; appearance: textfield; background: var(--t-card-bg); }
.t-est-num input::-webkit-inner-spin-button, .t-est-num input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.t-est-num button:focus-visible, .t-est-num input:focus-visible { outline: 3px solid var(--wp--preset--color--accent); outline-offset: -3px; }
.t-est-result {
	background: var(--t-est-result-bg); color: var(--t-est-result-fg); border-radius: calc(var(--t-radius) * 1.5);
	padding: var(--wp--preset--spacing--50); align-self: start; position: sticky; inset-block-start: 96px;
}
.t-est-result > * { margin-block: 0 !important; }
.t-est-result > * + * { margin-block-start: 0.75rem !important; }
.t-est-result-label {
	display: inline-block; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.03em; padding: 0.2em 0.75em; border-radius: 999px;
	background: color-mix(in srgb, currentColor 16%, transparent);
}
.t-est-range { font-size: clamp(1.6rem, 5vw, 2.4rem); font-weight: 800; line-height: 1.15; font-family: var(--wp--preset--font-family--heading); }
.t-est-range.is-empty { font-size: 1.05rem; font-weight: 500; opacity: 0.85; font-family: inherit; }
.t-est-note { font-size: 0.85rem; opacity: 0.85; }
.t-est-actions .wp-block-button, .t-est-actions .wp-block-button__link { width: 100%; }
@media (max-width: 781px) {
	.t-est-box { grid-template-columns: 1fr; padding: var(--wp--preset--spacing--40); }
	.t-est-result { position: static; }
}
.t-estimator--stacked .t-est-box { grid-template-columns: 1fr; max-width: 760px; margin-inline: auto !important; }
.t-estimator--stacked .t-est-result { position: static; text-align: center; }
.t-estimator--flat .t-est-box { box-shadow: none; border: 0; background: transparent; padding: 0; }

/* ---------- service areas */
.t-areas-list {
	list-style: none; margin: 0 auto !important; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem;
	max-width: 900px;
}
.t-areas-list li {
	margin: 0; padding: 0.45em 1em; border-radius: 999px; background: var(--t-chip-bg); color: var(--t-chip-fg);
	border: 1px solid var(--t-chip-border); line-height: 1.35;
}
.t-areas-list li.is-match { background: var(--t-chip-on-bg); color: var(--t-chip-on-fg); border-color: transparent; }
.t-areas--columns .t-areas-list { display: block; columns: 3 11rem; column-gap: 2rem; max-width: 1000px; }
.t-areas--columns .t-areas-list li { background: none; border: 0; border-radius: 0; padding: 0.3em 0; padding-inline-start: 1.5em; position: relative; break-inside: avoid; }
.t-areas--columns .t-areas-list li::before {
	content: ""; position: absolute; inset-inline-start: 0; top: 0.65em; width: 0.9em; height: 0.9em; background: var(--wp--preset--color--accent);
	-webkit-mask: var(--t-icon-check) center / contain no-repeat; mask: var(--t-icon-check) center / contain no-repeat;
}
.t-areas--columns .t-areas-list li.is-match { color: var(--wp--preset--color--accent-text); font-weight: 700; background: none; }
.t-areas--start .section-head, .t-areas--start .section-head > * { text-align: start !important; }
.t-areas--start .t-areas-list { justify-content: flex-start; margin-inline: 0 !important; }
.t-areas-ask { font-weight: 700; text-align: center; }
.t-areas-check { max-width: 520px; margin: 0 auto var(--wp--preset--spacing--50) !important; display: grid; gap: 0.5rem; }
.t-areas-check label { font-weight: 700; text-align: center; }
.t-areas-check input {
	font: inherit; width: 100%; padding: 0.8em 1em; border-radius: 999px; border: 1px solid var(--t-chip-border);
	background: var(--t-card-bg); color: var(--t-card-fg);
}
.t-areas-check input:focus-visible { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 2px; }
.t-areas-out { margin: 0; text-align: center; font-weight: 600; min-height: 1.6em; }
.t-areas-out.is-yes { color: var(--t-wa-bg); }
.has-primary-background-color .t-areas-out.is-yes { color: inherit; }

/* ---------- trust strip */
.t-trust-list { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--t-gap) clamp(1.25rem, 4vw, 3rem); }
.t-trust-list > * { margin: 0 !important; }
.t-trust-item { gap: 0.75rem; align-items: center; flex: 0 1 auto; min-width: 0; }
.t-trust-item .ia-icon { flex: none; margin: 0 !important; }
.t-trust-body > * { margin: 0 !important; }
.t-trust-title { font-weight: 700; line-height: 1.3; }
.t-trust-text { font-size: 0.875rem; opacity: 0.8; line-height: 1.35; }
.t-trust--cards .t-trust-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); }
.t-trust--cards .t-trust-item {
	background: var(--t-card-bg); color: var(--t-card-fg); border: 1px solid var(--t-card-border);
	border-radius: calc(var(--t-radius) * 1.5); padding: 1rem 1.1rem;
}
.t-trust--stack .t-trust-item { flex-direction: column; text-align: center; flex: 1 1 10rem; }
.t-trust--line .t-trust-list { justify-content: space-between; }
.t-trust--line .t-trust-item + .t-trust-item { border-inline-start: 1px solid color-mix(in srgb, currentColor 25%, transparent); padding-inline-start: clamp(1rem, 3vw, 2rem); }
@media (max-width: 781px) {
	.t-trust-list { justify-content: flex-start; flex-direction: column; }
	.t-trust--line .t-trust-item + .t-trust-item { border-inline-start: 0; padding-inline-start: 0; }
	.t-trust--stack .t-trust-list { flex-direction: row; }
	.t-trust--stack .t-trust-item { flex: 1 1 40%; }
}

/* ---------- prices from */
.t-price-list, .t-sec > .t-price-list.alignwide { max-width: 860px; margin-inline: auto !important; display: grid; gap: 0; }
.t-price-list > * { margin: 0 !important; }
.t-price-row {
	gap: 0.5rem 1rem; padding-block: 1rem; border-block-end: 1px solid var(--t-price-leader); flex-wrap: nowrap !important;
	align-items: baseline !important;
}
.t-price-main { flex: 1 1 auto; min-width: 0; }
.t-price-main > *, .t-price-side > * { margin: 0 !important; }
.t-price-name { font-weight: 700; font-size: 1.1rem; }
.t-price-note { font-size: 0.875rem; color: var(--wp--preset--color--muted); }
.t-price-side { flex: none; text-align: end; }
.t-price-val { white-space: nowrap; color: var(--wp--preset--color--muted); }
.t-price-val strong { font-size: 1.35rem; color: var(--wp--preset--color--contrast); font-family: var(--wp--preset--font-family--heading); }
.t-price-cta { font-size: 0.9rem; font-weight: 600; }
.t-prices--cards .t-price-list, .t-prices--cards.t-sec > .t-price-list.alignwide { max-width: var(--wp--style--global--wide-size); grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: var(--t-gap); }
.t-prices--cards .t-price-row {
	flex-direction: column; align-items: flex-start !important; border: 1px solid var(--t-card-border); border-radius: calc(var(--t-radius) * 1.5);
	background: var(--t-card-bg); padding: 1.25rem;
}
.t-prices--cards .t-price-side { text-align: start; }
.t-prices--leaders .t-price-row { border: 0; padding-block: 0.6rem; }
.t-prices--leaders .t-price-main { display: flex; flex-direction: column; }
.t-prices--leaders .t-price-row::after { content: none; }
.t-prices--leaders .t-price-name { display: flex; gap: 0.5rem; align-items: baseline; }
.t-prices--leaders .t-price-name::after { content: ""; flex: 1 1 auto; border-block-end: 2px dotted color-mix(in srgb, currentColor 35%, transparent); min-width: 1rem; }
@media (max-width: 400px) {
	.t-price-row { flex-wrap: wrap !important; }
	.t-price-side { text-align: start; }
}

/* ---------- how it works */
.t-steps-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: var(--wp--preset--spacing--50); counter-reset: t-step; }
.t-steps-list > * { margin: 0 !important; }
.t-step { position: relative; }
.t-step > * { margin-block: 0 !important; }
.t-step > * + * { margin-block-start: 0.6rem !important; }
.t-step-num {
	width: 3rem; height: 3rem; border-radius: 999px; display: grid; place-items: center; font-weight: 800; font-size: 1.35rem;
	background: var(--t-num-bg); color: var(--t-num-fg); font-family: var(--wp--preset--font-family--heading); line-height: 1;
}
.t-step-text { color: var(--wp--preset--color--muted); }
.has-primary-background-color .t-step-text, .has-hero-gradient-background .t-step-text { color: inherit; opacity: 0.82; }
.t-steps-cta { margin-block-start: var(--wp--preset--spacing--50) !important; }
/* line: numbers joined by a line (row on desktop, column on phones) */
.t-steps--line .t-step:not(:last-child)::after {
	content: ""; position: absolute; inset-block-start: 1.5rem; inset-inline-start: 3.75rem; inset-inline-end: -1rem; height: 2px;
	background: color-mix(in srgb, var(--t-num-bg) 45%, transparent);
}
@media (max-width: 781px) {
	.t-steps--line .t-step { padding-inline-start: 4rem; }
	.t-steps--line .t-step-num { position: absolute; inset-inline-start: 0; inset-block-start: 0; margin: 0 !important; }
	.t-steps--line .t-step > .t-step-num + * { margin-block-start: 0 !important; }
	.t-steps--line .t-step:not(:last-child)::after { inset-block-start: 3.5rem; inset-block-end: -1.5rem; inset-inline-start: 1.45rem; inset-inline-end: auto; width: 2px; height: auto; }
}
.t-steps--cards .t-step {
	background: var(--t-card-bg); color: var(--t-card-fg); border: 1px solid var(--t-card-border);
	border-radius: calc(var(--t-radius) * 2); padding: var(--wp--preset--spacing--50);
}
.t-steps--big .t-step-num { background: none; width: auto; height: auto; place-items: start; font-size: clamp(3rem, 8vw, 5rem); color: var(--t-num-bg); }

/* phones: nothing wider than the screen */
@media (max-width: 400px) {
	.t-sec .wp-block-buttons > .wp-block-button { max-width: 100%; }
	.t-sec .wp-block-button__link { white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
	.t-pick, .t-callbar { transition: none !important; }
	.t-pick:hover { transform: none; }
}

/* ===== designs/interact-lp-hovalot-3 ===== */
/* ===== interact-lp-hovalot-3 · movers, calm planner (kraft paper, black stencil labels, red tape) ===== */
:root {
	--t-radius: 4px;
	--t-card-bg: color-mix(in srgb, #fff 55%, var(--wp--preset--color--base));
	--t-card-border: var(--wp--preset--color--border);
	--t-chip-bg: color-mix(in srgb, #fff 50%, var(--wp--preset--color--base));
	--t-chip-on-bg: var(--wp--preset--color--accent);
	--t-chip-on-fg: var(--wp--preset--color--accent-contrast);
	--t-call-bg: var(--wp--preset--color--primary);
	--t-call-fg: var(--wp--preset--color--base);
	--t-bar-bg: var(--wp--preset--color--base);
	--t-price-leader: var(--wp--preset--color--border);
	--ia-shadow: 0 16px 34px -24px rgb(60 40 20 / 0.5);
	--hv3-tape: color-mix(in srgb, var(--wp--preset--color--accent) 88%, transparent);
}
body { background-image: radial-gradient(color-mix(in srgb, var(--wp--preset--color--contrast) 5%, transparent) 1px, transparent 1.2px); background-size: 6px 6px; }
.eyebrow { font-family: var(--wp--preset--font-family--heading); font-weight: 700; color: var(--wp--preset--color--accent-text); letter-spacing: 0.06em; }
h1, h2 { letter-spacing: -0.01em; }

/* header: black label strip */
.hv3-header { border-block-end: 2px solid var(--wp--preset--color--contrast); background: var(--wp--preset--color--base) !important; }
.hv3-header .wp-block-site-title { font-size: 1.5rem !important; }
.hv3-header .wp-block-site-title a { color: var(--wp--preset--color--contrast); }
.hv3-header .t-tagline { font-family: var(--wp--preset--font-family--heading); }
.hv3-header .t-call > .wp-block-button__link { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }

/* hero */
.hv3-hero { background: transparent !important; }
.hv3-hero::before { display: none; }
.hv3-label { display: inline-block; font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 0.95rem; letter-spacing: 0.08em;
	color: var(--wp--preset--color--accent-text); border: 2px solid currentColor; padding: 0.25em 0.8em; transform: rotate(-2deg); }
.hv3-title { font-size: clamp(2.4rem, 6vw, 4.6rem) !important; line-height: 1.02 !important; }
.hv3-hero .lead { color: var(--wp--preset--color--muted); font-size: 1.12rem; max-width: 36rem; }
.hv3-date { background: color-mix(in srgb, #fff 55%, var(--wp--preset--color--base)); border: 2px solid var(--wp--preset--color--contrast); padding: 1.1rem 1.2rem;
	box-shadow: 6px 6px 0 var(--wp--preset--color--contrast); max-width: 34rem; margin-block-start: 1.5rem !important; position: relative; }
[dir="rtl"] .hv3-date { box-shadow: -6px 6px 0 var(--wp--preset--color--contrast); }
.hv3-date::before { content: ""; position: absolute; inset-block-start: -12px; inset-inline-start: 2rem; width: 5.5rem; height: 22px; background: var(--hv3-tape); transform: rotate(-3deg); }
.hv3-date > * { margin-block: 0 !important; }
.hv3-date > * + * { margin-block-start: 0.7rem !important; }
.hv3-date-label { font-weight: 700; font-size: 1.05rem; }
.hv3-date-row { display: flex; gap: 0.6rem; flex-wrap: wrap; align-items: stretch; }
.hv3-date-row input { font: inherit; flex: 1 1 11rem; min-width: 0; padding: 0.75em 0.9em; border: 2px solid var(--wp--preset--color--contrast); background: #fff; color: #221d17; border-radius: 4px; }
.hv3-date-row input:focus-visible { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 2px; }
.hv3-date-btns .wp-block-button__link { border-radius: 4px; padding: 0.85em 1.3em; }
.hv3-date-row .hv3-date-btns { flex: 1 1 13rem; margin: 0 !important; }
.hv3-date-row .hv3-date-btns .wp-block-button, .hv3-date-row .hv3-date-btns .wp-block-button__link { width: 100%; }
.hv3-date-hint { font-size: 0.85rem; color: var(--wp--preset--color--muted); }
.hv3-tags { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; margin-block-start: 1.5rem !important; }
.hv3-tags li { margin: 0; font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 0.85rem; padding: 0.3em 0.8em; border: 1.5px dashed var(--wp--preset--color--contrast); }
.hv3-hero-media { position: relative; }
.hv3-photo { position: relative; background: #fff; padding: 0.8rem 0.8rem 0.6rem !important; box-shadow: 0 30px 50px -30px rgb(40 25 10 / 0.6); transform: rotate(2deg); }
.hv3-photo img { aspect-ratio: 4 / 5 !important; border-radius: 0 !important; box-shadow: none !important; max-height: 560px; }
.hv3-photo::before, .hv3-photo::after { content: ""; position: absolute; z-index: 2; width: 6.5rem; height: 26px; background: var(--hv3-tape); }
.hv3-photo::before { inset-block-start: -10px; inset-inline-start: -18px; transform: rotate(-35deg); }
.hv3-photo::after { inset-block-end: 2.2rem; inset-inline-end: -18px; transform: rotate(-35deg); }
.hv3-photo figcaption { margin-block-start: 0.5rem !important; }

/* boxes calculator */
.hv3-box-cols { gap: clamp(1.5rem, 5vw, 4rem) !important; }
.hv3-calc { margin-block-start: 1.5rem !important; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.hv3-calc > * { margin: 0 !important; }
.hv3-rules { padding-inline-start: 1.2em; }
.hv3-inputs { display: grid; gap: 0.6rem; }
.hv3-in { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.6rem 0.75rem; background: color-mix(in srgb, #fff 55%, var(--wp--preset--color--base));
	border: 1.5px solid var(--wp--preset--color--border); border-radius: 4px; font-weight: 600; }
.hv3-in .hv3-num { display: inline-flex; border: 2px solid var(--wp--preset--color--contrast); border-radius: 4px; overflow: hidden; flex: none; }
.hv3-in .hv3-num button { font: inherit; font-size: 1.2rem; width: 2.3rem; border: 0; background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); cursor: pointer; }
.hv3-in .hv3-num input { font: inherit; font-weight: 700; width: 2.8rem; text-align: center; border: 0; background: #fff; color: #221d17; -moz-appearance: textfield; appearance: textfield; }
.hv3-in .hv3-num input::-webkit-inner-spin-button { -webkit-appearance: none; }
.hv3-in input[type="checkbox"] { width: 1.35rem; height: 1.35rem; accent-color: var(--wp--preset--color--accent); flex: none; }
.hv3-in label { cursor: pointer; flex: 1 1 auto; }
.hv3-in :focus-visible { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 1px; }
.hv3-result { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); padding: 1.25rem; border-radius: 4px; position: relative; }
.hv3-result::before { content: ""; position: absolute; inset-block-start: -11px; inset-inline-end: 1.5rem; width: 4.5rem; height: 22px; background: var(--hv3-tape); transform: rotate(4deg); }
.hv3-result > * { margin-block: 0 !important; }
.hv3-result > * + * { margin-block-start: 0.6rem !important; }
.hv3-res-label { font-size: 0.9rem; opacity: 0.8; }
.hv3-res-num { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: clamp(2rem, 5vw, 2.8rem); line-height: 1.05; }
.hv3-res-note { font-size: 0.82rem; opacity: 0.8; }
.hv3-res-go > .wp-block-button__link { border-radius: 4px; width: 100%; }
.hv3-res-btns .wp-block-button { width: 100%; }
.hv3-box-photo img { aspect-ratio: 4 / 5 !important; border-radius: 4px !important; }

/* moving plan: four label cards */
.hv3-plan-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; counter-reset: hv3; }
.hv3-plan-grid > * { margin: 0 !important; }
.hv3-plan-col { background: color-mix(in srgb, #fff 55%, var(--wp--preset--color--base)); border: 2px solid var(--wp--preset--color--contrast); padding: 1rem 1rem 0.6rem; position: relative; }
.hv3-plan-col > * { margin-block: 0 !important; }
.hv3-when { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 1.15rem; padding-block-end: 0.6rem; border-block-end: 2px solid var(--wp--preset--color--contrast); display: flex; justify-content: space-between; gap: 0.5rem; }
.hv3-when::after { counter-increment: hv3; content: counter(hv3, decimal-leading-zero); color: var(--wp--preset--color--accent-text); }
.hv3-todo { padding-inline-start: 1.1em; margin-block-start: 0.6rem !important; }
.hv3-todo li { margin-block: 0.45em; line-height: 1.4; }
.js-hv3 .hv3-todo { list-style: none; padding: 0; }
.js-hv3 .hv3-todo li { margin: 0; }
.hv3-todo label { display: flex; gap: 0.6rem; align-items: flex-start; padding: 0.5rem 0; cursor: pointer; line-height: 1.4; }
.hv3-todo input { flex: none; width: 1.25rem; height: 1.25rem; margin: 0.1rem 0 0; accent-color: var(--wp--preset--color--accent); }
.hv3-todo input:checked + span { text-decoration: line-through; color: var(--wp--preset--color--muted); }
.hv3-plan-col.is-done { background: color-mix(in srgb, var(--wp--preset--color--accent) 10%, var(--wp--preset--color--base)); }
.hv3-plan-col.is-done .hv3-when::after { content: "✓"; }
.hv3-plan-meter { text-align: center; font-weight: 700; margin-block-start: 1.25rem !important; }

/* small moves price list: shipping-label rows */
.hv3-prices .t-price-list { background: color-mix(in srgb, #fff 55%, var(--wp--preset--color--base)); border: 2px solid var(--wp--preset--color--contrast); padding: 0.5rem 1.25rem; }
.hv3-prices .t-price-row { border-block-end: 1px dashed var(--wp--preset--color--border); }
.hv3-prices .t-price-row:last-child { border: 0; }
.hv3-prices .t-price-val strong { color: var(--wp--preset--color--accent-text); }

/* photos */
.hv3-ph-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.hv3-ph-grid > * { margin: 0 !important; }
.hv3-ph-item { position: relative; background: #fff; padding: 0.7rem; box-shadow: var(--ia-shadow); }
.hv3-ph-item:nth-child(odd) { transform: rotate(-1deg); }
.hv3-ph-item:nth-child(even) { transform: rotate(1deg); }
.hv3-ph img { aspect-ratio: 3 / 2 !important; border-radius: 0 !important; box-shadow: none !important; }
.hv3-ph-tag { position: absolute; inset-block-start: 1.4rem; inset-inline-start: 1.4rem; margin: 0 !important; background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--heading); font-weight: 700; padding: 0.2em 0.7em; }

.hv3-areas .t-areas-list li::before { background: var(--wp--preset--color--accent) !important; }
.faq-item, .ia-form { border-radius: 4px; }
.ia-form { border: 2px solid var(--wp--preset--color--contrast); box-shadow: 6px 6px 0 var(--wp--preset--color--contrast); }
[dir="rtl"] .ia-form { box-shadow: -6px 6px 0 var(--wp--preset--color--contrast); }
.hv3-footer .t-footer-phone { color: var(--wp--preset--color--accent); }
.hv3-bar .t-call > .wp-block-button__link { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }

@media (max-width: 781px) {
	.hv3-hero-media { order: -1; padding-inline: 1rem; }
	.hv3-photo { transform: rotate(1.5deg); }
	.hv3-photo img { aspect-ratio: 5 / 4 !important; max-height: 300px; }
	.hv3-photo::before, .hv3-photo::after { width: 4.5rem; height: 20px; }
	.hv3-photo::before { inset-inline-start: -8px; }
	.hv3-photo::after { inset-inline-end: -8px; }
	.hv3-date { box-shadow: none !important; }
	.hv3-calc { grid-template-columns: 1fr; }
	.hv3-box-photo { display: none; }
	.hv3-plan-grid { grid-template-columns: 1fr 1fr; gap: 0.75rem; }
	.hv3-plan-col { padding: 0.8rem 0.8rem 0.4rem; }
	.hv3-when { font-size: 1rem; }
	.hv3-todo label { font-size: 0.93rem; }
	.ia-form { box-shadow: none !important; }
}
@media (max-width: 520px) { .hv3-plan-grid { grid-template-columns: 1fr; } .hv3-ph-grid { grid-template-columns: 1fr; } }
