/**
 * New York Art Culture — design tokens & components
 * Reference: mockup/artculture/views/design-system.php
 */
:root {
  --ac-brand: #006bb6;
  --ac-brand-hover: #00518a;
  --ac-accent-orange: #f58426;
  --ac-accent-orange-hover: #d96e0f;
  --ac-neutral-900: #171717;
  --ac-neutral-700: #404040;
  --ac-neutral-400: #a3a3a3;
  --ac-neutral-200: #e5e5e5;
  --ac-bg: #ffffff;
  --ac-body-text: #737373;
  --ac-font: "Montserrat", sans-serif;
  --cc-accent: #006bb6;
}

html {
  font-family: var(--ac-font);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: var(--ac-font) !important;
  background-color: var(--ac-bg) !important;
  color: var(--ac-neutral-900) !important;
}

body::before {
  display: none !important;
}

/* Base typography — mockup head.php @layer base */
h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
}

/* Design system: extrabold/black → bold (700) */
.font-extrabold,
.font-black {
  font-weight: 700 !important;
}

/* Base border-radius for buttons and bold CTA links — mockup head.php @layer base */
button:not([class*="rounded"]),
a[class*="font-bold"][class*="px-"]:not([class*="rounded"]) {
  border-radius: 10px;
}

/* ─── Layout shell — mockup design-system.php + index.php ─── */
.cc-view-fade {
  animation: acFadeIn 0.3s ease;
}
@keyframes acFadeIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#main-content {
  width: 100%;
  min-height: 100vh;
}

/* Page shell: max-w 1400px · px-4 md:px-6 · pt-16 · pb-28 */
.ac-page-shell {
  padding-top: 4rem;
  padding-bottom: 7rem;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
  min-height: 100vh;
  width: 100%;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .ac-page-shell {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

/* Shared content width when templates use max-w utility inline */
#main-content .max-w-\[1400px\] {
  max-width: 1400px;
}

/* Legacy Bootstrap .container → design-system width */
#main-content .section-list .container,
#main-content > .container {
  max-width: 1400px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  #main-content .section-list .container,
  #main-content > .container {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

/* ─── Typography tokens ─── */
.ac-eyebrow {
  font-size: 11px;
  font-weight: 700;
  color: var(--ac-brand);
  text-transform: uppercase;
  letter-spacing: 0.25em;
}

.ac-section-label {
  font-size: 11px;
  font-weight: 700;
  color: var(--ac-neutral-900);
  text-transform: uppercase;
  letter-spacing: 0.2em;
}

.ac-body-text {
  font-size: 0.875rem;
  color: var(--ac-body-text);
  line-height: 1.625;
}

/* ─── Buttons (rounded-[10px] for CTAs; rounded-full for pills/toggles) ─── */
.ac-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: 2px solid transparent;
  background-color: var(--ac-neutral-900);
  color: #fff;
  border-radius: 10px;
  font-weight: 700;
  font-size: 0.75rem;
  padding: 0.75rem 1.5rem;
  transition: background-color 0.2s ease, color 0.2s ease;
  text-decoration: none;
}
.ac-btn-primary:hover {
  background-color: var(--ac-brand);
  color: #fff;
}

.ac-btn-primary-lg {
  font-size: 0.875rem;
  padding: 1rem 1.75rem;
}

.ac-btn-full {
  display: block;
  width: 100%;
  padding: 1rem;
  background-color: #000;
  color: #fff;
  font-weight: 700;
  font-size: 0.875rem;
  text-align: center;
  border-radius: 10px;
  transition: background-color 0.2s ease;
  text-decoration: none;
}
.ac-btn-full:hover {
  background-color: #262626;
  color: #fff;
}

.ac-btn-secondary {
  display: inline-flex;
  align-items: center;
  padding: 1rem 2rem;
  background-color: #f5f5f5;
  color: var(--ac-neutral-900);
  font-weight: 700;
  font-size: 0.875rem;
  border-radius: 10px;
  transition: background-color 0.2s ease;
  text-decoration: none;
}
.ac-btn-secondary:hover {
  background-color: #e5e5e5;
}

.ac-btn-sold-out {
  display: inline-flex;
  align-items: center;
  border: 2px solid #e5e5e5;
  color: #a3a3a3;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.75rem 1.5rem;
  border-radius: 10px;
  cursor: not-allowed;
}

/* ─── Pills ─── */
.ac-pill-date {
  background-color: var(--ac-brand);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  white-space: nowrap;
}

.ac-pill-time {
  background-color: #f5f5f5;
  color: #525252;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  white-space: nowrap;
}

.ac-pill-promo {
  background-color: var(--ac-accent-orange);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  padding: 0.375rem 0.75rem;
  border-radius: 9999px;
}

/* ─── Form inputs ─── */
.ac-form-label {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--ac-neutral-900);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
  display: block;
}

.ac-form-input,
.ac-page-shell .form-control,
.ac-page-shell input[type="text"],
.ac-page-shell input[type="email"],
.ac-page-shell input[type="tel"],
.ac-page-shell input[type="number"],
.ac-page-shell textarea,
.ac-page-shell select {
  width: 100%;
  background-color: #fafafa;
  border: 2px solid #e5e5e5;
  border-radius: 0.75rem;
  padding: 0.875rem;
  color: var(--ac-neutral-900);
  font-weight: 500;
  transition: border-color 0.2s ease;
}
.ac-form-input:focus,
.ac-page-shell .form-control:focus,
.ac-page-shell input:focus,
.ac-page-shell textarea:focus,
.ac-page-shell select:focus {
  outline: none;
  border-color: var(--ac-brand);
}
.ac-form-input::placeholder {
  color: #a3a3a3;
}

/* ─── Legacy page shells → light design system ─── */
.calendarpage h1,
.bios h1,
.gift-certificates h1,
#ac-about-page h1,
#event-view-page h1,
.Comedians h1:not(.ac-comedian-show-title) {
  color: var(--ac-neutral-900) !important;
  font-weight: 700 !important;
  text-transform: none !important;
}

.calendarpage p,
.bios > div > p,
.gift-certificates .text-white.max-w-2xl,
.Comedians .text-xl.text-white {
  color: var(--ac-body-text) !important;
}

#ac-gift-certificates h1,
#ac-gift-thankyou h1 {
  color: var(--ac-neutral-900) !important;
}

#ac-gift-certificates p.text-neutral-500,
#ac-gift-thankyou p.text-neutral-500 {
  color: #737373 !important;
}

/* Gift certificates — mockup/artculture/views/gift.php */
#ac-gift-certificates,
#ac-gift-thankyou,
.giftcertificatespage {
  font-family: Montserrat, sans-serif;
  color: #171717;
}
#ac-gift-certificates .tracking-\[4px\] { letter-spacing: 4px; }
#ac-gift-certificates .tracking-\[3px\] { letter-spacing: 3px; }
#ac-gift-certificates .tracking-tighter { letter-spacing: -0.05em; }
#ac-gift-certificates .leading-\[1\.05\] { line-height: 1.05; }
#ac-gift-certificates .max-w-\[800px\] { max-width: 800px; }
#ac-gift-certificates .max-w-\[500px\] { max-width: 500px; }
#ac-gift-certificates .text-\[11px\] { font-size: 11px; line-height: 1.4; }
#ac-gift-certificates .text-\[\#006bb6\] { color: #006bb6 !important; }
#ac-gift-certificates .text-neutral-500 { color: #737373 !important; }
#ac-gift-certificates .text-neutral-400 { color: #a3a3a3 !important; }
#ac-gift-certificates .text-neutral-600 { color: #525252 !important; }
#ac-gift-certificates .text-neutral-900 { color: #171717 !important; }
#ac-gift-certificates .text-neutral-200 { color: #e5e5e5 !important; }
#ac-gift-certificates .bg-neutral-50 { background-color: #fafafa !important; }
#ac-gift-certificates .bg-neutral-100 { background-color: #f5f5f5 !important; }
#ac-gift-certificates .bg-neutral-900 { background-color: #171717 !important; }
#ac-gift-certificates .border-neutral-200 { border-color: #e5e5e5 !important; }
#ac-gift-certificates .space-y-4 > :not([hidden]) ~ :not([hidden]) { margin-top: 1rem; }
#ac-gift-certificates .gc-alert {
  background-color: #fef2f2 !important;
  border: 1px solid #fecaca !important;
  color: #b91c1c !important;
  padding: 1rem 1.25rem !important;
  border-radius: 0.75rem !important;
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
}
#ac-gift-certificates .gc-content-header,
#ac-gift-certificates .gc-content-header p {
  color: #737373 !important;
}
#ac-gift-certificates .ac-gift-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
  align-items: start;
}
@media (min-width: 1024px) {
  #ac-gift-certificates .ac-gift-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 4rem;
  }
  #ac-gift-certificates .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #ac-gift-certificates .lg\:gap-16 { gap: 4rem; }
  #ac-gift-certificates .lg\:text-7xl { font-size: 4.5rem; line-height: 1; }
  #ac-gift-certificates .lg\:text-8xl { font-size: 6rem; line-height: 1; }
}
@media (min-width: 768px) {
  #ac-gift-certificates .md\:text-7xl { font-size: 4.5rem; line-height: 1; }
  #ac-gift-certificates .md\:mb-12 { margin-bottom: 3rem; }
  #ac-gift-certificates .md\:mb-16 { margin-bottom: 4rem; }
}
@media (min-width: 640px) {
  #ac-gift-certificates .sm\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  #ac-gift-certificates .sm\:gap-3 { gap: 0.75rem; }
}
#ac-gift-certificates .ac-gift-amount-presets {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}
@media (min-width: 640px) {
  #ac-gift-certificates .ac-gift-amount-presets {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
  }
}
#ac-gift-certificates .ac-gift-amount-field {
  position: relative;
  width: 100%;
}
#ac-gift-certificates .ac-gift-amount-prefix {
  position: absolute;
  left: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  color: #a3a3a3 !important;
  font-weight: 700;
  pointer-events: none;
  line-height: 1;
  z-index: 1;
}
#ac-gift-certificates .ac-gift-amount-input,
#ac-gift-certificates .ac-gift-amount-field input[type="number"] {
  width: 100% !important;
  max-width: 100% !important;
  display: block;
  padding: 0.875rem 1rem 0.875rem 2.5rem !important;
  background-color: #fafafa !important;
  border: 2px solid #e5e5e5 !important;
  border-radius: 0.75rem !important;
  color: #171717 !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  box-shadow: none !important;
  -moz-appearance: textfield;
  appearance: textfield;
}
#ac-gift-certificates .ac-gift-amount-input::-webkit-outer-spin-button,
#ac-gift-certificates .ac-gift-amount-input::-webkit-inner-spin-button,
#ac-gift-certificates .ac-gift-amount-field input[type="number"]::-webkit-outer-spin-button,
#ac-gift-certificates .ac-gift-amount-field input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
#ac-gift-certificates .ac-gift-amount-input:focus,
#ac-gift-certificates .ac-gift-amount-field input[type="number"]:focus {
  outline: none !important;
  border-color: #006bb6 !important;
  background-color: #fafafa !important;
}
#ac-gift-certificates .ac-gift-amount-input::placeholder {
  color: #a3a3a3 !important;
  font-weight: 500;
}
@media (max-width: 639px) {
  #ac-gift-certificates .ac-gift-value-display .text-5xl {
    font-size: 3rem;
    line-height: 1;
  }
  #ac-gift-certificates .amount-btn {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
    font-size: 0.8125rem !important;
  }
  #ac-gift-certificates h1 {
    font-size: 2.25rem !important;
    line-height: 1.1 !important;
  }
}
#ac-gift-certificates .amount-btn {
  border: none !important;
  cursor: pointer;
  text-transform: none !important;
  border-radius: 9999px !important;
  min-height: 0 !important;
}
#ac-gift-certificates .amount-btn.bg-neutral-900 {
  background-color: #171717 !important;
  color: #ffffff !important;
}
#ac-gift-certificates .amount-btn.bg-neutral-100 {
  background-color: #f5f5f5 !important;
  color: #525252 !important;
}
#ac-gift-certificates .amount-btn.bg-neutral-100:hover {
  background-color: #e5e5e5 !important;
}
#ac-gift-certificates .ac-gift-input:not(.ac-gift-amount-input),
#ac-gift-certificates .gift-form .form-control:not(.ac-gift-amount-input) {
  box-sizing: border-box !important;
  background-color: #fafafa !important;
  border: 2px solid #e5e5e5 !important;
  border-radius: 0.75rem !important;
  color: #171717 !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  box-shadow: none !important;
  width: 100% !important;
  padding: 0.875rem 1rem !important;
  height: auto !important;
  min-height: 0 !important;
}
#ac-gift-certificates .ac-gift-input:focus,
#ac-gift-certificates .gift-form .form-control:focus {
  outline: none !important;
  border-color: #006bb6 !important;
}
#ac-gift-certificates .ac-gift-input::placeholder,
#ac-gift-certificates .gift-form .form-control::placeholder {
  color: #a3a3a3 !important;
}
#ac-gift-certificates .ac-gift-submit,
#ac-gift-certificates .gift-form button[type="submit"] {
  width: 100% !important;
  padding: 1rem !important;
  margin-top: 2rem !important;
  background-color: #171717 !important;
  color: #ffffff !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: 10px !important;
  text-transform: none !important;
  cursor: pointer;
}
#ac-gift-certificates .ac-gift-submit:hover,
#ac-gift-certificates .gift-form button[type="submit"]:hover {
  background-color: #404040 !important;
}
#ac-gift-certificates h3 {
  color: #171717 !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 3px;
  font-size: 11px !important;
  margin: 0 0 1.5rem !important;
}
#ac-gift-certificates label {
  color: #171717 !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 0.75rem !important;
}
#ac-gift-certificates .gift-form .error {
  display: block;
  margin-top: 0.25rem;
}

