/* =================================================================
   SPLUGGAGE × WooCommerce
   Styles WooCommerce templates to match the SPLUGGAGE design language.
   Loaded only on WC pages (see spluggage_enqueue_assets in functions.php).
================================================================= */

/* ===== PAGE WRAPPER ===== */
.spluggage-wc-page {
	background: var(--cream);
	padding: 60px 32px 100px;
	min-height: 60vh;
	position: relative;
}
.spluggage-wc-page::before {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		radial-gradient(circle at 15% 25%, rgba(139,90,43,0.04) 0%, transparent 40%),
		radial-gradient(circle at 85% 75%, rgba(255,179,0,0.04) 0%, transparent 45%);
}
.spluggage-wc-container {
	max-width: 1400px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

/* ===== PAGE TITLE (shop archive header) ===== */
.woocommerce .page-title,
.woocommerce-products-header__title {
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 700 !important;
	font-size: clamp(36px, 5vw, 60px) !important;
	color: var(--navy) !important;
	letter-spacing: -0.02em !important;
	margin: 0 0 16px !important;
	text-align: center;
}
.woocommerce-products-header {
	text-align: center;
	margin-bottom: 48px;
}
.term-description,
.woocommerce-products-header__description {
	font-family: 'Patrick Hand', sans-serif;
	font-size: 20px;
	color: var(--ink-soft);
	max-width: 640px;
	margin: 0 auto;
	text-align: center;
}

/* ===== BREADCRUMBS ===== */
.woocommerce-breadcrumb {
	font-family: 'Patrick Hand', sans-serif !important;
	font-size: 16px !important;
	color: var(--ink-mute) !important;
	margin-bottom: 24px !important;
}
.woocommerce-breadcrumb a {
	color: var(--navy);
	text-decoration: none;
	font-weight: 600;
}
.woocommerce-breadcrumb a:hover { text-decoration: underline; }

/* ===== RESULT COUNT + ORDERING ===== */
.woocommerce .woocommerce-result-count {
	font-family: 'Patrick Hand', sans-serif !important;
	color: var(--ink-soft) !important;
	font-size: 16px !important;
	margin-bottom: 24px !important;
}
.woocommerce .woocommerce-ordering select {
	background: white;
	border: 2px solid rgba(0,29,131,0.08);
	border-radius: 999px;
	padding: 10px 18px;
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 14px;
	color: var(--navy);
	cursor: pointer;
}

/* ===== PRODUCT GRID — responsive, see filter additions below ===== */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 24px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	align-items: start !important;
}
@media (max-width: 960px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 540px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products { grid-template-columns: 1fr !important; }
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: white;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: var(--shadow-md);
	transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
	float: none !important;
	position: relative;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-8px);
}
.woocommerce ul.products li.product a {
	text-decoration: none;
	color: inherit;
}
.woocommerce ul.products li.product img,
.woocommerce ul.products li.product .wp-post-image {
	margin: 0 !important;
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	display: block;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 600 !important;
	font-size: 16px !important;
	color: var(--navy) !important;
	padding: 18px 20px 0 !important;
	line-height: 1.25 !important;
}
.woocommerce ul.products li.product .price {
	color: var(--brand-gold) !important;
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 700 !important;
	font-size: 20px !important;
	padding: 8px 20px !important;
	display: block;
}
.woocommerce ul.products li.product .price del {
	color: var(--ink-mute) !important;
	opacity: 0.6;
	font-size: 16px;
	margin-right: 8px;
}
.woocommerce ul.products li.product .price ins {
	background: transparent !important;
	text-decoration: none !important;
	color: var(--pink) !important;
}
.woocommerce ul.products li.product .button {
	margin: 0 20px 20px !important;
	display: inline-flex !important;
	background: var(--brand-gold) !important;
	color: white !important;
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	padding: 12px 22px !important;
	border-radius: 999px !important;
	box-shadow: 0 4px 0 var(--brand-gold-dark) !important;
	transition: transform 0.15s ease, box-shadow 0.15s ease !important;
	border: none !important;
	text-decoration: none !important;
	align-items: center !important;
	gap: 8px !important;
	width: auto !important;
}
.woocommerce ul.products li.product .button:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 0 var(--brand-gold-dark) !important;
	background: var(--brand-gold) !important;
}
.woocommerce ul.products li.product .added_to_cart {
	display: inline-block !important;
	margin: 0 20px 20px !important;
	padding: 8px 16px !important;
	background: var(--green) !important;
	color: white !important;
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	border-radius: 999px !important;
	text-decoration: none !important;
}

/* Sale badge — match SPLUGGAGE parchment hangtag style */
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
	position: absolute !important;
	top: 14px !important;
	right: 14px !important;
	left: auto !important;
	background: var(--pink) !important;
	color: white !important;
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 700 !important;
	font-size: 11px !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	padding: 6px 14px !important;
	border-radius: 999px !important;
	min-height: auto !important;
	min-width: auto !important;
	line-height: 1 !important;
	transform: rotate(-4deg) !important;
	box-shadow: 0 3px 0 #C01747 !important;
	margin: 0 !important;
}

/* ===== SINGLE PRODUCT PAGE ===== */
.woocommerce div.product {
	background: white;
	border-radius: 32px;
	padding: 48px;
	box-shadow: var(--shadow-md);
}
@media (max-width: 720px) {
	.woocommerce div.product { padding: 24px; border-radius: 24px; }
}
.woocommerce div.product .product_title {
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 700 !important;
	font-size: clamp(28px, 4vw, 44px) !important;
	color: var(--navy) !important;
	letter-spacing: -0.02em !important;
	margin: 0 0 16px !important;
	line-height: 1.1 !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--brand-gold) !important;
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 700 !important;
	font-size: 32px !important;
	margin: 0 0 24px !important;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
	color: var(--ink-mute) !important;
	opacity: 0.5;
	font-size: 22px;
}
.woocommerce div.product .woocommerce-product-rating {
	margin: 0 0 16px !important;
}
.woocommerce div.product .woocommerce-product-details__short-description {
	font-family: 'Patrick Hand', sans-serif;
	font-size: 18px;
	line-height: 1.6;
	color: var(--ink-soft);
	margin-bottom: 24px;
}
.woocommerce div.product form.cart {
	margin: 24px 0;
	padding: 24px;
	background: var(--cream);
	border-radius: 18px;
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	align-items: center;
}
.woocommerce div.product form.cart .quantity input[type=number] {
	background: white;
	border: 2px solid rgba(0,29,131,0.08);
	border-radius: 999px;
	padding: 12px 16px;
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 16px;
	color: var(--navy);
	width: 80px;
	text-align: center;
}
.woocommerce div.product form.cart .button,
.woocommerce div.product .single_add_to_cart_button {
	background: var(--brand-gold) !important;
	color: white !important;
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	padding: 16px 32px !important;
	border-radius: 999px !important;
	box-shadow: 0 5px 0 var(--brand-gold-dark) !important;
	border: none !important;
	transition: transform 0.15s ease, box-shadow 0.15s ease !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}
