*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: #0a0a0a;
  color: #f0f0f0;
  min-height: 100vh;
  display: flex;
  justify-content: center;
  padding: 24px clamp(4px, 2vw, 16px) 60px;
  position: relative;
}
/* 冬季背景（Travis 2026-10-07：亞伯拉罕湖冰泡相）。放喺頁頂約 1000px 再漸變做深色，唔用 fixed 全頁 —
   官網 iframe 會自動拉到成頁咁高，fixed／cover 全頁會將相放大到糊晒。 */
body::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1000px; z-index:0; pointer-events:none;
  background:
    linear-gradient(to bottom, rgba(10,10,10,0.45) 0%, rgba(10,10,10,0.62) 55%, #0a0a0a 100%),
    url('./winter-bg.jpg') center top / cover no-repeat;
}
@media (max-width: 700px) {
  body::before { height:820px; background:
    linear-gradient(to bottom, rgba(10,10,10,0.45) 0%, rgba(10,10,10,0.62) 55%, #0a0a0a 100%),
    url('./winter-bg-m.jpg') center top / cover no-repeat; }
}
#wp { width: 100%; max-width: 880px; position: relative; z-index: 1; }

.wp-header { text-align:center; margin-bottom:20px; position:relative; }
.wp-logo { width:72px; height:72px; border-radius:50%; object-fit:cover; margin:0 auto 10px; display:block; box-shadow:0 4px 20px rgba(0,0,0,0.5); }
.wp-header h1 { font-size:1.5rem; font-weight:800; color:#fff; line-height:1.4; }
.wp-header p { color:#dcdcdc; margin-top:8px; font-size:0.9rem; }
.wp-header-actions { position:absolute; top:0; right:0; display:flex; gap:6px; align-items:center; z-index:10; }
.wp-lang-btn, .wp-back-btn {
  background:none; border:2px solid #EEB51E; color:#EEB51E; border-radius:8px;
  font-size:0.76rem; font-weight:700; padding:5px 10px; cursor:pointer;
  letter-spacing:0.3px; transition:background .2s, color .2s; text-decoration:none;
  display:inline-flex; align-items:center; white-space:nowrap;
}
.wp-lang-btn:hover, .wp-back-btn:hover { background:#EEB51E; color:#000; }
.wp-back-btn { border-color:#555; color:#c8c8c8; }
.wp-back-btn:hover { background:#555; color:#fff; }
@media (max-width:480px) { .wp-header-actions { position:static; justify-content:center; margin-bottom:12px; } }

.wp-badge {
  display:inline-flex; align-items:center; gap:6px; background:rgba(238,181,30,0.14);
  border:1px solid rgba(238,181,30,0.55); color:#EEB51E; font-weight:800; font-size:0.78rem;
  letter-spacing:0.4px; border-radius:999px; padding:6px 16px; margin:10px auto 0;
}
.wp-badge.locked { background:rgba(150,150,150,0.14); border-color:rgba(150,150,150,0.5); color:#bbb; }

.wp-nav { display:flex; gap:6px; justify-content:center; flex-wrap:wrap; margin-bottom:18px; }
.wp-nav a {
  font-size:0.76rem; font-weight:700; color:#ccc; border:1px solid #333; border-radius:999px;
  padding:6px 14px; text-decoration:none; transition:border-color .2s, color .2s;
}
.wp-nav a.active { border-color:#EEB51E; color:#EEB51E; }
.wp-nav a:hover { border-color:#EEB51E; color:#EEB51E; }

.card {
  background:#161616; border:1px solid #2a2a2a; border-radius:16px;
  padding:20px; margin-bottom:18px;
}
.day-card { position:relative; overflow:hidden; }
.day-tag {
  display:inline-flex; align-items:center; gap:6px; background:#EEB51E; color:#1a1400;
  font-weight:800; font-size:0.76rem; border-radius:999px; padding:4px 12px; margin-bottom:10px;
}
.day-title { font-size:1.15rem; font-weight:800; color:#fff; margin-bottom:4px; line-height:1.4; }
.day-meta { font-size:0.8rem; color:#aaa; margin-bottom:14px; }
.section-label { font-size:0.8rem; font-weight:800; color:#EEB51E; margin:14px 0 8px; display:flex; align-items:center; gap:6px; }
.stop-row { display:flex; gap:10px; padding:8px 0; border-top:1px solid #262626; }
.stop-row:first-child { border-top:none; }
.stop-bubble {
  width:22px; height:22px; border-radius:50%; background:#EEB51E; color:#1a1400;
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:0.7rem; flex-shrink:0;
}
.stop-bubble.pickup { background:#333; color:#EEB51E; }
.stop-name { font-size:0.85rem; font-weight:700; color:#fff; }
.stop-dur { font-size:0.72rem; color:#EEB51E; margin-top:1px; }
.incl-list { font-size:0.8rem; color:#ddd; line-height:1.9; }
.incl-list div::before { content:'✅ '; }

/* Same "查看完整行程" button format as the summer Trip Planner's .day-full-link (index.html) —
   King asked for this exact look here instead of the plain outlined pill this used before. */
.day-full-link {
  font-size:0.78rem; font-weight:700; color:#000;
  text-decoration:none; background:#EEB51E;
  padding:6px 12px; border-radius:7px; white-space:nowrap;
  transition:opacity 0.2s; display:inline-block;
}
.day-full-link:hover { opacity:0.82; }
@keyframes dayFullLinkBlink {
  0%, 49%   { background:#EEB51E; color:#000; border-color:#000; }
  50%, 100% { background:#000;    color:#EEB51E; border-color:#EEB51E; }
}
.day-full-link { border:2px solid #000; animation:dayFullLinkBlink 1s linear infinite; }

.price-line { font-size:0.88rem; font-weight:800; color:#EEB51E; margin-bottom:4px; }
.price-tbc { color:#ff8a65; font-weight:700; font-size:0.68rem; }
.price-strike { font-size:0.74rem; color:#888; margin-bottom:10px; }
.price-strike-amt { text-decoration:line-through; }
.price-save { color:#66bb6a; font-weight:700; }
.order-tabs { display:flex; gap:8px; margin-bottom:14px; }
.order-tab, .hotel-tab {
  flex:1; background:#1e1e1e; border:1px solid #333; color:#ccc; font-weight:700; font-size:0.82rem;
  border-radius:10px; padding:9px 10px; cursor:pointer; transition:border-color .2s, color .2s, background .2s;
}
.order-tab.active, .hotel-tab.active { border-color:#EEB51E; color:#EEB51E; background:rgba(238,181,30,0.1); }
.order-points { font-size:0.78rem; color:#ccc; line-height:1.7; margin:8px 0 14px 18px; }
.single-day-row { padding:12px 0; border-top:1px solid #262626; display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.single-day-row:first-child { border-top:none; padding-top:0; }

/* Package/day booking form (King, 2026-09-29): preferred Day-1 date / pax counts, feeding the
   real Trip Planner deep-link (winterPackageBookingUrl) instead of a WhatsApp/Email message. */
.reg-form { margin-bottom:14px; }
.reg-field { display:block; margin-bottom:10px; }
.reg-field span { display:block; font-size:0.72rem; color:#aaa; margin-bottom:4px; }
.reg-field input {
  width:100%; background:#1e1e1e; border:1px solid #333; color:#f0f0f0;
  border-radius:8px; padding:9px 10px; font-size:0.85rem; font-family:inherit; box-sizing:border-box;
}
.reg-field input:focus { border-color:#EEB51E; outline:none; }
.reg-pax-row { display:flex; gap:8px; }
.reg-pax { flex:1; }
.reg-pax span { display:block; font-size:0.68rem; color:#aaa; margin-bottom:4px; white-space:nowrap; }
.reg-pax input {
  width:100%; background:#1e1e1e; border:1px solid #333; color:#f0f0f0;
  border-radius:8px; padding:9px 6px; font-size:0.85rem; text-align:center; font-family:inherit; box-sizing:border-box;
}
.reg-pax input:focus { border-color:#EEB51E; outline:none; }

.disclaimer { text-align:center; font-size:0.7rem; color:#777; margin-top:6px; line-height:1.7; }


/* 夏季／冬季切換（Travis 2026-10-07：冬夏 Trip Planner 都加入口掣） */
.season-switch { display:flex; gap:8px; justify-content:center; margin:0 auto 14px; max-width:420px; }
.season-switch a { flex:1; text-align:center; text-decoration:none; padding:9px 10px; border-radius:99px;
  border:1px solid #444; color:#ccc; font-size:0.85rem; font-weight:700; background:rgba(255,255,255,0.04); }
.season-switch a.active { border-color:#EEB51E; color:#000; background:#EEB51E; pointer-events:none; }

/* 2026-10-06 開放預訂：出發日下拉選單 + 酒店說明 */
.reg-select {
  width:100%; background:#1e1e1e; border:1px solid #333; color:#f0f0f0;
  border-radius:8px; padding:9px 10px; font-size:0.85rem; font-family:inherit;
}
.reg-select:focus { border-color:#EEB51E; outline:none; }
.reg-select option { background:#1e1e1e; color:#f0f0f0; }
.hotel-notes { margin:6px 0 4px; padding:12px; border:1px solid #333; border-radius:10px; background:rgba(255,255,255,0.03); }
.hotel-notes .order-points { margin:4px 0 0; padding-left:18px; }

/* 2026-10-06 出發日月曆：綠色 = 可訂，金色 = 已選出發日，淺金 = Day 2–3 */
.dep-cal { background:#151515; border:1px solid #333; border-radius:12px; padding:10px; }
.dc-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.dc-title { font-size:0.95rem; font-weight:800; color:#fff; }
.dc-nav { width:36px; height:36px; border-radius:8px; border:1px solid #444; background:#1e1e1e; color:#f0f0f0; font-size:1.2rem; cursor:pointer; }
.dc-nav:disabled { opacity:0.25; cursor:default; }
.dc-grid { display:grid; grid-template-columns:repeat(7, 1fr); gap:4px; }
.dc-wk { text-align:center; font-size:0.68rem; color:#888; padding:2px 0; }
.dc-day { min-height:44px; border-radius:8px; display:flex; flex-direction:column; align-items:center; justify-content:center;
  font-size:0.85rem; color:#555; background:transparent; border:1px solid transparent; font-family:inherit; }
.dc-day small { font-size:0.58rem; line-height:1.1; margin-top:1px; }
.dc-ok { background:#1b5e20; border-color:#43a047; color:#fff; font-weight:800; cursor:pointer; }
.dc-ok small { color:#c8f0cc; }
.dc-ok:hover { background:#2e7d32; }
.dc-sel, .dc-sel:hover { background:#EEB51E; border-color:#EEB51E; color:#000; }
.dc-sel small { color:#000; }
.dc-trip { background:rgba(238,181,30,0.22); border-color:rgba(238,181,30,0.6); color:#EEB51E; font-weight:700; }
.dc-full { color:#e57373; text-decoration:line-through; }
.dc-legend { display:flex; flex-wrap:wrap; gap:10px; margin-top:8px; font-size:0.68rem; color:#aaa; }
.dc-legend span { display:inline-flex; align-items:center; gap:4px; }
.dc-dot { display:inline-block; width:10px; height:10px; border-radius:3px; }
.dc-dot.ok { background:#1b5e20; border:1px solid #43a047; }
.dc-dot.sel { background:#EEB51E; }
.dc-dot.trip { background:rgba(238,181,30,0.22); border:1px solid rgba(238,181,30,0.6); }
.dc-picked { margin-top:8px; font-size:0.8rem; font-weight:700; color:#c8f0cc; }
.dc-picked.dc-none { color:#EEB51E; font-weight:600; }
/* 2026-10-07 語言改為下拉（正體中文／香港語／English） */
select.wp-lang-btn { -webkit-appearance:none; appearance:none; font-family:inherit; cursor:pointer; }
select.wp-lang-btn option { background:#1e1e1e; color:#f0f0f0; }

/* 2026-10-07 加強「3 日套餐每位 −$60」 */
.pkg-ribbon { display:flex; flex-direction:column; align-items:center; gap:2px; margin:12px auto 0; max-width:420px;
  padding:10px 14px; border-radius:12px; text-decoration:none; color:#000; background:linear-gradient(135deg,#EEB51E,#ffd75e);
  box-shadow:0 4px 18px rgba(238,181,30,0.35); }
.pkg-ribbon strong { font-size:1.05rem; font-weight:900; }
.pkg-ribbon span { font-size:0.74rem; font-weight:600; opacity:0.85; }
.tab-save { display:inline-block; margin-left:4px; padding:1px 6px; border-radius:99px; background:#2e7d32; color:#fff; font-size:0.7rem; font-weight:800; }
.save-box { margin:6px 0 10px; padding:10px 12px; border-radius:10px; background:rgba(102,187,106,0.14); border:1px solid #66bb6a;
  color:#c8f0cc; font-size:0.85rem; line-height:1.5; }
.save-box strong { color:#fff; }
.save-box.upsell { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; }
.upsell-btn { margin-left:auto; padding:6px 12px; border-radius:8px; border:1px solid #66bb6a; background:#1b5e20; color:#fff;
  font-weight:800; font-size:0.78rem; cursor:pointer; font-family:inherit; }
.pkg-hint { display:inline-block; margin:-4px 0 12px; padding:3px 10px; border-radius:99px; background:rgba(102,187,106,0.14);
  border:1px solid #66bb6a; color:#c8f0cc; font-size:0.72rem; font-weight:700; }

/* E-Transfer 優惠彈窗（同 Trip Planner feeModal 一樣樣式） */
.fee-popup-wrap { position:absolute; left:0; top:0; width:100%; height:100%; min-height:100vh; background:rgba(0,0,0,0.55); z-index:3000; }
.fee-popup { position:absolute; left:50%; transform:translateX(-50%); width:calc(100% - 32px); max-width:460px; background:#1a1a1a;
  border:1px solid #333; border-radius:20px; padding:28px 22px 20px; color:#f0f0f0; box-shadow:0 12px 40px rgba(0,0,0,0.6); }
.fee-popup-x { position:absolute; top:10px; right:12px; background:none; border:none; color:#aaa; font-size:1.1rem; cursor:pointer; }
.fee-popup-title { font-size:1.15rem; font-weight:800; color:#fff; margin-bottom:10px; }
.fee-popup-body { font-size:0.88rem; color:#ddd; line-height:1.6; margin-bottom:14px; }
.fee-popup-body strong { color:#EEB51E; }
.fee-popup .etransfer-tiers { display:flex; gap:8px; margin-bottom:10px; flex-wrap:wrap; }
.fee-popup .etransfer-tier { background:#2e7d32; color:#fff; border-radius:8px; padding:6px 12px; font-size:0.82rem; font-weight:700; text-align:center; flex:1; min-width:80px; }
.fee-popup .etransfer-tier span { display:block; font-size:0.72rem; font-weight:400; opacity:0.85; }
.fee-popup .etransfer-note { font-size:0.82rem; color:#c8c8c8; line-height:1.5; }
.fee-popup-ok { display:block; width:100%; margin-top:16px; padding:11px; border-radius:10px; border:none; background:#EEB51E; color:#000;
  font-weight:800; font-size:0.9rem; cursor:pointer; font-family:inherit; }

/* ═══ 冬夏統一（Travis 2026-10-07：只改冬季頁，跟夏季 Trip Planner 樣式）═══
   數值抄自 index.html（#bbt-widget／.card／.bbt-header h1／桌面 20px 底字）；
   另外將偏細偏暗嘅字調大調光，方便手機閱讀。 */
@media (min-width: 768px) { html { font-size: 20px; } }   /* 同夏季：電腦版字放大 */
#wp { max-width: 1040px; }
.card {
  background: #1a1a1a; border: none; border-radius: 16px;
  box-shadow: 0 2px 16px rgba(0,0,0,0.4);
  padding: 28px clamp(12px, 3vw, 24px); margin-bottom: 16px;
}
.wp-header h1 { font-size: 1.6rem; font-weight: 700; letter-spacing: -0.3px; overflow-wrap: anywhere; }
.wp-header p { font-size: 0.95rem; color: #e0e0e0; }
/* 可讀性：最細字唔細過約 12px、灰字調光 */
.day-meta { color: #c8c8c8; font-size: 0.85rem; }
.stop-name { font-size: 0.9rem; }
.stop-dur { font-size: 0.78rem; }
.incl-list { font-size: 0.85rem; color: #e6e6e6; }
.order-points { font-size: 0.82rem; color: #d6d6d6; }
.reg-field span, .reg-pax span { font-size: 0.76rem; color: #c8c8c8; }
.price-tbc { font-size: 0.76rem; }
.price-strike { font-size: 0.8rem; color: #aaa; }
.dc-wk { font-size: 0.74rem; color: #aaa; }
.dc-day small { font-size: 0.64rem; }
.disclaimer { font-size: 0.74rem; color: #999; }

/* 頂部橫向目錄（Travis 2026-10-13，同夏季行程頁／包團報價單一樣）：置頂喺共用 bar 下面、可橫向捲動 */
.wp-toc { position:sticky; top:var(--bbt-tb-h, 0px); z-index:50; display:flex; gap:6px; align-items:center;
  overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; margin:0 0 14px; padding:8px 10px;
  background:rgba(8,8,8,0.92); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border:1px solid #2a2a2a; border-radius:12px; }
.wp-toc::-webkit-scrollbar { display:none; }
.wp-toc-t { font-size:0.7rem; color:#888; flex:none; margin-right:2px; }
.wp-toc button { flex:none; font-size:0.76rem; padding:4px 11px; border:1px solid #333; border-radius:999px;
  color:#f0f0f0; background:#141414; white-space:nowrap; cursor:pointer; font-family:inherit; }
.wp-toc button:hover { border-color:#EEB51E; color:#EEB51E; }
