.faq-button{border:.5px solid #d4d4d4;text-decoration:none}.top-nav{justify-content:space-between;padding:1rem 1.25rem}.logo,.logo-link,.top-nav{display:flex;align-items:center}.logo-link{text-decoration:none;transition:opacity .2s}.logo-link:hover{opacity:.8}.logo-image{height:32px;width:auto;object-fit:contain}.faq-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#f6f6f6;border:.5px solid #ddd;border-radius:30px;color:#696969;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.faq-button:hover{background-color:#e5e7eb}.faq-button svg{color:#6b7280}@media (min-width:768px){.top-nav{padding:1.25rem 2rem}.logo-main{font-size:1rem}.logo-sub{font-size:.8125rem}}.header-title{display:flex;flex-direction:column;gap:.25rem;text-align:center}.title-main{font-size:2.2rem;font-weight:700;color:#42414f;line-height:1.1;letter-spacing:-.02em}.title-sub{font-size:1.5rem;font-weight:400;color:#42414f;line-height:1.2}@media (min-width:768px){.title-main{font-size:2.5rem}.title-sub{font-size:1.5rem}}@media (min-width:1024px){.title-main{font-size:3rem}.title-sub{font-size:1.75rem}}.tagline{display:flex;flex-direction:column;align-items:center;width:95%;margin:-.8rem auto 0}.tagline-text{font-size:.9375rem;color:#6b7280;font-weight:400;margin:0;text-align:center}.tagline-text a{color:#2a5092;text-decoration:none}@media (min-width:768px){.tagline{width:60%;line-height:1.5rem;margin:-.6rem auto 0}.tagline-text{font-size:1rem}}.search-container{display:flex;align-items:center;margin-top:.3rem;scroll-margin-top:max(12px,calc(env(safe-area-inset-top, 0px) + 8px));scroll-margin-bottom:.5rem}.search-container,.search-input-wrapper{position:relative;width:100%}.search-input-ghost{position:absolute;left:1px;right:1px;top:1px;bottom:1px;display:flex;align-items:center;padding:.9rem 1rem .9rem 2.75rem;font-size:1rem;font-family:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;white-space:pre;overflow:hidden;pointer-events:none;z-index:3}.search-input-ghost-typed{color:#262626}.search-icon,.search-input-ghost-suggestion{color:#9ca3af}.search-icon{position:absolute;left:1rem;pointer-events:none;z-index:4}.search-input{width:100%;padding:.9rem 1rem .9rem 2.75rem;border:1px solid #afb0b1;border-radius:30px;font-size:1rem;font-family:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;color:#262626;background-color:#fdfffb;transition:border-color .2s;position:relative;z-index:2}.search-input.has-ghost{color:transparent;caret-color:#262626}.search-input:focus{outline:none;border-color:#22c55e}.search-input::placeholder{color:#9ca3af}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background-color:#fdfffb;border:1px solid #d1d5db;border-radius:.75rem;margin-top:.5rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);z-index:1000;max-height:360px;overflow-y:auto}.autocomplete-item{width:100%;padding:.75rem 1rem;text-align:left;background:none;border:none;border-bottom:1px solid #f3f4f6;color:#111827;font-size:.9375rem;cursor:pointer;transition:background-color .15s;display:flex;justify-content:space-between;align-items:center;gap:.5rem}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item.selected,.autocomplete-item:hover{background-color:#f3f4f6}.autocomplete-item:focus{outline:none;background-color:#e5e7eb}.autocomplete-item-name{flex:1 1;text-align:left}.autocomplete-item-tag{font-size:.7rem;padding:.2rem .5rem;border-radius:.375rem;font-weight:500;white-space:nowrap;flex-shrink:0}.autocomplete-item-tag-basisschool,.autocomplete-item-tag-middelbareschool{background-color:#f3f4f6;color:#6b7280}.autocomplete-category{padding:.3rem 1rem .25rem}.autocomplete-category-label{font-size:.65rem;font-weight:600;color:#8e8e8e;text-transform:uppercase;letter-spacing:.05em}@media (min-width:768px){.search-container{max-width:600px;margin:0 auto}}.school-type-toggle{display:flex;gap:.2rem;background-color:#f6f6f6;border:.5px solid #e9e9e9;border-radius:13px;padding:2.5px;margin-top:-.75rem}.toggle-button{flex:1 1;padding:.35rem 1rem;border:.5px solid #f6f6f6;background:none;border-radius:11px;color:#999;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.toggle-button.active{background-color:#fdfffb;border:.5px solid #e9e9e9;color:#454545;font-weight:600}.toggle-button:not(.active):hover{background-color:#f3f4f6}@media (min-width:768px){.school-type-toggle{max-width:400px;margin-left:auto;margin-right:auto;width:100%}.toggle-button{flex:1 1 50%;min-width:0}}.score-filter,.score-filter-main{display:flex;flex-direction:column;gap:.3rem}.score-filter-button{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border:1px solid #d1d5db;border-radius:9999px;background-color:#f9fafb;color:#6b7280;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.score-filter-button-with-tooltip{position:relative}.score-filter-tooltip{display:none;position:absolute;top:50%;left:100%;transform:translateY(-50%) translateX(8px);background:#1f2937;color:#fff;padding:.5rem .75rem;border-radius:6px;font-size:.8125rem;font-weight:400;line-height:1.4;white-space:normal;max-width:280px;width:max-content;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .05s ease-out,visibility .05s ease-out;z-index:1000;box-shadow:0 2px 8px rgba(0,0,0,.15)}.score-filter-button-with-tooltip:hover .score-filter-tooltip{opacity:1;visibility:visible}.score-filter-button:hover{background-color:#f3f4f6;border-color:#9ca3af}.score-filter-button.active{color:#fff}.score-filter-button-geen-smartphones.active{background-color:#0cec91;border-color:#0cec91}.score-filter-button-uitsteladvies.active{background-color:#c25ed6;border-color:#c25ed6}.score-filter-button-overige-maatregelen.active{background-color:#dab929;border-color:#dab929}.score-filter-button-small.active{background-color:#f9fafb;border-color:#d1d5db;color:#6b7280}.score-filter-radio{width:1rem;height:1rem;border:2px solid;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;box-sizing:border-box}.score-filter-button.active .score-filter-radio{border-color:currentColor}.score-filter-button-geen-smartphones.active .score-filter-radio{border-color:hsla(0,0%,100%,.9)}.score-filter-button-geen-smartphones.active .score-filter-radio-dot{background-color:#fff}.score-filter-button-uitsteladvies.active .score-filter-radio{border-color:hsla(0,0%,100%,.9)}.score-filter-button-uitsteladvies.active .score-filter-radio-dot{background-color:#fff}.score-filter-button-overige-maatregelen.active .score-filter-radio{border-color:hsla(0,0%,100%,.9)}.score-filter-button-overige-maatregelen.active .score-filter-radio-dot{background-color:#fff}.score-filter-button-small.active .score-filter-radio{border-color:currentColor}.score-filter-button-small.active .score-filter-radio-dot{background-color:currentColor}.score-filter-radio-dot{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0;position:relative;transition:background-color .15s}@media (hover:hover) and (pointer:fine){.score-filter-button:not(.active):hover .score-filter-radio:after{content:"";width:.5rem;height:.5rem;border-radius:50%;background:currentColor;opacity:.4}.score-filter-button-small:not(.active):hover .score-filter-radio:after{width:.375rem;height:.375rem}.score-filter-button.active:hover .score-filter-radio-dot{background-color:transparent!important}.score-filter-button.active:hover .score-filter-radio-dot:after{content:"×";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:.7rem;font-weight:700;line-height:1;color:currentColor}}.score-filter-label{-webkit-user-select:none;-moz-user-select:none;user-select:none}.score-filter-count{opacity:.85;font-weight:400}.score-filter-button-small{font-size:.75rem;padding:.4rem .6rem;align-self:flex-start}.score-filter-button-small .score-filter-radio{width:.875rem;height:.875rem}.score-filter-button-small .score-filter-radio-dot{width:.375rem;height:.375rem}@media (min-width:768px){.score-filter{justify-content:flex-start}.score-filter-button{font-size:.875rem}.score-filter-button-small{font-size:.8rem}.score-filter-tooltip{display:block}}.score-editor-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);z-index:2000;animation:fadeIn .2s ease-out}.score-editor-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#fff;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.2);z-index:2001;width:90%;max-width:400px;max-height:90vh;overflow-y:auto;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-60%)}to{opacity:1;transform:translate(-50%,-50%)}}.score-editor-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.score-editor-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.score-editor-close{background:none;border:none;cursor:pointer;padding:.25rem;color:#6b7280;display:flex;align-items:center;justify-content:center;transition:color .2s}.score-editor-close:hover{color:#111827}.score-editor-content{padding:1.5rem}.score-editor-school-name{margin:0 0 1.5rem;font-size:.875rem;color:#6b7280;font-weight:500}.score-editor-options{display:flex;flex-direction:column;gap:.75rem}.score-editor-option{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:.75rem;background-color:#fff;color:#111827;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;width:100%;text-align:left}.score-editor-option:hover{border-color:#d1d5db;background-color:#f9fafb}.score-editor-option-geen-smartphones{color:#111827}.score-editor-option-geen-smartphones.selected{background-color:#0cec91;border-color:#0cec91;color:#fff}.score-editor-option-uitsteladvies{color:#111827}.score-editor-option-uitsteladvies.selected{background-color:#c25ed6;border-color:#c25ed6;color:#fff}.score-editor-option-overige-maatregelen{color:#111827}.score-editor-option-overige-maatregelen.selected{background-color:#dab929;border-color:#dab929;color:#fff}.score-editor-option-onbekend{color:#6b7280}.score-editor-option-onbekend.selected{background-color:#f3f4f6;border-color:#d1d5db;color:#6b7280}.score-editor-error{margin-top:1rem;padding:.75rem;background-color:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;color:#dc2626;font-size:.875rem}.score-editor-actions{display:flex;gap:.75rem;padding:1.5rem;border-top:1px solid #e5e7eb}.score-editor-cancel,.score-editor-save{flex:1 1;padding:.875rem 1.5rem;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.score-editor-cancel{background-color:#f3f4f6;border:2px solid #e5e7eb;color:#111827}.score-editor-cancel:hover:not(:disabled){background-color:#e5e7eb}.score-editor-save{background-color:#111827;border:2px solid #111827;color:#fff}.score-editor-save:hover:not(:disabled){background-color:#374151;border-color:#374151}.score-editor-cancel:disabled,.score-editor-save:disabled{opacity:.6;cursor:not-allowed}@media (max-width:768px){.score-editor-modal{width:95%;max-width:none}.score-editor-header{padding:1.25rem}.score-editor-header h3{font-size:1.125rem}.score-editor-content{padding:1.25rem}.score-editor-actions{padding:1.25rem;flex-direction:column}.score-editor-cancel,.score-editor-save{width:100%}}.school-info-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.3);z-index:1000;animation:fadeIn .2s ease-out;cursor:pointer;touch-action:none}.school-info-card{position:fixed;bottom:0;left:0;right:0;background-color:#fff;border-radius:16px 16px 0 0;padding:1.5rem;z-index:1001;box-shadow:0 -4px 20px rgba(0,0,0,.15);animation:slideUp .3s ease-out;max-height:60vh;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;width:100%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.school-info-header{display:flex;align-items:flex-start;gap:.75rem}.school-info-name-link{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:inherit;flex:1 1;min-width:0}.school-info-name{font-size:1.125rem;font-weight:700;color:#111827;line-height:1.4;margin:0;word-wrap:break-word;overflow-wrap:break-word;min-width:0}.school-info-name-link:hover .school-info-name{text-decoration:underline}.school-info-website-icon{flex-shrink:0;color:#6b7280;transition:color .2s}.school-info-name-link:hover .school-info-website-icon{color:#111827}.school-info-address{font-size:.875rem;color:#6b7280;margin:0 0 1rem;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word}.school-info-attributes{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.school-info-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border-radius:.5rem;font-size:.78rem;font-weight:500;line-height:1}.school-info-badge-type{background-color:#f3f4f6;color:#4b5563}.school-info-badge-score{color:#fff;font-weight:600}.school-info-badge-clickable{cursor:pointer;transition:transform .2s,opacity .2s}.school-info-badge-clickable:hover{opacity:.8}.school-info-badge-geen-smartphones{background-color:#0cec91}.school-info-badge-uitsteladvies{background-color:#c25ed6}.school-info-badge-overige-maatregelen{background-color:#dab929}.school-info-badge-onbekend{background-color:#f3f4f6;color:#6b7280;border:1px solid #d1d5db}.school-info-badge-students{background-color:#f3f4f6;color:#4b5563}.lightning-icon{flex-shrink:0}.school-info-action-button{width:100%;padding:.875rem 1.5rem;background-color:#fff;border:2px solid #111827;border-radius:.75rem;font-size:1rem;font-weight:600;color:#111827;cursor:pointer;transition:all .2s;margin-bottom:.75rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.school-info-action-button:hover:not(:disabled){background-color:#111827;color:#fff}.school-info-action-button:disabled{opacity:.7;cursor:not-allowed}.school-info-loading-spinner{width:16px;height:16px;border:2px solid rgba(17,24,39,.2);border-top-color:#111827;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.school-info-secondary-action{font-size:.875rem;color:#6b7280;text-align:center;margin:0}.school-info-secondary-link{color:#6b7280;text-decoration:underline;cursor:pointer;transition:color .2s}.school-info-secondary-link:hover:not(.school-info-secondary-link-loading){color:#374151}.school-info-secondary-link-loading{opacity:.7;cursor:wait;pointer-events:none}@media (min-width:768px){.school-info-card{left:50%;transform:translateX(-50%);max-width:500px;width:calc(100% - 2rem);border-radius:16px;bottom:2rem;animation:slideUpDesktop .3s ease-out;max-height:calc(100vh - 4rem)}@keyframes slideUpDesktop{0%{transform:translate(-50%,calc(100% + 2rem))}to{transform:translate(-50%)}}}.school-map{width:100%;height:100%;min-height:400px;flex:1 1;position:relative;overflow:visible}@media (max-width:767px){.school-map{min-height:500px}}.map-overlay-filters{position:absolute;top:1rem;left:1rem;z-index:100;pointer-events:none}.map-overlay-filters>*{pointer-events:auto}.map-overlay-show-all{position:absolute;bottom:5.5rem;left:50%;transform:translateX(-50%);z-index:100;pointer-events:auto}@media (max-width:767px){.map-overlay-show-all{bottom:32%}}.map-show-all-schools-btn{padding:.85rem 1.5rem;font-size:.8rem;font-weight:700;color:#374151;background-color:#fff;border:2px solid #aaa;border-radius:9999px;cursor:pointer;transition:background .15s,border-color .15s}.map-show-all-schools-btn:hover{background-color:#f9fafb;border-color:#9ca3af}.maplibregl-popup{max-width:300px}.maplibregl-popup-content{padding:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.maplibregl-ctrl-group{border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.maplibregl-ctrl-zoom-in,.maplibregl-ctrl-zoom-out{border-radius:8px 8px 0 0}.maplibregl-ctrl-zoom-out{border-top:1px solid #e5e7eb;border-radius:0 0 8px 8px}.school-map button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23374151' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}.school-map button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23374151' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.school-map.loading-markers{opacity:.7;transition:opacity .2s ease-in-out}.map-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;pointer-events:none}.map-loader-spinner{width:32px;height:32px;border:3px solid rgba(0,0,0,.1);border-top-color:#00e085;border-radius:50%;animation:map-loader-spin .8s linear infinite}@keyframes map-loader-spin{to{transform:rotate(1turn)}}.map-legend-container{position:absolute;bottom:1rem;left:1rem;z-index:1000;pointer-events:none}.map-legend-button{pointer-events:auto;min-height:29px;padding:.35rem .7rem .35rem .55rem;background-color:#fff;border:none;border-radius:8px;color:#374151;cursor:pointer;box-shadow:0 0 0 2px rgba(0,0,0,.1);transition:background-color .15s ease;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:500}.map-legend-button:hover{background-color:#f9fafb}.map-legend-button-icon{flex-shrink:0;margin-right:.4rem}.map-legend-content{pointer-events:auto;margin-top:.5rem;background-color:#fff;border:1px solid #d1d5db;border-radius:.5rem;box-shadow:0 4px 6px rgba(0,0,0,.1);padding:1rem;min-width:250px;max-width:300px}.map-legend-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.map-legend-header h3{margin:0;font-size:1rem;font-weight:600;color:#111827}.map-legend-close{background:none;border:none;font-size:1.5rem;line-height:1;color:#6b7280;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:background-color .2s}.map-legend-close:hover{background-color:#f3f4f6;color:#374151}.map-legend-items{display:flex;flex-direction:column;gap:.75rem}.map-legend-item{display:flex;align-items:center;gap:.75rem}.map-legend-icon{width:32px;height:32px;flex-shrink:0;object-fit:contain}.map-legend-text{display:flex;flex-direction:column;gap:.125rem}.map-legend-text strong{font-size:.875rem;font-weight:600;color:#111827}.map-legend-text span{font-size:.8125rem;color:#6b7280;line-height:1.4}@media (max-width:767px){.map-legend-button{padding:.35rem .7rem .35rem .55rem}.map-legend-content{min-width:220px;max-width:280px}.map-legend-icon{width:28px;height:28px}}.home-container{min-height:100vh;background-color:#e6f8c5}.home-container,.home-map-wrapper{display:flex;flex-direction:column}.home-map-wrapper{width:100%;flex:1 1 auto;min-height:0}.home-map-wrapper .school-map{flex:1 1 auto}.main-content{display:flex;flex-direction:column;padding:1rem 1.25rem;gap:1.5rem;flex-shrink:0}@media (min-width:768px){.home-container{height:100vh;min-height:100vh}.main-content{padding:1rem 2rem 2rem;max-width:1200px;margin:0 auto;width:100%}.home-map-wrapper .school-map{height:auto}}