/* Accessibility refinements shared by the website and app. */
@media screen{
 html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
 body{overflow-wrap:break-word}
 button,input,select,textarea{box-sizing:border-box}
 button{height:auto;white-space:normal}
 input:not([type="checkbox"]):not([type="radio"]),select,textarea{font-size:max(1rem,16px)!important;max-width:100%}
 .field,.mini,.auth-content,.auth-form-card,.schedule-form-grid>*{min-width:0}
 .required-marker{font-size:.85em;color:#24312d;font-weight:600}
 .field-error{display:block;flex-basis:100%;margin:6px 0 0;color:#6b2e63;font-size:1rem;line-height:1.4;font-weight:600}
 .field-error[hidden],.required-marker[hidden]{display:none}
 [aria-invalid="true"]{outline:2px solid #6b2e63;outline-offset:2px}
 .section-modal,.pro-modal,.feedback-overlay,.comparison-dialog{box-sizing:border-box;max-width:100vw}
 .section-modal-card,.pro-modal-card,.feedback-panel,.comparison-card,.schedule-dialog{box-sizing:border-box;min-width:0;max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px)!important;overflow:auto}
 .section-modal-card h2,.pro-modal-card h2,.feedback-panel h2,.schedule-dialog h2{overflow-wrap:anywhere}
 .section-modal-actions,.pro-modal-actions,.schedule-dialog-actions,.feedback-actions{flex-wrap:wrap}
 .section-modal-actions{grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr))}
 .teach-overview{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}
 .teach-overview>div,.account-details>div{min-width:0}
 .teach-mobile-detail,.teach-mobile-program-notes,.schedule-notes-field,.account-details span,.account-details b{overflow-wrap:anywhere}
 .teach-mobile-list,.teach-mobile-summary,.teach-mobile-detail,.teach-preview-header{min-width:0}
 .teach-mobile-exercise-name,.saved-program-summary strong{white-space:normal;overflow-wrap:anywhere}
 .section-modal-close,.pro-modal-close,.account-close,.comparison-close,.feedback-close,
 #scheduleDialogClose,.exerciseMore,.sectionMore,.saved-program-more-toggle,
 [data-history-occurrence],.schedule-remove-program-icon,#schedulePrev,#scheduleNext,
 .schedule-month-date button,.exercise-picker-info,.movement-info,.exercise-info-button,.savedProgramMore,#closeFeatureComparison,
 button[aria-label^="Close"],button[aria-label^="Delete"],button[aria-label^="Remove"],button[aria-label^="More actions"]{
  min-width:44px!important;min-height:44px!important;flex-shrink:0;
 }
 .schedule-card-options,.schedule-class-option-links,.library-item-actions{gap:8px}
 .app-positive-confirmation #closeProgramAction,
 .app-positive-confirmation #scheduleDialogClose,
 .schedule-dialog.schedule-assignment-confirmation #scheduleDialogClose{display:grid!important;place-items:center;color:#6b2e63;background:#fff;border:0;border-radius:9px}
 .app-positive-confirmation .section-modal-card{position:relative}
 .app-positive-confirmation #closeProgramAction{position:sticky;top:0;float:right;margin:0 0 0 auto;z-index:20}
 .app-positive-confirmation .schedule-dialog-head{position:relative;padding-top:44px}
 .app-positive-confirmation #scheduleDialogClose{position:absolute;right:0;top:0}
 .schedule-dialog-head{flex-wrap:wrap}
 .schedule-dialog-head h2{flex:1;min-width:0}
 .schedule-view{min-width:0}
 .schedule-month-class{min-height:44px!important}
 .schedule-class-option-links button{min-width:44px;min-height:44px}
}
@media screen and (max-width:900px),screen and (pointer:coarse) and (max-width:1400px){
 body.builder-page .mobile-program-actions{height:auto;max-height:40dvh;overflow-y:auto;width:100%;max-width:100%}
 body.builder-page .mobile-program-actions .mobile-action{height:auto;min-height:58px;padding:6px 3px}
 body.builder-page .mobile-program-actions .mobile-action-label{font-size:.75rem;line-height:1.3;white-space:normal;overflow-wrap:anywhere;letter-spacing:normal}
 body.builder-page{padding-bottom:calc(var(--app-footer-height,90px) + 16px)!important}
 body.builder-page .wrap{padding-bottom:16px}
 body.builder-page.workspace-programs-page #savedProgramsModal{padding-bottom:calc(var(--app-footer-height,90px) + 16px)!important}
 body.builder-page.workspace-programs-page #savedProgramsModal .saved-programs-card{height:auto;max-height:none!important;overflow:visible}
 .account-details>div{flex-wrap:wrap;gap:8px}
 .schedule-studio-choices{flex-wrap:wrap}
 .schedule-form-grid{grid-template-columns:1fr}
 .section-head{flex-wrap:wrap}
 .section-head h3{min-width:0;flex:1}
 .app-positive-confirmation .section-modal-card{max-height:calc(100dvh - 24px)!important}
 .schedule-title-row{gap:10px}
}
@media screen and (max-height:500px){
 .mobile-site-header{position:relative!important}
 .section-modal,.pro-modal,.comparison-dialog,.feedback-overlay{padding:8px!important;align-items:center!important}
 .section-modal-card,.pro-modal-card,.feedback-panel,.comparison-card,.schedule-dialog{max-height:calc(100dvh - 16px)!important}
 body.builder-page .mobile-program-actions .mobile-action{min-height:44px;flex-direction:row;flex-wrap:wrap}
}
@media print{
 .print-sheet{user-select:text;-webkit-user-select:text}
 .print-sheet>h1{font-size:22pt;line-height:1.2;margin:0 0 12pt;color:#24312d}
 .print-section>h2{font-size:14pt;line-height:1.3;margin:14pt 0 6pt;break-after:avoid}
 .print-section table th[scope="row"]{text-align:left;font-weight:normal;text-transform:none;letter-spacing:normal;background:#fff}
 .print-section thead{display:table-header-group}
 .print-section tr{break-inside:avoid}
 .print-section td,.print-section th{white-space:normal;overflow-wrap:anywhere}
}


@media screen{
 :focus-visible{outline:3px solid #6b2e63!important;outline-offset:3px!important}
 .section-select,.saved-program-preview-link{font:inherit;color:inherit;text-align:left;background:none;border:0;padding:0;cursor:pointer}
 .section-select{font-weight:inherit}
 .saved-program-preview-link{font-weight:700}
}

@media screen{
 .skip-link{position:fixed;top:8px;left:8px;z-index:10000;background:#fff;color:#6b2e63;padding:12px 18px;transform:translateY(-200%);font-weight:700;border-radius:8px}
 .skip-link:focus{transform:none}
}
@media print{.skip-link{display:none}}

/* Keep the native information control available when the mobile title is tapped. */
@media screen{.exercise-picker-result .exercise-info-button{display:inline-grid!important}}
