body.single-listings .listings-footer .btn {
   margin-top: 2rem;
}

body.single-listings #information h1 {
    font-size: var(--font-size-lg);
    margin-bottom: 0.75rem;
}

body.single-listings #information .listing_price {
    margin-bottom: 0.5rem;
}

body.single-listings #information .listing_mls {
    margin-bottom: 0.75rem;
}

body.single-listings .schedule_viewing_box_item,
body.single-listings .listing_ad_cta_box {
    border: 0 !important;
    box-shadow: none !important;
}

/* "Is this your listing?" — match inquire sidebar: dark panel, red CTA, 10px radius */
body.single-listings .listing_ad_cta_box {
    background-color: var(--secondary-blue);
    border-radius: 10px;
    overflow: hidden;
}

body.single-listings .listing_ad_cta_box .card-content {
    text-align: center;
    padding: 1.25em 1em;
    color: #fff;
}

body.single-listings .listing_ad_cta_box .card-content .h4 {
    color: #fff;
    display: block;
    margin-bottom: 0.75rem;
}

body.single-listings .listing_ad_cta_box .join-link.btn-secondary {
    width: 100%;
    box-sizing: border-box;
    padding: 0.5em 1.5em;
    margin-top: 0.25em;
    margin-bottom: 0;
    background-color: var(--accent-red) !important;
    border: 1px solid var(--accent-red) !important;
    color: #fff !important;
    font-family: Inter, sans-serif;
    border-radius: 10px !important;
    text-transform: uppercase;
    font-weight: 700;
    box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.3);
    transition: background var(--transition-fast) ease-out, border-color var(--transition-fast) ease-out;
    text-decoration: none;
}

body.single-listings .listing_ad_cta_box .join-link.btn-secondary:hover {
    background-color: var(--red-dark) !important;
    border-color: var(--red-dark) !important;
    color: #fff !important;
}

body.single-listings .schedule_viewing_box_item .realtor-card.paid-realtor,
body.single-listings .schedule_viewing_box_item .realtor-card.generic-realtor {
    background-image: none !important;
    padding-top: 0 !important;
    overflow: hidden;
}

body.single-listings .schedule_viewing_box_item .realtor-card.paid-realtor .realtor-card-image {
    display: block;
    width: 100%;
    object-fit: cover;
    aspect-ratio: 3 / 2;
    object-position: center 20%;
}

body.single-listings .schedule_viewing_box_item .realtor-card.paid-realtor .card-form-wrap,
body.single-listings .schedule_viewing_box_item .realtor-card.generic-realtor .card-form-wrap {
    display: flex;
    flex-direction: column;
    margin: 0 !important;
}

body.single-listings .schedule_viewing_box_item .realtor-card.paid-realtor .agent-contact-meta,
body.single-listings .schedule_viewing_box_item .realtor-card.generic-realtor .agent-contact-meta {
    display: flex;
    flex-direction: column;
    gap: 0;
    color: var(--blue-dark);
    margin-bottom: 0.75rem;
    align-items: center;
    text-align: center;
}

body.single-listings .schedule_viewing_box_item .realtor-card.paid-realtor .agent-contact-meta a,
body.single-listings .schedule_viewing_box_item .realtor-card.paid-realtor .agent-contact-meta i,
body.single-listings .schedule_viewing_box_item .realtor-card.generic-realtor .agent-contact-meta a,
body.single-listings .schedule_viewing_box_item .realtor-card.generic-realtor .agent-contact-meta i {
    color: var(--blue-dark);
}

body.single-listings .schedule_viewing_box_item .realtor-card.paid-realtor .agent-contact-header,
body.single-listings .schedule_viewing_box_item .realtor-card.generic-realtor .agent-contact-header {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    margin-bottom: 0.75rem !important;
    align-items: center;
    text-align: center;
}

