/* ========== travel-cards-bundle.css ==========
   Auto-generated bundle. Do NOT edit directly.
   Source files (in load order):
     1. variables.css
     2. layout.css
     3. card-base.css
     4. style.css
     5. card-responsive.css
     6. filter-sidebar.css
     7. filter-mobile.css
     8. homepage.css
     9. utilities.css
    10. filter-style.css
   ========================================== */

/* ===== BEGIN: variables.css ===== */
/* =====================================================
   CSS VARIABLES
   Centralized color and design tokens
   ===================================================== */

:root {
    /* Primary Colors */
    --primary-orange: #e18b2a;
    --primary-light: #ffffff;
    --primary-dark: #4b241b;

    /* Text Colors */
    --text-white: #ffffff;
    --text-dark: #333333;

    /* Accent Colors */
    --sale-red: #e74c3c;

    /* Filter & Form Colors */
    --filter-bg: #fff;
    --border-color: #ccc;

    /* Travel card image gap ("white border") */
    --mtc-card-image-gap: 6px;
    /* Should match site background so the gap blends in */
    --mtc-card-image-gap-color: #fff5ed;
    /* Card image radii (card is 332.5px square => 166.25px circle radius) */
    --mtc-card-image-radius: 166.25px;
    --mtc-card-image-br-radius: 47px;
}

/* ===== END: variables.css ===== */

/* ===== BEGIN: layout.css ===== */
/* =====================================================
   LAYOUT STYLES
   Main wrapper, content area, and card grid
   ===================================================== */

/* === WRAPPER === */
.mtc-travel-wrapper {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    font-family: 'Quicksand', sans-serif;
    box-sizing: border-box;
}

.mtc-travel-wrapper *,
.mtc-travel-wrapper *::before,
.mtc-travel-wrapper *::after {
    box-sizing: border-box;
}

/* === MAIN CONTENT AREA === */
#mtc-content-area {
    flex-grow: 1;
    padding: 20px;
    min-width: 0;
}

/* === CARD LISTING GRID === */

/* Desktop: Multi-column grid */
@media (min-width: 764px) {
    .mtc-card-listing {
        place-items: center;
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
        gap: 25px;
    }
}

/* Tablet/Mobile: Single column centered */
@media (max-width: 763px) {
    .mtc-card-listing {
        place-items: center;
        display: grid;
        gap: 25px;
    }
}

/* ===== END: layout.css ===== */

/* ===== BEGIN: card-base.css ===== */
/* =====================================================
   CARD BASE STYLES
   Core card structure, images, content, typography
   NO RESPONSIVE RULES (see card-responsive.css)
   ===================================================== */

/* === CARD CONTAINER === */
.mtc-card {
    display: flex;
    flex-direction: column;
    height: 522.5px;
    width: 332.5px;
    background-color: var(--primary-orange);
    border-radius: 255px 255px 50px 50px;
    align-items: flex-end;
    box-sizing: border-box;
    margin: 0;
    position: relative;
    z-index: 1;
}

/* Remove link underlines */
.mtc-card a {
    text-decoration: none;
    color: inherit;
}

/* === IMAGE AREA === */

.mtc-card .card__image-area-wrapper {
    border-radius: var(--mtc-card-image-radius, 166.25px);
    border-bottom-right-radius: var(--mtc-card-image-br-radius, 47px);
    height: 332.5px;
    width: 332.5px;
    min-width: 332.5px;
    min-height: 332.5px;
    background-color: var(--mtc-card-image-gap-color, #ffffff);
    position: relative;
    box-sizing: border-box;
    z-index: 1;
    /* Uniform "white border" thickness around the image */
    padding: var(--mtc-card-image-gap, 5px);
    /* Do NOT clip: sale badge is positioned inside this wrapper */
    overflow: visible;
}

.mtc-card .card__image-pill {
    width: 100%;
    height: 100%;
    padding: 0;
    background-color: transparent;
    /* Inner radius = outer radius - padding, to prevent taper */
    border-radius: calc(var(--mtc-card-image-radius, 166.25px) - var(--mtc-card-image-gap, 5px));
    border-bottom-right-radius: calc(var(--mtc-card-image-br-radius, 47px) - var(--mtc-card-image-gap, 5px));
    overflow: hidden;
}

.mtc-card .card__image-link {
    display: block;
    cursor: pointer;
    /* position: absolute; */
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 6;
}

.mtc-card .card__image-container {
    /* position: absolute; */
    top: 0;
    height: 100%;
    width: 100%;
    background-color: var(--primary-dark);
    overflow: hidden;
    margin-left: 0;
    z-index: 5;
    box-sizing: border-box;
    left: 0;
    border-radius: calc(var(--mtc-card-image-radius, 166.25px) - var(--mtc-card-image-gap, 5px));
    border-bottom-right-radius: calc(var(--mtc-card-image-br-radius, 47px) - var(--mtc-card-image-gap, 5px));
}

.mtc-card .card__image-element {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform 0.3s ease-in-out;
    background-color: #cccccc;
}

/* Image hover effect */
.mtc-card .card__image-link:hover .card__image-element {
    transform: scale(1.1);
}

/* Placeholder image */
.mtc-card .placeholder-bg {
    background-color: #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #555;
    font-size: 1.2rem;
    font-weight: bold;
    overflow: hidden;
}

/* === SALE BADGE === */

.mtc-card .sale-badge {
    position: absolute;
    top: 1rem;
    right: 0;
    width: 13rem;
    height: 5rem;
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(-6deg);
}

.mtc-card .sale-badge__value {
    color: var(--text-white);
    font-size: 1.5rem;
    line-height: 2rem;
    font-weight: 700;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
    margin-top: -0.2rem;
}

/* Legacy sale badge support */
.mtc-card .sale-badge__content {
    position: relative;
}

.mtc-card .sale-badge__img {
    top: 0;
    right: 0;
    height: 13rem;
    width: 5rem;
    display: block;
}

.mtc-card .sale-badge__text {
    color: var(--text-white);
    font-size: 1.5rem;
    line-height: 2rem;
    font-weight: 700;
    /* position: absolute; */
    top: 2rem;
    right: 1.75rem;
    transform: rotate(-12deg);
}

/* === CONTENT AREA === */

.mtc-card .card__content-link {
    display: block;
    width: 100%;
    flex-grow: 1;
    cursor: pointer;
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
    overflow: hidden;
    position: relative;
}

/* Bottom-left corner cutout */
/*.mtc-card .card__content-link::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 100%;
    left: 0;
    width: 50px;
    height: 50px;
    background-color: var(--primary-orange);
    border-top-right-radius: 50px;
    z-index: 15;
}*/

.mtc-card .card__content {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    height: 100%;
    /* slightly tighter horizontal padding to match production truncation behavior */
    padding: 1rem 0.875rem 1.5rem 0.875rem;
    justify-content: space-between;
    width: 100%;
    box-sizing: border-box;
}

/* === CONTENT TOP SECTION === */

.mtc-card .card__content-top {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
}

.mtc-card .card__text-group {
    flex-grow: 1;
    overflow: hidden;
    min-width: 0; /* allow proper text wrapping/clamping inside flex container */
    padding-right: 2.5rem; /* reserve space for absolute continent icon */
}

/* Line clamping */
.mtc-card .card__title-wrapper,
.mtc-card .card__subtitle-wrapper {
    overflow: hidden;
    width: 100%;
}

.mtc-card .card__title {
    color: var(--primary-dark);
    font-size: 1.25rem;
    line-height: 1.75rem;
    text-transform: uppercase;
    font-weight: 700;
    margin: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    -webkit-line-clamp: 2;
}

.mtc-card .card__subtitle {
    color: var(--primary-dark);
    font-size: 1rem;
    line-height: 1.5rem;
    margin: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    -webkit-line-clamp: 2;
}

.mtc-card .card__continent-icon {
    width: 2.5rem;
    height: 2.5rem;
    display: block;
    flex-shrink: 0;
    position: absolute;
    top: 0;
    right: 0;
}

/* === CONTENT BOTTOM SECTION === */

.mtc-card .card__content-bottom {
    color: var(--text-white);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: flex-end;
}

/* Wrapper for duration and terms on the right side */
.mtc-card .card__right-info {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.mtc-card .card__price-info,
.mtc-card .card__price-line,
.mtc-card .card__price-note,
.mtc-card .card__terms-link-text,
.mtc-card .card__price-prefix,
.mtc-card .card__price-amount {
    line-height: 1;
}

.mtc-card .card__price-line {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    align-items: flex-end;
}

.mtc-card .card__price-amount {
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1;
}

/* Special styling for "Price on request" */
.mtc-card .card__price-amount.price-on-request {
    font-size: 1.2rem;
    font-weight: 500;
    text-transform: uppercase;
}

.mtc-card .card__price-note {
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.mtc-card .card__terms-link-text {
    font-size: 0.875rem;
    text-align: right;
}

/* Trip duration display */
.mtc-card .card__duration {
    font-size: 1.125rem;
    text-align: right;
    font-weight: 700;
    color: var(--text-white);
}

/* ===== END: card-base.css ===== */

/* ===== BEGIN: style.css ===== */
/* --- Variables & Basic Styles --- */
:root {
    --primary-orange: #e18b2a;
    --primary-light: #ffffff;
    --primary-dark: #4b241b;
    --text-white: #ffffff;
    --text-dark: #333333;
    --sale-red: #e74c3c;
    --filter-bg: #fff;
    --border-color: #ccc;
}

/*.elementor-countdown-item {
    position: relative;
}

.elementor-countdown-item:not(:last-child)::after {
    content: ":";
    position: absolute;
    right: 10px;
    top: 45%;
    transform: translate(100%, -50%);
    font-size: 2em;
    font-weight: bold;
    color: #0A0908;
    padding: 0 5px;
}*/

/* --- Wrapper for Layout --- */
.mtc-travel-wrapper {
    display: flex;
    flex-wrap: wrap; /* Allow wrapping on smaller screens */
    width: 100%; /* Take full width of its container */
    font-family: 'Quicksand', sans-serif; /* Apply base font here */
    box-sizing: border-box;
}
.mtc-travel-wrapper *,
.mtc-travel-wrapper *::before,
.mtc-travel-wrapper *::after {
    box-sizing: border-box; /* Ensure box-sizing inheritance */
}
/* --- Filter Sidebar --- */
#mtc-filters { /* Changed ID */
    width: 280px;
    padding: 20px;
    background-color: #fff;
    border-right: 1px solid var(--border-color) !important;
    /* Remove fixed height, let content determine height */
    /* height: 100vh; */
    overflow-y: auto; /* Keep scroll if needed */
    flex-shrink: 0;
    margin-bottom: 20px; /* Add margin for wrapped layout */
}

/*input[type=search], .mtc-filter input[type=text], .mtc-filter select, .mtc-filter input[type="number"], .mtc-filter .select2-selection.select2-selection--single, .select2-container .select2-dropdown.select2-dropdown--below, .select:focus, .select:focus-visible {
    border: 1px solid #ccc !important;
}*/

#mtc-filters h3 { /* Scoped selector */
    margin-top: 0;
    margin-bottom: 1.5rem;
    color: var(--primary-dark);
    font-size: 1.5rem;
    text-transform: uppercase;
    border-bottom: 2px solid var(--primary-orange);
    padding-bottom: 0.5rem;
    font-family: inherit; /* Inherit from wrapper */
}

.mtc-filter { /* Changed class */
    margin-bottom: 1.5rem;
}

.mtc-filter label { /* Scoped selector */
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: var(--primary-dark);
    font-size: 0.9rem;
}

/* Style inputs/selects within the filters */
#mtc-filters select,
#mtc-filters input[type="number"],
#mtc-filters input[type="text"] {
    width: 100%;
    /*padding: 0.6rem 0.8rem;*/
    border-radius: 4px;
    font-size: 0.9rem;
    background-color: var(--primary-light);
    font-family: inherit; /* Inherit font */
}

#mtc-filters select[multiple] { /* Scoped selector */
    height: 120px;
}

#mtc-filters input[type="number"] { /* Scoped selector */
   appearance: textfield;
   -moz-appearance: textfield;
}
#mtc-filters input::-webkit-outer-spin-button, /* Scoped selector */
#mtc-filters input::-webkit-inner-spin-button {
  appearance: none;
  -webkit-appearance: none;
  margin: 0;
}

.mtc-filter-price-range { /* Changed class */
    display: flex;
    gap: 10px;
}
.mtc-filter-price-range > div {
    flex: 1;
}
/* --- Main Content Area (Card Listing) --- */
#mtc-content-area { /* Changed ID */
    flex-grow: 1;
    padding: 20px; /* Keep padding */
    /* overflow-y: auto; */ /* Let page handle scroll */
    min-width: 0; /* Prevent flex item overflow */
}

/* --- Card Listing Container --- */
@media (min-width: 764px) {
    .mtc-card-listing { /* Changed class */
        place-items: center !important;
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
        gap: 25px;
    } 
}

@media (max-width: 763px) {
    .mtc-card-listing { /* Changed class */
        place-items: center !important;
        display: grid;
        gap: 25px;
    } 
}

/* === CARD STYLES (Using Prefixed Outer Class, Original Inner Classes) === */

/* --- Card Container --- */
.mtc-card { /* Changed Class */
    display: flex;
    flex-direction: column;
    height: 522.5px;
    width: 332.5px;
    background: linear-gradient(to bottom, transparent 0%, transparent 30%, var(--primary-orange) 30%, var(--primary-orange) 100%);
    border-radius: 255px 255px 50px 50px;
    align-items: center;
    box-sizing: border-box; /* Already inherited */
    margin: 0;
    position: relative;
    z-index: 1;
    padding: 0;
}

/* --- Remove Link Underlines --- */
.mtc-card a { /* Scoped selector */
    text-decoration: none;
    color: inherit;
}

