/* LSA Cal.com theme — matches liftstack.ai brand
 * Tokens lifted from liftstack.ai homepage:
 *   primary cyan   #06B6D4   accent/link bright  #22D3EE
 *   background     #0F0F14   surface  #14141A   border  #2A2A33
 *   text primary   #F5F2EC   text muted  #6F6A60
 *   fonts          Inter (body+heading), JetBrains Mono (mono)
 */
@import url('https://fonts.bunny.net/css?family=inter:400,500,600,700|jetbrains-mono:400,500,600&display=swap');

:root {
  --lsa-bg:           #0F0F14;
  --lsa-surface:      #14141A;
  --lsa-surface-alt:  #1C1C24;
  --lsa-border:       #2A2A33;
  --lsa-border-soft:  #1F1F27;
  --lsa-text:         #F5F2EC;
  --lsa-text-muted:   #A8A39A;
  --lsa-text-subtle:  #6F6A60;
  --lsa-cyan:         #06B6D4;
  --lsa-cyan-bright:  #22D3EE;
  --lsa-cyan-dim:     #0E7490;
  --lsa-indigo:       #6366F1;
  --lsa-indigo-soft:  #818CF8;
  --font-display:     'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-body:        'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-mono:        'JetBrains Mono', 'SF Mono', Menlo, Consolas, monospace;
  --cal-brand:        #06B6D4;
  --cal-bg:           #0F0F14;
  --cal-bg-emphasis:  #14141A;
  --cal-bg-subtle:    #1C1C24;
  --cal-text:         #F5F2EC;
  --cal-text-emphasis:#F5F2EC;
  --cal-text-muted:   #A8A39A;
  --cal-border-default:rgba(245,242,236,0.12);
  --cal-border-emphasis:#06B6D4;
  --cal-border-subtle:rgba(245,242,236,0.06);
}

/* Force dark colour scheme — Cal default toggles light/dark; LSA brand is dark only */
html, html.light, html[data-theme='light'] {
  color-scheme: dark !important;
  background: var(--lsa-bg) !important;
}
body, html.light body, html[data-theme='light'] body {
  font-family: var(--font-body) !important;
  background: var(--lsa-bg) !important;
  color: var(--lsa-text) !important;
}

h1, h2, h3, h4 {
  font-family: var(--font-display) !important;
  color: var(--lsa-text) !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
}

button, input, select, textarea, label, nav { font-family: var(--font-body); }

/* Cal.com light-mode utility classes — paint dark */
[class*='bg-default']           { background-color: var(--lsa-bg) !important; }
[class*='bg-muted']             { background-color: var(--lsa-surface) !important; }
[class*='bg-emphasis']          { background-color: var(--lsa-surface) !important; }
[class*='bg-subtle']            { background-color: var(--lsa-surface-alt) !important; }
[class*='text-emphasis']        { color: var(--lsa-text) !important; }
[class*='text-default']         { color: var(--lsa-text) !important; }
[class*='text-muted']           { color: var(--lsa-text-muted) !important; }
[class*='text-subtle']          { color: var(--lsa-text-subtle) !important; }
[class*='border-subtle']        { border-color: var(--lsa-border-soft) !important; }
[class*='border-default']       { border-color: var(--lsa-border) !important; }
[class*='border-emphasis']      { border-color: var(--lsa-cyan) !important; }

/* Primary CTA — cyan filled, dark text (matches liftstack.ai primary button) */
button[type='submit'],
[data-testid='confirm-book-button'],
[data-testid='book-it-button'] {
  background: var(--lsa-cyan) !important;
  color: var(--lsa-bg) !important;
  border: 1px solid var(--lsa-cyan) !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  border-radius: 8px !important;
}
button[type='submit']:hover,
[data-testid='confirm-book-button']:hover,
[data-testid='book-it-button']:hover {
  background: var(--lsa-cyan-bright) !important;
  border-color: var(--lsa-cyan-bright) !important;
  color: var(--lsa-bg) !important;
}

