.faq-button{border:.5px solid #d4d4d4;text-decoration:none}.top-nav{justify-content:space-between;padding:1rem 1.25rem;background-color:#edffdd}.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{position:relative;display:flex;align-items:center;width:100%;margin-top:.3rem}.search-icon{position:absolute;left:1rem;color:#9ca3af;pointer-events:none}.search-input{width:100%;padding:.9rem 1rem .9rem 2.75rem;border:1px solid #afb0b1;border-radius:30px;font-size:1rem;color:#262626;background-color:#fdfffb;transition:border-color .2s}.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:300px;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-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-goud{color:#111827}.score-editor-option-goud.selected{background-color:#ddb245;border-color:#ddb245;color:#fff}.score-editor-option-zilver{color:#111827}.score-editor-option-zilver.selected{background-color:#88a0b0;border-color:#88a0b0;color:#fff}.score-editor-option-brons{color:#111827}.score-editor-option-brons.selected{background-color:#946f52;border-color:#946f52;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:.8rem;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-goud{background-color:#ddb245}.school-info-badge-zilver{background-color:#88a0b0}.school-info-badge-brons{background-color:#946f52}.school-info-badge-onbepaald{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}.map-overlay-filters{position:absolute;top:1rem;left:1rem;z-index:100;pointer-events:none}.map-overlay-filters>*{pointer-events:auto}.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.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)}}.score-filter{flex-direction:column}.score-filter,.score-filter-button,.score-filter-main{display:flex;gap:.5rem}.score-filter-button{align-items:center;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.5rem;background-color:#f9fafb;color:#6b7280;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.score-filter-button:hover{background-color:#f3f4f6;border-color:#9ca3af}.score-filter-button.active{color:#fff}.score-filter-button-goud.active{background-color:#ddb245;border-color:#ddb245}.score-filter-button-zilver.active{background-color:#88a0b0;border-color:#88a0b0}.score-filter-button-brons.active{background-color:#946f52;border-color:#946f52}.score-filter-button-small.active{background-color:#f9fafb;border-color:#d1d5db;color:#6b7280}.score-filter-checkbox{width:1rem;height:1rem;border:2px solid;border-radius:.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.score-filter-button.active .score-filter-checkbox{border-color:#fff;background-color:#fff}.score-filter-button-goud.active .score-filter-checkmark{color:#ddb245}.score-filter-button-zilver.active .score-filter-checkmark{color:#88a0b0}.score-filter-button-brons.active .score-filter-checkmark{color:#946f52}.score-filter-button-small.active .score-filter-checkbox{border-color:currentColor;background-color:transparent}.score-filter-button-small.active .score-filter-checkmark{color:currentColor}.score-filter-checkmark{color:#fff;font-size:.75rem;font-weight:700;line-height:1}.score-filter-label{-webkit-user-select:none;-moz-user-select:none;user-select:none}.score-filter-button-small{font-size:.75rem;padding:.375rem .625rem;align-self:flex-start}.score-filter-button-small .score-filter-checkbox{width:.875rem;height:.875rem}.score-filter-button-small .score-filter-checkmark{font-size:.625rem}@media (min-width:768px){.score-filter{justify-content:flex-start}}.map-legend-container{position:absolute;bottom:1rem;left:1rem;z-index:1000;pointer-events:none}.map-legend-button{pointer-events:auto;padding:.2rem;background-color:#fff;border:1px solid #d1d5db;border-radius:10px;color:#374151;cursor:pointer;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:all .2s;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.map-legend-button:hover{background-color:#f9fafb;border-color:#9ca3af;box-shadow:0 4px 6px rgba(0,0,0,.15)}.map-legend-button svg{flex-shrink:0;display:block;margin:auto}.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{width:44px;height:44px;padding:.25rem}.map-legend-button svg{width:38px;height:38px}.map-legend-content{min-width:220px;max-width:280px}.map-legend-icon{width:28px;height:28px}}.home-container{min-height:100vh;background-color:#edffdd}.home-container,.main-content{display:flex;flex-direction:column}.main-content{padding:1rem 1.25rem;gap:1.5rem;flex-shrink:0}@media (min-width:768px){.main-content{padding:2rem;max-width:1200px;margin:0 auto;width:100%}}