.toast-container{top:var(--spacing-xl,1.25rem);right:var(--spacing-xl,1.25rem);z-index:var(--z-toast,10001);gap:var(--spacing-sm,.5rem);flex-direction:column;width:100%;max-width:400px;display:flex;position:fixed}.toast{background:var(--bg-surface,#fff);border-radius:var(--radius-md,8px);padding:var(--spacing-lg,1rem);box-shadow:var(--shadow-lg,0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a);border-left:4px solid var(--primary-color,#2563eb);align-items:center;gap:var(--spacing-md,.75rem);animation:slide-in-right var(--transition-slow,.3s ease)ease forwards;display:flex;position:relative;overflow:hidden;transform:translate(100%)}.toast:before{content:"";background:var(--primary-color,#2563eb);height:2px;animation:toast-progress var(--toast-duration,4s)linear forwards;position:absolute;bottom:0;left:0}.toast--success{border-left-color:var(--success-color,#059669)}.toast--success:before{background:var(--success-color,#059669)}.toast--error{border-left-color:var(--danger-color,#dc2626)}.toast--error:before{background:var(--danger-color,#dc2626)}.toast--warning{border-left-color:var(--warning-color,#d97706)}.toast--warning:before{background:var(--warning-color,#d97706)}.toast__icon{flex-shrink:0;width:20px;height:20px}.toast__content{font-weight:var(--font-weight-medium,500);color:var(--text-primary,#1f2937);flex:1}.btn{justify-content:center;align-items:center;gap:var(--spacing-sm,.5rem);padding:var(--spacing-md,.75rem)var(--spacing-xl,1.25rem);border-radius:var(--radius-md,8px);font-size:var(--font-size-sm,.875rem);font-weight:var(--font-weight-medium,500);cursor:pointer;transition:var(--transition-base,.2s ease);border:1px solid #0000;min-height:40px;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--primary-color,#2563eb);color:var(--text-inverse,#fff)}.btn-primary:hover:not(:disabled){background:var(--primary-color-hover,#1d4ed8);box-shadow:var(--shadow-md,0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a)}@media (hover:hover){.btn-primary:hover:not(:disabled){transform:translateY(-1px)}}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--gray-100,#f3f4f6);color:var(--gray-700,#374151);border-color:var(--gray-300,#d1d5db)}.btn-secondary:hover:not(:disabled){background:var(--gray-200,#e5e7eb);border-color:var(--gray-400,#9ca3af)}.btn-outline{color:var(--gray-600,#4b5563);border-color:var(--gray-300,#d1d5db);background:0 0}.btn-outline:hover:not(:disabled){background:var(--gray-50,#f9fafb);border-color:var(--gray-400,#9ca3af);color:var(--gray-700,#374151)}.btn-loading{opacity:.7;pointer-events:none}.btn-error,.btn-danger{background:var(--danger-color,#dc2626);color:var(--text-inverse,#fff)}.btn-danger:hover:not(:disabled){background:var(--danger-color-hover,#b91c1c);box-shadow:var(--shadow-md,0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a)}@media (hover:hover){.btn-danger:hover:not(:disabled){transform:translateY(-1px)}}.btn-success{background:var(--success-color,#059669);color:var(--text-inverse,#fff)}.btn-success:hover:not(:disabled){background:var(--success-color-hover,#047857)}.btn-success:disabled,.btn-success[disabled]{background:var(--success-color,#059669);color:var(--text-inverse,#fff);cursor:not-allowed}.btn-sm{padding:var(--spacing-sm,.5rem)var(--spacing-md,.75rem);font-size:var(--font-size-xs,.75rem);min-height:32px}.btn-lg{padding:var(--spacing-lg,1rem)var(--spacing-2xl,1.5rem);font-size:var(--font-size-base,1rem);min-height:48px}.btn-block{width:100%}.btn-remove{background:var(--danger-color,#dc2626);color:var(--text-inverse,#fff);cursor:pointer;width:32px;height:32px;font-size:var(--font-size-lg,1.125rem);transition:var(--transition-base,.2s ease);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}@media (hover:hover){.btn-remove:hover{background:var(--danger-color-hover,#b91c1c);transform:scale(1.1)}}.btn-remove:active{transform:scale(.95)}.modal-overlay{background:var(--gray-900-alpha-75,#000000bf);z-index:var(--z-modal,10000);opacity:0;transition:var(--transition-slow,.3s ease);justify-content:center;align-items:center;display:none;position:fixed;top:0;bottom:0;left:0;right:0}.modal-overlay[data-visible=true]{opacity:1}.modal{background:var(--bg-surface,#fff);border-radius:var(--radius-lg,12px);padding:var(--spacing-3xl,2rem);width:90%;max-width:500px;max-height:90vh;box-shadow:var(--shadow-xl,0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a);opacity:0;transition:var(--transition-slow,.3s ease);overflow-y:auto;transform:scale(.9)}.modal-overlay[data-visible=true] .modal{opacity:1;transform:scale(1)}.modal-buttons{gap:var(--spacing-md,.75rem);justify-content:flex-end;display:flex}#cart-wrapper{max-width:var(--container-max-width,1800px);padding:var(--spacing-2xl,1.5rem);min-height:600px;margin:0 auto}.cart-header{margin-bottom:var(--spacing-3xl,2rem);justify-content:space-between;align-items:center;gap:var(--spacing-lg,1rem);flex-wrap:wrap;display:flex}.search-bar{width:100%;max-width:400px;position:relative}.search-bar label{margin-bottom:var(--spacing-sm,.5rem);font-weight:var(--font-weight-medium,500);color:var(--text-secondary,#6b7280);font-size:var(--font-size-sm,.875rem);display:block}.search-bar input{width:100%;padding:var(--spacing-md,.75rem)var(--spacing-4xl,2.5rem)var(--spacing-md,.75rem)var(--spacing-lg,1rem);border:1px solid var(--gray-300,#d1d5db);border-radius:var(--radius-md,8px);font-size:var(--font-size-sm,.875rem);transition:var(--transition-base,.2s ease);background:var(--bg-surface,#fff)}.search-bar input:focus{border-color:var(--primary-color,#2563eb);box-shadow:0 0 0 3px var(--primary-alpha-10,#2563eb1a);outline:none}.search-bar input::placeholder{color:var(--gray-400,#9ca3af)}.clear-btn{right:var(--spacing-md,.75rem);font-size:var(--font-size-lg,1.125rem);cursor:pointer;color:var(--gray-400,#9ca3af);padding:var(--spacing-xs,.25rem)var(--spacing-md,.75rem);border-radius:var(--radius-sm,6px);transition:var(--transition-base,.2s ease);background:0 0;border:none;position:absolute;top:2.25rem;transform:translateY(0)}.clear-btn:hover{color:var(--gray-600,#4b5563);background:var(--gray-100,#f3f4f6)}.cart-grid{gap:var(--spacing-2xl,2.5rem);grid-template-columns:1fr 350px;align-items:start;display:grid}.cart-list{gap:var(--spacing-md,1.25rem);flex-direction:column;list-style:none;display:flex}.cart-item{background:var(--bg-surface,#fff);border-radius:var(--radius-lg,12px);padding:var(--spacing-2xl,1.5rem);box-shadow:var(--shadow-sm,0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a);border:1px solid var(--border-color,#e5e7eb);gap:var(--spacing-md,1.25rem);grid-template-columns:auto minmax(120px,160px) minmax(0,1fr) auto;align-items:start;display:grid;position:relative;overflow:hidden}.cart-item-updating{opacity:.8;pointer-events:none}.cart-item[data-removing=true]{opacity:0;pointer-events:none;transition:opacity .25s,transform .25s,height .25s 50ms,padding .25s 50ms,margin .25s 50ms,border-width .25s 50ms;overflow:hidden;transform:scale(.95)translateY(-10px);border-width:0!important;height:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important}.cart-item__img{border-radius:var(--radius-md,8px);background:var(--gray-50,#f9fafb);margin:auto;position:relative;overflow:hidden}.cart-item__img-trigger{cursor:zoom-in;border-radius:inherit;background:0 0;border:0;width:100%;margin:0;padding:0;display:block}.cart-item__img-trigger:focus{outline:2px solid var(--primary-color,#2563eb);outline-offset:2px}.cart-item__img img{object-fit:contain;width:clamp(112px,11vw,150px);height:clamp(112px,11vw,150px);display:block}.cart-item__details{gap:var(--spacing-sm,.5rem);flex-direction:column;min-width:0;display:flex}.cart-item__title{margin:0}.cart-item__title a{color:var(--text-primary,#1f2937);font-weight:var(--font-weight-semibold,600);font-size:var(--font-size-lg,1.125rem);-webkit-line-clamp:2;line-clamp:2;transition:var(--transition-base,.2s ease);-webkit-box-orient:vertical;line-height:1.4;text-decoration:none;display:-webkit-box;overflow:hidden}.cart-item__title a:hover{color:var(--primary-color,#2563eb)}.cart-item__price{color:var(--text-secondary,#6b7280);font-size:var(--font-size-sm,.875rem);align-items:center;gap:var(--spacing-sm,.5rem);display:flex}.cart-item__price .list-price{color:var(--gray-400,#9ca3af);text-decoration:line-through}.cart-item__price .unit-price{font-weight:var(--font-weight-semibold,600);color:var(--text-primary,#1f2937)}.cart-item__price .discount-info{background:var(--danger-color,#dc2626);color:var(--text-inverse,#fff);padding:2px var(--spacing-sm,.5rem);border-radius:var(--radius-sm,6px);font-size:var(--font-size-xs,.75rem);font-weight:var(--font-weight-medium,500)}.cart-item__promo{color:#7100e1;align-items:center;gap:4px;margin-top:6px;font-size:12px;font-weight:600;line-height:1.3;display:flex}.cart-item__promo i{flex-shrink:0;font-size:11px}.cart-item__promo--brand{color:#ff4500}.cart-item__promo--category{color:#7100e1}.cart-item__promo .promo-percent{opacity:.8;font-weight:500}.cart-item__note{color:var(--text-tertiary,#9ca3af);font-size:var(--font-size-xs,.75rem);background:var(--gray-50,#f9fafb);padding:var(--spacing-sm,.5rem);border-radius:var(--radius-sm,6px);border-left:3px solid var(--warning-color,#d97706);white-space:pre-line;font-style:italic}.qty-update{align-items:center;gap:var(--spacing-sm,.5rem);margin-top:var(--spacing-sm,.5rem);flex-wrap:wrap;display:flex}.qty-update input{width:80px;padding:var(--spacing-sm,.5rem);border:1px solid var(--gray-300,#d1d5db);border-radius:var(--radius-md,8px);font-size:var(--font-size-sm,.875rem);text-align:center;transition:var(--transition-base,.2s ease);background:var(--bg-surface,#fff)}.qty-update input:focus{border-color:var(--primary-color,#2563eb);box-shadow:0 0 0 2px var(--primary-alpha-10,#2563eb1a);outline:none}.qty-update input:invalid{border-color:var(--danger-color,#dc2626);box-shadow:0 0 0 2px var(--danger-alpha-10,#dc26261a)}.unit-label{font-size:var(--font-size-xs,.75rem);color:var(--text-tertiary,#9ca3af);font-weight:var(--font-weight-medium,500)}.cart-spin{align-items:center;animation:1s linear infinite spin;display:inline-flex}.cart-item__footer{text-align:right;align-items:flex-end;gap:var(--spacing-sm,.5rem);flex-direction:column;display:flex}.cart-item__total{font-size:var(--font-size-xl,1.25rem);font-weight:var(--font-weight-bold,700);color:var(--primary-color,#2563eb);flex-direction:column;align-items:flex-end;gap:2px;display:flex}.iva-label{font-size:var(--font-size-xs,.75rem);color:var(--text-tertiary,#9ca3af);font-weight:var(--font-weight-normal,400)}.cart-sidebar{position:sticky;top:20px}.cart-summary-sticky-cta{background:var(--bg-surface,#fff);padding-top:var(--spacing-md,.75rem);margin-top:var(--spacing-md,.75rem);position:static}.cart-mobile-sticky-cta{display:none}.sidebar-inner{background:var(--bg-surface,#fff);border-radius:var(--radius-lg,12px);padding:var(--spacing-3xl,2rem);box-shadow:var(--shadow-sm,0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a);border:1px solid var(--border-color,#e5e7eb);transition:box-shadow .2s}@media (hover:hover){.sidebar-inner:hover{box-shadow:var(--shadow-md,0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a)}}.cart-summary h3{font-size:var(--font-size-xl,1.25rem);font-weight:var(--font-weight-semibold,600);color:var(--text-primary,#1f2937);margin-bottom:var(--spacing-xl,1.25rem);padding-bottom:var(--spacing-md,.75rem);border-bottom:2px solid var(--gray-100,#f3f4f6)}.cart-summary-details{margin-bottom:var(--spacing-xl,1.25rem)}.summary-row{padding:var(--spacing-md,.75rem)0;border-bottom:1px solid var(--gray-100,#f3f4f6);font-size:var(--font-size-sm,.875rem);color:var(--text-secondary,#6b7280);justify-content:space-between;align-items:center;display:flex}.summary-row:last-child{border-bottom:none;margin-bottom:0}.summary-row span:first-child{font-weight:var(--font-weight-medium,500)}.summary-row span:last-child{font-weight:var(--font-weight-semibold,600);color:var(--text-primary,#1f2937)}.summary-row .summary-note{font-weight:var(--font-weight-normal,400)!important;font-size:var(--font-size-xs,.75rem)!important;color:var(--text-muted,#6b7280)!important;text-align:right!important;max-width:70%!important}.summary-row .summary-note a{color:var(--primary-color,#2563eb);text-decoration:underline;display:block}.cart-total{padding:var(--spacing-xl,1.25rem)0;border-top:2px solid var(--gray-200,#e5e7eb);margin-top:var(--spacing-lg,1rem);font-size:var(--font-size-lg,1.125rem);font-weight:var(--font-weight-bold,700);color:var(--text-primary,#1f2937);justify-content:space-between;align-items:center;display:flex}.cart-total span:last-child{font-size:var(--font-size-xl,1.25rem);color:var(--primary-color,#2563eb)}.cart-checkout-btn{font-weight:var(--font-weight-semibold,600)}.cart-checkout-btn:focus-visible{outline:2px solid var(--primary-alpha-20,#2563eb33);outline-offset:2px}.empty-cart{text-align:center;padding:var(--spacing-4xl,2.5rem)var(--spacing-xl,1.25rem);color:var(--text-secondary,#6b7280);background:var(--bg-surface,#fff);border-radius:var(--radius-lg,12px);border:2px dashed var(--border-color,#e5e7eb);max-width:500px;margin:0 auto}.empty-cart i{margin-bottom:var(--spacing-xl,1.25rem);opacity:.4;color:var(--gray-400,#9ca3af);font-size:4.5rem;display:block}.empty-cart h3{font-size:var(--font-size-xl,1.25rem);font-weight:var(--font-weight-semibold,600);color:var(--text-primary,#1f2937);margin-bottom:var(--spacing-md,.75rem)}.empty-cart p{margin-bottom:var(--spacing-xl,1.25rem);font-size:var(--font-size-base,1rem)}@media (max-width:1200px){.cart-grid{gap:var(--spacing-3xl,2rem);grid-template-columns:1fr 320px}}@media (max-width:1024px){.cart-grid{gap:var(--spacing-2xl,1.5rem);grid-template-columns:1fr}.cart-sidebar{position:static}.cart-summary-sticky-cta{margin-top:0;padding-top:0;position:static}.sidebar-inner{padding:var(--spacing-2xl,1.5rem)}.cart-mobile-sticky-cta{z-index:1200;padding:var(--spacing-md,.75rem)var(--spacing-lg,1rem);background:var(--bg-surface,#fff);display:block;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 14px #00000014}.cart-mobile-sticky-cta.is-hidden{display:none}.cart-mobile-sticky-cta__inner{max-width:var(--container-max-width,1800px);justify-content:space-between;align-items:center;gap:var(--spacing-md,.75rem);margin:0 auto;display:flex}.cart-mobile-sticky-cta__total{flex-direction:column;gap:2px;display:flex}.cart-mobile-sticky-cta__total span{font-size:var(--font-size-xs,.75rem);color:var(--text-secondary,#6b7280);font-weight:var(--font-weight-medium,500)}.cart-mobile-sticky-cta__total strong{font-size:var(--font-size-lg,1.125rem);color:var(--primary-color,#2563eb);font-weight:var(--font-weight-bold,700)}.cart-mobile-sticky-cta__btn{min-width:160px}}@media (max-width:768px){#cart-wrapper{padding:var(--spacing-lg,1rem)}.cart-header{align-items:stretch;gap:var(--spacing-lg,1rem);flex-direction:column}.search-bar{max-width:none}.cart-item{gap:var(--spacing-lg,1rem);padding:var(--spacing-xl,1.25rem);grid-template-rows:auto auto auto;grid-template-columns:1fr;position:relative}.cart-item__img{margin-bottom:var(--spacing-md,.75rem);grid-row:1;justify-self:center}.cart-item__img img{border-radius:var(--radius-md,8px);width:clamp(124px,34vw,170px);height:clamp(124px,34vw,170px)}.cart-item__details{text-align:center;gap:var(--spacing-md,.75rem);grid-row:2}.cart-item__title{margin-bottom:var(--spacing-sm,.5rem)}.cart-item__title a{font-size:var(--font-size-lg,1.125rem);font-weight:var(--font-weight-semibold,600);-webkit-line-clamp:3;line-clamp:3;text-align:center;line-height:1.3;display:block}.cart-item__price{margin-bottom:var(--spacing-sm,.5rem);font-size:var(--font-size-base,1rem);justify-content:center}.cart-item__note{margin-bottom:var(--spacing-md,.75rem);text-align:left}.cart-item__footer{gap:var(--spacing-lg,1rem);padding-top:var(--spacing-lg,1rem);border-top:2px solid var(--gray-100,#f3f4f6);flex-direction:column;grid-row:3;align-items:center;margin-top:0}.qty-update{background:var(--gray-50,#f9fafb);padding:var(--spacing-md,.75rem);border-radius:var(--radius-md,8px);justify-content:center;align-items:center;gap:var(--spacing-md,.75rem);margin-top:0}.qty-update input{width:100px;font-size:var(--font-size-lg,1.125rem);padding:var(--spacing-md,.75rem);text-align:center;border:2px solid var(--gray-300,#d1d5db);font-weight:var(--font-weight-semibold,600)}.qty-update .btn{padding:var(--spacing-md,.75rem)var(--spacing-xl,1.25rem);font-weight:var(--font-weight-semibold,600);min-width:100px}.cart-item__total{font-size:var(--font-size-2xl,1.5rem);font-weight:var(--font-weight-bold,700);color:var(--primary-color,#2563eb);text-align:right;width:100%;display:inline-block}.btn-remove{top:var(--spacing-md,.75rem);right:var(--spacing-md,.75rem);width:32px;height:32px;font-size:var(--font-size-lg,1.125rem);box-shadow:var(--shadow-md,0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a);position:absolute}}@media (max-width:480px){#cart-wrapper{padding:var(--spacing-md,.75rem);padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.cart-item{padding:var(--spacing-md,.75rem);gap:var(--spacing-md,.75rem)}.sidebar-inner{padding:var(--spacing-lg,1rem)}.modal{padding:var(--spacing-xl,1.25rem);margin:var(--spacing-md,.75rem);width:calc(100% - var(--spacing-2xl))}.modal-buttons{flex-direction:column}.toast-container{left:var(--spacing-md,.75rem);right:var(--spacing-md,.75rem);top:var(--spacing-md,.75rem);max-width:none}.cart-mobile-sticky-cta__btn{min-width:140px}}@media print{.btn-remove,.search-bar,.toast-container,.modal-overlay{display:none!important}.cart-item{break-inside:avoid;box-shadow:none;border:1px solid var(--gray-400,#9ca3af)}.sidebar-inner{box-shadow:none;border:1px solid var(--gray-400,#9ca3af)}}.cart-auth-required{text-align:center;max-width:560px;margin:2rem auto;padding:3rem 2rem}.cart-auth-icon{background:linear-gradient(135deg,var(--primary-alpha-10,#2563eb1a),var(--primary-color-light));border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 2rem;padding:1.5rem;display:flex}.cart-auth-icon svg{width:40px;height:40px;color:var(--primary-color,#2563eb)}.cart-auth-title{color:var(--text-primary,#1f2937);margin-bottom:1rem;font-size:1.875rem;font-weight:700;line-height:1.2}.cart-auth-description{color:var(--text-secondary,#6b7280);margin-bottom:2rem;font-size:1.125rem;line-height:1.6}.cart-auth-actions{flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex}.cart-auth-actions .btn{justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-weight:600;display:flex}.cart-auth-actions .btn svg{width:20px;height:20px}.cart-auth-footer{border-top:1px solid var(--gray-200,#e5e7eb);padding-top:1.5rem}.cart-back-link{color:var(--text-tertiary,#9ca3af);transition:color var(--transition-base,.2s ease);align-items:center;gap:.5rem;font-size:.875rem;text-decoration:none;display:inline-flex}.cart-back-link:hover{color:var(--primary-color,#2563eb)}.cart-back-link svg{width:16px;height:16px}.cart-empty{text-align:center;max-width:640px;margin:2rem auto;padding:3rem 2rem}.cart-empty-icon{background:linear-gradient(135deg,var(--gray-100,#f3f4f6),var(--gray-200));border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;margin:0 auto 2rem;padding:2rem;display:flex}.cart-empty-icon i{color:var(--gray-500,#6b7280);font-size:2rem}.cart-empty-title{color:var(--text-primary,#1f2937);margin-bottom:1rem;font-size:2rem;font-weight:700;line-height:1.2}.cart-empty-description{color:var(--text-secondary,#6b7280);margin-bottom:2.5rem;font-size:1.125rem;line-height:1.6}.cart-empty-search{background:var(--primary-color-bg-hover,#dbeafe);border-radius:var(--radius-md,8px);margin-bottom:2.5rem;padding:2rem 1.5rem}.cart-empty-search h3{color:var(--text-primary,#1f2937);margin-bottom:1rem;font-size:1.125rem;font-weight:600}.search-input-group{max-width:400px;box-shadow:var(--shadow-sm,0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a);margin:0 auto;display:flex}.search-input{border:1px solid var(--gray-300,#d1d5db);color:var(--text-primary,#1f2937);transition:border-color var(--transition-base,.2s ease);background:#fff;border-right:none;outline:none;flex:1;padding:.875rem 1rem;font-size:1rem}.search-input:focus{border-color:var(--primary-color,#2563eb);box-shadow:0 0 0 1px var(--primary-color,#2563eb)}.search-button{background:var(--primary-color,#2563eb);border:1px solid var(--primary-color,#2563eb);color:#fff;cursor:pointer;transition:background-color var(--transition-base,.2s ease);justify-content:center;align-items:center;padding:.875rem 1.25rem;display:flex}.search-button:hover{background:var(--primary-color-dark,#1e40af)}.search-button svg{width:20px;height:20px}.cart-empty-actions{border-top:1px solid var(--gray-200,#e5e7eb);padding-top:2rem}.cart-empty-actions .btn{justify-content:center;align-items:center;gap:.5rem;max-width:280px;margin:0 auto;padding:.875rem 1.5rem;font-weight:600;display:flex}.cart-empty-actions .btn svg{width:20px;height:20px}.qty-suggestion{align-items:center;gap:var(--spacing-sm,.5rem);margin-top:var(--spacing-xs,.25rem);font-size:var(--font-size-sm,.875rem);color:var(--gray-500,#6b7280);display:flex}.qty-suggestion button{color:var(--primary-color,#2563eb);cursor:pointer;font-size:var(--font-size-sm,.875rem);font-weight:var(--font-weight-semibold,600);background:0 0;border:none;padding:0;text-decoration:none}.qty-suggestion button:hover{text-decoration:underline}.filter-active-badge{margin-top:var(--spacing-md,.75rem);padding:var(--spacing-sm,.5rem)var(--spacing-md,.75rem);background:var(--warning-color-lighter,#fef3c7);color:var(--warning-color-hover,#b45309);border-radius:var(--radius-xs,4px);font-size:var(--font-size-sm,.875rem);font-weight:var(--font-weight-medium,500);border:1px solid var(--warning-color-light,#f59e0b);display:block}@media (max-width:768px){.cart-auth-required,.cart-empty{margin:1rem;padding:2rem 1.5rem}.cart-auth-title,.cart-empty-title{font-size:1.5rem}.cart-auth-description,.cart-empty-description{font-size:1rem}.cart-auth-icon{width:64px;height:64px;padding:1rem}.cart-auth-icon svg{width:32px;height:32px}.cart-empty-icon{width:80px;height:80px;padding:1.5rem}.cart-empty-icon i{width:40px;height:40px}.search-input-group{max-width:100%}}.cart-update-notice{border-radius:var(--radius-lg,12px);margin-bottom:var(--spacing-xl,1.25rem);animation:.4s cubic-bezier(.16,1,.3,1) noticeSlideIn;overflow:hidden;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a}@keyframes noticeSlideIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.cart-update-notice.alert-warning{border:1px solid var(--warning-color-light,#fbbf24);background:linear-gradient(#fffbeb,#fff)}.cart-update-notice.alert-info{border:1px solid var(--info-color-light,#67e8f9);background:linear-gradient(#ecfeff,#fff)}.cart-update-notice .notice-header{align-items:center;gap:var(--spacing-sm,.5rem);padding:var(--spacing-md,.75rem)var(--spacing-lg,1rem);display:flex}.cart-update-notice.alert-warning .notice-header{background:#fbbf241f;border-bottom:1px solid #fbbf2433}.cart-update-notice.alert-info .notice-header{background:#67e8f91f;border-bottom:1px solid #67e8f933}.notice-icon{flex-shrink:0;width:20px;height:20px}.cart-update-notice.alert-warning .notice-icon{color:#b45309}.cart-update-notice.alert-info .notice-icon{color:#0e7490}.notice-title{font-weight:600;font-size:var(--font-size-sm,.875rem);color:var(--text-primary,#1f2937);flex:1}.notice-close{cursor:pointer;width:28px;height:28px;color:var(--text-secondary,#6b7280);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.125rem;transition:background .15s,color .15s;display:flex}.notice-close:hover{color:var(--text-primary,#1f2937);background:#0000000f}.notice-body{padding:var(--spacing-md,.75rem)var(--spacing-lg,1rem)}.notice-intro{font-size:var(--font-size-sm,.875rem);color:var(--text-secondary,#6b7280);margin:0 0 var(--spacing-md,.75rem)0;line-height:1.5}.notice-footer{font-size:var(--font-size-xs,.75rem);color:var(--text-tertiary,#9ca3af);margin:var(--spacing-md,.75rem)0 0 0;padding-top:var(--spacing-sm,.5rem);border-top:1px solid var(--border-color-light,#f3f4f6);align-items:center;gap:var(--spacing-xs,.25rem);display:flex}.notice-footer i{font-size:.7rem}.notice-removals{margin-bottom:var(--spacing-md,.75rem)}.notice-section-title{font-size:var(--font-size-xs,.75rem);text-transform:uppercase;letter-spacing:.03em;margin:0 0 var(--spacing-sm,.5rem)0;align-items:center;gap:var(--spacing-xs,.25rem);font-weight:600;display:flex}.notice-removals .notice-section-title{color:#b91c1c}.notice-changes .notice-section-title{color:#92400e}.notice-removals-list,.notice-changes-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.notice-item{align-items:baseline;gap:var(--spacing-sm,.5rem);padding:var(--spacing-sm,.5rem)var(--spacing-md,.75rem);border-radius:var(--radius-sm,6px);font-size:var(--font-size-sm,.875rem);line-height:1.45;transition:background .15s;display:flex}.notice-item-name{color:var(--text-primary,#1f2937);word-break:break-word;font-weight:500}.notice-item-detail{color:var(--text-secondary,#6b7280)}.notice-item-indicator{border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:6px}.notice-item--removal{background:#dc26260a;border-left:3px solid #dc2626}.notice-item--removal .notice-item-indicator{background:#dc2626}.notice-item--warning{background:#d977060d;border-left:3px solid #d97706}.notice-item--warning .notice-item-indicator{background:#d97706}.notice-item--info{background:#0891b20d;border-left:3px solid #0891b2}.notice-item--info .notice-item-indicator{background:#0891b2}.notice-badge{margin-left:var(--spacing-xs,.25rem);font-size:var(--font-size-xs,.75rem);color:#047857;white-space:nowrap;vertical-align:middle;background:#05966914;border:1px solid #05966933;border-radius:100px;align-items:center;gap:3px;padding:1px 6px;font-weight:500;display:inline-flex}.notice-badge i{font-size:.6rem}.notice-collapse-trigger{align-items:center;gap:var(--spacing-xs,.25rem);margin-top:var(--spacing-sm,.5rem);padding:var(--spacing-xs,.25rem)0;font-size:var(--font-size-xs,.75rem);color:var(--primary-color,#2563eb);cursor:pointer;background:0 0;border:none;font-weight:500;transition:color .15s;display:flex}.notice-collapse-trigger:hover{color:var(--primary-color-hover,#1d4ed8)}.notice-collapse-trigger i{font-size:.6rem;transition:transform .2s}.notice-collapse-trigger[aria-expanded=true] i{transform:rotate(180deg)}.notice-collapsible{display:none}.notice-collapsible.is-open{animation:.25s ease-out noticeExpand;display:block}@keyframes noticeExpand{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.notice-summary-count{font-size:var(--font-size-xs,.75rem);color:var(--text-tertiary,#9ca3af);padding:var(--spacing-xs,.25rem)var(--spacing-md,.75rem)}@media (max-width:768px){.cart-update-notice{border-radius:var(--radius-md,8px);margin-bottom:var(--spacing-md,.75rem)}.cart-update-notice .notice-header{padding:var(--spacing-sm,.5rem)var(--spacing-md,.75rem)}.notice-title{font-size:var(--font-size-xs,.75rem)}.notice-body{padding:var(--spacing-sm,.5rem)var(--spacing-md,.75rem)}.notice-item{padding:6px var(--spacing-sm,.5rem);font-size:var(--font-size-xs,.75rem)}.notice-badge{padding:0 4px;font-size:.65rem}}.prod-img-wrapper{line-height:0;display:inline-block;position:relative}.prod-img-zoom-icon{color:#fff;opacity:0;pointer-events:none;background:#0009;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;transition:opacity .2s;display:flex;position:absolute;bottom:6px;right:6px}@media (hover:hover){.prod-img-wrapper:hover .prod-img-zoom-icon{opacity:1}.prod-img-wrapper:hover .order-prod-img{opacity:.9}}.order-lightbox{z-index:99999;justify-content:center;align-items:center;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.order-lightbox.active{display:flex}.order-lightbox-backdrop{cursor:pointer;background:#000000eb;width:100%;height:100%;position:absolute;top:0;left:0}.order-lightbox-image{object-fit:contain;z-index:1;background:#fff;border-radius:8px;max-width:90%;max-height:90%;position:relative;box-shadow:0 10px 50px #00000080}.order-lightbox-close{color:#fff;cursor:pointer;z-index:2;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:28px;line-height:1;transition:background .2s,transform .2s;display:flex;position:absolute;top:20px;right:20px}@media (hover:hover){.order-lightbox-close:hover{background:#ffffff40}}