/* Sigify — Image Resizer — per-tool styles (CSS vars come from assets/css/global.css) */
.settings-block {
  margin-top: 22px; padding: 22px;
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); box-shadow: var(--shadow);
}
.settings-block h3 { font-size: 1.05rem; color: var(--primary); display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
.settings-block h3::before { content: ''; display: inline-block; width: 4px; height: 18px; background: var(--primary); border-radius: 3px; }
.setting-row { display: flex; flex-wrap: wrap; gap: 10px 18px; padding: 14px 0; border-top: 1px dashed var(--border); align-items: center; }
.setting-row:first-of-type { border-top: none; }
.setting-label { font-weight: 700; color: var(--text-dark); min-width: 130px; font-size: 0.92rem; }
.setting-controls { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; flex: 1; }
.dimension-controls { align-items: flex-end; }
.dim-wrap { display: inline-flex; flex-direction: column; gap: 4px; font-size: 0.82rem; color: var(--text-mid); font-weight: 600; }
.dim-wrap input[type="number"] {
  background: #fff; border: 1px solid var(--border); border-radius: 6px;
  padding: 9px 12px; font-size: 1rem; color: var(--text-dark); font-weight: 700; width: 110px;
}
.dim-wrap input[type="number"]:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(55,122,209,0.15); }
.dim-x { font-size: 1.4rem; font-weight: 800; color: var(--primary); align-self: flex-end; padding: 0 4px 8px; }
.lock-wrap { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: rgba(55,122,209,0.05); color: var(--text-mid); font-weight: 600; cursor: pointer; }
.lock-wrap input { accent-color: var(--primary); }
.scale-controls .chip-btn-group { display: flex; flex-wrap: wrap; gap: 6px; }
.chip-btn {
  background: rgba(55,122,209,0.06); border: 1px solid var(--border);
  color: var(--text-mid); font-weight: 600; font-size: 0.85rem;
  padding: 6px 12px; border-radius: 50px; cursor: pointer; transition: var(--transition);
}
.chip-btn:hover { color: var(--primary); border-color: var(--primary-light); background: rgba(55,122,209,0.10); }
.chip-btn.active { background: var(--primary); color: #fff; border-color: var(--primary); box-shadow: 0 2px 8px rgba(55,122,209,0.25); }
.select-wrap { display: inline-flex; flex-direction: column; gap: 4px; font-size: 0.82rem; color: var(--text-mid); font-weight: 600; }
.select-wrap select, .select-wrap input { background: #fff; border: 1px solid var(--border); border-radius: 6px; padding: 8px 10px; font-size: 0.95rem; color: var(--text-dark); font-weight: 600; min-width: 130px; }
.select-wrap select:focus, .select-wrap input:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(55,122,209,0.15); }
.quality-section.slider-in-row {
  display: inline-flex; align-items: center; gap: 8px; font-size: 0.85rem; color: var(--text-mid); font-weight: 700;
}
.quality-val { display: inline-block; min-width: 40px; text-align: right; color: var(--text-dark); font-weight: 800; }
.quality-slider {
  -webkit-appearance: none; appearance: none; width: 180px; height: 6px;
  background: linear-gradient(90deg, #377ad1, #6ea8e7); border-radius: 6px;
}
.quality-slider::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none; width: 18px; height: 18px; border-radius: 50%;
  background: #fff; border: 3px solid #377ad1; cursor: pointer; box-shadow: 0 0 0 2px rgba(55,122,209,0.25);
}
.quality-slider::-moz-range-thumb {
  width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 3px solid #377ad1; cursor: pointer;
}
.fmt-row { display: flex; flex-wrap: wrap; gap: 8px 12px; }
.radio-wrap {
  display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px;
  border: 1px solid var(--border); border-radius: 8px; cursor: pointer; background: rgba(55,122,209,0.04); font-weight: 600; color: var(--text-mid);
}
.radio-wrap:has(input:checked) { background: var(--primary); color: #fff; border-color: var(--primary); }
.radio-wrap input { accent-color: var(--primary); }
.radio-wrap:has(input:checked) input { accent-color: #fff; }
.preset-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px; width: 100%; }
.preset-btn {
  background: #fff; border: 1px solid var(--border); padding: 10px 12px;
  border-radius: 8px; font-size: 0.85rem; color: var(--text-dark); font-weight: 600;
  cursor: pointer; transition: var(--transition); text-align: center;
}
.preset-btn:hover { border-color: var(--primary); color: var(--primary); background: rgba(55,122,209,0.06); }
.preset-btn.active { background: var(--primary); color: #fff; border-color: var(--primary); }
.results-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
.result-card {
  background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius);
  padding: 12px; box-shadow: var(--shadow); position: relative; display: flex; flex-direction: column; gap: 8px;
}
.result-card.failed { border-color: #d04b4b; }
.preview-img-wrap {
  width: 100%; aspect-ratio: 4/3; background: rgba(55,122,209,0.05); border-radius: 8px;
  display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.preview-img-wrap img { max-width: 100%; max-height: 100%; object-fit: contain; }
.dim-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; font-size: 0.82rem; color: var(--text-mid); font-weight: 600; }
.dim-stats b { color: var(--text-dark); font-weight: 800; }
.size-line { display: flex; flex-wrap: wrap; gap: 6px; font-size: 0.78rem; color: var(--text-mid); }
.size-line b { color: var(--primary); font-weight: 800; }
.size-line .badge { background: rgba(46,160,80,0.1); color: #2ea050; padding: 1px 8px; border-radius: 999px; font-weight: 700; }
.result-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.result-actions .btn { padding: 6px 10px; font-size: 0.82rem; }
.muted { color: var(--text-light); font-weight: 600; font-size: 0.85rem; margin-left: 6px; }
.bar-wrap { width: 100%; height: 6px; background: rgba(55,122,209,0.10); border-radius: 999px; overflow: hidden; }
.bar-fill { height: 100%; width: 0%; background: linear-gradient(90deg, #377ad1, #6ea8e7); transition: width 0.25s ease; }
.active-tool { color: var(--primary) !important; font-weight: 700; }
@media (max-width: 640px) {
  .setting-label { min-width: 100px; }
  .dim-wrap input[type="number"] { width: 92px; }
  .preset-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
  .results-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
}
