/* =============================================
   MY THERAPY GROUPS - COMPLETE CSS
   Last updated: March 28, 2026 (v5)
   Replace ALL content in Additional CSS with this
   ============================================= */

/* === GLOBAL === */
body, .site {
    background-color: #FAFAF7 !important;
}

/* === HEADER === */
.site-header {
    background-color: #FFFFFF;
    border-bottom: 1px solid #E5E4DF;
    padding: 8px 0;
}

.site-header .custom-logo,
.site-header .site-logo img,
.site-header img.custom-logo {
    max-height: 60px !important;
    height: 60px !important;
    width: auto !important;
}

.site-header .menu-item a {
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #6B6B6B;
    padding: 8px 14px;
    transition: color 0.3s;
}

.site-header .menu-item a:hover {
    color: #2A7C6F;
}

.menu-cta-button a {
    display: inline-block !important;
    background-color: #2A7C6F !important;
    color: #FFFFFF !important;
    padding: 10px 24px !important;
    border-radius: 8px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    transition: background-color 0.3s !important;
}

.menu-cta-button a:hover {
    background-color: #1D5A50 !important;
    color: #FFFFFF !important;
}

.hp-menu--user > a,
.hp-nav--user > a {
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #2A7C6F;
    background-color: #E8F4F1;
    padding: 8px 16px;
    border-radius: 20px;
}

/* Hide HivePress header buttons */
.hp-page__actions,
.site-header .button,
.site-header .wp-block-button,
.header-widgets .widget a.hp-link,
.header-widgets .widget a.button,
a[href*="listing/submit"],
a[href*="request/submit"] {
    display: none !important;
}

.hp-menu--request a,
a.hp-link--request,
.site-header a[href*="request/submit"],
.site-header a[href*="submit-request"],
a.hp-link[href*="submit-request"] {
    display: none !important;
}

/* === MOBILE MENU === */

/* Mobile burger menu - bigger tap targets and better spacing */
.header-navbar__burger ul li {
    padding: 8px 0 !important;
    margin-bottom: 4px !important;
}

.header-navbar__burger ul li a {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    color: #2D2D2D !important;
    padding: 10px 16px !important;
    display: block !important;
    line-height: 1.4 !important;
}

.header-navbar__burger ul li a:hover {
    color: #2A7C6F !important;
}

/* Sign In link in burger menu */
.header-navbar__burger .hp-menu__item--user-login a,
.header-navbar__burger .menu-item--user-login a {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #2A7C6F !important;
    padding: 10px 16px !important;
}

/* === PAGE LAYOUT === */
.site-content,
.entry-content,
.page .entry-content,
.hp-page__content {
    padding: 0 !important;
    margin: 0 !important;
}

.page .site-content .entry-content > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.elementor-section,
.elementor-element,
.elementor-widget-wrap,
.elementor-container {
    margin-bottom: 0 !important;
}

.site-content::before,
.site-content::after {
    display: none !important;
}

/* === LISTING CARDS === */
.hp-listing {
    border: 1px solid #E5E4DF !important;
    border-radius: 12px !important;
    overflow: visible !important;
    background-color: #FFFFFF !important;
}

.hp-listing--view-block {
    height: auto !important;
    min-height: auto !important;
}

.hp-listing__content {
    padding: 14px 16px !important;
    min-height: 140px !important;
    display: flex !important;
    flex-direction: column !important;
    padding-bottom: 8px !important;
}

.hp-listing__category {
    display: inline-block !important;
    background-color: #E8F4F1 !important;
    color: #2A7C6F !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 9px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 2px 8px !important;
    border-radius: 10px !important;
    margin-bottom: 6px !important;
    line-height: 1.4 !important;
}

.hp-listing__title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #2D2D2D !important;
    margin-bottom: 2px !important;
    line-height: 1.3 !important;
    max-height: 40px !important;
    overflow: hidden !important;
}