.woocommerce div.product form.cart .button:hover,
.woocommerce div.product .single_add_to_cart_button:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 7px 0 var(--brand-gold-dark) !important;
}
.woocommerce div.product .product_meta {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 2px dashed rgba(139,90,43,0.2);
	font-family: 'Patrick Hand', sans-serif;
	font-size: 16px;
	color: var(--ink-mute);
}
.woocommerce div.product .product_meta a {
	color: var(--navy);
	font-weight: 600;
	text-decoration: none;
}
.woocommerce div.product .product_meta a:hover { color: var(--brand-gold); }

/* Product tabs (Description / Additional Info / Reviews) */
.woocommerce div.product .woocommerce-tabs {
	margin-top: 48px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
	border: none !important;
	padding: 0 !important;
	margin: 0 0 0 0 !important;
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: rgba(255,255,255,0.6) !important;
	border: 2px solid transparent !important;
	border-radius: 999px !important;
	padding: 0 !important;
	margin: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	color: var(--navy) !important;
	padding: 12px 20px !important;
	text-decoration: none !important;
	display: block;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: var(--navy) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: white !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
	margin-top: 24px;
	font-family: 'Patrick Hand', sans-serif;
	font-size: 17px;
	line-height: 1.6;
	color: var(--ink-soft);
}
.woocommerce div.product .woocommerce-tabs .panel h2 {
	font-family: 'Fredoka', sans-serif;
	font-weight: 700;
	color: var(--navy);
	font-size: 24px;
	margin-bottom: 16px;
}

/* Related products */
.woocommerce div.product .related h2,
.woocommerce div.product .upsells h2 {
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 700 !important;
	font-size: 28px !important;
	color: var(--navy) !important;
	margin: 64px 0 24px !important;
	text-align: center;
}

/* ===== NOTICES (added to cart, errors, info) ===== */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: white !important;
	border: none !important;
	border-left: 6px solid var(--green) !important;
	border-radius: 14px !important;
	padding: 18px 22px !important;
	margin-bottom: 24px !important;
	font-family: 'Patrick Hand', sans-serif !important;
	font-size: 17px !important;
	color: var(--ink-soft) !important;
	box-shadow: var(--shadow-sm) !important;
	list-style: none !important;
}
.woocommerce-info { border-left-color: var(--blue) !important; }
.woocommerce-error { border-left-color: var(--pink) !important; }
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none !important; }
.woocommerce-message .button,
.woocommerce-info .button {
	background: var(--brand-gold) !important;
	color: white !important;
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 700 !important;
	padding: 10px 18px !important;
	border-radius: 999px !important;
	box-shadow: 0 4px 0 var(--brand-gold-dark) !important;
	border: none !important;
	float: right;
	text-decoration: none !important;
}

/* ===== CART PAGE ===== */
.woocommerce-cart .spluggage-wc-container {
	max-width: 1100px;
}
.woocommerce table.shop_table {
	background: white !important;
	border: none !important;
	border-radius: 24px !important;
	overflow: hidden;
	box-shadow: var(--shadow-md);
	border-collapse: separate !important;
}
.woocommerce table.shop_table thead {
	background: var(--navy);
}
.woocommerce table.shop_table thead th {
	color: var(--board-amber) !important;
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 600 !important;
	font-size: 12px !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	padding: 18px !important;
	border: none !important;
}
.woocommerce table.shop_table tbody td,
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th {
	padding: 20px 18px !important;
	border-top: 1px solid rgba(0,29,131,0.06) !important;
	font-family: 'Fredoka', sans-serif !important;
	color: var(--ink-soft) !important;
}
.woocommerce table.shop_table tbody td.product-name a {
	color: var(--navy) !important;
	font-weight: 600;
	text-decoration: none;
}
.woocommerce table.shop_table tbody td.product-price,
.woocommerce table.shop_table tbody td.product-subtotal {
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 700 !important;
	color: var(--brand-gold) !important;
}
.woocommerce a.remove {
	color: var(--pink) !important;
	background: rgba(252, 41, 94, 0.1);
	width: 28px !important;
	height: 28px !important;
	font-size: 18px !important;
	line-height: 26px !important;
	border-radius: 50% !important;
	text-decoration: none !important;
}
.woocommerce a.remove:hover {
	background: var(--pink) !important;
	color: white !important;
}

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
	width: 100% !important;
}
.woocommerce .cart-collaterals .cart_totals h2 {
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 700 !important;
	font-size: 24px !important;
	color: var(--navy) !important;
	margin-bottom: 16px !important;
}
.woocommerce .cart-collaterals .cart_totals .order-total .amount {
	color: var(--brand-gold) !important;
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 700 !important;
	font-size: 24px !important;
}
.woocommerce .cart-collaterals .checkout-button {
	background: var(--brand-gold) !important;
	color: white !important;
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 700 !important;
	font-size: 17px !important;
	padding: 18px 32px !important;
	border-radius: 999px !important;
	box-shadow: 0 5px 0 var(--brand-gold-dark) !important;
	text-align: center;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}
.woocommerce .cart-collaterals .checkout-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 7px 0 var(--brand-gold-dark) !important;
}
.woocommerce .actions .button,
.woocommerce-cart .button {
	background: white !important;
	color: var(--navy) !important;
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 700 !important;
	padding: 14px 24px !important;
	border-radius: 999px !important;
	box-shadow: 0 4px 0 var(--cream-peach) !important;
	border: none !important;
	text-transform: none !important;
}

