@import url("https://fonts.googleapis.com/css2?family=Sarabun:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&family=Noto+Sans+TC:wght@300;400;500;600&family=Noto+Serif+Thai:wght@300;400;600;700&display=swap");:root{--gold:#c9a84c;--gold-light:#e8c97a;--gold-dark:#8b6914;--deep:#1a1208;--deep-light:#221a0a;--cream:#f7f0e3;--cream-dark:#ede0c4;--cream-darker:#d4c49a;--jade:#2d5a3d;--jade-light:#4a8060;--burgundy:#5c1a1a;--text:#2a1e06;--text-muted:#6b5730;--text-faint:#a89868;--border:rgba(139,105,20,.18);--shadow-sm:0 2px 8px rgba(26,18,8,.06);--shadow-md:0 6px 20px rgba(26,18,8,.1);--shadow-lg:0 14px 36px rgba(26,18,8,.12);--radius:4px;--radius-lg:8px;--transition:0.25s cubic-bezier(0.4,0,0.2,1)}*{margin:0;padding:0;box-sizing:border-box}body,html{font-family:Sarabun,"Noto Serif Thai",sans-serif;background:var(--cream);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{overflow-x:hidden}a{color:inherit;text-decoration:none;transition:color var(--transition)}button{font-family:inherit;cursor:pointer;transition:all var(--transition)}img{display:block;max-width:100%}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}a:focus,button:focus{outline:none}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.serif{font-family:Playfair Display,"Noto Serif Thai",serif}.thai{font-family:Sarabun,"Noto Serif Thai",sans-serif;font-weight:600}.zh{font-family:Noto Sans TC,Sarabun,sans-serif}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn-gold{background:var(--gold);color:var(--deep);border:none;padding:13px 32px;font-size:12px;letter-spacing:3px;font-family:Playfair Display,"Noto Serif Thai",serif;font-weight:600;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius)}.btn-gold:hover:not(:disabled){background:var(--gold-light);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-gold:active:not(:disabled){transform:translateY(0)}.btn-gold:disabled{opacity:.5;cursor:not-allowed}.btn-outline{background:transparent;color:var(--gold-dark);border:1px solid var(--gold-dark);padding:12px 28px;font-size:12px;letter-spacing:3px;font-family:Playfair Display,"Noto Serif Thai",serif;text-transform:uppercase;border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-outline:hover:not(:disabled){background:rgba(201,168,76,.1)}.btn-outline-light{background:transparent;color:var(--gold);border:1px solid var(--gold);padding:12px 28px;font-size:12px;letter-spacing:3px;font-family:Playfair Display,"Noto Serif Thai",serif;text-transform:uppercase;border-radius:var(--radius)}.btn-outline-light:hover{background:rgba(201,168,76,.1)}.btn-text{background:transparent;border:none;color:var(--gold-dark);font-size:13px;padding:6px 12px;font-family:Playfair Display,"Noto Serif Thai",serif;text-decoration:underline;text-underline-offset:4px;-webkit-text-decoration-color:rgba(139,105,20,.3);text-decoration-color:rgba(139,105,20,.3)}.btn-text:hover{-webkit-text-decoration-color:var(--gold-dark);text-decoration-color:var(--gold-dark)}.input{width:100%;padding:12px 14px;border:1px solid var(--cream-dark);background:#fff;font-size:14px;font-family:Sarabun,sans-serif;color:var(--text);outline:none;border-radius:var(--radius);transition:border-color var(--transition),box-shadow var(--transition)}.input:hover{border-color:var(--cream-darker)}.input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,76,.15)}.input.error{border-color:var(--burgundy);box-shadow:0 0 0 3px rgba(92,26,26,.1)}.label{display:block;font-size:11px;color:var(--text-muted);letter-spacing:2px;margin-bottom:6px;text-transform:uppercase;font-family:Playfair Display,"Noto Serif Thai",serif;font-weight:500}.label .required{color:var(--burgundy);margin-left:2px}.helper{font-size:11px;color:var(--text-faint);margin-top:4px;font-family:Sarabun,sans-serif}.helper.error{color:var(--burgundy)}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}.animate-fade-up{animation:fadeUp .6s ease both}.animate-fade-in{animation:fadeIn .4s ease both}.animate-scale-in{animation:scaleIn .3s ease both}.animate-slide-up{animation:slideUp .4s cubic-bezier(.4,0,.2,1) both}.skeleton{background:linear-gradient(90deg,var(--cream-dark) 0,var(--cream) 50%,var(--cream-dark) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--cream-darker);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gold)}.spinner{display:inline-block;width:14px;height:14px;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle}.container{max-width:1200px;margin:0 auto;padding:0 24px}.card{background:#fff;border:1px solid var(--cream-dark);border-radius:var(--radius-lg);transition:all var(--transition)}.badge{display:inline-block;font-size:10px;padding:4px 10px;letter-spacing:1.5px;font-family:Playfair Display,"Noto Serif Thai",serif;font-weight:600;text-transform:uppercase;border-radius:2px}.badge-oos{background:var(--burgundy);color:#fff}.badge-sale{background:#c8521f;color:#fff}.badge-new{background:var(--jade);color:#fff}.badge-rare{background:var(--gold);color:var(--deep)}.badge-success{background:rgba(45,90,61,.12);color:var(--jade)}.badge-warning{background:rgba(186,117,23,.12);color:#8b5e0f}.toast-container{position:fixed;bottom:28px;right:28px;z-index:1000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{background:var(--deep);color:var(--cream);padding:14px 20px;border-radius:var(--radius-lg);font-size:14px;box-shadow:var(--shadow-lg);min-width:280px;max-width:360px;display:flex;align-items:center;gap:12px;pointer-events:auto;border-left:3px solid var(--gold);animation:slideInRight .3s cubic-bezier(.4,0,.2,1) both}.toast.success{border-left-color:var(--jade-light)}.toast.error{border-left-color:var(--burgundy)}.toast-icon{font-size:18px;flex-shrink:0}.mobile-menu-btn{display:none}@media (max-width:900px){.desktop-nav{display:none!important}.mobile-menu-btn{display:flex!important}}.drawer-overlay{position:fixed;inset:0;background:rgba(8,5,2,.7);z-index:999;opacity:0;pointer-events:none;transition:opacity .3s;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.drawer-overlay.open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;left:0;bottom:0;width:320px;max-width:85vw;background:var(--deep);z-index:1000;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;padding:24px}.drawer.open{transform:translateX(0)}.empty-state{text-align:center;padding:60px 24px;color:var(--text-muted)}.empty-state .icon{font-size:56px;opacity:.3;margin-bottom:16px}@media (max-width:768px){.hide-mobile{display:none!important}}@media (min-width:769px){.show-mobile-only{display:none!important}}.sticky-cart-bar{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--cream-dark);padding:12px 16px;z-index:50;box-shadow:0 -4px 16px rgba(0,0,0,.06);display:none}@media (max-width:768px){.sticky-cart-bar.show{display:flex}}.trust-pill{display:inline-flex;gap:6px;font-size:11px;padding:4px 10px;background:rgba(45,90,61,.08);border-radius:100px}.breadcrumb,.trust-pill{align-items:center;color:var(--text-muted);font-family:Playfair Display,"Noto Serif Thai",serif;letter-spacing:1px}.breadcrumb{display:flex;gap:8px;font-size:12px;flex-wrap:wrap}.breadcrumb a:hover{color:var(--gold-dark)}.breadcrumb-sep{color:var(--text-faint)}