/* SnowYado directories: existing pine / glacier palette and editorial typography. */
body:is(.page-winter-activities,.page-snow-season){--directory-ink:#102b3b;--directory-blue:#1d6581;--directory-muted:#516d7c;--directory-rule:#d9e5eb;background:#f4f8fa;color:var(--directory-ink)}
body:is(.page-winter-activities,.page-snow-season) :is(.wa-wrap,.ss-wrap){width:min(1160px,calc(100% - 48px));padding-top:28px}
body:is(.page-winter-activities,.page-snow-season) [data-directory-page]>.sy-directory-head{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:40px;max-width:none;min-height:194px;margin:0 0 28px;padding:0;background:transparent}
body:is(.page-winter-activities,.page-snow-season) .sy-directory-head>p{display:none}
body:is(.page-winter-activities,.page-snow-season) .sy-directory-head>h1{font-family:var(--serif,'Songti TC',serif);font-size:42px;font-weight:600;line-height:1.45;letter-spacing:.035em;color:var(--directory-ink);margin:0;max-width:none;text-wrap:balance}
body:is(.page-winter-activities,.page-snow-season) .sy-directory-head>h1::before{content:'';display:block;width:32px;height:3px;background:var(--directory-blue);margin:0 0 16px}
body:is(.page-winter-activities,.page-snow-season) .sy-directory-head .sy-directory-visual{display:block;width:100%;height:194px;object-fit:cover;object-position:center 56%;border-radius:4px 4px 32px 4px;background:#dceaf0}
body.page-winter-activities .wa-tabs{margin:0 0 24px;padding:0;gap:0;max-width:400px;border:1px solid #b7cfdb;border-radius:5px;overflow:hidden;background:#fff}
body.page-winter-activities .wa-tabs button{min-height:50px;font-size:17px;line-height:1.5;border-radius:0;color:#476a7b;letter-spacing:.06em;font-weight:500}
body.page-winter-activities .wa-tabs button[aria-selected=true]{background:var(--directory-ink);color:#fff;box-shadow:none;font-weight:600}
body.page-winter-activities .wa-tabs button:hover:not([aria-selected=true]){background:#e8f2f7}
body.page-winter-activities .wa-panel>h2{position:absolute;clip-path:inset(50%);height:1px;width:1px;overflow:hidden;white-space:nowrap;margin:0}
body.page-winter-activities .wa-controls{gap:12px;margin:0 0 12px;align-items:end}
body.page-winter-activities .wa-controls label{font-size:13px;font-weight:500;color:var(--directory-muted);gap:5px}
body.page-winter-activities .wa-controls :is(input,select){min-height:48px;border-color:#bdcfd8;border-radius:5px;background:#fff;color:#163f54;font-size:16px}
body.page-winter-activities .wa-controls input::placeholder{color:#68818d}
body.page-winter-activities .wa-controls button{min-height:48px;border-color:#bdcfd8;border-radius:5px;color:#1d6581;font-size:15px;background:#fff}
body.page-winter-activities .wa-result{font-size:12px;line-height:1.65;color:#698390;min-height:0;margin:6px 0 14px}
body.page-winter-activities .wa-table-wrap{border:1px solid var(--directory-rule);border-top:3px solid #1d6581;border-radius:5px;background:#fff}
body.page-winter-activities .wa-table thead th{background:#edf5f8;color:#426878;font-size:13px;font-weight:500;padding:12px 16px}
body.page-winter-activities .wa-table tbody tr{transition:background-color .18s ease}
body.page-winter-activities .wa-table tbody tr:hover{background:#edf5f8}
body.page-winter-activities .wa-table td{font-size:16px;line-height:1.8;color:#416373;padding:20px 18px}
body.page-winter-activities .wa-table tbody th a:not(.wa-festival-image-link){font-family:var(--serif,'Songti TC',serif);font-size:19px;font-weight:600;letter-spacing:.02em;line-height:1.6;color:#133d51;min-height:44px}
body.page-winter-activities .wa-table tbody th a:not(.wa-festival-image-link)>span{display:inline-grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border:1px solid #d5e4eb;border-radius:50%;font-family:Arial,sans-serif;color:#1d6581;font-size:15px}
body.page-winter-activities .wa-festival-table th:nth-child(1){width:33%}
body.page-winter-activities .wa-festival-table th:nth-child(2){width:13%}
body.page-winter-activities .wa-festival-table th:nth-child(3){width:22%}
body.page-winter-activities .wa-festival-table th:nth-child(4){width:32%}
body.page-winter-activities .wa-festival-table tbody th{display:grid;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:14px;padding:16px}
body.page-winter-activities .wa-festival-table tbody th .wa-festival-image-link{display:block;width:86px;height:86px;min-height:0;margin:0;padding:0;border-radius:4px;overflow:hidden}
body.page-winter-activities .wa-festival-image-link img{width:100%;height:100%;aspect-ratio:1;object-fit:cover}
body.page-winter-activities .wa-festival-table tbody th a:not(.wa-festival-image-link){padding:0}
body.page-winter-activities .wa-date{font-size:16px;line-height:1.7;color:#194f67;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.015em}
body.page-winter-activities .wa-table td small{font-size:12px;line-height:1.75;color:#6a818c;font-weight:400}
body.page-winter-activities .wa-activity-table tbody th a{padding:18px 16px}
body.page-winter-activities :is(.wa-library,.wa-related,.wa-guide-section){border-color:#d1e1e8}
body.page-winter-activities :is(.wa-library,.wa-related,.wa-guide-section,.wa-event-notes)>h2{font-family:var(--serif,'Songti TC',serif);font-size:25px;font-weight:600;color:#173d51;letter-spacing:.025em}
body.page-winter-activities :is(.wa-article-card,.wa-feature-card){border-color:#d7e5eb;border-radius:8px;box-shadow:none;background:#fff}
body.page-winter-activities .wa-article-card h3{font-family:var(--serif,'Songti TC',serif);font-size:18px;line-height:1.75;font-weight:600;letter-spacing:.01em}
body.page-winter-activities .wa-card-meta span{background:#f0f5f8;color:#5f7d8b;font-size:11px}
body.page-snow-season .ss-table-wrap{border:1px solid #cbdde5;border-top:3px solid #1d6581;border-radius:5px;background:#fff;margin:22px 0 24px}
body.page-snow-season .ss-table caption{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap;padding:0}
body.page-snow-season .ss-table thead th{background:#173d51;color:#fff;font-size:14px;font-weight:500;letter-spacing:.03em;border-color:#31576a;padding:17px 20px}
body.page-snow-season .ss-table tbody th a{position:static;min-height:94px;padding:18px 22px;gap:5px}
body.page-snow-season .ss-table tbody th a>span:first-child{font-family:var(--serif,'Songti TC',serif);font-weight:600;color:#173d51;font-size:20px;letter-spacing:.03em}
body.page-snow-season .ss-table tbody th small{font-size:13px;line-height:1.65;color:#65818e}
body.page-snow-season .ss-table tbody tr{position:relative;isolation:isolate;cursor:pointer}
body.page-snow-season .ss-table tbody th a::after{content:'';position:absolute;inset:0;z-index:1;border-radius:inherit}
body.page-snow-season .ss-table tbody th a:focus-visible{outline:none}
body.page-snow-season .ss-table tbody th a:focus-visible::after{outline:3px solid #b88a3b;outline-offset:-3px}
body.page-snow-season .ss-table .ss-count{position:absolute;right:15px;top:18px;display:grid;place-items:center;width:26px;height:26px;border:1px solid #d7e5eb;border-radius:50%;font-family:Arial,sans-serif;font-size:15px;line-height:1;color:#1d6581;margin:0}
body.page-snow-season .ss-table td{font-size:17px;line-height:1.75;color:#395c6d;padding:18px 20px}
body.page-snow-season .ss-table :is(.ss-best,.ss-best .ss-period){color:#164e69;background:#eaf3f8;font-weight:600}
body.page-snow-season .ss-table tr:hover td:not(.ss-best),body.page-snow-season .ss-table tr:hover th{background:#f2f7fa}
body.page-snow-season :is(.ss-related-hubs,.ss-library,.ss-explanation)>h2{font-family:var(--serif,'Songti TC',serif);color:#173d51;font-weight:600;letter-spacing:.02em}
body.page-snow-season :is(.ss-hub-links>a,.rk-article-card){background:#fff;border-color:#d6e4eb;border-radius:8px}
body.page-snow-season .ss-period-panel{border-color:#cedfe6;border-radius:6px}
body.page-snow-season .ss-period-panel .ss-best{background:#eaf3f8}
body.page-snow-season .ss-period-panel .ss-best dd{color:#164e69}
body:is(.page-snow-season,.page-winter-activities) :is(.sy-directory-head h1,.ss-hero h1,.wa-hero h1){color:#102b3b}
@media(min-width:701px){body.page-snow-season .ss-table .ss-count{right:auto;left:calc(34% - 46px);top:calc(50% - 13px)}body.page-snow-season .ss-table tbody th a{padding-right:56px}}
@media(max-width:700px){
 body:is(.page-winter-activities,.page-snow-season) :is(.wa-wrap,.ss-wrap){width:calc(100% - 32px);padding-top:14px}
 body:is(.page-winter-activities,.page-snow-season) [data-directory-page]>.sy-directory-head{grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:16px;min-height:120px;margin:0 0 18px;padding:0}
 body:is(.page-winter-activities,.page-snow-season) .sy-directory-head>h1{font-size:29px!important;line-height:1.5;letter-spacing:.035em;margin:0;text-wrap:initial}
 body:is(.page-winter-activities,.page-snow-season) .sy-directory-head>h1::before{width:26px;height:2px;margin-bottom:12px}
 body:is(.page-winter-activities,.page-snow-season) .sy-directory-head .sy-directory-visual{height:120px;border-radius:3px 3px 24px 3px;object-position:center}
 body.page-snow-season .sy-directory-head .sy-title-line{display:block}
 body.page-winter-activities .wa-tabs{margin:0 0 14px;max-width:none;min-height:48px;border-radius:5px;gap:0;padding:0}
 body.page-winter-activities .wa-tabs button{min-height:48px;font-size:15px;letter-spacing:.08em}
 body.page-winter-activities .wa-panel>.wa-controls{margin:0 0 8px;gap:8px;grid-template-columns:minmax(0,1fr) auto}
 body.page-winter-activities .wa-panel>.wa-controls>label:not(.wa-search){font-size:13px;gap:8px;grid-template-columns:auto minmax(0,1fr)}
 body.page-winter-activities .wa-panel>.wa-controls :is(input,select,button){height:46px;min-height:46px;font-size:16px;padding:10px 12px}
 body.page-winter-activities .wa-panel>.wa-controls>[data-wa-reset]{height:46px;min-height:46px;min-width:64px;font-size:14px}
 body.page-winter-activities .wa-result{font-size:12px;margin:3px 0 10px;line-height:1.6}
 body.page-winter-activities .wa-table-wrap{border:0;border-radius:0;overflow:visible;background:transparent}
 body.page-winter-activities .wa-table tbody{gap:12px}
 body.page-winter-activities .wa-table tbody tr{border:1px solid #d7e4eb!important;border-radius:9px;box-shadow:0 3px 12px #102b3b04;background:#fff;min-width:0}
 body.page-winter-activities .wa-festival-table tbody tr{display:grid;grid-template-columns:88px minmax(0,1fr);grid-template-rows:auto auto auto auto;align-items:start;gap:0 14px;padding:14px}
 body.page-winter-activities .wa-festival-table tbody th{display:contents!important;padding:0;width:auto!important}
 body.page-winter-activities .wa-festival-table tbody th .wa-festival-image-link{display:block;grid-column:1;grid-row:1/4;align-self:start;width:88px;height:88px;min-height:0;padding:0;margin:0;border-radius:4px}
 body.page-winter-activities .wa-festival-table tbody th a:not(.wa-festival-image-link){grid-column:2;grid-row:1;min-width:0;min-height:29px;padding:0;align-items:center;gap:8px;font-size:18px;line-height:1.6}
 body.page-winter-activities .wa-festival-table tbody th a:not(.wa-festival-image-link)>span{width:24px;height:24px;flex-basis:24px;font-size:13px}
 body.page-winter-activities .wa-festival-table td{padding:0;line-height:1.7}
 body.page-winter-activities .wa-festival-table td[data-label="地區"]{grid-column:2;grid-row:2;font-size:12px;line-height:1.75;color:#65818e;margin:2px 0 3px}
 body.page-winter-activities .wa-festival-table td[data-label="地區"] small{font-size:12px;display:inline;margin:0}
 body.page-winter-activities .wa-festival-table td[data-label="舉行日期"]{grid-column:2;grid-row:3;min-width:0}
 body.page-winter-activities .wa-festival-table .wa-date{font-size:15px;line-height:1.7;letter-spacing:0;font-weight:600;color:#1d6581}
 body.page-winter-activities .wa-festival-table td[data-label="內容"]{grid-column:1/-1;grid-row:4;padding-top:10px;font-size:15px;line-height:1.75;color:#4c6b7a}
 body.page-winter-activities .wa-activity-table tbody tr{display:flex;padding:12px 14px 13px;border-left:3px solid #83abbf!important;gap:0}
 body.page-winter-activities .wa-activity-table tbody th a{padding:0;min-height:32px;font-size:18px;line-height:1.6;align-items:center}
 body.page-winter-activities .wa-activity-table td[data-label="內容"]{padding:6px 0 0;font-size:15px;line-height:1.75;color:#496a7b}
 body.page-winter-activities .wa-activity-table td[data-label="地區"]{padding:8px 0 0}
 body.page-winter-activities .wa-region-names{font-size:12px;line-height:1.7;color:#6d8592}
 body.page-winter-activities :is(.wa-library,.wa-related,.wa-guide-section)>h2{font-size:21px}
 body.page-winter-activities .wa-article-card{padding:14px;border-left:2px solid #c0d8e3}
 body.page-winter-activities .wa-article-card h3{font-size:17px;line-height:1.8}
 body.page-snow-season .ss-table-wrap{margin:16px 0 22px;border:0;border-radius:0;background:transparent;overflow:visible}
 body.page-snow-season .ss-table,body.page-snow-season .ss-table tbody{display:block}
 body.page-snow-season .ss-table tbody{display:grid;gap:14px}
 body.page-snow-season .ss-table tbody tr{display:grid;grid-template-columns:1fr;background:#fff;border:1px solid #d1e2ea;border-radius:9px;overflow:hidden;box-shadow:0 3px 12px #102b3b04;scroll-margin-top:85px}
 body.page-snow-season .ss-table tbody th{grid-column:1;border:0!important}
 body.page-snow-season .ss-table tbody th a{position:static;min-height:76px;padding:13px 48px 12px 16px;gap:4px;line-height:1.6}
 body.page-snow-season .ss-table tbody th a>span:first-child{font-size:20px;line-height:1.55;font-weight:600}
 body.page-snow-season .ss-table tbody th small{font-size:12px;line-height:1.7;font-weight:400}
 body.page-snow-season .ss-table .ss-count{position:absolute;right:16px;top:20px;display:grid;margin:0;min-height:0}
 body.page-snow-season .ss-table td{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:baseline;gap:12px;padding:10px 16px!important;border-top:1px solid #e6eef2;line-height:1.7}
 body.page-snow-season .ss-table .ss-mobile-label{display:block;font-size:13px;font-weight:400;line-height:1.7;color:#63808e}
 body.page-snow-season .ss-table .ss-period{font-size:16px;line-height:1.7;font-variant-numeric:tabular-nums;letter-spacing:.015em}
 body.page-snow-season .ss-table .ss-best{border-left:3px solid #4b8ca6;padding-left:13px!important;background:#eaf3f8}
 body.page-snow-season .ss-table .ss-best .ss-mobile-label{color:#376b83;font-weight:600}
 body.page-snow-season .ss-table .ss-best .ss-period{color:#154f6b;font-weight:600}
 body.page-snow-season .mobile-region-picker{margin:6px 0 14px;font-size:13px}
 body.page-snow-season .mobile-region-picker select{border-color:#bccfd8;border-radius:5px}
 body.page-snow-season .ss-explanation{margin:22px 0;padding-top:20px}
 body.page-snow-season .ss-explanation h2{font-size:21px}
 body.page-snow-season .ss-explanation p{font-size:15px;line-height:1.8}
 body.page-snow-season .ss-sources{margin-top:24px}
}
@media(max-width:360px){
 body:is(.page-winter-activities,.page-snow-season) [data-directory-page]>.sy-directory-head{gap:12px;min-height:108px;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
 body:is(.page-winter-activities,.page-snow-season) .sy-directory-head>h1{font-size:25px!important}
 body:is(.page-winter-activities,.page-snow-season) .sy-directory-head .sy-directory-visual{height:108px}
 body.page-winter-activities .wa-festival-table tbody tr{grid-template-columns:74px minmax(0,1fr);gap:0 12px;padding:12px}
 body.page-winter-activities .wa-festival-table tbody th .wa-festival-image-link{width:74px;height:84px}
 body.page-winter-activities .wa-festival-table tbody th a:not(.wa-festival-image-link){font-size:17px}
 body.page-snow-season .ss-table td{grid-template-columns:108px minmax(0,1fr);gap:8px;padding-inline:13px!important}
 body.page-snow-season .ss-table .ss-best{padding-left:10px!important}
 body.page-snow-season .ss-table .ss-period{font-size:15px}
}
@media(prefers-reduced-motion:reduce){body.page-winter-activities .wa-table tbody tr{transition:none}}

/* Preserve native desktop table sizing; thumbnail and title share the first cell. */
@media(min-width:701px){
 body.page-winter-activities .wa-festival-table tbody th{display:table-cell;vertical-align:middle;padding:16px;width:33%}
 body.page-winter-activities .wa-festival-table tbody th .wa-festival-image-link{float:left;display:block;margin:0 14px 0 0}
 body.page-winter-activities .wa-festival-table tbody th a:not(.wa-festival-image-link){display:flex;align-items:center;min-height:86px;margin-left:100px;padding:0}
}
@media(max-width:700px){
 body.page-winter-activities .wa-activity-table td[data-label="內容"]{padding:5px 0 0!important;font-size:15px;line-height:1.75}
 body.page-winter-activities .wa-activity-table td[data-label="地區"]{padding:7px 0 0!important;font-size:12px;line-height:1.7}
 body.page-winter-activities .wa-activity-table tbody th a{padding:0!important;min-height:32px}
}
