/** Jugbitten Store visual layer. Keep all storefront presentation here. */
:root {
	--jb-bg: #0d0d0c;
	--jb-surface: #171715;
	--jb-card: #f4f1eb;
	--jb-card-text: #171715;
	--jb-text: #eee9df;
	--jb-muted: #b7b0a4;
	--jb-border: #37352f;
	--jb-accent: #d64234;
	--jb-danger: #d64234;
	--jb-width: 1280px;
	--jb-display: "Jug Type", Georgia, "Times New Roman", serif;
	--jb-body: Arimo, Arial, Helvetica, sans-serif;
	--jb-mono: "IBM Plex Mono", "Courier Prime", "Cascadia Mono", "Segoe UI Mono", Consolas, monospace;
}

body,
.site,
.ast-separate-container,
.ast-separate-container #primary,
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post {
	background: var(--jb-bg);
	color: var(--jb-text);
}

body, button, input, select, textarea { font-family: var(--jb-body); }

:focus-visible {
	outline: 3px solid var(--jb-accent);
	outline-offset: 3px;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.woocommerce-loop-product__title,
.woocommerce div.product .product_title {
	color: var(--jb-text);
	font-family: var(--jb-display);
	font-weight: 400;
	letter-spacing: -0.025em;
}

p, li, label,
.woocommerce-product-details__short-description,
.woocommerce-Tabs-panel { color: var(--jb-text); }

a { color: inherit; text-underline-offset: 0.2em; }
a:hover, a:focus-visible { color: var(--jb-accent); }

/* Header */
.site-header,
.ast-primary-header-bar,
.ast-mobile-header-wrap .ast-primary-header-bar {
	background: rgba(11, 11, 10, 0.97);
	border-bottom: 1px solid var(--jb-border);
}

.site-header .ast-container,
.site-content > .ast-container,
.woocommerce .site-content > .ast-container { max-width: var(--jb-width); }

/* Astra applies an SVG colour filter to inner-page logos; keep the mark white. */
.site-header .custom-logo,
.site-header .ast-mobile-header-logo {
	filter: brightness(0) invert(1) !important;
	opacity: 1 !important;
}

.ast-separate-container .ast-woocommerce-container,
.woocommerce.ast-separate-container .ast-woocommerce-container,
.woocommerce .ast-woocommerce-container {
	background-color: var(--jb-bg) !important;
	color: var(--jb-text);
}

.main-header-menu .menu-link,
.ast-builder-menu-1 .menu-item > .menu-link,
.ast-builder-menu-1 .inline-on-mobile .menu-item > .ast-menu-toggle,
.ast-header-break-point .main-header-menu .menu-link,
.ast-site-header-cart .ast-addon-cart-wrap,
.site-header .site-title a { color: var(--jb-text) !important; }

.main-header-menu .menu-link {
	font-family: var(--jb-body);
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.jb-language-menu {
	align-items: center;
	display: flex;
	font-family: var(--jb-mono);
	font-size: .62rem;
	letter-spacing: .08em;
}
.jb-language-menu .menu-link { padding-left: .38rem !important; padding-right: .38rem !important; }
.jb-language-menu .is-current { color: var(--jb-accent) !important; }
.jb-language-menu { display: none !important; }
.jb-header-language {
	align-items: center;
	border: 1px solid var(--jb-border);
	display: flex;
	font-family: var(--jb-mono);
	font-size: .68rem;
	font-weight: 700;
	gap: .28rem;
	letter-spacing: .06em;
	line-height: 1;
	margin-right: .6rem;
	padding: .42rem .5rem;
	text-transform: uppercase;
}
.jb-header-language a { color: var(--jb-text) !important; text-decoration: none; }
.jb-header-language a[aria-current="page"] { color: var(--jb-accent) !important; }
.jb-header-language a:hover,
.jb-header-language a:focus-visible { color: var(--jb-accent) !important; }
.wpml-ls-statics-footer { display: none !important; }

/* Reversible front-page layer. The legacy Elementor layout remains in the DB. */
.home .jb-legacy-home { display: none !important; }
.home.ast-theme-transparent-header #masthead,
.home .site-header { position: relative !important; }
.home .entry-content { margin: 0; }
.home .site-content > .ast-container,
.home #primary,
.home .ast-article-single { max-width: none; padding: 0; }

.jb-storefront { background: var(--jb-bg); color: var(--jb-text); }
.jb-shipping-bar {
	background: #11110f;
	border-bottom: 1px solid var(--jb-border);
	color: var(--jb-text);
	font-family: var(--jb-mono);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	padding: 0.55rem 1.25rem;
	text-align: center;
	text-transform: uppercase;
}

.jb-hero {
	display: grid;
	height: clamp(35rem, 72vh, 42.5rem);
	overflow: hidden;
	position: relative;
}
.jb-hero__media,
.jb-hero__content { grid-area: 1 / 1; }
.jb-hero__media { background: #070707; }
.jb-hero__media::after {
	background: linear-gradient(90deg, rgba(13,13,12,.96) 0%, rgba(13,13,12,.72) 39%, rgba(13,13,12,.12) 72%);
	content: "";
	inset: 0;
	position: absolute;
}
.jb-hero__media img {
	filter: grayscale(1) contrast(1.08);
	height: 100%;
	object-fit: cover;
	object-position: 58% center;
	width: 100%;
}
.jb-hero__content {
	align-content: center;
	display: grid;
	justify-items: start;
	margin: 0 auto;
	max-width: var(--jb-width);
	padding: clamp(4rem, 8vw, 7rem) clamp(1.5rem, 5vw, 4.5rem);
	position: relative;
	width: 100%;
	z-index: 1;
}
.jb-eyebrow {
	color: var(--jb-muted);
	font-family: var(--jb-mono);
	font-size: .67rem;
	font-weight: 700;
	letter-spacing: .14em;
	margin: 0 0 1.5rem;
	text-transform: uppercase;
}
.jb-hero h1 {
	color: var(--jb-text);
	font-family: var(--jb-display);
	font-size: clamp(3.6rem, 6vw, 4.8rem);
	line-height: .94;
	margin: 0;
	max-width: 18ch;
}
.jb-hero h1 span { white-space: nowrap; }
.jb-hero__lead {
	color: var(--jb-text);
	font-size: clamp(1rem, 1.5vw, 1.18rem);
	line-height: 1.55;
	margin: 1.75rem 0 0;
	max-width: 40rem;
}
.jb-hero__lead span { font-weight: 700; }
.jb-hero__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 1.15rem; margin-top: 1.65rem; }
.jb-button {
	align-items: center;
	border: 1px solid var(--jb-text);
	display: inline-flex;
	font-family: var(--jb-body);
	font-size: .78rem;
	font-weight: 700;
	justify-content: center;
	letter-spacing: .08em;
	min-height: 48px;
	padding: .8rem 1.35rem;
	text-decoration: none;
	text-transform: uppercase;
}
.jb-button--primary { background: var(--jb-accent); border-color: var(--jb-accent); color: #fff; }
.jb-button--primary:hover { background: #b93429; color: #fff; }
.jb-brand-link {
	border-bottom: 1px solid rgba(238,233,223,.45);
	color: var(--jb-text);
	font-family: var(--jb-mono);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .08em;
	padding: .35rem 0;
	text-decoration: none;
	text-transform: uppercase;
}
.jb-brand-link:hover { border-color: var(--jb-accent); color: var(--jb-accent); }

.jb-category-links {
	align-items: center;
	border-bottom: 1px solid var(--jb-border);
	border-top: 1px solid var(--jb-border);
	display: flex;
	gap: clamp(.8rem, 2vw, 1.5rem);
	justify-content: center;
	margin: 0 auto;
	max-width: var(--jb-width);
	padding: 1.2rem 1.35rem;
}
.jb-category-links a {
	font-family: var(--jb-body);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-decoration: none;
	text-transform: uppercase;
}
.jb-category-index {
	color: var(--jb-muted);
	font-family: var(--jb-mono);
	font-size: .64rem;
	font-weight: 600;
	letter-spacing: .06em;
	margin-right: .4rem;
}
.jb-category-links a:hover .jb-category-index,
.jb-category-links a:focus-visible .jb-category-index { color: var(--jb-accent); }
.jb-category-name { border-bottom: 1px solid transparent; }
.jb-category-links a:hover .jb-category-name,
.jb-category-links a:focus-visible .jb-category-name { border-color: var(--jb-accent); }
.jb-category-links > span { color: var(--jb-muted); }

.jb-collection {
	margin: 0 auto;
	max-width: var(--jb-width);
	padding: clamp(4.5rem, 8vw, 7rem) clamp(1.25rem, 4vw, 3.5rem);
}
.jb-section-heading {
	align-items: end;
	display: grid;
	grid-template-columns: 1fr auto;
	margin-bottom: 2rem;
}
.jb-section-heading .jb-eyebrow { grid-column: 1 / -1; margin-bottom: .65rem; }
.jb-storefront .jb-section-heading h2 {
	color: var(--jb-text);
	font-family: var(--jb-display);
	font-size: clamp(2.15rem, 3.8vw, 3.5rem);
	line-height: 1;
	margin: 0;
}
.jb-section-heading > a { color: var(--jb-text); font-weight: 700; }
.jb-product-grid { display: grid; gap: clamp(1rem, 2vw, 1.75rem); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.jb-product-card {
	background: var(--jb-card);
	color: var(--jb-card-text);
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.jb-product-card__media { aspect-ratio: 1; background: #fff; display: block; overflow: hidden; }
.jb-product-card__image { height: 100%; margin: 0; object-fit: contain; width: 100%; }
.jb-product-card__body { display: flex; flex: 1; flex-direction: column; padding: clamp(1rem, 2vw, 1.4rem); }
.jb-product-card h3 { font-family: var(--jb-body); font-size: clamp(1.1rem, 1.8vw, 1.4rem); font-weight: 700; line-height: 1.2; margin: 0 0 1rem; }
.jb-product-card h3 a,
.jb-product-card__price,
.jb-product-card__status { color: var(--jb-card-text); }
.jb-product-card__meta { align-items: baseline; display: flex; flex-wrap: wrap; gap: .5rem 1rem; justify-content: space-between; margin: auto 0 1.25rem; }
.jb-product-card__price { font-size: 1rem; font-weight: 700; }
.jb-product-card__status {
	font-family: var(--jb-mono);
	font-size: .72rem;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.jb-button--dark { background: var(--jb-card-text); border-color: var(--jb-card-text); color: var(--jb-card); width: 100%; }
.jb-button--dark:hover { background: var(--jb-accent); border-color: var(--jb-accent); color: #fff; }

.main-header-menu > .menu-item > .menu-link:hover,
.main-header-menu > .current-menu-item > .menu-link { color: var(--jb-text); }

/* Page context */
.ast-archive-description,
.woocommerce-breadcrumb,
.woocommerce .woocommerce-breadcrumb {
	background: transparent;
	border: 0;
	color: var(--jb-muted);
}

.woocommerce-breadcrumb,
.woocommerce .woocommerce-breadcrumb,
.woocommerce-result-count {
	font-family: var(--jb-mono);
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count,
.woocommerce-products-header__title,
.woocommerce-products-header .page-title {
	color: var(--jb-text);
}

/* Sidebar */
.widget,
.widget-area .widget {
	background: transparent;
	border-bottom: 1px solid var(--jb-border);
	color: var(--jb-text);
	padding-bottom: 1.5rem;
}

.widget-title,
.widget .wp-block-heading {
	color: var(--jb-text);
	font-family: var(--jb-mono);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.widget a, .widget li, .widget_price_filter .price_label { color: var(--jb-text); }
.widget .product_list_widget a,
.widget .product_list_widget .product-title,
.widget_products a,
.widget_products .product-title { color: var(--jb-text) !important; }

/* Product archive */
.woocommerce ul.products {
	column-gap: clamp(1rem, 2vw, 2rem);
	row-gap: clamp(2rem, 4vw, 4rem);
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background: var(--jb-card);
	border: 1px solid rgba(244, 241, 235, .18);
	box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
	margin-bottom: 0;
	padding: 0 0 1.15rem;
	transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
	border-color: rgba(244, 241, 235, .42);
	box-shadow: 0 16px 34px rgba(0, 0, 0, .2);
	transform: translateY(-3px);
}

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
	background: #fff;
	border: 0;
	border-bottom: 1px solid #d9d2c7;
	overflow: hidden;
}

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap > .woocommerce-LoopProduct-link {
	display: block;
	overflow: hidden;
	position: relative;
}

.jb-card-hover-gallery {
	inset: 0;
	overflow: hidden;
	pointer-events: none;
	position: absolute;
}

.woocommerce ul.products li.product .jb-card-hover-image {
	height: 100%;
	inset: 0;
	margin: 0 !important;
	object-fit: cover;
	opacity: 0;
	position: absolute;
	transform: none !important;
	width: 100%;
}

@media (hover: hover) and (pointer: fine) {
	.woocommerce ul.products li.product:hover .jb-card-hover-image--1 {
		animation: jb-card-image-three 4.2s ease-in-out infinite;
	}
	.woocommerce ul.products li.product:hover .jb-card-hover-image--2 {
		animation: jb-card-image-four 4.2s ease-in-out infinite;
	}
}

@keyframes jb-card-image-three {
	0%, 100% { opacity: 0; }
	8%, 46% { opacity: 1; }
	54%, 92% { opacity: 0; }
}

@keyframes jb-card-image-four {
	0%, 48% { opacity: 0; }
	56%, 94% { opacity: 1; }
	100% { opacity: 0; }
}

.woocommerce ul.products li.product a img {
	margin: 0;
	transition: transform 450ms ease, opacity 250ms ease;
}

.woocommerce ul.products li.product:hover a img {
	opacity: 0.94;
	transform: scale(1.015);
}

.woocommerce ul.products li.product .astra-shop-summary-wrap { padding: 1rem 1.15rem 0; }

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--jb-card-text);
	font-family: var(--jb-body);
	font-weight: 700;
	font-size: clamp(1.25rem, 2vw, 1.7rem);
	line-height: 1.1;
	margin-bottom: 0.5rem;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--jb-text);
	font-family: var(--jb-body);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}
.woocommerce ul.products li.product .price { color: var(--jb-card-text); }

/* Archive choices sit on the light card, so use dark text and a defined state. */
.woocommerce ul.products li.product .cfvsw-swatches-option.cfvsw-label-option {
	background: #e8e2d8;
	border-color: #c9c1b5;
	color: var(--jb-card-text) !important;
	font-size: .72rem;
	font-weight: 700;
	line-height: 1.25;
}
.woocommerce ul.products li.product .cfvsw-swatches-option.cfvsw-label-option:hover,
.woocommerce ul.products li.product .cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch {
	background: var(--jb-card-text);
	border-color: var(--jb-card-text);
	color: var(--jb-card) !important;
}

.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale {
	background: var(--jb-text);
	border-radius: 0;
	color: var(--jb-bg);
	font-family: var(--jb-mono);
	font-size: 0.65rem;
	letter-spacing: 0.08em;
	line-height: 1;
	min-height: auto;
	min-width: auto;
	padding: 0.55rem 0.7rem;
	text-transform: uppercase;
}

.woocommerce .woocommerce-ordering select {
	background-color: var(--jb-surface);
	border: 1px solid var(--jb-border);
	border-radius: 0;
	color: var(--jb-text);
}

/* Product page */
.woocommerce div.product .woocommerce-product-gallery__wrapper,
.woocommerce div.product .woocommerce-product-gallery__image { background: var(--jb-surface); }
.woocommerce div.product .summary { padding: clamp(0rem, 2vw, 2rem) 0; }

.woocommerce div.product .product_title {
	font-size: clamp(2.25rem, 5vw, 4.5rem);
	line-height: 0.98;
}

.woocommerce div.product form.cart,
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .product_meta { border-color: var(--jb-border); }

.woocommerce div.product .product_meta,
.woocommerce div.product .product_meta a {
	color: var(--jb-muted);
	font-family: var(--jb-mono);
	font-size: 0.72rem;
	letter-spacing: 0.05em;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li { border-color: var(--jb-border); }
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: transparent; }

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	color: var(--jb-muted);
	font-family: var(--jb-mono);
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--jb-text); }

/* Variation labels must remain readable on the dark product surface. */
.woocommerce div.product .cfvsw-swatches-option.cfvsw-label-option {
	background: var(--jb-surface);
	border-color: var(--jb-border);
	color: var(--jb-text);
}
.woocommerce div.product .cfvsw-swatches-option.cfvsw-label-option:hover,
.woocommerce div.product .cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch {
	background: var(--jb-text);
	border-color: var(--jb-text);
	color: var(--jb-bg);
}

/* Controls, cart and checkout */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wp-element-button,
button,
input[type="submit"] {
	background: var(--jb-text);
	border: 1px solid var(--jb-text);
	border-radius: 0;
	color: var(--jb-bg);
	font-family: var(--jb-body);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	padding: 0.9rem 1.25rem;
	text-transform: uppercase;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.wp-element-button:hover,
button:hover,
input[type="submit"]:hover {
	background: transparent;
	color: var(--jb-text);
}

input[type="text"], input[type="email"], input[type="tel"],
input[type="password"], input[type="number"], input[type="search"],
select, textarea,
.select2-container--default .select2-selection--single {
	background: var(--jb-surface);
	border: 1px solid var(--jb-border);
	border-radius: 0;
	color: var(--jb-text);
}

.woocommerce table.shop_table,
.woocommerce-cart-form,
.cart-collaterals .cart_totals,
.woocommerce-checkout-review-order,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
	background: transparent;
	border-color: var(--jb-border);
	color: var(--jb-text);
}

/* Cart and checkout use a calm light work surface inside the dark brand frame. */
body.woocommerce-cart article.ast-article-single,
body.woocommerce-cart .entry-content {
	background: var(--jb-card) !important;
	color: var(--jb-card-text) !important;
}
body.woocommerce-cart article.ast-article-single h1,
body.woocommerce-cart article.ast-article-single h2,
body.woocommerce-cart article.ast-article-single p,
body.woocommerce-cart article.ast-article-single a:not(.button) {
	color: var(--jb-card-text) !important;
}

/* The header already exposes the cart; avoid a second control over mobile content. */
.moderncart-floating-cart-button { display: none !important; }

.woocommerce table.shop_table th,
.woocommerce table.shop_table td { border-color: var(--jb-border); }

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
	background: var(--jb-surface);
	border-color: var(--jb-border);
	color: var(--jb-text);
}
.woocommerce-error { border-top-color: var(--jb-danger); }

/* Footer */
.site-footer,
.site-primary-footer-wrap,
.site-below-footer-wrap {
	background: var(--jb-bg) !important;
	border-top: 1px solid var(--jb-border);
	color: var(--jb-muted);
}
.site-footer *,
.site-footer a, .site-footer p, .site-footer .widget-title { color: var(--jb-text); }
.site-footer .ast-builder-social-element { color: var(--jb-text) !important; filter: grayscale(1); }
#colophon,
#colophon .footer-width-fixer,
#colophon .elementor,
#colophon .e-con,
#colophon .e-con-inner {
	background-color: var(--jb-bg) !important;
	background-image: none !important;
}
#colophon .elementor-social-icon {
	background-color: var(--jb-surface) !important;
	color: var(--jb-text) !important;
}
#colophon .elementor-social-icon svg { fill: var(--jb-text) !important; }
#colophon .elementor-widget-social-icons .elementor-social-icons-wrapper {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: .35rem;
	justify-content: flex-end !important;
	text-align: right !important;
}
#colophon .footer-social-item {
	align-items: center;
	color: var(--jb-text) !important;
	display: inline-flex !important;
	filter: none !important;
	height: 42px;
	justify-content: center;
	line-height: 1;
	margin: 0 !important;
	min-width: 42px;
	padding: 10px;
	position: relative;
	transition: color .2s ease;
}
#colophon .footer-social-item .social-item-label { display: none !important; }
#colophon .footer-social-item .ahfb-svg-iconset {
	display: inline-flex;
	height: 20px;
	width: 20px;
}
#colophon .footer-social-item svg {
	fill: currentColor !important;
	height: 20px;
	width: 20px;
}
#colophon .footer-social-item:hover,
#colophon .footer-social-item:focus-visible { color: var(--jb-accent) !important; }
#colophon .footer-social-item:focus-visible {
	outline: 2px solid var(--jb-accent);
	outline-offset: 2px;
}
#colophon .elementor-widget-copyright,
#colophon .ast-footer-copyright { display: none; }
.jb-footer-original-copyright {
	color: var(--jb-muted);
	font-family: var(--jb-mono);
	font-size: .78rem;
	letter-spacing: .04em;
	line-height: 1.55;
	margin: 0 0 .8rem;
	text-transform: uppercase;
}
.jb-footer-legal {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	font-family: var(--jb-mono);
	font-size: .8125rem;
	gap: .65rem 1.25rem;
	grid-column: 1 / -1;
	justify-self: start;
	letter-spacing: .04em;
	margin-top: .35rem;
	text-transform: uppercase;
}
.jb-footer-legal a {
	border-bottom: 1px solid transparent;
	text-decoration: none;
}
.jb-footer-legal a:hover,
.jb-footer-legal a:focus-visible { border-bottom-color: currentColor; }

