.favorites-page{min-height:100vh;padding-top:clamp(88px,7vw,118px);background:var(--white);color:var(--ink)}.favorites-title-band{padding:clamp(34px,5vw,62px) 0;background:var(--paper);border-bottom:1px solid var(--line)}.favorites-title-band h1{margin:4px 0 7px;font-size:clamp(1.75rem,2.8vw,2.8rem);font-weight:650;line-height:1.08;letter-spacing:-.035em}.favorites-title-band p:last-child{max-width:680px;margin:0;color:var(--muted);font-size:.9rem}.favorites-content{padding:clamp(38px,6vw,76px) 0 90px}
.favorites-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--line)}.favorites-heading h2{margin:3px 0 0;font-size:clamp(1.65rem,2.7vw,2.45rem);font-weight:650;line-height:1.1}.favorites-heading-actions{display:flex;align-items:center;gap:18px}.favorites-heading-actions>p{margin:0;color:var(--muted);font-size:.86rem}.favorites-heading-actions strong{color:var(--brand);font-size:1.15rem}
.favorites-grid{display:flex;align-items:stretch;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:8px 12px 24px;margin:-8px -12px -6px;scroll-padding-inline:12px}.favorites-grid::-webkit-scrollbar{display:none}.favorites-grid>.property-card{flex:0 0 calc((100% - 72px)/4);height:auto;scroll-snap-align:start}.favorites-loading{display:flex;align-items:center;justify-content:center;gap:10px;min-height:220px;color:var(--muted)}.favorites-spinner{width:25px;height:25px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:favorites-spin .8s linear infinite}.favorites-loading[hidden],.favorites-error[hidden],.favorites-empty[hidden],.favorites-lead[hidden],.favorites-form-alert[hidden]{display:none!important}.favorites-error{padding:14px;border:1px solid color-mix(in srgb,var(--brand) 38%,var(--line));border-radius:10px;background:var(--paper);text-align:center}
.favorites-empty{display:grid;justify-items:center;padding:clamp(55px,8vw,100px) 20px;text-align:center}.favorites-empty>.icon{width:62px;height:62px;color:var(--brand)}.favorites-empty h2{margin:16px 0 5px;font-size:clamp(1.4rem,3vw,2rem)}.favorites-empty p{max-width:550px;margin:0;color:var(--muted)}.favorites-empty a,.favorites-lead-copy>a{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:22px;padding:12px 20px;border:1px solid var(--brand);border-radius:10px;background:var(--brand);color:var(--brand-contrast,#fff);font-weight:750}.favorites-lead-copy>a .icon{width:20px;height:20px}
.favorites-lead{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:clamp(32px,6vw,84px);align-items:start;margin-top:clamp(52px,7vw,90px);padding:clamp(26px,4vw,48px);border:1px solid var(--line);border-radius:20px;background:var(--paper)}.favorites-lead-copy{position:sticky;top:130px}.favorites-lead-copy h2{margin:4px 0 12px;font-size:clamp(1.7rem,3vw,2.6rem);font-weight:650;line-height:1.08;letter-spacing:-.03em}.favorites-lead-copy>p:last-of-type{margin:0;color:var(--muted)}.favorites-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:clamp(20px,3vw,30px);border:1px solid var(--line);border-radius:16px;background:var(--white)}.favorites-form>label{display:grid;gap:5px;color:var(--muted);font-size:.84rem}.favorites-form>label:nth-of-type(1),.favorites-form>label:nth-of-type(4),.favorites-privacy,.favorites-form>.h-captcha,.favorites-form-feedback,.favorites-form-alert,.favorites-form>button{grid-column:1/-1}.favorites-form input,.favorites-form textarea{width:100%;border:1px solid var(--line);border-radius:9px;outline:0;background:var(--white);color:var(--ink);font:inherit;font-size:.9rem}.favorites-form input{height:48px;padding:0 12px}.favorites-form textarea{min-height:105px;padding:11px 12px;resize:vertical}.favorites-form input:focus,.favorites-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 16%,transparent)}.favorites-form .favorites-privacy{display:flex;grid-template-columns:none;align-items:flex-start;gap:9px}.favorites-privacy input{flex:0 0 auto;width:17px;height:17px;margin-top:2px;accent-color:var(--brand)}.favorites-privacy a{color:var(--brand);text-decoration:underline}.favorites-form>button{min-height:50px;border:1px solid var(--brand);border-radius:10px;background:var(--brand);color:var(--brand-contrast,#fff);font-weight:750;cursor:pointer}.favorites-form>button:hover{filter:brightness(.94)}.favorites-form-feedback,.favorites-form-alert{margin:0;padding:11px 13px;border-radius:9px;font-size:.84rem}.favorites-form-feedback.is-success{background:#e8f7ee;color:#176b38}.favorites-form-feedback.is-error,.favorites-form-alert{background:#fff0f0;color:#a72828}.favorites-form-alert.is-visible{display:block}.favorites-form .h-captcha{position:relative;z-index:1;max-width:100%;overflow:visible}@keyframes favorites-spin{to{transform:rotate(360deg)}}
@media(max-width:1199px){.favorites-grid>.property-card{flex-basis:calc((100% - 24px)/2)}.favorites-lead{grid-template-columns:1fr}.favorites-lead-copy{position:static}}
.favorites-heading h1{margin:3px 0 0;font-size:clamp(1.65rem,2.7vw,2.45rem);font-weight:650;line-height:1.1}
@media(max-width:699px){.favorites-page{padding-top:76px}.favorites-heading{align-items:flex-start}.favorites-heading h1{font-size:1.5rem}.favorites-heading-actions{align-items:flex-end;flex-direction:column;gap:8px}.favorites-grid>.property-card{flex-basis:88%}.favorites-lead{padding:18px}.favorites-form{grid-template-columns:1fr;padding:18px}.favorites-form>label{grid-column:1/-1}}
@media (min-width: 980px) {
  .favorites-page {
    padding-top: var(--site-header-height, 90px);
  }
}
@media(prefers-reduced-motion:reduce){.favorites-loading .favorites-spinner{animation:none}.favorites-grid{scroll-behavior:auto}}
.favorites-contact{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:clamp(48px,6vw,76px);padding:clamp(24px,4vw,40px);border-radius:18px;background:var(--paper)}.favorites-contact[hidden],.favorites-modal[hidden],.favorites-modal-backdrop[hidden]{display:none!important}.favorites-contact h2{margin:3px 0 5px;font-size:clamp(1.45rem,2.5vw,2.1rem);font-weight:650;line-height:1.12}.favorites-contact p:last-child{max-width:720px;margin:0;color:var(--muted)}.favorites-contact>button{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:12px 20px;border:1px solid var(--brand);border-radius:10px;background:var(--brand);color:var(--brand-contrast,#fff);font-weight:750;cursor:pointer}.favorites-contact>button:hover{filter:brightness(.94)}.favorites-contact>button .icon{width:20px;height:20px}.favorites-contact>button:hover .icon{fill:currentColor}
.favorites-modal-backdrop{position:fixed;z-index:90;inset:0;background:rgba(8,12,10,.58);animation:favorites-backdrop-in .2s ease}.favorites-modal{position:fixed;z-index:91;top:50%;left:50%;width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow-y:auto;padding:clamp(22px,3vw,32px);border:1px solid var(--line);border-radius:18px;background:var(--white);color:var(--ink);box-shadow:0 28px 80px rgba(0,0,0,.28);transform:translate(-50%,-50%);animation:favorites-modal-in .22s ease}.favorites-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}.favorites-modal-head h2{margin:3px 0 0;font-size:clamp(1.45rem,3vw,2rem);font-weight:650;line-height:1.1}.favorites-modal-head>button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:8px 11px;border:1px solid var(--brand);border-radius:9px;background:transparent;color:var(--brand);font-weight:700;cursor:pointer}.favorites-modal-head>button:hover{background:var(--brand);color:var(--brand-contrast,#fff)}.favorites-modal-head>button .icon{width:18px;height:18px}.favorites-modal-intro{margin:17px 0;color:var(--muted);font-size:.88rem}.favorites-modal .favorites-form{padding:0;border:0;border-radius:0}.favorites-modal-open{overflow:hidden}.favorites-modal-open .site-header{z-index:20}@keyframes favorites-backdrop-in{from{opacity:0}}@keyframes favorites-modal-in{from{opacity:0;transform:translate(-50%,calc(-50% + 16px))}}
@media(max-width:699px){.favorites-contact{align-items:stretch;flex-direction:column}.favorites-contact>button{width:100%}.favorites-modal{top:auto;bottom:0;left:0;width:100%;max-height:calc(100dvh - 18px);padding:20px 18px;border-radius:18px 18px 0 0;transform:none;animation:favorites-sheet-in .23s ease}.favorites-modal-head>button span{display:none}@keyframes favorites-sheet-in{from{transform:translateY(24px);opacity:0}}}
.favorites-heading h1 {
  font-size: clamp(1.75rem, 2.8vw, 2.8rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}
@media (max-width: 699px) {
  .favorites-heading h1 { font-size: 1.65rem; }
}
