:root{--ink:#5C4A3C;--soil:#4A3B2F;--soil-soft:#7A6754;--amber:#B89368;--amber-deep:#9C7A52;--linen:#F3ECE0;--linen-dim:#E8DFD0;--sage:#8C8169;--white:#FBF8F3;--terracotta:#B97A5A;}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--linen);color:var(--ink);font-family:'Noto Sans TC','Inter',sans-serif;font-weight:300;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
.serif{font-family:'Fraunces','Noto Serif TC',serif;}
.eyebrow{font-family:'Noto Sans TC',sans-serif;letter-spacing:.25em;font-size:.72rem;font-weight:500;color:var(--amber-deep);text-transform:uppercase;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(241,236,224,.86);backdrop-filter:blur(10px);border-bottom:1px solid rgba(43,52,36,.08);}
nav{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;max-width:1180px;margin:0 auto;}
.logo{font-family:'Fraunces',serif;font-size:1.3rem;font-weight:500;display:flex;align-items:center;gap:10px;letter-spacing:.02em;}
.logo .cn{font-size:.95rem;font-weight:400;color:var(--ink);opacity:.7;font-family:'Noto Serif TC',serif;}
.navlinks{display:flex;gap:38px;font-size:.92rem;font-weight:400;}
.navlinks a{position:relative;padding-bottom:4px;opacity:.85;transition:opacity .25s;}
.navlinks a:hover{opacity:1;}
.navlinks a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--amber);transition:width .3s;}
.navlinks a:hover::after{width:100%;}
.cta-btn{border:1px solid var(--ink);padding:9px 22px;border-radius:999px;font-size:.85rem;transition:all .3s;white-space:nowrap;}
.cta-btn:hover{background:var(--ink);color:var(--linen);}

/* 漢堡選單按鈕（手機版導覽） */
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;flex-direction:column;justify-content:center;gap:5px;z-index:60;}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s,opacity .3s;}
.nav-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.active span:nth-child(2){opacity:0;}
.nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media (max-width:860px){
  nav{position:relative;}
  .nav-toggle{display:flex;}
  .navlinks{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--linen);border-bottom:1px solid rgba(43,52,36,.08);box-shadow:0 12px 24px rgba(43,34,20,.1);padding:6px 0;}
  .navlinks.mobile-open{display:flex;}
  .navlinks a{padding:15px 32px;opacity:1;width:100%;}
  .navlinks a::after{display:none;}
}

