/* Casa Direct V27 customer search + shortlist enhancements */
.quick-ref-search{display:flex;align-items:center;background:#fff;border:1px solid rgba(255,255,255,.22);border-radius:999px;overflow:hidden;min-width:185px;height:42px}.quick-ref-search input{width:128px;border:0;outline:0;padding:0 5px 0 13px;background:transparent;color:#111;font:inherit;font-size:.78rem;font-weight:700;text-transform:uppercase}.quick-ref-search input::placeholder{color:#7d847f;text-transform:none}.quick-ref-search button{height:100%;border:0;background:var(--lime,#aaf400);color:#111;padding:0 12px;font-weight:850;cursor:pointer}.mobile-menu .quick-ref-search{width:100%;margin:0 0 8px}.mobile-menu .quick-ref-search input{flex:1;width:auto}
.winter-stay-form-v13{grid-template-columns:repeat(2,minmax(0,1fr))}.winter-stay-form-v13 .btn{grid-column:1/-1}
.property-media,.winter-finder-card{position:relative}.public-shortlist-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d7e1d6;background:#fff;color:#111;border-radius:999px;padding:10px 13px;font-weight:820;cursor:pointer;transition:.16s ease}.public-shortlist-toggle:hover{transform:translateY(-1px);border-color:#aaf400}.public-shortlist-toggle.active{background:#102119;color:#fff;border-color:#102119}.public-shortlist-toggle span:first-child{font-size:1.1rem;line-height:1;color:#72aa00}.public-shortlist-toggle.active span:first-child{color:#aaf400}.public-shortlist-toggle.compact{position:absolute;right:12px;top:12px;z-index:4;width:42px;height:42px;padding:0;box-shadow:0 8px 24px rgba(0,0,0,.15)}.public-shortlist-toggle.compact .shortlist-label{display:none}.winter-finder-card>.public-shortlist-toggle.compact{right:10px;top:10px}
.public-shortlist-launcher{position:fixed;right:22px;bottom:22px;z-index:78;display:flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:13px 17px;background:#101b14;color:#fff;box-shadow:0 14px 38px rgba(7,22,13,.25);font-weight:850;cursor:pointer}.public-shortlist-launcher>span{font-size:1.15rem;color:#aaf400}.public-shortlist-launcher b{display:grid;place-items:center;min-width:25px;height:25px;padding:0 7px;border-radius:50%;background:#aaf400;color:#101b14;font-size:.74rem}.public-shortlist-launcher.has-items{outline:2px solid rgba(170,244,0,.35)}.public-shortlist-backdrop{position:fixed;inset:0;background:rgba(4,10,6,.42);z-index:79}.public-shortlist-drawer{position:fixed;right:0;top:0;bottom:0;z-index:80;width:min(440px,100%);background:#f6faf5;box-shadow:-22px 0 60px rgba(0,0,0,.18);padding:24px;transform:translateX(105%);transition:transform .22s ease;display:flex;flex-direction:column}.public-shortlist-drawer.open{transform:none}.public-shortlist-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:16px;border-bottom:1px solid #dbe5db}.public-shortlist-head h2{margin:6px 0 0;font-size:2rem}.public-shortlist-head>button{border:0;background:#111b14;color:#fff;width:40px;height:40px;border-radius:50%;font-size:1.3rem;cursor:pointer}.public-shortlist-items{display:grid;gap:10px;overflow:auto;padding:16px 0;flex:1}.public-shortlist-items article{display:grid;grid-template-columns:78px 1fr 34px;gap:10px;align-items:center;padding:9px;background:#fff;border:1px solid #dce6dc;border-radius:16px}.public-shortlist-items img{width:78px;height:62px;object-fit:cover;border-radius:11px}.public-shortlist-items article div{display:grid;gap:3px;min-width:0}.public-shortlist-items small{color:#6c786e}.public-shortlist-items strong{font-size:.85rem;line-height:1.25}.public-shortlist-items article button{border:0;background:#eef3ed;width:32px;height:32px;border-radius:50%;cursor:pointer}.shortlist-empty{padding:30px 10px;text-align:center;color:#68736b}.public-shortlist-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding-top:14px;border-top:1px solid #dbe5db}.public-shortlist-actions .share-search-btn,.public-shortlist-actions .shortlist-clear{min-height:44px;border-radius:13px;border:1px solid #d4dfd4;background:#fff;font-weight:800;cursor:pointer}.public-shortlist-actions button:disabled{opacity:.45;cursor:not-allowed}.detail-share-row{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
@media(max-width:1250px){.quick-ref-search{display:none}.mobile-menu .quick-ref-search{display:flex}}
@media(max-width:720px){.winter-stay-form-v13{grid-template-columns:1fr}.public-shortlist-launcher{right:12px;bottom:12px}.public-shortlist-drawer{padding:18px}.public-shortlist-actions{grid-template-columns:1fr}}


/* V28 refinements */
.site-header .nav{gap:18px}
.site-header .nav-links{gap:16px;font-size:.84rem}
.site-header .nav-actions{gap:8px}
.site-header .nav-actions .btn-primary{padding:10px 14px!important;font-size:.76rem;line-height:1.1;box-shadow:none}
.site-header .quick-ref-search{min-width:168px;height:38px;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08)}
.site-header .quick-ref-search input{width:108px;padding:0 12px;font-size:.74rem}
.site-header .quick-ref-search button{padding:0 11px;font-size:.75rem}
.site-header .staff-access-link{min-height:38px;padding:0 11px;font-size:.71rem}
.header-call-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 13px;border-radius:999px;background:var(--lime);color:#111713;font-size:.76rem;font-weight:800;letter-spacing:.01em;box-shadow:0 10px 24px rgba(170,244,0,.18)}
.header-call-link:hover{transform:translateY(-1px);box-shadow:0 14px 26px rgba(170,244,0,.22)}
.mobile-call-link{color:var(--lime)!important;font-weight:780!important}
.office-photo-gallery.office-photo-gallery-trio{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;gap:14px}
.office-photo-gallery.office-photo-gallery-trio .office-photo{min-height:250px;border-radius:20px}
.office-photo-gallery.office-photo-gallery-trio .office-photo img{filter:saturate(1.04) contrast(1.02) brightness(1.03)}
.office-photo-gallery.office-photo-gallery-trio .office-photo figcaption{display:none}
.office-address-photo-card .office-contact-row a[href^="tel:"]{background:var(--lime);color:#10150e;font-weight:820}
@media(max-width:1240px){.site-header .nav-links{gap:14px;font-size:.81rem}.site-header .quick-ref-search{min-width:154px}.site-header .quick-ref-search input{width:96px}.header-call-link{padding:0 11px;font-size:.73rem}}
@media(max-width:1120px){.header-call-link span:last-child{display:none}.header-call-link{width:38px;padding:0;gap:0}}
@media(max-width:1050px){.header-call-link{display:none}.site-header .nav-actions .btn-primary{padding:10px 13px!important}}
@media(max-width:700px){.office-photo-gallery.office-photo-gallery-trio{grid-template-columns:1fr}.office-photo-gallery.office-photo-gallery-trio .office-photo{min-height:220px}}

/* V28.1 explicit shortlist copy link */
.public-shortlist-actions .shortlist-copy-link{background:#aaf400;border-color:#aaf400;color:#111713;font-weight:880}
.public-shortlist-actions .shortlist-copy-link:hover{filter:brightness(.97)}
.public-shortlist-actions .shortlist-clear{grid-column:1/-1}

/* V28.2 multilingual desktop header polish */
.site-header .container.nav{width:min(1500px,calc(100% - 32px));max-width:none}
.site-header .nav-links,.site-header .nav-actions{min-width:0}
.site-header .nav-links a,.site-header .nav-actions>a{white-space:nowrap}
.site-header .nav-links a{line-height:1.15}
.site-header .nav-actions>a,.site-header .lang-select{flex:0 0 auto}

/* Give translated navigation more breathing room without making the header taller. */
html:not([lang="en"]) .site-header .nav{gap:15px}
html:not([lang="en"]) .site-header .nav-links{gap:13px;font-size:.81rem}
html:not([lang="en"]) .site-header .nav-actions{gap:7px}

@media(max-width:1420px){
  .site-header .container.nav{width:min(100% - 24px,1380px)}
  .site-header .logo-wrap{width:192px!important;flex:0 0 192px}
  .site-header .nav{gap:14px}
  .site-header .nav-links{gap:12px;font-size:.79rem}
  .site-header .nav-actions{gap:6px}
  .site-header .staff-access-link{padding:0 9px;font-size:.69rem}
  .site-header .nav-actions .btn-primary{padding:10px 12px!important;font-size:.72rem}
  .header-call-link{padding:0 10px;font-size:.72rem}
}

@media(max-width:1300px){
  .site-header .logo-wrap{width:178px!important;flex-basis:178px}
  .site-header .nav{gap:11px}
  .site-header .nav-links{gap:9px;font-size:.75rem}
  .site-header .lang-select{padding:9px 29px 9px 10px;font-size:.74rem}
  .site-header .staff-access-link{min-height:36px;padding:0 8px;font-size:.66rem}
  .site-header .nav-actions .btn-primary{padding:9px 10px!important;font-size:.68rem}
  .header-call-link span:last-child{display:none}
  .header-call-link{width:36px;min-height:36px;padding:0;gap:0}
}

/* At genuinely tight desktop widths, a clean menu is better than squeezed labels. */
@media(max-width:1140px){
  .site-header .nav-links{display:none!important}
  .site-header .nav-actions{margin-left:auto}
  .site-header .menu-toggle{display:grid!important;place-items:center}
}

@media(max-width:700px){
  .site-header .container.nav{width:min(100% - 20px,1500px)}
  .site-header .logo-wrap{width:166px!important;flex-basis:166px}
}

/* Casa Direct V36.2 — premium public match registration */
.casa-search-register-prompt{margin:20px 0;padding:18px 20px;border:1px solid #d7e3d8;border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 12px 35px rgba(14,45,35,.08)}
.casa-search-register-prompt div{display:grid;gap:4px}.casa-search-register-prompt span{font-size:13px;color:#66736c}.casa-search-register-prompt button{border:0;border-radius:999px;background:#aaf400;color:#0c170f;padding:13px 18px;font-weight:900;cursor:pointer}
.casa-search-register-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px}.casa-search-register-modal[hidden]{display:none}.casa-search-register-backdrop{position:absolute;inset:0;background:rgba(0,21,14,.78);backdrop-filter:blur(10px)}
.casa-search-register-panel{position:relative;width:min(1120px,100%);max-height:min(900px,94vh);overflow:hidden;background:#fff;border-radius:30px;box-shadow:0 42px 120px rgba(0,0,0,.42)}.casa-search-register-x{position:absolute;right:18px;top:18px;z-index:8;border:1px solid rgba(255,255,255,.2);background:#0b4b39;color:#fff;border-radius:50%;width:44px;height:44px;font-size:27px;line-height:1;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.18)}.casa-search-register-x:hover{transform:rotate(4deg);background:#073c2e}
.csr-premium-layout{display:grid;grid-template-columns:minmax(330px,.78fr) minmax(0,1.42fr);min-height:690px;max-height:min(900px,94vh)}.csr-brand-pane{position:relative;overflow:hidden;padding:42px 38px 34px;background:radial-gradient(circle at 90% 8%,rgba(170,244,0,.24),transparent 30%),linear-gradient(155deg,#071b13 0%,#0a4938 55%,#0b674b 100%);color:#fff;display:flex;flex-direction:column;justify-content:space-between}.csr-brand-pane:before,.csr-brand-pane:after{content:"";position:absolute;border:1px solid rgba(170,244,0,.18);border-radius:50%}.csr-brand-pane:before{width:360px;height:360px;right:-190px;top:165px}.csr-brand-pane:after{width:520px;height:520px;right:-320px;top:80px}.csr-brand-pane>div{position:relative;z-index:1}.csr-brand-wordmark{display:flex;align-items:center;gap:0;margin-bottom:70px;font-size:.86rem;letter-spacing:.04em}.csr-brand-wordmark span{display:inline-grid;place-items:center;width:42px;height:30px;border-radius:999px 4px 4px 999px;background:#aaf400;color:#0a2318;font-weight:950}.csr-brand-wordmark b{padding:7px 10px;background:rgba(255,255,255,.1);border-radius:0 999px 999px 0}.csr-brand-kicker{display:block;color:#aaf400;font-size:.72rem;font-weight:950;letter-spacing:.18em}.csr-brand-pane h2{margin:10px 0 18px;font-size:clamp(2.35rem,4.5vw,4.7rem);line-height:.9;letter-spacing:-.055em;max-width:550px}.csr-brand-pane>div>p{margin:0;color:rgba(255,255,255,.8);font-size:1.02rem;line-height:1.65;max-width:480px}.csr-benefits{display:grid;gap:11px;margin:38px 0 22px}.csr-benefits article{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center;padding:11px 12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);border-radius:14px;backdrop-filter:blur(8px)}.csr-benefits article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#aaf400;color:#0a2a1d;font-size:.72rem;font-weight:950}.csr-benefits strong,.csr-benefits small{display:block}.csr-benefits strong{font-size:.88rem}.csr-benefits small{margin-top:2px;color:rgba(255,255,255,.62);font-size:.72rem;line-height:1.35}.csr-brand-assurance{display:flex;gap:9px;align-items:center;color:rgba(255,255,255,.66);font-size:.7rem}.csr-brand-assurance span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(170,244,0,.15);color:#aaf400;font-weight:950}
.csr-form-pane{overflow:auto;padding:32px 38px 28px;background:linear-gradient(180deg,#fff,#f8fbf8)}.csr-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-right:48px;margin-bottom:30px}.csr-progress button{position:relative;display:flex;align-items:center;gap:8px;border:0;background:transparent;color:#91a098;padding:0 0 13px;text-align:left;font:inherit;cursor:pointer;border-bottom:3px solid #e3ebe4}.csr-progress button span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#edf2ed;color:#6c7b72;font-size:.72rem;font-weight:950}.csr-progress button b{font-size:.75rem}.csr-progress button.active{color:#0a4634;border-color:#aaf400}.csr-progress button.active span,.csr-progress button.complete span{background:#0a4634;color:#fff}.csr-progress button.complete{border-color:#7db50b;color:#48604e}.csr-step-heading{display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:start;margin-bottom:24px}.csr-step-heading>span{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:#eaffb8;color:#244600;font-weight:950}.csr-step-heading h3{margin:1px 0 6px;font-size:clamp(1.45rem,2.5vw,2.15rem);letter-spacing:-.035em;line-height:1.08}.csr-step-heading p{margin:0;color:#68756d;line-height:1.5}.csr-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.csr-type-card{position:relative;min-height:168px;padding:18px 16px 16px;border:1px solid #d7e2d8;border-radius:19px;background:#fff;display:flex!important;flex-direction:column;gap:14px!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer;box-shadow:0 8px 28px rgba(15,56,39,.06);transition:.18s}.csr-type-card:hover{transform:translateY(-2px);border-color:#99cf26;box-shadow:0 13px 32px rgba(15,56,39,.1)}.csr-type-card input{position:absolute;opacity:0;pointer-events:none}.csr-type-card:has(input:checked){border-color:#73aa00;background:linear-gradient(145deg,#f4ffd8,#fff);box-shadow:0 0 0 2px rgba(170,244,0,.24),0 16px 38px rgba(31,88,50,.11)}.csr-type-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#0b4938;color:#aaf400;font-size:1.4rem}.csr-type-copy{display:grid;gap:4px}.csr-type-copy strong{font-size:.93rem;color:#102019}.csr-type-copy small{color:#6b786f;font-size:.72rem;line-height:1.35}.csr-type-card>i{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e8eee8;color:#a6b0a8;font-style:normal;font-size:.72rem}.csr-type-card:has(input:checked)>i{background:#aaf400;color:#0b2b1e}.csr-inline-note{margin:20px 0 0;padding:13px 15px;border-radius:13px;background:#eef8f1;color:#476157;font-size:.78rem;display:flex;gap:9px}.csr-inline-note span{color:#5e9300}
.csr-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.csr-form-pane label{display:grid;gap:7px;font-size:.69rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#33423a}.csr-form-pane input,.csr-form-pane select{width:100%;min-height:48px;border:1px solid #ccd9cf;border-radius:13px;background:#fff;padding:11px 13px;font:inherit;color:#0b1a12;text-transform:none;letter-spacing:0;outline:none}.csr-form-pane input:focus,.csr-form-pane select:focus{border-color:#6fa300;box-shadow:0 0 0 3px rgba(170,244,0,.2)}.csr-input-prefix{position:relative;display:block}.csr-input-prefix b{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#607067}.csr-input-prefix input{padding-left:31px}.csr-field-title{display:grid;gap:3px;margin-bottom:10px}.csr-field-title strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.csr-field-title small{font-size:.75rem;color:#708077}.csr-area-field,.csr-date-zone{margin-top:20px;padding:17px;border:1px solid #d9e4da;border-radius:18px;background:#fff}.csr-area-search{position:relative}.csr-area-search>span{position:absolute;left:14px;top:50%;transform:translateY(-50%);z-index:1;color:#5d6d63;font-size:1.1rem}.csr-area-search input{padding-left:38px}.csr-area-options{max-height:150px;overflow:auto;display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px;margin-top:11px;padding:4px}.csr-area-options.disabled{opacity:.4}.csr-area-chip{display:block!important;text-transform:none!important;letter-spacing:0!important}.csr-area-chip input{position:absolute;opacity:0;pointer-events:none}.csr-area-chip span{display:block;padding:8px 11px;border:1px solid #d8e3d9;border-radius:999px;background:#f7faf7;color:#516158;font-size:.76rem;font-weight:750;cursor:pointer}.csr-area-chip:has(input:checked) span{background:#0a4938;border-color:#0a4938;color:#fff}.csr-whole-province{margin-top:12px;padding:13px 14px;border:1px solid #cfe0d2;border-radius:14px;background:#eff9e9;display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:10px!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer}.csr-whole-province input{width:18px;height:18px;min-height:0}.csr-whole-province b,.csr-whole-province small{display:block}.csr-whole-province small{color:#6b796f}.csr-whole-province i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#dce7dd;color:#8b978e;font-style:normal}.csr-whole-province:has(input:checked) i{background:#aaf400;color:#10351f}.csr-date-zone[hidden]{display:none}.csr-date-zone .csr-grid{margin-top:5px}.csr-consent{display:flex!important;gap:10px!important;align-items:flex-start;margin-top:22px;padding:14px;border:1px solid #d5e1d7;border-radius:14px;background:#fff;text-transform:none!important;letter-spacing:0!important;font-weight:650!important;line-height:1.45}.csr-consent input{width:19px;height:19px;min-height:0;flex:none}.csr-contact-trust{display:flex;gap:9px;align-items:center;color:#64736a;font-size:.76rem}.csr-contact-trust span{color:#4f7f00}.csr-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid #e0e8e1}.csr-actions button{border:0;border-radius:999px;padding:13px 19px;font-weight:900;cursor:pointer}.csr-actions .csr-back{margin-right:auto;background:#eaf0eb;color:#425149}.csr-actions .csr-next,.csr-actions .csr-submit{background:#aaf400;color:#0b1d12;box-shadow:0 10px 26px rgba(170,244,0,.24)}.csr-actions button span{margin-left:8px}.csr-message{min-height:20px;margin-top:10px;color:#a13b2e;font-weight:750;font-size:.8rem}.csr-loading{min-height:620px;display:grid;place-items:center;align-content:center;gap:12px}.csr-loading span{width:45px;height:45px;border:4px solid #dbe7dd;border-top-color:#6fa300;border-radius:50%;animation:csrSpin .8s linear infinite}@keyframes csrSpin{to{transform:rotate(360deg)}}.csr-success-premium{min-height:610px;display:grid;place-items:center;align-content:center;text-align:center;padding:35px}.csr-success-premium>span{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:#aaf400;color:#0a3a29;font-size:2rem;font-weight:950;box-shadow:0 18px 45px rgba(170,244,0,.3)}.csr-success-premium small{margin-top:22px;color:#5e7c13;font-weight:950;letter-spacing:.16em}.csr-success-premium h3{margin:8px 0;font-size:2.1rem}.csr-success-premium p{max-width:480px;color:#68766d;line-height:1.6}.csr-success-premium button{margin-top:14px;border:0;border-radius:999px;background:#0b4938;color:#fff;padding:13px 22px;font-weight:900;cursor:pointer}.csr-hp{position:absolute!important;left:-9999px!important}.casa-search-register-open{overflow:hidden}
/* Discovery banner — positioned after the collection cards and before the main property search. */
.casa-search-primary-capture-section{padding:0 0 78px;background:#f3f6f2}.casa-search-primary-capture{min-height:390px;padding:44px 48px;border-radius:30px;background:radial-gradient(circle at 86% 4%,rgba(170,244,0,.2),transparent 27%),linear-gradient(120deg,#081d14,#0b513d 66%,#087050);color:#fff;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:40px;align-items:center;box-shadow:0 24px 70px rgba(7,48,34,.2);position:relative;overflow:hidden}.csr-discovery-copy{position:relative;z-index:2}.csr-discovery-copy>span{display:block;color:#aaf400;font-size:.75rem;font-weight:950;letter-spacing:.18em}.csr-discovery-copy h3{margin:10px 0 12px;font-size:clamp(2.25rem,4vw,4.2rem);line-height:.95;letter-spacing:-.055em;max-width:720px}.csr-discovery-copy>p{max-width:710px;margin:0;color:rgba(255,255,255,.8);font-size:1rem;line-height:1.65}.csr-discovery-points{display:flex;flex-wrap:wrap;gap:9px 16px;margin:20px 0 24px}.csr-discovery-points small{color:rgba(255,255,255,.75);font-weight:700}.csr-discovery-points small::first-letter{color:#aaf400}.csr-discovery-copy button{border:0;border-radius:999px;background:#aaf400;color:#071b12;padding:16px 22px;font-weight:950;cursor:pointer;box-shadow:0 14px 34px rgba(170,244,0,.23)}.csr-discovery-copy button b{margin-left:12px}.csr-discovery-visual{position:relative;height:290px;min-width:0}.csr-orbit{position:absolute;border:1px solid rgba(170,244,0,.2);border-radius:50%}.csr-orbit-one{width:280px;height:280px;right:42px;top:2px}.csr-orbit-two{width:210px;height:210px;right:77px;top:37px}.csr-discovery-center{position:absolute;right:120px;top:100px;width:126px;height:90px;border-radius:22px;background:#aaf400;color:#0a261a;display:grid;place-items:center;align-content:center;text-align:center;z-index:3;box-shadow:0 20px 50px rgba(0,0,0,.23)}.csr-discovery-center>span{font-size:1.35rem}.csr-discovery-center b{font-size:.78rem}.csr-discovery-center small{margin-top:2px;font-size:.45rem;max-width:100px}.csr-discovery-card{position:absolute;z-index:2;width:154px;padding:13px;border:1px solid rgba(255,255,255,.15);border-radius:16px;background:rgba(255,255,255,.11);backdrop-filter:blur(13px);box-shadow:0 14px 35px rgba(0,0,0,.16)}.csr-discovery-card span,.csr-discovery-card b,.csr-discovery-card small{display:block}.csr-discovery-card span{color:#aaf400;font-size:1.25rem}.csr-discovery-card b{margin-top:7px;font-size:.72rem}.csr-discovery-card small{margin-top:3px;color:rgba(255,255,255,.57);font-size:.62rem}.csr-discovery-card.c1{left:0;top:18px;transform:rotate(-3deg)}.csr-discovery-card.c2{right:0;top:12px;transform:rotate(3deg)}.csr-discovery-card.c3{left:35px;bottom:5px;transform:rotate(2deg)}
/* Fixed-date seasonal finder. */
.v362-seasonal-finder{padding:88px 0;background:linear-gradient(180deg,#eaf0e9 0%,#f8faf6 100%)}.v362-seasonal-shell{grid-template-columns:.86fr 1.14fr;border-radius:34px;box-shadow:0 30px 85px rgba(16,44,29,.14)}.v362-seasonal-finder .winter-stay-intro{position:relative;overflow:hidden;padding:45px 42px;background:radial-gradient(circle at 90% 10%,rgba(255,196,89,.23),transparent 26%),linear-gradient(155deg,#121b15,#0f3d2c 68%,#0b5d42)}.v362-seasonal-finder .winter-stay-intro:after{content:"";position:absolute;right:-80px;bottom:-95px;width:240px;height:240px;border-radius:50%;border:1px solid rgba(170,244,0,.18)}.v362-seasonal-finder .winter-stay-intro>*{position:relative;z-index:1}.v362-seasonal-finder .winter-stay-intro .eyebrow{color:#ffcf78}.v362-seasonal-finder .winter-stay-intro h2{font-size:clamp(2rem,3.5vw,3.4rem);line-height:.98}.v362-seasonal-finder .winter-stay-intro>p{font-size:.98rem}.v362-seasonal-uses{display:flex;flex-wrap:wrap;gap:8px;margin:23px 0 4px}.v362-seasonal-uses span{padding:8px 11px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:.72rem;font-weight:800}.v362-seasonal-finder .winter-rules{margin-top:24px}.v362-seasonal-finder .winter-stay-main{padding:38px}.v362-seasonal-form-head{margin-bottom:22px}.v362-seasonal-form-head>span{display:block;color:#6a8c10;font-size:.7rem;font-weight:950;letter-spacing:.16em}.v362-seasonal-form-head h3{margin:6px 0 6px;font-size:1.65rem;letter-spacing:-.035em}.v362-seasonal-form-head p{margin:0;color:#6a766e;line-height:1.5}.v362-seasonal-finder .winter-stay-form{padding:19px;border:1px solid #dbe5dc;border-radius:20px;background:#f9fbf8}.v362-seasonal-finder .winter-stay-form .btn{border-radius:15px;box-shadow:0 12px 28px rgba(170,244,0,.22)}
/* Random one-of-each highlighted properties. */
#featured-real-properties .real-photo-topline{align-items:end}.v362-feature-card .real-photo-media>span{background:#aaf400;color:#102017;font-weight:900}.v362-feature-card .real-photo-info{align-items:flex-start}.v362-feature-card .real-photo-info h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.v362-feature-card .real-photo-info em{display:block;margin-top:10px;color:#aaf400;font-size:.74rem;font-style:normal;font-weight:850}.v362-feature-card .real-photo-info>b{white-space:nowrap}
@media(max-width:940px){.csr-premium-layout{grid-template-columns:1fr;max-height:94vh;overflow:auto}.csr-brand-pane{min-height:auto;padding:30px 30px 25px}.csr-brand-wordmark{margin-bottom:28px}.csr-brand-pane h2{font-size:3rem}.csr-benefits{grid-template-columns:repeat(3,1fr);margin:25px 0 15px}.csr-benefits article{grid-template-columns:1fr}.csr-brand-assurance{display:none}.csr-form-pane{overflow:visible}.casa-search-primary-capture{grid-template-columns:1fr;min-height:auto}.csr-discovery-visual{height:250px;max-width:520px;margin:auto;width:100%}.v362-seasonal-shell{grid-template-columns:1fr}}
@media(max-width:700px){.casa-search-register-modal{padding:8px}.casa-search-register-panel{border-radius:22px;max-height:97vh;overflow:auto}.casa-search-register-x{right:12px;top:12px;width:40px;height:40px}.csr-premium-layout{display:block;max-height:none}.csr-brand-pane{padding:26px 20px 22px}.csr-brand-wordmark{margin-bottom:22px}.csr-brand-pane h2{font-size:2.55rem;max-width:290px}.csr-brand-pane>div>p{font-size:.88rem}.csr-benefits{display:none}.csr-form-pane{padding:23px 18px}.csr-progress{padding-right:40px;margin-bottom:24px}.csr-progress button b{display:none}.csr-progress button{justify-content:center}.csr-step-heading{grid-template-columns:38px 1fr}.csr-step-heading>span{width:38px;height:38px;border-radius:12px}.csr-type-grid,.csr-grid{grid-template-columns:1fr}.csr-type-card{min-height:110px;display:grid!important;grid-template-columns:45px 1fr;align-items:center}.csr-type-icon{width:43px;height:43px}.csr-area-options{max-height:130px}.csr-actions{position:sticky;bottom:-23px;margin-left:-18px;margin-right:-18px;padding:14px 18px;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);z-index:5}.casa-search-primary-capture-section{padding-bottom:58px}.casa-search-primary-capture{padding:30px 22px;border-radius:24px}.csr-discovery-copy h3{font-size:2.5rem}.csr-discovery-points{display:grid}.csr-discovery-visual{display:none}.v362-seasonal-finder{padding:62px 0}.v362-seasonal-finder .winter-stay-intro,.v362-seasonal-finder .winter-stay-main{padding:27px 20px}.v362-seasonal-finder .winter-stay-form{padding:14px}.casa-search-register-prompt{align-items:stretch;flex-direction:column}.casa-search-register-prompt button{width:100%}}

/* Casa Direct V36.3 — guided multi-province property-search registration */
.csr-premium-layout{height:min(900px,94vh);min-height:0}
.csr-form-pane{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:28px 34px 0}
.csr-progress{grid-template-columns:repeat(5,1fr);flex:none;margin-bottom:18px}
.csr-form-shell{display:flex;flex-direction:column;min-height:0;flex:1}
.csr-form-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 5px 24px 0;scrollbar-gutter:stable}
.csr-actions{flex:none;position:relative;margin:0 -34px;padding:16px 34px 18px;background:rgba(255,255,255,.97);box-shadow:0 -12px 30px rgba(17,45,30,.07);backdrop-filter:blur(10px);z-index:4}
.csr-province-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0 16px}
.csr-province-card{position:relative;min-height:76px;border:1px solid #d5e1d7;border-radius:17px;background:#fff;padding:13px 12px;display:grid;grid-template-columns:32px 1fr 22px;align-items:center;gap:8px;text-align:left;color:#34443b;font:inherit;cursor:pointer;transition:.16s}
.csr-province-card>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#edf4ee;color:#5c7265}.csr-province-card b{font-size:.83rem}.csr-province-card i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e7eee8;color:#a2afa6;font-style:normal;font-size:.7rem}
.csr-province-card:hover{border-color:#9ccb36;transform:translateY(-1px)}.csr-province-card.selected{background:linear-gradient(145deg,#efffd0,#fff);border-color:#75aa08;box-shadow:0 0 0 2px rgba(170,244,0,.18)}.csr-province-card.selected>span{background:#0a4938;color:#aaf400}.csr-province-card.selected i{background:#aaf400;color:#0a3928}
.csr-selected-towns{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 6px;min-height:25px}.csr-selected-towns>button{border:0;border-radius:999px;background:#0a4938;color:#fff;padding:7px 10px;display:flex;gap:7px;align-items:center;font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}.csr-selected-towns>button span{color:#aaf400}.csr-selected-towns>button b{font-size:1rem;line-height:.7}.csr-selected-towns>small{color:#79867e;font-size:.75rem}
.csr-town-options{max-height:220px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;padding:3px}.csr-town-options.disabled{opacity:.42;pointer-events:none}.csr-town-option{border:1px solid #d8e3da;border-radius:13px;background:#f8faf8;padding:10px 11px;display:grid;grid-template-columns:24px 1fr;gap:1px 8px;text-align:left;color:#33443a;font:inherit;cursor:pointer}.csr-town-option>span{grid-row:1/3;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e6eee7;color:#64756a}.csr-town-option b{font-size:.78rem}.csr-town-option small{font-size:.63rem;color:#7b8980}.csr-town-option.selected{border-color:#0a4938;background:#eff8ef}.csr-town-option.selected>span{background:#0a4938;color:#aaf400}.csr-town-empty{grid-column:1/-1;padding:22px;text-align:center;color:#76837b;font-size:.78rem}
.csr-choice-zone,.csr-conditional-card{margin-top:18px;padding:17px;border:1px solid #d9e4da;border-radius:18px;background:#fff}.csr-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.csr-choice-card{position:relative;min-height:72px;border:1px solid #d8e3da;border-radius:15px;background:#f8faf8;padding:12px;display:grid!important;grid-template-columns:32px 1fr 20px;align-items:center;gap:8px!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer}.csr-choice-card input{position:absolute;opacity:0;pointer-events:none}.csr-choice-card>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#e9f0ea;color:#4e6658}.csr-choice-card b{font-size:.73rem}.csr-choice-card i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#e3ebe4;color:#a3afa7;font-style:normal;font-size:.64rem}.csr-choice-card:has(input:checked){border-color:#78aa0b;background:#f1ffd6}.csr-choice-card:has(input:checked)>span{background:#0a4938;color:#aaf400}.csr-choice-card:has(input:checked)>i{background:#aaf400;color:#0b3827}
.csr-conditional-card[hidden]{display:none}.csr-conditional-card:first-of-type{margin-top:0}.csr-conditional-card>.csr-grid{margin-top:10px}.csr-conditional-card>label:not(.csr-consent){max-width:50%}
.csr-form-scroll::-webkit-scrollbar{width:10px}.csr-form-scroll::-webkit-scrollbar-thumb{background:#c6d4c9;border:3px solid transparent;background-clip:padding-box;border-radius:999px}.csr-form-scroll::-webkit-scrollbar-track{background:transparent}
@media(max-width:940px){.csr-premium-layout{height:auto;max-height:94vh;overflow:auto}.csr-form-pane{overflow:visible}.csr-form-scroll{overflow:visible}.csr-progress{position:sticky;top:0;background:#fff;z-index:4;padding-top:8px}.csr-province-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.csr-form-pane{padding:22px 17px 0}.csr-progress{grid-template-columns:repeat(5,1fr);gap:4px;padding-right:42px}.csr-progress button{padding-bottom:9px}.csr-progress button b{display:none}.csr-form-scroll{padding-right:0}.csr-actions{margin:0 -17px;padding:13px 17px 15px;position:sticky;bottom:0}.csr-province-grid{grid-template-columns:1fr 1fr}.csr-town-options{grid-template-columns:1fr;max-height:200px}.csr-choice-grid{grid-template-columns:1fr 1fr}.csr-conditional-card>label:not(.csr-consent){max-width:none}}


/* Casa Direct V36.3 final polish — visible reference text and fully styled guided search. */
.site-header .quick-ref-search input,
.mobile-menu .quick-ref-search input{
  color:#fff!important;
  caret-color:#fff;
  -webkit-text-fill-color:#fff!important;
}
.site-header .quick-ref-search input::placeholder,
.mobile-menu .quick-ref-search input::placeholder{
  color:rgba(255,255,255,.64)!important;
  -webkit-text-fill-color:rgba(255,255,255,.64)!important;
  opacity:1;
}
.site-header .quick-ref-search input:-webkit-autofill,
.site-header .quick-ref-search input:-webkit-autofill:hover,
.site-header .quick-ref-search input:-webkit-autofill:focus,
.mobile-menu .quick-ref-search input:-webkit-autofill,
.mobile-menu .quick-ref-search input:-webkit-autofill:hover,
.mobile-menu .quick-ref-search input:-webkit-autofill:focus{
  -webkit-text-fill-color:#fff!important;
  caret-color:#fff;
  box-shadow:0 0 0 1000px rgba(255,255,255,.04) inset!important;
  transition:background-color 9999s ease-out 0s;
}
.csr-location-box,.csr-timing-panel{
  margin-top:18px;padding:17px;border:1px solid #d9e4da;border-radius:18px;background:#fff;
}
.csr-location-box:first-of-type,.csr-timing-panel:first-of-type{margin-top:0}
.csr-timing-panel[hidden],.csr-sell-details[hidden]{display:none!important}
.csr-selected-towns>button{grid-template-columns:auto auto auto auto}
.csr-selected-towns>button small{color:rgba(255,255,255,.68);font-size:.62rem}
.csr-selected-towns>button span:nth-child(2){font-weight:850}
.csr-town-option b{justify-self:end;align-self:center;font-size:1rem;color:#6d7e73}
.csr-choice-grid{margin-top:8px}
.csr-amenities-title{margin-top:20px}
.csr-sale-switch{margin-top:16px;padding:15px 16px;border:1px solid #d9e4da;border-radius:16px;background:#f8faf8;display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.csr-sale-switch>span{margin-right:auto;font-size:.76rem;font-weight:900;color:#2f4036}
.csr-sale-switch label{display:flex!important;align-items:center;gap:7px!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer}
.csr-sale-switch input{width:18px!important;height:18px!important;min-height:0!important}
.csr-sell-details{margin-top:12px;padding:16px;border:1px solid #d9e4da;border-radius:16px;background:#fff}
.csr-form-pane textarea{width:100%;min-height:110px;border:1px solid #ccd9cf;border-radius:13px;background:#fff;padding:12px 13px;font:inherit;color:#0b1a12;resize:vertical;outline:none;text-transform:none;letter-spacing:0}
.csr-form-pane textarea:focus{border-color:#6fa300;box-shadow:0 0 0 3px rgba(170,244,0,.2)}
.csr-full{grid-column:1/-1}
.csr-no-selected{color:#79867e;font-size:.75rem}
.csr-province-card.selected b{color:#19311f}
@media(max-width:940px){
  .csr-form-shell{min-height:auto}
  .csr-form-scroll{overflow:visible}
}
/* V36.3 finishing detail: keep the optional sale-support checkbox compact. */
.csr-sell-details .csr-check{display:flex!important;align-items:flex-start;gap:10px!important;margin-top:14px;padding:12px 13px;border:1px solid #d9e4da;border-radius:13px;background:#f7faf7;text-transform:none!important;letter-spacing:0!important;font-weight:750!important;line-height:1.35;cursor:pointer}
.csr-sell-details .csr-check input{width:18px!important;height:18px!important;min-height:0!important;flex:0 0 18px;margin:1px 0 0;padding:0!important}
.csr-sell-details .csr-check span{display:block;font-size:.75rem;color:#34453b}
/* V36.3 finishing detail: town results use a clear two-line label plus action. */
.csr-town-option{grid-template-columns:minmax(0,1fr) 24px!important;grid-template-rows:auto auto!important;gap:2px 8px!important;align-items:center!important}
.csr-town-option>span{grid-column:1!important;grid-row:1!important;display:block!important;width:auto!important;height:auto!important;border-radius:0!important;background:transparent!important;color:#33443a!important;font-size:.78rem!important;font-weight:850!important;line-height:1.2!important;place-items:initial!important}
.csr-town-option>small{grid-column:1!important;grid-row:2!important;display:block!important;font-size:.63rem!important;color:#7b8980!important;line-height:1.2!important}
.csr-town-option>b{grid-column:2!important;grid-row:1/3!important;justify-self:center!important;align-self:center!important;display:grid!important;place-items:center!important;width:22px!important;height:22px!important;border-radius:50%!important;background:#e6eee7!important;color:#5b6f62!important;font-size:1rem!important;line-height:1!important}
.csr-town-option.selected>span{background:transparent!important;color:#0a4938!important}.csr-town-option.selected>b{background:#0a4938!important;color:#aaf400!important}

/* Casa Direct V36.6 — branded guide with province and multi-town search only. */
.csr-brand-logo-wrap{display:flex;align-items:center;min-height:42px;margin-bottom:34px}
.csr-brand-logo-wrap img{display:block;width:min(230px,82%);height:auto;max-height:72px;object-fit:contain;object-position:left center;filter:none}
[data-csr-town-box][hidden],[data-csr-town-mode][hidden]{display:none!important}
.csr-budget-wide{grid-column:1/-1}
.csr-form-pane .csr-budget-wide small{display:block;margin-top:6px;color:#78857d;font-size:.68rem;line-height:1.35;text-transform:none;letter-spacing:0}
@media(max-width:700px){.csr-brand-logo-wrap{margin-bottom:22px}.csr-brand-logo-wrap img{width:min(205px,78%)}}


/* Casa Direct V36.5 — mobile discovery banner and shortlist clearance. */
@media(max-width:720px){
  .casa-search-primary-capture-section{
    padding:26px 0 118px!important;
    background:linear-gradient(180deg,#edf3ed 0%,#f8faf7 100%)!important;
  }
  .casa-search-primary-capture-section>.container{
    width:min(100% - 24px,var(--max,1500px))!important;
    margin-inline:auto!important;
  }
  .casa-search-primary-capture{
    display:block!important;
    min-height:0!important;
    padding:30px 22px 24px!important;
    border:1px solid rgba(170,244,0,.18)!important;
    border-radius:26px!important;
    background:
      radial-gradient(circle at 100% 0%,rgba(170,244,0,.22),transparent 34%),
      linear-gradient(145deg,#071b13 0%,#0a4938 62%,#0a6549 100%)!important;
    color:#fff!important;
    box-shadow:0 22px 58px rgba(7,48,34,.22)!important;
    overflow:hidden!important;
  }
  .csr-discovery-copy>span{
    display:block!important;
    color:#aaf400!important;
    font-size:.72rem!important;
    font-weight:950!important;
    letter-spacing:.16em!important;
    line-height:1.3!important;
  }
  .csr-discovery-copy h3{
    margin:11px 0 13px!important;
    max-width:100%!important;
    color:#fff!important;
    font-size:clamp(2.25rem,11.5vw,3.45rem)!important;
    line-height:.94!important;
    letter-spacing:-.052em!important;
  }
  .csr-discovery-copy>p{
    margin:0!important;
    color:rgba(255,255,255,.82)!important;
    font-size:1rem!important;
    line-height:1.55!important;
  }
  .csr-discovery-points{
    display:grid!important;
    gap:9px!important;
    margin:21px 0 23px!important;
  }
  .csr-discovery-points small{
    display:flex!important;
    align-items:flex-start!important;
    gap:9px!important;
    color:rgba(255,255,255,.79)!important;
    font-size:.82rem!important;
    line-height:1.4!important;
    font-weight:750!important;
  }
  .csr-discovery-points small::first-letter{color:#aaf400!important}
  .csr-discovery-copy button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:52px!important;
    padding:14px 18px!important;
    border-radius:16px!important;
    background:#aaf400!important;
    color:#071b12!important;
    font-size:.97rem!important;
    font-weight:950!important;
    box-shadow:0 15px 34px rgba(170,244,0,.2)!important;
  }
  .csr-discovery-visual{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    width:100%!important;
    height:auto!important;
    margin:24px 0 0!important;
  }
  .csr-discovery-visual .csr-orbit{display:none!important}
  .csr-discovery-card,
  .csr-discovery-card.c1,
  .csr-discovery-card.c2,
  .csr-discovery-card.c3{
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    width:auto!important;
    min-width:0!important;
    transform:none!important;
    padding:13px!important;
    border:1px solid rgba(255,255,255,.14)!important;
    border-radius:15px!important;
    background:rgba(255,255,255,.09)!important;
    box-shadow:none!important;
  }
  .csr-discovery-card.c3{grid-column:1/-1!important}
  .csr-discovery-card span{font-size:1.12rem!important}
  .csr-discovery-card b{margin-top:5px!important;color:#fff!important;font-size:.73rem!important;line-height:1.25!important}
  .csr-discovery-card small{margin-top:3px!important;color:rgba(255,255,255,.58)!important;font-size:.63rem!important}
  .csr-discovery-center{
    position:relative!important;
    inset:auto!important;
    right:auto!important;
    top:auto!important;
    grid-column:1/-1!important;
    width:auto!important;
    height:auto!important;
    min-height:68px!important;
    padding:12px 14px!important;
    border-radius:15px!important;
    display:grid!important;
    grid-template-columns:28px auto!important;
    grid-template-rows:auto auto!important;
    column-gap:8px!important;
    justify-content:start!important;
    justify-items:start!important;
    align-content:center!important;
    text-align:left!important;
    background:#aaf400!important;
    color:#0a261a!important;
  }
  .csr-discovery-center>span{grid-row:1/3!important;font-size:1.45rem!important;align-self:center!important}
  .csr-discovery-center b{font-size:.78rem!important}
  .csr-discovery-center small{max-width:none!important;font-size:.57rem!important;line-height:1.25!important}
  .public-shortlist-launcher{
    right:14px!important;
    bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;
    z-index:78!important;
    max-width:calc(100vw - 28px)!important;
    padding:11px 14px!important;
    box-shadow:0 13px 34px rgba(0,0,0,.28)!important;
  }
}
@media(max-width:390px){
  .casa-search-primary-capture{padding:27px 18px 22px!important}
  .csr-discovery-copy h3{font-size:2.28rem!important}
  .public-shortlist-launcher{right:10px!important;padding:10px 12px!important}
}

/* V36.6: map drawing controls intentionally removed. */
