/* BCASW Climax Modern V3
   Replacement for all earlier directory-only patches.

   Scope:
   - Header styling is global across Climax pages.
   - Shared listing styling follows the actual listing/search markup, so Jobs,
     Webinar / Course, Social Worker, and future listing categories inherit it.
   - Listing detail styling applies to body.view-details-page.
   - The theme's container width is preserved. No custom max-width or desktop
     grid replacement is used.
   - Native search-field borders, select dropdowns, focus behaviour, and opened
     select menus are intentionally left to the theme.
   - The footer is not targeted anywhere in this file.
*/

:root {
    --bcasw-green: #aab800;
    --bcasw-green-dark: #788300;
    --bcasw-green-soft: #f4f6df;
    --bcasw-teal: #123a3e;
    --bcasw-ink: #252b32;
    --bcasw-text: #4f5962;
    --bcasw-muted: #7d8790;
    --bcasw-line: #dde3e6;
    --bcasw-line-soft: #edf0f2;
    --bcasw-page: #f7f9fa;
    --bcasw-white: #fff;
    --bcasw-radius: 14px;
    --bcasw-shadow: 0 7px 22px rgba(18, 58, 62, .06);
    --bcasw-shadow-hover: 0 12px 28px rgba(18, 58, 62, .10);
}

/* =========================================================
   GLOBAL HEADER
   Header background colours remain controlled by the theme.
========================================================= */

.page-header {
    position: relative;
    z-index: 50;
    border-bottom: 1px solid rgba(18, 58, 62, .09);
    box-shadow: 0 4px 16px rgba(18, 58, 62, .04);
}

.page-header .top-header.content-padding {
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: 1px solid rgba(18, 58, 62, .08);
}

.page-header .top-header > .point1 > .d-flex {
    min-height: 42px;
    align-items: center;
    gap: 10px;
}

.page-header .main-menu,
.page-header .menu,
.page-header .menu-content {
    min-width: 0;
    align-items: center;
}

.page-header .menu-content {
    display: flex;
    align-items: center;
    gap: 5px;
}

.page-header .menu-content > a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    margin: 0 !important;
    padding: 0 10px !important;
    color: var(--bcasw-ink) !important;
    border: 1px solid transparent !important;
    border-radius: 7px !important;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.page-header .menu-content > a:hover {
    color: var(--bcasw-teal) !important;
    background: rgba(18, 58, 62, .045) !important;
    border-color: rgba(18, 58, 62, .07) !important;
}

.page-header .menu-content > a.active {
    color: var(--bcasw-teal) !important;
    background: var(--bcasw-green-soft) !important;
    border-color: transparent !important;
    box-shadow: inset 0 -2px 0 var(--bcasw-green);
}

.page-header .user-navbar-right {
    align-items: center;
    gap: 8px;
    margin-left: auto;
}

/* Upper-row duplicates that were crossed out. */
.page-header .top-header .menu .button.add-property,
.page-header #theme-switcher {
    display: none !important;
}

.page-header .top-header .circle > .default {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 10px !important;
    border: 1px solid rgba(18, 58, 62, .10);
    border-radius: 9px !important;
}

.page-header .top-navigation {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

.page-header .top-navigation > .point1 > .d-flex {
    align-items: center !important;
    column-gap: 15px !important;
    row-gap: 10px !important;
}

.page-header #logo {
    flex: 0 0 220px !important;
    width: 220px !important;
    max-width: 220px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.page-header #logo a {
    display: inline-flex;
    align-items: center;
}

.page-header #logo img {
    display: block;
    width: auto;
    max-width: 210px;
    max-height: 55px;
}

.page-header .top-navigation > .point1 > .d-flex > .d-flex.col-12.col-xl {
    flex: 1 1 460px !important;
    width: auto !important;
    min-width: 250px;
    margin: 0 !important;
    padding: 0 !important;
}

.page-header .smart-search__input {
    height: 46px !important;
    padding: 0 44px 0 15px !important;
    color: var(--bcasw-ink) !important;
    background: #fff !important;
    border: 1px solid #dce2e5 !important;
    border-radius: 11px !important;
    box-shadow: 0 3px 10px rgba(18, 58, 62, .03);
}

.page-header .smart-search_focus .smart-search__input,
.page-header .smart-search__input:focus {
    border-color: #c8d0d4 !important;
    box-shadow: 0 0 0 3px rgba(18, 58, 62, .055) !important;
    outline: none !important;
}

.page-header .smart-search__results-wrapper {
    margin-top: 7px;
    overflow: hidden;
    border: 1px solid var(--bcasw-line);
    border-radius: 11px;
    box-shadow: var(--bcasw-shadow);
}

.page-header .user-navbar {
    align-items: center;
    margin: 0 !important;
    padding: 0 !important;
}

.page-header #user-navbar > .default {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 46px;
    min-width: 46px;
    height: 46px;
    min-height: 46px;
    padding: 0 !important;
    color: var(--bcasw-teal) !important;
    background: #fff !important;
    border: 1px solid #dce2e5 !important;
    border-radius: 11px !important;
}

.page-header #user-navbar > .default svg {
    fill: currentColor !important;
}

.page-header .button.add-property {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    height: 46px;
    min-height: 46px;
    margin: 0 !important;
    padding: 0 18px !important;
    border-radius: 11px !important;
    font-weight: 600;
    white-space: nowrap;
    box-shadow: 0 6px 15px rgba(18, 58, 62, .11);
    transition: transform .18s ease, box-shadow .18s ease;
}

.page-header .button.add-property:hover {
    transform: translateY(-1px);
    box-shadow: 0 9px 20px rgba(18, 58, 62, .14);
}

/* =========================================================
   SHARED LISTING PAGES
   Uses the original point1/container width and Bootstrap columns.
========================================================= */

body[class*="lt-"][class*="-page"] #wrapper {
    color: var(--bcasw-ink);
    background: var(--bcasw-page) !important;
}

/* Spacing only. Width and max-width are intentionally not changed. */
body[class*="lt-"][class*="-page"] #wrapper .inside-container {
    padding-top: 36px !important;
    padding-bottom: 62px !important;
}

body[class*="lt-"][class*="-page"] #content > h1 {
    margin: 0 0 18px !important;
    color: var(--bcasw-ink) !important;
    font-size: clamp(30px, 2.6vw, 40px) !important;
    font-weight: 600 !important;
    letter-spacing: -.025em;
    line-height: 1.15;
}

/* Filter box. Native controls are not restyled. */
body[class*="lt-"][class*="-page"] #wrapper aside.left > .side_block {
    overflow: hidden;
    padding: 0 !important;
    background: var(--bcasw-white) !important;
    border: 1px solid var(--bcasw-line) !important;
    border-radius: var(--bcasw-radius) !important;
    box-shadow: var(--bcasw-shadow);
}

body[class*="lt-"][class*="-page"] #wrapper aside.left > .side_block > h3 {
    margin: 0 !important;
    padding: 18px 19px !important;
    color: var(--bcasw-teal) !important;
    background: #fff !important;
    border-bottom: 1px solid var(--bcasw-line);
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.3;
}

body[class*="lt-"][class*="-page"] #wrapper aside.left .side_block_search,
body[class*="lt-"][class*="-page"] #wrapper aside.left .search-block-content {
    background: transparent !important;
}

body[class*="lt-"][class*="-page"] #wrapper aside.left .search-block-content {
    padding: 2px 19px 20px !important;
}

body[class*="lt-"][class*="-page"] #wrapper aside.left .search-item {
    margin: 0 !important;
    padding: 17px 0 !important;
    border-bottom: 1px solid var(--bcasw-line-soft);
}

body[class*="lt-"][class*="-page"] #wrapper aside.left .search-item:last-of-type {
    border-bottom: 0;
}

body[class*="lt-"][class*="-page"] #wrapper aside.left .search-item > .field {
    margin: 0 0 8px !important;
    color: #303941 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.35;
}

body[class*="lt-"][class*="-page"] #wrapper aside.left .search-item input[type="text"],
body[class*="lt-"][class*="-page"] #wrapper aside.left .search-item select {
    max-width: 100%;
}

body[class*="lt-"][class*="-page"] #wrapper aside.left .custom-input {
    display: block;
    margin: 0 0 8px !important;
}

body[class*="lt-"][class*="-page"] #wrapper aside.left .custom-input:last-child {
    margin-bottom: 0 !important;
}

body[class*="lt-"][class*="-page"] #wrapper aside.left .custom-input label,
body[class*="lt-"][class*="-page"] #wrapper aside.left .search-item > label {
    display: flex !important;
    align-items: flex-start;
    gap: 9px;
    margin: 0 !important;
    color: var(--bcasw-text) !important;
    font-size: 13px;
    line-height: 1.45;
    cursor: pointer;
}

body[class*="lt-"][class*="-page"] #wrapper aside.left .custom-input input[type="checkbox"],
body[class*="lt-"][class*="-page"] #wrapper aside.left .custom-input input[type="radio"],
body[class*="lt-"][class*="-page"] #wrapper aside.left .search-item > label input[type="checkbox"] {
    flex: 0 0 auto;
    margin-top: 2px;
    accent-color: var(--bcasw-green);
}

body[class*="lt-"][class*="-page"] #wrapper aside.left #refine_keyword_opt {
    display: inline-block;
    margin-top: 9px;
    color: var(--bcasw-green-dark) !important;
    font-size: 12px;
    font-weight: 600;
}

body[class*="lt-"][class*="-page"] #wrapper aside.left .search-button {
    display: grid;
    gap: 10px;
    padding-top: 19px;
}

body[class*="lt-"][class*="-page"] #wrapper aside.left .search-button input[type="submit"] {
    width: 100% !important;
    min-height: 44px;
    color: #fff !important;
    background: var(--bcasw-green) !important;
    border-color: var(--bcasw-green) !important;
    border-radius: 9px !important;
    font-weight: 600;
    box-shadow: 0 6px 14px rgba(114, 128, 0, .17);
}

body[class*="lt-"][class*="-page"] #wrapper aside.left .search-button input[type="submit"]:hover {
    background: var(--bcasw-green-dark) !important;
    border-color: var(--bcasw-green-dark) !important;
}

body[class*="lt-"][class*="-page"] #wrapper aside.left .search-button a {
    display: block;
    text-align: center;
    color: var(--bcasw-muted) !important;
    font-size: 13px;
    font-weight: 500;
}

/* View / sorting row. No full-width white pill. */
#controller_area .grid_navbar.listings-area {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 40px !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

#controller_area .grid_navbar .sorting {
    order: 1;
    position: relative;
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
}

#controller_area .grid_navbar .sorting .current {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    color: var(--bcasw-muted) !important;
    background: var(--bcasw-white) !important;
    border: 1px solid var(--bcasw-line) !important;
    border-radius: 10px !important;
    box-shadow: 0 3px 10px rgba(18, 58, 62, .035) !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
}

