:root {
  --gold: #d8b84a;
  --dark: #222;
}

body {
  font-family: "Poppins","Segoe UI",system-ui,-apple-system,sans-serif;
  color: var(--dark);
  background:linear-gradient(180deg,#f8fafc 0%,#ffffff 55%,#fafafa 100%);
}

/* LOGO */
.logo-top {
  width:min(260px, 72vw);
  max-height:110px;
  object-fit:contain;
  filter: drop-shadow(0 4px 10px rgba(0,0,0,.14));
}

/* BOTÕES */
.btn-gold {
  background: linear-gradient(180deg, var(--gold) 0%, #d4af37 60%, #caa433 100%);
  color:#fff;
  border:none;
  border-radius:10px;
  padding:.6rem 1rem;
  box-shadow:0 6px 14px rgba(212,175,55,.2);
}
.btn-ghost {
  background:#fff;
  border:1px solid #ddd;
  color:#333;
  border-radius:10px;
}

/* RODAPÉ */
.footer {
  text-align:center;
  background:#fff;
  padding:18px 10px 36px;
  border-top:2px solid var(--gold);
  margin-top:30px;
}
.admin-link {
  color: var(--gold);
  font-weight:500;
  text-decoration:none;
}

/* FULLCALENDAR */
#calendar, .fc-admin {
  background:#fff;
  border-radius:14px;
  padding:10px;
}
.fc .fc-button {
  border-radius:8px;
  border:none;
  background: var(--gold);
  color:#000;
}
.fc .fc-button:hover {
  filter:brightness(1.05);
}

/* === CITA RESERVADA (VISÍVEL) === */
.fc .event-busy,
.fc .event-busy .fc-event-main {
  background-color: #9c7a12 !important;   /* ouro forte */
  color: #ffffff !important;
  border: 0 !important;
}
.fc .event-busy .fc-event-title,
.fc .event-busy .fc-event-time {
  color: #ffffff !important;
  font-weight: 600;
  text-shadow: 0 1px 0 rgba(0,0,0,.25);
}
.fc .event-busy:hover,
.fc .event-busy:focus,
.fc .event-busy .fc-event-main:hover,
.fc .event-busy .fc-event-main:focus {
  filter: brightness(1.08);
  box-shadow: 0 2px 8px rgba(0,0,0,.25);
}

/* BLOQUEIOS E ALMUERZO */
.fc .event-blocked,
.fc .event-blocked .fc-event-main {
  background: #ffdddd !important;
  border: 1px solid #ffbcbc !important;
  color: #832121 !important;
}

/* CAMPOS MODAIS */
.modal-content {
  border-radius:14px;
  box-shadow:0 6px 18px rgba(0,0,0,.25);
}
.form-control {
  border-radius:8px;
}