/* --- Image Area Wrapper --- */
.mtc-card .card__image-area-wrapper { /* Increased specificity */
    border-radius: var(--mtc-card-image-radius, 166.25px);
    border-bottom-right-radius: var(--mtc-card-image-br-radius, 47px) !important;
    height: 332.5px;
    width: 332.5px;
    min-width: 332.5px;
    min-height: 332.5px;
    background-color: var(--mtc-card-image-gap-color, #ffffff);
    position: relative;
    box-sizing: border-box;
    z-index: 1;
    margin: 0;
    align-self: center;
    /* Uniform "white border" thickness around the image */
    padding: var(--mtc-card-image-gap, 5px);
    /* Do NOT clip: sale badge is positioned inside this wrapper */
    overflow: visible;
}

/* --- Sale Badge --- */
/* Assuming sale badge HTML is inside .mtc-card */
.mtc-card .sale-badge { /* Increased specificity */
    position: absolute;
    top: 1rem;
    right: 0;
    width: 13rem;
    height: 5rem;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(-6deg);
}
.mtc-card .sale-badge__value { /* Updated for new structure */
    color: var(--text-white);
    font-size: 1.5rem;
    line-height: 2rem;
    font-weight: 700;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
    margin-top: -0.2rem;
}
/* Legacy support for old structure if needed */
.mtc-card .sale-badge__content { /* Increased specificity */
    position: relative;
}
.mtc-card .sale-badge__img { /* Increased specificity */
    top: 0;
    right: 0;
    height: 13rem;
    width: 5rem;
    display: block;
}
.mtc-card .sale-badge__text { /* Increased specificity */
    color: var(--text-white);
    font-size: 1.5rem;
    line-height: 2rem;
    font-weight: 700;
    /* position: absolute; */
    top: 2rem;
        right: 1.75rem;
    transform: rotate(-12deg);
}

.mtc-card .card__image-pill {
    width: 100%;
    height: 100%;
    background-color: transparent;
    padding: 0;
    /* Inner radius = outer radius - padding, to prevent taper */
    border-radius: calc(var(--mtc-card-image-radius, 166.25px) - var(--mtc-card-image-gap, 5px));
    border-bottom-right-radius: calc(var(--mtc-card-image-br-radius, 47px) - var(--mtc-card-image-gap, 5px));
    overflow: hidden;
}

/* --- Image Link --- */
.mtc-card .card__image-link { /* Increased specificity */
    display: block;
    cursor: pointer;
    position: relative;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 12;
    justify-items: end;
    align-content: flex-start;
}

/* --- Image Container Styling --- */
.mtc-card .card__image-container { /* Increased specificity */
    /* position: absolute; */
    top: 0;
    height: 100%;
    width: 100%;
    background-color: var(--primary-dark);
    overflow: hidden;
    z-index: 10;
    box-sizing: border-box;
    left: 0; /* Adjusted left position based on user request */
    border-radius: calc(var(--mtc-card-image-radius, 166.25px) - var(--mtc-card-image-gap, 5px));
    border-bottom-right-radius: calc(var(--mtc-card-image-br-radius, 47px) - var(--mtc-card-image-gap, 5px));
    margin-left: 0;
}

.mtc-card .card__image-element { /* Increased specificity */
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform 0.3s ease-in-out;
    background-color: #cccccc;
}

/* --- Image Hover Effect --- */
.mtc-card .card__image-link:hover .card__image-element { /* Increased specificity */
    transform: scale(1.1);
}

/* --- Content Area Link --- */
.mtc-card .card__content-link { /* Increased specificity */
    display: block;
    width: 100%;
    flex-grow: 1;
    cursor: pointer;
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
    overflow: hidden;
    position: relative;
}

/* --- Original Bottom-Left Corner Cutout Attempt --- */
/*.mtc-card .card__content-link::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 100%;
    left: 0;
    width: 50px;
    height: 50px;
    background-color: var(--primary-orange);
    border-top-right-radius: 50px;
    z-index: 15;
}*/

/* --- Content Area Styling --- */
.mtc-card .card__content { /* Increased specificity */
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    height: 100%;
    /* slightly tighter horizontal padding to match production truncation behavior */
    padding: 1rem 0.875rem 1.5rem 0.875rem;
    justify-content: space-between;
    width: 100%;
    box-sizing: border-box;
}

/* --- Content Top Section (Text & Icon) --- */
.mtc-card .card__content-top { /* Increased specificity */
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
}

.mtc-card .card__text-group { /* Increased specificity */
    flex-grow: 1;
    overflow: hidden;
    min-width: 0; /* allow proper text wrapping/clamping inside flex container */
    padding-right: 2.5rem; /* reserve space for absolute continent icon */
}

/* --- Line Clamping --- */
.mtc-card .card__title-wrapper, /* Increased specificity */
.mtc-card .card__subtitle-wrapper { /* Increased specificity */
    overflow: hidden;
    width: 100%;
}

.mtc-card .card__title { /* Increased specificity */
    color: var(--primary-dark);
    font-size: 1.25rem;
    line-height: 1.75rem;
    text-transform: uppercase;
    font-weight: 700;
    margin: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    -webkit-line-clamp: 2;
}

.mtc-card .card__subtitle { /* Increased specificity */
    color: var(--primary-dark);
    font-size: 1rem; /* must be 16px */
    line-height: 1.5rem;
    margin: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    -webkit-line-clamp: 2;
}

.mtc-card .card__continent-icon { /* Increased specificity */
    width: 2.5rem;
    height: 2.5rem;
    display: block;
    flex-shrink: 0;
    position: absolute;
    top: 0;
    right: 0;
}

/* --- Content Bottom Section (Price & Link) --- */
.mtc-card .card__content-bottom { /* Increased specificity */
    color: var(--text-white);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: flex-end;
}

/* Wrapper for duration and terms on the right side */
.mtc-card .card__right-info {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.mtc-card .card__price-info, /* etc */
.mtc-card .card__price-line,
.mtc-card .card__price-note,
.mtc-card .card__terms-link-text,
.mtc-card .card__price-prefix,
.mtc-card .card__price-amount {
    line-height: 1;
}

.mtc-card .card__price-line {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    align-items: flex-end;
}

.mtc-card .card__price-amount {
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1;
}

/* Special styling for "Price on request" */
.mtc-card .card__price-amount.price-on-request {
    font-size: 1.2rem;
    font-weight: 500;
    text-transform: uppercase;
}

/* Reset Button Styling */
#mtc-filters .mtc-reset-button,
button.mtc-reset-button,
button#mtc-reset-filters {
    width: 100% !important;
    padding: 12px 16px !important;
    background-color: var(--primary-orange) !important;
    color: var(--text-white) !important;
    border: none !important;
    border-radius: 6px !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    font-family: inherit !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    text-align: center !important;
    white-space: nowrap !important;
    user-select: none !important;
    display: block !important;
}

#mtc-filters .mtc-reset-button:hover,
button.mtc-reset-button:hover,
button#mtc-reset-filters:hover {
    background-color: var(--primary-dark) !important;
    color: var(--text-white) !important;
    border: none !important;
}

#mtc-filters .mtc-reset-button:active,
button.mtc-reset-button:active,
button#mtc-reset-filters:active {
    background-color: var(--primary-dark) !important;
    color: var(--text-white) !important;
    border: none !important;
    transform: translateY(0) !important;
}

.mtc-card .card__price-note {
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.mtc-card .card__terms-link-text {
   font-size: 0.875rem;
   text-align: right;
}

/* Trip duration display */
.mtc-card .card__duration {
   font-size: 1.125rem;
   text-align: right;
   font-weight: 700;
   color: var(--text-white);
}

/* Placeholder image style */
.mtc-card .placeholder-bg { /* Increased specificity */
    background-color: #ccc !important;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #555;
    font-size: 1.2rem;
    font-weight: bold;
    overflow: hidden;
}
/* --- Responsive Adjustments --- */
/* Only apply to pages/areas that contain travel cards */
@media (max-width: 960px) { /* Adjust breakpoint maybe */
    .mtc-travel-wrapper {
       flex-direction: column; /* Stack vertically on mobile */
    }
    
    /* Show mobile filter button - only in travel cards areas */
    .mtc-travel-wrapper .mtc-mobile-filter-button {
        display: inline-flex;
    }
    
    .mtc-travel-wrapper #mtc-filters {
        display: none; /* Hide original filters on mobile */
        width: 100%;
        border-right: none;
        border-bottom: none;
        padding: 0;
        margin-bottom: 0;
        background-color: transparent;
    }
    
    /* Mobile filters inside popup don't need the h3 title */
    .mtc-filter-popup-body .mtc-filter {
        margin-bottom: 1.5rem;
    }
    
    .mtc-filter-popup-body .mtc-filter label {
        display: block;
        margin-bottom: 0.5rem;
        font-weight: 600;
        color: var(--primary-dark);
        font-size: 0.9rem;
    }
    
    /* Style inputs/selects within mobile popup */
    .mtc-filter-popup-body select,
    .mtc-filter-popup-body input[type="number"],
    .mtc-filter-popup-body input[type="text"] {
        width: 100%;
        padding: 0.6rem 0.8rem;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 0.9rem;
        background-color: var(--primary-light);
        font-family: inherit;
    }
    
    #mtc-content-area, [id^="mtc-content-area"] {
        width: 100%; /* Ensure it takes full width below filters */
        padding: 15px; /* Reduce padding */
    }
    
    .mtc-card-listing, [class*="mtc-card-listing"] {
        grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); /* Adjust min card width */
        gap: 15px;
     }
}

/* Card responsive styles moved to card-responsive.css - using transform scale */
/* === HOMEPAGE SPECIFIC STYLES === */
/* Target homepage specifically to show only one row per taxonomy section */
body.home .mtc-card-listing,
body.page-id-2 .mtc-card-listing {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, auto));
    justify-content: start;
    /*grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));*/
    gap: 25px;
}

/* Responsive adjustments for homepage */
@media (max-width: 960px) {
    body.home .mtc-card-listing,
    body.page-id-2 .mtc-card-listing {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    }
}

@media (max-width: 768px) {
    body.home .mtc-card-listing,
    body.page-id-2 .mtc-card-listing {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    }
}

@media (max-width: 480px) {
    body.home .mtc-card-listing,
    body.page-id-2 .mtc-card-listing {
        grid-template-columns: 1fr; /* Single column on mobile */
    }
}

/* Fix Select2 dropdown z-index issues in mobile popups */
.select2-dropdown {
    z-index: 99999 !important; /* Ensure Select2 dropdown appears above popups */
}

/* Ensure Select2 container has proper positioning in mobile popups */
.select2-container--open .select2-dropdown {
    z-index: 99999 !important;
}

/* Fix Select2 dropdown positioning issues */
.select2-container--default.select2-container--open {
    z-index: 9999 !important;
}

/* Prevent popup from moving when Select2 opens */
.mtc-filter-popup-body .select2-container {
    position: relative;
}

.mtc-filter-popup-body .select2-dropdown {
    z-index: 99999 !important;
}
/* Card responsive styles moved to card-responsive.css - using transform scale */

/* Homepage responsive adjustments for small screens */
@media (max-width: 320px) {
    body.home .mtc-card-listing,
    body.page-id-2 .mtc-card-listing {
        grid-template-columns: 1fr;
    }
}

/* === FIX #7 Additional - Header, Footer, Cards at 310px (2025-12-12) === */

