/* PDFlyHQ — tools/add-page-numbers/options.css
   File card + position picker + format/start/size controls + CSS-only live
   preview. Matches _Options.cshtml. JS contract: #file-name, #file-size,
   #btn-remove-file, #position-picker .position-btn[data-position],
   #opt-format, #opt-start, #opt-font-size, #pagenum-preview-text,
   #btn-add-numbers, #btn-back.

   Adapted from tools/add-watermark/options.css: same file-card / options-group
   / select / two-column layout / ruled-page preview box shapes, but the
   watermark's color+opacity+rotation controls are replaced with a 6-position
   picker (buttons placed at the six anchor points of a mini page) plus a
   start-number input and font-size slider. Like the watermark preview, this
   is a plain CSS box — not a pdf.js render — since exact placement over real
   content doesn't need to be pixel-accurate to be useful. */

.options-wrap { display: flex; flex-direction: column; gap: var(--space-6); }

/* ── File card (shared shape across every tool's Options step) ── */
.file-card {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  background: color-mix(in srgb, var(--color-primary-500) 6%, var(--color-surface-alt));
  border: 1px solid color-mix(in srgb, var(--color-primary-500) 18%, var(--color-border));
  border-radius: var(--radius-md);
  font-size: var(--text-sm);
}
.file-card__icon { flex: none; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background: var(--color-surface); border-radius: var(--radius-sm); color: var(--color-primary-600); }
.file-card__icon svg { width: 20px; height: 20px; }
.file-card__meta { display: flex; flex-direction: column; min-width: 0; margin-right: auto; }
.file-card__meta #file-name { font-weight: var(--font-semibold); color: var(--color-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.file-card__meta #file-size { font-size: var(--text-xs); color: var(--color-text-muted); }

#btn-remove-file {
  flex: none;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-sm);
  color: var(--color-text-muted);
  transition: color var(--duration-base) var(--ease-default), background-color var(--duration-base) var(--ease-default);
}
#btn-remove-file:hover { color: var(--color-danger-500); background: var(--color-danger-50); }
#btn-remove-file:focus-visible { outline: none; box-shadow: var(--shadow-focus); }
#btn-remove-file svg { width: 14px; height: 14px; }

.options-group { display: flex; flex-direction: column; gap: var(--space-3); }
.options-group__label { font-size: var(--text-xs); font-weight: var(--font-semibold); text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-text-muted); }

.select {
  height: 40px;
  width: 100%;
  padding: 0 var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-text);
  font-size: var(--text-sm);
  transition: border-color var(--duration-base) var(--ease-default),
              box-shadow var(--duration-base) var(--ease-default);
}
.select:focus { outline: none; border-color: var(--color-primary-500); box-shadow: var(--shadow-focus); }

/* ── Layout: controls | live preview, side by side from tablet up ── */
.pagenum-layout { display: flex; flex-direction: column; gap: var(--space-6); }
.pagenum-layout__controls { display: flex; flex-direction: column; gap: var(--space-6); }
@media (min-width: 768px) {
  .pagenum-layout { display: grid; grid-template-columns: 1fr 1fr; align-items: start; }
  .pagenum-layout__preview { position: sticky; top: var(--space-4); }
}

/* ── Position picker: 6 buttons at the anchor points of a mini page ── */
.position-picker {
  position: relative;
  height: 120px;
  background:
    repeating-linear-gradient(var(--color-surface-alt) 0 14px, color-mix(in srgb, var(--color-border) 40%, transparent) 14px 15px);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
}

.position-btn {
  position: absolute;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--color-surface);
  border: 2px solid var(--color-border);
  transition: border-color var(--duration-base) var(--ease-default),
              background-color var(--duration-base) var(--ease-default),
              transform var(--duration-base) var(--ease-bounce);
}
.position-btn:hover { border-color: var(--color-primary-400); transform: scale(1.08); }
.position-btn:focus-visible { outline: none; box-shadow: var(--shadow-focus); }
.position-btn.active { background: var(--color-primary-500); border-color: var(--color-primary-500); }

.position-btn[data-position="top-left"]     { top: 12px; left: 12px; }
.position-btn[data-position="top-center"]   { top: 12px; left: 50%; transform: translateX(-50%); }
.position-btn[data-position="top-right"]    { top: 12px; right: 12px; }
.position-btn[data-position="bottom-left"]  { bottom: 12px; left: 12px; }
.position-btn[data-position="bottom-center"]{ bottom: 12px; left: 50%; transform: translateX(-50%); }
.position-btn[data-position="bottom-right"] { bottom: 12px; right: 12px; }
.position-btn[data-position="top-center"]:hover,
.position-btn[data-position="bottom-center"]:hover { transform: translateX(-50%) scale(1.08); }

/* ── Numbering controls (start number, font size) ── */
.pagenum-controls { display: flex; flex-direction: column; gap: var(--space-4); }
.pagenum-control { display: flex; flex-direction: column; gap: var(--space-2); }
.pagenum-control__label {
  font-size: var(--text-sm);
  font-weight: var(--font-medium);
  color: var(--color-text-secondary);
  font-variant-numeric: tabular-nums;
}
.pagenum-control__label output { color: var(--color-text); font-weight: var(--font-semibold); }
.pagenum-control input[type="range"] { width: 100%; accent-color: var(--color-primary-500); }
.pagenum-control input[type="number"] { width: 100%; }

/* ── Live preview ── */
.pagenum-preview {
  position: relative;
  aspect-ratio: 0.77; /* approximates an A4/Letter page */
  overflow: hidden;
  background:
    repeating-linear-gradient(var(--color-surface-alt) 0 24px, color-mix(in srgb, var(--color-border) 40%, transparent) 24px 25px);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}
.pagenum-preview__text {
  position: absolute;
  display: inline-block;
  max-width: 80%;
  font-weight: var(--font-semibold);
  color: var(--color-text);
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  user-select: none;
}

.options-note {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  background: var(--color-surface-alt);
  border-radius: var(--radius-md);
  padding: var(--space-3);
}
.options-note svg { flex: none; width: 14px; height: 14px; margin-top: 1px; color: var(--color-text-muted); }

.options-actions { display: flex; gap: var(--space-3); padding-top: var(--space-4); border-top: 1px solid var(--color-border); }
.options-actions .btn--primary { flex: 1; }
