/**
 * Renovillage — calculators (inc/65-calculators.php). Loaded on /calculateurs/ and its tool pages, after the plugin's
 * base styles (travaux-calculateurs/assets/calculators.css, every colour a --tc-* variable).
 * Lumière palette: white card on the page, crème abricot head with a coral rising arc, teal main result, coral marks.
 * Sections: plugin tokens · card head · steps and fields · actions · result panel · wide card (container queries) ·
 * tool page layout · callouts · heroes · hub sections and tool tiles · related tools.
 */

/* ── Plugin tokens → site palette ─────────────────── */
.tc-calc {
	--tc-primary: var(--rv-ink);
	--tc-primary-soft: var(--rv-grey);
	--tc-secondary: var(--rv-corail);
	--tc-bg: var(--rv-white);
	--tc-surface: var(--rv-creme-2);
	--tc-surface-alt: var(--rv-creme);
	--tc-line: var(--rv-line);
	--tc-field-border: var(--rv-field);
	--tc-link: var(--rv-teal-d);
	--tc-cta: var(--rv-teal);
	--tc-accent: var(--rv-corail);
	--tc-accent-text: var(--rv-corail-t);
	--tc-muted: var(--rv-grey);
	--tc-error: var(--rv-error);
	--tc-radius: var(--rv-r-xl);
	--tc-radius-control: var(--rv-r-s);
	--tc-shadow: 0 18px 40px -24px rgba(32, 35, 38, .28), 0 2px 6px rgba(32, 35, 38, .05);
	--tc-font-head: var(--rv-font-h);
	--tc-font-text: var(--rv-font-b);
	--tc-head-pattern: none;
	--tc-head-pattern-size: auto;
	border: 1px solid var(--rv-line);
	scroll-margin-top: 16px;
}

