@import url('https://fonts.googleapis.com/css2?family=Anton&family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');

/* ==========================================================================
   SONORALIA EXPERIENCE — OFFICIAL DESIGN SYSTEM OVERRIDES
   ========================================================================== */

:root {
  --color-ink: #0f0d11;
  --color-ink-soft: #18161b;
  --color-ink-softer: #221f26;
  --color-cream: #fbf4e2;
  --color-cream-muted: #b8b3ab;
  --color-lime: #e6e4a4;
  --color-lime-soft: #cfcd8d;
  --font-display: 'Anton', 'Arial Narrow', sans-serif !important;
  --font-sans: 'Montserrat', sans-serif !important;
}

/* BASE BODY & BACKGROUND */
html, body, #page, .site-header, .site-content, .site-footer, main, .elementor, .elementor-section, .elementor-container {
  background-color: #0f0d11 !important;
  color: #fbf4e2 !important;
  font-family: 'Montserrat', sans-serif !important;
}

/* HEADINGS MUST USE ANTON */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-widget-heading *,
h1 *, h2 *, h3 *, h4 * {
  font-family: 'Anton', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.01em !important;
  overflow: visible !important;
}

/* EYEBROW BADGES MUST BE SPAN IN MONTSERRAT */
.eyebrow, span.eyebrow, .eyebrow * {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: #e6e4a4 !important;
  display: inline-block !important;
  margin-bottom: 0.75rem !important;
}

/* LIME GRADIENT TEXT FOR ITALIC ACCENTS */
.text-lime-gradient {
  display: inline-block !important;
  font-style: italic !important;
  padding-right: 0.22em !important;
  margin-right: -0.22em !important;
  padding-bottom: 0.05em !important;
  background-image: linear-gradient(100deg, #cfcd8d, #e6e4a4, #cfcd8d) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}

/* ALL BUTTONS STRICT 0PX BORDER RADIUS (NO ROUNDED CORNERS) */
button,
a.btn-lime,
a.btn-outline-lime,
.btn-lime,
.btn-outline-lime,
.elementor-button,
a.elementor-button,
.elementor-widget-button a,
input[type="submit"],
input[type="button"],
.cat-btn,
div[role="tablist"] button {
  border-radius: 0px !important;
  font-family: 'Montserrat', sans-serif !important;
}

/* SOLID LIME BUTTON */
.btn-lime, a.btn-lime, .elementor-button.btn-lime {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  padding: 0.875rem 1.75rem !important;
  font-size: 0.75rem !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2em !important;
  color: #0f0d11 !important;
  background-image: linear-gradient(100deg, #cfcd8d, #e6e4a4, #cfcd8d) !important;
  background-color: #e6e4a4 !important;
  border: none !important;
  border-radius: 0px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
}

.btn-lime:hover, a.btn-lime:hover {
  filter: brightness(1.08) !important;
  transform: translateY(-2px) !important;
  color: #0f0d11 !important;
}

/* OUTLINE LIME BUTTON */
.btn-outline-lime, a.btn-outline-lime, .elementor-button.btn-outline-lime {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  padding: 0.875rem 1.75rem !important;
  font-size: 0.75rem !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2em !important;
  color: #e6e4a4 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 1px solid rgba(230, 228, 164, 0.55) !important;
  border-radius: 0px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
}

.btn-outline-lime:hover, a.btn-outline-lime:hover {
  background-color: rgba(230, 228, 164, 0.12) !important;
  transform: translateY(-2px) !important;
  color: #e6e4a4 !important;
}

/* CARDS */
.cinema-card {
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  background-color: #18161b !important;
  box-shadow: 0 30px 80px -30px rgba(0, 0, 0, 0.8) !important;
  border-radius: 0px !important;
}

.lift {
  transition: transform 0.5s cubic-bezier(0.22,1,0.36,1), box-shadow 0.5s ease, border-color 0.5s ease !important;
}
.lift:hover {
  transform: translateY(-8px) !important;
  border-color: rgba(230, 228, 164, 0.45) !important;
}

/* RULES & ACCENTS */
.rule-lime {
  height: 1px !important;
  width: 4rem !important;
  background-image: linear-gradient(100deg, #cfcd8d, #e6e4a4) !important;
}

/* PHOTOGRAPHY B&W FILTER */
main img:not(.brand-color), .elementor img:not(.brand-color) {
  filter: grayscale(1) !important;
}
