/*
 * Orchestra Experience — Site-wide design enhancements
 * Applied on all pages. Does NOT change structure or colors.
 *
 * Typography: Inter replaces Montserrat for body/secondary text.
 * Headings keep custom "Muse" font (brand identity).
 * Improves: typography, micro-animations, spacing, perceived quality.
 */

/* ── 0. Font swap: Montserrat → Inter via CSS variable (non-destructive) ────── */

/* Override only the Elementor CSS variable — does NOT use !important on elements.
   This lets Elementor's own specificity work naturally while swapping the font. */
.elementor-kit-6 {
  --e-global-typography-text-font-family: 'Inter', system-ui, -apple-system, sans-serif;
  --e-global-typography-accent-font-family: 'Inter', system-ui, -apple-system, sans-serif;
}

/* ── 1. Typography — premium feel ──────────────────────────────────────────── */

/* Headings: tighter tracking for luxury look */
.elementor-heading-title,
.elementor-widget-heading h1,
.elementor-widget-heading h2,
.elementor-widget-heading h3 {
  letter-spacing: -0.3px;
}

/* Thin weight on subtitle text */
.elementor-widget-text-editor p,
.elementor-widget-text-editor {
  font-weight: 300;
}

/* Tabular nums for prices and dates */
.elementor-widget-heading .elementor-heading-title,
.jet-listing-dynamic-field__content {
  font-variant-numeric: tabular-nums;
}

/* ── 2. Button enhancements ────────────────────────────────────────────────── */

/* Slight rounding — modern premium, not sharp, not bubbly */
.elementor-button {
  border-radius: 4px !important;
  transition: transform 0.2s ease-out, box-shadow 0.2s ease-out, background-color 0.2s ease-out !important;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  font-weight: 600;
}

/* Hover: subtle scale + gold glow */
.elementor-button:hover {
  transform: scale(1.02);
  box-shadow: 0 4px 20px rgba(255, 187, 87, 0.25);
}

/* Press: scale down feedback */
.elementor-button:active {
  transform: scale(0.98);
}

/* ── 3. Concert cards in Schedule — lift on hover ──────────────────────────── */

/* JetEngine listing cards */
.jet-listing-grid__item,
.elementor-widget-jet-listing-grid .jet-listing-grid__item > .elementor-element {
  transition: transform 0.25s ease-out, box-shadow 0.25s ease-out !important;
  border-radius: 6px;
}

.jet-listing-grid__item:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

/* ── 4. Images — subtle zoom on hover ──────────────────────────────────────── */

.elementor-widget-image img,
.elementor-widget-gallery img {
  transition: transform 0.5s ease-out !important;
  border-radius: 4px;
}

.elementor-widget-image:hover img,
.elementor-widget-gallery:hover img {
  transform: scale(1.03);
}

/* Prevent overflow from scaled images */
.elementor-widget-image .elementor-widget-container,
.elementor-widget-gallery .elementor-widget-container {
  overflow: hidden;
  border-radius: 4px;
}

/* ── 5. Testimonials — decorative quotes ───────────────────────────────────── */

.elementor-testimonial__text,
.elementor-widget-testimonial .elementor-testimonial-content {
  position: relative;
}

.elementor-testimonial__text::before,
.elementor-widget-testimonial .elementor-testimonial-content::before {
  content: "\201C";
  position: absolute;
  top: -20px;
  left: -8px;
  font-size: 80px;
  font-family: 'Georgia', serif;
  color: rgba(255, 187, 87, 0.08);
  line-height: 1;
  pointer-events: none;
}

/* Reviewer names slightly bolder */
.elementor-testimonial__name,
.elementor-widget-testimonial .elementor-testimonial-name {
  font-weight: 500 !important;
}

/* ── 6. Section spacing — 8px rhythm consistency ───────────────────────────── */

.elementor-section > .elementor-container {
  transition: opacity 0.3s ease-out;
}

/* ── 7. Links & interactive elements — cursor + transition ─────────────────── */

a[href],
button,
.elementor-button,
[role="button"],
.jet-listing-grid__item {
  cursor: pointer;
}

/* All interactive elements: smooth transitions */
a, button, input, select, textarea {
  transition: border-color 0.15s ease-out, color 0.15s ease-out, background-color 0.15s ease-out;
}

/* ── 8. Scroll snap for carousels (if present) ─────────────────────────────── */

.elementor-widget-slides .swiper-wrapper,
.elementor-widget-testimonial-carousel .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.elementor-widget-slides .swiper-slide,
.elementor-widget-testimonial-carousel .swiper-slide {
  scroll-snap-align: center;
}

/* ── 9. Form inputs — refined ──────────────────────────────────────────────── */

.elementor-field-textual {
  border-radius: 4px !important;
  transition: border-color 0.2s ease-out, box-shadow 0.2s ease-out !important;
}

.elementor-field-textual:focus {
  box-shadow: 0 0 0 2px rgba(255, 187, 87, 0.2) !important;
}

/* ── 10. Countdown timer ───────────────────────────────────────────────────── */

.orch-countdown {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin: 16px 0;
}

.orch-cd-unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 48px;
}

.orch-cd-num {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 28px;
  font-weight: 600;
  color: #FFBB57;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}

.orch-cd-label {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 10px;
  font-weight: 400;
  color: rgba(255,255,255,0.4);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.orch-cd-sep {
  font-size: 24px;
  font-weight: 300;
  color: rgba(255,255,255,0.15);
  margin-top: -12px;
}

@media (max-width: 480px) {
  .orch-cd-num { font-size: 22px; }
  .orch-cd-unit { min-width: 40px; }
}

/* Compact inline countdown for widget header */
.orch-countdown-inline {
  margin: 10px 0 0;
  gap: 2px;
}
.orch-countdown-inline .orch-cd-num {
  font-size: 20px;
}
.orch-countdown-inline .orch-cd-unit {
  min-width: 36px;
}
.orch-countdown-inline .orch-cd-sep {
  font-size: 18px;
  margin-top: -8px;
}

/* ── 11. Reduced motion respect ────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .jet-listing-grid__item:hover {
    transform: none;
  }
  .elementor-widget-image:hover img {
    transform: none;
  }
  .elementor-button:hover {
    transform: none;
  }
}

/* ── Emergency fix: force black background ─────────────────────────────────── */
body, 
body.page, 
body.single, 
body.archive,
body.home,
.site-main,
.entry-content {
  background-color: #000000 !important;
  color: #ffffff !important;
}
