.rdn-estimator {
  --rdn-green: #68704d;
  --rdn-green-dark: #50583a;
  --rdn-ink: #2f3428;
  --rdn-muted: #676c61;
  --rdn-line: #dfe2d8;
  --rdn-cream: #f5f3ea;
  --rdn-white: #fff;
  width: min(100%, 920px);
  margin: 36px auto;
  padding: clamp(22px, 4vw, 46px);
  border: 1px solid var(--rdn-line);
  border-radius: 24px;
  background: var(--rdn-white);
  box-shadow: 0 22px 60px rgba(54, 59, 43, .1);
  color: var(--rdn-ink);
  font-family: inherit;
}

.rdn-estimator *, .rdn-estimator *::before, .rdn-estimator *::after { box-sizing: border-box; }
.rdn-estimator [hidden] { display: none !important; }
.rdn-estimator__intro { max-width: 700px; }
.rdn-estimator__eyebrow { margin: 0 0 8px; color: var(--rdn-green); font-size: .78rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.rdn-estimator__intro h2 { margin: 0; color: var(--rdn-ink); font-size: clamp(1.65rem, 3vw, 2.35rem); line-height: 1.15; }
.rdn-estimator__intro > p:last-child { margin: 14px 0 0; color: var(--rdn-muted); font-size: 1rem; line-height: 1.65; }

.rdn-estimator__progress { margin: 30px 0 34px; }
.rdn-estimator__progress-text { display: block; margin-bottom: 8px; color: var(--rdn-green-dark); font-size: .82rem; font-weight: 700; }
.rdn-estimator__progress-track { width: 100%; height: 7px; overflow: hidden; border-radius: 999px; background: #eceee8; }
.rdn-estimator__progress-track span { display: block; height: 100%; border-radius: inherit; background: var(--rdn-green); transition: width .25s ease; }

.rdn-estimator fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.rdn-estimator legend { width: 100%; margin: 0 0 7px; padding: 0; color: var(--rdn-ink); font-size: clamp(1.25rem, 2vw, 1.65rem); font-weight: 700; line-height: 1.3; }
.rdn-estimator__hint { margin: 0 0 22px; color: var(--rdn-muted); line-height: 1.55; }
.rdn-estimator__pest-grid, .rdn-estimator__contact-choice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.rdn-estimator__choice-card { position: relative; display: block; margin: 0; cursor: pointer; }
.rdn-estimator__choice-card input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.rdn-estimator__choice-card > span { display: flex; min-height: 92px; flex-direction: column; justify-content: center; padding: 18px 20px; border: 1px solid var(--rdn-line); border-radius: 15px; background: #fff; transition: border-color .16s ease, box-shadow .16s ease, background .16s ease; }
.rdn-estimator__choice-card strong { color: var(--rdn-ink); font-size: 1rem; line-height: 1.35; }
.rdn-estimator__choice-card small { display: block; margin-top: 5px; color: var(--rdn-muted); font-size: .84rem; line-height: 1.4; }
.rdn-estimator__choice-card:hover > span { border-color: #aeb5a0; }
.rdn-estimator__choice-card input:checked + span { border-color: var(--rdn-green); background: var(--rdn-cream); box-shadow: 0 0 0 2px rgba(104, 112, 77, .16); }
.rdn-estimator__choice-card input:focus-visible + span { outline: 3px solid #1f6feb; outline-offset: 3px; }

.rdn-estimator__why { display: grid; grid-template-columns: minmax(0, 1fr) 180px; gap: 22px; align-items: center; margin-top: 22px; padding: 21px 22px; border: 1px solid #d9ddcf; border-radius: 16px; background: linear-gradient(135deg, #f7f6ef 0%, #eef1e7 100%); }
.rdn-estimator__why-copy .rdn-estimator__eyebrow { margin-bottom: 5px; }
.rdn-estimator__why h3 { margin: 0; color: var(--rdn-ink); font-size: 1.12rem; line-height: 1.35; }
.rdn-estimator__why-copy > p:last-of-type { margin: 8px 0 0; color: var(--rdn-muted); font-size: .9rem; line-height: 1.55; }
.rdn-estimator__why ul { display: flex; flex-wrap: wrap; gap: 7px; margin: 14px 0 0; padding: 0; list-style: none; }
.rdn-estimator__why li { padding: 6px 10px; border: 1px solid #d7dbcd; border-radius: 999px; background: rgba(255, 255, 255, .72); color: var(--rdn-green-dark); font-size: .76rem; font-weight: 700; }
.rdn-estimator__rating { display: flex; min-height: 132px; flex-direction: column; align-items: center; justify-content: center; padding: 16px; border-radius: 14px; background: var(--rdn-white); color: var(--rdn-ink); text-align: center; text-decoration: none; box-shadow: 0 10px 28px rgba(54, 59, 43, .08); }
.rdn-estimator__rating span { color: #e3a20b; font-size: 1.05rem; letter-spacing: .06em; }
.rdn-estimator__rating strong { margin-top: 5px; font-size: 1.35rem; line-height: 1.2; }
.rdn-estimator__rating small { margin-top: 3px; color: var(--rdn-muted); font-size: .76rem; }
.rdn-estimator__rating:hover { color: var(--rdn-green-dark); transform: translateY(-1px); }
.rdn-estimator__rating:focus-visible { outline: 3px solid #1f6feb; outline-offset: 3px; }

.rdn-estimator__question { padding: 0 0 26px !important; }
.rdn-estimator__question + .rdn-estimator__question { padding-top: 24px !important; border-top: 1px solid var(--rdn-line); }
.rdn-estimator__question legend { font-size: 1.02rem; }
.rdn-estimator__option-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.rdn-estimator__option { position: relative; display: block; margin: 0; cursor: pointer; }
.rdn-estimator__option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.rdn-estimator__option span { display: block; min-height: 52px; padding: 14px 16px 14px 44px; border: 1px solid var(--rdn-line); border-radius: 12px; color: var(--rdn-ink); line-height: 1.35; }
.rdn-estimator__option span::before { position: absolute; top: 50%; left: 16px; width: 17px; height: 17px; border: 2px solid #9da48f; border-radius: 50%; content: ''; transform: translateY(-50%); }
.rdn-estimator__option input:checked + span { border-color: var(--rdn-green); background: var(--rdn-cream); }
.rdn-estimator__option input:checked + span::before { border: 5px solid var(--rdn-green); background: #fff; }
.rdn-estimator__option input:focus-visible + span { outline: 3px solid #1f6feb; outline-offset: 2px; }

.rdn-estimator__upload { display: flex; min-height: 130px; flex-direction: column; align-items: center; justify-content: center; padding: 20px; border: 2px dashed #b8bead; border-radius: 16px; background: #faf9f5; color: var(--rdn-ink); text-align: center; cursor: pointer; }
.rdn-estimator__upload:hover { border-color: var(--rdn-green); background: var(--rdn-cream); }
.rdn-estimator__upload > span { display: grid; width: 34px; height: 34px; margin-bottom: 8px; place-items: center; border-radius: 50%; background: var(--rdn-green); color: #fff; font-size: 1.45rem; line-height: 1; }
.rdn-estimator__upload small { margin-top: 4px; color: var(--rdn-muted); }
.rdn-estimator__file { position: absolute; width: 1px; height: 1px; opacity: 0; }
.rdn-estimator:has(.rdn-estimator__file:focus-visible) .rdn-estimator__upload { outline: 3px solid #1f6feb; outline-offset: 3px; }
.rdn-estimator__file:focus-visible + .rdn-estimator__previews { outline: 3px solid #1f6feb; }
.rdn-estimator__previews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.rdn-estimator__preview { position: relative; overflow: hidden; aspect-ratio: 4 / 3; border-radius: 12px; background: #eceee8; }
.rdn-estimator__preview img { width: 100%; height: 100%; object-fit: cover; }
.rdn-estimator__preview button { position: absolute; right: 6px; bottom: 6px; min-height: 32px; padding: 6px 10px; border: 0; border-radius: 999px; background: rgba(47, 52, 40, .92); color: #fff; font-size: .75rem; cursor: pointer; }
.rdn-estimator__label { display: block; margin: 24px 0 7px; color: var(--rdn-ink); font-weight: 700; }
.rdn-estimator__label span { color: var(--rdn-muted); font-weight: 400; }

.rdn-estimator textarea, .rdn-estimator input:not([type="radio"]):not([type="file"]), .rdn-estimator select { width: 100%; min-height: 50px; padding: 11px 13px; border: 1px solid #cbd0c4; border-radius: 10px; background: #fff; color: var(--rdn-ink); font: inherit; }
.rdn-estimator textarea { min-height: 108px; resize: vertical; }
.rdn-estimator textarea:focus, .rdn-estimator input:not([type="radio"]):not([type="file"]):focus, .rdn-estimator select:focus { border-color: var(--rdn-green); outline: 3px solid rgba(104, 112, 77, .2); }
.rdn-estimator__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; margin-top: 24px; }
.rdn-estimator__fields p { margin: 0; }
.rdn-estimator__fields label { display: block; margin: 0 0 7px; color: var(--rdn-ink); font-size: .9rem; font-weight: 700; }
.rdn-estimator__privacy { margin-top: 22px; padding: 15px 17px; border-radius: 11px; background: #f7f6f0; color: var(--rdn-muted); font-size: .78rem; line-height: 1.5; }
.rdn-estimator__privacy p { margin: 0; }
.rdn-estimator__privacy p + p { margin-top: 5px; }
.rdn-estimator__privacy a { color: var(--rdn-green-dark); text-decoration: underline; }

.rdn-estimator__actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 30px; }
.rdn-estimator__actions button { min-height: 50px; padding: 12px 23px; border-radius: 999px; font: inherit; font-weight: 700; cursor: pointer; }
.rdn-estimator__back { border: 1px solid #c9cec1; background: #fff; color: var(--rdn-ink); }
.rdn-estimator__next, .rdn-estimator__submit { margin-left: auto; border: 1px solid var(--rdn-green); background: var(--rdn-green); color: #fff; }
.rdn-estimator__actions button:hover { transform: translateY(-1px); }
.rdn-estimator__actions button:focus-visible { outline: 3px solid #1f6feb; outline-offset: 3px; }
.rdn-estimator__actions button:disabled { cursor: wait; opacity: .72; }
.rdn-estimator__errors { display: none; margin-top: 20px; padding: 13px 15px; border-left: 4px solid #a32727; background: #fff1f1; color: #711b1b; line-height: 1.45; }
.rdn-estimator__errors.is-visible { display: block; }
.rdn-estimator__trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.rdn-estimator__success { padding: 28px 10px 8px; text-align: center; }
.rdn-estimator__success > div { display: grid; width: 58px; height: 58px; margin: 0 auto 16px; place-items: center; border-radius: 50%; background: var(--rdn-green); color: #fff; font-size: 1.8rem; }
.rdn-estimator__success h3 { margin: 0 0 10px; color: var(--rdn-ink); font-size: 1.65rem; }
.rdn-estimator__success p { color: var(--rdn-muted); }
.rdn-estimator__summary { display: grid; gap: 1px; width: min(100%, 620px); margin: 22px auto; overflow: hidden; border: 1px solid var(--rdn-line); border-radius: 13px; background: var(--rdn-line); text-align: left; }
.rdn-estimator__summary > div { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 16px; padding: 13px 15px; background: var(--rdn-white); }
.rdn-estimator__summary dt { color: var(--rdn-muted); font-size: .82rem; font-weight: 700; }
.rdn-estimator__summary dd { margin: 0; color: var(--rdn-ink); font-weight: 700; }
.rdn-estimator__success-next { width: min(100%, 650px); margin: 0 auto 18px; line-height: 1.6; }
.rdn-estimator__urgent-link { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 9px 16px; border: 1px solid #cbd0c4; border-radius: 999px; color: var(--rdn-green-dark); font-weight: 700; text-decoration: none; }
.rdn-estimator__urgent-link:hover { border-color: var(--rdn-green); background: var(--rdn-cream); }
.rdn-estimator__urgent-link:focus-visible { outline: 3px solid #1f6feb; outline-offset: 3px; }

@media (max-width: 680px) {
  .rdn-estimator { margin: 18px auto; padding: 22px 17px 26px; border-radius: 18px; }
  .rdn-estimator__pest-grid, .rdn-estimator__contact-choice, .rdn-estimator__option-list, .rdn-estimator__fields { grid-template-columns: 1fr; }
  .rdn-estimator__choice-card > span { min-height: 76px; padding: 15px 16px; }
  .rdn-estimator__previews { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rdn-estimator__actions button { padding-inline: 19px; }
  .rdn-estimator__why { grid-template-columns: 1fr; padding: 18px; }
  .rdn-estimator__rating { min-height: 0; align-items: flex-start; text-align: left; }
  .rdn-estimator__summary > div { grid-template-columns: 1fr; gap: 3px; }
}

@media (prefers-reduced-motion: reduce) {
  .rdn-estimator *, .rdn-estimator *::before, .rdn-estimator *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

@media (forced-colors: active) {
  .rdn-estimator__choice-card input:checked + span, .rdn-estimator__option input:checked + span { outline: 3px solid CanvasText; }
}

/* 0.11.4 — accès direct aux deux parcours */
article.rdn-content:has(> .rdn-estimator) {
  display: flex;
  flex-direction: column;
}

article.rdn-content:has(> .rdn-estimator) > h2 {
  order: 1;
  margin: 0 0 18px;
}

article.rdn-content:has(> .rdn-estimator) > .rdn-estimator {
  order: 2;
  margin: 0 auto;
  padding: clamp(28px, 3vw, 34px);
}

article.rdn-content:has(> .rdn-estimator) > .rdn-intro-grid {
  order: 3;
  margin-top: clamp(38px, 5vw, 62px);
}

.rdn-main:has(.rdn-estimator) .rdn-page-hero {
  padding-block: clamp(50px, 5vw, 64px);
}

.rdn-main:has(.rdn-estimator) > article.rdn-content {
  padding-top: clamp(32px, 4vw, 44px);
}

article.rdn-content:has(> .rdn-estimator) .rdn-estimator__intro > p:last-child {
  margin-top: 8px;
  line-height: 1.5;
}

article.rdn-content:has(> .rdn-estimator) .rdn-estimator__progress {
  margin: 18px 0 22px;
}

article.rdn-content:has(> .rdn-estimator) .rdn-estimator__hint {
  margin-bottom: 14px;
}

.rdn-estimator__contact-choice .rdn-estimator__choice-card > span {
  position: relative;
  min-height: 108px;
  padding: 18px 64px 18px 20px;
  border: 2px solid var(--rdn-green);
  background: linear-gradient(135deg, #fff 0%, #f1f3e9 100%);
  box-shadow: 0 10px 24px rgba(54, 59, 43, .1);
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease, transform .16s ease;
}

.rdn-estimator__contact-choice .rdn-estimator__choice-card > span::after {
  position: absolute;
  top: 50%;
  right: 18px;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: var(--rdn-green);
  color: #fff;
  content: "→";
  font-size: 1.2rem;
  font-weight: 700;
  transform: translateY(-50%);
}

.rdn-estimator__contact-choice .rdn-estimator__choice-card strong {
  color: var(--rdn-green-dark);
  font-size: 1.08rem;
}

.rdn-estimator__contact-choice .rdn-estimator__choice-card:hover > span {
  border-color: var(--rdn-green-dark);
  box-shadow: 0 14px 30px rgba(54, 59, 43, .16);
  transform: translateY(-2px);
}

.rdn-estimator__contact-choice .rdn-estimator__choice-card input:checked + span::after {
  background: var(--rdn-green-dark);
  content: "✓";
}

@media (max-width: 680px) {
  .rdn-main:has(.rdn-estimator) .rdn-page-hero {
    padding-block: 34px;
  }

  .rdn-main:has(.rdn-estimator) > article.rdn-content {
    padding-top: 24px;
  }

  article.rdn-content:has(> .rdn-estimator) > h2 {
    margin-bottom: 13px;
    font-size: clamp(1.65rem, 8vw, 2rem);
  }

  article.rdn-content:has(> .rdn-estimator) > .rdn-estimator {
    padding: 20px 16px 24px;
  }

  article.rdn-content:has(> .rdn-estimator) .rdn-estimator__progress {
    margin: 14px 0 17px;
  }

  .rdn-estimator__contact-choice {
    gap: 10px;
  }

  .rdn-estimator__contact-choice .rdn-estimator__choice-card > span {
    min-height: 82px;
    padding: 14px 54px 14px 15px;
  }

  .rdn-estimator__contact-choice .rdn-estimator__choice-card > span::after {
    right: 14px;
    width: 32px;
    height: 32px;
  }
}


/* 0.11.4 — affichage complet des deux choix au premier écran */
.rdn-main:has(.rdn-estimator) .rdn-page-hero {
  padding-block: 34px;
}

.rdn-main:has(.rdn-estimator) > article.rdn-content {
  padding-top: 24px;
}

article.rdn-content:has(> .rdn-estimator) > .rdn-estimator {
  box-sizing: border-box;
  width: 100%;
  max-width: 995px;
}



/* 0.11.6 — cartes d’action vertes */
.rdn-estimator__contact-choice .rdn-estimator__choice-card > span {
  border-color: #405318;
  background: linear-gradient(135deg, #5f7624 0%, #405318 100%);
  color: #fff;
  box-shadow: 0 12px 28px rgba(64, 83, 24, .28);
}

.rdn-estimator__contact-choice .rdn-estimator__choice-card strong {
  color: #fff;
}

.rdn-estimator__contact-choice .rdn-estimator__choice-card small {
  color: rgba(255, 255, 255, .94);
}

.rdn-estimator__contact-choice .rdn-estimator__choice-card > span::after {
  background: #fff;
  color: #4b611b;
}

.rdn-estimator__contact-choice .rdn-estimator__choice-card:hover > span {
  border-color: #344712;
  background: linear-gradient(135deg, #667f26 0%, #465b19 100%);
  box-shadow: 0 16px 34px rgba(64, 83, 24, .34);
}

.rdn-estimator__contact-choice .rdn-estimator__choice-card input:checked + span {
  border-color: #2f410d;
  background: linear-gradient(135deg, #506719 0%, #344710 100%);
  box-shadow: 0 0 0 3px rgba(95, 118, 36, .25), 0 14px 32px rgba(64, 83, 24, .32);
}

.rdn-estimator__contact-choice .rdn-estimator__choice-card input:checked + span::after {
  background: #fff;
  color: #344710;
}

/* 0.11.7 — cartes lisibles avec accent vert */
.rdn-estimator__contact-choice .rdn-estimator__choice-card > span {
  padding: 18px 22px 18px 28px;
  border-color: #61752d;
  background: linear-gradient(135deg, #ffffff 0%, #f4f7ed 100%);
  color: #2f3428;
  box-shadow: inset 6px 0 0 #617a22, 0 10px 24px rgba(54, 59, 43, .12);
}

.rdn-estimator__contact-choice .rdn-estimator__choice-card strong {
  color: #405318;
  font-size: 1.12rem;
  line-height: 1.35;
}

.rdn-estimator__contact-choice .rdn-estimator__choice-card small {
  margin-top: 7px;
  color: #3f4538;
  font-size: .9rem;
  line-height: 1.5;
}

.rdn-estimator__contact-choice .rdn-estimator__choice-card > span::after {
  display: none;
  content: none;
}

.rdn-estimator__contact-choice .rdn-estimator__choice-card:hover > span {
  border-color: #405318;
  background: #eef3e5;
  box-shadow: inset 6px 0 0 #506719, 0 14px 30px rgba(54, 59, 43, .16);
}

.rdn-estimator__contact-choice .rdn-estimator__choice-card input:checked + span {
  border-color: #405318;
  background: #e7eddc;
  box-shadow: inset 8px 0 0 #405318, 0 0 0 3px rgba(95, 118, 36, .22), 0 12px 28px rgba(54, 59, 43, .14);
}

@media (max-width: 680px) {
  .rdn-estimator__contact-choice .rdn-estimator__choice-card > span {
    padding: 16px 18px 16px 24px;
  }
}


/* Single-page callback, deliberately isolated from the previous estimator. */
.rdn-callback { position: relative; padding: clamp(24px,4vw,42px); background: #fff; border: 1px solid #dfe3d8; border-radius: 22px; box-shadow: 0 12px 36px rgba(34,37,28,.06); }
.rdn-callback h2 { margin-top: 0; font-size: clamp(1.65rem,3vw,2.2rem); }
.rdn-callback > p { color: #64695b; font-size: .96rem; }
.rdn-callback .rdn-eyebrow { color: #4f5738; }
.rdn-callback__hint { font-size: .82rem !important; }
.rdn-callback__form { display: grid; gap: 22px; }
.rdn-callback__form[hidden], .rdn-callback [hidden] { display: none !important; }
.rdn-callback__field { display: grid; gap: 7px; }
.rdn-callback__field label { font-size: .94rem; font-weight: 750; color: #22251c; }
.rdn-callback__field label span { color: #64695b; font-size: .82rem; font-weight: 400; }
.rdn-callback__field input, .rdn-callback__field select, .rdn-callback__field textarea { box-sizing: border-box; width: 100%; min-height: 52px; padding: 12px 14px; border: 1px solid #a8af9d; border-radius: 9px; background: #fff; color: #22251c; font: inherit; font-size: 16px; }
.rdn-callback__field select { appearance: auto; }
.rdn-callback__field textarea { min-height: 100px; resize: vertical; }
.rdn-callback__field input:focus, .rdn-callback__field select:focus, .rdn-callback__field textarea:focus { outline: 3px solid #68704d; outline-offset: 2px; }
.rdn-callback__field small { color: #64695b; font-size: .8rem; line-height: 1.5; }
.rdn-callback__hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.rdn-callback__privacy { margin: 0; font-size: .78rem; line-height: 1.6; color: #64695b; }
.rdn-callback__form > button { width: 100%; cursor: pointer; }
.rdn-callback__form > button:disabled { opacity: .65; cursor: wait; }
.rdn-callback__error { padding: 16px; background: #fff0eb; color: #7a2d1e; border: 1px solid #b26451; border-radius: 9px; font-size: .9rem; }
.rdn-callback__success { padding: 24px; color: #22251c; background: #eef1e7; border: 1px solid #68704d; border-radius: 14px; }
.rdn-callback__success h3 { margin-top: 0; font-size: 1.45rem; }
.rdn-callback__success p:last-child { margin-bottom: 0; }
@media (max-width: 600px) { .rdn-callback { padding: 24px 18px; border-radius: 16px; } }
.rdn-callback__extras { border-top: 1px solid #dfe3d8; border-bottom: 1px solid #dfe3d8; }
.rdn-callback__extras summary { padding-block: 15px; color: #4f5738; font-size: .91rem; font-weight: 700; cursor: pointer; }
.rdn-callback__extras summary span { font-weight: 400; }
.rdn-callback__extras > div { display: grid; gap: 22px; padding-bottom: 22px; }
.rdn-callback__field-error { margin: 0; color: #7a2d1e; font-size: .83rem; line-height: 1.5; }
.rdn-callback__field [aria-invalid="true"] { border-color: #a3472d; }
