/* logo color: #aa9bd4 */
:root {
  --bg: #fbfaf8;
  --bg-2: #efe6dc;
  --card: #f0ecf5;
  --border: #cdc4e0;
  --text: #3a3540;
  --accent: #7c6aad;

  /* Additional colors */
  --text-muted: #6b6578; /* was warm brown-grey → now cool grey with violet undertone */
  --accent-dark: #5c4d8a; /* was dark terracotta → now darker shade of --accent */
  --accent-focus: rgba(124, 106, 173, 0.25); /* matches new --accent color */

  --btn-payed: #20940e;
  --btn-payed-hover: #1c6710;

  --status-requested-bg: #efe6dc;
  --status-requested-text: #6f4a2f;

  --status-confirmed-bg: #e7f138;
  --status-confirmed-text: #2e412b;
  --status-confirmed-border: #b9c9b4;

  --status-cancelled-bg: #ead6d2;
  --status-cancelled-text: #6a3d3a;
  --status-cancelled-border: #d2a9a3;

  --status-payed-bg: #20940e;
  --status-payed-text: #3a453a;
  --status-payed-border: #d2a9a3;

  --white: #fff;
  --shadow: rgba(0, 0, 0, 0.08);
}
body {
  background: var(--bg);
}
nav a {
  letter-spacing: 0.08em;
  transition: color 0.2s;
}

nav a:hover {
  color: #000 !important;
}
.card {
  background-color: var(--card);
  border: 1px solid var(--border);
}
.card:hover {
  transform: translateY(-2px);
  transition: 0.2s ease;
  box-shadow: 0 0.5rem 1rem var(--shadow);
}
.badge {
  font-weight: 500;
}
.text-muted {
  color: var(--text-muted) !important;
}
.btn-earth {
  background-color: var(--accent);
  border-color: var(--accent);
  color: var(--white);
}
.btn-payed:hover {
  background-color: var(--btn-payed-hover);
  border-color: var(--accent);
  color: var(--white);
}
.btn-payed {
  background-color: var(--btn-payed);
  border-color: var(--accent);
  color: var(--white);
}
/* hover */
.btn-earth:hover {
  background-color: var(--accent-dark);
  border-color: var(--accent-dark);
  color: var(--white);
}
/* active (CLICK state) */
.btn-earth:active,
.btn-earth.active {
  background-color: var(--accent-dark) !important;
  border-color: var(--accent-dark) !important;
  color: var(--white) !important;
}
/* focus (keyboard click / click outline state) */
.btn-earth:focus,
.btn-earth:focus-visible {
  box-shadow: 0 0 0 0.25rem var(--accent-focus);
}
.atelier-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}
.atelier-img:hover {
  transform: scale(1.02);
  transition: 0.2s ease;
}
.table-earth {
  background-color: var(--card);
  border: 1px solid var(--border);
  color: var(--text);
  border-radius: 8px;
  overflow: hidden;
}
.table-earth thead {
  background-color: var(--bg);
  color: var(--text);
  border-bottom: 1px solid var(--border);
}
.table-earth tbody tr {
  border-color: var(--border);
}
.table-earth tbody tr:hover {
  background-color: var(--bg-2);
  transition: 0.15s ease;
}
.badge-status {
  padding: 0.4em 0.7em;
  border-radius: 6px;
  font-weight: 500;
  font-size: 0.75rem;
}
.status-requested {
  background-color: var(--status-requested-bg);
  color: var(--status-requested-text);
  border: 1px solid var(--border);
}
.status-confirmed {
  background-color: var(--status-confirmed-bg);
  color: var(--status-confirmed-text);
  border: 1px solid var(--status-confirmed-border);
}
.status-cancelled {
  background-color: var(--status-cancelled-bg);
  color: var(--status-cancelled-text);
  border: 1px solid var(--status-cancelled-border);
}
.status-payed {
  background-color: var(--status-payed-bg);
  color: var(--status-payed-text);
  border: 1px solid var(--status-payed-border);
}
.info-row {
  display: flex;
  gap: 1rem;
  margin-bottom: 0.5rem;
}
.label {
  width: 100px; /* aligns all labels */
  font-weight: 500;
}
.value {
  color: var(--text);
}
.small-caps {
  font-variant: small-caps;
}
/* Firefox flex fix for icon + text list items */
ul.list-unstyled li {
  align-items: start;
}
ul.list-unstyled li i {
  flex-shrink: 0;
}
ul.list-unstyled li span {
  min-width: 0;
  font-size: 0.900rem;
}
@media (max-width: 576px) {
  body {
    font-size: 1.08rem;
  }
  h4 {
    font-size: 1.4rem;
  }
  h5 {
    font-size: 1.15rem;
  }
  .small, small {
    font-size: 0.95rem !important;
  }
  .btn {
    font-size: 1rem;
    padding: 0.5rem 1rem;
  }
}
