:root {
	--wjj-ink: #163247;
	--wjj-navy: #123e66;
	--wjj-blue: #2d83bd;
	--wjj-sky: #eaf4fa;
	--wjj-gold: #c3a46a;
	--wjj-paper: #f7f4ed;
	--wjj-white: #ffffff;
	--wjj-line: #dce4e8;
	--wjj-muted: #667783;
	--wjj-shadow: 0 18px 55px rgba(18, 62, 102, 0.09);
}

#wjj-refresh-header .wjj-cart-nav {
	position: relative;
}

#wjj-refresh-header .wjj-cart-nav svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.wjj-cart-count {
	display: inline-grid;
	place-items: center;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--wjj-gold);
	color: #111;
	font: 700 11px/1 system-ui, sans-serif;
}

#wjj-refresh-header .wjj-cart-nav .wjj-cart-count {
	position: absolute;
	top: -6px;
	right: -7px;
}

#wr-drawer .wjj-cart-drawer .wjj-cart-count {
	margin-right: 8px;
	margin-left: auto;
}

/* Clean magazine actions: the issue card has only Add to Cart and Buy Now. */
#wjj-latest-issues li.post-2212,
#wjj-latest-issues .woocommerce-loop-product__buttons,
#wjj-latest-issues .shopengine-wishlist,
#wjj-latest-issues .shopengine-quickview-trigger,
#wjj-latest-issues .shopengine-comparison {
	display: none !important;
}

#wjj-latest-issues ul.products li.product {
	display: flex !important;
	flex-direction: column;
	height: auto !important;
}

#wjj-latest-issues ul.products li.product > .woocommerce-LoopProduct-link {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
}

#wjj-latest-issues .wjj-card-actions {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 9px;
	width: 100%;
	margin-top: auto;
	padding: 17px 16px 18px;
}

#wjj-latest-issues .wjj-card-actions > a.button,
#wjj-latest-issues .wjj-card-actions > .added_to_cart {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 44px;
	margin: 0 !important;
	padding: 10px 12px !important;
	border: 1px solid var(--wjj-navy) !important;
	border-radius: 11px !important;
	box-shadow: none !important;
	font: 800 11px/1.1 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	letter-spacing: 0.055em;
	text-align: center;
	text-decoration: none !important;
	text-transform: uppercase;
	transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, color 180ms ease;
}

#wjj-latest-issues .wjj-card-actions > .wjj-card-add {
	background: #fff !important;
	color: var(--wjj-navy) !important;
}

#wjj-latest-issues .wjj-card-actions > .wjj-buy-now {
	background: var(--wjj-navy) !important;
	color: #fff !important;
}

#wjj-latest-issues .wjj-card-actions > a:hover,
#wjj-latest-issues .wjj-card-actions > a:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(18, 62, 102, 0.16) !important;
}

#wjj-latest-issues .wjj-card-actions > .wjj-card-add:hover,
#wjj-latest-issues .wjj-card-actions > .wjj-card-add:focus-visible {
	background: var(--wjj-sky) !important;
}

#wjj-latest-issues .wjj-card-actions > .wjj-card-view-cart {
	grid-column: 1 / -1;
	min-height: 34px;
	border: 0 !important;
	background: transparent !important;
	color: var(--wjj-navy) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

.single-product form.cart .wjj-buy-now-single {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin-left: 10px;
	padding: 12px 22px;
	border-radius: 11px;
	background: var(--wjj-navy);
	color: #fff;
}

.wjj-subscription-actions {
	position: relative;
	z-index: 3;
	display: flex;
	gap: 10px;
	justify-content: center;
	margin-top: 17px;
}

.wjj-subscription-actions .button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 138px;
	min-height: 45px;
	margin: 0 !important;
	padding: 11px 20px !important;
	border: 1px solid var(--wjj-navy) !important;
	border-radius: 11px !important;
	box-shadow: none !important;
	font: 800 12px/1 system-ui, sans-serif !important;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.wjj-subscription-actions .add_to_cart_button {
	background: #fff !important;
	color: var(--wjj-navy) !important;
}

.wjj-subscription-actions .wjj-buy-now {
	background: var(--wjj-navy) !important;
	color: #fff !important;
}

/* Only the original Gabe and Lunara creative is allowed in ad placements. */
#wjj-ad-rotator-1,
#wjj-ad-rotator-2,
.wjj-ad-caption,
.wjj-ad-caption strong {
	display: none !important;
}

body:not(.home) #wjj-page-subscribe {
	display: none !important;
}

.wjj-fixed-ad-placement {
	width: min(1320px, calc(100% - 48px));
	margin: 38px auto;
	text-align: center;
}

.wjj-fixed-ad-placement .wjj-fixed-ad-label,
.wjj-gabe-ad-label,
.wjj-lunara-label {
	display: block;
	margin: 0 0 9px;
	color: #61717b;
	font: 800 10px/1.2 system-ui, sans-serif;
	letter-spacing: 0.2em;
	text-align: center;
}

.wjj-fixed-ad-placement > a {
	display: block;
	line-height: 0;
}

.wjj-fixed-ad-placement img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 330px;
	margin: 0 auto;
	object-fit: contain;
}

/* Sitewide archive row. */
.wjj-more-issues {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: none;
	margin: 56px auto 0;
	padding: clamp(54px, 7vw, 92px) max(24px, calc((100vw - 1420px) / 2));
	overflow: hidden;
	background: #fff;
	color: var(--wjj-ink);
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.wjj-more-issues__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 28px;
	margin-bottom: 30px;
}

.wjj-more-issues__kicker {
	display: block;
	margin-bottom: 12px;
	color: var(--wjj-blue);
	font-size: 11px;
	font-weight: 850;
	letter-spacing: 0.19em;
}

.wjj-more-issues h2 {
	max-width: 760px;
	margin: 0;
	color: var(--wjj-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(34px, 4.8vw, 66px);
	font-weight: 500;
	letter-spacing: -0.035em;
	line-height: 0.98;
}

.wjj-more-issues__head p {
	margin: 14px 0 0;
	color: var(--wjj-muted);
	font-size: 16px;
}

.wjj-more-issues__controls {
	display: flex;
	gap: 9px;
	flex: 0 0 auto;
}

.wjj-more-issues__controls button {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1px solid #bfcdd5;
	border-radius: 50%;
	background: #fff;
	color: var(--wjj-navy);
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	transition: background-color 160ms ease, color 160ms ease, opacity 160ms ease;
}

.wjj-more-issues__controls button:hover:not(:disabled),
.wjj-more-issues__controls button:focus-visible:not(:disabled) {
	background: var(--wjj-navy);
	color: #fff;
}

.wjj-more-issues__controls button:disabled {
	opacity: 0.34;
	cursor: default;
}

.wjj-more-issues__track {
	display: grid;
	grid-auto-columns: clamp(220px, 21vw, 286px);
	grid-auto-flow: column;
	gap: 20px;
	padding: 4px 1px 18px;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	scroll-behavior: smooth;
	scroll-snap-type: inline mandatory;
	scrollbar-width: none;
}

.wjj-more-issues__track::-webkit-scrollbar {
	display: none;
}

.wjj-more-issues__card {
	min-width: 0;
	overflow: hidden;
	border: 1px solid #e0e7ea;
	border-radius: 18px;
	background: #fbfaf7;
	box-shadow: 0 10px 30px rgba(18, 62, 102, 0.055);
	scroll-snap-align: start;
	transition: transform 190ms ease, box-shadow 190ms ease;
}

.wjj-more-issues__card:hover {
	transform: translateY(-4px);
	box-shadow: 0 19px 42px rgba(18, 62, 102, 0.12);
}

.wjj-more-issues__card > a {
	display: flex;
	height: 100%;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
}

.wjj-more-issues__image {
	display: block;
	padding: 14px;
	overflow: hidden;
	background: #f2f1ed;
}

.wjj-more-issues__image img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 11px;
	object-fit: cover;
	transition: transform 300ms ease;
}

.wjj-more-issues__card:hover .wjj-more-issues__image img {
	transform: scale(1.025);
}

.wjj-more-issues__copy {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	padding: 18px 18px 20px;
}

.wjj-more-issues__copy strong {
	display: -webkit-box;
	margin-bottom: 10px;
	overflow: hidden;
	color: var(--wjj-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.18;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.wjj-more-issues__copy > span {
	color: var(--wjj-navy);
	font-size: 14px;
	font-weight: 800;
}

.wjj-more-issues__copy em {
	margin-top: auto;
	padding-top: 20px;
	color: var(--wjj-blue);
	font-size: 12px;
	font-style: normal;
	font-weight: 850;
	letter-spacing: 0.055em;
	text-transform: uppercase;
}

/* Cart and checkout share the paper-and-ink visual language. */
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-cart .shopengine-template,
body.woocommerce-checkout .shopengine-template,
body.woocommerce-cart .shopengine-woocommerce-cart,
body.woocommerce-checkout .shopengine-woocommerce-checkout {
	background: var(--wjj-paper) !important;
}

body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce.shopengine-woocommerce-checkout {
	width: min(1220px, 100%);
	max-width: 1220px;
	margin: 0 auto;
	padding: 42px 24px 78px;
}

body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals {
	border: 1px solid var(--wjj-line);
	border-radius: 20px;
	background: #fff;
	box-shadow: var(--wjj-shadow);
}

body.woocommerce-cart .woocommerce-cart-form {
	padding: 28px;
}

body.woocommerce-cart .cart-collaterals {
	margin-top: 24px;
	padding: 26px;
}

body.woocommerce-cart .checkout-button {
	border-radius: 11px !important;
	background: var(--wjj-navy) !important;
	color: #fff !important;
	font-weight: 800 !important;
}

/* WJJ checkout: a calm two-column form and summary. */
body.woocommerce-checkout form.checkout {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.woocommerce-checkout .wjj-checkout-intro {
	max-width: 780px;
	margin: 0 0 34px;
	padding: 0;
}

body.woocommerce-checkout .wjj-checkout-intro > span {
	display: block;
	margin-bottom: 11px;
	color: var(--wjj-blue);
	font: 850 11px/1.2 system-ui, sans-serif;
	letter-spacing: 0.2em;
}

body.woocommerce-checkout .wjj-checkout-intro h1 {
	margin: 0;
	color: var(--wjj-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(42px, 5vw, 68px);
	font-weight: 500;
	letter-spacing: -0.04em;
	line-height: 0.98;
}

body.woocommerce-checkout .wjj-checkout-intro p {
	max-width: 620px;
	margin: 16px 0 0;
	color: var(--wjj-muted);
	font: 500 16px/1.55 system-ui, sans-serif;
}

body.woocommerce-checkout form.checkout > .elementor,
body.woocommerce-checkout form.checkout .elementor-section-wrap,
body.woocommerce-checkout form.checkout .elementor-element-7b793a18,
body.woocommerce-checkout form.checkout .elementor-element-76fb0b97 {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

body.woocommerce-checkout form.checkout .elementor-element-76fb0b97 > .elementor-container {
	display: grid !important;
	grid-template-columns: minmax(0, 1.18fr) minmax(350px, 0.82fr);
	align-items: start;
	gap: 28px;
	width: 100% !important;
	max-width: none !important;
}

body.woocommerce-checkout form.checkout .wjj-checkout-card {
	width: 100% !important;
	min-width: 0;
	padding: 0 !important;
	border: 1px solid var(--wjj-line);
	border-radius: 22px;
	background: #fff;
	box-shadow: var(--wjj-shadow);
}

body.woocommerce-checkout form.checkout .wjj-checkout-card > .elementor-widget-wrap {
	display: block !important;
	padding: 31px !important;
	background: transparent !important;
}

body.woocommerce-checkout form.checkout .wjj-checkout-summary {
	position: sticky;
	top: 28px;
}

body.woocommerce-checkout form.checkout .elementor-element-6df27820,
body.woocommerce-checkout form.checkout .elementor-element-739af0df {
	margin: 0 0 23px !important;
}

body.woocommerce-checkout form.checkout .elementor-element-6df27820 .elementor-heading-title,
body.woocommerce-checkout form.checkout .elementor-element-739af0df .elementor-heading-title {
	margin: 0 !important;
	color: var(--wjj-ink) !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: 29px !important;
	font-weight: 600 !important;
	letter-spacing: -0.025em;
	line-height: 1.1 !important;
}

body.woocommerce-checkout form.checkout .elementor-element-1be09099,
body.woocommerce-checkout form.checkout .elementor-element-59299294,
body.woocommerce-checkout form.checkout .elementor-element-6c048089,
body.woocommerce-checkout form.checkout .elementor-element-791bd8cf,
body.woocommerce-checkout form.checkout .elementor-element-5ed7c428,
body.woocommerce-checkout form.checkout .elementor-element-872d991,
body.woocommerce-checkout form.checkout .elementor-element-2f4eeaf {
	display: none !important;
}

body.woocommerce-checkout form.checkout .elementor-widget-shopengine-checkout-form-billing,
body.woocommerce-checkout form.checkout .elementor-widget-shopengine-checkout-form-shipping,
body.woocommerce-checkout form.checkout .elementor-widget-shopengine-checkout-payment,
body.woocommerce-checkout form.checkout .elementor-widget-shopengine-checkout-review-order {
	margin: 0 !important;
}

body.woocommerce-checkout form.checkout .form-row {
	margin: 0 0 17px !important;
	padding: 0 !important;
}

body.woocommerce-checkout form.checkout .form-row label {
	display: block;
	margin: 0 0 7px;
	color: #314d60;
	font: 750 12px/1.2 system-ui, sans-serif;
	letter-spacing: 0.015em;
}

body.woocommerce-checkout form.checkout input.input-text,
body.woocommerce-checkout form.checkout textarea,
body.woocommerce-checkout form.checkout select,
body.woocommerce-checkout form.checkout .select2-selection {
	min-height: 50px !important;
	padding: 12px 14px !important;
	border: 1px solid #c9d5dc !important;
	border-radius: 11px !important;
	outline: 0;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--wjj-ink) !important;
	font: 500 15px/1.3 system-ui, sans-serif !important;
	transition: border-color 150ms ease, box-shadow 150ms ease;
}

body.woocommerce-checkout form.checkout textarea {
	min-height: 108px !important;
	resize: vertical;
}

body.woocommerce-checkout form.checkout input.input-text:focus,
body.woocommerce-checkout form.checkout textarea:focus,
body.woocommerce-checkout form.checkout select:focus,
body.woocommerce-checkout form.checkout .select2-container--open .select2-selection {
	border-color: var(--wjj-blue) !important;
	box-shadow: 0 0 0 3px rgba(45, 131, 189, 0.12) !important;
}

body.woocommerce-checkout form.checkout .select2-selection__rendered {
	padding: 3px 28px 3px 0 !important;
	line-height: 22px !important;
}

body.woocommerce-checkout form.checkout .select2-selection__arrow {
	top: 11px !important;
	right: 9px !important;
}

body.woocommerce-checkout form.checkout .woocommerce-shipping-fields {
	margin-top: 5px;
	padding-top: 20px;
	border-top: 1px solid #e4eaed;
}

body.woocommerce-checkout form.checkout #ship-to-different-address {
	margin: 0 0 18px;
	color: var(--wjj-ink);
	font-family: system-ui, sans-serif;
	font-size: 14px;
	font-weight: 750;
}

body.woocommerce-checkout form.checkout .elementor-element-213e5f97 {
	margin-top: 23px !important;
	padding-top: 24px;
	border-top: 1px solid #e4eaed;
}

body.woocommerce-checkout form.checkout #payment {
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.woocommerce-checkout form.checkout #payment .woocommerce-error,
body.woocommerce-checkout form.checkout #payment .woocommerce-info,
body.woocommerce-checkout form.checkout #payment .woocommerce-message,
body.woocommerce-checkout form.checkout #payment .woocommerce-notice {
	margin: 0 0 18px !important;
	padding: 15px 17px 15px 45px !important;
	border: 1px solid #d8e4ea !important;
	border-radius: 11px !important;
	background: #f3f8fb !important;
	color: #375363 !important;
	font: 500 13px/1.5 system-ui, sans-serif !important;
}

body.woocommerce-checkout form.checkout #payment .place-order {
	margin: 0 !important;
	padding: 18px 0 0 !important;
}

body.woocommerce-checkout form.checkout #payment .woocommerce-privacy-policy-text,
body.woocommerce-checkout form.checkout #payment .woocommerce-terms-and-conditions-wrapper {
	color: var(--wjj-muted);
	font: 500 12px/1.55 system-ui, sans-serif;
}

