/* Palette Marrakech */
:root {
  --terracotta: #C75D3F;
  --terracotta-dark: #A84A30;
  --sand: #FAF5EC;
  --sand-light: #FDF9F1;
  --palm: #7A9E7E;
  --stone-line: #E8DFD1;
}

[x-cloak] { display: none !important; }

body { font-family: "Inter", system-ui, -apple-system, sans-serif; }
.font-display { font-family: "Playfair Display", Georgia, serif; }

/* Tailwind extensions via CSS (since we use CDN without config) */
.bg-sand        { background-color: var(--sand); }
.bg-sand-light  { background-color: var(--sand-light); }
.text-terracotta { color: var(--terracotta); }
.bg-terracotta  { background-color: var(--terracotta); }
.bg-terracotta-dark:hover, .hover\:bg-terracotta-dark:hover { background-color: var(--terracotta-dark); }
.border-terracotta { border-color: var(--terracotta); }
.focus\:border-terracotta:focus { border-color: var(--terracotta); }
.focus\:ring-terracotta:focus {
  --tw-ring-color: var(--terracotta);
  box-shadow: 0 0 0 3px rgba(199,93,63,0.18);
}

/* ---------------- FullCalendar overrides ---------------- */
.fc {
  --fc-border-color: var(--stone-line);
  --fc-page-bg-color: #fff;
  --fc-today-bg-color: rgba(199,93,63,0.06);
  --fc-button-bg-color: var(--sand);
  --fc-button-border-color: var(--stone-line);
  --fc-button-text-color: #5b4a3a;
  --fc-button-hover-bg-color: #f1e9d8;
  --fc-button-hover-border-color: #d9cdb4;
  --fc-button-active-bg-color: var(--terracotta);
  --fc-button-active-border-color: var(--terracotta);
  font-family: "Inter", sans-serif;
}

.fc .fc-toolbar-title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.5rem;
  color: var(--terracotta);
  text-transform: capitalize;
}

.fc .fc-button {
  text-transform: capitalize;
  border-radius: 999px;
  padding: 0.35rem 0.9rem;
  font-weight: 500;
  box-shadow: none;
}

.fc .fc-button-primary:not(:disabled).fc-button-active,
.fc .fc-button-primary:not(:disabled):active {
  color: #fff;
}

.fc .fc-daygrid-day-number {
  color: #5b4a3a;
  padding: 6px 8px;
  font-size: 0.85rem;
}

.fc .fc-col-header-cell-cushion {
  color: #8a7a66;
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 10px 4px;
}

.fc-daygrid-event {
  border-radius: 999px !important;
  padding: 2px 9px !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  border: none !important;
  margin: 2px 4px !important;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05);
  transition: filter 0.15s ease, transform 0.15s ease;
}

.fc-daygrid-event:hover {
  filter: brightness(0.97);
  transform: translateY(-1px);
}

/* Contenu personnalisé d'un événement (voir renderEventContent) */
.mk-event {
  display: flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  line-height: 1.25;
  overflow: hidden;
}

.mk-dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  flex: 0 0 auto;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.65);
}

.mk-label {
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mk-note {
  font-weight: 400;
  opacity: 0.6;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mk-cont {
  font-style: italic;
  font-weight: 500;
  opacity: 0.5;
  font-size: 0.72rem;
}

.fc-day-today .fc-daygrid-day-number {
  background: var(--terracotta);
  color: white;
  border-radius: 999px;
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 4px;
}

/* Small screens — tighten calendar */
@media (max-width: 640px) {
  .fc .fc-toolbar { flex-wrap: wrap; gap: 0.5rem; }
  .fc .fc-toolbar-title { font-size: 1.2rem; }
  .fc-daygrid-event { font-size: 0.7rem !important; padding: 1px 5px !important; }
}
