:root {
  --sl-canvas: #f5f8fa;
  --sl-panel-shadow: 0 24px 65px rgba(14, 43, 68, .16);
}

html {
  max-width: 100%;
  overflow-x: clip;
  overflow-y: scroll;
  scrollbar-gutter: stable;
}

body {
  max-width: 100%;
  overflow-x: clip;
}

.sl-header {
  height: 78px;
  background: rgba(255,255,255,.97);
  contain: layout;
}

.sl-header-inner,
.explore-page .sl-header-inner {
  width: min(calc(100% - 48px), 1180px);
  grid-template-columns: 200px 1fr 230px;
  gap: 20px;
}

.sl-brand,
.explore-page .sl-brand { width: 172px; }
.sl-brand img { width: 100%; height: auto; max-height: 68px; object-fit: contain; object-position: left center; display: block; }
.sl-footer img { width: 172px; height: auto; max-width: 42vw; display: block; flex: 0 0 auto; }
.sl-nav { gap: clamp(18px, 2vw, 30px); white-space: nowrap; }
.sl-saved.active { border-color: #81cbd0; background: var(--sl-pale); color: var(--sl-navy); }

.sl-account {
  position: relative;
}

.sl-account-toggle {
  min-width: 105px;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 12px;
  border: 1px solid var(--sl-line);
  border-radius: 999px;
  background: #fff;
  color: var(--sl-navy);
  font-size: 13px;
  font-weight: 800;
}

.sl-account-toggle:hover,
.sl-account-toggle[aria-expanded="true"] {
  border-color: #81cbd0;
  background: var(--sl-pale);
}

.sl-account-icon {
  position: relative;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--sl-navy);
}

.sl-account-icon::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 7px;
  width: 6px;
  height: 6px;
  border: 1.5px solid #fff;
  border-radius: 50%;
}

.sl-account-icon::after {
  content: "";
  position: absolute;
  left: 5px;
  bottom: 4px;
  width: 10px;
  height: 5px;
  border: 1.5px solid #fff;
  border-radius: 7px 7px 4px 4px;
}

.sl-account-chevron {
  color: var(--sl-muted);
  font-size: 11px;
  transition: transform .18s ease;
}

.sl-account-toggle[aria-expanded="true"] .sl-account-chevron {
  transform: rotate(180deg);
}

.sl-account-dropdown {
  position: absolute;
  z-index: 950;
  top: calc(100% + 12px);
  right: 0;
  width: 282px;
  padding: 18px;
  border: 1px solid var(--sl-line);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 20px 55px rgba(11,45,77,.18);
}

.sl-account-dropdown::before {
  content: "";
  position: absolute;
  top: -7px;
  right: 28px;
  width: 12px;
  height: 12px;
  border-top: 1px solid var(--sl-line);
  border-left: 1px solid var(--sl-line);
  background: #fff;
  transform: rotate(45deg);
}

.sl-account-dropdown strong {
  display: block;
  margin: 5px 0 6px;
  color: var(--sl-navy);
  font: 700 23px/1.05 var(--sl-display);
}

.sl-account-dropdown p {
  margin: 0 0 14px;
  color: var(--sl-muted);
  font-size: 12px;
  line-height: 1.5;
}

.sl-account-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.sl-account-links a {
  min-height: 40px;
  display: grid;
  place-items: center;
  padding: 8px 10px;
  border: 1px solid var(--sl-line);
  border-radius: 9px;
  color: var(--sl-navy);
  font-size: 12px;
  font-weight: 800;
}

.sl-account-links a.primary {
  border-color: var(--sl-navy);
  background: var(--sl-navy);
  color: #fff;
}

body[data-page="home"] .sl-home-hero {
  position: relative;
  min-height: 550px;
  grid-template-columns: minmax(0, 760px);
  justify-content: center;
  place-items: center;
  padding: 84px 30px 120px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.76) 52%, rgba(255,255,255,.30) 100%),
    url("../../images/stuart-waterfront-premium.webp") center 42% / cover no-repeat;
  overflow: hidden;
}

body[data-page="home"] .sl-home-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 150px;
  background: linear-gradient(180deg, transparent, rgba(240,248,250,.96));
  pointer-events: none;
}

body[data-page="home"] .sl-home-copy {
  position: relative;
  z-index: 1;
  max-width: 760px;
  text-align: center;
}

body[data-page="home"] .sl-home-copy h1 {
  max-width: none;
  margin: 8px 0 12px;
  font-size: clamp(58px, 6vw, 88px);
  line-height: .9;
}