/* ── Card head: crème abricot with a coral arc rising from the bottom right ── */
.tc-calc__head { position: relative; padding: 22px 20px 24px; background: var(--rv-creme); color: var(--rv-ink); overflow: hidden; }
.tc-calc__head::before { content: ""; position: absolute; inset: auto; right: -60px; bottom: -150px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, var(--rv-corail-tint) 0 46%, transparent 47%), radial-gradient(circle, transparent 0 58%, rgba(242, 120, 92, .35) 58.5% 60%, transparent 60.5%); pointer-events: none; }
.tc-calc__head::after { display: none; }
.tc-calc__head > * { position: relative; }
.tc-calc .tc-calc__badge { gap: 8px; color: var(--rv-teal-d); font: 600 var(--rv-fs-xs)/1.3 var(--rv-font-b); letter-spacing: 0; text-transform: none; }
.tc-calc .tc-calc__badge .rv-icon { width: 18px; height: 18px; }
.tc-calc .tc-calc__title { margin: 8px 0 6px; color: var(--rv-ink); font-weight: 700; letter-spacing: -.02em; }
.tc-calc .tc-calc__sub { color: var(--rv-grey); max-width: 60ch; }
.tc-calc .tc-calc__notice { border: 0; border-radius: var(--rv-r-m); background: var(--rv-white); box-shadow: inset 4px 0 0 var(--rv-corail); color: var(--rv-ink); }
.tc-calc .tc-calc__notice::before { background: var(--rv-corail-t); color: #fff; }

/* ── Steps and fields ─────────────────────────────── */
.tc-calc__inputs { padding: 4px 18px 0; }
.tc-step { border-bottom: 1px solid var(--rv-line); }
.tc-calc .tc-step__title { font-family: var(--rv-font-h); font-weight: 700; font-size: 1.1rem; letter-spacing: -.01em; }
.tc-step__num { width: 30px; height: 30px; border-radius: 50%; background: var(--rv-creme); color: var(--rv-corail-t); font-family: var(--rv-font-h); font-weight: 700; box-shadow: inset 0 0 0 1.5px var(--rv-corail); }
.tc-field > label, .tc-field > legend, .tc-rows__legend { font-family: var(--rv-font-b); font-weight: 600; color: var(--rv-ink); }
.tc-field__opt { padding: 1px 8px; border-radius: var(--rv-r-pill); background: var(--rv-creme-2); color: var(--rv-grey); font-size: .76rem; font-weight: 600; vertical-align: 1px; }
.tc-field__control { border: 1.5px solid var(--rv-field); border-radius: var(--rv-r-s); background: var(--rv-white); }
.tc-field__control:hover { border-color: var(--rv-ink); }
.tc-field__control:focus-within { border-color: var(--rv-teal); box-shadow: 0 0 0 3px rgba(12, 124, 124, .25); }
.tc-field__unit { margin: 6px 6px 6px 0; padding: 0 10px; border-radius: 8px; background: var(--rv-creme-2); color: var(--rv-ink); font-size: .88rem; }
.tc-calc .tc-field__control select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23202326' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); }
.tc-field__help { color: var(--rv-grey); }
.tc-row__grid > .tc-field { display: flex; flex-direction: column; }
.tc-row__grid > .tc-field > label { flex: 1 0 auto; }
.tc-pills { border: 1.5px solid var(--rv-field); background: var(--rv-creme-2); }
.tc-pill input:checked + span { background: var(--rv-teal); color: #fff; }
.tc-pill:hover span { background: var(--rv-creme); }
.tc-pill input:checked:hover + span { background: var(--rv-teal-d); }
.tc-pill input:focus-visible + span { outline: 2px solid var(--rv-teal-d); outline-offset: 2px; }
.tc-calc .tc-row { border: 0; border-radius: var(--rv-r-l); background: var(--rv-creme-2); }
.tc-row__title::before { width: 10px; height: 10px; border-radius: 50%; background: var(--rv-corail); }
.tc-rows__add { border: 1.5px dashed var(--rv-teal); border-radius: var(--rv-r-s); color: var(--rv-teal-d); font-weight: 600; }
.tc-rows__add:hover { background: var(--rv-teal-tint); }
.tc-calc input.tc-color { border: 0; background: none; }

/* ── Actions ──────────────────────────────────────── */
.tc-calc__btn { border-radius: var(--rv-r-pill); font-family: var(--rv-font-b); font-weight: 600; }
.tc-calc__btn--go { background: var(--rv-teal); color: #fff; box-shadow: none; }
.tc-calc__btn--go:hover { background: var(--rv-teal-d); }
.tc-calc__btn--reset { border: 1.5px solid var(--rv-line); background: var(--rv-white); color: var(--rv-ink); }
.tc-calc__btn--reset:hover { border-color: var(--rv-ink); background: var(--rv-white); color: var(--rv-ink); }
.tc-calc button:focus-visible, .tc-calc summary:focus-visible, .tc-calc select:focus-visible, .tc-calc a:focus-visible { outline: 2px solid var(--rv-teal-d); outline-offset: 2px; }
.tc-calc__errors { border: 0; border-radius: var(--rv-r-m); background: #FDECEA; box-shadow: inset 4px 0 0 var(--rv-error); }

/* ── Result panel ─────────────────────────────────── */
.tc-calc__results { padding: 22px 18px 24px; border-top: 1px solid var(--rv-line); background: var(--rv-creme-2); }
.tc-calc__results::before { display: none; }
.tc-calc .tc-calc__empty { color: var(--rv-grey); }
/* Main result: teal card, the number first. */
.tc-calc__key { position: relative; padding: 18px 20px 20px; border-radius: var(--rv-r-l); background: var(--rv-teal); color: #fff; overflow: hidden; }
.tc-calc__key::after { content: ""; position: absolute; right: -36px; top: -36px; width: 110px; height: 110px; border-radius: 50%; background: rgba(255, 255, 255, .1); pointer-events: none; }
.tc-calc .tc-calc__key-label { position: relative; color: rgba(255, 255, 255, .86); font-family: var(--rv-font-b); font-weight: 600; }
.tc-calc .tc-calc__key-value { position: relative; color: #fff; font-family: var(--rv-font-h); font-weight: 700; letter-spacing: -.02em; }
.tc-calc .tc-calc__key-value.is-long { font-size: clamp(1.3rem, 5.5cqi, 1.75rem); line-height: 1.2; }
.tc-calc__key-value::after { display: none; }
.tc-calc .tc-calc__list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 0; }
.tc-calc__item { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 4px; padding: 12px 14px; border: 0; border-radius: var(--rv-r-m); background: var(--rv-white); box-shadow: inset 0 0 0 1px var(--rv-line); }
.tc-calc .tc-calc__item dt { gap: 8px; font-size: .88rem; color: var(--rv-grey); font-weight: 600; }
.tc-calc .tc-calc__item dd { box-sizing: border-box; max-width: 100%; margin: 0; padding-left: 36px; text-align: left; font-family: var(--rv-font-h); font-weight: 700; font-size: 1.15rem; color: var(--rv-ink); overflow-wrap: anywhere; }
.tc-calc .tc-calc__item, .tc-calc .tc-calc__item.is-wide { flex-direction: column; flex-wrap: nowrap; align-items: flex-start; }
.tc-calc .tc-calc__item.is-wide dd { width: 100%; padding-left: 0; font-family: var(--rv-font-b); font-weight: 500; font-size: 1rem; line-height: 1.5; }
.tc-calc__icon { width: 28px; height: 28px; padding: 5px; border-radius: 50%; background: var(--rv-creme); color: var(--rv-corail-t); box-sizing: border-box; }
.tc-calc__detail { border: 0; border-radius: var(--rv-r-m); background: var(--rv-white); box-shadow: inset 0 0 0 1px var(--rv-line); }
.tc-calc__detail summary { color: var(--rv-ink); font-family: var(--rv-font-b); font-weight: 600; }
.tc-calc__detail summary::before { color: var(--rv-corail-t); }
.tc-calc .tc-calc__detail-list li { position: relative; padding-left: 14px; font-variant-numeric: tabular-nums; }
.tc-calc .tc-calc__detail-list li::before { content: ""; position: absolute; left: 0; top: .62em; width: 6px; height: 6px; border-radius: 50%; background: var(--rv-corail); }
.tc-calc .tc-calc__note { color: var(--rv-grey); }
.tc-calc__tools { gap: 8px; }
.tc-calc__tool { border: 1.5px solid var(--rv-line); border-radius: var(--rv-r-pill); background: var(--rv-white); color: var(--rv-ink); }
.tc-calc__tool:hover { border-color: var(--rv-teal); background: var(--rv-white); }
.tc-calc .tc-calc__devis { flex: 1 1 100%; order: -1; min-height: 52px; justify-content: center; text-decoration: none; }
.tc-calc .tc-calc__devis .rv-icon { width: 20px; height: 20px; }
.tc-calc__results.is-stale .tc-step__title::after { color: var(--rv-corail-t); }

/* ── Wider card ───────────────────────────────────── */
@container (max-width: 559px) {
	.tc-calc__head::before { display: none; }
}
@container (min-width: 560px) {
	.tc-calc__head { padding: 28px 32px 30px; }
	.tc-calc__inputs { padding: 6px 32px 0; }
	.tc-calc__results { padding: 26px 32px 28px; }
	.tc-calc .tc-calc__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.tc-calc__item.is-wide { grid-column: 1 / -1; }
	.tc-calc .tc-calc__devis { flex: 0 0 auto; order: 0; }
}
/* Two columns: the form on the left, the result panel on the right. */
@container (min-width: 900px) {
	.tc-calc__form { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); align-items: stretch; }
	.tc-calc__results { border-top: 0; border-left: 1px solid var(--rv-line); }
	.tc-calc .tc-calc__list { grid-template-columns: minmax(0, 1fr); }
	.tc-calc .tc-calc__devis { flex: 1 1 100%; order: -1; }
}

/* ── Tool page layout ─────────────────────────────── */
/* The card is wider than the article column (--rv-measure); the text below keeps the reading width. */
.rv-article--calc { max-width: calc(1080px + 2 * var(--rv-gutter)); margin-top: var(--rv-s5); }
.rv-article--calc .rv-calc-content > :not(.tc-calc) { max-width: var(--rv-measure); margin-inline: auto; }
.rv-calc-content > .tc-calc { margin: 0 0 var(--rv-s7) !important; }
.rv-calc-content > .tc-calc + * { margin-top: 0; }
.rv-article--calc .rv-devis { max-width: var(--rv-measure); margin-inline: auto; }
/* Callouts written as div.rv-callout (fallback when a page is not converted to blocks). */
.rv-callout { margin-block: 1.6em; padding: var(--rv-s4) var(--rv-s5); border-radius: var(--rv-r-m); border-left: 4px solid var(--rv-teal); background: var(--rv-teal-tint); }
.rv-callout--warn { border-left-color: var(--rv-corail); background: var(--rv-creme-2); }
.rv-callout > * { margin-block: 0; }
.rv-callout > * + * { margin-top: 8px; }
.rv-calc-content table { font-variant-numeric: tabular-nums; }

/* ── Heroes ───────────────────────────────────────── */
.rv-hero--calchub .rv-chips--left ul, .rv-hero--calc .rv-chips--left ul { justify-content: flex-start; }
.rv-hero--calchub .rv-chips { margin-top: var(--rv-s4); }
.rv-cfacts { display: flex; flex-wrap: wrap; gap: 8px; margin: var(--rv-s4) 0 0; padding: 0; list-style: none; }
.rv-cfacts li, .rv-cfacts a { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; box-sizing: border-box; }
.rv-cfacts li { padding: 0 14px 0 10px; border-radius: var(--rv-r-pill); background: var(--rv-white); box-shadow: inset 0 0 0 1px var(--rv-line); font-size: var(--rv-fs-sm); font-weight: 600; color: var(--rv-ink); }
.rv-cfacts a { color: var(--rv-corail-t); text-decoration: none; }
.rv-cfacts a:hover { text-decoration: underline; }
.rv-cfacts .rv-icon { width: 18px; height: 18px; flex: none; color: var(--rv-teal); }

/* ── Hub hero: filter field (left) and « Fiche de calcul » (right) ── */
.rv-cfind { max-width: 520px; margin: var(--rv-s5) 0 0; }
.rv-cfind__label { display: block; margin-bottom: var(--rv-s2); font: 700 1.05rem/1.3 var(--rv-font-h); letter-spacing: -.01em; color: var(--rv-ink); }
.rv-cfind__row { position: relative; }
.rv-cfind__icon { position: absolute; left: 16px; top: 50%; width: 20px; height: 20px; transform: translateY(-50%); color: var(--rv-grey); pointer-events: none; }
.rv-cfind__input {
	box-sizing: border-box; width: 100%; min-height: 54px; padding: 0 18px 0 46px; border: 1.5px solid var(--rv-field); border-radius: var(--rv-r-pill);
	background: var(--rv-white); color: var(--rv-ink); font: 500 1rem/1.4 var(--rv-font-b);
}
.rv-cfind__input:focus { outline: none; border-color: var(--rv-teal); box-shadow: 0 0 0 3px rgba(12, 124, 124, .25); }
.rv-cfind__status { min-height: 1.4em; margin: var(--rv-s2) 0 0; color: var(--rv-teal-d); font-size: var(--rv-fs-sm); font-weight: 600; }
.rv-cfind.is-empty .rv-cfind__status { color: var(--rv-corail-t); }
.rv-chub[hidden], .rv-ctools > li[hidden] { display: none; }

.rv-hero--calchub.has-fiche .rv-hero__split.has-art { align-items: center; }
.rv-hero--calchub.has-fiche .rv-hero__text { padding-bottom: var(--rv-s7); }
.rv-cfiche-wrap { position: relative; width: 100%; max-width: 440px; }
/* The sun rises from the floor of the band behind the card, its rays fanning out on the left. */
.rv-cfiche__sun { position: absolute; z-index: 0; left: -190px; bottom: -48px; width: 400px; pointer-events: none; }
.rv-cfiche__sun .rv-light { width: 100%; height: auto; }
.rv-cfiche {
	position: relative; z-index: 1; padding: 20px 22px 18px; border-radius: var(--rv-r-xl); background: var(--rv-white);
	border: 1px solid var(--rv-line); box-shadow: 0 30px 60px -36px rgba(32, 35, 38, .45), 0 2px 8px rgba(32, 35, 38, .05);
}
.rv-cfiche__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; margin: 0 0 14px; padding-bottom: 12px; border-bottom: 1px dashed var(--rv-line); }
.rv-cfiche__tag { display: inline-flex; align-items: center; gap: 8px; color: var(--rv-corail-t); font: 700 .95rem/1.2 var(--rv-font-h); }
.rv-cfiche__tag .rv-icon { width: 28px; height: 28px; padding: 5px; box-sizing: border-box; border-radius: 50%; background: var(--rv-creme); }
.rv-cfiche__note { color: var(--rv-grey); font-size: var(--rv-fs-xs); }
.rv-cfiche__tool { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font: 700 1.1rem/1.3 var(--rv-font-h); letter-spacing: -.01em; color: var(--rv-ink); }
.rv-cfiche__icon { display: grid; place-items: center; width: 36px; height: 36px; flex: none; border-radius: 10px; background: var(--rv-teal-tint); color: var(--rv-teal-d); }
.rv-cfiche__icon .rv-icon { width: 20px; height: 20px; }
.rv-cfiche__step { margin: 10px 0 4px; color: var(--rv-grey); font-size: var(--rv-fs-xs); font-weight: 600; }
.rv-cfiche__in, .rv-cfiche__out { margin: 0; padding: 0; list-style: none; }
/* Receipt lines: label, dotted leader, value. */
.rv-cfiche__in li, .rv-cfiche__out li { display: flex; align-items: baseline; gap: 8px; padding: 5px 0; font-size: var(--rv-fs-sm); color: var(--rv-ink); }
.rv-cfiche__in li::after, .rv-cfiche__out li::after { content: none; }
.rv-cfiche__in li span, .rv-cfiche__out li span { display: flex; flex: 1; align-items: baseline; gap: 8px; min-width: 0; }
.rv-cfiche__in li span::after, .rv-cfiche__out li span::after { content: ""; flex: 1; min-width: 16px; border-bottom: 1.5px dotted #D8CBBF; transform: translateY(-4px); }
.rv-cfiche__in b, .rv-cfiche__out b { flex: none; font-weight: 700; font-variant-numeric: tabular-nums; text-align: right; }
.rv-cfiche__key { display: grid; gap: 2px; margin: 4px 0 6px; padding: 14px 16px; border-radius: var(--rv-r-l); background: var(--rv-teal); color: #fff; }
.rv-cfiche__key span { font-size: var(--rv-fs-sm); color: rgba(255, 255, 255, .86); }
.rv-cfiche__key strong { font: 700 clamp(1.5rem, 1.2rem + 1vw, 1.9rem)/1.15 var(--rv-font-h); letter-spacing: -.02em; overflow-wrap: anywhere; }
.rv-cfiche__go { display: inline-block; margin-top: 12px; color: var(--rv-teal-d); font-weight: 600; }
.rv-cfiche__nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; padding-top: 12px; border-top: 1px dashed var(--rv-line); }
.rv-cfiche__arrow { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1.5px solid var(--rv-line); border-radius: 50%; background: var(--rv-white); color: var(--rv-ink); cursor: pointer; }
.rv-cfiche__arrow .rv-icon { width: 20px; height: 20px; transform: rotate(-90deg); }
.rv-cfiche__arrow--prev .rv-icon { transform: rotate(90deg); }
.rv-cfiche__arrow:hover { border-color: var(--rv-teal); }
.rv-cfiche__arrow:focus-visible, .rv-cfiche__dot:focus-visible { outline: 2px solid var(--rv-teal-d); outline-offset: 2px; }
.rv-cfiche__dots { display: flex; gap: 4px; }
.rv-cfiche__dot { width: 24px; height: 24px; padding: 0; border: 0; background: none; cursor: pointer; display: grid; place-items: center; }
.rv-cfiche__dot::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--rv-line); transition: width .2s var(--rv-ease), background-color .2s ease; }
.rv-cfiche__dot[aria-current="true"]::before { width: 22px; border-radius: 4px; background: var(--rv-corail); }
@media (max-width: 899px) {
	.rv-hero__art--content { justify-content: flex-start; padding-top: 0; }
	.rv-cfiche-wrap { max-width: 520px; }
	.rv-cfiche__sun { left: auto; right: -60px; bottom: auto; top: -120px; width: 280px; }
}
@media (max-width: 599px) {
	.rv-cfiche { padding: 18px 16px 16px; }
	.rv-cfiche__in li { flex-wrap: wrap; gap: 0 8px; }
	.rv-cfiche__in li span { flex-basis: 100%; color: var(--rv-grey); }
	.rv-cfiche__in li span::after { content: none; }
	.rv-cfiche__in b { text-align: left; }
}
@media (prefers-reduced-motion: reduce) { .rv-cfiche__dot::before { transition: none; } }

/* ── Hub: one section per rubrique, tool tiles ────── */
.rv-chubs { display: grid; gap: var(--rv-s7); margin-top: var(--rv-s7); }
.rv-chub { scroll-margin-top: 90px; }
.rv-chub__head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 0 0 var(--rv-s4); padding-bottom: var(--rv-s3); border-bottom: 1px solid var(--rv-line); }
.rv-chub__icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--rv-creme); color: var(--rv-corail-t); flex: none; }
.rv-chub__icon .rv-icon { width: 22px; height: 22px; }
.rv-chub__title { margin: 0; font-size: var(--rv-fs-h3); letter-spacing: -.015em; }
.rv-chub__count { color: var(--rv-grey); font-size: var(--rv-fs-sm); font-weight: 600; }
.rv-chub__link { margin-left: auto; color: var(--rv-teal-d); font-size: var(--rv-fs-sm); font-weight: 600; }
.rv-ctools { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--rv-s4); margin: 0; padding: 0; list-style: none; }
@media (min-width: 700px) { .rv-ctools { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .rv-ctools { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.rv-ctools > li { display: flex; }
.rv-ctool { position: relative; display: flex; gap: 14px; width: 100%; box-sizing: border-box; padding: 20px; border-radius: var(--rv-r-l); background: var(--rv-white); box-shadow: inset 0 0 0 1px var(--rv-line); transition: box-shadow .2s ease, transform .2s var(--rv-ease); }
.rv-ctool:hover { box-shadow: inset 0 0 0 1.5px var(--rv-teal), 0 14px 30px -22px rgba(32, 35, 38, .35); }
.rv-ctool:focus-within { box-shadow: inset 0 0 0 2px var(--rv-teal-d); }
.rv-ctool__icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--rv-teal-tint); color: var(--rv-teal-d); flex: none; }
.rv-ctool__icon .rv-icon { width: 20px; height: 20px; }
.rv-ctool__body { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.rv-ctool__title { margin: 0; font-size: 1.08rem; line-height: 1.3; letter-spacing: -.01em; }
.rv-ctool__title a { color: var(--rv-ink); text-decoration: none; }
.rv-ctool__title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.rv-ctool__title a:focus-visible { outline: none; }
.rv-ctool__text { margin: 6px 0 0; color: var(--rv-grey); font-size: var(--rv-fs-sm); line-height: 1.5; }
.rv-ctool__out { margin: auto 0 0; padding-top: 12px; font-size: var(--rv-fs-xs); font-weight: 600; color: var(--rv-ink); }
.rv-ctool__out span { display: block; color: var(--rv-corail-t); font-weight: 600; }
.rv-ctool__go { display: none; }

/* ── Related tools (tool pages) ───────────────────── */
.rv-crelated { margin-top: var(--rv-s8); padding-block: var(--rv-s7); background: var(--rv-creme-2); border-top: 1px solid var(--rv-line); }
.rv-crelated .rv-section__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; margin-bottom: var(--rv-s5); }
.rv-crelated .rv-section__link a { color: var(--rv-teal-d); font-weight: 600; }

/* ── Home: « Calculer avant de demander des devis » band ── */
.rv-hcalc__grid { display: grid; gap: var(--rv-s6); }
@media (min-width: 1000px) { .rv-hcalc__grid { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); align-items: start; gap: var(--rv-s7); } }
.rv-hcalc__mark { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: var(--rv-s4); border-radius: 50%; background: var(--rv-corail); color: #fff; }
.rv-hcalc__mark .rv-icon { width: 26px; height: 26px; }
.rv-hcalc__lead { margin: var(--rv-s3) 0 0; font-size: var(--rv-fs-lead); color: var(--rv-grey); max-width: 46ch; }
.rv-hcalc__points { display: grid; gap: 10px; margin: var(--rv-s5) 0 0; padding: 0; list-style: none; }
.rv-hcalc__points li { display: flex; align-items: flex-start; gap: 10px; font-weight: 500; }
.rv-hcalc__points .rv-icon { width: 20px; height: 20px; margin-top: 2px; flex: none; color: var(--rv-teal); }
.rv-hcalc__all { margin: var(--rv-s5) 0 0; }
.rv-hcalc__tools { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .rv-hcalc__tools { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .rv-hcalc__tools { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

@media (prefers-reduced-motion: reduce) { .rv-ctool { transition: none; } }
@media print { .rv-crelated, .rv-calc-content > .tc-calc .tc-calc__tools, .tc-calc__devis { display: none !important; } }