body.woocommerce-checkout form.checkout #place_order {
	width: 100% !important;
	min-height: 52px;
	margin: 15px 0 0 !important;
	padding: 13px 20px !important;
	border: 1px solid var(--wjj-navy) !important;
	border-radius: 11px !important;
	background: var(--wjj-navy) !important;
	box-shadow: 0 12px 28px rgba(18, 62, 102, 0.18) !important;
	color: #fff !important;
	font: 850 13px/1 system-ui, sans-serif !important;
	letter-spacing: 0.055em;
	text-transform: uppercase;
}

body.woocommerce-checkout form.checkout #place_order:hover,
body.woocommerce-checkout form.checkout #place_order:focus-visible {
	background: #0c3154 !important;
	transform: translateY(-1px);
}

body.woocommerce-checkout form.checkout .shopengine-checkout-review-order,
body.woocommerce-checkout form.checkout #order_review {
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.woocommerce-checkout form.checkout table.shop_table {
	width: 100%;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: collapse !important;
	border-radius: 0 !important;
	background: transparent !important;
}

body.woocommerce-checkout form.checkout table.shop_table th,
body.woocommerce-checkout form.checkout table.shop_table td {
	padding: 15px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid #e4eaed !important;
	background: transparent !important;
	color: #375363;
	font: 600 13px/1.45 system-ui, sans-serif;
	text-align: left;
	vertical-align: top;
}

body.woocommerce-checkout form.checkout table.shop_table th:last-child,
body.woocommerce-checkout form.checkout table.shop_table td:last-child {
	padding-left: 16px !important;
	text-align: right;
}

body.woocommerce-checkout form.checkout table.shop_table thead th {
	padding-top: 0 !important;
	color: var(--wjj-muted);
	font-size: 10px;
	font-weight: 850;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

body.woocommerce-checkout form.checkout table.shop_table .product-name {
	color: var(--wjj-ink);
	font-weight: 700;
}

body.woocommerce-checkout form.checkout table.shop_table .order-total th,
body.woocommerce-checkout form.checkout table.shop_table .order-total td {
	padding-top: 20px !important;
	border-bottom: 0 !important;
	color: var(--wjj-ink);
	font-size: 17px;
	font-weight: 850;
}

@media (max-width: 980px) {
	body.woocommerce-checkout form.checkout .elementor-element-76fb0b97 > .elementor-container {
		grid-template-columns: 1fr;
	}

	body.woocommerce-checkout form.checkout .wjj-checkout-summary {
		position: static;
	}
}

@media (max-width: 767px) {
	#wjj-latest-issues .wjj-card-actions {
		grid-template-columns: 1fr;
		padding: 13px 13px 15px;
	}

	#wjj-latest-issues .wjj-card-actions > .wjj-card-view-cart {
		grid-column: auto;
	}

	.single-product form.cart .wjj-buy-now-single {
		display: flex;
		width: 100%;
		margin: 10px 0 0;
	}

	.wjj-subscription-actions {
		flex-direction: column;
		padding: 0 16px;
	}

	.wjj-subscription-actions .button {
		width: 100%;
	}

	.wjj-fixed-ad-placement {
		width: calc(100% - 28px);
		margin: 28px auto;
	}

	.wjj-more-issues {
		margin-top: 38px;
		padding: 52px 18px 64px;
	}

	.wjj-more-issues__head {
		align-items: flex-start;
		margin-bottom: 24px;
	}

	.wjj-more-issues h2 {
		font-size: clamp(34px, 11vw, 48px);
	}

	.wjj-more-issues__head p {
		font-size: 14px;
	}

	.wjj-more-issues__controls {
		padding-top: 27px;
	}

	.wjj-more-issues__controls button {
		width: 42px;
		height: 42px;
	}

	.wjj-more-issues__track {
		grid-auto-columns: min(78vw, 280px);
		gap: 14px;
	}

	body.woocommerce-cart .woocommerce,
	body.woocommerce-checkout .woocommerce.shopengine-woocommerce-checkout {
		padding: 30px 13px 56px;
	}

	body.woocommerce-cart .woocommerce-cart-form {
		padding: 15px;
	}

	body.woocommerce-checkout .wjj-checkout-intro {
		margin-bottom: 25px;
		padding: 0 5px;
	}

	body.woocommerce-checkout .wjj-checkout-intro h1 {
		font-size: clamp(39px, 13vw, 55px);
	}

	body.woocommerce-checkout .wjj-checkout-intro p {
		font-size: 14px;
	}

	body.woocommerce-checkout form.checkout .wjj-checkout-card > .elementor-widget-wrap {
		padding: 21px 17px !important;
	}

	body.woocommerce-checkout form.checkout .elementor-element-6df27820 .elementor-heading-title,
	body.woocommerce-checkout form.checkout .elementor-element-739af0df .elementor-heading-title {
		font-size: 25px !important;
	}
}


/* =========================================================
   WJJ COMMERCE EXPERIENCE 2.0 — CART + CHECKOUT
   Focused, wallet-ready, mobile-first, and motion-accessible.
   Motion system: 25 scoped micro-effects on each commerce page.
   ========================================================= */
body.wjj-commerce-v2 {
	--wjj-commerce-ink: #102d43;
	--wjj-commerce-navy: #123e66;
	--wjj-commerce-blue: #1e78b5;
	--wjj-commerce-cyan: #6ec3ef;
	--wjj-commerce-gold: #d1ad62;
	--wjj-commerce-mist: #eef7fc;
	--wjj-commerce-paper: #fbfaf7;
	--wjj-commerce-success: #087b5b;
	--wjj-commerce-line: rgba(16,45,67,.13);
	--wjj-commerce-shadow: 0 22px 65px rgba(12,45,70,.12);
	background:
		radial-gradient(circle at 8% 6%, rgba(110,195,239,.17), transparent 29rem),
		radial-gradient(circle at 94% 15%, rgba(209,173,98,.12), transparent 26rem),
		linear-gradient(180deg, #f8fcff 0, #fff 36rem, #fbfaf7 100%);
	color: var(--wjj-commerce-ink);
}

body.wjj-commerce-v2 #wjj-merch-spotlight,
body.wjj-commerce-v2 .wjj-fixed-ad-placement,
body.wjj-commerce-v2 #wjj-sitewide-issues,
body.wjj-commerce-v2 #dc-community-preview,
body.wjj-commerce-v2 .wjj-floating-actions,
body.wjj-commerce-v2 #wjj-page-subscribe {
	display: none !important;
}

body.wjj-commerce-v2 .site-content,
body.wjj-commerce-v2 #content {
	background: transparent !important;
}

body.wjj-commerce-v2 .site-content > .col-full,
body.wjj-commerce-v2 #content > .col-full {
	width: min(100% - 36px, 1240px) !important;
	max-width: 1240px !important;
	margin-inline: auto !important;
	padding: 38px 0 82px !important;
}

.wjj-commerce-topbar {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
	gap: 34px;
	align-items: center;
	width: 100%;
	margin: 0 0 24px;
	padding: clamp(25px, 4vw, 44px);
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.34);
	border-radius: 32px;
	background:
		linear-gradient(115deg, rgba(9,43,69,.98), rgba(18,62,102,.96) 62%, rgba(29,112,165,.94)),
		#123e66;
	box-shadow: 0 24px 70px rgba(10,42,66,.24);
	color: #fff;
}

.wjj-commerce-topbar::before,
.wjj-commerce-topbar::after {
	content: "";
	position: absolute;
	z-index: -1;
	border-radius: 50%;
	pointer-events: none;
}

.wjj-commerce-topbar::before {
	width: 300px;
	height: 300px;
	right: -110px;
	top: -170px;
	background: radial-gradient(circle, rgba(110,195,239,.5), rgba(110,195,239,0) 68%);
}

.wjj-commerce-topbar::after {
	width: 210px;
	height: 210px;
	left: 43%;
	bottom: -170px;
	background: radial-gradient(circle, rgba(209,173,98,.38), rgba(209,173,98,0) 70%);
}