body[data-page="home"] .sl-home-copy p { max-width: 650px; margin: 0 auto; }
body[data-page="home"] .sl-home-copy .sl-hero-actions { justify-content: center; }
body[data-page="home"] .sl-home-copy .sl-button.coral { border-color: #c9472f; background: #c9472f; color: #fff; }
body[data-page="home"] .sl-home-map { display: none; }

.sl-contact-hero {
  background:
    linear-gradient(90deg, rgba(255,255,255,.97), rgba(255,255,255,.78)),
    url("../../images/stuart-waterfront-premium.webp") center 55% / cover no-repeat;
}

.sl-contact-layout {
  display: grid;
  grid-template-columns: minmax(280px, .8fr) minmax(0, 1.35fr);
  gap: 28px;
  align-items: start;
}

.sl-contact-aside,
.sl-contact-form {
  padding: 30px;
  border: 1px solid var(--sl-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--sl-shadow-soft);
}

.sl-contact-aside h2,
.sl-contact-form h2 { margin: 8px 0 22px; color: var(--sl-navy); font-size: 30px; }
.sl-contact-route { padding: 15px 0; border-top: 1px solid var(--sl-line); }
.sl-contact-route strong { color: var(--sl-navy); font-size: 13px; }
.sl-contact-route p { margin: 5px 0 0; color: var(--sl-muted); font-size: 12px; line-height: 1.55; }
.sl-direct-contact { display: grid; gap: 5px; margin-top: 20px; padding: 18px; border-radius: 14px; background: var(--sl-pale); }
.sl-direct-contact span { color: var(--sl-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.sl-direct-contact a { color: var(--sl-blue-dark); font-size: 17px; font-weight: 800; }
.sl-direct-contact small { color: var(--sl-muted); line-height: 1.45; }
.sl-contact-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.sl-contact-fields label { display: grid; gap: 6px; color: var(--sl-navy); font-size: 11px; font-weight: 800; }
.sl-contact-fields label.full { grid-column: 1 / -1; }
.sl-contact-fields input,
.sl-contact-fields select,
.sl-contact-fields textarea {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #ccd9e2;
  border-radius: 10px;
  background: #fff;
  color: var(--sl-ink);
  font: 500 13px/1.45 Inter, sans-serif;
}
.sl-contact-fields textarea { resize: vertical; }
.sl-contact-form .sl-button { margin-top: 16px; border: 0; }
.sl-form-status { margin: 12px 0 0; color: var(--sl-muted); font-size: 11px; line-height: 1.5; }
.sl-form-status.success { color: #18734c; font-weight: 700; }
.sl-form-status.error { color: #a7352d; font-weight: 700; }
.sl-honeypot { position: absolute !important; left: -10000px !important; }

.sl-partner-hero {
  min-height: 540px;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  gap: 45px;
  align-items: center;
  padding: 80px max(30px, calc((100vw - 1180px) / 2));
  background:
    linear-gradient(90deg, rgba(255,255,255,.97), rgba(255,255,255,.62)),
    url("../../images/stuart-waterfront-premium.webp") center / cover no-repeat;
}
.sl-partner-hero h1 { max-width: 760px; margin: 10px 0 18px; color: var(--sl-navy); font-size: clamp(58px, 7vw, 96px); line-height: .88; }
.sl-partner-hero h1 em { color: var(--sl-blue-dark); }
.sl-partner-hero p { max-width: 680px; color: var(--sl-muted); font-size: 18px; line-height: 1.6; }
.sl-partner-hero .sl-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.sl-partner-hero .sl-button.coral,
.sl-partner-cta .sl-button.coral { border-color: #c9472f; background: #c9472f; color: #fff; }
.sl-partner-principles { padding: 10px 28px; border: 1px solid rgba(255,255,255,.75); border-radius: 20px; background: rgba(255,255,255,.88); box-shadow: var(--sl-panel-shadow); }
.sl-partner-principles div { display: grid; gap: 4px; padding: 19px 0; border-bottom: 1px solid var(--sl-line); }
.sl-partner-principles div:last-child { border-bottom: 0; }
.sl-partner-principles strong { color: var(--sl-navy); }
.sl-partner-principles span { color: var(--sl-muted); font-size: 12px; line-height: 1.45; }
.sl-partner-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.sl-partner-grid .sl-card { min-height: 245px; }
.sl-partner-fit { display: grid; grid-template-columns: 1fr 1fr; gap: 45px; align-items: center; }
.sl-partner-fit h2 { margin: 8px 0 12px; color: var(--sl-navy); font-size: 42px; }
.sl-partner-fit p { color: var(--sl-muted); line-height: 1.65; }
.sl-partner-checks { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.sl-partner-checks span { padding: 13px 14px; border: 1px solid var(--sl-line); border-radius: 11px; background: #fff; color: var(--sl-navy); font-size: 12px; font-weight: 700; }
.sl-partner-cta { max-width: 850px; margin: 0 auto; padding: 90px 24px; text-align: center; }
.sl-partner-cta h2 { margin: 10px 0 14px; color: var(--sl-navy); font-size: 48px; }
.sl-partner-cta p { color: var(--sl-muted); line-height: 1.65; }
.sl-partner-cta .sl-button { display: inline-flex; margin: 20px 8px 0; }
.sl-partner-cta > a:last-child { display: block; margin-top: 15px; color: var(--sl-blue-dark); font-weight: 700; }

.explore-page {
  min-height: 100vh;
  overflow-x: clip;
  overflow-y: visible;
  background: var(--sl-canvas);
}

.explore-page .sl-header {
  position: relative;
  inset: auto;
  height: 78px;
  background: rgba(255,255,255,.97);
}

.explore-page .sl-header-inner {
  width: min(calc(100% - 48px), 1180px);
  grid-template-columns: 200px 1fr 230px;
}

.explore-page .sl-brand { width: 200px; }

.sl-planner-hero {
  position: relative;
  min-height: 330px;
  padding: 78px 24px 86px;
  overflow: hidden;
  text-align: center;
  background:
    linear-gradient(180deg, rgba(255,255,255,.93) 0%, rgba(255,255,255,.78) 58%, rgba(246,250,252,.58) 100%),
    url("../../images/stuart-waterfront-premium.webp") center 58% / cover no-repeat;
}

.sl-planner-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(77,190,198,.45), transparent);
}

.sl-planner-hero-inner {
  position: relative;
  z-index: 1;
  width: min(100%, 850px);
  margin: 0 auto;
}

.sl-planner-hero h1 {
  margin: 0;
  color: var(--sl-navy);
  font: 650 clamp(48px, 5.2vw, 72px)/.98 var(--sl-display);
  letter-spacing: -.025em;
}

.sl-planner-hero p {
  max-width: 640px;
  margin: 15px auto 22px;
  color: #53697b;
  font-size: 17px;
  line-height: 1.55;
}

.sl-planner-hero .sl-hero-actions {
  justify-content: center;
  margin-top: 0;
}

.sl-planner-hero .sl-button {
  min-height: 43px;
  padding: 0 18px;
  font-size: 13px;
}

.sl-planner-hero .sl-button.coral {
  min-height: 48px;
  padding: 0 25px;
  color: #fff;
  box-shadow: 0 10px 22px rgba(255,122,109,.26);
}

.sl-plan-chips {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
  margin-top: 14px;
}

.sl-plan-chip {
  min-height: 38px;
  padding: 0 18px;
  border: 1px solid #d7e0e7;
  background: rgba(255,255,255,.92);
  color: var(--sl-navy);
  font-weight: 700;
}

.sl-plan-chip:first-child { border-radius: 10px 0 0 10px; }
.sl-plan-chip:last-child { border-left: 0; border-radius: 0 10px 10px 0; }

.sl-planner-page {
  position: relative;
  z-index: 3;
  width: min(calc(100% - 40px), 1360px);
  margin: -38px auto 70px;
}

.sl-app-frame {
  overflow: hidden;
  border: 1px solid rgba(11,45,77,.12);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--sl-panel-shadow);
}

.sl-app-toolbar {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(205px, .56fr) 125px 48px 108px;
  gap: 10px;
  align-items: center;
  padding: 13px 16px 10px;
  background: rgba(255,255,255,.98);
}

.sl-app-toolbar .sl-search-box {
  height: 46px;
  box-shadow: none;
}

.sl-app-toolbar .sl-location-field,
.sl-app-toolbar .sl-radius-field,
.sl-app-toolbar .sl-locate,
.sl-app-toolbar .sl-filter-button {
  min-height: 46px;
  height: 46px;
  box-shadow: none;
}

.sl-app-toolbar .sl-location-field {
  display: flex;
  align-items: center;
  gap: 8px;
}

.sl-app-toolbar .sl-location-field::before {
  content: "⌾";
  color: var(--sl-blue-dark);
  font-weight: 900;
}

.sl-app-toolbar .sl-filter-button {
  font-size: 12px;
}

.sl-app-privacy {
  display: block;
  padding: 0 18px 9px;
  color: #718393;
  background: #fff;
  font-size: 10px;
}

.sl-app-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  width: 43%;
  min-width: 480px;
  border-top: 1px solid var(--sl-line);
  border-right: 1px solid var(--sl-line);
  background: #fff;
}

.sl-app-tabs .sl-mode-tab {
  min-height: 48px;
  grid-template-columns: auto auto;
  gap: 7px;
  border: 0;
  border-right: 1px solid #e7edf1;
  border-radius: 0;
  background: #fff;
  color: #4e6171;
  box-shadow: none;
}

.sl-app-tabs .sl-mode-tab:last-child { border-right: 0; }

.sl-app-tabs .sl-mode-tab.active {
  position: relative;
  color: var(--sl-navy);
  background: #fff;
}

.sl-app-tabs .sl-mode-tab.active::after {
  content: "";
  position: absolute;
  left: 15px;
  right: 15px;
  bottom: 0;
  height: 3px;
  border-radius: 4px 4px 0 0;
  background: var(--sl-blue-dark);
}

.sl-app-body {
  display: grid;
  grid-template-columns: 43% 57%;
  height: 525px;
  min-height: 0;
  overflow: hidden;
  border-top: 1px solid var(--sl-line);
}

.sl-app-body .sl-results-panel {
  position: relative;
  z-index: 3;
  min-width: 0;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  border: 0;
  border-right: 1px solid var(--sl-line);
  border-radius: 0;
  box-shadow: none;
}

.sl-app-body .sl-panel-title {
  min-height: 68px;
  padding: 15px 18px 12px;
  border-bottom: 1px solid #e7edf1;
}

.sl-app-body .sl-panel-title h1 {
  font-family: var(--sl-ui);
  font-size: 15px;
  font-weight: 800;
}

.sl-app-body .sl-panel-title p { font-size: 10px; }
.sl-app-body .sl-result-list {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding-top: 10px;
  pointer-events: auto;
}

.sl-event-controls {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 8px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--sl-line);
  background: #f7fafb;
}

.sl-event-range {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}

.sl-event-controls label {
  display: grid;
  gap: 4px;
  color: var(--sl-navy);
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}

.sl-event-controls input,
.sl-event-controls button {
  min-width: 0;
  min-height: 34px;
  padding: 0 8px;
  border: 1px solid #d5e0e7;
  border-radius: 8px;
  background: #fff;
  color: var(--sl-navy);
  font: 700 10px/1 Inter, sans-serif;
}

.sl-event-controls button { align-self: end; white-space: nowrap; }
.sl-event-range button.active {
  border-color: var(--sl-blue-dark);
  background: var(--sl-navy);
  color: #fff;
  box-shadow: 0 5px 12px rgba(11,45,77,.14);
}

.sl-event-sync {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--sl-muted);
  font-size: 9px;
  line-height: 1.4;
}

.sl-result-card.event-today {
  border-left: 4px solid #d24d38;
  background: #fffaf8;
}

.sl-result-card.event-tomorrow {
  border-left: 4px solid #168f8f;
  background: #f7fcfc;
}

.sl-result-card.event-future {
  border-left: 4px solid #6b65a9;
}

.sl-result-copy .tag.event-day { color: #6b4795; }
.sl-result-card.event-today .tag.event-day { color: #b63b29; }
.sl-result-card.event-tomorrow .tag.event-day { color: #087879; }

.sl-app-body .sl-map-wrap {
  position: relative;
  z-index: 1;
  min-width: 0;
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

.sl-inline-plan {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 0 18px 18px;
}

.sl-inline-plan .sl-plan-output { margin-top: 0; }

.sl-inline-plan .sl-plan-stop {
  grid-template-columns: 52px 1fr 32px;
  min-height: 75px;
  padding: 9px 0;
}

.sl-inline-plan .sl-plan-stop > span {
  width: 34px;
  height: 34px;
  margin-left: 8px;
}

.sl-inline-plan .sl-plan-stop strong {
  font-size: 12px;
  line-height: 1.25;
}

.sl-inline-plan .sl-plan-stop-actions button:not([data-plan-remove]) { display: none; }

.sl-recommendation-label {
  display: grid;
  gap: 4px;
  margin-top: 8px;
  color: var(--sl-muted);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.sl-recommendation-label select {
  width: 100%;
  min-height: 34px;
  padding: 5px 28px 5px 9px;
  border: 1px solid #d7e0e8;
  border-radius: 8px;
  background: #fff;
  color: var(--sl-navy);
  font: 600 10px/1.25 Inter, sans-serif;
  letter-spacing: 0;
  text-transform: none;
}

.sl-inline-plan .sl-plan-summary {
  display: block;
  margin: 13px 0;
  padding: 12px 14px;
}

.sl-spend-estimate {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2px 10px;
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid #cfe5ef;
  border-radius: 10px;
  background: #fff;
}

.sl-spend-estimate span,
.sl-spend-estimate b { color: var(--sl-navy); font-size: 12px; }
.sl-spend-estimate b { color: #c9472f; }
.sl-spend-estimate small {
  grid-column: 1 / -1;
  color: var(--sl-muted);
  font-size: 9px;
  line-height: 1.35;
}

.sl-pin.route {
  border-radius: 50% 50% 50% 10px;
  box-shadow: 0 0 0 3px rgba(255,255,255,.92),0 0 0 5px #e0523d,0 8px 17px rgba(11,45,77,.25);
}

.sl-pin {
  width: 33px;
  height: 33px;
  border-width: 2px;
  background: linear-gradient(145deg,#1a779f,#075374);
  box-shadow: 0 7px 16px rgba(11,45,77,.26),inset 0 1px 0 rgba(255,255,255,.25);
}
.sl-pin.selected { width: 38px; height: 38px; }
.sl-pin.type-restaurant { background: linear-gradient(145deg,#ed715c,#c74331); }
.sl-pin.type-outdoors { background: linear-gradient(145deg,#55a765,#2e7043); }
.sl-pin.type-arts { background: linear-gradient(145deg,#8b6bc2,#5c4191); }
.sl-pin.type-family { background: linear-gradient(145deg,#efa84f,#c87420); }
.sl-pin.type-nightlife { background: linear-gradient(145deg,#5969b7,#36427f); }
.sl-pin.type-shopping { background: linear-gradient(145deg,#d96d91,#a94366); }
.sl-pin.type-wellness { background: linear-gradient(145deg,#43aaa5,#217674); }
.sl-pin.type-marine { background: linear-gradient(145deg,#3598c9,#176b9a); }
.sl-pin.job { background: linear-gradient(145deg,#8b6bc2,#5c4191); }
.sl-pin.deal { background: linear-gradient(145deg,#ed715c,#c74331); }
.sl-pin.event { background: linear-gradient(145deg,#45a17b,#247052); }
.sl-pin span {
  max-width: 27px;
  overflow: hidden;
  color: #fff;
  font-size: 10px;
  letter-spacing: -.02em;
  line-height: 1;
  text-overflow: clip;
  white-space: nowrap;
}

.sl-map-layer-switch {
  position: absolute;
  z-index: 510;
  top: 15px;
  right: 15px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 4px;
  border: 1px solid rgba(11,45,77,.14);
  border-radius: 12px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 7px 20px rgba(11,45,77,.17);
  backdrop-filter: blur(8px);
}
.sl-map-layer-switch[hidden] { display:none; }
.sl-map-layer-switch button { min-height: 32px; padding: 0 11px; border: 0; border-radius: 8px; background: transparent; color:#536b7d; font:800 10px/1 Inter,sans-serif; }
.sl-map-layer-switch button.active { background:#0b2d4d;color:#fff;box-shadow:0 4px 10px rgba(11,45,77,.18); }
.sl-map-legend { position:absolute;z-index:509;top:64px;right:15px;width:235px;border:1px solid rgba(11,45,77,.13);border-radius:11px;background:rgba(255,255,255,.95);box-shadow:0 7px 20px rgba(11,45,77,.13);font-size:9px;backdrop-filter:blur(8px) }
.sl-map-legend summary { padding:9px 11px;color:#0b2d4d;font-weight:850;cursor: default;list-style-position:inside }
.sl-map-legend>div { display:grid;grid-template-columns:12px 1fr 12px 1fr;gap:7px 5px;padding:0 11px 11px;color:#536b7d }
.sl-map-legend span { width:10px;height:10px;border-radius:50%;background:#2f7596;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5) }
.sl-map-legend span.restaurant{background:#d8513d}.sl-map-legend span.outdoors{background:#3d8550}.sl-map-legend span.arts{background:#6c4ca0}.sl-map-legend span.family{background:#d9872d}.sl-map-legend span.nightlife{background:#45518f}.sl-map-legend span.shopping{background:#bb4f74}.sl-map-legend span.wellness{background:#288783}.sl-map-legend span.marine{background:#227eae}

.leaflet-tooltip.sl-rating-tooltip {
  z-index: 650;
  padding: 5px 8px;
  border: 1px solid rgba(11,45,77,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.98);
  color: #0b2d4d;
  box-shadow: 0 5px 14px rgba(11,45,77,.18);
  font: 800 11px/1 Inter, sans-serif;
  pointer-events: none;
}

.leaflet-tooltip-top.sl-rating-tooltip::before {
  border-top-color: rgba(255,255,255,.98);
}

.sl-map-rating b { color: #d78b19; font-size: 13px; }
.sl-map-rating small { color: #65798a; font-weight: 700; }
.sl-read-reviews { display: inline-block; margin: 3px 0 11px; color: #087e8c; font-size: .78rem; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }

.sl-interest-bar {
  min-height: 54px;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 8px 16px;
  border-top: 1px solid #dbe8ed;
  background: linear-gradient(90deg,#effafa,#f8fbfc);
}

.sl-interest-bar[hidden] { display: none; }
.sl-interest-bar > div { min-width: 0; display: flex; align-items: center; gap: 9px; margin-right: auto; }
.sl-interest-spark { width: 30px; height: 30px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #d9f2f2; color: #087e8c; font-size: 15px; }
.sl-interest-bar p { min-width: 0; display: grid; gap: 1px; margin: 0; }
.sl-interest-bar strong { color: #0b2d4d; font-size: 11px; }
.sl-interest-bar small { overflow: hidden; color: #64798a; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.sl-interest-bar button {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 11px;
  border: 1px solid #b8d7da;
  border-radius: 999px;
  background: #fff;
  color: #0b2d4d;
  font: 800 10px/1 Inter,sans-serif;
}
.sl-interest-bar button span { width: 28px; height: 16px; position: relative; border-radius: 999px; background: #c6d2da; transition: .2s ease; }
.sl-interest-bar button span::after { content: ""; width: 12px; height: 12px; position: absolute; top: 2px; left: 2px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(11,45,77,.25); transition: .2s ease; }
.sl-interest-bar button.active { border-color: #76bec3; background: #e8f8f8; }
.sl-interest-bar button.active span { background: #087e8c; }
.sl-interest-bar button.active span::after { transform: translateX(12px); }
.sl-interest-bar > a { color: #087e8c; font-size: 10px; font-weight: 800; white-space: nowrap; }
.sl-result-copy .tag.for-you { color: #087577; background: #e4f6f5; }
.sl-filter-groups { display:grid;gap:18px;margin:22px 0; }
.sl-filter-groups fieldset { min-width:0;margin:0;padding:0;border:0; }
.sl-filter-groups legend { margin-bottom:9px;color:#0b2d4d;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase; }
.sl-filter-options { display:grid;gap:8px; }
.sl-filter-options.compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
.sl-filter-options label { min-width:0;display:flex;align-items:flex-start;gap:9px;padding:10px;border:1px solid #dbe5ea;border-radius:10px;background:#fff;cursor: default; }
.sl-filter-options label:has(input:checked) { border-color:#73bdc1;background:#eef9f9;box-shadow:inset 0 0 0 1px #73bdc1; }
.sl-filter-options input { margin-top:2px;accent-color:#087e8c; }
.sl-filter-options label span { min-width:0;display:grid;gap:2px;color:#0b2d4d;font-size:11px;font-weight:800; }
.sl-filter-options label small { color:#697d8d;font-size:9px;font-weight:600;line-height:1.35; }
.sl-filter-options.chips { display:flex;flex-wrap:wrap; }
.sl-filter-options.chips label { align-items:center;padding:8px 10px;border-radius:999px; }
.sl-filter-options.chips label span { display:block;font-size:10px; }
.sl-filter-actions { position:sticky;bottom:-1px;display:grid;grid-template-columns:.7fr 1.3fr;gap:9px;padding-top:12px;background:#fff; }
.sl-filter-actions .sl-button { justify-content:center; }

/* Rich Guides and About pages */
.sl-page-hero-rich {
  min-height: 570px;
  display: grid;
  grid-template-columns: minmax(0,1.02fr) minmax(420px,.98fr);
  align-items: center;
  gap: clamp(35px,6vw,90px);
  padding: 78px max(20px,calc((100vw - 1180px)/2));
  overflow: hidden;
  text-align: left;
  background: radial-gradient(circle at 88% 20%,rgba(79,190,198,.2),transparent 35%),linear-gradient(135deg,#fff 15%,#f1f8fa);
}
.sl-page-hero-rich .sl-page-hero-copy { position: relative; z-index: 2; }
.sl-page-hero-rich h1 { max-width: 680px; margin: 14px 0 20px; font-size: clamp(54px,6.2vw,86px); letter-spacing: -.035em; }
.sl-page-hero-rich p { max-width: 630px; margin: 0; font-size: 17px; }
.sl-page-hero-rich .sl-hero-actions { justify-content: flex-start; margin-top: 28px; }
.sl-guide-hero-art {
  min-height: 410px;
  position: relative;
  overflow: hidden;
  border: 10px solid rgba(255,255,255,.72);
  border-radius: 34px 90px 34px 90px;
  background: linear-gradient(rgba(8,55,82,.12),rgba(8,55,82,.2)),url("../../images/stuart-waterfront-premium.webp") center/cover;
  box-shadow: 0 30px 70px rgba(11,45,77,.22);
}
.sl-guide-hero-art::after { content: ""; position: absolute; inset: auto 0 0; height: 46%; background: linear-gradient(transparent,rgba(5,38,61,.72)); }
.sl-guide-route-line { position: absolute; z-index: 2; inset: 19% 20% 18% 18%; border: 3px dashed rgba(255,255,255,.9); border-color: rgba(255,255,255,.9) transparent rgba(255,255,255,.9) rgba(255,255,255,.9); border-radius: 50%; transform: rotate(-10deg); }
.route-pin { width: 37px; height: 37px; position: absolute; z-index: 3; display: grid; place-items: center; border: 4px solid #fff; border-radius: 50% 50% 50% 10px; background: #e45440; color: #fff; box-shadow: 0 7px 18px rgba(0,0,0,.25); font-weight: 900; transform: rotate(-45deg); }
.route-pin.one { top: 16%; left: 18%; }.route-pin.two { top: 46%; right: 20%; background:#5e58a8 }.route-pin.three { bottom: 17%; left: 36%; background:#148e8c }
.route-pin::first-letter { transform: rotate(45deg); }
.guide-float-card { position: absolute; z-index: 4; min-width: 180px; display: grid; gap: 2px; padding: 11px 14px; border: 1px solid rgba(255,255,255,.75); border-radius: 14px; background: rgba(255,255,255,.92); box-shadow: 0 10px 30px rgba(11,45,77,.18); backdrop-filter: blur(8px); }
.guide-float-card b { color: #0b2d4d; font-size: 11px; }.guide-float-card span { color: #607486; font-size: 10px; }
.guide-float-card.first { top: 8%; right: 5%; }.guide-float-card.second { left: 5%; bottom: 30%; }.guide-float-card.third { right: 7%; bottom: 7%; }
.sl-guide-jump { border-block: 1px solid #dfe9ee; background: #fff; }
.sl-guide-jump .sl-wrap { display: grid; grid-template-columns: repeat(3,1fr); }
.sl-guide-jump a { display: flex; align-items: center; gap: 12px; padding: 19px 26px; border-right: 1px solid #e2eaf0; color: #0b2d4d; font-weight: 800; }
.sl-guide-jump a:last-child { border-right: 0; }
.sl-guide-jump a span { color: #188b94; font-size: 11px; letter-spacing: .1em; }
.sl-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 38px; }
.sl-section-heading h2 { max-width: 670px; margin: 9px 0 0; color: #0b2d4d; font: 700 clamp(42px,5vw,62px)/.98 "Cormorant Garamond",Georgia,serif; }
.sl-section-heading > p { max-width: 430px; margin: 0; color: #607486; line-height: 1.7; }
.sl-guide-grid-premium { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.sl-guide-grid-premium .sl-guide-card { min-height: 290px; padding: 30px; overflow: hidden; transition: transform .2s ease,box-shadow .2s ease; }
.sl-guide-grid-premium .sl-guide-card:hover { transform: translateY(-4px); box-shadow: 0 20px 44px rgba(11,45,77,.12); }
.sl-guide-grid-premium .sl-guide-card.featured { min-height: 370px; grid-column: 1/-1; display: grid; grid-template-columns: 1.08fr .92fr; padding: 0; }
.sl-guide-card.featured .sl-guide-visual { min-height: 370px; height: 100%; margin: 0; border-radius: 20px 0 0 20px; background: linear-gradient(rgba(5,42,65,.06),rgba(5,42,65,.34)),url("../../images/stuart-waterfront-premium.webp") center/cover; }
.sl-guide-card.featured .sl-guide-visual b { width: 43px; height: 43px; position: absolute; top: 18px; right: 18px; display: grid; place-items: center; border-radius: 50%; background:#fff; color:#0b2d4d; }
.sl-guide-card-body { display: flex; flex-direction: column; padding: 38px; }
.sl-guide-grid-premium .meta { margin: 4px 0 9px; color: #16858c; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.sl-guide-grid-premium h3 { margin: 0 0 11px; color: #0b2d4d; font: 700 34px/1 "Cormorant Garamond",Georgia,serif; }
.sl-guide-grid-premium p { margin: 0 0 18px; color: #607486; line-height: 1.65; }
.sl-guide-grid-premium .card-link { margin-top: auto; color: #0b2d4d; font-weight: 850; }
.sl-guide-grid-premium .card-link span { color:#e0523d; }
.sl-guide-icon,.sl-guide-number { width: 54px; height: 54px; display: grid; place-items: center; margin-bottom: 22px; border-radius: 17px; background:#fff0e8; color:#d5523e; font: 800 24px/1 Inter,sans-serif; }
.sl-guide-icon.water { background:#e4f6f7; color:#087e8c; }
.sl-guide-number { border:1px solid #d8e7eb; background:#f5fafb; color:#0b2d4d; font-size:14px; letter-spacing:.08em; }
.sl-guide-stops { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 20px; }
.sl-guide-stops span { padding:5px 9px; border-radius:999px; background:#eef7f8; color:#237a81; font-size:10px; font-weight:800; }
.sl-guide-card.template { background:linear-gradient(145deg,#fff,#f7fafc); }
.sl-guide-cta { display:flex; align-items:center; justify-content:space-between; gap:50px; padding:50px; border-radius:28px; background:#0b2d4d; color:#fff; }
.sl-guide-cta h2 { margin:8px 0 10px; font:700 clamp(38px,4.5vw,54px)/1 "Cormorant Garamond",Georgia,serif; }.sl-guide-cta p { max-width:700px; margin:0; color:#c7d9e6; line-height:1.7; }
.sl-about-hero-art { min-height:420px; position:relative; display:grid; place-items:center; }
.about-orbit { width:360px; height:360px; position:absolute; border:1px solid rgba(28,139,148,.25); border-radius:50%; box-shadow:inset 0 0 0 45px rgba(77,190,198,.05),inset 0 0 0 90px rgba(77,190,198,.04); }
.about-orbit::before,.about-orbit::after { content:""; position:absolute; border-radius:50%; background:#f4a680; box-shadow:0 8px 18px rgba(11,45,77,.18); }.about-orbit::before{width:18px;height:18px;top:32px;right:54px}.about-orbit::after{width:13px;height:13px;bottom:63px;left:27px;background:#4dbec6}
.about-core { width:190px;height:190px;position:relative;z-index:2;display:grid;place-items:center;border:12px solid rgba(255,255,255,.75);border-radius:50%;background:#fff;box-shadow:0 25px 60px rgba(11,45,77,.17);overflow:hidden}
.about-core img { width:138px;height:138px;object-fit:contain; }
.about-node { position:absolute;z-index:3;padding:9px 14px;border:1px solid #d8e6eb;border-radius:999px;background:#fff;color:#0b2d4d;box-shadow:0 9px 22px rgba(11,45,77,.11);font-size:11px;font-weight:850}.about-node.places{top:6%;left:12%}.about-node.events{top:20%;right:4%}.about-node.plans{bottom:13%;right:11%}.about-node.deals{bottom:5%;left:16%}
.sl-about-values { background:#0b2d4d;color:#fff; }.sl-about-values .sl-wrap{display:grid;grid-template-columns:repeat(3,1fr)}.sl-about-values .sl-wrap>div{display:grid;gap:3px;padding:25px 30px;border-right:1px solid rgba(255,255,255,.12)}.sl-about-values .sl-wrap>div:last-child{border-right:0}.sl-about-values b{font:700 22px/1.1 "Cormorant Garamond",Georgia,serif}.sl-about-values span{color:#bcd0de;font-size:12px}
.sl-about-grid { grid-template-columns:1.08fr .92fr; align-items:stretch; }
.sl-about-card { position:relative;overflow:hidden;padding:42px;border-radius:26px;box-shadow:0 12px 35px rgba(11,45,77,.06)}
.sl-about-story { grid-row:span 2; min-height:600px; display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 100% 0,rgba(77,190,198,.23),transparent 35%),#0b2d4d!important}
.sl-about-story h2{font-size:clamp(48px,5vw,68px);letter-spacing:-.025em}.sl-about-story p{max-width:540px;font-size:16px}.sl-about-signoff{display:flex;align-items:center;gap:12px;margin-top:45px;padding-top:23px;border-top:1px solid rgba(255,255,255,.15)}.sl-about-signoff>span{font-size:28px;color:#5fc5ca}.sl-about-signoff div{display:grid}.sl-about-signoff strong{font-size:13px}.sl-about-signoff small{color:#a9c1d1}
.sl-about-icon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:25px;border-radius:15px;background:#e9f7ef;color:#27794d;font-size:20px;font-weight:900}.sl-about-icon.coral{background:#fff0eb;color:#d5523e}.sl-about-icon.aqua{background:#e9f8f8;color:#087e8c}
.sl-about-principle{min-height:270px}.sl-about-verify{min-height:390px}

.sl-inline-plan .sl-plan-actions {
  position: sticky;
  bottom: -1px;
  padding: 8px 0 0;
  background: #fff;
}

.sl-inline-plan .sl-plan-actions .primary {
  grid-column: 1 / -1;
}

.sl-inline-plan-tools {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-top: 8px;
}
.sl-inline-plan-name { display:grid;gap:5px;margin:10px 0 12px;color:#0b2d4d;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase; }
.sl-inline-plan-name input { min-height:38px;padding:0 11px;border:1px solid #d4e1e6;border-radius:9px;background:#fff;color:#0b2d4d;font:700 11px/1 Inter,sans-serif;letter-spacing:0;text-transform:none; }
.sl-plan-name-field { grid-column:1/-1; }
.sl-plan-builder-actions { display:grid;grid-template-columns:1.35fr .65fr;gap:9px;margin-top:12px; }
.sl-plan-change-alert { margin:8px 0 0;padding:7px 9px;border:1px solid #efd28b;border-radius:8px;background:#fff7df;color:#77510a;font-size:9px!important;line-height:1.4; }
.sl-saved-plan-alert { padding:9px 10px;border:1px solid #efd28b;border-radius:9px;background:#fff7df;color:#77510a;font-size:11px; }
.sl-saved-plan-actions { display:flex;flex-wrap:wrap;gap:8px;margin-top:12px; }
.sl-saved-plan-actions button { min-height:36px;padding:0 12px;border:1px solid #bfd5dc;border-radius:9px;background:#fff;color:#0b2d4d;font:800 10px/1 Inter,sans-serif; }
.sl-saved-plan-actions button:first-child { border-color:#0b2d4d;background:#0b2d4d;color:#fff; }
@media (max-width:600px) { .sl-plan-builder-actions { grid-template-columns:1fr; } }

.sl-inline-plan-tools button {
  min-height: 38px;
  border: 1px solid var(--sl-line);
  border-radius: 9px;
  background: #fff;
  color: var(--sl-navy);
  font-size: 11px;
  font-weight: 800;
}

.sl-preference-note {
  margin: 14px 0 0;
  padding: 10px 12px;
  border-radius: 9px;
  background: var(--sl-pale);
  color: var(--sl-navy);
  font-size: 11px;
  font-weight: 700;
  text-align: center;
}

.sl-plan-preferences {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 8px;
}

.sl-plan-preferences span {
  padding: 4px 7px;
  border: 1px solid #cfe0e8;
  border-radius: 999px;
  background: #fff;
  color: var(--sl-blue-dark);
  font-size: 9px;
  font-weight: 800;
}

.sl-app-features {
  width: min(calc(100% - 120px), 760px);
  margin: 14px auto 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  overflow: hidden;
  border: 1px solid var(--sl-line);
  border-radius: 14px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 12px 35px rgba(11,45,77,.1);
}

.sl-app-feature {
  min-height: 67px;
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 8px;
  align-items: center;
  padding: 12px;
  border-right: 1px solid var(--sl-line);
}

.sl-app-feature:last-child { border-right: 0; }
.sl-app-feature > span { color: var(--sl-navy); font-size: 19px; text-align: center; }
.sl-app-feature strong { display: block; color: var(--sl-navy); font-size: 11px; }
.sl-app-feature small { display: block; margin-top: 2px; color: var(--sl-muted); font-size: 9px; line-height: 1.35; }

.sl-app-body .sl-map-status {
  top: auto;
  left: 18px;
  bottom: 18px;
  max-width: 260px;
}

.sl-app-body .sl-map-controls { right: 18px; bottom: 18px; }
.explore-page .sl-mobile-nav { display: none; }

@media (max-width: 960px) {
  .sl-interest-bar { flex-wrap: wrap; gap: 7px 10px; padding: 8px 12px; }
  .sl-interest-bar > div { flex: 1 1 100%; }
  .sl-interest-bar small { max-width: calc(100vw - 92px); }
  .sl-interest-bar button { margin-left: 39px; }
  .sl-page-hero-rich { min-height: 0; grid-template-columns: 1fr; padding: 65px 28px; text-align: center; }
  .sl-page-hero-rich h1,.sl-page-hero-rich p { margin-left: auto; margin-right: auto; }
  .sl-page-hero-rich .sl-hero-actions { justify-content: center; }
  .sl-guide-hero-art { width: min(100%,650px); min-height: 370px; margin: 0 auto; }
  .sl-guide-jump .sl-wrap { grid-template-columns: 1fr; }
  .sl-guide-jump a { border-right: 0; border-bottom: 1px solid #e2eaf0; }
  .sl-guide-jump a:last-child { border-bottom: 0; }
  .sl-section-heading { align-items: flex-start; flex-direction: column; gap: 18px; }
  .sl-guide-grid-premium .sl-guide-card.featured { grid-template-columns: 1fr; }
  .sl-guide-card.featured .sl-guide-visual { min-height: 300px; border-radius: 20px 20px 0 0; }
  .sl-guide-cta { align-items: flex-start; flex-direction: column; padding: 36px; }
  .sl-about-hero-art { width:min(100%,520px); margin:auto; }
  .sl-about-values .sl-wrap { grid-template-columns:1fr; }
  .sl-about-values .sl-wrap>div { border-right:0;border-bottom:1px solid rgba(255,255,255,.12); }
  .sl-about-values .sl-wrap>div:last-child { border-bottom:0; }
  .sl-about-grid { grid-template-columns:1fr; }
  .sl-about-story { min-height:480px; grid-row:auto; }

  .sl-header,
  .explore-page .sl-header { height: 72px; }
  .sl-header-inner,
  .explore-page .sl-header-inner {
    width: calc(100% - 28px);
    grid-template-columns: minmax(160px, 1fr) auto;
  }
  .sl-brand,
  .explore-page .sl-brand { width: min(164px, 100%); }
  .sl-brand img { max-height: 62px; }
  .sl-account-toggle {
    min-width: 42px;
    width: 42px;
    padding: 0;
  }
  .sl-account-label,
  .sl-account-chevron { display: none; }
  .sl-contact-layout,
  .sl-partner-hero,
  .sl-partner-fit { grid-template-columns: 1fr; }
  .sl-partner-hero { padding: 60px 24px; }
  .sl-partner-grid { grid-template-columns: 1fr; }
  .sl-planner-hero {
    min-height: 280px;
    padding: 55px 18px 74px;
    background-position: 65% 55%;
  }
  .sl-planner-hero h1 { font-size: clamp(42px, 9vw, 60px); }
  .sl-planner-page { width: calc(100% - 20px); margin-top: -34px; margin-bottom: 90px; }
  .sl-app-toolbar {
    grid-template-columns: minmax(0, 1fr) 120px 46px;
    padding: 11px;
  }
  .sl-app-toolbar .sl-location-field { grid-column: 1 / 2; }
  .sl-app-toolbar .sl-filter-button { display: none; }
  .sl-app-privacy { display: none; }
  .sl-app-tabs { width: 100%; min-width: 0; }
  .sl-app-tabs .sl-mode-tab {
    min-height: 54px;
    grid-template-columns: 1fr;
    gap: 2px;
    font-size: 10px;
  }
  .sl-app-tabs .sl-mode-tab span { font-size: 15px; }
  .sl-app-body {
    position: relative;
    display: block;
    height: 610px;
  }
  .sl-app-body .sl-map-wrap { position: absolute; inset: 0; height: auto; }
  .sl-app-body .sl-results-panel {
    position: absolute;
    z-index: 30;
    left: 8px;
    right: 8px;
    bottom: 8px;
    height: 345px;
    border: 1px solid var(--sl-line);
    border-radius: 18px;
    box-shadow: var(--sl-panel-shadow);
  }
  .sl-app-body .sl-results-panel.expanded { height: calc(100% - 16px); }
  .sl-app-body .sl-results-panel.collapsed { height: 132px; }
  .sl-app-body .sl-panel-title { min-height: 58px; padding: 9px 13px; }
  .sl-event-controls { grid-template-columns: 1fr 1fr; }
  .sl-event-controls > button { grid-column: 1 / -1; }
  .sl-inline-plan { padding: 0 13px 14px; }
  .sl-inline-plan-tools { grid-template-columns: 1fr; }
  .sl-app-features { display: none; }
  .explore-page .sl-mobile-nav { display: grid; }
}

.sl-announcement {
  position: relative;
  z-index: 1002;
  padding: 8px 18px;
  background: #0b2d4d;
  color: #fff;
  text-align: center;
  font-size: 12px;
  font-weight: 800;
}
.sl-announcement a { color: inherit; text-decoration: underline; }
.sl-footer-button {
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: default;
}
.sl-consent {
  position: fixed;
  z-index: 5000;
  right: 18px;
  bottom: 18px;
  left: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  width: min(920px, calc(100% - 36px));
  margin: auto;
  padding: 18px 20px;
  border: 1px solid #cfdde5;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 20px 60px rgba(11,45,77,.22);
}
.sl-consent strong { color: #0b2d4d; }
.sl-consent p { max-width: 620px; margin: 5px 0 0; color: #5f7180; font-size: 12px; }
.sl-consent-options { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 10px; font-size: 12px; }
.sl-consent-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.sl-consent button {
  min-height: 40px;
  padding: 8px 13px;
  border: 1px solid #ccd9e2;
  border-radius: 9px;
  background: #fff;
  color: #0b2d4d;
  font-weight: 800;
}
.sl-consent button.primary { border-color: #0b2d4d; background: #0b2d4d; color: #fff; }
.sl-ad-banner {
  position: relative;
  width: min(1120px, calc(100% - 32px));
  max-height: var(--sl-ad-height, 120px);
  margin: 18px auto;
  overflow: hidden;
  border: 1px solid #d7e2e8;
  border-radius: 13px;
  background: #f8fbfc;
  box-shadow: 0 8px 24px rgba(11,45,77,.07);
}
.sl-ad-banner > a { display: grid; grid-template-columns: minmax(140px, 30%) 1fr; align-items: center; min-height: 84px; color: #102436; }
.sl-ad-banner img { width: 100%; height: 100%; max-height: var(--sl-ad-max-height,120px); object-fit: cover; }
.sl-ad-copy { display: grid; gap: 4px; padding: 16px 22px; }
.sl-ad-copy strong { color: #0b2d4d; font: 700 21px/1.1 Georgia, serif; }
.sl-ad-copy small { color: #607284; }
.sl-ad-disclosure { position: absolute; z-index: 1; top: 7px; right: 9px; padding: 3px 7px; border-radius: 999px; background: rgba(255,255,255,.92); color: #5b6c78; font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.sl-ad-modal { position: fixed; z-index: 4500; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(5,22,38,.68); backdrop-filter: blur(5px); }
.sl-ad-modal-card { position: relative; width: min(560px,100%); overflow: hidden; border-radius: 18px; background: #fff; box-shadow: 0 30px 90px rgba(0,0,0,.35); }
.sl-ad-modal-card > a { display: grid; color: #102436; }
.sl-ad-modal-card img { width: 100%; max-height: 330px; object-fit: cover; }
.sl-ad-modal-card .sl-ad-copy { padding: 22px 25px 27px; }
.sl-ad-close { position: absolute; z-index: 2; top: 12px; left: 12px; width: 38px; height: 38px; border: 0; border-radius: 50%; background: rgba(255,255,255,.94); color: #0b2d4d; font-size: 24px; cursor: default; }
@media (max-width: 680px) {
  .sl-consent { align-items: stretch; flex-direction: column; }
  .sl-consent-actions { display: grid; grid-template-columns: 1fr; }
  .sl-ad-banner > a { grid-template-columns: 1fr; }
  .sl-ad-banner { max-height: none; }
  .sl-ad-banner img { max-height: 150px; }
}

@media (max-width: 600px) {
  .sl-page-hero-rich { padding: 50px 18px; }
  .sl-page-hero-rich h1 { font-size: 48px; }
  .sl-guide-hero-art { min-height: 320px; border-width: 6px; border-radius: 25px 58px 25px 58px; }
  .guide-float-card { min-width: 145px; padding: 9px 11px; }
  .guide-float-card.second { left:3%; }
  .sl-guide-grid-premium { grid-template-columns:1fr; }
  .sl-guide-card-body { padding:28px; }
  .sl-guide-grid-premium .sl-guide-card { padding:24px; }
  .sl-guide-grid-premium .sl-guide-card.featured { padding:0; }
  .sl-guide-cta { padding:28px 22px; border-radius:20px; }
  .about-orbit { width:300px;height:300px; }
  .about-core { width:160px;height:160px; }
  .about-core img { width:115px;height:115px; }
  .sl-about-card { padding:30px 24px; }
  .sl-about-story h2 { font-size:48px; }
  .sl-filter-options.compact { grid-template-columns:1fr; }
  .sl-map-layer-switch { top:68px;left:12px;right:auto; }
  .sl-map-legend { top:115px;left:12px;right:auto;width:215px; }
  .sl-contact-aside,
  .sl-contact-form { padding: 22px 18px; }
  .sl-contact-fields,
  .sl-partner-checks { grid-template-columns: 1fr; }
  .sl-contact-fields label.full { grid-column: auto; }
  .sl-partner-hero h1 { font-size: 54px; }
  .sl-partner-cta h2 { font-size: 38px; }
  .explore-page .sl-brand { width: 158px; }
  .sl-brand img { max-height: 58px; }
  .sl-planner-hero {
    min-height: 255px;
    padding: 38px 16px 64px;
  }
  .sl-planner-hero h1 { font-size: 43px; }
  .sl-planner-hero p { margin: 11px auto 17px; font-size: 14px; }
  .sl-planner-hero .sl-button.coral { min-height: 44px; }
  .sl-plan-chips { margin-top: 10px; }
  .sl-plan-chip { min-height: 34px; padding: 0 12px; font-size: 11px; }
  .sl-app-frame { border-radius: 16px; }
  .sl-app-toolbar { grid-template-columns: minmax(0, 1fr) 102px 42px; gap: 7px; }
  .sl-app-toolbar .sl-search-box { grid-column: 1 / -1; }
  .sl-app-toolbar .sl-location-field,
  .sl-app-toolbar .sl-radius-field,
  .sl-app-toolbar .sl-locate { height: 42px; min-height: 42px; }
  .sl-app-body { height: 580px; }
  .sl-app-body .sl-results-panel { height: 330px; }
  .sl-app-body .sl-map-status {
    top: 12px;
    bottom: auto;
    left: 12px;
    max-width: calc(100% - 85px);
  }
  .sl-app-body .sl-map-controls { top: 12px; right: 12px; bottom: auto; }
  .sl-inline-plan .sl-plan-stop { grid-template-columns: 42px 1fr 30px; }
}

@media (max-width: 680px) {
  .sl-account-dropdown {
    position: fixed;
    top: 76px;
    left: 14px;
    right: 14px;
    width: auto;
  }
  .sl-account-dropdown::before { right: 63px; }
}

.sl-public-flash { width: min(1100px,calc(100% - 32px)); margin: 18px auto 0; padding: 13px 16px; border-radius: 10px; background: #e7f7ef; color: #17633f; font-weight: 700; }
.sl-public-flash.error { background: #fff0ee; color: #9c3028; }
.sl-reviews-section { background: #f7fbfc; }
.sl-reviews-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 24px; }
.sl-reviews-head h2 { margin: 6px 0 7px; color: #0b2d4d; font: 700 clamp(2rem,4vw,3rem)/1.05 "Cormorant Garamond",Georgia,serif; }
.sl-reviews-head p { max-width: 680px; margin: 0; color: #5e7283; }
.sl-rating-summary { min-width: 150px; display: grid; justify-items: end; }
.sl-rating-summary strong { color: #0b2d4d; font: 700 2.5rem/1 "Cormorant Garamond",Georgia,serif; }
.sl-stars { color: #d78b19; letter-spacing: .08em; white-space: nowrap; }
.sl-rating-summary small { color: #677b8c; }
.sl-review-layout { display: grid; grid-template-columns: minmax(270px,.72fr) minmax(0,1.28fr); gap: 22px; align-items: start; }
.sl-review-form-card, .sl-review-card { padding: 22px; border: 1px solid #d9e4e9; border-radius: 14px; background: #fff; box-shadow: 0 8px 28px rgba(11,45,77,.05); }
.sl-review-form-card { position: sticky; top: 92px; }
.sl-review-form-card h3, .sl-review-card h3 { margin: 0 0 12px; color: #0b2d4d; }
.sl-review-form-card form, .sl-dispute form { display: grid; gap: 13px; }

/* Coastal Atlas premium map pass */
.sl-app-tabs .sl-mode-tab span {
  width: 17px;
  height: 17px;
  display: inline-grid;
  place-items: center;
}
.sl-app-tabs .sl-mode-tab svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sl-result-card {
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 12px;
  min-height: 96px;
  margin-bottom: 9px;
  padding: 10px;
  border-color: rgba(16,54,78,.1);
  border-radius: 16px;
  box-shadow: 0 2px 0 rgba(11,45,77,.02);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.sl-result-card:hover {
  border-color: rgba(26,126,134,.35);
  box-shadow: 0 12px 28px rgba(14,43,68,.09);
  transform: translateX(2px);
}
.sl-result-card.active {
  border-color: rgba(20,126,133,.5);
  background: linear-gradient(90deg,rgba(226,246,244,.82),#fff 38%);
  box-shadow: inset 3px 0 #17848a,0 14px 30px rgba(14,43,68,.1);
  transform: translateX(2px);
}
.sl-result-visual {
  position: relative;
  width: 72px;
  height: 72px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 14px;
  background: linear-gradient(145deg,#edf6f8,#d8e9ee);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9),0 5px 14px rgba(11,45,77,.07);
  color: #173e58;
  font-size: 23px;
}
.sl-result-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(11,45,77,.04);
  pointer-events: none;
}
.sl-result-card.type-restaurant .sl-result-visual { background: linear-gradient(145deg,#fff1eb,#f7d3c8); color:#9d4639; }
.sl-result-card.type-outdoors .sl-result-visual { background: linear-gradient(145deg,#eff8f2,#cfe7d7); color:#2f7256; }
.sl-result-card.type-arts .sl-result-visual { background: linear-gradient(145deg,#f4eff9,#ded1eb); color:#675184; }
.sl-result-card.type-family .sl-result-visual { background: linear-gradient(145deg,#fff8e8,#f1dfb8); color:#8c681e; }
.sl-result-card.type-nightlife .sl-result-visual { background: linear-gradient(145deg,#f0eff8,#d9d5e9); color:#514a72; }
.sl-result-card.type-shopping .sl-result-visual { background: linear-gradient(145deg,#eff5fa,#d3e2ed); color:#386b8b; }
.sl-result-card.type-wellness .sl-result-visual { background: linear-gradient(145deg,#ebf8f5,#c9e7df); color:#327766; }
.sl-result-card.type-marine .sl-result-visual { background: linear-gradient(145deg,#eaf7fb,#c8e4ef); color:#2c6e8b; }
.sl-result-card.type-event .sl-result-visual { background: linear-gradient(145deg,#eef8f3,#cce8d9); color:#34755a; }
.sl-result-card.type-deal .sl-result-visual { background: linear-gradient(145deg,#fff0ec,#f6d0c6); color:#a34738; }
.sl-result-card.type-job .sl-result-visual { background: linear-gradient(145deg,#f2eff8,#dcd5ea); color:#5f4e82; }
.sl-result-copy { padding-right: 30px; }
.sl-result-copy .tag { font-size: 9px; letter-spacing: .075em; }
.sl-result-copy h2 { margin-top: 4px; font-size: 17px; }
.sl-result-copy p { font-size: 11px; }
.sl-result-meta { margin-top: 6px; font-size: 10px; }
.sl-save-card {
  top: 8px;
  right: 8px;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(11,45,77,.08);
  box-shadow: 0 5px 14px rgba(11,45,77,.07);
}

.sl-empty-premium {
  width: calc(100% - 28px);
  min-height: 250px;
  display: grid;
  align-content: center;
  justify-items: center;
  margin: 14px;
  padding: 34px 28px;
  border: 1px solid rgba(28,116,126,.16);
  border-radius: 20px;
  background:
    radial-gradient(circle at 50% 0,rgba(102,196,197,.18),transparent 42%),
    linear-gradient(155deg,#fbfdfd,#eef7f7);
  box-shadow: inset 0 1px 0 #fff;
}
.sl-empty-icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  margin-bottom: 15px;
  border: 1px solid rgba(20,126,133,.18);
  border-radius: 50%;
  background: rgba(255,255,255,.82);
  color: #167d85;
  box-shadow: 0 10px 25px rgba(14,43,68,.09);
  font: 700 22px/1 var(--sl-display);
}
.sl-empty-premium strong { max-width: 330px; font-size: 25px; }
.sl-empty-premium p { max-width: 370px; }
.sl-empty-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: 19px; }
.sl-empty-actions button {
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid rgba(11,45,77,.15);
  border-radius: 10px;
  background: rgba(255,255,255,.9);
  color: var(--sl-navy);
  font: 800 10px/1 var(--sl-ui);
}
.sl-empty-actions button.primary { border-color: var(--sl-navy); background: var(--sl-navy); color:#fff; }

.sl-pin {
  width: 28px;
  height: 28px;
  border-width: 2px;
  border-radius: 50% 50% 50% 8px;
  background: linear-gradient(145deg,#397e9c,#1f607f);
  box-shadow: 0 4px 10px rgba(7,34,54,.24),inset 0 1px 0 rgba(255,255,255,.28);
  transition: width .18s ease,height .18s ease,opacity .18s ease,filter .18s ease,box-shadow .18s ease;
}
.sl-pin span { max-width: 22px; font-size: 8px; letter-spacing: -.01em; }
.sl-pin.selected {
  width: 36px;
  height: 36px;
  background: linear-gradient(145deg,#123f5d,#082b45);
  box-shadow: 0 0 0 3px rgba(255,255,255,.96),0 0 0 5px rgba(27,139,147,.72),0 10px 22px rgba(7,34,54,.3);
}
.sl-pin.selected span { font-size: 10px; }
.sl-pin.muted { opacity: .4; filter: saturate(.65); }
.sl-pin.route { width: 33px; height: 33px; box-shadow:0 0 0 3px rgba(255,255,255,.94),0 0 0 5px #e3705f,0 8px 18px rgba(7,34,54,.24); }
.sl-pin.type-restaurant { background:linear-gradient(145deg,#e77a68,#b94d3e); }
.sl-pin.type-outdoors { background:linear-gradient(145deg,#5b9b78,#33705a); }
.sl-pin.type-arts { background:linear-gradient(145deg,#8c74aa,#655184); }
.sl-pin.type-family { background:linear-gradient(145deg,#d9aa50,#ad7929); }
.sl-pin.type-nightlife { background:linear-gradient(145deg,#6e678d,#4c476d); }
.sl-pin.type-shopping { background:linear-gradient(145deg,#5889aa,#386b8b); }
.sl-pin.type-wellness { background:linear-gradient(145deg,#58a08d,#337766); }
.sl-pin.type-marine { background:linear-gradient(145deg,#4f91ae,#2c6e8b); }
.sl-pin.job { background:linear-gradient(145deg,#8c74aa,#655184); }
.sl-pin.deal { background:linear-gradient(145deg,#e77a68,#b94d3e); }
.sl-pin.event { background:linear-gradient(145deg,#5b9b78,#33705a); }

.sl-cluster {
  width: 46px;
  height: 46px;
  align-content: center;
  gap: 0;
  border-width: 3px;
  background: linear-gradient(145deg,rgba(21,70,96,.96),rgba(8,42,65,.98));
  box-shadow: 0 0 0 2px rgba(255,255,255,.32),0 9px 22px rgba(7,34,54,.27);
  font-family: var(--sl-ui);
  line-height: 1;
}
.sl-cluster b { font-size: 14px; line-height: 1; }
.sl-cluster small { margin-top: 2px; font-size: 6px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; opacity:.78; }
.sl-cluster.type-restaurant { background:linear-gradient(145deg,#d66d5d,#9f4035); }
.sl-cluster.type-outdoors,.sl-cluster.type-event { background:linear-gradient(145deg,#4f9270,#2b654e); }
.sl-cluster.type-arts,.sl-cluster.type-job { background:linear-gradient(145deg,#8069a0,#584579); }
.sl-cluster.type-family { background:linear-gradient(145deg,#ca9840,#956820); }
.sl-cluster.type-nightlife { background:linear-gradient(145deg,#625c82,#403b60); }
.sl-cluster.type-shopping { background:linear-gradient(145deg,#4e7e9e,#315e7b); }
.sl-cluster.type-wellness { background:linear-gradient(145deg,#4b9481,#2d6b5c); }
.sl-cluster.type-marine { background:linear-gradient(145deg,#4386a4,#255f7b); }
.sl-cluster.type-deal { background:linear-gradient(145deg,#d66d5d,#9f4035); }
.leaflet-tooltip.sl-cluster-tooltip {
  padding: 6px 9px;
  border: 0;
  border-radius: 999px;
  background: rgba(8,42,65,.9);
  color:#fff;
  box-shadow:0 7px 18px rgba(7,34,54,.2);
  font:800 9px/1 var(--sl-ui);
}
.leaflet-tooltip-top.sl-cluster-tooltip::before { border-top-color:rgba(8,42,65,.9); }

.sl-map-layer-switch {
  top: 14px;
  right: 14px;
  padding: 3px;
  border-color: rgba(255,255,255,.56);
  border-radius: 13px;
  background: rgba(250,253,253,.88);
  box-shadow: 0 10px 28px rgba(7,34,54,.14);
  backdrop-filter: blur(14px) saturate(1.2);
}
.sl-map-layer-switch button { min-height: 31px; padding:0 12px; border-radius:10px; font-size:9px; }
.sl-map-layer-switch button.active { background:#0b314d;box-shadow:0 4px 12px rgba(8,42,65,.2); }
.sl-map-legend {
  top: 60px;
  right: 14px;
  width: auto;
  min-width: 102px;
  border-color: rgba(255,255,255,.56);
  border-radius: 999px;
  background: rgba(250,253,253,.88);
  box-shadow:0 10px 28px rgba(7,34,54,.12);
  backdrop-filter:blur(14px) saturate(1.2);
}
.sl-map-legend[open] { width:244px;border-radius:15px; }
.sl-map-legend summary { display:flex;align-items:center;gap:7px;padding:9px 12px;list-style:none;font-size:9px; }
.sl-map-legend summary::-webkit-details-marker { display:none; }
.sl-map-legend summary>span { width:11px;height:11px;border:2px solid #fff;background:linear-gradient(135deg,#d66d5d 0 25%,#4f9270 25% 50%,#8069a0 50% 75%,#4e7e9e 75%);box-shadow:0 0 0 1px rgba(11,45,77,.12); }
.sl-map-legend>div { padding:2px 12px 12px;font-size:8px; }
.sl-map-status {
  padding: 10px 13px;
  border-color: rgba(255,255,255,.56);
  border-radius: 14px;
  background: rgba(250,253,253,.88);
  box-shadow:0 10px 28px rgba(7,34,54,.13);
  backdrop-filter:blur(14px) saturate(1.2);
  font-size:10px;
}
.sl-map-status strong { font-size:11px; }
.sl-map-controls { gap:6px; }
.sl-map-controls button {
  width:40px;
  height:40px;
  border-color:rgba(255,255,255,.6);
  border-radius:12px;
  background:rgba(250,253,253,.9);
  box-shadow:0 8px 22px rgba(7,34,54,.13);
  backdrop-filter:blur(12px);
  font-size:16px;
}
.sl-map-controls button.primary { background:#0b314d; }

@media (min-width: 961px) {
  .explore-page .sl-header-inner { width:min(calc(100% - 48px),1180px);grid-template-columns:200px 1fr 230px; }
  .sl-planner-hero { min-height:245px;padding:43px 24px 72px;background-position:center 61%; }
  .sl-planner-hero h1 { font-size:clamp(46px,4.4vw,62px); }
  .sl-planner-hero p { margin:10px auto 15px;font-size:15px; }
  .sl-planner-hero .sl-button.coral { min-height:44px;padding:0 21px; }
  .sl-plan-chips { margin-top:10px; }
  .sl-plan-chip { min-height:34px;padding:0 15px;font-size:11px; }
  .sl-planner-page { width:min(calc(100% - 44px),1360px);margin:-46px auto 76px; }
  .sl-app-frame { border-color:rgba(11,45,77,.1);border-radius:24px;box-shadow:0 28px 75px rgba(9,38,59,.17); }
  .sl-app-toolbar { grid-template-columns:minmax(300px,1fr) minmax(220px,.55fr) 118px 46px 106px;gap:8px;padding:12px 14px 9px;background:rgba(253,254,254,.99); }
  .sl-app-toolbar .sl-search-box,.sl-app-toolbar .sl-location-field,.sl-app-toolbar .sl-radius-field,.sl-app-toolbar .sl-locate,.sl-app-toolbar .sl-filter-button { min-height:44px;height:44px;border-color:rgba(11,45,77,.1);background:#f9fbfc; }
  .sl-app-privacy { padding:0 16px 8px;background:#fdfefe;font-size:9px; }
  .sl-app-tabs { width:36%;min-width:430px; }
  .sl-app-tabs .sl-mode-tab { min-height:49px; }
  .sl-app-tabs .sl-mode-tab.active::after { left:19px;right:19px;height:2px;background:#16858c; }
  .sl-app-body { grid-template-columns:36% 64%;height:clamp(610px,66vh,720px); }
  .sl-app-body .sl-panel-title { min-height:64px;padding:13px 16px 11px; }
  .sl-app-body .sl-panel-title h1 { font-size:15px; }
  .sl-app-body .sl-panel-title p { font-size:10px; }
  .sl-app-body .sl-result-list { padding:10px 14px 28px; }
  .sl-app-body .sl-map-status { left:16px;bottom:16px; }
  .sl-app-body .sl-map-controls { right:16px;bottom:16px; }
  .sl-app-features { width:min(calc(100% - 150px),820px);margin-top:16px;border-radius:16px;box-shadow:0 15px 40px rgba(9,38,59,.09); }
}

@media (max-width: 960px) {
  .sl-planner-hero { min-height:240px;padding:38px 18px 64px; }
  .sl-planner-hero h1 { font-size:clamp(39px,8vw,54px); }
  .sl-planner-hero p { margin:10px auto 15px;font-size:14px; }
  .sl-planner-page { margin-top:-38px; }
  .sl-result-card { grid-template-columns:68px minmax(0,1fr);min-height:92px; }
  .sl-result-visual { width:68px;height:68px; }
}

@media (max-width: 600px) {
  .sl-planner-hero { min-height:220px;padding:30px 14px 58px; }
  .sl-planner-hero h1 { font-size:39px; }
  .sl-planner-hero .sl-button.coral { min-height:42px; }
  .sl-app-tabs .sl-mode-tab span,.sl-app-tabs .sl-mode-tab svg { width:16px;height:16px; }
  .sl-map-layer-switch { top:66px;left:10px;right:auto; }
  .sl-map-legend { top:108px;left:10px;right:auto; }
  .sl-map-legend[open] { width:220px; }
  .sl-result-card { grid-template-columns:64px minmax(0,1fr);min-height:88px;padding:9px; }
  .sl-result-visual { width:64px;height:64px;font-size:20px; }
  .sl-empty-premium { width:calc(100% - 20px);min-height:220px;margin:10px;padding:28px 18px; }
}
.sl-review-form-card label, .sl-dispute label { display: grid; gap: 6px; color: #0b2d4d; font-size: .82rem; font-weight: 800; }
.sl-review-form-card input, .sl-review-form-card textarea, .sl-dispute input, .sl-dispute textarea { width: 100%; padding: 10px 12px; border: 1px solid #cbd9e1; border-radius: 8px; font: inherit; color: #15344b; background: #fff; }
.sl-review-form-card textarea, .sl-dispute textarea { min-height: 110px; resize: vertical; }
.sl-review-form-card button, .sl-dispute button, .sl-inline-button { justify-self: start; display: inline-flex; padding: 11px 16px; border: 0; border-radius: 8px; background: #0b2d4d; color: #fff; font-weight: 800; cursor: default; }
.sl-review-rules, .sl-dispute p { margin: 0; color: #6b7d8a; font-size: .78rem; line-height: 1.5; }
.sl-star-input { direction: rtl; display: flex; justify-content: flex-end; gap: 2px; margin: 0; padding: 0; border: 0; }
.sl-star-input legend { direction: ltr; margin-bottom: 5px; color: #0b2d4d; font-size: .82rem; font-weight: 800; }
.sl-star-input input { position: absolute; opacity: 0; pointer-events: none; }
.sl-star-input label { color: #c9d2d7; font-size: 2rem; line-height: 1; cursor: default; }
.sl-star-input label:hover, .sl-star-input label:hover ~ label, .sl-star-input input:checked ~ label { color: #d78b19; }
.sl-star-input input:focus-visible + label { outline: 2px solid #0b6e78; outline-offset: 2px; }
.sl-review-list { display: grid; gap: 14px; }
.sl-review-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 10px; color: #647786; font-size: .8rem; }
.sl-review-meta strong { color: #0b2d4d; }
.sl-review-card > p { margin: 0; color: #425c70; line-height: 1.65; }
.sl-dispute { margin-top: 16px; border-top: 1px solid #e2eaee; padding-top: 13px; color: #5f7382; font-size: .82rem; }
.sl-dispute summary { cursor: default; font-weight: 800; }
.sl-dispute form { margin-top: 14px; padding: 15px; border-radius: 10px; background: #f7fafb; }
.sl-review-empty { text-align: center; color: #627887; }
.sl-result-copy .sl-rating { display: block; margin: 4px 0; font-size: .75rem; }
.sl-rating { color: #4e6475; font-size: .88rem; font-weight: 700; }
.sl-rating b { color: #d78b19; letter-spacing: .03em; }
.sl-rating small { color: #738491; font-weight: 600; }
.sl-rating.unrated { color: #738491; font-weight: 600; }
.sl-detail-content > .sl-rating { display: block; margin: -3px 0 12px; }
@media (max-width: 780px) {
  .sl-reviews-head { align-items: flex-start; flex-direction: column; }
  .sl-rating-summary { justify-items: start; }
  .sl-review-layout { grid-template-columns: 1fr; }
  .sl-review-form-card { position: static; }
}
.sl-footer-tagline {
  margin: .65rem 0 0;
  color: rgba(255,255,255,.78);
  font-size: .92rem;
}

/* Approved 2026 coastal map interface */
.explore-page .sl-app-frame {
  border-color: rgba(7,45,66,.13);
  border-radius: 22px;
  box-shadow: 0 24px 65px rgba(7,34,54,.15), 0 4px 12px rgba(7,34,54,.06);
}
.explore-page .sl-app-toolbar {
  grid-template-columns: minmax(300px,1fr) minmax(240px,.62fr) 132px 52px 132px;
  gap: 12px;
  padding: 14px 18px 11px;
  background: rgba(255,255,255,.985);
}
.explore-page .sl-app-toolbar .sl-search-box,
.explore-page .sl-app-toolbar .sl-location-field,
.explore-page .sl-app-toolbar .sl-radius-field {
  min-height: 48px;
  height: 48px;
  border: 1px solid #d7e5e9;
  border-radius: 13px;
  background: #fbfdfd;
  box-shadow: inset 0 1px 1px rgba(7,45,66,.025);
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.explore-page .sl-app-toolbar .sl-search-box:focus-within,
.explore-page .sl-app-toolbar .sl-location-field:focus-within,
.explore-page .sl-app-toolbar .sl-radius-field:focus-within {
  border-color: #159a9c;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(21,154,156,.12);
}
.explore-page .sl-control-icon {
  width: 20px;
  height: 20px;
  display: grid;
  flex: 0 0 20px;
  place-items: center;
  color: #148f96;
}
.explore-page .sl-control-icon svg,
.explore-page .sl-locate svg,
.explore-page .sl-filter-button svg,
.explore-page .sl-map-controls svg,
.explore-page .sl-map-legend svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.explore-page .sl-app-toolbar .sl-location-field::before { display:none; }
.explore-page .sl-app-toolbar input,
.explore-page .sl-app-toolbar select { color:#163b53;font-size:13px; }
.explore-page .sl-app-toolbar input::placeholder { color:#708594;opacity:1; }
.explore-page .sl-app-toolbar .sl-locate {
  position:relative;
  min-height:48px;
  height:48px;
  width:48px;
  padding:0;
  border:2px solid #fff;
  border-radius:50%;
  background:linear-gradient(145deg,#18a6a9,#08777e);
  color:#fff;
  box-shadow:0 0 0 1px rgba(8,119,126,.24),0 7px 18px rgba(8,119,126,.27);
}
.explore-page .sl-app-toolbar .sl-locate::after {
  content:"";
  position:absolute;
  inset:-6px;
  border:1px solid rgba(21,154,156,.25);
  border-radius:50%;
  pointer-events:none;
}
.explore-page .sl-app-toolbar .sl-locate:hover {
  transform:translateY(-1px);
  background:linear-gradient(145deg,#20b3b3,#086d75);
  box-shadow:0 0 0 4px rgba(21,154,156,.11),0 10px 22px rgba(8,119,126,.3);
}
.explore-page .sl-app-toolbar .sl-filter-button {
  position:relative;
  min-height:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 10px;
  border:1.5px solid #159a9c;
  border-radius:12px;
  background:#fff;
  color:#08777e;
  font-size:12px;
  font-weight:850;
  box-shadow:0 4px 12px rgba(7,45,66,.05);
}
.explore-page .sl-app-toolbar .sl-filter-button:hover {
  background:#effaf8;
  box-shadow:0 8px 18px rgba(7,119,126,.12);
  transform:translateY(-1px);
}
.explore-page .sl-app-toolbar .sl-filter-button b {
  min-width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#ff7166;
  color:#fff;
  box-shadow:0 3px 8px rgba(255,113,102,.24);
  font-size:11px;
}
.explore-page .sl-app-privacy { padding:0 20px 10px;color:#778b98; }
.explore-page .sl-app-tabs {
  width:40%;
  min-width:500px;
  border-color:#e1eaed;
}
.explore-page .sl-app-tabs .sl-mode-tab {
  min-height:51px;
  color:#496171;
  font-weight:800;
  transition:color .15s ease,background .15s ease;
}
.explore-page .sl-app-tabs .sl-mode-tab:hover { background:#f4fbfa;color:#08777e; }
.explore-page .sl-app-tabs .sl-mode-tab.active { color:#087f86;background:#f8fcfc; }
.explore-page .sl-app-tabs .sl-mode-tab.active::after {
  left:16px;
  right:16px;
  height:3px;
  background:#159a9c;
}
.explore-page .sl-app-body { grid-template-columns:40% 60%; }
.explore-page .sl-app-body .sl-results-panel { background:#fbfdfd;border-right-color:#dce7ea; }
.explore-page .sl-app-body .sl-panel-title {
  min-height:68px;
  padding:14px 18px 12px;
  background:#fff;
  border-bottom-color:#e1eaed;
}
.explore-page .sl-app-body .sl-panel-title h1 { color:#082d43;font-size:16px; }
.explore-page .sl-app-body .sl-panel-title p { color:#647c8b;font-size:10px; }
.explore-page .sl-app-body .sl-panel-title .sl-filter-button {
  min-height:36px;
  padding:0 13px;
  border:1px solid #159a9c;
  border-radius:10px;
  background:#fff;
  color:#08777e;
  font-size:10px;
  box-shadow:0 4px 10px rgba(7,45,66,.05);
}
.explore-page .sl-app-body .sl-result-list { padding:10px 14px 28px;background:#fbfdfd; }
.explore-page .sl-result-card {
  grid-template-columns:78px minmax(0,1fr);
  gap:13px;
  min-height:104px;
  margin-bottom:10px;
  padding:10px;
  border:1px solid #e0e9ec;
  border-radius:17px;
  background:#fff;
  box-shadow:0 3px 12px rgba(7,34,54,.045);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.explore-page .sl-result-card:hover {
  border-color:rgba(21,154,156,.48);
  box-shadow:0 14px 30px rgba(7,45,66,.105);
  transform:translateY(-1px);
}
.explore-page .sl-result-card.active {
  border-color:#159a9c;
  background:linear-gradient(90deg,#eaf8f5 0,#fff 42%);
  box-shadow:inset 4px 0 #159a9c,0 14px 30px rgba(7,45,66,.12);
  transform:none;
}
.explore-page .sl-result-visual {
  width:78px;
  height:78px;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(8,45,67,.06);
  box-shadow:0 6px 15px rgba(7,45,66,.09);
}
.explore-page .sl-result-visual img { width:100%;height:100%;object-fit:cover; }
.explore-page .sl-result-copy { padding-right:34px;align-self:center; }
.explore-page .sl-result-copy .tag {
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:3px 7px;
  border-radius:999px;
  background:#e2f5f3;
  color:#087f86;
  font-size:8px;
  font-weight:900;
  letter-spacing:.055em;
}
.explore-page .sl-result-card.type-restaurant .tag { background:#fff0e8;color:#d9573e; }
.explore-page .sl-result-card.type-outdoors .tag,.explore-page .sl-result-card.type-event .tag { background:#edf7ef;color:#398052; }
.explore-page .sl-result-card.type-arts .tag,.explore-page .sl-result-card.type-job .tag { background:#f1ecf7;color:#705294; }
.explore-page .sl-result-card.type-family .tag { background:#fff7e5;color:#9a6c1e; }
.explore-page .sl-result-card.type-nightlife .tag { background:#efeff8;color:#53578a; }
.explore-page .sl-result-card.type-shopping .tag { background:#e4f5f6;color:#087f86; }
.explore-page .sl-result-card.type-wellness .tag { background:#e5f5ef;color:#347862; }
.explore-page .sl-result-card.type-marine .tag { background:#e6f3f8;color:#287494; }
.explore-page .sl-result-copy h2 { margin-top:5px;color:#082d43;font-family:var(--sl-display);font-size:18px;line-height:1.05; }
.explore-page .sl-result-copy p { margin-top:3px;color:#657d8b;font-size:10px; }
.explore-page .sl-result-meta { margin-top:5px;color:#087f86;font-size:10px;font-weight:800; }
.explore-page .sl-result-meta span+span::before { color:#a9bac2; }
.explore-page .sl-save-card {
  top:10px;
  right:10px;
  width:34px;
  height:34px;
  border:1px solid #dce6e9;
  border-radius:50%;
  background:#fff;
  color:#ff7166;
  box-shadow:0 5px 14px rgba(7,45,66,.09);
  font-size:18px;
}
.explore-page .sl-save-card:hover,.explore-page .sl-save-card.saved {
  border-color:#ffaaa3;
  background:#fff4f2;
  color:#f35e53;
  transform:scale(1.06);
}
.explore-page .sl-map-wrap::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:400;
  background:linear-gradient(90deg,rgba(8,45,67,.045),transparent 20% 76%,rgba(5,47,64,.06));
  pointer-events:none;
}
.explore-page .sl-map-layer-switch {
  top:16px;
  right:18px;
  padding:4px;
  border:1px solid rgba(255,255,255,.82);
  border-radius:13px;
  background:rgba(255,255,255,.92);
  box-shadow:0 10px 28px rgba(7,34,54,.18);
  backdrop-filter:blur(16px) saturate(1.25);
}
.explore-page .sl-map-layer-switch button { min-height:34px;padding:0 14px;border-radius:9px;color:#35576b;font-size:10px; }
.explore-page .sl-map-layer-switch button.active { background:linear-gradient(145deg,#18a6a9,#08777e);color:#fff;box-shadow:0 5px 13px rgba(8,119,126,.26); }
.explore-page .sl-map-legend {
  top:auto;
  right:18px;
  bottom:20px;
  min-width:118px;
  border:1px solid rgba(255,255,255,.82);
  border-radius:12px;
  background:rgba(255,255,255,.92);
  color:#08777e;
  box-shadow:0 10px 28px rgba(7,34,54,.17);
  backdrop-filter:blur(16px) saturate(1.25);
}
.explore-page .sl-map-legend summary { justify-content:center;gap:8px;min-height:40px;padding:0 13px;color:#08777e;font-size:10px; }
.explore-page .sl-map-legend summary svg { width:17px;height:17px; }
.explore-page .sl-map-legend summary>span { display:none; }
.explore-page .sl-map-legend[open] { width:245px;border-radius:14px; }
.explore-page .sl-map-legend>div { padding:3px 14px 13px;color:#476476;font-size:9px; }
.explore-page .sl-map-controls {
  z-index:510;
  top:82px;
  right:20px;
  bottom:auto;
  display:flex;
  flex-direction:column;
  gap:0;
  align-items:center;
}
.explore-page .sl-map-controls button {
  width:43px;
  height:43px;
  border:0;
  border-radius:0;
  background:rgba(255,255,255,.94);
  color:#244f65;
  box-shadow:none;
  backdrop-filter:blur(14px);
  font-size:20px;
  font-weight:700;
}
.explore-page .sl-map-controls button:first-child { margin-top:62px;border-radius:11px 11px 0 0;box-shadow:0 0 0 1px rgba(255,255,255,.8),0 10px 26px rgba(7,34,54,.2); }
.explore-page .sl-map-controls button:nth-child(2) { border-top:1px solid #dce6e9;border-bottom:1px solid #dce6e9; }
.explore-page .sl-map-controls button:nth-child(3) { border-radius:0 0 11px 11px;box-shadow:0 12px 23px rgba(7,34,54,.12); }
.explore-page .sl-map-controls button:hover { z-index:1;background:#edf9f7;color:#087f86; }
.explore-page .sl-map-controls button.primary {
  position:absolute;
  top:0;
  width:48px;
  height:48px;
  border:2px solid #fff;
  border-radius:50%;
  background:linear-gradient(145deg,#18a6a9,#08777e);
  color:#fff;
  box-shadow:0 0 0 9px rgba(8,119,126,.2),0 0 0 10px rgba(255,255,255,.32),0 10px 25px rgba(7,45,66,.28);
}
.explore-page .sl-map-controls button.primary:hover { background:linear-gradient(145deg,#20b3b3,#086d75);transform:scale(1.04); }
.explore-page .sl-map-status {
  z-index:508;
  left:18px;
  bottom:20px;
  max-width:330px;
  border:1px solid rgba(255,255,255,.82);
  background:rgba(255,255,255,.9);
  box-shadow:0 12px 30px rgba(7,34,54,.15);
  transition:opacity .16s ease,transform .16s ease;
}
.explore-page .sl-map-wrap.has-preview .sl-map-status { opacity:0;transform:translateY(6px);pointer-events:none; }
.explore-page .sl-map-preview {
  position:absolute;
  z-index:511;
  left:20px;
  bottom:20px;
  width:min(430px,calc(100% - 104px));
  min-height:146px;
  display:grid;
  grid-template-columns:112px minmax(0,1fr) 38px;
  gap:14px;
  align-items:center;
  padding:12px;
  border:1px solid rgba(255,255,255,.86);
  border-radius:18px;
  background:rgba(255,255,255,.95);
  box-shadow:0 18px 45px rgba(7,34,54,.24);
  backdrop-filter:blur(18px) saturate(1.3);
  animation:sl-map-preview-in .2s cubic-bezier(.2,.8,.2,1) both;
}
.explore-page .sl-map-preview[hidden] { display:none; }
.explore-page .sl-map-preview.premium { border-color:#c9ad5b;background:radial-gradient(circle at 0 0,rgba(239,210,124,.17),transparent 46%),#fff;box-shadow:inset 3px 0 #a97d22,0 18px 44px rgba(42,34,15,.2); }
@keyframes sl-map-preview-in { from{opacity:0;transform:translateY(9px) scale(.985)} to{opacity:1;transform:none} }
.explore-page .sl-map-preview-visual {
  width:112px;
  height:112px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:14px;
  background:linear-gradient(145deg,#ddf3ee,#bfddd9);
  color:#0b6470;
  box-shadow:0 7px 18px rgba(7,45,66,.13);
  font:700 28px/1 var(--sl-display);
}
.explore-page .sl-map-preview-visual img { width:100%;height:100%;object-fit:cover; }
.explore-page .sl-map-preview-copy { min-width:0;align-self:center; }
.explore-page .sl-map-preview-copy .tag {
  display:inline-flex;
  max-width:100%;
  padding:4px 8px;
  overflow:hidden;
  border-radius:999px;
  background:#fff0e8;
  color:#d9573e;
  font-size:8px;
  font-weight:900;
  letter-spacing:.05em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.explore-page .sl-map-preview-copy h3 { margin:5px 0 2px;color:#082d43;font-family:var(--sl-display);font-size:20px;line-height:1.05; }
.explore-page .sl-map-preview-copy p { margin:0;color:#607987;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.explore-page .sl-map-preview-copy .sl-rating { display:block;margin-top:6px;font-size:10px; }
.explore-page .sl-map-preview-distance { display:block;margin-top:6px;color:#087f86;font-size:10px;font-weight:850; }
.explore-page .sl-map-preview-actions { display:flex;align-items:center;gap:8px;margin-top:9px; }
.explore-page .sl-map-preview-actions button {
  min-height:34px;
  padding:0 13px;
  border:0;
  border-radius:9px;
  background:linear-gradient(145deg,#159a9c,#08777e);
  color:#fff;
  box-shadow:0 5px 13px rgba(8,119,126,.22);
  font:800 10px/1 var(--sl-ui);
}
.explore-page .sl-map-preview-actions button:hover { transform:translateY(-1px);box-shadow:0 8px 17px rgba(8,119,126,.28); }
.explore-page .sl-map-preview-save {
  align-self:start;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid #dce6e9;
  border-radius:50%;
  background:#fff;
  color:#ff7166;
  box-shadow:0 5px 14px rgba(7,45,66,.09);
  font-size:19px;
}
.explore-page .sl-map-preview-save.saved { background:#fff3f1;color:#ed5d52; }
.explore-page .sl-map-preview-close {
  position:absolute;
  top:-9px;
  right:-9px;
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  padding:0;
  border:2px solid #fff;
  border-radius:50%;
  background:#082d43;
  color:#fff;
  box-shadow:0 5px 12px rgba(7,34,54,.2);
  font-size:15px;
  line-height:1;
}
.explore-page .sl-pin {
  width:34px;
  height:34px;
  border:3px solid #fff;
  border-radius:50% 50% 50% 12px;
  box-shadow:0 0 0 1px rgba(8,45,67,.16),0 7px 17px rgba(7,34,54,.27),inset 0 1px 0 rgba(255,255,255,.3);
}
.explore-page .sl-pin span { width:19px;height:19px;display:grid;place-items:center;max-width:none; }
.explore-page .sl-pin svg { width:18px;height:18px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round; }
.explore-page .sl-pin .sl-pin-logo {
  width:23px;
  height:23px;
  overflow:hidden;
  border:1px solid rgba(8,45,67,.12);
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 4px rgba(7,34,54,.2);
}
.explore-page .sl-pin .sl-pin-logo img {
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  padding:2px;
  border-radius:50%;
  background:#fff;
}
.explore-page .sl-pin .sl-pin-photo img { object-fit:cover;padding:0; }
.explore-page .sl-pin.selected {
  width:42px;
  height:42px;
  box-shadow:0 0 0 3px rgba(255,255,255,.96),0 0 0 7px rgba(255,113,102,.35),0 0 25px rgba(255,113,102,.7),0 12px 25px rgba(7,34,54,.3);
  animation:sl-selected-marker 1.9s ease-in-out infinite;
}
.explore-page .sl-pin.selected .sl-pin-logo { width:30px;height:30px; }
.explore-page .sl-pin.selected svg { width:21px;height:21px; }
.explore-page .leaflet-control-attribution {
  padding:2px 5px;
  border-radius:6px 0 0 0;
  background:rgba(255,255,255,.62);
  color:rgba(28,57,72,.68);
  font-size:8px;
  line-height:1.25;
  backdrop-filter:blur(3px);
  transition:background .15s ease,color .15s ease,opacity .15s ease;
}
.explore-page .leaflet-control-attribution a { color:rgba(5,92,121,.75); }
.explore-page .leaflet-control-attribution:hover,
.explore-page .leaflet-control-attribution:focus-within {
  background:rgba(255,255,255,.94);
  color:#294b5f;
}
.explore-page .leaflet-control-attribution:hover a,
.explore-page .leaflet-control-attribution:focus-within a { color:#075f7c; }
@keyframes sl-selected-marker { 50%{box-shadow:0 0 0 3px rgba(255,255,255,.96),0 0 0 11px rgba(255,113,102,.12),0 0 30px rgba(255,113,102,.5),0 12px 25px rgba(7,34,54,.3)} }
.explore-page .sl-cluster {
  width:52px;
  height:52px;
  border:3px solid #fff;
  box-shadow:0 0 0 2px rgba(21,154,156,.25),0 10px 24px rgba(7,34,54,.28);
}
.explore-page .sl-cluster b { font-size:17px; }
.explore-page .sl-cluster small { font-size:6px; }
.explore-page .sl-cluster.has-identities { --cluster-ring:#159a9c;width:var(--cluster-w);height:var(--cluster-h);position:relative;display:block;isolation:isolate;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none; }
.explore-page .sl-cluster.has-identities::before { content:"";position:absolute;z-index:-1;inset:8px;border-radius:50%;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--cluster-ring) 30%,transparent) 0,color-mix(in srgb,var(--cluster-ring) 12%,transparent) 46%,transparent 74%);filter:blur(7px);opacity:.85;pointer-events:none; }
.explore-page .sl-cluster.has-identities.type-restaurant { --cluster-ring:#d45b48; }
.explore-page .sl-cluster.has-identities.type-outdoors,.explore-page .sl-cluster.has-identities.type-event { --cluster-ring:#3e8b60; }
.explore-page .sl-cluster.has-identities.type-arts,.explore-page .sl-cluster.has-identities.type-job { --cluster-ring:#745a98; }
.explore-page .sl-cluster.has-identities.type-family,.explore-page .sl-cluster.has-identities.type-recreation { --cluster-ring:#c98a2c; }
.explore-page .sl-cluster.has-identities.type-shopping { --cluster-ring:#3f7899; }
.explore-page .sl-cluster.has-identities.type-history { --cluster-ring:#76519b; }
.explore-page .sl-cluster.has-identities.type-landmark { --cluster-ring:#356f9c; }
.explore-page .sl-cluster.has-identities.type-attraction { --cluster-ring:#c95460; }
.explore-page .sl-cluster.has-identities.type-nonprofit { --cluster-ring:#2f8774; }
.explore-page .sl-cluster.has-identities.type-church { --cluster-ring:#7559a6; }
.explore-page .sl-cluster.has-identities.type-hospital { --cluster-ring:#c74456; }
.explore-page .sl-cluster.has-identities.type-gas { --cluster-ring:#48687e; }
.explore-page .sl-cluster.has-identities.type-automotive { --cluster-ring:#596b78; }
.explore-page .sl-cluster.has-identities.type-aviation { --cluster-ring:#4f83a8; }
.explore-page .sl-cluster.has-identities.type-library { --cluster-ring:#56789c; }
.explore-page .sl-cluster.has-identities.type-civic { --cluster-ring:#6c7480; }
.explore-page .sl-cluster.has-identities.type-service { --cluster-ring:#776f68; }
.explore-page .sl-cluster.has-identities.type-pet { --cluster-ring:#9a6182; }
.sl-cluster-logos { width:100%;height:100%;position:relative;display:block;filter:drop-shadow(0 6px 7px rgba(7,34,54,.2));transition:transform .2s cubic-bezier(.2,.8,.2,1); }
.sl-cluster-logo { width:var(--s);height:var(--s);position:absolute;left:var(--x);top:var(--y);z-index:2;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.96);border-radius:50%;background:linear-gradient(145deg,#fff,#edf3f5);box-shadow:inset 0 0 0 1px rgba(255,255,255,.72),0 0 0 1px color-mix(in srgb,var(--cluster-ring) 72%,#fff),0 2px 5px rgba(7,34,54,.27);transition:transform .18s ease,filter .18s ease,box-shadow .18s ease; }
.sl-cluster-logo.has-deal { z-index:5;overflow:visible;border-color:#fff7ce;box-shadow:0 0 0 2px #e5b62f,0 0 10px 3px rgba(248,194,52,.92),0 2px 6px rgba(70,46,0,.3);animation:sl-cluster-deal 1.8s ease-in-out infinite; }
.sl-cluster-logo.has-deal::after { content:"$";width:max(6px,calc(var(--s) * .42));height:max(6px,calc(var(--s) * .42));position:absolute;right:-3px;bottom:-3px;display:grid;place-items:center;border:1px solid #fff;border-radius:50%;background:linear-gradient(145deg,#ffe27a,#bd7c00);color:#4e3100;font:900 max(5px,calc(var(--s) * .3))/1 Inter,sans-serif; }
.sl-cluster-logo.premium:not(.has-deal) { z-index:4;box-shadow:0 0 0 2px #51b8b0,0 0 8px rgba(81,184,176,.75),0 2px 6px rgba(7,34,54,.26); }
.explore-page .sl-cluster.has-identities:hover .sl-cluster-logos { transform:scale(1.045); }
.explore-page .sl-cluster.has-identities:hover .sl-cluster-logo { transform:scale(1.1);filter:saturate(1.1); }
.explore-page .sl-cluster-logo img { width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;display:block;object-fit:contain;padding:1px;border-radius:50%;background:rgba(255,255,255,.96); }
.sl-cluster-logo img[src*="/photos/"] { object-fit:cover;padding:0; }
.sl-cluster-count { min-width:48px;height:25px;position:absolute;left:50%;bottom:-17px;z-index:8;display:flex;align-items:center;justify-content:center;gap:3px;padding:0 7px;border:1px solid rgba(255,255,255,.96);border-radius:999px;background:radial-gradient(circle at 35% 20%,#215d70,#082d43 68%);color:#fff;box-shadow:0 0 0 1px rgba(194,164,86,.68),0 4px 10px rgba(7,34,54,.32);font-size:9px!important;font-weight:900;line-height:1!important;transform:translateX(-50%);white-space:nowrap; }
.sl-cluster-count strong { color:#fff;font-size:9px;line-height:1; }
.sl-cluster-count small { color:#d9e8ed;font-size:6px!important;font-weight:800;letter-spacing:.04em;text-transform:uppercase; }
@keyframes sl-cluster-deal { 50% { box-shadow:0 0 0 2px #f1c84f,0 0 14px 5px rgba(248,194,52,.72),0 2px 6px rgba(70,46,0,.3); } }
@media (prefers-reduced-motion:reduce) { .sl-cluster-logo { transition:none;animation:none; } }
.explore-page .sl-origin {
  background:#fff;
  border-color:#159a9c;
  box-shadow:0 0 0 6px rgba(21,154,156,.16),0 7px 18px rgba(7,45,66,.25);
}
.explore-page .sl-origin::after { background:#159a9c; }
.explore-page .leaflet-popup-content-wrapper { border-radius:14px;box-shadow:0 14px 36px rgba(7,34,54,.22); }

@media (min-width:961px) {
  .explore-page .sl-app-body { height:clamp(620px,66vh,720px); }
}
@media (max-width:1100px) and (min-width:961px) {
  .explore-page .sl-app-toolbar { grid-template-columns:minmax(250px,1fr) minmax(205px,.7fr) 114px 48px 116px;gap:9px;padding-inline:13px; }
  .explore-page .sl-app-tabs { width:43%;min-width:470px; }
  .explore-page .sl-app-body { grid-template-columns:43% 57%; }
}
@media (max-width:960px) {
  .explore-page .sl-app-toolbar { grid-template-columns:minmax(0,1fr) 48px;gap:9px;padding:11px 12px 8px; }
  .explore-page .sl-app-toolbar .sl-search-box { grid-column:1; }
  .explore-page .sl-app-toolbar .sl-location-field { grid-column:1 / -1;grid-row:2; }
  .explore-page .sl-app-toolbar .sl-radius-field { grid-column:1;grid-row:3; }
  .explore-page .sl-app-toolbar .sl-locate { grid-column:2;grid-row:1;width:48px; }
  .explore-page .sl-app-toolbar .sl-filter-button { grid-column:2;grid-row:3;width:48px;padding:0; }
  .explore-page .sl-app-toolbar .sl-filter-button span { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
  .explore-page .sl-app-toolbar .sl-filter-button b { position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;border:2px solid #fff;border-radius:7px;font-size:9px; }
  .explore-page .sl-app-tabs { width:100%;min-width:0; }
  .explore-page .sl-app-body { display:block; }
  .explore-page .sl-map-layer-switch { top:66px;left:12px;right:auto; }
  .explore-page .sl-map-legend { top:114px;bottom:auto;left:12px;right:auto; }
  .explore-page .sl-map-controls { top:12px;right:12px; }
  .explore-page .sl-map-controls button:first-child { margin-top:60px; }
  .explore-page .sl-map-preview { left:12px;right:12px;bottom:144px;width:auto;min-height:118px;grid-template-columns:86px minmax(0,1fr) 34px;gap:10px;padding:10px;border-radius:16px; }
  .explore-page .sl-map-preview-visual { width:86px;height:86px;border-radius:12px; }
  .explore-page .sl-map-preview-copy h3 { font-size:17px; }
  .explore-page .sl-map-preview-copy .sl-rating { display:none; }
  .explore-page .sl-map-preview-actions { margin-top:7px; }
  .explore-page .sl-map-preview-actions button { min-height:31px; }
  .explore-page .sl-map-status { left:12px;bottom:144px;max-width:calc(100% - 74px); }
}
@media (max-width:600px) {
  .explore-page .sl-result-card { grid-template-columns:70px minmax(0,1fr);min-height:94px;padding:9px; }
  .explore-page .sl-result-visual { width:70px;height:70px; }
  .explore-page .sl-result-copy h2 { font-size:16px; }
  .explore-page .sl-map-preview { grid-template-columns:74px minmax(0,1fr) 32px; }
  .explore-page .sl-map-preview-visual { width:74px;height:74px; }
  .explore-page .sl-map-preview-copy .tag { max-width:150px; }
  .explore-page .sl-map-preview-copy p { max-width:170px; }
  .explore-page .sl-map-preview-distance { margin-top:4px; }
}
@media (prefers-reduced-motion:reduce) {
  .explore-page .sl-pin.selected,.explore-page .sl-map-preview { animation:none; }
}
/* Expanded StuartLocal place taxonomy */
.sl-map-legend span.history{background:#76519b}.sl-map-legend span.landmark{background:#356f9c}.sl-map-legend span.recreation{background:#d4862d}.sl-map-legend span.attraction{background:#d95e67}
.sl-map-legend[open],.explore-page .sl-map-legend[open]{width:270px}
.sl-pin.type-history{background:linear-gradient(145deg,#9273ad,#684f85)}
.sl-pin.type-landmark{background:linear-gradient(145deg,#5a91b5,#356c91)}
.sl-pin.type-recreation{background:linear-gradient(145deg,#dc9f47,#aa7126)}
.sl-pin.type-attraction{background:linear-gradient(145deg,#de747c,#ad4852)}
.sl-cluster.type-history{background:linear-gradient(145deg,#8765a4,#5f447e)}
.sl-cluster.type-landmark{background:linear-gradient(145deg,#4e85aa,#2e6285)}
.sl-cluster.type-recreation{background:linear-gradient(145deg,#cd9139,#94631d)}
.sl-cluster.type-attraction{background:linear-gradient(145deg,#ce6871,#9a3f49)}
.sl-result-card.type-history .sl-result-visual{background:linear-gradient(145deg,#f5eff9,#e2d2ed);color:#76519b}
.sl-result-card.type-landmark .sl-result-visual{background:linear-gradient(145deg,#edf5fb,#cfe1ef);color:#356f9c}
.sl-result-card.type-recreation .sl-result-visual{background:linear-gradient(145deg,#fff7e9,#f2ddb8);color:#9a681d}
.sl-result-card.type-attraction .sl-result-visual{background:linear-gradient(145deg,#fff0f1,#f4d0d3);color:#a6434d}
.explore-page .sl-result-card.type-history .tag{background:#f3ecf8;color:#76519b}
.explore-page .sl-result-card.type-landmark .tag{background:#eaf3f9;color:#356f9c}

/* Category identities, planner choices, deals, and premium placements */
.explore-page .sl-app-tabs .sl-mode-tab {
  --tab-accent:#087f86;
  --tab-soft:#f4fbfa;
  --tab-bg:linear-gradient(145deg,#fbfffe,#e5f3f1);
  position:relative;
  isolation:isolate;
  overflow:hidden;
  cursor:default;
  background:var(--tab-bg);
  transform:none;
  will-change:auto;
  transition:none;
}
.explore-page .sl-app-tabs .sl-mode-tab[data-category="places"] { --tab-accent:#075f66;--tab-soft:#edf9f7;--tab-bg:linear-gradient(145deg,#fbfffe,#e2f3ef);color:#075b62;box-shadow:inset 0 0 0 1px rgba(31,132,128,.16),inset 0 1px 0 #fff; }
.explore-page .sl-app-tabs .sl-mode-tab[data-category="jobs"] { --tab-accent:#2769a7;--tab-soft:#edf5fc;--tab-bg:radial-gradient(circle at 34% 0,rgba(255,255,255,.96),transparent 44%),linear-gradient(135deg,#f9fcff,#deedf9);color:#235f97;box-shadow:inset 0 0 0 1px rgba(39,105,167,.18),inset 0 1px 0 #fff,0 5px 14px rgba(39,105,167,.08); }
.explore-page .sl-app-tabs .sl-mode-tab[data-category="deals"] { --tab-accent:#72500b;--tab-soft:#fff9e8;--tab-bg:radial-gradient(circle at 32% 0,rgba(255,255,255,.95),transparent 43%),linear-gradient(135deg,#fffdf5 0,#f8e8ad 52%,#fff8df 100%);color:#67470a;box-shadow:inset 0 0 0 1px rgba(167,119,25,.28),inset 0 1px 0 #fff,0 5px 14px rgba(126,87,13,.1); }
.explore-page .sl-app-tabs .sl-mode-tab[data-category="events"] { --tab-accent:#8d3152;--tab-soft:#fff5f8;--tab-bg:radial-gradient(circle at 34% 0,rgba(255,255,255,.96),transparent 44%),linear-gradient(135deg,#fffafd,#f5e3eb);color:#852e4c;box-shadow:inset 0 0 0 1px rgba(149,55,88,.17),inset 0 1px 0 #fff,0 5px 14px rgba(116,38,70,.08); }
.explore-page .sl-app-tabs .sl-mode-tab[data-show-plan] { --tab-accent:#6250a7;--tab-soft:#f3f0fb;--tab-bg:radial-gradient(circle at 34% 0,rgba(255,255,255,.96),transparent 44%),linear-gradient(135deg,#fcfbff,#e9e4f8);color:#594895;box-shadow:inset 0 0 0 1px rgba(98,80,167,.2),inset 0 1px 0 #fff,0 5px 14px rgba(98,80,167,.09); }
.explore-page .sl-app-tabs .sl-mode-tab:hover { color:inherit;background:var(--tab-bg);filter:none;transform:none;z-index:auto; }
.explore-page .sl-app-tabs .sl-mode-tab:active { color:inherit;background:var(--tab-bg);filter:none;transform:none;transition:none; }
.explore-page .sl-app-tabs .sl-mode-tab:focus-visible { z-index:2;outline:3px solid color-mix(in srgb,var(--tab-accent) 34%,#fff);outline-offset:-3px; }
.explore-page .sl-app-tabs .sl-mode-tab.active { color:var(--tab-accent);background:var(--tab-bg);filter:none; }
.explore-page .sl-app-tabs .sl-mode-tab.active::after { background:var(--tab-accent); }
.explore-page .sl-app-tabs .sl-mode-tab::before { content:"";position:absolute;left:13px;right:13px;top:5px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.96),transparent);pointer-events:none; }
.explore-page .sl-app-tabs .sl-mode-tab[data-category="places"] span { color:#087b7c;filter:drop-shadow(0 2px 4px rgba(8,123,124,.2)); }
.explore-page .sl-app-tabs .sl-mode-tab[data-category="jobs"] span { color:#2769a7;filter:drop-shadow(0 2px 5px rgba(39,105,167,.2)); }
.explore-page .sl-app-tabs .sl-mode-tab[data-category="deals"] span { color:#9a6b0c;filter:drop-shadow(0 2px 5px rgba(196,145,31,.32)); }
.explore-page .sl-app-tabs .sl-mode-tab[data-category="events"] span { color:#a73b60;filter:drop-shadow(0 2px 5px rgba(167,59,96,.22)); }
.explore-page .sl-app-tabs .sl-mode-tab[data-show-plan] span { color:#6250a7;filter:drop-shadow(0 2px 5px rgba(98,80,167,.2)); }
.explore-page .sl-app-tabs .sl-mode-tab > * { pointer-events:none; }
.explore-page .sl-app-tabs .sl-mode-tab span { transform:none;transition:none; }
@media (prefers-reduced-motion:reduce) {
  .explore-page .sl-app-tabs .sl-mode-tab,
  .explore-page .sl-app-tabs .sl-mode-tab span { transition:none; }
}

.sl-place-quickbar { min-height:50px;display:flex;align-items:center;gap:12px;padding:8px 14px;border-top:1px solid rgba(11,45,77,.07);border-bottom:1px solid #dce7eb;background:linear-gradient(180deg,#fbfdfd,#f5f9fa);box-shadow:inset 0 1px 0 #fff;animation:sl-place-quickbar-in .2s cubic-bezier(.2,.8,.2,1) both; }
.sl-place-quickbar[hidden] { display:none; }
.sl-place-quickbar-title { flex:0 0 auto;color:#657b89;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase; }
.sl-place-quickbar-scroll { min-width:0;display:flex;align-items:center;gap:7px;overflow-x:auto;padding:2px 2px 4px;scrollbar-width:thin; }
.sl-place-quickbar button { min-height:31px;flex:0 0 auto;padding:6px 11px;border:1px solid #d5e1e5;border-radius:999px;background:#fff;color:#526a79;box-shadow:0 2px 7px rgba(7,34,54,.04);font:800 10px/1 Inter,sans-serif;cursor: default;transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease; }
.sl-place-quickbar button:hover { transform:translateY(-1px);border-color:#8fbfbd;color:#075f66;box-shadow:0 5px 11px rgba(7,82,88,.1); }
.sl-place-quickbar button.active { border-color:#148f8c;background:linear-gradient(145deg,#f9fffe,#dff3ef);color:#075f66;box-shadow:inset 0 0 0 1px rgba(20,143,140,.14),0 4px 10px rgba(7,82,88,.09); }
.sl-place-quickbar button.featured { border-color:#d3ba70;background:linear-gradient(145deg,#fffef9,#f8efd3);color:#6d5015;box-shadow:inset 0 1px 0 #fff,0 4px 11px rgba(118,81,10,.09); }
.sl-place-quickbar button.featured.active { border-color:#ae8428;background:linear-gradient(145deg,#fffdf4,#edd99d);box-shadow:inset 0 0 0 1px rgba(174,132,40,.18),0 5px 14px rgba(118,81,10,.16); }
.sl-place-quickbar button.featured span { color:#b48928; }
.sl-place-quickbar button.featured b { min-width:17px;height:17px;display:inline-grid;place-items:center;margin-left:3px;padding:0 4px;border-radius:999px;background:#153b4d;color:#fff;font-size:8px; }
@keyframes sl-place-quickbar-in { from { opacity:0;transform:translateY(-7px); } to { opacity:1;transform:none; } }
@media (max-width:960px) { .sl-place-quickbar { gap:8px;padding-inline:11px; }.sl-place-quickbar-title { display:none; } }

.sl-plan-choice-card { margin:18px 0 4px;padding:17px;border:1px solid #d6e5e8;border-radius:17px;background:linear-gradient(145deg,#f7fbfc,#edf8f7);box-shadow:inset 0 1px 0 rgba(255,255,255,.9); }
.sl-plan-choice-heading { margin-bottom:13px; }
.sl-plan-choice-heading h3 { margin:4px 0 3px;color:#0b2d4d;font-size:17px; }
.sl-plan-choice-heading p { margin:0;color:#607687;font-size:11px;line-height:1.45; }
.sl-plan-choice-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.sl-plan-choice-mode { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:13px 0 0;padding:0;border:0; }
.sl-plan-choice-mode legend { grid-column:1/-1;margin-bottom:7px;color:#0b2d4d;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase; }
.sl-plan-choice-mode label { display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid #d4e0e5;border-radius:12px;background:#fff;cursor: default; }
.sl-plan-choice-mode label:has(input:checked) { border-color:#159a9c;background:#eaf8f6;box-shadow:inset 0 0 0 1px #159a9c; }
.sl-plan-choice-mode input { margin-top:2px;accent-color:#087f86; }
.sl-plan-choice-mode span { display:grid;gap:2px; }
.sl-plan-choice-mode b { color:#0b2d4d;font-size:11px; }
.sl-plan-choice-mode small { color:#687d8b;font-size:9px;line-height:1.35; }
.sl-plan-place-field { margin-top:10px; }
.sl-plan-place-field[hidden] { display:none; }
@media (max-width:600px) { .sl-plan-choice-grid,.sl-plan-choice-mode { grid-template-columns:1fr; } }

.explore-page .sl-result-card.premium { position:relative;overflow:hidden;border-color:#cdb46c;background:radial-gradient(circle at 0 0,rgba(240,214,139,.2),transparent 42%),linear-gradient(105deg,#fffdf8 0,#fff 58%,#fbf7ea);box-shadow:inset 4px 0 #aa8025,inset 0 1px 0 #fff,0 10px 25px rgba(62,46,14,.11); }
.explore-page .sl-result-card.premium::after { content:"";position:absolute;top:0;right:0;width:80px;height:1px;background:linear-gradient(90deg,transparent,#c29a3e); }
.explore-page .sl-result-card.premium .tag.sponsored { border:1px solid rgba(142,103,25,.22);background:linear-gradient(145deg,#fff9e8,#ead79d);color:#5f4512;box-shadow:inset 0 1px 0 #fff,0 3px 8px rgba(95,69,18,.11);letter-spacing:.07em; }
.explore-page .sl-rating-pill { width:max-content;display:inline-flex!important;align-items:center;gap:4px;margin:5px 0 3px!important;padding:4px 8px;border:1px solid #dcc77e;border-radius:999px;background:linear-gradient(145deg,#fffdf6,#f8efd3);color:#18394a;font-size:10px!important;font-weight:850;box-shadow:inset 0 1px 0 #fff,0 3px 8px rgba(82,58,11,.07); }
.explore-page .sl-rating-pill b { color:#b47a08;font-size:11px;line-height:1; }
.explore-page .sl-rating-pill strong { color:#17394a;font-size:10px; }
.explore-page .sl-rating-pill small { color:#6b6655;font-size:8px; }
.explore-page .sl-rating-pill.unrated { border-color:#d8e2e6;background:#f6f9fa;color:#70818c;box-shadow:none; }
.explore-page .sl-detail-visual img { width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;padding:12px!important;background:#fff!important; }
.sl-detail-rating-link { width:max-content;display:grid;gap:2px;margin:-3px 0 12px;text-decoration:none; }
.sl-detail-rating-link .sl-rating { margin:0; }
.sl-detail-rating-link>small { color:#087f86;font-size:9px;font-weight:850;text-decoration:underline;text-underline-offset:3px; }
.sl-detail-actions .review { border-color:#d1b458;background:linear-gradient(145deg,#fffdf5,#f2e2aa);color:#65490d; }
.sl-detail-review-preview { margin-top:22px;padding-top:18px;border-top:1px solid #dce5e9; }
.sl-detail-review-head { display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px; }
.sl-detail-review-head h3 { margin:3px 0 0;color:#0b2d4d;font:700 24px/1.05 "Cormorant Garamond",Georgia,serif; }
.sl-detail-review-head>a { color:#087f86;font-size:10px;font-weight:850; }
.sl-detail-review-list { display:grid;gap:9px; }
.sl-detail-review-list article { padding:12px;border:1px solid #dce5e9;border-radius:13px;background:#f9fbfc; }
.sl-detail-review-meta { display:flex;align-items:center;gap:7px;margin-bottom:7px;font-size:10px; }
.sl-detail-review-meta img,.sl-detail-review-meta>span { width:27px;height:27px;display:grid;place-items:center;border-radius:50%;object-fit:cover;background:#dcefed;color:#08777e;font-weight:900; }
.sl-detail-review-meta a { color:#12384c;font-weight:850; }
.sl-detail-review-meta b { margin-left:auto;color:#aa7206; }
.sl-detail-review-list h4 { margin:0 0 4px;color:#17394a;font-size:12px; }
.sl-detail-review-list article>p,.sl-detail-review-empty { margin:0;color:#5d7381;font-size:10px;line-height:1.5; }
.sl-listing-hero-image { width:100%;height:min(430px,55vw);display:block;object-fit:contain;object-position:center;padding:18px;border:1px solid #e0e7ea;border-radius:12px;background:#fff;margin-bottom:22px; }
.sl-review-avatar { width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:50%;object-fit:cover;background:#dcefed;color:#08777e;font-weight:900; }
.sl-review-author { color:#0b2d4d;text-decoration:none; }
.sl-review-author:hover { text-decoration:underline; }

/* Crawlable local discovery directories. */
.sl-discover-hero { min-height: 360px; }
.sl-discover-hero .sl-detail-actions { justify-content: center; margin-top: 22px; }
.sl-discover-summary { display: grid; grid-template-columns: auto auto minmax(280px,1fr); gap: 14px; align-items: stretch; margin-bottom: 18px; }
.sl-discover-summary > div { min-width: 138px; display: grid; place-items: center; padding: 18px; border: 1px solid #cfe0e4; border-radius: 14px; background: linear-gradient(145deg,#f8fcfc,#edf7f5); color: #0b5f66; }
.sl-discover-summary strong { font: 700 30px/1 Georgia,serif; }
.sl-discover-summary span { margin-top: 5px; color: #607581; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.sl-discover-summary p { margin: 0; padding: 18px; border-left: 3px solid #ef8d6c; background: #fff8f5; color: #536a79; line-height: 1.6; }
.sl-discover-cities { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 24px; color: #496573; }
.sl-discover-cities > span { padding: 7px 10px; border: 1px solid #d7e4e7; border-radius: 999px; background: #fff; font-size: 12px; }
.sl-discover-cities small { color: #1c8088; font-weight: 900; }
.sl-discover-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.sl-discover-card { min-width: 0; display: flex; flex-direction: column; padding: 20px; border: 1px solid #dbe6e9; border-radius: 16px; background: #fff; box-shadow: 0 7px 22px rgba(11,45,77,.055); }
.sl-discover-card h2 { margin: 6px 0 8px; font: 700 23px/1.15 Georgia,serif; }
.sl-discover-card h2 a { color: #0b2d4d; }
.sl-discover-card p { margin: 0; color: #5a707d; font-size: 13px; line-height: 1.6; }
.sl-discover-card dl { display: grid; gap: 8px; margin: 16px 0; }
.sl-discover-card dl div { display: grid; grid-template-columns: 58px 1fr; gap: 8px; padding-top: 8px; border-top: 1px solid #edf1f3; }
.sl-discover-card dt { color: #1c8088; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.sl-discover-card dd { min-width: 0; margin: 0; color: #526a78; font-size: 12px; overflow-wrap: anywhere; }
.sl-discover-card .sl-inline-button { margin-top: auto; }
.sl-discover-more { background: #f4faf9; }
.sl-discover-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.sl-discover-links a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border: 1px solid #d2e3e5; border-radius: 12px; background: #fff; color: #0b2d4d; font-weight: 800; }
.sl-discover-links span { color: #e77858; }
.sl-discover-empty { padding: 30px; border: 1px dashed #c8dadd; border-radius: 14px; text-align: center; }
@media(max-width:980px){.sl-discover-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sl-discover-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:660px){.sl-discover-summary,.sl-discover-grid,.sl-discover-links{grid-template-columns:1fr}.sl-discover-summary>div{justify-items:start}.sl-discover-hero .sl-detail-actions{justify-content:flex-start}}

/* Final stability guard for controls created dynamically by the map and account scripts. */
:where(a[href], button, [role="button"], summary, label:has(input[type="checkbox"], input[type="radio"])) {
  cursor: default !important;
  transition: none !important;
}
:where(a[href], button, [role="button"], summary, label:has(input[type="checkbox"], input[type="radio"])) * {
  cursor: inherit !important;
  transition: none !important;
}
/* Leaflet positions keyboard-accessible markers with inline transforms.
   Removing that transform on hover makes the marker jump out from under the pointer. */
:where(a[href], button, [role="button"], summary):not(.leaflet-marker-icon):not(.maplibregl-marker):hover,
:where(a[href], button, [role="button"], summary):not(.leaflet-marker-icon):not(.maplibregl-marker):active {
  transform: none !important;
  animation: none !important;
}
.sl-member-profile-hero { padding:64px 0 44px;background:linear-gradient(145deg,#f6fbfb,#e8f4f2); }
.sl-member-profile-heading { display:flex;align-items:center;gap:24px; }
.sl-member-profile-heading>img,.sl-member-profile-heading>span { width:112px;height:112px;display:grid;place-items:center;flex:0 0 112px;border:4px solid #fff;border-radius:50%;object-fit:cover;background:linear-gradient(145deg,#dff3ef,#b9ddd8);color:#075f66;box-shadow:0 0 0 1px #b4d1d2,0 14px 34px rgba(7,34,54,.15);font:700 46px/1 Georgia,serif; }
.sl-member-profile-heading h1 { margin:5px 0;color:#0b2d4d;font:700 clamp(2.6rem,6vw,4.5rem)/.95 "Cormorant Garamond",Georgia,serif; }
.sl-member-profile-heading p { margin:0;color:#607787; }
.sl-member-review-list { max-width:860px;display:grid;gap:14px; }
.sl-member-review-list>h2 { color:#0b2d4d;font:700 34px/1 "Cormorant Garamond",Georgia,serif; }
@media(max-width:600px){.sl-member-profile-heading{align-items:flex-start}.sl-member-profile-heading>img,.sl-member-profile-heading>span{width:78px;height:78px;flex-basis:78px}.sl-detail-review-head{align-items:flex-start;flex-direction:column}}
.explore-page .sl-pin { position:relative; }
.explore-page .sl-pin.has-deal::before,.explore-page .sl-pin.premium::after { content:"";position:absolute;z-index:-1;inset:-8px;border:2px solid rgba(244,190,51,.75);border-radius:50%;box-shadow:0 0 13px rgba(244,190,51,.85);animation:sl-gold-aura 1.8s ease-in-out infinite; }
.explore-page .sl-pin.premium::after { inset:-6px;border-color:rgba(67,185,183,.8);box-shadow:0 0 11px rgba(67,185,183,.7);animation-delay:-.9s; }
.sl-pin-deal-badge,.sl-pin-premium-badge { width:17px!important;height:17px!important;position:absolute;z-index:3;right:-8px;bottom:-8px;display:grid!important;place-items:center!important;overflow:visible!important;border:2px solid #fff;border-radius:50%;background:linear-gradient(145deg,#ffd764,#c9910a);color:#4e3500!important;box-shadow:0 3px 8px rgba(92,59,0,.3);font:900 10px/1 Inter,sans-serif!important;font-style:normal; }
.sl-pin-premium-badge { right:auto;left:-8px;background:linear-gradient(145deg,#8bd9d4,#148987);color:#fff!important;font-size:8px!important; }
@keyframes sl-gold-aura { 50% { opacity:.48;transform:scale(1.12); } }
@media (prefers-reduced-motion:reduce) { .explore-page .sl-pin.has-deal::before,.explore-page .sl-pin.premium::after { animation:none; } }
.explore-page .sl-result-card.type-recreation .tag{background:#fff4e2;color:#9a681d}
.explore-page .sl-result-card.type-attraction .tag{background:#ffebed;color:#a6434d}
.explore-page .sl-result-visual img,.explore-page .sl-map-preview-visual img,.sl-detail-visual img,.sl-card-icon img{object-fit:contain;background:#fff;padding:5px}

/* Launch legal notice and installable-app prompt */
.sl-legal-notice {
  position:relative;
  overflow:hidden;
  padding:34px;
  border:1px solid rgba(11,45,77,.16);
  border-radius:22px;
  background:linear-gradient(145deg,#fbfdfd,#edf7f5);
  box-shadow:0 18px 44px rgba(11,45,77,.08);
}
.sl-legal-notice::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(#168a92,#0b2d4d);
}
.sl-legal-notice h2 { margin:8px 0 12px;color:#0b2d4d;font:700 34px/1 "Cormorant Garamond",Georgia,serif; }
.sl-legal-notice p { margin:0;color:#4f6877;line-height:1.7; }
.sl-legal-notice .sl-legal-links { display:flex;flex-wrap:wrap;gap:10px;margin-top:20px; }
.sl-install-card {
  position:fixed;
  z-index:10020;
  right:18px;
  bottom:18px;
  width:min(390px,calc(100vw - 28px));
  padding:18px;
  border:1px solid rgba(11,45,77,.16);
  border-radius:20px;
  background:rgba(255,255,255,.98);
  color:#0b2d4d;
  box-shadow:0 22px 60px rgba(11,45,77,.25);
  backdrop-filter:blur(14px);
}
.sl-install-card-head { display:flex;align-items:center;gap:12px; }
.sl-install-card img { width:54px;height:54px;border-radius:14px; }
.sl-install-card strong { display:block;font:700 22px/1 "Cormorant Garamond",Georgia,serif; }
.sl-install-card p { margin:5px 0 0;color:#587180;font-size:12px;line-height:1.45; }
.sl-install-actions { display:flex;gap:8px;margin-top:15px; }
.sl-install-actions button {
  min-height:40px;
  flex:1;
  padding:0 14px;
  border:1px solid #cbdadd;
  border-radius:11px;
  background:#fff;
  color:#0b2d4d;
  font:800 12px/1 Inter,Arial,sans-serif;
  cursor: default;
}
.sl-install-actions .primary { border-color:#0d8389;background:#0d8389;color:#fff; }
@media(max-width:600px) {
  .sl-legal-notice { padding:27px 24px; }
  .sl-install-card { right:14px;bottom:76px; }
}
@media(display-mode:standalone) { .sl-install-card { display:none!important; } }

/* Trust, feedback, standardized listing media, and quieter map surfaces. */
.sl-feedback-launcher{position:fixed;z-index:10010;right:18px;bottom:18px;min-height:40px;padding:0 15px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:#0b2d4d;color:#fff;box-shadow:0 10px 30px rgba(11,45,77,.25);font:800 12px/1 Inter,Arial,sans-serif;cursor:default}
.sl-install-card~.sl-feedback-launcher{bottom:150px}
.sl-feedback-backdrop{position:fixed;z-index:11000;inset:0;display:grid;place-items:center;padding:20px;background:rgba(5,28,45,.58);backdrop-filter:blur(5px)}
.sl-feedback-dialog{position:relative;width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:28px;border:1px solid rgba(255,255,255,.4);border-radius:22px;background:#fff;box-shadow:0 30px 90px rgba(5,28,45,.35)}
.sl-feedback-dialog h2{margin:5px 42px 8px 0;color:#0b2d4d;font:700 32px/1.05 "Cormorant Garamond",Georgia,serif}
.sl-feedback-dialog>p{color:#587180}
.sl-feedback-close{position:absolute;right:16px;top:16px;width:38px;height:38px;border:1px solid #d7e2e6;border-radius:50%;background:#f7fafb;color:#0b2d4d;font-size:24px;cursor:default}
.sl-feedback-dialog form{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:18px}
.sl-feedback-dialog label{display:grid;gap:6px;color:#0b2d4d;font-size:12px;font-weight:800}
.sl-feedback-dialog label:has(textarea),.sl-feedback-dialog [data-feedback-turnstile],.sl-feedback-actions,.sl-feedback-status{grid-column:1/-1}
.sl-feedback-dialog input,.sl-feedback-dialog select,.sl-feedback-dialog textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid #cbdadd;border-radius:10px;background:#fff;color:#17334a;font:inherit}
.sl-feedback-dialog textarea{min-height:125px;resize:vertical}
.sl-feedback-actions{display:flex;gap:9px}
.sl-feedback-actions button,.sl-feedback-success button{min-height:42px;padding:0 15px;border:1px solid #cbdadd;border-radius:10px;background:#fff;color:#0b2d4d;font-weight:800;cursor:default}
.sl-feedback-actions .primary{border-color:#0c858b;background:#0c858b;color:#fff}
.sl-feedback-status{margin:0;color:#a43f36;font-weight:700}
.sl-feedback-success{display:grid;gap:16px;padding:20px;border-radius:14px;background:#eef9f5;color:#175a3b}
.sl-listing-hero-image{display:block;width:100%;max-height:520px;aspect-ratio:16/9;object-fit:cover;border-radius:18px;background:#eef3f5}
.sl-listing-hero-image.is-logo{object-fit:contain;padding:clamp(24px,6vw,70px);background:linear-gradient(145deg,#f8fbfc,#e9f2f5)}
.sl-result-visual{overflow:hidden;background:#eef3f5}
.sl-result-visual img{width:100%;height:100%;object-fit:cover}
.sl-result-visual img.is-logo{object-fit:contain;padding:7px;background:#f6f9fa}
.sl-freshness{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:16px 0;padding:12px 14px;border:1px solid #d6e4e7;border-radius:12px;background:#f7fbfb;color:#4f6877;font-size:12px}
.sl-freshness strong{color:#0b5f66}
.sl-freshness.review-due,.sl-freshness.stale,.sl-freshness.verification-needed{border-color:#ead7ab;background:#fffaf0}
.sl-info-gaps{margin:14px 0 0;padding:13px;border-left:3px solid #d6921d;background:#fffaf0;color:#665326}
.sl-show-more{width:calc(100% - 20px);min-height:44px;margin:10px;border:1px solid #bdd5da;border-radius:11px;background:#f7fbfb;color:#0b5f66;font-weight:900;cursor:default}
.sl-layout-switch{display:flex;align-items:center;justify-content:flex-end;gap:4px;padding:8px 14px;border-top:1px solid #e2eaed;background:#f8fbfc}
.sl-layout-switch span{margin-right:5px;color:#647b89;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.sl-layout-switch button{min-height:34px;padding:0 12px;border:1px solid #ccdadd;background:#fff;color:#315064;font-size:11px;font-weight:900;cursor:default}
.sl-layout-switch button:first-of-type{border-radius:9px 0 0 9px}.sl-layout-switch button:last-child{border-radius:0 9px 9px 0}
.sl-layout-switch button.active{border-color:#0c858b;background:#0c858b;color:#fff}
.sl-app-body.layout-map{grid-template-columns:1fr}.sl-app-body.layout-map .sl-results-panel{display:none}.sl-app-body.layout-map .sl-map-wrap{min-height:680px}
.sl-app-body.layout-list{grid-template-columns:1fr}.sl-app-body.layout-list .sl-map-wrap{display:none}.sl-app-body.layout-list .sl-results-panel{width:100%;max-width:none}.sl-app-body.layout-list .sl-result-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px}
@media(max-width:650px){.sl-feedback-launcher{right:12px;bottom:72px}.sl-feedback-dialog{padding:22px}.sl-feedback-dialog form{grid-template-columns:1fr}.sl-feedback-dialog label{grid-column:1/-1}.sl-feedback-actions{flex-direction:column}.sl-listing-hero-image{aspect-ratio:4/3}}
@media(max-width:820px){.sl-layout-switch{display:none}.sl-app-body.layout-map,.sl-app-body.layout-list,.sl-app-body.layout-split{display:block}.sl-app-body.layout-map .sl-results-panel,.sl-app-body.layout-list .sl-map-wrap{display:block}.sl-app-body.layout-list .sl-result-list{display:block;padding:0}}
.sl-fuel-price{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:4px;width:fit-content;margin-top:7px;padding:6px 9px;border:1px solid rgba(0,147,163,.24);border-radius:999px;background:rgba(0,147,163,.08);color:#07566a;font-size:.78rem;font-weight:700}
.sl-fuel-price small{color:#60717e;font-size:.7rem;font-weight:600}
.sl-fuel-price.unavailable{border-color:rgba(96,113,126,.2);background:#f2f5f7;color:#60717e}
.sl-fuel-panel{display:grid;gap:8px;margin:16px 0;padding:16px;border:1px solid rgba(0,147,163,.25);border-radius:16px;background:linear-gradient(135deg,rgba(0,147,163,.09),rgba(255,255,255,.94))}
.sl-fuel-panel strong{display:block;margin-top:4px;color:#0b2d4d;line-height:1.55}
.sl-fuel-panel strong b{color:#007f90;font-size:1.05em}
.sl-fuel-panel p{margin:0;color:#526875;font-size:.82rem;line-height:1.5}
.sl-fuel-panel.unavailable{border-color:rgba(96,113,126,.2);background:#f5f7f8}
.explore-page .sl-result-card{cursor:pointer}
.sl-card-practical{display:grid;gap:3px;margin-top:6px;color:#3d596a;font-size:9px;line-height:1.35}
.sl-card-practical span{min-width:0}
.sl-practical-hours{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.sl-card-practical b{color:#123d55;font-weight:900}
.sl-practical-site{color:#087f86;font-weight:800}
.sl-practical-pay{color:#4f4076;font-weight:750}
.sl-card-open{display:inline-flex;align-items:center;gap:4px;margin-top:6px;color:#087f86;font-size:9px;font-weight:900;letter-spacing:.01em}
.sl-card-open b{font-size:12px;transition:transform .16s ease}
.sl-result-card:hover .sl-card-open b,.sl-result-card:focus-visible .sl-card-open b{transform:translateX(2px)}
.sl-result-card:focus-visible{outline:3px solid rgba(21,154,156,.28);outline-offset:2px}
@media(max-width:650px){.sl-card-practical{font-size:8.5px}.sl-card-open{font-size:8.5px}}
/* Preserve white operator wordmarks without changing the original image bytes. */
img[src*="operator-20260830-old-colorado-inn"],
img[src*="operator-20260830-culture-shift-elixery-stuart"],
img[src*="operator-20260830-ocean-republic-brewing-stuart"],
img[src*="operator-20260830-the-gafford-stuart"],
img[src*="operator-20260830-waterfront-stuart"]{background-color:#123d55!important;background-image:none!important}
