/*──────────────────────────────
  2️⃣ INLINE CSS
──────────────────────────────*/

/* Shadow DOM anchor — calendar-only loader positioning */
.sx-calendar-stage{
  position: relative;
  min-height: 700px;
}

/* Loader anchored to calendar ONLY */
.sx-calendar-stage .sx-inline-loader{
  position: absolute;
  inset: 0;

  display: none;
  align-items: center;
  justify-content: center;

  background: rgba(255,255,255,.85);
  z-index: 50;
  pointer-events: all;
}

/* Loader message */
.sx-inline-loader .sx-inline-msg{
  display: flex;
  align-items: center;
  gap: 10px;

  background: #fff;
  border: 3px solid #E2007A;
  border-radius: 12px;
  padding: 14px 22px;

  color: #E2007A;
  font-weight: 700;
  font-size: 16px;

  box-shadow: 0 8px 24px rgba(0,0,0,.18);
}

/* Spinner */
.sx-inline-loader .sx-inline-msg::before{
  content: '';
  width: 16px;
  height: 16px;
  border: 3px solid #E2007A;
  border-top-color: transparent;
  border-radius: 50%;
  animation: sx-spin 0.8s linear infinite;
}

@keyframes sx-spin{
  to { transform: rotate(360deg); }
}


/* ==========================================================
 * Studio X Ottawa — Public Calendar Base Styles
 * ========================================================== */

.studioxottawa-calendar-wrapper{
  max-width: 1100px;
  margin: 0 auto;
  padding: 20px;
  position: relative;
  font-family: Poppins, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.fc .fc-toolbar-title{
  font-weight: 700;
  color: #222;
}

.fc-button-primary{
  background: #E2007A;
  border-color: #E2007A;
}

.fc-button-primary:hover{
  background: #c90068;
  border-color: #c90068;
}

.fc-daygrid-event-dot{
  display: none !important;
}

.fc-event{
  border: none !important;
  border-radius: 6px !important;
  padding: 3px 6px !important;
  font-weight: 500;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  cursor: pointer;
}

/* ==========================================================
 * 🚫 STUDIO-CANCELLED EVENTS (PUBLIC CALENDAR)
 * ========================================================== */

.fc-event.sx-cancelled{
  background: #f1f1f1 !important;
  color: #777 !important;
  border: 1px dashed #ccc !important;
  cursor: not-allowed !important;
  opacity: 0.85;
}

.fc-event.sx-cancelled:hover{
  background: #f1f1f1 !important;
}

/* Cancelled label */
.fc-event.sx-cancelled::after{
  content: 'CANCELLED';
  margin-left: 6px;
  font-size: 11px;
  font-weight: 700;
  color: #b00020;
}

/* ==========================================================
 * Booking Buttons
 * ========================================================== */

.sx-book-btn{
  padding: 8px 16px;
  border-radius: 6px;
  border: none;
  background: #E2007A;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  display: inline-block;
}

.sx-book-btn:hover{
  background: #c90068;
}

/* ==========================================================
 * Error Messaging
 * ========================================================== */

.sx-error-line{
  margin-top: 8px;
  color: #b00020;
  font-weight: 500;
}