#controller_area .grid_navbar .sorting .current .link {
    color: var(--bcasw-teal) !important;
    font-weight: 700 !important;
}

#controller_area .grid_navbar .sorting .current .arrow {
    flex: 0 0 auto !important;
    margin: 0 0 0 2px !important;
    transform: scale(.72) !important;
    transform-origin: center !important;
}

#controller_area .grid_navbar .sorting .fields {
    width: 205px !important;
    min-width: 205px !important;
    max-width: 230px !important;
    overflow: hidden !important;
    margin-top: 6px !important;
    padding: 4px !important;
    background: #fff !important;
    border: 1px solid var(--bcasw-line) !important;
    border-radius: 9px !important;
    box-shadow: 0 8px 22px rgba(23, 48, 52, .10) !important;
}

#controller_area .grid_navbar .sorting .fields > li {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

#controller_area .grid_navbar .sorting .fields > li + li {
    margin-top: 2px !important;
}

#controller_area .grid_navbar .sorting .fields a {
    display: flex !important;
    align-items: center !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 7px 9px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
}

#controller_area .grid_navbar .sorting .fields a:hover,
#controller_area .grid_navbar .sorting .fields a.active {
    color: var(--bcasw-teal) !important;
    background: var(--bcasw-green-soft) !important;
}

#controller_area .grid_navbar .switcher {
    order: 2;
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

#controller_area .grid_navbar .switcher .buttons {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    gap: 5px !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    line-height: normal !important;
}

#controller_area .grid_navbar .switcher .buttons > div {
    box-sizing: border-box !important;
    display: inline-flex !important;
    flex: 0 0 38px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 9px !important;
    box-shadow: none !important;
}

#controller_area .grid_navbar .switcher .buttons > div:hover {
    background: #fff !important;
    border-color: var(--bcasw-line) !important;
}

#controller_area .grid_navbar .switcher .buttons > div.active {
    background: var(--bcasw-green-soft) !important;
    border-color: rgba(170, 184, 0, .34) !important;
}

/* Preserve the theme-built icons. */
#controller_area .grid_navbar .switcher .buttons > div > div {
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: scale(.90) !important;
    transform-origin: center !important;
}

/* Shared cards, including future listing categories using the same markup. */
#controller_area #listings {
    margin: 0 !important;
}

#controller_area #listings > article.item {
    margin: 0 0 15px !important;
    padding: 0 !important;
}

#controller_area #listings article.item .main-column {
    height: 100%;
    overflow: hidden;
    background: var(--bcasw-white) !important;
    border: 1px solid var(--bcasw-line) !important;
    border-radius: var(--bcasw-radius) !important;
    box-shadow: 0 5px 17px rgba(18, 58, 62, .05);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

#controller_area #listings article.item .main-column:hover {
    transform: translateY(-2px);
    border-color: rgba(170, 184, 0, .38) !important;
    box-shadow: var(--bcasw-shadow-hover);
}

/* Original no-picture state remains untouched. */
#controller_area #listings article.item .picture:not(.no-picture) {
    overflow: hidden;
    background: #eef1f2;
}

#controller_area #listings article.item .picture:not(.no-picture) > a {
    display: block;
    width: 100%;
    height: 100%;
}

#controller_area #listings article.item .picture:not(.no-picture) img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform .35s ease;
}

#controller_area #listings article.item .main-column:hover .picture:not(.no-picture) img {
    transform: scale(1.02);
}

#controller_area #listings article.item .favorite {
    top: 12px !important;
    right: 12px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 36px !important;
    height: 36px !important;
    overflow: hidden !important;
    isolation: isolate;
    color: var(--bcasw-teal) !important;
    background: rgba(255, 255, 255, .95) !important;
    border: 1px solid rgba(18, 58, 62, .10);
    border-radius: 50% !important;
    box-shadow: 0 5px 15px rgba(18, 58, 62, .11);
}

#controller_area #listings article.item .favorite svg,
#controller_area #listings article.item .favorite use {
    fill: currentColor !important;
}

#controller_area #listings article.item .favorite:hover {
    color: var(--bcasw-green-dark) !important;
    background: var(--bcasw-green-soft) !important;
}

#controller_area #listings article.item .favorite::before,
#controller_area #listings article.item .favorite::after,
#controller_area #listings article.item .favorite > *::before,
#controller_area #listings article.item .favorite > *::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

#controller_area #listings article.item .card-info {
    min-width: 0;
    min-height: 190px;
    padding: 19px 21px 17px !important;
}

#controller_area #listings article.item .card-info .title {
    margin: 0 0 11px !important;
    padding-right: 8px;
}

#controller_area #listings article.item .card-info .link-large {
    color: var(--bcasw-ink) !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    letter-spacing: -.012em;
    line-height: 1.32;
}

#controller_area #listings article.item .card-info .link-large:hover {
    color: var(--bcasw-green-dark) !important;
}

#controller_area #listings article.item .fields > div {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
}

#controller_area #listings article.item .fields span {
    display: flex !important;
    align-items: flex-start;
    width: auto !important;
    max-width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--bcasw-text) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    line-height: 1.45;
}

#controller_area #listings article.item .fields span:first-child {
    display: inline-flex !important;
    width: auto !important;
    padding: 4px 9px !important;
    color: var(--bcasw-teal) !important;
    background: var(--bcasw-green-soft) !important;
    border: 1px solid rgba(170, 184, 0, .28) !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 700;
    line-height: 1.2;
}

#controller_area #listings article.item .fields span:not(:first-child)::before {
    content: "";
    flex: 0 0 auto;
    width: 5px;
    height: 5px;
    margin: 7px 9px 0 1px;
    background: var(--bcasw-green);
    border-radius: 50%;
}

#controller_area #listings article.item .useful {
    margin-top: auto !important;
    padding-top: 13px;
    padding-right: 88px;
}

#controller_area #listings article.item .card-info_posted-date {
    color: var(--bcasw-muted) !important;
    font-size: 12px;
}

#controller_area #listings article.item .card-info_posted-date svg {
    width: 14px;
    height: 14px;
    opacity: .72;
}

#controller_area #listings article.item .system {
    position: absolute;
    right: 17px;
    bottom: 14px;
    z-index: 3;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

#controller_area #listings article.item .system > div,
#controller_area #listings article.item .nav-column {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

#controller_area #listings article.item .nav-column .call-owner {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: auto !important;
    min-width: 70px;
    height: 37px !important;
    margin: 0 !important;
    padding: 0 11px !important;
    color: #fff !important;
    background: var(--bcasw-teal) !important;
    border: 1px solid var(--bcasw-teal) !important;
    border-radius: 9px !important;
    box-shadow: 0 5px 13px rgba(18, 58, 62, .16);
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    visibility: visible !important;
    opacity: 1 !important;
}

#controller_area #listings article.item .nav-column .call-owner::after {
    content: "Call";
}

#controller_area #listings article.item .nav-column .call-owner svg {
    display: block !important;
    width: 15px !important;
    height: 15px !important;
    color: #fff !important;
    fill: currentColor !important;
    stroke: currentColor !important;
    visibility: visible !important;
    opacity: 1 !important;
}

#controller_area #listings article.item .nav-column .call-owner use {
    fill: currentColor !important;
    stroke: currentColor !important;
}

#controller_area #listings article.item .nav-column .call-owner:hover {
    color: var(--bcasw-teal) !important;
    background: var(--bcasw-green) !important;
    border-color: var(--bcasw-green) !important;
    transform: translateY(-1px);
}

#controller_area #listings.list article.item {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}

#controller_area #listings.list article.item .main-column {
    display: flex;
    min-height: 190px;
}

#controller_area #listings.list article.item .picture {
    flex: 0 0 220px;
    width: 220px;
    min-height: 190px;
}

#controller_area #listings.list article.item .card-info {
    flex: 1 1 auto;
}

#controller_area #listings.grid,
#controller_area #listings:not(.list) {
    margin-right: -8px !important;
    margin-left: -8px !important;
}

#controller_area #listings.grid > article.item,
#controller_area #listings:not(.list) > article.item {
    margin-bottom: 16px !important;
    padding-right: 8px !important;
    padding-left: 8px !important;
}

#controller_area #listings.grid article.item .picture,
#controller_area #listings:not(.list) article.item .picture {
    aspect-ratio: 5 / 4;
}

body[class*="lt-"][class*="-page"] #wrapper ul.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin-top: 22px !important;
}

body[class*="lt-"][class*="-page"] #wrapper ul.pagination .transit {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 41px;
    padding: 7px 12px !important;
    color: var(--bcasw-muted);
    background: #fff;
    border: 1px solid var(--bcasw-line);
    border-radius: 10px;
    font-size: 13px;
}

body[class*="lt-"][class*="-page"] #wrapper ul.pagination .navigator .button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 41px !important;
    min-width: 41px !important;
    height: 41px !important;
    padding: 0 !important;
    color: #fff !important;
    background: var(--bcasw-green) !important;
    border-color: var(--bcasw-green) !important;
    border-radius: 10px !important;
    font-size: 23px;
    line-height: 1;
}

/* =========================================================
   LISTING DETAIL PAGES
   Applies to Social Worker, Jobs, Webinar details, and future
   detail pages that use the same view-details template.
========================================================= */

body.view-details-page #wrapper {
    color: var(--bcasw-ink);
    background: var(--bcasw-page) !important;
}

body.view-details-page #wrapper .inside-container {
    padding-top: 30px !important;
    padding-bottom: 62px !important;
}

body.view-details-page #bread_crumbs {
    border-bottom: 1px solid var(--bcasw-line-soft);
    background: rgba(255, 255, 255, .72);
}

body.view-details-page #bread_crumbs > ul {
    padding-top: 11px !important;
    padding-bottom: 11px !important;
}

body.view-details-page #bread_crumbs li,
body.view-details-page #bread_crumbs ol,
body.view-details-page #bread_crumbs a {
    color: var(--bcasw-muted) !important;
    font-size: 12px !important;
}

body.view-details-page .listing-header {
    align-items: center;
    margin-bottom: 20px !important;
}

body.view-details-page .listing-header h1 {
    margin: 0 !important;
    color: var(--bcasw-ink) !important;
    font-size: clamp(30px, 3vw, 43px) !important;
    font-weight: 600 !important;
    letter-spacing: -.027em;
    line-height: 1.15;
}

