/* ============================================
   FIX: Sistema para garantir que o botão 
   não seja cortado no carrinho
   ============================================ */

/* Garantir que o carrinho use viewport dinâmico */
.cart-sidebar {
    /* Usar viewport dinâmico para mobile */
    height: 100dvh !important;
    max-height: 100dvh !important;
    /* Fallback para navegadores antigos */
    height: 100vh;
    max-height: 100vh;
    /* Garantir que o flexbox funcione */
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

/* Garantir que o conteúdo seja scrollável com espaço suficiente */
.cart-items {
    /* Espaço extra para garantir que todo conteúdo seja visível */
    padding-bottom: 180px !important;
    /* Garantir scroll suave */
    scroll-padding-bottom: 30px;
    /* Garantir que o scroll funcione */
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

/* Footer sempre visível e não cortado */
.cart-footer {
    /* Usar position relative para garantir que não seja cortado */
    position: relative !important;
    /* Garantir que o footer não seja cortado */
    margin-top: auto !important;
    flex-shrink: 0 !important;
    /* Padding extra para safe area e garantir visibilidade */
    padding-bottom: calc(1.25rem + env(safe-area-inset-bottom, 120px)) !important;
    /* Garantir que o footer tenha largura total */
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Botão sempre visível e não cortado */
.checkout-continue-btn {
    /* Garantir que o botão não seja cortado */
    margin-bottom: 0 !important;
    /* Área de toque adequada */
    min-height: 52px !important;
    /* Garantir que o botão seja visível */
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Mobile pequeno - ajustes específicos */
@media (max-width: 360px) {
    .cart-items {
        padding-bottom: 200px !important;
    }
    
    .cart-footer {
        padding-bottom: calc(1rem + env(safe-area-inset-bottom, 130px)) !important;
    }
    
    .checkout-continue-btn {
        min-height: 50px !important;
        padding: 0.875rem !important;
    }
}

/* Mobile médio */
@media (min-width: 361px) and (max-width: 480px) {
    .cart-items {
        padding-bottom: 180px !important;
    }
    
    .cart-footer {
        padding-bottom: calc(1.125rem + env(safe-area-inset-bottom, 120px)) !important;
    }
}

/* Mobile grande */
@media (min-width: 481px) {
    .cart-items {
        padding-bottom: 160px !important;
    }
    
    .cart-footer {
        padding-bottom: calc(1rem + env(safe-area-inset-bottom, 100px)) !important;
    }
}

/* Tablet */
@media (min-width: 769px) {
    .cart-items {
        padding-bottom: 120px !important;
    }
    
    .cart-footer {
        padding-bottom: calc(1.5rem + env(safe-area-inset-bottom, 80px)) !important;
    }
}

