/**
 * Powell Lines - WooCommerce Styles
 *
 * @package Powell_Lines
 * @since 2.0.0
 */

/* ==========================================================================
   Single Product Page â€” Hero Bar Layout
   ========================================================================== */
.single-product-container {
	max-width: var(--max-width);
	margin-inline: auto;
	padding-inline: var(--space-lg);
	background: var(--pl-off-white);
}

/* Grid: hero bar spans full width, then 2-column split below */
.product-story-layout {
	display: grid;
	grid-template-columns: 48% 1fr;
	grid-template-rows: auto 1fr;
	gap: 0 var(--space-3xl);
	padding-block: var(--space-lg) var(--space-xl);
}

/* â”€â”€ Hero Bar â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.product-hero-bar {
	grid-column: 1 / -1;
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-lg);
	padding-block-end: var(--space-md);
	margin-block-end: var(--space-lg);
	border-block-end: 1px solid var(--pl-border);
}

.product-hero-bar h1 {
	margin: 0;
	font-size: var(--fs-2xl);
	font-weight: 700;
	line-height: 1.2;
	color: var(--pl-navy);
}

.product-hero-price {
	margin: 0;
	font-size: var(--fs-xl);
	font-weight: 600;
	color: var(--pl-taupe);
	white-space: nowrap;
}

/* â”€â”€ Visual Column (Image) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.product-story-visual {
	position: sticky;
	top: calc(var(--header-height) + var(--space-lg));
	align-self: start;
}

/* â”€â”€ Content Column â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.product-story-content {
	padding-block-start: 0;
}

/* Story description */
.story-body {
	max-width: 520px;
	margin-block-end: var(--space-lg);
	font-size: var(--fs-base);
	line-height: 1.75;
	color: var(--pl-charcoal);
}

.story-body p {
	margin-block-end: var(--space-sm);
}

.story-description {
	max-width: 520px;
	margin-block-end: var(--space-md);
	font-size: var(--fs-sm);
	line-height: 1.8;
	color: var(--pl-charcoal);
}

.story-description p {
	margin-block-end: var(--space-sm);
}

.product-specs-table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--fs-sm);
}

.product-specs-table tr+tr {
	border-block-start: 1px solid var(--pl-border);
}

.product-specs-table th,
.product-specs-table td {
	padding: 10px 0;
	text-align: left;
	vertical-align: top;
}

.product-specs-table th {
	width: 40%;
	font-weight: 600;
	color: var(--pl-navy);
	letter-spacing: -0.01em;
}

.product-specs-table td {
	color: var(--pl-charcoal);
}

/* Trust badge */
.story-footer {
	margin-block-start: var(--space-md);
}

.small-quiet {
	font-size: var(--fs-xs);
	color: var(--pl-light-gray);
	letter-spacing: 0.03em;
}

/* â”€â”€ Product Images (WooCommerce default overrides) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.product-main-image,
.product-main-image img,
#main-product-image {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--border-radius);
	background: transparent;
}

.product-thumbnails {
	display: flex;
	gap: var(--space-xs);
	margin-block-start: 0.75rem;
}

.product-thumbnail {
	width: 68px;
	height: 68px;
	padding: 0;
	border: 2px solid transparent;
	border-radius: 10px;
	background: transparent;
	cursor: pointer;
	opacity: 0.6;
	overflow: hidden;
	transition:
		opacity var(--transition-base),
		border-color var(--transition-base);
}

.product-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 8px;
}

.product-thumbnail:hover {
	opacity: 1;
	border-color: var(--pl-taupe);
}

.product-thumbnail:focus-visible {
	outline: none;
	box-shadow: var(--focus-ring);
}

.product-thumbnail.active,
.product-thumbnail[aria-current="true"] {
	opacity: 1;
	border-color: var(--pl-navy);
}

/* ── Product Gallery ──────────────────────────────────────── */
.product-gallery {
	outline: none;
}

.product-gallery:focus-visible {
	box-shadow: var(--focus-ring);
	border-radius: var(--radius);
}

/* Viewport: houses main image + overlaid arrows + counter.
   Height-capped so full image + thumbnails always fit on screen.
   object-fit: contain on the image ensures no cropping. */
.gallery-viewport {
	position: relative;
	overflow: hidden;
	border-radius: var(--radius);
	background: #fff;
	user-select: none;
	-webkit-user-select: none;
	max-height: calc(100dvh - 300px);
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Main image: shows complete image, scales to fit viewport */
.gallery-viewport .product-main-image {
	transition: opacity 0.18s ease;
	max-width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: contain;
	display: block;
}

/* ── Gallery Arrows ─────────────────────────────────────── */
.gallery-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.85);
	color: var(--pl-navy);
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.2s ease, background 0.2s ease, transform 0.2s ease;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.gallery-arrow--prev {
	left: 12px;
}

.gallery-arrow--next {
	right: 12px;
}

/* Show on gallery hover or focus */
.product-gallery:hover .gallery-arrow,
.product-gallery:focus-within .gallery-arrow {
	opacity: 1;
}

.gallery-arrow:hover {
	background: rgba(255, 255, 255, 1);
	transform: translateY(-50%) scale(1.08);
}

.gallery-arrow:active {
	transform: translateY(-50%) scale(0.95);
}

.gallery-arrow:focus-visible {
	outline: none;
	box-shadow: var(--focus-ring);
	opacity: 1;
}

/* ── Gallery Counter Badge ──────────────────────────────── */
.gallery-counter {
	position: absolute;
	bottom: 12px;
	left: 12px;
	z-index: 2;
	padding: 4px 10px;
	border-radius: 100px;
	background: rgba(0, 0, 0, 0.5);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	pointer-events: none;
}

/* ── Gallery Dots ───────────────────────────────────────── */
.gallery-dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	padding: var(--space-xs) 0;
}

.gallery-dot {
	width: 8px;
	height: 8px;
	border: none;
	border-radius: 50%;
	background: var(--pl-taupe);
	opacity: 0.35;
	cursor: pointer;
	padding: 0;
	transition: opacity 0.2s ease, transform 0.2s ease, background 0.2s ease;
}

.gallery-dot:hover {
	opacity: 0.7;
	transform: scale(1.3);
}

.gallery-dot.active {
	opacity: 1;
	background: var(--pl-navy);
	transform: scale(1.3);
}

/* ── Gallery Thumbnails ─────────────────────────────────── */
.product-gallery-thumbs {
	display: flex;
	flex-wrap: nowrap;
	gap: 8px;
	overflow-x: auto;
	padding-block: var(--space-xs);
	padding-inline: 2px;
	scrollbar-width: thin;
	position: sticky;
	bottom: 0;
	background: var(--pl-off-white);
	z-index: 2;
}

.gallery-thumb {
	flex: 0 0 auto;
	width: clamp(40px, calc((100% - 72px) / 10), 64px);
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 6px;
	border: 2px solid transparent;
	opacity: 0.6;
	cursor: pointer;
	transition: opacity 0.2s ease, border-color 0.2s ease;
}

.gallery-thumb:hover {
	opacity: 1;
	border-color: var(--pl-taupe);
}

.gallery-thumb.active {
	opacity: 1;
	border-color: var(--pl-navy);
}


/* â”€â”€ Responsive â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (width <=900px) {
	.product-story-layout {
		grid-template-columns: 1fr;
		gap: var(--space-md);
	}

	.product-hero-bar {
		flex-direction: column;
		gap: var(--space-xs);
		align-items: flex-start;
	}

	.product-story-visual {
		position: static;
		max-width: 480px;
		margin-inline: auto;
	}


}

@media (width <=600px) {
	.product-hero-bar h1 {
		font-size: var(--fs-xl);
	}

	.product-hero-price {
		font-size: var(--fs-lg);
	}

	.story-body {
		max-width: 100%;
	}



	.gallery-thumb {
		width: 48px;
		height: 48px;
	}
}

/* Add to Cart Form */
.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: var(--space-md);
	padding: var(--space-lg);
	background: var(--pl-cream);
	border: 1px solid var(--pl-border);
	border-radius: var(--border-radius-lg);
}

/* Variations form spans full width */
.cart .variations_form,
.cart>.variations,
.cart>.product-personalization,
.cart>#sport-personalization-wrap {
	flex: 0 0 100%;
}

/* WooCommerce variable product: variation add-to-cart button row */
.woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-md);
	width: 100%;
}

/* Within .variations_form, also set flex layout */
.variations_form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: var(--space-md);
}

/* All direct children of variations_form: full width */
.variations_form.cart>* {
	flex: 0 0 100%;
	min-width: 0;
}

/* Let quantity + button sit side-by-side in their row */
.woocommerce-variation-add-to-cart>.quantity {
	flex: 0 0 auto;
}

.woocommerce-variation-add-to-cart>.single_add_to_cart_button {
	flex: 1 1 auto;
}

/* Variations table spans full width */
.variations_form .variations {
	width: 100%;
}

/* ── Premium Quantity Stepper ──────────────────────────── */
.pl-qty-stepper {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center;
	border: 1.5px solid var(--pl-border);
	border-radius: var(--border-radius-lg);
	overflow: hidden;
	background: var(--pl-white);
	transition: border-color 0.2s ease;
}

.pl-qty-stepper:focus-within {
	border-color: var(--pl-navy);
}

.pl-qty-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 44px;
	border: none;
	background: transparent;
	color: var(--pl-navy);
	font-size: 1.1rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
	user-select: none;
	-webkit-user-select: none;
	line-height: 1;
}

.pl-qty-btn:hover {
	background: var(--pl-cream);
}

.pl-qty-btn:active {
	background: var(--pl-border);
}

.pl-qty-stepper .qty {
	width: 44px;
	height: 44px;
	border: none;
	border-inline: 1px solid var(--pl-border);
	background: transparent;
	text-align: center;
	font-family: var(--ff-body);
	font-size: var(--fs-md);
	font-weight: 600;
	color: var(--pl-navy);
	-moz-appearance: textfield;
	appearance: textfield;
	padding: 0;
	margin: 0;
}

.pl-qty-stepper .qty::-webkit-inner-spin-button,
.pl-qty-stepper .qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Hidden quantity (single allowed) */
.quantity--hidden {
	display: none;
}

/* ── Mobile: Personalization ─────────────────────────────── */
@media (width <=600px) {
	.product-personalization {
		padding: var(--space-md);
		margin-inline: calc(-1 * var(--space-lg));
		width: calc(100% + 2 * var(--space-lg));
		border: none;
		border-radius: 0;
		border-block-start: 1px solid var(--pl-border);
		border-block-end: 1px solid var(--pl-border);
	}

	.personalization-field input[type="text"],
	.personalization-field input[type="number"] {
		height: 44px;
		font-size: var(--fs-sm);
	}

	.single_add_to_cart_button {
		min-width: 0;
		width: 100%;
		text-align: center;
	}

	.woocommerce-variation-add-to-cart {
		flex-direction: column;
		align-items: stretch;
	}

	.woocommerce-variation-add-to-cart>.quantity {
		width: auto;
		align-self: center;
	}

	.woocommerce-variation-add-to-cart>.quantity input[type="number"] {
		width: auto;
	}
}

.quantity-wrapper {
	display: inline-block;
	margin-inline-end: var(--space-md);
	vertical-align: bottom;
}

.quantity-wrapper::before {
	content: "Quantity";
	display: block;
	margin-block-end: var(--space-xs);
	font-size: var(--fs-xs);
	font-weight: 600;
	color: var(--pl-charcoal);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.cart .quantity {
	display: inline-block;
	vertical-align: middle;
}

.cart .quantity input[type="number"] {
	width: 65px;
	height: 48px;
	padding: 0;
	font-size: var(--fs-base);
	text-align: center;
	background: var(--pl-white);
	border: 1px solid var(--pl-border);
	border-radius: 10px;
}

.cart .quantity input:focus {
	border-color: var(--pl-navy);
	outline: none;
	box-shadow: var(--focus-ring);
}

.single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 180px;
	height: 56px;
	padding-inline: var(--space-lg);
	font-size: var(--fs-md);
	line-height: 1;
}

.cart::after {
	content: attr(data-shipping-info);
	display: block;
	flex: 0 0 100%;
	margin-block-start: var(--space-md);
	padding-block-start: var(--space-md);
	font-size: var(--fs-xs);
	color: var(--pl-gray);
	border-block-start: 1px solid var(--pl-border);
}

/* Product Meta */
.product-meta {
	display: block;
	margin-block-start: var(--space-md);
	font-size: var(--fs-xs);
	color: var(--pl-light-gray);
}

.product-meta a {
	color: var(--pl-light-gray);
}

.product-meta a:hover {
	color: var(--pl-taupe);
}

/* ==========================================================================
   Variation Selectors — Premium Apparel UX
   ========================================================================== */

/* Variations table: remove default table layout */
.variations_form .variations {
	width: 100%;
	margin: 0;
	border: none;
	border-collapse: collapse;
}

.variations_form .variations tr {
	display: flex;
	flex-direction: column;
	gap: var(--space-xs);
	margin-block-end: var(--space-sm);
}

.variations_form .variations th.label,
.variations_form .variations td.value {
	display: block;
	padding: 0;
	border: none;
	text-align: left;
}

/* Variation label */
.variations_form .variations .label label {
	display: block;
	margin: 0;
	font-family: var(--font-body);
	font-size: var(--fs-sm);
	font-weight: 700;
	color: var(--pl-navy);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

/* Styled dropdown */
.variations_form .variations select {
	width: 100%;
	height: 52px;
	padding-inline: var(--space-md);
	font-family: var(--font-body);
	font-size: var(--fs-base);
	color: var(--pl-charcoal);
	background-color: var(--pl-white);
	border: 1.5px solid var(--pl-border);
	border-radius: var(--border-radius);
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23334155' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right var(--space-md) center;
	cursor: pointer;
	transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.variations_form .variations select:hover {
	border-color: var(--pl-navy);
}

.variations_form .variations select:focus {
	border-color: var(--pl-navy);
	outline: none;
	box-shadow: 0 0 0 3px rgb(27 71 153 / 12%);
}

/* Size Guide link */
.variations_form .variations td.value a:not(.reset_variations) {
	display: inline-block;
	margin-block-start: var(--space-xs);
	font-size: var(--fs-xs);
	font-weight: 600;
	color: var(--pl-navy);
	text-decoration: none;
	letter-spacing: 0.02em;
	transition: color var(--transition-fast);
}

.variations_form .variations td.value a:not(.reset_variations):hover {
	color: var(--pl-taupe);
	text-decoration: underline;
}

/* Reset variations link */
.reset_variations {
	display: none !important;
}

.reset_variations:hover {
	color: var(--pl-charcoal);
	text-decoration: underline;
}

/* Quantity + ATC row layout for variable products */
.variations_form .single_variation_wrap {
	margin-block-start: var(--space-md);
}

.variations_form .woocommerce-variation-add-to-cart {
	display: flex;
	align-items: center;
	gap: var(--space-md);
}

.variations_form .woocommerce-variation-add-to-cart .quantity {
	flex-shrink: 0;
}

.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button {
	flex: 1;
	float: none;
	text-align: center;
}

/* Variation price display */
.woocommerce-variation-price .price {
	margin-block-end: var(--space-sm);
	font-size: var(--fs-lg);
	font-weight: 700;
	color: var(--pl-navy);
}

/* Variation description */
.woocommerce-variation-description p {
	margin-block-end: var(--space-sm);
	font-size: var(--fs-sm);
	color: var(--pl-gray);
}

/* ==========================================================================
   Personalization Fields â€” Premium UX
   ========================================================================== */
.product-personalization {
	margin-block-end: var(--space-lg);
	padding: var(--space-lg);
	background: var(--pl-white);
	border: 1px solid var(--pl-border);
	border-radius: var(--border-radius-lg);
}

.product-personalization legend {
	float: left;
	width: 100%;
	padding: 0;
	margin-block-end: var(--space-md);
	font-size: var(--fs-md);
	font-weight: 700;
	color: var(--pl-navy);
	letter-spacing: -0.01em;
}

.personalization-field {
	clear: both;
	margin-block-end: var(--space-md);
}

.personalization-field>label {
	display: block;
	margin-block-end: var(--space-xs);
	font-size: var(--fs-sm);
	font-weight: 600;
	color: var(--pl-charcoal);
}

.personalization-field input[type="text"],
.personalization-field input[type="number"] {
	width: 100%;
	height: 48px;
	padding-inline: var(--space-sm);
	font-size: var(--fs-base);
	font-weight: 500;
	background: var(--pl-off-white);
	border: 2px solid var(--pl-border);
	border-radius: 10px;
	transition: border-color var(--transition-base), box-shadow var(--transition-base);
}

.personalization-field input:focus {
	border-color: var(--pl-navy);
	outline: none;
	box-shadow: 0 0 0 3px rgba(29, 42, 68, 0.1);
	background: var(--pl-white);
}

.personalization-field small {
	display: block;
	margin-block-start: 6px;
	font-size: var(--fs-xs);
	color: var(--pl-gray);
}

.required {
	color: #e53e3e;
	font-weight: 700;
}

/* â”€â”€ Input with Character Counter â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.input-with-counter {
	position: relative;
}

.input-with-counter input {
	padding-inline-end: 60px;
}

.char-counter {
	position: absolute;
	top: 50%;
	right: var(--space-sm);
	transform: translateY(-50%);
	font-size: 12px;
	font-weight: 600;
	color: var(--pl-gray);
	pointer-events: none;
	transition: color var(--transition-base);
}

.char-counter.at-limit {
	color: #e53e3e;
}

/* â”€â”€ Coach Toggle Switch â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.coach-option {
	clear: both;
	margin-block-end: var(--space-md);
	padding: 0;
	background: transparent;
	border: none;
}

.toggle-label {
	display: flex !important;
	align-items: center;
	gap: var(--space-sm);
	cursor: pointer;
	user-select: none;
	max-width: 100%;
}

.toggle-label input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

.toggle-switch {
	position: relative;
	display: inline-block;
	flex-shrink: 0;
	width: 44px;
	height: 24px;
	background: var(--pl-border);
	border-radius: 12px;
	transition: background var(--transition-base);
}

.toggle-switch::after {
	content: '';
	position: absolute;
	top: 2px;
	left: 2px;
	width: 20px;
	height: 20px;
	background: var(--pl-white);
	border-radius: 50%;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
	transition: transform var(--transition-base);
}

.toggle-label input:checked+.toggle-switch {
	background: var(--pl-navy);
}

.toggle-label input:checked+.toggle-switch::after {
	transform: translateX(20px);
}

.toggle-text {
	font-size: var(--fs-sm);
	font-weight: 500;
	color: var(--pl-charcoal);
	min-width: 0;
	word-wrap: break-word;
}

/* ── Jersey Number Input ──────────────────────────────────── */
.jersey-number-option input[type="text"] {
	max-width: 100px;
	text-align: center;
	font-weight: 700;
	font-size: var(--fs-lg);
	letter-spacing: 0.1em;
}

/* ── Optional Tag ─────────────────────────────────────────── */
.optional-tag {
	font-weight: 400;
	color: var(--pl-gray);
	margin-inline-start: 4px;
}

/* ── Live Preview ─────────────────────────────────────────── */
.personalization-preview {
	display: flex;
	align-items: baseline;
	gap: var(--space-xs);
	margin-block-start: var(--space-md);
	padding: var(--space-sm) var(--space-md);
	background: var(--pl-off-white);
	border: 1px solid var(--pl-border);
	border-radius: 10px;
}

.preview-label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--pl-gray);
	white-space: nowrap;
	flex-shrink: 0;
}

