/* Shared public-site spacing and appearance. Loaded after page styles. */
:root{color-scheme:light;--surface:#fff;--page:#fff;--soft:#f3f5ef}
body{background:var(--page)}
.topbar{padding:3px 0;background:var(--page);font-size:.75rem;line-height:1.4}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px 24px}
.section{padding-block:96px}.section-small{padding-block:44px}.section-heading{margin-bottom:40px}.cards{gap:32px}.card-body{padding:28px}.card-description{margin-bottom:26px}.card-bottom{padding-top:20px}.search-layout{gap:40px;padding-block:48px 88px}.filters{padding:28px}.detail-grid{gap:56px}.contact-card{padding:36px}.prose{line-height:1.9}.panel{padding:40px}.form-field{margin-bottom:28px}.narrow{max-width:640px}.split{gap:64px}.site-footer{padding-top:64px}.footer-grid{padding-bottom:48px}.home-roofwander+.section{padding-top:64px}
html[data-theme="dark"]{color-scheme:dark;--ink:#edf2ec;--muted:#b7c1b5;--line:#414d45;--light:#222d27;--green:#a4d4b0;--orange-dark:var(--orange);--surface:#1c2520;--page:#151b19;--soft:#202a24}
[data-theme="dark"] :is(.site-header,.place-card,.hero-search,.panel,.contact-card,.filters,.journey,.managed-place,.skip-link){background:var(--surface)}
[data-theme="dark"] :is(.site-footer,.country){background:var(--soft)}
[data-theme="dark"] .country{color:var(--ink)}
[data-theme="dark"] :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background:#141d17;color:var(--ink);border-color:#637264}
[data-theme="dark"] input::placeholder,[data-theme="dark"] textarea::placeholder{color:#a7b1a6}
[data-theme="dark"] .button.outline:hover{background:#3a2b1f;color:var(--ink)}
[data-theme="dark"] .photo-empty,[data-theme="dark"] .card-picture{background:#29372d;color:var(--muted)}
[data-theme="dark"] .journey li:before{background:#3c2b1c;color:var(--orange)}
[data-theme="dark"] :is(.notice,.status-published){background:#203c2b;border-color:#45634d;color:#c7ecd0}
[data-theme="dark"] .status{background:#354037;color:#e1e7df}
[data-theme="dark"] .status-pending{background:#49391e;color:#ffdf9b}
[data-theme="dark"] .status-suspended{background:#492a25;color:#ffc3b6}
[data-theme="dark"] .empty-state{background:var(--light);border-color:var(--line)}
[data-theme="dark"] :is(.form-errors,.field-error,.password-confirmation-error){color:#ffb3ac}
[data-theme="dark"] .form-errors{background:#382422;border-color:#80534c}
[data-theme="dark"] .form-field .password-checklist li{color:#ffb3ac}
[data-theme="dark"] .form-field .password-checklist li.is-valid{color:#a0dfab}
[data-theme="dark"] :is(.brand img,.footer-grid img){background:#fff;padding:8px;border-radius:7px;box-sizing:content-box}
[data-theme="dark"] :is(.cookie-dialog,.cookie-launcher){background:var(--surface);color:var(--ink);border-color:var(--line)}
[data-theme="dark"] :is(.cookie-dialog h2,.cookie-close){color:var(--ink)}
[data-theme="dark"] :is(.cookie-category,.cookie-action,.map-consent-note,.legal-identity){background:var(--light);color:var(--ink);border-color:var(--line)}
[data-theme="dark"] :is(.cookie-action:hover,.cookie-launcher:hover){background:#334437;color:var(--ink)}
[data-theme="dark"] .legal-version{color:var(--muted)}
[data-theme="dark"] .legal-warning{background:#392e1e;color:#f6dfb6}
[data-theme="dark"] :is(.legal-layout td,.legal-layout th){border-color:var(--line)}
[data-theme="dark"] :is(.leaflet-popup-content-wrapper,.leaflet-bar a,.leaflet-control-layers){background:var(--surface);color:var(--ink)}
[data-theme="dark"] .leaflet-popup-tip{background:var(--surface)}
[data-theme="dark"] .leaflet-container{background:#29352e}
[data-theme="dark"] .leaflet-control-attribution{background:#1c2520ed;color:var(--muted)}
[data-theme="dark"] .leaflet-control-attribution a{color:var(--orange)}
@media(max-width:1000px){.detail-grid{gap:32px}.split{gap:36px}.search-layout{gap:28px}.header-inner{gap:20px}}
@media(max-width:600px){.topbar-inner{gap:4px 12px;text-align:left}.topbar-inner>span{flex:1;min-width:0}.section{padding-block:56px}.section-small{padding-block:32px}.section-heading{margin-bottom:28px}.cards{gap:24px}.card-body,.contact-card,.panel{padding:25px}.search-layout{padding-block:32px 56px}.filters{padding:24px}.detail-grid{gap:28px}.split{gap:32px}.home-roofwander+.section{padding-top:44px}.footer-grid{padding-bottom:32px}}

/* Navigation shares one continuous surface with the header in both themes. */
.site-header{background:var(--surface)}
#navigation{background:var(--surface);gap:6px}
#navigation a{white-space:nowrap}
#navigation .nav-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 13px;border:1px solid transparent;border-radius:12px;font-weight:700;line-height:1.4;transition:background .18s,border-color .18s,color .18s}
#navigation svg{width:19px;height:19px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;color:var(--green)}
#navigation .nav-search{background:var(--soft);border-color:var(--line);color:var(--green)}
#navigation .nav-link:hover{background:var(--soft);border-color:var(--line);color:var(--orange-dark)}
#navigation .nav-link[aria-current]{background:#fff0e2;border-color:#e9b88f;color:var(--orange-dark)}
#navigation .nav-link[aria-current] svg{color:currentColor}
#navigation .login-link{border-radius:12px;margin-left:6px;padding-left:18px;font-weight:400}
#navigation .button{border-radius:12px;gap:9px}
#navigation .button[aria-current]{color:#fff;box-shadow:0 0 0 3px var(--surface),0 0 0 4px var(--orange-dark)}
[data-theme="dark"] #navigation .nav-link[aria-current]{background:#3c2b1c;border-color:#8b5c35}
.menu-button{background:var(--surface);color:var(--ink);border-radius:12px}
.menu-button[aria-expanded="true"]{background:var(--soft);border-color:var(--orange-dark)}
@media(min-width:901px) and (max-width:1200px){.header-inner{flex-wrap:wrap;justify-content:center;gap:12px;padding-block:18px}#navigation{justify-content:center;flex-wrap:wrap}}
@media(max-width:900px){#navigation{padding:16px 20px 22px;border-top:1px solid var(--line);border-radius:0 0 20px 20px}#navigation.open{gap:8px}#navigation .nav-link{justify-content:flex-start;min-height:50px;padding:13px 16px}#navigation .login-link{border-radius:12px;margin:6px 0 0}#navigation .button{min-height:48px}}
