/* English Study Bot V37.3 — phone unified gradient footer + exact legal-page reflow.
   New filename/version is intentional to bypass stale V372 caches. */

.esb-mobile-unified-footer-v373{display:none;}

@media (max-width:767px){
  html.esb-mobile-page-v373,
  html.esb-mobile-page-v373 body{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  html.esb-mobile-page-v373 body{margin-left:0!important;margin-right:0!important;}
  html.esb-mobile-page-v373 body *,
  html.esb-mobile-page-v373 body *::before,
  html.esb-mobile-page-v373 body *::after{box-sizing:border-box!important;}

  /* Keep this selector list deliberately simple for older Android/WeChat WebViews. */
  html.esb-mobile-page-v373 body footer:not(.esb-mobile-unified-footer-v373){display:none!important;}
  html.esb-mobile-page-v373 body .site-legal-footer{display:none!important;}
  html.esb-mobile-page-v373 body .esb-mobile-legacy-footer-v373{display:none!important;}

  /* One phone footer across home / zones / chapters / legal pages. */
  html.esb-mobile-page-v373 .esb-mobile-unified-footer-v373{
    position:relative!important;
    inset:auto!important;
    z-index:1!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:22px 16px calc(24px + env(safe-area-inset-bottom,0px))!important;
    overflow:visible!important;
    border:0!important;
    border-top:1px solid rgba(103,140,207,.20)!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:
      radial-gradient(120% 72% at 100% 100%,rgba(138,179,255,.24) 0%,rgba(138,179,255,.09) 38%,rgba(138,179,255,0) 66%),
      radial-gradient(105% 58% at 0% 100%,rgba(94,155,255,.15) 0%,rgba(94,155,255,.05) 44%,rgba(94,155,255,0) 70%),
      linear-gradient(180deg,#fbfdff 0%,#f5f9ff 52%,#edf5ff 100%)!important;
    color:#60759a!important;
    text-align:center!important;
  }
  html.esb-mobile-page-v373 .esb-mobile-unified-footer-v373 *{min-width:0!important;max-width:100%!important;}
  html.esb-mobile-page-v373 .esb-v373-primary{
    display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:center!important;
    gap:7px 15px!important;width:100%!important;margin:0 0 11px!important;padding:0!important;
  }
  html.esb-mobile-page-v373 .esb-v373-primary a,
  html.esb-mobile-page-v373 .esb-v373-primary span{
    margin:0!important;padding:0!important;font-size:14px!important;line-height:1.4!important;font-weight:650!important;
    color:#536f9f!important;text-decoration:none!important;white-space:normal!important;overflow-wrap:anywhere!important;
  }
  html.esb-mobile-page-v373 .esb-v373-filing{
    display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:center!important;
    gap:5px 12px!important;width:100%!important;margin:0 0 15px!important;padding:0!important;
  }
  html.esb-mobile-page-v373 .esb-v373-filing a,
  html.esb-mobile-page-v373 .esb-v373-filing span{
    margin:0!important;padding:0!important;font-size:11.5px!important;line-height:1.4!important;font-weight:500!important;
    color:#7a8eaf!important;text-decoration:none!important;white-space:normal!important;overflow-wrap:anywhere!important;
  }
  html.esb-mobile-page-v373 .esb-v373-brand{
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
    width:100%!important;margin:0!important;padding:0!important;gap:5px!important;
  }
  html.esb-mobile-page-v373 .esb-v373-title{
    margin:0!important;padding:0!important;font-size:22px!important;line-height:1.16!important;font-weight:800!important;
    letter-spacing:-.02em!important;color:#2d67e7!important;
  }
  html.esb-mobile-page-v373 .esb-v373-sub{
    margin:0!important;padding:0!important;font-size:13px!important;line-height:1.45!important;font-weight:500!important;
    color:#6d80a1!important;white-space:normal!important;
  }
  html.esb-mobile-page-v373 .esb-v373-copy{
    margin:11px 0 0!important;padding:0!important;font-size:12px!important;line-height:1.4!important;font-weight:500!important;
    color:#7d8fb0!important;
  }

  /* Exact DOM rules for the site's legal/policy/agreement pages. */
  html.esb-mobile-legal-v373,
  html.esb-mobile-legal-v373 body{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:visible!important;
  }
  html.esb-mobile-legal-v373 .legal-page-header,
  html.esb-mobile-legal-v373 .legal-page-header__inner,
  html.esb-mobile-legal-v373 .legal-page-main,
  html.esb-mobile-legal-v373 .legal-shell,
  html.esb-mobile-legal-v373 .legal-shell__inner,
  html.esb-mobile-legal-v373 .legal-shell__intro,
  html.esb-mobile-legal-v373 .legal-shell__content,
  html.esb-mobile-legal-v373 .legal-panel,
  html.esb-mobile-legal-v373 .legal-kpi,
  html.esb-mobile-legal-v373 .legal-kpi__item,
  html.esb-mobile-legal-v373 .table-shell,
  html.esb-mobile-legal-v373 .legal-table{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  html.esb-mobile-legal-v373 .legal-page-header{width:100%!important;}
  html.esb-mobile-legal-v373 .legal-page-header__inner{
    width:calc(100% - 24px)!important;
    max-width:none!important;
    margin:0 12px!important;
    gap:10px!important;
  }
  html.esb-mobile-legal-v373 .legal-page-nav{gap:10px!important;}
  html.esb-mobile-legal-v373 .legal-page-nav a{font-size:13px!important;}
  html.esb-mobile-legal-v373 .legal-page-main{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:24px 12px 16px!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
  }
  html.esb-mobile-legal-v373 .legal-shell{
    width:100%!important;
    margin:0!important;
    border-radius:20px!important;
    overflow:hidden!important;
  }
  html.esb-mobile-legal-v373 .legal-shell__inner{
    width:100%!important;
    padding:16px!important;
  }
  html.esb-mobile-legal-v373 .legal-shell__intro{
    display:block!important;
    width:100%!important;
    margin:0 0 16px!important;
  }
  html.esb-mobile-legal-v373 .legal-shell__badge{
    margin-top:14px!important;
    max-width:100%!important;
    white-space:normal!important;
  }
  html.esb-mobile-legal-v373 .legal-shell__content{
    display:block!important;
    width:100%!important;
  }
  html.esb-mobile-legal-v373 .legal-panel{
    width:100%!important;
    margin:0!important;
    padding:18px 14px!important;
    border-radius:16px!important;
  }
  html.esb-mobile-legal-v373 .legal-panel + .legal-panel{margin-top:14px!important;}
  html.esb-mobile-legal-v373 .legal-kpi{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    gap:10px!important;
  }
  html.esb-mobile-legal-v373 .legal-kpi__item{width:100%!important;}

  html.esb-mobile-legal-v373 h1{font-size:27px!important;line-height:1.28!important;}
  html.esb-mobile-legal-v373 h2{font-size:21px!important;line-height:1.38!important;}
  html.esb-mobile-legal-v373 h3{font-size:18px!important;line-height:1.45!important;}
  html.esb-mobile-legal-v373 .legal-shell__intro p,
  html.esb-mobile-legal-v373 .legal-panel p,
  html.esb-mobile-legal-v373 .legal-panel li,
  html.esb-mobile-legal-v373 .legal-kpi__item span,
  html.esb-mobile-legal-v373 .legal-table td,
  html.esb-mobile-legal-v373 .legal-table th{
    white-space:normal!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }
  html.esb-mobile-legal-v373 .legal-panel p,
  html.esb-mobile-legal-v373 .legal-panel li{font-size:15.5px!important;line-height:1.75!important;}
  html.esb-mobile-legal-v373 .legal-panel ul,
  html.esb-mobile-legal-v373 .legal-panel ol{max-width:100%!important;padding-left:1.25em!important;padding-right:0!important;}

  /* Do not horizontally scroll/crop the legal table: each data row becomes a card. */
  html.esb-mobile-legal-v373 .table-shell{
    width:100%!important;
    overflow:visible!important;
  }
  html.esb-mobile-legal-v373 .legal-table{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    table-layout:auto!important;
    border:0!important;
    background:transparent!important;
    overflow:visible!important;
  }
  html.esb-mobile-legal-v373 .legal-table colgroup,
  html.esb-mobile-legal-v373 .legal-table thead{display:none!important;}
  html.esb-mobile-legal-v373 .legal-table tbody{display:block!important;width:100%!important;}
  html.esb-mobile-legal-v373 .legal-table tr{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0 0 10px!important;
    border:1px solid rgba(91,120,164,.24)!important;
    border-radius:12px!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  html.esb-mobile-legal-v373 .legal-table td,
  html.esb-mobile-legal-v373 .legal-table th{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    padding:11px 12px!important;
    border:0!important;
    border-bottom:1px solid rgba(91,120,164,.16)!important;
    text-align:left!important;
    vertical-align:top!important;
    overflow:visible!important;
  }
  html.esb-mobile-legal-v373 .legal-table td:last-child,
  html.esb-mobile-legal-v373 .legal-table th:last-child{border-bottom:0!important;}
  html.esb-mobile-legal-v373 .legal-table td:first-child{font-weight:700!important;color:#255ba7!important;background:#f5f9ff!important;}
}