@media (max-width: 320px) {
    /* Fix 1: Header gap at right edge - prevent horizontal overflow */
    body {
        overflow-x: hidden !important;
    }
    
    html, body {
        max-width: 100vw !important;
        width: 100% !important;
    }
    
    /* Header fixes */
    header, 
    .site-header,
    .elementor-location-header,
    [data-elementor-type="header"] {
        max-width: 100vw !important;
        overflow-x: hidden !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
    
    /* Fix 2: Header height reduction */
    header img,
    .site-header img,
    .custom-logo,
    .elementor-location-header img {
        max-height: 40px !important;
        width: auto !important;
    }
    
    .elementor-location-header .elementor-container,
    header .elementor-container {
        min-height: unset !important;
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }
    
    /* Card centering moved to card-responsive.css */

    /* Fix 4: Footer text size reduction */
    footer,
    .site-footer,
    .elementor-location-footer,
    [data-elementor-type="footer"] {
        max-width: 100vw !important;
        overflow-x: hidden !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
    
    footer p,
    footer span,
    footer a,
    footer li,
    .site-footer p,
    .site-footer span,
    .site-footer a,
    .site-footer li,
    .elementor-location-footer p,
    .elementor-location-footer span,
    .elementor-location-footer a,
    .elementor-location-footer li {
        font-size: 12px !important;
        line-height: 1.4 !important;
    }
    
    footer h1, footer h2, footer h3, footer h4, footer h5, footer h6,
    .site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5, .site-footer h6,
    .elementor-location-footer h1, .elementor-location-footer h2, .elementor-location-footer h3,
    .elementor-location-footer h4, .elementor-location-footer h5, .elementor-location-footer h6 {
        font-size: 14px !important;
        line-height: 1.3 !important;
    }
    
    /* Footer columns stack */
    footer .elementor-row,
    footer .elementor-container,
    .elementor-location-footer .elementor-row,
    .elementor-location-footer .elementor-container {
        flex-direction: column !important;
    }
    
    footer .elementor-column,
    .elementor-location-footer .elementor-column {
        width: 100% !important;
        margin-bottom: 15px !important;
    }
    
    /* Main content area - no horizontal scroll */
    main, 
    .site-main,
    #mtc-content-area,
    [id^="mtc-content-area"] {
        max-width: 100vw !important;
        overflow-x: hidden !important;
        padding: 8px !important;
        box-sizing: border-box !important;
    }
    
    /* Navigation/Menu fixes */
    nav,
    .site-navigation,
    .elementor-nav-menu {
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }
    
    .elementor-nav-menu li a {
        font-size: 12px !important;
        padding: 5px 8px !important;
    }
}

/* More aggressive fixes for 310px */
@media (max-width: 310px) {
    /* Even smaller header */
    header img,
    .site-header img,
    .custom-logo {
        max-height: 35px !important;
    }
    
    /* Smaller footer text */
    footer p,
    footer span,
    footer a,
    footer li,
    .site-footer p,
    .site-footer span,
    .site-footer a,
    .site-footer li,
    .elementor-location-footer p,
    .elementor-location-footer span,
    .elementor-location-footer a,
    .elementor-location-footer li {
        font-size: 11px !important;
    }
    
    footer h1, footer h2, footer h3, footer h4, footer h5, footer h6,
    .site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5, .site-footer h6 {
        font-size: 13px !important;
    }

    /* Card adjustments moved to card-responsive.css */
}

/* === FIX #7 - Additional fixes for padding and card overflow (2025-12-12) === */

@media (max-width: 320px) {
    /* Fix 1: Remove white spacing/padding around whole page */
    html, body {
        margin: 0 !important;
        padding: 0 !important;
    }
    
    body > *,
    .site-container,
    .site-content,
    .content-area,
    .elementor,
    .elementor-section,
    .elementor-container,
    .elementor-row,
    .elementor-column,
    .elementor-widget-wrap,
    .elementor-element {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: 100% !important;
    }
    
    /* Keep small padding only on content that needs it */
    header,
    .site-header,
    .elementor-location-header {
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
    
    footer,
    .site-footer,
    .elementor-location-footer {
        padding-left: 5px !important;
        padding-right: 5px !important;
    }

    /* Card responsive styles moved to card-responsive.css - using transform scale */
}

/* === FIX #7 - Filter button margins & header/footer white space (2025-12-12) === */

@media (max-width: 320px) {
    /* Fix filter button - add margins */
    .mtc-mobile-filter-button,
    #mtc-mobile-filter-btn,
    [class*="mobile-filter"] button,
    button.mtc-mobile-filter-button {
        margin-left: 10px !important;
        margin-right: 10px !important;
        width: calc(100% - 1px) !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }
    
    /* Fix header white space - target Elementor specifically */
    .elementor-location-header,
    .elementor-location-header > .elementor,
    .elementor-location-header .elementor-section,
    .elementor-location-header .elementor-section-wrap,
    .elementor-location-header .elementor-section-boxed,
    .elementor-location-header .elementor-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: 100vw !important;
        width: 100% !important;
    }
    
    .elementor-location-header .elementor-widget-wrap {
        padding: 0 10px !important;
    }
    
    /* Fix footer white space */
    .elementor-location-footer,
    .elementor-location-footer > .elementor,
    .elementor-location-footer .elementor-section,
    .elementor-location-footer .elementor-section-wrap,
    .elementor-location-footer .elementor-section-boxed,
    .elementor-location-footer .elementor-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: 100vw !important;
        width: 100% !important;
    }
    
    .elementor-location-footer .elementor-widget-wrap {
        padding: 0 10px !important;
    }
    
    /* Main content sections - remove side padding */
    .elementor-section.elementor-section-boxed > .elementor-container {
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
    /* Remove any boxed layout constraints */
    .elementor-section-boxed {
        max-width: 100vw !important;
    }
    
    /* Page wrapper */
    #page,
    .site,
    .hfeed,
    #content,
    .site-content {
        padding: 0 !important;
        margin: 0 !important;
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }
}

@media (max-width: 310px) {
    .mtc-mobile-filter-button,
    #mtc-mobile-filter-btn {
        margin-left: 8px !important;
        margin-right: 8px !important;
        width: calc(100% - 1px) !important;
    }
    
    .elementor-location-header .elementor-widget-wrap,
    .elementor-location-footer .elementor-widget-wrap {
        padding: 0 8px !important;
    }
}

/* === FIX #7 - Enhanced filter button margin & footer padding (2025-12-12) === */

@media (max-width: 320px) {
    /* Enhanced filter button horizontal margins */
    .mtc-mobile-filter-button,
    #mtc-mobile-filter-btn,
    button[class*="filter"] {
        margin-left: 15px !important;
        margin-right: 15px !important;
        width: calc(100% - 1px) !important;
    }
    
    /* Footer content padding - all elements */
    .elementor-location-footer,
    footer {
        padding: 15px !important;
    }
    
    .elementor-location-footer .elementor-widget-wrap,
    .elementor-location-footer .elementor-element,
    .elementor-location-footer .elementor-widget,
    footer .elementor-widget-wrap,
    footer .elementor-element,
    footer .elementor-widget {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    
    .elementor-location-footer p,
    .elementor-location-footer a,
    .elementor-location-footer span,
    .elementor-location-footer li,
    .elementor-location-footer h1,
    .elementor-location-footer h2,
    .elementor-location-footer h3,
    .elementor-location-footer h4,
    .elementor-location-footer h5,
    .elementor-location-footer h6,
    footer p,
    footer a,
    footer span,
    footer li {
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
    
    /* Footer inner containers */
    .elementor-location-footer .elementor-container,
    .elementor-location-footer .elementor-row,
    .elementor-location-footer .elementor-column-wrap,
    .elementor-location-footer .elementor-widget-container {
        padding: 5px 10px !important;
    }
}

@media (max-width: 310px) {
    .mtc-mobile-filter-button,
    #mtc-mobile-filter-btn {
        margin-left: 12px !important;
        margin-right: 12px !important;
        width: calc(100% - 1px) !important;
    }
    
    .elementor-location-footer,
    footer {
        padding: 12px !important;
    }
    
    .elementor-location-footer .elementor-widget-wrap,
    footer .elementor-widget-wrap {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
}

/* === FIX #7 - Footer white space fix (2025-12-12) === */

@media (max-width: 320px) {
    /* Remove all footer white space/gaps */
    footer,
    .site-footer,
    .elementor-location-footer,
    [data-elementor-type="footer"],
    footer > *,
    .elementor-location-footer > * {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        max-width: 100vw !important;
        width: 100vw !important;
        box-sizing: border-box !important;
    }
    
    /* Inner content gets padding */
    .elementor-location-footer .elementor-widget-container,
    footer .elementor-widget-container,
    .elementor-location-footer .elementor-text-editor,
    footer .elementor-text-editor {
        padding: 0 15px !important;
    }
    
    /* Section backgrounds stretch full width */
    .elementor-location-footer .elementor-section,
    .elementor-location-footer .elementor-container,
    .elementor-location-footer .elementor-row,
    .elementor-location-footer .elementor-column,
    .elementor-location-footer .elementor-column-wrap,
    .elementor-location-footer .elementor-widget-wrap {
        margin: 0 !important;
        padding: 0 !important;
        max-width: 100vw !important;
        width: 100% !important;
    }
    
    /* Text content padding */
    .elementor-location-footer p,
    .elementor-location-footer ul,
    .elementor-location-footer li,
    .elementor-location-footer h1,
    .elementor-location-footer h2,
    .elementor-location-footer h3,
    .elementor-location-footer h4,
    .elementor-location-footer h5,
    .elementor-location-footer h6 {
        margin-left: 15px !important;
        margin-right: 15px !important;
    }
}

@media (max-width: 310px) {
    .elementor-location-footer .elementor-widget-container,
    footer .elementor-widget-container {
        padding: 0 12px !important;
    }
    
    .elementor-location-footer p,
    .elementor-location-footer ul,
    .elementor-location-footer li,
    .elementor-location-footer h1,
    .elementor-location-footer h2,
    .elementor-location-footer h3,
    .elementor-location-footer h4,
    .elementor-location-footer h5,
    .elementor-location-footer h6 {
        margin-left: 12px !important;
        margin-right: 12px !important;
    }
}

/* === FIX #7 - Footer bottom white space removal (2025-12-12) === */

@media (max-width: 320px) {
    /* Remove bottom white space from footer */
    footer,
    .site-footer,
    .elementor-location-footer,
    [data-elementor-type="footer"] {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
    
    /* Last section in footer */
    .elementor-location-footer .elementor-section:last-child,
    .elementor-location-footer .elementor-element:last-child,
    footer .elementor-section:last-child {
        margin-bottom: 0 !important;
        padding-bottom: 10px !important;
    }
    
    /* Body and html - no margin after footer */
    html, body {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
    
    /* Any wrapper after footer */
    footer + *,
    .elementor-location-footer + * {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
}

@media (max-width: 310px) {
    .elementor-location-footer .elementor-section:last-child,
    footer .elementor-section:last-child {
        padding-bottom: 8px !important;
    }
}

/* === FIX #7 - Footer left alignment & responsive images/icons (2025-12-12) === */

@media (max-width: 320px) {
    /* Footer content left alignment */
    .elementor-location-footer,
    .elementor-location-footer .elementor-widget-container,
    .elementor-location-footer .elementor-text-editor,
    .elementor-location-footer p,
    .elementor-location-footer ul,
    .elementor-location-footer li,
    .elementor-location-footer h1,
    .elementor-location-footer h2,
    .elementor-location-footer h3,
    .elementor-location-footer h4,
    .elementor-location-footer h5,
    .elementor-location-footer h6,
    .elementor-location-footer a,
    .elementor-location-footer span,
    footer p,
    footer ul,
    footer li,
    footer a,
    footer span {
        text-align: left !important;
        justify-content: flex-start !important;
        align-items: flex-start !important;
    }
    
    .elementor-location-footer .elementor-widget-wrap,
    footer .elementor-widget-wrap {
        justify-content: flex-start !important;
        align-items: flex-start !important;
    }
    
    /* Footer images - responsive sizing */
    .elementor-location-footer img,
    footer img {
        max-width: 100% !important;
        height: auto !important;
        width: auto !important;
        max-height: 60px !important;
        object-fit: contain !important;
    }
    
    /* Footer logo specifically */
    .elementor-location-footer .elementor-widget-image img,
    footer .elementor-widget-image img,
    .elementor-location-footer .custom-logo,
    footer .custom-logo {
        max-width: 120px !important;
        max-height: 50px !important;
        height: auto !important;
        width: auto !important;
    }
    
    /* Footer icons - responsive sizing */
    .elementor-location-footer .elementor-icon,
    .elementor-location-footer .elementor-social-icon,
    .elementor-location-footer i,
    .elementor-location-footer svg,
    footer .elementor-icon,
    footer .elementor-social-icon,
    footer i,
    footer svg:not(.checkbox-icon svg) {
        font-size: 18px !important;
        width: 24px !important;
        height: 24px !important;
        min-width: 24px !important;
        min-height: 24px !important;
    }
    
    /* Social icons container */
    .elementor-location-footer .elementor-social-icons-wrapper,
    footer .elementor-social-icons-wrapper {
        justify-content: flex-start !important;
        gap: 8px !important;
    }
    
    /* Icon list alignment */
    .elementor-location-footer .elementor-icon-list-items,
    footer .elementor-icon-list-items {
        justify-content: flex-start !important;
        text-align: left !important;
    }
    
    .elementor-location-footer .elementor-icon-list-item,
    footer .elementor-icon-list-item {
        justify-content: flex-start !important;
    }
    
    /* Payment/partner logos */
    .elementor-location-footer .elementor-image-gallery img,
    footer .elementor-image-gallery img {
        max-width: 50px !important;
        max-height: 30px !important;
    }
}

@media (max-width: 310px) {
    /* Smaller images at 310px */
    .elementor-location-footer img,
    footer img {
        max-height: 50px !important;
    }
    
    .elementor-location-footer .elementor-widget-image img,
    footer .elementor-widget-image img {
        max-width: 100px !important;
        max-height: 40px !important;
    }
    
    /* Smaller icons at 310px */
    .elementor-location-footer .elementor-icon,
    .elementor-location-footer .elementor-social-icon,
    .elementor-location-footer i,
    .elementor-location-footer svg,
    footer i,
    footer svg:not(.checkbox-icon svg) {
        font-size: 16px !important;
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
        min-height: 20px !important;
    }
    
    .elementor-location-footer .elementor-image-gallery img,
    footer .elementor-image-gallery img {
        max-width: 40px !important;
        max-height: 25px !important;
    }
}

/* === FIX #7 - Footer true left alignment - remove extra padding (2025-12-12) === */

@media (max-width: 320px) {
    /* Reset all footer padding/margin for true left alignment */
    .elementor-location-footer p,
    .elementor-location-footer ul,
    .elementor-location-footer li,
    .elementor-location-footer h1,
    .elementor-location-footer h2,
    .elementor-location-footer h3,
    .elementor-location-footer h4,
    .elementor-location-footer h5,
    .elementor-location-footer h6,
    footer p,
    footer ul,
    footer li {
        margin-left: 0 !important;
        padding-left: 10px !important;
        margin-right: 0 !important;
        padding-right: 0 !important;
    }
    
    .elementor-location-footer .elementor-widget-container,
    footer .elementor-widget-container,
    .elementor-location-footer .elementor-text-editor,
    footer .elementor-text-editor {
        padding-left: 10px !important;
        padding-right: 0 !important;
        margin: 0 !important;
    }
    
    .elementor-location-footer .elementor-container,
    .elementor-location-footer .elementor-row,
    .elementor-location-footer .elementor-column-wrap,
    footer .elementor-container,
    footer .elementor-row {
        padding: 0 !important;
        margin: 0 !important;
    }
    
    .elementor-location-footer .elementor-widget-wrap,
    footer .elementor-widget-wrap {
        padding: 0 !important;
        padding-left: 0 !important;
    }
    
    /* Image containers */
    .elementor-location-footer .elementor-widget-image,
    footer .elementor-widget-image {
        padding-left: 10px !important;
        margin: 0 !important;
    }
    
    /* Social icons */
    .elementor-location-footer .elementor-social-icons-wrapper,
    footer .elementor-social-icons-wrapper {
        padding-left: 10px !important;
        margin: 0 !important;
    }
}

@media (max-width: 310px) {
    .elementor-location-footer p,
    .elementor-location-footer ul,
    .elementor-location-footer li,
    .elementor-location-footer h1,
    .elementor-location-footer h2,
    .elementor-location-footer h3,
    .elementor-location-footer h4,
    .elementor-location-footer h5,
    .elementor-location-footer h6,
    .elementor-location-footer .elementor-widget-container,
    .elementor-location-footer .elementor-widget-image,
    .elementor-location-footer .elementor-social-icons-wrapper,
    footer p,
    footer ul,
    footer li {
        padding-left: 8px !important;
    }
}

/* === FIX #7 - OVERRIDE: Footer left align - highest specificity (2025-12-12) === */

@media (max-width: 320px) {
    /* Override all previous footer padding rules */
    body .elementor-location-footer,
    body footer,
    html body .elementor-location-footer,
    html body footer {
        padding: 10px 0 10px 0 !important;
        margin: 0 !important;
    }
    
    body .elementor-location-footer *,
    body footer * {
        margin-left: 0 !important;
        padding-left: 0 !important;
    }
    
    /* Only widget containers get left padding */
    body .elementor-location-footer .elementor-widget-container,
    body .elementor-location-footer .elementor-widget-image .elementor-widget-container,
    body .elementor-location-footer .elementor-widget-text-editor .elementor-widget-container,
    body footer .elementor-widget-container {
        padding-left: 10px !important;
        padding-right: 10px !important;
        margin: 0 !important;
    }
    
    /* Text elements inside containers - no extra padding */
    body .elementor-location-footer .elementor-widget-container p,
    body .elementor-location-footer .elementor-widget-container ul,
    body .elementor-location-footer .elementor-widget-container li,
    body .elementor-location-footer .elementor-widget-container h1,
    body .elementor-location-footer .elementor-widget-container h2,
    body .elementor-location-footer .elementor-widget-container h3,
    body .elementor-location-footer .elementor-widget-container h4,
    body .elementor-location-footer .elementor-widget-container h5,
    body .elementor-location-footer .elementor-widget-container h6,
    body footer .elementor-widget-container p,
    body footer .elementor-widget-container ul,
    body footer .elementor-widget-container li {
        padding-left: 0 !important;
        margin-left: 0 !important;
        padding-right: 0 !important;
        margin-right: 0 !important;
    }
}

@media (max-width: 310px) {
    body .elementor-location-footer .elementor-widget-container,
    body footer .elementor-widget-container {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
}

/* === FIX #7 - Filter button horizontal margin (2025-12-12) === */

@media (max-width: 320px) {
    /* Filter button - add horizontal margin */
    body .mtc-mobile-filter-button,
    body #mtc-mobile-filter-btn,
    body button[class*="filter"],
    body .mtc-filter-btn,
    html body .mtc-mobile-filter-button {
        margin-left: 15px !important;
        margin-right: 15px !important;
        width: calc(100% - 1px) !important;
        max-width: calc(100vw - 1px) !important;
        box-sizing: border-box !important;
        display: block !important;
    }
}

@media (max-width: 310px) {
    body .mtc-mobile-filter-button,
    body #mtc-mobile-filter-btn,
    body button[class*="filter"],
    body .mtc-filter-btn {
        margin-left: 12px !important;
        margin-right: 12px !important;
        width: calc(100% - 1px) !important;
        max-width: calc(100vw - 1px) !important;
    }
}

/* === FIX #7 - Filter button margin - broader selectors (2025-12-12) === */

@media (max-width: 320px) {
    /* Target any filter-related button in main content */
    .elementor button,
    .elementor .elementor-button,
    .elementor-widget-button .elementor-button,
    main button,
    #mtc-content-area button,
    [id^="mtc-content-area"] button,
    .mtc-card-listing ~ button,
    button.elementor-button,
    a.elementor-button {
        margin-left: 15px !important;
        margin-right: 15px !important;
        width: calc(100% - 1px) !important;
        max-width: calc(100vw - 1px) !important;
        box-sizing: border-box !important;
    }
    
    /* Elementor button wrapper */
    .elementor-button-wrapper {
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }
    
    .elementor-button-wrapper .elementor-button {
        width: 100% !important;
        margin: 0 !important;
    }
}

@media (max-width: 310px) {
    .elementor button,
    .elementor .elementor-button,
    main button,
    button.elementor-button,
    a.elementor-button {
        margin-left: 12px !important;
        margin-right: 12px !important;
        width: calc(100% - 1px) !important;
    }
    
    .elementor-button-wrapper {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

/* === FIX #7 - Minimize header height on small screens (2025-12-12) === */

@media (max-width: 320px) {
    /* Reduce header height */
    header,
    .site-header,
    .elementor-location-header,
    [data-elementor-type="header"] {
        min-height: unset !important;
        padding-top: 5px !important;
        padding-bottom: 5px !important;
    }
    
    .elementor-location-header .elementor-container,
    .elementor-location-header .elementor-row,
    .elementor-location-header .elementor-section,
    header .elementor-container {
        min-height: unset !important;
        padding-top: 5px !important;
        padding-bottom: 5px !important;
    }
    
    .elementor-location-header .elementor-widget-wrap,
    header .elementor-widget-wrap {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    
    /* Smaller logo */
    .elementor-location-header img,
    .elementor-location-header .custom-logo,
    header img,
    header .custom-logo,
    .site-header img {
        max-height: 35px !important;
        height: auto !important;
        width: auto !important;
    }
    
    /* Smaller menu items */
    .elementor-location-header .elementor-nav-menu li a,
    header nav a {
        padding: 5px 8px !important;
        font-size: 11px !important;
    }
    
    /* Menu icon smaller */
    .elementor-location-header .elementor-menu-toggle,
    header .menu-toggle {
        padding: 5px !important;
    }
    
    .elementor-location-header .elementor-menu-toggle i,
    .elementor-location-header .eicon-menu-bar {
        font-size: 20px !important;
    }
}

@media (max-width: 310px) {
    header,
    .site-header,
    .elementor-location-header {
        padding-top: 3px !important;
        padding-bottom: 3px !important;
    }
    
    .elementor-location-header img,
    header img,
    .site-header img {
        max-height: 30px !important;
    }
    
    .elementor-location-header .elementor-nav-menu li a {
        font-size: 10px !important;
        padding: 4px 6px !important;
    }
    
    .elementor-location-header .elementor-menu-toggle i,
    .elementor-location-header .eicon-menu-bar {
        font-size: 18px !important;
    }
}

/* === FIX #7 - Remove white space above header & reduce header height (2025-12-12) === */

@media (max-width: 320px) {
    /* Remove white space above header */
    html, body {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
    
    body > *:first-child,
    body header:first-of-type,
    body .elementor-location-header:first-of-type {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
    
    /* Header - force smaller height */
    body header,
    body .site-header,
    body .elementor-location-header,
    html body header,
    html body .elementor-location-header {
        min-height: 45px !important;
        max-height: 60px !important;
        height: auto !important;
        padding: 5px 10px !important;
        margin: 0 !important;
    }
    
    body .elementor-location-header .elementor-section,
    body .elementor-location-header .elementor-container,
    body .elementor-location-header .elementor-row {
        min-height: unset !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    body .elementor-location-header .elementor-column,
    body .elementor-location-header .elementor-widget-wrap {
        padding: 0 !important;
        margin: 0 !important;
    }
    
    /* Logo size */
    body .elementor-location-header img,
    body header img {
        max-height: 35px !important;
    }
}

@media (max-width: 310px) {
    body header,
    body .elementor-location-header {
        min-height: 40px !important;
        max-height: 55px !important;
        padding: 3px 8px !important;
    }
    
    body .elementor-location-header img,
    body header img {
        max-height: 30px !important;
    }
}

/* === FIX #7 - REVERT header changes - restore defaults (2025-12-12) === */

@media (max-width: 320px) {
    /* Restore header to default */
    header,
    .site-header,
    .elementor-location-header,
    [data-elementor-type="header"],
    body header,
    body .elementor-location-header,
    html body header,
    html body .elementor-location-header {
        min-height: unset !important;
        max-height: unset !important;
        height: auto !important;
        padding: unset !important;
    }
    
    .elementor-location-header .elementor-section,
    .elementor-location-header .elementor-container,
    .elementor-location-header .elementor-row,
    body .elementor-location-header .elementor-section,
    body .elementor-location-header .elementor-container,
    body .elementor-location-header .elementor-row {
        min-height: unset !important;
        padding: unset !important;
    }
    
    .elementor-location-header .elementor-column,
    .elementor-location-header .elementor-widget-wrap,
    body .elementor-location-header .elementor-column,
    body .elementor-location-header .elementor-widget-wrap {
        padding: unset !important;
    }
    
    /* Restore logo size */
    .elementor-location-header img,
    header img,
    body .elementor-location-header img,
    body header img {
        max-height: unset !important;
        height: auto !important;
        width: auto !important;
    }
    
    /* Restore menu items */
    .elementor-location-header .elementor-nav-menu li a,
    header nav a {
        padding: unset !important;
        font-size: unset !important;
    }
    
    .elementor-location-header .elementor-menu-toggle,
    header .menu-toggle {
        padding: unset !important;
    }
    
    .elementor-location-header .elementor-menu-toggle i,
    .elementor-location-header .eicon-menu-bar {
        font-size: unset !important;
    }
}

@media (max-width: 310px) {
    header,
    .site-header,
    .elementor-location-header,
    body header,
    body .elementor-location-header {
        min-height: unset !important;
        max-height: unset !important;
        padding: unset !important;
    }
    
    .elementor-location-header img,
    header img,
    body .elementor-location-header img,
    body header img {
        max-height: unset !important;
    }
    
    .elementor-location-header .elementor-nav-menu li a {
        font-size: unset !important;
        padding: unset !important;
    }
    
    .elementor-location-header .elementor-menu-toggle i,
    .elementor-location-header .eicon-menu-bar {
        font-size: unset !important;
    }
}

/* === FIX #7 - FINAL header fix - proper values (2025-12-12) === */

@media (max-width: 320px) {
    /* Header - normal responsive behavior */
    html body header,
    html body .site-header,
    html body .elementor-location-header,
    html body [data-elementor-type="header"] {
        min-height: auto !important;
        max-height: none !important;
        height: auto !important;
        padding-top: 0px !important;
        padding-bottom: 0px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        margin: 0 !important;
        overflow: hidden !important;
        max-width: 100vw !important;
    }
    
    html body .elementor-location-header .elementor-section,
    html body .elementor-location-header .elementor-container,
    html body .elementor-location-header .elementor-row {
        min-height: auto !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    html body .elementor-location-header .elementor-widget-wrap {
        padding: 5px !important;
    }
    
    /* Logo - reasonable size */
    html body .elementor-location-header img,
    html body header img {
        max-height: 50px !important;
        height: auto !important;
        width: auto !important;
    }
    
    /* Menu items */
    html body .elementor-location-header .elementor-nav-menu li a {
        padding: 8px 10px !important;
        font-size: 13px !important;
    }
    
    html body .elementor-location-header .elementor-menu-toggle i {
        font-size: 22px !important;
    }
}

@media (max-width: 310px) {
    html body .elementor-location-header img,
    html body header img {
        max-height: 45px !important;
    }
    
    html body .elementor-location-header .elementor-nav-menu li a {
        font-size: 12px !important;
        padding: 6px 8px !important;
    }
    
    html body .elementor-location-header .elementor-menu-toggle i {
        font-size: 20px !important;
    }
}

/* === FIX #7 - Remove header horizontal white space (2025-12-12) === */

@media (max-width: 320px) {
    html body header,
    html body .site-header,
    html body .elementor-location-header,
    html body [data-elementor-type="header"] {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
    }
    
    html body .elementor-location-header .elementor-container,
    html body .elementor-location-header .elementor-section,
    html body .elementor-location-header .elementor-row {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    
    html body .elementor-location-header .elementor-widget-wrap {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

@media (max-width: 310px) {
    html body .elementor-location-header .elementor-widget-wrap {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
}

/* === FIX #7 - Header content horizontal padding (2025-12-12) === */

@media (max-width: 320px) {
    /* Add padding to header content only */
    html body .elementor-location-header .elementor-widget-wrap {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    
    /* Logo container */
    html body .elementor-location-header .elementor-widget-image,
    html body .elementor-location-header .elementor-widget-site-logo {
        padding-left: 5px !important;
    }
    
    /* Menu toggle button */
    html body .elementor-location-header .elementor-widget-nav-menu,
    html body .elementor-location-header .elementor-menu-toggle {
        padding-right: 5px !important;
    }
}

@media (max-width: 310px) {
    html body .elementor-location-header .elementor-widget-wrap {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

/* Card responsive rules moved to card-responsive.css - using transform scale */

/* === MOBILE FILTER FIXES - Match baloo.sk reference (2025-12-15) === */

/* 1. Fix title: Make it FILTERS uppercase, centered, brown color */
#mtc-mobile-filters > h3,
.elementor-popup-modal #mtc-mobile-filters h3,
.mtc-filter-popup-body h3 {
    text-transform: uppercase !important;
    text-align: center !important;
    color: #6B4A3D !important; /* Brown/maroon color matching reference */
    font-size: 1.5rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.1em !important;
    margin-bottom: 1.5rem !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

/* 2. Hide Search field from mobile filter modal */
#mtc-mobile-filters .mtc-filter:has(#mtc-mobile-search-text),
#mtc-mobile-filters .mtc-filter:has(label[for="mtc-mobile-search-text"]),
.elementor-popup-modal #mtc-mobile-filters .mtc-filter:first-of-type:has(input[type="text"]),
#mtc-mobile-filters > .mtc-filter:first-child {
    display: none !important;
}

/* Alternative: hide search by targeting the label text */
#mtc-mobile-filters .mtc-filter label[for="mtc-mobile-search-text"],
#mtc-mobile-filters #mtc-mobile-search-text {
    display: none !important;
}

/* Make filter headers non-collapsible appearance */
#mtc-mobile-filters .mtc-filter-header {
    cursor: default !important;
}

/* Ensure filter content is always visible (not collapsed) */
#mtc-mobile-filters .mtc-filter-content {
    display: block !important;
    max-height: none !important;
    overflow: visible !important;
}

/* 4. Style section labels to match reference (bold, no icon) */
#mtc-mobile-filters .mtc-filter-header h5,
#mtc-mobile-filters .mtc-filter h5 {
    font-weight: 700 !important;
    color: #333 !important;
    font-size: 1rem !important;
    margin-bottom: 0.5rem !important;
}

/* === END MOBILE FILTER FIXES === */

/* === FIX COUNTRIES DUPLICATE SELECT2 (2025-12-15) === */
/* Hide duplicate Select2 containers in mobile filters */
#mtc-mobile-filters .mtc-filter:has(#mtc-mobile-country-select) .select2-container + .select2-container {
    display: none !important;
}

/* Ensure only one Select2 container shows */
#mtc-mobile-filters .select2-container.select2-container--default + .select2-container.select2-container--default {
    display: none !important;
}

/* Alternative: hide the original select when Select2 is active */
#mtc-mobile-filters select.mtc-searchable-select.select2-hidden-accessible + .select2-container + .select2-container {
    display: none !important;
}

/* Fix for multiple Select2 initializations */
#mtc-mobile-filters .mtc-select-wrapper .select2-container ~ .select2-container {
    display: none !important;
}

/* === FIX CONTINENT HEADING LEFT PADDING AT 310px (2025-12-15) === */
@media (max-width: 320px) {
    /* Add padding to continent/category page title */
    .mtc-travel-wrapper h1,
    .mtc-travel-wrapper h2,
    .mtc-travel-wrapper > h1,
    .mtc-travel-wrapper > h2,
    .elementor-widget-theme-archive-title h1,
    .woocommerce-products-header__title,
    .page-title,
    .archive-title,
    .category-title {
        padding-left: 15px !important;
        padding-right: 15px !important;
        margin-left: 0 !important;
    }

    /* Target the continent title specifically */
    .mtc-travel-wrapper .elementor-heading-title,
    body.tax-product_cat h1,
    body.tax-product_relation h1 {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

@media (max-width: 310px) {
    /* Even smaller screens */
    .mtc-travel-wrapper h1,
    .mtc-travel-wrapper h2,
    .mtc-travel-wrapper > h1,
    .mtc-travel-wrapper > h2,
    .elementor-widget-theme-archive-title h1,
    .woocommerce-products-header__title {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

/* === FIX MOBILE FILTER TYPOGRAPHY & SPACING (2025-12-15) === */

/* 1. Title - larger font and more top margin */
#mtc-mobile-filters > h3,
.elementor-popup-modal #mtc-mobile-filters h3 {
    font-size: 1.8rem !important;
    margin-top: 30px !important;
    margin-bottom: 25px !important;
    padding-top: 10px !important;
}

/* 2. Section labels - larger and bolder */
#mtc-mobile-filters .mtc-filter-header h5,
#mtc-mobile-filters .mtc-filter h5,
#mtc-mobile-filters h5 {
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    color: #4b241b !important;
    margin-bottom: 10px !important;
}

/* 3. Checkbox label - larger */
#mtc-mobile-filters .mtc-filter-checkbox label,
#mtc-mobile-filters label[for=mtc-mobile-last-minute] {
    font-size: 1rem !important;
    font-weight: 700 !important;
}

/* 4. Dropdown/Select text - larger */
#mtc-mobile-filters select,
#mtc-mobile-filters .select2-selection__rendered,
#mtc-mobile-filters .select2-selection--single {
    font-size: 1rem !important;
    padding: 12px 15px !important;
    min-height: 48px !important;
}

#mtc-mobile-filters .select2-container--default .select2-selection--single {
    height: auto !important;
    min-height: 48px !important;
}

#mtc-mobile-filters .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 24px !important;
    padding: 12px 15px !important;
}

/* 5. Input fields - consistent sizing */
/*#mtc-mobile-filters input[type=text],
#mtc-mobile-filters input[type=number] {
    font-size: 1rem !important;
    padding: 12px 15px !important;
    min-height: 48px !important;
}*/

/* 6. Overall spacing between filter sections */
#mtc-mobile-filters .mtc-filter {
    margin-bottom: 20px !important;
}

#mtc-mobile-filters .mtc-filter-collapsible {
    margin-bottom: 20px !important;
}

/* 7. Ensure modal has proper top padding */
#mtc-mobile-filters {
    padding-top: 20px !important;
}

/* === END TYPOGRAPHY & SPACING FIX === */

/* === FIX COUNTRIES DROPDOWN HEIGHT (2025-12-15) === */

/* Target the Countries Select2 specifically */
/*#mtc-mobile-filters .mtc-filter:has(#mtc-mobile-country-select) .select2-container,
#mtc-mobile-filters #mtc-mobile-country-select + .select2-container {
    min-height: 52px !important;
}*/

#mtc-mobile-filters .mtc-filter:has(#mtc-mobile-country-select) .select2-selection--single,
#mtc-mobile-filters #mtc-mobile-country-select + .select2-container .select2-selection--single {
    min-height: 52px !important;
    height: 52px !important;
    padding: 14px 15px !important;
    display: flex !important;
    align-items: center !important;
}

#mtc-mobile-filters .mtc-filter:has(#mtc-mobile-country-select) .select2-selection__rendered,
#mtc-mobile-filters #mtc-mobile-country-select + .select2-container .select2-selection__rendered {
    line-height: 24px !important;
    padding-left: 0 !important;
    /*padding-top: 0 !important;*/
}

#mtc-mobile-filters .mtc-filter:has(#mtc-mobile-country-select) .select2-selection__arrow,
#mtc-mobile-filters #mtc-mobile-country-select + .select2-container .select2-selection__arrow {
    height: 50px !important;
    top: 0 !important;
}

/* Make all dropdowns consistent height */
#mtc-mobile-filters .select2-container .select2-selection--single {
    min-height: 52px !important;
    height: 52px !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
}

#mtc-mobile-filters select {
    min-height: 52px !important;
    height: 52px !important;
    padding: 14px 15px !important;
}

/* === END COUNTRIES DROPDOWN FIX === */

/* === MOBILE FILTER FIXES V4 - Match baloo.sk exactly (2025-12-15) === */

/* 1. FILTRE title - brown, uppercase, NO italic, centered, NO underline */
#mtc-mobile-filters > h3,
.elementor-popup-modal #mtc-mobile-filters h3,
.mtc-filter-popup h3,
.mtc-filter-popup-body h3 {
    text-transform: uppercase !important;
    text-align: center !important;
    color: #5D4037 !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    font-style: normal !important;
    letter-spacing: 2px !important;
    margin-top: 15px !important;
    margin-bottom: 20px !important;
    border-bottom: none !important;
    text-decoration: none !important;
    padding-bottom: 0 !important;
    background: none !important;
}

/* Remove ANY underline/pseudo-element from title */
#mtc-mobile-filters > h3::after,
#mtc-mobile-filters > h3::before,
.elementor-popup-modal #mtc-mobile-filters h3::after,
.elementor-popup-modal #mtc-mobile-filters h3::before {
    display: none !important;
    content: none !important;
    border: none !important;
    background: none !important;
}

/* 2. Section labels - BLACK text, bold, 16px */
#mtc-mobile-filters .mtc-filter-header h5,
#mtc-mobile-filters .mtc-filter h5,
#mtc-mobile-filters h5,
.elementor-popup-modal #mtc-mobile-filters h5 {
    color: #000000 !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    font-style: normal !important;
    margin-bottom: 8px !important;
}

/* 3. Dropdown container - white bg, thin gray border, 44px height */
/*#mtc-mobile-filters .select2-container--default .select2-selection--single {
    border: 1px solid #e0e0e0 !important;
    border-radius: 4px !important;
    background-color: #ffffff !important;
    height: 44px !important;
    min-height: 44px !important;
}*/

/* Dropdown text - brown/sienna color, 14px */
#mtc-mobile-filters .select2-selection__rendered,
#mtc-mobile-filters .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #8B4513 !important;
    font-size: 14px !important;
    line-height: 42px !important;
    padding-left: 12px !important;
}

