/* Brighton Jitsu "fight poster" inner pages: page banner, prose, cards, forms, tables, Woo, MyDojo. v1.4.0
   Loaded on every page except the front page, after style.css + bx-chrome.css. */
.bx-inner{
  --bx-ink:#141414; --bx-ink2:#1c1c1c; --bx-field:#121212; --bx-field-line:#6b6b6b; --bx-text:#d9d4cb;
  --bg:#0b0b0b; --ink:#f2eee6; --muted:#bdb8af; --line:#2a2a2a; --card:#141414;
  --accent:#ff5468; --accent-ink:#fff; --gold:#ffc93c;
  --serif:var(--bx-display); --sans:var(--bx-body);
  background:var(--bx-black); color:var(--bx-bone); font:400 17px/1.65 var(--bx-body);
  -webkit-font-smoothing:antialiased; overflow-x:clip;
}
.bx-inner main#content{padding-bottom:0}
@media (max-width:782px){.bx-inner main#content,.bx-inner main.site-main,main#content,main.site-main{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))!important}}
.bx-inner :focus-visible{outline:3px solid var(--bx-red-hi);outline-offset:3px}
.bx-inner .bx-wrap{width:100%;max-width:calc(1280px + 2*var(--bx-g));margin:0 auto;padding:0 var(--bx-g)}

/* ---------- type ---------- */
.bx-inner main :is(h1,h2,h3){font-family:var(--bx-display);font-weight:400;text-transform:uppercase;letter-spacing:.015em;line-height:.95;color:var(--bx-bone);text-wrap:balance}
.bx-inner main h1{font-size:clamp(52px,8vw,104px)}
.bx-inner main h2{font-size:clamp(34px,4.2vw,54px);margin:0 0 .45em}
.bx-inner main h3{font-size:clamp(26px,2.6vw,32px);letter-spacing:.025em;margin:0 0 .4em}
.bx-inner main h4{font:700 14px/1.3 var(--bx-body);letter-spacing:.16em;text-transform:uppercase;color:var(--bx-red-hi);margin:2em 0 .6em}
.bx-inner .kicker,.bx-inner .bx-card__kicker{font:600 12px/1.3 var(--bx-body);letter-spacing:.2em;text-transform:uppercase;color:var(--bx-red-hi);margin:0 0 10px}
.bx-inner .bx-kicker{font:600 13px/1.2 var(--bx-body);letter-spacing:.22em;text-transform:uppercase;color:var(--bx-red-hi);margin:0 0 18px;display:flex;align-items:center;gap:12px}
.bx-inner .bx-kicker::before{content:"";width:34px;height:3px;background:var(--bx-red);flex:none}
.bx-inner .muted{color:var(--muted)}
.bx-inner .lede{color:var(--bx-text);font-size:clamp(18px,1.6vw,21px);max-width:44rem}
.bx-inner main a:not([class]){color:var(--bx-bone);text-decoration:underline;text-decoration-color:var(--bx-red);text-decoration-thickness:2px;text-underline-offset:4px;transition:color .2s}
.bx-inner main a:not([class]):hover{color:var(--bx-red-hi)}

/* ---------- page banner ---------- */
.bx-ph{position:relative;isolation:isolate;overflow:hidden;background:var(--bx-black);min-height:clamp(300px,44vh,470px);display:flex;align-items:flex-end;border-bottom:4px solid var(--bx-red)}
.bx-ph--compact{min-height:clamp(220px,30vh,300px)}
.bx-ph__media{position:absolute;inset:0;z-index:0;overflow:hidden}
.bx-ph__media img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;filter:grayscale(1) contrast(1.25) brightness(.72);display:block;max-width:none}
.bx-ph__media::after{content:"";position:absolute;inset:0;background:var(--bx-red);mix-blend-mode:multiply;opacity:.62}
.bx-ph__tint{position:absolute;inset:0;z-index:1;background:
  linear-gradient(90deg,rgba(11,11,11,.94) 0%,rgba(11,11,11,.72) 42%,rgba(11,11,11,.25) 100%),
  linear-gradient(0deg,rgba(11,11,11,.92) 0%,rgba(11,11,11,0) 62%)}
