/* ── 共用：主選單下拉、手機選單、LINE 浮動按鈕（所有頁面共用） ── */

/* 下拉選單（桌機 hover／鍵盤 focus 展開） */
.menu{align-items:center}
.menu-drop{position:relative}
.menu-drop>a::before{content:"";position:absolute;left:-12px;right:-12px;top:100%;height:22px}
.menu-drop>a .caret{display:inline-block;margin-left:6px;font-size:9px;transform:translateY(-1px);transition:transform .25s}
.menu-drop:hover>a .caret,.menu-drop:focus-within>a .caret{transform:translateY(-1px) rotate(180deg)}
.menu-drop-panel{
  position:absolute;top:calc(100% + 18px);left:50%;
  min-width:250px;padding:10px 0;
  background:var(--navy-900);border:1px solid var(--line-strong);
  box-shadow:0 24px 50px -16px rgba(0,0,0,.55);
  opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:.22s;
}
.menu-drop:hover .menu-drop-panel,.menu-drop:focus-within .menu-drop-panel{opacity:1;visibility:visible;transform:translate(-50%,0)}
.menu .menu-drop-panel a{display:block;padding:11px 24px;font-size:13.5px;letter-spacing:.08em;color:#E9E6DE;white-space:nowrap}
.menu .menu-drop-panel a::after{display:none}
.menu .menu-drop-panel a:hover{background:rgba(201,169,97,.1);color:var(--gold-300)}
.menu .menu-drop-panel a small{display:block;font-size:11px;letter-spacing:.04em;color:var(--gray-400);margin-top:2px}
.menu a.active{color:var(--gold-300)}
.menu .menu-drop-panel a.drop-all{display:none}
@media (max-width:980px){.nav-open .menu .menu-drop-panel a.drop-all{display:block}}

/* 手機選單按鈕 */
.nav-toggle{
  display:none;width:44px;height:44px;margin-left:12px;
  background:none;border:1px solid var(--line-strong);cursor:pointer;
  align-items:center;justify-content:center;flex-direction:column;gap:5px;
}
.nav-toggle span{display:block;width:20px;height:1.5px;background:var(--gold-300);transition:.25s}
.nav-open .nav-toggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav-open .nav-toggle span:nth-child(2){opacity:0}
.nav-open .nav-toggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.nav-right{display:flex;align-items:center}

@media (max-width:980px){
  .nav-toggle{display:flex}
  .nav{position:relative}
  .nav-open .menu{
    display:flex;flex-direction:column;align-items:stretch;gap:0;
    position:absolute;top:100%;left:0;right:0;
    max-height:calc(100vh - 90px);overflow-y:auto;
    background:var(--navy-950);border-top:1px solid var(--line);border-bottom:1px solid var(--line-strong);
    padding:8px 0 16px;
  }
  .nav-open .menu>a,.nav-open .menu-drop>a{display:block;padding:14px 24px;font-size:15px;border-bottom:1px solid rgba(201,169,97,.12)}
  .nav-open .menu a::after,.nav-open .menu-drop>a::before{display:none}
  /* 手機：旅遊指南子選單預設收合，點一下才展開 */
  .nav-open .menu-drop>a{display:flex!important;justify-content:space-between;align-items:center}
  .nav-open .menu-drop>a .caret{display:inline-block;font-size:11px;transform:none!important}
  .nav-open .menu-drop.open>a .caret{transform:rotate(180deg)!important}
  .nav-open .menu-drop-panel{
    display:none;position:static;opacity:1;visibility:visible;transform:none!important;
    min-width:0;padding:0 0 6px;background:none;border:none;box-shadow:none;
  }
  .nav-open .menu-drop.open .menu-drop-panel{display:block}
  .nav-open .menu .menu-drop-panel a{padding:11px 24px 11px 44px;font-size:14px;white-space:normal}
  .cta{padding:9px 14px;font-size:12px;letter-spacing:.1em}
}
@media (max-width:420px){
  .nav{padding:14px 16px}
  .brand-logo{height:32px}
  .cta{display:none}
}

/* LINE 浮動按鈕 */
.line-float{
  position:fixed;right:22px;bottom:22px;z-index:60;
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 22px;border-radius:999px;
  background:#06C755;color:#fff;
  font-family:"Inter","Noto Serif TC",sans-serif;font-size:14px;font-weight:500;letter-spacing:.06em;
  box-shadow:0 12px 30px -8px rgba(6,199,85,.55);transition:.2s;
}
.line-float:hover{background:#05a847;transform:translateY(-2px)}
@media (max-width:600px){
  .line-float{left:16px;right:16px;bottom:14px;justify-content:center;padding:14px 18px}
  body{padding-bottom:76px}
}
@media print{.line-float,.nav-toggle{display:none!important}}

/* 回首頁／回頂端浮動按鈕（在 LINE 按鈕上方） */
.fab{position:fixed;right:22px;bottom:96px;z-index:59;display:flex;flex-direction:column;gap:10px;opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s}
.fab.show{opacity:1;visibility:visible;transform:none}
.fab-btn{width:54px;height:54px;border-radius:50%;border:1px solid rgba(15,42,79,.12);background:rgba(255,255,255,.96);color:#1A4A8E;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;
  box-shadow:0 8px 22px -8px rgba(15,42,79,.4);font-family:"Inter","Noto Serif TC",sans-serif;text-decoration:none;transition:.2s}
.fab-btn span{font-size:17px;line-height:1;font-weight:600}
.fab-btn small{font-size:11px;letter-spacing:.05em;line-height:1.2}
.fab-btn:hover{background:#1A4A8E;color:#fff}
@media (max-width:600px){
  .fab{right:14px;bottom:80px;gap:8px}
  .fab-btn{width:50px;height:50px}
}
@media print{.fab{display:none!important}}

/* 旅天下商品：下單前指定門市提醒視窗 */
.store-tip{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(10,26,51,.62);opacity:0;visibility:hidden;transition:.2s}
.store-tip.show{opacity:1;visibility:visible}
.store-tip-lock,.store-tip-lock body{overflow:hidden}
.store-tip-box{position:relative;width:100%;max-width:480px;max-height:calc(100vh - 40px);overflow-y:auto;padding:30px 30px 24px;background:#fff;border-top:4px solid #C9A961;box-shadow:0 30px 70px -20px rgba(0,0,0,.5);font-family:"Inter","Noto Serif TC",sans-serif;color:#2A2E35;transform:translateY(10px);transition:.25s}
.store-tip.show .store-tip-box{transform:none}
.store-tip-x{position:absolute;top:10px;right:12px;width:36px;height:36px;border:none;background:none;font-size:18px;color:#7A8494;cursor:pointer}
.store-tip h3{margin:0 24px 12px 0;line-height:1.5;font-family:"Noto Serif TC",serif;font-size:21px;font-weight:600;color:#163E73}
.store-tip p{font-size:15.5px;line-height:1.8}
.store-tip b{color:#163E73}
.store-tip ol{margin:8px 0 12px 22px;font-size:15.5px;line-height:1.9}
.store-tip-list{list-style:none;margin:6px 0 0 -4px;padding:0;display:flex;flex-direction:column;gap:6px}
.store-tip-list li{padding:8px 12px;background:#EEF4FB;border-left:3px solid #C9A961;font-weight:600;color:#163E73;font-size:15px;line-height:1.5}
.store-tip-why{font-size:14px!important;color:#5C6470}
.store-tip-go{display:block;margin-top:16px;text-align:center;text-decoration:none;width:100%;padding:15px 18px;border:none;background:#1A4A8E;color:#fff;font:inherit;font-size:16px;font-weight:500;letter-spacing:.06em;cursor:pointer;transition:.2s}
.store-tip-go:hover{background:#0F2A4F}
/* 4.5 秒自動前往的倒數條 */
.store-tip-bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:#C9A961;transform-origin:left;transform:scaleX(1)}
.store-tip.show .store-tip-bar{animation:storeTipBar 4.5s linear forwards}
@keyframes storeTipBar{to{transform:scaleX(0)}}
@media (max-width:600px){.store-tip-box{padding:26px 20px 20px}.store-tip h3{font-size:19px}}
@media print{.store-tip{display:none!important}}

/* 頁尾：立案認證與付款方式標誌（白色單色版，游標移上去變金色） */
.trust{padding:22px 0 24px}
.trust-grp{display:flex;align-items:center;flex-wrap:wrap;gap:16px 30px}
.trust a,.trust .tb{position:relative;display:inline-flex;align-items:center;opacity:.72;transition:opacity .25s}
.trust .g{position:absolute;left:0;top:0;opacity:0;transition:opacity .25s}
.trust a:hover,.trust .tb:hover{opacity:1}
.trust a:hover .g,.trust .tb:hover .g{opacity:1}
.trust a:hover img:not(.g),.trust .tb:hover img:not(.g){opacity:0}
.trust img{display:block;height:28px;width:auto;transition:opacity .25s}
.trust .tb[title="Mastercard"] img{height:36px}
@media (max-width:600px){.trust-grp{gap:14px 22px}.trust img{height:22px}.trust .tb[title="Mastercard"] img{height:28px}}

/* 官網跑馬燈（有訊息才出現） */
.ticker{position:sticky;top:0;z-index:55;display:flex;align-items:center;gap:10px;padding:9px 16px;background:#163E73;color:#fff;font-family:"Inter","Noto Serif TC",sans-serif;font-size:15px;letter-spacing:.04em;overflow:hidden}
.ticker.urgent{background:#A3262A}
.tk-ico{flex:0 0 auto;font-size:16px}
.tk-view{flex:1;overflow:hidden;white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.tk-track{display:inline-flex;animation:tkMove 20s linear infinite}
.tk-track>span{padding-right:80px}
.tk-sep{margin:0 22px;color:#E6CF95;font-size:11px;vertical-align:2px}
.ticker:hover .tk-track{animation-play-state:paused}
@keyframes tkMove{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.tk-view{white-space:normal;-webkit-mask-image:none;mask-image:none}.tk-track{animation:none;display:block}.tk-track>span[aria-hidden]{display:none}}
@media print{.ticker{display:none!important}}
.ticker a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.ticker a:hover{color:#F6E7C1}
html header.site{top:var(--tk,0px)}
