/* =====================================================================
   CondoY Design System  -  unified visual language (UI/UX)
   Loaded LAST so it is the top of the cascade. Additive & revertible:
   remove the enqueue in inc/ui-enhancements.php to fully roll back.
   Targets the theme's real class names (mapped from the live markup).
   ===================================================================== */

:root{
    --ink:#151a21;          /* primary text            */
    --ink-soft:#5a6472;     /* muted / secondary text  */
    --navy:#0f1e30;         /* deep brand surface      */
    --navy-2:#16283f;       /* raised navy             */
    --gold:#fec20f;         /* brand accent            */
    --gold-deep:#e0a800;    /* accent hover            */
    --surface:#ffffff;
    --surface-2:#f5f7fa;    /* subtle section bg       */
    --line:#e7ebf0;         /* hairline borders        */
    --radius:14px;
    --radius-sm:9px;
    --shadow-sm:0 1px 2px rgba(16,26,42,.06),0 1px 3px rgba(16,26,42,.05);
    --shadow:0 6px 20px rgba(16,26,42,.08);
    --shadow-lg:0 16px 44px rgba(16,26,42,.14);
    --ease:.22s cubic-bezier(.4,0,.2,1);
    --font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
    --font-head:'Sora','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

/* ---------- Base / typography -------------------------------------- */
body{
    font-family:var(--font-body);
    color:var(--ink);
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    line-height:1.6;
}
h1,h2,h3,h4,h5,h6,.slider-title,.hero-section-title h1{
    font-family:var(--font-head);
    color:var(--ink);
    font-weight:700;
    line-height:1.18;
    letter-spacing:-.01em;
}
p{color:var(--ink);}
.text-muted,.text-small{color:var(--ink-soft) !important;}
a{color:var(--ink);transition:color var(--ease);}
a:hover{color:var(--gold-deep);}
img{max-width:100%;height:auto;}
::selection{background:var(--gold);color:#111;}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
html{scroll-behavior:smooth;}

/* ---------- Buttons (one system) ---------------------------------- */
.btn-primary,
.view-more,
.top-section-button,
.btn-slider,
.neighborhood-link,
.hero-section-map-btn,
.wpcf7-submit,
.condoy-lead-cta{
    font-family:var(--font-head);
    font-weight:700;
    letter-spacing:.2px;
    border-radius:var(--radius-sm);
    transition:transform var(--ease),box-shadow var(--ease),background var(--ease),color var(--ease),border-color var(--ease);
}
/* Primary = gold */
.btn-primary,.btn-slider,.view-more,.wpcf7-submit,.condoy-lead-cta{
    background:var(--gold) !important;
    color:#151a21 !important;
    border:2px solid #151a21 !important;
    box-shadow:0 4px 14px rgba(254,194,15,.34);
}
.btn-primary:hover,.btn-slider:hover,.view-more:hover,.wpcf7-submit:hover,.condoy-lead-cta:hover{
    background:#151a21 !important;
    color:var(--gold) !important;
    transform:translateY(-2px);
    box-shadow:var(--shadow-lg);
}
/* Secondary / ghost */
.top-section-button,.hero-section-map-btn,.more,.more-v2{
    background:transparent;
    color:var(--ink);
    border:2px solid var(--line);
}
.top-section-button:hover,.hero-section-map-btn:hover,.more:hover,.more-v2:hover{
    border-color:var(--gold);
    color:var(--gold-deep);
    transform:translateY(-2px);
}
/* .neighborhood-link is a wrapper around the "N Listing / Show on Map"
   buttons, not a button itself - make sure it has no border/background */
.neighborhood-link{border:0 !important;background:transparent !important;box-shadow:none !important;}
.icon-btn{transition:transform var(--ease),color var(--ease);}
.icon-btn:hover{color:var(--gold-deep);transform:translateY(-2px);}

/* ---------- Section titles --------------------------------------- */
.titr-list{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:26px;}
.titr-list h3{position:relative;padding-bottom:12px;margin:0;letter-spacing:-.01em;font-weight:800;}
.titr-list h3::after{content:"";position:absolute;left:0;bottom:0;width:56px;height:3px;background:var(--gold);border-radius:3px;}
.titr-list .view-more{padding:9px 18px;font-size:13px;}

/* ---------- Cards (unified) -------------------------------------- */
.properties-card,
.card-blog,
.card-teams,
.card-listing,
.card-listing-v2,
.neighborhood-link-item{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:var(--shadow-sm);
    transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease);
}
.properties-card:hover,
.card-blog:hover,
.card-teams:hover,
.card-listing:hover,
.card-listing-v2:hover,
.neighborhood-link-item:hover{
    transform:translateY(-5px);
    box-shadow:var(--shadow-lg);
    border-color:transparent;
}
.card-blog-image,.properties-card_image,.neighborhood-image,.card-listing-image{overflow:hidden;}
.card-blog-image img,.properties-card_image img,.neighborhood-image img,.card-listing-image img{
    transition:transform .45s var(--ease);
}
.card-blog:hover .card-blog-image img,
.properties-card:hover .properties-card_image img,
.neighborhood-link-item:hover .neighborhood-image img,
.card-listing:hover .card-listing-image img{transform:scale(1.06);}
.date-blog{color:var(--gold-deep);font-weight:600;}
.properties-card_price{font-weight:700;}
.properties-card_price svg{color:var(--gold);}

/* ---------- Forms ------------------------------------------------- */
.form-control,.wpcf7-form-control:not([type=submit]):not([type=checkbox]):not([type=radio]){
    border:1.5px solid var(--line);
    border-radius:var(--radius-sm);
    transition:border-color var(--ease),box-shadow var(--ease);
}
.form-control:focus,
.wpcf7-form-control:not([type=submit]):focus{
    border-color:var(--gold) !important;
    box-shadow:0 0 0 3px rgba(254,194,15,.22) !important;
    outline:none;
}

/* ---------- Navigation (desktop sticky) -------------------------- */
#sticker .wrap-nav{box-shadow:var(--shadow-sm);}
.nav-title,.nav-link{font-family:var(--font-head);font-weight:600;transition:color var(--ease);}
.nav-item>.nav-link,.nav-item>a{position:relative;}
.nav-item>.nav-link:hover,.nav-item>a:hover,.nav-title:hover{color:var(--gold-deep);}
.submenu,.submenu2{box-shadow:var(--shadow-lg);border-radius:var(--radius-sm);border:1px solid var(--line);}
.sub-item:hover,.sub2-item:hover{background:var(--surface-2);}

/* ---------- Footer (light, harmonised with the site) ------------ */
.footer{background:var(--surface-2);color:var(--ink);border-top:3px solid var(--gold);}
.footer a,.footer .content-footer-widget,.footer p,.footer li,.footer span{color:var(--ink-soft);}
.footer a:hover{color:var(--gold-deep);}
.title-footer-widget{color:var(--ink);font-family:var(--font-head);font-weight:700;position:relative;padding-bottom:10px;margin-bottom:16px;}
.title-footer-widget::after{content:"";position:absolute;left:0;bottom:0;width:42px;height:3px;background:var(--gold);border-radius:3px;}
.item-social,.list-social a{
    display:inline-flex;align-items:center;justify-content:center;
    width:40px;height:40px;border-radius:50%;
    background:#fff;color:var(--ink);border:1px solid var(--line);
    transition:background var(--ease),color var(--ease),transform var(--ease);
}
.item-social:hover,.list-social a:hover{background:var(--gold);color:#151a21;border-color:var(--gold);transform:translateY(-2px);}
.card-footer{border-color:var(--line) !important;color:var(--ink-soft) !important;background:transparent !important;}

/* ---------- Hero ------------------------------------------------- */
.hero-section-title h1{font-weight:800;}
.hero-section-title p{color:var(--ink-soft);}
/* The desktop slider text overlays a photo -> keep it light + legible */
.section-slide .slider-title{color:#fff !important;text-shadow:0 2px 16px rgba(0,0,0,.6);font-weight:800;}
/* breathing room + visibility for the slider search icon */
.wrap-search-slider .search-slider .fa-search{margin-left:14px;color:#fff;font-size:18px;}

/* ---------- Misc ------------------------------------------------- */
.hlr-tooltip{border-radius:var(--radius-sm);}
.wrap-testimonials,.single-item{border-radius:var(--radius);}

/* ---------- Property page: floorplan tables ---------------------- */
#example thead th,.card-form .table thead th{
    font-family:var(--font-head);font-weight:700;color:var(--ink);
    background:var(--surface-2);border-bottom:2px solid var(--line);
    text-transform:uppercase;font-size:12px;letter-spacing:.04em;
}
#example td,.card-form .table td{border-color:var(--line);vertical-align:middle;}
#example tbody tr,.card-form .table tbody tr{transition:background var(--ease);}
#example tbody tr:hover,.card-form .table tbody tr:hover{background:var(--surface-2);}

/* ---------- Property page: Table of Contents (#tag-list) --------
   NOTE: script.js builds the TOC as <li><a class="item-list-tag"> items,
   so this must stay a clean VERTICAL list (not inline pills). */
nav#table-of-contents{background:#fff !important;border:1px solid var(--line);border-radius:12px;padding:10px !important;}
#table-of-contents .title{font-family:var(--font-head);}
#tag-list,ol#tag-list{list-style:none !important;padding-left:0 !important;margin:0 !important;}
#tag-list li,ol#tag-list li{
    list-style:none !important;background:transparent !important;
    margin:0 0 1px !important;padding:0 !important;color:inherit !important;border-radius:0 !important;
}
#tag-list li a.item-list-tag,a.item-list-tag{
    display:block;padding:9px 12px;border-radius:8px;
    color:var(--ink-soft) !important;font-weight:600;font-family:var(--font-head);
    line-height:1.35;border-left:3px solid transparent;text-decoration:none;
    transition:background var(--ease),color var(--ease),border-color var(--ease);
}
#tag-list li a.item-list-tag:hover,a.item-list-tag:hover,a.item-list-tag.active{
    background:var(--surface-2) !important;color:var(--gold-deep) !important;border-left-color:var(--gold);
}

