/* ── Specialty search cards ─────────────────────────────── */
/* ── Search sidebar label and input font size ───────────── */
.tf-filter-sidebar label,
.tf-filter-sidebar .text-button {
    font-size: 14px !important;
}

.tf-filter-sidebar input,
.tf-filter-sidebar select,
.tf-filter-sidebar .form-select {
    font-size: 14px !important;
}
/* ── Listing action buttons ──────────────────────────────── */
.properties-title .list-action a {
    height: auto !important;
    width: auto !important;
    border: none !important;
    border-radius: 0 !important;
    display: inline-flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 15px !important;
    padding: 8px 12px !important;
}

.properties-title .list-action .icon,
.properties-title .list-action i {
    font-size: 18px !important;
}

.properties-title .list-action li.text-button {
    display: flex !important;
    align-items: center !important;
}

/* ── Properties sticky nav offset ───────────────────────── */
.properties-menut-list {
    position: sticky !important;
    top: 0px !important;
    z-index: 99998 !important;
    background: #fff !important;
    border-bottom: 1px solid #e8e8e8 !important;
}
.specialty-card {
    display: block;
    padding: 28px 24px;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    background: #fff;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
    height: 100%;
}

.specialty-card:hover {
    border-color: var(--primary-color, #c8d400);
    box-shadow: 0 8px 32px rgba(0,0,0,0.10);
    transform: translateY(-4px);
    color: inherit;
    text-decoration: none;
}

.specialty-icon {
    font-size: 32px;
    margin-bottom: 16px;
    display: block;
}

.specialty-card h5 {
    margin-bottom: 8px;
    color: #1a1a1a;
}

.specialty-card .link-arrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 16px;
    font-size: 14px;
    font-weight: 600;
    color: var(--primary-color, #c8d400);
}

/* ── Quick search tags ──────────────────────────────────── */
.tag-link {
    display: inline-block;
    padding: 4px 12px;
    border: 1px solid #e0e0e0;
    border-radius: 20px;
    font-size: 13px;
    color: #555;
    text-decoration: none;
    transition: all 0.2s ease;
}

.tag-link:hover {
    border-color: #eb4d4d;
    color: #eb4d4d;
    text-decoration: none;
}

/* ── Mobile offcanvas nav — above backdrop (styles.css sets backdrop to 99999) ── */
#menu-mobile {
    z-index: 100000;
}

/* ── Mobile nav link sizing ─────────────────────────────── */
#menu-mobile .nav-mobile {
    list-style: none;
    padding: 0;
    margin: 0;
}
#menu-mobile .nav-mobile li a {
    display: block;
    padding: 14px 8px;
    font-size: 17px;
    font-weight: 500;
    border-bottom: 1px solid #f0f0f0;
    color: inherit;
    text-decoration: none;
}
#menu-mobile .nav-mobile li a:hover {
    color: #eb4d4d;
}

/* ── Search bar wrap ────────────────────────────────────── */
.search-bar-wrap {
    background: #fff;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.08);
    margin-top: 40px;
    position: relative;
    z-index: 10;
}

.search-bar-form .search-field {
    position: relative;
    flex: 1;
}

.search-bar-form .search-field i {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #999;
    font-size: 18px;
}

.search-bar-form .form-control {
    padding-left: 44px;
    height: 52px;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
    font-size: 15px;
}

