/* ============================================================
 * MacroGym Entrenos · Biblioteca Premium v1
 * Archivo independiente SOLO para Biblioteca.
 * Ruta recomendada: assets/css/mgym-biblioteca-premium-v1.css
 *
 * Objetivo:
 * - Vestir la plantilla real templates/biblioteca.php.
 * - Mantener datos reales, imágenes reales, botones reales y lógica real.
 * - No tocar Configuración, Rutinas, Sesiones ni Registro.
 * ============================================================ */

/* ============================================================
 * [MGYM-BIBLIOTECA-PREMIUM-V1-ROOT-START]
 * Variables locales y reset seguro solo dentro de Biblioteca.
 * ============================================================ */
html body .mgym-lib-page--v11 {
  --mgym-lib-bg: #191919;
  --mgym-lib-bg-deep: #070707;
  --mgym-lib-card: rgba(30, 32, 36, 0.72);
  --mgym-lib-card-hover: rgba(42, 45, 52, 0.92);
  --mgym-lib-panel: rgba(14, 16, 22, 0.72);
  --mgym-lib-border: rgba(255, 255, 255, 0.08);
  --mgym-lib-border-strong: rgba(255, 255, 255, 0.16);
  --mgym-lib-cyan: #a3ff33;
  --mgym-lib-cyan-soft: rgba(163, 255, 51, 0.14);
  --mgym-lib-cyan-border: rgba(163, 255, 51, 0.35);
  --mgym-lib-volt: #a3ff33;
  --mgym-lib-volt-soft: rgba(163, 255, 51, 0.10);
  --mgym-lib-pink: #ec4899;
  --mgym-lib-success: #10b981;
  --mgym-lib-warning: #f59e0b;
  --mgym-lib-danger: #ef4444;
  --mgym-lib-text: #f8fafc;
  --mgym-lib-muted: #94a3b8;
  --mgym-lib-muted-2: #64748b;
  --mgym-lib-soft: #4b5563;
  --mgym-lib-radius-xl: 28px;
  --mgym-lib-radius-lg: 22px;
  --mgym-lib-radius-md: 16px;
  --mgym-lib-shadow: 0 20px 44px -16px rgba(0, 0, 0, 0.72);
  --mgym-lib-glow: 0 0 32px rgba(163, 255, 51, 0.16);
  --mgym-lib-transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);

  width: min(96vw, 1800px) !important;
  max-width: min(96vw, 1800px) !important;
  margin: 0 auto !important;
  padding: 28px 18px 88px !important;
  color: var(--mgym-lib-text) !important;
  background: transparent !important;
  overflow-x: hidden !important;
  font-family: Outfit, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
}

html body .mgym-lib-page--v11,
html body .mgym-lib-page--v11 *,
html body .mgym-lib-page--v11 *::before,
html body .mgym-lib-page--v11 *::after {
  box-sizing: border-box !important;
}

html body .mgym-lib-page--v11 :is(h1, h2, h3, h4, p) {
  margin-top: 0 !important;
}

html body .mgym-lib-page--v11 :is(a, button, input, select, textarea) {
  font-family: inherit !important;
}

html body .mgym-lib-page--v11 :is(button, a) {
  -webkit-tap-highlight-color: transparent !important;
}

html body .mgym-lib-page--v11 ::-webkit-scrollbar {
  width: 6px !important;
  height: 6px !important;
}

html body .mgym-lib-page--v11 ::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.30) !important;
}

html body .mgym-lib-page--v11 ::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.11) !important;
  border-radius: 999px !important;
}

html body .mgym-lib-page--v11 ::-webkit-scrollbar-thumb:hover {
  background: var(--mgym-lib-cyan) !important;
}
/* [MGYM-BIBLIOTECA-PREMIUM-V1-ROOT-END] */

/* ============================================================
 * [MGYM-BIBLIOTECA-PREMIUM-V1-BACKGROUND-START]
 * Fondo visual local sin tocar body ni otras pantallas.
 * ============================================================ */
html body .mgym-lib-page--v11::before,
html body .mgym-lib-page--v11::after {
  content: "" !important;
  position: fixed !important;
  width: 420px !important;
  height: 420px !important;
  border-radius: 999px !important;
  pointer-events: none !important;
  z-index: -1 !important;
  filter: blur(130px) !important;
  opacity: 0.12 !important;
}

html body .mgym-lib-page--v11::before {
  top: 12vh !important;
  left: -140px !important;
  background: var(--mgym-lib-cyan) !important;
}

html body .mgym-lib-page--v11::after {
  right: -140px !important;
  bottom: 10vh !important;
  background: var(--mgym-lib-pink) !important;
}
/* [MGYM-BIBLIOTECA-PREMIUM-V1-BACKGROUND-END] */

/* ============================================================
 * [MGYM-BIBLIOTECA-PREMIUM-V1-FEEDBACK-START]
 * Feedback superior real del PHP.
 * ============================================================ */
html body .mgym-lib-page--v11 .mgym-lib-feedback {
  width: 100% !important;
  margin: 0 0 16px !important;
  padding: 14px 18px !important;
  border-radius: var(--mgym-lib-radius-md) !important;
  border: 1px solid var(--mgym-lib-border) !important;
  background: rgba(18, 20, 28, 0.86) !important;
  color: var(--mgym-lib-text) !important;
  box-shadow: var(--mgym-lib-shadow) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-feedback.is-success {
  border-color: rgba(16, 185, 129, 0.28) !important;
  color: #d1fae5 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-feedback.is-error {
  border-color: rgba(239, 68, 68, 0.32) !important;
  color: #fee2e2 !important;
}
/* [MGYM-BIBLIOTECA-PREMIUM-V1-FEEDBACK-END] */

/* ============================================================
 * [MGYM-BIBLIOTECA-PREMIUM-V1-TYPO-START]
 * Títulos, kicker y textos.
 * ============================================================ */
html body .mgym-lib-page--v11 .mgym-lib-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 7px !important;
  color: var(--mgym-lib-cyan) !important;
  font-size: 0.70rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
}

html body .mgym-lib-page--v11 .mgym-lib-kicker::before {
  content: "" !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 999px !important;
  background: var(--mgym-lib-cyan) !important;
  box-shadow: 0 0 16px rgba(163, 255, 51, 0.62) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-title {
  margin: 0 0 10px !important;
  max-width: 780px !important;
  font-size: clamp(2rem, 4.4vw, 4.4rem) !important;
  line-height: 0.92 !important;
  font-weight: 950 !important;
  letter-spacing: -0.065em !important;
  color: var(--mgym-lib-text) !important;
  background: linear-gradient(90deg, #ffffff, #cbd5e1 72%, #94a3b8) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

html body .mgym-lib-page--v11 .mgym-lib-sectiontitle {
  margin: 0 0 7px !important;
  color: var(--mgym-lib-text) !important;
  font-size: clamp(1.38rem, 2.2vw, 2.2rem) !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
  letter-spacing: -0.045em !important;
}

html body .mgym-lib-page--v11 .mgym-lib-subtitle,
html body .mgym-lib-page--v11 .mgym-lib-muted,
html body .mgym-lib-page--v11 .mgym-lib-choicecard p {
  margin: 0 !important;
  max-width: 820px !important;
  color: var(--mgym-lib-muted) !important;
  font-size: 0.94rem !important;
  line-height: 1.62 !important;
}
/* [MGYM-BIBLIOTECA-PREMIUM-V1-TYPO-END] */

/* ============================================================
 * [MGYM-BIBLIOTECA-PREMIUM-V1-SHELL-START]
 * Bloques principales: master, colección y formulario.
 * ============================================================ */
html body .mgym-lib-page--v11 .mgym-lib-master,
html body .mgym-lib-page--v11 .mgym-lib-collection,
html body .mgym-lib-page--v11 .mgym-lib-formcard {
  position: relative !important;
  isolation: isolate !important;
  margin: 0 0 22px !important;
  padding: 24px !important;
  border-radius: var(--mgym-lib-radius-xl) !important;
  border: 1px solid var(--mgym-lib-border) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(163, 255, 51, 0.09), transparent 32%),
    linear-gradient(135deg, rgba(35, 35, 38, 0.78), rgba(20, 20, 22, 0.94)) !important;
  box-shadow: var(--mgym-lib-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
  overflow: hidden !important;
}

html body .mgym-lib-page--v11 .mgym-lib-master::after,
html body .mgym-lib-page--v11 .mgym-lib-collection::after,
html body .mgym-lib-page--v11 .mgym-lib-formcard::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  border-radius: inherit !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.05), transparent 42%) !important;
  z-index: -1 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-master__hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 28px !important;
  align-items: center !important;
  margin-bottom: 20px !important;
  padding: 18px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  background: rgba(7, 7, 7, 0.18) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-master__stats {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

html body .mgym-lib-page--v11 .mgym-lib-master__stats.is-inline {
  justify-content: flex-end !important;
  align-items: center !important;
}

html body .mgym-lib-page--v11 .mgym-lib-pill {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  min-width: 88px !important;
  min-height: 68px !important;
  padding: 11px 16px !important;
  border-radius: var(--mgym-lib-radius-md) !important;
  border: 1px solid rgba(255, 255, 255, 0.075) !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.00)) !important;
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.06) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-pill::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  width: 62% !important;
  height: 1px !important;
  transform: translateX(-50%) !important;
  background: linear-gradient(90deg, transparent, rgba(163, 255, 51, 0.32), transparent) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-pill strong {
  display: block !important;
  color: var(--mgym-lib-cyan) !important;
  font-size: 1.38rem !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  text-shadow: 0 0 12px rgba(163, 255, 51, 0.22) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-pill span {
  display: block !important;
  margin-top: 4px !important;
  color: var(--mgym-lib-muted) !important;
  font-size: 0.62rem !important;
  font-weight: 850 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}
/* [MGYM-BIBLIOTECA-PREMIUM-V1-SHELL-END] */

/* ============================================================
 * [MGYM-BIBLIOTECA-PREMIUM-V1-BUTTONS-START]
 * Botones propios de Biblioteca.
 * ============================================================ */
html body .mgym-lib-page--v11 .mgym-lib-btn,
html body .mgym-lib-page--v11 .mgym-lib-toolbar__apply,
html body .mgym-lib-page--v11 .mgym-lib-card-v11__btn,
html body .mgym-lib-page--v11 .mgym-lib-navbtn,
html body .mgym-lib-page--v11 .mgym-lib-sidearrow {
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  min-height: 42px !important;
  padding: 10px 16px !important;
  border-radius: 14px !important;
  border: 1px solid var(--mgym-lib-border) !important;
  background: rgba(255, 255, 255, 0.035) !important;
  color: var(--mgym-lib-text) !important;
  text-decoration: none !important;
  font-size: 0.84rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: var(--mgym-lib-transition) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06) !important;
}

html body .mgym-lib-page--v11 :is(.mgym-lib-btn, .mgym-lib-toolbar__apply, .mgym-lib-card-v11__btn, .mgym-lib-navbtn, .mgym-lib-sidearrow):hover:not(:disabled) {
  transform: translateY(-2px) !important;
  border-color: var(--mgym-lib-border-strong) !important;
  background: rgba(255, 255, 255, 0.075) !important;
  color: #ffffff !important;
}

