/**
*   RESPONSIVE.CSS
*   All styles related to make the site responsive are located here
**/

/* X-Large devices (large desktops, less than 1400px) */
@media (max-width: 1399.98px) {  }

/* Large devices (desktops, less than 1200px) */
@media (max-width: 1199.98px) { 
    html {
        overflow-x: hidden;
    }

    .sort-filter-container {
        flex-wrap: wrap;
        width: auto;
    }

    .filter-date {
        flex-grow: 1;
    }

    .filter-date .select2-container, .filter-date .selection, .filter-date .select2-selection {
        display: block;
        width: 100% !important;
    }

    .search, .sort-by {
        flex-basis: 100%;
    }

    .sort-by .woocommerce-ordering {
        width: 100%;
    }
    
    body:not([class*="elementor-page-"]) .site-main {
        margin-left: 35px;
        margin-right: 35px;
        max-width: calc(100vw - 70px);
    }

    .elementor-495 .elementor-heading-title {
        margin-left: 35px;
        margin-right: 35px;
    }
}



@media (max-width: 1024px) {
    .page-header .entry-title, .site-footer .footer-inner, .site-footer:not(.dynamic-footer), .site-header .header-inner, .site-header:not(.dynamic-header), body:not([class*="elementor-page-"]) .site-main {
        max-width: 100%;
        padding-left: 15px;
        padding-right: 15px;
    }

    .woocommerce div.product .woocommerce-tabs {
        overflow: hidden;
    }

    .orchestra-member-list .orchestra-instrument img {
        position: relative;
        left: 50%;
        transform: translateX(-50%);
        margin-bottom: 16px;
    }

    .orchestra-member-list .orchestra-instrument h3 {
        display: block;
        text-align: center;
        margin: 0;
    }

    .orchestra-member-list .orchestra-members > span {
        flex-basis: 45%;
    }

    .related.products .products .product {
        flex-basis: 31%;
    }


    body:not([class*="elementor-page-"]) .site-main, .elementor-495 .elementor-heading-title {
        margin-left: 0;
        margin-right: 0;
        max-width: initial;
    }

    .elementor-1757 .e-con.e-flex > .e-con-inner {
        flex-wrap: wrap;
    }

    .elementor-1757 .elementor-element.elementor-element-667fa072 {
        --width: 100% !important;
    }

    .elementor-1757 .elementor-element.elementor-element-7de1d22b.e-con {
        --width: 50%;
    }

    .elementor-1757 .eael-countdown-days {
        margin-left: 0 !important;
    }
}

/* Medium devices (tablets, less than 992px) */
@media (max-width: 991.98px) {
    .woocommerce div.product div.images .wp-post-image {
        background: transparent;
        object-fit: contain;
        object-position: top;
        min-height: auto;
    }

    .fooevents_seating_chart_view_row {
        display: flex;
        width: fit-content;
    }
    
    .woocommerce #content div.product div.images, .woocommerce div.product div.images, .woocommerce-page #content div.product div.images, .woocommerce-page div.product div.images {
        float: none;
        width: 100%;
    }

    .woocommerce #content div.product div.summary, .woocommerce div.product div.summary, .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {
        float: none;
        width: 100%;
        margin-top: 32px;
    }

    .fooevents_seating_chart, .woocommerce .cart .button, .woocommerce div.product form.cart .button, .woocommerce .cart input.button, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button, .fooevents_seating_select_seats, .woocommerce-page table.cart td.actions .coupon .button, .woocommerce table.shop_table #coupon_code {
        width: 100%;
        text-align: center;
    }

    .woocommerce #content table.cart td.actions .button, .woocommerce table.cart td.actions .button, .woocommerce-page #content table.cart td.actions .button, .woocommerce-page table.cart td.actions .button, .woocommerce table.shop_table #coupon_code {
        margin-bottom: 16px;
    }

    .coupon {
        width: 100%;
    }

    .woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals {
        float: none;
        width: 100%;
    } 

    .woocommerce .woocommerce-ordering, .woocommerce-page .woocommerce-ordering {
        float: none;
    }

    .orchestra-member-list .orchestra-instrument, .orchestra-member-list .orchestra-members {
        width: 100%;
    }

    .concert-location-tab-info {
        flex-wrap: wrap;
    }

    .concert-location-tab-info .concert-location, .concert-location-tab-info .maps {
        flex-basis: 100%;
    }
    
}

