/* ===== 樟德 JANGDE Demo 共用樣式（典藏木質風）===== */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
::selection { background:#b0875a; color:#fff; }
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: #efe7d9; }
::-webkit-scrollbar-thumb { background: #cdbb9c; border-radius: 10px; }

/* 細金線 */
.gold-rule { height:1px; background:linear-gradient(90deg,transparent,#b0875a,transparent); }

/* 進場 */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); }
.reveal.in { opacity:1; transform:none; }
.reveal.d1{transition-delay:.12s}.reveal.d2{transition-delay:.24s}.reveal.d3{transition-delay:.36s}.reveal.d4{transition-delay:.48s}

@keyframes kenburns { from{transform:scale(1)} to{transform:scale(1.12)} }
.kenburns { animation: kenburns 22s ease-out forwards; }
@keyframes rise { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:none} }
.pcard { animation: rise .6s cubic-bezier(.2,.8,.2,1) both; }

/* 圖片縮放 */
.zoom-img { transition: transform .8s cubic-bezier(.2,.8,.2,1); }
.group:hover .zoom-img { transform: scale(1.07); }

/* nav 底線 */
.nav-link { position:relative; }
.nav-link::after { content:''; position:absolute; left:0; bottom:-5px; width:0; height:2px; background:#b0875a; transition:width .3s ease; }
.nav-link:hover::after, .nav-link.active::after { width:100%; }
.nav-link.active { color:#5a4633; }

/* 側邊 CTA */
.side-cta a { transition: transform .25s ease; }
.side-cta a:hover { transform: translateX(-4px); }

/* 側欄手風琴 */
.acc-panel { max-height:0; overflow:hidden; transition:max-height .4s cubic-bezier(.2,.8,.2,1); }
.acc-item.open .acc-panel { max-height:340px; }
.acc-item.open .acc-arrow { transform:rotate(180deg); }
.acc-arrow { transition:transform .3s ease; }

/* FAQ 手風琴 */
.faq-body { max-height:0; overflow:hidden; transition:max-height .45s ease; }
.faq-item.open .faq-body { max-height:400px; }
.faq-item.open .faq-ico { transform:rotate(45deg); }
.faq-ico { transition:transform .3s ease; }

/* 卡片 hover */
.lift { transition: transform .45s ease, box-shadow .45s ease, border-color .3s ease; }
.lift:hover { transform: translateY(-6px); box-shadow: 0 22px 44px -22px rgba(43,33,24,.4); }

.swatch { background-size:cover; background-position:center; }

/* 表單 */
.field { width:100%; border:1px solid rgba(90,70,51,.18); background:#fff; border-radius:14px; padding:13px 15px; font-size:15px; color:#2b2118; transition:border-color .2s, box-shadow .2s; }
.field:focus { outline:none; border-color:#b0875a; box-shadow:0 0 0 3px rgba(176,135,90,.16); }
.field::placeholder { color:#b7ab99; }
.line-clamp-2 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
