#dps-root.dps-hidden { display: none; }

.dps-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999999;
  padding: 16px;
}

.dps-modal {
  width: min(920px, 100%);
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
  padding: 22px 18px 18px;
  position: relative;
}

.dps-close {
  position: absolute;
  right: 10px;
  top: 10px;
  border: 0;
  background: transparent;
  font-size: 22px;
  cursor: pointer;
  opacity: .7;
}
.dps-close:hover { opacity: 1; }

.dps-title {
  font-size: 22px;
  font-weight: 700;
  margin: 0 38px 18px 0;
  line-height: 1.25;
}

.dps-labels {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  opacity: .75;
  margin-bottom: 10px;
}

.dps-scale {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(42px, 1fr);
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 6px;
}

.dps-btn {
  height: 44px;
  border-radius: 4px;
  border: 0;
  background: #2f353b;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
  transition: transform .06s ease;
}
.dps-btn:active { transform: scale(0.98); }

.dps-toast {
  margin-top: 14px;
  font-size: 14px;
  opacity: .9;
}

/* Mobilon: gombsor “lapozható” */
@media (max-width: 640px) {
  .dps-title { font-size: 18px; }
  .dps-btn { height: 42px; }
}

.dps-qblock { margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid rgba(0,0,0,.08); }
.dps-qblock:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }

@media (max-width: 520px) {
  /* a modal ne legyen túl széles */
  .dps-modal {
    padding: 18px 14px 14px;
  }

  /* a skála mobilon legyen tördelhető */
  .dps-scale {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    overflow: visible;
    padding-bottom: 0;
  }

  /* gomb méretezés: 6 db / sor körül jól néz ki */
  .dps-btn {
    flex: 0 0 calc((100% - (5 * 8px)) / 6);
    min-width: 44px;
    height: 42px;
    border-radius: 6px;
  }
}

@media (max-width: 520px) {
  /* a címkék legyenek a skála fölött, két hasábban */
@media (max-width: 520px) {
  .dps-labels {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    align-items: start;
    margin: 10px 0 12px;
    font-size: 12px;
    line-height: 1.25;
    opacity: .85;
  }

  .dps-labels span:first-child { text-align: left; }
  .dps-labels span:last-child  { text-align: right; }

  .dps-labels span {
    word-break: break-word;
    hyphens: auto;
  }
}

@media (max-width: 640px) {

  .dps-slider-wrap {
    margin: 10px 0 6px;
  }

  .dps-slider {
    width: 100%;
    appearance: none;
    height: 6px;
    border-radius: 3px;
    background: linear-gradient(to right, #2f353b, #2f353b);
    outline: none;
  }

  .dps-slider::-webkit-slider-thumb {
    appearance: none;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #2f353b;
    cursor: pointer;
  }

  .dps-slider-values {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    opacity: .7;
    margin-top: 6px;
  }

  .dps-slider-submit {
    margin-top: 10px;
    width: 100%;
    height: 44px;
    border-radius: 6px;
    border: 0;
    background: #2f353b;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
  }
}


/* LABELS: bal/jobb magyarázó szöveg mindig látszódjon */
.dps-labels{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin: 6px 0 10px;
  font-size: 13px;
  line-height: 1.2;
  color:#2f353b;
  opacity: .85;
}

.dps-labels span:first-child{ text-align:left; }
.dps-labels span:last-child{ text-align:right; }

/* ha hosszú a szöveg, tördeljen szépen */
.dps-labels span{
  flex:1;
  word-break: break-word;
  hyphens: auto;
}

/* Mobil: label legyen két soros (ne tűnjön el), slider fölé pozicionálva */
@media (max-width: 640px){
  .dps-labels{
    display:grid;
    grid-template-columns: 1fr 1fr;
    align-items:start;
    gap:10px;
    margin: 8px 0 10px;
    font-size:12px;
    opacity:.9;
  }
  .dps-labels span:last-child{ text-align:right; }
}

/* Mobil nagyon szűk: legyen egymás alatt */
@media (max-width: 420px){
  .dps-labels{
    grid-template-columns: 1fr;
    gap:6px;
  }
  .dps-labels span:last-child{ text-align:left; }
}
/* Close gomb – ne örököljön a theme button stílusából */
#dps-root .dps-close{
  position:absolute;
  right:10px;
  top:10px;
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;

  border:0 !important;
  background:#e91e63 !important; /* vagy a te pinked */
  color:#fff !important;

  font-size:26px !important;
  line-height:1 !important;
  font-weight:700 !important;

  opacity:1 !important;
  visibility:visible !important;

  cursor:pointer;
  border-radius:6px;
  padding:0 !important;
  box-shadow:none !important;
  text-transform:none !important;
}

#dps-root .dps-close:hover,
#dps-root .dps-close:focus{
  opacity:1 !important;
  filter:brightness(0.95);
  outline:none;
}

#dps-root .dps-close:focus-visible{
  outline:2px solid rgba(233,30,99,.35);
  outline-offset:2px;
}
