@import url('https://fonts.bunny.net/css?family=cormorant-garamond:400,500,600|libre-baskerville:400,700|raleway:400,500,700&display=swap');

:root {
  --agt-navy: #1B2A4A;
  --agt-navy-deep: #0F1E36;
  --agt-gold: #B8922A;
  --agt-gold-pale: #D4C48A;
  --agt-gold-ink: #6B5212;
  --agt-steel-light: #E8F0F7;
  --agt-charcoal: #2C2C2C;
  --agt-text-muted: #3A4F60;
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body: 'Libre Baskerville', Georgia, serif;
  --font-ui: 'Raleway', Arial, sans-serif;
  --cal-brand: #1B2A4A;
  --cal-bg: #ffffff;
  --cal-bg-emphasis: #E8F0F7;
  --cal-bg-subtle: #E8F0F7;
  --cal-text: #2C2C2C;
  --cal-text-emphasis: #1B2A4A;
  --cal-text-muted: #3A4F60;
  --cal-border-default: rgba(27,42,74,0.15);
  --cal-border-emphasis: #1B2A4A;
  --cal-border-subtle: rgba(27,42,74,0.08);
}

html, html.dark, html[data-theme='dark'] {
  color-scheme: light !important;
  background: var(--agt-steel-light) !important;
}
body, html.dark body, html[data-theme='dark'] body {
  font-family: var(--font-body) !important;
  background: var(--agt-steel-light) !important;
  color: var(--agt-charcoal) !important;
}

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

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

