.elementor-53 .elementor-element.elementor-element-f427e{--display:flex;}/* Start custom CSS for html, class: .elementor-element-f427f *//* LEO SOON · CSS
   粘贴位置：Elementor → Site Settings → Custom CSS，接在 Footer 的 CSS 下面（全站只有这一个框）。
   颜色和尺寸都在下面第一个区块修改。整套配色没有灰色。 */

#leo-soon {
  /* 文字 */
  --leo-text: #171C22;
  --leo-gold-text: #8A641C;

  /* 背景（页面背景要设成象牙白，票根缺口才会和页面融在一起） */
  --leo-ivory: #FFFCF5;
  --leo-card: #FFFFFF;
  --leo-cream: #FBF3DF;

  /* 金色与红色 */
  --leo-gold: #E5BC4C;
  --leo-gold-bright: #F6D987;
  --leo-gold-deep: #B9861B;
  --leo-gold-line: color-mix(in srgb, var(--leo-gold) 55%, transparent);
  --leo-red: #D62828;

  /* 阴影（暖色，不用灰） */
  --leo-shadow: 0 18px 56px rgba(26, 20, 8, .10);

  /* 尺寸与动效 */
  --leo-max-width: 1120px;
  --leo-stub-width: 300px;
  --leo-radius: 26px;
  --leo-speed: 150ms;

  /* 字体、字号、字重：与 Header / Footer 一致，不依赖 Elementor Global Fonts */
  --leo-font: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  --leo-font-size: 15px;
  --leo-font-weight: 600;

  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  container-type: inline-size;
  container-name: leo-soon-area;
  color: var(--leo-text);
  background: transparent !important;
  font-family: var(--leo-font);
  line-height: 1.55;
}

#leo-soon,
#leo-soon *,
#leo-soon *::before,
#leo-soon *::after { box-sizing: border-box; }

#leo-soon :is(h1, p, dl, dd) { margin: 0; padding: 0; }
#leo-soon a { color: inherit; text-decoration: none; }
#leo-soon button { font: inherit; color: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent; }
#leo-soon :is(a, button):focus-visible { outline: 2px solid var(--leo-gold-text); outline-offset: 3px; }

#leo-soon .leo-soon__wrap {
  width: min(calc(100% - 40px), var(--leo-max-width));
  margin: 0 auto;
  padding: clamp(20px, 4vw, 48px) 0 clamp(36px, 6vw, 72px);
}

/* ---------- 登机牌外框：金色细边框 + 静态金色高光 ---------- */
#leo-soon .leo-soon__card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--leo-stub-width);
  border: 1px solid var(--leo-gold-line);
  border-radius: var(--leo-radius);
  background: var(--leo-card);
  box-shadow: var(--leo-shadow);
}
#leo-soon .leo-soon__card::before {
  content: "";
  position: absolute;
  inset: -1px;
  padding: 1px;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 8%, var(--leo-gold-line) 28%, var(--leo-gold) 46%, var(--leo-gold-bright) 50%, var(--leo-gold) 54%, var(--leo-gold-line) 72%, transparent 92%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

/* ---------- 左侧主体 ---------- */
#leo-soon .leo-soon__main { padding: clamp(24px, 4vw, 52px); }
#leo-soon .leo-soon__eyebrow {
  margin-bottom: 14px;
  color: var(--leo-gold-text);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
#leo-soon .leo-soon__title {
  font-size: clamp(32px, 4.8vw, 56px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.02em;
  text-wrap: balance;
}
#leo-soon .leo-soon__lead {
  max-width: 52ch;
  margin-top: 18px;
  font-size: clamp(17px, 1.6vw, 18px);
  line-height: 1.6;
}

#leo-soon .leo-soon__fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 28px;
  padding-top: 20px;
  border-top: 2px dashed var(--leo-gold-deep);
}
#leo-soon .leo-soon__field dt {
  color: var(--leo-gold-text);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
#leo-soon .leo-soon__field dd { margin-top: 2px; font-size: 17px; font-weight: 700; }

/* ---------- 按钮 ---------- */
#leo-soon .leo-soon__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
#leo-soon .leo-soon__btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 48px;
  padding: 0 8px 0 22px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--leo-gold);
  color: var(--leo-text);
  font-size: var(--leo-font-size);
  font-weight: var(--leo-font-weight);
  white-space: nowrap;
  transition: background-color var(--leo-speed) ease, color var(--leo-speed) ease, border-color var(--leo-speed) ease;
}
#leo-soon .leo-soon__btn:hover,
#leo-soon .leo-soon__btn:focus-visible { background: var(--leo-red); color: #fff; }