/* Dropdown arrow positioning */
#mtc-mobile-filters .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 42px !important;
}

/* 4. Od and Do labels in Terminy section */
#mtc-mobile-filters .mtc-filter-content label,
#mtc-mobile-filters .date-label {
    color: #000000 !important;
    font-weight: 400 !important;
    font-size: 14px !important;
}

/* === END MOBILE FILTER FIXES V4 === */

/* === MOBILE FILTER FIXES V5 - User step-by-step (2025-12-15) === */

/* 1. INCREASE FILTER HEADER SIZE - larger than 24px */
#mtc-mobile-filters > h3,
.elementor-popup-modal #mtc-mobile-filters h3,
.mtc-filter-popup h3,
.mtc-filter-popup-body h3 {
    font-size: 28px !important;
    font-weight: 400 !important;
    font-style: normal !important;
    text-transform: uppercase !important;
    text-align: center !important;
    color: #5D4037 !important;
    letter-spacing: 3px !important;
    margin-top: 15px !important;
    margin-bottom: 20px !important;
    border-bottom: none !important;
    text-decoration: none !important;
    padding-bottom: 0 !important;
    background: none !important;
}

/* 2. REDUCE FIELD HEIGHT - match reference (smaller dropdowns) */
#mtc-mobile-filters .select2-container--default .select2-selection--single {
    height: 40px !important;
    min-height: 40px !important;
    /*border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;*/
    background-color: #ffffff !important;
}

