/* GENERATED by `php artisan plp:css:build`. Do not edit: change a source file, then rerun. */
/* === advisor-button-theme.css === */
/**
 * Ask a venue advisor button theme
 * Adds green hover and active states for the advisor button
 */

/* Override default primary button hover state for advisor link */
a.app-navigation__action-button.app-navigation__action-button--primary.app-navigation__advisor-link:hover,
a.app-navigation__action-button.app-navigation__action-button--primary.app-navigation__advisor-link:focus {
    border-color: #C8D200 !important;
    color: #C8D200 !important;
    background-color: transparent !important;
}

/* Active/Click state - green border and text */
a.app-navigation__action-button.app-navigation__action-button--primary.app-navigation__advisor-link:active {
    border-color: #C8D200 !important;
    color: #C8D200 !important;
    background-color: transparent !important;
}

/* Dark variant hover state */
a.app-navigation__action-button.app-navigation__action-button--primary.app-navigation__advisor-link--dark:hover,
a.app-navigation__action-button.app-navigation__action-button--primary.app-navigation__advisor-link--dark:focus {
    border-color: #C8D200 !important;
    color: #C8D200 !important;
    background-color: transparent !important;
}

/* Dark variant active state */
a.app-navigation__action-button.app-navigation__action-button--primary.app-navigation__advisor-link--dark:active {
    border-color: #C8D200 !important;
    color: #C8D200 !important;
    background-color: transparent !important;
}

/* Ensure SVG icon also changes color on hover/active */
a.app-navigation__action-button.app-navigation__action-button--primary.app-navigation__advisor-link:hover svg path,
a.app-navigation__action-button.app-navigation__action-button--primary.app-navigation__advisor-link:active svg path,
a.app-navigation__action-button.app-navigation__action-button--primary.app-navigation__advisor-link:focus svg path,
a.app-navigation__action-button.app-navigation__action-button--primary.app-navigation__advisor-link--dark:hover svg path,
a.app-navigation__action-button.app-navigation__action-button--primary.app-navigation__advisor-link--dark:active svg path,
a.app-navigation__action-button.app-navigation__action-button--primary.app-navigation__advisor-link--dark:focus svg path {
    fill: #C8D200 !important;
}
/* === premium-badges.css === */
/* ============================================
   Premium Badges Filter Component - Card Style
   With circular checkbox on right side
   ============================================ */

/* Filter Container */
.premium-badges-filter {
    /* Filter container - styles applied via child elements */
}

/* Main Container */
.listing-sidebar__filter-accordion__inner .premium-badges-container {
    margin: 0;
    padding: 0;
}

/* Wrapper - Flex layout that auto-wraps */
.premium-badges-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-start;
}

/* Collapsable animation for extra items */
.premium-badge-card.collapsable-extra-item {
    animation: premiumBadgeIn 0.55s ease-in-out forwards;
}

@keyframes premiumBadgeIn {
    0% {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ============================================
   Card Style Badge
   ============================================ */

.premium-badge-card {
    display: flex;
    align-items: flex-start; /* Align to top so checkbox aligns with logo */
    justify-content: space-between;
    padding: 6px 8px; /* Slightly adjusted padding */
    border-radius: 6px;
    cursor: pointer;
    transition: opacity 0.2s ease;
    position: relative;
    min-height: 40px;
    box-sizing: border-box;
    /* Desktop: flex basis to fit ~4 per row with gaps */
    flex: 0 0 calc((100% - 36px) / 4); /* 4 items with 3 gaps of 12px */
    max-width: calc((100% - 36px) / 4);
}

.premium-badge-card:hover {
    opacity: 0.85;
}

/* Hide the actual checkbox input */
.premium-badge-card__input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

/* Content area with icon and text */
/* Content area with icon and text */
.premium-badge-card__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
}

/* Icon wrapper */
.premium-badge-card__icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px; /* Reduced */
    height: 20px; /* Reduced */
    flex-shrink: 0;
}

/* Icon styling */
.premium-badge-card__icon {
    width: 18px;
    height: 18px;
    object-fit: contain;
    display: block;
}

/* Text styling */
.premium-badge-card__text {
    font-family: 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 500;
    font-size: 13px; /* Slightly smaller */
    line-height: 1.2;
    letter-spacing: 0.1px;
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ============================================
   Circular Checkbox
   ============================================ */

.premium-badge-card__checkbox {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px; /* Reduced */
    height: 20px; /* Reduced */
    min-width: 20px;
    border: 1.5px solid #d1d5db; /* Thinner border */
    border-radius: 50%;
    background: #ffffff80;
    transition: all 0.2s ease;
    flex-shrink: 0;
    margin-left: 8px;
}

.premium-badge-card__checkmark {
    width: 12px;
    height: 12px;
    opacity: 0;
    color: #fff;
    transition: opacity 0.2s ease;
}

/* Checked state - keep white circle */
.premium-badge-card__input:checked ~ .premium-badge-card__checkbox {
    background: #ffffff80;
    /* border-color stays #D1D5DB (inherited) */
}

.premium-badge-card__input:checked ~ .premium-badge-card__checkbox .premium-badge-card__checkmark {
    opacity: 1;
    color: #000000;
}

/* Text becomes slightly bolder when checked */
.premium-badge-card__input:checked ~ .premium-badge-card__content .premium-badge-card__text {
    font-weight: 600;
}

/* Focus state for accessibility - subtle, no border */
.premium-badge-card:focus-within {
    outline: none;
}

/* ============================================
   Responsive Design
   ============================================ */

/* Tablet - 2 columns */
@media (max-width: 1024px) {
    .premium-badge-card {
        flex: 0 0 calc((100% - 10px) / 2); /* 2 items with 1 gap of 10px */
        max-width: calc((100% - 10px) / 2);
        padding: 8px !important;
        min-height: auto !important;
        height: auto !important;
    }

    .premium-badge-card__content {
        gap: 6px;
    }

    .premium-badges-wrapper {
        gap: 10px;
    }
}

/* Mobile - Dynamic Flex Layout (Content Width) */
@media (max-width: 640px) {
    .listing-sidebar__filter-accordion__inner .premium-badges-container {
        padding: 0;
    }

    .premium-badges-wrapper {
        gap: 12px;
    }

    .premium-badge-card {
        padding: 8px !important;
        min-height: auto !important; /* Let card grow with content */
        height: auto !important;
        border-radius: 6px;
        width: auto; /* Content based width */
        flex: 0 0 auto; /* Do not grow, do not shrink */
        max-width: 100%; /* Prevent overflow */
    }

    .premium-badge-card__content {
        gap: 6px;
    }

    .premium-badge-card__icon-wrapper {
        width: 18px;
        height: 18px;
        flex-shrink: 0;
    }

    .premium-badge-card__icon {
        width: 18px !important;
        height: 18px !important;
    }

    .premium-badge-card__text {
        font-family: 'Neue Plak', 'Neue', sans-serif !important;
        font-weight: 400 !important;
        font-size: 14px !important;
        line-height: 100% !important;
        letter-spacing: 0.1px !important;
        text-align: left !important; /* Left align when icon is inline */
        white-space: nowrap; /* Prevent wrapping for inline layout */
    }

    .premium-badge-card__checkbox {
        width: 16px;
        height: 16px;
        min-width: 16px;
    }

    .premium-badge-card__checkmark {
        width: 10px;
        height: 10px;
    }
}

/* Very small screens - single column removed to keep 2 columns */
/* @media (max-width: 400px) {
    .premium-badges-row {
        grid-template-columns: 1fr;
    }
} */

/* ============================================
   Print Styles
   ============================================ */

@media print {
    .premium-badge-card {
        break-inside: avoid;
        page-break-inside: avoid;
    }
}

/* ============================================
   Empty State
   ============================================ */

.premium-badges-empty {
    color: #6b7280;
    font-size: 14px;
    padding: 16px 0;
    text-align: center;
    font-style: italic;
}

/* ============================================
   Legacy class support
   ============================================ */

.premium-badge__input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}
/* === environment-filter.css === */
/* ============================================
   Environment Filter Component - Pill Button Design
   Based on Figma: VW - Internal (Node: 48-3236)
   Horizontal pill-button layout
   ============================================ */

/* Main Container */
.environment-filter {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    padding-bottom: 24px;
    border-bottom: 1px solid #EBEBEB;
}

/* Label Typography */
.environment-filter__label {
    font-family: 'Neue Plak', 'Neue Plak Regular', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: normal;
    color: #212324; /* Grey 2 */
    margin: 0;
    width: 204px;
}

/* Horizontal Options Container */
.environment-filter__options {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
}

/* Individual Option Container */
.environment-filter__option {
    position: relative;
}

/* Hide Default Radio Input */
.environment-filter__input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

