/* 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 */
.listing-map-card__close {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 20;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.5);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease;
    padding: 0;
}

.listing-map-card__close:hover {
    background: rgba(0, 0, 0, 0.7);
}

.listing-map-card__close svg {
    width: 18px;
    height: 18px;
    color: #ffffff;
}

/* 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: 12px !important;
    padding: 0 !important;
    padding-left: 2px !important; /* Fine adjustment: 2px indentation asked by user */
    padding-inline-start: 2px !important;
    gap: 16px !important; /* Spacing between 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: 6px;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
}

/* Map card dimensions and padding adjustments */
.listing-map-card {
    max-width: 320px;
    border-radius: 12px;
    overflow: hidden;
}

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

.listing-map-card__content {
    padding: 16px;
}

/* 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;
}

/* ============================================
   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 */
}

/* 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;
}
