/* Saved apartment selection. Existing hero and navigation styles are preserved. */
.heart-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;display:block}
#favorites-toggle{display:flex;align-items:center;gap:7px;padding:8px 0 8px 8px;min-height:44px;min-width:44px;color:inherit}
#favorites-count{font-size:10px;min-width:8px;font-variant-numeric:tabular-nums}
#favorites-toggle.has-favorites .heart-icon{fill:currentColor}
.favorite-card{position:relative;grid-row:var(--apartment-row);min-width:0;display:flex}
.favorite-card[data-building="A"]{grid-column:1}.favorite-card[data-building="B"]{grid-column:2}
.favorite-card>.apartment-card{height:100%}
.save-favorite{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:9px}
.favorite-card>.save-favorite{position:absolute;right:10px;top:10px;z-index:3}
.save-favorite .heart-icon{width:19px;height:19px}
.save-favorite[aria-pressed="true"] .heart-icon{fill:currentColor}
#apartment-dialog .dialog-top>.eyebrow{margin-right:auto}
#apartment-dialog .dialog-top{gap:12px}
#favorites-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:530px;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-left:1px solid var(--line);padding:30px;overflow-y:auto;background:var(--bg)}
#favorites-dialog::backdrop{background:rgba(25,24,23,.5);backdrop-filter:blur(5px)}
.favorites-top{display:flex;align-items:start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:25px}
.favorites-top .eyebrow{font-size:8px;margin:0 0 16px;letter-spacing:1.6px}
.favorites-top h2{font-family:var(--serif);font-size:48px;line-height:1;margin:0;letter-spacing:-1.5px}
#drawer-count{font:12px Arial,sans-serif;vertical-align:top;display:inline-flex;margin:6px 0 0 14px;letter-spacing:0;color:var(--muted)}
#close-favorites{font-size:30px;line-height:1;width:44px;height:44px;margin-top:-8px;padding:0}
#favorites-empty{text-align:center;padding:60px 14px 35px}
#favorites-empty>.heart-icon{width:38px;height:38px;color:var(--muted);margin:0 auto 25px;stroke-width:.9}
#favorites-empty h3{font-size:30px;letter-spacing:-.6px;margin-bottom:17px}
#favorites-empty p{font-size:12px;line-height:1.9;color:var(--muted);max-width:290px;margin:0 auto 28px}
#favorites-empty .button{justify-content:center;font-size:9px}
.saved-unit{display:grid;grid-template-columns:130px 1fr;gap:24px;padding:25px 0;border-bottom:1px solid var(--line)}
.saved-preview{padding:12px;background:var(--paper);border:1px solid var(--line);min-height:150px}
.saved-preview img{display:block;width:100%;height:150px;object-fit:contain}
.night .saved-preview{background:#fff}.night .saved-preview img{filter:invert(.87) hue-rotate(180deg)}
.night .saved-preview{background:#242321}
.saved-info{min-width:0}.saved-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.saved-top h3{font-size:29px;margin:0;letter-spacing:-.7px}
.remove-favorite{min-height:36px;min-width:36px;font-size:22px;padding:0;color:var(--muted)}
.saved-info>strong{font:26px var(--serif);display:block;margin:8px 0 14px}.saved-info>strong small{font-size:14px}
.saved-info>p,.saved-info>span{font-size:10px;color:var(--muted);line-height:1.7;display:block;margin:0 0 3px}
.saved-details{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0 0;width:100%;font-size:10px}
.saved-details>span{font-size:20px}
#favorites-actions{padding-top:25px}#favorites-actions>.button{width:100%;font-size:10px;letter-spacing:.6px;text-align:left;gap:12px;line-height:1.6}
#favorites-actions>p,.favorites-storage-note{font-size:10px;color:var(--muted);line-height:1.8;margin:14px 0 0}.favorites-storage-note{margin-top:28px}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(max-width:700px){
 .header-tools{gap:14px}
 #favorites-toggle{min-width:34px;padding-left:0;gap:5px}
 .favorite-card>.save-favorite{width:32px;height:32px;right:8px;top:8px;padding:7px}.save-favorite .heart-icon{width:17px;height:17px}
 .card-plan>.status-pill{max-width:calc(100% - 50px);font-size:6px}
 #favorites-dialog{padding:25px 20px}.favorites-top h2{font-size:43px}.favorites-top .eyebrow{font-size:7px}
 .saved-unit{grid-template-columns:100px 1fr;gap:17px}.saved-preview{padding:8px;min-height:130px}.saved-preview img{height:135px}.saved-top h3{font-size:27px}
 #favorites-actions>.button{font-size:9px;padding:16px;letter-spacing:.3px}.favorites-storage-note{font-size:9px}
}

/* Main header: menu left, theme and favorites right. */
.header-menu-left .header-tools{margin-left:auto}
.header-menu-left #menu-toggle{display:flex;flex-direction:column;gap:5px;justify-content:center;padding:10px 7px 10px 0}
.header-menu-left #menu-toggle span{width:20px;height:1px;background:var(--ink);display:block}
.header-menu-left nav{display:none;position:absolute;left:0;right:0;top:100%;margin:0;padding:20px 3.5% 25px;background:var(--bg);color:var(--ink);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - var(--header-height));overflow-y:auto}
.header-menu-left nav.open{display:flex}
.header-menu-left nav a{font-size:10px;padding:14px 0;border-bottom:1px solid var(--line)}
.header-menu-left nav a:last-child{border:0}
@media(max-width:700px){.header-menu-left nav{padding-left:6%;padding-right:6%}}
