@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');
:root{--paper:#f6f4ee;--ink:#242e2b;--muted:#707772;--line:#dedfd6;--orange:#c4683f;--green:#405d4b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'DM Sans',system-ui,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #c4683f;outline-offset:3px}header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid var(--line);gap:15px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--ink);font-size:25px;font-weight:700;letter-spacing:-1px}.brand-icon{background:var(--ink);color:#f4ead5;width:43px;height:43px;border-radius:50%;display:grid;place-items:center;font-size:34px}.brand-light{font-weight:400}.brand small{display:block;font-size:9px;letter-spacing:2px;font-weight:500;margin-top:5px}.header-right{display:flex;align-items:center;gap:10px}.private{font-size:11px;margin-right:12px;color:var(--green)}button{border:0;background:transparent;color:inherit}.primary{background:var(--ink);color:white;border-radius:7px;padding:12px 17px;font-weight:600}.primary:hover{background:#405d4b}.quiet{border:1px solid var(--line);padding:10px 13px;border-radius:7px;background:var(--paper)}.quiet:hover{background:#e9e7de}main{height:calc(100dvh - 90px);display:flex}.sidebar{width:390px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--line)}.intro{padding:28px 28px 20px}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--orange);font-weight:700}h1{font-family:'Playfair Display',Georgia,serif;font-size:39px;line-height:1.14;font-weight:500;letter-spacing:-1.3px;margin:14px 0}p{line-height:1.6}.intro p{color:var(--muted);font-size:12px;max-width:270px}.stats{display:flex;gap:25px;padding-top:11px;font-size:11px;color:var(--muted)}.stats b{font-size:19px;color:var(--ink);margin-right:4px;font-weight:500}.filters{padding:0 24px 18px;border-bottom:1px solid var(--line)}.search{display:flex;align-items:center;border:1px solid var(--line);border-radius:7px;padding:0 12px;background:#fffdf7}.search span{font-size:25px;color:var(--muted)}.search input{background:transparent;border:0;min-width:0;width:100%;padding:12px;outline:none}.select-row{display:flex;gap:8px;margin:11px 0}select{color:var(--ink);border:1px solid var(--line);background:#fffdf7;border-radius:6px;padding:10px;min-width:0}.select-row select{width:50%;font-size:11px}.tabs{display:flex;background:#eaeae2;border-radius:6px;padding:3px}.tabs button{flex:1;padding:8px 3px;font-size:11px;border-radius:4px}.tabs button.active{background:#fffdf7;box-shadow:0 1px 4px #0001}.favorite-filter{display:flex;align-items:center;gap:6px;font-size:11px;margin-top:10px;color:var(--muted)}input[type=checkbox]{accent-color:var(--green)}.list-heading{padding:16px 24px 10px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:var(--muted)}.text-button{font-size:10px;color:var(--green);letter-spacing:0}.places-list{overflow:auto;flex:1;padding:0 14px 15px}.place-card{display:flex;gap:13px;padding:15px 10px;border-bottom:1px solid var(--line);width:100%;text-align:left;align-items:flex-start;border-radius:5px}.place-card:hover,.place-card.selected{background:#eaece3}.place-symbol{display:grid;place-items:center;font-size:22px;background:#e9e2d5;color:#82624f;border-radius:10px;min-width:46px;height:48px}.place-card[data-category="Rituelen & monumenten"] .place-symbol{background:#dce6dd;color:#4b6453}.place-card[data-category="Medische rariteiten"] .place-symbol{background:#e4ddeb;color:#796287}.card-copy{flex:1;min-width:0}.card-copy h3{font-size:13px;font-weight:600;margin:1px 0 6px}.card-copy .location{color:var(--muted);font-size:10px}.card-copy .tag{display:inline-block;color:var(--orange);font-size:9px;margin-top:8px}.card-copy .visited-tag{color:var(--green)}.card-star{font-size:17px;color:var(--orange)}footer{border-top:1px solid var(--line);padding:13px 24px;font-size:9px;color:var(--muted);display:flex;flex-direction:column;gap:5px}.map-area{flex:1;position:relative;min-width:0}#map{width:100%;height:100%;background:#e6e9dd}.leaflet-container{font-family:'DM Sans',sans-serif}.leaflet-control-attribution{font-size:9px!important}.atlas-marker{background:#c4683f;border:3px solid #fff7ea;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 2px 6px #0003;width:30px!important;height:30px!important}.atlas-marker span{display:block;transform:rotate(45deg);text-align:center;color:#fff;font-size:14px;line-height:24px}.atlas-marker.visited{background:var(--green)}.map-caption{position:absolute;top:23px;left:24px;z-index:500;background:#fffdf5e8;backdrop-filter:blur(8px);padding:14px 18px;border:1px solid #ffffff;border-radius:8px;display:flex;gap:15px;align-items:center;font-size:11px;letter-spacing:2px;box-shadow:0 4px 15px #00000008;pointer-events:none}.map-caption small{font-size:10px;color:var(--muted);letter-spacing:0}.compass{font-size:18px;color:var(--orange)}.leaflet-top.leaflet-left{top:auto;bottom:28px;left:12px}.detail{position:absolute;right:24px;top:24px;bottom:24px;width:340px;max-width:calc(100% - 48px);z-index:700;background:var(--paper);border-radius:12px;box-shadow:0 15px 50px #0002;overflow:auto;padding:24px;border:1px solid #fff}.detail .close{position:absolute;right:12px;top:10px}.close{font-size:28px;line-height:1;padding:5px;color:var(--muted)}.detail h2{font:29px/1.15 'Playfair Display',Georgia,serif;margin:18px 20px 9px 0}.detail h4{font-size:10px;letter-spacing:1px;color:var(--muted);margin:22px 0 7px;text-transform:uppercase}.detail p{font-size:12px;margin:8px 0;white-space:pre-line}.detail .location{color:var(--muted);font-size:11px}.detail-image{width:100%;max-height:170px;object-fit:cover;border-radius:7px;margin-top:15px}.detail .detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 8px}.detail a{color:var(--green)}.detail textarea{width:100%;padding:10px;background:#fffdf7;border:1px solid var(--line);border-radius:6px;min-height:90px;font-size:12px}.detail-status{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.detail-status label{font-size:12px}.route{display:inline-block;text-decoration:none;border:1px solid var(--line);padding:10px;border-radius:6px;font-size:12px}.favorite-btn{font-size:18px;color:var(--orange)}dialog{padding:0;border:1px solid var(--line);border-radius:14px;width:580px;max-width:calc(100% - 24px);max-height:90dvh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#18291c66;backdrop-filter:blur(3px)}#placeForm{padding:26px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start}.modal-head h2{font:28px 'Playfair Display',Georgia,serif;margin:12px 0 25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--muted)}.form-grid input:not([type=checkbox]),.form-grid textarea,.form-grid select{width:100%;border:1px solid var(--line);border-radius:6px;padding:10px;background:#fffdf7;color:var(--ink)}.form-grid .wide{grid-column:1/-1}.form-grid .check{flex-direction:row;align-items:center}.coords-help{display:flex;flex-direction:column;gap:7px}.coords-help small{color:var(--muted);font-size:10px}.modal-actions{display:flex;justify-content:flex-end;gap:15px;border-top:1px solid var(--line);margin-top:23px;padding-top:20px}.danger{color:#9e3e30;font-size:11px;margin-right:auto}.pick-banner{position:absolute;left:50%;bottom:35px;transform:translateX(-50%);z-index:900;background:var(--ink);color:white;padding:15px;border-radius:8px;width:80%;text-align:center;box-shadow:0 3px 15px #0003}.pick-banner button{text-decoration:underline;margin-left:10px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:13px 21px;border-radius:7px;z-index:2000;max-width:90%;box-shadow:0 4px 18px #0003}.mobile-toggle{display:none}.empty{padding:30px 12px;color:var(--muted);line-height:1.7}.noscript{padding:20px}.save-disabled{opacity:.5;pointer-events:none}[hidden]{display:none!important}
@media(max-width:1000px){header{padding:0 20px}.private{display:none}.sidebar{width:335px}.intro{padding:23px}h1{font-size:34px}.detail{width:300px;right:15px;max-width:calc(100% - 30px)}}@media(max-width:720px){header{height:76px;padding:0 15px}.brand{font-size:19px;gap:8px}.brand-icon{width:35px;height:35px;font-size:27px}.brand small{font-size:7px;letter-spacing:1px}.header-right{gap:5px}.header-right .quiet{font-size:0;padding:8px}.header-right .quiet:first-of-type:after{content:'↓';font-size:17px}.header-right .quiet:nth-of-type(2):after{content:'↑';font-size:17px}.header-right .primary{font-size:0;padding:7px 11px}.header-right .primary:after{content:'+';font-size:23px}main{height:calc(100dvh - 76px)}.sidebar{position:absolute;left:0;top:76px;bottom:0;z-index:650;width:min(340px,88vw);background:var(--paper);transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:10px 0 40px #0002}.intro{padding:22px 24px 16px}h1{font-size:30px}.mobile-toggle{display:block;position:absolute;left:17px;top:15px;z-index:680;background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:11px 13px;box-shadow:0 2px 10px #0001}.map-caption{top:70px;left:18px;padding:10px 13px}.detail{top:auto;bottom:15px;left:15px;right:15px;width:auto;max-width:none;max-height:65%;padding:20px}.detail h2{font-size:26px}.form-grid{gap:12px}#placeForm{padding:20px}.leaflet-top.leaflet-left{bottom:25px}.pick-banner{bottom:60px;font-size:12px}.map-area{width:100%}}
