/* ═══════════════════════════════════════════════════════════
   MODERN FARM EXPERIENCE THEME
   Fresh, bright, inviting farm aesthetic
   ═══════════════════════════════════════════════════════════ */

/* ─── FONTS ──────────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;700;800&family=Inter:wght@400;500;600&display=swap');

/* ─── FRESH FARM COLORS ──────────────────────────────────────── */
:root {
  --farm-green: #7CB342;
  --harvest-orange: #FF8A3D;
  --barn-red: #D84315;
  --sky-blue: #42A5F5;
  --earth: #8D6E63;
  --cream: #FFFBF5;
  --soft-white: #FFFFFF;
}

/* ─── LIGHT, AIRY BACKGROUND ─────────────────────────────────── */
html,
body {
  background: linear-gradient(180deg, #FFFEF9 0%, #FFF9ED 100%);
  background-attachment: fixed;
  color: #2E2E2E;
  font-family: "Inter", -apple-system, sans-serif;
  line-height: 1.6;
}

/* Subtle texture */
body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: 
    radial-gradient(circle at 20% 30%, rgba(124, 179, 66, 0.02) 0%, transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(255, 138, 61, 0.02) 0%, transparent 50%);
  pointer-events: none;
  z-index: 0;
}

/* ─── CLEAN, MODERN HEADERS ──────────────────────────────────── */
h1,
h2,
h3,
h4,
.event-title {
  font-family: "Outfit", sans-serif;
  font-weight: 800;
  color: #1A1A1A;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

h1,
.event-title {
  font-size: 2.5rem;
  margin-bottom: 1.5rem;
}

h2 {
  font-size: 1.8rem;
  color: var(--earth);
  margin-bottom: 1rem;
}

h3 {
  font-size: 1.3rem;
  color: var(--farm-green);
  font-weight: 700;
}

/* ─── MODERN CARDS ───────────────────────────────────────────── */
.card,
.stx-card,
.event-section {
  background: var(--soft-white);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 16px;
  box-shadow: 
    0 1px 3px rgba(0, 0, 0, 0.05),
    0 10px 30px rgba(0, 0, 0, 0.03);
  padding: 2rem;
  margin-bottom: 1.5rem;
  transition: all 0.3s ease;
}

.card:hover,
.stx-card:hover {
  transform: translateY(-4px);
  box-shadow: 
    0 4px 12px rgba(0, 0, 0, 0.08),
    0 20px 40px rgba(124, 179, 66, 0.08);
}

/* ─── VIBRANT BUTTONS ────────────────────────────────────────── */
.btn,
.btn-primary,
.stx-buy-button,
button:not(.close) {
  background: linear-gradient(135deg, var(--farm-green) 0%, #689F38 100%) !important;
  border: none !important;
  color: #FFFFFF !important;
  font-family: "Outfit", sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 1rem 2.5rem;
  border-radius: 12px;
  box-shadow: 
    0 4px 14px rgba(124, 179, 66, 0.3),
    inset 0 -2px 0 rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  cursor: pointer;
}

.btn:hover,
.btn-primary:hover,
.stx-buy-button:hover {
  background: linear-gradient(135deg, #689F38 0%, var(--farm-green) 100%) !important;
  transform: translateY(-2px);
  box-shadow: 
    0 6px 20px rgba(124, 179, 66, 0.4),
    inset 0 -2px 0 rgba(0, 0, 0, 0.1);
}

.btn:active,
.btn-primary:active,
.stx-buy-button:active {
  transform: translateY(0);
  box-shadow: 
    0 2px 8px rgba(124, 179, 66, 0.3),
    inset 0 -2px 0 rgba(0, 0, 0, 0.1);
}

/* ─── FRIENDLY LINKS ─────────────────────────────────────────── */
a {
  color: var(--farm-green) !important;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.2s ease;
}

a:hover {
  color: var(--harvest-orange) !important;
}

/* ─── SLEEK PILL NAVIGATION ──────────────────────────────────── */
.leftnav {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 100px;
  padding: 0.4rem;
  box-shadow: 
    0 2px 12px rgba(0, 0, 0, 0.06),
    0 8px 24px rgba(124, 179, 66, 0.08);
  display: inline-block;
}

.leftnav::after {
  content: none !important;
}

.leftnav ul {
  display: flex;
  gap: 0.3rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.leftnav ul li {
  margin: 0;
}

.leftnav ul li a {
  display: block;
  padding: 0.75rem 1.5rem;
  border-radius: 100px;
  color: #555 !important;
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: 0.95rem;
  transition: all 0.25s ease;
}

.leftnav ul li a:hover {
  background: rgba(124, 179, 66, 0.08);
  color: var(--farm-green) !important;
}

.leftnav ul li.active a,
.leftnav ul li.selected a,
.leftnav ul li.is-active a {
  background: linear-gradient(135deg, var(--farm-green) 0%, #689F38 100%);
  color: #FFFFFF !important;
  box-shadow: 0 2px 8px rgba(124, 179, 66, 0.3);
}

/* ─── BRIGHT ACCENT LINKS ────────────────────────────────────── */
.b_promo.promocode_link,
.login_link.section_loginlink,
.login_link.section_loginlink a,
.view-cart-link {
  color: var(--harvest-orange) !important;
  font-weight: 700;
  text-decoration: none !important;
}

.b_promo.promocode_link:hover,
.view-cart-link:hover {
  color: var(--barn-red) !important;
}

/* ─── BOLD PRICE DISPLAY ─────────────────────────────────────── */
.price,
.ticket-price,
[class*="price"] {
  color: var(--barn-red) !important;
  font-family: "Outfit", sans-serif;
  font-weight: 800;
  font-size: 2.2rem;
  letter-spacing: -0.02em;
}

/* ─── CLEAN INPUT FIELDS ─────────────────────────────────────── */
input[type="text"]:not([class*="qty"]):not([class*="quantity"]),
input[type="email"],
input[type="tel"],
textarea {
  background: #FFFFFF;
  border: 2px solid #E0E0E0;
  border-radius: 10px;
  padding: 0.9rem 1.2rem;
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  color: #2E2E2E;
  transition: all 0.2s ease;
}

input:focus,
textarea:focus {
  outline: none;
  border-color: var(--farm-green);
  box-shadow: 0 0 0 4px rgba(124, 179, 66, 0.1);
}

/* ─── FRESH BADGES ───────────────────────────────────────────── */
.badge,
.tag,
.time-badge,
.date-badge {
  background: linear-gradient(135deg, var(--farm-green) 0%, #689F38 100%);
  color: #FFFFFF;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  font-family: "Outfit", sans-serif;
  font-weight: 700;
  font-size: 0.9rem;
  display: inline-block;
  box-shadow: 0 2px 8px rgba(124, 179, 66, 0.2);
}

/* ─── CHECKOUT STYLING ───────────────────────────────────────── */
.checkout-button,
.stx-checkout-button,
button[type="submit"]:not(.close) {
  background: linear-gradient(135deg, var(--farm-green) 0%, #689F38 100%) !important;
  border: none !important;
  color: #FFFFFF !important;
  font-family: "Outfit", sans-serif !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 12px;
  padding: 1.1rem 2.5rem;
  box-shadow: 
    0 4px 14px rgba(124, 179, 66, 0.3),
    inset 0 -2px 0 rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

.checkout-button:hover,
.stx-checkout-button:hover {
  transform: translateY(-2px);
  box-shadow: 
    0 6px 20px rgba(124, 179, 66, 0.4),
    inset 0 -2px 0 rgba(0, 0, 0, 0.1);
}

a[href*="promo"],
.promo-section {
  color: var(--harvest-orange) !important;
  font-weight: 700;
}

a[href*="login"] {
  color: var(--farm-green) !important;
  font-weight: 700;
}

/* ─── SUCCESS MESSAGES ────────────────────────────────────────── */
.alert-success,
.success-message {
  background: linear-gradient(135deg, #F1F8E9 0%, #E8F5E9 100%);
  border: 2px solid var(--farm-green);
  border-radius: 12px;
  color: #2E7D32;
  padding: 1rem 1.5rem;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(124, 179, 66, 0.1);
}

/* ─── CLEAN DIVIDERS ─────────────────────────────────────────── */
hr {
  border: none;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #E0E0E0 50%, transparent 100%);
  margin: 2.5rem 0;
}

/* ─── ACCESSIBILITY ───────────────────────────────────────────── */
:focus-visible {
  outline: 3px solid var(--farm-green);
  outline-offset: 3px;
  border-radius: 8px;
}

/* ─── FOOTER ──────────────────────────────────────────────────── */
footer,
.footer,
.stx-footer {
  display: none;
}

/* ═══════════════════════════════════════════════════════════
   END MODERN FARM THEME
   ═══════════════════════════════════════════════════════════ */