/* Customer Reviews prints an inactive PhotoSwipe shell on every page. Its
 * stylesheet is intentionally removed from the lightweight front page, so
 * keep the unused controls out of the document flow there. */
.home .cr-pswp { display: none !important; }

/* Keep desktop social icons level with the copyright line without changing
 * their established right-hand x-position. Mobile remains unchanged. */
@media (min-width: 922px) {
	#colophon .site-footer-below-section-4 .ast-footer-social-1-wrap {
		transform: translateY(81px);
	}
}

@media (max-width: 921px) {
	.ast-header-break-point .main-navigation,
	.ast-header-break-point .main-header-menu { background: var(--jb-bg); }
	.ast-header-break-point .main-header-menu .menu-link { border-color: var(--jb-border); }
	.jb-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.woocommerce ul.products { column-gap: 1rem; row-gap: 2.5rem; }
	.woocommerce div.product .product_title { font-size: clamp(2.15rem, 12vw, 3.4rem); }
}

@media (max-width: 544px) {
	.jb-header-language { font-size: .64rem; margin-right: .45rem; padding: .38rem .42rem; }
	.jb-shipping-bar { font-size: .66rem; }
	.jb-hero { display: block; height: auto; min-height: 0; }
	.jb-hero__media { height: clamp(16rem, 82vw, 22rem); position: relative; }
	.jb-hero__media::after { background: linear-gradient(180deg, rgba(13,13,12,0) 55%, var(--jb-bg) 100%); }
	.jb-hero__media img { object-position: 58% center; }
	.jb-hero__content { margin-top: -1.5rem; padding: 0 1.35rem 3.75rem; }
	.jb-eyebrow { font-size: .65rem; }
	.jb-hero h1 { font-size: clamp(2.25rem, 10.2vw, 2.65rem); line-height: .98; max-width: none; }
	.jb-hero h1 span { display: block; white-space: normal; }
	.jb-hero__lead { font-size: 1rem; margin-top: 1.25rem; }
	.jb-hero__actions { align-items: flex-start; display: grid; justify-items: start; width: 100%; }
	.jb-button { width: 100%; }
	.jb-brand-link { margin-top: .25rem; }
	.jb-category-links { align-items: flex-start; flex-direction: column; gap: .65rem; }
	.jb-category-links > span { display: none; }
	.jb-footer-legal {
		align-items: flex-start;
		flex-direction: column;
		font-size: 14px;
		gap: .55rem;
		line-height: 1.6;
	}
	.jb-footer-legal a { min-height: 40px; padding: .45rem 0; }
	.jb-footer-original-copyright { font-size: 13px; }
	#colophon .elementor-widget-social-icons .elementor-social-icons-wrapper { gap: .25rem; }
	.jb-collection { padding: 3.75rem 1.25rem; }
	.jb-section-heading { display: block; }
	.jb-section-heading h2 { margin-bottom: 1rem; }
	.jb-product-grid { grid-template-columns: 1fr; }
	.woocommerce ul.products[class*="columns-"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.05rem; }
	.woocommerce ul.products li.product .price { font-size: 0.72rem; }
}