#mtc-mobile-filters .select2-container .select2-selection--single {
    height: 40px !important;
    min-height: 40px !important;
}

#mtc-mobile-filters select {
    height: 40px !important;
    min-height: 40px !important;
    padding: 8px 12px !important;
}

/* Dropdown text positioning for smaller height */
#mtc-mobile-filters .select2-selection__rendered,
#mtc-mobile-filters .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #8B4513 !important;
    font-size: 14px !important;
    line-height: 38px !important;
    padding-left: 12px !important;
}

/* Dropdown arrow for smaller height */
#mtc-mobile-filters .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 38px !important;
}

/* 3. INCREASE LABEL TEXT SIZE & MAKE MORE BROWN */
#mtc-mobile-filters .mtc-filter-header h5,
#mtc-mobile-filters .mtc-filter h5,
#mtc-mobile-filters h5,
.elementor-popup-modal #mtc-mobile-filters h5 {
    color: #5D4037 !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    font-style: normal !important;
    margin-bottom: 10px !important;
}

/* Od and Do labels also brown */
#mtc-mobile-filters .mtc-filter-content label,
#mtc-mobile-filters .date-label {
    color: #5D4037 !important;
    font-weight: 400 !important;
    font-size: 14px !important;
}

/* === END V5 === */

/* === MOBILE FILTER FIXES V6 - Fine-tuning (2025-12-15) === */

/* 1. FILTRE title - larger, dark brown, bold */
#mtc-mobile-filters > h3,
.elementor-popup-modal #mtc-mobile-filters h3,
.mtc-filter-popup h3,
.mtc-filter-popup-body h3 {
    font-size: 32px !important;
    font-weight: 700 !important;
    font-style: normal !important;
    text-transform: uppercase !important;
    text-align: center !important;
    color: #4A3728 !important;
    letter-spacing: 3px !important;
    margin-top: 10px !important;
    margin-bottom: 20px !important;
    border-bottom: none !important;
    text-decoration: none !important;
    padding-bottom: 0 !important;
    background: none !important;
}

/* 2. Reduce modal padding to increase field width */
/*#mtc-mobile-filters {
    padding-left: 12px !important;
    padding-right: 12px !important;
}

.elementor-popup-modal #mtc-mobile-filters,
.mtc-filter-popup-body {
    padding-left: 12px !important;
    padding-right: 12px !important;
}*/

/* 3. ALL dropdowns uniform height (including Country and Date range) */
#mtc-mobile-filters .select2-container--default .select2-selection--single,
#mtc-mobile-filters .select2-container .select2-selection--single,
#mtc-mobile-filters select,
#mtc-mobile-filters .mtc-filter select,
#mtc-mobile-filters #mtc-mobile-country-select + .select2-container .select2-selection--single {
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
}

/* Dropdown text line-height for 38px height */
#mtc-mobile-filters .select2-selection__rendered,
#mtc-mobile-filters .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 36px !important;
    padding-left: 12px !important;
    color: #8B4513 !important;
    font-size: 14px !important;
}

/* Dropdown arrow for 38px height */
#mtc-mobile-filters .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px !important;
}

/* Date range inputs uniform height */
#mtc-mobile-filters input[type="text"],
#mtc-mobile-filters input[type="date"],
#mtc-mobile-filters .mtc-date-input,
#mtc-mobile-filters .date-picker-input {
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 8px 12px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
}

/* Section labels - dark brown, bold */
#mtc-mobile-filters .mtc-filter-header h5,
#mtc-mobile-filters .mtc-filter h5,
#mtc-mobile-filters h5,
.elementor-popup-modal #mtc-mobile-filters h5 {
    color: #4A3728 !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    font-style: normal !important;
    margin-bottom: 8px !important;
}

/* === END V6 === */

/* === MOBILE FILTER FIXES V7 - Width & Header weight (2025-12-15) === */

/* 1. FILTRE title - REGULAR weight (not bold) */
#mtc-mobile-filters > h3,
.elementor-popup-modal #mtc-mobile-filters h3,
.mtc-filter-popup h3,
.mtc-filter-popup-body h3 {
    font-weight: 400 !important;
}

/* 2. Reduce modal padding MORE to increase field width */
/*#mtc-mobile-filters {
    padding-left: 8px !important;
    padding-right: 8px !important;
}

.elementor-popup-modal #mtc-mobile-filters,
.mtc-filter-popup-body {
    padding-left: 8px !important;
    padding-right: 8px !important;
}*/

/* 3. Make filter sections full width */
#mtc-mobile-filters .mtc-filter,
#mtc-mobile-filters .mtc-filter-collapsible {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* 4. All dropdowns and inputs full width */
#mtc-mobile-filters .select2-container,
#mtc-mobile-filters select,
#mtc-mobile-filters input[type="text"],
#mtc-mobile-filters input[type="date"],
#mtc-mobile-filters .mtc-date-input {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* === END V7 === */

/* === MOBILE FILTER FIXES V8 - Match reference exactly (2025-12-15) === */

/* 1. FILTRE title - exact match to reference */
#mtc-mobile-filters > h3,
.elementor-popup-modal #mtc-mobile-filters h3,
.mtc-filter-popup h3,
.mtc-filter-popup-body h3 {
    font-family: Quicksand, sans-serif !important;
    font-weight: 400 !important;
    font-size: 2.25rem !important;
    line-height: 2.5rem !important;
    text-transform: uppercase !important;
    text-align: center !important;
    color: var(--brown, #4A3728) !important;
    margin-top: 0.5rem !important;
    margin-bottom: 0.83em !important;
    border-bottom: none !important;
    text-decoration: none !important;
    padding-bottom: 0 !important;
    background: none !important;
    font-style: normal !important;
}

/* Mobile responsive - 768px */
@media (max-width: 768px) {
    #mtc-mobile-filters > h3,
    .elementor-popup-modal #mtc-mobile-filters h3,
    .mtc-filter-popup h3 {
        font-size: 24px !important;
    }
}

/* === END V8 === */

/* === MOBILE FILTER FIXES V9 - Exact color & size (2025-12-15) === */

/* FILTRE title - exact color #4b241b, 24px for mobile */
#mtc-mobile-filters > h3,
.elementor-popup-modal #mtc-mobile-filters h3,
.mtc-filter-popup h3,
.mtc-filter-popup-body h3 {
    font-family: Quicksand, sans-serif !important;
    font-weight: 400 !important;
    font-size: 24px !important;
    line-height: 2.5rem !important;
    text-transform: uppercase !important;
    text-align: center !important;
    color: #4b241b !important;
    margin-top: 0.5rem !important;
    margin-bottom: 0.83em !important;
    border-bottom: none !important;
    text-decoration: none !important;
    padding-bottom: 0 !important;
    background: none !important;
    font-style: normal !important;
}

/* === END V9 === */

/* === MOBILE FILTER FIXES V10 - Section labels font (2025-12-15) === */

/* Section labels - Quicksand font, bold, brown color */
#mtc-mobile-filters .mtc-filter-header h5,
#mtc-mobile-filters .mtc-filter h5,
#mtc-mobile-filters h5,
.elementor-popup-modal #mtc-mobile-filters h5 {
    font-family: 'Quicksand', sans-serif !important;
    font-weight: 700 !important;
    color: #4b241b !important;
    font-size: 16px !important;
    font-style: normal !important;
    margin-bottom: 8px !important;
    cursor: pointer !important;
}

/* === END V10 === */

/* === MOBILE FILTER FIXES V11 - Button styling (2025-12-15) === */

/* Primary submit/confirm button - POTVRDIŤ style */
#mtc-mobile-filters .mtc-filter-apply,
#mtc-mobile-filters .mtc-apply-filters,
#mtc-mobile-filters button[type="submit"],
#mtc-mobile-filters .button-primary,
.elementor-popup-modal #mtc-mobile-filters .mtc-filter-apply,
.elementor-popup-modal #mtc-mobile-filters button[type="submit"] {
    background-color: #d4882a !important;
    background: #d4882a !important;
    color: #ffffff !important;
    font-family: 'Quicksand', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 20px !important;
    width: 100% !important;
    cursor: pointer !important;
    margin-top: 15px !important;
    margin-bottom: 10px !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease !important;
}