#ac-gift-thankyou .text-neutral-500 {
  color: #737373 !important;
}
#ac-gift-thankyou .text-neutral-900 {
  color: #171717 !important;
}
#ac-gift-thankyou .ac-gift-thankyou-icon {
  color: #006bb6 !important;
  line-height: 1;
}
#ac-gift-thankyou .ac-gift-thankyou-btn {
  border-radius: 9999px !important;
  text-decoration: none !important;
  text-transform: none !important;
  background-color: #171717 !important;
  color: #ffffff !important;
}
#ac-gift-thankyou .ac-gift-thankyou-btn:hover {
  background-color: #404040 !important;
  color: #ffffff !important;
}
@media (min-width: 768px) {
  #ac-gift-thankyou .md\:text-5xl { font-size: 3rem; line-height: 1; }
}

/* About page — mockup/artculture/views/about.php */
#ac-about-page.ac-about-page {
  font-family: Montserrat, var(--ac-font), sans-serif;
  color: #171717;
  background-color: var(--ac-bg, #fff);
  -webkit-font-smoothing: antialiased;
}

body #main-content #ac-about-page h1,
body #main-content #ac-about-page h2.ac-about-cta-heading {
  color: #171717 !important;
  font-weight: 700 !important;
  text-transform: none !important;
}

#ac-about-page .ac-about-section {
  margin-bottom: 5rem;
}

#ac-about-page .ac-about-hero {
  margin-bottom: 5rem;
}

#ac-about-page .ac-about-eyebrow {
  margin: 0 0 1rem;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #006bb6 !important;
}

#ac-about-page .ac-about-title {
  margin: 0;
  max-width: 800px;
  font-size: 2.25rem;
  font-weight: 700 !important;
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: #171717 !important;
}

#ac-about-page .ac-about-intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
}

#ac-about-page .ac-about-intro-copy {
  flex: 1;
  min-width: 0;
  width: 100%;
}

#ac-about-page .ac-about-section-label {
  margin: 0 0 1.5rem;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase !important;
  color: #171717 !important;
}

#ac-about-page .ac-about-lead {
  margin: 0 0 1.5rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.625;
  color: #171717 !important;
}

#ac-about-page .ac-about-body,
#ac-about-page .ac-about-quote-body,
#ac-about-page .ac-about-cta-text {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.625;
  color: #737373 !important;
}

#ac-about-page .ac-about-logo {
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  width: 100%;
}

#ac-about-page .ac-about-logo-img {
  display: block;
  width: 200px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

#ac-about-page .ac-about-feature-image {
  height: 300px;
  border-radius: 1rem;
  overflow: hidden;
}

#ac-about-page .ac-about-feature-image-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#ac-about-page .ac-about-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}

#ac-about-page .ac-about-stat {
  padding-top: 1.25rem;
  border-top: 2px solid #e5e5e5;
}

#ac-about-page .ac-about-stat--accent {
  border-top-color: #006bb6;
}

#ac-about-page .ac-about-stat-value {
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.025em;
  color: #171717 !important;
}

#ac-about-page .ac-about-stat-label {
  margin-top: 0.25rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: #a3a3a3 !important;
}

#ac-about-page .ac-about-quote {
  padding-top: 4rem;
  border-top: 1px solid #e5e5e5;
}

#ac-about-page .ac-about-quote-inner {
  max-width: 800px;
}

#ac-about-page .ac-about-quote-lead {
  margin: 0 0 1.5rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.375;
  letter-spacing: -0.025em;
  color: #171717 !important;
}

#ac-about-page .ac-about-gallery {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}

#ac-about-page .ac-about-gallery-item {
  height: 280px;
  border-radius: 1rem;
  overflow: hidden;
}

#ac-about-page .ac-about-gallery-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#ac-about-page .ac-about-cta {
  margin-bottom: 0;
  padding-top: 4rem;
  border-top: 1px solid #e5e5e5;
}

#ac-about-page .ac-about-cta-inner {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

#ac-about-page .ac-about-cta-heading {
  margin: 0 0 0.5rem;
  font-size: 1.875rem;
  font-weight: 700 !important;
  line-height: 1.2;
  letter-spacing: -0.025em;
  color: #171717 !important;
}

#ac-about-page .ac-about-cta-btn {
  display: inline-block;
  flex-shrink: 0;
  width: fit-content;
  max-width: 100%;
  padding: 1rem 2rem;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.25;
  color: #fff !important;
  text-decoration: none !important;
  text-transform: none !important;
  background-color: #171717 !important;
  border-radius: 10px;
  transition: background-color 0.2s ease;
}

#ac-about-page .ac-about-cta-btn:hover {
  background-color: #404040 !important;
  color: #fff !important;
}

@media (min-width: 768px) {
  #ac-about-page .ac-about-title {
    font-size: 3rem;
  }

  #ac-about-page .ac-about-intro {
    flex-direction: row;
    gap: 4rem;
    align-items: center;
  }

  #ac-about-page .ac-about-logo {
    display: block;
    width: auto;
  }

  #ac-about-page .ac-about-logo-img {
    width: 340px;
  }

  #ac-about-page .ac-about-lead {
    font-size: 1.5rem;
  }

  #ac-about-page .ac-about-body,
  #ac-about-page .ac-about-quote-body,
  #ac-about-page .ac-about-cta-text {
    font-size: 1rem;
  }

  #ac-about-page .ac-about-feature-image {
    height: 500px;
  }

  #ac-about-page .ac-about-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2.5rem;
  }

  #ac-about-page .ac-about-stat-value {
    font-size: 3rem;
  }

  #ac-about-page .ac-about-quote-lead {
    font-size: 1.875rem;
  }

  #ac-about-page .ac-about-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #ac-about-page .ac-about-gallery-item {
    height: 400px;
  }

  #ac-about-page .ac-about-cta-inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
  }

  #ac-about-page .ac-about-cta-heading {
    font-size: 2.25rem;
  }
}

@media (min-width: 1024px) {
  #ac-about-page .ac-about-title {
    font-size: 4.5rem;
  }
}

@media (max-width: 767px) {
  #ac-about-page .ac-about-section,
  #ac-about-page .ac-about-hero {
    margin-bottom: 3rem;
  }

  #ac-about-page .ac-about-quote {
    padding-top: 3rem;
  }

  #ac-about-page .ac-about-cta {
    padding-top: 3rem;
  }

  #ac-about-page .ac-about-cta-btn {
    width: 100%;
    text-align: center;
  }
}

.calendarpage .text-neutral-200,
.bios .text-neutral-200 {
  color: var(--ac-body-text) !important;
}

/* Keep intentional dark surfaces */
.ac-dark-surface,
footer,
#ac-hero {
  /* no override */
}

/* Social icons — mockup/artculture/components/layout/nav.php + footer.php */
#cc-main-nav .ac-header-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
}

#cc-main-nav .ac-header-social {
  display: none;
  align-items: center;
}

@media (min-width: 768px) {
  #cc-main-nav .ac-header-social {
    display: flex;
  }
}

#cc-main-nav .ac-social,
#nav-drawer .ac-drawer-follow .ac-social,
#ac-footer .ac-social--footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  padding: 0;
}

#cc-main-nav .ac-social,
#nav-drawer .ac-drawer-follow .ac-social {
  gap: 0.5rem;
}

#ac-footer .ac-social--footer {
  gap: 0.75rem;
}

#cc-main-nav .ac-social-link,
#nav-drawer .ac-social-link,
#ac-footer .ac-social-link {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: auto !important;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 9999px;
  color: #fff !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: 1;
  text-decoration: none !important;
  text-transform: none !important;
  box-sizing: border-box;
  transition: background-color 0.2s ease;
}

#cc-main-nav .ac-social-icon,
#nav-drawer .ac-social-icon,
#ac-footer .ac-social-icon {
  display: block;
  flex-shrink: 0;
  fill: currentColor;
  line-height: 1;
}

/* Header — w-8 h-8 rounded-full bg-neutral-900, icon w-3.5 h-3.5 */
#cc-main-nav .ac-social--header .ac-social-link {
  width: 2rem;
  height: 2rem;
  padding: 9px;
  background-color: #171717;
}

#cc-main-nav .ac-social--header .ac-social-link:hover {
  background-color: #404040;
}

#cc-main-nav .ac-social--header .ac-social-icon {
  width: 0.875rem;
  height: 0.875rem;
}

/* Drawer — w-10 h-10 rounded-full bg-neutral-900, icon w-4 h-4 */
#nav-drawer .ac-social--drawer .ac-social-link {
  width: 2.5rem;
  height: 2.5rem;
  background-color: #171717;
  padding: 12px;
}

#nav-drawer .ac-social--drawer .ac-social-link:hover {
  background-color: #404040;
}

#nav-drawer .ac-social--drawer .ac-social-icon {
  width: 1rem;
  height: 1rem;
  
}

/* Footer — w-10 h-10 rounded-full bg-white/10, icon w-4 h-4 */
#ac-footer .ac-social--footer .ac-social-link {
  width: 2.5rem;
  height: 2.5rem;
  background-color: rgba(255, 255, 255, 0.1);
   padding: 12px;
}

#ac-footer .ac-social--footer .ac-social-link:hover {
  background-color: rgba(255, 255, 255, 0.2);
}

#ac-footer .ac-social--footer .ac-social-icon {
  width: 1rem;
  height: 1rem;
 
}

/* Footer — mockup/artculture/components/layout/footer.php */
#ac-footer.ac-footer {
  overflow: visible;
  position: relative;
  padding-top: 5rem;
  padding-bottom: 2.5rem;
  background-color: #171717 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-family: Montserrat, var(--ac-font), sans-serif;
  color: #fff;
}

#ac-footer .ac-footer-inner {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
  box-sizing: border-box;
}

#ac-footer .ac-footer-brand {
  margin-bottom: 1rem;
  text-align: center;
}

#ac-footer .ac-footer-logo-link {
  display: inline-block;
  margin-bottom: 1rem;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

#ac-footer .ac-footer-logo-link:hover {
  opacity: 0.9;
}

#ac-footer .ac-footer-logo {
  display: block;
  width: 250px;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
}

#ac-footer .ac-footer-blurb {
  margin: 0 auto;
  max-width: 560px;
  font-size: 0.875rem;
  line-height: 1.625;
  color: #737373 !important;
}

#ac-footer .ac-footer-divider {
  margin: 2.5rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

#ac-footer .ac-footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2.5rem;
  margin-bottom: 4rem;
}

#ac-footer .ac-footer-heading {
  margin: 0 0 1.25rem;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase !important;
  color: #fff !important;
}

#ac-footer .ac-footer-nav-list,
#ac-footer .ac-footer-nav--more,
#ac-footer .ac-footer-contact {
  list-style: none;
  margin: 0;
  padding: 0;
}

#ac-footer .ac-footer-nav-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

#ac-footer .ac-footer-nav--more {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

#ac-footer .ac-footer-contact {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

#ac-footer .ac-footer-dropdown {
  position: relative;
}

#ac-footer .ac-footer-link,
#ac-footer .cnav.cnavbottom ul li a {
  display: block;
  width: auto !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: #737373 !important;
  text-decoration: none !important;
  text-transform: none !important;
  transition: color 0.2s ease;
}

#ac-footer .ac-footer-link:hover,
#ac-footer .cnav.cnavbottom ul li a:hover,
#ac-footer .ac-footer-link.is-active,
#ac-footer .cnav.cnavbottom ul li a.is-active {
  color: #fff !important;
}

#ac-footer .cnav.cnavbottom ul li {
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  float: none !important;
}

#ac-footer .ac-footer-dropdown-menu {
  position: absolute;
  bottom: 100%;
  left: 0;
  z-index: 50;
  width: 13rem;
  margin-bottom: 0.5rem;
  padding: 0.5rem 0;
  background-color: #262626;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.25);
}

#ac-footer .ac-footer-dropdown-menu a,
#ac-footer .ac-footer-subdropdown-toggle {
  display: block;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #a3a3a3 !important;
  text-decoration: none !important;
  background: transparent;
  border: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
  transition: color 0.2s ease, background-color 0.2s ease;
}

#ac-footer .ac-footer-dropdown-menu a:hover,
#ac-footer .ac-footer-subdropdown-toggle:hover {
  color: #fff !important;
  background-color: rgba(255, 255, 255, 0.05);
}

#ac-footer .ac-footer-dropdown-toggle {
  display: none;
}

#ac-footer .ac-footer-dropdown-menu {
  display: none;
}

#ac-footer .ac-footer-dropdown-mobile {
  display: block;
}

#ac-footer .ac-footer-dropdown-label {
  display: block;
  margin: 0 0 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #737373 !important;
}

#ac-footer .ac-footer-dropdown-nested {
  margin: 0 0 0.75rem 1rem;
  padding-left: 1rem;
  border-left: 1px solid rgba(255, 255, 255, 0.1);
}

#ac-footer .ac-footer-dropdown-nested .ac-footer-link {
  margin-bottom: 0.5rem;
}

#ac-footer .ac-footer-dropdown-nested .ac-footer-link:last-child {
  margin-bottom: 0;
}

#ac-footer .ac-footer-bottom {
  display: flex;
  justify-content: center;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

#ac-footer .ac-footer-copyright {
  font-size: 0.75rem;
  font-weight: 700;
  color: #525252 !important;
}

@media (min-width: 640px) {
  #ac-footer .ac-footer-inner {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  #ac-footer .ac-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.5rem;
  }

  #ac-footer .ac-footer-logo {
    width: 350px;
  }
}