/* ===== CHECKOUT PAGE ===== */
.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 32px;
}
@media (max-width: 920px) {
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
}
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
	background: white;
	border-radius: 24px;
	padding: 32px;
	box-shadow: var(--shadow-md);
}
.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / 3; }
.woocommerce-checkout #order_review_heading {
	grid-column: 2;
	grid-row: 1;
	padding-bottom: 0 !important;
	border-radius: 24px 24px 0 0;
	margin-bottom: 0 !important;
}
.woocommerce-checkout #order_review {
	grid-column: 2;
	grid-row: 2;
	border-radius: 0 0 24px 24px;
	margin-top: -1px;
}
.woocommerce form .form-row label {
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	color: var(--navy) !important;
	margin-bottom: 6px !important;
	display: block;
}
.woocommerce form .form-row input,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	background: var(--cream) !important;
	border: 2px solid transparent !important;
	border-radius: 12px !important;
	padding: 12px 16px !important;
	font-family: 'Fredoka', sans-serif !important;
	font-size: 15px !important;
	color: var(--navy) !important;
	width: 100%;
	transition: border-color 0.15s ease;
}
.woocommerce form .form-row input:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	border-color: var(--brand-gold) !important;
	outline: none;
}
.woocommerce #payment {
	background: var(--cream) !important;
	border-radius: 16px !important;
	padding: 20px !important;
	margin-top: 16px;
}
.woocommerce #payment ul.payment_methods {
	background: white !important;
	border-radius: 12px !important;
	padding: 16px !important;
	border: none !important;
	margin: 0 0 16px !important;
}
.woocommerce #payment .place-order {
	padding: 0 !important;
	margin-top: 16px !important;
}
.woocommerce #place_order {
	background: var(--brand-gold) !important;
	color: white !important;
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 700 !important;
	font-size: 17px !important;
	padding: 18px 32px !important;
	border-radius: 999px !important;
	box-shadow: 0 5px 0 var(--brand-gold-dark) !important;
	border: none !important;
	width: 100%;
	transition: transform 0.15s ease;
	letter-spacing: normal !important;
	text-transform: none !important;
}
.woocommerce #place_order:hover {
	transform: translateY(-2px);
	box-shadow: 0 7px 0 var(--brand-gold-dark) !important;
}

/* ===== MY ACCOUNT ===== */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none !important;
	background: white;
	border-radius: 18px;
	padding: 12px;
	box-shadow: var(--shadow-sm);
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0 !important;
	padding: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 12px 16px;
	border-radius: 12px;
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 15px;
	color: var(--ink-soft);
	text-decoration: none;
	transition: all 0.2s;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	background: var(--cream);
	color: var(--navy);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--navy);
	color: var(--board-amber);
}
.woocommerce-account .woocommerce-MyAccount-content {
	background: white;
	border-radius: 24px;
	padding: 32px;
	box-shadow: var(--shadow-md);
}

/* ===== FORM (login / register) ===== */
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.checkout_coupon,
.woocommerce form.lost_reset_password {
	background: white !important;
	border-radius: 24px !important;
	padding: 32px !important;
	border: none !important;
	box-shadow: var(--shadow-md) !important;
}
.woocommerce form.login button,
.woocommerce form.register button,
.woocommerce form .button {
	background: var(--brand-gold) !important;
	color: white !important;
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 700 !important;
	padding: 14px 28px !important;
	border-radius: 999px !important;
	box-shadow: 0 5px 0 var(--brand-gold-dark) !important;
	border: none !important;
	transition: transform 0.15s ease !important;
}
.woocommerce form.login button:hover,
.woocommerce form.register button:hover,
.woocommerce form .button:hover {
	transform: translateY(-2px);
	box-shadow: 0 7px 0 var(--brand-gold-dark) !important;
}

/* ===== PAGINATION ===== */
.woocommerce nav.woocommerce-pagination ul {
	border: none !important;
	margin-top: 48px !important;
}
.woocommerce nav.woocommerce-pagination ul li {
	border: none !important;
	margin: 0 4px !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 600 !important;
	background: white !important;
	color: var(--navy) !important;
	border-radius: 999px !important;
	padding: 10px 16px !important;
	min-width: 44px;
	box-shadow: var(--shadow-sm);
	text-decoration: none;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--navy) !important;
	color: white !important;
}

/* ===== RATINGS (stars) ===== */
.woocommerce .star-rating::before,
.woocommerce .star-rating span::before {
	color: var(--board-amber) !important;
}

/* ===== QUANTITY WIDGET ===== */
.woocommerce .quantity input[type=number] {
	-moz-appearance: textfield;
}

/* Hide WC's own "Continue shopping" link styling so our buttons read clearly */
.woocommerce .wc-backward {
	background: white !important;
	color: var(--navy) !important;
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 700 !important;
	padding: 12px 22px !important;
	border-radius: 999px !important;
	box-shadow: 0 4px 0 var(--cream-peach) !important;
	border: none !important;
	text-decoration: none !important;
}

/* =================================================================
   v4.15 — SHOP / CART / CHECKOUT HERO BLOCKS
   ================================================================= */

/* Shared hero block (shop, cart, checkout share styling) */
.spluggage-shop-hero,
.spluggage-cart-hero,
.spluggage-checkout-hero {
	background: linear-gradient(180deg, #92E7FF 0%, #C9F0FF 50%, var(--cream) 100%);
	padding: 56px 32px 44px;
	margin: 0 -32px 48px;
	border-radius: 0;
	text-align: center;
	position: relative;
	overflow: hidden;
}
.spluggage-shop-hero__inner,
.spluggage-cart-hero__inner,
.spluggage-checkout-hero__inner {
	max-width: 760px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}
.spluggage-shop-hero__kicker,
.spluggage-cart-hero__kicker,
.spluggage-checkout-hero__kicker {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--navy);
	color: var(--yellow);
	font-family: 'Fredoka', sans-serif;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	padding: 8px 18px;
	border-radius: 999px;
	margin-bottom: 18px;
}
.spluggage-shop-hero__title,
.spluggage-cart-hero__title,
.spluggage-checkout-hero__title {
	font-family: 'Fredoka', sans-serif;
	font-weight: 700;
	font-size: clamp(32px, 5vw, 56px);
	color: var(--navy);
	letter-spacing: -0.02em;
	line-height: 1.05;
	margin: 0 0 14px;
}
.spluggage-shop-hero__title em,
.spluggage-cart-hero__title em,
.spluggage-checkout-hero__title em {
	font-style: normal;
	color: var(--brand-gold);
	font-family: 'Caveat', cursive;
	font-weight: 700;
	display: inline-block;
	transform: rotate(-2deg);
}
.spluggage-shop-hero__intro,
.spluggage-cart-hero__intro,
.spluggage-checkout-hero__intro {
	font-family: 'Patrick Hand', sans-serif;
	font-size: clamp(17px, 1.8vw, 21px);
	color: var(--ink-soft);
	margin: 0 auto;
	max-width: 580px;
	line-height: 1.55;
}
.spluggage-shop-hero__count {
	margin-top: 14px;
	display: inline-block;
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 13px;
	color: var(--brand-blue-dark);
	background: white;
	padding: 6px 16px;
	border-radius: 999px;
	box-shadow: var(--shadow-sm);
}

