/*
Theme Name: Sportaneity
Theme URI: https://sportaneity.com
Description: Child theme of Twenty Twenty that gives the Sportaneity WooCommerce store its look: navy, orange, Barlow.
Author: Aaron Michael, Inc.
Template: twentytwenty
Version: 1.0.6
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sportaneity
*/

/* ==========================================================================
   Fonts (self-hosted, SIL OFL: assets/fonts/OFL-*.txt)
   ========================================================================== */
@font-face{font-family:"Barlow";font-weight:400;font-style:normal;font-display:swap;src:url(assets/fonts/barlow-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:500;font-style:normal;font-display:swap;src:url(assets/fonts/barlow-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:600;font-style:normal;font-display:swap;src:url(assets/fonts/barlow-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:700;font-style:normal;font-display:swap;src:url(assets/fonts/barlow-condensed-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:800;font-style:italic;font-display:swap;src:url(assets/fonts/barlow-condensed-latin-800-italic.woff2) format("woff2")}

/* ==========================================================================
   Tokens. Orange is a fill, or text on navy, never text on white.
   ========================================================================== */
:root{
	--sp-navy:#0E1E3A;--sp-navy-2:#22355C;--sp-orange:#FF6B1A;--sp-grey:#F2F4F7;
	--sp-line:#DDE2EA;--sp-muted:#45526B;--sp-pale:#DCE3F0;--sp-soft:#B9C3D6;
	--sp-field:#5F6B85;--sp-red:#A3191F;
	--sp-body:Barlow,system-ui,-apple-system,"Segoe UI",sans-serif;
	--sp-cond:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
	--wc-red:#A3191F;--wc-green:#0E1E3A;--wc-primary:#0E1E3A;--wc-highlight:#0E1E3A;
}

/* ==========================================================================
   Base. Twenty Twenty keeps html{font-size:62.5%} (1rem = 10px): sizes in px.
   ========================================================================== */
html{scroll-padding-top:12px}
body,body.custom-background{background:#fff;color:var(--sp-navy);font-family:var(--sp-body);font-size:17px;font-weight:400;line-height:1.5;letter-spacing:0;overflow-wrap:break-word}
body,button,input,select,textarea,optgroup,.entry-content,.entry-content p,.entry-content li,.entry-content table,.entry-content input,.entry-content select,.entry-content textarea,.entry-content label,.widget,.comment-body,.wp-block-button__link{font-family:var(--sp-body);letter-spacing:0}
.entry-content,.entry-content p,.entry-content li{font-size:17px;line-height:1.55;letter-spacing:0}
p,li,dd{letter-spacing:0}
h1,h2,h3,h4,h5,h6,.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6{font-family:var(--sp-cond);font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:.01em;line-height:1.05;color:var(--sp-navy)}
h1,.entry-content h1{font-size:clamp(38px,8vw,60px)}
h2,.entry-content h2{font-size:clamp(30px,5.5vw,42px)}
h3,.entry-content h3{font-size:clamp(24px,4vw,30px)}
h4,h5,h6,.entry-content h4,.entry-content h5,.entry-content h6{font-size:22px}
a{color:var(--sp-navy);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
a:hover,a:focus{color:var(--sp-navy);text-decoration-thickness:2px}
blockquote{border-color:var(--sp-orange)}
hr,.entry-content hr{border-color:var(--sp-line)}
.entry-content hr::before,.entry-content hr::after,hr.styled-separator::after{display:none}
::selection{background:var(--sp-orange);color:var(--sp-navy)}
img{max-width:100%;height:auto}
table{font-family:var(--sp-body);font-size:16px}

/* Focus: navy ring on white and grey, orange ring on navy. 3px, always visible. */
:focus{outline:none}
:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--sp-navy);outline-offset:3px;box-shadow:none}
.sp-header :focus-visible,.sp-footer :focus-visible,.sp-hero :focus-visible,.sp-skip:focus-visible{outline-color:var(--sp-orange)}
#sp-content:focus{outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--sp-navy)}

.sp-skip{position:absolute;left:12px;top:-80px;z-index:100000;background:var(--sp-orange);color:var(--sp-navy);padding:10px 16px;font:700 18px/1.2 var(--sp-cond);letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.sp-skip:focus{top:12px;color:var(--sp-navy)}
.skip-link{display:none}

.sp-wrap{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px;box-sizing:border-box;width:100%}

/* ==========================================================================
   Header
   ========================================================================== */
#site-header.sp-header,#site-footer.sp-footer{background:var(--sp-navy);border:0;box-shadow:none}
.sp-header{background:var(--sp-navy);color:#fff;position:relative;z-index:1000}
.sp-header .sp-wrap{padding-top:18px;padding-bottom:18px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px}
.sp-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;margin-right:auto}
.sp-brand:hover,.sp-brand:focus{color:#fff;text-decoration:none}
.sp-mark{display:block;flex:none}
.sp-word{font:italic 800 32px/1 var(--sp-cond);letter-spacing:.02em;color:#fff;text-transform:none;white-space:nowrap}
.sp-header ul,.sp-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px;font:700 16px/1.2 var(--sp-cond);letter-spacing:.06em;text-transform:uppercase}
.sp-header li,.sp-footer li{margin:0;padding:0}
.sp-header nav a{color:var(--sp-pale);text-decoration:none;padding:6px 0;display:inline-block}
.sp-header nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
/* Row 1: brand + Account/Cart. Row 2: search (fills) + Shop. Then the categories. From 900px all of it is on row 1. */
.sp-brand{order:0}
.sp-utility{order:1}
.sp-find{order:2;width:100%;display:flex;align-items:center;gap:12px}
.sp-search{flex:1 1 0;min-width:0;display:flex;align-items:stretch;margin:0}
.sp-shoplink{flex:none}
.sp-nav{order:4;width:100%;position:relative}
.sp-header .sp-search-field{flex:1 1 auto;width:100%;min-width:0;height:40px;box-sizing:border-box;margin:0;padding:0 12px;background:#fff;color:var(--sp-navy);border:2px solid #fff;border-right:0;border-radius:0;box-shadow:none;font:400 16px/1.2 var(--sp-body);letter-spacing:0;-webkit-appearance:none;appearance:none}
.sp-header .sp-search-field::placeholder{color:var(--sp-muted);opacity:1}
.sp-header .sp-search-field:focus{border-color:#fff}
.sp-header .sp-search-field:focus-visible{outline-offset:2px}
.sp-header .sp-search-btn{flex:none;height:40px;box-sizing:border-box;margin:0;padding:0 14px;background:var(--sp-orange);color:var(--sp-navy);border:2px solid var(--sp-orange);border-radius:0;box-shadow:none;font:700 16px/1 var(--sp-cond);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.sp-header .sp-search-btn:hover{background:#fff;border-color:#fff;color:var(--sp-navy)}
.sp-header .sp-search-btn:focus-visible{outline-offset:2px}
/* Category dropdown (parent categories with products in children). The server HTML has a plain link; cat-menu.js swaps it for a button
   (hidden attribute: our flex/inline-block rules would otherwise beat the browser's [hidden]). No arrow; open = orange underline on the button. */
.sp-header .sp-nav [hidden]{display:none!important}
.sp-nav-item{position:static}
.sp-header .sp-nav .sp-nav-btn,.sp-header .sp-nav .sp-nav-btn:hover,.sp-header .sp-nav .sp-nav-btn:focus,.sp-header .sp-nav .sp-nav-btn:active{display:inline-block;margin:0;padding:6px 0;background:transparent;border:0;border-radius:0;box-shadow:none;color:var(--sp-pale);font:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration:none;cursor:pointer;-webkit-appearance:none;appearance:none}
.sp-header .sp-nav .sp-nav-btn:hover,.sp-header .sp-nav .sp-nav-btn:focus{color:#fff;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.sp-header .sp-nav .sp-nav-btn[aria-expanded="true"]{color:#fff;text-decoration:underline;text-decoration-color:var(--sp-orange);text-decoration-thickness:3px;text-underline-offset:6px}
.sp-header .sp-nav .sp-nav-panel{position:absolute;z-index:1001;top:auto;left:0;right:0;display:block;margin:2px 0 0;padding:6px 0;background:var(--sp-navy);border:1px solid var(--sp-navy-2);border-top:3px solid var(--sp-orange);box-shadow:0 12px 28px rgba(0,0,0,.4);font:700 17px/1.2 var(--sp-cond);letter-spacing:.06em;text-transform:uppercase}
.sp-header .sp-nav .sp-nav-panel li{display:block;margin:0;padding:0}
.sp-header .sp-nav .sp-nav-panel a{display:flex;align-items:center;box-sizing:border-box;min-height:44px;padding:0 18px;color:#fff;text-decoration:none}
.sp-header .sp-nav .sp-nav-panel a:hover,.sp-header .sp-nav .sp-nav-panel a:focus{background:var(--sp-navy-2);color:#fff;text-decoration:none}
.sp-header .sp-nav .sp-nav-panel :focus-visible{outline:3px solid var(--sp-orange);outline-offset:-4px}
@media (min-width:600px){
	.sp-nav-item{position:relative}
	.sp-header .sp-nav .sp-nav-panel{top:100%;left:0;right:auto;min-width:240px;max-width:calc(100vw - 32px)}
}
@media (min-width:900px){
	.sp-brand{margin-right:auto}
	.sp-find{order:1;width:auto;gap:24px}
	.sp-search{flex:none;width:260px}
	.sp-utility{order:2}
}
.sp-cart-count{display:inline-block;min-width:1.7em;padding:0 .35em;margin-left:.2em;background:var(--sp-orange);color:var(--sp-navy);text-align:center;line-height:1.5;letter-spacing:0}
@media (max-width:600px){
	.sp-wrap{padding-left:16px;padding-right:16px}
	.sp-word{font-size:28px}
	.sp-header .sp-wrap{padding-top:14px;padding-bottom:12px}
}
/* Brand and Account/Cart share row 1 down to 360 px: shrink the wordmark and tighten the links on small screens only. */
@media (max-width:440px){
	.sp-header .sp-wrap{column-gap:12px}
	.sp-header .sp-brand{gap:7px}
	.sp-header .sp-word{font-size:21px}
	.sp-header .sp-utility ul{gap:4px 12px;font-size:14px;letter-spacing:.04em}
}
@media (min-width:380px) and (max-width:440px){
	.sp-header .sp-word{font-size:24px}
	.sp-header .sp-utility ul{font-size:15px}
}

/* ==========================================================================
   Footer
   ========================================================================== */
.sp-footer{background:var(--sp-navy);color:var(--sp-soft);margin-top:64px;font-size:15px}
.sp-footer .sp-wrap{padding-top:32px;padding-bottom:32px;display:flex;flex-direction:column;gap:14px}
.sp-footer .sp-word{font-size:22px}
.sp-footer p{margin:0;max-width:760px;font-size:15px;line-height:1.5;color:var(--sp-soft)}
.sp-footer a{color:#fff;text-underline-offset:3px}
.sp-footer nav a{text-decoration:none;display:inline-block;padding:4px 0}
.sp-footer a:hover{color:var(--sp-orange);text-decoration:underline}

/* ==========================================================================
   Buttons: orange fill, navy text; hover navy fill, white text.
   ========================================================================== */
.sp-btn,a.button,button.button,input.button,.button,.wp-block-button__link,input[type="submit"],input[type="button"],input[type="reset"],button[type="submit"],.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.comment-reply-link,.wp-block-file .wp-block-file__button,.faux-button{
	display:inline-block;background:var(--sp-orange);color:var(--sp-navy);border:2px solid var(--sp-orange);border-radius:0;
	font:700 19px/1.1 var(--sp-cond);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;
	padding:12px 24px;margin:0;cursor:pointer;text-align:center;box-shadow:none;transition:none;
}
.sp-btn:hover,.sp-btn:focus,a.button:hover,a.button:focus,button.button:hover,button.button:focus,input.button:hover,.button:hover,.button:focus,.wp-block-button__link:hover,.wp-block-button__link:focus,input[type="submit"]:hover,input[type="submit"]:focus,input[type="button"]:hover,button[type="submit"]:hover,button[type="submit"]:focus,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover,.comment-reply-link:hover,.faux-button:hover{
	background:var(--sp-navy);border-color:var(--sp-navy);color:#fff;text-decoration:none;
}
.woocommerce a.button.disabled,.woocommerce button.button.disabled,.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled],.woocommerce input.button:disabled,button:disabled,input[type="submit"]:disabled{background:var(--sp-grey);border-color:var(--sp-field);color:var(--sp-muted);cursor:not-allowed;opacity:1}
.sp-hero .sp-btn{align-self:flex-start;font-size:20px;padding:13px 26px}
.sp-hero .sp-btn:hover{background:#fff;border-color:#fff;color:var(--sp-navy)}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce #respond input#submit.alt{background:var(--sp-orange);color:var(--sp-navy)}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{background:var(--sp-navy);color:#fff}
.woocommerce a.added_to_cart{display:inline-block;margin-top:8px;font:700 16px var(--sp-cond);letter-spacing:.06em;text-transform:uppercase;color:var(--sp-navy)}

/* Headline pattern: 800 italic uppercase with a 4px orange rule. */
.sp-h2,.woocommerce-products-header__title.page-title,.entry-header .entry-title,.woocommerce-page .entry-title,.page-title,.archive-title,.woocommerce h1.page-title{
	font:italic 800 clamp(32px,6vw,44px)/1.05 var(--sp-cond);text-transform:uppercase;letter-spacing:.01em;
	margin:0 0 24px;padding-bottom:10px;border-bottom:4px solid var(--sp-orange);color:var(--sp-navy);text-align:left;
}
.sp-h2{border-bottom:0;padding-bottom:0}
.sp-h2::after{content:none}

/* ==========================================================================
   Layout: Twenty Twenty wrappers, widened to the same 1200px grid
   ========================================================================== */
.sp-content{min-height:50vh}
.section-inner{width:100%;max-width:1200px;box-sizing:border-box;padding-left:24px;padding-right:24px;margin-left:auto;margin-right:auto}
.section-inner.thin,.section-inner.medium{max-width:760px}
.section-inner.max-percentage{width:100%}
#site-content{padding-bottom:0}
.entry-header{background:transparent;padding:48px 0 8px;text-align:left}
.entry-header .entry-header-inner{max-width:1200px;padding-left:24px;padding-right:24px}
.post-inner{padding-top:24px}
.post-inner{max-width:1200px;margin:0 auto;padding:24px 24px 0;box-sizing:border-box;width:100%}
.entry-content{max-width:760px;margin:0;padding:0}
.entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide){width:100%;max-width:100%;margin-left:0;margin-right:0}
.entry-content > .alignwide,.entry-content > .alignfull{width:100%;max-width:100%;margin-left:0;margin-right:0}
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{max-width:1200px}
.entry-content:has(.wp-block-woocommerce-cart),.entry-content:has(.wp-block-woocommerce-checkout),.entry-content:has(.woocommerce){max-width:1200px}
#primary.content-area{max-width:1200px;margin:0 auto;padding:40px 24px 8px;box-sizing:border-box;width:100%}
@media (max-width:600px){
	.section-inner,#primary.content-area{padding-left:16px;padding-right:16px}
	.post-inner,.entry-header .entry-header-inner,.archive-header .archive-header-inner{padding-left:16px;padding-right:16px}
	#primary.content-area{padding-top:24px}
}
.pagination-wrapper,.pagination{margin:0}
.comments-wrapper,.entry-categories,.post-meta-wrapper{max-width:760px}
.post-meta-wrapper .post-meta{font:600 15px var(--sp-body);color:var(--sp-muted);text-transform:none;letter-spacing:0}
.post-meta-wrapper .post-meta a,.post-meta a{color:var(--sp-navy)}
.post-meta li,.post-meta .meta-text{color:var(--sp-muted)}
.post-meta .meta-icon svg{fill:var(--sp-muted)}
.post-meta .post-author{display:none}
.post-meta{margin-left:0}
.post-meta li{margin-left:0;margin-right:2rem}
.entry-categories-inner a,.post-tags a{color:var(--sp-navy)}
.search-form .search-field,.search-form input[type="search"]{border:2px solid var(--sp-field)}
.search-form .search-submit{background:var(--sp-orange);color:var(--sp-navy);font-family:var(--sp-cond)}
.error404-content{padding-top:56px}
.error404-content .intro-text{font-size:19px}
.archive-header{background:transparent;padding:48px 0 8px;text-align:left}
.archive-header-inner{max-width:1200px}
.archive-subtitle{color:var(--sp-muted);font-family:var(--sp-body);letter-spacing:0}
.footer-nav-widgets-wrapper,.pagination-single,.comments-wrapper{background:transparent}
.pagination-single a,.nav-previous a,.nav-next a{color:var(--sp-navy);font-family:var(--sp-cond);font-weight:700;letter-spacing:.04em}
.post-meta-single .meta-wrapper{color:var(--sp-muted)}
.comment-reply-link{padding:6px 14px;font-size:16px}
.comment-body .comment-author,.comment-meta{font-family:var(--sp-body);letter-spacing:0}
.comment-respond label{font-weight:600}

/* ==========================================================================
   Forms
   ========================================================================== */
input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="number"],input[type="tel"],input[type="search"],input[type="date"],input[type="time"],textarea,select,.woocommerce form .form-row .input-text,.woocommerce form .form-row select,.woocommerce-page form .form-row .input-text,.woocommerce .quantity .qty{
	font:400 17px/1.4 var(--sp-body);letter-spacing:0;color:var(--sp-navy);background-color:#fff;border:2px solid var(--sp-field);border-radius:0;padding:10px 12px;box-shadow:none;max-width:100%;box-sizing:border-box;
}
textarea{min-height:120px}
::placeholder{color:var(--sp-muted);opacity:1}
label,.woocommerce form .form-row label{font-weight:600;color:var(--sp-navy);line-height:1.4}
.woocommerce form .form-row{padding:0;margin:0 0 16px}
.woocommerce form .form-row .required,.required{color:var(--sp-red);visibility:visible;text-decoration:none;border:0}
.woocommerce form .form-row.woocommerce-invalid label{color:var(--sp-red)}
.woocommerce form .form-row.woocommerce-invalid input.input-text,.woocommerce form .form-row.woocommerce-invalid select{border-color:var(--sp-red)}
.woocommerce form .form-row.woocommerce-validated input.input-text,.woocommerce form .form-row.woocommerce-validated select{border-color:var(--sp-field)}
input[type="checkbox"],input[type="radio"]{width:24px;height:24px;min-width:24px;flex:none;accent-color:var(--sp-navy);vertical-align:middle;margin:0 8px 0 0;border:2px solid var(--sp-field)}
.woocommerce form .form-row .input-checkbox{margin:0 8px 0 0}
.woocommerce form.login,.woocommerce form.register,.woocommerce form.checkout_coupon,.woocommerce form.lost_reset_password{border:1px solid var(--sp-line);border-radius:0;padding:20px;margin:0 0 24px}
.woocommerce form .show-password-input,.woocommerce-page form .show-password-input{top:50%;transform:translateY(-50%);width:44px;height:44px}
.select2-container .select2-selection--single{border:2px solid var(--sp-field);border-radius:0;height:auto}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--sp-navy)}
.select2-dropdown{border:2px solid var(--sp-field);border-radius:0}
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background:var(--sp-navy);color:#fff}
.woocommerce .quantity .qty{width:5.5em;text-align:center;padding:10px 6px}

/* ==========================================================================
   Home
   ========================================================================== */
.sp-hero{background:var(--sp-navy) center/cover no-repeat;color:#fff;border-top:1px solid var(--sp-navy-2)}
.sp-hero{background-image:linear-gradient(90deg,rgba(14,30,58,.9) 0%,rgba(14,30,58,.72) 40%,rgba(14,30,58,.2) 72%,rgba(14,30,58,0) 100%),url(assets/img/hero.jpg);background-position:30% 50%;min-height:min(43.2vw,738px);display:flex;align-items:center}
.sp-hero .sp-wrap{padding-top:88px;padding-bottom:104px;display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.sp-hero h1{margin:0;font:italic 800 clamp(52px,13vw,96px)/.92 var(--sp-cond);letter-spacing:.01em;color:#fff;text-transform:uppercase}
.sp-hero p{margin:0;font-size:clamp(17px,2.6vw,20px);max-width:580px;color:var(--sp-pale);line-height:1.5}
@media (max-width:600px){
	.sp-hero{background-image:linear-gradient(180deg,rgba(14,30,58,.55),rgba(14,30,58,.7) 38%,rgba(14,30,58,.86) 50%,rgba(14,30,58,.86) 85%,rgba(14,30,58,.6)),url(assets/img/hero.jpg)}
	.sp-hero .sp-wrap{padding-top:56px;padding-bottom:64px}
}
.sp-section{padding-top:56px;padding-bottom:8px}
.sp-section .sp-h2{margin-bottom:24px}
.sp-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sp-tiles li{margin:0}
@media (min-width:900px){.sp-tiles{grid-template-columns:repeat(5,minmax(0,1fr))}}
.sp-tile{display:flex;flex-direction:column;justify-content:center;min-height:72px;height:100%;box-sizing:border-box;background:var(--sp-grey);border-bottom:4px solid var(--sp-orange);padding:14px 16px;text-decoration:none;color:var(--sp-navy)}
.sp-tile:hover{background:#E6E9EE;text-decoration:none}
.sp-tile b{font:700 clamp(18px,2vw,22px)/1.1 var(--sp-cond);letter-spacing:.03em;text-transform:uppercase}
/* Subcategory tiles under a parent category's title (home tile style): one column below 600px, three to 899px, the home grid from 900px. */
.sp-subcats{margin:0 0 24px}
.sp-subcats .sp-tiles{grid-template-columns:minmax(0,1fr)}
@media (min-width:600px){.sp-subcats .sp-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:900px){.sp-subcats .sp-tiles{grid-template-columns:repeat(5,minmax(0,1fr))}}
/* Guard: WooCommerce's own category tiles (Display type) must never repeat these inside the product grid. */
body.tax-product_cat ul.products li.product.product-category,body.post-type-archive-product ul.products li.product.product-category{display:none}

/* ==========================================================================
   Shop: archive header, breadcrumb, result count, sorting, pagination
   ========================================================================== */
.woocommerce-breadcrumb{font:500 15px/1.4 var(--sp-body);color:var(--sp-muted);margin:0 0 20px}
.woocommerce-breadcrumb a{color:var(--sp-navy)}
.woocommerce-products-header{margin:0 0 8px}
.woocommerce-products-header .term-description,.woocommerce-products-header .page-description{color:var(--sp-muted);margin:0 0 16px}
.woocommerce .woocommerce-result-count,.woocommerce-page .woocommerce-result-count{font:500 16px/1.4 var(--sp-body);color:var(--sp-muted);margin:0 0 20px;float:none;padding:10px 0}
.woocommerce .woocommerce-ordering,.woocommerce-page .woocommerce-ordering{margin:0 0 20px;float:none}
.woocommerce .woocommerce-ordering select{width:100%;max-width:100%;padding-right:36px}
@media (min-width:600px){
	.woocommerce-page .woocommerce-result-count{float:left}
	.woocommerce-page .woocommerce-ordering{float:right}
	.woocommerce-page .woocommerce-ordering select{width:auto}
	ul.products{clear:both}
}
/* Catalogue toolbar: count, "In stock only" pill and sort. Narrow: stacked, full width. 600px and up: count left, pill and sort right. */
.sp-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:0 0 20px}
.sp-toolbar .woocommerce-result-count,.sp-toolbar .woocommerce-ordering{float:none;margin:0}
.sp-toolbar .woocommerce-result-count{padding:6px 0}
.sp-toolbar-empty{margin:0 0 16px}
.sp-instock{display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;min-height:44px;padding:0 18px;border:2px solid var(--sp-navy);border-radius:999px;background:#fff;color:var(--sp-navy);font:700 17px/1 var(--sp-cond);letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.sp-instock:hover,.sp-instock:focus{background:var(--sp-navy);color:#fff;text-decoration:none}
.sp-instock.is-on{background:var(--sp-navy);color:#fff}
.sp-instock.is-on:hover,.sp-instock.is-on:focus{background:var(--sp-navy-2);border-color:var(--sp-navy-2)}
@media (min-width:600px){
	.sp-toolbar{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 16px}
	.sp-toolbar .woocommerce-result-count{margin-right:auto}
	.sp-toolbar .sp-instock{flex:none}
	.sp-toolbar .woocommerce-ordering select{width:auto}
	.sp-toolbar + ul.products,.sp-toolbar ~ ul.products{clear:both}
}
.woocommerce nav.woocommerce-pagination{margin:32px 0 8px;text-align:left}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0;list-style:none}
.woocommerce nav.woocommerce-pagination ul li{border:0;float:none;margin:0;padding:0;overflow:visible}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{display:block;min-width:44px;padding:10px 14px;box-sizing:border-box;border:2px solid var(--sp-navy);background:#fff;color:var(--sp-navy);font:700 18px/1.2 var(--sp-cond);letter-spacing:.04em;text-align:center;text-decoration:none}
.woocommerce nav.woocommerce-pagination ul li a:hover,.woocommerce nav.woocommerce-pagination ul li a:focus{background:var(--sp-navy);color:#fff}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--sp-navy);color:#fff}

/* Product cards (shop, category, related, home shortcode) */
.woocommerce ul.products,.woocommerce-page ul.products{list-style:none;margin:0 0 32px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;clear:both}
.woocommerce ul.products::before,.woocommerce ul.products::after,.woocommerce-page ul.products::before,.woocommerce-page ul.products::after{display:none;content:none}
@media (min-width:600px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
@media (min-width:900px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* Related and up-sell lists: WooCommerce's twenty-twenty.css makes them display:flex (a column below 769px); put them on the same grid. */
.woocommerce div.product section.related ul.products,.woocommerce div.product section.up-sells ul.products,.woocommerce div.product section.upsells ul.products{display:grid;flex-direction:row;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 32px}
.woocommerce div.product section.related ul.products li.product,.woocommerce div.product section.up-sells ul.products li.product,.woocommerce div.product section.upsells ul.products li.product{margin:0}
@media (min-width:600px){.woocommerce div.product section.related ul.products,.woocommerce div.product section.up-sells ul.products,.woocommerce div.product section.upsells ul.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
@media (min-width:900px){.woocommerce div.product section.related ul.products,.woocommerce div.product section.up-sells ul.products,.woocommerce div.product section.upsells ul.products{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1100px){.woocommerce ul.products.columns-5,.woocommerce-page ul.products.columns-5{grid-template-columns:repeat(5,minmax(0,1fr))}}
.woocommerce ul.products[class*="columns-"] li.product,.woocommerce-page ul.products[class*="columns-"] li.product,.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{
	display:flex;flex-direction:column;float:none;clear:none;width:auto;max-width:none;margin:0;padding:0;position:relative;border:1px solid var(--sp-line);background:#fff;text-align:left;min-width:0;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1;text-decoration:none;color:var(--sp-navy)}
.woocommerce ul.products li.product a img,.woocommerce-page ul.products li.product a img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;box-sizing:border-box;padding:10px;margin:0;background:#fff;border-bottom:1px solid var(--sp-line);box-shadow:none}
.sp-brand-line{display:block;padding:14px 18px 0;font:700 14px/1.4 var(--sp-cond);letter-spacing:.12em;color:var(--sp-muted);text-transform:uppercase}
.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce-page ul.products li.product .woocommerce-loop-product__title{margin:0;padding:4px 18px 0;font:600 18px/1.3 var(--sp-body);letter-spacing:0;text-transform:none;font-style:normal;overflow-wrap:anywhere;color:var(--sp-navy)}
.woocommerce ul.products li.product a img + .woocommerce-loop-product__title{padding-top:14px}
.woocommerce ul.products li.product .price,.woocommerce-page ul.products li.product .price{display:block;margin-top:auto;padding:10px 18px 0;font:700 28px/1.1 var(--sp-cond);letter-spacing:0;color:var(--sp-navy)}
.woocommerce ul.products li.product .price del,.woocommerce div.product p.price del,.woocommerce div.product span.price del{color:var(--sp-muted);opacity:1;font-size:.75em;font-weight:600}
.woocommerce ul.products li.product .price ins,.woocommerce div.product p.price ins,.woocommerce div.product span.price ins{background:transparent;color:var(--sp-navy);font-weight:700;text-decoration:none}
.woocommerce ul.products li.product .button{margin:12px 18px 18px;width:calc(100% - 36px);padding:11px 8px;font-size:18px;box-sizing:border-box}
.woocommerce ul.products li.product .added_to_cart{margin:0 18px 18px}
.woocommerce ul.products li.product .star-rating{margin:6px 18px 0}
@media (max-width:600px){
	.sp-brand-line{padding:10px 12px 0}
	.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce-page ul.products li.product .woocommerce-loop-product__title{padding:4px 12px 0;font-size:16px}
	.woocommerce ul.products li.product .price,.woocommerce-page ul.products li.product .price{padding:8px 12px 0;font-size:24px}
	.woocommerce ul.products li.product .button{margin:10px 12px 14px;width:calc(100% - 24px);font-size:16px;letter-spacing:.04em}
	.woocommerce ul.products li.product .added_to_cart{margin:0 12px 14px}
}
.woocommerce span.onsale,.woocommerce ul.products li.product .onsale{position:absolute;top:10px;left:10px;right:auto;margin:0;min-width:0;min-height:0;padding:5px 10px;border-radius:0;background:var(--sp-navy);color:#fff;font:700 15px/1.2 var(--sp-cond);letter-spacing:.1em;text-transform:uppercase;z-index:2}
.woocommerce span.onsale{font-size:15px}
.woocommerce ul.products li.product.outofstock .woocommerce-loop-product__title::after{content:none}

/* ==========================================================================
   Product page
   ========================================================================== */
.woocommerce div.product{display:block;position:relative}
.woocommerce div.product::after{content:"";display:table;clear:both}
@media (min-width:900px){
	.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 48px;align-items:start}
	.woocommerce div.product div.images,.woocommerce-page div.product div.images{float:none;width:auto;margin:0}
	.woocommerce div.product div.summary,.woocommerce-page div.product div.summary{float:none;width:auto;margin:0}
	.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related,.woocommerce div.product .upsells,.woocommerce div.product > .sp-clear{grid-column:1 / -1}
}
.woocommerce div.product div.images,.woocommerce-page div.product div.images{float:none;width:100%;margin:0 0 24px}
.woocommerce div.product div.summary,.woocommerce-page div.product div.summary{float:none;width:100%;margin:0 0 24px}
.woocommerce div.product div.images img{display:block;width:100%;height:auto;border:1px solid var(--sp-line);background:#fff;object-fit:contain}
.woocommerce div.product div.images .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:8px 0 0;padding:0;list-style:none}
.woocommerce div.product div.images .flex-control-thumbs li{width:auto;float:none;margin:0}
.woocommerce div.product div.images .flex-control-thumbs img{border:1px solid var(--sp-line);opacity:1}
.woocommerce div.product div.images .flex-control-thumbs img.flex-active{border-color:var(--sp-navy);outline:2px solid var(--sp-navy)}
.woocommerce div.product .woocommerce-product-gallery__trigger{background:#fff;border:1px solid var(--sp-line);border-radius:0;top:10px;right:10px;left:auto;text-decoration:none;width:44px;height:44px}
.woocommerce div.product .woocommerce-product-gallery__trigger::before{border-color:var(--sp-navy)}
.woocommerce div.product .woocommerce-product-gallery__trigger::after{background:var(--sp-navy)}
.woocommerce div.product .product_title{font:italic 800 clamp(36px,7vw,56px)/1 var(--sp-cond);text-transform:uppercase;letter-spacing:.01em;margin:0 0 12px;padding:0;border:0;color:var(--sp-navy)}
.woocommerce div.product p.price,.woocommerce div.product span.price{font:700 38px/1.1 var(--sp-cond);letter-spacing:0;color:var(--sp-navy);margin:0 0 16px}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--sp-navy);margin:0 0 20px}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin:0 0 24px}
.woocommerce div.product form.cart .quantity{margin:0;float:none}
.woocommerce div.product form.cart .button.single_add_to_cart_button{flex:1 1 200px;float:none;font-size:20px;padding:12px 24px}
.woocommerce div.product form.cart .variations{width:100%;border:0}
.woocommerce div.product form.cart .variations td,.woocommerce div.product form.cart .variations th{border:0;padding:4px 0;display:block}
.woocommerce div.product .stock{font:600 16px var(--sp-body);margin:0 0 14px;color:var(--sp-navy)}
.woocommerce div.product .stock.out-of-stock,.woocommerce .stock.out-of-stock,.woocommerce ul.products li.product .out-of-stock{color:var(--sp-red);font-weight:600}
.woocommerce div.product .stock.in-stock,.woocommerce .stock.in-stock{color:#1B5E32}
.woocommerce div.product .product_meta{font:500 15px/1.6 var(--sp-body);color:var(--sp-muted);border-top:1px solid var(--sp-line);padding-top:14px;margin-top:8px}
.woocommerce div.product .product_meta > span{display:block}
.woocommerce div.product .product_meta a{color:var(--sp-navy)}
.woocommerce div.product .woocommerce-tabs{margin:16px 0 40px}
.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;flex-wrap:wrap;gap:0 4px;padding:0;margin:0 0 24px;list-style:none;border-bottom:1px solid var(--sp-line);overflow:visible}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs::after{display:none;border:0;content:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:0;border-radius:0;margin:0;padding:0;box-shadow:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none;content:none;border:0;box-shadow:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block;padding:12px 16px;font:700 20px/1.2 var(--sp-cond);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--sp-muted);border-bottom:4px solid transparent;margin-bottom:-1px}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--sp-navy);border-bottom-color:var(--sp-orange)}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{color:var(--sp-navy)}
.woocommerce div.product .woocommerce-tabs .panel{margin:0;padding:0}
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child{font-size:clamp(26px,4vw,32px);border:0;padding:0;margin-bottom:14px}
.woocommerce div.product .related > h2,.woocommerce div.product .upsells > h2,.woocommerce .cross-sells > h2,.woocommerce .cart_totals > h2{font:italic 800 clamp(28px,5vw,36px)/1.05 var(--sp-cond);text-transform:uppercase;margin:0 0 20px;padding-bottom:10px;border-bottom:4px solid var(--sp-orange)}
.woocommerce table.shop_attributes{border:0;border-top:1px solid var(--sp-line);width:100%}
.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td{border:0;border-bottom:1px solid var(--sp-line);padding:10px 8px;background:transparent;font-style:normal;text-align:left}
.woocommerce #reviews #comments ol.commentlist{padding:0;margin:0}
.woocommerce #reviews #comments ol.commentlist li .comment-text{border:1px solid var(--sp-line);border-radius:0;margin-left:0;padding:14px}
.woocommerce #review_form #respond p.stars a{color:var(--sp-navy)}
.woocommerce .star-rating span::before,.woocommerce p.stars a::before,.woocommerce p.stars a:hover~a::before{color:var(--sp-navy)}
.woocommerce .star-rating::before{color:var(--sp-field)}

/* ==========================================================================
   Classic notices (add-to-cart message, errors) and block notice banners: AA
   ========================================================================== */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notice,.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error,.woocommerce-store-notice{
	display:block;list-style:none;margin:0 0 24px;padding:16px 20px;background:var(--sp-grey);color:var(--sp-navy);border:0;border-left:6px solid var(--sp-navy);border-radius:0;font:500 17px/1.5 var(--sp-body);width:auto;overflow:hidden;box-sizing:border-box;
}
.woocommerce-message{border-left-color:var(--sp-navy)}
.woocommerce-info{border-left-color:var(--sp-orange)}
.woocommerce-error{border-left-color:var(--sp-red);background:#FDEDEC;padding-left:20px}
.woocommerce-error li{margin:0 0 4px}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none;content:none}
.woocommerce-message a,.woocommerce-info a,.woocommerce-error a{color:var(--sp-navy)}
.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button{float:right;margin:0 0 0 16px}
@media (max-width:600px){.woocommerce-message .button,.woocommerce-info .button{float:none;display:block;margin:0 0 12px}}
.woocommerce-notices-wrapper:empty{display:none}

/* Block notice banners (inside the cart and checkout blocks) */
body .wc-block-components-notice-banner{border:0;border-left:6px solid var(--sp-navy);border-radius:0;background:var(--sp-grey);color:var(--sp-navy);font:500 17px/1.5 var(--sp-body);padding:14px 16px;margin:0 0 20px}
body .wc-block-components-notice-banner.is-info{border-left-color:var(--sp-orange)}
body .wc-block-components-notice-banner.is-error{border-left-color:var(--sp-red);background:#FDEDEC}
body .wc-block-components-notice-banner.is-success{border-left-color:var(--sp-navy)}
body .wc-block-components-notice-banner.is-warning{border-left-color:var(--sp-orange)}
body .wc-block-components-notice-banner > svg{background:transparent;fill:var(--sp-navy);color:var(--sp-navy)}
body .wc-block-components-notice-banner.is-error > svg{fill:var(--sp-red)}
body .wc-block-components-notice-banner a{color:var(--sp-navy)}
body .wc-block-components-notice-banner .wc-block-components-button{background:var(--sp-orange);color:var(--sp-navy)}
body .wc-block-components-validation-error{color:var(--sp-red);font-size:15px}
body .wc-block-components-validation-error p{color:var(--sp-red)}

/* ==========================================================================
   Cart and Checkout blocks: CSS on .wc-block-* only
   ========================================================================== */
body .wp-block-woocommerce-cart,body .wp-block-woocommerce-checkout,body .wc-block-cart,body .wc-block-checkout,body .wc-block-components-sidebar-layout{font-family:var(--sp-body);color:var(--sp-navy);letter-spacing:0}
body .wc-block-cart *,body .wc-block-checkout *,body .wc-block-components-main *,body .wc-block-components-sidebar *{letter-spacing:0}
body .wc-block-cart h1,body .wc-block-cart h2,body .wc-block-cart h3,body .wc-block-checkout h1,body .wc-block-checkout h2,body .wc-block-checkout h3,
body .wc-block-components-title,body .wc-block-components-checkout-step__title,body .wc-block-cart__totals-title,body .wp-block-woocommerce-cart-order-summary-heading-block,body .wc-block-components-checkout-order-summary__title-text,body .wc-block-checkout__order-summary-title{
	font-family:var(--sp-cond);font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:.01em;color:var(--sp-navy);line-height:1.1;
}
body .wc-block-cart__totals-title,body .wc-block-components-checkout-step__title,body .wc-block-components-title.wc-block-components-title{font-size:clamp(22px,3.5vw,28px);font-style:italic}
body .wc-block-cart__totals-title{padding:0 0 10px;border-bottom:4px solid var(--sp-orange);text-align:left}
body .wc-block-cart-items th{font:700 15px/1.2 var(--sp-cond);letter-spacing:.1em;text-transform:uppercase;color:var(--sp-muted)}
body .wc-block-cart-items,body .wc-block-cart-items th,body .wc-block-cart-items td{border-color:var(--sp-line)}
body .wc-block-cart-item__product a.wc-block-components-product-name{font:600 18px/1.3 var(--sp-body);color:var(--sp-navy);text-decoration:underline;text-underline-offset:3px}
body .wc-block-components-product-price,body .wc-block-components-formatted-money-amount,body .wc-block-cart-item__prices{font-family:var(--sp-cond);font-weight:700;color:var(--sp-navy)}
body .wc-block-components-product-price__value,body .wc-block-cart-item__total .wc-block-components-product-price{font-size:22px}
body .wc-block-components-product-price__regular{color:var(--sp-muted);font-weight:600}
body .wc-block-components-product-metadata,body .wc-block-components-product-details{color:var(--sp-muted);font-size:15px}
body .wc-block-components-sale-badge,body .wc-block-components-product-badge{background:var(--sp-navy);color:#fff;border:0;border-radius:0;font:700 14px/1.2 var(--sp-cond);letter-spacing:.1em;text-transform:uppercase;padding:4px 8px}
body .wc-block-components-product-image img,body .wc-block-cart-item__image img{border:1px solid var(--sp-line);background:#fff;object-fit:contain}
body .wc-block-components-quantity-selector{border:2px solid var(--sp-field);border-radius:0;background:#fff;box-shadow:none}
body .wc-block-components-quantity-selector::after{border:0}
body .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input{color:var(--sp-navy);font:600 17px var(--sp-body);border:0;background:transparent}
body .wc-block-components-quantity-selector__button{color:var(--sp-navy);opacity:1;min-width:44px;background:transparent;border:0;border-radius:0}
body .wc-block-components-quantity-selector__button:hover{background:var(--sp-grey)}
body .wc-block-cart-item__remove-link,body .wc-block-components-product-metadata a{color:var(--sp-navy);text-decoration:underline;font-size:15px}
body .wc-block-components-totals-item__label,body .wc-block-components-totals-item__value,body .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{color:var(--sp-navy)}
body .wc-block-components-totals-item__value{font-family:var(--sp-cond);font-weight:700;font-size:20px}
body .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font:700 20px var(--sp-cond);text-transform:uppercase;letter-spacing:.04em}
body .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:28px}
body .wc-block-components-totals-wrapper,body .wc-block-components-totals-item,body .wc-block-components-panel,body .wc-block-components-order-summary,body .wc-block-components-order-summary-item,body .wc-block-checkout__sidebar .wc-block-components-totals-wrapper{border-color:var(--sp-line)}
body .wc-block-components-sidebar{padding-left:0}
body .wp-block-woocommerce-cart-order-summary-block,body .wc-block-components-sidebar .wc-block-components-panel,body .wc-block-checkout__sidebar{background:transparent}
body .wc-block-components-button:not(.is-link),body .wp-block-woocommerce-cart .wc-block-cart__submit-button,body .wc-block-cart__submit-button,body .wc-block-components-checkout-place-order-button,body .wc-block-components-totals-coupon__button,body .wc-block-components-button.wp-element-button{
	background:var(--sp-orange);color:var(--sp-navy);border:2px solid var(--sp-orange);border-radius:0;font:700 20px/1.1 var(--sp-cond);letter-spacing:.06em;text-transform:uppercase;padding:13px 24px;box-shadow:none;text-decoration:none;
}
body .wc-block-components-button:not(.is-link):hover,body .wc-block-components-button:not(.is-link):focus,body .wc-block-cart__submit-button:hover,body .wc-block-components-checkout-place-order-button:hover,body .wc-block-components-totals-coupon__button:hover{background:var(--sp-navy);border-color:var(--sp-navy);color:#fff}
body .wc-block-components-button:not(.is-link):disabled,body .wc-block-components-button[disabled]{background:var(--sp-grey);border-color:var(--sp-field);color:var(--sp-muted);opacity:1}
body .wc-block-components-button .wc-block-components-button__text{font:inherit;color:inherit}
body .wc-block-components-button.is-link,body .wc-block-components-checkout-return-to-cart-button,body .wc-block-components-panel__button,body .wc-block-components-totals-coupon-link{color:var(--sp-navy);font:600 16px var(--sp-body);text-decoration:underline;text-underline-offset:3px;background:transparent}
body .wc-block-components-checkout-return-to-cart-button svg{fill:var(--sp-navy)}
body .wc-block-components-text-input input,body .wc-block-components-text-input input[type="text"],body .wc-block-components-text-input input[type="email"],body .wc-block-components-text-input input[type="tel"],body .wc-block-components-text-input input[type="password"],body .wc-block-components-text-input input[type="number"],body .wc-block-components-textarea,body .wc-block-components-address-form__country select,body .wc-blocks-components-select .wc-blocks-components-select__select,body .wc-block-components-country-input select,body .wc-block-components-state-input select,body .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,body .wc-block-components-form .wc-block-components-text-input input{
	font:400 17px/1.4 var(--sp-body);color:var(--sp-navy);background:#fff;border:2px solid var(--sp-field);border-radius:0;box-shadow:none;
}
body .wc-block-components-text-input label,body .wc-blocks-components-select .wc-blocks-components-select__label,body .wc-block-components-combobox .components-form-field label,body .wc-block-components-textarea + label{color:var(--sp-muted);font-family:var(--sp-body);font-size:16px}
body .wc-block-components-text-input.is-active label,body .wc-block-components-text-input input:-webkit-autofill + label{color:var(--sp-muted)}
body .wc-block-components-text-input.has-error input,body .wc-block-components-text-input.has-error input:focus{border-color:var(--sp-red)}
body .wc-block-components-text-input.has-error label{color:var(--sp-red)}
body .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],body .wc-block-components-radio-control__input{border:2px solid var(--sp-field);border-radius:0;background:#fff}
body .wc-block-components-radio-control__input{border-radius:50%}
body .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],body .wc-block-components-radio-control__input{width:24px;height:24px;min-width:24px;min-height:24px}
body .wc-block-components-panel__button,body .wc-block-components-totals-coupon-link{min-height:24px}
body .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked,body .wc-block-components-radio-control__input:checked{border-color:var(--sp-navy)}
body .wc-block-components-checkbox .wc-block-components-checkbox__mark{fill:var(--sp-navy)}
body .wc-block-components-radio-control__input:checked::before{background:var(--sp-navy)}
body .wc-block-components-radio-control__option,body .wc-block-components-radio-control-accordion-option,body .wc-block-components-radio-control-accordion-content{border-color:var(--sp-line)}
body .wc-block-components-radio-control__label,body .wc-block-components-radio-control__description,body .wc-block-components-radio-control__secondary-label{color:var(--sp-navy);font-family:var(--sp-body)}
body .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,body .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted{box-shadow:inset 0 0 0 2px var(--sp-navy)}
body .wc-block-components-radio-control--highlight-checked:after{border:0}
body .wc-block-components-address-card{border:1px solid var(--sp-line);border-radius:0;color:var(--sp-navy)}
body .wc-block-components-address-card__edit{color:var(--sp-navy);text-decoration:underline}
body .wc-block-components-totals-coupon__input input{border:2px solid var(--sp-field)}
body .wc-block-components-panel__button{font-weight:600}
body .wc-block-components-panel__button-icon{fill:var(--sp-navy)}
body .wc-block-components-chip,body .wc-block-components-totals-discount__coupon-list .wc-block-components-chip{background:var(--sp-grey);color:var(--sp-navy);border:1px solid var(--sp-field);border-radius:0}
body .wc-block-components-product-badge{color:#fff}
body .wc-block-components-checkout-step{border-color:var(--sp-line)}
body .wc-block-components-checkout-step__description,body .wc-block-checkout__terms,body .wc-block-checkout__terms a{color:var(--sp-muted);font-size:15px}
body .wc-block-checkout__terms a{color:var(--sp-navy);text-decoration:underline}
body .wc-block-components-order-summary-item__quantity{background:var(--sp-navy);color:#fff;border:2px solid #fff;box-shadow:none;font-family:var(--sp-body);font-weight:600}
body .wc-block-components-order-summary-item__image img{border:1px solid var(--sp-line);background:#fff}
body .wc-block-components-order-summary__button-text{font-family:var(--sp-cond);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:20px}
body .wc-block-order-confirmation-status,body .wc-block-order-confirmation-summary,body .wc-block-order-confirmation-totals,body .wc-block-order-confirmation-billing-address,body .wc-block-order-confirmation-shipping-address,body .wp-block-woocommerce-order-confirmation-summary{font-family:var(--sp-body);color:var(--sp-navy)}
body .wc-block-order-confirmation-summary-list-item__key{font:700 14px var(--sp-cond);letter-spacing:.1em;text-transform:uppercase;color:var(--sp-muted)}
body .wc-block-order-confirmation-summary-list-item__value{font:600 18px var(--sp-body)}
body .wc-block-order-confirmation-totals__table,body .wc-block-order-confirmation-totals__table th,body .wc-block-order-confirmation-totals__table td{border-color:var(--sp-line);font-family:var(--sp-body)}
body .wc-block-order-confirmation-totals__table .wc-block-order-confirmation-totals__total{font-family:var(--sp-cond);font-weight:700;font-size:20px}
body .wc-block-order-confirmation-status h1,body .wp-block-woocommerce-order-confirmation-status h1{font-size:clamp(32px,6vw,44px)}
/* Empty cart */
body .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title,body .wp-block-woocommerce-empty-cart-block h2{font:italic 800 clamp(30px,5vw,40px)/1.05 var(--sp-cond);text-transform:uppercase;text-align:left;margin:0 0 16px;padding-bottom:10px;border-bottom:4px solid var(--sp-orange)}
body .wp-block-woocommerce-empty-cart-block .with-empty-cart-icon::before{display:none;content:none}
body .wp-block-woocommerce-empty-cart-block hr,body .wp-block-separator.is-style-dots{border-color:var(--sp-line)}
body .wp-block-woocommerce-empty-cart-block .wc-block-grid__products,body .wp-block-woocommerce-empty-cart-block .wc-block-product-new{margin-top:16px}
/* Product blocks on cart pages (cross sells, new in store) */
body .wc-block-grid__product{border:1px solid var(--sp-line);padding:0;text-align:left}
html body .wc-block-grid .wc-block-grid__product-link .wc-block-grid__product-title,body .wc-block-grid__product-title{font:600 18px/1.3 var(--sp-body);color:var(--sp-navy);padding:0 12px}
body .wc-block-grid__product-price{font:700 24px var(--sp-cond);color:var(--sp-navy);padding:0 12px}
body .wc-block-grid__product .wp-block-button__link{margin:8px 12px 12px}
body .wc-block-grid__product-image img{border-bottom:1px solid var(--sp-line);object-fit:contain;background:#fff}

/* ==========================================================================
   My account
   ========================================================================== */
.woocommerce-account .entry-content .woocommerce,.woocommerce-account .woocommerce{max-width:1200px;margin:0 auto}
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{float:none;width:100%;margin:0 0 24px}
@media (min-width:800px){
	body.logged-in.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px minmax(0,1fr);gap:0 40px;align-items:start}
	body.logged-in.woocommerce-account .woocommerce > .woocommerce-notices-wrapper,body.logged-in.woocommerce-account .woocommerce > .woocommerce-message,body.logged-in.woocommerce-account .woocommerce > .woocommerce-error{grid-column:1 / -1}
}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--sp-line)}
.woocommerce-MyAccount-navigation li{margin:0;border-bottom:1px solid var(--sp-line)}
.woocommerce-MyAccount-navigation li:last-child{border-bottom:0}
.woocommerce-MyAccount-navigation li a{display:block;padding:12px 16px;font:700 18px/1.2 var(--sp-cond);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--sp-navy);border-left:6px solid transparent}
.woocommerce-MyAccount-navigation li a:hover{background:var(--sp-grey)}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--sp-grey);border-left-color:var(--sp-orange)}
.woocommerce-MyAccount-content{overflow-wrap:anywhere}
.woocommerce-MyAccount-content p strong{overflow-wrap:anywhere}
.woocommerce-account .u-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
@media (min-width:800px){.woocommerce-account .u-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}
.woocommerce-account .u-columns .u-column1,.woocommerce-account .u-columns .u-column2{float:none;width:auto}
.woocommerce-account h2{margin-top:0}
.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme{display:inline-block;margin:0 16px 0 0}
.woocommerce-LostPassword{margin:12px 0 0}
.woocommerce-Address{margin:0 0 24px}
.woocommerce-Addresses{display:grid;gap:24px;grid-template-columns:minmax(0,1fr)}
@media (min-width:800px){.woocommerce-Addresses{grid-template-columns:repeat(2,minmax(0,1fr))}}
.woocommerce-Addresses .col-1,.woocommerce-Addresses .col-2{float:none;width:auto;max-width:none}
.woocommerce-Address-title h2,.woocommerce-Address-title h3{font-size:26px}
.woocommerce-Address-title a.edit{font:600 16px var(--sp-body);color:var(--sp-navy)}

/* Tables: orders, order details, cart (classic), shop_table */
.woocommerce table.shop_table,.woocommerce-page table.shop_table,table.woocommerce-orders-table{border:1px solid var(--sp-line);border-radius:0;border-collapse:collapse;width:100%;margin:0 0 24px;font:400 16px/1.4 var(--sp-body)}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border:0;border-top:1px solid var(--sp-line);padding:12px 14px;background:transparent;text-align:left;vertical-align:middle;font-style:normal}
.woocommerce table.shop_table th{font:700 15px/1.2 var(--sp-cond);letter-spacing:.1em;text-transform:uppercase;color:var(--sp-muted)}
.woocommerce table.shop_table td.woocommerce-orders-table__cell-order-actions .button{padding:8px 14px;font-size:16px}
.woocommerce table.shop_table tfoot th{color:var(--sp-navy)}
.woocommerce table.shop_table .amount{font-family:var(--sp-cond);font-weight:700;font-size:1.15em}
.woocommerce table.my_account_orders{font-size:16px}
@media (max-width:768px){
	/* WooCommerce turns these tables into stacked rows; keep them readable at 360px. */
	.woocommerce table.shop_table_responsive tr,.woocommerce-page table.shop_table_responsive tr{display:block;border-bottom:4px solid var(--sp-line)}
	.woocommerce table.shop_table_responsive tr:last-child{border-bottom:0}
	.woocommerce table.shop_table_responsive tr td,.woocommerce-page table.shop_table_responsive tr td{display:flex;justify-content:space-between;gap:12px;text-align:right!important;border-top:1px solid var(--sp-line);border-bottom:0}
	.woocommerce table.shop_table_responsive tr td::before,.woocommerce-page table.shop_table_responsive tr td::before{content:attr(data-title) ": ";float:none;font:700 14px/1.4 var(--sp-cond);letter-spacing:.1em;text-transform:uppercase;color:var(--sp-muted);text-align:left;flex:none}
	.woocommerce table.shop_table_responsive tr td.woocommerce-orders-table__cell-order-actions::before,.woocommerce table.shop_table_responsive tr td.actions::before{display:none}
	.woocommerce table.shop_table_responsive tr td.woocommerce-orders-table__cell-order-actions{justify-content:flex-start}
	.woocommerce table.shop_table_responsive tr:nth-child(2n) td,.woocommerce-page table.shop_table_responsive tr:nth-child(2n) td{background:transparent}
}

/* Classic cart and checkout fallbacks (the live pages are blocks) */
.woocommerce .cart_totals,.woocommerce-page .cart_totals{float:none;width:100%}
.woocommerce-checkout #payment{background:var(--sp-grey);border-radius:0}
.woocommerce-checkout #payment div.payment_box{background:#fff;color:var(--sp-navy)}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--sp-line)}
.woocommerce-order-received .woocommerce-order{max-width:760px}
.woocommerce ul.order_details{display:grid;gap:12px;padding:0;margin:0 0 24px;list-style:none}
.woocommerce ul.order_details li{float:none;border:0;border-left:4px solid var(--sp-orange);padding:0 0 0 12px;margin:0;font:700 14px var(--sp-cond);letter-spacing:.1em;text-transform:uppercase;color:var(--sp-muted)}
.woocommerce ul.order_details li strong{display:block;font:600 18px var(--sp-body);letter-spacing:0;text-transform:none;color:var(--sp-navy)}

/* Widgets that WooCommerce may print on the shop page */
.widget-title,.widget .widget-title{font:italic 800 24px/1.1 var(--sp-cond);text-transform:uppercase}

/* Twenty Twenty and WooCommerce hard-code #cd2653 in many places: neutralise each one */
:root .has-accent-color,:root .color-accent,.color-accent,.color-accent-hover:hover,.color-accent-hover:focus,.wp-block-pullquote::before,.has-drop-cap:not(:focus)::first-letter{color:var(--sp-navy)}
:root .has-accent-background-color,.bg-accent,.bg-accent-hover:hover,.bg-accent-hover:focus,.social-icons a,.footer-social a{background-color:var(--sp-orange);color:var(--sp-navy)}
.border-color-accent,.border-color-accent-hover:hover,.border-color-accent-hover:focus{border-color:var(--sp-orange)}
.fill-children-accent,.fill-children-accent *{fill:var(--sp-navy)}
.wp-block-button.is-style-outline,.wp-block-button.is-style-outline .wp-block-button__link{color:var(--sp-navy);background:transparent;border-color:var(--sp-navy)}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--sp-navy);color:#fff}
.woocommerce a.remove,.woocommerce a.remove:hover{color:var(--sp-navy)!important;background:transparent;font-weight:700;text-decoration:none}
.woocommerce a.remove:hover{background:var(--sp-navy);color:#fff!important}
.woocommerce-store-notice{position:static;border-top:0;border-left:6px solid var(--sp-orange);background:var(--sp-grey);color:var(--sp-navy)}
.woocommerce-checkout form .form-row.woocommerce-invalid input.input-text{border:2px solid var(--sp-red)}
.woocommerce div.product .woocommerce-tabs ul.tabs li a,.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{box-shadow:none}
.woocommerce-account .woocommerce-MyAccount-navigation{width:100%;margin:0 0 24px}
.woocommerce-account .woocommerce-MyAccount-navigation li{margin:0;padding:0;font-size:inherit;border-bottom:1px solid var(--sp-line)}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-bottom:0}
.woocommerce-account .woocommerce-MyAccount-navigation li a{box-shadow:none;color:var(--sp-navy);font-weight:700;text-decoration:none;text-underline-offset:4px}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{color:var(--sp-navy);text-decoration:none}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{color:var(--sp-navy);text-decoration:none;background:var(--sp-grey);border-left-color:var(--sp-orange)}
.logged-in.woocommerce-account #site-content .woocommerce-MyAccount-content,.logged-in.woocommerce-account #site-content .woocommerce-MyAccount-navigation{width:100%}
@media (min-width:800px){.woocommerce-account .woocommerce-MyAccount-navigation{margin:0}.woocommerce-account .woocommerce-MyAccount-content{margin:0}}

body .wc-block-components-sale-badge .wc-block-components-formatted-money-amount,body .wc-block-components-sale-badge *{color:#fff}
body .wc-block-components-order-summary-item .wc-block-components-order-summary-item__quantity{background-color:var(--sp-navy);color:#fff}
body .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button{color:var(--sp-navy);opacity:1}
body .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled{color:var(--sp-muted);opacity:1}

/* Focus inside the cart and checkout blocks (they bring their own, weaker, focus styles) */
body .wp-block-woocommerce-cart :focus-visible,body .wp-block-woocommerce-checkout :focus-visible,body .wc-block-components-button:focus-visible,body .wc-block-components-quantity-selector :focus-visible{outline:3px solid var(--sp-navy)!important;outline-offset:3px!important;box-shadow:none!important}
body .wc-block-components-quantity-selector:focus-within{box-shadow:none}

.woocommerce .content-area .site-main,.woocommerce-page .content-area .site-main{margin:0}
.woocommerce-account #site-content .woocommerce{max-width:1200px;padding:0;margin:0 auto}
.woocommerce-account #site-content .post-inner{padding-top:24px}
@media (max-width:600px){.sp-footer{margin-top:40px}}

@media (max-width:600px){
	/* Cart rows as a grid so image, details and total always fit the 360px column */
	body .wc-block-cart-items{display:block;width:100%}
	body .wc-block-cart-items thead{display:none}
	body .wc-block-cart-items tbody{display:block}
	body .wc-block-cart-items tbody tr.wc-block-cart-items__row{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:0 12px;align-items:start;padding:16px 0}
	body .wc-block-cart-items .wc-block-cart-items__row > td{display:block;padding:0;width:auto;min-width:0}
	body .wc-block-cart-items .wc-block-cart-item__image img,body .wc-block-cart-items .wc-block-components-product-image img{width:56px;height:auto;max-width:100%}
	body .wc-block-cart-items .wc-block-cart-item__total{text-align:right;max-width:110px}
	body .wc-block-cart-items .wc-block-cart-item__total .wc-block-components-sale-badge{white-space:normal;text-align:center}
	body .wc-block-cart-items .wc-block-components-quantity-selector__button{min-width:36px}
	body .wc-block-cart-items .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input{min-width:0;width:2.2em}
}

/* Twenty Twenty gives the title 80px above and below, and block-level content 80px margins */
body.singular .entry-header,body .entry-header,body .archive-header{padding:40px 0 0}
body.singular .entry-content > .wp-block-woocommerce-cart,body.singular .entry-content > .wp-block-woocommerce-checkout,body.singular .entry-content > .woocommerce,body.singular .entry-content > .wp-block-woocommerce-order-confirmation-status,
body.singular .entry-content > .alignwide.wp-block-woocommerce-cart,body.singular .entry-content > .alignwide.wp-block-woocommerce-checkout,body.singular .entry-content > .alignwide.wp-block-woocommerce-order-confirmation-status{margin-top:0;margin-bottom:0}
body.singular .entry-content > .wp-block-woocommerce-checkout{padding-top:0}

/* Print: the parent's print.css handles the rest */
@media print{.sp-header,.sp-footer,.sp-skip{display:none}}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
