.cart{

    position:fixed;

    top:0;

    right:-420px;

    width:400px;

    max-width:100%;

    height:100vh;
    height:100dvh; /* 🔧 CORREÇÃO: Evita que o rodapé suma atrás da barra do Safari/Chrome no celular */

    background:var(--surface);

    box-shadow:var(--shadow-lg);

    display:flex;

    flex-direction:column;

    transition:.35s ease;

    z-index:5000;

}

.cart.open{

    right:0;

}

.cart-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:24px;

    border-bottom:1px solid var(--border);

}

.cart-items{

    flex:1;

    overflow:auto;

    padding:20px;

    -webkit-overflow-scrolling:touch; /* 🔧 CORREÇÃO: Garante rolagem suave em iPhones/iOS */

}

.cart-item{

    display:flex;

    gap:14px;

    margin-bottom:20px;

    align-items:center; /* 🔧 CORREÇÃO: Alinha os itens verticalmente ao centro */

}

.cart-item img{

    width:72px;

    height:72px;

    border-radius:12px;

    object-fit:cover;

    flex-shrink:0; /* 🔧 CORREÇÃO CRUCIAL: Impede que a imagem fique achatada/espremida no mobile */

}

.cart-info{

    flex:1;

    min-width:0; /* 🔧 CORREÇÃO CRUCIAL: Permite que textos longos quebrem linha sem deformar o flexbox */

}

.cart-info strong{

    display:block;

    margin-bottom:8px;

    word-break:break-word; /* 🔧 CORREÇÃO: Impede palavras muito longas de quebrarem o layout */

}

.cart-quantity{

    display:flex;

    align-items:center;

    gap:10px;

    margin-top:10px;

}

.cart-quantity button{

    width:44px;

    height:44px;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

    display:flex; /* 🔧 CORREÇÃO: Alinha o "+" e "-" perfeitamente ao centro */

    align-items:center;

    justify-content:center;

    flex-shrink:0;

    cursor:pointer;

}

.cart-footer{

    padding:24px;

    border-top:1px solid var(--border);

    background:var(--surface); /* Garante fundo sólido */

}

.cart-total{

    display:flex;

    justify-content:space-between;

    margin-bottom:20px;

}

/* ==========================================
   BARRA FIXA "FINALIZAR PEDIDO"
   Fica sempre visível no rodapé da tela
   quando há item no carrinho — igual ao
   padrão de apps de delivery.
========================================== */

.sticky-checkout{

    position:fixed;

    left:0;

    right:0;

    bottom:0;

    padding:12px 16px calc(12px + env(safe-area-inset-bottom));

    z-index:4000;

    display:none;

}

.sticky-checkout.show{

    display:flex;

    justify-content:center;

}

.sticky-checkout-button{

    width:100%;

    max-width:700px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:12px;

    background:var(--primary);

    color:white;

    border:none;

    border-radius:var(--radius-pill);

    padding:16px 24px;

    font-weight:700;

    font-size:1rem;

    box-shadow:var(--shadow-lg);

    cursor:pointer;

    transition:var(--transition);

}

.sticky-checkout-button:hover{

    background:var(--primary-hover);

}

.sticky-checkout-label{

    display:flex;

    align-items:center;

    gap:10px;

}

/* ==========================================================================
   🔧 ADICIONADO: AJUSTES FINOS EXCLUSIVOS PARA CELULARES
   ========================================================================== */
@media (max-width: 480px) {

    .cart-header {
        padding: 16px; /* Reduz margens do cabeçalho */
    }

    .cart-items {
        padding: 16px; /* Reduz margens da lista de itens */
    }

    .cart-item {
        gap: 10px; /* Diminui o espaçamento para caber melhor na tela */
    }

    .cart-item img {
        width: 60px; /* Reduz ligeiramente o tamanho da imagem em telas muito pequenas */
        height: 60px;
    }

    .cart-footer {
        padding: 16px; /* Reduz margem do rodapé interno */
    }

}

.cart-empty{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:24px 0}
.cart:has(.cart-empty) .cart-footer{display:none}
.cart-items:has(.cart-empty){display:flex;align-items:center;justify-content:center}
.cart-empty{width:100%;max-width:320px;margin:auto;padding:32px 8px 48px;gap:16px}
.cart-empty-art{display:grid;place-items:center;width:136px;height:136px;margin-bottom:8px;color:var(--primary)}
.cart-empty-art svg{display:block;max-width:100%}
.cart-empty #cartExplore{min-height:48px;padding:12px 24px;margin-top:8px;border-radius:14px;font-weight:700}
.cart-header,.cart-footer{flex-shrink:0}
.cart-items{min-height:0}
.cart-header h2{font-size:1.35rem;letter-spacing:-.4px}
@media(max-width:480px){.cart-empty{padding:24px 8px;gap:14px}.cart-empty-art{width:112px;height:112px}}
.cart-empty strong{font-size:19px}
.cart-empty p{font-size:15px;line-height:1.5;color:var(--text-light);max-width:250px}
.cart-line-total{display:inline-flex;align-items:center;margin:8px 0;padding:5px 9px;border-radius:8px;background:#eaf8f2;color:#087a59;font-size:16px;font-weight:700}
.cart-additionals,.cart-observation{font-size:13px;line-height:1.5;color:var(--text-light);overflow-wrap:anywhere;margin-top:6px}
.cart-info small{font-size:13px;color:var(--text-light)}
.cart-quantity{gap:12px}
.cart-quantity button{border:1px solid var(--border);font-size:21px}
.cart-quantity-label{min-width:0!important;color:var(--text-light);font-size:13px;font-weight:650}
.cart-quantity-value{min-width:20px;text-align:center;font-weight:800}
.cart-quantity button:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
.cart-item{padding-bottom:18px;border-bottom:1px solid var(--border);align-items:flex-start}
.cart-total{gap:12px;margin-bottom:8px}
.cart-total{align-items:center;padding:12px 14px;border:1px solid #b9e5d3;border-radius:12px;background:#f0faf6}
.cart-total span{color:#365164;font-size:14px;font-weight:650}
.cart-total strong{white-space:nowrap;color:#087a59;font-size:20px;font-weight:700;line-height:1.3}
.cart-delivery-note{font-size:13px;line-height:1.45;color:var(--text-light);margin:0 0 12px}
.cart-footer{padding-bottom:calc(20px + env(safe-area-inset-bottom))}
#checkoutButton{width:100%;min-height:52px;font-size:16px;margin-top:12px;box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 28%,transparent)}
#checkoutButton:not(:disabled):hover{transform:translateY(-1px);filter:saturate(1.08)}
#checkoutButton:disabled{opacity:.5;cursor:not-allowed}
body:has(.sticky-checkout.show){padding-bottom:calc(88px + env(safe-area-inset-bottom))}