body.single-listings .schedule_viewing_box_item .realtor-card.paid-realtor .agent-contact-header .agent-name,
body.single-listings .schedule_viewing_box_item .realtor-card.generic-realtor .agent-contact-header .agent-name {
    margin: 0;
    line-height: 1.2;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

body.single-listings .schedule_viewing_box_item .realtor-card.paid-realtor .agent-contact-header .agent-corp-prec,
body.single-listings .schedule_viewing_box_item .realtor-card.generic-realtor .agent-contact-header .agent-corp-prec {
    font-size: 0.85rem;
    opacity: 0.9;
}

body.single-listings .schedule_viewing_box_item .realtor-card.paid-realtor .agent-contact-header .broker,
body.single-listings .schedule_viewing_box_item .realtor-card.generic-realtor .agent-contact-header .broker {
    display: block;
    font-size: 0.9rem;
    margin: 0 !important;
    letter-spacing: 0;
}

body.single-listings .schedule_viewing_box_item .realtor-card.paid-realtor .agent-contact-row,
body.single-listings .schedule_viewing_box_item .realtor-card.generic-realtor .agent-contact-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    line-height: 1.2;
}

body.single-listings .schedule_viewing_box_item .realtor-card.paid-realtor .agent-contact-row + .agent-contact-row,
body.single-listings .schedule_viewing_box_item .realtor-card.generic-realtor .agent-contact-row + .agent-contact-row {
    margin-top: 0.2rem;
}

body.single-listings .schedule_viewing_box_item .realtor-card.paid-realtor .agent-contact-row i,
body.single-listings .schedule_viewing_box_item .realtor-card.generic-realtor .agent-contact-row i {
    width: 1rem;
    text-align: center;
    flex: 0 0 1rem;
}

body.single-listings .schedule_viewing_box_item .realtor-card.paid-realtor .card-form-wrap .gform_legacy_markup_wrapper,
body.single-listings .schedule_viewing_box_item .realtor-card.generic-realtor .card-form-wrap .gform_legacy_markup_wrapper {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

@media only screen and (min-width: 641px) {
    body.single-listings .schedule_viewing_box_item .realtor-card.paid-realtor .card-form-wrap .gform_legacy_markup_wrapper ul.gform_fields li.gfield,
    body.single-listings .schedule_viewing_box_item .realtor-card.generic-realtor .card-form-wrap .gform_legacy_markup_wrapper ul.gform_fields li.gfield {
        padding-right: 0 !important;
    }
}

body.single-listings .schedule_viewing_box_item .realtor-card.paid-realtor .card-form-wrap .gform_button.button,
body.single-listings .schedule_viewing_box_item .realtor-card.generic-realtor .card-form-wrap .gform_button.button {
    width: 100%;
    min-width: 300px;
    padding: 0.5em 1.5em;
    margin-bottom: 0;
    background-color: var(--accent-red) !important;
    border: 1px solid var(--accent-red) !important;
    color: #fff !important;
    font-family: Inter;
    border-radius: 10px !important;
    text-transform: uppercase;
    font-weight: 700;
    box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.3);
    transition: background var(--transition-fast) ease-out;
}

body.single-listings .schedule_viewing_box_item .realtor-card.paid-realtor .card-form-wrap .gform_button.button:hover,
body.single-listings .schedule_viewing_box_item .realtor-card.generic-realtor .card-form-wrap .gform_button.button:hover {
    background-color: var(--red-dark) !important;
    border-color: var(--red-dark) !important;
    color: #fff !important;
}

/* Inquire sidebar (#inquire_form): dark blue panel, white type, underlined inputs */
body.single-listings #inquire_form.schedule_viewing_box_item {
    background-color: var(--secondary-blue);
    border-radius: 10px;
    overflow: hidden;
}

body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.paid-realtor,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.generic-realtor {
    background-color: transparent !important;
    background-image: none !important;
}

body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.paid-realtor .card-form-wrap,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.generic-realtor .card-form-wrap {
    background: transparent !important;
    background-color: transparent !important;
    margin: 0 !important;
    padding: 1em 1em 1.25em;
}

body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.paid-realtor .card-content,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.generic-realtor .card-content {
    color: #fff;
}

body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.paid-realtor .agent-contact-meta,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.generic-realtor .agent-contact-meta {
    color: #fff;
}

body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.paid-realtor .agent-contact-meta a,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.paid-realtor .agent-contact-meta i,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.generic-realtor .agent-contact-meta a,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.generic-realtor .agent-contact-meta i {
    color: #fff;
}

