/* ═══════════════════════════════════════════════════════════
   R33 Filters — Airbnb style (white, thick borders, bold text)
   ═══════════════════════════════════════════════════════════ */

/* ── Control bar container ─────────────────────────────── */
.elementor-element-709c268 {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
    margin-bottom: -14px !important;
}

/* Widget sizing */
.elementor-element-f9ce81d { flex: 0 0 50% !important; max-width: 50% !important; }
.elementor-element-5e3aae3,
.r33-view-saved { flex: 1 1 0 !important; min-width: 0 !important; }

/* Kill inner spacing */
.elementor-element-709c268 .elementor-widget-container,
.elementor-element-709c268 .geodir-save-search-container,
.elementor-element-709c268 .geodir-save-search-wrap,
.elementor-element-709c268 .geodir-save-search-btn-wrap {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
}

/* ── ALL buttons — white, thick border, black text ─────── */
.r33-filter-btn,
.elementor-element-709c268 .geodir-save-search-btn,
.elementor-element-709c268 .geodir-save-search-btn.btn,
.elementor-element-709c268 .geodir-save-search-btn.btn.btn-primary,
.elementor-element-709c268 .geodir-save-search-btn.btn.btn-sm,
.elementor-element-709c268 .r33-view-saved button,
.elementor-element-709c268 .r33-view-saved a,
.elementor-element-709c268 .r33-view-saved .btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    width: 100% !important;
    height: 100% !important;
    padding: 6px 12px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    letter-spacing: 0.6px !important;
    text-transform: uppercase !important;
    color: #eee !important;
    background: linear-gradient(135deg, #111 0%, #1a0f10 50%, #111 100%) !important;
    background-image: none !important;
    border: 2px solid #3d1520 !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    outline: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transform: none !important;
    letter-spacing: 0.3px !important;
    white-space: nowrap !important;
    -webkit-tap-highlight-color: transparent;
}

/* Hover */
.r33-filter-btn:hover,
.elementor-element-709c268 .geodir-save-search-btn:hover,
.elementor-element-709c268 .r33-view-saved button:hover,
.elementor-element-709c268 .r33-view-saved a:hover {
    background: #f7f7f7 !important;
    border-color: #000 !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Focus/active — no blue */
.r33-filter-btn:focus,
.r33-filter-btn:focus-visible,
.r33-filter-btn:active,
.elementor-element-709c268 .geodir-save-search-btn:focus,
.elementor-element-709c268 .geodir-save-search-btn:active {
    background: #fff !important;
    color: #111 !important;
    outline: none !important;
    box-shadow: none !important;
    border-color: #222 !important;
}

/* Active filter button — filled black */
.r33-filter-btn.is-open {
    background: #111 !important;
    color: #fff !important;
    border-color: #111 !important;
}

/* Gold icons */
.r33-filter-icon { flex-shrink: 0; color: #caa84b; width: 16px !important; height: 16px !important; }
.elementor-element-709c268 .geodir-save-search-btn .fas {
    color: #caa84b !important;
}

/* ═══════════════════════════════════════════════════════════
   Filter Bar — chips + dropdowns (Airbnb style)
   ═══════════════════════════════════════════════════════════ */

/* Tighten container */
.elementor-element-c9373e6 { padding: 0 !important; margin: 0 !important; }
.elementor-element-c9373e6 .elementor-widget-container,
.elementor-element-c9373e6 .elementor-shortcode { padding: 0 !important; margin: 0 !important; }

/* Bar — hidden by default */
.r33-fb {
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 0;
    padding: 10px 12px;
    margin-top: 0;
    width: 100%;
}
.r33-fb.is-visible { display: flex; }

/* Separator */
.r33-fb-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    flex-wrap: wrap;
}
.r33-fb-dropdowns { margin-bottom: 11px; }

/* ── Chips — white, thick border ───────────────────────── */
.r33-fb-dd-btn,
.r33-fb-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    background: #fff;
    border: 2px solid #222;
    border-radius: 0;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: #111;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: all 0.15s ease;
    line-height: 1.3;
}
.r33-fb-dd-btn:hover,
.r33-fb-tag:hover {
    background: #f7f7f7;
    border-color: #000;
}

