@import url('https://fonts.googleapis.com/css2?family=Merriweather:opsz,wdth,wght@144,87,700&family=Scheherazade+New:wght@400;500;600;700&display=swap');

/* Original Sugar Plum Momoo artwork and colors, fitted around the working map. */
:root {
  --cranberry: #b81321;
  --brown: #725015;
  --slate: #50687b;
  --teal: #11746b;
  --purple: #7013e4;
  --blue: #1569c8;
  --cream: #fbf8f0;
  --paper: #fbf8f0;
  --ink: #725015;
  --muted: #50687b;
  --line: #d8ceba;
  --sage: #11746b;
  --food: #b81321;
  --shadow: 0 8px 32px #7250151c, 0 1px 4px #72501512;
  --sans: 'Scheherazade New', 'Times New Roman', serif;
  --serif: 'Merriweather', Georgia, serif;
}

body { background: #f6f3ea url('assets/paper-base.webp') repeat; font-size: 19px; }
button, input, select { font-family: var(--sans); }
button:focus-visible, a:focus-visible, summary:focus-visible, select:focus-visible {
  outline: 3px solid var(--blue); outline-offset: 3px;
}
.sidebar, .place-detail, .map-status, .reset-map, .map-legend, .reopen-button {
  background: var(--paper) url('assets/paper.webp') repeat;
}
.sidebar {
  top: 18px; left: 18px; bottom: 18px; width: 370px;
  border: 1px solid #d7cbb4; border-radius: 17px;
  box-shadow: var(--shadow);
}
.brand-row { padding: 12px 26px 9px; background: #fbf8f0a3; }
.brand { display: block; width: 237px; max-width: calc(100% - 30px); }
.brand img { display: block; width: 100%; height: auto; }
.sidebar-body {
  min-height: 0; padding: 0 23px 22px;
  scrollbar-color: #b9a783 transparent;
}
.intro { padding: 0 0 11px; position: relative; text-align: center; }
.holiday-scene-strip {
  height: 88px; margin: 0 -23px 13px; overflow: hidden;
  background: #fbf8f0; position: relative;
}
.holiday-scene-strip::after {
  content: ''; position: absolute; inset: auto 0 0; height: 12px;
  background: linear-gradient(transparent, #fbf8f0);
}
.holiday-scene-strip img { width: 100%; height: 100%; object-fit: cover; object-position: center 63%; display: block; }
.eyebrow {
  margin-bottom: 8px; font-family: var(--serif); font-size: 8px;
  letter-spacing: 1.45px; color: var(--teal); line-height: 1.5;
}
h1 {
  font-family: var(--serif); font-size: 24px; line-height: 1.3;
  letter-spacing: -.65px; font-weight: 700; color: var(--cranberry);
  font-stretch: 87%; font-optical-sizing: none; font-variation-settings: 'opsz' 144;
}
h1 em { font-style: normal; color: var(--cranberry); }
.intro-holly { display: block; width: 112px; height: auto; margin: 9px auto 5px; }
.intro-copy { color: var(--slate); font-size: 18px; line-height: 1.15; margin: 0 auto; max-width: 290px; }
.area-note {
  color: var(--teal); background: #11746b09; border: 1px solid #11746b16;
  font-size: 16px; line-height: 1.2; padding: 8px 9px; margin-bottom: 11px;
}
.location-dot { background: var(--teal); box-shadow: 0 0 0 3px #11746b10; }
.area-distance { font-size: 14px; opacity: .9; }
.search-wrap { background: #fffdf7; border-color: #c9baa0; border-radius: 9px; min-height: 43px; }
.search-wrap:focus-within { border-color: var(--teal); box-shadow: 0 0 0 3px #11746b14; }
.search-wrap > svg { stroke: var(--cranberry); }
.search-wrap input { font-size: 18px; line-height: 1.1; padding-top: 12px; padding-bottom: 11px; }
.search-wrap input::placeholder { color: #72818a; opacity: 1; }
.clear-search { color: var(--slate); background: #50687b0a; }
.section-caption { margin: 16px 0 9px; color: var(--brown); font: 9px/1.5 var(--serif); letter-spacing: 1px; }
.text-button { font-size: 17px; color: var(--teal); line-height: 1; }
.text-button.is-active { color: var(--cranberry); }
.group-filters { gap: 6px; }
.group-chip {
  color: var(--slate); border-color: #d5cbb9; background: #fffdf7;
  border-radius: 8px; padding: 6px 8px; font-size: 17px; line-height: 1.2;
  min-height: 35px; gap: 5px; white-space: normal;
}
.group-chip:hover { border-color: #b59663; background: #f7f1e6; }
.group-chip.active { color: var(--teal); background: #11746b0b; border-color: #11746b78; }
.group-chip .chip-icon { width: 19px; height: 19px; }
.chip-count { font-size: 14px; color: #6e7d85; }
.group-chip.active .chip-count { color: var(--teal); }
.type-filter { min-height: 38px; background: #fffdf7; border-color: #d5cbb9; margin-top: 8px; padding: 0 10px; }
.type-filter label { font-size: 16px; line-height: 1.2; color: var(--slate); }
.type-filter select { color: var(--brown); font-size: 18px; line-height: 1.15; padding: 8px 15px 7px 0; }
.type-filter svg { stroke: var(--teal); }
.holiday-filter {
  width: 100%; display: flex; align-items: center; justify-content: center;
  gap: 7px; margin-top: 9px; min-height: 40px; padding: 1px 12px 1px 5px;
  border: 1px solid #bda47c; border-radius: 24px; color: var(--brown);
  background: #fbf4e6; font-size: 18px; line-height: 1.15;
  box-shadow: inset 0 0 0 2px #fffaf2;
}
.holiday-filter img { width: 34px; height: 34px; object-fit: contain; }
.holiday-check { display: none; color: var(--teal); font: 14px sans-serif; }
.holiday-filter:hover { border-color: var(--cranberry); }
.holiday-filter[aria-pressed='true'] { color: var(--cranberry); border-color: var(--cranberry); background: #b8132108; }
.holiday-filter[aria-pressed='true'] .holiday-check { display: inline; }
.toggle-row { padding: 13px 0; color: var(--brown); }
.toggle-row strong { font-size: 18px; font-weight: 500; line-height: 1.2; }
.toggle-row small { font-size: 16px; color: var(--slate); line-height: 1.15; margin-top: 2px; }
.switch { width: 32px; height: 19px; background: #d3cbbb; }
.switch::after { width: 13px; height: 13px; }
.toggle-row input { height: 24px; }
.toggle-row input:checked + .switch { background: var(--teal); }
.toggle-row input:checked + .switch::after { transform: translateX(13px); }
.results-section { padding-top: 13px; }
.results-heading { color: var(--slate); font-size: 18px; line-height: 1.2; margin-bottom: 9px; }
.result-number { color: var(--cranberry); }
.results-context { color: var(--slate); font-size: 15px; max-width: 135px; line-height: 1.1; }
.place-list { gap: 6px; }
.place-card {
  padding: 9px 8px; border: 1px solid #ddcfba80; border-radius: 9px;
  background: #fffdf680; gap: 8px; box-shadow: 0 1px 2px #72501505;
}
.place-card:hover { background: #fffaf0; border-color: #bda47c; }
.place-card.selected { background: #f5eefb; border-color: #aa8acb; }
.place-card-icon { width: 32px; height: 32px; border-radius: 50%; border: 1px solid #ffffffa1; }
.place-card-name { color: var(--brown); font-size: 20px; font-weight: 500; line-height: 1.15; margin-bottom: 3px; }
.place-card-meta { color: var(--slate); font-size: 16px; line-height: 1.15; }
.place-card-distance { color: var(--teal); font-size: 15px; line-height: 1.1; margin-top: 5px; }
.condition-mini { color: #886327; font-size: 15px; line-height: 1.15; }
.interest-badge {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 3px; padding: 2px 6px; margin-top: 5px;
  border: 1px solid #d6c6a8; border-radius: 14px; background: #f9f0dd;
  color: var(--brown); font-size: 14px; font-weight: 500; line-height: 1.1;
}
.interest-badge::before { content: '✦'; color: #b48e3c; font-size: 10px; }
.show-more { border-color: #c8b898; font-size: 18px; color: var(--teal); padding: 8px; }
.show-more:hover { background: #11746b09; }
.data-footer { margin-top: 7px; padding-top: 6px; }
.data-footer details { padding: 8px 0; }
.data-footer details + details { border-top: 1px solid #d8ceba88; }
.data-footer summary { color: var(--teal); font-size: 17px; line-height: 1.2; }
.info-icon { color: var(--brown); border-color: #bba47e; width: 15px; height: 15px; font-size: 11px; flex-shrink: 0; }
.data-footer details p { color: var(--slate); font-size: 16px; line-height: 1.3; }
.score-weights { margin: 11px 0; }
.score-weights > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; font-size: 17px; line-height: 1.3; padding: 3px 0; border-bottom: 1px dotted #d2c5ac; }
.score-weights dt { color: var(--brown); }
.score-weights dd { color: var(--teal); margin: 0; }
.footer-holly { width: 192px; height: auto; display: block; margin: 14px auto 0; }
.footer-signoff { font: 11px/1.6 var(--serif); color: var(--cranberry); margin-top: 9px; }

.map-frame { position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: hidden; }
.map-frame::before { content: ''; position: absolute; inset: 0; background: url('assets/paper.webp') repeat; opacity: .025; mix-blend-mode: multiply; }
.frame-corner, .frame-edge { position: absolute; height: auto; pointer-events: none; }
.frame-corner-left { width: 106px; left: 396px; top: -12px; }
.frame-corner-right { width: 67px; right: 67px; top: -12px; }
.frame-edge-left { width: 22px; left: -5px; top: 47%; }
.frame-edge-right { width: 24px; right: -7px; top: 45%; }
.map-topbar { left: 411px; right: 65px; top: 26px; }
.map-status { padding: 8px 14px 8px 8px; border-color: #d6c7ac; border-radius: 11px; gap: 5px; box-shadow: var(--shadow); }
.status-badge { width: 41px; height: 41px; object-fit: contain; }
.map-status strong { color: var(--cranberry); font: 10px/1.5 var(--serif); }
.map-status span:not(.status-spark) { color: var(--slate); font-size: 16px; line-height: 1.2; margin-top: 3px; }
.reset-map { padding: 11px 14px; color: var(--teal); border-color: #d4c6ae; font-size: 18px; line-height: 1.2; }
.map-actions { display: flex; align-items: flex-start; gap: 8px; pointer-events: auto; }
.artwork-toggle { display: flex; align-items: center; gap: 6px; min-height: 42px; padding: 10px 12px; border: 1px solid #d4c6ae; border-radius: 10px; background: var(--paper) url('assets/paper.webp') repeat; color: var(--slate); box-shadow: var(--shadow); font-size: 17px; line-height: 1.2; }
.artwork-toggle img { height: 19px; width: 16px; object-fit: contain; }
.artwork-toggle[aria-pressed='true'] { border-color: #b99a60; color: var(--cranberry); background-color: #fbf3e5; }
.artwork-toggle[aria-pressed='false'] img { opacity: .4; }
.maplibregl-ctrl-group { border: 1px solid #d4c6ae!important; box-shadow: 0 3px 12px #72501514!important; }
.maplibregl-ctrl-group button { background: var(--paper)!important; }
.maplibregl-ctrl-attrib { color: #4e5d65!important; background: #fbf8f0ed!important; font-family: Arial, sans-serif!important; font-size: 10px!important; }
.maplibregl-ctrl-scale { color: var(--slate)!important; border-color: var(--slate)!important; font-family: Arial, sans-serif!important; font-size: 10px!important; }
.map-legend { left: 411px; bottom: 39px; color: var(--slate); border-color: #d6c7ac; font-size: 16px; padding: 7px 14px; line-height: 1.2; gap: 15px; }
.legend-dot.play { background: var(--purple); }
.legend-dot.food { background: var(--cranberry); }
.legend-dot.essentials { background: var(--teal); }
.legend-hint { color: var(--brown); border-color: #d6c7ac; padding-left: 13px; }
.map-notice { color: var(--brown); border-color: #cbb897; background: #fbf8f0f5; font-size: 17px; line-height: 1.25; }

.place-detail { width: 354px; padding: 22px; border-color: #d6c7ac; border-radius: 16px; }
.detail-top { margin-bottom: 13px; }
.detail-icon { border-radius: 50%; }
.icon-button { color: var(--teal); border-color: #cbbda3; background: #fffdf6; width: 30px; height: 30px; }
.detail-label { font-size: 14px; line-height: 1.2; letter-spacing: .6px; }
.place-detail h2 { color: var(--cranberry); font-family: var(--serif); font-size: 24px; font-weight: 700; line-height: 1.25; letter-spacing: -.5px; }
.detail-address { color: var(--slate); font-size: 18px; line-height: 1.3; }
.detail-tags { gap: 5px; margin-top: 12px; }
.detail-tag { color: var(--teal); font-size: 15px; line-height: 1.1; padding: 4px 7px; background: #11746b0b; }
.detail-tag.condition { color: #805c22; background: #e9d8b744; }
.detail-section { border-color: #d8ceba; margin-top: 15px; padding-top: 12px; }
.detail-section h3 { color: var(--teal); font: 9px/1.5 var(--serif); letter-spacing: .5px; margin-bottom: 8px; }
.detail-section p, .detail-section li { color: var(--slate); font-size: 18px; line-height: 1.35; }
.detail-links { gap: 7px; margin-top: 15px; }
.detail-links a { font-size: 17px; line-height: 1.2; color: var(--teal); border-color: #11746b50; background: #11746b08; padding: 8px 11px; }
.detail-links a:first-child { background: var(--teal); border-color: var(--teal); }
.detail-disclaimer { color: var(--slate); font-size: 15px; line-height: 1.3; margin-top: 12px; }
.interest-summary { padding: 12px; margin: 15px 0; border: 1px solid #dac8a6; border-radius: 10px; background: #fcf3e3; color: var(--brown); }
.detail-score { color: var(--brown); font: 18px/1.3 var(--sans); }
.interest-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 7px; }
.interest-summary strong { color: var(--cranberry); font: 23px/1.2 var(--serif); }
.score-role { color: var(--slate); font-size: 16px; margin: 0 0 8px; }
.score-details > summary, .seasonal-planning > summary { color: var(--teal); font-size: 17px; cursor: pointer; }
.score-details .factor-row { margin-top: 12px; }
.factor-basis, .score-note { color: var(--slate); font: 15px/1.3 var(--sans); margin: 4px 0 0; }
.score-note { margin-top: 14px; }
.place-card-icon img { width: 100%; height: 100%; object-fit: contain; }
.place-card-ranking { display: flex; flex-direction: column; align-items: flex-end; flex-shrink: 0; margin-left: auto; }
.seasonal-mini { display: block; color: var(--teal); font-size: 14px; line-height: 1.2; margin-top: 3px; }
.seasonal-sources { display: flex; flex-direction: column; gap: 5px; }
.seasonal-card .source-caution { color: #805c22; font-size: 15px; }
.interest-summary p, .interest-summary small { font-size: 16px; line-height: 1.3; color: var(--slate); margin: 5px 0 0; }
.interest-summary h3 { color: var(--brown); margin: 0 0 7px; font: 10px/1.4 var(--serif); }
.factor-bars { display: grid; gap: 10px; margin-top: 13px; }
.factor-row { display: grid; gap: 3px; }
.factor-label { display: flex; justify-content: space-between; gap: 12px; font-size: 16px; line-height: 1.2; color: var(--slate); }
.factor-label strong, .factor-label b { color: var(--brown); font-weight: 500; }
.factor-track { height: 5px; border-radius: 10px; background: #e6dccb; overflow: hidden; }
.factor-fill { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #d7b86f, #a77d36); max-width: 100%; }
.seasonal-card { margin-top: 16px; padding: 13px; border: 1px solid #cfb487; border-radius: 11px; background: #fbf3e5; }
.seasonal-card h3 { color: var(--cranberry); font-family: var(--serif); font-size: 11px; letter-spacing: 0; line-height: 1.5; margin: 0 0 8px; }
.seasonal-card p, .seasonal-card li { font-size: 17px; line-height: 1.3; color: var(--slate); }
.seasonal-card p { margin: 7px 0; }
.seasonal-card ul { padding-left: 17px; margin: 8px 0; }
.seasonal-status { display: inline-flex; padding: 4px 7px; border-radius: 20px; background: #11746b12; border: 1px solid #11746b33; color: var(--teal); font-size: 14px; line-height: 1.15; }
.seasonal-status.historical, .seasonal-status.unconfirmed { background: #f3e3c7; border-color: #b59663; color: var(--brown); }
.seasonal-sources { margin: 9px 0 0; padding-top: 8px; border-top: 1px solid #d6c29e; font-size: 15px; line-height: 1.3; }
.seasonal-sources a, .seasonal-card a { color: var(--teal); text-underline-offset: 2px; overflow-wrap: anywhere; }
.empty-state, .loading-state { color: var(--slate); font-size: 18px; line-height: 1.4; }
.empty-state strong { font: 17px/1.5 var(--serif); color: var(--brown); }
.empty-state button { color: var(--teal); background: #11746b0b; font-size: 17px; }
.loading-dot { background: #b59663; }
.reopen-badge { width: 30px; height: 30px; }

@media (min-width: 1500px) {
  .sidebar { width: 380px; }
  .sidebar-body { padding-left: 25px; padding-right: 25px; }
  .holiday-scene-strip { margin-left: -25px; margin-right: -25px; }
  .brand-row { padding-left: 31px; }
  .map-topbar, .map-legend { left: 423px; }
  .frame-corner-left { left: 408px; }
}

@media (max-width: 1100px) and (min-width: 761px) {
  .sidebar { width: 344px; left: 14px; top: 14px; bottom: 14px; }
  .sidebar-body { padding-left: 18px; padding-right: 18px; }
  .brand-row { padding-left: 24px; }
  .holiday-scene-strip { margin-left: -18px; margin-right: -18px; height: 70px; }
  .intro { padding-bottom: 10px; }
  .intro h1 { font-size: 22px; }
  .intro-copy { font-size: 17px; }
  .map-topbar { left: 377px; right: 60px; gap: 9px; }
  .map-status { padding: 8px 11px; }
  .status-badge { display: none; }
  .map-status strong { font-size: 9px; }
  .map-status span:not(.status-spark) { font-size: 15px; }
  .reset-map { padding: 12px; }
  .reset-map span { display: none; }
  .artwork-toggle span { display: none; }
  .map-legend { left: 377px; gap: 11px; font-size: 15px; }
  .legend-hint { display: none; }
  .frame-corner-left { left: 363px; width: 82px; }
  .place-detail { width: 300px; right: 17px; padding: 19px; }
}

@media (max-height: 850px) and (min-width: 761px) {
  .brand-row { padding-top: 8px; padding-bottom: 7px; }
  .brand { width: 215px; }
  .holiday-scene-strip { height: 58px; margin-bottom: 9px; }
  .intro h1 { font-size: 21px; }
  .intro-copy { font-size: 17px; }
  .intro-holly { width: 90px; margin-top: 7px; }
  .section-caption { margin-top: 12px; }
}

@media (max-width: 760px) {
  .sidebar { top: auto; left: 9px; right: 9px; bottom: 9px; width: auto; height: 44dvh; max-height: 490px; min-height: 220px; border-radius: 18px; }
  .brand-row { padding: 7px 17px 7px; min-height: 58px; border-bottom-color: #d8ceba; }
  .brand { width: 186px; }
  .sidebar-body { padding: 0 17px 20px; }
  .intro { display: none; }
  .area-note { margin: 9px 0 9px; font-size: 15px; padding: 6px 8px; }
  .area-distance { font-size: 13px; }
  .search-wrap { min-height: 42px; }
  .search-wrap input { font-size: 18px; }
  .section-caption { margin-top: 13px; }
  .group-filters { display: flex; margin-right: -17px; padding-right: 17px; gap: 6px; }
  .group-chip { white-space: nowrap; font-size: 17px; padding: 6px 9px; }
  .type-filter, .sort-filter { min-height: 36px; }
  .type-filter select { font-size: 18px; }
  .holiday-filter { min-height: 39px; margin-top: 8px; }
  .toggle-row { padding: 12px 0; }
  .results-heading { font-size: 18px; }
  .results-context { font-size: 15px; }
  .map-topbar { left: 11px; right: 11px; top: 12px; align-items: flex-start; }
  .map-status { padding: 7px 10px 7px 5px; gap: 4px; max-width: calc(100% - 105px); }
  .status-badge { display: block; width: 34px; height: 34px; }
  .map-status strong { font-size: 9px; }
  .map-status span:not(.status-spark) { font-size: 14px; line-height: 1.15; margin-top: 2px; }
  .reset-map { padding: 10px; font-size: 16px; gap: 5px; min-height: 43px; }
  .reset-map span { display: inline; }
  .artwork-toggle { min-height: 43px; padding: 10px; }
  .artwork-toggle span { display: none; }
  .maplibregl-ctrl-top-right { top: 76px!important; right: 8px!important; }
  .frame-corner-left { left: -12px; width: 84px; top: -15px; opacity: .85; }
  .frame-corner-right { right: 51px; width: 45px; top: -12px; }
  .frame-edge-left, .frame-edge-right { width: 18px; top: 30%; }
  .place-detail { left: 11px; right: 11px; width: auto; bottom: calc(44dvh + 25px); max-height: calc(50dvh - 75px); padding: 17px 20px; }
  .place-detail h2 { font-size: 22px; }
  .detail-top { margin-bottom: 10px; }
  .interest-summary { margin: 12px 0; }
  .map-legend { display: none; }
  .map-notice { font-size: 17px; line-height: 1.25; }
  .reopen-button { background: var(--paper) url('assets/paper.webp') repeat; color: var(--cranberry); border-color: #cdb896; font-size: 19px; line-height: 1.2; padding: 7px 16px 7px 9px; }
  .reopen-button #mobileCount { color: var(--teal); font-size: 16px; }
  .sidebar-collapsed .place-detail { bottom: 83px; max-height: calc(100dvh - 180px); }
  .sidebar-collapsed .maplibregl-ctrl-bottom-right, .sidebar-collapsed .maplibregl-ctrl-bottom-left { bottom: 5px!important; }
}

@media (max-width: 380px) {
  .map-status strong { font-size: 8px; }
  .map-status span:not(.status-spark) { font-size: 13px; }
  .map-status { max-width: calc(100% - 95px); }
  .status-badge { width: 28px; height: 28px; }
  .reset-map { font-size: 15px; padding: 10px 8px; }
}

.view-links{display:flex;gap:19px;flex-shrink:0;padding:0 24px 8px;font-size:17px;line-height:1.2;border-bottom:1px solid #d8ceba66}.view-links a{color:var(--teal);text-decoration:none}.view-links [aria-current]{color:var(--cranberry)}
/* Individual venue art also gives the list and detail panel a storybook feel. */
.place-card-icon:has(img[src*="holiday-art"]){width:62px;height:64px;flex-basis:62px;background:transparent;border:0}
.place-card-icon img[src*="holiday-art"]{width:64px;height:64px;object-fit:contain}
.illustrated-detail .detail-icon{width:128px;height:128px;background:transparent;box-shadow:none;border:0}
.illustrated-detail .detail-icon img{width:128px;height:128px;object-fit:contain}
.holiday-ranking{margin:18px 0;padding:14px 15px;background:#f5eddb;border:1px solid #e6d5ac;border-radius:12px}
.holiday-ranking strong,.holiday-ranking span{display:block}
.holiday-ranking strong{font-family:Merriweather,serif;font-size:14px;color:#8f2630}
.holiday-ranking span{font-size:13px;color:#725015;margin-top:5px}
.holiday-ranking p{font-size:14px;line-height:1.4;margin:8px 0 0}
.art-gallery-link{text-align:center;margin:8px 0 16px}.art-gallery-link a{color:#8f2630;font-size:16px;text-underline-offset:4px}
@media(max-width:760px){.illustrated-detail .detail-icon,.illustrated-detail .detail-icon img{width:72px;height:72px}}
.area-picker{margin:-6px 0 10px}.area-picker select{width:100%;border:1px solid #d7cbb8;border-radius:8px;background:#fffdf7;padding:8px 10px;color:#11746b;font-size:16px}
.bathroom-filter{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:42px;border:1px solid #b7c7c3;border-radius:24px;background:#f3f8f4;color:#11746b;font-size:18px;margin:8px 0}.bathroom-filter[aria-pressed=true]{background:#11746b;color:#fffdf7}.bathroom-check{display:none}.bathroom-filter[aria-pressed=true] .bathroom-check{display:inline}
.bathroom-options{background:#edf3ef;border:1px solid #c6d6cb;padding:12px;border-radius:12px;margin:8px 0}.bathroom-options>label{display:block;font-size:16px;color:#11746b}.bathroom-options select{width:100%;font-size:15px;padding:7px;border:1px solid #b7c7c3;border-radius:7px;background:#fffdf7}.bathroom-options .changing-option{display:flex;gap:6px;align-items:center;margin-top:10px}.bathroom-options p{font-size:14px;line-height:1.25;margin:8px 0 0;color:#50687b}.bathroom-mini{display:block;font-size:14px;color:#11746b;line-height:1.15;margin-top:4px}
.bathroom-card{border:1px solid #bfd1c8;background:#f1f6ef;padding:15px;border-radius:12px;margin:17px 0}.bathroom-card h3{font-size:21px;color:#11746b;margin:0 0 8px}.bathroom-card p{font-size:15px;line-height:1.3;margin:9px 0}.bathroom-vintage,.bathroom-unknown,.bathroom-inventory{color:#50687b}.bathroom-card .seasonal-sources{margin-top:12px}

.bathroom-filter svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}

.regional-explore{display:block;width:100%;margin:-2px 0 14px;padding:9px 12px;border:1px solid #d5c6a8;border-radius:9px;background:#fffaf0;color:#11746b;font:600 12px/1.4 Merriweather,Georgia,serif;cursor:pointer}.regional-explore:hover{background:#f3ecd9}.regional-explore:focus-visible{outline:2px solid #11746b;outline-offset:2px}