body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.paid-realtor .agent-contact-header .agent-name,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.generic-realtor .agent-contact-header .agent-name,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.paid-realtor .agent-contact-header .agent-corp-prec,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.generic-realtor .agent-contact-header .agent-corp-prec,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.paid-realtor .agent-contact-header .broker,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.generic-realtor .agent-contact-header .broker {
    color: #fff;
}

body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.paid-realtor .card-form-wrap > .h5,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.generic-realtor .card-form-wrap > .h5 {
    color: #fff;
}

body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.paid-realtor .card-form-wrap .gform_legacy_markup_wrapper,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.generic-realtor .card-form-wrap .gform_legacy_markup_wrapper {
    color: #fff;
}

body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.paid-realtor .card-form-wrap .gfield_label,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.generic-realtor .card-form-wrap .gfield_label {
    color: #fff;
}

body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.paid-realtor .card-form-wrap .gform_legacy_markup_wrapper input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]):not([type="radio"]):not([type="checkbox"]),
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.generic-realtor .card-form-wrap .gform_legacy_markup_wrapper input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]):not([type="radio"]):not([type="checkbox"]),
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.paid-realtor .card-form-wrap .gform_legacy_markup_wrapper select,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.generic-realtor .card-form-wrap .gform_legacy_markup_wrapper select,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.paid-realtor .card-form-wrap .gform_legacy_markup_wrapper textarea,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.generic-realtor .card-form-wrap .gform_legacy_markup_wrapper textarea {
    background-color: transparent !important;
    color: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid #fff !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.paid-realtor .card-form-wrap .gform_legacy_markup_wrapper input::placeholder,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.paid-realtor .card-form-wrap .gform_legacy_markup_wrapper textarea::placeholder,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.generic-realtor .card-form-wrap .gform_legacy_markup_wrapper input::placeholder,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.generic-realtor .card-form-wrap .gform_legacy_markup_wrapper textarea::placeholder {
    color: #fff !important;
    opacity: 0.85;
}

body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.paid-realtor .card-form-wrap .gform_legacy_markup_wrapper select,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.generic-realtor .card-form-wrap .gform_legacy_markup_wrapper select {
    color: #fff !important;
}

body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.paid-realtor .card-form-wrap .gform_legacy_markup_wrapper select option,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.generic-realtor .card-form-wrap .gform_legacy_markup_wrapper select option {
    color: #1a1a1a;
    background-color: #fff;
}

body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.paid-realtor .card-form-wrap .gform_legacy_markup_wrapper input:-webkit-autofill,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.paid-realtor .card-form-wrap .gform_legacy_markup_wrapper input:-webkit-autofill:hover,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.paid-realtor .card-form-wrap .gform_legacy_markup_wrapper input:-webkit-autofill:focus,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.generic-realtor .card-form-wrap .gform_legacy_markup_wrapper input:-webkit-autofill,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.generic-realtor .card-form-wrap .gform_legacy_markup_wrapper input:-webkit-autofill:hover,
body.single-listings #inquire_form.schedule_viewing_box_item .realtor-card.generic-realtor .card-form-wrap .gform_legacy_markup_wrapper input:-webkit-autofill:focus {
    -webkit-text-fill-color: #fff !important;
    caret-color: #fff;
    -webkit-box-shadow: 0 0 0 1000px var(--secondary-blue) inset !important;
    box-shadow: 0 0 0 1000px var(--secondary-blue) inset !important;
    transition: background-color 99999s ease-out 0s;
}