html body .mgym-lib-page--v11 .mgym-lib-btn.is-primary,
html body .mgym-lib-page--v11 .mgym-lib-toolbar__apply,
html body .mgym-lib-page--v11 .mgym-lib-card-v11__btn.is-detail,
html body .mgym-lib-page--v11 .mgym-lib-card-v11__btn.is-primary {
  border-color: rgba(163, 255, 51, 0.28) !important;
  background: rgba(163, 255, 51, 0.09) !important;
  color: var(--mgym-lib-cyan) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-btn.is-primary:hover,
html body .mgym-lib-page--v11 .mgym-lib-toolbar__apply:hover,
html body .mgym-lib-page--v11 .mgym-lib-card-v11__btn.is-detail:hover,
html body .mgym-lib-page--v11 .mgym-lib-card-v11__btn.is-primary:hover {
  border-color: var(--mgym-lib-cyan) !important;
  background: var(--mgym-lib-cyan) !important;
  color: #070709 !important;
  box-shadow: 0 8px 22px rgba(163, 255, 51, 0.26), var(--mgym-lib-glow) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-btn.is-ghost,
html body .mgym-lib-page--v11 .mgym-lib-jumpbtn {
  background: rgba(255, 255, 255, 0.03) !important;
  color: #ffffff !important;
}



html body .mgym-lib-page--v11 .mgym-lib-card-v11__btn:disabled,
html body .mgym-lib-page--v11 .mgym-lib-btn:disabled {
  opacity: 0.58 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}

html body .mgym-lib-page--v11 .mgym-lib-navbtn,
html body .mgym-lib-page--v11 .mgym-lib-sidearrow {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  color: var(--mgym-lib-muted) !important;
}
/* [MGYM-BIBLIOTECA-PREMIUM-V1-BUTTONS-END] */

/* ============================================================
 * [MGYM-BIBLIOTECA-PREMIUM-V1-TOOLBAR-START]
 * Buscador, selects y filtros.
 * ============================================================ */
html body .mgym-lib-page--v11 .mgym-lib-master__toolbar {
  display: grid !important;
  grid-template-columns: 44px minmax(280px, 1fr) minmax(460px, auto) 44px !important;
  gap: 12px !important;
  align-items: center !important;
  margin: 0 0 18px !important;
  padding: 14px !important;
  border-radius: var(--mgym-lib-radius-lg) !important;
  border: 1px solid var(--mgym-lib-border) !important;
  background: rgba(14, 16, 22, 0.72) !important;
  box-shadow: var(--mgym-lib-shadow) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-toolbar__search {
  position: relative !important;
  min-width: 0 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-toolbar__search::before {
  content: "⌕" !important;
  position: absolute !important;
  left: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: var(--mgym-lib-muted) !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-toolbar__search input,
html body .mgym-lib-page--v11 .mgym-lib-toolbar__filters select,
html body .mgym-lib-page--v11 .mgym-lib-field input,
html body .mgym-lib-page--v11 .mgym-lib-field select,
html body .mgym-lib-page--v11 .mgym-lib-field textarea {
  width: 100% !important;
  min-height: 46px !important;
  border-radius: 14px !important;
  border: 1px solid var(--mgym-lib-border) !important;
  background: rgba(0, 0, 0, 0.38) !important;
  color: var(--mgym-lib-text) !important;
  padding: 12px 14px !important;
  outline: none !important;
  font-size: 0.88rem !important;
  font-weight: 650 !important;
  transition: var(--mgym-lib-transition) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-toolbar__search input {
  padding-left: 44px !important;
}

html body .mgym-lib-page--v11 :is(input, select, textarea)::placeholder {
  color: rgba(148, 163, 184, 0.62) !important;
}

html body .mgym-lib-page--v11 :is(input, select, textarea):focus {
  border-color: var(--mgym-lib-cyan) !important;
  background: rgba(0, 0, 0, 0.52) !important;
  box-shadow: 0 0 0 3px rgba(163, 255, 51, 0.08), 0 0 18px rgba(163, 255, 51, 0.09) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-toolbar__filters {
  display: grid !important;
  grid-template-columns: minmax(170px, 220px) minmax(170px, 220px) auto !important;
  gap: 10px !important;
  align-items: center !important;
}
/* [MGYM-BIBLIOTECA-PREMIUM-V1-TOOLBAR-END] */

/* ============================================================
 * [MGYM-BIBLIOTECA-PREMIUM-V1-GROUPRAIL-START]
 * Carril horizontal de grupos musculares.
 * ============================================================ */
html body .mgym-lib-page--v11 .mgym-lib-grouprail-wrap {
  position: relative !important;
  width: 100% !important;
  overflow: hidden !important;
  padding: 3px 0 0 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-grouprail {
  display: flex !important;
  gap: 14px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-behavior: smooth !important;
  scroll-snap-type: x proximity !important;
  padding: 7px 4px 14px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-grouprail::-webkit-scrollbar {
  display: none !important;
}

html body .mgym-lib-page--v11 .mgym-lib-groupcard {
  appearance: none !important;
  flex: 0 0 208px !important;
  min-width: 208px !important;
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) 20px !important;
  gap: 13px !important;
  align-items: center !important;
  padding: 13px 16px !important;
  scroll-snap-align: start !important;
  border-radius: 18px !important;
  border: 1px solid var(--mgym-lib-border) !important;
  background: linear-gradient(135deg, rgba(35, 35, 38, 0.82), rgba(20, 20, 22, 0.96)) !important;
  color: var(--mgym-lib-text) !important;
  text-align: left !important;
  cursor: pointer !important;
  transition: var(--mgym-lib-transition) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.055) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-groupcard:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(255,255,255,0.14) !important;
  background: var(--mgym-lib-card-hover) !important;
  box-shadow: 0 10px 26px rgba(0,0,0,0.32) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-groupcard.is-active {
  border-color: var(--mgym-lib-cyan) !important;
  background: rgba(163, 255, 51, 0.055) !important;
  box-shadow: 0 8px 26px rgba(163, 255, 51, 0.16) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-groupcard__icon {
  display: grid !important;
  place-items: center !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 13px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  color: var(--mgym-lib-cyan) !important;
  font-size: 1rem !important;
  font-weight: 900 !important;
  transition: var(--mgym-lib-transition) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-groupcard.is-active .mgym-lib-groupcard__icon {
  background: var(--mgym-lib-cyan) !important;
  color: #070709 !important;
  box-shadow: 0 0 16px rgba(163, 255, 51, 0.32) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-groupcard__text {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-groupcard__text strong {
  color: #ffffff !important;
  font-size: 0.92rem !important;
  line-height: 1.1 !important;
  font-weight: 850 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body .mgym-lib-page--v11 .mgym-lib-groupcard__text small {
  color: var(--mgym-lib-muted) !important;
  font-size: 0.72rem !important;
  line-height: 1.2 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-groupcard__arrow {
  color: var(--mgym-lib-soft) !important;
  transition: var(--mgym-lib-transition) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-groupcard:hover .mgym-lib-groupcard__arrow {
  color: var(--mgym-lib-cyan) !important;
  transform: translateX(3px) !important;
}
/* [MGYM-BIBLIOTECA-PREMIUM-V1-GROUPRAIL-END] */

/* ============================================================
 * [MGYM-BIBLIOTECA-PREMIUM-V1-COLLECTIONS-START]
 * Colecciones y carruseles de tarjetas.
 * ============================================================ */
html body .mgym-lib-page--v11 .mgym-lib-collection__head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 18px !important;
  align-items: end !important;
  margin-bottom: 18px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.055) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-carousel-shell {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) 44px !important;
  gap: 12px !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

html body .mgym-lib-page--v11 .mgym-lib-carousel-shell.is-single-item {
  grid-template-columns: minmax(0, 1fr) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-carousel {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 20px !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-behavior: smooth !important;
  scroll-snap-type: x mandatory !important;
  padding: 13px 4px 24px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-carousel.is-single-item {
  justify-content: flex-start !important;
}

html body .mgym-lib-page--v11 .mgym-lib-carousel.is-single-item .mgym-lib-card-v11,
html body .mgym-lib-page--v11 .mgym-lib-carousel-shell.is-single-item .mgym-lib-card-v11 {
  flex-basis: min(340px, 100%) !important;
}
/* [MGYM-BIBLIOTECA-PREMIUM-V1-COLLECTIONS-END] */

/* ============================================================
 * [MGYM-BIBLIOTECA-PREMIUM-V1-CARDS-START]
 * Tarjeta premium de ejercicio con imagen real.
 * ============================================================ */
html body .mgym-lib-page--v11 .mgym-lib-card-v11 {
  flex: 0 0 296px !important;
  width: 296px !important;
  min-height: 386px !important;
  display: flex !important;
  flex-direction: column !important;
  scroll-snap-align: start !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: 22px !important;
  border: 1px solid var(--mgym-lib-border) !important;
  background: linear-gradient(135deg, rgba(35,35,38,0.88), rgba(20,20,22,0.98)) !important;
  color: var(--mgym-lib-text) !important;
  box-shadow: var(--mgym-lib-shadow) !important;
  transition: var(--mgym-lib-transition) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.055), transparent 48%) !important;
  z-index: 1 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11:hover {
  transform: translateY(-6px) !important;
  border-color: var(--mgym-lib-cyan-border) !important;
  background: var(--mgym-lib-card-hover) !important;
  box-shadow: 0 26px 48px rgba(0,0,0,0.76), 0 0 34px rgba(163, 255, 51,0.12) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11.is-user {
  border-left: 3px solid var(--mgym-lib-pink) !important;
}


html body .mgym-lib-page--v11 .mgym-lib-card-v11__media {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 164px !important;
  min-height: 164px !important;
  overflow: hidden !important;
  border-bottom: 1px solid var(--mgym-lib-border) !important;
  background: linear-gradient(135deg, #181c26, #090a0e) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__media::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(to top, rgba(12,14,20,0.96), rgba(12,14,20,0.00) 58%) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11:hover .mgym-lib-card-v11__media img {
  transform: scale(1.08) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__media > span {
  color: rgba(255,255,255,0.045) !important;
  font-size: 3.8rem !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  text-shadow: 0 0 24px rgba(163, 255, 51,0.13) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__body {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  padding: 18px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 11px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__badge {
  display: inline-flex !important;
  align-items: center !important;
  width: max-content !important;
  max-width: 178px !important;
  min-height: 24px !important;
  padding: 4px 9px !important;
  border-radius: 8px !important;
  border: 1px solid var(--mgym-lib-border) !important;
  background: rgba(255,255,255,0.04) !important;
  color: var(--mgym-lib-muted) !important;
  font-size: 0.68rem !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__badge.is-user {
  color: var(--mgym-lib-pink) !important;
  border-color: rgba(236, 72, 153, 0.20) !important;
  background: rgba(236, 72, 153, 0.08) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__icon {
  appearance: none !important;
  display: grid !important;
  place-items: center !important;
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  border: 1px solid var(--mgym-lib-border) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.035) !important;
  color: var(--mgym-lib-muted) !important;
  cursor: pointer !important;
  transition: var(--mgym-lib-transition) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__icon:hover {
  color: var(--mgym-lib-volt) !important;
  transform: scale(1.08) !important;
  border-color: rgba(163,255,51,0.28) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11 h3 {
  margin: 0 0 7px !important;
  color: #ffffff !important;
  font-size: 1.08rem !important;
  line-height: 1.28 !important;
  font-weight: 900 !important;
  letter-spacing: -0.03em !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__meta {
  margin: 0 0 14px !important;
  color: var(--mgym-lib-muted) !important;
  font-size: 0.80rem !important;
  line-height: 1.35 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  min-height: 25px !important;
  max-height: 52px !important;
  overflow: hidden !important;
  margin-bottom: 16px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__tags span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 22px !important;
  padding: 3px 8px !important;
  border-radius: 7px !important;
  border: 1px solid var(--mgym-lib-border) !important;
  background: rgba(255,255,255,0.025) !important;
  color: var(--mgym-lib-muted) !important;
  font-size: 0.68rem !important;
  line-height: 1 !important;
  font-weight: 700 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 7px !important;
  margin-top: auto !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__btn {
  min-height: 36px !important;
  padding: 8px 11px !important;
  border-radius: 11px !important;
  font-size: 0.76rem !important;
  white-space: nowrap !important;
}
/* [MGYM-BIBLIOTECA-PREMIUM-V1-CARDS-END] */

/* ============================================================
 * [MGYM-BIBLIOTECA-PREMIUM-V1-FORM-START]
 * Formulario real de alta / edición.
 * ============================================================ */
html body .mgym-lib-page--v11 .mgym-lib-formcard__head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 18px !important;
  align-items: start !important;
  margin-bottom: 20px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid rgba(255,255,255,0.055) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-form {
  display: grid !important;
  gap: 16px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-media-box {
  display: grid !important;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr) !important;
  gap: 22px !important;
  align-items: start !important;
}

html body .mgym-lib-page--v11 .mgym-lib-media-preview {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 178px !important;
  overflow: hidden !important;
  text-align: center !important;
  border-radius: 18px !important;
  border: 2px dashed rgba(255,255,255,0.075) !important;
  background: rgba(0,0,0,0.30) !important;
  color: var(--mgym-lib-muted) !important;
  transition: var(--mgym-lib-transition) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-media-preview:not([data-empty="1"]) {
  border-style: solid !important;
  border-color: var(--mgym-lib-border) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-media-preview img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 14px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-media-preview span {
  padding: 0 12px !important;
  color: var(--mgym-lib-muted) !important;
  font-size: 0.80rem !important;
  font-weight: 750 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-media-controls {
  display: grid !important;
  gap: 14px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-media-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: end !important;
}

html body .mgym-lib-page--v11 .mgym-lib-cardline {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 14px !important;
  align-items: end !important;
}

html body .mgym-lib-page--v11 .mgym-lib-field {
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-field.is-wide {
  grid-column: 1 / -1 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-field.is-compact {
  min-width: 220px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-field label,
html body .mgym-lib-page--v11 .mgym-lib-choicecard h3 {
  margin: 0 !important;
  color: var(--mgym-lib-muted) !important;
  font-size: 0.72rem !important;
  line-height: 1.1 !important;
  font-weight: 850 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}

html body .mgym-lib-page--v11 .mgym-lib-field textarea {
  min-height: 94px !important;
  resize: vertical !important;
  line-height: 1.5 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-grid {
  display: grid !important;
  gap: 14px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-grid--main {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-grid--secondary {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-grid--notes {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-choicecard {
  display: grid !important;
  gap: 12px !important;
  padding: 18px !important;
  border-radius: 18px !important;
  border: 1px solid var(--mgym-lib-border) !important;
  background: rgba(0, 0, 0, 0.24) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-chiplist {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: flex-start !important;
}

html body .mgym-lib-page--v11 .mgym-lib-chipcheck input {
  display: none !important;
}

html body .mgym-lib-page--v11 .mgym-lib-chipcheck span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 34px !important;
  padding: 8px 13px !important;
  border-radius: 11px !important;
  border: 1px solid var(--mgym-lib-border) !important;
  background: rgba(255, 255, 255, 0.025) !important;
  color: var(--mgym-lib-muted) !important;
  font-size: 0.80rem !important;
  line-height: 1 !important;
  font-weight: 780 !important;
  cursor: pointer !important;
  user-select: none !important;
  transition: var(--mgym-lib-transition) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-chipcheck span:hover {
  transform: translateY(-1px) !important;
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-chipcheck input:checked + span {
  border-color: var(--mgym-lib-cyan) !important;
  background: rgba(163, 255, 51, 0.12) !important;
  color: var(--mgym-lib-cyan) !important;
  box-shadow: 0 5px 13px rgba(163, 255, 51, 0.13) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-chipcheck.is-secondary input:checked + span {
  border-color: rgba(236, 72, 153, 0.36) !important;
  background: rgba(236, 72, 153, 0.11) !important;
  color: var(--mgym-lib-pink) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-detail-editor {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 0 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-detail-editor .is-wide {
  grid-column: 1 / -1 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-actions {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 4px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(255,255,255,0.055) !important;
}
/* [MGYM-BIBLIOTECA-PREMIUM-V1-FORM-END] */

/* ============================================================
 * [MGYM-BIBLIOTECA-PREMIUM-V1-MODAL-START]
 * Modal de detalle real conectado por app.js.
 * ============================================================ */
body.mgym-lib-modal-open {
  overflow: hidden !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal[hidden] {
  display: none !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 100000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.32s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal.is-open {
  opacity: 1 !important;
  pointer-events: auto !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(3, 4, 6, 0.84) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__card {
  position: relative !important;
  z-index: 1 !important;
  width: min(1080px, calc(100vw - 32px)) !important;
  max-height: calc(100vh - 64px) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 28px !important;
  border: 1px solid var(--mgym-lib-border) !important;
  background: rgba(16, 18, 25, 0.96) !important;
  box-shadow: 0 32px 72px rgba(0,0,0,0.90), 0 0 52px rgba(163, 255, 51,0.06) !important;
  transform: scale(0.94) translateY(12px) !important;
  transition: transform 0.34s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal.is-open .mgym-lib-modal__card {
  transform: scale(1) translateY(0) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__close {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  z-index: 4 !important;
  width: 38px !important;
  height: 38px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  border: 1px solid var(--mgym-lib-border) !important;
  background: rgba(255,255,255,0.045) !important;
  color: var(--mgym-lib-muted) !important;
  font-size: 1.35rem !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: var(--mgym-lib-transition) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__close:hover {
  border-color: var(--mgym-lib-danger) !important;
  background: var(--mgym-lib-danger) !important;
  color: #ffffff !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__grid {
  display: grid !important;
  grid-template-columns: minmax(320px, 480px) minmax(0, 1fr) !important;
  height: min(620px, calc(100vh - 64px)) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__media {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border-right: 1px solid var(--mgym-lib-border) !important;
  background: #08090c !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__visual {
  position: relative !important;
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  padding: 24px !important;
  min-height: 0 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__visual :is(img, video, iframe) {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: #000 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__visual .letter-fallback,
html body .mgym-lib-page--v11 .mgym-lib-modal__visual span {
  color: rgba(255,255,255,0.035) !important;
  font-size: 7rem !important;
  font-weight: 950 !important;
  text-shadow: 0 0 38px rgba(163, 255, 51,0.12) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__thumbs {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  padding: 14px !important;
  border-top: 1px solid var(--mgym-lib-border) !important;
  background: rgba(0,0,0,0.38) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__thumbbtn {
  min-height: 34px !important;
  padding: 7px 13px !important;
  border-radius: 10px !important;
  border: 1px solid var(--mgym-lib-border) !important;
  background: rgba(255,255,255,0.035) !important;
  color: var(--mgym-lib-muted) !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  transition: var(--mgym-lib-transition) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__thumbbtn.is-active,
html body .mgym-lib-page--v11 .mgym-lib-modal__thumbbtn:hover {
  border-color: var(--mgym-lib-cyan) !important;
  background: var(--mgym-lib-cyan) !important;
  color: #070709 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__content {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  height: 100% !important;
  overflow-y: auto !important;
  padding: 28px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__content h3 {
  margin: 0 42px 12px 0 !important;
  color: #ffffff !important;
  font-size: clamp(1.55rem, 2.6vw, 2.2rem) !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
  letter-spacing: -0.045em !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__chips,
html body .mgym-lib-page--v11 .mgym-lib-modal__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__chips {
  margin-bottom: 16px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__chips span {
  display: inline-flex !important;
  min-height: 24px !important;
  align-items: center !important;
  padding: 4px 9px !important;
  border-radius: 8px !important;
  border: 1px solid var(--mgym-lib-border) !important;
  background: rgba(255,255,255,0.035) !important;
  color: var(--mgym-lib-muted) !important;
  font-size: 0.68rem !important;
  font-weight: 850 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__meta {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-bottom: 22px !important;
  padding: 15px !important;
  border-radius: 18px !important;
  border: 1px solid var(--mgym-lib-border) !important;
  background: rgba(0,0,0,0.24) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__meta div {
  display: grid !important;
  gap: 4px !important;
  min-width: 0 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__meta strong {
  color: rgba(148,163,184,0.72) !important;
  font-size: 0.68rem !important;
  line-height: 1.1 !important;
  font-weight: 850 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__meta span {
  color: #ffffff !important;
  font-size: 0.88rem !important;
  line-height: 1.25 !important;
  font-weight: 750 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__textgrid {
  display: grid !important;
  gap: 17px !important;
  grid-template-columns: 1fr !important;
  margin-bottom: 22px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__textgrid div {
  display: grid !important;
  gap: 6px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__textgrid strong {
  color: var(--mgym-lib-cyan) !important;
  font-size: 0.78rem !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__textgrid p {
  margin: 0 !important;
  color: var(--mgym-lib-muted) !important;
  font-size: 0.90rem !important;
  line-height: 1.62 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__actions {
  margin-top: auto !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(255,255,255,0.055) !important;
  justify-content: flex-end !important;
}
/* [MGYM-BIBLIOTECA-PREMIUM-V1-MODAL-END] */

/* ============================================================
 * [MGYM-BIBLIOTECA-PREMIUM-V1-MOBILE-START]
 * Responsive real. No hay simulador; solo web final.
 * ============================================================ */
@media (max-width: 1180px) {
  html body .mgym-lib-page--v11 .mgym-lib-master__toolbar {
    grid-template-columns: 1fr !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-navbtn,
  html body .mgym-lib-page--v11 .mgym-lib-sidearrow {
    display: none !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-toolbar__filters {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-grid--main {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-modal__grid {
    grid-template-columns: minmax(280px, 420px) minmax(0, 1fr) !important;
  }
}

@media (max-width: 900px) {
  html body .mgym-lib-page--v11 .mgym-lib-master__hero,
  html body .mgym-lib-page--v11 .mgym-lib-collection__head,
  html body .mgym-lib-page--v11 .mgym-lib-formcard__head,
  html body .mgym-lib-page--v11 .mgym-lib-media-box,
  html body .mgym-lib-page--v11 .mgym-lib-cardline,
  html body .mgym-lib-page--v11 .mgym-lib-detail-editor,
  html body .mgym-lib-page--v11 .mgym-lib-grid--notes {
    grid-template-columns: 1fr !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-master__stats {
    justify-content: flex-start !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-toolbar__filters,
  html body .mgym-lib-page--v11 .mgym-lib-grid--main,
  html body .mgym-lib-page--v11 .mgym-lib-grid--secondary {
    grid-template-columns: 1fr !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-modal__grid {
    grid-template-columns: 1fr !important;
    grid-template-rows: minmax(220px, 34vh) minmax(0, 1fr) !important;
    height: calc(100vh - 48px) !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-modal__media {
    border-right: 0 !important;
    border-bottom: 1px solid var(--mgym-lib-border) !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-modal__meta {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 781px) {
  html body .mgym-lib-page--v11 {
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px 8px 94px !important;
  }

  html body .mgym-lib-page--v11::before,
  html body .mgym-lib-page--v11::after {
    display: none !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-master,
  html body .mgym-lib-page--v11 .mgym-lib-collection,
  html body .mgym-lib-page--v11 .mgym-lib-formcard {
    width: 100% !important;
    margin-bottom: 14px !important;
    padding: 14px 10px !important;
    border-radius: 21px !important;
    border-top-color: rgba(163, 255, 51, 0.25) !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-master__hero {
    padding: 18px 14px !important;
    border-radius: 20px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-title {
    font-size: clamp(2rem, 12vw, 3rem) !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-master__stats {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
    justify-content: stretch !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-master__stats .mgym-lib-toolbar__apply,
  html body .mgym-lib-page--v11 .mgym-lib-master__stats .mgym-lib-btn,
  html body .mgym-lib-page--v11 .mgym-lib-master__stats .mgym-lib-jumpbtn {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-pill {
    min-width: 0 !important;
    min-height: 64px !important;
    padding: 9px 4px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-pill strong {
    font-size: 1.22rem !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-master__toolbar {
    padding: 12px !important;
    border-radius: 20px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-toolbar__filters,
  html body .mgym-lib-page--v11 .mgym-lib-toolbar__filters select,
  html body .mgym-lib-page--v11 .mgym-lib-toolbar__filters button,
  html body .mgym-lib-page--v11 .mgym-lib-actions,
  html body .mgym-lib-page--v11 .mgym-lib-actions .mgym-lib-btn,
  html body .mgym-lib-page--v11 .mgym-lib-media-buttons,
  html body .mgym-lib-page--v11 .mgym-lib-media-buttons .mgym-lib-btn {
    width: 100% !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-actions,
  html body .mgym-lib-page--v11 .mgym-lib-media-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-groupcard {
    flex-basis: 178px !important;
    min-width: 178px !important;
    padding: 12px 14px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-groupcard__icon {
    width: 38px !important;
    height: 38px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-carousel-shell {
    display: block !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-carousel {
    margin: 0 -6px !important;
    padding: 8px 6px 20px !important;
    gap: 12px !important;
    scroll-snap-type: x mandatory !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-card-v11,
  html body .mgym-lib-page--v11 .mgym-lib-carousel.is-single-item .mgym-lib-card-v11,
  html body .mgym-lib-page--v11 .mgym-lib-carousel-shell.is-single-item .mgym-lib-card-v11 {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-card-v11__media {
    height: 210px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-card-v11 h3 {
    white-space: normal !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-card-v11__actions,
  html body .mgym-lib-page--v11 .mgym-lib-card-v11__actions.is-three {
    grid-template-columns: 1fr !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-card-v11__btn {
    width: 100% !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-media-preview {
    height: 188px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-choicecard {
    padding: 14px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-modal__card {
    width: calc(100vw - 18px) !important;
    max-height: calc(100vh - 36px) !important;
    border-radius: 22px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-modal__grid {
    grid-template-rows: 230px minmax(0, 1fr) !important;
    height: calc(100vh - 36px) !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-modal__content {
    padding: 16px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-modal__content h3 {
    margin-right: 44px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-modal__actions,
  html body .mgym-lib-page--v11 .mgym-lib-modal__actions .mgym-lib-btn {
    width: 100% !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-modal__actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
}
/* [MGYM-BIBLIOTECA-PREMIUM-V1-MOBILE-END] */

/* ============================================================
 * [MGYM-BIBLIOTECA-PREMIUM-V3-LAYOUT-FIX-START]
 * Ajuste solicitado:
 * - Página centrada al 96% real.
 * - Margen superior 5px y margen inferior 5px.
 * - Menos aire exterior para quedar casi pegada arriba.
 * - Tarjetas más anchas, con imagen más visible.
 * - Más información visible dentro de la tarjeta sin tocar la lógica.
 * ============================================================ */

/* Página centrada al 96% incluso si el tema/Blocksy encierra el shortcode en contenedores estrechos. */
html body .entry-content .mgym-lib-page--v11,
html body .ct-container .mgym-lib-page--v11,
html body .site-main .mgym-lib-page--v11,
html body .mgym-lib-page--v11 {
  width: 96vw !important;
  max-width: 96vw !important;
  margin-top: 5px !important;
  margin-bottom: 5px !important;
  margin-left: calc(50% - 48vw) !important;
  margin-right: calc(50% - 48vw) !important;
  padding: 5px 0 5px !important;
}

/* Si WordPress añade envoltorios con padding vertical, los suavizamos solo cuando contienen Biblioteca. */
html body .entry-content:has(.mgym-lib-page--v11),
html body .ct-container:has(.mgym-lib-page--v11),
html body .site-main:has(.mgym-lib-page--v11) {
  padding-top: 0 !important;
  padding-bottom: 5px !important;
}

/* Bloques principales más compactos verticalmente, sin perder estética premium. */
html body .mgym-lib-page--v11 .mgym-lib-master,
html body .mgym-lib-page--v11 .mgym-lib-collection,
html body .mgym-lib-page--v11 .mgym-lib-formcard {
  margin-top: 0 !important;
  margin-bottom: 5px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-master__hero {
  min-height: auto !important;
}

/* Carrusel con tarjetas más grandes: permite ver mejor imagen y más datos. */
html body .mgym-lib-page--v11 .mgym-lib-carousel {
  gap: 22px !important;
  padding-top: 10px !important;
  padding-bottom: 18px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11 {
  flex: 0 0 360px !important;
  width: 360px !important;
  min-height: 505px !important;
  border-radius: 24px !important;
}

/* Imagen más protagonista. */
html body .mgym-lib-page--v11 .mgym-lib-card-v11__media {
  height: 248px !important;
  min-height: 248px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__media::after {
  background: linear-gradient(to top, rgba(12,14,20,0.78), rgba(12,14,20,0.00) 52%) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__media img {
  object-fit: cover !important;
  object-position: center center !important;
}

/* Cuerpo con más lectura visible. */
html body .mgym-lib-page--v11 .mgym-lib-card-v11__body {
  padding: 18px 18px 16px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11 h3 {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  min-height: 2.72em !important;
  font-size: 1.14rem !important;
  line-height: 1.26 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__meta {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  min-height: 2.55em !important;
  margin-bottom: 10px !important;
  font-size: 0.84rem !important;
}

/* Más chips visibles. */
html body .mgym-lib-page--v11 .mgym-lib-card-v11__tags {
  min-height: 58px !important;
  max-height: 92px !important;
  margin-bottom: 14px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__tags span {
  min-height: 24px !important;
  padding: 4px 9px !important;
  font-size: 0.70rem !important;
}

/* Añade información existente en los data-* de la tarjeta sin tocar PHP ni lógica. */
html body .mgym-lib-page--v11 .mgym-lib-card-v11[data-lib-scope] .mgym-lib-card-v11__tags::after,
html body .mgym-lib-page--v11 .mgym-lib-card-v11[data-lib-goal]:not([data-lib-goal=""]) .mgym-lib-card-v11__tags::before {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 24px !important;
  padding: 4px 9px !important;
  border-radius: 7px !important;
  border: 1px solid rgba(163, 255, 51, 0.18) !important;
  background: rgba(163, 255, 51, 0.07) !important;
  color: var(--mgym-lib-cyan) !important;
  font-size: 0.70rem !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  text-transform: capitalize !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11[data-lib-goal]:not([data-lib-goal=""]) .mgym-lib-card-v11__tags::before {
  content: "Objetivo · " attr(data-lib-goal) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11[data-lib-scope="system"] .mgym-lib-card-v11__tags::after {
  content: "Sistema" !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11[data-lib-scope="user"] .mgym-lib-card-v11__tags::after {
  content: "Personal" !important;
  border-color: rgba(236, 72, 153, 0.20) !important;
  background: rgba(236, 72, 153, 0.08) !important;
  color: var(--mgym-lib-pink) !important;
}

/* Botones más claros sin comer demasiado espacio. */
html body .mgym-lib-page--v11 .mgym-lib-card-v11__actions,
html body .mgym-lib-page--v11 .mgym-lib-card-v11__actions.is-three {
  grid-template-columns: 1fr 0.78fr 1fr !important;
  gap: 8px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__btn {
  min-height: 38px !important;
  padding: 8px 10px !important;
  font-size: 0.76rem !important;
}

/* Mobile: 96% centrado, tarjeta al ancho útil, imagen grande pero no exagerada. */
@media (max-width: 781px) {
  html body .entry-content .mgym-lib-page--v11,
  html body .ct-container .mgym-lib-page--v11,
  html body .site-main .mgym-lib-page--v11,
  html body .mgym-lib-page--v11 {
    width: 96vw !important;
    max-width: 96vw !important;
    margin-left: calc(50% - 48vw) !important;
    margin-right: calc(50% - 48vw) !important;
    margin-top: 5px !important;
    margin-bottom: 5px !important;
    padding: 5px 0 76px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-master,
  html body .mgym-lib-page--v11 .mgym-lib-collection,
  html body .mgym-lib-page--v11 .mgym-lib-formcard {
    padding: 12px 10px !important;
    margin-bottom: 5px !important;
    border-radius: 20px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-carousel {
    margin: 0 !important;
    padding: 8px 0 14px !important;
    gap: 12px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-card-v11 {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 500px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-card-v11__media {
    height: 255px !important;
    min-height: 255px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-card-v11__tags {
    min-height: 56px !important;
    max-height: 110px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-card-v11__actions,
  html body .mgym-lib-page--v11 .mgym-lib-card-v11__actions.is-three {
    grid-template-columns: 1fr !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-card-v11__btn {
    width: 100% !important;
  }
}
/* ============================================================
 * [MGYM-BIBLIOTECA-PREMIUM-V3-LAYOUT-FIX-END]
 * ============================================================ */

/* ============================================================
 * [MGYM-BIBLIOTECA-PREMIUM-V4-VISUAL-FIX-START]
 * Ajustes solicitados:
 * - Página más pegada arriba y centrada al 96%.
 * - Imagen de tarjetas con más altura.
 * - Modal operativo aunque app.js no añada .is-open.
 * - Nav móvil transparente, armónico y activo en verde.
 * - Botones/nav con fondo transparente por defecto.
 * ============================================================ */

/* 1) Página casi pegada arriba, centrada y con ancho real 96%. */
html body .entry-content .mgym-lib-page--v11,
html body .ct-container .mgym-lib-page--v11,
html body .site-main .mgym-lib-page--v11,
html body .wp-block-post-content .mgym-lib-page--v11,
html body .mgym-lib-page--v11 {
  width: 96vw !important;
  max-width: 96vw !important;
  margin-top: 2px !important;
  margin-bottom: 5px !important;
  margin-left: calc(50% - 48vw) !important;
  margin-right: calc(50% - 48vw) !important;
  padding-top: 2px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 84px !important;
}

html body .entry-content:has(.mgym-lib-page--v11),
html body .ct-container:has(.mgym-lib-page--v11),
html body .site-main:has(.mgym-lib-page--v11),
html body .wp-block-post-content:has(.mgym-lib-page--v11),
html body main:has(.mgym-lib-page--v11) {
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 5px !important;
  overflow-x: hidden !important;
}

html body .mgym-lib-page--v11 .mgym-lib-master,
html body .mgym-lib-page--v11 .mgym-lib-collection,
html body .mgym-lib-page--v11 .mgym-lib-formcard {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-master__hero {
  padding-top: 22px !important;
  padding-bottom: 22px !important;
}

/* 2) Tarjetas: más imagen y más lectura sin tocar PHP ni datos. */
html body .mgym-lib-page--v11 .mgym-lib-carousel {
  gap: 24px !important;
  padding-top: 8px !important;
  padding-bottom: 18px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11 {
  flex-basis: 372px !important;
  width: 372px !important;
  min-height: 550px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__media {
  height: 292px !important;
  min-height: 292px !important;
  max-height: 292px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__media::after {
  background: linear-gradient(to top, rgba(12,14,20,0.62), rgba(12,14,20,0.00) 56%) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__media img {
  object-fit: cover !important;
  object-position: center center !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__body {
  padding: 18px 18px 17px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11 h3 {
  min-height: 2.65em !important;
  margin-bottom: 8px !important;
  font-size: 1.15rem !important;
  line-height: 1.25 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__meta {
  min-height: 2.5em !important;
  margin-bottom: 10px !important;
  font-size: 0.84rem !important;
  line-height: 1.35 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__tags {
  min-height: 62px !important;
  max-height: 118px !important;
  gap: 7px !important;
  margin-bottom: 15px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__tags span,
html body .mgym-lib-page--v11 .mgym-lib-card-v11[data-lib-scope] .mgym-lib-card-v11__tags::after,
html body .mgym-lib-page--v11 .mgym-lib-card-v11[data-lib-goal]:not([data-lib-goal=""]) .mgym-lib-card-v11__tags::before {
  min-height: 25px !important;
  padding: 5px 9px !important;
  font-size: 0.70rem !important;
}

/* 3) Modal: app.js actual abre quitando hidden, pero no añade .is-open.
      Con esto funciona tanto con .is-open como solo con [hidden]=false. */
html body .mgym-lib-page--v11 .mgym-lib-modal:not([hidden]) {
  display: flex !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  visibility: visible !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal:not([hidden]) .mgym-lib-modal__card,
html body .mgym-lib-page--v11 .mgym-lib-modal.is-open .mgym-lib-modal__card {
  transform: scale(1) translateY(0) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__backdrop {
  background: rgba(7, 7, 7, 0.74) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

/* 4) Armonía de color: quitamos cian agresivo en navegación y usamos verde de estado activo. */
html body .mgym-lib-page--v11 {
  --mgym-lib-green: #22c55e;
  --mgym-lib-green-soft: rgba(34, 197, 94, 0.13);
  --mgym-lib-green-border: rgba(34, 197, 94, 0.38);
}

/* Botones internos de carril/flechas transparentes por defecto. */
html body .mgym-lib-page--v11 .mgym-lib-navbtn,
html body .mgym-lib-page--v11 .mgym-lib-sidearrow {
  background: rgba(17, 17, 17, 0.22) !important;
  border-color: rgba(243, 244, 246, 0.14) !important;
  color: #d6dde6 !important;
  box-shadow: none !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-navbtn:hover,
html body .mgym-lib-page--v11 .mgym-lib-sidearrow:hover,
html body .mgym-lib-page--v11 .mgym-lib-navbtn:focus-visible,
html body .mgym-lib-page--v11 .mgym-lib-sidearrow:focus-visible {
  background: var(--mgym-lib-green-soft) !important;
  border-color: var(--mgym-lib-green-border) !important;
  color: #f3f4f6 !important;
  box-shadow: 0 12px 28px rgba(34,197,94,0.14) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-groupcard {
  background: linear-gradient(145deg, rgba(35,35,38,0.56), rgba(17,17,17,0.44)) !important;
  border-color: rgba(243,244,246,0.10) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-groupcard.is-active,
html body .mgym-lib-page--v11 .mgym-lib-groupcard:focus-visible {
  background: var(--mgym-lib-green-soft) !important;
  border-color: var(--mgym-lib-green-border) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 14px 34px rgba(34,197,94,.13) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-groupcard.is-active .mgym-lib-groupcard__icon,
html body .mgym-lib-page--v11 .mgym-lib-groupcard:focus-visible .mgym-lib-groupcard__icon {
  background: rgba(34,197,94,0.22) !important;
  color: #dcfce7 !important;
}

/* 5) Nav móvil de Biblioteca: transparente/glass, botones transparentes y activo verde.
      Tiene más especificidad que el style crítico del template mobile-nav.php. */
@media (max-width: 1024px) {
  html body nav.mgym-mobile-bottom-nav.mgym-mobile-bottom-nav--biblioteca {
    left: 50% !important;
    right: auto !important;
    bottom: 8px !important;
    transform: translateX(-50%) !important;
    width: min(96vw, 720px) !important;
    max-width: 96vw !important;
    min-height: 64px !important;
    padding: 7px 8px calc(7px + env(safe-area-inset-bottom, 0px)) !important;
    border-radius: 22px !important;
    border: 1px solid rgba(243,244,246,0.13) !important;
    background: rgba(16, 16, 16, 0.48) !important;
    box-shadow: 0 18px 44px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.08) !important;
    backdrop-filter: blur(22px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(22px) saturate(128%) !important;
  }

  html body nav.mgym-mobile-bottom-nav.mgym-mobile-bottom-nav--biblioteca a.mgym-mobile-bottom-nav__item {
    min-height: 50px !important;
    border-radius: 16px !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    color: rgba(243,244,246,0.78) !important;
    box-shadow: none !important;
  }

  html body nav.mgym-mobile-bottom-nav.mgym-mobile-bottom-nav--biblioteca a.mgym-mobile-bottom-nav__item .mgym-mobile-bottom-nav__icon {
    background: rgba(243,244,246,0.07) !important;
    color: rgba(243,244,246,0.76) !important;
    border: 1px solid rgba(243,244,246,0.08) !important;
    box-shadow: none !important;
  }

  html body nav.mgym-mobile-bottom-nav.mgym-mobile-bottom-nav--biblioteca a.mgym-mobile-bottom-nav__item.is-active,
  html body nav.mgym-mobile-bottom-nav.mgym-mobile-bottom-nav--biblioteca a.mgym-mobile-bottom-nav__item:hover,
  html body nav.mgym-mobile-bottom-nav.mgym-mobile-bottom-nav--biblioteca a.mgym-mobile-bottom-nav__item:focus {
    background: rgba(34,197,94,0.14) !important;
    border-color: rgba(34,197,94,0.30) !important;
    color: #f7fff9 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 10px 24px rgba(34,197,94,.14) !important;
  }

  html body nav.mgym-mobile-bottom-nav.mgym-mobile-bottom-nav--biblioteca a.mgym-mobile-bottom-nav__item.is-active .mgym-mobile-bottom-nav__icon,
  html body nav.mgym-mobile-bottom-nav.mgym-mobile-bottom-nav--biblioteca a.mgym-mobile-bottom-nav__item:hover .mgym-mobile-bottom-nav__icon,
  html body nav.mgym-mobile-bottom-nav.mgym-mobile-bottom-nav--biblioteca a.mgym-mobile-bottom-nav__item:focus .mgym-mobile-bottom-nav__icon {
    background: rgba(34,197,94,0.24) !important;
    border-color: rgba(34,197,94,0.35) !important;
    color: #dcfce7 !important;
  }

  html body .mgym-lib-page--v11 {
    width: 96vw !important;
    max-width: 96vw !important;
    margin-left: calc(50% - 48vw) !important;
    margin-right: calc(50% - 48vw) !important;
    margin-top: 2px !important;
    padding-top: 2px !important;
    padding-bottom: 92px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-card-v11 {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-height: 560px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-card-v11__media {
    height: 305px !important;
    min-height: 305px !important;
    max-height: 305px !important;
  }
}

@media (max-width: 420px) {
  html body .mgym-lib-page--v11 .mgym-lib-card-v11__media {
    height: 286px !important;
    min-height: 286px !important;
    max-height: 286px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-card-v11 {
    min-height: 545px !important;
  }
}
/* ============================================================
 * [MGYM-BIBLIOTECA-PREMIUM-V4-VISUAL-FIX-END]
 * ============================================================ */

/* ============================================================
 * [MGYM-BIBLIOTECA-PREMIUM-V5-MODAL-VIDEO-FIX-START]
 * MacroGym · Biblioteca
 * Función:
 * - Hace visible el modal cuando app.js añade body.mgym-lib-modal-open.
 * - Mantiene compatibilidad aunque el modal tarde en recibir .is-open.
 * - Mejora el encaje del vídeo dentro del visualizador.
 * ============================================================ */
html body.mgym-lib-modal-open .mgym-lib-page--v11 .mgym-lib-modal:not([hidden]) {
  opacity: 1 !important;
  pointer-events: auto !important;
}

html body.mgym-lib-modal-open .mgym-lib-page--v11 .mgym-lib-modal:not([hidden]) .mgym-lib-modal__card {
  transform: scale(1) translateY(0) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-modal__visual video {
  width: 100% !important;
  height: 100% !important;
  min-height: 260px !important;
  object-fit: contain !important;
  background: #000 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-video-warning,
html body .mgym-lib-page--v11 .mgym-lib-video-link {
  position: absolute !important;
  left: 18px !important;
  right: 18px !important;
  bottom: 18px !important;
  display: block !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(245, 158, 11, 0.28) !important;
  background: rgba(24, 18, 8, 0.86) !important;
  color: #fbbf24 !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  text-align: center !important;
  text-decoration: none !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-video-warning[hidden] {
  display: none !important;
}
/* ============================================================
 * [MGYM-BIBLIOTECA-PREMIUM-V5-MODAL-VIDEO-FIX-END]
 * ============================================================ */
 /* ============================================================
 * [MGYM-BIBLIOTECA-TEXTAREA-MODAL-VIDEO-V6-START]
 * Ajustes Biblioteca:
 * - Textareas menos altos.
 * - Textareas extensibles manualmente.
 * - Vídeo del modal más protagonista.
 * - Sin tocar JS ni estructura.
 * ============================================================ */

/* Textareas del formulario más bajos, pero extensibles */
.mgym-lib-page--v11 textarea,
.mgym-lib-page textarea,
.mgym-lib-formcard textarea,
.mgym-lib-field textarea {
	min-height: 72px !important;
	max-height: 260px !important;
	height: 78px !important;
	resize: vertical !important;
	overflow-y: auto !important;
	line-height: 1.45 !important;
}

/* Descripción y paso a paso: un poco más cómodos, pero no enormes */
.mgym-lib-page--v11 #mgym_ex_execution,
.mgym-lib-page--v11 #mgym_ex_steps,
.mgym-lib-page #mgym_ex_execution,
.mgym-lib-page #mgym_ex_steps {
	min-height: 88px !important;
	height: 96px !important;
	max-height: 340px !important;
	resize: vertical !important;
}

/* Modal más ancho y con vídeo más protagonista */
.mgym-lib-page--v11 .mgym-lib-modal__card,
.mgym-lib-modal .mgym-lib-modal__card {
	width: min(1180px, calc(100vw - 28px)) !important;
	max-height: calc(100vh - 42px) !important;
}

/* En escritorio: más espacio para el vídeo */
.mgym-lib-page--v11 .mgym-lib-modal__grid,
.mgym-lib-modal .mgym-lib-modal__grid {
	grid-template-columns: minmax(520px, 1.15fr) minmax(360px, 0.85fr) !important;
	height: min(720px, calc(100vh - 70px)) !important;
}

/* Área visual del vídeo */
.mgym-lib-page--v11 .mgym-lib-modal__media,
.mgym-lib-modal .mgym-lib-modal__media {
	background: #070707 !important;
}

/* Vídeo / imagen dentro del modal más grande */
.mgym-lib-page--v11 .mgym-lib-modal__visual,
.mgym-lib-modal .mgym-lib-modal__visual {
	min-height: 520px !important;
	padding: 14px !important;
	background:
		radial-gradient(circle at 50% 35%, rgba(163, 255, 51, 0.08), transparent 42%),
		linear-gradient(180deg, rgba(255,255,255,0.03), rgba(0,0,0,0.25)) !important;
}

/* El vídeo ocupa más, sin deformarse */
.mgym-lib-page--v11 .mgym-lib-modal__visual video,
.mgym-lib-modal .mgym-lib-modal__visual video {
	width: 100% !important;
	height: 100% !important;
	max-height: 560px !important;
	object-fit: contain !important;
	border-radius: 18px !important;
	background: #000 !important;
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.65) !important;
}

/* Imagen también más protagonista */
.mgym-lib-page--v11 .mgym-lib-modal__visual img,
.mgym-lib-modal .mgym-lib-modal__visual img {
	width: 100% !important;
	height: 100% !important;
	max-height: 560px !important;
	object-fit: contain !important;
	border-radius: 18px !important;
}

/* Botones de pestañas del modal más limpios */
.mgym-lib-page--v11 .mgym-lib-modal__thumbs,
.mgym-lib-modal .mgym-lib-modal__thumbs {
	background: rgba(0, 0, 0, 0.42) !important;
	backdrop-filter: blur(14px) !important;
	-webkit-backdrop-filter: blur(14px) !important;
}

/* Botón activo en verde como configuración */
.mgym-lib-page--v11 .mgym-lib-modal__thumbbtn.is-active,
.mgym-lib-modal .mgym-lib-modal__thumbbtn.is-active {
	background: rgba(163, 255, 51, 0.16) !important;
	border-color: rgba(163, 255, 51, 0.42) !important;
	color: #a3ff33 !important;
	box-shadow: 0 0 18px rgba(163, 255, 51, 0.14) !important;
}

/* Móvil: vídeo arriba más grande, ficha debajo */
@media (max-width: 781px) {
	.mgym-lib-page--v11 textarea,
	.mgym-lib-page textarea,
	.mgym-lib-formcard textarea,
	.mgym-lib-field textarea {
		min-height: 68px !important;
		height: 74px !important;
		max-height: 240px !important;
	}

	.mgym-lib-page--v11 .mgym-lib-modal__grid,
	.mgym-lib-modal .mgym-lib-modal__grid {
		grid-template-columns: 1fr !important;
		grid-template-rows: minmax(330px, 42vh) 1fr !important;
		height: calc(100vh - 64px) !important;
	}

	.mgym-lib-page--v11 .mgym-lib-modal__visual,
	.mgym-lib-modal .mgym-lib-modal__visual {
		min-height: 300px !important;
		padding: 10px !important;
	}

	.mgym-lib-page--v11 .mgym-lib-modal__visual video,
	.mgym-lib-modal .mgym-lib-modal__visual video,
	.mgym-lib-page--v11 .mgym-lib-modal__visual img,
	.mgym-lib-modal .mgym-lib-modal__visual img {
		max-height: 340px !important;
		border-radius: 16px !important;
	}
}

/* ============================================================
 * [MGYM-BIBLIOTECA-TEXTAREA-MODAL-VIDEO-V6-END]
 * ============================================================ */
 /* ============================================================
 * [MGYM-BIBLIOTECA-NAV-GLASS-GREEN-V7-START]
 * Biblioteca · Nav transparente + activo verde
 * ============================================================ */

.mgym-lib-page--v11 .mgym-lib-local-nav,
.mgym-lib-page .mgym-lib-local-nav {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

.mgym-lib-page--v11 .mgym-lib-local-nav__inner,
.mgym-lib-page .mgym-lib-local-nav__inner {
	background: rgba(10, 10, 10, 0.28) !important;
	border: 1px solid rgba(255, 255, 255, 0.07) !important;
	border-radius: 18px !important;
	padding: 8px !important;
	backdrop-filter: blur(16px) !important;
	-webkit-backdrop-filter: blur(16px) !important;
}

.mgym-lib-page--v11 .mgym-lib-local-nav__link,
.mgym-lib-page .mgym-lib-local-nav__link {
	background: transparent !important;
	border: 1px solid transparent !important;
	color: rgba(243, 244, 246, 0.72) !important;
	border-radius: 14px !important;
	box-shadow: none !important;
}

.mgym-lib-page--v11 .mgym-lib-local-nav__link:hover,
.mgym-lib-page .mgym-lib-local-nav__link:hover {
	background: rgba(255, 255, 255, 0.045) !important;
	border-color: rgba(255, 255, 255, 0.08) !important;
	color: #f3f4f6 !important;
}

.mgym-lib-page--v11 .mgym-lib-local-nav__link.is-active,
.mgym-lib-page .mgym-lib-local-nav__link.is-active {
	background: rgba(163, 255, 51, 0.12) !important;
	border-color: rgba(163, 255, 51, 0.42) !important;
	color: #a3ff33 !important;
	box-shadow: 0 0 18px rgba(163, 255, 51, 0.10) !important;
}

/* Móvil: nav inferior transparente/glass */
@media (max-width: 781px) {
	.mgym-lib-page--v11 .mgym-lib-local-nav,
	.mgym-lib-page .mgym-lib-local-nav {
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		padding: 8px 10px calc(8px + env(safe-area-inset-bottom, 0px)) !important;
	}

	.mgym-lib-page--v11 .mgym-lib-local-nav__inner,
	.mgym-lib-page .mgym-lib-local-nav__inner {
		background: rgba(12, 12, 12, 0.38) !important;
		border: 1px solid rgba(255, 255, 255, 0.08) !important;
		border-radius: 20px !important;
		box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.28) !important;
		backdrop-filter: blur(18px) !important;
		-webkit-backdrop-filter: blur(18px) !important;
	}

	.mgym-lib-page--v11 .mgym-lib-local-nav__link,
	.mgym-lib-page .mgym-lib-local-nav__link {
		background: transparent !important;
	}

	.mgym-lib-page--v11 .mgym-lib-local-nav__link.is-active,
	.mgym-lib-page .mgym-lib-local-nav__link.is-active {
		background: rgba(163, 255, 51, 0.14) !important;
		color: #a3ff33 !important;
	}
}

/* ============================================================
 * [MGYM-BIBLIOTECA-NAV-GLASS-GREEN-V7-END]
 * ============================================================ */


/* ============================================================
 * [MGYM-BIBLIOTECA-GLOBAL-SOURCE-V270E65-START]
 * Biblioteca como fuente global:
 * - Se elimina la capa manual de envío a rutinas.
 * - Todos los ejercicios activos quedan disponibles para el motor.
 * - Blindaje visual por si queda HTML cacheado con el botón antiguo.
 * ============================================================ */
html body .mgym-lib-page--v11 [data-mgym-send-routine],
html body .mgym-lib-page--v11 .mgym-lib-card-v11__btn.is-routine-send,
html body .mgym-lib-page--v11 .mgym-lib-card-v11__btn.is-in-routines {
  display: none !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__actions,
html body .mgym-lib-page--v11 .mgym-lib-card-v11__actions.is-three {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 8px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__actions .mgym-lib-card-v11__btn.is-detail {
  width: 100% !important;
}

/* [MGYM-BIBLIOTECA-GLOBAL-SOURCE-V270E65-END] */


/* ============================================================
 * [MGYM-BIBLIOTECA-LIME-CROP-RESTORE-V270E66-START]
 * Función:
 * - Elimina el acento azul/cyan visible y fuerza verde lima.
 * - Restaura los controles de encuadre de imagen.
 * - Mantiene Biblioteca como banco global: oculta cualquier resto de A Rutinas.
 * - Mantiene el modal móvil con vídeo reducible al leer ficha.
 * ============================================================ */
html body .mgym-lib-page--v11 {
  --mgym-lib-cyan: #a3ff33 !important;
  --mgym-lib-cyan-soft: rgba(163, 255, 51, 0.14) !important;
  --mgym-lib-cyan-border: rgba(163, 255, 51, 0.36) !important;
  --mgym-lib-glow: 0 0 32px rgba(163, 255, 51, 0.16) !important;
}

html body .mgym-lib-page--v11 [data-mgym-send-routine],
html body .mgym-lib-page--v11 .is-routine-send,
html body .mgym-lib-page--v11 #mgym-routine-bank-feedback {
  display: none !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11__actions,
html body .mgym-lib-page--v11 .mgym-lib-card-v11__actions.is-three {
  grid-template-columns: 1fr auto !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11.is-in-routines {
  border-color: var(--mgym-lib-border) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-media-box {
  grid-template-columns: minmax(260px, 340px) minmax(0, 1fr) !important;
  align-items: stretch !important;
}

html body .mgym-lib-page--v11 #mgym-lib-media-preview,
html body .mgym-lib-page--v11 .mgym-lib-media-preview {
  width: 100% !important;
  min-height: 300px !important;
  height: 238px !important;
  aspect-ratio: 4 / 3 !important;
  margin: 0 0 12px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(255,255,255,0.09) !important;
  background:
    radial-gradient(circle at 50% 42%, rgba(163,255,51,0.065), transparent 42%),
    linear-gradient(145deg, rgba(18,24,24,0.86), rgba(8,8,10,0.96)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.065),
    inset 0 -30px 60px rgba(0,0,0,0.24),
    0 16px 36px rgba(0,0,0,0.38) !important;
  overflow: hidden !important;
}

html body .mgym-lib-page--v11 #mgym-lib-media-preview::after,
html body .mgym-lib-page--v11 .mgym-lib-media-preview::after {
  content: "Vista tarjeta" !important;
  position: absolute !important;
  right: 10px !important;
  bottom: 10px !important;
  z-index: 3 !important;
  padding: 5px 8px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  background: rgba(0,0,0,0.52) !important;
  color: rgba(243,244,246,0.76) !important;
  font-size: 0.58rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

html body .mgym-lib-page--v11 #mgym-lib-media-preview[data-empty="1"]::after,
html body .mgym-lib-page--v11 .mgym-lib-media-preview[data-empty="1"]::after {
  display: none !important;
}

html body .mgym-lib-page--v11 #mgym-lib-media-preview img,
html body .mgym-lib-page--v11 .mgym-lib-media-preview img,
html body .mgym-lib-page--v11 img.mgym-lib-crop-applied,
html body .mgym-lib-page--v11 .mgym-lib-card-v11__media img.mgym-lib-crop-applied,
html body .mgym-lib-page--v11 .mgym-lib-modal__visual img.mgym-lib-crop-applied {
  object-fit: cover !important;
  object-position: var(--mgym-lib-img-x, 50%) var(--mgym-lib-img-y, 50%) !important;
  transform: scale(var(--mgym-lib-img-zoom, 1)) !important;
  transform-origin: var(--mgym-lib-img-x, 50%) var(--mgym-lib-img-y, 50%) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11:hover .mgym-lib-card-v11__media img.mgym-lib-crop-applied {
  transform: scale(var(--mgym-lib-img-zoom, 1)) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel {
  width: 100% !important;
  margin: 0 !important;
  padding: 14px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(255,255,255,0.085) !important;
  background:
    radial-gradient(circle at 78% 10%, rgba(163,255,51,0.085), transparent 34%),
    linear-gradient(180deg, rgba(28,30,32,0.92), rgba(10,10,12,0.92)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.06),
    0 14px 30px rgba(0,0,0,0.24) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__head {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 6px !important;
  margin: 0 0 12px !important;
  padding: 0 0 10px !important;
  border-bottom: 1px solid rgba(255,255,255,0.065) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__head strong {
  color: #f8fafc !important;
  font-size: 0.74rem !important;
  line-height: 1.1 !important;
  font-weight: 950 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__head strong::before {
  content: "●" !important;
  margin-right: 6px !important;
  color: #a3ff33 !important;
  font-size: 0.55rem !important;
  vertical-align: middle !important;
  text-shadow: 0 0 10px rgba(163,255,51,0.44) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__head span {
  display: none !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__head em,
html body .mgym-lib-page--v11 [data-mgym-crop-readout] {
  color: rgba(163,255,51,0.90) !important;
  font-size: 0.62rem !important;
  font-weight: 850 !important;
  white-space: normal !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__grid {
  display: grid !important;
  gap: 10px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__grid label {
  display: grid !important;
  gap: 5px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__grid label span {
  color: rgba(203,213,225,0.78) !important;
  font-size: 0.56rem !important;
  font-weight: 950 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel input[type="range"] {
  width: 100% !important;
  height: 18px !important;
  min-height: 18px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  accent-color: #a3ff33 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel input[type="range"]::-webkit-slider-runnable-track {
  height: 4px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, rgba(163,255,51,0.88), rgba(255,255,255,0.22)) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel input[type="range"]::-webkit-slider-thumb {
  width: 14px !important;
  height: 14px !important;
  margin-top: -5px !important;
  border: 2px solid rgba(7,7,7,0.92) !important;
  border-radius: 999px !important;
  background: #a3ff33 !important;
  box-shadow: 0 0 14px rgba(163,255,51,0.45) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel input[type="range"]::-moz-range-track {
  height: 4px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, rgba(163,255,51,0.88), rgba(255,255,255,0.22)) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel input[type="range"]::-moz-range-thumb {
  width: 14px !important;
  height: 14px !important;
  border: 2px solid rgba(7,7,7,0.92) !important;
  border-radius: 999px !important;
  background: #a3ff33 !important;
  box-shadow: 0 0 14px rgba(163,255,51,0.45) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__reset {
  min-height: 32px !important;
  height: 32px !important;
  margin: 12px 0 0 !important;
  padding: 0 12px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  background: rgba(255,255,255,0.045) !important;
  color: rgba(243,244,246,0.82) !important;
  font-size: 0.64rem !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__reset:hover {
  border-color: rgba(163,255,51,0.42) !important;
  background: rgba(163,255,51,0.12) !important;
  color: #a3ff33 !important;
}

@media (max-width: 781px) {
  html body .mgym-lib-page--v11 .mgym-lib-media-box {
    grid-template-columns: 1fr !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-crop-panel {
    padding: 12px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-modal__grid,
  html body .mgym-lib-modal .mgym-lib-modal__grid {
    grid-template-rows:
      minmax(0, var(--mgym-lib-video-row, 70fr))
      minmax(0, var(--mgym-lib-info-row, 30fr)) !important;
    transition: grid-template-rows 240ms cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-modal__visual,
  html body .mgym-lib-modal .mgym-lib-modal__visual {
    opacity: 1 !important;
    filter: none !important;
    transform: scale(var(--mgym-lib-video-scale, 1)) !important;
    transform-origin: center center !important;
    transition: transform 240ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 240ms ease !important;
    will-change: transform !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-modal__visual.is-mobile-video-compact,
  html body .mgym-lib-modal .mgym-lib-modal__visual.is-mobile-video-compact {
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.36) !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-modal__visual :is(video, img, iframe),
  html body .mgym-lib-modal .mgym-lib-modal__visual :is(video, img, iframe) {
    opacity: 1 !important;
    filter: none !important;
  }
}

@media (max-width: 420px) {
  html body .mgym-lib-page--v11 .mgym-lib-modal__grid,
  html body .mgym-lib-modal .mgym-lib-modal__grid {
    grid-template-rows:
      minmax(0, var(--mgym-lib-video-row, 72fr))
      minmax(0, var(--mgym-lib-info-row, 28fr)) !important;
  }
}
/* ============================================================
 * [MGYM-BIBLIOTECA-LIME-CROP-RESTORE-V270E66-END]
 * ============================================================ */

/* ============================================================
 * [MGYM-BIBLIOTECA-MEDIA-CENTERED-LAYOUT-V270E68-START]
 * Biblioteca · Formulario multimedia centrado premium
 * Función:
 * - Centra el bloque de imagen como pieza principal.
 * - Mantiene los controles de encuadre compactos.
 * - Deja los tres bloques con estética uniforme: encuadre / imagen / configuración.
 * - No toca JS, PHP, modal, vídeo ni lógica PAR-Q.
 * ============================================================ */
html body .mgym-lib-page--v11 .mgym-lib-media-box {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(210px, 0.82fr) minmax(480px, 640px) minmax(260px, 0.82fr) !important;
  grid-template-areas: "crop preview controls" !important;
  gap: 18px !important;
  align-items: stretch !important;
  justify-content: center !important;
  width: 100% !important;
  padding: 18px !important;
  border-radius: 28px !important;
  border: 1px solid rgba(255,255,255,0.075) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(163,255,51,0.060), transparent 36%),
    linear-gradient(135deg, rgba(20,22,24,0.78), rgba(7,7,9,0.94)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.055),
    0 18px 38px rgba(0,0,0,0.24) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-media-box::before {
  content: "Imagen del ejercicio" !important;
  position: absolute !important;
  top: 12px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 2 !important;
  padding: 5px 10px !important;
  border: 1px solid rgba(163,255,51,0.18) !important;
  border-radius: 999px !important;
  background: rgba(0,0,0,0.48) !important;
  color: rgba(163,255,51,0.90) !important;
  font-size: 0.56rem !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  box-shadow: 0 0 18px rgba(163,255,51,0.08) !important;
}

html body .mgym-lib-page--v11 #mgym-lib-media-preview,
html body .mgym-lib-page--v11 .mgym-lib-media-preview {
  grid-area: preview !important;
  align-self: center !important;
  justify-self: center !important;
  width: 100% !important;
  max-width: 640px !important;
  min-height: 360px !important;
  height: clamp(360px, 31vw, 500px) !important;
  aspect-ratio: 4 / 3 !important;
  margin: 0 auto !important;
  border-radius: 28px !important;
  border: 1px solid rgba(163,255,51,0.22) !important;
  background:
    radial-gradient(circle at 50% 42%, rgba(163,255,51,0.115), transparent 44%),
    linear-gradient(145deg, rgba(24,28,26,0.92), rgba(5,5,7,0.98)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.075),
    inset 0 -40px 76px rgba(0,0,0,0.30),
    0 24px 50px rgba(0,0,0,0.48),
    0 0 38px rgba(163,255,51,0.09) !important;
}

html body .mgym-lib-page--v11 #mgym-lib-media-preview::after,
html body .mgym-lib-page--v11 .mgym-lib-media-preview::after {
  content: "Vista en tarjeta" !important;
  right: 14px !important;
  bottom: 14px !important;
  padding: 6px 10px !important;
  border-color: rgba(163,255,51,0.24) !important;
  background: rgba(0,0,0,0.58) !important;
  color: rgba(163,255,51,0.94) !important;
}

html body .mgym-lib-page--v11 #mgym-lib-media-preview img,
html body .mgym-lib-page--v11 .mgym-lib-media-preview img {
  border-radius: 24px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel,
html body .mgym-lib-page--v11 .mgym-lib-media-controls {
  min-height: 100% !important;
  border-radius: 22px !important;
  border: 1px solid rgba(255,255,255,0.075) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.035), transparent 34%),
    rgba(0,0,0,0.24) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.05),
    0 14px 28px rgba(0,0,0,0.20) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel {
  grid-area: crop !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 12px !important;
  display: grid !important;
  align-content: center !important;
  gap: 8px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__head {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 4px !important;
  margin: 0 0 6px !important;
  padding: 0 0 8px !important;
  border-bottom: 1px solid rgba(255,255,255,0.055) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__head strong {
  color: rgba(163,255,51,0.92) !important;
  font-size: 0.62rem !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__head strong::before {
  width: 5px !important;
  height: 5px !important;
  margin-right: 5px !important;
  background: rgba(163,255,51,0.92) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__head span {
  display: none !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__head em,
html body .mgym-lib-page--v11 [data-mgym-crop-readout] {
  color: rgba(203,213,225,0.68) !important;
  font-size: 0.52rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__grid {
  display: grid !important;
  gap: 7px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__grid label {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  gap: 8px !important;
  align-items: center !important;
  min-height: 26px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__grid label span {
  color: rgba(203,213,225,0.66) !important;
  font-size: 0.50rem !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  letter-spacing: 0.075em !important;
  text-transform: uppercase !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel input[type="range"] {
  height: 14px !important;
  min-height: 14px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel input[type="range"]::-webkit-slider-runnable-track {
  height: 3px !important;
  background: linear-gradient(90deg, rgba(163,255,51,0.52), rgba(255,255,255,0.12)) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel input[type="range"]::-webkit-slider-thumb {
  width: 10px !important;
  height: 10px !important;
  margin-top: -3.5px !important;
  border-width: 1px !important;
  background: #a3ff33 !important;
  box-shadow: 0 0 10px rgba(163,255,51,0.38) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel input[type="range"]::-moz-range-track {
  height: 3px !important;
  background: linear-gradient(90deg, rgba(163,255,51,0.52), rgba(255,255,255,0.12)) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel input[type="range"]::-moz-range-thumb {
  width: 10px !important;
  height: 10px !important;
  border-width: 1px !important;
  background: #a3ff33 !important;
  box-shadow: 0 0 10px rgba(163,255,51,0.38) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__reset {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 24px !important;
  height: 24px !important;
  width: 100% !important;
  margin: 8px 0 0 !important;
  padding: 0 8px !important;
  border-radius: 9px !important;
  border-color: rgba(163,255,51,0.18) !important;
  color: rgba(163,255,51,0.92) !important;
  font-size: 0.52rem !important;
  letter-spacing: 0.045em !important;
  text-transform: uppercase !important;
}

html body .mgym-lib-page--v11 .mgym-lib-media-controls {
  grid-area: controls !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  width: 100% !important;
  display: grid !important;
  align-content: center !important;
  gap: 12px !important;
  padding: 14px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-media-controls .mgym-lib-cardline {
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  align-items: stretch !important;
}

html body .mgym-lib-page--v11 .mgym-lib-media-controls .mgym-lib-media-buttons {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-media-controls .mgym-lib-media-buttons .mgym-lib-btn {
  min-height: 34px !important;
  padding: 8px 10px !important;
  border-radius: 11px !important;
  font-size: 0.68rem !important;
}

html body .mgym-lib-page--v11 .mgym-lib-media-controls .mgym-lib-grid--notes {
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-media-controls .mgym-lib-field input {
  min-height: 40px !important;
  border-radius: 12px !important;
  font-size: 0.78rem !important;
}

html body .mgym-lib-page--v11 .mgym-lib-media-controls .mgym-lib-field label {
  font-size: 0.60rem !important;
}

@media (max-width: 1220px) {
  html body .mgym-lib-page--v11 .mgym-lib-media-box {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-areas:
      "preview preview"
      "crop controls" !important;
    align-items: stretch !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-crop-panel,
  html body .mgym-lib-page--v11 .mgym-lib-media-controls {
    min-height: auto !important;
  }

  html body .mgym-lib-page--v11 #mgym-lib-media-preview,
  html body .mgym-lib-page--v11 .mgym-lib-media-preview {
    max-width: min(720px, 100%) !important;
    height: clamp(320px, 38vw, 460px) !important;
  }
}

@media (max-width: 781px) {
  html body .mgym-lib-page--v11 .mgym-lib-media-box {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "preview"
      "crop"
      "controls" !important;
    gap: 12px !important;
    padding: 12px !important;
    border-radius: 22px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-media-box::before {
    top: 10px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    font-size: 0.52rem !important;
  }

  html body .mgym-lib-page--v11 #mgym-lib-media-preview,
  html body .mgym-lib-page--v11 .mgym-lib-media-preview {
    width: 100% !important;
    min-height: 285px !important;
    height: 320px !important;
    max-width: 100% !important;
    border-radius: 22px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-crop-panel {
    width: 100% !important;
    padding: 9px !important;
    border-radius: 16px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-crop-panel__head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-crop-panel__grid {
    grid-template-columns: 1fr !important;
    gap: 5px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-crop-panel__grid label {
    grid-template-columns: 50px 1fr !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-media-controls {
    padding: 11px !important;
    border-radius: 18px !important;
  }
}
/* ============================================================
 * [MGYM-BIBLIOTECA-MEDIA-CENTERED-LAYOUT-V270E68-END]
 * ============================================================ */

/* ============================================================
 * [MGYM-BIBLIOTECA-ADVANCED-IMAGE-CONTROLS-V270E69-START]
 * Biblioteca · Ajustes avanzados de imagen no destructivos.
 * Función:
 * - Mantiene la imagen centrada y protagonista.
 * - Coloca controles de encuadre/ajuste a la izquierda.
 * - Coloca configuración de imagen/vídeo a la derecha.
 * - Aplica iluminación, contraste, saturación y calidez sin editar el archivo.
 * ============================================================ */
html body .mgym-lib-page--v11 img.mgym-lib-crop-applied {
  filter:
    brightness(var(--mgym-lib-img-brightness, 100%))
    contrast(var(--mgym-lib-img-contrast, 100%))
    saturate(var(--mgym-lib-img-saturation, 100%))
    hue-rotate(var(--mgym-lib-img-warmth, 0deg)) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-media-box {
  display: grid !important;
  grid-template-columns: minmax(220px, 0.82fr) minmax(330px, 1.18fr) minmax(260px, 0.95fr) !important;
  grid-template-areas: "crop preview controls" !important;
  gap: 18px !important;
  align-items: stretch !important;
  width: 100% !important;
}

html body .mgym-lib-page--v11 .mgym-lib-media-preview {
  grid-area: preview !important;
  min-height: 318px !important;
  height: 100% !important;
  max-height: 390px !important;
  align-self: stretch !important;
  border-radius: 24px !important;
  border: 1px solid rgba(163,255,51,0.18) !important;
  background:
    radial-gradient(circle at 50% 28%, rgba(163,255,51,0.08), transparent 44%),
    linear-gradient(180deg, rgba(255,255,255,0.035), rgba(0,0,0,0.38)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.06),
    0 18px 38px rgba(0,0,0,0.34),
    0 0 28px rgba(163,255,51,0.06) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-media-preview::before {
  content: "Vista tarjeta" !important;
  position: absolute !important;
  left: 14px !important;
  top: 14px !important;
  z-index: 3 !important;
  display: inline-flex !important;
  min-height: 24px !important;
  align-items: center !important;
  padding: 4px 9px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(163,255,51,0.26) !important;
  background: rgba(7,7,7,0.48) !important;
  color: #a3ff33 !important;
  font-size: 0.58rem !important;
  font-weight: 950 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-media-preview img {
  border-radius: 18px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel {
  grid-area: crop !important;
  align-self: stretch !important;
  min-height: 318px !important;
  height: 100% !important;
  padding: 12px !important;
  border-radius: 24px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-media-controls {
  grid-area: controls !important;
  align-self: stretch !important;
  min-height: 318px !important;
  height: 100% !important;
  padding: 12px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(255,255,255,0.085) !important;
  background:
    radial-gradient(circle at 20% 0%, rgba(163,255,51,0.06), transparent 32%),
    linear-gradient(180deg, rgba(28,30,32,0.84), rgba(10,10,12,0.86)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.055),
    0 14px 30px rgba(0,0,0,0.24) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__head {
  margin-bottom: 9px !important;
  padding-bottom: 8px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__head strong {
  font-size: 0.70rem !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__head em,
html body .mgym-lib-page--v11 [data-mgym-crop-readout] {
  font-size: 0.56rem !important;
  line-height: 1.35 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__grid,
html body .mgym-lib-page--v11 .mgym-lib-crop-panel__advanced-grid {
  display: grid !important;
  gap: 7px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__grid label,
html body .mgym-lib-page--v11 .mgym-lib-crop-panel__advanced-grid label {
  display: grid !important;
  gap: 4px !important;
  padding: 7px 8px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,0.055) !important;
  background: rgba(0,0,0,0.18) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__grid label span,
html body .mgym-lib-page--v11 .mgym-lib-crop-panel__advanced-grid label span {
  font-size: 0.52rem !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__advanced {
  margin-top: 10px !important;
  padding-top: 10px !important;
  border-top: 1px solid rgba(255,255,255,0.065) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__advanced-title {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 0 0 8px !important;
  color: rgba(243,244,246,0.86) !important;
  font-size: 0.60rem !important;
  font-weight: 950 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__advanced-title::before {
  content: "✦" !important;
  color: #a3ff33 !important;
  text-shadow: 0 0 12px rgba(163,255,51,0.44) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel input[type="range"] {
  height: 14px !important;
  min-height: 14px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel input[type="range"]::-webkit-slider-runnable-track {
  height: 3px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel input[type="range"]::-webkit-slider-thumb {
  width: 12px !important;
  height: 12px !important;
  margin-top: -4.5px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel input[type="range"]::-moz-range-track {
  height: 3px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel input[type="range"]::-moz-range-thumb {
  width: 12px !important;
  height: 12px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-crop-panel__reset {
  width: 100% !important;
  min-height: 30px !important;
  height: 30px !important;
  margin-top: 10px !important;
  font-size: 0.58rem !important;
}

@media (max-width: 1180px) {
  html body .mgym-lib-page--v11 .mgym-lib-media-box {
    grid-template-columns: minmax(210px, 0.82fr) minmax(300px, 1.1fr) !important;
    grid-template-areas:
      "preview preview"
      "crop controls" !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-media-preview {
    min-height: 340px !important;
  }
}

@media (max-width: 781px) {
  html body .mgym-lib-page--v11 .mgym-lib-media-box {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "preview"
      "crop"
      "controls" !important;
    gap: 12px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-media-preview {
    min-height: 285px !important;
    max-height: 330px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-crop-panel,
  html body .mgym-lib-page--v11 .mgym-lib-media-controls {
    min-height: auto !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-crop-panel__advanced-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
/* ============================================================
 * [MGYM-BIBLIOTECA-ADVANCED-IMAGE-CONTROLS-V270E69-END]
 * ============================================================ */

/* ============================================================
 * [MGYM-BIBLIOTECA-SAFETY-EXPLAINER-V270E70-START]
 * Biblioteca · Bloque explicativo PAR-Q para cliente
 * - Se coloca entre el título y la descripción corta del bloque.
 * - No toca JS, guardado, modal, vídeo ni estructura de datos.
 * ============================================================ */
html body .mgym-lib-page--v11 .mgym-lib-safety-panel {
  display: grid !important;
  gap: 18px !important;
  margin: 18px 0 20px !important;
  padding: 22px !important;
  border-radius: 26px !important;
  border: 1px solid rgba(163, 255, 51, 0.13) !important;
  background:
    radial-gradient(circle at 16% 0%, rgba(163, 255, 51, 0.105), transparent 34%),
    linear-gradient(135deg, rgba(32, 34, 38, 0.84), rgba(9, 10, 12, 0.96)) !important;
  box-shadow: 0 22px 52px rgba(0, 0, 0, 0.52), inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
  overflow: hidden !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-panel__head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 16px !important;
  align-items: start !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-panel__head h3 {
  margin: 0 !important;
  color: #ffffff !important;
  font-size: clamp(1.28rem, 2vw, 2rem) !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
  letter-spacing: -0.04em !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-panel__head > div > p {
  margin: 12px 0 0 !important;
  color: rgba(226, 232, 240, 0.72) !important;
  font-size: 0.92rem !important;
  line-height: 1.55 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-panel__badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 32px !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(163, 255, 51, 0.30) !important;
  background: rgba(163, 255, 51, 0.095) !important;
  color: #a3ff33 !important;
  font-size: 0.68rem !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  box-shadow: 0 0 20px rgba(163, 255, 51, 0.10) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer {
  display: grid !important;
  grid-template-columns: minmax(330px, 0.92fr) minmax(0, 1.08fr) !important;
  gap: 18px !important;
  align-items: center !important;
  width: min(100%, 1120px) !important;
  max-width: 1120px !important;
  margin: 18px auto 12px !important;
  padding: 12px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(255, 255, 255, 0.075) !important;
  background: rgba(0, 0, 0, 0.22) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__visual {
  position: relative !important;
  min-height: 300px !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255, 255, 255, 0.075) !important;
  background:
    radial-gradient(circle at 50% 40%, rgba(163, 255, 51, 0.12), transparent 42%),
    linear-gradient(145deg, rgba(20, 22, 26, 0.98), rgba(0, 0, 0, 0.82)) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__visual::before {
  content: "" !important;
  position: absolute !important;
  inset: 20px 30% 26px !important;
  border-radius: 44% 44% 38% 38% / 28% 28% 44% 44% !important;
  border: 1px solid rgba(243, 244, 246, 0.10) !important;
  background:
    radial-gradient(circle at 50% 11%, rgba(243, 244, 246, 0.24) 0 13px, transparent 14px),
    linear-gradient(180deg, rgba(243, 244, 246, 0.055), rgba(243, 244, 246, 0.015)) !important;
  filter: drop-shadow(0 0 22px rgba(163, 255, 51, 0.05)) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  gap: 6px !important;
  padding: 18px !important;
  opacity: 0 !important;
  transform: scale(1.02) translateY(8px) !important;
  animation: mgymSafetyExplainerRotator 8s infinite !important;
  animation-delay: calc(var(--slide-index, 0) * 2s) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide::before,
html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide::after {
  content: "" !important;
  position: absolute !important;
  z-index: 1 !important;
  border-radius: 999px !important;
  pointer-events: none !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide::before {
  width: 110px !important;
  height: 110px !important;
  border: 1px solid rgba(163, 255, 51, 0.18) !important;
  background: radial-gradient(circle, rgba(163, 255, 51, 0.18), transparent 62%) !important;
  filter: blur(2px) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide::after {
  width: 14px !important;
  height: 14px !important;
  border: 2px solid rgba(7, 7, 7, 0.82) !important;
  background: #a3ff33 !important;
  box-shadow: 0 0 0 8px rgba(163, 255, 51, 0.13), 0 0 28px rgba(163, 255, 51, 0.46) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__img {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  opacity: 0.76 !important;
  filter: saturate(1.04) contrast(1.05) brightness(0.78) !important;
  transform: scale(1.02) !important;
  pointer-events: none !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide::before {
  mix-blend-mode: screen !important;
  z-index: 2 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide::after {
  z-index: 2 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.70)) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide.is-lumbar::before,
html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide.is-lumbar::after {
  left: 50% !important;
  top: 48% !important;
  transform: translate(-50%, -50%) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide.is-shoulder::before,
html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide.is-shoulder::after {
  right: 26% !important;
  top: 34% !important;
  transform: translate(50%, -50%) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide.is-knee::before,
html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide.is-knee::after {
  left: 50% !important;
  top: 68% !important;
  transform: translate(-50%, -50%) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide.is-neck::before,
html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide.is-neck::after {
  left: 50% !important;
  top: 25% !important;
  transform: translate(-50%, -50%) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide span,
html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide strong,
html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide small {
  position: relative !important;
  z-index: 2 !important;
  max-width: 92% !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide span {
  width: max-content !important;
  padding: 5px 9px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(163, 255, 51, 0.25) !important;
  background: rgba(163, 255, 51, 0.105) !important;
  color: #a3ff33 !important;
  font-size: 0.60rem !important;
  font-weight: 950 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide strong {
  color: #ffffff !important;
  font-size: 1.06rem !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
  letter-spacing: -0.035em !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide small {
  color: rgba(226, 232, 240, 0.76) !important;
  font-size: 0.74rem !important;
  line-height: 1.35 !important;
  font-weight: 650 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__copy {
  display: grid !important;
  align-content: center !important;
  gap: 10px !important;
  padding: 16px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255, 255, 255, 0.065) !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.012)) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__copy > strong {
  color: #ffffff !important;
  font-size: 1rem !important;
  line-height: 1.12 !important;
  font-weight: 950 !important;
  letter-spacing: -0.025em !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__copy > p {
  margin: 0 !important;
  max-width: none !important;
  color: rgba(226, 232, 240, 0.72) !important;
  font-size: 0.82rem !important;
  line-height: 1.52 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__params {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 7px !important;
  margin-top: 4px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__params span {
  min-height: 54px !important;
  padding: 9px 10px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  background: rgba(0, 0, 0, 0.24) !important;
  color: rgba(226, 232, 240, 0.70) !important;
  font-size: 0.70rem !important;
  line-height: 1.26 !important;
  font-weight: 650 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__params b {
  display: block !important;
  margin-bottom: 3px !important;
  color: #a3ff33 !important;
  font-size: 0.62rem !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.055em !important;
}

@keyframes mgymSafetyExplainerRotator {
  0% { opacity: 0; transform: scale(1.02) translateY(8px); }
  5% { opacity: 1; transform: scale(1) translateY(0); }
  22% { opacity: 1; transform: scale(1) translateY(0); }
  25% { opacity: 0; transform: scale(0.985) translateY(-6px); }
  100% { opacity: 0; transform: scale(0.985) translateY(-6px); }
}

@media (max-width: 1180px) {
  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer {
    grid-template-columns: 1fr !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__visual {
    min-height: 220px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__params {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 781px) {
  html body .mgym-lib-page--v11 .mgym-lib-safety-panel {
    padding: 16px !important;
    border-radius: 22px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-safety-panel__head {
    grid-template-columns: 1fr !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-safety-panel__badge {
    justify-self: start !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer {
    padding: 10px !important;
    gap: 10px !important;
    border-radius: 18px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__visual {
    min-height: 210px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__copy {
    padding: 13px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__params {
    grid-template-columns: 1fr !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__params span {
    min-height: auto !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide {
    animation: none !important;
    opacity: 0 !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide:first-child {
    opacity: 1 !important;
    transform: none !important;
  }
}
/* ============================================================
 * [MGYM-BIBLIOTECA-SAFETY-EXPLAINER-V270E70-END]
 * ============================================================ */

/* ============================================================
 * [MGYM-BIBLIOTECA-SAFETY-VISUAL-FIX-V270E73-START]
 * Biblioteca · Corrección visual del bloque PAR-Q.
 * Función:
 * - La imagen SVG subida en assets/img queda por encima del dibujo CSS.
 * - El dibujo decorativo anterior deja de tapar las imágenes reales.
 * - La rotación queda activa cada 2 segundos: 4 slides x 2s = 8s.
 * - No toca JS, guardado, modal, vídeo ni controles avanzados.
 * ============================================================ */

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__visual {
  display: grid !important;
  place-items: stretch !important;
  min-height: 300px !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(163, 255, 51, 0.10), transparent 44%),
    linear-gradient(145deg, rgba(13, 15, 18, 0.98), rgba(0, 0, 0, 0.92)) !important;
}

/* El pseudo-elemento antiguo era el que se veía como “muñeco” y tapaba las imágenes. */
html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__visual::before {
  display: none !important;
  content: none !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide {
  z-index: 1 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  transform: scale(0.985) translateY(4px) !important;
  animation-name: mgymSafetyExplainerRotatorV270E73 !important;
  animation-duration: 8s !important;
  animation-timing-function: linear !important;
  animation-iteration-count: infinite !important;
  animation-delay: calc((var(--slide-index, 0) * 2s) - 0.35s) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__img {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  opacity: 1 !important;
  filter: saturate(1.14) contrast(1.12) brightness(1.04) !important;
  transform: none !important;
  pointer-events: none !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide::before {
  z-index: 2 !important;
  opacity: 0.58 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide::after {
  z-index: 3 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide span,
html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide strong,
html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide small {
  z-index: 4 !important;
  position: relative !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.74) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide small {
  max-width: 78% !important;
}

@keyframes mgymSafetyExplainerRotatorV270E73 {
  0%   { opacity: 0; transform: scale(0.985) translateY(5px); }
  5%   { opacity: 1; transform: scale(1) translateY(0); }
  22%  { opacity: 1; transform: scale(1) translateY(0); }
  25%  { opacity: 0; transform: scale(1.008) translateY(-4px); }
  100% { opacity: 0; transform: scale(1.008) translateY(-4px); }
}

@media (max-width: 781px) {
  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__visual {
    min-height: 230px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide small {
    max-width: 92% !important;
  }
}

/* En este bloque sí queremos rotación automática aunque el sistema reduzca animaciones. */
@media (prefers-reduced-motion: reduce) {
  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide {
    animation-name: mgymSafetyExplainerRotatorV270E73 !important;
    animation-duration: 8s !important;
    animation-iteration-count: infinite !important;
  }
}

/* ============================================================
 * [MGYM-BIBLIOTECA-SAFETY-VISUAL-FIX-V270E73-END]
 * ============================================================ */

/* ============================================================
 * [MGYM-BIBLIOTECA-SAFETY-DOTS-V270E74-START]
 * Biblioteca · Dots manuales para el carrusel visual PAR-Q.
 * Función:
 * - Añade circulitos debajo de la imagen.
 * - Permite estado activo en verde lima.
 * - Cuando JS está listo, JS controla la rotación cada 2 segundos.
 * ============================================================ */

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__visual {
  padding-bottom: 42px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide {
  padding-bottom: 54px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__dots {
  position: absolute !important;
  left: 50% !important;
  bottom: 13px !important;
  z-index: 8 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 8px 10px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: rgba(7, 7, 7, 0.54) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  transform: translateX(-50%) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__dot {
  appearance: none !important;
  width: 9px !important;
  height: 9px !important;
  min-width: 9px !important;
  min-height: 9px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  background: rgba(255, 255, 255, 0.28) !important;
  cursor: pointer !important;
  transition: transform 0.22s ease, background 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__dot:hover {
  transform: scale(1.22) !important;
  border-color: rgba(163, 255, 51, 0.48) !important;
  background: rgba(163, 255, 51, 0.54) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__dot.is-active {
  width: 22px !important;
  border-color: rgba(163, 255, 51, 0.76) !important;
  background: #a3ff33 !important;
  box-shadow: 0 0 18px rgba(163, 255, 51, 0.44) !important;
}

/* Cuando JS está activo, paramos la animación CSS para evitar doble carrusel. */
html body .mgym-lib-page--v11 .mgym-lib-safety-explainer.is-safety-js-ready .mgym-lib-safety-explainer__slide {
  opacity: 0 !important;
  animation: none !important;
  transform: scale(0.985) translateY(5px) !important;
  transition: opacity 0.36s ease, transform 0.36s ease !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer.is-safety-js-ready .mgym-lib-safety-explainer__slide.is-active {
  opacity: 1 !important;
  transform: scale(1) translateY(0) !important;
}

@media (max-width: 781px) {
  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__visual {
    padding-bottom: 39px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide {
    padding-bottom: 50px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__dots {
    bottom: 10px !important;
    padding: 7px 9px !important;
  }
}

/* ============================================================
 * [MGYM-BIBLIOTECA-SAFETY-DOTS-V270E74-END]
 * ============================================================ */


/* ============================================================
 * [MGYM-BIBLIOTECA-SAFETY-LAYOUT-V270E75-START]
 * Biblioteca · Bloque explicativo PAR-Q centrado + carrusel 3s.
 * Función:
 * - Padre al 98% de anchura.
 * - Visual y descripción centrados dentro del bloque.
 * - Textos del carrusel legibles, sin colapsarse con los dots.
 * - Tarjetas de parámetros con lectura clara.
 * - Mantiene JS/dots/manual y la estética verde lima.
 * ============================================================ */

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer {
  width: 98% !important;
  max-width: 1460px !important;
  margin: 20px auto 16px !important;
  padding: 18px !important;
  display: grid !important;
  grid-template-columns: minmax(360px, 0.96fr) minmax(460px, 1.04fr) !important;
  gap: 18px !important;
  align-items: stretch !important;
  justify-content: center !important;
  justify-items: center !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 18% 12%, rgba(163, 255, 51, 0.075), transparent 34%),
    linear-gradient(135deg, rgba(22, 24, 25, 0.92), rgba(10, 10, 11, 0.96)) !important;
  border: 1px solid rgba(255, 255, 255, 0.085) !important;
  box-shadow: 0 24px 48px rgba(0,0,0,0.34), inset 0 1px 0 rgba(255,255,255,0.06) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__visual,
html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__copy {
  width: 100% !important;
  height: 100% !important;
  justify-self: center !important;
  align-self: center !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__visual {
  min-height: 360px !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 50% 44%, rgba(163, 255, 51, 0.12), transparent 44%),
    linear-gradient(145deg, rgba(11, 13, 15, 0.98), rgba(0,0,0,0.92)) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide {
  justify-content: flex-end !important;
  align-items: flex-start !important;
  gap: 8px !important;
  padding: 22px 22px 70px !important;
}

/* Capa inferior para que las letras no se mezclen con la imagen. */
html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide::before {
  opacity: 0.50 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide::after {
  opacity: 0.95 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide span,
html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide strong,
html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide small {
  position: relative !important;
  z-index: 6 !important;
  max-width: min(92%, 430px) !important;
  clear: both !important;
  overflow: visible !important;
  white-space: normal !important;
  text-wrap: balance !important;
  text-shadow: 0 3px 16px rgba(0,0,0,0.86) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide span {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-height: 26px !important;
  margin: 0 !important;
  padding: 6px 10px !important;
  font-size: 0.66rem !important;
  line-height: 1 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide strong {
  display: block !important;
  margin: 0 !important;
  color: #ffffff !important;
  font-size: clamp(1.22rem, 1.55vw, 1.52rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide small {
  display: block !important;
  margin: 0 !important;
  color: rgba(244, 247, 242, 0.88) !important;
  font-size: 0.86rem !important;
  line-height: 1.42 !important;
  font-weight: 700 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide::before {
  content: "" !important;
  position: absolute !important;
  inset: auto 0 0 0 !important;
  width: auto !important;
  height: 48% !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,0.78) 50%, rgba(0,0,0,0.94)) !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  transform: none !important;
  pointer-events: none !important;
  z-index: 3 !important;
}

/* Mantiene el punto de dolor por encima de la imagen y por debajo del texto. */
html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide::after {
  z-index: 4 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__dots {
  bottom: 18px !important;
  z-index: 9 !important;
  gap: 9px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__copy {
  display: grid !important;
  align-content: center !important;
  justify-content: center !important;
  gap: 14px !important;
  min-height: 360px !important;
  padding: 22px !important;
  border-radius: 22px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__copy > strong {
  display: block !important;
  max-width: 680px !important;
  color: #ffffff !important;
  font-size: clamp(1.18rem, 1.5vw, 1.48rem) !important;
  line-height: 1.12 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__copy > p {
  max-width: 720px !important;
  color: rgba(230, 235, 226, 0.82) !important;
  font-size: 0.92rem !important;
  line-height: 1.62 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__params {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(160px, 1fr)) !important;
  gap: 10px !important;
  margin-top: 2px !important;
  align-items: stretch !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__params span {
  display: block !important;
  min-height: 78px !important;
  padding: 13px 14px !important;
  border-radius: 15px !important;
  background: rgba(0, 0, 0, 0.30) !important;
  border: 1px solid rgba(255, 255, 255, 0.075) !important;
  color: rgba(226, 232, 240, 0.82) !important;
  font-size: 0.78rem !important;
  line-height: 1.34 !important;
  font-weight: 700 !important;
  overflow: visible !important;
  white-space: normal !important;
}

html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__params b {
  display: block !important;
  margin: 0 0 6px !important;
  color: #a3ff33 !important;
  font-size: 0.70rem !important;
  line-height: 1.05 !important;
  letter-spacing: 0.06em !important;
}

@media (max-width: 1180px) {
  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer {
    width: 98% !important;
    grid-template-columns: 1fr !important;
    max-width: 920px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__visual,
  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__copy {
    min-height: 320px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__params {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 781px) {
  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer {
    width: 98% !important;
    padding: 12px !important;
    gap: 12px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__visual {
    min-height: 280px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide {
    padding: 18px 16px 62px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide strong {
    font-size: 1.14rem !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__slide small {
    font-size: 0.78rem !important;
    line-height: 1.36 !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__copy {
    min-height: auto !important;
    padding: 16px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__params {
    grid-template-columns: 1fr !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-safety-explainer__params span {
    min-height: auto !important;
  }
}

/* ============================================================
 * [MGYM-BIBLIOTECA-SAFETY-LAYOUT-V270E75-END]
 * ============================================================ */

/* ============================================================
 * [MGYM-BIBLIOTECA-PARQ-ENGINE-V270E76-START]
 * Biblioteca · Motor PAR-Q visual: dashboard, tarjetas, modal y formulario.
 * ============================================================ */
html body .mgym-lib-page--v11 .mgym-lib-parq-dashboard {
  width: 98% !important;
  margin: 0 auto 22px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
  gap: 18px !important;
  align-items: stretch !important;
  padding: 18px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(163, 255, 51, 0.14) !important;
  background:
    radial-gradient(circle at 12% 15%, rgba(163, 255, 51, 0.10), transparent 34%),
    linear-gradient(135deg, rgba(20, 24, 20, 0.88), rgba(10, 10, 11, 0.96)) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,0.48), inset 0 1px 0 rgba(255,255,255,0.06) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-dashboard__head {
  display: grid !important;
  align-content: center !important;
  gap: 7px !important;
  min-width: 0 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-dashboard__head span,
html body .mgym-lib-page--v11 .mgym-lib-parq-form-preview__head span,
html body .mgym-lib-page--v11 .mgym-lib-modal__parq-analysis-head span {
  color: var(--mgym-lib-volt, #a3ff33) !important;
  font-size: 0.68rem !important;
  line-height: 1.1 !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.10em !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-dashboard__head strong {
  color: #ffffff !important;
  font-size: clamp(1.2rem, 2vw, 1.75rem) !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
  letter-spacing: -0.045em !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-dashboard__head p {
  margin: 0 !important;
  color: rgba(226, 232, 240, 0.74) !important;
  font-size: 0.86rem !important;
  line-height: 1.55 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-dashboard__stats {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  align-items: stretch !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-dashboard__stats div {
  display: grid !important;
  place-items: center !important;
  min-height: 84px !important;
  padding: 12px 10px !important;
  text-align: center !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,0.075) !important;
  background: rgba(0,0,0,0.28) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-dashboard__stats strong {
  color: #ffffff !important;
  font-size: 1.45rem !important;
  line-height: 1 !important;
  font-weight: 950 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-dashboard__stats span {
  color: rgba(226, 232, 240, 0.66) !important;
  font-size: 0.62rem !important;
  line-height: 1.15 !important;
  font-weight: 850 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-dashboard__stats .is-recommended,
html body .mgym-lib-page--v11 .mgym-lib-parq-dashboard__stats .is-compatible {
  border-color: rgba(163, 255, 51, 0.20) !important;
  box-shadow: inset 0 0 22px rgba(163, 255, 51, 0.055) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-dashboard__stats .is-review {
  border-color: rgba(245, 158, 11, 0.24) !important;
  box-shadow: inset 0 0 22px rgba(245, 158, 11, 0.055) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-dashboard__stats .is-not-recommended {
  border-color: rgba(239, 68, 68, 0.26) !important;
  box-shadow: inset 0 0 22px rgba(239, 68, 68, 0.055) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-card-status {
  display: grid !important;
  gap: 4px !important;
  margin: -2px 0 13px !important;
  padding: 9px 10px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,0.075) !important;
  background: rgba(0,0,0,0.24) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-card-status strong {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #ffffff !important;
  font-size: 0.72rem !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.045em !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-card-status strong::before {
  content: "" !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 999px !important;
  background: currentColor !important;
  box-shadow: 0 0 12px currentColor !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-card-status span {
  color: rgba(226, 232, 240, 0.68) !important;
  font-size: 0.69rem !important;
  line-height: 1.32 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-card-status.is-recommended,
html body .mgym-lib-page--v11 .mgym-lib-parq-card-status.is-compatible {
  border-color: rgba(163, 255, 51, 0.22) !important;
  background: rgba(163, 255, 51, 0.055) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-card-status.is-recommended strong,
html body .mgym-lib-page--v11 .mgym-lib-parq-card-status.is-compatible strong {
  color: var(--mgym-lib-volt, #a3ff33) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-card-status.is-review {
  border-color: rgba(245, 158, 11, 0.26) !important;
  background: rgba(245, 158, 11, 0.065) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-card-status.is-review strong {
  color: #fbbf24 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-card-status.is-not-recommended,
html body .mgym-lib-page--v11 .mgym-lib-parq-card-status.is-blocked-future {
  border-color: rgba(239, 68, 68, 0.30) !important;
  background: rgba(239, 68, 68, 0.075) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-card-status.is-not-recommended strong,
html body .mgym-lib-page--v11 .mgym-lib-parq-card-status.is-blocked-future strong {
  color: #f87171 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11.has-parq-analysis.is-recommended,
html body .mgym-lib-page--v11 .mgym-lib-card-v11.has-parq-analysis.is-compatible {
  border-color: rgba(163, 255, 51, 0.16) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11.has-parq-analysis.is-review {
  border-color: rgba(245, 158, 11, 0.20) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-card-v11.has-parq-analysis.is-not-recommended,
html body .mgym-lib-page--v11 .mgym-lib-card-v11.has-parq-analysis.is-blocked-future {
  border-color: rgba(239, 68, 68, 0.24) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-form-preview,
html body .mgym-lib-page--v11 .mgym-lib-modal__parq-analysis {
  display: grid !important;
  gap: 10px !important;
  margin: 16px 0 !important;
  padding: 15px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  background: rgba(0,0,0,0.24) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-form-preview__head,
html body .mgym-lib-page--v11 .mgym-lib-modal__parq-analysis-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 12px !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-form-preview__head strong,
html body .mgym-lib-page--v11 .mgym-lib-modal__parq-analysis-head strong {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.045) !important;
  color: #ffffff !important;
  font-size: 0.72rem !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-form-preview p,
html body .mgym-lib-page--v11 .mgym-lib-parq-form-preview small,
html body .mgym-lib-page--v11 .mgym-lib-modal__parq-analysis small {
  margin: 0 !important;
  color: rgba(226,232,240,0.72) !important;
  font-size: 0.82rem !important;
  line-height: 1.48 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-form-preview ul,
html body .mgym-lib-page--v11 .mgym-lib-modal__parq-analysis ul {
  display: grid !important;
  gap: 6px !important;
  margin: 0 !important;
  padding-left: 18px !important;
  color: rgba(226,232,240,0.72) !important;
  font-size: 0.82rem !important;
  line-height: 1.45 !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-form-preview.is-recommended,
html body .mgym-lib-page--v11 .mgym-lib-parq-form-preview.is-compatible,
html body .mgym-lib-page--v11 .mgym-lib-modal__parq-analysis.is-recommended,
html body .mgym-lib-page--v11 .mgym-lib-modal__parq-analysis.is-compatible {
  border-color: rgba(163, 255, 51, 0.22) !important;
  background: rgba(163, 255, 51, 0.055) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-form-preview.is-review,
html body .mgym-lib-page--v11 .mgym-lib-modal__parq-analysis.is-review {
  border-color: rgba(245, 158, 11, 0.26) !important;
  background: rgba(245, 158, 11, 0.065) !important;
}

html body .mgym-lib-page--v11 .mgym-lib-parq-form-preview.is-not-recommended,
html body .mgym-lib-page--v11 .mgym-lib-parq-form-preview.is-blocked-future,
html body .mgym-lib-page--v11 .mgym-lib-modal__parq-analysis.is-not-recommended,
html body .mgym-lib-page--v11 .mgym-lib-modal__parq-analysis.is-blocked-future {
  border-color: rgba(239, 68, 68, 0.30) !important;
  background: rgba(239, 68, 68, 0.075) !important;
}

@media (max-width: 900px) {
  html body .mgym-lib-page--v11 .mgym-lib-parq-dashboard {
    grid-template-columns: 1fr !important;
    width: 98% !important;
    padding: 14px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-parq-dashboard__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  html body .mgym-lib-page--v11 .mgym-lib-parq-dashboard__stats {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-parq-dashboard__stats div {
    min-height: 72px !important;
    padding: 10px 8px !important;
  }

  html body .mgym-lib-page--v11 .mgym-lib-parq-form-preview__head,
  html body .mgym-lib-page--v11 .mgym-lib-modal__parq-analysis-head {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}
/* ============================================================
 * [MGYM-BIBLIOTECA-PARQ-ENGINE-V270E76-END]
 * ============================================================ */
 
 
 
       /* Estilos generales basados en la estética de modo oscuro (img.png) */
        .dolo_arti {
            /* Color verde fosforito lima (neón) */
            color: #ccff00;
            
            /* Tipografía profesional y legible */
            font-family: "Helvetica Neue", Arial, sans-serif;
            
            /* Tamaño de fuente solicitado */
            font-size: 12px;
            
            /* Peso de fuente en negrita para resaltar el texto */
            font-weight: bold;
        }

   