/* Active chip — filled black */
.r33-fb-dd.is-active .r33-fb-dd-btn,
.r33-fb-tag.is-active {
    background: #111;
    color: #fff;
    border-color: #111;
}

.r33-fb-arrow { font-size: 17px; opacity: 0.7; color: #caa84b; }

.r33-fb-cnt { font-weight: 500; opacity: 1; color: #888; font-size: 13px; }
.r33-fb-tag.is-active .r33-fb-cnt { opacity: 0.7; color: #fff; }

/* ── Dropdown panel — white, clean ─────────────────────── */
.r33-fb-dd { position: relative; flex-shrink: 0; }

.r33-fb-panel {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 50%;
    transform: translateX(-50%);
    min-width: 170px;
    max-height: 280px;
    overflow-y: auto;
    background: #fff;
    border: 2px solid #222;
    border-radius: 0;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
    padding: 6px;
    z-index: 500;
}
.r33-fb-dd.is-open .r33-fb-panel { display: block; }

.r33-fb-opt {
    display: block;
    width: 100%;
    padding: 8px 12px;
    border: none;
    background: none;
    text-align: left;
    font-size: 13px;
    font-weight: 500;
    color: #333;
    border-radius: 6px;
    cursor: pointer;
    white-space: nowrap;
}
.r33-fb-opt:hover { background: #f5f5f5; color: #111; }
.r33-fb-opt.is-sel {
    background: #111;
    color: #fff;
}

/* Hide old */
.r33-mf { display: none !important; }

/* ═══════════════════════════════════════════════════════════
   Mobile
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
    .elementor-element-709c268 {
        flex-wrap: nowrap !important;
        gap: 4px !important;
    }
    .elementor-element-f9ce81d {
        flex: 1 1 auto !important;
        max-width: none !important;
    }
    .elementor-element-5e3aae3,
    .r33-view-saved {
        flex: 0 0 auto !important;
        max-width: none !important;
    }
    .r33-fb {
        justify-content: flex-start;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding: 6px 8px;
        margin-top: 4px;
    }
    .r33-fb::-webkit-scrollbar { display: none; }
    .r33-fb-dd-btn,
    .r33-fb-tag,
    .r33-filter-btn,
    .elementor-element-709c268 .geodir-save-search-btn,
    .elementor-element-709c268 .geodir-save-search-btn.btn,
    .elementor-element-709c268 .geodir-save-search-btn.btn.btn-primary,
    .elementor-element-709c268 .geodir-save-search-btn.btn.btn-sm,
    .elementor-element-709c268 .geodir-saved-search-btn-wrap .btn,
    .elementor-element-709c268 .r33-view-saved button,
    .elementor-element-709c268 .r33-view-saved .btn {
        height: 36px !important;
        padding: 0 10px !important;
        font-size: 10px !important;
        line-height: 36px !important;
        border-width: 1.5px !important;
        box-sizing: border-box !important;
    }
    .r33-fb-panel {
        position: fixed;
        top: auto; bottom: 0; left: 0; right: 0;
        min-width: 100%; max-height: 60vh;
        border-radius: 16px 16px 0 0;
        padding: 8px; transform: none;
    }
    .r33-fb-opt { padding: 12px 16px; font-size: 15px; }
}


/* ── NUKE ALL BLUE ─────────────────────────────────────── */
.r33-filter-btn,
.r33-filter-btn:link,
.r33-filter-btn:visited,
.r33-filter-btn:hover,
.r33-filter-btn:focus,
.r33-filter-btn:focus-visible,
.r33-filter-btn:focus-within,
.r33-filter-btn:active,
.r33-filter-btn:target,
button.r33-filter-btn,
#r33FilterToggle,
#r33FilterToggle:focus,
#r33FilterToggle:active,
#r33FilterToggle:focus-visible {
    background: #fff !important;
    background-color: #fff !important;
    color: #111 !important;
    border-color: #222 !important;
    outline: 0 !important;
    outline-color: transparent !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
}
.r33-filter-btn.is-open,
#r33FilterToggle.is-open {
    background: #f0f0f0 !important;
    background-color: #f0f0f0 !important;
    color: #111 !important;
    border-color: #000 !important;
}

/* ── Shrink silhouette on mobile ────────────────────────── */
@media (max-width: 768px) {
    .r33-location-hero .elementor-shortcode::after {
        width: 152px !important;
        height: 152px !important;
        opacity: 0.08 !important;
    }
}

/* ── GD save/view buttons — keep white ─────────────────── */
.elementor-element-709c268 .geodir-save-search-btn,
.elementor-element-709c268 .geodir-save-search-btn.btn,
.elementor-element-709c268 .geodir-save-search-btn.btn.btn-primary,
.elementor-element-709c268 .geodir-save-search-btn.btn.btn-sm,
.elementor-element-709c268 .geodir-saved-search-btn-wrap .btn,
.elementor-element-709c268 .r33-view-saved button,
.elementor-element-709c268 .r33-view-saved .btn {
    background: #fff !important;
    background-image: none !important;
    color: #111 !important;
    border-color: #222 !important;
}
.elementor-element-709c268 .geodir-save-search-btn:hover,
.elementor-element-709c268 .geodir-saved-search-btn-wrap .btn:hover,
.elementor-element-709c268 .r33-view-saved button:hover,
.elementor-element-709c268 .r33-view-saved .btn:hover {
    background: #f7f7f7 !important;
    color: #111 !important;
    border-color: #000 !important;
}
.elementor-element-709c268 .geodir-save-search-btn .fas {
    color: #caa84b !important;
}


/* ── NUKE BLUE on filter bar elements ──────────────────── */
.r33-fb button:focus,
.r33-fb button:focus-visible,
.r33-fb button:active,
.r33-fb-dd-btn:focus,
.r33-fb-dd-btn:focus-visible,
.r33-fb-dd-btn:active,
.r33-fb-tag:focus,
.r33-fb-tag:focus-visible,
.r33-fb-tag:active,
.r33-fb-opt:focus,
.r33-fb-opt:focus-visible,
.r33-fb-opt:active {
    outline: none !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    background-color: inherit;
}
.r33-fb-dd-btn:focus,
.r33-fb-dd-btn:focus-visible {
    background: #fff !important;
    color: #111 !important;
    border-color: #222 !important;
}
.r33-fb-tag:focus,
.r33-fb-tag:focus-visible {
    background: #fff !important;
    color: #111 !important;
    border-color: #222 !important;
}
.r33-fb-tag.is-active:focus,
.r33-fb-tag.is-active:focus-visible {
    background: #111 !important;
    color: #fff !important;
    border-color: #111 !important;
}
.r33-fb-opt:focus,
.r33-fb-opt:focus-visible {
    background: #f5f5f5 !important;
    color: #111 !important;
}

/* ── Force mobile order: hero first, toolbar below ─────── */
@media (max-width: 767px) {
    .elementor-element-8317bf6 { order: 1 !important; }
    .elementor-element-709c268 { order: 2 !important; }
    .elementor-element-c9373e6 { order: 3 !important; }
}




/* Mobile: rounded toolbar buttons */
@media (max-width: 767px) {
    .r33-filter-btn,
    button.r33-filter-btn,
    .elementor-element-709c268 .geodir-save-search-btn,
    .elementor-element-709c268 .geodir-save-search-btn.btn,
    .elementor-element-709c268 .geodir-save-search-btn.btn.btn-primary,
    .elementor-element-709c268 .geodir-save-search-btn.btn.btn-sm,
    .elementor-element-709c268 .r33-view-saved button,
    .elementor-element-709c268 .r33-view-saved a,
    .elementor-element-709c268 .r33-view-saved .btn,
    .r33-filter-bar__btn {
        border-radius: 15px !important;
    }
}