@media (max-width:760px){.bx-ph__tint{background:linear-gradient(0deg,rgba(11,11,11,.96) 0%,rgba(11,11,11,.72) 55%,rgba(11,11,11,.5) 100%)}}
.bx-ph .bx-grain,.bx-inner .bx-grain{position:absolute;inset:0;pointer-events:none;opacity:.16;mix-blend-mode:overlay;z-index:2;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1.2 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.bx-ph__in{position:relative;z-index:3;padding-top:clamp(56px,8vw,104px);padding-bottom:clamp(36px,5vw,60px)}
.bx-inner .bx-wrap.bx-ph__in{padding:clamp(56px,8vw,104px) var(--bx-g) clamp(40px,5.5vw,64px)}
.bx-ph__slash{margin-bottom:2px}
.bx-inner main .bx-ph__title{font:400 clamp(2.25rem,1.1rem + 5.5vw,6.5rem)/.9 var(--bx-display);text-transform:uppercase;letter-spacing:.01em;margin:0;max-width:100%;color:var(--bx-bone);overflow-wrap:normal;word-break:normal;hyphens:none;-webkit-hyphens:none;text-wrap:wrap;text-align:left}
.bx-inner main .bx-ph__title.bx-words,.bx-inner main .bx-ph__title.bx-split{display:block!important;grid-template-columns:none!important;gap:0!important;align-items:unset!important}
.bx-inner main .bx-ph--long .bx-ph__title{font-size:clamp(2rem,1rem + 4vw,4.5rem);max-width:100%;line-height:.92}
.bx-ph--compact .bx-ph__title{font-size:clamp(2.25rem,1rem + 5vw,5.5rem)}
.bx-ph__slash{display:block;width:min(220px,40%);height:6px;margin-top:22px;margin-left:4px;background:var(--bx-red);transform:skewX(-24deg)}
.bx-ph__beltbar{display:block;width:min(360px,70%);height:12px;margin-top:24px;background:var(--belt);box-shadow:0 0 0 1px rgba(242,238,230,.25)}
.bx-crumbs ol{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:6px 0;font:600 12px/1.4 var(--bx-body);letter-spacing:.16em;text-transform:uppercase;color:#cfcac1}
.bx-crumbs li{display:flex;align-items:center;min-width:0}
.bx-crumbs li+li::before{content:"/";color:var(--bx-red-hi);margin:0 10px}
.bx-crumbs a{color:var(--bx-bone);text-decoration:none;background:linear-gradient(var(--bx-red),var(--bx-red)) 0 100%/0 2px no-repeat;transition:background-size .2s}
.bx-crumbs a:hover{background-size:100% 2px}
.bx-crumbs [aria-current]{color:#cfcac1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:44ch}
@media (max-width:600px){.bx-crumbs [aria-current],.bx-crumbs [aria-current=page]{white-space:normal;overflow:visible;text-overflow:clip;max-width:none}}
@media (prefers-reduced-motion:no-preference){
  .bx-ph__media img{animation:bxPhPhoto 1.5s cubic-bezier(.2,.7,.2,1) calc(var(--bx-d,0s) * .6) both}
  .bx-ph__in > *{animation:bxPhUp .8s cubic-bezier(.2,.7,.2,1) var(--bx-d,0s) both}
  .bx-ph__in > :nth-child(2){animation-delay:calc(var(--bx-d,0s) + .08s)}
  .bx-ph__in > :nth-child(3){animation-delay:calc(var(--bx-d,0s) + .16s)}
  .bx-ph__in > :nth-child(4){animation-delay:calc(var(--bx-d,0s) + .26s)}
  .bx-ph__beltbar{animation:bxBelt .9s cubic-bezier(.7,0,.2,1) calc(var(--bx-d,0s) + .55s) both!important;transform-origin:left}
  .bx-ph__slash{animation:bxSlashIn .6s cubic-bezier(.7,0,.2,1) calc(var(--bx-d,0s) + .5s) both!important;transform-origin:left}
  /* word line-mask (JS adds .bx-words; must NOT reuse .bx-split — that is home 2-col layout) */
  .bx-ph__in > .bx-words{animation:none;display:block;grid-template-columns:none;gap:0}
  .bx-words .bx-w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .02em .08em;margin:0 -.02em -.08em}
  .bx-words .bx-w > span{display:inline-block;animation:bxWordUp .75s cubic-bezier(.2,.75,.2,1) calc(var(--bx-d,0s) + .1s + var(--w,0) * 60ms) both}
}
@keyframes bxPhZoom{from{transform:scale(1.08)}to{transform:none}}
@keyframes bxPhPhoto{from{opacity:0;transform:scale(1.1);filter:grayscale(1) blur(16px) brightness(.35)}to{opacity:1;transform:none;filter:grayscale(1) contrast(1.25) brightness(.72) blur(0)}}
@keyframes bxWordUp{from{transform:translateY(105%)}to{transform:none}}
@keyframes bxSlashIn{from{transform:scaleX(0) skewX(-24deg)}to{transform:skewX(-24deg)}}
@keyframes bxPhUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes bxBelt{from{transform:scaleX(0)}to{transform:none}}

/* ---------- page body ---------- */
.bx-page{padding:clamp(48px,7vw,96px) 0 clamp(72px,9vw,128px)}
.bx-inner .section{padding-left:0;padding-right:0}
.bx-prose{max-width:780px;font-size:18px;color:var(--bx-text);overflow-wrap:break-word}
.bx-prose--focus{margin-inline:auto}
.bx-inner .bx-prose :is(p,li){color:var(--bx-text)}
.bx-prose > :first-child{margin-top:0}
.bx-prose p{margin:0 0 1.15em}
.bx-prose :is(h2,h3){margin-top:1.6em}
.bx-prose h2{position:relative;padding-top:18px}
.bx-prose h2::before{content:"";position:absolute;left:0;top:0;width:48px;height:4px;background:var(--bx-red)}
.bx-prose > h2:first-child{margin-top:0}
.bx-prose--belt h2::before{background:var(--belt,var(--bx-red))}
.bx-prose strong{color:var(--bx-bone)}
.bx-prose ul{list-style:none;padding-left:0;margin:0 0 1.3em}
.bx-prose ul > li{position:relative;padding-left:28px;margin:0 0 .45em}
.bx-prose ul > li::before{content:"";position:absolute;left:2px;top:.78em;width:12px;height:3px;background:var(--bx-red)}
.bx-prose ol{list-style:none;counter-reset:bxol;padding-left:0;margin:0 0 1.3em}
.bx-prose ol > li{counter-increment:bxol;position:relative;padding-left:44px;margin:0 0 .6em}
.bx-prose ol > li::before{content:counter(bxol,decimal-leading-zero);position:absolute;left:0;top:.05em;font:400 24px/1 var(--bx-display);color:var(--bx-red-hi)}
.bx-prose blockquote,.bx-inner .wp-block-quote{margin:2em 0;padding:8px 0 8px 28px;border-left:4px solid var(--bx-red);font:400 clamp(26px,2.8vw,36px)/1.1 var(--bx-display);letter-spacing:.02em;text-transform:uppercase;color:var(--bx-bone)}
.bx-prose blockquote p{color:var(--bx-bone);margin:0 0 .4em}
.bx-prose blockquote cite{display:block;font:600 13px/1.4 var(--bx-body);letter-spacing:.14em;color:var(--muted);font-style:normal;margin-top:10px}
.bx-prose hr,.bx-prose .wp-block-separator{border:0;height:2px;background:var(--bx-line);margin:2.6em 0;opacity:1}
.bx-prose figure{margin:2em 0}
.bx-prose img{display:block;height:auto;max-width:100%}
.bx-prose figcaption,.bx-prose .wp-element-caption{font-size:14px;color:var(--muted);margin-top:10px}
.bx-prose iframe{max-width:100%;border:0;display:block}
.bx-prose :is(.wp-block-embed iframe,iframe[src*="youtube"],iframe[src*="youtu.be"],iframe[src*="vimeo"]){width:100%;height:auto;aspect-ratio:16/9;background:#000}
.bx-prose .wp-block-embed{margin:1.4em 0 2.2em}
.bx-prose .wp-block-embed__wrapper{position:relative;border:1px solid var(--bx-line);background:#000}
.bx-prose .wp-block-embed__wrapper::after{content:"";position:absolute;left:0;bottom:-1px;width:64px;height:4px;background:var(--belt,var(--bx-red))}
.bx-prose .wp-block-group.has-background{padding:28px;border:1px solid var(--bx-line)}
.bx-feature{margin:0 0 2em}
.bx-feature img{width:100%;height:auto}
/* galleries */
.bx-prose :is(.wp-block-gallery,.gallery){display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:2em 0}
.bx-prose .gallery-item,.bx-prose .wp-block-gallery .wp-block-image{margin:0;width:auto!important;position:relative;overflow:hidden}
.bx-prose :is(.gallery,.wp-block-gallery) img{width:100%;height:100%;aspect-ratio:1;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1),filter .3s}
.bx-prose :is(.gallery,.wp-block-gallery) a:hover img{transform:scale(1.05);filter:contrast(1.1)}
/* tables */
.bx-inner .wp-block-table{overflow-x:auto;margin:2em 0}
.bx-inner main table:not(.variations){width:100%;border-collapse:collapse;font-size:16px;color:var(--bx-text)}
.bx-inner main table:not(.variations) :is(th,td){padding:14px 16px;border-bottom:1px solid var(--bx-line);text-align:left;vertical-align:top}
.bx-inner main table:not(.variations) thead th{font:700 12px/1.3 var(--bx-body);letter-spacing:.16em;text-transform:uppercase;color:var(--bx-bone);border-bottom:2px solid var(--bx-red);background:transparent}
.bx-inner main table:not(.variations) tbody tr:nth-child(even) td{background:rgba(242,238,230,.025)}
/* block buttons */
.bx-inner .wp-block-button__link,.bx-inner .wp-element-button{border-radius:0;background:var(--bx-red);color:#fff;font:700 14px/1 var(--bx-body);letter-spacing:.12em;text-transform:uppercase;padding:18px 26px}
.bx-pages{margin-top:2em;display:flex;gap:10px}
.bx-back{margin-top:40px}

/* ---------- cards ---------- */
.bx-inner .card,.bx-card{position:relative;background:var(--bx-ink);border:1px solid var(--bx-line);border-radius:0;padding:clamp(22px,2.4vw,32px);transition:border-color .25s,transform .25s cubic-bezier(.2,.7,.2,1)}
.bx-inner .card::before,.bx-card::before{content:"";position:absolute;left:-1px;top:-1px;height:4px;width:56px;background:var(--bx-red);transition:width .35s cubic-bezier(.7,0,.2,1)}
.bx-inner .card:hover::before,.bx-card:hover::before{width:calc(100% + 2px)}
.bx-inner .card:hover,.bx-card:hover{border-color:#3a3a3a}
.bx-inner :is(.card,.fees-card) > .price{font:400 clamp(40px,4vw,56px)/.95 var(--bx-display);letter-spacing:.01em;color:var(--bx-bone);margin:.1em 0 .3em}
.bx-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:20px}
.bx-postcard{display:flex;flex-direction:column}
.bx-postcard .bx-card__title{font-size:clamp(28px,2.6vw,34px);margin:0 0 12px;line-height:.98}
.bx-postcard .bx-card__title a{color:var(--bx-bone);text-decoration:none}
.bx-postcard .bx-card__title a::after{content:"";position:absolute;inset:0;z-index:1}
.bx-postcard .bx-card__body{color:var(--muted);font-size:16px;margin:0 0 18px}
.bx-card__more{margin-top:auto;font:700 13px/1 var(--bx-body);letter-spacing:.14em;text-transform:uppercase;color:var(--bx-red-hi);transition:transform .2s}
.bx-postcard:hover .bx-card__more{transform:translateX(6px)}
.bx-postcard__img{display:block;margin:calc(-1 * clamp(22px,2.4vw,32px)) calc(-1 * clamp(22px,2.4vw,32px)) 20px;aspect-ratio:16/9;overflow:hidden}
.bx-postcard__img img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15)}
.bx-empty{max-width:640px;font-size:18px;color:var(--bx-text)}
.bx-404__n{font:400 clamp(120px,20vw,240px)/.8 var(--bx-display);color:var(--bx-red);margin:0 0 20px}
.bx-404__links{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 36px}
.bx-searchbar{margin-bottom:36px;max-width:640px}
.bx-inner .search-form{display:flex;gap:0;max-width:560px}
.bx-inner .search-form label{flex:1;margin:0}
.bx-inner .search-form .search-submit{flex:none}
.bx-inner .nav-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px}
.bx-inner .nav-links .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;padding:0 14px;border:1px solid var(--bx-line);color:var(--bx-bone);text-decoration:none;font-weight:600}
.bx-inner .nav-links .page-numbers.current{background:var(--bx-red);border-color:var(--bx-red);color:#fff}
/* post prev/next */
.bx-postnav{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:780px;margin-top:56px;padding-top:28px;border-top:1px solid var(--bx-line)}
.bx-postnav a{display:block;text-decoration:none;color:var(--bx-bone)}
.bx-postnav__next{text-align:right}
.bx-postnav__dir{display:block;font:600 12px/1.3 var(--bx-body);letter-spacing:.2em;text-transform:uppercase;color:var(--bx-red-hi);margin-bottom:6px}
.bx-postnav__t{font:400 24px/1 var(--bx-display);text-transform:uppercase;letter-spacing:.02em}
.bx-postnav a:hover .bx-postnav__t{color:var(--bx-red-hi)}
@media (max-width:560px){.bx-postnav{grid-template-columns:1fr}.bx-postnav__next{text-align:left}}

/* ---------- belt rail ---------- */
.bx-beltrail{margin-top:clamp(56px,7vw,88px);padding-top:32px;border-top:1px solid var(--bx-line)}
.bx-beltrail ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.bx-beltrail a{display:flex;align-items:center;gap:12px;min-height:56px;padding:0 16px;background:var(--bx-ink);border:1px solid var(--bx-line);color:var(--bx-bone);text-decoration:none;font:400 22px/1 var(--bx-display);letter-spacing:.04em;text-transform:uppercase;transition:border-color .2s,transform .2s}
.bx-beltrail a:hover{border-color:var(--belt);transform:translateY(-2px)}
.bx-beltrail a[aria-current]{border-color:var(--belt);box-shadow:inset 4px 0 0 var(--belt)}
.bx-beltrail__sw{width:26px;height:8px;background:var(--belt);flex:none;box-shadow:0 0 0 1px rgba(242,238,230,.25)}

/* ---------- instructor profile ---------- */
.bx-profile{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,72px);align-items:start}
.bx-profile--right{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.bx-profile--right .bx-profile__photo{order:2}
.bx-profile--nophoto{grid-template-columns:1fr}
.bx-profile__photo{margin:0;position:relative;border:1px solid var(--bx-line)}
.bx-profile__photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1) contrast(1.1);display:block}
.bx-profile__photo::after{content:"";position:absolute;left:-1px;bottom:-1px;width:40%;height:6px;background:var(--bx-red)}
@media (max-width:800px){.bx-profile,.bx-profile--right{grid-template-columns:1fr}.bx-profile--right .bx-profile__photo{order:0}.bx-profile__photo img{aspect-ratio:4/3}}

