/* Vivi Assistant — slide-out chat sidebar (VSP brand) */
:root{--v-coral:#da3a54;--v-teal:#3e9799;--v-ink:#1a1a18;--v-muted:#5c5a55;--v-line:#e6e2da;--v-soft:#fbe6ea;--v-q:#dceef5;--v-a:#fdf3d8;--v-gold:#c9a763;--v-dark:#141413}

/* Hide other/legacy chat widgets — Vivi is the only chat */
#wp-ai-studio-container.sg-ai-floating-chat,
#vivi-btn,#vivi-win{display:none!important}

/* Homepage "ask Vivi" chat preview: show the static bubbles (typing animation is decorative/optional) */
#vivi-stage{display:flex!important}
#vivi-stage .bubble,#vivi-stage .vivi-bubble{opacity:1!important}

/* Remove the duplicate header EN/ES language pill site-wide (the floating translator stays) */
.lang-toggle{display:none!important}

/* Floating launcher */
.vivi-launcher{position:fixed;right:22px;bottom:22px;z-index:2147483000;display:flex;align-items:center;gap:9px;
  background:var(--v-coral);color:#fff;border:none;border-radius:999px;padding:13px 20px 13px 16px;cursor:pointer;
  font:600 15px/1 'Century Gothic','Questrial','Poppins','Trebuchet MS',sans-serif;box-shadow:0 8px 24px rgba(218,58,84,.38);
  transition:transform .15s ease,opacity .2s ease}
.vivi-launcher:hover{transform:translateY(-2px)}
.vivi-launcher svg{width:20px;height:20px;display:block}
.vivi-open .vivi-launcher{opacity:0;pointer-events:none;transform:translateY(10px)}

/* Drawer — docked, non-modal (page stays usable alongside it) */
.vivi-drawer{position:fixed;top:0;right:0;height:100%;width:min(440px,100vw);background:var(--v-dark);
  transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);z-index:2147483500;
  display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(0,0,0,.28);
  font-family:'Century Gothic','Questrial','Poppins','Trebuchet MS',sans-serif}
.vivi-open .vivi-drawer{transform:translateX(0)}
.vivi-drawer *{box-sizing:border-box}

