/* [D3] 自訂區塊 design-token 樣式（palette vars 跟站配色，非 GS 烘焙） */
.sn-block{box-sizing:border-box;width:100%;}
.sn-block *{box-sizing:border-box;}

/* 行動呼籲
   v2.52.0（各區塊#4）：色彩可調——--sn-cta-bg/--sn-cta-text 由 template inline 帶入（含背景圖），
   留空 fallback 原本深色底白字；背景圖時 cover 置中。 */
.sn-block-cta{position:relative;padding:64px 20px;background-color:var(--sn-cta-bg,var(--theme-palette-color-1,#28333B));color:var(--sn-cta-text,#fff);text-align:center;}
/* v2.66.0（batch9#17）：背景圖遮罩——變數不存在時 transparent＝現狀零位移 */
.sn-block-cta--hasimg::before{content:"";position:absolute;inset:0;pointer-events:none;background:var(--sn-cta-overlay,transparent);}
.sn-block-cta--hasimg .sn-block-cta__inner{position:relative;z-index:1;}
.sn-block-cta--hasimg{background-size:cover;background-position:center;}
.sn-block-cta__inner{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:16px;align-items:center;}
.sn-block-cta__title{font-size:clamp(24px,4vw,32px);font-weight:700;margin:0;color:var(--sn-cta-text,#fff);line-height:1.3;}
.sn-block-cta__text{font-size:16px;line-height:1.7;margin:0;opacity:.92;}
.sn-block-cta__text p{margin:0;}
.sn-block-cta__btn{display:inline-block;margin-top:8px;background:#fff;color:var(--theme-palette-color-1,#28333B);font-weight:600;padding:12px 34px;border-radius:999px;text-decoration:none;transition:opacity .15s,transform .3s;}
.sn-block-cta__btn:hover{opacity:.92;transform:translateY(-4px);}

/* 純文字段落
   v2.52.0（各區塊#0/#2）：utility 區塊統一主內容容器模式（theme 容器變數，手機同步對齊）、
   去 padding（垂直節奏改「與下方區塊間距」欄位）；小標移除；文字欄寬度級距 --w1290/1000/900/750。 */
.sn-block-text{width:var(--theme-container-width,1290px);max-width:var(--theme-normal-container-max-width,1290px);margin:0 auto 40px;padding:0;}
.sn-block-text__inner{max-width:750px;margin:0 auto;}
.sn-block-text--w1290 .sn-block-text__inner{max-width:none;}
.sn-block-text--w1000 .sn-block-text__inner{max-width:1000px;}
.sn-block-text--w900 .sn-block-text__inner{max-width:900px;}
.sn-block-text__body{font-size:16px;line-height:1.85;color:#333;}
.sn-block-text__body p{margin:0 0 1em;}
.sn-block-text__body p:last-child{margin-bottom:0;}

/* 間隔 */
.sn-block-spacer{width:100%;}
.sn-block-spacer__hint{font-size:12px;color:#0A6EB1;background:rgba(255,255,255,.7);padding:2px 10px;border-radius:999px;}

/* 對齊工具 */
.sn-align-left{text-align:left;}
.sn-align-center{text-align:center;}
.sn-align-right{text-align:right;}

/* 標題 */
.sn-block-heading{width:var(--theme-container-width,1290px);max-width:var(--theme-normal-container-max-width,1290px);margin:0 auto 40px;padding:0;}
.sn-block-heading__inner{max-width:760px;margin:0 auto;}
/* v2.52.0（各區塊#1）：置左/置右時標題吃滿頁面寬（1290 容器），置中維持窄欄 */
.sn-block-heading.sn-align-left .sn-block-heading__inner,.sn-block-heading.sn-align-right .sn-block-heading__inner{max-width:none;}
.sn-block-heading__title{font-size:clamp(24px,4vw,34px);font-weight:700;margin:0;color:var(--theme-palette-color-1,#28333B);line-height:1.25;}
.sn-block-heading__sub{font-size:16px;color:#666;margin:10px 0 0;}

/* 按鈕 */
.sn-block-button{width:var(--theme-container-width,1290px);max-width:var(--theme-normal-container-max-width,1290px);margin:0 auto 40px;padding:0;}
.sn-block-button__btn{display:inline-block;font-weight:600;padding:12px 34px;border-radius:999px;text-decoration:none;transition:opacity .15s,transform .3s;}
.sn-btn-solid{background:var(--theme-palette-color-1,#0A6EB1);color:#fff;}
.sn-btn-outline{border:2px solid var(--theme-palette-color-1,#0A6EB1);color:var(--theme-palette-color-1,#0A6EB1);}
.sn-block-button__btn:hover{opacity:.9;transform:translateY(-4px);}

/* v2.38.0（item 10）：全區塊按鈕統一 hover＝只上浮 translateY(-4px)＋背景色變化。
   card/cards/split/products 原本沒定義 hover，會 fall through 到 Blocksy 主題按鈕 hover
   （border 線＋border-radius 變形 artifact）——這裡明確覆蓋掉，只留上浮。 */
.sn-block-card__btn,.sn-block-cards__btn,.sn-block-split__btn,.sn-block-products__cta{transition:background .3s,transform .3s;}
.sn-block-card__btn:hover,.sn-block-cards__btn:hover,.sn-block-split__btn:hover,.sn-block-products__cta:hover{background:var(--theme-palette-color-2,#878787);transform:translateY(-4px);color:#fff;}

/* 圖片
   v2.52.0（各區塊#5）：寬度級距 --wfull/w1290/w1000/w900/w750（預設 750）；全寬走 hero 同款 breakout。 */
.sn-block-image{width:var(--theme-container-width,1290px);max-width:var(--theme-normal-container-max-width,1290px);margin:0 auto 40px;padding:0;}
.sn-block-image__fig{max-width:750px;margin:0 auto;}
.sn-block-image--w1290 .sn-block-image__fig{max-width:none;}
.sn-block-image--w1000 .sn-block-image__fig{max-width:1000px;}
.sn-block-image--w900 .sn-block-image__fig{max-width:900px;}
.sn-block-image--wfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;}
.sn-block-image--wfull .sn-block-image__fig{max-width:none;}
.sn-block-image--wfull .sn-block-image__img{border-radius:0;}
.sn-block-image__img{display:block;width:100%;height:auto;border-radius:12px;}
.sn-block-image__ph{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:rgba(10,110,177,.06);border:2px dashed rgba(10,110,177,.3);border-radius:12px;color:#0A6EB1;font-size:14px;}
.sn-block-image__cap{font-size:13px;color:#888;text-align:center;margin:10px 0 0;}

/* 分隔線 */
.sn-block-divider{width:var(--theme-container-width,1290px);max-width:var(--theme-normal-container-max-width,1290px);margin:0 auto 40px;padding:0;}
.sn-block-divider__hr{border:0;max-width:760px;margin:0 auto;}
.sn-divider-line{border-top:1px solid rgba(40,51,59,.15);}
.sn-divider-thick{border-top:3px solid var(--theme-palette-color-1,#28333B);width:56px;}
.sn-divider-dots{border-top:2px dotted rgba(40,51,59,.3);}

/* 圖文卡片 */
.sn-block-card{padding:32px 20px;}
.sn-block-card__inner{max-width:760px;margin:0 auto;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px rgba(40,51,59,.08);}
.sn-block-card__media img{display:block;width:100%;height:auto;}
.sn-block-card__ph{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:rgba(10,110,177,.06);border-bottom:2px dashed rgba(10,110,177,.3);color:#0A6EB1;font-size:14px;}
.sn-block-card__body{padding:24px 26px;}
.sn-block-card__title{font-size:20px;font-weight:700;margin:0 0 10px;color:var(--theme-palette-color-1,#28333B);}
.sn-block-card__text{font-size:15px;line-height:1.75;color:#444;}
.sn-block-card__text p{margin:0 0 .8em;}
.sn-block-card__text p:last-child{margin-bottom:0;}
.sn-block-card__btn{display:inline-block;margin-top:16px;background:var(--theme-palette-color-1,#0A6EB1);color:#fff;font-weight:600;padding:10px 26px;border-radius:999px;text-decoration:none;}

/* ============ D3 v2：圖庫 / 多欄卡片 / 圖文並排 / 卡片重設計 ============ */

/* 圖庫 gallery */
.sn-block-gallery{padding:32px 20px;}
.sn-block-gallery__grid{max-width:960px;margin:0 auto;display:grid;gap:12px;}
.sn-block-gallery--2 .sn-block-gallery__grid{grid-template-columns:repeat(2,1fr);}
.sn-block-gallery--3 .sn-block-gallery__grid{grid-template-columns:repeat(3,1fr);}
.sn-block-gallery__cell{aspect-ratio:1;border-radius:14px;overflow:hidden;background:rgba(40,51,59,.04);}
.sn-block-gallery__cell img{width:100%;height:100%;object-fit:cover;display:block;}
.sn-block-gallery__ph{display:flex;align-items:center;justify-content:center;color:#0A6EB1;font-size:14px;border:2px dashed rgba(10,110,177,.3);cursor:pointer;}
@media(max-width:600px){.sn-block-gallery--3 .sn-block-gallery__grid{grid-template-columns:repeat(2,1fr);}}

/* 多欄卡片 cards2 / cards3 */
.sn-block-cards{padding:32px 20px;}
.sn-block-cards__grid{max-width:1040px;margin:0 auto;display:grid;gap:20px;}
.sn-block-cards--2 .sn-block-cards__grid{grid-template-columns:repeat(2,1fr);}
.sn-block-cards--3 .sn-block-cards__grid{grid-template-columns:repeat(3,1fr);}
.sn-block-cards__card{display:block;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 6px 24px rgba(40,51,59,.08);text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s;}
a.sn-block-cards__card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(40,51,59,.14);}
.sn-block-cards__media{aspect-ratio:16/10;background:rgba(40,51,59,.05);}
.sn-block-cards__media img{width:100%;height:100%;object-fit:cover;display:block;}
.sn-block-cards__ph{display:flex;align-items:center;justify-content:center;color:#0A6EB1;font-size:14px;border-bottom:2px dashed rgba(10,110,177,.3);cursor:pointer;}
.sn-block-cards__body{padding:16px 18px;}
.sn-block-cards__title{font-size:17px;font-weight:700;margin:0 0 6px;color:var(--theme-palette-color-1,#28333B);}
.sn-block-cards__text{font-size:14px;line-height:1.65;color:#555;}
.sn-block-cards__text p{margin:0 0 .6em;}
.sn-block-cards__text p:last-child{margin-bottom:0;}
@media(max-width:800px){.sn-block-cards--2 .sn-block-cards__grid,.sn-block-cards--3 .sn-block-cards__grid{grid-template-columns:1fr;max-width:480px;}}

/* 圖文並排 split */
.sn-block-split{padding:36px 20px;}
.sn-block-split__inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;}
.sn-block-split--right .sn-block-split__media{order:2;}
.sn-block-split__media{border-radius:18px;overflow:hidden;background:rgba(40,51,59,.05);aspect-ratio:4/3;}
.sn-block-split__media img{width:100%;height:100%;object-fit:cover;display:block;}
.sn-block-split__ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#0A6EB1;font-size:14px;border:2px dashed rgba(10,110,177,.3);cursor:pointer;}
.sn-block-split__title{font-size:24px;font-weight:700;margin:0 0 12px;color:var(--theme-palette-color-1,#28333B);}
.sn-block-split__text{font-size:15px;line-height:1.75;color:#555;}
.sn-block-split__text p{margin:0 0 .8em;}
.sn-block-split__text p:last-child{margin-bottom:0;}
.sn-block-split__btn{display:inline-block;margin-top:18px;background:var(--theme-palette-color-1,#0A6EB1);color:#fff;font-weight:600;padding:11px 28px;border-radius:999px;text-decoration:none;}
@media(max-width:760px){.sn-block-split__inner{grid-template-columns:1fr;gap:20px;}.sn-block-split--right .sn-block-split__media{order:0;}}

/* 單張卡片重設計（覆寫既有，較窄、大圓角、柔和陰影） */
.sn-block-card__inner{max-width:520px;border-radius:22px;box-shadow:0 8px 30px rgba(40,51,59,.10);}
.sn-block-card__body{padding:22px 24px;}
.sn-block-card__title{font-size:19px;}
.sn-block-card__btn{margin-top:18px;padding:11px 28px;}

/* 卡片按鈕 + 左圖右文排版（#11） */
.sn-block-cards__body{display:flex;flex-direction:column;}
.sn-block-cards__btn{display:inline-block;align-self:flex-start;margin-top:14px;background:var(--theme-palette-color-1,#0A6EB1);color:#fff;font-weight:600;padding:9px 22px;border-radius:999px;text-decoration:none;font-size:14px;}
.sn-block-cards--side .sn-block-cards__card{display:flex;align-items:stretch;}
.sn-block-cards--side .sn-block-cards__media{aspect-ratio:auto;width:42%;flex-shrink:0;}
.sn-block-cards--side .sn-block-cards__media img{height:100%;}
.sn-block-cards--side .sn-block-cards__body{flex:1;justify-content:center;}
@media(max-width:600px){.sn-block-cards--side .sn-block-cards__card{flex-direction:column;}.sn-block-cards--side .sn-block-cards__media{width:100%;aspect-ratio:16/10;}}

/* 圖庫（#9） */
.sn-block-gallery--4 .sn-block-gallery__grid{grid-template-columns:repeat(4,1fr);}
.sn-block-gallery__cell a{display:block;}
.sn-block-gallery--popup .sn-block-gallery__cell{cursor:zoom-in;}

/* Lightbox（#9）→ v2.35.0（C5）：原生 <dialog>（top layer，Escape/focus trap 原生處理）。
   刻意保留 position:fixed/inset/z-index 與元素自身深色底：讓「新 CSS＋舊快取 JS（div 版）」
   混用時仍是全螢幕覆蓋不破版；dialog 情境下 z-index 在 top layer 會被忽略，無副作用。 */
.sn-lightbox{position:fixed;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;margin:0;border:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:9999;padding:32px;cursor:zoom-out;}
.sn-lightbox::backdrop{background:rgba(0,0,0,.6);}
.sn-lightbox img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.sn-lightbox__close{position:absolute;top:20px;right:24px;background:rgba(255,255,255,.15);border:none;color:#fff;width:44px;height:44px;border-radius:50%;font-size:28px;cursor:pointer;line-height:1;}
.sn-lightbox__close:hover{background:rgba(255,255,255,.28);}
/* v2.54.0（各區塊#6）：燈箱群組左右切換＋計數 */
.sn-lightbox__nav{position:absolute;top:calc(50% - 24px);padding-bottom:4px;background:rgba(255,255,255,.15);border:none;color:#fff;width:48px;height:48px;border-radius:50%;font-size:30px;cursor:pointer;line-height:1;z-index:1;}/* v2.66.0（batch9#14）：照 slider v2.36.0 同法——‹› glyph 光學置中（padding-bottom 抬升）＋定位去 translateY */
.sn-lightbox__nav:hover{background:rgba(255,255,255,.28);}
.sn-lightbox__nav--prev{left:20px;}
.sn-lightbox__nav--next{right:20px;}
.sn-lightbox__count{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:#fff;font-size:14px;letter-spacing:2px;background:rgba(0,0,0,.35);padding:4px 14px;border-radius:999px;}
@media(max-width:689.98px){.sn-lightbox__nav{width:40px;height:40px;font-size:24px;top:calc(50% - 20px);}.sn-lightbox__nav--prev{left:8px;}.sn-lightbox__nav--next{right:8px;}}/* v2.66.0 fix（review P2）：top 公式隨 40px 高度同步，否則手機偏上 4px */

/* 圖片輪播（#10）→ v2.35.0（C3）：translateX/transition 改 CSS scroll-snap 基底（觸控原生免 JS） */
.sn-block-slider{position:relative;height:var(--sn-slider-h,480px);overflow:hidden;}
.sn-block-slider--hauto{height:auto;}
.sn-block-slider--hauto .sn-block-slider__track,.sn-block-slider--hauto .sn-block-slider__slide{height:auto;}
/* v2.53.0（首頁#2）：全空 placeholder 在自然高度模式撐不起（ph 的 height:100% 對 auto 父層解析成 auto
   → 塌到 22px 細條，要重新整理才正常）——全空時給 2:1 佔位（對齊 demo 自然比例 1290×645）。 */
.sn-block-slider--hauto.sn-block-slider--empty .sn-block-slider__slide{aspect-ratio:2/1;}
.sn-block-slider--hauto .sn-block-slider__slide img{height:auto;object-fit:fill;}
.sn-block-slider__track{display:flex;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;}
.sn-block-slider__track::-webkit-scrollbar{display:none;}
.sn-block-slider__slide{flex:0 0 100%;height:100%;position:relative;scroll-snap-align:start;}
.sn-block-slider__slide a,.sn-block-slider__slide img,.sn-block-slider__slide picture{display:block;width:100%;height:100%;object-fit:cover;}
/* v2.66.1（Charles item 21）：預覽/畫布模式雙圖切換——不靠 <picture> source 重選（部分瀏覽器 iframe 縮放不重跑 selection）。span 用 display:contents 讓內層 img 吃上方 slide img 規則； CSS media query 在 iframe 縮放一定重算，手機預覽穩定顯示手機圖。前台不出這組 class（維持 picture）。 */
.sn-slide-pc{display:contents;}
.sn-block-slider__slide .sn-slide-sp{display:none;}
@media(max-width:689.98px){.sn-slide-pc{display:none;}.sn-block-slider__slide .sn-slide-sp{display:block;}}
.sn-block-slider__ph{width:100%;height:100%;background:repeating-linear-gradient(45deg,rgba(123,97,255,.1),rgba(123,97,255,.1) 12px,transparent 12px,transparent 24px);display:flex;align-items:center;justify-content:center;color:#7B61FF;font-weight:500;}
/* 箭頭略往上（圓點 overlay 在下方，視覺重心偏低——2026-07-08 Charles）*/
.sn-block.sn-block-slider{margin-bottom:120px;}
.sn-block-slider__nav{position:absolute;top:calc(50% - 16px);padding-bottom:4px;background:rgba(0,0,0,.4);border:none;color:#fff;width:44px;height:44px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer;transition:background .2s;}
.sn-block-slider__nav:hover{background:rgba(0,0,0,.7);}
.sn-block-slider__nav--prev{left:16px;}
.sn-block-slider__nav--next{right:16px;}
.sn-block-slider__dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:8px;}
.sn-block-slider__dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.5);border:none;cursor:pointer;padding:0;transition:background .2s,transform .2s;}
.sn-block-slider__dot.is-active{background:#fff;transform:scale(1.2);}

/* 卡片版面:右圖左文 + 純文字（visual_select 擴充） */
.sn-block-cards--side-reverse .sn-block-cards__card{display:flex;align-items:stretch;flex-direction:row-reverse;}
.sn-block-cards--side-reverse .sn-block-cards__media{aspect-ratio:auto;width:42%;flex-shrink:0;}
.sn-block-cards--side-reverse .sn-block-cards__media img{height:100%;}
.sn-block-cards--side-reverse .sn-block-cards__body{flex:1;justify-content:center;}
.sn-block-cards--text-only .sn-block-cards__media{display:none;}
.sn-block-cards--text-only .sn-block-cards__body{padding:24px;}
@media(max-width:600px){.sn-block-cards--side-reverse .sn-block-cards__card{flex-direction:column;}.sn-block-cards--side-reverse .sn-block-cards__media{width:100%;aspect-ratio:16/10;}}

/* 圖文卡片 layout（top/side/side-reverse） */
.sn-block-card__inner{display:flex;flex-direction:column;overflow:hidden;border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.sn-block-card--side .sn-block-card__inner,.sn-block-card--side-reverse .sn-block-card__inner{flex-direction:row;align-items:stretch;}
.sn-block-card--side-reverse .sn-block-card__inner{flex-direction:row-reverse;}
.sn-block-card--side .sn-block-card__media,.sn-block-card--side-reverse .sn-block-card__media{width:42%;flex-shrink:0;}
.sn-block-card--side .sn-block-card__media img,.sn-block-card--side-reverse .sn-block-card__media img{width:100%;height:100%;object-fit:cover;display:block;}
.sn-block-card--side .sn-block-card__body,.sn-block-card--side-reverse .sn-block-card__body{flex:1;display:flex;flex-direction:column;justify-content:center;padding:24px;}
@media(max-width:600px){.sn-block-card--side .sn-block-card__inner,.sn-block-card--side-reverse .sn-block-card__inner{flex-direction:column;}.sn-block-card--side .sn-block-card__media,.sn-block-card--side-reverse .sn-block-card__media{width:100%;aspect-ratio:16/10;}}

/* 多欄卡片(cards)：CSS variable 響應式欄數 */
.sn-block-cards .sn-block-cards__grid{grid-template-columns:repeat(var(--cols-d,3),1fr);}
@media(max-width:600px){.sn-block-cards .sn-block-cards__grid{grid-template-columns:repeat(var(--cols-m,1),1fr);}}

/* 內容卡片縮圖（latest/featured posts/products）：v2.35.0（C1）bg-image → <img>。
   外框（aspect-ratio 等）在 team-feedback.php inline CSS；img 的 object-fit 已同步以
   inline style 帶在 template 輸出（涵蓋本檔未載入的 legacy 頁），此處為冗餘保險。 */
.sn-content-card__img{overflow:hidden;}
.sn-content-card__img img{width:100%;height:100%;object-fit:cover;display:block;}

/* 自訂 HTML block */
.sn-block-html{min-height:24px;}
.sn-block-html__ph{padding:24px;text-align:center;color:#4B5563;background:repeating-linear-gradient(45deg,rgba(75,85,99,.06),rgba(75,85,99,.06) 10px,transparent 10px,transparent 20px);border-radius:8px;font-size:14px;}

/* ── 多欄式（multicol）— 忠實重刻 GS 三欄式 sn_sec03（getComputedStyle 實測值，非猜測）：
   容器 1290px／gap 24px／圖 4:3／卡片 radius16 shadow 0 15px25px #00000012／
   標題 20px w700 lh1.5 ls2px tan／內文 14px lh1.8 ls1.28 #3e3a39／
   CTA 實心按鈕 bg palette-1 白字 6px24px w400 ls1.28 radius8 右對齊 ── */
/* multicol：對齊 demo getComputedStyle（2026-07-09 全站比對）——
   內容欄 1030 置中、節奏 120px、卡 br16（有圖）/br12+pad24（純文字）、
   img 比例變體 --r43（sec03 原型）/--r169（sec10/服務）/--rauto、
   CTA 兩型：button（bg palette 6px40 fs15）/ text（16px 箭頭字，sec03 原型）。 */
.sn-block-multicol{width:var(--theme-container-width,1290px);max-width:var(--theme-normal-container-max-width,1290px);margin:0 auto 120px;padding:0;}
.sn-block-multicol__head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 24px;}
.sn-block-multicol__heading{margin:0;font-size:28px;font-weight:700;line-height:1.5;letter-spacing:2.8px;color:#000;text-align:left;}
.sn-block-multicol__headbtn{display:inline-flex;align-items:center;background:var(--theme-palette-color-1,#333);color:#fff;font-size:15px;font-weight:400;letter-spacing:1.28px;line-height:1.8;padding:6px 40px;border-radius:8px;text-decoration:none;transition:background .5s,transform .5s;}
.sn-block-multicol__headbtn:hover{background:var(--theme-palette-color-2,#878787);transform:translateY(-4px);color:#fff;}
.sn-block-multicol__botwrap{display:none;margin-top:32px;justify-content:center;}
.sn-block-multicol--hcenter .sn-block-multicol__head{justify-content:center;}
.sn-block-multicol__grid{display:grid;gap:24px;}
.sn-block-multicol--d2 .sn-block-multicol__grid{grid-template-columns:repeat(2,1fr);}
.sn-block-multicol--d3 .sn-block-multicol__grid{grid-template-columns:repeat(3,1fr);}
.sn-block-multicol--d4 .sn-block-multicol__grid{grid-template-columns:repeat(4,1fr);}
.sn-block-multicol--d5 .sn-block-multicol__grid{grid-template-columns:repeat(5,1fr);}
.sn-block-multicol__card{display:flex;flex-direction:column;background:var(--theme-palette-color-8,#fff);border-radius:16px;overflow:hidden;box-shadow:0 15px 25px 0 rgba(0,0,0,.07);text-decoration:none;color:inherit;}
.sn-block-multicol__card--noimg{border-radius:12px;padding:24px;}
.sn-block-multicol__media{aspect-ratio:4/3;overflow:hidden;background:rgba(40,51,59,.05);}
.sn-block-multicol--r169 .sn-block-multicol__media{aspect-ratio:16/9;}
.sn-block-multicol--rauto .sn-block-multicol__media{aspect-ratio:auto;}
.sn-block-multicol__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.42,0,.58,1);}
.sn-block-multicol--rauto .sn-block-multicol__media img{height:auto;}
/* hover 政策（Charles 2026-07-09）：只上移 4px，不做圖片縮放/圓角變形特效 */
.sn-block-multicol__media--ph{display:flex;align-items:center;justify-content:center;color:#0A6EB1;font-size:14px;cursor:pointer;}
.sn-block-multicol__body{padding:32px 32px 24px;display:flex;flex-direction:column;flex:1;}
.sn-block-multicol--r169 .sn-block-multicol__body{padding:24px 24px 24px;}
.sn-block-multicol__card--noimg .sn-block-multicol__body{padding:0;}
.sn-block-multicol__title{font-size:20px;font-weight:700;line-height:1.5;letter-spacing:2px;margin:0 0 8px;color:#000;}
.sn-block-multicol--r169 .sn-block-multicol__title{margin-bottom:0;}
.sn-block-multicol__text{font-size:14px;line-height:1.8;letter-spacing:1.28px;color:#3e3a39;flex:1;margin:8px 0 24px;}
.sn-block-multicol__card--noimg .sn-block-multicol__text{font-size:15px;margin:0;}
.sn-block-multicol__text p{margin:0 0 1.5em;} /* GS 沿主題 content spacing（demo 實測 21px@fs14） */
.sn-block-multicol--ctatext .sn-block-multicol__text p:last-child{margin-bottom:0;} /* 三欄式原型：尾段不留距（demo 文字容器 151px 實測） */
/* CTA 實心按鈕（getComputedStyle 實測）*/
/* CTA button 型（sec10/服務原型）：滿寬實心鈕，文字 15px pad 6px40 */
.sn-block-multicol__cta{display:flex;align-items:center;justify-content:center;margin-top:auto;padding:6px 40px;border-radius:8px;background:var(--theme-palette-color-1,#333);color:#fff;font-size:15px;font-weight:400;letter-spacing:1.28px;line-height:1.8;text-decoration:none;transition:background .5s,transform .5s;}
/* v2.59.0（首頁#9）：連結移到 CTA 按鈕本身——hover 由按鈕自己觸發（整卡 <a> 已退場，selector 保留舊站快取相容） */
a.sn-block-multicol__cta:hover,a.sn-block-multicol__card:hover .sn-block-multicol__cta{background:var(--theme-palette-color-2,#878787);transform:translateY(-4px);color:#fff;}
/* CTA text 型（sec03 三欄式原型）：16px 箭頭文字連結，無底 */
.sn-block-multicol--ctatext .sn-block-multicol__cta{display:inline-flex;align-items:center;gap:6px;align-self:flex-end;margin-top:auto;padding:6px 24px;border-radius:8px;background:transparent;color:var(--theme-palette-color-1,#333);font-size:14px;}
.sn-block-multicol--ctatext .sn-block-multicol__cta::after{content:"→";}
.sn-block-multicol--ctatext a.sn-block-multicol__cta:hover,.sn-block-multicol--ctatext a.sn-block-multicol__card:hover .sn-block-multicol__cta{background:transparent;transform:translateY(-4px);color:var(--theme-palette-color-1,#333);}
/* RWD：對齊 demo GS 斷點（999.98／689.98）——16/9 型（服務）999 收 2 欄、
   4/3 型（三欄式）999 維持 3 欄；689 依 mobile_cols（預設 1 欄），gap 對齊 demo 64/80/20 */
@media(max-width:999.98px){
	.sn-block-multicol__head{justify-content:center;}
	.sn-block-multicol--d4 .sn-block-multicol__grid,.sn-block-multicol--d5 .sn-block-multicol__grid{grid-template-columns:repeat(3,1fr);}
	.sn-block-multicol--r169 .sn-block-multicol__grid{grid-template-columns:repeat(2,1fr);}
	.sn-block-multicol__grid{gap:20px;}
}
@media(max-width:689.98px){
	.sn-block-multicol--m1 .sn-block-multicol__grid{grid-template-columns:1fr;}
	.sn-block-multicol--m2 .sn-block-multicol__grid{grid-template-columns:repeat(2,1fr);}
	.sn-block-multicol--m1 .sn-block-multicol__grid{gap:64px;}
	.sn-block-multicol--r169.sn-block-multicol--m1 .sn-block-multicol__grid{gap:80px;}
	.sn-block-multicol--m2 .sn-block-multicol__grid{gap:20px;}
	.sn-block-multicol__card--noimg{}
	.sn-block-multicol--m1 .sn-block-multicol__grid:has(.sn-block-multicol__card--noimg){gap:20px;}
	.sn-block-multicol__heading{font-size:26px;}
	.sn-block-multicol__headbtn{display:none;}
	.sn-block-multicol__botwrap{display:flex;}
}

/* ── 主視覺（hero）— 整寬背景圖 + 遮罩 + 置中標題/說明（重刻自 sn_sec01，alignfull 滿版）── */
/* 100vw 突破內容容器（GS sec01 用 alignfull）；min-height 對齊 GS 400px */
.sn-block-hero{position:relative;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;margin-bottom:120px;min-height:400px;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;background-color:var(--theme-palette-color-1,#28333B);padding:90px 24px;overflow:hidden;box-sizing:border-box;}
.sn-block-hero::before{content:"";position:absolute;inset:0;pointer-events:none;}
.sn-block-hero--dark::before{background:var(--sn-hero-overlay,rgba(20,26,31,.5));}
.sn-block-hero--light::before{background:var(--sn-hero-overlay,rgba(255,255,255,.42));}
.sn-block-hero--none::before{background:var(--sn-hero-overlay,transparent);}
.sn-block-hero__inner{position:relative;z-index:1;width:750px;max-width:100%;text-align:center;display:flex;flex-direction:column;align-items:stretch;}
/* 文字色明確寫在 title/text（提高特異性，壓過主題的 h1/p 顏色——2026-07-08 修「顏色沒吃到」）*/
.sn-block-hero--dark .sn-block-hero__inner,.sn-block-hero--dark .sn-block-hero__title,.sn-block-hero--dark .sn-block-hero__text{color:#fff;}
.sn-block-hero--light .sn-block-hero__inner,.sn-block-hero--light .sn-block-hero__title,.sn-block-hero--light .sn-block-hero__text{color:#28333B;}
/* v2.64.0（第5項）：自訂文字色＝opt-in class（模板只在 text_color 有值才輸出 --hastx）——
   不能用 --none{color:var(--sn-hero-text,inherit)} 的 fallback 寫法：(0,2,0) 會壓過主題 h1 規則，
   既有 overlay=none 的站標題色會從主題色變 body 色（diff review P1 實證）。 */
.sn-block-hero--hastx .sn-block-hero__inner,.sn-block-hero--hastx .sn-block-hero__title,.sn-block-hero--hastx .sn-block-hero__text{color:var(--sn-hero-text,#fff);}
.sn-block-hero__title{font-size:42px;font-weight:700;line-height:1.5;letter-spacing:3.36px;margin:0 0 16px;}
.sn-block-hero__text{font-size:15px;line-height:1.8;letter-spacing:1.28px;margin:0;}
.sn-block-hero__text p{margin:0;}
@media(max-width:689.98px){.sn-block-hero{min-height:250px;}.sn-block-hero__title{font-size:28px;}}
.sn-block-hero__pickbg{align-self:center;margin-top:8px;border:2px dashed rgba(255,255,255,.6);background:rgba(0,0,0,.25);color:#fff;font-size:14px;padding:10px 22px;border-radius:8px;cursor:pointer;}

/* ── 圖文＋數據（imgstat）— 重刻自 sec02/sec04（getComputedStyle 實測）：
   圖正方 1/1 radius16／h2 28px w700 黑 ls2.8／內文 15px #3e3a39 lh1.8 ls1.28／
   數字：類別標題 24px 大、數值 16px 小（都 #3e3a39 w700 ls1.28）／CTA 實心 tan 6px40px w400 ── */
/* 三型（2026-07-09 demo 比對）：--plain＝sec02 透明滿欄（h2 25.6/圖 16:9）；
   非 plain＝sec04 白卡＋數據（h2 28/內文 14/圖自然比例）；--boxed＝sec11 白卡＋高 360 圖欄。 */
.sn-block-imgstat{width:var(--theme-container-width,1290px);max-width:var(--theme-normal-container-max-width,1290px);margin:0 auto 120px;padding:0;}
.sn-block-imgstat:not(.sn-block-imgstat--plain){background:var(--theme-palette-color-8,#fff);border-radius:16px;box-shadow:0 15px 25px 0 rgba(0,0,0,.07);padding:0;overflow:hidden;}
.sn-block-imgstat__inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}/* v2.72.2（Charles）：圖文區塊桌機 gap 32→64 */
/* v2.52.0（各區塊#10）：圖文區塊「右圖左文」——桌機把圖移到右欄；≤999.98 直排時圖回到上方 */
.sn-block-imgstat--rev .sn-block-imgstat__media{order:2;}
/* sec04 GS 原始幾何（native-sections.css 4c95ab6/693cd5b/e40c49d/d934729）：圖欄 40 文欄 60、pad 42/72 */
.sn-block-imgstat:not(.sn-block-imgstat--plain) .sn-block-imgstat__inner{grid-template-columns:2fr 3fr;gap:0;align-items:stretch;}
.sn-block-imgstat:not(.sn-block-imgstat--plain) .sn-block-imgstat__media{border-radius:0;}
.sn-block-imgstat:not(.sn-block-imgstat--plain) .sn-block-imgstat__media img{height:100%;border-radius:0;object-fit:cover;}
.sn-block-imgstat:not(.sn-block-imgstat--plain) .sn-block-imgstat__body{padding:42px 72px;justify-content:flex-start;gap:0;}
.sn-block-imgstat:not(.sn-block-imgstat--plain) .sn-block-imgstat__title{margin:0 0 12px;}
.sn-block-imgstat:not(.sn-block-imgstat--plain) .sn-block-imgstat__text{text-align:center;margin:0 0 42px;}
.sn-block-imgstat:not(.sn-block-imgstat--plain) .sn-block-imgstat__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0 0 42px;}
.sn-block-imgstat:not(.sn-block-imgstat--plain) .sn-block-imgstat__stat{align-items:center;}
.sn-block-imgstat:not(.sn-block-imgstat--plain) .sn-block-imgstat__btn{align-self:center;margin-top:0;}
/* 圖片：plain（sec02）強制 16/9；數據卡（sec04）自然比例（demo 圖為欄位背景，維持自然）；radius 16 */
.sn-block-imgstat__media{border-radius:16px;overflow:hidden;}
.sn-block-imgstat__media img{width:100%;height:auto;object-fit:cover;display:block;border-radius:16px;}
.sn-block-imgstat--plain .sn-block-imgstat__media img{aspect-ratio:16/9;height:auto;}
.sn-block-imgstat__ph{display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;color:#0A6EB1;font-size:14px;border:2px dashed rgba(10,110,177,.3);border-radius:16px;background:rgba(40,51,59,.05);cursor:pointer;}
.sn-block-imgstat__body{display:flex;flex-direction:column;gap:16px;}
.sn-block-imgstat__title{font-size:28px;font-weight:700;line-height:1.5;letter-spacing:2.8px;margin:0;color:#000;text-align:center;}
.sn-block-imgstat--plain .sn-block-imgstat__title,.sn-block-imgstat--boxed .sn-block-imgstat__title{text-align:left;}
.sn-block-imgstat--plain .sn-block-imgstat__title{font-size:25.6px;letter-spacing:2.56px;margin:0 0 16px;}
.sn-block-imgstat__text{font-size:16px;line-height:1.8;letter-spacing:1.28px;color:#3e3a39;}
.sn-block-imgstat:not(.sn-block-imgstat--plain) .sn-block-imgstat__text{font-size:14px;}
.sn-block-imgstat__text p{margin:0 0 .6em;}
.sn-block-imgstat--plain .sn-block-imgstat__text p{margin:0;}
.sn-block-imgstat__stats{display:flex;gap:40px;flex-wrap:wrap;margin:8px 0;}
.sn-block-imgstat__stat{display:flex;flex-direction:column;}
.sn-block-imgstat__lbl{font-size:24px;font-weight:700;line-height:1.4;color:#3e3a39;letter-spacing:1.28px;}
.sn-block-imgstat__num{font-size:16px;font-weight:700;color:#3e3a39;letter-spacing:1.28px;margin-top:2px;}
.sn-block-imgstat__btn{align-self:flex-start;margin-top:12px;background:var(--theme-palette-color-1,#333);color:#fff;font-weight:400;font-size:15px;letter-spacing:1.28px;padding:6px 40px;border-radius:8px;text-decoration:none;transition:background .5s,transform .5s;}
/* v2.66.0（batch9#20，Charles 明示）：hover 背景要真變色＋文字保持白——改回 palette-2＋color:#fff
   （color 必須明宣告，否則被 Blocksy a:hover 搶走變藍字）。歷史註記：v2.51.0 曾因「淺色 palette-2 站
   白字隱形」退回同色加深，但其他六顆按鈕（card/products/multicol/latest-posts…）一直是 palette-2＋白字
   ——本次對齊全站慣例；淺色 palette-2 的可讀性屬調色盤選擇問題，全站按鈕一致承擔。 */
.sn-block-imgstat__btn:hover{background:var(--theme-palette-color-2,#878787);color:#fff;transform:translateY(-4px);}
/* --boxed（sec11）：白卡包整塊、左圖欄高 360、右文 pad24、按鈕距 48 */
.sn-block-imgstat--boxed{background:var(--theme-palette-color-8,#fff);border-radius:16px;box-shadow:0 15px 25px rgba(0,0,0,.1);overflow:hidden;padding:0;}
.sn-block-imgstat--boxed .sn-block-imgstat__inner{gap:32px;align-items:stretch;}
.sn-block-imgstat--boxed .sn-block-imgstat__media{border-radius:0;}
.sn-block-imgstat--boxed .sn-block-imgstat__media{height:360px;overflow:hidden;}
.sn-block-imgstat--boxed .sn-block-imgstat__media img{aspect-ratio:auto;width:100%;height:100%;min-height:0;object-fit:cover;border-radius:0;}
.sn-block-imgstat--boxed .sn-block-imgstat__body{padding:24px;justify-content:center;gap:0;}/* v2.72.0（batch10#1）：左邊補 24px，四邊一致 */
.sn-block-imgstat--boxed .sn-block-imgstat__title{margin:0 0 24px;}
.sn-block-imgstat--boxed .sn-block-imgstat__btn{margin-top:48px;}
@media(max-width:999.98px){
	.sn-block-imgstat__inner{grid-template-columns:1fr;gap:32px;}/* v2.72.2（Charles）：圖文區塊手機 gap 32px */
	.sn-block-imgstat--rev .sn-block-imgstat__media{order:0;} /* 直排時圖回到上方 */
	/* Charles 2026-07-09：數據卡手機改「上下堆疊＋置中」——基底 2fr/3fr 權重較高，需同權重覆寫 */
	.sn-block-imgstat:not(.sn-block-imgstat--plain) .sn-block-imgstat__inner{grid-template-columns:1fr;gap:0;}
	.sn-block-imgstat:not(.sn-block-imgstat--plain) .sn-block-imgstat__media{height:200px;}
	.sn-block-imgstat:not(.sn-block-imgstat--plain) .sn-block-imgstat__media img{height:200px;}
	.sn-block-imgstat:not(.sn-block-imgstat--plain) .sn-block-imgstat__body{align-items:center;text-align:center;}
	.sn-block-imgstat--boxed .sn-block-imgstat__body{padding:24px;}
}
@media(max-width:689.98px){
	.sn-block-imgstat__title{font-size:26px!important;letter-spacing:2.6px;}
	.sn-block-imgstat--plain .sn-block-imgstat__title{font-size:23.2px!important;letter-spacing:2.32px;}
	.sn-block-imgstat__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px;}
	.sn-block-imgstat__lbl{font-size:18px;} /* Charles 2026-07-10：手機版數據類別標題 24→18px */
	.sn-block-imgstat--boxed .sn-block-imgstat__media{height:180px;}
	.sn-block-imgstat:not(.sn-block-imgstat--plain) .sn-block-imgstat__body{padding:32px 16px;}
	.sn-block-imgstat:not(.sn-block-imgstat--plain) .sn-block-imgstat__media,.sn-block-imgstat:not(.sn-block-imgstat--plain) .sn-block-imgstat__media img{height:150px;}
}

/* ── 商城商品（products）— WooCommerce [products] 包裝 ── */
/* 疊 .sn-block 提高 specificity：WP is-layout-constrained 的 margin-block-end 邏輯屬性會蓋過 0-1-0 的 margin-bottom（2026-07-09 dev 實測） */
.sn-block.sn-block-products{padding:0;width:var(--theme-container-width,1290px);max-width:var(--theme-normal-container-max-width,1290px);margin:0 auto 120px;}
.sn-block.sn-block-latest-posts{width:var(--theme-container-width,1290px);max-width:var(--theme-normal-container-max-width,1290px);margin:0 auto 120px;}
/* 最新文章版頭：標題左＋按鈕右上（demo 1440 實測）；手機頂鈕隱藏、底鈕置中 */
.sn-block-latest-posts__head{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:32px;gap:12px;}
.sn-block-latest-posts__heading{font-size:28px;font-weight:700;line-height:1.5;letter-spacing:2.8px;color:#000;margin:0;text-align:left;}
.sn-block-latest-posts__btn{display:inline-flex;align-items:center;background:var(--theme-palette-color-1,#333);color:#fff;font-size:15px;font-weight:400;letter-spacing:1.28px;line-height:1.8;padding:6px 40px;border-radius:8px;text-decoration:none;transition:background .5s,transform .5s;}
.sn-block-latest-posts__btn:hover{background:var(--theme-palette-color-2,#878787);transform:translateY(-4px);color:#fff;}
.sn-block-latest-posts__botwrap{display:none;margin-top:32px;justify-content:center;}
@media(max-width:999.98px){
	.sn-block-latest-posts__head{justify-content:center;}
}
@media(max-width:689.98px){
	.sn-block-latest-posts__topbtn{display:none;}
	.sn-block-latest-posts__botwrap{display:flex;}
	.sn-block-latest-posts__heading{font-size:26px;}
}
.sn-block-products__notice{padding:24px;text-align:center;color:#7F54B3;background:rgba(127,84,179,.06);border:2px dashed rgba(127,84,179,.3);border-radius:12px;font-size:14px;}
/* v2.38.0（item 9）：商城版頭比照最新文章——標題左上＋按鈕右上；手機頂鈕隱藏、底鈕置中 */
.sn-block-products__head{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:32px;gap:12px;}
.sn-block-products__heading{font-size:28px;font-weight:700;line-height:1.5;letter-spacing:2.8px;color:#000;margin:0;text-align:left;}
.sn-block-products__btn{display:inline-flex;align-items:center;background:var(--theme-palette-color-1,#333);color:#fff;font-size:15px;font-weight:400;letter-spacing:1.28px;line-height:1.8;padding:6px 40px;border-radius:8px;text-decoration:none;transition:background .5s,transform .5s;}
.sn-block-products__btn:hover{background:var(--theme-palette-color-2,#878787);transform:translateY(-4px);color:#fff;}
.sn-block-products__botwrap{display:none;margin-top:32px;justify-content:center;}
@media(max-width:999.98px){.sn-block-products__head{justify-content:center;}}
@media(max-width:689.98px){.sn-block-products__topbtn{display:none;}.sn-block-products__botwrap{display:flex;}.sn-block-products__heading{font-size:26px;}}

/* v2.38.0（item 12）：卡片輪播箭頭（native-blocks.js 的 initCardsSlider 動態建；latest_products/featured_* 用；
   team/feedback 另有一份同款在 team-feedback.php 內聯 CSS，因其頁面不載入 native-blocks.css） */
.sn-cards-slider-wrap{position:relative;}
.sn-cards-slider__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:40px;height:40px;border:none;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;padding:0;}
.sn-cards-slider__nav:hover{background:rgba(0,0,0,.7);}
.sn-cards-slider__nav--prev{left:4px;}
.sn-cards-slider__nav--next{right:4px;}
@media(max-width:689.98px){.sn-cards-slider__nav{width:34px;height:34px;font-size:20px;}}

/* v2.59.1（各區塊#8）：paginate=true 連帶 fire shop loop hooks，多出結果計數與排序下拉——商城區塊內藏掉；
   分頁 nav 由 Blocksy 蓋成 .ct-pagination（主題自帶樣式），不需自定義 */
.sn-block-products .woocommerce-result-count,.sn-block-products .woocommerce-ordering{display:none;}

/* item 5（v2.39.0）：主內容區塊「與下方區塊間距」。render 端包 .sn-block-mbwrap（display:contents）
   帶 --sn-block-mb 變數，內層 .sn-block 讀它當底距（預設 120、欄位可調）。放檔尾以 source-order 壓過
   各 block 自帶的 margin:0 auto 120px（同 0-2-0）。每個主內容區塊（含最後一個）底距因此一致。 */
.sn-block-mbwrap{display:contents;}
.sn-block-mbwrap>.sn-block{margin-bottom:var(--sn-block-mb,120px);}

/* ===== 圖文清單（sec05）：左圖右文 + 主標題 + 小標題／說明清單（2026-07-09 demo 比對）===== */
.sn-block-imgtextlist{width:var(--theme-container-width,1290px);max-width:var(--theme-normal-container-max-width,1290px);margin:0 auto 120px;padding:0;}
.sn-block-imgtextlist__inner{display:flex;flex-wrap:wrap;gap:32px;align-items:center;}/* v2.66.0（batch9#6）：兩欄 gap 90→32（含服務項目） */
.sn-block-imgtextlist__media{flex:1 1 320px;min-width:0;}
.sn-block-imgtextlist__media img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:16px;display:block;}
.sn-block-imgtextlist__ph{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;background:#f1f3f5;border:2px dashed #c9ced4;border-radius:16px;color:#868e96;cursor:pointer;}
.sn-block-imgtextlist__body{flex:1 1 320px;min-width:0;}
.sn-block-imgtextlist__heading{font-size:28px;font-weight:700;letter-spacing:2.8px;margin:0 0 28px;color:#000;line-height:1.5;}
.sn-block-imgtextlist__list{display:grid;grid-template-columns:1fr;gap:32px;}
.sn-block-imgtextlist__item-title{font-size:20px;font-weight:700;letter-spacing:2px;margin:0 0 8px;color:#000;}
.sn-block-imgtextlist__item-text{font-size:15px;line-height:1.8;letter-spacing:1.28px;color:#3e3a39;}
.sn-block-imgtextlist__item-text p{margin:0;}
@media(max-width:999.98px){.sn-block-imgtextlist__inner{gap:32px;}.sn-block-imgtextlist__media,.sn-block-imgtextlist__body{flex-basis:100%;}}
@media(max-width:689.98px){.sn-block-imgtextlist__heading{font-size:26px;}.sn-block-imgtextlist__list{gap:20px;}.sn-block-imgtextlist__media img{height:auto;}}

/* ===== 多圖圖庫（sec07）：白卡 + 多欄圖片網格（2026-07-09 demo 比對：12 欄／間距 20／手機 999→3、689→4）===== */
.sn-block-photostrip{width:var(--theme-container-width,1290px);max-width:var(--theme-normal-container-max-width,1290px);margin:0 auto 120px;padding:24px;background:var(--theme-palette-color-8,#fff);box-shadow:0 15px 25px 0 #00000012;border-radius:16px;}
.sn-block-photostrip__grid{display:grid;gap:20px;}
.sn-block-photostrip--c3 .sn-block-photostrip__grid{grid-template-columns:repeat(3,1fr);}
.sn-block-photostrip--c4 .sn-block-photostrip__grid{grid-template-columns:repeat(4,1fr);}
.sn-block-photostrip--c5 .sn-block-photostrip__grid{grid-template-columns:repeat(5,1fr);}
.sn-block-photostrip--c6 .sn-block-photostrip__grid{grid-template-columns:repeat(6,1fr);}
.sn-block-photostrip--c8 .sn-block-photostrip__grid{grid-template-columns:repeat(8,1fr);}
.sn-block-photostrip--c10 .sn-block-photostrip__grid{grid-template-columns:repeat(10,1fr);}
.sn-block-photostrip--c12 .sn-block-photostrip__grid{grid-template-columns:repeat(12,1fr);}
.sn-block-photostrip__cell{aspect-ratio:1/1;}
.sn-block-photostrip__cell img{width:100%;height:100%;object-fit:cover;display:block;}
.sn-block-photostrip__ph{display:flex;align-items:center;justify-content:center;background:#f1f3f5;border:2px dashed #c9ced4;color:#868e96;cursor:pointer;font-size:13px;}
@media(max-width:999.98px){.sn-block-photostrip__grid{grid-template-columns:repeat(3,1fr)!important;}}
@media(max-width:689.98px){.sn-block-photostrip__grid{grid-template-columns:repeat(4,1fr)!important;}}

/* ===== 人物卡片（sec08）：標題 + 圓頭像卡片網格（2026-07-09 demo 比對）===== */
/* v2.55.0（關於#4）：卡片本體改用團隊頁同款 sn-card-team 樣式（inline CSS 由 team-feedback.php 供給，
   sn_engine_page_layout_has_cards_block targets 已含 profile_cards）；此處只留 root 寬度與區塊標題。 */
.sn-block-profile{width:var(--theme-container-width,1290px);max-width:var(--theme-normal-container-max-width,1290px);margin:0 auto 120px;padding:0;}
.sn-block-profile__heading{font-size:28px;font-weight:700;letter-spacing:2.8px;text-align:center;margin:0 0 24px;color:#000;line-height:1.5;}
.sn-block-profile--left .sn-block-profile__heading{text-align:left;}
@media(max-width:689.98px){.sn-block-profile__heading{font-size:26px;}}

/* ===== 聯絡表單區（sec12）：窄欄 654 置中（2026-07-09 demo 比對：無白卡無遮罩；
   背景圖改為上方橫幅，有設才顯示；預約與表單間距 54px 由內容自帶）===== */
.sn-block-contact{max-width:654px;margin:0 auto 60px;padding:0;background:transparent;}
.sn-block-contact__banner{height:220px;background-size:cover;background-position:center;border-radius:16px;margin-bottom:32px;}
.sn-block-contact__inner{position:relative;}
.sn-block-contact__text{font-size:16px;line-height:1.8;letter-spacing:1.28px;color:#3e3a39;text-align:center;margin-bottom:32px;}
.sn-block-contact__text p{margin:0 0 12px;}
.sn-block-contact__form{margin:0 auto;}
.sn-block-contact__booking{margin-bottom:54px;} /* demo 預約→表單間距 */
.sn-block-contact__formtitle{font-size:24px;font-weight:700;letter-spacing:2.4px;color:#000;margin:0 0 24px;}
.sn-block-contact__formhint,.sn-block-contact__mediahint{padding:16px;text-align:center;color:#0A6EB1;background:rgba(10,110,177,.06);border:2px dashed rgba(10,110,177,.3);border-radius:12px;font-size:14px;cursor:pointer;margin-bottom:16px;}
@media(max-width:689.98px){.sn-block-contact__banner{height:140px;}}

/* v2.56.0（聯絡#4）：預約行事曆／聯絡表單獨立區塊——沿 contact 窄版排版（654 內欄） */
.sn-block-booking,.sn-block-form{max-width:654px;margin:0 auto 60px;padding:0;background:transparent;}
.sn-block-booking .fluent_booking_wrap{padding-top:0;} /* 對齊 demo 舊 wp:html 樣式 */
.sn-block-form__title{font-size:24px;font-weight:700;letter-spacing:2.4px;color:#000;margin:0 0 24px;}
.sn-block-booking__hint,.sn-block-form__hint{padding:16px;text-align:center;color:#0A6EB1;background:rgba(10,110,177,.06);border:2px dashed rgba(10,110,177,.3);border-radius:12px;font-size:14px;}

/* ===== 自訂 HTML 的「客製化白卡」包裝（sec09 遷移產物；一般自訂 HTML 不套）===== */
.sn-block-html__card{width:var(--theme-container-width,1290px);max-width:var(--theme-normal-container-max-width,1290px);margin:0 auto 60px;background:var(--theme-palette-color-8,#fff);border-radius:16px;padding:48px 28px;text-align:center;font-size:16px;line-height:1.8;letter-spacing:1.28px;color:#3e3a39;}
.sn-block-html__card p{margin:0 0 .8em;}
.sn-block-html__card p:last-child{margin-bottom:0;}

/* ===== 最新文章 GS 卡片（自 native-sections.css re-scope，v2.36.5）＝demo 像素同款 ===== */
.sn-block-latest-posts .gspb_id-gsbp-8a775aa .gspb_meta_value>.gspb_meta_result_tags>span .wp-block a, .sn-block-latest-posts .gspb_id-gsbp-8a775aa .gspb_meta_value>.gspb_meta_result_tags>span a{color:var(--wp--preset--color--palette-color-8, var(--theme-palette-color-8, #ffffff))}
.sn-block-latest-posts .gspbgrid_id-gsbp-6ab4395 .wp-block-post-template:before{display:none!important}
.sn-block-latest-posts .gspbgrid_id-gsbp-6ab4395 .wp-block-post-template>*{width:100%!important}
.sn-block-latest-posts body .gspb_id-gsbp-c0f151d h3.gspb-dynamic-title-element .wp-block a:hover, .sn-block-latest-posts body .gspb_id-gsbp-c0f151d h3.gspb-dynamic-title-element a:hover{color:var(--wp--preset--color--palette-color-1, var(--theme-palette-color-1, #333333))}
.sn-block-latest-posts .gspb_id-gsbp-8a775aa .gspb_meta_value>.gspb_meta_result_tags>span{background-color:var(--wp--preset--color--palette-color-1, var(--theme-palette-color-1, #333333))}
.sn-block-latest-posts .gspbgrid_id-gsbp-6ab4395 .wp-block-post-template{list-style:none;margin:0;padding:0}
.sn-block-latest-posts .gspbgrid_id-gsbp-6ab4395 .wp-block-post-template>.gspbgrid_item{overflow:hidden;border-top-left-radius:16px;border-top-right-radius:16px;border-bottom-right-radius:16px;border-bottom-left-radius:16px;border-style:solid;border-width:1px;border-color:#7d7d7d2b;background-color:var(--wp--preset--color--palette-color-8, var(--theme-palette-color-8, #ffffff))}
.sn-block-latest-posts .gspbgrid_id-gsbp-6ab4395 .wp-block-post-template{display:grid;grid-template-columns:repeat(3,1fr)}
.sn-block-latest-posts .gspbgrid_id-gsbp-6ab4395 .wp-block-post-template{gap:20px}
.sn-block-latest-posts .gspbgrid_id-gsbp-6ab4395 .gspbgrid_item{position:relative}
.sn-block-latest-posts .gsbp-7cae32d{padding:24px}
.sn-block-latest-posts .gspb_id-gsbp-b57ddc4{display:flex;align-items:center}
.sn-block-latest-posts .gspb_id-gsbp-b57ddc4 .gspb_meta_value{font-size:12px}
.sn-block-latest-posts .gspb_id-gsbp-c0f151d h3.gspb-dynamic-title-element{margin-top:4px;margin-bottom:16px}
.sn-block-latest-posts body .gspb_id-gsbp-c0f151d h3.gspb-dynamic-title-element{font-size:20px}
.sn-block-latest-posts body .gspb_id-gsbp-c0f151d h3.gspb-dynamic-title-element .wp-block a, .sn-block-latest-posts body .gspb_id-gsbp-c0f151d h3.gspb-dynamic-title-element a{color:var(--wp--preset--color--palette-color-4, var(--theme-palette-color-4, #000000))}
.sn-block-latest-posts .gspb_id-gsbp-8a775aa{display:flex}
.sn-block-latest-posts .gspb_id-gsbp-c0f151d{display:flex;align-items:center}
.sn-block-latest-posts .gspb_id-gsbp-8a775aa{align-items:center;margin-top:16px}
.sn-block-latest-posts body .gspb_id-gsbp-8a775aa .gspb_meta_value>.gspb_meta_result_tags{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;row-gap:4px;column-gap:4px}
.sn-block-latest-posts .gspb_id-gsbp-8a775aa .gspb_meta_value>.gspb_meta_result_tags>span{padding:1px 8px}
.sn-block-latest-posts .gspb_id-gsbp-8a775aa .gspb_meta_value>.gspb_meta_result_tags>span:hover{background-color:var(--wp--preset--color--palette-color-2, var(--theme-palette-color-2, #878787))}
.sn-block-latest-posts .gspb_id-gsbp-8a775aa .gspb_meta_value>.gspb_meta_result_tags>span{border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;font-size:12px}
.sn-block-latest-posts .gspb_id-gsbp-8a775aa .gspb_meta_value>.gspb_meta_result_tags>span>a{height:100%;display:inline-block;text-decoration:none}
.sn-block-latest-posts .gspb_id-gsbp-8a775aa .gspb_meta_value>.gspb_meta_result_tags>span{color:var(--wp--preset--color--palette-color-8, var(--theme-palette-color-8, #ffffff))}
@media (max-width: 999.98px) {
	.sn-block-latest-posts .gspbgrid_id-gsbp-6ab4395 .wp-block-post-template>.gspbgrid_item{background-color:var(--wp--preset--color--palette-color-8, var(--theme-palette-color-8, #ffffff))}
}
@media (max-width: 689.98px) {
	.sn-block-latest-posts .gspbgrid_id-gsbp-6ab4395 .wp-block-post-template>.gspbgrid_item{background-color:var(--wp--preset--color--palette-color-8, var(--theme-palette-color-8, #ffffff))}
	.sn-block-latest-posts .gspbgrid_id-gsbp-6ab4395 .wp-block-post-template>.gspbgrid_item{background-color:var(--wp--preset--color--palette-color-8, var(--theme-palette-color-8, #ffffff))}
}
@media (max-width: 999.98px) {
	.sn-block-latest-posts .gspbgrid_id-gsbp-6ab4395 .wp-block-post-template{grid-template-columns:repeat(3,1fr)}
}
@media (max-width: 689.98px) {
	.sn-block-latest-posts .gspbgrid_id-gsbp-6ab4395 .wp-block-post-template{grid-template-columns:repeat(2,1fr)}
	.sn-block-latest-posts .gspbgrid_id-gsbp-6ab4395 .wp-block-post-template{grid-template-columns:repeat(1,1fr)}
}
@media (max-width: 999.98px) {
	.sn-block-latest-posts .gspbgrid_id-gsbp-6ab4395 .wp-block-post-template{gap:20px}
}
@media (max-width: 689.98px) {
	.sn-block-latest-posts .gspbgrid_id-gsbp-6ab4395 .wp-block-post-template{gap:20px}
	.sn-block-latest-posts .gspbgrid_id-gsbp-6ab4395 .wp-block-post-template{gap:20px}
	.sn-block-latest-posts body .gspb_id-gsbp-c0f151d h3.gspb-dynamic-title-element{font-size:18px}
}
@media (max-width: 999.98px) {
	.sn-block-latest-posts .gspb_id-gsbp-8a775aa .gspb_meta_value>.gspb_meta_result_tags>span{background-color:var(--wp--preset--color--palette-color-1, var(--theme-palette-color-1, #333333))}
}
@media (max-width: 689.98px) {
	.sn-block-latest-posts .gspb_id-gsbp-8a775aa .gspb_meta_value>.gspb_meta_result_tags>span{background-color:var(--wp--preset--color--palette-color-1, var(--theme-palette-color-1, #333333))}
	.sn-block-latest-posts .gspb_id-gsbp-8a775aa .gspb_meta_value>.gspb_meta_result_tags>span{background-color:var(--wp--preset--color--palette-color-1, var(--theme-palette-color-1, #333333))}
}
@media (max-width: 999.98px) {
	.sn-block-latest-posts .gspb_id-gsbp-8a775aa .gspb_meta_value>.gspb_meta_result_tags>span:hover{background-color:var(--wp--preset--color--palette-color-2, var(--theme-palette-color-2, #878787))}
}
@media (max-width: 689.98px) {
	.sn-block-latest-posts .gspb_id-gsbp-8a775aa .gspb_meta_value>.gspb_meta_result_tags>span:hover{background-color:var(--wp--preset--color--palette-color-2, var(--theme-palette-color-2, #878787))}
	.sn-block-latest-posts .gspb_id-gsbp-8a775aa .gspb_meta_value>.gspb_meta_result_tags>span:hover{background-color:var(--wp--preset--color--palette-color-2, var(--theme-palette-color-2, #878787))}
}

/* ── v2.64.0（第4項）：全區塊「顯示寬度」級距 ──────────────────────────
   根層通用 modifier（照圖片區塊 breakout 模式）。w1290＝容器模式現狀，不需規則；
   放檔尾讓級距規則在 cascade 後段壓過各區塊自身的容器規則（同特異性後者勝）。 */
.sn-block--w1000,.sn-block--w900,.sn-block--w750{margin-left:auto;margin-right:auto;}
.sn-block--w1000{max-width:1000px;}
.sn-block--w900{max-width:900px;}
.sn-block--w750{max-width:750px;}
.sn-block--wfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;}
/* 標題／分隔線：寬度掛內欄（root 維持容器模式）。w750＝現狀基準（內欄 760 視覺近似）不出規則、
   置左/右對齊規則（特異性 0,3,0）仍壓過寬度（0,2,0）——既有站零位移。 */
.sn-block-heading--w900 .sn-block-heading__inner{max-width:900px;}
.sn-block-heading--w1000 .sn-block-heading__inner{max-width:1000px;}
.sn-block-heading--w1290 .sn-block-heading__inner{max-width:none;}
.sn-block-heading--wfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding:0 24px;box-sizing:border-box;}
.sn-block-heading--wfull .sn-block-heading__inner{max-width:none;}
.sn-block-divider--w900 .sn-block-divider__hr{max-width:900px;}
.sn-block-divider--w1000 .sn-block-divider__hr{max-width:1000px;}
.sn-block-divider--w1290 .sn-block-divider__hr{max-width:none;}
.sn-block-divider--wfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;}
.sn-block-divider--wfull .sn-block-divider__hr{max-width:none;}
/* v2.66.0（batch9#19）：slider 根層是唯一沒有 1290 容器規則的區塊（歷史上是滿版橫幅）——
   明確選「頁面寬」時補容器規則；meta 未設不輸出此 class（slider.php 區分 explicit/absent），既有滿版 slider 零位移 */
.sn-block-slider--w1290{width:var(--theme-container-width,1290px);max-width:var(--theme-normal-container-max-width,1290px);margin-left:auto;margin-right:auto;}
/* 多圖圖庫滿版：白卡貼齊視窗去圓角（照 image--wfull 去圓角先例） */
.sn-block-photostrip--wfull{border-radius:0;}