/* ---------- Property description: heading rhythm ---------------- */
.content-original h2{margin-top:2rem;margin-bottom:.6rem;}
.content-original h3{margin-top:1.5rem;margin-bottom:.5rem;}
.content-original h2:first-child,.content-original h3:first-child{margin-top:0;}
.content-original p{margin-bottom:1rem;}
.content-original ul,.content-original ol{margin-bottom:1rem;}

/* ---------- Property page: price + labels ---------------------- */
.start-price{font-family:var(--font-head);font-weight:800;letter-spacing:-.02em;}
.lable-listing,.lable-listing-v2{color:var(--ink-soft);font-weight:600;letter-spacing:.02em;}

/* ---------- Characteristics grid ------------------------------- */
.characteristics-cnt li{
    background:var(--surface-2);border:1px solid var(--line);
    border-radius:var(--radius-sm);transition:border-color var(--ease),transform var(--ease);
}
.characteristics-cnt li:hover{border-color:var(--gold);transform:translateY(-2px);}

/* ---------- Testimonials cards --------------------------------- */
.card-testimonials{
    background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
    box-shadow:var(--shadow-sm);transition:transform var(--ease),box-shadow var(--ease);
}
.card-testimonials:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}

/* ---------- Search: inputs + results dropdown ------------------- */
/* lift the whole search area above sibling hero elements */
.wrap-search,.wrap-search-slider,.hero-section-search-wrap{position:relative;z-index:60;}
/* header search: ONE pill containing both the input and the icon button
   (bootstrap's input-group rendered them as two detached pieces) */
.wrap-search{display:flex;align-items:center;}
.wrap-search form.input-group{padding:0 !important;margin:0 !important;}
.wrap-search .input-group{display:flex;align-items:center;flex-wrap:nowrap;height:32px;
    background:var(--surface-2);border:1.5px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;}
