/* 机场页补充样式：完全复用官网 style.css 的亮色变量与 class 体系，
   这里只补充官网 style.css 没有的机场特有组件（使用教程步骤、购买模态、支付/结果/找回表单）。
   刻意不定义 :root，避免覆盖官网变量导致主题冲突。 */

/* 套餐卡购买按钮底部对齐（.plan 为 flex 纵向布局，行内等高时按钮贴底整齐） */
.plan .specs { margin-bottom: 18px; }
.plan .ap-buy, .plan .ap-buy-trial { margin-top: auto; }

/* Hero 提示条：强调「机场订阅也能登录 App 使用」，弱化但清晰 */
.ap-hero-note {
  margin-top: 14px; display: inline-flex; align-items: center; gap: 8px;
  font-size: 13px; font-weight: 700; color: var(--good);
  background: var(--soft); border: 1px solid var(--line);
  padding: 8px 14px; border-radius: 999px;
}
@media (min-width: 880px) { .ap-hero-note { align-self: flex-start; } }

/* 文字型链接按钮（找回/续费）：低调、不抢主 CTA 视觉 */
.ap-linkbtn {
  background: none; border: 0; padding: 0; cursor: pointer; font: inherit;
  color: var(--good); font-weight: 700; text-decoration: underline; text-underline-offset: 3px;
}
.ap-linkbtn:hover { color: var(--ink); }
footer .flinks .ap-linkbtn { color: var(--muted); text-decoration: none; font-weight: 600; font-size: 13px; }
footer .flinks .ap-linkbtn:hover { color: var(--ink); }
.ap-recover-line { text-align: center; margin-top: 22px; color: var(--muted); font-size: 14px; }

/* 教程下方「用 App 更省心」提示卡 */
.ap-callout {
  display: flex; align-items: center; gap: 16px; margin-top: 22px;
  background: var(--card); border: 1px solid var(--line); border-radius: 16px;
  padding: 18px 20px; box-shadow: 0 8px 26px rgba(40, 55, 80, .07); flex-wrap: wrap;
}
.ap-callout-ic { width: 48px; height: 48px; border-radius: 14px; background: var(--grad); display: grid; place-items: center; flex: none; box-shadow: 0 10px 22px var(--glow); }
.ap-callout-ic svg { width: 26px; height: 26px; stroke: #fff; }
.ap-callout-txt { flex: 1 1 240px; display: flex; flex-direction: column; gap: 3px; }
.ap-callout-txt b { font-size: 15.5px; font-weight: 800; color: var(--ink); }
.ap-callout-txt span { font-size: 13.5px; color: var(--muted); }
.ap-callout .btn { flex: none; }

/* 使用教程：三步栅格 + 步骤序号（复用官网 .card.feature 容器，居中排版） */
.grid-how { grid-template-columns: 1fr; }
@media (min-width: 760px) { .grid-how { grid-template-columns: repeat(3, 1fr); } }
.feature.step { text-align: center; }
.ap-step-n {
  width: 46px; height: 46px; border-radius: 14px; background: var(--grad); color: #fff;
  font-weight: 800; font-size: 20px; display: flex; align-items: center; justify-content: center;
  margin: 0 auto 14px; box-shadow: 0 8px 18px var(--glow);
}

/* 模态（亮色白底，与官网协调） */
.ap-modal { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 20px; }
.ap-modal[hidden] { display: none; }
.ap-modal-mask { position: absolute; inset: 0; background: rgba(20, 27, 39, .5); backdrop-filter: blur(4px); }
.ap-modal-box { position: relative; width: 100%; max-width: 460px; background: var(--card); border-radius: var(--radius); padding: 32px 28px; box-shadow: 0 24px 70px rgba(20, 27, 39, .25); max-height: 88vh; overflow-y: auto; }
.ap-modal-x { position: absolute; top: 12px; right: 16px; background: none; border: 0; color: var(--faint); font-size: 28px; cursor: pointer; line-height: 1; }
.ap-modal-x:hover { color: var(--ink); }
.ap-modal-box h3 { font-size: 22px; font-weight: 800; margin-bottom: 6px; color: var(--ink); }
.ap-m-sub { color: var(--muted); font-size: 14px; margin-bottom: 20px; }

/* 表单 */
.ap-field { margin-bottom: 16px; }
.ap-field label { display: block; font-size: 13px; color: var(--muted); margin-bottom: 7px; font-weight: 600; }
.ap-input { width: 100%; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--line); background: #fff; color: var(--ink); font-size: 15px; font-family: inherit; transition: border-color .15s, box-shadow .15s; }
.ap-input:focus { outline: none; border-color: var(--good); box-shadow: 0 0 0 3px var(--soft); }
.ap-channels { display: flex; flex-direction: column; gap: 10px; }
.ap-channel { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; transition: border-color .15s, background .15s; }
.ap-channel:hover { border-color: var(--good); }
.ap-channel.sel { border-color: var(--good); background: var(--soft); }
.ap-channel input { accent-color: var(--good); }

/* 表单说明小字（邮箱即账号提示、初始密码提示等） */
.ap-fine { font-size: 12px; line-height: 1.6; color: var(--faint); margin-top: 12px; }

/* 二维码（USDT 地址 / 微信支付宝扫码）：白底居中，库输出的 canvas/img 自动居中 */
.ap-qr { display: flex; justify-content: center; margin: 14px auto 4px; }
.ap-qr canvas, .ap-qr img { display: block; width: 200px; height: 200px; border-radius: 12px; background: #fff; padding: 10px; box-shadow: 0 6px 18px rgba(20, 27, 39, .12); }
.ap-qr-hint { text-align: center; font-size: 13px; color: var(--muted); font-weight: 600; }

/* 购买成功：新用户账号密码卡片 */
.ap-cred { background: var(--soft); border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; margin-bottom: 16px; }
.ap-cred-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 5px 0; font-size: 14px; }
.ap-cred-row span { color: var(--muted); }
.ap-cred-row b { color: var(--ink); font-weight: 800; word-break: break-all; text-align: right; }

/* 支付 / 结果展示 */
.ap-pay-box { background: var(--soft); border: 1px solid var(--line); border-radius: 14px; padding: 16px; margin-bottom: 14px; }
.ap-pay-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 6px 0; font-size: 14px; }
.ap-pay-row .k { color: var(--muted); }
.ap-pay-row .v { font-weight: 700; word-break: break-all; text-align: right; color: var(--ink); }
.ap-copy-field { display: flex; gap: 8px; align-items: stretch; margin: 8px 0; }
.ap-copy-field .ap-input { flex: 1; min-width: 0; }
.ap-copy-field .btn { height: auto; flex: none; }
.ap-status { text-align: center; padding: 14px; color: var(--muted); font-size: 14px; }
.ap-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #f5a623; margin-right: 6px; animation: apblink 1.2s infinite; vertical-align: middle; }
@keyframes apblink { 50% { opacity: .3; } }
.ap-ok-ic { text-align: center; font-size: 46px; margin-bottom: 6px; }
.ap-import-btns { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
.ap-sep { text-align: center; color: var(--faint); font-size: 12px; margin: 16px 0 8px; }

/* 下载 App 次要入口：主推机场订阅，App 区块降权（更窄、标题更小、去掉大图光晕感） */
.download--secondary { max-width: 560px; margin: 0 auto; padding: 30px 24px; }
.download--secondary h2 { font-size: 20px; }
.download--secondary .dl-icon img { width: 56px; height: 56px; }