.vivi-dhead{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:var(--v-dark);border-bottom:1px solid rgba(255,255,255,.1)}
.vivi-dtitle{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:16px;letter-spacing:.02em}
.vivi-dlogo{width:32px;height:32px;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;padding:4px}
.vivi-dtitle small{display:block;color:rgba(255,255,255,.6);font-weight:400;font-size:11.5px;letter-spacing:.03em;margin-top:2px}
.vivi-dhide{display:flex;align-items:center;gap:5px;background:#fff;border:1px solid #fff;color:var(--v-ink);font:700 12.5px inherit;line-height:1;cursor:pointer;padding:7px 11px 7px 9px;border-radius:8px}
.vivi-dhide:hover{background:#f0ece4;border-color:#f0ece4}
.vivi-dhide svg{width:15px;height:15px;display:block}
.vivi-dlogo img{width:100%;height:100%;object-fit:contain;display:block}

.vivi-dthread{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:12px;background:#f7f5f1}
.vivi-msg{display:flex;flex-direction:column}
.vivi-msg-user{align-items:flex-end}
.vivi-name{font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--v-muted);margin:0 0 3px 4px}
.vivi-b{max-width:90%;padding:11px 14px;border-radius:14px;font-size:14.5px;line-height:1.5;color:var(--v-ink);overflow-wrap:anywhere;word-break:break-word}
.vivi-b a{overflow-wrap:anywhere;word-break:break-word}
.vivi-b-user{background:var(--v-q);border-bottom-right-radius:4px}
.vivi-b-vivi{background:var(--v-a);border-bottom-left-radius:4px}
.vivi-b-vivi a{color:var(--v-coral)}
.vivi-typing{display:inline-flex;gap:4px;align-items:center;height:12px}
.vivi-typing i{width:6px;height:6px;border-radius:50%;background:var(--v-muted);opacity:.5;animation:vivi-bounce 1.1s infinite}
.vivi-typing i:nth-child(2){animation-delay:.15s}.vivi-typing i:nth-child(3){animation-delay:.3s}
@keyframes vivi-bounce{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:.9}}

/* input bar */
.vivi-dbar{display:flex;gap:8px;padding:12px;background:var(--v-dark);border-top:1px solid rgba(255,255,255,.1);align-items:stretch}
.vivi-dinput{flex:1;border:none;border-radius:10px;padding:12px 14px;font:15px/1.45 inherit;color:var(--v-ink);background:#fff;outline:none;resize:vertical;min-height:84px;max-height:220px}
.vivi-dsend{background:var(--v-coral);color:#fff;border:none;border-radius:10px;padding:0 18px;font:700 14px inherit;cursor:pointer;align-self:stretch;min-width:72px}
.vivi-dsend:disabled{opacity:.5;cursor:default}
.vivi-suggest{display:flex;flex-wrap:wrap;gap:7px;margin-top:2px}
.vivi-sug{background:#fff;border:1px solid var(--v-line);color:var(--v-ink);font-size:12.5px;padding:7px 11px;border-radius:20px;cursor:pointer}
.vivi-sug:hover{border-color:var(--v-coral);color:var(--v-coral)}

/* listing cards (stacked in the drawer) */
.vivi-grid{display:flex;flex-direction:column;gap:12px;margin-top:10px;width:100%}
.vivi-card{background:#fff;border:1px solid var(--v-line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 3px 12px rgba(20,20,19,.06)}
.vivi-ph{position:relative;aspect-ratio:16/10;background:#ece7df}
.vivi-ph img{width:100%;height:100%;object-fit:cover;display:block}
.vivi-ph.noimg::after{content:"No photo";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#b9b2a5;font-size:12px}
.vivi-mls{position:absolute;top:8px;left:8px;background:rgba(20,20,19,.72);color:#fff;font-size:10.5px;padding:2px 7px;border-radius:5px;letter-spacing:.03em}
.vivi-badge{position:absolute;top:8px;right:8px;background:var(--v-gold);color:#fff;font-size:9.5px;font-weight:700;padding:2px 7px;border-radius:5px;text-transform:uppercase;letter-spacing:.04em}
.vivi-cbody{padding:11px 13px 13px;display:flex;flex-direction:column;gap:5px}
.vivi-price{font-size:17px;font-weight:700;color:var(--v-ink)}
.vivi-price .vivi-mxn{font-size:11.5px;color:var(--v-muted);font-weight:400}
.vivi-card h4{margin:0;font-size:14.5px;font-weight:700;color:var(--v-ink)}
.vivi-loc{color:var(--v-muted);font-size:12.5px}
.vivi-cmeta{font-size:11.5px;color:var(--v-muted)}.vivi-cmeta b{color:#3b3a36}
.vivi-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}
.vivi-chip{background:var(--v-soft);color:var(--v-coral);font-size:11px;font-weight:700;padding:3px 8px;border-radius:20px}
.vivi-cta{display:flex;gap:7px;align-items:center;margin-top:6px}
.vivi-wa{background:var(--v-teal);color:#fff;text-decoration:none;font-weight:700;font-size:12.5px;padding:8px 10px;border-radius:8px;flex:1;text-align:center}
.vivi-view{border:1.5px solid var(--v-teal);color:var(--v-teal);text-decoration:none;font-weight:700;font-size:12px;padding:8px 10px;border-radius:8px}
.vivi-view:hover{background:var(--v-teal);color:#fff}
.vivi-eval-cta{margin-top:8px}
.vivi-eval-cta .vivi-wa{display:inline-block;flex:none}
.vivi-more-btn{margin-top:10px;width:100%;background:#fff;border:1.5px solid var(--v-coral);color:var(--v-coral);
  font:700 13.5px inherit;padding:11px;border-radius:10px;cursor:pointer}
.vivi-more-btn:hover:not(:disabled){background:var(--v-coral);color:#fff}
.vivi-more-btn:disabled{opacity:.6;cursor:default}
.vivi-eval-btn{display:block;margin-top:10px;text-align:center;text-decoration:none;background:var(--v-coral);color:#fff;font:700 14px inherit;padding:12px 16px;border-radius:10px}
.vivi-eval-btn:hover{background:#c02f48}
.vivi-msg .vivi-suggest{margin-top:9px}
.vivi-suggest{display:flex;flex-wrap:wrap;gap:7px}
.vivi-sug{background:#fff;border:1px solid var(--v-line);color:var(--v-ink);font:500 12.5px inherit;padding:7px 11px;border-radius:20px;cursor:pointer;text-align:left}
.vivi-sug:hover{border-color:var(--v-coral);color:var(--v-coral)}

/* Flexmls IDX listing-detail: force readable section headers.
   The IDX template renders collapsible section headers (Address, General
   Description, Unit Details, etc.) as red text on a red band = invisible.
   Repaint them in VSP coral with white text so the detail page is legible. */
.flexmls-detail-section-header,
.detail-section-header,
.detail-section-header.flexmls-primary-color-font,
.flexmls-detail-section-header.flexmls-primary-color-font{
  background-color:#da3a54!important;color:#fff!important}
.flexmls-detail-section-header a,
.detail-section-header a,
.flexmls-detail-section-header .flexmls-primary-color-font,
.detail-section-header .flexmls-primary-color-font{color:#fff!important}
.flexmls-detail-section-header svg,
.detail-section-header svg{fill:#fff!important;color:#fff!important}

/* Pride-flag rainbow accent on the LGBTQ+ community fact card */
.vivi-pride-card{position:relative;overflow:hidden}
.vivi-pride-stripe{position:absolute;top:0;left:0;right:0;height:6px;pointer-events:none;
  background:linear-gradient(90deg,
    #e40303 0 16.666%, #ff8c00 16.666% 33.333%, #ffed00 33.333% 50%,
    #008026 50% 66.666%, #004dff 66.666% 83.333%, #750787 83.333% 100%)}

/* Community-page "What is for sale in <community>" green CTA */
.vivi-comm-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.vivi-comm-btn{display:inline-flex;align-items:center;gap:9px;background:#1f9e57;color:#fff !important;border:none;border-radius:12px;
  font:700 15.5px/1 'Century Gothic','Questrial','Poppins','Trebuchet MS',sans-serif;padding:15px 24px;cursor:pointer;
  box-shadow:0 8px 22px rgba(31,158,87,.34);transition:transform .15s ease,background .15s ease}
.vivi-comm-btn:hover{background:#18854a;transform:translateY(-1px)}
.vivi-comm-btn:active{transform:translateY(0)}
.vivi-comm-btn svg{width:18px;height:18px;flex:none}

/* "What's inside your report" enticement (market-evaluation page) */
.vivi-rp{font-family:'Century Gothic','Questrial','Poppins','Trebuchet MS',sans-serif;padding:8px 0 6px}
.vivi-rp-in{max-width:1120px;margin:0 auto;padding:26px 22px;background:linear-gradient(180deg,#fbf9f5,#fff);border:1px solid var(--v-line);border-radius:20px;box-shadow:0 10px 30px rgba(20,20,19,.05)}
.vivi-rp-in h2{margin:0 0 6px;font-size:24px;line-height:1.2;color:var(--v-ink);font-weight:800;letter-spacing:-.01em}
.vivi-rp-in>p{margin:0 0 18px;color:var(--v-muted);font-size:15px;line-height:1.55;max-width:760px}
.vivi-rp-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.vivi-rp-card{margin:0;background:#fff;border:1px solid var(--v-line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 3px 12px rgba(20,20,19,.05)}
.vivi-rp-svg{background:#fff;padding:8px 8px 0}
.vivi-rp-svg svg{width:100%;height:auto;display:block}
.vivi-rp-card figcaption{padding:9px 12px 13px;border-top:1px solid var(--v-line)}
.vivi-rp-card figcaption b{display:block;font-size:12.5px;color:var(--v-ink);line-height:1.25}
.vivi-rp-card figcaption span{display:block;font-size:11px;color:var(--v-muted);margin-top:3px;line-height:1.35}
.vivi-rp-cta{display:inline-block;margin-top:18px;background:#1f9e57;color:#fff !important;text-decoration:none;font-weight:700;font-size:15px;padding:13px 24px;border-radius:12px;box-shadow:0 8px 20px rgba(31,158,87,.28)}
.vivi-rp-cta:hover{background:#187f45}
@media(max-width:900px){.vivi-rp-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.vivi-rp-grid{grid-template-columns:1fr 1fr}.vivi-rp-in h2{font-size:20px}}

/* Evaluation wizard success / error panel */
.vivi-eval-done{background:#fff;border:1px solid var(--v-line);border-left:4px solid var(--v-teal);border-radius:14px;padding:26px 28px;margin:14px 0;box-shadow:0 6px 20px rgba(20,20,19,.06);max-width:680px;font-family:'Century Gothic','Questrial','Poppins','Trebuchet MS',sans-serif}
.vivi-eval-done.vivi-eval-err{border-left-color:var(--v-coral)}
.vivi-eval-done .vivi-eval-check{width:44px;height:44px;border-radius:50%;background:var(--v-teal);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;margin-bottom:12px}
.vivi-eval-done.vivi-eval-err .vivi-eval-check{background:var(--v-coral)}
.vivi-eval-done h3{margin:0 0 6px;font-size:20px;color:var(--v-ink)}
.vivi-eval-done p{margin:0;color:var(--v-muted);font-size:15px;line-height:1.55}

@media(max-width:480px){.vivi-launcher{right:14px;bottom:14px}}

/* ------------------------------------------------------------------ */
/*  Global header nav — bolder & larger (was 14px / weight 500)        */
/* ------------------------------------------------------------------ */
nav .nav-links a, .nav-links a{font-size:17px!important;font-weight:700!important;letter-spacing:.005em}
@media(max-width:900px){nav .nav-links a, .nav-links a{font-size:15px!important}}

/* ------------------------------------------------------------------ */
/*  Homepage: hide the top utility bar (phone/email strip)            */
/* ------------------------------------------------------------------ */
body.home .topbar{display:none!important}

/* ------------------------------------------------------------------ */
/*  Footer links — larger (was 14px)                                   */
/* ------------------------------------------------------------------ */
footer li a, .site-footer li a{font-size:16px!important;line-height:1.9!important}

/* ------------------------------------------------------------------ */
/*  All Listings: Vivi natural-language search (replaces IDX filters)  */
/* ------------------------------------------------------------------ */
.vivi-nlsearch{background:#141413;color:#fff;text-align:center;padding:46px 22px 40px;font-family:'Century Gothic','CenturyGothic','Questrial','Poppins','Trebuchet MS',sans-serif}
.vivi-nlsearch h2{font-size:clamp(26px,3.6vw,36px);line-height:1.1;margin:0 0 8px;color:#fff}
.vivi-nlsearch p{color:#cfccc6;font-size:15px;max-width:62ch;margin:0 auto 22px;line-height:1.55}
.vivi-nls-form{display:flex;max-width:760px;margin:0 auto;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.32)}
.vivi-nls-input{flex:1;border:0;padding:16px 20px;font-size:16px;color:#1a1a18;outline:none;font-family:inherit;min-width:0}
.vivi-nls-input::placeholder{color:#9a978f}
.vivi-nls-go{border:0;background:#da3a54;color:#fff!important;font-weight:700;font-size:15px;padding:0 28px;cursor:pointer;font-family:inherit;letter-spacing:.02em}
.vivi-nls-go:hover{background:#c02f48}
.vivi-nls-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:18px auto 0;max-width:780px}
.vivi-nls-chips button{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.28);color:#fff;font-size:13px;font-weight:600;padding:8px 15px;border-radius:999px;cursor:pointer;font-family:inherit}
.vivi-nls-chips button:hover{background:#da3a54;border-color:#da3a54}
.vivi-nls-classic{display:inline-block;margin-top:18px;color:#cfccc6!important;font-size:13px;text-decoration:underline;cursor:pointer}
.vivi-nls-classic:hover{color:#fff!important}
@media(max-width:560px){.vivi-nls-go{padding:0 16px}}

/* Remove the "Browse listings" item from the global header nav (site-wide) */
.vsp-gh .nav-links a[href*="search-properties-for-sale"]{display:none!important}

/* ------------------------------------------------------------------ */
/*  Listing detail pages (/idx/...-mls_...) — new-site brand restyle   */
/*  Dresses the FlexMLS listing-detail template to match the site:    */
/*  coral (never magenta), Century Gothic, clean cards, rounded media. */
/* ------------------------------------------------------------------ */
.flexmls-listing-details{max-width:1120px;margin:0 auto;padding:6px 20px 44px;font-family:'Century Gothic','CenturyGothic','Questrial','Poppins','Trebuchet MS',sans-serif;color:#1a1a18}

/* Unify brand colour: off-brand magenta accents -> coral #da3a54 */
.flexmls-listing-details .flexmls-primary-color-font{color:#da3a54!important}
.flexmls-listing-details .flexmls-primary-color-background{background-color:#da3a54!important}

/* Title + price header row */
.flexmls-listing-details .title-and-details-wrapper{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin:4px 0 22px}
.flexmls-listing-details .flexmls-title-largest{font-size:clamp(23px,3.1vw,33px)!important;line-height:1.15;font-weight:700;color:#1a1a18!important;margin:0;flex:1 1 58%}
.flexmls-listing-details .title-and-details-wrapper .flexmls-price{background:#da3a54!important;color:#fff!important;font-weight:700;font-size:clamp(19px,2.3vw,25px)!important;padding:10px 24px!important;border-radius:999px!important;white-space:nowrap;box-shadow:0 6px 18px rgba(218,58,84,.26)}

/* Section headers (Overview + Listing Details) — light, thin coral underline (no heavy bars) */
.flexmls-listing-details h3.flexmls-title-large,.flexmls-listing-details h3.detail-section-header{background:transparent!important;background-color:transparent!important;color:#1a1a18!important;font-size:15px!important;font-weight:700!important;letter-spacing:.03em;text-transform:uppercase;padding:0 0 8px!important;margin:24px 0 14px!important;border:0!important;border-bottom:2px solid #da3a54!important;border-radius:0!important;box-shadow:none!important;cursor:default!important;pointer-events:none}
.flexmls-listing-details h3.flexmls-title-large:hover,.flexmls-listing-details h3.detail-section-header:hover{background:transparent!important;background-color:transparent!important}
.flexmls-listing-details .detail-section-header:after,.flexmls-listing-details .detail-section-header:before,.flexmls-listing-details .detail-section-header i,.flexmls-listing-details .detail-section-header svg{display:none!important}

/* Action buttons (Contact agent, etc.) — beat the plugin's gold .flexmls-v2-widget rule */
.flexmls-listing-details.flexmls-v2-widget .flexmls-btn.flexmls-btn-primary,.flexmls-listing-details .flexmls-btn,.flexmls-listing-details a.flexmls-btn,.flexmls-listing-details button.flexmls-btn{background:#da3a54!important;background-color:#da3a54!important;color:#fff!important;border:0!important;border-radius:10px!important;font-weight:700!important;letter-spacing:.01em;padding:11px 22px!important;box-shadow:0 4px 14px rgba(218,58,84,.22);transition:background .15s}
.flexmls-listing-details.flexmls-v2-widget .flexmls-btn.flexmls-btn-primary:hover,.flexmls-listing-details .flexmls-btn:hover{background:#c02f48!important;background-color:#c02f48!important}

/* Photo */
.flexmls-listing-details .listing-image{overflow:hidden;border-radius:16px!important;box-shadow:0 14px 40px rgba(20,20,19,.13);margin:0 0 28px}
.flexmls-listing-details .listing-image img{border-radius:16px!important}

/* Key stats -> clean bordered card row (flexbox, no phantom grid cells) */
.flexmls-listing-details .flexmls-details{display:flex!important;flex-wrap:wrap;gap:1px!important;background:#e6e2da;border:1px solid #e6e2da;border-radius:14px;overflow:hidden;margin:0 0 30px;padding:0!important}
.flexmls-listing-details .flexmls-detail{background:#fff;padding:15px 18px!important;display:flex!important;flex-direction:column;gap:4px;margin:0!important;border:0!important;flex:1 1 160px;min-width:150px;white-space:normal}
.flexmls-listing-details .flexmls-detail .detail-label,.flexmls-listing-details .flexmls-detail .detail-value{white-space:normal;word-break:normal}
.flexmls-listing-details .detail-label{color:#5c5a55!important;font-size:11px!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.06em;margin:0!important}
.flexmls-listing-details .detail-value{color:#1a1a18!important;font-size:17px!important;font-weight:700!important;margin:0!important}

/* Overview / Description */
.flexmls-listing-details .flexmls-title-larger{color:#1a1a18!important;font-weight:700;text-align:center;margin:6px 0 14px}
.flexmls-listing-details .flexmls-description,.flexmls-listing-details .flexmls-supplement{font-size:16px;line-height:1.75;color:#2a2a27;max-width:80ch;margin:0 auto 10px}

/* Listing Details — flattened (no accordion): every section body always visible */
.flexmls-listing-details .property-details{margin:26px 0}
.flexmls-listing-details .details-section{margin:0 0 18px!important;border:0!important;border-radius:0!important;overflow:visible!important}
.flexmls-listing-details .flexmls-detail-section-body{display:block!important;height:auto!important;max-height:none!important;overflow:visible!important;opacity:1!important}
/* Field rows -> clean spec table: 1 pair/row on mobile, 2 pairs/row on desktop */
.flexmls-listing-details .property-details-wrapper{display:grid!important;grid-template-columns:minmax(120px,max-content) 1fr;gap:0 16px;margin:0!important;padding:0!important}
@media(min-width:760px){.flexmls-listing-details .property-details-wrapper{grid-template-columns:minmax(120px,max-content) 1fr minmax(120px,max-content) 1fr;column-gap:36px}}
.flexmls-listing-details .property-details-wrapper dt.detail-label{color:#5c5a55!important;font-size:13px!important;font-weight:600!important;text-transform:none!important;letter-spacing:0!important;padding:9px 0!important;margin:0!important;border-bottom:1px solid #e6e2da}
.flexmls-listing-details .property-details-wrapper dd.detail-value{color:#1a1a18!important;font-size:14px!important;font-weight:600!important;padding:9px 0!important;margin:0!important;border-bottom:1px solid #e6e2da}

/* Map */
.flexmls-listing-details .listing-map,.flexmls-listing-details .flexmls-map{border-radius:14px!important;overflow:hidden!important;border:1px solid #e6e2da}

/* IDX disclaimer + FBS credit — MUST stay (compliance), just muted */
.flexmls-listing-details .flexmls-disclaimer,.flexmls-listing-details .listing-disclaimer,.flexmls-listing-details .flexmls-attribution{color:#8a877f!important;font-size:12px!important;line-height:1.5;max-width:80ch;margin:16px auto 0}

/* Primary green CTA under the listing photo — stands out, opens Vivi in context */
.flexmls-listing-details .vivi-listing-cta{display:block;width:100%;max-width:520px;margin:2px auto 30px;background:#1f9e57!important;color:#fff!important;border:0;border-radius:12px;padding:16px 26px;font-family:'Century Gothic','CenturyGothic','Questrial','Poppins','Trebuchet MS',sans-serif;font-size:17px;font-weight:700;letter-spacing:.01em;cursor:pointer;box-shadow:0 8px 22px rgba(31,158,87,.28);transition:background .15s,transform .05s}
.flexmls-listing-details .vivi-listing-cta:hover{background:#187f45!important}
.flexmls-listing-details .vivi-listing-cta:active{transform:translateY(1px)}

/* Inline lead-capture form inside the Vivi drawer (green, matches the listing CTA) */
.vivi-leadform{background:#fff;border:1px solid #e6e2da;border-radius:14px;padding:14px;margin-top:10px;display:flex;flex-direction:column;gap:8px;max-width:92%}
.vivi-lf-title{font-weight:700;color:#1a1a18;font-size:14px}
.vivi-lf-in{border:1px solid #e6e2da;border-radius:9px;padding:11px 12px;font:15px/1.2 inherit;color:#1a1a18;outline:none;background:#fff;width:100%}
.vivi-lf-in:focus{border-color:#1f9e57}
.vivi-lf-send{background:#1f9e57;color:#fff;border:0;border-radius:10px;padding:12px;font:700 14px inherit;cursor:pointer;margin-top:2px}
.vivi-lf-send:hover{background:#187f45}
.vivi-lf-send:disabled{opacity:.6;cursor:default}
.vivi-lf-err{display:none;color:#c0392b;font-size:12.5px}
.vivi-lf-done{color:#187f45;font-weight:700;font-size:14px;line-height:1.5}

/* Remove the old FlexMLS "Contact agent" button on listing detail pages — the green "Talk to us about this home" CTA is the single call to action. */
.flexmls-listing-details .flexmls-actions-wrapper{display:none!important}

/* Bay Report signup confirmation and error (coral band, white text) */
.vivi-bay-done{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.42);color:#fff;font-weight:700;font-size:16px;line-height:1.5;padding:16px 20px;border-radius:12px;max-width:520px;margin:0 auto}
.vivi-bay-err{color:#fff;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.35);font-size:13.5px;font-weight:600;padding:10px 14px;border-radius:10px;margin-top:10px}
