/* IRON PRO 0.014 — dedicated pinned section headings and clean workout viewport. */
#appShell.hidden{display:none!important}
#sectionTop[hidden]{display:none!important}
body.iron014-section #appShell{
  display:flex!important;flex-direction:column!important;
  height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;
}
body.iron014-section #appShell>.header{display:none!important}
body.iron014-section #sectionTop{
  display:block;position:relative;flex:0 0 auto;min-height:0;
  z-index:17;padding:7px 12px 3px;
  background:linear-gradient(180deg,rgba(6,10,8,.99),rgba(6,10,8,.92));
}
body.iron014-section #sectionTop>.hero{
  margin:0!important;padding:14px 18px!important;
  border-radius:22px!important;
  box-shadow:0 5px 16px rgba(0,0,0,.3)!important;
}
body.iron014-section #sectionTop>.hero .h1{font-size:clamp(22px,5.7vw,31px);margin:7px 0!important}
body.iron014-section #sectionTop>.hero .subtle{font-size:clamp(12px,3.5vw,15px);line-height:1.35;margin:5px 0}
body.iron014-section #sectionTop>.iron008-program-header{
  box-sizing:border-box;width:100%;margin:0!important;
  padding:9px 13px 11px!important;border-radius:18px;
  background:linear-gradient(160deg,#152124,#101718);
  border:1px solid rgba(157,242,46,.35);
}
body.iron014-section #sectionTop .iron014-fallback{
  font-size:clamp(23px,6.3vw,29px);font-weight:850;padding:13px 9px;
}
body.iron014-section #mainContent{
  min-height:0!important;flex:1 1 auto!important;
  height:auto!important;overflow-x:hidden!important;overflow-y:auto!important;
  box-sizing:border-box;padding:10px 14px calc(130px + env(safe-area-inset-bottom,0px))!important;
  overscroll-behavior-y:contain;
}
body.iron014-section.iron008-program-fit #mainContent{
  overflow-y:hidden!important;padding:7px 13px calc(87px + env(safe-area-inset-bottom,0px))!important;
}
body.iron014-section #mainContent>.hero{display:none}
body.iron014-section .iron008-programs{height:100%;max-height:100%}
/* During an active workout the tab bar and MyTraining brand header must not cover controls. */
body.iron014-training #appShell>.header,
body.iron014-training #appShell>.nav{display:none!important}
body.iron014-training #sectionTop{display:none!important}
body.iron014-training #mainContent:has(.compact-training){
  padding:2px 8px 0!important;
}
/* Keep questions at the TOP; keep primary and skip buttons visibly separate at the BOTTOM. */
.sheet:has(.iron-exercise-survey){
  display:flex!important;flex-direction:column!important;
  height:calc(100dvh - 24px)!important;
  max-height:calc(100dvh - 24px)!important;
  box-sizing:border-box;overflow:hidden!important;
  padding:13px 15px max(13px,env(safe-area-inset-bottom))!important;
  justify-content:flex-start!important;
}
.sheet .iron-exercise-survey{
  flex:1 1 auto;min-height:0!important;height:100%!important;
  width:100%;display:flex;flex-direction:column;
  justify-content:flex-start!important;
}
.iron-exercise-survey .survey-questions{
  flex:1 1 auto;min-height:0;overflow-y:auto!important;
  padding:0 2px 12px;overscroll-behavior:contain;
}
.iron-exercise-survey .survey-heading{margin:0 0 11px!important}
.iron-exercise-survey .survey-actions{
  position:relative!important;bottom:auto!important;
  flex:0 0 auto;margin-top:auto!important;padding:15px 0 0!important;
  gap:15px!important;
}
.iron-exercise-survey .survey-actions button{display:block;flex:none;min-height:57px!important}
.iron-exercise-survey .survey-actions .ghost{min-height:52px!important}
@media(max-height:670px){
 .iron-exercise-survey .field{margin-bottom:11px!important}
 .iron-exercise-survey .survey-heading{margin-bottom:5px!important}
 .iron-exercise-survey .survey-questions{padding-bottom:4px}
}

/* Pin Home and both Programs screens to the viewport; scroll only their content. */
body.iron015-fixed-top{
  height:100dvh;overflow:hidden!important;overscroll-behavior-y:none;
}
body.iron015-fixed-top .app{
  height:100dvh;min-height:0;overflow:hidden;
}
body.iron015-fixed-top #appShell{
  height:100dvh!important;min-height:0;box-sizing:border-box;
}
body.iron015-fixed-top #sectionTop{
  position:sticky;top:0;flex:0 0 auto;
  padding-top:max(7px,env(safe-area-inset-top,0px));
}
body.iron015-home-top #mainContent{
  overflow:hidden!important;
  padding:5px 13px calc(87px + env(safe-area-inset-bottom,0px))!important;
}
body.iron015-home-top #sectionTop>.home-static{
  width:100%;max-width:570px;box-sizing:border-box;
  padding:5px 1px 0;
}
body.iron015-home-top #sectionTop .home-static h1{
  font-size:clamp(21px,3.4dvh,29px)!important;margin:4px 0 9px!important;
}
body.iron015-home-top #sectionTop .home-static>.eyebrow{font-size:10px}
body.iron015-home-top #sectionTop .home-static>.panel{
  padding:10px 13px!important;margin-bottom:0!important;
}
body.iron015-home-top #sectionTop .home-static .kv{padding:5px 0;font-size:12px}
body.iron015-home-top #sectionTop .home-static .smalltxt{font-size:11px}
@media(max-height:735px){
 body.iron015-home-top #sectionTop .home-static .kv{padding:2px 0}
 body.iron015-home-top #sectionTop .home-static>.panel{padding:7px 11px!important}
 body.iron015-home-top #sectionTop .home-static h1{margin:2px 0 5px!important}
}
@media(max-height:620px){
 body.iron015-home-top #sectionTop .home-static .kv:nth-of-type(2){display:none}
}
