.trashstore-page{background:#f4fbf7;min-height:100vh}.trashstore-main-content{box-sizing:border-box;flex:1;max-width:1200px;margin:0 auto;padding:24px 28px 60px}.trashstore-hero-card{background:linear-gradient(135deg,#e6f6ee 0%,#f0faf4 100%);border:1px solid #c8ecd7;border-radius:20px;flex-direction:column;gap:16px;margin-bottom:24px;padding:24px 28px;display:flex;box-shadow:0 4px 18px #0846360d}.trashstore-points-badge{background:#fff;border:1px solid #bce6cd;border-radius:999px;align-items:center;gap:8px;margin-bottom:8px;padding:6px 14px;display:inline-flex;box-shadow:0 2px 6px #0846360a}.trashstore-points-icon{font-size:16px}.trashstore-points-label{color:#4a6f64;font-size:13px;font-weight:600}.trashstore-points-num{color:#087b58;font-size:15px;font-weight:800}.trashstore-hero-title{color:#084636;letter-spacing:-.02em;margin:0 0 6px;font-size:26px;font-weight:800}.trashstore-hero-desc{color:#3b6b5d;max-width:780px;margin:0;font-size:14px;line-height:1.5}.trashstore-month-banner{border-radius:14px;flex-direction:column;gap:6px;margin-top:4px;padding:14px 18px;display:flex}.trashstore-month-banner.active-eco{background:linear-gradient(135deg,#fef3c7 0%,#fef9c3 100%);border:1.5px solid #f59e0b;box-shadow:0 4px 12px #d977061f}.trashstore-month-banner.normal-month{background:#fff;border:1px solid #cbead8}.month-banner-header{align-items:center;gap:8px;display:flex}.month-banner-icon{font-size:18px}.month-banner-tag{letter-spacing:.05em;text-transform:uppercase;font-size:11.5px;font-weight:800}.active-eco .month-banner-tag{color:#b45309}.normal-month .month-banner-tag{color:#0d6d4e}.month-banner-text{color:#334155;margin:0;font-size:13.5px;line-height:1.45}.trashstore-section{margin-bottom:28px}.trashstore-section-header{flex-direction:column;gap:4px;margin-bottom:16px;display:flex}.trashstore-section-title{color:#084636;align-items:center;gap:8px;margin:0;font-size:19px;font-weight:800;display:flex}.trashstore-section-subtitle{color:#5c877a;font-size:13px}.trashstore-vouchers-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.trashstore-voucher-card{background:#fff;border:1.5px dashed #bce3cb;border-radius:16px;flex-direction:column;justify-content:space-between;padding:18px 20px;transition:all .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #0846360a}.trashstore-voucher-card:hover{border-color:#087b58;transform:translateY(-2px);box-shadow:0 6px 16px #08463614}.trashstore-voucher-card.exclusive-card{background:linear-gradient(#fffbeb 0%,#fff 100%);border:1.5px dashed #f59e0b}.voucher-card-top{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.voucher-tag{color:#087b58;background:#e6f6ee;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700}.exclusive-card .voucher-tag{color:#b45309;background:#fef3c7}.voucher-discount-val{color:#dc2626;letter-spacing:-.02em;font-size:16px;font-weight:800}.voucher-title{color:#0f172a;margin:0 0 4px;font-size:15px;font-weight:700}.voucher-desc{color:#64748b;margin:0 0 14px;font-size:12.5px;line-height:1.4}.voucher-card-footer{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding-top:12px;display:flex}.voucher-cost{color:#087b58;font-size:12.5px;font-weight:600}.voucher-claim-btn{color:#fff;cursor:pointer;background:#087b58;border:none;border-radius:10px;padding:6px 14px;font-size:12.5px;font-weight:700;transition:all .15s}.voucher-claim-btn:hover:not(:disabled){background:#066547;transform:scale(1.02)}.voucher-claim-btn:disabled{opacity:.55;cursor:not-allowed;background:#94a3b8}.voucher-claim-btn.claimed{background:#0284c7}.trashstore-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.trashstore-categories-tabs{flex-wrap:wrap;gap:8px;display:flex}.trashstore-tab-btn{color:#4a6f64;cursor:pointer;background:#fff;border:1px solid #d0e8dc;border-radius:12px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s}.trashstore-tab-btn:hover{color:#087b58;border-color:#087b58}.trashstore-tab-btn.active{color:#fff;background:#087b58;border-color:#087b58;box-shadow:0 2px 6px #087b5833}.trashstore-search-box{align-items:center;min-width:240px;display:flex;position:relative}.trashstore-search-icon{color:#94a3b8;font-size:14px;position:absolute;left:12px}.trashstore-search-input{color:#1e293b;background:#fff;border:1px solid #d0e8dc;border-radius:12px;outline:none;width:100%;padding:8px 32px 8px 34px;font-size:13px;transition:border-color .15s}.trashstore-search-input:focus{border-color:#087b58;box-shadow:0 0 0 3px #087b581a}.trashstore-search-clear{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:2px;font-size:12px;position:absolute;right:10px}.trashstore-products-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-bottom:32px;display:grid}.trashstore-product-card{background:#fff;border:1px solid #dbece2;border-radius:18px;flex-direction:column;transition:all .2s;display:flex;overflow:hidden;box-shadow:0 3px 12px #0846360a}.trashstore-product-card:hover{border-color:#b5e2cb;transform:translateY(-3px);box-shadow:0 8px 22px #08463617}.product-card-visual{background:linear-gradient(135deg,#eef9f2 0%,#e6f6ee 100%);justify-content:center;align-items:center;height:160px;display:flex;position:relative}.product-image-icon{font-size:64px;transition:transform .2s}.trashstore-product-card:hover .product-image-icon{transform:scale(1.08)}.product-badge{color:#fff;border-radius:8px;padding:3px 8px;font-size:10.5px;font-weight:700;position:absolute;top:10px;left:10px;box-shadow:0 2px 4px #0000001a}.product-card-body{flex-direction:column;flex:1;padding:16px;display:flex}.product-category{color:#087b58;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:11px;font-weight:700}.product-title{color:#0f172a;margin:0 0 6px;font-size:15.5px;font-weight:700;line-height:1.35}.product-desc{color:#64748b;flex:1;margin:0 0 10px;font-size:12.5px;line-height:1.4}.product-eco-impact{background:#f0fdf4;border:1px solid #dcfce7;border-radius:8px;align-items:flex-start;gap:6px;margin-bottom:14px;padding:6px 10px;display:flex}.impact-icon{font-size:13px;line-height:1.2}.impact-text{color:#15803d;font-size:11.5px;font-weight:500;line-height:1.35}.product-pricing{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:8px;padding-top:12px;display:flex}.pricing-col{flex-direction:column;display:flex}.price-original{color:#084636;font-size:16px;font-weight:800}.price-eco{color:#087b58;font-size:11px;font-weight:600}.product-buy-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#087b58;border:none;border-radius:10px;padding:8px 14px;font-size:12.5px;font-weight:700;transition:all .15s}.product-buy-btn:hover{background:#066547;transform:scale(1.03)}.trashstore-empty{text-align:center;color:#64748b;padding:40px 20px;font-size:14px}.trashstore-empty span{margin-bottom:8px;font-size:36px;display:block}.trashstore-footer-banner{background:#fff;border:1px solid #dbece2;border-radius:16px;align-items:center;gap:16px;padding:20px 24px;display:flex;box-shadow:0 2px 8px #08463608}.trashstore-footer-icon{color:#087b58;flex-shrink:0;font-size:32px}.trashstore-footer-text h4{color:#084636;margin:0 0 4px;font-size:15px;font-weight:800}.trashstore-footer-text p{color:#5c877a;margin:0;font-size:13px;line-height:1.45}.trashstore-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#081e1899;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.trashstore-modal-card{background:#fff;border-radius:20px;flex-direction:column;width:100%;max-width:480px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 40px #0003}.modal-header{color:#fff;background:linear-gradient(135deg,#09372c 0%,#0d4638 100%);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title-group{align-items:center;gap:12px;display:flex}.modal-icon{font-size:30px}.modal-title{color:#fff;margin:0;font-size:16px;font-weight:800}.modal-cat{color:#8be39b;font-size:11px;font-weight:600}.modal-close-btn{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;padding:4px;font-size:18px}.modal-close-btn:hover{opacity:1}.modal-body{flex-direction:column;gap:14px;padding:20px;display:flex;overflow-y:auto}.modal-info-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;padding-bottom:10px;font-size:14px;display:flex}.modal-field{flex-direction:column;gap:6px;display:flex}.modal-field label{color:#334155;font-size:12.5px;font-weight:700}.quantity-stepper{border:1px solid #d0e8dc;border-radius:10px;align-items:center;gap:12px;width:fit-content;padding:4px 8px;display:inline-flex}.quantity-stepper button{cursor:pointer;background:#f1f5f9;border:none;border-radius:6px;width:28px;height:28px;font-size:16px}.quantity-stepper span{text-align:center;min-width:20px;font-size:14px;font-weight:700}.modal-select,.modal-input,.modal-textarea{border:1px solid #cbd5e1;border-radius:10px;outline:none;padding:9px 12px;font-family:inherit;font-size:13px}.modal-select:focus,.modal-input:focus,.modal-textarea:focus{border-color:#087b58}.order-summary-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.summary-row{color:#475569;justify-content:space-between;font-size:13px;display:flex}.summary-row.discount{color:#dc2626;font-weight:600}.summary-row.total{color:#0f172a;border-top:1px solid #cbd5e1;padding-top:6px;font-size:14.5px}.total-amount{color:#087b58;font-size:16px}.modal-btn-primary{color:#fff;cursor:pointer;background:#087b58;border:none;border-radius:12px;margin-top:6px;padding:11px;font-size:14px;font-weight:700;transition:background .15s}.modal-btn-primary:hover{background:#066547}.modal-success-box{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:30px 20px;display:flex}.success-icon{font-size:48px}.success-text{color:#1e293b;margin:0;font-size:14px;line-height:1.5}@media (max-width:768px){.trashstore-main-content{padding:16px 14px 80px}.trashstore-hero-card{padding:18px 16px}.trashstore-hero-title{font-size:20px}.trashstore-search-box{width:100%}.trashstore-products-grid,.trashstore-vouchers-grid{grid-template-columns:1fr}}
