/* Optimal width for mobile carousel boxes */
@media (max-width: 768px) {
    /* Reset previous width calculations */
    .predplatne-boxes .predplatne-box {
        /* Calculate width: viewport - padding - visible part of next box */
        /* On 390px screen: 390 - 40 (padding) - 120 (next box visible) = 230px */
        flex: 0 0 calc(100vw - 140px) !important;
        width: calc(100vw - 140px) !important;
        min-width: 220px !important;
        max-width: 280px !important;
    }
    
    /* For preset buttons keep full width */
    .preset-buttons .preset-btn {
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: auto !important;
        max-width: none !important;
    }
    
    /* Ensure proper gap and padding */
    .predplatne-boxes {
        gap: 15px !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
        scroll-padding-left: 20px !important;
    }
    
    /* Remove left padding for druh-boxes on mobile */
    .predplatne-boxes.druh-boxes {
        padding-left: 0px !important;
        padding-right: 0px !important;
        padding: 0 !important;
    }
    
    /* More specific selector for druh-boxes */
    .predplatne-container .predplatne-boxes.druh-boxes,
    .checkout-main-content .predplatne-boxes.druh-boxes,
    .form-step .predplatne-boxes.druh-boxes,
    #step-1 .predplatne-boxes.druh-boxes,
    #step-2 .predplatne-boxes.druh-boxes,
    .druh-boxes.predplatne-boxes {
        padding-left: 0px !important;
        padding-right: 0px !important;
        padding: 0 !important;
    }
    
    /* Remove padding for all other box types */
    .predplatne-boxes.chut-boxes,
    .predplatne-boxes.jak-casto-boxes,
    .predplatne-boxes.balicky-boxes,
    .predplatne-boxes.doba-boxes {
        padding-left: 0px !important;
        padding-right: 0px !important;
        padding: 0 !important;
    }
    
    /* More specific selectors for all box types */
    .predplatne-container .predplatne-boxes.chut-boxes,
    .predplatne-container .predplatne-boxes.jak-casto-boxes,
    .predplatne-container .predplatne-boxes.balicky-boxes,
    .predplatne-container .predplatne-boxes.doba-boxes,
    .checkout-main-content .predplatne-boxes.chut-boxes,
    .checkout-main-content .predplatne-boxes.jak-casto-boxes,
    .checkout-main-content .predplatne-boxes.balicky-boxes,
    .checkout-main-content .predplatne-boxes.doba-boxes,
    .form-step .predplatne-boxes.chut-boxes,
    .form-step .predplatne-boxes.jak-casto-boxes,
    .form-step .predplatne-boxes.balicky-boxes,
    .form-step .predplatne-boxes.doba-boxes {
        padding-left: 0px !important;
        padding-right: 0px !important;
        padding: 0 !important;
    }
    
    /* Remove padding and margin for preset-buttons on mobile */
    .preset-buttons {
        padding-left: 0px !important;
        padding-right: 0px !important;
        padding: 0px !important;
        margin-bottom: 0px !important;
    }
    
    /* Move badges inside boxes on mobile */
    .predplatne-box .popular-badge {
        position: absolute !important;
        top: 10px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        z-index: 10 !important;
    }
    
    /* Specific for all box types */
    .druh-boxes .predplatne-box .popular-badge,
    .chut-boxes .predplatne-box .popular-badge,
    .jak-casto-boxes .predplatne-box .popular-badge,
    .balicky-boxes .predplatne-box .popular-badge,
    .doba-boxes .predplatne-box .popular-badge {
        top: 10px !important;
        transform: translateX(-50%) !important;
    }
    
    /* Reduce spacing between title and description on mobile */
    .predplatne-box .box-description {
        margin-top: 4px !important;
    }
    
    .predplatne-box .box-title {
        margin-bottom: 2px !important;
    }
    
    /* Full width price and button blocks on mobile */
    .price-button-container {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
    .predplatne-cena-blok {
        width: 100% !important;
        display: block !important;
        margin-bottom: 15px !important;
    }
    
    .step-buttons-inline {
        width: 100% !important;
        display: block !important;
        margin: 0 !important;
    }
    
    .step-buttons-inline .next-step-btn {
        width: 100% !important;
        display: block !important;
    }
    
    /* For smaller screens */
    @media (max-width: 360px) {
        .predplatne-boxes .predplatne-box {
            flex: 0 0 calc(100vw - 120px) !important;
            width: calc(100vw - 120px) !important;
            min-width: 200px !important;
            max-width: 240px !important;
        }
    }
    
    /* For very small screens */
    @media (max-width: 320px) {
        .predplatne-boxes .predplatne-box {
            flex: 0 0 calc(100vw - 100px) !important;
            width: calc(100vw - 100px) !important;
            min-width: 180px !important;
            max-width: 220px !important;
        }
    }
}