body.view-details-page .listing-header .icons {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

body.view-details-page .listing-header .icons > a,
body.view-details-page .listing-header .icons > span {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    background: #fff !important;
    border: 1px solid var(--bcasw-line) !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 12px rgba(18, 58, 62, .045);
}

body.view-details-page .listing-header .icons > a:hover,
body.view-details-page .listing-header .icons > span:hover {
    background: var(--bcasw-green-soft) !important;
    border-color: rgba(170, 184, 0, .35) !important;
}

body.view-details-page .listing-details .main-section,
body.view-details-page .listing-details .content-section,
body.view-details-page aside.left .side_block.seller-short {
    background: #fff !important;
    border: 1px solid var(--bcasw-line) !important;
    border-radius: var(--bcasw-radius) !important;
    box-shadow: var(--bcasw-shadow);
}

body.view-details-page .listing-details .main-section {
    overflow: hidden;
    margin-bottom: 18px;
}

body.view-details-page .listing-details .gallery,
body.view-details-page .listing-details #media,
body.view-details-page .listing-details .gallery .preview {
    overflow: hidden;
    border-radius: var(--bcasw-radius) !important;
}

body.view-details-page .listing-details .gallery .preview {
    background: #eef1f2;
}

body.view-details-page .listing-details .gallery .preview img.default-picture {
    width: 100%;
    max-height: 570px;
    object-fit: contain;
    background: #f2f4f5;
}

body.view-details-page .listing-details .gallery .nav-buttons {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 12px !important;
    background: rgba(255, 255, 255, .96) !important;
    border-top: 1px solid var(--bcasw-line-soft);
}

body.view-details-page .listing-details .gallery .nav-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 12px !important;
    color: var(--bcasw-teal) !important;
    background: #fff !important;
    border: 1px solid var(--bcasw-line) !important;
    border-radius: 9px !important;
    font-size: 13px;
    font-weight: 600;
}

body.view-details-page .listing-details .gallery .nav-button:hover,
body.view-details-page .listing-details .gallery .nav-button.active {
    background: var(--bcasw-green-soft) !important;
    border-color: rgba(170, 184, 0, .35) !important;
}

body.view-details-page .listing-details .content-section {
    overflow: hidden;
    padding: 20px !important;
}

body.view-details-page .listing-fields > div + div {
    margin-top: 16px;
}

body.view-details-page .listing-fields .fieldset {
    overflow: hidden;
    background: #fff !important;
    border: 1px solid var(--bcasw-line) !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 14px rgba(18, 58, 62, .035);
}

body.view-details-page .listing-fields .fieldset > header {
    display: flex;
    align-items: center;
    min-height: 50px;
    margin: 0 !important;
    padding: 0 16px !important;
    color: var(--bcasw-teal) !important;
    background: #fbfcfc !important;
    border-bottom: 1px solid var(--bcasw-line-soft) !important;
    font-size: 17px !important;
    font-weight: 600 !important;
}

body.view-details-page .listing-fields .fieldset > header .arrow {
    margin-right: 10px !important;
}

body.view-details-page .listing-fields .fieldset > .body {
    padding: 4px 16px 10px !important;
}

body.view-details-page .listing-fields .table-cell {
    display: grid;
    grid-template-columns: minmax(150px, 34%) minmax(0, 1fr);
    gap: 18px;
    margin: 0 !important;
    padding: 13px 0 !important;
    border-bottom: 1px solid var(--bcasw-line-soft) !important;
}

body.view-details-page .listing-fields .table-cell:last-child {
    border-bottom: 0 !important;
}

body.view-details-page .listing-fields .table-cell .name {
    width: auto !important;
    margin: 0 !important;
    color: var(--bcasw-muted) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.45;
    text-transform: uppercase;
    letter-spacing: .035em;
}

body.view-details-page .listing-fields .table-cell .value {
    width: auto !important;
    margin: 0 !important;
    color: var(--bcasw-ink) !important;
    font-size: 14px !important;
    line-height: 1.65;
    overflow-wrap: anywhere;
}

body.view-details-page .listing-fields .table-cell.wide-field,
body.view-details-page .listing-fields .table-cell.textarea {
    grid-template-columns: 1fr;
    gap: 7px;
}

body.view-details-page .listing-fields .table-cell a {
    color: var(--bcasw-teal) !important;
    text-decoration-color: rgba(18, 58, 62, .28);
    text-underline-offset: 3px;
}

body.view-details-page .listing-fields .checkboxes {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 !important;
}

body.view-details-page .listing-fields .checkboxes > li {
    display: inline-flex !important;
    flex: 0 1 auto !important;
    width: auto !important;
    max-width: 100%;
    align-items: center;
    margin: 0 !important;
    padding: 7px 10px !important;
    color: var(--bcasw-teal) !important;
    background: var(--bcasw-green-soft) !important;
    border: 1px solid rgba(170, 184, 0, .25);
    border-radius: 999px;
    font-size: 13px;
    line-height: 1.3;
}

body.view-details-page .listing-fields .checkboxes > li svg {
    width: 13px;
    height: 10px;
    margin-right: 6px !important;
    fill: var(--bcasw-green-dark) !important;
}

body.view-details-page aside.left .side_block.seller-short {
    overflow: hidden;
    padding: 20px !important;
}

body.view-details-page aside.left .seller-info {
    margin-bottom: 17px !important;
}

body.view-details-page aside.left .seller-info .name {
    color: var(--bcasw-ink) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.35;
}

body.view-details-page aside.left .seller-info .type {
    margin-top: 5px;
    color: var(--bcasw-muted) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
}

body.view-details-page aside.left h3.cd-caption {
    margin: 0 0 10px !important;
    color: var(--bcasw-teal) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
}

body.view-details-page aside.left input.contact-owner,
body.view-details-page aside.left input.call-owner {
    min-height: 44px !important;
    border-radius: 9px !important;
    font-weight: 600 !important;
}

body.view-details-page aside.left input.contact-owner {
    color: #fff !important;
    background: var(--bcasw-green) !important;
    border-color: var(--bcasw-green) !important;
}

body.view-details-page aside.left input.call-owner {
    color: #fff !important;
    background: var(--bcasw-teal) !important;
    border-color: var(--bcasw-teal) !important;
}

body.view-details-page .listing-details-stat {
    align-items: center;
    justify-content: space-between;
    margin-top: 17px !important;
    padding: 13px 15px !important;
    color: var(--bcasw-muted) !important;
    background: #fbfcfc !important;
    border: 1px solid var(--bcasw-line-soft);
    border-radius: 10px;
    font-size: 12px;
}

body.view-details-page .listing-details-stat ul {
    margin: 0 !important;
}

body.view-details-page aside.middle .content_block,
body.view-details-page .middle .content_block {
    overflow: hidden;
    background: #fff !important;
    border: 1px solid var(--bcasw-line) !important;
    border-radius: var(--bcasw-radius) !important;
    box-shadow: var(--bcasw-shadow);
}

body.view-details-page aside.middle .content_block > h3,
body.view-details-page .middle .content_block > h3 {
    margin: 0 !important;
    padding: 17px 19px !important;
    color: var(--bcasw-teal) !important;
    background: #fbfcfc !important;
    border-bottom: 1px solid var(--bcasw-line-soft);
    font-size: 17px !important;
    font-weight: 600 !important;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1199px) {
    .page-header #logo {
        flex-basis: 195px !important;
        width: 195px !important;
        max-width: 195px !important;
    }

    .page-header #logo img {
        max-width: 185px;
    }
}

@media (max-width: 991px) {
    .page-header .top-navigation {
        padding-top: 13px !important;
        padding-bottom: 13px !important;
    }

    .page-header #logo {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
    }

    .page-header #logo img {
        max-width: 205px;
        max-height: 51px;
    }

    body[class*="lt-"][class*="-page"] #wrapper .inside-container {
        padding-top: 28px !important;
    }

    body[class*="lt-"][class*="-page"] #wrapper aside.left {
        z-index: 1000;
    }

    body[class*="lt-"][class*="-page"] #wrapper aside.left > .side_block {
        border-radius: 0 !important;
        box-shadow: none;
    }

    body.view-details-page .listing-header .icons {
        justify-content: flex-start;
        margin-top: 12px;
    }

    body.view-details-page aside.left {
        margin-top: 18px;
    }
}

@media (max-width: 767px) {
    .page-header .top-header > .point1 > .d-flex {
        min-height: 46px;
    }

    .page-header .menu-content > a {
        min-height: 38px;
        padding: 0 11px !important;
    }

    .page-header #logo img {
        max-width: 172px;
        max-height: 47px;
    }

    .page-header .smart-search__input,
    .page-header #user-navbar > .default,
    .page-header .button.add-property {
        height: 44px !important;
        min-height: 44px !important;
    }

    #controller_area .grid_navbar.listings-area {
        gap: 10px;
    }

    #controller_area .grid_navbar .switcher .buttons > div {
        flex-basis: 36px !important;
        width: 36px !important;
        min-width: 36px !important;
        max-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
    }

    #controller_area #listings.list article.item .main-column {
        display: block;
    }

    #controller_area #listings.list article.item .picture {
        width: 100%;
        min-height: 0;
        aspect-ratio: 5 / 4;
    }

    #controller_area #listings article.item .card-info {
        min-height: 0;
        padding: 17px 17px 16px !important;
    }

    #controller_area #listings article.item .system {
        right: 15px;
        bottom: 13px;
    }

    body.view-details-page .listing-header h1 {
        font-size: 30px !important;
    }

    body.view-details-page .listing-details .content-section {
        padding: 15px !important;
    }

    body.view-details-page .listing-fields .fieldset > .body {
        padding-right: 13px !important;
        padding-left: 13px !important;
    }

    body.view-details-page .listing-fields .table-cell {
        grid-template-columns: 1fr;
        gap: 5px;
        padding: 12px 0 !important;
    }

    body.view-details-page .listing-fields .checkboxes > li {
        border-radius: 9px;
    }
}

@media (max-width: 480px) {
    .page-header .menu-content > a {
        font-size: 13px;
    }

    #controller_area .grid_navbar .sorting .current {
        padding: 0 10px !important;
    }

    #controller_area .grid_navbar .sorting .fields {
        width: 190px !important;
        min-width: 190px !important;
    }

    body.view-details-page .listing-details .gallery .nav-buttons {
        align-items: stretch;
        flex-direction: column;
    }

    body.view-details-page .listing-details .gallery .map-group {
        display: flex;
        gap: 7px;
    }
}

/* =========================================================
   V3.1 DETAIL PAGE REBUILD
   The gallery sits beside the first information group. The
   remaining groups, statistics, and contact areas flow below.
========================================================= */