#leo-soon .leo-soon__btn--ghost {
  justify-content: center;
  padding: 0 22px;
  border-color: var(--leo-gold-line);
  background: var(--leo-card);
}
#leo-soon .leo-soon__btn--ghost:hover,
#leo-soon .leo-soon__btn--ghost:focus-visible {
  border-color: var(--leo-gold);
  background: var(--leo-cream);
  color: var(--leo-text);
}

#leo-soon .leo-soon__arrow {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border: 1px solid var(--leo-gold-deep);
  border-radius: 50%;
  background: var(--leo-ivory);
  color: var(--leo-red);
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  transition: border-color var(--leo-speed) ease;
}
#leo-soon .leo-soon__arrow::before {
  content: "";
  position: absolute;
  inset: -1px;
  padding: 1px;
  border-radius: 50%;
  pointer-events: none;
  background: linear-gradient(135deg, transparent 12%, var(--leo-gold-bright) 40%, var(--leo-gold) 56%, transparent 84%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}
#leo-soon .leo-soon__btn:hover .leo-soon__arrow,
#leo-soon .leo-soon__btn:focus-visible .leo-soon__arrow { border-color: var(--leo-gold); }

/* ---------- 右侧票根 ---------- */
#leo-soon .leo-soon__stub {
  position: relative;
  display: grid;
  align-content: center;
  gap: 18px;
  padding: 32px 26px;
  border-left: 2px dashed var(--leo-gold-deep);
}
#leo-soon .leo-soon__stub::before,
#leo-soon .leo-soon__stub::after {
  content: "";
  position: absolute;
  left: -15px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--leo-ivory);
}
#leo-soon .leo-soon__stub::before { top: -15px; }
#leo-soon .leo-soon__stub::after { bottom: -15px; }

#leo-soon .leo-soon__stub-label {
  color: var(--leo-gold-text);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
#leo-soon .leo-soon__count { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
#leo-soon .leo-soon__unit {
  padding: 12px 8px;
  border: 1px solid var(--leo-gold-line);
  border-radius: 14px;
  background: var(--leo-cream);
  text-align: center;
}
#leo-soon .leo-soon__unit strong {
  display: block;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}
#leo-soon .leo-soon__unit span {
  color: var(--leo-gold-text);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

/* 暂停按钮：数字会自动更新，所以提供暂停（无脚本或减少动态效果时不显示） */
#leo-soon .leo-soon__pause {
  justify-self: start;
  min-height: 36px;
  padding: 0 16px;
  border: 1px solid var(--leo-gold-line);
  border-radius: 999px;
  background: var(--leo-card);
  font-size: 13px;
  font-weight: 700;
  transition: background-color var(--leo-speed) ease, border-color var(--leo-speed) ease;
}
#leo-soon .leo-soon__pause[hidden] { display: none; }
#leo-soon .leo-soon__pause:hover,
#leo-soon .leo-soon__pause:focus-visible { border-color: var(--leo-gold); background: var(--leo-cream); }

#leo-soon .leo-soon__barcode {
  height: 44px;
  background: repeating-linear-gradient(90deg, var(--leo-text) 0 2px, transparent 2px 5px, var(--leo-text) 5px 6px, transparent 6px 10px, var(--leo-text) 10px 13px, transparent 13px 15px);
}

/* ---------- 响应式：按自身宽度排版（兼容 Elementor 编辑器） ---------- */
@container leo-soon-area (max-width: 820px) {
  #leo-soon .leo-soon__card { grid-template-columns: 1fr; }
  #leo-soon .leo-soon__stub { border-left: 0; border-top: 2px dashed var(--leo-gold-deep); }
  #leo-soon .leo-soon__stub::before { top: -15px; left: -15px; }
  #leo-soon .leo-soon__stub::after { top: -15px; right: -15px; bottom: auto; left: auto; }
  #leo-soon .leo-soon__count { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@container leo-soon-area (max-width: 540px) {
  #leo-soon .leo-soon__actions { flex-direction: column; }
  #leo-soon .leo-soon__btn { width: 100%; }
  #leo-soon .leo-soon__fields { grid-template-columns: 1fr 1fr; }
  #leo-soon .leo-soon__unit { padding: 10px 4px; }
  #leo-soon .leo-soon__unit strong { font-size: 26px; }
  #leo-soon .leo-soon__unit span { letter-spacing: .06em; }
}

@media (prefers-reduced-motion: reduce) {
  #leo-soon *,
  #leo-soon *::before,
  #leo-soon *::after { transition-duration: .01ms !important; }
}/* End custom CSS */