/* SENJU LIVING — 前台會員/購物車/結帳介面（疊加於模板之上，沿用模板字型與色感） */
:root{
  --sj-ink:#222;
  --sj-muted:#777;
  --sj-line:#e7e3dc;
  --sj-bg:#fff;
  --sj-accent:#1f1f1f;
  --sj-paper:#f6f3ee;
}
.sj-hidden{display:none !important;}

/* 導覽列帳號控制 */
.sj-account{display:inline-flex;align-items:center;gap:.5rem;margin-left:.75rem;font-size:.85rem;}
.sj-account a{cursor:pointer;color:var(--sj-ink);text-decoration:none;border-bottom:1px solid transparent;}
.sj-account a:hover{border-bottom-color:var(--sj-ink);}
.sj-account .sj-sep{color:var(--sj-line);}

/* 遮罩層 */
.sj-overlay{
  position:fixed;inset:0;background:rgba(20,18,15,.45);
  z-index:99999;display:flex;justify-content:flex-end;
  opacity:0;pointer-events:none;transition:opacity .25s ease;
}
.sj-overlay.sj-open{opacity:1;pointer-events:auto;}
.sj-overlay.sj-center{align-items:center;justify-content:center;}

/* 抽屜 / 對話框 */
.sj-panel{
  background:var(--sj-bg);height:100%;width:min(420px,92vw);
  display:flex;flex-direction:column;box-shadow:-8px 0 40px rgba(0,0,0,.15);
  transform:translateX(40px);transition:transform .25s ease;
  font-family:inherit;color:var(--sj-ink);
}
.sj-overlay.sj-open .sj-panel{transform:translateX(0);}
.sj-overlay.sj-center .sj-panel{
  height:auto;max-height:88vh;width:min(460px,94vw);border-radius:10px;
  transform:translateY(16px);
}
.sj-overlay.sj-center.sj-open .sj-panel{transform:translateY(0);}

.sj-panel-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.15rem 1.4rem;border-bottom:1px solid var(--sj-line);
}
.sj-panel-head h3{margin:0;font-size:1.05rem;letter-spacing:.02em;font-weight:600;}
.sj-x{cursor:pointer;border:0;background:none;font-size:1.3rem;line-height:1;color:var(--sj-muted);}
.sj-x:hover{color:var(--sj-ink);}

.sj-panel-body{padding:1.2rem 1.4rem;overflow:auto;flex:1;}
.sj-panel-foot{padding:1.1rem 1.4rem;border-top:1px solid var(--sj-line);}

/* 購物車項目 */
.sj-line-item{display:flex;gap:.9rem;padding:.85rem 0;border-bottom:1px solid var(--sj-line);}
.sj-line-item img{width:64px;height:64px;object-fit:cover;border-radius:6px;background:var(--sj-paper);}
.sj-li-main{flex:1;min-width:0;}
.sj-li-name{font-size:.9rem;line-height:1.3;margin:0 0 .35rem;}
.sj-li-price{color:var(--sj-muted);font-size:.82rem;}
.sj-qty{display:inline-flex;align-items:center;border:1px solid var(--sj-line);border-radius:6px;margin-top:.45rem;}
.sj-qty button{width:28px;height:28px;border:0;background:none;cursor:pointer;font-size:1rem;color:var(--sj-ink);}
.sj-qty span{min-width:30px;text-align:center;font-size:.85rem;}
.sj-li-remove{background:none;border:0;color:var(--sj-muted);cursor:pointer;font-size:.75rem;align-self:flex-start;}
.sj-li-remove:hover{color:#c0392b;}

.sj-empty{color:var(--sj-muted);text-align:center;padding:2.5rem 0;font-size:.9rem;}

.sj-total-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.9rem;}
.sj-total-row .sj-total{font-size:1.25rem;font-weight:600;}