/* ---------- buttons ---------- */
.bx-inner :is(.btn,button.btn,.button,button[type="submit"],input[type="submit"],.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.wc-forward,.search-submit):not(.bx-btn){
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 24px;border:2px solid var(--bx-red);border-radius:0;
  background:var(--bx-red);color:#fff;font:700 14px/1 var(--bx-body);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;cursor:pointer;box-shadow:none;
  transition:background-color .2s,border-color .2s,transform .18s}
.bx-inner :is(.btn,button.btn,.button,button[type="submit"],input[type="submit"],.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wc-forward,.search-submit):not(.bx-btn):hover{background:#8f0b21;border-color:#8f0b21;color:#fff;transform:translateY(-1px)}
.bx-inner :is(.button,.btn,button,input[type="submit"]):disabled,.bx-inner .button.disabled,.bx-inner .button:disabled[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.bx-inner .btn.ghost{background:transparent;border-color:var(--bx-bone);color:var(--bx-bone)}
.bx-inner .bx-btn.btn{border-radius:0;box-shadow:none}

/* ---------- forms ---------- */
.bx-inner label{color:var(--bx-bone)}
.bx-inner .form label,.bx-inner .woocommerce form .form-row label{font:600 14px/1.4 var(--bx-body);letter-spacing:.02em;color:var(--bx-bone)}
.bx-inner :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="image"]),select,textarea),
.bx-inner .woocommerce form .form-row :is(.input-text,select),
.bx-inner .select2-container--default .select2-selection--single{
  min-height:50px;padding:12px 14px;border:1px solid var(--bx-field-line);border-radius:0;background:var(--bx-field);color:var(--bx-bone);
  font:400 16px/1.4 var(--bx-body);box-shadow:none;transition:border-color .2s,box-shadow .2s}
