/* Shared GymioSport design tokens and components. No WordPress dependencies. */
html{scroll-behavior:smooth}
.slider-arrow{position:absolute;top:50%;translate:0 -50%;z-index:2;display:grid;place-items:center;border:0;border-radius:50%;width:44px;height:44px;padding:0;background:rgb(145 145 145 / .45);color:var(--gymio-on-dark);cursor:pointer}
.slider-arrow svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.slider-prev{left:8px}.slider-next{right:8px}.slider-arrow:hover{background:rgb(190 190 190 / .7)}.slider-arrow:disabled{opacity:.35;cursor:default}
@media(max-width:599px){.slider-arrow{width:36px;height:36px}}
@font-face{font-family:Outfit;src:url('/assets/original/d59fbd511a77cf3609beb7d9.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Outfit;src:url('/assets/original/18753effb65cec42f00f8e23.woff2') format('woff2');font-weight:600;font-display:swap}
:root{
 --gymio-primary:#84c639;
 --gymio-primary-hover:#69a821;
 --gymio-favourite:#e53935;
 --gymio-danger:#e53935;
 --gymio-danger-hover:#c62828;
 --gymio-text:#424242;
 --gymio-muted:#666;
 --gymio-background:#fff;
 --gymio-surface:#f6f6f6;
 --gymio-field-active:#edf6e3;
 --gymio-border:#ddd;
 --gymio-dark:#424242;
 --gymio-on-dark:#fff;
 --gymio-font:Outfit,Arial,sans-serif;
 --gymio-content-width:1300px;
 --gymio-gutter:40px;
 --gymio-section-space:40px;
 --gymio-radius:20px;
 --gymio-pill:999px;
 --gymio-space-1:8px;
 --gymio-space-2:16px;
 --gymio-space-3:24px;
 --gymio-space-4:40px;
}
.gymio-ui{margin:0;font:16px/1.5 var(--gymio-font);color:var(--gymio-text);background:var(--gymio-background)}
/* Short pages fill the viewport, including the fixed-header offset and footer. */
body.gymio-ui{box-sizing:border-box;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
body.gymio-ui>main{flex:1 0 auto}
body.gymio-ui>.site-footer{flex-shrink:0}
.gymio-ui *{box-sizing:border-box}
.gymio-ui .g-price{color:var(--gymio-primary)}
.gymio-ui img{display:block;max-width:100%;height:auto}
.gymio-ui a{color:var(--gymio-primary);text-decoration:none}
.gymio-ui a:hover{color:var(--gymio-primary-hover);text-decoration:none}
/* Header/footer keep the bright brand green, including legacy page styles. */
.site-header,.site-footer{--gymio-primary-hover:var(--gymio-primary)}
:is(.gymio-ui,.gymio-local) :is(.site-header,.site-footer) a{color:var(--gymio-on-dark)!important}
:is(.gymio-ui,.gymio-local) :is(.site-header,.site-footer) a:is(:hover,:focus-visible),
:is(.gymio-ui,.gymio-local) .site-header summary:is(:hover,:focus-visible){color:var(--gymio-primary)!important}
.gymio-ui button,.gymio-ui input,.gymio-ui textarea,.gymio-ui select{font:inherit}
.gymio-ui button,.gymio-ui summary{cursor:pointer}
.gymio-ui [hidden]{display:none!important}
.gymio-ui :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid var(--gymio-primary-hover);outline-offset:4px}
.g-container{width:100%;max-width:var(--gymio-content-width);margin-inline:auto;padding-inline:var(--gymio-gutter)}
.g-section{padding-block:var(--gymio-section-space)}
.gymio-ui .g-button{display:inline-flex;justify-content:center;align-items:center;gap:var(--gymio-space-1);align-self:center;padding:10px 25px;border:1px solid transparent;border-radius:var(--gymio-pill);background:var(--gymio-dark);color:var(--gymio-on-dark);font-weight:600;line-height:1.5;text-decoration:none;cursor:pointer}
.gymio-ui .g-button:hover{background:var(--gymio-primary);color:var(--gymio-on-dark)}
.gymio-ui .g-button--outline{border-color:var(--gymio-primary-hover);background:transparent}
.gymio-ui .g-button--outline:hover{background:var(--gymio-surface)}
.gymio-ui .g-button:disabled{opacity:.55;cursor:not-allowed}
:is(.gymio-ui,.gymio-local) :is(button,summary).g-danger{color:var(--gymio-danger)}
:is(.gymio-ui,.gymio-local) :is(button,summary).g-danger:not(:disabled):is(:hover,:focus-visible){color:var(--gymio-danger-hover)}
:is(.gymio-ui,.gymio-local) button.g-button.g-danger{background:var(--gymio-danger);border-color:var(--gymio-danger);color:var(--gymio-on-dark)}
:is(.gymio-ui,.gymio-local) button.g-button.g-danger:not(:disabled):is(:hover,:focus-visible){background:var(--gymio-danger-hover);border-color:var(--gymio-danger-hover);color:var(--gymio-on-dark)}
.gymio-ui .g-link{color:var(--gymio-primary);text-decoration:none}
.gymio-ui .g-link:hover{color:var(--gymio-primary-hover)}
/* Compatibility while remaining reference pages are rebuilt. */
.gymio-local :is(.buttonStandard,.local-add,.local-product-link,.ct-link-button){background:var(--gymio-dark)!important;color:var(--gymio-on-dark)!important;border-color:transparent!important;box-shadow:none!important;transform:none!important;transition:none!important}
.gymio-local :is(.buttonStandard,.local-add,.local-product-link,.ct-link-button):hover{background:var(--gymio-primary)!important;color:var(--gymio-on-dark)!important}
.gymio-local a:not(:has(img,svg)):not(.site-header a,.site-footer a,.buttonStandard,.local-product-link,.ct-link-button,.brand,.footer-logo,.basket-link){color:var(--gymio-primary)!important;text-decoration:none!important;box-shadow:none!important;transform:none!important;transition:none!important}
.gymio-local a:not(:has(img,svg)):not(.site-header a,.site-footer a,.buttonStandard,.local-product-link,.ct-link-button,.brand,.footer-logo,.basket-link):hover{color:var(--gymio-primary-hover)!important;text-decoration:none!important}
.g-title{font-weight:400;line-height:1.15;margin:0 0 var(--gymio-space-3);font-size:clamp(30px,4vw,48px)}
.g-heading{font-weight:400;line-height:1.2;margin:0 0 var(--gymio-space-2);font-size:clamp(24px,3vw,32px)}
.g-text{font-size:16px;line-height:1.6}.g-muted{color:var(--gymio-muted);font-size:14px}
/* Content titles remain dark even when their enclosing card is a link. */
:is(.gymio-ui,.gymio-local) :is(main,#local-content) :is(h1,h2,h3,h4,h5,h6,.g-title,.g-heading):not(.g-price,.g-muted),
:is(.gymio-ui,.gymio-local) :is(main,#local-content) :is(h1,h2,h3,h4,h5,h6,.g-title,.g-heading) :not(.g-price,.g-muted){color:var(--gymio-text)!important}
:is(.gymio-ui,.gymio-local) :is(main,#local-content) a:is(:hover,:focus-visible) :is(h1,h2,h3,h4,h5,h6,.g-title,.g-heading),
:is(.gymio-ui,.gymio-local) :is(main,#local-content) a:is(:hover,:focus-visible) :is(h1,h2,h3,h4,h5,h6,.g-title,.g-heading) *,
:is(.gymio-ui,.gymio-local) :is(main,#local-content) :is(h1,h2,h3,h4,h5,h6,.g-title,.g-heading) a:is(:hover,:focus-visible),
:is(.gymio-ui,.gymio-local) :is(main,#local-content) :is(h1,h2,h3,h4,h5,h6,.g-title,.g-heading) a:is(:hover,:focus-visible) *{color:var(--gymio-primary)!important}
.gymio-local :is(.gymio-price-history,.wc-price-history-shortcode),.gymio-local :is(.gymio-price-history,.wc-price-history-shortcode) *{color:var(--gymio-muted)!important}
/* Cards and slides activate their title and action together, on every page. */
.g-slider .slider-slide:is(:hover,:focus-within) .review-more{color:var(--gymio-primary)}
.product-card:is(:hover,:focus-within){--product-button-color:var(--gymio-primary)}
/* Keep button dimensions stable when the card is hovered or focused. */
.gymio-ui .product-card>.g-button{padding-inline:var(--product-button-padding,25px);background:var(--product-button-color,var(--gymio-dark));transition:padding-inline .2s ease,background-color .2s ease}
:is(.gymio-ui,.gymio-local) :is(main,#local-content) :is(.product-card,.slider-slide,.hoverButton:has(.title_category)):is(:hover,:focus-within) :is(h1,h2,h3,.title_category),
:is(.gymio-ui,.gymio-local) :is(main,#local-content) :is(.product-card,.slider-slide,.hoverButton:has(.title_category)):is(:hover,:focus-within) :is(h1,h2,h3,.title_category) *{color:var(--gymio-primary)!important}
:is(.gymio-ui,.gymio-local) :is(main,#local-content) :is(.product-card,.slider-slide,.hoverButton:has(.title_category)):is(:hover,:focus-within) :is(.g-button,.hero-link,.buttonStandard,.ct-link-button,.local-product-link){background:var(--gymio-primary)!important;color:var(--gymio-on-dark)!important}
@media(prefers-reduced-motion:reduce){.gymio-ui .product-card>.g-button{transition:none}}
/* Regular weight throughout the site; headings retain their own typography. */
:is(.gymio-ui,.gymio-local) :not(h1,h2,h3,h4,h5,h6,h1 *,h2 *,h3 *,h4 *,h5 *,h6 *,.g-title,.g-title *,.g-heading,.g-heading *){font-weight:400!important}
@media(max-width:1000px){:root{--gymio-gutter:20px}}
@media(max-width:600px){:root{--gymio-gutter:15px;--gymio-section-space:25px}}
@media(prefers-reduced-motion:reduce){html,.gymio-ui *,.gymio-local *{scroll-behavior:auto!important}}
