:root {
    --front-ink:#1b1d1f;
    --front-muted:#697077;
    --front-soft:#f5f3ee;
    --front-accent:#ff6b35;
    --front-green:#78a982;
}
html { scroll-behavior:smooth; }
body { color:var(--front-ink); background:#fff; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC","Microsoft JhengHei",sans-serif; }
.front-navbar { min-height:72px; }
.front-navbar .nav-link { color:#5b6065; font-weight:600; padding-left:.85rem!important; padding-right:.85rem!important; }
.front-navbar .nav-link:hover,.front-navbar .nav-link.active { color:#111; }
.brand-mark { display:inline-grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#1d1f21; color:#fff; font-size:17px; }
.hero-section { background:linear-gradient(180deg,#faf9f6 0%,#fff 100%); }
.hero-card { border-radius:30px; background:#f2efe8; min-height:570px; }
.hero-copy { max-width:680px; }
.hero-copy h1 span { color:var(--front-accent); }
.eyebrow,.section-kicker { font-size:.76rem; letter-spacing:.14em; font-weight:800; text-transform:uppercase; }
.eyebrow { color:#7a6558; background:rgba(255,255,255,.75); padding:.55rem .85rem; border-radius:999px; }
.hero-stats strong { display:block; font-size:1.45rem; line-height:1.1; }
.hero-stats span { display:block; color:var(--front-muted); font-size:.82rem; margin-top:.25rem; }
.hero-visual-wrap { min-height:420px; }
.hero-visual { position:relative; height:100%; min-height:500px; overflow:hidden; background:radial-gradient(circle at 50% 42%,#ffd6a5 0,#f2c89b 30%,#d9a77e 64%,#c48d67 100%); }
.hero-visual:before { content:""; position:absolute; inset:8% 8%; border:1px solid rgba(255,255,255,.35); border-radius:50%; }
.hero-product-stack { position:absolute; left:50%; top:52%; transform:translate(-50%,-50%); width:260px; height:350px; }
.mock-product { position:absolute; width:175px; height:240px; border-radius:20px; padding:24px 18px; box-shadow:0 25px 50px rgba(46,31,20,.22); display:flex; flex-direction:column; justify-content:flex-end; font-weight:800; }
.mock-product span { font-size:1.35rem; }
.mock-product small { opacity:.58; letter-spacing:.15em; margin-top:4px; }
.mock-a { background:#fff8e8; transform:rotate(-13deg); left:0; top:45px; }
.mock-b { background:#759c7d; color:#fff; transform:rotate(5deg); left:73px; top:0; z-index:3; }
.mock-c { background:#f26943; color:#fff; transform:rotate(14deg); left:89px; top:103px; z-index:2; }
.hero-bubble { position:absolute; background:rgba(255,255,255,.9); backdrop-filter:blur(8px); border-radius:999px; padding:.65rem 1rem; font-size:.8rem; font-weight:700; box-shadow:0 8px 22px rgba(0,0,0,.08); }
.bubble-one { top:14%; left:10%; }.bubble-two { top:29%; right:7%; }.bubble-three { bottom:13%; left:12%; }
.py-lg-6 { padding-top:5rem!important; padding-bottom:5rem!important; }
.section-kicker { color:#a57455; display:block; margin-bottom:.45rem; }
.more-link { gap:.35rem; align-items:center; color:#222; text-decoration:none; font-weight:700; }
.group-card { background:#fff; border:1px solid #e9e7e2; border-radius:22px; overflow:hidden; transition:.2s ease; }
.group-card:hover { transform:translateY(-4px); box-shadow:0 14px 38px rgba(36,30,24,.08); }
.group-cover { height:190px; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.cover-1 { background:#e7d6c5; }.cover-2 { background:#c9d9c7; }.cover-3 { background:#ded4ec; }.cover-4 { background:#ead7b2; }
.group-cover:after { content:""; position:absolute; width:150px; height:150px; border:28px solid rgba(255,255,255,.35); border-radius:50%; right:-30px; bottom:-45px; }
.group-cover-title { font-size:4rem; font-weight:900; opacity:.18; }
.group-badge { position:absolute; left:14px; top:14px; z-index:2; background:#fff; border-radius:999px; padding:.4rem .7rem; font-size:.73rem; font-weight:800; }
.group-price,.product-price { color:#e95b2a; font-size:1.22rem; font-weight:800; }
.round-arrow { width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:#1f2224; color:#fff; text-decoration:none; }
.bg-soft { background:var(--front-soft); }
.product-card { padding-bottom:.4rem; }
.product-image { position:relative; height:285px; border-radius:20px; display:grid; place-items:center; text-decoration:none; overflow:hidden; }
.product-initial { font-size:5rem; font-weight:900; color:rgba(30,30,30,.18); }
.product-tone-1{background:#efe4d2}.product-tone-2{background:#dbe7df}.product-tone-3{background:#e5dded}.product-tone-4{background:#eddac9}.product-tone-5{background:#d7e4ec}
.price-chip { position:absolute; left:12px; top:12px; background:#1e1f20; color:#fff; border-radius:999px; font-size:.7rem; padding:.4rem .65rem; }
.text-truncate-2 { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.feature-box { border:1px solid #e8e7e4; border-radius:22px; padding:28px; background:#fff; }
.feature-icon { width:48px; height:48px; border-radius:16px; background:#f1eee7; display:grid; place-items:center; font-size:1.25rem; margin-bottom:1.2rem; }
.leader-banner { background:linear-gradient(135deg,#769d7f 0%,#8fb197 100%); border-radius:28px; position:relative; overflow:hidden; }
.leader-banner:after { content:""; position:absolute; width:280px; height:280px; border:54px solid rgba(255,255,255,.05); border-radius:50%; right:-70px; top:-100px; }
.empty-front-state { border:1px dashed #d8d6d0; border-radius:22px; background:#fff; }
.empty-icon { font-size:2rem; margin-bottom:.75rem; }
.front-footer { background:#171a18; color:#fff; }
.front-footer a { display:block; color:rgba(255,255,255,.58); text-decoration:none; margin:.5rem 0; font-size:.9rem; }
.front-footer a:hover { color:#fff; }
.footer-title { font-weight:800; margin-bottom:.8rem; }
.brand-mark-light { background:#fff; color:#171a18; }
@media (max-width:991.98px){
  .hero-card { min-height:auto; }
  .hero-visual { min-height:420px; }
  .product-image { height:230px; }
}
@media (max-width:575.98px){
  .hero-card { border-radius:22px; }
  .hero-copy h1 { font-size:2.45rem; }
  .hero-visual { min-height:340px; }
  .hero-product-stack { transform:translate(-50%,-50%) scale(.8); }
  .product-image { height:175px; border-radius:16px; }
  .product-initial { font-size:3.5rem; }
  .group-cover { height:165px; }
}

/* Phase 19.2 - homepage banner + categories */
.category-section { background:linear-gradient(180deg,#fff 0%,#fbfaf7 100%); }
.category-panel { border:1px solid #ebe8e1; border-radius:24px; padding:22px; background:#fff; box-shadow:0 10px 34px rgba(46,39,30,.04); }
.category-scroll { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.category-item { min-width:0; position:relative; display:flex; align-items:center; gap:12px; border-radius:18px; padding:16px; color:#202326; text-decoration:none; transition:.2s ease; overflow:hidden; }
.category-item:hover { color:#111; transform:translateY(-2px); box-shadow:0 9px 24px rgba(33,31,27,.07); }
.category-icon { flex:0 0 42px; width:42px; height:42px; display:grid; place-items:center; border-radius:14px; background:rgba(255,255,255,.72); font-size:1.1rem; }
.category-copy { min-width:0; display:flex; flex-direction:column; }
.category-copy strong { font-size:.95rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.category-copy small { color:#6e7479; margin-top:2px; }
.category-arrow { margin-left:auto; opacity:.45; }
.category-tone-1{background:#f3e7d9}.category-tone-2{background:#e6efe9}.category-tone-3{background:#eee7f3}.category-tone-4{background:#f3e8df}.category-tone-5{background:#e2edf2}.category-tone-6{background:#f1ecd9}
.home-promo-banner { min-height:340px; padding:42px 48px; border-radius:28px; background:linear-gradient(125deg,#79a183 0%,#8fb49a 58%,#a7c4ac 100%); color:#fff; position:relative; overflow:hidden; }
.home-promo-banner:before { content:""; position:absolute; width:360px; height:360px; border:70px solid rgba(255,255,255,.045); border-radius:50%; right:-100px; top:-140px; }
.promo-label { display:inline-block; font-size:.72rem; letter-spacing:.15em; font-weight:800; margin-bottom:12px; color:#fff3d6; }
.promo-visual { height:240px; position:relative; }
.promo-circle { position:absolute; width:210px; height:210px; border-radius:50%; background:#e8d3a9; right:12%; top:12px; opacity:.88; }
.promo-card { position:absolute; z-index:2; width:190px; height:125px; border-radius:20px; padding:20px; box-shadow:0 20px 45px rgba(0,0,0,.18); display:flex; flex-direction:column; justify-content:flex-end; }
.promo-card small { letter-spacing:.12em; font-size:.64rem; opacity:.65; margin-bottom:4px; }
.promo-card strong { font-size:1.2rem; }
.promo-card-one { background:#fff6e5; color:#28302b; right:32%; top:8px; transform:rotate(-6deg); }
.promo-card-two { background:#e56740; color:#fff; right:4%; bottom:8px; transform:rotate(7deg); }
@media (max-width:991.98px){
  .category-scroll { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-promo-banner { padding:34px; }
}
@media (max-width:575.98px){
  .category-panel { padding:18px 14px; border-radius:20px; }
  .category-scroll { display:flex; overflow-x:auto; gap:10px; padding-bottom:4px; scrollbar-width:none; }
  .category-scroll::-webkit-scrollbar { display:none; }
  .category-item { flex:0 0 185px; padding:14px; }
  .home-promo-banner { min-height:auto; padding:28px 24px; border-radius:22px; }
  .home-promo-banner h2 { font-size:2rem; }
  .promo-visual { height:190px; }
  .promo-card { width:155px; height:105px; padding:15px; }
  .promo-circle { width:165px; height:165px; right:6%; }
}

/* Phase 19.3 - B version: denser group-buy marketplace home */
.front-notice-bar{background:#edf5ef;color:#46664d;font-size:.82rem;font-weight:700;padding:.55rem 0;border-bottom:1px solid #e1ece4}.front-notice-bar a{color:#46664d;text-decoration:none}
.shop-hero-section{background:#fff}.shop-hero-card{border:1px solid #e9e9e5;border-radius:24px;overflow:hidden;background:linear-gradient(120deg,#faf8f2 0%,#fff 68%);box-shadow:0 12px 36px rgba(30,30,25,.045)}.shop-hero-label{display:inline-flex;align-items:center;background:#fff0dc;color:#bd6538;border-radius:999px;padding:.48rem .8rem;font-size:.75rem;font-weight:800}.shop-hero-card h1 span{color:#e4683e}.shop-hero-visual{height:330px;position:relative;background:linear-gradient(145deg,#dfeee3 0%,#eef5e8 52%,#f5e8d5 100%);overflow:hidden}.deal-card{position:absolute;border-radius:20px;padding:20px;box-shadow:0 18px 45px rgba(40,50,40,.13);display:flex;flex-direction:column}.deal-card small{font-size:.62rem;letter-spacing:.12em;opacity:.55;margin-bottom:6px}.deal-card strong{font-size:1.35rem}.deal-card span{font-size:.78rem;opacity:.65;margin-top:4px}.deal-card-a{width:195px;height:145px;left:15%;top:42px;background:#fff;color:#28322b;transform:rotate(-7deg)}.deal-card-b{width:190px;height:150px;right:10%;bottom:34px;background:#7eac88;color:#fff;transform:rotate(7deg)}.deal-dot{position:absolute;border-radius:50%;opacity:.8}.dot-a{width:62px;height:62px;background:#ef825b;right:14%;top:34px}.dot-b{width:34px;height:34px;background:#d6b16f;left:10%;bottom:38px}
.category-panel-b{padding:18px 20px}.category-scroll-b{grid-template-columns:repeat(8,minmax(0,1fr));gap:9px}.category-item-b{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:14px 12px;min-height:112px}.category-item-b .category-icon{width:38px;height:38px;flex-basis:38px}.category-item-b .category-copy strong{font-size:.86rem}.category-item-b .category-copy small{font-size:.72rem}
.group-card-b{border-radius:18px}.group-cover-b{height:155px}.group-card-b .group-cover-title{font-size:3.2rem}.time-badge{position:absolute;right:12px;top:12px;z-index:2;background:rgba(32,35,31,.82);color:#fff;border-radius:999px;padding:.38rem .62rem;font-size:.69rem;font-weight:800}.group-card-b .group-badge{left:12px;top:12px}.group-card-b .group-price{font-size:1.28rem}
.product-card-b{background:#fff;border-radius:18px}.product-image-b{height:230px;border-radius:16px}.product-card-b .product-price{font-size:1.15rem}.product-old-price{font-size:.78rem;color:#9a9fa3;text-decoration:line-through;margin-top:1px}.quick-view{position:absolute;right:11px;bottom:11px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.9);display:grid;place-items:center;color:#343937;box-shadow:0 4px 14px rgba(0,0,0,.08);opacity:0;transform:translateY(4px);transition:.2s ease}.product-image-b:hover .quick-view{opacity:1;transform:none}
.promo-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}.promo-panel{border-radius:22px;padding:32px;border:1px solid #e9e7e2;min-height:210px}.promo-panel-main{background:linear-gradient(135deg,#f4efe5 0%,#f8f6f0 100%)}.promo-panel-leader{background:linear-gradient(135deg,#e4f0e7 0%,#f1f6ee 100%)}.promo-panel .promo-label{color:#7b8d7d}.feature-box-b{padding:20px;border-radius:18px;align-items:center}.feature-box-b .feature-icon{flex:0 0 44px;width:44px;height:44px}
@media (max-width:1199.98px){.category-scroll-b{grid-template-columns:repeat(4,minmax(0,1fr))}.product-image-b{height:215px}}
@media (max-width:991.98px){.shop-hero-visual{height:280px}.promo-grid{grid-template-columns:1fr}.category-scroll-b{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:575.98px){.front-notice-bar{font-size:.75rem}.shop-hero-card{border-radius:20px}.shop-hero-card h1{font-size:2.15rem}.shop-hero-visual{height:245px}.deal-card-a{left:8%;top:35px}.deal-card-b{right:4%;bottom:22px}.category-scroll-b{display:flex;overflow-x:auto}.category-item-b{flex:0 0 118px;min-height:106px}.product-image-b{height:165px}.product-card-b .product-price{font-size:1.05rem}.group-cover-b{height:145px}.promo-panel{padding:24px}.quick-view{opacity:1;transform:none}}


/* Phase 19.4 - C version: ecommerce-first, group-buy logic de-emphasized */
.shop-hero-label{background:#eef6ef;color:#5d7e64}.shop-hero-card h1 span{color:#de6f45}.front-notice-bar{background:#f4f8f4;color:#5b735f}.front-notice-bar a{color:#5b735f}.group-badge{background:rgba(255,255,255,.94)!important;color:#45604b!important}.promo-panel-leader{background:linear-gradient(135deg,#edf5ef 0%,#f7faf6 100%)}
