/* ==================================================
   RC16.257 · Guided Mobile Layout + Scroll Fix
   ================================================== */

/* Guided header: arrows, position and prepared counter form one calm row.
   This mirrors the user-approved mobile composition. */
.rc257-progress-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  margin-top:10px!important;
}
.rc257-progress-left{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
}
.rc257-step-nav{
  display:flex;
  align-items:center;
  gap:5px;
  flex:0 0 auto;
}
.rc257-step-nav button{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  padding:0!important;
  border-radius:11px!important;
}
.rc257-step-label{
  min-width:0;
  color:var(--rc251-muted);
  white-space:nowrap;
}
.rc257-prepared-count{
  display:flex;
  align-items:baseline;
  justify-content:flex-end;
  gap:5px;
  margin:0!important;
  white-space:nowrap;
  color:var(--rc251-text)!important;
  text-align:right;
}
.rc257-prepared-label,.rc257-prepared-value{display:inline}

/* The guided stage is the only scroll container. Reserve the complete mobile
   bottom-nav footprint PLUS breathing room so the last CTA can always scroll
   entirely above the navigation instead of being cut in half. */
@media(max-width:899px){
  .rc251-form-stage{
    padding-bottom:calc(var(--nav-h,42px) + env(safe-area-inset-bottom,0px) + 44px)!important;
    scroll-padding-bottom:calc(var(--nav-h,42px) + env(safe-area-inset-bottom,0px) + 44px)!important;
  }
  .rc251-form-stage .emergency-requirement,
  .rc251-form-stage .emergency-smart-group{
    margin-bottom:8px!important;
  }
}

@media(max-width:720px){
  .rc257-progress-row{
    gap:8px!important;
    margin-top:8px!important;
  }
  .rc257-progress-left{gap:9px}
  .rc257-step-nav{gap:4px}
  .rc257-step-nav button{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    border-radius:10px!important;
    font-size:1.2rem!important;
  }
  .rc257-step-label{
    max-width:82px;
    white-space:normal;
    font-size:.78rem!important;
    line-height:1.1!important;
  }
  .rc257-prepared-count{
    display:grid;
    justify-items:end;
    align-items:center;
    gap:0;
    line-height:1.05!important;
  }
  .rc257-prepared-label{
    display:block;
    font-size:.72rem;
    font-weight:900;
  }
  .rc257-prepared-value{
    display:block;
    font-size:.78rem;
    font-weight:900;
  }
}

@media(max-width:370px){
  .rc257-progress-left{gap:6px}
  .rc257-step-nav button{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
  }
  .rc257-step-label{max-width:72px;font-size:.70rem!important}
  .rc257-prepared-label{font-size:.66rem}
  .rc257-prepared-value{font-size:.72rem}
}
