
html,body{
  overflow-x:hidden;
  background:#f0f4f8;
}

#rdv-widget *,
#rdv-widget *::before,
#rdv-widget *::after{
  box-sizing:border-box;
  margin:0;
  padding:0;
}

#rdv-widget{
  font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:#f0f4f8;

  width:100%;
  max-width:640px;

  margin:0 auto;

  padding:12px;

  box-sizing:border-box;
  overflow: hidden;
  isolation: isolate;
}


#rdv-widget .w-card{
  background:#fff;
  border-radius:18px;
  overflow:hidden;

  box-shadow:
    0 4px 24px rgba(13,27,42,.10),
    0 1px 3px rgba(13,27,42,.06);

  width:100%;
  max-width:100%;
}


#rdv-widget .w-header{
  background:#0d1b2a;
  padding:clamp(18px,4vw,28px);
  position:relative;
  overflow:visible;
}

#rdv-widget .w-header::before{
  content:'';
  position:absolute;
  top:-30px;
  right:-30px;
  width:min(140px,35vw);
  height:min(140px,35vw);
  border-radius:50%;
  background:rgba(26,172,156,.12);
}

#rdv-widget .w-tag{
  display:inline-block;
  font-size:10px;
  font-weight:700;
  letter-spacing:1.8px;
  text-transform:uppercase;
  color:#1abc9c;
  background:rgba(26,172,156,.15);
  border:1px solid rgba(26,172,156,.3);
  border-radius:100px;
  padding:4px 10px;
  margin-bottom:12px;
  position:relative;
  z-index:1;
}

#rdv-widget .w-title{
  font-size:clamp(20px,4vw,28px);
  font-weight:800;
  color:#fff;
  line-height:1.2;
  position:relative;
  z-index:1;
  font-family:Georgia,'Times New Roman',serif;
  max-width:95%;
}

#rdv-widget .w-subtitle{
  font-size:clamp(12px,2vw,14px);
  color:rgba(255,255,255,.6);
  margin-top:8px;
  line-height:1.5;
  font-weight:300;
  position:relative;
  z-index:1;
  max-width:95%;
}

#rdv-widget .w-body{
  padding:clamp(16px,4vw,28px);
  width:100%;
  overflow:visible;
  position: relative;
  z-index: 1;
}

#rdv-widget .w-selects{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-bottom:20px;
}

#rdv-widget .w-label{
  display:block;
  font-size:10px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  color:#6b7a99;
  margin-bottom:7px;
}

#rdv-widget .w-sel-wrap{
  position:relative;
}

#rdv-widget .w-sel-wrap::after{
  content:'▾';
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  color:#6b7a99;
  pointer-events:none;
  font-size:13px;
}

#rdv-widget select{
  width:100%;
  appearance:none;
  -webkit-appearance:none;
  border:none;
  background:#f0f4f8;
  border:1.5px solid #dde3ef;
  border-radius:10px;
  padding:12px 38px 12px 14px;
  font-size:16px;
  color:#1a1a2e;
  cursor:pointer;
  outline:none;
  transition:.2s;
  font-family:inherit;
  min-height:48px;
}

#rdv-widget select:focus{
  border-color:#1a5276;
  background:#fff;
}

#rdv-widget .w-result{
  border-radius:14px;
  padding:18px;
  min-height:90px;
  display:flex;
  align-items:center;
  transition:.25s ease;
  width:100%;
}

#rdv-widget .w-result.empty{
  background:#f0f4f8;
  border:2px dashed #dde3ef;
  justify-content:center;
}

#rdv-widget .w-result .placeholder{
  text-align:center;
  color:#6b7a99;
  font-size:14px;
  line-height:1.5;
  padding:4px;
}

#rdv-widget .w-result.ok{
  background:#eaf6f3;
  border:2px solid #a3d9cc;
}

#rdv-widget .w-result.warn{
  background:#fef9e7;
  border:2px solid #f9d97a;
}

#rdv-widget .w-result.bad{
  background:#fdf0ef;
  border:2px solid #f1b0ab;
}

#rdv-widget .w-result.na{
  background:#f0f4f8;
  border:2px solid #dde3ef;
}

#rdv-widget .w-rcontent{
  display:flex;
  align-items:flex-start;
  gap:14px;
  width:100%;
}

#rdv-widget .w-icon{
  font-size:24px;
  flex-shrink:0;
  line-height:1;
  margin-top:2px;
}

#rdv-widget .w-sentence{
  font-size:clamp(14px,2.6vw,17px);
  font-weight:700;
  color:#1a1a2e;
  line-height:1.55;
  font-family:Georgia,'Times New Roman',serif;
  overflow-wrap:anywhere;
}

#rdv-widget .w-sentence .hl{
  color:#1a5276;
}

#rdv-widget .w-sentence .pill{
  display:inline-block;
  background:#0d1b2a;
  color:#fff;
  padding:3px 8px;
  border-radius:6px;
  font-size:.92em;
  line-height:1.3;
  vertical-align:middle;
}