body.single-listings .listing_details {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

body.single-listings .listing_details > span {
    display: inline-block;
    position: relative;
    color: #fff;
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.2;
    white-space: nowrap;
    padding-right: 0.75rem;
}

body.single-listings .listing_details > span:not(:last-child)::after {
    content: "";
    height: 60%;
    top: 50%;
    bottom: 50%;
    position: absolute;
    border-right: 1px solid #fff;
    right: 0;
    margin: auto;
    pointer-events: none;
}

body.single-listings .listing_info_container {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

body.single-listings .listing_price_mls_container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

body.single-listings .listing_price_mls_container .separator {
    color: rgba(255, 255, 255, 0.7);
}

body.single-listings .listing_sub_info_container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

body.single-listings .listing_sub_info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

body.single-listings .listing_sub_info > span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

body.single-listings .listing_sub_info > span svg {
    width: 14px;
    height: 14px;
    display: inline-block;
}

@media (max-width: 640px) {
    body.single-listings .listing_details {
        gap: 0.5rem;
    }

    body.single-listings .listing_details > span {
        font-size: 0.9rem;
    }

    body.single-listings .listing_sub_info_container {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* Single listing banner: share row + actions layout + red CTAs (Inquire / Mortgage) */
body.single-listings div#banner_bar {
    position: relative;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 1.5rem;
}

body.single-listings div#banner_bar .banner_bar_share {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: min(100%, 12rem);
}

body.single-listings div#banner_bar .listing_actions {
    flex: 1 1 auto;
    justify-content: flex-end;
    flex-wrap: wrap;
    margin-left: auto;
}

body.single-listings div#banner_bar .listing_actions button.banner_bar_cta,
body.single-listings div#banner_bar .listing_actions #inquire_btn.banner_bar_cta,
body.single-listings div#banner_bar .listing_actions #mortgage_btn.banner_bar_cta {
    background-color: var(--accent-red) !important;
    border: 1px solid var(--accent-red) !important;
    color: #fff !important;
    border-radius: 10px !important;
    text-transform: uppercase;
    font-weight: 700;
    font-family: var(--font-body), sans-serif;
    padding: 0.5em 1.25em !important;
    min-height: 0 !important;
    height: auto !important;
    box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.22);
    transition: background var(--transition-fast) ease-out, border-color var(--transition-fast) ease-out, color var(--transition-fast) ease-out;
}

body.single-listings div#banner_bar .listing_actions button.banner_bar_cta:hover,
body.single-listings div#banner_bar .listing_actions #inquire_btn.banner_bar_cta:hover,
body.single-listings div#banner_bar .listing_actions #mortgage_btn.banner_bar_cta:hover {
    background-color: var(--red-dark) !important;
    border-color: var(--red-dark) !important;
    color: #fff !important;
}

@media screen and (min-width: 1025px) {
    body.single-listings div#banner_bar .listing_actions {
        margin: 0 !important;
        margin-left: auto !important;
        justify-content: flex-end !important;
    }
}

@media (max-width: 1198px) {
    body.single-listings div#banner_bar {
        flex-flow: row;
        align-items: center;
        justify-content: center;
        text-align: center;
    }
}

@media (max-width: 768px) {
    body.single-listings div#banner_bar {
        flex-direction: column;
        align-items: center;
    }

    body.single-listings div#banner_bar .listing_actions {
        margin-left: 0;
        justify-content: center;
        flex-wrap: wrap;
    }
}

@media (max-width: 640px) {
    body.single-listings div#banner_bar .listing_actions {
        justify-content: flex-start;
    }
}

/* Gallery / video toggles (reference-style — scoped so CTAs above stay red) */
body.single-listings div#banner_bar .banner_toggles {
    position: absolute;
    top: -4.5em;
    left: 0;
    z-index: 10;
    border-bottom: none !important;
}

body.single-listings div#banner_bar .listing_actions .banner_toggles button.button {
    background: var(--blue-dark);
    border: 1px solid var(--blue-dark);
    color: #fff;
    font-size: 12px;
    font-weight: 400;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4em 1.25em;
    text-transform: uppercase;
    transition: background var(--transition-fast) ease-out, border-color var(--transition-fast) ease-out, color var(--transition-fast) ease-out;
}

body.single-listings div#banner_bar .listing_actions .banner_toggles button.button:hover,
body.single-listings div#banner_bar .listing_actions .banner_toggles button.button:focus,
body.single-listings div#banner_bar .listing_actions .banner_toggles button.button.active {
    background: #fff;
    border: 1px solid var(--blue-dark);
    color: var(--blue-dark);
}

body.single-listings div#banner_bar .listing_actions .banner_toggles button.button .icon svg {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
}