.wrap-search .input-search{border:0 !important;background:transparent !important;box-shadow:none !important;
    height:30px;max-width:225px;border-radius:var(--radius-sm);padding-left:14px;font-size:13px;}
.wrap-search .input-group-append{display:flex;}
.wrap-search .btn-search{border:0 !important;background:transparent !important;color:var(--ink-soft);
    height:30px;display:flex;align-items:center;padding:0 11px;}
.wrap-search .btn-search:hover{color:var(--gold-deep);}
.wrap-search .search-result{left:0;right:0;width:auto;min-width:0;top:calc(100% + 6px);border-radius:var(--radius-sm);}
/* header Sign In: brand gold like the other primary buttons, compact size */
.btn-signin{display:inline-flex;align-items:center;gap:6px;background:var(--gold) !important;
    border:0 !important;color:#151a21 !important;border-radius:var(--radius-sm);
    padding:6px 13px;font-family:var(--font-head);font-weight:700;font-size:13px;
    text-decoration:none !important;transition:background var(--ease),color var(--ease);}
.btn-signin:hover{background:#151a21 !important;color:var(--gold) !important;}
/* stop the "Search on map" button from covering the results dropdown */
.hero-section-map-btn{position:relative;z-index:1;}

.search-result{
    background:#fff !important;border:1px solid var(--line);border-radius:var(--radius);
    box-shadow:var(--shadow-lg);padding:8px;
    max-height:440px;overflow-y:auto;z-index:99999 !important;
}
.search-result .info-title{
    font-family:var(--font-head);font-size:11px;text-transform:uppercase;
    letter-spacing:.08em;color:var(--ink-soft);margin:12px 10px 4px;font-weight:700;
    border-bottom:0 !important;padding-bottom:0;
}
/* the theme styles EVERY span inside the search wrap as a 1px gray divider
   pipe - undo that inside the results list (it painted a gray bar behind
   every result title on mobile) */
.hero-section-search-wrap .search-result span{
    width:auto;height:auto;background:transparent;margin:0;
}
/* tidy thin scrollbar for the results list */
.search-result{scrollbar-width:thin;scrollbar-color:var(--gold) transparent;}
.search-result::-webkit-scrollbar{width:5px;}
.search-result::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px;}
.search-result::-webkit-scrollbar-track{background:transparent;}
.search-result .info-title:first-of-type{margin-top:2px;}
/* clean flat rows (override the theme's heavy per-card box) */
.result-card{
    background:transparent !important;box-shadow:none !important;
    border:0 !important;border-left:3px solid transparent !important;
    border-radius:var(--radius-sm) !important;padding:0 !important;margin:1px 0 !important;
    transition:background var(--ease),border-color var(--ease);
}
.result-card:hover{background:var(--surface-2) !important;border-left-color:var(--gold) !important;}
.result-card a,.card-result-label{
    display:flex;align-items:center;gap:10px;padding:8px 10px;
    color:var(--ink) !important;font-weight:600;text-decoration:none;
    font-family:var(--font-body);line-height:1.3;font-size:14px;
}
.result-card a:hover,.card-result-label:hover{color:var(--gold-deep) !important;}
.result-thumb{
    width:46px;height:46px;flex:0 0 46px;object-fit:cover;border-radius:8px;
    background:var(--surface-2);border:1px solid var(--line);
}
.result-thumb--placeholder{display:inline-flex;align-items:center;justify-content:center;color:var(--ink-soft);}
.result-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.result-card .fa-map-marker{color:var(--gold);}
/* results close button removed (close via outside-click / Esc / clearing input) */
#close-search{display:none !important;}

/* Slider search: one unified pill with the icon INSIDE (was floating outside) */
.wrap-search-slider .search-slider{
    display:flex;align-items:center;
    background:rgba(12,18,28,.42);
    border:1px solid rgba(255,255,255,.35);
    border-radius:14px;overflow:hidden;
}
.wrap-search-slider .input-search-slider{
    flex:1 1 auto;background:transparent !important;border:none !important;
    box-shadow:none !important;color:#fff !important;padding:16px 18px;
}
.wrap-search-slider .input-search-slider::placeholder{color:rgba(255,255,255,.78);}
.wrap-search-slider .search-slider .fa-search{
    flex:0 0 auto;color:#fff;font-size:18px;padding:0 20px;margin:0;cursor:pointer;
}

/* Loading spinner on the input's right while a search request is pending */
.wrap-search-slider.searching::after,
.wrap-search.searching::after,
.hero-section-search-wrap.searching::after{
    content:"";position:absolute;top:50%;right:56px;margin-top:-9px;
    width:18px;height:18px;border-radius:50%;
    border:2px solid rgba(140,140,140,.35);border-top-color:var(--gold);
    animation:hlr-spin .7s linear infinite;pointer-events:none;z-index:5;
}
@keyframes hlr-spin{to{transform:rotate(360deg);}}

/* =====================================================================
   .card-listing - same clean vertical card as .properties-card
   DOM: .card-listing > .card-listing-image + .card-body-listing
        (_content[h6,_description] , .lable-listing) + .more(actions) + .card-share
   ===================================================================== */
.card-listing,.card-listing-v2{
    display:flex !important;flex-direction:column !important;height:100% !important;width:auto !important;
    align-items:stretch !important;justify-content:flex-start !important;position:relative;
    background:#fff !important;border:1px solid var(--line) !important;border-radius:var(--radius) !important;
    overflow:hidden !important;box-shadow:var(--shadow-sm) !important;padding:0 !important;
    transition:transform var(--ease),box-shadow var(--ease) !important;
}
.card-listing:hover,.card-listing-v2:hover{transform:translateY(-4px) !important;box-shadow:var(--shadow-lg) !important;}
.card-listing-image,.card-listing-image-v2{
    width:100% !important;height:auto !important;aspect-ratio:16/9 !important;margin:0 !important;
    border:0 !important;border-radius:0 !important;overflow:hidden !important;flex:0 0 auto;
}
.card-listing-image a{display:block;width:100%;height:100%;}
.card-listing-image img,.card-listing-image-v2 img{width:100% !important;height:100% !important;object-fit:cover !important;transition:transform .45s var(--ease);}
.card-listing:hover .card-listing-image img{transform:scale(1.05);}
.card-body-listing,.card-body-listing-v2{
    display:flex !important;flex-direction:column !important;gap:6px;flex:1 1 auto !important;min-width:0;
    padding:14px 16px 10px !important;width:100% !important;
}
.card-listing-content,.card-listing-content-v2{width:100% !important;height:auto !important;padding:0 !important;display:flex;flex-direction:column;gap:6px;}
.card-listing-content a h6,.card-listing-content h6{margin:0 !important;font-family:var(--font-head);font-weight:700;font-size:16px;color:var(--ink) !important;
    display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}