#rdv-widget .w-result.warn .pill{
  background:#c87f00;
}

#rdv-widget .w-result.bad .pill{
  background:#c0392b;
}

#rdv-widget .w-note{
  font-size:12px;
  color:#6b7a99;
  margin-top:7px;
  line-height:1.45;
}

#rdv-widget .w-footer{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 16px;
}

#rdv-widget .w-source{
  font-size:11px;
  color:#6b7a99;
  line-height:1.5;
}

#rdv-widget .w-source strong{
  color:#1a1a2e;
  font-weight:600;
}

#rdv-widget .w-year{
  font-size:11px;
  font-weight:700;
  color:#1abc9c;
  letter-spacing:1px;
}

#rdv-widget .w-logo{
  height:22px;
  width:auto;
  display:block;
  object-fit:contain;
}


#rdv-widget .w-legend{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px 16px;
  padding:4px 16px 8px;
  position:relative;
}

#rdv-widget .w-legend-item{
  display:flex;
  align-items:center;
  gap:5px;
  font-size:12px;
  color:#666C7A;
}

#rdv-widget .dot{
  width:14px;   /* ↑ plus grand */
  height:14px;  /* ↑ plus grand */
  border-radius:50%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  flex-shrink:0;
}

#rdv-widget .dot.ok {
  background: #16c60c; /* vert */
}

#rdv-widget .dot.warn {
  background: #fff100; /* jaune */
}

#rdv-widget .dot.bad {
  background: #e81224 /* rouge */
}

#rdv-widget .dot.na {
  background: #94A3B8; /* gris neutre */
}

#rdv-widget .w-legend-context{
  font-size:12px;
  color:#6b7a99;
  text-align:center;
  margin:2px 0 4px;
  line-height:1.3;
}

/* TABLET */

@media (max-width:660px){

  #rdv-widget .w-selects{
    grid-template-columns:1fr;
  }

  #rdv-widget .w-rcontent{
    gap:12px;
  }

  #rdv-widget .w-result{
    padding:16px;
  }
}

/* MOBILE */

@media (max-width:480px){

  #rdv-widget{
    padding:10px;
  }

  #rdv-widget .w-header,
  #rdv-widget .w-body{
    padding:16px;
  }

#rdv-widget .w-footer{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:10px;

  padding:12px 16px;
}

  #rdv-widget .w-title{
    max-width:100%;
  }

  #rdv-widget .w-subtitle{
    max-width:100%;
  }

  #rdv-widget .w-rcontent{
    flex-direction:column;
  }

  #rdv-widget .w-icon{
    font-size:22px;
  }

  #rdv-widget .w-result{
    min-height:auto;
  }

  #rdv-widget .w-source{
    font-size:10px;
    line-height:1.4;
    flex:1;
    min-width:0;
  }

  #rdv-widget .w-logo{
    height:18px;
    flex-shrink:0;
  }

  #rdv-widget .w-legend{
    gap: 6px 12px; /* ↓ vertical + horizontal plus serrés */
    padding: 4px 16px 8px;
  }

}

/* VERY SMALL DEVICES */

@media (max-width:360px){

  #rdv-widget .w-title{
    font-size:18px;
  }

  #rdv-widget .w-sentence{
    font-size:13px;
  }

  #rdv-widget select{
    font-size:13px;
    padding-left:12px;
  }
}


#rdv-widget .dd{
  position:relative;
  z-index: 1000;
}

#rdv-widget .dd.open{
  z-index: 9999;
}



#rdv-widget .dd-btn{
  width:100%;
  border:none;
  background:#f0f4f8;
  border:1.5px solid #dde3ef;
  border-radius:10px;
  padding:12px 38px 12px 14px;
  font-size:17px;
  color:#1a1a2e;
  cursor:pointer;
  outline:none;
  transition:.2s;
  font-family:inherit;
  min-height:48px;
  text-align:left;
  position:relative;
}

#rdv-widget .dd-btn::after{
  content:'▾';
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  color:#6b7a99;
  font-size:13px;
  pointer-events:none;
}

#rdv-widget .dd.open .dd-btn,
#rdv-widget .dd-btn:focus{
  border-color:#1a5276;
  background:#fff;
}

#rdv-widget .dd-menu{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  width:100%;
  background:#fff;
  border:1.5px solid #dde3ef;
  border-radius:10px;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  overflow:auto;
  max-height:160px;
  z-index:9999;
  display:none;
  padding:6px 0;
}

#rdv-widget .dd.open .dd-menu{
  display:block;
}

#rdv-widget .dd-menu [role="option"]{
  padding:3px 14px;
  font-size:17px;
  color:#1a1a2e;
  cursor:pointer;
  transition:background .15s ease;
}

#rdv-widget .dd-menu [role="option"]:hover{
  background:#f0f4f8;
}

#rdv-widget .dd-menu [role="option"][aria-selected="true"]{
  background:#e6f0ff;
}