@media (min-width: 992px) {
    body.view-details-page .inside-container > .row:not(.listing-header) {
        display: grid !important;
        grid-template-columns: minmax(300px, .9fr) minmax(0, 1.1fr) !important;
        grid-auto-flow: row !important;
        gap: 20px 22px !important;
        align-items: start !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    body.view-details-page .inside-container > .row:not(.listing-header) > #content,
    body.view-details-page #content > #controller_area,
    body.view-details-page #controller_area > .listing-details,
    body.view-details-page .listing-details > .content-section,
    body.view-details-page .listing-details #area_listing,
    body.view-details-page .listing-details .listing-fields {
        display: contents !important;
    }

    body.view-details-page .listing-details > .main-section {
        grid-column: 1 !important;
        grid-row: 1 !important;
        align-self: start !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    body.view-details-page .listing-fields > div {
        grid-column: 1 / -1 !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    body.view-details-page .listing-fields > div:first-child {
        grid-column: 2 !important;
        grid-row: 1 !important;
        align-self: start !important;
    }

    body.view-details-page .inside-container > .row:not(.listing-header) > aside.left {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.view-details-page .listing-details-stat {
        grid-column: 1 / -1 !important;
    }
}

/* Remove empty wrappers that otherwise create odd gaps. */
body.view-details-page #content > #system_message:empty,
body.view-details-page .listing-details > .top-navigation:empty,
body.view-details-page .listing-details #area_listing > .d-flex:first-child:has(> .mb-3:only-child) {
    display: none !important;
}

/* Gallery card. Controls sit below the media instead of floating over it. */
body.view-details-page .listing-details .main-section {
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid var(--bcasw-line) !important;
    border-radius: var(--bcasw-radius) !important;
    box-shadow: var(--bcasw-shadow) !important;
}

body.view-details-page .listing-details .gallery,
body.view-details-page .listing-details #media {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    border-radius: 0 !important;
}

body.view-details-page .listing-details .gallery .preview,
body.view-details-page .listing-details .gallery .map-container {
    position: relative !important;
    order: 1 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
    overflow: hidden !important;
    background: #eef1f2 !important;
    border-radius: 0 !important;
}

body.view-details-page .listing-details .gallery .preview iframe {
    width: 100% !important;
    height: 100% !important;
}

body.view-details-page .listing-details .gallery .preview img.default-picture {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center 28% !important;
    background: #eef1f2 !important;
}

body.view-details-page .listing-details .gallery .nav-buttons {
    position: static !important;
    inset: auto !important;
    order: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 9px 11px !important;
    background: #fff !important;
    border-top: 1px solid var(--bcasw-line-soft) !important;
}

body.view-details-page .listing-details .gallery .nav-buttons .map-group {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
}

body.view-details-page .listing-details .gallery .nav-button {
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 11px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    line-height: 1 !important;
}

/* Each information group becomes its own clean card. */
body.view-details-page .listing-details .content-section {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.view-details-page .listing-fields > div + div {
    margin-top: 0 !important;
}

body.view-details-page .listing-fields .fieldset {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid var(--bcasw-line) !important;
    border-radius: var(--bcasw-radius) !important;
    box-shadow: var(--bcasw-shadow) !important;
}

body.view-details-page .listing-fields .fieldset > header {
    min-height: 54px !important;
    padding: 0 18px !important;
    color: var(--bcasw-teal) !important;
    background: #fbfcfc !important;
    border-bottom: 1px solid var(--bcasw-line-soft) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
}

body.view-details-page .listing-fields .fieldset > header .arrow {
    flex: 0 0 auto !important;
    margin-right: 10px !important;
}

body.view-details-page .listing-fields .fieldset > .body {
    padding: 5px 20px 10px !important;
}

body.view-details-page .listing-fields .fieldset > .body > div {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 28px !important;
    width: 100% !important;
    min-width: 0 !important;
}

body.view-details-page .listing-fields .table-cell {
    box-sizing: border-box !important;
    display: block !important;
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 14px 0 !important;
    text-align: left !important;
    border-bottom: 1px solid var(--bcasw-line-soft) !important;
}

body.view-details-page .listing-fields .table-cell.wide-field,
body.view-details-page .listing-fields .table-cell.textarea,
body.view-details-page .listing-fields .table-cell:has(.checkboxes) {
    grid-column: 1 / -1 !important;
}

body.view-details-page .listing-fields .table-cell .name,
body.view-details-page .listing-fields .table-cell .value {
    box-sizing: border-box !important;
    display: block !important;
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

body.view-details-page .listing-fields .table-cell .name {
    margin-bottom: 6px !important;
    color: var(--bcasw-muted) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-transform: uppercase !important;
    letter-spacing: .055em !important;
}

body.view-details-page .listing-fields .table-cell .value {
    color: var(--bcasw-ink) !important;
    font-size: 14px !important;
    line-height: 1.58 !important;
    overflow: visible !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

body.view-details-page .listing-fields .table-cell.textarea .value,
body.view-details-page .listing-fields .table-cell.wide-field .value {
    max-width: 88ch !important;
}

/* Checkbox values wrap like tags and are never clipped. */
body.view-details-page .listing-fields .checkboxes {
    box-sizing: border-box !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

body.view-details-page .listing-fields .checkboxes > li {
    box-sizing: border-box !important;
    display: inline-flex !important;
    flex: 0 1 auto !important;
    align-items: flex-start !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 7px 10px !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    border-radius: 9px !important;
    line-height: 1.35 !important;
}

body.view-details-page .listing-fields .checkboxes > li svg {
    flex: 0 0 auto !important;
    margin-top: 3px !important;
}

/* Compact seller/contact strip below the top two cards. */
body.view-details-page .inside-container > .row:not(.listing-header) > aside.left .side_block.seller-short {
    padding: 15px 18px !important;
    background: #fff !important;
    border: 1px solid var(--bcasw-line) !important;
    border-radius: 12px !important;
    box-shadow: var(--bcasw-shadow) !important;
}

body.view-details-page .inside-container > .row:not(.listing-header) > aside.left .row.seller-short {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin: 0 !important;
}

body.view-details-page .inside-container > .row:not(.listing-header) > aside.left .row.seller-short > div {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.view-details-page .inside-container > .row:not(.listing-header) > aside.left .row.seller-short > .form {
    flex: 0 0 auto !important;
}

body.view-details-page .inside-container > .row:not(.listing-header) > aside.left .seller-info {
    margin: 0 !important;
}

body.view-details-page .inside-container > .row:not(.listing-header) > aside.left h3.cd-caption {
    display: none !important;
}

body.view-details-page .inside-container > .row:not(.listing-header) > aside.left .form > div {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
}

body.view-details-page .inside-container > .row:not(.listing-header) > aside.left input.contact-owner,
body.view-details-page .inside-container > .row:not(.listing-header) > aside.left input.call-owner {
    width: auto !important;
    min-width: 112px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 16px !important;
}

/* Statistics become a quiet footer row, not another large box. */
body.view-details-page .listing-details-stat {
    margin: 0 !important;
    padding: 12px 15px !important;
    background: #fff !important;
    border: 1px solid var(--bcasw-line) !important;
    border-radius: 10px !important;
    box-shadow: 0 3px 12px rgba(18, 58, 62, .035) !important;
}

/* Get More Details is a normal contact card rather than a tall empty panel. */
body.view-details-page aside.middle {
    margin-top: 20px !important;
}

body.view-details-page aside.middle .content_block.get_more_details {
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid var(--bcasw-line) !important;
    border-radius: var(--bcasw-radius) !important;
    box-shadow: var(--bcasw-shadow) !important;
}

body.view-details-page aside.middle .content_block.get_more_details > h3 {
    min-height: 54px !important;
    margin: 0 !important;
    padding: 0 19px !important;
    display: flex !important;
    align-items: center !important;
    color: var(--bcasw-teal) !important;
    background: #fbfcfc !important;
    border-bottom: 1px solid var(--bcasw-line-soft) !important;
    font-size: 17px !important;
    font-weight: 600 !important;
}

body.view-details-page aside.middle .content_block.get_more_details > div {
    padding: 21px !important;
}

body.view-details-page aside.middle .get_more_details .row.seller-short {
    align-items: start !important;
    margin-right: -11px !important;
    margin-left: -11px !important;
}

body.view-details-page aside.middle .get_more_details .row.seller-short > div {
    padding-right: 11px !important;
    padding-left: 11px !important;
}

body.view-details-page aside.middle .get_more_details .seller-info {
    margin: 0 !important;
    padding: 4px 0 !important;
}

body.view-details-page aside.middle .get_more_details .seller-info .name {
    font-size: 18px !important;
    font-weight: 600 !important;
}

body.view-details-page aside.middle .get_more_details h3.cd-caption {
    margin: 0 0 9px !important;
    color: var(--bcasw-teal) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}

body.view-details-page aside.middle .get_more_details textarea {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 120px !important;
    height: 120px !important;
    padding: 12px 13px !important;
    resize: vertical !important;
    border-radius: 9px !important;
}

body.view-details-page aside.middle .get_more_details input[type="submit"] {
    min-height: 43px !important;
    margin-top: 10px !important;
    color: #fff !important;
    background: var(--bcasw-green) !important;
    border-color: var(--bcasw-green) !important;
    border-radius: 9px !important;
    font-weight: 600 !important;
}

@media (max-width: 991px) {
    body.view-details-page .inside-container > .row:not(.listing-header) {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    body.view-details-page .inside-container > .row:not(.listing-header) > #content,
    body.view-details-page .inside-container > .row:not(.listing-header) > aside.left {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.view-details-page .listing-details .main-section {
        margin-bottom: 16px !important;
    }

    body.view-details-page .listing-fields > div + div {
        margin-top: 16px !important;
    }

    body.view-details-page .inside-container > .row:not(.listing-header) > aside.left {
        order: 2 !important;
    }
}

@media (max-width: 767px) {
    body.view-details-page .listing-details .gallery .preview,
    body.view-details-page .listing-details .gallery .map-container {
        aspect-ratio: 1 / 1 !important;
    }

    body.view-details-page .listing-details .gallery .nav-buttons {
        flex-wrap: wrap !important;
    }

    body.view-details-page .listing-fields .fieldset > .body {
        padding: 4px 15px 8px !important;
    }

    body.view-details-page .listing-fields .fieldset > .body > div {
        grid-template-columns: 1fr !important;
        column-gap: 0 !important;
    }

    body.view-details-page .listing-fields .table-cell,
    body.view-details-page .listing-fields .table-cell.wide-field,
    body.view-details-page .listing-fields .table-cell.textarea,
    body.view-details-page .listing-fields .table-cell:has(.checkboxes) {
        grid-column: 1 !important;
    }

    body.view-details-page .inside-container > .row:not(.listing-header) > aside.left .row.seller-short,
    body.view-details-page .inside-container > .row:not(.listing-header) > aside.left .form > div {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    body.view-details-page .inside-container > .row:not(.listing-header) > aside.left input.contact-owner,
    body.view-details-page .inside-container > .row:not(.listing-header) > aside.left input.call-owner {
        width: 100% !important;
    }

    body.view-details-page aside.middle .content_block.get_more_details > div {
        padding: 16px !important;
    }

    body.view-details-page aside.middle .get_more_details .row.seller-short > div + div {
        margin-top: 18px !important;
    }
}

/* =========================================================
   V3.3 DETAIL HERO ROW
   On desktop, the gallery card and Personal Information card
   share one equal-height row. The image fills all available
   gallery space above the compact control bar.
========================================================= */
@media (min-width: 992px) {
    body.view-details-page .inside-container > .row:not(.listing-header) {
        align-items: stretch !important;
    }

    /* Both top cards participate in the same stretched grid row. */
    body.view-details-page .listing-details > .main-section,
    body.view-details-page .listing-fields > div:first-child {
        align-self: stretch !important;
        height: auto !important;
        min-height: 560px !important;
        max-height: none !important;
    }

    /* The Personal Information card can grow naturally or stretch
       when the gallery establishes the taller row. */
    body.view-details-page .listing-fields > div:first-child,
    body.view-details-page .listing-fields > div:first-child > .fieldset {
        display: flex !important;
        flex-direction: column !important;
        height: 100% !important;
    }

    body.view-details-page .listing-fields > div:first-child > .fieldset > .body {
        flex: 1 1 auto !important;
    }

    /* The left card fills the row, with only the controls reserving
       space below the image. */
    body.view-details-page .listing-details > .main-section {
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
    }

    body.view-details-page .listing-details > .main-section > .gallery,
    body.view-details-page .listing-details > .main-section .gallery,
    body.view-details-page .listing-details > .main-section #media {
        display: flex !important;
        flex: 1 1 auto !important;
        flex-direction: column !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: hidden !important;
    }

    body.view-details-page .listing-details > .main-section .gallery .preview,
    body.view-details-page .listing-details > .main-section .gallery .map-container {
        position: relative !important;
        flex: 1 1 auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: auto !important;
        overflow: hidden !important;
    }

    body.view-details-page .listing-details > .main-section .gallery .preview img.default-picture,
    body.view-details-page .listing-details > .main-section .gallery .preview iframe {
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        margin: 0 !important;
    }

    body.view-details-page .listing-details > .main-section .gallery .preview img.default-picture {
        object-fit: cover !important;
        object-position: center 28% !important;
    }

    /* Compact, consistent control strip at the bottom of the card. */
    body.view-details-page .listing-details > .main-section .gallery .nav-buttons {
        position: static !important;
        flex: 0 0 58px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-height: 58px !important;
        height: 58px !important;
        margin: 0 !important;
        padding: 9px 12px !important;
        background: #fff !important;
        border-top: 1px solid var(--bcasw-line-soft) !important;
    }

    body.view-details-page .listing-details > .main-section .gallery .nav-buttons .map-group {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        width: auto !important;
        margin: 0 !important;
    }

    body.view-details-page .listing-details > .main-section .gallery .nav-button {
        box-sizing: border-box !important;
        display: inline-flex !important;
        flex: 0 0 auto !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        min-width: 92px !important;
        min-height: 38px !important;
        height: 38px !important;
        margin: 0 !important;
        padding: 0 13px !important;
        white-space: nowrap !important;
        border-radius: 9px !important;
        line-height: 1 !important;
    }

    body.view-details-page .listing-details > .main-section .gallery .nav-button.zoom {
        min-width: 116px !important;
    }
}

/* =========================================================
   V3.4 DETAIL HERO MEDIA FILL FIX
   The stretched desktop gallery card is filled by the media.
   The controls reserve a fixed strip at the bottom.
========================================================= */
@media (min-width: 992px) {
    body.view-details-page .listing-details > .main-section {
        position: relative !important;
        display: block !important;
        align-self: stretch !important;
        height: auto !important;
        min-height: 560px !important;
        overflow: hidden !important;
    }

    body.view-details-page .listing-details > .main-section > .gallery,
    body.view-details-page .listing-details > .main-section .gallery {
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        width: auto !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    body.view-details-page .listing-details > .main-section #media {
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        width: auto !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    body.view-details-page .listing-details > .main-section .gallery .preview,
    body.view-details-page .listing-details > .main-section .gallery .map-container {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 58px !important;
        left: 0 !important;
        width: auto !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: auto !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    body.view-details-page .listing-details > .main-section .gallery .preview img.default-picture,
    body.view-details-page .listing-details > .main-section .gallery .preview iframe {
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        margin: 0 !important;
    }

    body.view-details-page .listing-details > .main-section .gallery .preview img.default-picture {
        object-fit: cover !important;
        object-position: center 28% !important;
    }

    body.view-details-page .listing-details > .main-section .gallery .nav-buttons {
        position: absolute !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: auto !important;
        min-height: 58px !important;
        height: 58px !important;
        margin: 0 !important;
        padding: 9px 12px !important;
        background: #fff !important;
        border-top: 1px solid var(--bcasw-line-soft) !important;
        z-index: 3 !important;
    }

    body.view-details-page .listing-details > .main-section .gallery .thumbs {
        position: absolute !important;
        inset: auto 0 58px !important;
        z-index: 4 !important;
    }
}

/* =========================================================
   V3.5 DETAIL HERO CONTROL STRIP FIX
   Fully resets the theme's positioned gallery controls and
   lays the three actions out in one stable desktop row.
========================================================= */
@media (min-width: 992px) {
    body.view-details-page .listing-details > .main-section .gallery .nav-buttons {
        box-sizing: border-box !important;
        display: grid !important;
        grid-template-columns: max-content 1fr max-content max-content !important;
        grid-template-rows: 40px !important;
        align-items: center !important;
        justify-content: initial !important;
        column-gap: 9px !important;
        overflow: hidden !important;
        height: 60px !important;
        min-height: 60px !important;
        padding: 10px 12px !important;
    }

    body.view-details-page .listing-details > .main-section .gallery .nav-buttons > .nav-button.zoom {
        position: static !important;
        inset: auto !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
        float: none !important;
        transform: none !important;
        align-self: center !important;
        justify-self: start !important;
        width: auto !important;
        min-width: 116px !important;
        max-width: none !important;
        height: 40px !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 0 14px !important;
    }

    body.view-details-page .listing-details > .main-section .gallery .nav-buttons > .map-group {
        position: static !important;
        inset: auto !important;
        display: contents !important;
        float: none !important;
        transform: none !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.view-details-page .listing-details > .main-section .gallery .nav-buttons .nav-button.gallery,
    body.view-details-page .listing-details > .main-section .gallery .nav-buttons .nav-button.map {
        position: static !important;
        inset: auto !important;
        float: none !important;
        transform: none !important;
        align-self: center !important;
        width: auto !important;
        min-width: 100px !important;
        max-width: none !important;
        height: 40px !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 0 14px !important;
        white-space: nowrap !important;
    }

    body.view-details-page .listing-details > .main-section .gallery .nav-buttons .nav-button.gallery {
        grid-column: 3 !important;
        grid-row: 1 !important;
        justify-self: end !important;
    }

    body.view-details-page .listing-details > .main-section .gallery .nav-buttons .nav-button.map {
        grid-column: 4 !important;
        grid-row: 1 !important;
        justify-self: end !important;
    }

    /* Media area must reserve the updated control-strip height. */
    body.view-details-page .listing-details > .main-section .gallery .preview,
    body.view-details-page .listing-details > .main-section .gallery .map-container {
        bottom: 60px !important;
    }

    body.view-details-page .listing-details > .main-section .gallery .thumbs {
        inset: auto 0 60px !important;
    }
}

/* =========================================================
   V3.6: Gallery image uses the outer card radius only
   ========================================================= */
@media screen and (min-width: 992px) {
    body.view-details-page .listing-details > .main-section .gallery .preview,
    body.view-details-page .listing-details > .main-section .gallery .preview img.default-picture {
        border-radius: 0 !important;
    }
}

/* =========================================================
   V3.7 DETAIL PAGE CLOSING SECTION
   Removes the empty half-page feeling near the bottom and turns
   statistics + Get More Details into a deliberate closing area.
========================================================= */

/* The statistics should read as compact metadata, not a wide empty card. */
body.view-details-page .listing-details-stat {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
    margin: 22px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.view-details-page .listing-details-stat ul {
    display: contents !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.view-details-page .listing-details-stat li {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    color: var(--bcasw-text) !important;
    background: #fff !important;
    border: 1px solid var(--bcasw-line) !important;
    border-radius: 999px !important;
    box-shadow: 0 4px 14px rgba(18, 58, 62, .045) !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
}

body.view-details-page .listing-details-stat .count,
body.view-details-page .listing-details-stat .name {
    margin-right: 5px !important;
    color: var(--bcasw-teal) !important;
    font-weight: 650 !important;
}

/* Make the middle block occupy the available page width. */
body.view-details-page aside.middle,
body.view-details-page .middle {
    display: block !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 24px 0 0 !important;
    padding: 0 !important;
    clear: both !important;
}

body.view-details-page aside.middle .content_block.get_more_details,
body.view-details-page .middle .content_block.get_more_details {
    position: relative !important;
    isolation: isolate !important;
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid var(--bcasw-line) !important;
    border-radius: 16px !important;
    box-shadow: 0 12px 34px rgba(18, 58, 62, .075) !important;
}

body.view-details-page aside.middle .content_block.get_more_details::before,
body.view-details-page .middle .content_block.get_more_details::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -120px;
    left: -100px;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(170, 184, 0, .14) 0%, rgba(170, 184, 0, 0) 70%);
    pointer-events: none;
}

body.view-details-page aside.middle .content_block.get_more_details > h3,
body.view-details-page .middle .content_block.get_more_details > h3 {
    position: relative !important;
    min-height: 62px !important;
    margin: 0 !important;
    padding: 0 27px 0 31px !important;
    display: flex !important;
    align-items: center !important;
    color: var(--bcasw-teal) !important;
    background: linear-gradient(90deg, #f7f9e9 0%, #fbfcfc 48%, #fff 100%) !important;
    border-bottom: 1px solid var(--bcasw-line-soft) !important;
    font-size: 20px !important;
    font-weight: 650 !important;
    letter-spacing: -.01em !important;
}

body.view-details-page aside.middle .content_block.get_more_details > h3::before,
body.view-details-page .middle .content_block.get_more_details > h3::before {
    content: "";
    width: 5px;
    height: 24px;
    margin-right: 13px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--bcasw-green), var(--bcasw-teal));
}

body.view-details-page aside.middle .content_block.get_more_details > div,
body.view-details-page .middle .content_block.get_more_details > div {
    padding: 0 !important;
}

body.view-details-page aside.middle .get_more_details .row.seller-short,
body.view-details-page .middle .get_more_details .row.seller-short {
    display: grid !important;
    grid-template-columns: minmax(270px, .8fr) minmax(0, 1.45fr) !important;
    align-items: stretch !important;
    gap: 0 !important;
    margin: 0 !important;
}

body.view-details-page aside.middle .get_more_details .row.seller-short > div,
body.view-details-page .middle .get_more_details .row.seller-short > div {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Profile side */
body.view-details-page aside.middle .get_more_details .row.seller-short > div:first-child,
body.view-details-page .middle .get_more_details .row.seller-short > div:first-child {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: 280px !important;
    padding: 34px 38px !important;
    overflow: hidden !important;
    background:
        linear-gradient(145deg, rgba(244, 246, 223, .96), rgba(251, 252, 247, .98)),
        #f8faee !important;
    border-right: 1px solid var(--bcasw-line-soft) !important;
}

body.view-details-page aside.middle .get_more_details .row.seller-short > div:first-child::after,
body.view-details-page .middle .get_more_details .row.seller-short > div:first-child::after {
    content: "";
    position: absolute;
    right: -58px;
    bottom: -72px;
    width: 190px;
    height: 190px;
    border: 34px solid rgba(18, 58, 62, .045);
    border-radius: 50%;
    pointer-events: none;
}

body.view-details-page aside.middle .get_more_details .seller-info,
body.view-details-page .middle .get_more_details .seller-info {
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.view-details-page aside.middle .get_more_details .seller-info .name,
body.view-details-page .middle .get_more_details .seller-info .name {
    position: relative !important;
    margin: 0 !important;
    padding: 76px 0 0 !important;
    color: var(--bcasw-ink) !important;
    font-size: 25px !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    letter-spacing: -.02em !important;
}

body.view-details-page aside.middle .get_more_details .seller-info .name::before,
body.view-details-page .middle .get_more_details .seller-info .name::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 58px;
    height: 58px;
    border: 7px solid rgba(170, 184, 0, .18);
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 36%, var(--bcasw-teal) 0 7px, transparent 8px),
        radial-gradient(ellipse at 50% 78%, var(--bcasw-teal) 0 15px, transparent 16px),
        #fff;
    box-shadow: 0 7px 20px rgba(18, 58, 62, .09);
}

body.view-details-page aside.middle .get_more_details .seller-info .type,
body.view-details-page .middle .get_more_details .seller-info .type {
    margin-top: 8px !important;
    color: var(--bcasw-muted) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}

/* Form side */
body.view-details-page aside.middle .get_more_details .row.seller-short > div:last-child,
body.view-details-page .middle .get_more_details .row.seller-short > div:last-child {
    padding: 31px 36px 32px !important;
    background: rgba(255, 255, 255, .97) !important;
}

body.view-details-page aside.middle .get_more_details h3.cd-caption,
body.view-details-page .middle .get_more_details h3.cd-caption {
    margin: 0 0 13px !important;
    color: var(--bcasw-teal) !important;
    font-size: 18px !important;
    font-weight: 650 !important;
}

body.view-details-page aside.middle .get_more_details form,
body.view-details-page .middle .get_more_details form {
    margin: 0 !important;
}

body.view-details-page aside.middle .get_more_details textarea,
body.view-details-page .middle .get_more_details textarea {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 132px !important;
    height: 132px !important;
    margin: 0 !important;
    padding: 15px 16px !important;
    color: var(--bcasw-ink) !important;
    background: #f7f9fa !important;
    border: 1px solid var(--bcasw-line) !important;
    border-radius: 11px !important;
    box-shadow: inset 0 1px 2px rgba(18, 58, 62, .025) !important;
    resize: vertical !important;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease !important;
}

body.view-details-page aside.middle .get_more_details textarea:focus,
body.view-details-page .middle .get_more_details textarea:focus {
    outline: 0 !important;
    background: #fff !important;
    border-color: rgba(170, 184, 0, .75) !important;
    box-shadow: 0 0 0 3px rgba(170, 184, 0, .12) !important;
}

body.view-details-page aside.middle .get_more_details .submit-cell.buttons,
body.view-details-page .middle .get_more_details .submit-cell.buttons {
    margin-top: 14px !important;
}

body.view-details-page aside.middle .get_more_details .submit-cell.buttons .field,
body.view-details-page .middle .get_more_details .submit-cell.buttons .field {
    display: flex !important;
    justify-content: flex-end !important;
}

body.view-details-page aside.middle .get_more_details input[type="submit"],
body.view-details-page .middle .get_more_details input[type="submit"] {
    width: auto !important;
    min-width: 190px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 26px !important;
    color: #fff !important;
    background: linear-gradient(100deg, var(--bcasw-green) 0%, #9eaf00 50%, var(--bcasw-teal) 145%) !important;
    border: 0 !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 18px rgba(142, 156, 0, .18) !important;
    font-weight: 650 !important;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

body.view-details-page aside.middle .get_more_details input[type="submit"]:hover,
body.view-details-page .middle .get_more_details input[type="submit"]:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 11px 22px rgba(18, 58, 62, .16) !important;
    filter: brightness(.98) !important;
}

@media (max-width: 991px) {
    body.view-details-page aside.middle .get_more_details .row.seller-short,
    body.view-details-page .middle .get_more_details .row.seller-short {
        grid-template-columns: 1fr !important;
    }

    body.view-details-page aside.middle .get_more_details .row.seller-short > div:first-child,
    body.view-details-page .middle .get_more_details .row.seller-short > div:first-child {
        min-height: 0 !important;
        padding: 27px 28px !important;
        border-right: 0 !important;
        border-bottom: 1px solid var(--bcasw-line-soft) !important;
    }

    body.view-details-page aside.middle .get_more_details .seller-info .name,
    body.view-details-page .middle .get_more_details .seller-info .name {
        min-height: 58px !important;
        padding: 4px 0 0 76px !important;
    }

    body.view-details-page aside.middle .get_more_details .row.seller-short > div:last-child,
    body.view-details-page .middle .get_more_details .row.seller-short > div:last-child {
        padding: 26px 28px 28px !important;
    }
}

@media (max-width: 575px) {
    body.view-details-page .listing-details-stat {
        justify-content: flex-start !important;
    }

    body.view-details-page .listing-details-stat li {
        min-height: 36px !important;
        padding: 0 12px !important;
    }

    body.view-details-page aside.middle .content_block.get_more_details > h3,
    body.view-details-page .middle .content_block.get_more_details > h3 {
        min-height: 56px !important;
        padding: 0 18px !important;
        font-size: 18px !important;
    }

    body.view-details-page aside.middle .get_more_details .row.seller-short > div:first-child,
    body.view-details-page .middle .get_more_details .row.seller-short > div:first-child,
    body.view-details-page aside.middle .get_more_details .row.seller-short > div:last-child,
    body.view-details-page .middle .get_more_details .row.seller-short > div:last-child {
        padding: 22px 20px !important;
    }

    body.view-details-page aside.middle .get_more_details input[type="submit"],
    body.view-details-page .middle .get_more_details input[type="submit"] {
        width: 100% !important;
    }
}

/* =========================================================
   V3.8 FULL-WIDTH GET MORE DETAILS
   Full-width dark closing panel with simple identity copy on
   the left and the contact form on the right. No fake avatar.
========================================================= */

/* Because #content becomes display:contents in the desktop detail grid,
   this nested aside can safely span both main grid columns. */
@media screen and (min-width: 992px) {
    body.view-details-page .inside-container > .row:not(.listing-header) aside.middle,
    body.view-details-page .inside-container > .row:not(.listing-header) .middle {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        justify-self: stretch !important;
        margin: 26px 0 0 !important;
        padding: 0 !important;
    }
}

body.view-details-page aside.middle .content_block.get_more_details,
body.view-details-page .middle .content_block.get_more_details {
    position: relative !important;
    isolation: isolate !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: #fff !important;
    background:
        radial-gradient(circle at 4% 18%, rgba(170, 184, 0, .18), transparent 28%),
        linear-gradient(125deg, #0d3033 0%, #123c40 54%, #17484b 100%) !important;
    border: 1px solid rgba(255, 255, 255, .11) !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 46px rgba(9, 36, 39, .19) !important;
}

body.view-details-page aside.middle .content_block.get_more_details::before,
body.view-details-page .middle .content_block.get_more_details::before {
    content: "" !important;
    position: absolute !important;
    z-index: -1 !important;
    inset: auto -120px -170px auto !important;
    width: 420px !important;
    height: 420px !important;
    border: 72px solid rgba(255, 255, 255, .025) !important;
    border-radius: 50% !important;
    background: transparent !important;
    pointer-events: none !important;
}

body.view-details-page aside.middle .content_block.get_more_details > h3,
body.view-details-page .middle .content_block.get_more_details > h3 {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: 70px !important;
    margin: 0 !important;
    padding: 0 36px !important;
    color: #fff !important;
    background: rgba(255, 255, 255, .025) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
    font-size: 22px !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    letter-spacing: -.015em !important;
}

body.view-details-page aside.middle .content_block.get_more_details > h3::before,
body.view-details-page .middle .content_block.get_more_details > h3::before {
    content: "" !important;
    width: 5px !important;
    height: 27px !important;
    margin-right: 14px !important;
    border-radius: 999px !important;
    background: var(--bcasw-green) !important;
    box-shadow: 0 0 20px rgba(170, 184, 0, .28) !important;
}

body.view-details-page aside.middle .content_block.get_more_details > div,
body.view-details-page .middle .content_block.get_more_details > div {
    padding: 0 !important;
}

body.view-details-page aside.middle .get_more_details .row.seller-short,
body.view-details-page .middle .get_more_details .row.seller-short {
    display: grid !important;
    grid-template-columns: minmax(250px, .8fr) minmax(0, 1.45fr) !important;
    align-items: center !important;
    gap: 40px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 34px 36px 36px !important;
}

body.view-details-page aside.middle .get_more_details .row.seller-short > div,
body.view-details-page .middle .get_more_details .row.seller-short > div {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
}

/* Left identity area: text only. */
body.view-details-page aside.middle .get_more_details .row.seller-short > div:first-child,
body.view-details-page .middle .get_more_details .row.seller-short > div:first-child {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: 210px !important;
    padding: 20px 38px 20px 8px !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    border-right: 1px solid rgba(255, 255, 255, .12) !important;
}

body.view-details-page aside.middle .get_more_details .row.seller-short > div:first-child::after,
body.view-details-page .middle .get_more_details .row.seller-short > div:first-child::after {
    content: none !important;
    display: none !important;
}

body.view-details-page aside.middle .get_more_details .seller-info,
body.view-details-page .middle .get_more_details .seller-info {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.view-details-page aside.middle .get_more_details .seller-info .name,
body.view-details-page .middle .get_more_details .seller-info .name {
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: clamp(25px, 2.1vw, 34px) !important;
    font-weight: 650 !important;
    line-height: 1.15 !important;
    letter-spacing: -.025em !important;
}

body.view-details-page aside.middle .get_more_details .seller-info .name::before,
body.view-details-page .middle .get_more_details .seller-info .name::before {
    content: none !important;
    display: none !important;
}

body.view-details-page aside.middle .get_more_details .seller-info .type,
body.view-details-page .middle .get_more_details .seller-info .type {
    margin-top: 11px !important;
    color: rgba(255, 255, 255, .68) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}

/* Right message panel. */
body.view-details-page aside.middle .get_more_details .row.seller-short > div:last-child,
body.view-details-page .middle .get_more_details .row.seller-short > div:last-child {
    padding: 25px 27px 27px !important;
    background: rgba(255, 255, 255, .075) !important;
    border: 1px solid rgba(255, 255, 255, .11) !important;
    border-radius: 14px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04) !important;
    backdrop-filter: blur(6px) !important;
}

body.view-details-page aside.middle .get_more_details h3.cd-caption,
body.view-details-page .middle .get_more_details h3.cd-caption {
    margin: 0 0 13px !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    letter-spacing: -.01em !important;
}

body.view-details-page aside.middle .get_more_details textarea,
body.view-details-page .middle .get_more_details textarea {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 145px !important;
    height: 145px !important;
    margin: 0 !important;
    padding: 16px 17px !important;
    color: #17373a !important;
    background: rgba(255, 255, 255, .96) !important;
    border: 1px solid rgba(255, 255, 255, .7) !important;
    border-radius: 11px !important;
    box-shadow: 0 8px 22px rgba(4, 25, 28, .12) !important;
    resize: vertical !important;
}

body.view-details-page aside.middle .get_more_details textarea::placeholder,
body.view-details-page .middle .get_more_details textarea::placeholder {
    color: #7d888a !important;
}

body.view-details-page aside.middle .get_more_details textarea:focus,
body.view-details-page .middle .get_more_details textarea:focus {
    outline: 0 !important;
    background: #fff !important;
    border-color: rgba(190, 202, 32, .95) !important;
    box-shadow: 0 0 0 4px rgba(170, 184, 0, .17), 0 10px 24px rgba(4, 25, 28, .14) !important;
}

body.view-details-page aside.middle .get_more_details .submit-cell.buttons,
body.view-details-page .middle .get_more_details .submit-cell.buttons {
    margin-top: 15px !important;
}

body.view-details-page aside.middle .get_more_details .submit-cell.buttons .field,
body.view-details-page .middle .get_more_details .submit-cell.buttons .field {
    display: flex !important;
    justify-content: flex-end !important;
}

body.view-details-page aside.middle .get_more_details input[type="submit"],
body.view-details-page .middle .get_more_details input[type="submit"] {
    width: auto !important;
    min-width: 190px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 28px !important;
    color: #173438 !important;
    background: linear-gradient(100deg, #c0ca13 0%, #aab800 100%) !important;
    border: 0 !important;
    border-radius: 10px !important;
    box-shadow: 0 10px 24px rgba(4, 25, 28, .24) !important;
    font-weight: 700 !important;
}

body.view-details-page aside.middle .get_more_details input[type="submit"]:hover,
body.view-details-page .middle .get_more_details input[type="submit"]:hover {
    transform: translateY(-1px) !important;
    filter: brightness(1.03) !important;
    box-shadow: 0 13px 28px rgba(4, 25, 28, .28) !important;
}

@media screen and (max-width: 991px) {
    body.view-details-page aside.middle,
    body.view-details-page .middle {
        width: 100% !important;
        max-width: none !important;
        margin-top: 22px !important;
        padding: 0 !important;
    }

    body.view-details-page aside.middle .get_more_details .row.seller-short,
    body.view-details-page .middle .get_more_details .row.seller-short {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        padding: 0 !important;
    }

    body.view-details-page aside.middle .get_more_details .row.seller-short > div:first-child,
    body.view-details-page .middle .get_more_details .row.seller-short > div:first-child {
        min-height: 0 !important;
        padding: 28px 28px 26px !important;
        border-right: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, .11) !important;
    }

    body.view-details-page aside.middle .get_more_details .row.seller-short > div:last-child,
    body.view-details-page .middle .get_more_details .row.seller-short > div:last-child {
        margin: 24px !important;
        padding: 23px 24px 25px !important;
    }
}

@media screen and (max-width: 575px) {
    body.view-details-page aside.middle .content_block.get_more_details > h3,
    body.view-details-page .middle .content_block.get_more_details > h3 {
        min-height: 60px !important;
        padding: 0 20px !important;
        font-size: 19px !important;
    }

    body.view-details-page aside.middle .get_more_details .seller-info .name,
    body.view-details-page .middle .get_more_details .seller-info .name {
        font-size: 25px !important;
    }

    body.view-details-page aside.middle .get_more_details .row.seller-short > div:first-child,
    body.view-details-page .middle .get_more_details .row.seller-short > div:first-child {
        padding: 24px 20px 22px !important;
    }

    body.view-details-page aside.middle .get_more_details .row.seller-short > div:last-child,
    body.view-details-page .middle .get_more_details .row.seller-short > div:last-child {
        margin: 18px !important;
        padding: 20px !important;
    }

    body.view-details-page aside.middle .get_more_details input[type="submit"],
    body.view-details-page .middle .get_more_details input[type="submit"] {
        width: 100% !important;
    }
}

/* =========================================================
   V3.12 CLEAN MOBILE GALLERY
   Starts from the stable V3.8 patch.
   The image remains visible at its natural ratio, the hidden
   map and thumbnails take no space, and controls sit below.
========================================================= */
@media screen and (max-width: 991px) {
    body.view-details-page .listing-details > .main-section {
        position: relative !important;
        display: block !important;
        align-self: auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 0 16px !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    body.view-details-page .listing-details > .main-section > .gallery,
    body.view-details-page .listing-details > .main-section .gallery,
    body.view-details-page .listing-details > .main-section #media {
        position: relative !important;
        inset: auto !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        aspect-ratio: auto !important;
        border-radius: 0 !important;
    }

    /* Default state: always show the picture unless Map View is active. */
    body.view-details-page .listing-details > .main-section #media > .preview {
        position: relative !important;
        inset: auto !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        aspect-ratio: auto !important;
        background: #eef1f2 !important;
        border-radius: 0 !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    body.view-details-page .listing-details > .main-section #media > .preview img.default-picture {
        position: relative !important;
        inset: auto !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-width: 100% !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        object-fit: contain !important;
        object-position: center !important;
        background: #eef1f2 !important;
        border-radius: 0 !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* Empty YouTube holder must not sit over or replace the image. */
    body.view-details-page .listing-details > .main-section #media > .preview iframe#yt_iframe:not([src]),
    body.view-details-page .listing-details > .main-section #media > .preview iframe#yt_iframe[src=""] {
        position: absolute !important;
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Map is completely absent from layout until selected. */
    body.view-details-page .listing-details > .main-section #media > .map-container {
        position: absolute !important;
        inset: auto !important;
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        aspect-ratio: auto !important;
    }

    body.view-details-page .listing-details > .main-section #media[data-view="map"] > .preview {
        position: absolute !important;
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    body.view-details-page .listing-details > .main-section #media[data-view="map"] > .map-container {
        position: relative !important;
        inset: auto !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 300px !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        aspect-ratio: 4 / 3 !important;
    }

    /* The single-image mobile card does not need thumbnail space. */
    body.view-details-page .listing-details > .main-section .gallery > .thumbs,
    body.view-details-page .listing-details > .main-section .gallery > .thumbs.hide {
        position: absolute !important;
        inset: auto !important;
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    /* Remove theme-generated aspect-ratio and clearing spacers. */
    body.view-details-page .listing-details > .main-section .gallery::before,
    body.view-details-page .listing-details > .main-section .gallery::after,
    body.view-details-page .listing-details > .main-section #media::before,
    body.view-details-page .listing-details > .main-section #media::after,
    body.view-details-page .listing-details > .main-section .preview::before,
    body.view-details-page .listing-details > .main-section .preview::after {
        content: none !important;
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* One clean control row directly below the active media. */
    body.view-details-page .listing-details > .main-section .gallery .nav-buttons {
        position: relative !important;
        inset: auto !important;
        box-sizing: border-box !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        grid-template-rows: 44px !important;
        width: 100% !important;
        height: auto !important;
        min-height: 64px !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 10px !important;
        gap: 8px !important;
        overflow: hidden !important;
        background: #fff !important;
        border-top: 1px solid var(--bcasw-line-soft) !important;
        z-index: 2 !important;
    }

    body.view-details-page .listing-details > .main-section .gallery .nav-buttons > .nav-button.zoom {
        position: static !important;
        inset: auto !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
        float: none !important;
        transform: none !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 44px !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: 0 7px !important;
    }

    body.view-details-page .listing-details > .main-section .gallery .nav-buttons > .map-group {
        position: static !important;
        inset: auto !important;
        display: contents !important;
        float: none !important;
        transform: none !important;
        width: auto !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.view-details-page .listing-details > .main-section .gallery .nav-buttons .nav-button.gallery,
    body.view-details-page .listing-details > .main-section .gallery .nav-buttons .nav-button.map {
        position: static !important;
        inset: auto !important;
        float: none !important;
        transform: none !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 44px !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: 0 7px !important;
    }

    body.view-details-page .listing-details > .main-section .gallery .nav-buttons .nav-button.gallery {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    body.view-details-page .listing-details > .main-section .gallery .nav-buttons .nav-button.map {
        grid-column: 3 !important;
        grid-row: 1 !important;
    }

    body.view-details-page .listing-details > .main-section .gallery .nav-button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 12px !important;
        line-height: 1.1 !important;
        text-align: center !important;
        white-space: normal !important;
        border-radius: 9px !important;
    }
}

@media screen and (max-width: 420px) {
    body.view-details-page .listing-details > .main-section .gallery .nav-buttons {
        padding: 8px !important;
        gap: 6px !important;
    }

    body.view-details-page .listing-details > .main-section .gallery .nav-button {
        font-size: 11px !important;
        padding-right: 4px !important;
        padding-left: 4px !important;
    }
}

/* =========================================================
   V3.13 LIST + GRID CARD FINISHING
   - List images fill the full card height and remain 1:1.
   - Joining image corners are square where content continues.
   - Grid image bottom corners are square.
   - Grid dates and Call buttons share one anchored footer line.
========================================================= */

/* ---------- DESKTOP LIST VIEW ---------- */
@media screen and (min-width: 768px) {
    #controller_area #listings.list article.item .main-column {
        display: flex !important;
        align-items: stretch !important;
        min-height: 190px !important;
    }

    #controller_area #listings.list article.item .picture {
        position: relative !important;
        align-self: stretch !important;
        flex: 0 0 auto !important;
        width: auto !important;
        height: auto !important;
        min-width: 190px !important;
        min-height: 190px !important;
        margin: 0 !important;
        padding: 0 !important;
        aspect-ratio: 1 / 1 !important;
        overflow: hidden !important;
        line-height: 0 !important;
        border-radius: var(--bcasw-radius) 0 0 var(--bcasw-radius) !important;
    }

    #controller_area #listings.list article.item .picture > a {
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border-radius: var(--bcasw-radius) 0 0 var(--bcasw-radius) !important;
    }

    #controller_area #listings.list article.item .picture img {
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        object-fit: cover !important;
        object-position: center !important;
        border-radius: var(--bcasw-radius) 0 0 var(--bcasw-radius) !important;
    }

    #controller_area #listings.list article.item .card-info {
        align-self: stretch !important;
        flex: 1 1 auto !important;
        min-height: 100% !important;
    }
}

/* ---------- GRID / GALLERY VIEW ---------- */
#controller_area #listings.grid,
#controller_area #listings:not(.list) {
    align-items: stretch !important;
}

#controller_area #listings.grid > article.item,
#controller_area #listings:not(.list) > article.item {
    display: flex !important;
    align-self: stretch !important;
}

#controller_area #listings.grid article.item .main-column,
#controller_area #listings:not(.list) article.item .main-column {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
}

#controller_area #listings.grid article.item .picture,
#controller_area #listings:not(.list) article.item .picture {
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    line-height: 0 !important;
    border-radius: var(--bcasw-radius) var(--bcasw-radius) 0 0 !important;
}

#controller_area #listings.grid article.item .picture > a,
#controller_area #listings:not(.list) article.item .picture > a,
#controller_area #listings.grid article.item .picture img,
#controller_area #listings:not(.list) article.item .picture img {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: var(--bcasw-radius) var(--bcasw-radius) 0 0 !important;
}

#controller_area #listings.grid article.item .card-info,
#controller_area #listings:not(.list) article.item .card-info {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
}

/* Reserve one shared footer line inside every grid card. */
#controller_area #listings.grid article.item .useful,
#controller_area #listings:not(.list) article.item .useful {
    display: flex !important;
    align-items: center !important;
    min-height: 37px !important;
    margin-top: auto !important;
    padding-top: 0 !important;
    padding-right: 88px !important;
}

#controller_area #listings.grid article.item .card-info_posted-date,
#controller_area #listings:not(.list) article.item .card-info_posted-date {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 37px !important;
    line-height: 1 !important;
}

#controller_area #listings.grid article.item .system,
#controller_area #listings:not(.list) article.item .system {
    right: 17px !important;
    bottom: 17px !important;
}

