/* ST Workwear 2.2 — shared, frontend-only design system.
   Brand palette: navy #1B405F · blue #367198 · light blue #659CB7.
   Orange always comes from the customisable --accent token.
   Deliberately avoids changing Gutenberg's editor interface. */
:root {
  --st-navy:#1B405F;
  --st-ocean:#367198;
  --st-powder:#659CB7;
  --navy:var(--st-navy);
  --blue:var(--st-ocean);
  --blue-light:var(--st-powder);
  --st-ink:#1B405F;
  --st-muted:#557081;
  --st-paper:#f9faf9;
  --st-border:#dce5e9;
  --st-radius:3px;
  --st-motion:cubic-bezier(.22,1,.36,1);
}
/* Shared typography and predictable vertical rhythm. */
body{font-family:var(--sans);color:var(--st-ink)}
:where(.st-premium-home,.st-editorial-page,.subpage-main,.st-premium-shop,.st-premium-product) :is(h1,h2,h3,h4){text-wrap:balance}
:where(.st-premium-home,.st-editorial-page,.subpage-main,.st-premium-shop,.st-premium-product) :is(p,li){overflow-wrap:break-word}
:where(.st-premium-home,.st-editorial-page) .st-gb-section h2{
  font-family:var(--serif)!important;
  font-weight:500!important;
  line-height:1.13!important;
  letter-spacing:-.043em!important;
  margin-bottom:clamp(23px,2.5vw,38px)!important;
}
:where(.st-premium-home,.st-editorial-page) .st-gb-section :is(h3,h4){line-height:1.24;letter-spacing:-.02em}
:where(.st-premium-home,.st-editorial-page) .st-gb-section p:not(.st-gb-kicker){line-height:1.82}
:where(.st-premium-home,.st-editorial-page) .st-gb-section :is(.wp-block-columns,.wp-block-group){min-width:0}
.st-editorial-page .st-gb-section{padding-block:clamp(76px,8vw,130px)}
.st-premium-home .st-gb-section{padding-block:clamp(78px,8vw,142px)}
.st-editorial-page .st-gb-section .st-gb-lead{margin-bottom:clamp(19px,2vw,29px)}
:where(.st-editorial-page,.st-premium-home) p.st-gb-kicker.wp-block-paragraph{letter-spacing:.17em;line-height:1.5;margin-bottom:clamp(18px,2vw,30px)!important}
:where(.st-editorial-page,.st-premium-home) p.st-gb-kicker.wp-block-paragraph::before{
  height:1px!important;width:27px!important;flex-basis:27px!important;
}
/* Hero bottoms and subpage separators are fine hairlines, never heavy bars. */
.st-editorial-page .st-gb-inner-hero{border-bottom:2px solid var(--accent)!important}
.st-editorial-page .st-gb-inner-hero-wrap{border-bottom:0!important}
.subpage-main .page-intro::after{height:1px!important}
.subpage-main .page-hero-image{border-bottom-width:2px!important}
.st-editorial-page .st-gb-section .st-gb-intro-cols h2{margin-top:0!important}
/* Navigation: persistent indicator for current page, same motion as hover. */
.site-header__inner{gap:clamp(20px,2.5vw,38px)}
.site-header .desktop-navigation{margin-left:auto}
.site-header .desktop-navigation .st-menu-list{gap:clamp(17px,2vw,34px)}
.site-header .desktop-navigation .st-menu-list>li>a{
  position:relative;font-weight:600;letter-spacing:.015em;
  opacity:1!important;text-decoration:none!important;
}
.site-header .desktop-navigation .st-menu-list>li>a::after{
  content:"";position:absolute;left:0;right:100%;bottom:12px;
  height:2px;background:var(--accent);transition:right .33s var(--st-motion);
}
.site-header .desktop-navigation .st-menu-list>li:hover>a::after,
.site-header .desktop-navigation .st-menu-list>li>a:focus-visible::after,
.site-header .desktop-navigation .st-menu-list>li.current-menu-item>a::after,
.site-header .desktop-navigation .st-menu-list>li.current-menu-ancestor>a::after,
.site-header .desktop-navigation .st-menu-list>li.current-menu-parent>a::after,
.site-header .desktop-navigation .st-menu-list>li.current_page_parent>a::after,
.site-header .desktop-navigation .st-menu-list>li.current_page_item>a::after,
.site-header .desktop-navigation .st-menu-list>li.current_page_ancestor>a::after{right:0!important}
.site-header .desktop-navigation .st-menu-list>li.current-menu-item>a,
.site-header .desktop-navigation .st-menu-list>li.current_page_item>a{font-weight:700}
.site-header__actions{margin-left:clamp(10px,1.25vw,18px);gap:clamp(24px,2.3vw,34px)}
/* Do not widen the enquiry button: spacing belongs BETWEEN cart and CTA. */
.site-header .button--header{width:auto;min-width:0;padding-inline:17px!important;gap:14px!important}
.site-header .button--header,.site-header .button--header:hover{border-color:var(--accent)!important;background:var(--accent)!important;color:#fff!important;text-decoration:none!important}
.site-header .button--header:hover{filter:brightness(.93);transform:translateY(-2px)}
.site-header .button--header span{transition:transform .3s var(--st-motion)}
.site-header .button--header:hover span{transform:translate(3px,-3px)}
/* Home editorial links: one hairline only. Both “Mehr über uns” and
   “Unsere Geschichte” get identical movement; colour adapts to the panel. */
body .st-premium-home :is(.st-gb-intro,.st-gb-editorial-copy) .wp-block-button,
body .st-premium-home :is(.st-gb-intro,.st-gb-editorial-copy) .wp-block-button.is-style-outline{
  border:0!important;border-bottom:0!important;box-shadow:none!important;
  background:transparent!important;
}
body .st-premium-home :is(.st-gb-intro,.st-gb-editorial-copy) .wp-block-button__link,
body .st-premium-home :is(.st-gb-intro,.st-gb-editorial-copy) .wp-block-button__link:hover,
body .st-premium-home :is(.st-gb-intro,.st-gb-editorial-copy) .wp-block-button__link:focus-visible{
  position:relative;display:inline-flex;align-items:center;justify-content:flex-start;
  padding:10px 0 14px!important;min-height:0!important;
  margin:0!important;background:transparent!important;
  border:0!important;border-bottom:0!important;border-radius:0!important;
  box-shadow:none!important;text-shadow:none!important;text-decoration:none!important;
  transform:none!important;outline-offset:5px;
  font:600 13px/1.6 var(--sans)!important;
  transition:color .25s ease!important;
}
body .st-premium-home .st-gb-intro .wp-block-button__link{color:var(--navy)!important}
body .st-premium-home .st-gb-editorial-copy .wp-block-button__link{color:#fff!important}
body .st-premium-home :is(.st-gb-intro,.st-gb-editorial-copy) .wp-block-button__link::before{content:none!important}
body .st-premium-home :is(.st-gb-intro,.st-gb-editorial-copy) .wp-block-button__link::after{
  content:"";position:absolute;bottom:4px;left:0;right:auto;
  display:block;width:100%;height:1px;background:var(--accent);
  border:0!important;box-shadow:none!important;
  transform:scaleX(.22);transform-origin:left center;
  transition:transform .36s var(--st-motion);
}
body .st-premium-home :is(.st-gb-intro,.st-gb-editorial-copy) .wp-block-button__link:is(:hover,:focus-visible)::after{transform:scaleX(1)}
body .st-premium-home :is(.st-gb-intro,.st-gb-editorial-copy) .wp-block-button__link:is(:hover,:focus-visible){color:var(--accent)!important}
/* Shared button behavior and inline link state, scoped to editorial content. */
:where(.st-premium-home,.st-editorial-page) .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.st-premium-button,.st-premium-shop-outro a,
.woocommerce .st-premium-product button.single_add_to_cart_button,
.woocommerce-cart .woocommerce a.checkout-button,
.woocommerce-cart .woocommerce button.button,
.woocommerce-cart .woocommerce input.button{
  text-decoration:none!important;text-underline-offset:0!important;
  transition:transform .28s var(--st-motion),filter .28s ease,color .28s ease,background-color .28s ease!important;
}
:where(.st-premium-home,.st-editorial-page) .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.st-premium-button:hover,.st-premium-shop-outro a:hover,
.woocommerce .st-premium-product button.single_add_to_cart_button:hover,
.woocommerce-cart .woocommerce a.checkout-button:hover{
  text-decoration:none!important;
}
:where(.st-editorial-page,.subpage-main) :is(.entry-content,.st-gb-section) a:not(.wp-block-button__link){text-underline-offset:3px;transition:color .25s ease}
:where(.st-editorial-page,.subpage-main) :is(.entry-content,.st-gb-section) a:not(.wp-block-button__link):hover{color:var(--accent)}
/* Accessible consistent focus. Mouse click never leaves a thick browser outline. */
:where(button,a,input,textarea,select):focus:not(:focus-visible){outline:none}
:where(button,a,input,textarea,select):focus-visible{outline:2px solid var(--blue-light);outline-offset:3px}
/* SHOP: brand-consistent visual balance. */
body .st-premium-shop .st-shop-results ul.products{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:clamp(16px,1.8vw,32px)!important}
body .st-premium-shop .st-shop-results ul.products li.product{
  min-width:0;box-shadow:none!important;background:transparent!important;
}
body .st-premium-shop .st-product-card__media,
body .st-premium-product .related .st-product-card__media{
  background:transparent!important;border:0!important;box-shadow:none!important;
}
body .st-premium-shop .st-product-card__media img,
body .st-premium-product .related .st-product-card__media img{background:transparent!important;transition:transform .85s var(--st-motion)}
body .st-premium-shop .st-product-card:hover img,
body .st-premium-product .related .st-product-card:hover img{transform:scale(1.045)}
body .st-premium-shop .st-product-card .st-product-card__badge,
body .st-premium-product .related .st-product-card .st-product-card__badge{
  text-decoration:none!important;text-transform:uppercase;
  display:inline-flex;align-items:center;
  background:var(--accent)!important;color:#fff!important;
  font:700 10px/1.2 var(--sans);letter-spacing:.12em;padding:9px 12px;
}
body .st-premium-shop .st-product-card__main,
body .st-premium-product .related .st-product-card__main,
body .st-premium-shop .st-product-card__main:hover,
body .st-premium-product .related .st-product-card__main:hover{text-decoration:none!important}
body .st-premium-shop .st-product-card__category,
body .st-premium-product .related .st-product-card__category{font-size:10px;letter-spacing:.12em;color:var(--blue);text-transform:uppercase}
body .st-premium-shop .st-product-card .woocommerce-loop-product__title,
body .st-premium-product .related .woocommerce-loop-product__title{
  font:500 clamp(20px,1.7vw,27px)/1.22 var(--serif)!important;
  letter-spacing:-.025em!important;color:var(--navy);margin:0 0 8px!important;
}
body .st-premium-shop .st-product-card .price,
body .st-premium-product .related .st-product-card .price{color:var(--accent)!important;font:600 14px/1.5 var(--sans)!important}
/* Sale price <ins> is a highlight, not an underlined link.
   Keep the old <del> price's normal strike-through. */
body .woocommerce ul.products li.product a.st-product-card__main,
body .woocommerce ul.products li.product a.st-product-card__main:is(:hover,:focus-visible),
body .st-premium-product .related ul.products a.st-product-card__main,
body .st-premium-product .related ul.products a.st-product-card__main:is(:hover,:focus-visible){text-decoration:none!important}
body .woocommerce ul.products li.product .price ins,
body .woocommerce ul.products li.product .price ins :is(span,bdi),
body .st-premium-product .related ul.products .price ins,
body .st-premium-product .related ul.products .price ins :is(span,bdi),
body .st-shop-preview__price ins,
body .st-shop-preview__price ins :is(span,bdi),
body .st-premium-product .summary .price ins{
  text-decoration:none!important;text-decoration-line:none!important;
}
/* SINGLE PRODUCT: genuinely non-sticky editorial purchase experience. */
body .st-premium-product{background:#fff!important;color:var(--navy);padding-top:clamp(92px,9vw,145px)!important}
body .st-premium-product .st-product-breadcrumb{
  padding:clamp(14px,1.5vw,23px) 0 clamp(27px,3vw,49px)!important;
  font:500 12px/1.6 var(--sans);color:var(--st-muted);
}
body .st-premium-product .woocommerce-breadcrumb{color:var(--st-muted);line-height:1.7}
body .st-premium-product .woocommerce-breadcrumb a{color:var(--blue);text-decoration:none!important;transition:color .2s}
body .st-premium-product .woocommerce-breadcrumb a:hover{color:var(--accent)}
body .woocommerce .st-premium-product .st-single-product-shell div.product,
body.woocommerce .st-premium-product .st-single-product-shell div.product{
  display:grid!important;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)!important;
  column-gap:clamp(30px,5.8vw,110px)!important;row-gap:0!important;
  align-items:start!important;
}
body .woocommerce .st-premium-product .st-single-product-shell div.product div.summary,
body.woocommerce .st-premium-product .st-single-product-shell div.product div.summary,
body .st-premium-product .entry-summary{
  position:static!important;top:auto!important;bottom:auto!important;
  inset:auto!important;align-self:start!important;transform:none!important;
  padding:clamp(4px,1.1vw,18px) 0 0!important;margin:0!important;
  height:auto!important;max-height:none!important;overflow:visible!important;
  float:none!important;width:100%!important;max-width:none!important;
}
body .woocommerce .st-premium-product .st-single-product-shell div.product div.woocommerce-product-gallery,
body.woocommerce .st-premium-product .st-single-product-shell div.product div.woocommerce-product-gallery{
  float:none!important;position:relative!important;top:auto!important;
  width:100%!important;min-width:0!important;margin:0!important;
  background:#f4f6f6!important;border-radius:var(--st-radius)!important;
  overflow:hidden!important;
}
body .st-premium-product div.product div.woocommerce-product-gallery .woocommerce-product-gallery__wrapper{background:#f4f6f6!important}
body .st-premium-product div.product div.woocommerce-product-gallery img{
  object-fit:contain!important;background:#f4f6f6!important;
  width:100%!important;height:auto!important;max-height:820px;
}
body .st-premium-product div.product .woocommerce-product-gallery .flex-control-thumbs{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;
  background:#fff;margin:12px 0 0!important;padding:0!important;
}
body .st-premium-product div.product .woocommerce-product-gallery .flex-control-thumbs li{
  width:100%!important;float:none!important;overflow:hidden;border:1px solid var(--st-border);border-radius:2px;
}
body .st-premium-product div.product .woocommerce-product-gallery .flex-control-thumbs li img{
  display:block;width:100%;height:100%;aspect-ratio:1;object-fit:contain!important;
  opacity:.7;transition:opacity .25s,border-color .25s;
}
body .st-premium-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
body .st-premium-product div.product .woocommerce-product-gallery .flex-control-thumbs li img:hover{opacity:1}
body .st-premium-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger{
  z-index:5!important;background:#fff!important;box-shadow:0 7px 18px #162c411a;
}
body .st-premium-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger::before{border-color:var(--navy)!important}
body .st-premium-product .st-premium-product__eyebrow{
  font:700 10px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;
  color:var(--accent)!important;margin:0 0 19px!important;
}
body .woocommerce .st-premium-product .st-single-product-shell div.product .product_title,
body.woocommerce .st-premium-product .st-single-product-shell div.product .product_title{
  font:500 clamp(44px,5vw,75px)/1.11 var(--serif)!important;
  letter-spacing:-.044em!important;color:var(--navy)!important;
  margin:0 0 clamp(18px,2vw,31px)!important;
}
body .st-premium-product div.product p.price,
body .st-premium-product div.product span.price{
  color:var(--navy)!important;font:650 clamp(21px,1.9vw,27px)/1.4 var(--sans)!important;
  margin:0 0 clamp(22px,2.4vw,37px)!important;
}
body .st-premium-product div.product p.price del,
body .st-premium-product div.product span.price del{color:#8497a3;opacity:1;font-size:.72em}
body .st-premium-product div.product p.price ins,
body .st-premium-product div.product span.price ins{text-decoration:none;color:var(--accent)}
body .st-premium-product .woocommerce-product-details__short-description{
  border-top:0!important;padding:0;
  color:#4b6574;font:400 15px/1.85 var(--sans);margin:0 0 clamp(27px,3.3vw,52px);
}
body .st-premium-product .woocommerce-product-details__short-description :last-child{margin-bottom:0}
body .st-premium-product form.cart{border:0!important;border-block:0!important;padding:0!important;margin-bottom:clamp(21px,2.6vw,39px)!important}
body .st-premium-product div.product form.cart .variations{margin:0 0 20px!important}
body .st-premium-product div.product form.cart .variations :is(th,td){padding:0 15px 13px 0!important;line-height:1.7}
body .st-premium-product div.product form.cart .variations label{font-size:13px;color:var(--navy)}
body .st-premium-product div.product form.cart .variations select{border:1px solid var(--st-border)!important;border-radius:2px!important;background:#fff!important;min-height:49px!important}
body .st-premium-product div.product form.cart .quantity input.qty{
  min-height:54px!important;background:#fff!important;color:var(--navy)!important;
  border:1px solid var(--st-border)!important;box-shadow:none!important;
}
body .st-premium-product div.product form.cart button.single_add_to_cart_button{
  min-height:54px!important;background:var(--accent)!important;border:0!important;border-bottom:0!important;
  color:#fff!important;border-radius:2px!important;padding:15px clamp(22px,2.7vw,42px)!important;
  font:650 13px/1.4 var(--sans)!important;letter-spacing:.015em;
  text-decoration:none!important;box-shadow:none!important;
}
body .st-premium-product div.product form.cart button.single_add_to_cart_button:hover{
  background:var(--accent)!important;filter:brightness(.92);transform:translateY(-2px)!important;box-shadow:0 8px 23px #0b2e4820!important;
}
body .st-premium-product .st-premium-product-help{
  display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;
  color:var(--st-muted);font:400 12px/1.8 var(--sans);
  background:transparent!important;border:0!important;border-top:0!important;
  border-radius:0!important;box-shadow:none!important;
  padding:clamp(18px,2vw,29px) 0 0!important;margin:0 0 20px!important;
}
body .st-premium-product .st-premium-product-help a{
  display:inline-flex;gap:7px;align-items:center;font-weight:650!important;
  color:var(--navy)!important;text-decoration:none!important;border:0!important;
}
body .st-premium-product .st-premium-product-help a:hover{color:var(--accent)!important}
body .st-premium-product .st-premium-product-help a span{transition:transform .25s var(--st-motion)}
body .st-premium-product .st-premium-product-help a:hover span{transform:translate(3px,-3px)}
body .st-premium-product div.product .product_meta{
  color:var(--st-muted)!important;border-top:0!important;padding-top:0!important;
  font:400 12px/1.75 var(--sans)!important;opacity:.86;
}
body .st-premium-product div.product .product_meta a{text-decoration:none!important;color:var(--blue)!important}
body .st-premium-product div.product .product_meta a:hover{color:var(--accent)!important}
body .woocommerce .st-premium-product .st-single-product-shell div.product .st-product-description-inline,
body.woocommerce .st-premium-product .st-single-product-shell div.product .st-product-description-inline{
  grid-column:1/-1!important;margin-top:clamp(70px,7vw,120px)!important;
  padding-top:clamp(37px,4.5vw,70px)!important;border-top:1px solid var(--st-border)!important;
}
body .woocommerce .st-premium-product .st-single-product-shell div.product .st-product-specifications,
body.woocommerce .st-premium-product .st-single-product-shell div.product .st-product-specifications{
  grid-column:1/-1!important;margin-top:clamp(37px,4vw,65px)!important;
  padding-top:clamp(25px,3vw,45px)!important;border-top:1px solid var(--st-border)!important;
}
body .st-premium-product .st-product-description-inline__text{
  max-width:860px!important;margin:0!important;padding:0!important;
  color:#3b586b!important;font:400 clamp(15px,1.23vw,17px)/1.9 var(--sans)!important;
}
body .st-premium-product .st-product-description-inline__text :is(h2,h3){
  font-family:var(--serif)!important;color:var(--navy)!important;font-weight:500!important;
  margin:0 0 clamp(19px,2vw,30px)!important;
}
body .st-premium-product .st-product-description-inline__text p{margin:0 0 1.3em}
body .st-premium-product .st-product-specifications h2{font:500 clamp(32px,3vw,49px)/1.2 var(--serif)!important;color:var(--navy)!important;margin:0 0 25px!important}
body .st-premium-product .st-product-specifications table{width:100%;max-width:860px;border-collapse:collapse;border:0;background:transparent}
body .st-premium-product .st-product-specifications table :is(th,td){border:0!important;border-bottom:1px solid var(--st-border)!important;padding:14px 9px!important;text-align:left}
body .st-premium-product .st-product-specifications table th{font-weight:600;color:var(--navy)}
body .st-premium-product .related{border-top:1px solid var(--st-border)!important;margin-top:clamp(72px,8vw,130px)!important;padding-top:clamp(45px,5vw,77px)!important}
body .st-premium-product .related>h2{font:500 clamp(37px,4vw,62px)/1.16 var(--serif)!important;color:var(--navy)!important;margin-bottom:clamp(28px,4vw,54px)!important}
body .st-premium-product .related ul.products{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:clamp(15px,2vw,30px)!important}
body .st-premium-product .st-premium-product__end{background:#f7f9f9}
/* Sale badges are labels, NOT links to underline (Woo adds some via spans). */
body.woocommerce :is(.onsale,.st-product-card__badge),
body.woocommerce :is(.onsale,.st-product-card__badge):hover{text-decoration:none!important;background:var(--accent)!important;color:#fff!important}
/* CART / CHECKOUT: button hover is movement, never an underline. */
body.woocommerce-cart :is(.woocommerce-cart-form,.cart_totals,.wp-block-woocommerce-cart),
body.woocommerce-checkout :is(.woocommerce-checkout,.wp-block-woocommerce-checkout){color:var(--navy)}
body.woocommerce-cart .woocommerce :is(a.button,button.button,input.button,a.checkout-button),
body.woocommerce-checkout .woocommerce :is(a.button,button.button,input.button,#place_order),
body.woocommerce-cart :is(.wc-block-cart__submit-button,.wc-block-components-button:not(.is-link)),
body.woocommerce-checkout :is(.wc-block-components-button:not(.is-link)){
  background:var(--accent)!important;border:0!important;border-radius:2px!important;
  color:#fff!important;text-decoration:none!important;box-shadow:none!important;
}
body.woocommerce-cart .woocommerce :is(a.button,button.button,input.button,a.checkout-button):hover,
body.woocommerce-checkout .woocommerce :is(a.button,button.button,input.button,#place_order):hover,
body.woocommerce-cart :is(.wc-block-cart__submit-button,.wc-block-components-button:not(.is-link)):hover,
body.woocommerce-checkout :is(.wc-block-components-button:not(.is-link)):hover{
  filter:brightness(.92);text-decoration:none!important;transform:translateY(-2px);
}
body.woocommerce-cart .woocommerce .coupon input:focus:not(:focus-visible){outline:0!important;box-shadow:none!important}
/* Forms (Ninja Forms remains the actual plugin): shared visual language. */
body.page .nf-form-cont{border-top:2px solid var(--accent)!important;border-radius:2px!important}
body.page .nf-form-cont .nf-field-label label{letter-spacing:.01em}
body.page .nf-form-cont :is(input[type=submit],button[type=submit]){border-radius:2px!important;text-decoration:none!important}
/* Branded bottom area: maintain accessibility and clean link states. */
.site-footer .footer-widget a{text-decoration:none;transition:color .22s ease}
.site-footer .footer-widget a:hover{color:var(--accent)!important}
.site-footer__bottom{line-height:1.65}
/* Gentle and opt-in motion. Never animate the entire page offscreen. */
@media(prefers-reduced-motion:no-preference){
  .st-premium-home .st-shop-preview__tile img,
  .st-editorial-page .st-gb-gallery .wp-block-image img{transition:transform .9s var(--st-motion)}
  .st-premium-home .st-shop-preview__tile:hover img,
  .st-editorial-page .st-gb-gallery .wp-block-image:hover img{transform:scale(1.04)}
  .st-premium-shop .st-product-card{transition:transform .45s var(--st-motion)!important}
  .st-premium-shop .st-product-card:hover{transform:translateY(-4px)}
}
@media(max-width:1100px){
  body .st-premium-shop .st-shop-results ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .site-header .desktop-navigation .st-menu-list{gap:17px}
  .site-header__actions{margin-left:10px;gap:20px}
}
@media(max-width:900px){
  body .woocommerce .st-premium-product .st-single-product-shell div.product,
  body.woocommerce .st-premium-product .st-single-product-shell div.product{grid-template-columns:1fr!important}
  body .st-premium-product .st-single-product-shell div.product div.summary{padding-top:clamp(26px,4vw,46px)!important}
  body .st-premium-product .st-product-description-inline{margin-top:58px!important}
  body .st-premium-shop .st-shop-results ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body .st-premium-product .related ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px){
  .st-editorial-page .st-gb-section,.st-premium-home .st-gb-section{padding-block:clamp(66px,12vw,92px)}
  .site-header__actions{margin-left:auto;gap:10px}
  .st-premium-product{padding-top:75px!important}
  body .st-premium-product .st-product-breadcrumb{padding-bottom:24px!important}
  body .st-premium-product .st-product-description-inline__text{font-size:15px!important}
  body .st-premium-product div.product .product_title{font-size:clamp(38px,10.5vw,58px)!important}
  body .st-premium-shop .st-shop-results ul.products{gap:15px!important}
}
@media(max-width:400px){
  body .st-premium-shop .st-product-card .woocommerce-loop-product__title{font-size:19px!important}
}
@media(prefers-reduced-motion:reduce){
  .site-header .desktop-navigation .st-menu-list>li>a::after,
  body .st-premium-home :is(.st-gb-intro,.st-gb-editorial-copy) .wp-block-button__link::after,
  body .st-premium-product form.cart button,
  body .st-premium-shop .st-product-card,
  body .st-premium-product .st-product-card img{transition:none!important;animation:none!important;transform:none!important}
}
/* WP themes don't always add a WooCommerce class to <body>; this breakpoint is
   deliberately keyed on the template itself, not on the body class. */
@media(max-width:900px){
  body .st-premium-product .st-single-product-shell div.product,
  body.woocommerce .st-premium-product .st-single-product-shell div.product,
  body .woocommerce .st-premium-product .st-single-product-shell div.product{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
  }
  body .st-premium-product .st-single-product-shell div.product div.summary{width:100%!important;float:none!important}
}
/* Old WooCommerce grid-column assignments must be reset as well when stacking. */
@media(max-width:900px){
  body .st-premium-product .st-single-product-shell div.product div.woocommerce-product-gallery,
  body .st-premium-product .st-single-product-shell div.product div.summary{
    grid-column:1/-1!important;grid-row:auto!important;min-width:0!important;
  }
}