@media (min-width: 768px) {
  #ac-footer .ac-footer-dropdown-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0;
    border: none;
    background: transparent;
    font-size: 0.875rem;
    font-weight: 500;
    color: #737373 !important;
    cursor: pointer;
    transition: color 0.2s ease;
  }

  #ac-footer .ac-footer-dropdown-toggle:hover {
    color: #fff !important;
  }

  #ac-footer .ac-footer-dropdown-chevron {
    width: 0.75rem;
    height: 0.75rem;
    transition: transform 0.2s ease;
  }

  #ac-footer .ac-footer-dropdown-chevron.is-open {
    transform: rotate(180deg);
  }

  #ac-footer .ac-footer-dropdown-menu:not(.hidden) {
    display: block;
  }

  #ac-footer .ac-footer-dropdown-menu.hidden {
    display: none;
  }

  #ac-footer .ac-footer-dropdown-mobile {
    display: none;
  }
}

@media (min-width: 1024px) {
  #ac-footer .ac-footer-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 3rem;
  }
}

@media (max-width: 767px) {
  #ac-footer.ac-footer {
    padding-top: 3.5rem;
    padding-bottom: 2rem;
  }

  #ac-footer .ac-footer-grid {
    gap: 2rem;
    margin-bottom: 2.5rem;
  }

  #ac-footer .ac-footer-col--social {
    padding-top: 0.25rem;
  }

  #ac-footer .ac-social--footer {
    gap: 0.75rem;
  }

  #ac-footer .ac-footer-heading {
    margin-bottom: 1rem;
  }

  #ac-footer .ac-footer-divider {
    margin: 2rem 0;
  }
}

.bg-\[\#171C1C\]:not(.ac-dark-surface):not(footer):not(footer *) {
  background-color: #ffffff !important;
}

/* ─── Home shell — mockup index.php + views/home.php ─── */
#main-content.ac-home-page {
  padding-top: 118px;
}

#main-content.ac-home-page #ac-hero {

}

#main-content.ac-inner-page {
  padding-top: 118px;
}

/* ─── Hero carousel — mockup carousel.php ─── */
#ac-hero {
  margin-top: 0;
  color: #fff;
  isolation: isolate;
}

#ac-hero .ac-hero-bg-layer {
  z-index: 0;
}

#ac-hero .ac-hero-overlay {
  z-index: 1;
}

#ac-hero .ac-hero-content {
  position: relative;
  z-index: 10;
}

#ac-hero .ac-hero-meta {
  position: relative;
  z-index: 20;
  flex-shrink: 0;
  visibility: visible;
  opacity: 1;
}

#ac-hero .ac-hero-meta,
#ac-hero .ac-hero-meta .text-white,
#ac-hero .ac-hero-meta p,
#ac-hero .ac-hero-panels,
#ac-hero .ac-hero-panels h1,
#ac-hero .ac-hero-panels h1 a,
#ac-hero .ac-hero-rail,
#ac-hero .ac-hero-rail .text-white {
  color: #fff;
}

#ac-hero .ac-hero-meta .text-white\/60,
#ac-hero .ac-hero-rail .text-white\/60,
#ac-hero .text-white\/60 {
  color: rgb(255 255 255 / 0.6);
}

#ac-hero .ac-hero-panels .text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}

#ac-hero .ac-hero-panel.hidden {
  display: none !important;
}

/* Prevent light-theme overrides from washing out hero text */
#main-content.ac-home-page #ac-hero .text-white,
#main-content.ac-home-page #ac-hero .ac-hero-meta,
#main-content.ac-home-page #ac-hero .ac-hero-meta p,
#main-content.ac-home-page #ac-hero h1,
#main-content.ac-home-page #ac-hero h1 a {
  color: #fff !important;
}
#main-content.ac-home-page #ac-hero .text-white\/60 {
  color: rgb(255 255 255 / 0.6) !important;
}
#main-content.ac-home-page #ac-hero .text-white\/80 {
  color: rgb(255 255 255 / 0.8) !important;
}

/* Hero fade-up animation with stagger — mockup custom.css */
.cc-hero-fade { animation: heroFadeUp 0.6s ease both; }
.cc-hero-fade-delay-1 { animation-delay: 0.1s; }
.cc-hero-fade-delay-2 { animation-delay: 0.2s; }
@keyframes heroFadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Segmented progress bar — mockup carousel.php + custom.css */
.ac-hero-progress-bar.cc-hero-progress {
  width: 0%;
  animation: heroProgress 6s linear forwards;
}
@keyframes heroProgress {
  from { width: 0%; }
  to { width: 100%; }
}

/* Hero image glow — mockup custom.css */
.cc-hero-glow { animation: heroGlow 4s ease-in-out infinite; }
@keyframes heroGlow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(0, 107, 182, 0.15); }
  50% { box-shadow: 0 0 24px 8px rgba(0, 107, 182, 0.12); }
}

/* Hero image reveal — slight scale + fade on slide change (mockup custom.css) */
.cc-image-reveal { animation: ccImageReveal 0.9s cubic-bezier(0.22, 0.61, 0.36, 1) both; }
@keyframes ccImageReveal {
  0% { opacity: 0.6; transform: scale(1.06); }
  100% { opacity: 1; transform: scale(1); }
}

.cc-hover-lift:hover { transform: translateY(-2px); }

/* Hidden scrollbar utility — mockup custom.css */
.cc-no-scrollbar::-webkit-scrollbar { display: none; }
.cc-no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

::selection { background: #006bb6; color: #fff; }

[x-cloak] { display: none !important; }

/* ─── Show grid / calendar utilities — mockup show-grid.php ───
   These arbitrary-value classes are used by Element/show_grid.ctp but are not
   in the purged Tailwind build, so they are defined here explicitly. */
#ac-show-grid .aspect-\[3\/2\] { aspect-ratio: 3 / 2; }
#ac-show-grid .aspect-\[16\/9\] { aspect-ratio: 16 / 9; }
#ac-show-grid .min-h-\[120px\] { min-height: 120px; }
#ac-show-grid .w-\[300px\] { width: 300px; }
#ac-show-grid .w-80 { width: 20rem; }
@media (min-width: 768px) {
  #ac-show-grid .md\:w-\[220px\] { width: 220px; }
}
#ac-show-grid .tracking-\[2px\] { letter-spacing: 2px; }
#ac-show-grid .first\:pt-0:first-child { padding-top: 0; }
#ac-show-grid .last\:pb-0:last-child { padding-bottom: 0; }

#ac-show-grid .bg-\[\#006bb6\]\/10 { background-color: rgb(0 107 182 / 0.1); }
#ac-show-grid .bg-\[\#006bb6\]\/20 { background-color: rgb(0 107 182 / 0.2); }
#ac-show-grid .hover\:bg-\[\#006bb6\]\/20:hover { background-color: rgb(0 107 182 / 0.2); }
#ac-show-grid .hover\:bg-\[\#00518a\]:hover { background-color: #00518a; }
#ac-show-grid .bg-neutral-50\/40 { background-color: rgb(250 250 250 / 0.4); }
#ac-show-grid .border-neutral-200\/60 { border-color: rgb(229 229 229 / 0.6); }
#ac-show-grid .border-\[\#006bb6\]\/30 { border-color: rgb(0 107 182 / 0.3); }

#ac-show-grid .group:hover .group-hover\:scale-\[1\.04\] { transform: scale(1.04); }
#ac-show-grid .group:hover .group-hover\:scale-105 { transform: scale(1.05); }
#ac-show-grid .group:hover .group-hover\:text-\[\#006bb6\] { color: #006bb6; }
#ac-show-grid .group\/btn:hover .group-hover\/btn\:translate-x-1 { transform: translateX(0.25rem); }
#ac-show-grid .group:hover .group-hover\:visible { visibility: visible; }
#ac-show-grid .group:hover .group-hover\:opacity-100 { opacity: 1; }

/* Home upcoming shows + hero — mobile layout (mockup home.php / carousel.php / show-grid.php) */
@media (max-width: 767px) {
  /* Hero */
  #main-content.ac-home-page #ac-hero h1,
  #main-content.ac-home-page #ac-hero h1 a {
    font-size: 2.25rem !important;
    line-height: 1.02 !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em;
    margin-bottom: 1.5rem;
  }

  #main-content.ac-home-page #ac-hero .ac-hero-meta {
    padding-top: 140px;
  }

  #main-content.ac-home-page #ac-hero .ac-hero-meta > p {
    font-size: 11px;
    letter-spacing: 4px;
  }

  #main-content.ac-home-page #ac-hero .ac-hero-meta .flex.gap-2 button {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 9999px;
    border: 1px solid rgb(255 255 255 / 0.3);
    font-size: 0.875rem;
  }

  #main-content.ac-home-page #ac-hero .ac-hero-panels .grid.grid-cols-2 {
    gap: 1rem 1.5rem;
  }

  #main-content.ac-home-page #ac-hero .ac-hero-panels .text-\[10px\] {
    font-size: 10px;
    letter-spacing: 0.15em;
    margin-bottom: 0.5rem;
  }

  #main-content.ac-home-page #ac-hero .ac-hero-panels .rounded-full.text-xs {
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
  }

  #main-content.ac-home-page #ac-hero .ac-hero-panels .text-sm.font-bold {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  #main-content.ac-home-page #ac-hero .ac-hero-panels p.text-white\/80 {
    font-size: 1rem;
    line-height: 1.625;
    margin-bottom: 2rem;
  }

  #main-content.ac-home-page #ac-hero .ac-hero-panels a.inline-flex,
  #main-content.ac-home-page #ac-hero .ac-hero-panels span.inline-flex {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    max-width: 100%;
    padding: 1rem 1.75rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 700;
    box-sizing: border-box;
  }

  #main-content.ac-home-page #ac-hero .ac-hero-rail {
    padding-bottom: 1.5rem;
  }

  #main-content.ac-home-page #ac-hero .ac-hero-rail .grid {
    gap: 1rem;
  }

  #main-content.ac-home-page #ac-hero .ac-hero-thumb .rounded-lg {
    border-radius: 0.5rem;
  }

  #main-content.ac-home-page #ac-hero .ac-hero-thumb .text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  #main-content.ac-home-page #ac-hero .ac-hero-thumb .text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
  }

  /* Upcoming Shows section */
  #main-content.ac-home-page #ac-show-grid.ac-show-grid-home {
    padding-top: 1rem;
    padding-bottom: 5rem;
  }

  #main-content.ac-home-page #ac-show-grid.ac-show-grid-home > .max-w-\[1400px\] {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  #main-content.ac-home-page #ac-show-grid.ac-show-grid-home h2 {
    font-size: 1.5rem;
    line-height: 2rem;
    font-weight: 700;
    letter-spacing: -0.025em;
    color: #000;
  }

  #main-content.ac-home-page #ac-show-grid.ac-show-grid-home .flex.items-center.gap-4.mb-8 {
    margin-bottom: 2rem;
  }

  #main-content.ac-home-page #ac-show-grid.ac-show-grid-home .ac-home-show-list > div {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  #main-content.ac-home-page #ac-show-grid.ac-show-grid-home .ac-home-show-list > div:first-child {
    padding-top: 0;
  }

  #main-content.ac-home-page #ac-show-grid.ac-show-grid-home .ac-home-show-list > div:last-child {
    padding-bottom: 0;
  }

  #main-content.ac-home-page #ac-show-grid.ac-show-grid-home .ac-home-show-list .group.flex.flex-col {
    gap: 1.25rem;
  }

  #main-content.ac-home-page #ac-show-grid.ac-show-grid-home .ac-home-show-list h3 {
    font-size: 1.25rem !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em;
    color: #171717 !important;
    margin-bottom: 0.75rem;
  }

  #main-content.ac-home-page #ac-show-grid.ac-show-grid-home .ac-home-show-list .aspect-\[3\/2\] {
    border-radius: 1rem;
    overflow: hidden;
  }

  #main-content.ac-home-page #ac-show-grid.ac-show-grid-home .ac-home-show-list .flex.flex-wrap.items-center.gap-2 {
    gap: 0.5rem;
    margin-bottom: 0.75rem;
  }

  #main-content.ac-home-page #ac-show-grid.ac-show-grid-home .ac-home-show-list .flex.flex-wrap .rounded-full {
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
  }

  #main-content.ac-home-page #ac-show-grid.ac-show-grid-home .ac-home-show-list .flex.flex-wrap .text-neutral-400 {
    font-size: 0.75rem;
    color: #a3a3a3;
  }

  #main-content.ac-home-page #ac-show-grid.ac-show-grid-home .ac-home-show-list p.text-sm {
    font-size: 0.875rem;
    line-height: 1.625;
    color: #737373;
  }

  #main-content.ac-home-page #ac-show-grid.ac-show-grid-home .ac-home-list-cta {
    width: 100%;
  }

  #main-content.ac-home-page #ac-show-grid.ac-show-grid-home .ac-home-list-cta a,
  #main-content.ac-home-page #ac-show-grid.ac-show-grid-home .ac-home-list-cta span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.75rem 1.5rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 700;
    box-sizing: border-box;
  }

  #main-content.ac-home-page #ac-show-grid.ac-show-grid-home .ac-home-list-cta a {
    background-color: #171717;
    color: #fff;
    border: 2px solid transparent;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    display: inline-flex;
    width: auto;
  }

  #main-content.ac-home-page #ac-show-grid.ac-show-grid-home .ac-home-list-cta span {
    width: auto;
  }

  #main-content.ac-home-page #ac-show-grid.ac-show-grid-home .ac-home-calendar-link {
    display: block;
    width: 100%;
    padding: 1rem;
    background-color: #000;
    color: #fff;
    font-size: 0.875rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    border-radius: 10px;
    transition: background-color 0.2s ease;
    box-sizing: border-box;
  }

  #main-content.ac-home-page #ac-show-grid.ac-show-grid-home .ac-home-calendar-link:hover {
    background-color: #262626;
    color: #fff;
  }

  #main-content.ac-home-page #ac-show-grid.ac-show-grid-home .rounded-\[10px\] {
    border-radius: 10px;
  }
}

