/* ── Selected row highlight ─────────────────────────── */
.option-row.selected-row {
  border-left: 3px solid #1B4332;
  background-color: #f0fdf4;
  margin-left: -1.25rem;
  padding-left: calc(1.25rem - 3px);
}

.option-row {
  transition: background-color 0.12s ease, border-color 0.12s ease;
}

/* ── Receipt line items fade in ─────────────────────── */
.receipt-line {
  animation: fadeSlideIn 0.18s ease-out;
}

@keyframes fadeSlideIn {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Grand total smooth update ──────────────────────── */
#grand-total { transition: all 0.2s ease; }

/* ── Custom accent color ────────────────────────────── */
input[type="checkbox"],
input[type="radio"] {
  accent-color: #1B4332;
  cursor: pointer;
}

/* ── Qty input — remove browser spinners ────────────── */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type="number"] { -moz-appearance: textfield; }

/* ── Sticky receipt panel on large screens ──────────── */
@media (min-width: 1024px) {
  #receipt-panel {
    max-height: calc(100vh - 7rem);
    overflow-y: auto;
  }
}

/* ── PDF canvas — smooth rendering ─────────────────── */
#pdf-canvas {
  display: block;
  max-width: 100%;
  height: auto;
  transition: opacity 0.2s ease;
}

/* ── Disable-state for exclusive-with items ─────────── */
.option-row.pointer-events-none {
  pointer-events: none;
}

/* ── Print ──────────────────────────────────────────── */
@media print {
  header, #brochure, #download-btn { display: none; }
  #receipt-panel { position: static; width: 100%; }
}
