/*
 * Mobile containment hotfix.
 * Fixes width sources directly; overflow clipping is the final guardrail.
 */

html{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  overflow-x:clip;
}
body.sezn-cinematic-app{
  position:relative;
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  overflow-x:clip;
}
.sezn-cinematic-app *,
.sezn-cinematic-app *::before,
.sezn-cinematic-app *::after{box-sizing:border-box}
.sezn-cinematic-app :where(main,header,footer,section,article,nav,form,fieldset,div,details){
  min-width:0;
  max-width:100%;
}
.sezn-cinematic-app :where(img,svg,video,canvas){
  display:block;
  max-width:100%;
}
.sezn-cinematic-app :where(input,select,textarea,button){
  max-width:100%;
}
.sezn-cinematic-app :where(p,h1,h2,h3,h4,span,a,label,small,blockquote,td,th){
  overflow-wrap:anywhere;
}
/* Preserve honeypots without placing their boxes thousands of pixels offscreen. */
.sezn-cinematic-app :where(.sezn-hp,.hp,.seznHp){
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:auto!important;
  bottom:auto!important;
  width:1px!important;
  min-width:0!important;
  max-width:1px!important;
  height:1px!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  opacity:0!important;
  clip-path:inset(50%)!important;
  overflow:hidden!important;
  pointer-events:none!important;
  transform:none!important;
}

/* Homepage stream and original client-story carousel. */
.hotfix-home-streams{
  width:100%;
  max-width:100%;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);
  overflow:hidden;
}
.hotfix-home-streams>.final-story-section,
.hotfix-home-streams>.hotfix-news,
.hotfix-home-streams .final-carousel,
.hotfix-home-streams .final-story-stage,
.hotfix-home-streams .final-story-artwork{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
.hotfix-home-streams .final-carousel{overflow:hidden}
.hotfix-home-streams .final-story-stage{
  position:relative;
  contain:layout paint;
  isolation:isolate;
  overflow:hidden!important;
}
.hotfix-home-streams .final-story-stage>img,
.hotfix-home-streams #storyImage{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.hotfix-home-streams .final-story-copy{
  position:relative;
  z-index:2;
  width:min(100%,470px)!important;
  min-width:0!important;
  max-width:100%!important;
}
.hotfix-home-streams .final-arrow{
  z-index:4;
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:42px!important;
  padding:0!important;
}
.hotfix-home-streams .final-arrow.prev{left:10px!important}
.hotfix-home-streams .final-arrow.next{right:10px!important}
.hotfix-home-streams .final-carousel-controls{
  width:100%;
  max-width:100%;
  flex-wrap:wrap;
}
.hotfix-home-streams .final-dots{max-width:100%;flex-wrap:wrap}
.hotfix-news,
.hotfix-news-body,
.hotfix-news .tradingview-widget-container,
.hotfix-news .tradingview-widget-container__widget,
.hotfix-news iframe{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
.hotfix-news-body{overflow:hidden}

/* Keep intentionally scrollable lanes inside their own width. */
.cinematic-membership-lane,
.cinematic-membership-lane .sezn-grid,
.cinematic-metric-ribbon,
.cinematic-status-pills,
.watch-summary{
  width:100%;
  max-width:100%;
}
.cinematic-membership-lane .sezn-grid,
.cinematic-metric-ribbon,
.cinematic-status-pills,
.watch-summary{
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}
.cinematic-membership-lane .cinematic-pass{
  max-width:100%!important;
}

/* Forms, dashboards, and operational panels shrink instead of pushing outward. */
.cinematic-onboarding .wrap,
.cinematic-onboarding-panel,
.cinematic-signup-step,
.cinematic-signup-step .grid,
.cinematic-signup-step .risk-grid,
.cinematic-signup-step .instrument-groups,
.cinematic-signup-step .address-grid,
.cinematic-login .login-shell,
.cinematic-login .login-card,
.cinematic-dashboard .container,
.cinematic-dashboard .grid,
.cinematic-dashboard .grid>div,
.cinematic-dashboard-section,
.cinematic-dashboard-section-body,
.cinematic-watchtower .watch-shell,
.cinematic-command-section,
.cinematic-command-body{
  min-width:0!important;
  max-width:100%!important;
}
.cinematic-dashboard-section-body,
.table-wrap{
  width:100%;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
}
.cinematic-dashboard-section table,
.table-wrap table{max-width:none}

/* Fixed navigation and assistant surfaces stay between viewport edges. */
.cinematic-dock{
  left:max(12px,env(safe-area-inset-left))!important;
  right:max(12px,env(safe-area-inset-right))!important;
  width:auto!important;
  max-width:none!important;
}
.final-home .kiki-panel,
#seznNotifPanel,
#seznKikiPanel{
  left:max(12px,env(safe-area-inset-left))!important;
  right:max(12px,env(safe-area-inset-right))!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
}
.final-kiki,
#seznDashTools{
  max-width:calc(100% - 20px)!important;
}