.wjj-commerce-eyebrow,
.wjj-gift-kicker,
.wjj-wallet-kicker {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 10px;
	font: 800 11px/1.2 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.wjj-commerce-eyebrow::before,
.wjj-gift-kicker::before,
.wjj-wallet-kicker::before {
	content: "";
	width: 27px;
	height: 2px;
	border-radius: 9px;
	background: currentColor;
	opacity: .72;
}

.wjj-commerce-topbar h1 {
	margin: 0;
	max-width: 670px;
	color: #fff;
	font: 750 clamp(32px, 4.2vw, 58px)/.98 Georgia, "Times New Roman", serif;
	letter-spacing: -.035em;
}

.wjj-commerce-topbar__copy > p {
	max-width: 610px;
	margin: 16px 0 0;
	color: rgba(255,255,255,.78);
	font: 500 16px/1.6 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.wjj-commerce-topbar__flow {
	display: grid;
	gap: 15px;
	align-content: center;
}

.wjj-checkout-steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.wjj-checkout-steps li {
	position: relative;
	display: grid;
	grid-template-columns: 29px 1fr;
	gap: 8px;
	align-items: center;
	min-width: 0;
	padding: 10px;
	border: 1px solid rgba(255,255,255,.13);
	border-radius: 14px;
	background: rgba(255,255,255,.07);
	color: rgba(255,255,255,.58);
	font: 700 11px/1.15 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.wjj-checkout-steps li span {
	display: grid;
	place-items: center;
	width: 29px;
	height: 29px;
	border-radius: 10px;
	background: rgba(255,255,255,.1);
	font-size: 12px;
}

.wjj-checkout-steps li.is-active,
.wjj-checkout-steps li.is-complete {
	border-color: rgba(255,255,255,.33);
	background: rgba(255,255,255,.14);
	color: #fff;
}

.wjj-checkout-steps li.is-active span {
	background: #fff;
	color: var(--wjj-commerce-navy);
	box-shadow: 0 8px 24px rgba(0,0,0,.2);
}

.wjj-checkout-steps li.is-complete span {
	background: #79d9bc;
	color: #063f30;
}

.wjj-commerce-trustline {
	display: flex;
	gap: 12px;
	align-items: center;
	padding: 13px 15px;
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 15px;
	background: rgba(4,27,45,.2);
	backdrop-filter: blur(10px);
}

.wjj-commerce-trustline svg,
.wjj-payment-security svg {
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.wjj-commerce-trustline > span {
	display: grid;
	gap: 2px;
}

.wjj-commerce-trustline strong {
	font: 750 13px/1.1 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.wjj-commerce-trustline small {
	color: rgba(255,255,255,.65);
	font: 500 11px/1.3 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.wjj-form-progress {
	--wjj-progress: 0%;
	position: relative;
	display: grid;
	gap: 7px;
	padding: 0 2px;
}

.wjj-form-progress::before {
	content: "";
	display: block;
	width: 100%;
	height: 4px;
	border-radius: 99px;
	background: rgba(255,255,255,.14);
}

.wjj-form-progress__bar {
	position: absolute;
	left: 2px;
	top: 0;
	width: var(--wjj-progress);
	height: 4px;
	border-radius: 99px;
	background: linear-gradient(90deg, #7bdabf, #fff0ad);
	box-shadow: 0 0 18px rgba(123,218,191,.55);
	transition: width .45s cubic-bezier(.2,.8,.2,1);
}

.wjj-form-progress small {
	color: rgba(255,255,255,.66);
	font: 650 10px/1.2 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Gift a year — live recipient rotation */
.wjj-gift-year {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr) minmax(210px, auto);
	gap: clamp(18px, 3vw, 34px);
	align-items: center;
	width: 100%;
	margin: 0 0 24px;
	padding: clamp(22px, 3.4vw, 35px);
	overflow: hidden;
	border: 1px solid rgba(18,62,102,.12);
	border-radius: 28px;
	background:
		radial-gradient(circle at 10% 50%, rgba(110,195,239,.26), transparent 18rem),
		linear-gradient(115deg, #fff 0%, #f7fbfd 58%, #f3ede0 100%);
	box-shadow: 0 18px 54px rgba(18,62,102,.1);
}

.wjj-gift-year::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: -70% -20%;
	background: linear-gradient(115deg, transparent 38%, rgba(255,255,255,.62) 48%, transparent 58%);
	transform: translateX(-46%);
	animation: wjjGiftLight 9s ease-in-out infinite;
	pointer-events: none;
}

.wjj-gift-year__art {
	position: relative;
	display: grid;
	place-items: center;
	width: 112px;
	height: 112px;
	border-radius: 28px;
	background: linear-gradient(145deg, #123e66, #1f7daf);
	box-shadow: inset 0 1px rgba(255,255,255,.25), 0 17px 35px rgba(18,62,102,.22);
	color: #fff;
	transform: rotate(-3deg);
}

.wjj-gift-year__art span {
	font: 800 54px/.9 Georgia, "Times New Roman", serif;
}

.wjj-gift-year__art b {
	position: absolute;
	right: -7px;
	bottom: -7px;
	display: grid;
	place-items: center;
	width: 39px;
	height: 39px;
	border: 3px solid #fff;
	border-radius: 14px;
	background: var(--wjj-commerce-gold);
	color: #17344a;
	font: 850 12px/1 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.wjj-gift-year__art i {
	position: absolute;
	inset: 9px;
	border: 1px solid rgba(255,255,255,.25);
	border-radius: 21px;
}

.wjj-gift-kicker {
	margin: 0 0 8px;
	color: var(--wjj-commerce-blue);
}

.wjj-gift-year h2 {
	margin: 0;
	color: var(--wjj-commerce-ink);
	font: 750 clamp(26px, 3vw, 39px)/1.04 Georgia, "Times New Roman", serif;
	letter-spacing: -.025em;
}

.wjj-gift-recipient {
	display: inline-block;
	min-width: 5.5em;
	color: var(--wjj-commerce-blue);
	transition: opacity .24s ease, transform .24s ease, filter .24s ease;
}

.wjj-gift-recipient.is-changing {
	opacity: 0;
	filter: blur(4px);
	transform: translateY(8px);
}

.wjj-gift-year__copy > p {
	margin: 10px 0 13px;
	color: #506879;
	font: 500 14px/1.55 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.wjj-gift-benefits {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.wjj-gift-benefits span {
	padding: 6px 9px;
	border: 1px solid rgba(18,62,102,.09);
	border-radius: 999px;
	background: rgba(255,255,255,.72);
	color: #355268;
	font: 700 10px/1.1 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.wjj-gift-year__action {
	display: grid;
	gap: 8px;
	justify-items: stretch;
	min-width: 210px;
}

.wjj-gift-cta,
.wjj-gift-cta.button {
	position: relative;
	display: grid !important;
	grid-template-columns: 1fr auto auto;
	gap: 10px;
	align-items: center;
	width: 100%;
	min-height: 62px;
	padding: 13px 17px !important;
	overflow: hidden;
	border: 0 !important;
	border-radius: 17px !important;
	background: linear-gradient(135deg, #123e66, #1f75ab) !important;
	box-shadow: 0 14px 30px rgba(18,62,102,.2);
	color: #fff !important;
	font: 760 14px/1.2 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	text-decoration: none !important;
	transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

.wjj-gift-cta::before,
.wjj-checkout-v2 #place_order::before,
.wjj-cart-v2 .wc-proceed-to-checkout a::before {
	content: "";
	position: absolute;
	inset: -50% auto -50% -65%;
	width: 45%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.42), transparent);
	transform: skewX(-18deg);
	transition: left .6s ease;
}

.wjj-gift-cta:hover,
.wjj-gift-cta:focus-visible {
	transform: translateY(-3px);
	box-shadow: 0 19px 39px rgba(18,62,102,.28);
}

.wjj-gift-cta:hover::before,
.wjj-checkout-v2 #place_order:hover::before,
.wjj-cart-v2 .wc-proceed-to-checkout a:hover::before {
	left: 125%;
}

.wjj-gift-cta strong {
	padding: 6px 8px;
	border-radius: 9px;
	background: rgba(255,255,255,.14);
	font-size: 13px;
}

.wjj-gift-cta i {
	font-style: normal;
	transition: transform .2s ease;
}

.wjj-gift-cta:hover i {
	transform: translateX(4px);
}

.wjj-gift-year__action small {
	color: #6d7c87;
	font: 600 10px/1.35 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	text-align: center;
}

/* Checkout */
.wjj-checkout-v2 .wjj-checkout-intro {
	display: none !important;
}

.wjj-checkout-v2 form.checkout.wjj-checkout-polished {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

.wjj-checkout-v2 form.checkout .elementor-element-76fb0b97 > .elementor-container {
	display: grid !important;
	grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr) !important;
	gap: 24px !important;
	align-items: start !important;
	max-width: none !important;
}

.wjj-checkout-v2 .wjj-checkout-card {
	position: relative;
	width: 100% !important;
	padding: clamp(22px, 3vw, 34px) !important;
	border: 1px solid var(--wjj-commerce-line) !important;
	border-radius: 27px !important;
	background: rgba(255,255,255,.92) !important;
	box-shadow: var(--wjj-commerce-shadow) !important;
	backdrop-filter: blur(12px);
}

.wjj-checkout-v2 .wjj-checkout-information {
	grid-column: 1 !important;
}

.wjj-checkout-v2 .wjj-checkout-summary {
	grid-column: 2 !important;
	position: sticky !important;
	top: 44px;
}

.wjj-checkout-v2 .wjj-checkout-card h1,
.wjj-checkout-v2 .wjj-checkout-card h2,
.wjj-checkout-v2 .wjj-checkout-card h3,
.wjj-checkout-v2 .wjj-checkout-card .elementor-heading-title {
	color: var(--wjj-commerce-ink) !important;
	font-family: Georgia, "Times New Roman", serif !important;
	letter-spacing: -.02em !important;
}

.wjj-checkout-v2 .woocommerce-billing-fields__field-wrapper,
.wjj-checkout-v2 .woocommerce-shipping-fields__field-wrapper,
.wjj-checkout-v2 .woocommerce-additional-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.wjj-checkout-v2 .form-row {
	position: relative;
	float: none !important;
	width: 100% !important;
	margin: 0 0 14px !important;
	padding: 0 !important;
}

.wjj-checkout-v2 .form-row-wide,
.wjj-checkout-v2 #billing_company_field,
.wjj-checkout-v2 #billing_country_field,
.wjj-checkout-v2 #billing_address_1_field,
.wjj-checkout-v2 #billing_address_2_field,
.wjj-checkout-v2 #billing_email_field,
.wjj-checkout-v2 #billing_phone_field,
.wjj-checkout-v2 #shipping_country_field,
.wjj-checkout-v2 #shipping_address_1_field,
.wjj-checkout-v2 #shipping_address_2_field {
	grid-column: 1 / -1;
}

.wjj-checkout-v2 .form-row label {
	display: block;
	margin: 0 0 7px;
	color: #38566c;
	font: 750 11px/1.25 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	letter-spacing: .035em;
	transition: color .2s ease, transform .2s ease;
}

.wjj-checkout-v2 .form-row input.input-text,
.wjj-checkout-v2 .form-row textarea,
.wjj-checkout-v2 .form-row select,
.wjj-checkout-v2 .select2-container .select2-selection--single {
	width: 100% !important;
	min-height: 52px !important;
	padding: 13px 14px !important;
	border: 1px solid #cbd9e2 !important;
	border-radius: 13px !important;
	outline: 0 !important;
	background: #fff !important;
	box-shadow: inset 0 1px 2px rgba(9,40,62,.035) !important;
	color: #18384f !important;
	font: 500 16px/1.35 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease !important;
}

.wjj-checkout-v2 .form-row input:focus,
.wjj-checkout-v2 .form-row textarea:focus,
.wjj-checkout-v2 .form-row select:focus,
.wjj-checkout-v2 .select2-container--focus .select2-selection--single {
	border-color: var(--wjj-commerce-blue) !important;
	box-shadow: 0 0 0 4px rgba(30,120,181,.13), 0 10px 24px rgba(30,120,181,.08) !important;
	transform: translateY(-1px);
}

.wjj-checkout-v2 .form-row:focus-within label {
	color: var(--wjj-commerce-blue);
	transform: translateX(2px);
}

.wjj-checkout-v2 .form-row.wjj-is-valid input,
.wjj-checkout-v2 .form-row.wjj-is-valid select {
	border-color: rgba(8,123,91,.48) !important;
	background-image: radial-gradient(circle at calc(100% - 17px) 50%, rgba(8,123,91,.86) 0 4px, transparent 5px) !important;
	background-repeat: no-repeat !important;
}

.wjj-wallet-options {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 18px;
	align-items: center;
	margin: 22px 0 15px;
	padding: 19px;
	border: 1px solid rgba(30,120,181,.16);
	border-radius: 20px;
	background: linear-gradient(135deg, #f1f9fd, #fff);
}

.wjj-wallet-options h2 {
	margin: 0 0 5px !important;
	font: 750 22px/1.1 Georgia, "Times New Roman", serif !important;
}

.wjj-wallet-options p {
	margin: 0;
	color: #607789;
	font: 500 12px/1.45 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.wjj-wallet-kicker {
	margin-bottom: 6px;
	color: var(--wjj-commerce-blue);
	font-size: 9px;
}

.wjj-wallet-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(88px, 1fr));
	gap: 7px;
}

.wjj-wallet-chip {
	display: grid;
	place-items: center;
	min-height: 37px;
	padding: 8px 11px;
	border: 1px solid rgba(16,45,67,.13);
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 6px 16px rgba(16,45,67,.06);
	color: #18384f;
	font: 800 11px/1 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	white-space: nowrap;
}

.wjj-wallet-apple {
	background: #111;
	color: #fff;
}

.wjj-wallet-link {
	background: #6556ff;
	color: #fff;
}

.wjj-checkout-v2 #payment {
	margin-top: 0 !important;
	padding: 20px !important;
	border: 1px solid var(--wjj-commerce-line) !important;
	border-radius: 20px !important;
	background: #fbfdff !important;
}

.wjj-checkout-v2 #payment .payment_methods {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.wjj-checkout-v2 #payment .payment_box {
	margin: 13px 0 0 !important;
	padding: 15px !important;
	border-radius: 14px !important;
	background: #fff !important;
	box-shadow: inset 0 0 0 1px rgba(16,45,67,.09);
}

.wjj-checkout-v2 #wc-stripe-upe-form,
.wjj-checkout-v2 .wc-upe-form {
	padding: 0 !important;
	border: 0 !important;
}

.wjj-payment-security {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 12px 14px;
	align-items: start;
	margin: 14px 0 0;
	padding: 16px;
	border: 1px solid rgba(8,123,91,.17);
	border-radius: 16px;
	background: rgba(234,249,243,.78);
	color: #174e3f;
}

.wjj-payment-security__icon {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 12px;
	background: rgba(8,123,91,.1);
}

.wjj-payment-security strong {
	font: 800 13px/1.2 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.wjj-payment-security p {
	margin: 4px 0 0;
	font: 500 11px/1.5 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.wjj-payment-security details {
	grid-column: 2;
	font: 600 11px/1.5 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.wjj-payment-security summary {
	cursor: pointer;
	color: #086f53;
	font-weight: 800;
}

.wjj-checkout-v2 #place_order {
	position: relative;
	width: 100% !important;
	min-height: 60px !important;
	margin-top: 14px !important;
	overflow: hidden;
	border: 0 !important;
	border-radius: 17px !important;
	background: linear-gradient(135deg, #0c7559, #0a966d) !important;
	box-shadow: 0 15px 35px rgba(8,123,91,.25) !important;
	color: #fff !important;
	font: 800 15px/1.2 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	letter-spacing: .01em;
	transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
}

.wjj-checkout-v2 #place_order:hover,
.wjj-checkout-v2 #place_order:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 20px 42px rgba(8,123,91,.32) !important;
	filter: saturate(1.08);
}

.wjj-checkout-v2 .wjj-checkout-summary table {
	margin: 0 !important;
	border: 0 !important;
}

.wjj-checkout-v2 .wjj-checkout-summary th,
.wjj-checkout-v2 .wjj-checkout-summary td {
	padding: 13px 4px !important;
	border-color: rgba(16,45,67,.09) !important;
	color: #29495e !important;
	font: 600 12px/1.45 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.wjj-checkout-v2 .wjj-checkout-summary .order-total th,
.wjj-checkout-v2 .wjj-checkout-summary .order-total td,
.wjj-checkout-v2 .wjj-checkout-summary .order-total .amount {
	color: var(--wjj-commerce-ink) !important;
	font-size: 20px !important;
	font-weight: 850 !important;
}

.wjj-summary-toggle {
	display: none;
}

/* Cart */
.wjj-cart-v2 .shopengine-cart-form {
	position: relative;
	margin: 0 !important;
	padding: clamp(18px, 3vw, 30px) !important;
	border: 1px solid var(--wjj-commerce-line);
	border-radius: 27px;
	background: rgba(255,255,255,.94);
	box-shadow: var(--wjj-commerce-shadow);
}

.wjj-cart-v2 .shopengine-table__head {
	padding: 12px 17px !important;
	border: 0 !important;
	border-radius: 15px;
	background: #edf5f9;
	color: #4d6677;
	font: 800 10px/1.2 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.wjj-cart-v2 .shopengine-table__body-item {
	margin-top: 11px;
	padding: 15px 17px !important;
	border: 1px solid rgba(16,45,67,.09) !important;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(16,45,67,.045);
	transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
	animation-delay: calc(var(--wjj-row, 0) * 75ms) !important;
}

.wjj-cart-v2 .shopengine-table__body-item:hover {
	z-index: 1;
	border-color: rgba(30,120,181,.24) !important;
	box-shadow: 0 15px 34px rgba(16,45,67,.09);
	transform: translateY(-2px);
}

.wjj-cart-v2 .shopengine-table__body-item img {
	border-radius: 13px !important;
	box-shadow: 0 9px 22px rgba(16,45,67,.12);
	transition: transform .25s ease, box-shadow .25s ease;
}

.wjj-cart-v2 .shopengine-table__body-item:hover img {
	box-shadow: 0 13px 29px rgba(16,45,67,.18);
	transform: scale(1.035) rotate(-1deg);
}

.wjj-cart-v2 .product-name a {
	color: var(--wjj-commerce-ink) !important;
	font: 750 14px/1.38 Georgia, "Times New Roman", serif !important;
	text-decoration: none !important;
}

.wjj-cart-v2 .product-price,
.wjj-cart-v2 .product-subtotal {
	color: #21475f !important;
	font: 800 13px/1.2 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.wjj-cart-v2 .quantity {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 3px;
	border: 1px solid #d5e0e7;
	border-radius: 13px;
	background: #f8fbfd;
}

.wjj-cart-v2 .quantity .qty {
	width: 52px !important;
	min-height: 36px !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	text-align: center !important;
}

.wjj-cart-v2 .shopengine-table__footer {
	display: flex !important;
	gap: 10px;
	justify-content: space-between;
	align-items: center;
	margin-top: 18px;
	padding: 0 !important;
	border: 0 !important;
}

.wjj-cart-v2 .shopengine-footer-button,
.wjj-cart-v2 .shopengine-footer-button .button {
	min-height: 44px !important;
	padding: 10px 14px !important;
	border: 1px solid rgba(16,45,67,.13) !important;
	border-radius: 13px !important;
	background: #f5f9fb !important;
	color: #29495e !important;
	font: 750 11px/1.2 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	transition: transform .2s ease, background .2s ease, border-color .2s ease !important;
}

.wjj-cart-v2 .shopengine-footer-button:hover {
	border-color: rgba(30,120,181,.28) !important;
	background: #eef7fc !important;
	transform: translateY(-2px);
}

.wjj-cart-v2 .clear-btn {
	color: #8b3941 !important;
}

.wjj-cart-v2 .shopengine-cart-totals,
.wjj-cart-v2 .cart_totals {
	border-radius: 24px;
	background: #fff;
}

.wjj-cart-v2 .shopengine-cart-totals {
	padding: clamp(20px, 3vw, 30px) !important;
	border: 1px solid var(--wjj-commerce-line);
	box-shadow: var(--wjj-commerce-shadow);
}

.wjj-cart-v2 .shopengine-cart-totals table,
.wjj-cart-v2 .shopengine-cart-totals th,
.wjj-cart-v2 .shopengine-cart-totals td {
	border-color: rgba(16,45,67,.1) !important;
}

.wjj-cart-v2 .shopengine-cart-totals th,
.wjj-cart-v2 .shopengine-cart-totals td {
	padding: 14px 4px !important;
	color: #38566a !important;
	font: 650 12px/1.45 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.wjj-cart-v2 .shopengine-cart-totals .order-total th,
.wjj-cart-v2 .shopengine-cart-totals .order-total td,
.wjj-cart-v2 .shopengine-cart-totals .order-total .amount {
	color: var(--wjj-commerce-ink) !important;
	font-size: 21px !important;
	font-weight: 850 !important;
}

.wjj-cart-v2 input[name="coupon_code"] {
	min-height: 50px !important;
	padding: 12px 14px !important;
	border: 1px solid #cedbe3 !important;
	border-radius: 13px !important;
	background: #fff !important;
	font-size: 16px !important;
	transition: border-color .2s ease, box-shadow .2s ease !important;
}

.wjj-cart-v2 input[name="coupon_code"]:focus {
	border-color: var(--wjj-commerce-blue) !important;
	box-shadow: 0 0 0 4px rgba(30,120,181,.12) !important;
	outline: 0 !important;
}

.wjj-cart-v2 .wc-proceed-to-checkout a {
	position: relative;
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 62px;
	padding: 15px 18px !important;
	overflow: hidden;
	border: 0 !important;
	border-radius: 17px !important;
	background: linear-gradient(135deg, #123e66, #1d78af) !important;
	box-shadow: 0 15px 35px rgba(18,62,102,.24);
	color: #fff !important;
	font: 800 15px/1.2 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	text-decoration: none !important;
	transition: transform .22s ease, box-shadow .22s ease !important;
}

.wjj-cart-v2 .wc-proceed-to-checkout a:hover,
.wjj-cart-v2 .wc-proceed-to-checkout a:focus-visible {
	box-shadow: 0 20px 42px rgba(18,62,102,.32);
	transform: translateY(-2px);
}

.wjj-cart-v2 .wc-proceed-to-checkout a i {
	font-style: normal;
	transition: transform .2s ease;
}

.wjj-cart-v2 .wc-proceed-to-checkout a:hover i {
	transform: translateX(4px);
}

/* 25-effect system — staggered entrances plus contextual hover/focus/live states */
@keyframes wjjFxRise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes wjjFxSlide { from { opacity: 0; transform: translateX(-13px); } to { opacity: 1; transform: none; } }
@keyframes wjjFxScale { from { opacity: 0; transform: scale(.965); } to { opacity: 1; transform: scale(1); } }
@keyframes wjjFxSoft { from { opacity: 0; filter: blur(5px); } to { opacity: 1; filter: blur(0); } }
@keyframes wjjLockPulse { 0%,100% { box-shadow: 0 0 0 0 rgba(123,218,191,0); } 50% { box-shadow: 0 0 0 7px rgba(123,218,191,.08); } }
@keyframes wjjGiftLight { 0%,45% { transform: translateX(-46%); } 70%,100% { transform: translateX(55%); } }
@keyframes wjjTap { 0% { transform: scale(1); } 45% { transform: scale(.975); } 100% { transform: scale(1); } }
@keyframes wjjTotalGlow { 0%,100% { text-shadow: 0 0 0 rgba(30,120,181,0); } 50% { text-shadow: 0 0 18px rgba(30,120,181,.24); } }

.wjj-commerce-v2 .wjj-motion-1 { animation: wjjFxRise .55s .02s both; }
.wjj-commerce-v2 .wjj-motion-2 { animation: wjjFxSlide .5s .05s both; }
.wjj-commerce-v2 .wjj-motion-3 { animation: wjjFxSoft .55s .08s both; }
.wjj-commerce-v2 .wjj-motion-4 { animation: wjjFxScale .5s .11s both; }
.wjj-commerce-v2 .wjj-motion-5 { animation: wjjFxRise .52s .14s both; }
.wjj-commerce-v2 .wjj-motion-6 { animation: wjjFxSlide .52s .17s both; }
.wjj-commerce-v2 .wjj-motion-7 { animation: wjjFxScale .52s .20s both; }
.wjj-commerce-v2 .wjj-motion-8 { animation: wjjFxSoft .52s .23s both; }
.wjj-commerce-v2 .wjj-motion-9 { animation: wjjFxRise .52s .26s both; }
.wjj-commerce-v2 .wjj-motion-10 { animation: wjjFxSlide .52s .29s both; }
.wjj-commerce-v2 .wjj-motion-11 { animation: wjjFxScale .52s .32s both; }
.wjj-commerce-v2 .wjj-motion-12 { animation: wjjFxSoft .52s .35s both; }
.wjj-commerce-v2 .wjj-motion-13 { animation: wjjFxRise .52s .38s both; }
.wjj-commerce-v2 .wjj-motion-14 { animation: wjjFxSlide .52s .41s both; }
.wjj-commerce-v2 .wjj-motion-15 { animation: wjjFxScale .52s .44s both; }
.wjj-commerce-v2 .wjj-motion-16 { animation: wjjFxSoft .52s .47s both; }
.wjj-commerce-v2 .wjj-motion-17 { animation: wjjFxRise .52s .50s both; }
.wjj-commerce-v2 .wjj-motion-18 { animation: wjjFxSlide .52s .53s both; }
.wjj-commerce-v2 .wjj-motion-19 { animation: wjjFxScale .52s .56s both; }
.wjj-commerce-v2 .wjj-motion-20 { animation: wjjFxSoft .52s .59s both; }
.wjj-commerce-v2 .wjj-motion-21 { animation: wjjFxRise .52s .62s both; }
.wjj-commerce-v2 .wjj-motion-22 { animation: wjjFxSlide .52s .65s both; }
.wjj-commerce-v2 .wjj-motion-23 { animation: wjjFxScale .52s .68s both; }
.wjj-commerce-v2 .wjj-motion-24 { animation: wjjFxSoft .52s .71s both; }
.wjj-commerce-v2 .wjj-motion-25 { animation: wjjFxRise .52s .74s both; }

.wjj-commerce-v2 .wjj-commerce-trustline svg { animation: wjjLockPulse 3.2s ease-in-out infinite; }
.wjj-commerce-v2 .order-total .amount { animation: wjjTotalGlow 3.8s ease-in-out 1.4s 2; }
.wjj-commerce-v2 .wjj-tapped { animation: wjjTap .5s ease both !important; }
.wjj-commerce-v2 :focus-visible { outline: 3px solid rgba(30,120,181,.42) !important; outline-offset: 3px !important; }

@media (max-width: 900px) {
	body.wjj-commerce-v2 .site-content > .col-full,
	body.wjj-commerce-v2 #content > .col-full {
		width: min(100% - 24px, 1240px) !important;
		padding-top: 22px !important;
	}

	.wjj-commerce-topbar {
		grid-template-columns: 1fr;
		gap: 23px;
		border-radius: 25px;
	}

	.wjj-commerce-topbar h1 {
		font-size: clamp(31px, 8vw, 47px);
	}

	.wjj-gift-year {
		grid-template-columns: 88px minmax(0, 1fr);
	}

	.wjj-gift-year__art {
		width: 84px;
		height: 84px;
		border-radius: 22px;
	}

	.wjj-gift-year__art span {
		font-size: 42px;
	}

	.wjj-gift-year__action {
		grid-column: 1 / -1;
		min-width: 0;
	}

	.wjj-checkout-v2 form.checkout .elementor-element-76fb0b97 > .elementor-container {
		display: flex !important;
		flex-direction: column !important;
		gap: 13px !important;
	}

	.wjj-checkout-v2 .wjj-checkout-information {
		order: 2;
	}

	.wjj-checkout-v2 .wjj-checkout-summary {
		position: static !important;
		order: 1;
	}

	.wjj-summary-toggle {
		order: 0;
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		min-height: 64px;
		padding: 13px 16px;
		border: 1px solid rgba(16,45,67,.13);
		border-radius: 17px;
		background: #fff;
		box-shadow: 0 10px 26px rgba(16,45,67,.08);
		color: var(--wjj-commerce-ink);
		text-align: left;
	}

	.wjj-summary-toggle span {
		display: grid;
		gap: 3px;
	}

	.wjj-summary-toggle b {
		font: 800 13px/1.2 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	}

	.wjj-summary-toggle small {
		color: var(--wjj-commerce-blue);
		font: 750 12px/1.2 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	}

	.wjj-summary-toggle i {
		font-size: 23px;
		font-style: normal;
	}

	.wjj-checkout-v2:not(.wjj-summary-open) .wjj-checkout-summary {
		max-height: 0;
		margin: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		overflow: hidden;
		border-width: 0 !important;
		opacity: 0;
		pointer-events: none;
	}
}

@media (max-width: 640px) {
	body.wjj-commerce-v2 .site-content > .col-full,
	body.wjj-commerce-v2 #content > .col-full {
		width: min(100% - 18px, 1240px) !important;
		padding: 14px 0 52px !important;
	}

	.wjj-commerce-topbar {
		margin-bottom: 13px;
		padding: 22px 17px;
		border-radius: 21px;
	}

	.wjj-commerce-topbar__copy > p {
		font-size: 14px;
	}

	.wjj-checkout-steps {
		gap: 5px;
	}

	.wjj-checkout-steps li {
		grid-template-columns: 1fr;
		justify-items: center;
		gap: 5px;
		padding: 8px 4px;
		text-align: center;
	}

	.wjj-checkout-steps li span {
		width: 26px;
		height: 26px;
	}

	.wjj-commerce-trustline {
		padding: 11px 12px;
	}

	.wjj-gift-year {
		grid-template-columns: 64px minmax(0, 1fr);
		gap: 14px;
		margin-bottom: 13px;
		padding: 18px 15px;
		border-radius: 21px;
	}

	.wjj-gift-year__art {
		width: 62px;
		height: 62px;
		border-radius: 17px;
	}

	.wjj-gift-year__art span {
		font-size: 31px;
	}

	.wjj-gift-year__art b {
		right: -5px;
		bottom: -5px;
		width: 30px;
		height: 30px;
		border-width: 2px;
		border-radius: 10px;
		font-size: 9px;
	}

	.wjj-gift-year__art i {
		inset: 6px;
		border-radius: 12px;
	}

	.wjj-gift-year h2 {
		font-size: 25px;
	}

	.wjj-gift-recipient {
		display: block;
		min-width: 0;
		margin-top: 3px;
	}

	.wjj-gift-year__copy > p {
		font-size: 12px;
	}

	.wjj-gift-benefits {
		display: none;
	}

	.wjj-checkout-v2 .wjj-checkout-card,
	.wjj-cart-v2 .shopengine-cart-form,
	.wjj-cart-v2 .shopengine-cart-totals {
		padding: 18px 14px !important;
		border-radius: 20px !important;
	}

	.wjj-checkout-v2 .woocommerce-billing-fields__field-wrapper,
	.wjj-checkout-v2 .woocommerce-shipping-fields__field-wrapper,
	.wjj-checkout-v2 .woocommerce-additional-fields__field-wrapper {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.wjj-checkout-v2 .form-row,
	.wjj-checkout-v2 .form-row-wide,
	.wjj-checkout-v2 #billing_company_field,
	.wjj-checkout-v2 #billing_country_field,
	.wjj-checkout-v2 #billing_address_1_field,
	.wjj-checkout-v2 #billing_address_2_field,
	.wjj-checkout-v2 #billing_email_field,
	.wjj-checkout-v2 #billing_phone_field,
	.wjj-checkout-v2 #shipping_country_field,
	.wjj-checkout-v2 #shipping_address_1_field,
	.wjj-checkout-v2 #shipping_address_2_field {
		grid-column: 1;
	}

	.wjj-wallet-options {
		grid-template-columns: 1fr;
		padding: 15px;
		border-radius: 17px;
	}

	.wjj-wallet-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wjj-payment-security {
		grid-template-columns: auto minmax(0, 1fr);
		padding: 13px;
	}

	.wjj-payment-security details {
		grid-column: 1 / -1;
	}

	.wjj-cart-v2 .shopengine-table__head {
		display: none !important;
	}

	.wjj-cart-v2 .shopengine-table__body-item {
		display: grid !important;
		grid-template-columns: 78px minmax(0, 1fr) !important;
		gap: 7px 13px !important;
		align-items: center !important;
		padding: 13px !important;
	}

	.wjj-cart-v2 .shopengine-table__body-item--td.table-first-body-column {
		grid-column: 1 !important;
		grid-row: 1 / span 3 !important;
	}

	.wjj-cart-v2 .shopengine-table__body-item--td.product-name,
	.wjj-cart-v2 .shopengine-table__body-item--td.product-quantity,
	.wjj-cart-v2 .shopengine-table__body-item--td.product-subtotal {
		grid-column: 2 !important;
	}

	.wjj-cart-v2 .shopengine-table__body-item--td.product-price {
		display: none !important;
	}

	.wjj-cart-v2 .product-subtotal::before {
		content: "Subtotal  ";
		color: #6a7d8b;
		font-size: 10px;
		font-weight: 700;
	}

	.wjj-cart-v2 .shopengine-table__footer,
	.wjj-cart-v2 .shopengine-table__footer .button-group-left,
	.wjj-cart-v2 .shopengine-table__footer .button-group-right {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 8px !important;
		width: 100% !important;
	}

	.wjj-cart-v2 .shopengine-footer-button {
		width: 100% !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wjj-commerce-v2 *,
	.wjj-commerce-v2 *::before,
	.wjj-commerce-v2 *::after {
		scroll-behavior: auto !important;
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
	}
}


/* iOS-safe checkout inputs: 16px prevents browser zoom and improves tap accuracy. */
.wjj-checkout-v2 form.checkout input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.wjj-checkout-v2 form.checkout select,
.wjj-checkout-v2 form.checkout textarea {
	font-size: 16px !important;
}


/* Header cart control: equal visual weight and optical centering with neighboring tools. */
#wjj-refresh-header .wr-tools .wjj-cart-nav {
	display: grid !important;
	place-items: center !important;
	width: 42px !important;
	height: 42px !important;
	min-width: 42px !important;
	padding: 0 !important;
	line-height: 1 !important;
}
#wjj-refresh-header .wr-tools .wjj-cart-nav svg {
	display: block !important;
	width: 22px !important;
	height: 22px !important;
	margin: 0 !important;
	transform: translateY(-1px);
}
#wjj-refresh-header .wr-tools .wjj-cart-nav .wjj-cart-count {
	top: -4px !important;
	right: -4px !important;
	min-width: 18px !important;
	height: 18px !important;
	padding: 0 4px !important;
	border: 2px solid #fff;
	font-size: 10px !important;
	line-height: 14px !important;
	box-sizing: border-box;
}
#wr-drawer .wjj-cart-drawer {
	display: flex !important;
	align-items: center !important;
	gap: 10px;
}
#wr-drawer .wjj-cart-drawer .wjj-cart-count {
	min-width: 22px;
	height: 22px;
	margin: 0 0 0 auto !important;
	line-height: 22px;
}


/* Checkout 2.1 — high-specificity overrides for ShopEngine/Elementor checkout UI. */
body.woocommerce-checkout.wjj-checkout-v2 #wjj-floating-whatsapp,
body.woocommerce-checkout.wjj-checkout-v2 #wjj-contact-launch,
body.woocommerce-checkout.wjj-checkout-v2 #wjj-quick-contact,
body.woocommerce-checkout.wjj-checkout-v2 form.checkout > .elementor-element-37bc0ffe,
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-37bc0ffe {
	display: none !important;
}

body.woocommerce-checkout.wjj-checkout-v2 .woocommerce.shopengine-woocommerce-checkout {
	padding-top: 18px !important;
}

.wjj-express-heading {
	display: grid;
	justify-items: center;
	gap: 4px;
	width: min(100%, 560px);
	margin: 3px auto 12px;
	text-align: center;
}
.wjj-express-heading span {
	color: var(--wjj-commerce-blue);
	font: 850 9px/1.2 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	letter-spacing: .17em;
}
.wjj-express-heading h2 {
	margin: 0;
	color: var(--wjj-commerce-ink);
	font: 750 24px/1.05 Georgia, "Times New Roman", serif;
	letter-spacing: -.02em;
}
.wjj-express-heading p {
	margin: 2px 0 0;
	color: #6b7c88;
	font: 550 11px/1.4 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body.woocommerce-checkout.wjj-checkout-v2 #wc-stripe-express-checkout-element {
	width: min(100%, 560px) !important;
	margin: 0 auto !important;
	padding: 6px !important;
	border: 1px solid rgba(16,45,67,.11);
	border-radius: 17px;
	background: #fff;
	box-shadow: 0 13px 34px rgba(16,45,67,.09);
}
body.woocommerce-checkout.wjj-checkout-v2 #wc-stripe-express-checkout-button-separator {
	display: flex !important;
	align-items: center;
	gap: 13px;
	width: min(100%, 560px);
	margin: 19px auto 24px !important;
	color: #718491 !important;
	font: 800 10px/1 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	letter-spacing: .13em;
}
body.woocommerce-checkout.wjj-checkout-v2 #wc-stripe-express-checkout-button-separator::before,
body.woocommerce-checkout.wjj-checkout-v2 #wc-stripe-express-checkout-button-separator::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #dfe7ec;
}

body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-7df51819.wjj-checkout-information,
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-55653f75.wjj-checkout-summary {
	overflow: hidden !important;
	border: 1px solid rgba(16,45,67,.11) !important;
	border-radius: 28px !important;
	box-shadow: 0 24px 64px rgba(15,45,66,.11) !important;
}
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-7df51819.wjj-checkout-information > .elementor-widget-wrap,
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-55653f75.wjj-checkout-summary > .elementor-widget-wrap {
	padding: clamp(24px, 3vw, 36px) !important;
}
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-7df51819.wjj-checkout-information {
	background: linear-gradient(180deg, #fff 0%, #fbfdff 100%) !important;
}

body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-256 .shopengine-widget .form-row {
	margin-bottom: 17px !important;
}
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-256 .shopengine-widget .form-row label {
	margin: 0 0 8px !important;
	color: #27475d !important;
	font: 800 11px/1.25 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	letter-spacing: .025em !important;
	text-transform: none !important;
}
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-256 .shopengine-widget .form-row .woocommerce-input-wrapper input.input-text,
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-256 .shopengine-widget .form-row .woocommerce-input-wrapper textarea,
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-256 .shopengine-widget .form-row .woocommerce-input-wrapper select,
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-256 .shopengine-widget .form-row .woocommerce-input-wrapper .select2-selection {
	min-height: 56px !important;
	padding: 15px 16px !important;
	border: 1px solid #cbd9e2 !important;
	border-radius: 15px !important;
	outline: 0 !important;
	background-color: #f9fcfe !important;
	box-shadow: inset 0 1px 2px rgba(16,45,67,.025), 0 1px 0 rgba(255,255,255,.9) !important;
	color: #17384f !important;
	font: 550 16px/1.35 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease, transform .2s ease !important;
}
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-256 .shopengine-widget .form-row .woocommerce-input-wrapper input.input-text::placeholder,
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-256 .shopengine-widget .form-row .woocommerce-input-wrapper textarea::placeholder {
	color: #8b9aa5 !important;
	opacity: 1 !important;
}
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-256 .shopengine-widget .form-row .woocommerce-input-wrapper input.input-text:focus,
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-256 .shopengine-widget .form-row .woocommerce-input-wrapper textarea:focus,
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-256 .shopengine-widget .form-row .woocommerce-input-wrapper select:focus,
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-256 .shopengine-widget .form-row .woocommerce-input-wrapper .select2-container--open .select2-selection {
	border-color: #2686bf !important;
	background-color: #fff !important;
	box-shadow: 0 0 0 4px rgba(38,134,191,.13), 0 12px 27px rgba(22,78,112,.08) !important;
	transform: translateY(-1px);
}
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-256 .shopengine-widget .form-row.wjj-is-valid .woocommerce-input-wrapper input.input-text,
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-256 .shopengine-widget .form-row.wjj-is-valid .woocommerce-input-wrapper select {
	border-color: rgba(8,123,91,.46) !important;
	background-color: #fbfffd !important;
}
body.woocommerce-checkout.wjj-checkout-v2 form.checkout #ship-to-different-address {
	display: flex !important;
	align-items: center;
	min-height: 48px;
	margin: 8px 0 0 !important;
	padding: 11px 13px !important;
	border: 1px solid #d9e4ea;
	border-radius: 14px;
	background: #f4f9fc;
	font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}
body.woocommerce-checkout.wjj-checkout-v2 form.checkout #ship-to-different-address label {
	display: flex !important;
	align-items: center;
	gap: 9px;
	margin: 0 !important;
	font-size: 11px !important;
	letter-spacing: .02em;
}
body.woocommerce-checkout.wjj-checkout-v2 form.checkout #ship-to-different-address-checkbox {
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
	accent-color: var(--wjj-commerce-blue);
}

body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-55653f75.wjj-checkout-summary {
	background: linear-gradient(160deg, #123e66 0%, #0b2d49 100%) !important;
	color: #fff !important;
}
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-55653f75.wjj-checkout-summary h1,
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-55653f75.wjj-checkout-summary h2,
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-55653f75.wjj-checkout-summary h3,
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-55653f75.wjj-checkout-summary .elementor-heading-title {
	color: #fff !important;
}
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-55653f75.wjj-checkout-summary table.shop_table {
	border-collapse: separate !important;
	border-spacing: 0 9px !important;
}
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-55653f75.wjj-checkout-summary table.shop_table thead th {
	padding: 0 11px 7px !important;
	border: 0 !important;
	color: rgba(255,255,255,.58) !important;
	font-size: 9px !important;
}
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-55653f75.wjj-checkout-summary table.shop_table tbody td,
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-55653f75.wjj-checkout-summary table.shop_table tfoot th,
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-55653f75.wjj-checkout-summary table.shop_table tfoot td {
	padding: 13px 11px !important;
	border: 0 !important;
	background: rgba(255,255,255,.075) !important;
	color: rgba(255,255,255,.9) !important;
	font-size: 12px !important;
}
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-55653f75.wjj-checkout-summary table.shop_table tbody td:first-child,
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-55653f75.wjj-checkout-summary table.shop_table tfoot th:first-child {
	border-radius: 13px 0 0 13px !important;
}
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-55653f75.wjj-checkout-summary table.shop_table tbody td:last-child,
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-55653f75.wjj-checkout-summary table.shop_table tfoot td:last-child {
	border-radius: 0 13px 13px 0 !important;
}
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-55653f75.wjj-checkout-summary table.shop_table .product-name {
	color: #fff !important;
	font-weight: 700 !important;
}
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-55653f75.wjj-checkout-summary table.shop_table .amount {
	color: #fff !important;
	font-weight: 850 !important;
}
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-55653f75.wjj-checkout-summary table.shop_table .order-total th,
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-55653f75.wjj-checkout-summary table.shop_table .order-total td,
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-55653f75.wjj-checkout-summary table.shop_table .order-total .amount {
	background: rgba(209,173,98,.18) !important;
	color: #ffe5a7 !important;
	font-size: 18px !important;
}
body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-55653f75.wjj-checkout-summary img {
	width: 48px !important;
	height: 48px !important;
	margin: 0 9px 0 0 !important;
	border: 2px solid rgba(255,255,255,.12) !important;
	border-radius: 10px !important;
	object-fit: cover;
}

@media (max-width: 900px) {
	body.woocommerce-checkout.wjj-checkout-v2 .woocommerce.shopengine-woocommerce-checkout {
		padding: 8px 0 44px !important;
	}
	body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-7df51819.wjj-checkout-information > .elementor-widget-wrap,
	body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-element-55653f75.wjj-checkout-summary > .elementor-widget-wrap {
		padding: 20px 15px !important;
	}
	body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-256 .shopengine-widget .form-row .woocommerce-input-wrapper input.input-text,
	body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-256 .shopengine-widget .form-row .woocommerce-input-wrapper textarea,
	body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-256 .shopengine-widget .form-row .woocommerce-input-wrapper select,
	body.woocommerce-checkout.wjj-checkout-v2 form.checkout .elementor-256 .shopengine-widget .form-row .woocommerce-input-wrapper .select2-selection {
		min-height: 54px !important;
		font-size: 16px !important;
	}
	.wjj-express-heading,
	body.woocommerce-checkout.wjj-checkout-v2 #wc-stripe-express-checkout-element,
	body.woocommerce-checkout.wjj-checkout-v2 #wc-stripe-express-checkout-button-separator {
		width: 100% !important;
	}
}


/* WJJ 1.2.3 — distraction-free commerce, sitewide gift, compact protection */
.storefront-handheld-footer-bar {
	display: none !important;
}

@media (max-width: 767px) {
	body {
		padding-bottom: 0 !important;
	}
}

body.woocommerce-checkout #page > :not(#content),
body.woocommerce-cart #page > :not(#content),
body.woocommerce-checkout #dc-community-preview,
body.woocommerce-cart #dc-community-preview,
body.woocommerce-checkout #wjj-floating-actions,
body.woocommerce-cart #wjj-floating-actions,
body.woocommerce-checkout #wjj-floating-magazine,
body.woocommerce-cart #wjj-floating-magazine,
body.woocommerce-checkout #wjj-contact-dialog,
body.woocommerce-cart #wjj-contact-dialog,
body.woocommerce-checkout .elementor-element-3b539827,
body.woocommerce-cart .elementor-element-3b539827,
body.woocommerce-checkout .elementor-element-7dfb7e0,
body.woocommerce-cart .elementor-element-7dfb7e0,
body.woocommerce-account #wjj-merch-spotlight,
body.woocommerce-account #wjj-floating-actions {
	display: none !important;
}

body.woocommerce-checkout #page,
body.woocommerce-cart #page,
body.woocommerce-checkout #content,
body.woocommerce-cart #content {
	margin: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.wjj-gift-year--sitewide {
	width: min(1180px, calc(100% - 36px));
	margin: 42px auto;
}

.wjj-money-back-v2 {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr);
	gap: 16px;
	align-items: start;
	margin: 20px 24px 24px;
	padding: 22px;
	overflow: hidden;
	border: 1px solid rgba(14, 71, 65, .14);
	border-radius: 24px;
	background:
		radial-gradient(circle at 100% 0, rgba(61, 175, 120, .18), transparent 42%),
		linear-gradient(145deg, #ffffff 0%, #f2f9f5 100%);
	box-shadow: 0 16px 38px rgba(8, 45, 55, .12);
	color: #0c3340;
	font-family: inherit;
}

.wjj-money-back-v2::after {
	content: '';
	position: absolute;
	z-index: -1;
	inset: auto -44px -55px auto;
	width: 132px;
	height: 132px;
	border: 22px solid rgba(44, 145, 98, .07);
	border-radius: 50%;
}

.wjj-money-back-v2__icon {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	border-radius: 18px;
	background: linear-gradient(145deg, #0b3c47, #126052);
	box-shadow: 0 10px 24px rgba(8, 54, 62, .22);
	color: #fff;
}

.wjj-money-back-v2__icon svg {
	width: 30px;
	height: 30px;
}

.wjj-money-back-v2__copy {
	min-width: 0;
}

.wjj-money-back-v2__kicker {
	display: block;
	margin: 1px 0 5px;
	color: #32725f;
	font-size: 10px;
	font-weight: 850;
	letter-spacing: .16em;
	line-height: 1.2;
}

.wjj-money-back-v2 h3 {
	margin: 0 0 8px !important;
	color: #0b3340 !important;
	font-family: Georgia, 'Times New Roman', serif !important;
	font-size: clamp(22px, 2vw, 28px) !important;
	font-weight: 700 !important;
	letter-spacing: -.025em;
	line-height: 1.05 !important;
}

.wjj-money-back-v2__badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 10px;
	padding: 6px 10px;
	border: 1px solid rgba(25, 126, 78, .18);
	border-radius: 999px;
	background: rgba(38, 151, 91, .1);
	color: #17693f;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
}

.wjj-money-back-v2__badge::before {
	content: '✓';
	font-size: 10px;
}

.wjj-money-back-v2 p {
	margin: 0 0 11px !important;
	color: #45616a !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
}

.wjj-money-back-v2 a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #0b4f55 !important;
	font-size: 12px;
	font-weight: 800;
	text-decoration: none !important;
}

.wjj-money-back-v2 a span {
	transition: transform .2s ease;
}

.wjj-money-back-v2 a:hover span,
.wjj-money-back-v2 a:focus-visible span {
	transform: translateX(3px);
}

@media (max-width: 767px) {
	.wjj-gift-year--sitewide {
		width: calc(100% - 24px);
		margin: 28px auto;
	}

	.wjj-money-back-v2 {
		grid-template-columns: 46px minmax(0, 1fr);
		gap: 13px;
		margin: 16px 12px 20px;
		padding: 18px;
		border-radius: 20px;
	}

	.wjj-money-back-v2__icon {
		width: 46px;
		height: 46px;
		border-radius: 15px;
	}

	.wjj-money-back-v2__icon svg {
		width: 25px;
		height: 25px;
	}
}


/* WJJ 1.2.4 — guarantee placement and contrast correction */
body.woocommerce-checkout .wjj-checkout-summary > .elementor-widget-wrap {
	flex: 1 1 100% !important;
	width: 100% !important;
	min-width: 0 !important;
}

body.woocommerce-checkout .wjj-checkout-summary .wjj-money-back-v2 {
	width: auto !important;
	max-width: none !important;
	color: #0c3340 !important;
}

body.woocommerce-checkout .wjj-checkout-summary .wjj-money-back-v2 h3,
body.woocommerce-cart .wjj-money-back-v2 h3 {
	color: #0b3340 !important;
}

body.woocommerce-checkout .wjj-checkout-summary .wjj-money-back-v2 p,
body.woocommerce-cart .wjj-money-back-v2 p {
	color: #45616a !important;
}


/* =========================================================
   WJJ COMMERCE 3.0 — focused cart, checkout, and purchase UI
   ========================================================= */
body.wjj-commerce-v2 {
	--wjj3-ink: #0b2f3b;
	--wjj3-navy: #0d3e4b;
	--wjj3-blue: #176f9d;
	--wjj3-green: #187b58;
	--wjj3-gold: #c89e4c;
	--wjj3-paper: #f4f7f5;
	--wjj3-line: rgba(11, 47, 59, .12);
	--wjj3-shadow: 0 24px 70px rgba(10, 44, 55, .11);
	background: var(--wjj3-paper) !important;
}

body.wjj-commerce-v2,
body.wjj-commerce-v2 #page,
body.wjj-commerce-v2 #content,
body.wjj-commerce-v2 .site-main {
	min-width: 0 !important;
	overflow-x: clip !important;
}

/* Balanced cart control in the site header. */
#wjj-refresh-header .wjj-cart-nav {
	position: relative !important;
	display: inline-grid !important;
	place-items: center !important;
	flex: 0 0 44px !important;
	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	min-height: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid rgba(13, 62, 75, .12) !important;
	border-radius: 14px !important;
	background: rgba(255, 255, 255, .86) !important;
	box-shadow: 0 7px 20px rgba(13, 62, 75, .08) !important;
	color: #0d3e4b !important;
	line-height: 1 !important;
}

#wjj-refresh-header .wjj-cart-nav__icon,
#wjj-refresh-header .wjj-cart-nav__icon svg {
	display: block !important;
	width: 22px !important;
	height: 22px !important;
}

#wjj-refresh-header .wjj-cart-nav__icon svg path {
	vector-effect: non-scaling-stroke;
}

#wjj-refresh-header .wjj-cart-nav .wjj-cart-count {
	position: absolute !important;
	top: -6px !important;
	right: -6px !important;
	display: grid !important;
	place-items: center !important;
	min-width: 21px !important;
	height: 21px !important;
	padding: 0 5px !important;
	border: 2px solid #fff !important;
	border-radius: 999px !important;
	background: #1976a5 !important;
	box-shadow: 0 4px 10px rgba(23, 111, 157, .28) !important;
	color: #fff !important;
	font: 800 10px/1 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

/* Product cards: one clear primary action, one quiet fast-purchase action. */
#wjj-latest-issues li.product .wjj-card-actions {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 8px !important;
	width: 100% !important;
	max-width: none !important;
	margin: auto 0 0 !important;
	padding: 14px 14px 16px !important;
	box-sizing: border-box !important;
}

