/* =========================================================
   HOME COVE PRODUCT EXPERIENCE
   Frontend V1.0.0
   Scoped to .hcpx-* to avoid ReHub/WooCommerce card conflicts.
========================================================= */

.hcpx-slider,
.hcpx-grid-wrap,
.hcpx-archive,
.hcpx-slider *,
.hcpx-grid-wrap *,
.hcpx-archive * {
    box-sizing: border-box;
}

.hcpx-slider,
.hcpx-grid-wrap,
.hcpx-archive {
    --hcpx-button: #C58C6B;
    --hcpx-button-hover: #35423C;
    --hcpx-button-text: #FFFFFF;
    --hcpx-title: #35423C;
    --hcpx-page: #F8F7F3;
    --hcpx-card-bg: #FFFFFF;
    --hcpx-muted: #68746E;
    --hcpx-accent: #A3B18A;
    --hcpx-title-size: 18px;
    --hcpx-radius: 10px;
    --hcpx-image-ratio: 1 / 1;
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* ---------- PRODUCT CARD ---------- */
.hcpx-card {
    position: relative;
    min-width: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: var(--hcpx-card-bg);
    border: 0;
    border-radius: var(--hcpx-radius);
    box-shadow: 0 8px 28px rgba(53,66,60,.055);
    isolation: isolate;
}

.hcpx-card-media {
    position: relative;
    width: 100%;
    aspect-ratio: var(--hcpx-image-ratio);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

.hcpx-card-image-link {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    text-decoration: none !important;
}

.hcpx-card-image,
.hcpx-card-media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 10px !important;
    object-fit: contain !important;
    object-position: center !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    mix-blend-mode: multiply;
    transition: transform .22s ease;
}

.hcpx-card:hover .hcpx-card-image {
    transform: scale(1.025);
}

.hcpx-card-body {
    flex: 1 1 auto;
    min-height: 0;
    padding: 13px 14px 14px;
    display: flex;
    flex-direction: column;
    background: var(--hcpx-card-bg);
}

body .hcpx-card-title,
.hcpx-card-title {
    min-height: calc(var(--hcpx-title-size) * 2.35);
    margin: 0 0 15px !important;
    padding: 0 !important;
    color: var(--hcpx-title) !important;
    font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
    font-size: var(--hcpx-title-size) !important;
    font-style: normal !important;
    font-weight: 600 !important;
    line-height: 1.12 !important;
    letter-spacing: -.012em !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

body .hcpx-card-title a,
.hcpx-card-title a {
    color: inherit !important;
    font: inherit !important;
    letter-spacing: inherit !important;
    text-decoration: none !important;
}

.hcpx-card-title a:hover {
    color: #925f46 !important;
}

.hcpx-card-action {
    width: 100%;
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hcpx-buy,
a.hcpx-buy {
    width: min(100%, 190px) !important;
    min-height: 39px !important;
    margin: 0 auto !important;
    padding: 9px 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    color: var(--hcpx-button-text) !important;
    background: var(--hcpx-button) !important;
    border: 1px solid var(--hcpx-button) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 10.5px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .015em !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    transition: background-color .18s ease, border-color .18s ease, transform .18s ease !important;
}

.hcpx-buy:hover,
a.hcpx-buy:hover {
    color: var(--hcpx-button-text) !important;
    background: var(--hcpx-button-hover) !important;
    border-color: var(--hcpx-button-hover) !important;
    transform: translateY(-1px);
}

.hcpx-buy-icon {
    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;
    display: block !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.9 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

/* ---------- REHUB WISHLIST INSIDE CUSTOM CARD ---------- */
/*
 * The visual heart is owned by this plugin. ReHub's real wishlist shortcode
 * is preserved untouched in an invisible click layer above it. That means:
 * - no red ReHub counter/badge can escape the circle;
 * - no ReHub labels/icons compete with the design;
 * - the user's click still lands on ReHub's native wishlist control;
 * - ReHub continues to own persistence, guest/login logic and header counter.
 */
.hcpx-wishlist {
    position: absolute !important;
    top: 11px !important;
    right: 11px !important;
    z-index: 30 !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    border: 0 !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    isolation: isolate !important;
}

/* Clean visual button. It never intercepts pointer events. */
.hcpx-wishlist-ui {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #5f6b65 !important;
    background: rgba(255,255,255,.97) !important;
    border: 1px solid #dfe4de !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 13px rgba(53,66,60,.10) !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    transition: color .16s ease, border-color .16s ease, background-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

.hcpx-wishlist-heart {
    width: 18px !important;
    height: 18px !important;
    display: block !important;
    fill: transparent !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    transition: fill .16s ease, stroke .16s ease, transform .16s ease !important;
}

/* Native ReHub engine. Keep its exact markup alive for ReHub JS, but never
   expose its counter, labels or theme styling visually. */
.hcpx-wishlist-engine {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    z-index: 0 !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    visibility: visible !important;
    overflow: hidden !important;
    pointer-events: none !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

.hcpx-wishlist-engine a,
.hcpx-wishlist-engine button,
.hcpx-wishlist-engine [role="button"],
.hcpx-wishlist-engine .heartplus,
.hcpx-wishlist-engine [class*="wish"] {
    pointer-events: none !important;
}

/* Prevent native labels/counters from affecting layout without deleting them. */
.hcpx-wishlist-engine * {
    max-width: 40px !important;
    max-height: 40px !important;
}

.hcpx-wishlist:hover .hcpx-wishlist-ui,
.hcpx-wishlist:focus-within .hcpx-wishlist-ui {
    color: #C58C6B !important;
    border-color: #C9D1C5 !important;
    box-shadow: 0 5px 15px rgba(53,66,60,.14) !important;
    transform: translateY(-1px) !important;
}

/* ReHub state detection is mirrored by JS onto the wrapper. */
.hcpx-wishlist.is-added .hcpx-wishlist-ui {
    color: #C58C6B !important;
    background: #fffaf6 !important;
    border-color: #DDBEA9 !important;
}

.hcpx-wishlist.is-added .hcpx-wishlist-heart {
    fill: currentColor !important;
    stroke: currentColor !important;
}

.hcpx-wishlist.is-busy .hcpx-wishlist-ui {
    opacity: .72 !important;
}

/* ---------- GRID ---------- */
.hcpx-grid-wrap {
    width: 100%;
    margin: 0;
    padding: 0;
}

.hcpx-grid {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(var(--hcpx-grid-desktop, 6), minmax(0, 1fr));
    gap: 18px;
}

.hcpx-load-more-wrap {
    width: 100%;
    margin: 28px 0 0;
    display: flex;
    justify-content: center;
}

.hcpx-load-more,
.hcpx-filter-apply {
    min-width: 138px;
    min-height: 40px;
    padding: 10px 18px;
    color: #fff;
    background: var(--hcpx-title, #35423C);
    border: 1px solid var(--hcpx-title, #35423C);
    border-radius: 4px;
    font: 700 10px/1 Inter, sans-serif;
    letter-spacing: .05em;
    cursor: pointer;
    transition: background .18s ease, opacity .18s ease;
}

.hcpx-load-more:hover,
.hcpx-filter-apply:hover {
    background: #C58C6B;
    border-color: #C58C6B;
}

.hcpx-load-more[disabled] {
    opacity: .55;
    cursor: wait;
}

/* ---------- SLIDER ---------- */
.hcpx-slider {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}

.hcpx-slider-track {
    width: 100%;
    display: flex;
    gap: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.hcpx-slider-track::-webkit-scrollbar {
    display: none;
}

.hcpx-slider .hcpx-card {
    flex: 0 0 calc((100% - (var(--hcpx-slider-desktop, 6) - 1) * 16px) / var(--hcpx-slider-desktop, 6));
    scroll-snap-align: start;
}

.hcpx-slider-arrow {
    position: absolute;
    top: 42%;
    z-index: 15;
    width: 42px;
    height: 42px;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: rgba(53,66,60,.82);
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    transform: translateY(-50%);
    box-shadow: 0 5px 18px rgba(53,66,60,.12);
}

.hcpx-slider-prev { left: -15px; }
.hcpx-slider-next { right: -15px; }

.hcpx-slider-arrow svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* ---------- CATEGORY ARCHIVE ---------- */
.hcpx-archive {
    width: 100%;
    margin: 0;
    padding: 44px 0 64px;
    background: var(--hcpx-page);
    color: var(--hcpx-title);
}

.hcpx-archive-inner {
    width: min(calc(100% - 48px), 1500px);
    margin: 0 auto;
    padding: 0;
}

.hcpx-archive-header {
    margin: 0 0 28px;
    padding: 0 0 24px;
    border-bottom: 1px solid rgba(163,177,138,.55);
}

.hcpx-archive-kicker {
    margin: 0 0 10px;
    color: #925f46;
    font: 700 9px/1 Inter, sans-serif;
    letter-spacing: .13em;
}

.hcpx-archive-heading-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

body .hcpx-archive-title,
.hcpx-archive-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--hcpx-title) !important;
    font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
    font-size: var(--hcpx-archive-title-size, 52px) !important;
    font-style: normal !important;
    font-weight: 600 !important;
    line-height: .98 !important;
    letter-spacing: -.018em !important;
}

.hcpx-archive-description {
    max-width: 760px;
    margin-top: 12px;
    color: var(--hcpx-muted);
    font-size: 13px;
    line-height: 1.65;
}

.hcpx-archive-description p { margin: 0; }

.hcpx-archive-count {
    flex: 0 0 auto;
    padding-bottom: 6px;
    color: var(--hcpx-muted);
    font: 700 9px/1 Inter, sans-serif;
    letter-spacing: .08em;
    white-space: nowrap;
}

.hcpx-subcats {
    margin-top: 22px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.hcpx-subcats a {
    min-height: 34px;
    padding: 8px 12px;
    display: inline-flex;
    align-items: center;
    color: var(--hcpx-title) !important;
    background: #fff;
    border: 1px solid rgba(163,177,138,.65);
    border-radius: 999px;
    font: 600 10px/1 Inter, sans-serif !important;
    text-decoration: none !important;
}

.hcpx-subcats a:hover,
.hcpx-subcats a.is-current {
    color: #fff !important;
    background: var(--hcpx-title);
    border-color: var(--hcpx-title);
}

.hcpx-archive-tools {
    width: 100%;
    margin: 0 0 26px;
    padding: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    border: 1px solid rgba(163,177,138,.42);
    border-radius: 8px;
}

.hcpx-search-field {
    position: relative;
    min-width: 240px;
    flex: 1 1 auto;
    height: 40px;
    padding: 0 12px;
    display: flex;
    align-items: center;
    gap: 9px;
    background: var(--hcpx-page);
    border: 1px solid #e3e5df;
    border-radius: 5px;
}

.hcpx-search-field svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: var(--hcpx-muted);
    stroke-width: 1.8;
}

.hcpx-search-field input {
    width: 100%;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--hcpx-title) !important;
    background: transparent !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    font: 500 12px/1 Inter, sans-serif !important;
}

.hcpx-sort-field,
.hcpx-budget-field {
    flex: 0 0 auto;
    min-height: 40px;
    padding: 0 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--hcpx-page);
    border: 1px solid #e3e5df;
    border-radius: 5px;
}

.hcpx-sort-field > span,
.hcpx-budget-field > span {
    color: var(--hcpx-muted);
    font: 700 8px/1 Inter, sans-serif;
    letter-spacing: .06em;
}

.hcpx-sort-field select,
.hcpx-budget-field select {
    min-height: 30px !important;
    margin: 0 !important;
    padding: 0 24px 0 0 !important;
    color: var(--hcpx-title) !important;
    background: transparent !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    font: 600 11px/1 Inter, sans-serif !important;
}

.hcpx-filter-clear {
    padding: 0 7px;
    color: var(--hcpx-muted) !important;
    font: 700 9px/1 Inter, sans-serif !important;
    text-decoration: none !important;
}

.hcpx-archive-grid {
    grid-template-columns: repeat(var(--hcpx-archive-desktop, 4), minmax(0, 1fr));
    gap: 22px;
}

.hcpx-archive-grid .hcpx-card {
    box-shadow: 0 7px 26px rgba(53,66,60,.045);
}

.hcpx-empty {
    width: 100%;
    padding: 34px 18px;
    color: #68746e;
    background: #f8f7f3;
    border: 1px solid #e3e6df;
    border-radius: 8px;
    text-align: center;
}

.hcpx-archive-empty {
    padding: 70px 20px;
    background: #fff;
}

body .hcpx-archive-empty h2 {
    margin: 0 0 8px !important;
    color: #35423c !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 30px !important;
    font-weight: 600 !important;
}

.hcpx-pagination { margin-top: 28px; }
.hcpx-pagination ul { display: flex; gap: 6px; justify-content: center; list-style: none; margin: 0; padding: 0; }
.hcpx-pagination a,
.hcpx-pagination span {
    min-width: 36px;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #35423c;
    background: #fff;
    border: 1px solid #dfe4da;
    border-radius: 4px;
    text-decoration: none;
}
.hcpx-pagination .current { color: #fff; background: #35423c; border-color: #35423c; }

/* ---------- TABLET ---------- */
@media (max-width: 1024px) {
    .hcpx-slider .hcpx-card {
        flex-basis: calc((100% - 2 * 14px) / 3);
    }
    .hcpx-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .hcpx-archive-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .hcpx-archive-inner { width: min(calc(100% - 34px), 1500px); }
}

/* ---------- MOBILE ---------- */
@media (max-width: 767px) {
    .hcpx-grid {
        grid-template-columns: repeat(var(--hcpx-grid-mobile, 2), minmax(0, 1fr));
        gap: 11px;
    }

    .hcpx-slider-track { gap: 10px; }
    .hcpx-slider .hcpx-card {
        flex-basis: calc((100% - (var(--hcpx-slider-mobile, 2) - 1) * 10px) / var(--hcpx-slider-mobile, 2));
    }

    .hcpx-slider-arrow {
        width: 34px;
        height: 34px;
        top: 39%;
    }
    .hcpx-slider-prev { left: -7px; }
    .hcpx-slider-next { right: -7px; }

    .hcpx-card-media img,
    .hcpx-card-image {
        padding: 6px !important;
    }

    .hcpx-card-body { padding: 10px 9px 10px; }
    body .hcpx-card-title,
    .hcpx-card-title {
        min-height: 35px;
        margin-bottom: 10px !important;
        font-size: min(var(--hcpx-title-size), 16px) !important;
        line-height: 1.08 !important;
    }

    .hcpx-buy,
    a.hcpx-buy {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 35px !important;
        padding: 8px 7px !important;
        gap: 5px !important;
        font-size: 8.5px !important;
    }

    .hcpx-buy-icon {
        width: 12px !important;
        height: 12px !important;
        min-width: 12px !important;
    }

    .hcpx-wishlist {
        top: 7px !important;
        right: 7px !important;
        width: 34px !important;
        height: 34px !important;
    }
    .hcpx-wishlist-ui,
    .hcpx-wishlist-engine {
        width: 34px !important;
        height: 34px !important;
    }
    .hcpx-wishlist-heart {
        width: 16px !important;
        height: 16px !important;
    }
    .hcpx-wishlist-engine * {
        max-width: 34px !important;
        max-height: 34px !important;
    }

    .hcpx-archive { padding: 28px 0 44px; }
    .hcpx-archive-inner { width: calc(100% - 24px); }
    .hcpx-archive-header { margin-bottom: 18px; padding-bottom: 18px; }
    .hcpx-archive-heading-row { display: block; }
    body .hcpx-archive-title,
    .hcpx-archive-title { font-size: min(var(--hcpx-archive-title-size), 40px) !important; }
    .hcpx-archive-description { font-size: 12px; line-height: 1.55; }
    .hcpx-archive-count { margin-top: 12px; padding: 0; }

    .hcpx-subcats {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 3px;
        scrollbar-width: none;
    }
    .hcpx-subcats::-webkit-scrollbar { display: none; }
    .hcpx-subcats a { flex: 0 0 auto; }

    .hcpx-archive-tools {
        padding: 9px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
    .hcpx-search-field { min-width: 0; grid-column: 1 / -1; }
    .hcpx-sort-field, .hcpx-budget-field { min-width: 0; }
    .hcpx-filter-apply { min-width: 0; width: 100%; grid-column: 1 / -1; }
    .hcpx-filter-clear { grid-column: 1 / -1; padding: 4px 2px 0; }

    .hcpx-archive-grid {
        grid-template-columns: repeat(var(--hcpx-archive-mobile, 2), minmax(0, 1fr));
        gap: 11px;
    }

    .hcpx-load-more-wrap { margin-top: 22px; }
}

@media (max-width: 380px) {
    .hcpx-card-body { padding-left: 7px; padding-right: 7px; }
    .hcpx-buy,
    a.hcpx-buy { font-size: 7.8px !important; padding-left: 5px !important; padding-right: 5px !important; }
    .hcpx-buy-icon { width: 11px !important; height: 11px !important; min-width: 11px !important; }
}

@media (prefers-reduced-motion: reduce) {
    .hcpx-card-image,
    .hcpx-buy,
    .hcpx-slider-track { transition: none !important; scroll-behavior: auto !important; }
}

/* =========================================================
   V1.1.1 SAFE ARCHIVE ADDITIONS
   These are intentionally scoped to the archive controls only.
   Product-card sizing/layout remains the proven v1.0.2 design.
   ========================================================= */

.hcpx-budget-field {
    min-width: 155px;
}

.hcpx-budget-field select {
    min-width: 92px;
}

/* Predictive suggestions live inside the search field so Elementor/ReHub
   overflow and page scrolling cannot detach the dropdown from the input. */
.hcpx-autocomplete {
    position: absolute !important;
    left: -1px !important;
    right: -1px !important;
    top: calc(100% + 7px) !important;
    z-index: 999999 !important;
    display: none;
    max-height: min(430px, 62vh);
    overflow-y: auto;
    background: #fff !important;
    border: 1px solid rgba(53,66,60,.16) !important;
    border-radius: 7px !important;
    box-shadow: 0 16px 36px rgba(31,43,45,.16) !important;
}

.hcpx-autocomplete.is-open { display: block !important; }

.hcpx-autocomplete-item {
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 7px 10px !important;
    display: grid !important;
    grid-template-columns: 36px minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: 9px !important;
    color: #35423c !important;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(183,194,177,.28) !important;
    border-radius: 0 !important;
    text-align: left !important;
    cursor: pointer !important;
    box-shadow: none !important;
}

.hcpx-autocomplete-item:last-child { border-bottom: 0 !important; }
.hcpx-autocomplete-item:hover,
.hcpx-autocomplete-item.is-active { background: #f8f7f3 !important; }
.hcpx-autocomplete-item--search { background: #fbfaf7 !important; }

.hcpx-autocomplete-icon,
.hcpx-autocomplete-image {
    width: 36px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    color: #4b5a52 !important;
    background: #f3f0ea !important;
    border: 1px solid rgba(183,194,177,.36) !important;
    border-radius: 6px !important;
    font: 600 16px/1 Inter, sans-serif !important;
}

.hcpx-autocomplete-image img {
    width: 100% !important;
    height: 100% !important;
    padding: 2px !important;
    object-fit: contain !important;
    background: #fff !important;
    mix-blend-mode: normal !important;
}

.hcpx-autocomplete-copy { min-width: 0 !important; }
.hcpx-autocomplete-copy strong,
.hcpx-autocomplete-copy small {
    display: block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
.hcpx-autocomplete-copy strong {
    color: #35423c !important;
    font: 600 11px/1.25 Inter, sans-serif !important;
}
.hcpx-autocomplete-copy small {
    margin-top: 3px !important;
    color: #7a8580 !important;
    font: 500 8.5px/1.2 Inter, sans-serif !important;
}
.hcpx-autocomplete-arrow {
    color: #8f654d !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

/* Strong final wishlist containment. ReHub's native engine remains in the
   DOM for its real JS/persistence, but its checkbox/count/text can never
   participate in the custom card layout. */
.hcpx-card-media > .hcpx-wishlist {
    position: absolute !important;
    top: 11px !important;
    right: 11px !important;
    z-index: 50 !important;
    width: 40px !important;
    height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
    overflow: hidden !important;
}

.hcpx-card-media > .hcpx-wishlist > .hcpx-wishlist-engine {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 1px !important;
    height: 1px !important;
    max-width: 1px !important;
    max-height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(100%) !important;
}

.hcpx-card-media > .hcpx-wishlist > .hcpx-wishlist-engine,
.hcpx-card-media > .hcpx-wishlist > .hcpx-wishlist-engine * {
    color: transparent !important;
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    pointer-events: none !important;
}

@media (max-width: 767px) {
    .hcpx-budget-field,
    .hcpx-sort-field {
        width: 100%;
        min-width: 0;
    }

    .hcpx-card-media > .hcpx-wishlist {
        top: 7px !important;
        right: 7px !important;
        width: 34px !important;
        height: 34px !important;
        max-width: 34px !important;
        max-height: 34px !important;
    }

    .hcpx-autocomplete {
        left: -9px !important;
        right: -9px !important;
        top: calc(100% + 8px) !important;
    }
}


/* Ensure archive autocomplete can visually escape the toolbar. */
.hcpx-archive-tools {
    overflow: visible !important;
}
.hcpx-search-field {
    z-index: 20 !important;
    overflow: visible !important;
}
