/* Compact visitor search, retaining the management search's blurred backdrop. */
.main-header .public-search-trigger{display:inline-flex;align-items:center;justify-content:center;width:52px;min-width:52px;height:44px;flex-shrink:0;margin-left:8px;border:1px solid #ffffff45;border-radius:6px;color:inherit;text-decoration:none;font-size:19px}
.main-header .public-search-trigger:hover{background:#ffffff20}
.public-search-trigger:focus-visible,.public-search-dialog :focus-visible,.public-search-results :focus-visible{outline:3px solid #b52a3d;outline-offset:3px}
body.public-search-open{overflow:hidden}
dialog.public-search-dialog{box-sizing:border-box;position:fixed;inset:0;margin:18vh auto auto;width:calc(100% - 32px);max-width:480px;max-height:calc(82dvh - 20px);padding:0;border:1px solid #ffffff90;border-radius:14px;background:rgba(255,255,255,.97);color:#20344f;box-shadow:0 16px 40px -12px #00000040;overflow:auto}
.public-search-dialog::backdrop{background:rgba(0,0,0,.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.public-search-dialog form{margin:0;padding:18px 20px 20px}
.public-search-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.public-search-dialog h2{margin:0;font-size:16px;color:#20344f}
.public-search-dialog [data-public-search-close]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border:0;border-radius:50%;background:transparent;color:#536477;font-size:12px;cursor:pointer}
.public-search-dialog-controls{display:flex;align-items:center;gap:8px}
.public-search-dialog input{box-sizing:border-box;flex:1;min-width:0;width:100%;height:38px;padding:8px 10px;border:0!important;outline:none!important;box-shadow:none!important;border-radius:6px;background:#fff;color:#20344f;font:inherit;font-size:14px}
.public-search-dialog input:is(:focus,:focus-visible){border:0!important;outline:none!important;box-shadow:none!important;background:#f4f7fb}
.public-search-dialog button[type=submit],.search-page-controls button{min-height:38px;padding:8px 16px;border:0;border-radius:6px;background:#173c68;color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.public-search-dialog p{font-size:12px;line-height:1.5;margin:10px 0 0}
.public-search-dialog #publicSearchError{color:#a21e32;font-weight:600}
.public-search-dialog-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;margin-top:14px;padding-top:12px;border-top:1px solid #dce3eb;font-size:11px;line-height:1.5;color:#536477}
.public-search-dialog-bottom span:last-child{white-space:nowrap}
.search-page-controls{display:flex;gap:12px;margin:20px 0}.search-page-controls input{min-width:0;flex:1;min-height:48px;border:1px solid #aeb9c7;border-radius:8px;padding:10px 12px;font:inherit;font-size:16px}
@media(max-width:1050px){.main-header .nav-container{gap:8px;flex-wrap:nowrap}.main-header .municipality-brand{min-width:0;max-width:none;flex:1 1 0;margin-right:auto}.main-header .brand-name{min-width:0}.main-header .public-search-trigger{margin-left:0}.main-header .municipality-menu-toggle{flex-shrink:0;width:44px;min-width:44px;min-height:44px;padding:8px}}
@media(max-width:400px){.main-header .brand-name{font-size:14px}.main-header .brand-name small{white-space:normal;font-size:9px}.main-header .municipality-brand{gap:8px}.main-header .municipality-seal{width:44px;height:48px}}
@media(max-width:600px){dialog.public-search-dialog{margin-top:12vh;max-height:calc(88dvh - 16px);border-radius:12px}.public-search-dialog form{padding:12px 14px 16px}.public-search-dialog [data-public-search-close]{width:44px;height:44px}.public-search-dialog input{height:44px;font-size:16px}.public-search-dialog button[type=submit]{min-height:44px;padding:8px 14px}}
@media(max-height:450px){dialog.public-search-dialog{margin-top:12px;max-height:calc(100dvh - 24px)}}
@media(max-width:1050px){.main-header .municipality-menu-toggle,.main-header .public-search-trigger{box-sizing:border-box;height:50px;min-height:50px}}
