/* ========================================
   RESPONSIVE STYLES FOR MUZEUM ESHOP
   Bootstrap 5 + Custom Responsive Styles
   ======================================== */

/* ========================================
   1. MAIN CONTAINER
   ======================================== */

#main {
    width: 100% !important;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 15px;
    display: block;
    clear: both;
}

/* ========================================
   2. LOGIN FORM SECTION
   ======================================== */

#login-section {
    display: block;
    width: 100%;
    margin-bottom: 20px;
    clear: both;
    position: relative;
    float: none;
}

#login {
    display: block;
    /*width: 100%;*/
    float: inline-end;
    position: relative;
    clear: both;
}

/* ========================================
   3. MENU SECTION
   ======================================== */

#menu-section {
    display: block;
    width: 100%;
    margin-bottom: 20px;
    clear: both;
    position: relative;
    float: none;
}

/* Navbar responsive behavior */
.navbar {
    width: 100%;
    display: block;
}

/* Desktop - menu always visible */
@media (min-width: 992px) {
    .navbar-collapse {
        display: flex !important;
        flex-basis: auto;
    }

    .navbar-toggler {
        display: none;
    }
}

/* Mobile - collapsible menu */
@media (max-width: 991px) {
    .navbar-collapse {
        display: none;
    }

    .navbar-collapse.show {
        display: block;
    }
}

/* ========================================
   4. CONTENT SECTION
   ======================================== */

#content-wrapper {
    display: block;
    width: 100%;
    clear: both;
    position: relative;
    margin-top: 20px;
}

.content-full {
    width: 100%;
    padding: 0;
}

.content-default {
    width: 100%;
    float: none;
    padding: 15px 0;
}

.content-left {
    width: 100%;
    float: none;
    margin-bottom: 20px;
}

/* ========================================
   5. RESPONSIVE BREAKPOINTS
   ======================================== */

/* Tablets (768px+) */
@media (min-width: 768px) {
    #main {
        padding: 30px;
    }
}

/* Desktop (992px+) */
@media (min-width: 992px) {
    #main {
        max-width: 1200px;
        padding: 35px;
    }

    .content-left {
        width: 150px;
        float: left;
    }

    .content-default {
        width: calc(100% - 180px);
        float: right;
    }
}

/* Large desktop (1200px+) */
@media (min-width: 1200px) {
    #main {
        max-width: 1200px;
    }
}

/* ========================================
   6. PRODUCT GRID RESPONSIVE
   ======================================== */

.product-booth,
.product-mid {
    width: 100%;
    max-width: 350px;
    margin: 15px auto;
    float: none;
    height: auto;
}

@media (min-width: 768px) {
    .product-booth,
    .product-mid {
        width: calc(50% - 15px);
        float: left;
        margin: 0 15px 15px 0;
    }
}

@media (min-width: 992px) {
    .product-booth,
    .product-mid {
        width: 228px;
        float: left;
        margin: 0 15px 15px 0;
    }
}

/* ========================================
   7. HEADER & BASKET
   ======================================== */

#head {
    width: 100%;
    max-width: 1200px;
    height: auto;
    padding: 15px;
    position: relative;
    margin: 0 auto;
}

#head img.logo {
    max-width: 200px;
    height: auto;
    display: block;
    margin: 0 auto 15px;
}

#head-basket {
    text-align: center;
    margin: 15px 0;
}

@media (min-width: 768px) {
    #head img.logo {
        float: left;
        margin: 0;
    }

    #head-basket {
        position: absolute;
        bottom: 5px;
        left: 10px;
        text-align: left;
    }
}

/* ========================================
   8. FORMS & INPUTS
   ======================================== */

input.txt-long,
input.txt-small,
input.txt-small-2,
textarea {
    width: 100%;
    max-width: 100%;
}

/* ========================================
   9. TABLES
   ======================================== */

.shopping-cart,
.step2-table,
table {
    width: 100%;
    overflow-x: auto;
    display: block;
}

@media (min-width: 768px) {
    .shopping-cart,
    .step2-table,
    table {
        display: table;
    }
}

/* ========================================
   10. FOOTER
   ======================================== */

#footer {
    width: 100%;
    padding: 20px 15px;
    text-align: center;
}

.icon-box ul {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.icon-box ul li {
    width: 100%;
    padding: 10px;
    text-align: center;
}

@media (min-width: 768px) {
    .icon-box ul {
        flex-direction: row;
        justify-content: space-around;
    }

    .icon-box ul li {
        width: 175px;
    }
}

/* ========================================
   11. PAGINATION STYLING
   ======================================== */

/* Pagination links */
.pagination .page-link {
    color: #ED1A24;
    border-color: #dee2e6;
}

.pagination .page-link:hover {
    color: #ffffff;
    background-color: #ED1A24;
    border-color: #ED1A24;
}

.pagination .page-link:active {
    color: #ffffff;
    background-color: #ED1A24;
    border-color: #ED1A24;
}

.pagination .page-link:focus {
    color: #ED1A24;
    background-color: #f8f9fa;
    box-shadow: 0 0 0 0.25rem rgba(237, 26, 36, 0.25);
}

/* Active/Selected page */
.pagination .page-item.active .page-link {
    background-color: #ED1A24;
    border-color: #ED1A24;
    color: #ffffff;
}

/* Disabled state */
.pagination .page-item.disabled .page-link {
    color: #6c757d;
    background-color: #ffffff;
    border-color: #dee2e6;
}

/* ========================================
   12. UTILITY CLASSES
   ======================================== */

.mobile-only {
    display: block;
}

.desktop-only {
    display: none;
}

@media (min-width: 768px) {
    .mobile-only {
        display: none;
    }

    .desktop-only {
        display: block;
    }
}

/* Clear floats */
.cleaner {
    clear: both;
    line-height: 0;
    height: 0;
}

/* Ensure no floats interfere with sections */
#login-section::after,
#menu-section::after,
#content-wrapper::after {
    content: "";
    display: table;
    clear: both;
}