@media(max-width:760px){
  .sezn-cinematic-app .sezn-promo{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:7px 12px!important;
    white-space:normal!important;
  }
  .sezn-cinematic-app .sezn-promo span{
    display:inline!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    transform:none!important;
  }
  body.sezn-cinematic-app{
    padding-left:0!important;
    padding-right:0!important;
    padding-bottom:calc(112px + env(safe-area-inset-bottom))!important;
  }
  .sezn-cinematic-app .sezn-nav,
  .sezn-cinematic-app .final-header,
  .cinematic-home main,
  .cinematic-plans main,
  .cinematic-onboarding .wrap,
  .cinematic-login .login-shell,
  .cinematic-dashboard>header,
  .cinematic-dashboard .container,
  .cinematic-watchtower .watch-shell{
    width:calc(100% - 24px)!important;
    max-width:calc(100% - 24px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .hotfix-home-streams{
    display:block!important;
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .final-promo-track{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    transform:none!important;
    animation:none!important;
  }
  .cinematic-trust{
    width:100%!important;
    max-width:100%!important;
    flex-wrap:wrap!important;
    overflow:visible!important;
  }
  .cinematic-trust span{
    min-width:0!important;
    max-width:100%!important;
  }
  .hotfix-home-streams .final-story-section{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:14px!important;
  }
  .hotfix-home-streams .final-story-stage{
    width:100%!important;
    min-height:0!important;
    aspect-ratio:16/9!important;
  }
  .hotfix-home-streams .final-story-copy{
    left:auto!important;
    right:auto!important;
    width:100%!important;
    padding:58px 54px 22px!important;
  }
  .hotfix-home-streams .final-story-copy blockquote{
    max-width:100%!important;
  }
  .hotfix-home-streams .final-carousel-controls{
    padding-left:2px!important;
    padding-right:2px!important;
  }
  .hotfix-news{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .cinematic-membership-lane .sezn-grid{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
  }
  .cinematic-membership-lane .cinematic-pass{
    flex:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .cinematic-stepper{width:100%;overflow:hidden}
  .cinematic-stepper button{flex:0 0 42px}
  .cinematic-stepper button:not(:last-child)::after{
    width:calc((100vw - 270px)/4)!important;
    max-width:48px;
  }
  .cinematic-onboarding-panel,
  .cinematic-login .login-card,
  .cinematic-watchtower .watch-login,
  .cinematic-watchtower .watch-setup{
    width:100%!important;
  }
  .cinematic-dashboard .grid>div{grid-template-columns:minmax(0,1fr)!important}
  .cinematic-metric-ribbon{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
  }
  .cinematic-dashboard .stat-card{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .cinematic-dashboard-section-body,
  .table-wrap{overflow:visible!important}
  .cinematic-dashboard-section table,
  .table-wrap table{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    table-layout:fixed!important;
  }
  .cinematic-dashboard-section :where(th,td),
  .table-wrap :where(th,td){
    width:auto!important;
    max-width:25%!important;
    padding:8px 5px!important;
    white-space:normal!important;
    word-break:break-word;
    font-size:10px!important;
  }
  .cinematic-status-pills,
  .cinematic-watchtower .watch-summary{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    overflow:visible!important;
  }
  .cinematic-watchtower .cinematic-status-pills .watch-stat,
  .cinematic-watchtower .watch-summary .watch-stat{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .cinematic-watchtower .watch-actions{max-width:100%}
  .cinematic-watchtower .watch-actions .watch-btn{max-width:100%}
  .final-kiki{
    right:max(12px,env(safe-area-inset-right))!important;
    bottom:calc(94px + env(safe-area-inset-bottom))!important;
  }
  #seznDashTools{
    right:max(12px,env(safe-area-inset-right))!important;
    bottom:calc(94px + env(safe-area-inset-bottom))!important;
  }
  .final-home .kiki-panel,
  #seznNotifPanel,
  #seznKikiPanel{
    bottom:calc(172px + env(safe-area-inset-bottom))!important;
    max-height:calc(100dvh - 198px)!important;
  }
}