/* Checkout progress steps (1 Cart - 2 Details - 3 Confirmation) */
.spluggage-checkout-steps {
	list-style: none;
	padding: 0;
	margin: 24px auto 0;
	display: inline-flex;
	gap: 0;
	background: white;
	border-radius: 999px;
	padding: 4px;
	box-shadow: var(--shadow-sm);
}
.spluggage-checkout-steps li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 13px;
	color: var(--ink-mute);
	border-radius: 999px;
}
.spluggage-checkout-steps li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	background: #e0e0e0;
	color: white;
	border-radius: 50%;
	font-size: 12px;
	font-weight: 700;
}
.spluggage-checkout-steps li.is-done {
	color: var(--brand-blue-dark);
}
.spluggage-checkout-steps li.is-done span {
	background: var(--brand-blue);
}
.spluggage-checkout-steps li.is-active {
	background: var(--navy);
	color: white;
}
.spluggage-checkout-steps li.is-active span {
	background: var(--brand-gold);
	color: var(--navy);
}

/* =================================================================
   FREE-SHIPPING PROGRESS BAR
   ================================================================= */
.spluggage-shipping-progress {
	background: white;
	border: 2px dashed var(--brand-gold);
	border-radius: 16px;
	padding: 16px 22px;
	margin: 0 0 32px;
}
.spluggage-shipping-progress__msg {
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 15px;
	color: var(--navy);
	margin-bottom: 10px;
}
.spluggage-shipping-progress__msg strong { color: var(--brand-gold-dark); }
.spluggage-shipping-progress__msg--won { color: #2D7A2D; }
.spluggage-shipping-progress__msg--won strong { color: #2D7A2D; }
.spluggage-shipping-progress__bar {
	height: 8px;
	background: var(--cream-peach);
	border-radius: 999px;
	overflow: hidden;
}
.spluggage-shipping-progress__fill {
	height: 100%;
	background: linear-gradient(90deg, var(--brand-gold), var(--brand-gold-dark));
	border-radius: 999px;
	transition: width 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* =================================================================
   PARENT TRUST STRIP (bottom of cart + checkout)
   ================================================================= */
.spluggage-trust-strip {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	margin: 48px 0 0;
	padding: 32px 24px;
	background: white;
	border-radius: 20px;
	box-shadow: var(--shadow-md);
	border-top: 4px solid var(--brand-gold);
}
.trust-item {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 8px 4px;
}
.trust-item__icon {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	background: var(--cream-peach);
	color: var(--navy);
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.trust-item__body {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.trust-item__body strong {
	font-family: 'Fredoka', sans-serif;
	font-weight: 700;
	font-size: 14px;
	color: var(--navy);
	line-height: 1.2;
}
.trust-item__body span {
	font-family: 'Patrick Hand', sans-serif;
	font-size: 14px;
	color: var(--ink-soft);
	line-height: 1.3;
	margin-top: 2px;
}

/* =================================================================
   EMPTY CART STATE
   ================================================================= */
.spluggage-empty-cart {
	background: white;
	border-radius: 24px;
	padding: 60px 32px;
	text-align: center;
	box-shadow: var(--shadow-md);
	max-width: 580px;
	margin: 0 auto;
}
.spluggage-empty-cart__icon {
	width: 96px;
	height: 96px;
	background: var(--cream-peach);
	color: var(--navy);
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 22px;
}
.spluggage-empty-cart h2 {
	font-family: 'Fredoka', sans-serif;
	font-weight: 700;
	font-size: 30px;
	color: var(--navy);
	margin: 0 0 10px;
	letter-spacing: -0.02em;
}
.spluggage-empty-cart p {
	font-family: 'Patrick Hand', sans-serif;
	font-size: 18px;
	color: var(--ink-soft);
	margin: 0 0 24px;
	line-height: 1.5;
}
.spluggage-empty-cart__cta {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}

/* =================================================================
   CART TABLE polish
   ================================================================= */
.woocommerce-cart .cart-collaterals,
.woocommerce-checkout .col2-set,
.woocommerce-checkout #order_review_heading {
	margin-top: 16px;
}
.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table {
	background: white;
	border-radius: 20px;
	overflow: hidden;
	border: none;
	box-shadow: var(--shadow-md);
	border-collapse: separate;
	border-spacing: 0;
}
.woocommerce-cart table.shop_table th,
.woocommerce-checkout table.shop_table th {
	background: var(--navy);
	color: var(--yellow);
	font-family: 'Fredoka', sans-serif;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: 12px;
	padding: 16px 18px;
	border: none;
}
.woocommerce-cart table.shop_table td,
.woocommerce-checkout table.shop_table td {
	padding: 18px;
	font-family: 'Patrick Hand', sans-serif;
	font-size: 16px;
	color: var(--ink-deep);
	border-top: 1px dashed rgba(0, 29, 131, 0.1);
}
.woocommerce-cart table.shop_table tr:first-child td {
	border-top: none;
}
.woocommerce-cart table.shop_table td.product-name a,
.woocommerce-checkout table.shop_table td.product-name a {
	font-family: 'Fredoka', sans-serif;
	font-weight: 700;
	color: var(--navy);
	text-decoration: none;
}
.woocommerce-cart table.shop_table td.product-name a:hover {
	color: var(--brand-blue);
}
.woocommerce-cart table.shop_table td.product-thumbnail img,
.woocommerce-checkout table.shop_table td.product-thumbnail img {
	width: 72px;
	height: 72px;
	object-fit: cover;
	border-radius: 12px;
	box-shadow: var(--shadow-sm);
}
.woocommerce-cart .product-remove a,
.woocommerce-checkout .product-remove a {
	color: var(--brand-pink, #FC295E) !important;
	font-size: 20px;
	font-weight: 700;
	text-decoration: none;
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(252, 41, 94, 0.08);
	transition: background 0.2s ease, transform 0.15s ease;
}
.woocommerce-cart .product-remove a:hover {
	background: var(--brand-pink, #FC295E);
	color: white !important;
	transform: rotate(90deg);
}

/* Quantity input — branded */
.woocommerce-cart .quantity input.qty,
.woocommerce-checkout .quantity input.qty {
	background: white;
	border: 2px solid var(--cream-peach);
	border-radius: 10px;
	padding: 8px 10px;
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	color: var(--navy);
	width: 64px;
	text-align: center;
	transition: border-color 0.2s ease;
}
.woocommerce-cart .quantity input.qty:focus,
.woocommerce-checkout .quantity input.qty:focus {
	border-color: var(--brand-blue);
	outline: 0;
}

/* Coupon row */
.woocommerce-cart .coupon {
	display: flex;
	gap: 8px;
	align-items: center;
	flex-wrap: wrap;
}
.woocommerce-cart .coupon input[name="coupon_code"] {
	background: white;
	border: 2px solid var(--cream-peach);
	border-radius: 999px;
	padding: 12px 18px;
	font-family: 'Patrick Hand', sans-serif;
	font-size: 16px;
	min-width: 200px;
	transition: border-color 0.2s ease;
}
.woocommerce-cart .coupon input[name="coupon_code"]:focus {
	border-color: var(--brand-blue);
	outline: 0;
}

/* Update cart + Proceed to checkout buttons */
.woocommerce-cart .actions .button,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	background: var(--brand-blue) !important;
	color: white !important;
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	padding: 14px 26px !important;
	border-radius: 999px !important;
	border: none !important;
	box-shadow: 0 4px 0 var(--brand-blue-dark) !important;
	transition: transform 0.15s ease, box-shadow 0.15s ease !important;
	text-decoration: none !important;
}
.woocommerce-cart .actions .button:hover,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 0 var(--brand-blue-dark) !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	background: var(--brand-gold) !important;
	color: var(--navy) !important;
	box-shadow: 0 4px 0 var(--brand-gold-dark) !important;
	font-size: 17px !important;
	padding: 16px 32px !important;
	width: 100%;
	text-align: center !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
	box-shadow: 0 6px 0 var(--brand-gold-dark) !important;
}

/* Cart totals box — make it feel like a boarding pass */
.cart_totals {
	background: white;
	border-radius: 20px;
	padding: 28px;
	box-shadow: var(--shadow-md);
	border-top: 4px solid var(--brand-gold);
}
.cart_totals h2 {
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 700 !important;
	color: var(--navy) !important;
	font-size: 22px !important;
	margin: 0 0 18px !important;
}
.cart_totals table.shop_table {
	box-shadow: none;
	background: transparent;
}
.cart_totals table.shop_table th {
	background: transparent !important;
	color: var(--navy) !important;
	font-family: 'Patrick Hand', sans-serif !important;
	font-size: 16px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	padding: 8px 0 !important;
}
.cart_totals table.shop_table td {
	padding: 8px 0 !important;
	border-top: 1px dashed rgba(0, 29, 131, 0.1) !important;
	text-align: right;
}
.cart_totals .order-total td,
.cart_totals .order-total th {
	font-size: 18px !important;
	color: var(--navy) !important;
	font-weight: 700 !important;
	padding-top: 14px !important;
}

/* =================================================================
   CHECKOUT FORM polish
   ================================================================= */
.woocommerce-checkout h3 {
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 700 !important;
	color: var(--navy) !important;
	font-size: 22px !important;
	letter-spacing: -0.01em !important;
	margin: 24px 0 16px !important;
}
.woocommerce form .form-row label {
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 600 !important;
	color: var(--navy) !important;
	font-size: 14px !important;
	margin-bottom: 6px !important;
	display: block;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce form .form-row .select2-selection {
	background: white !important;
	border: 2px solid var(--cream-peach) !important;
	border-radius: 12px !important;
	padding: 12px 16px !important;
	font-family: 'Patrick Hand', sans-serif !important;
	font-size: 16px !important;
	color: var(--ink-deep) !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
	box-shadow: none !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	border-color: var(--brand-blue) !important;
	outline: 0 !important;
	box-shadow: 0 0 0 4px rgba(47, 127, 216, 0.12) !important;
}
.woocommerce form .form-row.woocommerce-validated input.input-text {
	border-color: #2D7A2D !important;
}
.woocommerce form .form-row.woocommerce-invalid input.input-text {
	border-color: #d63638 !important;
}

/* Two-column checkout layout */
.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: 1fr 420px;
	gap: 32px;
	align-items: start;
}
.woocommerce-checkout #customer_details { min-width: 0; }
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
	grid-column: 2;
	position: sticky;
	top: 24px;
}
.woocommerce-checkout #order_review_heading {
	margin: 0 0 0 !important;
	padding-bottom: 0;
}
.woocommerce-checkout #order_review {
	background: white;
	border-radius: 20px;
	padding: 24px;
	box-shadow: var(--shadow-md);
	border-top: 4px solid var(--brand-gold);
}
.woocommerce-checkout #order_review table.shop_table {
	box-shadow: none;
	background: transparent;
}
.woocommerce-checkout #order_review .product-name {
	font-weight: 600 !important;
	color: var(--navy);
}

