/* V79 mobile-system consolidation and device resilience. Loaded after V78. */
.v79-doj-badge{display:flex;align-items:center;gap:9px;width:fit-content;max-width:min(340px,calc(100% - 24px));margin:10px 12px 8px auto;padding:6px 10px;border:1px solid #d6aa3a;border-radius:14px;background:#fff;color:#07152f!important;box-shadow:0 8px 24px rgba(4,15,38,.22);font:700 12px/1.2 Inter,Arial,sans-serif;text-decoration:none!important;position:relative;z-index:1098}
.v79-doj-badge:hover,.v79-doj-badge:focus-visible{outline:3px solid #f0c33c;outline-offset:2px;transform:translateY(-1px)}
.v79-doj-badge img{display:block;width:66px;height:auto;aspect-ratio:379/187;object-fit:contain;flex:0 0 auto}
.v79-doj-badge span{display:grid;gap:2px;min-width:0}
.v79-doj-badge strong{color:#07152f!important;font-size:12px;letter-spacing:.01em}
.v79-doj-badge small{color:#33415c!important;font-size:10px;font-weight:700}
.shell-top img[src*="advocate-photo-thumb"]{width:32px!important;height:48px!important;aspect-ratio:2/3!important;object-fit:cover!important}
#legal-library .library-toolbar>label{color:#f7f8ff!important}
@media (min-width:1024px){
  .v79-doj-badge{position:sticky;top:8px;margin-right:16px}
  body.v76-home-focus #root footer{background:#08152f!important;backdrop-filter:none!important}
  body.v76-home-focus #root footer :where(p,span,a){color:#f3f6ff!important}
  body.v76-home-focus #root footer p.font-display{color:#f0ce6a!important}
}
@media (max-width:1023px){
  /* Avoid iOS input-focus zoom without globally enlarging every button. */
  input:not([type="checkbox"]):not([type="radio"]),select,textarea{font-size:16px!important}
  button,[role="button"],summary,.shell-top a,.shell-menu a,.shell-bottom a,.shell-bottom button,.v77-mobile-actions a{min-height:44px}
  html,body{max-width:100%;overflow-x:clip}
  img{max-width:100%;height:auto}
  iframe,video{max-width:100%}
  p,li,dd{overflow-wrap:anywhere}
  table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

  /* One coordinated mobile action system: the shell bar wins; V77 is fallback only. */
  #mobile-appointment-bar,#mobile-floating-actions,#aa-swipe-consultation,.aa-contact-dock,.dock-wrap,.aa-pwa-tabbar-v43,.aa-pwa-action-v43{display:none!important}
  body:has(.shell-bottom){padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))!important}
  html[data-shell-v75] #root #home{margin-top:0!important}
  .shell-bottom,.v77-mobile-actions{padding-bottom:max(6px,env(safe-area-inset-bottom,0px))}
  body.v79-virtual-keyboard .shell-bottom,body.v79-virtual-keyboard .v77-mobile-actions{display:none!important}
  body.v79-virtual-keyboard{padding-bottom:0!important}
}
@media (max-width:420px){
  .v79-doj-badge{max-width:245px;padding:5px 8px;gap:7px}
  .v79-doj-badge img{width:52px}
  .v79-doj-badge strong{font-size:10px}
  .v79-doj-badge small{font-size:9px}
  .shell-top strong{font-size:clamp(13px,3.8vw,16px);white-space:nowrap}
  .shell-bottom{gap:2px;padding-left:4px;padding-right:4px}
  .shell-bottom :where(a,button){min-width:0;padding-left:3px;padding-right:3px}
  .shell-bottom span{font-size:11px;line-height:1.1}
}
@media (orientation:landscape) and (max-height:520px){
  .shell-bottom,.v77-mobile-actions{position:static!important;margin:8px!important;width:auto!important}
  body{padding-bottom:0!important}
}
@media (prefers-contrast:more){
  .shell-bottom,.v77-mobile-actions,.shell-sheet{border:2px solid currentColor!important;backdrop-filter:none!important}
}
