/* =============================================
   MY THERAPY GROUPS - COMPLETE CSS
   Consolidated and cleaned: April 7, 2026 (v6)
   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 default 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"],
.hp-menu--request a,
a.hp-link--request,
.site-header a[href*="submit-request"],
a.hp-link[href*="submit-request"] {
    display: none !important;
}


/* === MOBILE BURGER MENU === */
.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;
}
.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 (Browse Groups grid)
   ============================================= */

/* Card container */
.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;
}
.hp-listing--view-block {
    height: auto !important;
    min-height: auto !important;
}

/* Card image area: cream mat, fit whole image */
.hp-listing--view-block .hp-listing__image,
.hp-listing--view-block .hp-listing__images {
    aspect-ratio: 16 / 10 !important;
    background: #FAFAF7 !important;
    padding: 16px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}
.hp-listing--view-block .hp-listing__image a {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    align-items: center !important;
    justify-content: center !important;
}
.hp-listing--view-block .hp-listing__image img,
.hp-listing--view-block .hp-listing__images img {
    object-fit: contain !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
}

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

/* Category badge on cards */
.hp-listing--view-block .hp-listing__category,
.hp-listing--view-block .hp-listing__category-name {
    display: inline-block !important;
    background: #E8F4F1 !important;
    color: #1D5A50 !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    padding: 5px 12px !important;
    border-radius: 4px !important;
    margin-bottom: 8px !important;
    line-height: 1.4 !important;
}

/* Card title */
.hp-listing--view-block .hp-listing__title,
.hp-listing--view-block .hp-listing__title a {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #2D2D2D !important;
    line-height: 1.3 !important;
    margin: 8px 0 6px !important;
}
.hp-listing--view-block .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;
    max-height: 50px !important;
}
.hp-listing--view-block .hp-listing__title a:hover {
    color: #2A7C6F !important;
}

/* Card location row */
.hp-listing--view-block .hp-listing__location {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 12px !important;
    color: #6B6B6B !important;
    margin-bottom: 10px !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Hide HivePress default date on cards */
.hp-listing--view-block .hp-listing__date,
.hp-listing--view-block .hp-listing__created-date,
.hp-listing--view-block time.hp-listing__created-date,
.hp-listing--view-block time {
    display: none !important;
}

/* Card attributes container */
.hp-listing--view-block .hp-listing__attributes--primary {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 12px !important;
    color: #4A4A4A !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;
}
.hp-listing--view-block .hp-listing__attribute {
    font-size: 12px !important;
    font-family: 'DM Sans', sans-serif !important;
    color: #4A4A4A !important;
    line-height: 1.5 !important;
    padding: 4px 0 !important;
    border: none !important;
}

/* Hide most attributes on cards, show only essentials */
.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,
.hp-listing--view-block .hp-listing__attribute--email {
    display: none !important;
}

/* Event Date attribute on cards: bold teal */
.hp-listing--view-block .hp-listing__attribute--event-date,
.hp-listing--view-block .hp-listing__attribute--date {
    font-weight: 600 !important;
    color: #1D5A50 !important;
    font-size: 14px !important;
}

/* Format pill on cards */
.hp-listing--view-block .hp-listing__attribute--group-format,
.hp-listing--view-block .hp-listing__attribute--format {
    display: inline-block !important;
    background: #FAFAF7 !important;
    border: 1px solid #E5E4DF !important;
    color: #2A7C6F !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 4px 12px !important;
    border-radius: 100px !important;
    margin: 6px 0 !important;
    width: auto !important;
}

/* Topics on cards: cap at 2 lines */
.hp-listing--view-block .hp-listing__attribute--group-topics,
.hp-listing--view-block .hp-listing__attribute--topics {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-height: 40px !important;
    line-height: 1.4 !important;
    font-size: 13px !important;
    color: #6B6B6B !important;
    margin-top: 6px !important;
}

/* "View Details" arrow on hover */
.hp-listing--view-block .hp-listing__title a::after {
    content: " →";
    color: #2A7C6F;
    opacity: 0;
    transition: opacity 0.2s ease;
    display: inline-block;
}
.hp-listing--view-block:hover .hp-listing__title a::after {
    opacity: 1;
}

/* Card footer / actions */
.hp-listing__footer,
footer.hp-listing__footer,
.hp-listing__actions {
    background: #FFFFFF !important;
    padding: 8px 16px !important;
    border-top: 1px solid #F0EFEA !important;
    position: relative !important;
    overflow: visible !important;
    white-space: normal !important;
    height: auto !important;
    min-height: 40px !important;
}
.hp-listing--view-block .hp-listing__actions--primary {
    display: flex !important;
    justify-content: flex-end !important;
    width: 100% !important;
    padding-top: 8px !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;
}

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


/* =============================================
   BROWSE GROUPS PAGE (filters, sort, search)
   ============================================= */

/* Search bar */
.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;
}
/* Sort dropdown: override Select2 inline width */
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 {
    width: 170px !important;
    min-width: 170px !important;
    max-width: none !important;
}
body .hp-sort .select2-selection__rendered {
    width: 170px !important;
    min-width: 170px !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    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 */
.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 */
.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;
}

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