/* Payment methods panel */
.woocommerce-checkout #payment {
	background: var(--cream) !important;
	border-radius: 16px !important;
	padding: 16px !important;
	margin-top: 18px !important;
}
.woocommerce-checkout #payment ul.payment_methods {
	border-bottom: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.woocommerce-checkout #payment ul.payment_methods li {
	background: white;
	border-radius: 12px;
	padding: 14px 18px !important;
	margin-bottom: 8px;
	border: 2px solid transparent;
	transition: border-color 0.2s ease;
}
.woocommerce-checkout #payment ul.payment_methods li.is-selected,
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]:checked + label {
	border-color: var(--brand-blue);
}
.woocommerce-checkout #payment ul.payment_methods label {
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 600 !important;
	color: var(--navy) !important;
}
.woocommerce-checkout #payment .payment_box {
	background: var(--cream-peach) !important;
	border-radius: 12px !important;
	padding: 14px 18px !important;
	font-family: 'Patrick Hand', sans-serif !important;
	color: var(--ink-soft) !important;
}
.woocommerce-checkout #payment .payment_box::before {
	display: none !important;
}

/* Place Order button — the big gold CTA */
.woocommerce-checkout #place_order {
	background: var(--brand-gold) !important;
	color: var(--navy) !important;
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 700 !important;
	font-size: 18px !important;
	padding: 18px 36px !important;
	border-radius: 999px !important;
	border: none !important;
	box-shadow: 0 5px 0 var(--brand-gold-dark) !important;
	width: 100% !important;
	margin-top: 16px !important;
	cursor: pointer !important;
	transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}