.preview-text {
	font-size: var(--fs-lg);
	font-weight: 700;
	color: var(--pl-navy);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.preview-text:empty::after {
	content: '—';
	color: var(--pl-light-gray);
	font-weight: 400;
}

/* ── Mutual Exclusivity: Disabled State ──────────────────── */
.personalization-field.is-disabled {
	opacity: 0.35;
	pointer-events: none;
	transition: opacity 0.25s ease;
}

/* ── Variation-Aware Reveal ──────────────────────────────── */
#sport-personalization-wrap {
	transition: opacity 0.3s ease, transform 0.3s ease;
}

/* ── Chandelier Personalization ─────────────────────────── */
.personalization-intro {
	font-size: var(--fs-sm, 0.875rem);
	color: var(--pl-charcoal, #334155);
	line-height: 1.55;
	margin: 0 0 var(--space-md, 1rem);
}

.personalization-turnaround {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: var(--space-md, 1rem);
	padding: 0.625rem 0.875rem;
	background: #fef3c7;
	border-radius: var(--border-radius, 6px);
	font-size: var(--fs-xs, 0.8125rem);
	color: #92400e;
	font-weight: 500;
}

.personalization-turnaround svg {
	flex-shrink: 0;
	color: #d97706;
}

/* ── Add-to-Cart: Stack Quantity + Button Below Fields ──── */
.story-commerce .cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-md);
}

/* Quantity stepper: auto width, don't grow */
.story-commerce .cart>.quantity {
	flex: 0 0 auto;
}

/* Button: fill remaining space on the same row */
.story-commerce .cart>.single_add_to_cart_button {
	flex: 1 1 auto;
}

.story-commerce .product-personalization,
.story-commerce #sport-personalization-wrap {
	flex: 0 0 100%;
}

/* When personalization fields are present, stack qty + button full-width */
.story-commerce .product-personalization~.quantity,
.story-commerce #sport-personalization-wrap~.quantity {
	flex: 0 0 auto;
}

.story-commerce .product-personalization~.single_add_to_cart_button,
.story-commerce #sport-personalization-wrap~.single_add_to_cart_button {
	flex: 0 0 100%;
}

.story-commerce .variations {
	flex: 0 0 100%;
}

/* Ensure the WooCommerce variations_form spans full width */
.story-commerce .variations_form {
	width: 100%;
}

/* â”€â”€ Shipping Info Badge â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.product-shipping-badge {
	margin-block-start: var(--space-md);
	padding: var(--space-sm) var(--space-md);
	background: var(--pl-off-white);
	border: 1px solid var(--pl-border);
	border-radius: var(--border-radius-lg);
}

.shipping-badge__row {
	display: flex;
	align-items: center;
	gap: var(--space-xs);
	padding-block: 6px;
}

.shipping-badge__row+.shipping-badge__row {
	border-block-start: 1px solid var(--pl-border);
}

.shipping-badge__icon {
	flex-shrink: 0;
	color: var(--pl-gray);
}

.shipping-badge__row--free .shipping-badge__icon {
	color: #16a34a;
}

.shipping-badge__text {
	font-size: var(--fs-sm);
	font-weight: 500;
	color: var(--pl-charcoal);
	letter-spacing: -0.01em;
}

.shipping-badge__row--free .shipping-badge__text {
	color: #16a34a;
	font-weight: 600;
}

/* â”€â”€ Grade Shortcut (Dropdown) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.grade-shortcut {
	margin-block-start: var(--space-sm);
}

.grade-shortcut-label {
	font-size: var(--fs-xs) !important;
	font-weight: 500 !important;
	color: var(--pl-gray) !important;
}

.grade-shortcut select {
	width: 100%;
	height: 48px;
	margin-block-start: 6px;
	padding-inline: var(--space-sm) var(--space-xl);
	font-size: var(--fs-base);
	font-weight: 500;
	color: var(--pl-charcoal);
	background: var(--pl-off-white);
	border: 2px solid var(--pl-border);
	border-radius: 10px;
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%233f3f3f' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	transition: border-color var(--transition-base), box-shadow var(--transition-base);
}

.grade-shortcut select:hover {
	border-color: var(--pl-navy);
}

.grade-shortcut select:focus {
	border-color: var(--pl-navy);
	outline: none;
	box-shadow: 0 0 0 3px rgba(29, 42, 68, 0.1);
	background-color: var(--pl-white);
}

/* â”€â”€ Graduation Year Display â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.graduation-year-display {
	display: flex;
	align-items: center;
	gap: var(--space-sm);
}

.grad-year-prefix {
	font-size: var(--fs-lg);
	font-weight: 700;
	color: var(--pl-navy);
	white-space: nowrap;
}

.graduation-year-field input[type="number"] {
	width: 120px;
	font-size: var(--fs-lg);
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.05em;
}

.graduation-year-field input[type="number"]::-webkit-inner-spin-button,
.graduation-year-field input[type="number"]::-webkit-outer-spin-button {
	opacity: 1;
}

/* Year flash animation */
@keyframes yearFlash {
	0% {
		background: rgba(29, 42, 68, 0.08);
	}

	100% {
		background: var(--pl-off-white);
	}
}

.year-flash {
	animation: yearFlash 0.6s ease-out;
}

/* â”€â”€ Live Preview Bar â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.personalization-preview {
	display: flex;
	align-items: center;
	gap: var(--space-sm);
	margin-block-start: var(--space-md);
	padding: var(--space-sm) var(--space-md);
	background: var(--pl-cream);
	border-radius: 8px;
	border: 1px solid var(--pl-border);
}

.preview-label {
	font-size: var(--fs-xs);
	font-weight: 600;
	color: var(--pl-gray);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.preview-text {
	font-size: var(--fs-md);
	font-weight: 700;
	color: var(--pl-navy);
	letter-spacing: 0.02em;
	transition: all var(--transition-base);
}

.preview-text.has-value {
	color: var(--pl-navy);
}

/* â”€â”€ Mobile Responsive â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (width <=600px) {
	.product-personalization {
		padding: var(--space-md);
	}

	.grade-shortcut select {
		height: 44px;
	}

	.graduation-year-display {
		flex-direction: column;
		align-items: flex-start;
	}

	.graduation-year-field input[type="number"] {
		width: 100%;
	}
}

/* ==========================================================================
   Product Tabs
   ========================================================================== */
.woocommerce-tabs {
	margin-block-start: var(--space-xs);
	padding-block: var(--space-xs) var(--space-xl);
	background: var(--pl-off-white);
	border: none;
}

.woocommerce-tabs .tabs {
	display: flex;
	gap: 0;
	margin-block-end: var(--space-lg);
	padding: 0;
	list-style: none;
	border-block-end: 2px solid var(--pl-border);
}

.woocommerce-tabs .tabs li {
	margin-inline-end: var(--space-lg);
	padding: 0;
	background: transparent;
}

.woocommerce-tabs .tabs li a {
	display: block;
	padding-block: 0.75rem;
	padding-inline: 0;
	margin-block-end: -2px;
	font-size: var(--fs-sm);
	font-weight: 600;
	color: var(--pl-light-gray);
	text-decoration: none;
	border-block-end: 3px solid transparent;
	transition: all var(--transition-base);
}

.woocommerce-tabs .tabs li a:hover {
	color: var(--pl-navy);
}

.woocommerce-tabs .tabs li a:focus-visible {
	outline: 2px solid var(--pl-navy);
	outline-offset: 4px;
}

.woocommerce-tabs .tabs li.active a {
	color: var(--pl-navy);
	border-block-end-color: var(--pl-navy);
}

.woocommerce-tabs .woocommerce-Tabs-panel,
.woocommerce-tabs .panel {
	display: none;
	max-width: 700px;
	padding: 0;
	color: var(--pl-charcoal);
	line-height: 1.7;
}

.woocommerce-tabs .woocommerce-Tabs-panel.active,
.woocommerce-tabs .panel.active,
.woocommerce-tabs .woocommerce-Tabs-panel[aria-hidden="false"],
.woocommerce-tabs .panel[aria-hidden="false"] {
	display: block;
}

.woocommerce-tabs .panel h2 {
	margin-block-end: var(--space-sm);
	font-size: 22px;
}

.woocommerce-tabs .panel p {
	margin-block-end: var(--space-sm);
	font-size: var(--fs-sm);
}

/* Product Attributes Table */
.woocommerce-product-attributes {
	display: block;
	margin: 0;
	padding: var(--space-md);
	background: var(--pl-cream);
	border: none;
	border-radius: var(--border-radius);
}

.woocommerce-product-attributes-item {
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: var(--space-md);
	padding-block: var(--space-sm);
	border-block-end: 1px solid var(--pl-border);
}

.woocommerce-product-attributes-item:last-child {
	padding-block-end: 0;
	border-block-end: none;
}

.woocommerce-product-attributes-item:first-child {
	padding-block-start: 0;
}

.woocommerce-product-attributes-item th,
.woocommerce-product-attributes-item td {
	padding: 0;
	text-align: left;
	background: transparent;
	border: none;
}

.woocommerce-product-attributes-item th {
	font-size: var(--fs-xs);
	font-weight: 600;
	color: var(--pl-gray);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.woocommerce-product-attributes-item td {
	font-size: var(--fs-sm);
	font-weight: 500;
	color: var(--pl-navy);
}

/* Hide reviews tab */
.woocommerce-tabs .tabs li.reviews_tab {
	display: none;
}

/* Hide reviews only in standard WooCommerce tabs (we use custom accordion) */
.woocommerce-tabs #reviews {
	display: none;
}

/* Show reviews inside our custom accordion */
.product-reviews-block #reviews {
	display: block !important;
}

.product-reviews-block .product-reviews-content {
	padding: var(--space-sm) 0;
}

.product-reviews-block #reviews #comments {
	margin: 0;
}

.product-reviews-block #reviews .comment-respond {
	margin-block-start: var(--space-md);
}

.product-reviews-block #reviews .comment-form-rating label {
	font-weight: 500;
	color: var(--pl-charcoal);
}

.product-reviews-block #reviews .stars a {
	color: var(--pl-gold);
}

.product-reviews-block #reviews .comment-form textarea {
	width: 100%;
	min-height: 100px;
	padding: var(--space-sm);
	border: 1px solid var(--pl-border);
	border-radius: var(--border-radius);
	font-family: var(--font-body);
	font-size: var(--fs-sm);
	resize: vertical;
}

/* ==========================================================================
   Bulk Pricing Card (Keychains)
   ========================================================================== */
.bulk-pricing-card {
	margin-block: var(--space-md);
	padding: var(--space-md) var(--space-lg);
	background: var(--pl-cream, #faf8f3);
	border: 1px solid var(--pl-border);
	border-radius: var(--border-radius);
}

.bulk-pricing-header {
	display: flex;
	align-items: center;
	gap: var(--space-xs);
	margin-block-end: var(--space-sm);
}

.bulk-pricing-icon {
	color: var(--pl-taupe);
	flex-shrink: 0;
}

.bulk-pricing-header h3 {
	font-size: var(--fs-sm);
	font-weight: 600;
	color: var(--pl-navy);
	margin: 0;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.bulk-pricing-tiers {
	display: flex;
	flex-direction: column;
	gap: var(--space-xs);
	margin-block-end: var(--space-sm);
}

.bulk-tier {
	display: flex;
	align-items: center;
	gap: var(--space-sm);
	padding: var(--space-xs) var(--space-sm);
	background: var(--pl-white);
	border: 1px solid var(--pl-border);
	border-radius: 8px;
}

.bulk-tier-qty {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	padding: 2px 8px;
	font-size: var(--fs-sm);
	font-weight: 700;
	color: var(--pl-navy);
	background: var(--pl-cream, #faf8f3);
	border: 1px solid var(--pl-gold);
	border-radius: 6px;
	letter-spacing: 0.02em;
}

.bulk-tier-label {
	font-size: var(--fs-sm);
	color: var(--pl-charcoal);
	line-height: 1.4;
}

.bulk-pricing-cta {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: var(--fs-sm);
	font-weight: 500;
	color: var(--pl-navy);
	letter-spacing: 0.02em;
	transition: color var(--transition-base);
}

.bulk-pricing-cta:hover {
	color: var(--pl-taupe);
}

/* ==========================================================================
   Related Products - Compact Recommendation Strip
   ========================================================================== */
.related.products {
	width: 100%;
	max-width: none;
	margin-block: var(--space-xl) var(--space-2xl);
	padding: var(--space-lg);
	background: var(--pl-cream);
	border-block: 1px solid var(--pl-border);
}

.related.products>h2 {
	display: block;
	width: 100%;
	margin-block-end: var(--space-md);
	padding-block-end: var(--space-sm);
	font-size: var(--fs-lg);
	font-weight: 600;
	text-align: center;
	color: var(--pl-navy);
	letter-spacing: -0.01em;
	border-block-end: 1px solid var(--pl-border);
}

.related.products h2::before {
	display: none;
}

.related.products ul.products {
	display: flex;
	justify-content: center;
	gap: var(--space-md);
	margin: 0;
	padding: 0;
	list-style: none;
}

.related.products ul.products li.product:nth-child(n + 3) {
	display: none;
}

.related.products ul.products li.product {
	flex: 0 1 220px;
	display: flex;
	flex-direction: column;
	padding: var(--space-sm);
	background: var(--pl-white);
	border: 1px solid var(--pl-border);
	border-radius: var(--border-radius);
	text-align: center;
	cursor: pointer;
	transition: all var(--transition-base);
}

.related.products ul.products li.product:hover {
	border-color: var(--pl-taupe);
	transform: translateY(-3px);
	box-shadow: var(--shadow-md);
}

.related.products ul.products li.product a {
	display: block;
	text-decoration: none;
}

.related.products ul.products li.product img {
	width: 100%;
	height: 140px;
	margin-block-end: var(--space-sm);
	border-radius: 8px;
	object-fit: contain;
	background: var(--pl-off-white);
}

.related.products .woocommerce-loop-product__title {
	display: block;
	margin: 0 0 var(--space-xs);
	padding-inline: 4px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--pl-navy);
	word-wrap: break-word;
	overflow-wrap: break-word;
	hyphens: auto;
}

.related.products .price {
	margin: 0;
	margin-block-start: auto;
	padding-block-start: var(--space-xs);
	font-size: 15px;
	font-weight: 700;
	color: var(--pl-taupe);
}

.related.products .button {
	display: none;
}

@media (width <=600px) {
	.related.products ul.products {
		flex-direction: column;
		align-items: center;
	}

	.related.products ul.products li.product {
		flex: 0 0 auto;
		width: 100%;
		max-width: 280px;
	}
}

/* ==========================================================================
   Shop / Archive Pages - Powell Lines Brand Design
   ========================================================================== */
.woocommerce-shop,
.archive.woocommerce,
.post-type-archive-product {
	background: var(--pl-off-white);
}

.woocommerce-shop .site-main,
.archive.woocommerce .site-main,
.post-type-archive-product .site-main {
	max-width: var(--max-width);
	margin-inline: auto;
	padding: var(--space-xl) var(--space-lg);
}

/* Shop Header */
.woocommerce-products-header {
	margin-block-end: var(--space-xl);
	padding-block-end: var(--space-lg);
	text-align: center;
	border-block-end: 1px solid var(--pl-border);
}

.woocommerce-shop h1,
.archive.woocommerce h1,
.post-type-archive-product h1,
.woocommerce-products-header__title {
	margin-block-end: var(--space-xs);
	font-size: var(--fs-3xl);
	font-weight: 600;
	color: var(--pl-navy);
	letter-spacing: -0.02em;
}

.woocommerce-products-header p,
.term-description {
	max-width: 600px;
	margin-inline: auto;
	font-size: var(--fs-base);
	color: var(--pl-gray);
	line-height: 1.7;
}

/* Shop Controls Bar */
.woocommerce-notices-wrapper+.woocommerce-result-count,
.woocommerce-result-count {
	font-size: var(--fs-sm);
	color: var(--pl-gray);
}

.woocommerce-ordering {
	position: relative;
}

.woocommerce-ordering select {
	height: 44px;
	padding-inline: var(--space-md) var(--space-xl);
	font-size: var(--fs-sm);
	font-weight: 500;
	color: var(--pl-charcoal);
	background: var(--pl-white);
	border: 1px solid var(--pl-border);
	border-radius: 10px;
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%233f3f3f' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	transition: border-color var(--transition-base);
}

.woocommerce-ordering select:hover {
	border-color: var(--pl-taupe);
}

.woocommerce-ordering select:focus {
	border-color: var(--pl-navy);
	outline: none;
	box-shadow: var(--focus-ring);
}

/* Products Grid */
.products {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-lg);
	margin-block: var(--space-lg);
	padding: 0;
	list-style: none;
}

.products li.product {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 0;
	background: var(--pl-white);
	border: 1px solid var(--pl-border);
	border-radius: var(--border-radius-lg);
	overflow: hidden;
	cursor: pointer;
	transition: all var(--transition-base);
}

.products li.product:hover {
	border-color: var(--pl-taupe);
	transform: translateY(-6px);
	box-shadow: 0 12px 24px rgb(29 42 68 / 12%);
}

.products li.product>a:first-child {
	display: block;
	padding: var(--space-md);
	padding-block-end: 0;
}

.products li.product img {
	width: 100%;
	height: 240px;
	margin-block-end: var(--space-md);
	border-radius: var(--border-radius);
	object-fit: contain;
	background: var(--pl-off-white);
	transition: transform var(--transition-slow);
}

/* Override for custom product cards that use .product-image-wrapper */
.woo-product-card.product .product-image-wrapper img {
	height: 100%;
	margin-block-end: 0;
	border-radius: 0;
	object-fit: cover;
	background: none;
}

.products li.product:hover img {
	transform: scale(1.03);
}

.products li.product .woocommerce-loop-product__title {
	margin: 0;
	padding-inline: var(--space-md);
	font-size: var(--fs-md);
	font-weight: 600;
	line-height: 1.4;
	color: var(--pl-navy);
}

.products li.product .price {
	display: block;
	padding: var(--space-xs) var(--space-md) var(--space-sm);
	font-size: var(--fs-base);
	font-weight: 600;
	color: var(--pl-taupe);
}

.products li.product .price del {
	color: var(--pl-light-gray);
	font-weight: 400;
}

.products li.product .price ins {
	text-decoration: none;
	color: var(--pl-red);
}

.products li.product .button {
	display: block;
	width: calc(100% - var(--space-lg));
	margin: auto var(--space-sm) var(--space-md);
	padding-block: var(--space-sm);
	font-size: var(--fs-sm);
	font-weight: 600;
	text-align: center;
	color: var(--pl-navy);
	background: var(--pl-cream);
	border: 1px solid var(--pl-border);
	border-radius: 10px;
	box-shadow: none;
	transition: all var(--transition-base);
}

.products li.product .button:hover {
	color: var(--pl-white);
	background: var(--pl-navy);
	border-color: var(--pl-navy);
	transform: none;
}

/* Sale Badge */
.products li.product .onsale {
	position: absolute;
	top: var(--space-sm);
	left: var(--space-sm);
	z-index: 1;
	padding: 4px 12px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--pl-white);
	background: var(--pl-red);
	border-radius: 6px;
}

