.swt *{box-sizing:border-box;margin:0;padding:0}
.swt{
  --red:#f03800;--gold:#c59650;--blue:#3367c3;--indigo:rgba(39,58,166,.9);
  --ink:#0f172a;--gray:#f2f2f2;--line:#c4c6c8;--yellow:#ffe100;--sky:#f5f7fa;--dark:#343434;
  --r:20px;--sh:0 4px 30px rgba(0,0,0,.05);
  font-family:"Noto Sans TC",sans-serif;color:var(--ink);line-height:1.6;background:#fff;overflow-x:hidden;
}
.swt img{max-width:100%;display:block}
.swt a{text-decoration:none;color:inherit}
.swt-serif{font-family:"Noto Serif TC",serif}
.swt-wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.swt-sec{padding:70px 0}
.swt-eyebrow{font-weight:700;font-size:20px;color:var(--red);margin-bottom:10px}
.swt-eyebrow.gold{color:var(--gold)}
.swt-h2{font-family:"Noto Serif TC",serif;font-weight:700;color:var(--ink);font-size:clamp(34px,4.6vw,60px);line-height:1.25}
.swt-h2.white{color:#fff}
.swt-desc{font-size:18px;color:var(--ink);line-height:1.85;margin-top:16px}
.swt-desc.white{color:#fff}
.swt-head{text-align:center;margin-bottom:40px}
.swt-head .swt-desc{max-width:560px;margin-left:auto;margin-right:auto}
.swt-head.left{text-align:left}
.swt-head.left .swt-desc{margin-left:0}
.swt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:20px;border-radius:var(--r);padding:14px 34px;cursor:pointer;transition:.2s}
.swt-btn:hover{filter:brightness(1.07)}
.swt-btn.blue{background:var(--blue);color:#fff;border:5px solid #eeefeb;box-shadow:0 4px 4px rgba(0,0,0,.25)}
.swt-btn.red{background:var(--red);color:#fff}
.swt-btn.line{background:#06c755;color:#fff}
.swt-btn.ghost{background:#fff;color:var(--ink);border:1.5px solid var(--line)}

/* 1. 頂部選單列 */
.swt-nav{position:sticky;top:0;z-index:60;background:#fff}
.swt-nav .row{display:flex;align-items:center;justify-content:space-between;height:100px}
.swt-logo{display:flex;align-items:center;gap:10px;font-weight:900;font-size:22px;color:var(--blue)}
.swt-logo .brand{font-weight:900;font-size:22px;color:var(--blue);white-space:nowrap;line-height:1}
.swt-logo img{height:52px;width:auto}
.swt-menu{display:flex;align-items:center;gap:34px;list-style:none}
.swt-menu a{font-weight:700;font-size:20px;color:#000}
.swt-menu a:hover{color:var(--blue)}
.swt-nav .nav-cta{background:var(--red);color:#f2f2f2;font-weight:700;font-size:20px;border-radius:var(--r);padding:13px 30px}
.swt-burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.swt-burger span{width:28px;height:3px;background:var(--ink);border-radius:2px}

/* 2. Hero */
.swt-hero{position:relative;width:100%;height:600px;background:url("https://switzerland-travel.tw/wp-content/uploads/2026/06/hero.webp") center/cover no-repeat;overflow:hidden}
.swt-hero .inner{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:0 20px}
.swt-hero .glow{position:absolute;z-index:1;left:50%;top:44%;transform:translate(-50%,-50%);width:684px;height:291px;border-radius:50%;background:radial-gradient(closest-side,rgba(51,103,195,.78),rgba(51,103,195,0) 75%);filter:blur(8px)}
.swt-hero .crumb{position:relative;z-index:3;font-size:15px;font-weight:700;margin-bottom:18px;letter-spacing:1px}
.swt-hero .crumb a{text-decoration:underline}
.swt-hero h1{position:relative;z-index:3;font-family:"Noto Serif TC",serif;font-weight:700;font-size:clamp(34px,6vw,60px);text-shadow:0 4px 17px rgba(0,0,0,.25)}
.swt-hero .sub{position:relative;z-index:3;margin-top:16px;font-weight:700;font-size:clamp(22px,3vw,40px);text-shadow:0 4px 17px rgba(0,0,0,.25)}
.swt-hero .swt-btn{margin-top:30px;width:339px;max-width:100%}

/* 3. 早鳥列 */
.swt-deal{position:sticky;top:100px;z-index:55;background:var(--red);color:#fff}
.swt-deal .row{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;min-height:100px;padding:14px 0}
.swt-deal .count{display:inline-flex;align-items:center;gap:6px;font-family:"Inter",sans-serif;font-weight:900;line-height:1;white-space:nowrap}
.swt-deal .count b{background:var(--dark);color:#fff;border-radius:10px;padding:8px 12px;min-width:96px;text-align:center;display:inline-block;font-size:clamp(36px,5vw,60px)}
.swt-deal .count i{font-style:normal;color:var(--dark);font-weight:900;font-size:clamp(30px,4vw,52px);padding:0 2px}
.swt-deal .txt{font-weight:700;font-size:clamp(22px,2.8vw,40px);flex:1;text-align:center;min-width:240px;line-height:1.2}
.swt-deal .txt em{font-style:normal;font-family:"Inter",sans-serif;font-weight:900;color:var(--yellow);font-size:clamp(32px,4.4vw,60px);margin:0 4px}
.swt-deal .deal-cta{background:#fff;color:var(--red);font-weight:700;font-size:20px;border-radius:var(--r);padding:11px 28px;border:4px solid var(--yellow);white-space:nowrap}
/* 早鳥列：靜態版（每日行程上方） */
.swt-deal.flat{position:static;top:auto}
.db-br{display:none}

/* 4. 出團日期 */
.swt-dates .head-row{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-bottom:32px}
.swt-dates .month-pick{display:flex;gap:20px;flex-wrap:wrap}
.swt-dates .month-pick button{width:119px!important;height:57px!important;background:#fff;border:2px solid var(--gold)!important;color:var(--gold);border-radius:20px!important;font-weight:700;font-size:20px;cursor:pointer;transition:.15s;line-height:1;font-family:inherit;box-shadow:none!important;text-shadow:none}
.swt-dates .month-pick button.on{background:var(--gold)!important;color:#fff!important}
.swt-dates table{width:100%!important;min-width:960px;table-layout:fixed!important;border-collapse:collapse!important;background:#fff!important;border:1px solid var(--gray)!important;margin:0!important;box-shadow:none!important;font-size:20px;display:table!important}
.swt-dates caption{display:none!important}
.swt-dates thead,.swt-dates tbody,.swt-dates tr{background:transparent!important;border:0!important;box-shadow:none!important}
.swt-dates thead th{background:var(--gray)!important;color:var(--ink)!important;font-weight:700!important;padding:18px 12px!important;font-size:20px!important;text-align:center!important;border:0!important;vertical-align:middle!important}
.swt-dates tbody tr:nth-child(even),.swt-dates tbody tr:nth-child(odd){background:#fff!important}
.swt-dates tbody td{padding:18px 12px!important;text-align:center!important;border:0!important;border-top:1px solid var(--gray)!important;font-size:20px!important;font-weight:700!important;color:var(--ink)!important;background:#fff!important;vertical-align:middle!important}
.swt-dates tbody td .note{display:inline-block;font-size:16px;font-weight:700;color:var(--ink);text-align:center}
.swt-dates .pill{display:inline-flex!important;align-items:center;justify-content:center;width:137px;height:43px;border:1px solid var(--blue);color:var(--blue);background:#fff!important;border-radius:20px;font-weight:700;font-size:20px;white-space:nowrap;box-shadow:none!important;line-height:1}
.swt-dates .pill.done{border-color:var(--red)!important;color:var(--red)}
.swt-dates .pill.closed{border-color:var(--line)!important;color:#9aa0a6}

/* 5. 航班資訊 */
.swt-flight h3{font-family:"Noto Serif TC",serif;font-weight:800;font-size:clamp(28px,3.4vw,40px);margin-bottom:18px}
.swt-flight .box{position:relative;background:var(--gray);border-left:5px solid var(--ink);padding:6px 30px}
.swt-flight .leg{display:flex;align-items:center;flex-wrap:wrap;gap:24px;padding:22px 0}
.swt-flight .leg+.leg{border-top:1px solid #d9dbdd}
.swt-flight .lab{font-weight:700;font-size:20px;color:var(--ink);min-width:48px}
.swt-flight .air{font-weight:700;font-size:20px;color:var(--ink);min-width:150px}
.swt-flight .route{display:flex;align-items:center;gap:28px;flex-wrap:wrap;justify-content:center;flex:1;min-width:280px}
.swt-flight .pt{text-align:center;width:150px;flex:0 0 auto}
.swt-flight .pt .tm{font-weight:700;font-size:20px;display:block;color:var(--ink)}
.swt-flight .pt .pl{font-size:20px;font-weight:700;color:var(--ink)}
.swt-flight .arrow{width:220px;max-width:30vw;flex:0 0 auto;height:0;border-top:2px solid var(--blue);position:relative}
.swt-flight .arrow::after{content:"";position:absolute;right:-1px;top:-5px;border-left:9px solid var(--blue);border-top:5px solid transparent;border-bottom:5px solid transparent}

/* 6. 三大世界級景觀列車 */
.swt-scenic{position:relative;color:#fff;padding:80px 0;background:url("https://switzerland-travel.tw/wp-content/uploads/2026/06/banner-01-scenic-train.webp") center/cover no-repeat}
.swt-scenic::before{content:"";position:absolute;inset:0;background:rgba(15,23,42,.35)}
.swt-scenic .swt-wrap{position:relative;z-index:2}
.swt-sc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:40px}
.swt-sc .im{aspect-ratio:379/426;overflow:hidden}
.swt-sc .im img{width:100%;height:100%;object-fit:cover}
.swt-sc h3{font-weight:700;font-size:20px;text-align:center;margin:18px 0 10px;line-height:1.4;color:#fff}
.swt-sc h3 span{display:block;font-size:18px;font-weight:700;color:#fff}
.swt-sc p{font-size:18px;line-height:1.7;text-align:center;color:#fff}

/* 7. 6大巔峰：正方圖＋白色 Cinzel 數字壓圖左下＋中英同行 */
.swt-peaks .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 24px}
.swt-peak{text-align:center}
.swt-peak .ph{position:relative;aspect-ratio:1/1;overflow:hidden}
.swt-peak .ph img{width:100%;height:100%;object-fit:cover}
.swt-peak .num{position:absolute;left:14px;bottom:-0.06em;font-family:"Cinzel",serif;font-weight:700;font-size:clamp(72px,9vw,120px);color:#fff;line-height:0.72}
.swt-peak h3{margin-top:16px;font-weight:700;font-size:20px;color:var(--ink)}
.swt-peak h3 span{display:inline;color:var(--ink);font-size:20px;font-weight:700;margin-left:6px}
.swt-peak p{margin-top:8px;color:var(--ink);font-size:18px;line-height:1.7;padding:0 6px}

/* 8. 7大名列 */
.swt-rails{position:relative}
.swt-rails .tri{position:absolute;left:0;top:50%;transform:translateY(-50%);width:0;height:0;border-top:78px solid transparent;border-bottom:78px solid transparent;border-left:41px solid var(--red);z-index:2}
.swt-split{display:grid;grid-template-columns:1fr 1.4fr;gap:50px;align-items:start}
.swt-split .sp-text .swt-h2,.swt-split .sp-text .swt-eyebrow{text-align:left}
.sp-cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.swt-rail{position:relative;aspect-ratio:200/334;overflow:hidden}
.swt-rail img{width:100%;height:100%;object-fit:cover}
.swt-rail .cap{position:absolute;left:0;right:0;top:74.85%;bottom:6.89%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;font-weight:700;font-size:16px;line-height:1.3;background:rgba(15,23,42,.6)}
.swt-rail .cap span{display:block;font-size:16px}

/* 10. 10大童話小鎮：英文 Cinzel 金色浮水印＋中文壓上（banner-02-mid-scaled 上半部淡圖背景） */
.swt-towns{position:relative;background:none}
.swt-towns::before{content:"";position:absolute;top:0;left:0;right:0;height:946px;background:url("https://switzerland-travel.tw/wp-content/uploads/2026/06/banner-02-mid-scaled.webp") top center/100% auto no-repeat;z-index:0;pointer-events:none}
.swt-towns .swt-wrap{position:relative;z-index:1}
.swt-town{display:grid;grid-template-columns:540px 1fr;gap:50px;align-items:center;margin-bottom:56px}
.swt-town.rev{grid-template-columns:1fr 540px}
.swt-town.rev .t-img{order:2}
.swt-town .t-img{aspect-ratio:540/298;overflow:hidden}
.swt-town .t-img img{width:100%;height:100%;object-fit:cover}
.swt-town .t-text{position:relative;min-height:200px}
.swt-town .t-en{position:absolute;top:-14px;left:0;font-family:"Cinzel",serif;font-weight:700;font-size:clamp(56px,7.6vw,120px);line-height:1;color:var(--gold);opacity:.1;white-space:nowrap;pointer-events:none;z-index:0;letter-spacing:1px}
.swt-town .t-zh{position:relative;z-index:1;font-family:"Noto Serif TC",serif;font-weight:800;font-size:40px;padding-top:48px;line-height:1.2}
.swt-town .t-tx{position:relative;z-index:1;color:var(--ink);font-size:16px;line-height:1.95;margin-top:16px}

/* 11. 特別加贈 */
.swt-special{position:relative;color:var(--ink);padding:80px 0;background:url("https://switzerland-travel.tw/wp-content/uploads/2026/06/banner-03-special-scaled.webp") center/cover no-repeat}
.swt-special .swt-wrap{position:relative;z-index:2}
.swt-special .row{display:grid;grid-template-columns:340px 1fr;gap:50px;align-items:center}
.swt-boats{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.swt-boat{overflow:hidden;position:relative;aspect-ratio:389/298}
.swt-boat img{width:100%;height:100%;object-fit:cover}
.swt-boat .nm{position:absolute;left:0;right:0;bottom:0;padding:16px;text-align:center;font-weight:700;font-size:20px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.7))}

/* 12-14 行程資訊／注意事項／FAQ 共用淺底 */
.swt-itinwrap{background:var(--sky)}

/* 12. 每日行程 */
.swt-itin{position:relative}
.swt-itin .map{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);margin-bottom:50px}
.swt-itin .map img{width:100%;height:auto}
.swt-itin .itin-title{position:relative;text-align:center;margin-bottom:40px;line-height:1}
.swt-itin .big-en{font-family:"Cinzel",serif;font-weight:700;font-size:clamp(64px,10vw,120px);color:var(--gray);line-height:1}
.swt-itin .daily-h{position:absolute;left:0;right:0;top:58%;transform:translateY(-50%);font-family:"Noto Serif TC",serif;font-weight:700;font-size:clamp(34px,4.6vw,60px);color:var(--ink)}
.swt-day{margin-bottom:40px}
.swt-day .hd{display:flex;align-items:center;gap:22px;background:var(--blue);color:#fff;padding:18px 26px;flex-wrap:wrap}
.swt-day .hd .d{font-family:"Noto Serif TC",serif;font-weight:700;font-size:clamp(30px,3.5vw,48px);color:var(--yellow);line-height:1}
.swt-day .hd .rt{font-weight:700;font-size:clamp(15px,1.5vw,20px);flex:1;min-width:200px}
.swt-day .bd{padding:24px 0 0}
.swt-day .day-lead{display:grid;grid-template-columns:479px 1fr;gap:30px;align-items:start;margin-bottom:6px}
.swt-day .lead-img{aspect-ratio:479/286;border-radius:var(--r);overflow:hidden}
.swt-day .lead-img img{width:100%;height:100%;object-fit:cover}
.swt-day .lead-h{font-family:"Noto Serif TC",serif;font-weight:700;font-size:22px;margin-bottom:10px}
.swt-day .lead{color:var(--ink);font-size:18px;line-height:1.85}
/* 餐食住宿：左藍條＋上下框＋兩段 */
.swt-day .meal{position:relative;margin:24px 0;border-top:5px solid var(--line);border-bottom:4px solid var(--line)}
.swt-day .meal .ml{position:absolute;left:0;top:0;bottom:0;width:10px;background:var(--blue)}
.swt-day .meal .mr{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;padding:15px 0 15px 40px}
.swt-day .meal .mr+.mr{border-top:1px solid var(--line)}
.swt-day .meal .ic{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:16px;font-weight:400}
.swt-day .meal .dot{width:36px;height:36px;border-radius:50%;background:#fff;border:1.5px solid var(--blue);color:var(--blue);display:grid;place-items:center;font-family:"Noto Serif TC",serif;font-weight:800;font-size:18px;flex:0 0 auto}
.swt-day .stops{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:10px}
.swt-day .stops.cols3{grid-template-columns:repeat(3,1fr)}
.swt-day .stop .sp{aspect-ratio:479/286;border-radius:var(--r);overflow:hidden;margin-bottom:14px}
.swt-day .stop .sp img{width:100%;height:100%;object-fit:cover}
.swt-day .stop h4{font-weight:700;font-size:20px;margin-bottom:8px;line-height:1.4}
.swt-day .stop h4 span{display:block;font-size:18px;color:var(--gold)}
.swt-day .stop p{color:var(--ink);font-size:18px;line-height:1.8}
/* 輪播（景點超過兩個時使用，每張顯示一個景點） */
.swt-carousel{position:relative;overflow:hidden}
.swt-carousel .car-track{display:flex;transition:transform .4s ease}
.swt-carousel .car-slide{min-width:100%}
.swt-carousel .car-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:18px}
.swt-carousel .car-btn{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--blue);background:#fff;color:var(--blue);font-size:22px;font-weight:700;cursor:pointer;display:grid;place-items:center;line-height:1}
.swt-carousel .car-dots{display:flex;gap:8px}
.swt-carousel .car-dots button{width:9px;height:9px;border-radius:50%;border:0;background:rgba(15,23,42,.2);cursor:pointer;padding:0}
.swt-carousel .car-dots button.on{background:var(--blue)}

/* 13. 注意事項 */
.swt-notes .blk{margin-bottom:26px}
.swt-notes h3{display:block;color:var(--ink);font-size:20px;font-weight:700;margin-bottom:14px}
.swt-notes p{color:var(--ink);font-size:16px;line-height:1.95;white-space:pre-line}

/* 14. FAQ */
.swt-faq .item{position:relative;background:var(--gray);border-left:9px solid var(--gold);margin-bottom:14px;overflow:hidden}
.swt-faq .q{width:100%;text-align:left;background:none;border:0;padding:24px 26px;font-weight:700;font-size:20px;color:var(--dark);display:flex;justify-content:space-between;align-items:center;cursor:pointer;gap:16px}
.swt-faq .q .ca{transition:.3s;color:var(--red);font-size:22px}
.swt-faq .item.open .q .ca{transform:rotate(180deg)}
.swt-faq .a{max-height:0;overflow:hidden;transition:max-height .35s ease;color:var(--ink);font-size:18px;line-height:1.95;background:#fff}
.swt-faq .a .inner{padding:0 26px 22px}

/* 15. 促購 CTA */
.swt-cta{position:relative;overflow:visible;background:url("https://switzerland-travel.tw/wp-content/uploads/2026/06/hero.jpg") center/cover no-repeat;color:var(--ink)}
.swt-cta::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.95) 28%,rgba(255,255,255,.5) 62%,rgba(255,255,255,.1))}
.swt-cta .box{position:relative;z-index:2;display:grid;grid-template-columns:239px minmax(0,541px);gap:46px;justify-content:start;align-items:center;min-height:343px}
.swt-cta .cards{position:relative;z-index:2;display:flex;flex-direction:column;gap:15px}
.swt-cta .cards img{width:100%;display:block}
.swt-cta .txt{position:relative;z-index:2}
.swt-cta h2{font-weight:700;font-size:clamp(26px,3.4vw,35px);line-height:1.4;white-space:nowrap}
.swt-cta .txt p{margin:18px 0 22px;color:var(--ink);font-size:20px;line-height:1.8;white-space:normal}
.swt-cta .pill{display:inline-block;background:var(--red);color:#fff;border-radius:var(--r);padding:10px 22px;font-weight:700;font-size:20px}
.swt-cta .staff{position:absolute;right:0;bottom:0;width:415px;z-index:1}
.swt-cta .staff img{position:static;width:100%;height:auto;display:block}

/* 16. 夢想啟航 */
.swt-about{position:relative;overflow:visible;background:radial-gradient(120% 140% at 50% 0%,#3aa0ff,#128dff 55%,#0b78e0);padding:0;margin-top:90px}
.swt-about .box{position:relative;display:grid;grid-template-columns:617px 1fr;gap:60px;align-items:center;min-height:404px}
.swt-about .ph{position:relative;align-self:stretch}
.swt-about .ph img{position:absolute;left:0;bottom:0;width:100%;height:auto;display:block}
.swt-about h2{font-family:"Noto Serif TC",serif;font-weight:700;color:#fff;font-size:clamp(28px,3.6vw,48px);line-height:1.3}
.swt-about p{margin-top:20px;font-size:18px;line-height:1.95;color:#eaf4ff}

/* 17. 服務據點 */
.swt-locations .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.swt-loc{background:transparent;display:flex;flex-direction:column;height:100%}
.swt-loc .ph{aspect-ratio:383/223;overflow:hidden}
.swt-loc .ph img{width:100%;height:100%;object-fit:cover}
.swt-loc .bd{padding:18px 0 0;display:flex;flex-direction:column;flex:1}
.swt-loc .bd h3{font-size:20px;font-weight:700;margin-bottom:12px;line-height:1.4}
.swt-loc .bd h3 small{display:block;color:var(--ink);font-size:20px;font-weight:700}
.swt-loc .bd .info{color:var(--ink);font-size:15px;line-height:1.9;margin-bottom:16px;white-space:pre-line}
.swt-loc .bd .btns{display:flex;gap:10px;margin-top:auto}
.swt-loc .bd .btns a{flex:1;text-align:center;padding:9px 0;border-radius:var(--r);font-weight:700;font-size:18px;color:#fff}
.swt-loc .bd .btns .map{background:var(--blue)}
.swt-loc .bd .btns .tel{background:var(--red)}

/* 18. 右側固定側欄 */
.swt-sidebar{position:fixed;right:max(20px,calc((100vw - 1200px) / 2 + 20px));top:50%;transform:translateY(-50%);z-index:9999;background:#fff;box-shadow:5px 4px 11px rgba(0,0,0,.05);width:140px;border-top:6px solid var(--blue);border-bottom:6px solid var(--blue);overflow:hidden}
.swt-sidebar a{display:block;text-align:center;white-space:nowrap}
.swt-sidebar .top{background:var(--red);color:var(--yellow);font-weight:700;font-size:20px;padding:18px 10px}
.swt-sidebar a.lk{position:relative;padding:18px 10px;font-weight:700;font-size:20px;color:var(--ink);border-top:1px solid #eee}
.swt-sidebar a.lk::before{content:"";position:absolute;left:11px;top:50%;transform:translateY(-50%);width:11px;height:11px;border-radius:50%;background:var(--red)}
.swt-sidebar a.lk:hover{background:#fff5f2}

/* 19. 底部黏貼選單（平板／手機，預設隱藏） */
.swt-bottombar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:9998;background:#fff;border-top:3px solid var(--blue);box-shadow:0 -4px 16px rgba(0,0,0,.12);padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px))}
.swt-bottombar .bb-join{display:block;text-align:center;background:var(--red);color:var(--yellow);font-weight:700;font-size:18px;border-radius:12px;padding:13px}
.swt-bottombar .bb-links{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.swt-bottombar .bb-links a{text-align:center;font-weight:700;font-size:15px;color:var(--ink);background:var(--gray);border-radius:10px;padding:10px 4px}
.swt-bottombar .bb-links a:active{background:#e9eaec}

/* ===== Elementor / 佈景主題防覆蓋保護層：語意標籤外觀一律由本區塊鎖定 ===== */
.swt :is(h1,h2,h3,h4,h5,h6){margin:0!important;padding:0!important;letter-spacing:normal!important;text-transform:none!important;background:transparent!important}
.swt address{font-style:normal!important}
.swt-hero h1{font-family:"Noto Serif TC",serif!important;font-weight:700!important;color:#fff!important;font-size:clamp(34px,6vw,60px)!important}
.swt .swt-h2{font-family:"Noto Serif TC",serif!important;font-weight:700!important;color:var(--ink)!important;font-size:clamp(34px,4.6vw,60px)!important;line-height:1.25!important}
.swt .swt-h2.white{color:#fff!important}
.swt .swt-eyebrow{font-family:inherit!important;font-weight:700!important;color:var(--red)!important;font-size:20px!important}
.swt .swt-eyebrow.gold{color:var(--gold)!important}
.swt .swt-desc{font-family:inherit!important;color:var(--ink)!important;font-size:18px!important;line-height:1.85!important}
.swt .swt-desc.white{color:#fff!important}
.swt-towns .t-zh{font-family:"Noto Serif TC",serif!important;font-weight:800!important;color:var(--ink)!important;font-size:40px!important;line-height:1.2!important}
.swt-peak h3{font-family:inherit!important;font-weight:700!important;color:var(--ink)!important;font-size:20px!important;line-height:1.4!important;margin-top:16px!important}
.swt-itin .daily-h{font-family:"Noto Serif TC",serif!important;font-weight:700!important;color:var(--ink)!important;font-size:clamp(34px,4.6vw,60px)!important}
.swt-itin .swt-serif{font-family:"Noto Serif TC",serif!important;font-weight:800!important;color:var(--ink)!important;font-size:34px!important;margin-bottom:18px!important}
.swt-flight h3{font-family:"Noto Serif TC",serif!important;font-weight:800!important;color:var(--ink)!important;font-size:clamp(28px,3.4vw,40px)!important;margin-bottom:18px!important}
.swt-day .hd h3{display:contents!important}
.swt-day .hd .d{color:var(--yellow)!important}
.swt-day .hd .rt{color:#fff!important}
.swt-day .lead-h{font-family:"Noto Serif TC",serif!important;font-weight:700!important;color:var(--ink)!important;font-size:22px!important;margin-bottom:10px!important}
.swt-day .stop h4{font-family:inherit!important;font-weight:700!important;color:var(--ink)!important;font-size:20px!important;line-height:1.4!important;margin-bottom:8px!important}
.swt-notes h3{font-family:inherit!important;font-weight:700!important;color:var(--ink)!important;font-size:20px!important;background:none!important;margin-bottom:14px!important}
.swt-faq h3.q-h{margin:0!important;font:inherit!important;color:inherit!important}
.swt-faq .q{font-family:inherit!important;font-weight:700!important;color:var(--dark)!important;font-size:20px!important}
.swt-loc .bd h3{font-family:inherit!important;font-weight:700!important;color:var(--ink)!important;font-size:20px!important;line-height:1.4!important;margin-bottom:12px!important}
.swt-cta h2{font-family:inherit!important;font-weight:700!important;color:var(--ink)!important;font-size:clamp(26px,3.4vw,35px)!important;line-height:1.4!important}
.swt-about h2{font-family:"Noto Serif TC",serif!important;font-weight:700!important;color:#fff!important;font-size:clamp(28px,3.6vw,48px)!important;line-height:1.3!important}
.swt-sc h3{font-weight:700!important;color:#fff!important;font-size:20px!important;line-height:1.4!important;margin:22px 0 10px!important}
.swt-sc h3 span{color:#fff!important;font-size:18px!important}

/* ===== RWD 響應式（置於保護層之後，確保覆蓋生效） ===== */

/* 隱藏橫向捲軸（導覽天數 / 月份 / 景點輪播） */
.swt-menu,.swt-dates .month-pick,.swt-day .stops{scrollbar-width:none}
.swt-menu::-webkit-scrollbar,.swt-dates .month-pick::-webkit-scrollbar,.swt-day .stops::-webkit-scrollbar{display:none}

/* 平板橫向 / 小筆電 (≤1024) */
@media(max-width:1024px){
  .swt-sidebar{display:none}
  .swt-bottombar{display:block}
  .swt-main{padding-bottom:132px}
  /* 隱藏 Elementor footer 黏貼列，改用本頁底部選單（若實際 class 不同請告知） */
  .elementor-location-footer .elementor-sticky,
  .elementor-location-footer .elementor-sticky--active,
  [data-elementor-type="footer"] .elementor-sticky{display:none!important}
  .swt-wrap{padding:0 24px}
  .swt-sc-grid{grid-template-columns:repeat(2,1fr)}
  .swt-peaks .grid{grid-template-columns:repeat(2,1fr)}
  .swt-split{grid-template-columns:1fr;gap:30px}
  .swt-town,.swt-town.rev{grid-template-columns:1fr 1fr;gap:34px}
  .swt-special .row{grid-template-columns:1fr;gap:36px}
  .swt-cta .box{grid-template-columns:200px minmax(0,1fr);gap:30px}
  .swt-cta h2{white-space:normal}
  .swt-cta .staff{width:300px}
  .swt-about .box{grid-template-columns:1fr 1fr;gap:40px}
}

/* 平板直向 / 大手機 (≤900)：導覽不置頂、天數左右滑動 */
@media(max-width:900px){
  .swt-nav{position:static}
  .swt-nav .row{height:auto;min-height:64px;gap:12px;padding:10px 0}
  .swt-burger{display:none}
  .swt-nav .nav-cta{display:none}
  .swt-menu{position:static!important;display:flex!important;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:22px;margin:0;padding:4px 0;background:transparent;box-shadow:none;flex:1;min-width:0;-webkit-overflow-scrolling:touch}
  .swt-menu li{flex:0 0 auto;width:auto;text-align:left}
  .swt-menu li a{display:inline-block;padding:6px 2px;font-size:18px;white-space:nowrap}
  .swt-deal{position:sticky;top:0}

  .swt-town,.swt-town.rev{grid-template-columns:1fr;gap:18px}
  .swt-town.rev .t-img{order:0}
  .swt-town .t-text{min-height:0}
  .swt-about .box{grid-template-columns:1fr;gap:28px}
  .swt-day .day-lead{grid-template-columns:1fr;gap:18px}
  .swt-day .stops{grid-template-columns:1fr;gap:24px}
  .swt-day .stops.cols3{grid-template-columns:1fr 1fr;gap:24px}
  /* 航班直向堆疊 */
  .swt-flight .box{padding:8px 20px}
  .swt-flight .leg{flex-direction:column;align-items:flex-start;gap:8px}
  .swt-flight .route{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;flex:none}
  .swt-flight .arrow{display:none}
  .swt-flight .pt{width:auto;text-align:left}
}

/* 手機 (≤767) */
@media(max-width:767px){
  .swt-sec{padding:48px 0}
  .swt-wrap{padding:0 18px}
  .swt-hero{height:440px}
  .swt-hero .swt-btn{width:100%}
  .swt-sc-grid{grid-template-columns:1fr}
  .sp-cards4{grid-template-columns:repeat(2,1fr)}
  .swt-rails .tri{display:none}
  .swt-cta .box,.swt-about .box{grid-template-columns:1fr;min-height:0;gap:24px}
  .swt-cta .staff,.swt-about .ph{position:static;align-self:auto;width:auto}
  .swt-cta .staff img,.swt-about .ph img{position:static;width:100%;height:auto}
  .swt-cta .staff img{max-width:320px;margin:0 auto}
  .swt-locations .grid{grid-template-columns:1fr}

  /* 早鳥列：文案兩行、聯絡我們全寬 */
  .swt-deal .row{flex-direction:column;gap:12px;text-align:center;min-height:0}
  .db-br{display:block}
  .swt-deal .txt{font-size:20px;line-height:1.35}
  .swt-deal .txt em{font-size:34px}
  .swt-deal .deal-cta{width:100%;text-align:center}

  /* 每日行程：餐宿框由上而下、標題列收斂 */
  .swt-day .hd{padding:14px 18px;gap:10px}
  .swt-day .meal .mr{flex-direction:column;align-items:flex-start;gap:10px}
  /* 景點超過一張 → 左右輪播（滑動分頁） */
  .swt-day .stops,.swt-day .stops.cols3{display:grid;grid-template-columns:1fr;gap:24px}

  /* 出團日期：月份左右滑動 */
  .swt-dates .head-row{gap:18px}
  .swt-dates .month-pick{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:10px;padding-bottom:4px}
  .swt-dates .month-pick button{flex:0 0 auto;min-width:116px;padding:0 14px;white-space:nowrap}

  /* 童話小鎮浮水印英文縮小 */
  .swt-town .t-en{font-size:clamp(44px,15vw,72px)}
}

/* 出團日期表：手機改卡片式（每筆一張卡、欄位帶標籤） */
@media(max-width:600px){
  .swt-dates div[style*="overflow"]{overflow:visible!important}
  .swt-dates table{display:block!important;width:100%!important;min-width:0!important;border:0!important;table-layout:auto!important}
  .swt-dates colgroup{display:none!important}
  .swt-dates thead{display:none!important}
  .swt-dates tbody{display:block!important}
  .swt-dates tbody tr{display:block!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:14px!important;margin-bottom:14px!important;padding:4px 16px!important;box-shadow:0 2px 10px rgba(0,0,0,.04)!important}
  .swt-dates tbody td{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:14px!important;width:auto!important;text-align:right!important;border:0!important;border-top:1px solid #eee!important;padding:12px 0!important;font-size:16px!important}
  .swt-dates tbody td:first-child{border-top:0!important;font-weight:800!important}
  .swt-dates tbody td::before{content:attr(data-label);font-weight:700;color:#9aa0a6;font-size:14px;white-space:nowrap}
  .swt-dates tbody td:empty{display:none!important}
  .swt-dates .pill{width:auto!important;min-width:120px}
}

/* 小手機 (≤430) */
@media(max-width:430px){
  .swt-sec{padding:40px 0}
  .swt-hero{height:400px}
  .swt-peaks .grid{grid-template-columns:1fr}
  .swt-boats{grid-template-columns:1fr}
  .swt-deal .count b{min-width:72px;padding:6px 8px}
  .swt-flight .box{padding:8px 14px}
  .swt-bottombar .bb-links a{font-size:14px}
}