#mtc-mobile-filters .mtc-filter-apply:hover,
#mtc-mobile-filters .mtc-apply-filters:hover,
#mtc-mobile-filters button[type="submit"]:hover {
    background-color: #c07a24 !important;
    background: #c07a24 !important;
}

/* Secondary reset/clear button - ZRUŠIŤ FILTRE style */
#mtc-mobile-filters .mtc-filter-reset,
#mtc-mobile-filters .mtc-clear-filters,
#mtc-mobile-filters .reset-filters,
#mtc-mobile-filters a.reset,
.elementor-popup-modal #mtc-mobile-filters .mtc-filter-reset,
.elementor-popup-modal #mtc-mobile-filters .mtc-clear-filters {
    background: transparent !important;
    background-color: transparent !important;
    color: #4b241b !important;
    font-family: 'Quicksand', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border: none !important;
    padding: 10px 20px !important;
    width: 100% !important;
    cursor: pointer !important;
    text-align: center !important;
    display: block !important;
    text-decoration: none !important;
}

#mtc-mobile-filters .mtc-filter-reset:hover,
#mtc-mobile-filters .mtc-clear-filters:hover,
#mtc-mobile-filters .reset-filters:hover {
    text-decoration: underline !important;
}

/* === END V11 === */

/* === MOBILE FILTER FIXES V16 - Field styling fixes (2025-12-15) === */

/* 1. Price range inputs - match height with other fields */
/*#mtc-mobile-filters .mtc-filter-price-range input[type="number"],
#mtc-mobile-filters input[name*="price"],
#mtc-mobile-filters input[name*="cena"],
.elementor-popup-modal #mtc-mobile-filters input[name*="price"],
.elementor-popup-modal #mtc-mobile-filters input[name*="cena"] {
    height: 42px !important;
    min-height: 42px !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
}*/

/* 2. Characteristics multiselect - show as proper dropdown */
#mtc-mobile-filters select[multiple],
#mtc-mobile-filters .mtc-filter select[multiple],
.elementor-popup-modal #mtc-mobile-filters select[multiple] {
    height: auto !important;
    min-height: 42px !important;
    max-height: 150px !important;
    overflow-y: auto !important;
    padding: 4px !important;
    border-radius: 4px !important;
}

#mtc-mobile-filters select[multiple] option,
.elementor-popup-modal #mtc-mobile-filters select[multiple] option {
    padding: 6px 8px !important;
    font-size: 14px !important;
}

/* Select2 for characteristics - proper dropdown display */
#mtc-mobile-filters .select2-container--default .select2-selection--multiple,
.elementor-popup-modal #mtc-mobile-filters .select2-container--default .select2-selection--multiple {
    min-height: 42px !important;
    border-radius: 4px !important;
    padding: 4px 8px !important;
}

#mtc-mobile-filters .select2-container--default .select2-selection--multiple .select2-selection__rendered,
.elementor-popup-modal #mtc-mobile-filters .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
}

/* 3. Country field placeholder - center aligned */
#mtc-mobile-filters select[name*="country"] option:first-child,
#mtc-mobile-filters select[name*="krajin"] option:first-child,
#mtc-mobile-filters .country-select option:first-child,
.elementor-popup-modal #mtc-mobile-filters select[name*="country"] option:first-child,
.elementor-popup-modal #mtc-mobile-filters select[name*="krajin"] option:first-child {
    text-align: center !important;
}

/* Select2 country placeholder - center */
#mtc-mobile-filters .select2-selection__placeholder,
.elementor-popup-modal #mtc-mobile-filters .select2-selection__placeholder {
    text-align: center !important;
    width: 100% !important;
    display: block !important;
}

/* Select2 rendered text for country - center when placeholder */
#mtc-mobile-filters .select2-container .select2-selection--single .select2-selection__rendered,
.elementor-popup-modal #mtc-mobile-filters .select2-container .select2-selection--single .select2-selection__rendered {
    text-align: center !important;
    padding-left: 0 !important;
    padding-right: 20px !important;
}

/* === END V16 === */

/* === CLS FIX: Reserve space for card listing before JS renders cards === */
.mtc-card-listing {
    contain: layout style;
}
/*@media (max-width: 763px) {
    .mtc-card-listing {
        min-height: 1200px;
    }
}*/

/* ===== END: style.css ===== */

/* ===== BEGIN: card-responsive.css ===== */
/* =====================================================
   CARD RESPONSIVE STYLES
   Using ZOOM for proportional scaling (including text)
   ===================================================== */

/* === 960px BREAKPOINT - Mobile layout === */
@media (max-width: 960px) {
    .mtc-card-listing, [class*="mtc-card-listing"] {
        grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
        gap: 15px;
    }

    #mtc-content-area, [id^="mtc-content-area"] {
        width: 100%;
        padding: 15px;
    }
}

/* === 768px BREAKPOINT - Homepage/Page grid === */
@media (max-width: 768px) {
    body.home .mtc-card-listing,
    body.page-id-2 .mtc-card-listing {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    }
}

/* === 763px BREAKPOINT - Card centering === */
@media (max-width: 763px) {
    .mtc-card-listing {
        place-items: center;
        display: grid;
        gap: 25px;
    }
}

/* === 500px BREAKPOINT - Zoom 0.95 === */
@media (max-width: 500px) {
    .mtc-card-listing,
    [class*="mtc-card-listing"] {
        grid-template-columns: 1fr;
        gap: 15px;
        padding: 0 10px;
        justify-items: center;
    }

    /* Zoom scales EVERYTHING: dimensions, text, padding */
    .mtc-card {
        zoom: 0.95 !important;
    }

    #mtc-content-area, [id^="mtc-content-area"] {
        width: 100%;
        padding: 0 5px;
    }
}

/* === 420px BREAKPOINT - Zoom 0.88 === */
@media (max-width: 420px) {
    .mtc-card {
        zoom: 0.88 !important;
    }

    .mtc-card-listing,
    [class*="mtc-card-listing"] {
        padding: 0 8px;
    }
}

/* === 380px BREAKPOINT - Zoom 0.82 === */
@media (max-width: 380px) {
    .mtc-card {
        zoom: 0.82 !important;
    }

    .mtc-card-listing,
    [class*="mtc-card-listing"] {
        gap: 12px;
        padding: 0 5px;
    }
}

/* === 350px BREAKPOINT - Zoom 0.75 === */
@media (max-width: 350px) {
    .mtc-card {
        zoom: 0.75 !important;
    }

    .mtc-card-listing,
    [class*="mtc-card-listing"] {
        gap: 10px;
        padding: 0 5px;
    }
}

/* === 320px BREAKPOINT - Zoom 0.68 === */
@media (max-width: 320px) {
    .mtc-card {
        zoom: 0.68 !important;
    }

    .mtc-card-listing,
    [class*="mtc-card-listing"] {
        gap: 5px;
        padding: 0;
    }

    #mtc-content-area, [id^="mtc-content-area"] {
        padding: 0;
    }
}

/* ===== END: card-responsive.css ===== */

/* ===== BEGIN: filter-sidebar.css ===== */
/* =====================================================
   FILTER SIDEBAR - DESKTOP
   Desktop filter sidebar styles only
   Mobile filters are in filter-mobile.css
   ===================================================== */

/* === SIDEBAR CONTAINER === */
:root {
    /* Adjust if your header is taller/shorter on desktop. */
    --mtc-sticky-top: 110px;
}

/* Logged-in users get the WP admin bar (32px on desktop). */
body.admin-bar {
    --mtc-sticky-top: 142px;
}

#mtc-filters {
    width: 280px;
    padding: 20px;
    background-color: #fff;
    border-right: 1px solid var(--border-color);
    /* Keep filters visible while scrolling the listing. */
    position: sticky;
    top: var(--mtc-sticky-top);
    align-self: flex-start; /* Needed when inside a flex layout */
    max-height: calc(100vh - var(--mtc-sticky-top) - 20px);
    overflow-y: auto;
    overscroll-behavior: contain;
    z-index: 20;
    flex-shrink: 0;
    margin-bottom: 20px;
}

/* Placeholder used by JS "fixed" fallback to avoid layout shift. */
.mtc-filters-placeholder {
    flex-shrink: 0;
}

/* === SIDEBAR HEADER === */
#mtc-filters h3 {
    margin-top: 0;
    margin-bottom: 1.5rem;
    color: var(--primary-dark);
    font-size: 1.5rem;
    text-transform: uppercase;
    border-bottom: 2px solid var(--primary-orange);
    padding-bottom: 0.5rem;
    font-family: inherit;
}

/* === FILTER SECTIONS === */
.mtc-filter {
    margin-bottom: 1.5rem;
}

.mtc-filter label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: var(--primary-dark);
    font-size: 0.9rem;
}

/* === FORM INPUTS === */
#mtc-filters select,
#mtc-filters input[type="number"],
#mtc-filters input[type="text"] {
    width: 100%;
    border-radius: 4px;
    font-size: 0.9rem;
    background-color: var(--primary-light);
    font-family: inherit;
}

#mtc-filters select[multiple] {
    height: 120px;
}

/* Remove number input spinners */
#mtc-filters input[type="number"] {
    -moz-appearance: textfield;
}

#mtc-filters input::-webkit-outer-spin-button,
#mtc-filters input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* === PRICE RANGE === */
.mtc-filter-price-range {
    display: flex;
    gap: 10px;
}

.mtc-filter-price-range > div {
    flex: 1;
}

/* === RESET BUTTON === */
#mtc-filters .mtc-reset-button,
button.mtc-reset-button,
button#mtc-reset-filters {
    width: 100%;
    padding: 12px 16px;
    background-color: var(--primary-orange);
    color: var(--text-white);
    border: none;
    border-radius: 6px;
    font-size: 0.9rem;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
    white-space: nowrap;
    user-select: none;
    display: block;
}

#mtc-filters .mtc-reset-button:hover,
button.mtc-reset-button:hover,
button#mtc-reset-filters:hover {
    background-color: var(--primary-dark);
    color: var(--text-white);
    border: none;
}

#mtc-filters .mtc-reset-button:active,
button.mtc-reset-button:active,
button#mtc-reset-filters:active {
    background-color: var(--primary-dark);
    color: var(--text-white);
    border: none;
    transform: translateY(0);
}

/* === RESPONSIVE - HIDE DESKTOP SIDEBAR ON MOBILE === */
@media (max-width: 960px) {
    .mtc-travel-wrapper #mtc-filters {
        display: none;
        width: 100%;
        border-right: none;
        border-bottom: none;
        padding: 0;
        margin-bottom: 0;
        background-color: transparent;
    }
}

/* ===== END: filter-sidebar.css ===== */

/* ===== BEGIN: filter-mobile.css ===== */
/* =====================================================
   FILTER MOBILE STYLES
   Consolidated V1-V16 mobile filter patches
   Removes duplicates, keeps final working versions
   ===================================================== */

/* === MOBILE FILTER LAYOUT === */
@media (max-width: 960px) {
    .mtc-travel-wrapper {
        flex-direction: column;
    }

    /* Hide desktop filters on mobile - use mobile popup instead */
    .mtc-travel-wrapper #mtc-filters {
        display: none !important;
    }

    /* Show mobile filter button */
    .mtc-travel-wrapper .mtc-mobile-filter-button {
        display: inline-flex;
    }

    /* Mobile filter popup styles */
    .mtc-filter-popup-body .mtc-filter {
        margin-bottom: 1.5rem;
    }

    .mtc-filter-popup-body .mtc-filter label {
        display: block;
        margin-bottom: 0.5rem;
        font-weight: 600;
        color: var(--primary-dark);
        font-size: 0.9rem;
    }

    /* Style inputs/selects within mobile popup */
    .mtc-filter-popup-body select,
    .mtc-filter-popup-body input[type="number"],
    .mtc-filter-popup-body input[type="text"] {
        width: 100%;
        padding: 0.6rem 0.8rem;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 0.9rem;
        background-color: var(--primary-light);
        font-family: inherit;
    }
}

/* === MOBILE FILTER MODAL HEADER === */
/* FILTRE title - consolidated from V1-V16 */
#mtc-mobile-filters > h3,
.elementor-popup-modal #mtc-mobile-filters h3,
.mtc-filter-popup h3,
.mtc-filter-popup-body h3 {
    font-family: Quicksand, sans-serif;
    font-weight: 400;
    font-size: 24px;
    line-height: 2.5rem;
    text-transform: uppercase;
    text-align: center;
    color: #4b241b;
    margin-top: 0.5rem;
    margin-bottom: 0.83em;
    border-bottom: none;
    text-decoration: none;
    padding-bottom: 0;
    background: none;
    font-style: normal;
    letter-spacing: 0.1em;
}

/* Remove any underline/pseudo-element from title */
#mtc-mobile-filters > h3::after,
#mtc-mobile-filters > h3::before,
.elementor-popup-modal #mtc-mobile-filters h3::after,
.elementor-popup-modal #mtc-mobile-filters h3::before {
    display: none;
    content: none;
    border: none;
    background: none;
}

/* === SECTION LABELS === */
/* Section labels - consolidated from V1-V16 */
#mtc-mobile-filters .mtc-filter-header h5,
#mtc-mobile-filters .mtc-filter h5,
#mtc-mobile-filters h5,
.elementor-popup-modal #mtc-mobile-filters h5 {
    font-family: 'Quicksand', sans-serif;
    font-weight: 700;
    color: #4b241b;
    font-size: 16px;
    font-style: normal;
    margin-bottom: 8px;
    cursor: pointer;
}

/* Od and Do labels in date section */
#mtc-mobile-filters .mtc-filter-content label,
#mtc-mobile-filters .date-label {
    color: #5D4037;
    font-weight: 400;
    font-size: 14px;
}

/* === HIDE SEARCH FIELD === */
/* Hide Search field from mobile filter modal */
#mtc-mobile-filters .mtc-filter:has(#mtc-mobile-search-text),
#mtc-mobile-filters .mtc-filter:has(label[for="mtc-mobile-search-text"]),
.elementor-popup-modal #mtc-mobile-filters .mtc-filter:first-of-type:has(input[type="text"]),
#mtc-mobile-filters > .mtc-filter:first-child {
    display: none;
}

#mtc-mobile-filters .mtc-filter label[for="mtc-mobile-search-text"],
#mtc-mobile-filters #mtc-mobile-search-text {
    display: none;
}