.woocommerce-checkout #place_order:hover {
	transform: translateY(-2px);
	box-shadow: 0 7px 0 var(--brand-gold-dark) !important;
}

.spluggage-checkout-secure {
	background: var(--cream);
	border-radius: 12px;
	padding: 10px 14px;
	font-family: 'Patrick Hand', sans-serif;
	font-size: 14px;
	color: var(--ink-soft);
	text-align: center;
	margin: 12px 0;
}

/* Coupon link / login link on checkout */
.woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-form-coupon-toggle .woocommerce-info {
	background: var(--cream-peach) !important;
	border: none !important;
	border-radius: 12px !important;
	padding: 14px 18px !important;
	color: var(--navy) !important;
	font-family: 'Patrick Hand', sans-serif !important;
}
.woocommerce-form-login-toggle .woocommerce-info a,
.woocommerce-form-coupon-toggle .woocommerce-info a {
	color: var(--brand-blue) !important;
	font-weight: 700;
	text-decoration: underline;
}

/* =================================================================
   THANK YOU PAGE
   ================================================================= */
.spluggage-thankyou {
	background: linear-gradient(180deg, var(--cream) 0%, var(--cream-peach) 100%);
	border-radius: 28px;
	padding: 56px 32px;
	text-align: center;
	margin: 0 auto 32px;
	max-width: 720px;
	border-top: 6px solid var(--brand-gold);
	box-shadow: var(--shadow-md);
}
.spluggage-thankyou__icon {
	width: 100px;
	height: 100px;
	background: var(--brand-gold);
	color: var(--navy);
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 22px;
	box-shadow: 0 6px 0 var(--brand-gold-dark);
}
.spluggage-thankyou h1 {
	font-family: 'Fredoka', sans-serif;
	font-weight: 700;
	font-size: clamp(30px, 5vw, 48px);
	color: var(--navy);
	margin: 0 0 14px;
	letter-spacing: -0.02em;
	line-height: 1.05;
}
.spluggage-thankyou p {
	font-family: 'Patrick Hand', sans-serif;
	font-size: 18px;
	color: var(--ink-soft);
	max-width: 480px;
	margin: 0 auto 18px;
	line-height: 1.55;
}
.spluggage-thankyou__order-num {
	display: inline-block;
	background: white;
	padding: 10px 22px;
	border-radius: 999px;
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	color: var(--navy);
	box-shadow: var(--shadow-sm);
}

/* =================================================================
   LOW-STOCK badge in product description
   ================================================================= */
.woocommerce div.product p.stock.low-stock {
	color: var(--brand-pink, #FC295E) !important;
	font-weight: 700;
}

/* =================================================================
   MOBILE RESPONSIVE
   ================================================================= */
@media (max-width: 900px) {
	.spluggage-shop-hero, .spluggage-cart-hero, .spluggage-checkout-hero {
		padding: 40px 20px 32px;
		margin: 0 -20px 32px;
	}
	.spluggage-trust-strip {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px 12px;
		padding: 24px 18px;
	}
	.woocommerce-checkout form.checkout {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.woocommerce-checkout #order_review_heading,
	.woocommerce-checkout #order_review {
		grid-column: 1;
		position: static;
	}
	.spluggage-checkout-steps {
		display: flex;
		font-size: 12px;
	}
	.spluggage-checkout-steps li {
		padding: 6px 12px;
	}
}

@media (max-width: 600px) {
	.spluggage-trust-strip {
		grid-template-columns: 1fr;
		gap: 14px;
	}
	.trust-item__icon { width: 40px; height: 40px; }
	.spluggage-empty-cart { padding: 40px 22px; }
	.spluggage-empty-cart__icon { width: 80px; height: 80px; }
	.spluggage-empty-cart h2 { font-size: 24px; }
	.spluggage-empty-cart__cta { flex-direction: column; }
	.spluggage-empty-cart__cta .btn { width: 100%; }

	/* Cart table → stack on mobile (WC's built-in mobile cart pattern) */
	.woocommerce-cart table.shop_table thead { display: none; }
	.woocommerce-cart table.shop_table tr {
		display: block;
		background: white;
		border-radius: 16px;
		padding: 16px;
		margin-bottom: 12px;
		box-shadow: var(--shadow-sm);
	}
	.woocommerce-cart table.shop_table td {
		display: block;
		padding: 6px 0 !important;
		border: none !important;
		text-align: left;
	}
	.woocommerce-cart table.shop_table td.product-thumbnail {
		float: left;
		margin-right: 14px;
	}
	.woocommerce-cart .coupon input[name="coupon_code"] { width: 100%; min-width: 0; }

	.spluggage-checkout-steps li {
		font-size: 11px;
		padding: 6px 10px;
	}
	.spluggage-checkout-steps li span {
		width: 18px; height: 18px;
		font-size: 10px;
	}

	.spluggage-thankyou { padding: 40px 22px; }
	.spluggage-thankyou__icon { width: 80px; height: 80px; }
}

/* =================================================================
   SPLUGGAGE SHOP v2 — FILTER BAR + AJAX SEARCH + PRODUCT CARDS
================================================================= */

/* ── Remove WC default ordering bar ── */
.woocommerce-ordering,
.woocommerce-result-count { display: none !important; }

/* ── Page layout ── */
.spluggage-wc-page { padding: 40px 24px 100px; }
.spluggage-wc-container { max-width: 1280px; }

/* ─────────────────────────────────────────────────────────────────
   FILTER WRAPPER
───────────────────────────────────────────────────────────────── */
.spl-shop-filters {
	position: relative;
	background: #fff;
	border-radius: 24px;
	padding: 24px 28px 20px;
	box-shadow: 0 4px 24px rgba(0,29,131,.08);
	margin-bottom: 32px;
	border: 1.5px solid rgba(0,29,131,.07);
}

/* ─────────────────────────────────────────────────────────────────
   SEARCH BAR
───────────────────────────────────────────────────────────────── */
.spl-shop-search {
	position: relative;
	margin-bottom: 20px;
}
.spl-shop-search__icon {
	position: absolute;
	left: 18px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--brand-blue);
	pointer-events: none;
	display: flex;
	align-items: center;
}
.spl-shop-search__input {
	width: 100%;
	box-sizing: border-box;
	padding: 14px 48px 14px 50px;
	border: 2px solid rgba(0,29,131,.12);
	border-radius: 999px;
	font-family: 'Patrick Hand', sans-serif;
	font-size: 17px;
	color: var(--navy);
	background: var(--cream);
	transition: border-color .2s, box-shadow .2s;
	outline: none;
}
.spl-shop-search__input:focus {
	border-color: var(--brand-blue);
	box-shadow: 0 0 0 4px rgba(47,127,216,.1);
	background: #fff;
}
.spl-shop-search__input::placeholder { color: var(--ink-mute); }
.spl-shop-search__clear {
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(0,29,131,.08);
	border: none;
	border-radius: 50%;
	width: 28px;
	height: 28px;
	cursor: pointer;
	font-size: 13px;
	color: var(--ink-mute);
	transition: background .18s;
	display: none;
	align-items: center;
	justify-content: center;
	line-height: 1;
}
.spl-shop-search__clear:hover { background: rgba(0,29,131,.15); color: var(--navy); }

