/* ============================================================
   Renova Suisse — Estimateur (calculateur multi-étapes)
   Adapté du repo client moctezuma3/RENOVA-SWISS
   Toutes les règles scopées par .rs-est pour isolation DOM
============================================================ */

.rs-est {
	--black: #0D0D0D;
	--white: #FFFFFF;
	--red: #CC3333;
	--red2: #CC1C16;
	--bg: #1A1A1A;
	--card: #252525;
	--card2: #2E2E2E;
	--border: #383838;
	--gray: #A0A0A0;
	--gray2: #666;
	--inp: #2E2E2E;
	--inp-b: #404040;
	--green: #2ECC71;
	color: #fff;
	font-family: 'Barlow', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji', sans-serif;
	position: relative;
	z-index: 1;
}
.rs-est .ttile-ico,
.rs-est .niv-ico,
.rs-est .pl,
.rs-est .res-eye,
.rs-est .rmc-ico,
.rs-est .cb-ico { font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji', 'Barlow', sans-serif; }
.rs-est *,
.rs-est *::before,
.rs-est *::after { box-sizing: border-box; }

/* Progress bar */
.rs-est .prog { display: flex; align-items: center; justify-content: center; max-width: 620px; margin: 0 auto 14px; padding: 0 16px; position: relative; z-index: 1; }
.rs-est .ps { display: flex; align-items: center; gap: 8px; flex: 1; position: relative; }
.rs-est .ps:not(:last-child)::after { content: ''; flex: 1; height: 1px; background: var(--border); margin: 0 4px; transition: background .4s; }
.rs-est .ps.done:not(:last-child)::after { background: var(--red); }
.rs-est .pd { width: 30px; height: 30px; border-radius: 50%; border: 1.5px solid var(--border); background: var(--card); display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; color: var(--gray2); flex-shrink: 0; transition: all .3s; }
.rs-est .ps.active .pd { background: var(--red); border-color: var(--red); color: #fff; }
.rs-est .ps.done .pd { background: transparent; border-color: var(--red); color: var(--red); }
.rs-est .plbl { font-size: 11px; font-weight: 600; color: var(--gray2); white-space: nowrap; transition: color .3s; }
.rs-est .ps.active .plbl { color: var(--white); }
.rs-est .ps.done .plbl { color: var(--red); }
@media (max-width: 480px) { .rs-est .plbl { display: none; } }

/* Card */
.rs-est .est-card { background: var(--card); border-radius: 16px; border: 1px solid var(--border); overflow: hidden; animation: rs-est-fadeUp .45s ease both; position: relative; z-index: 1; }
@keyframes rs-est-fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
.rs-est .est-card-body { padding: 18px 20px 10px; }
.rs-est .est-card-foot { padding: 0 20px 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.rs-est .panel { display: none; }
.rs-est .panel.active { display: block; animation: rs-est-pIn .3s ease both; }
@keyframes rs-est-pIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

/* Field labels */
.rs-est .flbl { display: block; font-family: 'Barlow Condensed', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); margin-bottom: 6px; }
.rs-est .req { color: var(--red); }

/* Type tiles grid */
.rs-est .type-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; margin-bottom: 14px; }
@media (max-width: 700px) { .rs-est .type-grid { grid-template-columns: repeat(2, 1fr); } }
.rs-est .ttile { background: var(--inp); border: 1.5px solid var(--inp-b); border-radius: 8px; padding: 10px 8px; cursor: pointer; transition: border-color .2s, background .2s; display: flex; flex-direction: column; gap: 3px; position: relative; overflow: hidden; -webkit-tap-highlight-color: transparent; }
.rs-est .ttile::before { content: ''; position: absolute; inset: 0; background: var(--red); opacity: 0; transition: opacity .2s; }
.rs-est .ttile:hover { border-color: rgba(204, 51, 51, .5); }
.rs-est .ttile.sel { border-color: var(--red); }
.rs-est .ttile.sel::before { opacity: .07; }
.rs-est .ttile-ico { font-size: 18px; position: relative; z-index: 1; }
.rs-est .ttile-name { font-size: 11px; font-weight: 700; color: var(--white); line-height: 1.2; position: relative; z-index: 1; }
.rs-est .ttile-range { font-size: 9px; color: var(--red); font-weight: 600; position: relative; z-index: 1; }
.rs-est .ttile-desc { font-size: 9px; color: var(--gray2); line-height: 1.3; position: relative; z-index: 1; }
.rs-est .ttile-chk { position: absolute; top: 8px; right: 8px; width: 16px; height: 16px; background: var(--red); border-radius: 50%; display: none; align-items: center; justify-content: center; font-size: 8px; color: #fff; z-index: 2; }
.rs-est .ttile.sel .ttile-chk { display: flex; }

/* Field grids */
.rs-est .fg2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 20px; margin-bottom: 12px; }
.rs-est .fg3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; margin-bottom: 12px; }
@media (max-width: 600px) { .rs-est .fg2, .rs-est .fg3 { grid-template-columns: 1fr; } }
.rs-est .fg { display: flex; flex-direction: column; }

