/* Kartlegg v1.0 Release Candidate – mobile accessibility & visual stability.
 * Scoped fixes, not a NEWS2 redesign. Service themes remain the source of colors.
 */

/* The home search has z-index:5; the legacy mobile drawer had z-index:2 and
   backdrop z-index:1, allowing the search and action dock to paint over the menu. */
@media(max-width:770px){
 .header{z-index:100}
 .sidebar{z-index:90;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .sidebar-backdrop{z-index:80;backdrop-filter:blur(2px)}
 body.mobile-menu-open{overflow:hidden;overscroll-behavior:none}
 body.mobile-menu-open .action-dock{display:none!important}
 body.mobile-menu-open .v081-search-results{display:none!important}
 /* Keep focus on the menu rather than an inaccessible search/assessment behind it. */
 .sidebar.open{display:flex;max-height:calc(100dvh - 64px);padding-bottom:max(20px,env(safe-area-inset-bottom))}
 .mobile-toggle{min-width:44px;min-height:44px;display:grid;place-items:center;margin-left:-9px}
 .sidebar .nav{min-height:44px}
 .sidebar .nav:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
}

/* Reduce vertical padding without sacrificing readable labels or >=44px controls.
   NEWS2 remains a one-column layout on narrow handsets. */
@media(max-width:620px){
 #page-vurdering .section-header{padding:14px 14px 11px;gap:10px}
 #page-vurdering .section-header h2{font-size:17px}
 #page-vurdering .form-inner{padding:0 12px 15px}
 #page-vurdering .meta-line{padding:11px 12px;gap:8px;margin-bottom:10px}
 #page-vurdering .meta-line input{height:44px;max-width:none;font-size:15px}
 #page-vurdering .meta-line small{min-width:100%;font-size:11px;line-height:1.45}
 #page-vurdering .fields{gap:8px}
 #page-vurdering .field{padding:11px 11px 10px}
 #page-vurdering .field-head{margin-bottom:8px;gap:7px}
 #page-vurdering .field-icon{width:25px;height:25px;font-size:13px}
 #page-vurdering .field label,
 #page-vurdering .field .field-label{font-size:12px}
 #page-vurdering .field .hint{margin:7px 0 0;line-height:1.45;font-size:11px}
 #page-vurdering .control-wrap{min-height:46px}
 #page-vurdering .control-wrap input,
 #page-vurdering .control-wrap select{font-size:16px;min-height:46px}
 #page-vurdering .toggle-group .choice span{min-height:44px;display:flex;align-items:center;justify-content:center}
 /* Current dock occupies too much of the 1st mobile viewport: reduce chrome,
    preserve substantial 44px tap targets and 3 full, readable labels. */
 .action-dock{
  z-index:20;
  gap:6px;padding:7px 8px max(7px,env(safe-area-inset-bottom));
  border-radius:12px 12px 0 0;
  box-shadow:0 -5px 20px #0b25302e;
 }
 .action-dock .btn{min-height:44px;font-size:12px;line-height:1.2;padding:8px 5px}
 #dockScore{flex:1.45}
 #dockIsbar{flex:.65}
 #dockSave{flex:1}
 body:has(#page-vurdering:not([hidden])) .main{
  padding-bottom:max(94px,calc(env(safe-area-inset-bottom) + 82px));
 }
}
@media(max-width:365px){
 .action-dock .btn{font-size:11px}
 #dockScore{flex:1.25}
 #dockIsbar{flex:.55}
 #dockSave{flex:1}
}

/* Avoid sideways viewport scrolling from dialog contents or long headings.
   Do not clip floating overlays with a global overflow:hidden. */
#page-vurdering .field,#page-vurdering .section-header{min-width:0}
.v081-search-results{max-width:calc(100vw - 30px)}
@media(prefers-reduced-motion:reduce){
 .sidebar-backdrop{backdrop-filter:none}
}