/* ── Live search dropdown ── */
.spl-search-results {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	right: 0;
	background: #fff;
	border-radius: 18px;
	box-shadow: 0 12px 40px rgba(0,29,131,.14);
	z-index: 500;
	overflow: hidden;
	display: none;
	border: 1.5px solid rgba(0,29,131,.08);
}
.spl-search-results.is-open { display: block; }
.spl-search-result {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 11px 18px;
	text-decoration: none;
	color: var(--navy);
	transition: background .15s;
	border-bottom: 1px solid rgba(0,29,131,.05);
}
.spl-search-result:last-child { border-bottom: none; }
.spl-search-result:hover { background: var(--cream); }
.spl-search-result__thumb {
	width: 44px;
	height: 44px;
	border-radius: 10px;
	object-fit: cover;
	flex-shrink: 0;
	background: var(--cream);
}
.spl-search-result__title {
	font-family: 'Fredoka', sans-serif;
	font-weight: 700;
	font-size: 14px;
	flex: 1;
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.spl-search-result__price {
	font-family: 'Fredoka', sans-serif;
	font-size: 14px;
	font-weight: 700;
	color: var(--brand-blue);
	flex-shrink: 0;
}
.spl-search-no-results {
	padding: 18px;
	text-align: center;
	font-family: 'Patrick Hand', sans-serif;
	font-size: 15px;
	color: var(--ink-mute);
}

/* ─────────────────────────────────────────────────────────────────
   FILTER ROWS
───────────────────────────────────────────────────────────────── */
.spl-filter-row {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.spl-filter-group {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.spl-filter-label {
	font-family: 'Fredoka', sans-serif;
	font-weight: 700;
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ink-mute);
	white-space: nowrap;
	min-width: 64px;
	flex-shrink: 0;
}
.spl-filter-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	align-items: center;
}

/* ── Pills ── */
.spl-pill {
	display: inline-flex;
	align-items: center;
	padding: 6px 16px;
	border-radius: 999px;
	border: 2px solid rgba(0,29,131,.14);
	background: #fff;
	color: var(--navy);
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 13px;
	cursor: pointer;
	white-space: nowrap;
	transition: border-color .18s, background .18s, color .18s, box-shadow .18s;
	line-height: 1.3;
}
.spl-pill:hover {
	border-color: var(--brand-blue);
	background: rgba(47,127,216,.06);
	box-shadow: 0 2px 8px rgba(47,127,216,.12);
}
.spl-pill.is-active {
	background: var(--navy);
	border-color: var(--navy);
	color: #fff;
	box-shadow: 0 3px 0 rgba(0,0,0,.18);
}

/* ── View toggle ── */
.spl-view-toggle-group {
	border-top: 1px solid rgba(0,29,131,.07);
	padding-top: 14px;
	justify-content: flex-end;
}
.spl-view-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	border: 2px solid rgba(0,29,131,.12);
	background: #fff;
	color: var(--ink-mute);
	cursor: pointer;
	transition: all .18s;
}
.spl-view-btn.is-active { background: var(--navy); border-color: var(--navy); color: #fff; }
.spl-view-btn:hover:not(.is-active) { border-color: var(--brand-blue); color: var(--brand-blue); }

/* ── Active filter bar ── */
.spl-active-filters {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 14px;
	padding: 10px 16px;
	background: rgba(47,127,216,.06);
	border-radius: 12px;
}
.spl-active-filters__label {
	font-family: 'Fredoka', sans-serif;
	font-weight: 700;
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ink-mute);
}
.spl-active-tag {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 10px;
	background: var(--brand-blue);
	color: #fff;
	border-radius: 999px;
	font-family: 'Fredoka', sans-serif;
	font-size: 12px;
	font-weight: 700;
}
.spl-active-filters__clear {
	margin-left: auto;
	background: none;
	border: none;
	cursor: pointer;
	font-family: 'Fredoka', sans-serif;
	font-weight: 700;
	font-size: 13px;
	color: var(--brand-blue);
	padding: 4px 8px;
	border-radius: 8px;
	transition: background .15s;
}
.spl-active-filters__clear:hover { background: rgba(47,127,216,.1); }