/* Calendar page — mockup views/calendar.php */
.calendarpage .tracking-\[4px\] { letter-spacing: 4px; }
.calendarpage .leading-\[1\.05\] { line-height: 1.05; }
.calendarpage .max-w-\[800px\] { max-width: 800px; }
.calendarpage .max-w-\[500px\] { max-width: 500px; }
.calendarpage p.text-neutral-500 {
  color: #737373 !important;
}

/* Comedian profile — mockup views/comedian.php */
.comedianpage {
  font-family: Montserrat, sans-serif;
  color: #171717;
}
.comedianpage .grid {
  display: grid;
}
.comedianpage .grid-cols-1 {
  grid-template-columns: minmax(0, 1fr);
}
.comedianpage .gap-8 { gap: 2rem; }
.comedianpage .items-stretch { align-items: stretch; }
.comedianpage .flex { display: flex; }
.comedianpage .flex-col { flex-direction: column; }
.comedianpage .justify-center { justify-content: center; }
.comedianpage .items-start { align-items: flex-start; }
.comedianpage .items-baseline { align-items: baseline; }
.comedianpage .justify-between { justify-content: space-between; }
.comedianpage .gap-10 { gap: 2.5rem; }
.comedianpage .gap-6 { gap: 1.5rem; }
.comedianpage .gap-2 { gap: 0.5rem; }
.comedianpage .gap-5 { gap: 1.25rem; }
.comedianpage .mb-20 { margin-bottom: 5rem; }
.comedianpage .mb-16 { margin-bottom: 4rem; }
.comedianpage .mb-8 { margin-bottom: 2rem; }
.comedianpage .mb-6 { margin-bottom: 1.5rem; }
.comedianpage .mb-4 { margin-bottom: 1rem; }
.comedianpage .mb-3 { margin-bottom: 0.75rem; }
.comedianpage .mb-10 { margin-bottom: 2.5rem; }
.comedianpage .mt-1 { margin-top: 0.25rem; }
.comedianpage .pt-6 { padding-top: 1.5rem; }
.comedianpage .pt-12 { padding-top: 3rem; }
.comedianpage .py-8 { padding-top: 2rem; padding-bottom: 2rem; }
.comedianpage .space-y-4 > :not([hidden]) ~ :not([hidden]) { margin-top: 1rem; }
.comedianpage .flex-wrap { flex-wrap: wrap; }
.comedianpage .flex-shrink-0 { flex-shrink: 0; }
.comedianpage .min-w-0 { min-width: 0; }
.comedianpage .flex-1 { flex: 1 1 0%; }
.comedianpage .overflow-hidden { overflow: hidden; }
.comedianpage .object-cover { object-fit: cover; }
.comedianpage .w-full { width: 100%; }
.comedianpage .h-full { height: 100%; }
.comedianpage .rounded-2xl { border-radius: 1rem; }
.comedianpage .rounded-full { border-radius: 9999px; }
.comedianpage .whitespace-nowrap { white-space: nowrap; }
.comedianpage .inline-flex { display: inline-flex; }
.comedianpage .border-2 { border-width: 2px; }
.comedianpage .border-t { border-top-width: 1px; }
.comedianpage .border-transparent { border-color: transparent; }
.comedianpage .px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
.comedianpage .py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; }
.comedianpage .px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.comedianpage .py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.comedianpage .font-semibold { font-weight: 600; }
.comedianpage .cursor-not-allowed { cursor: not-allowed; }
.comedianpage .transition-colors { transition-property: color, background-color, border-color; transition-duration: 150ms; }
.comedianpage .transition-transform { transition-property: transform; transition-duration: 150ms; }
.comedianpage .aspect-\[4\/5\] { aspect-ratio: 4 / 5; }
.comedianpage .aspect-\[3\/2\] { aspect-ratio: 3 / 2; }
.comedianpage .tracking-\[4px\] { letter-spacing: 4px; }
.comedianpage .tracking-\[3px\] { letter-spacing: 3px; }
.comedianpage .tracking-tight { letter-spacing: -0.025em; }
.comedianpage .leading-\[1\.05\] { line-height: 1.05; }
.comedianpage .leading-tight { line-height: 1.25; }
.comedianpage .leading-relaxed { line-height: 1.625; }
.comedianpage .max-w-\[550px\] { max-width: 550px; }
.comedianpage .text-\[11px\] { font-size: 11px; line-height: 1.4; }
.comedianpage .text-xs { font-size: 0.75rem; line-height: 1rem; }
.comedianpage .text-sm { font-size: 0.875rem; line-height: 1.25rem; }
.comedianpage .text-base { font-size: 1rem; line-height: 1.5rem; }
.comedianpage .text-xl { font-size: 1.25rem; line-height: 1.75rem; }
.comedianpage .text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
.comedianpage h1 {
  color: #171717 !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: -0.025em;
}
.comedianpage .ac-comedian-section-label {
  color: #171717 !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 3px;
}
.comedianpage .ac-comedian-eyebrow {
  color: #006bb6 !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 4px;
}
.comedianpage .ac-comedian-show-title {
  color: #171717 !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: -0.025em;
}
.comedianpage .text-neutral-500,
.comedianpage .ac-comedian-about p {
  color: #737373 !important;
}
.comedianpage .text-neutral-400 {
  color: #a3a3a3 !important;
}
.comedianpage .text-neutral-600 {
  color: #525252 !important;
}
.comedianpage .text-neutral-900 {
  color: #171717 !important;
}
.comedianpage .text-\[\#006bb6\] {
  color: #006bb6 !important;
}
.comedianpage .text-white {
  color: #ffffff !important;
}
.comedianpage .bg-\[\#006bb6\] {
  background-color: #006bb6 !important;
}
.comedianpage .border-neutral-200 {
  border-color: #e5e5e5 !important;
}
.comedianpage .divide-neutral-200 > :not([hidden]) ~ :not([hidden]) {
  border-color: #e5e5e5;
}
.comedianpage .bg-neutral-100 {
  background-color: #f5f5f5 !important;
}
.comedianpage .bg-neutral-900 {
  background-color: #171717 !important;
}
.comedianpage .hover\:bg-\[\#006bb6\]:hover {
  background-color: #006bb6 !important;
  color: #ffffff !important;
}
.comedianpage .hover\:bg-neutral-700:hover {
  background-color: #404040 !important;
  color: #ffffff !important;
}
.comedianpage .hover\:text-\[\#00518a\]:hover { color: #00518a !important; }
.comedianpage .hover\:text-neutral-900:hover { color: #171717 !important; }
.comedianpage .line-clamp-1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.comedianpage .line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.comedianpage .first\:pt-0:first-child { padding-top: 0; }
.comedianpage .last\:pb-0:last-child { padding-bottom: 0; }
.comedianpage .duration-500 { transition-duration: 500ms; }
.comedianpage .group:hover .group-hover\:scale-\[1\.04\] { transform: scale(1.04); }
.comedianpage .group:hover .group-hover\:text-\[\#006bb6\],
.comedianpage a.group:hover .ac-comedian-show-title,
.Comedians .comedianpage a.group:hover .ac-comedian-show-title,
.Comedians #ac-comedian-profile a.group:hover .ac-comedian-show-title {
  color: #006bb6 !important;
}
.comedianpage .group\/btn:hover .group-hover\/btn\:translate-x-1 { transform: translateX(0.25rem); }
/* Legacy template overrides */
.Comedians .comedianpage h1,
.Comedians #ac-comedian-profile h1 {
  color: #171717 !important;
  font-weight: 700 !important;
  text-transform: none !important;
}
.Comedians .comedianpage .text-xl,
.Comedians #ac-comedian-profile .text-xl {
  color: #171717 !important;
}
@media (min-width: 768px) {
  .comedianpage .md\:aspect-\[5\/4\] { aspect-ratio: 5 / 4; }
  .comedianpage .md\:w-\[220px\] { width: 220px; }
  .comedianpage .md\:flex-row { flex-direction: row; }
  .comedianpage .md\:items-center { align-items: center; }
  .comedianpage .md\:flex-shrink-0 { flex-shrink: 0; }
  .comedianpage .md\:text-5xl { font-size: 3rem; line-height: 1; }
  .comedianpage .md\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
}
@media (min-width: 1024px) {
  .comedianpage .lg\:text-6xl { font-size: 3.75rem; line-height: 1; }
  .comedianpage .lg\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
  .comedianpage .lg\:grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .comedianpage .lg\:col-span-6 { grid-column: span 6 / span 6; }
  .comedianpage .lg\:gap-12 { gap: 3rem; }
}

/* Comedians list — mockup views/comedians.php */
.comedianspage,
#ac-comedians-index {
  font-family: Montserrat, sans-serif;
  color: #171717;
}
.comedianspage .tracking-\[4px\],
#ac-comedians-index .tracking-\[4px\] { letter-spacing: 4px; }
.comedianspage .tracking-\[3px\],
#ac-comedians-index .tracking-\[3px\] { letter-spacing: 3px; }
.comedianspage .tracking-wider,
#ac-comedians-index .tracking-wider { letter-spacing: 0.05em; }
.comedianspage .leading-\[1\.05\],
#ac-comedians-index .leading-\[1\.05\] { line-height: 1.05; }
.comedianspage .max-w-\[800px\],
#ac-comedians-index .max-w-\[800px\] { max-width: 800px; }
.comedianspage .max-w-\[500px\],
#ac-comedians-index .max-w-\[500px\] { max-width: 500px; }
.comedianspage p.text-neutral-500,
.comedianspage .text-neutral-500,
#ac-comedians-index p.text-neutral-500 { color: #737373 !important; }
.comedianspage .text-neutral-400,
#ac-comedians-index .text-neutral-400 { color: #a3a3a3 !important; }
.comedianspage .text-neutral-600,
#ac-comedians-index .text-neutral-600 { color: #525252 !important; }
.comedianspage .text-neutral-900,
#ac-comedians-index .text-neutral-900 { color: #171717 !important; }
.comedianspage .text-neutral-300,
#ac-comedians-index .text-neutral-300 { color: #d4d4d4 !important; }
.comedianspage .text-\[\#006bb6\],
#ac-comedians-index .text-\[\#006bb6\] { color: #006bb6 !important; }
.comedianspage .bg-\[\#006bb6\],
#ac-comedians-index .bg-\[\#006bb6\] { background-color: #006bb6 !important; }
.comedianspage .bg-neutral-100,
#ac-comedians-index .bg-neutral-100 { background-color: #f5f5f5 !important; }
.comedianspage .border-neutral-200,
#ac-comedians-index .border-neutral-200 { border-color: #e5e5e5 !important; }
.comedianspage .divide-neutral-200 > :not([hidden]) ~ :not([hidden]),
#ac-comedians-index .divide-neutral-200 > :not([hidden]) ~ :not([hidden]) {
  border-color: #e5e5e5;
}
.comedianspage .w-24,
#ac-comedians-index .w-24 { width: 6rem; }
.comedianspage .h-24,
#ac-comedians-index .h-24 { height: 6rem; }
.comedianspage .h-\[3px\],
#ac-comedians-index .h-\[3px\] { height: 3px; }
.comedianspage .text-\[10px\],
#ac-comedians-index .text-\[10px\] { font-size: 10px; }
.comedianspage .text-\[11px\],
#ac-comedians-index .text-\[11px\] { font-size: 11px; }
.comedianspage .line-clamp-1,
#ac-comedians-index .line-clamp-1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.comedianspage .line-clamp-2,
#ac-comedians-index .line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
/* Most Booked — mockup views/comedians.php */
#ac-comedians-index .ac-most-booked-section h2,
.comedianspage .ac-most-booked-section h2 {
  color: #171717 !important;
  font-weight: 700 !important;
  font-size: 0.875rem !important;
  text-transform: uppercase;
  letter-spacing: 3px;
  margin: 0 !important;
}
#ac-comedians-index .ac-most-booked-accent,
.comedianspage .ac-most-booked-accent {
  background-color: #006bb6 !important;
  border-radius: 9999px !important;
}
#ac-comedians-index .ac-most-booked-grid,
.comedianspage .ac-most-booked-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  column-gap: 3rem;
  row-gap: 0;
}
#ac-comedians-index .ac-most-booked-card,
.comedianspage .ac-most-booked-card {
  min-width: 0;
  text-decoration: none;
  color: inherit;
  align-items: center;
  border-color: #e5e5e5 !important;
}
#ac-comedians-index .ac-most-booked-photo,
.comedianspage .ac-most-booked-photo {
  border-radius: 1rem !important;
  background-color: #f5f5f5 !important;
}
#ac-comedians-index .ac-most-booked-name,
.comedianspage .ac-most-booked-name {
  min-height: 0 !important;
  text-transform: none !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em;
  color: #171717 !important;
  margin: 0 !important;
  font-size: 1.25rem !important;
  line-height: 1.75rem !important;
}
#ac-comedians-index .ac-most-booked-bio,
.comedianspage .ac-most-booked-bio {
  margin: 0.125rem 0 0 !important;
  font-size: 0.875rem !important;
  line-height: 1.25rem !important;
  color: #a3a3a3 !important;
}
#ac-comedians-index .ac-most-booked-next,
.comedianspage .ac-most-booked-next {
  margin-top: 0.5rem !important;
  gap: 0.5rem !important;
}
#ac-comedians-index .ac-most-booked-next-label,
.comedianspage .ac-most-booked-next-label {
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #a3a3a3 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
}
#ac-comedians-index .ac-most-booked-date-pill,
.comedianspage .ac-most-booked-date-pill {
  display: inline-flex;
  align-items: center;
  background-color: #006bb6 !important;
  color: #ffffff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  padding: 0.125rem 0.625rem !important;
  border-radius: 9999px !important;
  white-space: nowrap;
  text-transform: none !important;
}
#ac-comedians-index .ac-most-booked-time-pill,
.comedianspage .ac-most-booked-time-pill {
  display: inline-flex;
  align-items: center;
  background-color: #f5f5f5 !important;
  color: #525252 !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  padding: 0.125rem 0.625rem !important;
  border-radius: 9999px !important;
  white-space: nowrap;
  text-transform: none !important;
}
#ac-comedians-index .ac-most-booked-count,
.comedianspage .ac-most-booked-count {
  color: #006bb6 !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em;
  font-size: 1.5rem !important;
  line-height: 2rem !important;
}
#ac-comedians-index .ac-most-booked-count-label,
.comedianspage .ac-most-booked-count-label {
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #a3a3a3 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  margin-top: 0.125rem;
}
#ac-comedians-index .ac-most-booked-card:hover .ac-most-booked-name,
.comedianspage .ac-most-booked-card:hover .ac-most-booked-name,
#ac-comedians-index .ac-most-booked-card.group:hover .ac-most-booked-name,
.comedianspage .ac-most-booked-card.group:hover .ac-most-booked-name {
  color: #006bb6 !important;
}
@media (min-width: 768px) {
  #ac-comedians-index .ac-most-booked-grid,
  .comedianspage .ac-most-booked-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  #ac-comedians-index .ac-most-booked-name,
  .comedianspage .ac-most-booked-name {
    font-size: 1.5rem !important;
    line-height: 2rem !important;
  }
  #ac-comedians-index .ac-most-booked-count,
  .comedianspage .ac-most-booked-count {
    font-size: 1.875rem !important;
    line-height: 2.25rem !important;
  }
  #ac-comedians-index .ac-most-booked-card.md\:border-b-0,
  .comedianspage .ac-most-booked-card.md\:border-b-0 {
    border-bottom-width: 0 !important;
  }
}
.comedianspage .group:hover .group-hover\:scale-\[1\.04\],
#ac-comedians-index .group:hover .group-hover\:scale-\[1\.04\] { transform: scale(1.04); }
.comedianspage .group:hover .group-hover\:text-\[\#006bb6\],
.comedianspage a.group:hover h3,
#ac-comedians-index .group:hover .group-hover\:text-\[\#006bb6\],
#ac-comedians-index a.group:hover h3,
.Comedians #ac-comedians-index a.group:hover h3 {
  color: #006bb6 !important;
}
.comedianspage .hover\:bg-neutral-700:hover,
#ac-comedians-index .hover\:bg-neutral-700:hover {
  background-color: #404040 !important;
}
@media (min-width: 768px) {
  .comedianspage .md\:grid-cols-2,
  #ac-comedians-index .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .comedianspage .md\:w-\[120px\],
  #ac-comedians-index .md\:w-\[120px\] { width: 120px; }
  .comedianspage .md\:h-\[120px\],
  #ac-comedians-index .md\:h-\[120px\] { height: 120px; }
  .comedianspage .md\:border-b-0,
  #ac-comedians-index .md\:border-b-0 { border-bottom-width: 0 !important; }
  .comedianspage .md\:text-5xl,
  #ac-comedians-index .md\:text-5xl { font-size: 3rem; line-height: 1; }
  .comedianspage .md\:text-2xl,
  #ac-comedians-index .md\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
  .comedianspage .md\:text-3xl,
  #ac-comedians-index .md\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
  .comedianspage .md\:flex-row,
  #ac-comedians-index .md\:flex-row { flex-direction: row; }
  .comedianspage .md\:items-center,
  #ac-comedians-index .md\:items-center { align-items: center; }
  .comedianspage .md\:gap-6,
  #ac-comedians-index .md\:gap-6 { gap: 1.5rem; }
}
@media (min-width: 1024px) {
  .comedianspage .lg\:text-7xl,
  #ac-comedians-index .lg\:text-7xl { font-size: 4.5rem; line-height: 1; }
}