/* Small devices (landscape phones, less than 768px) */
@media (max-width: 767.98px) {

    #fooevents_seating_dialog .fooevents_seating_chart_view_row_name, #fooevents_seating_dialog .fooevents_seating_chart_view_row {
        text-align: left;
    }
    #form-field-email {
        border-right-width: 1px;
    }
    
    .header-product-page .inner {
        height: 250px;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs {
        white-space: nowrap;
        overflow-x: scroll;
    }
    .woocommerce div.product .woocommerce-tabs ul.tabs::before {
        width: 100%;
        left: 0;
        position: sticky;
    }

    .woocommerce .cart .button, .woocommerce div.product form.cart .button, .woocommerce .cart input.button, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button {
        float: none;
        width: 100%;
    }

    .woocommerce-message {
        flex-direction: column;
        gap: 16px;
    }

    .woocommerce-info {
        text-align: center;
    }

    .woocommerce-info a {
        display: block;
    }

    .woocommerce-form-coupon-toggle .woocommerce-info::before {
        top: 50%;
        transform: translateY(-50%);
    }

    .woocommerce form.checkout_coupon .form-row {
        width: 100%;
    }

    .woocommerce #content div.product div.summary, .woocommerce div.product div.summary, .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {
        margin-bottom: 64px;
    }

    .woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th {
        display: block;
    }

    .woocommerce div.product form.cart .variations th {
        padding-bottom: 0;
    }

    .woocommerce table.shop_table_responsive tr td::before, .woocommerce-page table.shop_table_responsive tr td::before {
        font-size: 24px;
        color: var( --e-global-color-text );
    }

    .woocommerce-cart table.cart td.product-name:before, .woocommerce-checkout table.cart td.product-name:before {
        color: #FFF;
    }

    .woocommerce-cart table.cart td.product-name a, .woocommerce-checkout table.cart td.product-name a {
        color: #FFF;
        font-size: 24px;
    }

    .woocommerce table.shop_table .product-name dl.variation {
        margin-left: 0;
        margin-top: 16px;
        font-size: 16px;
    }

    .cart-concert-detail {
        display: none !important;
    }

    .woocommerce-page table.cart td.actions .coupon {
        padding-bottom: 0px;
        padding-top: 16px;
    }

    .cart_item {
        padding-bottom: 32px;
    }

    #order_review_heading {
        margin-top: 32px;
    }

    #billing_first_name_field, #billing_last_name_field {
        float: none;
        width: 100%;
    }

    .side-cart-container {
        width: 100%;
    }

    .side-cart-container ul li {
        margin: 64px 0;
    }


    .filter_by_orchestre {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        flex-basis: 100%;
        gap: 24px;
    }

    .filter_by_orchestre p {
        margin: 0;
    }
    
    .filter_by_orchestre label {
        flex: 1;
        text-align: center;
        margin-right: 0;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .filter_by_orchestre p {
        flex-basis: 100%;
    }

    .ovmf-product-grid-outer {
        margin-bottom: 96px;
    }

    .page-header .entry-title, .site-footer .footer-inner, .site-footer:not(.dynamic-footer), .site-header .header-inner, .site-header:not(.dynamic-header), body:not([class*="elementor-page-"]) .site-main {
        padding-left: 24px;
        padding-right: 24px;
    }

    .woocommerce-thankyou-order-details {
        flex-direction: column;
        gap: 16px;
    }

    .shop_table_responsive tr {
        border-top: 1px solid hsla(0,0%,50.2%,.5019607843);
    }

    .woocommerce-MyAccount-downloads-file {
        display: inline !important;
    }

    .related.products .products {
        gap: 64px;
    }

    .related.products .products .product {
        flex-basis: 100%;
    }

    .concert-meta span, .concert-meta div {
        width: 100%;
        margin-top: 16px
    }

    .woocommerce:not(body) {
        padding-left: 24px;
        padding-right: 24px;
    }
    .woocommerce table.shop_table td {
        padding-left: 0;
        padding-right: 0;
    }

    .elementor-1757 .e-con.e-flex > .e-con-inner {
        gap: 0;
    }
    
    .elementor-1757 .elementor-element.elementor-element-1528b59.e-con, .elementor-1757 .elementor-element.elementor-element-7de1d22b.e-con {
        --width: 100% !important;
    }

}
/* X-Small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
    .orchestra-member-list .orchestra-members {
        align-self: center;
    }
    .orchestra-member-list .orchestra-members > span {
        flex-basis: 100%;
        text-align: center;
    }

    .orchestra-member-list {
        flex-direction: column;
        margin-left: 0;
        gap: 32px;
    }
} 