/* Inputs / selects / textarea */
.rs-est input[type=text],
.rs-est input[type=email],
.rs-est input[type=tel],
.rs-est select,
.rs-est textarea {
	width: 100%; padding: 9px 12px; background: var(--inp); border: 1.5px solid var(--inp-b); border-radius: 8px; font-family: 'Barlow', sans-serif; font-size: 13px; font-weight: 500; color: var(--white); outline: none; transition: border-color .18s; appearance: none;
}
.rs-est input::placeholder,
.rs-est textarea::placeholder { color: var(--gray2); font-weight: 400; }
.rs-est input:focus,
.rs-est select:focus,
.rs-est textarea:focus { border-color: var(--red); }
.rs-est input.err,
.rs-est select.err { border-color: #ff6b6b; }
.rs-est select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 38px; cursor: pointer; }
.rs-est select option { background: #2A2A2A; }
.rs-est textarea { resize: vertical; min-height: 52px; }

.rs-est .ferr { font-size: 11px; color: #ff6b6b; margin-top: 5px; display: none; }
.rs-est .ferr.show { display: block; }

/* Sliders */
.rs-est .sval { font-size: 20px; font-weight: 800; margin-bottom: 6px; line-height: 1; }
.rs-est .sval .unit { font-size: .72em; font-weight: 700; color: var(--gray); }
.rs-est input[type=range] { -webkit-appearance: none; width: 100%; height: 3px; border: none; padding: 0; cursor: pointer; background: linear-gradient(to right, var(--red) 0%, var(--red) var(--pct, 30%), var(--border) var(--pct, 30%), var(--border) 100%); border-radius: 3px; outline: none; }
.rs-est input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 20px; height: 20px; border-radius: 50%; background: var(--red); border: 3px solid var(--bg); box-shadow: 0 0 0 1px var(--red); }
.rs-est input[type=range]::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: var(--red); border: 3px solid var(--bg); box-shadow: 0 0 0 1px var(--red); }
.rs-est .srange { display: flex; justify-content: space-between; font-size: 11px; color: var(--gray2); margin-top: 7px; font-weight: 600; }

/* Pills (radio + checkbox) */
.rs-est .pill-group { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 2px; }
.rs-est .pi { display: none; }
.rs-est .pl { display: inline-flex; align-items: center; gap: 5px; padding: 5px 10px; border: 1.5px solid var(--inp-b); border-radius: 30px; font-size: 12px; font-weight: 600; color: var(--gray); cursor: pointer; transition: all .15s; background: var(--inp); user-select: none; -webkit-tap-highlight-color: transparent; }
.rs-est .pi:checked + .pl { background: var(--red); border-color: var(--red); color: #fff; }
.rs-est .pl:hover { border-color: rgba(204, 51, 51, .6); color: var(--white); }

/* Niveau cards */
.rs-est .niv-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 12px; }
@media (max-width: 480px) { .rs-est .niv-grid { grid-template-columns: 1fr; } }
.rs-est .ni { display: none; }
.rs-est .nl { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 10px 8px; border: 1.5px solid var(--inp-b); border-radius: 8px; cursor: pointer; transition: all .18s; background: var(--inp); text-align: center; -webkit-tap-highlight-color: transparent; }
.rs-est .nl .niv-ico { font-size: 20px; }
.rs-est .nl .niv-name { font-size: 13px; font-weight: 700; }
.rs-est .nl .niv-chf { font-size: 10px; color: var(--red); font-weight: 600; }
.rs-est .nl .niv-desc { font-size: 10px; color: var(--gray2); line-height: 1.4; }
.rs-est .ni:checked + .nl { border-color: var(--red); background: rgba(204, 51, 51, .08); }