.card-listing-content a{color:var(--ink) !important;text-decoration:none;}
.card-listing-description,.card-listing-description-v2{font-size:13px;line-height:1.4;height:auto !important;overflow:visible !important;}
.card-listing-description a{color:var(--ink-soft) !important;text-decoration:none;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.lable-listing,.lable-listing-v2{display:flex !important;flex-direction:column;gap:4px;margin:auto 0 0 !important;padding:8px 0 0 !important;border-top:1px solid var(--line);}
.lable-listing div,.lable-listing-v2 div{font-size:13px;line-height:1.4;color:var(--ink);font-weight:600;}
/* actions: horizontal row at the very bottom; hide the "more" text link */
.more,.more-v2{
    transform:none !important;position:static !important;inset:auto !important;width:auto !important;flex:0 0 auto;
    display:flex !important;flex-direction:row !important;align-items:center;gap:16px;
    background:transparent !important;border:0 !important;box-shadow:none !important;padding:8px 16px 14px !important;margin:0 !important;
}
.more > a,.more-v2 > a{display:none !important;}
.card-listing-options{display:flex !important;flex-direction:row !important;align-items:center;gap:16px;margin:0;color:var(--ink-soft);}
.card-listing-options > div{display:flex;flex-direction:row;align-items:center;gap:4px;}
.card-listing-options i{transform:none !important;color:var(--ink-soft);cursor:pointer;transition:color var(--ease);font-size:16px;}
.card-listing-options i:hover{color:var(--gold-deep);}
#like-total{font-size:12px;line-height:1;}
.incentive-item-group{height:auto !important;max-height:none !important;overflow:visible !important;}
/* Share panel: fully hidden until the share icon is clicked (it was ghosting
   over the top of the card in the new layout). Opens as a top overlay. */
.card-share{
    position:absolute !important;top:0 !important;left:0 !important;right:0 !important;bottom:auto !important;
    z-index:6;display:flex !important;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;
    padding:16px !important;margin:0 !important;background:rgba(255,255,255,.97) !important;border-bottom:1px solid var(--line);
    opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px) !important;
    transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s;
}
.card-share.opened{opacity:1 !important;visibility:visible !important;pointer-events:auto !important;transform:translateY(0) !important;}
.card-share a{color:var(--ink-soft) !important;font-size:18px;}
.card-share a:hover{color:var(--gold-deep) !important;}
.card-share .share-close{cursor:pointer;margin-left:4px;color:var(--ink-soft);}

/* Neutralize the theme's fixed heights (they caused the address to overflow
   and collide with the actions row) and its loud coloured spec boxes. */
.card-listing-v2,.card-body-listing-v2,.card-listing-image-v2,
.lable-listing,.lable-listing-v2{height:auto !important;}
.lable-listing div:nth-child(1),.lable-listing div:nth-child(2),.lable-listing div:nth-child(3),
.lable-listing-v2 div:nth-child(1),.lable-listing-v2 div:nth-child(2),.lable-listing-v2 div:nth-child(3){
    background:var(--surface-2) !important;color:var(--ink) !important;
    padding:5px 9px !important;border-radius:7px !important;margin:0 !important;
    font-weight:600 !important;font-size:12.5px !important;line-height:1.35 !important;
}
.card-listing-options i{transform:none !important;}

/* ---------- Fixed, uniform image + content-sized cards ------------------
   Images keep a FIXED 16:10 ratio so they're identical across all cards.
   Cards size to their content (no forced equal-height stretch), so there's
   no empty gap to fill and the text sits directly under the image. */
.properties-card_image,.card-listing-image,.card-listing-image-v2{
    flex:0 0 auto !important;aspect-ratio:16/10 !important;height:auto !important;min-height:0 !important;width:100% !important;
}
.properties-card,.card-listing,.card-listing-v2{height:100% !important;}
.properties-card_detail,.card-body-listing,.card-body-listing-v2{flex:1 1 auto !important;display:flex !important;flex-direction:column !important;}
.properties-card_opt{margin-top:12px !important;}
.lable-listing,.lable-listing-v2{margin:12px 0 0 !important;}
/* pin the actions row to the very bottom so equal-height cards absorb any
   extra space as one clean gap above the actions (not a middle gap) */
.properties-card_actions{margin-top:auto !important;}
.card-listing .more,.card-listing-v2 .more,.more,.more-v2{margin-top:auto !important;}
/* Price / beds / baths shown as a badge over the TOP-RIGHT of the card image */
.properties-card,.card-listing,.card-listing-v2{position:relative;}
.properties-card_actions{justify-content:flex-start !important;gap:14px !important;}
.properties-card_stats{
    position:absolute !important;top:12px;right:12px;left:auto;bottom:auto;margin:0 !important;z-index:4;
    display:flex;align-items:center;flex-wrap:nowrap;white-space:nowrap;gap:0 6px;
    background:rgba(17,22,29,.82);color:#fff !important;padding:7px 12px;border-radius:999px;
    box-shadow:0 4px 14px rgba(0,0,0,.28);
    font-family:var(--font-head);font-weight:700;font-size:13.5px;line-height:1;
}
.properties-card_stats .pc-dot{color:var(--gold);margin:0 1px;}