.hp-listing__title a {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.hp-listing__location {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 11px !important;
    color: #9A9A9A !important;
    margin-bottom: 4px !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Hide date on cards */
.hp-listing__date,
.hp-listing__created-date,
time.hp-listing__created-date,
.hp-listing__date.hp-meta,
time[class*="created-date"],
time[class*="listing__date"],
.hp-listing [class*="created-date"],
.hp-listing [class*="__date"],
.hp-listing time,
.hp-listing__details time,
.hp-listing__content time {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Card footer attributes area */
.hp-listing--view-block .hp-listing__attributes--primary {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 11px !important;
    color: #6B6B6B !important;
    padding: 8px 16px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    width: 100% !important;
    flex-basis: 100% !important;
    align-items: flex-start !important;
}

/* All card attributes base style */
.hp-listing--view-block .hp-listing__attribute {
    font-size: 11px !important;
    font-family: 'DM Sans', sans-serif !important;
    color: #6B6B6B !important;
    line-height: 1.3 !important;
}

/* Hide extra details on cards - show only format and topics */
.hp-listing--view-block .hp-listing__attribute--meeting-days,
.hp-listing--view-block .hp-listing__attribute--meeting-times,
.hp-listing--view-block .hp-listing__attribute--grp-length,
.hp-listing--view-block .hp-listing__attribute--grp-size,
.hp-listing--view-block .hp-listing__attribute--grp-ages,
.hp-listing--view-block .hp-listing__attribute--enrollment-type,
.hp-listing--view-block .hp-listing__attribute--how-to-join,
.hp-listing--view-block .hp-listing__attribute--exact-cost,
.hp-listing--view-block .hp-listing__attribute--cost-range,
.hp-listing--view-block .hp-listing__attribute--ss-available,
.hp-listing--view-block .hp-listing__attribute--insurance-accepted,
.hp-listing--view-block .hp-listing__attribute--credentials,
.hp-listing--view-block .hp-listing__attribute--provider-credentials,
.hp-listing--view-block .hp-listing__attribute--service-area {
    display: none !important;
}

/* Show format on cards */
.hp-listing--view-block .hp-listing__attribute--group-format {
    display: block !important;
    width: 100% !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    margin-bottom: 4px !important;
}

/* Show topics on cards - 3 lines, aligned with format */
.hp-listing--view-block .hp-listing__attribute--group-topics {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-height: 48px !important;
    line-height: 1.3 !important;
    font-size: 11px !important;
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
}

/* Fix card content overlap */
.hp-listing__header,
.hp-listing__details,
.hp-listing__content > * {
    position: relative !important;
    clear: both !important;
    margin-bottom: 6px !important;
    overflow: hidden !important;
}

/* Listing card footer */
.hp-listing__footer,
footer.hp-listing__footer {
    background-color: #FFFFFF !important;
    padding: 8px 16px !important;
    border-top: 1px solid #E5E4DF !important;
    position: relative !important;
    clear: both !important;
    overflow: visible !important;
    white-space: normal !important;
    height: auto !important;
    min-height: 40px !important;
    display: flex !important;
    flex-wrap: wrap !important;
}

.hp-listing__actions {
    padding: 8px 16px !important;
    border-top: 1px solid #E5E4DF !important;
    font-size: 12px !important;
    background-color: #FFFFFF !important;
    overflow: visible !important;
    white-space: normal !important;
    height: auto !important;
}

/* Action icons in card footer */
.hp-listing--view-block .hp-listing__actions--primary {
    display: flex !important;
    justify-content: flex-end !important;
    width: 100% !important;
    padding-top: 8px !important;
    position: relative !important;
    float: none !important;
}

/* Center and fill images in listing cards */
.hp-listing__image {
    height: 160px !important;
    width: 100% !important;
    overflow: hidden !important;
    background-color: #F0EFEA !important;
}

.hp-listing__image a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.hp-listing__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
}

/* Verified badge on cards */
.hp-listing--view-block .hp-listing__verified,
.hp-listing--view-block .hp-badge--verified,
.hp-listing--view-block .hp-badge {
    display: inline !important;
    vertical-align: middle !important;
    margin-left: 4px !important;
    font-size: 0 !important;
}

.hp-listing--view-block .hp-listing__verified::after,
.hp-listing--view-block .hp-badge--verified::after,
.hp-listing--view-block .hp-badge::after {
    content: " Verified";
    font-size: 10px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 600 !important;
    color: #2A7C6F !important;
    vertical-align: middle !important;
}

.hp-listing--view-block .hp-listing__verified i,
.hp-listing--view-block .hp-badge--verified i,
.hp-listing--view-block .hp-badge i,
.hp-listing--view-block .hp-listing__verified svg,
.hp-listing--view-block .hp-badge svg {
    font-size: 12px !important;
    vertical-align: middle !important;
}

/* Style Tags in sidebar */
.hp-form__field--tag,
.hp-form__field--tags {
    font-family: 'DM Sans', sans-serif !important;
}

/* === BROWSE GROUPS PAGE === */
.hp-form__field--sort select,
.hp-listing--sort select {
    min-width: 180px !important;
    font-family: 'DM Sans', sans-serif !important;
}

.hp-form--listing-search {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-bottom: 24px !important;
    background-color: #FFFFFF !important;
    border: 1px solid #E5E4DF !important;
    border-radius: 12px !important;
    padding: 16px !important;
}

/* === BOOKING === */

/* Hide entire booking form on detail page */
.hp-form--booking,
.hp-form--booking-make,
form[class*="booking"] {
    display: none !important;
}

/* Hide booking fields on listing submission form */
.hp-field--booking-slot-duration,
.hp-form__field--booking-slot-duration,
[data-name="booking_slot_duration"],
label[for*="booking_slot"],
.hp-field--booking-note,
.hp-form__field--booking-note {
    display: none !important;
}

/* Hide booking fields on vendor profile form */
.hp-form--vendor-submit .hp-form__field--booking-offset,
.hp-form--vendor-update .hp-form__field--booking-offset,
.hp-form--vendor-submit .hp-form__field--booking-window,
.hp-form--vendor-update .hp-form__field--booking-window,
.hp-form--vendor-submit .hp-form__field--booking-slot-duration,
.hp-form--vendor-update .hp-form__field--booking-slot-duration,
.hp-form--vendor-submit .hp-form__field--booking-min-duration,
.hp-form--vendor-update .hp-form__field--booking-min-duration,
.hp-form--vendor-submit .hp-form__field--booking-max-duration,
.hp-form--vendor-update .hp-form__field--booking-max-duration,
.hp-form--vendor-submit .hp-form__field--booking-import-urls,
.hp-form--vendor-update .hp-form__field--booking-import-urls,
.hp-form--vendor-submit .hp-form__field--booking-export-url,
.hp-form--vendor-update .hp-form__field--booking-export-url,
.hp-form--vendor-submit .hp-form__field--booking-requests,
.hp-form--vendor-update .hp-form__field--booking-requests,
[class*="vendor"] [class*="booking"] {
    display: none !important;
}

/* === VENDOR PROFILE FORM === */

/* Hide category field on vendor/provider profile form */
.hp-form--vendor-submit .hp-form__field--categories,
.hp-form--vendor-submit .hp-form__field--category,
.hp-form--vendor-update .hp-form__field--categories,
.hp-form--vendor-update .hp-form__field--category {
    display: none !important;
}

/* Change "Title" label to "NAME" on vendor profile form */
.hp-form--vendor-submit .hp-form__field--name label,
.hp-form--vendor-update .hp-form__field--name label {
    font-size: 0 !important;
}

.hp-form--vendor-submit .hp-form__field--name label::after,
.hp-form--vendor-update .hp-form__field--name label::after {
    content: "NAME";
    font-size: 11px !important;
    font-family: 'DM Sans', sans-serif !important;
    letter-spacing: 1px !important;
}

/* === LISTING DETAIL PAGE === */

/* Contact Provider button */
.hp-listing--view-page a.button.button--primary,
.hp-listing--view-page .hp-listing__actions a.button--primary {
    background-color: #2A7C6F !important;
    color: #FFFFFF !important;
    border-radius: 8px !important;
    padding: 14px 24px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    text-align: center !important;
    display: block !important;
    width: 100% !important;
    text-decoration: none !important;
}

/* Smaller image on detail page */
.hp-listing--view-page .hp-listing__image,
.hp-listing--view-page .hp-listing__images {
    height: auto !important;
    max-height: 280px !important;
    border-radius: 12px !important;
    margin-bottom: 16px !important;
    overflow: hidden !important;
}

/* Detail page title */
.hp-listing--view-page .hp-listing__title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #2D2D2D !important;
    line-height: 1.3 !important;
    max-height: none !important;
}

.hp-listing--view-page .hp-listing__title a {
    -webkit-line-clamp: unset !important;
    display: block !important;
}

/* Category badge on detail page */
.hp-listing--view-page .hp-listing__category {
    font-size: 12px !important;
    padding: 4px 12px !important;
    margin-bottom: 12px !important;
}

/* Description */
.hp-listing--view-page .hp-listing__description {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 16px !important;
    color: #6B6B6B !important;
    line-height: 1.8 !important;
    margin-top: 16px !important;
}

/* Show ALL attributes on detail page */
.hp-listing--view-page .hp-listing__attributes--primary,
.hp-listing--view-page .hp-listing__attributes-primary,
.hp-listing--view-page .hp-listing__attributes--secondary,
.hp-listing--view-page .hp-listing__attributes-secondary {
    white-space: normal !important;
    overflow: visible !important;
    max-height: none !important;
    display: block !important;
    -webkit-line-clamp: unset !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
}

.hp-listing--view-page .hp-listing__attribute {
    display: block !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #E5E4DF !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 14px !important;
    color: #6B6B6B !important;
}

.hp-listing--view-page .hp-listing__attribute:last-child {
    border-bottom: none !important;
}

/* Hide date on detail page */
.hp-listing--view-page .hp-listing__date,
.hp-listing--view-page time.hp-listing__created-date,
.hp-listing--view-page .hp-listing [class*="created-date"],
.hp-listing--view-page .hp-listing [class*="__date"],
.hp-listing--view-page time {
    display: none !important;
}

/* Verified badge on detail page */
.hp-listing--view-page .hp-listing__verified,
.hp-listing--view-page .hp-badge--verified,
.hp-listing--view-page .hp-badge {
    display: inline !important;
    font-size: 13px !important;
}

.hp-listing--view-page .hp-listing__verified::after,
.hp-listing--view-page .hp-badge--verified::after,
.hp-listing--view-page .hp-badge::after {
    content: " Verified";
    font-size: 13px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 600 !important;
    color: #2A7C6F !important;
}

/* Provider profile card */
.hp-vendor--view-block {
    border: 1px solid #E5E4DF !important;
    border-radius: 12px !important;
    padding: 20px !important;
    background-color: #FFFFFF !important;
}

.hp-vendor__name {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #2D2D2D !important;
}

/* Style Write a Review link */
.hp-listing--view-page a[class*="review"] {
    font-family: 'DM Sans', sans-serif !important;
    color: #2A7C6F !important;
    font-size: 14px !important;
}

/* Style Report Listing link */
.hp-listing--view-page a[class*="report"] {
    font-family: 'DM Sans', sans-serif !important;
    color: #9A9A9A !important;
    font-size: 13px !important;
}

/* Style tags on detail page */
.hp-listing--view-page .tagcloud a,
.hp-listing--view-page .hp-tags a {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 12px !important;
    color: #6B6B6B !important;
    border: 1px solid #E5E4DF !important;
    border-radius: 16px !important;
    padding: 4px 12px !important;
    text-decoration: none !important;
    display: inline-block !important;
    margin: 2px !important;
}

/* === FOOTER === */
.site-footer {
    padding: 0 !important;
    margin: 0 !important;
}

.site-footer,
.site > footer,
.footer-widgets,
.footer-widgets-area {
    background-color: #2D2D2D !important;
}

.site-footer a:hover,
.footer-widgets a:hover {
    color: #2A7C6F !important;
}

/* Hide old footer content */
.site-footer .site-info,
.site-footer .footer-navigation,
.site-info,
.footer-widgets .widget_nav_menu,
.footer-widgets .widget_pages,
.site-footer nav,
.site-footer .lsd-mt-3 {
    display: none !important;
}

/* Footer responsive - tablet (2 columns) */
@media (max-width: 768px) {
    .mtg-footer-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 32px 24px !important;
    }

    .mtg-footer-copyright {
        font-size: 12px !important;
        padding: 16px 0 !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
}

/* Footer responsive - phone (1 column) */
@media (max-width: 480px) {
    .mtg-footer-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
}

/* === MOBILE RESPONSIVE FIXES === */

@media (max-width: 768px) {
    /* Fix overlapping button text - remove duplicate text layers from animations */
    .elementor-button::before,
    .elementor-button::after,
    .elementor-button-text::before,
    .elementor-button-text::after,
    .elementor-button-content-wrapper::before,
    .elementor-button-content-wrapper::after {
        display: none !important;
        content: none !important;
    }

    .elementor-button-text {
        position: relative !important;
        display: inline-block !important;
        transform: none !important;
        -webkit-transform: none !important;
    }

    .elementor-button-content-wrapper {
        transform: none !important;
        -webkit-transform: none !important;
    }

    /* Disable all button hover/animation effects on mobile */
    .elementor-button {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }

    /* Fix About Us cards cutting off */
    .elementor-section,
    .elementor-container,
    .elementor-column-wrap,
    .elementor-widget-wrap,
    .elementor-widget {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    /* Fix About Us card text overflow */
    .elementor-widget-container {
        max-width: 100% !important;
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
    }

    /* Fix large headings overflowing on mobile */
    .elementor-heading-title {
        font-size: clamp(28px, 8vw, 48px) !important;
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
    }

    /* Force all Elementor headings to scale on mobile */
    .elementor-widget-heading .elementor-heading-title {
        font-size: 36px !important;
    }

    /* Fix About Us cards cutting off on right side */
    .elementor-section .elementor-container {
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box !important;
    }

    /* Force cards to full width on mobile */
    .elementor-column {
        width: 100% !important;
        max-width: 100% !important;
    }

    .elementor-widget-container * {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Fix FAQ heading overlap */
    h1, h2, h3 {
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
    }

    /* Fix footer copyright overlap */
    .site-footer .elementor-widget-container,
    .mtg-footer-grid {
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
    }

    /* Prevent horizontal scroll */
    body, html {
        overflow-x: hidden !important;
    }
}

/* === WPFORMS === */

/* Style WPForms submit button */
.wpforms-submit {
    background-color: #2A7C6F !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px 32px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    cursor: pointer !important;
    transition: background-color 0.3s !important;
}

.wpforms-submit:hover {
    background-color: #1D5A50 !important;
}

/* Fix WPForms dropdown display */
.wpforms-container select,
.wpforms-form select {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 16px !important;
    letter-spacing: 0 !important;
    word-spacing: normal !important;
    font-stretch: normal !important;
    text-transform: none !important;
    width: 100% !important;
    appearance: auto !important;
    -webkit-appearance: menulist !important;
}

/* === SEARCH BAR === */

/* Add helper text below search bar */
.hp-form--listing-search::after {
    content: "Leave location blank to see national and virtual groups available everywhere.";
    display: block !important;
    width: 100% !important;
    flex-basis: 100% !important;
    font-family: 'DM Sans', sans-serif;
    font-size: 12px;
    color: #9A9A9A;
    text-align: center;
    margin-top: 4px;
    padding-top: 8px;
    font-style: italic;
    order: 99;
}

/* === HIDE "OPEN NOW" FROM SIDEBAR === */

/* Remove "Open now" checkbox from filter sidebar - not relevant for therapy groups */
.hp-form__field--checkbox:has(input[name="_open"]) {
    display: none !important;
}

/* === WP SWINGS FIX === */

/* Hide duplicate month/month display */
.wps_sfw_interval {
    display: none !important;
}
/* FAQ title mobile fix */
@media (max-width: 768px) {
    .mtg-faq-title {
        font-size: 32px !important;
        margin-bottom: 32px !important;
        padding: 0 10px !important;
    }
}
/* ============ BROWSE GROUPS PAGE FIXES ============ */

/* Sort dropdown: override Select2 inline width */
.hp-sort .select2-container,
.hp-sort .select2-container--default {
  width: auto !important;
  min-width: 170px !important;
}
.hp-sort .select2-container .select2-selection--single,
.hp-sort .select2-container .select2-selection--inline {
  width: auto !important;
  min-width: 170px !important;
}
.hp-sort .select2-selection__rendered {
  padding-right: 2rem !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

/* Filter button: shrink from full width */
.widget .hp-form__button,
.widget button[type="submit"].hp-form__button {
  width: auto !important;
  min-width: 140px !important;
  padding: 10px 24px !important;
  display: inline-block !important;
}

/* Empty filter containers: tighten the boxes */
.widget .hp-form__field {
  min-height: 0 !important;
}
.widget .select2-container {
  width: 100% !important;
}
.widget .select2-selection {
  min-height: 42px !important;
  border-color: #E5E4DF !important;
  border-radius: 8px !important;
}

/* Sidebar widget titles: on-brand */
.widget .widget-title,
.sidebar .widget-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 18px !important;
  color: #2D2D2D !important;
  margin-bottom: 12px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Featured listing badge */
.hp-listing--featured .hp-listing__title::before {
  content: "★ Featured";
  display: inline-block;
  background: #D4956A;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 3px 8px;
  border-radius: 4px;
  margin-right: 8px;
  vertical-align: middle;
}

/* Mobile: hide sidebar, stack cleanly */
@media (max-width: 768px) {
  .sidebar,
  .widget-area {
    display: none !important;
  }
  .content-area,
  .site-main {
    width: 100% !important;
    max-width: 100% !important;
  }
}
/* ============ BROWSE GROUPS PAGE FIXES ============ */

/* Sort dropdown: nuclear option, override Select2 inline width anywhere on page */
body .select2-container[style*="width: 88px"],
body .select2-container[style*="width:88px"] {
  width: 170px !important;
}

body .hp-sort .select2,
body .hp-sort .select2-container,
body .hp-sort span.select2-container,
body .hp-sort .select2-container--default,
body .hp-sort .select2-container .selection,
body .hp-sort .select2-selection,
body .hp-sort .select2-selection--single,
body .hp-sort .select2-selection--inline,
body .hp-sort .select2-selection__rendered {
  width: 170px !important;
  min-width: 170px !important;
  max-width: none !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

body .hp-sort .select2-selection__rendered {
  padding-right: 2rem !important;
}

/* Filter button: shrink from full width */
.widget .hp-form__button,
.widget button[type="submit"].hp-form__button {
  width: auto !important;
  min-width: 140px !important;
  padding: 10px 24px !important;
  display: inline-block !important;
}

/* Empty filter containers: tighten the boxes */
.widget .hp-form__field {
  min-height: 0 !important;
}
.widget .select2-container {
  width: 100% !important;
}
.widget .select2-selection {
  min-height: 42px !important;
  border-color: #E5E4DF !important;
  border-radius: 8px !important;
}

/* Sidebar widget titles: on-brand */
.widget .widget-title,
.sidebar .widget-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 18px !important;
  color: #2D2D2D !important;
  margin-bottom: 12px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Featured listing badge */
.hp-listing--featured .hp-listing__title::before {
  content: "★ Featured";
  display: inline-block;
  background: #D4956A;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 3px 8px;
  border-radius: 4px;
  margin-right: 8px;
  vertical-align: middle;
}

/* Mobile: hide sidebar, stack cleanly */
@media (max-width: 768px) {
  .sidebar,
  .widget-area {
    display: none !important;
  }
  .content-area,
  .site-main {
    width: 100% !important;
    max-width: 100% !important;
  }
}
/* ============ LISTING CARDS POLISH ============ */

/* Card container: lift, round, hover */
.hp-listing,
.hp-listings__item .hp-listing {
  background: #FFFFFF !important;
  border: 1px solid #EFEEE9 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  box-shadow: 0 1px 3px rgba(45, 45, 45, 0.04) !important;
}

.hp-listing:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 24px rgba(45, 45, 45, 0.10) !important;
}

/* Image area: consistent height */
.hp-listing__image,
.hp-listing__images {
  aspect-ratio: 16 / 10 !important;
  background: #F0EFEA !important;
}

.hp-listing__image img,
.hp-listing__images img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
}

/* Category badge: refine */
.hp-listing__category,
.hp-listing .hp-listing__category-name {
  background: #E8F4F1 !important;
  color: #1D5A50 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  padding: 5px 12px !important;
  border-radius: 4px !important;
  display: inline-block !important;
}

/* Title: stronger, on-brand */
.hp-listing__title,
.hp-listing__title a {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 20px !important;
  line-height: 1.3 !important;
  color: #2D2D2D !important;
  font-weight: 600 !important;
  margin: 12px 0 8px !important;
}

.hp-listing__title a:hover {
  color: #2A7C6F !important;
}

/* Location row: tighter, muted */
.hp-listing__location,
.hp-listing .hp-listing__attribute--location {
  font-size: 13px !important;
  color: #6B6B6B !important;
  margin-bottom: 12px !important;
}

/* Hide the email attribute on card preview (belt and suspenders alongside HivePress setting) */
.hp-listing .hp-listing__attribute--email,
.hp-listing [class*="email"] {
  display: none !important;
}

/* Attributes block: clean rows */
.hp-listing__attributes,
.hp-listing__attribute {
  font-size: 13px !important;
  color: #4A4A4A !important;
  line-height: 1.6 !important;
}

.hp-listing__attribute {
  padding: 4px 0 !important;
  border: none !important;
}

/* Date attribute: make it stand out for event cards */
.hp-listing .hp-listing__attribute--date,
.hp-listing .hp-listing__attribute[class*="date"] {
  font-weight: 600 !important;
  color: #1D5A50 !important;
  font-size: 14px !important;
}

/* Format pill: turn the In-Person / Virtual / Hybrid text into a pill */
.hp-listing .hp-listing__attribute--format,
.hp-listing .hp-listing__attribute[class*="format"] {
  display: inline-block !important;
  background: #FAFAF7 !important;
  border: 1px solid #E5E4DF !important;
  color: #2A7C6F !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 4px 10px !important;
  border-radius: 100px !important;
  margin: 6px 0 !important;
}

/* Topics: cap at 2 lines so cards stay even */
.hp-listing .hp-listing__attribute--topics,
.hp-listing .hp-listing__attribute[class*="topic"] {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  font-size: 13px !important;
  color: #6B6B6B !important;
  margin-top: 6px !important;
}

/* Card footer: actions row */
.hp-listing__actions {
  border-top: 1px solid #F0EFEA !important;
  padding-top: 10px !important;
  margin-top: 12px !important;
}

/* Add a "View Details" affordance to titles */
.hp-listing__title a::after {
  content: " →";
  color: #2A7C6F;
  opacity: 0;
  transition: opacity 0.2s ease;
  display: inline-block;
}

.hp-listing:hover .hp-listing__title a::after {
  opacity: 1;
}
/* Image area: consistent height */
.hp-listing__image,
.hp-listing__images {
  aspect-ratio: 16 / 10 !important;
  background: #F0EFEA !important;
}

.hp-listing__image img,
.hp-listing__images img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
}
/* ============ LISTING DETAIL PAGE POLISH ============ */

/* Detail page image: more compact than card image */
body.single-hp_listing .hp-listing__image,
body.single-hp_listing .hp-listing__images,
.hp-listing--view-page .hp-listing__image,
.hp-listing--view-page .hp-listing__images {
  aspect-ratio: 16 / 9 !important;
  max-height: 380px !important;
  padding: 24px !important;
  background: #FAFAF7 !important;
  border-radius: 12px !important;
  border: 1px solid #EFEEE9 !important;
}

body.single-hp_listing .hp-listing__image img,
.hp-listing--view-page .hp-listing__image img {
  object-fit: contain !important;
  max-height: 100% !important;
  max-width: 100% !important;
}

/* Sidebar container: lift it as a card */
body.single-hp_listing .hp-listing__attributes--secondary,
.hp-listing--view-page .hp-listing__attributes--secondary,
body.single-hp_listing aside .hp-listing__attributes,
.widget_hp_listing_attributes {
  background: #FFFFFF !important;
  border: 1px solid #EFEEE9 !important;
  border-radius: 12px !important;
  padding: 24px !important;
  box-shadow: 0 1px 3px rgba(45, 45, 45, 0.04) !important;
}

/* Each attribute row: stacked label + value */
body.single-hp_listing .hp-listing__attribute,
.hp-listing--view-page .hp-listing__attribute,
.widget_hp_listing_attributes .hp-listing__attribute {
  display: block !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid #F0EFEA !important;
  text-align: left !important;
}

body.single-hp_listing .hp-listing__attribute:last-child,
.hp-listing--view-page .hp-listing__attribute:last-child {
  border-bottom: none !important;
}

/* Attribute label: small uppercase */
body.single-hp_listing .hp-listing__attribute-label,
.hp-listing--view-page .hp-listing__attribute-label {
  display: block !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: #2A7C6F !important;
  margin-bottom: 4px !important;
}

/* Attribute value: bigger, darker */
body.single-hp_listing .hp-listing__attribute-value,
.hp-listing--view-page .hp-listing__attribute-value {
  display: block !important;
  font-size: 15px !important;
  color: #2D2D2D !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
}

/* Format pill on detail page: keep pill styling */
body.single-hp_listing .hp-listing__attribute--format .hp-listing__attribute-value,
.hp-listing--view-page .hp-listing__attribute--format .hp-listing__attribute-value {
  display: inline-block !important;
  background: #E8F4F1 !important;
  color: #1D5A50 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  padding: 6px 14px !important;
  border-radius: 100px !important;
}

/* CTA button (Website / Register / Contact) */
body.single-hp_listing .hp-listing__attribute--url a,
body.single-hp_listing .hp-listing__attribute--website a,
body.single-hp_listing a.hp-button,
.hp-listing--view-page a[href^="http"].hp-listing__attribute-value {
  display: block !important;
  background: #2A7C6F !important;
  color: #FFFFFF !important;
  text-align: center !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  padding: 14px 24px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  margin-top: 8px !important;
  transition: background 0.2s ease !important;
}

body.single-hp_listing .hp-listing__attribute--url a:hover,
body.single-hp_listing a.hp-button:hover {
  background: #1D5A50 !important;
}

/* Add to Favorites button: secondary style */
body.single-hp_listing .hp-listing__action--favorite,
.hp-listing--view-page .hp-listing__action--favorite {
  background: #FFFFFF !important;
  border: 1px solid #2A7C6F !important;
  color: #2A7C6F !important;
  border-radius: 8px !important;
  padding: 10px 20px !important;
  font-weight: 600 !important;
}

/* Title block: tighten spacing */
body.single-hp_listing .hp-listing__title,
.hp-listing--view-page .hp-listing__title {
  font-size: 34px !important;
  line-height: 1.2 !important;
  margin-bottom: 8px !important;
}

/* Location row under title */
body.single-hp_listing .hp-listing__location,
.hp-listing--view-page .hp-listing__location {
  font-size: 15px !important;
  color: #6B6B6B !important;
  margin-bottom: 24px !important;
}
/* ============ LISTING DETAIL PAGE SPACING FIX ============ */

/* Main content column: add left padding so text doesn't hug the edge */
body.single-hp_listing .hp-listing,
body.single-hp_listing .site-main,
body.single-hp_listing main .content-area,
body.single-hp_listing .hp-page__content,
body.single-hp_listing article.hp-listing {
  padding-left: 32px !important;
  padding-right: 16px !important;
}

/* Description text block: comfortable reading width */
body.single-hp_listing .hp-listing__description,
body.single-hp_listing .hp-listing__attribute--description {
  max-width: 720px !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: #2D2D2D !important;
  padding: 0 !important;
  margin: 24px 0 !important;
}

/* Service Area / Local box: add internal padding */
body.single-hp_listing .hp-listing__attribute--service_area,
body.single-hp_listing .hp-listing__attributes--primary {
  padding: 20px 24px !important;
  background: #FAFAF7 !important;
  border: 1px solid #EFEEE9 !important;
  border-radius: 12px !important;
  margin: 16px 0 !important;
}

/* Tags row at the bottom: better spacing */
body.single-hp_listing .hp-listing__tags,
body.single-hp_listing .hp-tags {
  margin-top: 32px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

body.single-hp_listing .hp-listing__tags a,
body.single-hp_listing .hp-tag {
  font-size: 11px !important;
  padding: 6px 12px !important;
  border: 1px solid #E5E4DF !important;
  border-radius: 100px !important;
  color: #6B6B6B !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  text-decoration: none !important;
}

body.single-hp_listing .hp-listing__tags a:hover {
  background: #E8F4F1 !important;
  color: #2A7C6F !important;
  border-color: #2A7C6F !important;
}

/* Mobile: tighten the padding so it doesn't waste space on small screens */
@media (max-width: 768px) {
  body.single-hp_listing .hp-listing,
  body.single-hp_listing .site-main,
  body.single-hp_listing .hp-page__content {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}
/* ============ LISTING DETAIL PAGE TOP SPACING ============ */

/* Breathing room above the category badge and title */
body.single-hp_listing .hp-listing,
body.single-hp_listing article.hp-listing,
body.single-hp_listing .hp-page__content,
body.single-hp_listing main {
  padding-top: 48px !important;
}

/* Space between the category badge and the title */
body.single-hp_listing .hp-listing__category,
body.single-hp_listing .hp-listing__categories {
  margin-bottom: 20px !important;
  display: inline-block !important;
}

/* Space between title and location */
body.single-hp_listing .hp-listing__title {
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}

/* Space below the location row before content starts */
body.single-hp_listing .hp-listing__location {
  margin-bottom: 32px !important;
}
/* ============ HIDE VENDOR PROFILE WIDGET ============ */

/* Hide the entire vendor profile box on listing detail pages */
body.single-hp_listing .hp-vendor,
body.single-hp_listing .hp-listing__vendor,
body.single-hp_listing .widget_hp_vendor,
body.single-hp_listing .widget_hp_vendor_summary,
body.single-hp_listing aside .hp-vendor,
body.single-hp_listing .hp-vendor__name,
body.single-hp_listing .hp-vendor__image,
body.single-hp_listing .hp-vendor__attributes,
body.single-hp_listing .hp-vendor__actions {
  display: none !important;
}
/* ============ MAP DISPLAY FIX ============ */

/* Give the map a proper height and stop the clipping */
body.single-hp_listing .hp-map,
body.single-hp_listing .hp-listing__map,
body.single-hp_listing .widget_hp_listing_map,
.hp-map {
  height: 320px !important;
  min-height: 320px !important;
  width: 100% !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin-bottom: 16px !important;
}

/* Make sure the map's inner Google Maps div fills the container */
body.single-hp_listing .hp-map > div,
body.single-hp_listing .hp-map iframe,
.hp-map > div,
.hp-map iframe {
  height: 100% !important;
  width: 100% !important;
}
/* ============ MAP DISPLAY FIX (V2) ============ */

/* Force ALL parent containers around the map to allow overflow */
body.single-hp_listing .hp-listing,
body.single-hp_listing article.hp-listing,
body.single-hp_listing .hp-page,
body.single-hp_listing .hp-page__content,
body.single-hp_listing aside,
body.single-hp_listing .sidebar,
body.single-hp_listing .widget-area,
body.single-hp_listing .widget,
body.single-hp_listing .widget_hp_listing_map {
  overflow: visible !important;
}

/* Map: shorter height so it fits in the natural flow */
body.single-hp_listing .hp-map,
body.single-hp_listing .hp-listing__map,
body.single-hp_listing .widget_hp_listing_map .hp-map,
.hp-map {
  height: 260px !important;
  min-height: 260px !important;
  max-height: 260px !important;
  width: 100% !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin-bottom: 24px !important;
  position: relative !important;
}

/* Inner Google Maps fills the container */
body.single-hp_listing .hp-map > div,
body.single-hp_listing .hp-map iframe,
.hp-map > div,
.hp-map iframe {
  height: 100% !important;
  width: 100% !important;
}

/* Add bottom padding to the listing container so nothing hugs the bottom edge */
body.single-hp_listing .hp-listing,
body.single-hp_listing article.hp-listing {
  padding-bottom: 48px !important;
}

/* ===== MTG Browse Groups filter redesign (SAFE v2) ===== */
body.page-id-3432 .hp-form--listing-filter,
body.page-id-3432 .mtg-pills,
body.page-id-3432 .mtg-active {
  --mtg-card:#ffffff; --mtg-ink:#1f2d2a; --mtg-ink-soft:#5a6a66;
  --mtg-line:#e2e8e3; --mtg-line-strong:#cfd8cf;
  --mtg-teal:#2A7C6F; --mtg-teal-dark:#1D5A50; --mtg-teal-soft:#E8F4F1;
  --mtg-mint:#ECF5EE; --mtg-chip:#EEF4EF;
  --mtg-shadow: 0 1px 2px rgba(10,30,25,.04), 0 4px 12px rgba(10,30,25,.05);
}
body.page-id-3432 .mtg-pills { display:flex; gap:8px; flex-wrap:wrap; margin:18px 0 12px; }
body.page-id-3432 .mtg-pill { display:inline-flex; align-items:center; gap:6px; background:var(--mtg-chip); color:var(--mtg-ink); border:1px solid transparent; padding:10px 14px; border-radius:999px; font-family:'DM Sans',sans-serif; font-size:14px; font-weight:500; cursor:pointer; min-height:44px; transition:background .15s, color .15s; }
body.page-id-3432 .mtg-pill:hover { background:var(--mtg-mint); }
body.page-id-3432 .mtg-pill[aria-pressed='true'] { background:var(--mtg-teal); color:#fff; }
body.page-id-3432 .mtg-pill:focus-visible { outline:3px solid rgba(42,124,111,.35); outline-offset:2px; }
body.page-id-3432 .mtg-active { display:none; align-items:center; gap:8px; flex-wrap:wrap; padding:10px 12px; background:var(--mtg-teal-soft); border-radius:10px; margin-bottom:14px; }
body.page-id-3432 .mtg-active.mtg-show { display:flex; }
body.page-id-3432 .mtg-active__label { font-family:'DM Sans',sans-serif; font-size:13px; color:var(--mtg-teal-dark); font-weight:600; margin-right:4px; }
body.page-id-3432 .mtg-chip { display:inline-flex; align-items:center; gap:6px; background:#fff; border:1px solid var(--mtg-line-strong); padding:5px 6px 5px 12px; border-radius:999px; font-family:'DM Sans',sans-serif; font-size:13px; }
body.page-id-3432 .mtg-chip__x { border:0; background:transparent; color:var(--mtg-ink-soft); padding:2px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; cursor:pointer; font-size:16px; line-height:1; }
body.page-id-3432 .mtg-chip__x:hover { background:var(--mtg-mint); color:var(--mtg-ink); }
body.page-id-3432 .mtg-active__clear { margin-left:auto; font-size:13px; font-weight:600; color:var(--mtg-teal-dark); background:transparent; border:0; cursor:pointer; }
body.page-id-3432 .mtg-active__clear:hover { text-decoration:underline; }

/* Remove hero helper text (no longer applies) */
.hp-form--listing-search::after { content:none !important; display:none !important; }

/* Polished filter-form cards */
body.page-id-3432 form.hp-form--listing-filter .hp-form__field:not(.hp-field--hidden) { background:#FFFFFF; border:1px solid #E5E4DF; border-radius:12px; padding:16px 18px; margin-bottom:14px; box-shadow:0 1px 2px rgba(10,30,25,.04), 0 4px 12px rgba(10,30,25,.05); transition:box-shadow .18s ease, border-color .18s ease; }
body.page-id-3432 form.hp-form--listing-filter .hp-form__field:not(.hp-field--hidden):hover { border-color:#2A7C6F; box-shadow:0 2px 6px rgba(10,30,25,.06), 0 10px 24px rgba(10,30,25,.08); }
body.page-id-3432 form.hp-form--listing-filter .hp-form__field > label { font-family:'Playfair Display', Georgia, serif; font-size:17px; font-weight:600; color:#2D2D2D; display:block; margin-bottom:10px; padding-bottom:8px; border-bottom:1px solid #F0EFEA; }
body.page-id-3432 form.hp-form--listing-filter .hp-field--checkbox label { font-family:'DM Sans',sans-serif; font-size:14px; color:#4A4A4A; padding:4px 2px; }
body.page-id-3432 form.hp-form--listing-filter button[type='submit'] { display:none !important; }


/* Hide Location field from top search bar on Browse Groups (does not actually filter) */
form.hp-form--listing-search .hp-form__field--location { display: none !important; }


/* Nationwide pill: match brand teal */
body .hp-listing__attribute.hp-listing__attribute--group-nationwide::before { background: #2A7C6F !important; }


/* Drop flag from Nationwide pill */
body .hp-listing__attribute.hp-listing__attribute--group-nationwide::before { content: "Nationwide" !important; }

/* Single listing sidebar: un-bold attribute labels (Cost, Days, Time, Frequency, Audience) so they match the rest */
body.single-hp_listing .hp-listing__attribute strong { font-weight: 400 !important; }


/* Hide the standalone "Local/National/..." service-area box under the image on single listing pages (duplicative of sidebar). */
body.single-hp_listing .hp-listing--view-page .hp-listing__attribute--service-area { display: none !important; }


/* Hide the secondary attributes block wrapper under the image (leaves an empty box). */
body.single-hp_listing .hp-listing--view-page .hp-listing__attributes--secondary { display: none !important; }


/* Make right sidebar static on single listing pages (disable sticky follow). */
body.single-hp_listing .hp-page__sidebar,
body.single-hp_listing .hp-page__sidebar .inner-wrapper-sticky {
  position: static !important;
  transform: none !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  bottom: auto !important;
}