/* Keep the shared footer stable even when a card has little text. */
#controller_area #listings.grid article.item .fields,
#controller_area #listings:not(.list) article.item .fields {
    margin-bottom: 8px !important;
}

/* Mobile cards stay stacked, with only the joining image corners squared. */
@media screen and (max-width: 767px) {
    #controller_area #listings.list article.item .picture,
    #controller_area #listings.list article.item .picture > a,
    #controller_area #listings.list article.item .picture img,
    #controller_area #listings.grid article.item .picture,
    #controller_area #listings.grid article.item .picture > a,
    #controller_area #listings.grid article.item .picture img,
    #controller_area #listings:not(.list) article.item .picture,
    #controller_area #listings:not(.list) article.item .picture > a,
    #controller_area #listings:not(.list) article.item .picture img {
        border-radius: var(--bcasw-radius) var(--bcasw-radius) 0 0 !important;
    }
}

/* =========================================================
   V3.14 SEARCH RESULTS / REFINE SEARCH SIDEBAR
   Search-results pages use .ltsb_* and omit the usual
   .search-block-content wrapper. This supplies the same
   spacing and finish without altering native field behaviour.
========================================================= */

/* The refine-search template places its form directly inside
   the outer side block, so give that alternate container the
   same inner padding used on normal listing pages. */
