*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f5f5;color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif}.app-header{height:66px;background:#fff;display:flex;align-items:center;gap:10px;padding:8px 16px;position:sticky;top:0;z-index:30;border-bottom:1px solid #eee}.icon-btn,.cart-top{border:0;background:#fff;font-size:27px;padding:6px;cursor:pointer}.cart-top{position:relative}.cart-top b{position:absolute;right:-3px;top:-3px;background:var(--primary);color:#fff;border-radius:20px;padding:2px 7px;font-size:12px}.search-box{height:44px;background:#f2f2f2;border-radius:9px;display:flex;align-items:center;gap:8px;padding:0 15px;color:#888;flex:1;font-size:18px}.tabs{height:57px;background:#fff;display:flex;position:sticky;top:66px;z-index:29;border-bottom:1px solid #eee}.tabs a{flex:1;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#777;font-weight:700;position:relative}.tabs a.active{color:#111}.tabs a.active:after{content:"";position:absolute;left:25%;right:25%;bottom:0;height:3px;background:#111}.hero-shell{background:#fff;position:relative}.gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.gallery::-webkit-scrollbar{display:none}.slide{min-width:100%;height:min(76vh,720px);scroll-snap-align:start;position:relative;background:#eee}.slide img{width:100%;height:100%;object-fit:cover}.recent{position:absolute;left:18px;top:18px;background:#333b;color:#fff;padding:8px 14px;border-radius:24px}.counter{position:absolute;right:18px;bottom:18px;background:#333b;color:#fff;padding:5px 10px;border-radius:18px}.dots{position:absolute;bottom:11px;left:50%;transform:translateX(-50%);display:flex;gap:5px}.dot{width:6px;height:6px;border:0;border-radius:50%;background:#ddd}.dot.active{width:18px;border-radius:8px;background:var(--primary)}.flash-box{background:linear-gradient(100deg,var(--primary),#f01446);color:#fff;display:flex;justify-content:space-between;padding:17px 22px;gap:18px}.flash-box>div:first-child{display:grid;grid-template-columns:auto auto;align-items:center;gap:4px 10px}.flash-box strong{font-size:34px}.flash-box del{grid-column:1/3;opacity:.7;font-size:17px}.discount-pill{background:#fff;color:var(--primary);padding:5px 10px;border-radius:7px;font-weight:800}.flash-meta{text-align:right;display:flex;flex-direction:column;justify-content:center;gap:7px}.product-card,.affiliate,.info-list,.voucher-block,.paylater-block,.reviews-block,.shop-block,.description-block,.suggestions,.order-panel{background:#fff;margin-top:10px;padding:20px}.paylater{display:flex;justify-content:space-between;padding-bottom:15px;border-bottom:1px solid #eee}.promo-row{display:flex;gap:8px;overflow-x:auto;padding:14px 0}.promo-row span,.paylater-block span{white-space:nowrap;background:#fff0f3;color:#e6284e;border-radius:5px;padding:6px 9px;font-size:14px}.product-card h1{font-size:23px;line-height:1.35;margin:4px 0}.product-card h1 em{font-style:normal;background:#fe2c55;color:#fff;border-radius:4px;padding:2px 6px;font-size:18px}.rating-line{display:flex;gap:8px;align-items:center;color:#555}.rating-line>span:first-child{color:#ffc400}.affiliate{font-weight:700;font-size:19px;border-radius:22px 22px 0 0}.affiliate small{display:block;color:var(--primary);font-weight:400;margin-top:8px}.info-list{padding:0 20px}.info-list>div{display:flex;align-items:center;gap:14px;padding:17px 0;border-bottom:1px solid #eee}.info-list span{flex:1}.info-list small{display:block;color:#777;margin-top:5px}.info-list b{background:#e2f8f5;color:#178f84;padding:4px 7px}.section-title{font-size:24px;font-weight:800;display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.section-title span{font-size:16px;color:#777;font-weight:600}.voucher{display:flex;align-items:center;border:1px solid #ffd4dc;background:#fff5f7;border-radius:11px;overflow:hidden}.voucher>b{padding:20px;color:#e6284e;border-right:1px dashed #f7a9b7}.voucher>span{flex:1;padding:12px}.voucher span strong,.voucher span small{display:block}.voucher span strong{font-size:18px;color:#e6284e}.voucher button,.shop-main button{border:0;background:var(--primary);color:#fff;border-radius:24px;padding:10px 25px;font-weight:800}.paylater-block{display:flex;gap:12px;align-items:center;font-size:22px}.paylater-block strong{margin-left:auto}.score{display:flex;gap:15px;align-items:center;font-size:23px}.score small{font-size:16px;color:#777}.score span,.stars{color:#ffc400;letter-spacing:2px}.review-item{padding:18px 0;border-bottom:1px solid #eee}.review-head{display:flex;gap:10px;align-items:center}.avatar{width:42px;height:42px;border-radius:50%;background:#eee;display:grid;place-items:center;font-weight:800}.review-item>small{display:block;color:#999;margin:10px 0}.review-item p{font-size:18px;margin:8px 0}.review-item>img{width:165px;height:165px;object-fit:cover;border-radius:10px}.shop-main{display:flex;align-items:center;gap:12px}.shop-avatar{width:62px;height:62px;border-radius:50%;background:#f3f3f3;display:grid;place-items:center;font-size:26px;overflow:hidden}.shop-avatar img{width:100%;height:100%;object-fit:cover}.shop-main h2{font-size:20px;margin:0 0 7px}.shop-main div:nth-child(2){flex:1}.shop-stats{display:flex;justify-content:space-between;color:#666;margin-top:20px}.description-block p,.description-block li{font-size:17px;line-height:1.7}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.product-grid article{border:1px solid #eee;border-radius:9px;overflow:hidden}.product-grid article>div{height:220px;position:relative}.product-grid img{width:100%;height:100%;object-fit:cover}.product-grid article>div span{position:absolute;right:0;top:0;background:var(--primary);color:#fff;padding:6px}.product-grid h3,.product-grid article>b,.product-grid article>small{display:block;margin:9px 12px}.product-grid h3{font-size:17px;height:41px;overflow:hidden}.product-grid article>b{font-size:21px;color:var(--primary)}.product-grid article>small{color:#777}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-grid input,.form-grid textarea{border:1px solid #ddd;border-radius:8px;padding:13px;font:inherit}.form-grid textarea{grid-column:1/3;min-height:90px}.order-panel form>button{width:100%;margin-top:12px;border:0;background:var(--primary);color:#fff;border-radius:8px;padding:15px;font-size:18px;font-weight:800}.bottom-bar{position:fixed;bottom:0;left:0;right:0;height:82px;background:#fff;border-top:1px solid #eee;display:flex;align-items:center;gap:8px;padding:8px 16px;z-index:40}.bottom-bar a{width:64px;text-align:center;text-decoration:none;color:#111}.bottom-bar a span{font-size:23px;display:block}.bottom-bar small{display:block}.cart-bottom{width:76px;height:60px;border:0;border-radius:32px;background:#fff0f3;color:var(--primary);font-size:27px}.buy-bottom{flex:1;height:60px;border:0;border-radius:32px;background:var(--primary);color:#fff}.buy-bottom b{display:block;font-size:20px}.buy-bottom small{font-size:13px}.toast{position:fixed;left:50%;bottom:95px;transform:translate(-50%,20px);background:#111;color:#fff;padding:11px 17px;border-radius:24px;opacity:0;pointer-events:none;transition:.25s;z-index:60}.toast.show{opacity:1;transform:translate(-50%,0)}main{padding-bottom:90px}
@media(min-width:900px){body{background:#ececec}.app-header,.tabs,main{max-width:1240px;margin-left:auto;margin-right:auto}.app-header{top:0}.tabs{top:66px}.hero-shell{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr)}.hero-shell:after{content:"Mua sắm nội thất trực tuyến";display:grid;place-items:center;font-size:34px;font-weight:900;background:linear-gradient(145deg,#fff,#f6f6f6)}.slide{height:650px}.flash-box,.product-card,.affiliate{max-width:1240px;margin-left:auto;margin-right:auto}.info-list,.voucher-block,.paylater-block,.reviews-block,.shop-block,.description-block,.suggestions,.order-panel{max-width:1240px;margin-left:auto;margin-right:auto}.product-grid{grid-template-columns:repeat(4,1fr)}.bottom-bar{left:50%;right:auto;width:min(1240px,100%);transform:translateX(-50%);border-radius:18px 18px 0 0}.form-grid{grid-template-columns:1fr 1fr 2fr}.form-grid textarea{grid-column:auto}.reviews-block,.shop-block,.description-block{padding:28px 40px}}
@media(max-width:560px){.app-header{padding:7px 10px}.icon-btn{font-size:23px;padding:3px}.search-box{font-size:16px;height:42px}.tabs{font-size:15px}.slide{height:58vh;min-height:430px}.flash-box{padding:13px 15px}.flash-box strong{font-size:29px}.flash-meta{font-size:13px}.product-card,.affiliate,.voucher-block,.reviews-block,.shop-block,.description-block,.suggestions,.order-panel{padding:16px}.product-card h1{font-size:20px}.section-title{font-size:21px}.voucher>b{padding:12px 8px;font-size:13px}.voucher>span{padding:10px 8px}.voucher span strong{font-size:15px}.voucher button{padding:9px 15px}.shop-stats{font-size:13px;gap:12px}.product-grid article>div{height:190px}.form-grid{grid-template-columns:1fr}.form-grid textarea{grid-column:auto}.bottom-bar{padding:8px 10px}.bottom-bar a{width:53px;font-size:12px}.cart-bottom{width:64px}.buy-bottom b{font-size:18px}}
.server-message{position:fixed;left:50%;top:90px;transform:translateX(-50%);z-index:9999;max-width:min(92vw,560px);padding:14px 18px;border-radius:12px;color:#fff;font-weight:700;box-shadow:0 8px 30px rgba(0,0,0,.18)}
.server-message.success{background:#159447}.server-message.error{background:#d93025}
.toast.success{background:#159447}.toast.error{background:#111}
.product-link{display:block;color:inherit;text-decoration:none}.product-link article{height:100%;transition:transform .18s,box-shadow .18s}.product-link:hover article{transform:translateY(-4px);box-shadow:0 10px 24px rgba(0,0,0,.12)}.product-grid article>div i{position:absolute;left:10px;bottom:10px;background:rgba(0,0,0,.72);color:#fff;border-radius:18px;padding:7px 11px;font-style:normal;font-size:13px;opacity:0;transition:.18s}.product-link:hover article>div i{opacity:1}.ordering-product{display:flex;gap:12px;align-items:center;background:#fff7f9;border:1px solid #ffd9e1;padding:10px;border-radius:10px;margin-bottom:13px}.ordering-product img{width:74px;height:74px;object-fit:cover;border-radius:8px}.ordering-product div{display:flex;flex-direction:column;gap:8px}.ordering-product strong{color:var(--primary);font-size:20px}@media(max-width:560px){.product-grid article>div i{opacity:1;font-size:11px;padding:5px 8px}.product-grid h3{height:39px}}
