@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@300;400;500;600;700&family=Noto+Serif+TC:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap";:root{--c-primary: #1F4D3A;--c-primary-dark: #163829;--c-primary-light: #2D6B51;--c-primary-soft: #E8F0EC;--c-accent: #C9A962;--c-accent-dark: #A68B4B;--c-accent-light: #E5D4A1;--c-accent-soft: #FBF8F0;--c-success: #2E8B57;--c-warning: #D4A574;--c-danger: #C75B5B;--c-info: #5B8FA8;--c-text: #2C3E2D;--c-text-secondary: #5A6B5C;--c-text-muted: #8A9A8C;--c-text-light: #B8C4BA;--c-text-placeholder: #A0ADA2;--c-bg: #F8FAF8;--c-bg-warm: #FDFCF9;--c-surface: #FFFFFF;--c-surface-elevated: #FFFFFF;--c-border: #E2E8E3;--c-border-light: #EEF2EF;--c-border-dark: #C8D4CA;--c-overlay: rgba(31, 77, 58, .6);--c-overlay-light: rgba(31, 77, 58, .3);--c-price: #1F4D3A;--c-price-member: #C9A962;--c-price-original: #8A9A8C}:root{--font-display: Noto Serif TC, Songti TC, STSong, serif;--font-body: Noto Sans TC, PingFang TC, Microsoft JhengHei, -apple-system, BlinkMacSystemFont, sans-serif;--font-number: DIN Alternate, Roboto, SF Pro Display, sans-serif;--fs-2xs: .625rem;--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-md: 1.125rem;--fs-lg: 1.25rem;--fs-xl: 1.5rem;--fs-2xl: 1.875rem;--fs-3xl: 2.25rem;--fs-4xl: 3rem;--fs-5xl: 3.75rem;--fw-light: 300;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-tight: 1.25;--lh-snug: 1.375;--lh-normal: 1.5;--lh-relaxed: 1.625;--lh-loose: 2;--ls-tight: -.025em;--ls-normal: 0;--ls-wide: .025em;--ls-wider: .05em;--ls-widest: .1em}:root{--sp-0: 0;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--sp-16: 4rem;--sp-20: 5rem;--radius-none: 0;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(44, 62, 45, .05);--shadow-md: 0 4px 6px -1px rgba(44, 62, 45, .07), 0 2px 4px -2px rgba(44, 62, 45, .05);--shadow-lg: 0 10px 15px -3px rgba(44, 62, 45, .08), 0 4px 6px -4px rgba(44, 62, 45, .05);--shadow-xl: 0 20px 25px -5px rgba(44, 62, 45, .1), 0 8px 10px -6px rgba(44, 62, 45, .05);--shadow-inner: inset 0 2px 4px 0 rgba(44, 62, 45, .05);--shadow-card: 0 2px 8px -2px rgba(31, 77, 58, .08), 0 4px 16px -4px rgba(31, 77, 58, .06);--shadow-card-hover: 0 4px 12px -2px rgba(31, 77, 58, .12), 0 8px 24px -4px rgba(31, 77, 58, .08);--shadow-float: 0 8px 30px -4px rgba(31, 77, 58, .15);--shadow-modal: 0 25px 50px -12px rgba(31, 77, 58, .25);--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800}:root{--dur-instant: 50ms;--dur-fast: .15s;--dur-normal: .25s;--dur-slow: .35s;--dur-slower: .5s;--ease-linear: linear;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-spring: cubic-bezier(.175, .885, .32, 1.275);--ease-elegant: cubic-bezier(.23, 1, .32, 1);--ease-smooth: cubic-bezier(.25, .1, .25, 1);--transition-fast: .15s cubic-bezier(0, 0, .2, 1);--transition-normal: .25s cubic-bezier(0, 0, .2, 1);--transition-slow: .35s cubic-bezier(.23, 1, .32, 1);--transition-bounce: .25s cubic-bezier(.68, -.55, .265, 1.55)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideOutDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes bounce{0%,to{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(.95)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}ul,ol{list-style:none}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer}a{color:inherit;text-decoration:none}table{border-collapse:collapse;border-spacing:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}dialog{padding:0;border:none;background:transparent}[hidden]{display:none!important}html{font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;line-height:1.5;color:#2c3e2d;background-color:#f8faf8}@media(max-width:375px){html{font-size:14px}}body{font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,sans-serif;background-color:#f8faf8;color:#2c3e2d;min-height:100vh;min-height:100dvh;overflow-x:hidden}#app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}::selection{background-color:#1f4d3a33;color:#163829}:focus-visible{outline:2px solid #1F4D3A;outline-offset:2px}[disabled]{cursor:not-allowed}h1,.h1{font-family:"Noto Serif TC",Songti TC,STSong,serif;font-size:1.875rem;font-weight:600;line-height:1.25;letter-spacing:-.025em;color:#2c3e2d}h2,.h2{font-family:"Noto Serif TC",Songti TC,STSong,serif;font-size:1.5rem;font-weight:600;line-height:1.25;color:#2c3e2d}h3,.h3{font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.25rem;font-weight:600;line-height:1.375;color:#2c3e2d}h4,.h4{font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.125rem;font-weight:500;line-height:1.375;color:#2c3e2d}h5,.h5,h6,.h6{font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1rem;font-weight:500;line-height:1.5;color:#2c3e2d}p{font-size:1rem;line-height:1.625;color:#2c3e2d}p+p{margin-top:1rem}small,.text-small{font-size:.875rem;line-height:1.5}.text-xs{font-size:.75rem;line-height:1.5}strong,b,.text-bold{font-weight:600}em,i{font-style:italic}.price{font-family:DM Sans,Noto Sans TC,PingFang TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:600;color:#1f4d3a;letter-spacing:-.025em}.price--member{color:#c9a962}.price--original{color:#8a9a8c;text-decoration:line-through;font-weight:400}.price--large{font-size:1.5rem}.label-text{font-size:.75rem;font-weight:500;letter-spacing:.025em;text-transform:uppercase;color:#5a6b5c}.quantity{font-family:DM Sans,Noto Sans TC,PingFang TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:600;font-variant-numeric:tabular-nums}a{color:#1f4d3a;text-decoration:none;transition:color .15s cubic-bezier(0,0,.2,1)}a:hover,a:active{color:#163829}.link-unstyled{color:inherit;text-decoration:none}.link-unstyled:hover{color:inherit}.link-underline{text-decoration:underline;text-underline-offset:2px}.link-underline:hover{text-decoration-thickness:2px}.link-accent{color:#c9a962}.link-accent:hover{color:#a68b4b}.page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background-color:var(--c-bg)}.page__header{position:sticky;top:0;z-index:200;padding-top:env(safe-area-inset-top,0)}.page__content{flex:1;display:flex;flex-direction:column}.page__footer{margin-top:auto;padding-bottom:env(safe-area-inset-bottom,0)}.order-layout{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background-color:var(--c-bg)}.order-layout__header{position:sticky;top:0;z-index:200;background-color:var(--c-primary);color:#fff;padding-top:env(safe-area-inset-top,0)}.order-layout__body{flex:1;display:flex;overflow:hidden}.order-layout__sidebar{width:88px;flex-shrink:0;background-color:var(--c-surface);border-right:1px solid var(--c-border-light);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.order-layout__sidebar::-webkit-scrollbar{display:none}@media(min-width:768px){.order-layout__sidebar{width:100px}}.order-layout__main{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#C8D4CA transparent}.order-layout__main::-webkit-scrollbar{width:6px;height:6px}.order-layout__main::-webkit-scrollbar-track{background:transparent}.order-layout__main::-webkit-scrollbar-thumb{background-color:#c8d4ca;border-radius:9999px}.order-layout__main::-webkit-scrollbar-thumb:hover{background-color:#8a9a8c}.order-layout__cart-bar{position:fixed;bottom:0;left:0;right:0;z-index:300;padding-bottom:env(safe-area-inset-bottom,0)}.split-layout{display:flex;min-height:100vh}.split-layout__sidebar{width:280px;flex-shrink:0}.split-layout__main{flex:1;min-width:0}.stack{display:flex;flex-direction:column}.stack--gap-1{gap:.25rem}.stack--gap-2{gap:.5rem}.stack--gap-3{gap:.75rem}.stack--gap-4{gap:1rem}.stack--gap-6{gap:1.5rem}.stack--gap-8{gap:2rem}.cluster{display:flex;flex-wrap:wrap;align-items:center}.cluster--gap-1{gap:.25rem}.cluster--gap-2{gap:.5rem}.cluster--gap-3{gap:.75rem}.cluster--gap-4{gap:1rem}.cluster--between{justify-content:space-between}.cluster--center{justify-content:center}.container{width:100%;max-width:100%;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media(min-width:576px){.container{max-width:540px}}@media(min-width:768px){.container{max-width:720px}}@media(min-width:992px){.container{max-width:960px}}@media(min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-left:1rem;padding-right:1rem}.container-narrow{width:100%;max-width:480px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}.section{padding-top:1.5rem;padding-bottom:1.5rem}@media(min-width:768px){.section{padding-top:2rem;padding-bottom:2rem}}.grid{display:grid;gap:1rem}.grid--gap-2{gap:.5rem}.grid--gap-3{gap:.75rem}.grid--gap-6{gap:1.5rem}.grid--cols-2{grid-template-columns:repeat(2,1fr)}.grid--cols-3{grid-template-columns:repeat(3,1fr)}.grid--auto-fill{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.grid--products{grid-template-columns:1fr}@media(min-width:576px){.grid--products{grid-template-columns:repeat(2,1fr)}}@media(min-width:992px){.grid--products{grid-template-columns:repeat(3,1fr)}}.row{display:flex;flex-wrap:wrap;margin-left:-.5rem;margin-right:-.5rem}.col{flex:1;padding-left:.5rem;padding-right:.5rem}.col-1{flex:0 0 8.3333333333%;max-width:8.3333333333%;padding-left:.5rem;padding-right:.5rem}.col-2{flex:0 0 16.6666666667%;max-width:16.6666666667%;padding-left:.5rem;padding-right:.5rem}.col-3{flex:0 0 25%;max-width:25%;padding-left:.5rem;padding-right:.5rem}.col-4{flex:0 0 33.3333333333%;max-width:33.3333333333%;padding-left:.5rem;padding-right:.5rem}.col-5{flex:0 0 41.6666666667%;max-width:41.6666666667%;padding-left:.5rem;padding-right:.5rem}.col-6{flex:0 0 50%;max-width:50%;padding-left:.5rem;padding-right:.5rem}.col-7{flex:0 0 58.3333333333%;max-width:58.3333333333%;padding-left:.5rem;padding-right:.5rem}.col-8{flex:0 0 66.6666666667%;max-width:66.6666666667%;padding-left:.5rem;padding-right:.5rem}.col-9{flex:0 0 75%;max-width:75%;padding-left:.5rem;padding-right:.5rem}.col-10{flex:0 0 83.3333333333%;max-width:83.3333333333%;padding-left:.5rem;padding-right:.5rem}.col-11{flex:0 0 91.6666666667%;max-width:91.6666666667%;padding-left:.5rem;padding-right:.5rem}.col-12{flex:0 0 100%;max-width:100%;padding-left:.5rem;padding-right:.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:500;text-decoration:none;border:none;cursor:pointer;transition:all .15s cubic-bezier(0,0,.2,1);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn:disabled{cursor:not-allowed;opacity:.5}.btn:focus-visible{outline:2px solid #1F4D3A;outline-offset:2px}.btn{padding:.75rem 1.25rem;font-size:1rem;border-radius:.75rem;min-height:44px}.btn .icon{width:1.25em;height:1.25em}.btn--primary{background-color:#1f4d3a;color:#fff}.btn--primary:hover:not(:disabled){background-color:#163829}.btn--primary:active:not(:disabled){transform:scale(.98)}.btn--secondary{background-color:transparent;color:#1f4d3a;border:1.5px solid #1F4D3A}.btn--secondary:hover:not(:disabled){background-color:#e8f0ec}.btn--accent{background-color:#c9a962;color:#fff}.btn--accent:hover:not(:disabled){background-color:#a68b4b}.btn--light{background-color:#e8f0ec;color:#1f4d3a}.btn--light:hover:not(:disabled){background-color:#dfeae4}.btn--ghost{background-color:transparent;color:#2c3e2d}.btn--ghost:hover:not(:disabled){background-color:#f8faf8}.btn--danger{background-color:#c75b5b;color:#fff}.btn--danger:hover:not(:disabled){background-color:#ba3f3f}.btn--sm{padding:.5rem .75rem;font-size:.875rem;min-height:36px;border-radius:.5rem}.btn--lg{padding:1rem 1.5rem;font-size:1.125rem;min-height:52px}.btn--xl{padding:1.25rem 2rem;font-size:1.25rem;min-height:60px}.btn--block{display:flex;width:100%}.btn--round{border-radius:9999px}.btn--icon{padding:.75rem;min-width:44px;aspect-ratio:1;border-radius:.75rem}.btn--icon.btn--sm{padding:.5rem;min-width:36px}.btn--icon.btn--round{border-radius:50%}.btn--spec{padding:.5rem 1rem;font-size:.875rem;font-weight:500;background-color:#1f4d3a;color:#fff;border-radius:9999px;min-height:36px}.btn--spec:hover:not(:disabled){background-color:#163829}.btn--spec:disabled{background-color:#8a9a8c}.btn--quantity{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;font-size:1.25rem;font-weight:500;background-color:#e8f0ec;color:#1f4d3a;border-radius:50%;transition:all .15s cubic-bezier(0,0,.2,1)}.btn--quantity:hover:not(:disabled){background-color:#1f4d3a;color:#fff}.btn--quantity:disabled{background-color:#f8faf8;color:#8a9a8c}.btn-group{display:flex;gap:.5rem}.btn-group--vertical{flex-direction:column}.btn-group--connected{gap:0}.btn-group--connected .btn{border-radius:0}.btn-group--connected .btn:first-child{border-radius:.75rem 0 0 .75rem}.btn-group--connected .btn:last-child{border-radius:0 .75rem .75rem 0}.btn--loading{position:relative;color:transparent!important;pointer-events:none}.btn--loading:after{content:"";position:absolute;top:50%;left:50%;width:1.25em;height:1.25em;margin:-.625em 0 0 -.625em;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite;color:#fff}.card{background-color:#fff;border-radius:.75rem;box-shadow:0 2px 8px -2px #1f4d3a14,0 4px 16px -4px #1f4d3a0f;transition:box-shadow .25s cubic-bezier(0,0,.2,1),transform .25s cubic-bezier(0,0,.2,1);padding:1rem}.card--interactive{background-color:#fff;border-radius:.75rem;box-shadow:0 2px 8px -2px #1f4d3a14,0 4px 16px -4px #1f4d3a0f;transition:box-shadow .25s cubic-bezier(0,0,.2,1),transform .25s cubic-bezier(0,0,.2,1)}.card--interactive:hover{box-shadow:0 4px 12px -2px #1f4d3a1f,0 8px 24px -4px #1f4d3a14}.card--interactive:active{transform:scale(.99)}.card--interactive{cursor:pointer}.product-card{display:flex;gap:.75rem;padding:1rem;background-color:#fff;border-radius:.75rem;transition:all .25s cubic-bezier(0,0,.2,1)}.product-card:active{transform:scale(.99)}.product-card__image{position:relative;width:100px;height:100px;flex-shrink:0;border-radius:.5rem;overflow:hidden;background-color:#f8faf8}.product-card__image img{width:100%;height:100%;object-fit:cover}.product-card__image--sold-out:after{content:"售罄";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:#2c3e2d99;color:#fff;font-size:.875rem;font-weight:500}.product-card__placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,#e8f0ec,#f8faf8);color:#2d6b51;font-size:1.875rem}.product-card__info{flex:1;min-width:0;display:flex;flex-direction:column}.product-card__name{font-size:1rem;font-weight:600;color:#2c3e2d;margin-bottom:.25rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card__tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem}.product-card__desc{font-size:.875rem;color:#5a6b5c;line-height:1.375;margin-bottom:.75rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card__footer{display:flex;align-items:flex-end;justify-content:space-between;margin-top:auto}.product-card__prices{display:flex;flex-direction:column;gap:.25rem}.product-card__member-price{display:flex;align-items:center;gap:.5rem}.product-card__member-price .price{font-size:1.25rem;font-weight:700;color:#c9a962}.product-card__member-price .member-badge{padding:.25rem .5rem;font-size:.625rem;font-weight:500;background-color:#c9a962;color:#fff;border-radius:.25rem}.product-card__original-price{font-size:.875rem;color:#8a9a8c;text-decoration:line-through}.product-card__price{font-family:DM Sans,Noto Sans TC,PingFang TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.25rem;font-weight:700;color:#1f4d3a}.product-card--sold-out{opacity:.6}.product-card--sold-out .product-card__name,.product-card--sold-out .product-card__price{color:#8a9a8c}.cart-item{display:flex;gap:.75rem;padding:1rem;background-color:#fff;border-bottom:1px solid #EEF2EF}.cart-item:last-child{border-bottom:none}.cart-item__image{width:72px;height:72px;flex-shrink:0;border-radius:.5rem;overflow:hidden;background-color:#f8faf8}.cart-item__image img{width:100%;height:100%;object-fit:cover}.cart-item__info{flex:1;min-width:0}.cart-item__name{font-size:1rem;font-weight:500;color:#2c3e2d;margin-bottom:.25rem}.cart-item__options{font-size:.875rem;color:#5a6b5c;margin-bottom:.5rem}.cart-item__footer{display:flex;align-items:center;justify-content:space-between}.cart-item__price{font-family:DM Sans,Noto Sans TC,PingFang TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.125rem;font-weight:600;color:#1f4d3a}.cart-item__quantity{display:flex;align-items:center;gap:.75rem}.cart-item__qty-value{font-family:DM Sans,Noto Sans TC,PingFang TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.125rem;font-weight:600;min-width:24px;text-align:center}.summary-card{background-color:#fff;border-radius:1rem;padding:1.25rem;box-shadow:0 2px 8px -2px #1f4d3a14,0 4px 16px -4px #1f4d3a0f}.summary-card__title{font-size:1.25rem;font-weight:600;color:#2c3e2d;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #EEF2EF}.summary-card__row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.summary-card__row--total{padding-top:.75rem;margin-top:.5rem;border-top:1px solid #E2E8E3;font-weight:600}.summary-card__row--total .summary-card__value{font-size:1.5rem;color:#1f4d3a}.summary-card__label{color:#5a6b5c}.summary-card__value{font-family:DM Sans,Noto Sans TC,PingFang TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:500;color:#2c3e2d}.input{width:100%;padding:.75rem 1rem;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1rem;color:#2c3e2d;background-color:#fff;border:1px solid #E2E8E3;border-radius:.5rem;transition:border-color .15s cubic-bezier(0,0,.2,1),box-shadow .15s cubic-bezier(0,0,.2,1)}.input::placeholder{color:#8a9a8c}.input:focus{outline:none;border-color:#1f4d3a;box-shadow:0 0 0 3px #1f4d3a1a}.input:disabled{background-color:#f8faf8;cursor:not-allowed}.input--sm{padding:.5rem .75rem;font-size:.875rem}.input--lg{padding:1rem 1.25rem;font-size:1.125rem}.input-group{position:relative;display:flex;align-items:stretch}.input-group .input{flex:1}.input-group--icon-left .input{padding-left:2.5rem}.input-group--icon-left .input-group__icon{left:1rem}.input-group--icon-right .input{padding-right:2.5rem}.input-group--icon-right .input-group__icon{right:1rem}.input-group__icon{position:absolute;top:50%;transform:translateY(-50%);color:#8a9a8c;pointer-events:none;z-index:1}.input-group__addon{display:flex;align-items:center;justify-content:center;padding:0 1rem;background-color:#f8faf8;border:1px solid #E2E8E3;color:#5a6b5c;font-size:.875rem}.input-group__addon:first-child{border-right:none;border-radius:.5rem 0 0 .5rem}.input-group__addon:last-child{border-left:none;border-radius:0 .5rem .5rem 0}.search-input{position:relative}.search-input .input{padding-left:2.5rem;padding-right:2.5rem;border-radius:9999px;background-color:#f8faf8;border-color:transparent}.search-input .input:focus{background-color:#fff;border-color:#e2e8e3}.search-input__icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#8a9a8c}.search-input__clear{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:24px;height:24px;background-color:#e2e8e3;color:#5a6b5c;border-radius:50%;cursor:pointer;opacity:0;transition:opacity .15s cubic-bezier(0,0,.2,1)}.search-input__clear:hover{background-color:#c8d4ca}.search-input:focus-within .search-input__clear,.search-input .input:not(:placeholder-shown)+.search-input__clear{opacity:1}.form-label{display:block;font-size:.875rem;font-weight:500;color:#2c3e2d;margin-bottom:.5rem}.form-label--required:after{content:"*";color:#c75b5b;margin-left:.25rem}.form-group{margin-bottom:1.25rem}.form-group:last-child{margin-bottom:0}.form-error{display:flex;align-items:center;gap:.25rem;margin-top:.5rem;font-size:.875rem;color:#c75b5b}.form-error .icon{width:1em;height:1em}.input--error{border-color:#c75b5b}.input--error:focus{border-color:#c75b5b;box-shadow:0 0 0 3px #c75b5b1a}.textarea{width:100%;padding:.75rem 1rem;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1rem;color:#2c3e2d;background-color:#fff;border:1px solid #E2E8E3;border-radius:.5rem;transition:border-color .15s cubic-bezier(0,0,.2,1),box-shadow .15s cubic-bezier(0,0,.2,1)}.textarea::placeholder{color:#8a9a8c}.textarea:focus{outline:none;border-color:#1f4d3a;box-shadow:0 0 0 3px #1f4d3a1a}.textarea:disabled{background-color:#f8faf8;cursor:not-allowed}.textarea{min-height:120px;resize:vertical;line-height:1.625}.select{width:100%;padding:.75rem 1rem;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1rem;color:#2c3e2d;background-color:#fff;border:1px solid #E2E8E3;border-radius:.5rem;transition:border-color .15s cubic-bezier(0,0,.2,1),box-shadow .15s cubic-bezier(0,0,.2,1)}.select::placeholder{color:#8a9a8c}.select:focus{outline:none;border-color:#1f4d3a;box-shadow:0 0 0 3px #1f4d3a1a}.select:disabled{background-color:#f8faf8;cursor:not-allowed}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235A6B5C' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;cursor:pointer}.select:disabled{cursor:not-allowed}.checkbox{display:flex;align-items:center;gap:.75rem;cursor:pointer}.checkbox__input{appearance:none;width:20px;height:20px;border:2px solid #C8D4CA;border-radius:.25rem;background-color:#fff;cursor:pointer;transition:all .15s cubic-bezier(0,0,.2,1)}.checkbox__input:checked{background-color:#1f4d3a;border-color:#1f4d3a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='white' d='M10.28 2.28a.75.75 0 0 1 0 1.06l-5.5 5.5a.75.75 0 0 1-1.06 0l-2.5-2.5a.75.75 0 1 1 1.06-1.06L4.25 7.22l4.97-4.94a.75.75 0 0 1 1.06 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}.checkbox__input:focus-visible{outline:2px solid #1F4D3A;outline-offset:2px}.checkbox__label{font-size:1rem;color:#2c3e2d;-webkit-user-select:none;user-select:none}.radio{display:flex;align-items:center;gap:.75rem;cursor:pointer}.radio__input{appearance:none;width:20px;height:20px;border:2px solid #C8D4CA;border-radius:50%;background-color:#fff;cursor:pointer;transition:all .15s cubic-bezier(0,0,.2,1)}.radio__input:checked{border-color:#1f4d3a;border-width:6px}.radio__input:focus-visible{outline:2px solid #1F4D3A;outline-offset:2px}.radio__label{font-size:1rem;color:#2c3e2d;-webkit-user-select:none;user-select:none}.badge{display:inline-flex;align-items:center;padding:.25rem .5rem;font-size:.75rem;font-weight:500;line-height:1;border-radius:.25rem;white-space:nowrap}.badge--primary{background-color:#e8f0ec;color:#1f4d3a}.badge--accent{background-color:#fbf8f0;color:#a68b4b}.badge--success{background-color:#2e8b571a;color:#2e8b57}.badge--warning{background-color:#d4a5741a;color:#c88c4d}.badge--danger{background-color:#c75b5b1a;color:#c75b5b}.badge--info{background-color:#5b8fa81a;color:#5b8fa8}.badge--muted{background-color:#f8faf8;color:#5a6b5c}.badge--solid.badge--primary{background-color:#1f4d3a;color:#fff}.badge--solid.badge--accent{background-color:#c9a962;color:#fff}.badge--solid.badge--success{background-color:#2e8b57;color:#fff}.badge--outline{background-color:transparent;border:1px solid currentColor}.badge--outline.badge--primary{color:#1f4d3a}.badge--outline.badge--accent{color:#c9a962}.product-tag{display:inline-flex;align-items:center;padding:.25rem .5rem;font-size:.75rem;font-weight:500;background-color:#e8f0ec;color:#1f4d3a;border-radius:.25rem}.product-tag--recommend{background-color:#fbf8f0;color:#a68b4b}.product-tag--new{background-color:#1f4d3a;color:#fff}.product-tag--hot{background-color:#c75b5b;color:#fff}.product-tag--limited{background-color:#c9a962;color:#fff}.product-tag--must-try{background:linear-gradient(135deg,#c9a962,#a68b4b);color:#fff}.count-badge{display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 .25rem;font-family:DM Sans,sans-serif;font-size:11px;font-weight:600;background-color:#c75b5b;color:#fff;border-radius:9999px}.count-badge--primary{background-color:#1f4d3a}.count-badge--accent{background-color:#c9a962}.status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;font-size:.75rem;font-weight:500;border-radius:9999px}.status-badge__dot{width:6px;height:6px;border-radius:50%;background-color:currentColor}.status-badge--pending{background-color:#d4a5741a;color:#c88c4d}.status-badge--processing{background-color:#5b8fa81a;color:#5b8fa8}.status-badge--completed{background-color:#2e8b571a;color:#2e8b57}.status-badge--cancelled{background-color:#8a9a8c1a;color:#8a9a8c}.modal-backdrop{position:fixed;inset:0;background-color:#1f4d3a99;z-index:400;animation:fadeIn .25s cubic-bezier(0,0,.2,1)}.modal-backdrop.is-closing{animation:fadeOut .15s cubic-bezier(.4,0,1,1) forwards}@keyframes fadeOut{to{opacity:0}}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;z-index:500;background-color:#fff;border-radius:1.5rem 1.5rem 0 0;max-height:90vh;display:flex;flex-direction:column;animation:slideInUp .25s cubic-bezier(.23,1,.32,1);padding-bottom:env(safe-area-inset-bottom,0)}.bottom-sheet.is-closing{animation:slideOutDown .15s cubic-bezier(.4,0,1,1) forwards}.bottom-sheet__handle{display:flex;align-items:center;justify-content:center;padding:.75rem}.bottom-sheet__handle:after{content:"";width:36px;height:4px;background-color:#c8d4ca;border-radius:9999px}.bottom-sheet__header{display:flex;align-items:center;justify-content:space-between;padding:0 1rem 1rem;border-bottom:1px solid #EEF2EF}.bottom-sheet__title{font-size:1.25rem;font-weight:600;color:#2c3e2d}.bottom-sheet__close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background-color:#f8faf8;border-radius:50%;color:#5a6b5c;transition:all .15s cubic-bezier(0,0,.2,1)}.bottom-sheet__close:hover{background-color:#e2e8e3}.bottom-sheet__body{flex:1;overflow-y:auto;padding:1rem;scrollbar-width:thin;scrollbar-color:#C8D4CA transparent}.bottom-sheet__body::-webkit-scrollbar{width:6px;height:6px}.bottom-sheet__body::-webkit-scrollbar-track{background:transparent}.bottom-sheet__body::-webkit-scrollbar-thumb{background-color:#c8d4ca;border-radius:9999px}.bottom-sheet__body::-webkit-scrollbar-thumb:hover{background-color:#8a9a8c}.bottom-sheet__footer{padding:1rem;border-top:1px solid #EEF2EF;background-color:#fff}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:500;width:calc(100% - 2rem);max-width:420px;max-height:90vh;background-color:#fff;border-radius:1rem;box-shadow:0 25px 50px -12px #1f4d3a40;display:flex;flex-direction:column;animation:scaleIn .25s cubic-bezier(.23,1,.32,1)}.modal.is-closing{animation:scaleOut .15s cubic-bezier(.4,0,1,1) forwards}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.25rem 1rem}.modal__title{font-size:1.25rem;font-weight:600;color:#2c3e2d}.modal__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin:-.5rem;background-color:transparent;border-radius:50%;color:#8a9a8c;transition:all .15s cubic-bezier(0,0,.2,1)}.modal__close:hover{background-color:#f8faf8;color:#2c3e2d}.modal__body{flex:1;overflow-y:auto;padding:0 1.25rem 1.25rem;scrollbar-width:thin;scrollbar-color:#C8D4CA transparent}.modal__body::-webkit-scrollbar{width:6px;height:6px}.modal__body::-webkit-scrollbar-track{background:transparent}.modal__body::-webkit-scrollbar-thumb{background-color:#c8d4ca;border-radius:9999px}.modal__body::-webkit-scrollbar-thumb:hover{background-color:#8a9a8c}.modal__footer{display:flex;gap:.75rem;padding:1rem 1.25rem 1.25rem}.modal__footer .btn{flex:1}@keyframes scaleOut{to{opacity:0;transform:translate(-50%,-50%) scale(.95)}}.product-modal__product-info{display:flex;gap:1rem;padding-bottom:1rem;border-bottom:1px solid #EEF2EF;margin-bottom:1rem}.product-modal__image{width:80px;height:80px;flex-shrink:0;border-radius:.5rem;overflow:hidden;background-color:#f8faf8}.product-modal__image img{width:100%;height:100%;object-fit:cover}.product-modal__details{flex:1}.product-modal__name{font-size:1.125rem;font-weight:600;color:#2c3e2d;margin-bottom:.5rem}.product-modal__price{font-family:DM Sans,Noto Sans TC,PingFang TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.25rem;font-weight:700;color:#1f4d3a}.product-modal__option-group{margin-bottom:1.25rem}.product-modal__option-group:last-child{margin-bottom:0}.product-modal__option-title{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.product-modal__option-title .title{font-size:1rem;font-weight:600;color:#2c3e2d}.product-modal__option-title .required{padding:.25rem .5rem;font-size:.625rem;font-weight:500;background-color:#c75b5b;color:#fff;border-radius:.25rem}.product-modal__options{display:flex;flex-direction:column;gap:.5rem}.product-modal__option{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background-color:#f8faf8;border:2px solid transparent;border-radius:.5rem;cursor:pointer;transition:all .15s cubic-bezier(0,0,.2,1)}.product-modal__option:hover{background-color:#e8f0ec}.product-modal__option.is-selected{background-color:#e8f0ec;border-color:#1f4d3a}.product-modal__option__name{font-size:1rem;color:#2c3e2d}.product-modal__option__price{font-family:DM Sans,Noto Sans TC,PingFang TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.875rem;font-weight:500;color:#5a6b5c}.product-modal__option__price.is-free{color:#2e8b57}.product-modal__quantity{display:flex;align-items:center;justify-content:center;gap:1.25rem;padding:1rem;background-color:#f8faf8;border-radius:.75rem;margin-top:1rem}.product-modal__qty-value{font-family:DM Sans,Noto Sans TC,PingFang TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.5rem;font-weight:700;min-width:48px;text-align:center}.product-modal__add-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:1rem;font-size:1.125rem;font-weight:600}.product-modal__add-btn .total{font-family:DM Sans,Noto Sans TC,PingFang TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,sans-serif}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem;gap:1rem}.spinner{width:32px;height:32px;border:3px solid #E2E8E3;border-top-color:#1f4d3a;border-radius:50%;animation:spin .5s linear infinite}.spinner--sm{width:20px;height:20px;border-width:2px}.spinner--lg{width:48px;height:48px;border-width:4px}.spinner--white{border-color:#ffffff4d;border-top-color:#fff}.spinner--accent{border-top-color:#c9a962}.tea-loader{display:flex;align-items:flex-end;justify-content:center;gap:.25rem;height:40px}.tea-loader__leaf{width:8px;height:20px;background-color:#1f4d3a;border-radius:9999px;animation:teaLeaf 1.2s ease-in-out infinite}.tea-loader__leaf:nth-child(1){animation-delay:0s}.tea-loader__leaf:nth-child(2){animation-delay:.1s}.tea-loader__leaf:nth-child(3){animation-delay:.2s}.tea-loader__leaf:nth-child(4){animation-delay:.3s}.tea-loader__leaf:nth-child(5){animation-delay:.4s}@keyframes teaLeaf{0%,to{height:20px;opacity:.5}50%{height:36px;opacity:1}}.loading-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background-color:#ffffffe6;z-index:500}.skeleton{background:linear-gradient(90deg,#f8faf8,#eef2ef,#f8faf8);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:.5rem}.skeleton--text{height:1em;margin-bottom:.5rem}.skeleton--text:last-child{width:70%}.skeleton--title{height:1.5em;width:60%;margin-bottom:.75rem}.skeleton--avatar{width:48px;height:48px;border-radius:50%}.skeleton--image{width:100%;aspect-ratio:1;border-radius:.5rem}.skeleton--button{height:44px;border-radius:.75rem}.product-card-skeleton{display:flex;gap:.75rem;padding:1rem;background-color:#fff;border-radius:.75rem}.product-card-skeleton__image{width:100px;height:100px;flex-shrink:0;background:linear-gradient(90deg,#f8faf8,#eef2ef,#f8faf8);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:.5rem}.product-card-skeleton__content{flex:1;display:flex;flex-direction:column;gap:.5rem}.product-card-skeleton__title{height:1.2em;width:80%;background:linear-gradient(90deg,#f8faf8,#eef2ef,#f8faf8);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:.25rem}.product-card-skeleton__desc{height:.9em;width:60%;background:linear-gradient(90deg,#f8faf8,#eef2ef,#f8faf8);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:.25rem}.product-card-skeleton__price{height:1.5em;width:40%;margin-top:auto;background:linear-gradient(90deg,#f8faf8,#eef2ef,#f8faf8);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:.25rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1rem;text-align:center}.empty-state__icon{width:80px;height:80px;margin-bottom:1rem;color:#b8c4ba}.empty-state__title{font-size:1.25rem;font-weight:500;color:#2c3e2d;margin-bottom:.5rem}.empty-state__desc{font-size:.875rem;color:#5a6b5c;max-width:280px}.empty-state__action{margin-top:1.5rem}.navbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background-color:#1f4d3a;color:#fff;min-height:56px}.navbar__left,.navbar__right{display:flex;align-items:center;gap:.5rem}.navbar__center{flex:1;text-align:center}.navbar__title{font-size:1.125rem;font-weight:600}.navbar__subtitle{font-size:.75rem;opacity:.8}.navbar__back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:-.5rem;border-radius:50%;transition:background-color .15s cubic-bezier(0,0,.2,1)}.navbar__back:hover{background-color:#ffffff1a}.navbar__table{padding:.25rem .75rem;font-size:.875rem;font-weight:500;background-color:#fff3;border-radius:9999px}.category-nav{display:flex;flex-direction:column;padding:.5rem 0;background-color:#fff}.category-nav__item{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .5rem;text-decoration:none;color:#5a6b5c;border-left:3px solid transparent;transition:all .15s cubic-bezier(0,0,.2,1);cursor:pointer}.category-nav__item:hover{color:#1f4d3a;background-color:#e8f0ec}.category-nav__item.is-active{color:#1f4d3a;background-color:#e8f0ec;border-left-color:#1f4d3a}.category-nav__item.is-active .category-nav__icon{transform:scale(1.1)}.category-nav__icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:#f8faf8;border-radius:.75rem;font-size:1.5rem;transition:transform .15s cubic-bezier(0,0,.2,1)}.category-nav__icon img{width:28px;height:28px;object-fit:contain}.category-nav__name{font-size:.75rem;font-weight:500;text-align:center;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.category-nav__badge{position:absolute;top:.25rem;left:50%;transform:translate(-50%);padding:2px .5rem;font-size:10px;font-weight:500;background-color:#1f4d3a;color:#fff;border-radius:.25rem;white-space:nowrap}.category-nav__new{position:absolute;top:.25rem;right:.25rem;padding:2px .25rem;font-size:9px;font-weight:700;background-color:#c9a962;color:#fff;border-radius:.25rem}.category-tabs{display:flex;gap:.5rem;padding:.75rem 1rem;overflow-x:auto;background-color:#fff;border-bottom:1px solid #EEF2EF;scrollbar-width:none;-ms-overflow-style:none}.category-tabs::-webkit-scrollbar{display:none}.category-tabs__item{flex-shrink:0;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:#5a6b5c;background-color:transparent;border-radius:9999px;white-space:nowrap;transition:all .15s cubic-bezier(0,0,.2,1);cursor:pointer}.category-tabs__item:hover{color:#1f4d3a;background-color:#e8f0ec}.category-tabs__item.is-active{color:#fff;background-color:#1f4d3a}.bottom-nav{display:flex;justify-content:space-around;padding:.5rem 0;background-color:#fff;border-top:1px solid #EEF2EF;padding-bottom:env(safe-area-inset-bottom,0)}.bottom-nav__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.5rem 1rem;color:#8a9a8c;text-decoration:none;transition:color .15s cubic-bezier(0,0,.2,1)}.bottom-nav__item:hover,.bottom-nav__item.is-active{color:#1f4d3a}.bottom-nav__icon{font-size:1.5rem}.bottom-nav__label{font-size:.75rem;font-weight:500}.steps{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem}.steps__item{display:flex;align-items:center;gap:.5rem}.steps__number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:.875rem;font-weight:600;background-color:#f8faf8;color:#8a9a8c;border-radius:50%;transition:all .15s cubic-bezier(0,0,.2,1)}.steps__label{font-size:.875rem;color:#8a9a8c;display:none}@media(min-width:576px){.steps__label{display:block}}.steps__line{width:24px;height:2px;background-color:#e2e8e3}@media(min-width:576px){.steps__line{width:40px}}.steps__item.is-completed .steps__number{background-color:#2e8b57;color:#fff}.steps__item.is-completed .steps__label{color:#2e8b57}.steps__item.is-completed+.steps__line{background-color:#2e8b57}.steps__item.is-current .steps__number{background-color:#1f4d3a;color:#fff}.steps__item.is-current .steps__label{color:#1f4d3a;font-weight:500}.cart-bar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;margin:.75rem;background-color:#1f4d3a;color:#fff;border-radius:1rem;box-shadow:0 8px 30px -4px #1f4d3a26;animation:slideInUp .25s cubic-bezier(.23,1,.32,1);padding-bottom:env(safe-area-inset-bottom,0)}.cart-bar__icon{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background-color:#ffffff26;border-radius:.75rem}.cart-bar__icon svg,.cart-bar__icon .icon{width:24px;height:24px}.cart-bar__count{position:absolute;top:-4px;right:-4px;display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 .25rem;font-family:DM Sans,sans-serif;font-size:11px;font-weight:700;background-color:#c9a962;color:#fff;border-radius:9999px;animation:bounce .25s cubic-bezier(.68,-.55,.265,1.55)}.cart-bar__info{flex:1;min-width:0}.cart-bar__summary{font-size:.875rem;opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cart-bar__hint{font-size:.75rem;opacity:.7}.cart-bar__action{display:flex;align-items:center;gap:.75rem}.cart-bar__total{font-family:DM Sans,Noto Sans TC,PingFang TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.5rem;font-weight:700}.cart-bar__btn{padding:.5rem 1rem;font-size:.875rem;font-weight:600;background-color:#fff;color:#1f4d3a;border-radius:.75rem;transition:all .15s cubic-bezier(0,0,.2,1)}.cart-bar__btn:hover{background-color:#fbf8f0}.cart-bar__btn:active{transform:scale(.98)}.cart-bar__expand{display:flex;align-items:center;justify-content:center;width:100%;padding:.25rem 0;font-size:.75rem;color:#ffffffb3}.cart-bar__expand:before{content:"";width:24px;height:3px;background-color:#ffffff4d;border-radius:9999px}.cart-bar--empty{justify-content:center;padding:1rem;background-color:#8a9a8c}.cart-bar--empty .cart-bar__message{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#fff}.cart-fab{position:fixed;bottom:1.5rem;right:1rem;display:flex;align-items:center;justify-content:center;width:56px;height:56px;background-color:#1f4d3a;color:#fff;border-radius:50%;box-shadow:0 8px 30px -4px #1f4d3a26;z-index:300;transition:all .15s cubic-bezier(0,0,.2,1);padding-bottom:env(safe-area-inset-bottom,0)}.cart-fab:hover{transform:scale(1.05);box-shadow:0 12px 35px -8px #1f4d3a66}.cart-fab:active{transform:scale(.98)}.cart-fab svg,.cart-fab .icon{width:24px;height:24px}.cart-fab__count{position:absolute;top:-2px;right:-2px;display:flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 .25rem;font-family:DM Sans,sans-serif;font-size:12px;font-weight:700;background-color:#c9a962;color:#fff;border-radius:9999px;border:2px solid #FFFFFF}.cart-preview{position:fixed;bottom:0;left:0;right:0;max-height:60vh;background-color:#fff;border-radius:1.5rem 1.5rem 0 0;box-shadow:0 25px 50px -12px #1f4d3a40;z-index:500;display:flex;flex-direction:column;animation:slideInUp .25s cubic-bezier(.23,1,.32,1);padding-bottom:env(safe-area-inset-bottom,0)}.cart-preview__handle{display:flex;align-items:center;justify-content:center;padding:.75rem;cursor:grab}.cart-preview__handle:after{content:"";width:36px;height:4px;background-color:#c8d4ca;border-radius:9999px}.cart-preview__header{display:flex;align-items:center;justify-content:space-between;padding:0 1rem .75rem;border-bottom:1px solid #EEF2EF}.cart-preview__title{font-size:1.25rem;font-weight:600;color:#2c3e2d}.cart-preview__clear{font-size:.875rem;color:#c75b5b}.cart-preview__items{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#C8D4CA transparent}.cart-preview__items::-webkit-scrollbar{width:6px;height:6px}.cart-preview__items::-webkit-scrollbar-track{background:transparent}.cart-preview__items::-webkit-scrollbar-thumb{background-color:#c8d4ca;border-radius:9999px}.cart-preview__items::-webkit-scrollbar-thumb:hover{background-color:#8a9a8c}.cart-preview__footer{padding:1rem;border-top:1px solid #EEF2EF;background-color:#fff}.cart-preview__total-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.cart-preview__total-label{font-size:1rem;color:#5a6b5c}.cart-preview__total-value{font-family:DM Sans,Noto Sans TC,PingFang TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.5rem;font-weight:700;color:#1f4d3a}.checkout-bar{display:flex;gap:.75rem;padding:1rem;background-color:#fff;border-top:1px solid #EEF2EF;padding-bottom:env(safe-area-inset-bottom,0)}.checkout-bar__info{flex:1;display:flex;flex-direction:column;justify-content:center}.checkout-bar__label{font-size:.875rem;color:#5a6b5c}.checkout-bar__total{font-family:DM Sans,Noto Sans TC,PingFang TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.5rem;font-weight:700;color:#1f4d3a}.checkout-bar__btn{min-width:140px}.m-0{margin:0}.mt-0{margin-top:0}.mr-0{margin-right:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.mx-0{margin-left:0;margin-right:0}.my-0{margin-top:0;margin-bottom:0}.m-1{margin:.25rem}.mt-1{margin-top:.25rem}.mr-1{margin-right:.25rem}.mb-1{margin-bottom:.25rem}.ml-1{margin-left:.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.m-2{margin:.5rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.m-3{margin:.75rem}.mt-3{margin-top:.75rem}.mr-3{margin-right:.75rem}.mb-3{margin-bottom:.75rem}.ml-3{margin-left:.75rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.m-4{margin:1rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.mb-4{margin-bottom:1rem}.ml-4{margin-left:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.my-4{margin-top:1rem;margin-bottom:1rem}.m-5{margin:1.25rem}.mt-5{margin-top:1.25rem}.mr-5{margin-right:1.25rem}.mb-5{margin-bottom:1.25rem}.ml-5{margin-left:1.25rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.m-6{margin:1.5rem}.mt-6{margin-top:1.5rem}.mr-6{margin-right:1.5rem}.mb-6{margin-bottom:1.5rem}.ml-6{margin-left:1.5rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.m-8{margin:2rem}.mt-8{margin-top:2rem}.mr-8{margin-right:2rem}.mb-8{margin-bottom:2rem}.ml-8{margin-left:2rem}.mx-8{margin-left:2rem;margin-right:2rem}.my-8{margin-top:2rem;margin-bottom:2rem}.m-10{margin:2.5rem}.mt-10{margin-top:2.5rem}.mr-10{margin-right:2.5rem}.mb-10{margin-bottom:2.5rem}.ml-10{margin-left:2.5rem}.mx-10{margin-left:2.5rem;margin-right:2.5rem}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.m-12{margin:3rem}.mt-12{margin-top:3rem}.mr-12{margin-right:3rem}.mb-12{margin-bottom:3rem}.ml-12{margin-left:3rem}.mx-12{margin-left:3rem;margin-right:3rem}.my-12{margin-top:3rem;margin-bottom:3rem}.m-auto{margin:auto}.mt-auto{margin-top:auto}.mr-auto{margin-right:auto}.mb-auto{margin-bottom:auto}.ml-auto{margin-left:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.p-0{padding:0}.pt-0{padding-top:0}.pr-0{padding-right:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.px-0{padding-left:0;padding-right:0}.py-0{padding-top:0;padding-bottom:0}.p-1{padding:.25rem}.pt-1{padding-top:.25rem}.pr-1{padding-right:.25rem}.pb-1{padding-bottom:.25rem}.pl-1{padding-left:.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.p-2{padding:.5rem}.pt-2{padding-top:.5rem}.pr-2{padding-right:.5rem}.pb-2{padding-bottom:.5rem}.pl-2{padding-left:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.p-3{padding:.75rem}.pt-3{padding-top:.75rem}.pr-3{padding-right:.75rem}.pb-3{padding-bottom:.75rem}.pl-3{padding-left:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.p-4{padding:1rem}.pt-4{padding-top:1rem}.pr-4{padding-right:1rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-4{padding-top:1rem;padding-bottom:1rem}.p-5{padding:1.25rem}.pt-5{padding-top:1.25rem}.pr-5{padding-right:1.25rem}.pb-5{padding-bottom:1.25rem}.pl-5{padding-left:1.25rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.p-6{padding:1.5rem}.pt-6{padding-top:1.5rem}.pr-6{padding-right:1.5rem}.pb-6{padding-bottom:1.5rem}.pl-6{padding-left:1.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.p-8{padding:2rem}.pt-8{padding-top:2rem}.pr-8{padding-right:2rem}.pb-8{padding-bottom:2rem}.pl-8{padding-left:2rem}.px-8{padding-left:2rem;padding-right:2rem}.py-8{padding-top:2rem;padding-bottom:2rem}.p-10{padding:2.5rem}.pt-10{padding-top:2.5rem}.pr-10{padding-right:2.5rem}.pb-10{padding-bottom:2.5rem}.pl-10{padding-left:2.5rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.p-12{padding:3rem}.pt-12{padding-top:3rem}.pr-12{padding-right:3rem}.pb-12{padding-bottom:3rem}.pl-12{padding-left:3rem}.px-12{padding-left:3rem;padding-right:3rem}.py-12{padding-top:3rem;padding-bottom:3rem}.gap-0{gap:0}.gap-x-0{column-gap:0}.gap-y-0{row-gap:0}.gap-1{gap:.25rem}.gap-x-1{column-gap:.25rem}.gap-y-1{row-gap:.25rem}.gap-2{gap:.5rem}.gap-x-2{column-gap:.5rem}.gap-y-2{row-gap:.5rem}.gap-3{gap:.75rem}.gap-x-3{column-gap:.75rem}.gap-y-3{row-gap:.75rem}.gap-4{gap:1rem}.gap-x-4{column-gap:1rem}.gap-y-4{row-gap:1rem}.gap-5{gap:1.25rem}.gap-x-5{column-gap:1.25rem}.gap-y-5{row-gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-6{column-gap:1.5rem}.gap-y-6{row-gap:1.5rem}.gap-8{gap:2rem}.gap-x-8{column-gap:2rem}.gap-y-8{row-gap:2rem}.gap-10{gap:2.5rem}.gap-x-10{column-gap:2.5rem}.gap-y-10{row-gap:2.5rem}.gap-12{gap:3rem}.gap-x-12{column-gap:3rem}.gap-y-12{row-gap:3rem}.text-primary{color:#1f4d3a}.text-accent{color:#c9a962}.text-success{color:#2e8b57}.text-warning{color:#d4a574}.text-danger{color:#c75b5b}.text-info{color:#5b8fa8}.text-muted{color:#8a9a8c}.text-secondary{color:#5a6b5c}.text-white{color:#fff}.text-2xs{font-size:.625rem}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-md{font-size:1.125rem}.text-lg{font-size:1.25rem}.text-xl{font-size:1.5rem}.text-2xl{font-size:1.875rem}.text-3xl{font-size:2.25rem}.font-light{font-weight:300}.font-regular{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.leading-tight{line-height:1.25}.leading-snug{line-height:1.375}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-loose{line-height:2}.underline{text-decoration:underline}.line-through{text-decoration:line-through}.no-underline{text-decoration:none}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{word-break:break-word}.font-display{font-family:"Noto Serif TC",Songti TC,STSong,serif}.font-body{font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,sans-serif}.font-number{font-family:DM Sans,Noto Sans TC,PingFang TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,sans-serif}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.static{position:static}.inset-0{inset:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.w-full{width:100%}.w-auto{width:auto}.w-screen{width:100vw}.min-w-0{min-width:0}.h-full{height:100%}.h-auto{height:auto}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.min-h-0{min-height:0}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.visible{visibility:visible}.invisible{visibility:hidden}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.rounded-none{border-radius:0}.rounded-sm{border-radius:.25rem}.rounded{border-radius:.5rem}.rounded-lg{border-radius:.75rem}.rounded-xl{border-radius:1rem}.rounded-2xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}@media(max-width:575px){.hidden-xs{display:none!important}}@media(min-width:576px){.hidden-sm{display:none!important}.visible-sm{display:block!important}}@media(min-width:768px){.hidden-md{display:none!important}.visible-md{display:block!important}}@media(min-width:992px){.hidden-lg{display:none!important}.visible-lg{display:block!important}}