/* All Comics — mockup views/comedians.php + comedian-card.php */
#ac-comedians-index .ac-all-comics-toolbar-inner,
.comedianspage .ac-all-comics-toolbar-inner {
  width: 100%;
}
@media (min-width: 768px) {
  #ac-comedians-index .ac-all-comics-toolbar-inner,
  .comedianspage .ac-all-comics-toolbar-inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
  #ac-comedians-index .ac-all-comics-actions,
  .comedianspage .ac-all-comics-actions {
    width: auto;
    margin-left: auto;
    justify-content: flex-end;
    flex-shrink: 0;
  }
}
#ac-comedians-index .ac-all-comics-count,
.comedianspage .ac-all-comics-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.375rem;
  padding: 0.125rem 0.625rem;
  border-radius: 9999px !important;
  background-color: #f5f5f5 !important;
  color: #a3a3a3 !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
.comedianspage .ac-all-comics-search,
#ac-comedians-index .ac-all-comics-search {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1 1 auto;
  min-width: 0;
}
@media (min-width: 768px) {
  .comedianspage .ac-all-comics-search,
  #ac-comedians-index .ac-all-comics-search {
    flex: 0 0 auto;
    width: auto;
  }
}
.comedianspage .ac-all-comics-search input[type="search"],
#ac-comedians-index .ac-all-comics-search input[type="search"] {
  width: 100%;
}
@media (min-width: 640px) {
  .comedianspage .ac-all-comics-search input[type="search"],
  .comedianspage .ac-all-comics-input,
  #ac-comedians-index .ac-all-comics-search input[type="search"],
  #ac-comedians-index .ac-all-comics-input {
    width: 200px;
    max-width: 200px;
    min-width: 200px;
  }
}
.comedianspage .ac-comedian-card,
#ac-comedians-index .ac-comedian-card {
  align-items: center;
  text-decoration: none;
}
.comedianspage .ac-all-comics-section h2 {
  color: #171717 !important;
  font-weight: 700 !important;
  font-size: 0.875rem !important;
  text-transform: uppercase;
  letter-spacing: 3px;
}
.comedianspage .ac-all-comics-search input[type="text"],
.comedianspage .ac-all-comics-search input[type="search"],
.comedianspage .ac-all-comics-search .form-control,
#ac-comedians-index .ac-all-comics-input {
  box-sizing: border-box;
  height: 42px;
  min-height: 42px;
  width: 100%;
  max-width: 200px;
  padding: 0 1.25rem !important;
  background-color: #f5f5f5 !important;
  border: 2px solid #e5e5e5 !important;
  border-radius: 9999px !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  line-height: 1.25rem !important;
  color: #171717 !important;
}
.comedianspage .ac-all-comics-search input[type="text"]:focus,
.comedianspage .ac-all-comics-search input[type="search"]:focus,
.comedianspage .ac-all-comics-search .form-control:focus {
  outline: none;
  border-color: #006bb6 !important;
}
.comedianspage .ac-all-comics-search input::placeholder {
  color: #a3a3a3 !important;
}
.Comedians .comedianspage .ac-all-comics-search button,
.Comedians #ac-comedians-index .ac-all-comics-search button {
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  border-radius: 9999px !important;
  padding: 0.625rem 1.25rem !important;
  background-color: #171717 !important;
  color: #ffffff !important;
  border: none !important;
  min-height: 0 !important;
  line-height: 1.25rem !important;
  text-transform: none !important;
}
#ac-comedians-index .ac-all-comics-search button,
#ac-comedians-index .ac-all-comics-submit,
.comedianspage .ac-all-comics-search button,
.comedianspage .ac-all-comics-submit {
  box-sizing: border-box;
  height: 42px;
  min-height: 42px;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  border-radius: 9999px !important;
  padding: 0 1.25rem !important;
  background-color: #171717 !important;
  color: #ffffff !important;
  border: none !important;
  line-height: 1.25rem !important;
  text-transform: none !important;
  cursor: pointer;
  white-space: nowrap;
}
.Comedians .comedianspage .ac-all-comics-search button:hover,
.Comedians #ac-comedians-index .ac-all-comics-search button:hover {
  background-color: #404040 !important;
}
#ac-comedians-index .ac-all-comics-search button:hover,
#ac-comedians-index .ac-all-comics-submit:hover,
.comedianspage .ac-all-comics-search button:hover,
.comedianspage .ac-all-comics-submit:hover {
  background-color: #404040 !important;
}
#ac-comedians-index .ac-all-comics-empty-btn,
.comedianspage .ac-all-comics-empty-btn {
  display: inline-block;
  border-radius: 9999px !important;
  text-transform: none !important;
}
.comedianspage .ac-all-comics-pagination a:hover {
  color: #000000 !important;
}
.comedianspage .ac-comedian-card h3,
#ac-comedians-index .ac-comedian-card h3 {
  min-height: 0 !important;
  text-transform: none !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em;
  font-size: 1.125rem !important;
  line-height: 1.75rem !important;
  margin: 0 !important;
}
@media (min-width: 768px) {
  .comedianspage .ac-comedian-card h3,
  #ac-comedians-index .ac-comedian-card h3 {
    font-size: 1.25rem !important;
    line-height: 1.75rem !important;
  }
}
.comedianspage .ac-comedian-card p,
#ac-comedians-index .ac-comedian-card p {
  margin: 0.125rem 0 0 !important;
  font-size: 0.875rem !important;
  line-height: 1.25rem !important;
  color: #a3a3a3 !important;
}
.comedianspage .ac-comedian-card .rounded-2xl,
#ac-comedians-index .ac-comedian-card .rounded-2xl {
  border-radius: 1rem !important;
}
.Comedians .comedianspage .ac-comedian-card:hover h3,
.Comedians #ac-comedians-index .ac-comedian-card:hover h3,
#ac-comedians-index .ac-comedian-card:hover h3,
.comedianspage .ac-comedian-card:hover h3,
#ac-comedians-index a.group:hover h3,
.comedianspage a.group:hover h3 {
  color: #006bb6 !important;
}
.comedianspage .ac-comedian-card .text-neutral-400 {
  color: #a3a3a3 !important;
}
.comedianspage .ac-all-comics-empty .text-neutral-500 {
  color: #737373 !important;
}

/* Comedian profile — upcoming shows list (mockup views/comedian.php) */
#ac-comedian-profile .ac-comedian-shows-section h2 {
  color: #171717 !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 3px;
}
#ac-comedian-profile .ac-comedian-shows-list > .ac-comedian-show-row:first-child {
  padding-top: 0;
}
#ac-comedian-profile .ac-comedian-show-row .ac-comedian-show-title {
  color: #171717 !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: -0.025em;
}
#ac-comedian-profile .ac-comedian-show-row a:hover .ac-comedian-show-title,
#ac-comedian-profile .ac-comedian-show-row .group:hover .ac-comedian-show-title {
  color: #006bb6 !important;
}
#ac-comedian-profile .ac-comedian-show-ticket {
  border-radius: 9999px !important;
  text-transform: none !important;
}
#ac-comedian-profile .ac-comedian-show-ticket:hover {
  background-color: #006bb6 !important;
}
#ac-comedian-profile .ac-comedian-signup .signupAlertsForComedian {
  margin-bottom: 0;
}
#ac-comedian-profile .ac-comedian-signup .signup-alert-header {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #171717 !important;
  text-transform: none !important;
}
#ac-comedian-profile .ac-comedian-signup #signup_alert_form button {
  border-radius: 9999px !important;
  font-size: 0.875rem !important;
  background-color: #171717 !important;
}

@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.ac-nav-dropdown-menu.hidden,
.ac-nav-subdropdown-menu.hidden {
  display: none;
}

/* Drawer — mockup nav.php */
#nav-drawer {
  font-family: var(--ac-font);
}

/* Calendar filter bar — light theme override */
.ac-calendar-toolbar {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.ac-calendar-toolbar .ac-filter-active {
  background-color: var(--ac-neutral-900);
  color: #fff;
}

.ac-calendar-toolbar .ac-filter-pill {
  background-color: #f5f5f5;
  color: var(--ac-neutral-900);
  border-radius: 9999px;
  font-weight: 700;
  font-size: 0.875rem;
  padding: 0.625rem 1rem;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.ac-calendar-toolbar .ac-filter-pill:hover {
  background-color: #e5e5e5;
}
.ac-calendar-toolbar .ac-filter-pill.is-active,
.ac-calendar-toolbar .ac-filter-pill.ac-filter-active {
  background-color: var(--ac-neutral-900);
  color: #fff;
}
.ac-calendar-toolbar .ac-filter-pill.is-active:hover,
.ac-calendar-toolbar .ac-filter-pill.ac-filter-active:hover {
  background-color: var(--ac-brand);
}

/* List / grid view toggle */
.ac-view-toggle {
  display: flex;
  align-items: center;
  background-color: #f5f5f5;
  border-radius: 9999px;
  padding: 0.25rem;
}
.ac-view-toggle .ac-view-btn.is-active {
  background-color: var(--ac-neutral-900);
  color: #fff;
}
.ac-view-toggle .ac-view-btn {
  width: 2.25rem;
  height: 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  color: #737373;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.ac-view-toggle .ac-view-btn:hover:not(.is-active) {
  color: var(--ac-neutral-900);
}

.text-neutral-500 {
  color: #737373;
}

.aboutpage svg {
  color: var(--ac-brand);
  background-color: color-mix(in oklab, var(--ac-brand) 10%, transparent);
  border-radius: calc(infinity * 1px);
}

/* Legacy button classes → design system */
.bcolor-brown,
.--event-list {
  background-color: var(--ac-neutral-900) !important;
  color: #fff !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  transition: background-color 0.2s ease !important;
}
.bcolor-brown:hover,
.--event-list:hover {
  background-color: var(--ac-brand) !important;
}

/* ─── Checkout — mockup/artculture/views/checkout.php ─── */
#ac-checkout-page.ac-checkout-page,
.evc-checkout-page#ac-checkout-page {
  font-family: Montserrat, sans-serif;
  color: #171717;
}

#ac-checkout-page .ac-checkout-back-link {
  color: #a3a3a3 !important;
  text-decoration: none;
}

#ac-checkout-page .ac-checkout-back-link:hover {
  color: #171717 !important;
}

#ac-checkout-page .ac-checkout-eyebrow {
  margin: 0 0 1rem;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #006bb6 !important;
}

