.sh-properties {
  --sh-ink: #151515;
  --sh-muted: #666462;
  --sh-paper: #f7f5f2;
  --sh-card: #f3f1ee;
  --sh-line: #cbc8c4;
  --sh-accent: #ff4d00;
  color: var(--sh-ink);
  font-family: Roboto, Arial, sans-serif;
}

.sh-properties *, .sh-properties *::before, .sh-properties *::after { box-sizing: border-box; }
.sh-properties [hidden] { display: none !important; }
.sh-properties .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.sh-properties__intro { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.sh-properties__intro h2 { margin: 0; font-family: Rosarivo, Georgia, serif; font-size: clamp(24px, 2.2vw, 30px); font-weight: 400; line-height: 1.22; }
.sh-properties__intro p { margin: 0 0 3px; color: var(--sh-muted); font-size: 12px; }

.sh-filters { display: grid; grid-template-columns: 1.2fr 1fr 1.1fr .95fr auto; gap: 14px; align-items: end; margin-bottom: 30px; padding: 17px 18px 18px; border: 1px solid #dedbd7; border-radius: 6px; background: var(--sh-paper); }
.sh-filter { display: grid; min-width: 0; gap: 6px; margin: 0; padding: 0; border: 0; }
.sh-filter > span, .sh-filter legend { color: #5d5a57; font-size: 11px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; }
.sh-filter select, .sh-filter input { width: 100%; height: 42px; min-height: 42px; margin: 0; padding: 0 12px; border: 1px solid var(--sh-line); border-radius: 2px; outline: 0; background: #fff; color: var(--sh-ink); font: inherit; font-size: 13px; line-height: 40px; }
.sh-filter input[type="number"] { appearance: textfield; -moz-appearance: textfield; }
.sh-filter input[type="number"]::-webkit-inner-spin-button,
.sh-filter input[type="number"]::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
.sh-filter select:focus, .sh-filter input:focus { border-color: var(--sh-ink); box-shadow: 0 0 0 2px rgba(21,21,21,.08); }
.sh-filter--range { display: grid; grid-template-columns: 1fr; gap: 6px; }
.sh-filter--range legend { margin: 0; }
.sh-filter--range label { position: relative; min-width: 0; }
.sh-filter--range input { padding-right: 40px; }
.sh-filter--range i { position: absolute; top: 13px; right: 10px; color: #8a8783; font-size: 11px; font-style: normal; }
.sh-filters__reset { height: 42px; min-height: 42px; padding: 0 15px; border: 1px solid var(--sh-ink); border-radius: 2px; background: transparent; color: var(--sh-ink); font: inherit; font-size: 11px; line-height: 40px; letter-spacing: .04em; text-transform: uppercase; cursor: pointer; white-space: nowrap; }
.sh-filters__reset:hover { background: var(--sh-ink); color: #fff; }

.sh-properties__list { display: grid; gap: 24px; }
.sh-property-card { overflow: hidden; border: 1px solid #e0ddd9; border-radius: 8px; background: var(--sh-card); }
.sh-property-card__link { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(300px, .8fr); min-height: 400px; color: inherit; text-decoration: none; }
.sh-property-card__link:hover,
.sh-property-card__link:focus,
.sh-property-card__link:focus-visible { color: var(--sh-ink); text-decoration: none; }
.sh-property-card__image { position: relative; min-height: 370px; background: #d8d6d3 center / cover no-repeat; }
.sh-property-card__image.is-placeholder::after { content: "Sweet Homes"; position: absolute; inset: 0; display: grid; place-items: center; color: rgba(21,21,21,.35); font-family: Rosarivo, Georgia, serif; font-size: 30px; }
.sh-property-card__status { position: absolute; top: 16px; left: 16px; padding: 7px 10px; border-radius: 8px; background: #fff; color: var(--sh-ink); font-size: 10px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.sh-property-card__status.is-reserved { background: #f0dfb4; }
.sh-property-card__status.is-rented { background: #dad7d2; }
.sh-property-card__open-house { position: absolute; right: 16px; bottom: 16px; left: 16px; display: flex; align-items: baseline; gap: 12px; padding: 10px 12px; border-radius: 8px; background: rgba(255,255,255,.94); color: var(--sh-ink); }
.sh-property-card__open-house span { flex: 0 0 auto; color: var(--sh-accent); font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.sh-property-card__open-house strong { font-size: 12px; font-weight: 500; line-height: 1.35; }
.sh-property-card__body { display: flex; flex-direction: column; padding: clamp(32px, 3vw, 42px); }
.sh-property-card__eyebrow { margin: 0 0 13px; color: var(--sh-accent); font-size: 10px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.sh-property-card h3 { margin: 0; font-family: Rosarivo, Georgia, serif; font-size: clamp(20px, 1.7vw, 24px); font-weight: 400; line-height: 1.25; }
.sh-property-card__location { margin: 13px 0 28px; color: var(--sh-muted); font-size: 13px; }
.sh-property-card__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 20px; padding: 18px 0; border-top: 1px solid #c7c3bf; border-bottom: 1px solid #c7c3bf; }
.sh-property-card__facts p { display: grid; gap: 4px; margin: 0; }
.sh-property-card__facts span { color: var(--sh-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .07em; }
.sh-property-card__facts strong { font-size: 14px; font-weight: 500; }
.sh-property-card__cta { display: inline-flex; align-items: center; gap: 11px; margin-top: auto; padding-top: 20px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.sh-property-card__cta i { display: grid; width: 29px; height: 29px; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-style: normal; transition: transform .2s ease; }
.sh-property-card__link:hover .sh-property-card__cta i { transform: translateX(5px); }
.sh-property-card__link:focus-visible { outline: 1px solid var(--sh-ink); outline-offset: -4px; }
.sh-properties__empty { padding: 50px 20px; border: 1px dashed var(--sh-line); border-radius: 18px; text-align: center; color: var(--sh-muted); }

@media (max-width: 1080px) {
  .sh-filters { grid-template-columns: 1fr 1fr; }
  .sh-filters__reset { justify-self: start; }
  .sh-property-card__link { grid-template-columns: 1.2fr 1fr; }
}

@media (max-width: 760px) {
  .sh-properties__intro { display: block; }
  .sh-properties__intro p { margin-top: 12px; }
  .sh-filters { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px 12px; padding: 18px; }
  .sh-filters__reset { grid-column: 1 / -1; }
  .sh-property-card { border-radius: 6px; }
  .sh-property-card__link { grid-template-columns: 1fr; min-height: 0; }
  .sh-property-card__image { min-height: 62vw; }
  .sh-property-card__body { padding: 28px 23px 30px; }
  .sh-property-card__open-house { align-items: flex-start; flex-direction: column; gap: 3px; }
  .sh-property-card__facts { grid-template-columns: 1fr 1fr; }
  .sh-property-card__cta { margin-top: 6px; }
}

@media (max-width: 430px) {
  .sh-filter--range, .sh-property-card__facts { grid-template-columns: 1fr; }
}

/* Rental presentation preview */
.sh-single {
  --sh-ink: #151515;
  --sh-muted: #666462;
  --sh-paper: #f7f5f2;
  --sh-line: #d7d3ce;
  --sh-accent: #ff4d00;
  --sh-gutter: clamp(28px, 5vw, 92px);
  color: var(--sh-ink);
  font-family: Roboto, Arial, sans-serif;
}
.sh-single *, .sh-single *::before, .sh-single *::after { box-sizing: border-box; }
.sh-single .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.sh-single__header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 32px; padding: 68px var(--sh-gutter) 24px; }
body.admin-bar .sh-single__header { padding-top: 100px; }
.sh-single__eyebrow, .sh-single__section-label { margin: 0 0 11px; color: var(--sh-accent); font-size: 10px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.sh-single__header h1 { max-width: 820px; margin: 0; font-family: Rosarivo, Georgia, serif; font-size: clamp(25px, 2.3vw, 30px); font-weight: 400; line-height: 1.2; }
.sh-single__location { margin: 10px 0 0; color: var(--sh-muted); font-size: 14px; }
.sh-single__rent { display: grid; gap: 6px; margin: 0; text-align: right; }
.sh-single__rent span { color: var(--sh-muted); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.sh-single__rent strong { font-family: Rosarivo, Georgia, serif; font-size: 21px; font-weight: 400; }
.sh-single__open-house { display: flex; align-items: baseline; gap: 16px; margin: 0 var(--sh-gutter) 12px; padding: 11px 14px; border-radius: 8px; background: var(--sh-paper); }
.sh-single__open-house span { color: var(--sh-accent); font-size: 10px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.sh-single__open-house strong { font-size: 13px; font-weight: 500; }
.sh-single__gallery { position: relative; display: grid; min-height: 560px; overflow: hidden; border-radius: 8px; background: #e4e1dd; }
.sh-single__gallery--multi { grid-template-columns: minmax(0, 2fr) minmax(250px, 1fr); grid-template-rows: 1fr 1fr; gap: 4px; }
.sh-single__gallery-image { width: 100%; min-height: 278px; margin: 0; padding: 0; border: 0; border-radius: 0; background: #dedbd7 center / cover no-repeat; cursor: zoom-in; transition: filter .2s ease; }
.sh-single__gallery-image:hover { filter: brightness(.94); }
.sh-single__gallery-image:focus-visible { z-index: 1; outline: 2px solid #fff; outline-offset: -5px; }
.sh-single__gallery-image.is-primary { grid-row: 1 / -1; }
.sh-single__gallery--single .sh-single__gallery-image { min-height: 560px; }
.sh-single__status { position: absolute; z-index: 2; top: 16px; left: 16px; padding: 7px 10px; border-radius: 8px; background: rgba(255,255,255,.96); color: var(--sh-ink); font-size: 10px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; pointer-events: none; }
.sh-single__status.is-reserved { background: #f0dfb4; }
.sh-single__status.is-rented { background: #dad7d2; }
.sh-single__gallery-open-house { position: absolute; z-index: 2; bottom: 16px; left: 16px; display: flex; align-items: baseline; gap: 12px; max-width: calc(66.666% - 32px); padding: 10px 12px; border-radius: 8px; background: rgba(255,255,255,.94); color: var(--sh-ink); pointer-events: none; }
.sh-single__gallery-open-house span { flex: 0 0 auto; color: var(--sh-accent); font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.sh-single__gallery-open-house strong { font-size: 12px; font-weight: 500; line-height: 1.35; }
.sh-single__gallery--single .sh-single__gallery-open-house { max-width: calc(100% - 32px); }
.sh-single__media-actions { display: flex; justify-content: flex-end; gap: 18px; min-height: 45px; padding: 13px var(--sh-gutter); border-bottom: 1px solid var(--sh-line); color: var(--sh-muted); font-size: 11px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.sh-single .sh-single__media-actions a, .sh-single .sh-single__media-actions button { display: inline-flex; align-items: center; gap: 7px; width: auto; min-width: 0; min-height: 0; margin: 0; padding: 0 !important; border: 0 !important; border-radius: 0 !important; outline: 0; background: transparent !important; box-shadow: none !important; color: var(--sh-ink) !important; font: inherit; line-height: 1.35; letter-spacing: inherit; text-decoration: none; text-transform: inherit; cursor: pointer; }
.sh-single__media-actions svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.sh-single .sh-single__media-actions a:hover, .sh-single .sh-single__media-actions button:hover,
.sh-single .sh-single__media-actions a:focus, .sh-single .sh-single__media-actions button:focus { border: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--sh-muted) !important; }
.sh-single__primary-facts { display: grid; grid-template-columns: repeat(4, 1fr); padding: 0 var(--sh-gutter); border-bottom: 1px solid var(--sh-line); }
.sh-single__primary-facts p { display: grid; gap: 7px; margin: 0; padding: 22px 20px 23px; border-right: 1px solid var(--sh-line); }
.sh-single__primary-facts p:first-child { padding-left: 0; }
.sh-single__primary-facts p:last-child { border-right: 0; }
.sh-single__primary-facts span, .sh-single__financials span, .sh-single__details span { color: var(--sh-muted); font-size: 10px; letter-spacing: .07em; text-transform: uppercase; }
.sh-single__primary-facts strong { font-size: 15px; font-weight: 500; }
.sh-single__content-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, .75fr); gap: clamp(42px, 5vw, 76px); padding: clamp(42px, 5vw, 72px) var(--sh-gutter); }
.sh-single h2 { margin: 0; font-family: Rosarivo, Georgia, serif; font-size: clamp(23px, 2.2vw, 30px); font-weight: 400; line-height: 1.24; }
.sh-single__copy { max-width: 760px; margin-top: 25px; color: #343230; font-size: 15px; line-height: 1.75; }
.sh-single__copy p { margin: 0 0 1.25em; }
.sh-single__copy h2, .sh-single__copy h3, .sh-single__copy h4 { margin: 0 0 18px; font-family: Rosarivo, Georgia, serif; font-size: 20px; font-weight: 400; line-height: 1.35; }
.sh-single .sh-single__copy-toggle { display: none !important; }
.sh-single__financials { align-self: start; padding: 27px 28px; border-radius: 8px; background: var(--sh-paper); }
.sh-single__financials h2 { margin-bottom: 25px; font-size: 22px; }
.sh-single__financials > p:not(.sh-single__section-label) { display: flex; justify-content: space-between; gap: 20px; margin: 0; padding: 13px 0; border-top: 1px solid var(--sh-line); }
.sh-single__financials strong { font-size: 13px; font-weight: 500; text-align: right; }
.sh-single__broker-card { display: grid; grid-template-columns: 52px minmax(0, 1fr); align-items: center; gap: 14px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--sh-line); }
.sh-single__broker-card img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; }
.sh-single__broker-card > div { display: grid; justify-items: start; gap: 3px; min-width: 0; }
.sh-single__broker-card span { margin-bottom: 2px; color: var(--sh-accent); font-size: 9px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.sh-single__broker-card strong { font-family: Rosarivo, Georgia, serif; font-size: 15px; font-weight: 400; text-align: left; }
.sh-single__broker-card a { color: var(--sh-muted); font-size: 11px; line-height: 1.35; text-decoration: none; }
.sh-single__broker-card a:hover { color: var(--sh-accent); }
.sh-single__details { padding: 46px var(--sh-gutter) 54px; border-top: 1px solid var(--sh-line); }
.sh-single__details h2 { margin-bottom: 28px; }
.sh-single__details > div { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 36px; }
.sh-single__details > div p { display: flex; justify-content: space-between; gap: 18px; margin: 0; padding: 13px 0; border-bottom: 1px solid var(--sh-line); }
.sh-single__details strong { font-size: 13px; font-weight: 500; text-align: right; }
.sh-single__contact { display: grid; grid-template-columns: 1fr; align-items: end; gap: 60px; margin: 0 var(--sh-gutter) 54px; padding: clamp(36px, 4vw, 54px); border-radius: 8px; background: #161616; color: #fff; }
.sh-single__contact h2 { max-width: 620px; font-size: clamp(26px, 3vw, 38px); }
.sh-single__contact > div > p:last-child { margin: 16px 0 0; color: #bbb8b4; font-size: 14px; }
.sh-single__viewing { margin-top: 28px; }
.sh-single__viewing summary { display: inline-flex; align-items: center; gap: 12px; list-style: none; color: #fff; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.sh-single__viewing summary::-webkit-details-marker { display: none; }
.sh-single__viewing summary i { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 14px; font-style: normal; line-height: 1; transition: transform .2s ease; }
.sh-single__viewing[open] summary i { transform: rotate(180deg); }
.sh-single__viewing-form { margin-top: 24px; padding: clamp(24px, 3vw, 38px); border-radius: 7px; background: #fff; color: var(--sh-ink); }
.sh-single__viewing-form .elementor-widget-container { margin: 0 !important; }
.sh-single__viewing-form .elementor-field-group { margin-bottom: 15px; }
.sh-single__viewing-form .elementor-field-label { color: var(--sh-ink); font-size: 11px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; }
.sh-single__viewing-form .elementor-field { min-height: 44px; border: 1px solid var(--sh-line); border-radius: 2px; background: #fff; color: var(--sh-ink); }
.sh-single__viewing-form textarea.elementor-field { min-height: 110px; }
.sh-single__viewing-form .elementor-button { min-height: 46px; border: 1px solid var(--sh-ink) !important; border-radius: 2px !important; background: var(--sh-ink) !important; color: #fff !important; font-size: 11px !important; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.sh-single__viewing-form .elementor-button:hover { background: #fff !important; color: var(--sh-ink) !important; }
.sh-single__financials .sh-single__viewing { margin: 22px -28px -27px; padding: 20px 28px; border-radius: 0 0 8px 8px; background: #161616; }
.sh-single__financials .sh-single__viewing summary > span { color: #fff !important; font-size: 12px !important; font-weight: 700; letter-spacing: .07em; }
.sh-single__financials .sh-single__viewing-form { margin-top: 20px; padding: 22px 20px; }
.sh-single__broker { display: grid; justify-items: start; gap: 8px; }
.sh-single__broker strong { margin-bottom: 4px; font-family: Rosarivo, Georgia, serif; font-size: 19px; font-weight: 400; }
.sh-single__broker a { color: #fff; font-size: 13px; text-decoration: none; }
.sh-single__broker a:hover { color: var(--sh-accent); }
.sh-gallery-modal { position: fixed; z-index: 999999; inset: 0; display: grid; grid-template-columns: 70px minmax(0, 1fr) 70px; align-items: center; padding: 38px 22px; background: rgba(10,10,10,.97); color: #fff; }
.sh-gallery-modal[hidden] { display: none !important; }
.sh-gallery-modal figure { display: grid; grid-template-rows: minmax(0, 1fr) auto; justify-items: center; gap: 15px; width: 100%; height: 100%; margin: 0; touch-action: pan-y; }
.sh-gallery-modal img { display: block; align-self: center; max-width: 100%; max-height: calc(100vh - 105px); object-fit: contain; }
.sh-gallery-modal figcaption { color: #c7c4c0; font-size: 11px; letter-spacing: .08em; }
.sh-gallery-modal figcaption [data-sh-gallery-caption]:not(:empty) { margin-right: 12px; color: #fff; text-transform: uppercase; }
.sh-gallery-modal__mobile-list { display: none; }
.sh-single .sh-gallery-modal button { display: grid !important; place-items: center; min-width: 0 !important; margin: 0; padding: 0 !important; border: 1px solid rgba(255,255,255,.55) !important; border-radius: 50% !important; outline: 0; background: rgba(0,0,0,.45) !important; box-shadow: none !important; color: #fff !important; font: inherit; cursor: pointer; }
.sh-gallery-modal__previous, .sh-gallery-modal__next { width: 42px; height: 42px; justify-self: center; font-size: 19px; }
.sh-single .sh-gallery-modal__close { position: fixed !important; z-index: 3; top: 18px; right: 20px; width: 42px !important; height: 42px !important; min-height: 42px !important; font-size: 24px !important; font-weight: 300; line-height: 1 !important; pointer-events: auto; touch-action: manipulation; }
.sh-gallery-modal.is-single-image .sh-gallery-modal__previous, .sh-gallery-modal.is-single-image .sh-gallery-modal__next { visibility: hidden; }
.sh-single .sh-gallery-modal button:hover, .sh-single .sh-gallery-modal button:focus { border-color: #fff !important; background: #fff !important; box-shadow: none !important; color: #111 !important; }
body.sh-gallery-is-open { overflow: hidden; }
body.sh-map-is-open { overflow: hidden; }
.sh-gallery-modal.is-mobile-list { display: block; overflow-x: hidden; overflow-y: auto; padding: 76px clamp(24px, 4vw, 64px) 42px; }
.sh-single .sh-gallery-modal.is-mobile-list [data-sh-gallery-figure],
.sh-single .sh-gallery-modal.is-mobile-list .sh-gallery-modal__previous,
.sh-single .sh-gallery-modal.is-mobile-list .sh-gallery-modal__next { display: none !important; visibility: hidden !important; }
.sh-gallery-modal.is-mobile-list .sh-gallery-modal__mobile-list { display: grid; gap: 16px; width: min(1180px, 100%); margin: 0 auto; }
.sh-gallery-modal.is-mobile-list .sh-gallery-modal__mobile-list img { display: block; width: 100%; max-width: none; height: auto; max-height: none; border-radius: 7px; background: #222; object-fit: contain; }
.sh-map-modal { position: fixed; z-index: 999999; inset: 0; display: grid; place-items: center; padding: clamp(24px, 5vw, 72px); background: rgba(10,10,10,.94); }
.sh-map-modal[hidden] { display: none !important; }
.sh-map-modal__panel { position: relative; display: grid; grid-template-rows: minmax(360px, 68vh) auto; width: min(1180px, 100%); overflow: hidden; border-radius: 8px; background: #fff; box-shadow: 0 22px 70px rgba(0,0,0,.3); }
.sh-map-modal__canvas { width: 100%; min-height: 360px; background: #ebe9e5; }
.sh-map-modal__info { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 22px 27px; }
.sh-map-modal__info > div { display: grid; gap: 3px; }
.sh-map-modal__info span { color: var(--sh-accent); font-size: 9px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.sh-map-modal__info strong { font-family: Rosarivo, Georgia, serif; font-size: 18px; font-weight: 400; }
.sh-map-modal__info small { color: var(--sh-muted); font-size: 12px; }
.sh-map-modal__info a { display: inline-flex; align-items: center; gap: 8px; color: var(--sh-ink); font-size: 10px; font-weight: 600; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.sh-map-modal__info a i { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-style: normal; }
.sh-map-modal__message { display: grid; min-height: 360px; margin: 0; place-items: center; padding: 30px; color: var(--sh-muted); text-align: center; }
.sh-single .sh-map-modal__close { position: fixed !important; z-index: 10; top: 18px; right: 20px; display: grid !important; width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important; margin: 0; padding: 0 !important; place-items: center; border: 1px solid rgba(255,255,255,.7) !important; border-radius: 50% !important; background: rgba(0,0,0,.5) !important; color: #fff !important; font-size: 25px !important; font-weight: 300; line-height: 1 !important; cursor: pointer; }
.sh-single .sh-map-modal__close:hover, .sh-single .sh-map-modal__close:focus { border-color: #fff !important; background: #fff !important; color: #111 !important; }
.sh-map-marker { position: absolute; width: 32px; height: 32px; border: 4px solid #fff; border-radius: 50%; background: var(--sh-accent); box-shadow: 0 5px 14px rgba(0,0,0,.28); }
.sh-map-marker::after { content: ""; position: absolute; top: 7px; left: 7px; width: 10px; height: 10px; border-radius: 50%; background: #fff; }
.sh-map-modal .maplibregl-ctrl-group { overflow: hidden; border-radius: 4px; box-shadow: 0 1px 5px rgba(0,0,0,.18); }
.sh-map-modal .maplibregl-ctrl-attrib { font-size: 9px; }

@media (max-width: 900px) {
  .sh-single__gallery { min-height: 460px; }
  .sh-single__gallery--multi { grid-template-columns: 1.45fr .75fr; }
  .sh-single__gallery-image, .sh-single__gallery--single .sh-single__gallery-image { min-height: 228px; }
  .sh-single__content-grid { grid-template-columns: 1fr; gap: 40px; }
  .sh-single__details > div { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 650px) {
  .sh-single { --sh-gutter: 22px; }
  .sh-single__header { grid-template-columns: 1fr; gap: 18px; padding: 64px 22px 22px; }
  body.admin-bar .sh-single__header { padding-top: 96px; }
  .sh-single__rent { text-align: left; }
  .sh-single__open-house { align-items: flex-start; flex-direction: column; gap: 4px; }
  .sh-single__gallery { min-height: 62vw; }
  .sh-single__gallery--multi { display: block; }
  .sh-single .sh-single__gallery .sh-single__gallery-image { display: block !important; width: 100% !important; max-width: none !important; }
  .sh-single__gallery--multi .sh-single__gallery-image:not(.is-primary) { display: none !important; }
  .sh-single__gallery-image, .sh-single__gallery--single .sh-single__gallery-image { min-height: 62vw; }
  .sh-single__status { top: 13px; left: 13px; }
  .sh-single__gallery-open-house { right: 13px; bottom: 13px; left: 13px; align-items: flex-start; flex-direction: column; gap: 3px; max-width: none; }
  .sh-single__open-house { margin-right: 22px; margin-left: 22px; }
  .sh-single__media-actions { justify-content: center; flex-wrap: wrap; width: 100%; padding-right: 22px; padding-left: 22px; text-align: center; }
  .sh-single__primary-facts { grid-template-columns: 1fr 1fr; padding-right: 22px; padding-left: 22px; }
  .sh-single__primary-facts p, .sh-single__primary-facts p:first-child { padding: 17px 12px; border-bottom: 1px solid var(--sh-line); }
  .sh-single__primary-facts p:nth-child(2n) { border-right: 0; }
  .sh-single__details { padding: 42px 22px 48px; }
  .sh-single__details > div { grid-template-columns: 1fr; }
  .sh-single__contact { grid-template-columns: 1fr; gap: 30px; margin-right: 22px; margin-left: 22px; padding: 34px 26px; }
  .sh-single__viewing { margin-top: 24px; }
  .sh-single__viewing-form { margin-right: -10px; margin-left: -10px; padding: 22px 18px; }
  .sh-gallery-modal { grid-template-columns: 52px minmax(0, 1fr) 52px; padding: 62px 5px 25px; }
  .sh-single .sh-gallery-modal__previous, .sh-single .sh-gallery-modal__next { display: none !important; visibility: hidden !important; }
  .sh-single .sh-gallery-modal__close { top: 14px; right: 14px; width: 44px !important; height: 44px !important; min-height: 44px !important; }
  .sh-gallery-modal.is-mobile-list { padding: 68px 12px 24px; }
  .sh-gallery-modal.is-mobile-list .sh-gallery-modal__mobile-list { gap: 10px; width: 100%; }
  .sh-gallery-modal.is-mobile-list .sh-gallery-modal__mobile-list img { border-radius: 6px; }
  .sh-map-modal { align-items: stretch; padding: 66px 12px 14px; }
  .sh-map-modal__panel { grid-template-rows: minmax(0, 1fr) auto; width: 100%; height: 100%; border-radius: 6px; }
  .sh-map-modal__canvas { min-height: 0; }
  .sh-map-modal__info { align-items: flex-start; flex-direction: column; gap: 15px; padding: 18px 20px 20px; }
  .sh-map-modal__info strong { font-size: 17px; }
  .sh-map-modal__info a { align-self: flex-end; }
  .sh-single .sh-map-modal__close { top: 14px; right: 14px; }
  .sh-single__content-grid { display: flex; flex-direction: column; gap: 36px; padding: 40px 22px 50px; }
  .sh-single__financials { order: 2; align-self: stretch; width: 100%; max-width: none; padding: 24px 20px; border-radius: 6px; }
  .sh-single__financials h2 { margin-bottom: 20px; font-size: 21px; }
  .sh-single__financials > p:not(.sh-single__section-label) { gap: 14px; padding: 12px 0; }
  .sh-single__broker-card { grid-template-columns: 48px minmax(0, 1fr); margin-top: 16px; padding-top: 16px; }
  .sh-single__broker-card img { width: 48px; height: 48px; }
  .sh-single__financials .sh-single__viewing { margin: 20px -20px -24px; padding: 18px 20px; border-radius: 0 0 6px 6px; }
  .sh-single__financials .sh-single__viewing summary > span { font-size: 12.5px !important; }
  .sh-single__financials .sh-single__viewing-form { margin-right: 0; margin-left: 0; padding: 20px 16px; }
  .sh-single__description { order: 1; }
  .sh-single__copy:not(.is-expanded) > * { display: none; }
  .sh-single__copy:not(.is-expanded) > .sh-copy-teaser { display: block; margin-bottom: 0; }
  .sh-single__copy:not(.is-expanded) > .sh-copy-excerpt { display: -webkit-box; margin: 14px 0 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: #4c4946; font-size: 14px; line-height: 1.55; }
  .sh-single__copy > .sh-copy-teaser { font-size: 17px; line-height: 1.4; }
  .sh-single .sh-single__copy-toggle { display: inline-flex !important; align-items: center; gap: 10px; width: auto !important; min-width: 0 !important; margin: 20px 0 0; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--sh-ink) !important; font: inherit; font-size: 11px !important; font-weight: 600; line-height: 1.2 !important; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
  .sh-single__copy-toggle i { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 13px; font-style: normal; line-height: 1; }
  .sh-single__copy-toggle:hover { color: var(--sh-accent) !important; }
}
