/* Mini carro — orycco.com */
.cart-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    border: 1px solid var(--border, rgba(255,255,255,.12));
    color: var(--text, #f1f5f9);
    background: transparent;
}
.cart-btn .cart-count {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 18px;
    height: 18px;
    border-radius: 999px;
    background: #8b5cf6;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
}
.cart-btn .cart-count.is-on { display: inline-flex; }
.cart-drawer {
    position: fixed;
    z-index: 80;
    inset: 0;
    pointer-events: none;
}
.cart-drawer.is-open { pointer-events: auto; }
.cart-drawer-bg {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.55);
    opacity: 0;
    transition: opacity .2s;
}
.cart-drawer.is-open .cart-drawer-bg { opacity: 1; }
.cart-panel {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: min(420px, 100%);
    background: #121224;
    border-left: 1px solid rgba(255,255,255,.08);
    transform: translateX(100%);
    transition: transform .25s ease;
    display: flex;
    flex-direction: column;
    padding: 1.25rem;
    color: #f1f5f9;
    font-family: Inter, system-ui, sans-serif;
}
.cart-drawer.is-open .cart-panel { transform: none; }
.cart-panel h2 { font-family: Rajdhani, sans-serif; margin: 0 0 1rem; }
.cart-lines { flex: 1; overflow: auto; }
.cart-line {
    display: grid;
    grid-template-columns: 64px 1fr auto;
    gap: .75rem;
    padding: .75rem 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
    align-items: center;
}
.cart-line img { width: 64px; height: 64px; object-fit: contain; }
.cart-line button { background: none; border: 0; color: #8892a4; cursor: pointer; }
.cart-foot { padding-top: 1rem; }
.cart-foot .btn { width: 100%; justify-content: center; }
.cart-empty { color: #8892a4; }
.btn-add-cart { margin-top: .35rem; }
