/**
 * Hostaway Properties Core Styles
 * Version: 2.3 — Section-scoped; foundation owns tokens + base card/grid.
 */

/* Archive card chrome (foundation provides base grid/card) */
.hostaway-archive .hostaway-property-card {
    /* background: var(--hostaway-color-primary-soft); */
    border-radius: var(--hostaway-radius-lg, 12px);
    cursor: pointer;
}

.hostaway-archive .hostaway-properties-grid {
    gap: 20px;
    margin: 24px 0 32px;
}
.hostaway-property-body a {
    text-decoration: none;
}
/* ========================================
   PROPERTY CARD IMAGE SECTION
======================================== */

.hostaway-archive .property-card-image,
.hostaway-property-card .property-card-image {
    position: relative;
    width: 100%;
    height: 300px;
    overflow: hidden;
    border-radius: var(--hostaway-radius-lg, 12px) var(--hostaway-radius-lg, 12px) 0 0;
}

.hostaway-archive .property-card-image img,
.hostaway-property-card .property-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.hostaway-property-card:hover .property-card-image img {
    transform: scale(1.05);
}

@media (prefers-reduced-motion: reduce) {
    .hostaway-archive .property-card-image img,
    .hostaway-property-card .property-card-image img {
        transition: none;
    }
    .hostaway-property-card:hover .property-card-image img {
        transform: none;
    }
}

/* ========================================
   PROPERTY CAROUSEL (Individual Card)
======================================== */

.property-carousel {
    position: relative;
    width: 100%;
    height: 300px;
    border-radius: 12px 12px 0 0;
    overflow: hidden;
}

.property-carousel .slider-container {
    height: 100%;
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.property-carousel .slider-container::-webkit-scrollbar {
    display: none;
}

.property-carousel .slider-container li,
.property-carousel li {
    flex: 0 0 100%;
    height: 100%;
    scroll-snap-align: start;
}

.property-carousel img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Carousel Navigation Arrows */
.property-carousel .slider-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: var(--hostaway-color-surface);
    border: none;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex !important;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    opacity: 0;
    overflow: hidden;
    transition: opacity 0.3s ease, background 0.3s ease, transform 0.2s ease;
    box-shadow: var(--hostaway-shadow, 0 2px 8px rgba(0, 0, 0, 0.15));
    filter: none;
}

.property-carousel .slider-nav::before {
    content: none;
    display: none;
}

/* Swiffy draws the chevron with a mask. Recolor it so it shows on the light circle. */
.property-carousel .slider-nav::after {
    content: "";
    background-color: var(--hostaway-color-text);
    width: 16px;
    height: 16px;
    padding: 0;
    margin: 0;
    flex: 0 0 auto;
    filter: none;
}

/* Previous button positioning */
.property-carousel .slider-nav:not(.slider-nav-next) {
    left: 8px;
}

/* Next button positioning */
.property-carousel .slider-nav.slider-nav-next {
    right: 8px;
}

/* Show arrows on hover - MULTIPLE SELECTORS */
.property-carousel:hover .slider-nav {
    opacity: 1 !important;
}

.hostaway-property-card:hover .property-carousel .slider-nav {
    opacity: 1 !important;
}

/* Inside carousel container hover */
.hostaway-properties-carousel .hostaway-property-card:hover .property-carousel .slider-nav {
    opacity: 1 !important;
}

/* Direct hover on carousel */
.hostaway-property-card .property-carousel:hover .slider-nav {
    opacity: 1 !important;
}

.property-carousel .slider-nav:hover {
    background: rgba(255, 255, 255, 1);
    transform: translateY(-50%) scale(1.1);
}

.property-carousel .slider-nav:active {
    transform: translateY(-50%) scale(0.95);
}

/* Carousel Indicators (Dots) */
.property-carousel .slider-indicators {
    position: absolute;
    bottom: 12px;
    left: 50%;
    right: auto;
    width: max-content;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 6px;
    z-index: 10;
    margin: 0;
    padding: 6px 8px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--hostaway-color-dark) 55%, transparent);
}