body[class*="lt-"][class*="-page"] #wrapper aside.left
> .side_block[class*="ltsb_"] > div.clearfix {
    box-sizing: border-box !important;
    padding: 2px 19px 20px !important;
    background: transparent !important;
}

body[class*="lt-"][class*="-page"] #wrapper aside.left
> .side_block[class*="ltsb_"] > div.clearfix > form {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Prevent the desktop refine-search expander from reserving
   an odd blank line. Mobile keeps the theme's own behaviour. */
@media screen and (min-width: 992px) {
    body[class*="lt-"][class*="-page"] #wrapper aside.left
    > .side_block[class*="ltsb_"] > div.clearfix > .expander {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}

/* Keep the optional keyword modes visually attached to the
   keyword field, while leaving radio behaviour untouched. */
body[class*="lt-"][class*="-page"] #wrapper aside.left
.side_block[class*="ltsb_"] .kws-block .options:not(.hide) {
    margin-top: 10px !important;
    padding: 11px 12px !important;
    background: #f7f9f8 !important;
    border: 1px solid var(--bcasw-line-soft) !important;
    border-radius: 9px !important;
}

body[class*="lt-"][class*="-page"] #wrapper aside.left
.side_block[class*="ltsb_"] .kws-block .options ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body[class*="lt-"][class*="-page"] #wrapper aside.left
.side_block[class*="ltsb_"] .kws-block .options li + li {
    margin-top: 7px !important;
}

body[class*="lt-"][class*="-page"] #wrapper aside.left
.side_block[class*="ltsb_"] .kws-block .options label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    margin: 0 !important;
    color: var(--bcasw-text) !important;
    font-size: 12.5px !important;
    line-height: 1.4 !important;
}

/* The refine form uses .search-footer rather than the
   .search-button wrapper found on category pages. */
body[class*="lt-"][class*="-page"] #wrapper aside.left
.side_block[class*="ltsb_"] .search-footer {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 19px 0 0 !important;
    border: 0 !important;
}

body[class*="lt-"][class*="-page"] #wrapper aside.left
.side_block[class*="ltsb_"] .search-footer .align-button {
    display: block !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}

body[class*="lt-"][class*="-page"] #wrapper aside.left
.side_block[class*="ltsb_"] .search-footer input[type="submit"] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 15px !important;
    color: #fff !important;
    background: var(--bcasw-green) !important;
    border-color: var(--bcasw-green) !important;
    border-radius: 9px !important;
    font-weight: 600 !important;
    box-shadow: 0 6px 14px rgba(114, 128, 0, .17) !important;
}