/* Pill Button Styling */
.environment-filter__button {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 28px;
    padding: 4px 8px;
    background-color: #F7F7F7; /* Grey 9 */
    border: 1px solid transparent;
    border-radius: 4px;

    /* Typography from Figma */
    font-family: 'Neue Plak', 'Neue Plak Regular', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 12px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.5;
    color: #464646; /* Grey 4 */

    white-space: nowrap;
    cursor: pointer;
    transition: all 0.2s ease;
    margin: 0;
    user-select: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Hover State */
.environment-filter__button:hover {
    background-color: #EFEFEF;
}

/* Selected/Checked State */
.environment-filter__input:checked + .environment-filter__button {
    background-color: #F7F7F7; /* Grey 9 */
    border: 1px solid #464646; /* Grey 4 */
    color: #181A1B; /* Grey 1 - darker text */
}

/* Focus State for Accessibility */
.environment-filter__input:focus + .environment-filter__button {
    outline: 2px solid #464646;
    outline-offset: 2px;
}

/* Active/Pressed State */
.environment-filter__button:active {
    transform: scale(0.98);
}

/* Disabled State */
.environment-filter__input:disabled + .environment-filter__button {
    opacity: 0.5;
    cursor: not-allowed;
    background-color: #F0F0F0;
}

.environment-filter__input:disabled + .environment-filter__button:hover {
    background-color: #F0F0F0;
    border-color: transparent;
    transform: none;
}

/* ============================================
   Responsive Design
   ============================================ */

/* Tablet */
@media (max-width: 1024px) {
    .environment-filter__label {
        font-size: 14px;
    }

    .environment-filter__button {
        font-size: 12px;
        padding: 4px 8px;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .environment-filter {
        padding-bottom: 20px;
        gap: 12px;
    }

    .environment-filter__options {
        gap: 6px;
    }

    .environment-filter__label {
        width: 100%;
    }

    .environment-filter__button {
        font-size: 12px;
        padding: 6px 10px;
        height: 32px;
    }
}

/* ============================================
   Print Styles
   ============================================ */

@media print {
    .environment-filter__option {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .environment-filter__button {
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }
}

/* ============================================
   Dark Mode Support (Future Enhancement)
   ============================================ */

@media (prefers-color-scheme: dark) {
    /* Keep light theme for now - uncomment when dark mode is implemented */
    /*
    .environment-filter__label {
        color: #F7F7F7;
    }

    .environment-filter__button {
        background-color: #2A2A2A;
        color: #F7F7F7;
        border-color: #3A3A3A;
    }

    .environment-filter__button:hover {
        background-color: #333333;
    }

    .environment-filter__input:checked + .environment-filter__button {
        border-color: #F7F7F7;
        color: #FFFFFF;
    }
    */
}
/* === property-type-pills.css === */
/* ============================================
   Property Type Pills Component - Pill Button Design
   Based on Environment Filter Design Pattern
   Horizontal pill-button layout with icons
   ============================================ */

/* Main Container */
.property-type-pills {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

/* Visible Rows Container (first 7 items) */
.property-type-pills__visible-rows {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
}

/* Extra Rows Container (hidden by default) */
.property-type-pills__extra-rows {
    display: none;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 0;
}

/* Show extra rows when expanded */
.collapsable-container.expanded .property-type-pills__extra-rows {
    display: flex;
}

/* Individual Pill Container */
.property-type-pills .property-type-pill {
    position: relative;
    display: inline-flex !important;
}

/* Hide Default Checkbox Input */
.property-type-pill__input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

/* Pill Button Label/Styling */
.property-type-pills .property-type-pill .property-type-pill__label {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 32px !important;
    padding: 6px 12px !important;
    background-color: #F7F7F7 !important; /* Grey 9 */
    border: 1px solid transparent !important;
    border-radius: 4px !important;

    /* Typography from Figma */
    font-family: 'Neue Plak', 'Neue Plak Regular', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important; /* Normal weight, not bold */
    font-style: normal;
    line-height: 1.5;
    color: #464646 !important; /* Grey 4 */

    white-space: nowrap;
    cursor: pointer;
    transition: all 0.2s ease;
    margin: 0;
    user-select: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Icon Container */
.property-type-pills .property-type-pill .property-type-pill__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.property-type-pills .property-type-pill .property-type-pill__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

/* Text */
.property-type-pills .property-type-pill .property-type-pill__text {
    display: inline-block;
    font-family: 'Neue Plak', 'Neue Plak Regular', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important; /* Ensure normal weight */
    color: inherit;
}

/* Hover State */
.property-type-pills .property-type-pill .property-type-pill__label:hover {
    background-color: #EFEFEF !important;
}

/* Selected/Checked State */
.property-type-pills .property-type-pill .property-type-pill__input:checked + .property-type-pill__label {
    background-color: #F7F7F7 !important; /* Grey 9 - same as default */
    border: 1px solid #464646 !important; /* Grey 4 border */
    color: #181A1B !important; /* Grey 1 - darker text */
}

/* Override any icon color changes on checked state */
.property-type-pills .property-type-pill .property-type-pill__input:checked + .property-type-pill__label .property-type-pill__icon img {
    filter: none !important; /* Keep original icon colors */
}

/* Override text color on checked state */
.property-type-pills .property-type-pill .property-type-pill__input:checked + .property-type-pill__label .property-type-pill__text {
    color: #181A1B !important; /* Grey 1 - darker text, not white */
}

/* Focus State for Accessibility */
.property-type-pills .property-type-pill .property-type-pill__input:focus + .property-type-pill__label {
    outline: 2px solid #464646;
    outline-offset: 2px;
}

/* Active/Pressed State */
.property-type-pills .property-type-pill .property-type-pill__label:active {
    transform: scale(0.98);
}

/* Disabled State */
.property-type-pills .property-type-pill .property-type-pill__input:disabled + .property-type-pill__label {
    opacity: 0.5;
    cursor: not-allowed;
    background-color: #F0F0F0;
}

.property-type-pills .property-type-pill .property-type-pill__input:disabled + .property-type-pill__label:hover {
    background-color: #F0F0F0;
    border-color: transparent;
    transform: none;
}

/* Show More/Less Button */
.property-type-show-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    margin-top: 8px;
    background-color: transparent;
    border: 1px solid #EBEBEB;
    border-radius: 4px;
    font-family: 'Neue Plak', 'Neue Plak Regular', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #464646;
    cursor: pointer;
    transition: all 0.2s ease;
    width: 100%;
}

.property-type-show-more:hover {
    background-color: #F7F7F7;
    border-color: #464646;
}

/* Toggle button text visibility */
.property-type-show-more .collapsable-btn-hide {
    display: none;
}

.collapsable-container.expanded .property-type-show-more .collapsable-btn-show {
    display: none;
}

.collapsable-container.expanded .property-type-show-more .collapsable-btn-hide {
    display: inline;
}

/* ============================================
   Responsive Design
   ============================================ */

/* Tablet */
@media (max-width: 1024px) {
    .property-type-pill__label {
        font-size: 12px;
        padding: 6px 10px;
        height: 30px;
    }

    .property-type-pill__icon {
        width: 14px;
        height: 14px;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .property-type-pills {
        gap: 10px;
    }

    .property-type-pills__visible-rows,
    .property-type-pills__extra-rows {
        gap: 6px;
    }

    .property-type-pill__label {
        font-size: 12px;
        padding: 6px 10px;
        height: 32px;
        gap: 4px;
    }

    .property-type-pill__icon {
        width: 14px;
        height: 14px;
    }

    .property-type-show-more {
        font-size: 12px;
        padding: 8px 12px;
    }
}

/* ============================================
   Print Styles
   ============================================ */

@media print {
    .property-type-pill {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .property-type-pill__label {
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }

    .property-type-show-more {
        display: none;
    }
}

/* ============================================
   Dark Mode Support (Future Enhancement)
   ============================================ */

@media (prefers-color-scheme: dark) {
    /* Keep light theme for now - uncomment when dark mode is implemented */
    /*
    .property-type-pill__label {
        background-color: #2A2A2A;
        color: #F7F7F7;
        border-color: #3A3A3A;
    }

    .property-type-pill__label:hover {
        background-color: #333333;
    }

    .property-type-pill__input:checked + .property-type-pill__label {
        border-color: #F7F7F7;
        color: #FFFFFF;
    }

    .property-type-show-more {
        color: #F7F7F7;
        border-color: #3A3A3A;
    }

    .property-type-show-more:hover {
        background-color: #2A2A2A;
        border-color: #F7F7F7;
    }
    */
}
/* === listing-filters-font.css === */
/* Listing Page Filters - Neue Plak Font Family */

/* Font Face Declarations for Neue Plak */
@font-face {
    font-family: 'Neue Plak';
    src: url('../assets/fonts/Web-font/Neue/NeuePlak-Regular.woff2') format('woff2'),
         url('../assets/fonts/Web-font/Neue/NeuePlak-Regular.woff') format('woff'),
         url('../assets/fonts/Web-font/Neue/NeuePlak-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Neue Plak';
    src: url('../assets/fonts/Web-font/Neue/NeuePlak-SemiBold.woff2') format('woff2'),
         url('../assets/fonts/Web-font/Neue/NeuePlak-SemiBold.woff') format('woff'),
         url('../assets/fonts/Web-font/Neue/NeuePlak-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Neue Plak';
    src: url('../assets/fonts/Web-font/Neue/NeuePlak-Bold.woff2') format('woff2'),
         url('../assets/fonts/Web-font/Neue/NeuePlak-Bold.woff') format('woff'),
         url('../assets/fonts/Web-font/Neue/NeuePlak-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* =================================================================
   FILTER TOOLBAR - Top Bar Filters
   ================================================================= */

/* Filter toolbar main container */
.filter-toolbar {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* Filter main button */
.filter-toolbar__main-btn,
.filter-toolbar__main-btn span {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-weight: 400 !important; /* Default font weight when no filters applied */
}

/* Filter main button when filters are active (has green background or active class) */
.filter-toolbar__main-btn.filters-active,
.filter-toolbar__main-btn.filters-active span,
.filter-toolbar__main-btn[style*="background"] span,
.filter-toolbar__main-btn[data-has-filters="true"] span {
    font-weight: 600 !important; /* Bold font weight when filters are applied */
}

/* Filter chip buttons (Where, Attendees) */
.filter-toolbar__chip,
.filter-toolbar__chip span {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* Filter dropdown panels */
.filter-toolbar__chip-dropdown__panel,
.filter-toolbar__chip-dropdown__content {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* Filter dropdown footer buttons */
.filter-toolbar__chip-dropdown__clear,
.filter-toolbar__chip-dropdown__apply {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* Clear all button */
.filter-toolbar__clear-all-btn {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* =================================================================
   LISTING SIDEBAR FILTERS - Modal Filters
   ================================================================= */

/* Main sidebar container */
.listing-sidebar {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* Sidebar titles */
.listing-sidebar--title {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* All filter sections */
.listing-sidebar__filter {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* Filter accordion headers/triggers */
.listing-sidebar__filter-accordion__trigger,
.listing-sidebar__filter-accordion__trigger span {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* Filter counter badges */
.listing-sidebar__filter--count {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    color: #A8A8A8 !important;
}

/* Filter subtitle */
.listing-sidebar__filter__subtitle {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* =================================================================
   CAPACITY FILTER SPECIFIC
   ================================================================= */

/* Range input labels */
.listing-sidebar__filter__range-input__label {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-weight: 400;
}

/* Number input fields */
.listing-sidebar__filter__range-input input[type="number"] {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-weight: 400;
}

/* Placeholder text */
.listing-sidebar__filter__range-input input[type="number"]::placeholder {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* =================================================================
   LOCATION FILTER SPECIFIC
   ================================================================= */

/* Location filter input */
.listing-sidebar__filter-location__filter-group__input,
.listing-sidebar__filter-location__filter-group__label {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* Location filter placeholders */
.listing-sidebar__filter-location__filter-group__input::placeholder {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* Location results */
.listing-sidebar__filter-location__results--result {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* Location country/city labels */
.listing-sidebar__filter-location--country__title,
.listing-sidebar__filter-location--country__city--item label {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* =================================================================
   CHECKBOX & RADIO FILTERS
   ================================================================= */

/* Checkbox labels */
.listing-sidebar__filter__checkbox label,
.listing-sidebar__filter__checkbox label span {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    color: #757575 !important;
}

/* Group checkbox labels */
.listing-sidebar__filter-group-checkbox__item label,
.listing-sidebar__filter-group-checkbox__item label span {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* Radio button labels */
.listing-sidebar__filter-radio__item label,
.listing-sidebar__filter-radio__item label span {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* =================================================================
   CUSTOMIZED TAB FILTERS
   ================================================================= */

/* Customized tab items */
.listing-sidebar__filter-customized__tabs--item a {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* =================================================================
   BOTTOM BAR & BUTTONS
   ================================================================= */

/* Sidebar bottom bar buttons */
.listing-sidebar__bottom-bar__clear-btn,
.listing-sidebar__bottom-bar__matched {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* Clear button */
.listing__clear-btn {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* =================================================================
   LISTING CONTENT HEADERS
   ================================================================= */

/* Main listing title */
.listing__content--title {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* Sort dropdown */
.listing-sort__title,
.listing-sort__title span,
.listing-sort__item label {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* Map toggle button */
.listing__top-bar__map-btn,
.listing__top-bar__map-btn span {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* =================================================================
   UNIVERSAL OVERRIDE - All text elements in filter sections
   ================================================================= */

/* Apply to all descendants of filter elements */
.filter-toolbar *,
.listing-sidebar *,
.listing-sidebar__filter * {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* =================================================================
   DIMENSION OVERRIDES - Fix button heights
   ================================================================= */

/* Force 40px height for Filter button and Chip buttons */
.filter-toolbar__main-btn,
.filter-toolbar__chip,
.listing__content--tag:not(.listing__content--tag-clear):not(.listing__clear-btn) {
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
}

/* =================================================================
   FONT SIZE OVERRIDES - Sidebar Titles
   ================================================================= */

/* Reduce font size by 2px for mobile (18px → 16px) */
.listing-sidebar--title__mobile {
    font-size: 1rem !important;
    line-height: 1rem !important;
}

/* Reduce font size by 2px for desktop (20px → 18px) */
@media (min-width: 1024px) {
    .listing-sidebar--title__desktop {
        font-size: 1.125rem !important;
        line-height: 1.125rem !important;
    }
}

/* =================================================================
   ACCORDION ARROW OVERRIDES - Custom Arrow Icons
   ================================================================= */

/* Replace accordion arrows with custom down-arrow.svg using background-image for better size control */
.listing-sidebar__filter-accordion__trigger:after {
    content: '' !important;
    display: inline-block !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
    background-image: url('/upload/venue/icons/down-arrow.svg') !important;
    background-size: 16px 16px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    flex-shrink: 0 !important;
    transition: transform 0.35s cubic-bezier(0.23, 1, 0.32, 1) !important;
}

/* When accordion is active (open), flip the arrow to point up */
.listing-sidebar__filter-accordion-active .listing-sidebar__filter-accordion__trigger:after {
    transform: rotate(180deg) !important;
}

/* Disabled state - use same arrow with different styling */
.listing-sidebar__filter[aria-disabled='true'] .listing-sidebar__filter-accordion__trigger:after {
    opacity: 0.5 !important;
}

/* =================================================================
   CHIP STYLING OVERRIDES - Default and Selection States
   ================================================================= */

/* Default state styling - Modal Chips */
.listing-sidebar__filter-group-checkbox__item label,
.listing-sidebar__filter-location--country__city--item label {
    border: 1px solid #D9D9D9 !important;
    color: #757575 !important;
    background-color: #FFFFFF !important;
    transition: all 0.2s ease !important;
}

/* Selection state & Toolbar Chips (Always Selected Design) */
.listing-sidebar__filter-group-checkbox__item input:checked + label,
.listing-sidebar__filter-location--country__city--item input:checked + label,
.filter-toolbar__chip {
    border-color: #4F4F4F !important;
    color: #4F4F4F !important;
    background-color: #FFFFFF !important;
    transition: all 0.2s ease !important;
}

.listing-sort__title,
.sorting-active .listing-sort__title {
    border-color: #4F4F4F !important;
    color: #4F4F4F !important;
    background-color: transparent !important;
    transition: all 0.2s ease !important;
}

/* Dropdown Title (Internal) */
.filter-toolbar__chip-dropdown__title {
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 100% !important;
    letter-spacing: 0% !important;
    color: #262626 !important;
}

/* Row Spacing Reduction */
.listing-sidebar__filter-group-checkbox__content,
.listing-sidebar__filter-location--country__city--container {
    row-gap: 0.5rem !important; /* Proper flex row gap */
}

.listing-sidebar--modal .listing-sidebar__filter-group-checkbox__item,
.listing-sidebar__filter-location--country__city--item {
    margin-bottom: 0 !important; /* Remove individual item bottom margin to avoid double spacing */
}

/* Icons/Arrows centering for toolbar chips */
.filter-toolbar__chip {
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}

/* Ensure icons/images match the text color or look appropriate */
.listing-sidebar__filter-group-checkbox__item label img,
.listing-sidebar__filter-group-checkbox__item label svg {
    filter: grayscale(1) opacity(0.6) !important;
}

.listing-sidebar__filter-group-checkbox__item input:checked + label img,
.listing-sidebar__filter-group-checkbox__item input:checked + label svg {
    filter: grayscale(1) brightness(0.3) !important; /* Darken for selected state */
}
/* === filter-modal-spacing-fix.css === */
/* Filter Modal Spacing Fixes - Mobile Only */
/* Keep desktop/tablet spacing as-is, only reduce spacing for mobile view */

/* Mobile specific adjustments - Apply ONLY on mobile screens */
@media (max-width: 1027px) {
    /* Reduce wrapper padding */
    .listing-sidebar--modal .listing-sidebar--wrapper {
        padding: 0.5rem !important;
    }

    /* Reduce content padding from 1.5rem (24px) to 0.5rem (8px) on sides */
    .listing-sidebar--modal .listing-sidebar__content {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
        padding-top: 0.25rem !important;
        padding-bottom: 0.5rem !important;
    }

    /* Override the large bottom padding on content area - more specific selector */
    .listing-sidebar--modal .listing-sidebar--wrapper .listing-sidebar__content {
        padding-bottom: 0.5rem !important;
    }

    /* Also target without modal class for wider coverage */
    .listing-sidebar__content {
        padding-bottom: 0.5rem !important;
    }

    /* Override desktop media query that sets 5rem padding-bottom */
    @media (min-width: 1024px) {
        .listing-sidebar__content {
            padding-bottom: 0.5rem !important;
        }
    }

    /* Reduce header padding */
    .listing-sidebar--modal .listing-sidebar--header {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
    }

    /* Set accordion header padding to exactly 16px top and bottom */
    .listing-sidebar__filter-accordion__header {
        padding-top: 0.75rem !important;
        padding-bottom: 0.75rem !important;
        border-top: 0.5px solid #EBEBEB !important;
    }

    /* First filter section - remove top padding entirely */
    .listing-sidebar__filter:first-child .listing-sidebar__filter-accordion__header {
        padding-top: 0 !important;
        border-top: none !important;
    }

    /* Reduce filter accordion inner padding - modal only */
    .listing-sidebar--modal .listing-sidebar__filter-accordion__inner {
        padding-top: 0.5rem !important;
        padding-bottom: 1rem !important;
    }

    /* Guarantee exactly 1rem spacing above the divider by removing bottom margin from the last child */
    .listing-sidebar--modal .listing-sidebar__filter-accordion__inner > *:last-child {
        margin-bottom: 0 !important;
    }

    /* Remove padding from last filter section */
    .listing-sidebar__filter:last-child .listing-sidebar__filter-accordion__inner {
        padding-bottom: 0 !important;
    }

    /* Remove bottom margin from last filter */
    .listing-sidebar__filter:last-child {
        margin-bottom: 0 !important;
    }



    /* Reduce bottom bar padding */
    .listing-sidebar--modal .listing-sidebar__bottom-bar {
        padding-left: 0 !important;
        padding-right: 0.75rem !important;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    /* Remove left padding from Clear button to move it left on mobile */
    .listing-sidebar__bottom-bar__clear-btn,
    .listing__clear-btn {
        padding-left: 0 !important;
    }

    /* Reduce filter subsection spacing */
    .listing-sidebar__filter__subtitle {
        margin-bottom: 0.5rem !important;
    }

    /* Reduce checkbox/option item spacing */
    .listing-sidebar__filter__checkbox,
    .listing-sidebar__filter-group-checkbox__item,
    .listing-sidebar__filter-radio__item {
        margin-bottom: 0.375rem !important;
    }

    /* Tighten spacing for premium badges grid */
    .filter-badges-grid {
        gap: 0.5rem !important;
    }

    .filter-badge-row {
        gap: 0.5rem !important;
    }

    /* Reduce property type row spacing */
    .filter-property-row {
        gap: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }

    /* Reduce environment filter spacing */
    .filter-environment {
        gap: 0.5rem !important;
    }

    /* Add rounded corners to dropdown panel on mobile */
    .filter-toolbar__chip-dropdown__panel {
        border-radius: 20px 20px 0 0 !important;
        overflow: hidden;
    }

    /* Header for location and attendees dropdown - Mobile Only */
    .filter-toolbar__chip-dropdown__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 1rem 1.25rem;
        background: #fff;
        position: relative;
        z-index: 10;
        border-radius: 20px 20px 0 0;
        min-height: 56px;
    }

    /* Title styling */
    .filter-toolbar__chip-dropdown__title {
        font-size: 14px;
        font-weight: 400;
        line-height: 100%;
        letter-spacing: 0%;
        color: #262626;
        margin: 0;
        display: flex;
        align-items: center;
        font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    }

    /* Close button positioning and styling */
    .filter-toolbar__chip-dropdown__close {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2.5rem;
        height: 2.5rem;
        padding: 0;
        background: transparent;
        border: none;
        border-radius: 50%;
        cursor: pointer;
        color: #4B5563;
        transition: all 0.2s ease;
        flex-shrink: 0;
    }

    .filter-toolbar__chip-dropdown__close:hover {
        background: rgba(0, 0, 0, 0.05);
        color: #1A1A1A;
    }

    .filter-toolbar__chip-dropdown__close svg,
    .filter-toolbar__chip-dropdown__close img {
        width: 1.5rem;
        height: 1.5rem;
    }

    /* Adjust content padding to account for header */
    .filter-toolbar__chip-dropdown__content {
        padding-top: 0 !important;
    }

    /* Remove any handle lines from content */
    .filter-toolbar__chip-dropdown__content::before,
    .filter-toolbar__chip-dropdown__content::after,
    .filter-toolbar__chip-dropdown__panel::before,
    .filter-toolbar__chip-dropdown__panel::after {
        display: none !important;
        content: none !important;
    }

    /* Remove gaps at the top of the page - but preserve header positioning */
    /* Ensure no spacing from any element above the listing section */
    .listing-map__header + * {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .listing--section {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .listing--section__inner {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }

    /* Adjust sticky filter bar to sit right below header with no gap */
    .listing__top-bar {
        top: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        position: relative !important;
        z-index: 10 !important; /* Lower than sidebar modal (9200) so modal appears on top */
    }

    /* Ensure filter sidebar modal appears above the filter toolbar */
    .listing-sidebar--open,
    .listing-sidebar--modal {
        z-index: 9200 !important;
    }

    /* Remove any extra spacing from listing content */
    .listing__content {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* Remove extra spacing from filter toolbar */
    .filter-toolbar {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .filter-toolbar__filter-bar {
        margin-top: 0 !important;
        padding-top: 8px !important;
        gap: 0.5rem !important;
    }

    /* Remove spacing from listing banner if present */
    .listing-banner {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
    }

    .listing-banner__inner {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .listing-banner--sidebar {
        margin-top: 0 !important;
    }

    /* Remove extra gap between elements */
    .listing-map__header {
        margin-bottom: 0 !important;
    }

    /* Hide Sort by and Show Map buttons when any filter dropdown is open */
    /* Using :has() selector to detect when dropdown is open anywhere in the page */
    body:has(.filter-toolbar__chip-dropdown.is-open) .listing__content--header__controls .listing-sort__wrapper,
    body:has(.filter-toolbar__chip-dropdown.is-open) .listing__content--header__controls .listing__top-bar__map-btn {
        display: none !important;
    }

    /* Keep filter toolbar visible when location/capacity dropdown is open */
    /* The toolbar needs to stay on top of the modal overlay */
    .filter-toolbar__chip-dropdown.is-open ~ * .filter-toolbar,
    .filter-toolbar {
        position: relative;
        z-index: 10001 !important; /* Higher than the modal overlay (10000) */
    }

    /* Ensure the filter buttons container stays visible.
       Exceptions: when the collection panel is open (z-index:10100) or the
       classic-search mobile popup is open, suppress this rule so the overlay wins. */
    body:not(:has(#ai-panel.ai-panel--open)):not(.mobile-popup--open) .listing__top-bar,
    body:not(:has(#ai-panel.ai-panel--open)):not(.mobile-popup--open) .filter-toolbar__filter-bar {
        position: relative;
        z-index: 10001 !important;
    }

    /* Override hidden/auto overflow causing clipping of dropdowns */
    body:has(.filter-toolbar__chip-dropdown.is-open) .listing__top-bar,
    body.dropdown-active-mobile .listing__top-bar,
    body:has(.filter-toolbar__chip-dropdown.is-open) .filter-toolbar,
    body.dropdown-active-mobile .filter-toolbar,
    body:has(.filter-toolbar__chip-dropdown.is-open) .filter-toolbar__filter-bar,
    body.dropdown-active-mobile .filter-toolbar__filter-bar {
        overflow: visible !important;
        -webkit-overflow-scrolling: auto !important;
    }

    /* BUT: When the main filter sidebar modal is open, lower the toolbar z-index */
    /* so the modal appears on top */
    body.listing-filters-open .listing__top-bar,
    body.listing-filters-open .filter-toolbar,
    body.listing-filters-open .filter-toolbar__filter-bar,
    body.quick-inquiry-modal-open .listing__top-bar,
    body.quick-inquiry-modal-open .filter-toolbar,
    body.quick-inquiry-modal-open .filter-toolbar__filter-bar,
    body:has(.app-navigation__menu--active) .listing__top-bar,
    body:has(.app-navigation__menu--active) .filter-toolbar,
    body:has(.app-navigation__menu--active) .filter-toolbar__filter-bar {
        z-index: 10 !important;
    }

    /* Center align X icon in attendees filter min/max text fields */
    .listing-sidebar__filter__range-input__clear {
        /* The label has font-size 0.875rem with margin-bottom: 0.5rem */
        /* Input field is 3rem (48px) tall */
        /* Position icon vertically centered within the input field only */
        /* Label height ~1.2rem + margin 0.5rem = 1.7rem above input */
        /* Input center is at 1.7rem + 1.5rem = 3.2rem from container top */
        top: calc(1.2rem + 0.5rem + 1.5rem) !important; /* Approx label height + margin + half input */
        transform: translateY(-50%) !important;
    }
}

/* Desktop and tablet styles */
@media (min-width: 1028px) {
    /* Panel border radius on desktop/tablet */
    .filter-toolbar__chip-dropdown__panel {
        border-radius: 8px !important;
    }

    /* Show header on desktop with appropriate styling */
    .filter-toolbar__chip-dropdown__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 1rem 1.25rem;
        background: #fff;
    }

    .filter-toolbar__chip-dropdown__title {
        font-size: 14px;
        font-weight: 400;
        line-height: 100%;
        letter-spacing: 0%;
        color: #262626;
        margin: 0;
        font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    }

    .filter-toolbar__chip-dropdown__close {
        display: none !important;
    }

    /* Center align X icon in attendees filter min/max text fields - Desktop */
    .listing-sidebar__filter__range-input__clear {
        /* The label has font-size 0.875rem with margin-bottom: 0.5rem */
        /* Input field is 3rem (48px) tall */
        /* Position icon vertically centered within the input field only */
        /* Label height ~1.2rem + margin 0.5rem = 1.7rem above input */
        /* Input center is at 1.7rem + 1.5rem = 3.2rem from container top */
        top: calc(1.2rem + 0.5rem + 1.5rem) !important; /* Approx label height + margin + half input */
        transform: translateY(-50%) !important;
    }

    /* Thin divider lines between filter sections */
    .listing-sidebar__filter-accordion__header {
        border-top: 0.5px solid #EBEBEB !important;
        /* padding-top: 1rem !important;
        padding-bottom: 1rem !important; */
    }

    .listing-sidebar__filter:first-child .listing-sidebar__filter-accordion__header {
        border-top: none !important;
    }

    /* Reduce spacing between Show more/less and next section divider - modal only */
    .listing-sidebar--modal .listing-sidebar__filter .collapsable-btn {
        margin-top: 0.25rem !important;
    }

    .listing-sidebar--modal .listing-sidebar__filter-accordion__inner {
        padding-bottom: 1rem !important;
    }

    /* Guarantee exactly 1rem spacing above the divider by removing bottom margin from the last child */
    .listing-sidebar--modal .listing-sidebar__filter-accordion__inner > *:last-child {
        margin-bottom: 0 !important;
    }

    /* Reduce whitespace at bottom of filter sidebar on desktop */
    .listing-sidebar--modal .listing-sidebar__bottom-bar {
        padding-left: 12px !important;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .listing-sidebar--modal .listing-sidebar__content {
        padding-bottom: 2rem !important;
    }
}

/* =================================================================
   CHECKBOX & TEXT ALIGNMENT FIXES
   ================================================================= */

/* Align checkbox and text center for all filter types */
.listing-sidebar__filter__checkbox,
.listing-sidebar__filter-group-checkbox__item,
.listing-sidebar__filter-radio__item {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important; /* Standard spacing between checkbox and label */
    margin-bottom: 0.5rem !important;
}

/* Ensure checkbox input doesn't have offset margins and stays at its size */
.listing-sidebar__filter__checkbox input[type="checkbox"],
.listing-sidebar__filter-group-checkbox__item input[type="checkbox"],
.listing-sidebar__filter-radio__item input[type="radio"],
.form-checkbox {
    margin: 0 !important;
    flex-shrink: 0 !important;
    --checkbox-border-color: #D9D9D9;
    --checkbox-width: 16px;
    --checkbox-height: 16px;
    width: 16px !important;
    height: 16px !important;
    border-width: 1px !important;
}

/* Ensure labels are also centered if they contain images/icons (e.g., Food & Beverage) */
.listing-sidebar__filter__checkbox label,
.listing-sidebar__filter-group-checkbox__item label,
.listing-sidebar__filter-radio__item label {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 0 !important;
    cursor: pointer !important;
    line-height: normal !important;
    transform: translateY(0px) !important; /* Optical correction for text vertical metrics */
}

/* Fix for icons/images inside labels (e.g., Star icons, Food & Beverage icons) */
.listing-sidebar__filter-group-checkbox__item label img,
.listing-sidebar__filter__checkbox label img {
    margin: 0 !important;
    flex-shrink: 0 !important;
}

/* Tighten mobile spacing for alignment items */
@media (max-width: 1027px) {
    .listing-sidebar__filter__checkbox,
    .listing-sidebar__filter-group-checkbox__item,
    .listing-sidebar__filter-radio__item {
        margin-bottom: 0.5rem !important;
        gap: 4px !important;
    }
}

/* =================================================================
   HOTEL RATE STAR ICON — SELECTED / UNSELECTED STATES
   ================================================================= */

/* By default: show unselected, hide selected */
.listing-sidebar__filter-group-checkbox__item .star-icon--selected {
    display: none !important;
}
.listing-sidebar__filter-group-checkbox__item .star-icon--unselected {
    display: inline-block !important;
}

/* When checkbox is checked: show selected star, hide unselected */
.listing-sidebar__filter-group-checkbox__item input[type="checkbox"]:checked
    ~ label .star-icon--unselected {
    display: none !important;
}
.listing-sidebar__filter-group-checkbox__item input[type="checkbox"]:checked
    ~ label .star-icon--selected {
    display: inline-block !important;
}

/* ============================================================
   PLP Layout — Reduce Side Gaps to 20px on Desktop
   ============================================================ */
@media (min-width: 1024px) {
    .listing__content--inner {
        padding-left: 22px !important;
        padding-right: 22px !important;
    }

    .filter-toolbar {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .listing__top-bar {
        padding-left: 22px !important;
        padding-right:22px !important;
    }

    .filter-toolbar__filter-bar {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Reduce gap between listing cards */
    .listing__content-cards,
    .listing__content-static-cards {
        gap: 18px !important;
    }
}
/* === sortby-filter-theme.css === */
/**
 * SortBy Filter Theme Update
 * Matches the new design with white background and improved typography
 */

/* Listing content title styling */
.listing__content--title {
    font-size: 16px !important;
}

/* Override dropdown box styles for SortBy filter */
.listing-sort__wrapper .dropdown__box {
    background-color: #FFFFFF !important;
    border-radius: 8px !important;
    border: none !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
    padding: 8px 1.5rem !important;
    min-width: 230px;
}

/* Remove the dark background override */
.listing-sort__wrapper .dropdown__box {
    --tw-bg-opacity: 1 !important;
}

/* Update label styles to match new design */
.listing-sort__item {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #F3F4F6;
    transition: all 0.2s ease;
    margin: 0 -1rem;
}

.listing-sort__item:last-child {
    border-bottom: none;
}

.listing-sort__item label {
    cursor: pointer;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
    color: #262626 !important;
    display: block;
    width: 100%;
    padding: 0;
    text-align: center;
    transition: all 0.2s ease;
}

/* Hover state */
.listing-sort__item:hover {
    background-color: #F9FAFB;
    border-radius: 0;
}

/* Checked/Selected state */
.listing-sort__item input:checked + label {
    font-weight: 400 !important;
    color: #262626 !important;
}

.listing-sort__item:has(input:checked) {
    background-color: #F2F2F2 !important;
    border-radius: 4px;
}

/* Hide radio buttons but keep them functional */
.listing-sort__item input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

/* Responsive adjustments */
@media (min-width: 1024px) {
    .listing-sort__wrapper .dropdown__box {
        padding: 8px 1.75rem !important;
    }

    .listing-sort__item label {
        font-size: 16px !important;
        line-height: 24px !important;
    }
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .listing-sort__wrapper .dropdown__box {
        min-width: 240px;
        padding: 8px 1rem !important;
    }

    .listing-sort__item label {
        font-size: 14px !important;
        line-height: 24px !important;
    }
}
/* === venue-card-overrides.css === */
/* Override Swiper pagination for venue cards to align dots to the right and center with badges */
.listing-card .swiper-pagination {
    position: absolute !important; /* Changed back to absolute for proper positioning */
    left: auto !important;
    right: 12px !important;
    bottom: 12px !important; /* Reduced bottom padding to 6px */
    transform: none !important;
    width: auto !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 5px !important; /* Gap explicitly set to 5px */
    z-index: 11 !important; /* Increased to 11 to be above gradient (z-index: 1) */
}

/* Ensure individual bullets behave correctly - larger and more visible */
.listing-card .swiper-pagination-bullet {
    margin: 0 !important; /* Reset margin so gap controls the exact spacing */
    width: 8px !important;
    height: 8px !important;
    background: rgba(255, 255, 255, 0.5) !important; /* Semi-transparent white for inactive */
    opacity: 1 !important;
    border-radius: 50% !important;
}

/* Active pagination dot - pure white */
.listing-card .swiper-pagination-bullet-active {
    background: #ffffff !important;
    opacity: 1 !important;
    width: 8px !important;
    height: 8px !important;
}

/* ============================================
   Venue Card Badge Positioning & Spacing
   Fixes for premium badges on listing cards
   ============================================ */

/* Badge Container Positioning - Top Left */
.listing-card__badges--top-left {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 10;
    display: flex;
    flex-direction: row;
    gap: 4px;
    align-items: flex-start;
    pointer-events: none;
}

/* Badge Container Positioning - Bottom Left */
.listing-card__badges--bottom-left {
    position: absolute;
    bottom: 8px;
    left: 12px;
    z-index: 10;
    display: flex;
    flex-direction: row;
    gap: 4px;
    align-items: center;
    pointer-events: none;
}

/* Image Wrapper - Height increase + gradient overlay from bottom */
.listing-card__image-wrapper {
    position: relative;
    height: 210px !important;
}

@media (min-width: 1024px) {
    .listing-card__image-wrapper {
        height: 235px !important;
    }
}

/* Update grid card height variable to match new image height */
.listing__content-cards,
.listing__content-static-cards {
    --listing-card-height: 220px;
}

@media (min-width: 1344px) {
    .listing__content-cards,
    .listing__content-static-cards {
        --listing-card-height: 220px;
    }
}

@media (min-width: 1700px) {
    .listing__content-cards,
    .listing__content-static-cards {
        --listing-card-height: 220px;
    }
}

/* Override fixed card height (was 308px) to accommodate taller image (235px vs 175px = +60px) */
.listing__content-cards .listing-card,
.listing__content-static-cards .listing-card {
    height: auto !important;
    min-height: 368px !important;
}

/* Mobile: Reduce min-height to eliminate bottom gap */
@media (max-width: 768px) {
    .listing__content-cards .listing-card,
    .listing__content-static-cards .listing-card {
        min-height: auto !important;
    }
}

/* Skeleton image wrapper - match height to real card image */
.listing-card--skeleton__image-wrapper {
    height: 210px !important;
}

@media (min-width: 1024px) {
    .listing-card--skeleton__image-wrapper {
        height: 235px !important;
    }
}

/* Only show gradient on actual cards, not skeleton loading cards */
/* Moved gradient to .swiper container to ensure proper stacking context with pagination */
.listing-card:not(.listing-card--skeleton) .swiper::after,
.listing-map-card .swiper::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60px; /* Increased height for better visibility */
    /* background: linear-gradient(180deg, rgba(0, 0, 0, 0) -49.52%, rgba(0, 0, 0, 0.4) 84.13%); */
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.40) 73.39%);
    pointer-events: none;
    z-index: 5; /* Ensure it is above the swiper images but below badges/pagination */
    opacity: 0; /* Default hidden */
    transition: opacity 0.3s ease; /* Fade in effect */
}

/* Show gradient when image is loaded */
.listing-card:not(.listing-card--skeleton) .swiper.swiper--loaded::after,
.listing-map-card .swiper.swiper--loaded::after {
    opacity: 1;
}

/* Hide default gradient if footer exists, since footer provides its own strictly-layered gradient */
.listing-card:not(.listing-card--skeleton) .swiper:has(.swiper-slide .listing-card__image-wrapper-footer)::after,
.listing-map-card .swiper:has(.swiper-slide .listing-map-card__image-wrapper-footer)::after {
    display: none !important;
}

/* Apply gradient locally to footer so text safely overlays the gradient */
.listing-card__image-wrapper-footer::before,
.listing-map-card__image-wrapper-footer::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100px; /* Accommodate footer text */
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.40) 73.39%);
    pointer-events: none;
    z-index: -1; /* Keep it perfectly behind the footer text but above the image */
    opacity: 0;
    transition: opacity 0.3s ease;
}

.swiper.swiper--loaded .listing-card__image-wrapper-footer::before,
.swiper.swiper--loaded .listing-map-card__image-wrapper-footer::before {
    opacity: 1;
}

/* Individual Badge Styling - Top Pill Variant */
.listing-card__badge--top {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0.75rem 0.6rem !important;
    height: 20px !important;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
    pointer-events: auto;
}

/* Badge Icon */
.listing-card__badge-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    object-fit: contain;
}

/* Hide icon in top badge - text only */
.listing-card__badge--top .listing-card__badge-icon {
    display: none;
}

/* Badge Label Text */
.listing-card__badge-label {
    font-family:
        'Neue',
        -apple-system,
        BlinkMacSystemFont,
        'Segoe UI',
        sans-serif;
    font-weight: 500;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: flex;
    align-items: center;
    line-height: 1;
}

/* Icon Only Variant (Bottom) */
.listing-card__badge--icon-only {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 24px;
    padding: 0px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.20);
    aspect-ratio: 4/3;
    pointer-events: auto;
}

/* Environment Badge (Bottom) - styling matches icon-only variant */
.listing-card__badge--environment {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 24px !important;
    padding: 0 8px !important;
    border-radius: 4px !important;
    background: rgba(255, 255, 255, 0.20) !important;
    pointer-events: auto;
    backdrop-filter: none !important;
    box-shadow: none !important;
}

.listing-card__badge--icon-only .listing-card__badge-icon {
    width: 12px;
    height: 12px;
}

/* Ensure SVG icons display without background or fill overrides */
.listing-card__badge--icon-only img,
.listing-card__badge--icon-only svg {
    background: none;
    fill: none;
    width: 16px;
    height: 16px;
    object-fit: contain;
}

/* Hide label in icon-only variant */
.listing-card__badge--icon-only .listing-card__badge-label {
    display: none;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .listing-card__badges--top-left,
    .listing-card__badges--bottom-left {
        gap: 2px;
        left: 8px;
    }

    .listing-card__badges--top-left {
        top: 8px;
    }

    .listing-card__badges--bottom-left {
        bottom: 6px;
        gap: 4px;
    }

    /* Center align pagination with badges in mobile */
    .listing-card .swiper-pagination,
    .listing-map-card .swiper-pagination {
        right: 14px !important;
        bottom: 8px !important; /* Reduced bottom padding to 6px */
    }
    
    /* Align next arrow with pagination */
    .listing-card__image-wrapper .swiper-button-next,
    .listing-map-card__image-wrapper .swiper-button-next {
        right: 18px !important;
    }

    /* Align prev arrow with pagination */
    .listing-card__image-wrapper .swiper-button-prev,
    .listing-map-card__image-wrapper .swiper-button-prev {
        left: 16px !important;
    }

    .listing-card:not(.listing-card--skeleton) .swiper::after,
    .listing-map-card .swiper::after {
        height: 60px; /* Increased height for mobile */
        /* background: linear-gradient(180deg, rgba(0, 0, 0, 0) -49.52%, rgba(0, 0, 0, 0.4) 84.13%); */
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.40) 73.39%);
        z-index: 5;
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .listing-card:not(.listing-card--skeleton) .swiper.swiper--loaded::after,
    .listing-map-card .swiper.swiper--loaded::after {
        opacity: 1;
    }

    /* Increase gradient height on mobile when footer is present */
    .listing-card__image-wrapper-footer::before {
        height: 110px; /* Slightly taller for mobile */
    }

    .listing-card__badge--top {
        padding: 0.75rem 0.5rem !important;
        font-size: 12px;
        gap: 5px;
        border-radius: 50px;
    }

    .listing-card__badge-icon {
        width: 16px;
        height: 16px;
    }

    .listing-card__badge--icon-only {
        width: 32px;
        height: 24px;
        padding: 0px;
        background: rgba(255, 255, 255, 0.20);
        aspect-ratio: 4/3;
    }

    .listing-card__badge--icon-only .listing-card__badge-icon {
        width: 16px;
        height: 16px;
    }

    /* Mobile SVG dimensions */
    .listing-card__badge--icon-only img,
    .listing-card__badge--icon-only svg {
        width: 16px;
        height: 16px;
    }
}

/* Map Card Variant - Same spacing */
.listing-map-card__image-wrapper .listing-card__badges--top-left,
.listing-map-card__image-wrapper .listing-card__badges--bottom-left {
    position: absolute;
    z-index: 10;
}

/* Remove underline from location text */
.listing-card__meta-location {
    text-decoration: none !important;
}

/* ============================================
   Map Card Specific Styling
   ============================================ */

/* Map card pagination - right aligned */
.listing-map-card .swiper-pagination {
    left: auto !important;
    right: 12px !important;
    bottom: 12px !important;
    transform: none !important;
    width: auto !important;
    display: flex !important;
    justify-content: flex-end !important;
    gap: 5px !important;
    z-index: 11 !important; /* Ensure it stays above gradient */
}

.listing-map-card .swiper-pagination-bullet {
    margin: 0 !important;
    background: rgba(255, 255, 255, 0.8) !important;
    opacity: 0.7 !important;
}

.listing-map-card .swiper-pagination-bullet-active {
    opacity: 1 !important;
}

/* Hide default Leaflet popup close button as we have a custom one */
.leaflet-popup-close-button {
    display: none !important;
}

/* Close button styling */
/* Figma: plain ~15px X in the top-right, no circular background */
.listing-map-card__close {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 20;
    width: 18px;
    height: 18px;
    border-radius: 0;
    background: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.listing-map-card__close:hover {
    background: transparent;
}

.listing-map-card__close svg {
    width: 16px;
    height: 16px;
    color: #ffffff;
    /* Keep the white X legible over bright images */
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45));
}

/* Hide favorite button on map cards */
.listing-map-card__favorite {
    display: none !important;
}

/* Capacity rows - left aligned with bottom margin */
/* Ensure container has NO padding */
.listing-map-card .listing-card__capacity-list {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 8px !important;
    margin-bottom: 8px !important; /* Figma: 8px gap to "venues matched" */
    padding: 0 !important;
    padding-left: 2px !important; /* Fine adjustment: 2px indentation asked by user */
    padding-inline-start: 2px !important;
    gap: 10px !important; /* Figma: 10px between seated/standing capacity items */
}

/* Hide the label wrapper completely to prevent it taking space or adding gap */
.listing-map-card .listing-card__capacity-label {
    display: none !important;
}

/* Ensure capacity item wrapper is tight */
.listing-map-card .listing-card__capacity {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 4px; /* Figma: 4px icon-to-text gap */
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
}

/* Figma capacity icon: 18px box (auto width preserves the seated/standing glyph ratio) */
.listing-map-card__capacity-icon {
    width: auto !important;
    height: 18px !important;
}

/* Figma capacity number: 12px / 18px, gray-900 #262626 (darker than the base gray) */
.listing-map-card .listing-card__capacity-number {
    font-size: 12px !important;
    line-height: 18px !important;
    color: #262626 !important;
}

/* Figma map-card title: 15px SemiBold (compact vs the 16px grid card) */
.listing-map-card .listing-card__title {
    font-size: 15px !important;
}

/* Figma verified check next to the title: 18px (base renders the SVG at 24px).
   zoom scales the replaced :after content + its box (width/height are ignored on
   content:url()), so the title gap stays tight. 18/24 = 0.75. */
.listing-map-card .listing-card__title-wrapper.listing-card__title--verified:after {
    zoom: 0.75;
}

/* Figma "Hotel · 5" pill: 16px tall, 2px/8px padding, 4px gap */
.listing-map-card .listing-card__meta-badge {
    height: 16px !important;
    padding: 2px 8px !important;
    gap: 4px !important;
}

/* Figma "9 venues matched": 14px underlined (overrides the matched-variant 16px desktop bump) */
.listing-map-card .listing-card__venue-count-number {
    font-size: 14px !important;
}

/* Map card dimensions and padding adjustments */
/* Radius matches the 8px Leaflet popup wrapper + Figma (radius-md, 8px) */
/* Figma: solid white card. Overrides the legacy dark-theme gradient in main.css
   (background: linear-gradient(... #000000 ...)) that painted the content black. */
.listing-map-card {
    max-width: 320px;
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff !important;
    background-image: none !important;
    color: #262626;
}

.listing-map-card__image-wrapper {
    position: relative;
}

/* Figma: content block padding 0 10px, 8px gap below image, 12px card bottom padding */
.listing-map-card__content {
    padding: 8px 10px 12px;
}

/* Center align navigation arrows vertically on map cards */
.listing-map-card__image-wrapper .swiper-button-next,
.listing-map-card__image-wrapper .swiper-button-prev {
    top: 50% !important;
    transform: translateY(-50%) !important;
}

/* Remove Swiper default margin-bottom on ::after arrow icon so it doesn't offset the arrow */
.listing-card__image-wrapper .swiper-button-next::after,
.listing-card__image-wrapper .swiper-button-prev::after,
.listing-map-card__image-wrapper .swiper-button-next::after,
.listing-map-card__image-wrapper .swiper-button-prev::after {
    margin-bottom: 0 !important;
}

/* ============================================
   Clickable Card with Pointer Cursor
   ============================================ */

/* NUCLEAR OPTION - Force cursor on EVERYTHING in static container */
.listing__content-static-cards
    *:not(.listing-card__favorite):not(.listing-card__quick-inquiry):not(.swiper-button-next):not(
        .swiper-button-prev
    ):not(.swiper-pagination-bullet) {
    cursor: pointer !important;
}

.listing__content-cards
    *:not(.listing-card__favorite):not(.listing-card__quick-inquiry):not(.swiper-button-next):not(
        .swiper-button-prev
    ):not(.swiper-pagination-bullet) {
    cursor: pointer !important;
}

/* HIGHEST SPECIFICITY - Force cursor on static cards container */
body .listing__content-static-cards,
body ul.listing__content-static-cards,
body .listing__content-static-cards .listing__card-item,
body .listing__content-static-cards .listing-card,
body .listing__content-static-cards .listing-card *,
body .listing__content-static-cards .listing-card > *,
body .listing__content-static-cards .listing-card > * > *,
body .listing__content-static-cards .listing-card > * > * > *,
body .listing__content-static-cards .listing-card article,
body .listing__content-static-cards article.listing-card,
body .listing__content-static-cards article.listing-card *,
body .listing__content-static-cards article.listing-card > * {
    cursor: pointer !important;
}

/* Make the entire card show pointer cursor for better UX */
.listing-card {
    cursor: pointer !important;
}

/* Apply same styling to static cards */
.listing__content-static-cards .listing-card,
.listing__content-cards .listing-card {
    cursor: pointer !important;
}

.listing__content-static-cards .listing-card *,
.listing__content-cards .listing-card * {
    cursor: pointer !important;
}

/* Force pointer cursor on ALL listing card elements regardless of parent container */
ul[role="list"] .listing-card,
ul.listing__content-static-cards .listing-card,
ul.listing__content-cards .listing-card {
    cursor: pointer !important;
}

ul[role="list"] .listing-card *,
ul.listing__content-static-cards .listing-card *,
ul.listing__content-cards .listing-card * {
    cursor: pointer !important;
}

/* Force pointer cursor on ALL elements within the card */
.listing-card,
.listing-card *,
.listing-card a,
.listing-card a *,
.listing-card__image-wrapper,
.listing-card__image-wrapper *,
.listing-card__content,
.listing-card__content *,
.listing-card .swiper,
.listing-card .swiper *,
.listing-card .swiper-slide,
.listing-card .swiper-slide *,
.listing-card .swiper-wrapper,
.listing-card .swiper-wrapper *,
.listing-card__header,
.listing-card__header *,
.listing-card__title,
.listing-card__title *,
.listing-card__meta,
.listing-card__meta *,
.listing-card__capacity-list,
.listing-card__capacity-list *,
.listing-card__venue-inquiry-row,
.listing-card__venue-count,
.listing-card__venue-count *,
.listing-card img,
.listing-card div,
.listing-card p,
.listing-card span,
.listing-card h1,
.listing-card h2,
.listing-card h3,
.listing-card h4,
.listing-card h5,
.listing-card h6 {
    cursor: pointer !important;
}

/* Ensure link elements don't override cursor */
.listing-card a.listing-card__content {
    cursor: pointer !important;
}

/* Override for interactive elements that should keep their specific cursors */
.listing-card__favorite,
.listing-card__favorite *,
.listing-card__quick-inquiry,
.listing-card__quick-inquiry *,
.swiper-button-next,
.swiper-button-prev,
.swiper-pagination,
.swiper-pagination-bullet {
    cursor: pointer !important;
}

/* Set explicit dimensions for Quick Inquiry button */
.listing-card__quick-inquiry {
    min-width: 95px !important;
    width: auto !important;
    height: 32px !important;
    padding: 0 10px !important;
    white-space: nowrap !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    border: 1px solid #D9D9D9 !important;
}

/* ============================================
   Filter Dropdown Apply Button - Mobile Override
   ============================================ */

/* Mobile view - reduce Apply button size to match Figma spec */
@media (max-width: 1027px) {
    .filter-toolbar__chip-dropdown__apply {
        min-width: 99px !important;
        width: auto !important;
        height: 40px !important;
        padding: 10px 24px !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        gap: 8px !important;
        border-radius: 4px !important;
        background: #c8d200 !important;
        color: #000 !important;
        text-align: center !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

/* Hide badge and environment overlay as requested */
.quick-inquiry-room__badge,
.quick-inquiry-room__environment--overlay {
    display: none !important;
}

/* ============================================
   HIDE SIDEBAR FILTER (NOT USED IN NEW FLOW)
   The sidebar filter is legacy code and not part of the new UX flow.
   Hiding it prevents it from overlapping venue cards and causing cursor issues.
   ============================================ */

/* The sidebar is only used inside the filter modal now, so don't hide it globally.
   The modal wrapper (listing-filters-modal) controls visibility via aria-hidden.
   We don't need to hide the sidebar anymore since it's properly contained in the modal. */

/* Quick Inquiry Modal Gradients (Hero + Room Cards) */
/* Quick Inquiry Modal Gradients (Room Cards Only) */
.quick-inquiry-room__image::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 30px; /* Changed from fixed 120px to 50% relative height */
    /* background: linear-gradient(180deg, rgba(0, 0, 0, 0) -49.52%, rgba(0, 0, 0, 0.4) 84.13%); */
     background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.40) 73.39%);
    pointer-events: none;
    z-index: 1; /* Low z-index to stay below environment tags if needed */
}

/* Ensure the container can hold the absolute pseudo-element */
.quick-inquiry-room__image {
    position: relative;
    overflow: hidden; /* To ensure gradient matches border radius if any */
}

@media (max-width: 768px) {
    .quick-inquiry-room__image::after {
        height: 30px; /* Consistent 50% height on mobile too */
        /* background: linear-gradient(180deg, rgba(0, 0, 0, 0) -49.52%, rgba(0, 0, 0, 0.4) 84.13%); */
     background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.40) 73.39%);

    }
}

/* Ensure overlays (badges, chips, environment text, add button) sit ABOVE the gradient */
.quick-inquiry-room__overlay-content {
    position: absolute;
    bottom: 4px; /* Moved down to 4px as requested */
    left: 8px; /* Reduced from 12px to 8px to match content padding */
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    pointer-events: none;
}

/* Compact styles for the badge to reduce stack height */
.quick-inquiry-room__badge {
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    font-size: 11px;
    padding: 2px 6px;
    border-radius: 4px;
    line-height: 1.2;
    margin-bottom: 1px; /* Slight fine tuning */
}

/* Reset individual positioning for elements inside the wrapper */
.quick-inquiry-room__overlay-content .quick-inquiry-room__chips,
.quick-inquiry-room__overlay-content .quick-inquiry-room__badge,
.quick-inquiry-room__overlay-content .quick-inquiry-room__environment {
    position: static !important;
    z-index: auto !important; /* Managed by parent z-index */
    margin: 0 !important;
}

/* Keep add button separate and above */
.quick-inquiry-room__add {
    z-index: 2 !important;
    position: absolute;
    /* Add button is likely positioned by existing CSS, but keep z-index high */
}

/* ============================================
   Quick Inquiry Room Card - Increased Height & Spacing
   Fix for congested room cards in Quick Inquiry Modal
   ============================================ */

/* Auto card height to fit content (room size/dimension fields removed) */
.quick-inquiry-room {
    height: auto !important;
    min-height: auto !important;
}

/* Increase content area padding for better breathing room */
.quick-inquiry-room__content {
    padding: 6px 12px 8px 8px !important; /* Reduced left padding from 12px to 8px */
    gap: 1px !important; /* Reduced gap from 2px to 1px */
}

/* Add margin between title and venue size/dimension info */
.quick-inquiry-room__title {
    margin-bottom: 1px !important; /* Reduced from 2px to 1px */
}

/* Venue size and dimension text - add spacing */
.quick-inquiry-room__content .capacity-venue-size {
    margin-top: 1px !important; /* Reduced from 2px to 1px */
    margin-bottom: 0px !important;
    line-height: 1.2 !important; /* Tighter line height from 1.3 to 1.2 */
    font-size: 0.7rem !important; /* Slightly smaller for better fit */
}

/* Stats section - minimal spacing after removing size/dimension fields */
.quick-inquiry-room__stats {
    margin-top: 0px !important; /* Removed margin since size/dimension fields are gone */
    margin-bottom: 0 !important; /* No bottom margin */
    padding-top: 4px !important; /* Reduced padding from 12px to 4px */
    padding-bottom: 0 !important; /* Ensure no padding */
}

/* ============================================
   Quick Inquiry Modal - Cancel Button Spacing
   Reduce left padding to move Cancel button left
   ============================================ */
.quick-inquiry-modal__cancel {
    padding: 0.75rem 1.5rem 0.75rem 0rem !important; /* Reduced left padding from 1.5rem to 0.5rem */
}

/* Remove hover effect from Cancel button */
.quick-inquiry-modal__cancel:hover {
    color: #666 !important; /* Keep original color, no change on hover */
    background: transparent !important; /* Keep background transparent, no change on hover */
}

/* ============================================
   Badge Counter Style (+N indicator)
   Shows remaining badge count when more than 4 badges exist
   ============================================ */

/* Counter badge styling - same dimensions as icon-only variant */
.listing-card__badge--counter {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 24px;
    padding: 0px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.20);
    aspect-ratio: 4/3;
    pointer-events: auto;
}

/* Counter text styling */
.listing-card__badge-counter-text {
    font-family: 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #ffffff;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
    .listing-card__badge--counter {
        width: 32px;
        height: 24px;
    }

    .listing-card__badge-counter-text {
        font-size: 11px;
    }
}

/* ============================================
   Quick Inquiry Modal - Title Truncation
   Keep title in single line with ellipsis
   ============================================ */

/* Info card wrapper - constrain width to prevent gap */
.quick-inquiry-modal__hero-info-card {
    flex: 1 1 auto !important; /* Allow it to grow but not beyond max-width */
    max-width: calc(100% - 150px) !important; /* Leave space for button (adjust as needed) */
    min-width: 0 !important; /* Allow flex item to shrink below content size */
}

/* ============================================
   Align mobile footer title x-axis with badges
   ============================================ */
@media (max-width: 768px) {
    .listing-card__image-wrapper-footer,
    .listing-map-card__image-wrapper-footer {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
    
    /* Ensure the title itself has no negative margin and starts flush with padding */
    .listing-card__image-wrapper-footer__title,
    .listing-map-card__image-wrapper-footer__title {
        margin-left: 0 !important;
        padding-left: 0 !important;
    }

    .listing-map-card__image-wrapper-footer__info {
        margin-left: 0 !important;
    }
    /* Align map card top tags to match 14px padding */
    .listing-map-card__top-tags {
        left: 14px !important;
    }
}

/* Title truncation - single line with ellipsis */
.quick-inquiry-modal__hero-title,
p#quickInquiryTitle {
    white-space: nowrap !important; /* Prevent wrapping to multiple lines */
    overflow: hidden !important; /* Hide overflow text */
    text-overflow: ellipsis !important; /* Add ... for truncated text */
    display: block !important; /* Ensure block display for text truncation */
}

/* Subtitle truncation as well */
.quick-inquiry-modal__hero-subtitle {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Button stays flexible */
.quick-inquiry-modal__hero-link {
    flex-shrink: 0 !important; /* Don't shrink the button */
    border-radius: 8px !important;
}

/* Mobile responsive - allow more width for title on mobile */
@media (max-width: 768px) {
    .quick-inquiry-modal__hero-info-card {
        max-width: calc(100% - 50px) !important; /* More space for title, less for button on mobile */
    }

    /* Allow title to use almost full available width on mobile */
    .quick-inquiry-modal__hero-title,
    p#quickInquiryTitle {
        max-width: 100% !important; /* Use full available width within the info card */
    }
}

/* ============================================
   Map Toggle Vertical Shift Fixes
   Refined to eliminate residual 8px shift and align header elements
   ============================================ */

/* Fix for 14px/20px vertical shift when map is enabled */
.listing-map__enabled .listing__content--tags {
    margin-top: 0 !important;
}

/* Adjust alert container margin to eliminate residual 8px shift */
.listing-map__enabled .listing__content--alert__container {
    margin-top: 0 !important; /* Reduced to account for the residual shift found in Chrome */
}

/* Align Total Venues count with Sort By in map view */
@media (min-width: 1024px) {
    .listing-map__enabled .filter-bar--section {
        padding-top: 0 !important; /* Reduces from 2.25rem to 0.75rem to align text vertically */
    }
}

/* ============================================
   Map Card Footer Title - Match Listing Card Style
   Ensure consistent footer styling between listing and map cards
   ============================================ */

.listing-map-card__image-wrapper-footer {
    gap: 0.25rem !important; /* Match listing card gap (was 0.375rem) */
    flex-direction: column !important; /* Match listing card layout */
    align-items: flex-start !important; /* Match listing card alignment (was center) */
    justify-content: flex-start !important; /* Match listing card justify (was space-between) */
}

/* Base padding (desktop fallback) */
@media (min-width: 769px) {
    .listing-map-card__image-wrapper-footer {
        padding-left: 0.5rem !important; /* Match listing card padding */
    }
}

@media (min-width: 1024px) {
    .listing-map-card__image-wrapper-footer {
        padding-left: 0.75rem !important;
        padding-right: 1rem !important; /* Match listing card padding */
    }
}

.listing-map-card__image-wrapper-footer__title {
    margin-bottom: 4px !important; /* Match listing card title margin */
    font-family: 'Neue' !important;
    font-weight: 600 !important; /* Match listing card font weight */
    font-size: 15px !important; /* Match listing card font size (was 0.75rem/12px) */
    line-height: 20px !important; /* Match listing card line height */
    letter-spacing: 0.07px !important; /* Match listing card letter spacing */
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4) !important; /* Add text shadow for readability */
}

/* Align environment info in map card footer leftward instead of hiding it */
.listing-map-card__image-wrapper-footer__info {
    margin-left: 0 !important;
}

.listing-card {
    border-radius: 8px !important;
}

.listing-card__image-wrapper,
.listing-card--skeleton__image-wrapper {
    height: 218px !important;
}

@media (min-width: 1024px) {
    .listing-card__image-wrapper,
    .listing-card--skeleton__image-wrapper {
        height: 245px !important;
    }
}

/* Card hugs its content so the gap below the "+ Inquiry" button is a fixed 16px */
.listing__content-cards .listing-card,
.listing__content-static-cards .listing-card {
    min-height: auto !important;
}

.listing-card__content {
    padding-bottom: 16px !important;
}

.listing__content--header {
    margin-bottom: 10px !important;
}

/* ============================================
   Map View Controls Alignment
   "Show attractions" toggle (top-left) and the map close X (top-right)
   sit 16px from the top and 16px from their side edge, same 32px height,
   so they line up with each other.
   ============================================ */

/* Toggle already lives at top:16/left:16 (32px tall) in main.css; only the
   close button needs aligning (was top:14px / right:48px, 40px tall). */
.listing__content--map__close {
    top: 16px !important;
    right: 16px !important;
    width: 32px !important;
    height: 32px !important;
}
/* === filter-close-icon-override.css === */
/* Override the default close icon with custom SVG */
.listing-sidebar--header__close-btn::before {
    content: none !important;
}

.listing-sidebar--header__close-btn img {
    display: block;
    width: 16px;
    height: 16px;
    pointer-events: none;
}

/* Ensure button maintains proper sizing */
.listing-sidebar--header__close-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: transparent;
    border: none;
    cursor: pointer;
}

/* Override scrollbar color and width in filter sidebar */
.listing-sidebar__content::-webkit-scrollbar {
    width: 6px !important;
}

.listing-sidebar__content::-webkit-scrollbar-track {
    background: #ffffff !important;
}

.listing-sidebar__content::-webkit-scrollbar-thumb,
.listing-sidebar__content::-webkit-scrollbar-thumb:hover {
    background: #A8A8A8 !important;
    border-radius: 6px !important;
}

/* =================================================================
   MOBILE SEARCH BAR STYLING - FROM FIGMA DESIGN (214:3239)
   Matches the FilterBar component design exactly
   ================================================================= */

@media (max-width: 1027px) {
    /* Remove padding from parent containers to ensure edge-to-edge design */
    .listing__top-bar {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .filter-toolbar {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Container for the entire filter toolbar search section */
    .filter-toolbar__search-wrapper {
        background: white !important;
        box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.1) !important;
        width: auto !important;
        display: block !important;
        box-sizing: border-box !important;
    }

    /* Filter bar spacing is handled in mobile-sort-ui-fix.css */

    /* Search Input Container - White pill with border */
    .filter-toolbar__search-input-container {
        background: white !important;
        border: 1px solid #E8E8E8 !important;
        border-radius: 16777200px !important; /* Extremely high value for perfect pill shape */
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        padding: 1px 13px !important; /* 13px padding for icon and text spacing */
        height: 32px !important;
        width: 100% !important;
        max-width: none !important; /* Remove max-width constraint to fill wrapper */
        box-sizing: border-box !important;
        transition: border-color 0.2s ease, background-color 0.2s ease !important;
        cursor: pointer !important;
    }

    /* Search Input Container - Hover State */
    .filter-toolbar__search-input-container:hover {
        background: #FAFAFA !important;
    }

    /* Search Input Container - Active/Pressed State */
    .filter-toolbar__search-input-container:active {
        background: #F5F5F5 !important;
    }

    /* Search Input Container - Focused State */
    .filter-toolbar__search-input-container:focus {
        outline: 2px solid #C8D200 !important;
        outline-offset: 2px !important;
        border-color: #C8D200 !important;
    }

    /* Search Icon - 16x16 icon */
    .filter-toolbar__search-icon {
        width: 16px !important;
        height: 16px !important;
        flex-shrink: 0 !important;
    }

    .filter-toolbar__search-icon svg {
        width: 16px !important;
        height: 16px !important;
    }

    .filter-toolbar__search-icon path {
        stroke: #383838 !important;
        fill: none !important;
    }

    /* Search Input Field - Matches Figma exactly */
    .filter-toolbar__search-input {
        border: none !important;
        outline: none !important;
        background: transparent !important;
        flex: 1 !important;
        font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
        font-weight: 400 !important; /* Regular weight */
        font-size: 12px !important;
        line-height: 20px !important;
        letter-spacing: -0.1504px !important; /* Exact value from Figma */
        color: #383838 !important;
        text-align: left !important;
        padding: 0 !important;
        height: 100% !important;
        cursor: pointer !important;
        pointer-events: none !important;
        white-space: nowrap !important;
    }

    /* Search Input Placeholder - Matches Figma typography */
    .filter-toolbar__search-input::placeholder {
        color: var(--vw-placeholder, #999999) !important;
        opacity: 1 !important;
        font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
        font-weight: 400 !important;
        font-size: 12px !important;
        line-height: 20px !important;
        letter-spacing: -0.1504px !important;
        text-align: left !important;
    }
}
/* === filter-dropdown-pointer-fix.css === */
/* Fix for location and capacity dropdown buttons not being clickable */
/* The dropdown panel has pointer-events: none which blocks all child clicks */
/* We need to re-enable pointer events for the footer and its buttons */

/* BUG FIX: Previously this file set pointer-events: auto !important on the panel unconditionally. */
/* This caused the invisible panel (opacity: 0) to block clicks on the cards below it. */
/* We now use visibility to ensure it is hidden from hit-testing when closed, and only enable pointer events when open. */

.filter-toolbar__chip-dropdown__panel {
    visibility: hidden;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s;
}

.filter-toolbar__chip-dropdown.is-open .filter-toolbar__chip-dropdown__panel {
    visibility: visible;
    pointer-events: auto !important;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0s;
}

.filter-toolbar__chip-dropdown__footer {
    pointer-events: auto !important;
}

.filter-toolbar__chip-dropdown__clear,
.filter-toolbar__chip-dropdown__apply {
    pointer-events: auto !important;
    cursor: pointer !important;
}
/* === mobile-overflow-fix.css === */
/* Mobile Overflow Fix - Prevent horizontal scrolling on mobile devices */

/* Ensure html and body don't overflow horizontally */
html, body {
    overflow-x: hidden;
    max-width: 100%;
}

/* Fix for listing section to prevent overflow */
@media (max-width: 1027px) {
    /* Width constraints to prevent layout shift - always applied on mobile */
    .listing--section,
    .listing--section__inner,
    .listing__content,
    .listing-layout {
        max-width: 100%;
        box-sizing: border-box;
    }

    /* Selective overflow control - disabled when map or dropdowns are active to prevent clipping */
    body:not(.listing-map__enabled):not(.dropdown-active-mobile) .listing--section,
    body:not(.listing-map__enabled):not(.dropdown-active-mobile) .listing--section__inner,
    body:not(.listing-map__enabled):not(.dropdown-active-mobile) .listing__content,
    body:not(.listing-map__enabled):not(.dropdown-active-mobile) .listing-layout {
        overflow-x: hidden;
    }

    /* Ensure child elements respect container width */
    .listing__content-body,
    .listing__content--inner {
        max-width: 100%;
        box-sizing: border-box;
    }

    body:not(.listing-map__enabled):not(.dropdown-active-mobile) .listing__content-body,
    body:not(.listing-map__enabled):not(.dropdown-active-mobile) .listing__content--inner {
        overflow-x: hidden;
    }

    /* Fix for venue cards container - keep width stable to prevent shift */
    .listing__content-cards,
    .listing__content-static-cards {
        max-width: 100%;
        box-sizing: border-box;
    }

    body:not(.listing-map__enabled):not(.dropdown-active-mobile) .listing__content-cards,
    body:not(.listing-map__enabled):not(.dropdown-active-mobile) .listing__content-static-cards {
        overflow-x: hidden;
    }
}
/* === mobile-sort-fix.css === */
/* Mobile Sort Button Fix - Ensure icon appears before text on mobile */

/* Fix for mobile bottom bar sort button */
@media (max-width: 1027px) {
    .listing__mobile-bottom-bar__sort .listing-sort__title--wrapper {
        display: flex;
        flex-direction: row; /* Ensure row direction, not reversed */
        align-items: center;
        gap: 0.5rem;
    }

    /* Ensure icon comes first */
    .listing__mobile-bottom-bar__sort .listing-sort__title--icon {
        order: 1;
    }

    /* Ensure text comes second */
    .listing__mobile-bottom-bar__sort .listing-sort__title {
        order: 2;
    }

    /* Mobile Sort Action Sheet Title - Match Figma Spec */
    .mobile-sort-action-sheet__title {
        font-family: 'Neue Plak', 'Neue', sans-serif !important;
        font-weight: 400 !important;
        font-size: 14px !important;
        line-height: 100% !important;
        letter-spacing: 0% !important;
        color: #262626 !important;
        margin: 0 !important;
    }

    /* Mobile Sort Action Sheet Close Button - Use SVG Icon */
    .mobile-sort-action-sheet__close::before {
        content: '' !important;
        display: inline-block !important;
        width: 32px !important;
        height: 32px !important;
        background-image: url('/assets/SVGs/icons/filter-close.svg') !important;
        background-size: contain !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
    }

    .mobile-sort-action-sheet__close {
        width: 32px !important;
        height: 32px !important;
        padding: 8px !important;
    }

    /* Remove divider from header */
    .mobile-sort-action-sheet__header {
        border-bottom: none !important;
    }
}
/* === mobile-sort-ui-fix.css === */
/* Mobile Sort Action Sheet UI Fix - Match Design Spec */

/* =================================================================
   FILTER BUTTON STYLING - FROM FIGMA DESIGN (210:2611)
   Both Mobile and Desktop
   ================================================================= */

/* Filter Main Button - Pill-shaped green button with icon */
.filter-toolbar__main-btn {
    background: #C8D200 !important; /* Brand green/yellow */
    border: 1px solid #C8D200 !important;
    border-radius: 100px !important; /* Pill shape */
    color: #1A1A1A !important; /* Dark text */
    padding: 12px !important;
    gap: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 40px !important;
    transition: background-color 0.2s ease, transform 0.1s ease !important;
}

/* Button text styling */
.filter-toolbar__main-btn span:not(.filter-toolbar__main-btn__badge) {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-weight: 600 !important; /* SemiBold */
    font-size: 14px !important;
    line-height: 20px !important;
    letter-spacing: -0.15px !important;
    color: #1A1A1A !important;
    text-align: center !important;
}

/* Button icon styling */
.filter-toolbar__main-btn svg {
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0 !important;
}

/* Button icon paths - ensure they use the dark color (stroke-based icon) */
.filter-toolbar__main-btn svg path {
    stroke: #1A1A1A !important;
    fill: none !important;
}

/* Hover state */
.filter-toolbar__main-btn:hover {
    background: #B5BD00 !important; /* Slightly darker on hover */
    border-color: #B5BD00 !important;
    transform: scale(1.02) !important;
}

/* Active/pressed state */
.filter-toolbar__main-btn:active {
    transform: scale(0.98) !important;
}

/* Badge styling - keep existing badge design */
.filter-toolbar__main-btn__badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    background: #1A1A1A !important;
    color: #fff !important;
    border-radius: 100px !important;
    min-width: 20px !important;
    height: 20px !important;
    padding: 2px 6px 0 6px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    margin-left: 0 !important;
}

/* When filters are active, maintain the green background */
.filter-toolbar__main-btn.filters-active,
.filter-toolbar__main-btn--active,
.filter-toolbar__main-btn[data-has-filters="true"] {
    background: #C8D200 !important;
    border-color: #C8D200 !important;
}

/* =================================================================
   CHIP BUTTON STYLING - FROM FIGMA DESIGN (210:2623)
   Where and Attendees buttons
   Both Mobile and Desktop
   ================================================================= */

/* Chip Button - White pill-shaped button with icon */
.filter-toolbar__chip {
    background: white !important;
    border: 1px solid #E8E8E8 !important;
    border-radius: 100px !important; /* Pill shape */
    color: #383838 !important;
    padding: 1px 13px !important;
    gap: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 40px !important;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.1s ease !important;
}

/* Chip button text styling */
.filter-toolbar__chip span {
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-weight: 400 !important; /* Regular */
    font-size: 14px !important;
    line-height: 20px !important;
    letter-spacing: -0.15px !important;
    color: #383838 !important;
    text-align: center !important;
}

/* Chip button icon styling */
.filter-toolbar__chip-icon,
.filter-toolbar__chip svg {
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0 !important;
}

/* Chip button icon paths - use gray stroke */
.filter-toolbar__chip-icon path,
.filter-toolbar__chip svg path {
    stroke: #383838 !important;
    fill: none !important;
}

/* Hover state for chip buttons */
.filter-toolbar__chip:hover {
    background: #F5F5F5 !important; /* Light gray on hover */
    border-color: #D4D4D4 !important;
    transform: scale(1.02) !important;
}

/* Active/pressed state for chip buttons */
.filter-toolbar__chip:active {
    transform: scale(0.98) !important;
}

/* When chip dropdown is open */
.filter-toolbar__chip[aria-expanded="true"] {
    background: #F5F5F5 !important;
    border-color: #C8D200 !important; /* Green border when active */
}

/* =================================================================
   ACTIVE FILTER CHIPS/TAGS STYLING - FROM FIGMA DESIGN (213:2952)
   Applied to filter chips in the chips wrapper
   Both Mobile and Desktop
   ================================================================= */

/* Active Filter Chip/Tag - White pill-shaped chip with close button */
.filter-toolbar__tags-container .listing__content--tag,
.listing__content--tags .listing__content--tag {
    background: white !important;
    border: 1px solid #E8E8E8 !important;
    border-radius: 100px !important; /* Pill shape - extremely high radius */
    color: #383838 !important;
    padding: 1px 13px !important;
    gap: 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: auto !important;
    min-height: 24px !important;
    font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-weight: 400 !important; /* Regular weight, not semibold */
    font-size: 12px !important;
    line-height: 20px !important;
    letter-spacing: -0.15px !important;
    white-space: nowrap !important;
    transition: background-color 0.2s ease, border-color 0.2s ease !important;
}

/* Hover state for active filter chips */
.filter-toolbar__tags-container .listing__content--tag:hover,
.listing__content--tags .listing__content--tag:hover {
    background: #F5F5F5 !important;
    border-color: #D4D4D4 !important;
}

/* Close button (X icon) styling - using ::after pseudo-element */
.filter-toolbar__tags-container .listing__content--tag:after,
.listing__content--tags .listing__content--tag:after {
    content: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' viewBox='0 0 12 12'%3E%3Cpath stroke='%23383838' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M9 3L3 9M3 3l6 6'/%3E%3C/svg%3E") !important;
    width: 12px !important;
    height: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
    padding: 2px !important;
    border-radius: 3px !important;
    transition: background-color 0.2s ease !important;
}

/* Close button hover effect */
.filter-toolbar__tags-container .listing__content--tag:hover:after,
.listing__content--tags .listing__content--tag:hover:after {
    background-color: rgba(0, 0, 0, 0.05) !important;
}

/* Ensure chips that can't be removed don't show close button */
.listing__content--tag--prevent__remove:after {
    display: none !important;
}

/* Adjust padding for chips without close button */
.listing__content--tag--prevent__remove {
    padding: 1px 13px !important;
}

/* Hide the "Clear filter" chip (keep only the button) */
.filter-toolbar__tags-container .listing__content--tag-clear,
.listing__content--tags .listing__content--tag-clear {
    display: none !important;
}


@media (max-width: 1027px) {
    /* =================================================================
       MOBILE SEARCH MODAL FIX - Prevent white bar showing at top
       ================================================================= */

    /* Hide the global search trigger in navigation on mobile */
    /* We use the dedicated search input in the filter toolbar instead */
    /* EXCEPTION: Show on /venues page (page-venues class) */
    .global-search-trigger {
        display: none !important;
    }

    /* Show global search trigger on venues page only in mobile view */
    body.page-venues .global-search-trigger {
        display: flex !important;
    }

    /* CRITICAL FIX: Ensure search modal has the highest z-index */
    /* This prevents ALL sticky/fixed elements from showing through the modal */
    #search-modal.dialog[aria-hidden="false"] {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        inset: 0 !important;
        z-index: 99999 !important; /* Extremely high to be above everything */
        background: rgba(0, 0, 0, 0.9) !important;
        padding: 0 !important;
        margin: 0 !important;
        min-height: 100vh !important;
        min-height: 100dvh !important; /* Dynamic viewport height for mobile */
        overflow-y: auto !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-end !important; /* Modal slides up from bottom */
    }

    /* Also apply to dialog when visible (fallback for different states) */
    #search-modal.dialog {
        z-index: 99999 !important;
    }

    /* Ensure modal container is properly positioned */
    #search-modal .dialog__container {
        position: relative !important;
        z-index: 100000 !important;
        margin-top: auto !important; /* Push to bottom */
        width: 100% !important;
    }

    /* Adjust modal title spacing */
    #search-modal .global-search-modal__title {
        margin-top: 1rem !important;
        margin-bottom: 1.5rem !important;
    }

    /* ALTERNATIVE APPROACH: Lower z-index of sticky elements when modal class is present */
    /* This prevents the navigation and filter toolbar from showing through */
    body.modal-open .app-navigation,
    body.modal-open .listing__top-bar,
    body.modal-open .filter-toolbar,
    body.modal-open .filter-toolbar__filter-bar,
    body.quick-inquiry-modal-open .app-navigation,
    body.quick-inquiry-modal-open .listing__top-bar,
    body.quick-inquiry-modal-open .filter-toolbar,
    body.quick-inquiry-modal-open .filter-toolbar__filter-bar,
    body.ppm-modal-open .app-navigation,
    body.ppm-modal-open .listing__top-bar,
    body.ppm-modal-open .filter-toolbar,
    body.ppm-modal-open .filter-toolbar__filter-bar {
        z-index: 1 !important;
    }

    /* Prevent body scroll when modal is open */
    body.modal-open {
        overflow: hidden !important;
        position: fixed !important;
        width: 100% !important;
        height: 100% !important;
    }

    /* Modern browser support with :has() selector */
    @supports selector(:has(*)) {
        body:has(.dialog-active) .app-navigation,
        body:has(.dialog-active) .listing__top-bar,
        body:has(.dialog-active) .filter-toolbar,
        body:has(.dialog-active) .filter-toolbar__filter-bar {
            z-index: 1 !important;
        }

        body:has(.dialog-active) {
            overflow: hidden !important;
            position: fixed !important;
            width: 100% !important;
            height: 100% !important;
        }
    }

    /* =================================================================
       MOBILE SEARCH INPUT STYLING - FROM FIGMA DESIGN (214:3241)
       Search by property name input field
       ================================================================= */

    /* Force filter toolbar to stack vertically on mobile */
    .filter-toolbar {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    /* Search Wrapper - Container for search input, shown only on mobile */
    .filter-toolbar__search-wrapper {
        display: block !important;
        width: 100% !important;
        padding: 12px 16px 12px 16px !important; /* 12px top/bottom, 16px sides */
        margin: 0 !important; /* Override margins to avoid overflow */
        order: 1 !important; /* Ensure search appears first */
    }

    /* Filter bar below search */
    .filter-toolbar__filter-bar {
        display: flex !important;
        align-items: center !important;
        order: 2 !important; /* Ensure filter bar appears second */
        padding: 12px 16px 12px 16px !important; /* 12px top/bottom, 16px sides */
        margin: 0 !important; /* Override margins to prevent cutoff and fix scrolling */
    }

    /* Search Input Container */
    .filter-toolbar__search-input-container {
        background: white !important;
        border: 1px solid #E8E8E8 !important;
        border-radius: 100px !important; /* Pill shape */
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        padding: 0 13px !important;
        height: 40px !important;
        width: 100% !important;
        transition: border-color 0.2s ease, background-color 0.2s ease !important;
        cursor: pointer !important; /* Clickable cursor */
    }

    /* Search Input Container - Hover State */
    .filter-toolbar__search-input-container:hover {
        background: #FAFAFA !important; /* Subtle hover effect */
    }

    /* Search Input Container - Active/Pressed State */
    .filter-toolbar__search-input-container:active {
        background: #F5F5F5 !important;
    }

    /* Search Input Container - Focused State */
    .filter-toolbar__search-input-container:focus {
        outline: 2px solid #C8D200 !important;
        outline-offset: 2px !important;
        border-color: #C8D200 !important;
    }

    /* Search Icon */
    .filter-toolbar__search-icon {
        width: 16px !important;
        height: 16px !important;
        flex-shrink: 0 !important;
    }

    .filter-toolbar__search-icon svg {
        width: 16px !important;
        height: 16px !important;
    }

    .filter-toolbar__search-icon path {
        stroke: #383838 !important;
        fill: none !important;
    }

    /* Search Input Field */
    .filter-toolbar__search-input {
        border: none !important;
        outline: none !important;
        background: transparent !important;
        flex: 1 !important;
        font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
        font-weight: 400 !important; /* Regular */
        font-size: 12px !important;
        line-height: 20px !important;
        letter-spacing: -0.15px !important;
        color: #383838 !important;
        text-align: left !important;
        padding: 0 !important;
        height: 100% !important;
        cursor: pointer !important; /* Clickable cursor */
        pointer-events: none !important; /* Prevent direct interaction */
    }

    /* Search Input Placeholder */
    .filter-toolbar__search-input::placeholder {
        color: var(--vw-placeholder, #999999) !important;
        opacity: 1 !important;
        font-family: 'Neue Plak', 'Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
        font-weight: 400 !important;
        font-size: 12px !important;
        line-height: 20px !important;
        letter-spacing: -0.15px !important;
        text-align: left !important;
    }

    /* Clear button removed - search is now a trigger button */

    /* =================================================================
       MOBILE FILTER TOOLBAR HORIZONTAL SCROLLING FIX
       Enable full horizontal scrolling for the entire filter bar
       ================================================================= */

    /* Enable horizontal scrolling for the entire filter toolbar */
    .filter-toolbar__filter-bar {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important; /* Smooth scrolling on iOS */
        scrollbar-width: none !important; /* Hide scrollbar on Firefox */
        -ms-overflow-style: none !important; /* Hide scrollbar on IE/Edge */
    }

    /* Hide scrollbar on Chrome/Safari */
    .filter-toolbar__filter-bar::-webkit-scrollbar {
        display: none !important;
    }

    /* Ensure the filter bar container allows scrolling */
    .filter-toolbar {
        overflow: visible !important;
    }

    /* Hide the scroll button on mobile since we have native scrolling */
    .filter-toolbar__scroll-btn {
        display: none !important;
    }

    /* Remove the horizontal line (handle bar) below Filter header in mobile view */
    .listing-sidebar--modal .listing-sidebar--wrapper::before {
        display: none !important;
    }

    /* Set overall filter modal padding: 24px top, 16px left/right */
    .listing-sidebar--modal .listing-sidebar--wrapper {
        padding: 24px 24px 0.5rem 24px !important;
        border: none !important;
    }

    /* CRITICAL: Header styling - Override border-bottom from main.css line 61792 */
    .listing-sidebar--modal .listing-sidebar--header {
        padding-left: 0 !important;
        padding-right: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 1rem !important;
        border-bottom: none !important;
        border-top: none !important;
        border-left: none !important;
        border-right: none !important;
        border: none !important;
        box-shadow: none !important;
    }

    /* Remove any pseudo-element borders on header */
    .listing-sidebar--modal .listing-sidebar--header::before,
    .listing-sidebar--modal .listing-sidebar--header::after {
        content: none !important;
        display: none !important;
        border: none !important;
    }

    /* Remove padding from close button (X icon) and move to edge */
    .listing-sidebar--modal .listing-sidebar--header__close-btn {
        padding: 0 !important;
        margin-right: -8px !important; /* Move close button to the right edge */
        width: 24px !important;
        height: 24px !important;
        min-width: 24px !important;
        min-height: 24px !important;
    }

    /* Ensure the img inside button stays centered and is 16x16 */
    .listing-sidebar--modal .listing-sidebar--header__close-btn img {
        margin: auto !important;
        width: 16px !important;
        height: 16px !important;
    }

    /* Ensure filter toolbar close buttons are also 16x16 */
    .filter-toolbar__chip-dropdown__close img {
        width: 16px !important;
        height: 16px !important;
    }

    /* Adjust content padding to work with wrapper padding */
    .listing-sidebar--modal .listing-sidebar__content {
        padding-left: 0 !important;
        padding-right: 0 !important;
        border-top: none !important;
    }

    /* CRITICAL: Remove border ONLY from first filter section after map toggle */
    .listing-sidebar--modal .listing-sidebar__map + .listing-sidebar__filter .listing-sidebar__filter-accordion__header,
    .listing-sidebar--modal .listing-sidebar__map--ghost + .listing-sidebar__filter .listing-sidebar__filter-accordion__header {
        border-top: none !important;
        padding-top: 0 !important;
    }

    /* Remove border from map toggle */
    .listing-sidebar--modal .listing-sidebar__map,
    .listing-sidebar--modal .listing-sidebar__map--ghost {
        border-top: none !important;
        border-bottom: none !important;
    }

    /* Ensure no spacing/borders between header and content */
    .listing-sidebar--modal .listing-sidebar--header + .listing-sidebar__content,
    .listing-sidebar--modal .listing-sidebar--header + * {
        border-top: none !important;
        margin-top: 0 !important;
    }

    /* Remove header bottom padding to control spacing precisely */
    .mobile-sort-action-sheet__header {
        padding-bottom: 0 !important;
    }

    /* Add spacing between header and first item (8px) */
    .mobile-sort-action-sheet__content {
        margin-top: 8px !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important; /* 12px spacing between items */
    }

    /* Center align items and add grey background for selected state */
    .mobile-sort-action-sheet__item {
        display: flex;
        align-items: center;
        justify-content: center; /* Center the content */
        padding: 0 !important; /* Remove default padding, use label padding instead */
        cursor: pointer;
        transition: background-color 0.2s;
        border: none;
        background: none;
        width: 100%;
        text-align: center; /* Center text */
    }

    /* Remove hover background */
    .mobile-sort-action-sheet__item:hover {
        background-color: transparent;
    }

    /* Hide the radio button but keep it functional */
    .mobile-sort-action-sheet__item input[type="radio"] {
        position: absolute;
        opacity: 0;
        width: 0;
        height: 0;
        margin: 0;
        pointer-events: none;
    }

    /* Label styling - same color for both selected and non-selected */
    .mobile-sort-action-sheet__item label {
        font-size: 1rem;
        color: #262626 !important; /* Text color for both states */
        cursor: pointer;
        font-family: 'Neue', sans-serif;
        font-weight: 400;
        flex: 1;
        user-select: none;
        padding: 0.75rem 1rem;
        margin: 0 12px !important; /* 12px left and right margin for grey background */
        border-radius: 8px;
        transition: background-color 0.2s;
        text-align: center;
    }

    /* Selected state - grey background, same text color */
    .mobile-sort-action-sheet__item input[type="radio"]:checked + label {
        font-weight: 400 !important; /* Keep regular weight */
        color: #262626 !important; /* Same text color, no green */
        background-color: #F5F5F5 !important; /* Grey background for selected */
    }

    /* Remove green accent color from radio buttons */
    .mobile-sort-action-sheet__item input[type="radio"] {
        accent-color: transparent;
    }

    /* Match "Sort by" text color to the "Show Map" button (black) */
    .listing__mobile-bottom-bar .listing-sort__title,
    .listing__mobile-bottom-bar .listing-sort__title .listing-sort__title-highlight {
        color: #000 !important;
    }

    /* ALIGNMENT FIX: Align accordion dropdown arrows with X icon in filter chips */

    /* Adjust the accordion header layout */
    .listing-sidebar--modal .listing-sidebar__filter-accordion__header {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Remove default right padding from trigger button */
    .listing-sidebar--modal .listing-sidebar__filter-accordion__trigger {
        padding-right: 0 !important;
        justify-content: flex-start !important;
        flex: 1 !important; /* Allow trigger to take remaining space */
    }

    /* Position the chevron arrow to align with the X icon */
    .listing-sidebar--modal .listing-sidebar__filter-accordion__trigger:after {
        position: absolute !important;
        right: -2px !important; /* Align with the right edge */
        margin-left: 0 !important;
        flex-shrink: 0 !important;
    }

    /* Ensure the trigger text has proper spacing, but exclude count span */
    .listing-sidebar--modal .listing-sidebar__filter-accordion__trigger span:not(.listing-sidebar__filter--count) {
        margin-right: 24px !important; /* Space for the arrow icon */
    }

    /* Position the count badge with proper spacing from arrow */
    .listing-sidebar--modal .listing-sidebar__filter--count {
        margin-left: auto !important;
        margin-right: 12px !important; /* Comfortable spacing between count and arrow */
        flex-shrink: 0 !important;
    }

    /* SINGLE COLUMN LAYOUT FOR SPECIFIC FILTER TYPES IN MOBILE */
    /* Convert Event Type, Venue Type, Production Details, Style Type, and View Type to single column */

    /* Event Type - Single Column */
    .listing-sidebar__filter[data-filter-key="event_type"] .listing-sidebar__filter__checkbox--content {
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    }

    /* Venue Type - Single Column */
    .listing-sidebar__filter[data-filter-key="venue_type"] .listing-sidebar__filter__checkbox--content {
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    }

    /* Production Details - Single Column (nested within sub-items) */
    .listing-sidebar__filter .listing-sidebar__filter__checkbox--sub__item .listing-sidebar__filter__checkbox--content {
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    }

    /* Style Type - Single Column */
    .listing-sidebar__filter[data-filter-key="style_type"] .listing-sidebar__filter__checkbox--content {
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    }

    /* View Type - Single Column */
    .listing-sidebar__filter[data-filter-key="view_type"] .listing-sidebar__filter__checkbox--content {
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    }

    /* SHOW MORE/LESS FUNCTIONALITY - Initial State (Mobile) */
    /* Hide extra items by default */
    .collapsable-extra-item[data-collapsed="true"] {
        display: none !important;
    }

    /* Show extra items when expanded - don't override display, let original CSS apply */
    /* .collapsable-extra-item[data-collapsed="false"] {
        No display override needed - original .listing-sidebar__filter__checkbox { display: flex } will apply 
    } */

    /* Show More/Less button text visibility */
    .collapsable-btn-show {
        display: inline;
    }

    .collapsable-btn-hide {
        display: none;
    }

    /* When container is expanded, swap button text visibility */
    .c-expanded .collapsable-btn .collapsable-btn-show {
        display: none;
    }

    .c-expanded .collapsable-btn .collapsable-btn-hide {
        display: inline;
    }
}

/* DESKTOP ALIGNMENT FIX: Align accordion dropdown arrows with X icon in desktop view */
@media (min-width: 1028px) {
    /* Hide search input on desktop */
    .filter-toolbar__search-wrapper {
        display: none !important;
    }

    /* Remove border from filter header on desktop */
    .listing-sidebar--modal .listing-sidebar--header {
        border-bottom: none !important;
        border-top: none !important;
        border-left: none !important;
        border-right: none !important;
        border: none !important;
        box-shadow: none !important;
    }

    /* Remove any pseudo-element borders on header */
    .listing-sidebar--modal .listing-sidebar--header::before,
    .listing-sidebar--modal .listing-sidebar--header::after {
        content: none !important;
        display: none !important;
        border: none !important;
    }

    /* CRITICAL: Remove border ONLY from first filter section after map toggle */
    .listing-sidebar--modal .listing-sidebar__map + .listing-sidebar__filter .listing-sidebar__filter-accordion__header,
    .listing-sidebar--modal .listing-sidebar__map--ghost + .listing-sidebar__filter .listing-sidebar__filter-accordion__header {
        border-top: none !important;
        padding-top: 0 !important;
    }

    /* Remove border from map toggle */
    .listing-sidebar--modal .listing-sidebar__map,
    .listing-sidebar--modal .listing-sidebar__map--ghost {
        border-top: none !important;
        border-bottom: none !important;
    }

    /* Adjust the accordion header layout for desktop */
    .listing-sidebar--modal .listing-sidebar__filter-accordion__header {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Remove default right padding from trigger button */
    .listing-sidebar--modal .listing-sidebar__filter-accordion__trigger {
        padding-right: 0 !important;
        justify-content: flex-start !important;
        flex: 1 !important; /* Allow trigger to take remaining space */
    }

    /* Position the chevron arrow to align with the X icon */
    .listing-sidebar--modal .listing-sidebar__filter-accordion__trigger:after {
        position: absolute !important;
        right: -2px !important; /* Align with the right edge */
        margin-left: 0 !important;
        flex-shrink: 0 !important;
    }

    /* Ensure the trigger text has proper spacing, but exclude count span */
    .listing-sidebar--modal .listing-sidebar__filter-accordion__trigger span:not(.listing-sidebar__filter--count) {
        margin-right: 24px !important; /* Space for the arrow icon */
    }

    /* Position the count badge with proper spacing from arrow */
    .listing-sidebar--modal .listing-sidebar__filter--count {
        margin-left: auto !important;
        margin-right: 12px !important; /* Comfortable spacing between count and arrow */
        flex-shrink: 0 !important;
    }

    /* SHOW MORE/LESS FUNCTIONALITY - Desktop */
    /* Hide extra items by default */
    .collapsable-extra-item[data-collapsed="true"] {
        display: none !important;
    }

    /* Show extra items when expanded - don't override display, let original CSS apply */
    /* .collapsable-extra-item[data-collapsed="false"] {
        No display override needed - original .listing-sidebar__filter__checkbox { display: flex } will apply 
    } */

    /* Show More/Less button text visibility */
    .collapsable-btn-show {
        display: inline;
    }

    .collapsable-btn-hide {
        display: none;
    }

    /* When container is expanded, swap button text visibility */
    .c-expanded .collapsable-btn .collapsable-btn-show {
        display: none;
    }

    .c-expanded .collapsable-btn .collapsable-btn-hide {
        display: inline;
    }
}


/* =================================================================
   VENUE CARD FIXES
   ================================================================= */

/* Hide the venue labels (Ballroom/Indoor) on map cards */
/* .listing-map-card__image-wrapper-footer {
    display: none !important;
} */

/* Badge left offset: 16px on mobile for both top and bottom left badge groups */
.listing-card__badges--top-left,
.listing-card__badges--bottom-left {
    left: 14px !important;
}

/* =================================================================
   PREMIUM BADGE CARD - MOBILE PADDING FIX
   Ensure correct padding inside filter sidebar on mobile (max-width: 1027px)
   ================================================================= */

@media (max-width: 1027px) {
    /* Removed overriding padding for .premium-badge-card */
}
/* === capacity-slider-fix.css === */
/* Fix capacity slider track to show black fill by default instead of transparent */
.irs--white:not(.irs--handle-touched) .irs--round .irs-bar {
    background-color: #464646 !important;
}

/* Ensure black variant also shows properly by default */
.irs--black:not(.irs--handle-touched) .irs--round .irs-bar {
    background-color: #181a1b !important;
}
/* === mobile-map-gap-fix.css === */
/* Mobile Map Gap Fix - Remove gap between filter section and map */

@media (max-width: 1027px) {
    /* Remove gaps from listing content body - main container for cards and map */
    .listing__content-body {
        margin-top: 0 !important;
        padding-top: 0 !important;
        gap: 0 !important;
        display: flex;
        flex-direction: column;
    }

    /* Ensure content inner sits flush */
    .listing__content--inner {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Ensure map container sits flush with content section */
    .listing__content--map {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* Remove spacing from listing layout */
    .listing-layout {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* Ensure section inner has no gap */
    .listing--section__inner {
        gap: 0 !important;
    }

    /* Remove spacing from listing content */
    .listing__content {
        gap: 0 !important;
    }
}
/* === location-search.css === */
/**
 * Location Search Styles - Simple client-side filtering
 */

/* Hide the API results wrapper (kept for compatibility with main.js) */
#locationTextSearchPopover {
    display: none !important;
}

/* Clear button styling */
.listing-sidebar__filter-location__filter-group--clear-btn {
    position: absolute;
    right: 48px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border: none;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E") center/contain no-repeat;
    cursor: pointer;
    opacity: 0.6;
    display: none;
    transition: opacity 0.2s ease;
    z-index: 10;
}

.listing-sidebar__filter-location__filter-group--clear-btn:hover {
    opacity: 1;
}

/* Smooth transitions for hiding/showing items */
.listing-sidebar__filter-location__group,
.listing-sidebar__filter-location--country__city--item {
    transition: opacity 0.2s ease, max-height 0.2s ease;
}

/* No results message */
.location-search-no-results {
    padding: 20px;
    text-align: center;
    color: #6b7280;
    font-size: 14px;
    line-height: 1.5;
}
/* === mobile-signin-button.css === */
/* Mobile Sign In Button - Figma Design Implementation */
/* Only applies to mobile view on /venues route */

/* Ensure 16px gap between search and signin button on mobile */
@media (max-width: 1023px) {
  /* Set container gap to 16px */
  .app-navigation .app-navigation__container {
    gap: 16px !important;
  }

  /* Remove margin from search trigger that adds extra spacing and prevent animation */
  .global-search-trigger {
    margin-right: 0 !important;
    /* margin-left: 0 !important; */
    /* transition: none !important; */
  }

  /* Prevent layout shift on page load */
  .app-navigation__left-section,
  .app-navigation__container {
    transition: none !important;
  }
}

/* Hide default desktop button on mobile */
@media (max-width: 1023px) {
  .app-navigation__action-button--outline-dark {
    display: none !important;
  }
}

/* Mobile Sign In Button Styles */
@media (max-width: 1023px) {
  .mobile-signin-button {
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    padding: 0 8px !important;
    height: 46px !important;
    background: transparent !important;
    border: none !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    min-width: fit-content !important;
  }

  .mobile-signin-button__avatar {
    width: 24px !important;
    height: 24px !important;
    flex-shrink: 0 !important;
    display: block !important;
  }

  .mobile-signin-button__text {
    font-family: 'Vazir', sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
    font-size: 16px !important;
    line-height: 20px !important;
    letter-spacing: -0.15px !important;
    text-align: center !important;
    color: #FFFFFF !important;
    white-space: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* Desktop - keep original styles */
@media (min-width: 1024px) {
  .mobile-signin-button {
    display: none !important;
  }
}
/* === event-type-chip.css === */
/**
 * Event type chip dropdown, between Where and Attendees on the /venues toolbar.
 * Checkbox rows come from the shared listing-sidebar checkbox styles; this file only
 * adds the search box and keeps the 24-option list scrollable inside the panel.
 */

.filter-toolbar__event-type__search {
    position: relative;
    padding: 0 0 12px;
}

.filter-toolbar__event-type__search-input {
    width: 100%;
    height: 40px;
    padding: 0 12px 0 36px;
    border: 1px solid #E0E0E0;
    border-radius: 8px;
    font-size: 14px;
    color: #1A1A1A;
    background: #FFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E") no-repeat 12px center;
    outline: none;
}

.filter-toolbar__event-type__search-input:focus {
    border-color: #1A1A1A;
}

.filter-toolbar__event-type__search-input::placeholder {
    color: #999;
}

.filter-toolbar__event-type__list {
    max-height: 260px;
    overflow-y: auto;
    margin: 0;
    padding: 0;
}

.filter-toolbar__event-type__option[hidden] {
    display: none;
}

.filter-toolbar__event-type__empty {
    margin: 0;
    padding: 16px 4px;
    text-align: center;
    font-size: 14px;
    color: #666;
}

/* Mobile bottom sheet: let the list use the taller panel instead of capping at 260px. */
@media (max-width: 1027px) {
    .filter-toolbar__event-type__list {
        max-height: none;
    }
}