/* =============================================
   LISTING DETAIL PAGE (single listing view)
   ============================================= */

/* Top breathing room */
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;
    padding-bottom: 48px !important;
}

/* Left/right padding so content doesn't hug edges */
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;
}

/* Allow overflow so map and tags don't get clipped */
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;
}

/* Detail page image: framed cream mat */
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;
    margin-bottom: 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !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;
}

/* Category badge on detail page */
body.single-hp_listing .hp-listing__category,
body.single-hp_listing .hp-listing__categories,
.hp-listing--view-page .hp-listing__category {
    display: inline-block !important;
    background: #E8F4F1 !important;
    color: #1D5A50 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 5px 14px !important;
    border-radius: 4px !important;
    margin-bottom: 20px !important;
}

/* Title block on detail page */
body.single-hp_listing .hp-listing__title,
.hp-listing--view-page .hp-listing__title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 34px !important;
    font-weight: 700 !important;
    color: #2D2D2D !important;
    line-height: 1.2 !important;
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    max-height: none !important;
}
body.single-hp_listing .hp-listing__title a,
.hp-listing--view-page .hp-listing__title a {
    -webkit-line-clamp: unset !important;
    display: block !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: 32px !important;
}

/* Description block */
body.single-hp_listing .hp-listing__description,
body.single-hp_listing .hp-listing__attribute--description,
.hp-listing--view-page .hp-listing__description {
    font-family: 'DM Sans', sans-serif !important;
    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 */
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;
}

/* Sidebar attributes container */
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;
    white-space: normal !important;
    overflow: visible !important;
    max-height: none !important;
    display: block !important;
}

/* Each sidebar attribute row */
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;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 14px !important;
    color: #4A4A4A !important;
    line-height: 1.6 !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 teal) */
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 value: render as a pill */
body.single-hp_listing .hp-listing__attribute--format .hp-listing__attribute-value,
body.single-hp_listing .hp-listing__attribute--group-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;
}

/* Contact Provider / primary CTA button */
.hp-listing--view-page a.button.button--primary,
.hp-listing--view-page .hp-listing__actions a.button--primary,
body.single-hp_listing a.hp-button {
    display: block !important;
    background: #2A7C6F !important;
    color: #FFFFFF !important;
    border-radius: 8px !important;
    padding: 14px 24px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-align: center !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    width: 100% !important;
    text-decoration: none !important;
    margin-top: 8px !important;
    transition: background 0.2s ease !important;
}
.hp-listing--view-page a.button.button--primary:hover,
body.single-hp_listing a.hp-button:hover {
    background: #1D5A50 !important;
}

/* Add to Favorites button */
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;
}

/* Tags row at bottom of detail page */
body.single-hp_listing .hp-listing__tags,
body.single-hp_listing .hp-tags,
.hp-listing--view-page .tagcloud {
    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,
.hp-listing--view-page .tagcloud a,
.hp-listing--view-page .hp-tags a {
    font-family: 'DM Sans', sans-serif !important;
    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;
    display: inline-block !important;
    margin: 2px !important;
}
body.single-hp_listing .hp-listing__tags a:hover,
body.single-hp_listing .hp-tag:hover {
    background: #E8F4F1 !important;
    color: #2A7C6F !important;
    border-color: #2A7C6F !important;
}

/* Hide HivePress default date on detail page */
.hp-listing--view-page .hp-listing__date,
.hp-listing--view-page time.hp-listing__created-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;
}

/* Write a Review and Report Listing links */
.hp-listing--view-page a[class*="review"] {
    font-family: 'DM Sans', sans-serif !important;
    color: #2A7C6F !important;
    font-size: 14px !important;
}
.hp-listing--view-page a[class*="report"] {
    font-family: 'DM Sans', sans-serif !important;
    color: #9A9A9A !important;
    font-size: 13px !important;
}


/* =============================================
   MAP DISPLAY (single listing sidebar)
   ============================================= */
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;
}
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;
}


/* =============================================
   HIDE VENDOR PROFILE WIDGET (not used)
   ============================================= */
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;
}


/* =============================================
   BOOKING (hide everywhere)
   ============================================= */
.hp-form--booking,
.hp-form--booking-make,
form[class*="booking"],
.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;
}
.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 (List Your Group)
   ============================================= */
.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;
}
.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;
}


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


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


/* =============================================
   WP SWINGS / SUBSCRIPTIONS FIX
   ============================================= */
.wps_sfw_interval {
    display: none !important;
}


/* =============================================
   MOBILE RESPONSIVE
   ============================================= */
