/* Who's Next Real Estate: shared styles. Most layout lives inline on each page (generated by build.py). */
:root { color-scheme: dark; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #111010; color: #E9E6E1; font-family: 'Jost', system-ui, sans-serif; overflow-x: hidden; }
a { color: #CCB091; }
a:hover { color: #FFFFFF; }
h1, h2, h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; text-wrap: balance; }
img { max-width: 100%; }
input::placeholder, textarea::placeholder { color: #8C867D; }
summary::-webkit-details-marker { display: none; }
:focus-visible { outline: 2px solid #CCB091; outline-offset: 3px; }
.skip { position: absolute; left: -9999px; top: 0; background: #CCB091; color: #111010; padding: 10px 16px; z-index: 100; }
.skip:focus { left: 16px; top: 16px; }

/* header: links hide on small screens, MENU stays */
@media (max-width: 1100px) {
  .site-nav { display: none !important; }
}
@media (max-width: 640px) {
  .site-header { padding: 18px 16px !important; }
  section, footer { padding-left: 16px !important; padding-right: 16px !important; }
  form { padding: 24px !important; }
}
button.menu-open { background: transparent; border: 0; cursor: pointer; }

/* slide-in menu */
.menu { position: fixed; inset: 0; z-index: 50; display: flex; justify-content: flex-end; visibility: hidden; }
.menu.is-open { visibility: visible; }
.menu__shade { position: absolute; inset: 0; background: rgba(11,10,10,0.6); opacity: 0; transition: opacity .3s; border: 0; padding: 0; cursor: pointer; width: 100%; }
.menu.is-open .menu__shade { opacity: 1; }
.menu__panel { position: relative; width: 520px; max-width: 100%; height: 100%; overflow-y: auto; background: #111010; border-left: 1px solid rgba(204,176,145,0.35);
  padding: 28px 48px 36px; display: flex; flex-direction: column; gap: 20px; transform: translateX(100%); transition: transform .35s ease; }
.menu.is-open .menu__panel { transform: none; }
.menu__panel a:hover span:last-child { color: #CCB091; }
@media (max-width: 640px) { .menu__panel { padding: 20px 24px 28px; } }
@media (prefers-reduced-motion: reduce) { .menu__panel, .menu__shade { transition: none; } html { scroll-behavior: auto; } }
body.menu-locked { overflow: hidden; }

/* forms */
.form-status { grid-column: 1 / -1; margin: 0; font-size: 15px; }
.form-status.is-ok { color: #CCB091; }
.form-status.is-err { color: #F2B8A0; }
.hp { position: absolute; left: -9999px; }

/* buttons and links get a gentle hover */
a[style*="background: #CCB091"]:hover { background: #E2CBAF !important; color: #111010 !important; }
a[style*="border: 1px solid"]:hover { border-color: #FFFFFF !important; }

/* filters, show more, maps (maps.js) */
.cg-is-hidden { display: none !important; }
.chip[aria-pressed="true"] { background: #CCB091 !important; border-color: #CCB091 !important; color: #111010 !important; }
.chip-light[aria-pressed="true"] { background: #211F1F !important; border-color: #211F1F !important; color: #FFFFFF !important; }
.cg-pinmap { height: 520px; border: 1px solid #2A2725; background: #1E1C1B; position: relative; z-index: 0; }
.cg-areamap { height: 100%; min-height: 560px; }
.cg-map-fallback { padding: 24px; color: #8C867D; }
.cg-pinmap .leaflet-popup-content { font-family: 'Jost', sans-serif; font-size: 14px; line-height: 1.45; margin: 12px 14px; color: #211F1F; }
.leaflet-tooltip.cg-tip { font: 500 12px/1.25 'Jost', sans-serif; color: #111010; background: #fff; border: 0; border-radius: 2px; padding: 4px 8px; box-shadow: 0 2px 8px rgba(0,0,0,.25); white-space: nowrap; max-width: 220px; overflow: hidden; text-overflow: ellipsis; }
.leaflet-tooltip.cg-tip--perm { font-size: 11px; padding: 3px 7px; opacity: .96; }
.leaflet-tooltip-top.cg-tip::before { border-top-color: #fff; }
.leaflet-tooltip.cg-tip--hid { display: none; }
.leaflet-tooltip.cg-tip--hid.cg-tip--hover { display: block; z-index: 1000; }
.leaflet-tooltip.cg-tip--main { font: 500 14px/1.2 'Jost', sans-serif; padding: 5px 10px; background: #111010; color: #CCB091; letter-spacing: .06em; }
.leaflet-tooltip-top.cg-tip--main::before { border-top-color: #111010; }
.cg-pop { display: flex; flex-direction: column; gap: 4px; }
.cg-pop strong { font: 600 18px/1.25 'Cormorant Garamond', serif; color: #111010; }
.cg-pop__tag { align-self: flex-start; color: #fff; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; padding: 3px 8px; }
.cg-pop__addr { color: #5E5E5E; font-size: 13px; }
.cg-pop__links { display: flex; gap: 14px; margin-top: 4px; }
.cg-pop__links a { color: #8A6A3E !important; font-weight: 500; font-size: 13px; text-decoration: none; }
.leaflet-popup-content-wrapper { border-radius: 2px; }
.cg-legend { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 12px; letter-spacing: .12em; }
.cg-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 7px; vertical-align: middle; }
.pinbtn { background: none; border: 0; padding: 0; color: inherit; font: inherit; cursor: pointer; text-decoration: none; min-height: 32px; }
.pinbtn:hover { text-decoration: underline; }

/* RealScout widgets in the Who's Next palette (white cards on the dark site, gold buttons) */
.rs-panel { background: #FFFFFF; padding: 20px; border-top: 2px solid #CCB091; color: #211F1F; }
.rs-panel--search { padding: 16px; }
realscout-advanced-search { --rs-as-button-text-color: #111010; --rs-as-background-color: #ffffff; --rs-as-button-color: #CCB091; --rs-as-widget-width: 100% !important; display: block; }
realscout-simple-search { --rs-ss-font-primary-color: #211F1F; --rs-ss-searchbar-border-color: #CCB091; --rs-ss-box-shadow: none; --rs-ss-widget-width: 100% !important; display: block; }
realscout-your-listings, realscout-office-listings { --rs-listing-divider-color: #CCB091; width: 100%; display: block; }
realscout-home-value { --rs-hvw-background-color: #ffffff; --rs-hvw-title-color: #211F1F; --rs-hvw-subtitle-color: rgba(33,31,31,0.65); --rs-hvw-input-text-color: #211F1F;
  --rs-hvw-primary-button-text-color: #111010; --rs-hvw-primary-button-color: #CCB091; --rs-hvw-secondary-button-text-color: #8A6A3E; --rs-hvw-secondary-button-color: #ffffff; --rs-hvw-widget-width: 100%; display: block; }
realscout-advanced-search, realscout-simple-search, realscout-your-listings, realscout-office-listings, realscout-home-value { font-family: 'Jost', sans-serif; }
