:root {
  --fx-bg: #f6f7fb;
  --fx-surface: #ffffff;
  --fx-surface-2: #f9f9fc;
  --fx-ink: #101218;
  --fx-muted: #6f7582;
  --fx-line: #e7e8ef;
  --fx-purple: #6d35f2;
  --fx-purple-2: #8b4cff;
  --fx-navy: #07111f;
  --fx-danger: #ee365f;
  --fx-radius: 18px;
  --fx-shadow: 0 18px 60px rgba(21, 23, 35, .08);
}

.fx-eventin,
.fx-eventin * { box-sizing: border-box; }

.fx-eventin {
  background: var(--fx-bg);
  color: var(--fx-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.55;
  padding: 28px 0 68px;
}

.fx-eventin a { color: inherit; text-decoration: none; }
.fx-eventin img { max-width: 100%; height: auto; }

.fx-eventin__shell { width: min(1520px, calc(100% - 48px)); margin: 0 auto; }
.fx-breadcrumb { display:flex; gap:9px; align-items:center; flex-wrap:wrap; color:var(--fx-muted); font-size:13px; margin:0 0 18px; }
.fx-breadcrumb a:hover { color:var(--fx-purple); }

.fx-eventin__grid { display:grid; grid-template-columns:minmax(0, 1.9fr) minmax(350px, .9fr); gap:30px; align-items:start; }
.fx-event-main { min-width:0; }
.fx-ticket-column { min-width:0; position:relative; }
.fx-ticket-card { position:sticky; top:24px; background:var(--fx-surface); border:1px solid var(--fx-line); border-radius:var(--fx-radius); padding:24px; box-shadow:var(--fx-shadow); }
.fx-ticket-card__head { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; padding-bottom:18px; border-bottom:1px solid var(--fx-line); margin-bottom:18px; }
.fx-ticket-card__head h2 { margin:2px 0 0; font-size:24px; line-height:1.15; letter-spacing:-.02em; }
.fx-secure { color:var(--fx-purple); font-size:12px; font-weight:700; white-space:nowrap; }
.fx-eyebrow { display:block; color:var(--fx-purple); font-weight:800; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }

.fx-hero { min-height:420px; position:relative; overflow:hidden; border-radius:22px; background:radial-gradient(circle at 70% 30%, #6b25d5 0, #27123f 32%, #080b14 75%); box-shadow:var(--fx-shadow); isolation:isolate; }
.fx-hero.has-image::before { content:""; position:absolute; inset:0; background-image:var(--fx-hero-image); background-size:cover; background-position:center; z-index:-2; transform:scale(1.01); }
.fx-hero__shade { position:absolute; inset:0; background:linear-gradient(90deg, rgba(5,8,15,.92) 0%, rgba(5,8,15,.68) 42%, rgba(5,8,15,.18) 74%, rgba(5,8,15,.38) 100%), linear-gradient(0deg, rgba(5,8,15,.75), transparent 60%); z-index:-1; }
.fx-hero__top { position:absolute; top:20px; left:22px; right:22px; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.fx-kicker { background:linear-gradient(135deg, var(--fx-purple), var(--fx-purple-2)); color:#fff; padding:7px 10px; border-radius:999px; font-size:10px; font-weight:800; letter-spacing:.08em; }
.fx-hero__actions { display:flex; gap:10px; }
.fx-icon-btn { width:42px; height:42px; border:0; border-radius:50%; background:#fff; color:#12151d; font-size:18px; cursor:pointer; box-shadow:0 8px 30px rgba(0,0,0,.18); }
.fx-icon-btn:hover { transform:translateY(-1px); }
.fx-hero__content { position:absolute; left:34px; right:34px; bottom:32px; max-width:760px; color:#fff; }
.fx-hero h1 { color:#fff; font-size:clamp(38px, 5vw, 74px); line-height:.98; letter-spacing:-.055em; margin:0 0 24px; text-wrap:balance; }
.fx-pills { display:flex; gap:9px; flex-wrap:wrap; }
.fx-pills span { border:1px solid rgba(255,255,255,.28); background:rgba(12,14,23,.4); backdrop-filter:blur(10px); color:#fff; padding:7px 13px; border-radius:999px; font-size:12px; }
.fx-hero__countdown { position:absolute; right:24px; bottom:24px; max-width:42%; }

.fx-meta-card { margin-top:14px; background:var(--fx-surface); border:1px solid var(--fx-line); border-radius:16px; padding:18px 20px; box-shadow:0 10px 35px rgba(22,24,35,.04); }
.fx-meta-card .etn-event-meta-info, .fx-meta-card .etn-event-meta { margin:0 !important; }
.fx-meta-card ul { display:flex; gap:18px 32px; flex-wrap:wrap; margin:0 !important; padding:0 !important; list-style:none !important; }
.fx-meta-card li { margin:0 !important; color:var(--fx-muted); }
.fx-meta-card i, .fx-meta-card svg { color:var(--fx-purple) !important; }

.fx-tabs { display:flex; gap:22px; overflow-x:auto; border-bottom:1px solid var(--fx-line); margin:18px 0 0; background:transparent; scrollbar-width:none; }
.fx-tabs::-webkit-scrollbar { display:none; }
.fx-tabs a { padding:14px 4px 12px; color:var(--fx-muted); font-size:13px; white-space:nowrap; border-bottom:2px solid transparent; }
.fx-tabs a:hover { color:var(--fx-purple); border-bottom-color:var(--fx-purple); }

.fx-section { scroll-margin-top:90px; background:var(--fx-surface); border:1px solid var(--fx-line); border-radius:var(--fx-radius); margin-top:18px; padding:28px; box-shadow:0 10px 35px rgba(22,24,35,.035); }
.fx-section__heading { margin-bottom:18px; }
.fx-section__heading h2 { margin:4px 0 0; font-size:27px; line-height:1.15; letter-spacing:-.025em; }
.fx-section__heading--row { display:flex; align-items:end; justify-content:space-between; }
.fx-richtext { color:#4d5360; max-width:900px; }
.fx-richtext > :first-child { margin-top:0; }
.fx-richtext > :last-child { margin-bottom:0; }
.fx-richtext h2, .fx-richtext h3 { color:var(--fx-ink); }
.fx-richtext a { color:var(--fx-purple); text-decoration:underline; text-underline-offset:3px; }
.fx-experience-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; }
.fx-experience-card { display:flex; align-items:center; gap:10px; min-height:56px; border:1px solid var(--fx-line); border-radius:12px; padding:13px 15px; background:var(--fx-surface-2); font-weight:650; }
.fx-experience-card span { color:var(--fx-purple); }
.fx-policy-list { list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.fx-policy-list li { display:flex; gap:10px; align-items:flex-start; color:#4f5562; }
.fx-policy-list li span { display:grid; place-items:center; flex:0 0 20px; height:20px; border-radius:50%; background:#f1ebff; color:var(--fx-purple); font-size:11px; font-weight:900; margin-top:1px; }

.fx-related { margin-top:28px; background:var(--fx-surface); border:1px solid var(--fx-line); border-radius:var(--fx-radius); padding:28px; box-shadow:0 10px 35px rgba(22,24,35,.035); }
.fx-related .etn-event-item { border-radius:14px !important; overflow:hidden !important; border:1px solid var(--fx-line) !important; box-shadow:none !important; background:#fff !important; }
.fx-related .etn-event-content { padding:16px !important; }
.fx-related .etn-title { font-size:18px !important; }

.fx-trust-row { display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap; color:var(--fx-muted); font-size:11px; border-top:1px solid var(--fx-line); padding-top:16px; margin-top:18px; }
.fx-eventin-alert { border:1px solid #ddd4ff; background:#f7f4ff; color:#4b3b78; border-radius:12px; padding:15px; font-size:13px; }
.fx-eventin-alert code { background:#ede8ff; border-radius:5px; padding:2px 5px; }

/* Eventin Pro ticket widget skin */
.fx-ticket-native .etn-ticket-widget,
.fx-ticket-native .etn-variable-ticket-widget,
.fx-ticket-native .etn-recurring-widget,
.fx-ticket-native form { margin:0 !important; width:100% !important; }

.fx-ticket-native .etn-ticket-widget,
.fx-ticket-native .etn-variable-ticket-widget { border:0 !important; box-shadow:none !important; background:transparent !important; padding:0 !important; }

.fx-ticket-native .ticket-header,
.fx-ticket-native .etn-ticket-widget .ticket-header { color:var(--fx-ink) !important; background:transparent !important; padding:0 0 12px !important; border:0 !important; font-weight:750 !important; }

.fx-ticket-native .etn-variable-ticket-widget .ticket-item,
.fx-ticket-native .etn-ticket-item,
.fx-ticket-native .etn-ticket-widget .ticket-item,
.fx-ticket-native .etn-ticket-widget .etn-ticket { border:1px solid var(--fx-line) !important; background:#fff !important; border-radius:12px !important; padding:14px !important; margin:10px 0 !important; }

.fx-ticket-native input[type="number"],
.fx-ticket-native input[type="text"],
.fx-ticket-native select { border:1px solid var(--fx-line) !important; border-radius:9px !important; min-height:42px !important; background:#fff !important; box-shadow:none !important; }

.fx-ticket-native .etn-add-to-cart-block,
.fx-ticket-native .etn-variable-ticket-widget .etn-add-to-cart-block { background:#f7f5ff !important; border:1px solid #e6deff !important; border-radius:12px !important; padding:14px !important; }

.fx-ticket-native .etn-btn,
.fx-ticket-native button.etn-btn,
.fx-ticket-native .attr-btn-primary,
.fx-ticket-native button[type="submit"] { width:100% !important; border:0 !important; border-radius:10px !important; min-height:48px !important; background:linear-gradient(135deg, var(--fx-purple), var(--fx-purple-2)) !important; color:#fff !important; font-weight:800 !important; box-shadow:0 10px 24px rgba(109,53,242,.22) !important; transition:transform .2s ease, box-shadow .2s ease !important; }
.fx-ticket-native .etn-btn:hover,
.fx-ticket-native button.etn-btn:hover,
.fx-ticket-native button[type="submit"]:hover { transform:translateY(-1px); box-shadow:0 14px 30px rgba(109,53,242,.28) !important; }

.fx-ticket-native .etn-variable-total-price,
.fx-ticket-native .etn-total-price { color:var(--fx-purple) !important; border-color:var(--fx-purple) !important; font-weight:850 !important; }

.fx-ticket-native .ant-radio-checked .ant-radio-inner,
.fx-ticket-native .ant-checkbox-checked .ant-checkbox-inner { background:var(--fx-purple) !important; border-color:var(--fx-purple) !important; }

/* Native Eventin blocks nested into FullAxes cards */
.fx-native-block .etn-event-organizers,
.fx-native-block .etn-event-faq-wrap,
.fx-native-block .etn-schedule-wrap,
.fx-native-block .schedule-tab-wrapper { margin:0 !important; padding:0 !important; box-shadow:none !important; }
.fx-native-block .etn-faq-item,
.fx-native-block .etn-accordion-item { border:1px solid var(--fx-line) !important; border-radius:10px !important; margin-bottom:8px !important; overflow:hidden; }

@media (max-width: 1100px) {
  .fx-eventin__grid { grid-template-columns:1fr; }
  .fx-ticket-column { order:-1; }
  .fx-ticket-card { position:relative; top:auto; }
  .fx-hero__countdown { display:none; }
}

@media (max-width: 760px) {
  .fx-eventin { padding-top:16px; }
  .fx-eventin__shell { width:min(100% - 24px, 1520px); }
  .fx-hero { min-height:390px; border-radius:16px; }
  .fx-hero__content { left:22px; right:22px; bottom:24px; }
  .fx-hero h1 { font-size:42px; }
  .fx-section, .fx-related, .fx-ticket-card { padding:20px; border-radius:15px; }
  .fx-experience-grid { grid-template-columns:1fr 1fr; }
  .fx-ticket-card__head { flex-direction:column; }
}

@media (max-width: 480px) {
  .fx-experience-grid { grid-template-columns:1fr; }
  .fx-hero h1 { font-size:36px; }
}
