/* A quiet decision layer for the four residences. */
.shortlist-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 24px; padding:10px 0; margin-bottom:20px; border-block:1px solid var(--rule); }
.shortlist-toolbar-actions { display:flex; flex-wrap:wrap; align-items:center; flex:none; gap:8px 20px; }
.shortlist-all-button { border:1px solid var(--forest); background:var(--forest); color:var(--ivory); min-height:44px; padding:10px 17px; font-size:12px; line-height:1.6; }
.shortlist-all-button:hover { background:#284439; }
.shortlist-saved-button { border:0; border-bottom:1px solid #a6ac99; padding:9px 0; font-size:12px; line-height:1.6; }
.shortlist-saved-button:hover { border-color:var(--forest); }
.shortlist-guide { flex:1 1 280px; max-width:540px; font-size:11px; line-height:1.7; color:var(--muted); margin:0; text-align:right; }
.shortlist-tray { position:fixed; z-index:24; right:25px; bottom:24px; display:flex; align-items:center; gap:18px; padding:12px 12px 12px 20px; max-width:calc(100vw - 40px); background:var(--ivory); color:var(--forest); border:1px solid #b4bbaa; box-shadow:0 9px 36px #11231e25; }
.shortlist-tray-copy { min-width:0; }
.shortlist-tray-copy strong { display:block; font-size:13px; line-height:1.5; font-weight:500; white-space:nowrap; }
.shortlist-tray-copy span { display:block; margin-top:1px; font-size:10px; line-height:1.6; color:var(--muted); }
.shortlist-tray-compare { flex:none; border:1px solid var(--forest); background:var(--forest); color:var(--ivory); font-size:12px; line-height:1.5; padding:10px 17px; }
.shortlist-tray-compare:hover { background:#284439; }
.shortlist-tray-clear { flex:none; border:0; width:44px; height:44px; padding:0; font-size:11px; line-height:1.5; }
.shortlist-tray-clear:hover { background:#e8e5dc; }
body.shortlist-open { overflow:hidden; }
.shortlist-dialog { width:min(1370px,96vw); max-width:none; max-height:94svh; padding:0; color:var(--ink); background:var(--ivory); border:1px solid #b6beae; box-shadow:0 20px 100px #03180d5e; overflow:auto; overscroll-behavior:contain; }
.shortlist-dialog::backdrop { background:#071a13c9; backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); }
.shortlist-dialog-shell { min-width:0; }
.shortlist-dialog-header { display:flex; align-items:flex-start; justify-content:space-between; gap:25px; position:sticky; top:0; z-index:5; background:var(--ivory); padding:26px 30px 22px; border-bottom:1px solid var(--rule); }
.shortlist-dialog-header .eyebrow { margin-bottom:9px; font-size:10px; line-height:1.5; letter-spacing:.13em; }
.shortlist-dialog-header h2 { font-size:clamp(35px,3.8vw,54px); line-height:1.02; }
#shortlist-comparison-count { margin-top:12px; font-size:12px; line-height:1.6; color:var(--muted); }
.shortlist-close { width:46px; height:46px; flex:none; padding:0; border:1px solid #b3bba9; font-size:20px; line-height:1; }
.shortlist-close:hover { color:var(--ivory); background:var(--forest); }
.shortlist-comparison-hint { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:15px 30px; color:var(--muted); font-size:11px; line-height:1.6; }
.shortlist-swipe-hint { display:inline-flex; align-items:center; gap:8px; white-space:nowrap; }
.shortlist-swipe-hint>span { font-size:18px; line-height:1; }
.shortlist-table-scroll { max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#a6ac99 #e8e5dc; padding-bottom:5px; }
.shortlist-table { border-collapse:separate; border-spacing:0; width:100%; table-layout:fixed; font-size:12px; line-height:1.65; }
.shortlist-table th,.shortlist-table td { text-align:left; vertical-align:top; border-bottom:1px solid var(--rule); padding:15px 22px; font-weight:400; }
.shortlist-table tr>*+* { border-left:1px solid var(--rule); }
.shortlist-table thead th { padding-top:0; padding-bottom:13px; }
.shortlist-table tr>*:first-child { width:162px; position:sticky; left:0; z-index:2; background:var(--ivory); box-shadow:1px 0 0 var(--rule); color:var(--muted); }
.shortlist-table tr>*:not(:first-child) { width:250px; }
.shortlist-table .shortlist-feature-heading { padding-top:7px; }
.shortlist-feature-heading>span { display:block; color:var(--forest); font-size:10px; letter-spacing:.13em; text-transform:uppercase; line-height:1.7; }
.shortlist-feature-heading>small { display:block; max-width:105px; font-size:11px; line-height:1.8; margin-top:14px; }
.shortlist-home-photo { width:100%; aspect-ratio:1.75; overflow:hidden; background:#e8e5dc; }
.shortlist-home-photo picture,.shortlist-home-photo img { width:100%; height:100%; }
.shortlist-home-photo img { object-fit:cover; }
.shortlist-home-identity { margin-top:11px; font-family:var(--serif); font-size:28px; line-height:1.15; letter-spacing:-.025em; color:var(--forest); white-space:nowrap; }
.shortlist-save { display:inline-flex; align-items:center; gap:7px; min-height:44px; margin-top:2px; padding:7px 0; border:0; font-size:11px; line-height:1.6; color:var(--muted); }
.shortlist-save svg { width:16px; height:16px; fill:transparent; stroke:currentColor; stroke-width:1.2; }
.shortlist-save.is-saved { color:var(--forest); }
.shortlist-save.is-saved svg { fill:var(--forest); }
.shortlist-save:hover { color:var(--forest); }
.shortlist-plan { display:inline-flex; flex-wrap:wrap; gap:4px 8px; align-items:center; min-height:44px; border-bottom:1px solid #a6ac99; color:var(--forest); }
.shortlist-plan>span { font-size:9px; line-height:1.6; color:var(--muted); white-space:nowrap; }
.shortlist-plan:hover { border-color:var(--forest); }
.shortlist-table .shortlist-next-step>td { padding-top:20px; padding-bottom:20px; }
.shortlist-explore { width:100%; min-height:46px; padding:11px 13px; font-size:12px; line-height:1.6; }
.shortlist-inquire { display:block; min-height:44px; padding:10px 0 5px; margin:3px auto 0; border:0; border-bottom:1px solid transparent; color:var(--forest); font-size:12px; line-height:1.6; }
.shortlist-inquire:hover { border-bottom-color:var(--forest); }
.shortlist-dialog-footer { padding:20px 30px 25px; }
.shortlist-confirmation { max-width:1010px; font-size:11px; line-height:1.8; color:var(--muted); }
.shortlist-dialog-actions { display:flex; align-items:center; flex-wrap:wrap; gap:9px 25px; margin-top:15px; }
.shortlist-dialog-actions button { padding:8px 0; min-height:44px; border:0; border-bottom:1px solid #a6ac99; font-size:12px; line-height:1.6; color:var(--forest); }
.shortlist-dialog-actions button:hover { border-color:var(--forest); }
.shortlist-dialog-actions>span { margin-left:auto; max-width:390px; font-size:10px; line-height:1.8; color:var(--muted); }
@media(min-width:1250px) { .shortlist-table tr>*:not(:first-child) { width:auto; } }
@media(max-width:1000px) { .shortlist-table tr>*:first-child { width:145px; } .shortlist-table tr>*:not(:first-child) { width:235px; } .shortlist-table th,.shortlist-table td { padding-inline:18px; } }
@media(max-width:700px) {
  .shortlist-toolbar { gap:6px; padding-block:8px; margin-bottom:17px; }
  .shortlist-toolbar-actions { width:100%; justify-content:space-between; gap:10px; }
  .shortlist-all-button { padding:10px 15px; }
  .shortlist-guide { flex-basis:100%; max-width:none; font-size:10px; line-height:1.6; text-align:left; }
  .shortlist-tray { left:12px; right:12px; bottom:calc(76px + env(safe-area-inset-bottom)); max-width:none; gap:12px; padding:8px 7px 8px 14px; }
  .shortlist-tray-copy { margin-right:auto; }
  .shortlist-tray-copy strong { font-size:12px; }
  .shortlist-tray-copy span { font-size:9px; }
  .shortlist-tray-compare { padding:10px 13px; font-size:11px; }
  .shortlist-tray-clear { min-width:44px; width:44px; }
  .shortlist-dialog { width:100%; max-width:100%; height:100svh; max-height:100svh; margin:0; border:0; }
  .shortlist-dialog-header { padding:20px; gap:16px; }
  .shortlist-dialog-header h2 { font-size:35px; max-width:280px; }
  .shortlist-dialog-header .eyebrow { font-size:9px; margin-bottom:8px; }
  #shortlist-comparison-count { margin-top:11px; font-size:11px; max-width:250px; }
  .shortlist-close { width:44px; height:44px; }
  .shortlist-comparison-hint { padding:13px 20px; flex-wrap:wrap; gap:3px 15px; font-size:10px; }
  .shortlist-table { font-size:11px; line-height:1.7; }
  .shortlist-table th,.shortlist-table td { padding:14px 15px; }
  .shortlist-table tr>*:first-child { width:116px; padding-left:20px; padding-right:14px; }
  .shortlist-table tr>*:not(:first-child) { width:220px; }
  .shortlist-table .shortlist-feature-heading { padding-top:5px; }
  .shortlist-feature-heading>span { font-size:9px; letter-spacing:.1em; }
  .shortlist-feature-heading>small { font-size:10px; margin-top:12px; }
  .shortlist-home-photo { aspect-ratio:1.8; }
  .shortlist-home-identity { font-size:26px; margin-top:10px; }
  .shortlist-save { font-size:10px; }
  .shortlist-dialog-footer { padding:19px 20px calc(24px + env(safe-area-inset-bottom)); }
  .shortlist-confirmation { font-size:10px; }
  .shortlist-dialog-actions { gap:8px 20px; margin-top:13px; }
  .shortlist-dialog-actions>span { flex-basis:100%; max-width:none; margin-left:0; }
}
@media(max-width:360px) { .shortlist-tray { gap:7px; left:8px; right:8px; padding-left:11px; } .shortlist-tray-copy strong { font-size:11px; } .shortlist-tray-compare { padding-inline:10px; font-size:10px; } .shortlist-dialog-header { padding-inline:15px; } .shortlist-dialog-header h2 { font-size:31px; } .shortlist-dialog-header .eyebrow { max-width:190px; font-size:8px; } .shortlist-comparison-hint { padding-inline:15px; } .shortlist-table tr>*:first-child { width:105px; padding-left:15px; } }