/* Pagination */
.woocommerce-pagination {
	margin-block-start: var(--space-xl);
	padding-block-start: var(--space-lg);
	text-align: center;
	border-block-start: 1px solid var(--pl-border);
}

.woocommerce-pagination ul {
	display: inline-flex;
	gap: var(--space-xs);
	padding: 0;
	margin: 0;
	list-style: none;
}

.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding-inline: var(--space-sm);
	font-size: var(--fs-sm);
	font-weight: 500;
	color: var(--pl-charcoal);
	background: var(--pl-white);
	border: 1px solid var(--pl-border);
	border-radius: 10px;
	transition: all var(--transition-base);
}

.woocommerce-pagination ul li a:hover {
	color: var(--pl-navy);
	border-color: var(--pl-taupe);
}

.woocommerce-pagination ul li span.current {
	color: var(--pl-white);
	background: var(--pl-navy);
	border-color: var(--pl-navy);
}

/* Empty Shop */
.woocommerce-info {
	padding: var(--space-xl);
	text-align: center;
	color: var(--pl-gray);
	background: var(--pl-white);
	border: 1px solid var(--pl-border);
	border-radius: var(--border-radius-lg);
}

@media (width <=1024px) {
	.products {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--space-md);
	}
}

@media (width <=600px) {
	.products {
		grid-template-columns: 1fr;
	}

	.products li.product img {
		height: 200px;
	}
}

/* ==========================================================================
   Cart Page - Modern E-commerce Design
   ========================================================================== */
.woocommerce-cart .site-main {
	max-width: 1100px;
	margin-inline: auto;
	padding: var(--space-xl) var(--space-lg);
}

/* Cart Title */
.woocommerce-cart .woocommerce>h1,
.woocommerce-cart .entry-title {
	margin-block-end: var(--space-lg);
	font-size: var(--fs-2xl);
	font-weight: 600;
	color: var(--pl-navy);
}

/* Main Layout: Cart + Totals Side by Side */
.woocommerce-cart .woocommerce {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-xl);
	align-items: flex-start;
}

/* Cart Form - Takes Available Space */
.woocommerce-cart-form {
	flex: 1;
	min-width: 0;
}

/* Hide Default Table Header */
.woocommerce-cart-form .shop_table thead {
	display: none;
}

/* Cart Table */
.woocommerce-cart-form .shop_table {
	width: 100%;
	border: none;
	border-collapse: separate;
	border-spacing: 0;
}

/* Individual Cart Item Row */
.woocommerce-cart-form .shop_table tbody tr.cart_item {
	display: flex;
	align-items: center;
	gap: var(--space-md);
	margin-block-end: var(--space-sm);
	padding: var(--space-md);
	background: var(--pl-white);
	border-radius: var(--border-radius-lg);
	box-shadow: 0 1px 3px rgb(0 0 0 / 5%);
	transition: box-shadow var(--transition-base);
}

.woocommerce-cart-form .shop_table tbody tr.cart_item:hover {
	box-shadow: 0 4px 12px rgb(0 0 0 / 8%);
}

/* Reset TD styling for flexbox */
.woocommerce-cart-form .shop_table tbody td {
	display: block;
	padding: 0;
	border: none;
}

/* Product Thumbnail */
.woocommerce-cart-form .product-thumbnail {
	flex-shrink: 0;
	width: 80px;
}

.woocommerce-cart-form .product-thumbnail a {
	display: block;
}

.woocommerce-cart-form .product-thumbnail img,
.woocommerce-cart-form .cart_item img {
	width: 80px;
	height: 80px;
	border-radius: 10px;
	object-fit: contain;
	background: var(--pl-off-white);
}

/* Product Name */
.woocommerce-cart-form .product-name {
	flex: 1;
	min-width: 0;
}

.woocommerce-cart-form .product-name a {
	display: block;
	margin-block-end: 4px;
	font-size: var(--fs-base);
	font-weight: 600;
	color: var(--pl-navy);
	line-height: 1.3;
	text-decoration: none;
}

.woocommerce-cart-form .product-name a:hover {
	color: var(--pl-taupe);
}

/* Item Meta (Personalization) */
.woocommerce-cart-form .product-name .variation,
.woocommerce-cart-form .product-name dl.variation {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-xs);
	margin: var(--space-xs) 0 0;
	padding: 0;
}

.woocommerce-cart-form .product-name .variation dt,
.woocommerce-cart-form .product-name .variation dd {
	margin: 0;
	padding: 0;
	font-size: var(--fs-xs);
}

.woocommerce-cart-form .product-name .variation dt {
	font-weight: 500;
	color: var(--pl-gray);
}

.woocommerce-cart-form .product-name .variation dd {
	color: var(--pl-charcoal);
}

.woocommerce-cart-form .product-name .variation dd p {
	margin: 0;
}

.woocommerce-cart-form .product-name .wc-item-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 0;
	margin: var(--space-xs) 0 0;
	list-style: none;
}

.woocommerce-cart-form .product-name .wc-item-meta li {
	display: inline-flex;
	gap: 4px;
	margin: 0;
	padding: 3px 8px;
	font-size: 11px;
	color: var(--pl-charcoal);
	background: var(--pl-cream);
	border-radius: 4px;
	list-style: none;
}

.woocommerce-cart-form .product-name .wc-item-meta li::before {
	display: none;
}

.woocommerce-cart-form .product-name .wc-item-meta strong {
	font-weight: 600;
	color: var(--pl-navy);
}

/* Price Column */
.woocommerce-cart-form .product-price {
	flex-shrink: 0;
	font-size: var(--fs-sm);
	font-weight: 500;
	color: var(--pl-gray);
	white-space: nowrap;
}

/* Quantity */
.woocommerce-cart-form .product-quantity {
	flex-shrink: 0;
}

.woocommerce-cart-form .quantity {
	display: flex;
	align-items: center;
}

.woocommerce-cart-form .quantity input {
	width: 56px;
	height: 40px;
	font-size: var(--fs-sm);
	font-weight: 500;
	text-align: center;
	color: var(--pl-navy);
	background: var(--pl-off-white);
	border: 1px solid transparent;
	border-radius: 8px;
	transition: all var(--transition-base);
}

.woocommerce-cart-form .quantity input:focus {
	background: var(--pl-white);
	border-color: var(--pl-navy);
	outline: none;
}

/* Subtotal */
.woocommerce-cart-form .product-subtotal {
	flex-shrink: 0;
	min-width: 70px;
	font-size: var(--fs-base);
	font-weight: 700;
	color: var(--pl-navy);
	text-align: right;
	white-space: nowrap;
}

/* Remove Button */
.woocommerce-cart-form .product-remove {
	flex-shrink: 0;
	width: 32px;
}

.woocommerce-cart-form .product-remove a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	font-size: 0;
	color: var(--pl-light-gray);
	background: transparent;
	border-radius: 8px;
	text-decoration: none;
	transition: all var(--transition-base);
}

.woocommerce-cart-form .product-remove a::before {
	content: "Ã—";
	font-size: 22px;
	line-height: 1;
}

.woocommerce-cart-form .product-remove a:hover {
	color: var(--pl-red);
	background: rgb(199 32 47 / 10%);
}

/* Actions Row - Coupon & Update */
.woocommerce-cart-form .shop_table tbody tr.actions,
.woocommerce-cart-form .actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-sm);
	margin-block-start: var(--space-md);
	padding: var(--space-md);
	background: var(--pl-white);
	border-radius: var(--border-radius-lg);
	box-shadow: none;
}

/* Reset for actions when inside table */
.woocommerce-cart-form .shop_table tbody tr.actions td {
	display: contents;
}

.woocommerce-cart-form .coupon {
	display: flex;
	gap: var(--space-xs);
	flex: 1;
	min-width: 200px;
}

.woocommerce-cart-form .coupon label {
	display: none;
}

.woocommerce-cart-form .coupon input[type="text"] {
	flex: 1;
	min-width: 120px;
	max-width: 200px;
	height: 44px;
	padding-inline: var(--space-sm);
	font-size: var(--fs-sm);
	background: var(--pl-off-white);
	border: 1px solid transparent;
	border-radius: 8px;
	transition: all var(--transition-base);
}

.woocommerce-cart-form .coupon input[type="text"]:focus {
	background: var(--pl-white);
	border-color: var(--pl-navy);
	outline: none;
}

.woocommerce-cart-form .coupon input[type="text"]::placeholder {
	color: var(--pl-light-gray);
}

.woocommerce-cart-form .coupon button {
	height: 44px;
	padding-inline: var(--space-md);
	font-size: var(--fs-sm);
	background: var(--pl-cream);
	color: var(--pl-navy);
	border: 1px solid var(--pl-border);
	box-shadow: none;
}

.woocommerce-cart-form .coupon button:hover {
	background: var(--pl-border);
}

.woocommerce-cart-form button[name="update_cart"] {
	margin-inline-start: auto;
	height: 44px;
	padding-inline: var(--space-md);
	font-size: var(--fs-sm);
	background: var(--pl-off-white);
	color: var(--pl-charcoal);
	border: 1px solid var(--pl-border);
	box-shadow: none;
}

.woocommerce-cart-form button[name="update_cart"]:hover {
	background: var(--pl-cream);
	color: var(--pl-navy);
}

.woocommerce-cart-form button[name="update_cart"]:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* Cart Totals Sidebar */
.cart-collaterals {
	flex-shrink: 0;
	width: 340px;
	position: sticky;
	top: calc(var(--header-height) + var(--space-lg));
}

.cart_totals {
	padding: var(--space-lg);
	background: var(--pl-white);
	border: 1px solid var(--pl-border);
	border-radius: var(--border-radius-lg);
	box-shadow: 0 1px 3px rgb(0 0 0 / 5%);
}

.cart_totals h2 {
	margin-block-end: var(--space-md);
	padding-block-end: var(--space-sm);
	font-size: var(--fs-md);
	font-weight: 600;
	color: var(--pl-navy);
	border-block-end: 1px solid var(--pl-border);
}

.cart_totals table {
	width: 100%;
	border: none;
}

.cart_totals th,
.cart_totals td {
	padding-block: var(--space-sm);
	font-size: var(--fs-sm);
	border: none;
}

.cart_totals th {
	font-weight: 500;
	color: var(--pl-gray);
	text-align: left;
}

.cart_totals td {
	font-weight: 600;
	color: var(--pl-charcoal);
	text-align: right;
}

.cart_totals ul {
	padding-inline-start: 0;
	margin: 0;
	list-style: none;
}

.cart_totals .order-total {
	border-block-start: 2px solid var(--pl-border);
}

.cart_totals .order-total th,
.cart_totals .order-total td {
	padding-block-start: var(--space-md);
	font-size: var(--fs-lg);
	font-weight: 700;
	color: var(--pl-navy);
}

.cart_totals .checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 54px;
	margin-block-start: var(--space-md);
	font-size: var(--fs-base);
	font-weight: 600;
	letter-spacing: 0.02em;
}

/* Security Indicator */
.cart_totals::after {
	content: "ðŸ”’ Secure checkout";
	display: block;
	margin-block-start: var(--space-md);
	padding-block-start: var(--space-sm);
	font-size: 11px;
	color: var(--pl-gray);
	text-align: center;
	border-block-start: 1px solid var(--pl-border);
}

/* Continue Shopping */
.return-to-shop {
	margin-block-start: var(--space-sm);
}

.return-to-shop .button {
	display: block;
	width: 100%;
	height: 44px;
	font-size: var(--fs-sm);
	text-align: center;
	line-height: 44px;
	color: var(--pl-navy);
	background: transparent;
	border: 1px solid var(--pl-border);
	box-shadow: none;
}

.return-to-shop .button:hover {
	background: var(--pl-cream);
	border-color: var(--pl-taupe);
}

/* Empty Cart */
.cart-empty {
	width: 100%;
	padding: var(--space-2xl);
	text-align: center;
	background: var(--pl-white);
	border-radius: var(--border-radius-lg);
}

.cart-empty::before {
	content: "ðŸ›’";
	display: block;
	margin-block-end: var(--space-sm);
	font-size: 48px;
}

/* Responsive Cart */
@media (width <=900px) {
	.woocommerce-cart .woocommerce {
		flex-direction: column;
	}

	.cart-collaterals {
		width: 100%;
		position: static;
	}

	.woocommerce-cart-form .product-price {
		display: none;
	}

	.woocommerce-cart-form .shop_table tbody tr.cart_item {
		flex-wrap: wrap;
	}

	.woocommerce-cart-form .product-thumbnail {
		width: 70px;
	}

	.woocommerce-cart-form .product-thumbnail img,
	.woocommerce-cart-form .cart_item img {
		width: 70px;
		height: 70px;
	}

	.woocommerce-cart-form .product-name {
		flex: 1 1 calc(100% - 120px);
	}

	.woocommerce-cart-form .product-quantity,
	.woocommerce-cart-form .product-subtotal,
	.woocommerce-cart-form .product-remove {
		margin-block-start: var(--space-sm);
	}

	.woocommerce-cart-form .coupon {
		width: 100%;
	}

	.woocommerce-cart-form .coupon input[type="text"] {
		max-width: none;
	}
}

/* ==========================================================================
   Checkout Page
   ========================================================================== */
.woocommerce-checkout {
	background: var(--pl-off-white);
}

.woocommerce-checkout h3 {
	margin-block-end: var(--space-md);
	font-size: var(--fs-lg);
}

.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
	margin-block-end: var(--space-lg);
	padding: var(--space-lg);
	background: var(--pl-cream);
	border: 1px solid var(--pl-border);
	border-radius: var(--border-radius-lg);
}

.woocommerce-checkout .form-row {
	margin-block-end: var(--space-md);
}

.woocommerce-checkout label {
	display: block;
	margin-block-end: var(--space-xs);
	font-size: var(--fs-sm);
	font-weight: 500;
	color: var(--pl-charcoal);
}

.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
	width: 100%;
	height: 48px;
	padding-inline: var(--space-sm);
	font-size: var(--fs-base);
	background: var(--pl-white);
	border: 1px solid var(--pl-border);
	border-radius: 10px;
	transition: border-color var(--transition-base);
}

.woocommerce-checkout textarea {
	height: auto;
	min-height: 100px;
	padding: var(--space-sm);
}

.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
	border-color: var(--pl-navy);
	outline: none;
	box-shadow: var(--focus-ring);
}

#order_review_heading {
	margin-block-end: var(--space-md);
	font-size: var(--fs-lg);
}

#order_review {
	padding: var(--space-lg);
	background: var(--pl-cream);
	border: 1px solid var(--pl-border);
	border-radius: var(--border-radius-lg);
}

.woocommerce-checkout-review-order-table {
	width: 100%;
	border: none;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding-block: var(--space-sm);
	background: transparent;
	border-block-end: 1px solid var(--pl-border);
}

.woocommerce-checkout-review-order-table th {
	font-size: var(--fs-xs);
	font-weight: 600;
	color: var(--pl-gray);
	text-transform: uppercase;
}

.woocommerce-checkout-review-order-table td {
	font-size: var(--fs-sm);
	color: var(--pl-navy);
	text-align: right;
}

.order-total th,
.order-total td {
	padding-block-start: var(--space-md);
	font-size: var(--fs-lg);
	font-weight: 600;
	border-block-end: none;
}

#place_order {
	width: 100%;
	height: 56px;
	margin-block-start: var(--space-md);
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
	margin-block: var(--space-md);
	padding: var(--space-sm);
	background: var(--pl-white);
	border: 1px solid var(--pl-border);
	border-radius: 10px;
}

/* ==========================================================================
   Responsive Adjustments
   ========================================================================== */
@media (width <=1024px) {
	.main-nav ul {
		gap: var(--space-lg);
	}

	.product-layout {
		gap: var(--space-xl);
	}

	.products {
		grid-template-columns: repeat(2, 1fr);
	}

	.cart-collaterals {
		grid-template-columns: 1fr;
	}
}

@media (width <=900px) {
	.product-layout {
		grid-template-columns: 1fr;
		gap: var(--space-lg);
	}

	.product-images-section {
		position: static;
	}
}

@media (width <=768px) {

	.single-product-container,
	.woocommerce-cart,
	.woocommerce-shop .site-main,
	.woocommerce-checkout {
		padding: var(--space-lg) var(--space-sm);
	}

	.product-layout {
		padding-block: var(--space-lg) 0;
	}

	.single_add_to_cart_button {
		float: none;
		width: 100%;
		margin-block-start: var(--space-sm);
	}

	.cart .quantity {
		display: block;
		margin-block-end: var(--space-sm);
	}

	.products {
		grid-template-columns: 1fr;
	}

	.related.products {
		padding: var(--space-md) var(--space-sm);
	}

	.related.products ul.products {
		flex-direction: column;
		align-items: center;
	}

	.related.products ul.products li.product {
		width: 100%;
		max-width: 280px;
	}
}

/* ==========================================================================
   Cart & Checkout â€” Container Width Expansion
   ========================================================================== */

/* Expand content area for cart/checkout pages */
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main {
	max-width: 100% !important;
	width: 100% !important;
}

/* Constrain the CONTENT only â€” not the header */
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
body.woocommerce-cart .section.page-content,
body.woocommerce-checkout .section.page-content {
	max-width: var(--max-width, 1200px) !important;
	width: 100%;
	margin-inline: auto;
}

/* Ensure header stays full-width on cart/checkout */
body.woocommerce-cart .site-header,
body.woocommerce-checkout .site-header,
body.woocommerce-cart header,
body.woocommerce-checkout header,
body.woocommerce-cart .section.page-hero,
body.woocommerce-checkout .section.page-hero {
	max-width: 100% !important;
	width: 100% !important;
}