@media (max-width: 768px) {
    /* Detail page: tighter padding on mobile */
    body.single-hp_listing .hp-listing,
    body.single-hp_listing .site-main,
    body.single-hp_listing .hp-page__content,
    body.single-hp_listing article.hp-listing,
    body.single-hp_listing main {
        padding-left: 16px !important;
        padding-right: 16px !important;
        padding-top: 24px !important;
    }

    /* Hide sidebar on Browse Groups for mobile */
    .sidebar,
    .widget-area {
        display: none !important;
    }
    .content-area,
    .site-main {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Footer responsive (2 columns on tablet) */
    .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;
    }

    /* Elementor button animation cleanup */
    .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,
    .elementor-button-content-wrapper {
        position: relative !important;
        display: inline-block !important;
        transform: none !important;
        -webkit-transform: none !important;
    }
    .elementor-button {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }

    /* Elementor card overflow fixes */
    .elementor-section,
    .elementor-container,
    .elementor-column-wrap,
    .elementor-widget-wrap,
    .elementor-widget {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }
    .elementor-widget-container {
        max-width: 100% !important;
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
    }
    .elementor-widget-container * {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .elementor-section .elementor-container {
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box !important;
    }
    .elementor-column {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Heading scaling */
    .elementor-heading-title {
        font-size: clamp(28px, 8vw, 48px) !important;
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
    }
    .elementor-widget-heading .elementor-heading-title {
        font-size: 36px !important;
    }
    h1, h2, h3 {
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
    }

    /* Footer copyright wrap */
    .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;
    }

    /* FAQ title fix */
    .mtg-faq-title {
        font-size: 32px !important;
        margin-bottom: 32px !important;
        padding: 0 10px !important;
    }
}

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

/* MTG-STATE-FILTER-CLEANUP v1 */
/* Hide HivePress location field on Browse Groups search bar */
.hp-form--listing-search .hp-form__field--location,
.hp-form--listing-search .hp-field--location,
body.page-id-3432 .hp-form__field--location,
body.page-id-3432 .hp-field--location { display: none !important; }

/* State dropdown wrapper (injected via JS on Browse Groups page) */
.mtg-state-wrap { background:#f4f7fb; padding:20px 24px; margin:0 auto 24px; border-radius:8px; border:1px solid #e2e8f0; max-width:900px; }
.mtg-state-wrap label { display:block; margin:0 0 8px; font-weight:600; color:#1e293b; font-size:15px; }
.mtg-state-wrap select { width:100%; max-width:420px; padding:12px 14px; font-size:16px; border:1px solid #cbd5e1; border-radius:6px; background:#fff; color:#0f172a; }
.mtg-state-wrap p { margin:10px 0 0; font-size:13px; color:#475569; }



/* ========= SNIPPET 03 companion (pills & chips — safe additive) ========= */

/* =============================================
   SNIPPET 03 companion CSS â Browse Groups pills & chips
   Append this block to the END of your existing Additional CSS.
   All selectors are NEW class names (.mtg-pills, .mtg-chips) â
   nothing here overlaps with anything already in your stylesheet.
   Safe to remove: deleting this block just un-styles the pills/chips;
   the JS (Snippet 03) degrades to plain buttons.
   ============================================= */

/* --- Quick filter pills (row under hero search) --- */
.mtg-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 16px 0;
}
.mtg-pills__pill {
    display: inline-flex;
    align-items: center;
    background: #FFFFFF;
    border: 1px solid #E5E4DF;
    border-radius: 999px;
    padding: 8px 14px;
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #2D2D2D;
    cursor: pointer;
    transition: all 0.15s ease;
}
.mtg-pills__pill:hover {
    border-color: #2A7C6F;
    background: #E8F4F1;
}
.mtg-pills__pill[aria-pressed="true"] {
    background: #2A7C6F;
    border-color: #2A7C6F;
    color: #FFFFFF;
}
.mtg-pills__pill[data-action="clear"] {
    margin-left: auto;
    border-style: dashed;
}

/* --- Active filter chips (row under pills) --- */
.mtg-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin: 0 0 16px 0;
    padding: 10px 12px;
    background: #FFFFFF;
    border: 1px solid #EFEEE9;
    border-radius: 10px;
}
.mtg-chips:empty { display: none; }
.mtg-chips__chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #E8F4F1;
    color: #1D5A50;
    border: 0;
    border-radius: 999px;
    padding: 4px 6px 4px 10px;
    font-family: 'DM Sans', sans-serif;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}
.mtg-chips__chip-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #1D5A50;
    color: #FFFFFF;
    font-size: 11px;
    line-height: 1;
}
.mtg-chips__clear {
    margin-left: auto;
    background: transparent;
    color: #2A7C6F;
    border: 0;
    font-family: 'DM Sans', sans-serif;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: underline;
}

/* --- Focus rings (a11y) --- */
.mtg-pills__pill:focus-visible,
.mtg-chips__chip:focus-visible,
.mtg-chips__clear:focus-visible {
    outline: 3px solid rgba(42,124,111,.35);
    outline-offset: 2px;
}

/* --- Mobile touches --- */
@media (max-width: 720px) {
    .mtg-pills {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
        -webkit-overflow-scrolling: touch;
    }
    .mtg-pills__pill { flex: 0 0 auto; }
    .mtg-pills__pill[data-action="clear"] { margin-left: 0; }
}