/* === COLLAPSIBLE BEHAVIOR === */
/* Make filter headers non-collapsible appearance */
#mtc-mobile-filters .mtc-filter-header {
    cursor: default;
}

/* Ensure filter content is always visible (not collapsed) */
#mtc-mobile-filters .mtc-filter-content {
    display: block;
    max-height: none;
    overflow: visible;
}

/* === DROPDOWN FIELDS === */
/* All dropdowns uniform height (including Country and Date range) - consolidated */
#mtc-mobile-filters .select2-container--default .select2-selection--single,
#mtc-mobile-filters .select2-container .select2-selection--single,
#mtc-mobile-filters select,
#mtc-mobile-filters .mtc-filter select,
#mtc-mobile-filters #mtc-mobile-country-select + .select2-container .select2-selection--single {
    height: 38px;
    min-height: 38px;
    max-height: 38px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background-color: #ffffff;
}

#mtc-mobile-filters .select2-container--default .select2-selection--single {
    height: 40px;
    min-height: 40px;
    background-color: #ffffff;
}

/* Dropdown text positioning - consolidated */
#mtc-mobile-filters .select2-selection__rendered,
#mtc-mobile-filters .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #8B4513;
    font-size: 14px;
    line-height: 36px;
    padding-left: 12px;
}

/* Dropdown arrow positioning */
#mtc-mobile-filters .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px;
}

/* Country field specific adjustments */
#mtc-mobile-filters .mtc-filter:has(#mtc-mobile-country-select) .select2-selection--single,
#mtc-mobile-filters #mtc-mobile-country-select + .select2-container .select2-selection--single {
    min-height: 52px;
    height: 52px;
    padding: 14px 15px;
    display: flex;
    align-items: center;
}

#mtc-mobile-filters .mtc-filter:has(#mtc-mobile-country-select) .select2-selection__rendered,
#mtc-mobile-filters #mtc-mobile-country-select + .select2-container .select2-selection__rendered {
    line-height: 24px;
    padding-left: 0;
}

#mtc-mobile-filters .mtc-filter:has(#mtc-mobile-country-select) .select2-selection__arrow,
#mtc-mobile-filters #mtc-mobile-country-select + .select2-container .select2-selection__arrow {
    height: 50px;
    top: 0;
}

/* === DATE RANGE INPUTS === */
#mtc-mobile-filters input[type="text"],
#mtc-mobile-filters input[type="date"],
#mtc-mobile-filters .mtc-date-input,
#mtc-mobile-filters .date-picker-input {
    height: 38px;
    min-height: 38px;
    max-height: 38px;
    padding: 8px 12px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
}

/* === MULTISELECT CHARACTERISTICS === */
/* Characteristics multiselect - show as proper dropdown */
#mtc-mobile-filters select[multiple],
#mtc-mobile-filters .mtc-filter select[multiple],
.elementor-popup-modal #mtc-mobile-filters select[multiple] {
    height: auto;
    min-height: 42px;
    max-height: 150px;
    overflow-y: auto;
    padding: 4px;
    border-radius: 4px;
}

#mtc-mobile-filters select[multiple] option,
.elementor-popup-modal #mtc-mobile-filters select[multiple] option {
    padding: 6px 8px;
    font-size: 14px;
}

/* Select2 for characteristics - proper dropdown display */
#mtc-mobile-filters .select2-container--default .select2-selection--multiple,
.elementor-popup-modal #mtc-mobile-filters .select2-container--default .select2-selection--multiple {
    min-height: 42px;
    border-radius: 4px;
    padding: 4px 8px;
}

#mtc-mobile-filters .select2-container--default .select2-selection--multiple .select2-selection__rendered,
.elementor-popup-modal #mtc-mobile-filters .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

/* === COUNTRY FIELD PLACEHOLDER === */
/* Country field placeholder - center aligned */
#mtc-mobile-filters select[name*="country"] option:first-child,
#mtc-mobile-filters select[name*="krajin"] option:first-child,
#mtc-mobile-filters .country-select option:first-child,
.elementor-popup-modal #mtc-mobile-filters select[name*="country"] option:first-child,
.elementor-popup-modal #mtc-mobile-filters select[name*="krajin"] option:first-child {
    text-align: center;
}

/* Select2 country placeholder - center */
#mtc-mobile-filters .select2-selection__placeholder,
.elementor-popup-modal #mtc-mobile-filters .select2-selection__placeholder {
    text-align: center;
    width: 100%;
    display: block;
}

/* Select2 rendered text for country - center when placeholder */
#mtc-mobile-filters .select2-container .select2-selection--single .select2-selection__rendered,
.elementor-popup-modal #mtc-mobile-filters .select2-container .select2-selection--single .select2-selection__rendered {
    text-align: center;
    padding-left: 0;
    padding-right: 20px;
}

/* === FIX DUPLICATE SELECT2 === */
/* Hide duplicate Select2 containers */
#mtc-mobile-filters .mtc-filter:has(#mtc-mobile-country-select) .select2-container + .select2-container {
    display: none;
}

#mtc-mobile-filters .select2-container.select2-container--default + .select2-container.select2-container--default {
    display: none;
}

#mtc-mobile-filters select.mtc-searchable-select.select2-hidden-accessible + .select2-container + .select2-container {
    display: none;
}

#mtc-mobile-filters .mtc-select-wrapper .select2-container ~ .select2-container {
    display: none;
}

/* === BUTTONS === */
/* Primary submit/confirm button - POTVRDIŤ style */
#mtc-mobile-filters .mtc-filter-apply,
#mtc-mobile-filters .mtc-apply-filters,
#mtc-mobile-filters button[type="submit"],
#mtc-mobile-filters .button-primary,
.elementor-popup-modal #mtc-mobile-filters .mtc-filter-apply,
.elementor-popup-modal #mtc-mobile-filters button[type="submit"] {
    background-color: #d4882a;
    background: #d4882a;
    color: #ffffff;
    font-family: 'Quicksand', sans-serif;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: none;
    border-radius: 8px;
    padding: 12px 20px;
    width: 100%;
    cursor: pointer;
    margin-top: 15px;
    margin-bottom: 10px;
    box-shadow: none;
    transition: background-color 0.2s ease;
}

#mtc-mobile-filters .mtc-filter-apply:hover,
#mtc-mobile-filters .mtc-apply-filters:hover,
#mtc-mobile-filters button[type="submit"]:hover {
    background-color: #c07a24;
    background: #c07a24;
}

/* Secondary reset/clear button - ZRUŠIŤ FILTRE style */
#mtc-mobile-filters .mtc-filter-reset,
#mtc-mobile-filters .mtc-clear-filters,
#mtc-mobile-filters .reset-filters,
#mtc-mobile-filters a.reset,
.elementor-popup-modal #mtc-mobile-filters .mtc-filter-reset,
.elementor-popup-modal #mtc-mobile-filters .mtc-clear-filters {
    background: transparent;
    background-color: transparent;
    color: #4b241b;
    font-family: 'Quicksand', sans-serif;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: none;
    padding: 10px 20px;
    width: 100%;
    cursor: pointer;
    text-align: center;
    display: block;
    text-decoration: none;
}

#mtc-mobile-filters .mtc-filter-reset:hover,
#mtc-mobile-filters .mtc-clear-filters:hover,
#mtc-mobile-filters .reset-filters:hover {
    text-decoration: underline;
}

/* === LAYOUT & SPACING === */
/* Overall spacing between filter sections */
#mtc-mobile-filters .mtc-filter {
    margin-bottom: 20px;
}

#mtc-mobile-filters .mtc-filter-collapsible {
    margin-bottom: 20px;
}

/* Modal padding */
#mtc-mobile-filters {
    padding-top: 20px;
}

/* Make filter sections full width */
#mtc-mobile-filters .mtc-filter,
#mtc-mobile-filters .mtc-filter-collapsible {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0;
}

/* All dropdowns and inputs full width */
#mtc-mobile-filters .select2-container,
#mtc-mobile-filters select,
#mtc-mobile-filters input[type="text"],
#mtc-mobile-filters input[type="date"],
#mtc-mobile-filters .mtc-date-input {
    width: 100%;
    box-sizing: border-box;
}

/* === RESPONSIVE BREAKPOINTS === */
@media (max-width: 768px) {
    #mtc-mobile-filters > h3,
    .elementor-popup-modal #mtc-mobile-filters h3,
    .mtc-filter-popup h3 {
        font-size: 24px;
    }
}

/* ===== END: filter-mobile.css ===== */

/* ===== BEGIN: homepage.css ===== */
/* =====================================================
   HOMEPAGE SPECIFIC STYLES
   Target homepage to show only one row per taxonomy section
   ===================================================== */

/* === HOMEPAGE CARD LISTING === */
body.home .mtc-card-listing,
body.page-id-2 .mtc-card-listing {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, auto));
    justify-content: start;
    gap: 25px;
}

/* === RESPONSIVE ADJUSTMENTS FOR HOMEPAGE === */

@media (max-width: 960px) {
    body.home .mtc-card-listing,
    body.page-id-2 .mtc-card-listing {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    }
}

@media (max-width: 768px) {
    body.home .mtc-card-listing,
    body.page-id-2 .mtc-card-listing {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    }
}

@media (max-width: 480px) {
    body.home .mtc-card-listing,
    body.page-id-2 .mtc-card-listing {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 320px) {
    body.home .mtc-card-listing,
    body.page-id-2 .mtc-card-listing {
        grid-template-columns: 1fr;
    }
}

/* ===== END: homepage.css ===== */

/* ===== BEGIN: utilities.css ===== */
/* =====================================================
   UTILITIES
   Helper classes, z-index fixes, and misc utilities
   ===================================================== */

/* === Z-INDEX HIERARCHY === */

/* Cards base z-index */
.mtc-card {
    z-index: 1;
    position: relative;
}

/* Ensure header stays on top */
.elementor-location-header,
header,
.site-header,
#masthead {
    z-index: 9999;
}

/* === SELECT2 Z-INDEX FIXES === */

/* Fix Select2 dropdown z-index issues - must appear above filters */
.select2-dropdown {
    z-index: 99999 !important;
}

/* Ensure Select2 container has proper positioning */
.select2-container--open .select2-dropdown {
    z-index: 99999 !important;
}

/* Fix Select2 dropdown positioning issues */
.select2-container--default.select2-container--open {
    z-index: 99999 !important;
}

/* When dropdown is appended to body (position: absolute), set fixed width */
body > .select2-container.select2-container--open {
    width: 240px !important;
}

/* Ensure dropdown itself matches container width */
body > .select2-container .select2-dropdown {
    width: 240px !important;
}

/* Critical: Allow Select2 to break out of filter container */
#mtc-filters .select2-container {
    position: relative;
    z-index: 10;
}

/* When Select2 is open, increase z-index further */
#mtc-filters .select2-container--open {
    z-index: 99999 !important;
}

/* Ensure dropdown appears above all filter elements */
#mtc-filters .select2-dropdown {
    z-index: 99999 !important;
}

/* Prevent popup from moving when Select2 opens */
.mtc-filter-popup-body .select2-container {
    position: relative;
}

.mtc-filter-popup-body .select2-dropdown {
    z-index: 99999 !important;
}

/* === SELECT2 DROPDOWN SCROLLING FIX === */

/* Ensure Select2 results list is scrollable */
.select2-results__options {
    max-height: 300px;
    overflow-y: auto;
}

/* Fix for Krajina (country) filter scrollbar - apply to all country selects */
.mtc-country-select + .select2-container .select2-results__options {
    max-height: 300px;
    overflow-y: auto !important;
}

/* Ensure dropdown container allows scrolling */
.select2-container--default .select2-results > .select2-results__options {
    max-height: 300px;
    overflow-y: auto;
}

/* ===== END: utilities.css ===== */

/* ===== BEGIN: filter-style.css ===== */
/* Custom Filter Styling to match the provided design */

/* Override existing filter styles */
#mtc-filters {
    position: sticky;
    top: 80px; /* Adjust based on your header height */
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    align-items: baseline;
    background-color: white;
    padding: 28px;
    padding-top: 56px;
    scrollbar-width: thin;
    border-right: none !important;
}

/* Filter Header */
#mtc-filters h3 {
    font-size: 30px;
    font-weight: bold;
    flex-grow: 1;
    color: #4b241b;
    text-transform: uppercase;
    margin-bottom: 20px;
    border-bottom: none;
    padding-bottom: 0;
}

/* Checkbox styling for "Posledné voľné miesta" */
.mtc-filter.mtc-filter-checkbox {
    display: flex;
    flex-direction: row;
    position: relative;
    align-items: center;
    gap: 8px;
    padding: 12px 0;
}

.mtc-filter-checkbox input[type="checkbox"] {
    position: absolute;
    top: -999px;
    left: -999px;
    opacity: 0;
}

.mtc-filter-checkbox .checkbox-icon {
    width: 20px;
    height: 20px;
    cursor: pointer;
    color: #4b241b;
}

.mtc-filter-checkbox .checkbox-icon svg {
    width: 100%;
    height: 100%;
}

.mtc-filter-checkbox label {
    cursor: pointer;
    font-weight: bold;
    color: #4b241b;
    margin-bottom: 0;
}

/* Collapsible filter sections */
.mtc-filter {
    width: 100%;
    margin-bottom: 16px;
}

/* Select2 arrow hiding - only for Select2 dropdowns */
.select2-container--default .select2-selection--single .select2-selection__arrow {
    display: none !important;
}

.mtc-filter-header {
    display: flex;
    flex-direction: row;
    width: 100%;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    user-select: none;
    padding: 2px 0;
}

.mtc-filter-header h5 {
    font-size: 24px;
    flex-grow: 1;
    font-weight: bold;
    color: #4b241b;
    margin: 0;
}

.mtc-filter-header .chevron-icon {
    width: 22px;
    height: 22px;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    color: #4b241b;
    will-change: transform;
    display: block !important;
    flex-shrink: 0;
    opacity: 1 !important;
    visibility: visible !important;
}

.mtc-filter-header .chevron-icon svg {
    width: 100%;
    height: 100%;
    display: block;
    fill: #4b241b !important;
    color: #4b241b !important;
}

.mtc-filter-header .chevron-icon svg path:first-child {
    fill: #4b241b !important;
    stroke: none !important;
}

.mtc-filter-header .chevron-icon svg path:last-child {
    fill: none !important;
    stroke: #4b241b !important;
    stroke-width: 32 !important;
}

.mtc-filter-header.collapsed .chevron-icon {
    transform: rotate(90deg);
}

/* Filter content area */
.mtc-filter-content {
    transition: height 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease;
    background-color: transparent;
    padding-top: 8px;
    overflow: hidden;
    will-change: height;
    transform: translateZ(0);
}

