@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display:"Outfit", var(--font-sans);--ease-apple:cubic-bezier(.25, 1, .5, 1);--ease-google:cubic-bezier(.4, 0, .2, 1);--transition-fast:.15s var(--ease-apple);--transition-normal:.3s var(--ease-apple);--transition-slow:.5s var(--ease-apple);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:26px;--radius-full:9999px;--accent-hue:210;--hue-primary:215;--hue-success:142;--hue-warning:38;--hue-danger:354;--bg-primary:hsl(var(--accent-hue), 20%, 98%);--bg-secondary:#fff;--bg-tertiary:hsl(var(--accent-hue), 15%, 94%);--text-primary:hsl(var(--accent-hue), 40%, 12%);--text-secondary:hsl(var(--accent-hue), 15%, 45%);--text-tertiary:hsl(var(--accent-hue), 10%, 62%);--border-color:hsl(var(--accent-hue), 15%, 90%);--border-color-hover:hsl(var(--accent-hue), 15%, 82%);--accent:hsl(var(--hue-primary), 90%, 52%);--accent-hover:hsl(var(--hue-primary), 90%, 46%);--accent-light:hsl(var(--hue-primary), 90%, 96%);--accent-text:hsl(var(--hue-primary), 90%, 40%);--success:hsl(var(--hue-success), 70%, 42%);--success-light:hsl(var(--hue-success), 80%, 95%);--warning:hsl(var(--hue-warning), 90%, 48%);--warning-light:hsl(var(--hue-warning), 90%, 94%);--danger:hsl(var(--hue-danger), 80%, 50%);--danger-light:hsl(var(--hue-danger), 90%, 96%);--glass-bg:#ffffffbf;--glass-border:#fff6;--glass-blur:20px;--shadow-sm:0 1px 2px #00000005, 0 2px 4px #00000005;--shadow-md:0 4px 6px -1px #0000000a, 0 10px 15px -3px #00000008;--shadow-lg:0 10px 25px -5px #0000000d, 0 8px 10px -6px #00000008, 0 0 1px #0000001a;--shadow-inset:inset 0 2px 4px 0 #0000000f;--scrollbar-bg:transparent;--scrollbar-thumb:hsl(var(--accent-hue), 10%, 80%)}[data-theme=dark]{--bg-primary:hsl(var(--accent-hue), 20%, 6%);--bg-secondary:hsl(var(--accent-hue), 18%, 10%);--bg-tertiary:hsl(var(--accent-hue), 18%, 14%);--text-primary:hsl(var(--accent-hue), 15%, 94%);--text-secondary:hsl(var(--accent-hue), 10%, 70%);--text-tertiary:hsl(var(--accent-hue), 8%, 52%);--border-color:hsl(var(--accent-hue), 15%, 16%);--border-color-hover:hsl(var(--accent-hue), 15%, 24%);--accent:hsl(var(--hue-primary), 85%, 60%);--accent-hover:hsl(var(--hue-primary), 85%, 66%);--accent-light:hsl(var(--hue-primary), 35%, 15%);--accent-text:hsl(var(--hue-primary), 85%, 75%);--success:hsl(var(--hue-success), 65%, 52%);--success-light:hsl(var(--hue-success), 35%, 12%);--warning:hsl(var(--hue-warning), 80%, 55%);--warning-light:hsl(var(--hue-warning), 40%, 14%);--danger:hsl(var(--hue-danger), 75%, 58%);--danger-light:hsl(var(--hue-danger), 35%, 14%);--glass-bg:#12161cb3;--glass-border:#ffffff0f;--glass-blur:30px;--shadow-sm:0 1px 2px #0003, 0 2px 4px #00000026;--shadow-md:0 4px 6px -1px #0000004d, 0 10px 15px -3px #00000040;--shadow-lg:0 20px 40px -10px #00000080, 0 0 1px #ffffff26;--scrollbar-thumb:hsl(var(--accent-hue), 10%, 30%)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;tab-size:4;font-size:16px}body{font-family:var(--font-sans);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-normal), color var(--transition-normal);line-height:1.5;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-bg)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--accent)}img,svg,picture,video,canvas{max-width:100%;height:auto;display:block}a{color:var(--accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-hover)}button,input,select,textarea{font:inherit;color:inherit;background:0 0;border:none;outline:none}ol,ul{list-style:none}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-grid{display:grid!important}.d-block{display:block!important}.d-inline-block{display:inline-block!important}.d-none{display:none!important}.flex-column{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.flex-1{flex:1!important}.justify-between{justify-content:space-between!important}.justify-center{justify-content:center!important}.justify-start{justify-content:flex-start!important}.justify-end{justify-content:flex-end!important}.align-center{align-items:center!important}.align-start{align-items:flex-start!important}.align-end{align-items:flex-end!important}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))!important}@media (width<=1024px){.grid-md-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.grid-md-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media (width<=768px){.grid-sm-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.grid-sm-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.flex-sm-column{flex-direction:column!important}}.gap-1{gap:var(--space-1)!important}.gap-2{gap:var(--space-2)!important}.gap-3{gap:var(--space-3)!important}.gap-4{gap:var(--space-4)!important}.gap-6{gap:var(--space-6)!important}.gap-8{gap:var(--space-8)!important}.m-0{margin:0!important}.mt-1{margin-top:var(--space-1)!important}.mt-2{margin-top:var(--space-2)!important}.mt-3{margin-top:var(--space-3)!important}.mt-4{margin-top:var(--space-4)!important}.mt-6{margin-top:var(--space-6)!important}.mt-8{margin-top:var(--space-8)!important}.mb-1{margin-bottom:var(--space-1)!important}.mb-2{margin-bottom:var(--space-2)!important}.mb-3{margin-bottom:var(--space-3)!important}.mb-4{margin-bottom:var(--space-4)!important}.mb-6{margin-bottom:var(--space-6)!important}.mb-8{margin-bottom:var(--space-8)!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.p-0{padding:0!important}.p-2{padding:var(--space-2)!important}.p-3{padding:var(--space-3)!important}.p-4{padding:var(--space-4)!important}.p-6{padding:var(--space-6)!important}.p-8{padding:var(--space-8)!important}.py-2{padding-top:var(--space-2)!important;padding-bottom:var(--space-2)!important}.py-3{padding-top:var(--space-3)!important;padding-bottom:var(--space-3)!important}.py-4{padding-top:var(--space-4)!important;padding-bottom:var(--space-4)!important}.py-6{padding-top:var(--space-6)!important;padding-bottom:var(--space-6)!important}.py-8{padding-top:var(--space-8)!important;padding-bottom:var(--space-8)!important}.px-2{padding-left:var(--space-2)!important;padding-right:var(--space-2)!important}.px-3{padding-left:var(--space-3)!important;padding-right:var(--space-3)!important}.px-4{padding-left:var(--space-4)!important;padding-right:var(--space-4)!important}.px-6{padding-left:var(--space-6)!important;padding-right:var(--space-6)!important}.px-8{padding-left:var(--space-8)!important;padding-right:var(--space-8)!important}.w-full{width:100%!important}.h-full{height:100%!important}.max-w-xl{max-width:48rem!important}.max-w-6xl{max-width:72rem!important}.max-w-7xl{max-width:80rem!important}.font-display{font-family:var(--font-display)!important}.text-xs{font-size:.75rem!important}.text-sm{font-size:.875rem!important}.text-base{font-size:1rem!important}.text-lg{font-size:1.125rem!important}.text-xl{font-size:1.25rem!important}.text-2xl{font-size:1.5rem!important}.text-3xl{font-size:1.875rem!important}.text-4xl{font-size:2.25rem!important}.font-light{font-weight:300!important}.font-normal{font-weight:400!important}.font-medium{font-weight:500!important}.font-semibold{font-weight:600!important}.font-bold{font-weight:700!important}.font-extrabold{font-weight:800!important}.text-left{text-align:left!important}.text-center{text-align:center!important}.text-right{text-align:right!important}.text-muted{color:var(--text-secondary)!important}.text-lightest{color:var(--text-tertiary)!important}.text-accent{color:var(--accent)!important}.border{border:1px solid var(--border-color)!important}.border-b{border-bottom:1px solid var(--border-color)!important}.rounded-sm{border-radius:var(--radius-sm)!important}.rounded-md{border-radius:var(--radius-md)!important}.rounded-lg{border-radius:var(--radius-lg)!important}.rounded-xl{border-radius:var(--radius-xl)!important}.rounded-full{border-radius:var(--radius-full)!important}.glass{background:var(--glass-bg)!important;-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%)!important;border:1px solid var(--glass-border)!important}.shadow-sm{box-shadow:var(--shadow-sm)!important}.shadow-md{box-shadow:var(--shadow-md)!important}.shadow-lg{box-shadow:var(--shadow-lg)!important}.overflow-hidden{overflow:hidden!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);padding:.625rem var(--space-4);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:all var(--transition-fast);border:1px solid #0000;font-size:.9375rem;font-weight:500;display:inline-flex}.btn-primary{background-color:var(--accent);color:#fff}.btn-primary:hover{background-color:var(--accent-hover);box-shadow:0 4px 12px rgba(var(--hue-primary), 90%, 52%, .3);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--border-color);border-color:var(--border-color-hover)}.btn-glass{background-color:var(--glass-bg);-webkit-backdrop-filter:blur(8px);color:var(--text-primary);border:1px solid var(--glass-border)}.btn-glass:hover{background-color:var(--border-color);transform:translateY(-1px)}.btn-danger{background-color:var(--danger);color:#fff}.btn-danger:hover{background-color:hsl(var(--hue-danger), 80%, 45%)}.btn-pill{border-radius:var(--radius-full);padding-left:var(--space-6);padding-right:var(--space-6)}.btn-sm{padding:.375rem var(--space-3);border-radius:var(--radius-sm);font-size:.8125rem}.btn-lg{padding:.875rem var(--space-6);border-radius:var(--radius-lg);font-size:1.0625rem}.btn-icon-only{border-radius:var(--radius-full);width:40px;height:40px;padding:0}.btn.is-loading{pointer-events:none;position:relative;color:#0000!important}.btn.is-loading:after{content:"";border-radius:var(--radius-full);border:2px solid;border-right-color:#0000;width:18px;height:18px;animation:.75s linear infinite spin;position:absolute;top:calc(50% - 9px);left:calc(50% - 9px)}@keyframes spin{to{transform:rotate(360deg)}}.form-group{margin-bottom:var(--space-4);width:100%;position:relative}.form-control{width:100%;font-family:var(--font-sans);padding:.75rem var(--space-3);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);font-size:.9375rem}.form-control:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-light)}.form-control::placeholder{color:var(--text-tertiary);opacity:.8}.form-floating{position:relative}.form-floating .form-control{height:3.5rem;padding:1.25rem 1rem .5rem}.form-floating label{pointer-events:none;transform-origin:0 0;height:100%;color:var(--text-secondary);border:1px solid #0000;padding:1rem;font-size:.9375rem;transition:opacity .15s ease-in-out,transform .15s ease-in-out;position:absolute;top:0;left:0}.form-floating .form-control:focus~label,.form-floating .form-control:not(:placeholder-shown)~label{opacity:.85;color:var(--accent);transform:scale(.75)translateY(-.75rem)translate(.15rem)}.custom-checkbox,.custom-radio{align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-primary);font-size:.9375rem;display:inline-flex}.custom-checkbox input,.custom-radio input{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.checkbox-mark,.radio-mark{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:20px;height:20px;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.radio-mark{border-radius:var(--radius-full)}.custom-checkbox:hover input~.checkbox-mark,.custom-radio:hover input~.radio-mark{background-color:var(--border-color)}.custom-checkbox input:checked~.checkbox-mark{background-color:var(--accent);border-color:var(--accent)}.custom-radio input:checked~.radio-mark{border-color:var(--accent)}.checkbox-mark:after{content:"";color:#fff;font-family:"Font Awesome 6 Free";font-size:10px;font-weight:900;display:none}.radio-mark:after{content:"";background-color:var(--accent);border-radius:var(--radius-full);width:8px;height:8px;display:none}.custom-checkbox input:checked~.checkbox-mark:after,.custom-radio input:checked~.radio-mark:after{display:block}.segmented-control{background-color:var(--bg-tertiary);border-radius:var(--radius-lg);border:1px solid var(--border-color);gap:2px;padding:4px;display:inline-flex}.segmented-item{display:none}.segmented-label{border-radius:calc(var(--radius-lg) - 4px);cursor:pointer;transition:all var(--transition-fast);color:var(--text-secondary);padding:6px 16px;font-size:.875rem;font-weight:500}.segmented-item:checked+.segmented-label{background-color:var(--bg-secondary);color:var(--text-primary);box-shadow:var(--shadow-sm)}.switch{flex-shrink:0;width:48px;height:26px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:var(--border-color);transition:.3s var(--ease-apple);border-radius:34px;position:absolute;inset:0}.slider:before{content:"";width:20px;height:20px;transition:.3s var(--ease-apple);box-shadow:var(--shadow-sm);background-color:#fff;border-radius:50%;position:absolute;bottom:3px;left:3px}.switch input:checked+.slider{background-color:var(--success)}.switch input:checked+.slider:before{transform:translate(22px)}.range-slider-wrapper{margin:var(--space-4) 0}.range-slider{-webkit-appearance:none;background:var(--border-color);border-radius:var(--radius-full);outline:none;width:100%;height:6px}.range-slider::-webkit-slider-thumb{appearance:none;background:var(--accent);cursor:pointer;width:20px;height:20px;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast);border:2px solid var(--bg-secondary);border-radius:50%}.range-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);overflow:hidden}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-color-hover);transform:translateY(-4px)}.card.card-glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border)}.card-header{padding:var(--space-4) var(--space-4);border-bottom:1px solid var(--border-color);font-family:var(--font-display);font-weight:600}.card-body{padding:var(--space-4)}.card-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-color);background-color:var(--bg-primary);justify-content:space-between;align-items:center;display:flex}.product-card{flex-direction:column;height:100%;display:flex}.product-card .image-wrapper{aspect-ratio:1;background-color:var(--bg-tertiary);justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.product-card .image-wrapper img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.product-card:hover .image-wrapper img{transform:scale(1.06)}.product-card .badge-overlay{z-index:2;position:absolute;top:12px;left:12px}.product-card .favorite-overlay{z-index:2;position:absolute;top:12px;right:12px}.product-card-details{padding:var(--space-4);gap:var(--space-2);flex-direction:column;flex-grow:1;display:flex}.product-card-category{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);font-size:.75rem;font-weight:600}.product-card-title{font-family:var(--font-display);color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;height:2.7rem;font-size:1.05rem;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.product-card-rating{align-items:center;gap:4px;font-size:.8125rem;display:flex}.rating-stars{color:var(--warning)}.product-card-price-row{align-items:baseline;gap:8px;margin-top:auto;display:flex}.price-current{font-family:var(--font-display);color:var(--text-primary);font-size:1.25rem;font-weight:700}.price-old{color:var(--text-tertiary);font-size:.875rem;text-decoration:line-through}.badge{border-radius:var(--radius-full);justify-content:center;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.badge-accent{background-color:var(--accent-light);color:var(--accent-text)}.badge-success{background-color:var(--success-light);color:var(--success)}.badge-warning{background-color:var(--warning-light);color:var(--warning)}.badge-danger{background-color:var(--danger-light);color:var(--danger)}.navbar{z-index:100;transition:transform var(--transition-normal), background-color var(--transition-normal);padding:.75rem var(--space-6);border-bottom:1px solid var(--border-color);position:sticky;top:0}.navbar-container{justify-content:space-between;align-items:center;gap:var(--space-6);max-width:var(--max-w-7xl);margin:0 auto;display:flex}.navbar-brand{font-family:var(--font-display);color:var(--text-primary);align-items:center;gap:var(--space-2);font-size:1.5rem;font-weight:800;display:flex}.search-container{flex-grow:1;max-width:38rem;position:relative}.search-bar{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-full);transition:all var(--transition-fast);padding:3px;display:flex;overflow:hidden}.search-bar:focus-within{border-color:var(--accent);background-color:var(--bg-secondary);box-shadow:0 0 0 4px var(--accent-light)}.search-category-dropdown{background-color:var(--bg-tertiary);border-radius:var(--radius-full);padding:0 var(--space-4);cursor:pointer;color:var(--text-secondary);align-items:center;gap:6px;font-size:.8125rem;font-weight:500;display:flex}.search-category-dropdown:hover{background-color:var(--border-color)}.search-input{padding:8px var(--space-4);background:0 0;flex-grow:1;font-size:.9375rem}.search-btn{background-color:var(--accent);color:#fff;border-radius:var(--radius-full);cursor:pointer;width:36px;height:36px;transition:background-color var(--transition-fast);justify-content:center;align-items:center;display:flex}.search-btn:hover{background-color:var(--accent-hover)}.autocomplete-suggestions{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;z-index:101;transition:opacity var(--transition-normal), transform var(--transition-normal);margin-top:8px;position:absolute;top:100%;left:0;right:0;overflow:hidden;transform:translateY(10px)scale(.98)}.autocomplete-suggestions.is-active{opacity:1;pointer-events:all;transform:translateY(0)scale(1)}.suggestion-group-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);border-bottom:1px solid var(--border-color);padding:12px 18px 6px;font-size:.75rem;font-weight:700}.suggestion-item{align-items:center;gap:var(--space-3);cursor:pointer;color:var(--text-primary);transition:background-color var(--transition-fast);padding:10px 18px;font-size:.875rem;display:flex}.suggestion-item:hover{background-color:var(--border-color)}.suggestion-item i{color:var(--text-tertiary)}.navbar-actions{align-items:center;gap:var(--space-3);display:flex}.navbar-btn{border-radius:var(--radius-full);cursor:pointer;width:42px;height:42px;color:var(--text-primary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex;position:relative}.navbar-btn:hover{background-color:var(--bg-tertiary)}.navbar-btn .badge-count{background-color:var(--accent);color:#fff;border-radius:var(--radius-full);width:17px;height:17px;box-shadow:0 0 0 2px var(--bg-secondary);justify-content:center;align-items:center;font-size:.6875rem;font-weight:700;display:flex;position:absolute;top:4px;right:4px}.drawer-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;opacity:0;pointer-events:none;transition:opacity var(--transition-normal);background-color:#0006;position:fixed;inset:0}.drawer-backdrop.is-open{opacity:1;pointer-events:all}.drawer{background-color:var(--bg-secondary);width:100%;max-width:440px;box-shadow:var(--shadow-lg);z-index:1001;transition:transform var(--transition-normal) var(--ease-apple);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.drawer.is-open{transform:translate(0)}.drawer-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.drawer-title{font-family:var(--font-display);font-size:1.25rem;font-weight:700}.drawer-close{cursor:pointer;border-radius:var(--radius-full);width:32px;height:32px;color:var(--text-secondary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.drawer-close:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.drawer-body{padding:var(--space-6);gap:var(--space-4);flex-direction:column;flex-grow:1;display:flex;overflow-y:auto}.cart-item{gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-color);display:flex}.cart-item-image{border-radius:var(--radius-md);background-color:var(--bg-tertiary);object-fit:cover;width:80px;height:80px}.cart-item-info{flex-direction:column;flex-grow:1;gap:4px;display:flex}.cart-item-title{font-family:var(--font-sans);color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9375rem;font-weight:600;display:-webkit-box;overflow:hidden}.cart-item-price{font-size:1rem;font-weight:700}.cart-item-actions{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.quantity-selector{border:1px solid var(--border-color);border-radius:var(--radius-full);background-color:var(--bg-primary);align-items:center;padding:2px;display:inline-flex}.quantity-btn{border-radius:var(--radius-full);cursor:pointer;width:24px;height:24px;transition:background-color var(--transition-fast);justify-content:center;align-items:center;font-size:.75rem;display:flex}.quantity-btn:hover{background-color:var(--border-color)}.quantity-val{padding:0 8px;font-size:.8125rem;font-weight:600}.drawer-footer{padding:var(--space-6);border-top:1px solid var(--border-color);background-color:var(--bg-primary)}.checkout-summary-row{margin-bottom:var(--space-4);justify-content:space-between;font-size:.9375rem;display:flex}.checkout-summary-row.total{font-family:var(--font-display);border-top:1px solid var(--border-color);padding-top:var(--space-4);font-size:1.2rem;font-weight:700}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1100;opacity:0;pointer-events:none;transition:opacity var(--transition-normal);padding:var(--space-4);background-color:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-backdrop.is-open{opacity:1;pointer-events:all}.modal{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);opacity:0;width:100%;max-width:540px;transition:transform var(--transition-normal) var(--ease-apple), opacity var(--transition-normal);flex-direction:column;max-height:90vh;display:flex;overflow:hidden;transform:translateY(30px)scale(.96)}.modal-backdrop.is-open .modal{opacity:1;transform:translateY(0)scale(1)}.modal-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.modal-close{cursor:pointer;border-radius:var(--radius-full);width:32px;height:32px;color:var(--text-secondary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.modal-close:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.modal-body{padding:var(--space-6);flex-grow:1;overflow-y:auto}.modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-color);background-color:var(--bg-primary);justify-content:flex-end;gap:var(--space-3);display:flex}.apple-pay-btn{color:#fff;border-radius:var(--radius-md);cursor:pointer;width:100%;transition:opacity var(--transition-fast);background-color:#000;justify-content:center;align-items:center;gap:6px;padding:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.1rem;font-weight:500;display:flex}.apple-pay-btn:hover{opacity:.85}[data-theme=dark] .apple-pay-btn{color:#000;background-color:#fff}.skeleton{background:linear-gradient(90deg, var(--bg-tertiary) 25%, var(--border-color) 37%, var(--bg-tertiary) 63%);border-radius:var(--radius-sm);background-size:400% 100%;width:100%;height:1rem;animation:1.4s infinite skeleton-loading;display:inline-block}@keyframes skeleton-loading{0%{background-position:100%}to{background-position:0%}}.skeleton-circle{border-radius:var(--radius-full)}i.icon-spin{animation:1s linear infinite spin;display:inline-block}.nav-icon-link{transition:transform var(--transition-fast)}.nav-icon-link:hover{transform:scale(1.08)}.circular-progress{transform:rotate(-90deg)}.circular-progress-circle{transform-origin:50%;transition:stroke-dashoffset .35s}.dragged-item{opacity:.4;border-style:dashed!important}.drag-over-item{transform:translateY(-2px);border-color:var(--color-primary)!important;box-shadow:0 0 15px #00f2fe40!important}.gradient-text{background:linear-gradient(135deg, var(--accent), var(--success));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}
