/* Final mobile layout corrections - loaded last */
@media (max-width: 767px) {
  html, body { width:100%; max-width:100%; overflow-x:hidden !important; }
  .container, .container-fluid { width:100% !important; max-width:100% !important; }

  /* HERO */
  .banner.banner--alt {
    width:100% !important;
    min-height:0 !important;
    padding:38px 0 30px !important;
    overflow:hidden !important;
  }
  .banner.banner--alt > .container { width:100% !important; }
  .banner.banner--alt .row { margin-left:0 !important; margin-right:0 !important; }
  .banner.banner--alt .banner__con { width:100% !important; max-width:100% !important; }
  .banner.banner--alt .banner__con .heading {
    width:100% !important;
    max-width:100% !important;
    font-size:28px !important;
    line-height:1.2 !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }
  .banner.banner--alt .banner__con p {
    width:100% !important;
    max-width:100% !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }

  /* Three hero CTAs: one per row, never side-by-side */
  .banner.banner--alt .banner_btns {
    display:flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    width:100% !important;
    max-width:100% !important;
    gap:10px !important;
    margin:18px 0 0 !important;
  }
  .banner.banner--alt .banner_btns > a,
  .banner.banner--alt .banner_btns > a.themebtn {
    flex:0 0 auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:12px 14px !important;
    min-height:46px !important;
    height:auto !important;
    box-sizing:border-box !important;
    white-space:normal !important;
    overflow:hidden !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    text-align:center !important;
    line-height:1.25 !important;
    font-size:13px !important;
  }

  /* Every consultation CTA on mobile */
  a.themebtn {
    box-sizing:border-box !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    line-height:1.3 !important;
  }

  /* Services background + heading */
  .services {
    position:relative !important;
    isolation:isolate !important;
    overflow:hidden !important;
    min-height:0 !important;
    margin:0 !important;
    padding:55px 0 40px !important;
  }
  .services .service_banner {
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    z-index:-2 !important;
    overflow:hidden !important;
  }
  .services .service_banner img {
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
  }
  .services:before {
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:-1 !important;
    background:rgba(0,0,0,.38) !important;
    pointer-events:none !important;
  }
  .services > .container { position:relative !important; z-index:1 !important; }
  .services > .container > .row { margin-left:0 !important; margin-right:0 !important; }
  .services .heading.heading--white {
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 0 22px !important;
    padding:0 4px !important;
    color:#fff !important;
    text-align:center !important;
    font-size:27px !important;
    line-height:1.2 !important;
    position:relative !important;
    z-index:3 !important;
    text-shadow:0 2px 8px rgba(0,0,0,.7) !important;
  }

  /* Other CTA groups stack cleanly too */
  .service__btns, .getInBtns, .menu__btns {
    display:flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    width:100% !important;
    max-width:100% !important;
    gap:10px !important;
  }
  .service__btns > a, .getInBtns > a, .menu__btns > a {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }
}

@media (max-width: 767px) {
  .inner_authorSlider .view_book a.themebtn {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
    min-height: 0 !important;
  }
}

@media (max-width:380px) {
  .banner.banner--alt .banner__con .heading { font-size:25px !important; }
  .banner.banner--alt .banner_btns > a { font-size:12px !important; padding:11px 10px !important; }
  .services .heading.heading--white { font-size:24px !important; }
}
