/* Cashbook Finance v2.10.12 — duplicate search, mobile navigation, footer and desktop rail fixes */

/* The v2.10.11 search is the only desktop search control. */
.desktop-site-search{display:none!important;width:0!important;height:0!important;overflow:hidden!important;visibility:hidden!important;pointer-events:none!important}

/* Desktop footer disclosure: use the available width and create an even reading edge. */
@media (min-width:761px){
  footer.ft .ft-reg{
    width:100%!important;
    max-width:none!important;
    text-align:justify!important;
    text-align-last:left!important;
    text-justify:inter-word!important;
    hyphens:auto;
  }
}

/* Place the minimal page-position rail at mid-right, on the same horizontal axis as back-to-top. */
@media (min-width:1361px){
  .desktop-scroll-rail-v2111{
    top:50%!important;
    bottom:auto!important;
    right:calc(clamp(16px,2vw,24px) + 23px)!important;
    transform:translateY(-50%) translateY(8px)!important;
    height:clamp(104px,18vh,154px)!important;
  }
  .desktop-scroll-rail-v2111.is-active{transform:translateY(-50%)!important}
}

/* Mobile navigation is intentionally compact enough to expose every section without dead space. */
@media (max-width:1360px){
  .mobile-menu{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:11px!important;
    min-height:100dvh!important;
    height:100dvh!important;
    max-height:100dvh!important;
    padding:calc(88px + env(safe-area-inset-top)) 14px calc(16px + env(safe-area-inset-bottom))!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    scroll-padding-top:96px!important;
    box-sizing:border-box!important;
  }
  .mobile-menu::before{
    inset:78px 8px 8px!important;
    border-radius:24px!important;
  }
  .mobile-menu>*{
    position:relative!important;
    z-index:1!important;
    flex:0 0 auto!important;
    min-width:0!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .mobile-menu-intro{
    display:block!important;
    margin:0!important;
    padding:14px 15px!important;
    border-radius:18px!important;
  }
  .mobile-menu-intro::after{top:14px!important;right:14px!important;width:32px!important;height:3px!important}
  .mobile-menu-kicker{margin-bottom:5px!important;font-size:9px!important;letter-spacing:.17em!important}
  .mobile-menu-intro strong{max-width:84%!important;font-size:18px!important;line-height:1.16!important;letter-spacing:-.025em!important;text-wrap:balance!important}
  .mobile-menu-intro small{margin-top:5px!important;font-size:12px!important;line-height:1.38!important;text-wrap:pretty!important}

  .mobile-menu-group{
    display:grid!important;
    gap:7px!important;
    margin:0!important;
    padding:0!important;
  }
  .mobile-menu-group-label{padding:0 2px!important;font-size:9px!important;line-height:1.2!important;letter-spacing:.15em!important}
  .mobile-menu-featured-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .mobile-menu a.nav-product{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:70px!important;
    height:70px!important;
    margin:0!important;
    padding:11px 10px 11px 13px!important;
    border-radius:16px!important;
    box-sizing:border-box!important;
  }
  .mobile-menu a.nav-product::before{top:14px!important;bottom:14px!important}
  .mobile-nav-copy small{margin-bottom:3px!important;font-size:9px!important;line-height:1.1!important}
  .mobile-nav-copy b{min-height:2.3em!important;font-size:13px!important;line-height:1.15!important;text-wrap:balance!important}
  .mobile-nav-arrow{width:28px!important;height:28px!important;flex-basis:28px!important;border-radius:9px!important;font-size:16px!important}

  .mobile-menu-pages{display:grid!important}
  .mobile-menu-link-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .mobile-menu-link-grid a{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:43px!important;
    height:43px!important;
    margin:0!important;
    padding:0 10px 0 12px!important;
    border-radius:13px!important;
    font-size:13px!important;
    line-height:1.15!important;
    box-sizing:border-box!important;
  }
  .mobile-menu-link-grid a>span:first-child{min-width:0!important;overflow-wrap:normal!important;word-break:normal!important}
  .mobile-menu-link-grid a>span:last-child{width:23px!important;height:23px!important;flex:0 0 23px!important;border-radius:7px!important}

  .mobile-menu-actions{display:grid!important;margin:0!important}
  .mobile-menu-action-stack{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;margin:0!important;padding:0!important}
  .mobile-menu-action-stack :is(.m-call,.portal-mobile-link,.mobile-apply){
    position:static!important;
    inset:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:46px!important;
    height:46px!important;
    margin:0!important;
    padding:0 14px!important;
    border-radius:13px!important;
    font-size:13px!important;
    line-height:1.15!important;
    box-sizing:border-box!important;
  }
  .mobile-menu-action-stack .mobile-apply{gap:10px!important;text-align:center!important}
  .mobile-menu-trust{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:18px!important;
    margin:0!important;
    padding:0 0 2px!important;
    font-size:9px!important;
    line-height:1.2!important;
  }

  /* Consistent mobile typography and vertical rhythm across the full site. */
  :where(h1,h2,h3,h4,.h2){text-wrap:balance!important;overflow-wrap:normal!important;word-break:normal!important}
  :where(p,li,.lead,.micro,.wfoot,.prose){text-wrap:pretty!important;overflow-wrap:break-word!important;word-break:normal!important}
  :where(.lead,.prose p,.icard p,.panel-card p,.sector-note){line-height:1.58!important}
  .section{padding-block:clamp(52px,13vw,76px)!important}
  .wrap{padding-inline:18px!important}
  :where(.btn,button,[role="button"]){line-height:1.2!important}
}

@media (max-width:370px){
  .mobile-menu{gap:9px!important;padding:calc(84px + env(safe-area-inset-top)) 11px calc(12px + env(safe-area-inset-bottom))!important}
  .mobile-menu::before{inset:75px 6px 6px!important}
  .mobile-menu-intro{padding:12px 13px!important}
  .mobile-menu-intro strong{font-size:17px!important}
  .mobile-menu-intro small{font-size:11.5px!important}
  .mobile-menu a.nav-product{height:66px!important;min-height:66px!important;padding-inline:11px 8px!important}
  .mobile-nav-copy b{font-size:12.5px!important}
  .mobile-menu-link-grid a{height:41px!important;min-height:41px!important;font-size:12.5px!important}
  .mobile-menu-action-stack :is(.m-call,.portal-mobile-link,.mobile-apply){height:44px!important;min-height:44px!important;font-size:12.5px!important}
}
