/* BRAND + MOBILE CALENDAR: override legacy responsive rules */
:root{--brand-deep:#103a32;--brand-green:#13785b;--brand-soft:#eff8f2}
.header .logo{display:flex;align-items:center;min-width:0;white-space:nowrap;font-weight:900;letter-spacing:-.6px;color:#15343c}
.header .logo .brand-icon{border-radius:9px;box-shadow:0 2px 7px #103a3215}
.calendar-area,.calendar-hero{overflow:visible}
.calendar-event-list{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;gap:12px!important;visibility:visible!important;opacity:1!important}
.calendar-event-list .event-row{display:flex!important;max-width:none!important;min-width:0!important;width:100%!important;box-sizing:border-box!important;visibility:visible!important;opacity:1!important}
.calendar-event-list .event-row-info{min-width:0;overflow-wrap:anywhere}
.calendar-event-list .event-row h3{overflow-wrap:anywhere}
.calendar-event-list .event-row-facts{color:#4b646b!important}
.calendar-results-header{min-width:0}
.calendar-load-error{background:#fff8eb;border:1px solid #e9cc94;color:#533f24;padding:20px;border-radius:15px;line-height:1.5}
.calendar-load-error strong{display:block;font-size:17px;margin-bottom:7px}
.calendar-load-error button{margin-top:12px}
@media(max-width:700px){
 .header .navrow{display:flex;gap:8px!important;align-items:center!important;justify-content:space-between!important}
 .header .logo{font-size:clamp(11px,3.1vw,16px)!important;flex:1 1 auto!important;min-width:0!important;letter-spacing:-.55px!important;gap:5px!important}
 .header .logo .brand-icon{width:31px!important;height:31px!important;flex:none}
 .header .nav-portal{font-size:10px!important;max-width:110px!important;line-height:1.2!important;padding:9px!important;flex:none}
 .header .menu{flex:none!important}
 .calendar-hero{padding:26px 0!important}
 .calendar-hero h1{font-size:clamp(29px,8vw,40px)!important;line-height:1.15!important;margin:7px 0!important}
 .calendar-hero p{font-size:14px!important;line-height:1.55!important}
 .calendar-area{padding:14px 0 54px!important}
 .calendar-search-panel{padding:15px!important;border-radius:15px!important}
 .calendar-main-filters{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:11px!important}
 .calendar-main-filters .field{min-width:0!important;grid-column:auto!important}
 .calendar-search-panel input,.calendar-search-panel select{min-width:0!important;max-width:100%!important;font-size:16px!important}
 .calendar-filter-actions{flex-wrap:wrap!important}
 .calendar-results-header{margin:26px 0 14px!important;gap:13px!important}
 .calendar-results-header h2{font-size:25px!important}
 .calendar-event-list .event-row{display:grid!important;grid-template-columns:64px minmax(0,1fr)!important;align-items:start!important;gap:12px!important;padding:15px!important;border-radius:16px!important}
 .calendar-event-list .event-row-date{grid-column:1;grid-row:1;width:64px!important;min-width:64px!important;height:68px!important}
 .calendar-event-list .event-row-info{grid-column:2;grid-row:1;min-width:0!important}
 .calendar-event-list .event-row h3{font-size:18px!important;line-height:1.3!important;margin:7px 0!important}
 .calendar-event-list .event-row-facts{display:flex!important;flex-direction:column!important;gap:5px!important;font-size:13px!important;line-height:1.4!important}
 .calendar-event-list .row-action{grid-column:1/-1!important;grid-row:2!important;margin:0!important;display:block!important;text-align:center!important;padding:12px!important;background:#eaf5ef!important;border-radius:10px!important;color:#0d624b!important;font-size:13px!important}
 .calendar-sort{width:100%!important}
 .calendar-sort select{min-width:0;flex:1}
}
@media(max-width:380px){.header .logo{font-size:11px!important}.header .nav-portal{max-width:88px!important;font-size:9px!important}}

/* BRAND VAREMERKE — samler navn og .NO uten flex-avstand */
.header .logo{display:inline-flex!important;align-items:center!important;gap:10px!important;text-decoration:none!important;white-space:nowrap!important;flex-shrink:0!important;letter-spacing:normal!important}
.header .logo .brand-name{display:inline-block!important;white-space:nowrap!important;font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;font-size:clamp(15px,1.32vw,21px)!important;font-weight:900!important;line-height:1!important;letter-spacing:-.85px!important;color:#172f37!important;font-kerning:normal!important}
.header .logo .brand-name .dot{display:inline!important;margin:0!important;padding:0!important;letter-spacing:-.85px!important;color:#378b70!important}
.header .logo .brand-icon{width:39px!important;height:39px!important;object-fit:contain!important;flex-shrink:0!important}
@media(max-width:760px){.header .logo{gap:7px!important;min-width:0!important}.header .logo .brand-name{font-size:clamp(11px,3.15vw,17px)!important;letter-spacing:-.65px!important}.header .logo .brand-name .dot{letter-spacing:-.65px!important}.header .logo .brand-icon{width:31px!important;height:31px!important}}
@media(max-width:370px){.header .logo .brand-name{font-size:10.5px!important;letter-spacing:-.5px!important}}

/* Lanseringspolering: tilgjengelighet uten endring av eksisterende layout */
.skip-link{position:absolute;left:12px;top:-80px;z-index:10000;background:#fff;color:#12372d;padding:12px 18px;border-radius:8px;font-weight:700;box-shadow:0 3px 14px #0003}
.skip-link:focus{top:12px}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid #e4b94b;outline-offset:3px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
