/* 行程浮层样式（itinBar / 行程弹窗 / 分享海报）
   来源：从 index.css 同步。首页通过 index.css 已包含这些规则，
   详情页（detail.php 不加载 index.css）用本文件补齐，保证浮层在两处外观一致。
   维护提示：index.css 是主副本，改行程样式时请同步本文件。 */

        .itin-add-btn { position:absolute; top:12px; right:12px; width:34px; height:34px; border-radius:50%; border:1px solid rgba(255,255,255,0.62); background:rgba(255,255,255,0.78); color:#111; font-size:18px; line-height:34px; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 26px rgba(15,23,42,0.13); z-index:8; cursor:pointer; font-family:-apple-system,sans-serif; transition:transform .24s cubic-bezier(.22,1,.36,1), background .24s ease, color .24s ease, box-shadow .24s ease, opacity .24s ease; backdrop-filter:blur(14px) saturate(1.08); -webkit-backdrop-filter:blur(14px) saturate(1.08); opacity:.92; }
        .itin-add-btn.added { background:rgba(248,250,252,0.94); color:#334155; font-size:15px; border-color:rgba(148,163,184,0.28); }
        .itin-bar { position:fixed; left:50%; right:auto; width:min(560px, calc(100vw - 32px)); bottom:calc(16px + env(safe-area-inset-bottom)); transform:translateX(-50%); z-index:99980; display:none; align-items:center; gap:12px; padding:11px 13px; border-radius:999px; background:rgba(248,250,252,0.88); color:#334155; box-shadow:0 14px 34px rgba(15,23,42,0.12); border:1px solid rgba(255,255,255,0.72); backdrop-filter:blur(22px) saturate(1.08); -webkit-backdrop-filter:blur(22px) saturate(1.08); font-family:-apple-system,sans-serif; }
        .itin-bar.show { display:flex; }
        .bar-avatars { display:flex; align-items:center; min-width:32px; }
        .bar-avatar { width:32px; height:32px; border-radius:50%; overflow:hidden; border:2px solid rgba(255,255,255,0.92); margin-left:-8px; background:#e2e8f0; }
        .bar-count { flex:1; font-size:13px; font-weight:520; letter-spacing:.7px; white-space:nowrap; }
        .bar-btn { border:0; background:rgba(255,255,255,0.92); color:#334155; padding:9px 18px; border-radius:999px; font-size:12px; font-weight:560; letter-spacing:.65px; font-family:-apple-system,sans-serif; cursor:pointer; }
        .plan-modal { position:fixed; inset:0; z-index:10000050; display:none; background:rgba(240,244,247,0.86); overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; touch-action:pan-y; padding:22px 18px calc(22px + env(safe-area-inset-bottom)); font-family:-apple-system,sans-serif; backdrop-filter:blur(18px) saturate(1.04); -webkit-backdrop-filter:blur(18px) saturate(1.04); }
        .plan-modal.show { display:flex; align-items:flex-start; justify-content:center; }
        .plan-sheet { width:min(760px,100%); min-height:calc(100vh - 44px); padding:18px 0 0; }
        .plan-top { display:flex; justify-content:space-between; align-items:center; margin:0 auto 22px; max-width:720px; }
        .plan-close-btn { width:44px; height:44px; border-radius:50%; border:1px solid rgba(15,23,42,0.06); background:rgba(255,255,255,0.9); color:#111; font-size:28px; line-height:1; box-shadow:0 10px 28px rgba(15,23,42,0.07); cursor:pointer; }
        .plan-header { text-align:center; margin-bottom:25px; }
        .plan-list { display:flex; flex-direction:column; gap:12px; max-width:720px; margin:0 auto; }
        .plan-item { display:flex; align-items:center; gap:12px; background:rgba(255,255,255,0.92); border:1px solid rgba(255,255,255,0.74); border-radius:20px; padding:10px; box-shadow:0 12px 34px rgba(15,23,42,0.055); }
        .plan-num { width:28px; height:28px; border-radius:50%; background:rgba(248,250,252,0.96); color:#334155; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:560; flex-shrink:0; }
        .plan-thumb { width:58px; height:58px; border-radius:14px; overflow:hidden; flex-shrink:0; background:#e2e8f0; }
        .plan-info { flex:1; min-width:0; }
        .plan-remove { width:32px; height:32px; border-radius:50%; border:0; background:#f8fafc; color:#64748b; cursor:pointer; flex-shrink:0; }
        .plan-empty { display:none; text-align:center; color:#94a3b8; padding:70px 20px; font-size:13px; line-height:1.8; }
        .plan-empty.show { display:block; }
        .plan-item-wrap { display:flex; flex-direction:column; gap:6px; }
        .plan-leg { display:flex; align-items:center; gap:10px; padding:0 22px; }
        .plan-leg::before, .plan-leg::after { content:""; flex:1 1 auto; height:1px; background:linear-gradient(to right, rgba(148,163,184,0), rgba(148,163,184,0.38), rgba(148,163,184,0)); }
        .plan-leg::before { background:linear-gradient(to right, rgba(148,163,184,0), rgba(148,163,184,0.38)); }
        .plan-leg::after { background:linear-gradient(to left, rgba(148,163,184,0), rgba(148,163,184,0.38)); }
        .plan-leg-text { font-family:"Georgia","Times New Roman",serif; font-size:12px; font-weight:500; color:#94a3b8; letter-spacing:1px; white-space:nowrap; }
        .plan-leg-origin .plan-leg-text { color:#64748b; }
        .plan-drag { width:30px; height:46px; display:flex; align-items:center; justify-content:center; color:#cbd5e1; font-size:16px; line-height:1; cursor:grab; flex-shrink:0; touch-action:none; user-select:none; -webkit-user-select:none; }
        .plan-drag:active { cursor:grabbing; color:#94a3b8; }
        .plan-item-wrap.is-dragging { position:relative; z-index:6; }
        .plan-item-wrap.is-dragging .plan-item { box-shadow:0 20px 48px rgba(15,23,42,0.18); transform:scale(1.015); }
        .plan-item { transition: box-shadow .22s ease, transform .22s ease; }
        .plan-summary { max-width:720px; margin:14px auto 0; text-align:center; font-family:"Georgia","Times New Roman",serif; font-size:12px; font-weight:500; color:#64748b; letter-spacing:1px; }
        .plan-origin { display:none; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; max-width:720px; margin:16px auto 0; }
        .plan-origin.show { display:flex; }
        .plan-origin-label { font-size:11px; color:#94a3b8; letter-spacing:1.4px; font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif; }
        .plan-origin-btn { border-radius:999px; padding:8px 16px; font-size:12px; font-weight:520; letter-spacing:0.8px; font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif; border:1px solid rgba(15,23,42,0.08); background:rgba(255,255,255,0.9); color:#475569; cursor:pointer; transition:0.22s; box-shadow:none; }
        .plan-origin-btn.is-active { background:rgba(51,65,85,0.9); color:#fff; border-color:transparent; box-shadow:0 8px 20px rgba(15,23,42,0.11); }
        .plan-origin-btn:active { transform:scale(.97); }
        .plan-action { position:static; display:none; gap:12px; max-width:720px; margin:10px auto 0; padding:10px; border-radius:999px; background:rgba(255,255,255,0.72); border:1px solid rgba(255,255,255,0.72); box-shadow:0 18px 46px rgba(15,23,42,0.12); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
        .plan-action.show { display:flex; }
        .plan-btn { flex:1; border-radius:999px; padding:13px 18px; font-size:13px; font-weight:560; letter-spacing:.7px; cursor:pointer; font-family:-apple-system,sans-serif; transition:transform .22s ease, background .22s ease, box-shadow .22s ease; }
        .plan-btn-outline { background:#fff; color:#111; border:1px solid rgba(0,0,0,0.06); }
        .plan-btn-solid { background:rgba(248,250,252,0.96); color:#334155; border:1px solid rgba(148,163,184,0.28); }
        .bar-btn,
        .plan-btn,
        .plan-btn-solid,
        .plan-action {
        .plan-close-btn,
        .itin-add-btn,
        .plan-remove,
        .itin-add-btn.added {
        .bar-btn,
        .plan-btn,

@media (max-width: 768px) {
            .itin-add-btn { top: 10px; right: 10px; width: 30px; height: 30px; line-height: 30px; font-size: 17px; }
            .itin-add-btn.added { font-size: 14px; }
            .itin-bar { width: calc(100vw - 24px); bottom: calc(12px + env(safe-area-inset-bottom)); padding: 10px 12px; }
            .plan-modal { padding:14px 14px calc(14px + env(safe-area-inset-bottom)); }
            .plan-sheet { min-height:calc(100vh - 28px); padding-top:8px; }
            .plan-action { border-radius:24px; }
}
