:root{--cart-primary:#006ab0;--cart-primary-hover:#006ab0;--cart-text-dark:#111827;--cart-text-medium:#4b5563;--cart-text-light:#9ca3af;--cart-border:#f3f4f6;--cart-bg:#f9fafb;--cart-bg-card:#fff;--cart-danger:#ef4444;--cart-success:#10b981}.cart-page-wrapper{background-color:var(--cart-bg);min-height:100vh;padding-bottom:4rem}.cart-container{max-width:80rem;margin:87px auto 32px;padding:2rem 1rem;animation:.4s ease-out forwards fadeIn}@media (min-width:640px){.cart-container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:1024px){.cart-container{padding-left:2rem;padding-right:2rem}}.cart-header h1{color:var(--cart-text-dark);font-size:1.5rem;font-weight:700}@media (min-width:768px){.cart-header h1{font-size:1.875rem}}.cart-header p{color:var(--cart-text-medium);margin-top:.5rem}.cart-layout{flex-direction:column;gap:2rem;margin-top:2rem;display:flex}@media (min-width:1024px){.cart-layout{flex-direction:row}}.cart-items-list{flex-direction:column;flex:1;gap:1rem;display:flex}.cart-sidebar{width:100%}@media (min-width:1024px){.cart-sidebar{flex-shrink:0;width:400px}}.cart-item-card{background-color:var(--cart-bg-card);border:1px solid var(--cart-border);border-radius:.75rem;flex-direction:column;gap:1rem;padding:1rem;transition:box-shadow .2s;display:flex;box-shadow:0 1px 2px #0000000d}.cart-item-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}@media (min-width:640px){.cart-item-card{flex-direction:row;align-items:center;padding:1.25rem}}.cart-item-image-wrapper{background-color:var(--cart-bg);border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:6rem;height:6rem;display:flex;position:relative;overflow:hidden}@media (min-width:640px){.cart-item-image-wrapper{width:7rem;height:7rem}}.cart-item-image{object-fit:cover;height:6rem}.cart-item-no-image{color:var(--cart-text-light);font-size:.75rem}.cart-item-content{flex-direction:column;flex:1;gap:.5rem;width:100%;display:flex}.cart-item-header{flex-direction:column;display:flex}.cart-item-title{color:var(--cart-text-dark);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1rem;font-weight:600;display:-webkit-box;overflow:hidden}@media (min-width:640px){.cart-item-title{font-size:1.125rem}}.cart-item-variant{color:var(--cart-text-medium);margin-top:.125rem;font-size:.875rem}.cart-item-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:.5rem;display:flex}.cart-item-controls{align-items:center;gap:1rem;display:flex}.cart-item-remove{color:var(--cart-text-light);cursor:pointer;background:0 0;border:none;align-items:center;gap:.375rem;font-size:.875rem;font-weight:500;transition:color .2s;display:flex}.cart-item-remove:hover{color:var(--cart-danger)}.cart-item-remove span{display:none}@media (min-width:640px){.cart-item-remove span{display:inline}}.cart-item-pricing{text-align:right}.cart-item-total{color:var(--cart-text-dark);font-size:1.125rem;font-weight:700}.cart-item-unit-price{color:var(--cart-text-light);margin-top:.125rem;font-size:.75rem}.qty-control{background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;align-items:center;width:max-content;display:flex}.qty-btn{width:2rem;height:2rem;color:var(--cart-text-medium);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:all .2s;display:flex}.qty-btn:not(:disabled):hover{color:var(--cart-text-dark);background-color:#f3f4f6}.qty-btn:disabled{opacity:.5;cursor:not-allowed}.qty-value{text-align:center;color:#1f2937;width:2.5rem;font-size:.875rem;font-weight:500}.cart-summary{background-color:var(--cart-bg-card);border:1px solid var(--cart-border);border-radius:.75rem;position:sticky;top:6rem;overflow:hidden;box-shadow:0 1px 2px #0000000d}.cart-summary-header{border-bottom:1px solid var(--cart-border);background-color:#f9fafb80;padding:1.5rem}.cart-summary-header h2{color:var(--cart-text-dark);font-size:1.125rem;font-weight:600}.cart-summary-header p{color:var(--cart-text-medium);margin-top:.25rem;font-size:.875rem}.cart-summary-body{flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.cart-summary-breakdown{border-bottom:1px solid var(--cart-border);flex-direction:column;gap:.75rem;padding-bottom:1.5rem;font-size:.875rem;display:flex}.summary-row{color:var(--cart-text-medium);justify-content:space-between;display:flex}.summary-val{color:var(--cart-text-dark);font-weight:500}.text-success,.summary-row.text-success span{color:var(--cart-success)}.cart-summary-total{border-bottom:1px solid var(--cart-border);justify-content:space-between;align-items:flex-end;padding-bottom:1.5rem;display:flex}.cart-summary-total span:first-child{color:var(--cart-text-dark);font-size:1rem;font-weight:600}.total-val{color:var(--cart-text-dark);font-size:1.5rem;font-weight:700}.promo-form{flex-direction:column;gap:.75rem;display:flex}.promo-form label{color:#374151;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:flex}.promo-form label svg{color:var(--cart-text-light)}.promo-input-group{gap:.5rem;display:flex}.promo-input-group input{border:1px solid #d1d5db;border-radius:.5rem;outline:none;width:100%;padding:.625rem .75rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.promo-input-group input:focus{border-color:var(--cart-primary);box-shadow:0 0 0 1px var(--cart-primary)}.promo-input-group button{background-color:var(--cart-text-dark);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .2s}.promo-input-group button:hover:not(:disabled){background-color:#1f2937}.promo-input-group button:disabled{opacity:.5;cursor:not-allowed}.promo-success{color:var(--cart-success);font-size:.75rem;font-weight:500}.cart-summary-actions{flex-direction:column;gap:.75rem;padding-top:1rem;display:flex}.btn-checkout{background-color:var(--cart-primary);color:#fff;cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:500;transition:background-color .2s;display:flex;box-shadow:0 1px 2px #0000000d}.btn-checkout:hover:not(:disabled){background-color:var(--cart-primary-hover)}.btn-checkout:disabled{cursor:not-allowed;background-color:#d1d5db}.btn-back{text-align:center;width:100%;color:var(--cart-text-medium);cursor:pointer;background:0 0;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;transition:color .2s,background-color .2s}.btn-back:hover{color:var(--cart-text-dark);background-color:#f9fafb}.trust-badge{color:var(--cart-text-light);justify-content:center;align-items:center;gap:.5rem;padding-top:.5rem;font-size:.75rem;display:flex}.cart-empty-state{flex-direction:column;justify-content:center;align-items:center;max-width:80rem;min-height:50vh;margin:176px auto 32px;padding:5rem 1rem;display:flex}.cart-empty-icon{width:6rem;height:6rem;color:var(--cart-primary);background-color:#eef2ff;border-radius:50%;justify-content:center;align-items:center;margin-bottom:1.5rem;display:flex}.cart-empty-state h2{color:var(--cart-text-dark);margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.cart-empty-state p{color:var(--cart-text-medium);text-align:center;max-width:28rem;margin-bottom:2rem}.btn-start-shopping{background-color:var(--cart-primary);color:#fff;border-radius:.5rem;padding:.75rem 2rem;font-weight:500;text-decoration:none;transition:background-color .2s}.btn-start-shopping:hover{background-color:var(--cart-primary-hover)}.cart-loading .skeleton-title{background-color:#e5e7eb;border-radius:.25rem;width:12rem;height:2rem;margin-bottom:2rem;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.skeleton-card{background-color:#e5e7eb;border-radius:.75rem;width:100%;height:8rem;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.skeleton-summary{background-color:#e5e7eb;border-radius:.75rem;width:100%;height:24rem;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}input[type=number].no-spinners::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number].no-spinners::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number].no-spinners{appearance:textfield}@media (max-width:990px){.cart-container{margin:149px auto 32px}}