/* Secondary buttons (Back, etc.) */
button[type='button']:not([data-testid='confirm-book-button']):not([data-testid='book-it-button']):not([data-testid='time']):not([data-testid='day']) {
  background: var(--lsa-surface) !important;
  color: var(--lsa-text) !important;
  border: 1px solid var(--lsa-border) !important;
  border-radius: 8px !important;
}

/* Form inputs */
input[type='text'], input[type='email'], input[type='tel'], textarea, select {
  background: var(--lsa-surface) !important;
  color: var(--lsa-text) !important;
  border: 1px solid var(--lsa-border) !important;
  border-radius: 8px !important;
  font-family: var(--font-body) !important;
}
input[type='text']:focus, input[type='email']:focus, input[type='tel']:focus, textarea:focus, select:focus {
  outline: 2px solid var(--lsa-cyan) !important;
  outline-offset: 1px !important;
  border-color: var(--lsa-cyan) !important;
  background: var(--lsa-bg) !important;
}
::placeholder { color: var(--lsa-text-subtle) !important; opacity: 1 !important; }

a { color: var(--lsa-cyan-bright); }
a:hover { color: var(--lsa-cyan); text-decoration: underline; }

/* Hide noisy controls — keep parity with CSPI/AGT */
[aria-label='Time format'] { display: none !important; }
form textarea[name='notes'], textarea[data-fob-field-name='notes'], textarea#notes, textarea[name*='notes'] { min-height: 180px !important; }

/* TIME SLOTS — 5-column grid (mobile + desktop) */
*:has(> div > button[data-testid='time']) {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 6px !important;
}
@media (min-width: 768px) {
  *:has(> div > button[data-testid='time']) {
    grid-template-columns: repeat(5, minmax(72px, 1fr)) !important;
    gap: 8px !important;
  }
}
button[data-testid='time'] {
  width: 100% !important;
  margin: 0 !important;
  font-size: 0.75rem !important;
  padding: 0.5rem 0.25rem !important;
  border-radius: 8px !important;
  background: var(--lsa-surface) !important;
  color: var(--lsa-text) !important;
  border: 1px solid var(--lsa-border) !important;
}
@media (min-width: 768px) {
  button[data-testid='time'] {
    font-size: 0.875rem !important;
    padding: 0.625rem 0.5rem !important;
  }
}
button[data-testid='time']:hover {
  border-color: var(--lsa-cyan) !important;
  background: rgba(6, 182, 212, 0.10) !important;
  color: var(--lsa-cyan-bright) !important;
}

