/* Roxy Event Booking styles */
.roxy-eb-wrap { max-width: 100%; }
.roxy-eb-header { margin-bottom: 12px; }
.roxy-eb-cta { margin: 10px 0 14px; }
#roxy-eb-calendar { background: #fff; border-radius: 12px; padding: 10px; box-shadow: 0 1px 8px rgba(0,0,0,0.08); }

.roxy-eb-modal { position: fixed; inset: 0; display: none; z-index: 99999; }
.roxy-eb-modal[aria-hidden="false"] { display: block; }
.roxy-eb-modal__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,0.6); }
.roxy-eb-modal__dialog { position: relative; background: #fff; width: min(720px, calc(100% - 24px)); margin: 5vh auto; border-radius: 16px; padding: 16px; max-height: 90vh; overflow: auto; }
.roxy-eb-modal__top { display:flex; align-items:center; justify-content:space-between; gap: 12px; margin-bottom: 10px; }

.roxy-eb-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.roxy-eb-grid label { display:flex; flex-direction:column; gap: 6px; font-size: 14px; }
.roxy-eb-grid input, .roxy-eb-grid select, .roxy-eb-grid textarea { padding: 10px 12px; border: 1px solid #d9d9d9; border-radius: 10px; font-size: 14px; }
.roxy-eb-help { color:#666; font-size: 12px; line-height: 1.3; }
.roxy-eb-span-2 { grid-column: 1 / span 2; }
@media (max-width: 640px) { .roxy-eb-grid { grid-template-columns: 1fr; } .roxy-eb-span-2 { grid-column: 1; } }

.roxy-eb-actions { display:flex; justify-content:flex-end; gap: 10px; margin-top: 14px; }
.roxy-eb-btn { border: 1px solid #222; border-radius: 999px; padding: 10px 14px; cursor:pointer; }
.roxy-eb-btn--primary { background: #0b5cff; color: #fff; border-color:#0b5cff; }
.roxy-eb-btn--ghost { background: transparent; color:#222; }
.roxy-eb-error { margin-top: 10px; background: #ffe9e9; color:#8a1f1f; padding: 10px 12px; border-radius: 10px; }
.roxy-eb-alert { margin: 10px 0 14px; padding: 10px 12px; border-radius: 12px; font-size: 13px; line-height: 1.35; }
.roxy-eb-alert--info { background: #eef5ff; color: #0c3b7a; }

.roxy-eb-pricing { margin-top: 12px; padding: 10px 12px; border: 1px dashed #cfcfcf; border-radius: 12px; font-size: 14px; }


/* Scoped readability overrides (theme-safe) */
.roxy-eb-wrap, .roxy-eb-wrap .roxy-eb-modal__dialog { color: #111; }
.roxy-eb-wrap h1, .roxy-eb-wrap h2, .roxy-eb-wrap h3, .roxy-eb-wrap h4, .roxy-eb-wrap h5, .roxy-eb-wrap h6 { color:#111; }
.roxy-eb-wrap label span, .roxy-eb-wrap .roxy-eb-help, .roxy-eb-wrap small { color:#333; }
.roxy-eb-wrap input, .roxy-eb-wrap select, .roxy-eb-wrap textarea { color:#111; background:#fff; }
.roxy-eb-wrap .fc, .roxy-eb-wrap .fc * { color:#111; }

/* Roxy theme: FullCalendar toolbar buttons should be dark with white text */
.roxy-eb-wrap .fc .fc-button,
.roxy-eb-wrap .fc .fc-button-primary {
  background: #111;
  border-color: #111;
  color: #fff;
}
.roxy-eb-wrap .fc .fc-button:hover,
.roxy-eb-wrap .fc .fc-button-primary:hover {
  background: #2a2a2a;
  border-color: #2a2a2a;
  color: #fff;
}
.roxy-eb-wrap .fc .fc-button-primary.fc-button-active,
.roxy-eb-wrap .fc .fc-button-primary:not(:disabled):active {
  background: #000;
  border-color: #000;
  color: #fff;
}
.roxy-eb-wrap .fc .fc-button:disabled,
.roxy-eb-wrap .fc .fc-button-primary:disabled {
  opacity: 0.55;
}

/* Ensure chevron icons remain visible on dark buttons */
.roxy-eb-wrap .fc .fc-button .fc-icon {
  color: #fff !important;
}
.roxy-eb-wrap .roxy-eb-btn--primary { color:#fff; }
.roxy-eb-wrap .roxy-eb-btn--ghost { color:#111; }
.roxy-eb-wrap .roxy-eb-error { color:#8a1f1f; }
.roxy-eb-wrap .roxy-eb-alert--info { color:#0c3b7a; }

/* Header lives on a dark page background, keep it readable */
.roxy-eb-wrap .roxy-eb-header,
.roxy-eb-wrap .roxy-eb-header * { color:#fff !important; }

/* Make FullCalendar view buttons usable on mobile */
@media (max-width: 640px) {
  .roxy-eb-wrap .fc .fc-header-toolbar { flex-wrap: wrap; gap: 8px; }
  .roxy-eb-wrap .fc .fc-toolbar-chunk { display:flex; flex-wrap: wrap; gap: 6px; }
  .roxy-eb-wrap .fc .fc-button { padding: 6px 10px; font-size: 12px; }
}

/* Week view booking label: ensure readable height/line wrapping */
.roxy-eb-wrap .fc-timegrid-event.roxy-eb-booking-fg {
  white-space: normal;
  line-height: 1.2;
}
.roxy-eb-wrap .fc-timegrid-event.roxy-eb-booking-fg .fc-event-main {
  padding: 4px 6px;
}

/* Event color (marketing): #66cccc */
.roxy-eb-wrap .fc .roxy-eb-booking-fg,
.roxy-eb-wrap .fc .roxy-eb-booking-bg,
.roxy-eb-wrap .fc .roxy-eb-block {
  background-color: #66cccc !important;
  border-color: #66cccc !important;
}

/* Modal close + buttons: force visibility regardless of theme button styles */
.roxy-eb-wrap .roxy-eb-modal__top .roxy-eb-btn--ghost {
  background:#f2f2f2 !important;
  color:#111 !important;
  border-color:#111 !important;
}
.roxy-eb-wrap .roxy-eb-actions .roxy-eb-btn--ghost {
  background:#f2f2f2 !important;
  color:#111 !important;
  border-color:#111 !important;
}