.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden;background:url('spa-santorini-embrace-correct.jpg') center 35%/cover no-repeat;}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,14,6,.62) 0%,rgba(20,14,6,.12) 45%,rgba(20,14,6,.05) 70%);}
.hero-grid{position:relative;z-index:2;width:100%;padding-bottom:90px;}
.hero .eyebrow{color:#F0DDB0;}
.hero h1{font-family:'Fraunces',serif;font-size:clamp(2.6rem,5.6vw,4.6rem);font-weight:400;font-style:italic;letter-spacing:-.01em;line-height:1.18;margin-bottom:26px;color:#FAF3E2;text-shadow:0 4px 30px rgba(0,0,0,.25);}
.hero h1 em{font-style:normal;font-weight:300;color:#E7C893;}
.hero p.lead{font-size:1.05rem;color:#F3ECDC;opacity:.92;max-width:460px;margin-bottom:38px;}
.hero-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;}
.btn-primary{background:#FAF3E2;color:var(--ink);padding:15px 34px;border-radius:999px;font-size:.95rem;transition:background .3s,transform .3s;display:inline-block;}
.btn-primary:hover{background:var(--amber);color:#fff;transform:translateY(-1px);}
.btn-text{font-size:.92rem;color:#FAF3E2;border-bottom:1px solid rgba(250,243,226,.6);padding-bottom:2px;}
@media (max-width:900px){.hero{align-items:flex-end;background-position:center 18%;}
.hero-grid{text-align:left;padding-bottom:64px;}
}
.embrace-divider{display:block;width:100%;height:90px;margin-top:-1px;}
.philosophy{background:var(--white);padding:120px 0 130px;}
.sec-head{max-width:620px;margin-bottom:64px;}
.sec-head h2{font-size:clamp(1.9rem,3vw,2.6rem);font-weight:400;margin-top:14px;}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;}
.pillar{position:relative;padding-top:8px;}
.pillar .mark{font-family:'Fraunces',serif;font-style:italic;font-size:1rem;color:var(--amber-deep);margin-bottom:18px;display:block;}
.pillar h3{font-family:'Noto Serif TC',serif;font-size:1.35rem;font-weight:500;margin-bottom:14px;}
.pillar p{font-size:.94rem;opacity:.72;}
@media (max-width:860px){.pillars{grid-template-columns:1fr;gap:46px;}
}
.featured{position:relative;background:var(--white);}
.featured-photo{position:relative;width:100%;aspect-ratio:1707/958;min-height:280px;background:url('cedarwood-product-real.jpg') center/cover no-repeat;display:flex;align-items:flex-end;}
.featured-photo::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,14,6,0) 35%,rgba(20,14,6,.55) 100%);}
.featured-inner{position:relative;z-index:2;padding:48px 32px 56px;max-width:1180px;margin:0 auto;width:100%;}
.featured-inner .eyebrow{color:#F0DDB0;}
.featured-inner h2{font-family:'Fraunces',serif;font-style:italic;font-weight:400;font-size:clamp(2.2rem,4.4vw,3.6rem);color:#F2E6CB;margin:10px 0 6px;}
.featured-inner h2 .lat{display:block;font-size:.5em;letter-spacing:.04em;color:#E7C893;font-style:italic;margin-bottom:4px;}
.featured-meta{display:flex;gap:28px;align-items:baseline;margin-top:18px;flex-wrap:wrap;color:#F2E6CB;}
.featured-meta .price{font-family:'Fraunces',serif;font-size:1.7rem;color:#F2E6CB;}
.featured-meta .old{font-size:.85rem;opacity:.6;text-decoration:line-through;}
.featured-meta .origin-tag{font-size:.85rem;opacity:.85;border-left:1px solid rgba(242,230,203,.4);padding-left:18px;}
.certs{background:var(--soil);color:var(--linen);padding:110px 0;position:relative;}
.certs .sec-head{color:var(--linen);}
.certs .eyebrow{color:#E0A875;}
.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(241,236,224,.15);border:1px solid rgba(241,236,224,.15);margin-top:20px;}
.cert-card{background:var(--soil);padding:42px 36px;}
.cert-card .num{font-family:'Fraunces',serif;font-size:.85rem;letter-spacing:.1em;opacity:.55;}
.cert-card h4{font-family:'Noto Serif TC',serif;font-size:1.2rem;font-weight:500;margin:18px 0 12px;}
.cert-card p{font-size:.88rem;opacity:.7;}
@media (max-width:860px){.cert-grid{grid-template-columns:1fr;}
}
.products{padding:120px 0;background:var(--linen);}
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:60px;}
.prod-card{background:var(--white);border-radius:4px;padding:46px 34px;border:1px solid rgba(43,52,36,.08);transition:transform .35s,box-shadow .35s;}
.prod-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px -28px rgba(43,52,36,.25);}
.prod-vial{width:46px;height:78px;border-radius:8px 8px 20px 20px;margin-bottom:28px;}
.v1{background:linear-gradient(160deg,#D9A05B,#A85F28);}
.v2{background:linear-gradient(160deg,#9CA888,#5F6E4C);}
.v3{background:linear-gradient(160deg,#E7DDC4,#C9BB95);}
.prod-card h3{font-family:'Noto Serif TC',serif;font-size:1.3rem;font-weight:500;margin-bottom:10px;}
.prod-card .en{font-size:.78rem;opacity:.5;letter-spacing:.05em;margin-bottom:18px;display:block;}
.prod-card p{font-size:.9rem;opacity:.72;margin-bottom:22px;}
.sizes{display:flex;gap:10px;flex-wrap:wrap;}
.size-tag{font-size:.76rem;border:1px solid rgba(43,52,36,.25);border-radius:999px;padding:5px 14px;opacity:.75;font-family:'Noto Sans TC',sans-serif;}
@media (max-width:900px){.prod-grid{grid-template-columns:1fr;}
}
.origin{background:var(--sage);color:var(--white);padding:90px 0;}
.origin .wrap{display:grid;grid-template-columns:2fr 1fr;gap:60px;align-items:center;}
.origin h2{font-family:'Fraunces',serif;font-size:clamp(1.7rem,2.6vw,2.3rem);font-weight:400;font-style:italic;line-height:1.4;}
.origin p{font-size:.95rem;opacity:.88;margin-top:18px;max-width:720px;}
.origin-meta{display:flex;gap:40px;}
.origin-meta div{}
.origin-meta .big{font-family:'Fraunces',serif;font-size:2.4rem;display:block;}
.origin-meta .lbl{font-size:.78rem;opacity:.75;letter-spacing:.05em;}
@media (max-width:860px){.origin .wrap{grid-template-columns:1fr;text-align:left;}
}
.final-cta{padding:140px 0;text-align:center;background:var(--white);}
.final-cta h2{font-size:clamp(2rem,4vw,3.1rem);font-weight:400;margin-bottom:30px;}
.final-cta h2 em{font-style:italic;color:var(--amber-deep);}
.final-cta p{opacity:.7;max-width:460px;margin:0 auto 40px;}
footer{background:var(--ink);color:var(--linen);padding:80px 0 36px;}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:50px;margin-bottom:60px;}
.foot-logo{font-family:'Fraunces',serif;font-size:1.4rem;margin-bottom:16px;}
.foot-grid p{font-size:.86rem;opacity:.65;max-width:280px;}
.foot-col h5{font-size:.78rem;letter-spacing:.1em;opacity:.55;margin-bottom:18px;text-transform:uppercase;}
.foot-col a{display:block;font-size:.9rem;opacity:.85;margin-bottom:12px;}
.foot-col a:hover{opacity:1;text-decoration:underline;}
.foot-bottom{border-top:1px solid rgba(241,236,224,.15);padding-top:28px;display:flex;justify-content:space-between;font-size:.8rem;opacity:.55;flex-wrap:wrap;gap:12px;}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr;}
}
.page-banner{position:relative;min-height:46vh;display:flex;align-items:flex-end;padding-top:90px;overflow:hidden;}
.page-banner.bg-coastal{background:url('santorini-cliff-embrace.jpg') center 35%/cover no-repeat;}
.page-banner.bg-cedar{background:url('cedarwood-product-real.jpg') center 55%/cover no-repeat;}
.page-banner::before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,14,6,.6) 0%,rgba(20,14,6,.15) 60%,rgba(20,14,6,.05) 100%);}
.page-banner-inner{position:relative;z-index:2;padding:0 32px 56px;max-width:1180px;margin:0 auto;width:100%;}
.page-banner .eyebrow{color:#F0DDB0;}
.page-banner h1{font-family:'Fraunces',serif;font-style:italic;font-weight:400;color:#F2E6CB;font-size:clamp(2.2rem,5vw,3.6rem);margin-top:10px;text-shadow:0 4px 30px rgba(0,0,0,.25);}
.page-banner p{color:#F2E6CB;opacity:.85;max-width:760px;margin-top:14px;font-size:.98rem;}
@media (max-width:640px){.page-banner p{max-width:480px;}}
.catalog{padding:100px 0;background:var(--linen);}
.cat-tabs{display:flex;gap:14px;margin-bottom:54px;flex-wrap:wrap;}
.cat-tab{font-size:.85rem;padding:9px 20px;border-radius:999px;border:1px solid rgba(74,63,48,.25);opacity:.75;}
.cat-tab.active{background:var(--ink);color:var(--white);opacity:1;border-color:var(--ink);}
.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.cat-card{background:var(--white);border:1px solid rgba(43,52,36,.08);border-radius:4px;overflow:hidden;transition:transform .35s,box-shadow .35s;}
.cat-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px -28px rgba(43,52,36,.25);}
.cat-photo{height:230px;background-size:cover;background-position:center;}
.cat-body{padding:28px 26px;}
.cat-body .cat-en{font-size:.74rem;opacity:.5;letter-spacing:.05em;}
.cat-body h3{font-family:'Noto Serif TC',serif;font-size:1.2rem;font-weight:500;margin:8px 0 10px;}
.cat-body p{font-size:.86rem;opacity:.7;margin-bottom:18px;}
.cat-foot{display:flex;justify-content:space-between;align-items:center;}
.cat-price{font-family:'Fraunces',serif;font-size:1.15rem;color:var(--amber-deep);}
.cat-price .old{font-size:.78rem;opacity:.5;text-decoration:line-through;margin-left:8px;font-family:'Noto Sans TC',sans-serif;}
.cat-size{font-size:.74rem;opacity:.55;}
@media (max-width:900px){.catalog-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:600px){.catalog-grid{grid-template-columns:1fr;}
}
.about-story{padding:120px 0;background:var(--white);}
.about-story .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;}
.about-story img{width:100%;border-radius:4px;display:block;}
.about-story h2{font-family:'Fraunces',serif;font-style:italic;font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:22px;font-weight:400;}
.about-story p{font-size:.96rem;opacity:.75;margin-bottom:16px;}
@media (max-width:860px){.about-story .wrap{grid-template-columns:1fr;}
}
.timeline{padding:110px 0;background:var(--soil);color:var(--linen);}
.timeline .sec-head{color:var(--linen);max-width:800px;}
@media (max-width:640px){.timeline .sec-head{max-width:620px;}}
.timeline .eyebrow{color:#E0A875;}
.tl-row{display:grid;grid-template-columns:120px 1fr;gap:30px;padding:30px 0;border-top:1px solid rgba(241,236,224,.15);}
.tl-row:first-of-type{border-top:none;margin-top:40px;}
.tl-year{font-family:'Fraunces',serif;font-size:1.3rem;opacity:.85;}
.tl-text h4{font-family:'Noto Serif TC',serif;font-size:1.1rem;margin-bottom:8px;font-weight:500;}
.tl-text p{font-size:.88rem;opacity:.7;}
@media (max-width:700px){.tl-row{grid-template-columns:1fr;gap:10px;}
}
.spa-band{position:relative;min-height:72vh;display:flex;align-items:center;justify-content:center;background:url('spa-lantern-organic.jpg') center 30%/cover no-repeat;text-align:center;}
.spa-band::before{content:'';position:absolute;inset:0;background:rgba(20,14,6,.32);}
.spa-inner{position:relative;z-index:2;max-width:620px;padding:0 32px;}
.spa-inner .eyebrow{color:#F6EFDD;}
.spa-inner h2{font-family:'Fraunces',serif;font-weight:400;color:#FBF8F3;font-size:clamp(1.9rem,4vw,2.8rem);margin:14px 0 10px;text-shadow:0 4px 24px rgba(0,0,0,.3);}
.spa-inner .sub{font-family:'Fraunces',serif;font-style:italic;color:#F0DDB0;font-size:1.1rem;margin-bottom:26px;}
.spa-quote{font-family:'Fraunces',serif;font-style:italic;color:#FBF8F3;opacity:.92;font-size:1.02rem;line-height:1.8;}
.spa-quote cite{display:block;margin-top:10px;font-style:normal;font-size:.78rem;letter-spacing:.08em;opacity:.7;}
.scripture{font-family:'Fraunces',serif;font-style:italic;font-size:.92rem;color:var(--amber-deep);opacity:.85;line-height:1.7;margin-top:14px;}
.scripture cite{display:block;font-style:normal;font-size:.74rem;letter-spacing:.06em;opacity:.7;margin-top:4px;}
.lifestyle-strip{position:relative;min-height:46vh;background:url('embrace-woman-organic.jpg') center 25%/cover no-repeat;display:flex;align-items:center;}
.lifestyle-strip::before{content:'';position:absolute;inset:0;background:rgba(20,14,6,.25);}
.lifestyle-strip-inner{position:relative;z-index:2;max-width:1180px;margin:0 auto;width:100%;padding:0 32px;}
.lifestyle-strip h3{font-family:'Fraunces',serif;font-style:italic;color:#FBF8F3;font-size:clamp(1.6rem,3vw,2.3rem);text-shadow:0 4px 24px rgba(0,0,0,.3);max-width:480px;}
.page-banner.bg-santorini{background:url('spa-santorini-embrace-correct.jpg') center 30%/cover no-repeat;}
.page-banner.bg-boho{background:url('spa-lantern-organic.jpg') center 25%/cover no-repeat;}
#cart-button{position:relative;cursor:pointer;display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;opacity:.85;transition:opacity .25s;background:transparent;border:none;font-size:.9rem;color:var(--ink);}
#cart-button:hover{opacity:1;}
#cart-badge{position:absolute;top:-8px;right:-8px;background:#B89368;color:#fff;width:20px;height:20px;border-radius:50%;display:none;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;}
#cart-sidebar{position:fixed;right:-380px;top:0;width:360px;height:100vh;background:#fff;box-shadow:-2px 0 20px rgba(0,0,0,.1);z-index:1000;transition:right .3s ease;border-left:1px solid rgba(74,63,48,.1);}
#cart-sidebar.open{right:0;}
#cart-sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid rgba(74,63,48,.1);}
#cart-sidebar-header h3{font-family:'Fraunces',serif;font-style:italic;font-size:1.2rem;margin:0;}
#cart-sidebar-close{background:none;border:none;font-size:1.5rem;cursor:pointer;opacity:.6;}
.add-to-cart-btn{display:inline-block;margin-top:12px;padding:10px 18px;background:var(--ink);color:var(--linen);border:none;border-radius:4px;font-size:.85rem;cursor:pointer;transition:background .3s;}
.add-to-cart-btn:hover{background:var(--amber-deep);}
.product-size-selector{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap;}
.size-option{padding:6px 12px;border:1px solid rgba(74,63,48,.25);border-radius:3px;background:#fff;cursor:pointer;transition:all .25s;font-size:.9rem;}
.size-option.active{background:var(--ink);color:#fff;border-color:var(--ink);}
.size-option:hover:not(.active){border-color:var(--ink);}
.quantity-control{display:flex;align-items:center;gap:8px;margin:12px 0;}
.qty-btn{width:32px;height:32px;border:1px solid rgba(74,63,48,.25);background:#fff;border-radius:3px;cursor:pointer;transition:all .25s;font-weight:600;}
.qty-btn:hover{background:var(--linen);border-color:var(--ink);}
.qty-display{width:40px;text-align:center;font-weight:600;}
@keyframes slideIn{from{opacity:0;transform:translateY(10px);}
to{opacity:1;transform:translateY(0);}
}


/* 防止文字複製與圖片拖拽 */
body {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}
img {
  -webkit-user-select: none;
  -webkit-user-drag: none;
  pointer-events: none;
}
a, button {
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

/* ═══ 商品系列頁面卡片樣式（修復圖片過大問題）═══ */
.product-grid,.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:32px;padding:40px 5%;max-width:1400px;margin:0 auto;}
.product-card{background:var(--white);border-radius:12px;overflow:hidden;box-shadow:0 2px 12px rgba(92,74,60,.08);transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;}
.product-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(92,74,60,.15);}
.product-image{width:100%;height:260px;object-fit:contain;display:block;background:var(--linen-dim);}
.product-info{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1;}
.product-badge{display:inline-block;background:var(--amber);color:#fff;font-size:.7rem;padding:4px 12px;border-radius:20px;width:fit-content;letter-spacing:.05em;}
.product-name{font-family:'Fraunces',serif;font-size:1.15rem;color:var(--ink);font-weight:600;margin-top:4px;}
.product-en{font-size:.78rem;color:var(--sage);font-style:italic;letter-spacing:.03em;}
.product-details{font-size:.85rem;color:var(--ink);opacity:.8;line-height:1.6;margin:6px 0;}
.product-price{font-size:1.3rem;color:var(--amber-deep);font-weight:700;margin:8px 0;}
.product-btns{display:flex;gap:10px;margin-top:auto;flex-wrap:wrap;}
.size-select-wrap{flex-basis:100%;width:100%;margin:8px 0;}
.add-btn{flex:1;background:var(--ink);color:var(--linen);border:none;padding:12px;border-radius:30px;cursor:pointer;font-size:.9rem;transition:background .3s;}
.add-btn:hover{background:var(--soil);}
.line-btn{background:var(--linen-dim);color:var(--ink);border:none;padding:12px 18px;border-radius:30px;cursor:pointer;font-size:.9rem;transition:background .3s;}
.line-btn:hover{background:var(--amber);color:#fff;}

/* ═══ 限時優惠頁面卡片樣式（promotion.html）═══ */
.promo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:32px;padding:40px 5%;max-width:1400px;margin:0 auto;}
.promo-card{background:var(--white);border-radius:12px;overflow:hidden;box-shadow:0 2px 12px rgba(92,74,60,.08);transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;}
.promo-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(92,74,60,.15);}
.promo-image{width:100%;height:260px;object-fit:contain;display:block;background:var(--linen-dim);}
.promo-info{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1;}
.promo-badge{display:inline-block;background:var(--terracotta);color:#fff;font-size:.7rem;padding:4px 12px;border-radius:20px;width:fit-content;letter-spacing:.05em;}
.promo-name{font-family:'Fraunces',serif;font-size:1.15rem;color:var(--ink);font-weight:600;margin-top:4px;line-height:1.4;}
.promo-en{font-size:.78rem;color:var(--sage);font-style:italic;}
.promo-spec{font-size:.85rem;color:var(--ink);opacity:.85;line-height:1.6;margin:6px 0;}
.promo-price{font-size:1.3rem;color:var(--amber-deep);font-weight:700;margin:8px 0;}
.promo-btn{width:100%;background:var(--ink);color:var(--linen);border:none;padding:12px;border-radius:30px;cursor:pointer;font-size:.9rem;transition:background .3s;margin-top:auto;}
.promo-btn:hover{background:var(--soil);}

@media (max-width: 600px){
  .products-grid,.promo-grid{grid-template-columns:1fr 1fr;gap:16px;padding:20px 4%;}
  .product-image,.promo-image{height:160px;}
  .product-info,.promo-info{padding:12px;}
  .product-name,.promo-name{font-size:.95rem;}
}

/* 購物車遮罩層 */
#cart-overlay{position:fixed;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.3);z-index:999;display:none;}
/* 購物車導覽列文字連結 */
#cart-nav-link{color:var(--ink);font-size:.88rem;font-weight:500;transition:color .3s;}
#cart-nav-link:hover{color:var(--amber-deep);}
#cart-total-box{padding:20px;border-top:1px solid var(--linen-dim);}
#cart-items-sidebar{flex:1;overflow-y:auto;}
#cart-sidebar{display:flex;flex-direction:column;}

/* ══════════════════════════════════════════
   修復補充：缺失CSS定義
   ══════════════════════════════════════════ */

/* promotion.html 頁首 */
.promo-banner{background:var(--ink);color:var(--linen);text-align:center;padding:12px 20px;font-size:.85rem;letter-spacing:.08em;}
.promo-head{text-align:center;padding:60px 20px 20px;background:var(--linen);}
.promo-head h2{font-family:'Fraunces',serif;font-style:italic;font-size:2rem;color:var(--ink);margin-bottom:8px;}
.promo-head p{color:var(--sage);font-size:.95rem;}

/* promotion.html 上方感性引言 */
.promo-intro{background:var(--soil-soft);color:var(--linen);padding:80px 20px 64px;text-align:center;}
.promo-intro .wrap{max-width:820px;}
.promo-intro h2{font-family:'Fraunces',serif;font-style:italic;font-weight:400;font-size:clamp(1.6rem,3.2vw,2.3rem);color:var(--linen);margin-bottom:26px;}
.promo-intro p{font-size:.98rem;line-height:1.9;opacity:.92;margin-bottom:18px;}
.promo-intro-tags{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin:30px 0;padding:24px 0;border-top:1px solid rgba(243,236,224,.18);border-bottom:1px solid rgba(243,236,224,.18);}
.promo-intro-tags span{font-family:'Noto Serif TC',serif;font-size:.92rem;color:#F0DDB0;letter-spacing:.04em;}
.promo-intro-close{font-family:'Fraunces',serif;font-style:italic;color:#F0DDB0;font-size:1.05rem;margin-top:26px;}

/* promotion.html 商品精選 Spotlight */
.promo-feature{background:var(--white);padding:70px 20px;}
.promo-feature-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center;max-width:1100px;}
.promo-feature-img{width:100%;height:100%;max-height:560px;object-fit:cover;border-radius:14px;display:block;box-shadow:0 12px 40px rgba(92,74,60,.18);}
.promo-feature-text h3{font-family:'Fraunces',serif;font-size:1.7rem;color:var(--ink);font-weight:600;line-height:1.4;margin:14px 0 6px;}
.promo-feature-text .promo-en-lg{display:inline-block;font-size:.95rem;font-style:italic;color:var(--sage);font-weight:400;margin-top:6px;}
.promo-feature-quote{font-family:'Noto Serif TC',serif;font-size:1rem;color:var(--amber-deep);line-height:1.8;margin:14px 0;padding-left:16px;border-left:2px solid var(--amber);}
.promo-feature-specs{list-style:none;margin:22px 0;padding:0;font-size:.92rem;color:var(--ink);opacity:.88;line-height:2;}
.promo-feature-price{font-size:1.35rem;color:var(--amber-deep);font-weight:700;margin:10px 0 16px;}
.promo-feature-tagline{font-size:.92rem;color:var(--ink);opacity:.85;line-height:1.8;margin-bottom:22px;}
.promo-feature .promo-btn{width:auto;padding:13px 32px;}

@media (max-width:860px){
  .promo-feature-inner{grid-template-columns:1fr;gap:32px;}
  .promo-feature-img{max-height:420px;}
  .promo-intro{padding:56px 20px 44px;}
  .promo-intro-tags{gap:16px 24px;}
}
.promo-ctas{display:flex;justify-content:center;gap:16px;padding:20px;flex-wrap:wrap;}
.promo-cta-link{color:var(--amber-deep);font-weight:600;text-decoration:none;font-size:.95rem;transition:color .3s;}
.promo-cta-link:hover{color:var(--ink);}
.promo-call-action{text-align:center;padding:40px 20px;background:var(--linen);}

/* 購物車nav badge */
.cart-nav-badge{display:none;position:absolute;top:-8px;right:-14px;background:#B97A5A;color:#fff;width:18px;height:18px;border-radius:50%;align-items:center;justify-content:center;font-size:.68rem;font-weight:bold;}

/* landing.html 購物車固定連結 */
#cart-nav-link{text-decoration:none;transition:all .3s;}
#cart-nav-link:hover{box-shadow:0 4px 16px rgba(92,74,60,.2)!important;}
