/* 印刷商城前台樣式 */
/* 自託管 Noto Sans TC:只用 Regular(400)+ SemiBold(600)兩個字重,統一全站字型 */
@font-face{font-family:"Noto Sans TC";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/NotoSansTC-Regular.woff2) format("woff2")}
@font-face{font-family:"Noto Sans TC";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/NotoSansTC-SemiBold.woff2) format("woff2")}
:root{ --ps-accent:#2271b1; --ps-ink:#1d2327; --ps-line:#e3e5e8; --ps-muted:#646970; }
*{box-sizing:border-box}
[hidden]{display:none!important}  /* class 的 display 會蓋過預設 [hidden],統一強制隱藏(發票面板切換等靠它) */
body.print-shop{margin:0;font-family:"Noto Sans TC",-apple-system,"Segoe UI","Microsoft JhengHei",sans-serif;color:var(--ps-ink);background:#f6f7f9;line-height:1.6;font-synthesis-weight:none}
/* 只自託管 400/600 兩個字重:粗體一律真 600 SemiBold;>600 的(標題/價格)交給瀏覽器配到 600,font-synthesis-weight:none 避免假粗 */
.print-shop b,.print-shop strong{font-weight:600}
a{color:var(--ps-accent);text-decoration:none}
.ps-header{background:#fff;border-bottom:1px solid var(--ps-line);position:sticky;top:0;z-index:50}
.ps-header__in{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:20px;padding:14px 20px}
.ps-logo{font-size:22px;font-weight:700;color:var(--ps-ink);display:inline-flex;align-items:center}
.ps-logo__img{display:block;height:40px;width:auto;max-width:220px;object-fit:contain}
.ps-nav{display:flex;gap:16px;align-items:center;flex:1}
.ps-menu{display:flex;gap:16px;list-style:none;margin:0;padding:0}
.ps-navlink,.ps-menu a{color:var(--ps-ink);font-size:16px}
.ps-actions{display:flex;gap:16px;align-items:center}
.ps-act{font-size:16px;color:var(--ps-ink);position:relative}
.ps-cart-count{display:inline-block;min-width:20px;padding:0 6px;margin-left:4px;background:var(--ps-accent);color:#fff;border-radius:999px;font-size:16px;text-align:center}
.ps-main{min-height:calc(100vh - var(--ps-header-h,56px))}
.ps-wrap{max-width:1180px;margin:0 auto;padding:24px 20px}
.ps-title{font-size:26px;margin:0 0 20px}
.ps-loading,.ps-empty{color:var(--ps-muted);font-size:17px;padding:30px 0}
.ps-ok{background:#edf7ed;border:1px solid #b6e0b6;color:#1d6b1d;padding:12px 16px;border-radius:8px;font-size:16px}
.ps-bad{color:#b32d2e}
/* —— 履約:訂單狀態橫幅 / 待辦 / 審稿補件(立體風格,字≥16px)—— */
.ps-todo{color:var(--pg-accent,#ff6a3d);font-weight:600;font-size:16px}
.ps-revbox{margin:0 0 22px;border:1px solid var(--ps-line);border-left:4px solid var(--pg-accent,#ff6a3d);border-radius:12px;background:#fff8f4;padding:16px 18px;box-shadow:0 1px 0 rgba(0,0,0,.04),0 6px 18px rgba(0,0,0,.06)}
.ps-revbox__hd{font-size:18px;font-weight:600;color:#c2410c;margin-bottom:6px}
.ps-revbox__note{font-size:16px;color:var(--ps-muted);margin:0}
.ps-rv{display:inline-block;font-size:16px;font-weight:600;padding:2px 10px;border-radius:999px;vertical-align:middle}
.ps-rv--ok{background:#e6f4ea;color:#0a7c3a}.ps-rv--wait{background:#eef4fb;color:#2271b1}.ps-rv--bad{background:#fde8e8;color:#b32d2e}
.ps-row-rej>td{background:#fff7f6}
.ps-redo{margin-top:12px;padding:14px;border:1px dashed var(--pg-accent,#ff6a3d);border-radius:12px;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.04)}
.ps-redo__why{font-size:16px;color:var(--ps-ink);margin-bottom:10px}.ps-redo__why b{color:#b32d2e}
.ps-redo input[type=file]{font-size:16px}
.ps-co-file{font-size:16px;color:var(--ps-muted);margin-top:3px}
.ps-track{margin:0 0 18px;border:1px solid var(--ps-line);border-radius:12px;background:#eef4fb;padding:14px 16px;box-shadow:0 1px 0 rgba(0,0,0,.04)}
.ps-track__hd{font-size:16px;font-weight:600;color:#2271b1;margin-bottom:8px}
.ps-track__row{display:flex;justify-content:space-between;gap:12px;font-size:16px;padding:4px 0;font-variant-numeric:tabular-nums}
.ps-track__row b{font-weight:600;letter-spacing:.3px}
.ps-paycode--exp{border-color:#e4b6b6 !important;background:#fff5f5 !important}
.ps-paycode--exp .ps-paycode__hd{color:#b32d2e}
/* 收件地址:縣市/區 下拉 + 詳細 */
.ps-addr{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ps-addr__city,.ps-addr__dist{font-size:16px;padding:9px 8px;border:1px solid var(--ps-line);border-radius:8px;background:#fff;color:var(--ps-ink)}
.ps-addr__detail{grid-column:1 / -1;font-size:16px;padding:9px 10px;border:1px solid var(--ps-line);border-radius:8px}

/* 商品列表 */
.ps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.ps-related{margin-top:8px;margin-bottom:32px}
.ps-related .ps-pd-h{margin-bottom:16px}
.ps-viewbar{display:flex;justify-content:flex-end;gap:8px;margin:0 0 16px}
.ps-viewbtn{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--ps-line);border-radius:8px;background:#fff;color:var(--ps-muted);cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.ps-viewbtn:hover{border-color:var(--ps-accent)}
.ps-viewbtn.is-active{background:var(--pg-blue,#2271b1);border-color:var(--pg-blue,#2271b1);color:#fff}
.ps-grid--list{display:block}
.ps-grid--list .ps-card{display:flex;align-items:stretch;gap:28px;padding:12px}
.ps-grid--list .ps-card+.ps-card{margin-top:12px}
/* 圖片填滿項目高度(隨文字高度伸展,object-fit:cover 不變形) */
.ps-grid--list .ps-card__img{width:120px;flex:0 0 120px;border-radius:8px;aspect-ratio:auto;align-self:stretch;min-height:96px}
.ps-grid--list .ps-card__body{flex:1 1 auto;min-width:0}
.ps-grid--list .ps-card__name{padding:0;font-size:18px}
.ps-grid--list .ps-card__price,.ps-grid--list .ps-card__price--ask{flex:0 0 auto;padding:0}
.ps-grid--list .ps-card__foot{flex:0 0 auto;flex-direction:column;align-items:flex-end;justify-content:center;align-self:center;gap:4px;padding:0}
.ps-grid--list .ps-card__meta{justify-content:flex-end;text-align:right}
.ps-card__desc{margin:0;padding:0 14px 12px;font-size:16px;font-weight:400;color:var(--ps-muted);line-height:1.6}
.ps-grid--list .ps-card__desc{padding:4px 0 0}
.ps-card{background:#fff;border:1px solid var(--ps-line);border-radius:12px;overflow:hidden;display:block;transition:box-shadow .15s,transform .15s}
.ps-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.08);transform:translateY(-2px)}
.ps-card__img{position:relative;aspect-ratio:1/1;background:#f0f1f3;display:flex;align-items:center;justify-content:center;overflow:hidden}
/* 商品標籤(熱門/特價中/新上市)立體小徽章。卡片=圖片左上角浮貼;詳情頁=標題下方一排 */
.ps-tags{display:flex;flex-wrap:wrap;gap:6px}
.ps-card__img .ps-tags{position:absolute;top:8px;left:8px;z-index:2}
.ps-product__info .ps-tags{margin:8px 0 0}
.ps-tag{display:inline-block;font-size:16px;font-weight:600;line-height:1;padding:5px 10px;border-radius:8px;color:#fff;box-shadow:0 1px 0 rgba(0,0,0,.06),0 3px 8px rgba(0,0,0,.18)}
.ps-tag--hot{background:var(--pg-hot,#e4393c)}
.ps-tag--Special{background:var(--pg-accent,#ff6a3d)}
.ps-tag--new{background:var(--pg-blue,#2271b1)}
.ps-card__img img{width:100%;height:100%;object-fit:cover}
.ps-card__noimg{color:#aab;font-size:16px}
.ps-card__name{padding:12px 14px 4px;font-size:18px;font-weight:600}
/* 底列:左欄(起印量/基本價)+ 右欄(價) */
.ps-card__foot{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:0 14px 13px}
.ps-card__foot .ps-card__price{padding:0}
.ps-card__meta{display:flex;flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:4px;min-width:0;font-size:16px;line-height:1.35}
.ps-card__metalabel{color:var(--ps-muted);font-size:16px}
.ps-card__metaval{font-weight:600;font-size:16px}
.ps-card__price{padding:0 14px 13px;font-size:18px;font-weight:700;color:var(--ps-accent);text-align:right;white-space:nowrap}
.ps-card__price small{margin-left:2px}
.ps-card__pseg{display:block;font-size:17px;line-height:1.45}
.ps-card__price--ask{padding:0 14px 13px;font-size:16px;font-weight:600;color:var(--ps-muted)}
.ps-pager{margin-top:24px}
.ps-pager .page-numbers{display:inline-block;padding:8px 14px;border:1px solid var(--ps-line);border-radius:8px;margin:0 4px;background:#fff}
.ps-pager .current{background:var(--ps-accent);color:#fff;border-color:var(--ps-accent)}
/* 麵包屑 */
.ps-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:16px;color:var(--ps-muted);margin:0 0 18px}
.ps-crumbs a{color:var(--ps-muted)}
.ps-crumbs a:hover{color:var(--ps-accent)}
.ps-crumbs__sep{color:#c3c4c7}
.ps-crumbs__cur{color:var(--ps-ink);font-weight:600}
/* 列表頁:側欄 + 主區 */
.ps-listing{display:grid;grid-template-columns:230px minmax(0,1fr);gap:30px;align-items:start}
@media(max-width:860px){.ps-listing{grid-template-columns:1fr}}
.ps-catnav{background:#fff;border:1px solid var(--ps-line);border-radius:12px;padding:14px 16px;position:sticky;top:74px}
.ps-catnav__h{font-size:16px;font-weight:700;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--ps-line)}
.ps-catnav__list{list-style:none;margin:0;padding:0;font-size:16px}
.ps-catnav__list .ps-catnav__list{margin:2px 0 4px 8px;border-left:1px solid var(--ps-line);padding-left:8px}
.ps-catnav a{display:block;padding:5px 8px;border-radius:6px;color:var(--ps-ink);line-height:1.4}
.ps-catnav a:hover{background:#f0f4f9}
.ps-catnav a.is-current{background:var(--ps-accent);color:#fff;font-weight:600}
.ps-catnav__cat{display:block;padding:5px 8px;font-weight:700;color:var(--ps-muted);font-size:16px;letter-spacing:.02em}
.ps-catnav__cat.is-current{color:var(--ps-ink)}
.ps-cat-desc{font-size:16px;color:var(--ps-muted);margin:0 0 16px;line-height:1.7}
/* 搜尋 */
.ps-search{display:flex;align-items:center;gap:10px;margin:0 0 22px;max-width:560px}
.ps-search__box{flex:1;display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #c3c4c7;border-radius:10px;padding:0 14px;transition:border-color .15s,box-shadow .15s}
.ps-search__box:focus-within{border-color:var(--pg-blue,#2271b1);box-shadow:0 0 0 3px rgba(34,113,177,.15)}
.ps-search__icon{flex:0 0 auto;color:var(--ps-muted)}
.ps-search__box input{flex:1;min-width:0;font-size:16px;padding:12px 0;border:0;background:transparent;outline:none}
.ps-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 20px;padding-bottom:14px;border-bottom:1px solid var(--ps-line)}
.ps-toolbar__count{font-size:16px;color:var(--ps-muted)}
.ps-toolbar__count b{color:var(--ps-ink);font-weight:600}
.ps-sort{display:flex;align-items:center;gap:8px;margin:0}
.ps-sort label{font-size:16px;color:var(--ps-muted)}
.ps-sort select{font-size:16px;padding:8px 12px;border:1px solid #c3c4c7;border-radius:8px;background:#fff;cursor:pointer;color:var(--ps-ink)}
.ps-search__clear{font-size:16px;color:var(--ps-muted);white-space:nowrap}
/* 子分類卡(往下鑽) */
.ps-listing__h{font-size:18px;margin:0 0 14px}
.ps-subcats-wrap{margin:0 0 30px}
.ps-subcats{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.ps-subcat{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--ps-line);border-radius:12px;padding:15px 16px;font-size:16px;color:var(--ps-ink);font-weight:600;box-shadow:0 1px 2px rgba(15,59,92,.06);transition:transform .15s,box-shadow .15s,border-color .15s}
.ps-subcat:hover{transform:translateY(-3px);border-color:var(--c,var(--ps-accent));box-shadow:0 10px 22px rgba(15,59,92,.14)}
.ps-subcat__ic{flex:0 0 auto;width:46px;height:46px;border-radius:11px;display:grid;place-items:center;color:var(--c,var(--pg-blue,#2271b1));background:color-mix(in srgb,var(--c,#2271b1) 14%,#fff)}
.ps-subcat__name{flex:1 1 auto;min-width:0;line-height:1.3}
.ps-subcat__count{flex:0 0 auto;font-size:16px;color:var(--ps-muted);background:#f0f2f5;border-radius:999px;padding:2px 10px}

/* 商品詳情 */
.ps-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:start}
.ps-product__media{min-width:0}
/* 商品圖庫:主圖 + 縮圖 + 滑鼠移過去放大看材質 */
.ps-gallery{display:flex;flex-direction:column;gap:12px}
.ps-gallery__main{position:relative;overflow:hidden;border:1px solid var(--ps-line);border-radius:12px;background:#fff;aspect-ratio:1/1;cursor:zoom-in}
.ps-gallery__main img,.ps-gallery__img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.ps-gallery__main:hover img{transform:scale(2)}
.ps-gallery__thumbs{display:flex;flex-wrap:wrap;gap:10px}
.ps-gallery__thumb{width:72px;height:72px;padding:0;border:2px solid var(--ps-line);border-radius:8px;overflow:hidden;background:#fff;cursor:pointer;transition:border-color .15s}
.ps-gallery__thumb:hover{border-color:var(--pg-blue,#2271b1)}
.ps-gallery__thumb.is-active{border-color:var(--ps-accent)}
.ps-gallery__thumbimg{width:100%;height:100%;object-fit:cover;display:block}
.ps-product__name{font-size:26px;margin:0 0 10px}
.ps-product__desc{color:var(--ps-muted);font-size:16px;margin-bottom:18px}
.ps-product__summary{color:var(--ps-muted);font-size:16px;line-height:1.7;margin:0 0 18px}
.ps-shipmeta{list-style:none;margin:14px 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.ps-shipmeta li{display:inline-flex;gap:8px;align-items:baseline;font-size:16px;padding:7px 14px;background:#f0f6fc;border:1px solid #d4e3f4;border-radius:999px}
.ps-shipmeta span{color:var(--ps-muted)}
.ps-shipmeta b{color:var(--ps-ink);font-weight:600}
/* 商品選項區:下拉 / 輸入框撐滿購買框寬度(不再卡在 360px) */
.ps-options .ps-field,.ps-options .ps-dims,.ps-options .ps-inputunit{max-width:none}
/* 商品詳情長頁(整頁寬,首屏 grid 之下) */
.ps-product-detail{display:flex;flex-direction:column;gap:24px;margin-top:32px}
.ps-pd-sec{background:#fff;border:1px solid var(--ps-line);border-radius:12px;padding:22px 24px}
.ps-pd-h{font-size:20px;margin:0 0 16px;padding-bottom:10px;border-bottom:2px solid var(--ps-accent);display:inline-block}
.ps-pd-body{font-size:16px;line-height:1.85;color:var(--ps-ink)}
.ps-pd-body img{max-width:100%;height:auto;border-radius:6px}
.ps-pd-body p{margin:0 0 14px}
.ps-spectable{display:grid;grid-template-columns:max-content 1fr;margin:0;font-size:16px;border:1px solid var(--ps-line);border-radius:8px;overflow:hidden}
.ps-spectable dt{padding:11px 18px;background:#f6f7f9;color:var(--ps-muted);font-weight:600;border-bottom:1px solid var(--ps-line)}
.ps-spectable dd{padding:11px 18px;margin:0;border-bottom:1px solid var(--ps-line)}
.ps-spectable>dt:nth-last-of-type(1),.ps-spectable>dd:nth-last-of-type(1){border-bottom:0}
.ps-pd-note{font-size:16px;color:var(--ps-muted);margin:14px 0 0;line-height:1.7}
.ps-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;max-width:360px}
.ps-field>span{font-size:16px;color:var(--ps-muted);font-weight:600}
.ps-field select,.ps-field input,.ps-field textarea,.ps-form input,.ps-form textarea,.ps-auth input{font-size:16px;padding:10px 12px;border:1px solid #c3c4c7;border-radius:8px;width:100%;background:#fff}
.ps-inputunit{display:flex;align-items:center;gap:8px;max-width:360px}
.ps-inputunit input{flex:1}
.ps-unit{font-size:16px;color:var(--ps-muted);font-weight:600;white-space:nowrap}
.ps-field select option:disabled{color:#bbb}
.ps-dims{display:flex;align-items:flex-end;gap:10px;max-width:360px;margin-bottom:16px}
.ps-dims .ps-field{flex:1;margin-bottom:0;max-width:none}
.ps-dims__x{line-height:46px;color:var(--ps-muted);font-weight:600;flex:0 0 auto}
.ps-dims__hint{display:block;font-size:16px;font-weight:400;line-height:1.3;color:var(--ps-muted);margin:-14px 0 14px}
.ps-cai{display:inline-flex;align-items:center;gap:10px;margin:0 0 16px;padding:9px 16px;background:#f0f6fc;border:1px solid #d4e3f4;border-radius:10px}
.ps-cai__label{font-size:16px;color:var(--ps-muted);font-weight:600}
.ps-cai__val{font-size:20px;color:var(--ps-accent);font-weight:600}
/* 後加工選配 */
.ps-pp{margin:16px 0;border-top:1px solid var(--ps-line);padding-top:14px}
.ps-pp__h{font-size:16px;font-weight:600;color:var(--ps-ink);margin:0 0 10px}
.ps-pp__item{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;border:1px solid var(--ps-line);border-radius:10px;margin-bottom:8px}
.ps-pp__main{display:flex;align-items:center;gap:8px;cursor:pointer;flex:1;min-width:160px}
.ps-pp__main input{width:18px;height:18px;margin:0}
.ps-pp__name{font-size:16px;color:var(--ps-ink)}
.ps-pp__tag{font-size:16px;color:var(--ps-accent);font-weight:600;margin-left:4px}
.ps-pp__opt{font-size:16px;padding:8px 10px;border:1px solid #c3c4c7;border-radius:8px;background:#fff}
.ps-pp__opt:disabled{opacity:.5}
.ps-pp__cfg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%;padding-left:26px;margin-top:2px}
.ps-pp__sub{font-size:16px;padding:8px 10px;border:1px solid #c3c4c7;border-radius:8px;background:#fff}
.ps-pp__cnt{display:inline-flex;align-items:center;gap:6px;font-size:16px}
.ps-pp__cnt input{width:84px;font-size:16px;padding:8px 10px;border:1px solid #c3c4c7;border-radius:8px;background:#fff}
/* 後加工選項群組(健豪步驟) */
.ps-pp__grp{display:flex;flex-direction:column;gap:4px;font-size:16px}
.ps-pp__grplbl{font-size:16px;color:var(--ps-muted)}
.ps-pp__num{width:130px;font-size:16px;padding:8px 10px;border:1px solid #c3c4c7;border-radius:8px;background:#fff}
.ps-pp__cbs{display:flex;flex-wrap:wrap;gap:8px 14px}
.ps-pp__cbi{display:inline-flex;align-items:center;gap:6px;font-size:16px}
.ps-pp__cbi input{width:18px;height:18px;margin:0}
.ps-pp__lim{font-size:16px;width:100%;color:var(--ps-muted);margin-top:2px}
.ps-pp__item.is-blocked{opacity:.55;background:repeating-linear-gradient(45deg,transparent,transparent 8px,rgba(0,0,0,.02) 8px,rgba(0,0,0,.02) 16px)}
.ps-pp__item.is-blocked .ps-pp__lim{color:var(--ps-accent,#d2413c);font-weight:600}
/* 後加工注意事項 / 限制:直接展開,不折疊 */
/* 注意事項/限制 = 細則,依老闆要求縮小(其餘前台正文仍 ≥16px) */
.ps-pp__notes{font-size:14px;width:100%;color:var(--ps-muted);margin-top:6px;line-height:1.6}
.ps-pp__noteshd{display:block;font-weight:600;font-size:15px;color:var(--ps-ink)}
.ps-pp__notes>div{margin-top:2px;line-height:1.6}
/* 加入購物車彈窗。單一置中彈窗(不動):左 rail(上傳/已選/加工價格)| 右「印刷後加工」區塊 各 50%;該區塊在「清單」與「詳情」間原地切換,不另開視窗 */
.ps-modal__box.ps-am{width:min(1240px,94vw);height:min(92vh,920px);padding:0;display:flex;flex-direction:column;overflow:hidden}
/* 純上傳(無後加工):窄版 + 高度隨內容(不撐到大尺寸) */
.ps-modal__box.ps-am.ps-am--upload{width:min(560px,94vw);height:auto;max-height:90vh}
.ps-am__head{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--ps-line);flex:0 0 auto}
.ps-am__head h3{margin:0;font-size:20px}
.ps-am__x{background:none;border:0;font-size:22px;line-height:1;color:var(--ps-muted);cursor:pointer;padding:4px 6px}
.ps-am .ps-am-bottom{position:static;margin:0;padding:14px 24px;border-top:1px solid var(--ps-line);flex:0 0 auto}
/* 加工多時內容會很長 → 視窗內捲動,底部試算+按鈕固定不被推出畫面 */
.ps-am-bottom{position:sticky;bottom:0;background:#fff;margin:12px -24px -24px;padding:12px 24px 14px;border-top:1px solid var(--ps-line)}
/* ===== 加入購物車彈窗 v3:單欄手風琴(頭/捲動身/底固定)===== */
.ps-modal__box.ps-am3{max-width:720px;width:96vw;max-height:92vh;display:flex;flex-direction:column;padding:0;overflow:hidden}
.ps-am3__head{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--ps-line);flex:0 0 auto}
.ps-am3__head h3{margin:0;font-size:20px}
.ps-am3__x{background:none;border:0;font-size:22px;line-height:1;color:var(--ps-muted);cursor:pointer;padding:4px 6px}
.ps-am3__body{flex:1 1 auto;overflow-y:auto;padding:18px 24px;min-height:0}
.ps-am3__sec{margin:0 0 18px}
.ps-am3__sec:last-child{margin-bottom:0}
.ps-am3__h{font-size:16px;font-weight:600;margin:0 0 8px;color:var(--ps-ink)}
.ps-am3__pphd{display:flex;align-items:baseline;justify-content:space-between;font-size:16px;font-weight:600;color:var(--ps-ink);margin:0 0 10px}
.ps-am3__count{font-size:16px;font-weight:400;color:var(--ps-accent)}
.ps-am3 .ps-am-bottom{position:static;margin:0;padding:14px 24px;border-top:1px solid var(--ps-line);flex:0 0 auto}
/* 相依面(燙金正/背面)子卡:勾面才展開該面欄位,面內選項水平排列 */
.ps-pp__faces{display:flex;flex-direction:column;gap:8px;width:100%}
.ps-pp__face{border:1px solid var(--ps-line);border-radius:8px;background:#fafbfc;padding:8px 11px}
.ps-pp__facehd{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--ps-ink);cursor:pointer}
.ps-pp__facehd input{width:18px;height:18px;margin:0}
.ps-pp__facebody{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:10px}
.ps-pp__facebody>.ps-pp__grp{flex:1 1 150px;min-width:140px}
/* 手機:全螢幕 sheet、面內選項改直堆、移除縮排 */
@media(max-width:600px){
	.ps-modal__box.ps-am3{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}
	.ps-pp__cfg{padding-left:0}
	.ps-pp__facebody{flex-direction:column}
	.ps-pp__facebody>.ps-pp__grp{flex-basis:100%}
}
.ps-am-cols{display:flex;gap:26px;flex-wrap:wrap;align-items:flex-start}
.ps-am-col{flex:1;min-width:280px}
.ps-am-h{font-size:16px;font-weight:600;margin:0 0 8px;color:var(--ps-ink)}
.ps-am .ps-pp{border-top:0;margin:0;padding:0}
.ps-am-foot{margin:14px 0 0;min-height:24px}
.ps-am-bottom .ps-am-foot{margin:0 0 6px}
.ps-am-bottom .ps-modal__act{margin-top:0}
/* 加入購物車彈窗:box 內 左 rail | 右「印刷後加工」區塊 各佔 50%;右側區塊原地切換清單⇄詳情 */
.ps-am2__stage{display:flex;align-items:stretch;flex:1 1 auto;min-height:0;overflow:hidden}
.ps-am2__rail{flex:1 1 50%;min-width:0;display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--ps-line)}
.ps-am2__railsec{padding:14px 18px;border-bottom:1px solid var(--ps-line)}
.ps-am2__railsec:last-child{border-bottom:0}
/* 上傳區塊凸顯:淡藍底(與藍色系一致)+ 藍色強調標題與拖拉框;與「已選加工項」各佔一半高度 */
.ps-am2__upsec{flex:0 0 auto;overflow:visible;background:var(--pg-blue-light,#e8f1fa)}   /* 自然高度、不出卷軸 */
.ps-am2__upsec .ps-am2__h{color:var(--pg-blue-dark,#16527f);font-size:18px}
.ps-am2__upsec .ps-drop{border-color:var(--ps-accent);border-width:2px;background:#fff;padding:26px 18px;box-shadow:0 2px 10px rgba(34,113,177,.16)}
.ps-am2__upsec .ps-drop:hover{background:#fff;box-shadow:0 4px 16px rgba(34,113,177,.24)}
.ps-am2__upsec .ps-drop__txt{font-size:16px;color:var(--ps-ink)}
.ps-am2__railchosen{flex:1 1 auto;min-height:0;overflow-y:auto}        /* 吃掉剩餘高度、項目多才捲(上傳區自然高、不捲)*/
.ps-am2__railfoot{margin-top:auto;background:#fafbfc}                  /* 加工價格+按鈕 沉到最下 */
/* 加工價格:逐項明細(正面開版費/正面加工費/…)+ 總計 + 單件含稅 */
.ps-am2__price{font-size:16px;color:var(--ps-ink);min-height:22px;line-height:1.5;margin-bottom:8px}
.ps-am2__sums{margin-bottom:8px}
.ps-am2__pline{display:flex;justify-content:space-between;gap:12px;font-size:16px;color:var(--ps-ink);padding:3px 0}
.ps-am2__pline span:last-child{font-weight:600;white-space:nowrap}
.ps-am2__pline--total{margin-top:4px;padding-top:7px;border-top:1px solid var(--ps-line);font-weight:700;color:var(--ps-accent)}
.ps-am2__pline--total span:last-child{font-size:18px}
.ps-am2__sellrow{margin-top:6px;font-size:16px;font-weight:700;color:var(--ps-ink)}
.ps-am2__quote{font-size:16px;font-weight:600;color:#b45309;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:8px 10px;line-height:1.5}
/* 前台自訂確認彈窗(✕ 移除加工等,取代瀏覽器原生 confirm) */
.ps-confirm{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,.5);padding:20px}
.ps-confirm__box{background:#fff;border-radius:12px;max-width:380px;width:100%;padding:22px 22px 18px;box-shadow:0 18px 48px rgba(0,0,0,.28)}
.ps-confirm__msg{font-size:17px;line-height:1.6;color:var(--ps-ink);margin:0 0 18px}
.ps-confirm__btns{display:flex;gap:10px;justify-content:flex-end}
.ps-confirm__btns .ps-btn{width:auto;font-size:16px;min-width:96px;padding:10px 20px}
.ps-am2__railfoot .ps-btn{width:100%}
.ps-am2__railfoot .ps-msg{display:block;margin:0 0 8px}
/* 右半「印刷後加工」區塊:清單與詳情共用同一塊,JS 切換顯示其一 */
.ps-am2__main{flex:1 1 50%;min-width:0;display:flex;position:relative;overflow:hidden}
.ps-am2__listwrap,.ps-am2__detailwrap{flex:1 1 auto;min-width:0;overflow-y:auto;padding:14px 18px;box-sizing:border-box}
/* 詳情:點加工後在「同一塊」原地切換(清單隱藏);輕微淡入+右滑,不另開視窗 */
.ps-am2__detailwrap{opacity:0;transform:translateX(22px);transition:opacity .18s ease,transform .22s ease}
.ps-am2__detailwrap.is-open{opacity:1;transform:translateX(0)}
.ps-am2__back{background:none;border:0;color:var(--ps-muted);cursor:pointer;font-size:15px;padding:0;margin:0 0 10px;display:inline-flex;align-items:center;gap:4px}
.ps-am2__back:hover{color:var(--ps-accent)}
.ps-am2__detail{width:100%}
.ps-am2__h{font-size:16px;font-weight:600;margin:0 0 10px;color:var(--ps-ink)}
.ps-am2__list,.ps-am2__chosen{display:flex;flex-direction:column;gap:6px}
.ps-am2__row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;width:100%;text-align:left;background:#fff;border:1px solid var(--ps-line);border-radius:8px;padding:9px 11px;font-size:16px;cursor:pointer;color:var(--ps-ink)}
.ps-am2__row:hover{border-color:var(--ps-accent)}
.ps-am2__row.is-chosen{border-color:var(--ps-accent);background:var(--pg-blue-light,#e8f1fa)}
.ps-am2__row.is-active{box-shadow:0 0 0 2px var(--ps-accent) inset}
.ps-am2__row.is-blocked{opacity:.5;cursor:not-allowed}
.ps-am2__rowname{flex:1;font-size:16px}
.ps-am2__rowarrow{color:var(--ps-muted);font-size:18px}
.ps-am2__rowsz{flex-basis:100%;font-size:16px;color:var(--ps-accent)}
.ps-am2__chip{display:flex;align-items:flex-start;gap:6px;background:#fff;border:1px solid var(--ps-line);border-radius:8px;padding:8px 11px}
.ps-am2__chip.is-active{border-color:var(--ps-accent)}
/* 已選加工項:名稱在上,正面/反面各自一行列在下方 */
.ps-am2__chipname{flex:1;min-width:0;text-align:left;background:none;border:0;cursor:pointer;padding:0;display:flex;flex-direction:column;gap:2px}
.ps-am2__chipnm{font-size:16px;font-weight:600;color:var(--ps-ink)}
.ps-am2__chipface{font-size:16px;color:var(--ps-muted);font-weight:400;line-height:1.4}
.ps-am2__chipcost{display:flex;flex-wrap:wrap;gap:2px 14px;margin-top:3px}
.ps-am2__costi{font-size:16px;color:var(--ps-muted)}
.ps-am2__costi b{color:var(--ps-accent);font-weight:600;margin-left:5px}
.ps-am2__chipx{background:none;border:0;color:var(--ps-accent);cursor:pointer;font-size:18px;line-height:1;padding:2px}
.ps-am2__empty,.ps-am2__hint{font-size:16px;color:var(--ps-muted);margin:4px 0}
.ps-am2__dh{font-size:18px;font-weight:600;margin:0 0 12px;color:var(--ps-ink)}
/* 詳情選項:水平排列(每個選項群組並排、自動換行),省直向空間 */
.ps-am2__dcfg{display:flex;flex-wrap:wrap;gap:12px 18px;margin-bottom:12px}
.ps-am2__dcfg [data-pp-dyn]{display:contents}
.ps-am2__dcfg .ps-pp__grp{flex:1 1 165px;min-width:150px}
.ps-am2__dcfg .ps-pp__grp:has(.ps-pp__cbs){flex-basis:100%}
/* 連續數字欄(如燙金 長/寬):併成一排、各佔一半、自成一列,較好看 */
.ps-pp__dims{display:flex;flex-wrap:wrap;gap:10px 16px;flex:1 1 100%}
.ps-pp__dims>.ps-pp__grp{flex:1 1 120px;min-width:110px}
.ps-pp__dims .ps-pp__num{width:100%}
/* 詳情底部動作列:沉底固定(sticky),注意事項/限制在後面捲動,「加入此加工」永遠看得到、好點 */
.ps-am2__detailwrap{padding-bottom:0}   /* 底部 padding 歸零,交給 sticky 動作列收尾,避免捲動內容從動作列下方那段露出 */
.ps-am2__dfoot{position:sticky;bottom:0;z-index:2;margin:14px -18px 0;padding:12px 18px;background:#fff;border-top:1px solid var(--ps-line)}
.ps-am2__dact{display:flex;gap:10px;align-items:center}
.ps-am2__addbtn{font-size:16px}
.ps-am2__addbtn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
/* 必選項未填的提示(紅字),放在「加入此加工」上方 */
.ps-am2__err{font-size:15px;color:var(--pg-hot,#e4393c);min-height:18px;margin:0 0 8px}
.ps-am2__err:empty{display:none}
@media(max-width:760px){
	/* 窄螢幕:rail 與 印刷後加工區塊 改上下堆疊,彈窗滿版 */
	.ps-modal__box.ps-am{width:96vw;height:92vh}
	.ps-am2__stage{flex-direction:column}
	.ps-am2__rail{flex:0 0 auto;border-right:0;border-bottom:1px solid var(--ps-line)}
	.ps-am2__railchosen{flex:0 0 auto;max-height:26vh}
	.ps-am2__main{flex:1 1 auto}
}
.ps-am-extra{font-size:16px;color:var(--ps-accent);font-weight:600}
/* 檔案上傳:拖拉區 */
.ps-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;box-sizing:border-box;padding:30px 18px;border:2px dashed var(--ps-line);border-radius:12px;background:#fafbfc;cursor:pointer;text-align:center;transition:border-color .15s,background .15s}
.ps-drop:hover{border-color:var(--ps-accent)}
.ps-drop.is-over{border-color:var(--ps-accent);background:var(--pg-blue-light,#e8f1fa)}
.ps-drop__icon{font-size:32px;line-height:1;color:var(--ps-accent)}
.ps-drop__txt{font-size:16px;color:var(--ps-muted)}
.ps-drop__txt b{color:var(--ps-accent);font-weight:600}
.ps-drop__files{font-size:16px;width:100%;color:var(--ps-ink);display:flex;flex-direction:column;gap:6px}
.ps-drop__files:empty{display:none}
.ps-upitem{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border:1px solid var(--ps-line);border-radius:8px;background:#fff}
.ps-upitem__nm{min-width:0;word-break:break-all;text-align:left}
.ps-upitem__x{flex:0 0 auto;background:none;border:0;color:var(--ps-accent);cursor:pointer;font-size:18px;line-height:1;padding:2px 6px}
.ps-drop.has-files{align-items:stretch;padding:14px;cursor:default}
.ps-drop.has-files .ps-drop__icon,.ps-drop.has-files .ps-drop__txt{display:none}
.ps-drop__more{display:none;font-size:16px;color:var(--ps-accent);font-weight:600;margin-top:2px;text-align:center}
.ps-drop.has-files .ps-drop__more{display:block}
/* 商品內容頁:可用後加工表 */
.ps-pp-table{width:100%;border-collapse:collapse;font-size:16px;margin-top:8px;max-width:560px}
.ps-pp-table th,.ps-pp-table td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--ps-line)}
.ps-pp-table th{color:var(--ps-muted);font-weight:600}
.ps-cart-qty{color:var(--ps-muted);font-size:16px;white-space:nowrap}
.ps-priceline{font-size:18px;margin:18px 0;border-top:1px solid var(--ps-line);padding-top:16px}
.ps-price{font-size:30px;font-weight:800;color:var(--ps-accent)}
.ps-priceline small{color:var(--ps-muted);font-size:16px}
.ps-btn{display:inline-block;background:var(--ps-accent);color:#fff;border:0;border-radius:8px;padding:12px 26px;font-size:17px;cursor:pointer;font-weight:600}
.ps-btn:hover{filter:brightness(1.08)}
.ps-btn--ghost{background:#fff;color:var(--ps-ink);border:1px solid #c3c4c7}
.ps-msg{font-size:16px;color:#1d6b1d;margin-left:10px}
.ps-x{border:0;background:transparent;color:#b32d2e;font-size:18px;cursor:pointer}

/* 購物車 / 訂單表 */
.ps-cart{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--ps-line);border-radius:12px;overflow:hidden}
.ps-cart th,.ps-cart td{font-size:16px;text-align:left;padding:12px 14px;border-bottom:1px solid var(--ps-line)}
.ps-cart th{background:#f0f1f3;color:var(--ps-muted)}
.ps-stepper{display:inline-flex;align-items:stretch;height:38px;border:1px solid #c3c4c7;border-radius:8px;overflow:hidden}
.ps-step{width:36px;border:0;background:#f0f1f3;color:var(--ps-ink);font-size:20px;line-height:1;cursor:pointer;padding:0}
.ps-step:hover{background:#e3e5e8}
.ps-step:active{background:#d6d8dc}
.ps-cart input[data-copies]{width:46px;text-align:center;font-size:16px;padding:0;border:0;border-left:1px solid #e3e5e8;border-right:1px solid #e3e5e8;border-radius:0;background:#fff;-moz-appearance:textfield}
.ps-cart input[data-copies]::-webkit-outer-spin-button,.ps-cart input[data-copies]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ps-qty1{display:inline-block;min-width:38px;text-align:center;color:var(--ps-muted);font-size:16px}
/* 結帳列:固定在瀏覽器視窗底部(滿版),JS 偵測 footer 時讓位、停在 footer 上方 */
.ps-cart-foot{position:fixed;left:0;right:0;bottom:0;z-index:30;background:#fff;border-top:1px solid var(--ps-line);box-shadow:0 -3px 14px rgba(0,0,0,.08)}
.ps-cart-foot__in{max-width:1180px;margin:0 auto;display:flex;justify-content:flex-end;align-items:center;gap:20px;padding:14px 20px;font-size:18px}
.ps-wrap[data-page="cart"]{padding-bottom:96px}
.ps-cart td.ps-loading,.ps-cart td.ps-empty{text-align:center;padding:38px;color:var(--ps-muted)}
.ps-cart-foot b{font-size:24px;color:var(--ps-accent);margin-left:8px}
.ps-pick-col{width:44px;text-align:center}
.ps-cart .ps-pick-col input{width:18px;height:18px;cursor:pointer}
.ps-row-bad{opacity:.6}
.ps-row-bad td{background:#fafafa}
.ps-cart-foot__info{color:var(--ps-muted);margin-right:auto}
.ps-cart-foot__info b{font-size:18px;color:var(--ps-ink);margin-left:4px}
.ps-btn--danger{background:#b32d2e}
.ps-btn--xs{padding:5px 14px;font-size:16px;border-radius:6px;vertical-align:middle;margin-left:12px}
/* 破壞性動作的淡框按鈕(取消訂單 / 刪除帳號) */
.ps-btn--del{color:#b32d2e;border-color:#e3b3b3}
.ps-btn--del:hover{background:#fdf3f3;filter:none}
.ps-btn--sm{padding:8px 18px;font-size:16px}
/* 會員資料:密碼列(隱碼 + 更換密碼) */
.ps-pw-row{display:flex;gap:12px;align-items:center}
.ps-pw-row input{flex:1}
/* 會員資料整合頁:基本資料 / 收件地址 / 發票設定 各區塊間用分隔線 */
.ps-acc-sec + .ps-acc-sec{margin-top:32px;padding-top:28px;border-top:1px solid var(--ps-line)}
.ps-acc-sec:empty{display:none}   /* 尚未載入的區塊先不佔位、不顯示分隔線 */
/* 會員資料底部的危險區(刪除帳號) */
.ps-acc-danger{margin-top:24px;padding-top:18px;border-top:1px solid var(--ps-line)}
/* 訂單列表工具列(搜尋 + 狀態過濾)+ 分頁 */
.ps-ord-bar{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.ps-ord-search,.ps-ord-filter{font-size:16px;padding:9px 12px;border:1px solid #c3c4c7;border-radius:8px;background:#fff}
.ps-ord-search{flex:1;min-width:180px}
.ps-ord-pager{display:flex;flex-wrap:wrap;gap:4px}
.ps-ord-pager .page-numbers{cursor:pointer;background:#fff}
.ps-ord-pager .page-numbers.current{background:var(--pg-blue,#2271b1);color:#fff;border-color:var(--pg-blue,#2271b1)}
.ps-ord-pager .page-numbers[disabled]{opacity:.4;cursor:not-allowed}
.ps-btn[disabled]{opacity:.5;cursor:not-allowed;filter:none}
.ps-modal__box--sm{width:min(420px,92vw)}
.ps-modal__box.ps-modal__box--lg{width:min(980px,95vw);max-height:90vh;overflow:auto;position:relative}
.ps-modal__x{position:absolute;top:10px;right:12px;border:0;background:transparent;font-size:22px;line-height:1;color:var(--ps-muted);cursor:pointer}
.ps-modal__x:hover{color:var(--ps-ink)}

/* 結帳:左右兩欄(左=清單,右=表單) */
.ps-co-sum{font-size:17px;margin:0 0 18px}
.ps-co-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:28px;align-items:start}
@media(max-width:860px){.ps-co-grid{grid-template-columns:1fr}}
.ps-co-h{font-size:18px;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--ps-line)}
.ps-co-form .ps-co-h{margin-top:24px}
.ps-co-form .ps-co-h:first-child{margin-top:0}
.ps-co-list{background:#fff;border:1px solid var(--ps-line);border-radius:12px;padding:18px}
.ps-co-list .ps-cart{border:0}
.ps-co-list .ps-cart td{padding:10px 4px}
.ps-co-spec{font-size:16px;color:var(--ps-muted);margin-top:3px}
.ps-co-price{text-align:right;white-space:nowrap;font-weight:600}
.ps-co-qty{text-align:center;white-space:nowrap;color:var(--ps-muted)}
/* 摘要型品項表(結帳清單 + 訂單明細彈窗共用):商品 | 數量 | 小計 */
.ps-cart--sum{border:0}
.ps-cart--sum td{padding:10px 4px}
.ps-cart--sum th{background:transparent;font-size:16px;padding:8px 4px;font-weight:600;color:var(--ps-muted)}
/* 金額摘要:逐列右對齊(小計/運費/稅 一列、總計強調),與後台/結帳同款 */
.ps-co-sums{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:16px;padding-top:12px;margin-top:8px;border-top:1px solid var(--ps-line)}
.ps-co-sums b{font-size:17px;color:var(--ps-ink);margin-left:6px;font-weight:600}
.ps-co-grand{margin-top:4px;font-size:18px}
.ps-co-grand b{font-size:22px;color:var(--ps-accent)}
/* 摘要表最後一列不再加底線,避免和摘要的上框線變成雙線 */
.ps-cart--sum tbody tr:last-child td{border-bottom:0}
/* 電子發票分頁:發票卡列表 */
.ps-inv-list{display:flex;flex-direction:column;gap:12px}
.ps-inv-card{border:1px solid var(--ps-line);border-radius:10px;padding:14px 16px;background:#fff}
.ps-inv-card__no{font-size:18px;font-weight:700;letter-spacing:.5px}
.ps-inv-card__meta{font-size:16px;color:var(--ps-muted);margin-top:4px;line-height:1.6}
.ps-inv-card__act{margin-top:8px;font-size:16px}
.ps-inv-rnd{color:var(--ps-muted);font-size:15px;font-weight:400;margin-left:6px}
.ps-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;margin-bottom:8px}
.ps-form .ps-field{max-width:none}
.ps-field--full{grid-column:1 / -1}
/* 結帳右欄較窄(清單佔 70%),表單改單欄堆疊 */
.ps-co-form .ps-form{grid-template-columns:1fr}
.ps-form textarea,.ps-co-form textarea{min-height:80px}
/* 電子發票區 */
.ps-inv{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}
.ps-inv__seg{display:flex;flex-wrap:wrap;gap:14px}
.ps-inv__panel{display:flex;flex-direction:column;gap:12px}
.ps-inv__lbl{font-size:16px;font-weight:600;color:var(--ps-muted);margin-bottom:-4px}
.ps-radio{display:inline-flex;align-items:center;gap:6px;font-size:16px;cursor:pointer}
.ps-radio input{width:17px;height:17px}
/* 載具號碼(手機條碼/自然人憑證):空值時整框淺灰(尚未填),填了才正常深色 */
[data-inv-cid] input:placeholder-shown{color:#9aa0a6;background:#f6f7f8}
.ps-check{display:flex;align-items:center;gap:8px;font-size:16px;margin:6px 0 16px;cursor:pointer}
.ps-check input{width:17px;height:17px}
.ps-hint{font-size:16px;color:var(--ps-muted);margin:0 0 14px}
/* 會員中心:側欄 + 內容 */
.ps-acc{display:grid;grid-template-columns:200px 1fr;gap:28px;align-items:start}
@media(max-width:720px){.ps-acc{grid-template-columns:1fr}}
.ps-acc__side{display:flex;flex-direction:column;gap:4px}
.ps-acc-link{display:block;text-align:left;padding:11px 14px;border:0;background:transparent;border-radius:8px;font-size:16px;color:var(--ps-ink);cursor:pointer;text-decoration:none}
.ps-acc-link:hover{background:#eef1f4}
.ps-acc-link.is-active{background:var(--ps-accent);color:#fff;font-weight:600}
.ps-acc-link--logout{color:#b32d2e;margin-top:8px}
.ps-acc__main{background:#fff;border:1px solid var(--ps-line);border-radius:12px;padding:22px;min-height:200px}
.ps-co-h3{font-size:16px;margin:22px 0 10px;color:var(--ps-muted)}
.ps-acc-dhead{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}
.ps-acc-dact{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}
/* 待繳費資訊(ATM/超商取號後顯示) */
.ps-paycode{margin-top:16px;border:1px solid var(--ps-line);border-radius:10px;background:var(--pg-blue-light,#e8f1fa);padding:14px 16px;box-shadow:0 1px 0 rgba(0,0,0,.04),0 6px 16px rgba(34,113,177,.08)}
.ps-paycode__hd{font-size:16px;font-weight:600;color:var(--ps-ink);margin-bottom:8px}
.ps-paycode__row{display:flex;justify-content:space-between;gap:12px;font-size:16px;padding:5px 0;border-top:1px dashed var(--ps-line)}
.ps-paycode__row:first-of-type{border-top:0}
.ps-paycode__row span{color:var(--ps-muted)}
.ps-paycode__row b{color:var(--ps-accent);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.5px}
.ps-paycode__note{font-size:16px;color:var(--ps-muted);margin-top:10px;line-height:1.6}
.ps-link{background:0;border:0;color:var(--ps-accent);font-size:16px;cursor:pointer;padding:0;text-decoration:none}
.ps-link--del{color:#b32d2e}
/* 訂單狀態進度條 */
.ps-steps{list-style:none;display:flex;margin:0 0 22px;padding:0;counter-reset:s}
.ps-steps li{flex:1;position:relative;text-align:center;font-size:16px;color:var(--ps-muted);padding-top:32px}
.ps-steps li::after{content:'';position:absolute;top:13px;right:50%;width:100%;height:2px;background:#e3e5e8;z-index:0}
.ps-steps li:first-child::after{display:none}
.ps-steps li::before{counter-increment:s;content:counter(s);position:absolute;top:0;left:50%;transform:translateX(-50%);width:26px;height:26px;border-radius:50%;background:#e3e5e8;color:#fff;line-height:26px;font-size:16px;z-index:1}
.ps-steps li.is-done{color:var(--ps-ink)}
.ps-steps li.is-done::before,.ps-steps li.is-done::after{background:var(--ps-accent)}
.ps-steps li.is-cur{font-weight:700;color:var(--ps-accent)}
.ps-steps li.is-cur::before{box-shadow:0 0 0 4px rgba(34,113,177,.18)}
/* 收件地址簿 */
.ps-addr-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-bottom:8px}
.ps-addr{border:1px solid var(--ps-line);border-radius:10px;padding:14px;font-size:16px;line-height:1.7}
.ps-addr.is-default{border-color:var(--ps-accent);box-shadow:0 0 0 1px var(--ps-accent)}
.ps-addr__h{font-weight:600;font-size:16px;margin-bottom:4px}
.ps-badge{display:inline-block;background:var(--ps-accent);color:#fff;font-size:16px;padding:1px 8px;border-radius:999px;font-weight:400;vertical-align:middle}
.ps-addr__act{display:flex;gap:16px;margin-top:10px}

/* 會員 / 登入 */
.ps-acc-bar{margin:0 0 18px}
.ps-auth{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:760px}
.ps-auth__col{background:#fff;border:1px solid var(--ps-line);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:12px}
.ps-auth__col h2{font-size:20px;margin:0 0 6px}
.ps-auth__msg{grid-column:1 / -1;font-size:16px;color:#b32d2e;min-height:24px}
.ps-auth-google{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:2px}
.ps-auth-or{position:relative;width:100%;max-width:360px;text-align:center;color:var(--ps-muted);font-size:16px}
.ps-auth-or::before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--ps-line)}
.ps-auth-or span{position:relative;background:#f6f7f9;padding:0 14px}
#psGoogleBtn{min-height:44px;display:flex;justify-content:center}

/* 上傳彈窗 */
.ps-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:100;display:flex;align-items:center;justify-content:center}
.ps-modal[hidden]{display:none}
.ps-modal__box{background:#fff;border-radius:12px;padding:24px;width:min(520px,92vw)}
.ps-modal__box h3{font-size:20px;margin:0 0 8px}
.ps-modal__hint{font-size:16px;color:var(--ps-muted);margin:0 0 14px}
.ps-modal__box input[type=file]{font-size:16px;width:100%;margin-bottom:12px}
.ps-modal__act{display:flex;gap:12px;margin-top:8px}

/* 頁尾 */
.ps-footer{background:#fff;border-top:1px solid var(--ps-line);margin-top:40px}
.ps-footer__cols{max-width:1180px;margin:0 auto;padding:32px 20px 8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:24px 32px}
.ps-footer__col h4{font-size:16px;margin:0 0 12px;color:var(--ps-ink)}
.ps-footer__col a{display:block;font-size:16px;color:var(--ps-muted);padding:4px 0}
.ps-footer__col a:hover{color:var(--ps-accent)}
.ps-footer__col a.ps-foot-line{display:flex;align-items:center;gap:6px;margin-top:8px}
.ps-foot-line svg{color:#06c755;flex:0 0 auto}
/* 聯絡我們 */
.ps-footer__col a.ps-foot-contact{display:flex;align-items:center;gap:8px;word-break:break-all}
.ps-foot-contact svg{flex:0 0 auto;color:var(--ps-accent)}
.ps-footer__in{max-width:1180px;margin:0 auto;padding:16px 20px 24px;color:var(--ps-muted);font-size:16px;border-top:1px solid var(--ps-line)}
/* LINE 浮動客服 */
.ps-line-fab{position:fixed;right:20px;bottom:20px;z-index:60;display:inline-flex;align-items:center;gap:8px;background:#06c755;color:#fff;padding:12px 18px;border-radius:999px;font-size:16px;font-weight:600;box-shadow:0 6px 20px rgba(6,199,85,.4)}
.ps-line-fab:hover{filter:brightness(1.06);color:#fff}
@media(max-width:600px){.ps-line-fab span{display:none}.ps-line-fab{padding:14px;border-radius:50%}}
/* 幫助中心:文章列表 + 標題 */
.ps-help-sec{margin:0 0 28px}
.ps-help-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ps-help-list a{display:block;background:#fff;border:1px solid var(--ps-line);border-radius:10px;padding:14px 18px;transition:border-color .15s,box-shadow .15s}
.ps-help-list a:hover{border-color:var(--ps-accent);box-shadow:0 3px 10px rgba(34,113,177,.12)}
.ps-help-list__t{display:block;font-size:16px;font-weight:600;color:var(--ps-ink)}
.ps-help-list__d{display:block;font-size:16px;color:var(--ps-muted);margin-top:4px;line-height:1.6}
.ps-help-title{font-size:24px;margin:0 0 18px;padding-bottom:12px;border-bottom:2px solid var(--ps-accent)}
.ps-help-intro{background:#f7fafd;border:1px solid var(--ps-line);border-radius:10px;padding:16px 20px;margin:0 0 28px;font-size:16px;line-height:1.8;color:var(--ps-ink)}
.ps-help-intro p:last-child{margin-bottom:0}
.ps-page{max-width:880px;margin:0 auto}

/* —— 幫助中心落地頁:Hero + 卡片格 + 熱門 + 客服 —— */
.ps-help-hero{text-align:center;padding:14px 0 8px}
.ps-help-hero__t{font-size:30px;margin:0 0 10px;font-weight:600}
.ps-help-hero__sub{color:var(--ps-muted);font-size:16px;line-height:1.75;max-width:680px;margin:0 auto 22px}
.ps-help-hero__sub p{margin:0}
.ps-help-search{position:relative;max-width:560px;margin:0 auto}
.ps-help-search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--ps-muted)}
.ps-help-search input{width:100%;font-size:16px;padding:14px 18px 14px 46px;border:1px solid var(--ps-line);border-radius:999px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.ps-help-search input:focus{outline:none;border-color:var(--ps-accent);box-shadow:0 0 0 3px rgba(34,113,177,.15)}
.ps-help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0 6px}
.ps-help-card{display:flex;flex-direction:column;gap:9px;background:#fff;border:1px solid var(--ps-line);border-radius:14px;padding:22px 20px;transition:border-color .15s,box-shadow .15s,transform .15s}
.ps-help-card:hover{border-color:var(--ps-accent);box-shadow:0 8px 22px rgba(34,113,177,.12);transform:translateY(-2px)}
.ps-help-card__ic{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;color:var(--ic);background:color-mix(in srgb,var(--ic) 12%,#fff)}
.ps-help-card__t{font-size:18px;font-weight:600;color:var(--ps-ink)}
.ps-help-card__d{font-size:16px;color:var(--ps-muted);line-height:1.65}
.ps-help-noresult{grid-column:1/-1;text-align:center;color:var(--ps-muted);padding:18px}
.ps-help-pop{margin:32px 0}
.ps-help-pop__h{font-size:18px;margin:0 0 14px;font-weight:600}
.ps-help-pop__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ps-help-pop__list a{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid var(--ps-line);border-radius:10px;padding:13px 16px;color:var(--ps-ink);font-size:16px;transition:border-color .15s,background .15s}
.ps-help-pop__list a:hover{border-color:var(--ps-accent);background:#f7fafd}
.ps-help-pop__list svg{color:var(--ps-muted);flex:0 0 auto}
.ps-help-contact{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:#f3f7fb;border:1px solid var(--ps-line);border-radius:14px;padding:20px 24px;margin:10px 0}
.ps-help-contact strong{font-size:16px;color:var(--ps-ink)}
.ps-help-contact span{color:var(--ps-muted)}
.ps-help-contact__btn{display:inline-flex;align-items:center;gap:8px;background:#06c755;color:#fff;font-weight:600;padding:11px 22px;border-radius:999px;font-size:16px}
.ps-help-contact__btn:hover{filter:brightness(.96)}
@media(max-width:860px){.ps-help-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.ps-help-grid{grid-template-columns:1fr}.ps-help-pop__list{grid-template-columns:1fr}.ps-help-hero__t{font-size:26px}}

/* ============================================================
   首頁 front-page:台灣電商立體風格(藍骨架 + 橘點綴 + 層次陰影)
   ============================================================ */
:root{
  --pg-blue:#2271b1;--pg-blue-dark:#16527f;--pg-blue-deep:#0f3b5c;
  --pg-blue-light:#e8f1fa;--pg-blue-tint:#f4f9fe;
  --pg-accent:#ff6a3d;--pg-accent-dark:#e8531f;--pg-hot:#e4393c;
  --pg-r:14px;--pg-r-lg:18px;
  --pg-sh1:0 1px 2px rgba(15,59,92,.06),0 4px 14px rgba(15,59,92,.09);
  --pg-sh2:0 10px 24px rgba(15,59,92,.14),0 18px 40px rgba(15,59,92,.16);
}
.pg-inner{max-width:1180px;margin:0 auto;padding:0 20px}
.pg-sec{padding:56px 0}
.pg-sec--tint{background:var(--pg-blue-tint)}
.pg-sec--blue{background:var(--pg-blue-light)}
.pg-h2{position:relative;text-align:center;font-size:27px;font-weight:600;color:var(--pg-blue-deep);margin:0 0 8px;padding-bottom:16px}
.pg-h2::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:56px;height:4px;border-radius:999px;background:var(--pg-accent)}
.pg-sub{text-align:center;color:var(--ps-muted);font-size:16px;margin:0 0 32px;line-height:1.7}
.pg-seclink{text-align:center;margin-top:26px}

/* Hero */
.pg-hero{position:relative;overflow:hidden;border-radius:var(--pg-r-lg);margin:8px 0;padding:62px 50px;color:#fff;background:var(--pg-blue);box-shadow:var(--pg-sh1)}
.pg-hero::before{content:"";position:absolute;inset:0;background:transparent;pointer-events:none}
.pg-hero__in{position:relative;max-width:640px}
.pg-hero__eyebrow{display:inline-block;font-size:16px;font-weight:600;background:rgba(255,255,255,.18);padding:6px 14px;border-radius:999px;margin-bottom:18px}
.pg-hero h1{font-size:40px;line-height:1.22;font-weight:600;margin:0 0 16px;letter-spacing:.5px}
.pg-hero p{font-size:18px;line-height:1.7;opacity:.95;margin:0 0 28px}
.pg-hero__btns{display:flex;gap:14px;flex-wrap:wrap}

/* 立體按鈕 */
.pg-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;font-size:17px;font-weight:600;color:#fff;border:0;border-radius:999px;cursor:pointer;background:var(--pg-accent);box-shadow:0 6px 18px rgba(255,106,61,.42),inset 0 1px 0 rgba(255,255,255,.45),inset 0 -2px 0 rgba(0,0,0,.12);transition:transform .15s,box-shadow .15s,filter .15s}
.pg-btn:hover{transform:translateY(-2px);filter:brightness(1.04);color:#fff;box-shadow:0 11px 26px rgba(255,106,61,.5),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -2px 0 rgba(0,0,0,.12)}
.pg-btn--white{background:#fff;color:var(--pg-blue);box-shadow:0 6px 16px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.6)}
.pg-btn--white:hover{color:var(--pg-blue-dark)}
.pg-btn--ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.75);box-shadow:none}
.pg-btn--ghost:hover{background:rgba(255,255,255,.14);color:#fff}

/* 分類系列入口 */
.pg-cats{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.pg-cat{display:flex;flex-direction:column;align-items:center;gap:12px;padding:26px 14px;border-radius:var(--pg-r);background:#fff;border:1px solid var(--ps-line);box-shadow:var(--pg-sh1);transition:transform .2s,box-shadow .2s,border-color .2s;text-align:center}
.pg-cat:hover{transform:translateY(-6px);box-shadow:var(--pg-sh2);border-color:rgba(34,113,177,.3)}
.pg-cat__ic{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 13%,#fff);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 5px 12px color-mix(in srgb,var(--c) 22%,transparent)}
.pg-cat__name{font-size:16px;font-weight:600;color:var(--ps-ink);line-height:1.4}

/* 商品卡(有圖才出現) */
.pg-prods{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pg-prod{display:flex;flex-direction:column;background:#fff;border:1px solid var(--ps-line);border-radius:var(--pg-r);overflow:hidden;box-shadow:var(--pg-sh1);transition:transform .2s,box-shadow .2s}
.pg-prod:hover{transform:translateY(-6px);box-shadow:var(--pg-sh2)}
.pg-prod__img{display:block;aspect-ratio:1/1;overflow:hidden;background:#f3f5f7}
.pg-prod__img img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.pg-prod:hover .pg-prod__img img{transform:scale(1.05)}
.pg-prod__ph{width:100%;height:100%;display:grid;place-items:center;color:var(--c,#9db8d4);background:color-mix(in srgb,var(--c,#2271b1) 14%,#fff)}
.pg-prod__b{padding:13px 15px}
.pg-prod__cat{display:block;font-size:16px;font-weight:600;color:var(--c,var(--ps-muted));margin-bottom:3px}
.pg-prod__t{display:block;font-size:16px;font-weight:600;color:var(--ps-ink);line-height:1.45}
/* 精選商品卡沿用列表卡的起印量/基本價 + 價(ps-card__foot),但 padding 收掉(已在 pg-prod__b 內) */
.pg-prod .ps-card__foot{padding:10px 0 0;margin-top:8px;border-top:1px solid var(--ps-line)}
.pg-prod .ps-card__price,.pg-prod .ps-card__price--ask{padding:0}

/* 印後加工 / 加值服務 */
.pg-finish{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pg-finish__i{display:flex;flex-direction:column;align-items:center;gap:10px;background:#fff;border:1px solid var(--ps-line);border-radius:var(--pg-r);padding:24px 16px;text-align:center;box-shadow:var(--pg-sh1);transition:transform .2s,box-shadow .2s}
.pg-finish__i:hover{transform:translateY(-3px);box-shadow:var(--pg-sh2)}
.pg-finish__ic{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:var(--pg-blue);background:color-mix(in srgb,var(--pg-blue) 11%,#fff)}
.pg-finish__n{font-size:17px;font-weight:600;color:var(--ps-ink)}
.pg-finish__d{font-size:16px;color:var(--ps-muted);line-height:1.55}

/* 下單流程 4 步 */
.pg-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pg-step{background:#fff;border:1px solid var(--ps-line);border-radius:var(--pg-r);padding:28px 20px;text-align:center;box-shadow:var(--pg-sh1)}
.pg-step__n{width:46px;height:46px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;font-size:20px;font-weight:700;color:#fff;background:var(--pg-accent);box-shadow:0 5px 13px rgba(255,106,61,.4),inset 0 1px 0 rgba(255,255,255,.4)}
.pg-step h3{font-size:16px;font-weight:600;margin:0 0 6px;color:var(--ps-ink)}
.pg-step p{font-size:16px;color:var(--ps-muted);line-height:1.6;margin:0}

/* 幫助入口 */
.pg-helpgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.pg-helpc{display:flex;flex-direction:column;gap:9px;padding:22px 16px;background:#fff;border:1px solid var(--ps-line);border-radius:var(--pg-r);box-shadow:var(--pg-sh1);transition:transform .2s,box-shadow .2s}
.pg-helpc:hover{transform:translateY(-4px);box-shadow:var(--pg-sh2)}
.pg-helpc__ic{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 13%,#fff)}
.pg-helpc__t{font-size:16px;font-weight:600;color:var(--ps-ink)}
.pg-helpc__d{font-size:16px;color:var(--ps-muted);line-height:1.6}

/* 客服 CTA */
.pg-cta{position:relative;overflow:hidden;border-radius:var(--pg-r-lg);padding:44px;text-align:center;color:#fff;background:var(--pg-blue);box-shadow:var(--pg-sh1)}
.pg-cta::before{content:"";position:absolute;inset:0;background:transparent;pointer-events:none}
.pg-cta__in{position:relative}
.pg-cta h2{font-size:26px;font-weight:600;margin:0 0 8px}
.pg-cta p{font-size:16px;opacity:.93;margin:0 0 24px}
.pg-cta__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.pg-line-btn{display:inline-flex;align-items:center;gap:8px;background:#06c755;color:#fff;font-weight:600;padding:13px 26px;border-radius:999px;font-size:16px;box-shadow:0 6px 16px rgba(6,199,85,.4),inset 0 1px 0 rgba(255,255,255,.3)}
.pg-line-btn:hover{filter:brightness(.97);color:#fff;transform:translateY(-2px)}

@media(max-width:980px){
  .pg-cats,.pg-helpgrid{grid-template-columns:repeat(3,1fr)}
  .pg-prods,.pg-finish,.pg-steps{grid-template-columns:repeat(2,1fr)}
  .pg-hero h1{font-size:32px}
}
@media(max-width:600px){
  .pg-sec{padding:40px 0}
  .pg-cats,.pg-helpgrid{grid-template-columns:repeat(2,1fr)}
  .pg-prods{grid-template-columns:repeat(2,1fr)}
  .pg-hero{padding:40px 24px}.pg-hero h1{font-size:27px}.pg-hero p{font-size:16px}
  .pg-h2{font-size:23px}
}

/* —— 首頁台灣印刷站版型:公告條 + 左分類欄 + 主內容 —— */
.pg-topbar{background:var(--pg-blue-deep);color:#fff;font-size:16px;text-align:center;padding:9px 16px}
.pg-topbar a{color:#ffd9c6;font-weight:600}
.pg-home{display:grid;grid-template-columns:230px 1fr;gap:22px;max-width:1180px;margin:22px auto 0;padding:0 20px;align-items:start}
.pg-side{position:sticky;top:74px;z-index:20;background:#fff;border:1px solid var(--ps-line);border-radius:var(--pg-r);box-shadow:var(--pg-sh1)}
.pg-side__h{font-size:16px;font-weight:600;color:#fff;padding:14px 18px;background:var(--pg-blue);border-radius:var(--pg-r) var(--pg-r) 0 0;display:flex;align-items:center;gap:8px}
.pg-side ul{list-style:none;margin:0;padding:7px}
.pg-side li a{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:9px;color:var(--ps-ink);font-size:16px;line-height:1.3;transition:background .15s,color .15s}
.pg-side li a:hover{background:var(--pg-blue-tint);color:var(--pg-blue)}
.pg-side__ic{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 14%,#fff);flex:0 0 auto}
.pg-side__nm{flex:1 1 auto;min-width:0}
.pg-arr{flex:0 0 auto;color:var(--ps-muted);font-weight:700}
/* 懸停子選單(L2 / L3 flyout) */
.pg-side li{position:relative}
.pg-submenu{list-style:none;margin:0;padding:6px;position:absolute;left:100%;top:-1px;min-width:212px;background:#fff;border:1px solid var(--ps-line);border-radius:10px;box-shadow:var(--pg-sh2);z-index:60;display:none;overflow:visible}
/* 含下一層的選單不可裁切(否則往右彈出的 L3 會被裁成捲軸);只有最底層(無更深子選單)才限高可捲 */
.pg-submenu:not(:has(> li > .pg-submenu)){max-height:78vh;overflow-y:auto}
.pg-side li:hover>.pg-submenu{display:block}
.pg-submenu a{justify-content:space-between}
.pg-main2{min-width:0;display:flex;flex-direction:column;gap:26px}

/* 主 banner */
.pg-banner{position:relative;overflow:hidden;border-radius:var(--pg-r-lg);padding:48px 44px;color:#fff;background:var(--pg-blue);box-shadow:var(--pg-sh1);min-height:210px;display:flex;flex-direction:column;justify-content:center}
.pg-banner::before{content:"";position:absolute;inset:0;background:transparent;pointer-events:none}
.pg-banner__deco{position:absolute;right:-10px;bottom:-30px;color:rgba(255,255,255,.13);pointer-events:none}
.pg-banner__in{position:relative;max-width:560px}
.pg-banner__eyebrow{display:inline-block;font-size:16px;font-weight:600;background:rgba(255,255,255,.2);padding:5px 13px;border-radius:999px;margin-bottom:14px}
.pg-banner h1{font-size:32px;line-height:1.25;font-weight:600;margin:0 0 12px}
.pg-banner h1 .hot{color:#ffd24a}
.pg-banner p{font-size:16px;line-height:1.65;opacity:.95;margin:0 0 22px}
.pg-banner__btns{display:flex;gap:12px;flex-wrap:wrap}

/* 服務快捷 */
.pg-svc{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.pg-svc a{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--ps-line);border-radius:var(--pg-r);padding:15px 16px;box-shadow:var(--pg-sh1);transition:transform .18s,box-shadow .18s,border-color .18s}
.pg-svc a:hover{transform:translateY(-3px);box-shadow:var(--pg-sh2);border-color:rgba(34,113,177,.3)}
.pg-svc__ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#fff;background:var(--pg-blue);flex:0 0 auto;box-shadow:0 4px 10px rgba(34,113,177,.3)}
.pg-svc__t{display:block;font-size:16px;font-weight:600;color:var(--ps-ink);line-height:1.3}
.pg-svc__s{display:block;font-size:16px;color:var(--ps-muted);margin-top:2px}

/* 主欄區塊標題(靠左 + 色條 + 右側看全部) */
.pg-mh{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px}
.pg-mh h2{font-size:20px;font-weight:600;color:var(--pg-blue-deep);margin:0;position:relative;padding-left:14px}
.pg-mh h2::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:4px;border-radius:2px;background:var(--pg-accent)}
.pg-mh a{font-size:16px;color:var(--ps-muted);white-space:nowrap}
.pg-mh a:hover{color:var(--pg-blue)}

/* 品項格(L2,主欄 4 欄) */
.pg-items{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.pg-item{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 12px;border-radius:var(--pg-r);background:#fff;border:1px solid var(--ps-line);box-shadow:var(--pg-sh1);text-align:center;transition:transform .2s,box-shadow .2s,border-color .2s}
.pg-item:hover{transform:translateY(-5px);box-shadow:var(--pg-sh2);border-color:rgba(34,113,177,.3)}
.pg-item__ic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 13%,#fff);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.pg-item__name{font-size:16px;font-weight:600;color:var(--ps-ink);line-height:1.4}

@media(max-width:900px){
  .pg-home{grid-template-columns:1fr}
  .pg-side{position:static}
  .pg-sidemenu{display:grid;grid-template-columns:repeat(2,1fr);padding:7px}
  .pg-submenu{display:none!important}
  .pg-svc{grid-template-columns:repeat(2,1fr)}
  .pg-items{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:560px){
  .pg-sidemenu{grid-template-columns:1fr}
  .pg-items{grid-template-columns:repeat(2,1fr)}
  .pg-banner{padding:34px 24px}.pg-banner h1{font-size:25px}
}

/* 最新消息 —— 首頁清單 */
.pg-news{list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--ps-line);border-radius:var(--pg-r);box-shadow:var(--pg-sh1);overflow:hidden}
.pg-news li+li{border-top:1px solid var(--ps-line)}
.pg-news a{display:flex;align-items:center;gap:16px;padding:14px 18px;color:var(--ps-ink)}
.pg-news a:hover{background:var(--pg-blue-tint)}
.pg-news__date{flex:0 0 auto;font-size:16px;font-weight:600;color:#fff;background:var(--pg-blue);border-radius:8px;padding:4px 11px;letter-spacing:.02em}
.pg-news__t{font-size:16px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pg-news a:hover .pg-news__t{color:var(--pg-blue)}
/* 最新消息 —— 列表頁 / 單篇 */
.ps-news-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.ps-news-list a{display:flex;gap:18px;background:#fff;border:1px solid var(--ps-line);border-radius:12px;padding:16px 20px;transition:border-color .15s,box-shadow .15s}
.ps-news-list a:hover{border-color:var(--ps-accent);box-shadow:0 3px 10px rgba(34,113,177,.12)}
.ps-news__date{flex:0 0 auto;font-size:16px;color:var(--ps-muted);font-weight:600}
.ps-news__body{display:flex;flex-direction:column;gap:4px;min-width:0}
.ps-news__t{font-size:17px;font-weight:600;color:var(--ps-ink);line-height:1.5}
.ps-news__d{font-size:16px;color:var(--ps-muted);line-height:1.6}
.ps-news__meta{color:var(--ps-muted);font-size:16px;margin:-6px 0 18px}
@media(max-width:560px){.ps-news-list a{flex-direction:column;gap:6px}}

@media(max-width:860px){
	.ps-product{grid-template-columns:1fr}
	.ps-form,.ps-auth{grid-template-columns:1fr}
	.ps-header__in{flex-wrap:wrap;gap:12px}
}