.bx-inner textarea{min-height:150px}
.bx-inner ::placeholder{color:#9a958c;opacity:1}
.bx-inner :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea):hover{border-color:#8f8a82}
.bx-inner :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus,
.bx-inner .select2-container--focus .select2-selection--single,
.bx-inner .select2-container--open .select2-selection--single{outline:none;border-color:var(--bx-red-hi);box-shadow:0 0 0 3px rgba(255,84,104,.45)}
.bx-inner :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus-visible{outline:2px solid var(--bx-red-hi);outline-offset:2px}
.bx-inner select{appearance:none;-webkit-appearance:none;padding-right:44px;
  background:var(--bx-field) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23f2eee6' stroke-width='2'/%3E%3C/svg%3E") right 16px center/14px 9px no-repeat}
.bx-inner select option{background:#121212;color:var(--bx-bone)}
.bx-inner input[type="checkbox"],.bx-inner input[type="radio"]{accent-color:var(--bx-red);width:20px;height:20px}
.bx-inner .hint,.bx-inner .description{color:var(--muted);font-weight:400}
.bx-inner .notice{background:var(--bx-ink);border:1px solid var(--bx-line);border-left:4px solid var(--bx-red);border-radius:0;color:var(--bx-bone);padding:14px 18px}
.bx-inner .form{gap:18px}
/* select2 (Woo country/state) */
.bx-inner .select2-container--default .select2-selection--single{display:flex;align-items:center;height:auto;padding:0 14px}
.bx-inner .select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--bx-bone);line-height:1.4;padding:0}
.bx-inner .select2-container--default .select2-selection--single .select2-selection__arrow{height:100%;right:10px}
.bx-inner .select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:var(--bx-bone) transparent transparent}
.select2-dropdown{background:#121212!important;border-color:var(--bx-field-line)!important;border-radius:0!important;color:#f2eee6}
.select2-search--dropdown .select2-search__field{background:#0b0b0b!important;color:#f2eee6!important;border:1px solid #6b6b6b!important;min-height:44px}
.select2-results__option{color:#f2eee6}
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background:#c8102e!important;color:#fff!important}
.select2-container--default .select2-results__option[aria-selected="true"],.select2-container--default .select2-results__option[data-selected="true"]{background:#2a2a2a;color:#fff}

/* ---------- Fees ---------- */
.bx-inner .fees-page .fees-blocks{gap:20px}
.bx-inner .fees-page .fees-card h2{font-size:clamp(30px,3vw,40px);margin:0 0 6px}
.bx-inner .fees-page .fees-card .price{font-size:clamp(44px,4.4vw,60px)}
.bx-inner .fees-page .fees-card .muted{font-size:16px;color:var(--muted)}
.bx-inner .fees-page .join-steps{max-width:820px;margin-top:clamp(56px,7vw,88px)}
.bx-inner .fees-page .join-steps h2{font-size:clamp(40px,5vw,64px);margin-bottom:24px}
.bx-inner .fees-page .join-steps ol{gap:0;counter-reset:join;border-top:1px solid var(--bx-line)}
.bx-inner .fees-page .join-steps li{border:0;border-bottom:1px solid var(--bx-line);border-radius:0;background:transparent;padding:26px 0 26px 92px;min-height:96px}
.bx-inner .fees-page .join-steps li::before{content:counter(join,decimal-leading-zero);left:0;top:22px;width:auto;height:auto;border-radius:0;background:none;color:var(--bx-red);font:400 64px/1 var(--bx-display);display:block}
.bx-inner .fees-page .join-steps h3{font-size:clamp(26px,2.6vw,32px);margin:0 0 8px}
.bx-inner .fees-page .join-steps p{color:var(--bx-text)}
.bx-inner .fees-page .join-ask{color:var(--bx-text);max-width:820px}
.bx-inner .licence-form-link{color:var(--bx-bone);text-decoration-color:var(--bx-red);text-decoration-thickness:2px}

/* ---------- Contact ---------- */
.bx-inner .contact-layout .contact-split{gap:clamp(32px,5vw,72px)}
.bx-inner .contact-layout .find-us h2,.bx-inner .contact-layout .contact-ask h2{font-size:clamp(34px,3.6vw,48px)}
.bx-inner .contact-layout .find-us p{font-size:18px;color:var(--bx-text)}
.bx-inner .contact-layout .contact-map-embed{border-radius:0;border:1px solid var(--bx-line);filter:grayscale(.85) contrast(1.05)}
.bx-inner .contact-layout .contact-ask{background:var(--bx-ink);border:1px solid var(--bx-line);border-top:4px solid var(--bx-red);padding:clamp(24px,3vw,40px);align-self:start}
.bx-inner .contact-layout .contact-ask .form{max-width:none}
.bx-inner .contact-layout .form > .btn{width:100%}
.bx-inner .visit-social-icon{border-radius:0;border:1px solid var(--bx-field-line);color:var(--bx-bone);background:transparent}
.bx-inner .visit-social-icon:hover{border-color:var(--bx-red-hi);color:var(--bx-red-hi)}
.bx-inner .contact-layout .contact-wa-link{color:var(--bx-bone)}
.bx-inner .contact-layout .contact-reviews .kicker{display:none}

/* ---------- Beginners (course mode) ---------- */
.bx-inner .beginners-photo img,.bx-inner .week img{border-radius:0;filter:grayscale(1) contrast(1.1)}
.bx-inner .weeks .week{background:var(--bx-ink);border:1px solid var(--bx-line);padding:0 0 24px}
.bx-inner .weeks .week > :not(img){padding:0 22px}
.bx-inner .weeks .week img{margin-bottom:18px}
.bx-inner .week strong{color:var(--bx-red-hi);font:600 12px/1.3 var(--bx-body);letter-spacing:.2em}
.bx-inner .ask h3{font-size:26px}
.bx-inner .signup-block .card{border-top:4px solid var(--bx-red)}

/* ---------- WooCommerce ---------- */
.bx-woo .woocommerce-notices-wrapper:empty{display:none}
.bx-inner .woocommerce :is(.woocommerce-message,.woocommerce-info,.woocommerce-error),
.bx-inner :is(.woocommerce-message,.woocommerce-info,.woocommerce-error){background:var(--bx-ink);color:var(--bx-bone);border:1px solid var(--bx-line);border-top:3px solid var(--bx-red);border-radius:0;padding:18px 20px 18px 52px;margin:0 0 28px;list-style:none}
.bx-inner .woocommerce-message{border-top-color:#2fa86b}
.bx-inner :is(.woocommerce-message,.woocommerce-info,.woocommerce-error)::before{color:var(--bx-red-hi);top:18px;left:20px}
.bx-inner .woocommerce-message::before{color:#4fd18f}
.bx-inner :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) a:not(.button){color:var(--bx-bone);text-decoration:underline;text-decoration-color:var(--bx-red)}
.bx-inner :is(.woocommerce-message,.woocommerce-info) .button{float:right;min-height:40px;padding:0 16px;font-size:12px;margin-left:16px}
.bx-inner .woocommerce-result-count{color:var(--muted);font-size:14px;letter-spacing:.06em;margin:0 0 20px}
.bx-inner .woocommerce-ordering select{min-width:240px}
/* product grid */
.bx-inner.woocommerce ul.products,.bx-inner .woocommerce ul.products{gap:20px;margin-top:8px}
.bx-inner .woocommerce ul.products li.product,.bx-inner.woocommerce ul.products li.product,.bx-inner.woocommerce-page ul.products li.product{background:var(--bx-ink);border:1px solid var(--bx-line);border-radius:0;padding:0 0 22px;position:relative;transition:border-color .25s,transform .25s cubic-bezier(.2,.7,.2,1)}
.bx-inner.woocommerce-page ul.products li.product:hover{border-color:#444;transform:translateY(-3px)}
.bx-inner.woocommerce-page ul.products li.product::before{content:"";position:absolute;left:-1px;top:-1px;height:4px;width:0;background:var(--bx-red);z-index:2;transition:width .35s cubic-bezier(.7,0,.2,1)}
.bx-inner.woocommerce-page ul.products li.product:hover::before{width:calc(100% + 2px)}
.bx-inner.woocommerce-page ul.products li.product img{border-radius:0;margin:0 0 18px;background-color:#1a1a1a;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.bx-inner.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link{display:block;overflow:hidden}
.bx-inner.woocommerce-page ul.products li.product > :not(a.woocommerce-LoopProduct-link):not(.onsale),.bx-inner.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link > :not(img){margin-left:20px;margin-right:20px}
.bx-inner.woocommerce-page ul.products li.product .woocommerce-loop-product__title{font:400 clamp(24px,2.2vw,30px)/1 var(--bx-display);letter-spacing:.02em;text-transform:uppercase;color:var(--bx-bone);padding:0;margin-bottom:8px}
.bx-inner.woocommerce-page ul.products li.product .price{font:600 17px/1.3 var(--bx-body);color:var(--bx-bone);letter-spacing:0;margin:0 0 6px}
.bx-inner.woocommerce-page ul.products li.product .price del{color:var(--muted)}
.bx-inner.woocommerce-page ul.products li.product .button{margin-top:auto;align-self:stretch;margin-left:20px;margin-right:20px}
.bx-inner .woocommerce span.onsale,.bx-inner.woocommerce span.onsale{background:var(--bx-red);color:#fff;border-radius:0;min-height:0;min-width:0;padding:6px 10px;line-height:1;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:12px;top:12px;left:12px;right:auto;margin:0}
.bx-inner .woocommerce .star-rating,.bx-inner.woocommerce .star-rating{color:var(--gold)}
/* single product */
.bx-inner.single-product div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
.bx-inner.single-product div.product > :is(.woocommerce-product-gallery,.woo-variation-product-gallery,.images,.summary){width:auto!important;max-width:none!important;min-width:0!important;float:none!important;margin:0!important}
.bx-inner.single-product div.product > :not(.woocommerce-product-gallery):not(.woo-variation-product-gallery):not(.images):not(.summary):not(.onsale){grid-column:1/-1}
.bx-inner.single-product .woocommerce-product-gallery{background:#f2eee6;border:1px solid var(--bx-line);padding:clamp(14px,2.4vw,28px)}
.bx-inner.single-product .woocommerce-product-gallery img{border-radius:0}
.bx-inner.single-product .woocommerce-product-gallery__trigger{background:#0b0b0b!important;border-radius:0!important}
.bx-inner.single-product .flex-control-thumbs li img{opacity:.6;border:2px solid transparent}
.bx-inner.single-product .flex-control-thumbs li img.flex-active{opacity:1;border-color:var(--bx-red)}
.bx-inner.single-product div.product .summary > .price,.bx-inner.single-product div.product .woocommerce-variation-price .price{font:400 clamp(36px,3.4vw,48px)/1 var(--bx-display);letter-spacing:.01em;color:var(--bx-bone);margin:0 0 18px}
.bx-inner.single-product div.product .woocommerce-variation-price .price{font-size:clamp(28px,2.6vw,36px);margin:0 0 12px}
.bx-inner.single-product .woocommerce-product-details__short-description{color:var(--bx-text)}
.bx-inner.single-product div.product form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:24px 0}
.bx-inner.single-product div.product form.cart.variations_form{display:block}
.bx-inner.single-product div.product form.cart .variations{width:100%;margin-bottom:12px;border:0}
.bx-inner.single-product div.product form.cart .variations :is(th,td){display:block;padding:0 0 8px;text-align:left;border:0;background:none}
.bx-inner.single-product div.product form.cart .variations label{font:700 12px/1.3 var(--bx-body);letter-spacing:.16em;text-transform:uppercase;color:var(--bx-bone)}
.bx-inner.single-product .reset_variations{color:var(--bx-red-hi);font-size:14px}
.bx-inner.single-product .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.bx-inner .quantity .qty{width:88px;text-align:center}
.bx-inner.single-product div.product form.cart :is(.button,.single_add_to_cart_button){min-height:54px;padding:0 32px;flex:1 1 220px}
.bx-inner.single-product .product_meta{font-size:14px;color:var(--muted);border-top:1px solid var(--bx-line);padding-top:16px}
.bx-inner.single-product .product_meta a{color:var(--bx-bone)}
.bx-inner .woocommerce-tabs ul.tabs{padding:0!important;margin:0 0 24px!important;border-bottom:1px solid var(--bx-line);display:flex;flex-wrap:wrap;gap:4px}
.bx-inner .woocommerce-tabs ul.tabs::before,.bx-inner .woocommerce-tabs ul.tabs li::before,.bx-inner .woocommerce-tabs ul.tabs li::after{display:none!important}
.bx-inner .woocommerce-tabs ul.tabs li{background:transparent!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important}
.bx-inner .woocommerce-tabs ul.tabs li a{display:block;padding:14px 18px!important;font:700 13px/1 var(--bx-body)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)!important;border-bottom:3px solid transparent}
.bx-inner .woocommerce-tabs ul.tabs li.active a{color:var(--bx-bone)!important;border-bottom-color:var(--bx-red)}
.bx-inner .woocommerce-tabs .panel{color:var(--bx-text)}
.bx-inner .related.products > h2,.bx-inner .upsells.products > h2{font-size:clamp(34px,4vw,52px);margin:56px 0 20px}
/* variation swatches plugin: keep chips legible on dark */
.bx-inner .variable-items-wrapper .variable-item:not(.radio-variable-item){border-radius:0!important;box-shadow:0 0 0 1px #6b6b6b!important;background:#121212!important;color:var(--bx-bone)!important}
.bx-inner .variable-items-wrapper .variable-item:not(.radio-variable-item) .variable-item-span{color:var(--bx-bone)!important}
.bx-inner .variable-items-wrapper .variable-item:not(.radio-variable-item):hover{box-shadow:0 0 0 2px var(--bx-bone)!important}
.bx-inner .variable-items-wrapper .variable-item:not(.radio-variable-item).selected{box-shadow:0 0 0 2px var(--bx-red-hi)!important}
.bx-inner .variable-items-wrapper .color-variable-item{background:transparent!important}
/* cart + checkout tables */
.bx-inner .woocommerce table.shop_table{border:1px solid var(--bx-line);border-radius:0;border-collapse:collapse;background:var(--bx-ink)}
.bx-inner .woocommerce table.shop_table :is(th,td){border-top:1px solid var(--bx-line);color:var(--bx-text);padding:16px}
.bx-inner .woocommerce table.shop_table th{color:var(--bx-bone)}
.bx-inner .woocommerce table.shop_table td.product-name a{color:var(--bx-bone);font-weight:600}
.bx-inner .woocommerce table.shop_table img{width:72px;border-radius:0}
.bx-inner .woocommerce a.remove{color:var(--bx-red-hi)!important;border:1px solid currentColor;border-radius:0;width:32px;height:32px;line-height:28px;font-size:22px}
.bx-inner .woocommerce a.remove:hover{background:var(--bx-red)!important;color:#fff!important;border-color:var(--bx-red)}
.bx-inner .woocommerce table.cart td.actions .coupon{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.bx-inner .woocommerce table.cart td.actions .coupon .input-text{width:220px;min-height:50px;margin:0}
.bx-inner .woocommerce .cart-collaterals .cart_totals h2,.bx-inner .woocommerce-checkout h3,.bx-inner #order_review_heading{font-size:clamp(30px,3vw,40px);margin:0 0 16px}
.bx-inner .woocommerce .cart-collaterals .cart_totals{background:transparent}
.bx-inner .woocommerce .wc-proceed-to-checkout .checkout-button{width:100%;min-height:58px;font-size:15px}
.bx-inner .woocommerce .order-total :is(th,td){color:var(--bx-bone);font-size:18px}
/* checkout */
.bx-inner.woocommerce-checkout .woocommerce form .form-row{margin:0 0 18px;padding:0}
.bx-inner .woocommerce form .form-row .required{color:var(--bx-red-hi);text-decoration:none;border:0}
.bx-inner .woocommerce form .form-row.woocommerce-invalid :is(.input-text,select){border-color:var(--bx-red-hi)}
.bx-inner .woocommerce form .form-row.woocommerce-validated :is(.input-text,select){border-color:#4fd18f}
.bx-inner.woocommerce-checkout #customer_details{margin-bottom:40px}
.bx-inner .woocommerce-checkout #payment,.bx-inner.woocommerce-checkout #payment{background:var(--bx-ink);border:1px solid var(--bx-line);border-radius:0;color:var(--bx-text)}
.bx-inner.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--bx-line);padding:20px}
.bx-inner.woocommerce-checkout #payment ul.payment_methods li{color:var(--bx-bone);list-style:none}
.bx-inner.woocommerce-checkout #payment div.payment_box{background:var(--bx-ink2);color:var(--bx-text);border-radius:0}
.bx-inner.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--bx-ink2)}
.bx-inner.woocommerce-checkout #payment div.form-row{padding:20px}
.bx-inner.woocommerce-checkout #payment #place_order{width:100%;min-height:60px;font-size:16px;float:none}
.bx-inner .woocommerce-privacy-policy-text,.bx-inner .woocommerce-terms-and-conditions-wrapper{color:var(--muted);font-size:14px}
.bx-inner .woocommerce-privacy-policy-text a{color:var(--bx-bone)}
.bx-inner .woocommerce form.checkout_coupon,.bx-inner .woocommerce form.login,.bx-inner .woocommerce form.register{border:1px solid var(--bx-line);border-radius:0;background:var(--bx-ink);padding:clamp(20px,3vw,32px)}
/* my account */
.bx-inner .woocommerce-account .woocommerce,.bx-inner.woocommerce-account .woocommerce{display:block}
.bx-inner .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--bx-line)}
.bx-inner .woocommerce-MyAccount-navigation li a{display:block;padding:14px 16px;border-bottom:1px solid var(--bx-line);color:var(--bx-bone);text-decoration:none;font-weight:600}
.bx-inner .woocommerce-MyAccount-navigation li.is-active a{box-shadow:inset 4px 0 0 var(--bx-red);color:var(--bx-red-hi)}
.bx-inner .woocommerce-form-login .woocommerce-form-login__rememberme{display:flex;align-items:center;gap:10px;margin:0 0 16px}
.bx-inner .woocommerce .lost_password a{color:var(--bx-bone)}
.bx-inner .woocommerce #customer_login h2{font-size:clamp(32px,3.4vw,44px)}
@media (max-width:768px){
  .bx-inner.single-product div.product{grid-template-columns:minmax(0,1fr)}
  .bx-inner .woocommerce table.cart td.actions .coupon .input-text{width:100%}
  .bx-inner .woocommerce table.shop_table_responsive tr td{background:transparent!important}
  .bx-inner .woocommerce table.shop_table_responsive tr{border-bottom:1px solid var(--bx-line)}
  .bx-inner :is(.woocommerce-message,.woocommerce-info) .button{float:none;display:flex;margin:12px 0 0}
}

/* ---------- MyDojo (plugin views inside the theme shell) ---------- */
.bx-inner .bj-members.section{width:100%;max-width:calc(1280px + 2*var(--bx-g));margin:0 auto;padding:clamp(40px,6vw,80px) var(--bx-g) clamp(72px,9vw,120px)}

/* ---------- reviews feed in beginners ---------- */
.bx-inner .beginners-page .bj-reviews{margin-top:clamp(56px,7vw,88px)}

/* ---------- scroll reveals (inner pages; JS adds .bx-io) ---------- */
.bx-io .bx-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.bx-io .bx-reveal.bx-in{opacity:1;transform:none}
.bx-io .bx-stagger > .bx-reveal{transition-delay:calc(min(var(--i,0),8) * 80ms)}
@media (prefers-reduced-motion:reduce){
  .bx-io .bx-reveal{opacity:1!important;transform:none!important}
  .bx-ph__media img,.bx-ph__in > *{animation:none!important}
  .bx-inner .card,.bx-card,.bx-beltrail a,.bx-inner.woocommerce-page ul.products li.product{transition:none!important}
}

/* ---------- small screens ---------- */
@media (max-width:560px){
  .bx-inner main .bx-ph__title{font-size:clamp(2rem,0.6rem + 7vw,3.75rem)}
  .bx-inner main .bx-ph--long .bx-ph__title{font-size:clamp(1.75rem,0.5rem + 5.5vw,3rem)}
  .bx-ph{min-height:260px}
  .bx-ph--compact{min-height:200px}
  .bx-prose{font-size:17px}
  .bx-inner .fees-page .join-steps li{padding-left:64px}
  .bx-inner .fees-page .join-steps li::before{font-size:46px}
  .bx-inner .woocommerce-ordering select{min-width:0;width:100%}
}

/* v1.4.0 QA fixes */
.bx-inner .btn.bx-btn--red,.bx-inner button.bx-btn--red{background:var(--bx-red);border-color:transparent;color:#fff}
.bx-inner main .bx-postcard .bx-card__title a{text-decoration:none;color:var(--bx-bone)}
.bx-inner main .bx-postcard:hover .bx-card__title a{color:var(--bx-red-hi)}
.bx-inner .select2-container{width:100%!important}
.bx-inner .bj-members.section > .kicker:first-child{display:none}
@media (max-width:560px){
  .bx-crumbs li:last-child:not(:nth-child(2)){display:none}
  .bx-crumbs li:nth-last-child(2):not(:first-child)::after{content:""}
}
.bx-inner.single-product div.product > *{min-width:0}
.bx-inner .woo-variation-gallery-wrapper{min-width:0!important}

/* ---------- v1.4 loading motion ---------- */
/* image skeleton shimmer while loading, fade/de-blur in when ready (JS adds .bx-lz / .bx-lz-in) */
.bx-lz{background:linear-gradient(100deg,#141414 30%,#242424 50%,#141414 70%) 0 0/300% 100%!important;animation:bxShim 1.1s linear infinite}
.bx-lz-in{animation:bxImgIn .7s cubic-bezier(.2,.7,.2,1) both}
@keyframes bxShim{from{background-position:100% 0}to{background-position:0 0}}
@keyframes bxImgIn{from{opacity:0;filter:blur(10px)}to{opacity:1;filter:none}}
/* red curtain over framed photos (JS adds the .bx-cur span) */
.bx-curwrap{position:relative;overflow:hidden}
.bx-cur{position:absolute;inset:0;z-index:3;pointer-events:none;background:var(--bx-red);transform-origin:right center;transition:transform .8s cubic-bezier(.7,0,.2,1) .1s}
.bx-cur-go .bx-cur{transform:scaleX(0)}
/* embed placeholders shimmer until the player paints over them */
.bx-motion .bx-prose .wp-block-embed__wrapper{background:linear-gradient(100deg,#0f0f0f 30%,#1f1f1f 50%,#0f0f0f 70%) 0 0/300% 100%;animation:bxShim 1.4s linear 6}
/* table rows + Woo tables stagger in */
.bx-motion .bx-inner main table tbody tr{animation:bxRowIn .55s cubic-bezier(.2,.7,.2,1) both}
.bx-motion .bx-inner main table tbody tr:nth-child(2){animation-delay:.06s}
.bx-motion .bx-inner main table tbody tr:nth-child(3){animation-delay:.12s}
.bx-motion .bx-inner main table tbody tr:nth-child(4){animation-delay:.18s}
.bx-motion .bx-inner main table tbody tr:nth-child(5){animation-delay:.24s}
.bx-motion .bx-inner main table tbody tr:nth-child(n+6){animation-delay:.3s}
@keyframes bxRowIn{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
/* belt rail: each swatch fills in order */
.bx-io .bx-beltrail .bx-beltrail__sw{transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.7,0,.2,1);transition-delay:calc(.25s + var(--i,0) * 110ms)}
.bx-io .bx-beltrail li.bx-in .bx-beltrail__sw{transform:none}
.bx-io .bx-beltrail li.bx-reveal{transition-delay:calc(var(--i,0) * 70ms)}
@media (prefers-reduced-motion:reduce){
  .bx-lz,.bx-lz-in,.bx-motion .bx-prose .wp-block-embed__wrapper,.bx-motion .bx-inner main table tbody tr{animation:none!important}
  .bx-cur{display:none!important}
  .bx-io .bx-beltrail .bx-beltrail__sw{transform:none!important}
}

/* ---------- v1.4.3 product page: light image cards, size pills, tidy thumbs ---------- */
/* transparent product images (club logo placeholder) need a light card or the black lettering vanishes */
.bx-inner.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link img,.bx-inner .woocommerce ul.products li.product a img{background:#f2eee6!important;padding:clamp(10px,1.4vw,18px);box-sizing:border-box;aspect-ratio:1;object-fit:contain;width:100%;height:auto}
.bx-inner.single-product .woo-variation-gallery-slider-wrapper{background:#f2eee6;border:1px solid var(--bx-line);padding:clamp(14px,2.4vw,28px)}
.bx-inner.single-product .woo-variation-gallery-slider-wrapper img{background:transparent!important;object-fit:contain}
.bx-inner.single-product .woocommerce-product-gallery__trigger::before{border-color:var(--bx-bone)!important}
.bx-inner.single-product .woocommerce-product-gallery__trigger::after{background:var(--bx-bone)!important}
/* thumbnails: tidy row of light tiles; JS hides the row when every thumb image is missing */
.bx-inner.single-product .woo-variation-gallery-thumbnail-slider{margin:10px -5px 0!important;padding:0!important}
.bx-inner.single-product .woo-variation-gallery-thumbnail-slider .wvg-gallery-thumbnail-image{padding:0 5px!important;margin:0!important;opacity:1!important}
.bx-inner.single-product .wvg-gallery-thumbnail-image-container{display:block;background:#f2eee6;border:2px solid transparent;padding:4px;aspect-ratio:1;overflow:hidden;cursor:pointer;transition:border-color .2s}
.bx-inner.single-product .wvg-gallery-thumbnail-image-container img{width:100%!important;height:100%!important;object-fit:contain;opacity:.75;transition:opacity .2s}
.bx-inner.single-product .wvg-gallery-thumbnail-image.current-thumbnail .wvg-gallery-thumbnail-image-container,.bx-inner.single-product .wvg-gallery-thumbnail-image:hover .wvg-gallery-thumbnail-image-container{border-color:var(--bx-red)}
.bx-inner.single-product .wvg-gallery-thumbnail-image.current-thumbnail img{opacity:1}
.bx-inner.single-product .woo-variation-gallery-thumbnail-slider .slick-arrow{color:var(--bx-bone)!important;background:#0b0b0b!important}
.bx-nothumbs .woo-variation-gallery-thumbnail-slider,.bx-nothumbs .flex-control-thumbs{display:none!important}
.bx-inner.single-product .flex-control-thumbs{display:flex!important;gap:10px;margin-top:10px!important}
.bx-inner.single-product .flex-control-thumbs li{width:72px!important;float:none!important;background:#f2eee6;padding:4px}
/* price suffix: small and muted everywhere */
.bx-inner .woocommerce-price-suffix{font:600 12px/1 var(--bx-body)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-left:6px;vertical-align:middle;white-space:nowrap}
/* size selector: radio swatches — light labels on dark pills (plugin puts text directly in .variable-item-radio-value-wrapper) */
.bx-inner .variations .woo-selected-variation-item-name{font:600 13px/1 var(--bx-body);letter-spacing:.04em;text-transform:none;color:var(--bx-mute,#b9b4ab);margin-left:8px}
.bx-inner ul.radio-variable-items-wrapper{display:flex!important;flex-wrap:wrap;gap:8px;margin:6px 0 0!important;padding:0!important;list-style:none!important}
.bx-inner ul.radio-variable-items-wrapper li.variable-item{margin:0!important;padding:0!important;width:auto!important;height:auto!important;min-width:0!important;background:none!important;box-shadow:none!important;border:0!important;border-radius:0!important;list-style:none!important}
.bx-inner ul.radio-variable-items-wrapper li.variable-item::before,.bx-inner ul.radio-variable-items-wrapper li.variable-item::after{display:none!important}
.bx-inner ul.radio-variable-items-wrapper .variable-item-contents{display:block!important;width:auto!important;height:auto!important}
.bx-inner.single-product div.product form.cart .variations label.variable-item-radio-input-wrapper{position:relative;display:inline-flex!important;flex-direction:row;align-items:center;justify-content:center;gap:0;min-width:52px;min-height:48px;margin:0!important;padding:10px 14px;box-sizing:border-box;border:2px solid #8a8a8a;background:#1a1a1a;cursor:pointer;font:700 15px/1 var(--bx-body)!important;letter-spacing:.06em;text-transform:uppercase;color:#f2eee6!important;line-height:1;transition:border-color .15s,background-color .15s,color .15s}
.bx-inner .variable-item-radio-input-wrapper input.variable-item-radio-input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;margin:0!important;pointer-events:none}
.bx-inner .variable-item-radio-value-wrapper{display:inline!important;font:inherit!important;letter-spacing:inherit;text-transform:inherit;color:#f2eee6!important;font-size:15px!important;line-height:1!important}
.bx-inner .variable-item-radio-value-wrapper img{display:none!important}
.bx-inner .variable-item-radio-value-wrapper .variable-item-radio-value{font:inherit!important;color:#f2eee6!important}
.bx-inner .variable-item-radio-value-wrapper .price{display:none!important}
.bx-inner li.radio-variable-item:hover label.variable-item-radio-input-wrapper{border-color:#f2eee6;color:#fff!important}
.bx-inner li.radio-variable-item:is(.selected,[aria-checked="true"]) label.variable-item-radio-input-wrapper{border-color:var(--bx-red)!important;background:var(--bx-red)!important;color:#fff!important;box-shadow:none}
.bx-inner li.radio-variable-item:is(.selected,[aria-checked="true"]) .variable-item-radio-value-wrapper{color:#fff!important}
.bx-inner li.radio-variable-item:focus-visible{outline:none!important}
.bx-inner li.radio-variable-item:focus-visible label.variable-item-radio-input-wrapper{outline:2px solid #f2eee6;outline-offset:2px}
.bx-inner li.radio-variable-item:is(.disabled,.out-of-stock) label.variable-item-radio-input-wrapper{opacity:.45;cursor:not-allowed}
.bx-inner li.radio-variable-item:is(.disabled,.out-of-stock) .variable-item-radio-value-wrapper{text-decoration:line-through}

/* colour swatches: visible outline + selected ring + name via title/tooltip */
.bx-inner ul.color-variable-items-wrapper{display:flex!important;flex-wrap:wrap;gap:10px;margin:6px 0 0!important;padding:0!important;list-style:none!important}
.bx-inner ul.color-variable-items-wrapper li.variable-item{margin:0!important;padding:0!important;width:auto!important;height:auto!important;background:none!important;border:0!important;box-shadow:none!important;list-style:none!important}
.bx-inner ul.color-variable-items-wrapper .variable-item-contents{display:block;padding:0}
.bx-inner .variable-item-span-color{display:block!important;width:40px!important;height:40px!important;border-radius:50%!important;border:2px solid #cfcac1!important;box-shadow:0 0 0 1px #0b0b0b!important;box-sizing:border-box;cursor:pointer;transition:box-shadow .15s,border-color .15s,transform .15s}
.bx-inner li.color-variable-item:hover .variable-item-span-color{border-color:#fff!important;transform:scale(1.06)}
.bx-inner li.color-variable-item:is(.selected,[aria-checked="true"]) .variable-item-span-color{border-color:var(--bx-red)!important;box-shadow:0 0 0 2px #0b0b0b,0 0 0 4px var(--bx-red)!important}
.bx-inner li.color-variable-item:focus-visible{outline:none!important}
.bx-inner li.color-variable-item:focus-visible .variable-item-span-color{outline:2px solid #f2eee6;outline-offset:3px}
/* ensure WVS tooltip / title readable */
.bx-inner .wvs-has-image-tooltip,.bx-inner [data-wvstooltip]:before,.bx-inner [data-wvstooltip]:after{z-index:20}

/* Add to basket: readable even when Woo marks disabled / wc-variation-selection-needed */
.bx-inner.single-product div.product form.cart :is(.button,.single_add_to_cart_button){
  background:var(--bx-red)!important;color:#fff!important;border:2px solid var(--bx-red)!important;
  font:700 15px/1.2 var(--bx-body)!important;letter-spacing:.06em;text-transform:uppercase;
  min-height:54px;opacity:1!important;filter:none!important
}
.bx-inner.single-product div.product form.cart :is(.button,.single_add_to_cart_button):hover{
  background:#e01830!important;border-color:#e01830!important;color:#fff!important
}
.bx-inner.single-product div.product form.cart :is(.button,.single_add_to_cart_button):disabled,
.bx-inner.single-product div.product form.cart :is(.button,.single_add_to_cart_button).disabled,
.bx-inner.single-product div.product form.cart :is(.button,.single_add_to_cart_button).wc-variation-is-unavailable,
.bx-inner.single-product div.product form.cart :is(.button,.single_add_to_cart_button).wc-variation-selection-needed{
  background:#3a151a!important;border-color:#c8102e!important;color:#f2eee6!important;opacity:1!important;cursor:not-allowed
}
.bx-inner.single-product .woocommerce-variation-add-to-cart{position:relative}
.bx-inner.single-product .woocommerce-variation-add-to-cart.woocommerce-variation-add-to-cart-disabled::after,
.bx-inner.single-product form.variations_form:not(.bj-vars-ready) .single_variation_wrap .woocommerce-variation-add-to-cart::after{
  content:"Choose size";position:absolute;left:0;right:0;bottom:calc(100% + 6px);font:600 12px/1.2 var(--bx-body);letter-spacing:.1em;text-transform:uppercase;color:#ffb4bc;pointer-events:none
}
.bx-inner.single-product form.variations_form.bj-vars-ready .woocommerce-variation-add-to-cart::after{content:none!important}

/* Hide empty / N/A SKU */
.bx-inner.single-product .product_meta .sku_wrapper:has(.sku:empty),
.bx-inner.single-product .product_meta .sku_wrapper:has(.sku){ }
.bj-hide-sku .product_meta .sku_wrapper{display:none!important}

/* Size Guide spacing */
.bx-inner.single-product .single_variation_wrap > a[onclick*="Size_Guide"],
.bx-inner.single-product a[onclick*="SizeGuide"],
.bx-inner.single-product a[onclick*="Size_Guide"]{display:inline-block;margin:12px 0 16px;font:600 13px/1.3 var(--bx-body);letter-spacing:.08em;text-transform:uppercase;color:var(--bx-red-hi)!important;text-decoration:underline;text-underline-offset:3px}

/* never show Excluding VAT even if option reappears */
.bx-inner .woocommerce-price-suffix{display:none!important}
/* quantity + add to cart sit on one row, same height */
.bx-inner.single-product div.product form.cart .quantity{margin:0!important}
.bx-inner.single-product div.product form.cart .quantity .qty{box-sizing:border-box;height:54px;min-height:54px;font:600 16px/1 var(--bx-body);padding:0 8px;border:1px solid var(--bx-field-line);background:var(--bx-field);color:var(--bx-bone);line-height:52px}
.bx-inner.single-product .woocommerce-variation-availability,.bx-inner.single-product .stock{font-size:14px;color:var(--muted)}
.bx-inner.single-product .reset_variations{display:inline-block;margin-top:10px}
.bx-inner ul.radio-variable-items-wrapper{flex-direction:row!important;align-items:stretch!important;justify-content:flex-start!important}
.bx-inner.single-product div.product form.cart .quantity{flex:0 0 auto!important;width:auto!important}
.bx-inner.single-product div.product form.cart .quantity .qty{width:88px!important;min-width:0}
.bx-inner.single-product div.product .woocommerce-variation-add-to-cart{flex-wrap:nowrap}
.bx-inner.single-product div.product form.cart :is(.button,.single_add_to_cart_button){flex:1 1 auto;min-width:0}

/* Fees cards: equal height + CTA pinned to bottom */
.bx-inner .fees-page .fees-card{display:flex;flex-direction:column;height:100%}
.bx-inner .fees-page .fees-card__cta{margin-top:auto;padding-top:1.25rem}
.bx-inner .fees-page .fees-card__cta .bj-dropin-pay,
.bx-inner .fees-page .fees-card__cta p{margin:0}
.bx-inner .fees-page .fees-card__cta .bx-btn{width:100%;box-sizing:border-box}
/* Welcome + member form side by side */
.bx-inner .fees-page .fees-bottom{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,40px);align-items:start;margin:clamp(48px,7vw,88px) 0 2rem}
.bx-inner .fees-page .fees-bottom__welcome{max-width:none;margin:0;padding:0}
.bx-inner .fees-page .fees-bottom__welcome h2{margin-top:0}
.bx-inner .fees-page .fees-bottom__form .bjclm-member{max-width:none;margin:0;padding:0}
.bx-inner .fees-page .fees-bottom__form .bjclm-member .card{margin:0}
@media (max-width:900px){
  .bx-inner .fees-page .fees-bottom{grid-template-columns:1fr}
}


/* ---------- Shop home: compact category strip + per-category products ---------- */
.bx-shop-cats{list-style:none;margin:0 0 clamp(40px,5vw,64px);padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.bx-shop-cats li{margin:0!important;padding:0!important;background:var(--bx-ink);border:1px solid var(--bx-line);border-radius:0;float:none!important;width:auto!important;max-width:none!important}
.bx-shop-cats li::before{display:none!important}
.bx-shop-cats a{display:flex;flex-direction:column;text-decoration:none;color:var(--bx-bone);height:100%}
.bx-shop-cats img{width:100%;aspect-ratio:1;object-fit:cover;margin:0!important;border-radius:0;background:#1a1a1a;display:block}
.bx-shop-cats .woocommerce-loop-category__title{font:400 15px/1.15 var(--bx-display);letter-spacing:.04em;text-transform:uppercase;margin:0;padding:10px 10px 12px;color:var(--bx-bone)}
.bx-shop-cats .count{display:none}
.bx-shop-sec{margin:0 0 clamp(48px,6vw,80px)}
.bx-shop-sec__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 16px;flex-wrap:wrap}
.bx-shop-sec__head h2{font:400 clamp(28px,3vw,40px)/1 var(--bx-display);text-transform:uppercase;letter-spacing:.02em;margin:0;color:var(--bx-bone)}
.bx-shop-sec__all{font:600 13px/1.2 var(--bx-body);letter-spacing:.14em;text-transform:uppercase;color:var(--bx-red-hi);text-decoration:none;border-bottom:1px solid transparent}
.bx-shop-sec__all:hover{border-bottom-color:var(--bx-red-hi)}
.bx-shop-sec ul.products{margin-top:0!important}
.bx-inner .woocommerce ul.products li.product a img[src*="logo-mark"],
.bx-inner .woocommerce ul.products li.product a img[src*="placeholder"],
.bx-shop-cats img[src*="logo-mark"]{display:none!important}
@media (max-width:1100px){.bx-shop-cats{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:720px){.bx-shop-cats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bx-shop-cats .woocommerce-loop-category__title{font-size:14px;padding:8px}}

body.post-type-archive-product.woocommerce-shop .woocommerce-result-count,
body.post-type-archive-product.woocommerce-shop .woocommerce-ordering{display:none!important}
.bx-shop-home .bx-shop-cats li.product{padding:0!important;transform:none!important}
.bx-shop-home .bx-shop-cats li.product:hover{transform:none!important;border-color:#444}
.bx-shop-home .bx-shop-cats li.product::before{display:none!important}


/* MyDojo / members: keep hero short so account box is above the fold */
body.bj-members .bx-ph,
body.bj-members-route .bx-ph{min-height:clamp(160px,22vh,220px)!important}
body.bj-members .bx-inner .bx-wrap.bx-ph__in,
body.bj-members-route .bx-inner .bx-wrap.bx-ph__in{padding-top:clamp(40px,6vw,64px)!important;padding-bottom:clamp(20px,3vw,32px)!important}
body.bj-members .bx-ph__title,
body.bj-members-route .bx-ph__title{font-size:clamp(2rem,4vw,3.25rem)!important}

/* Club rules (beginners) — number | content; 2-col rules on desktop */
.bj-club-rules{margin:clamp(40px,6vw,72px) auto;padding:clamp(24px,4vw,40px);border:1px solid var(--bx-line);background:var(--bx-ink);position:relative;max-width:1100px;box-sizing:border-box}
.bj-club-rules::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--bx-red)}
.bj-club-rules .kicker{margin:0 0 8px;color:var(--bx-red-hi);font:700 12px/1.3 var(--bx-body);letter-spacing:.18em;text-transform:uppercase}
.bj-club-rules h2{margin:0 0 12px;font:400 clamp(32px,4vw,48px)/1 var(--bx-display);letter-spacing:.02em;text-transform:uppercase;color:var(--bx-bone)}
.bj-club-rules__intro{margin:0 0 22px;max-width:52ch}
.bj-club-rules__list{margin:0;padding:0;list-style:none;display:grid;gap:18px 28px;grid-template-columns:1fr;counter-reset:bjcr}
@media (min-width:900px){.bj-club-rules__list{grid-template-columns:1fr 1fr}}
.bj-club-rules__list li{counter-increment:bjcr;display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:12px;align-items:start;min-width:0}
.bj-club-rules__list li::before{content:counter(bjcr, decimal-leading-zero);font:700 13px/1.2 var(--bx-body);letter-spacing:.08em;color:var(--bx-red-hi);padding-top:.35em;grid-column:1;grid-row:1}
.bj-club-rules__content{grid-column:2;grid-row:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.bj-club-rules__label{display:block;font:700 16px/1.3 var(--bx-body);color:#fff;letter-spacing:.01em}
.bj-club-rules__body{margin:0;font-size:16px;line-height:1.55;color:var(--bx-bone);max-width:none;width:100%}
.bj-club-rules-link{margin:28px 0 8px;font:600 15px/1.4 var(--bx-body)}
.bj-club-rules-link a{color:var(--bx-bone);text-decoration:none;border-bottom:2px solid var(--bx-red);padding-bottom:2px}
.bj-club-rules-link a:hover{color:#fff}
.bj-licence-note{margin:18px 0 14px;font-size:15px;line-height:1.5}
.bj-licence-note a{color:var(--bx-bone);border-bottom:2px solid var(--bx-red);text-decoration:none}
.bj-licence-note a:hover{color:#fff}
.signup-block .waiver{display:none!important}
/* Beginners — two course date cards */
.bj-course-dates{margin:clamp(36px,5vw,64px) 0;padding:clamp(22px,3vw,36px);border:1px solid var(--bx-line);background:var(--bx-ink);position:relative;max-width:1100px}
.bj-course-dates::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--bx-red)}
.bj-course-dates .kicker{margin:0 0 8px;color:var(--bx-red-hi);font:700 12px/1.3 var(--bx-body);letter-spacing:.18em;text-transform:uppercase}
.bj-course-dates h2{margin:0 0 12px;font:400 clamp(28px,3.5vw,42px)/1 var(--bx-display);letter-spacing:.02em;text-transform:uppercase;color:var(--bx-bone)}
.bj-course-dates__list{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:720px){.bj-course-dates__list{grid-template-columns:1fr 1fr;gap:18px}}
.bj-course-dates__list li{display:flex;flex-direction:column;gap:6px;padding:18px 20px;border:1px solid var(--bx-line);background:#121212}
.bj-course-dates__list li strong{font:700 12px/1.3 var(--bx-body);letter-spacing:.14em;text-transform:uppercase;color:var(--bx-red-hi)}
.bj-course-dates__list li span:nth-child(2){font:400 clamp(20px,2.2vw,26px)/1.15 var(--bx-display);letter-spacing:.02em;text-transform:uppercase;color:#fff}


/* v1.4.38 — admin bar must keep WP defaults (not theme red SEARCH / black fields) */
body.admin-bar #wpadminbar :is(input,button,textarea,select,.button,.search-submit){
  all:revert;
}

/* 404 hero */
.bx-ph--404{min-height:280px}
.bx-404__lede{max-width:36rem;margin:.75rem 0 0;color:var(--bx-bone,#f2eee6);font:400 1.05rem/1.45 var(--bx-body,system-ui,sans-serif);opacity:.92}
.bx-404{padding:2rem 0 3rem}
.bx-404__links{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 1.5rem}
.bx-404__search{display:flex;flex-wrap:wrap;gap:10px;max-width:32rem;align-items:center}
.bx-404__search .search-field{flex:1 1 12rem;min-height:50px;font-size:16px}