.search-bar-form .form-control:focus {
    border-color: var(--primary-color, #c8d400);
    box-shadow: none;
    outline: none;
}

/* ── VOW Auth card ──────────────────────────────────────── */
.vow-auth-card {
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e8e8e8;
    padding: 36px 32px;
    margin: 40px auto;
    box-shadow: 0 4px 24px rgba(0,0,0,0.06);
}
.vow-auth-header {
    margin-bottom: 24px;
}
.vow-auth-error {
    background: #fff5f5;
    border-left: 3px solid #eb4d4d;
    color: #c0392b;
    padding: 10px 14px;
    border-radius: 4px;
    font-size: 14px;
    margin-bottom: 20px;
}
.vow-auth-success {
    background: #f0faf0;
    border-left: 3px solid #27ae60;
    color: #1e8449;
    padding: 10px 14px;
    border-radius: 4px;
    font-size: 14px;
    margin-bottom: 20px;
}
.vow-auth-form .vow-field {
    margin-bottom: 16px;
}
.vow-label {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 14px;
    font-weight: 500;
    color: #333;
    margin-bottom: 6px;
}
.vow-label-link {
    font-size: 13px;
    font-weight: 400;
    color: #eb4d4d;
    text-decoration: none;
}
.vow-label-link:hover { text-decoration: underline; }
.vow-input {
    display: block;
    width: 100%;
    height: 46px;
    padding: 10px 14px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 15px;
    transition: border-color 0.2s;
}
.vow-input:focus {
    border-color: #eb4d4d;
    outline: none;
    box-shadow: 0 0 0 3px rgba(235,77,77,0.1);
}
.vow-check-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    color: #444;
    cursor: pointer;
}
.vow-check-label input[type="checkbox"] {
    margin-top: 2px;
    flex-shrink: 0;
    accent-color: #eb4d4d;
}
.vow-auth-footer {
    text-align: center;
    margin-top: 20px;
    font-size: 14px;
    color: #666;
}
.vow-auth-footer a { color: #eb4d4d; text-decoration: none; }
.vow-auth-footer a:hover { text-decoration: underline; }

/* ── VOW My Account ─────────────────────────────────────── */
.vow-account-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    background: #fafafa;
}
.vow-account-card-icon {
    font-size: 22px;
    color: #eb4d4d;
    width: 40px;
    text-align: center;
}
.vow-account-card-label {
    font-size: 13px;
    color: #888;
    margin: 0 0 2px;
}
.vow-account-card-link {
    font-size: 14px;
    font-weight: 500;
    color: #eb4d4d;
    text-decoration: none;
}
.vow-account-card-link:hover { text-decoration: underline; }
.vow-account-details { margin-top: 8px; }
.vow-account-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.vow-account-table tr { border-bottom: 1px solid #f0f0f0; }
.vow-account-table th {
    width: 110px;
    padding: 10px 0;
    font-weight: 500;
    color: #888;
    text-align: left;
}
.vow-account-table td { padding: 10px 0; color: #333; }

/* ── Listing gallery: cap portrait images at 660px so object-fit:cover crops correctly ── */
.properties-hero .thumb-main img {
    max-height: 660px;
    width: 100%;
}

/* ── Buttons: white text on red, hover → black bg + white text ── */
.tf-btn span:not(.bg-effect) {
    color: #fff !important;
}
.tf-btn:hover span:not(.bg-effect),
.tf-btn.btn-bg-1:hover span {
    color: #fff !important;
}
/* btn-bg-white is used on dark sections — keep text dark so it reads on white bg */
.tf-btn.btn-bg-white span:not(.bg-effect) {
    color: var(--Text-primary) !important;
}
.tf-btn.btn-bg-white:hover span {
    color: #fff !important;
}

/* ── Search result list cards: white background box + more spacing ── */
.wrap-list.d-grid {
    gap: 40px !important;
}
.card-house.style-list.v3 {
    background: #fff !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 10px !important;
    box-shadow: 0 2px 14px rgba(0,0,0,0.07) !important;
    padding: 28px !important;
}

/* ── All listing cards: white background + subtle shadow ─── */
/* Applies to grid, niche pages, similar properties, and anywhere card-house is used */
.card-house.style-default {
    background: #fff;
    border-radius: 10px;
    border: 1px solid #e8e8e8;
    box-shadow: 0 2px 14px rgba(0,0,0,0.07);
    padding-bottom: 16px;
    overflow: hidden;
}

/* ── Property detail Interior values: right-align + wrap long text ── */
.col-utility .item {
    align-items: flex-start !important;
}
.col-utility .item .text-button {
    text-align: right;
    flex: 1;
    min-width: 0;
    word-break: break-word;
    padding-left: 16px;
}

/* ── Free Access nav button (btn-bg-primary-2) hover fix ── */
/* Luminor bg-effect animates in — override to darker red so white text stays readable */
.tf-btn.btn-bg-primary-2 .bg-effect {
    background: #c0392b !important;
}