.property-carousel .slider-indicators button {
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    min-width: 8px;
    max-width: 8px;
    border-radius: 50%;
    border: 0;
    padding: 0;
    box-sizing: border-box;
    background: color-mix(in srgb, var(--hostaway-color-surface) 72%, transparent);
    background-clip: border-box;
    opacity: 1;
    cursor: pointer;
    transition: background 0.2s ease;
}

.property-carousel .slider-indicators button:hover,
.property-carousel .slider-indicators button.active {
    width: 8px;
    background: var(--hostaway-color-surface);
    border-radius: 50%;
    opacity: 1;
}
/* ========================================
   PROPERTIES CAROUSEL (Multi-Item Slider)
======================================== */

/*
 * Track of the multi-item carousel only: each card holds its own photo slider with the same
 * classes (.slider-container), so these rules must not reach inside the cards.
 */
.hostaway-properties-carousel > .slider-container {
    display: flex !important;
    gap: 24px;
    overflow-x: hidden;
    scroll-behavior: smooth;
    /* Room for the card's hover lift and shadow: overflow-x: hidden also clips vertically. */
    padding: 6px 0 18px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.hostaway-properties-carousel > .hostaway-slider-container {
    display: flex !important;
    /* Cards line up at the top and share the row's height, whatever their content. */
    align-items: stretch !important;
    overflow-x: hidden !important;
    list-style: none;
    margin: 0;
    padding: 6px 0 18px;
}

.hostaway-properties-carousel > .hostaway-slider-container > li {
    list-style: none;
    display: flex;
    /* Swiffy sets height: 100%, which stops flex items from stretching to the row height. */
    height: auto;
}

.hostaway-properties-carousel > .hostaway-slider-container > li > .hostaway-property-card {
    width: 100%;
    display: flex;
    flex-direction: column;
}

/* Equal-height cards: the price row sits at the bottom of every card. */
.hostaway-properties-carousel > .hostaway-slider-container > li > .hostaway-property-card > .hostaway-property-body {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.hostaway-properties-carousel > .hostaway-slider-container > li > .hostaway-property-card .hostaway-property-footer {
    margin-top: auto;
}

.hostaway-properties-carousel > .slider-container::-webkit-scrollbar {
    display: none;
}

.hostaway-properties-carousel > .hostaway-slider-container > .carousel-item,
.hostaway-properties-carousel > .hostaway-slider-container > li {
    flex: 0 0 auto;
    scroll-snap-align: start;
    margin: 0 !important;
}

/*
 * Cards per row. The flex layout above replaces Swiffy's grid sizing, which left every
 * card at 100% width (one card per view). Size cards from slider-item-showN instead;
 * the gap values mirror the container gaps set in this file at each breakpoint.
 */
.hostaway-properties-carousel {
    --hostaway-carousel-cols: 1;
    --hostaway-carousel-gap: 24px;
}
.hostaway-properties-carousel.slider-item-show2 { --hostaway-carousel-cols: 2; }
.hostaway-properties-carousel.slider-item-show3 { --hostaway-carousel-cols: 3; }
.hostaway-properties-carousel.slider-item-show4 { --hostaway-carousel-cols: 4; --hostaway-carousel-gap: 20px; }

.hostaway-properties-carousel > .hostaway-slider-container > .carousel-item {
    flex: 0 0 calc((100% - (var(--hostaway-carousel-cols) - 1) * var(--hostaway-carousel-gap)) / var(--hostaway-carousel-cols));
    width: auto;
    max-width: none;
}

@media (max-width: 992px) {
    .hostaway-properties-carousel.slider-item-show3,
    .hostaway-properties-carousel.slider-item-show4 { --hostaway-carousel-cols: 2; --hostaway-carousel-gap: 20px; }
}

@media (max-width: 600px) {
    .hostaway-properties-carousel.slider-item-show2,
    .hostaway-properties-carousel.slider-item-show3,
    .hostaway-properties-carousel.slider-item-show4 { --hostaway-carousel-cols: 1; --hostaway-carousel-gap: 16px; }
}

/* Column-specific gaps */
.hostaway-properties-carousel.slider-item-show2 > .slider-container,
.hostaway-properties-carousel.slider-item-show3 > .slider-container {
    gap: 24px;
}

.hostaway-properties-carousel.slider-item-show4 > .slider-container {
    gap: 20px;
}

/*
 * Navigation buttons for multi-item carousel: a white round button with a chevron in the
 * accent colour. Explicit styles keep theme/Elementor button styles (background, padding,
 * min-height) from turning the arrows into large coloured blocks.
 */
.hostaway-properties-carousel .slider-nav,
.hostaway-properties-carousel .slider-nav:hover,
.hostaway-properties-carousel .slider-nav:focus {
    position: absolute;
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
    z-index: 10;
    width: 44px;
    height: 44px;
    min-width: 0;
    min-height: 0;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: #fff !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
    -webkit-filter: none;
    filter: none;
    opacity: 1;
    --swiffy-slider-nav-light: var(--hostaway-color-primary, #2d8592);
}

.hostaway-properties-carousel .slider-nav::before {
    display: none;
}

.hostaway-properties-carousel .slider-nav::after {
    width: 18px;
    height: 18px;
}

.hostaway-properties-carousel .slider-nav:focus-visible {
    outline: 2px solid var(--hostaway-color-primary, #2d8592);
    outline-offset: 2px;
}

/*
 * Swiffy's slider-nav-outside-expand pushes the next arrow out with margin-right: -4rem, which
 * outranks the margin reset above until :hover adds specificity: the arrow then jumps 64px away
 * from the cursor, loses hover and jumps back. Keep both arrows at margin 0 in every state.
 */
.hostaway-properties-carousel.swiffy-slider > .slider-nav,
.hostaway-properties-carousel.swiffy-slider > .slider-nav.slider-nav-next {
    margin: 0;
}

.hostaway-properties-carousel .slider-nav:first-of-type:not(.slider-nav-next) {
    left: -15px;
}

.hostaway-properties-carousel .slider-nav.slider-nav-next {
    right: -15px;
}

/* ========================================
   PROPERTY BADGES
======================================== */

.property-badges {
    position: absolute;
    top: 12px;
    left: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
    z-index: 10;
}

.property-badges li {
    background: rgba(255, 255, 255, 0.95);
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    color: var(--primary-color);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: center;
    gap: 4px;
    backdrop-filter: blur(4px);
}

.property-badges li svg {
    color: var(--hostaway-color-warning);
}

/* ========================================
   PROPERTY CARD CONTENT
======================================== */

.property-card-content {
    padding: 16px;
}

.property-card-title {
    margin: 0 0 8px 0;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.4;
}

.property-card-title a {
    color: var(--hostaway-color-text);
    text-decoration: none;
    transition: color 0.2s ease;
}

.property-card-title a:hover {
    color: var(--hostaway-color-primary);
}

.property-card-price span.price-label{
    color: var(--hostaway-color-text-muted);
}

/* Property Meta Info */
.property-card-meta {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 10px;
    font-size: 15px;
    color: var(--hostaway-color-text-muted);
    padding-left: 0;
    list-style: none;
}
ul.property-card-meta li {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.property-card-meta .hcp-icon {
    width: 15px;
    height: 15px;
    color: var(--hostaway-color-text-muted);
}
.property-card-meta span {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--hostaway-color-text-muted);
}

/* Property Location */
.property-location {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    color: var(--hostaway-color-text-muted);
    margin-bottom: 5px;
    text-transform: capitalize;
}
.property-location .hcp-icon {
    flex-shrink: 0;
    width: 15px;
    height: 15px;
    color: var(--hostaway-color-text-muted);
}

/* Property Price */
.property-card-price {
    display: flex;
    align-items: baseline;
    gap: 4px;
    /* margin-top: 12px;
    padding-top: 12px; */
    /* border-top: 1px solid var(--hostaway-color-border-light); */
}

.price-amount {
    font-size: 18px;
    font-weight: 700;
    color: var(--primary-color);
}

.price-label {
    font-size: 14px;
    color: var(--hostaway-color-text-muted);
}

/* Property Excerpt */
.property-card-excerpt {
    font-size: 14px;
    color: var(--hostaway-color-text-muted);
    margin: 12px 0;
    line-height: 1.5;
}

/* ========================================
   CARD SIZE VARIATIONS
======================================== */

.hostaway-property-card.card-small {
    max-width: 280px;
}

.hostaway-property-card.card-small .property-card-title {
    font-size: 14px;
}

.hostaway-property-card.card-small .property-card-meta {
    font-size: 12px;
}

.hostaway-property-card.card-small .property-card-price .price-amount {
    font-size: 16px;
}

.hostaway-property-card.card-large {
    max-width: none;
}

.hostaway-property-card.card-large .property-card-title {
    font-size: 20px;
}

.hostaway-property-card.card-large .property-card-content {
    padding: 20px;
}

/* ========================================
   NO RESULTS MESSAGE
======================================== */

.hostaway-no-results {
    text-align: center;
    padding: 80px 20px;
}

.hostaway-no-results svg {
    margin-bottom: 20px;
}

.hostaway-no-results h2,
.hostaway-no-results h3 {
    margin: 20px 0 10px;
    color: var(--primary-color);
}

.hostaway-no-results p {
    color: var(--hostaway-color-text-muted);
    margin: 10px 0;
}

/* ========================================
   BUTTONS — archive overrides only (base in foundation)
======================================== */

.hostaway-archive .bizdex-hostaway-btn.btn-primary:hover {
    background: var(--hostaway-color-primary-hover, var(--hostaway-color-primary-hover));
    transform: translateY(-1px);
    box-shadow: none;
}

.hostaway-archive .bizdex-hostaway-btn.btn-secondary {
    padding: 6px 20px;
    background: var(--hostaway-color-surface, var(--hostaway-color-surface));
    color: var(--primary-color);
    border: 1px solid var(--primary-color);
}

.hostaway-archive .bizdex-hostaway-btn.btn-secondary:hover {
    background: var(--hostaway-color-surface-muted, var(--hostaway-color-surface-muted));
}

/* Load More Button */
.hostaway-load-more-wrapper {
    text-align: center;
    margin: 40px 0;
}

#hostaway-load-more {
    padding: 14px 32px;
    font-size: 16px;
}

#hostaway-load-more.loading {
    opacity: 0.6;
    cursor: not-allowed;
}

.hostaway-load-more-spinner svg {
    animation: spin 1s linear infinite;
}

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

/* ========================================
   PAGINATION
======================================== */

.hostaway-pagination,
.archive-pagination {
    margin: 40px 0;
    text-align: center;
}

.hostaway-pagination ul,
.archive-pagination ul {
    list-style: none;
    display: inline-flex;
    gap: 8px;
    padding: 0;
    margin: 0;
}

.hostaway-pagination li,
.archive-pagination li {
    display: inline-block;
}

.hostaway-pagination a,
.hostaway-pagination span,
.archive-pagination a,
.archive-pagination span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: 8px;
    text-decoration: none;
    color: var(--primary-color);
    font-weight: 500;
    transition: all 0.2s ease;
    border: 1px solid var(--hostaway-color-border);
}

/* Text colour too: archive-styles.css sets white text on hover, which this light background hid. */
.hostaway-pagination a:hover,
.archive-pagination a:hover,
.hostaway-pagination a:focus-visible,
.archive-pagination a:focus-visible {
    background: var(--hostaway-color-surface-muted);
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.hostaway-pagination .current,
.archive-pagination .current {
    background: var(--primary-color);
    color: var(--hostaway-color-surface);
    border-color: var(--primary-color);
}

/* ========================================
   RESULTS INFO
======================================== */

.hostaway-results-info,
.archive-results-count {
    margin: 20px 0;
    padding: 12px 16px;
    background: var(--hostaway-color-surface-muted);
    border-radius: 8px;
    text-align: center;
}

.hostaway-results-info p,
.archive-results-count {
    margin: 0;
    color: var(--primary-color);
    font-weight: 500;
}

/* ========================================
   ACTIVE FILTERS
======================================== */

.active-filters {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.filter-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    background: var(--hostaway-color-primary)36;
    border-radius: 20px;
    font-size: 14px;
    color: var(--primary-color);
}

.remove-filter {
    color: var(--hostaway-color-text-muted);
    text-decoration: none;
    font-weight: bold;
    transition: color 0.2s ease;
}

.remove-filter:hover {
    color: var(--hostaway-color-danger);
}

.clear-all-filters {
    color: var(--hostaway-color-danger);
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: color 0.2s ease;
}

.clear-all-filters:hover {
    color: var(--hostaway-color-danger);
}

/* ========================================
   FULL IMAGE CAROUSEL
======================================== */

.hostaway-image-carousel {
    width: 100%;
    max-width: 100%;
    border-radius: 12px;
    overflow: hidden;
}

.hostaway-image-carousel .slider-container {
    height: 400px;
}

.hostaway-image-carousel img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ========================================
   RESPONSIVE DESIGN
======================================== */

.post-type-archive-property .archive-search-section {
    margin-top: 25px;
}

.post-type-archive-property .hostaway-archive-container {
    display: flex;
    flex-direction: column;
    padding: 20px 0 60px;
    max-width: 1200px;
}

.post-type-archive-property .hostaway-archive-container.hostaway-archive-with-map {
    max-width: none;
    padding: 0 0 60px;
}

.hostaway-search-bar-wrapper{
    margin-bottom: 15px !important;
}

.hostaway-universal-properties {
    padding: 20px 0 !important;
}

.properties-list-header {
    margin-bottom: 30px !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.universal-properties-grid {
    gap: 20px !important;
}

.properties-list-header h3 {
    font-size: 34px !important;
    margin: 0 !important;
    font-weight: 500 !important;
    color: var(--hostaway-color-text);
}

@media (max-width: 1200px){
    .post-type-archive-property .hostaway-archive-container {
        padding: 20px 20px 60px;
    }

    .properties-list-header h3 {
        font-size: 28px !important;
    }

    .universal-properties-grid {
        gap: 16px !important;
    }
}


/* Tablet - 1024px and below */
@media (max-width: 1024px) {
    .hostaway-properties-grid.columns-4 {
        grid-template-columns: repeat(3, 1fr);
    }

    .property-card-title {
        font-size: 22px;
    }
}

/* Mobile Large - 992px and below */
@media (max-width: 992px) {
    .hostaway-properties-carousel.slider-item-show3 .slider-container,
    .hostaway-properties-carousel.slider-item-show4 .slider-container {
        gap: 20px;
    }
}

/* Tablet - 768px and below */
@media (max-width: 768px) {
    /* Image heights — match the card wrapper, otherwise the 300px rule leaves a gap under the photo */
    .hostaway-archive .property-card-image,
    .hostaway-property-card .property-card-image,
    .hostaway-archive .property-carousel,
    .hostaway-property-card .property-carousel,
    .property-card-image,
    .property-carousel {
        height: 220px;
    }
    
    .hostaway-image-carousel .slider-container {
        height: 300px;
    }
    
    /* Badges */
    .property-badges {
        top: 8px;
        left: 8px;
        gap: 6px;
    }
    
    .property-badges li {
        font-size: 11px;
        padding: 4px 10px;
    }
    
    /* Carousel navigation */
    .hostaway-properties-carousel > .slider-container {
        gap: 16px;
    }
    
    .hostaway-properties-carousel .slider-nav:first-of-type:not(.slider-nav-next) {
        left: 5px;
    }
    
    .hostaway-properties-carousel .slider-nav.slider-nav-next {
        right: 5px;
    }
    
    /* Property card carousel - always show arrows on mobile */
    .property-carousel .slider-nav {
        opacity: 1 !important;
        width: 32px;
        height: 32px;
    }

    .property-carousel .slider-nav::after {
        width: 14px;
        height: 14px;
    }

    .property-card-title {
        font-size: 20px;
    }

    .properties-list-header {
        display: block;
        text-align: center;
    }

    .properties-list-header h3 {
        margin-bottom: 10px !important;
    }
}

/* Mobile - 480px and below */
@media (max-width: 480px) {
    /* Slightly taller images on mobile */
    .property-card-image,
    .property-carousel {
        height: 240px;
    }

    .theme-hostaway-search-bar .search-btn {
        width: 100%;
    }
}

/* Archive grid — 1920 down to 375 */
@media (max-width: 1280px) {
    .hostaway-archive .hostaway-properties-grid,
    .hostaway-archive .universal-properties-grid {
        gap: 16px !important;
    }
}

@media (max-width: 1024px) {
    .hostaway-archive .hostaway-properties-grid.columns-3,
    .hostaway-archive .hostaway-properties-grid.columns-4,
    .hostaway-archive .universal-properties-grid.columns-3,
    .hostaway-archive .universal-properties-grid.columns-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .hostaway-archive .property-card-image,
    .hostaway-property-card .property-card-image,
    .hostaway-archive .property-carousel,
    .hostaway-property-card .property-carousel {
        height: 220px;
    }

    .hostaway-archive .property-card-content {
        padding: 14px;
    }
}

@media (max-width: 580px) {
    .hostaway-archive .hostaway-properties-grid,
    .hostaway-archive .hostaway-properties-grid.columns-2,
    .hostaway-archive .hostaway-properties-grid.columns-3,
    .hostaway-archive .hostaway-properties-grid.columns-4,
    .hostaway-archive .universal-properties-grid,
    .hostaway-archive .universal-properties-grid.columns-2,
    .hostaway-archive .universal-properties-grid.columns-3,
    .hostaway-archive .universal-properties-grid.columns-4 {
        grid-template-columns: 1fr;
        gap: 16px !important;
    }
}

@media (max-width: 480px) {
    .hostaway-archive .property-card-image,
    .hostaway-property-card .property-card-image,
    .hostaway-archive .property-carousel,
    .hostaway-property-card .property-carousel {
        height: 200px;
    }
}

/* Keep archive content off the screen edge once the centered 1200px shell is wider than the viewport */
@media (max-width: 1280px) {
    .post-type-archive-property .hostaway-archive-container.hostaway-universal-properties {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

@media (max-width: 767px) {
    .post-type-archive-property .hostaway-archive-container.hostaway-universal-properties {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

@media (max-width: 375px) {
    .post-type-archive-property .hostaway-archive-container.hostaway-universal-properties {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}
/*
 * Card links never take the theme's underline: themes such as Blocksy underline every link
 * inside normal page content (and Blocksy decorates headings too), which hit the title and details when a listings shortcode was
 * placed in a regular page instead of an Elementor widget.
 */
.hostaway-property-card a,
.hostaway-property-card a:hover,
.hostaway-property-card a:focus,
.hostaway-property-card .property-card-title {
    text-decoration: none;
}

.hostaway-property-card a:focus-visible {
    outline: 2px solid var(--primary-color, currentColor);
    outline-offset: 2px;
}

/*
 * Grid view: cards in a row are equally tall (grid stretch), so the price row is pushed to
 * the bottom of each card and lines up across the row. List view has its own layout
 * (shortcodes.css, !important), which these rules do not change.
 */
.hostaway-properties-grid > .hostaway-property-card {
    display: flex;
    flex-direction: column;
}

.hostaway-properties-grid > .hostaway-property-card > .hostaway-property-body {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.hostaway-properties-grid > .hostaway-property-card .hostaway-property-footer {
    margin-top: auto;
}