/* 按鈕 */
.sj-btn{
  display:block;width:100%;padding:.85rem 1rem;border:0;border-radius:6px;
  background:var(--sj-accent);color:#fff;font-size:.92rem;letter-spacing:.04em;
  cursor:pointer;text-align:center;transition:opacity .2s;font-family:inherit;
}
.sj-btn:hover{opacity:.88;}
.sj-btn[disabled]{opacity:.45;cursor:not-allowed;}
.sj-btn-ghost{background:transparent;color:var(--sj-ink);border:1px solid var(--sj-line);}

/* 表單 */
.sj-field{margin-bottom:.9rem;}
.sj-field label{display:block;font-size:.78rem;color:var(--sj-muted);margin-bottom:.3rem;letter-spacing:.03em;}
.sj-field input,.sj-field textarea{
  width:100%;padding:.65rem .75rem;border:1px solid var(--sj-line);border-radius:6px;
  font-size:.9rem;font-family:inherit;color:var(--sj-ink);background:#fff;box-sizing:border-box;
}
.sj-field input:focus,.sj-field textarea:focus{outline:none;border-color:var(--sj-ink);}
.sj-note{font-size:.8rem;color:var(--sj-muted);margin:.2rem 0 1rem;line-height:1.5;}
.sj-msg{font-size:.82rem;padding:.6rem .75rem;border-radius:6px;margin-bottom:.9rem;}
.sj-msg-err{background:#fdecea;color:#b3261e;}
.sj-msg-ok{background:#eaf6ec;color:#1f7a35;}
.sj-msg-info{background:#eef2f7;color:#33506e;}
.sj-switch{font-size:.82rem;color:var(--sj-muted);text-align:center;margin-top:1rem;}
.sj-switch a{color:var(--sj-ink);cursor:pointer;border-bottom:1px solid var(--sj-ink);}

/* Toast */
.sj-toast{
  position:fixed;left:50%;bottom:32px;transform:translateX(-50%) translateY(20px);
  background:var(--sj-ink);color:#fff;padding:.7rem 1.2rem;border-radius:6px;font-size:.85rem;
  z-index:100000;opacity:0;pointer-events:none;transition:all .25s ease;
}
.sj-toast.sj-show{opacity:1;transform:translateX(-50%) translateY(0);}

/* 訂單完成摘要 */
.sj-order-box{max-width:560px;margin:2rem auto;padding:1.6rem;border:1px solid var(--sj-line);border-radius:10px;font-family:inherit;color:var(--sj-ink);}
.sj-order-box h3{margin-top:0;}
.sj-order-box .sj-line-item:last-child{border-bottom:0;}
.sj-badge{display:inline-block;padding:.2rem .6rem;border-radius:20px;font-size:.75rem;}
.sj-badge.paid{background:#eaf6ec;color:#1f7a35;}
.sj-badge.pending{background:#fff4e5;color:#a35b00;}
.sj-badge.failed{background:#fdecea;color:#b3261e;}

/* 商品總覽：欄數切換 + 分類篩選 */
.sj-overview{font-family:inherit;color:var(--sj-ink);}
.sj-overview-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1.8rem;}
.sj-cat-filter{display:flex;flex-wrap:wrap;gap:.5rem;}
.sj-chip{cursor:pointer;border:1px solid var(--sj-line);background:#fff;color:var(--sj-ink);
  padding:.4rem .95rem;border-radius:24px;font-size:.84rem;font-family:inherit;transition:.18s;}
.sj-chip:hover{border-color:var(--sj-ink);}
.sj-chip.on{background:var(--sj-ink);color:#fff;border-color:var(--sj-ink);}

/* 導覽列 Product 分類下拉 */
.sj-has-dd{position:relative;}
.sj-nav-dd{
  position:absolute;left:0;top:100%;min-width:180px;background:#fff;
  border:1px solid var(--sj-line);border-radius:8px;box-shadow:0 12px 32px rgba(0,0,0,.12);
  padding:.4rem 0;display:flex;flex-direction:column;z-index:9999;
  opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s;
}
.sj-has-dd:hover .sj-nav-dd,.sj-has-dd:focus-within .sj-nav-dd{opacity:1;visibility:visible;transform:translateY(0);}
.sj-nav-dd-link{display:block;padding:.55rem 1.1rem;font-size:.86rem;color:var(--sj-ink);text-decoration:none;white-space:nowrap;}
.sj-nav-dd-link:hover{background:var(--sj-paper);}

.sj-col-toggle{display:flex;align-items:center;gap:.5rem;justify-content:flex-end;margin:0;}
.sj-col-toggle span{color:var(--sj-muted);font-size:.85rem;}
.sj-col-toggle button{cursor:pointer;border:1px solid var(--sj-line);background:#fff;color:var(--sj-ink);
  padding:.35rem .8rem;border-radius:20px;font-size:.82rem;font-family:inherit;transition:.18s;}
.sj-col-toggle button.on,.sj-col-toggle button:hover{background:var(--sj-ink);color:#fff;border-color:var(--sj-ink);}
.sj-cat-section{margin:0 0 3rem;}
.sj-cat-head{margin:0 0 1.2rem;}
.sj-cat-head h2{margin:0;}
.sj-cat-desc{color:var(--sj-muted);margin:.3rem 0 0;}

/* 客戶見證（動態，有幾筆顯示幾張）*/
.sj-testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;align-items:start;}
.sj-testi-grid .card.testimonials-v1{height:100%;}
@media(max-width:600px){.sj-testi-grid{grid-template-columns:1fr;}}

/* 客戶見證輪播（多卡、等高）*/
.sj-testi-track .slide-item{height:auto;}
.sj-testi-track .card.testimonials-v1{width:100%;height:100%;margin:0;}
/* 自有分頁點（取代 Webflow 內建 nav，避免被其引擎重建）*/
.sj-testi-dots{display:flex;justify-content:center;gap:8px;margin-top:22px;position:relative;z-index:1;}
.sj-testi-dots .w-slider-dot{position:relative;display:inline-block;width:10px;height:10px;margin:0;border-radius:50%;background:rgba(0,0,0,.25);cursor:pointer;transition:background .2s;}
.sj-testi-dots .w-slider-dot.w-active{background:rgba(0,0,0,.7);}

/* FAQ 手風琴 */
.sj-faq-wrap{padding:1rem 0;}
.sj-faq-group{margin:0 0 2.2rem;}
.sj-faq-cat{margin:0 0 1rem;color:var(--sj-ink);}
.sj-faq .faq-item-top-content{cursor:pointer;}
.sj-faq .sj-faq-body{height:0;overflow:hidden;opacity:0;transition:.25s;}
.sj-faq.sj-open .sj-faq-body{height:auto;opacity:1;padding-bottom:1rem;}
.sj-faq.sj-open .faq-icon-line.vertical{transform:rotate(90deg);opacity:0;}

/* 首頁主視覺：產品展示 montage（雙欄反向捲動，沿用樣板 home-sections 版型）*/
.home-screenshots-container{overflow:hidden;}
.screenshots-grid{display:grid;grid-template-columns:1fr;row-gap:20px;align-content:start;}
.sj-hero-shot{display:block;}
.sj-hero-shot .screenshot-image{display:block;width:100%;height:auto;border-radius:5px;box-shadow:0 18px 40px rgba(0,0,0,.20);}
.screenshots-grid.col-1{animation:sj-hero-up 30s linear infinite;}
.screenshots-grid.col-2{animation:sj-hero-down 30s linear infinite;}
@keyframes sj-hero-up{from{transform:translateY(0);}to{transform:translateY(-50%);}}
@keyframes sj-hero-down{from{transform:translateY(-50%);}to{transform:translateY(0);}}
.home-screenshots-container:hover .screenshots-grid{animation-play-state:paused;}
@media(prefers-reduced-motion:reduce){.screenshots-grid.col-1,.screenshots-grid.col-2{animation:none;}}
@media(max-width:991px){.sj-hero-text{text-align:center;}.sj-hero-text .container-inner-400px.left{margin-left:auto;margin-right:auto;}.sj-hero-text ._2-buttons-left{justify-content:center;}}
@media(max-width:767px){.home-screenshots-container{position:relative;max-width:100%;right:auto;height:360px;margin-top:32px;}}
