/*
Theme Name: Checkpoint Store
Theme URI: https://checkpoint.bg
Description: Block child theme for checkpoint.pub storefront hubs (Warhammer, TCG, Hobby & Accessories). Uses WooCommerce Product Collection blocks and Bulgarian UI labels.
Author: Checkpoint
Template: twentytwentyfive
Version: 1.17.133
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: checkpoint-store
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* Branding: Sofia Sans + checkpoint palette from theme.json (restored from Site Editor global styles). */

@font-face {
	font-family: "Sofia Sans";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("assets/fonts/sofia-sans/SofiaSans-Medium.woff2") format("woff2");
}

@font-face {
	font-family: "Sofia Sans";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("assets/fonts/sofia-sans/SofiaSans-Bold.woff2") format("woff2");
}

:root {
	--checkpoint-grid-gap: 1.5rem;
	--checkpoint-hub-bento-row-height: clamp(10.5rem, 16vw, 13.5rem);
	--checkpoint-product-grid-gap: var(--checkpoint-grid-gap);
	--checkpoint-page-gutter: 1rem;
	--checkpoint-product-in-cart: #00bfa5;
	--checkpoint-product-preorder: #00b49c;
	--checkpoint-product-order: #191919;
	--checkpoint-form-control-height: 2.75rem;
	--checkpoint-form-control-padding-x: 0.75rem;
	--checkpoint-form-control-border: 1px solid var(--wp--preset--color--accent-6, #d6d3d1);
	--checkpoint-form-control-radius: 6px;
	--checkpoint-form-control-bg: var(--wp--preset--color--base, #fff);
	--checkpoint-form-control-font-size: var(--wp--preset--font-size--small, 0.875rem);
	--checkpoint-form-button-bg: var(--wp--preset--color--accent-3, #e13207);
	--checkpoint-form-button-bg-hover: #c42b06;
	--checkpoint-form-button-color: #fff;
	--checkpoint-mobile-fab-size: 2.75rem;
	--checkpoint-mobile-fab-inset: 0.75rem;
	--checkpoint-mobile-fab-gap: 0.5rem;
}

/*
 * Hanging card chrome (buy button 0.333rem, price badges, faction watermarks)
 * must not create page-level horizontal scroll on mobile.
 * clip preferred; hidden is the fallback for older Safari.
 */
html,
body {
	overflow-x: hidden;
	overflow-x: clip;
}

html body {
	font-weight: 400;
}

/* No click / focus outline rings site-wide */
*,
*::before,
*::after {
	-webkit-tap-highlight-color: transparent;
}

:where(
	a,
	button,
	input,
	select,
	textarea,
	summary,
	[tabindex]:not([tabindex="-1"]),
	.wp-element-button,
	.wp-block-button__link
):focus,
:where(
	a,
	button,
	input,
	select,
	textarea,
	summary,
	[tabindex]:not([tabindex="-1"]),
	.wp-element-button,
	.wp-block-button__link
):focus-visible {
	outline: none !important;
	outline-offset: 0 !important;
}

/* Global form controls — baseline for inputs/buttons without component classes */
:where(
	input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="image"]),
	textarea,
	select
) {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-height: var(--checkpoint-form-control-height);
	padding: 0.5rem var(--checkpoint-form-control-padding-x);
	border: var(--checkpoint-form-control-border);
	border-radius: var(--checkpoint-form-control-radius);
	background: var(--checkpoint-form-control-bg);
	color: inherit;
	font-family: inherit;
	font-size: var(--checkpoint-form-control-font-size);
	line-height: 1.4;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

:where(
	input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="image"]),
	textarea,
	select
):focus-visible {
	border-color: var(--wp--preset--color--accent-3, #e13207);
	box-shadow: 0 0 0 2px rgba(225, 50, 7, 0.15);
}

:where(input, textarea)::placeholder {
	color: var(--wp--preset--color--accent-4, #4f4744);
	opacity: 0.75;
}

:where(
	button:not(.checkpoint-product-card__buy):not(.single_add_to_cart_button):not(.wp-block-button__link):not(.wp-element-button):not(.wc-block-components-button):not(.wc-block-mini-cart__footer-cart):not(.wc-block-mini-cart__footer-checkout):not(.gmm-mobile-toggle-open):not(.gmm-mobile-toggle-close):not(.gmm-back-to-main):not(.checkpoint-home-hero-banner__dot):not(.checkpoint-home-hero-banner__nav):not(.checkpoint-header-search-toggle):not(.checkpoint-header-admin-ui-toggle):not(.checkpoint-header-search__submit):not(.checkpoint-header-search__close):not(.wc-block-mini-cart__button):not(.checkpoint-cookie-settings-btn):not(.checkpoint-cat-toggle),
	input[type="submit"]:not(.wp-element-button),
	input[type="button"]:not(.wp-element-button),
	input[type="reset"]:not(.wp-element-button)
) {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--checkpoint-form-control-height);
	padding: 0.55rem 1rem;
	border: none;
	border-radius: var(--checkpoint-form-control-radius);
	background: var(--checkpoint-form-button-bg);
	color: var(--checkpoint-form-button-color);
	font-family: inherit;
	font-size: var(--checkpoint-form-control-font-size);
	font-weight: 600;
	line-height: 1.25;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.15s ease, opacity 0.15s ease;
}

:where(
	button:not(.checkpoint-product-card__buy):not(.single_add_to_cart_button):not(.wp-block-button__link):not(.wp-element-button):not(.wc-block-components-button):not(.wc-block-mini-cart__footer-cart):not(.wc-block-mini-cart__footer-checkout):not(.gmm-mobile-toggle-open):not(.gmm-mobile-toggle-close):not(.gmm-back-to-main):not(.checkpoint-home-hero-banner__dot):not(.checkpoint-home-hero-banner__nav):not(.checkpoint-header-search-toggle):not(.checkpoint-header-admin-ui-toggle):not(.checkpoint-header-search__submit):not(.checkpoint-header-search__close):not(.wc-block-mini-cart__button):not(.checkpoint-cookie-settings-btn):not(.checkpoint-cat-toggle),
	input[type="submit"]:not(.wp-element-button),
	input[type="button"]:not(.wp-element-button),
	input[type="reset"]:not(.wp-element-button)
):hover,
:where(
	button:not(.checkpoint-product-card__buy):not(.single_add_to_cart_button):not(.wp-block-button__link):not(.wp-element-button):not(.wc-block-components-button):not(.wc-block-mini-cart__footer-cart):not(.wc-block-mini-cart__footer-checkout):not(.gmm-mobile-toggle-open):not(.gmm-mobile-toggle-close):not(.gmm-back-to-main):not(.checkpoint-home-hero-banner__dot):not(.checkpoint-home-hero-banner__nav):not(.checkpoint-header-search-toggle):not(.checkpoint-header-admin-ui-toggle):not(.checkpoint-header-search__submit):not(.checkpoint-header-search__close):not(.wc-block-mini-cart__button):not(.checkpoint-cookie-settings-btn):not(.checkpoint-cat-toggle),
	input[type="submit"]:not(.wp-element-button),
	input[type="button"]:not(.wp-element-button),
	input[type="reset"]:not(.wp-element-button)
):focus-visible {
	background: var(--checkpoint-form-button-bg-hover);
	color: var(--checkpoint-form-button-color);
}

:where(
	button:not(.checkpoint-product-card__buy):not(.single_add_to_cart_button):not(.wp-block-button__link):not(.wp-element-button):not(.wc-block-components-button):not(.wc-block-mini-cart__footer-cart):not(.wc-block-mini-cart__footer-checkout):not(.gmm-mobile-toggle-open):not(.gmm-mobile-toggle-close):not(.gmm-back-to-main):not(.checkpoint-home-hero-banner__dot):not(.checkpoint-home-hero-banner__nav):not(.checkpoint-header-search-toggle):not(.checkpoint-header-admin-ui-toggle):not(.checkpoint-header-search__submit):not(.checkpoint-header-search__close):not(.wc-block-mini-cart__button):not(.checkpoint-cookie-settings-btn):not(.checkpoint-cat-toggle),
	input[type="submit"]:not(.wp-element-button),
	input[type="button"]:not(.wp-element-button),
	input[type="reset"]:not(.wp-element-button)
):disabled {
	opacity: 0.65;
	cursor: not-allowed;
}

/* Header chrome: full-bleed sandy bar (do not shrink to nav content width). */
header.wp-block-template-part {
	display: block;
	width: 100%;
	max-width: none;
	overflow: visible;
}

header.wp-block-template-part > .wp-block-group.is-layout-flex {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: stretch;
	width: 100%;
}

/* Brand mark — lock previous on-screen height; width follows the wider asset */
header.wp-block-template-part .wp-block-site-logo {
	flex: 0 0 auto;
	width: auto;
	max-width: none;
}

header.wp-block-template-part .wp-block-site-logo img,
header.wp-block-template-part .custom-logo {
	display: block;
	width: auto !important;
	max-width: none;
	height: 66px !important;
	object-fit: contain;
}

footer.wp-block-template-part .wp-block-site-logo {
	width: auto;
	max-width: none;
}

footer.wp-block-template-part .wp-block-site-logo img,
footer.wp-block-template-part .custom-logo {
	display: block;
	width: auto !important;
	max-width: none;
	height: 60px !important;
	object-fit: contain;
}

/* Site header — sandy texture background (matches product cards) */
header.wp-block-template-part .wp-block-group.alignfull.has-background-color {
	align-self: stretch;
	width: 100%;
	max-width: none;
	background-color: var(--wp--preset--color--accent-5, #f1eee9);
	background-image: url('assets/header-texture.png?v=6');
	background-size: 100% auto;
	background-repeat: repeat-x;
	background-position: center top;
	border-bottom: 1px solid #4103;
	/* Block editor sets padding:0 inline on this wrapper; !important required */
	padding-top: 1rem !important;
	padding-bottom: 1rem !important;
}

header.wp-block-template-part .wp-block-group.alignfull > .wp-block-group.alignwide {
	width: 100%;
	max-width: var(--wp--style--global--wide-size, 1340px);
	margin-inline: auto;
}

/* Temporary closed-store strip above the header nav. */
.checkpoint-test-mode-bar {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	padding: 0.4rem 0.75rem;
	background: var(--checkpoint-form-button-bg, #e13207);
	color: #fff;
	font-family: "Sofia Sans", sans-serif;
	font-size: 0.95rem;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.02em;
	text-align: center;
	text-transform: uppercase;
}

@media (max-width: 781px) {
	.checkpoint-test-mode-bar {
		font-size: 0.72rem;
		padding: 0.45rem 0.6rem;
	}
}

/* Header actions: Search | Profile | Cart — Lucide outline, same size, color-only hover.
   Woo may restore its SVGs on hydrate — masks cover those cases. */
.checkpoint-header-actions {
	flex-wrap: nowrap !important;
	align-items: center;
}

.checkpoint-header-search-toggle,
.checkpoint-header-admin-ui-toggle,
.checkpoint-header-actions .wc-block-customer-account__link,
.checkpoint-header-actions .wc-block-mini-cart__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-sizing: content-box;
	margin: 0;
	padding: 0.5em;
	border: none;
	border-radius: 0;
	background: none !important;
	background-color: transparent !important;
	box-shadow: none;
	color: inherit;
	line-height: 1;
	cursor: pointer;
	min-height: 0;
	min-width: 0;
	height: auto;
	opacity: 1;
	font-size: var(--wp--preset--font-size--medium, 1.125rem);
	font-weight: inherit;
	text-decoration: none !important;
}

.checkpoint-header-search-toggle:hover,
.checkpoint-header-search-toggle:focus,
.checkpoint-header-search-toggle:focus-visible,
.checkpoint-header--search-open .checkpoint-header-search-toggle,
.checkpoint-header-admin-ui-toggle:hover,
.checkpoint-header-admin-ui-toggle:focus,
.checkpoint-header-admin-ui-toggle:focus-visible,
.checkpoint-header-actions .wc-block-customer-account__link:hover,
.checkpoint-header-actions .wc-block-customer-account__link:focus,
.checkpoint-header-actions .wc-block-customer-account__link:focus-visible,
.checkpoint-header-actions .wc-block-mini-cart__button:hover,
.checkpoint-header-actions .wc-block-mini-cart__button:focus,
.checkpoint-header-actions .wc-block-mini-cart__button:focus-visible,
.checkpoint-header-actions .wc-block-mini-cart__button:hover:not([disabled]),
.checkpoint-header-actions .wc-block-mini-cart__button:focus:not([disabled]) {
	color: var(--wp--preset--color--accent-3, #e13207);
	background: none !important;
	background-color: transparent !important;
	box-shadow: none !important;
	opacity: 1 !important;
	text-decoration: none !important;
}

.checkpoint-header-admin-ui-toggle__icon--lock {
	display: none;
}

html.checkpoint-admin-ui-off .checkpoint-header-admin-ui-toggle__icon--unlock {
	display: none;
}

html.checkpoint-admin-ui-off .checkpoint-header-admin-ui-toggle__icon--lock {
	display: block;
}

/* Storefront extras for shop staff. Future admin overlays should use this class. */
html.checkpoint-admin-ui-off .checkpoint-admin-ui {
	display: none !important;
}

.checkpoint-header-search-toggle__icon,
.checkpoint-header-admin-ui-toggle__icon,
.checkpoint-header-actions .wc-block-customer-account__account-icon,
.checkpoint-header-actions .checkpoint-mini-cart__bag-icon,
.checkpoint-header-actions .wc-block-mini-cart__icon {
	display: block;
	box-sizing: content-box;
	width: 1.5em !important;
	height: 1.5em !important;
	min-width: 1.5em;
	min-height: 1.5em;
	padding: 0;
}

.checkpoint-product-card__bag-icon,
.checkpoint-mini-cart__bag-icon,
.wc-block-mini-cart__icon:not(.checkpoint-mini-cart__bag-icon) {
	background-color: currentColor;
	-webkit-mask-image: url("assets/icons/shopping-bag.png");
	mask-image: url("assets/icons/shopping-bag.png");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.wc-block-mini-cart__icon:not(.checkpoint-mini-cart__bag-icon) path,
.wc-block-mini-cart__icon:not(.checkpoint-mini-cart__bag-icon) circle,
.wc-block-mini-cart__icon:not(.checkpoint-mini-cart__bag-icon) rect {
	fill: none !important;
	stroke: none !important;
	opacity: 0;
}

.wc-block-customer-account__account-icon:not(.checkpoint-header-account-icon) {
	background-color: currentColor;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.wc-block-customer-account__account-icon:not(.checkpoint-header-account-icon) path,
.wc-block-customer-account__account-icon:not(.checkpoint-header-account-icon) circle,
.wc-block-customer-account__account-icon:not(.checkpoint-header-account-icon) rect {
	fill: none !important;
	stroke: none !important;
	opacity: 0;
}

.checkpoint-header-search {
	display: none;
	align-items: center;
	flex: 1 1 auto;
	min-width: 0;
	box-sizing: border-box;
	/* WP flex layout resets child margins; pad the form so the underline is inset. */
	padding-inline: 3rem;
	margin: 0;
	gap: 0.35rem;
	pointer-events: none;
}

.checkpoint-header--search-open .checkpoint-header-search {
	display: flex !important;
	pointer-events: auto;
}

.checkpoint-header--search-open .wp-block-gutenify-mega-menu-mega-menu {
	display: none !important;
}

.checkpoint-header--search-open > .wp-block-group > .wp-block-group.alignwide,
.checkpoint-header--search-open .wp-block-group.alignwide {
	flex-wrap: nowrap;
}

.checkpoint-header-search__bar {
	display: flex;
	align-items: flex-end;
	flex: 1 1 auto;
	min-width: 0;
	gap: 0.65rem;
	border-bottom: 2px solid var(--wp--preset--color--contrast, #191919);
}

.checkpoint-header-search__bar:focus-within {
	border-bottom-color: var(--wp--preset--color--accent-3, #e13207);
}

.checkpoint-header-search__input {
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
	max-width: 100%;
	min-height: 0;
	margin: 0;
	padding: 0.15rem 0.15rem 0.35rem;
	border: none;
	border-radius: 0;
	background: transparent;
	color: inherit;
	font-family: inherit;
	font-size: clamp(1.25rem, 2.6vw, 1.85rem);
	font-weight: 400;
	line-height: 1.2;
	box-shadow: none;
}

.checkpoint-header-search__input:focus,
.checkpoint-header-search__input:focus-visible {
	box-shadow: none;
	outline: none;
}

.checkpoint-header-search__submit {
	flex-shrink: 0;
	display: inline-flex;
	align-items: flex-end;
	margin: 0;
	padding: 0.15rem 0.05rem 0.4rem;
	border: none;
	border-radius: 0;
	background: none;
	color: inherit;
	font-family: inherit;
	font-size: clamp(0.95rem, 1.6vw, 1.125rem);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.01em;
	cursor: pointer;
	min-height: 0;
	text-decoration: none;
	white-space: nowrap;
}

.checkpoint-header-search__submit:hover,
.checkpoint-header-search__submit:focus-visible {
	color: var(--wp--preset--color--accent-3, #e13207);
	background: none;
	outline: none;
}

.checkpoint-header-search__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin: 0;
	padding: 0.35em;
	border: none;
	background: none;
	color: inherit;
	line-height: 1;
	cursor: pointer;
	min-height: 0;
}

.checkpoint-header-search__close-icon {
	display: block;
	width: 1.25em;
	height: 1.25em;
}

.checkpoint-header-search__close:hover,
.checkpoint-header-search__close:focus-visible {
	color: var(--wp--preset--color--accent-3, #e13207);
	background: none;
	outline: none;
}

.checkpoint-header-search__input::-webkit-search-cancel-button,
.checkpoint-header-search__input::-webkit-search-decoration {
	-webkit-appearance: none;
	appearance: none;
}

@media (max-width: 781px) {
	.checkpoint-header--search-open .wp-block-site-logo img,
	.checkpoint-header--search-open .custom-logo {
		max-width: none;
		width: auto !important;
		height: 47px !important;
	}

	.checkpoint-header-search__input {
		font-size: clamp(1.1rem, 4.2vw, 1.45rem);
	}

	.checkpoint-header-search__submit {
		font-size: 0.95rem;
	}
}

.checkpoint-mobile-menu-tools,
.checkpoint-mobile-menu-account,
.checkpoint-mobile-menu-title {
	display: none;
}

.checkpoint-sidebar-collapse-input,
.checkpoint-sidebar-collapse-toggle {
	display: none;
}

/* Site footer — same sandy texture as header */
footer.wp-block-template-part,
.checkpoint-php-footer {
	margin-top: 0;
}

footer.wp-block-template-part > .wp-block-group.has-accent-5-background-color.has-background,
.checkpoint-php-footer.has-accent-5-background-color.has-background {
	background-color: var(--wp--preset--color--accent-5, #f1eee9);
	background-image: url('assets/header-texture.png?v=6');
	background-size: 100% auto;
	background-repeat: repeat-x;
	background-position: center top;
	margin-top: 0 !important;
	border-top: none;
}

.checkpoint-php-footer {
	padding-top: 0;
	padding-bottom: 1.75rem;
}

.checkpoint-php-footer__inner {
	width: 100%;
	max-width: var(--wp--style--global--wide-size, 1340px);
	margin-inline: auto;
	padding-inline: var(--checkpoint-page-gutter, 1rem);
	padding-top: 2rem;
}

.checkpoint-php-footer__row {
	display: grid;
	grid-template-columns: minmax(12.5rem, 1fr) minmax(17rem, 1.5fr) minmax(17.5rem, 1.15fr);
	gap: 2.25rem 2.75rem;
	align-items: start;
}

.checkpoint-php-footer__col {
	min-width: 0;
}

.checkpoint-php-footer__brand {
	min-width: 0;
}

.checkpoint-php-footer__logo {
	max-width: none;
}

.checkpoint-php-footer__logo .custom-logo {
	width: auto;
	max-width: none;
	height: 56px;
}

.checkpoint-php-footer .wp-block-site-title {
	margin: 0.7rem 0 0;
	max-width: 22rem;
	color: var(--wp--preset--color--contrast, #191919);
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.35;
}

.checkpoint-php-footer .wp-block-site-title a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.checkpoint-php-footer .wp-block-site-tagline {
	margin: 0.7rem 0 0;
	max-width: 22rem;
	color: var(--wp--preset--color--accent-4, #4f4744);
	font-size: 0.9375rem;
	line-height: 1.5;
}

.checkpoint-php-footer__navs {
	display: grid;
	grid-template-columns: max-content max-content;
	justify-content: end;
	justify-items: end;
	gap: 1.75rem 2.5rem;
	min-width: 0;
	text-align: right;
}

.checkpoint-php-footer__col-title {
	margin: 0 0 0.75rem;
	color: var(--wp--preset--color--contrast, #191919);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-transform: uppercase;
}

.checkpoint-php-footer__nav {
	text-align: right;
}

.checkpoint-php-footer__nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.5rem;
}

.checkpoint-php-footer__nav a,
.checkpoint-php-footer .checkpoint-cookie-settings-btn {
	color: var(--wp--preset--color--accent-4, #4f4744);
	font-size: 0.975rem;
	font-weight: 500;
	line-height: 1.35;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.checkpoint-php-footer__nav a:hover,
.checkpoint-php-footer__nav a:focus-visible,
.checkpoint-php-footer .checkpoint-cookie-settings-btn:hover,
.checkpoint-php-footer .checkpoint-cookie-settings-btn:focus-visible {
	color: var(--wp--preset--color--accent-3, #e13207);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.checkpoint-php-footer__contact {
	grid-column: 1 / -1;
	justify-self: end;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: flex-end;
	gap: 0 0.15rem;
	margin: 0.15rem 0 0;
	color: var(--wp--preset--color--accent-4, #4f4744);
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.35;
	text-align: right;
}

.checkpoint-php-footer__contact a {
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.checkpoint-php-footer__contact a:hover,
.checkpoint-php-footer__contact a:focus-visible {
	color: var(--wp--preset--color--accent-3, #e13207);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.checkpoint-php-footer__contact-sep {
	padding-inline: 0.35rem;
	opacity: 0.7;
}

.checkpoint-php-footer .checkpoint-cookie-settings-btn {
	display: inline;
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	font: inherit;
	font-size: 0.975rem;
	font-weight: 500;
	line-height: 1.35;
	text-align: inherit;
	text-decoration: none;
	cursor: pointer;
}

.checkpoint-contact__rev {
	unicode-bidi: bidi-override;
	direction: rtl;
}

.checkpoint-contact__at::before {
	content: "@";
}

.checkpoint-php-footer__legal {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
	align-items: flex-start;
	gap: 0.65rem 1.5rem;
	margin-top: 2rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(25, 25, 25, 0.1);
}

.checkpoint-php-footer__trader {
	min-width: 0;
	color: var(--wp--preset--color--accent-4, #4f4744);
	font-size: 12px;
	line-height: 1.2;
	opacity: 0.75;
}

.checkpoint-php-footer__trader p {
	margin: 0;
}

.checkpoint-php-footer__trader-name {
	margin-bottom: 0.2rem;
	font-weight: 600;
	font-size: 12px;
}

.checkpoint-php-footer__trader-register {
	font-size: inherit;
	font-weight: 400;
	letter-spacing: 0.02em;
	color: inherit;
}

.checkpoint-php-footer__legal .has-small-font-size {
	margin: 0;
	color: var(--wp--preset--color--accent-4, #4f4744);
	font-size: 0.875rem;
}

.checkpoint-php-footer__legal a,
.checkpoint-php-footer__legal .checkpoint-cookie-settings-btn {
	color: inherit;
}

.checkpoint-php-footer__legal a {
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.checkpoint-php-footer__legal .checkpoint-cookie-settings-btn {
	text-decoration: none;
}

.checkpoint-php-footer__legal a:hover,
.checkpoint-php-footer__legal a:focus-visible,
.checkpoint-php-footer__legal .checkpoint-cookie-settings-btn:hover,
.checkpoint-php-footer__legal .checkpoint-cookie-settings-btn:focus-visible {
	color: var(--wp--preset--color--accent-3, #e13207);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.checkpoint-php-footer__legal-col {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.45rem;
	min-width: 0;
}

.checkpoint-php-footer__legal-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.35rem 1.1rem;
	color: var(--wp--preset--color--accent-4, #4f4744);
	font-size: 0.875rem;
	line-height: 1.4;
}

.checkpoint-php-footer__translation-note {
	margin: 0;
	color: color-mix(in srgb, var(--wp--preset--color--accent-4, #4f4744) 62%, transparent);
	font-size: 0.72rem;
	font-weight: 400;
	line-height: 1.45;
	text-align: right;
}

.checkpoint-php-footer__translation-note a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.checkpoint-php-footer__legal .checkpoint-cookie-settings-btn {
	font-size: 0.875rem;
	font-weight: 400;
}

.checkpoint-shipping-banner {
	width: 100%;
	margin: 0;
	padding: 0;
	background: var(--wp--preset--color--accent-3, #e13207);
	color: #fff;
}

.checkpoint-shipping-banner__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: var(--wp--style--global--wide-size, 1340px);
	margin-inline: auto;
	padding: 0.9rem var(--checkpoint-page-gutter, 1rem);
	text-align: center;
}

.checkpoint-shipping-banner__title {
	margin: 0;
	font-size: clamp(1.125rem, 2.1vw, 1.5rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.3;
	text-align: center;
}

.checkpoint-shipping-banner__title strong {
	font-weight: 800;
}

.checkpoint-footer-about {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 1.25rem 2rem;
	width: 100%;
	margin-top: 0.85rem;
	align-items: start;
}

.checkpoint-footer-about .wp-block-site-tagline {
	margin: 0;
	max-width: none;
	color: var(--wp--preset--color--contrast, #191919);
	font-size: 0.95rem;
	line-height: 1.5;
}

.checkpoint-footer-club {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.85rem 1.15rem;
	margin: 0;
	max-width: none;
	align-items: start;
	color: var(--wp--preset--color--accent-4, #4f4744);
	font-size: 0.9375rem;
	line-height: 1.5;
}

.checkpoint-footer-club:has(.checkpoint-footer-club__photo-link) {
	grid-template-columns: calc(9rem * 1.3) minmax(0, 1fr);
}

.checkpoint-footer-club__media {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.45rem;
	min-width: 0;
}

.checkpoint-footer-club__photo-link {
	display: block;
	width: 100%;
	margin: 0;
	line-height: 0;
	text-decoration: none;
}

.checkpoint-footer-club__photo {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: var(--checkpoint-product-card-radius, 10px);
}

.checkpoint-footer-club__body {
	min-width: 0;
}

.checkpoint-footer-club__name {
	margin: 0;
	color: var(--wp--preset--color--contrast, #191919);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.3;
	text-align: center;
}

.checkpoint-footer-club__title {
	margin: 0 0 0.55rem;
	color: var(--wp--preset--color--accent-3, #e13207);
	font-size: clamp(1.2rem, 1.85vw, 1.45rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

.checkpoint-footer-club__text {
	margin: 0;
}

.checkpoint-footer-club a {
	font-weight: 700;
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.checkpoint-footer-club a:hover,
.checkpoint-footer-club a:focus-visible {
	color: var(--wp--preset--color--accent-3, #e13207);
}

.checkpoint-footer-club__photo-link,
.checkpoint-footer-club__photo-link:hover,
.checkpoint-footer-club__photo-link:focus-visible {
	color: inherit;
	text-decoration: none;
}

.checkpoint-footer-club__name a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.checkpoint-footer-club__name a:hover,
.checkpoint-footer-club__name a:focus-visible {
	color: var(--wp--preset--color--accent-3, #e13207);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.checkpoint-footer-nap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.2rem;
	margin: 0.7rem 0 0;
	font-size: 0.875rem;
	line-height: 1.4;
}

.checkpoint-footer-nap__sep {
	display: none;
}

.checkpoint-footer-nap a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.checkpoint-footer-notes {
	width: 100%;
	max-width: var(--wp--style--global--wide-size, 1340px);
	margin: 0.25rem auto 0.75rem;
	padding: 0;
}

footer.wp-block-template-part .wp-block-navigation,
.checkpoint-php-footer .wp-block-navigation {
	font-size: 0.975rem;
	line-height: 1.45;
}

@media (max-width: 960px) {
	.checkpoint-php-footer__row {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 1.75rem 2rem;
	}

	.checkpoint-php-footer__navs {
		grid-column: 1 / -1;
		grid-template-columns: max-content max-content;
		justify-content: end;
		max-width: none;
	}

	.checkpoint-php-footer .wp-block-site-tagline {
		max-width: none;
	}
}

@media (max-width: 781px) {
	.checkpoint-php-footer {
		padding-bottom: 1.75rem;
	}

	.checkpoint-php-footer__inner {
		padding-top: 1.75rem;
	}

	.checkpoint-php-footer__row {
		grid-template-columns: minmax(0, 1fr);
		gap: 2rem;
	}

	.checkpoint-php-footer__navs {
		grid-column: auto;
		grid-template-columns: minmax(0, 1fr);
		justify-content: start;
		justify-items: start;
		gap: 1.5rem;
		text-align: left;
	}

	.checkpoint-php-footer__nav,
	.checkpoint-php-footer__nav ul {
		text-align: left;
		align-items: flex-start;
	}

	.checkpoint-php-footer__nav ul {
		gap: 0.7rem;
	}

	.checkpoint-php-footer__contact {
		justify-self: start;
		justify-content: flex-start;
		text-align: left;
	}

	.checkpoint-php-footer__legal {
		grid-template-columns: minmax(0, 1fr);
		align-items: flex-start;
		gap: 0.85rem;
		margin-top: 2rem;
	}

	.checkpoint-php-footer__legal-col {
		align-items: flex-start;
	}

	.checkpoint-php-footer__legal-nav {
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 0.65rem;
	}

	.checkpoint-php-footer__translation-note {
		text-align: left;
		max-width: 28rem;
	}

	.checkpoint-footer-about {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.5rem;
	}

	.checkpoint-footer-club,
	.checkpoint-footer-club:has(.checkpoint-footer-club__photo-link) {
		grid-template-columns: minmax(0, 1fr);
		gap: 1rem;
	}

	.checkpoint-footer-club__photo-link {
		max-width: calc(14rem * 1.3);
	}

	.checkpoint-footer-nap {
		margin-top: 0.85rem;
	}

	.checkpoint-shipping-banner__inner {
		padding-block: 0.95rem;
	}

	footer.wp-block-template-part .wp-block-columns {
		gap: 2rem !important;
	}

	footer.wp-block-template-part .wp-block-group.alignfull.is-content-justification-right,
	footer.wp-block-template-part .wp-block-group.is-content-justification-right,
	footer.wp-block-template-part .wp-block-navigation,
	footer.wp-block-template-part .wp-block-navigation .wp-block-navigation__container {
		justify-content: flex-start !important;
		align-items: flex-start !important;
		text-align: left;
	}
}

@media (max-width: 560px) {
	.checkpoint-php-footer {
		padding-bottom: 1.5rem;
	}

	.checkpoint-php-footer__inner {
		padding-top: 1.5rem;
	}

	.checkpoint-php-footer__row {
		grid-template-columns: minmax(0, 1fr);
		gap: 2rem;
	}

	.checkpoint-php-footer__navs {
		max-width: none;
	}

	.checkpoint-footer-club:has(.checkpoint-footer-club__photo-link) {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Balance header padding-bottom with tighter main top spacing */
main.wp-block-group.alignfull[style*="padding-top:1.5rem"] {
	padding-top: 0.5rem !important;
}

main.wp-block-group.alignfull[style*="padding-top:2rem"] {
	padding-top: 1rem !important;
}

/* Mobile: inset the main column to match the header; do not pad the header. */
@media (max-width: 781px) {
	.wp-site-blocks > main.wp-block-group.alignfull {
		padding-left: var(--checkpoint-page-gutter, 1rem) !important;
		padding-right: var(--checkpoint-page-gutter, 1rem) !important;
	}
}

/* Mega menu header — full-width dropdowns */
.wp-block-gutenify-mega-menu-mega-menu {
	--gmm-link-hover-color: var(--wp--preset--color--accent-3, #e13207);
	--gmm-dropdown-link-hover-color: var(--wp--preset--color--accent-3, #e13207);
	/* Inline --gmm-dropdown-top:170% leaves a hover gap; sit flush under the trigger. */
	--gmm-dropdown-top: 100% !important;
	--gmm-dropdown-hidden-transform: none;
	--gmm-dropdown-open-transform: none;
}

header.wp-block-template-part .checkpoint-php-mega-menu {
	display: flex;
	align-items: stretch;
	min-width: 0;
}

header.wp-block-template-part .gmm-menu-item-link {
	color: var(--wp--preset--color--contrast, #191919) !important;
	text-decoration: none !important;
	font-size: inherit;
}

header.wp-block-template-part a.checkpoint-nav-external {
	display: inline-flex;
	align-items: center;
	gap: 0.28rem;
}

header.wp-block-template-part .checkpoint-nav-external__icon {
	display: block;
	flex: 0 0 auto;
	width: 0.62rem;
	height: 0.62rem;
}

header.wp-block-template-part .gmm-menu-item-link:hover,
header.wp-block-template-part .gmm-menu-item-link:focus-visible,
header.wp-block-template-part .gmm-menu-item.checkpoint-mega-open > .gmm-menu-item-link,
header.wp-block-template-part .gmm-menu-item.checkpoint-mega-open > .checkpoint-mega-acc-row > .gmm-menu-item-link {
	color: var(--wp--preset--color--accent-3, #e13207) !important;
	text-decoration: none !important;
}

@media (max-width: 1023px) {
	html.checkpoint-mega-mobile-lock,
	body.checkpoint-mega-mobile-lock {
		overflow: hidden !important;
		overscroll-behavior: none;
	}

	.checkpoint-php-mega-menu .gmm-primary-menu-wrap {
		display: none;
		position: fixed;
		inset: 0;
		z-index: 100000;
		background: var(--wp--preset--color--base, #fff);
		overflow: hidden;
		padding: 1rem;
	}

	.checkpoint-php-mega-menu.checkpoint-mega-mobile-open .gmm-primary-menu-wrap {
		display: block;
	}

	.checkpoint-php-mega-menu .gmm-primary-menu {
		flex-direction: column !important;
		justify-content: flex-start !important;
		gap: 0 !important;
	}

	.checkpoint-php-mega-menu .gmm-menu-item > .gmm-primary-menu__dropdown {
		display: block;
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	header.wp-block-template-part .wp-block-group.alignfull > .wp-block-group.alignwide {
		justify-content: center;
		min-height: var(--checkpoint-mobile-fab-size, 2.75rem);
		padding-left: var(--checkpoint-mobile-fab-inset, 0.75rem);
		padding-right: calc(var(--checkpoint-mobile-fab-size, 2.75rem) + var(--checkpoint-mobile-fab-inset, 0.75rem));
	}

	body.checkpoint-cart-has-items header.wp-block-template-part .wp-block-group.alignfull > .wp-block-group.alignwide {
		padding-right: calc((2 * var(--checkpoint-mobile-fab-size, 2.75rem)) + var(--checkpoint-mobile-fab-gap, 0.5rem) + var(--checkpoint-mobile-fab-inset, 0.75rem));
	}

	.checkpoint-header-search-toggle,
	.checkpoint-header-actions .wp-block-woocommerce-customer-account,
	.checkpoint-header-search {
		display: none !important;
	}

	header.wp-block-template-part .wp-block-gutenify-mega-menu-mega-menu,
	header.wp-block-template-part .checkpoint-header-actions {
		width: 0;
		min-width: 0;
		height: 0;
		margin: 0;
		padding: 0;
		overflow: visible;
		flex: 0 0 0;
	}

	.gmm-mobile-toggle-open,
	.gmm-mobile-toggle-close,
	body.checkpoint-cart-has-items .checkpoint-header-actions .wc-block-mini-cart__button {
		position: fixed !important;
		top: max(0.7rem, env(safe-area-inset-top, 0px)) !important;
		z-index: 100050;
		box-sizing: border-box;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: var(--checkpoint-mobile-fab-size, 2.75rem);
		height: var(--checkpoint-mobile-fab-size, 2.75rem);
		min-width: var(--checkpoint-mobile-fab-size, 2.75rem);
		min-height: var(--checkpoint-mobile-fab-size, 2.75rem);
		margin: 0;
		padding: 0;
		border: 1px solid var(--wp--preset--color--accent-6, #d6d3d1);
		border-radius: 50%;
		background: var(--wp--preset--color--base, #fff) !important;
		background-color: var(--wp--preset--color--base, #fff) !important;
		box-shadow: 0 2px 10px rgba(25, 25, 25, 0.16);
		color: inherit;
	}

	.checkpoint-header-actions .wc-block-mini-cart__button {
		display: none !important;
		right: calc(var(--checkpoint-mobile-fab-inset, 0.75rem) + var(--checkpoint-mobile-fab-size, 2.75rem) + var(--checkpoint-mobile-fab-gap, 0.5rem)) !important;
		left: auto !important;
	}

	body.checkpoint-cart-has-items .checkpoint-header-actions .wc-block-mini-cart__button {
		display: inline-flex !important;
	}

	body.checkpoint-mega-mobile-lock.checkpoint-cart-has-items .checkpoint-header-actions .wc-block-mini-cart__button {
		z-index: 1000001;
	}

	.gmm-mobile-toggle-open,
	.gmm-mobile-toggle-close {
		right: max(0.75rem, env(safe-area-inset-right, 0px)) !important;
		left: auto !important;
	}

	.gmm-mobile-toggle-close {
		z-index: 1000001;
		visibility: hidden;
		pointer-events: none;
		opacity: 0;
	}

	body.checkpoint-mega-mobile-lock .gmm-mobile-toggle-open,
	.wp-block-gutenify-mega-menu-mega-menu:has(.gmm-mobile-toggle-show) .gmm-mobile-toggle-open {
		visibility: hidden;
		pointer-events: none;
	}

	body.checkpoint-mega-mobile-lock .gmm-mobile-toggle-close,
	.wp-block-gutenify-mega-menu-mega-menu:has(.gmm-mobile-toggle-show) .gmm-mobile-toggle-close {
		visibility: visible !important;
		pointer-events: auto;
		opacity: 1;
	}

	.gmm-mobile-toggle-open:hover,
	.gmm-mobile-toggle-open:focus-visible,
	.gmm-mobile-toggle-close:hover,
	.gmm-mobile-toggle-close:focus-visible,
	.checkpoint-header-actions .wc-block-mini-cart__button:hover,
	.checkpoint-header-actions .wc-block-mini-cart__button:focus-visible {
		color: var(--wp--preset--color--accent-3, #e13207);
		background: var(--wp--preset--color--base, #fff) !important;
		box-shadow: 0 3px 12px rgba(25, 25, 25, 0.2) !important;
	}

	.gmm-mobile-toggle-open svg,
	.gmm-mobile-toggle-close svg,
	.checkpoint-header-actions .checkpoint-mini-cart__bag-icon,
	.checkpoint-header-actions .wc-block-mini-cart__icon {
		width: 1.35rem !important;
		height: 1.35rem !important;
		min-width: 1.35rem;
		min-height: 1.35rem;
	}

	.gmm-mobile-toggle-close svg {
		background-color: currentColor;
		-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E");
		mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E");
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-position: center;
		mask-position: center;
		-webkit-mask-size: contain;
		mask-size: contain;
	}

	.gmm-mobile-toggle-close svg path {
		fill: none !important;
		stroke: none !important;
		opacity: 0;
	}

	.gmm-primary-menu-wrap,
	.wp-block-gutenify-mega-menu-mega-menu .gmm-primary-menu-wrap {
		flex-direction: column !important;
		transition: transform 0.15s ease-out !important;
	}

	.gmm-primary-menu-wrap *,
	.wp-block-gutenify-mega-menu-mega-menu .gmm-primary-menu-wrap * {
		transition: none !important;
		animation: none !important;
	}

	.gmm-primary-menu-wrap > .gmm-primary-menu {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		justify-content: flex-start !important;
		align-items: stretch !important;
		gap: 0.35rem !important;
		width: 100% !important;
		transform: none !important;
	}

	.gmm-primary-menu-wrap > .gmm-primary-menu > .gmm-menu-item > .gmm-menu-item-link,
	.gmm-primary-menu-wrap > .gmm-primary-menu > .gmm-menu-item > .checkpoint-mega-acc-row > .gmm-menu-item-link {
		display: flex;
		align-items: center;
		min-height: 2.75rem;
		padding-top: 0.55rem;
		padding-bottom: 0.55rem;
	}

	.wp-block-gutenify-mega-menu-mega-menu .gmm-primary-menu-wrap.gmm-mobile-toggle-show,
	.gmm-primary-menu-wrap.gmm-mobile-toggle-show {
		position: fixed !important;
		inset: 0 !important;
		z-index: 100000 !important;
		box-sizing: border-box !important;
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		gap: 0 !important;
		width: 100% !important;
		height: 100% !important;
		max-height: 100dvh !important;
		overflow: hidden !important;
		overscroll-behavior: none;
		background: var(--wp--preset--color--base, #fff) !important;
		padding-top: max(0.7rem, env(safe-area-inset-top, 0px)) !important;
		padding-right: calc(var(--checkpoint-mobile-fab-size, 2.75rem) + 1rem);
		padding-bottom: calc(4.75rem + env(safe-area-inset-bottom, 0px));
		padding-left: 1.15rem;
	}

	.gmm-buttons-wrapper {
		position: static;
		display: flex !important;
		align-items: center;
		flex: 0 0 auto;
		min-height: var(--checkpoint-mobile-fab-size, 2.75rem);
		height: var(--checkpoint-mobile-fab-size, 2.75rem);
		margin: 0 !important;
		padding: 0 !important;
		border: none;
		background: none;
		box-shadow: none;
	}

	.checkpoint-mobile-menu-title {
		display: flex !important;
		align-items: center;
		min-height: var(--checkpoint-mobile-fab-size, 2.75rem);
		margin: 0;
		padding: 0;
		font-size: 1.125rem;
		font-weight: 700;
		line-height: 1.2;
	}

	.gmm-back-to-main {
		display: none !important;
		align-items: center;
		gap: 0.4rem;
		min-height: var(--checkpoint-mobile-fab-size, 2.75rem);
		margin: 0;
		padding: 0;
		border: none;
		background: none !important;
		box-shadow: none !important;
		color: inherit;
		font-family: inherit;
		font-size: 1rem;
		font-weight: 600;
		line-height: 1.2;
		cursor: pointer;
	}

	.checkpoint-mobile-menu-tools {
		display: flex !important;
		flex-direction: column;
		flex: 0 0 auto;
		gap: 0.75rem;
		margin: 0.75rem 0 1.25rem !important;
		padding: 0;
		border-bottom: none;
	}

	.gmm-primary-menu-wrap > .gmm-primary-menu {
		flex: 1 1 auto;
		min-height: 0;
		margin-top: 0;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}

	.checkpoint-mega-acc-toggle {
		display: none !important;
	}

	.checkpoint-mobile-menu-search {
		display: flex;
		align-items: stretch;
		gap: 0.5rem;
	}

	.checkpoint-mobile-menu-search__input {
		flex: 1 1 auto;
		min-width: 0;
		min-height: var(--checkpoint-form-control-height);
		margin: 0;
		padding: 0 var(--checkpoint-form-control-padding-x);
		border: var(--checkpoint-form-control-border);
		border-radius: var(--checkpoint-form-control-radius);
		background: var(--checkpoint-form-control-bg);
		color: inherit;
		font-family: inherit;
		font-size: var(--checkpoint-form-control-font-size);
	}

	.checkpoint-mobile-menu-search__submit {
		flex-shrink: 0;
		min-height: var(--checkpoint-form-control-height);
		padding: 0.55rem 0.9rem;
	}

	.checkpoint-mobile-menu-account {
		position: absolute;
		right: 1.15rem;
		bottom: max(1rem, env(safe-area-inset-bottom, 0px));
		left: 1.15rem;
		z-index: 2;
		display: flex;
		align-items: center;
		gap: 0.65rem;
		min-height: 2.5rem;
		color: inherit;
		font-weight: 600;
		text-decoration: none;
	}

	.checkpoint-mobile-menu-account:hover,
	.checkpoint-mobile-menu-account:focus-visible {
		color: var(--wp--preset--color--accent-3, #e13207);
		text-decoration: none;
	}

	.checkpoint-mobile-menu-account__icon {
		display: block;
		width: 1.35rem;
		height: 1.35rem;
	}

	.wp-block-gutenify-mega-menu-mega-menu .gmm-primary-menu-wrap.gmm-mobile-toggle-show .gmm-primary-menu > .gmm-menu-item,
	.gmm-primary-menu-wrap.gmm-mobile-toggle-show .gmm-primary-menu > .gmm-menu-item {
		display: block !important;
		visibility: visible !important;
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
		opacity: 1 !important;
		transform: none !important;
		pointer-events: auto !important;
	}

	.wp-block-gutenify-mega-menu-mega-menu .gmm-primary-menu-wrap.gmm-mobile-toggle-show .gmm-menu-item > .gmm-primary-menu__dropdown,
	.gmm-primary-menu-wrap.gmm-mobile-toggle-show .gmm-menu-item > .gmm-primary-menu__dropdown {
		display: block !important;
		position: static !important;
		inset: auto !important;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		transform: none !important;
		box-shadow: none !important;
		padding: 0 0 0.35rem !important;
		background: transparent !important;
		z-index: auto !important;
	}

	.wp-block-gutenify-mega-menu-mega-menu .gmm-primary-menu__description,
	.wp-block-gutenify-mega-menu-mega-menu .gmm-primary-menu__title h3 {
		display: none !important;
	}
}

@media (min-width: 1024px) {
	/* Hide Gutenify mobile chrome before view.js adds .gmm-is-desktop (FOUC / JS miss). */
	header.wp-block-template-part .gmm-mobile-toggle-open,
	header.wp-block-template-part .gmm-mobile-toggle-close,
	header.wp-block-template-part .gmm-buttons-wrapper,
	header.wp-block-template-part .gmm-back-to-main {
		display: none !important;
	}

	/* Stretch nav through the sandy header padding so hover covers the full bar. */
	header.wp-block-template-part .wp-block-group.alignfull > .wp-block-group.alignwide {
		align-items: stretch;
	}

	header.wp-block-template-part .wp-block-group.alignwide > .wp-block-group:first-child,
	header.wp-block-template-part .checkpoint-header-actions {
		display: flex;
		align-items: center;
	}

	header.wp-block-template-part .wp-block-gutenify-mega-menu-mega-menu,
	header.wp-block-template-part .gmm-primary-menu-wrap,
	header.wp-block-template-part .gmm-primary-menu {
		align-self: stretch;
		display: flex;
		align-items: stretch;
		height: auto;
	}

	header.wp-block-template-part .gmm-primary-menu {
		margin-block: 0;
		gap: 0.15rem !important;
	}

	.checkpoint-mega-acc-toggle {
		display: none !important;
	}

	header.wp-block-template-part .gmm-primary-menu > .gmm-menu-item {
		display: flex;
		align-items: stretch;
		margin-block: -1rem;
	}

	header.wp-block-template-part .gmm-primary-menu > .gmm-menu-item > .gmm-menu-item-link,
	header.wp-block-template-part .gmm-primary-menu > .gmm-menu-item > .checkpoint-mega-acc-row > .gmm-menu-item-link {
		display: flex;
		align-items: center;
		box-sizing: border-box;
		min-height: calc(66px + 2rem);
		padding: 0 0.75rem;
	}

	.checkpoint-php-mega-menu .gmm-mobile-toggle-open,
	.checkpoint-php-mega-menu .gmm-buttons-wrapper {
		display: none;
	}
}

.wp-block-gutenify-mega-menu-mega-menu .gmm-primary-menu__dropdown {
	max-width: 100vw;
}

/* Mega menu — no underlines on section / column title links */
.wp-block-gutenify-mega-menu-mega-menu .gmm-primary-menu__title a,
.wp-block-gutenify-mega-menu-mega-menu .gmm-mega-menu-content .wp-block-heading a,
.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__link,
.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__child,
.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-see-all {
	text-decoration: none;
}

.wp-block-gutenify-mega-menu-mega-menu .gmm-primary-menu__title a:hover,
.wp-block-gutenify-mega-menu-mega-menu .gmm-primary-menu__title a:focus-visible,
.wp-block-gutenify-mega-menu-mega-menu .gmm-mega-menu-content .wp-block-heading a:hover,
.wp-block-gutenify-mega-menu-mega-menu .gmm-mega-menu-content .wp-block-heading a:focus-visible,
.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__link:hover,
.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__link:focus-visible,
.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__child:hover,
.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__child:focus-visible,
.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-see-all:hover,
.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-see-all:focus-visible {
	text-decoration: none;
}

@media (min-width: 1024px) {
	/*
	 * Open/close is `.checkpoint-mega-open` (theme JS), not Gutenify’s
	 * `.gmm-show-child-menu`. Plugin view.js removes the latter on capture
	 * pointerdown, which previously applied pointer-events:none before click.
	 * Selectors match plugin desktop hover-show specificity.
	 */
	.wp-block-gutenify-mega-menu-mega-menu.gmm-is-desktop:not(.block-editor-block-list__block) .gmm-primary-menu > .gmm-menu-item.gmm-mega-menu-item-has-children {
		position: relative;
	}

	/*
	 * Gutenify paints an absolute ::before band across every label
	 * (z-index 999, ~33px tall) that turns dark on hover and swallows clicks.
	 * Match the plugin selector so this override actually wins.
	 */
	.wp-block-gutenify-mega-menu-mega-menu.gmm-is-desktop:not(.block-editor-block-list__block) .gmm-primary-menu > .gmm-menu-item::before,
	.wp-block-gutenify-mega-menu-mega-menu:not(.block-editor-block-list__block):not(.gmm-is-mobile):not(.gmm-is-desktop) .gmm-primary-menu > .gmm-menu-item::before {
		content: none !important;
		display: none !important;
		pointer-events: none !important;
		z-index: 0 !important;
		height: 0 !important;
		width: 0 !important;
		inset: auto !important;
		top: auto !important;
		background: none !important;
	}

	.wp-block-gutenify-mega-menu-mega-menu .gmm-primary-menu > .gmm-menu-item > .gmm-menu-item-link,
	.wp-block-gutenify-mega-menu-mega-menu .gmm-primary-menu > .gmm-menu-item > .checkpoint-mega-acc-row > .gmm-menu-item-link {
		position: relative;
		z-index: 2;
		cursor: pointer;
	}

	/* Hover bridge from header bar into the panel; z-index below the panel so it cannot steal clicks. */
	header.wp-block-template-part .wp-block-gutenify-mega-menu-mega-menu.gmm-is-desktop .gmm-primary-menu > .gmm-menu-item.gmm-mega-menu-item-has-children::after,
	.wp-block-gutenify-mega-menu-mega-menu.gmm-is-desktop:not(.block-editor-block-list__block) .gmm-primary-menu > .gmm-menu-item.gmm-mega-menu-item-has-children::after {
		content: none !important;
		display: none !important;
		pointer-events: none !important;
	}

	.wp-block-gutenify-mega-menu-mega-menu.gmm-is-desktop:not(.block-editor-block-list__block) .gmm-primary-menu > .gmm-menu-item.gmm-mega-menu-item-has-children:hover::after,
	.wp-block-gutenify-mega-menu-mega-menu.gmm-is-desktop:not(.block-editor-block-list__block) .gmm-primary-menu > .gmm-menu-item.gmm-mega-menu-item-has-children.checkpoint-mega-open::after {
		pointer-events: auto;
	}

	.wp-block-gutenify-mega-menu-mega-menu.gmm-is-desktop:not(.block-editor-block-list__block) .gmm-primary-menu > .gmm-menu-item.gmm-mega-menu-item-has-children:not(.checkpoint-mega-open):not(.block-editor-block-list__block):hover:not(.wp-block-gutenify-mega-menu-mega-menu.gmm-show-menu-on-click .gmm-menu-item) > .gmm-primary-menu__dropdown,
	.wp-block-gutenify-mega-menu-mega-menu.gmm-is-desktop:not(.block-editor-block-list__block) .gmm-primary-menu > .gmm-menu-item.gmm-mega-menu-item-has-children:not(.checkpoint-mega-open):not(.block-editor-block-list__block) > .gmm-primary-menu__dropdown {
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
		transform: none !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	.wp-block-gutenify-mega-menu-mega-menu.gmm-is-desktop:not(.block-editor-block-list__block) .gmm-primary-menu > .gmm-menu-item.gmm-mega-menu-item-has-children.checkpoint-mega-open:not(.block-editor-block-list__block):hover:not(.wp-block-gutenify-mega-menu-mega-menu.gmm-show-menu-on-click .gmm-menu-item) > .gmm-primary-menu__dropdown,
	.wp-block-gutenify-mega-menu-mega-menu.gmm-is-desktop:not(.block-editor-block-list__block) .gmm-primary-menu > .gmm-menu-item.gmm-mega-menu-item-has-children.checkpoint-mega-open:not(.block-editor-block-list__block) > .gmm-primary-menu__dropdown {
		display: flex !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		transform: none !important;
		padding-top: 1.35rem !important;
		padding-bottom: 1.5rem !important;
	}

	.wp-block-gutenify-mega-menu-mega-menu.gmm-is-desktop:not(.block-editor-block-list__block) .gmm-primary-menu > .gmm-menu-item.gmm-mega-menu-item-has-children.checkpoint-mega-open .gmm-primary-menu__dropdown a {
		pointer-events: auto !important;
	}

	.wp-block-gutenify-mega-menu-mega-menu .gmm-primary-menu > .gmm-menu-item.checkpoint-mega-open > .gmm-menu-item-link,
	.wp-block-gutenify-mega-menu-mega-menu .gmm-primary-menu > .gmm-menu-item.checkpoint-mega-open > .checkpoint-mega-acc-row > .gmm-menu-item-link {
		color: var(--wp--preset--color--accent-3, #e13207);
	}
}

/*
 * Mega menu dropdown v2 (2026-08-22).
 * Content-width rail, one hub action, contrast labels, contained logos.
 */
@media (min-width: 1024px) {
	header.wp-block-template-part .checkpoint-php-header {
		flex-wrap: nowrap;
		align-items: stretch;
	}

	header.wp-block-template-part .checkpoint-php-mega-menu {
		flex: 1 1 auto;
		justify-content: flex-start;
	}

	header.wp-block-template-part .wp-block-group.alignfull.has-background-color {
		position: relative;
		overflow: visible;
	}

	header.wp-block-template-part .gmm-primary-menu > .gmm-menu-item {
		flex: 0 0 auto;
		width: auto;
		position: static !important;
	}

	header.wp-block-template-part .gmm-primary-menu > .gmm-menu-item > .gmm-primary-menu__dropdown {
		position: absolute !important;
		left: 0 !important;
		right: 0 !important;
		top: 100%;
		width: 100% !important;
		max-width: none;
		margin-left: 0 !important;
		z-index: 40;
		display: flex;
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		transition: opacity 0.3s ease-out, padding-top 0.3s ease-out, padding-bottom 0.3s ease-out, visibility 0.3s ease-out;
	}

	header.wp-block-template-part .gmm-primary-menu > .gmm-menu-item.checkpoint-mega-open > .gmm-primary-menu__dropdown {
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		padding-top: 1.35rem !important;
		padding-bottom: 1.5rem !important;
	}

	.wp-block-gutenify-mega-menu-mega-menu .gmm-primary-menu .gmm-menu-item .gmm-primary-menu__dropdown {
		align-items: stretch;
		justify-content: center;
		gap: 2.25rem;
		box-sizing: border-box;
		width: 100%;
		padding: 1.35rem max(1.25rem, calc((100% - var(--wp--style--global--wide-size, 1340px)) / 2)) 1.5rem !important;
		border-top: 0;
		background: var(--wp--preset--color--base, #fff);
		box-shadow: 0 22px 48px rgba(25, 25, 25, 0.12), 0 6px 18px rgba(25, 25, 25, 0.06) !important;
	}

	.wp-block-gutenify-mega-menu-mega-menu .gmm-primary-menu .gmm-menu-item .gmm-primary-menu__dropdown .gmm-primary-menu__title {
		display: none !important;
	}

	.wp-block-gutenify-mega-menu-mega-menu .gmm-primary-menu .gmm-menu-item .gmm-primary-menu__dropdown .gmm-primary-menu__title h3 {
		margin: 0;
		font-size: 0.75rem !important;
		font-weight: 600 !important;
		letter-spacing: 0.08em;
		line-height: 1.3 !important;
		text-transform: uppercase;
		color: var(--wp--preset--color--accent-4, #4f4744) !important;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-title-text {
		display: block;
	}

	.wp-block-gutenify-mega-menu-mega-menu .gmm-primary-menu__title .gmm-mobile-only-link {
		display: none;
	}

	.wp-block-gutenify-mega-menu-mega-menu .gmm-primary-menu__description {
		display: none;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-see-all {
		display: none;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-see-all::after {
		content: "";
		display: inline-block;
		width: 0.55em;
		height: 0.55em;
		margin-left: 0.35em;
		border-top: 1.5px solid currentColor;
		border-right: 1.5px solid currentColor;
		transform: rotate(45deg);
		translate: 0 0.05em;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-see-all:hover,
	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-see-all:focus-visible {
		color: var(--wp--preset--color--accent-3, #e13207);
	}

	.wp-block-gutenify-mega-menu-mega-menu .gmm-primary-menu__menu-col {
		flex: 1 1 auto;
		width: 100%;
		min-width: 0;
		max-width: none;
	}

	.wp-block-gutenify-mega-menu-mega-menu .gmm-mega-menu-content {
		display: flex !important;
		flex-wrap: nowrap;
		align-items: flex-start;
		justify-content: flex-start;
		width: 100%;
		gap: 1rem !important;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest {
		flex: 1 1 0 !important;
		flex-basis: 0 !important;
		max-width: none;
		min-width: 0;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__link {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		height: auto;
		min-height: 0;
		padding: 0;
		color: inherit;
		text-align: left;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__figure {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		width: 100%;
		min-height: 4.5rem;
		margin: 0 0 0.55rem;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__figure img {
		width: auto !important;
		max-width: 100%;
		height: 4.5rem !important;
		object-fit: contain;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__label,
	.wp-block-gutenify-mega-menu-mega-menu .gmm-mega-menu-content .wp-block-heading,
	.wp-block-gutenify-mega-menu-mega-menu .gmm-mega-menu-content .has-text-align-center {
		margin: 0;
		color: var(--wp--preset--color--contrast, #191919);
		font-size: 0.9375rem;
		font-weight: 600;
		line-height: 1.25;
		text-align: left;
	}

	.wp-block-gutenify-mega-menu-mega-menu .gmm-mega-menu-content .wp-block-heading a {
		color: inherit;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__children {
		list-style: none;
		display: flex;
		flex-direction: column;
		gap: 0.35rem;
		margin: 0.55rem 0 0;
		padding: 0;
		width: 100%;
		text-align: left;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__children li {
		margin: 0;
		padding: 0;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__child {
		display: block;
		padding: 0;
		color: var(--wp--preset--color--accent-4, #4f4744);
		font-size: 0.8125rem;
		font-weight: 400;
		line-height: 1.35;
		text-align: left;
		text-decoration: none;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__child:hover,
	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__child:focus-visible {
		color: var(--wp--preset--color--accent-3, #e13207);
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__child--start {
		font-weight: 700;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__children--peers {
		gap: 0.5rem;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__child--peer {
		color: var(--wp--preset--color--contrast, #191919);
		font-size: 0.9375rem;
		font-weight: 600;
		line-height: 1.25;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__child--peer:hover,
	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__child--peer:focus-visible {
		color: var(--wp--preset--color--accent-3, #e13207);
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__link:hover .checkpoint-mega-dest__label,
	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__link:focus-visible .checkpoint-mega-dest__label,
	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__link:hover .checkpoint-mega-menu-icon,
	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__link:focus-visible .checkpoint-mega-menu-icon {
		color: var(--wp--preset--color--accent-3, #e13207);
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest--text {
		flex: 0 0 auto !important;
		flex-basis: auto !important;
		max-width: 7.5rem;
		align-self: stretch;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest--text .checkpoint-mega-dest__link {
		justify-content: flex-start;
		padding-bottom: 0;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest--text .checkpoint-mega-dest__link::before {
		content: "+";
		display: flex;
		align-items: center;
		justify-content: flex-start;
		width: 4.5rem;
		height: 4.5rem;
		margin-bottom: 0.55rem;
		color: var(--wp--preset--color--accent-4, #4f4744);
		font-size: 1.75rem;
		font-weight: 400;
		line-height: 1;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest--text .checkpoint-mega-dest__label {
		color: var(--wp--preset--color--accent-4, #4f4744);
		font-size: 0.875rem;
		font-weight: 600;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-menu-content--icons .checkpoint-mega-menu-icon-col {
		flex: 1 1 0 !important;
		flex-basis: 0 !important;
		max-width: none;
		text-align: center;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-menu-content--icons .checkpoint-mega-dest__link {
		align-items: center;
		text-align: center;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-menu-content--icons .checkpoint-mega-dest__label,
	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-menu-content--icons .wp-block-heading {
		text-align: center;
		width: 100%;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-menu-content--icons .checkpoint-mega-menu-icon {
		justify-content: center;
		width: 100%;
		margin: 0 0 0.5rem;
	}

	.gmm-mega-menu-content .checkpoint-mega-menu-icon {
		margin: 0 0 0.5rem;
	}

	.gmm-mega-menu-content .checkpoint-mega-menu-icon svg {
		width: 2.75rem;
		height: 2.75rem;
	}
}

@media (max-width: 1023px) {
	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-title-text,
	.wp-block-gutenify-mega-menu-mega-menu .gmm-primary-menu__description {
		display: none;
	}

	.wp-block-gutenify-mega-menu-mega-menu .gmm-primary-menu > .gmm-menu-item {
		border-bottom: 1px solid var(--wp--preset--color--accent-6, #d6d3d1);
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-see-all {
		display: inline-flex;
		align-items: center;
		margin: 0.15rem 0 0.85rem;
		padding: 0;
		color: var(--wp--preset--color--accent-3, #e13207);
		font-size: 0.9375rem;
		font-weight: 700;
		text-decoration: none;
	}

	.wp-block-gutenify-mega-menu-mega-menu .gmm-mega-menu-content.wp-block-columns {
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 0.15rem;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest,
	.wp-block-gutenify-mega-menu-mega-menu .gmm-mega-menu-content .wp-block-column {
		flex-basis: auto !important;
		width: 100%;
		max-width: none;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__link {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: 0.75rem;
		padding: 0.45rem 0 0.25rem;
		color: inherit;
		text-align: left;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__figure {
		flex: 0 0 3.25rem;
		width: 3.25rem;
		margin: 0;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__figure img {
		width: auto;
		max-width: 3.25rem;
		height: 2.25rem;
		object-fit: contain;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__label {
		margin: 0;
		color: var(--wp--preset--color--contrast, #191919);
		font-size: 1rem;
		font-weight: 600;
		text-align: left;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__children {
		display: none;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__child {
		display: block;
		padding: 0;
		color: var(--wp--preset--color--accent-4, #4f4744);
		font-size: 0.9375rem;
		font-weight: 400;
		line-height: 1.35;
		text-align: left;
		text-decoration: none;
	}

	.wp-block-gutenify-mega-menu-mega-menu .checkpoint-mega-dest__child--start {
		font-weight: 700;
	}
}

/* Hobby mega menu — Lucide line-art icons in brand orange (not logos). */
.gmm-mega-menu-content .checkpoint-mega-menu-icon {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin: 0 0 0.65rem;
	color: var(--wp--preset--color--accent-3, #e13207);
	text-decoration: none;
}

.gmm-mega-menu-content .checkpoint-mega-menu-icon svg {
	width: 4.25rem;
	height: 4.25rem;
	display: block;
}

.gmm-mega-menu-content .checkpoint-mega-menu-icon-col {
	text-align: left;
}

@media (min-width: 782px) and (max-width: 1023px) {
	.gmm-mega-menu-content.checkpoint-mega-menu-content--icons .checkpoint-mega-menu-icon-col {
		flex-basis: 14.28% !important;
		flex-grow: 1;
	}
}

.wp-block-checkpoint-store-mode-nav .wp-block-button__link {
	text-decoration: none;
}

.checkpoint-mode-card {
	border-color: var(--wp--preset--color--accent-6) !important;
}

.wp-block-group.alignfull > .wp-block-group.alignwide {
	max-width: var(--wp--style--global--wide-size);
}

main.alignfull > .wp-block-post-content.alignwide {
	width: 100%;
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
}

/* Accordion category sidebar */
.checkpoint-sidebar-categories,
.wp-block-group.checkpoint-sidebar-categories {
	border-color: var(--wp--preset--color--accent-6) !important;
}

.checkpoint-sidebar-categories__heading {
	display: none;
	margin: 0;
}

.checkpoint-category-accordion {
	--checkpoint-cat-toggle-size: 1.5rem;
	--checkpoint-cat-toggle-gap: 0.4rem;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	padding-right: 0.1rem;
}

.checkpoint-cat-root > .checkpoint-cat-branch > .checkpoint-cat-row > .checkpoint-cat-link,
.checkpoint-cat-root > .checkpoint-cat-leaf:not(.checkpoint-cat-leaf--fulfillment) > .checkpoint-cat-row > .checkpoint-cat-link {
	font-size: calc(var(--wp--preset--font-size--small, 0.875rem) * 1.2);
}

.checkpoint-cat-root,
.checkpoint-cat-children {
	list-style: none;
	margin: 0;
	padding: 0;
}

.checkpoint-cat-root > .checkpoint-cat-branch,
.checkpoint-cat-root > .checkpoint-cat-leaf {
	border-bottom: 1px solid var(--wp--preset--color--accent-6, #d6d3d1);
}

.checkpoint-cat-root > .checkpoint-cat-branch:last-child,
.checkpoint-cat-root > .checkpoint-cat-leaf:last-child {
	border-bottom: none;
}

.checkpoint-cat-children-panel {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.1s ease;
}

.checkpoint-cat-branch.is-open > .checkpoint-cat-children-panel {
	grid-template-rows: 1fr;
}

.checkpoint-cat-children-panel > .checkpoint-cat-children {
	overflow: hidden;
	min-height: 0;
}

.checkpoint-cat-row {
	display: flex;
	align-items: center;
	gap: var(--checkpoint-cat-toggle-gap, 0.4rem);
}

.checkpoint-cat-row > .checkpoint-cat-link {
	flex: 1;
	min-width: 0;
}

.checkpoint-cat-link--branch {
	min-height: 2.75rem;
	padding: 0.35rem 0;
	font-weight: 600;
}

.checkpoint-cat-toggle,
.checkpoint-cat-toggle-spacer {
	box-sizing: border-box;
	flex-shrink: 0;
	width: var(--checkpoint-cat-toggle-size, 1.5rem);
	height: var(--checkpoint-cat-toggle-size, 1.5rem);
	min-width: var(--checkpoint-cat-toggle-size, 1.5rem);
	min-height: var(--checkpoint-cat-toggle-size, 1.5rem);
	max-width: var(--checkpoint-cat-toggle-size, 1.5rem);
	max-height: var(--checkpoint-cat-toggle-size, 1.5rem);
}

.checkpoint-cat-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	appearance: none;
	font: inherit;
	line-height: 0;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: #fff;
	box-shadow: none;
	color: #9a9a9a;
	cursor: pointer;
	transition: color 0.1s ease, box-shadow 0.1s ease;
}

.checkpoint-cat-toggle-spacer {
	visibility: hidden;
	pointer-events: none;
}

.checkpoint-cat-toggle:hover,
.checkpoint-cat-toggle:focus-visible {
	background: #fff;
	color: var(--wp--preset--color--accent-3, #e13207);
	box-shadow: 0 2px 8px rgba(25, 25, 25, 0.18);
}

.checkpoint-cat-toggle:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-3, #e13207);
	outline-offset: 2px;
}

.checkpoint-cat-toggle__chevron {
	display: block;
	transition: transform 0.1s ease;
}

.checkpoint-cat-branch.is-open > .checkpoint-cat-row > .checkpoint-cat-toggle .checkpoint-cat-toggle__chevron {
	transform: rotate(180deg);
}

@media (prefers-reduced-motion: reduce) {
	.checkpoint-cat-children-panel,
	.checkpoint-cat-toggle__chevron {
		transition: none;
	}
}

.checkpoint-cat-name {
	flex: 1;
	min-width: 0;
}

.checkpoint-cat-count {
	flex-shrink: 0;
	font-size: 0.8125rem;
	font-weight: 400;
	opacity: 0.65;
}

.checkpoint-cat-children {
	padding: 0 0 0.25rem 1.25rem;
}

.checkpoint-cat-branch--depth-1 .checkpoint-cat-link--branch,
.checkpoint-cat-children .checkpoint-cat-leaf > .checkpoint-cat-row > .checkpoint-cat-link {
	font-weight: 500;
}

.checkpoint-cat-children .checkpoint-cat-children {
	padding-left: 0.9rem;
}

.checkpoint-cat-children .checkpoint-cat-leaf > .checkpoint-cat-row > .checkpoint-cat-link {
	min-height: 1.75rem;
	padding: 0.175rem 0;
}

.checkpoint-cat-children .checkpoint-cat-row > .checkpoint-cat-link--branch {
	min-height: 1.75rem;
	padding: 0.175rem 0;
}

.checkpoint-cat-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	min-height: 2.25rem;
	padding: 0.25rem 0;
	color: inherit;
	text-decoration: none;
	line-height: 1.35;
}

.checkpoint-cat-link:hover,
.checkpoint-cat-link:focus-visible {
	text-decoration: underline;
}

.checkpoint-cat-link--current {
	font-weight: 700;
	color: var(--wp--preset--color--accent-3, #e13207);
}

.checkpoint-cat-all > .checkpoint-cat-link {
	font-weight: 500;
	font-style: italic;
	opacity: 0.85;
}

.checkpoint-cat-leaf > .checkpoint-cat-row > .checkpoint-cat-link {
	font-weight: 600;
}

.checkpoint-cat-root > .checkpoint-cat-leaf:not(.checkpoint-cat-leaf--fulfillment) > .checkpoint-cat-row > .checkpoint-cat-link {
	min-height: 2.75rem;
	padding: 0.35rem 0;
}

.checkpoint-cat-leaf--start > .checkpoint-cat-row > .checkpoint-cat-link--start,
.checkpoint-cat-children .checkpoint-cat-leaf--start > .checkpoint-cat-row > .checkpoint-cat-link--start {
	font-weight: 700;
}

.checkpoint-cat-root > .checkpoint-cat-branch:has(+ .checkpoint-cat-leaf--fulfillment),
.checkpoint-cat-root > .checkpoint-cat-leaf:not(.checkpoint-cat-leaf--fulfillment):has(+ .checkpoint-cat-leaf--fulfillment) {
	border-bottom: none;
}

.checkpoint-cat-root > .checkpoint-cat-leaf--fulfillment {
	border-bottom: none;
}

.checkpoint-cat-root > .checkpoint-cat-leaf--fulfillment + .checkpoint-cat-leaf--fulfillment {
	margin-top: 0.25rem;
}

.checkpoint-cat-leaf--fulfillment-first {
	margin-top: 0;
	padding-top: 0.65rem;
	border-top: 1px solid var(--wp--preset--color--accent-6, #d6d3d1);
}

.checkpoint-cat-link--fulfillment {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0.55rem;
	box-sizing: border-box;
	width: 100%;
	min-height: 2.5rem;
	margin: 0;
	padding: 0.55rem 0.75rem;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08), 0 2px 6px rgba(0, 0, 0, 0.06);
	font-size: var(--wp--preset--font-size--medium, 1rem);
	font-weight: 700;
	line-height: 1.25;
	text-decoration: none;
}

.checkpoint-cat-link--fulfillment:hover,
.checkpoint-cat-link--fulfillment:focus-visible {
	text-decoration: none;
	opacity: 1;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1), 0 4px 10px rgba(0, 0, 0, 0.08);
}

.checkpoint-cat-link--fulfillment.checkpoint-cat-link--current {
	opacity: 1;
}

.checkpoint-cat-fulfillment-dot {
	flex-shrink: 0;
	width: 0;
	height: 0;
	margin: 0;
	padding: 0;
	border-radius: 0;
	background: transparent;
	border-style: solid;
	border-width: 0.34rem 0.5rem 0.34rem 0;
	border-color: transparent;
}

.checkpoint-cat-link--fulfillment.checkpoint-cat-link--upcoming,
.checkpoint-cat-link--fulfillment.checkpoint-cat-link--upcoming .checkpoint-cat-name {
	color: #5c6bc0;
}

.checkpoint-cat-link--fulfillment.checkpoint-cat-link--upcoming .checkpoint-cat-fulfillment-dot {
	border-right-color: #5c6bc0;
}

.checkpoint-cat-link--fulfillment.checkpoint-cat-link--preorder,
.checkpoint-cat-link--fulfillment.checkpoint-cat-link--preorder .checkpoint-cat-name {
	color: #008274;
}

.checkpoint-cat-link--fulfillment.checkpoint-cat-link--preorder .checkpoint-cat-fulfillment-dot {
	border-right-color: #008274;
}

.checkpoint-cat-link--fulfillment.checkpoint-cat-link--arriving,
.checkpoint-cat-link--fulfillment.checkpoint-cat-link--arriving .checkpoint-cat-name {
	color: #454545;
}

.checkpoint-cat-link--fulfillment.checkpoint-cat-link--arriving .checkpoint-cat-fulfillment-dot {
	border-right-color: #454545;
}

.checkpoint-cat-link--fulfillment.checkpoint-cat-link--instock,
.checkpoint-cat-link--fulfillment.checkpoint-cat-link--instock .checkpoint-cat-name {
	color: var(--wp--preset--color--accent-3, #e13207);
}

.checkpoint-cat-link--fulfillment.checkpoint-cat-link--instock .checkpoint-cat-fulfillment-dot {
	border-right-color: var(--wp--preset--color--accent-3, #e13207);
}

.checkpoint-cat-link--fulfillment.checkpoint-cat-link--sale,
.checkpoint-cat-link--fulfillment.checkpoint-cat-link--sale .checkpoint-cat-name {
	color: #b32020;
}

.checkpoint-cat-link--fulfillment.checkpoint-cat-link--sale .checkpoint-cat-fulfillment-dot {
	border-right-color: #b32020;
}

/* Second-level sidebar status buttons — same colors and icons as the homepage row. */
.checkpoint-sidebar-catalog-links {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	margin: 0.85rem 0 0;
}

.checkpoint-sidebar-catalog-links__link {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0.5rem;
	width: 100%;
	min-height: 2.5rem;
	margin: 0;
	padding: 0.45rem 0.7rem;
	border: 1px solid transparent;
	border-radius: 8px;
	background: #fff;
	box-shadow: none;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: 0;
	text-align: left;
	text-decoration: none;
	text-transform: none;
	color: #fff;
}

.checkpoint-sidebar-catalog-links__link:hover,
.checkpoint-sidebar-catalog-links__link:focus-visible {
	color: #fff;
	text-decoration: none;
	filter: brightness(0.92);
}

.checkpoint-sidebar-catalog-links__link[aria-current="page"] {
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.9);
}

.checkpoint-sidebar-catalog-links .checkpoint-home-catalog-links__icon {
	width: 1.35rem;
	height: 1.35rem;
}

.checkpoint-sidebar-catalog-links__label {
	min-width: 0;
}

.checkpoint-sidebar-catalog-links__link--upcoming {
	border-color: #5c6bc0;
	background: #5c6bc0;
}

.checkpoint-sidebar-catalog-links__link--preorder {
	border-color: #00b49c;
	background: #00b49c;
}

.checkpoint-sidebar-catalog-links__link--newest {
	border-color: #3aaa4a;
	background: #3aaa4a;
}

.checkpoint-sidebar-catalog-links__link--instock {
	border-color: var(--wp--preset--color--accent-3, #e13207);
	background: var(--wp--preset--color--accent-3, #e13207);
}

.checkpoint-sidebar-catalog-links__link--sale {
	border-color: #b32020;
	background: #b32020;
}

.checkpoint-sidebar-categories__empty {
	margin: 0;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	opacity: 0.75;
}

/* Cross-section hub navigation below category sidebar */
.checkpoint-sidebar-panel {
	display: flex;
	flex-direction: column;
	gap: 0;
}

/* Card wrapper for sidebar nav (accordion + discount banner only). */
.checkpoint-sidebar-panel--card {
	--checkpoint-sidebar-panel-radius: var(--checkpoint-product-card-radius, 10px);
	border-radius: var(--checkpoint-sidebar-panel-radius);
	background-color: var(--wp--preset--color--accent-5, #f1eee9);
	box-shadow: var(--checkpoint-product-card-shadow, 0 9px 7px -8px #0005);
	padding: 0.85rem 1rem 1rem;
	overflow: hidden;
}

.checkpoint-sidebar-panel--card .checkpoint-sidebar-discount-banner {
	margin-top: 0;
}

/* Hub crosslinks sit outside the nav card as a sibling. */
.checkpoint-sidebar-panel--card + .checkpoint-sidebar-hub-links {
	margin-top: var(--checkpoint-grid-gap, 1.5rem);
	padding-top: 0;
	border-top: none;
}

.checkpoint-sidebar-hub-links {
	margin-top: var(--checkpoint-grid-gap, 1.5rem);
	padding-top: 0;
	border-top: none;
}

.checkpoint-sidebar-hub-links__list {
	display: flex;
	flex-direction: column;
	gap: var(--checkpoint-grid-gap, 1.5rem);
	overflow: visible;
}

.checkpoint-bento-box--sidebar {
	width: 100%;
	min-height: clamp(6.83rem, 12.6vw, 8.93rem);
	box-shadow: none;
}

/* wpautop may inject <br> in wp:shortcode output — hide inside compact sidebar tiles. */
.checkpoint-bento-box--sidebar br {
	display: none;
}

.checkpoint-bento-box--sidebar .checkpoint-bento-box__body {
	padding: 0.6rem 0.67rem;
}

.checkpoint-bento-box--sidebar .checkpoint-bento-box__title,
.checkpoint-bento-box--sidebar h3.checkpoint-bento-box__title {
	margin-bottom: 0.18rem;
}

.checkpoint-bento-box--sidebar .checkpoint-bento-box__desc {
	-webkit-line-clamp: 2;
}

.checkpoint-bento-box--warhammer .checkpoint-bento-box__base {
	background: linear-gradient(145deg, #3a2018 0%, #191919 100%);
}

.checkpoint-bento-box--tcg .checkpoint-bento-box__base {
	background: linear-gradient(145deg, #1a2438 0%, #101820 100%);
}

.checkpoint-bento-box--store .checkpoint-bento-box__base {
	background: linear-gradient(145deg, #2a1814 0%, #191919 100%);
}

.checkpoint-bento-box--accessories .checkpoint-bento-box__base {
	background: linear-gradient(145deg, #2f2b29 0%, #1a1816 100%);
}

/* Sidebar news feed below hub navigation tiles (sibling of nav card, not inside it) */
.checkpoint-sidebar-news,
.checkpoint-sidebar-hub-links + .checkpoint-sidebar-news,
.checkpoint-sidebar-panel + .checkpoint-sidebar-news {
	margin-top: var(--checkpoint-grid-gap, 1.5rem);
	padding-top: 0;
	border: none;
	outline: none;
	box-shadow: none;
}

.checkpoint-sidebar-news__heading {
	margin: 0 0 0.35rem;
	font-size: clamp(1.15rem, 1.6vw, 1.25rem);
	font-weight: 700;
	line-height: 1.25;
}

.checkpoint-sidebar-news__list {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.checkpoint-sidebar-news__item {
	--checkpoint-sidebar-news-radius: var(--checkpoint-product-card-radius, 10px);
	display: flex;
	flex-direction: column;
	gap: 0;
	overflow: hidden;
	border-radius: var(--checkpoint-sidebar-news-radius);
	box-shadow: none;
	background: transparent;
}

.checkpoint-sidebar-news__body {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin: 0;
	padding: 0.85rem 0.75rem 0.75rem;
	background: var(--wp--preset--color--accent-5, #f1eee9);
	border-radius: 0 0 var(--checkpoint-sidebar-news-radius) var(--checkpoint-sidebar-news-radius);
	box-shadow: none;
}

.checkpoint-sidebar-news__title {
	margin: 0;
	font-size: clamp(0.875rem, 1.2vw, 0.95rem);
	line-height: 1.35;
}

.checkpoint-sidebar-news__title a {
	color: inherit;
	text-decoration: none;
}

.checkpoint-sidebar-news__title a:hover,
.checkpoint-sidebar-news__title a:focus-visible {
	color: var(--wp--preset--color--accent-3, #e13207);
	text-decoration: underline;
}

.checkpoint-sidebar-news__media {
	position: relative;
	overflow: hidden;
	margin: 0;
	border: none;
	border-radius: var(--checkpoint-sidebar-news-radius) var(--checkpoint-sidebar-news-radius) 0 0;
	box-shadow: none;
}

.checkpoint-sidebar-news__media-link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.checkpoint-sidebar-news__date {
	position: absolute;
	left: 0.45rem;
	bottom: 0.45rem;
	z-index: 1;
	padding: 0.12rem 0.42rem;
	font-size: 0.6875rem;
	font-weight: 600;
	line-height: 1.25;
	color: #fff;
	background: rgba(0, 0, 0, 0.72);
	border-radius: 4px;
}

.checkpoint-sidebar-news__image,
.checkpoint-sidebar-news__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.checkpoint-sidebar-news__excerpt {
	font-size: var(--wp--preset--font-size--small, 0.8125rem);
	line-height: 1.45;
}

.checkpoint-sidebar-news__excerpt p {
	margin: 0 0 0.55rem;
}

.checkpoint-sidebar-news__excerpt p:last-child {
	margin-bottom: 0;
}

.checkpoint-sidebar-news__more-inline {
	font-weight: 600;
	color: var(--wp--preset--color--accent-3, #e13207);
	text-decoration: underline;
	text-underline-offset: 0.15em;
	white-space: nowrap;
}

.checkpoint-sidebar-news__more-inline:hover,
.checkpoint-sidebar-news__more-inline:focus-visible {
	text-decoration: underline;
}

.checkpoint-sidebar-news__banners {
	margin-top: 1.25rem;
}

.checkpoint-sidebar-news__banners-list {
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
}

.checkpoint-news-figure__img {
	display: block;
	max-width: 100%;
	height: auto;
}

.checkpoint-news-figure__media,
.checkpoint-news-gallery__figure__media {
	position: relative;
	display: inline-block;
	max-width: 100%;
}

.checkpoint-news-badge,
.checkpoint-product-case-badge {
	--checkpoint-case-badge-size: clamp(4.5rem, 11.25vw, 5.625rem);
	--checkpoint-case-badge-radius: 32%;
	position: absolute;
	top: calc(var(--checkpoint-case-badge-size) * 0.26);
	left: calc(var(--checkpoint-case-badge-size) * 0.26);
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--checkpoint-case-badge-size);
	height: var(--checkpoint-case-badge-size);
	margin: 0;
	padding: 0;
	border-radius: var(--checkpoint-case-badge-radius);
	font-family: var(--wp--preset--font-family--sofia-sans, "Sofia Sans", sans-serif);
	font-size: clamp(2.025rem, 4.2vw, 2.775rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.05em;
	color: #fff;
	background: var(--wp--preset--color--accent-3, #e13207);
	box-shadow: 0 4px 12px rgba(225, 50, 7, 0.35);
	transform: rotate(-45deg);
	transform-origin: center center;
	pointer-events: none;
}

.checkpoint-news-badge__text,
.checkpoint-product-case-badge__text {
	display: block;
	transform: rotate(45deg);
}

.checkpoint-product-card .checkpoint-product-case-badge {
	--checkpoint-case-badge-size: clamp(3.975rem, 9.75vw, 4.875rem);
	top: calc(var(--checkpoint-case-badge-size) * 0.3);
	left: calc(var(--checkpoint-case-badge-size) * 0.3);
	font-size: clamp(1.725rem, 3.6vw, 2.325rem);
}

/* Rotated case badges and status tags extend past image corners — allow overflow on image wrappers. */
.checkpoint-news-figure__media:has(.checkpoint-news-badge),
.checkpoint-news-gallery__figure__media:has(.checkpoint-news-badge) {
	overflow: visible;
}

.checkpoint-product-card:has(.checkpoint-product-case-badge, .checkpoint-product-card__status-badges, .checkpoint-product-card__price-tags),
.checkpoint-product-card .wc-block-components-product-image:has(.checkpoint-product-case-badge, .checkpoint-product-card__status-badges, .checkpoint-product-card__price-tags),
.checkpoint-product-card .wc-block-components-product-image a:has(.checkpoint-product-case-badge, .checkpoint-product-card__status-badges, .checkpoint-product-card__price-tags),
.checkpoint-product-card .wc-block-components-product-image > div:has(.checkpoint-product-case-badge, .checkpoint-product-card__status-badges, .checkpoint-product-card__price-tags),
.checkpoint-product-card__media:has(.checkpoint-product-case-badge, .checkpoint-product-card__status-badges, .checkpoint-product-card__price-tags) {
	overflow: visible !important;
}

.checkpoint-single-product__gallery .woocommerce-product-gallery__image:has(.checkpoint-product-case-badge),
.checkpoint-single-product__gallery .wc-block-product-gallery > .wc-block-components-product-image:has(.checkpoint-product-case-badge) {
	overflow: visible;
}

.checkpoint-single-product__gallery .woocommerce-product-gallery__image a:has(.checkpoint-product-case-badge),
.checkpoint-single-product__gallery .wc-block-product-gallery > .wc-block-components-product-image :is(a, > div):has(.checkpoint-product-case-badge) {
	overflow: visible;
}

.checkpoint-single-product__gallery .woocommerce-product-gallery__image:has(.checkpoint-product-case-badge) img,
.checkpoint-single-product__gallery .wc-block-product-gallery > .wc-block-components-product-image:has(.checkpoint-product-case-badge) img {
	border-radius: inherit;
}

/* Store news single article — three columns (~1340px wide) */
.checkpoint-news-article-wrap {
	--checkpoint-news-gap: clamp(1rem, 2vw, 1.75rem);
}

body.checkpoint-news-article-page .checkpoint-news-article {
	display: grid !important;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.01fr) minmax(0, 0.69fr) !important;
	grid-template-rows: auto auto;
	flex-wrap: nowrap !important;
	gap: var(--checkpoint-news-gap);
	align-items: start;
	max-width: var(--wp--style--global--wide-size, 1340px);
	margin-inline: auto;
}

body.checkpoint-news-article-page .checkpoint-news-article > .wp-block-column {
	flex: none !important;
	flex-grow: 0 !important;
	flex-basis: auto !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0;
}

.checkpoint-news-article > .wp-block-column {
	min-width: 0;
}

body.checkpoint-news-article-page .checkpoint-news-article__title,
body.checkpoint-news-article-page .checkpoint-news-article > .wp-block-post-title {
	grid-column: 1 / 3;
	grid-row: 1;
	margin: 0 0 1rem;
}

body.checkpoint-news-article-page .checkpoint-news-article__main {
	grid-column: 1;
	grid-row: 2;
	min-width: 0;
}

body.checkpoint-news-article-page .checkpoint-news-article__gallery-col {
	grid-column: 2;
	grid-row: 2;
	min-width: 0;
}

body.checkpoint-news-article-page .checkpoint-news-article__nav-col {
	grid-column: 3;
	grid-row: 1 / span 2;
	min-width: 0;
}

body.checkpoint-news-article-page .checkpoint-news-article__main .wp-block-post-content,
body.checkpoint-news-article-page .checkpoint-news-article__main .entry-content,
body.checkpoint-news-article-page .checkpoint-news-article__main .wp-block-post-content :where(p, li, blockquote, figcaption) {
	font-size: clamp(0.9375rem, 1.12vw, 1rem) !important;
	line-height: 1.6 !important;
}

body.checkpoint-news-article-page .checkpoint-news-article__main .wp-block-post-content.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: 100%;
}

.checkpoint-news-article__cover {
	margin: 0 0 1.25rem;
	max-width: 100%;
}

body.checkpoint-news-article-page .checkpoint-news-article__main .alignwide,
body.checkpoint-news-article-page .checkpoint-news-article__main .wp-block-post-featured-image.alignwide,
body.checkpoint-news-article-page .checkpoint-news-article__cover,
.checkpoint-news-article__cover img,
.checkpoint-news-article__cover-img,
body.checkpoint-news-article-page .checkpoint-news-article__main .wp-block-post-featured-image img {
	display: block;
	max-width: 100% !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain;
	border-radius: 8px;
}

.checkpoint-news-article__main .checkpoint-news-figure {
	margin: 1.25rem 0;
	max-width: 100%;
}

.checkpoint-news-gallery {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.checkpoint-news-gallery__figure {
	max-width: 100%;
}

.checkpoint-news-gallery__img,
.checkpoint-news-gallery__figure__img {
	display: block;
	max-width: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 6px;
}

.wp-block-columns.checkpoint-store-layout.checkpoint-news-index-layout {
	max-width: 62rem;
	margin-inline: auto;
}

.checkpoint-news-index-layout .checkpoint-news-store-sections,
.checkpoint-news-nav--articles .checkpoint-news-store-sections {
	margin-top: 0;
}

@media (min-width: 641px) {
	.checkpoint-store-layout.checkpoint-news-index-layout > .checkpoint-store-layout__sidebar {
		flex: 0 0 17.5rem;
		max-width: 17.5rem;
	}
}

@media (max-width: 960px) {
	.checkpoint-store-layout.checkpoint-news-index-layout > .checkpoint-store-layout__main {
		order: 0;
	}

	.checkpoint-store-layout.checkpoint-news-index-layout > .checkpoint-store-layout__sidebar {
		order: 1;
		margin-top: 1.75rem;
		margin-bottom: 0;
	}
}

.checkpoint-news-index {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0.5rem 0 0;
	padding: 0;
	list-style: none;
}

.checkpoint-news-index__item {
	display: grid;
	grid-template-columns: 8.75rem minmax(0, 32rem);
	gap: 0.85rem 1rem;
	align-items: start;
	padding: 0.9rem 0;
	border-bottom: 1px solid var(--wp--preset--color--accent-6, #d6d3d1);
}

.checkpoint-news-index__item--no-media {
	grid-template-columns: minmax(0, 32rem);
}

.checkpoint-news-index__media {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: var(--checkpoint-product-card-radius, 10px);
	background: var(--wp--preset--color--accent-5, #f1eee9);
}

.checkpoint-news-index__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.checkpoint-news-index__body {
	min-width: 0;
	padding-top: 0.1rem;
}

.checkpoint-news-index__date {
	display: block;
	margin-bottom: 0.15rem;
	font-size: 0.75rem;
	line-height: 1.3;
	letter-spacing: 0.01em;
	opacity: 0.62;
}

.checkpoint-news-index__title {
	margin: 0 0 0.3rem;
	font-size: var(--checkpoint-product-card-title-size, 1rem);
	font-weight: 700;
	line-height: 1.3;
}

.checkpoint-news-index__title a {
	color: inherit;
	text-decoration: none;
}

.checkpoint-news-index__title a:hover,
.checkpoint-news-index__title a:focus-visible {
	text-decoration: underline;
}

.checkpoint-news-index__excerpt {
	margin: 0;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.45;
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

@media (max-width: 480px) {
	.checkpoint-news-index__item {
		grid-template-columns: 6.25rem minmax(0, 1fr);
		gap: 0.7rem;
	}
}

.checkpoint-news-index__paging {
	margin-top: 1.25rem;
}

.checkpoint-news-index__paging .page-numbers {
	display: inline-block;
	margin-right: 0.35rem;
}

.checkpoint-news-store-sections .checkpoint-bento-box.checkpoint-bento-box--sidebar .checkpoint-bento-box__body {
	box-sizing: border-box;
	width: 100%;
	padding: 0.75rem 2.85rem 0.8rem 0.85rem;
}

.checkpoint-news-store-sections .checkpoint-bento-box--sidebar .checkpoint-bento-box__title,
.checkpoint-news-store-sections .checkpoint-bento-box--sidebar h3.checkpoint-bento-box__title {
	margin-bottom: 0.28rem;
}

.checkpoint-news-nav {
	border: 1px solid var(--wp--preset--color--accent-6, #d6d3d1);
	border-radius: 8px;
	padding: 1rem 0.85rem;
}

.checkpoint-news-nav.checkpoint-news-nav--articles {
	border: none;
	border-radius: 0;
	padding: 0;
	box-shadow: none;
}

.checkpoint-news-nav__heading {
	margin: 0 0 1rem;
	font-size: clamp(0.95rem, 1.4vw, 1.05rem);
	font-weight: 700;
	line-height: 1.25;
}

.checkpoint-news-nav--articles .checkpoint-sidebar-news {
	margin-top: 1.75rem;
	padding-top: 0;
	border: none;
}

.checkpoint-news-nav__section + .checkpoint-news-nav__section {
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top: 1px solid var(--wp--preset--color--accent-6, #d6d3d1);
}

.checkpoint-news-nav__subheading {
	margin: 0 0 0.65rem;
	font-size: var(--wp--preset--font-size--small, 0.8125rem);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	opacity: 0.75;
}

.checkpoint-news-nav__store-link {
	margin: 1rem 0 0;
	font-size: var(--wp--preset--font-size--small, 0.8125rem);
}

.checkpoint-news-nav__store-link a {
	font-weight: 600;
	color: var(--wp--preset--color--accent-3, #e13207);
	text-decoration: none;
}

.checkpoint-news-nav__store-link a:hover,
.checkpoint-news-nav__store-link a:focus-visible {
	text-decoration: underline;
}

body:not(.checkpoint-news-article-page) .checkpoint-news-article {
	display: block;
}

body:not(.checkpoint-news-article-page) .checkpoint-news-article__gallery-col,
body:not(.checkpoint-news-article-page) .checkpoint-news-article__nav-col {
	display: none;
}

@media (max-width: 1024px) {
	.checkpoint-news-article-page .checkpoint-news-article {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto;
	}

	body.checkpoint-news-article-page .checkpoint-news-article__title,
	body.checkpoint-news-article-page .checkpoint-news-article > .wp-block-post-title,
	body.checkpoint-news-article-page .checkpoint-news-article__main,
	body.checkpoint-news-article-page .checkpoint-news-article__gallery-col,
	body.checkpoint-news-article-page .checkpoint-news-article__nav-col {
		grid-column: 1;
		grid-row: auto;
	}

	.checkpoint-news-article-page .checkpoint-news-gallery {
		flex-flow: row wrap;
	}

	.checkpoint-news-article-page .checkpoint-news-gallery > figure {
		flex: 1 1 calc(50% - 0.5rem);
	}
}

@media (max-width: 640px) {
	.checkpoint-news-article-page .checkpoint-news-gallery > figure {
		flex-basis: 100%;
	}
}

/* Unified product listing layout: 75% main + 25% sidebar (right), 3-column grid */
.checkpoint-store-layout,
.wp-block-columns.checkpoint-store-layout {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: var(--checkpoint-grid-gap, 1.5rem);
	width: 100%;
	max-width: var(--wp--style--global--wide-size, 1340px);
	margin-inline: auto;
}

/*
 * Woo status notices (added to cart, errors, info).
 * Cream card + Checkpoint orange, same width as the store layout.
 */
.woocommerce-notices-wrapper:empty {
	display: none;
}

body:not(.woocommerce-account) .woocommerce-notices-wrapper:not(:empty) {
	width: 100%;
	max-width: var(--wp--style--global--wide-size, 1340px);
	margin: 0 auto 1rem;
}

body:not(.woocommerce-account) :is(
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error
) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem 0.85rem;
	width: 100%;
	margin: 0 0 0.65rem;
	padding: 0.85rem 1rem;
	border: none;
	border-radius: var(--checkpoint-product-card-radius, 10px);
	background: var(--wp--preset--color--accent-5, #f1eee9);
	box-shadow: var(--checkpoint-product-card-shadow, 0 9px 7px -8px #0005);
	color: var(--wp--preset--color--contrast, #191919);
	font-family: inherit;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.4;
	list-style: none;
}

body:not(.woocommerce-account) :is(
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error
)::before {
	content: "";
	flex: 0 0 1.5rem;
	width: 1.5rem;
	height: 1.5rem;
	margin: 0;
	border-radius: 50%;
	background-color: var(--wp--preset--color--accent-3, #e13207);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 0.85rem;
	font-size: 0;
	line-height: 0;
}

body:not(.woocommerce-account) .woocommerce-message::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9.3 16.6 5.2 12.5l1.4-1.4 2.7 2.7 7.1-7.1 1.4 1.4z'/%3E%3C/svg%3E");
}

body:not(.woocommerce-account) .woocommerce-info::before {
	background-color: var(--wp--preset--color--contrast, #191919);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M11 7h2v2h-2zm0 4h2v6h-2z'/%3E%3C/svg%3E");
}

body:not(.woocommerce-account) .woocommerce-error::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M7.05 8.46 10.59 12l-3.54 3.54 1.41 1.41L12 13.41l3.54 3.54 1.41-1.41L13.41 12l3.54-3.54-1.41-1.41L12 10.59 8.46 7.05z'/%3E%3C/svg%3E");
}

body:not(.woocommerce-account) .woocommerce-error {
	background: #fde8e4;
}

body:not(.woocommerce-account) :is(
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error
) > a.button,
body:not(.woocommerce-account) :is(
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error
) a.button.wc-forward,
body:not(.woocommerce-account) :is(
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error
) a.wp-element-button {
	order: 2;
	float: none;
	margin: 0 0 0 auto;
	padding: 0.4rem 0.9rem;
	min-height: 2.25rem;
	border: none;
	border-radius: var(--checkpoint-form-control-radius, 6px);
	background: var(--wp--preset--color--contrast, #191919);
	color: #fff !important;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	text-decoration: none;
	white-space: nowrap;
}

body:not(.woocommerce-account) :is(
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error
) > a.button:hover,
body:not(.woocommerce-account) :is(
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error
) > a.button:focus-visible,
body:not(.woocommerce-account) :is(
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error
) a.button.wc-forward:hover,
body:not(.woocommerce-account) :is(
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error
) a.button.wc-forward:focus-visible,
body:not(.woocommerce-account) :is(
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error
) a.wp-element-button:hover,
body:not(.woocommerce-account) :is(
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error
) a.wp-element-button:focus-visible {
	background: var(--wp--preset--color--accent-3, #e13207);
	color: #fff !important;
}

body:not(.woocommerce-account) .woocommerce-error li {
	flex: 1 1 auto;
	margin: 0;
	padding: 0;
}

body:not(.woocommerce-account) .wc-block-components-notice-banner {
	width: 100%;
	max-width: var(--wp--style--global--wide-size, 1340px);
	margin-inline: auto;
	margin-bottom: 1rem;
	padding: 0.85rem 1rem;
	border: none;
	border-radius: var(--checkpoint-product-card-radius, 10px);
	background: var(--wp--preset--color--accent-5, #f1eee9);
	box-shadow: var(--checkpoint-product-card-shadow, 0 9px 7px -8px #0005);
	color: var(--wp--preset--color--contrast, #191919);
}

body:not(.woocommerce-account) .wc-block-components-notice-banner.is-error {
	background: #fde8e4;
}

/* Speedy plugin injects a free-delivery countdown into the notices wrapper. */
#deliv_msg,
.woocommerce-notices-wrapper > [role="alert"]:has(#deliv_msg) {
	display: none !important;
}

.woocommerce-notices-wrapper:has(#deliv_msg):not(:has(.woocommerce-error, .woocommerce-info, .woocommerce-message:not(#deliv_msg))) {
	display: none !important;
	margin: 0 !important;
}

/*
 * Checkout / cart: GW 10% progress is a status line, not an alert card.
 * Promo code is a text action under it, not a second matching banner.
 */
.checkpoint-gw-volume-notice {
	width: 100%;
	margin: 0 0 0.85rem;
	padding: 0.75rem 0.95rem 0.7rem;
	border: 1px solid #e4ddd4;
	border-radius: 10px;
	background: #fff;
	box-shadow: none;
	color: var(--wp--preset--color--contrast, #191919);
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.45;
}

.checkpoint-gw-volume-notice p {
	margin: 0;
}

.checkpoint-gw-volume-notice__amount,
.checkpoint-gw-volume-notice strong {
	font-weight: 700;
}

.checkpoint-gw-volume-notice__note {
	color: #6f6763;
	font-weight: 400;
}

.checkpoint-gw-volume-notice__meter {
	height: 3px;
	margin-top: 0.55rem;
	border-radius: 99px;
	background: #e7e1da;
	overflow: hidden;
}

.checkpoint-gw-volume-notice__meter > span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--wp--preset--color--accent-3, #e13207);
}

body:not(.woocommerce-account) .woocommerce-form-coupon-toggle {
	margin: 0 0 1.25rem;
}

body:not(.woocommerce-account) .woocommerce-form-coupon-toggle :is(
	.woocommerce-info,
	.wc-block-components-notice-banner
) {
	display: block;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0 !important;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--wp--preset--color--accent-4, #4f4744);
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.45;
}

body:not(.woocommerce-account) .woocommerce-form-coupon-toggle .woocommerce-info::before,
body:not(.woocommerce-account) .woocommerce-form-coupon-toggle .wc-block-components-notice-banner svg {
	content: none;
	display: none;
}

body:not(.woocommerce-account) .woocommerce-form-coupon-toggle .wc-block-components-notice-banner__content {
	padding: 0;
	font-weight: 500;
}

body:not(.woocommerce-account) .woocommerce-form-coupon-toggle a.showcoupon {
	color: var(--wp--preset--color--accent-3, #e13207);
	font-weight: 600;
	text-decoration: none;
	text-underline-offset: 0.16em;
}

body:not(.woocommerce-account) .woocommerce-form-coupon-toggle a.showcoupon:hover,
body:not(.woocommerce-account) .woocommerce-form-coupon-toggle a.showcoupon:focus-visible {
	text-decoration: underline;
}

body.woocommerce-checkout form.checkout_coupon {
	margin: -0.4rem 0 1.25rem;
	padding: 0.8rem 0.9rem;
	border: 1px solid #e4ddd4;
	border-radius: 10px;
	background: #fff;
	box-shadow: none;
}

body.woocommerce-checkout form.checkout_coupon > p:not(.form-row) {
	display: none;
}

body.woocommerce-checkout form.checkout_coupon .clear {
	display: none;
}

body.woocommerce-checkout form.checkout_coupon .form-row-first,
body.woocommerce-checkout form.checkout_coupon .form-row-last {
	display: inline-block;
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
	vertical-align: middle;
}

body.woocommerce-checkout form.checkout_coupon .form-row-first {
	width: min(100%, 16rem);
	margin-right: 0.5rem;
}

body.woocommerce-checkout form.checkout_coupon .form-row-first .input-text {
	min-height: var(--checkpoint-form-control-height);
}

body.woocommerce-checkout form.checkout_coupon button.button {
	min-height: var(--checkpoint-form-control-height);
	padding: 0 1rem;
	border: none;
	border-radius: var(--checkpoint-form-control-radius, 6px);
	background: var(--checkpoint-form-button-bg, #e13207);
	color: #fff;
	font-weight: 600;
}

body.woocommerce-checkout form.checkout_coupon button.button:hover,
body.woocommerce-checkout form.checkout_coupon button.button:focus-visible {
	background: var(--checkpoint-form-button-bg-hover, #c42b06);
	color: #fff;
}

@media (max-width: 600px) {
	body.woocommerce-checkout form.checkout_coupon .form-row-first,
	body.woocommerce-checkout form.checkout_coupon .form-row-last {
		display: block;
		width: 100%;
		margin: 0;
	}

	body.woocommerce-checkout form.checkout_coupon .form-row-first {
		margin-bottom: 0.5rem;
	}

	body.woocommerce-checkout form.checkout_coupon button.button {
		width: 100%;
	}
}

.checkpoint-php-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.5rem;
	width: 100%;
}

.checkpoint-store-catalog-toolbar {
	display: flex;
}

.checkpoint-store-layout > .checkpoint-store-layout__sidebar {
	order: 2;
	position: sticky;
	top: 1rem;
	flex: 0 0 25%;
	max-width: 25%;
}

.checkpoint-store-layout > .checkpoint-store-layout__main {
	order: 1;
	flex: 1 1 0;
	min-width: 0;
}

.checkpoint-store-layout .wp-block-woocommerce-product-collection ul.wc-block-product-template,
.checkpoint-store-layout .wp-block-woocommerce-product-collection .wc-block-product-template {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--checkpoint-product-grid-gap, 1.5rem) !important;
	--wc-product-template-gap: var(--checkpoint-product-grid-gap, 1.5rem);
}

/* WooCommerce flex layout sets partial li widths; grid override leaves empty cell space without this reset. */
.checkpoint-store-layout .wp-block-woocommerce-product-collection .wc-block-product-template > :is(li.wc-block-product, li.product) {
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0;
	list-style: none;
	overflow: visible;
}

/* Product search: no sidebar, four columns of the same catalog cards */
.checkpoint-store-layout--search > .checkpoint-store-layout__main,
body.search-results .checkpoint-store-layout > .checkpoint-store-layout__main,
body.checkpoint-product-search .checkpoint-store-layout > .checkpoint-store-layout__main {
	flex-basis: 100% !important;
	width: 100% !important;
	max-width: none !important;
}

body.search-results .checkpoint-store-layout__sidebar,
body.checkpoint-product-search .checkpoint-store-layout__sidebar {
	display: none !important;
}

.checkpoint-store-layout--search .wp-block-woocommerce-product-collection ul.wc-block-product-template,
.checkpoint-store-layout--search .wp-block-woocommerce-product-collection .wc-block-product-template,
body.search-results .checkpoint-store-layout .wp-block-woocommerce-product-collection ul.wc-block-product-template,
body.search-results .checkpoint-store-layout .wp-block-woocommerce-product-collection .wc-block-product-template,
body.checkpoint-product-search .checkpoint-store-layout .wp-block-woocommerce-product-collection ul.wc-block-product-template,
body.checkpoint-product-search .checkpoint-store-layout .wp-block-woocommerce-product-collection .wc-block-product-template {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Catalog pagination — Gutenberg query + Woo classic (ul.page-numbers).
   Woo's `nav.woocommerce-pagination ul li a` is more specific than a bare
   `.page-numbers` rule, and that class also sits on the UL — so item chrome
   must target :is(a, span) and beat Woo's joined-border / float layout. */
.wp-block-query-pagination,
.woocommerce nav.woocommerce-pagination,
.woocommerce-pagination {
	--checkpoint-pagination-radius: var(--checkpoint-form-control-radius, 6px);
	--checkpoint-pagination-shadow: 0 1px 2px rgba(25, 25, 25, 0.08);
	--checkpoint-pagination-shadow-hover: 0 2px 6px rgba(25, 25, 25, 0.14);
	--checkpoint-pagination-border: var(--wp--preset--color--accent-6, #d6d3d1);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	margin-block: 2.5rem 0;
	padding: 0;
	border: none;
	background: transparent;
	box-shadow: none;
	font-family: inherit;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	font-weight: 600;
	line-height: 1;
	text-align: center;
}

.wp-block-query-pagination-numbers,
.woocommerce nav.woocommerce-pagination ul.page-numbers,
.woocommerce-pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	width: auto;
	min-width: 0;
	min-height: 0;
	height: auto;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	list-style: none;
	white-space: normal;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li,
.woocommerce-pagination ul.page-numbers li {
	display: flex;
	float: none;
	margin: 0;
	padding: 0;
	border: none;
	overflow: visible;
	list-style: none;
}

.wp-block-query-pagination-previous,
.wp-block-query-pagination-next,
.wp-block-query-pagination-numbers :is(a, span).page-numbers,
.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers,
.woocommerce nav.woocommerce-pagination ul.page-numbers li span.page-numbers,
.woocommerce-pagination ul.page-numbers li a.page-numbers,
.woocommerce-pagination ul.page-numbers li span.page-numbers {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	float: none;
	width: auto;
	height: auto;
	min-width: 2.5rem;
	min-height: 2.5rem;
	margin: 0;
	padding: 0 0.7rem;
	border: 1px solid var(--checkpoint-pagination-border);
	border-radius: var(--checkpoint-pagination-radius);
	background-color: var(--wp--preset--color--base, #fff);
	color: var(--wp--preset--color--contrast, #191919);
	font-size: inherit;
	font-weight: 600;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	box-shadow: var(--checkpoint-pagination-shadow);
	transition:
		background-color 0.15s ease,
		border-color 0.15s ease,
		color 0.15s ease,
		box-shadow 0.15s ease;
}

.wp-block-query-pagination-previous,
.wp-block-query-pagination-next,
.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers.prev,
.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers.next,
.woocommerce-pagination ul.page-numbers li a.page-numbers.prev,
.woocommerce-pagination ul.page-numbers li a.page-numbers.next {
	min-width: auto;
	padding-inline: 1rem;
	letter-spacing: 0.01em;
}

.wp-block-query-pagination-numbers .page-numbers.current,
.woocommerce nav.woocommerce-pagination ul.page-numbers li span.page-numbers.current,
.woocommerce-pagination ul.page-numbers li span.page-numbers.current {
	background: var(--wp--preset--color--accent-3, #e13207);
	border-color: var(--wp--preset--color--accent-3, #e13207);
	color: #fff;
	box-shadow: none;
	cursor: default;
}

.wp-block-query-pagination-previous:hover,
.wp-block-query-pagination-next:hover,
.wp-block-query-pagination-numbers a.page-numbers:hover,
.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers:hover,
.woocommerce-pagination ul.page-numbers li a.page-numbers:hover {
	background-color: var(--wp--preset--color--accent-5, #f1eee9);
	border-color: color-mix(in srgb, var(--wp--preset--color--accent-3, #e13207) 40%, var(--checkpoint-pagination-border));
	color: var(--wp--preset--color--accent-3, #e13207);
	box-shadow: var(--checkpoint-pagination-shadow-hover);
}

.wp-block-query-pagination-previous:focus-visible,
.wp-block-query-pagination-next:focus-visible,
.wp-block-query-pagination-numbers a.page-numbers:focus-visible,
.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers:focus-visible,
.woocommerce-pagination ul.page-numbers li a.page-numbers:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-3, #e13207) !important;
	outline-offset: 2px;
}

.wp-block-query-pagination-numbers .page-numbers.dots,
.woocommerce nav.woocommerce-pagination ul.page-numbers li span.page-numbers.dots,
.woocommerce-pagination ul.page-numbers li span.page-numbers.dots {
	min-width: 1.25rem;
	padding-inline: 0.15rem;
	border-color: transparent;
	background: transparent;
	box-shadow: none;
	color: var(--wp--preset--color--accent-4, #4f4744);
	font-weight: 700;
	pointer-events: none;
}

@media (max-width: 480px) {
	.wp-block-query-pagination,
	.woocommerce nav.woocommerce-pagination,
	.woocommerce-pagination {
		gap: 0.3rem;
	}

	.wp-block-query-pagination-previous,
	.wp-block-query-pagination-next,
	.wp-block-query-pagination-numbers :is(a, span).page-numbers,
	.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers,
	.woocommerce nav.woocommerce-pagination ul.page-numbers li span.page-numbers,
	.woocommerce-pagination ul.page-numbers li a.page-numbers,
	.woocommerce-pagination ul.page-numbers li span.page-numbers {
		min-width: 2.25rem;
		min-height: 2.25rem;
		padding: 0 0.5rem;
		font-size: 0.8125rem;
	}

	.wp-block-query-pagination-previous,
	.wp-block-query-pagination-next,
	.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers.prev,
	.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers.next,
	.woocommerce-pagination ul.page-numbers li a.page-numbers.prev,
	.woocommerce-pagination ul.page-numbers li a.page-numbers.next {
		padding-inline: 0.7rem;
	}
}

.checkpoint-store-catalog-toolbar {
	margin-block: 0 var(--checkpoint-grid-gap, 1.5rem);
	gap: 0.75rem 1rem;
	align-items: center;
}

.checkpoint-store-catalog-toolbar .checkpoint-catalog-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 0.4rem;
	flex: 1 1 auto;
	margin: 0;
}

.checkpoint-catalog-pager {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 0.75rem 1.25rem;
	margin-block: 2.5rem 0;
}

.checkpoint-catalog-pager .woocommerce-pagination,
.checkpoint-catalog-pager nav.woocommerce-pagination {
	justify-content: flex-start;
	margin: 0;
	flex: 0 1 auto;
}

.checkpoint-catalog-pager .woocommerce-result-count {
	float: none;
	margin: 0 0 0 auto;
	flex: 0 0 auto;
	white-space: nowrap;
	text-align: right;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	color: var(--wp--preset--color--contrast-2, #646464);
}

.checkpoint-store-layout__main .checkpoint-store-catalog-toolbar .woocommerce-ordering,
.checkpoint-store-layout__main .checkpoint-store-catalog-toolbar .wp-block-woocommerce-catalog-sorting {
	margin: 0;
	margin-left: auto;
}

.checkpoint-store-layout__main .checkpoint-store-catalog-toolbar .woocommerce-ordering select {
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	padding: 0.35rem 2rem 0.35rem 0.65rem;
	border: 1px solid var(--wp--preset--color--accent-6, #e0e0e0);
	border-radius: 4px;
	background-color: var(--wp--preset--color--base, #fff);
	cursor: pointer;
}

.checkpoint-store-layout__main .checkpoint-store-catalog-toolbar .woocommerce-ordering select:disabled,
.checkpoint-store-layout__main .checkpoint-store-catalog-toolbar .woocommerce-ordering select.is-catalog-loading,
.checkpoint-store-layout__main .checkpoint-store-catalog-toolbar .wp-block-woocommerce-catalog-sorting select:disabled,
.checkpoint-store-layout__main .checkpoint-store-catalog-toolbar .wp-block-woocommerce-catalog-sorting select.is-catalog-loading {
	opacity: 0.65;
	cursor: wait;
	pointer-events: none;
}

.checkpoint-store-layout .wp-block-woocommerce-product-collection.is-catalog-loading {
	position: relative;
	cursor: wait;
}

.checkpoint-store-layout .wp-block-woocommerce-product-collection.is-catalog-loading > * {
	opacity: 0.45;
	pointer-events: none;
	transition: opacity 0.15s ease;
}

.checkpoint-store-layout .wp-block-woocommerce-product-collection.is-catalog-loading > .checkpoint-catalog-sort-status {
	opacity: 1;
}

.checkpoint-store-layout .wp-block-woocommerce-product-collection.is-catalog-loading::after {
	content: "";
	position: absolute;
	top: 2.5rem;
	left: 50%;
	z-index: 2;
	width: 1.75rem;
	height: 1.75rem;
	margin-left: -0.875rem;
	border: 2px solid var(--wp--preset--color--accent-6, #e0e0e0);
	border-top-color: var(--wp--preset--color--accent-3, #e13207);
	border-radius: 50%;
	animation: checkpoint-catalog-sort-spin 0.7s linear infinite;
}

@keyframes checkpoint-catalog-sort-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.checkpoint-store-layout .wp-block-woocommerce-product-collection.is-catalog-loading > * {
		transition: none;
	}

	.checkpoint-store-layout .wp-block-woocommerce-product-collection.is-catalog-loading::after {
		animation: none;
		border-color: var(--wp--preset--color--accent-3, #e13207);
	}
}

/* Catalog main column: page title first, breadcrumbs directly underneath */
.checkpoint-store-layout__main:not(.checkpoint-single-product__main) {
	display: flex;
	flex-direction: column;
}

.checkpoint-store-layout__main:not(.checkpoint-single-product__main) > .checkpoint-store-page-title,
.checkpoint-store-layout__main:not(.checkpoint-single-product__main) > .wp-block-query-title.checkpoint-store-page-title {
	order: -2;
	margin-block: 0 0.35rem;
}

.checkpoint-store-layout__main:not(.checkpoint-single-product__main) > .checkpoint-store-catalog-header {
	order: -1;
	margin-block: 0 0.75rem;
}

/* Align archive title row with sidebar discount banner text (shared top padding). */
.checkpoint-store-layout:has(.checkpoint-sidebar-discount-banner) .checkpoint-store-layout__main:not(.checkpoint-single-product__main) > .checkpoint-store-page-title,
.checkpoint-store-layout:has(.checkpoint-sidebar-discount-banner) .checkpoint-store-layout__main:not(.checkpoint-single-product__main) > .wp-block-query-title.checkpoint-store-page-title {
	padding-top: 0.55rem;
	line-height: 1.35;
}

.checkpoint-store-layout__sidebar .checkpoint-sidebar-discount-banner {
	margin-top: 0;
}

.checkpoint-store-layout__sidebar .checkpoint-sidebar-panel {
	margin-top: 0;
}

/* Catalog header: breadcrumbs row */
.checkpoint-store-layout__main > .checkpoint-store-catalog-header,
.checkpoint-store-catalog-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1rem;
}

.checkpoint-store-catalog-header .woocommerce-breadcrumb,
.checkpoint-store-catalog-header .wp-block-woocommerce-breadcrumbs {
	margin: 0;
	flex: 1 1 auto;
	min-width: 0;
	font-size: 0.8125rem;
	font-weight: 400;
	line-height: 1.4;
	color: var(--wp--preset--color--accent-4, #4f4744);
}

.checkpoint-store-catalog-header .woocommerce-breadcrumb a,
.checkpoint-store-catalog-header .wp-block-woocommerce-breadcrumbs a {
	color: inherit;
	text-decoration: none;
}

.checkpoint-store-catalog-header .woocommerce-breadcrumb a:hover,
.checkpoint-store-catalog-header .woocommerce-breadcrumb a:focus-visible,
.checkpoint-store-catalog-header .wp-block-woocommerce-breadcrumbs a:hover,
.checkpoint-store-catalog-header .wp-block-woocommerce-breadcrumbs a:focus-visible {
	text-decoration: underline;
}

.checkpoint-catalog-filter-chip {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	max-width: none;
	margin: 0;
	padding: 0.16rem 0.7rem 0.16rem 0.16rem;
	border: 0;
	border-radius: 999px;
	font-family: inherit;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	color: #fff;
	background: #3a3532;
	opacity: 0.5;
	pointer-events: auto;
	cursor: pointer;
	box-shadow: none;
	transition: opacity 0.15s ease, filter 0.15s ease;
	appearance: none;
	-webkit-appearance: none;
}

.checkpoint-catalog-filter-chip[aria-pressed="true"] {
	opacity: 1;
}

.checkpoint-catalog-filter-chip--included[aria-pressed="true"] {
	opacity: 0.5;
}

.checkpoint-catalog-filter-chip:hover,
.checkpoint-catalog-filter-chip:focus-visible {
	opacity: 1;
	text-decoration: none;
	color: #fff;
}

.checkpoint-catalog-filter-chip:focus-visible {
	outline: 2px solid var(--wp--preset--color--contrast, #191919);
	outline-offset: 2px;
}

.checkpoint-catalog-filter-chip__label {
	line-height: 1.2;
	padding-right: 0.15rem;
}

.checkpoint-catalog-filter-chip__mark {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	background: #fff;
}

.checkpoint-catalog-filter-chip__icon {
	display: block;
	width: 10px;
	height: 10px;
	min-width: 10px;
	min-height: 10px;
}

.checkpoint-catalog-filter-chip--all {
	background: #3a3532;
}

.checkpoint-catalog-filter-chip--all .checkpoint-catalog-filter-chip__icon {
	color: #3a3532;
}

.checkpoint-catalog-filter-chip--sale {
	background: #b32020;
}

.checkpoint-catalog-filter-chip--sale .checkpoint-catalog-filter-chip__icon {
	color: #b32020;
}

.checkpoint-catalog-filter-chip--instock {
	background: var(--wp--preset--color--accent-3, #e13207);
}

.checkpoint-catalog-filter-chip--instock .checkpoint-catalog-filter-chip__icon {
	color: var(--wp--preset--color--accent-3, #e13207);
}

.checkpoint-catalog-filter-chip--preorder {
	background: #00b49c;
}

.checkpoint-catalog-filter-chip--preorder .checkpoint-catalog-filter-chip__icon {
	color: #00b49c;
}

.checkpoint-catalog-filter-chip--arriving {
	background: #454545;
}

.checkpoint-catalog-filter-chip--arriving .checkpoint-catalog-filter-chip__icon {
	color: #454545;
}

.checkpoint-catalog-filter-chip--order {
	background: var(--wp--preset--color--accent-4, #4f4744);
}

.checkpoint-catalog-filter-chip--order .checkpoint-catalog-filter-chip__icon {
	color: var(--wp--preset--color--accent-4, #4f4744);
}

.checkpoint-catalog-filter-chip--sold-out {
	background: #9a9a9a;
}

.checkpoint-catalog-filter-chip--sold-out .checkpoint-catalog-filter-chip__icon {
	color: #6b6b6b;
}

.checkpoint-catalog-filter-chip--upcoming {
	background: #5c6bc0;
}

.checkpoint-catalog-filter-chip--upcoming .checkpoint-catalog-filter-chip__icon {
	color: #5c6bc0;
}

@media (max-width: 782px) {
	.checkpoint-store-catalog-toolbar {
		flex-direction: column;
		align-items: stretch;
	}

	.checkpoint-store-catalog-toolbar .checkpoint-catalog-filters {
		justify-content: flex-start;
	}

	.checkpoint-store-layout__main .checkpoint-store-catalog-toolbar .woocommerce-ordering,
	.checkpoint-store-layout__main .checkpoint-store-catalog-toolbar .wp-block-woocommerce-catalog-sorting {
		margin-left: 0;
	}
}

/* Subcategory navigation cards (category archives — hubs, parent rows, landing grids) */
.checkpoint-subcategory-cards {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--checkpoint-grid-gap, 1.5rem);
	margin-block: 0 var(--checkpoint-grid-gap, 1.5rem);
	align-items: stretch;
}

.checkpoint-subcategory-card {
	--checkpoint-subcategory-title-size: 1.2rem;
	--checkpoint-subcategory-title-line: 1.35;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.25rem;
	overflow: hidden;
	isolation: isolate;
	padding: 0.45rem 0.75rem 0.45rem 0.85rem;
	border-radius: var(--checkpoint-product-card-radius, 10px);
	background: var(--wp--preset--color--contrast, #191919);
	box-shadow: none;
	color: var(--wp--preset--color--accent-1, #f3f0ef);
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.checkpoint-subcategory-card:visited {
	color: var(--wp--preset--color--accent-1, #f3f0ef);
}

.checkpoint-subcategory-card:hover,
.checkpoint-subcategory-card:focus-visible {
	background-color: color-mix(in srgb, var(--wp--preset--color--contrast, #191919) 88%, var(--wp--preset--color--accent-1, #f3f0ef));
	box-shadow: none;
	color: var(--wp--preset--color--accent-1, #f3f0ef);
	text-decoration: none;
}

.checkpoint-subcategory-card--has-image:hover,
.checkpoint-subcategory-card--has-image:focus-visible {
	background-color: transparent;
}

.checkpoint-subcategory-card--faction::after {
	content: "";
	position: absolute;
	z-index: 0;
	top: 50%;
	right: -22%;
	width: 78%;
	height: 175%;
	pointer-events: none;
	background-image: var(--checkpoint-faction-logo);
	background-repeat: no-repeat;
	background-position: center right;
	background-size: contain;
	opacity: 0.16;
	filter: invert(1);
	transform: translateY(-50%);
	transition: opacity 0.2s ease;
}

.checkpoint-subcategory-card--faction:hover::after,
.checkpoint-subcategory-card--faction:focus-visible::after {
	opacity: 0.22;
}

.checkpoint-subcategory-card__title {
	position: relative;
	z-index: 1;
	display: -webkit-box;
	flex-shrink: 0;
	margin: 0;
	min-height: calc(var(--checkpoint-subcategory-title-size) * var(--checkpoint-subcategory-title-line) * 2);
	min-height: 2lh;
	overflow: hidden;
	font-family: inherit;
	font-size: var(--checkpoint-subcategory-title-size);
	font-weight: 700;
	line-height: var(--checkpoint-subcategory-title-line);
	color: var(--wp--preset--color--accent-1, #f3f0ef);
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
}

.checkpoint-heading-subtitle {
	display: block;
	margin-top: 0.2em;
	font-size: 0.72em;
	font-weight: 650;
	line-height: 1.3;
	opacity: 0.92;
}

.checkpoint-store-page-title .checkpoint-heading-subtitle,
.checkpoint-bento-box--hub-header .checkpoint-heading-subtitle {
	margin-top: 0.3em;
	font-size: 0.55em;
	font-weight: 700;
}

.checkpoint-subcategory-cards--alliance {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: minmax(5.5rem, auto);
}

.checkpoint-subcategory-cards--alliance .checkpoint-subcategory-card {
	justify-content: flex-start;
	padding: 0.5rem 0.7rem 0.5rem 0.8rem;
	gap: 0.15rem;
}

.checkpoint-subcategory-cards--alliance .checkpoint-subcategory-card:not(.checkpoint-subcategory-card--start) .checkpoint-subcategory-card__title {
	min-height: 0;
	-webkit-line-clamp: 2;
	line-clamp: 2;
}

.checkpoint-subcategory-cards--alliance .checkpoint-subcategory-card__footer {
	margin-top: auto;
	min-height: 1.625rem;
	padding-right: 2.1rem;
}

.checkpoint-subcategory-cards--alliance .checkpoint-subcategory-card__action {
	position: absolute;
	right: 0.5rem;
	bottom: 0.45rem;
}

.checkpoint-subcategory-cards--alliance .checkpoint-subcategory-card--start {
	grid-column: span 2;
	grid-row: span 2;
	padding: 0.7rem 0.85rem 0.55rem 1rem;
}

.checkpoint-subcategory-cards--alliance .checkpoint-subcategory-card--start .checkpoint-subcategory-card__title {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.2rem;
	min-height: 0;
	overflow: visible;
	font-size: 1.44rem;
	-webkit-line-clamp: unset;
	line-clamp: unset;
}

.checkpoint-subcategory-cards--alliance .checkpoint-subcategory-card--start .checkpoint-heading-subtitle {
	margin-top: 0.08em;
	font-size: 0.73em;
	font-weight: 650;
	line-height: 1.25;
}

.checkpoint-subcategory-cards--alliance .checkpoint-subcategory-card__blurb {
	margin-top: auto;
	margin-bottom: 0.35rem;
}

.checkpoint-subcategory-cards--alliance .checkpoint-subcategory-card--start .checkpoint-subcategory-card__footer {
	margin-top: 0;
}

.checkpoint-subcategory-card--start.checkpoint-subcategory-card--has-image::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: linear-gradient(
		165deg,
		rgba(25, 25, 25, 0.28) 0%,
		rgba(25, 25, 25, 0.72) 58%,
		rgba(25, 25, 25, 0.86) 100%
	);
	transition: background 0.2s ease;
}

.checkpoint-subcategory-card--start.checkpoint-subcategory-card--has-image:hover::before,
.checkpoint-subcategory-card--start.checkpoint-subcategory-card--has-image:focus-visible::before {
	background: linear-gradient(
		165deg,
		rgba(25, 25, 25, 0.36) 0%,
		rgba(25, 25, 25, 0.76) 58%,
		rgba(25, 25, 25, 0.9) 100%
	);
}

.checkpoint-subcategory-card__blurb {
	position: relative;
	z-index: 1;
	margin: 0.35rem 0 0;
	font-size: 0.8125rem;
	line-height: 1.35;
	color: var(--wp--preset--color--accent-1, #f3f0ef);
	opacity: 0.88;
}

.checkpoint-subcategory-card--has-image {
	background-size: cover;
	background-position: center;
	background-image: var(--checkpoint-subcategory-bg);
}

.checkpoint-subcategory-card__footer {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	min-width: 0;
}

.checkpoint-subcategory-card__count {
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	line-height: 1.3;
	color: color-mix(in srgb, var(--wp--preset--color--accent-1, #f3f0ef) 68%, var(--wp--preset--color--contrast, #191919));
}

.checkpoint-subcategory-card__action {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 1.625rem;
	height: 1.625rem;
	border-radius: 50%;
	background: var(--wp--preset--color--accent-3, #e13207);
	color: #fff;
	transition: background 0.2s ease, transform 0.2s ease;
}

.checkpoint-subcategory-card:hover .checkpoint-subcategory-card__action,
.checkpoint-subcategory-card:focus-visible .checkpoint-subcategory-card__action {
	background: #c42b06;
	transform: scale(1.04);
}

.checkpoint-subcategory-card__chevron {
	display: block;
	width: 12px;
	height: 12px;
}

.checkpoint-mixed-cart-notice {
	margin-bottom: 1.25rem;
}

.checkpoint-checkout-support {
	margin: 0.65rem 0 0;
	font-size: 0.95em;
	line-height: 1.45;
}

.checkpoint-checkout-support a {
	font-weight: 600;
}

.checkpoint-landing-banner,
.checkpoint-mode-banner {
	background: var(--wp--preset--color--base, #fff);
}

/* Store homepage — video hero (alignwide, rounded frame) */
.checkpoint-home-hero {
	margin: 0;
	padding: 0;
	border-radius: var(--checkpoint-product-card-radius, 12px);
	overflow: hidden;
	background: #191919;
}

.checkpoint-home-hero__canvas {
	position: relative;
	width: 100%;
	height: clamp(9.6rem, 18.9vw, 13.5rem);
	overflow: hidden;
}

.checkpoint-home-hero__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.checkpoint-home-hero__overlay {
	position: absolute;
	inset: 0;
	background: rgba(25, 25, 25, 0.52);
	pointer-events: none;
}

.checkpoint-home-hero__content {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	padding: 1.5rem 2rem;
	text-align: center;
}

.checkpoint-home-hero__title {
	margin: 0;
	max-width: 18ch;
	color: #fff;
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	font-weight: 900;
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.checkpoint-home-hero__subheading {
	margin: 0;
	max-width: 42ch;
	color: rgba(255, 255, 255, 0.9);
	font-size: clamp(0.9375rem, 2vw, 1.125rem);
	font-weight: 400;
	line-height: 1.45;
}

/* Store homepage — ACF hero / feature banner carousel */
.checkpoint-home-hero-banner {
	--checkpoint-hero-slide-duration: 1s;
	--checkpoint-hero-slide-easing: ease-in-out;
	--checkpoint-hero-bg-zoom-duration: 10s;
	--checkpoint-hero-bg-zoom-scale: 1.1;
	position: relative;
	height: 360px;
	margin: 0;
	border-radius: var(--checkpoint-product-card-radius, 12px);
	overflow: hidden;
	background: #191919;
}

.checkpoint-home-hero-banner__viewport {
	position: relative;
	width: 100%;
	height: 100%;
}

.checkpoint-home-hero-banner__track {
	display: grid;
	grid-template-columns: 1fr;
	height: 100%;
	min-height: 360px;
}

.checkpoint-home-hero-banner__slide {
	position: relative;
	grid-area: 1 / 1;
	display: flex;
	align-items: stretch;
	width: 100%;
	height: 360px;
	min-height: 360px;
	overflow: hidden;
	opacity: 0;
	z-index: 1;
	pointer-events: none;
	transition: opacity var(--checkpoint-hero-slide-duration) var(--checkpoint-hero-slide-easing);
}

.checkpoint-home-hero-banner__slide.is-active {
	opacity: 1;
	z-index: 2;
	pointer-events: auto;
}

@keyframes checkpoint-hero-bg-zoom {
	from {
		transform: scale(1);
	}

	to {
		transform: scale(var(--checkpoint-hero-bg-zoom-scale, 1.1));
	}
}

.checkpoint-home-hero-banner__bg {
	position: absolute;
	inset: 0;
	background-color: var(--checkpoint-hero-slide-bg-color, #191919);
	background-image: var(--checkpoint-hero-slide-bg-image, none);
	background-size: cover;
	background-position: center;
	transform: scale(1);
	transform-origin: top right;
}

.checkpoint-home-hero-banner__bg-image {
	display: none;
}

.checkpoint-home-hero-banner__slide.is-active .checkpoint-home-hero-banner__bg {
	animation: checkpoint-hero-bg-zoom var(--checkpoint-hero-bg-zoom-duration, 10s) ease-in-out forwards;
}

.checkpoint-home-hero-banner__overlay {
	display: none;
}

.checkpoint-home-hero-banner__content {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: clamp(1rem, 3vw, 2rem);
	width: 100%;
	height: 100%;
	padding: clamp(1.25rem, 3vw, 2rem);
	box-sizing: border-box;
}

.checkpoint-home-hero-banner--multi .checkpoint-home-hero-banner__content {
	padding-bottom: 3rem;
}

.checkpoint-home-hero-banner__front {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	flex: none;
	width: auto;
	height: 100%;
	max-height: 100%;
	object-fit: contain;
	object-position: right center;
	pointer-events: none;
	border-radius: 0 var(--checkpoint-product-card-radius, 12px) var(--checkpoint-product-card-radius, 12px) 0;
}

.checkpoint-home-hero-banner__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.65rem;
	max-width: 42rem;
}

@media (min-width: 782px) {
	.checkpoint-home-hero-banner__copy {
		flex: 0 1 30%;
		max-width: 30%;
	}

	.checkpoint-home-hero-banner__title,
	.checkpoint-home-hero-banner__date,
	.checkpoint-home-hero-banner__text {
		max-width: 100%;
	}
}

.checkpoint-home-hero-banner__title {
	margin: 0;
	color: #fff;
	font-size: clamp(1.5rem, 3.5vw, 2.25rem);
	font-weight: 900;
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.checkpoint-home-hero-banner__date {
	margin: 0;
	color: #fff;
	font-family: "Sofia Sans", sans-serif;
	font-size: clamp(1.25rem, 3vw, 1.85rem);
	font-weight: 200;
	line-height: 1.1;
	letter-spacing: 0.02em;
}

.checkpoint-home-hero-banner__date time {
	font-variant-numeric: tabular-nums;
}

.checkpoint-home-hero-banner__text {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	margin: 0;
	color: rgba(255, 255, 255, 0.9);
	font-size: clamp(0.9375rem, 2vw, 1.0625rem);
	line-height: 1.45;
}

.checkpoint-home-hero-banner__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 0.25rem;
	padding: 0.55rem 1.1rem;
	border-radius: 999px;
	background: var(--wp--preset--color--accent-3, #e13207);
	color: #fff;
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition: transform 0.15s ease, filter 0.15s ease;
}

.checkpoint-home-hero-banner__cta:hover,
.checkpoint-home-hero-banner__cta:focus-visible {
	color: #fff;
	filter: brightness(1.08);
	transform: translateY(-1px);
}

.checkpoint-home-hero-banner__controls {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	padding: 0.65rem 0.85rem 0.85rem;
	background: transparent;
	pointer-events: none;
}

.checkpoint-home-hero-banner__controls > * {
	pointer-events: auto;
}

.checkpoint-home-hero-banner__nav {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.45);
	border-radius: 999px;
	background: rgba(25, 25, 25, 0.35);
	color: #fff;
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
}

.checkpoint-home-hero-banner__nav:hover,
.checkpoint-home-hero-banner__nav:focus-visible {
	border-color: rgba(255, 255, 255, 0.7);
	background: rgba(25, 25, 25, 0.55);
}

.checkpoint-home-hero-banner__dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
}

.checkpoint-home-hero-banner__dot {
	width: 0.55rem;
	height: 0.55rem;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.7);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
	cursor: pointer;
}

.checkpoint-home-hero-banner__dot.is-active {
	width: 1.35rem;
	background: var(--wp--preset--color--accent-3, #e13207);
}

.checkpoint-home-hero-banner:not(.checkpoint-home-hero-banner--multi) .checkpoint-home-hero-banner__controls {
	display: none;
}

.checkpoint-home-hero-banner__live.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@media (prefers-reduced-motion: reduce) {
	.checkpoint-home-hero-banner__slide {
		transition: none;
	}

	.checkpoint-home-hero-banner__slide.is-active .checkpoint-home-hero-banner__bg {
		animation: none;
	}
}

@media (max-width: 640px) {
	.checkpoint-home-hero-banner {
		height: auto;
		min-height: 0;
		background: transparent;
	}

	.checkpoint-home-hero-banner__viewport,
	.checkpoint-home-hero-banner__track {
		height: auto;
		min-height: 0;
	}

	.checkpoint-home-hero-banner__slide {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		height: auto;
		min-height: 0;
		background-color: var(--checkpoint-hero-slide-bg-color, #191919);
	}

	.checkpoint-home-hero-banner__bg {
		position: relative;
		inset: auto;
		z-index: 0;
		flex: 0 0 auto;
		width: 100%;
		height: auto;
		overflow: hidden;
		background-color: transparent;
		background-image: none;
		transform: none;
	}

	.checkpoint-home-hero-banner__slide.is-active .checkpoint-home-hero-banner__bg {
		animation: none;
	}

	.checkpoint-home-hero-banner__bg-image {
		display: block;
		width: 150%;
		max-width: none;
		height: auto;
		margin-inline-start: -50%;
	}

	.checkpoint-home-hero-banner__bg::after {
		content: "";
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		height: 75%;
		pointer-events: none;
		background: var(--checkpoint-hero-slide-bg-color, #191919);
		-webkit-mask-image: linear-gradient(to top, #000 0%, transparent 100%);
		mask-image: linear-gradient(to top, #000 0%, transparent 100%);
	}

	.checkpoint-home-hero-banner__front {
		display: none;
	}

	.checkpoint-home-hero-banner__content,
	.checkpoint-home-hero-banner--multi .checkpoint-home-hero-banner__content {
		position: relative;
		z-index: 2;
		flex: 0 0 auto;
		flex-direction: column;
		justify-content: flex-end;
		align-items: flex-start;
		height: auto;
		margin-top: -1.5rem;
		padding: 0 1.15rem 3.15rem;
		text-align: left;
	}

	.checkpoint-home-hero-banner__copy {
		width: 100%;
		max-width: none;
	}
}

/* Store homepage — framed content (match header/footer alignwide) */
.checkpoint-store-home {
	--checkpoint-dept-banner-shadow: 0 3px 7px #0003;
	display: flex;
	flex-direction: column;
	gap: var(--checkpoint-grid-gap, 1.5rem);
	width: 100%;
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	padding-top: 1rem;
	padding-bottom: var(--checkpoint-grid-gap, 1.5rem);
	overflow: visible;
}

/* Store homepage — four pathway tiles above the hero */
.checkpoint-home-pathway {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(0, 2fr) minmax(0, 2fr) minmax(0, 2fr);
	gap: var(--checkpoint-grid-gap, 1.5rem);
	margin: 0;
	overflow: visible;
}

.checkpoint-home-pathway .checkpoint-bento-box,
.checkpoint-home-pathway .checkpoint-bento-box:not(.checkpoint-bento-box--large) {
	min-height: 0;
	height: calc(var(--checkpoint-hub-bento-row-height) * 1.08);
	aspect-ratio: auto;
}

.checkpoint-home-pathway .checkpoint-bento-box__body {
	padding: 0.85rem 0.9rem;
}

.checkpoint-home-pathway .checkpoint-bento-box__title,
.checkpoint-home-pathway .checkpoint-bento-box h1.checkpoint-bento-box__title,
.checkpoint-home-pathway .checkpoint-bento-box h2.checkpoint-bento-box__title,
.checkpoint-home-pathway .checkpoint-bento-box--static .checkpoint-bento-box__title {
	margin: 0;
	padding: 0;
	font-size: 1.6rem;
	line-height: 1;
	border: 0;
	border-bottom: none;
	text-decoration: none;
	box-shadow: none;
}

.checkpoint-home-pathway a.checkpoint-bento-box {
	text-decoration: none;
}

.checkpoint-home-pathway .checkpoint-bento-box__title::before,
.checkpoint-home-pathway .checkpoint-bento-box__title::after {
	content: none;
	display: none;
	border: none;
	background: none;
}


.checkpoint-home-pathway .checkpoint-bento-box__desc {
	-webkit-line-clamp: 3;
}

.checkpoint-home-pathway .checkpoint-bento-box--static .checkpoint-bento-box__desc {
	-webkit-line-clamp: 4;
}

/* Pathway section tiles: image on top, heading on cream, one rounded card. */
.checkpoint-home-pathway a.checkpoint-bento-box {
	display: grid;
	grid-template-rows: minmax(0, 1fr) calc(2 * 1.6rem + 2rem);
	overflow: hidden;
	border-radius: var(--checkpoint-product-card-radius, 10px);
	background: #e0dad0;
	color: var(--wp--preset--color--contrast, #191919);
	box-shadow: none;
}

.checkpoint-home-pathway a.checkpoint-bento-box .checkpoint-bento-box__base,
.checkpoint-home-pathway a.checkpoint-bento-box .checkpoint-bento-box__scrim,
.checkpoint-home-pathway a.checkpoint-bento-box .checkpoint-bento-box__go,
.checkpoint-home-pathway a.checkpoint-bento-box .checkpoint-bento-box__desc {
	display: none;
}

.checkpoint-home-pathway a.checkpoint-bento-box .checkpoint-bento-box__image {
	position: relative;
	inset: auto;
	z-index: 1;
	width: 100%;
	height: 100%;
	min-height: 0;
	overflow: hidden;
	border-radius: var(--checkpoint-product-card-radius, 10px) var(--checkpoint-product-card-radius, 10px) 0 0;
}

.checkpoint-home-pathway a.checkpoint-bento-box .checkpoint-bento-box__body {
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	width: 100%;
	max-width: 100%;
	height: 100%;
	min-height: calc(2 * 1.6rem + 2rem);
	margin: 0;
	padding: 1rem 1.1rem;
	overflow: visible;
	background: #e0dad0;
	border-radius: 0 0 var(--checkpoint-product-card-radius, 10px) var(--checkpoint-product-card-radius, 10px);
}

.checkpoint-home-pathway a.checkpoint-bento-box .checkpoint-bento-box__title,
.checkpoint-home-pathway a.checkpoint-bento-box h2.checkpoint-bento-box__title {
	display: block;
	max-width: 100%;
	margin: 0;
	overflow: visible;
	color: var(--wp--preset--color--contrast, #191919);
	font-size: 1.6rem;
	line-height: 1;
	text-shadow: none;
	-webkit-line-clamp: unset;
	line-clamp: unset;
}

.checkpoint-home-pathway .checkpoint-bento-box--has-video .checkpoint-bento-box__body {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin-top: auto;
	padding: 1rem 1.1rem;
}

.checkpoint-home-pathway .checkpoint-bento-box--has-video .checkpoint-bento-box__scrim {
	background: linear-gradient(
		180deg,
		rgba(25, 25, 25, 0) 38%,
		rgba(25, 25, 25, 0.55) 68%,
		rgba(25, 25, 25, 0.88) 100%
	);
}

.checkpoint-home-pathway .checkpoint-bento-box--has-video .checkpoint-bento-box__title,
.checkpoint-home-pathway .checkpoint-bento-box--has-video h1.checkpoint-bento-box__title {
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.65), 0 2px 12px rgba(0, 0, 0, 0.45);
}

.checkpoint-home-pathway a.checkpoint-bento-box:hover .checkpoint-bento-box__title,
.checkpoint-home-pathway a.checkpoint-bento-box:focus-visible .checkpoint-bento-box__title {
	color: var(--wp--preset--color--accent-3, #e13207);
}

#checkpoint-home-tcg,
#checkpoint-home-warhammer,
#checkpoint-home-accessories {
	scroll-margin-top: 1.25rem;
}

.checkpoint-store-home__section-title {
	margin: 0;
	font-size: clamp(1.25rem, 2.2vw, 1.5rem);
	font-weight: 800;
	line-height: 1.2;
}

.checkpoint-store-home__section-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.25rem;
	width: 100%;
	padding-top: 0.5rem;
}

section > .checkpoint-store-home__section-title {
	padding-top: 0.5rem;
}

.checkpoint-store-home__section-heading .checkpoint-store-home__section-title {
	flex: 1 1 auto;
	min-width: 0;
}

.checkpoint-store-home__see-all {
	flex: 0 0 auto;
	align-self: center;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--wp--preset--color--contrast, #191919);
	text-decoration: none;
	white-space: nowrap;
}

.checkpoint-store-home__see-all:hover,
.checkpoint-store-home__see-all:focus-visible {
	color: var(--wp--preset--color--accent-3, #e13207);
	text-decoration: underline;
}

.checkpoint-store-home__section-title::after {
	content: "";
	display: block;
	width: 2.5rem;
	height: 3px;
	margin-top: 0.5rem;
	border-radius: 2px;
	background: var(--wp--preset--color--accent-3, #e13207);
}

/* Featured department rows — 4 cols so banner width matches one product tile */
.checkpoint-home-featured {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--checkpoint-grid-gap, 1.5rem);
	align-items: start;
}

.checkpoint-home-featured__banner {
	grid-column: 1;
	width: 100%;
	min-width: 0;
}

.checkpoint-home-featured__products {
	grid-column: 2 / -1;
	min-width: 0;
}

.checkpoint-home-featured--banner-right .checkpoint-home-featured__banner {
	grid-column: 4;
	order: unset;
}

.checkpoint-home-featured--banner-right .checkpoint-home-featured__products {
	grid-column: 1 / 4;
	order: unset;
}

.checkpoint-home-dept-banner {
	position: relative;
	display: flex;
	width: 100%;
	aspect-ratio: 1;
	height: auto;
	border-radius: var(--checkpoint-product-card-radius, 10px);
	overflow: hidden;
	color: #fff;
	text-decoration: none;
	box-shadow: var(--checkpoint-dept-banner-shadow, 0 3px 7px #0003);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.checkpoint-home-dept-banner__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-color: #2f2b29;
	background-image: var(--checkpoint-dept-banner-bg, none);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.checkpoint-home-dept-banner__scrim {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.checkpoint-home-dept-banner--tcg .checkpoint-home-dept-banner__scrim {
	background: linear-gradient(145deg, #4f4744 0%, #2f2b29 100%);
}

.checkpoint-home-dept-banner--warhammer .checkpoint-home-dept-banner__scrim {
	background: linear-gradient(145deg, #3a2018 0%, #191919 55%, #e13207 160%);
}

.checkpoint-home-dept-banner--has-image .checkpoint-home-dept-banner__scrim {
	background: linear-gradient(
		180deg,
		rgba(25, 25, 25, 0.12) 0%,
		rgba(25, 25, 25, 0.55) 45%,
		rgba(25, 25, 25, 0.88) 100%
	);
}

.checkpoint-home-dept-banner:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(25, 25, 25, 0.16);
}

.checkpoint-home-dept-banner__body {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: 100%;
	height: 100%;
	padding: 1rem;
}

.checkpoint-home-dept-banner__title {
	margin: 0 0 0.4rem;
	font-size: clamp(calc(1rem * 0.8), calc(1.6vw * 0.8), calc(1.25rem * 0.8));
	font-weight: 900;
	line-height: 1.15;
}

.checkpoint-home-dept-banner__desc {
	display: -webkit-box;
	margin: 0 0 0.65rem;
	overflow: hidden;
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.88);
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
}

.checkpoint-home-dept-banner__cta {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	margin-top: 0;
	padding: 0.45rem 0.85rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.checkpoint-home-product-row,
.checkpoint-home-bento-group {
	display: flex;
	flex-direction: column;
	gap: var(--checkpoint-grid-gap, 1.5rem);
	margin: 0;
	min-width: 0;
}

.checkpoint-home-product-row--scroller {
	overflow: visible;
}

/* Homepage New / Sale / Preorder / Soon row under department scrollers */
.checkpoint-home-catalog-links {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 0.65rem;
	width: 100%;
	min-width: 0;
	margin: 0;
}

.checkpoint-home-catalog-links__link {
	box-sizing: border-box;
	flex: 1 1 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-width: 0;
	min-height: 2.75rem;
	padding: 0.55rem 0.7rem;
	border: 1px solid transparent;
	border-radius: 8px;
	background: #fff;
	box-shadow: none;
	font-family: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: 0;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	color: #fff;
	transition: border-color 0.15s ease, color 0.15s ease, background-color 0.15s ease;
}

.checkpoint-home-catalog-links__icon {
	display: block;
	flex-shrink: 0;
	width: 1.5rem;
	height: 1.5rem;
	object-fit: contain;
}

.checkpoint-home-catalog-links__label {
	display: block;
	max-width: 100%;
}

.checkpoint-home-catalog-links__link:hover,
.checkpoint-home-catalog-links__link:focus-visible {
	color: #fff;
	text-decoration: none;
}

/* Soon indigo, preorder teal, new grass green, instock accent, sale red. */
.checkpoint-home-catalog-links__link--upcoming {
	border-color: #5c6bc0;
	background: #5c6bc0;
}

.checkpoint-home-catalog-links__link--preorder {
	border-color: #00b49c;
	background: #00b49c;
}

.checkpoint-home-catalog-links__link--newest {
	border-color: #3aaa4a;
	background: #3aaa4a;
}

.checkpoint-home-catalog-links__link--instock {
	border-color: var(--wp--preset--color--accent-3, #e13207);
	background: var(--wp--preset--color--accent-3, #e13207);
}

.checkpoint-home-catalog-links__link--sale {
	border-color: #b32020;
	background: #b32020;
}

.checkpoint-home-catalog-links__link--newest:hover,
.checkpoint-home-catalog-links__link--newest:focus-visible,
.checkpoint-home-catalog-links__link--instock:hover,
.checkpoint-home-catalog-links__link--instock:focus-visible,
.checkpoint-home-catalog-links__link--sale:hover,
.checkpoint-home-catalog-links__link--sale:focus-visible,
.checkpoint-home-catalog-links__link--preorder:hover,
.checkpoint-home-catalog-links__link--preorder:focus-visible,
.checkpoint-home-catalog-links__link--upcoming:hover,
.checkpoint-home-catalog-links__link--upcoming:focus-visible {
	filter: brightness(0.92);
}

@media (max-width: 480px) {
	.checkpoint-home-catalog-links {
		gap: 0.4rem;
	}

	.checkpoint-home-catalog-links__link {
		flex-direction: column;
		gap: 0.25rem;
		min-height: 2.5rem;
		padding: 0.4rem 0.25rem;
		font-size: 0.6875rem;
	}

	.checkpoint-home-catalog-links__icon {
		width: 1.25rem;
		height: 1.25rem;
	}
}

.checkpoint-home-product-scroller {
	--checkpoint-home-scroller-visible: 4;
	--checkpoint-home-scroller-gap: var(--checkpoint-grid-gap, 1.5rem);
	--checkpoint-home-scroller-bleed: 1.25rem;
	--checkpoint-home-scroller-duration: 600ms;
	position: relative;
	width: 100%;
	min-width: 0;
	overflow: visible;
}

.checkpoint-home-product-scroller__viewport {
	box-sizing: content-box;
	overflow: hidden;
	width: 100%;
	margin: calc(-1 * var(--checkpoint-home-scroller-bleed));
	padding: var(--checkpoint-home-scroller-bleed);
	container-type: inline-size;
	container-name: home-product-scroller;
}

.checkpoint-home-product-scroller__track {
	display: flex;
	align-items: flex-start;
	gap: var(--checkpoint-home-scroller-gap);
	width: max-content;
	will-change: transform;
}

.checkpoint-home-product-scroller__track > .checkpoint-product-card {
	flex: 0 0 calc(
		(
				100cqi - (var(--checkpoint-home-scroller-visible) - 1) *
					var(--checkpoint-home-scroller-gap)
			) / var(--checkpoint-home-scroller-visible)
	);
	width: calc(
		(
				100cqi - (var(--checkpoint-home-scroller-visible) - 1) *
					var(--checkpoint-home-scroller-gap)
			) / var(--checkpoint-home-scroller-visible)
	);
	max-width: none;
	min-width: 0;
}

.checkpoint-home-product-scroller[data-scroller-ready] .checkpoint-home-product-scroller__track > .checkpoint-product-card {
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--checkpoint-home-scroller-duration) ease-in-out;
}

.checkpoint-home-product-scroller[data-scroller-ready] .checkpoint-home-product-scroller__track > .checkpoint-product-card.is-in-view {
	opacity: 1;
	pointer-events: auto;
}

.checkpoint-home-product-scroller__track.is-jumping > .checkpoint-product-card {
	transition: none !important;
}

.checkpoint-home-product-scroller__nav {
	display: none;
	position: absolute;
	top: 50%;
	z-index: 3;
	box-sizing: border-box;
	width: var(--checkpoint-mobile-fab-size, 2.75rem);
	height: var(--checkpoint-mobile-fab-size, 2.75rem);
	min-width: var(--checkpoint-mobile-fab-size, 2.75rem);
	min-height: var(--checkpoint-mobile-fab-size, 2.75rem);
	margin: 0;
	padding: 0;
	border: 1px solid var(--wp--preset--color--accent-6, #d6d3d1);
	border-radius: 50%;
	background: var(--wp--preset--color--base, #fff);
	box-shadow: 0 2px 10px rgba(25, 25, 25, 0.16);
	color: var(--wp--preset--color--accent-4, #78716c);
	transform: translateY(-50%);
	cursor: pointer;
}

.checkpoint-home-product-scroller.has-nav .checkpoint-home-product-scroller__nav {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--checkpoint-home-scroller-duration, 600ms) ease;
}

.checkpoint-home-product-scroller.has-nav:hover .checkpoint-home-product-scroller__nav,
.checkpoint-home-product-scroller.has-nav:focus-within .checkpoint-home-product-scroller__nav {
	opacity: 1;
	pointer-events: auto;
}

.checkpoint-home-product-scroller__nav--prev {
	left: -0.65rem;
}

.checkpoint-home-product-scroller__nav--next {
	right: -0.65rem;
}

.checkpoint-home-product-scroller__nav:hover,
.checkpoint-home-product-scroller__nav:focus-visible {
	background: var(--wp--preset--color--base, #fff);
	color: #57534e;
	box-shadow: 0 3px 14px rgba(25, 25, 25, 0.2);
}

.checkpoint-home-product-scroller__nav:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-3, #e13207);
	outline-offset: 2px;
}

.checkpoint-home-product-scroller__chevron {
	display: block;
	flex: 0 0 auto;
}

@media (hover: none) {
	.checkpoint-home-product-scroller.has-nav .checkpoint-home-product-scroller__nav {
		opacity: 1;
		pointer-events: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.checkpoint-home-product-scroller__track {
		transition: none !important;
	}

	.checkpoint-home-product-scroller[data-scroller-ready] .checkpoint-home-product-scroller__track > .checkpoint-product-card {
		transition: none !important;
	}

	.checkpoint-home-product-scroller.has-nav .checkpoint-home-product-scroller__nav {
		transition: none;
	}
}

/* Store homepage — department bento (full-width 2×2/3 category grid, 33.75rem on desktop) */
.checkpoint-home-bento {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--checkpoint-grid-gap, 1.5rem);
	margin: 0;
	overflow: visible;
}

.checkpoint-home-bento__boxes {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: var(--checkpoint-grid-gap, 1.5rem);
	min-width: 0;
	min-height: 0;
	overflow: visible;
}

.checkpoint-home-bento__boxes .checkpoint-bento-box--large {
	grid-column: span 3;
}

.checkpoint-home-bento__boxes .checkpoint-bento-box:not(.checkpoint-bento-box--large) {
	grid-column: span 2;
}

.checkpoint-home-bento .checkpoint-bento-box:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-3, #e13207);
	outline-offset: 2px;
}

@media (min-width: 961px) {
	.checkpoint-home-bento {
		height: 33.75rem;
		min-height: 0;
	}

	.checkpoint-home-bento__boxes {
		min-height: 0;
		height: 100%;
	}

	.checkpoint-home-bento .checkpoint-bento-box,
	.checkpoint-home-bento .checkpoint-bento-box--large {
		min-height: 0;
		height: 100%;
	}

	.checkpoint-home-bento .checkpoint-bento-box__body {
		padding: 0.65rem 0.75rem;
	}

	.checkpoint-home-bento .checkpoint-bento-box--large .checkpoint-bento-box__body {
		width: 100%;
		max-width: none;
		padding: 0.75rem 0.85rem;
	}

	.checkpoint-home-bento .checkpoint-bento-box__title {
		color: #fff;
	}
}

/* Department landings: one bento-sized stack between header, boxes, and product rows */
.checkpoint-warhammer-landing,
.checkpoint-tcg-landing,
.checkpoint-starcraft-landing,
.checkpoint-hobby-landing {
	display: flex;
	flex-direction: column;
	gap: var(--checkpoint-grid-gap, 1.5rem);
	padding-top: 0;
}

.checkpoint-warhammer-landing > .checkpoint-bento-box--hub-header,
.checkpoint-tcg-landing > .checkpoint-bento-box--hub-header,
.checkpoint-starcraft-landing > .checkpoint-bento-box--hub-header,
.checkpoint-hobby-landing > .checkpoint-bento-box--hub-header {
	margin-bottom: 0;
}

.checkpoint-store-home > .checkpoint-store-home__title {
	margin: 0 0 1rem;
	color: var(--wp--preset--color--accent-3, #e13207);
	letter-spacing: -0.02em;
	line-height: 1.15;
	text-transform: none;
	font-size: clamp(1.35rem, 2.4vw, 1.85rem);
	font-weight: 900;
}

.checkpoint-warhammer-bento {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: repeat(2, var(--checkpoint-hub-bento-row-height));
	gap: var(--checkpoint-grid-gap, 1.5rem);
	min-height: 0;
	margin-bottom: 0;
	overflow: visible;
}

.checkpoint-warhammer-bento--single-row {
	grid-template-rows: var(--checkpoint-hub-bento-row-height);
}

.checkpoint-warhammer-bento--full-side .checkpoint-warhammer-bento__col--side {
	grid-template-columns: minmax(0, 1fr);
}

.checkpoint-warhammer-bento--full-side .checkpoint-bento-box__image {
	background-position: center;
}

.checkpoint-warhammer-bento--full-side a.checkpoint-bento-box .checkpoint-bento-box__image::before {
	inset: 0;
	top: auto;
	right: auto;
	width: 100%;
	height: 100%;
	background-position: center;
	transform-origin: center center;
	transform: scale(1);
}

.checkpoint-warhammer-bento--full-side a.checkpoint-bento-box:hover .checkpoint-bento-box__image::before,
.checkpoint-warhammer-bento--full-side a.checkpoint-bento-box:focus-visible .checkpoint-bento-box__image::before {
	transform: scale(var(--checkpoint-bento-bg-zoom-scale, 1.1));
}

.checkpoint-tcg-bento {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--checkpoint-grid-gap, 1.5rem);
	min-height: 0;
	margin-bottom: 0;
	overflow: visible;
}

.checkpoint-warhammer-bento__col--main,
.checkpoint-warhammer-bento__col--side {
	display: grid;
	gap: var(--checkpoint-grid-gap, 1.5rem);
	min-width: 0;
	min-height: 0;
	height: 100%;
}

.checkpoint-tcg-bento__row {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: inherit;
	min-width: 0;
	min-height: var(--checkpoint-hub-bento-row-height);
}

.checkpoint-warhammer-bento__col--main {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-rows: minmax(0, 1fr);
}

.checkpoint-tcg-bento__row--mtg-fab > :first-child,
.checkpoint-tcg-bento__row--lorcana-rift > :last-child {
	grid-column: span 3;
}

.checkpoint-tcg-bento__row--mtg-fab > :last-child,
.checkpoint-tcg-bento__row--lorcana-rift > :first-child {
	grid-column: span 2;
}

.checkpoint-tcg-bento .checkpoint-bento-box,
.checkpoint-tcg-bento .checkpoint-bento-box--large,
.checkpoint-warhammer-bento .checkpoint-bento-box,
.checkpoint-warhammer-bento .checkpoint-bento-box--large {
	min-height: var(--checkpoint-hub-bento-row-height);
}

.checkpoint-warhammer-bento__col--side {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: minmax(0, 1fr);
}

@media (min-width: 961px) {
	.checkpoint-warhammer-bento .checkpoint-bento-box,
	.checkpoint-warhammer-bento .checkpoint-bento-box--large,
	.checkpoint-tcg-bento .checkpoint-bento-box,
	.checkpoint-tcg-bento .checkpoint-bento-box--large,
	.checkpoint-starcraft-bento__row .checkpoint-bento-box {
		min-height: 0;
		height: 100%;
	}
}

.checkpoint-starcraft-bento {
	--checkpoint-starcraft-row-height: clamp(11.9rem, 21.25vw, 14.45rem);
	display: grid;
	gap: var(--checkpoint-grid-gap, 1.5rem);
	margin-bottom: 0;
}

.checkpoint-starcraft-bento__races {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: inherit;
	min-height: var(--checkpoint-starcraft-row-height);
}

.checkpoint-starcraft-bento__races .checkpoint-bento-box {
	min-height: 0;
}

.checkpoint-starcraft-bento > .checkpoint-bento-box--sc-sets,
.checkpoint-starcraft-bento__row .checkpoint-bento-box {
	min-height: var(--checkpoint-starcraft-row-height);
}

.checkpoint-starcraft-bento__row {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: inherit;
	min-width: 0;
	min-height: var(--checkpoint-starcraft-row-height);
}

.checkpoint-starcraft-bento__row--sets-hobby > :first-child {
	grid-column: span 3;
}

.checkpoint-starcraft-bento__row--sets-hobby > :last-child {
	grid-column: span 2;
}

.checkpoint-bento-box {
	--checkpoint-bento-bg-zoom-duration: 2.5s;
	--checkpoint-bento-bg-zoom-reset: 0.4s;
	--checkpoint-bento-bg-zoom-scale: 1.1;
	--checkpoint-bento-bg-zoom-easing: ease-out;
	position: relative;
	z-index: 0;
	display: flex;
	min-height: 0;
	border-radius: var(--checkpoint-product-card-radius, 12px);
	overflow: visible;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 3px 10px rgba(25, 25, 25, 0.14);
	isolation: isolate;
}

.checkpoint-bento-box--large {
	min-height: clamp(13.75rem, 27.5vw, 18.75rem);
}

.checkpoint-bento-box:not(.checkpoint-bento-box--large) {
	min-height: clamp(8.125rem, 15vw, 10.625rem);
}

.checkpoint-bento-box__base,
.checkpoint-bento-box__image,
.checkpoint-bento-box__scrim,
.checkpoint-bento-box__video {
	border-radius: inherit;
}

.checkpoint-bento-box__base {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
}

.checkpoint-bento-box--40k .checkpoint-bento-box__base {
	background: linear-gradient(145deg, #3a2018 0%, #191919 100%);
}

.checkpoint-bento-box--starcraft .checkpoint-bento-box__base {
	background: linear-gradient(145deg, #1a2830 0%, #0e1418 100%);
}

.checkpoint-bento-box--aos .checkpoint-bento-box__base {
	background: linear-gradient(145deg, #1a2838 0%, #121820 100%);
}

.checkpoint-bento-box--kt .checkpoint-bento-box__base {
	background: linear-gradient(145deg, #1f2a18 0%, #141a10 100%);
}

.checkpoint-bento-box--other .checkpoint-bento-box__base {
	background: linear-gradient(145deg, #3a2818 0%, #1f1810 100%);
}

.checkpoint-bento-box--hobby .checkpoint-bento-box__base {
	background: linear-gradient(145deg, #2f2b29 0%, #1a1816 100%);
}

.checkpoint-bento-box--more-games .checkpoint-bento-box__base {
	background: linear-gradient(145deg, #1a2430 0%, #0e1418 100%);
}

.checkpoint-bento-box--terran .checkpoint-bento-box__base {
	background: linear-gradient(145deg, #3a2818 0%, #1a1410 100%);
}

.checkpoint-bento-box--zerg .checkpoint-bento-box__base {
	background: linear-gradient(145deg, #2a1830 0%, #140e18 100%);
}

.checkpoint-bento-box--protoss .checkpoint-bento-box__base {
	background: linear-gradient(145deg, #1a2838 0%, #101820 100%);
}

.checkpoint-bento-box--sc-sets .checkpoint-bento-box__base,
.checkpoint-bento-box--sc-catalog .checkpoint-bento-box__base {
	background: linear-gradient(145deg, #182028 0%, #0e1418 100%);
}

.checkpoint-bento-box--mtg .checkpoint-bento-box__base {
	background: linear-gradient(145deg, #1a2438 0%, #101820 100%);
}

.checkpoint-bento-box--riftbound .checkpoint-bento-box__base {
	background: linear-gradient(145deg, #2a1a38 0%, #141020 100%);
}

.checkpoint-bento-box--lorcana .checkpoint-bento-box__base {
	background: linear-gradient(145deg, #1a2838 0%, #101820 100%);
}

.checkpoint-bento-box--fab .checkpoint-bento-box__base {
	background: linear-gradient(145deg, #381818 0%, #1a1010 100%);
}

.checkpoint-bento-box--othertcg .checkpoint-bento-box__base {
	background: linear-gradient(145deg, #2a2820 0%, #181610 100%);
}

.checkpoint-bento-box__image {
	position: absolute;
	inset: 0;
	z-index: 1;
	overflow: hidden;
	opacity: 1;
	background-color: transparent;
	background-position: center top;
	background-repeat: no-repeat;
}

.checkpoint-bento-box__image::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: var(--checkpoint-bento-bg, none);
	background-position: inherit;
	background-size: cover;
	background-repeat: inherit;
}

a.checkpoint-bento-box .checkpoint-bento-box__image::before,
a.checkpoint-bento-box .checkpoint-bento-box__video {
	inset: auto;
	top: 0;
	right: 0;
	width: calc(100% * var(--checkpoint-bento-bg-zoom-scale, 1.1));
	height: calc(100% * var(--checkpoint-bento-bg-zoom-scale, 1.1));
	transform: translate3d(0, 0, 0) scale(calc(1 / var(--checkpoint-bento-bg-zoom-scale, 1.1)));
	transform-origin: top right;
	backface-visibility: hidden;
	transition: transform var(--checkpoint-bento-bg-zoom-reset, 0.4s) var(--checkpoint-bento-bg-zoom-easing, ease-out);
}

a.checkpoint-bento-box:hover .checkpoint-bento-box__image::before,
a.checkpoint-bento-box:focus-visible .checkpoint-bento-box__image::before,
a.checkpoint-bento-box:hover .checkpoint-bento-box__video,
a.checkpoint-bento-box:focus-visible .checkpoint-bento-box__video {
	transform: translate3d(0, 0, 0) scale(1);
	transition: transform var(--checkpoint-bento-bg-zoom-duration, 2.5s) var(--checkpoint-bento-bg-zoom-easing, ease-out);
}

.checkpoint-bento-box__video {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	overflow: hidden;
	pointer-events: none;
}

.checkpoint-bento-box__video:not([src]) {
	visibility: hidden;
}

.checkpoint-bento-box--has-video {
	overflow: hidden;
}

.checkpoint-bento-box__scrim {
	position: absolute;
	inset: 0;
	z-index: 2;
	overflow: hidden;
	pointer-events: none;
	background:
		linear-gradient(
			to right,
			rgba(25, 25, 25, 0.16) 0%,
			rgba(25, 25, 25, 0.04) 42%,
			transparent 72%
		),
		linear-gradient(
			180deg,
			rgba(25, 25, 25, 0.02) 0%,
			rgba(25, 25, 25, 0.06) 42%,
			rgba(25, 25, 25, 0.42) 72%,
			rgba(25, 25, 25, 0.86) 100%
		);
}

.checkpoint-bento-box__scrim::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(25, 25, 25, 0.2);
	opacity: 0;
	transform: translate3d(0, 0, 0);
	backface-visibility: hidden;
	transition: opacity 0.35s ease-out;
}

.checkpoint-bento-box:not(.checkpoint-bento-box--static):hover .checkpoint-bento-box__scrim::after,
.checkpoint-bento-box:not(.checkpoint-bento-box--static):focus-visible .checkpoint-bento-box__scrim::after {
	opacity: 1;
}

.checkpoint-bento-box--has-logo::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	z-index: 3;
	width: min(55%, calc(210px + 0.5rem));
	height: min(50%, calc(120px + 0.5rem));
	border-top-right-radius: inherit;
	overflow: hidden;
	pointer-events: none;
	background: radial-gradient(
		ellipse 100% 100% at 100% 0%,
		rgba(0, 0, 0, 0.4) 0%,
		rgba(0, 0, 0, 0.18) 38%,
		transparent 68%
	);
}

.checkpoint-bento-box__logo {
	position: absolute;
	top: 0.5rem;
	right: 0.5rem;
	z-index: 4;
	width: 150px;
	height: auto;
	border-top-right-radius: inherit;
	pointer-events: none;
}

.checkpoint-bento-box__body {
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: 100%;
	margin-top: auto;
	padding: 1rem 1.1rem;
}

.checkpoint-bento-box--large .checkpoint-bento-box__body {
	width: 100%;
	max-width: none;
	padding: 1.15rem 1.25rem;
}

.checkpoint-bento-box__title {
	display: block;
	margin: 0 0 0.35rem;
	color: #fff;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.15;
	text-transform: none;
	text-shadow:
		0 0 56px rgba(0, 0, 0, 0.82),
		0 0 24px rgba(0, 0, 0, 0.68),
		0 0 8px rgba(0, 0, 0, 0.55),
		0 2px 8px rgba(0, 0, 0, 0.45);
}

.checkpoint-bento-box h1.checkpoint-bento-box__title,
.checkpoint-bento-box h2.checkpoint-bento-box__title,
.checkpoint-bento-box h3.checkpoint-bento-box__title {
	font-family: inherit;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.15;
}

.checkpoint-bento-box__desc {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.2;
	color: rgba(255, 255, 255, 0.92);
	text-shadow:
		0 0 44px rgba(0, 0, 0, 0.82),
		0 0 18px rgba(0, 0, 0, 0.68),
		0 0 6px rgba(0, 0, 0, 0.55),
		0 1px 4px rgba(0, 0, 0, 0.42);
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

a.checkpoint-bento-box .checkpoint-bento-box__desc {
	padding-right: 1rem;
}

/* TCG tiles keep a short shadow so the shared 2rem / 1rem type stays readable on the art. */
.checkpoint-tcg-bento .checkpoint-bento-box__title,
.checkpoint-tcg-bento .checkpoint-bento-box h2.checkpoint-bento-box__title,
.checkpoint-tcg-bento .checkpoint-bento-box h3.checkpoint-bento-box__title {
	margin: 0 0 0.45rem;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.65);
}

.checkpoint-tcg-bento .checkpoint-bento-box__desc {
	max-width: 42em;
	color: rgba(255, 255, 255, 0.86);
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.65);
}

.checkpoint-bento-box:not(.checkpoint-bento-box--large) .checkpoint-bento-box__desc {
	-webkit-line-clamp: 3;
}

.checkpoint-bento-box--large .checkpoint-bento-box__desc {
	-webkit-line-clamp: 4;
}

.checkpoint-bento-box:not(.checkpoint-bento-box--static):hover,
.checkpoint-bento-box:not(.checkpoint-bento-box--static):focus-visible {
	z-index: 2;
}

.checkpoint-bento-box--static {
	cursor: default;
}

.checkpoint-bento-box__go {
	position: absolute;
	right: -0.5rem;
	bottom: 1rem;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--wp--preset--color--accent-3, #e13207);
	color: #fff;
	box-shadow: 0 2px 8px rgba(25, 25, 25, 0.28);
	pointer-events: none;
	transition: transform 0.35s ease;
}

.checkpoint-bento-box__go-icon {
	display: block;
	width: 1.05rem;
	height: 1.05rem;
}

.checkpoint-bento-box:not(.checkpoint-bento-box--static):hover .checkpoint-bento-box__go,
.checkpoint-bento-box:not(.checkpoint-bento-box--static):focus-visible .checkpoint-bento-box__go {
	background: #f04a1a;
	box-shadow: 0 3px 10px rgba(225, 50, 7, 0.45);
	transform: translateX(0.25rem);
}

@media (prefers-reduced-motion: reduce) {
	.checkpoint-bento-box__go {
		transition: none;
	}

	.checkpoint-bento-box:not(.checkpoint-bento-box--static):hover .checkpoint-bento-box__go,
	.checkpoint-bento-box:not(.checkpoint-bento-box--static):focus-visible .checkpoint-bento-box__go {
		transform: none;
	}

	.checkpoint-bento-box--hub-header .checkpoint-bento-box__cta {
		transition: none;
	}

	.checkpoint-bento-box--hub-header .checkpoint-bento-box__cta:hover,
	.checkpoint-bento-box--hub-header .checkpoint-bento-box__cta:focus-visible {
		transform: none;
	}

	.checkpoint-bento-box__scrim::after {
		transition: none;
	}

	.checkpoint-bento-box__image::before,
	.checkpoint-bento-box__video,
	a.checkpoint-bento-box .checkpoint-bento-box__image::before,
	a.checkpoint-bento-box .checkpoint-bento-box__video,
	a.checkpoint-bento-box:hover .checkpoint-bento-box__image::before,
	a.checkpoint-bento-box:focus-visible .checkpoint-bento-box__image::before,
	a.checkpoint-bento-box:hover .checkpoint-bento-box__video,
	a.checkpoint-bento-box:focus-visible .checkpoint-bento-box__video {
		inset: 0;
		width: 100%;
		height: 100%;
		transform: none;
		transition: none;
	}
}

.checkpoint-starcraft-bento__races .checkpoint-bento-box--terran .checkpoint-bento-box__image {
	background-position: 58% top;
}

.checkpoint-starcraft-bento__races .checkpoint-bento-box--protoss .checkpoint-bento-box__image {
	background-position: 46% top;
}

.checkpoint-starcraft-bento__races .checkpoint-bento-box--zerg .checkpoint-bento-box__image {
	background-position: 48% top;
}

.checkpoint-bento-box--sc-sets .checkpoint-bento-box__image {
	background-position: center 38%;
}

.checkpoint-bento-box:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-3, #e13207);
	outline-offset: 2px;
}

/* Sidebar hub promos: block + absolute body (must follow base .checkpoint-bento-box flex). */
.checkpoint-bento-box.checkpoint-bento-box--sidebar {
	display: block;
	position: relative;
	min-height: clamp(6.83rem, 12.6vw, 8.93rem);
}

.checkpoint-bento-box.checkpoint-bento-box--sidebar .checkpoint-bento-box__body {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 3;
	margin-top: 0;
}

/* Department hub header — main-column bento (title + intro, not a link). */
.checkpoint-bento-box.checkpoint-bento-box--hub-header,
.checkpoint-bento-box.checkpoint-bento-box--hub-header:not(.checkpoint-bento-box--large) {
	display: flex;
	width: 100%;
	min-height: 160px;
	margin: 0;
	overflow: visible;
}

.checkpoint-bento-box--hub-header .checkpoint-bento-box__image {
	background-position: center;
}

.checkpoint-bento-box--hub-header .checkpoint-bento-box__video {
	object-position: center;
}

/* Nested archives only: banner is a direct child of the catalog column.
   Hub landings wrap header + bento in a flex stack that already has gap —
   do not add a second margin there. Must beat .checkpoint-bento-box--hub-header { margin: 0 }. */
.checkpoint-store-layout__main > .checkpoint-bento-box.checkpoint-bento-box--hub-header,
.checkpoint-store-layout__main > .checkpoint-bento-box.checkpoint-bento-box--hub-header:not(.checkpoint-bento-box--large) {
	margin-bottom: var(--checkpoint-grid-gap, 1.5rem);
}

.checkpoint-bento-box--hub-header .checkpoint-bento-box__scrim {
	background:
		linear-gradient(
			to right,
			rgba(25, 25, 25, 0.18) 0%,
			rgba(25, 25, 25, 0.05) 48%,
			transparent 78%
		),
		linear-gradient(
			180deg,
			rgba(25, 25, 25, 0.04) 0%,
			rgba(25, 25, 25, 0.1) 38%,
			rgba(25, 25, 25, 0.46) 70%,
			rgba(25, 25, 25, 0.78) 100%
		);
}

.checkpoint-bento-box--hub-header .checkpoint-bento-box__scrim::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 40%;
	pointer-events: none;
	background: linear-gradient(
		to left,
		rgba(25, 25, 25, 0.62) 0%,
		rgba(25, 25, 25, 0.38) 48%,
		rgba(25, 25, 25, 0.12) 78%,
		transparent 100%
	);
}

.checkpoint-bento-box--hub-header .checkpoint-bento-box__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
	align-items: end;
	column-gap: 1.25rem;
	justify-content: stretch;
	padding: 0.85rem 1.15rem;
}

.checkpoint-bento-box--hub-header .checkpoint-bento-box__title,
.checkpoint-bento-box--hub-header h1.checkpoint-bento-box__title {
	grid-column: 1;
	max-width: 100%;
	margin: 0;
}

.checkpoint-bento-box--hub-header .checkpoint-bento-box__copy {
	grid-column: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	max-width: 100%;
}

.checkpoint-bento-box--hub-header:has(.checkpoint-bento-box__cta) .checkpoint-bento-box__copy {
	padding-bottom: 2.35rem;
}

.checkpoint-bento-box--hub-header .checkpoint-bento-box__desc {
	display: block;
	max-width: 100%;
	margin: 0;
	overflow: visible;
	text-align: right;
	-webkit-line-clamp: none;
	line-clamp: none;
}

.checkpoint-bento-box--hub-header .checkpoint-bento-box__cta {
	position: absolute;
	right: -0.5rem;
	bottom: 1rem;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 2rem;
	min-height: 2rem;
	padding: 0 0.95rem;
	border: none;
	border-radius: 999px;
	background: var(--wp--preset--color--accent-3, #e13207);
	color: #fff;
	box-shadow: 0 2px 8px rgba(25, 25, 25, 0.28);
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	transition: transform 0.35s ease, background 0.35s ease, box-shadow 0.35s ease;
}

.checkpoint-bento-box--hub-header .checkpoint-bento-box__cta:hover,
.checkpoint-bento-box--hub-header .checkpoint-bento-box__cta:focus-visible {
	background: #f04a1a;
	color: #fff;
	box-shadow: 0 3px 10px rgba(225, 50, 7, 0.45);
	text-decoration: none;
	transform: translateX(0.25rem);
}

.checkpoint-bento-box--hub-header .checkpoint-bento-box__cta:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

@media (max-width: 781px) {
	.checkpoint-bento-box--hub-header .checkpoint-bento-box__body {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-end;
		gap: 0.4rem;
	}

	.checkpoint-bento-box--hub-header .checkpoint-bento-box__title,
	.checkpoint-bento-box--hub-header h1.checkpoint-bento-box__title,
	.checkpoint-bento-box--hub-header .checkpoint-bento-box__copy,
	.checkpoint-bento-box--hub-header .checkpoint-bento-box__desc {
		grid-column: auto;
		max-width: 100%;
	}

	.checkpoint-bento-box--hub-header .checkpoint-bento-box__copy {
		align-items: flex-start;
	}

	.checkpoint-bento-box--hub-header .checkpoint-bento-box__desc {
		text-align: left;
	}
}

/* Hub roots: hide leftover archive chrome (breadcrumbs, query title, term description). */
body.term-tcg .checkpoint-store-layout__main > .checkpoint-store-catalog-header,
body.term-wargames .checkpoint-store-layout__main > .checkpoint-store-catalog-header,
body.term-warhammer .checkpoint-store-layout__main > .checkpoint-store-catalog-header,
body.term-warhammer-40k .checkpoint-store-layout__main > .checkpoint-store-catalog-header,
body.term-warhammer-aos .checkpoint-store-layout__main > .checkpoint-store-catalog-header,
body.term-warhammer-killteam .checkpoint-store-layout__main > .checkpoint-store-catalog-header,
body.term-starcraft .checkpoint-store-layout__main > .checkpoint-store-catalog-header,
body.term-more-warhammer .checkpoint-store-layout__main > .checkpoint-store-catalog-header,
body.term-hobby-warhammer .checkpoint-store-layout__main > .checkpoint-store-catalog-header,
body.term-hobby .checkpoint-store-layout__main > .checkpoint-store-catalog-header,
body.term-more-games .checkpoint-store-layout__main > .checkpoint-store-catalog-header,
body.term-tcg .checkpoint-store-layout__main > .wp-block-query-title,
body.term-warhammer .checkpoint-store-layout__main > .wp-block-query-title,
body.term-hobby .checkpoint-store-layout__main > .wp-block-query-title,
body.term-more-games .checkpoint-store-layout__main > .wp-block-query-title,
body.term-tcg .checkpoint-store-layout__main > .wp-block-term-description,
body.term-warhammer .checkpoint-store-layout__main > .wp-block-term-description,
body.term-hobby .checkpoint-store-layout__main > .wp-block-term-description,
body.term-more-games .checkpoint-store-layout__main > .wp-block-term-description {
	display: none;
}

.checkpoint-warhammer-products,
.checkpoint-tcg-products,
.checkpoint-starcraft-products,
.checkpoint-hobby-products {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-top: 2.5rem;
}

.checkpoint-warhammer-products .checkpoint-product-grid,
.checkpoint-tcg-products .checkpoint-product-grid,
.checkpoint-starcraft-products .checkpoint-product-grid,
.checkpoint-hobby-products .checkpoint-product-grid {
	margin-bottom: 0;
}

.checkpoint-warhammer-landing > .checkpoint-warhammer-products,
.checkpoint-tcg-landing > .checkpoint-tcg-products,
.checkpoint-starcraft-landing > .checkpoint-starcraft-products,
.checkpoint-hobby-landing > .checkpoint-hobby-products {
	margin-top: 0;
}

.checkpoint-hobby-landing > .checkpoint-subcategory-cards {
	margin-block-end: 0;
}

/* Product grids — same gap as bento / scroller */
.checkpoint-product-grid,
ul.wc-block-product-template,
.wc-block-product-template {
	display: grid;
	gap: var(--checkpoint-product-grid-gap, 1.5rem);
	align-items: start;
	overflow: visible;
	--wc-product-template-gap: var(--checkpoint-product-grid-gap, 1.5rem);
}

ul.products {
	gap: var(--checkpoint-product-grid-gap, 1.5rem);
	column-gap: var(--checkpoint-product-grid-gap, 1.5rem);
	row-gap: var(--checkpoint-product-grid-gap, 1.5rem);
	--wc-product-template-gap: var(--checkpoint-product-grid-gap, 1.5rem);
}

.checkpoint-product-grid--featured-6 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.checkpoint-product-grid--row-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.checkpoint-product-grid--row-5 {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.checkpoint-product-grid__empty {
	margin: 0;
	padding: 1.5rem;
	border-radius: 12px;
	background: var(--wp--preset--color--accent-5, #f1eee9);
	color: var(--wp--preset--color--accent-4, #4f4744);
	font-size: 0.9375rem;
	text-align: center;
}

/* Product cards (PHP-rendered + WooCommerce block template) */
.checkpoint-product-card {
	--checkpoint-product-card-radius: 10px;
	--checkpoint-product-card-shadow: 0 9px 7px -8px #0005;
	--checkpoint-product-card-image-shadow: 0 7px 7px -7px #0005, 0 0 16px #0002;
	--checkpoint-product-card-title-size: 1rem;
	--checkpoint-product-card-title-line: 1.1;
	--checkpoint-product-card-title-gap: 0.2rem;
	--checkpoint-product-card-crumb-size: 0.6875rem;
	--checkpoint-product-card-crumb-line: 1.1;
	/* At least three title-sized lines; block grows if name + crumb need more. */
	--checkpoint-product-card-copy-lines: calc(
		var(--checkpoint-product-card-title-size) * var(--checkpoint-product-card-title-line) * 3
	);
	--checkpoint-product-card-price-size: 1.2rem;
	--checkpoint-product-card-buy-size: 2.125rem;
	--checkpoint-product-card-buy-size-lg: calc(var(--checkpoint-product-card-buy-size) * 1.3);
	--checkpoint-product-card-body-gap: 0.4rem;
	--checkpoint-product-card-body-pad-top: 0.85rem;
	--checkpoint-product-card-buy-hang: 0.333rem;
	--wp--style--block-gap: 0;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0;
	height: auto;
	padding: 0;
	border-radius: var(--checkpoint-product-card-radius);
	overflow-x: visible;
	overflow-y: visible;
	background: var(--wp--preset--color--accent-5, #f1eee9);
	box-shadow: var(--checkpoint-product-card-shadow);
}

.checkpoint-product-card:hover {
	box-shadow: var(--checkpoint-product-card-shadow);
	transform: none;
}

.checkpoint-product-card__media {
	position: relative;
	z-index: 2;
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	aspect-ratio: 1;
	background: #fff;
	border-radius: var(--checkpoint-product-card-radius);
	box-shadow: var(--checkpoint-product-card-image-shadow);
	overflow: visible;
	box-sizing: border-box;
	text-decoration: none;
	color: inherit;
}

.checkpoint-product-card__status-badges {
	--checkpoint-status-badge-inset: 0.5rem;
	position: absolute;
	top: var(--checkpoint-status-badge-inset);
	right: calc(-1 * var(--checkpoint-status-badge-inset));
	left: var(--checkpoint-status-badge-inset);
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.25rem;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	pointer-events: none;
}

.checkpoint-product-card__status-badges-row {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: flex-end;
	gap: 0.25rem;
	margin: 0;
	padding: 0;
}

.checkpoint-product-card__status-badge {
	position: static;
	display: inline-block;
	flex: 0 1 auto;
	max-width: 100%;
	padding: calc(0.28rem * 1.3 * 0.8) calc(0.5rem * 1.3 * 0.8);
	border-radius: 4px;
	font-size: calc(0.625rem * 1.3 * 1.2 * 0.8);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	white-space: nowrap;
	pointer-events: none;
	box-shadow: var(--checkpoint-product-card-shadow, 0 9px 7px -8px #0005);
}

.checkpoint-product-card__status-badge--sale {
	background: #b32020;
	color: #fff;
}

.checkpoint-product-card__status-badge--instock {
	background: var(--wp--preset--color--accent-3, #e13207);
	color: #fff;
}

.checkpoint-product-card__status-badge--preorder {
	background: #00b49c;
	color: #fff;
}

.checkpoint-product-card__status-badge--upcoming {
	background: #5c6bc0;
	color: #fff;
}

.checkpoint-product-card__status-badge--arriving {
	background: #454545;
	color: #fff;
}

.checkpoint-product-card__price-soon {
	font-size: 0.92em;
	color: var(--wp--preset--color--accent-4, #4f4744);
	font-weight: 600;
}

.checkpoint-product-card--upcoming .checkpoint-product-card__cart,
.checkpoint-product-card--arriving .checkpoint-product-card__cart {
	display: none;
}

/*
 * Paper sticker prices — glued to the bottom-right of the product image.
 * CSS-only; decorative. Footer price stays in the DOM for screen readers.
 */
.checkpoint-product-card__price-tags {
	position: absolute;
	right: 0.62rem;
	bottom: -0.58rem;
	z-index: 4;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	max-width: calc(100% - 0.5rem);
	pointer-events: none;
}

.checkpoint-product-card__price-tag {
	position: relative;
	display: block;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.checkpoint-product-card__price-tag--was {
	z-index: 1;
	margin: 0 2px -0.72rem 0;
	transform: rotate(-2.8deg) translate(2px, 0);
}

.checkpoint-product-card__price-tag--now {
	z-index: 2;
	transform: rotate(3.6deg) translate(1px, 1px);
}

.checkpoint-product-card__price-tag--now:only-child {
	transform: rotate(3.2deg) translate(1px, 2px);
}

.checkpoint-product-card__price-tag-face {
	--checkpoint-price-tag-paper: #e5d8c2;
	--checkpoint-price-tag-paper-edge: #cbb892;
	--checkpoint-price-tag-ink: #2c2418;
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.2rem;
	min-height: 1.85rem;
	padding: 0.28rem 0.45rem 0.28rem 0.32rem;
	color: var(--checkpoint-price-tag-ink);
	background: var(--checkpoint-price-tag-paper);
	border: 1px solid var(--checkpoint-price-tag-paper-edge);
	border-radius: 2px 3px 2px 1px;
	box-shadow: 0 1px 0 rgba(25, 25, 25, 0.28);
}

/* “Цена” along the left edge, rotated -90deg (bottom-to-top), before the amount. */
.checkpoint-product-card__price-tag-label {
	display: block;
	flex: 0 0 auto;
	margin: 0;
	font-size: calc(0.45rem + 1px);
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
	opacity: 0.72;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
}

.checkpoint-product-card__price-tag-amount,
.checkpoint-product-card__price-tag-from {
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: -0.08em;
	line-height: 1.05;
	white-space: nowrap;
}

.checkpoint-product-card__price-tag-from {
	margin-right: 0.08em;
	font-weight: 600;
	opacity: 0.8;
}

.checkpoint-product-card__price-tag .woocommerce-Price-amount,
.checkpoint-product-card__price-tag bdi {
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	color: inherit !important;
	background: none !important;
}

.checkpoint-product-card__price-tag .woocommerce-Price-amount {
	word-spacing: -0.35em;
}

/*
 * Card stickers vs 1.14.94: integer/cents −10% (156% → 140%; 97.5% → 87.5%).
 * € matches integer, not cents. Цена 0.5rem → 0.45rem.
 */
.checkpoint-product-card__price-tag bdi:has(> .checkpoint-price-int) {
	display: inline-flex;
	align-items: flex-start;
	flex-wrap: nowrap;
}

.checkpoint-product-card__price-tag .checkpoint-price-int,
.checkpoint-product-card__price-tag .woocommerce-Price-currencySymbol {
	font-size: 140% !important;
	line-height: 1 !important;
}

.checkpoint-product-card__price-tag .checkpoint-price-dec {
	font-size: 87.5% !important;
	line-height: 1 !important;
}

.checkpoint-product-card__price-tag .woocommerce-Price-currencySymbol {
	font-family: inherit !important;
	font-weight: inherit !important;
	color: inherit !important;
	background: none !important;
	flex-shrink: 0;
	margin-inline-start: -0.12em;
}

.checkpoint-product-card__price-tag--was .checkpoint-product-card__price-tag-face {
	--checkpoint-price-tag-paper: #efe6d4;
	--checkpoint-price-tag-paper-edge: #d5c7ab;
	--checkpoint-price-tag-ink: #6a5e4e;
}

.checkpoint-product-card__price-tag--was .checkpoint-product-card__price-tag-amount {
	position: relative;
	font-size: 0.855rem;
	font-weight: 600;
	/* Visual strike is the ::after overlay — see split-price note below. */
	text-decoration: none;
}

/* Current/sale amount is the orange offer sticker in front. */
.checkpoint-product-card__price-tag--sale .checkpoint-product-card__price-tag-face {
	--checkpoint-price-tag-paper: var(--wp--preset--color--accent-3, #e13207);
	--checkpoint-price-tag-paper-edge: #c42b06;
	--checkpoint-price-tag-ink: #fff;
}

.checkpoint-product-card__price-tag--sale .checkpoint-product-card__price-tag-label {
	opacity: 0.88;
}

.checkpoint-product-card__price-tag--rrp {
	z-index: 1;
	margin: 0 2px -0.72rem 0;
	transform: rotate(-2.4deg) translate(2px, 0);
}

.checkpoint-product-card__price-tag--rrp .checkpoint-product-card__price-tag-face {
	--checkpoint-price-tag-paper: #f4eee4;
	--checkpoint-price-tag-paper-edge: #e0d6c4;
	--checkpoint-price-tag-ink: #7a6f5e;
}

.checkpoint-product-card__price-tag--rrp .checkpoint-product-card__price-tag-label {
	letter-spacing: 0.08em;
	opacity: 0.82;
}

.checkpoint-product-card__price-tag--rrp .checkpoint-product-card__price-tag-amount {
	position: relative;
	font-size: 0.855rem;
	font-weight: 600;
	text-decoration: none;
}

.checkpoint-product-card__price-tag--rrp {
	pointer-events: auto;
	cursor: help;
}

.checkpoint-product-card__price-tag--rrp[data-tooltip]::after {
	content: attr(data-tooltip);
	position: absolute;
	right: 0;
	bottom: calc(100% + 0.4rem);
	z-index: 8;
	width: max-content;
	max-width: 14rem;
	padding: 0.4rem 0.55rem;
	border-radius: 4px;
	background: #191919;
	color: #fff;
	font-family: var(--wp--preset--font-family--sofia-sans, "Sofia Sans", sans-serif);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.35;
	text-align: left;
	text-transform: none;
	white-space: normal;
	box-shadow: 0 4px 14px rgba(25, 25, 25, 0.22);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(0.2rem);
	transition: opacity 0.12s ease, transform 0.12s ease, visibility 0.12s ease;
}

.checkpoint-product-card__price-tag--rrp[data-tooltip]:hover::after,
.checkpoint-product-card__price-tag--rrp[data-tooltip]:focus-visible::after {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.checkpoint-single-product__status-badge--upcoming {
	background: #5c6bc0;
	color: #fff;
}

.checkpoint-single-product__status-badge--arriving {
	background: #454545;
	color: #fff;
}

/* Pre-preorder interest form (single product) */
.checkpoint-preorder-interest {
	margin-top: 1rem;
	padding: 1rem 1.1rem;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 6px;
	background: rgba(92, 107, 192, 0.06);
}

.checkpoint-preorder-interest--arriving {
	background: rgba(69, 69, 69, 0.08);
}

.checkpoint-preorder-interest__lead {
	margin: 0 0 0.75rem;
	font-size: 0.95rem;
	line-height: 1.45;
}

.checkpoint-preorder-interest__form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}

.checkpoint-preorder-interest__email {
	flex: 1 1 12rem;
	min-width: 0;
	width: auto;
}

.checkpoint-preorder-interest__submit {
	flex: 0 0 auto;
	width: auto;
	white-space: nowrap;
}

.checkpoint-preorder-interest__feedback {
	flex: 1 1 100%;
	margin: 0.35rem 0 0;
	font-size: 0.9rem;
}

.checkpoint-preorder-interest__feedback:not([hidden]) {
	display: block;
}

.checkpoint-preorder-interest__consent {
	flex: 1 1 100%;
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	margin: 0.15rem 0 0;
	font-size: 0.8rem;
	line-height: 1.4;
	color: var(--wp--preset--color--accent-4, #4f4744);
}

.checkpoint-preorder-interest__consent-input {
	margin-top: 0.2rem;
	flex: 0 0 auto;
}

.checkpoint-preorder-interest__form--done .checkpoint-preorder-interest__email,
.checkpoint-preorder-interest__form--done .checkpoint-preorder-interest__submit,
.checkpoint-preorder-interest__form--done .checkpoint-preorder-interest__consent {
	opacity: 0.65;
}

.checkpoint-single-product--upcoming .checkpoint-single-product__warhammer-promo,
.checkpoint-single-product--arriving .checkpoint-single-product__warhammer-promo {
	display: none;
}

.checkpoint-product-card__status-badge--order {
	background: var(--wp--preset--color--accent-4, #4f4744);
	color: #fff;
}

.checkpoint-product-card__status-badge--sold-out {
	background: #9a9a9a;
	color: #fff;
}

.checkpoint-product-card__status-badge--stock-qty {
	background: #191919;
	color: #fff;
	text-transform: none;
	letter-spacing: 0.01em;
	font-variant-numeric: tabular-nums;
}

.checkpoint-admin-stock-qty {
	display: inline-flex;
	align-items: center;
	gap: 0.05rem;
	margin: 0;
	padding: 0 0.12rem;
	border-radius: 4px;
	background: #191919;
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
	pointer-events: auto;
	z-index: 4;
}

.checkpoint-admin-stock-qty .checkpoint-product-card__status-badge--stock-qty {
	box-shadow: none;
	padding-inline: 0.2rem;
	background: transparent;
}

.checkpoint-admin-stock-qty__btn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.35rem;
	height: 1.35rem;
	min-height: 1.35rem !important;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 3px;
	background: transparent;
	color: #fff;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
}

.checkpoint-admin-stock-qty__btn:hover,
.checkpoint-admin-stock-qty__btn:focus-visible {
	background: rgba(255, 255, 255, 0.16);
	color: #fff;
}

.checkpoint-admin-stock-qty__btn:disabled {
	opacity: 0.35;
	cursor: default;
}

.checkpoint-admin-stock-qty.is-busy {
	opacity: 0.7;
}

.checkpoint-admin-stock-card-tools {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.25rem;
	pointer-events: auto;
}

.checkpoint-admin-stock-featured {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.7rem;
	height: 1.7rem;
	min-height: 1.7rem !important;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
	color: #9a9a9a;
	cursor: pointer;
	pointer-events: auto;
	z-index: 4;
}

.checkpoint-admin-stock-featured.is-on {
	color: var(--wp--preset--color--accent-3, #e13207);
}

.checkpoint-admin-stock-featured:hover,
.checkpoint-admin-stock-featured:focus-visible {
	background: #fff;
	color: var(--wp--preset--color--accent-3, #e13207);
}

.checkpoint-admin-stock-featured.is-on:hover,
.checkpoint-admin-stock-featured.is-on:focus-visible {
	color: #c42b06;
}

.checkpoint-admin-stock-featured:disabled,
.checkpoint-admin-stock-featured.is-busy {
	opacity: 0.7;
	cursor: wait;
}

.checkpoint-admin-stock-featured__icon {
	display: block;
	width: 1.25rem;
	height: 1.25rem;
}

.checkpoint-admin-stock-edit--fab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.7rem;
	height: 1.7rem;
	min-height: 1.7rem !important;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
	color: #191919;
	cursor: pointer;
	pointer-events: auto;
	z-index: 4;
}

.checkpoint-admin-stock-edit--fab:hover,
.checkpoint-admin-stock-edit--fab:focus-visible {
	background: #fff;
	color: var(--wp--preset--color--accent-3, #e13207);
}

.checkpoint-admin-stock-edit__icon {
	display: block;
	width: 1.05rem;
	height: 1.05rem;
}

/* Sold-out cards: dim image, title, and price only (badges stay full opacity). */
.checkpoint-product-card--sold-out .checkpoint-product-card__image,
.checkpoint-product-card--sold-out .wc-block-components-product-image img,
.checkpoint-product-card--sold-out > .wp-block-post-title,
.checkpoint-product-card--sold-out .checkpoint-product-card__title,
.checkpoint-product-card--sold-out .checkpoint-product-card__footer .wp-block-woocommerce-product-price,
.checkpoint-product-card--sold-out .checkpoint-product-card__footer .wc-block-components-product-price,
.checkpoint-product-card--sold-out .checkpoint-product-card__price,
.checkpoint-product-card--sold-out .checkpoint-product-card__price-tags {
	opacity: 0.75;
}

/* Cart / order line item fulfillment badges (inline, not image overlay). */
.checkpoint-line-item-badge {
	display: inline-block;
	vertical-align: middle;
	margin-inline-start: 0.35rem;
	padding: 0.2rem 0.45rem;
	border-radius: 4px;
	font-size: 0.625rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	white-space: nowrap;
	box-shadow: 0 1px 2px rgba(25, 25, 25, 0.1);
}

.checkpoint-line-item-badge--sale {
	background: #b32020;
	color: #fff;
}

.checkpoint-line-item-badge--instock {
	background: var(--wp--preset--color--accent-3, #e13207);
	color: #fff;
}

.checkpoint-line-item-badge--preorder {
	background: #00b49c;
	color: #fff;
}

.checkpoint-line-item-badge--order {
	background: var(--wp--preset--color--accent-4, #4f4744);
	color: #fff;
}

.checkpoint-line-item-badge--sold-out {
	background: #9a9a9a;
	color: #fff;
}

.wc-block-components-product-metadata .checkpoint-line-item-badge,
.wc-block-cart-item__product .checkpoint-line-item-badge,
.woocommerce-table--order-details .checkpoint-line-item-badge,
.woocommerce-order-details .checkpoint-line-item-badge {
	vertical-align: baseline;
}

.checkpoint-product-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain !important;
	padding: 0;
	border: none;
	border-radius: var(--checkpoint-product-card-radius);
	box-shadow: none;
	background: #fff;
}

.checkpoint-product-card__media > .checkpoint-product-card__image,
.checkpoint-product-card__media > img {
	position: absolute;
	inset: 0;
}

.checkpoint-product-card .wc-block-components-product-image {
	position: relative;
	z-index: 2;
	display: block;
	width: 100%;
	margin: 0 !important;
	padding: 0;
	background: transparent;
	box-shadow: none;
	border: none;
	overflow: visible;
	box-sizing: border-box;
}

.checkpoint-product-card .wc-block-components-product-image a,
.checkpoint-product-card .wc-block-components-product-image > div {
	position: relative;
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	aspect-ratio: 1;
	border: none !important;
	border-radius: var(--checkpoint-product-card-radius) !important;
	background: #fff !important;
	box-shadow: var(--checkpoint-product-card-image-shadow) !important;
	overflow: visible !important;
	box-sizing: border-box;
	text-decoration: none;
}

.checkpoint-product-card .wc-block-components-product-image img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain !important;
	border: none;
	border-radius: var(--checkpoint-product-card-radius);
	box-shadow: none;
	background: #fff;
}

@media (min-width: 782px) {
	.checkpoint-product-card__media {
		display: flex;
		align-items: center;
		justify-content: center;
		background: #fff;
	}

	.checkpoint-product-card .wc-block-components-product-image a,
	.checkpoint-product-card .wc-block-components-product-image > div {
		display: flex;
		align-items: center;
		justify-content: center;
		background: #fff !important;
	}

	.checkpoint-product-card__media > .checkpoint-product-card__image,
	.checkpoint-product-card__media > img,
	.checkpoint-product-card .wc-block-components-product-image img {
		position: relative;
		inset: auto;
		width: min(100%, 300px);
		height: min(100%, 300px);
		max-width: 300px;
		max-height: 300px;
		object-fit: contain !important;
		border-radius: var(--checkpoint-product-card-radius);
		background: transparent;
	}
}

.checkpoint-product-card__body,
.checkpoint-product-card > .checkpoint-product-card__body {
	--wp--style--block-gap: 0;
	display: flex;
	flex-direction: column;
	gap: var(--checkpoint-product-card-body-gap, 0.4rem);
	margin: 0;
	padding: var(--checkpoint-product-card-body-pad-top, 0.85rem) 0.75rem 0.75rem;
	border-radius: 0 0 var(--checkpoint-product-card-radius) var(--checkpoint-product-card-radius);
}

.checkpoint-product-card.is-layout-flow > *,
.checkpoint-product-card.is-layout-constrained > *,
.checkpoint-product-card__body.is-layout-flow > *,
.checkpoint-product-card__body.is-layout-constrained > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

/* Legacy flat block cards (pre-__body wrapper) — keep padding on direct children */
.checkpoint-product-card > .wp-block-post-terms,
.checkpoint-product-card > .wp-block-post-title,
.checkpoint-product-card > .checkpoint-product-card__footer {
	padding-right: 0.75rem;
	padding-left: 0.75rem;
}

.checkpoint-product-card > .wp-block-post-title,
.checkpoint-product-card > .wp-block-post-terms:first-of-type {
	padding-top: var(--checkpoint-product-card-body-pad-top, 0.85rem);
}

.checkpoint-product-card > .wp-block-post-title ~ .wp-block-post-terms {
	padding-top: 0;
}

.checkpoint-product-card > .checkpoint-product-card__footer {
	padding-bottom: 0.75rem;
	border-radius: 0 0 var(--checkpoint-product-card-radius) var(--checkpoint-product-card-radius);
}

.checkpoint-product-card__body > .wp-block-post-terms,
.checkpoint-product-card__body > .wp-block-post-title,
.checkpoint-product-card__body > .checkpoint-product-card__footer {
	padding-right: 0;
	padding-left: 0;
}

.checkpoint-product-card__body > .checkpoint-product-card__footer {
	padding-bottom: 0;
}

.checkpoint-product-card__title,
.checkpoint-product-card .wp-block-post-title {
	display: flex;
	flex-direction: column;
	min-height: var(--checkpoint-product-card-copy-lines);
	height: auto;
	max-height: none;
	margin: 0 !important;
	overflow: visible;
	font-size: var(--checkpoint-product-card-title-size) !important;
	font-weight: 500;
	line-height: var(--checkpoint-product-card-title-line);
}

.checkpoint-product-card__title a,
.checkpoint-product-card .wp-block-post-title a {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: var(--checkpoint-product-card-title-gap, 0.2rem);
	min-width: 0;
	min-height: var(--checkpoint-product-card-copy-lines);
	height: auto;
	overflow: visible;
	color: var(--wp--preset--color--contrast, #191919);
	text-decoration: none;
}

.checkpoint-product-card__name {
	flex: 0 1 auto;
	display: block;
	overflow: visible;
}

.checkpoint-product-card__crumb,
.checkpoint-single-product__title-crumb {
	display: block;
	overflow: visible;
	color: var(--wp--preset--color--accent-4, #4f4744);
	font-size: var(--checkpoint-product-card-crumb-size, 0.6875rem);
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: var(--checkpoint-product-card-crumb-line, 1.1);
	text-transform: uppercase;
}

.checkpoint-product-card__crumb {
	flex: 0 1 auto;
	min-height: 0;
}

.checkpoint-single-product__title-crumb {
	font-size: 0.52em;
	letter-spacing: 0.05em;
}

/* TCG cards have no category crumb — extra title line compensates. */
.checkpoint-product-card--tcg .checkpoint-product-card__title,
.checkpoint-product-card--tcg .wp-block-post-title {
	--checkpoint-product-card-copy-lines: calc(
		var(--checkpoint-product-card-title-size) * var(--checkpoint-product-card-title-line) * 3
	);
}

.checkpoint-product-card__title a:hover,
.checkpoint-product-card .wp-block-post-title a:hover {
	text-decoration: underline;
}

.checkpoint-product-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.15rem 0.4rem;
	margin: 0;
	font-size: 0.625rem;
	line-height: 1.3;
}

.checkpoint-product-card__category,
.checkpoint-product-card__category a,
.checkpoint-product-card .checkpoint-product-card__category a,
.checkpoint-product-card .wp-block-post-terms.checkpoint-product-card__category {
	margin: 0;
	color: var(--wp--preset--color--accent-4, #4f4744);
	font-size: 0.6875rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: var(--checkpoint-product-card-crumb-line, 1.1);
	text-decoration: none;
	text-transform: uppercase;
}

.checkpoint-product-card__release {
	color: var(--wp--preset--color--accent-3, #e13207);
	font-weight: 600;
}

.checkpoint-product-card__footer {
	position: static;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.35rem;
	width: 100%;
	min-height: 0;
	margin-top: 0.25rem;
	padding-top: 0;
	padding-right: 0;
	box-sizing: border-box;
	overflow: visible;
}

/*
 * Price stickers live on the image; footer price is clipped for screen readers.
 * Upcoming date lives on the badge only. Treat those footers as empty:
 * no reserved row, no button gutter (notify button is absolutely positioned).
 */
.checkpoint-product-card__footer--empty,
.checkpoint-product-card--upcoming .checkpoint-product-card__footer,
.checkpoint-product-card:has(.checkpoint-product-card__price-tags) .checkpoint-product-card__footer {
	min-height: 0;
	height: 0;
	margin: 0;
	margin-top: calc(-1 * var(--checkpoint-product-card-body-gap, 0.4rem));
	padding: 0 !important;
	gap: 0;
	overflow: visible;
	pointer-events: none;
}

/* Block cards: undo constrained-layout centering on footer children */
.checkpoint-product-card.is-layout-constrained > .checkpoint-product-card__footer,
.checkpoint-product-card > .checkpoint-product-card__footer.is-layout-flex {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

.checkpoint-product-card__footer .wp-block-woocommerce-product-price,
.checkpoint-product-card__footer .wp-block-woocommerce-product-button,
.checkpoint-product-card__footer .wp-block-button {
	margin-inline: 0;
	text-align: left;
}

.checkpoint-product-card__footer .wp-block-woocommerce-product-button,
.checkpoint-product-card__footer .wp-block-button {
	margin-left: auto;
	flex-shrink: 0;
}

.checkpoint-product-card__footer .wp-block-woocommerce-product-price,
.checkpoint-product-card__footer .wc-block-components-product-price {
	margin: 0;
	font-size: var(--checkpoint-product-card-price-size) !important;
	font-weight: 700;
	line-height: var(--checkpoint-product-card-title-line);
}

.checkpoint-product-card__footer .wc-block-components-product-price .woocommerce-Price-amount,
.checkpoint-product-card__footer .wc-block-components-product-price ins,
.checkpoint-product-card__footer .wc-block-components-product-price bdi {
	font-size: inherit;
}

.checkpoint-product-card__price {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem;
	margin: 0;
	font-size: var(--checkpoint-product-card-price-size);
	font-weight: 700;
	line-height: var(--checkpoint-product-card-title-line);
}

/* Tags live on the image — keep footer amounts for assistive tech only. */
.checkpoint-product-card:has(.checkpoint-product-card__price-tags) .checkpoint-product-card__price,
.checkpoint-product-card:has(.checkpoint-product-card__price-tags) .checkpoint-product-card__footer .wp-block-woocommerce-product-price,
.checkpoint-product-card:has(.checkpoint-product-card__price-tags) .checkpoint-product-card__footer .wc-block-components-product-price {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.checkpoint-product-card__price del,
.checkpoint-product-card__footer del,
.checkpoint-product-card__footer .wc-block-components-product-price del {
	opacity: 0.75;
	font-size: 0.9rem;
	font-weight: 500;
}

.checkpoint-product-card__price ins {
	text-decoration: none;
}

/*
 * Sale price first, struck regular after.
 * Woo outputs <del>regular</del> <ins>sale</ins> — reorder visually, keep HTML.
 */
.checkpoint-product-card__price > ins,
.checkpoint-product-card__footer .wc-block-components-product-price > ins,
.checkpoint-single-product__summary :is(
	.wc-block-components-product-price,
	p.price,
	.woocommerce-variation-price .price
) > ins {
	order: 1;
}

.checkpoint-product-card__price > del,
.checkpoint-product-card__footer .wc-block-components-product-price > del,
.checkpoint-single-product__summary :is(
	.wc-block-components-product-price,
	p.price,
	.woocommerce-variation-price .price
) > del {
	order: 2;
}

.checkpoint-product-card__footer .wc-block-components-product-price {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 0.35em;
}

.checkpoint-single-product__summary :is(
	.wc-block-components-product-price,
	p.price,
	.woocommerce-variation-price .price
) {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	column-gap: 0.35em;
}

/*
 * Amount first, then “цена с ДДС” on the single product page.
 * Product cards use the image price tag instead.
 * Skip upcoming “Преордър…” copy (no .woocommerce-Price-amount).
 */
:is(
	.checkpoint-single-product__summary .wc-block-components-product-price,
	.checkpoint-single-product__summary p.price,
	.checkpoint-single-product__summary .woocommerce-variation-price .price
):has(.woocommerce-Price-amount)::after {
	content: "цена с ДДС";
	order: 3;
	flex-shrink: 0;
	font-size: 0.7em;
	font-weight: 400;
	font-style: normal;
	line-height: 1;
	letter-spacing: 0.01em;
	color: var(--wp--preset--color--accent-4, #4f4744);
	white-space: nowrap;
	text-decoration: none;
}

.checkpoint-single-product__summary .wc-block-components-product-price:has(> .price)::after,
.checkpoint-single-product__summary .wc-block-components-product-price:has(.woocommerce-variation-price)::after {
	content: none;
}

/* Side cart: item count is secondary to the heading; close sits on that row. */
.wc-block-mini-cart__drawer .wc-block-mini-cart__title {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.4rem 0.45rem;
	margin: 0;
	padding: 1rem 2.75rem 0.35rem 1rem;
}

.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-title-items-counter-block,
.wc-block-mini-cart__drawer .wc-block-mini-cart__items-counter {
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__close {
	top: 1rem;
	right: 0.85rem;
}

/* Cart / mini-cart / checkout: same visual order; keep prefix/suffix slots. */
:is(
	.wc-block-cart-items,
	.wc-block-mini-cart,
	.wp-block-woocommerce-cart,
	.wp-block-woocommerce-mini-cart,
	.wp-block-woocommerce-checkout,
	.wc-block-components-order-summary
) .wc-block-components-product-price:has(> del):has(> ins) {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
}

:is(
	.wc-block-cart-items,
	.wc-block-mini-cart,
	.wp-block-woocommerce-cart,
	.wp-block-woocommerce-mini-cart,
	.wp-block-woocommerce-checkout,
	.wc-block-components-order-summary
) .wc-block-components-product-price:has(> del):has(> ins) > ins {
	order: 1;
}

:is(
	.wc-block-cart-items,
	.wc-block-mini-cart,
	.wp-block-woocommerce-cart,
	.wp-block-woocommerce-mini-cart,
	.wp-block-woocommerce-checkout,
	.wc-block-components-order-summary
) .wc-block-components-product-price:has(> del):has(> ins) > del {
	order: 2;
	margin-inline-start: 0.35em;
}

:is(
	.wc-block-cart-items,
	.wc-block-mini-cart,
	.wp-block-woocommerce-cart,
	.wp-block-woocommerce-mini-cart,
	.wp-block-woocommerce-checkout,
	.wc-block-components-order-summary
) .wc-block-components-product-price:has(> del):has(> ins) > [data-wp-text="state.afterItemPrice"] {
	order: 3;
}

/* Cart / mini-cart: orange “Спестявате” badge under the line total. */
:is(
	.wc-block-cart-items,
	.wc-block-mini-cart,
	.wc-block-mini-cart__drawer,
	.wc-block-mini-cart-items,
	.wp-block-woocommerce-cart,
	.wp-block-woocommerce-mini-cart,
	.wp-block-woocommerce-checkout,
	.wc-block-components-order-summary
) .wc-block-components-sale-badge,
:is(
	.wc-block-cart-items,
	.wc-block-mini-cart,
	.wc-block-mini-cart__drawer,
	.wc-block-mini-cart-items,
	.wp-block-woocommerce-cart,
	.wp-block-woocommerce-mini-cart,
	.wp-block-woocommerce-checkout,
	.wc-block-components-order-summary
) .wc-block-components-product-badge.wc-block-components-sale-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.25em;
	margin-top: 0.25rem;
	padding: 0.15rem 0.45rem;
	border: none;
	border-radius: 4px;
	background: var(--wp--preset--color--accent-3, #e13207);
	color: #fff;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.25;
	white-space: nowrap;
}

.wc-block-components-sale-badge.checkpoint-sale-badge-zero {
	display: none !important;
}

:is(
	.wc-block-cart-items,
	.wc-block-mini-cart,
	.wc-block-mini-cart__drawer,
	.wc-block-mini-cart-items,
	.wp-block-woocommerce-cart,
	.wp-block-woocommerce-mini-cart,
	.wp-block-woocommerce-checkout,
	.wc-block-components-order-summary
) .wc-block-components-sale-badge .wc-block-components-formatted-money-amount,
:is(
	.wc-block-cart-items,
	.wc-block-mini-cart,
	.wc-block-mini-cart__drawer,
	.wc-block-mini-cart-items,
	.wp-block-woocommerce-cart,
	.wp-block-woocommerce-mini-cart,
	.wp-block-woocommerce-checkout,
	.wc-block-components-order-summary
) .wc-block-components-sale-badge .woocommerce-Price-amount {
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	margin-inline-start: 0.25em;
}

/* Compact quantity stepper in cart / mini-cart (not the product-page qty).
 * Woo + :where(input) use 2.75rem; flex stretch on the stepper also forces 44px. */
.wc-block-cart-item__quantity .wc-block-components-quantity-selector,
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector,
.wc-block-mini-cart-items .wc-block-components-quantity-selector,
.wp-block-woocommerce-cart .wc-block-components-quantity-selector {
	display: inline-flex;
	align-items: center;
	height: 1.85rem !important;
	min-height: 1.85rem !important;
	max-height: 1.85rem !important;
	width: auto;
	max-width: 6.5rem;
}

.wc-block-cart-item__quantity .wc-block-components-quantity-selector input,
.wc-block-cart-item__quantity .wc-block-components-quantity-selector input[type="number"],
.wc-block-cart-item__quantity .wc-block-components-quantity-selector__input,
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector input,
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector input[type="number"],
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__input,
.wc-block-mini-cart-items .wc-block-components-quantity-selector input,
.wp-block-woocommerce-cart .wc-block-components-quantity-selector input {
	box-sizing: border-box;
	flex: 0 0 2.15rem;
	align-self: center;
	width: 2.15rem !important;
	max-width: 2.15rem !important;
	min-height: 1.85rem !important;
	height: 1.85rem !important;
	max-height: 1.85rem !important;
	padding: 0 0.15rem !important;
	font-size: 0.8125rem !important;
	font-weight: 600;
	line-height: 1;
	text-align: center;
}

.wc-block-cart-item__quantity .wc-block-components-quantity-selector button,
.wc-block-cart-item__quantity .wc-block-components-quantity-selector__button,
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector button,
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__button,
.wc-block-mini-cart-items .wc-block-components-quantity-selector button,
.wp-block-woocommerce-cart .wc-block-components-quantity-selector button {
	box-sizing: border-box;
	flex: 0 0 1.85rem;
	align-self: center;
	width: 1.85rem !important;
	min-width: 1.85rem !important;
	min-height: 1.85rem !important;
	height: 1.85rem !important;
	max-height: 1.85rem !important;
	padding: 0 !important;
	font-size: 0.9rem;
}

/* Cart / checkout: orange congratulations chip for the auto Warhammer 10% coupon. */
.wc-block-components-totals-discount .wc-block-components-totals-discount__coupon-list {
	margin-top: 0.4rem;
}

.wc-block-components-totals-discount .checkpoint-gw-volume-chip.wc-block-components-chip,
.wc-block-components-order-summary .checkpoint-gw-volume-chip.wc-block-components-chip {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	margin: 0;
	padding: 0.4rem 0.7rem !important;
	border: none !important;
	border-radius: 4px;
	background: var(--wp--preset--color--accent-3, #e13207) !important;
	color: #fff !important;
	box-shadow: none !important;
}

.wc-block-components-totals-discount .checkpoint-gw-volume-chip .wc-block-components-chip__text,
.wc-block-components-order-summary .checkpoint-gw-volume-chip .wc-block-components-chip__text {
	color: #fff !important;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.3;
	white-space: normal;
	text-align: left;
}

.wc-block-components-totals-discount .checkpoint-gw-volume-chip .wc-block-components-chip__remove,
.wc-block-components-order-summary .checkpoint-gw-volume-chip .wc-block-components-chip__remove {
	display: none !important;
}

.woocommerce-cart-form .checkpoint-gw-volume-chip,
.cart_totals .coupon-gw-volume-10 td .woocommerce-remove-coupon {
	display: none;
}

/* Auto coupons: never show the chip remove control. */
.wc-block-components-totals-discount .checkpoint-gw-volume-chip > :not(.wc-block-components-chip__text),
.wc-block-components-order-summary .checkpoint-gw-volume-chip > :not(.wc-block-components-chip__text) {
	display: none !important;
}

.wc-block-components-totals-discount .wc-block-components-chip__remove[aria-label*="gw-volume-10"],
.wc-block-components-order-summary .wc-block-components-chip__remove[aria-label*="gw-volume-10"] {
	display: none !important;
}

/* Cart / checkout: coupon field and Apply sit on one baseline (Woo button otherwise stretches past the input). */
.wc-block-components-totals-coupon__form {
	align-items: flex-end;
	gap: 0.5rem;
}

.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input,
.wc-block-components-totals-coupon__form .wc-block-components-text-input {
	margin-bottom: 0;
}

.wc-block-components-totals-coupon__form .wc-block-components-text-input input,
.wc-block-components-totals-coupon__form input[type="text"] {
	box-sizing: border-box;
	min-height: var(--checkpoint-form-control-height) !important;
	height: var(--checkpoint-form-control-height) !important;
	padding-top: 0.5rem !important;
	padding-bottom: 0.5rem !important;
}

.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button.wc-block-components-button,
.wc-block-components-totals-coupon__form .wc-block-components-button {
	box-sizing: border-box;
	align-self: flex-end;
	min-height: var(--checkpoint-form-control-height) !important;
	height: var(--checkpoint-form-control-height) !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	line-height: 1;
}

/* Shared hit-area: PHP buy/notify are the button; block cards wrap a Woo button.
 * Pin to the card (not the collapsed footer) and hang past the right edge. */
.checkpoint-product-card__buy,
.checkpoint-product-card__notify,
.checkpoint-product-card__footer .checkpoint-product-card__cart {
	position: absolute;
	right: calc(-1 * var(--checkpoint-product-card-buy-hang, 0.333rem));
	bottom: 0.5rem;
	top: auto;
	z-index: 5;
	display: flex !important;
	flex-direction: row !important;
	flex-shrink: 0;
	align-items: stretch !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: var(--checkpoint-product-card-buy-size-lg);
	height: var(--checkpoint-product-card-buy-size-lg);
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	border-radius: 50%;
	overflow: hidden;
	color: #fff;
	text-decoration: none;
	cursor: pointer;
	pointer-events: auto;
	transform: none;
	transform-origin: center center;
	transition: background 0.2s ease, transform 0.2s ease;
}

/* PHP-rendered controls are the filled circle. */
.checkpoint-product-card__buy,
.checkpoint-product-card__notify {
	align-items: center !important;
	justify-content: center !important;
	background: var(--wp--preset--color--accent-3, #e13207);
}

/* Block cart wrapper is only a positioning box — fill lives on the inner button. */
.checkpoint-product-card__footer .checkpoint-product-card__cart {
	background: transparent !important;
	box-shadow: none !important;
	cursor: default;
}

.checkpoint-product-card__buy:hover,
.checkpoint-product-card__buy:focus-visible,
.checkpoint-product-card__notify:hover,
.checkpoint-product-card__notify:focus-visible,
.checkpoint-product-card__footer .checkpoint-product-card__cart:hover,
.checkpoint-product-card__footer .checkpoint-product-card__cart:focus-within {
	transform: scale(1.04);
}

.checkpoint-product-card__buy:hover,
.checkpoint-product-card__buy:focus-visible {
	background: #c42b06;
	color: #fff;
}

.checkpoint-product-card__notify {
	background: #5c6bc0;
}

.checkpoint-product-card__notify:hover,
.checkpoint-product-card__notify:focus-visible {
	background: #4a5ab0;
	color: #fff;
}

.checkpoint-product-card__cart .wp-block-button__link,
.checkpoint-product-card__cart button,
.checkpoint-product-card__cart .wc-block-components-product-button__button {
	box-sizing: border-box !important;
	display: inline-flex !important;
	flex: 1 1 auto;
	align-items: center !important;
	justify-content: center !important;
	align-self: stretch;
	width: 100% !important;
	height: 100% !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	border-radius: 50% !important;
	background: var(--wp--preset--color--accent-3, #e13207) !important;
	box-shadow: none !important;
	color: #fff !important;
	font-size: 0 !important;
	line-height: 0 !important;
	transform: none !important;
}

.checkpoint-product-card__cart .wp-block-button__link:hover,
.checkpoint-product-card__cart .wp-block-button__link:focus-visible,
.checkpoint-product-card__cart button:hover,
.checkpoint-product-card__cart button:focus-visible {
	background: #c42b06 !important;
	color: #fff !important;
}

.checkpoint-product-card--preorder .checkpoint-product-card__buy,
.checkpoint-product-card--preorder .checkpoint-product-card__cart .wp-block-button__link,
.checkpoint-product-card--preorder .checkpoint-product-card__cart button,
.checkpoint-product-card--preorder .checkpoint-product-card__cart .wc-block-components-product-button__button {
	background: var(--checkpoint-product-preorder, #00b49c) !important;
	border-color: var(--checkpoint-product-preorder, #00b49c) !important;
	color: #fff !important;
}

.checkpoint-product-card--preorder .checkpoint-product-card__buy:hover,
.checkpoint-product-card--preorder .checkpoint-product-card__buy:focus-visible,
.checkpoint-product-card--preorder .checkpoint-product-card__cart .wp-block-button__link:hover,
.checkpoint-product-card--preorder .checkpoint-product-card__cart .wp-block-button__link:focus-visible,
.checkpoint-product-card--preorder .checkpoint-product-card__cart button:hover,
.checkpoint-product-card--preorder .checkpoint-product-card__cart button:focus-visible {
	background: #00a892 !important;
	border-color: #00a892 !important;
	color: #fff !important;
}

.checkpoint-product-card--order .checkpoint-product-card__buy,
.checkpoint-product-card--order .checkpoint-product-card__cart .wp-block-button__link,
.checkpoint-product-card--order .checkpoint-product-card__cart button,
.checkpoint-product-card--order .checkpoint-product-card__cart .wc-block-components-product-button__button {
	background: var(--checkpoint-product-order, #191919) !important;
	border-color: var(--checkpoint-product-order, #191919) !important;
	color: #fff !important;
}

.checkpoint-product-card--order .checkpoint-product-card__buy:hover,
.checkpoint-product-card--order .checkpoint-product-card__buy:focus-visible,
.checkpoint-product-card--order .checkpoint-product-card__cart .wp-block-button__link:hover,
.checkpoint-product-card--order .checkpoint-product-card__cart .wp-block-button__link:focus-visible,
.checkpoint-product-card--order .checkpoint-product-card__cart button:hover,
.checkpoint-product-card--order .checkpoint-product-card__cart button:focus-visible {
	background: #333 !important;
	border-color: #333 !important;
	color: #fff !important;
}

.checkpoint-product-card__bag-icon,
.checkpoint-product-card__mail-icon {
	display: block;
	width: calc(16px * 1.3);
	height: calc(16px * 1.3);
	flex-shrink: 0;
}

.checkpoint-product-card__cart .checkpoint-product-card__bag-icon {
	display: block;
	width: calc(16px * 1.3);
	height: calc(16px * 1.3);
}

/* Product cards: hide the Woo "View cart" link. The button stays its fulfillment color. */
.checkpoint-product-card .added_to_cart,
.checkpoint-product-card a.added_to_cart,
.checkpoint-product-card a.wc_forward,
.checkpoint-product-card .wc-block-components-product-button > span:has(.added_to_cart) {
	display: none !important;
}

/* Add-to-cart pending: same button, bag icon becomes a spinner in place. */
@keyframes checkpoint-cart-spin {
	to {
		transform: rotate(360deg);
	}
}

.checkpoint-product-card__buy.is-adding,
.checkpoint-product-card__buy.loading,
.checkpoint-product-card__cart.is-adding button,
.checkpoint-product-card__cart.is-adding .wp-block-button__link,
.checkpoint-product-card__cart button.is-adding,
.checkpoint-product-card__cart button.loading,
.checkpoint-single-product__summary .single_add_to_cart_button.is-adding,
.checkpoint-single-product__summary .single_add_to_cart_button.loading,
.checkpoint-header-actions .wc-block-mini-cart__button.is-adding {
	opacity: 1 !important;
	cursor: progress;
}

.woocommerce a.button.checkpoint-product-card__buy.loading,
.checkpoint-product-card__cart button.loading,
.checkpoint-product-card__cart .wp-block-button__link.loading {
	padding-right: 0 !important;
}

.checkpoint-product-card__buy.loading::after,
.checkpoint-product-card__cart button.loading::after,
.checkpoint-product-card__cart .wp-block-button__link.loading::after,
.checkpoint-single-product__summary .single_add_to_cart_button.loading::after {
	content: none !important;
	display: none !important;
	animation: none !important;
}

.checkpoint-product-card__buy.is-adding .checkpoint-product-card__bag-icon,
.checkpoint-product-card__buy.loading .checkpoint-product-card__bag-icon,
.checkpoint-product-card__cart.is-adding .checkpoint-product-card__bag-icon,
.checkpoint-product-card__cart button.is-adding .checkpoint-product-card__bag-icon,
.checkpoint-product-card__cart button.loading .checkpoint-product-card__bag-icon,
.checkpoint-single-product__summary .single_add_to_cart_button.is-adding .checkpoint-product-card__bag-icon,
.checkpoint-single-product__summary .single_add_to_cart_button.loading .checkpoint-product-card__bag-icon {
	background: transparent !important;
	-webkit-mask-image: none !important;
	mask-image: none !important;
	box-sizing: border-box;
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-top-color: #fff;
	border-radius: 50%;
	animation: checkpoint-cart-spin 0.6s linear infinite;
}

.checkpoint-header-actions .wc-block-mini-cart__button.is-adding .checkpoint-mini-cart__bag-icon,
.checkpoint-header-actions .wc-block-mini-cart__button.is-adding .wc-block-mini-cart__icon {
	background: transparent !important;
	-webkit-mask-image: none !important;
	mask-image: none !important;
	box-sizing: border-box;
	border: 2px solid rgba(25, 25, 25, 0.28);
	border-top-color: currentColor;
	border-radius: 50%;
	animation: checkpoint-cart-spin 0.6s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
	.checkpoint-product-card__buy.is-adding .checkpoint-product-card__bag-icon,
	.checkpoint-product-card__buy.loading .checkpoint-product-card__bag-icon,
	.checkpoint-product-card__cart.is-adding .checkpoint-product-card__bag-icon,
	.checkpoint-product-card__cart button.is-adding .checkpoint-product-card__bag-icon,
	.checkpoint-product-card__cart button.loading .checkpoint-product-card__bag-icon,
	.checkpoint-single-product__summary .single_add_to_cart_button.is-adding .checkpoint-product-card__bag-icon,
	.checkpoint-single-product__summary .single_add_to_cart_button.loading .checkpoint-product-card__bag-icon,
	.checkpoint-header-actions .wc-block-mini-cart__button.is-adding .checkpoint-mini-cart__bag-icon,
	.checkpoint-header-actions .wc-block-mini-cart__button.is-adding .wc-block-mini-cart__icon {
		animation: none;
	}
}

/* Legacy homepage blocks (unused on current home pattern) */
.checkpoint-store-home__intro {
	background:
		linear-gradient(135deg, rgba(225, 50, 7, 0.14) 0%, transparent 55%),
		linear-gradient(180deg, #191919 0%, #2a2422 100%);
	color: var(--wp--preset--color--base, #fff);
	border-radius: 12px;
}

.checkpoint-store-home__intro h1 {
	margin-bottom: 0.5rem;
	color: inherit;
	font-weight: 900;
}

.checkpoint-store-home__intro p {
	color: rgba(255, 255, 255, 0.88);
	font-weight: 400;
}

.checkpoint-store-home__intro-badge {
	display: inline-block;
	margin-top: 0.5rem;
	padding: 0.35rem 0.85rem;
	border: 1px solid rgba(225, 50, 7, 0.65);
	border-radius: 999px;
	background: transparent;
	color: var(--wp--preset--color--accent-2, #f5a384) !important;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-size: 0.75rem !important;
}

.checkpoint-store-home__section-title {
	position: relative;
	padding-bottom: 0.5rem;
}

.checkpoint-store-home__section-title::after {
	content: "";
	display: block;
	width: 3rem;
	height: 3px;
	margin-top: 0.5rem;
	border-radius: 2px;
	background: var(--wp--preset--color--accent-3, #e13207);
}

/* Department pathway banners — full-bleed editorial heroes */
.checkpoint-dept-pathways {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.checkpoint-dept-pathway {
	position: relative;
	display: block;
	min-height: 16rem;
	border-radius: 16px;
	overflow: hidden;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 4px 20px rgba(25, 25, 25, 0.1);
	transition: box-shadow 0.35s ease, transform 0.35s ease;
}

.checkpoint-dept-pathway:hover {
	box-shadow: 0 14px 36px rgba(25, 25, 25, 0.16);
	transform: translateY(-3px);
}

.checkpoint-dept-pathway__visual {
	position: absolute;
	inset: 0;
}

.checkpoint-dept-pathway__hero {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.55s ease;
}

.checkpoint-dept-pathway--warhammer .checkpoint-dept-pathway__hero {
	object-position: 68% 35%;
}

.checkpoint-dept-pathway--tcg .checkpoint-dept-pathway__hero {
	object-position: 72% center;
}

.checkpoint-dept-pathway--hobby .checkpoint-dept-pathway__hero {
	object-position: 65% 40%;
}

.checkpoint-dept-pathway:hover .checkpoint-dept-pathway__hero {
	transform: scale(1.045);
}

.checkpoint-dept-pathway__accent {
	position: absolute;
	right: 2.5rem;
	bottom: 1.25rem;
	z-index: 2;
	width: min(28%, 11.5rem);
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border: 3px solid rgba(255, 255, 255, 0.92);
	border-radius: 10px;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
	transform: rotate(2.5deg);
	transition: transform 0.4s ease;
}

.checkpoint-dept-pathway__accent img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.checkpoint-dept-pathway:hover .checkpoint-dept-pathway__accent {
	transform: rotate(0deg) scale(1.03);
}

.checkpoint-dept-pathway__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
}

.checkpoint-dept-pathway__overlay--warhammer {
	background: linear-gradient(
		102deg,
		rgba(25, 25, 25, 0.86) 0%,
		rgba(25, 25, 25, 0.58) 38%,
		rgba(225, 50, 7, 0.22) 100%
	);
}

.checkpoint-dept-pathway__overlay--tcg {
	background: linear-gradient(
		102deg,
		rgba(25, 25, 25, 0.88) 0%,
		rgba(25, 25, 25, 0.5) 42%,
		rgba(79, 71, 68, 0.28) 100%
	);
}

.checkpoint-dept-pathway__overlay--hobby {
	background: linear-gradient(
		102deg,
		rgba(25, 25, 25, 0.82) 0%,
		rgba(25, 25, 25, 0.48) 45%,
		rgba(241, 238, 233, 0.2) 100%
	);
}

.checkpoint-dept-pathway__body {
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	min-height: inherit;
	max-width: min(62%, 40rem);
	padding: 2.25rem 2.75rem;
}

.checkpoint-dept-pathway__tag {
	display: inline-block;
	margin-bottom: 0.65rem;
	padding: 0.3rem 0.75rem;
	border: 1px solid rgba(225, 50, 7, 0.75);
	border-radius: 999px;
	background: rgba(25, 25, 25, 0.35);
	color: var(--wp--preset--color--accent-2, #f5a384);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.checkpoint-dept-pathway__title {
	margin: 0 0 0.5rem;
	font-size: clamp(1.5rem, 2.8vw, 2.125rem);
	font-weight: 900;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: #fff;
}

.checkpoint-dept-pathway__desc {
	margin: 0 0 0.875rem;
	max-width: 42ch;
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.9);
}

.checkpoint-dept-pathway__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-bottom: 1.125rem;
}

.checkpoint-dept-pathway__chip {
	display: inline-block;
	padding: 0.28rem 0.65rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.12);
	color: rgba(255, 255, 255, 0.92);
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.2;
	pointer-events: none;
}

.checkpoint-dept-pathway__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.65rem 1.25rem;
	border-radius: 999px;
	background: var(--wp--preset--color--accent-3, #e13207);
	color: #fff;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	box-shadow: 0 4px 14px rgba(225, 50, 7, 0.35);
	transition: gap 0.25s ease, background 0.25s ease, transform 0.25s ease;
}

.checkpoint-dept-pathway:hover .checkpoint-dept-pathway__btn,
.checkpoint-dept-pathway:focus-visible .checkpoint-dept-pathway__btn {
	gap: 0.7rem;
	background: #c42b06;
	transform: translateY(-1px);
}

.checkpoint-dept-pathway__btn-arrow {
	display: inline-block;
	transition: transform 0.25s ease;
}

.checkpoint-dept-pathway:hover .checkpoint-dept-pathway__btn-arrow,
.checkpoint-dept-pathway:focus-visible .checkpoint-dept-pathway__btn-arrow {
	transform: translateX(3px);
}

.checkpoint-fulfillment-legend {
	background: var(--wp--preset--color--accent-5, #f1eee9);
}

.checkpoint-fulfillment-legend h3 {
	margin: 0 0 1rem;
}

.checkpoint-fulfillment-legend__item {
	position: relative;
	padding-left: 1rem;
}

.checkpoint-fulfillment-legend__item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.35rem;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background: var(--wp--preset--color--accent-3, #e13207);
}

.checkpoint-fulfillment-legend__item--sale::before {
	background: #b32020;
}

.checkpoint-fulfillment-legend__item--stock::before {
	background: var(--wp--preset--color--accent-3, #e13207);
}

.checkpoint-fulfillment-legend__item--preorder::before {
	background: #00b49c;
}

.checkpoint-fulfillment-legend__item--order::before {
	background: var(--wp--preset--color--accent-4, #4f4744);
}

/* Product showcase tabs */
.checkpoint-product-showcase {
	margin-top: 2.5rem;
}

.checkpoint-product-tabs {
	position: relative;
}

.checkpoint-product-tabs__input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.checkpoint-product-tabs__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1.5rem;
	padding-bottom: 0.25rem;
	border-bottom: 1px solid var(--wp--preset--color--accent-6, rgba(25, 25, 25, 0.2));
}

.checkpoint-product-tabs__tab {
	display: inline-flex;
	align-items: center;
	padding: 0.55rem 1.1rem;
	border-radius: 999px;
	background: var(--wp--preset--color--accent-5, #f1eee9);
	color: var(--wp--preset--color--accent-4, #4f4744);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}

.checkpoint-product-tabs__tab:hover {
	background: rgba(225, 50, 7, 0.12);
	color: var(--wp--preset--color--accent-3, #e13207);
}

#checkpoint-tab-new:checked ~ .checkpoint-product-tabs__nav label[for="checkpoint-tab-new"],
#checkpoint-tab-preorder:checked ~ .checkpoint-product-tabs__nav label[for="checkpoint-tab-preorder"],
#checkpoint-tab-sale:checked ~ .checkpoint-product-tabs__nav label[for="checkpoint-tab-sale"] {
	background: var(--wp--preset--color--accent-3, #e13207);
	color: #fff;
}

.checkpoint-product-tabs__panel {
	display: none;
}

#checkpoint-tab-new:checked ~ #checkpoint-panel-new,
#checkpoint-tab-preorder:checked ~ #checkpoint-panel-preorder,
#checkpoint-tab-sale:checked ~ #checkpoint-panel-sale {
	display: block;
}

/* Product cards */
.checkpoint-product-showcase .wp-block-woocommerce-product-collection ul.wc-block-product-template,
.checkpoint-product-showcase .wp-block-woocommerce-product-collection .wc-block-product-template {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--checkpoint-product-grid-gap, 1.5rem) !important;
	--wc-product-template-gap: var(--checkpoint-product-grid-gap, 1.5rem);
}

.checkpoint-product-showcase .wp-block-woocommerce-product-collection .wc-block-product-template > :is(li.wc-block-product, li.product) {
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0;
	list-style: none;
	overflow: visible;
}

.checkpoint-preorder-spotlight .wp-block-woocommerce-product-collection ul.wc-block-product-template,
.checkpoint-preorder-spotlight .wp-block-woocommerce-product-collection .wc-block-product-template {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--checkpoint-product-grid-gap, 1.5rem) !important;
	--wc-product-template-gap: var(--checkpoint-product-grid-gap, 1.5rem);
}

.checkpoint-preorder-spotlight .wp-block-woocommerce-product-collection .wc-block-product-template > :is(li.wc-block-product, li.product) {
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0;
	list-style: none;
	overflow: visible;
}

@media (min-width: 768px) {
	.checkpoint-dept-pathway {
		min-height: 18rem;
	}
}

@media (max-width: 640px) {
	.checkpoint-dept-pathway {
		min-height: 12.5rem;
	}

	.checkpoint-dept-pathway__body {
		max-width: 100%;
		padding: 1.5rem 1.25rem;
	}

	.checkpoint-dept-pathway__desc {
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
		margin-bottom: 0.875rem;
		font-size: 0.8125rem;
	}

	.checkpoint-dept-pathway__accent {
		right: 1rem;
		bottom: 0.75rem;
		width: 5.5rem;
		opacity: 0.9;
	}
}

@media (max-width: 1100px) {
	.checkpoint-product-grid--row-4,
	.checkpoint-product-grid--row-5,
	.checkpoint-subcategory-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.checkpoint-subcategory-cards--alliance .checkpoint-subcategory-card--start {
		grid-column: 1 / -1;
		grid-row: auto;
		min-height: 8.25rem;
	}

	.checkpoint-home-product-scroller {
		--checkpoint-home-scroller-visible: 2;
	}
}

@media (max-width: 960px) {
	.checkpoint-home-featured,
	.checkpoint-home-featured--banner-right {
		grid-template-columns: 1fr;
	}

	.checkpoint-home-featured--banner-right .checkpoint-home-featured__banner,
	.checkpoint-home-featured--banner-right .checkpoint-home-featured__products {
		order: unset;
	}

	.checkpoint-product-grid--featured-6 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.checkpoint-fulfillment-legend .wp-block-columns {
		flex-wrap: wrap !important;
	}

	.checkpoint-fulfillment-legend .wp-block-column {
		flex-basis: calc(50% - 0.75rem) !important;
	}

	.checkpoint-product-showcase .wp-block-woocommerce-product-collection ul.wc-block-product-template,
	.checkpoint-product-showcase .wp-block-woocommerce-product-collection .wc-block-product-template {
		grid-template-columns: repeat(2, 1fr);
	}

	.checkpoint-store-layout.is-not-stacked-on-mobile > .checkpoint-store-layout__sidebar,
	.checkpoint-store-layout.is-not-stacked-on-mobile > .checkpoint-store-layout__main,
	.checkpoint-store-layout > .checkpoint-store-layout__sidebar,
	.checkpoint-store-layout > .checkpoint-store-layout__main {
		flex-basis: 100% !important;
		max-width: none;
		width: 100%;
	}

	.checkpoint-store-layout > .checkpoint-store-layout__sidebar {
		order: 0;
		position: relative;
		flex: 1 1 100%;
		max-width: none;
		margin-bottom: 1rem;
	}

	.checkpoint-store-layout > .checkpoint-store-layout__main {
		order: 1;
	}

	.checkpoint-sidebar-collapse-input {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
		display: block;
	}

	.checkpoint-sidebar-collapse-toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		box-sizing: border-box;
		width: 100%;
		min-height: 2.75rem;
		margin: 0;
		padding: 0.7rem 1rem;
		border: none;
		border-radius: var(--checkpoint-product-card-radius, 10px);
		background-color: var(--wp--preset--color--accent-5, #f1eee9);
		box-shadow: var(--checkpoint-product-card-shadow, 0 9px 7px -8px #0005);
		color: inherit;
		font-family: inherit;
		font-size: var(--wp--preset--font-size--medium, 1.125rem);
		font-weight: 700;
		line-height: 1.25;
		cursor: pointer;
	}

	.checkpoint-sidebar-collapse-toggle::after {
		flex-shrink: 0;
		content: "";
		width: 0.55rem;
		height: 0.55rem;
		margin-left: 0.5rem;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(45deg);
		transition: transform 0.2s ease;
		opacity: 0.7;
	}

	.checkpoint-sidebar-collapse-input:checked + .checkpoint-sidebar-collapse-toggle::after {
		transform: rotate(-135deg);
	}

	.checkpoint-sidebar-collapse-input:focus-visible + .checkpoint-sidebar-collapse-toggle {
		color: var(--wp--preset--color--accent-3, #e13207);
	}

	.checkpoint-sidebar-collapse-body {
		display: none;
		margin-top: 0.65rem;
	}

	.checkpoint-sidebar-collapse-input:checked ~ .checkpoint-sidebar-collapse-body {
		display: block;
	}

	.checkpoint-store-layout .wp-block-woocommerce-product-collection ul.wc-block-product-template,
	.checkpoint-store-layout .wp-block-woocommerce-product-collection .wc-block-product-template {
		grid-template-columns: repeat(2, 1fr);
	}

	.checkpoint-single-product__related .wp-block-woocommerce-product-collection > ul.wc-block-product-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.checkpoint-subcategory-cards {
		gap: var(--checkpoint-grid-gap, 1.5rem);
	}

	.checkpoint-warhammer-bento {
		grid-template-columns: 1fr;
		grid-template-rows: none;
		min-height: 0;
	}

	.checkpoint-warhammer-bento__col--main,
	.checkpoint-warhammer-bento__col--side,
	.checkpoint-warhammer-bento--full-side .checkpoint-warhammer-bento__col--side {
		grid-template-columns: 1fr;
		grid-template-rows: none;
	}

	.checkpoint-tcg-bento {
		grid-template-columns: 1fr;
		grid-template-rows: none;
		min-height: 0;
	}

	.checkpoint-tcg-bento__row {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.checkpoint-tcg-bento__row > *,
	.checkpoint-tcg-bento__row--mtg-fab > :first-child,
	.checkpoint-tcg-bento__row--mtg-fab > :last-child,
	.checkpoint-tcg-bento__row--lorcana-rift > :first-child,
	.checkpoint-tcg-bento__row--lorcana-rift > :last-child {
		grid-column: auto;
	}

	.checkpoint-home-bento {
		grid-template-columns: 1fr;
		height: auto;
		min-height: 0;
		overflow: visible;
	}

	.checkpoint-home-bento__boxes {
		grid-template-columns: 1fr;
		grid-template-rows: none;
		height: auto;
	}

	.checkpoint-home-bento__boxes .checkpoint-bento-box--large,
	.checkpoint-home-bento__boxes .checkpoint-bento-box:not(.checkpoint-bento-box--large) {
		grid-column: auto;
	}

	.checkpoint-home-bento .checkpoint-bento-box,
	.checkpoint-home-bento .checkpoint-bento-box--large {
		height: auto;
	}

	.checkpoint-home-pathway {
		display: contents;
	}

	.checkpoint-home-pathway .checkpoint-bento-box--has-video {
		order: -2;
	}

	.checkpoint-store-home > .checkpoint-home-hero-banner,
	.checkpoint-store-home > .checkpoint-home-hero {
		order: -1;
	}

	.checkpoint-starcraft-bento {
		grid-template-columns: 1fr;
	}

	.checkpoint-starcraft-bento__races,
	.checkpoint-starcraft-bento__row {
		display: grid;
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.checkpoint-starcraft-bento__row > *,
	.checkpoint-starcraft-bento__row--sets-hobby > :first-child,
	.checkpoint-starcraft-bento__row--sets-hobby > :last-child {
		grid-column: auto;
	}

	.checkpoint-home-pathway .checkpoint-bento-box--has-video {
		height: auto;
		aspect-ratio: 4 / 3.24;
	}

	.checkpoint-home-pathway a.checkpoint-bento-box {
		height: calc(var(--checkpoint-hub-bento-row-height) * 1.08);
		aspect-ratio: auto;
	}

	.checkpoint-home-bento .checkpoint-bento-box,
	.checkpoint-home-bento .checkpoint-bento-box--large,
	.checkpoint-tcg-bento .checkpoint-bento-box,
	.checkpoint-tcg-bento .checkpoint-bento-box--large,
	.checkpoint-warhammer-bento .checkpoint-bento-box,
	.checkpoint-warhammer-bento .checkpoint-bento-box--large,
	.checkpoint-starcraft-bento .checkpoint-bento-box,
	.checkpoint-starcraft-bento > .checkpoint-bento-box--sc-sets,
	.checkpoint-starcraft-bento__row .checkpoint-bento-box {
		min-height: 0;
		height: auto;
		aspect-ratio: 4 / 3;
	}

	.checkpoint-home-pathway a.checkpoint-bento-box .checkpoint-bento-box__desc {
		display: none;
	}

	.checkpoint-bento-box:not(.checkpoint-bento-box--hub-header):not(.checkpoint-bento-box--sidebar) .checkpoint-bento-box__body,
	.checkpoint-bento-box--large .checkpoint-bento-box__body {
		width: 100%;
		max-width: none;
		padding-right: 1rem;
	}

	a.checkpoint-bento-box .checkpoint-bento-box__title,
	a.checkpoint-bento-box .checkpoint-bento-box__desc {
		width: 100%;
		max-width: none;
		padding-right: 0;
	}
}

@media (max-width: 600px) {
	.checkpoint-home-hero__canvas {
		height: clamp(8.4rem, 31.2vw, 10.8rem);
	}

	.checkpoint-home-hero__title {
		max-width: none;
	}

	.checkpoint-product-grid--featured-6,
	.checkpoint-product-grid--row-4,
	.checkpoint-product-grid--row-5,
	.checkpoint-subcategory-cards {
		grid-template-columns: 1fr;
	}

	.checkpoint-subcategory-cards--alliance .checkpoint-subcategory-card--start {
		grid-column: 1 / -1;
		grid-row: auto;
		min-height: 7.5rem;
	}

	.checkpoint-home-product-scroller {
		--checkpoint-home-scroller-visible: 1;
	}

	.checkpoint-fulfillment-legend .wp-block-column {
		flex-basis: 100% !important;
	}

	.checkpoint-product-showcase .wp-block-woocommerce-product-collection ul.wc-block-product-template,
	.checkpoint-product-showcase .wp-block-woocommerce-product-collection .wc-block-product-template,
	.checkpoint-store-layout .wp-block-woocommerce-product-collection ul.wc-block-product-template,
	.checkpoint-store-layout .wp-block-woocommerce-product-collection .wc-block-product-template,
	.checkpoint-single-product__related .wp-block-woocommerce-product-collection > ul.wc-block-product-template,
	.checkpoint-preorder-spotlight .wp-block-woocommerce-product-collection ul.wc-block-product-template,
	.checkpoint-preorder-spotlight .wp-block-woocommerce-product-collection .wc-block-product-template {
		grid-template-columns: 1fr;
	}

	.checkpoint-store-page-heading {
		flex-direction: column;
		align-items: flex-start;
	}

	.checkpoint-bento-box--large:not(.checkpoint-bento-box--hub-header):not(.checkpoint-bento-box--sidebar),
	.checkpoint-bento-box:not(.checkpoint-bento-box--large):not(.checkpoint-bento-box--hub-header):not(.checkpoint-bento-box--sidebar) {
		min-height: 0;
		height: auto;
		aspect-ratio: 4 / 3;
	}

	.checkpoint-bento-box.checkpoint-bento-box--hub-header,
	.checkpoint-bento-box.checkpoint-bento-box--hub-header:not(.checkpoint-bento-box--large) {
		min-height: 160px;
		height: auto;
		aspect-ratio: auto;
		margin: 0;
	}

	.checkpoint-home-pathway .checkpoint-bento-box--has-video {
		min-height: 0;
		height: auto;
		aspect-ratio: 4 / 3.24;
	}

	.checkpoint-home-pathway a.checkpoint-bento-box {
		height: calc(var(--checkpoint-hub-bento-row-height) * 1.08);
		aspect-ratio: auto;
	}
}

/* Archive / catalog page titles — 40% smaller than xx-large preset (0.75 × 0.8). */
.checkpoint-store-page-heading .wp-block-query-title,
.checkpoint-landing-banner .has-xx-large-font-size,
.checkpoint-mode-banner .has-xx-large-font-size {
	font-size: calc(var(--wp--preset--font-size--xx-large, 2.15rem) * 0.6);
}

/* Catalog, search, and single-product titles share the same heading size. */
.checkpoint-store-page-title,
.checkpoint-store-layout__main > .wp-block-query-title,
.checkpoint-store-layout__main > .checkpoint-store-page-title,
.checkpoint-single-product__title,
.checkpoint-single-product__main > .product_title {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.2rem;
	font-size: calc(var(--wp--preset--font-size--xx-large, 2.15rem) * 0.48 * 1.25) !important;
	margin: 0 0 0.35rem;
	line-height: 1.25;
}

.checkpoint-store-home__title {
	font-size: calc(var(--wp--preset--font-size--xx-large, 2.15rem) * 0.48);
}

.checkpoint-store-layout:has(.checkpoint-sidebar-discount-banner) .checkpoint-single-product__main > .checkpoint-single-product__title {
	padding-top: 0.55rem;
}

.checkpoint-store-layout__main:not(.checkpoint-single-product__main) > .checkpoint-store-page-title,
.checkpoint-store-layout__main:not(.checkpoint-single-product__main) > .wp-block-query-title.checkpoint-store-page-title {
	margin-bottom: 0.35rem;
}

/* Category / archive term description (wp:term-description block). */
.wp-block-term-description p {
	margin-bottom: 1rem;
}

.checkpoint-catalog-fulfillment-intro {
	max-width: 42rem;
	margin: 0 0 1rem;
	font-size: var(--wp--preset--font-size--medium, 1.05rem);
	line-height: 1.45;
	color: var(--wp--preset--color--contrast, #1d1d1d);
}

.checkpoint-store-page-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	margin-bottom: 0.5rem;
}

.checkpoint-store-page-heading .wp-block-query-title,
.checkpoint-store-page-heading .wp-block-post-title {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
}

.checkpoint-single-product__header {
	margin-bottom: 1rem;
}

.checkpoint-single-product__main > .checkpoint-single-product__header {
	margin-top: 0;
}

.checkpoint-single-product__main {
	overflow: visible;
}

.checkpoint-single-product__hero {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	align-items: flex-start;
	margin-bottom: 1.5rem;
}

.checkpoint-single-product__gallery {
	flex: 0 1 512px;
	max-width: 100%;
}

/* Classic Woo gallery starts at opacity 0 until FlexSlider inits. */
.checkpoint-single-product__gallery .woocommerce-product-gallery {
	opacity: 1 !important;
}

.checkpoint-single-product__gallery .woocommerce-product-gallery:not(.flexslider) .woocommerce-product-gallery__image:nth-child(n + 2) {
	display: none;
}

.checkpoint-single-product__gallery .flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0.5rem 0 0;
	padding: 0;
	list-style: none;
}

.checkpoint-single-product__gallery .flex-control-thumbs li {
	flex: 0 1 calc(25% - 0.375rem);
	margin: 0;
}

.checkpoint-single-product__gallery .flex-control-thumbs img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--checkpoint-product-card-radius, 10px);
	cursor: pointer;
	opacity: 0.55;
}

.checkpoint-single-product__gallery .flex-control-thumbs img.flex-active,
.checkpoint-single-product__gallery .flex-control-thumbs img:hover {
	opacity: 1;
}

.checkpoint-single-product__summary {
	flex: 1 1 280px;
	min-width: 0;
}

/* Single product hero: main image shadow (gallery thumbs excluded) */
.checkpoint-single-product__gallery .wc-block-product-gallery > .wc-block-components-product-image,
.checkpoint-single-product__gallery .wp-block-woocommerce-product-image-gallery > .wc-block-product-gallery > .wc-block-components-product-image,
.checkpoint-single-product__gallery .woocommerce-product-gallery .woocommerce-product-gallery__image {
	border-radius: var(--checkpoint-product-card-radius, 10px);
	box-shadow: 0 12px 40px rgba(25, 25, 25, 0.12);
	overflow: hidden;
	background: #fff;
}

.checkpoint-single-product__gallery .wc-block-product-gallery > .wc-block-components-product-image :is(a, > div),
.checkpoint-single-product__gallery .woocommerce-product-gallery .woocommerce-product-gallery__image,
.checkpoint-single-product__gallery .woocommerce-product-gallery .woocommerce-product-gallery__image a {
	position: relative;
}

.checkpoint-single-product__gallery .wc-block-product-gallery > .wc-block-components-product-image :is(a, > div),
.checkpoint-single-product__gallery .woocommerce-product-gallery .woocommerce-product-gallery__image a {
	display: block;
	border-radius: inherit;
	overflow: hidden;
}

.checkpoint-single-product__gallery .wc-block-product-gallery > .wc-block-components-product-image img,
.checkpoint-single-product__gallery .woocommerce-product-gallery .woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0;
}

/* Zoom/lightbox trigger: overlay on the main image, lower-right. Grid keeps
 * thumbs on the next row so bottom alignment tracks the photo, not the gallery. */
.checkpoint-single-product__gallery .woocommerce-product-gallery {
	display: grid;
}

.checkpoint-single-product__gallery .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper,
.checkpoint-single-product__gallery .woocommerce-product-gallery > .flex-viewport {
	grid-area: 1 / 1;
	min-width: 0;
}

.checkpoint-single-product__gallery .woocommerce-product-gallery > .flex-control-thumbs,
.checkpoint-single-product__gallery .woocommerce-product-gallery > .flex-control-nav {
	grid-column: 1;
}

.checkpoint-single-product__gallery .woocommerce-product-gallery > .woocommerce-product-gallery__trigger {
	grid-area: 1 / 1;
	z-index: 5;
	justify-self: end;
	align-self: end;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	margin: 0.65rem;
	padding: 0;
	line-height: 1;
	font-size: 1.15rem;
	color: inherit;
	text-decoration: none;
	background: rgba(255, 255, 255, 0.88);
	border: 0;
	border-radius: 999px;
	box-shadow: 0 2px 8px rgba(25, 25, 25, 0.18);
}

.checkpoint-single-product__gallery .woocommerce-product-gallery > .woocommerce-product-gallery__trigger:hover,
.checkpoint-single-product__gallery .woocommerce-product-gallery > .woocommerce-product-gallery__trigger:focus-visible {
	text-decoration: none;
	background: #fff;
}

.checkpoint-single-product__summary > * + * {
	margin-top: 0.85rem;
}

.checkpoint-single-product__summary .wp-block-woocommerce-product-rating,
.checkpoint-single-product__summary .wp-block-woocommerce-product-price,
.checkpoint-single-product__summary .wp-block-post-excerpt,
.checkpoint-single-product__summary .wp-block-woocommerce-add-to-cart-form {
	margin-block: 0;
}

.checkpoint-single-product__summary :is(
	.wp-block-woocommerce-product-price,
	.wc-block-components-product-price,
	p.price,
	.woocommerce-variation-price .price
) {
	font-size: calc(var(--wp--preset--font-size--large, 1.375rem) * 1.17) !important;
	font-weight: 700;
}

.checkpoint-single-product__summary :is(
	.wp-block-woocommerce-product-price,
	.wc-block-components-product-price,
	p.price,
	.woocommerce-variation-price .price
) :is(.woocommerce-Price-amount, ins, bdi) {
	font-size: inherit;
}

.checkpoint-single-product__summary :is(
	.wp-block-woocommerce-product-price,
	.wc-block-components-product-price,
	p.price,
	.woocommerce-variation-price .price
) ins {
	text-decoration: none;
}

.checkpoint-single-product__summary :is(
	.wp-block-woocommerce-product-price,
	.wc-block-components-product-price,
	p.price,
	.woocommerce-variation-price .price
) del {
	position: relative;
	font-size: 0.7em;
	font-weight: 500;
	opacity: 0.5;
	/* Visual strike is the ::after overlay — see split-price note below. */
	text-decoration: none;
}

/*
 * Split prices: integer at full size, decimal (incl. comma) at 50%, top-aligned
 * to cap height — not a high superscript. Storewide except card stickers and
 * the product page (those bump integer + cents together). € matches integer.
 */
.woocommerce-Price-amount:has(> .checkpoint-price-int),
.woocommerce-Price-amount bdi:has(> .checkpoint-price-int) {
	display: inline-flex;
	align-items: flex-start;
	flex-wrap: nowrap;
}

.checkpoint-price-int,
.checkpoint-price-dec,
.woocommerce-Price-amount .woocommerce-Price-currencySymbol {
	display: inline-block;
	flex-shrink: 0;
	line-height: 1;
	white-space: nowrap;
	font-stretch: condensed;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.08em;
}

.checkpoint-price-dec {
	font-size: 50%;
	letter-spacing: -0.05em;
}

.woocommerce-Price-amount .woocommerce-Price-currencySymbol {
	font-size: 1em;
}

/*
 * Product page vs 1.14.94: wrapper 1.3 → 1.17 (~10%). Integer stays 120% of
 * that (~2.15rem → ~1.93rem); cents 75% (~1.34rem → ~1.21rem). € = integer.
 * Цена stays 0.7em of the wrapper. Struck del stays 0.7em.
 */
.checkpoint-single-product__summary .checkpoint-price-int,
.checkpoint-single-product__summary .woocommerce-Price-currencySymbol {
	font-size: 120%;
}

.checkpoint-single-product__summary .checkpoint-price-dec {
	font-size: 75%;
}

/*
 * Struck regular price (1.14.97): formatted_woocommerce_price wraps the number in
 * .checkpoint-price-int / .checkpoint-price-dec (inline-block); bdi is inline-flex
 * so cents can sit smaller at the cap. CSS does not paint ancestor line-through
 * through those displays, so del and the rear sale sticker looked unstruck.
 * One overlay line covers integer, cents, and € without changing that layout.
 */
.checkpoint-product-card__price-tag--was .checkpoint-product-card__price-tag-amount::after,
.checkpoint-single-product__summary :is(
	.wp-block-woocommerce-product-price,
	.wc-block-components-product-price,
	p.price,
	.woocommerce-variation-price .price
) del::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	z-index: 1;
	height: 0.1em;
	min-height: 1.5px;
	pointer-events: none;
	background: currentColor;
	transform: translateY(-50%);
}

.checkpoint-single-product__price-row {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 0.35rem;
	line-height: 1;
}

.checkpoint-single-product__price-row .wp-block-woocommerce-product-price,
.checkpoint-single-product__price-row .wc-block-components-product-price {
	margin: 0;
}

.checkpoint-single-product__status-badges {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 0.25rem;
	flex-shrink: 0;
}

.checkpoint-single-product__status-badges-row {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	gap: 0.35rem;
}

/* Card badges: 0.625rem × 1.3 × 1.2. Single product: slightly larger inline tag. */
.checkpoint-single-product__status-badge {
	display: inline-block;
	flex-shrink: 0;
	padding: 0.35rem 0.625rem;
	border-radius: 4px;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	white-space: nowrap;
	box-shadow: 0 1px 3px rgba(25, 25, 25, 0.12);
}

.checkpoint-single-product__status-badge--sale {
	background: #b32020;
	color: #fff;
}

.checkpoint-single-product__status-badge--instock {
	background: var(--wp--preset--color--accent-3, #e13207);
	color: #fff;
}

.checkpoint-single-product__status-badge--preorder {
	background: #00b49c;
	color: #fff;
}

.checkpoint-single-product__status-badge--arriving {
	background: #454545;
	color: #fff;
}

.checkpoint-single-product__status-badge--order {
	background: var(--wp--preset--color--accent-4, #4f4744);
	color: #fff;
}

.checkpoint-single-product__status-badge--sold-out {
	background: #9a9a9a;
	color: #fff;
}

.checkpoint-single-product__status-badge--stock-qty {
	background: #191919;
	color: #fff;
	text-transform: none;
	letter-spacing: 0.01em;
	font-variant-numeric: tabular-nums;
}

.checkpoint-admin-stock {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.45rem;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 0.45rem 0.55rem 0.5rem;
	border: 1px solid #c8c4bf;
	border-radius: 6px;
	background: #eceae6;
	box-shadow: none;
}

.checkpoint-single-product__buy-stack > .checkpoint-admin-stock {
	align-self: stretch;
	width: 100%;
	margin-top: 0.15rem;
}

.checkpoint-admin-stock__body {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.checkpoint-admin-stock__row {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.4rem;
}

.checkpoint-admin-stock__row--values {
	flex-wrap: wrap;
}

.checkpoint-admin-stock__row--values .checkpoint-admin-stock__submit[data-admin-action="qty"] {
	margin-inline-end: 0.65rem;
}

.checkpoint-admin-stock__row--values .checkpoint-admin-stock-edit {
	margin-inline-start: auto;
	flex-shrink: 0;
	text-decoration: none;
}

.checkpoint-admin-stock .checkpoint-single-product__status-badge--stock-qty {
	box-shadow: none;
}

.checkpoint-admin-stock__input {
	box-sizing: border-box;
	min-height: 1.85rem;
	height: 1.85rem;
	margin: 0;
	padding: 0 0.35rem;
	border: 1px solid #c8c4bf;
	border-radius: 4px;
	background: #fff;
	color: #191919;
	font-size: 0.8125rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	line-height: 1.2;
}

.checkpoint-admin-stock__input--qty {
	width: 3.5rem;
}

.checkpoint-admin-stock__input--price,
.checkpoint-admin-stock__input--sale {
	width: 5.25rem;
}

.checkpoint-admin-stock__toggles {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem 0.85rem;
}

.checkpoint-admin-stock__switch {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0;
	cursor: pointer;
	user-select: none;
}

.checkpoint-admin-stock__switch-input {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.checkpoint-admin-stock__switch-track {
	position: relative;
	display: block;
	flex: 0 0 auto;
	width: 1.85rem;
	height: 1.05rem;
	border-radius: 999px;
	background: #c8c4bf;
	transition: background 0.15s ease;
}

.checkpoint-admin-stock__switch-thumb {
	position: absolute;
	top: 0.12rem;
	left: 0.12rem;
	width: 0.81rem;
	height: 0.81rem;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(25, 25, 25, 0.22);
	transition: transform 0.15s ease;
}

.checkpoint-admin-stock__switch-input:checked + .checkpoint-admin-stock__switch-track {
	background: var(--wp--preset--color--accent-3, #e13207);
}

.checkpoint-admin-stock__switch-input:checked + .checkpoint-admin-stock__switch-track .checkpoint-admin-stock__switch-thumb {
	transform: translateX(0.8rem);
}

.checkpoint-admin-stock__switch-input:focus-visible + .checkpoint-admin-stock__switch-track {
	box-shadow: 0 0 0 2px rgba(225, 50, 7, 0.28);
}

.checkpoint-admin-stock__switch-input:disabled + .checkpoint-admin-stock__switch-track {
	opacity: 0.55;
}

.checkpoint-admin-stock__switch-text {
	color: #191919;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.2;
}

.checkpoint-admin-stock__row--sale {
	flex-wrap: wrap;
}

.checkpoint-admin-stock__sale-fields {
	display: none;
	align-items: center;
	gap: 0.4rem;
}

.checkpoint-admin-stock.is-on-sale .checkpoint-admin-stock__sale-fields {
	display: flex;
}

.checkpoint-admin-stock__submit {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 1.85rem !important;
	height: 1.85rem;
	margin: 0;
	padding: 0 0.65rem;
	border: none;
	border-radius: 4px;
	background: #191919;
	color: #fff;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
}

.checkpoint-admin-stock__submit:hover,
.checkpoint-admin-stock__submit:focus-visible {
	background: var(--wp--preset--color--accent-3, #e13207);
	color: #fff;
	text-decoration: none;
}

.checkpoint-admin-stock__submit:disabled {
	opacity: 0.65;
	cursor: wait;
}

.checkpoint-admin-stock__status {
	color: #8a2118;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.3;
}

.checkpoint-admin-stock__status:empty {
	display: none;
}

/* Sold-out single product: dim gallery image, title, and price (badge stays full opacity). */
.checkpoint-single-product--sold-out .checkpoint-single-product__gallery .wc-block-components-product-image img,
.checkpoint-single-product--sold-out .checkpoint-single-product__gallery .woocommerce-product-gallery__image img,
.checkpoint-single-product--sold-out .checkpoint-single-product__title,
.checkpoint-single-product--sold-out .checkpoint-single-product__summary > .wp-block-post-title,
.checkpoint-single-product--sold-out .checkpoint-single-product__summary .wp-block-woocommerce-product-price,
.checkpoint-single-product--sold-out .checkpoint-single-product__summary .wc-block-components-product-price,
.checkpoint-single-product--sold-out .checkpoint-single-product__summary p.price {
	opacity: 0.75;
}

.checkpoint-single-product__warhammer-promo {
	margin: 0.4rem 0 0;
	max-width: 26rem;
	color: var(--wp--preset--color--accent-3, #e13207);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	font-weight: 600;
	line-height: 1.55;
	hyphens: none;
	-webkit-hyphens: none;
	overflow-wrap: normal;
	word-break: normal;
	text-wrap: pretty;
}

.checkpoint-single-product__summary .wp-block-woocommerce-add-to-cart-form + .checkpoint-single-product__delivery-note,
.checkpoint-single-product__summary .wp-block-woocommerce-add-to-cart-form + .checkpoint-single-product__warhammer-promo {
	margin-top: 0.4rem;
}

.checkpoint-single-product__delivery-note + .checkpoint-single-product__warhammer-promo {
	margin-top: 0.35rem;
}

/* Paint-set gift: brand-orange bar + overlapping demo miniature (PDP only). */
.checkpoint-paint-set-gift {
	position: relative;
	z-index: 3;
	isolation: isolate;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0.35rem 0 1.35rem;
	padding: 1.35rem 1.6rem 0.55rem 0;
}

.checkpoint-paint-set-gift__text {
	position: relative;
	z-index: 0;
	display: block;
	width: 100%;
	max-width: none !important;
	box-sizing: border-box;
	margin: 0;
	padding: 2rem 7.75rem 2rem 1.5rem;
	border-radius: 10px;
	background: var(--checkpoint-form-button-bg, #e13207);
	color: #fff;
	font-weight: 700;
	font-size: clamp(1.05rem, 1.65vw, 1.22rem);
	line-height: 1.25;
	hyphens: none;
	-webkit-hyphens: none;
	text-wrap: nowrap;
	white-space: nowrap;
}

.checkpoint-paint-set-gift__model {
	position: absolute;
	z-index: 1;
	right: -0.25rem;
	left: auto;
	bottom: -0.7rem;
	display: block;
	width: 7.35rem;
	height: auto;
	max-width: none;
	pointer-events: none;
	user-select: none;
	filter: drop-shadow(0 6px 10px rgba(0, 0, 0, 0.35));
}

@media (max-width: 781px) {
	.checkpoint-paint-set-gift {
		padding-top: 1.15rem;
		padding-right: 1.1rem;
		padding-left: 0;
		padding-bottom: 0.4rem;
	}

	.checkpoint-paint-set-gift__text {
		font-size: 1rem;
		line-height: 1.3;
		padding: 1.25rem 6.4rem 1.25rem 1rem;
		white-space: normal;
		text-wrap: pretty;
	}

	.checkpoint-paint-set-gift__model {
		width: 6.1rem;
		bottom: -0.5rem;
	}
}

/* Single product: short excerpt 20% larger than body; long description stays 1rem. */
.checkpoint-single-product__main .wp-block-post-excerpt,
.checkpoint-single-product__main .wp-block-post-excerpt__excerpt {
	font-size: 1.2rem;
}

.checkpoint-single-product__main .checkpoint-single-product__details :is(p, li, dt, dd, td, th) {
	font-size: 1rem;
}

.checkpoint-single-product__main .wp-block-post-excerpt__excerpt,
.checkpoint-single-product__main .checkpoint-single-product__details :is(p, li, dd) {
	line-height: 1.6;
}

.checkpoint-single-product__excerpt {
	margin: 0;
	padding: 0;
	border: 0;
	max-width: 36rem;
}

.checkpoint-single-product__excerpt .woocommerce-product-details__short-description,
.checkpoint-single-product__excerpt p {
	margin: 0;
	font-size: 1.2rem;
	line-height: 1.55;
}

.checkpoint-single-product__excerpt p + p {
	margin-top: 0.45rem;
}

.checkpoint-single-product__pricing {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
	margin: 0;
}

.checkpoint-single-product__excerpt + .checkpoint-single-product__pricing,
.checkpoint-single-product__excerpt + .checkpoint-single-product__buy-stack {
	margin-top: 1.5rem;
}

.checkpoint-single-product__buy-stack {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	margin: 0;
}

.checkpoint-single-product__buy-stack > .checkpoint-product-rrp-note {
	margin: 0;
}

.checkpoint-single-product__buy-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 0.75rem;
	width: 100%;
	padding-block: 1rem;
}

.checkpoint-single-product__buy-row .checkpoint-single-product__pricing {
	grid-column: 1;
	min-width: 0;
	margin-top: 0;
}

.woocommerce div.product .checkpoint-single-product__buy-row form.cart,
.checkpoint-single-product__buy-row form.cart {
	grid-column: 2;
	justify-self: end;
	margin: 0;
	flex-wrap: nowrap;
}

.checkpoint-single-product__buy-stack .checkpoint-preorder-interest,
.checkpoint-single-product__buy-stack .stock {
	width: 100%;
	margin-top: 0;
}

.checkpoint-single-product__summary .stock {
	display: none;
}

.checkpoint-single-product__pricing .checkpoint-product-rrp-note,
.checkpoint-single-product__pricing .checkpoint-single-product__price-row {
	margin: 0;
}

.checkpoint-single-product__price-row p.price {
	margin: 0;
	padding: 0;
	line-height: 1;
	align-items: center;
}

.checkpoint-single-product__pricing + form.cart,
.checkpoint-single-product__pricing + .checkpoint-preorder-interest {
	margin-top: 0;
}

.checkpoint-rrp-abbr {
	cursor: help;
	text-decoration: underline dotted;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.checkpoint-product-rrp-note .checkpoint-rrp-abbr {
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	text-decoration: none;
	cursor: inherit;
}

.checkpoint-product-card__price-tag-label .checkpoint-rrp-abbr {
	text-decoration: none;
	cursor: inherit;
}

.checkpoint-single-product__summary .wp-block-woocommerce-add-to-cart-form {
	margin-top: 0.75rem;
	margin-bottom: 0;
	padding: 0;
	padding-bottom: 0;
}

.checkpoint-single-product__summary form.cart,
.checkpoint-single-product__summary .wp-block-woocommerce-add-to-cart-form form,
.checkpoint-single-product__summary .wp-block-woocommerce-add-to-cart-form .woocommerce-variation-add-to-cart,
.woocommerce div.product .checkpoint-single-product__summary form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 0.5rem;
	row-gap: 0;
	margin: 0;
	margin-bottom: 0;
	padding: 0;
}

.checkpoint-single-product__buy-row .checkpoint-single-product__pricing + form.cart,
.checkpoint-single-product__buy-stack .checkpoint-single-product__pricing + form.cart,
.checkpoint-single-product__summary .checkpoint-single-product__pricing + form.cart {
	margin-top: 0;
}

.checkpoint-single-product__summary .wp-block-woocommerce-add-to-cart-form .wc-block-components-quantity-selector,
.checkpoint-single-product__summary .quantity {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	margin: 0;
	padding: 0;
}

.checkpoint-single-product__summary form.cart > .quantity,
.checkpoint-single-product__summary .woocommerce-variation-add-to-cart > .quantity {
	margin-inline-start: 0;
}

.checkpoint-single-product__summary .quantity label:not(.screen-reader-text) {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.checkpoint-single-product__summary .single_add_to_cart_button.checkpoint-single-product__buy {
	display: inline-flex !important;
	flex-flow: row nowrap !important;
	flex-shrink: 0;
	align-items: center !important;
	justify-content: center;
	gap: 0.5rem;
	width: auto !important;
	min-height: 2.75rem;
	height: 2.75rem;
	padding: 0 1.35rem !important;
	border: none !important;
	border-radius: 6px !important;
	background: var(--wp--preset--color--accent-3, #e13207) !important;
	color: #fff !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	text-decoration: none;
	white-space: nowrap;
	margin: 0;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}

.checkpoint-single-product__summary .single_add_to_cart_button.checkpoint-single-product__buy:hover,
.checkpoint-single-product__summary .single_add_to_cart_button.checkpoint-single-product__buy:focus-visible {
	background: #c42b06 !important;
	color: #fff !important;
	transform: scale(1.04);
}

.checkpoint-single-product--preorder .checkpoint-single-product__summary .single_add_to_cart_button.checkpoint-single-product__buy {
	background: var(--checkpoint-product-preorder, #00b49c) !important;
}

.checkpoint-single-product--preorder .checkpoint-single-product__summary .single_add_to_cart_button.checkpoint-single-product__buy:hover,
.checkpoint-single-product--preorder .checkpoint-single-product__summary .single_add_to_cart_button.checkpoint-single-product__buy:focus-visible {
	background: #00a892 !important;
}

.checkpoint-single-product--order .checkpoint-single-product__summary .single_add_to_cart_button.checkpoint-single-product__buy {
	background: var(--checkpoint-product-order, #191919) !important;
}

.checkpoint-single-product--order .checkpoint-single-product__summary .single_add_to_cart_button.checkpoint-single-product__buy:hover,
.checkpoint-single-product--order .checkpoint-single-product__summary .single_add_to_cart_button.checkpoint-single-product__buy:focus-visible {
	background: #333 !important;
}

.checkpoint-single-product__summary .single_add_to_cart_button .checkpoint-product-card__bag-icon {
	display: inline-block;
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	vertical-align: middle;
}

.checkpoint-single-product__summary .single_add_to_cart_button .checkpoint-single-product__buy-label {
	display: inline;
	white-space: nowrap;
}

.checkpoint-single-product__delivery-note {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	gap: 0.5rem;
	margin: 0.4rem 0 0;
	width: auto;
	max-width: 100%;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.25;
	color: var(--wp--preset--color--contrast, #191919);
}

.checkpoint-single-product__delivery-note .checkpoint-single-product__status-badges {
	display: inline-flex;
	flex: 0 0 auto;
	width: auto;
}

.checkpoint-single-product__delivery-note-icon {
	flex: 0 0 auto;
	width: 1.15rem;
	height: 1.15rem;
	color: var(--wp--preset--color--accent-4, #4f4744);
}

.checkpoint-single-product__delivery-note-text {
	flex: 0 1 auto;
	min-width: 0;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.25;
	white-space: nowrap;
}

.checkpoint-single-product__summary .quantity :is(input, select),
.checkpoint-single-product__summary form.cart :is(input[type="number"], select) {
	box-sizing: border-box;
	width: 3.25rem;
	min-height: 2.75rem;
	height: 2.75rem;
	padding: 0 0.5rem;
	border: 1px solid var(--wp--preset--color--accent-6, #d6d3d1);
	border-radius: 6px;
	background: var(--wp--preset--color--base, #fff);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}

.checkpoint-single-product__summary .quantity input[type="number"]::-webkit-outer-spin-button,
.checkpoint-single-product__summary .quantity input[type="number"]::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
	appearance: none;
}

.checkpoint-single-product__summary .checkpoint-single-product__details {
	margin-top: 1.2rem;
	padding-top: 1rem;
	border-top: 1px solid var(--wp--preset--color--accent-6, #d6d3d1);
}

.checkpoint-single-product__related {
	margin-top: 1.5rem;
	width: 100%;
	max-width: none;
}

/* Constrained + alignwide on this group capped the collection at contentSize (645px). */
.checkpoint-single-product__related.is-layout-constrained > :is(*, .alignwide) {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

.checkpoint-single-product__related :is(h2, h3) {
	margin-top: 0;
}

.checkpoint-single-product__related .wp-block-woocommerce-product-collection {
	width: 100%;
	max-width: none;
}

.checkpoint-single-product__related .wp-block-woocommerce-product-collection > ul.wc-block-product-template {
	display: grid !important;
	width: 100%;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--checkpoint-product-grid-gap, 1.5rem) !important;
	--wc-product-template-gap: var(--checkpoint-product-grid-gap, 1.5rem);
	align-items: stretch;
}

.checkpoint-single-product__related .wp-block-woocommerce-product-collection > ul.wc-block-product-template > :is(li.wc-block-product, li.product) {
	display: flex;
	flex-direction: column;
	min-width: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow: visible;
}

.checkpoint-single-product__related .wp-block-woocommerce-product-collection > ul.wc-block-product-template > :is(li.wc-block-product, li.product) > .checkpoint-product-card {
	flex: 1 1 auto;
	width: 100%;
	height: 100%;
}

.checkpoint-single-product__related .checkpoint-product-card .wc-block-components-product-image {
	width: 100%;
	align-self: stretch;
	flex-shrink: 0;
}

.checkpoint-single-product__related .checkpoint-product-card .wc-block-components-product-image :is(a, > div) {
	width: 100%;
	max-width: 100%;
	margin: 0;
}

.checkpoint-single-product__related .checkpoint-product-card > .wp-block-post-title {
	flex: 1 1 auto;
}

.checkpoint-single-product__related .checkpoint-product-card > .checkpoint-product-card__footer {
	margin-top: auto;
}

.checkpoint-sidebar-discount-banner,
.checkpoint-warhammer-discount-banner,
.checkpoint-warhammer-discount-banner--sidebar,
.checkpoint-tcg-discount-banner,
.checkpoint-tcg-discount-banner--sidebar {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: 0 0 0.75rem;
	padding: 0.55rem 0.65rem;
	background: var(--wp--preset--color--accent-3, #e13207);
	border-radius: 8px;
	box-shadow: none;
	color: #fff;
	font-size: 1.08rem;
	line-height: 1.35;
	font-weight: 600;
	text-align: left;
	transform: none;
}

.checkpoint-sidebar-discount-banner::before,
.checkpoint-warhammer-discount-banner::before,
.checkpoint-warhammer-discount-banner--sidebar::before,
.checkpoint-tcg-discount-banner::before,
.checkpoint-tcg-discount-banner--sidebar::before {
	content: "";
	flex: 0 0 1.55rem;
	width: 1.55rem;
	height: 1.55rem;
	margin-top: 0.08rem;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%23fff'/%3E%3Ccircle cx='8.15' cy='8.15' r='1.7' fill='%23e13207'/%3E%3Ccircle cx='15.85' cy='15.85' r='1.7' fill='%23e13207'/%3E%3Cpath d='M16.85 6.35 7.15 17.65' stroke='%23e13207' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.checkpoint-sidebar-discount-banner__line,
.checkpoint-warhammer-discount-banner__line,
.checkpoint-tcg-discount-banner__line {
	display: block;
	flex: 1 1 auto;
	min-width: 0;
}

.checkpoint-single-product__excerpt a,
.checkpoint-single-product__details a,
body.checkpoint-news-article-page .checkpoint-news-article__main .wp-block-post-content a,
.checkpoint-php-footer__nav a,
.checkpoint-php-footer__contact a,
.checkpoint-php-footer .wp-block-site-title a,
.checkpoint-sidebar-news__more-inline {
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.checkpoint-bento-box--sidebar:hover,
.checkpoint-bento-box--sidebar:focus-visible {
	box-shadow: none;
	transform: none;
}

/* Cart — same content column as catalog / checkout (not viewport-edge). */
body.woocommerce-cart main.wp-block-group.is-layout-constrained,
body.woocommerce-cart main.wp-block-group.alignfull {
	width: 100%;
	max-width: var(--wp--style--global--wide-size, 1340px);
	margin-inline: auto;
}

body.woocommerce-cart main.wp-block-group.is-layout-constrained > .alignwide,
body.woocommerce-cart main.wp-block-group.alignfull > .alignwide,
body.woocommerce-cart main.wp-block-group.alignfull > .wp-block-woocommerce-cart {
	width: 100% !important;
	max-width: 100% !important;
	margin-inline: 0 !important;
}

/* Checkout — centered content column */
body.woocommerce-checkout:not(.woocommerce-order-received) main.wp-block-group.is-layout-constrained,
body.woocommerce-checkout:not(.woocommerce-order-received) main.wp-block-group.alignfull,
body.woocommerce-checkout:not(.woocommerce-order-received) main.wp-block-group.alignfull > .wp-block-post-content {
	width: 100%;
	max-width: min(72rem, 100%);
	margin-inline: auto;
}

body.woocommerce-checkout:not(.woocommerce-order-received) main.wp-block-group.is-layout-constrained > .alignwide,
body.woocommerce-checkout:not(.woocommerce-order-received) main.wp-block-group.alignfull > .alignwide {
	width: 100% !important;
	max-width: 100% !important;
	margin-inline: 0 !important;
}

/* Order received (thank-you) — narrower centered column */
body.checkpoint-order-received-page main.wp-block-group.is-layout-constrained,
body.checkpoint-order-received-page main.wp-block-group.alignfull,
body.checkpoint-order-received-page main.wp-block-group.alignfull > .wp-block-post-content {
	width: 100%;
	max-width: min(48rem, 100%);
	margin-inline: auto;
}

body.checkpoint-order-received-page main.wp-block-group.is-layout-constrained > .alignwide,
body.checkpoint-order-received-page main.wp-block-group.alignfull > .alignwide {
	width: 100% !important;
	max-width: 100% !important;
	margin-inline: 0 !important;
}

body.checkpoint-order-received-page .wc-block-order-confirmation,
body.checkpoint-order-received-page .woocommerce-order {
	max-width: 100%;
	margin-inline: auto;
	font-size: 0.9375rem;
}

body.woocommerce-checkout .checkpoint-delayed-shipment-notice,
body.checkpoint-order-received-page .checkpoint-delayed-shipment-notice {
	margin: 0 0 1.25rem;
	padding: 1rem 1.15rem;
	border: none;
	border-left: 4px solid var(--wp--preset--color--accent-3, #e13207);
	border-radius: 8px;
	background: var(--wp--preset--color--accent-5, #f1eee9);
	color: var(--wp--preset--color--contrast, #191919);
	font-size: 1rem;
	line-height: 1.5;
	font-weight: 600;
}

body.woocommerce-checkout .checkpoint-delayed-shipment-notice::before,
body.checkpoint-order-received-page .checkpoint-delayed-shipment-notice::before {
	display: none;
}

/* Bank transfer details — quiet card, not a shouty banner */
.checkpoint-bacs-details,
body.checkpoint-order-received-page .wc-block-order-confirmation-additional-information,
body.woocommerce-checkout .payment_box.payment_method_bacs {
	margin: 1.25rem 0 1.75rem;
	padding: 1.2rem 1.3rem 1.25rem;
	border: 1px solid #e4ddd4;
	border-radius: 12px;
	background: #f7f4f0;
	box-shadow: 0 1px 2px rgba(25, 25, 25, 0.05);
	color: #191919;
}

.checkpoint-bacs-details .woocommerce-bacs-bank-details,
.checkpoint-bacs-details .wc-bacs-bank-details,
body.checkpoint-order-received-page .checkpoint-bacs-details .wc-block-order-confirmation-additional-information {
	margin: 0.85rem 0 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.checkpoint-bacs-details > p,
body.checkpoint-order-received-page .checkpoint-bacs-details p,
body.checkpoint-order-received-page .wc-block-order-confirmation-additional-information p {
	margin: 0 0 0.45rem;
	font-size: 0.9375rem;
	line-height: 1.5;
	color: #2a2623;
}

.checkpoint-bacs-details > p:last-child,
body.checkpoint-order-received-page .wc-block-order-confirmation-additional-information p:last-child {
	margin-bottom: 0;
}

.checkpoint-bacs-fields {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.85rem 1.5rem;
	margin: 0;
}

body.woocommerce-checkout .checkpoint-bacs-checkout-note,
.wc-block-checkout .checkpoint-bacs-checkout-note,
#radio-control-wc-payment-method-options-bacs__content {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 0.75rem;
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 650;
	line-height: 1.5;
	color: var(--wp--preset--color--contrast, #191919);
}

body.woocommerce-checkout .checkpoint-bacs-checkout-note::before,
.wc-block-checkout .checkpoint-bacs-checkout-note::before,
#radio-control-wc-payment-method-options-bacs__content::before {
	content: "";
	position: static;
	flex: 0 0 1.5rem;
	width: 1.5rem;
	height: 1.5rem;
	margin-top: 0.05rem;
	border-radius: 50%;
	background-color: var(--wp--preset--color--accent-3, #e13207);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M11 7h2v2h-2zm0 4h2v6h-2z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 0.85rem;
}

/* Lead line inside the bank-details card — same mark as other store notices. */
body.checkpoint-order-received-page .checkpoint-bacs-wait-alert,
.checkpoint-bacs-details .checkpoint-bacs-wait-alert {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 0.75rem;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: 0 0 1.15rem !important;
	margin-inline: 0 !important;
	padding: 0.85rem 1rem !important;
	border: 0;
	border-radius: 8px;
	background: #f8d0c6;
	box-shadow: none;
	color: #9d1c16;
	font-size: 0.9375rem;
	font-weight: 650;
	line-height: 1.5;
}

body.checkpoint-order-received-page .checkpoint-bacs-wait-alert::before,
.checkpoint-bacs-details .checkpoint-bacs-wait-alert::before {
	content: "";
	position: static;
	flex: 0 0 1.5rem;
	width: 1.5rem;
	height: 1.5rem;
	margin: 0.05rem 0 0;
	border-radius: 50%;
	background-color: var(--wp--preset--color--accent-3, #e13207);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M11 7h2v2h-2zm0 4h2v6h-2z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 0.85rem;
}

body.checkpoint-order-received-page .checkpoint-bacs-wait-alert p,
.checkpoint-bacs-details .checkpoint-bacs-wait-alert p {
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
	color: #9d1c16;
}

@media (min-width: 600px) {
	.checkpoint-bacs-fields {
		grid-template-columns: 1fr 1fr;
	}
}

.checkpoint-bacs-fields__item {
	margin: 0;
}

.checkpoint-bacs-fields dt {
	margin: 0;
	font-size: 0.75rem;
	font-weight: 650;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #5c5650;
}

.checkpoint-bacs-fields dd {
	margin: 0.2rem 0 0;
	color: #191919;
	font-size: 1.0625rem;
	font-weight: 750;
	line-height: 1.35;
	font-variant-numeric: tabular-nums;
	overflow-wrap: anywhere;
}

.checkpoint-bacs-fields__item--amount {
	grid-column: 1 / -1;
	padding-bottom: 0.35rem;
	border-bottom: 1px solid #e4ddd4;
}

.checkpoint-bacs-fields__item--amount dd {
	font-size: 1.35rem;
}

.checkpoint-bacs-details h2,
.checkpoint-bacs-details h3,
body.checkpoint-order-received-page .woocommerce-bacs-bank-details h2,
body.checkpoint-order-received-page .woocommerce-bacs-bank-details h3,
body.checkpoint-order-received-page .wc-bacs-bank-details-heading,
body.checkpoint-order-received-page .wc-bacs-bank-details-account-name {
	display: none;
}

body.checkpoint-order-received-page ul.wc-bacs-bank-details,
body.checkpoint-order-received-page ul.bacs_details {
	display: none;
}

/* My Account — readable content column (nav + panel) */
body.woocommerce-account main.wp-block-group.is-layout-constrained,
body.woocommerce-account main.wp-block-group.alignfull:has(.woocommerce-MyAccount-navigation) {
	width: 100%;
	max-width: min(72rem, 100%);
	margin-inline: auto;
}

body.woocommerce-account main.wp-block-group.is-layout-constrained > .alignwide {
	width: 100% !important;
	max-width: 100% !important;
	margin-inline: 0 !important;
}

body.woocommerce-account main.wp-block-group.alignfull > .wp-block-post-content {
	width: 100%;
	max-width: min(72rem, 100%);
	margin-inline: auto;
}

/* Order received — primary return CTA */
.checkpoint-order-received-return {
	display: flex;
	justify-content: center;
	margin-top: 2.5rem;
	padding-bottom: 0.5rem;
}

.checkpoint-order-received-return__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: min(20rem, 100%);
	min-height: 3.25rem;
	padding: 0.875rem 2.5rem;
	border: none;
	border-radius: 6px;
	background: var(--wp--preset--color--accent-3, #e13207);
	color: #fff;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}

.checkpoint-order-received-return__link:hover,
.checkpoint-order-received-return__link:focus-visible {
	background: #c42b06;
	color: #fff;
	transform: scale(1.03);
}

@media (max-width: 480px) {
	.checkpoint-order-received-return__link {
		width: 100%;
		min-width: 0;
		padding-inline: 1.25rem;
	}
}

/* Order received — compact typography */
body.checkpoint-order-received-page {
	--checkpoint-order-account-text: 0.875rem;
	--checkpoint-order-account-text-sm: 0.8125rem;
	--checkpoint-order-account-heading-1: clamp(1.125rem, 2.4vw, 1.375rem);
	--checkpoint-order-account-heading-2: clamp(1rem, 2vw, 1.125rem);
	--checkpoint-order-account-heading-3: 0.9375rem;
}

body.checkpoint-order-received-page main.wp-block-group.alignfull > .wp-block-post-content {
	font-size: var(--checkpoint-order-account-text);
}

/* Block checkout — order confirmation */
body.checkpoint-order-received-page :is(
	.wc-block-order-confirmation-status,
	.wc-block-order-confirmation-status-description,
	.wc-block-order-confirmation-summary,
	.wc-block-order-confirmation-totals,
	.wc-block-order-confirmation-billing-wrapper,
	.wc-block-order-confirmation-shipping-wrapper,
	.wc-block-order-confirmation-additional-information,
	.wc-block-order-confirmation-additional-fields,
	.wc-block-order-confirmation-downloads
) {
	font-size: var(--checkpoint-order-account-text);
}

body.checkpoint-order-received-page .wc-block-order-confirmation-status {
	font-size: var(--checkpoint-order-account-heading-1);
}

body.checkpoint-order-received-page :is(
	.wc-block-order-confirmation-summary,
	.wc-block-order-confirmation-totals,
	.wc-block-order-confirmation-billing-wrapper,
	.wc-block-order-confirmation-shipping-wrapper,
	.wc-block-order-confirmation-downloads
) :is(h2, h3, .wc-block-components-title) {
	font-size: var(--checkpoint-order-account-heading-2);
}

body.checkpoint-order-received-page :is(
	.wc-block-order-confirmation-totals__table,
	.wc-block-order-confirmation-downloads__table,
	.wc-block-order-confirmation-summary .wc-block-components-order-summary-item
) {
	font-size: var(--checkpoint-order-account-text);
}

body.checkpoint-order-received-page :is(
	.wc-block-order-confirmation-totals__table th,
	.wc-block-order-confirmation-totals__table td,
	.wc-block-order-confirmation-downloads__table th,
	.wc-block-order-confirmation-downloads__table td
) {
	padding: 0.5rem 0.625rem;
	font-size: inherit;
	line-height: 1.45;
}

/* Classic checkout — thank-you / order details */
body.checkpoint-order-received-page :is(
	.woocommerce-order,
	.woocommerce-order-overview,
	.woocommerce-order-details,
	.woocommerce-customer-details,
	.woocommerce-thankyou-order-details
) {
	font-size: var(--checkpoint-order-account-text);
}

body.checkpoint-order-received-page .woocommerce-order h2,
body.checkpoint-order-received-page .woocommerce-order-details__title {
	font-size: var(--checkpoint-order-account-heading-2);
}

body.checkpoint-order-received-page :is(
	.woocommerce-table--order-details,
	.shop_table.order_details
) {
	font-size: var(--checkpoint-order-account-text);
}

body.checkpoint-order-received-page :is(
	.woocommerce-table--order-details th,
	.woocommerce-table--order-details td,
	.shop_table.order_details th,
	.shop_table.order_details td
) {
	padding: 0.5rem 0.625rem;
	font-size: inherit;
	line-height: 1.45;
}

/* My Account — readable layout (not Woo compact defaults) */
body.woocommerce-account {
	--checkpoint-account-text: 1.125rem;
	--checkpoint-account-title: 1.3125rem;
	--checkpoint-account-radius: 10px;
}

body.woocommerce-account .wp-block-post-title {
	margin: 0 0 0.25rem;
}

body.woocommerce-account .wp-block-post-content:has(.woocommerce-MyAccount-navigation) > .wp-block-post-title,
body.woocommerce-account main:has(.woocommerce-MyAccount-navigation) > .checkpoint-store-page-title {
	grid-column: 1 / -1;
	margin: 0 0 1rem;
}

body.woocommerce-account .woocommerce {
	font-size: var(--checkpoint-account-text);
	line-height: 1.55;
}

body.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
	display: grid;
	grid-template-columns: minmax(10.5rem, 12.5rem) minmax(0, 1fr);
	column-gap: 2rem;
	row-gap: 1rem;
	align-items: start;
}

body.woocommerce-account .woocommerce-notices-wrapper:empty {
	display: none;
}

body.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation {
	grid-column: 1;
	grid-row: 1 / -1;
}

body.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-notices-wrapper {
	grid-column: 2;
	grid-row: 1;
}

body.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content {
	grid-column: 2;
	grid-row: 1;
}

body.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-notices-wrapper:not(:empty) + .woocommerce-MyAccount-content {
	grid-row: 2;
}

body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: auto;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	margin: 0;
	padding: 0;
	border: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 1rem;
	border-radius: 8px;
	border-left: none;
	color: var(--wp--preset--color--contrast, #191919);
	font-size: 1.0625rem;
	font-weight: 650;
	line-height: 1.2;
	text-decoration: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:focus-visible {
	color: var(--wp--preset--color--accent-3, #e13207);
	background: var(--wp--preset--color--accent-5, #f1eee9);
	text-decoration: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	background: var(--wp--preset--color--accent-5, #f1eee9);
	color: var(--wp--preset--color--contrast, #191919);
	text-decoration: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout {
	margin-top: 0.2rem;
	padding-top: 0.2rem;
	border-top: 1px solid var(--wp--preset--color--accent-6, #d6d3d1);
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a {
	font-weight: 500;
	color: var(--wp--preset--color--accent-4, #4f4744);
}

body.woocommerce-account .woocommerce-MyAccount-content :is(h2, h3) {
	margin: 0 0 0.75rem;
	color: var(--wp--preset--color--contrast, #191919);
	font-size: var(--checkpoint-account-title);
	font-weight: 700;
	line-height: 1.25;
}

body.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-size: 1.125rem;
}

.checkpoint-order-intro {
	margin: 0 0 0.75rem;
	color: var(--wp--preset--color--accent-4, #4f4744);
}

.checkpoint-order-status {
	margin: 0 0 1.35rem;
	padding: 0;
}

.checkpoint-order-status__label {
	margin: 0;
	font-size: 1.35rem;
	font-weight: 750;
	line-height: 1.2;
	color: var(--checkpoint-order-status-ink, var(--wp--preset--color--contrast, #191919));
}

.checkpoint-order-status__description {
	margin: 0.45rem 0 0;
	max-width: 36rem;
	color: var(--wp--preset--color--accent-4, #4f4744);
	font-size: 0.98rem;
	line-height: 1.45;
}

.checkpoint-order-status--pending,
.checkpoint-order-status--on-hold,
.checkpoint-order-status--awaiting-pay {
	--checkpoint-order-status-ink: #6b4f12;
}

.checkpoint-order-status--processing {
	--checkpoint-order-status-ink: #0c5c8c;
}

.checkpoint-order-status--completed {
	--checkpoint-order-status-ink: #1f6b45;
}

.checkpoint-order-status--cancelled,
.checkpoint-order-status--refunded {
	--checkpoint-order-status-ink: #5c5652;
}

.checkpoint-order-status--failed {
	--checkpoint-order-status-ink: #a12f1f;
}

body.woocommerce-account mark.order-status {
	display: inline-block;
	padding: 0.2rem 0.55rem;
	border-radius: 6px;
	font-size: 0.92em;
	font-weight: 700;
	line-height: 1.25;
	background: var(--wp--preset--color--accent-5, #f1eee9);
	color: var(--wp--preset--color--contrast, #191919);
}

body.woocommerce-account mark.order-status.status-pending,
body.woocommerce-account mark.order-status.status-on-hold,
body.woocommerce-account mark.order-status.status-awaiting-pay {
	background: #f3e8c4;
	color: #6b4f12;
}

body.woocommerce-account mark.order-status.status-processing {
	background: #dbeaf5;
	color: #0c5c8c;
}

body.woocommerce-account mark.order-status.status-completed {
	background: #e2f2e8;
	color: #1f6b45;
}

body.woocommerce-account mark.order-status.status-cancelled,
body.woocommerce-account mark.order-status.status-refunded {
	background: #eceae6;
	color: #5c5652;
}

body.woocommerce-account mark.order-status.status-failed {
	background: #fde8e4;
	color: #a12f1f;
}

body.woocommerce-account .woocommerce-MyAccount-content > p {
	margin: 0 0 1rem;
	max-width: 40em;
}

body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button) {
	color: var(--wp--preset--color--accent-3, #e13207);
}

.checkpoint-account-dashboard__hello {
	margin: 0 0 0.45rem;
	font-size: 1.625rem;
	font-weight: 650;
	line-height: 1.25;
}

.checkpoint-account-dashboard__lede {
	margin: 0 0 1.35rem;
	max-width: 38em;
	color: var(--wp--preset--color--accent-4, #4f4744);
	font-size: 1.125rem;
}

.checkpoint-account-dashboard__actions {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.checkpoint-account-dashboard__actions a {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	padding: 1.05rem 1.2rem;
	border-radius: var(--checkpoint-account-radius);
	background: var(--wp--preset--color--accent-5, #f1eee9);
	color: inherit;
	text-decoration: none;
}

.checkpoint-account-dashboard__actions a:hover,
.checkpoint-account-dashboard__actions a:focus-visible {
	box-shadow: inset 0 0 0 1.5px var(--wp--preset--color--accent-3, #e13207);
	color: inherit;
}

.checkpoint-account-dashboard__actions-title {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--wp--preset--color--contrast, #191919);
}

.checkpoint-account-dashboard__actions-text {
	color: var(--wp--preset--color--accent-4, #4f4744);
	font-size: 1.0625rem;
	font-weight: 500;
}

body.woocommerce-account :is(
	.woocommerce-info,
	.woocommerce-message,
	.woocommerce-error,
	.wc-block-components-notice-banner
) {
	margin: 0 0 1.15rem;
	padding: 1rem 1.15rem;
	border: none;
	border-radius: var(--checkpoint-account-radius);
	background: var(--wp--preset--color--accent-5, #f1eee9);
	color: var(--wp--preset--color--contrast, #191919);
	font-size: var(--checkpoint-account-text);
	line-height: 1.5;
	box-shadow: none;
}

body.woocommerce-account :is(
	.woocommerce-info,
	.woocommerce-message,
	.woocommerce-error
)::before {
	display: none;
}

body.woocommerce-account .woocommerce-error {
	background: #fde8e4;
}

body.woocommerce-account .woocommerce-message {
	background: #e7f6ef;
}

body.woocommerce-account :is(
	.woocommerce-info,
	.woocommerce-message,
	.woocommerce-error
) a.button,
body.woocommerce-account :is(
	.woocommerce-info,
	.woocommerce-message,
	.woocommerce-error
) .woocommerce-Button,
body.woocommerce-account .wc-block-components-notice-banner .button,
body.woocommerce-account .wc-block-components-notice-banner .woocommerce-Button {
	display: inline-flex;
	margin: 0.65rem 0 0;
	float: none;
}

body.woocommerce-account .wc-block-components-notice-banner {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
}

body.woocommerce-account .wc-block-components-notice-banner svg {
	flex-shrink: 0;
	margin-top: 0.15rem;
	color: var(--wp--preset--color--accent-4, #4f4744);
	fill: currentColor;
}

body.woocommerce-account .wc-block-components-notice-banner__content {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.25rem;
}

body.woocommerce-account .wc-block-components-notice-banner__content .button,
body.woocommerce-account .wc-block-components-notice-banner__content .woocommerce-Button {
	order: 2;
}

body.woocommerce-account.checkpoint-account-guest main.wp-block-group.is-layout-constrained,
body.woocommerce-account.checkpoint-account-guest main.wp-block-group.alignfull > .wp-block-post-content {
	max-width: min(26.5rem, 100%);
	margin-inline: auto;
}

body.woocommerce-account.checkpoint-account-guest .checkpoint-store-page-title {
	margin: 0 auto 0.35rem;
	max-width: 26.5rem;
	text-align: center;
	font-size: clamp(1.5rem, 3.2vw, 1.85rem) !important;
	line-height: 1.15;
}

body.woocommerce-account.checkpoint-account-guest .woocommerce,
body.woocommerce-account.checkpoint-account-guest .woocommerce-notices-wrapper {
	max-width: 26.5rem;
	margin-inline: auto;
}

.checkpoint-auth {
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 26.5rem;
	margin-inline: auto;
	gap: 1rem;
}

.checkpoint-auth__lede {
	margin: 0;
	text-align: center;
	color: var(--wp--preset--color--accent-4, #4f4744);
	font-size: 1rem;
	line-height: 1.45;
}

.checkpoint-auth__card {
	padding: 1.1rem 1.25rem 1.1rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast, #191919) 10%, transparent);
	border-radius: 14px;
	background: var(--wp--preset--color--base, #fff);
	box-shadow: 0 12px 32px rgba(25, 25, 25, 0.06);
}

.checkpoint-auth__card :is(
	form.woocommerce-form,
	form.login,
	form.register,
	form.woocommerce-ResetPassword
) {
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.checkpoint-auth__card :is(
	form.woocommerce-form,
	form.login,
	form.register,
	form.woocommerce-ResetPassword
) > .form-row:last-child,
.checkpoint-auth__card .checkpoint-auth__submit {
	margin-bottom: 0;
}

.checkpoint-auth__switch {
	position: relative;
	display: flex;
	align-items: stretch;
	gap: 0.2rem;
	margin: 0 0 0.85rem;
	padding: 0.2rem;
	border-radius: 10px;
	background: var(--wp--preset--color--accent-5, #f1eee9);
	line-height: 0;
}

.checkpoint-auth__radio {
	position: absolute;
	width: 0;
	height: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
	appearance: none;
	pointer-events: none;
}

.checkpoint-auth__switch label {
	display: flex;
	flex: 1 1 0;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0.5rem 0.75rem;
	border-radius: 8px;
	color: var(--wp--preset--color--accent-4, #4f4744);
	font-size: 0.98rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
}

.checkpoint-auth:has(#checkpoint-auth-panel-login:checked) label[for="checkpoint-auth-panel-login"],
.checkpoint-auth:has(#checkpoint-auth-panel-register:checked) label[for="checkpoint-auth-panel-register"] {
	background: var(--wp--preset--color--base, #fff);
	color: var(--wp--preset--color--contrast, #191919);
	box-shadow: 0 1px 3px rgba(25, 25, 25, 0.1);
}

.checkpoint-auth__radio:focus-visible + label {
	box-shadow: 0 0 0 2px rgba(225, 50, 7, 0.35);
}

.checkpoint-auth:has(#checkpoint-auth-panel-login:checked) .u-column2,
.checkpoint-auth:has(#checkpoint-auth-panel-register:checked) .u-column1 {
	display: none;
}

.checkpoint-auth__heading {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

body.woocommerce-account #customer_login :is(.u-column1, .u-column2, .col-1, .col-2),
body.woocommerce-account .woocommerce .col2-set .col-1,
body.woocommerce-account .woocommerce .col2-set .col-2,
body.woocommerce-account .woocommerce .u-columns .u-column1,
body.woocommerce-account .woocommerce .u-columns .u-column2 {
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
}

body.woocommerce-account .woocommerce-form-row {
	margin: 0 0 1rem;
}

body.woocommerce-account .woocommerce-form-row label,
body.woocommerce-account .woocommerce-address-fields label,
body.woocommerce-account .woocommerce-EditAccountForm label {
	display: block;
	margin: 0 0 0.35rem;
	font-size: 0.9375rem;
	font-weight: 650;
}

body.woocommerce-account :is(
	.woocommerce-form-row input.input-text,
	.woocommerce-form-row select,
	.woocommerce-address-fields input.input-text,
	.woocommerce-address-fields select,
	.woocommerce-EditAccountForm input.input-text,
	.woocommerce-ResetPassword input.input-text
) {
	font-size: 1rem;
	min-height: 3rem;
	border-color: color-mix(in srgb, var(--wp--preset--color--contrast, #191919) 16%, transparent);
}

.checkpoint-auth .password-input {
	display: block;
}

body.woocommerce-account .show-password-input {
	min-height: 0;
	min-width: 0;
	width: auto;
	padding: 0;
	background: transparent !important;
	color: inherit;
	box-shadow: none;
	font-size: 1rem;
	font-weight: 500;
}

body.woocommerce-account .show-password-input:hover,
body.woocommerce-account .show-password-input:focus-visible {
	background: transparent !important;
	color: var(--wp--preset--color--accent-3, #e13207);
}

.checkpoint-auth__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 1rem;
	margin: 0 0 1.1rem;
}

body.woocommerce-account .woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 500;
}

body.woocommerce-account .LostPassword,
body.woocommerce-account .woocommerce-LostPassword {
	margin: 0;
	font-size: 0.9375rem;
}

body.woocommerce-account .woocommerce-LostPassword a {
	text-decoration: none;
}

body.woocommerce-account .woocommerce-LostPassword a:hover,
body.woocommerce-account .woocommerce-LostPassword a:focus-visible {
	text-decoration: underline;
}

.checkpoint-auth__submit {
	margin: 0;
}

.checkpoint-auth__submit .button,
.checkpoint-auth__submit button[type="submit"] {
	width: 100%;
}

.checkpoint-auth__hint,
.checkpoint-auth .woocommerce-privacy-policy-text,
body.woocommerce-account .woocommerce-form-register p:not(.form-row) {
	margin: 0 0 1rem;
	color: var(--wp--preset--color--accent-4, #4f4744);
	font-size: 0.9375rem;
	line-height: 1.5;
}

.checkpoint-auth__back {
	margin: 1rem 0 0;
	text-align: center;
	font-size: 0.9375rem;
}

.checkpoint-auth__back a {
	text-decoration: none;
}

.checkpoint-auth__back a:hover,
.checkpoint-auth__back a:focus-visible {
	text-decoration: underline;
}

body.woocommerce-account :is(
	.woocommerce-MyAccount-content .button,
	.woocommerce-form .button,
	.woocommerce-form button[type="submit"],
	.woocommerce-Button
) {
	font-size: 1.0625rem;
	font-weight: 700;
	min-height: 3rem;
	padding: 0.7rem 1.35rem;
}

body.woocommerce-account .woocommerce .woocommerce-Addresses.col2-set {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.15rem;
	margin-top: 1.15rem;
	width: 100%;
}

/* Woo clearfix pseudos become extra grid items and shove the cards onto a diagonal. */
body.woocommerce-account .col2-set::before,
body.woocommerce-account .col2-set::after,
body.woocommerce-account .u-columns::before,
body.woocommerce-account .u-columns::after {
	content: none;
	display: none;
}

body.woocommerce-account .woocommerce .woocommerce-Addresses.col2-set .woocommerce-Address {
	float: none;
	width: auto;
	max-width: none;
	min-width: 0;
	margin: 0;
	padding: 1.35rem 1.4rem 1.3rem;
	border-radius: var(--checkpoint-account-radius);
	background: var(--wp--preset--color--accent-5, #f1eee9);
}

body.woocommerce-account .woocommerce-Address-title {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.2rem;
	margin: 0 0 0.65rem;
	padding: 0;
}

body.woocommerce-account .woocommerce-Address-title h2 {
	margin: 0;
	padding: 0;
	width: 100%;
	font-size: 1.25rem;
	line-height: 1.25;
}

body.woocommerce-account .woocommerce-Address-title a {
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
}

body.woocommerce-account .woocommerce-Address-title a:hover {
	text-decoration: underline;
}

body.woocommerce-account .woocommerce-Address address {
	margin: 0;
	font-style: normal;
	font-size: var(--checkpoint-account-text);
	line-height: 1.55;
}

body.woocommerce-account .woocommerce-EditAccountForm fieldset {
	margin: 1.75rem 0 0;
	padding: 1.35rem 0 0;
	border: none;
	border-top: 1px solid var(--wp--preset--color--accent-6, #d6d3d1);
	grid-column: 1 / -1;
}

body.woocommerce-account .woocommerce-EditAccountForm {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: 1.15rem;
}

body.woocommerce-account .woocommerce-EditAccountForm > .form-row-wide,
body.woocommerce-account .woocommerce-EditAccountForm > .form-row:not(.form-row-first):not(.form-row-last),
body.woocommerce-account .woocommerce-EditAccountForm > p:has(button[type="submit"]) {
	grid-column: 1 / -1;
}

body.woocommerce-account .woocommerce form .form-row-first,
body.woocommerce-account .woocommerce form .form-row-last {
	float: none;
	width: auto;
}

body.woocommerce-account .woocommerce-EditAccountForm legend {
	padding: 0;
	font-size: 1.125rem;
	font-weight: 700;
}

body.woocommerce-account :is(
	.woocommerce-orders-table,
	.woocommerce-table--order-details,
	.shop_table
) {
	width: 100%;
	font-size: 1rem;
}

body.woocommerce-account :is(
	.woocommerce-orders-table th,
	.woocommerce-orders-table td,
	.woocommerce-table--order-details th,
	.woocommerce-table--order-details td,
	.shop_table th,
	.shop_table td
) {
	padding: 0.85rem 0.75rem;
	font-size: inherit;
	line-height: 1.45;
	vertical-align: middle;
}

body.woocommerce-account :is(
	.woocommerce-table--order-details .product-total,
	.woocommerce-table--order-details tfoot th,
	.woocommerce-table--order-details tfoot td,
	.shop_table.order_details .product-total,
	.shop_table.order_details tfoot th,
	.shop_table.order_details tfoot td
) {
	text-align: right;
}

body.woocommerce-account .woocommerce-orders-table :is(
	.woocommerce-orders-table__header-order-total,
	.woocommerce-orders-table__cell-order-total
) {
	text-align: left;
}

body.woocommerce-account .woocommerce-orders-table .checkpoint-order-action-link {
	font-size: inherit;
	font-weight: 650;
	line-height: 1.35;
	text-decoration: none;
}

body.woocommerce-account .woocommerce-orders-table .checkpoint-order-action-link:hover,
body.woocommerce-account .woocommerce-orders-table .checkpoint-order-action-link:focus-visible {
	text-decoration: underline;
}

body.woocommerce-account :is(
	.woocommerce-table--order-details tfoot th,
	.shop_table.order_details tfoot th
) {
	text-align: right;
}

body.checkpoint-order-received-page :is(
	.woocommerce-table--order-details .product-total,
	.woocommerce-table--order-details tfoot th,
	.woocommerce-table--order-details tfoot td,
	.shop_table.order_details .product-total,
	.shop_table.order_details tfoot th,
	.shop_table.order_details tfoot td
) {
	text-align: right;
}

body.woocommerce-account .woocommerce-customer-details address {
	font-style: normal;
	font-size: var(--checkpoint-account-text);
	line-height: 1.55;
}

body.woocommerce-account .woocommerce-customer-details .woocommerce-column,
body.checkpoint-order-received-page .woocommerce-customer-details .woocommerce-column {
	margin: 0 0 2.25rem;
}

body.woocommerce-account .woocommerce-customer-details .woocommerce-column:last-child,
body.checkpoint-order-received-page .woocommerce-customer-details .woocommerce-column:last-child {
	margin-bottom: 0;
}

body.woocommerce-account .woocommerce-customer-details .woocommerce-column > h2,
body.checkpoint-order-received-page .woocommerce-customer-details .woocommerce-column > h2 {
	margin: 0 0 0.5rem;
}

body.woocommerce-account .woocommerce-customer-details .woocommerce-column address,
body.checkpoint-order-received-page .woocommerce-customer-details .woocommerce-column address {
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
}

body.woocommerce-account .woocommerce-ResetPassword {
	max-width: none;
}

@media (max-width: 781px) {
	body.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
		grid-template-columns: 1fr;
		row-gap: 0.85rem;
	}

	body.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation,
	body.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-notices-wrapper,
	body.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content,
	body.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-notices-wrapper:not(:empty) + .woocommerce-MyAccount-content {
		grid-column: 1;
		grid-row: auto;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation ul {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 0.25rem;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
		padding: 1rem;
		border-left: none;
		background: var(--wp--preset--color--accent-5, #f1eee9);
		font-size: 0.98rem;
		text-decoration: none;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
		background: var(--wp--preset--color--accent-3, #e13207);
		color: #fff;
		text-decoration: none;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout {
		margin-top: 0;
		padding-top: 0;
		border-top: none;
	}

	body.woocommerce-account .woocommerce-Addresses {
		grid-template-columns: 1fr;
	}

	.checkpoint-account-dashboard__hello {
		font-size: 1.3rem;
	}
}

/* Storefront decoration — desktop only, non-interactive, hidden when printing */
.checkpoint-storefront-deco {
	display: none;
}

/* Keep site chrome and content above the fixed watermark (z-index: -1). */
.wp-site-blocks {
	position: relative;
	z-index: 0;
}

@media (min-width: 768px) {
	.checkpoint-storefront-deco {
		display: block;
		position: fixed;
		right: 0;
		bottom: 0;
		width: auto;
		height: 80vh;
		opacity: 1;
		pointer-events: none;
		user-select: none;
		z-index: -1;
	}
}

@media print {
	.checkpoint-storefront-deco {
		display: none !important;
	}
}

/* GDPR legal pages + cookie consent */
.checkpoint-legal-nav {
	font-size: 0.9rem;
	margin: 0 0 1.5rem;
	padding-bottom: 0.85rem;
	border-bottom: 1px solid var(--wp--preset--color--accent-6, #d6d3d1);
}

body.checkpoint-legal-page .entry-content,
body.checkpoint-legal-page .wp-block-post-content,
body.checkpoint-legal-page .checkpoint-legal-body,
body.checkpoint-legal-page main p {
	font-size: 1rem;
	line-height: 1.6;
}

body.checkpoint-legal-page .wp-block-post-content h2 {
	margin-top: 2rem;
}

body.checkpoint-legal-page .checkpoint-legal-form {
	font-size: 0.95rem;
	line-height: 1.7;
	padding: 1rem 1.1rem;
	background: var(--wp--preset--color--accent-5, #f1eee9);
	border-radius: 6px;
}

.checkpoint-legal-footer {
	background: var(--wp--preset--color--accent-5, #f1eee9);
	border-top: 1px solid rgba(25, 25, 25, 0.08);
	padding: 0.75rem 1.25rem 1.25rem;
}

.checkpoint-legal-footer__inner {
	max-width: var(--wp--style--global--wide-size, 1340px);
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.15rem;
	align-items: center;
	justify-content: center;
	font-size: 0.8rem;
	line-height: 1.4;
}

.checkpoint-legal-footer a,
.checkpoint-cookie-settings-btn {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

footer.wp-block-template-part .wp-block-navigation-item .checkpoint-cookie-settings-btn {
	display: inline;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	color: inherit;
	text-align: inherit;
	text-decoration: none;
	cursor: pointer;
}

.checkpoint-legal-footer__sep {
	margin: 0 0.35rem;
	opacity: 0.5;
}

.checkpoint-cookie-settings-btn {
	display: inline;
	min-height: 0;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	cursor: pointer;
}

.checkpoint-cookie-banner {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10000;
	padding: 0.85rem 1rem calc(0.85rem + env(safe-area-inset-bottom, 0px));
	background: #fff;
	color: var(--wp--preset--color--contrast, #191919);
	box-shadow: 0 -8px 28px rgba(25, 25, 25, 0.14);
	border-top: 1px solid rgba(25, 25, 25, 0.08);
}

.checkpoint-cookie-banner[hidden] {
	display: none !important;
}

.checkpoint-cookie-banner__inner {
	max-width: var(--wp--style--global--wide-size, 1340px);
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.25rem;
	align-items: flex-end;
	justify-content: space-between;
}

.checkpoint-cookie-banner__copy {
	flex: 1 1 18rem;
	min-width: 0;
}

.checkpoint-cookie-banner__title {
	margin: 0 0 0.3rem;
	font-size: 1rem;
	font-weight: 700;
}

.checkpoint-cookie-banner__text {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.45;
}

.checkpoint-cookie-banner__customize {
	display: grid;
	gap: 0.4rem;
	margin-top: 0.75rem;
}

.checkpoint-cookie-banner__customize[hidden] {
	display: none !important;
}

.checkpoint-cookie-banner__check {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-size: 0.85rem;
	line-height: 1.4;
}

.checkpoint-cookie-banner__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	justify-content: flex-end;
}

.checkpoint-cookie-banner__btn {
	min-height: var(--checkpoint-form-control-height, 2.75rem);
	padding: 0.45rem 0.9rem;
	border-radius: var(--checkpoint-form-control-radius, 6px);
	border: 1px solid var(--wp--preset--color--contrast, #191919);
	background: #fff;
	color: var(--wp--preset--color--contrast, #191919);
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
}

.checkpoint-cookie-banner__btn--primary {
	background: var(--checkpoint-form-button-bg, #e13207);
	border-color: var(--checkpoint-form-button-bg, #e13207);
	color: #fff;
}

.checkpoint-cookie-banner__btn--primary:hover {
	background: var(--checkpoint-form-button-bg-hover, #c42b06);
	border-color: var(--checkpoint-form-button-bg-hover, #c42b06);
}

.checkpoint-cookie-banner__btn--ghost {
	background: transparent;
}

.checkpoint-cookie-banner__btn[hidden] {
	display: none !important;
}

body.checkpoint-cookie-banner-open {
	padding-bottom: 8.5rem;
}

@media (max-width: 700px) {
	.checkpoint-cookie-banner__actions {
		width: 100%;
	}

	.checkpoint-cookie-banner__btn {
		flex: 1 1 calc(50% - 0.5rem);
	}

	.checkpoint-cookie-banner__btn--primary {
		flex: 1 1 100%;
	}
}

@media print {
	.checkpoint-cookie-banner,
	.checkpoint-legal-footer {
		display: none !important;
	}

	body.checkpoint-cookie-banner-open {
		padding-bottom: 0;
	}
}

/* GPSR + product legal: quieter column row after related products */
.checkpoint-product-meta {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(13.5rem, 1fr));
	gap: 0.75rem 1.5rem;
	width: 100%;
	margin: 1.35rem 0 0;
	padding-top: 0.85rem;
	border-top: 1px solid rgba(25, 25, 25, 0.08);
	color: #9a9289;
	font-size: 0.78rem;
	font-weight: 400;
	line-height: 1.4;
}

.checkpoint-product-meta__title {
	margin: 0 0 0.25rem;
	color: #8a8279;
	font-size: 0.78rem;
	font-weight: 500;
	line-height: 1.25;
	text-transform: none;
}

.checkpoint-product-meta .checkpoint-product-legal,
.checkpoint-product-meta .checkpoint-gpsr {
	margin: 0;
	padding: 0;
	border: 0;
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

.checkpoint-product-meta p {
	margin: 0;
}

.checkpoint-product-meta strong {
	font-weight: 500;
}

.checkpoint-product-legal__list {
	margin: 0;
	padding-left: 1rem;
}

.checkpoint-product-legal__list li + li {
	margin-top: 0.15rem;
}

.checkpoint-product-legal__section p + p,
.checkpoint-product-legal__section ul {
	margin-top: 0.3rem;
}

.checkpoint-product-meta a {
	color: var(--wp--preset--color--accent-3, #e13207);
	font-weight: 400;
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.checkpoint-gpsr__id {
	margin-top: 0.35rem;
}

.checkpoint-product-rrp-note {
	margin: 0.15rem 0 0;
	color: var(--wp--preset--color--accent-4, #4f4744);
	font-size: 0.8125rem;
	line-height: 1.3;
}

.checkpoint-single-product__buy-stack > .checkpoint-product-rrp-note,
.checkpoint-single-product__pricing .checkpoint-product-rrp-note {
	margin: 0;
	line-height: 1.25;
}

.checkpoint-product-rrp-note .woocommerce-Price-amount {
	font-weight: 600;
}

/* Electronic withdrawal form */
.checkpoint-withdraw {
	margin-top: 2rem;
	padding: 1.25rem 1.15rem;
	border: 1px solid var(--wp--preset--color--accent-6, #d6d3d1);
	border-radius: 6px;
	background: var(--wp--preset--color--accent-5, #f1eee9);
}

.checkpoint-withdraw__hp {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.checkpoint-withdraw__form p,
.checkpoint-withdraw__confirm p {
	margin: 0 0 0.75rem;
}

.checkpoint-withdraw label {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	font-size: 0.9rem;
	font-weight: 600;
}

.checkpoint-withdraw input,
.checkpoint-withdraw textarea {
	width: 100%;
	min-height: var(--checkpoint-form-control-height, 2.75rem);
	padding: 0.55rem var(--checkpoint-form-control-padding-x, 0.75rem);
	border: var(--checkpoint-form-control-border);
	border-radius: var(--checkpoint-form-control-radius, 6px);
	background: var(--checkpoint-form-control-bg, #fff);
	font-size: var(--checkpoint-form-control-font-size, 0.875rem);
	font-weight: 400;
}

.checkpoint-withdraw textarea {
	min-height: 4.5rem;
}

.checkpoint-withdraw__hint {
	font-size: 0.85rem;
	font-weight: 400;
	line-height: 1.45;
	color: var(--wp--preset--color--accent-4, #4f4744);
}

.checkpoint-withdraw__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-top: 0.5rem;
}

.checkpoint-withdraw button {
	min-height: var(--checkpoint-form-control-height, 2.75rem);
	padding: 0.45rem 1rem;
	border-radius: var(--checkpoint-form-control-radius, 6px);
	border: 1px solid var(--wp--preset--color--contrast, #191919);
	background: #fff;
	color: var(--wp--preset--color--contrast, #191919);
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
}

.checkpoint-withdraw__submit,
.checkpoint-withdraw__review {
	background: var(--checkpoint-form-button-bg, #e13207);
	border-color: var(--checkpoint-form-button-bg, #e13207);
	color: #fff;
}

.checkpoint-withdraw__summary {
	display: grid;
	grid-template-columns: minmax(8rem, 11rem) minmax(0, 1fr);
	gap: 0.35rem 1rem;
	margin: 0 0 1rem;
	font-size: 0.9rem;
}

.checkpoint-withdraw__summary dt {
	margin: 0;
	font-weight: 600;
}

.checkpoint-withdraw__summary dd {
	margin: 0;
}

.checkpoint-withdraw__feedback:not([hidden]),
.checkpoint-withdraw__done:not([hidden]) {
	display: block;
	margin-top: 0.5rem;
	font-size: 0.9rem;
	line-height: 1.45;
}

.checkpoint-withdraw__done {
	font-weight: 600;
}

/* Contact page — Formidable form */
.checkpoint-contact-main {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.checkpoint-contact-shell {
	width: 100%;
	max-width: 36rem;
	margin-inline: auto;
}

.checkpoint-contact-shell > .checkpoint-store-page-title {
	margin-block: 0 0.85rem;
	text-align: center;
}

.checkpoint-contact-body {
	width: 100%;
}

.checkpoint-contact-body > p:first-child {
	margin: 0 0 0.65rem;
	color: var(--wp--preset--color--accent-4, #4f4744);
	font-size: 1.05rem;
	line-height: 1.5;
	text-align: center;
}

.checkpoint-contact-direct {
	margin: 0 0 1.35rem;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.45;
	text-align: center;
}

.checkpoint-contact-direct a {
	color: var(--wp--preset--color--contrast, #191919);
	text-decoration: underline;
	text-underline-offset: 0.14em;
}

.checkpoint-contact-direct a:hover,
.checkpoint-contact-direct a:focus-visible {
	color: var(--wp--preset--color--accent-3, #e13207);
}

.checkpoint-contact-page .frm_forms .frm_form_fields > fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

.checkpoint-contact-page .frm_form_field {
	margin: 0 0 1rem;
}

.checkpoint-contact-page .frm_primary_label {
	display: block;
	margin: 0 0 0.35rem;
	font-size: 0.9rem;
	font-weight: 600;
}

.checkpoint-contact-page .frm_description,
.checkpoint-contact-page .frm_error,
.checkpoint-contact-page .frm_error_style {
	margin: 0.35rem 0 0;
	font-size: 0.85rem;
	line-height: 1.4;
}

.checkpoint-contact-page .frm_error,
.checkpoint-contact-page .frm_error_style {
	color: var(--wp--preset--color--accent-3, #e13207);
}

.checkpoint-contact-page .frm_message,
.checkpoint-contact-page .frm_success_style {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 10rem;
	margin: 1.75rem 0 0;
	padding: 2.5rem 1.25rem 3.25rem;
	border-radius: var(--checkpoint-form-control-radius, 6px);
	background: rgba(0, 191, 165, 0.12);
	color: var(--wp--preset--color--contrast, #191919);
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
}

.checkpoint-contact-page .frm_forms:not(:has(form)) {
	min-height: 16rem;
	padding-block: 2rem 3.5rem;
}

.checkpoint-contact-page .frm_submit {
	margin: 0.25rem 0 0;
}

.checkpoint-contact-page .frm_submit button,
.checkpoint-contact-page .frm_submit input[type="submit"],
.checkpoint-contact-page .frm_button_submit {
	min-width: 12rem;
	background: var(--checkpoint-form-button-bg, #e13207) !important;
	border-color: transparent !important;
	color: var(--checkpoint-form-button-color, #fff) !important;
}

.checkpoint-contact-page .frm_submit button:hover,
.checkpoint-contact-page .frm_submit input[type="submit"]:hover,
.checkpoint-contact-page .frm_button_submit:hover {
	background: var(--checkpoint-form-button-bg-hover, #c42b06) !important;
	color: var(--checkpoint-form-button-color, #fff) !important;
}

/* Product question foldout — outlined orange button under description */
.checkpoint-product-ask {
	margin-top: 1.35rem;
	max-width: 36rem;
}

.checkpoint-product-ask__cta {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	max-width: 100%;
	padding: 0.5rem 1rem;
	border: 1.5px solid var(--checkpoint-form-button-bg, #e13207);
	border-radius: var(--checkpoint-form-control-radius, 6px);
	background: var(--wp--preset--color--base, #fff);
	color: var(--checkpoint-form-button-bg, #e13207);
	cursor: pointer;
	list-style: none;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.45;
	text-align: left;
	text-decoration: none;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.checkpoint-product-ask__icon {
	flex-shrink: 0;
	width: 1.15em;
	height: 1.15em;
}

.checkpoint-product-ask__cta::-webkit-details-marker {
	display: none;
}

.checkpoint-product-ask__cta::marker {
	content: none;
	font-size: 0;
}

.checkpoint-product-ask__cta:hover,
.checkpoint-product-ask__cta:focus-visible {
	background: color-mix(in srgb, var(--checkpoint-form-button-bg, #e13207) 8%, #fff);
	border-color: var(--checkpoint-form-button-bg-hover, #c42b06);
	color: var(--checkpoint-form-button-bg-hover, #c42b06);
}

.checkpoint-product-ask[open] .checkpoint-product-ask__cta {
	border-color: var(--checkpoint-form-button-bg, #e13207);
	color: var(--checkpoint-form-button-bg, #e13207);
}

.checkpoint-product-ask__panel {
	margin-top: 1rem;
}

.checkpoint-product-ask .frm_forms .frm_form_fields > fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

.checkpoint-product-ask .frm_form_field {
	margin: 0 0 0.9rem;
}

.checkpoint-product-ask .frm_primary_label {
	display: block;
	margin: 0 0 0.3rem;
	font-size: 0.9rem;
	font-weight: 600;
}

.checkpoint-product-ask .frm_error,
.checkpoint-product-ask .frm_error_style {
	margin: 0.3rem 0 0;
	color: var(--wp--preset--color--accent-3, #e13207);
	font-size: 0.85rem;
}

.checkpoint-product-ask .frm_message,
.checkpoint-product-ask .frm_success_style {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 7.5rem;
	margin: 0.5rem 0 0;
	padding: 1.75rem 1rem 2.25rem;
	border-radius: var(--checkpoint-form-control-radius, 6px);
	background: rgba(0, 191, 165, 0.12);
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
}

.checkpoint-product-ask .frm_submit button,
.checkpoint-product-ask .frm_button_submit {
	background: var(--checkpoint-form-button-bg, #e13207) !important;
	border-color: transparent !important;
	color: var(--checkpoint-form-button-color, #fff) !important;
}

.checkpoint-product-ask .frm_submit button:hover,
.checkpoint-product-ask .frm_button_submit:hover {
	background: var(--checkpoint-form-button-bg-hover, #c42b06) !important;
}

/* Block checkout: Speedy / Econt choice sits in the shipping step. */
body.woocommerce-checkout .checkpoint-sesh {
	margin: 0 0 1rem;
	padding: 0;
	border: 0;
}

body.woocommerce-checkout .checkpoint-sesh__legend {
	margin: 0 0 0.55rem;
	padding: 0;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
}

body.woocommerce-checkout .checkpoint-sesh__option {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 0.45rem;
	padding: 0.65rem 0.75rem;
	border: 1px solid #e4ddd4;
	border-radius: 8px;
	background: #fff;
	font-weight: 500;
	line-height: 1.35;
	cursor: pointer;
}

body.woocommerce-checkout .checkpoint-sesh__option:has(input:checked) {
	border-color: var(--wp--preset--color--accent-3, #e13207);
}

body.woocommerce-checkout .checkpoint-sesh__option input {
	margin: 0;
	accent-color: var(--wp--preset--color--accent-3, #e13207);
}

body.woocommerce-checkout .checkpoint-sesh__field {
	display: block;
	margin: 0.7rem 0 0;
	font-size: 0.9rem;
	font-weight: 600;
}

body.woocommerce-checkout .checkpoint-sesh__field select {
	display: block;
	width: 100%;
	margin-top: 0.35rem;
	font-weight: 500;
}

body.woocommerce-checkout .checkpoint-sesh__note {
	margin: 0.45rem 0 0;
	color: #6f6763;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.4;
}

body.woocommerce-checkout.checkpoint-sesh-ready .wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-shipping-rates-control,
body.woocommerce-checkout.checkpoint-sesh-ready .wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-shipping-rates-control__no-results {
	display: none;
}

/* Checkout: legally required order-with-obligation wording may wrap */
.wc-block-components-checkout-place-order-button,
.wc-block-checkout__actions_row .wc-block-components-button,
#place_order {
	white-space: normal;
	line-height: 1.25;
	text-align: center;
}

/* Classic checkout — delivery address, then shipping and payment; summary on the right. */
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(16.5rem, 0.8fr);
	column-gap: 1.75rem;
	row-gap: 1.25rem;
	align-items: start;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #customer_details {
	grid-column: 1;
	grid-row: 1;
	display: flex;
	flex-direction: column;
	float: none;
	width: 100%;
	margin: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #customer_details::before,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #customer_details::after,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .col2-set::before,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .col2-set::after {
	content: none;
	display: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .col2-set .col-1,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .col2-set .col-2 {
	float: none;
	width: 100%;
	max-width: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .col-2 {
	order: 1;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .col-1 {
	order: 2;
	margin-top: 0.35rem;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .woocommerce-additional-fields {
	order: 3;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .checkpoint-checkout-fulfillment {
	grid-column: 1;
	grid-row: 2;
	display: flex;
	flex-direction: column;
	gap: 1.15rem;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #order_review_heading {
	display: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #order_review {
	grid-column: 2;
	grid-row: 1 / span 2;
	position: sticky;
	top: 1rem;
	align-self: start;
	margin: 0;
	padding: 1rem 1.1rem 0.85rem;
	border: 1px solid #e4ddd4;
	border-radius: 12px;
	background: #f7f4f0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .checkpoint-checkout-address-title,
body.woocommerce-checkout:not(.woocommerce-order-received) .checkpoint-checkout-section-title,
body.woocommerce-checkout:not(.woocommerce-order-received) .checkpoint-checkout-summary__title,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields > h3 {
	margin: 0 0 0.7rem;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--wp--preset--color--contrast, #191919);
}

body.woocommerce-checkout:not(.woocommerce-order-received) #ship-to-different-address {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .checkpoint-billing-same {
	margin: 0 0 0.65rem;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .checkpoint-billing-same label {
	display: inline-flex;
	align-items: flex-start;
	gap: 0.45rem;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.35;
	cursor: pointer;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details.checkpoint-billing-is-same .woocommerce-billing-fields > h3,
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details.checkpoint-billing-is-same #billing_first_name_field,
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details.checkpoint-billing-is-same #billing_last_name_field,
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details.checkpoint-billing-is-same #billing_country_field,
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details.checkpoint-billing-is-same #billing_address_1_field,
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details.checkpoint-billing-is-same #billing_address_2_field,
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details.checkpoint-billing-is-same #billing_city_field,
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details.checkpoint-billing-is-same #billing_state_field,
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details.checkpoint-billing-is-same #billing_postcode_field,
body.woocommerce-checkout:not(.woocommerce-order-received) #shipping_phone_field {
	display: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .woocommerce-shipping-fields__field-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem 0.7rem;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .woocommerce-shipping-fields__field-wrapper > .form-row {
	float: none;
	width: 100%;
	margin: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .woocommerce-shipping-fields__field-wrapper > .form-row-first,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .woocommerce-shipping-fields__field-wrapper > .form-row-last {
	width: calc(50% - 0.35rem);
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #billing_email_field {
	order: -20;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #billing_phone_field {
	order: -10;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .woocommerce-billing-fields__field-wrapper::after,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .woocommerce-shipping-fields__field-wrapper::after {
	content: "";
	display: block;
	clear: both;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .form-row {
	margin: 0 0 0.55rem;
	padding: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .form-row label {
	margin: 0 0 0.2rem;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.3;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .form-row-first,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .form-row-last {
	width: calc(50% - 0.35rem);
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .form-row-first {
	margin-right: 0.7rem;
	float: left;
	clear: both;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .form-row-last {
	float: right;
	clear: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .form-row-wide {
	clear: both;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout input.input-text,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout textarea,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout select,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .select2-selection--single {
	min-height: 2.35rem;
	padding-top: 0.35rem;
	padding-bottom: 0.35rem;
	font-size: 0.9375rem;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .checkpoint-checkout-shipping-table,
body.woocommerce-checkout:not(.woocommerce-order-received) .checkpoint-checkout-shipping-table tbody,
body.woocommerce-checkout:not(.woocommerce-order-received) .checkpoint-checkout-shipping-table tr,
body.woocommerce-checkout:not(.woocommerce-order-received) .checkpoint-checkout-shipping-table th,
body.woocommerce-checkout:not(.woocommerce-order-received) .checkpoint-checkout-shipping-table td {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .checkpoint-checkout-shipping-table th {
	display: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-shipping-methods {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-shipping-methods li {
	margin: 0;
	padding: 0.65rem 0.75rem;
	border: 1px solid #e4ddd4;
	border-radius: 8px;
	background: #fff;
}

/* Speedy plugin zeros this with !important and two IDs. Match the payment option inset. */
body.woocommerce-checkout ul#shipping_method.woocommerce-shipping-methods > li:not(.elementor-widget-woocommerce-cart #shipping_method li) {
	padding: 0.65rem 0.75rem !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-shipping-methods li:has(input:checked) {
	border-color: var(--wp--preset--color--accent-3, #e13207);
	background: #fff;
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--accent-3, #e13207);
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-shipping-methods label {
	font-weight: 600;
	cursor: pointer;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woo-bg--office-error,
body.woocommerce-checkout:not(.woocommerce-order-received) .woo-bg--speedy-delivery {
	margin-top: 0.45rem;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.4;
	color: var(--wp--preset--color--accent-4, #4f4744);
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods {
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods > li {
	margin: 0 0 0.45rem;
	padding: 0.65rem 0.75rem;
	border: 1px solid #e4ddd4;
	border-radius: 8px;
	background: #fff;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods > li:has(input:checked) {
	border-color: var(--wp--preset--color--accent-3, #e13207);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--accent-3, #e13207);
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment .payment_box {
	margin: 0.55rem 0 0;
	padding: 0;
	background: transparent;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment .payment_box::before {
	display: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment .form-row.place-order {
	margin: 0.85rem 0 0;
	padding: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #place_order {
	width: 100%;
	min-height: 2.75rem;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .shop_table {
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .shop_table thead {
	display: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .shop_table th,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .shop_table td {
	padding: 0.4rem 0;
	border: 0;
	background: transparent;
	font-size: 0.9375rem;
	line-height: 1.35;
	vertical-align: top;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .product-name {
	padding-right: 0.75rem;
	font-weight: 600;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .product-total,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review tfoot td {
	text-align: right;
	white-space: nowrap;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .order-total th,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .order-total td {
	padding-top: 0.7rem;
	border-top: 1px solid #e4ddd4;
	font-size: 1.05rem;
	font-weight: 700;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .order-total .includes_tax {
	display: block;
	margin-top: 0.15rem;
	font-size: 0.75rem;
	font-weight: 500;
	white-space: normal;
}

@media (max-width: 860px) {
	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout {
		grid-template-columns: minmax(0, 1fr);
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #order_review {
		grid-column: 1;
		grid-row: 1;
		position: static;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #customer_details {
		grid-row: 2;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .checkpoint-checkout-fulfillment {
		grid-row: 3;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .form-row-first,
	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .form-row-last {
		float: none;
		width: 100%;
		margin-right: 0;
	}
}

/* Clear cart: quiet trigger, confirmation that names the consequence. */
.checkpoint-clear-cart-bar {
	display: flex;
	justify-content: flex-start;
	margin: 0.15rem 0 0.65rem;
}

.checkpoint-clear-cart-bar[hidden] {
	display: none;
}

.wc-block-mini-cart__products-table .checkpoint-clear-cart-bar,
.wc-block-cart__main .checkpoint-clear-cart-bar {
	margin: 0.15rem 0 0.35rem;
}

.checkpoint-clear-cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	margin: 0;
	padding: 0.35rem 0.15rem;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--wp--preset--color--accent-4, #4f4744);
	font-family: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: underline;
	text-underline-offset: 0.18em;
	cursor: pointer;
}

.checkpoint-clear-cart:hover,
.checkpoint-clear-cart:focus-visible {
	background: transparent;
	color: var(--wp--preset--color--accent-3, #e13207);
}

.checkpoint-clear-cart:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-3, #e13207);
	outline-offset: 3px;
}

.checkpoint-clear-cart-dialog {
	width: min(26rem, calc(100vw - 2rem));
	max-width: calc(100vw - 2rem);
	margin: auto;
	padding: 1.25rem 1.25rem 1.1rem;
	border: 0;
	border-radius: 10px;
	background: #fff;
	color: var(--wp--preset--color--contrast, #191919);
	box-shadow: 0 18px 48px rgba(25, 25, 25, 0.22);
}

.checkpoint-clear-cart-dialog::backdrop {
	background: rgba(25, 25, 25, 0.48);
}

.checkpoint-clear-cart-dialog__title {
	margin: 0 0 0.45rem;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.3;
}

.checkpoint-clear-cart-dialog__text {
	margin: 0;
	color: var(--wp--preset--color--accent-4, #4f4744);
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.45;
}

.checkpoint-clear-cart-dialog__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	justify-content: flex-end;
	margin-top: 1.15rem;
}

.checkpoint-clear-cart-dialog__cancel,
.checkpoint-clear-cart-dialog__confirm {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: 0.5rem 1rem;
	border-radius: var(--checkpoint-form-control-radius, 6px);
	font-family: inherit;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
}

.checkpoint-clear-cart-dialog__cancel {
	border: 1px solid var(--wp--preset--color--contrast, #191919);
	background: var(--wp--preset--color--contrast, #191919);
	color: #fff;
}

.checkpoint-clear-cart-dialog__cancel:hover,
.checkpoint-clear-cart-dialog__cancel:focus-visible {
	background: #2c2c2c;
	color: #fff;
}

.checkpoint-clear-cart-dialog__confirm {
	border: 1px solid var(--wp--preset--color--accent-3, #e13207);
	background: #fff;
	color: var(--wp--preset--color--accent-3, #e13207);
}

.checkpoint-clear-cart-dialog__confirm:hover,
.checkpoint-clear-cart-dialog__confirm:focus-visible {
	background: rgba(225, 50, 7, 0.08);
	color: var(--wp--preset--color--accent-3, #e13207);
}

.checkpoint-clear-cart-dialog__cancel:focus-visible,
.checkpoint-clear-cart-dialog__confirm:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-3, #e13207);
	outline-offset: 2px;
}

.checkpoint-clear-cart-dialog__confirm:disabled {
	opacity: 0.7;
	cursor: progress;
}

body:not(.woocommerce-account) .checkpoint-clear-cart-status-wrap.woocommerce-notices-wrapper {
	box-sizing: border-box;
	width: min(100% - 2.5rem, var(--wp--style--global--wide-size, 1340px));
	margin: 1rem auto 0;
}

.checkpoint-clear-cart-form {
	margin: 0;
}

@media (max-width: 520px) {
	.checkpoint-clear-cart-dialog__actions {
		flex-direction: column;
	}

	.checkpoint-clear-cart-dialog__cancel,
	.checkpoint-clear-cart-dialog__confirm {
		width: 100%;
	}
}