#wjj-latest-issues li.product .wjj-card-actions > a,
.wjj-subscription-actions > a {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	text-align: center !important;
}

#wjj-latest-issues .wjj-card-add.wjj-action-ready,
.wjj-subscription-actions .add_to_cart_button.wjj-action-ready {
	position: relative !important;
	display: grid !important;
	grid-template-columns: 22px minmax(0, 1fr) 18px !important;
	gap: 9px !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 50px !important;
	padding: 12px 14px !important;
	overflow: hidden !important;
	border: 1px solid #0d3e4b !important;
	border-radius: 14px !important;
	background: linear-gradient(135deg, #0b3440, #145366) !important;
	box-shadow: 0 10px 24px rgba(13, 62, 75, .2) !important;
	color: #fff !important;
	font: 800 12px/1.15 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	letter-spacing: .045em !important;
	text-transform: uppercase !important;
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease !important;
}

.wjj-action-ready .wjj-action-icon,
.wjj-action-ready .wjj-action-icon svg {
	display: block !important;
	width: 21px !important;
	height: 21px !important;
}

.wjj-action-ready .wjj-action-label {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.wjj-action-ready .wjj-action-spinner {
	display: block;
	width: 16px;
	height: 16px;
	border: 2px solid rgba(255,255,255,.28);
	border-top-color: #fff;
	border-radius: 50%;
	opacity: 0;
}

.wjj-action-ready.is-loading {
	pointer-events: none !important;
	filter: saturate(.75) !important;
}

.wjj-action-ready.is-loading .wjj-action-spinner {
	opacity: 1;
	animation: wjj3Spin .7s linear infinite;
}

#wjj-latest-issues .wjj-card-add.wjj-action-ready.is-added,
.wjj-subscription-actions .add_to_cart_button.wjj-action-ready.is-added {
	border-color: #187b58 !important;
	background: #187b58 !important;
	box-shadow: 0 10px 24px rgba(24, 123, 88, .2) !important;
}

#wjj-latest-issues .wjj-card-add.wjj-action-ready:hover,
#wjj-latest-issues .wjj-card-add.wjj-action-ready:focus-visible,
.wjj-subscription-actions .add_to_cart_button.wjj-action-ready:hover,
.wjj-subscription-actions .add_to_cart_button.wjj-action-ready:focus-visible {
	transform: translateY(-2px) !important;
	box-shadow: 0 14px 30px rgba(13, 62, 75, .25) !important;
}

#wjj-latest-issues .wjj-buy-now.wjj-action-ready,
.wjj-subscription-actions .wjj-buy-now.wjj-action-ready {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 9px !important;
	min-height: 42px !important;
	padding: 9px 14px !important;
	border: 1px solid rgba(13, 62, 75, .18) !important;
	border-radius: 13px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: #0d3e4b !important;
	font: 780 12px/1.15 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	letter-spacing: .02em !important;
	text-transform: none !important;
}

.wjj-action-arrow {
	font-size: 17px;
	transition: transform .2s ease;
}

.wjj-action-buy:hover .wjj-action-arrow,
.wjj-action-buy:focus-visible .wjj-action-arrow {
	transform: translateX(3px);
}

@keyframes wjj3Spin { to { transform: rotate(360deg); } }

/* Added-to-cart confirmation: useful, quiet, and never blocks the page. */
.wjj-commerce-toast {
	position: fixed;
	z-index: 999999;
	right: 22px;
	bottom: 22px;
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 12px;
	width: min(430px, calc(100vw - 28px));
	padding: 17px;
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 22px;
	background: rgba(8, 43, 53, .97);
	box-shadow: 0 26px 80px rgba(4, 26, 34, .3);
	color: #fff;
	opacity: 0;
	pointer-events: none;
	transform: translateY(18px) scale(.98);
	transition: opacity .24s ease, transform .24s ease;
	backdrop-filter: blur(18px);
}

.wjj-commerce-toast.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0) scale(1);
}