#ac-checkout-page .ac-checkout-title {
  margin: 0;
  font-size: 2.25rem;
  font-weight: 700 !important;
  letter-spacing: -0.025em;
  line-height: 1.05;
  color: #171717 !important;
  text-transform: none !important;
}

#ac-checkout-page .ac-checkout-intro {
  margin-bottom: 4rem;
  color: #737373 !important;
}

#ac-checkout-page .ac-checkout-body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: start;
}

#ac-checkout-page .ac-checkout-col-summary {
  order: 2;
  min-width: 0;
}

#ac-checkout-page .ac-checkout-col-payment {
  order: 1;
  min-width: 0;
}

#ac-checkout-page .ac-checkout-block {
  margin-bottom: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid #e5e5e5;
}

#ac-checkout-page .ac-checkout-block > .ac-checkout-section-label,
#ac-checkout-page .ac-checkout-block > h2.ac-checkout-section-label,
#ac-checkout-page .ac-checkout-block > h3.ac-checkout-section-label {
  margin-bottom: 1.5rem;
}

#ac-checkout-page .ac-checkout-section-label,
#ac-checkout-page h2.ac-checkout-section-label,
#ac-checkout-page h3.ac-checkout-section-label {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase !important;
  color: #171717 !important;
}

#ac-checkout-page .ac-checkout-show-mobile-only {
  display: none;
}

#ac-checkout-page .ac-checkout-promo {
  margin-top: 1.5rem;
}

#ac-checkout-page .ac-checkout-event-details {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  align-items: stretch;
}

#ac-checkout-page .ac-checkout-event-image {
  width: 100%;
  max-width: 100%;
  flex-shrink: 0;
  aspect-ratio: 3 / 2;
  border-radius: 1rem;
  overflow: hidden;
  background-color: #f5f5f5;
}

#ac-checkout-page .ac-checkout-event-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#ac-checkout-page .ac-checkout-event-info {
  flex: 1;
  min-width: 0;
}

#ac-checkout-page .ac-checkout-event-title {
  margin: 0 0 0.75rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.025em;
  color: #171717 !important;
  text-transform: none !important;
}

#ac-checkout-page .ac-checkout-event-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

#ac-checkout-page .ac-checkout-event-venue {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.625;
  color: #a3a3a3 !important;
}

@media (min-width: 640px) {
  #ac-checkout-page .ac-checkout-event-details {
    flex-direction: row;
    gap: 1.5rem;
    align-items: flex-start;
  }

  #ac-checkout-page .ac-checkout-event-image {
    width: 180px;
    max-width: 180px;
  }
}

#ac-checkout-page .ac-checkout-field-label,
#ac-checkout-page label.ac-checkout-field-label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #171717 !important;
}

#ac-checkout-page .ac-checkout-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.25;
  border-radius: 9999px;
}

#ac-checkout-page .ac-checkout-pill--date {
  background-color: #006bb6;
  color: #fff !important;
}

#ac-checkout-page .ac-checkout-pill--time {
  background-color: #f5f5f5;
  color: #525252 !important;
  font-weight: 600;
}

#ac-checkout-page .ac-checkout-order-lines.divide-y > :not([hidden]) ~ :not([hidden]) {
  border-top: 1px solid #e5e5e5;
}

#ac-checkout-page .ac-checkout-total-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #171717 !important;
}

#ac-checkout-page .ac-checkout-total-amount,
#ac-checkout-page #checkout-total {
  color: #171717 !important;
}

#ac-checkout-page .text-neutral-900,
#ac-checkout-page .font-bold.text-neutral-900 {
  color: #171717 !important;
}

#ac-checkout-page .text-neutral-400,
#ac-checkout-page .text-neutral-500 {
  color: #737373 !important;
}

#ac-checkout-page .border-neutral-200 {
  border-color: #e5e5e5 !important;
}

#ac-checkout-page .ac-checkout-input,
#ac-checkout-page .ac-checkout-input.form-input,
#ac-checkout-page input.ac-checkout-input {
  width: 100%;
  padding: 0.875rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #171717 !important;
  background-color: #fafafa !important;
  border: 2px solid #e5e5e5 !important;
  border-radius: 0.75rem;
  outline: none;
  transition: border-color 0.2s ease;
}

#ac-checkout-page .ac-checkout-input:focus {
  border-color: #006bb6 !important;
}

#ac-checkout-page .ac-checkout-apply-btn,
#ac-checkout-page .apply-coupon-btn {
  padding: 0.75rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: #fff !important;
  background-color: #171717 !important;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

#ac-checkout-page .ac-checkout-apply-btn:hover {
  background-color: #404040 !important;
}

#ac-checkout-page .ac-checkout-mobile-continue,
#ac-checkout-page .ac-checkout-submit-btn {
  display: block;
  width: 100%;
  padding: 1rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: #fff !important;
  background-color: #171717 !important;
  border: none;
  border-radius: 10px;
  text-transform: none;
  letter-spacing: normal;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

#ac-checkout-page .ac-checkout-mobile-continue:hover,
#ac-checkout-page .ac-checkout-submit-btn:hover {
  background-color: #404040 !important;
}

#ac-checkout-page .ac-checkout-mobile-back {
  padding: 0;
  border: none;
  background: transparent;
  font-size: 0.875rem;
  font-weight: 700;
  color: #a3a3a3 !important;
  cursor: pointer;
}

#ac-checkout-page .ac-checkout-mobile-back:hover {
  color: #171717 !important;
}

#ac-checkout-page .ac-checkout-payment.sticky {
  position: sticky;
  top: 8rem;
}

#ac-checkout-page .ac-checkout-restrictions strong {
  color: #171717 !important;
  font-weight: 700;
}

#ac-checkout-page .bg-\[\#3A4655\],
#ac-checkout-page .total-price-table.bg-\[\#3A4655\] {
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

#ac-checkout-page .evc-checkout-right {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

#ac-checkout-page h1,
#ac-checkout-page h2:not(.ac-checkout-section-label),
#ac-checkout-page h3:not(.ac-checkout-section-label) {
  text-transform: none !important;
}

#ac-checkout-page .original.slashed {
  text-decoration: line-through;
  color: #ef4444 !important;
  font-weight: 400;
  padding-right: 0.25rem;
}

#ac-checkout-page .discounted {
  color: #171717 !important;
}

#ac-checkout-page .discounted:empty {
  display: none;
}

#ac-checkout-page .gift-certificate-wrapper h3 {
  display: none;
}

@media (min-width: 768px) {
  #ac-checkout-page .ac-checkout-title {
    font-size: 3rem;
  }
}

@media (min-width: 1024px) {
  #ac-checkout-page .ac-checkout-title {
    font-size: 4.5rem;
    max-width: 800px;
  }

  #ac-checkout-page .ac-checkout-body {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: 4rem;
  }

  #ac-checkout-page .ac-checkout-col-summary {
    order: 1;
    display: block !important;
  }

  #ac-checkout-page .ac-checkout-col-payment {
    order: 2;
    display: block !important;
  }

  #ac-checkout-page .ac-checkout-body.is-step-payment .ac-checkout-col-summary,
  #ac-checkout-page .ac-checkout-body.is-step-payment .ac-checkout-col-payment {
    display: block !important;
  }

  #ac-checkout-page .ac-checkout-show-mobile-only {
    display: none !important;
  }

  #ac-checkout-page .ac-checkout-payment.sticky {
    position: sticky;
    top: 8rem;
  }
}

@media (max-width: 1023px) {
  #ac-checkout-page.ac-checkout-page {
    padding-top: 4rem;
    padding-bottom: 5rem;
  }

  #ac-checkout-page .ac-checkout-intro {
    margin-bottom: 3rem;
  }

  #ac-checkout-page .ac-checkout-body {
    gap: 0;
  }

  #ac-checkout-page .ac-checkout-col-summary {
    order: 1;
  }

  #ac-checkout-page .ac-checkout-col-payment {
    order: 2;
  }

  #ac-checkout-page .ac-checkout-body:not(.is-step-payment) .ac-checkout-col-payment {
    display: none;
  }

  #ac-checkout-page .ac-checkout-body.is-step-payment .ac-checkout-col-summary {
    display: none;
  }

  #ac-checkout-page .ac-checkout-body.is-step-payment .ac-checkout-col-payment {
    display: block;
  }

  #ac-checkout-page .ac-checkout-show-mobile-only {
    display: block;
  }

  #ac-checkout-page .ac-checkout-payment.sticky {
    position: static;
    top: auto;
  }

  #ac-checkout-page .ac-checkout-block {
    margin-bottom: 2rem;
  }
}

/* ─── Contact page — mockup/artculture/views/contact.php ─── */
#ac-contact-page.ac-contact-page {
  font-family: Montserrat, sans-serif;
  color: #171717;
}

#ac-contact-page h1,
#ac-contact-page h2 {
  text-transform: none !important;
}

#ac-contact-page .ac-contact-eyebrow {
  margin: 0 0 1rem;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #006bb6 !important;
}

#ac-contact-page .ac-contact-header {
  margin-bottom: 1.5rem;
}

#ac-contact-page .ac-contact-title {
  margin: 0;
  font-size: 2.25rem;
  font-weight: 700 !important;
  letter-spacing: -0.025em;
  line-height: 1.05;
  color: #171717 !important;
  max-width: 800px;
}

#ac-contact-page .ac-contact-intro {
  margin: 0 0 3rem;
  max-width: 500px;
  font-size: 1rem;
  line-height: 1.625;
  color: #737373 !important;
}

#ac-contact-page .ac-contact-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  align-items: start;
}

#ac-contact-page .ac-contact-block {
  margin-bottom: 3rem;
  padding-top: 2rem;
  border-top: 1px solid #e5e5e5;
}

#ac-contact-page .ac-contact-block--last {
  margin-bottom: 0;
}

#ac-contact-page .ac-contact-block--form {
  margin-bottom: 0;
}

#ac-contact-page .ac-contact-section-label {
  margin: 0 0 1.5rem;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase !important;
  color: #171717 !important;
}

#ac-contact-page .ac-contact-section-label--form {
  margin-bottom: 2rem;
}

#ac-contact-page .ac-contact-copy p,
#ac-contact-page .ac-contact-copy-text {
  margin: 0 0 1rem;
  font-size: 0.875rem;
  line-height: 1.625;
  color: #737373 !important;
}

@media (min-width: 768px) {
  #ac-contact-page .ac-contact-copy p,
  #ac-contact-page .ac-contact-copy-text {
    font-size: 1rem;
  }
}

#ac-contact-page .ac-contact-copy p:last-child {
  margin-bottom: 0;
}

#ac-contact-page .ac-contact-booking-line {
  font-size: 0.875rem;
  font-weight: 700;
  color: #171717 !important;
}

@media (min-width: 768px) {
  #ac-contact-page .ac-contact-booking-line {
    font-size: 1rem;
  }
}

#ac-contact-page .ac-contact-badge {
  display: inline-block;
  margin-left: 0.25rem;
  padding: 0.125rem 0.625rem;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  vertical-align: middle;
  color: #fff !important;
  background-color: #006bb6;
  border-radius: 9999px;
  position: relative;
  top: -1px;
}

#ac-contact-page .ac-contact-link {
  display: inline-block;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.2;
  color: #171717 !important;
  text-decoration: none;
  word-break: break-all;
}

#ac-contact-page .ac-contact-link:hover {
  color: #006bb6 !important;
}

#ac-contact-page .ac-contact-social {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

#ac-contact-page .ac-contact-social-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 9999px;
  background-color: #171717;
  color: #fff !important;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

#ac-contact-page .ac-contact-social-btn:hover {
  background-color: #404040;
}

#ac-contact-page .ac-contact-social-icon {
  width: 1.25rem;
  height: 1.25rem;
}

#ac-contact-page .ac-contact-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

#ac-contact-page .ac-contact-form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

#ac-contact-page .ac-contact-field {
  min-width: 0;
}

#ac-contact-page .ac-contact-field-label,
#ac-contact-page label.ac-contact-field-label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #171717 !important;
}

#ac-contact-page .ac-contact-input,
#ac-contact-page .ac-contact-input.form-input,
#ac-contact-page input.ac-contact-input,
#ac-contact-page textarea.ac-contact-input {
  width: 100%;
  padding: 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #171717 !important;
  background-color: #fafafa !important;
  border: 2px solid #e5e5e5 !important;
  border-radius: 0.75rem;
  transition: border-color 0.2s ease;
}

#ac-contact-page .ac-contact-input::placeholder {
  color: #a3a3a3 !important;
}

#ac-contact-page .ac-contact-input:focus {
  outline: none;
  border-color: #006bb6 !important;
}

#ac-contact-page .ac-contact-textarea {
  resize: none;
  min-height: 8rem;
}

#ac-contact-page .ac-contact-recaptcha {
  margin-top: 0.25rem;
}

#ac-contact-page .ac-contact-submit-btn {
  display: block;
  width: 100%;
  padding: 1rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: #fff !important;
  background-color: #171717 !important;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

#ac-contact-page .ac-contact-submit-btn:hover {
  background-color: #404040 !important;
}

#ac-contact-page.ac-contact-page--success {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

#ac-contact-page .ac-contact-success {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 32rem;
}

#ac-contact-page .ac-contact-success-icon {
  margin-bottom: 1.5rem;
  font-size: 3.75rem;
  line-height: 1;
  color: #171717;
}

#ac-contact-page .ac-contact-success-title {
  margin: 0 0 1rem;
  font-size: 2.25rem;
  font-weight: 700 !important;
  letter-spacing: -0.025em;
  color: #171717 !important;
}

#ac-contact-page .ac-contact-success-text {
  margin: 0 0 2.5rem;
  font-size: 1.125rem;
  line-height: 1.625;
  color: #737373 !important;
}