/* ── LSA brand strip ──────────────────────────────────────────────── */
.lsa-brand-strip {
  background: var(--lsa-bg);
  border-bottom: 1px solid var(--lsa-cyan);
  padding: 12px 0;
  font-family: var(--font-body);
}
.lsa-brand-strip-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.lsa-brand-strip a.lsa-logo-link { display: flex; align-items: center; text-decoration: none; gap: 10px; color: var(--lsa-text); }
.lsa-brand-strip a.lsa-logo-link img { display: block; max-height: 28px; width: auto; }
.lsa-brand-strip .lsa-back-arrow { color: var(--lsa-cyan-bright); font-size: 18px; line-height: 1; transition: transform 0.2s ease; display: inline-block; }
.lsa-brand-strip a.lsa-logo-link:hover .lsa-back-arrow,
.lsa-brand-strip a.lsa-logo-link:focus .lsa-back-arrow { transform: translateX(-3px); }
.lsa-brand-strip .lsa-tagline {
  color: var(--lsa-text-muted);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* ── LSA brand footer ──────────────────────────────────────────────── */
.lsa-brand-footer {
  background: var(--lsa-surface);
  color: var(--lsa-text);
  padding: 28px 24px;
  text-align: center;
  font-family: var(--font-body);
  margin-top: 48px;
  border-top: 1px solid var(--lsa-border);
}
.lsa-brand-footer p { margin: 0 0 6px; font-size: 0.95rem; }
.lsa-brand-footer .meta {
  font-size: 0.8rem;
  color: var(--lsa-text-subtle);
  font-family: var(--font-mono);
}
.lsa-brand-footer a { color: var(--lsa-cyan-bright); text-decoration: none; }
.lsa-brand-footer a:hover { text-decoration: underline; }
.lsa-brand-footer .lsa-return-cta {
  display: inline-block;
  background: transparent;
  color: var(--lsa-cyan-bright);
  border: 1px solid var(--lsa-cyan);
  padding: 10px 22px;
  border-radius: 8px;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-decoration: none;
  margin-bottom: 18px;
  transition: background 0.2s ease, color 0.2s ease;
}
.lsa-brand-footer .lsa-return-cta:hover,
.lsa-brand-footer .lsa-return-cta:focus { background: var(--lsa-cyan); color: var(--lsa-bg); outline: none; }

@media (max-width: 640px) {
  .lsa-brand-strip-inner { padding: 0 16px; }
  .lsa-brand-strip a.lsa-logo-link img { max-height: 24px; }
  .lsa-brand-strip .lsa-tagline { display: none; }
}

/* ── Cal verify-email modal: LSA-styled ── */
[role='dialog'],
[data-radix-dialog-content] {
  background: var(--lsa-surface) !important;
  color: var(--lsa-text) !important;
  border: 1px solid var(--lsa-border) !important;
}
[role='dialog'] h1, [role='dialog'] h2, [role='dialog'] h3,
[data-radix-dialog-content] h1, [data-radix-dialog-content] h2, [data-radix-dialog-content] h3 {
  font-family: var(--font-display) !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  color: var(--lsa-text) !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 0.5rem !important;
  line-height: 1.2 !important;
}
[role='dialog'] p, [data-radix-dialog-content] p {
  font-family: var(--font-body) !important;
  font-size: 0.95rem !important;
  font-weight: 400 !important;
  color: var(--lsa-text-muted) !important;
  line-height: 1.55 !important;
}

/* OTP input squares */
[role='dialog'] input[type='text'],
[role='dialog'] input[type='number'] {
  background: var(--lsa-bg) !important;
  border: 1px solid var(--lsa-border) !important;
  color: var(--lsa-text) !important;
  font-family: var(--font-mono) !important;
}

/* Brand colour overrides — Cal embed BRAND_COLOR */
:root, html, body {
  --cal-brand: #06B6D4 !important;
  --cal-brand-text: #0F0F14 !important;
  --cal-brand-emphasis: #22D3EE !important;
}

/* Selected day */
button[data-testid='day'][aria-pressed='true'],
button[data-testid='day'][aria-selected='true'],
button[data-testid='day'].bg-brand-default,
button[data-testid='day'].bg-brand,
[data-testid='day'][data-state='selected'] {
  background-color: var(--lsa-cyan) !important;
  color: var(--lsa-bg) !important;
  border-color: var(--lsa-cyan) !important;
}
button.bg-brand-default,
button.bg-brand,
[class*='bg-brand-default'],
[class*='bg-brand']:not([class*='bg-brand-default-disabled']) {
  background-color: var(--lsa-cyan) !important;
  color: var(--lsa-bg) !important;
}
button.text-brand-default,
[class*='text-brand-default'] { color: var(--lsa-cyan) !important; }
button.border-brand-default,
button.hover\:border-brand-default:hover,
[class*='border-brand-default'] { border-color: var(--lsa-cyan) !important; }

/* Today date dot */
button[data-testid='day'] [class*='bg-brand'] { background-color: var(--lsa-cyan-bright) !important; }

/* Hide LSA brand chrome inside Cal embed mode */
html[data-cal-embed='1'] .lsa-brand-strip,
html[data-cal-embed='1'] .lsa-brand-footer,
body.embed-iframe .lsa-brand-strip,
body.embed-iframe .lsa-brand-footer { display: none !important; }