@media (max-width: 420px) {
	.woocommerce ul.products[class*="columns-"] { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
	.woocommerce ul.products li.product:hover .jb-card-hover-image--1 { opacity: 1; }
	.woocommerce ul.products li.product:hover .jb-card-hover-image--2 { opacity: 0; }
}

/* 0.3.26: keep desktop hero children inside the fixed hero height. */
@media (min-width: 545px) {
	.jb-hero { grid-template-rows: minmax(0, 1fr); }
	.jb-hero__media,
	.jb-hero__content { min-height: 0; }
}

/* 0.3.27: focused WooCommerce catalogue and product refinement. */
body.woocommerce.archive #secondary { display: none !important; }
body.woocommerce.archive #primary {
	float: none;
	margin: 0;
	width: 100%;
}
body.woocommerce.archive .site-content > .ast-container { max-width: var(--jb-width); }
body.woocommerce.archive .ast-woocommerce-container { padding-inline: clamp(1.25rem, 4vw, 3.5rem); }

.jb-archive-field-note,
.jb-product-field-note,
.jb-single-field-note {
	color: var(--jb-muted);
	font-family: var(--jb-mono);
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .09em;
	line-height: 1.45;
	text-transform: uppercase;
}
.jb-archive-field-note { margin: .45rem 0 0; }
.jb-product-field-note { color: #615d55; margin: .15rem 0 .65rem; }
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap .jb-product-field-note {
	box-sizing: border-box;
	padding-inline: 1.15rem;
}
.jb-single-field-note { margin: 0 0 .8rem; }

body.woocommerce.archive .woocommerce-products-header {
	border-bottom: 1px solid var(--jb-border);
	margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
	padding-bottom: clamp(1.25rem, 2vw, 1.75rem);
}
body.woocommerce.archive .woocommerce-products-header__title,
body.woocommerce.archive .woocommerce-products-header .page-title {
	font-size: clamp(2.5rem, 5vw, 4.75rem);
	line-height: .95;
	margin-bottom: 0;
}
body.woocommerce.archive .woocommerce-result-count { color: var(--jb-muted); }

/* Variation choices belong on the product page, not in catalogue cards. */
.woocommerce ul.products li.product table.variations,
.woocommerce ul.products li.product .variations_form,
.woocommerce ul.products li.product .cfvsw_variations_form,
.woocommerce ul.products li.product .cfvsw-swatches-container,
.woocommerce ul.products li.product .reset_variations,
.woocommerce ul.products li.product .single_variation_wrap,
.woocommerce ul.products li.product .ast-on-card-button { display: none !important; }

.woocommerce ul.products li.product .astra-shop-summary-wrap {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 11.75rem;
	padding: 1.05rem 1.15rem 1.15rem;
}
.woocommerce ul.products li.product { display: flex; flex-direction: column; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { margin-bottom: .45rem; }
.woocommerce ul.products li.product .price { margin-bottom: 1rem; }
.jb-loop-cta {
	align-items: center;
	border-top: 1px solid #d3cdc2;
	color: var(--jb-card-text) !important;
	display: flex;
	font-family: var(--jb-mono);
	font-size: .7rem;
	font-weight: 700;
	justify-content: space-between;
	letter-spacing: .08em;
	margin-top: auto;
	padding-top: .85rem;
	text-decoration: none;
	text-transform: uppercase;
}
.jb-loop-cta:hover,
.jb-loop-cta:focus-visible { color: var(--jb-accent) !important; }
.woocommerce ul.products li.product > .jb-loop-cta { margin-inline: 1.15rem; }

.woocommerce div.product .summary .price { margin-bottom: 1.35rem; }
.woocommerce div.product form.cart { margin-top: 1.25rem; padding-top: 1.25rem; }
.woocommerce div.product form.cart .variations { margin-bottom: 1.25rem; }
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td { padding-bottom: .8rem; }
.woocommerce div.product form.cart .variations label {
	font-family: var(--jb-mono);
	font-size: .7rem;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.woocommerce div.product .stock { font-family: var(--jb-mono); font-size: .72rem; letter-spacing: .05em; }

/* The existing first three-item Refined list becomes a quiet feature ledger. */
.jb-refined-product .woocommerce-Tabs-panel--description > ul:first-of-type {
	counter-reset: jb-refined;
	list-style: none;
	margin: 1.75rem 0;
	padding: 0;
}
.jb-refined-product .woocommerce-Tabs-panel--description > ul:first-of-type > li {
	align-items: baseline;
	border-top: 1px solid var(--jb-border);
	counter-increment: jb-refined;
	display: grid;
	font-family: var(--jb-mono);
	font-size: .78rem;
	font-weight: 600;
	grid-template-columns: 2.75rem 1fr;
	letter-spacing: .05em;
	margin: 0;
	padding: .95rem 0;
	text-transform: uppercase;
}
.jb-refined-product .woocommerce-Tabs-panel--description > ul:first-of-type > li:last-child { border-bottom: 1px solid var(--jb-border); }
.jb-refined-product .woocommerce-Tabs-panel--description > ul:first-of-type > li::before {
	color: var(--jb-muted);
	content: counter(jb-refined, decimal-leading-zero) " /";
}

@media (max-width: 544px) {
	body.woocommerce.archive .ast-woocommerce-container { padding-inline: 1rem; }
	body.woocommerce.archive .woocommerce-breadcrumb { margin-bottom: 1rem; }
	body.woocommerce.archive .woocommerce-products-header { margin-bottom: 1.35rem; }
	body.woocommerce.archive .woocommerce-result-count,
	body.woocommerce.archive .woocommerce-ordering { float: none; margin: 0 0 1rem; width: 100%; }
	body.woocommerce.archive .woocommerce-ordering select { width: 100%; }
	.woocommerce ul.products { row-gap: 1.5rem; }
	.woocommerce ul.products li.product .astra-shop-summary-wrap { min-height: 10.5rem; padding: .9rem; }
	.woocommerce ul.products li.product .astra-shop-thumbnail-wrap .jb-product-field-note { padding-inline: .9rem; }
	.jb-product-field-note { font-size: .61rem; letter-spacing: .06em; overflow-wrap: normal; }
	.woocommerce ul.products li.product > .jb-loop-cta { margin-inline: .9rem; }
	.jb-loop-cta { min-height: 44px; }
	.woocommerce div.product .summary { padding-inline: .15rem; }
}


/* Header cart total: high-contrast on desktop and mobile. */
.ast-site-header-cart .ast-woo-header-cart-info-wrap,
.ast-site-header-cart .ast-woo-header-cart-total,
.ast-site-header-cart .ast-woo-header-cart-total .woocommerce-Price-amount,
.ast-site-header-cart .ast-woo-header-cart-total .woocommerce-Price-currencySymbol {
        color: #ffffff !important;
            opacity: 1 !important;
                font-weight: 700 !important;
                    -webkit-font-smoothing: antialiased;
}