body[class*="lt-"][class*="-page"] #wrapper aside.left
.side_block[class*="ltsb_"] .search-footer input[type="submit"]:hover {
    background: var(--bcasw-green-dark) !important;
    border-color: var(--bcasw-green-dark) !important;
}

/* The two sorting selects are direct children of the search
   item in this template. Arrange them neatly without changing
   their borders, focus styles, or dropdown internals. */
body[class*="lt-"][class*="-page"] #wrapper aside.left
.side_block[class*="ltsb_"] .search-item.two-fields {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px !important;
}

body[class*="lt-"][class*="-page"] #wrapper aside.left
.side_block[class*="ltsb_"] .search-item.two-fields > .field {
    grid-column: 1 / -1 !important;
    margin-bottom: 0 !important;
}

body[class*="lt-"][class*="-page"] #wrapper aside.left
.side_block[class*="ltsb_"] .search-item.two-fields > select {
    width: 100% !important;
    min-width: 0 !important;
}

/* Save-search action becomes part of the card rather than
   looking detached beneath the form. */
body[class*="lt-"][class*="-page"] #wrapper aside.left
.side_block[class*="ltsb_"] #save_search {
    display: block !important;
    width: 100% !important;
    margin: 12px 0 0 !important;
    padding: 12px 0 0 !important;
    text-align: center !important;
    border-top: 1px solid var(--bcasw-line-soft) !important;
}