.dark\:bg-default, [class*='dark:bg-default'] { background-color: #ffffff !important; }
.dark\:bg-muted, [class*='dark:bg-muted'] { background-color: var(--agt-steel-light) !important; }
.dark\:bg-emphasis, [class*='dark:bg-emphasis'] { background-color: var(--agt-steel-light) !important; }
.dark\:text-emphasis, [class*='dark:text-emphasis'] { color: var(--agt-navy) !important; }
.dark\:text-default, [class*='dark:text-default'] { color: var(--agt-charcoal) !important; }
.dark\:text-muted, [class*='dark:text-muted'] { color: var(--agt-text-muted) !important; }
.dark\:border-subtle, [class*='dark:border-subtle'] { border-color: rgba(27,42,74,0.1) !important; }
.dark\:border-default, [class*='dark:border-default'] { border-color: rgba(27,42,74,0.18) !important; }
.dark\:border-emphasis, [class*='dark:border-emphasis'] { border-color: var(--agt-navy) !important; }

button[type='submit'],
[data-testid='confirm-book-button'],
[data-testid='book-it-button'] {
  background: var(--agt-navy) !important;
  color: #fff !important;
  border: 1px solid var(--agt-gold) !important;
  font-family: var(--font-ui) !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  border-radius: 6px !important;
}
button[type='submit']:hover,
[data-testid='confirm-book-button']:hover,
[data-testid='book-it-button']:hover {
  background: var(--agt-gold) !important;
  color: var(--agt-navy) !important;
}

input[type='text'], input[type='email'], input[type='tel'], textarea, select {
  border: 1px solid rgba(27,42,74,0.2) !important;
  border-radius: 6px !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(--agt-gold) !important;
  outline-offset: 1px !important;
  border-color: var(--agt-gold) !important;
}

a { color: var(--agt-navy); }
a:hover { color: var(--agt-gold-ink); }

[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 — apply 5-col grid to GRANDPARENT only (the container holding all flex-gap-2 wrapper divs) */
*: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: 6px !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(--agt-gold) !important;
  background: rgba(212,196,138,0.08) !important;
}

/* ── AGT brand strip ──────────────────────────────────────────────── */
.agt-brand-strip { background: #1B2A4A; border-bottom: 1px solid #B8922A; padding: 12px 0; font-family: 'Raleway', sans-serif; }
.agt-brand-strip-inner { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.agt-brand-strip a.agt-logo-link { display: flex; align-items: center; text-decoration: none; gap: 10px; }
.agt-brand-strip a.agt-logo-link img { display: block; max-height: 28px; width: auto; filter: brightness(0) invert(1); }
.agt-brand-strip .agt-back-arrow { color: #D4C48A; font-size: 18px; line-height: 1; transition: transform 0.2s ease; display: inline-block; }
.agt-brand-strip a.agt-logo-link:hover .agt-back-arrow,
.agt-brand-strip a.agt-logo-link:focus .agt-back-arrow { transform: translateX(-3px); }
.agt-brand-strip a.agt-phone-link { color: #fff; text-decoration: none; font-size: 13px; letter-spacing: 0.05em; text-transform: uppercase; font-weight: 600; font-family: 'Raleway', sans-serif; }
.agt-brand-strip a.agt-phone-link span { color: #D4C48A; }

/* ── AGT brand footer ──────────────────────────────────────────────── */
.agt-brand-footer { background: #0F1E36; color: #E8F0F7; padding: 28px 24px; text-align: center; font-family: 'Libre Baskerville', serif; margin-top: 48px; }
.agt-brand-footer p { margin: 0 0 6px; font-size: 0.95rem; }
.agt-brand-footer .meta { font-size: 0.8rem; color: rgba(232,240,247,0.65); }
.agt-brand-footer a { color: #D4C48A; text-decoration: none; }
.agt-brand-footer a:hover { text-decoration: underline; }
.agt-brand-footer .agt-return-cta {
  display: inline-block;
  background: transparent;
  color: #D4C48A;
  border: 1px solid #D4C48A;
  padding: 10px 22px;
  border-radius: 6px;
  font-family: 'Raleway', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  margin-bottom: 18px;
  transition: background 0.2s ease, color 0.2s ease;
}
.agt-brand-footer .agt-return-cta:hover,
.agt-brand-footer .agt-return-cta:focus { background: #D4C48A; color: #0F1E36; outline: none; }

@media (max-width: 640px) {
  .agt-brand-strip-inner { padding: 0 16px; }
  .agt-brand-strip a.agt-logo-link img { max-height: 24px; }
  .agt-brand-strip a.agt-phone-link { font-size: 11px; }
}

/* ── Cal verify-email modal: AGT-styled headings for 50+/70+ readability ── */
[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.65rem !important;
  font-weight: 600 !important;
  color: var(--agt-navy) !important;
  letter-spacing: 0.005em !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: 1.05rem !important;
  font-weight: 500 !important;
  color: var(--agt-navy) !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
}
[role='dialog'] [class*='text-emphasis']:not(h1):not(h2):not(h3),
[role='dialog'] strong,
[role='dialog'] b,
[role='dialog'] a {
  font-weight: 700 !important;
  color: var(--agt-navy) !important;
}
/* Email address recipient highlight */
[role='dialog'] p > span:not(.agt-junk2):last-child,
[role='dialog'] p [class*='emphasis'] {
  border-bottom: 1px solid var(--agt-gold-pale) !important;
  padding-bottom: 1px !important;
}

/* ── Force selected day + active brand-color elements to AGT navy (override embed BRAND_COLOR) ── */
:root, html, body {
  --cal-brand: #1B2A4A !important;
  --cal-brand-text: #ffffff !important;
}
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(--agt-navy) !important;
  color: #ffffff !important;
  border-color: var(--agt-navy) !important;
}
button.bg-brand-default,
button.bg-brand,
[class*='bg-brand-default'],
[class*='bg-brand']:not([class*='bg-brand-default-disabled']) {
  background-color: var(--agt-navy) !important;
  color: #ffffff !important;
}
button.text-brand-default,
[class*='text-brand-default'] {
  color: var(--agt-navy) !important;
}
button.border-brand-default,
button.hover\:border-brand-default:hover,
[class*='border-brand-default'] {
  border-color: var(--agt-navy) !important;
}

/* ── Desktop refinements: larger event title, gold underline accents ── */
@media (min-width: 768px) {
  [data-testid='event-title'],
  h1, h2 {
    font-size: 1.85rem !important;
  }
  /* Card-feel border around the booker on desktop only */
  [data-booker-layout='month_view'],
  main > div:first-child {
    border: 1px solid rgba(184, 146, 42, 0.18) !important;
    box-shadow: 0 4px 24px rgba(15, 30, 54, 0.06) !important;
  }
}

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

/* ── Hide AGT brand chrome inside Cal embed mode (parent already has site header) ── */
html[data-cal-embed='1'] .agt-brand-strip,
html[data-cal-embed='1'] .agt-brand-footer,
body.embed-iframe .agt-brand-strip,
body.embed-iframe .agt-brand-footer {
  display: none !important;
}
