.overlay-backdrop {
    position: fixed !important;
    inset: 0 !important;
    background: #404040 !important;
    background-size: 12px 12px !important;
    z-index: 2147483646 !important;
    display: none !important;
    opacity: 0 !important;
    pointer-events: auto !important;
    will-change: opacity;
    transition: opacity .22s ease !important;
}
.overlay-backdrop.show {
    display: block !important;
    opacity: 1 !important;
}

#overlayContainer.container{
  position: fixed; top: 50%; left: 50%;
  transform: translate(-50%, -50%) scale(.985);
  background: #fff; border-radius: 24px; border: 1px solid #dfe4ea;
  box-shadow: 10px 22px 44px rgba(0,0,0,.20), 0 3px 12px rgba(0,0,0,.08);
  padding: 26px 32px 22px 32px;
  width: 86%; max-width: 980px; max-height: 82vh; overflow: auto; box-sizing: border-box;
  z-index: 2147483647 !important;
  display: none; opacity: 0; transition: transform .22s, opacity .22s;
}
#overlayContainer.container.show{
  transform: translate(-50%, -50%) scale(1);
  opacity: 1; display: block;
}

#overlayContainer.container::-webkit-scrollbar{ width:10px }
#overlayContainer.container::-webkit-scrollbar-track{ background:#fff; border-radius:24px }
#overlayContainer.container::-webkit-scrollbar-thumb{ background:#e6eaf1; border-radius:24px; border:2px solid #fff }
#overlayContainer.container::-webkit-scrollbar-thumb:hover{ background:#d9dee7 }

#overlayContainer p, #overlayContainer .text-justify{
  margin:0 0 14px 0; text-align:left !important; color:#2b3440; line-height:1.66; font-size:15px;
}
#overlayContainer ul, #overlayContainer ol{ margin:0 0 14px 26px; padding:0 }
#overlayContainer li{ margin:6px 0; line-height:1.64 }
#overlayContainer ul li::marker{ color:#1f58b8; font-weight:700 }
#overlayContainer ol li::marker{ color:#1f58b8; font-weight:700 }

#overlayContainer .section-header{
  position:relative; display:flex; align-items:center; margin:6px 0 12px; padding:0 0 10px;
  border-bottom:1px solid #e7ebf3;
}
#overlayContainer .section-header img{ width:26px; height:26px; margin-right:10px }
#overlayContainer .section-header h2{ margin:0; font-size:18px; font-weight:700; color:#1f2d3d; letter-spacing:.2px }
#overlayContainer .section-header:first-of-type{ border-bottom:none }
#overlayContainer .section-header:first-of-type::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:#2f6fe0; border-radius:2px;
}

#overlayContainer .alert{
  background:#fff8e6; border:1px solid #ffe29b; color:#7a5a00;
  padding:14px 16px; border-radius:12px; display:flex; align-items:flex-start;
  box-shadow:0 2px 8px rgba(255,193,7,.15); margin-top:16px;
}
#overlayContainer .alert img{ width:22px; height:22px; margin-right:10px; margin-top:2px }
#overlayContainer .alert .text-justify{ margin:0; font-weight:600 }

#overlayContainer .understand-btn{
  background:#1976d2; color:#fff; border:0; border-radius:10px; padding:12px 26px;
  font-size:15px; font-weight:700; letter-spacing:.2px;
  box-shadow:0 4px 14px rgba(25,118,210,.35); cursor:pointer;
  transition:transform .15s, box-shadow .15s, background-color .15s;
}
#overlayContainer .understand-btn:hover{ background:#155fb0; transform:translateY(-1px) }
#overlayContainer .understand-btn:active{ transform:translateY(0) }

@media (max-width:768px){
  #overlayContainer.container{ width:92%; max-height:86vh; padding:22px 20px; border-radius:20px }
  #overlayContainer .section-header h2{ font-size:17px }
  #overlayContainer .understand-btn{ padding:11px 22px; font-size:14px }
}
@media (max-width:480px){
  #overlayContainer.container{ width:94%; max-height:88vh; padding:18px; border-radius:16px }
  #overlayContainer .section-header img{ width:22px; height:22px }
  #overlayContainer .section-header h2{ font-size:16px }
}