.rcdpm, .rcdpm * { box-sizing: border-box; }
.rcdpm {
  --rc-primary:#003B5D;
  --rc-secondary:#D97A2B;
  --rc-ink:#173244;
  --rc-muted:#647684;
  --rc-soft:#F4F9FC;
  --rc-line:#DDE6EB;
  --rc-orange-soft:#FFF7EF;
  font-family: inherit;
  color:var(--rc-ink);
  position:relative;
  width:100% !important;
  max-width:100% !important;
  left:auto !important;
  right:auto !important;
  margin:0 auto !important;
  padding:clamp(8px,2vw,20px) 0;
  background:transparent !important;
  clear:both;
  overflow:hidden;
  isolation:isolate;
}
.rcdpm::before, .rcdpm::after,
.rcdpm-shell::before, .rcdpm-shell::after { content:none !important; display:none !important; }
.rcdpm ul, .rcdpm ol { list-style:none; }
.rcdpm-shell {
  width:min(980px,100%);
  max-width:980px;
  margin:0 auto !important;
  padding:clamp(24px,5vw,56px);
  background:#fff;
  border:1px solid var(--rc-line);
  border-radius:28px;
  box-shadow:0 18px 55px rgba(0,59,93,.08);
}
.rcdpm-head { text-align:center; max-width:760px; margin:0 auto 28px; }
.rcdpm-logo { display:flex; align-items:center; justify-content:center; width:100%; }
.rcdpm-logo a { display:inline-flex; align-items:center; justify-content:center; }
.rcdpm-logo img { max-height:64px !important; max-width:180px !important; width:auto !important; height:auto !important; margin:0 auto 18px !important; display:block !important; }
.rcdpm-kicker { text-transform:uppercase; letter-spacing:.16em; font-size:.78rem; font-weight:800; color:var(--rc-secondary); margin:0 0 8px; }
.rcdpm h2 { color:var(--rc-primary); font-size:clamp(1.85rem,4vw,3.1rem); line-height:1.08; margin:0 0 18px; text-align:center; }
.rcdpm h3 { color:var(--rc-primary); font-size:clamp(1.35rem,2.5vw,2rem); line-height:1.2; text-align:center; margin:0 0 26px; }
.rcdpm-intro, .rcdpm-outro { color:var(--rc-muted); font-size:1rem; line-height:1.7; }
.rcdpm-intro p, .rcdpm-outro p { margin:.4em 0; }
.rcdpm-progress { height:5px; background:var(--rc-soft); border-radius:999px; overflow:hidden; margin:24px 0 34px; }
.rcdpm-progress span { display:block; height:100%; width:25%; border-radius:999px; background:linear-gradient(90deg,var(--rc-primary),var(--rc-secondary)); transition:width .25s ease; }
.rcdpm-step { display:none; animation:rcdpmIn .24s ease; }
.rcdpm-step.is-active { display:block; }
@keyframes rcdpmIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:none} }
.rcdpm-step-label { text-align:center; color:var(--rc-secondary); font-weight:800; font-size:.82rem; letter-spacing:.08em; margin:0 0 10px; }
.rcdpm-grid { display:grid !important; gap:16px !important; align-items:stretch !important; justify-items:stretch !important; width:100% !important; }
.rcdpm-grid-3 { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; align-items:stretch !important; justify-items:stretch !important; width:100% !important; }
.rcdpm-grid-3 > * { margin:0 !important; min-width:0 !important; width:auto !important; height:100%; justify-self:stretch; align-self:stretch; }
.rcdpm-card {
  appearance:none !important;
  -webkit-appearance:none !important;
  border:1px solid var(--rc-line) !important;
  border-radius:20px !important;
  background:#fff !important;
  padding:24px 20px !important;
  text-align:left !important;
  cursor:pointer;
  min-height:170px;
  transition:.2s ease;
  font:inherit !important;
  letter-spacing:normal !important;
  text-transform:none !important;
  color:var(--rc-ink) !important;
  box-shadow:0 5px 18px rgba(0,59,93,.035) !important;
  width:100%;
}
.rcdpm-card:hover, .rcdpm-card:focus-visible { transform:translateY(-3px); border-color:var(--rc-secondary) !important; box-shadow:0 14px 28px rgba(0,59,93,.1) !important; outline:none; }
.rcdpm-card strong { display:block; color:var(--rc-primary); font-size:1.08rem; line-height:1.3; margin-bottom:10px; }
.rcdpm-card span { display:block; color:var(--rc-muted); line-height:1.55; font-size:.95rem; font-weight:400; }
.rcdpm-back { border:0 !important; background:transparent !important; color:var(--rc-muted) !important; font:inherit !important; cursor:pointer; margin:24px auto 0 !important; display:block !important; padding:8px 10px !important; text-transform:none !important; box-shadow:none !important; }
.rcdpm-result-icon { width:58px; height:58px; display:grid; place-items:center; margin:0 auto 18px; border-radius:50%; background:var(--rc-orange-soft); color:var(--rc-secondary); font-size:1.8rem; font-weight:900; }
.rcdpm-result-text { max-width:760px; margin:0 auto 20px; background:var(--rc-soft); border-left:5px solid var(--rc-secondary); border-radius:14px; padding:22px 24px; font-size:1.02rem; line-height:1.72; }
.rcdpm-result-text p { margin:.45em 0; }
.rcdpm-outro { max-width:760px; text-align:center; margin:0 auto 24px; }
.rcdpm-actions { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; align-items:stretch; }
.rcdpm-action {
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  border-radius:999px !important;
  min-height:48px;
  padding:12px 20px !important;
  text-decoration:none !important;
  border:1px solid transparent !important;
  cursor:pointer;
  font:inherit !important;
  font-weight:750 !important;
  text-transform:none !important;
  letter-spacing:normal !important;
  transition:.2s ease;
  text-align:center;
  line-height:1.25;
}
.rcdpm-action:hover { transform:translateY(-1px); text-decoration:none !important; }
.rcdpm-action-primary { background:var(--rc-primary) !important; color:#fff !important; }
.rcdpm-action-secondary { background:var(--rc-secondary) !important; color:#fff !important; }
.rcdpm-action-quiet { background:#fff !important; color:var(--rc-primary) !important; border-color:var(--rc-line) !important; }
.rcdpm-done-text { text-align:center; color:var(--rc-muted); max-width:620px; margin:0 auto 22px; }
.rcdpm-home-button { text-align:center; margin:20px 0; }
.rcdpm-home-button a { display:inline-flex; align-items:center; justify-content:center; text-align:center; padding:14px 24px; min-height:50px; border-radius:999px; background:var(--rc-primary); color:#fff !important; font-weight:800; text-decoration:none !important; box-shadow:0 10px 24px rgba(0,59,93,.16); transition:.2s ease; }
.rcdpm-home-button a:hover { transform:translateY(-2px); background:var(--rc-secondary); }
[hidden].rcdpm-detail-group { display:none !important; }

@media (max-width:680px){
  .rcdpm { padding:8px 0; }
  .rcdpm-shell { border-radius:20px; padding:24px 18px; }
  .rcdpm-grid-3 { grid-template-columns:1fr !important; }
  .rcdpm-card { min-height:auto; padding:20px !important; }
  .rcdpm-actions { flex-direction:column; }
  .rcdpm-action { width:100%; }
  .rcdpm h2 { font-size:clamp(1.7rem,8vw,2.35rem); }
}
@media (prefers-reduced-motion: reduce){ .rcdpm-step,.rcdpm-card,.rcdpm-action,.rcdpm-progress span { animation:none; transition:none; } }

.rcdpm-practical { max-width:760px; margin:0 auto 22px; }
.rcdpm-practical:empty { display:none; }
.rcdpm-practical-title { color:var(--rc-primary); font-weight:800; text-align:left; margin:0 0 10px; }
.rcdpm-related-item,
.rcdpm-faq-item { border:1px solid var(--rc-line); border-radius:14px; background:#fff; overflow:hidden; margin:10px 0; }
.rcdpm-related-item summary,
.rcdpm-faq-item summary { cursor:pointer; list-style:none; padding:15px 46px 15px 18px; color:var(--rc-primary); font-weight:750; position:relative; line-height:1.35; }
.rcdpm-related-item summary::-webkit-details-marker,
.rcdpm-faq-item summary::-webkit-details-marker { display:none; }
.rcdpm-related-item summary::after,
.rcdpm-faq-item summary::after { content:'+'; position:absolute; right:18px; top:50%; transform:translateY(-50%); color:var(--rc-secondary); font-size:1.35rem; font-weight:500; }
.rcdpm-related-item[open] summary::after,
.rcdpm-faq-item[open] summary::after { content:'–'; }
.rcdpm-related-item > div,
.rcdpm-faq-answer { padding:0 18px 17px; color:var(--rc-muted); line-height:1.68; }
.rcdpm-related-item > div p,
.rcdpm-faq-answer p { margin:.45em 0; }
.rcdpm-related-item[open] { background:var(--rc-soft); }

.rcdpm-faq-panel { margin:34px auto 8px; max-width:820px; padding:24px; background:var(--rc-soft); border:1px solid var(--rc-line); border-radius:22px; scroll-margin-top:24px; }
.rcdpm-faq-panel[hidden] { display:none !important; }
.rcdpm-faq-panel-head { display:flex; gap:20px; align-items:flex-start; justify-content:space-between; margin-bottom:12px; }
.rcdpm-faq-panel-head h3 { text-align:left; margin:0; font-size:clamp(1.25rem,2vw,1.65rem); }
.rcdpm-faq-panel-head .rcdpm-kicker { text-align:left; }
.rcdpm-faq-close { appearance:none; border:1px solid var(--rc-line) !important; background:#fff !important; color:var(--rc-primary) !important; width:40px; height:40px; border-radius:50% !important; padding:0 !important; display:grid !important; place-items:center; font-size:1.5rem !important; line-height:1 !important; cursor:pointer; box-shadow:none !important; flex:0 0 auto; }
.rcdpm-faq-group { margin:24px 0; }
.rcdpm-faq-group h4 { margin:0 0 10px; color:var(--rc-primary); font-size:1.05rem; }
.rcdpm-faq-only .rcdpm-faq-content { max-width:820px; margin:20px auto 0; }

@media (max-width:760px){
  .rcdpm-faq-panel { padding:18px 14px; border-radius:18px; }
  .rcdpm-faq-panel-head { gap:10px; }
  .rcdpm-related-item summary,
  .rcdpm-faq-item summary { padding:14px 42px 14px 15px; }
  .rcdpm-related-item > div,
  .rcdpm-faq-answer { padding:0 15px 15px; }
}

/* WordPress/theme wrapper cleanup: avoids decorative marks around shortcode */
.rcdpm-host-fix { background:transparent !important; background-image:none !important; border:0 !important; box-shadow:none !important; outline:0 !important; }
.rcdpm-host-fix::before, .rcdpm-host-fix::after { content:none !important; display:none !important; width:0 !important; height:0 !important; background:none !important; box-shadow:none !important; border:0 !important; }
.rcdpm::before, .rcdpm::after, .rcdpm-shell::before, .rcdpm-shell::after { content:none !important; display:none !important; width:0 !important; height:0 !important; background:none !important; box-shadow:none !important; border:0 !important; }
@media (max-width:680px){
  .rcdpm-grid-3 { grid-template-columns:1fr !important; }
  .rcdpm-grid-3 > * { width:100% !important; }
}


/* 1.2.3 — Alignement définitif des 3 choix sur une même ligne desktop */
.rcdpm .rcdpm-grid.rcdpm-grid-3 {
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  justify-content:stretch !important;
  gap:16px !important;
  width:100% !important;
}
.rcdpm .rcdpm-grid.rcdpm-grid-3 > .rcdpm-card,
.rcdpm .rcdpm-grid.rcdpm-grid-3 > button.rcdpm-card {
  flex:1 1 0 !important;
  width:0 !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  margin:0 !important;
  align-self:stretch !important;
}

/* Sur mobile : les choix passent proprement les uns sous les autres */
@media (max-width:760px){
  .rcdpm .rcdpm-grid.rcdpm-grid-3 {
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    gap:12px !important;
  }
  .rcdpm .rcdpm-grid.rcdpm-grid-3 > .rcdpm-card,
  .rcdpm .rcdpm-grid.rcdpm-grid-3 > button.rcdpm-card {
    flex:0 0 auto !important;
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
  }
}