#ac-contact-page .ac-contact-success-btn {
  display: inline-block;
  padding: 1rem 2rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: #fff !important;
  background-color: #171717;
  border-radius: 9999px;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

#ac-contact-page .ac-contact-success-btn:hover {
  background-color: #404040;
  color: #fff !important;
}

@media (min-width: 768px) {
  #ac-contact-page .ac-contact-title {
    font-size: 3rem;
  }

  #ac-contact-page .ac-contact-intro {
    font-size: 1.125rem;
  }

  #ac-contact-page .ac-contact-link {
    font-size: 1.875rem;
    word-break: normal;
  }

  #ac-contact-page .ac-contact-success-title {
    font-size: 3rem;
  }
}

@media (min-width: 1024px) {
  #ac-contact-page .ac-contact-title {
    font-size: 4.5rem;
  }

  #ac-contact-page .ac-contact-body {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4rem;
  }
}

/* Override legacy contact-page heading styles */
body #main-content #ac-contact-page .ac-contact-title,
body .contact-page#ac-contact-page .ac-contact-title {
  color: #171717 !important;
  text-transform: none !important;
}

/* ─── Add-ons page — mockup/artculture/views/addons.php ─── */
#ac-addons-page.ac-addons-page {
  font-family: Montserrat, sans-serif;
  color: #171717;
}

#ac-addons-page .ac-addons-back-link {
  color: #a3a3a3 !important;
  text-decoration: none;
}

#ac-addons-page .ac-addons-back-link:hover {
  color: #171717 !important;
}

#ac-addons-page .ac-addons-eyebrow {
  margin: 0 0 1rem;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #006bb6 !important;
}

#ac-addons-page .ac-addons-title {
  margin: 0;
  font-size: 3rem;
  font-weight: 700 !important;
  letter-spacing: -0.025em;
  line-height: 1.05;
  color: #171717 !important;
  text-transform: none !important;
}

#ac-addons-page .ac-addons-intro {
  color: #737373 !important;
}

#ac-addons-page .ac-addons-body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: start;
}

#ac-addons-page .ac-addons-section-label {
  margin: 0 0 1.5rem;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #171717 !important;
}

#ac-addons-page .ac-addon-name {
  color: #171717 !important;
  text-transform: none !important;
}

#ac-addons-page .ac-addon-desc {
  color: #a3a3a3 !important;
}

#ac-addons-page .ac-addon-price {
  color: #171717 !important;
}

#ac-addons-page .ac-addon-sold-out {
  display: inline-block;
  padding: 0.125rem 0.5rem;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #fff !important;
  background-color: #dc2626;
  border-radius: 4px;
}

#ac-addons-page .ac-addon-item--selected .ac-addon-name {
  color: #006bb6 !important;
}

#ac-addons-page .ac-addons-items.divide-y > :not([hidden]) ~ :not([hidden]) {
  border-top: 1px solid #e5e5e5;
}

#ac-addons-page .ac-addons-items > .ac-addon-item:first-child {
  padding-top: 0;
}

#ac-addons-page .ac-addons-summary-lines.divide-y > :not([hidden]) ~ :not([hidden]) {
  border-top: 1px solid #f5f5f5;
}

#ac-addons-page .ac-addon-qty-minus,
#ac-addons-page .ac-addon-qty-plus {
  border: none;
  line-height: 1;
}

#ac-addons-page .ac-addons-summary.sticky {
  position: sticky;
  top: 8rem;
}

#ac-addons-page .ac-addons-total-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #171717 !important;
}

#ac-addons-page .total-display {
  color: #171717 !important;
}

#ac-addons-page .ac-addons-checkout-btn {
  display: block;
  width: 100%;
  margin-top: 2rem;
  padding: 1rem;
  background-color: #171717 !important;
  color: #fff !important;
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
  text-transform: none;
  letter-spacing: normal;
  border: none;
  border-radius: 10px;
  transition: background-color 0.2s ease;
  cursor: pointer;
}

#ac-addons-page .ac-addons-checkout-btn:hover {
  background-color: #404040 !important;
  color: #fff !important;
}

#ac-addons-page .ac-addons-secure-note {
  margin-top: 1rem;
  color: #a3a3a3 !important;
}

#ac-addons-page .border-neutral-200 {
  border-color: #e5e5e5 !important;
}

#ac-addons-page .upsell-info-container {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

#ac-addons-page h1,
#ac-addons-page h2,
#ac-addons-page h3 {
  text-transform: none !important;
}

#ac-addons-page h2.ac-addons-section-label {
  text-transform: uppercase !important;
}

@media (min-width: 768px) {
  #ac-addons-page .ac-addons-title {
    font-size: 3.75rem;
  }
}

@media (min-width: 1024px) {
  #ac-addons-page .ac-addons-title {
    font-size: 4.5rem;
    max-width: 800px;
  }

  #ac-addons-page .ac-addons-body {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: 4rem;
  }
}

@media (max-width: 767px) {
  #ac-addons-page.ac-addons-page {
    padding-top: 4rem;
    padding-bottom: 5rem;
  }

  #ac-addons-page .ac-addons-intro {
    margin-bottom: 3rem;
  }

  #ac-addons-page .ac-addons-summary.sticky {
    position: static;
    top: auto;
  }

  #ac-addons-page .ac-addon-item {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  #ac-addons-page .ac-addons-items > .ac-addon-item:first-child {
    padding-top: 0;
  }
}

/* ─── Event view — mockup/artculture/views/event.php ─── */
#event-view-page.ac-event-page,
.ac-event-page-shell {
  font-family: Montserrat, sans-serif;
  color: #171717;
}

#event-view-page.ac-event-page {
  padding-top: 4rem;
  padding-bottom: 7rem;
}

#event-view-page .ac-event-back-link {
  color: #a3a3a3 !important;
  text-decoration: none;
}

#event-view-page .ac-event-back-link:hover {
  color: #171717 !important;
}

#event-view-page .ac-event-hero {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: stretch;
  margin-bottom: 5rem;
}

#event-view-page .ac-event-hero-image {
  aspect-ratio: 4 / 5;
  width: 100%;
  border-radius: 1rem;
  overflow: hidden;
  background-color: #f5f5f5;
}

#event-view-page .ac-event-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#event-view-page .ac-event-title {
  margin: 0 0 1.5rem;
  color: #171717 !important;
  font-size: 2.25rem;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: -0.025em;
  line-height: 1.02;
}

#event-view-page .ac-event-hero-divider {
  margin-bottom: 0;
}

#event-view-page .ac-event-meta-label {
  margin-bottom: 0.5rem;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #a3a3a3;
}

#event-view-page .ac-event-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.25;
  border-radius: 9999px;
}

#event-view-page .ac-event-pill--date {
  background-color: #006bb6;
  color: #fff !important;
}

#event-view-page .ac-event-pill--time {
  background-color: #f5f5f5;
  color: #525252 !important;
  font-weight: 600;
}

#event-view-page .ac-event-location {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4;
  color: #171717 !important;
}

#event-view-page .ac-event-block {
  margin-bottom: 3rem;
  padding-top: 2rem;
  border-top: 1px solid #e5e5e5;
}

#event-view-page .ac-event-section-label,
#event-view-page h2.ac-event-section-label {
  margin: 0 0 1.5rem;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase !important;
  color: #171717 !important;
}

#event-view-page .ac-event-about-copy {
  font-size: 1rem;
  line-height: 1.625;
  color: #737373 !important;
}

#event-view-page .ac-event-about-copy p {
  margin: 0;
}

#event-view-page .ac-event-read-more {
  margin-top: 0.75rem;
  padding: 0;
  border: none;
  background: transparent;
  font-size: 0.875rem;
  font-weight: 700;
  color: #006bb6 !important;
  cursor: pointer;
  transition: color 0.2s ease;
}

#event-view-page .ac-event-read-more:hover {
  color: #00518a !important;
}

#event-view-page .ac-event-featuring-list > a {
  text-decoration: none;
}

#event-view-page .ac-event-featuring-list > a + a {
  border-top: 1px solid #f5f5f5;
}

#event-view-page .ac-event-featuring-list span.text-base {
  font-size: 1rem;
  font-weight: 700;
  color: #171717 !important;
}

#event-view-page .ac-event-featuring-list a:hover span.text-base {
  color: #006bb6 !important;
}

#event-view-page .ac-event-block strong,
#event-view-page .ac-event-disclaimer-list strong {
  color: #171717 !important;
  font-weight: 700;
}

#event-view-page .ac-event-block .text-sm,
#event-view-page .ac-event-disclaimer-list {
  font-size: 0.875rem;
  line-height: 1.625;
  color: #737373 !important;
}

#event-view-page .ac-event-disclaimer-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

#event-view-page .ac-event-disclaimer-list li + li {
  margin-top: 1.25rem;
}

#event-view-page .ac-event-sales-final span {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #a3a3a3;
}

#event-view-page .border-neutral-200 {
  border-color: #e5e5e5 !important;
}

#event-view-page .text-neutral-500 {
  color: #737373 !important;
}

#event-view-page .text-neutral-400 {
  color: #a3a3a3 !important;
}

#event-view-page .text-neutral-600 {
  color: #525252 !important;
}

#event-view-page .text-neutral-900,
#event-view-page .text-black,
#event-view-page .font-bold.text-neutral-900 {
  color: #171717 !important;
}

#event-view-page .ac-event-purchase-panel {
  padding-top: 2rem;
  border-top: 1px solid #e5e5e5;
}

#event-view-page .ac-event-purchase-panel > .ac-event-section-label {
  margin-bottom: 1.5rem;
}

#event-view-page .ac-event-ticket-stack {
  display: flex;
  flex-direction: column;
}

#event-view-page #checkout-form.checkout-form {
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
}

#event-view-page .ac-event-ticket-options {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

#event-view-page .ac-event-checkout-footer {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #e5e5e5;
}

#event-view-page .ac-event-checkout-footer--soldout {
  border-top: none;
  padding-top: 0;
}

#event-view-page .ac-event-checkout-footer .ac-event-checkout-btn,
#event-view-page .ac-event-checkout-footer .ac-event-btn-disabled {
  margin-top: 0.25rem;
}

#event-view-page .ac-ticket-box {
  padding: 1.25rem;
  border: 1px solid #e5e5e5;
  border-radius: 0.75rem;
  background-color: #fff;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

#event-view-page .ac-ticket-box--selected,
#event-view-page .ac-ticket-box.ac-ticket-box--selected {
  border: 2px solid #006bb6;
  background-color: rgb(0 107 182 / 0.1);
}

#event-view-page .ac-ticket-box .font-bold.text-lg,
#event-view-page .ticket-total,
#event-view-page .ac-event-total-price,
#event-view-page #form-total-price,
#event-view-page #total-price {
  color: #171717 !important;
}

#event-view-page .ac-ticket-box .text-sm,
#event-view-page .ticket-fee-breakdown {
  color: #737373 !important;
}

#event-view-page .ac-ticket-qty {
  margin-left: 1rem;
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  overflow: hidden;
}

#event-view-page .ac-ticket-qty button {
  border: none;
  background: transparent;
}

#event-view-page .ac-ticket-qty .ticket-qty-display,
#event-view-page .ac-ticket-qty #qty-input {
  color: #171717 !important;
  font-size: 1.125rem;
  font-weight: 700;
}

#event-view-page .ac-event-total-row {
  margin: 0;
  padding: 0;
  border: none;
}

#event-view-page .ac-event-promo-note {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.4;
  text-align: center;
  color: #737373 !important;
}

#event-view-page .ac-event-early-access {
  margin: 0;
  text-align: center;
}

#event-view-page .ac-event-checkout-btn {
  display: block;
  width: 100%;
  margin: 0;
  padding: 1rem;
  background-color: #000;
  color: #fff !important;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  text-decoration: none;
  border: none;
  border-radius: 10px;
  transition: background-color 0.2s ease;
  cursor: pointer;
}

#event-view-page .ac-event-checkout-btn:hover {
  background-color: #262626;
  color: #fff !important;
}

#event-view-page .ac-event-btn-disabled {
  width: 100%;
  margin: 0;
  padding: 1rem;
  background-color: #e5e5e5;
  color: #737373 !important;
  font-size: 0.875rem;
  font-weight: 700;
  border: none;
  border-radius: 10px;
  text-transform: none;
  letter-spacing: normal;
}

#event-view-page .ac-event-secure-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  margin-top: 1.5rem;
  padding-top: 0;
  border: none;
  font-size: 0.75rem;
  color: #a3a3a3 !important;
  text-align: center;
}

#event-view-page .ac-event-on-sale-notice {
  margin-top: 0.5rem;
  line-height: 1.5;
}

#event-view-page .ac-event-soldout .text-4xl {
  font-size: 2.25rem;
  font-weight: 700;
  color: #d4d4d4 !important;
}

#event-view-page .ac-event-soldout a {
  border-radius: 9999px;
  text-decoration: none;
}

#event-view-page .ac-event-body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
}

#event-view-page .ac-event-body-main {
  order: 2;
}

#event-view-page .ac-event-body-aside {
  order: 1;
}

#event-view-page .ac-event-purchase.sticky {
  position: sticky;
  top: 8rem;
}

#event-view-page .line-clamp-3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.ac-event-nav {
  font-family: Montserrat, sans-serif;
}

.ac-event-nav .border-neutral-200 {
  border-color: #e5e5e5 !important;
}

.ac-event-nav span.text-\[11px\] {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #a3a3a3 !important;
}

.ac-event-nav h3 {
  margin: 0.5rem 0 0;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -0.025em;
  color: #171717 !important;
  text-transform: none !important;
}

.ac-event-nav a:hover h3 {
  color: #006bb6 !important;
}

.ac-event-nav .text-xs {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #a3a3a3 !important;
}

