/* CESYUM Brand Override â€” cal.cesyum.com (v4 clean) */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* === Base === */
body, [data-testid] { font-family: 'Inter', system-ui, sans-serif !important; }
html, body, main, #__next {
  background: #08122E !important;
  color: #F5F7FA !important;
}

/* === Background: CESYUM mark watermark === */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image: url('/cesyum-mark.svg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 40%;
  opacity: 0.04;
  pointer-events: none;
  z-index: 0;
}

/* === Surfaces === */
[class*="bg-default"], [class*="bg-subtle"] {
  background-color: #0C1832 !important;
}
[class*="bg-muted"] { background-color: #080F24 !important; }

/* === Borders: simple, low contrast === */
[class*="rounded-lg"], [class*="rounded-xl"],
[data-testid="event-meta"],
hr, [class*="border-subtle"], [class*="border-default"] {
  border-color: rgba(255, 255, 255, 0.06) !important;
}
[class*="border-r"], [class*="border-subtle"][class*="border-r"] {
  border-right-color: rgba(255, 255, 255, 0.06) !important;
}

/* === Avatar === */
[data-testid="avatar"] img,
img[alt*="avatar"], img[alt*="Avatar"],
[class*="aspect-square"] img {
  border: 2px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 50% !important;
}

/* === Calendar: day cells === */
button[data-testid*="day-"] {
  color: #6B7280 !important;
  border-radius: 8px !important;
  transition: background-color 0.15s ease, color 0.15s ease !important;
}
button[data-testid*="day-"]:not([disabled]):not([class*="bg-brand"]) {
  background-color: rgba(44, 188, 226, 0.05) !important;
  color: #CED0D5 !important;
}
button[data-testid*="day-"]:hover:not([disabled]) {
  background-color: rgba(44, 188, 226, 0.12) !important;
  color: #F5F7FA !important;
}
button[data-testid*="day-"][class*="bg-brand"] {
  background-color: #2CBCE2 !important;
  color: #08122E !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 8px rgba(44, 188, 226, 0.25) !important;
}
button[data-testid*="day-"][disabled] {
  color: #1E2A4A !important;
  background-color: transparent !important;
}
button[data-testid*="day-"] span[class*="absolute"] {
  background-color: #2CBCE2 !important;
}

/* === Week view: clean unavailable areas === */
[style*="repeating-linear-gradient"] {
  background: #080F24 !important;
  background-image: none !important;
}
[data-testid="slot-unavailable"],
div[class*="bg-muted"][style*="position"] {
  background-color: #080F24 !important;
  background-image: none !important;
  opacity: 1 !important;
}
[data-testid*="calendar-switch"] ~ div td,
[role="grid"] td {
  background-color: #0C1832 !important;
  border-color: rgba(255, 255, 255, 0.04) !important;
}
[data-testid*="calendar-switch"] ~ div th,
[data-testid*="calendar-switch"] ~ div thead,
[role="grid"] th {
  background-color: #08122E !important;
  color: #4B5063 !important;
  border-color: rgba(255, 255, 255, 0.04) !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  font-size: 0.7rem !important;
}
[data-testid*="calendar-switch"] ~ div td + td,
[role="grid"] td + td {
  border-left: 1px solid rgba(255, 255, 255, 0.04) !important;
}

/* Current time line */
[class*="bg-brand"][style*="top"]:not(button) {
  background-color: #2CBCE2 !important;
  height: 2px !important;
}

/* === Time slots (list view) === */
button[data-testid="time"] {
  background-color: #111B35 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  color: #F5F7FA !important;
  border-radius: 8px !important;
  transition: background-color 0.15s ease, border-color 0.15s ease !important;
}
button[data-testid="time"]:hover {
  background-color: #162042 !important;
  border-color: rgba(44, 188, 226, 0.2) !important;
}

/* === Primary CTA buttons === */
button[data-testid="confirm-book-button"],
button[class*="bg-brand"]:not([data-testid*="day-"]) {
  background-color: #2CBCE2 !important;
  color: #08122E !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
  border: none !important;
  transition: background-color 0.15s ease !important;
}
button[data-testid="confirm-book-button"]:hover,
button[class*="bg-brand"]:not([data-testid*="day-"]):hover {
  background-color: #25A8CC !important;
}

/* === Typography === */
h1, h2, [data-testid="event-title"], [class*="text-emphasis"] {
  color: #F5F7FA !important;
  letter-spacing: -0.02em !important;
}
[data-testid="event-title"] {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
}
[data-testid="event-meta"] span, [class*="text-subtle"], label {
  color: #8B90A0 !important;
}
[class*="text-default"] { color: #B8BCC8 !important; }

/* === Inputs === */
input, textarea, select {
  background-color: #111B35 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  color: #F5F7FA !important;
  border-radius: 8px !important;
}
input:focus, textarea:focus, select:focus {
  border-color: #2CBCE2 !important;
  box-shadow: 0 0 0 2px rgba(44, 188, 226, 0.15) !important;
  outline: none !important;
}
input::placeholder, textarea::placeholder { color: #4B5063 !important; }

/* === Controls === */
[data-testid*="overlay-calendar-switch-label"] { color: #6B7280 !important; }
[role="switch"][data-state="checked"] { background-color: #2CBCE2 !important; }
[role="switch"]:not([data-state="checked"]) { background-color: #3A4260 !important; }
svg[class*="text-default"], button svg { color: #6B7280 !important; }
button:hover svg { color: #F5F7FA !important; }

/* === Week day headers === */
th[class*="text-subtle"] {
  color: #4B5063 !important;
  font-weight: 600 !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* === Scrollbar === */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #1A2545; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #253060; }

/* === Hide Cal.com branding === */
a[href*="go.cal.com/booking-page-credits"],
[class*="text-muted"][class*="text-xs"]:has(a[href*="cal.com"]) {
  display: none !important;
}

/* === Booking form (confirm details step) === */
[data-testid="booking-confirmation-page"],
[data-testid="success-page"] {
  background-color: #08122E !important;
}
/* Form container & panels */
[class*="bg-default"] form,
form[data-testid],
[class*="dark:bg-cal-muted"] {
  background-color: #0C1832 !important;
  color: #F5F7FA !important;
}
/* Labels */
form label, form [class*="text-emphasis"], form h3 {
  color: #F5F7FA !important;
}
form [class*="text-subtle"], form [class*="text-muted"] {
  color: #8B90A0 !important;
}
/* Date/time badges */
[class*="bg-subtle"][class*="rounded"] {
  background-color: #111B35 !important;
  color: #B8BCC8 !important;
}
/* Back button */
button[color="minimal"], button[class*="btn-minimal"],
form button:not([data-testid="confirm-book-button"]) {
  color: #B8BCC8 !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}
/* Add guests link */
button[class*="text-default"]:not(:has(svg)) {
  color: #8B90A0 !important;
}
/* Form heading */
h1[class*="font-semibold"], [class*="text-emphasis"][class*="font-semibold"] {
  color: #F5F7FA !important;
}

/* === Dropdowns === */
[role="listbox"], [role="menu"], [class*="dropdown"] {
  background-color: #111B35 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3) !important;
  border-radius: 8px !important;
}
[role="option"]:hover, [role="menuitem"]:hover {
  background-color: #162042 !important;
}

/* === Tooltip === */
[role="tooltip"] {
  background-color: #162042 !important;
  color: #F5F7FA !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

