/* Shared rhythm; deliberately no fonts, framework, parallax or layout animation. */
body.kwk-storefront { --kwk-width:1200px; --kwk-radius:10px; --kwk-dispatch-height:40px; }
body.kwk-storefront #header .container,
body.kwk-storefront #main > .container,
body.kwk-storefront #main > .row,
body.kwk-storefront .section-content > .row,
body.kwk-storefront .section-content > .container,
body.kwk-storefront .footer .row,
body.kwk-storefront .absolute-footer .container,
body.kwk-storefront .kwk-contact-inner,
body.kwk-storefront .kwk-benefits-inner,
body.kwk-storefront .kwk-footer-discovery__inner { max-width:var(--kwk-width); }
body.kwk-storefront .button,
body.kwk-storefront button[type=submit],
body.kwk-storefront input[type=submit] { border-radius:8px; min-height:44px; text-shadow:none; transition:background-color .15s ease,color .15s ease; }
body.kwk-storefront .button:hover,
body.kwk-storefront button[type=submit]:hover { transform:none; }
body.kwk-storefront a:focus-visible,
body.kwk-storefront button:focus-visible,
body.kwk-storefront summary:focus-visible { outline:3px solid #087c82; outline-offset:3px; }
body.kwk-storefront #header input[type=search] { font-size:16px; border-radius:8px 0 0 8px; min-height:44px; }
body.kwk-storefront #header .ux-search-submit { border-radius:0 8px 8px 0; min-width:44px; }
body.kwk-storefront .copyright-footer { font-size:14px; }
body.kwk-storefront .copyright-footer::after { content:none; }
body.kwk-storefront .product-small .box { border:1px solid #e0eeec; border-radius:var(--kwk-radius); box-shadow:none; transition:transform .18s ease; }
body.kwk-storefront .product-small .box-image { background:#fff; }
body.kwk-storefront .product-small .box-image img { object-fit:contain; }
body.kwk-storefront .product-small .box-text { padding:10px; text-align:center; }
body.kwk-storefront .product-small .category { display:none; }
body.kwk-storefront .kwk-card-carrier { font-size:12px; line-height:1.4; color:#49636a; margin:0 0 4px; }
body.kwk-storefront .product-small .product-title { font-size:15px; line-height:1.4; margin-bottom:7px; }
body.kwk-storefront .product-small .category { font-size:11px; line-height:1.4; margin-bottom:4px; }
body.kwk-storefront .product-small .price { color:#26704f!important; }
body.kwk-storefront .product-small .price,
body.kwk-storefront .product-small .price .amount { background:none!important; border:0!important; box-shadow:none!important; border-radius:0!important; padding:0!important; font-size:17px!important; line-height:1.35; }
body.kwk-storefront .product-small .price::before,
body.kwk-storefront .product-small .price::after { content:none!important; }
body.kwk-storefront .product-small.col { padding-bottom:20px; }
@media(hover:hover) and (pointer:fine) {
  body.kwk-storefront .product-small .box:hover { transform:translateY(-2px); box-shadow:0 5px 14px #073b4c0d; }
}
body.kwk-storefront .kwk-footer-discovery { padding:28px 15px; }
body.kwk-storefront .kwk-footer-product-groups { gap:24px; }
body.kwk-storefront .kwk-footer-product-group { border:0; margin:0; }
body.kwk-storefront .kwk-footer-product-group summary { cursor:pointer; list-style:none; min-height:44px; }
body.kwk-storefront .kwk-footer-product-group summary::-webkit-details-marker { display:none; }
body.kwk-storefront .kwk-footer-product-group h2 { font-size:14px; margin:0 0 12px; }
body.kwk-storefront .kwk-footer-product__title,
body.kwk-storefront .kwk-footer-product__price { font-size:13px; line-height:1.4; }
body.kwk-storefront .kwk-footer-tags__links { gap:8px; }
body.kwk-storefront .kwk-footer-tags__links a { box-shadow:none; font-size:13px; }
body.kwk-storefront .kwk-footer-tags__links { display:flex; flex-wrap:wrap; overflow:visible; padding:2px 1px; }
body.kwk-storefront .kwk-footer-tags__links a { min-height:44px; padding:9px 15px; max-width:100%; white-space:normal; }
body.kwk-storefront .kwk-footer-tags__links a[hidden],body.kwk-storefront .kwk-tags-more[hidden] { display:none!important; }
body.kwk-storefront .kwk-tags-more { margin:12px 0 0; padding:0 16px; min-height:44px; border:1px solid #b7d8de; border-radius:8px; color:#073b4c; background:#fff; text-transform:none; font-size:13px; }
body.kwk-storefront .kwk-scroll-dispatch__inner a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
body.kwk-storefront .kwk-product-details { border-top:1px solid #d7eae6; padding:8px 0; font-size:13px; }
body.kwk-storefront .kwk-product-details summary { cursor:pointer; min-height:44px; display:flex; align-items:center; font-weight:700; }
body.kwk-storefront .kwk-product-details summary::after { content:'+'; margin-left:auto; }
body.kwk-storefront .kwk-product-details[open] summary::after { content:'−'; }
body.kwk-storefront .kwk-size-hint { font-size:13px; margin:10px 0 0; color:#365462; }
body.kwk-storefront .kwk-size-hint[role=alert] { color:#a62424; }
body.kwk-storefront .sa-ce-size-option input:focus-visible + span { outline:3px solid #087c82; outline-offset:3px; }
body.kwk-storefront .kwk-shirt-filters { margin:0 0 16px; border:1px solid #d7eae6; border-radius:8px; padding:0 12px; clear:both; }
body.kwk-storefront .kwk-shirt-filters summary { min-height:44px; padding:10px 0; cursor:pointer; font-size:14px; font-weight:700; }
body.kwk-storefront .kwk-shirt-filters form { display:flex; align-items:end; flex-wrap:wrap; gap:12px; margin:0 0 12px; }
body.kwk-storefront .kwk-shirt-filters label { flex:1; min-width:130px; font-size:13px; }
body.kwk-storefront .kwk-shirt-filters select { margin:5px 0 0; min-height:44px; font-size:16px; }
body.kwk-storefront .kwk-shirt-filters button { margin:0; text-transform:none; }
body.kwk-storefront .kwk-shirt-filters a { min-height:44px; display:flex; align-items:center; text-decoration:underline; font-size:13px; }
body.kwk-storefront .kwk-all-patterns-title { font-size:22px; margin:32px 0 16px; }
body.kwk-storefront .section-title a { font-size:14px; letter-spacing:0; text-transform:none; font-weight:600; }
body.kwk-storefront .off-canvas-left .mfp-content { background:#fff!important; }
body.kwk-storefront .nav-sidebar > li > a { font-size:15px; text-transform:none; min-height:48px; }
body.kwk-storefront .nav-sidebar .children > li > a { font-size:14px; min-height:44px; line-height:1.35; padding-top:10px; padding-bottom:10px; }
body.kwk-storefront .nav-dropdown { transition:opacity .18s ease,transform .18s ease; border-radius:0 0 10px 10px; }
body.kwk-storefront .header-nav .nav-dropdown a { font-size:14px; min-height:44px; }
body.kwk-storefront .nav-dropdown a svg, body.kwk-storefront .nav-sidebar a svg { color:#126d91!important; }
body.kwk-storefront .header-nav .nav-dropdown > li { display:block; border:0; }
@media(min-width:850px) { body.kwk-storefront .header-nav .menu-item-has-children > .nav-dropdown { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px 12px; padding:20px; } }
body.kwk-storefront .kwk-delivery-note { font-size:13px; line-height:1.7; margin:0 0 18px; }
body.kwk-storefront .kwk-delivery-note a { text-decoration:underline; text-underline-offset:3px; }
body.kwk-storefront .sa-ce-dispatch { font-size:14px; min-height:48px; }
body.kwk-storefront .sa-ce-size-option .sa-ce-size-name { min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; border-radius:8px; }
body.kwk-storefront .kwk-search-toggle-item,
body.kwk-storefront .kwk-mobile-purchase { display:none; }
/* Homepage is saved in the native Flatsome page editor. */
.kwk-welcome { background:#f0f9f7; padding:44px 15px; }
.kwk-welcome__inner { max-width:1170px; margin:auto; display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:40px; }
.kwk-welcome__eyebrow { font-size:12px; text-transform:uppercase; letter-spacing:.12em; font-weight:700; color:#087c82; margin-bottom:14px; }
body.kwk-storefront .kwk-welcome h1 { font-size:clamp(34px,3.5vw,52px); line-height:1.12; letter-spacing:-.035em; color:#073b4c; margin:0 0 20px; }
.kwk-welcome__copy > p:not(.kwk-welcome__eyebrow) { font-size:18px; line-height:1.55; max-width:480px; }
.kwk-welcome__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.kwk-welcome__actions .button { margin:0; text-transform:none; font-size:15px; padding:0 20px; }
.kwk-welcome__visual { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:16px; }
.kwk-welcome__visual a { display:block; background:white; border-radius:16px; padding:12px; color:#073b4c; }
.kwk-welcome__visual a:first-child { grid-row:span 2; }
.kwk-welcome__visual img { width:100%; height:auto; aspect-ratio:247/296; object-fit:contain; display:block; }
.kwk-welcome__visual a:not(:first-child) img { aspect-ratio:1.55; }
.kwk-welcome__visual span { display:block; padding:8px 0 0; font-size:13px; font-weight:600; }
.kwk-carriers { max-width:1200px; padding:20px 15px; margin:0 auto; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.kwk-carriers a { padding:17px; border:1px solid #d7eae6; border-radius:10px; display:flex; justify-content:space-between; align-items:center; gap:10px; color:#073b4c; font-weight:700; }
.kwk-carriers a:hover { background:#e7f5f2; border-color:#80c5bd; }
.kwk-care { max-width:1200px; margin:0 auto; padding:28px 15px 42px; }
.kwk-care__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.kwk-care article { padding:22px; border:1px solid #d7eae6; border-radius:10px; background:#f7fbfa; }
.kwk-care article h3 { font-size:19px; }
.kwk-care article p { font-size:15px; line-height:1.65; }
.kwk-care article a { font-weight:700; text-decoration:underline; text-underline-offset:3px; }
body.kwk-storefront .kwk-home-categories .section-title-main { font-size:23px; text-transform:none; }
body.kwk-storefront .kwk-home-category-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
body.kwk-storefront .kwk-home-category-cell .kwk-category-index-card { display:flex; align-items:center; justify-content:center; height:100%; min-height:48px; border:1px solid #d7eae6; border-radius:10px; background:#fff; }
@media(max-width:549px) { body.kwk-storefront .kwk-home-category-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; } }
body.kwk-storefront .kwk-home-category-cell .kwk-category-index-card strong { position:static; background:transparent; color:#073b4c; text-shadow:none; font-size:14px; padding:12px; min-height:44px; }
body.kwk-storefront .kwk-home-category-cell picture { display:none; }
body.kwk-storefront .section-title { margin-bottom:18px; }
body.kwk-storefront .section-title-main { text-transform:none; letter-spacing:-.015em; }
@media(min-width:850px) {
  body.kwk-storefront .kwk-footer-product-group summary { pointer-events:none; }
}
@media(max-width:849px) {
  body.kwk-storefront .sticky-add-to-cart { display:none!important; }
  body.kwk-storefront #header #masthead { height:64px!important; }
  body.kwk-storefront #header .header-wrapper.stuck #masthead { height:56px!important; }
  body.kwk-storefront #header .header-wrapper.stuck { margin-top:0!important; }
  body.kwk-storefront #header #logo { max-width:160px; width:160px; margin:0 6px; }
  body.kwk-storefront #header #logo img { max-height:42px!important; padding:0!important; width:auto; }
  body.kwk-storefront #header .mobile-nav { gap:0; }
  body.kwk-storefront #header .mobile-nav a { min-width:44px; min-height:44px; justify-content:center; }
  body.kwk-storefront.kwk-has-scroll-dispatch #header .header-wrapper.stuck { top:calc(var(--kwk-admin-offset) + var(--kwk-dispatch-height))!important; transform:none!important; }
  body.kwk-storefront.kwk-search-ready.kwk-has-scroll-dispatch #wide-nav { display:none!important; }
  body.kwk-storefront.kwk-search-ready.kwk-has-scroll-dispatch.kwk-search-open #wide-nav { display:block!important; }
  body.kwk-storefront.kwk-has-scroll-dispatch .kwk-search-toggle-item { display:block; }
  body.kwk-storefront .kwk-search-toggle { width:44px; height:44px; padding:0; margin:0; background:transparent; color:#073b4c; border:0; font-size:20px; }
  body.kwk-storefront .kwk-scroll-dispatch { box-shadow:none; }
  body.kwk-storefront .kwk-scroll-dispatch__inner { font-size:11px; white-space:normal; }
  body.kwk-storefront .kwk-welcome { padding:26px 15px 24px; }
  .kwk-welcome__inner { grid-template-columns:1fr; gap:24px; }
  body.kwk-storefront .kwk-welcome h1 { font-size:34px; line-height:1.13; margin-bottom:14px; }
  .kwk-welcome__eyebrow { margin-bottom:10px; font-size:11px; }
  .kwk-welcome__copy > p:not(.kwk-welcome__eyebrow) { font-size:16px; margin-bottom:12px; }
  .kwk-welcome__actions { margin-top:18px; gap:8px; }
  .kwk-welcome__actions .button { flex:1; padding:0 10px; font-size:13px; }
  .kwk-welcome__visual { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .kwk-welcome__visual a { padding:6px; border-radius:10px; }
  .kwk-welcome__visual a:first-child { grid-row:auto; }
  .kwk-welcome__visual img,
  .kwk-welcome__visual a:not(:first-child) img { aspect-ratio:247/296; }
  .kwk-welcome__visual span { font-size:11px; line-height:1.3; }
  .kwk-carriers { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding-top:16px; padding-bottom:16px; }
  .kwk-carriers a { padding:13px; font-size:14px; min-height:48px; }
  body.kwk-storefront .product-small .box:hover { transform:none; box-shadow:none; }
  body.kwk-storefront .product-small .box-text,
  body.kwk-storefront.woocommerce.archive .shop-container .product-small .box-text { padding:10px 7px; text-align:left; }
  body.kwk-storefront .product-small .product-title,
  body.kwk-storefront.woocommerce.archive .shop-container .product-small .product-title { font-size:14px; line-height:1.4; }
  body.kwk-storefront .product-small .category,
  body.kwk-storefront.woocommerce.archive .shop-container .product-small .category { font-size:11px; }
  body.kwk-storefront .products.row { margin-left:-4px; margin-right:-4px; }
  body.kwk-storefront .products > .product-small.col,
  body.kwk-storefront.woocommerce.archive .shop-container .products > .product-small.col { padding:0 4px 16px; transition:none; }
  body.kwk-storefront .product-main { padding-top:12px; }
  body.kwk-storefront .shop-page-title .page-title-inner { padding-top:8px; padding-bottom:8px; min-height:0; }
  body.kwk-storefront .shop-page-title .woocommerce-breadcrumb { font-size:11px; margin-bottom:6px; }
  body.kwk-storefront .shop-page-title .woocommerce-ordering { margin:0; }
  body.kwk-storefront .shop-page-title .woocommerce-ordering select { min-height:44px; margin:0; font-size:13px; }
  body.kwk-storefront .term-description { font-size:14px; line-height:1.5; margin-bottom:12px; }
  body.kwk-storefront .term-description h1,body.kwk-storefront .term-description h2 { font-size:23px; margin-bottom:8px; }
  body.kwk-storefront .product-info h1 { font-size:23px; line-height:1.3; }
  body.kwk-storefront .product-info > .price-wrapper .price { font-size:25px; }
  body.kwk-storefront .product-info form.cart > .single_add_to_cart_button { display:block; width:100%; min-height:50px; margin:12px 0; font-size:16px; }
  body.kwk-storefront .product-info .product_meta { font-size:12px; line-height:1.65; }
  body.kwk-storefront .kwk-footer-product-groups { display:block; }
  body.kwk-storefront .kwk-footer-product-group { border-bottom:1px solid #d7eae6; }
  body.kwk-storefront .kwk-footer-product-group summary { display:flex; align-items:center; justify-content:space-between; padding:12px 0; }
  body.kwk-storefront .kwk-footer-product-group summary::after { content:'+'; font-size:20px; }
  body.kwk-storefront .kwk-footer-product-group[open] summary::after { content:'−'; }
  body.kwk-storefront .kwk-footer-product-group h2 { margin:0; font-size:14px; }
  body.kwk-storefront .kwk-footer-product-group h2::after { display:none; }
  body.kwk-storefront .kwk-footer-product-group li { grid-template-columns:52px minmax(0,1fr); }
  body.kwk-storefront .kwk-footer-product__image { width:52px; height:52px; }
  body.kwk-storefront .kwk-footer-product__title,
  body.kwk-storefront .kwk-footer-product__price { font-size:14px; }
  body.kwk-storefront .kwk-footer-tags { margin-top:22px; }
  body.kwk-storefront .kwk-mobile-purchase:not([hidden]) { display:flex; position:fixed; bottom:0; left:0; right:0; z-index:1000; background:white; border-top:1px solid #cce5df; padding:10px 15px max(10px,env(safe-area-inset-bottom)); align-items:center; justify-content:space-between; gap:10px; box-shadow:0 -3px 12px #073b4c0d; }
  body.kwk-storefront .kwk-mobile-purchase span { font-size:13px; font-weight:700; }
  body.kwk-storefront .kwk-mobile-purchase .button { margin:0; font-size:13px; white-space:nowrap; }
  body.kwk-storefront.kwk-mobile-purchase-visible { padding-bottom:76px; }
  body.kwk-storefront.kwk-mobile-purchase-visible .sa-ce-consent-reopen { bottom:82px!important; }
  .kwk-care { padding-top:20px; padding-bottom:28px; }
  .kwk-care__grid { grid-template-columns:1fr; gap:10px; }
  .kwk-care article { padding:18px; }
}
@media(max-width:549px) {
  body.kwk-storefront .woocommerce-cart-form .shop_table,
  body.kwk-storefront .woocommerce-cart-form .shop_table > tbody { display:block; width:100%; }
  body.kwk-storefront .woocommerce-cart-form .shop_table > thead { display:none; }
  body.kwk-storefront .woocommerce-cart-form .cart_item { display:grid; grid-template-columns:60px minmax(0,1fr); gap:8px 12px; position:relative; padding:16px 0; border-bottom:1px solid #d7eae6; }
  body.kwk-storefront .woocommerce-cart-form .cart_item > td,
  body.kwk-storefront .woocommerce-cart-form .cart_item > th { border:0; min-width:0; padding:0; }
  body.kwk-storefront .woocommerce-cart-form .cart_item .product-remove { position:absolute; top:12px; left:0; width:44px; z-index:1; }
  body.kwk-storefront .woocommerce-cart-form .cart_item .product-remove a { width:44px; height:44px; display:flex; align-items:center; justify-content:center; }
  body.kwk-storefront .woocommerce-cart-form .cart_item .product-thumbnail { display:block; grid-column:1; grid-row:1 / span 2; padding-top:46px; width:60px; }
  body.kwk-storefront .woocommerce-cart-form .cart_item .product-name { display:block; grid-column:2; grid-row:1; width:auto; overflow-wrap:anywhere; font-size:14px; }
  body.kwk-storefront .woocommerce-cart-form .cart_item .product-quantity { display:block; grid-column:2; grid-row:2; width:auto; text-align:left; }
  body.kwk-storefront .woocommerce-cart-form .cart_item .quantity { display:inline-flex; }
  body.kwk-storefront .woocommerce-cart-form .cart_item .quantity .button,
  body.kwk-storefront .woocommerce-cart-form .cart_item .quantity .qty { width:44px; min-width:44px; height:44px; }
  body.kwk-storefront .woocommerce-cart-form .shop_table .actions { display:block; width:100%; }
  body.kwk-storefront .woocommerce-checkout-review-order .product-name { overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) {
  body.kwk-storefront *,body.kwk-storefront *::before,body.kwk-storefront *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}

/* Custom campaign blocks have no native banner sizing controls. Keep every print visible. */
@media(max-width:849px) {
  body.kwk-storefront .kwk-home-slider .flickity-viewport { min-height:0!important; }
  body.kwk-storefront .kwk-home-hero { min-height:280px!important; height:280px!important; display:grid; grid-template-columns:45% 55%; align-items:center; }
  body.kwk-storefront .kwk-home-hero:after { display:none; }
  body.kwk-storefront .kwk-home-hero > picture { height:260px; }
  body.kwk-storefront .kwk-home-hero img { position:static; height:260px; object-fit:contain; }
  body.kwk-storefront .kwk-home-hero-copy { position:static; transform:none; width:auto; padding:14px 12px; text-align:left; }
  body.kwk-storefront .kwk-home-hero-copy h1,body.kwk-storefront .kwk-home-hero-copy h2 { font-size:22px!important; line-height:1.15!important; margin:8px 0 12px!important; }
  body.kwk-storefront .kwk-home-hero-copy > p,body.kwk-storefront .kwk-home-hero-copy > .uppercase { display:none; }
  body.kwk-storefront .kwk-home-hero-copy .button { font-size:12px; padding:0 10px; margin:0; }
  body.kwk-storefront .kwk-collection-hero { display:grid; grid-template-columns:45% 55%; min-height:220px; }
  body.kwk-storefront .kwk-collection-visual { order:0; width:100%; }
  body.kwk-storefront .kwk-collection-visual img { max-height:240px; width:100%; object-fit:contain; }
  body.kwk-storefront .kwk-collection-copy { order:1; width:auto; padding:12px; text-align:left; }
  body.kwk-storefront .kwk-collection-copy h2 { font-size:20px; line-height:1.2; }
  body.kwk-storefront .kwk-collection-copy > p { display:none; }
  body.kwk-storefront .kwk-collection-copy .button { font-size:11px; margin:0; padding:0 10px; }
  body.kwk-storefront .nav-sidebar > .menu-item-has-children > .children { max-height:45vh; overflow-y:auto; overscroll-behavior:contain; }
}
body.kwk-storefront.woocommerce-checkout .page-wrapper { padding-top:12px; padding-bottom:16px; }
body.kwk-storefront.woocommerce-checkout .woocommerce-billing-fields { border-top:0; padding-top:0; }
body.kwk-storefront.woocommerce-checkout form.checkout .col { padding-bottom:12px; }
body.kwk-storefront.woocommerce-checkout form.checkout input.input-text,
body.kwk-storefront.woocommerce-checkout form.checkout select { font-size:16px; }
body.kwk-storefront .sa-ce-bank-logo { height:44px; }
body.kwk-storefront .sa-ce-bank-logo img { max-height:32px; height:32px; object-fit:contain; }
