/* ── Modals (#103 Routekaart-refresh) ─────────────────────────────────
   Gedeelde stijlen voor de feedback-modal (#fb-*) en de settings-stub
   (#st-*). Paper-card op ink-overlay, Luckiest Guy kop, chunky buttons
   + inputs matchend met de rest van de app. */

.modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(32, 35, 46, 0.55);  /* ink-tint, minder duister dan de oude rgba(0,0,0,0.6) */
  z-index: 9000;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.modal-overlay.open { display: flex; }

.modal-card {
  background: var(--color-paper);
  border: var(--border-hero);
  border-radius: var(--radius-14);
  box-shadow: var(--shadow-lg);
  padding: 24px 22px 20px;
  width: min(460px, 100%);
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
  color: var(--color-ink);
  animation: modal-pop 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@keyframes modal-pop {
  0%   { transform: scale(0.92); opacity: 0; }
  60%  { transform: scale(1.02); opacity: 1; }
  100% { transform: scale(1);    opacity: 1; }
}

.modal-card h3 {
  font-family: var(--font-display);
  font-size: var(--fs-22);
  letter-spacing: var(--letter-display);
  color: var(--color-ink);
  line-height: 1.1;
  font-weight: 400;
  text-align: center;
}
.modal-card > p {
  font-family: var(--font-body);
  font-size: var(--fs-14);
  color: var(--color-ink-soft);
  line-height: 1.5;
  text-align: center;
}

/* ── Feedback-form layout (type-row → textarea → naam → btn-row) ── */
#fb-form { display: flex; flex-direction: column; gap: 10px; }

/* ── Inputs (feedback textarea + name) ── */
#fb-desc, #fb-name {
  width: 100%;
  padding: 10px 12px;
  background: var(--color-paper);
  border: var(--border-thin);
  border-radius: var(--radius-8);
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: var(--fs-14);
  font-weight: 500;
  transition: border-color 0.12s, box-shadow 0.12s;
}
#fb-desc { resize: vertical; min-height: 96px; line-height: 1.4; }
#fb-desc:focus, #fb-name:focus {
  outline: none;
  border-color: var(--color-ink);
  box-shadow: 0 2px 0 var(--color-ink);
}
#fb-name::placeholder, #fb-desc::placeholder { color: var(--color-ink-muted); }

/* ── Type-row (bug / suggestie toggle) ── */
.fb-type-row { display: flex; gap: 8px; }
.fb-type-btn {
  flex: 1;
  padding: 10px 12px;
  background: var(--color-paper);
  border: var(--border-thin);
  color: var(--color-ink);
  border-radius: var(--radius-8);
  font-family: var(--font-body);
  font-size: var(--fs-12);
  font-weight: 700;
  cursor: pointer;
  transition: background 0.12s, border-color 0.12s, box-shadow 0.12s;
}
@media (hover: hover) { .fb-type-btn:hover { background: var(--color-bg); } }
.fb-type-btn.selected {
  background: var(--color-yellow);
  border-color: var(--color-ink);
  box-shadow: var(--shadow-sm);
}

/* ── Button-row + primary/secondary ── */
.fb-btn-row { display: flex; gap: 8px; justify-content: flex-end; margin-top: 4px; }

#fb-cancel, .modal-btn-secondary {
  padding: 10px 18px;
  background: var(--color-paper);
  border: var(--border-thin);
  color: var(--color-ink-soft);
  border-radius: var(--radius-8);
  cursor: pointer;
  font-family: var(--font-body);
  font-size: var(--fs-14);
  font-weight: 700;
  transition: background 0.12s, color 0.12s;
}
@media (hover: hover) {
  #fb-cancel:hover, .modal-btn-secondary:hover {
    background: var(--color-bg);
    color: var(--color-ink);
  }
}

#fb-submit, .modal-btn-primary {
  padding: 10px 20px;
  background: var(--color-grass);
  color: var(--color-paper);
  border: var(--border-hero);
  border-radius: var(--radius-8);
  box-shadow: var(--shadow-sm);
  font-family: var(--font-display);
  font-size: var(--fs-16);
  letter-spacing: var(--letter-display);
  font-weight: 400;
  cursor: pointer;
  transition: transform 0.08s, box-shadow 0.08s;
  text-shadow: 1px 1px 0 var(--color-grass-dark);
}
@media (hover: hover) {
  #fb-submit:hover:not(:disabled),
  .modal-btn-primary:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 3px 0 var(--color-ink);
  }
}
#fb-submit:active:not(:disabled),
.modal-btn-primary:active:not(:disabled) {
  transform: translateY(2px);
  box-shadow: 0 0 0 var(--color-ink);
}
#fb-submit:disabled, .modal-btn-primary:disabled { opacity: 0.5; cursor: default; }

/* Danger-variant voor "Voortgang resetten". */
.modal-btn-danger {
  padding: 10px 20px;
  background: var(--color-red);
  color: var(--color-paper);
  border: var(--border-hero);
  border-radius: var(--radius-8);
  box-shadow: var(--shadow-sm);
  font-family: var(--font-body);
  font-size: var(--fs-14);
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.08s, box-shadow 0.08s;
}
@media (hover: hover) {
  .modal-btn-danger:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 0 var(--color-ink);
  }
}
.modal-btn-danger:active { transform: translateY(2px); box-shadow: 0 0 0 var(--color-ink); }

/* ── Thanks-state (na submit) ── */
#fb-thanks {
  display: none;
  text-align: center;
  padding: 14px 0 6px;
  color: var(--color-grass-dark);
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--fs-14);
}

/* ── "Feedback geven"-link in start/end-schermen ── */
.fb-open-btn {
  background: var(--color-paper);
  border: var(--border-thin);
  border-radius: var(--radius-8);
  color: var(--color-ink-soft);
  font-family: var(--font-body);
  font-weight: 600;
  font-size: var(--fs-12);
  text-decoration: none;
  padding: 8px 14px;
  cursor: pointer;
  display: block;
  margin: 10px auto 0;
  transition: background 0.12s, color 0.12s;
}
@media (hover: hover) {
  .fb-open-btn:hover {
    background: var(--color-bg);
    color: var(--color-ink);
  }
}

/* ── Settings-stub (#103 Brok 6) ── */
#st-modal .st-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 14px;
  background: var(--color-bg);
  border: var(--border-thin);
  border-radius: var(--radius-10);
}
#st-modal .st-section h4 {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--fs-14);
  color: var(--color-ink);
}
#st-modal .st-section p {
  font-family: var(--font-body);
  font-size: var(--fs-12);
  color: var(--color-ink-soft);
  line-height: 1.4;
}
#st-modal .st-section .st-current {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--fs-12);
  color: var(--color-ink);
}

/* ── Settings-trigger: tandwiel-knop (home + als menu-item in hamburger) ── */
.settings-btn {
  background: var(--color-paper);
  border: var(--border-thin);
  color: var(--color-ink);
  font-size: var(--fs-18);
  font-weight: 700;
  line-height: 1;
  padding: 4px 10px;
  border-radius: var(--radius-6);
  box-shadow: var(--shadow-sm);
  cursor: pointer;
  transition: transform 0.08s, box-shadow 0.08s;
}
@media (hover: hover) {
  .settings-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 0 var(--color-ink);
  }
}
.settings-btn:active {
  transform: translateY(1px);
  box-shadow: 0 1px 0 var(--color-ink);
}
