/* Pages dynamiques (adhésion, inscriptions, billets) : formulaires Bootstrap aux couleurs du site. */

.app-page .card { padding: 0; }
.app-page .card-body { padding: 28px; }
@media (max-width: 639px) { .app-page .card-body { padding: 20px !important; } }

.app-page .form-control,
.app-page .form-select { border-color: var(--line); border-radius: 10px; padding: 0.6rem 0.8rem; }
.app-page .form-control:focus,
.app-page .form-select:focus,
.app-page .form-check-input:focus {
  border-color: var(--teal);
  box-shadow: 0 0 0 0.2rem rgba(95, 184, 160, 0.25);
}
.app-page .form-check-input:checked { background-color: var(--navy); border-color: var(--navy); }
.app-page .form-label { font-weight: 500; }

.app-page .btn { border-radius: 999px; }
.app-page .btn-outline-primary { border: 2px solid var(--navy); color: var(--navy); background: transparent; }
.app-page .btn-outline-primary:hover { background: var(--navy); color: #fff; }
.app-page .btn-check:checked + .btn-outline-primary { background: var(--navy); border-color: var(--navy); color: #fff; }
.app-page .btn-check:focus-visible + .btn { box-shadow: 0 0 0 .2rem rgba(95, 184, 160, 0.35); }

.app-page .text-muted { color: var(--muted) !important; }
.app-page a { color: var(--navy); }

.env-banner {
  background: #e83e8c; color: #fff; text-align: center; font-size: 0.85rem; font-weight: 600; padding: 6px 12px;
}
