.sp-integration-note{padding:12px 16px;margin:12px 0;background:#f4f0eb;border-left:2px solid #ac4944;color:#57534e;font-size:14px}.sp-integration-note a{color:#ac4944} .system-message-container{max-width:1240px;margin:auto;}
main select{appearance:none;-webkit-appearance:none;display:block;width:100%;min-height:46px;box-sizing:border-box;border:1px solid #ded5c8;border-radius:0;padding:12px 40px 12px 14px;background-color:#fffdf8;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%2357534e'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;font:inherit;color:inherit}main select:focus{outline:2px solid #ac4944;outline-offset:2px}main select:disabled{opacity:.6}

/* Keep dropdown arrows visible despite page-specific background resets. */
body main select:not([multiple]):not([size]){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='m2 2 6 6 6-6' fill='none' stroke='%23ac4944' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 16px center!important;background-size:16px 10px!important;padding-right:46px!important;cursor:pointer}
.sp-dropdown{position:relative;width:100%;min-width:0}.sp-native-select{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;opacity:0;pointer-events:none;overflow:hidden;clip-path:inset(50%)}
body main .sp-dropdown-button{position:relative;display:block;width:100%;min-height:46px;box-sizing:border-box;text-align:left;border:1px solid #ded5c8!important;border-radius:0!important;background:#fffdf8!important;color:#373936!important;font:inherit!important;line-height:1.6!important;padding:12px 48px 12px 14px!important;cursor:pointer;box-shadow:none!important}
.sp-dropdown-button::after{content:'';position:absolute;right:18px;top:50%;width:8px;height:8px;border-right:2px solid #ac4944;border-bottom:2px solid #ac4944;transform:translateY(-70%) rotate(45deg);pointer-events:none}.sp-dropdown-button[aria-expanded=true]::after{transform:translateY(-20%) rotate(225deg)}
body main .sp-dropdown-button:focus-visible{outline:2px solid #ac4944;outline-offset:2px}.sp-dropdown-button:disabled{opacity:.6;cursor:default}
.sp-dropdown-list{position:absolute;z-index:1000;left:0;right:0;top:calc(100% + 3px);max-height:240px;overflow:auto;background:#fffdf8;border:1px solid #ded5c8;box-shadow:0 5px 16px #37393615;padding:4px 0;color:#373936;font:inherit}.sp-dropdown-list[hidden]{display:none!important}.sp-dropdown-list [role=option]{padding:9px 14px;cursor:pointer;line-height:1.6}.sp-dropdown-list [role=option]:hover,.sp-dropdown-list .is-highlighted{background:#f0e8e2;color:#873d39}.sp-dropdown-list [aria-selected=true]{color:#873d39;font-weight:600}.sp-dropdown-list [aria-disabled=true]{opacity:.5;cursor:default}
.sp-number{position:relative;min-width:0;width:100%}body main .sp-number input[type=number]{appearance:textfield;-moz-appearance:textfield;padding-right:50px!important;width:100%;box-sizing:border-box}.sp-number input::-webkit-inner-spin-button,.sp-number input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.sp-number-controls{position:absolute;right:1px;top:1px;bottom:1px;width:36px;display:grid;grid-template-rows:1fr 1fr;border-left:1px solid #ded5c8}
body main .sp-number-controls button{position:relative;min-height:0!important;min-width:0!important;width:100%;height:100%;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:#f6f2ec!important;color:#ac4944!important;box-shadow:none!important;cursor:pointer}body main .sp-number-controls button+button{border-top:1px solid #ded5c8!important}.sp-number-controls button::after{content:'';position:absolute;width:6px;height:6px;left:50%;top:50%;border-top:2px solid currentColor;border-right:2px solid currentColor}.sp-number-up::after{transform:translate(-50%,-20%) rotate(-45deg)}.sp-number-down::after{transform:translate(-50%,-80%) rotate(135deg)}body main .sp-number-controls button:hover{background:#eee5de!important}.sp-number-controls button:focus-visible{outline:2px solid #ac4944;outline-offset:-3px}.sp-number-controls button:disabled{opacity:.4;cursor:default}

body main .booking-estimate-panel .quote-stay-summary{font-size:16px!important;line-height:1.7!important}body main .booking-estimate-panel .quote-lines :is(dt,dd),body main .booking-estimate-panel .quote-deposit{font-size:15px!important;line-height:1.7!important}
/* Colour emoji for weather on desktop and mobile. */
.weather-bar [data-weather-icon],.weather-day-icon{font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif!important;color:initial!important;font-variant-emoji:emoji;filter:none!important}
button.menu{color:#ac4944!important;-webkit-text-fill-color:#ac4944}
@media(max-width:700px){.weather-forecast .weather-day:not(:first-child){display:none!important}}

@media(max-width:700px){.weather-bar .weather-forecast{display:none!important}}
.sp-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.sp-captcha{margin:18px 0;--altcha-border-radius:0;--altcha-color-base:#fffdf8;--altcha-color-border:#ded5c8;--altcha-color-text:#373936;--altcha-color-primary:#ac4944}.sp-submit-status{scroll-margin-top:100px}

.sp-captcha{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;margin:0!important;pointer-events:none}

/* Consistent square checkboxes, including Safari/macOS. */
form .check-row input[type="checkbox"]{appearance:none!important;-webkit-appearance:none!important;display:inline-block!important;box-sizing:border-box!important;width:17px!important;height:17px!important;min-width:17px!important;min-height:17px!important;padding:0!important;margin:2px 0 0!important;border:1px solid #948b82!important;border-radius:0!important;background:#fffdf8!important;box-shadow:none;flex:0 0 17px;cursor:pointer;vertical-align:middle}
form .check-row input[type="checkbox"]:checked{background-color:#ac4944!important;border-color:#ac4944!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 8 3 3 7-7' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E")!important;background-size:15px 15px!important;background-position:center!important;background-repeat:no-repeat!important}
form .check-row input[type="checkbox"]:focus-visible{outline:2px solid #ac4944;outline-offset:3px}
@media(forced-colors:active){form .check-row input[type="checkbox"]{appearance:auto!important;-webkit-appearance:auto!important}}

/* Deposit follows the individual price rows, not the grand total. */
body main .booking-estimate-panel .quote-deposit,body main .booking-estimate-panel .quote-deposit > span{font-size:15px!important;line-height:1.7!important;font-weight:400!important}

form .review-field-error{display:block;margin:7px 0 12px;padding:8px 11px;border-left:2px solid #ac4944;background:#f5eeea;color:#963b36;font:400 12px/1.6 Montserrat,Arial,sans-serif}form [aria-invalid="true"]:not(.sp-native-select){border-color:#ac4944!important}form .check-row + .review-field-error{margin-top:8px}

body main .booking-estimate-panel .quote-deposit,body main .booking-estimate-panel .quote-deposit > span{font-size:12px!important;line-height:1.7!important;font-weight:400!important}
.sp-consent{position:fixed;z-index:12000;left:20px;right:20px;bottom:20px;max-width:900px;margin:0 auto;padding:24px 28px;background:#fffdf8;border:1px solid #ded5c8;box-shadow:0 5px 35px #37393626;color:#373936;font:400 14px/1.7 Montserrat,Arial,sans-serif;max-height:85vh;overflow:auto;box-sizing:border-box}.sp-consent[hidden],.sp-consent [hidden]{display:none!important}.sp-consent h2{font:600 21px/1.4 Montserrat,Arial,sans-serif;margin:0 0 10px}.sp-consent p{font:inherit;margin:8px 0 12px}.sp-consent a{color:#963e39;text-decoration:underline}.sp-consent-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.sp-consent-actions button{background:#fffdf8;color:#963e39;border:1px solid #ac4944;border-radius:0;padding:11px 16px;font:500 13px/1.5 Montserrat,Arial,sans-serif;cursor:pointer}.sp-consent-actions button:hover{background:#f1e8e2}.sp-consent-details{margin-top:16px;padding-top:12px;border-top:1px solid #ded5c8}.sp-consent-details label{display:flex;align-items:center;gap:10px}.sp-consent-details input{accent-color:#ac4944;width:18px;height:18px}.sp-consent-reopen{display:block;margin:12px auto;padding:4px 0;border:0;background:transparent;color:#706a65;text-decoration:underline;font:400 11px/1.6 Montserrat,Arial,sans-serif;cursor:pointer}.sp-consent button:focus-visible,.sp-consent-reopen:focus-visible{outline:2px solid #ac4944;outline-offset:3px}@media(max-width:600px){.sp-consent{left:10px;right:10px;bottom:10px;padding:18px}.sp-consent-actions button{flex:1 1 45%}}

/* Compact privacy panel, distinct warm background and square controls. */
.sp-consent{max-width:720px;padding:16px 20px;background:#e9dfd4;border-color:#c9b6a5;font-size:12px;line-height:1.6;box-shadow:0 4px 22px #37393620}
.sp-consent h2{font-size:17px;margin-bottom:6px}.sp-consent p{margin:6px 0 8px}.sp-consent-actions{gap:8px;margin-top:12px}.sp-consent-actions button{font-size:12px;padding:8px 12px;background:#f7f2ec}.sp-consent-details{margin-top:10px;padding-top:8px;border-color:#c9b6a5}
.sp-consent-details input[type="checkbox"]{appearance:none!important;-webkit-appearance:none!important;box-sizing:border-box;width:16px;height:16px;min-width:16px;flex:0 0 16px;margin:0;padding:0;border:1px solid #8d7766;border-radius:0!important;background:#fffdf8;cursor:pointer}
.sp-consent-details input[type="checkbox"]:checked{background-color:#ac4944;border-color:#ac4944;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 8 3 3 7-7' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E");background-position:center;background-size:14px;background-repeat:no-repeat}.sp-consent-details input[type="checkbox"]:focus-visible{outline:2px solid #ac4944;outline-offset:3px}
@media(max-width:600px){.sp-consent{padding:14px 16px}.sp-consent-actions button{padding:9px 10px}}
@media(forced-colors:active){.sp-consent-details input[type="checkbox"]{appearance:auto!important;-webkit-appearance:auto!important}}

/* Bordeaux privacy panel with compact text; button type remains unchanged. */
.sp-consent{background:#ac4944;border-color:#963e39;color:#fffdf8;font-size:11px;line-height:1.6}
.sp-consent h2{font-size:15px;color:#fffdf8}.sp-consent p{color:#fffdf8}.sp-consent a{color:#fffdf8}.sp-consent-details{border-color:#ffffff55}.sp-consent-actions button{background:#fffdf8;color:#873833;border-color:#fffdf8}.sp-consent-actions button:hover{background:#eee3da}.sp-consent button:focus-visible,.sp-consent-details input[type="checkbox"]:focus-visible{outline-color:#fffdf8}.sp-consent-details input[type="checkbox"]{border-color:#fffdf8}

footer.footer .sp-consent-footer-link{display:flex;align-items:center;gap:10px;width:auto;margin:0;padding:7px 0;min-height:34px;border:0;background:transparent;text-align:left;text-decoration:none;color:#706a65;font:400 12px/20px Montserrat,Arial,sans-serif;cursor:pointer}footer.footer .sp-consent-footer-link svg{width:17px;height:17px;flex:0 0 17px;color:#ac4944}footer.footer .sp-consent-footer-link:hover{color:#ac4944}footer.footer .sp-consent-footer-link:focus-visible{outline:2px solid #ac4944;outline-offset:3px}

/* Keep the house navigation visible, matching the other pages. */
body.house-page > .header{position:sticky!important;top:0;z-index:50}

/* Small, quiet consent copy; action labels remain unchanged. */
body .sp-consent{max-width:640px;padding:13px 17px;font:400 10px/1.5 Montserrat,Arial,sans-serif}body .sp-consent h2{font:500 13px/1.4 Montserrat,Arial,sans-serif;margin:0 0 5px}body .sp-consent p,body .sp-consent>a,body .sp-consent-details label{font:400 10px/1.5 Montserrat,Arial,sans-serif}body .sp-consent p{margin:5px 0 7px}body .sp-consent-actions{margin-top:10px}

/* Reduce consent body copy by two typographic points (10px to 7.333px). */
body .sp-consent p,body .sp-consent>a,body .sp-consent-details label{font-size:7.333333px;line-height:1.6}

/* Override the paragraph font shorthand in the consent panel. */
html body .sp-consent p{font-size:10px!important;line-height:1.6!important}

/* Full-width background; privacy content follows the website content column. */
html body .sp-consent{left:0;right:0;bottom:0;width:100%;max-width:none;margin:0;padding:0;border-left:0;border-right:0;border-bottom:0;border-radius:0}html body .sp-consent .sp-consent-inner{width:min(1240px,90%);margin:0 auto;padding:16px 0;box-sizing:border-box}

/* Consent title: one typographic point smaller; body and buttons unchanged. */
html body .sp-consent h2{font-size:16px!important}

/* Interactive map preview: override the former image-only presentation. */
#stadtplan [data-google-map] .map-shell:has(.map-live-preview){position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:340px;padding:55px 24px;line-height:1.6;isolation:isolate;background:#ece8e1}
#stadtplan [data-google-map] .map-shell>.map-live-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1);opacity:.2;z-index:-1}
#stadtplan [data-google-map] .map-shell>h3{display:block;margin:0;font-size:19px;text-align:center}
#stadtplan [data-google-map] .map-shell>p{display:block;margin:0;max-width:520px;font-size:13px;line-height:1.65;color:var(--ink,#333);text-align:center}
#stadtplan [data-google-map] .map-shell>button[data-load-google-map]{display:inline-flex;position:static;transform:none;margin:5px 0 0;line-height:1.5}

/* Labelled map pins and compact navigation, scoped away from Google's own controls. */
.sp-map-marker{display:flex;align-items:flex-start;position:relative;transform:translate(50%,0);padding:0 0 7px;font-family:Montserrat,Arial,sans-serif}
.sp-map-pin{position:relative;display:grid;place-items:center;background:var(--marker-color);border:2px solid #fff;width:30px;height:32px;box-shadow:0 2px 4px #0003;color:#fff;flex-shrink:0}
.sp-map-pin:after{content:'';position:absolute;bottom:-8px;left:8px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:7px solid var(--marker-color)}
.sp-map-symbol{font:600 21px Arial,sans-serif;line-height:1}
.sp-map-label{display:block;background:#fffdf8;color:#393733;border:1px solid var(--marker-color);border-left:0;padding:7px 9px;font-size:11px;line-height:16px;white-space:nowrap;box-shadow:1px 2px 4px #0002}
.sp-map-navigation{display:flex;gap:1px;background:#ded5c8;margin:10px;padding:1px;box-shadow:0 1px 5px #0003}
.sp-map-navigation button{appearance:none;border:0;border-radius:0;background:#fffdf8;color:#ac4944;width:34px;height:34px;padding:0;font:20px Arial,sans-serif;cursor:pointer}
.sp-map-navigation button:hover{background:#eee8e0}.sp-map-navigation button:focus-visible{outline:2px solid #ac4944;outline-offset:-3px}

/* Keep the section heading clear of all Google controls. */
#stadtplan{padding-top:28px}
#stadtplan>h2{position:static;max-width:none;margin:0 0 20px;padding:0;background:none;box-shadow:none;pointer-events:auto}
/* Fine line icons, warm ivory labels and a restrained category accent. */
.sp-map-marker-refined{align-items:center;padding-bottom:10px;transform:translate(calc(50% - 14px),0);filter:drop-shadow(0 2px 2px #30282022)}
.sp-map-marker-refined .sp-map-pin{width:28px;height:30px;background:#fffdf8;color:var(--marker-color);border:1px solid var(--marker-color);box-shadow:none}
.sp-map-marker-refined .sp-map-pin:after{bottom:-7px;left:8px;border-left-width:5px;border-right-width:5px;border-top:6px solid var(--marker-color)}
.sp-map-marker-refined .sp-map-pin svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.sp-map-marker-refined .sp-map-label{padding:5px 8px;border-color:#d7cfc5;border-left:2px solid var(--marker-color);background:#fffdf8;color:#45413c;font-size:10px;line-height:16px;font-weight:500;box-shadow:none;max-width:180px;overflow:hidden;text-overflow:ellipsis}
@media(max-width:600px){#stadtplan>h2{padding:0;margin-bottom:16px;font-size:20px}.sp-map-marker-refined .sp-map-label{max-width:130px}}

.sp-map-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:16px max(16px,calc((100% - 1240px)/2));background:#fffdf9;border-top:1px solid #e4dcd1;border-bottom:1px solid #e4dcd1;font-family:Montserrat,Arial,sans-serif}
.sp-map-home-key{font-size:11px;color:#8e4542;margin-right:8px}
.sp-map-filters button{appearance:none;border:1px solid #d8cfc3;border-radius:0;padding:8px 11px;background:#fffdf9;color:#57514a;font:12px/1.3 Montserrat,Arial,sans-serif;cursor:pointer}
.sp-map-filters button[aria-pressed="true"]{background:#ac4944;border-color:#ac4944;color:#fff}
.sp-map-filters button:focus-visible{outline:2px solid #ac4944;outline-offset:3px}
@media(max-width:600px){.sp-map-filters{gap:7px;padding:13px 16px}.sp-map-home-key{width:100%;margin-bottom:4px}.sp-map-filters button{font-size:11px;padding:8px}}

/* Approved flag variant 1: fine outline, filled category square, small pointer. */
.sp-map-marker-outline .sp-map-pin{background:var(--marker-color);color:#fff;border:1px solid #45413c;width:29px;height:30px}
.sp-map-marker-outline .sp-map-pin:after{border-top-color:var(--marker-color)}
.sp-map-marker-outline .sp-map-label{border:1px solid #45413c;border-left:0;background:#fffdf8;color:#393733;font-size:11px;padding:5px 9px}
.arrival-map-placeholder [data-google-map] .map-shell{position:relative!important;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:340px!important;padding:40px 24px!important;line-height:1.6;background:#ece8e1}
.arrival-map-placeholder [data-google-map] .map-shell>.map-live-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.2;z-index:-1}
.arrival-map-placeholder [data-google-map] .map-shell>h3,.arrival-map-placeholder [data-google-map] .map-shell>p{display:block;margin:0;text-align:center;max-width:520px}
.arrival-map-placeholder [data-google-map] .map-shell>p{font-size:13px;line-height:1.65}
.arrival-map-placeholder [data-google-map] .map-shell>button{display:inline-flex;position:static;transform:none}

/* Approved 3D sign variant: frontal, level, ivory face and subtle colored post. */
.sp-map-marker-sign{align-items:flex-start;padding-bottom:18px;transform:translate(calc(50% - 20px),0);filter:none;isolation:isolate;cursor:pointer}
.sp-map-marker-sign:before{content:'';position:absolute;left:14px;bottom:1px;width:10px;height:20px;border:1px solid #0003;border-radius:0 0 2px 2px;background:linear-gradient(90deg,#ffffff55,var(--marker-color) 40%,#0003),var(--marker-color);box-shadow:2px 2px 3px #30282026;z-index:0}
.sp-map-marker-sign:after{content:'';position:absolute;left:10px;bottom:-2px;width:28px;height:5px;border-radius:50%;background:#30282025;filter:blur(2px);z-index:-1}
.sp-map-marker-sign .sp-map-pin{box-sizing:border-box;z-index:1;width:37px;height:38px;border:1px solid #aaa59e;border-right:0;background:linear-gradient(#fffefa,#f3eee6);color:var(--marker-color);box-shadow:inset 1px 1px 0 #fff,0 2px 3px #30282020}
.sp-map-marker-sign .sp-map-pin:after{display:none}
.sp-map-marker-sign .sp-map-pin svg{width:23px;height:23px;stroke-width:1.7}
.sp-map-marker-sign .sp-map-label{box-sizing:border-box;position:relative;z-index:1;height:38px;max-width:240px;padding:10px 11px 10px 3px;border:1px solid #aaa59e;border-left:0;background:linear-gradient(#fffefa,#f3eee6);color:#393733;font-size:11px;line-height:16px;font-weight:500;box-shadow:inset 0 1px 0 #fff,3px 1px 0 #c2beb7,4px 2px 0 #a6a19a,5px 4px 6px #30282029}
.sp-map-marker-sign:focus-visible{outline:2px solid var(--marker-color);outline-offset:5px}
@media(max-width:600px){.sp-map-marker-sign .sp-map-label{max-width:185px;font-size:10px}.sp-map-marker-sign .sp-map-pin{width:34px}}

/* Consistent category tints on both maps; the house sits above all other flags. */
.sp-map-marker-sign .sp-map-pin,.sp-map-marker-sign .sp-map-label{border-color:var(--marker-color);background:#fffdf8;background:linear-gradient(#fffefa,color-mix(in srgb,var(--marker-color) 16%,#fffdf8));}
.sp-map-marker-sign .sp-map-label{box-shadow:inset 0 1px 0 #fff,3px 1px 0 color-mix(in srgb,var(--marker-color) 40%,#c2beb7),4px 2px 0 #a6a19a,5px 4px 6px #30282029}
.sp-map-marker-sign[data-marker-kind="home"] .sp-map-label{font-weight:600}

/* Long place names wrap to two level, readable lines. */
.sp-map-marker-sign .sp-map-pin{height:44px}
.sp-map-marker-sign .sp-map-label{height:44px;max-width:230px;white-space:normal;overflow:hidden;text-overflow:clip;overflow-wrap:anywhere;hyphens:auto;padding:5px 11px 5px 3px;display:flex;align-items:center;line-height:16px}
@media(max-width:600px){.sp-map-marker-sign .sp-map-label{max-width:175px}}

/* Compact map card, below Google's map/satellite switch. */
#stadtplan:has(.sp-map-tools){padding-top:0}
#stadtplan:has(.sp-map-tools)>h2{display:none}
[data-google-map]:has(.sp-map-tools){position:relative}
.sp-map-tools{position:absolute;left:16px;top:68px;z-index:2;width:300px;max-width:calc(100% - 76px);padding:18px;background:rgba(255,253,249,.96);border:1px solid #ded5c9;box-shadow:0 2px 8px #40352b16;color:#343632;font-family:Montserrat,Arial,sans-serif}
.sp-map-tools h2{margin:0 0 14px;padding:0;font:600 18px/1.4 Montserrat,Arial,sans-serif;letter-spacing:0}
.sp-map-tools .sp-map-filters{display:flex;gap:7px;padding:0;border:0;background:none}
.sp-map-tools .sp-map-filters button{padding:7px 9px;font-size:11px}
@media(max-width:600px){.sp-map-tools{left:10px;top:64px;width:245px;padding:12px;max-height:230px;overflow:auto}.sp-map-tools h2{font-size:15px;margin-bottom:10px}.sp-map-tools .sp-map-filters{gap:5px}.sp-map-tools .sp-map-filters button{padding:6px 7px;font-size:10px}}

/* Equal-sized filter buttons keep the map card calm and aligned. */
.sp-map-tools .sp-map-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;align-items:stretch}
.sp-map-tools .sp-map-filters button{width:100%;min-width:0;min-height:44px;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;box-sizing:border-box}
@media(max-width:600px){.sp-map-tools .sp-map-filters{gap:5px}.sp-map-tools .sp-map-filters button{min-height:44px}}

/* Flip the sign around its fixed post when the opposite side has more space. */
.sp-map-marker-sign[data-label-side="left"]{flex-direction:row-reverse;transform:translate(calc(-50% + 20px),0)}
.sp-map-marker-sign[data-label-side="left"]:before{left:auto;right:14px}
.sp-map-marker-sign[data-label-side="left"]:after{left:auto;right:10px}
.sp-map-marker-sign[data-label-side="left"] .sp-map-pin{border-right:1px solid var(--marker-color);border-left:0}
.sp-map-marker-sign[data-label-side="left"] .sp-map-label{border-left:1px solid var(--marker-color);border-right:0;padding:5px 3px 5px 11px}

/* Mirror the raised sign edge as well as its label direction. */
.sp-map-marker-sign[data-label-side="left"] .sp-map-label{box-shadow:inset 0 1px 0 #fff,-3px 1px 0 color-mix(in srgb,var(--marker-color) 40%,#c2beb7),-4px 2px 0 #a6a19a,-5px 4px 6px #30282029}