.wjj-commerce-toast__close {
	position: absolute !important;
	top: 7px !important;
	right: 9px !important;
	display: grid !important;
	place-items: center !important;
	width: 30px !important;
	height: 30px !important;
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: rgba(255,255,255,.68) !important;
	font-size: 22px !important;
}

.wjj-commerce-toast__check {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 14px;
	background: #38aa7d;
	box-shadow: 0 9px 24px rgba(56,170,125,.28);
	font: 900 18px/1 ui-sans-serif, sans-serif;
}

.wjj-commerce-toast__copy {
	display: grid;
	gap: 3px;
	padding-right: 23px;
}

.wjj-commerce-toast__copy strong {
	font: 800 15px/1.2 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.wjj-commerce-toast__product {
	color: rgba(255,255,255,.7);
	font: 550 12px/1.35 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.wjj-commerce-toast__actions {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: .82fr 1.18fr;
	gap: 8px;
}

.wjj-commerce-toast__actions a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 8px 11px;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 12px;
	color: #fff !important;
	font: 750 12px/1.2 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	text-decoration: none !important;
}

.wjj-commerce-toast__checkout {
	border-color: #fff !important;
	background: #fff !important;
	color: #0d3e4b !important;
}

/* A compact, truthful protection row for cart and checkout. */
.wjj-commerce-assurance {
	display: grid;
	grid-template-columns: 1.15fr repeat(3, minmax(0, 1fr));
	gap: 0;
	width: 100%;
	margin: 0 0 22px;
	overflow: hidden;
	border: 1px solid var(--wjj3-line);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 12px 36px rgba(10, 44, 55, .07);
	color: var(--wjj3-ink);
}

.wjj-commerce-assurance__lead,
.wjj-commerce-assurance__item {
	display: flex;
	gap: 10px;
	align-items: center;
	min-width: 0;
	padding: 15px 17px;
}

.wjj-commerce-assurance__lead {
	background: linear-gradient(135deg, #0b3440, #145366);
	color: #fff;
}

.wjj-commerce-assurance__lead svg {
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
}

.wjj-commerce-assurance__item {
	border-left: 1px solid var(--wjj3-line);
}

.wjj-commerce-assurance__item > span:first-child {
	display: grid;
	place-items: center;
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	border-radius: 9px;
	background: rgba(24, 123, 88, .1);
	color: #187b58;
	font-size: 11px;
	font-weight: 900;
}

.wjj-commerce-assurance__lead > span,
.wjj-commerce-assurance__item > span:last-child {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.wjj-commerce-assurance strong {
	font: 800 11px/1.2 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.wjj-commerce-assurance small {
	color: #6a7c83;
	font: 520 9px/1.3 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.wjj-commerce-assurance__lead small {
	color: rgba(255,255,255,.68);
}

/* Compact commerce header and gift area. */
body.wjj-commerce-v2 .wjj-commerce-topbar {
	grid-template-columns: minmax(0, 1.12fr) minmax(330px, .88fr) !important;
	gap: 25px !important;
	margin: 0 0 18px !important;
	padding: 28px 32px !important;
	border-radius: 25px !important;
	box-shadow: 0 18px 50px rgba(10,42,66,.18) !important;
}

body.wjj-commerce-v2 .wjj-commerce-topbar h1 {
	font-size: clamp(34px, 3.7vw, 49px) !important;
	line-height: 1 !important;
}

body.wjj-commerce-v2 .wjj-commerce-topbar__copy > p {
	margin-top: 11px !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
}

body.wjj-commerce-v2 .wjj-commerce-topbar__flow {
	gap: 10px !important;
}

body.wjj-commerce-v2 .wjj-checkout-steps li {
	padding: 8px !important;
}

body.wjj-commerce-v2 .wjj-commerce-trustline {
	padding: 10px 12px !important;
}

body.wjj-commerce-v2 form.checkout > .wjj-gift-year,
body.wjj-commerce-v2 .woocommerce > .wjj-gift-year {
	grid-template-columns: 82px minmax(0, 1fr) minmax(190px, auto) !important;
	gap: 20px !important;
	margin: 0 0 18px !important;
	padding: 18px 21px !important;
	border-radius: 22px !important;
	box-shadow: 0 12px 36px rgba(18,62,102,.08) !important;
}

body.wjj-commerce-v2 form.checkout > .wjj-gift-year .wjj-gift-year__art,
body.wjj-commerce-v2 .woocommerce > .wjj-gift-year .wjj-gift-year__art {
	width: 76px !important;
	height: 76px !important;
	border-radius: 21px !important;
}

body.wjj-commerce-v2 form.checkout > .wjj-gift-year .wjj-gift-year__art span,
body.wjj-commerce-v2 .woocommerce > .wjj-gift-year .wjj-gift-year__art span {
	font-size: 39px !important;
}

body.wjj-commerce-v2 form.checkout > .wjj-gift-year .wjj-gift-year__art b,
body.wjj-commerce-v2 .woocommerce > .wjj-gift-year .wjj-gift-year__art b {
	width: 31px !important;
	height: 31px !important;
	font-size: 10px !important;
}

body.wjj-commerce-v2 form.checkout > .wjj-gift-year h2,
body.wjj-commerce-v2 .woocommerce > .wjj-gift-year h2 {
	font-size: clamp(22px, 2.4vw, 31px) !important;
}

body.wjj-commerce-v2 form.checkout > .wjj-gift-year .wjj-gift-year__copy > p,
body.wjj-commerce-v2 .woocommerce > .wjj-gift-year .wjj-gift-year__copy > p {
	margin: 6px 0 9px !important;
	font-size: 12px !important;
}

body.wjj-commerce-v2 form.checkout > .wjj-gift-year .wjj-gift-cta,
body.wjj-commerce-v2 .woocommerce > .wjj-gift-year .wjj-gift-cta {
	min-height: 50px !important;
	border-radius: 14px !important;
}

/* Real express checkout stays visible; the duplicate explanatory wallet box does not. */
body.woocommerce-checkout .wjj-wallet-options {
	display: none !important;
}

body.woocommerce-checkout .wjj-express-heading {
	margin: 20px auto 10px !important;
}

body.woocommerce-checkout #wc-stripe-express-checkout-element {
	min-height: 58px !important;
	padding: 0 !important;
	border-radius: 15px !important;
}

body.woocommerce-checkout #wc-stripe-express-checkout-button-separator {
	margin: 16px auto !important;
}

/* Checkout fields and summary. */
body.woocommerce-checkout form.checkout .wjj-checkout-card {
	border-radius: 23px !important;
	box-shadow: 0 16px 50px rgba(10, 44, 55, .09) !important;
}

body.woocommerce-checkout form.checkout .wjj-checkout-information > .elementor-widget-wrap,
body.woocommerce-checkout form.checkout .wjj-checkout-summary > .elementor-widget-wrap {
	padding: 25px !important;
}

body.woocommerce-checkout form.checkout .form-row {
	margin-bottom: 13px !important;
}

body.woocommerce-checkout form.checkout .form-row label {
	margin: 0 0 6px !important;
	color: #234854 !important;
	font: 760 11px/1.2 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	letter-spacing: .025em !important;
}

body.woocommerce-checkout form.checkout input.input-text,
body.woocommerce-checkout form.checkout textarea,
body.woocommerce-checkout form.checkout select,
body.woocommerce-checkout form.checkout .select2-selection {
	box-sizing: border-box !important;
	width: 100% !important;
	min-height: 54px !important;
	padding: 12px 14px !important;
	border: 1px solid rgba(11, 47, 59, .16) !important;
	border-radius: 13px !important;
	background: #fbfdfc !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.8) !important;
	color: #102f39 !important;
	font-size: 16px !important;
	transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}

body.woocommerce-checkout form.checkout input.input-text:focus,
body.woocommerce-checkout form.checkout textarea:focus,
body.woocommerce-checkout form.checkout select:focus,
body.woocommerce-checkout form.checkout .select2-container--focus .select2-selection {
	outline: 0 !important;
	border-color: #1c7aa6 !important;
	background: #fff !important;
	box-shadow: 0 0 0 4px rgba(28, 122, 166, .12) !important;
}

body.woocommerce-checkout form.checkout input.input-text:invalid:not(:placeholder-shown) {
	border-color: #bd4a50 !important;
	box-shadow: 0 0 0 3px rgba(189, 74, 80, .08) !important;
}

body.woocommerce-checkout .wjj-checkout-summary {
	position: sticky !important;
	top: 18px !important;
}

body.woocommerce-checkout #place_order {
	min-height: 58px !important;
	border-radius: 15px !important;
	background: linear-gradient(135deg, #0b3440, #145366) !important;
	box-shadow: 0 14px 32px rgba(13, 62, 75, .22) !important;
	font-size: 14px !important;
	font-weight: 850 !important;
	letter-spacing: .035em !important;
}

body.woocommerce-checkout .wjj-billing-state-active {
	display: block !important;
}

body.woocommerce-checkout .wjj-checkout-honeypot {
	position: absolute !important;
	left: -10000px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* Cart: compact, scannable table and a strong order summary. */
body.woocommerce-cart .woocommerce {
	padding-top: 28px !important;
}

body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals,
body.woocommerce-cart .shopengine-cart-table,
body.woocommerce-cart .shopengine-cart-totals {
	border: 1px solid var(--wjj3-line) !important;
	border-radius: 23px !important;
	background: #fff !important;
	box-shadow: var(--wjj3-shadow) !important;
}

body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .shopengine-cart-table {
	padding: 18px !important;
}

body.woocommerce-cart table.shop_table {
	width: 100% !important;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: separate !important;
	border-spacing: 0 8px !important;
	background: transparent !important;
}

body.woocommerce-cart table.shop_table thead th {
	padding: 7px 12px !important;
	border: 0 !important;
	color: #668087 !important;
	font: 800 10px/1.2 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	letter-spacing: .11em !important;
	text-transform: uppercase !important;
}

body.woocommerce-cart table.shop_table tbody tr.cart_item td {
	padding: 14px 12px !important;
	border-top: 1px solid var(--wjj3-line) !important;
	border-bottom: 1px solid var(--wjj3-line) !important;
	background: #fbfdfc !important;
	vertical-align: middle !important;
}

body.woocommerce-cart table.shop_table tbody tr.cart_item td:first-child {
	border-left: 1px solid var(--wjj3-line) !important;
	border-radius: 16px 0 0 16px !important;
}

body.woocommerce-cart table.shop_table tbody tr.cart_item td:last-child {
	border-right: 1px solid var(--wjj3-line) !important;
	border-radius: 0 16px 16px 0 !important;
}

body.woocommerce-cart table.shop_table .product-thumbnail img {
	width: 72px !important;
	height: 72px !important;
	border-radius: 13px !important;
	object-fit: cover !important;
	box-shadow: 0 7px 18px rgba(10,44,55,.1) !important;
}

body.woocommerce-cart table.shop_table .product-name a {
	color: var(--wjj3-ink) !important;
	font: 780 14px/1.3 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	text-decoration: none !important;
}

body.woocommerce-cart table.shop_table .amount,
body.woocommerce-cart .cart_totals .amount,
body.woocommerce-cart .shopengine-cart-totals .amount {
	color: #0d3e4b !important;
	font-weight: 820 !important;
}

body.woocommerce-cart .quantity .qty {
	width: 68px !important;
	min-height: 44px !important;
	padding: 8px !important;
	border: 1px solid rgba(11,47,59,.16) !important;
	border-radius: 12px !important;
	background: #fff !important;
	font-size: 16px !important;
	text-align: center !important;
}

body.woocommerce-cart .product-remove a.remove {
	display: grid !important;
	place-items: center !important;
	width: 36px !important;
	height: 36px !important;
	border: 1px solid rgba(180,60,70,.14) !important;
	border-radius: 12px !important;
	background: rgba(180,60,70,.06) !important;
	color: #a73e49 !important;
	font-size: 19px !important;
}

body.woocommerce-cart .coupon {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	gap: 9px !important;
	width: min(470px, 100%) !important;
}

body.woocommerce-cart .coupon input,
body.woocommerce-cart .coupon button,
body.woocommerce-cart button[name="update_cart"] {
	min-height: 48px !important;
	border-radius: 13px !important;
}

body.woocommerce-cart .cart-collaterals,
body.woocommerce-cart .shopengine-cart-totals {
	margin-top: 20px !important;
	padding: 22px !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	min-height: 58px !important;
	padding: 17px 22px !important;
	border-radius: 15px !important;
	background: linear-gradient(135deg, #0b3440, #145366) !important;
	box-shadow: 0 14px 32px rgba(13, 62, 75, .22) !important;
	font: 850 14px/1.2 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	letter-spacing: .025em !important;
}

body.woocommerce-cart .wjj-money-back-v2,
body.woocommerce-checkout .wjj-money-back-v2 {
	margin: 16px 0 0 !important;
	padding: 18px !important;
	border-radius: 19px !important;
	box-shadow: 0 10px 30px rgba(8,45,55,.08) !important;
}

/* Keyboard clarity everywhere. */
.wjj-action-ready:focus-visible,
.wjj-commerce-toast a:focus-visible,
.wjj-commerce-toast button:focus-visible,
#wjj-refresh-header .wjj-cart-nav:focus-visible,
body.wjj-commerce-v2 a:focus-visible,
body.wjj-commerce-v2 button:focus-visible {
	outline: 3px solid rgba(69, 166, 210, .55) !important;
	outline-offset: 3px !important;
}

@media (max-width: 980px) {
	.wjj-commerce-assurance {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.wjj-commerce-assurance__item:nth-child(3) {
		border-left: 0;
		border-top: 1px solid var(--wjj3-line);
	}
	.wjj-commerce-assurance__item:nth-child(4) {
		border-top: 1px solid var(--wjj3-line);
	}
	body.wjj-commerce-v2 .wjj-commerce-topbar {
		grid-template-columns: 1fr !important;
	}
	body.woocommerce-checkout .wjj-checkout-summary {
		position: static !important;
	}
}

@media (max-width: 767px) {
	body.wjj-commerce-v2 .woocommerce,
	body.wjj-commerce-v2 .woocommerce.shopengine-woocommerce-checkout {
		width: 100% !important;
		padding: 12px 12px 48px !important;
	}

	body.wjj-commerce-v2 .wjj-commerce-topbar {
		gap: 18px !important;
		margin: 0 0 12px !important;
		padding: 22px 18px !important;
		border-radius: 20px !important;
	}

	body.wjj-commerce-v2 .wjj-commerce-topbar h1 {
		font-size: clamp(31px, 10.4vw, 41px) !important;
	}

	body.wjj-commerce-v2 .wjj-commerce-topbar__copy > p {
		font-size: 13px !important;
	}

	body.wjj-commerce-v2 .wjj-checkout-steps {
		gap: 5px !important;
	}

	body.wjj-commerce-v2 .wjj-checkout-steps li {
		grid-template-columns: 25px minmax(0, 1fr) !important;
		gap: 5px !important;
		padding: 7px 5px !important;
		font-size: 9px !important;
	}

	body.wjj-commerce-v2 .wjj-checkout-steps li span {
		width: 25px !important;
		height: 25px !important;
	}

	body.wjj-commerce-v2 form.checkout > .wjj-gift-year,
	body.wjj-commerce-v2 .woocommerce > .wjj-gift-year {
		grid-template-columns: 58px minmax(0, 1fr) !important;
		gap: 13px !important;
		padding: 16px !important;
		border-radius: 18px !important;
	}

	body.wjj-commerce-v2 form.checkout > .wjj-gift-year .wjj-gift-year__art,
	body.wjj-commerce-v2 .woocommerce > .wjj-gift-year .wjj-gift-year__art {
		width: 56px !important;
		height: 56px !important;
		border-radius: 17px !important;
	}

	body.wjj-commerce-v2 form.checkout > .wjj-gift-year .wjj-gift-year__art span,
	body.wjj-commerce-v2 .woocommerce > .wjj-gift-year .wjj-gift-year__art span {
		font-size: 29px !important;
	}

	body.wjj-commerce-v2 form.checkout > .wjj-gift-year .wjj-gift-year__art b,
	body.wjj-commerce-v2 .woocommerce > .wjj-gift-year .wjj-gift-year__art b {
		display: none !important;
	}

	body.wjj-commerce-v2 form.checkout > .wjj-gift-year .wjj-gift-year__copy > p,
	body.wjj-commerce-v2 .woocommerce > .wjj-gift-year .wjj-gift-year__copy > p,
	body.wjj-commerce-v2 form.checkout > .wjj-gift-year .wjj-gift-benefits,
	body.wjj-commerce-v2 .woocommerce > .wjj-gift-year .wjj-gift-benefits {
		display: none !important;
	}

	body.wjj-commerce-v2 form.checkout > .wjj-gift-year h2,
	body.wjj-commerce-v2 .woocommerce > .wjj-gift-year h2 {
		font-size: 20px !important;
	}

	body.wjj-commerce-v2 form.checkout > .wjj-gift-year .wjj-gift-year__action,
	body.wjj-commerce-v2 .woocommerce > .wjj-gift-year .wjj-gift-year__action {
		grid-column: 1 / -1 !important;
		min-width: 0 !important;
	}

	.wjj-commerce-assurance {
		grid-template-columns: 1fr !important;
		margin-bottom: 14px !important;
		border-radius: 17px !important;
	}

	.wjj-commerce-assurance__lead,
	.wjj-commerce-assurance__item {
		padding: 11px 13px !important;
	}

	.wjj-commerce-assurance__item {
		border-top: 1px solid var(--wjj3-line) !important;
		border-left: 0 !important;
	}

	.wjj-commerce-assurance__item small {
		display: none;
	}

	body.woocommerce-checkout .wjj-express-heading,
	body.woocommerce-checkout #wc-stripe-express-checkout-element,
	body.woocommerce-checkout #wc-stripe-express-checkout-button-separator {
		width: 100% !important;
		max-width: 100% !important;
	}

	body.woocommerce-checkout form.checkout > .elementor,
	body.woocommerce-checkout form.checkout .elementor-container,
	body.woocommerce-checkout form.checkout .elementor-row {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	body.woocommerce-checkout form.checkout .wjj-checkout-card,
	body.woocommerce-checkout form.checkout .wjj-checkout-card > .elementor-widget-wrap {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	body.woocommerce-checkout form.checkout .wjj-checkout-information > .elementor-widget-wrap,
	body.woocommerce-checkout form.checkout .wjj-checkout-summary > .elementor-widget-wrap {
		padding: 18px 14px !important;
	}

	body.woocommerce-checkout form.checkout .form-row-first,
	body.woocommerce-checkout form.checkout .form-row-last {
		float: none !important;
		width: 100% !important;
	}

	body.woocommerce-cart .woocommerce-cart-form,
	body.woocommerce-cart .shopengine-cart-table {
		padding: 10px !important;
	}

	body.woocommerce-cart table.shop_table,
	body.woocommerce-cart table.shop_table tbody,
	body.woocommerce-cart table.shop_table tr.cart_item,
	body.woocommerce-cart table.shop_table td {
		display: block !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	body.woocommerce-cart table.shop_table thead {
		display: none !important;
	}

	body.woocommerce-cart table.shop_table tr.cart_item {
		position: relative !important;
		margin: 0 0 12px !important;
		padding: 14px !important;
		border: 1px solid var(--wjj3-line) !important;
		border-radius: 17px !important;
		background: #fbfdfc !important;
	}

	body.woocommerce-cart table.shop_table tbody tr.cart_item td {
		min-height: 0 !important;
		padding: 8px 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		text-align: left !important;
	}

	body.woocommerce-cart table.shop_table .product-remove {
		position: absolute !important;
		top: 10px !important;
		right: 10px !important;
		z-index: 2 !important;
		width: 36px !important;
	}

	body.woocommerce-cart table.shop_table .product-thumbnail {
		width: 82px !important;
		padding: 0 0 10px !important;
	}

	body.woocommerce-cart table.shop_table .product-name {
		padding-right: 44px !important;
	}

	body.woocommerce-cart table.shop_table .product-price::before,
	body.woocommerce-cart table.shop_table .product-quantity::before,
	body.woocommerce-cart table.shop_table .product-subtotal::before {
		display: inline-block;
		min-width: 92px;
		color: #71848a;
		font: 780 10px/1.2 ui-sans-serif, sans-serif;
		letter-spacing: .06em;
		text-transform: uppercase;
	}

	body.woocommerce-cart table.shop_table .product-price::before { content: "Price"; }
	body.woocommerce-cart table.shop_table .product-quantity::before { content: "Quantity"; }
	body.woocommerce-cart table.shop_table .product-subtotal::before { content: "Subtotal"; }

	body.woocommerce-cart table.shop_table tr:not(.cart_item) td.actions {
		display: grid !important;
		gap: 10px !important;
		padding: 8px 0 0 !important;
	}

	body.woocommerce-cart .coupon {
		grid-template-columns: 1fr !important;
		width: 100% !important;
	}

	body.woocommerce-cart button[name="update_cart"] {
		width: 100% !important;
		margin: 0 !important;
	}

	body.woocommerce-cart .cart-collaterals,
	body.woocommerce-cart .shopengine-cart-totals {
		padding: 17px !important;
		border-radius: 19px !important;
	}

	.wjj-commerce-toast {
		right: 14px !important;
		bottom: 14px !important;
		left: 14px !important;
		width: auto !important;
		border-radius: 18px !important;
	}

	.wjj-money-back-v2 {
		grid-template-columns: 43px minmax(0, 1fr) !important;
		gap: 11px !important;
		padding: 15px !important;
	}

	.wjj-money-back-v2__icon {
		width: 43px !important;
		height: 43px !important;
		border-radius: 14px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wjj-action-ready,
	.wjj-commerce-toast,
	.wjj-action-spinner,
	.wjj-action-arrow {
		animation: none !important;
		transition: none !important;
	}
}


/* The inline WooCommerce “View cart” link is replaced by the confirmation toast. */
#wjj-latest-issues .wjj-card-actions > .added_to_cart,
#wjj-latest-issues .woocommerce-loop-product__buttons > .added_to_cart,
.wjj-subscription-actions > .added_to_cart {
	display: none !important;
}
