/* ═══════════════════════════════════════════════════════════════════════
   device-suggest.css — boks „Nie ma aparatu, którego szukasz?”
   (includes/device-suggest-box.php: katalog, strona aparatu, porównywarka)
   ═══════════════════════════════════════════════════════════════════════ */

.ds-box {
  margin: 32px 0 8px;
  padding: 20px 22px;
  background: var(--color-primary-xlight, #eff6ff);
  border: 1.5px dashed #bfdbfe;
  border-radius: 14px;
  scroll-margin-top: 110px;
}
.ds-box__head { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.ds-box__icon {
  width: 44px; height: 44px; flex-shrink: 0; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  background: #fff; color: var(--color-primary, #1d4ed8); font-size: 22px;
  border: 1px solid #bfdbfe;
}
.ds-box__intro { flex: 1 1 280px; min-width: 0; }
.ds-box__title { margin: 0 0 2px; font-size: 17px; font-weight: 700; color: var(--color-ink, #0f172a); }
.ds-box__sub   { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--color-ink-soft, #64748b); }
.ds-box__toggle { flex-shrink: 0; background: #fff; }

.ds-form { margin-top: 18px; padding-top: 16px; border-top: 1px solid #dbeafe; }
.ds-form__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px 14px; }
.ds-field { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.ds-field--wide { grid-column: 1 / -1; }
.ds-field__label { font-size: 13px; font-weight: 600; color: var(--color-ink-mid, #334155); }
.ds-field__opt { font-weight: 400; color: var(--color-ink-muted, #94a3b8); }
.ds-field__input {
  width: 100%; box-sizing: border-box; padding: 9px 11px; font: inherit; font-size: 14px;
  color: var(--color-ink, #0f172a); background: #fff;
  border: 1.5px solid var(--color-border, #e2e8f0); border-radius: 9px;
}
.ds-field__input:focus { outline: none; border-color: var(--color-primary, #1d4ed8); box-shadow: 0 0 0 3px rgba(29, 78, 216, .12); }
textarea.ds-field__input { resize: vertical; min-height: 54px; }
.ds-check { display: flex; gap: 9px; align-items: flex-start; font-size: 13.5px; line-height: 1.45; color: var(--color-ink-mid, #334155); cursor: pointer; }
.ds-check input { margin-top: 3px; accent-color: var(--color-primary, #1d4ed8); }
.ds-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.ds-form__legal { margin: 12px 0 0; font-size: 12px; line-height: 1.5; color: var(--color-ink-soft, #64748b); }
.ds-form__actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.ds-form__msg { margin-top: 12px; padding: 11px 14px; border-radius: 9px; font-size: 14px; line-height: 1.5; }
.ds-form__msg--ok   { background: #dcfce7; color: #166534; }
.ds-form__msg--err  { background: #fee2e2; color: #991b1b; }
.ds-form__msg--info { background: #fff; color: var(--color-ink, #0f172a); border: 1px solid #bfdbfe; }
.ds-form__msg a { font-weight: 700; }

/* Link „Zgłoś brakujący aparat” w pustym wyniku katalogu */
.ds-empty-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; font-size: 14px; font-weight: 600; }

@media (max-width: 600px) {
  .ds-box { padding: 16px; }
  .ds-box__toggle { width: 100%; justify-content: center; }
}