/* Project logo chip over the TOP-LEFT of the card image (only when set) */
.properties-card_image,.card-listing-image{position:relative;}
.properties-card_image img.properties-card_logo,
.card-listing-image img.properties-card_logo,
.properties-card_logo{
    position:absolute !important;top:12px;left:12px;right:auto;bottom:auto;z-index:4;margin:0 !important;
    max-width:120px;max-height:85px;width:auto;height:auto;object-fit:contain !important;
    padding:5px 8px;border-radius:10px;
    background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.22);
}

/* "Inquiry" button on the right of the Like / Save actions */
.properties-card_actions,.more,.more-v2{align-items:center;}
.properties-card_inquiry{
    margin-left:auto !important;display:inline-flex;align-items:center;gap:5px;
    background:var(--gold);color:#151a21 !important;border:2px solid #151a21;
    font-family:var(--font-head);font-weight:700;font-size:13.5px;line-height:1;
    padding:9px 17px;border-radius:var(--radius-sm);text-decoration:none !important;white-space:nowrap;
    transition:background var(--ease),color var(--ease),transform var(--ease),box-shadow var(--ease);
}
.properties-card_inquiry:hover{background:#151a21;color:var(--gold) !important;transform:translateY(-1px);box-shadow:var(--shadow);}

/* Incentives: cap the height and scroll, so a long list can't blow up the
   card size - keeps all cards the same height. */
.incentives-taxonomy,.incentive-item-group{
    max-height:68px !important;overflow-y:auto !important;overflow-x:hidden !important;
    scrollbar-width:thin;scrollbar-color:var(--gold) transparent;
}
/* ~3 incentive rows visible by default; scroll for the rest */
.incentives-taxonomy li,.incentive-item{min-height:21px;flex-shrink:0;height:auto !important;}
.incentives-taxonomy::-webkit-scrollbar,.incentive-item-group::-webkit-scrollbar{width:5px;}
.incentives-taxonomy::-webkit-scrollbar-thumb,.incentive-item-group::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px;}
.incentives-taxonomy::-webkit-scrollbar-track,.incentive-item-group::-webkit-scrollbar-track{background:transparent;}

/* =====================================================================
   PROPERTY CARD - clean, standard, responsive redesign (overrides theme)
   DOM: .properties-card > .properties-card_image + .properties-card_detail
        (_title, _desc [+incentives], _opt [price/size/addr], _actions)
   ===================================================================== */
.properties-card{
    display:flex !important;flex-direction:column !important;height:100% !important;
    min-height:0 !important;max-height:none !important; /* drop theme's 320/430px caps so equal-height can stretch */
    width:auto !important;background:#fff !important;border:1px solid var(--line) !important;
    border-radius:var(--radius) !important;overflow:hidden !important;
    box-shadow:var(--shadow-sm) !important;padding:0 !important;
    transition:transform var(--ease),box-shadow var(--ease) !important;
}
.properties-card:hover{transform:translateY(-4px) !important;box-shadow:var(--shadow-lg) !important;}
.properties-card_image{position:relative !important;width:100% !important;aspect-ratio:16/10 !important;flex:0 0 auto !important;
    height:auto !important;min-height:0 !important;max-height:none !important; /* drop theme's 230px/40% image caps */
    margin:0 !important;overflow:hidden !important;background:var(--surface-2);border:0 !important;border-radius:0 !important;}
.properties-card_image a{display:block;width:100%;height:100%;}
.properties-card_image img{width:100% !important;height:100% !important;object-fit:cover !important;transition:transform .45s var(--ease);}
.properties-card:hover .properties-card_image img{transform:scale(1.05);}
.properties-card_detail{display:flex !important;flex-direction:column !important;gap:7px !important;
    padding:14px 16px 16px !important;flex:1 1 auto !important;height:auto !important;min-height:0 !important;
    justify-content:flex-start !important;width:100% !important;}
/* neutralize the theme's auto-margin distribution on detail children (it fought the flex layout) */
.properties-card_detail>*{margin:0 !important;}
.properties-card_title{margin:0 !important;}
.properties-card_title h6{margin:0 !important;font-family:var(--font-head);font-weight:700;font-size:17.5px;color:var(--ink) !important;
    display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}
.properties-card_title a{color:var(--ink) !important;text-decoration:none;}
.properties-card_desc{font-size:14px;color:var(--ink-soft);margin:0 !important;}
.properties-card_desc>a{color:var(--ink-soft) !important;text-decoration:none;line-height:1.45;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
    min-height:2.9em;} /* always reserve 2 lines so the block below aligns across cards */
.properties-card_desc br{display:none;}
/* incentives - subtle gold list, always visible */
.incentives-taxonomy,.incentive-item-group{list-style:none !important;margin:6px 0 0 !important;padding:0 !important;
    display:flex !important;flex-direction:column;gap:4px;}