body[class*="lt-"][class*="-page"] #wrapper aside.left
.side_block[class*="ltsb_"] #save_search .link {
    color: var(--bcasw-green-dark) !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
}

/* Keep the refine-search box useful on desktop without forcing
   a page-width change or touching the footer. */
@media screen and (min-width: 992px) {
    body[class*="lt-"][class*="-page"] #wrapper aside.left
    > .side_block[class*="ltsb_"] {
        overflow: hidden !important;
    }
}

@media screen and (max-width: 991px) {
    body[class*="lt-"][class*="-page"] #wrapper aside.left
    > .side_block[class*="ltsb_"] > div.clearfix {
        padding-right: 16px !important;
        padding-left: 16px !important;
    }
}

/* =========================================================
   BEN'S DETAIL-PAGE ADDITIONS
========================================================= */
body.view-details-page
div.listing-details.details.no-listing-photos
section.main-section {
    background-image: url("https://bcasw.persisca.com/data/files/img-2557396.jpg") !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

body.view-details-page .row.listing-header {
    margin-top: 27px !important;
}

/* =========================================================
   V3.15 MOBILE CONTENT GUTTER
   Gives page content the same breathing room as the header.
   The footer is intentionally not included.
========================================================= */
@media screen and (max-width: 767px) {
    /* One reliable page gutter for listing, search-results,
       and listing-detail content. */
    body #wrapper .inside-container.point1 {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-right: 12px !important;
        padding-left: 12px !important;
    }

    /* Bootstrap's negative row margins were cancelling the
       container padding and making cards touch the screen. */
    body #wrapper .inside-container.point1 > .row,
    body.view-details-page #wrapper .inside-container.point1
    > .row.listing-header {
        width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    /* Let the top-level columns use the gutter supplied by
       .inside-container rather than adding or cancelling it. */
    body #wrapper .inside-container.point1 > .row
    > aside.left,
    body #wrapper .inside-container.point1 > .row
    > section#content,
    body.view-details-page #wrapper .inside-container.point1
    > .row.listing-header > [class*="col-"] {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    /* Breadcrumbs line up with the content cards. */
    body #bread_crumbs > .point1,
    body #bread_crumbs > ul.point1 {
        box-sizing: border-box !important;
        padding-right: 12px !important;
        padding-left: 12px !important;
    }

    /* Space between stacked listing/detail sections without
       forcing any width or changing card internals. */
    body.view-details-page .listing-header {
        width: 100% !important;
    }

    body.view-details-page .listing-details > .main-section,
    body.view-details-page .listing-fields > div,
    body.view-details-page .inside-container
    > .row:not(.listing-header) > aside.left,
    body.view-details-page aside.middle,
    body.view-details-page .listing-details-stat {
        max-width: 100% !important;
    }

    /* Listing and search-result cards also respect the same
       phone gutter when the theme switches views dynamically. */
    body[class*="lt-"][class*="-page"]
    #controller_area #listings {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    body[class*="lt-"][class*="-page"]
    #controller_area #listings > article.item {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    body[class*="lt-"][class*="-page"]
    #controller_area #listings > article.item + article.item {
        margin-top: 12px !important;
    }

    /* Search and refine-search boxes should not touch the phone
       edge when opened as the mobile filter panel. */
    body[class*="lt-"][class*="-page"]
    #wrapper aside.left > .side_block {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media screen and (max-width: 420px) {
    body #wrapper .inside-container.point1,
    body #bread_crumbs > .point1,
    body #bread_crumbs > ul.point1 {
        padding-right: 10px !important;
        padding-left: 10px !important;
    }
}