/* Compatibility layer: intentionally broad and low-specificity. Remove mappings as plugins adopt hh-* classes. */
:where(.mstp-training-btn,.mstp-request-btn,.mstp-open-program,.mstp-primary-btn,.mstp-submit,.mstp-btn-primary,.mstp-portal-btn){display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:var(--hh-touch);padding:.72rem 1rem;border:1px solid transparent;border-radius:var(--hh-radius-sm);background:var(--hh-brand);color:#fff;font-weight:850;line-height:1.15;text-decoration:none;cursor:pointer}
:where(.mstp-view-details,.mstp-open-btn,.mstp-go-btn){background:var(--hh-green)!important;color:#fff!important}
:where(.mstp-request-card,.mstp-training-card,.mstp-birthday-card,.mstp-portal-card,.mstp-player-card,.mstp-service-card){border:1px solid var(--hh-border);border-radius:var(--hh-radius-md);background:var(--hh-surface);box-shadow:var(--hh-shadow-sm)}
:where(.mstp-request-status,.mstp-request-count,.mstp-request-spots-left,.mstp-tag,.mstp-badge-label){border-radius:999px;font-weight:800}
:where(.mstp-wrap,.mstp-portal-wrap,.mstp-registration-wrap,.mstp-player-report-wrap){width:100%;max-width:none;min-width:0;margin-inline:0}
:where(.mstp-wrap,.mstp-portal-wrap,.mstp-registration-wrap,.mstp-player-report-wrap) input:not([type="checkbox"]):not([type="radio"]),
:where(.mstp-wrap,.mstp-portal-wrap,.mstp-registration-wrap,.mstp-player-report-wrap) select,
:where(.mstp-wrap,.mstp-portal-wrap,.mstp-registration-wrap,.mstp-player-report-wrap) textarea{min-height:var(--hh-touch);border-radius:var(--hh-radius-sm)}
:where(.mstp-step-list,.mstp-backpack-steps,.mstp-how-it-works){display:grid!important;grid-template-columns:1fr!important;overflow:visible!important;scroll-snap-type:none!important}
:where(.mstp-athlete-card,.mstp-player-control-box){position:relative}
:where(.mstp-athlete-name,.mstp-player-name-sticky){position:sticky;top:84px;z-index:6;margin:0;padding:.65rem .8rem;background:rgba(255,255,255,.97);border-bottom:1px solid var(--hh-border);font-size:1rem;line-height:1.15;backdrop-filter:blur(8px)}
body.admin-bar :where(.mstp-athlete-name,.mstp-player-name-sticky){top:116px}
@media(max-width:782px){body.admin-bar :where(.mstp-athlete-name,.mstp-player-name-sticky){top:130px}:where(.mstp-training-btn,.mstp-request-btn,.mstp-open-program,.mstp-primary-btn,.mstp-submit,.mstp-btn-primary,.mstp-portal-btn){width:100%}:where(.mstp-grid,.mstp-card-grid,.mstp-request-grid,.mstp-training-grid){grid-template-columns:1fr!important}:where(.mstp-table,.mstp-admin-table){display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}}
/* Do not recolour semantic plugin messages through seasonal palettes. */
:where(.mstp-error,.mstp-danger,.mstp-validation-error){--hh-brand:var(--hh-danger)}
:where(.mstp-success,.mstp-confirmed){--hh-brand:var(--hh-green)}

/* Application compatibility: the plugin owns its internal widths and spacing. */
.hh-content-presentation-application :where(.entry-content,.hh-content-card){width:100%;max-width:none;min-width:0}
.hh-content-presentation-application :where(.mstp-wrap,.mstp-portal-wrap,.mstp-registration-wrap,.mstp-player-report-wrap){
 width:100%;
 max-width:none;
 min-width:0;
 margin-inline:0;
}
.hh-content-presentation-application .hh-content-card:has(:where(.mstp-wrap,.mstp-portal-wrap,.mstp-registration-wrap,.mstp-player-report-wrap)){
 padding:0;
 border:0;
 background:transparent;
 box-shadow:none;
}
:where(.mstp-filter-panel,.mstp-toolbar,.mstp-app-header,.mstp-backpack-header,.mstp-registration-header){display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;min-width:0}
:where(.mstp-filter-panel,.mstp-toolbar) > *{min-width:0;flex:1 1 180px}
:where(.mstp-price,.mstp-card-price,.mstp-total){font-variant-numeric:tabular-nums}
:where(.mstp-card-title,.mstp-program-title,.mstp-training-title,.mstp-birthday-title){overflow-wrap:anywhere;text-wrap:balance}
@media(max-width:599px){
 :where(.mstp-filter-panel,.mstp-toolbar,.mstp-app-header,.mstp-backpack-header,.mstp-registration-header){align-items:stretch;flex-direction:column}
 :where(.mstp-filter-panel,.mstp-toolbar) > *{width:100%;flex-basis:auto}
 :where(.mstp-modal,.mstp-dialog,.mstp-drawer){position:fixed!important;inset:auto 0 0!important;width:100%!important;max-width:none!important;max-height:90dvh;border-radius:16px 16px 0 0!important}
 :where(.mstp-sticky-actions,.mstp-registration-actions,.mstp-backpack-actions){position:sticky;bottom:0;z-index:20;margin-inline:calc(var(--hh-page-gutter,16px) * -1);padding:.75rem var(--hh-page-gutter,16px) calc(.75rem + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--hh-border);backdrop-filter:blur(10px)}
}
