/* 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:32px;
 --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);overflow-wrap:anywhere}
/* 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)}
/* Shared single-choice controls; native semantics, validation and events stay intact. */
:is(.gymio-ui,.gymio-local) select:not([multiple]):not([hidden]):is(:not([size]),[size="1"]){
 appearance:none;max-width:100%;min-height:40px;border:1px solid transparent;border-radius:var(--gymio-radius);
 padding:10px 42px 10px 16px;font:inherit;color:var(--gymio-text);cursor:pointer;
 background:var(--gymio-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23424242' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 16px center/16px no-repeat;
}
:is(.gymio-ui,.gymio-local) select:not([multiple]):not([hidden]):is(:not([size]),[size="1"]):is(:hover,:focus){background-color:var(--gymio-field-active)}
:is(.gymio-ui,.gymio-local) select:not([multiple]):not([hidden]):is(:not([size]),[size="1"]):focus-visible{outline:2px solid var(--gymio-primary);outline-offset:2px;box-shadow:none}
:is(.gymio-ui,.gymio-local) select:not([multiple]):not([hidden]):is(:not([size]),[size="1"]):disabled{opacity:.55;cursor:not-allowed;background-color:var(--gymio-surface)}
@supports (appearance:base-select) and selector(::picker(select)){
 :is(.gymio-ui,.gymio-local) select:not([multiple]):not([hidden]):is(:not([size]),[size="1"]){appearance:base-select;display:inline-flex;align-items:center;justify-content:space-between;text-align:start;vertical-align:middle;background-image:none;padding-right:16px;gap:16px}
 :is(.gymio-ui,.gymio-local) select:not([multiple]):is(:not([size]),[size="1"])::picker(select){
  appearance:base-select;font:400 15px/1.5 var(--gymio-font);color:var(--gymio-text);background:var(--gymio-background);
  border:1px solid var(--gymio-border);border-radius:var(--gymio-radius);padding:6px;margin-block:6px;
  box-shadow:0 10px 30px rgb(0 0 0 / .12);max-height:min(360px,60vh);max-height:min(360px,60dvh);overflow:auto;
 }
 :is(.gymio-ui,.gymio-local) select::picker-icon{content:"";width:8px;height:8px;flex:none;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;rotate:45deg;translate:0 -2px;margin-inline-start:auto}
 :is(.gymio-ui,.gymio-local) select:open::picker-icon{rotate:225deg;translate:0 2px}
 :is(.gymio-ui,.gymio-local) select:not([multiple]):is(:not([size]),[size="1"]) option{padding:10px 14px;border:0;border-radius:14px;white-space:normal;overflow-wrap:anywhere;cursor:pointer;gap:10px}
 :is(.gymio-ui,.gymio-local) select option:is(:hover,:focus){background:var(--gymio-field-active);color:var(--gymio-text);outline:none}
 :is(.gymio-ui,.gymio-local) select option:checked{background:var(--gymio-primary);color:var(--gymio-text)}
 :is(.gymio-ui,.gymio-local) select option:disabled{color:var(--gymio-muted);background:var(--gymio-surface);cursor:not-allowed}
}
@media(forced-colors:active){:is(.gymio-ui,.gymio-local) select:not([multiple]):not([hidden]):is(:not([size]),[size="1"]){appearance:auto;background-image:none;border:1px solid ButtonText}}
.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);background:var(--gymio-background);color:var(--gymio-text)}
.gymio-ui .g-button--outline:is(:hover,:focus-visible){background:var(--gymio-primary);border-color:var(--gymio-primary);color:var(--gymio-on-dark)}
.g-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.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:24px}}
@media(prefers-reduced-motion:reduce){html,.gymio-ui *,.gymio-local *{scroll-behavior:auto!important}}

/* Shared form fields. Keep component widths and special controls intact. */
:is(.gymio-ui,.gymio-local) :is(main,dialog,#local-content) :is(input:where(:not([type]),[type=text],[type=search],[type=password],[type=email],[type=tel],[type=url],[type=number],[type=date],[type=time],[type=datetime-local],[type=month],[type=week]),textarea){box-sizing:border-box;max-width:100%;min-width:0;border:0;border-radius:12px;padding:13px 15px;background:var(--gymio-surface);color:var(--gymio-text);font:inherit;box-shadow:none;transition:background-color .15s ease,box-shadow .15s ease}
:is(.gymio-ui,.gymio-local) :is(main,dialog,#local-content) :is(input:where(:not([type]),[type=text],[type=search],[type=password],[type=email],[type=tel],[type=url],[type=number],[type=date],[type=time],[type=datetime-local],[type=month],[type=week]),textarea):focus{outline:none;background:var(--gymio-field-active);box-shadow:inset 0 -3px var(--gymio-primary)}
:is(.gymio-ui,.gymio-local) :is(main,dialog,#local-content) select:focus{outline:none;background-color:var(--warranty-colour,var(--gymio-field-active));box-shadow:inset 0 -3px var(--gymio-primary)}
:is(.gymio-ui,.gymio-local) :is(main,dialog,#local-content) :is(:is(input:where(:not([type]),[type=text],[type=search],[type=password],[type=email],[type=tel],[type=url],[type=number],[type=date],[type=time],[type=datetime-local],[type=month],[type=week]),textarea),select)[aria-invalid=true]{box-shadow:inset 3px 0 var(--gymio-danger)}
:is(.gymio-ui,.gymio-local) :is(main,dialog,#local-content) :is(:is(input:where(:not([type]),[type=text],[type=search],[type=password],[type=email],[type=tel],[type=url],[type=number],[type=date],[type=time],[type=datetime-local],[type=month],[type=week]),textarea),select)[aria-invalid=true]:focus{box-shadow:inset 3px 0 var(--gymio-danger),inset 0 -3px var(--gymio-primary)}
:is(.gymio-ui,.gymio-local) :is(main,dialog,#local-content) :is(input:where(:not([type]),[type=text],[type=search],[type=password],[type=email],[type=tel],[type=url],[type=number],[type=date],[type=time],[type=datetime-local],[type=month],[type=week]),textarea):disabled{opacity:.65;cursor:not-allowed}
@media(prefers-reduced-motion:reduce){:is(.gymio-ui,.gymio-local) :is(main,dialog,#local-content) :is(input:where(:not([type]),[type=text],[type=search],[type=password],[type=email],[type=tel],[type=url],[type=number],[type=date],[type=time],[type=datetime-local],[type=month],[type=week]),textarea){transition:none}}
@media(forced-colors:active){:is(.gymio-ui,.gymio-local) :is(main,dialog,#local-content) :is(:is(input:where(:not([type]),[type=text],[type=search],[type=password],[type=email],[type=tel],[type=url],[type=number],[type=date],[type=time],[type=datetime-local],[type=month],[type=week]),textarea),select):focus{outline:2px solid Highlight;outline-offset:2px}}
.gymio-ui a.pdf-link>.pdf-icon,.gymio-local a.pdf-link>.pdf-icon{display:inline-block;width:22px;height:26px;min-width:22px;max-width:none;flex:0 0 22px;margin:0 8px 0 0;vertical-align:middle;object-fit:contain;transform:none;border-radius:0;box-shadow:none}
