.detail-page{background:var(--color-bg);padding-bottom:48px}.detail-page .container{padding-top:12px}.detail-breadcrumb{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;font-size:13px;display:flex}.detail-breadcrumb a:hover{color:var(--color-accent)}.detail-breadcrumb .sep{opacity:.45;-webkit-user-select:none;user-select:none}.detail-breadcrumb .current{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;max-width:min(100%,520px);overflow:hidden}.detail-card{background:var(--color-surface);box-shadow:var(--shadow);border:1px solid #eef0f3;border-radius:12px}.detail-tabs{margin-top:16px;overflow:hidden}.detail-tabs .tabs{border-bottom:1px solid var(--color-border);-webkit-overflow-scrolling:touch;background:#fafafa;display:flex;overflow-x:auto}.detail-tabs .tabs button{cursor:pointer;color:var(--color-muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;flex-shrink:0;margin-bottom:-1px;padding:14px 22px;font-size:14px;font-weight:600}.detail-tabs .tabs button.on{color:var(--color-price);border-bottom-color:var(--color-price);background:#fff}.detail-tabs .tab-body{padding:20px 24px 28px}.detail-section-title{align-items:center;gap:10px;margin:28px 0 14px;font-size:1.15rem;font-weight:600;display:flex}.detail-section-title:before{content:"";background:var(--color-price);border-radius:2px;width:4px;height:18px}.detail-empty,.detail-state{text-align:center;color:var(--color-muted);padding:48px 16px;font-size:15px;line-height:1.5}.detail-state.is-loading{color:var(--color-text)}.detail-state.is-error{color:var(--color-price)}.detail-state .detail-state-action{margin-top:16px}.detail-mobile-bar{display:none}.detail-gallery-main{position:relative}.detail-gallery-zoom{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.detail-gallery-nav{z-index:2;cursor:pointer;width:40px;height:40px;color:var(--color-text);background:#ffffffeb;border:0;border-radius:50%;font-size:1.5rem;line-height:1;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 12px #0000001f}.detail-gallery-nav.prev{left:10px}.detail-gallery-nav.next{right:10px}.detail-gallery-nav:hover{background:#fff}.detail-gallery-thumbs{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:10px;margin-top:12px;padding:2px 0 6px;display:flex;overflow-x:auto}.detail-gallery-thumbs .goods_swiper_item{scroll-snap-align:start;cursor:pointer;background:#fff;border:2px solid #0000;border-radius:8px;flex:0 0 72px;padding:4px}.detail-gallery-thumbs .goods_swiper_item.on{border-color:var(--color-price);box-shadow:0 0 0 1px #db14391f}.detail-gallery-thumbs .goods_swiper_item img{object-fit:contain;border-radius:4px;width:64px;height:64px;display:block}.related-row{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:12px;padding-bottom:4px;display:flex;overflow-x:auto}.related-row .goods{scroll-snap-align:start;flex:0 0 158px}.detail-lightbox{z-index:3000;background:#0f172ae0;place-items:center;padding:48px 56px;display:grid;position:fixed;inset:0}.detail-lightbox-img{object-fit:contain;background:#111;border-radius:8px;max-width:min(960px,100%);max-height:min(85vh,900px)}.detail-lightbox-close{cursor:pointer;color:var(--color-text);background:#fffffff2;border:0;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:600;position:absolute;top:16px;right:16px}.detail-lightbox-nav{cursor:pointer;color:#fff;background:#ffffff26;border:0;border-radius:50%;width:48px;height:48px;font-size:1.75rem;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.detail-lightbox-nav:hover{background:#ffffff47}.detail-lightbox-nav.prev{left:16px}.detail-lightbox-nav.next{right:16px}@media (width>=901px){.goods_content .goods-detail-sidebar{align-self:start;max-height:calc(100vh - 24px);position:sticky;top:12px;overflow-y:auto}}.detail-reviews-body{gap:0;display:grid}.detail-review{border-bottom:1px solid #eef0f3;padding:16px 0;font-size:14px;line-height:1.55}.detail-review:last-child{border-bottom:0}.detail-review-head{align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.detail-review-avatar{color:#92400e;text-transform:uppercase;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:16px;font-weight:700;display:grid}.detail-review-meta{gap:4px;min-width:0;display:grid}.detail-review-meta time{color:var(--color-muted);font-size:12px;font-weight:400}.detail-review-stars{color:#eab308;letter-spacing:1px;font-size:13px}.detail-review-title{margin:0 0 6px}.detail-review-content{color:var(--color-text);margin:0}.detail-review-photos{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.detail-review-photos img{object-fit:cover;background:#f8fafc;border:1px solid #eef0f3;border-radius:8px;width:72px;height:72px}.store-products-toolbar{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:8px;padding:16px 18px;display:flex}.store-search{flex:200px;min-width:160px}.store-search input{border:1px solid var(--color-border);background:#fafafa;border-radius:999px;width:100%;padding:10px 16px;font-size:14px}.store-search input:focus{outline:2px solid var(--color-accent);outline-offset:1px;background:#fff}.store-sort-tabs{flex-wrap:wrap;gap:8px;display:flex}.store-sort-tabs button{border:1px solid var(--color-border);cursor:pointer;color:var(--color-muted);white-space:nowrap;background:#fff;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600}.store-sort-tabs button.on{background:var(--color-price);color:#fff;border-color:var(--color-price)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.uc-shell .side,.uc-shell .content{background:var(--color-surface);box-shadow:var(--shadow);border:1px solid #eef0f3;border-radius:12px}.uc-order-filters{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:8px;margin-bottom:16px;padding-bottom:12px;display:flex}.uc-order-filters button{border:1px solid var(--color-border);cursor:pointer;color:var(--color-muted);background:#fff;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.uc-order-filters button.on{background:var(--color-price);color:#fff;border-color:var(--color-price)}.uc-order-card{background:#fff;border:1px solid #eef0f3;border-radius:12px;margin-bottom:14px;overflow:hidden;box-shadow:0 2px 8px #1113180a}.uc-order-card .order-head{border-bottom:1px solid var(--color-border);color:var(--color-muted);background:#fafafa;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:13px;display:flex}.uc-order-card .order-head b{color:var(--color-price);font-size:13px;font-weight:700}.uc-order-card .order-body{padding:2px 14px}.uc-order-card .order-item{border-bottom:1px dashed #eef0f3;gap:10px;padding:8px 0;display:flex}.uc-order-card .order-item:last-child{border-bottom:0}.uc-order-card .order-item img{object-fit:contain;background:#f8fafc;border:1px solid #f0f0f0;border-radius:8px;flex-shrink:0;width:56px;height:56px}.uc-order-card .order-foot{border-top:1px solid var(--color-border);background:#fcfcfd;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px 14px;display:flex}.uc-order-card .order-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.uc-order-card .order-actions .btn-sm{border-radius:999px;padding:.45rem .9rem;font-size:13px}.uc-order-timeline{border-bottom:1px solid var(--color-border);background:#fff;justify-content:space-between;align-items:flex-start;gap:4px;padding:10px 16px 12px;display:flex}.uc-order-timeline.is-muted .uc-timeline-step{opacity:.45}.uc-timeline-step{text-align:center;flex:1;justify-items:center;gap:6px;min-width:0;display:grid;position:relative}.uc-timeline-step:not(:last-child):after{content:"";z-index:0;background:#e5e7eb;height:2px;position:absolute;top:7px;left:calc(50% + 10px);right:calc(10px - 50%)}.uc-timeline-step.is-done:not(:last-child):after{background:var(--color-price)}.uc-timeline-step .dot{z-index:1;background:#fff;border:2px solid #d1d5db;border-radius:50%;width:16px;height:16px;position:relative}.uc-timeline-step.is-done .dot,.uc-timeline-step.is-active .dot{border-color:var(--color-price);background:var(--color-price);box-shadow:0 0 0 3px #db14391f}.uc-timeline-step.is-active .dot{background:#fff}.uc-timeline-step.is-active .dot:after{content:"";background:var(--color-price);border-radius:50%;position:absolute;inset:3px}.uc-timeline-step .label{color:var(--color-muted);font-size:11px;font-weight:600;line-height:1.25}.uc-timeline-step.is-done .label,.uc-timeline-step.is-active .label{color:var(--color-text)}.uc-shell .side nav .uc-nav-btn{text-align:left;cursor:pointer;color:#374151;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;width:100%;padding:9px 10px;font-size:13px;font-weight:600;display:flex}.uc-shell .side nav .uc-nav-btn.on,.uc-shell .side nav .uc-nav-btn:hover{color:var(--color-text);background:#f1f5f9}.uc-shell .side nav .uc-nav-icon{width:32px;height:32px;color:var(--color-muted);background:#f8fafc;border-radius:10px;flex-shrink:0;place-items:center;display:grid}.uc-shell .side nav .uc-nav-btn.on .uc-nav-icon{color:var(--color-price);background:#db14391a}.uc-shell .side nav .uc-nav-icon svg{width:18px;height:18px}.checkout-page-title{margin:0 0 16px;font-size:1.35rem;font-weight:700}.checkout-layout{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start;gap:16px;display:grid}.checkout-panel{padding:18px 20px 22px}.checkout-panel h2,.checkout-panel h3{margin:0 0 14px;font-size:1rem;font-weight:700}.checkout-summary{top:calc(var(--topbar-h) + var(--header-h) + 12px);position:sticky}.checkout-line-list{gap:10px;margin:0 0 14px;padding:0;list-style:none;display:grid}.checkout-line{align-items:center;gap:12px;display:flex}.checkout-line img{object-fit:contain;background:#f8fafc;border:1px solid #f0f0f0;border-radius:8px;flex-shrink:0;width:52px;height:52px}.checkout-line-meta{flex:1;gap:4px;min-width:0;font-size:13px;display:grid}.checkout-line-meta span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.checkout-line-meta small{color:var(--color-muted)}.checkout-total-row{border-top:1px solid var(--color-border);justify-content:space-between;align-items:baseline;padding:12px 0 16px;font-size:1.05rem;font-weight:600;display:flex}.checkout-addr-list{gap:10px;margin-bottom:14px;display:grid}.checkout-addr-option{border:1px solid var(--color-border);cursor:pointer;border-radius:10px;align-items:flex-start;gap:12px;padding:12px 14px;transition:border-color .15s,box-shadow .15s;display:flex}.checkout-addr-option:has(input:checked){border-color:var(--color-price);box-shadow:0 0 0 1px #db143926}.checkout-addr-option input{margin-top:4px}.checkout-addr-option strong{font-size:14px;display:block}.checkout-addr-option small{color:var(--color-muted);margin-top:4px;font-size:12px;line-height:1.45;display:block}.checkout-field-check{align-items:center;gap:8px;margin:12px 0;font-size:13px;font-weight:600;display:flex}.checkout-field-check input{width:auto}.checkout-panel textarea{border:1px solid var(--color-border);resize:vertical;border-radius:10px;width:100%;padding:10px 12px;font-weight:400}.checkout-success{text-align:center;max-width:520px;margin:0 auto;padding:24px 22px 26px}.checkout-success code{background:#f1f5f9;border-radius:6px;padding:2px 8px;font-size:13px}.checkout-success-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px;display:flex}.checkout-edit-cart{color:var(--color-accent);margin-bottom:12px;font-size:13px;font-weight:600;display:inline-block}.checkout-edit-cart:hover{text-decoration:underline}.detail-modal-backdrop{z-index:2000;background:#0f172a73;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.detail-modal{background:var(--color-surface);width:min(440px,100%);box-shadow:var(--shadow);border:1px solid #eef0f3;border-radius:12px;gap:16px;max-height:min(90vh,640px);padding:22px 24px 24px;display:grid;overflow-y:auto}.detail-modal h3{margin:0;font-size:1.15rem}.detail-modal .muted{color:var(--color-muted);margin:0;font-size:13px}.detail-modal label{gap:6px;font-size:13px;font-weight:600;display:grid}.detail-modal .modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.consult-layout{grid-template-columns:minmax(0,280px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.consult-faq{padding:18px 20px}.consult-faq h2{margin:0 0 8px;font-size:1rem}.consult-faq p{color:var(--color-muted);margin:0 0 14px;font-size:13px;line-height:1.5}.consult-faq-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.consult-faq-list button{text-align:left;border:1px solid var(--color-border);cursor:pointer;width:100%;color:var(--color-text);background:#fafafa;border-radius:10px;padding:10px 12px;font-size:13px;font-weight:600}.consult-faq-list button:hover{border-color:var(--color-accent);color:var(--color-accent)}@media (width<=900px){.checkout-layout{grid-template-columns:1fr}.checkout-summary{position:static}.detail-mobile-bar{z-index:40;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:#fff;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0000000f}.detail-mobile-bar .btn{flex:1;min-height:44px}.detail-page.has-mobile-bar{padding-bottom:88px}.detail-tabs .tab-body{padding:16px 14px 22px}.consult-layout{grid-template-columns:1fr}}@media (width<=640px){.uc-order-timeline{padding:8px 10px 10px}.uc-timeline-step .label{font-size:10px}.uc-order-card .order-foot{flex-direction:column;align-items:stretch}.uc-order-card .order-actions{justify-content:stretch}.uc-order-card .order-actions .btn-sm{text-align:center;flex:1;min-width:calc(50% - 4px)}}@media (width<=800px){html,body{overflow-x:clip}.container{width:min(100% - 24px, var(--max))}.page{padding-bottom:calc(var(--mobile-tabbar-h) + 16px + env(safe-area-inset-bottom,0))}.page.has-mobile-bar{padding-bottom:calc(var(--mobile-tabbar-h) + var(--detail-mobile-bar-h,56px) + env(safe-area-inset-bottom,0))}.home-main{padding-bottom:calc(var(--mobile-tabbar-h) + 8px + env(safe-area-inset-bottom,0))}.section-title{margin:20px 0 10px}.section-title h2{font-size:1.05rem}.detail-mobile-bar{bottom:calc(var(--mobile-tabbar-h) + env(safe-area-inset-bottom,0));z-index:1050}}:root{--mobile-tabbar-h:56px;--detail-mobile-bar-h:56px;--color-price:#db1439;--color-accent:#1a73e8;--color-flash:#111318;--color-flash-text:#ffd54f;--color-bg:#f4f5f7;--color-surface:#fff;--color-text:#1a1c23;--color-muted:#6b7280;--color-border:#e5e7eb;--color-discount-bg:#3f414e;--header-h:64px;--topbar-h:40px;--radius:10px;--shadow:0 8px 24px #1113180f;--font:"IBM Plex Sans", "IBM Plex Sans Thai", "Segoe UI", system-ui, sans-serif;--max:1400px;--color-header:#fdc414;--color-header-text:#111318}*,:before,:after{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{font-family:var(--font);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}img{max-width:100%;display:block}.container{width:min(100% - 32px, var(--max));margin-inline:auto}.page{padding-bottom:64px}.section-title{justify-content:space-between;align-items:baseline;gap:16px;margin:28px 0 14px;display:flex}.section-title h2{letter-spacing:-.02em;margin:0;font-size:1.25rem}.section-title a{color:var(--color-accent);font-size:.9rem}.goods-grid{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}@media (width<=1100px){.goods-grid{grid-template-columns:repeat(4,1fr)}}@media (width<=800px){.goods-grid{grid-template-columns:repeat(2,1fr)}}.btn{appearance:none;cursor:pointer;border:0;border-radius:999px;padding:.7rem 1.25rem;font-weight:600;transition:transform .15s,box-shadow .15s,background .15s}.btn:active{transform:scale(.98)}.btn-primary{background:var(--color-price);color:#fff;box-shadow:0 8px 18px #db143940}.btn-primary:hover{filter:brightness(1.05)}.btn-outline{border:1px solid var(--color-border);color:var(--color-text);background:#fff}.btn-dark{background:var(--color-flash);color:#fff}.price{color:var(--color-price);font-weight:700}.price-old{color:var(--color-muted);margin-left:6px;font-size:.85em;text-decoration:line-through}.badge-discount{z-index:1;background:var(--color-discount-bg);color:#fff;border-radius:6px;padding:3px 7px;font-size:12px;font-weight:700;position:absolute;top:8px;left:8px}
