/* index-style.php：前台首页/合集页共用样式。
           这里是 PHP partial，不是静态 CSS；里面可能引用 PHP 变量。
           改视觉时注意：合集页也会加载本文件，但合集页不应出现首页专属 DOM。 */
        /* 首页/合集页公共样式 */
        * { margin:0; padding:0; box-sizing:border-box; }
        .sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
        :root { --valo-ink:#171717; --valo-muted:#64748b; --valo-soft:#f0f4f7; --valo-paper:rgba(255,255,255,0.92); --valo-line:rgba(15,23,42,0.06); --valo-shadow:0 18px 48px rgba(15,23,42,0.07); --valo-ease:cubic-bezier(.22,1,.36,1); }
        ::-webkit-scrollbar { width: 5px; height: 5px; }
        ::-webkit-scrollbar-track { background: transparent; }
        ::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.15); border-radius: 10px; }
        body { font-family: "STSong", "Songti SC", "SimSun", serif; transition: background 0.8s, color 0.8s; overflow-x: hidden; background: radial-gradient(circle at 18% 8%, rgba(255,255,255,0.82), rgba(255,255,255,0) 32%), #f0f4f7; color: #1a1a1a; -webkit-font-smoothing: antialiased; scroll-behavior: auto; }

        @keyframes shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
        .skeleton-bg { background: linear-gradient(90deg, #e2e8f0 25%, #f1f5f9 50%, #e2e8f0 75%); background-size: 400% 100%; animation: shimmer 2s infinite linear; }
        .ripple { position: absolute; border-radius: 50%; transform: scale(0); animation: ripple-anim 0.6s linear; background: rgba(0,0,0,0.1); pointer-events: none; }
        .ripple-light { background: rgba(255,255,255,0.3); }
        @keyframes ripple-anim { to { transform: scale(4); opacity: 0; } }
        #valo-curtain { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #fdfdfd; z-index: 99999; display: flex; align-items: center; justify-content: center; transition: opacity 0.42s var(--valo-ease); will-change: opacity; }
        .curtain-content { display: flex; flex-direction: column; align-items: center; }
        .curtain-logo { width: 200px; max-width: 55vw; height: auto; object-fit: contain; animation: breathe 1.5s ease-in-out infinite alternate; }
        .curtain-line { width: 0; height: 1px; background: #111; margin: 25px 0 20px; opacity: 0.15; animation: lineExpand 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 0.1s; }
        .curtain-text { font-family: "STSong", "Songti SC", serif; font-size: 11px; letter-spacing: 8px; color: #111; opacity: 0; transform: translateY(10px); animation: textFadeUp 0.6s ease-out forwards 0.3s; margin-right: -8px; }
        .curtain-actions { margin-top: 22px; opacity: 0; transform: translateY(8px); animation: textFadeUp 0.45s ease-out forwards 1.8s; }
        .curtain-back-btn { border: 1px solid rgba(17,17,17,0.12); background: rgba(255,255,255,0.86); color: #111; border-radius: 999px; padding: 9px 22px; font-size: 12px; letter-spacing: 2px; font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif; cursor: pointer; box-shadow: 0 8px 24px rgba(15,23,42,0.06); }
        .curtain-back-btn:active { transform: scale(0.96); }
        @keyframes breathe { 0% { opacity: 0.3; transform: scale(0.98); } 100% { opacity: 1; transform: scale(1.02); } }
        @keyframes lineExpand { to { width: 80px; } }
        @keyframes textFadeUp { to { opacity: 0.6; transform: translateY(0); } }
        
        .reveal-item { opacity: 1; transform: none; transition: none; }
        .reveal-visible { opacity: 1 !important; transform: none !important; }
        #valo-app-core { opacity: 1; transform: none; transition: none; }
        body.valo-page-ready #valo-app-core { opacity: 1; transform: none; }
        body.valo-page-leaving #valo-app-core { opacity: 0; transform: translateY(-8px); transition-duration: .22s; }
        
        .music-btn { position: fixed; top: 25px; right: 25px; width: 42px; height: 42px; padding:0; appearance:none; -webkit-appearance:none; background: rgba(255,255,255,0.85); border-radius: 50%; display: flex; align-items: center; justify-content: center; z-index: 99990; box-shadow: 0 5px 20px rgba(0,0,0,0.06); border: 1px solid rgba(0,0,0,0.03); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); cursor: pointer; transition: 0.3s; overflow: hidden; }
        .music-btn:active { transform: scale(0.9); }
        .music-btn.playing svg { animation: spinMusic 4s linear infinite; }
        @keyframes spinMusic { 100% { transform: rotate(360deg); } }
        .music-btn svg { width: 18px; height: 18px; fill: #1a1a1a; transition: 0.3s; }
        /* 图片默认可见：避免 onload 被缓存/懒加载时机吞掉后封面长时间空白。 */
        .fade-img { opacity: 1; transition: opacity 0.35s ease-in-out; }
        .fade-img.loaded { opacity: 1; }
        
        /* index.php 首页专用：横向 sections、首页卡片、地图、UGC、行程。
           合集页只复用基础卡片/导航样式，不应加载首页 DOM。 */
        nav { padding: 20px 10px; position: sticky; top: 0; z-index: 100; background: rgba(240,244,247,0.78); backdrop-filter: blur(26px) saturate(1.08); -webkit-backdrop-filter: blur(26px) saturate(1.08); display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; border-bottom: 1px solid rgba(15,23,42,0.035); transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1); }
        nav.nav-hidden { transform: translateY(-100%); }
        .nav-link { text-decoration: none; background: rgba(255,255,255,0.72); color: #475569; padding: 9px 22px; border-radius: 50px; font-family: -apple-system, sans-serif; font-size: 12px; font-weight: 520; letter-spacing: 1.5px; box-shadow: 0 7px 18px rgba(15,23,42,0.03); transition: color .28s ease, background .28s ease, box-shadow .28s ease, transform .28s ease, border-color .28s ease; border: 1px solid rgba(255,255,255,0.78); position: relative; overflow: hidden; }
        .nav-link:hover { transform: translateY(-1px); background: rgba(255,255,255,0.92); color: #334155; box-shadow: 0 9px 22px rgba(15,23,42,0.045); }
        .nav-link.active { background: rgba(248,250,252,0.98); color: #334155; border-color: rgba(17,17,17,0.78); box-shadow: 0 18px 42px rgba(15,23,42,0.28), 0 7px 18px rgba(15,23,42,0.16), inset 0 1px 0 rgba(255,255,255,0.94); }
        @keyframes navSyncPulse { 0% { transform:scale(.98); box-shadow:0 10px 24px rgba(15,23,42,0.16); } 55% { transform:scale(1.045); box-shadow:0 22px 48px rgba(15,23,42,0.32), 0 8px 20px rgba(15,23,42,0.18), inset 0 1px 0 rgba(255,255,255,0.94); } 100% { transform:scale(1); box-shadow:0 18px 42px rgba(15,23,42,0.28), 0 7px 18px rgba(15,23,42,0.16), inset 0 1px 0 rgba(255,255,255,0.94); } }
        .nav-link.nav-sync-pulse { animation:navSyncPulse .38s var(--valo-ease) both; }
        header { height:75vh; display:flex; flex-direction: column; justify-content:center; align-items:center; position:relative; overflow:hidden; isolation:isolate; }
        .valo-hero { background: #dbe4e8; }
        .hero-cover-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; z-index:0; }
        header::before { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background: radial-gradient(circle at 50% 42%, rgba(255,255,255,0.16), rgba(255,255,255,0) 22%), linear-gradient(180deg, rgba(0,0,0,0.04), rgba(0,0,0,0.34)); }
        header::after { content:none; }
        .logo-box { z-index:10; width:165px; filter: url('#smartMoonlight'); }
        .logo-box img { width:100%; height: auto; display: block; }
        .hero-line { z-index:10; color:white; margin-top:30px; letter-spacing:10px; font-size:13px; font-weight:300; opacity:0.92; text-shadow:0 8px 28px rgba(0,0,0,.28); }
        .hero-cue { z-index:10; margin-top:18px; color:rgba(255,255,255,.68); font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif; font-size:10px; letter-spacing:5px; padding-left:5px; }
        .valo-weather { position: absolute; bottom: 45px; left: 45px; color: #fff; z-index: 10; opacity: 0; transform: translateX(-20px); transition: opacity 1.2s cubic-bezier(0.165, 0.84, 0.44, 1), transform 1.2s cubic-bezier(0.165, 0.84, 0.44, 1); }
        .valo-weather.show { opacity: 1; transform: translateX(0); }
        .w-loc { font-size: 12px; letter-spacing: 5px; margin-bottom: 10px; opacity: 0.9; font-family: -apple-system, sans-serif; }

        .smart-moonlight-svg { position:absolute; width:0; height:0; }
        .sections-horizontal-wrapper { display: flex; width: 100vw; overflow-x: auto; overflow-y: clip; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; position: relative; align-items: flex-start; overflow-anchor: none; overscroll-behavior-x: contain; }
        .sections-horizontal-wrapper::-webkit-scrollbar { display: none; }
        .section-wrap { flex: 0 0 100vw; width: 100vw; max-width: 100vw; padding: 66px 45px 72px; position: relative; scroll-snap-align: start; box-sizing: border-box; }
        .section-soft { background: linear-gradient(180deg, rgba(255,255,255,0.36), rgba(255,255,255,0.18)); }
        .section-title { text-align:center; margin:0 auto 28px; max-width:720px; transform:translateY(4px); transition:transform .7s var(--valo-ease), opacity .7s var(--valo-ease); }
        .section-wrap.section-active .section-title { transform:translateY(0); }
        .section-title span { display:block; margin-bottom:10px; font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif; color:#94a3b8; font-size:10px; font-weight:700; letter-spacing:4px; }
        h2 { font-weight: 400; font-size: clamp(24px, 4vw, 38px); margin-bottom: 14px; letter-spacing: 10px; text-align: center; color: #111; }
        h2::after { content: ''; display: block; width: 40px; height: 1px; background: #1a1a1a; margin: 15px auto 0; opacity: 0.15; }
        .section-title p { margin-top:14px; font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif; color:#64748b; font-size:13px; letter-spacing:1px; line-height:1.8; }
        .scroll-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 30px; width: 100%; padding: 12px 0 20px 0; }
        .card { text-decoration: none; color: inherit; display: block; width: 100%; height: 350px; overflow: hidden; border-radius: 24px; background: rgba(255,255,255,0.94); border: 1px solid rgba(255,255,255,0.72); box-shadow: 0 16px 42px rgba(15,23,42,0.052); transition: transform 0.46s var(--valo-ease), box-shadow 0.46s var(--valo-ease), border-color 0.46s, background .46s; position: relative; cursor: pointer; }
        .card-img-wrapper { width: 100%; height: 220px; overflow: hidden; background: #e2e8f0; position: relative; }
        .card-img-wrapper::after { content:""; position:absolute; inset:0; pointer-events:none; background: linear-gradient(180deg, rgba(15,23,42,0.05), rgba(15,23,42,0) 34%, rgba(15,23,42,0.06)); opacity:.55; transition: opacity .45s ease; }
        .card img { width:100%; height:100%; object-fit:cover; filter: saturate(0.94) contrast(0.99); transition: transform 0.9s cubic-bezier(.22,1,.36,1), filter 0.9s; }
        .card:hover, .card.valo-card-pressing { transform: translate3d(0,-4px,0); border-color: rgba(255,255,255,0.96); box-shadow: 0 22px 54px rgba(15,23,42,0.105); background: rgba(255,255,255,0.98); }
        .card:hover .card-img-wrapper::after, .card.valo-card-pressing .card-img-wrapper::after { opacity:.18; }
        .card:hover img, .card.valo-card-pressing img { transform: scale(1.04); filter: saturate(1.03) contrast(1.01); }
        .card:hover .card-title-main, .card.valo-card-pressing .card-title-main { transform: translateY(-2px); }
        .card-title-main { transition: transform .42s var(--valo-ease); }
        .card:active { transform: translateY(-2px) scale(0.992); }
        .card-info { padding: 18px 22px; text-align: left; }
        .card-info h3, .card-info h2 { font-size: 16px; font-weight: 600; letter-spacing: 1px; color: #111; margin-bottom: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .card-info p { font-size: 12px; color: #64748b; line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-align: justify; }
        .card-title-row { display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; gap:8px; min-width:0; }
        .card-title-main { margin-bottom:0 !important; flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
        .vip-title-row { margin-bottom:14px; }
        .price-tag { color:#1a1a1a; font-weight:500; font-family:"Georgia", "Times New Roman", serif; font-size:var(--price-font, 15px); margin-left:var(--price-gap, 8px); letter-spacing:1px; flex:0 0 auto; }
        .folder-badge { position: absolute; top: 14px; right: 14px; background: rgba(17,17,17,0.58); color: #fff; font-size: 10px; padding: 5px 12px; border-radius: 999px; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); z-index: 5; font-family: -apple-system, sans-serif; letter-spacing: 1px; border: 1px solid rgba(255,255,255,0.22); box-shadow: 0 8px 20px rgba(15,23,42,0.10); }
        .folder-badge-left { left:15px; right:auto; }
        .food-tag-badge { background: rgba(17,17,17,0.52); color:#fff; }
        .pending-badge, .ugc-folder-badge { background:#fef08a; color:#854d0e; }
        .pending-badge-offset { top:48px; }
        .ugc-card-desc { margin-bottom:10px; }
        
        /* 地图模块：基础顶部栏 */
        .map-topbar { position: absolute; top: 15px; left: 15px; right: 15px; height: 40px; z-index: 200; }
        .map-tabs-wrapper { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: flex; gap: 8px; z-index: 200; width: max-content; max-width: 100%; padding: 6px; border-radius: 999px; background: rgba(255,255,255,0.72); box-shadow: 0 16px 44px rgba(15,23,42,0.16); backdrop-filter: blur(20px) saturate(1.08); -webkit-backdrop-filter: blur(20px) saturate(1.08); border: 1px solid rgba(255,255,255,0.72); }
        .valo-map-container.is-fullscreen .map-topbar { position: fixed !important; top: calc(12px + env(safe-area-inset-top)) !important; left: 14px !important; right: 14px !important; height: var(--valo-btn-h) !important; z-index: 10000001 !important; }
        .valo-map-container.is-fullscreen .map-tabs-wrapper { position: absolute !important; left: 50% !important; top: 50% !important; transform: translate(-50%, -50%) !important; width: max-content !important; max-width: calc(100vw - 120px) !important; }
        .map-tab-btn { padding: 10px 14px; border-radius: 999px; background: transparent; color: #475569; font-size: 12px; font-weight: 520; cursor: pointer; border: 0; transition: 0.25s; box-shadow: none; font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif; white-space: nowrap; min-width: 0; flex: 0 1 auto; letter-spacing: 0.45px; }
        .map-tab-btn.active { background: rgba(51,65,85,0.86); color: #fff; border-color: transparent; box-shadow: 0 8px 20px rgba(15,23,42,0.11); }
        
        .valo-map-container { width: 100%; height: 55vh; background: rgba(255,255,255,0.86); margin-top: 10px; position: relative; border-radius: 28px; overflow: hidden; border:1px solid rgba(255,255,255,0.74); box-shadow: 0 22px 60px rgba(15,23,42,0.075); }
        #dynamic-map { width: 100%; height: 100%; background: radial-gradient(circle at 50% 42%, rgba(255,255,255,0.96), rgba(241,245,249,0.96)); display: flex; align-items: center; justify-content: center; color: #94a3b8; font-size: 13px; font-family: -apple-system, sans-serif; }
        .map-load-error { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 160; padding: 10px 16px; border-radius: 999px; background: rgba(15,23,42,0.78); color: #fff; font-size: 12px; letter-spacing: .5px; }
        #dynamic-map::before { content:'地图加载中…'; letter-spacing:1px; }
        #dynamic-map:not(:empty)::before { content:''; }
        .map-overlay-shield { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 100; }
        .valo-map-container.is-fullscreen .map-overlay-shield { display: none; }
        .map-expand-btn { position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%); background: rgba(248,250,252,0.94); color: #334155; padding: 14px 34px; border-radius: 50px; font-size: 12px; font-family: -apple-system, sans-serif; font-weight: 560; letter-spacing: 1.2px; cursor: pointer; z-index: 150; box-shadow: 0 10px 26px rgba(15,23,42,0.13); border: 1px solid rgba(255,255,255,0.24); display: flex; align-items: center; justify-content: center; white-space: nowrap; transition: transform .24s var(--valo-ease), background .24s ease, box-shadow .24s ease; }
        .map-expand-btn:hover { background:rgba(255,255,255,0.96); box-shadow:0 10px 24px rgba(15,23,42,0.10); }
        .map-expand-btn:active { transform: translateX(-50%) scale(0.95); }
        .map-locate-btn, .map-close-btn, .map-itin-route-btn, .map-itin-plan-btn, .map-bottom-actions { display: none; }
        
        /* 地图全屏防坑：横向容器和 reveal transform 会创建 containing block，导致 fixed 按钮错位。
           全屏时必须清掉这些 transform。 */
        body.map-fs-active #valo-app-core,
        body.map-fs-active .reveal-item,
        body.map-fs-active .reveal-visible,
        body.map-fs-active .sections-horizontal-wrapper,
        body.map-fs-active .section-wrap {
            transform: none !important; 
            will-change: auto !important; 
        }
        body.map-fs-active nav,
        body.map-fs-active #music-toggle {
            opacity: 0 !important;
            pointer-events: none !important;
        }
        body.map-fs-active { overflow: hidden; }
        body.valo-scroll-locked { overflow: hidden; }
        body.map-return-boot header,
        body.map-return-boot nav,
        body.map-return-boot .section-wrap:not(#map),
        body.map-return-boot .section-dots,
        body.map-return-boot #itinBar,
        body.map-return-boot #planModal,
        body.map-return-boot .ugc-modal,
        body.map-return-boot .car-qr-modal { display: none !important; }
        body.map-return-boot #map {
            padding: 0 !important;
            margin: 0 !important;
            flex: 0 0 100vw !important;
            width: 100vw !important;
            max-width: 100vw !important;
            min-height: 100vh !important;
        }
        body.map-return-boot #map .section-title { display: none !important; }

        /* 地图模块：全屏态容器 */
        .valo-map-container.is-fullscreen { 
            position: fixed !important; 
            top: 0 !important; 
            left: 0 !important; 
            width: 100vw !important; 
            height: 100vh !important; 
            height: 100dvh !important; 
            z-index: 999999 !important; /* 拔升至最高视觉层 */
            border-radius: 0 !important; 
            margin-top: 0 !important;
            transform: none !important; /* 强制自我解除包裹属性 */
            padding-top: 0 !important;
            box-sizing: border-box !important;
        }
        .valo-map-container.is-fullscreen #dynamic-map {
            position: absolute !important;
            inset: 0 !important;
            width: 100% !important;
            height: 100% !important;
        }
        .valo-map-container.is-fullscreen .map-expand-btn { display: none !important; }
        
        /* 修复沉浸按键丢失 Bug：强制物理穿透计算 */
        /* 地图模块：全屏顶部返回键 */
        .map-close-btn {
            display: none;
            width: 40px;
            height: 40px;
            flex: 0 0 40px;
            background: rgba(255,255,255,0.88);
            border-radius: 50%;
            align-items: center;
            justify-content: center;
            font-size: 20px;
            box-shadow: 0 8px 24px rgba(15,23,42,0.12);
            border: 1px solid rgba(15,23,42,0.06);
            backdrop-filter: blur(14px);
            -webkit-backdrop-filter: blur(14px);
            cursor: pointer;
            transition: 0.25s;
        }
        .valo-map-container.is-fullscreen .map-close-btn {
            display: flex !important;
            position: absolute !important;
            left: 0 !important;
            top: 50% !important;
            transform: translateY(-50%) !important;
            width: var(--valo-btn-h) !important;
            height: var(--valo-btn-h) !important;
            min-width: var(--valo-btn-h) !important;
            min-height: var(--valo-btn-h) !important;
            z-index: 2 !important;
        }
        .valo-map-container.is-fullscreen .map-close-btn:active { transform: translateY(-50%) scale(0.94) !important; }

        /* 地图模块：全屏底部操作条 */
        .valo-map-container.is-fullscreen .map-bottom-actions {
            display: flex !important;
            position: fixed !important;
            left: 50% !important;
            bottom: calc(28px + env(safe-area-inset-bottom)) !important;
            transform: translateX(-50%) !important;
            z-index: 9999999 !important;
            gap: 8px;
            align-items: center;
            justify-content: center;
            padding: 6px;
            width: max-content;
            max-width: calc(100vw - 28px);
            border-radius: 999px;
            background: rgba(255,255,255,0.72);
            border: 1px solid rgba(255,255,255,0.72);
            box-shadow: 0 16px 44px rgba(15,23,42,0.16);
            backdrop-filter: blur(20px) saturate(1.08);
            -webkit-backdrop-filter: blur(20px) saturate(1.08);
        }
        .valo-map-container.is-fullscreen .map-bottom-actions .ripple-btn {
            border-radius: 999px;
            font-size: 12px;
            font-weight: 600;
            cursor: pointer;
            font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
            white-space: nowrap;
            letter-spacing: 0.5px;
            padding: 10px 14px;
            transition: 0.25s;
        }
        .valo-map-container.is-fullscreen .map-locate-btn {
            display: flex !important;
            position: static !important;
            transform: none !important;
            width: auto !important;
            min-width: 0 !important;
            background: transparent; 
            color: #111;
            padding-left: 13px;
            padding-right: 13px;
            z-index: auto !important; 
            box-shadow: none; 
            border: 0; 
        }
        .valo-map-container.is-fullscreen .map-itin-route-btn {
            display: flex !important;
            position: static !important;
            background: rgba(17,17,17,0.94);
            color: #fff;
            z-index: auto !important;
            box-shadow: 0 8px 20px rgba(0,0,0,0.18);
            border: 1px solid rgba(255,255,255,0.08);
        }
        .valo-map-container.is-fullscreen .map-itin-plan-btn {
            display: flex !important;
            position: static !important;
            transform: none !important;
            background: transparent;
            color: #111;
            z-index: auto !important;
            box-shadow: none;
            border: 0;
        }
        .valo-map-container.is-fullscreen .map-itin-route-btn:active, .valo-map-container.is-fullscreen .map-locate-btn:active, .valo-map-container.is-fullscreen .map-itin-plan-btn:active { transform: scale(0.96) !important; }
        .map-route-summary { display:none; }
        .valo-map-container.is-fullscreen .map-route-summary:not([hidden]) { display:block; position:fixed; left:50%; bottom:calc(94px + env(safe-area-inset-bottom)); transform:translateX(-50%); z-index:9999999; padding:7px 12px; border:1px solid rgba(255,255,255,.74); border-radius:999px; background:rgba(255,255,255,.78); color:#334155; box-shadow:0 10px 28px rgba(15,23,42,.12); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); font:600 12px/1.35 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif; letter-spacing:.25px; white-space:nowrap; }

        /* 地图模块：iPhone / 窄屏修正 */
        @media (max-width: 430px) {
            .valo-map-container.is-fullscreen .map-topbar {
                top: calc(10px + env(safe-area-inset-top)) !important;
                left: 10px !important;
                right: 10px !important;
                height: var(--valo-btn-h) !important;
            }
            .valo-map-container.is-fullscreen .map-close-btn {
                width: 36px;
                height: 36px;
                font-size: 18px;
            }
            .valo-map-container.is-fullscreen .map-tabs-wrapper {
                max-width: calc(100vw - 108px) !important;
                gap: 4px;
                padding: 6px;
            }
            .valo-map-container.is-fullscreen .map-tab-btn {
                padding: 10px 11px;
                font-size: 11px;
                letter-spacing: 0.5px;
            }
            .valo-map-container.is-fullscreen .map-bottom-actions {
                gap: 6px;
                bottom: calc(20px + env(safe-area-inset-bottom)) !important;
                max-width: calc(100vw - 20px);
            }
            .valo-map-container.is-fullscreen .map-bottom-actions .ripple-btn {
                padding: 10px 11px;
                font-size: 11px;
            }
        }

        .vip-card { text-decoration: none; color: inherit; display: flex; flex-direction: column; width: 100%; min-height: 420px; overflow: hidden; border-radius: 28px; background: rgba(255,255,255,0.94); border:1px solid rgba(255,255,255,0.72); box-shadow: 0 20px 54px rgba(15,23,42,0.06); transition: transform .42s var(--valo-ease), box-shadow .42s var(--valo-ease), border-color .42s; cursor: pointer; }
        .vip-img-wrapper { width: 100%; height: 220px; overflow: hidden; background: #e2e8f0; position:relative; }
        .vip-img-wrapper::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg, rgba(15,23,42,0.03), rgba(15,23,42,0.10)); opacity:.58; transition:.45s; }
        .vip-img-wrapper img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.95); transition: 0.8s; }
        .vip-card:hover { transform: translate3d(0,-4px,0); border-color:rgba(255,255,255,0.96); box-shadow: 0 24px 58px rgba(15,23,42,0.095); }
        .vip-card:hover .vip-img-wrapper::after { opacity:.28; }
        .vip-card:hover .vip-img-wrapper img { transform: scale(1.035); filter: saturate(1.03); }
        .vip-card-info { padding: 30px; display: flex; flex-direction: column; flex: 1; }
        .vip-card-info h3 { font-size: 18px; margin-bottom: 14px; font-weight: 500; letter-spacing: 1.5px; }
        .vip-card-info p { font-size: 14px; color: #555; line-height: 1.9; margin-bottom: 30px; flex: 1; text-align: justify; }
        .vip-btn { display: inline-block; padding: 14px 0; border-radius: 50px; font-family: -apple-system, sans-serif; font-size: 13px; font-weight: 600; text-align: center; width: 100%; background: #1a1a1a; color: #fff; letter-spacing: 3px; }

        #car.section-wrap { padding:40px 34px 44px; }
        #car .section-title { margin-bottom:16px; max-width:560px; }
        #car .section-title span { margin-bottom:6px; font-size:9px; letter-spacing:3px; }
        #car .section-title p { margin-top:8px; font-size:12px; line-height:1.65; }
        .car-form-shell { width:min(920px, 100%); margin:0 auto; padding:16px 18px; border-radius:24px; background:rgba(255,255,255,0.5); border:1px solid rgba(255,255,255,0.72); box-shadow:0 8px 24px rgba(15,23,42,0.035); backdrop-filter:blur(12px) saturate(1.01); -webkit-backdrop-filter:blur(12px) saturate(1.01); }
        .car-form-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:10px 12px; }
        .car-field { display:flex; flex-direction:column; gap:8px; }
        .car-field-full { grid-column:1 / -1; }
        .car-field-wide { grid-column:span 2; }
        .car-field label { color:#475569; font-size:11px; letter-spacing:.5px; }
        .car-field input, .car-field select, .car-field textarea { width:100%; border:1px solid rgba(203,213,225,0.88); background:rgba(255,255,255,0.88); border-radius:14px; padding:10px 12px; font:inherit; font-size:13px; color:#111827; outline:none; transition:border-color .18s ease, box-shadow .18s ease; }
        .car-field textarea { min-height:78px; resize:none; }
        .car-field input:focus, .car-field select:focus, .car-field textarea:focus { border-color:rgba(15,23,42,0.26); box-shadow:0 0 0 4px rgba(15,23,42,0.06); }
        .car-seat-hint { display:none; margin-top:8px; color:#9a3412; font-size:12px; line-height:1.6; }
        .car-seat-hint.show { display:block; }
        .car-form-actions { display:flex; gap:10px; margin-top:12px; }
        .car-action-main { max-width:none !important; }
        .car-action-secondary { flex:0 0 132px; background:rgba(255,255,255,0.92) !important; }
        #feedback.section-wrap { padding:40px 34px 54px; }
        #feedback .section-title { margin-bottom:16px; max-width:620px; }
        #feedback .section-title span { margin-bottom:6px; font-size:9px; letter-spacing:3px; }
        #feedback .section-title p { margin-top:8px; font-size:12px; line-height:1.65; }
        .feedback-form-shell { width:min(920px, 100%); }
        .feedback-form-shell .car-field label span { color:#94a3b8; font-weight:400; }
        .feedback-form-shell .car-field textarea { min-height:112px; resize:vertical; }
        .feedback-form-shell input[type="file"] { padding:8px; color:#64748b; }
        .feedback-form-shell input[type="file"]::file-selector-button { margin-right:10px; border:0; border-radius:10px; padding:9px 12px; background:#eef2f6; color:#334155; font:inherit; font-size:12px; cursor:pointer; }
        .feedback-form-actions .action-btn { max-width:none !important; }
        .feedback-file-hint { color:#94a3b8; font-size:11px; line-height:1.5; }
        .feedback-file-hint.is-error { color:#b45309; }
        .feedback-honeypot { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; opacity:0 !important; pointer-events:none !important; }
        .car-send-box { margin-top:10px; padding:12px 14px; border-radius:18px; background:rgba(255,255,255,0.76); border:1px solid rgba(226,232,240,0.82); }
        .car-send-preview { display:none; white-space:pre-wrap; color:#334155; font-size:12px; line-height:1.7; }
        .car-send-preview.show { display:block; }
        .car-qr-modal { position:fixed; inset:0; z-index:100010; background:rgba(15,23,42,0.42); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); display:flex; align-items:center; justify-content:center; padding:18px; overflow-y:auto; overscroll-behavior:contain; }
        .car-qr-modal[hidden] { display:none !important; }
        .car-qr-panel { position:relative; width:min(720px, 100%); max-height:calc(100vh - 36px); max-height:calc(100dvh - 36px); overflow-y:auto; -webkit-overflow-scrolling:touch; display:grid; grid-template-columns:minmax(0, 1.08fr) 220px; gap:18px; padding:18px; border-radius:24px; background:rgba(255,255,255,0.94); border:1px solid rgba(255,255,255,0.92); box-shadow:0 24px 60px rgba(15,23,42,0.16); }
        .car-qr-copy { min-width:0; }
        .car-qr-title { font-size:22px; font-weight:600; letter-spacing:1px; color:#111827; }
        .car-qr-text { margin:8px 0 0; color:#64748b; font-size:12px; line-height:1.7; }
        .car-qr-close { position:absolute; top:14px; right:14px; width:34px; height:34px; border-radius:999px; border:1px solid rgba(226,232,240,0.96); background:rgba(248,250,252,0.96); color:#475569; font-size:22px; line-height:1; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; }
        .car-qr-code-wrap { display:flex; align-items:center; justify-content:center; padding:8px; border-radius:20px; background:rgba(248,250,252,0.9); border:1px solid rgba(226,232,240,0.92); }
        .car-qr-code { width:100%; max-width:188px; height:auto; display:block; border-radius:14px; }
        .car-qr-missing { width:188px; max-width:100%; aspect-ratio:1; display:flex; align-items:center; justify-content:center; text-align:center; padding:18px; border-radius:14px; background:rgba(241,245,249,0.96); color:#64748b; font-size:13px; line-height:1.6; font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif; }

        /* UGC Modal CSS */
        .ugc-intro { width:min(520px, 100%); margin:0 auto 30px; padding:18px 20px; border-radius:24px; background:rgba(255,255,255,0.54); border:1px solid rgba(255,255,255,0.72); box-shadow:0 14px 38px rgba(15,23,42,0.045); text-align:center; font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif; }
        .ugc-intro .action-btn { max-width: 220px; margin: 0 auto; display: inline-flex; font-size:12px; padding:13px 20px; letter-spacing:1.6px; }
        .ugc-intro p { font-size:12px; color:#64748b; margin-top:12px; line-height:1.7; letter-spacing:.5px; }
        .card-itin-shell { position:relative; width:100%; min-width:0; }
        .card-itin-shell > .card, .card-itin-shell > .vip-card { width:100%; }
        /* 卡片占据大部分移动端屏幕，必须同时允许左右切板块、上下浏览和双指缩放。
           浏览器按手势主方向交给横向容器或页面，不能再用 pan-y 禁掉卡片横滑。 */
        .scroll-gallery .card-itin-shell,
        .scroll-gallery .card,
        .scroll-gallery .vip-card { touch-action: pan-x pan-y pinch-zoom; }
        .ugc-card-shell .card-info { padding-bottom:68px; }
        .ugc-card-shell > .vote-btn { position:absolute; left:22px; bottom:16px; z-index:9; margin:0; }
        .ugc-modal { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(15,23,42,0.72); backdrop-filter: blur(18px) saturate(1.02); -webkit-backdrop-filter: blur(18px) saturate(1.02); z-index: 999999; display: none; align-items: center; justify-content: center; opacity: 0; transition: 0.4s cubic-bezier(0.165, 0.84, 0.44, 1); }
        .ugc-modal.show { display: flex; opacity: 1; }
        .ugc-form-box { background: rgba(255,255,255,0.96); padding: 35px 30px; border-radius: 26px; width: 90%; max-width: 400px; position: relative; box-shadow: 0 24px 70px rgba(0,0,0,0.18); border:1px solid rgba(255,255,255,0.72); transform: translateY(20px); transition: 0.4s cubic-bezier(0.165, 0.84, 0.44, 1); }
        .ugc-modal.show .ugc-form-box { transform: translateY(0); }
        .ugc-input { width: 100%; padding: 14px 16px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; margin-bottom: 15px; font-size: 14px; outline: none; font-family: inherit; transition: 0.3s; }
        .ugc-input:focus { border-color: #cbd5e1; background: #fff; box-shadow: 0 4px 15px rgba(0,0,0,0.02); }
        .ugc-close { position: absolute; top: 20px; right: 20px; padding:0; border:0; background:transparent; appearance:none; -webkit-appearance:none; font-size: 28px; cursor: pointer; color: #94a3b8; line-height: 1; transition: 0.3s; }
        .ugc-close:active { transform: scale(0.9); color: #111; }
        .vote-btn { background: #f8fafc; color: #475569; border: 1px solid rgba(226,232,240,0.95); padding: 8px 16px; border-radius: 50px; font-size: 12px; font-weight: 600; cursor: pointer; transition: transform .22s ease, background .22s ease, color .22s ease, border-color .22s ease, box-shadow .22s ease; display: inline-flex; align-items: center; justify-content: center; gap: 5px; margin-top: 12px; font-family: -apple-system, sans-serif; box-shadow: 0 6px 18px rgba(15,23,42,0.035); }
        .vote-btn:hover { background:#fff; color:#111; border-color:rgba(203,213,225,0.95); box-shadow:0 9px 24px rgba(15,23,42,0.06); }
        .vote-btn:active { transform: scale(0.95); }
        .vote-btn.voted { background: rgba(51,65,85,0.86); color: #fff; border-color: rgba(255,255,255,0.24); }
        .file-upload-wrapper { position: relative; width: 100%; margin: 10px 0; }
        .file-upload-label { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 15px 20px; background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: 12px; color: #64748b; font-size: 14px; cursor: pointer; font-family: inherit; }
        .file-upload-label.is-picked { border-color:#10b981 !important; color:#047857 !important; background:rgba(236,253,245,0.92) !important; }
        .file-upload-label.is-picked-blue { border-color:#3b82f6 !important; color:#1d4ed8 !important; background:rgba(239,246,255,0.92) !important; }
        .action-btn { display: inline-flex; align-items: center; justify-content: center; padding: 16px 20px; border-radius: 50px; text-decoration: none; font-size: 13px; font-weight: 600; letter-spacing: 2px; font-family: -apple-system, sans-serif; cursor: pointer; flex: 1; max-width: 250px; white-space: nowrap;}
        .btn-solid { background: rgba(248,250,252,0.94); color: #334155; border: 1px solid rgba(148,163,184,0.28); }
        .ugc-modal-title { margin-bottom:20px; font-size:18px; text-align:center; font-weight:500; letter-spacing:1px; }
        .ugc-textarea { resize:vertical; }
        .ugc-submit-btn { width:100% !important; max-width:100% !important; margin-top:15px; border:none !important; }
        .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; }
        .card:hover .itin-add-btn, .vip-card:hover .itin-add-btn { opacity:1; background:rgba(255,255,255,0.92); box-shadow:0 12px 30px rgba(15,23,42,0.16); }
        .itin-add-btn:active { transform:scale(0.9); }
        .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-avatar:first-child { margin-left:0; }
        .bar-avatar img { width:100%; height:100%; object-fit:cover; display:block; }
        .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; }
        /* 必须高于全屏地图(999999)和地图底栏(9999999)，否则路线规划后点「行程」会像打不开 */
        .plan-modal { position:fixed; inset:0; z-index:10000050; display:none; background:rgba(240,244,247,0.86); overflow-y:auto; 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-header h2 { margin-bottom:10px; }
        .plan-header p { font-size:12px; color:#64748b; line-height:1.8; letter-spacing:1px; }
        .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-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
        .plan-info { flex:1; min-width:0; }
        .plan-info h3 { font-size:14px; margin:0 0 4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
        .plan-info p { font-size:11px; color:#64748b; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
        .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-empty .icon { font-size:34px; margin-bottom:12px; }
        .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:active { transform:scale(.97); }
        .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); }
        /* 📁 合集专属视图 CSS：只服务 ?folder=xxx 页面。
           不要在合集分支里渲染 itinBar/planModal/mainWrapper，否则会再次污染结构。 */
        .folder-nav { padding: 18px 25px; position: sticky; top: 0; z-index: 100; backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(25px); background: rgba(240,244,247,0.82); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(15,23,42,0.045); }
        .folder-nav-title { font-size:14px; font-weight:700; letter-spacing:2.6px; font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif; color:#111; }
        .folder-nav-spacer { width:44px; height:44px; flex:0 0 44px; }
        .folder-back-btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: rgba(255,255,255,0.92); border-radius: 50%; color: #111; text-decoration: none; font-size: 22px; box-shadow: 0 8px 26px rgba(15,23,42,0.08); border: 1px solid rgba(255,255,255,0.72); transition: transform .28s var(--valo-ease), box-shadow .28s ease, background .28s ease; }
        .folder-back-btn:active { transform: scale(0.9) translateY(1px); }

        .folder-detail-intro { padding: 24px 25px 6px; max-width: 1120px; margin: 0 auto; }
        .folder-hero-card { display:grid; grid-template-columns:minmax(0,1.28fr) minmax(280px,.72fr); gap:0; overflow:hidden; border-radius:32px; background:rgba(255,255,255,0.76); border:1px solid rgba(255,255,255,0.78); box-shadow:0 24px 68px rgba(15,23,42,0.075); }
        .folder-cover-gallery { display:flex; gap:0; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch; background:#e2e8f0; min-height:300px; height:clamp(300px, 38vw, 440px); }
        .folder-cover-gallery::-webkit-scrollbar { display:none; }
        .folder-cover-item { flex:0 0 100%; width:100%; max-width:100%; padding:0; overflow:hidden; background:#e2e8f0; border:0; text-align:left; scroll-snap-align:start; position:relative; appearance:none; -webkit-appearance:none; }
        .folder-cover-item::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(15,23,42,0.02), rgba(15,23,42,0.18)); pointer-events:none; }
        .folder-cover-item img { width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.96) contrast(1.01); transition:transform .9s var(--valo-ease), filter .9s ease; }
        .folder-cover-item:hover img { transform:scale(1.035); filter:saturate(1.02) contrast(1.02); }

        .folder-hero-copy { padding:34px 34px 32px; display:flex; flex-direction:column; justify-content:center; min-height:300px; }
        .folder-eyebrow { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:18px; font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif; font-size:10px; font-weight:800; letter-spacing:2.8px; color:#64748b; }
        .folder-eyebrow span { padding:5px 10px; border-radius:999px; border:1px solid rgba(15,23,42,0.055); background:rgba(255,255,255,0.64); }
        .folder-hero-copy h1 { margin:0 0 18px; font-size:clamp(28px,4vw,46px); font-weight:400; line-height:1.22; letter-spacing:5px; color:#111; }

        .folder-cover-item { cursor: zoom-in; }
        .folder-lightbox { position: fixed; inset: 0; background: rgba(0,0,0,0.98); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); z-index: 100001; display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .35s ease; }
        .folder-lightbox.show { opacity:1; pointer-events:auto; }
        .folder-lightbox-img-wrapper { width:100%; height:100%; display:flex; align-items:center; justify-content:center; padding:20px; }
        .folder-lightbox img { max-width:100%; max-height:85vh; border-radius:4px; box-shadow:0 20px 60px rgba(0,0,0,.5); object-fit:contain; }
        .folder-lightbox-close { position:absolute; top:40px; right:40px; padding:0; border:0; background:transparent; color:rgba(255,255,255,.62); font-size:40px; font-weight:200; cursor:pointer; z-index:100002; line-height:1; }
        .folder-lightbox-nav { position:absolute; top:50%; border:0; background:transparent; transform:translateY(-50%); color:rgba(255,255,255,.45); font-size:50px; font-weight:200; cursor:pointer; z-index:100002; padding:20px; user-select:none; }
        .folder-lightbox-left { left:10px; } .folder-lightbox-right { right:10px; }
        .folder-lightbox-page { position:absolute; top:45px; left:50%; transform:translateX(-50%); color:rgba(255,255,255,.65); font-family:-apple-system,sans-serif; font-size:13px; font-weight:600; letter-spacing:3px; z-index:100002; }

        .folder-detail-desc { font-size: 14px; line-height: 1.9; color: #334155; letter-spacing: 0.8px; text-align: justify; font-family: -apple-system, "PingFang SC", sans-serif; }
        .folder-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 15px; padding: 25px; max-width:1120px; margin:0 auto; min-height: 62vh; align-items: start;}
        .folder-grid .folder-card { height:auto; min-height:330px; }
        .folder-grid .folder-card .card-img-wrapper { height:auto; aspect-ratio:4 / 3; }
        .folder-grid .folder-card .card-info { display:flex; flex-direction:column; min-height:142px; }
        .folder-grid .folder-card .card-info p { -webkit-line-clamp:3; line-clamp:3; }
        .folder-card-hint { margin-top:auto; padding-top:13px; font-size:11px; color:#94a3b8; letter-spacing:1px; font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif; }
        .folder-empty-state { grid-column:1/-1; text-align:center; padding:100px 20px; color:#94a3b8; font-size:13px; letter-spacing:1px; font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif; }

        .section-dots { position:fixed; left:50%; bottom:calc(10px + env(safe-area-inset-bottom)); transform:translateX(-50%); z-index:99970; display:flex; align-items:center; gap:7px; padding:7px 10px; border-radius:999px; background:rgba(255,255,255,0.58); border:1px solid rgba(255,255,255,0.64); box-shadow:0 10px 28px rgba(15,23,42,0.08); backdrop-filter:blur(18px) saturate(1.05); -webkit-backdrop-filter:blur(18px) saturate(1.05); }
        .section-dot { width:6px; height:6px; min-width:0; min-height:0; padding:0; border-radius:999px; border:0; background:rgba(15,23,42,0.24); cursor:pointer; transition:width .24s var(--valo-ease), background .24s ease, transform .24s ease; }
        .section-dot.active { width:18px; background:rgba(17,17,17,0.86); }
        .section-dot:active { transform:scale(.88); }
        .home-back-top { position:fixed; right:16px; bottom:calc(56px + env(safe-area-inset-bottom)); width:38px; height:38px; border:1px solid rgba(255,255,255,0.72); border-radius:50%; background:rgba(255,255,255,0.9); color:#111; box-shadow:0 8px 24px rgba(15,23,42,0.10); display:flex; align-items:center; justify-content:center; font-size:16px; line-height:1; cursor:pointer; z-index:99985; opacity:0; pointer-events:none; transition:opacity .28s ease; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); padding:0; appearance:none; -webkit-appearance:none; transform:none; }
        .home-back-top.show { opacity:1; pointer-events:auto; }
        .home-back-top:active { opacity:.92; }
        body.map-fs-active .home-back-top { display:none !important; }


        :where(a, button, input, textarea, select, [tabindex]):focus-visible { outline:2px solid #0f172a; outline-offset:3px; }
        .folder-lightbox :where(button, [tabindex]):focus-visible { outline-color:#fff; }

        .valo-map-popup { position:relative; width:210px; overflow:hidden; padding:12px; border-radius:20px; background:#fff; text-align:center; box-shadow:0 15px 45px rgba(0,0,0,0.35); }
        .valo-map-popup-close { position:absolute; top:8px; right:10px; width:26px; height:26px; padding:0; border:0; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#64748b; background:rgba(248,250,252,0.86); font-size:18px; line-height:1; cursor:pointer; z-index:10; }
        .valo-map-popup-cover { width:100%; height:104px; object-fit:cover; border-radius:13px; margin-bottom:10px; display:block; }
        .valo-map-popup-head { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:10px; }
        .valo-map-popup-title { margin:0; min-width:0; flex:1; color:#111; font-size:14px; font-weight:600; letter-spacing:.8px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-align:left; }
        .route-popup-title { display:block; text-align:center; margin:0 0 10px; }
        .valo-map-popup-price { flex:0 0 auto; color:#1a1a1a; font-weight:500; font-family:"Georgia", "Times New Roman", serif; font-size:13px; letter-spacing:1px; }
        .valo-map-popup-actions { display:flex; gap:7px; justify-content:center; margin-top:8px; }
        .valo-map-popup .valo-map-popup-action { height:34px !important; min-height:34px !important; padding:0 10px !important; font-size:11px !important; box-shadow:none !important; }
        .valo-map-popup .valo-map-popup-detail { flex:1.35 1 0 !important; }
        .valo-map-popup .valo-map-popup-route, .valo-map-popup .valo-map-popup-nav { flex:.82 1 0 !important; color:#64748b !important; background:rgba(248,250,252,0.86) !important; border-color:rgba(226,232,240,0.9) !important; }
        .valo-map-popup .valo-map-popup-itin { width:100% !important; height:36px !important; min-height:36px !important; margin:0 !important; box-shadow:none !important; }
        .valo-map-popup .valo-map-popup-itin:not(.is-added) { background:rgba(248,250,252,0.92) !important; color:#111 !important; border-color:rgba(226,232,240,0.95) !important; }
        .route-nav-btn { width:100% !important; }
        .current-location-marker { width:28px; height:28px; border-radius:50%; background:#2563eb; border:3px solid #fff; box-shadow:0 8px 22px rgba(37,99,235,.35); }

        @media (min-width: 768px) { .folder-detail-intro { padding: 34px 45px 10px; } .folder-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 28px; padding: 34px 45px 84px; } }
        @media (max-width: 767px) { .folder-nav { padding:14px 18px; } .folder-nav-title { max-width:calc(100vw - 140px); overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:13px; letter-spacing:2px; } .folder-detail-intro { padding:18px 14px 4px; } .folder-hero-card { display:block; border-radius:26px; } .folder-cover-gallery { height:auto; min-height:0; aspect-ratio:16 / 10; } .folder-hero-copy { min-height:auto; padding:24px 22px 24px; } .folder-eyebrow { font-size:9px; letter-spacing:2px; margin-bottom:14px; } .folder-hero-copy h1 { font-size:30px; letter-spacing:4px; } .folder-grid { padding:20px 14px 78px; gap:14px; } .folder-grid .folder-card { min-height:285px; } .folder-grid .folder-card .card-info { min-height:136px; } }
        @media (max-width: 1024px) {
            .section-wrap { padding: 50px 30px; }
            .scroll-gallery { gap: 20px; }
        }
        @media (max-width: 768px) {
            header { height: 65vh; } 
            header::after { height: 34px; bottom: 32px; }
            .logo-box { width: 130px; }
            .hero-line { margin-top:24px; font-size:11px; letter-spacing:6px; padding-left:6px; }
            .hero-cue { margin-top:14px; font-size:9px; letter-spacing:4px; }
            .valo-weather { bottom: 30px; left: 20px; }
            nav { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; padding: 16px 20px; scroll-behavior: smooth; scroll-padding-left: 20px; scroll-snap-type: x mandatory;}
            .nav-link { flex-shrink: 0; scroll-snap-align: center; padding: 8px 20px; font-size: 12px;}
            nav::after { content: ''; flex: 0 0 5px; }
            .section-wrap { padding: 40px 20px; }
            .section-title { margin-bottom:20px; }
            .section-title span { font-size:9px; letter-spacing:3px; margin-bottom:8px; }
            .section-title p { margin-top:10px; font-size:12px; line-height:1.7; }
            h2 { margin-bottom: 10px; font-size: clamp(22px, 5vw, 28px); letter-spacing:7px; padding-left:7px; }
            h2::after { margin: 12px auto 0; }
            .scroll-gallery { grid-template-columns: repeat(2, 1fr); gap: 15px; padding: 10px 0 20px 0; margin-top: 0; }
            .card { height: auto; min-height: 230px; border-radius: 16px; margin-top: 0 !important; }
            .card-img-wrapper { height: 130px; }
            .card-info { padding: 12px; }
            .card-info h3, .card-info h2 { font-size: 13px; margin-bottom: 4px; white-space: normal; }
            .card-info p { font-size: 11px; -webkit-line-clamp: 2; }
            .folder-badge { top: 10px; font-size: 9px; padding: 4px 10px; }
            .pending-badge-offset { top:40px; }
            .ugc-card-shell .card-info { padding-bottom:58px; }
            .ugc-card-shell > .vote-btn { left:12px; bottom:12px; }
            .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; }
            .ugc-intro { margin-bottom:22px; padding:15px 16px; border-radius:20px; }
            .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; }
            .valo-map-container { height: 50vh; border-radius: 20px; }
            .vip-card { grid-column: span 2; min-height: 280px; border-radius: 20px; }
            .vip-img-wrapper { height: 180px; }
            #car.section-wrap { padding:34px 18px 36px; }
            #car .section-title { margin-bottom:14px; }
            #car .section-title p { font-size:11px; }
            #feedback.section-wrap { padding:34px 18px 44px; }
            #feedback .section-title { margin-bottom:14px; }
            #feedback .section-title p { font-size:11px; }
            .car-form-shell { width:100%; padding:18px 16px; border-radius:22px; }
            .car-form-grid { grid-template-columns:1fr; }
            .car-field-wide { grid-column:1 / -1; }
            .car-form-actions { flex-direction:column; }
            .car-action-secondary { flex-basis:auto; width:100%; }
            .car-qr-modal { align-items:flex-start; padding:14px; }
            .car-qr-panel { grid-template-columns:1fr; gap:12px; max-height:calc(100vh - 28px); max-height:calc(100dvh - 28px); padding:16px; border-radius:22px; }
            .car-qr-code { max-width:170px; }
            .map-expand-btn, .map-locate-btn { padding: 12px 25px; font-size: 12px; width: auto; min-width: 60%; }
            .section-dots { bottom:calc(8px + env(safe-area-inset-bottom)); padding:6px 9px; }
            .home-back-top { right:14px; width:36px; height:36px; }
        }

        /* 全局按钮系统：前台统一高度、圆角、字体、材质与按压反馈。 */
        :root {
            --valo-btn-h: 40px;
            --valo-btn-px: 16px;
            --valo-btn-radius: 999px;
            --valo-btn-font: -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
            --valo-btn-bg: rgba(255,255,255,0.72);
            --valo-btn-bg-strong: rgba(255,255,255,0.92);
            --valo-btn-bg-press: rgba(255,255,255,0.98);
            --valo-btn-border: rgba(255,255,255,0.72);
            --valo-btn-border-press: rgba(15,23,42,0.18);
            --valo-btn-shadow: 0 10px 26px rgba(15,23,42,0.07);
            --valo-btn-press-shadow: inset 0 1px 0 rgba(255,255,255,0.82), 0 5px 14px rgba(15,23,42,0.10);
            --valo-btn-primary: rgba(255,255,255,0.96);
            --valo-btn-primary-shadow: inset 0 1px 0 rgba(255,255,255,0.92), 0 10px 26px rgba(15,23,42,0.13);
            --valo-icon-btn: 42px;
        }
        .curtain-back-btn,
        .nav-link,
        .map-tab-btn,
        .map-expand-btn,
        .map-locate-btn,
        .map-itin-plan-btn,
        .map-itin-route-btn,
        .bar-btn,
        .plan-btn,
        .vote-btn,
        .file-upload-label,
        .action-btn,
        .vip-btn,
        .car-route-btn,
        .valo-map-popup-itin,
        .valo-map-popup-action,
        button[type="submit"] {
            min-height: var(--valo-btn-h) !important;
            height: var(--valo-btn-h) !important;
            padding: 0 var(--valo-btn-px) !important;
            border-radius: var(--valo-btn-radius) !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 6px !important;
            font-family: var(--valo-btn-font) !important;
            font-size: 12px !important;
            font-weight: 560 !important;
            letter-spacing: .65px !important;
            line-height: 1 !important;
            text-decoration: none !important;
            white-space: nowrap !important;
            cursor: pointer !important;
            border: 1px solid var(--valo-btn-border) !important;
            background: var(--valo-btn-bg) !important;
            color: #334155 !important;
            box-shadow: var(--valo-btn-shadow) !important;
            backdrop-filter: blur(18px) saturate(1.06) !important;
            -webkit-backdrop-filter: blur(18px) saturate(1.06) !important;
            transition: transform .24s var(--valo-ease), background .24s ease, color .24s ease, box-shadow .24s ease, border-color .24s ease !important;
            -webkit-tap-highlight-color: transparent;
        }
        .curtain-back-btn:hover,
        .nav-link:hover,
        .vote-btn:hover,
        .file-upload-label:hover,
        .action-btn:hover,
        .car-route-btn:hover,
        .valo-map-popup-action:hover,
        .valo-map-popup-itin:hover {
            background: var(--valo-btn-bg-strong) !important;
            color: #334155 !important;
            box-shadow: 0 12px 28px rgba(15,23,42,0.09) !important;
        }
        .curtain-back-btn:active,
        .nav-link:active,
        .map-tab-btn:active,
        .map-locate-btn:active,
        .map-itin-plan-btn:active,
        .map-itin-route-btn:active,
        .bar-btn:active,
        .plan-btn:active,
        .vote-btn:active,
        .file-upload-label:active,
        .action-btn:active,
        .vip-btn:active,
        .valo-map-popup-itin:active,
        .valo-map-popup-action:active {
            transform: scale(.96) !important;
        }
        .map-expand-btn:active { transform: translateX(-50%) scale(.96) !important; }
        .nav-link.active,
        .map-tab-btn.active,
        .map-expand-btn,
        .map-itin-route-btn.is-route-active,
        .btn-solid,
        .plan-btn-solid,
        .vote-btn.voted,
        .valo-map-popup-primary,
        .valo-map-popup-itin.is-added,
        button[type="submit"].btn-solid {
            background: var(--valo-btn-primary) !important;
            color: #334155 !important;
            border-color: rgba(15,23,42,0.16) !important;
            box-shadow: var(--valo-btn-primary-shadow) !important;
        }
        .map-tabs-wrapper,
        .valo-map-container.is-fullscreen .map-bottom-actions,
        .plan-action {
            gap: 8px !important;
            padding: 6px !important;
            border-radius: var(--valo-btn-radius) !important;
            background: rgba(255,255,255,0.72) !important;
            border: 1px solid rgba(255,255,255,0.72) !important;
            box-shadow: 0 14px 34px rgba(15,23,42,0.11) !important;
            backdrop-filter: blur(20px) saturate(1.08) !important;
            -webkit-backdrop-filter: blur(20px) saturate(1.08) !important;
        }
        .map-tabs-wrapper .map-tab-btn,
        .valo-map-container.is-fullscreen .map-bottom-actions .ripple-btn,
        .plan-action .plan-btn {
            box-shadow: none !important;
            border-color: transparent !important;
            background: transparent !important;
        }
        .map-tabs-wrapper .map-tab-btn.active,
        .valo-map-container.is-fullscreen .map-itin-route-btn.is-route-active,
        .plan-action .plan-btn-solid {
            background: var(--valo-btn-primary) !important;
            color: #334155 !important;
            box-shadow: var(--valo-btn-primary-shadow) !important;
            border-color: rgba(15,23,42,0.16) !important;
        }
        .valo-map-container.is-fullscreen .map-bottom-actions .map-itin-route-btn.is-route-active {
            background: var(--valo-btn-primary) !important;
            color: #334155 !important;
            box-shadow: var(--valo-btn-primary-shadow) !important;
            border-color: rgba(15,23,42,0.16) !important;
        }
        .valo-map-container.is-fullscreen .map-tab-btn,
        .valo-map-container.is-fullscreen .map-bottom-actions .ripple-btn {
            width: 72px !important;
            flex: 0 0 72px !important;
            height: var(--valo-btn-h) !important;
            min-height: var(--valo-btn-h) !important;
            padding: 0 !important;
            font-size: 12px !important;
            letter-spacing: .8px !important;
        }
        .music-btn,
        .folder-back-btn,
        .map-close-btn,
        .plan-close-btn,
        .itin-add-btn,
        .plan-remove,
        .ugc-close {
            width: var(--valo-icon-btn) !important;
            height: var(--valo-icon-btn) !important;
            min-width: var(--valo-icon-btn) !important;
            min-height: var(--valo-icon-btn) !important;
            padding: 0 !important;
            border-radius: 50% !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            background: var(--valo-btn-bg) !important;
            color: #334155 !important;
            border: 1px solid var(--valo-btn-border) !important;
            box-shadow: var(--valo-btn-shadow) !important;
            backdrop-filter: blur(18px) saturate(1.06) !important;
            -webkit-backdrop-filter: blur(18px) saturate(1.06) !important;
            cursor: pointer !important;
            transition: transform .24s var(--valo-ease), background .24s ease, box-shadow .24s ease !important;
        }
        .music-btn:active,
        .folder-back-btn:active,
        .map-close-btn:active,
        .plan-close-btn:active,
        .itin-add-btn:active,
        .plan-remove:active,
        .ugc-close:active { transform: scale(.94) !important; }
        .valo-map-container:not(.is-fullscreen) .map-close-btn { display:none !important; }
        .curtain-back-btn:active,
        .nav-link:active,
        .map-tab-btn:active,
        .map-locate-btn:active,
        .map-itin-plan-btn:active,
        .map-itin-route-btn:active,
        .bar-btn:active,
        .plan-btn:active,
        .vote-btn:active,
        .file-upload-label:active,
        .action-btn:active,
        .vip-btn:active,
        .valo-map-popup-itin:active,
        .valo-map-popup-action:active,
        .music-btn:active,
        .folder-back-btn:active,
        .map-close-btn:active,
        .plan-close-btn:active,
        .itin-add-btn:active,
        .plan-remove:active,
        .ugc-close:active {
            background: var(--valo-btn-bg-press) !important;
            color: #334155 !important;
            border-color: var(--valo-btn-border-press) !important;
            box-shadow: var(--valo-btn-press-shadow) !important;
            filter: saturate(1.04) contrast(1.02) !important;
        }
        .map-expand-btn:active {
            background: var(--valo-btn-bg-press) !important;
            color: #334155 !important;
            border-color: var(--valo-btn-border-press) !important;
            box-shadow: var(--valo-btn-press-shadow) !important;
            filter: saturate(1.04) contrast(1.02) !important;
        }
        .map-tabs-wrapper .map-tab-btn:active,
        .map-tabs-wrapper .map-tab-btn.active:active,
        .valo-map-container.is-fullscreen .map-bottom-actions .ripple-btn:active,
        .valo-map-container.is-fullscreen .map-bottom-actions .map-itin-route-btn:active,
        .plan-action .plan-btn:active,
        .plan-action .plan-btn-solid:active {
            background: var(--valo-btn-bg-press) !important;
            color: #334155 !important;
            border-color: var(--valo-btn-border-press) !important;
            box-shadow: var(--valo-btn-press-shadow) !important;
            filter: saturate(1.04) contrast(1.02) !important;
        }
        .itin-add-btn.added {
            background: var(--valo-btn-primary) !important;
            color: #334155 !important;
            border-color: rgba(15,23,42,0.16) !important;
        }
        .card .itin-add-btn,
        .vip-card .itin-add-btn,
        .folder-card .itin-add-btn,
        .card-itin-shell > .itin-add-btn {
            width: 30px !important;
            height: 30px !important;
            min-width: 30px !important;
            min-height: 30px !important;
            top: 10px !important;
            right: 10px !important;
            font-size: 16px !important;
            line-height: 1 !important;
            box-shadow: 0 7px 16px rgba(15,23,42,0.08) !important;
        }
        .card .itin-add-btn.added,
        .vip-card .itin-add-btn.added,
        .folder-card .itin-add-btn.added,
        .card-itin-shell > .itin-add-btn.added {
            font-size: 13px !important;
            background: var(--valo-btn-primary) !important;
            color: #334155 !important;
            border-color: rgba(15,23,42,0.16) !important;
            box-shadow: var(--valo-btn-primary-shadow) !important;
        }
        .valo-map-popup-actions { display:flex; gap:8px; justify-content:center; }
        .valo-map-popup .valo-map-popup-action,
        .valo-map-popup .valo-map-popup-itin {
            width: auto !important;
            flex: 1 1 0 !important;
            min-width: 0 !important;
            margin: 0 !important;
        }
        .valo-map-popup .valo-map-popup-itin { width: 100% !important; margin-bottom: 8px !important; }

        /* 首屏保留一次性文字入场；移除无信息价值的常驻漂浮装饰层。 */
        @keyframes valoSoftSettle {
            from { opacity:.86; transform:translate3d(0, 12px, 0) scale(.992); }
            to { opacity:1; transform:translate3d(0, 0, 0) scale(1); }
        }
        @keyframes valoLogoSettle {
            from { opacity:.88; transform:translate3d(0, 8px, 0) scale(.985); }
            to { opacity:1; transform:translate3d(0, 0, 0) scale(1); }
        }


        body.valo-page-ready .logo-box { animation:valoLogoSettle .72s var(--valo-ease) both; }
        body.valo-page-ready .hero-line { animation:valoSoftSettle .78s var(--valo-ease) .08s both; }
        body.valo-page-ready .hero-cue { animation:valoSoftSettle .78s var(--valo-ease) .14s both; }
        .card,
        .vip-card,
        .folder-hero-card,
        .photo-wall-item,
        .comment-item { backface-visibility:hidden; transform:translateZ(0); }
        .action-btn,
        .bar-btn,
        .plan-btn,
        .vip-btn { transition:transform .24s var(--valo-ease), background .24s ease, box-shadow .24s ease, border-color .24s ease; }
        .action-btn:hover,
        .bar-btn:hover,
        .plan-btn:hover,
        .vip-btn:hover { transform:translateY(-1px); box-shadow:0 12px 30px rgba(15,23,42,.10); }
        @media (prefers-reduced-motion: reduce) {
            body.valo-page-ready .logo-box,
            body.valo-page-ready .hero-line,
            body.valo-page-ready .hero-cue,
            .card,
            .vip-card,
            .folder-hero-card,
            .photo-wall-item,
            .comment-item {
                animation:none !important;
            }
        }

        @media (max-width: 768px) {
            :root { --valo-btn-h: 38px; --valo-btn-px: 14px; --valo-icon-btn: 40px; }
            .valo-map-container.is-fullscreen .map-tab-btn,
            .valo-map-container.is-fullscreen .map-bottom-actions .ripple-btn {
                width: 68px !important;
                flex-basis: 68px !important;
                font-size: 11px !important;
            }
            .card .itin-add-btn,
            .vip-card .itin-add-btn,
            .folder-card .itin-add-btn,
            .card-itin-shell > .itin-add-btn {
                width: 28px !important;
                height: 28px !important;
                min-width: 28px !important;
                min-height: 28px !important;
                top: 9px !important;
                right: 9px !important;
                font-size: 15px !important;
            }
            .card .itin-add-btn.added,
            .vip-card .itin-add-btn.added,
            .folder-card .itin-add-btn.added,
            .card-itin-shell > .itin-add-btn.added { font-size: 12px !important; }
        }