/* Cashbook Finance v2.7.6 — mobile component alignment and final positioning pass */

@media (max-width:760px){
  /* Repeated choice/status components use equal implicit rows, so equivalent
     items remain visually identical even when one label wraps differently. */
  body[data-page="home"] .checker .chips{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:1fr!important;
    gap:10px!important;
    width:100%!important;
  }
  body[data-page="home"] .checker .chip{
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:13px 15px!important;
    display:grid!important;
    grid-template-columns:20px minmax(0,1fr)!important;
    align-items:center!important;
    gap:11px!important;
    line-height:1.35!important;
    text-align:left!important;
    box-sizing:border-box!important;
  }
  body[data-page="home"] .checker .chip .box{
    width:20px!important;
    height:20px!important;
    margin:0!important;
  }

  /* Homepage metric tiles and feature rows now share the height of the
     tallest sibling at the current viewport rather than using fixed guesses. */
  body[data-page="home"] .ticker{
    grid-auto-rows:1fr!important;
    align-items:stretch!important;
  }
  body[data-page="home"] .ticker .ti{height:100%!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
  body[data-page="home"] .tabpanel .duo>div:first-child{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:1fr!important;
    align-items:stretch!important;
  }
  body[data-page="home"] .tabpanel .feat{height:100%!important;box-sizing:border-box!important;align-items:center!important}

  /* Process cards represent equivalent stages and should not jump in height. */
  .flow{align-items:stretch!important}
  .flow .fnode{
    width:100%!important;
    min-height:142px!important;
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
  }

  /* Keep all compact progress and selector choices equally contained. */
  body[data-page="portal"] .portal-steps{grid-auto-rows:1fr!important;align-items:stretch!important}
  body[data-page="portal"] .portal-step{height:100%!important}
  .tabs,.quote-form-card .seg{align-items:stretch!important}
  .tabs .tab,.quote-form-card .seg .opt{height:100%!important}

  /* Final mobile positioning and spacing cleanup. */
  .checker{width:100%!important;box-sizing:border-box!important}
  .checker .meter-out{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;align-items:stretch!important}
  .checker .meter-out .res{text-align:center!important;line-height:1.35!important}
  .checker .meter-out .btn{width:100%!important;min-height:50px!important}
  .pc-stats{align-items:stretch!important}
  .pc-stat{height:100%!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
  .hero-cta,.cta-row,.faq-cta-row{gap:12px!important;align-items:stretch!important}
  .hero-cta>* ,.cta-row>* ,.faq-cta-row>*{min-width:0!important}
  .mobile-menu a,.mobile-menu button{box-sizing:border-box!important}
  .mobile-menu .m-call,.mobile-menu .mobile-apply{display:flex!important;align-items:center!important;justify-content:center!important;padding:10px 16px!important}
  .mobile-menu .portal-mobile-link{align-items:center!important}
  .fld{min-width:0!important}
  .fld label{line-height:1.35!important}
  .qa>button{min-height:64px!important;padding-block:14px!important}
}

@media (max-width:340px){
  /* At 320px the longest fit-check labels use three lines; equal rows ensure
     the shorter 30/60/90-day item keeps the same card height. */
  body[data-page="home"] .checker .chip{min-height:94px!important}
}

@media (min-width:341px) and (max-width:480px){
  body[data-page="home"] .checker .chip{min-height:70px!important}
}