@media (min-width: 768px) {
  #event-view-page.ac-event-page {
    padding-top: 4rem;
  }

  #event-view-page .ac-event-hero {
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
  }

  #event-view-page .ac-event-hero-image {
    aspect-ratio: 5 / 4;
  }

  #event-view-page .ac-event-title {
    font-size: 3rem;
  }

  #event-view-page .ac-event-body-main {
    order: 1;
  }

  #event-view-page .ac-event-body-aside {
    order: 2;
  }

  .ac-event-nav h3 {
    font-size: 1.25rem;
  }
}

@media (min-width: 1024px) {
  #event-view-page .ac-event-hero {
    gap: 3rem;
  }

  #event-view-page .ac-event-title {
    font-size: 3.75rem;
  }

  #event-view-page .ac-event-body {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: 4rem;
    align-items: start;
  }
}

@media (max-width: 767px) {
  #event-view-page.ac-event-page {
    padding-top: 4rem;
    padding-bottom: 5rem;
  }

  #event-view-page .ac-event-hero {
    gap: 1.5rem;
    margin-bottom: 3rem;
  }

  #event-view-page .ac-event-title {
    font-size: 2.25rem !important;
    margin-bottom: 1.25rem;
  }

  #event-view-page .ac-event-block {
    margin-bottom: 2.5rem;
  }

  #event-view-page .ac-event-purchase.sticky {
    position: static;
    top: auto;
  }

  #event-view-page .ac-ticket-qty {
    margin-left: 0;
    margin-top: 0.75rem;
    width: 100%;
    justify-content: flex-end;
  }

  #event-view-page .ticket-box .flex.items-center.justify-between.mt-1 {
    flex-wrap: wrap;
    gap: 0.75rem;
  }

  .ac-event-nav {
    margin-top: 3rem;
    padding-top: 2.5rem;
  }
}

/* Event view page headings (legacy overrides) */
#event-view-page h1,
#event-view-page h2:not(.ac-event-section-label) {
  color: var(--ac-neutral-900) !important;
  text-transform: none !important;
}

#event-view-page h1 {
  font-weight: 700 !important;
}

/* Ensure event-hero-card is not shown in new layout */
.event-hero-card {
  display: none !important;
}


*, ::before, ::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/* ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com */*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::after,::before{--tw-content:''}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:Montserrat, sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}
      h1, h2, h3, h4, h5, h6 {
        font-weight: 700;
      }
      button,
      a[class*="font-bold"][class*="px-"] {
        border-radius: 10px;
      }.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0px}.right-0{right:0px}.right-full{right:100%}.top-0{top:0px}.top-full{top:100%}.bottom-0{bottom:0px}.bottom-full{bottom:100%}.left-0{left:0px}.left-full{left:100%}.bottom-6{bottom:1.5rem}.left-6{left:1.5rem}.z-10{z-index:10}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.mx-auto{margin-left:auto;margin-right:auto}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:0.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mr-1{margin-right:0.25rem}.mt-1{margin-top:0.25rem}.mt-10{margin-top:2.5rem}.mt-3{margin-top:0.75rem}.mb-16{margin-bottom:4rem}.mb-3{margin-bottom:0.75rem}.mb-5{margin-bottom:1.25rem}.ml-1{margin-left:0.25rem}.mt-2{margin-top:0.5rem}.mt-4{margin-top:1rem}.mb-1{margin-bottom:0.25rem}.mt-0\.5{margin-top:0.125rem}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.line-clamp-4{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-\[16\/9\]{aspect-ratio:16/9}.aspect-\[3\/2\]{aspect-ratio:3/2}.h-10{height:2.5rem}.h-12{height:3rem}.h-3{height:0.75rem}.h-3\.5{height:0.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[18px\]{height:18px}.h-\[2px\]{height:2px}.h-\[56px\]{height:56px}.h-\[60px\]{height:60px}.h-\[90px\]{height:90px}.h-full{height:100%}.h-\[3px\]{height:3px}.min-h-\[800px\]{min-height:800px}.min-h-screen{min-height:100vh}.min-h-\[120px\]{min-height:120px}.w-10{width:2.5rem}.w-12{width:3rem}.w-3{width:0.75rem}.w-3\.5{width:0.875rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[18px\]{width:18px}.w-auto{width:auto}.w-full{width:100%}.w-\[250px\]{width:250px}.w-80{width:20rem}.min-w-0{min-width:0px}.max-w-\[1400px\]{max-width:1400px}.max-w-full{max-width:100%}.max-w-\[560px\]{max-width:560px}.max-w-3xl{max-width:48rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.translate-x-full{--tw-translate-x:100%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-\[marquee_60s_linear_infinite\]{animation:marquee 60s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.auto-rows-fr{grid-auto-rows:minmax(0, 1fr)}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr))}.grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:0.25rem}.gap-2{gap:0.5rem}.gap-3{gap:0.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-10{gap:2.5rem}.gap-x-6{column-gap:1.5rem}.gap-y-4{row-gap:1rem}.space-y-1 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.25rem * var(--tw-space-y-reverse))}.space-y-2 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))}.space-y-3 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.75rem * var(--tw-space-y-reverse))}.divide-y > :not([hidden]) ~ :not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-neutral-200 > :not([hidden]) ~ :not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 229 229 / var(--tw-divide-opacity, 1))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded-\[10px\]{border-radius:10px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:0.5rem}.rounded-2xl{border-radius:1rem}.rounded-md{border-radius:0.375rem}.rounded-xl{border-radius:0.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-neutral-200{--tw-border-opacity:1;border-color:rgb(229 229 229 / var(--tw-border-opacity, 1))}.border-white\/30{border-color:rgb(255 255 255 / 0.3)}.border-white\/10{border-color:rgb(255 255 255 / 0.1)}.border-\[\#006bb6\]{--tw-border-opacity:1;border-color:rgb(0 107 182 / var(--tw-border-opacity, 1))}.border-neutral-200\/60{border-color:rgb(229 229 229 / 0.6)}.border-transparent{border-color:transparent}.border-white\/20{border-color:rgb(255 255 255 / 0.2)}.bg-\[\#006bb6\]{--tw-bg-opacity:1;background-color:rgb(0 107 182 / var(--tw-bg-opacity, 1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/40{background-color:rgb(0 0 0 / 0.4)}.bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1))}.bg-neutral-900{--tw-bg-opacity:1;background-color:rgb(23 23 23 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/10{background-color:rgb(255 255 255 / 0.1)}.bg-\[\#f58426\]{--tw-bg-opacity:1;background-color:rgb(245 132 38 / var(--tw-bg-opacity, 1))}.bg-black\/90{background-color:rgb(0 0 0 / 0.9)}.bg-neutral-800{--tw-bg-opacity:1;background-color:rgb(38 38 38 / var(--tw-bg-opacity, 1))}.bg-neutral-50\/40{background-color:rgb(250 250 250 / 0.4)}.bg-white\/15{background-color:rgb(255 255 255 / 0.15)}.bg-gradient-to-t{background-image:linear-gradient(to top, var(--tw-gradient-stops))}.from-black\/85{--tw-gradient-from:rgb(0 0 0 / 0.85) var(--tw-gradient-from-position);--tw-gradient-to:rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.via-black\/30{--tw-gradient-to:rgb(0 0 0 / 0)  var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), rgb(0 0 0 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-black\/40{--tw-gradient-to:rgb(0 0 0 / 0.4) var(--tw-gradient-to-position)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-center{object-position:center}.p-1{padding:0.25rem}.p-8{padding:2rem}.p-2{padding:0.5rem}.p-3{padding:0.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-3{padding-left:0.75rem;padding-right:0.75rem}.px-8{padding-left:2rem;padding-right:2rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-20{padding-bottom:5rem}.pb-8{padding-bottom:2rem}.pl-4{padding-left:1rem}.pr-16{padding-right:4rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.pt-\[140px\]{padding-top:140px}.pb-10{padding-bottom:2.5rem}.pt-10{padding-top:2.5rem}.pt-16{padding-top:4rem}.pt-20{padding-top:5rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:0.75rem;line-height:1rem}.text-5xl{font-size:3rem;line-height:1}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.leading-\[1\.02\]{line-height:1.02}.tracking-\[3px\]{letter-spacing:3px}.tracking-\[4px\]{letter-spacing:4px}.tracking-tight{letter-spacing:-0.025em}.tracking-tighter{letter-spacing:-0.05em}.tracking-\[0\.15em\]{letter-spacing:0.15em}.tracking-\[2px\]{letter-spacing:2px}.text-black{--tw-text-opacity:1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-neutral-300{--tw-text-opacity:1;color:rgb(212 212 212 / var(--tw-text-opacity, 1))}.text-neutral-400{--tw-text-opacity:1;color:rgb(163 163 163 / var(--tw-text-opacity, 1))}.text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115 / var(--tw-text-opacity, 1))}.text-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82 / var(--tw-text-opacity, 1))}.text-neutral-700{--tw-text-opacity:1;color:rgb(64 64 64 / var(--tw-text-opacity, 1))}.text-neutral-900{--tw-text-opacity:1;color:rgb(23 23 23 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/60{color:rgb(255 255 255 / 0.6)}.text-white\/90{color:rgb(255 255 255 / 0.9)}.text-\[\#006bb6\]{--tw-text-opacity:1;color:rgb(0 107 182 / var(--tw-text-opacity, 1))}.text-white\/80{color:rgb(255 255 255 / 0.8)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:0.4}.opacity-50{opacity:0.5}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgb(0 0 0 / 0.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-colors{transition-property:color, background-color, border-color, fill, stroke, -webkit-text-decoration-color;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.duration-300{transition-duration:300ms}.duration-1000{transition-duration:1000ms}.duration-150{transition-duration:150ms}.duration-500{transition-duration:500ms}.ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.will-change-transform{will-change:transform}
    .placeholder\:text-neutral-400::placeholder{--tw-text-opacity:1;color:rgb(163 163 163 / var(--tw-text-opacity, 1))}
    .first\:pt-0:first-child{padding-top:0px}
    .last\:pb-0:last-child{padding-bottom:0px}
    .hover\:border-white:hover{--tw-border-opacity:1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}
    .hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1))}
    .hover\:bg-neutral-50:hover{--tw-bg-opacity:1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1))}
    .hover\:bg-neutral-700:hover{--tw-bg-opacity:1;background-color:rgb(64 64 64 / var(--tw-bg-opacity, 1))}
    .hover\:bg-neutral-800:hover{--tw-bg-opacity:1;background-color:rgb(38 38 38 / var(--tw-bg-opacity, 1))}
    .hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}
    .hover\:bg-\[\#d96e0f\]:hover{--tw-bg-opacity:1;background-color:rgb(217 110 15 / var(--tw-bg-opacity, 1))}
    .hover\:bg-white\/20:hover{background-color:rgb(255 255 255 / 0.2)}
    .hover\:bg-white\/5:hover{background-color:rgb(255 255 255 / 0.05)}
    .hover\:bg-\[\#006bb6\]:hover{--tw-bg-opacity:1;background-color:rgb(0 107 182 / var(--tw-bg-opacity, 1))}
    .hover\:text-\[\#006bb6\]:hover{--tw-text-opacity:1;color:rgb(0 107 182 / var(--tw-text-opacity, 1))}
    .hover\:text-black:hover{--tw-text-opacity:1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}
    .hover\:text-neutral-900:hover{--tw-text-opacity:1;color:rgb(23 23 23 / var(--tw-text-opacity, 1))}
    .hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}
    .hover\:opacity-80:hover{opacity:0.8}
    .hover\:opacity-70:hover{opacity:0.7}
    .focus\:border-\[\#006bb6\]:focus{--tw-border-opacity:1;border-color:rgb(0 107 182 / var(--tw-border-opacity, 1))}
    .focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}
    .focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}
    .focus-visible\:ring-neutral-400:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(163 163 163 / var(--tw-ring-opacity, 1))}
    .focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}
    .focus-visible\:ring-offset-neutral-100:focus-visible{--tw-ring-offset-color:#f5f5f5}
    .group:hover .group-hover\:visible{visibility:visible}
    .group\/btn:hover .group-hover\/btn\:translate-x-1{--tw-translate-x:0.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
    .group:hover .group-hover\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
    .group:hover .group-hover\:scale-\[1\.04\]{--tw-scale-x:1.04;--tw-scale-y:1.04;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
    .group:hover .group-hover\:text-\[\#006bb6\]{--tw-text-opacity:1;color:rgb(0 107 182 / var(--tw-text-opacity, 1))}
    .group:hover .group-hover\:opacity-100{opacity:1}
    @media (min-width: 640px){.sm\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}}
    @media (min-width: 768px){.md\:block{display:block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-14{height:3.5rem}.md\:w-14{width:3.5rem}.md\:w-\[420px\]{width:420px}.md\:w-\[350px\]{width:350px}.md\:w-\[220px\]{width:220px}.md\:flex-shrink-0{flex-shrink:0}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:gap-4{gap:1rem}.md\:gap-6{gap:1.5rem}.md\:gap-8{gap:2rem}.md\:border-r{border-right-width:1px}.md\:border-t-0{border-top-width:0px}.md\:p-10{padding:2.5rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:px-5{padding-left:1.25rem;padding-right:1.25rem}.md\:pt-6{padding-top:1.5rem}.md\:pt-\[150px\]{padding-top:150px}.md\:pb-0{padding-bottom:0px}.md\:pl-12{padding-left:3rem}.md\:pr-12{padding-right:3rem}.md\:pt-0{padding-top:0px}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-5xl{font-size:3rem;line-height:1}}
    @media (min-width: 1024px){.lg\:h-\[940px\]{height:940px}.lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.lg\:gap-12{gap:3rem}.lg\:pl-16{padding-left:4rem}.lg\:pr-16{padding-right:4rem}.lg\:text-9xl{font-size:8rem;line-height:1}.lg\:text-3xl{font-size:1.875rem;line-height:2.25rem}.lg\:text-7xl{font-size:4.5rem;line-height:1}}
  