.sidecart{ position: fixed; inset: 0; z-index: 10000; display: block; visibility: hidden; pointer-events: none; }
.sidecart.open{ visibility: visible; pointer-events: auto; }
.sidecart.closing{ visibility: visible; pointer-events: none; }
.sidecart .overlay{ position: absolute; inset: 0; background: rgba(0,0,0,.5); opacity: 0; transition: opacity .25s ease; }
.sidecart.open .overlay{ opacity: 1; }
.sidecart .drawer{ position: absolute; top:0; right:0; width: 520px; max-width: 92%; height: 100%; background: #fff; display: grid; grid-template-rows: auto 1fr auto; box-shadow: -10px 0 30px rgba(0,0,0,.25); transform: translateX(100%); transition: transform .25s ease; }
.sidecart.open .drawer{ transform: translateX(0); }
.sidecart .header{ display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid #e5e7eb; }
.sidecart .title{ font-weight: 700; font-size: 16px; text-transform: uppercase; }
.sidecart .close{ background: transparent; border: 0; font-size: 24px; cursor: pointer; }
.sidecart .list{ overflow-y: auto; padding: 12px 16px; display: flex; flex-direction: column; gap: 20px; }
.sidecart .item{ display: grid; grid-template-columns: 64px 1fr auto; gap: 12px; align-items: center; }
.sidecart .item .thumb img{ width: 64px; height: 64px; object-fit: cover; display: block; border-radius: 4px; }
.sidecart .item .meta {
    display: flex;
    flex-direction: column;
    gap: 6px;
    justify-content: center;
    align-items:  flex-start;
}

.sidecart .item .meta .name-info{ display: flex; align-items: center; }
.sidecart .item .meta .name{ font-weight: 600; color: #0f172a; text-decoration: none; display: inline-block; margin-right: 8px; }
.sidecart .item .meta .badge{ font-weight: 700; width:100%; max-width: fit-content; text-align: center; display: inline-block; background: #000; color: #fff; font-size: 12px; padding: 2px 6px; border-radius: 999px; vertical-align: middle; }
.sidecart .item .actions{ display: flex; flex-direction: column; gap: 8px; align-items: flex-end; }
.sidecart .qty{ display: inline-flex; align-items: center; gap: 6px; }
.sidecart .qty button{ font-size: 14px; font-weight: 600; width: 24px; height: 24px; border: 1px solid #ebd2d2; background: unset; border-radius: 4px; cursor: pointer; color: #1f2937; }
.sidecart .qty input{ font-size: 12px; font-weight: 600; width: 28px; height: 24px; border: 1px solid #ebd2d2; border-radius: 6px; text-align: center; }
.sidecart .qty input[type=number]::-webkit-outer-spin-button,
.sidecart .qty input[type=number]::-webkit-inner-spin-button{ -webkit-appearance: none; margin: 0; }
.sidecart .qty input[type=number]{ -moz-appearance: textfield; appearance: textfield; }
.sidecart .remove{ background: transparent; border: 0; color: #ef4444; cursor: pointer; font-size: 12px;}
.sidecart .price-block{ text-align: right; }
.sidecart .price-block .old{ color: #9ca3af; text-decoration: line-through; font-size: 14px; }
.sidecart .price-block .new{ color: #16a34a; font-weight: 800; font-size: 18px; }
.sidecart .price-block .pix{ color: #16a34a; font-size: 14px; }
.sidecart .price-block .pix-icon{ color: #16a34a; }
.sidecart .footer{ border-top: 1px solid #e5e7eb; padding: 14px 16px; display: grid; gap: 10px; }
.sidecart .subtotal .value {font-size: 18px;}
.sidecart .subtotal{ display: flex; align-items: center; justify-content: space-between; }
.sidecart .checkout{ display: inline-block; text-align: center; padding: 12px; background: #e11d29; color: #fff; border-radius: 4px; text-decoration: none; font-weight: 700; }
.sidecart .checkout.disabled{ background:#9ca3af; color:#fff; cursor:not-allowed; opacity:.65; pointer-events:none; }
.sidecart .continue{ text-align: center; color: #0f172a; text-decoration: none; }
.sidecart .suggest{ padding: 12px 16px; }
.sidecart .suggest .title{ text-align:center; font-weight: 700; margin-bottom: 10px; }
.sidecart .suggest .links{ display: grid; gap: 4px; }
.sidecart .suggest .links a{ display: block; padding: 10px 12px; border: 1px solid #e5e7eb; border-radius: 4px; text-decoration: none; color: #0f172a; text-align: center; }
@media (max-width: 480px){ .sidecart .drawer{ width: 100%; max-width: 100%; } }
.sidecart .item .meta .name-info{ flex-direction: column-reverse; align-items: flex-start; }

body.sidecart-open{ overflow: hidden; }
.sidecart .item.loading, .sidecart .item.removing{ position: relative; opacity: .7; pointer-events: none; }
.sidecart .item .spinner{ display:none; position:absolute; right:8px; top:8px; width:18px; height:18px; border:2px solid #e5e7eb; border-top-color:#e11d29; border-radius:50%; animation: sidecartSpin .8s linear infinite; }
.sidecart .item.loading .spinner{ display:block; }
@keyframes sidecartSpin{ to{ transform: rotate(360deg); } }
.sidecart .item.skeleton{ display:grid; grid-template-columns:64px 1fr auto; gap:12px; align-items:center; }
.sidecart .item.skeleton .sk-thumb, .sidecart .item.skeleton .sk-line{ background: linear-gradient(90deg, #f3f4f6 0%, #e5e7eb 50%, #f3f4f6 100%); background-size: 200% 100%; animation: sidecartShimmer 1.2s ease-in-out infinite; border-radius: 6px; }
.sidecart .item.skeleton .sk-thumb{ width:64px; height:64px; }
.sidecart .item.skeleton .sk-lines{ display:flex; flex-direction:column; gap:8px; }
.sidecart .item.skeleton .sk-line{ height:12px; width:70%; }
.sidecart .item.skeleton .sk-line.w2{ width:50%; }
.sidecart .item.skeleton .sk-actions{ display:flex; flex-direction:column; align-items:flex-end; gap:10px; }
.sidecart .item.skeleton .sk-line.w3{ width:80px; height:16px; }
.sidecart .item.skeleton .sk-line.w4{ width:120px; height:20px; }
@keyframes sidecartShimmer{ 0%{ background-position: 0% 0%; } 100%{ background-position: 200% 0%; } }