/* Divider */
.rs-est .dv { height: 1px; background: var(--border); margin: 14px 0; }

/* Footer buttons */
.rs-est .btn-back { background: transparent; border: 1.5px solid var(--border); color: var(--gray); padding: 9px 16px; border-radius: 8px; font-family: 'Barlow', sans-serif; font-size: 13px; font-weight: 700; cursor: pointer; transition: all .18s; display: flex; align-items: center; gap: 7px; }
.rs-est .btn-back:hover { border-color: var(--gray); color: var(--white); }
.rs-est .btn-next { background: var(--red); color: #fff; border: none; padding: 10px 22px; border-radius: 8px; font-family: 'Barlow', sans-serif; font-size: 14px; font-weight: 800; cursor: pointer; transition: all .18s; display: flex; align-items: center; gap: 9px; }
.rs-est .btn-next:hover { background: var(--red2); transform: translateY(-1px); box-shadow: 0 6px 24px rgba(204, 51, 51, .35); }
.rs-est .sctr { font-size: 11px; color: var(--gray2); font-weight: 600; letter-spacing: 1px; }
@media (max-width: 400px) { .rs-est .btn-back { padding: 8px 12px; font-size: 12px; } .rs-est .btn-next { padding: 10px 16px; font-size: 13px; } }

/* Result step */
.rs-est .res-hero { background: linear-gradient(135deg, #1E0A09, #2A0C0A); border: 1px solid rgba(204, 51, 51, .3); border-radius: 12px; padding: 14px 20px; margin-bottom: 10px; text-align: center; position: relative; overflow: hidden; }
.rs-est .res-hero::before { content: ''; position: absolute; top: -80px; left: 50%; transform: translateX(-50%); width: min(400px, 100%); height: 300px; background: radial-gradient(circle, rgba(204, 51, 51, .18) 0%, transparent 65%); }
.rs-est .res-eye { font-family: 'Barlow Condensed', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--red); margin-bottom: 4px; position: relative; z-index: 1; }
.rs-est .res-amt { font-size: clamp(20px, 4vw, 34px); font-weight: 900; line-height: 1; margin-bottom: 4px; position: relative; z-index: 1; }
.rs-est .res-amt .dash { color: var(--red); margin: 0 6px; }
.rs-est .res-note { font-size: 11px; color: var(--gray); position: relative; z-index: 1; }
.rs-est .sub-badge { display: inline-flex; align-items: center; gap: 6px; background: rgba(46, 204, 113, .1); border: 1px solid rgba(46, 204, 113, .25); border-radius: 6px; padding: 6px 12px; margin-top: 8px; font-size: 12px; font-weight: 600; color: var(--green); position: relative; z-index: 1; flex-wrap: wrap; justify-content: center; }
.rs-est .res-meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 10px; }
@media (max-width: 500px) { .rs-est .res-meta { grid-template-columns: 1fr; } }
.rs-est .rmc { background: var(--card2); border: 1px solid var(--border); border-radius: 8px; padding: 10px 12px; }
.rs-est .rmc-ico { font-size: 15px; margin-bottom: 2px; }
.rs-est .rmc-lbl { font-family: 'Barlow Condensed', sans-serif; font-size: 9px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--gray2); margin-bottom: 2px; }
.rs-est .rmc-val { font-size: 13px; font-weight: 800; }