.incentives-taxonomy li,.incentive-item{display:flex;align-items:flex-start;gap:6px;font-size:13px;color:#8a6d00;line-height:1.35;margin:0 !important;}
.incentives-taxonomy li i,.incentive-item i,.incentive-item svg{color:var(--gold-deep);margin-top:2px;flex:0 0 auto;}
.incentives-taxonomy .custom-text,.incentive-item{color:#8a6d00;}
/* specs (price / size / address) flow with the content, no divider of their own */
/* two-column specs row: pairs like [Sq Ft | City] [Built In | ...] */
.properties-card_opt{display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;
    gap:6px 0 !important;margin-top:0 !important;padding-top:0 !important;border-top:0 !important;}
.properties-card_opt>div{flex:0 0 50%;max-width:50%;min-width:0;padding-right:8px;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.properties-card_opt:empty{display:none !important;}
.properties-card_price,.properties-card_size,.properties-card_addr{
    display:flex !important;align-items:center;gap:7px;font-size:14px;color:var(--ink);font-weight:600;line-height:1.3;margin:0 !important;}
.properties-card_addr{color:var(--ink-soft);font-weight:500;}
.properties-card_opt svg{flex:0 0 auto;color:var(--gold-deep);width:15px;height:15px;}
/* address as a pill overlay on the bottom-left of the image */
.properties-card_addr--over{
    position:absolute !important;left:12px;bottom:12px;top:auto;right:auto;z-index:4;margin:0 !important;
    max-width:calc(100% - 24px);display:inline-flex !important;align-items:center;gap:4px;
    color:#fff !important;text-shadow:1px 1px 1px rgba(0,0,0,.9);
    background:rgba(93,93,93,.91);border-radius:5px;padding:3px 9px 3px 5px;
    font-size:13.5px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;}
.properties-card_addr--over svg{flex:0 0 auto;width:14px;height:14px;color:#fff;}
.properties-card_addr--over span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.properties-card_addr--over{max-width:calc(100% - 24px);}
/* Desktop hero search: results dropdown must beat the slide caption
   (bootstrap z=10) and the boxes under the hero */
.section-slide{z-index:40 !important;}
.section-slide .search-result{z-index:120;}

/* ---------- Mobile hero: full-bleed image, overlay headline + search ------ */
.hlr-hero{
    position:relative;display:flex;align-items:flex-end;
    /* NO overflow:hidden - it would clip the search-results dropdown; the
       rounded corners live on the media/overlay layers instead. z-index keeps
       the open dropdown above the sections below the hero. */
    z-index:50;
    min-height:min(68vh,500px);margin:0 0 24px;border-radius:0 0 22px 22px;
    background:var(--ink);
}
.hlr-hero_media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0 0 22px 22px;}
.hlr-hero_overlay{position:absolute;inset:0;border-radius:0 0 22px 22px;
    background:linear-gradient(180deg,rgba(17,22,29,.15) 0%,rgba(17,22,29,.35) 50%,rgba(17,22,29,.86) 100%);}
.hlr-hero_content{position:relative;z-index:2;width:100%;padding:24px 18px 22px;color:#fff;}
.hlr-hero_content h1{font-family:var(--font-head);font-weight:800;font-size:30px;line-height:1.12;color:#fff;margin:0 0 6px;}
.hlr-hero_tagline{color:var(--gold);font-family:var(--font-head);font-weight:600;font-size:14px;letter-spacing:.3px;margin:0 0 16px;}
/* the shared search component, restyled for the dark overlay context */
.hlr-hero .hero-section-search{width:100%;}
.hlr-hero .hero-section-search-wrap{
    display:flex;align-items:center;gap:8px;position:relative;z-index:3;
    background:#fff;border-radius:14px;padding:6px;box-shadow:0 12px 32px rgba(0,0,0,.35);
}
.hlr-hero .hero-section-search-input{display:flex;align-items:center;flex:1 1 auto;min-width:0;background:transparent;}
.hlr-hero .hero-section-search-input-icon{
    flex:0 0 auto;display:flex;align-items:center;justify-content:center;
    width:40px;height:40px;border-radius:10px;background:var(--gold);color:#151a21;padding:0;margin:0;
}
.hlr-hero .hero-section-search-input input{
    flex:1 1 auto;min-width:0;border:0;outline:none;background:transparent;
    font-size:15px;color:var(--ink);padding:0 10px;height:40px;box-shadow:none;
}
.hlr-hero .hero-section-search-wrap>span{display:none;}
.hlr-hero .hero-section-map-btn{
    flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;
    background:#151a21;color:#fff !important;border-radius:10px;height:40px;padding:0 14px;
    font-family:var(--font-head);font-weight:700;font-size:14px;text-decoration:none;
}
.hlr-hero .search-result{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:60;}

/* ---------- Accessibility: contrast fixes (WCAG AA / Lighthouse) --------- */
/* blog card description was #999 on white (2.84:1) */
.card-blog-description{color:#5f6b76 !important;}
/* card titles are now <h4 class="h6"> for a valid heading order - style both */
.properties-card_title h4{margin:0 !important;font-family:var(--font-head);font-weight:700;font-size:17.5px;color:var(--ink) !important;
    display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}
.properties-card:hover .properties-card_title a h4{color:var(--gold-deep) !important;}
/* minimum touch-target sizes for carousel controls (Lighthouse target-size) */
.owl-dots .owl-dot{min-width:28px;min-height:28px;}
.owl-nav button.owl-prev,.owl-nav button.owl-next{min-width:44px;min-height:44px;}

/* Term-archive card CTAs (city / neighborhood / tag). They were two bare inline-block buttons
   with only collapsible whitespace between them, so they touched side by side and stacked flush
   when the card was too narrow to hold both. */
.card-body .card-actions{display:flex;flex-wrap:wrap;gap:8px;}

/* White on #ffad00 was ~1.9:1 - dark ink on gold reads at ~10:1 */
a.neighborhood-link-item,.neighborhood-link-item{color:#151a21 !important;font-weight:700;}
/* Muted gray date/desc text was under 3:1 on white */
.date-blog,.date-blog span{color:#5f6b76 !important;}
.top-section-description{color:#5f6b76 !important;}

/* ---------- Top-section trio: neutral light cards, navy icon chips ------- */
.card-top-section{
    background:var(--surface-2) !important;
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:36px 26px 30px;
}
.card-top-section:hover{box-shadow:var(--shadow);}
.top-section-icon{
    width:72px;height:72px;border-radius:50%;
    background:#e7ecf2;
    display:flex;align-items:center;justify-content:center;
    padding:0 !important;margin-bottom:18px;
}
.top-section-icon i{font-size:1.9rem;color:#3d5a80 !important;}
.top-section-title{
    font-family:var(--font-head);font-weight:700;font-size:23px;color:var(--ink);
    margin-bottom:10px;letter-spacing:-.01em;
}
.top-section-description{color:#5f6b76 !important;font-size:14px;line-height:1.7;max-width:560px;margin:0 auto 6px;}
.card-top-section .top-section-button{
    background:#fff !important;border:1px solid #d9dfe7 !important;color:var(--ink) !important;
    border-radius:10px;padding:10px 24px;font-family:var(--font-head);font-weight:600;font-size:14.5px;
    box-shadow:0 1px 2px rgba(16,26,42,.05);
}
.card-top-section .top-section-button:hover{border-color:var(--gold) !important;transform:translateY(-2px);box-shadow:var(--shadow);}

/* deferred (scroll-loaded) images: soft placeholder tint, fade in once loaded */
img.hlr-lazy{background:var(--surface-2);}
img.hlr-lazy--loaded{background:transparent;animation:hlrFadeIn .35s ease;}
@keyframes hlrFadeIn{from{opacity:.4}to{opacity:1}}
/* actions row - a proper footer bar pinned to the bottom with a divider above
   (compound selector so margin-top:auto wins over the .properties-card_detail>* reset) */
.properties-card_detail .properties-card_actions{display:flex !important;align-items:center;gap:14px;
    margin-top:auto !important;padding-top:12px !important;border-top:1px solid var(--line);}
.properties-card_actions_btn{display:inline-flex !important;align-items:center;justify-content:flex-start !important;gap:5px;cursor:pointer;
    min-width:0 !important;width:auto !important;color:var(--ink-soft) !important;font-size:14px;font-weight:600;transition:color var(--ease);background:none;border:0 !important;padding:0 !important;}
/* drop the like-count span entirely when there are 0 likes, so Save sits tight next to Like */
.properties-card_actions_btn #like-total:empty{display:none !important;}
.properties-card_actions_btn:hover{color:var(--gold-deep) !important;}
.properties-card_actions_btn i{font-size:17px;}
/* equal-height cards across a carousel row (uniform images kept via fixed ratio) */
.listing-wrap.owl-carousel .owl-stage,.listing-wrap2.owl-carousel .owl-stage{display:flex;}
.listing-wrap .owl-item,.listing-wrap2 .owl-item{display:flex;height:auto;}
.listing-wrap .owl-item > div,.listing-wrap2 .owl-item > div{display:flex;width:100%;}

/* ---------- Motion preference ------------------------------------ */
@media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *,*::before,*::after{transition:none !important;}
    .properties-card:hover,.card-blog:hover,.card-teams:hover,.card-listing:hover,
    .neighborhood-link-item:hover,.btn-primary:hover,.view-more:hover{transform:none;}
}

/* ---------- Responsive / mobile ---------------------------------- */
@media (max-width:768px){
    .titr-list{margin-bottom:20px;}
    .titr-list h3{font-size:1.35rem;}
    .titr-list .view-more{padding:7px 14px;font-size:12px;}
    .hero-section-title h1{font-size:1.9rem;}
    .footer{text-align:center;}
    .title-footer-widget::after{left:50%;transform:translateX(-50%);}
    .list-social,.item-social{justify-content:center;}
}

/* ---------- Neighborhood tiles: full image + smooth bottom gradient --- */
.titr-list h3{color:var(--ink) !important;} /* was theme blue rgb(59,116,155) */
.wrap-neighborhood{
    position:relative;border-radius:var(--radius);overflow:hidden;
    height:340px;max-height:340px;background:var(--ink);
    border:1px solid var(--line);box-shadow:var(--shadow-sm);padding:0;
}
/* the theme painted a FLAT #00000063 wash over the whole tile - replace it
   with a smooth bottom-to-top gradient just behind the text */
.wrap-neighborhood::before{content:none !important;}
.wrap-neighborhood::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(180deg,rgba(17,22,29,.62) 0%,rgba(17,22,29,0) 30%,rgba(17,22,29,0) 60%,rgba(17,22,29,.8) 100%);}
.wrap-neighborhood .neighborhood-image{display:block;width:100%;height:100% !important;object-fit:cover;}
.neighborhood-title{
    position:absolute !important;left:16px;right:16px;top:14px;bottom:auto;z-index:2;width:auto !important;
    background:transparent !important;color:#fff !important;text-align:left !important;
    font-family:var(--font-head) !important;font-weight:800;font-size:21px;line-height:1.25;
    padding:0 !important;text-shadow:1px 1px 2px #000000;border-radius:0;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
div.neighborhood-link{position:absolute;left:14px;right:auto;bottom:12px;top:auto;padding:0 !important;margin:0;display:flex;gap:8px;z-index:2;}
a.neighborhood-link-item{
    background:var(--gold) !important;color:#151a21 !important;border:0 !important;box-shadow:none !important;
    font-family:var(--font-head);font-weight:700;font-size:12.5px;border-radius:7px !important;padding:7px 14px !important;white-space:nowrap;
    transition:background var(--ease),color var(--ease);
}
a.neighborhood-link-item:hover{background:#151a21 !important;color:var(--gold) !important;transform:none;}
.neighborhood-link-item-disable{
    background:rgba(255,255,255,.92) !important;color:var(--ink-soft) !important;
    border:0;border-radius:7px;padding:7px 14px;white-space:nowrap;
    font-family:var(--font-head);font-weight:600;font-size:12.5px;
}

/* ---------- Agent cards: clean portrait + bottom gradient ------------ */
.card-teams{height:390px !important;border-radius:var(--radius) !important;overflow:hidden;
    border:1px solid var(--line);box-shadow:var(--shadow-sm);cursor:pointer;
    transition:transform var(--ease),box-shadow var(--ease) !important;}
.card-teams:hover{transform:translateY(-5px) !important;box-shadow:var(--shadow-lg) !important;}
.card-teams::after{
    border-radius:var(--radius);
    background:linear-gradient(180deg,rgba(17,22,29,0) 48%,rgba(17,22,29,.88) 100%) !important;
}
.card-teams img{filter:none !important;-webkit-filter:none !important;border-radius:var(--radius);}
.card-teams:hover img{transform:scale(1.04);}
.card-teams .card-teams-content{margin-bottom:18px !important;padding:0 18px;gap:3px;}
.card-teams .card-teams-title{
    padding:0 !important;font-family:var(--font-head);font-weight:700;font-size:17px;color:#fff;line-height:1.3;
}
.card-teams:hover .card-teams-title{color:var(--gold);}
.card-teams .card-teams-staff,.card-teams .card-teams-staff a{
    color:var(--gold) !important;font-family:var(--font-head);font-weight:600;
    font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;padding:0 !important;
}
/* drop the floating gold dash decorations */
.card-teams .card-teams-title::before,
.card-teams .card-teams-staff::before{display:none !important;content:none !important;}

/* ---------- Mobile: compact vertical rhythm (way less scrolling) ------- */
@media (max-width: 903px){
    /* the 3 intro cards: tall stacked boxes -> compact horizontal rows */
    .card-top-section{
        flex-direction:row !important;align-items:center !important;text-align:left !important;
        gap:12px;padding:14px 14px !important;
    }
    .top-section-icon{width:46px;height:46px;flex:0 0 46px;margin:0 !important;}
    .top-section-icon i{font-size:1.25rem;}
    .top-section-content{flex:1 1 auto;min-width:0;}
    .top-section-title{font-size:15.5px;margin-bottom:2px;text-align:left;}
    .top-section-description{
        font-size:12.5px;line-height:1.55;margin:0;text-align:left;max-width:none;
        display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
    }
    .wrap-top-section-button{flex:0 0 auto;}
    .card-top-section .top-section-button{padding:8px 13px;font-size:12.5px;white-space:nowrap;}
    .col-12 .card-top-section{height:auto !important;}

    /* halve the huge vertical gaps between homepage sections */
    .container-fluid.my-5{margin-top:1.1rem !important;margin-bottom:1.1rem !important;}
    /* carousel slides carried a 3rem bottom margin (dead space every row) */
    .owl-carousel .px-2.mb-5,.owl-carousel .w-100.px-1{margin-bottom:.75rem !important;}
    .hlr-soundplayer{padding:8px 12px 0;}
    /* neighborhood tiles a bit shorter on phones */
    .wrap-neighborhood{height:280px;max-height:280px;}
    .card-teams{height:340px !important;}
}

/* Hero slide caption (bottom-left): white with a dark shadow for legibility */
.carousel-caption,
.carousel-caption a,
.carousel-caption h2,
.carousel-caption h3,
.carousel-caption h4,
.carousel-caption h5{
    color:#fff !important;
    text-shadow:1px 1px 2px #000000;
}

/* ---------- Blog cards: compact modern (full-bleed image, 2-line clamp) -- */
.card-blog{height:auto !important;min-height:0 !important;padding:0 !important;
    border-radius:var(--radius) !important;overflow:hidden;display:flex;flex-direction:column;width:100%;}
.card-blog-image{margin:0 !important;padding:0 !important;border-radius:0 !important;}
.card-blog-image img{width:100%;height:170px !important;object-fit:cover !important;border-radius:0 !important;display:block;}
.card-blog-content{padding:13px 16px 14px !important;display:flex;flex-direction:column;gap:6px;flex:1 1 auto;}
.date-blog{margin:0 !important;padding:0 !important;background:transparent !important;}
.date-blog span{font-size:11.5px !important;font-family:var(--font-head);font-weight:600;
    letter-spacing:.07em;text-transform:uppercase;color:#828c99 !important;}
.card-blog h3{margin:0 !important;font-size:16.5px;line-height:1.35;}
.card-blog h3 a{color:var(--ink) !important;text-decoration:none;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.card-blog:hover h3 a{color:var(--gold-deep) !important;}
.card-blog-description{font-size:13.5px !important;color:#5f6b76 !important;line-height:1.55;margin:0;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
/* bottom-aligned cue keeps every card's footer on one line */
.card-blog-content::after{content:"Read article →";margin-top:auto;padding-top:10px;
    font-family:var(--font-head);font-weight:600;font-size:12.5px;color:var(--gold-deep);}
/* equal-height slides */
.postlist.owl-carousel .owl-stage{display:flex;}
.postlist .owl-item{display:flex;height:auto;}
.postlist .owl-item>.w-100{display:flex;}

/* ---------- Testimonials: modern multi-card grid ---------------------- */
.testimonials-body{background:transparent !important;box-shadow:none !important;}
.testimonials-body .slide-progress{display:none;}
/* equal-height slides */
.testimonials.owl-carousel .owl-stage{display:flex;}
.testimonials .owl-item{display:flex;height:auto;float:none;}
.testimonials .wrap-testimonials{
    width:100%;max-width:none;margin:4px 0 8px;position:relative;
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    box-shadow:var(--shadow-sm);padding:22px 22px 20px;
    display:flex;flex-direction:column-reverse;gap:14px;
    transition:transform var(--ease),box-shadow var(--ease);
}
.testimonials .wrap-testimonials:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.testimonials .wrap-testimonials::before{content:none;}
/* five gold stars on top (column-reverse: ::after renders first) */
.testimonials .wrap-testimonials::after{
    content:"★★★★★";color:var(--gold);font-size:15px;letter-spacing:3px;line-height:1;
}
.testimonials .card-testimonials{display:flex !important;align-items:center;gap:11px;margin:0 !important;padding-top:2px;background:transparent !important;}
.testimonials .card-testimonials-image{width:44px !important;height:44px !important;flex:0 0 44px;border-radius:50% !important;overflow:hidden;border:2px solid var(--gold);margin:0 !important;}
.testimonials .card-testimonials-image img{width:100% !important;height:100% !important;object-fit:cover;border-radius:0;}
.testimonials .card-testimonials-title{font-family:var(--font-head);font-size:14.5px !important;font-weight:700;color:var(--ink) !important;margin:0 !important;text-align:left;}
.testimonials .card-testimonials-content{margin:0 !important;padding:0 !important;background:transparent !important;flex:1 1 auto;}
.testimonials .card-testimonials-content p{
    font-size:14px;line-height:1.8;color:var(--ink-soft) !important;margin:0;text-align:left;
    display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden;
}
@media (max-width:903px){
    .testimonials .wrap-testimonials{padding:18px 16px 16px;}
    .testimonials .card-testimonials-content p{-webkit-line-clamp:6;}
}

/* hero search pill: fit the longer map-button label */
.hlr-hero .hero-section-map-btn{font-size:12px;padding:0 11px;letter-spacing:0;}
