:root {
  --brand: #b3001b;
  --brand-dark: #8a0015;
  --bs-primary: var(--brand);
  --bs-primary-rgb: 179, 0, 27;
  --bs-link-color: var(--brand);
  --bs-link-hover-color: var(--brand-dark);
}

.bg-brand { background-color: var(--brand) !important; }
.text-brand { color: var(--brand) !important; }

.btn-primary {
  --bs-btn-bg: var(--brand);
  --bs-btn-border-color: var(--brand);
  --bs-btn-hover-bg: var(--brand-dark);
  --bs-btn-hover-border-color: var(--brand-dark);
  --bs-btn-active-bg: var(--brand-dark);
  --bs-btn-active-border-color: var(--brand-dark);
}

.module-card { transition: transform .12s ease, box-shadow .12s ease; color: inherit; }
.module-card:hover { transform: translateY(-2px); box-shadow: var(--bs-box-shadow); }

/* Zones tactiles confortables sur tablette */
@media (pointer: coarse) {
  .btn, .form-control, .form-select { min-height: 2.75rem; }
}

/* Indicateur de requête HTMX */
.htmx-indicator { opacity: 0; transition: opacity .2s; }
.htmx-request .htmx-indicator, .htmx-request.htmx-indicator { opacity: 1; }

/* Encoche iOS en mode standalone */
@supports (padding: env(safe-area-inset-top)) {
  .navbar.sticky-top { padding-top: calc(.5rem + env(safe-area-inset-top)); }
}