.mtc-filter-content.collapsed {
    height: 0px !important;
    padding-top: 0 !important;
    opacity: 0;
}

.mtc-filter-content.expanded {
    opacity: 1;
    padding-top: 8px;
}

/* Select styling to match React Select */
.mtc-filter select,
.mtc-filter input[type="text"], #mtc-mobile-filters .select2-container--default .select2-selection--single, .mtc-filter .select2-container--default .select2-selection--single {
    width: 100%;
    padding: 8px 12px;
    border-color: rgb(204, 204, 204);
    border-style: solid;
    border-width: 1px;
    border-radius: 4px;
    background-color: white;
    color: #4b241b;
    font-size: 14px;
    font-family: inherit;
    cursor: pointer;
    transition: border-color 0.15s;
    height: 38px;
    line-height: 1.4;
    box-sizing: border-box;
}

.select2-container.select2-container--default.select2-container--open .select2-dropdown {
    border-color: rgb(204, 204, 204);
    border-style: solid;
    border-width: 1px;
    border-radius: 4px;
}

.select2-container.select2-container--default.select2-container--open .select2-results  .select2-dropdown li {
    color: #4b241b;
    font-size: 14px;
    background-color: white;
}

.select2-container--default .select2-results .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: #704e3d;
    color: white;
}

.select2-container--default .select2-results .select2-results__option--selected {
    background-color: #4b241b;
    color: white;
}

.mtc-filter select:focus,
.mtc-filter input[type="text"]:focus,
.mtc-filter input[type="number"]:focus {
    outline: none;
    border-color: #2684ff;
    box-shadow: 0 0 0 1px #2684ff;
}

/* Custom select wrapper for better control */
.mtc-select-wrapper {
    position: relative;
}

/* Hide pseudo-elements when using real HTML elements */
.mtc-select-wrapper:has(select[multiple])::after {
    display: none !important;
}

.mtc-select-wrapper .select2.select2-container.select2-container--default {
    display: none !important;
}

/* Separator line (HTML element) */
.mtc-select-separator {
    position: absolute;
    top: 50%;
    right: 32px;
    transform: translateY(-50%);
    width: 1px;
    height: 24px;
    background-color: rgba(75, 36, 27, 0.2);
    pointer-events: none;
    z-index: 1;
}

/* Hide separator for multiple select */
.mtc-select-wrapper:has(select[multiple]) .mtc-select-separator {
    display: none;
}

/* Dropdown arrow container (HTML element) */
.mtc-select-arrow {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
}

.mtc-select-arrow svg {
    fill: #4b241b;
    width: 20px;
    height: 20px;
}

/* Hide arrow for multiple select */
.mtc-select-wrapper:has(select[multiple]) .mtc-select-arrow {
    display: none;
}

.mtc-select-wrapper select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 32px;
    background-image: none;
}

/* Hide chevron for Charakteristika select */
.mtc-select-wrapper:has(#mtc-feature-select)::after {
    display: none !important;
}

/* Price range inputs */
.mtc-filter-price-range {
    display: flex;
    gap: 10px;
}

.mtc-filter-price-range > div {
    flex: 1;
}

.mtc-filter-price-range label {
    font-size: 12px;
    color: #4b241b;
    font-weight: normal;
    margin-bottom: 4px;
}

/* Date range filters */
.mtc-filter-date-range {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

@media (max-width: 1500px) {
    .mtc-filter-date-range {
        flex-direction: row;
    }
}

.mtc-filter-date-range > div {
    display: flex;
    flex-direction: column;
}

.mtc-filter-date-range span {
    font-size: 14px;
    color: #4b241b;
    margin-bottom: 4px;
}

/* Multiple select styling */
select[multiple] {
    min-height: 100px;
    padding: 8px;
}

/* Sort filter - always expanded, not collapsible */
.mtc-filter-header-static {
    display: flex;
    flex-direction: row;
    width: 100%;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    pointer-events: none; /* Disable clicking */
}

.mtc-filter-header-static h5 {
    font-size: 24px;
    flex-grow: 1;
    font-weight: bold;
    color: #4b241b;
    margin: 0;
}

.mtc-filter-header-static .chevron-icon {
    width: 22px;
    height: 22px;
    color: #4b241b;
    transform: rotate(0deg); /* Always pointing down */
}

.mtc-filter-content-static {
    background-color: transparent;
    padding-top: 8px;
    height: auto;
}

/* Mobile responsive */
@media (max-width: 960px) {
    #mtc-filters {
        position: relative;
        top: auto;
        height: auto;
        max-height: none;
        padding: 20px;
        padding-top: 40px;
    }

    #mtc-filters h3 {
        font-size: 24px;
    }

    .mtc-filter-header h5 {
        font-size: 20px;
    }

    .mtc-filter {
        width: 100% !important;
    }

}

/* Hide old non-functional searchable dropdown in mobile filters */
#mtc-mobile-filters .mtc-searchable-dropdown {
    display: none !important;
}

@media (max-width: 1500px) {
    .mtc-filter .mtc-filter-content .mtc-filter-date-range div {
        width: 100% !important;
    }
}

/* Select2 override styles if Select2 is loaded */
.select2-container--default .select2-selection--single {
    height: 38px !important; /* Match regular input height */
    padding: 0 !important;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: white;
    display: flex;
    align-items: center;
}

.select2-selection.select2-selection--single.select2-selection--clearable button.select2-selection__clear {
    display: none;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #4b241b !important;
    padding: 8px 32px 8px 12px !important; /* Same as regular inputs with space for arrow */
    line-height: 1.4 !important;
    font-size: 14px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px; /* Match container height minus borders */
    right: 8px;
    top: 1px;
}

/* Duplicate rule removed - already handled above */

/* Removed custom Select2 arrow */

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #999;
}

/* Dropdown styling */
.select2-dropdown {
    border: 1px solid #ccc;
    border-radius: 4px;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #deebff;
    color: #0052cc;
}

/* Error message styling */
.mtc-filter .error-message {
    color: #e74c3c;
    font-size: 12px;
    font-weight: bold;
    margin-top: 4px;
    visibility: hidden;
}

.mtc-filter .error-message.visible {
    visibility: visible;
}

/* Checkbox unchecked icon */
.checkbox-unchecked {
    stroke: currentColor;
    stroke-width: 20px;
    fill: none;
}

/* Checkbox checked icon */
.checkbox-checked {
    fill: #4b241b;
}

/* Search input styling */
#mtc-search-text {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
}

/* Loading state */
.mtc-filter.loading {
    opacity: 0.6;
    pointer-events: none;
}

/* Smooth transitions for specific elements */
.mtc-filter input:focus,
.mtc-filter select:focus {
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.mtc-filter.loading {
    transition: opacity 0.3s ease;
}

/* Prevent layout shifts during animation */
.mtc-filter {
    transform: translateZ(0);
    backface-visibility: hidden;
}

/* Ensure Select2 doesn't interfere with animations */
.mtc-filter-content .select2-container {
    display: block !important;
    width: 100% !important;
}

/* Loading Overlay Styles */
.mtc-loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.mtc-loading-overlay.active {
    opacity: 1;
    visibility: visible;
}

.mtc-loading-spinner {
    width: 60px;
    height: 60px;
    border: 5px solid rgba(75, 36, 27, 0.1);
    border-top: 5px solid #4b241b;
    border-radius: 50%;
    animation: mtc-spin 1s linear infinite;
}

@keyframes mtc-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.mtc-loading-text {
    position: absolute;
    margin-top: 100px;
    font-size: 16px;
    color: #4b241b;
    font-weight: 500;
}

.mtc-mobile-confirm-filters {
    background-color: #d4882a !important;
    background: #d4882a !important;
    color: #ffffff !important;
    font-family: 'Quicksand', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 20px !important;
    width: 100% !important;
    box-shadow: none !important;
}

.mtc-mobile-confirm-filters:hover {
    background-color: #c07a24 !important;
    background: #c07a24 !important;
}

.mtc-mobile-reset-filters {
    background: transparent !important;
    background-color: transparent !important;
    color: #4b241b !important;
    font-family: 'Quicksand', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border: none !important;
    padding: 10px 20px !important;
    box-shadow: none !important;
}
.mtc-mobile-reset-filters:hover {
    text-decoration: underline !important;
    background: transparent !important;
}

/* ============================================
   CUSTOM DROPDOWN STYLES
   ============================================ */

/* Custom select container */
.mtc-custom-select {
    position: relative;
    width: 100%;
    cursor: pointer;
    user-select: none;
}

/* Selected value display */
.mtc-custom-select-trigger, .mtc-filter input[type="number"] {
    width: 100%;
    display: flex !important;
    padding: 2px 8px !important;
    background: #ffffff;
    border-color: rgb(204, 204, 204);
    border-radius: 4px !important;
    border-style: solid;
    border-width: 1px;
    font-family: 'Quicksand', sans-serif;
    font-size: 14px !important;
    color: #333;
    cursor: pointer;
    transition: all 0.2s ease;
    min-height: 38px !important;
    align-items: center;
}

.mtc-custom-select-trigger:hover {
    border-color: #4b241b;
}

.mtc-custom-select.open .mtc-custom-select-trigger {
    border-color: #4b241b;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

/* Options dropdown list */
.mtc-custom-select-options {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #ffffff;
    border: 1px solid #4b241b;
    border-top: none;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    max-height: 250px;
    overflow-y: auto;
    z-index: 9999;
    display: none;
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.2s ease, transform 0.2s ease;
    box-shadow: 0 4px 12px rgba(75, 36, 27, 0.15);
}

/* Custom scrollbar for dropdown */
.mtc-custom-select-options::-webkit-scrollbar {
    width: 8px;
}

.mtc-custom-select-options::-webkit-scrollbar-track {
    background: #f5f5f5;
    border-bottom-right-radius: 8px;
}

.mtc-custom-select-options::-webkit-scrollbar-thumb {
    background: #c0c0c0;
    border-radius: 4px;
}

.mtc-custom-select-options::-webkit-scrollbar-thumb:hover {
    background: #a0a0a0;
}

/* Individual option */
.mtc-custom-select-option {
    padding: 12px 16px;
    font-family: 'Quicksand', sans-serif;
    font-size: 14px;
    color: #333;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.mtc-custom-select-option:hover {
    background-color: #f8f4f0;
}

.mtc-custom-select-option.selected {
    background-color: #fef5e7;
    color: #4b241b;
    font-weight: 600;
}

.mtc-custom-select-option.selected:hover {
    background-color: #fdefd4;
}

/* Searchable custom select */
.mtc-custom-select-search {
    padding: 10px;
    border-bottom: 1px solid #eee;
    background: #f9f9f9;
    position: sticky;
    top: 0;
    z-index: 1;
}

.mtc-custom-select-search-input {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
    font-family: 'Quicksand', sans-serif;
    outline: none;
    box-sizing: border-box;
    background: #fff;
}

.mtc-custom-select-search-input:focus {
    border-color: #4b241b;
    box-shadow: 0 0 0 2px rgba(75, 36, 27, 0.1);
}

.mtc-custom-select-search-input::placeholder {
    color: #999;
}

/* Adjust separator and arrow positioning for custom dropdown */
.mtc-select-wrapper:has(.mtc-custom-select) .mtc-select-separator {
    right: 32px;
}

.mtc-select-wrapper:has(.mtc-custom-select) .mtc-select-arrow {
    right: 8px;
    pointer-events: none;
}

/* Rotate arrow when dropdown is open */
.mtc-custom-select.open ~ .mtc-select-arrow svg {
    transform: rotate(180deg);
    transition: transform 0.2s ease;
}

.mtc-select-arrow svg {
    transition: transform 0.2s ease;
}

/* Make sure the wrapper can contain the dropdown */
.mtc-select-wrapper {
    position: relative;
    z-index: 1;
}

.mtc-select-wrapper:has(.mtc-custom-select.open) {
    z-index: 10000;
}

/* Ensure parent filter containers don't create stacking context issues */
#mtc-mobile-filters .mtc-filter,
#mtc-mobile-filters .mtc-filter-collapsible {
    position: relative;
    z-index: auto;
}

#mtc-mobile-filters .mtc-filter:has(.mtc-custom-select.open),
#mtc-mobile-filters .mtc-filter-collapsible:has(.mtc-custom-select.open) {
    z-index: 10000;
}

#mtc-mobile-filters .mtc-filter-content {
    position: relative;
    z-index: auto;
}

#mtc-mobile-filters .mtc-filter-content:has(.mtc-custom-select.open) {
    z-index: 10000;
}
/* Searchable Country Dropdown */
.mtc-searchable-dropdown {
    position: relative;
    width: 100%;
}

.mtc-dropdown-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    cursor: pointer;
    transition: border-color 0.2s ease;
}

.mtc-dropdown-trigger:hover {
    border-color: #4b241b;
}

.mtc-searchable-dropdown.open .mtc-dropdown-trigger {
    border-color: #4b241b;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.mtc-dropdown-text {
    font-size: 14px;
    color: #333;
}

.mtc-dropdown-arrow {
    display: flex;
    align-items: center;
    transition: transform 0.2s ease;
}

.mtc-dropdown-arrow svg {
    fill: #666;
}

.mtc-searchable-dropdown.open .mtc-dropdown-arrow {
    transform: rotate(180deg);
}

.mtc-dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #4b241b;
    border-top: none;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    z-index: 10000;
    max-height: 300px;
    overflow: hidden;
}

/* Menu appended to body - fixed positioning */
.mtc-dropdown-menu-body {
    position: fixed;
    z-index: 999999;
    border-top: 1px solid #4b241b;
    border-radius: 0 0 8px 8px;
}

.mtc-dropdown-search {
    padding: 10px;
    border-bottom: 1px solid #eee;
    background: #f9f9f9;
}

.mtc-dropdown-search input {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
    outline: none;
    box-sizing: border-box;
}

.mtc-dropdown-search input:focus {
    border-color: #4b241b;
}

.mtc-dropdown-search input::placeholder {
    color: #999;
}

.mtc-dropdown-options {
    max-height: 220px;
    overflow-y: auto;
}

.mtc-dropdown-option {
    padding: 10px 16px;
    cursor: pointer;
    font-size: 14px;
    color: #333;
    transition: background 0.15s ease;
}

.mtc-dropdown-option:hover {
    background: #f5f5f5;
}

.mtc-dropdown-option.selected {
    background: #4b241b;
    color: #fff;
}

.mtc-dropdown-option.selected:hover {
    background: #5c2e22;
}

/* Hide the old search wrappers */
.mtc-country-search-wrapper {
    display: none;
}

/* ===== END: filter-style.css ===== */