/* ─────────────────────────────────────────────────────────────────
   LOADING OVERLAY
───────────────────────────────────────────────────────────────── */
.spl-shop-loading {
	display: none;
	position: fixed;
	bottom: 32px;
	right: 32px;
	background: var(--navy);
	color: #fff;
	border-radius: 999px;
	padding: 12px 22px;
	align-items: center;
	gap: 12px;
	z-index: 9999;
	font-family: 'Fredoka', sans-serif;
	font-weight: 700;
	font-size: 15px;
	box-shadow: 0 8px 32px rgba(0,0,0,.25);
	animation: spl-slide-up .3s ease;
}
@keyframes spl-slide-up { from { opacity:0; transform:translateY(16px); } }
.spl-shop-loading.is-active { display: flex; }
.spl-shop-loading__spinner {
	width: 18px;
	height: 18px;
	border: 3px solid rgba(255,255,255,.3);
	border-top-color: #fff;
	border-radius: 50%;
	animation: spl-spin .7s linear infinite;
	flex-shrink: 0;
}
@keyframes spl-spin { to { transform: rotate(360deg); } }

/* ─────────────────────────────────────────────────────────────────
   PRODUCT GRID — CARDS
───────────────────────────────────────────────────────────────── */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background: #fff !important;
	border-radius: 20px !important;
	overflow: hidden !important;
	box-shadow: 0 3px 16px rgba(0,29,131,.08) !important;
	transition: transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s !important;
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border-top: 4px solid var(--navy) !important;
	position: relative !important;
}
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
	transform: translateY(-5px) !important;
	box-shadow: 0 14px 36px rgba(0,29,131,.14) !important;
}

/* Product image — fixed 1:1 ratio */
.woocommerce ul.products li.product a.woocommerce-loop-product__link img,
.woocommerce ul.products li.product .wp-post-image,
.woocommerce-page ul.products li.product .wp-post-image {
	width: 100% !important;
	height: 240px !important;
	object-fit: cover !important;
	object-position: center top !important;
	display: block !important;
	margin: 0 !important;
	border-radius: 0 !important;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	color: var(--navy) !important;
	padding: 14px 16px 4px !important;
	margin: 0 !important;
	line-height: 1.25 !important;
}

/* Price */
.woocommerce ul.products li.product .price {
	font-family: 'Fredoka', sans-serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: var(--brand-blue) !important;
	padding: 0 16px 8px !important;
	margin: 0 !important;
}
.woocommerce ul.products li.product .price del { color: var(--ink-mute) !important; font-size: 13px !important; }

/* Add to cart button */
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .button {
	display: block !important;
	margin: auto 16px 16px !important;
	padding: 11px 16px !important;
	background: var(--navy) !important;
	color: #fff !important;
	border-radius: 999px !important;
	font-family: 'Fredoka', sans-serif !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	text-align: center !important;
	border: none !important;
	cursor: pointer !important;
	transition: background .18s, transform .14s !important;
	box-shadow: 0 4px 0 rgba(0,0,0,.14) !important;
	text-decoration: none !important;
	width: auto !important;
}
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product .button:hover {
	background: var(--brand-blue) !important;
	transform: translateY(-2px) !important;
}

/* ─────────────────────────────────────────────────────────────────
   AJAX RESULTS COUNT + NO RESULTS + PAGINATION
───────────────────────────────────────────────────────────────── */
.spl-ajax-count {
	font-family: 'Patrick Hand', sans-serif;
	font-size: 15px;
	color: var(--ink-mute);
	margin-bottom: 20px;
}
.spl-no-results {
	text-align: center;
	padding: 80px 32px;
	grid-column: 1 / -1;
}
.spl-no-results__icon { font-size: 52px; margin-bottom: 14px; }
.spl-no-results h3 {
	font-family: 'Fredoka', sans-serif;
	font-weight: 700;
	font-size: 26px;
	color: var(--navy);
	margin-bottom: 8px;
}
.spl-no-results p {
	font-family: 'Patrick Hand', sans-serif;
	font-size: 17px;
	color: var(--ink-soft);
}
.spl-ajax-pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 44px;
}
.spl-page-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	border: 2px solid rgba(0,29,131,.12);
	background: #fff;
	color: var(--navy);
	font-family: 'Fredoka', sans-serif;
	font-weight: 700;
	font-size: 15px;
	cursor: pointer;
	transition: all .18s;
}
.spl-page-btn:hover, .spl-page-btn.is-active {
	background: var(--navy);
	color: #fff;
	border-color: var(--navy);
}

/* ─────────────────────────────────────────────────────────────────
   LIST VIEW MODE
───────────────────────────────────────────────────────────────── */
.spl-list-view .woocommerce ul.products,
.spl-list-view .woocommerce-page ul.products {
	grid-template-columns: 1fr !important;
}
.spl-list-view .woocommerce ul.products li.product,
.spl-list-view .woocommerce-page ul.products li.product {
	flex-direction: row !important;
	border-top: none !important;
	border-left: 5px solid var(--navy) !important;
	max-height: 140px !important;
	overflow: hidden !important;
}
.spl-list-view .woocommerce ul.products li.product .wp-post-image {
	width: 140px !important;
	height: 140px !important;
	flex-shrink: 0 !important;
	object-position: center !important;
}
.spl-list-view .woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 17px !important;
}
.spl-list-view .woocommerce ul.products li.product a.button,
.spl-list-view .woocommerce ul.products li.product .button {
	margin: auto 16px 0 !important;
	width: fit-content !important;
}

/* ─────────────────────────────────────────────────────────────────
   RESPONSIVE
───────────────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 768px) {
	.spl-shop-filters { padding: 18px 18px 16px; }
	.spl-filter-label { min-width: 52px; font-size: 10px; }
	.woocommerce ul.products,
	.woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; }
	.woocommerce ul.products li.product .wp-post-image { height: 180px !important; }
	.spl-shop-loading { bottom: 16px; right: 16px; font-size: 13px; padding: 10px 18px; }
}
@media (max-width: 480px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products { grid-template-columns: 1fr !important; }
	.spl-shop-search__input { font-size: 15px; }
}