/* Override the editorial container constraint */
.woocommerce-cart .container.container--editorial,
.woocommerce-checkout .container.container--editorial,
body.woocommerce-cart .container,
body.woocommerce-checkout .container {
	max-width: var(--max-width, 1200px) !important;
	width: 100% !important;
	padding-inline: var(--space-lg, 1.5rem);
}

/* â”€â”€ Minimal Page Headers (Cart/Checkout) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Collapse the theme section containers (64px each = 128px gap) */
.woocommerce-cart .section.page-hero,
.woocommerce-checkout .section.page-hero {
	padding-block: var(--space-xl, 3rem) var(--space-md, 1rem) !important;
}

.woocommerce-cart .section.page-content,
.woocommerce-checkout .section.page-content {
	padding-block-start: var(--space-xs, 0.25rem) !important;
}

/* Collapse the hero section padding to near-zero */
.woocommerce-cart .about-hero,
.woocommerce-checkout .about-hero {
	padding-block: 0 !important;
	margin-block: 0 !important;
}

/* Small left-aligned title */
.woocommerce-cart .about-hero__title,
.woocommerce-checkout .about-hero__title {
	font-family: 'Outfit', sans-serif !important;
	font-size: var(--fs-2xl, 2rem) !important;
	font-weight: 700 !important;
	font-style: normal !important;
	color: var(--pl-navy, #1d2a44) !important;
	text-align: center !important;
	margin: 0 auto !important;
	padding: 0 !important;
	letter-spacing: -0.01em;
}

/* Hide the decorative underline bar */
.woocommerce-cart .about-hero__title::after,
.woocommerce-checkout .about-hero__title::after {
	display: none !important;
}

/* Collapse ALL gap between title hero and cart/checkout content */
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content {
	padding-block-start: 0 !important;
	margin-block-start: 0 !important;
}

/* Kill the WooCommerce block internal top padding/margin */
.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-checkout .wp-block-woocommerce-checkout {
	margin-block-start: 0 !important;
	padding-block-start: 0 !important;
}

.woocommerce-cart .wc-block-cart,
.woocommerce-checkout .wc-block-checkout {
	margin-block-start: 0 !important;
	padding-block-start: var(--space-sm, 0.5rem) !important;
}

/* Kill the filled-cart-block top padding that creates the visible gap */
.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
.woocommerce-checkout .wc-block-checkout__form {
	margin-block-start: 0 !important;
	padding-block-start: 0 !important;
}

/* Collapse sidebar-layout top gap */
.woocommerce-cart .wc-block-components-sidebar-layout {
	margin-block-start: 0 !important;
	padding-block-start: 0 !important;
}

/* Override WordPress block alignment constraints */
.woocommerce-cart .wp-block-post-content,
.woocommerce-checkout .wp-block-post-content,
.woocommerce-cart .wp-block-group__inner-container,
.woocommerce-checkout .wp-block-group__inner-container {
	max-width: var(--max-width, 1200px) !important;
	width: 100%;
}

/* ==========================================================================
   Cart Page â€” Premium Two-Column Layout
   ========================================================================== */

/* ── Force Two-Column Grid (desktop only — let .is-small stack) ── */
.wc-block-cart .wc-block-components-sidebar-layout,
.wc-block-cart .wc-block-components-sidebar-layout.is-medium,
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout,
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout.is-medium {
	display: grid !important;
	grid-template-columns: 1fr 380px !important;
	gap: var(--space-2xl, 2.5rem) !important;
	align-items: start !important;
	flex-direction: unset !important;
	max-width: var(--max-width, 1200px) !important;
	width: 100% !important;
	margin-inline: auto;
	padding-inline: var(--space-lg, 1.5rem);
}

/* ── .is-small must stack (WooCommerce applies this on narrow containers) ── */
.wc-block-cart .wc-block-components-sidebar-layout.is-small,
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout.is-small {
	grid-template-columns: 1fr !important;
	gap: var(--space-lg, 1.5rem) !important;
}

/* ── Fallback Stack for Mobile (In case container queries fail) ── */
@media (max-width: 900px) {

	.wc-block-cart .wc-block-components-sidebar-layout,
	.wc-block-cart .wc-block-components-sidebar-layout.is-medium,
	.wc-block-cart .wc-block-components-sidebar-layout.is-large,
	.wp-block-woocommerce-cart .wc-block-components-sidebar-layout,
	.wp-block-woocommerce-cart .wc-block-components-sidebar-layout.is-medium,
	.wp-block-woocommerce-cart .wc-block-components-sidebar-layout.is-large {
		grid-template-columns: 1fr !important;
		gap: var(--space-lg, 1.5rem) !important;
		padding-inline: 0 !important;
		/* Reset horizontal padding if needed */
	}
}

/* Expand WooCommerce cart block content width */
.page-template-default .entry-content .wp-block-woocommerce-cart,
.woocommerce-page .entry-content .wp-block-woocommerce-cart,
.wp-block-woocommerce-cart {
	max-width: var(--max-width, 1200px) !important;
	width: 100% !important;
	margin-inline: auto;
}

/* Also expand the filled cart block wrapper */
.wp-block-woocommerce-filled-cart-block {
	max-width: 100% !important;
	width: 100% !important;
}

/* â”€â”€ Cart Items Column â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-cart .wc-block-components-main {
	width: 100% !important;
	padding-inline-end: 0 !important;
}

/* Item Details Header */
.wc-block-cart-items {
	border-collapse: collapse;
}

/* Individual cart line items */
.wc-block-cart-items .wc-block-cart-items__row {
	padding-block: var(--space-md, 1rem) !important;
	border-bottom: 1px solid var(--pl-border, #e2e0dc) !important;
	align-items: center;
}

.wc-block-cart-items .wc-block-cart-items__row:last-child {
	border-bottom: none !important;
}

/* Product image â€” larger and rounded */
.wc-block-cart-item__image {
	width: 90px !important;
	min-width: 90px !important;
}

.wc-block-cart-item__image img {
	border-radius: 10px !important;
	object-fit: cover;
	border: 1px solid var(--pl-border, #e2e0dc);
}

/* Product name */
.wc-block-cart-item__product .wc-block-components-product-name {
	font-family: 'Outfit', sans-serif !important;
	font-size: var(--fs-base, 1rem) !important;
	font-weight: 600 !important;
	color: var(--pl-navy, #1d2a44) !important;
	text-decoration: none !important;
	line-height: 1.4;
}

.wc-block-cart-item__product .wc-block-components-product-name:hover {
	color: var(--pl-taupe, #7a6f63) !important;
}

/* Hide short description â€” keep personalization details visible */
.wc-block-cart-item__product .wc-block-components-product-metadata__description {
	display: none !important;
}

/* Style personalization details in cart */
.wc-block-cart-item__product .wc-block-components-product-details {
	margin-block-start: 4px;
	padding: 0;
	list-style: none;
}

.wc-block-cart-item__product .wc-block-components-product-details li {
	font-family: 'Outfit', sans-serif;
	font-size: var(--fs-xs, 0.75rem);
	color: var(--pl-charcoal, #3f3f3f);
	padding-block: 1px;
}

.wc-block-cart-item__product .wc-block-components-product-details__name {
	font-weight: 600;
	color: var(--pl-navy, #1d2a44);
}

.wc-block-cart-item__product .wc-block-components-product-details__value {
	font-weight: 500;
}

/* Product price */
.wc-block-cart-item__product .wc-block-components-product-price {
	font-family: 'Outfit', sans-serif !important;
	font-size: var(--fs-sm, 0.875rem) !important;
	font-weight: 500 !important;
	color: var(--pl-charcoal, #3f3f3f) !important;
}

/* Line total price */
.wc-block-cart-item__total .wc-block-components-product-price {
	font-family: 'Outfit', sans-serif !important;
	font-size: var(--fs-md, 1.125rem) !important;
	font-weight: 700 !important;
	color: var(--pl-navy, #1d2a44) !important;
}

/* â”€â”€ Quantity Controls â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-cart-item__quantity .wc-block-components-quantity-selector {
	border: 1px solid var(--pl-border, #e2e0dc) !important;
	border-radius: 10px !important;
	overflow: hidden;
	background: var(--pl-white, #ffffff) !important;
	display: inline-flex !important;
	width: auto !important;
}

.wc-block-components-quantity-selector__button {
	background: transparent !important;
	border: none !important;
	color: var(--pl-navy, #1d2a44) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	flex: 0 0 38px !important;
	width: 38px !important;
	transition: background 0.2s ease;
}

.wc-block-components-quantity-selector__button:hover {
	background: var(--pl-cream, #f5f0eb) !important;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__input {
	font-family: 'Outfit', sans-serif !important;
	font-size: var(--fs-sm, 0.875rem) !important;
	font-weight: 600 !important;
	color: var(--pl-navy, #1d2a44) !important;
	border-inline: 1px solid var(--pl-border, #e2e0dc) !important;
	width: 40px !important;
	text-align: center;
}

/* Remove item link â€” styled as "Ã— REMOVE" */
.wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
	font-family: 'Outfit', sans-serif !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	color: var(--pl-light-gray, #999) !important;
	text-decoration: none !important;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	transition: color 0.2s ease;
	margin-block-start: 6px;
	display: inline-block;
}

.wc-block-cart-item__quantity .wc-block-cart-item__remove-link:hover {
	color: #e53e3e !important;
}

/* â”€â”€ Order Summary Sidebar (Elevated Card) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-cart .wc-block-components-sidebar {
	position: sticky !important;
	top: calc(var(--header-height, 80px) + var(--space-lg, 1.5rem));
	background: var(--pl-white, #ffffff) !important;
	border: 1px solid var(--pl-border, #e2e0dc) !important;
	border-radius: var(--border-radius-lg, 14px) !important;
	padding: var(--space-lg, 1.5rem) !important;
	box-shadow: 0 4px 24px rgba(29, 42, 68, 0.06) !important;
	width: 100% !important;
}

.wc-block-cart__totals-title {
	font-family: 'Outfit', sans-serif !important;
	font-size: var(--fs-lg, 1.25rem) !important;
	font-weight: 700 !important;
	color: var(--pl-navy, #1d2a44) !important;
	letter-spacing: -0.01em;
	padding-block-end: var(--space-sm, 0.5rem);
	border-bottom: 2px solid var(--pl-navy, #1d2a44);
	margin-block-end: var(--space-md, 1rem);
}

/* ── Cart Totals Visual Reorder ─────────────────────────────
   Desired order: Subtotal → Sales Tax → Shipping → Total
   WooCommerce Blocks renders inside cart-order-summary-block
   which must be a flex column for order to take effect.      */

/* Make the cart order summary a flex column */
.wc-block-cart .wc-block-cart-order-summary-block {
	display: flex !important;
	flex-direction: column !important;
}

/* Title: always first */
.wc-block-cart .wc-block-cart__totals-title {
	order: 0 !important;
}

/* Coupon */
.wc-block-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block {
	order: 1 !important;
}

/* Subtotal */
.wc-block-cart .wp-block-woocommerce-cart-order-summary-subtotal-block {
	order: 2 !important;
}

/* Fee */
.wc-block-cart .wp-block-woocommerce-cart-order-summary-fee-block {
	order: 3 !important;
}

/* Discount */
.wc-block-cart .wp-block-woocommerce-cart-order-summary-discount-block {
	order: 4 !important;
}

/* Tax — BEFORE shipping */
.wc-block-cart .wp-block-woocommerce-cart-order-summary-taxes-block {
	order: 5 !important;
}

/* Shipping — AFTER tax */
.wc-block-cart .wp-block-woocommerce-cart-order-summary-shipping-block {
	order: 6 !important;
}

/* Totals table rows */
.wc-block-components-totals-item {
	font-family: 'Outfit', sans-serif !important;
	padding: 12px 16px !important;
}

.wc-block-components-totals-item__label {
	font-weight: 500 !important;
	color: var(--pl-charcoal, #3f3f3f) !important;
	font-size: var(--fs-sm, 0.875rem) !important;
}

.wc-block-components-totals-item__value {
	font-weight: 700 !important;
	color: var(--pl-navy, #1d2a44) !important;
	font-size: var(--fs-sm, 0.875rem) !important;
}

/* Grand total row */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-size: var(--fs-md, 1.125rem) !important;
	font-weight: 700 !important;
	color: var(--pl-navy, #1d2a44) !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: var(--fs-xl, 1.5rem) !important;
	font-weight: 800 !important;
	color: var(--pl-navy, #1d2a44) !important;
}

/* â”€â”€ Proceed to Checkout CTA â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-cart__submit-container {
	margin-block-start: var(--space-md, 1rem);
}

.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100% !important;
	padding: 16px var(--space-lg, 1.5rem) !important;
	font-family: 'Outfit', sans-serif !important;
	font-size: var(--fs-md, 1.125rem) !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em;
	color: var(--pl-white, #ffffff) !important;
	background: var(--pl-navy, #1d2a44) !important;
	border: none !important;
	border-radius: var(--border-radius-lg, 14px) !important;
	cursor: pointer;
	transition: background 0.25s ease, transform 0.15s ease, box-shadow 0.25s ease;
	text-align: center;
	text-decoration: none !important;
	line-height: 1.4;
}

.wc-block-cart__submit-button:hover {
	background: var(--pl-taupe, #7a6f63) !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 16px rgba(29, 42, 68, 0.18);
}

.wc-block-cart__submit-button:active {
	transform: translateY(0);
	box-shadow: 0 2px 6px rgba(29, 42, 68, 0.12);
}

/* â”€â”€ Coupon Field in Cart â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-components-totals-coupon .wc-block-components-totals-coupon__button {
	font-family: 'Outfit', sans-serif !important;
	font-weight: 600 !important;
	color: var(--pl-white, #ffffff) !important;
	background: var(--pl-navy, #1d2a44) !important;
	font-size: var(--fs-sm, 0.875rem) !important;
	border-radius: 10px !important;
	padding: 10px 18px !important;
	border: none !important;
	cursor: pointer !important;
	transition: background 0.2s ease !important;
	line-height: 1.4 !important;
}

.wc-block-components-totals-coupon .wc-block-components-totals-coupon__button:hover {
	background: var(--pl-taupe, #7a6f63) !important;
}

.wc-block-components-totals-coupon__content {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
}

.wc-block-components-totals-coupon__content input {
	font-family: 'Outfit', sans-serif !important;
	border-radius: 10px !important;
	border: 1px solid var(--pl-border, #e2e0dc) !important;
	padding: 10px var(--space-sm, 0.5rem) !important;
	font-size: var(--fs-sm, 0.875rem) !important;
	flex: 1 !important;
}

.wc-block-components-totals-coupon__content input:focus {
	border-color: var(--pl-navy, #1d2a44) !important;
	outline: none;
	box-shadow: 0 0 0 3px rgba(29, 42, 68, 0.1);
}

/* â”€â”€ Shipping in Cart Totals â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-components-totals-shipping {
	font-family: 'Outfit', sans-serif !important;
}

.wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__label {
	font-family: 'Outfit', sans-serif !important;
	font-size: var(--fs-sm, 0.875rem) !important;
	font-weight: 500 !important;
}

/* â”€â”€ Empty Cart State â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-cart--is-empty .wc-block-cart__empty-cart__title {
	font-family: 'Outfit', sans-serif !important;
	font-size: var(--fs-xl, 1.5rem) !important;
	font-weight: 700 !important;
	color: var(--pl-navy, #1d2a44) !important;
	text-align: center;
}

/* ==========================================================================
   Checkout Page — Premium Styling
   ========================================================================== */

/* ── Checkout container max-width ── */
.wp-block-woocommerce-checkout,
.wc-block-checkout {
	max-width: var(--max-width, 1200px) !important;
	margin-inline: auto;
	font-family: 'Outfit', sans-serif !important;
}

/* ── Checkout Sidebar: sticky below header ── */
.wc-block-checkout .wc-block-components-sidebar {
	position: sticky !important;
	top: calc(var(--header-height, 80px) + var(--space-lg, 1.5rem)) !important;
	align-self: start !important;
}

/* ── Order Summary Toggle Card ── */
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-totals-wrapper:first-child {
	font-family: 'Outfit', sans-serif !important;
}

.wc-block-components-totals-accordion .wc-block-components-panel__button {
	font-family: 'Outfit', sans-serif !important;
	font-weight: 700 !important;
	color: var(--pl-navy, #1d2a44) !important;
	letter-spacing: -0.01em !important;
}

.wc-block-components-totals-accordion .wc-block-components-panel__button .wc-block-components-totals-item__value {
	font-weight: 800 !important;
	color: var(--pl-navy, #1d2a44) !important;
}

/* ── Section Headings (Contact info, Shipping, Payment) ── */
.wc-block-components-checkout-step__title {
	font-family: 'Outfit', sans-serif !important;
	font-weight: 700 !important;
	color: var(--pl-navy, #1d2a44) !important;
	letter-spacing: -0.01em;
}

/* ── Text Inputs ── */
.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-text-input textarea {
	font-family: 'Outfit', sans-serif !important;
	border-radius: 10px !important;
	border: 1px solid var(--pl-border, #e2e0dc) !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.wc-block-checkout .wc-block-components-text-input input:focus,
.wc-block-checkout .wc-block-components-text-input textarea:focus {
	border-color: var(--pl-navy, #1d2a44) !important;
	box-shadow: 0 0 0 3px rgba(29, 42, 68, 0.1) !important;
	outline: none !important;
}

.wc-block-checkout .wc-block-components-text-input label {
	font-family: 'Outfit', sans-serif !important;
	color: var(--pl-charcoal, #4A4A4A) !important;
}

/* ── Radio Controls (Shipping options) ── */
.wc-block-checkout .wc-block-components-radio-control__label {
	font-family: 'Outfit', sans-serif !important;
}

/* ── Place Order Button ── */
.wc-block-components-checkout-place-order-button {
	font-family: 'Outfit', sans-serif !important;
	font-weight: 700 !important;
	font-size: var(--fs-md, 1.125rem) !important;
	letter-spacing: 0.02em !important;
	color: var(--pl-white, #ffffff) !important;
	background: var(--pl-navy, #1d2a44) !important;
	border: none !important;
	border-radius: var(--border-radius-lg, 14px) !important;
	padding: 16px !important;
	cursor: pointer !important;
	transition: background 0.25s ease, transform 0.15s ease, box-shadow 0.25s ease !important;
}

.wc-block-components-checkout-place-order-button:hover {
	background: var(--pl-taupe, #7a6f63) !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 16px rgba(29, 42, 68, 0.18) !important;
}

.wc-block-components-checkout-place-order-button:active {
	transform: translateY(0) !important;
}

/* ── Return to Cart link ── */
.wc-block-components-checkout-return-to-cart-button {
	font-family: 'Outfit', sans-serif !important;
	font-weight: 500 !important;
	color: var(--pl-charcoal, #4A4A4A) !important;
	text-decoration: none !important;
}

.wc-block-components-checkout-return-to-cart-button:hover {
	color: var(--pl-navy, #1d2a44) !important;
}

/* ── Checkout Totals ── */
.wc-block-checkout .wc-block-components-totals-footer-item {
	border-top: 2px solid var(--pl-navy, #1d2a44) !important;
	padding-top: 16px !important;
	margin-top: 8px !important;
}

.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-family: 'Outfit', sans-serif !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	color: var(--pl-charcoal, #4A4A4A) !important;
}

.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: 'Outfit', sans-serif !important;
	font-weight: 800 !important;
	font-size: var(--fs-2xl, 1.5rem) !important;
	color: var(--pl-navy, #1d2a44) !important;
	letter-spacing: -0.02em !important;
}

/* ══════════════════════════════════════════════════════════════════
   MOBILE-FIRST · CART & CHECKOUT (Premium Touch-Friendly)
   ══════════════════════════════════════════════════════════════════ */

/* ── Tablet: Stack the grid ── */
@media (max-width: 900px) {

	.wc-block-cart .wc-block-components-sidebar-layout,
	.wc-block-cart .wc-block-components-sidebar-layout.is-medium {
		grid-template-columns: 1fr !important;
		gap: var(--space-lg, 1.5rem) !important;
	}

	.wc-block-cart .wc-block-components-sidebar,
	.wc-block-checkout .wc-block-components-sidebar {
		position: static !important;
	}

	.wc-block-cart-item__image {
		width: 72px !important;
		min-width: 72px !important;
	}

	/* Checkout: tighter side margins on tablet */
	.wc-block-checkout {
		padding-inline: 12px !important;
	}

	.woocommerce-checkout .entry-content {
		padding-inline: 12px !important;
	}

	.wc-block-checkout .wp-block-woocommerce-checkout-fields-block,
	.wc-block-checkout .wc-block-components-sidebar-layout {
		padding-inline: 0 !important;
	}
}

/* ── Phone: Full touch-friendly overhaul ── */
@media (max-width: 600px) {

	/* --- Cart Page Title --- */
	.woocommerce-cart .about-hero__title {
		font-size: clamp(1.75rem, 6vw, 2.25rem) !important;
		padding-inline: var(--space-sm, 0.5rem);
	}

	/* --- Layout --- */
	.wc-block-cart .wc-block-components-sidebar-layout {
		padding-inline: 16px !important;
		gap: 20px !important;
	}

	/* --- Product Row (card-like feel) --- */
	.wc-block-cart-items .wc-block-cart-items__row {
		padding-block: 16px !important;
	}

	/* --- Product Image --- */
	.wc-block-cart-item__image {
		width: 72px !important;
		min-width: 72px !important;
	}

	.wc-block-cart-item__image img {
		border-radius: 8px !important;
	}

	/* --- Product Name --- */
	.wc-block-cart-item__product .wc-block-components-product-name {
		font-size: var(--fs-sm, 0.875rem) !important;
		line-height: 1.3 !important;
	}

	/* --- Line Total --- */
	.wc-block-cart-item__total .wc-block-components-product-price {
		font-size: var(--fs-base, 1rem) !important;
	}

	/* --- Quantity Controls: touch-friendly, balanced --- */
	.wc-block-components-quantity-selector__button {
		flex: 0 0 38px !important;
		width: 38px !important;
		min-height: 38px !important;
		font-size: 18px !important;
	}

	.wc-block-components-quantity-selector .wc-block-components-quantity-selector__input {
		width: 36px !important;
		flex: 0 0 36px !important;
		min-height: 38px !important;
		font-size: var(--fs-base, 1rem) !important;
	}

	/* --- Remove Item: larger touch target --- */
	.wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
		font-size: 12px !important;
		padding: 6px 0 !important;
		min-height: 36px !important;
		display: inline-flex !important;
		align-items: center !important;
	}

	/* --- Sidebar Card (full-width, edge-to-edge feel) --- */
	.wc-block-cart .wc-block-components-sidebar {
		border-radius: 12px !important;
		padding: 20px 16px !important;
	}

	/* --- Coupon: Stack vertically on tiny screens --- */
	.wc-block-components-totals-coupon__content {
		flex-direction: column !important;
		gap: 8px !important;
	}

	.wc-block-components-totals-coupon .wc-block-components-totals-coupon__button {
		width: 100% !important;
		padding: 12px !important;
		min-height: 44px !important;
	}

	.wc-block-components-totals-coupon__content input {
		width: 100% !important;
		min-height: 44px !important;
		font-size: 16px !important;
		/* prevents iOS zoom */
	}

	/* --- Checkout CTA --- */
	.wc-block-cart__submit-button {
		font-size: var(--fs-base, 1rem) !important;
		padding: 16px !important;
		min-height: 52px !important;
		border-radius: 12px !important;
	}

	/* --- Express Checkout Buttons --- */
	.wc-block-cart__payment-options .wc-block-components-express-payment {
		gap: 8px !important;
	}

	/*  ═══ CHECKOUT PAGE ═══  */

	/* --- Checkout Container: tight side margins on mobile --- */
	.wc-block-checkout {
		padding-inline: 8px !important;
	}

	.wc-block-checkout .wp-block-woocommerce-checkout-fields-block,
	.wc-block-checkout .wc-block-components-sidebar-layout {
		padding-inline: 0 !important;
	}

	.woocommerce-checkout .entry-content {
		padding-inline: 8px !important;
	}

	/* --- Checkout Title --- */
	.woocommerce-checkout .about-hero__title {
		font-size: clamp(1.75rem, 6vw, 2.25rem) !important;
		padding-inline: var(--space-sm, 0.5rem);
	}

	/* --- Form Fields: 16px font prevents iOS zoom, larger touch area --- */
	.wc-block-checkout .wc-block-components-text-input input,
	.wc-block-checkout .wc-block-components-text-input textarea,
	.wc-block-checkout .wc-block-components-combobox .components-combobox-control input {
		font-size: 16px !important;
		min-height: 48px !important;
		padding: 14px 12px !important;
	}

	/* --- Floating Labels --- */
	.wc-block-checkout .wc-block-components-text-input label {
		font-size: 14px !important;
	}

	/* --- Section Headings --- */
	.wc-block-checkout .wc-block-components-checkout-step__title {
		font-size: var(--fs-md, 1.125rem) !important;
	}

	/* --- Radio Buttons: Larger touch target --- */
	.wc-block-checkout .wc-block-components-radio-control__option {
		padding: 14px 12px !important;
		min-height: 48px !important;
	}

	/* --- Shipping Radio --- */
	.wc-block-checkout .wc-block-components-radio-control__label {
		font-size: var(--fs-sm, 0.875rem) !important;
	}

	/* --- Order Summary Card --- */
	.wc-block-checkout .wc-block-components-order-summary {
		padding: 16px !important;
	}

	.wc-block-checkout .wc-block-components-order-summary .wc-block-components-product-name {
		font-size: var(--fs-sm, 0.875rem) !important;
	}

	/* --- Checkout Totals Row --- */
	.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
		font-size: var(--fs-xl, 1.25rem) !important;
	}

	/* --- Place Order Button: Full-width, tall, premium --- */
	.wc-block-checkout__actions .wc-block-components-checkout-place-order-button,
	.wc-block-checkout .wc-block-components-checkout-place-order-button {
		min-height: 56px !important;
		font-size: var(--fs-base, 1rem) !important;
		padding: 16px !important;
		border-radius: 12px !important;
	}

	/* --- Return to Cart --- */
	.wc-block-checkout__actions .wc-block-components-checkout-return-to-cart-button {
		min-height: 44px !important;
		font-size: var(--fs-sm, 0.875rem) !important;
	}

	/* --- Express Checkout: Tighter spacing --- */
	.wc-block-checkout .wc-block-components-express-payment {
		gap: 8px !important;
	}

	.wc-block-checkout .wc-block-components-express-payment__title {
		font-size: var(--fs-sm, 0.875rem) !important;
	}

	/* --- Prevent horizontal overflow globally --- */
	.woocommerce-cart .entry-content,
	.woocommerce-checkout .entry-content {
		overflow-x: hidden !important;
	}
}


/* ==========================================================================
   Checkout Page â€” Premium Overrides
   ========================================================================== */

/* â”€â”€ Checkout Container â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-checkout {
	max-width: var(--max-width, 1200px);
	margin-inline: auto;
	padding-inline: var(--space-lg, 1.5rem);
	font-family: 'Outfit', sans-serif;
}

/* â”€â”€ Section Headings â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-checkout .wc-block-components-checkout-step__title,
.wc-block-checkout .wc-block-components-title {
	font-family: 'Outfit', sans-serif !important;
	font-weight: 700 !important;
	color: var(--pl-navy, #1d2a44) !important;
	letter-spacing: -0.01em;
}

/* â”€â”€ Form Fields â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-text-input textarea,
.wc-block-checkout .wc-block-components-select .wc-block-components-select__container select,
.wc-block-checkout .wc-block-components-combobox .components-combobox-control input {
	font-family: 'Outfit', sans-serif !important;
	font-size: var(--fs-base, 1rem) !important;
	border-radius: 10px !important;
	border: 1px solid var(--pl-border, #e2e0dc) !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.wc-block-checkout .wc-block-components-text-input input:focus,
.wc-block-checkout .wc-block-components-text-input textarea:focus,
.wc-block-checkout .wc-block-components-combobox .components-combobox-control input:focus {
	border-color: var(--pl-navy, #1d2a44) !important;
	outline: none;
	box-shadow: 0 0 0 3px rgba(29, 42, 68, 0.1) !important;
}

/* Floating labels */
.wc-block-checkout .wc-block-components-text-input label {
	font-family: 'Outfit', sans-serif !important;
	color: var(--pl-gray, #6b6b6b) !important;
}

/* â”€â”€ Order Summary â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-components-order-summary .wc-block-components-order-summary-item__description {
	font-family: 'Outfit', sans-serif;
}

.wc-block-components-order-summary .wc-block-components-product-name {
	font-family: 'Outfit', sans-serif !important;
	font-weight: 600 !important;
	color: var(--pl-navy, #1d2a44) !important;
	text-decoration: none !important;
	font-size: var(--fs-sm, 0.875rem) !important;
}

.wc-block-components-order-summary .wc-block-components-product-price {
	font-family: 'Outfit', sans-serif !important;
	font-weight: 700 !important;
	color: var(--pl-navy, #1d2a44) !important;
}

/* Hide description in checkout order summary */
.wc-block-components-order-summary .wc-block-components-product-metadata__description {
	display: none !important;
}

/* Style personalization details in checkout summary */
.wc-block-components-order-summary .wc-block-components-product-details {
	list-style: none;
	padding: 0;
	margin-block-start: 4px;
}

.wc-block-components-order-summary .wc-block-components-product-details li {
	font-family: 'Outfit', sans-serif;
	font-size: var(--fs-xs, 0.75rem);
	color: var(--pl-charcoal, #3f3f3f);
}

.wc-block-components-order-summary .wc-block-components-product-details__name {
	font-weight: 600;
}

/* â”€â”€ Checkout Totals â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-checkout .wc-block-components-totals-item {
	font-family: 'Outfit', sans-serif !important;
}

.wc-block-checkout .wc-block-components-totals-item__label {
	font-weight: 500 !important;
	color: var(--pl-charcoal, #3f3f3f) !important;
}

.wc-block-checkout .wc-block-components-totals-item__value {
	font-weight: 700 !important;
	color: var(--pl-navy, #1d2a44) !important;
}

.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-size: var(--fs-md, 1.125rem) !important;
	font-weight: 700 !important;
}

.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: var(--fs-lg, 1.25rem) !important;
	font-weight: 800 !important;
	color: var(--pl-navy, #1d2a44) !important;
}

/* â”€â”€ Place Order Button (THE CTA) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-checkout__actions .wc-block-components-checkout-place-order-button,
.wc-block-checkout .wc-block-components-checkout-place-order-button {
	display: block !important;
	width: 100% !important;
	padding: 16px var(--space-lg, 1.5rem) !important;
	font-family: 'Outfit', sans-serif !important;
	font-size: var(--fs-md, 1.125rem) !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em;
	color: var(--pl-white, #ffffff) !important;
	background: var(--pl-navy, #1d2a44) !important;
	border: none !important;
	border-radius: var(--border-radius-lg, 14px) !important;
	cursor: pointer;
	transition: background 0.25s ease, transform 0.15s ease, box-shadow 0.25s ease;
	text-align: center;
	line-height: 1.4;
	order: 1 !important;
}

.wc-block-checkout__actions .wc-block-components-checkout-place-order-button:hover {
	background: var(--pl-taupe, #7a6f63) !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 16px rgba(29, 42, 68, 0.18);
}

/* â”€â”€ Return to Cart (Premium subtle link below Place Order) â”€â”€ */
.wc-block-checkout__actions .wc-block-components-checkout-return-to-cart-button {
	display: inline-block !important;
	width: auto !important;
	padding: var(--space-xs, 0.25rem) var(--space-sm, 0.5rem) !important;
	font-family: 'Outfit', sans-serif !important;
	font-size: var(--fs-sm, 0.875rem) !important;
	font-weight: 500 !important;
	color: var(--pl-navy, #1d2a44) !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
	text-align: center;
	order: 2 !important;
	margin-block-start: var(--space-md, 1rem) !important;
	letter-spacing: 0.01em;
	opacity: 0.7;
	transition: opacity 0.2s ease, color 0.2s ease;
}

.wc-block-checkout__actions .wc-block-components-checkout-return-to-cart-button:hover {
	color: var(--pl-navy, #1d2a44) !important;
	opacity: 1 !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none;
}

/* Action button container â€” full-width stacked column layout */
.wc-block-checkout__actions {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 0 !important;
	max-width: 100% !important;
}

/* Override the inner actions_row that forces side-by-side */
.wc-block-checkout__actions .wc-block-checkout__actions_row,
.wc-block-checkout__actions_row {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	align-items: center !important;
	gap: 0 !important;
}

/* â”€â”€ Shipping Method â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-checkout .wc-block-components-shipping-rates-control {
	font-family: 'Outfit', sans-serif;
}

.wc-block-checkout .wc-block-components-radio-control__label {
	font-family: 'Outfit', sans-serif !important;
	font-weight: 500 !important;
}

/* â”€â”€ Payment Section â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-checkout .wc-block-components-radio-control__option {
	border-radius: 10px !important;
}

/* â”€â”€ Coupon: Show on Cart only, hide on Checkout â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-checkout .wc-block-components-totals-coupon {
	display: none !important;
}

/* â”€â”€ FREE SHIPPING CELEBRATION â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* When free shipping is active, highlight the "Free shipping" totals row */
.wc-block-components-totals-shipping .wc-block-components-totals-item__value {
	font-family: 'Outfit', sans-serif !important;
}

/* Style the "FREE" text as a brand badge when it appears */
.wc-block-components-totals-shipping .wc-block-components-totals-item__value strong,
.wc-block-components-totals-shipping .wc-block-formatted-money-amount--free {
	color: var(--pl-navy, #1d2a44) !important;
	font-weight: 700 !important;
	font-size: var(--fs-xs, 0.75rem) !important;
	background: var(--pl-cream, #f5f0eb);
	padding: 3px 12px;
	border-radius: 20px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* Celebration banner above the totals when free shipping is active */
.wc-block-components-totals-shipping .wc-block-components-totals-item__label {
	font-family: 'Outfit', sans-serif !important;
	font-weight: 600 !important;
}

/* Highlight the selected free shipping radio option */
.wc-block-components-radio-control__option--checked {
	border-color: #16a34a !important;
	background: rgba(22, 163, 74, 0.04) !important;
}

.wc-block-components-radio-control__option--checked .wc-block-components-radio-control__secondary-label {
	color: #16a34a !important;
	font-weight: 700 !important;
}

/* Green dot for selected free shipping radio */
.wc-block-components-radio-control__option--checked .wc-block-components-radio-control__input {
	border-color: #16a34a !important;
}

.wc-block-components-radio-control__option--checked .wc-block-components-radio-control__input::before {
	background: #16a34a !important;
}

/* â”€â”€ CHECKOUT CHECKBOX FIX â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Fix ALL checkboxes: "Use same address for billing" & "Add a note to your order" */
.wc-block-checkout .wc-block-components-checkbox {
	display: flex !important;
	align-items: flex-start !important;
	gap: 0 !important;
	position: relative;
	margin-block: var(--space-sm, 0.5rem) !important;
}

/* The label wraps both the input and the mark â€” make it a flex row */
.wc-block-checkout .wc-block-components-checkbox>label {
	display: flex !important;
	align-items: center !important;
	gap: var(--space-sm, 0.5rem) !important;
	cursor: pointer;
	position: relative;
}

/* Hide the native input visually but keep it accessible */
.wc-block-checkout .wc-block-components-checkbox__input[type="checkbox"] {
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	min-height: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1.5px solid #94a3b8 !important;
	border-radius: 4px !important;
	background: #fff !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	cursor: pointer;
	position: relative;
	flex-shrink: 0;
	transition: border-color 0.2s ease, background 0.2s ease;
}

.wc-block-checkout .wc-block-components-checkbox__input[type="checkbox"]:checked {
	background: var(--pl-navy, #1d2a44) !important;
	border-color: var(--pl-navy, #1d2a44) !important;
}

.wc-block-checkout .wc-block-components-checkbox__input[type="checkbox"]:focus-visible {
	outline: 2px solid var(--pl-navy, #1d2a44);
	outline-offset: 2px;
}

/* Position the SVG checkmark on top of the input */
.wc-block-checkout .wc-block-components-checkbox__mark {
	position: absolute !important;
	width: 18px !important;
	height: 18px !important;
	top: auto !important;
	left: 0 !important;
	bottom: auto !important;
	right: auto !important;
	transform: none !important;
	pointer-events: none;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	opacity: 0;
	transition: opacity 0.15s ease;
}

/* Only show the mark when the checkbox is checked */
.wc-block-checkout .wc-block-components-checkbox__input:checked~.wc-block-components-checkbox__mark,
.wc-block-checkout .wc-block-components-checkbox__input:checked+.wc-block-components-checkbox__mark {
	opacity: 1 !important;
}

/* Scale the SVG down so it doesn't fill the entire box */
.wc-block-checkout .wc-block-components-checkbox__mark svg {
	width: 12px !important;
	height: 12px !important;
	fill: none !important;
	stroke: #fff !important;
	stroke-width: 2.5px;
}

/* Label text */
.wc-block-checkout .wc-block-components-checkbox__label,
.wc-block-checkout .wc-block-components-checkbox label span:not(.wc-block-components-checkbox__mark) {
	font-family: 'Outfit', sans-serif !important;
	font-size: var(--fs-sm, 0.875rem) !important;
	font-weight: 500 !important;
	color: var(--pl-navy, #1d2a44) !important;
	line-height: 1.4;
}

/* â”€â”€ Checkout Responsive â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (max-width: 600px) {
	.wc-block-checkout {
		padding-inline: var(--space-sm, 0.5rem);
	}

	.wc-block-checkout__actions .wc-block-components-checkout-place-order-button {
		font-size: var(--fs-base, 1rem) !important;
	}
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   ORDER TRACKING TIMELINE
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

.pl-order-timeline {
	background: #fff;
	border-radius: 16px;
	padding: var(--space-xl, 2rem) var(--space-lg, 1.5rem);
	margin-block-end: var(--space-xl, 2rem);
	box-shadow: 0 2px 12px rgba(29, 42, 68, 0.06);
	border: 1px solid #e2e8f0;
}

.pl-order-timeline__heading {
	font-family: 'Outfit', sans-serif;
	font-size: var(--fs-lg, 1.25rem);
	font-weight: 700;
	color: var(--pl-navy, #1d2a44);
	margin: 0 0 var(--space-lg, 1.5rem) 0;
	text-align: center;
}

/* â”€â”€ Timeline Track â”€â”€â”€ */
.pl-order-timeline__track {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
	padding-block: var(--space-md, 1rem) 0;
}

/* â”€â”€ Progress Bar (background) â”€â”€â”€ */
.pl-order-timeline__bar {
	position: absolute;
	top: calc(var(--space-md, 1rem) + 18px);
	left: 36px;
	right: 36px;
	height: 3px;
	background: #e2e8f0;
	border-radius: 2px;
	z-index: 0;
}

.pl-order-timeline__bar-fill {
	height: 100%;
	background: var(--pl-navy, #1D2A44);
	border-radius: 2px;
	transition: width 0.6s ease;
}

/* â”€â”€ Step (each stage) â”€â”€â”€ */
.pl-order-timeline__step {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	z-index: 1;
	flex: 1;
	min-width: 0;
}

/* â”€â”€ Dot â”€â”€â”€ */
.pl-order-timeline__dot {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	background: #f1f5f9;
	border: 2px solid #e2e8f0;
	transition: all 0.3s ease;
	margin-block-end: var(--space-sm, 0.5rem);
}

.pl-order-timeline__step.is-completed .pl-order-timeline__dot {
	background: var(--pl-navy, #1d2a44);
	border-color: var(--pl-navy, #1d2a44);
}

.pl-order-timeline__step.is-current .pl-order-timeline__dot {
	background: var(--pl-navy, #1D2A44);
	border-color: var(--pl-navy, #1D2A44);
	box-shadow: 0 0 0 4px rgba(29, 42, 68, 0.2);
	animation: pl-pulse 2s ease-in-out infinite;
}

@keyframes pl-pulse {

	0%,
	100% {
		box-shadow: 0 0 0 4px rgba(29, 42, 68, 0.2);
	}

	50% {
		box-shadow: 0 0 0 8px rgba(29, 42, 68, 0.08);
	}
}

.pl-order-timeline__step.is-pending .pl-order-timeline__dot {
	background: #f8fafc;
	border-color: #cbd5e1;
}

/* â”€â”€ Icon inside dot â”€â”€â”€ */
.pl-order-timeline__icon {
	font-size: 14px;
	line-height: 1;
}

.pl-order-timeline__step.is-completed .pl-order-timeline__icon,
.pl-order-timeline__step.is-current .pl-order-timeline__icon {
	filter: grayscale(0) brightness(10);
	color: #fff;
}

.pl-order-timeline__step.is-pending .pl-order-timeline__icon {
	filter: grayscale(1);
	opacity: 0.5;
}

/* â”€â”€ Label â”€â”€â”€ */
.pl-order-timeline__label {
	font-family: 'Outfit', sans-serif;
	font-size: var(--fs-sm, 0.875rem);
	font-weight: 600;
	color: var(--pl-navy, #1d2a44);
	text-align: center;
	white-space: nowrap;
}

.pl-order-timeline__step.is-pending .pl-order-timeline__label {
	color: #94a3b8;
	font-weight: 500;
}

.pl-order-timeline__step.is-current .pl-order-timeline__label {
	color: var(--pl-navy, #1D2A44);
	font-weight: 700;
}

/* â”€â”€ Date â”€â”€â”€ */
.pl-order-timeline__date {
	font-family: 'Outfit', sans-serif;
	font-size: 0.75rem;
	color: #64748b;
	margin-block-start: 2px;
}

/* â”€â”€ Tracking Link Card â”€â”€â”€ */
.pl-order-timeline__tracking {
	margin-block-start: var(--space-lg, 1.5rem);
	padding: var(--space-md, 1rem) var(--space-lg, 1.5rem);
	background: rgba(29, 42, 68, 0.04);
	border: 1px solid rgba(29, 42, 68, 0.12);
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-sm, 0.5rem);
	flex-wrap: wrap;
}

.pl-order-timeline__tracking-label {
	font-family: 'Outfit', sans-serif;
	font-size: var(--fs-sm, 0.875rem);
	font-weight: 600;
	color: var(--pl-navy, #1d2a44);
}

.pl-order-timeline__tracking-link {
	font-family: 'Outfit', sans-serif;
	font-size: var(--fs-sm, 0.875rem);
	font-weight: 700;
	color: var(--pl-navy, #1D2A44);
	text-decoration: none;
	transition: color 0.2s ease;
}

.pl-order-timeline__tracking-link:hover {
	color: var(--pl-charcoal, #4A4A4A);
	text-decoration: underline;
}

/* â”€â”€ My Account Order Status Badges â”€â”€â”€ */
.woocommerce-orders-table .woocommerce-orders-table__cell-order-status {
	font-family: 'Outfit', sans-serif;
	font-weight: 600;
	font-size: var(--fs-sm, 0.875rem);
}

/* â”€â”€ Timeline Mobile â”€â”€â”€ */
@media (max-width: 600px) {
	.pl-order-timeline {
		padding: var(--space-md, 1rem);
	}

	.pl-order-timeline__track {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-md, 1rem);
		padding-inline-start: var(--space-lg, 1.5rem);
	}

	.pl-order-timeline__bar {
		top: 0;
		bottom: 0;
		left: calc(var(--space-lg, 1.5rem) + 16px);
		right: auto;
		width: 3px;
		height: auto;
	}

	.pl-order-timeline__step {
		flex-direction: row;
		align-items: center;
		gap: var(--space-sm, 0.5rem);
	}

	.pl-order-timeline__dot {
		margin-block-end: 0;
		flex-shrink: 0;
	}

	.pl-order-timeline__label {
		text-align: left;
	}

	.pl-order-timeline__tracking {
		flex-direction: column;
		text-align: center;
	}
}

/* ==========================================================================
   Premium Empty Cart Page
   ========================================================================== */
.powell-lines-empty-cart-wrapper {
	max-width: 600px;
	margin: var(--space-3xl) auto;
	padding: var(--space-2xl) var(--space-lg);
	text-align: center;
	background: var(--pl-white);
	border: 1px solid var(--pl-border);
	border-radius: var(--border-radius-lg);
	box-shadow: 0 4px 12px rgba(29, 42, 68, 0.04);
}

.empty-cart-premium-graphic {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 96px;
	height: 96px;
	margin-block-end: var(--space-lg);
	background: var(--pl-off-white);
	border-radius: 50%;
	color: var(--pl-navy);
}

.premium-empty-icon {
	width: 42px;
	height: 42px;
	stroke-width: 1.25;
}

.empty-cart-heading {
	margin-block-end: var(--space-sm);
	font-size: var(--fs-2xl);
	font-weight: 700;
	color: var(--pl-navy);
	letter-spacing: -0.02em;
}

.empty-cart-subtext {
	margin-block-end: var(--space-xl);
	font-size: var(--fs-md);
	line-height: 1.6;
	color: var(--pl-charcoal);
}

.empty-cart-actions {
	display: flex;
	justify-content: center;
}

.premium-cta-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 220px;
	height: 56px;
	padding-inline: var(--space-xl);
	font-size: var(--fs-md);
	font-weight: 600;
	color: var(--pl-white) !important;
	background: var(--pl-navy) !important;
	border: none;
	border-radius: var(--border-radius);
	text-decoration: none;
	transition: background var(--transition-base), transform var(--transition-base);
}

.premium-cta-button:hover {
	background: #111a2e !important;
	transform: translateY(-2px);
}

.premium-cta-button:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(29, 42, 68, 0.2);
}

/* ==========================================================================
   Block-Based Premium Empty Cart Override
   ========================================================================== */
.wp-block-woocommerce-empty-cart-block {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.wc-block-cart__empty-cart__title {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 500px;
	/* narrowed */
	margin: var(--space-xl) auto var(--space-2xl) auto !important;
	/* tighter margins */
	padding: var(--space-xl) var(--space-lg) !important;
	/* tighter padding */
	text-align: center;
	background: var(--pl-white);
	border: 1px solid var(--pl-border);
	border-radius: var(--border-radius-lg);
	box-shadow: 0 4px 12px rgba(29, 42, 68, 0.04);
	font-size: var(--fs-xl) !important;
	/* slightly smaller font */
	font-weight: 600 !important;
	color: var(--pl-navy) !important;
	letter-spacing: -0.01em !important;
}

.wc-block-cart__empty-cart__title::before {
	content: "" !important;
	display: block !important;
	width: 72px !important;
	/* smaller icon container */
	height: 72px !important;
	margin: 0 auto var(--space-md) !important;
	background-color: var(--pl-off-white) !important;
	border-radius: 50% !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D2A44' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 32px 32px !important;
	/* smaller icon */
	mask-image: none !important;
	-webkit-mask-image: none !important;
}

.wp-block-woocommerce-empty-cart-block .wp-block-separator {
	display: none !important;
	/* hide the dotted line, let the card stand on its own */
}

/* "New in store" Header styling within empty cart */
.wp-block-woocommerce-empty-cart-block>h2.wp-block-heading:not(.wc-block-cart__empty-cart__title) {
	margin-block-end: var(--space-xl) !important;
	font-size: var(--fs-lg) !important;
	font-weight: 500 !important;
	color: var(--pl-charcoal) !important;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* Make sure the suggested products grid sits nicely below */
.wp-block-woocommerce-empty-cart-block .wc-block-grid {
	margin-top: 0 !important;
	width: 100%;
}

/* Empty Cart - "New in store" Grid Premium Override */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
	gap: var(--space-xl) !important;
	justify-content: center !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
	background: var(--pl-white);
	border: 1px solid var(--pl-border);
	border-radius: var(--border-radius-lg);
	padding: var(--space-lg);
	box-shadow: 0 4px 12px rgba(29, 42, 68, 0.04);
	transition: transform var(--transition-base), box-shadow var(--transition-base);
	display: flex;
	flex-direction: column;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(29, 42, 68, 0.08);
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image {
	margin-bottom: var(--space-md) !important;
	border-radius: var(--border-radius);
	overflow: hidden;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
	font-weight: 600 !important;
	font-size: var(--fs-sm) !important;
	line-height: 1.4 !important;
	color: var(--pl-navy) !important;
	margin-bottom: var(--space-sm) !important;
	/* Truncate to 2 lines */
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
	font-weight: 500 !important;
	color: var(--pl-charcoal) !important;
	margin-bottom: var(--space-lg) !important;
	margin-top: auto !important;
	/* pushes button down evenly */
}

/* Make "View Details" button span full width in the card */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link {
	width: 100%;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link {
	background: var(--pl-navy) !important;
	color: var(--pl-white) !important;
	border-radius: var(--border-radius) !important;
	font-weight: 600 !important;
	font-size: var(--fs-sm) !important;
	padding: 12px var(--space-md) !important;
	/* Slightly taller for "wow" factor */
	transition: background var(--transition-base) !important;
	display: inline-flex;
	justify-content: center;
	align-items: center;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
	background: #111a2e !important;
}

/* ==========================================================================
   Checkout Page â€” Premium Brand Override
   ========================================================================== */

/* â”€â”€ Page Title â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.woocommerce-checkout .about-hero__title,
.wc-block-checkout .wp-block-heading {
	font-family: var(--ff-heading, 'Outfit', sans-serif) !important;
	color: var(--pl-navy, #1D2A44) !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
}

/* â”€â”€ Section Headings (Contact, Shipping, Payment) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-checkout fieldset legend,
.wc-block-checkout .wc-block-components-checkout-step__title {
	font-family: var(--ff-heading, 'Outfit', sans-serif) !important;
	color: var(--pl-navy, #1D2A44) !important;
	font-weight: 600 !important;
	font-size: var(--fs-lg, 1.125rem) !important;
}

/* â”€â”€ Form Inputs â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-text-input textarea,
.wc-block-checkout .wc-block-components-combobox input,
.wc-block-checkout select {
	border: 1px solid var(--pl-border, #E0DAD0) !important;
	border-radius: var(--border-radius, 6px) !important;
	font-family: var(--ff-body, 'Inter', sans-serif) !important;
	color: var(--pl-navy, #1D2A44) !important;
	background: var(--pl-white, #FFFFFF) !important;
}

.wc-block-checkout .wc-block-components-text-input input:focus,
.wc-block-checkout .wc-block-components-text-input textarea:focus {
	border-color: var(--pl-navy, #1D2A44) !important;
	box-shadow: 0 0 0 2px rgba(29, 42, 68, 0.12) !important;
}

.wc-block-checkout .wc-block-components-text-input label {
	color: var(--pl-charcoal, #4A4A4A) !important;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   BORDER RESET â€” Strip all WooCommerce Blocks default borders
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.wc-block-checkout fieldset,
.wc-block-checkout .wc-block-components-radio-control__option,
.wc-block-checkout .wc-block-checkout__payment-method,
.wc-block-checkout .wc-block-components-payment-method-icons,
.wc-block-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control,
.wc-block-checkout .wc-block-components-checkout-order-summary,
.wc-block-checkout .wc-block-components-checkout-order-summary__content,
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block {
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
}

/* â”€â”€ Shipping Options (Radio Buttons) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option {
	border: 1px solid var(--pl-border, #E0DAD0) !important;
	border-radius: var(--border-radius, 6px) !important;
	padding: 14px 16px 14px 40px !important;
	margin-bottom: 8px !important;
	transition: border-color 0.2s ease, background 0.2s ease !important;
	position: relative !important;
}

.wc-block-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option--checked,
.wc-block-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(input:checked) {
	border-color: var(--pl-navy, #1D2A44) !important;
	background: var(--pl-off-white, #F5F1EB) !important;
}

.wc-block-checkout .wc-block-components-radio-control__input {
	accent-color: var(--pl-navy, #1D2A44) !important;
}

.wc-block-checkout .wc-block-components-radio-control__label {
	font-weight: 600 !important;
	color: var(--pl-navy, #1D2A44) !important;
}

.wc-block-checkout .wc-block-components-radio-control__description,
.wc-block-checkout .wc-block-components-radio-control__secondary-label {
	color: var(--pl-charcoal, #4A4A4A) !important;
}

/* â”€â”€ Express Checkout â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-checkout .wc-block-components-express-payment,
.wc-block-checkout .wc-block-checkout__express-payment {
	border: none !important;
	box-shadow: none !important;
	overflow: visible !important;
}

.wc-block-checkout .wc-block-components-express-payment__title,
.wc-block-checkout .wc-block-checkout__express-payment-title {
	font-family: var(--ff-body, 'Inter', sans-serif) !important;
	color: var(--pl-charcoal, #4A4A4A) !important;
	font-size: var(--fs-sm, 0.875rem) !important;
	overflow: visible !important;
}

/* â”€â”€ Order Summary Heading â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-checkout .wc-block-components-order-summary .wc-block-components-panel__button,
.wc-block-checkout .wc-block-checkout__sidebar .wc-block-components-panel__button,
.wc-block-checkout .wc-block-components-checkout-order-summary .wc-block-components-panel__button,
.wc-block-components-checkout-order-summary__title-text {
	font-family: var(--ff-heading, 'Outfit', sans-serif) !important;
	color: var(--pl-navy, #1D2A44) !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	font-size: var(--fs-base, 1rem) !important;
	font-style: normal !important;
}

/* Individual Order Summary Items â€” clean flat rows, no card borders */
.wc-block-checkout .wc-block-components-order-summary-item {
	border-bottom: 1px solid var(--pl-border, #E0DAD0) !important;
	padding: 12px 0 !important;
	background: none !important;
	border-left: none !important;
	border-right: none !important;
	border-top: none !important;
	border-radius: 0 !important;
	margin-bottom: 0 !important;
}

.wc-block-checkout .wc-block-components-order-summary-item:last-child {
	border-bottom: none !important;
}

.wc-block-checkout .wc-block-components-order-summary-item__image img {
	border-radius: var(--border-radius, 6px) !important;
	object-fit: contain !important;
}

.wc-block-checkout .wc-block-components-order-summary-item__quantity {
	background: var(--pl-navy, #1D2A44) !important;
	color: var(--pl-white, #FFFFFF) !important;
	font-weight: 700 !important;
	border: none !important;
	box-shadow: 0 1px 3px rgba(29, 42, 68, 0.2) !important;
}

.wc-block-checkout .wc-block-components-product-name {
	color: var(--pl-navy, #1D2A44) !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	font-size: 0.8rem !important;
	line-height: 1.35 !important;
}

/* Hide the verbose product description â€” keep only Personalized Name */
.wc-block-checkout .wc-block-components-product-metadata__description {
	display: none !important;
}

/* Personalized Name: value â€” small clean chip */
.wc-block-checkout .wc-block-components-product-metadata {
	color: var(--pl-charcoal, #4A4A4A) !important;
	margin-top: 4px !important;
	font-size: 0.7rem !important;
}

/* Item price */
.wc-block-checkout .wc-block-components-order-summary-item__total {
	font-weight: 700 !important;
	color: var(--pl-navy, #1D2A44) !important;
	font-size: 0.85rem !important;
}

.wc-block-checkout .wc-block-components-order-summary-item__individual-price {
	color: var(--pl-charcoal, #4A4A4A) !important;
	font-size: 0.75rem !important;
}

/* â”€â”€ Checkout Sidebar Card â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-checkout .wc-block-checkout__sidebar {
	background: var(--pl-white, #FFFFFF) !important;
	border: 1px solid var(--pl-border, #E0DAD0) !important;
	border-radius: var(--border-radius-lg, 10px) !important;
	padding: 24px !important;
}

/* â”€â”€ Totals Section â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-checkout .wc-block-components-totals-item {
	border-bottom: 1px solid var(--pl-border, #E0DAD0) !important;
	padding: 14px 0 !important;
}

.wc-block-checkout .wc-block-components-totals-item__label {
	font-weight: 600 !important;
	color: var(--pl-navy, #1D2A44) !important;
	font-size: var(--fs-sm, 0.875rem) !important;
}

.wc-block-checkout .wc-block-components-totals-item__value {
	font-weight: 600 !important;
	color: var(--pl-navy, #1D2A44) !important;
}

/* Grand total â€” heavy navy divider matching cart totals */
.wc-block-checkout .wc-block-components-totals-footer-item {
	border-top: 2px solid var(--pl-navy, #1D2A44) !important;
	border-bottom: none !important;
	padding-top: 18px !important;
	margin-top: 8px !important;
}

.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-family: var(--ff-heading, 'Outfit', sans-serif) !important;
	font-weight: 700 !important;
	font-size: var(--fs-lg, 1.125rem) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	color: var(--pl-navy, #1D2A44) !important;
}

.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-weight: 700 !important;
	font-size: var(--fs-2xl, 1.5rem) !important;
	color: var(--pl-navy, #1D2A44) !important;
}

/* Free shipping label in totals â€” brand accent instead of green */
.wc-block-checkout .wc-block-components-totals-shipping .wc-block-components-totals-item__value {
	color: var(--pl-navy, #1D2A44) !important;
}

/* â”€â”€ Place Order Button â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-checkout .wc-block-components-checkout-place-order-button {
	background: var(--pl-navy, #1D2A44) !important;
	color: var(--pl-white, #FFFFFF) !important;
	border: none !important;
	border-radius: var(--border-radius, 6px) !important;
	font-family: var(--ff-heading, 'Outfit', sans-serif) !important;
	font-weight: 600 !important;
	font-size: var(--fs-base, 1rem) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	padding: 16px 24px !important;
	transition: background 0.2s ease !important;
}

.wc-block-checkout .wc-block-components-checkout-place-order-button:hover {
	background: #111a2e !important;
}

/* â”€â”€ Checkbox Overrides (Same address for billing, etc.) â”€â”€â”€â”€ */
.wc-block-checkout .wc-block-components-checkbox__input[type="checkbox"] {
	accent-color: var(--pl-navy, #1D2A44) !important;
	width: 18px !important;
	height: 18px !important;
	border-radius: 4px !important;
	border: 1.5px solid var(--pl-border, #E0DAD0) !important;
	cursor: pointer !important;
}

.wc-block-checkout .wc-block-components-checkbox__input[type="checkbox"]:checked {
	background-color: var(--pl-navy, #1D2A44) !important;
	border-color: var(--pl-navy, #1D2A44) !important;
}

.wc-block-checkout .wc-block-components-checkbox__label {
	color: var(--pl-charcoal, #4A4A4A) !important;
	font-size: var(--fs-sm, 0.875rem) !important;
}

/* â”€â”€ Payment Options (Stripe) â€” clean flat rows â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control__option {
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
	padding: 12px 16px 12px 40px !important;
	border-bottom: 1px solid var(--pl-border, #E0DAD0) !important;
	border-radius: 0 !important;
	margin-bottom: 0 !important;
	background: none !important;
}

.wc-block-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control__option:last-child {
	border-bottom: none !important;
}

/* Strip Stripe's internal container borders */
.wc-block-checkout .wc-block-checkout__payment-method,
.wc-block-checkout .wc-block-components-radio-control-accordion-content,
.wc-block-checkout [class*="payment-method"] fieldset,
.wc-block-checkout [class*="payment-method"] [class*="radio-control"] {
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
}

/* â”€â”€ Order Summary â€” ensure zero internal borders â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-checkout .wc-block-components-checkout-order-summary__content,
.wc-block-checkout .wc-block-components-checkout-order-summary,
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block,
.wc-block-checkout .wc-block-components-panel,
.wc-block-checkout .wc-block-checkout__sidebar .wc-block-components-panel {
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
}

/* Keep the sidebar card container border */
.wc-block-checkout .wc-block-checkout__sidebar {
	border: 1px solid var(--pl-border, #E0DAD0) !important;
}

/* â”€â”€ Edit Link â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-checkout .wc-block-components-address-card__edit {
	color: var(--pl-navy, #1D2A44) !important;
	font-weight: 500 !important;
}

/* ==========================================================================
   Order Received / Thank You Page â€” Premium Brand Override
   ========================================================================== */

/* â”€â”€ Celebration Hero Banner â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.woocommerce-thankyou-order-received {
	background: var(--pl-navy, #1D2A44) !important;
	border: none !important;
	border-radius: var(--border-radius-lg, 10px) !important;
	padding: 36px 32px !important;
	font-family: var(--ff-heading, 'Outfit', sans-serif) !important;
	color: var(--pl-white, #FFFFFF) !important;
	font-size: 1.35rem !important;
	font-weight: 600 !important;
	text-align: center !important;
	margin-bottom: var(--space-lg, 24px) !important;
	position: relative !important;
	letter-spacing: 0.01em !important;
}

/* Subtle checkmark icon above the text */
.woocommerce-thankyou-order-received::before {
	content: '\2714' !important;
	display: block !important;
	width: 44px !important;
	height: 44px !important;
	line-height: 44px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.15) !important;
	border: 2px solid rgba(255, 255, 255, 0.4) !important;
	color: #FFFFFF !important;
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	margin: 0 auto 14px !important;
}

/* â”€â”€ Order Meta Stats Bar â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.woocommerce-thankyou-order-details.order_details {
	background: var(--pl-white, #FFFFFF) !important;
	border: 1px solid var(--pl-border, #E0DAD0) !important;
	border-radius: var(--border-radius, 6px) !important;
	padding: 0 !important;
	margin-bottom: var(--space-lg, 24px) !important;
	list-style: none !important;
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 0 !important;
	overflow: hidden !important;
}

.woocommerce-thankyou-order-details.order_details li {
	color: var(--pl-charcoal, #4A4A4A) !important;
	font-size: 0.7rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	border: none !important;
	border-right: 1px solid var(--pl-border, #E0DAD0) !important;
	padding: 18px 20px !important;
	text-align: center !important;
}

.woocommerce-thankyou-order-details.order_details li:last-child {
	border-right: none !important;
}

.woocommerce-thankyou-order-details.order_details li strong {
	display: block !important;
	color: var(--pl-navy, #1D2A44) !important;
	font-weight: 700 !important;
	font-size: 1.1rem !important;
	margin-top: 6px !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

/* â”€â”€ Order Progress Timeline â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.pl-order-timeline {
	background: var(--pl-white, #FFFFFF) !important;
	border: 1px solid var(--pl-border, #E0DAD0) !important;
	border-radius: var(--border-radius-lg, 10px) !important;
	padding: 28px 32px !important;
	margin-bottom: var(--space-lg, 24px) !important;
}

.pl-order-timeline h3,
.pl-order-timeline h2 {
	font-family: var(--ff-heading, 'Outfit', sans-serif) !important;
	color: var(--pl-navy, #1D2A44) !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	text-align: center !important;
	font-size: 0.85rem !important;
	margin-bottom: 24px !important;
}

/* Timeline step circles â€” brand navy for active, gray for pending */
.pl-order-timeline .timeline-step.active .step-icon,
.pl-order-timeline .timeline-step.completed .step-icon {
	background: var(--pl-navy, #1D2A44) !important;
	border-color: var(--pl-navy, #1D2A44) !important;
	color: #FFFFFF !important;
}

.pl-order-timeline .timeline-step.active .step-label,
.pl-order-timeline .timeline-step.completed .step-label {
	color: var(--pl-navy, #1D2A44) !important;
	font-weight: 700 !important;
}

.pl-order-timeline .timeline-step .step-icon {
	border-color: var(--pl-border, #E0DAD0) !important;
}

/* Connector line */
.pl-order-timeline .timeline-connector.completed,
.pl-order-timeline .timeline-connector.active {
	background: var(--pl-navy, #1D2A44) !important;
}

/* â”€â”€ Order Details Section Heading â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.woocommerce-order h2 {
	font-family: var(--ff-heading, 'Outfit', sans-serif) !important;
	color: var(--pl-navy, #1D2A44) !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	font-size: 0.95rem !important;
	margin-bottom: 16px !important;
	margin-top: 8px !important;
}

/* â”€â”€ Order Details Table â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.woocommerce-table--order-details {
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border: 1px solid var(--pl-border, #E0DAD0) !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	width: 100% !important;
	margin-bottom: 0 !important;
	background: var(--pl-white, #FFFFFF) !important;
	box-shadow: 0 2px 12px rgba(29, 42, 68, 0.05) !important;
}

.woocommerce-table--order-details thead th {
	background: var(--pl-navy, #1D2A44) !important;
	color: var(--pl-white, #FFFFFF) !important;
	font-family: var(--ff-heading, 'Outfit', sans-serif) !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	font-size: 0.7rem !important;
	padding: 16px 24px !important;
}

.woocommerce-table--order-details tbody td,
.woocommerce-table--order-details tbody th {
	padding: 18px 24px !important;
	border-bottom: 1px solid var(--pl-border, #E0DAD0) !important;
	color: var(--pl-navy, #1D2A44) !important;
	font-size: var(--fs-sm, 0.875rem) !important;
	vertical-align: top !important;
}

.woocommerce-table--order-details tbody tr:nth-child(even) {
	background: var(--pl-off-white, #F5F1EB) !important;
}

.woocommerce-table--order-details tbody td a {
	color: var(--pl-navy, #1D2A44) !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

.woocommerce-table--order-details tbody td a:hover {
	color: var(--pl-charcoal, #4A4A4A) !important;
}

/* â”€â”€ Order Item Thumbnail â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.pl-order-item-with-thumb {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
}

.pl-order-item-with-thumb .pl-order-item-thumb {
	width: 60px !important;
	height: 60px !important;
	object-fit: cover !important;
	border-radius: 8px !important;
	border: 1px solid var(--pl-border, #E0DAD0) !important;
	flex-shrink: 0 !important;
}

.pl-order-item-with-thumb .pl-order-item-name {
	display: flex !important;
	flex-direction: column !important;
}

/* Personalization chip in order details */
.woocommerce-table--order-details .wc-item-meta {
	margin-top: 6px !important;
	padding: 0 !important;
	list-style: none !important;
}

.woocommerce-table--order-details .wc-item-meta li {
	font-size: 0.7rem !important;
	color: var(--pl-charcoal, #4A4A4A) !important;
	padding: 3px 8px !important;
	background: var(--pl-off-white, #F5F1EB) !important;
	border-radius: 4px !important;
	display: inline-block !important;
	margin-top: 4px !important;
}

.woocommerce-table--order-details .wc-item-meta li strong {
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	font-size: 0.65rem !important;
}

/* â”€â”€ Order Totals Footer â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.woocommerce-table--order-details tfoot th {
	text-align: left !important;
	padding: 14px 24px !important;
	font-weight: 500 !important;
	color: var(--pl-charcoal, #4A4A4A) !important;
	border-top: 1px solid var(--pl-border, #E0DAD0) !important;
	font-size: var(--fs-sm, 0.875rem) !important;
	text-transform: none !important;
	background: transparent !important;
}

.woocommerce-table--order-details tfoot td {
	padding: 14px 24px !important;
	font-weight: 600 !important;
	color: var(--pl-navy, #1D2A44) !important;
	border-top: 1px solid var(--pl-border, #E0DAD0) !important;
	background: transparent !important;
}

/* Total row â€” prominent */
.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td {
	border-top: 2px solid var(--pl-navy, #1D2A44) !important;
	font-weight: 700 !important;
	font-size: 1.15rem !important;
	color: var(--pl-navy, #1D2A44) !important;
	text-transform: uppercase !important;
	padding: 18px 24px !important;
	background: var(--pl-off-white, #F5F1EB) !important;
}

/* Payment method row â€” soften (not screaming bold) */
.woocommerce-table--order-details tfoot tr:nth-last-child(2) th,
.woocommerce-table--order-details tfoot tr:nth-last-child(2) td {
	font-weight: 500 !important;
	text-transform: none !important;
	font-size: var(--fs-sm, 0.875rem) !important;
}

/* â”€â”€ Customer Details â€” Side-by-Side Cards â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.woocommerce-customer-details {
	background: var(--pl-white, #FFFFFF) !important;
	border: 1px solid var(--pl-border, #E0DAD0) !important;
	border-radius: var(--border-radius, 6px) !important;
	padding: 28px 32px !important;
	margin-top: var(--space-lg, 24px) !important;
}

/* Side-by-side columns for billing/shipping */
.woocommerce-customer-details .woocommerce-columns {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 32px !important;
}

/* Address column styling */
.woocommerce-customer-details .woocommerce-column {
	padding: 0 !important;
}

/* Refined address headings â€” small uppercase, not massive */
.woocommerce-customer-details h2,
.woocommerce-customer-details h3,
.woocommerce-customer-details .woocommerce-column__title {
	font-family: var(--ff-heading, 'Outfit', sans-serif) !important;
	color: var(--pl-navy, #1D2A44) !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	font-size: 0.8rem !important;
	margin-bottom: 12px !important;
	padding-bottom: 8px !important;
	border-bottom: 1px solid var(--pl-border, #E0DAD0) !important;
}

.woocommerce-customer-details address {
	color: var(--pl-charcoal, #4A4A4A) !important;
	font-style: normal !important;
	line-height: 1.8 !important;
	font-size: var(--fs-sm, 0.875rem) !important;
}

/* Responsive: stack addresses on mobile */
@media (max-width: 640px) {
	.woocommerce-thankyou-order-details.order_details {
		grid-template-columns: 1fr 1fr !important;
	}

	.woocommerce-customer-details .woocommerce-columns {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}
}

/* ==========================================================================
   Cart Page â€” Cart Totals Sidebar Premium Styling
   ========================================================================== */

/* â”€â”€ Cart Totals Card â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-cart .wc-block-cart__sidebar {
	background: var(--pl-white, #FFFFFF) !important;
	border: 1px solid var(--pl-border, #E0DAD0) !important;
	border-radius: var(--border-radius-lg, 10px) !important;
	padding: 28px !important;
}

/* â”€â”€ "Cart Totals" Heading â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-cart .wc-block-components-totals-wrapper:first-child .wc-block-components-panel__button,
.wc-block-cart .wp-block-woocommerce-cart-order-summary-heading-block {
	font-family: var(--ff-heading, 'Outfit', sans-serif) !important;
	color: var(--pl-navy, #1D2A44) !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	font-size: var(--fs-lg, 1.125rem) !important;
}

/* â”€â”€ Subtotal / Shipping / Fee Rows â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-cart .wc-block-components-totals-item {
	border-bottom: 1px solid var(--pl-border, #E0DAD0) !important;
	padding: 14px 0 !important;
}

.wc-block-cart .wc-block-components-totals-item__label {
	font-weight: 600 !important;
	color: var(--pl-navy, #1D2A44) !important;
	font-size: var(--fs-sm, 0.875rem) !important;
}

.wc-block-cart .wc-block-components-totals-item__value {
	font-weight: 600 !important;
	color: var(--pl-navy, #1D2A44) !important;
}

/* â”€â”€ Estimated Total â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-cart .wc-block-components-totals-footer-item {
	border-top: 2px solid var(--pl-navy, #1D2A44) !important;
	padding-top: 20px !important;
	margin-top: 12px !important;
	display: flex !important;
	align-items: baseline !important;
	justify-content: space-between !important;
	gap: 8px !important;
}

.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-family: var(--ff-heading, 'Outfit', sans-serif) !important;
	font-weight: 600 !important;
	font-size: var(--fs-sm, 0.875rem) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	color: var(--pl-charcoal, #4A4A4A) !important;
}

.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--ff-heading, 'Outfit', sans-serif) !important;
	font-weight: 800 !important;
	font-size: var(--fs-2xl, 1.5rem) !important;
	color: var(--pl-navy, #1D2A44) !important;
	letter-spacing: -0.02em !important;
}

/* â”€â”€ Proceed to Checkout Button â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-cart .wc-block-cart__submit-button {
	background: var(--pl-navy, #1D2A44) !important;
	color: var(--pl-white, #FFFFFF) !important;
	border: none !important;
	border-radius: var(--border-radius, 6px) !important;
	font-family: var(--ff-heading, 'Outfit', sans-serif) !important;
	font-weight: 600 !important;
	font-size: var(--fs-base, 1rem) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	padding: 16px 24px !important;
	transition: background 0.2s ease !important;
	width: 100% !important;
	text-align: center !important;
}

.wc-block-cart .wc-block-cart__submit-button:hover {
	background: #111a2e !important;
}

/* â”€â”€ Coupon Toggle â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-cart .wc-block-components-panel__button {
	color: var(--pl-charcoal, #4A4A4A) !important;
	font-weight: 500 !important;
}

.wc-block-cart .wc-block-components-panel__button:hover {
	color: var(--pl-navy, #1D2A44) !important;
}

/* â”€â”€ Shipping Radio inside Cart â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.wc-block-cart .wc-block-components-radio-control__input {
	accent-color: var(--pl-navy, #1D2A44) !important;
}

.wc-block-cart .wc-block-components-radio-control__label {
	font-weight: 600 !important;
	color: var(--pl-navy, #1D2A44) !important;
}

.wc-block-cart .wc-block-components-radio-control__secondary-label {
	color: var(--pl-charcoal, #4A4A4A) !important;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   ORDER TRACKING PAGE â€” Editorial Light
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â”€â”€ Hero (Editorial â€” matches About/Contact) â”€â”€â”€â”€ */
.tracking-hero {
	padding: 64px 20px 48px;
	background: var(--pl-off-white, #F5F1EB);
	text-align: center;
}

.tracking-hero__title {
	font-family: var(--ff-heading, 'Outfit', sans-serif);
	font-size: clamp(2.25rem, 5vw, 3.5rem);
	font-weight: 700;
	line-height: 1.1;
	color: var(--pl-navy, #1D2A44);
	margin: 12px 0 0;
	letter-spacing: -0.01em;
}

.tracking-hero__title::after {
	content: '';
	display: block;
	width: 48px;
	height: 3px;
	background: var(--pl-taupe, #B9975B);
	margin: 20px auto 0;
	border-radius: 2px;
}

.tracking-hero__sub {
	font-size: 1.1rem;
	font-style: italic;
	color: var(--pl-charcoal, #4A4A4A);
	max-width: 460px;
	margin: 20px auto 0;
	line-height: 1.6;
}

/* â”€â”€ Lookup Form Card â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.tracking-lookup {
	padding-top: 48px;
}

.tracking-form-card {
	background: var(--pl-white, #FFFFFF);
	border: 1px solid var(--pl-border, #E0DAD0);
	border-radius: 12px;
	box-shadow: 0 2px 16px rgba(29, 42, 68, 0.05);
	padding: 40px;
	max-width: 640px;
	margin: 0 auto;
}

.tracking-form .form-row--split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-bottom: 24px;
}

.tracking-form .form-field label {
	display: block;
	font-family: var(--ff-heading, 'Outfit', sans-serif);
	font-weight: 600;
	font-size: 0.8rem;
	color: var(--pl-navy, #1D2A44);
	margin-bottom: 8px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.tracking-form .form-field input {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid var(--pl-border, #E0DAD0);
	border-radius: 8px;
	font-size: 1rem;
	font-family: var(--ff-body, 'Inter', sans-serif);
	color: var(--pl-navy, #1D2A44);
	background: var(--pl-off-white, #F5F1EB);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.tracking-form .form-field input:focus {
	outline: none;
	border-color: var(--pl-navy, #1D2A44);
	box-shadow: 0 0 0 3px rgba(29, 42, 68, 0.08);
	background: var(--pl-white, #FFFFFF);
}

.tracking-form .form-field input::placeholder {
	color: #94a3b8;
}

.tracking-submit {
	width: 100%;
	padding: 16px;
	font-size: 1rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	border-radius: 8px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	transition: opacity 0.2s;
}

.tracking-submit:disabled {
	opacity: 0.7;
	cursor: wait;
}

/* â”€â”€ Reassurance Note â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.tracking-reassurance {
	text-align: center;
	font-size: 0.85rem;
	color: var(--pl-charcoal, #4A4A4A);
	margin: 20px auto 0;
	max-width: 460px;
	font-style: italic;
}

/* â”€â”€ Loading Spinner â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.pl-spinner {
	display: inline-block;
	width: 18px;
	height: 18px;
	border: 2px solid rgba(255, 255, 255, 0.3);
	border-top-color: #fff;
	border-radius: 50%;
	animation: pl-spin 0.6s linear infinite;
}

@keyframes pl-spin {
	to {
		transform: rotate(360deg);
	}
}

/* â”€â”€ Error Message â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.tracking-error {
	display: none;
	margin-top: 16px;
	padding: 14px 18px;
	border-radius: 8px;
	background: #fef2f2;
	color: #991b1b;
	font-size: 0.9rem;
	border: 1px solid #fecaca;
}

.tracking-error.is-visible {
	display: block;
}

/* ── Success Banner ("Order Located") ──────────── */
.pl-tracking-found {
	display: flex;
	align-items: center;
	gap: 14px;
	background: var(--pl-navy, #1D2A44);
	color: var(--pl-white, #FFFFFF);
	border-radius: 12px;
	padding: 20px 24px;
	margin-bottom: 24px;
}

.pl-tracking-found__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.15);
	border: 2px solid rgba(255, 255, 255, 0.3);
	font-size: 1.1rem;
	flex-shrink: 0;
}

.pl-tracking-found__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.pl-tracking-found__text strong {
	font-family: var(--ff-heading, 'Outfit', sans-serif);
	font-size: 1.1rem;
	font-weight: 700;
}

.pl-tracking-found__text span {
	font-size: 0.85rem;
	opacity: 0.75;
}

/* â”€â”€ Result Section â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.tracking-result {
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 0.4s ease, transform 0.4s ease;
}

.tracking-result.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* â”€â”€ Order Summary (AJAX result) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.pl-tracking-summary {
	background: var(--pl-white, #FFFFFF);
	border: 1px solid var(--pl-border, #E0DAD0);
	border-radius: 12px;
	box-shadow: 0 2px 12px rgba(29, 42, 68, 0.04);
	padding: 32px;
	margin-top: 32px;
}

.pl-tracking-summary__meta {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--pl-border, #E0DAD0);
	margin-bottom: 24px;
}

.pl-tracking-meta-item {
	text-align: center;
}

.pl-tracking-meta-label {
	display: block;
	font-family: var(--ff-heading, 'Outfit', sans-serif);
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--pl-taupe, #B9975B);
	margin-bottom: 4px;
}

.pl-tracking-meta-value {
	display: block;
	font-family: var(--ff-heading, 'Outfit', sans-serif);
	font-weight: 700;
	font-size: 1.1rem;
	color: var(--pl-navy, #1D2A44);
}

.pl-tracking-summary__heading {
	font-family: var(--ff-heading, 'Outfit', sans-serif);
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--pl-taupe, #B9975B);
	margin: 0 0 16px;
}

.pl-tracking-items {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 24px;
}

.pl-tracking-item {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px;
	background: var(--pl-off-white, #F5F1EB);
	border-radius: 8px;
}

.pl-tracking-item-thumb {
	width: 48px !important;
	height: 48px !important;
	object-fit: cover;
	border-radius: 6px;
	border: 1px solid var(--pl-border, #E0DAD0);
	flex-shrink: 0;
}

.pl-tracking-item-info {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.pl-tracking-item-name {
	font-weight: 600;
	color: var(--pl-navy, #1D2A44);
	font-size: 0.9rem;
}

.pl-tracking-item-qty {
	font-size: 0.8rem;
	color: var(--pl-charcoal, #4A4A4A);
}

.pl-tracking-item-total {
	font-weight: 700;
	color: var(--pl-navy, #1D2A44);
	font-size: 0.95rem;
}

.pl-tracking-address {
	font-style: normal;
	color: var(--pl-charcoal, #4A4A4A);
	line-height: 1.7;
	font-size: 0.9rem;
}

/* â”€â”€ Promise Bar â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.tracking-promise {
	border-top: 1px solid var(--pl-border, #E0DAD0);
	border-bottom: 1px solid var(--pl-border, #E0DAD0);
}

.tracking-promise {
	border-top: none !important;
	border-bottom: none !important;
}

.tracking-promise__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	text-align: center;
}

.tracking-promise__item {
	padding: 32px 20px;
}

.tracking-promise__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--pl-off-white, #F5F1EB);
	margin-bottom: 16px;
}

.tracking-promise__icon svg {
	color: var(--pl-taupe, #B9975B);
}

.tracking-promise__item h3 {
	font-family: var(--ff-heading, 'Outfit', sans-serif);
	font-size: 1rem;
	font-weight: 700;
	color: var(--pl-navy, #1D2A44);
	margin: 0 0 8px;
}

.tracking-promise__item p {
	font-size: 0.9rem;
	color: var(--pl-charcoal, #4A4A4A);
	line-height: 1.6;
	margin: 0;
}

/* â”€â”€ Editorial Pullquote â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.tracking-pullquote {
	margin: 0;
	padding: 24px 24px 24px 32px;
	border-left: 3px solid var(--pl-taupe, #B9975B);
	background: linear-gradient(135deg, rgba(185, 151, 91, 0.04), transparent);
	border-radius: 0 12px 12px 0;
}

.tracking-pullquote p {
	font-size: clamp(1.05rem, 2vw, 1.2rem);
	font-weight: 500;
	line-height: 1.7;
	color: var(--pl-navy, #1D2A44);
	margin: 0;
	font-style: italic;
}

/* â”€â”€ Help Card â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.tracking-help-card {
	background: var(--pl-white, #FFFFFF);
	border: 1px solid var(--pl-border, #E0DAD0);
	border-radius: 12px;
	box-shadow: 0 2px 12px rgba(29, 42, 68, 0.04);
	padding: 48px;
	text-align: center;
}

.tracking-help-card__title {
	font-family: var(--ff-heading, 'Outfit', sans-serif);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--pl-navy, #1D2A44);
	margin: 0 0 12px;
}

.tracking-help-card__text {
	font-size: 1rem;
	color: var(--pl-charcoal, #4A4A4A);
	line-height: 1.7;
	max-width: 480px;
	margin: 0 auto 28px;
}

.tracking-help-card__actions {
	display: flex;
	justify-content: center;
	gap: 14px;
	flex-wrap: wrap;
}

.tracking-help-card__actions .button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.tracking-help-card__actions .button--outline {
	background: transparent;
	border: 1px solid var(--pl-navy, #1D2A44);
	color: var(--pl-navy, #1D2A44);
}

.tracking-help-card__actions .button--outline:hover {
	background: var(--pl-navy, #1D2A44);
	color: var(--pl-white, #FFFFFF);
}

/* â”€â”€ Closing â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.tracking-closing {
	padding: 48px 20px 64px;
}

.tracking-closing__line {
	font-family: var(--ff-heading, 'Outfit', sans-serif);
	font-size: 1.15rem;
	font-weight: 600;
	color: var(--pl-navy, #1D2A44);
	margin: 0 0 8px;
}

.tracking-closing__line--sub {
	font-weight: 400;
	color: var(--pl-charcoal, #4A4A4A);
}

/* ── Jersey Number & Mutual Exclusivity ───────────────────────── */
.jersey-number-option input[type="text"] {
	max-width: 120px;
	text-align: center;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.optional-tag {
	font-weight: 400;
	color: var(--pl-gray);
	margin-inline-start: 4px;
}

/* Disabled state for coach/number mutual exclusivity */
.coach-option.is-disabled,
.jersey-number-option.is-disabled {
	opacity: 0.4;
	pointer-events: none;
	transition: opacity var(--transition-base);
}

/* Personalization wrap smooth reveal */
#sport-personalization-wrap {
	transition: opacity 0.3s ease, transform 0.3s ease;
}

/* ── Order Summary (AJAX result) ───────────────── */
.pl-tracking-summary {
	background: var(--pl-white, #FFFFFF);
	border: 1px solid var(--pl-border, #E0DAD0);
	border-radius: 12px;
	box-shadow: 0 2px 12px rgba(29, 42, 68, 0.04);
	padding: 32px;
	margin-top: 32px;
}

.pl-tracking-summary__meta {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--pl-border, #E0DAD0);
	margin-bottom: 24px;
}

.pl-tracking-meta-item {
	text-align: center;
}

.pl-tracking-meta-label {
	display: block;
	font-family: var(--ff-heading, 'Outfit', sans-serif);
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--pl-taupe, #B9975B);
	margin-bottom: 4px;
}

.pl-tracking-meta-value {
	display: block;
	font-family: var(--ff-heading, 'Outfit', sans-serif);
	font-weight: 700;
	font-size: 1.1rem;
	color: var(--pl-navy, #1D2A44);
}

.pl-tracking-summary__heading {
	font-family: var(--ff-heading, 'Outfit', sans-serif);
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--pl-taupe, #B9975B);
	margin: 0 0 16px;
}

.pl-tracking-items {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 24px;
}

.pl-tracking-item {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px;
	background: var(--pl-off-white, #F5F1EB);
	border-radius: 8px;
}

.pl-tracking-item-thumb {
	width: 48px !important;
	height: 48px !important;
	object-fit: cover;
	border-radius: 6px;
	border: 1px solid var(--pl-border, #E0DAD0);
	flex-shrink: 0;
}

.pl-tracking-item-info {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.pl-tracking-item-name {
	font-weight: 600;
	color: var(--pl-navy, #1D2A44);
	font-size: 0.9rem;
}

.pl-tracking-item-qty {
	font-size: 0.8rem;
	color: var(--pl-charcoal, #4A4A4A);
}

.pl-tracking-item-personalization {
	font-size: 0.8rem;
	color: var(--pl-taupe, #B9975B);
}

.pl-tracking-item-personalization strong {
	font-weight: 600;
	color: var(--pl-navy, #1D2A44);
}

.pl-tracking-item-total {
	font-weight: 700;
	color: var(--pl-navy, #1D2A44);
	font-size: 0.95rem;
	flex-shrink: 0;
}

.pl-tracking-address {
	font-style: normal;
	color: var(--pl-charcoal, #4A4A4A);
	line-height: 1.7;
	font-size: 0.9rem;
}

/* â”€â”€ Responsive â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (max-width: 640px) {
	.tracking-form-card {
		padding: 28px 20px;
	}

	.tracking-form .form-row--split {
		grid-template-columns: 1fr;
	}

	.pl-tracking-summary__meta {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.tracking-promise__grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.tracking-help-card {
		padding: 32px 20px;
	}
}

/* ==========================================================================
   Variation Pill Selectors
   ========================================================================== */
.variation-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-block-start: 8px;
}

.variation-pill {
	padding: 10px 20px;
	border: 2px solid var(--pl-border);
	border-radius: 6px;
	background: var(--pl-white, #fff);
	color: var(--pl-charcoal);
	font-family: var(--ff-body);
	font-size: var(--fs-sm);
	font-weight: 600;
	letter-spacing: 0.02em;
	cursor: pointer;
	transition: all var(--transition-fast);
}

.variation-pill:hover {
	border-color: var(--pl-navy);
	color: var(--pl-navy);
}

.variation-pill.active {
	border-color: var(--pl-navy);
	background: var(--pl-navy);
	color: #fff;
}

/* ==========================================================================
   Color Swatches (circle variant of variation pills)
   ========================================================================== */
.variation-pills--color {
	gap: 10px;
}

.variation-swatch {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 2px solid var(--pl-border);
	cursor: pointer;
	transition: transform var(--transition-fast), box-shadow var(--transition-fast);
	position: relative;
	padding: 0;
	flex-shrink: 0;
}

.variation-swatch:hover {
	transform: scale(1.12);
	box-shadow: 0 0 0 2px var(--pl-navy);
}

.variation-swatch.active {
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--pl-navy);
	transform: scale(1.08);
}

/* Light colors (white, cream, etc.) need a visible border */
.variation-swatch--light {
	border-color: #d1d5db;
}

.variation-swatch--light.active {
	border-color: #d1d5db;
}

/* Hide the original select when pills are present */
.variations td.value select {
	display: none;
}

/* ==========================================================================
   Trust/Urgency Line (below shipping badge)
   ========================================================================== */
.product-trust-line {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 20px;
	margin-block-start: 8px;
	background: transparent;
	border: 1px solid var(--pl-border);
	border-radius: 8px;
}

.trust-line__icon {
	flex-shrink: 0;
	color: var(--pl-taupe);
}

.trust-line__text {
	font-size: var(--fs-sm);
	font-weight: 500;
	color: var(--pl-charcoal);
	letter-spacing: 0.01em;
}

/* ==========================================================================
   Full Description inside Details Accordion
   ========================================================================== */
.product-full-description {
	padding-block-end: var(--space-md);
	margin-block-end: var(--space-md);
	border-block-end: 1px solid var(--pl-border);
	font-size: var(--fs-sm);
	line-height: 1.7;
	color: var(--pl-charcoal);
}

.product-full-description p:last-child {
	margin-block-end: 0;
}

/* ==========================================================================
   GAP FIXES — April 2026
   ========================================================================== */

/* ── GAP #5: Engravable Badge on Shop Cards ────────────────────────────── */
.product-image-wrapper {
	position: relative;
}

.badge-engravable {
	position: absolute;
	bottom: 10px;
	left: 10px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 10px 4px 8px;
	background: var(--pl-navy);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border-radius: 100px;
	pointer-events: none;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

.badge-engravable svg {
	flex-shrink: 0;
	opacity: 0.9;
}

/* ── GAP #7: Related Products Section ─────────────────────────────────── */
.related.products {
	grid-column: 1 / -1;
	margin-block-start: var(--space-3xl);
	border-block-start: 1px solid var(--pl-border);
	padding-block-start: var(--space-2xl);
}

.related.products > h2 {
	margin-block-end: var(--space-xl);
	font-size: var(--fs-xl);
	font-weight: 700;
	color: var(--pl-navy);
	letter-spacing: -0.02em;
}

.related.products ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: var(--space-lg);
	margin: 0;
	padding: 0;
	list-style: none;
}

.related.products ul.products li.product {
	background: var(--pl-white);
	border: 1px solid var(--pl-border);
	border-radius: var(--border-radius-lg);
	overflow: hidden;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.related.products ul.products li.product:hover {
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}

.related.products ul.products li.product a img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	display: block;
}

.related.products ul.products li.product .woocommerce-loop-product__title {
	padding: var(--space-md) var(--space-md) var(--space-xs);
	font-size: var(--fs-base);
	font-weight: 700;
	color: var(--pl-navy);
	margin: 0;
}

.related.products ul.products li.product .price {
	padding: 0 var(--space-md) var(--space-md);
	font-size: var(--fs-sm);
	font-weight: 600;
	color: var(--pl-taupe);
}

.related.products ul.products li.product .button {
	display: block;
	margin: 0 var(--space-md) var(--space-md);
	padding: var(--space-sm) var(--space-md);
	background: var(--pl-navy);
	color: #fff;
	font-size: var(--fs-sm);
	font-weight: 700;
	border-radius: var(--border-radius);
	text-align: center;
	text-decoration: none;
	transition: background 0.2s ease;
}

.related.products ul.products li.product .button:hover {
	background: var(--pl-charcoal);
}

/* ── GAP #8/#1: Inline ATC Error Message ──────────────────────────────── */
.pl-atc-inline-error {
	display: block;
	margin-block-end: var(--space-sm);
	padding: 12px 16px;
	background: #fef2f2;
	border: 1px solid #fecaca;
	border-radius: var(--border-radius);
	font-size: var(--fs-sm);
	font-weight: 600;
	color: #dc2626;
	line-height: 1.5;
	animation: pl-error-in 0.2s ease;
}

@keyframes pl-error-in {
	from { opacity: 0; transform: translateY(-6px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* ── GAP #9: Sticky Mobile Add-to-Cart Bar ────────────────────────────── */
.sticky-atc-bar {
	display: none; /* Hidden on desktop */
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 999;
	padding: 12px 16px;
	padding-bottom: max(12px, env(safe-area-inset-bottom));
	background: var(--pl-white);
	border-top: 1px solid var(--pl-border);
	box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.08);
	align-items: center;
	justify-content: space-between;
	gap: var(--space-sm);
	transform: translateY(100%);
	transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.sticky-atc-bar.is-visible {
	transform: translateY(0);
}

.sticky-atc-bar__title {
	font-size: var(--fs-sm);
	font-weight: 700;
	color: var(--pl-navy);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 55%;
}

.sticky-atc-bar__btn {
	flex-shrink: 0;
	height: 44px;
	padding-inline: var(--space-lg);
	background: var(--pl-navy);
	color: #fff;
	font-family: var(--ff-body);
	font-size: var(--fs-sm);
	font-weight: 700;
	border: none;
	border-radius: var(--border-radius);
	cursor: pointer;
	transition: background 0.2s ease, transform 0.15s ease;
}

.sticky-atc-bar__btn:hover {
	background: var(--pl-charcoal);
}

.sticky-atc-bar__btn:active {
	transform: scale(0.97);
}

/* Only show on mobile (tablets and below) */
@media (max-width: 768px) {
	.sticky-atc-bar {
		display: flex;
	}
}

/* ── Sales Tax Expectation Management ──────────────────────────────────
 * Standard procedure transparency: Notifies the customer on the Cart 
 * and Checkout pages that taxes will be added based on location.
 */
.wc-block-components-totals-footer-item {
	flex-wrap: wrap;
}

.wc-block-components-totals-footer-item::after {
	content: "Taxes calculated at checkout.";
	flex: 1 1 100%;
	margin-top: 8px;
	font-size: 0.75rem;
	font-weight: 500;
	color: var(--pl-charcoal, #4A4A4A);
	text-align: right;
	text-transform: none;
	letter-spacing: normal;
}