/* Breakdown */
.rs-est .bdown { background: var(--card2); border: 1px solid var(--border); border-radius: 10px; overflow: hidden; margin-bottom: 10px; }
.rs-est .bdown-hdr { padding: 7px 14px; border-bottom: 1px solid var(--border); font-family: 'Barlow Condensed', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: var(--gray); }
.rs-est .brow { display: flex; align-items: center; justify-content: space-between; padding: 6px 14px; border-bottom: 1px solid rgba(56, 56, 56, .5); transition: background .12s; gap: 8px; }
.rs-est .brow:last-child { border-bottom: none; }
.rs-est .brow:hover { background: rgba(255, 255, 255, .025); }
.rs-est .brow-l { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 500; flex: 1; min-width: 0; }
.rs-est .brow-l span:last-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rs-est .brow-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--red); flex-shrink: 0; }
.rs-est .brow-r { font-size: 12px; font-weight: 700; display: flex; align-items: center; gap: 5px; white-space: nowrap; }
.rs-est .brow-pct { font-size: 10px; color: var(--gray2); font-weight: 500; }

/* Aides section (vert) */
.rs-est .sub-section { background: rgba(46, 204, 113, .06); border: 1px solid rgba(46, 204, 113, .2); border-radius: 10px; padding: 12px 14px; margin-bottom: 10px; }
.rs-est .sub-section-title { font-family: 'Barlow Condensed', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: var(--green); margin-bottom: 8px; }
.rs-est .sub-row { display: flex; justify-content: space-between; align-items: center; padding: 6px 0; border-bottom: 1px solid rgba(46, 204, 113, .12); gap: 8px; }
.rs-est .sub-row:last-child { border-bottom: none; }
.rs-est .sub-row-name { font-size: 12px; font-weight: 500; display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; }
.rs-est .sub-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--green); flex-shrink: 0; }
.rs-est .sub-row-amt { font-size: 12px; font-weight: 700; color: var(--green); white-space: nowrap; }
.rs-est .sub-total-row { display: flex; justify-content: space-between; align-items: center; padding-top: 10px; margin-top: 4px; border-top: 1px solid rgba(46, 204, 113, .25); gap: 8px; }
.rs-est .sub-total-label { font-size: 13px; font-weight: 700; }
.rs-est .sub-total-amt { font-size: 16px; font-weight: 900; color: var(--green); }
.rs-est .sub-disc { font-size: 10px; color: rgba(46, 204, 113, .6); margin-top: 6px; line-height: 1.4; }

