:where(html,body,a,button,input,select,textarea,summary,[role="button"],[tabindex]) {
  -webkit-tap-highlight-color: transparent;
}

/* Search overlay matches the public header geometry exactly. */
.mcm-search-overlay__header,
.mcm-search-modal__header,
[data-mcm-search-header] {
  box-sizing: border-box;
  min-height: var(--mcm-search-header-height, var(--mcm-header-height, 96px));
  height: var(--mcm-search-header-height, var(--mcm-header-height, 96px));
  display: flex;
  align-items: center;
}
.mcm-search-overlay__header img,
.mcm-search-modal__header img { display:block; object-fit:contain; margin-block:0; }
.mcm-search-suggestions[hidden],
.mcm-search-featured[hidden],
.mcm-search-start[hidden],
.mcm-search-shortcuts[hidden],
.mcm-search-results[hidden] { display:none !important; }

/* Full-width mobile navigation and smooth accordion. */
.mcm-mobile-menu--fullwidth,
.mcm-mobile-menu,
.mcm-mobile-drawer,
[data-mcm-mobile-menu] {
  width: 100vw !important;
  max-width: none !important;
  inset-inline: 0 !important;
  grid-template-columns: 100vw !important;
}
.mcm-mobile-drawer__panel { position:absolute !important; inset:0 !important; width:100% !important; max-width:none !important; grid-column:1 !important; }
.mcm-mobile-drawer__backdrop { display:none !important; }
.mcm-mobile-menu .sub-menu,
.mcm-mobile-drawer .sub-menu { will-change:max-height,opacity; }
.mcm-mobile-menu .mcm-submenu-toggle,
.mcm-mobile-drawer .mcm-submenu-toggle { transition:none !important; }
.mcm-mobile-menu .mcm-submenu-toggle::before,
.mcm-mobile-menu .mcm-submenu-toggle::after,
.mcm-mobile-drawer .mcm-submenu-toggle::before,
.mcm-mobile-drawer .mcm-submenu-toggle::after { transition: transform 180ms ease !important; }

/* Training plan share action belongs below the schedule. */
.mcm-training-share--below {
  width:100%;
  margin: clamp(24px,3vw,42px) 0 0;
  display:flex;
  justify-content:flex-end;
}

/* Training cards receive semantic sport colors and modal behavior. */
.mcm-training-card--interactive { cursor:pointer; }
.mcm-training-card--interactive:focus-visible { outline:3px solid var(--mcm-sport-color,var(--mcm-yellow,#f8e928)); outline-offset:3px; }
.mcm-training-card--interactive.mcm-has-sport-color,
.mcm-has-sport-color { border-inline-start-color: var(--mcm-sport-color) !important; }

.mcm-global-layer[hidden] { display:none !important; }
.mcm-training-modal {
  position:fixed;
  inset:0;
  z-index:100000;
  display:grid;
  place-items:center;
  padding:clamp(16px,3vw,44px);
  opacity:0;
  visibility:hidden;
  transition:opacity 180ms ease,visibility 180ms ease;
}
.mcm-training-modal.is-open { opacity:1; visibility:visible; }
.mcm-global-layer__backdrop { position:absolute; inset:0; border:0; background:rgb(8 12 20 / .78); cursor:default; }
.mcm-training-modal__dialog {
  position:relative;
  width:min(920px,100%);
  max-height:min(88vh,920px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
  color:var(--mcm-ink,#171b24);
  box-shadow:0 24px 80px rgb(0 0 0 / .24);
  transform:translateY(20px);
  transition:transform 220ms cubic-bezier(.2,.7,.2,1);
}
.mcm-training-modal.is-open .mcm-training-modal__dialog { transform:none; }
.mcm-training-modal__header { position:relative; flex:0 0 auto; padding:clamp(22px,3vw,36px); padding-inline-end:86px; background:var(--mcm-ink,#171b24); color:#fff; }
.mcm-training-modal__header h2 { margin:.35rem 0 0; color:var(--mcm-yellow,#f8e928); font-size:clamp(1.8rem,3.5vw,3.2rem); line-height:.95; }
.mcm-training-modal__eyebrow { font-weight:800; text-transform:uppercase; letter-spacing:.14em; }
.mcm-training-modal__header .mcm-global-close { position:absolute; inset-block-start:20px; inset-inline-end:20px; }
.mcm-training-modal__content { min-height:0; flex:1 1 auto; overflow:auto; overscroll-behavior:contain; padding:clamp(24px,3.5vw,44px); }
.mcm-training-modal__tags { display:flex; flex-wrap:wrap; gap:8px; margin-block-end:24px; }
.mcm-training-modal__tag { background:var(--mcm-yellow,#f8e928); padding:8px 12px; font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.mcm-training-modal__facts { display:grid; grid-template-columns:minmax(0,1fr); margin:0 0 24px; border-top:1px solid var(--mcm-border); }
.mcm-training-modal__facts > div { min-width:0; padding:18px 0; border-bottom:1px solid var(--mcm-border); }
.mcm-training-modal__facts dt { font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.mcm-training-modal__facts dd { margin:.4rem 0 0; font-size:1.05rem; white-space:pre-line; overflow-wrap:anywhere; }
.mcm-training-modal__notes { margin-block:24px; padding:20px 24px; border-inline-start:4px solid var(--mcm-yellow); background:var(--mcm-bg); overflow-wrap:anywhere; }
.mcm-training-modal__notes h3 { margin:0 0 12px; }
.mcm-training-modal__notes > :last-child { margin-bottom:0; }
.mcm-training-modal__trainers { margin-block-start:32px; padding-block-start:0; border-block-start:0; }
.mcm-training-trainer { display:grid; grid-template-columns:84px 1fr; gap:20px; align-items:center; margin-block-start:18px; }
.mcm-training-trainer img,.mcm-training-trainer__placeholder { width:84px; aspect-ratio:1; object-fit:cover; background:#e7e9ed; }
.mcm-training-trainer h3 { margin:0 0 6px; }
.mcm-training-trainer a { display:block; color:inherit; margin-block:3px; }
html.mcm-layer-open { overflow:hidden; }

@media (max-width:700px) {
  .mcm-training-modal { padding:0; align-items:end; }
  .mcm-training-modal__dialog { width:100%; max-height:92dvh; }
  .mcm-training-share--below > * { width:100%; }
}
