/*
 * Folk theme — inspired by Ivan Bilibin's Russian folk illustrations
 * Late 19th / early 20th century Slavic aesthetic
 * Used on all public (unauthenticated) pages
 */

/* ── Global page background ───────────────────────────────────── */
body:has(.folk-wrapper) {
  background: #f2deb8 !important;
}

.folk-wrapper {
  background: #f2deb8;
  min-height: 100vh;
  padding-bottom: 3rem;
}

/* ── Typography ───────────────────────────────────────────────── */
.folk-title {
  font-family: 'Uncial Antiqua', serif;
  color: #7a1515;
  font-size: 2rem;
  letter-spacing: 0.04em;
  text-shadow: 1px 1px 0 rgba(200, 134, 10, 0.35);
}

.folk-subtitle {
  color: #5a3e1b;
}

.folk-subtitle a {
  color: #c8860a;
  text-decoration: none;
  font-weight: 600;
}

.folk-subtitle a:hover {
  color: #7a1515;
  text-decoration: underline;
}

/* ── Decorative frise ─────────────────────────────────────────── */
.folk-frise {
  height: 70px;
  background: url('../img/frise-tile.svg') repeat-x center;
  background-size: auto 70px;
  margin: 0.25rem 0;
}

/* ── Cards ────────────────────────────────────────────────────── */
.folk-card {
  border: 2px solid #7a1515 !important;
  border-radius: 0 !important;
  background: #faf3e0;
  box-shadow: 4px 4px 0 #c8860a !important;
}

.folk-card-header {
  background: #7a1515 !important;
  color: #f2deb8 !important;
  border-bottom: 2px solid #c8860a !important;
  border-radius: 0 !important;
  font-family: 'Philosopher', serif;
  font-size: 1rem;
  letter-spacing: 0.03em;
}

/* Collapse toggle button inside card header */
.folk-card-header .btn-link,
.folk-card-header .btn-link.text-dark {
  color: #f2deb8 !important;
  font-family: 'Philosopher', serif;
}

.folk-card-header .text-muted {
  color: rgba(242, 222, 184, 0.75) !important;
}

/* ── Form controls ────────────────────────────────────────────── */
.folk-wrapper .form-control,
.folk-wrapper .form-select {
  border: 1.5px solid #7a1515;
  border-radius: 0;
  background-color: #fdf8ed;
  color: #2a1a0a;
}

.folk-wrapper .form-control:focus,
.folk-wrapper .form-select:focus {
  border-color: #c8860a;
  box-shadow: 0 0 0 0.2rem rgba(200, 134, 10, 0.3);
  background-color: #fffbf3;
}

.folk-wrapper .form-control.is-invalid,
.folk-wrapper .form-select.is-invalid {
  border-color: #7a1515;
}

.folk-wrapper .form-label {
  color: #4a2a0a;
  font-weight: 600;
}

/* ── Primary button (submit) ──────────────────────────────────── */
.folk-btn {
  background: #7a1515 !important;
  color: #f2deb8 !important;
  border: 2px solid #c8860a !important;
  border-radius: 0 !important;
  font-family: 'Philosopher', serif !important;
  font-size: 1.1rem !important;
  letter-spacing: 0.06em;
  transition: all 0.15s ease;
}

.folk-btn:hover,
.folk-btn:active,
.folk-btn:focus {
  background: #5a0f0f !important;
  color: #f2deb8 !important;
  box-shadow: 4px 4px 0 #c8860a !important;
  transform: translate(-1px, -1px);
}

/* ── Secondary outline button (add child) ─────────────────────── */
.folk-wrapper .btn-outline-secondary {
  border-color: #7a1515;
  color: #7a1515;
  border-radius: 0;
  background: transparent;
}

.folk-wrapper .btn-outline-secondary:hover {
  background: #7a1515;
  color: #f2deb8;
  border-color: #7a1515;
}

/* ── Danger outline button (remove child) ─────────────────────── */
.folk-wrapper .btn-outline-danger {
  border-color: #7a1515;
  color: #7a1515;
  border-radius: 0;
}

.folk-wrapper .btn-outline-danger:hover {
  background: #7a1515;
  color: #f2deb8;
  border-color: #7a1515;
}

/* ── Child rows ───────────────────────────────────────────────── */
.folk-wrapper .child-row {
  border-bottom-color: #c8860a !important;
}

.folk-wrapper .child-title {
  color: #7a1515;
  font-family: 'Philosopher', serif;
  font-size: 1rem;
  font-weight: 700;
}

/* ── Session selection cards ──────────────────────────────────── */
.folk-wrapper .session-card {
  border-color: #7a1515 !important;
  border-radius: 0 !important;
  background: #fdf8ed;
  cursor: pointer;
  transition: background 0.15s, box-shadow 0.15s;
}

.folk-wrapper .session-card:hover {
  background: #f5e6c8;
  box-shadow: 2px 2px 0 #c8860a;
}

/* Selected session card — override Bootstrap's border-primary / bg-primary */
.folk-wrapper .session-card.border-primary {
  border-color: #7a1515 !important;
  background: #f5e6c8 !important;
  box-shadow: 2px 2px 0 #c8860a;
}

.folk-wrapper .session-card.bg-primary {
  background: transparent !important;
}

.folk-wrapper .session-card.bg-opacity-10 {
  background: #f5e6c8 !important;
}

/* ── Mes-inscriptions variant (sage/green background) ────────── */
body:has(.folk-wrapper--mi) {
  background: #d8e8d8 !important;
}

.folk-wrapper--mi {
  background: #d8e8d8;
}

.folk-wrapper--mi .folk-card {
  background: #f0f7ef;
}

/* ── Misc ─────────────────────────────────────────────────────── */
.folk-wrapper .text-muted {
  color: #7a6040 !important;
}

.folk-wrapper a {
  color: #c8860a;
}

.folk-wrapper a:hover {
  color: #7a1515;
}

.folk-wrapper .invalid-feedback {
  color: #7a1515;
}

.folk-wrapper .text-danger {
  color: #7a1515 !important;
}
