:root{--color-primary: #13175f;--color-primary-dark: #0d1047;--color-accent: #df6106;--color-danger: #e74c3c;--color-success: #2e9e5b;--color-success-dark: #257e49;--color-text: #2c3e50;--color-text-muted: #7f8c8d;--color-border: #e5e7eb;--color-bg-surface: #ffffff;--color-bg-page: #f4f4f6;--container-max-width: 430px;--product-grid-columns: 2;--radius-sm: 7px;--radius-md: 12px;--radius-full: 999px;--shadow-resting: 0 2px 8px rgba(15, 23, 42, .08);--shadow-hover: 0 8px 20px rgba(15, 23, 42, .14);--space-1: 3px;--space-2: 6px;--space-3: 9px;--space-4: 12px;--space-5: 15px;--space-6: 18px;--font-size-xs: .65rem;--font-size-sm: .72rem;--font-size-md: .85rem;--font-size-lg: 1.05rem}@media (min-width: 768px){:root{--container-max-width: 720px;--product-grid-columns: 3}}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}button,a,[role=button]{-webkit-tap-highlight-color:rgba(0,0,0,0)}button:focus:not(:focus-visible),a:focus:not(:focus-visible),[role=button]:focus:not(:focus-visible){outline:none}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--color-bg-page);color:var(--color-text)}.app-container{width:100%;margin:0;padding:0}.header{background-color:var(--color-bg-surface);padding:var(--space-3) var(--space-4);position:sticky;top:0;z-index:1000}.header-container{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:nowrap}.header-left{display:flex;align-items:center;flex-shrink:0}.logo-img{height:30px;width:auto}.header-right{display:flex;align-items:center;gap:var(--space-2);order:2;flex-grow:1;justify-content:flex-end}.search-bar{display:flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-2) var(--space-3);background-color:var(--color-bg-surface);box-shadow:var(--shadow-resting);flex-grow:1;min-width:0}.search-input{border:none;background:transparent;outline:none;width:100%;font-size:var(--font-size-md);padding:0 var(--space-2)}.search-btn{background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:0}.cart-icon-btn{background:none;border:none;cursor:pointer;color:var(--color-primary);font-size:1.1rem;padding:var(--space-1);display:flex;align-items:center;position:relative;transition:color .2s ease;flex-shrink:0}.cart-icon-btn:hover{color:var(--color-primary-dark)}.cart-item-count{position:absolute;top:-5px;right:-5px;background-color:var(--color-danger);color:#fff;border-radius:var(--radius-full);padding:2px 6px;font-size:var(--font-size-xs);font-weight:700;line-height:1}.logo-link{text-decoration:none;color:inherit}.logo-link .store-name{text-decoration:none}.simple-header-container{display:flex;align-items:center;gap:var(--space-3)}.back-btn{background:none;border:none;cursor:pointer;color:var(--color-primary);font-size:1.1rem;padding:var(--space-1);display:flex;align-items:center}.back-btn:hover{color:var(--color-primary-dark)}.simple-header-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text);margin:0}.floating-bottom-nav{position:fixed;bottom:0;left:0;right:0;width:100%;max-width:var(--container-max-width);margin:0 auto;background-color:var(--color-bg-surface);box-shadow:var(--shadow-hover);z-index:1150;padding-top:var(--space-2)}.nav-container{display:flex;justify-content:space-around;align-items:center;height:55px;padding:0 var(--space-1) var(--space-1)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:var(--color-text-muted);flex-grow:1;padding:var(--space-1) 0;transition:color .2s;position:relative;background:none;border:none;font:inherit;cursor:pointer}.nav-icon{font-size:1.2em;margin-bottom:2px;color:var(--color-text-muted);position:relative}.nav-text{font-size:.65em;font-weight:500;color:var(--color-text-muted)}.nav-item.active .nav-icon,.nav-item.active .nav-text{color:var(--color-primary)}body{padding-bottom:65px}.main-container{width:100%;max-width:var(--container-max-width);min-height:100vh;margin:0 auto;background-color:var(--color-bg-surface);transition:max-width .2s ease}.auth-page{display:flex;justify-content:center;align-items:flex-start;padding:var(--space-6) var(--space-4);background-color:var(--color-bg-surface)}.auth-card{width:100%;max-width:360px;background-color:var(--color-bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-hover);padding:var(--space-6) var(--space-5)}.auth-hero{text-align:center;margin-bottom:var(--space-6)}.auth-logo{height:40px;width:auto;margin-bottom:var(--space-4)}.auth-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text);margin:0 0 var(--space-2)}.auth-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.auth-card .form-group{margin-bottom:var(--space-4)}.auth-card .form-group label{display:block;font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--space-2);color:var(--color-text-muted)}.auth-input-wrapper{position:relative;display:flex;align-items:center}.auth-input-icon{position:absolute;left:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm);pointer-events:none}.auth-card .form-group input{width:100%;padding:var(--space-3) var(--space-3) var(--space-3) 36px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg-page);font-size:var(--font-size-md);box-sizing:border-box;transition:border-color .2s ease,background-color .2s ease}.auth-card .form-group input:focus{outline:none;border-color:var(--color-primary);background-color:var(--color-bg-surface)}.auth-btn{width:100%;background-color:var(--color-primary);color:#fff;border:none;padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer;margin-top:var(--space-2);transition:background-color .2s ease}.auth-btn:hover{background-color:var(--color-primary-dark)}.auth-btn:disabled{background-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed}.auth-error-text{font-size:var(--font-size-xs);color:var(--color-danger);margin:var(--space-2) 0 0}.auth-footer-prompt{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-muted);margin:var(--space-5) 0 0}.auth-footer-link{color:var(--color-primary);font-weight:600;text-decoration:none}.auth-footer-link:hover{color:var(--color-primary-dark)}.otp-digit-row{display:flex;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-5)}.otp-digit-input{width:44px;height:52px;text-align:center;font-size:var(--font-size-lg);font-weight:700;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg-page);box-sizing:border-box;transition:border-color .2s ease,background-color .2s ease}.otp-digit-input:focus{outline:none;border-color:var(--color-primary);background-color:var(--color-bg-surface)}.otp-resend-cooldown{color:var(--color-text-muted);font-weight:600}.otp-resend-btn{background:none;border:none;padding:0;font:inherit;cursor:pointer}.profile-page{padding-bottom:150px}.profile-header-card{background-color:var(--color-bg-surface);box-shadow:var(--shadow-resting);margin:var(--space-4) var(--space-4) 0;border-radius:var(--radius-md);padding:var(--space-4)}.profile-header-content{display:flex;align-items:center;gap:var(--space-3)}.profile-avatar{width:52px;height:52px;flex-shrink:0;border-radius:var(--radius-full);background-color:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700}.profile-header-info{flex:1;min-width:0}.profile-name{font-size:var(--font-size-md);font-weight:700;color:var(--color-text);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-phone{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:2px 0 0}.profile-edit-btn{flex-shrink:0;width:36px;height:36px;background:none;border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-primary);font-size:var(--font-size-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,border-color .2s ease}.profile-edit-btn:hover{background-color:var(--color-bg-page);border-color:var(--color-primary)}.profile-extra-info{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.profile-extra-row{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text)}.profile-extra-row i{width:16px;color:var(--color-text-muted);flex-shrink:0}.account-menu-section{background-color:var(--color-bg-surface);margin:var(--space-3) var(--space-4) 0;border-radius:var(--radius-md);box-shadow:var(--shadow-resting);overflow:hidden}.account-menu-row{display:flex;align-items:center;gap:var(--space-4);width:100%;background:none;border:none;border-bottom:1px solid var(--color-border);padding:var(--space-4);font:inherit;text-align:left;cursor:pointer}.account-menu-row:last-child{border-bottom:none}.account-menu-icon{width:18px;color:var(--color-text-muted);font-size:var(--font-size-md);flex-shrink:0}.account-menu-label{flex:1;font-size:var(--font-size-sm);color:var(--color-text);font-weight:600}.account-menu-chevron{color:var(--color-text-muted);font-size:var(--font-size-xs)}.profile-footer{display:flex;justify-content:center;padding:var(--space-6) 0;opacity:.5}.profile-footer-logo{height:24px;width:auto}.orders-page{padding:var(--space-4);padding-bottom:150px}.status-filter-row{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-4);scrollbar-width:none}.status-filter-row::-webkit-scrollbar{display:none}.status-filter-chip{flex-shrink:0;background-color:var(--color-bg-surface);border:1px solid var(--color-border);color:var(--color-text-muted);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.status-filter-chip.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.orders-empty{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;padding:var(--space-6) 0}.orders-list{display:flex;flex-direction:column;gap:var(--space-3)}.order-item{background-color:var(--color-bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-resting);padding:var(--space-4);cursor:pointer}.order-item-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.order-item-date{font-size:var(--font-size-xs);color:var(--color-text-muted)}.order-status-badge{font-size:var(--font-size-xs);font-weight:700;color:var(--color-primary);background-color:var(--color-bg-page);padding:2px var(--space-2);border-radius:var(--radius-sm);flex-shrink:0}.order-item-summary{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin-bottom:var(--space-3)}.order-item-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.order-item-total{font-size:var(--font-size-sm);font-weight:700;color:var(--color-accent)}.order-again-btn{background-color:var(--color-primary);color:#fff;border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:700;cursor:pointer;flex-shrink:0;transition:background-color .2s ease}.order-again-btn:hover{background-color:var(--color-primary-dark)}.order-detail-page{padding:var(--space-4);padding-bottom:150px}.order-detail-not-found{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;padding:var(--space-6) 0}.order-detail-card{background-color:var(--color-bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-resting);padding:var(--space-4)}.order-detail-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.order-detail-date{font-size:var(--font-size-sm);color:var(--color-text-muted)}.order-detail-items{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-4)}.order-detail-item{display:flex;align-items:center;gap:var(--space-3)}.order-detail-item-image{width:52px;height:52px;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden;background-color:var(--color-bg-page)}.order-detail-item-image img{width:100%;height:100%;object-fit:cover;display:block}.order-detail-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.order-detail-item-name{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.order-detail-item-qty{font-size:var(--font-size-xs);color:var(--color-text-muted)}.order-detail-item-subtotal{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text);flex-shrink:0}.order-detail-total-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-md);font-weight:700;color:var(--color-text);padding-top:var(--space-4);margin-bottom:var(--space-4);border-top:1px solid var(--color-border)}.order-detail-total-value{color:var(--color-accent)}.order-again-btn.full-width{width:100%}.address-page{padding:var(--space-4);padding-bottom:150px}.add-address-btn{width:100%;background-color:var(--color-primary);color:#fff;border:none;padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer;margin-bottom:var(--space-4);transition:background-color .2s ease}.add-address-btn:hover{background-color:var(--color-primary-dark)}.address-limit-note{font-size:var(--font-size-xs);color:var(--color-text-muted);background-color:var(--color-bg-page);padding:var(--space-3);border-radius:var(--radius-sm);text-align:center;margin:0 0 var(--space-4)}.address-empty{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;padding:var(--space-6) 0}.address-list{display:flex;flex-direction:column;gap:var(--space-3)}.address-item{background-color:var(--color-bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-resting);padding:var(--space-4)}.address-item-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.address-label{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text)}.address-primary-badge{font-size:var(--font-size-xs);font-weight:700;color:var(--color-primary);background-color:var(--color-bg-page);padding:2px var(--space-2);border-radius:var(--radius-sm)}.address-recipient{font-size:var(--font-size-sm);color:var(--color-text);margin:0 0 var(--space-1)}.address-full{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--space-3);line-height:1.4}.address-item-actions{display:flex;gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.address-action-link{background:none;border:none;padding:0;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:600;cursor:pointer}.address-action-link:hover{color:var(--color-primary-dark)}.address-delete-link{color:var(--color-danger);margin-left:auto}.address-delete-link:hover{color:var(--color-primary)}.address-form{background-color:var(--color-bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-resting);padding:var(--space-5)}.address-form .form-group{margin-bottom:var(--space-4)}.address-form label{display:block;font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--space-2);color:var(--color-text-muted)}.address-form input,.address-form textarea{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:inherit;box-sizing:border-box;resize:vertical}.address-form input:focus,.address-form textarea:focus{outline:none;border-color:var(--color-primary)}.address-form-actions{display:flex;gap:var(--space-3)}.address-cancel-btn{flex:1;background-color:var(--color-bg-page);color:var(--color-text);border:none;padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer}.address-cancel-btn:hover{background-color:var(--color-border)}.address-save-btn{flex:1;background-color:var(--color-primary);color:#fff;border:none;padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:background-color .2s ease}.address-save-btn:hover{background-color:var(--color-primary-dark)}.edit-profile-page{padding:var(--space-4);padding-bottom:150px}.edit-profile-form{background-color:var(--color-bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-resting);padding:var(--space-5)}.edit-profile-form .form-group{margin-bottom:var(--space-4)}.edit-profile-form label{display:block;font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--space-2);color:var(--color-text-muted)}.edit-profile-form input,.edit-profile-form select{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:inherit;box-sizing:border-box;background-color:var(--color-bg-surface)}.edit-profile-form input:focus,.edit-profile-form select:focus{outline:none;border-color:var(--color-primary)}.edit-profile-form input:disabled{background-color:var(--color-bg-page);color:var(--color-text-muted);cursor:not-allowed}.form-note{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:var(--space-1) 0 0}.edit-profile-actions{display:flex;gap:var(--space-3);margin-top:var(--space-5)}.edit-profile-cancel-btn{flex:1;background-color:var(--color-bg-page);color:var(--color-text);border:none;padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer}.edit-profile-cancel-btn:hover{background-color:var(--color-border)}.edit-profile-save-btn{flex:1;background-color:var(--color-primary);color:#fff;border:none;padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:background-color .2s ease}.edit-profile-save-btn:hover{background-color:var(--color-primary-dark)}.help-page{padding:var(--space-4);padding-bottom:150px}.help-title{font-size:var(--font-size-md);font-weight:700;color:var(--color-text);margin:0 0 var(--space-4)}.faq-list{background-color:var(--color-bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-resting);overflow:hidden}.faq-item{border-bottom:1px solid var(--color-border)}.faq-item:last-child{border-bottom:none}.faq-question{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;background:none;border:none;padding:var(--space-4);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);text-align:left;cursor:pointer;font-family:inherit}.faq-chevron{flex-shrink:0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.faq-answer{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.5;margin:0;padding:0 var(--space-4) var(--space-4)}.help-contact-section{text-align:center;margin-top:var(--space-6)}.help-contact-text{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--space-3)}.help-contact-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background-color:var(--color-success);color:#fff;text-decoration:none;padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);font-size:var(--font-size-md);font-weight:700;transition:background-color .2s ease}.help-contact-btn:hover{background-color:var(--color-success-dark)}.product-card-link{text-decoration:none;color:inherit;display:block;cursor:pointer}.product-card-container{background-color:var(--color-bg-surface);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-resting);transition:box-shadow .3s ease;position:relative}.product-card-container:hover{box-shadow:var(--shadow-hover)}.product-card-header{position:relative;width:100%;padding-top:100%;background-color:var(--color-bg-page);overflow:hidden}.product-card-header:hover .image-nav-btn{opacity:1}.card-weight-label{position:absolute;top:5px;right:5px;z-index:20;background-color:var(--color-primary);color:#fff;padding:4px 10px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;box-shadow:var(--shadow-resting)}.card-product-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.image-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background-color:#0000004d;color:#fff;border:none;border-radius:var(--radius-full);width:35px;height:35px;display:flex;justify-content:center;align-items:center;cursor:pointer;z-index:30;opacity:0;transition:opacity .3s ease,background-color .2s ease}.image-nav-btn:hover{background-color:#00000080}.image-nav-btn.prev{left:10px}.image-nav-btn.next{right:10px}.label-promo{position:absolute;bottom:0;left:0;width:35%;height:20px;background-color:var(--color-primary);z-index:10;font-size:var(--font-size-xs);color:#fff;display:flex;align-items:center;justify-content:flex-start;padding-left:var(--space-1);clip-path:polygon(0 0,80% 0,100% 100%,0% 100%);-webkit-clip-path:polygon(0 0,80% 0,100% 100%,0% 100%)}.icon-promo{margin-right:var(--space-1)}.product-card-body{padding:var(--space-4);text-align:left}.product-card-name{font-size:var(--font-size-sm);font-weight:700;margin:0 0 var(--space-1);color:var(--color-text)}.product-card-brand{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:2px 0}.product-card-price-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-2)}.product-card-price-group{min-width:0}.product-card-price{font-size:var(--font-size-md);font-weight:900;color:var(--color-accent);margin:0}.product-card-original-price{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:2px 0 0}.product-card-cta{flex-shrink:0}.product-card-cta .qty-stepper-add{width:32px;height:32px;padding:0;border-radius:var(--radius-full);background-color:var(--color-primary);font-size:1rem;line-height:1;box-shadow:var(--shadow-resting)}.product-card-cta .qty-stepper-add:hover{background-color:var(--color-primary-dark)}.product-card-cta .qty-stepper{width:auto;background-color:var(--color-bg-surface);border:1.5px solid var(--color-primary);border-radius:var(--radius-full);padding:2px;gap:2px;box-shadow:var(--shadow-resting)}.product-card-cta .qty-stepper-btn{width:22px;height:22px;background-color:transparent;color:var(--color-primary);font-size:var(--font-size-sm)}.product-card-cta .qty-stepper-btn:hover{background-color:var(--color-bg-page);color:var(--color-primary-dark)}.product-card-cta .qty-stepper-value{min-width:16px;font-size:var(--font-size-xs);color:var(--color-primary)}.qty-stepper-add{display:block;width:100%;border:none;border-radius:var(--radius-full);background-color:var(--color-primary);color:#fff;font-size:var(--font-size-md);font-weight:700;padding:var(--space-4);cursor:pointer;transition:background-color .2s ease}.qty-stepper-add:hover{background-color:var(--color-primary-dark)}.qty-stepper{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);background-color:var(--color-bg-page);border-radius:var(--radius-full);padding:var(--space-1);width:100%}.qty-stepper-btn{width:28px;height:28px;flex-shrink:0;border:none;border-radius:var(--radius-full);background-color:var(--color-primary);color:#fff;font-size:var(--font-size-sm);font-weight:700;line-height:1;cursor:pointer;transition:background-color .2s ease,opacity .2s ease}.qty-stepper-btn:hover{background-color:var(--color-primary-dark)}.qty-stepper-btn:disabled{opacity:.4;cursor:not-allowed}.qty-stepper-btn-delete{background-color:var(--color-danger);font-size:var(--font-size-xs)}.qty-stepper-btn-delete:hover{background-color:var(--color-primary)}.qty-stepper-value{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text);min-width:20px;text-align:center}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-6) var(--space-4)}.empty-state-icon{width:88px;height:88px;border-radius:var(--radius-full);background:linear-gradient(155deg,var(--color-bg-page) 0%,var(--color-border) 100%);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-5)}.empty-state-icon i{font-size:2.1rem;color:var(--color-primary);opacity:.8}.empty-state-title{font-size:var(--font-size-md);font-weight:700;color:var(--color-text);margin:0 0 var(--space-2)}.empty-state-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;max-width:280px}.empty-state-action{margin-top:var(--space-5);width:100%;max-width:220px}.search-page{min-height:100vh}.search-page-topbar{position:sticky;top:0;z-index:1000;display:flex;align-items:center;gap:var(--space-2);background-color:var(--color-bg-surface);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-resting)}.search-back-btn{background:none;border:none;cursor:pointer;color:var(--color-primary);font-size:1.1rem;padding:var(--space-1);display:flex;align-items:center;flex-shrink:0}.search-back-btn:hover{color:var(--color-primary-dark)}.search-input-wrapper{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-2) var(--space-3);background-color:var(--color-bg-page)}.search-input-icon{color:var(--color-text-muted);font-size:var(--font-size-sm);flex-shrink:0}.search-page-input{border:none;background:transparent;outline:none;width:100%;font-size:var(--font-size-md);color:var(--color-text)}.search-clear-btn{background:none;border:none;cursor:pointer;color:var(--color-text-muted);flex-shrink:0;display:flex;align-items:center;padding:0}.search-page-body{padding:var(--space-4)}.search-placeholder-text{text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:var(--space-6)}.search-results-grid{display:grid;grid-template-columns:repeat(var(--product-grid-columns),1fr);gap:var(--space-3)}@keyframes productModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes productModalSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.product-modal-overlay{position:fixed;inset:0;background-color:#0000008c;z-index:2000;display:flex;justify-content:center;align-items:flex-end;animation:productModalFadeIn .2s ease}.product-modal-sheet{width:100%;max-width:var(--container-max-width);height:92vh;background-color:var(--color-bg-surface);border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md);display:flex;flex-direction:column;overflow:hidden;position:relative;animation:productModalSlideUp .25s ease-out}.product-modal-status-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-5);text-align:center;position:relative}.product-modal-scroll{flex:1;overflow-y:auto}.product-modal-image-wrapper{position:relative;width:100%;aspect-ratio:1 / 1;background-color:var(--color-bg-page)}.product-modal-main-image{width:100%;height:100%;object-fit:cover;display:block}.product-modal-close-btn{position:absolute;top:var(--space-4);left:var(--space-4);width:36px;height:36px;border-radius:var(--radius-full);border:none;background-color:#00000073;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1}.product-modal-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:var(--radius-full);border:none;background-color:#00000059;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.product-modal-nav-btn.prev{left:var(--space-3)}.product-modal-nav-btn.next{right:var(--space-3)}.product-modal-image-counter{position:absolute;bottom:var(--space-3);right:var(--space-3);background-color:#0000008c;color:#fff;font-size:var(--font-size-xs);font-weight:600;padding:2px var(--space-3);border-radius:var(--radius-full)}.product-modal-info{padding:var(--space-5) var(--space-4) var(--space-6)}.product-description{white-space:pre-line}.section-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.product-title{font-size:clamp(1rem,3vw,1.25rem);font-weight:700;color:var(--color-text);margin:0 0 var(--space-2)}.product-tag{background-color:var(--color-primary);color:#fff;padding:4px 10px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);box-shadow:var(--shadow-resting);display:inline-block;width:fit-content;margin-bottom:var(--space-2)}.product-price{font-size:clamp(1.15rem,3.5vw,1.8rem);font-weight:700;color:var(--color-accent);margin-bottom:var(--space-1)}.product-options-section{padding-top:var(--space-5);margin-top:var(--space-4);border-top:1px solid var(--color-border)}.option-group{margin-bottom:var(--space-5)}.option-label{display:block;font-weight:600;margin-bottom:var(--space-3)}.option-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.option-btn{background-color:var(--color-bg-page);border:1px solid var(--color-border);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--font-size-md);cursor:pointer;transition:all .2s ease}.option-btn:hover{background-color:var(--color-border)}.option-btn.active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.product-details-box{margin-top:var(--space-6)}.product-info-list p{margin-bottom:var(--space-2);line-height:1.4}.product-info-list span{font-weight:600;margin-right:var(--space-2)}.product-modal-action-bar{flex-shrink:0;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--color-bg-surface);box-shadow:var(--shadow-hover)}.product-modal-action-bar .qty-stepper,.product-modal-action-bar .qty-stepper-add{flex:1}.product-modal-cart-btn{position:relative;flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-surface);color:var(--color-primary);font-size:1.2rem;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.product-modal-cart-btn:hover{border-color:var(--color-primary);background-color:var(--color-bg-page)}.product-modal-cart-count{position:absolute;top:-6px;right:-6px;background-color:var(--color-danger);color:#fff;border-radius:var(--radius-full);padding:1px 5px;font-size:var(--font-size-xs);font-weight:700;line-height:1.4}.carousel .control-arrow,.carousel.carousel-slider .control-arrow{-webkit-transition:all .25s ease-in;-moz-transition:all .25s ease-in;-ms-transition:all .25s ease-in;-o-transition:all .25s ease-in;transition:all .25s ease-in;opacity:.4;filter:alpha(opacity=40);position:absolute;z-index:2;top:20px;background:none;border:0;font-size:32px;cursor:pointer}.carousel .control-arrow:focus,.carousel .control-arrow:hover{opacity:1;filter:alpha(opacity=100)}.carousel .control-arrow:before,.carousel.carousel-slider .control-arrow:before{margin:0 5px;display:inline-block;border-top:8px solid transparent;border-bottom:8px solid transparent;content:""}.carousel .control-disabled.control-arrow{opacity:0;filter:alpha(opacity=0);cursor:inherit;display:none}.carousel .control-prev.control-arrow{left:0}.carousel .control-prev.control-arrow:before{border-right:8px solid #fff}.carousel .control-next.control-arrow{right:0}.carousel .control-next.control-arrow:before{border-left:8px solid #fff}.carousel-root{outline:none}.carousel{position:relative;width:100%}.carousel *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.carousel img{width:100%;display:inline-block;pointer-events:none}.carousel .carousel{position:relative}.carousel .control-arrow{outline:0;border:0;background:none;top:50%;margin-top:-13px;font-size:18px}.carousel .thumbs-wrapper{margin:20px;overflow:hidden}.carousel .thumbs{-webkit-transition:all .15s ease-in;-moz-transition:all .15s ease-in;-ms-transition:all .15s ease-in;-o-transition:all .15s ease-in;transition:all .15s ease-in;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translateZ(0);position:relative;list-style:none;white-space:nowrap}.carousel .thumb{-webkit-transition:border .15s ease-in;-moz-transition:border .15s ease-in;-ms-transition:border .15s ease-in;-o-transition:border .15s ease-in;transition:border .15s ease-in;display:inline-block;margin-right:6px;white-space:nowrap;overflow:hidden;border:3px solid #fff;padding:2px}.carousel .thumb:focus{border:3px solid #ccc;outline:none}.carousel .thumb.selected,.carousel .thumb:hover{border:3px solid #333}.carousel .thumb img{vertical-align:top}.carousel.carousel-slider{position:relative;margin:0;overflow:hidden}.carousel.carousel-slider .control-arrow{top:0;color:#fff;font-size:26px;bottom:0;margin-top:0;padding:5px}.carousel.carousel-slider .control-arrow:hover{background:#0003}.carousel .slider-wrapper{overflow:hidden;margin:auto;width:100%;-webkit-transition:height .15s ease-in;-moz-transition:height .15s ease-in;-ms-transition:height .15s ease-in;-o-transition:height .15s ease-in;transition:height .15s ease-in}.carousel .slider-wrapper.axis-horizontal .slider{-ms-box-orient:horizontal;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex}.carousel .slider-wrapper.axis-horizontal .slider .slide{flex-direction:column;flex-flow:column}.carousel .slider-wrapper.axis-vertical{-ms-box-orient:horizontal;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex}.carousel .slider-wrapper.axis-vertical .slider{-webkit-flex-direction:column;flex-direction:column}.carousel .slider{margin:0;padding:0;position:relative;list-style:none;width:100%}.carousel .slider.animated{-webkit-transition:all .35s ease-in-out;-moz-transition:all .35s ease-in-out;-ms-transition:all .35s ease-in-out;-o-transition:all .35s ease-in-out;transition:all .35s ease-in-out}.carousel .slide{min-width:100%;margin:0;position:relative;text-align:center}.carousel .slide img{width:100%;vertical-align:top;border:0}.carousel .slide iframe{display:inline-block;width:calc(100% - 80px);margin:0 40px 40px;border:0}.carousel .slide .legend{-webkit-transition:all .5s ease-in-out;-moz-transition:all .5s ease-in-out;-ms-transition:all .5s ease-in-out;-o-transition:all .5s ease-in-out;transition:all .5s ease-in-out;position:absolute;bottom:40px;left:50%;margin-left:-45%;width:90%;border-radius:10px;background:#000;color:#fff;padding:10px;font-size:12px;text-align:center;opacity:.25;-webkit-transition:opacity .35s ease-in-out;-moz-transition:opacity .35s ease-in-out;-ms-transition:opacity .35s ease-in-out;-o-transition:opacity .35s ease-in-out;transition:opacity .35s ease-in-out}.carousel .control-dots{position:absolute;bottom:0;margin:10px 0;padding:0;text-align:center;width:100%;z-index:1}@media (min-width: 960px){.carousel .control-dots{bottom:0}}.carousel .control-dots .dot{-webkit-transition:opacity .25s ease-in;-moz-transition:opacity .25s ease-in;-ms-transition:opacity .25s ease-in;-o-transition:opacity .25s ease-in;transition:opacity .25s ease-in;opacity:.3;filter:alpha(opacity=30);box-shadow:1px 1px 2px #000000e6;background:#fff;border-radius:50%;width:8px;height:8px;cursor:pointer;display:inline-block;margin:0 8px}.carousel .control-dots .dot.selected,.carousel .control-dots .dot:hover{opacity:1;filter:alpha(opacity=100)}.carousel .carousel-status{position:absolute;top:0;right:0;padding:5px;font-size:10px;text-shadow:1px 1px 1px rgba(0,0,0,.9);color:#fff}.carousel:hover .slide .legend{opacity:1}.cover-container{margin:0}.carousel .slide img{width:100%;height:auto;aspect-ratio:430 / 220;object-fit:cover;object-position:top}.carousel .control-arrow{top:50%!important;transform:translateY(-50%)!important;background:#0006!important;width:36px!important;height:36px!important;border-radius:var(--radius-full);opacity:.8!important}.carousel .control-arrow:before{border-width:0 4px 4px 0!important;border-color:#fff!important;transform:rotate(-45deg);margin-left:20px}.carousel .control-dots .dot{box-shadow:none!important;background:var(--color-bg-surface)!important;opacity:.6!important}.carousel .control-dots .dot.selected{background:var(--color-accent)!important;opacity:1!important}.category-chip-row{display:flex;gap:var(--space-4);padding:var(--space-2) var(--space-3) var(--space-4);overflow-x:auto;scrollbar-width:none}.category-chip-row::-webkit-scrollbar{display:none}.category-chip{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);flex-shrink:0;width:58px;background:none;border:none;cursor:pointer;padding:0}.category-chip-image-wrapper{width:52px;height:52px;border-radius:var(--radius-full);overflow:hidden;box-shadow:var(--shadow-resting);transition:box-shadow .2s ease,transform .2s ease}.category-chip:hover .category-chip-image-wrapper{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.category-chip-image{width:100%;height:100%;object-fit:cover;display:block}.category-chip-name{color:var(--color-text);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.category-page-wrapper{margin:0 auto;padding:var(--space-5) var(--space-3)}.main-content-area{display:flex;flex-direction:column;gap:var(--space-4)}.filter-sidebar{flex-shrink:0;height:fit-content;border:none;border-radius:var(--radius-md);background:var(--color-bg-surface);box-shadow:var(--shadow-resting);width:100%;position:relative;top:auto;max-width:none;padding:var(--space-4);overflow:hidden}@media (min-width: 768px){.main-content-area{flex-direction:row;align-items:flex-start}.filter-sidebar{width:260px}.product-list-content{min-width:0}}.sidebar-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:700;color:var(--color-text);margin:0 0 var(--space-4) 0;padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.sidebar-title i{color:var(--color-primary)}.sidebar-body{display:flex;align-items:flex-start;gap:var(--space-3)}.filter-menu-sidebar{width:34%;flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-1)}.filter-category{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer;transition:background-color .2s ease,color .2s ease}.filter-category i{width:14px;text-align:center;font-size:var(--font-size-xs)}.filter-category:hover{background-color:var(--color-bg-page)}.filter-category.active{background-color:var(--color-primary);color:#fff;font-weight:600}.filter-options-content{flex-grow:1;min-height:160px;max-height:260px;padding:var(--space-3) 0 var(--space-3) var(--space-4);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3);border-left:1px solid var(--color-border)}.filter-subtitle{font-size:var(--font-size-sm);font-weight:700;margin-top:0;margin-bottom:var(--space-1);color:var(--color-text)}.radio-option{display:flex;align-items:center;cursor:pointer;position:relative;font-size:var(--font-size-sm);color:var(--color-text);padding:var(--space-2);border-radius:var(--radius-sm);transition:background-color .2s ease}.radio-option:hover,.checkbox-option:hover{background-color:var(--color-bg-page)}.placeholder-text{font-size:var(--font-size-sm);color:var(--color-text-muted);padding:var(--space-4) var(--space-3);border:1px dashed var(--color-border);border-radius:var(--radius-sm);text-align:center}.sidebar-footer{padding-top:var(--space-4);margin-top:var(--space-4);border-top:1px solid var(--color-border)}.reset-btn{width:100%;padding:var(--space-3);border-radius:var(--radius-md);font-weight:600;cursor:pointer;font-size:var(--font-size-sm);background-color:var(--color-primary);color:#fff;border:none;transition:background-color .2s ease,transform .1s ease}.reset-btn:hover{background-color:var(--color-primary-dark);transform:translateY(-1px)}.product-list-content{flex-grow:1;width:100%}.product-count-info{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-4);padding-left:var(--space-3);font-weight:600}.products-grid-category{display:grid;width:100%;padding:var(--space-3);grid-template-columns:repeat(var(--product-grid-columns),1fr)!important;gap:var(--space-3)}.radio-option input[type=radio]{appearance:none;position:absolute;opacity:0}.radio-custom{width:18px;height:18px;border-radius:var(--radius-full);border:2px solid var(--color-border);display:inline-block;margin-right:var(--space-3);position:relative;flex-shrink:0;transition:border-color .2s}.radio-option input:checked+.radio-custom{border-color:var(--color-primary)}.radio-option input:checked+.radio-custom:after{content:"";position:absolute;width:8px;height:8px;background-color:var(--color-primary);border-radius:var(--radius-full);top:50%;left:50%;transform:translate(-50%,-50%)}.checkbox-filter-group{display:flex;flex-direction:column;gap:var(--space-3)}.checkbox-option{display:flex;align-items:center;cursor:pointer;position:relative;font-size:var(--font-size-sm);color:var(--color-text);padding:var(--space-2);border-radius:var(--radius-sm);transition:background-color .2s ease}.checkbox-option input[type=checkbox]{appearance:none;position:absolute;opacity:0}.checkbox-custom{width:18px;height:18px;border-radius:var(--radius-sm);border:2px solid var(--color-border);display:inline-block;margin-right:var(--space-3);position:relative;flex-shrink:0;transition:border-color .2s,background-color .2s}.checkbox-option input:checked+.checkbox-custom{background-color:var(--color-primary);border-color:var(--color-primary)}.checkbox-option input:checked+.checkbox-custom:after{content:"";position:absolute;width:8px;height:5px;border-left:2px solid #ffffff;border-bottom:2px solid #ffffff;top:45%;left:50%;transform:translate(-50%,-50%) rotate(-45deg)}.cart-page-container{padding:0 var(--space-4) 150px;display:flex;flex-direction:column}.cart-content-wrapper{flex:1}.continue-shopping-link{display:block;width:100%;background-color:var(--color-primary);color:#fff;text-decoration:none;font-weight:600;font-size:var(--font-size-sm);text-align:center;padding:var(--space-3);border-radius:var(--radius-md);transition:background-color .2s ease-in-out}.continue-shopping-link:hover{background-color:var(--color-primary-dark)}.selection-summary-bar{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) 0;font-size:var(--font-size-sm);color:var(--color-text)}.delete-selected-btn{background:none;border:none;cursor:pointer;color:var(--color-danger);font-weight:600;font-size:var(--font-size-sm);padding:0}.delete-selected-btn:disabled{color:var(--color-text-muted);cursor:not-allowed}.item-checkbox{width:20px;height:20px;flex-shrink:0;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg-surface);color:#fff;font-size:.65rem;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background-color .2s ease,border-color .2s ease}.item-checkbox.checked{background-color:var(--color-primary);border-color:var(--color-primary)}.product-list{display:flex;flex-direction:column;gap:var(--space-4)}.cart-item{display:flex;align-items:flex-start;gap:var(--space-3);background-color:var(--color-bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-resting);padding:var(--space-4)}.cart-item .item-checkbox{margin-top:var(--space-1)}.cart-item-image{width:60px;height:60px;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden}.cart-item-image img{width:100%;height:100%;object-fit:cover}.cart-item-details{flex:1;display:flex;flex-direction:column;gap:var(--space-1);margin-right:var(--space-4)}.cart-item-name{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin:0;white-space:normal;word-break:break-word}.cart-item-bottom-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-1)}.cart-item-price-block{display:flex;flex-direction:column;gap:2px;min-width:0}.cart-item-price{font-size:var(--font-size-md);font-weight:900;color:var(--color-accent)}.cart-item-discount-row{display:flex;align-items:center;gap:var(--space-2)}.cart-item-original-price{font-size:var(--font-size-xs);color:var(--color-text-muted)}.cart-item-discount-badge{font-size:var(--font-size-xs);font-weight:900;background-color:var(--color-danger);color:#fff;padding:2px var(--space-2);border-radius:var(--radius-sm)}.quantity-control{width:fit-content;flex-shrink:0}.cart-summary-bottom-bar{position:fixed;bottom:70px;left:0;right:0;max-width:var(--container-max-width);margin:0 auto;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background-color:var(--color-bg-surface);box-shadow:var(--shadow-hover);border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.total-price-info{display:flex;flex-direction:column;flex:1;margin-left:var(--space-1)}.total-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.total-value{font-size:var(--font-size-lg);font-weight:700;color:var(--color-accent);margin-top:var(--space-1)}.checkout-btn{background-color:var(--color-success);color:#fff;border:none;padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:background-color .2s ease-in-out,transform .1s ease-in-out}.checkout-btn:hover{background-color:var(--color-success-dark);transform:translateY(-2px)}.checkout-page-container{padding:var(--space-6) var(--space-4)}.checkout-content-wrapper{display:flex;flex-direction:column;gap:var(--space-4)}.checkout-card{background-color:var(--color-bg-surface);border-radius:var(--radius-md);padding:var(--space-6);box-shadow:var(--shadow-resting)}.card-title{font-size:var(--font-size-lg);font-weight:700;margin-top:0;margin-bottom:var(--space-5);border-bottom:2px solid var(--color-border);padding-bottom:var(--space-4)}.customer-info{display:flex;flex-direction:column;gap:var(--space-3)}.info-row{display:flex;justify-content:space-between;gap:var(--space-2)}.info-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.info-value{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.checkout-prompt{text-align:center}.checkout-prompt-text{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--space-4)}.checkout-prompt-btn{width:100%;background-color:var(--color-primary);color:#fff;border:none;padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:background-color .2s ease-in-out}.checkout-prompt-btn:hover{background-color:var(--color-primary-dark)}.checkout-address-list{display:flex;flex-direction:column;gap:var(--space-3)}.checkout-address-item{display:flex;align-items:flex-start;gap:var(--space-3);width:100%;text-align:left;background-color:var(--color-bg-page);border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);cursor:pointer;font:inherit;color:inherit;transition:border-color .2s ease}.checkout-address-item.selected{border-color:var(--color-primary);background-color:var(--color-bg-surface)}.checkout-address-radio{width:18px;height:18px;flex-shrink:0;margin-top:2px;border-radius:var(--radius-full);border:2px solid var(--color-border);position:relative}.checkout-address-item.selected .checkout-address-radio{border-color:var(--color-primary)}.checkout-address-item.selected .checkout-address-radio:after{content:"";position:absolute;width:8px;height:8px;background-color:var(--color-primary);border-radius:var(--radius-full);top:50%;left:50%;transform:translate(-50%,-50%)}.checkout-address-detail{display:flex;flex-direction:column;gap:2px;min-width:0}.checkout-address-header{display:flex;align-items:center;gap:var(--space-2)}.checkout-address-label{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text)}.checkout-address-badge{font-size:var(--font-size-xs);font-weight:700;color:var(--color-primary);background-color:var(--color-bg-page);padding:2px var(--space-2);border-radius:var(--radius-sm)}.checkout-address-recipient{font-size:var(--font-size-sm);color:var(--color-text)}.checkout-address-full{font-size:var(--font-size-xs);color:var(--color-text-muted)}.summary-items{margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px dashed var(--color-border)}.summary-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-2);margin-bottom:var(--space-3);font-size:var(--font-size-sm)}.item-name{flex:1 1 100%;font-weight:500;color:var(--color-text)}.item-qty,.item-price{font-weight:600;color:var(--color-text-muted)}.item-price{margin-left:auto}.summary-row{display:flex;justify-content:space-between;margin-bottom:var(--space-2)}.summary-row.subtotal{padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.summary-row.total{font-weight:700;font-size:var(--font-size-lg);margin-top:var(--space-4);color:var(--color-text)}.total-value{color:var(--color-accent)}.checkout-btn{width:100%;background-color:var(--color-primary);color:#fff;border:none;padding:var(--space-4);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-md);font-weight:600;margin-top:var(--space-5);transition:background-color .2s ease-in-out,transform .1s ease-in-out}.checkout-btn:hover{background-color:var(--color-primary-dark);transform:translateY(-2px)}.checkout-btn:disabled{background-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;transform:none}.checkout-warning-text{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);font-weight:600;color:var(--color-danger);margin:var(--space-3) 0 0}.category-section{width:100%;text-align:center;background-color:var(--color-primary);padding:var(--space-4) 0}.title>h2{width:100%;text-align:left;color:var(--color-accent);padding-left:var(--space-3);margin:0;font-size:var(--font-size-lg);font-weight:700}.title>h5{width:100%;text-align:left;color:var(--color-bg-surface);opacity:.75;padding-top:var(--space-1);padding-left:var(--space-3);margin:0;font-size:var(--font-size-xs)}.products-grid{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:8px;padding:8px;scrollbar-color:var(--color-primary) #f1f1f1;scrollbar-width:thin;margin:0}.products-grid>.product-card-container{flex-shrink:0;width:203px}.products-grid::-webkit-scrollbar{height:8px}.products-grid::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.products-grid::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:10px}.products-grid::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.section-header{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-3);margin-bottom:var(--space-2)}.section-header-icon{width:34px;height:34px;flex-shrink:0;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm)}.section-header-icon.primary{background-color:#13175f1a;color:var(--color-primary)}.section-header-icon.warning{background-color:#e74c3c1a;color:var(--color-danger)}.section-header-text{min-width:0}.section-header-title{font-size:var(--font-size-md);font-weight:700;color:var(--color-text);margin:0}.section-header-subtitle{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:2px 0 0}.category-section-recommend{margin-top:var(--space-4);width:100%}.products-grid-recommend{display:grid;width:100%;grid-template-columns:repeat(var(--product-grid-columns),1fr)!important;gap:8px;max-width:none;padding:8px}.recommend-scroll-sentinel{display:flex;justify-content:center;align-items:center;min-height:40px;padding:var(--space-4) 0}.recommend-loading-text{font-size:var(--font-size-sm);color:var(--color-text-muted)}.promo-banner-card{display:flex;flex-direction:column;background-color:var(--color-primary);border-radius:var(--radius-md);overflow:hidden;text-decoration:none;box-shadow:var(--shadow-resting);transition:transform .3s ease,box-shadow .3s ease}.promo-banner-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover)}.promo-banner-image-wrapper{position:relative;width:100%;aspect-ratio:1 / 1}.promo-banner-image{width:100%;height:100%;object-fit:cover;display:block}.promo-banner-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);background-color:#ffffff14;border:1px dashed rgba(255,255,255,.4);color:#ffffffb3;font-size:var(--font-size-xs);text-align:center;padding:var(--space-4)}.promo-banner-placeholder i{font-size:1.4rem}.promo-banner-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:var(--radius-full);border:none;background-color:#00000059;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:var(--font-size-xs)}.promo-banner-nav-btn.prev{left:var(--space-2)}.promo-banner-nav-btn.next{right:var(--space-2)}.promo-banner-image-counter{position:absolute;bottom:var(--space-2);right:var(--space-2);background-color:#0000008c;color:#fff;font-size:var(--font-size-xs);font-weight:600;padding:1px var(--space-2);border-radius:var(--radius-full)}.promo-banner-content{padding:var(--space-4);text-align:center}.promo-banner-title{font-size:var(--font-size-sm);font-weight:700;color:#fff;margin:0 0 var(--space-2)}.promo-banner-price-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-3)}.promo-banner-price{font-size:var(--font-size-lg);font-weight:900;color:var(--color-accent)}.promo-banner-original-price,.promo-banner-note{font-size:var(--font-size-xs);color:#fff9}.promo-banner-cta{display:inline-block;background-color:var(--color-primary);color:#fff;font-size:var(--font-size-xs);font-weight:700;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full)}.products-grid-weekly{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:8px;padding:0 8px 8px}.products-grid-weekly>.product-card-container{flex-shrink:0;width:203px}.category-section-weekly{margin-top:var(--space-4);width:100%;background-color:#e74c3c0d;padding:var(--space-4) 0}.shopping-icons-container{display:flex;gap:var(--space-3);padding:var(--space-4);background-color:var(--color-bg-surface);width:100%}.icon-item{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1}.icon-square{width:100%;height:40px;display:flex;justify-content:center;align-items:center;overflow:hidden}.icon-square img{width:100%;height:100%;object-fit:contain}