/* Callback block */
.rs-est .cb-block { background: var(--red); border-radius: 10px; padding: 12px 16px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.rs-est .cb-ico { font-size: 24px; flex-shrink: 0; }
.rs-est .cb-txt { flex: 1; min-width: 140px; }
.rs-est .cb-txt h3 { font-size: clamp(14px, 2vw, 17px); font-weight: 900; color: #fff; margin-bottom: 2px; }
.rs-est .cb-txt p { font-size: 12px; color: rgba(255, 255, 255, .72); line-height: 1.4; }
.rs-est .btn-cb { background: #fff; color: var(--red); border: none; padding: 10px 18px; border-radius: 8px; font-family: 'Barlow', sans-serif; font-size: 13px; font-weight: 800; cursor: pointer; transition: all .18s; white-space: nowrap; flex-shrink: 0; }
.rs-est .btn-cb:hover { transform: translateY(-2px); box-shadow: 0 6px 24px rgba(0, 0, 0, .25); }
@media (max-width: 520px) { .rs-est .cb-block { flex-direction: column; text-align: center; } .rs-est .btn-cb { width: 100%; } }

.rs-est .disc { text-align: center; margin-top: 8px; font-size: 11px; color: var(--gray2); line-height: 1.5; }
.rs-est .info-box { display: flex; align-items: flex-start; gap: 9px; background: rgba(232, 144, 26, .06); border: 1px solid rgba(232, 144, 26, .2); border-radius: 8px; padding: 10px 14px; font-size: 12px; color: rgba(232, 144, 26, .9); }

/* NPA autocomplete dropdown */
.rs-est .npa-wrap { position: relative; }
.rs-est .npa-dd { position: absolute; top: calc(100% + 4px); left: 0; right: 0; background: #1E1E1E; border: 1.5px solid var(--red); border-radius: 8px; z-index: 300; display: none; box-shadow: 0 12px 32px rgba(0, 0, 0, .5); max-height: 210px; overflow-y: auto; }
.rs-est .npa-dd.open { display: block; }
.rs-est .npa-item { padding: 10px 15px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; transition: background .12s; border-bottom: 1px solid rgba(56, 56, 56, .5); }
.rs-est .npa-item:last-child { border-bottom: none; }
.rs-est .npa-item:hover,
.rs-est .npa-item.focused { background: rgba(204, 51, 51, .12); }
.rs-est .npa-commune { font-size: 13px; font-weight: 600; color: var(--white); }
.rs-est .npa-code { font-size: 12px; font-weight: 700; color: var(--red); }

/* Toast (global, non scoped) */
.rs-est-toast { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%) translateY(20px); background: #1E1E1E; border: 1px solid #CC3333; color: #fff; padding: 11px 24px; border-radius: 30px; font-size: 14px; font-weight: 600; box-shadow: 0 6px 28px rgba(0, 0, 0, .4); transition: transform .3s, opacity .3s; opacity: 0; z-index: 999999; white-space: normal; max-width: min(560px, 92vw); width: max-content; text-align: center; font-family: 'Barlow', sans-serif; line-height: 1.4; word-break: break-word; }
@media (max-width: 480px) { .rs-est-toast { padding: 10px 18px; font-size: 13px; border-radius: 18px; bottom: 88px; max-width: 92vw; } }
.rs-est-toast.show { transform: translateX(-50%) translateY(0); opacity: 1; }

.rs-est .mb20 { margin-bottom: 12px; }

/* ============================================================
   Hero — annule body padding-top:110 imposé par CSS du Header
   pour coller le hero dark en haut de page (sous le pill flottant)
============================================================ */
body.page-id-218 .rs-hero-est { margin-top: -110px; padding-top: 160px !important; }
@media (max-width: 1024px) {
	body.page-id-218 .rs-hero-est { padding-top: 140px !important; }
}
@media (max-width: 767px) {
	body.page-id-218 .rs-hero-est { padding-top: 120px !important; }
}

/* ============================================================
   Bump tailles texte (lisibilité — request client 2026-05-05)
============================================================ */
.rs-est .flbl { font-size: 12px; letter-spacing: 1.8px; }
.rs-est .ttile { padding: 14px 12px; gap: 5px; }
.rs-est .ttile-ico { font-size: 24px; }
.rs-est .ttile-name { font-size: 14px; }
.rs-est .ttile-range { font-size: 12px; }
.rs-est .ttile-desc { font-size: 12px; }
.rs-est .ttile-chk { width: 20px; height: 20px; font-size: 11px; top: 10px; right: 10px; }

.rs-est input[type=text],
.rs-est input[type=email],
.rs-est input[type=tel],
.rs-est select,
.rs-est textarea { padding: 12px 14px; font-size: 15px; }
.rs-est select { padding-right: 42px; }
.rs-est textarea { min-height: 64px; }
.rs-est .ferr { font-size: 13px; }

.rs-est .sval { font-size: 24px; }
.rs-est .srange { font-size: 13px; }

.rs-est .pl { padding: 8px 14px; font-size: 14px; gap: 7px; }
.rs-est input[type=range] { height: 4px; }
.rs-est input[type=range]::-webkit-slider-thumb { width: 22px; height: 22px; }
.rs-est input[type=range]::-moz-range-thumb { width: 22px; height: 22px; }

.rs-est .nl { padding: 14px 10px; gap: 5px; }
.rs-est .nl .niv-ico { font-size: 24px; }
.rs-est .nl .niv-name { font-size: 15px; }
.rs-est .nl .niv-chf { font-size: 12px; }
.rs-est .nl .niv-desc { font-size: 12px; }

.rs-est .btn-back { padding: 11px 18px; font-size: 14px; }
.rs-est .btn-next { padding: 12px 26px; font-size: 15px; }
.rs-est .sctr { font-size: 13px; }

.rs-est .est-card-body { padding: 24px 28px 14px; }
.rs-est .est-card-foot { padding: 0 28px 18px; }

/* Result step */
.rs-est .res-eye { font-size: 12px; letter-spacing: 2.4px; }
.rs-est .res-amt { font-size: clamp(28px, 5vw, 44px); }
.rs-est .res-note { font-size: 13px; }
.rs-est .sub-badge { font-size: 14px; padding: 8px 14px; }

.rs-est .rmc { padding: 14px 16px; }
.rs-est .rmc-ico { font-size: 18px; }
.rs-est .rmc-lbl { font-size: 11px; letter-spacing: 1.8px; }
.rs-est .rmc-val { font-size: 16px; }

.rs-est .bdown-hdr { font-size: 12px; padding: 10px 18px; letter-spacing: 2.2px; }
.rs-est .brow { padding: 9px 18px; }
.rs-est .brow-l { font-size: 14px; gap: 10px; }
.rs-est .brow-r { font-size: 14px; }
.rs-est .brow-pct { font-size: 12px; }
.rs-est .brow-dot { width: 6px; height: 6px; }

.rs-est .sub-section { padding: 16px 18px; }
.rs-est .sub-section-title { font-size: 12px; letter-spacing: 2.2px; }
.rs-est .sub-row-name { font-size: 14px; }
.rs-est .sub-row-amt { font-size: 14px; }
.rs-est .sub-total-label { font-size: 15px; }
.rs-est .sub-total-amt { font-size: 18px; }
.rs-est .sub-disc { font-size: 12px; }

.rs-est .cb-block { padding: 16px 20px; gap: 16px; }
.rs-est .cb-ico { font-size: 28px; }
.rs-est .cb-txt h3 { font-size: clamp(16px, 2vw, 20px); }
.rs-est .cb-txt p { font-size: 14px; }
.rs-est .btn-cb { padding: 12px 22px; font-size: 14px; }

.rs-est .disc { font-size: 13px; }
.rs-est .info-box { font-size: 14px; padding: 12px 16px; }

.rs-est .npa-item { padding: 12px 18px; }
.rs-est .npa-commune { font-size: 14px; }
.rs-est .npa-code { font-size: 13px; }

/* Progress */
.rs-est .pd { width: 36px; height: 36px; font-size: 14px; }
.rs-est .plbl { font-size: 13px; }
.rs-est .prog { margin-bottom: 18px; }

/* ============================================================
   Mobile fixes — réduire padding L/R + bouton Continuer compact
   (placé après les bumps globaux pour gagner la cascade)
============================================================ */
@media (max-width: 768px) {
	.rs-est .est-card-body { padding: 20px 16px 10px; }
	.rs-est .est-card-foot {
		padding: 0 16px 14px;
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-areas: "sctr sctr" "back next";
		row-gap: 10px;
		column-gap: 10px;
	}
	.rs-est .btn-back { grid-area: back; justify-self: start; padding: 9px 12px; font-size: 13px; gap: 5px; }
	.rs-est .btn-next { grid-area: next; justify-self: end; padding: 11px 18px; font-size: 14px; gap: 7px; white-space: nowrap; }
	.rs-est .sctr { grid-area: sctr; font-size: 12px; text-align: center; }
	.rs-est .ttile { padding: 12px 10px; }
	.rs-est .pl { padding: 7px 12px; font-size: 13px; }
	.rs-est .nl { padding: 12px 10px; }
	.rs-est .pd { width: 32px; height: 32px; font-size: 13px; }
}
@media (max-width: 480px) {
	.rs-est .est-card-body { padding: 18px 12px 10px; }
	.rs-est .est-card-foot { padding: 0 12px 12px; gap: 8px; }
	.rs-est .btn-back { padding: 8px 10px; font-size: 12px; }
	.rs-est .btn-next { padding: 10px 14px; font-size: 13px; }
	.rs-est .sctr { font-size: 11px; }
	.rs-est input[type=text],
	.rs-est input[type=email],
	.rs-est input[type=tel],
	.rs-est select,
	.rs-est textarea { padding: 11px 12px; font-size: 14px; }
	.rs-est .pd { width: 28px; height: 28px; font-size: 12px; }
	.rs-est .prog { margin-bottom: 14px; }
}
@media (max-width: 380px) {
	.rs-est .est-card-body { padding: 16px 10px 8px; }
	.rs-est .est-card-foot { padding: 0 10px 10px; gap: 6px; }
	.rs-est .btn-back { padding: 7px 9px; font-size: 11px; }
	.rs-est .btn-next { padding: 9px 12px; font-size: 12px; }
	.rs-est .btn-back svg,
	.rs-est .btn-next svg { width: 11px; height: 11px; }
}
