/* BPF 12.5.12.12 — Exercise Library centered desktop width polish
   Visual/interaction shell only. Canonical exercise identities and resolver behavior stay untouched. */
:root{
  --el-bg:#030911;
  --el-bg2:#06101a;
  --el-panel:#07121f;
  --el-panel2:#0b1b2c;
  --el-text:#f7f9fc;
  --el-muted:#aebdca;
  --el-line:rgba(126,184,229,.17);
  --el-line-strong:rgba(70,167,255,.38);
  --el-blue:#268cff;
  --el-blue2:#075dff;
  --el-cyan:#42d4e4;
  --el-danger:#e84a64;
  --el-radius:20px;
  --el-shadow:0 20px 55px rgba(0,0,0,.34);
}
html{background:var(--el-bg)!important}
body.bpf-exercise-library-modern{
  margin:0!important;
  min-height:100vh;
  background:
    radial-gradient(circle at 84% 5%,rgba(22,111,235,.13),transparent 29%),
    radial-gradient(circle at 10% 52%,rgba(66,212,228,.035),transparent 24%),
    linear-gradient(180deg,var(--el-bg),var(--el-bg2) 48%,var(--el-bg))!important;
  color:var(--el-text)!important;
  font-family:'DM Sans',Inter,Arial,sans-serif!important;
}
body.bpf-exercise-library-modern .wrap{
  width:min(1080px,calc(100% - 48px));
  max-width:1080px!important;
  margin:0 auto!important;
  padding:18px 0 92px!important;
}
body.bpf-exercise-library-modern .top{
  min-height:62px;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:0 2px 18px!important;
  padding:8px 2px 18px!important;
  border-bottom:1px solid rgba(126,184,229,.10)!important;
}
body.bpf-exercise-library-modern .brand{
  display:flex;align-items:center;gap:11px;
  color:#f7f9fc!important;
  font-family:'Barlow Condensed',Arial,sans-serif!important;
  font-size:23px!important;line-height:1!important;
  font-weight:900!important;text-transform:uppercase;letter-spacing:.025em;
}
body.bpf-exercise-library-modern .brand:before{
  content:'BPF';display:grid;place-items:center;width:44px;height:44px;border-radius:13px;
  background:linear-gradient(150deg,#29a7ff,#075dff 70%,#0738a6);
  border:1px solid rgba(128,201,255,.38);color:#fff;
  box-shadow:0 8px 22px rgba(17,108,255,.20);
  font:900 14px/1 'Barlow Condensed',Arial,sans-serif;
}
body.bpf-exercise-library-modern .brand span{display:none!important}
body.bpf-exercise-library-modern .top>div:last-child{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
body.bpf-exercise-library-modern .top .btn{
  min-height:44px!important;border-radius:999px!important;padding:10px 15px!important;
  background:rgba(255,255,255,.025)!important;border:1px solid rgba(149,192,226,.20)!important;
  color:#e5edf4!important;box-shadow:none!important;text-transform:none!important;letter-spacing:0!important;
  font-weight:800!important;font-size:13px!important;
}
body.bpf-exercise-library-modern .top .btn:hover,
body.bpf-exercise-library-modern .top .btn:focus-visible{border-color:rgba(70,167,255,.50)!important;background:rgba(38,140,255,.08)!important;color:#fff!important}

body.bpf-exercise-library-modern main#app{
  width:min(1080px,calc(100% - 48px))!important;
  max-width:1080px!important;
  margin:0 auto!important;
  padding:0!important;
  box-sizing:border-box!important;
}
.el-hero{
  position:relative;overflow:hidden;
  border:1px solid rgba(38,140,255,.34);border-radius:28px;
  background:radial-gradient(520px 330px at 98% 0%,rgba(12,103,233,.28),transparent 68%),linear-gradient(135deg,#071729 0%,#061426 58%,#07172a 100%);
  padding:clamp(28px,5vw,50px);box-shadow:var(--el-shadow);margin-bottom:18px;
}
.el-hero:after{content:'';position:absolute;width:470px;height:470px;right:-160px;bottom:-270px;border-radius:50%;border:1px solid rgba(58,151,255,.17);box-shadow:0 0 0 68px rgba(27,113,234,.045),0 0 0 136px rgba(27,113,234,.018);pointer-events:none}
.el-kicker{position:relative;z-index:1;color:var(--el-cyan)!important;font:900 13px/1 'Barlow Condensed',Arial,sans-serif!important;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}
body.bpf-exercise-library-modern h1,
body.bpf-exercise-library-modern .el-hero h1{
  position:relative;z-index:1;color:var(--el-text)!important;margin:0!important;
  font-family:'Barlow Condensed',Arial,sans-serif!important;font-size:clamp(52px,8vw,88px)!important;font-weight:900!important;line-height:.88!important;letter-spacing:-.025em!important;text-transform:uppercase!important;
}
body.bpf-exercise-library-modern .el-hero p{position:relative;z-index:1;margin:15px 0 0!important;max-width:720px;color:#afbfcd!important;font-size:clamp(16px,2vw,20px)!important;line-height:1.5!important}
.el-hero-note{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:9px 12px;border:1px solid rgba(66,212,228,.18);border-radius:999px;background:rgba(66,212,228,.055);color:#bdd8e7!important;font-size:12px!important;font-weight:800}
.el-hero-note:before{content:'✓';display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:rgba(38,140,255,.20);color:#8cd7ff;font-weight:900}

.el-controls{
  margin:16px 0 12px;padding:18px;border:1px solid var(--el-line);border-radius:20px;background:rgba(7,18,31,.94);box-shadow:0 16px 38px rgba(0,0,0,.24)
}
.el-search-label{display:block;margin:0 0 8px;color:#f5f8fb!important;font:900 17px/1 'Barlow Condensed',Arial,sans-serif!important;text-transform:uppercase;letter-spacing:.04em}
body.bpf-exercise-library-modern .search{display:grid!important;grid-template-columns:minmax(0,1.5fr) minmax(180px,.65fr) minmax(180px,.65fr)!important;gap:10px!important;margin:0!important}
body.bpf-exercise-library-modern .search input,
body.bpf-exercise-library-modern .search select{
  width:100%;min-height:54px;padding:13px 15px!important;border-radius:14px!important;
  background:#081522!important;border:1px solid rgba(126,184,229,.20)!important;color:#eef6fd!important;
  font:700 15px/1.25 'DM Sans',Arial,sans-serif!important;box-shadow:none!important;
}
body.bpf-exercise-library-modern .search input::placeholder{color:#8399aa!important}
body.bpf-exercise-library-modern .search input:focus,
body.bpf-exercise-library-modern .search select:focus{outline:3px solid rgba(38,140,255,.25)!important;outline-offset:2px!important;border-color:rgba(70,167,255,.60)!important}
.el-results-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 2px 4px;color:var(--el-muted)!important;font-size:13px!important;line-height:1.4}
.el-results-bar strong{color:#edf5fb!important}
.el-clear{min-height:42px;padding:9px 13px;border-radius:999px;border:1px solid rgba(149,192,226,.18);background:rgba(255,255,255,.025);color:#dce8f2;font-weight:800;cursor:pointer}
.el-clear:hover,.el-clear:focus-visible{border-color:rgba(70,167,255,.50);background:rgba(38,140,255,.08);color:#fff;outline:none}

body.bpf-exercise-library-modern .grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;margin-top:15px!important}
body.bpf-exercise-library-modern .card{
  display:flex;flex-direction:column;min-width:0;overflow:hidden;border-radius:20px!important;
  border:1px solid rgba(126,184,229,.16)!important;background:linear-gradient(180deg,rgba(9,24,40,.98),rgba(5,14,24,.98))!important;
  box-shadow:0 12px 32px rgba(0,0,0,.24)!important;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease
}
body.bpf-exercise-library-modern .card:hover{transform:translateY(-2px);border-color:rgba(70,167,255,.40)!important;box-shadow:0 18px 38px rgba(0,0,0,.32)!important}
body.bpf-exercise-library-modern .cardMedia{
  min-height:0!important;aspect-ratio:4/3!important;padding:0!important;overflow:hidden!important;
  background:#02070d!important;border-bottom:1px solid var(--el-line)!important;
}
body.bpf-exercise-library-modern .cardMedia .exerciseArt{
  width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:top center!important;border-radius:0!important;background:#02070d!important;cursor:zoom-in!important;
}
body.bpf-exercise-library-modern .cardbody{display:flex!important;flex:1;flex-direction:column;padding:16px!important;color:inherit!important}
body.bpf-exercise-library-modern .pill{
  align-self:flex-start;padding:5px 9px!important;border:1px solid rgba(66,212,228,.22)!important;border-radius:999px!important;background:rgba(66,212,228,.055)!important;
  color:#77dceb!important;font-size:10px!important;letter-spacing:.08em!important
}
body.bpf-exercise-library-modern .name{margin:10px 0 6px!important;color:#f5f8fb!important;font:900 29px/.95 'Barlow Condensed',Arial,sans-serif!important;text-transform:uppercase!important}
body.bpf-exercise-library-modern .meta{margin:0 0 10px!important;color:#8fa4b4!important;font-size:11px!important;line-height:1.45!important}
body.bpf-exercise-library-modern .desc{flex:1;color:#c1cfda!important;font-size:13px!important;line-height:1.5!important}
body.bpf-exercise-library-modern .masterclassBadge{display:none!important}
.el-card-actions{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:14px}
.el-open-guide,.el-details{
  min-height:46px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;font-weight:900!important;font-size:13px!important;line-height:1!important
}
.el-open-guide{background:linear-gradient(145deg,#2fa0ff,#0868ff 68%,#0754e9)!important;color:#fff!important;border:1px solid rgba(126,198,255,.26)!important;box-shadow:0 10px 24px rgba(17,103,255,.18)}
.el-open-guide:hover,.el-open-guide:focus-visible{filter:brightness(1.08);color:#fff!important;outline:3px solid rgba(38,140,255,.24);outline-offset:2px}
.el-details{padding:0 14px;background:rgba(255,255,255,.025)!important;color:#dce8f2!important;border:1px solid rgba(149,192,226,.18)!important}
.el-details:hover,.el-details:focus-visible{border-color:rgba(70,167,255,.50)!important;color:#fff!important;outline:none}

/* Detail view */
.el-detail-head{border:1px solid rgba(38,140,255,.30);border-radius:24px;background:radial-gradient(440px 260px at 100% 0%,rgba(12,103,233,.24),transparent 70%),linear-gradient(135deg,#071729,#061426);padding:clamp(24px,4vw,38px);margin-bottom:16px}
.el-detail-head .el-kicker{margin-bottom:10px}
body.bpf-exercise-library-modern .el-detail-head h1{font-size:clamp(46px,7vw,78px)!important}
body.bpf-exercise-library-modern .el-detail-head .sub{max-width:720px;margin:12px 0 0!important;color:#afbfcd!important;font-size:16px!important;line-height:1.55!important}
body.bpf-exercise-library-modern .quick{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin:14px 0 16px}
body.bpf-exercise-library-modern .quick div{min-height:82px;padding:13px!important;border:1px solid var(--el-line)!important;border-radius:14px!important;background:rgba(8,21,34,.82)!important;color:#c9d5df!important;font-size:13px!important;line-height:1.35!important}
body.bpf-exercise-library-modern .quick strong{display:block;margin-bottom:5px;color:#6fd7e7!important;font:900 14px/1 'Barlow Condensed',Arial,sans-serif!important;text-transform:uppercase;letter-spacing:.06em}
body.bpf-exercise-library-modern .detail{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;gap:16px!important;margin:0!important;align-items:start}
body.bpf-exercise-library-modern .detailImg{padding:8px!important;border-radius:20px!important;border:1px solid var(--el-line)!important;background:#02070d!important;box-shadow:0 16px 42px rgba(0,0,0,.28)!important}
body.bpf-exercise-library-modern .detailImg .exerciseArt{width:100%!important;max-height:76vh!important;object-fit:contain!important;border-radius:14px!important;background:#02070d!important}
body.bpf-exercise-library-modern .panel{border:1px solid var(--el-line)!important;border-radius:18px!important;background:rgba(7,18,31,.94)!important;padding:18px!important;color:#c6d2dc!important;box-shadow:none!important}
body.bpf-exercise-library-modern .panel h2{margin:0 0 10px!important;color:#f5f8fb!important;font:900 26px/1 'Barlow Condensed',Arial,sans-serif!important;text-transform:uppercase!important}
body.bpf-exercise-library-modern .panel h2:not(:first-child){margin-top:20px!important}
body.bpf-exercise-library-modern .panel li,body.bpf-exercise-library-modern .panel p{color:#b9c8d4!important;font-size:13px!important;line-height:1.5!important}
.el-detail-primary{margin-bottom:12px}
.el-detail-primary .el-open-guide{width:100%;min-height:52px}
.el-detail-note{margin:0 0 14px;color:#8fa4b4!important;font-size:12px!important;line-height:1.45!important}
body.bpf-exercise-library-modern .detail + .grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}

/* Full-view overlay stays simple and high contrast. */
body.bpf-exercise-library-modern .bpf-fullview-overlay{background:rgba(1,7,14,.94)!important;backdrop-filter:blur(8px)}
body.bpf-exercise-library-modern .bpf-fullview-panel{width:min(96vw,1180px)!important}
body.bpf-exercise-library-modern .bpf-fullview-title{color:#f5f8fb!important}
body.bpf-exercise-library-modern .bpf-fullview-close{background:linear-gradient(145deg,#2fa0ff,#0868ff)!important;border:1px solid rgba(126,198,255,.26)!important}
body.bpf-exercise-library-modern .bpf-fullview-imgwrap{border-color:rgba(70,167,255,.34)!important;background:#02070d!important}

/* Keep global nav calm; no lime authority in this shell. */
body.bpf-exercise-library-modern .exercise-footer-nav{display:none!important}
body.bpf-exercise-library-modern #bpf-global-bottom-nav,
body.bpf-exercise-library-modern .bpf-global-bottom-nav{--bpf-nav-accent:#268cff}

@media(max-width:980px){
  body.bpf-exercise-library-modern .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.bpf-exercise-library-modern .search{grid-template-columns:1fr 1fr!important}
  body.bpf-exercise-library-modern .search input{grid-column:1/-1}
  body.bpf-exercise-library-modern .detail{grid-template-columns:1fr!important}
  body.bpf-exercise-library-modern .quick{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:1100px){
  body.bpf-exercise-library-modern .wrap,
  body.bpf-exercise-library-modern main#app{width:calc(100% - 32px)!important}
}
@media(max-width:680px){
  body.bpf-exercise-library-modern .wrap{width:min(100% - 16px,1080px)!important;padding-top:8px!important}
  body.bpf-exercise-library-modern main#app{width:calc(100% - 16px)!important;max-width:1080px!important}
  body.bpf-exercise-library-modern .top{align-items:flex-start!important;margin-bottom:10px!important}
  body.bpf-exercise-library-modern .brand{font-size:20px!important}.top #bpf-all-exercises-btn{display:none!important}
  .el-hero{border-radius:22px;padding:24px 20px;margin-bottom:12px}
  body.bpf-exercise-library-modern .el-hero h1{font-size:clamp(46px,16vw,68px)!important}
  body.bpf-exercise-library-modern .el-hero p{font-size:16px!important}
  .el-hero-note{align-items:flex-start;border-radius:14px;line-height:1.4}
  .el-controls{padding:14px;border-radius:17px}
  body.bpf-exercise-library-modern .search{grid-template-columns:1fr!important}
  body.bpf-exercise-library-modern .search input{grid-column:auto}
  body.bpf-exercise-library-modern .search input,body.bpf-exercise-library-modern .search select{min-height:58px;font-size:16px!important}
  .el-results-bar{align-items:flex-start;flex-direction:column}.el-clear{width:100%;min-height:48px}
  body.bpf-exercise-library-modern .grid{grid-template-columns:1fr!important;gap:12px!important}
  body.bpf-exercise-library-modern .card{border-radius:18px!important}
  body.bpf-exercise-library-modern .cardMedia{aspect-ratio:16/10!important}
  body.bpf-exercise-library-modern .name{font-size:31px!important}
  .el-card-actions{grid-template-columns:1fr 110px}.el-open-guide,.el-details{min-height:52px;font-size:14px!important}
  body.bpf-exercise-library-modern .quick{grid-template-columns:1fr 1fr!important}
  body.bpf-exercise-library-modern .detail + .grid{grid-template-columns:1fr!important}
  body.bpf-exercise-library-modern .detailImg .exerciseArt{max-height:none!important}
}
@media(max-width:440px){
  body.bpf-exercise-library-modern .quick{grid-template-columns:1fr!important}
  .el-card-actions{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){body.bpf-exercise-library-modern .card{transition:none!important}}
