/*
 Theme Name:   Pet And Pool
 Theme URI:    https://codecabin.co.za
 Description:  Child theme of Storefront for Pet And Pool
 Author:       CodeCabin
 Author URI:   https://codecabin.co.za
 Template:     storefront
 Version:      1.0.0
 Text Domain:  storefront-child
*/

/* ════════════════════════════════════════════════════════════════════════════
   RESET STOREFRONT DEFAULTS that clash with Concept 2
   ════════════════════════════════════════════════════════════════════════════ */

/* Remove Storefront's header so our header.php takes full control */
.site-header { display: none !important; }
/* Remove Storefront's footer content (we have our own footer.php) */
.site-footer { display: none !important; }
/* Storefront's col-full wrapper isn't used in our templates */
.col-full { max-width: none; padding: 0; margin: 0; }

body {
	font-family: var(--pp-font);
	font-size: var(--pp-fs-body);
	color: var(--pp-text-2);
	background: var(--pp-bg-page);
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

a:focus, button:focus, .button.alt:focus, input:focus, textarea:focus, input[type="button"]:focus, input[type="reset"]:focus, input[type="submit"]:focus, input[type="email"]:focus, input[type="tel"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus {
	outline: none !important;
	text-decoration: none !important;
}

/* ════════════════════════════════════════════════════════════════════════════
   UTILITIES
   ════════════════════════════════════════════════════════════════════════════ */

.pp-skip-link {
	position: absolute;
	top: -999px;
	left: 6px;
	z-index: 9999;
	padding: 8px 16px;
	background: var(--pp-magenta);
	color: #fff;
	border-radius: var(--pp-r-md);
	font-size: var(--pp-fs-sm);
	font-weight: var(--pp-fw-bold);
}
.pp-skip-link:focus {
	top: 6px;
}

.pp-section-inner {
	padding-left: var(--pp-gutter);
	padding-right: var(--pp-gutter);
}

.pp-section-title {
	font-size: var(--pp-fs-h1);
	font-weight: var(--pp-fw-black);
	letter-spacing: var(--pp-ls-h1);
	line-height: var(--pp-lh-tight);
	color: var(--pp-ink);
	margin: 0 0 var(--pp-sp-8);
}

.pp-kicker {
	display: block;
	font-size: var(--pp-fs-2xs);
	font-weight: var(--pp-fw-bold);
	letter-spacing: var(--pp-ls-kicker);
	text-transform: uppercase;
	color: var(--pp-magenta);
	margin-bottom: var(--pp-sp-2);
}

/* ════════════════════════════════════════════════════════════════════════════
   TOP BAR
   ════════════════════════════════════════════════════════════════════════════ */

.pp-topbar {
	background: var(--pp-ink);
	color: var(--pp-on-dark-70);
	font-size: var(--pp-fs-xs);
	height: var(--pp-topbar-h);
}

.pp-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100%;
	padding: 0 var(--pp-gutter);
}

.pp-topbar__msg {
	display: flex;
	align-items: center;
	gap: var(--pp-sp-2);
}
.pp-topbar__msg svg {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	color: var(--pp-on-dark-50);
}

.pp-topbar__right {
	display: flex;
	align-items: center;
	gap: var(--pp-sp-6);
}

.pp-topbar__link {
	display: inline-flex;
	align-items: center;
	gap: var(--pp-sp-1);
	color: var(--pp-on-dark-70);
	font-size: var(--pp-fs-xs);
	text-decoration: none;
	transition: color var(--pp-dur) var(--pp-ease);
}
.pp-topbar__link svg {
	width: 12px;
	height: 12px;
	flex-shrink: 0;
}
.pp-topbar__link:hover {
	color: var(--pp-on-dark);
	text-decoration: none;
}

/* ════════════════════════════════════════════════════════════════════════════
   MAIN HEADER BAR
   ════════════════════════════════════════════════════════════════════════════ */

.pp-header-main {
	background: var(--pp-bg);
	border-bottom: 1px solid var(--pp-border);
}

.pp-header-main__inner {
	display: flex;
	align-items: center;
	gap: var(--pp-sp-6);
	padding: var(--pp-sp-5) var(--pp-gutter);
}

/* Logo */
.pp-logo {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	background: #fff;
	border-radius: var(--pp-r-md);
	/* padding: 6px 14px; */
	text-decoration: none;
}
.pp-logo img {
	display: block;
	height: 60px;
	width: auto;
	/* max-width: 120px; */
}
.pp-logo--footer img {
	height: 32px;
}

/* Search bar */
.pp-header-search {
	flex: 1;
	display: flex;
	max-width: 640px;
	margin: 0;
}

.pp-header-search__input {
	flex: 1;
	min-width: 0;
	border-radius: var(--pp-r-pill) 0 0 var(--pp-r-pill) !important;
	border-right: none !important;
}

.pp-header-search__btn {
	border-radius: 0 var(--pp-r-pill) var(--pp-r-pill) 0;
	padding: 0 var(--pp-sp-6);
	gap: var(--pp-sp-2);
	white-space: nowrap;
}
.pp-header-search__btn svg {
	width: 16px;
	height: 16px;
}

/* Search input wrapper + spinner */
.pp-search-wrap {
	position: relative;
	flex: 1;
	display: flex;
}
.pp-search-wrap .pp-header-search__input {
	width: 100%;
}

/* Spinning ring - visible only while loading */
.pp-search-spinner {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	border: 2px solid color-mix( in srgb, var(--pp-magenta) 25%, transparent );
	border-top-color: var(--pp-magenta);
	border-radius: 50%;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.15s;
}
.pp-search-wrap--loading .pp-search-spinner {
	opacity: 1;
	animation: pp-spin 0.7s linear infinite;
}
@keyframes pp-spin {
	to { transform: translateY(-50%) rotate(360deg); }
}

/* Live search dropdown */
.pp-header-search {
	position: relative;
}
.pp-search-dropdown {
	position: absolute;
	top: calc( 100% + 6px );
	left: 0;
	right: 0;
	background: #fff;
	border: var(--pp-bw-bold) solid var(--pp-magenta);
	border-radius: var(--pp-r-md);
	box-shadow: var(--pp-shadow-mega);
	z-index: 9999;
	overflow: hidden;
}
.pp-search-dropdown[hidden] { display: none; }

.pp-search-dropdown__item {
	display: flex;
	align-items: center;
	gap: var(--pp-sp-3);
	padding: var(--pp-sp-3) var(--pp-sp-4);
	text-decoration: none;
	color: var(--pp-ink);
	transition: background 0.15s;
	border-bottom: 1px solid var(--pp-border);
}
.pp-search-dropdown__item:last-child { border-bottom: none; }
.pp-search-dropdown__item:hover,
.pp-search-dropdown__item:focus {
	background: color-mix( in srgb, var(--pp-magenta) 8%, #fff );
	outline: none;
}

.pp-search-dropdown__thumb {
	width: 48px;
	height: 48px;
	object-fit: contain;
	border-radius: var(--pp-r-sm);
	flex-shrink: 0;
}

.pp-search-dropdown__info {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.pp-search-dropdown__title {
	font-size: var(--pp-fs-sm);
	font-weight: var(--pp-fw-medium);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.pp-search-dropdown__price {
	font-size: var(--pp-fs-xs);
	color: var(--pp-magenta);
}
.pp-search-dropdown__empty {
	padding: var(--pp-sp-4);
	font-size: var(--pp-fs-sm);
	color: #888;
	text-align: center;
	margin: 0;
}

/* Category result row */
.pp-search-dropdown__cat-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: var(--pp-r-sm);
	background: color-mix( in srgb, var(--pp-magenta) 10%, #fff );
	color: var(--pp-magenta);
	flex-shrink: 0;
}
.pp-search-dropdown__count {
	font-size: var(--pp-fs-xs);
	color: #888;
}
.pp-search-dropdown__badge {
	margin-left: auto;
	flex-shrink: 0;
	align-self: center;
	font-size: var(--pp-fs-xs);
	font-weight: var(--pp-fw-medium);
	line-height: 1;
	padding: 4px 8px;
	border-radius: var(--pp-r-pill, 999px);
	background: color-mix( in srgb, var(--pp-magenta) 10%, #fff );
	color: var(--pp-magenta);
	text-transform: uppercase;
	letter-spacing: 0.03em;
}
.pp-search-dropdown__item--category .pp-search-dropdown__info {
	flex: 1 1 auto;
}

/* Utility icons */
.pp-header-utils {
	display: flex;
	align-items: center;
	gap: var(--pp-sp-4);
	margin-left: auto;
}

.pp-header-util {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	color: var(--pp-ink);
	border-radius: var(--pp-r-md);
	transition: background var(--pp-dur) var(--pp-ease), color var(--pp-dur) var(--pp-ease);
	text-decoration: none;
}
.pp-header-util svg {
	width: 18px;
	height: 18px;
}
.pp-header-util:hover {
	background: var(--pp-bg-soft);
	color: var(--pp-magenta);
	text-decoration: none;
}

/* Cart count bubble */
.pp-cart-link {
	position: relative;
}
.pp-cart-count {
	position: absolute;
	top: 2px;
	right: 2px;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	background: var(--pp-magenta);
	color: #fff;
	font-size: 10px;
	font-weight: var(--pp-fw-bold);
	line-height: 18px;
	border-radius: var(--pp-r-pill);
	text-align: center;
	pointer-events: none;
}
.pp-cart-count--empty {
	display: none;
}

/* Mobile search trigger button (hidden on desktop, shown on mobile) */
.pp-mobile-search-btn {
	display: none;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: none;
	border: none;
	color: var(--pp-ink);
	cursor: pointer;
	padding: 0;
	flex-shrink: 0;
}
.pp-mobile-search-btn svg {
	width: 22px;
	height: 22px;
}
.pp-mobile-search-btn span {
	display: none;
}

/* Mobile toggle */
.pp-mobile-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: none;
	border: none;
	color: var(--pp-ink);
	cursor: pointer;
	border-radius: var(--pp-r-md);
	padding: 0;
}
.pp-mobile-toggle svg {
	width: 22px;
	height: 22px;
}

/* ════════════════════════════════════════════════════════════════════════════
   DEPARTMENT NAV BAND
   ════════════════════════════════════════════════════════════════════════════ */

/*  Pink bar */
.pp-navband-wrap {
	background: var(--pp-magenta);
	display: flex;
	align-items: stretch;
	position: relative;
	padding: 0 var(--pp-gutter);
}

/* ── "All departments" trigger ── */
.pp-dept-all__trigger {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: var(--pp-navband-item-py) var(--pp-navband-item-px);
	height: 100%;
	background: var(--pp-magenta-dark);
	color: #fff;
	font: var(--pp-fw-semibold) var(--pp-fs-body)/1 var(--pp-font);
	border: none;
	cursor: pointer;
	white-space: nowrap;
	flex-shrink: 0;
	transition: background var(--pp-dur) var(--pp-ease);
}
.pp-dept-all__trigger svg { width: 18px; height: 18px; flex-shrink: 0; }
.pp-dept-all__trigger:hover,
.pp-dept-all__trigger[aria-expanded="true"] { background: var(--pp-magenta-press); color: #fff; }

/* ── Always-visible department label buttons ── */
.pp-navband__items {
	display: flex;
	align-items: stretch;
	flex: 1;
}

.pp-navband__item {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: var(--pp-navband-item-py) var(--pp-navband-item-px);
	font: var(--pp-fw-medium) var(--pp-fs-body)/1 var(--pp-font);
	color: rgba(255, 255, 255, .85);
	background: none;
	border: none;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background var(--pp-dur) var(--pp-ease), color var(--pp-dur) var(--pp-ease);
}
.pp-navband__item svg { width: 13px; height: 13px; flex-shrink: 0; transition: transform var(--pp-dur) var(--pp-ease); }
.pp-navband__item:hover { background: var(--pp-magenta-dark); color: #fff; text-decoration: none; }
.pp-navband__item.is-open { background: #fff; color: var(--pp-magenta); font-weight: var(--pp-fw-bold); }
.pp-navband__item[aria-expanded="true"] svg { transform: rotate(180deg); }

/* ── Shared dropdown panel (All departments + per-dept panels) ── */
/* All panels are direct children of .pp-navband-wrap, positioned relative to it. */
.pp-dept-panel {
	position: absolute;
	top: 100%;
	left: 5%;
	width: 90%;
	z-index: var(--pp-z-navband-mega);
	background: #fff;
	box-shadow: var(--pp-shadow-mega);
}
.pp-dept-panel[hidden] { display: none; }

/* Panel heading (dept name shown above its children) */
.pp-dept-panel__heading {
	font-size: var(--pp-fs-2xs);
	font-weight: var(--pp-fw-bold);
	letter-spacing: var(--pp-ls-kicker);
	text-transform: uppercase;
	color: var(--pp-magenta);
	margin: 0 0 var(--pp-sp-4);
}

/* CSS multi-column flow - categories run top-to-bottom per column */
.pp-mega-all__grid,
.pp-dept-panel__grid {
	columns: 6 140px;
	column-gap: 0;
	max-height: 65vh;
	overflow-y: auto;
	padding: 28px 32px;
}

.pp-mega-all__link {
	display: block;
	break-inside: avoid;
	padding: 7px 16px 7px 12px;
	font-size: var(--pp-fs-body);
	color: var(--pp-ink);
	text-decoration: none;
	border-left: 2px solid transparent;
	border-radius: 0 var(--pp-r-sm) var(--pp-r-sm) 0;
	transition: background var(--pp-dur) var(--pp-ease), border-color var(--pp-dur) var(--pp-ease), color var(--pp-dur) var(--pp-ease);
}
.pp-mega-all__link:hover,
.pp-mega-all__link.is-active {
	background: var(--pp-magenta-soft);
	border-color: var(--pp-magenta);
	color: var(--pp-magenta);
	text-decoration: none;
}

@media (max-width: 900px) {
	.pp-dept-panel { left: 2%; width: 96%; padding: 20px; }
	.pp-mega-all__grid,
	.pp-dept-panel__grid { columns: 4 120px; }
}
@media (max-width: 600px) {
	.pp-mega-all__grid,
	.pp-dept-panel__grid { columns: 2 120px; }
}

/* ════════════════════════════════════════════════════════════════════════════
   MOBILE NAV DRAWER
   ════════════════════════════════════════════════════════════════════════════ */

.pp-mobile-nav {
	position: fixed;
	inset: 0 auto 0 0;
	width: min(320px, 85vw);
	background: var(--pp-bg);
	z-index: 1000;
	transform: translateX(-100%);
	transition: transform var(--pp-dur) var(--pp-ease);
	overflow-y: auto;
	display: flex;
	flex-direction: column;
}
.pp-mobile-nav[aria-hidden="false"] {
	transform: translateX(0);
}

.pp-mobile-nav__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--pp-sp-4) var(--pp-sp-5);
	border-bottom: 1px solid var(--pp-border);
	background: var(--pp-magenta);
	color: #fff;
}
.pp-mobile-nav__title {
	font-size: var(--pp-fs-body-lg);
	font-weight: var(--pp-fw-bold);
}
.pp-mobile-nav__close {
	background: none;
	border: none;
	color: #fff;
	cursor: pointer;
	padding: var(--pp-sp-1);
	border-radius: var(--pp-r-sm);
}
.pp-mobile-nav__close svg {
	width: 20px;
	height: 20px;
}

/* Search form inside mobile drawer */
.pp-mobile-nav__search {
	padding: var(--pp-sp-4) var(--pp-sp-5);
	border-bottom: 1px solid var(--pp-border);
}
.pp-mobile-search-form {
	display: flex;
	gap: 0;
}
.pp-mobile-search-form__input {
	flex: 1;
	min-width: 0;
	height: 44px;
	border-radius: var(--pp-r-pill) 0 0 var(--pp-r-pill) !important;
	border-right: none !important;
	font-size: var(--pp-fs-sm);
}
.pp-mobile-search-form__btn {
	width: 44px;
	height: 44px;
	padding: 0;
	flex-shrink: 0;
	border-radius: 0 var(--pp-r-pill) var(--pp-r-pill) 0;
}
.pp-mobile-search-form__btn svg {
	width: 18px;
	height: 18px;
}

.pp-mobile-nav__list {
	list-style: none;
	margin: 0;
	padding: var(--pp-sp-4) 0;
}
.pp-mobile-nav__list li a {
	display: block;
	padding: var(--pp-sp-3) var(--pp-sp-5);
	font-size: var(--pp-fs-body-lg);
	color: var(--pp-ink);
	text-decoration: none;
	border-bottom: 1px solid var(--pp-border);
}
.pp-mobile-nav__list li a:hover {
	color: var(--pp-magenta);
	background: var(--pp-bg-soft);
}

.pp-mobile-nav__footer {
	margin-top: auto;
	border-top: 1px solid var(--pp-border);
	padding: var(--pp-sp-4) var(--pp-sp-5);
	display: flex;
	flex-direction: column;
	gap: var(--pp-sp-1);
}
.pp-mobile-nav__footer-link {
	display: flex;
	align-items: center;
	gap: var(--pp-sp-3);
	padding: var(--pp-sp-3) 0;
	font-size: var(--pp-fs-body);
	color: var(--pp-ink);
	text-decoration: none;
}
.pp-mobile-nav__footer-link svg {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	color: var(--pp-ink-muted);
}
.pp-mobile-nav__footer-link:hover {
	color: var(--pp-magenta);
}

.pp-mobile-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,.45);
	z-index: 999;
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--pp-dur) var(--pp-ease);
}
.pp-mobile-overlay[aria-hidden="false"] {
	opacity: 1;
	pointer-events: auto;
}

body.pp-nav-open {
	overflow: hidden;
}

/* ── Mobile nav dept section ── */
.pp-mobile-nav__dept-heading {
	padding: var(--pp-sp-3) var(--pp-sp-5) var(--pp-sp-2);
	font-size: var(--pp-fs-2xs);
	font-weight: var(--pp-fw-bold);
	letter-spacing: var(--pp-ls-kicker);
	text-transform: uppercase;
	color: var(--pp-magenta);
	border-top: 1px solid var(--pp-border);
	margin-top: var(--pp-sp-2);
}

/* Accordion list */
.pp-mobile-dept-accordion {
	list-style: none;
	margin: 0;
	padding: 0 0 var(--pp-sp-4);
}
.pp-mobile-dept-accordion__item {
	border-bottom: 1px solid var(--pp-border);
}

/* Accordion trigger button */
.pp-mobile-dept-accordion__trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: var(--pp-sp-3) var(--pp-sp-5);
	background: none;
	border: none;
	font-size: var(--pp-fs-body-lg);
	font-weight: var(--pp-fw-semibold);
	color: var(--pp-ink);
	cursor: pointer;
	text-align: left;
	transition: background var(--pp-dur) var(--pp-ease), color var(--pp-dur) var(--pp-ease);
}
.pp-mobile-dept-accordion__trigger svg {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	transition: transform var(--pp-dur) var(--pp-ease);
}
.pp-mobile-dept-accordion__trigger[aria-expanded="true"] {
	color: var(--pp-magenta);
	background: var(--pp-magenta-soft);
}
.pp-mobile-dept-accordion__trigger[aria-expanded="true"] svg {
	transform: rotate(180deg);
}
.pp-mobile-dept-accordion__trigger:hover {
	background: var(--pp-bg-soft);
	color: var(--pp-magenta);
}

/* Accordion panel */
.pp-mobile-dept-accordion__panel {
	background: var(--pp-bg-soft);
	padding: var(--pp-sp-2) 0;
}

/* Sub-category links (equivalent to desktop left-sidebar items) */
.pp-mobile-dept-accordion__subcat {
	display: block;
	padding: var(--pp-sp-2) var(--pp-sp-5) var(--pp-sp-2) var(--pp-sp-6);
	font-size: var(--pp-fs-body);
	font-weight: var(--pp-fw-semibold);
	color: var(--pp-ink);
	text-decoration: none;
	transition: color var(--pp-dur) var(--pp-ease);
}
.pp-mobile-dept-accordion__subcat:hover {
	color: var(--pp-magenta);
	text-decoration: none;
}

/* Deeper column-item links (indented below their sub-category) */
.pp-mobile-dept-accordion__col-link {
	display: block;
	padding: var(--pp-sp-1) var(--pp-sp-5) var(--pp-sp-1) calc(var(--pp-sp-6) + var(--pp-sp-3));
	font-size: var(--pp-fs-sm);
	color: var(--pp-ink-muted);
	text-decoration: none;
	transition: color var(--pp-dur) var(--pp-ease);
}
.pp-mobile-dept-accordion__col-link:hover {
	color: var(--pp-magenta);
	text-decoration: none;
}

/* "View all X" footer link */
.pp-mobile-dept-accordion__view-all {
	display: flex;
	align-items: center;
	gap: var(--pp-sp-2);
	padding: var(--pp-sp-3) var(--pp-sp-5) var(--pp-sp-2) var(--pp-sp-6);
	margin-top: var(--pp-sp-1);
	border-top: 1px solid var(--pp-border);
	font-size: var(--pp-fs-sm);
	font-weight: var(--pp-fw-semibold);
	color: var(--pp-magenta);
	text-decoration: none;
}
.pp-mobile-dept-accordion__view-all svg {
	width: 14px;
	height: 14px;
}
.pp-mobile-dept-accordion__view-all:hover {
	text-decoration: underline;
}

/* Plain link items (non-dropdown or all-departments) */
.pp-mobile-dept-accordion__link {
	display: block;
	padding: var(--pp-sp-3) var(--pp-sp-5);
	font-size: var(--pp-fs-body-lg);
	color: var(--pp-ink);
	text-decoration: none;
	transition: background var(--pp-dur) var(--pp-ease), color var(--pp-dur) var(--pp-ease);
}
.pp-mobile-dept-accordion__link:hover {
	background: var(--pp-bg-soft);
	color: var(--pp-magenta);
	text-decoration: none;
}
.pp-mobile-dept-accordion__link.pp-navband__item--sale {
	color: var(--pp-magenta);
	font-weight: var(--pp-fw-semibold);
}

/* ════════════════════════════════════════════════════════════════════════════
   MAIN CONTENT WRAPPER
   ════════════════════════════════════════════════════════════════════════════ */

#pp-main {
	min-height: 60vh;
}

/* Override Storefront's content wrappers on WooCommerce pages */
#pp-main #primary.content-area {
	width: 100%;
	float: none;
	margin: 0;
	padding: 50px var(--pp-gutter);
}
#pp-main .widget-area {
	display: none; /* hide sidebar - full-width shop layout */
}

/* ════════════════════════════════════════════════════════════════════════════
   SITE FOOTER
   ════════════════════════════════════════════════════════════════════════════ */

.pp-site-footer {
	background: var(--pp-ink);
	color: var(--pp-on-dark-70);
	margin-top: var(--pp-section-gap);
}

/* Footer main grid: logo left + 3 widget columns right */
.pp-footer-main {
	border-bottom: 1px solid rgba(255,255,255,.1);
}

.pp-footer-main__inner {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: var(--pp-sp-8);
	padding: var(--pp-sp-12) var(--pp-gutter);
	align-items: start;
}

.pp-footer-logo-col {
	padding-right: var(--pp-sp-8);
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.pp-footer-logo-col .pp-logo {
	width: fit-content;
}

.pp-footer-widget__title {
	font-size: var(--pp-fs-h6);
	font-weight: var(--pp-fw-bold);
	color: var(--pp-on-dark);
	margin: 0 0 var(--pp-sp-4);
}

.pp-footer-widget a {
	color: var(--pp-on-dark-70) !important;
	font-size: var(--pp-fs-sm);
	text-decoration: none;
}
.pp-footer-widget a:hover {
	color: var(--pp-on-dark);
	text-decoration: underline;
}
.pp-footer-widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.pp-footer-widget ul li {
	margin-bottom: var(--pp-sp-2);
	padding-left: 0 !important;
}
.pp-footer-widget ul li::before {
	display: none !important;
}

@media screen and (max-width: 600px){
    .footer-social-container {
        align-items: center !important;
    }

    .footer-social-container .wp-block-social-links {
        flex-direction: row;
        flex-wrap: wrap;
    }
}

.footer-social-container li.wp-social-link a {
    font-size: 20px;
    background: #fff;
    border-radius: 10px;
    color: var(
    --pp-magenta) !important;
}

.footer-social-container li.wp-social-link a:hover {
    background: var(--pp-magenta);
    color: #fff !important;
}

/* Follow Us (social links) widget */
.pp-social-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--pp-sp-3);
}
.pp-social-list__item {
	margin: 0 !important;
	padding-left: 0 !important;
}
.pp-social-list__item::before {
	display: none !important;
}
.pp-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: var(--pp-r-pill);
	background: rgba(255, 255, 255, .1);
	color: var(--pp-on-dark) !important;
	transition: background var(--pp-dur) var(--pp-ease), color var(--pp-dur) var(--pp-ease), transform var(--pp-dur) var(--pp-ease);
}
.pp-social-link svg {
	width: 20px;
	height: 20px;
	display: block;
}
.pp-social-link:hover {
	background: var(--pp-magenta);
	color: #fff !important;
	transform: translateY(-2px);
	text-decoration: none !important;
}

/* Copyright bar */
.pp-footer-bottom {
	padding: var(--pp-sp-6) var(--pp-gutter);
	text-align: center;
}

.pp-footer-copy {
	margin: 0;
	font-size: var(--pp-fs-xs);
	color: var(--pp-on-dark-50);
}
.pp-footer-copy a {
	color: var(--pp-on-dark-70);
	text-decoration: none;
}

/* ════════════════════════════════════════════════════════════════════════════
   HOMEPAGE TEMPLATE
   ════════════════════════════════════════════════════════════════════════════ */

.pp-home {
	background: var(--pp-bg-page);
}

/* Hero row: magenta panel + two stacked promo tiles */
.pp-hero-row {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: var(--pp-sp-4);
	padding: var(--pp-sp-8) var(--pp-gutter);
}

.pp-hero {
	position: relative;
	background: var(--pp-magenta);
	border-radius: var(--pp-r-2xl);
	aspect-ratio: var(--pp-hero-ratio-desktop);
	height: auto;
	padding: 50px 56px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #fff;
}

/* Decorative circles - CSS only, no assets */
.pp-hero::before,
.pp-hero::after {
	content: '';
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}
.pp-hero::before {
	width: 360px;
	height: 360px;
	background: rgba(255,255,255,.08);
	top: -80px;
	right: -80px;
}
.pp-hero::after {
	width: 280px;
	height: 280px;
	background: rgba(255,255,255,.06);
	bottom: -160px;
	right: 80px;
}

.pp-hero__kicker {
	font-size: var(--pp-fs-2xs);
	font-weight: var(--pp-fw-bold);
	letter-spacing: var(--pp-ls-kicker);
	text-transform: uppercase;
	color: var(--pp-on-dark-70);
	margin-bottom: var(--pp-sp-3);
	position: relative;
	z-index: 1;
}
.pp-hero__headline {
	font-size: var(--pp-fs-hero);
	font-weight: var(--pp-fw-black);
	letter-spacing: var(--pp-ls-hero);
	line-height: var(--pp-lh-display);
	color: #fff;
	margin: 0 0 var(--pp-sp-4);
	position: relative;
	z-index: 1;
}
.pp-hero__sub {
	font-size: var(--pp-fs-lead);
	line-height: var(--pp-lh-body);
	color: var(--pp-on-dark-70);
	max-width: 42ch;
	margin: 0 0 var(--pp-sp-8);
	position: relative;
	z-index: 1;
}
.pp-hero__actions {
	display: flex;
	gap: var(--pp-sp-4);
	position: relative;
	z-index: 1;
}

/* Hero slider wrapper */
.pp-hero-slider {
	position: relative;
	aspect-ratio: var(--pp-hero-ratio-desktop);
	height: auto;
	border-radius: var(--pp-r-2xl);
	overflow: hidden;
}

.pp-hero-slide {
	position: absolute;
	inset: 0;
	transform: translateX(100%);
	transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
	will-change: transform;
}

.pp-hero-slide.is-active {
	transform: translateX(0);
}

/* Blurred backdrop - same image scaled up and blurred to fill letterbox areas */
.pp-hero-slide__backdrop {
	position: absolute;
	inset: -20px;
	width: calc(100% + 40px);
	height: calc(100% + 40px);
	object-fit: cover;
	object-position: center;
	filter: blur(18px);
	opacity: 0.55;
	pointer-events: none;
	z-index: 0;
}

/* Slide image - full bleed background */
.pp-hero-slide__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	border-radius: var(--pp-r-2xl);
	pointer-events: none;
	z-index: 1;
}

/* Image-only slide: full-bleed, optional overlay link */
.pp-hero-slide--image-only {
	padding: 0;
	background: #111;
}

.pp-hero-slide__overlay-link {
	position: absolute;
	inset: 0;
	z-index: 2;
	border-radius: var(--pp-r-2xl);
}

/* Dark scrim so text stays legible over the image */
.pp-hero-slide:has(.pp-hero-slide__img)::before {
	background: none;
	z-index: 1;
}

.pp-hero-slide:has(.pp-hero-slide__img)::after {
	background: none;
	z-index: 1;
}

/* Slide arrows */
.pp-hero-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	background: rgba(255,255,255,.30);
	border: none;
	border-radius: 50%;
	display: flex;
	height: 48px;
	width: 48px;
	padding: 0;
	align-items: center;
	justify-content: center;
	color: #fff;
	cursor: pointer;
	transition: background .2s;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.pp-hero-arrow:hover {
	background: rgba(255,255,255,.32);
}

.pp-hero-arrow--prev { left: 16px; }
.pp-hero-arrow--next { right: 16px; }

/* Slide dots */
.pp-hero-dots {
	position: absolute;
	bottom: 18px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 6px;
	z-index: 2;
}

.pp-hero-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	border: none;
	background: rgba(255,255,255,.4);
	cursor: pointer;
	padding: 0;
	transition: background .2s;
}

.pp-hero-dot.is-active {
	background: #fff;
	transform: scale(1.25);
}

/* Promo tiles (right column) */
.pp-promo-tiles {
	display: flex;
	flex-direction: column;
	gap: var(--pp-sp-4);
}

.pp-promo-tile {
	flex: 1;
	border-radius: var(--pp-r-xl);
	padding: var(--pp-sp-6);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	overflow: hidden;
	position: relative;
	text-decoration: none;
	color: #fff;
	transition: filter var(--pp-dur) var(--pp-ease);
}
.pp-promo-tile:hover {
	filter: brightness(1.06);
	text-decoration: none;
}
.pp-promo-tile--pool { background: var(--pp-pool-dark); }
.pp-promo-tile--ink  { background: var(--pp-ink); }

/* Uploaded background image (cover-cropped to whatever shape the tile is
   at the current breakpoint) + scrim so kicker/heading/CTA stay legible */
.pp-promo-tile--has-img { background: var(--pp-ink); }
.pp-promo-tile__picture {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}
.pp-promo-tile__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.pp-promo-tile--has-img::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.55) 100%);
	pointer-events: none;
}
.pp-promo-tile--has-img .pp-promo-tile__kicker,
.pp-promo-tile--has-img .pp-promo-tile__title,
.pp-promo-tile--has-img .pp-promo-tile__cta {
	position: relative;
	z-index: 2;
}

.pp-promo-tile__kicker {
	font-size: var(--pp-fs-2xs);
	font-weight: var(--pp-fw-bold);
	letter-spacing: var(--pp-ls-kicker);
	text-transform: uppercase;
	color: var(--pp-on-dark-50);
	margin-bottom: var(--pp-sp-1);
}
.pp-promo-tile__title {
	font-size: var(--pp-fs-h5);
	font-weight: var(--pp-fw-black);
	letter-spacing: var(--pp-ls-h5);
	line-height: var(--pp-lh-tight);
	color: #fff;
	margin: 0 0 var(--pp-sp-3);
}
.pp-promo-tile__cta {
	font-size: var(--pp-fs-sm);
	font-weight: var(--pp-fw-bold);
	color: var(--pp-on-dark-70);
	display: inline-flex;
	align-items: center;
	gap: var(--pp-sp-1);
}
.pp-promo-tile__cta svg {
	width: 14px;
	height: 14px;
}

/* Category strip */
.pp-cats {
	padding: var(--pp-section-gap) var(--pp-gutter) 0;
}

.pp-cats__grid {
	display: grid;
	grid-template-columns: repeat(8, 1fr);
	gap: 12px;
}

.pp-cat-tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	min-height: var(--pp-cat-tile-h);
	border-radius: var(--pp-r-2xl);
	box-shadow: var(--pp-shadow-card-hover);
	overflow: hidden;
	position: relative;
	text-decoration: none;
	transition: transform var(--pp-dur) var(--pp-ease), box-shadow var(--pp-dur) var(--pp-ease);
}
.pp-cat-tile:hover {
	transform: translateY(-3px);
	box-shadow: var(--pp-shadow-card-hover);
	text-decoration: none;
}

.pp-cat-tile__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.pp-cat-tile__label {
	position: absolute;
	z-index: 1;
	width: 100%;
	padding: var(--pp-sp-2) var(--pp-sp-3);
	background: linear-gradient(to top, rgba(26,22,20,.7) 0%, transparent 100%);
	font-size: var(--pp-fs-h4);
	font-weight: var(--pp-fw-bold);
	color: #fff;
	text-align: center;
}

/* Product section */
.pp-products-section {
	padding: var(--pp-section-gap) var(--pp-gutter) 0;
}

.pp-products-section__header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: var(--pp-sp-8);
}

.pp-products-section ul.products li.product {
	margin-bottom: 0;
}

.onsale {
    background: var(--pp-magenta);
    color: #fff !important;
    border: none !important;
    width: fit-content;
}

.woocommerce.single-product div.product .onsale {
    display: none;
}


/* ── Pawsome News blog section ───────────────────────────────────────────── */
.pp-news-section {
	padding: var(--pp-section-gap) var(--pp-gutter) 0;
}

.pp-news-section__header {
	display: flex;
	justify-content: space-between;
	margin-bottom: var(--pp-sp-8);
}

.pp-news-grid {
	display: grid;
	grid-template-columns: repeat( 3, 1fr );
	gap: var(--pp-sp-8);
}

@media (max-width: 900px) {
	.pp-news-grid {
		grid-template-columns: repeat( 2, 1fr );
	}
}

@media (max-width: 580px) {
	.pp-news-grid {
		grid-template-columns: 1fr;
	}
}

/* ── Customer Reviews section ─────────────────────────────────────────────── */
.pp-reviews-section {
	padding: var(--pp-section-gap) var(--pp-gutter) 0;
}

.pp-reviews-grid {
	display: grid;
	grid-template-columns: repeat( 4, 1fr );
	gap: var(--pp-gap, 20px);
	margin-top: 24px;
}

@media (max-width: 1100px) {
	.pp-reviews-grid {
		grid-template-columns: repeat( 3, 1fr );
	}
}

@media (max-width: 760px) {
	.pp-reviews-grid {
		grid-template-columns: repeat( 2, 1fr );
	}
}

@media (max-width: 480px) {
	.pp-reviews-grid {
		grid-template-columns: 1fr;
	}
}

.pp-review-card {
	background: #fff;
	border-radius: var(--pp-radius-lg, 12px);
	padding: 24px;
	box-shadow: 0 2px 12px rgba(0,0,0,.07);
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.pp-review-card__stars {
	display: flex;
	gap: 3px;
}

.pp-review-star {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
}

.pp-review-star--filled {
	color: var(--pp-yellow, #ffd400);
}

.pp-review-star--empty {
	color: #d1d5db;
}

.pp-review-card__text {
	margin: 0;
	font-size: .9375rem;
	line-height: 1.6;
	color: var(--pp-ink, #1a1a2e);
	flex: 1;
}

.pp-review-card__footer {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: auto;
}

.pp-review-card__avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--pp-magenta, #d6166e);
	color: #fff;
	font-weight: 700;
	font-size: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.pp-review-card__meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.pp-review-card__name {
	font-weight: 600;
	font-size: .875rem;
	color: var(--pp-ink, #1a1a2e);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.pp-review-card__location {
	font-size: .8125rem;
	color: var(--pp-muted, #6b7280);
}

.pp-review-card__product {
	font-size: .8125rem;
	color: var(--pp-magenta, #d6166e);
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.pp-review-card__product:hover {
	text-decoration: underline;
}

/* Stretched-link: whole card clickable via the title anchor's ::after overlay */
.pp-post-card--linked {
	position: relative;
}

.pp-post-card--linked .pp-post-card__title a::after {
	content: '';
	position: absolute;
	inset: 0;
}

/* Category pill and its own link sit above the stretched overlay */
.pp-post-card--linked .pp-post-card__pill {
	position: relative;
	z-index: 1;
}

/* Deals row - bordered accent panel */
.pp-deals-row {
	padding: var(--pp-section-gap) var(--pp-gutter) 0;
}

.pp-deals-panel {
	border: 2px solid var(--pp-pool-dark);
	border-radius: var(--pp-r-xl);
	overflow: hidden;
}

.pp-deals-panel--accent {
	border-color: var(--pp-magenta);
}

.pp-deals-panel__header {
	background: var(--pp-pool-dark);
	padding: 18px 26px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: #fff;
}
.pp-deals-panel--accent .pp-deals-panel__header {
	background: var(--pp-magenta);
}

.pp-deals-panel__title {
	font-size: var(--pp-fs-h4);
	font-weight: var(--pp-fw-black);
	letter-spacing: var(--pp-ls-h4);
	color: #fff;
	margin: 0;
}

.pp-deals-panel__body {
	padding: var(--pp-panel-pad);
}

.pp-deals-panel__body ul.products li.product {
	margin-bottom: 0;
}

/* Picks carousel inside the deals accent panel */
.pp-deals-panel--accent .pp-products-section {
	margin: 0;
	padding: 0;
}
.pp-deals-panel--accent .pp-products-section__header {
	background: var(--pp-magenta);
	padding: 18px 26px;
	border-radius: 0;
	margin-bottom: 0;
}
.pp-deals-panel--accent .pp-products-section__header .pp-kicker {
	color: rgba(255,255,255,.75);
}
.pp-deals-panel--accent .pp-products-section__header .pp-section-title {
	color: #fff;
}
.pp-deals-panel--accent .pp-products-section__header .pp-btn--secondary {
	background: #fff;
	color: var(--pp-magenta);
	border-color: #fff;
}
.pp-deals-panel--accent .pp-products-section__header .pp-btn--secondary:hover {
	background: var(--pp-magenta-dark);
	color: #fff;
	border-color: var(--pp-magenta-dark);
}
.pp-deals-panel--accent .pp-picks-carousel-wrap {
	padding: var(--pp-panel-pad);
}

/* Trust strip */
.pp-trust {
	margin: var(--pp-section-gap) var(--pp-gutter) 0;
	background: var(--pp-magenta-soft);
	border-radius: var(--pp-r-2xl);
	padding: 28px 40px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--pp-sp-4);
}

/* Column count adapts to the number of trust items (data-count set in template). */
.pp-trust[data-count="1"] {
	grid-template-columns: minmax(0, 360px);
	justify-content: center;
}
.pp-trust[data-count="1"] .pp-trust__item { justify-content: center; }
.pp-trust[data-count="2"] { grid-template-columns: repeat(2, 1fr); }
.pp-trust[data-count="3"] { grid-template-columns: repeat(3, 1fr); }
.pp-trust[data-count="4"] { grid-template-columns: repeat(4, 1fr); }

.pp-trust__item {
	display: flex;
	align-items: center;
	gap: var(--pp-sp-4);
}

.pp-trust__icon-wrap {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: rgba(214,22,110,.15);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--pp-magenta);
}
.pp-trust__icon-wrap svg {
	width: 22px;
	height: 22px;
}

.pp-trust__text strong {
	display: block;
	font-size: var(--pp-fs-body);
	font-weight: var(--pp-fw-bold);
	color: var(--pp-ink);
}
.pp-trust__text span {
	font-size: var(--pp-fs-xs);
	color: var(--pp-text-3);
}

/* Whole-tile link (Link URL set): keep the tile looking like a tile, not a link. */
a.pp-trust__item,
a.pp-trust__item:hover,
a.pp-trust__item:focus {
	text-decoration: none;
	color: inherit;
}
a.pp-trust__item {
	transition: transform .15s ease;
}
a.pp-trust__item:hover {
	transform: translateY(-2px);
}
/* Inline link inside the sub-text (e.g. "see more <a>here</a>"). */
.pp-trust__text span a {
	color: var(--pp-magenta);
	text-decoration: underline;
}
.pp-trust__text span a:hover {
	color: var(--pp-magenta-dark);
}

/* ════════════════════════════════════════════════════════════════════════════
   WOOCOMMERCE OVERRIDES
   ════════════════════════════════════════════════════════════════════════════ */

/* ── Product grid: replace WooCommerce's float layout with CSS Grid ──────── */
/* ul.products renders as <ul class="products columns-4"> - no pp-grid class,
   so we target it directly. !important beats WooCommerce's float rules. */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--pp-grid-gap);
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
}
@media (max-width: 1180px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products { grid-template-columns: 1fr; }
}

/* ── Suppress WooCommerce clearfix pseudo-elements ───────────────────────── */
/* WC's woocommerce.css adds ::before/::after clearfix to ul.products. With
   display:grid those pseudo-elements become ghost grid items, pushing the first
   real product card to column 2. content:none removes them from the grid. */
.woocommerce ul.products::before,
.woocommerce-page ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::after {
	content: none !important;
	display: none !important;
}

/* ── Reset WooCommerce's per-item float rules so .pp-card styles apply ───── */
/* WC's "ul.products li.product" (specificity 0,3,2) sets float, width, padding:0,
   and a large margin-bottom - all of which override .pp-card (0,1,0).
   We match or exceed that specificity to restore the card's own styles. */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important; /* .pp-card__body carries its own padding */
	clear: none !important;
}

/* Remove Storefront sidebar from shop pages */
.woocommerce-page #pp-main .widget-area,
.woocommerce #pp-main .widget-area {
	display: none;
}

/* Page background for shop + product pages */
.woocommerce-page #pp-main,
.woocommerce #pp-main {
	background: var(--pp-bg-page);
}

/* Shop page inner padding */
.woocommerce-page #primary,
.woocommerce #primary {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: var(--pp-sp-8) var(--pp-gutter) !important;
	box-sizing: border-box;
}

/* Product price in magenta for sale, ink otherwise */
.woocommerce ul.products li.product .price {
	font-size: var(--pp-fs-price);
	font-weight: var(--pp-fw-black);
	letter-spacing: -.3px;
	font-variant-numeric: tabular-nums;
	color: var(--pp-ink);
}
.woocommerce ul.products li.product .price ins {
	text-decoration: none;
	color: var(--pp-magenta);
}
.woocommerce ul.products li.product .price del {
	font-size: var(--pp-fs-xs);
	font-weight: var(--pp-fw-regular);
	color: var(--pp-text-3);
	opacity: 1;
}

/* Add-to-cart button */
.woocommerce ul.products li.product .button {
	display: block;
	width: 100%;
	margin-top: 14px;
	margin-bottom: 0;
	background: var(--pp-magenta);
	color: #fff;
	border-radius: var(--pp-r-md);
	font-size: var(--pp-fs-sm);
	font-weight: var(--pp-fw-bold);
	padding: 11px 14px;
	text-align: center;
	transition: background var(--pp-dur) var(--pp-ease);
}
.woocommerce ul.products li.product .button:hover {
	background: var(--pp-magenta-dark);
}


/* Pagination */
.woocommerce nav.woocommerce-pagination ul {
	display: flex;
	gap: var(--pp-sp-2);
	list-style: none;
	padding: 0;
	border: none;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-width: var(--pp-pager-btn);
	height: var(--pp-pager-btn);
	padding: 0 8px !important;
	white-space: nowrap;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	font-size: var(--pp-fs-sm);
	color: var(--pp-text-2);
	background: #fff;
	border: 1px solid var(--pp-border) !important;
	border-radius: var(--pp-r-md);
	font-weight: var(--pp-fw-regular);
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
	border-color: var(--pp-magenta) !important;
	color: var(--pp-magenta);
}
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--pp-magenta) !important;
	border-color: var(--pp-magenta) !important;
	color: #fff !important;
	font-weight: var(--pp-fw-bold);
}

/* ════════════════════════════════════════════════════════════════════════════
   SHOP PAGE LAYOUT
   ════════════════════════════════════════════════════════════════════════════ */

.pp-shop-page {
	background: var(--pp-bg-page);
}

/* Category banner */
.pp-cat-banner {
	background: linear-gradient(135deg, var(--pp-magenta) 0%, var(--pp-magenta-dark) 100%);
	color: #fff;
}
.pp-cat-banner__inner {
	padding: 36px var(--pp-gutter);
}
.pp-cat-banner__title {
	font-size: var(--pp-fs-page);
	font-weight: var(--pp-fw-black);
	letter-spacing: var(--pp-ls-page);
	line-height: 1;
	color: #fff;
	margin: var(--pp-sp-2) 0 var(--pp-sp-3);
}
.pp-cat-banner__desc {
	font-size: var(--pp-fs-lead);
	color: var(--pp-on-dark-70);
	max-width: 60ch;
	margin: 0;
}

/* Breadcrumb */
.pp-breadcrumb,
.pp-shop-breadcrumb__inner {
	padding: var(--pp-sp-4) 0;
	font-size: var(--pp-fs-xs);
	color: var(--pp-text-3);
}
.pp-cat-banner .pp-breadcrumb {
	padding: 0 0 var(--pp-sp-2);
}

.woocommerce .woocommerce-breadcrumb {
	font-size: var(--pp-fs-xs);
	color: var(--pp-text-3);
}

/* Product page breadcrumb - light background context */
.woocommerce-page.single-product .pp-breadcrumb {
	padding: var(--pp-sp-4) 0;
	margin-bottom: var(--pp-sp-2);
}
.woocommerce-page.single-product .pp-breadcrumb a {
	color: var(--pp-text-2);
}
.woocommerce-page.single-product .pp-breadcrumb a:hover {
	color: var(--pp-magenta);
	text-decoration: underline;
}
.pp-breadcrumb__current {
	color: var(--pp-ink);
	font-weight: var(--pp-fw-medium);
}
.pp-breadcrumb__sep {
	color: var(--pp-text-3);
	margin: 0 2px;
}

/* Toolbar (ordering + result count) */
.pp-shop-toolbar {
	background: var(--pp-bg);
	border-bottom: 1px solid var(--pp-border);
	position: sticky;
	top: 0;
	z-index: var(--pp-z-filterbar);
}
.pp-shop-toolbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: var(--pp-sp-4);
	padding: var(--pp-sp-3) var(--pp-gutter);
}

/* Pagination spacing */
.pp-shop-pagination {
	padding: var(--pp-sp-10) var(--pp-gutter) var(--pp-sp-12);
}

/* ════════════════════════════════════════════════════════════════════════════
   PRODUCT CARD IMAGE
   ════════════════════════════════════════════════════════════════════════════ */

.pp-card__media-link {
	display: block;
	text-decoration: none;
}

.pp-card__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	padding: 18px;
}

.pp-card__name-link {
	text-decoration: none;
	color: inherit;
}
.pp-card__name-link:hover {
	color: var(--pp-magenta);
	text-decoration: none;
}

/* ════════════════════════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 1180px) {
	.pp-cats__grid { grid-template-columns: repeat(4, 1fr); }
	.pp-trust[data-count] { grid-template-columns: repeat(2, 1fr); }
	.pp-trust[data-count="1"] { grid-template-columns: minmax(0, 360px); }

	/* logo + 3 widget cols */
	.pp-footer-main__inner { grid-template-columns: auto repeat(3, 1fr); }
}

@media (max-width: 900px) {
	:root {
		--pp-gutter: 24px;
		--pp-section-gap: 48px;
	}

	#pp-main #primary.content-area {
		padding-top: var(--pp-gutter) !important;
		padding-bottom: var(--pp-gutter) !important;
	}

	.woocommerce-page.single-product .pp-breadcrumb {
		padding: 0 !important;
	}

	/* Top bar: hidden entirely on mobile */
	.pp-topbar { display: none; }

	/* Main header bar */
	.pp-header-main__inner { gap: 0; padding-top: var(--pp-sp-3); padding-bottom: var(--pp-sp-3); }
	.pp-header-main .pp-header-search { display: none; }
	.pp-mobile-search-btn { display: inline-flex; margin-left: auto; }
	.pp-header-utils { display: flex; margin-left: auto; order: 3; gap: 0; }
	.pp-header-utils .pp-header-util:not(.pp-store-selector-trigger):not([aria-label="My Account"]) { display: none; }
	.pp-mobile-search-btn { margin-left: 0; order: 4; }
	.pp-mobile-toggle { display: flex; order: 5; }

	/* Hide the desktop department band - items appear in mobile drawer instead */
	.pp-navband-wrap { display: none; }

	.pp-hero-row { grid-template-columns: 1fr; }
	.pp-promo-tiles { flex-direction: row; }


	.pp-cats__grid { grid-template-columns: repeat(4, 1fr); }
	.pp-cat-tile { min-height: 200px; height: 200px; }
	.pp-trust[data-count] { grid-template-columns: 1fr; }

	/* Logo spans full width, 4 widget cols drop to 2×2 */
	.pp-footer-main__inner { grid-template-columns: repeat(2, 1fr); }
	.pp-footer-logo-col { grid-column: 1 / -1; padding-right: 0; }
}

/* Switch hero aspect ratio at the same breakpoint <picture> swaps to the mobile image */
@media (max-width: 767px) {
	.pp-hero,
	.pp-hero-slider { aspect-ratio: var(--pp-hero-ratio-mobile); }
}

@media (max-width: 600px) {
	:root { --pp-gutter: 16px; }

	.pp-hero__headline { font-size: 40px; }
	.pp-promo-tiles { flex-direction: column; }

	.pp-cats__grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
	.pp-cat-tile { min-height: 200px; }

	.pp-section-title { font-size: 28px; letter-spacing: -0.5px; }

	.pp-footer-main__inner { grid-template-columns: 1fr; padding-left: var(--pp-sp-12); padding-right: var(--pp-sp-12); }
	.pp-footer-logo-col { grid-column: auto; padding-right: 0; align-items: center; text-align: center; }
	.pp-footer-logo-col .pp-logo { margin-left: auto; margin-right: auto; }
	.pp-footer-widget { text-align: center; }
	.pp-footer-widget ul { display: flex; flex-direction: column; align-items: center; }
	/* Social icons stay in a wrapping row, centred. */
	.pp-footer-widget ul.pp-social-list { flex-direction: row; flex-wrap: wrap; justify-content: center; }
	.pp-footer-bottom { padding-left: var(--pp-sp-12); padding-right: var(--pp-sp-12); }
}

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; animation: none !important; }
}

/* ════════════════════════════════════════════════════════════════════════════
   SINGLE PRODUCT PAGE
   ════════════════════════════════════════════════════════════════════════════ */

/* ── Two-column layout: gallery left, summary right ──────────────────────── */
.woocommerce div.product {
	display: grid !important;
	grid-template-columns: 2fr 3fr;
	gap: var(--pp-sp-10);
	align-items: start;
	overflow: visible;  /* parent sets overflow:hidden which breaks position:sticky on the gallery */
	padding: var(--pp-sp-6) 0 var(--pp-sp-12);
}
/* Suppress parent-theme float clearfix pseudo-elements — they become ghost grid items */
.single-product div.product::before,
.single-product div.product::after {
	display: none !important;
}
.woocommerce div.product .woocommerce-product-gallery {
	grid-column: 1;
	grid-row: 1;
	position: sticky;
	top: var(--pp-sp-8);
	width: 100%;
	margin: 0 auto !important;
}
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
.woocommerce div.product .woocommerce-product-gallery figure.woocommerce-product-gallery__image {
	width: 100%;
}
.woocommerce div.product .woocommerce-product-gallery figure.woocommerce-product-gallery__image a,
.woocommerce div.product .woocommerce-product-gallery figure.woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: auto;
}
.woocommerce div.product .summary.entry-summary {
	grid-column: 2;
	grid-row: 1;
	width: 100% !important;
}
/* Tabs, reviews, related, upsells span full width below the two columns */
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product #reviews,
.woocommerce div.product .related.products,
.woocommerce div.product .upsells.products {
	grid-column: 1 / -1;
}

/* ── Product title ─────────────────────────────────────────────────────────── */
.woocommerce div.product .product_title {
	font-size: var(--pp-fs-h3);
	font-weight: var(--pp-fw-black);
	letter-spacing: var(--pp-ls-h3);
	line-height: var(--pp-lh-tight);
	color: var(--pp-ink);
	margin: 0 0 var(--pp-sp-3);
}

/* ── Price ─────────────────────────────────────────────────────────────────── */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-size: var(--pp-fs-price-lg) !important;
	font-weight: var(--pp-fw-black) !important;
	letter-spacing: -1px;
	font-variant-numeric: tabular-nums;
	color: var(--pp-ink);
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--pp-sp-3);
	margin: 0 0 var(--pp-sp-5) !important;
	line-height: 1;
}
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
	text-decoration: none;
	color: var(--pp-magenta);
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
	font-size: var(--pp-fs-body-lg) !important;
	font-weight: var(--pp-fw-regular);
	color: var(--pp-text-3);
	opacity: 1;
}

/* ── Star rating ───────────────────────────────────────────────────────────── */
.woocommerce div.product .woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: var(--pp-sp-2);
	margin-bottom: var(--pp-sp-4);
	font-size: var(--pp-fs-sm);
	color: var(--pp-text-3);
}
.woocommerce div.product .star-rating span::before {
	color: var(--pp-star);
}

/* ── Short description ─────────────────────────────────────────────────────── */
.woocommerce div.product .woocommerce-product-details__short-description {
	font-size: var(--pp-fs-body-lg);
	line-height: var(--pp-lh-body);
	color: var(--pp-text-2);
	margin-bottom: var(--pp-sp-5);
}

/* ── Stock badge ───────────────────────────────────────────────────────────── */
.woocommerce div.product .stock {
	display: inline-flex;
	align-items: center;
	font-size: var(--pp-fs-sm);
	font-weight: var(--pp-fw-medium);
	padding: 4px 12px;
	border-radius: var(--pp-r-pill);
	margin-bottom: var(--pp-sp-5);
}
.woocommerce div.product .stock.in-stock {
	background: color-mix(in srgb, var(--pp-success) 12%, transparent);
	color: var(--pp-success);
}
.woocommerce div.product .stock.out-of-stock {
	background: color-mix(in srgb, var(--pp-danger) 10%, transparent);
	color: var(--pp-danger);
}

/* ── Meta list (SKU / Categories / Brand) ─────────────────────────────────── */
.woocommerce div.product .product_meta {
	font-size: var(--pp-fs-sm);
	color: var(--pp-text-3);
	border-top: 1px solid var(--pp-border);
	padding-top: var(--pp-sp-4);
	margin-top: var(--pp-sp-5);
	display: flex;
	flex-direction: column;
	gap: var(--pp-sp-2);
}
.woocommerce div.product .product_meta > span {
	display: flex;
	gap: var(--pp-sp-2);
}
.woocommerce div.product .product_meta a {
	color: var(--pp-text-2);
	text-decoration: none;
}
.woocommerce div.product .product_meta a:hover {
	color: var(--pp-magenta);
	text-decoration: underline;
}

/* ── Product description excerpt ──────────────────────────────────────────── */
.pp-product-excerpt {
	margin-top: var(--pp-sp-4);
	border-top: 1px solid rgba(0,0,0,.05);
	padding-top: var(--pp-sp-4);
}

.pp-product-excerpt__title {
	margin: 0 0 var(--pp-sp-2);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.pp-product-excerpt__text {
	margin: 0 0 var(--pp-sp-2);
	font-size: 0.9rem;
	color: var(--pp-neutral-600, #6b7280);
	line-height: 1.55;
}

.pp-product-excerpt__link {
	display: inline-block;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--pp-magenta);
	text-decoration: none;
}

.pp-product-excerpt__link:hover {
	text-decoration: underline;
	color: var(--pp-magenta-dark);
}

/* ── Form: quantity + add to cart ─────────────────────────────────────────── */
.woocommerce div.product form.cart {
	display: flex;
	flex-direction: column;
	gap: var(--pp-sp-4);
}

.single-product div.product form.cart::before, .single-product div.product form.cart::after {
	display: none !important;
}
.woocommerce div.product form.cart div.quantity {
	display: inline-flex;
	align-items: center;
}
/* When stock = 1 WooCommerce switches the qty input to type="hidden" — collapse the wrapper so it takes no space. */
.woocommerce div.product form.cart div.quantity:has(input[type="hidden"]) {
	display: none;
}
.woocommerce div.product form.cart .quantity input.qty {
	width: 68px;
	height: 48px;
	text-align: center;
	font-size: var(--pp-fs-body-lg);
	font-weight: var(--pp-fw-bold);
	border: var(--pp-bw-bold) solid var(--pp-border-strong);
	border-radius: var(--pp-r-md);
	background: var(--pp-bg);
	color: var(--pp-ink);
	padding: 0 var(--pp-sp-2);
}
.woocommerce div.product form.cart .quantity input.qty:focus {
	border-color: var(--pp-magenta);
	box-shadow: var(--pp-focus-ring-input);
}
/* Simple product: qty + button on the same row */
.woocommerce div.product form.cart:not(.variations_form) {
	flex-direction: row;
	align-items: center;
	flex-wrap: wrap;
}
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart button[type="submit"] {
	flex: 1;
	background: var(--pp-magenta) !important;
	color: #fff !important;
	font: var(--pp-fw-bold) var(--pp-fs-body-lg)/1 var(--pp-font) !important;
	padding: 14px 28px !important;
	border: none !important;
	border-radius: var(--pp-r-md) !important;
	cursor: pointer;
	text-align: center;
	transition: background var(--pp-dur) var(--pp-ease), transform var(--pp-dur-fast) var(--pp-ease);
	max-width: 250px;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.woocommerce div.product form.cart button[type="submit"]:hover {
	background: var(--pp-magenta-dark) !important;
	color: #fff !important;
	text-decoration: none;
}
.woocommerce div.product form.cart .single_add_to_cart_button:active {
	transform: translateY(1px);
	background: var(--pp-magenta-press) !important;
}

/* ── View Basket link — shown after AJAX add-to-cart on single product page ── */
.woocommerce div.product .added_to_cart.wc-forward {
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent !important;
	color: var(--pp-magenta) !important;
	font: var(--pp-fw-bold) var(--pp-fs-body-lg)/1 var(--pp-font) !important;
	padding: 14px 28px !important;
	border: 2px solid var(--pp-magenta) !important;
	border-radius: var(--pp-r-md) !important;
	cursor: pointer;
	text-align: center;
	text-decoration: none !important;
	transition: background var(--pp-dur) var(--pp-ease), color var(--pp-dur) var(--pp-ease);
}
.woocommerce div.product .added_to_cart.wc-forward:hover {
	background: var(--pp-magenta) !important;
	color: #fff !important;
	text-decoration: none !important;
}

/* ── Variation selects - hidden, pills replace them visually ─────────────── */
.pp-variation-select {
	display: none !important;
}

/* ── Variation groups (wraps label + pills per attribute) ────────────────── */
.pp-variations {
	display: flex;
	flex-direction: column;
	gap: var(--pp-sp-5);
	margin-bottom: var(--pp-sp-6);
}
.pp-variation-group {
	display: flex;
	flex-direction: column;
	gap: var(--pp-sp-2);
}
.pp-variation-label {
	font-size: var(--pp-fs-2xs);
	font-weight: var(--pp-fw-bold);
	color: var(--pp-text-3);
	text-transform: uppercase;
	letter-spacing: var(--pp-ls-kicker);
}

/* ── Pill buttons ─────────────────────────────────────────────────────────── */
.pp-variation-pills {
	display: flex;
	flex-wrap: wrap;
	gap: var(--pp-sp-2);
}
.pp-vpill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 7px 16px;
	font: var(--pp-fw-medium) var(--pp-fs-sm)/1 var(--pp-font);
	color: var(--pp-ink);
	background: var(--pp-bg);
	border: var(--pp-bw-bold) solid var(--pp-border-strong);
	border-radius: var(--pp-r-pill);
	cursor: pointer;
	transition: border-color var(--pp-dur) var(--pp-ease),
	            background var(--pp-dur) var(--pp-ease),
	            color var(--pp-dur) var(--pp-ease);
	white-space: nowrap;
}
.pp-vpill:hover {
	border-color: var(--pp-magenta);
	color: var(--pp-magenta);
	background: var(--pp-bg-soft);
}
.pp-vpill.is-selected {
	border-color: var(--pp-magenta);
	background: var(--pp-magenta-soft);
	color: var(--pp-magenta);
	font-weight: var(--pp-fw-bold);
}
.pp-vpill:focus-visible {
	outline: none;
	box-shadow: var(--pp-focus-ring);
}
.pp-variations-reset {
	font-size: var(--pp-fs-xs);
	color: var(--pp-text-3);
	text-decoration: underline;
	display: inline-block;
	margin-top: var(--pp-sp-1);
}
.pp-variations-reset:hover {
	color: var(--pp-magenta);
}

/* Variation price placeholder (shown after a variation is selected) */
.woocommerce div.product .single_variation_wrap .woocommerce-variation-price .price,
.woocommerce div.product .single_variation .price {
	font-size: var(--pp-fs-price-lg);
	font-weight: var(--pp-fw-black);
	color: var(--pp-magenta);
	margin-bottom: var(--pp-sp-4);
}

small.woocommerce-price-suffix {
    font-weight: 600;
    font-size: 50%;
}

/* ════════════════════════════════════════════════════════════════════════════
   PRODUCT TABS
   ════════════════════════════════════════════════════════════════════════════ */

.woocommerce div.product .woocommerce-tabs {
	margin-top: var(--pp-sp-12);
	border-top: 1px solid var(--pp-border);
}

/* Tab nav list */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	row-gap: 10px;
	padding: 0 0 0 !important;
	margin: 0 !important;
	list-style: none;
	border-bottom: 1px solid var(--pp-border) !important;
	background: none !important;
	overflow-x: visible;
	width: 100%;
}
/* Kill Storefront/WC pseudo-element decorations on the tab list + items */
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none !important;
	content: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	border: none !important;
	background: none !important;
	border-radius: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: var(--pp-sp-4) var(--pp-sp-5);
	font-size: var(--pp-fs-body-lg);
	font-weight: var(--pp-fw-medium);
	color: var(--pp-text-3);
	text-decoration: none;
	border-bottom: var(--pp-bw-tab) solid transparent;
	white-space: nowrap;
	transition: color var(--pp-dur) var(--pp-ease), border-color var(--pp-dur) var(--pp-ease);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--pp-ink);
	border-bottom-color: var(--pp-border-strong);
	text-decoration: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--pp-magenta) !important;
	font-weight: var(--pp-fw-bold);
	border-bottom-color: var(--pp-magenta) !important;
	background: none !important;
}

/* Tab content panels */
.woocommerce div.product .woocommerce-tabs .panel {
	padding: var(--pp-sp-8) 0 var(--pp-sp-6);
	font-size: var(--pp-fs-body-lg);
	line-height: var(--pp-lh-body);
	color: var(--pp-text-2);
	width: 100% !important;
}
.woocommerce div.product .woocommerce-tabs .panel h2 {
	font-size: var(--pp-fs-h5);
	font-weight: var(--pp-fw-black);
	letter-spacing: var(--pp-ls-h5);
	color: var(--pp-ink);
	margin: 0 0 var(--pp-sp-4);
}

/* ── Single product - responsive ──────────────────────────────────────────── */
@media (max-width: 900px) {
	.woocommerce div.product {
		grid-template-columns: 1fr !important;
		gap: var(--pp-sp-8);
	}
	.woocommerce div.product .woocommerce-product-gallery {
		position: static;
		grid-column: 1;
		grid-row: 1;
		width: 100%;
		max-height: 50svh;
		overflow: hidden;
		margin-bottom: 50px !important;
	}
	.woocommerce .product .woocommerce-product-gallery img {
		max-height: 50svh;
		width: auto;
	}
	.woocommerce div.product .woocommerce-product-gallery figure.woocommerce-product-gallery__image img {
		max-height: 50svh;
		object-fit: contain;
	}
	.woocommerce div.product .summary.entry-summary {
		grid-column: 1;
		grid-row: 2;
		width: 100% !important;
	}
	.woocommerce div.product p.price,
	.woocommerce div.product span.price {
		font-size: var(--pp-fs-h4) !important;
	}
	.woocommerce div.product form.cart:not(.variations_form) {
		flex-direction: column;
		align-items: stretch;
	}
}

/* On narrow mobile, switch tabs to a single scrollable row and hide the scrollbar track */
@media (max-width: 480px) {
	.woocommerce div.product .woocommerce-tabs ul.tabs {
		flex-wrap: nowrap;
		row-gap: 0;
		overflow-x: auto;
		scrollbar-width: none; /* Firefox */
	}
	.woocommerce div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar {
		display: none; /* Chrome / Safari */
	}
}

/* ════════════════════════════════════════════════════════════════════════════
   PRODUCT REVIEWS TAB
   ════════════════════════════════════════════════════════════════════════════ */

/* ── Section title & review count ──────────────────────────────────────────── */
.woocommerce-Reviews-title {
	font-size: var(--pp-fs-h5);
	font-weight: var(--pp-fw-black);
	letter-spacing: var(--pp-ls-h5);
	color: var(--pp-ink);
	margin: 0 0 var(--pp-sp-8);
}

/* ── Individual review list ────────────────────────────────────────────────── */
.woocommerce-Reviews #comments ol.commentlist {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--pp-sp-6);
}

.woocommerce-Reviews #comments ol.commentlist li {
	margin: 0;
	padding: 0;
}

/* ── Review card ───────────────────────────────────────────────────────────── */
.woocommerce-Reviews .comment_container {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: var(--pp-sp-5);
	align-items: start;
	background: #fff;
	border: 1px solid var(--pp-border);
	border-radius: 12px;
	padding: var(--pp-sp-6);
}

.woocommerce-Reviews .comment_container::before, .woocommerce-Reviews .comment_container::after {
	display: none !important;
}

/* ── Avatar ────────────────────────────────────────────────────────────────── */
.woocommerce-Reviews .comment_container .avatar {
	width: 48px !important;
	height: 48px !important;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}

/* ── Comment text area ─────────────────────────────────────────────────────── */
.woocommerce-Reviews .comment-text {
	min-width: 0;
	width: 100% !important;
}

/* ── Stars inside the review card ─────────────────────────────────────────── */
.woocommerce-Reviews .comment-text .star-rating {
	font-size: 14px;
	margin-bottom: var(--pp-sp-3);
}

.woocommerce-Reviews .comment-text .star-rating span::before {
	color: var(--pp-star);
}

/* ── Meta row (author + date) ──────────────────────────────────────────────── */
.woocommerce-Reviews .comment-text .meta {
	display: flex;
	align-items: center;
	gap: var(--pp-sp-2);
	flex-wrap: wrap;
	margin: 0 0 var(--pp-sp-4);
	font-size: var(--pp-fs-sm);
	color: var(--pp-text-3);
	padding: 0;
}

.woocommerce-Reviews .woocommerce-review__author {
	font-weight: var(--pp-fw-bold);
	color: var(--pp-ink);
	font-size: var(--pp-fs-sm);
}

.woocommerce-Reviews .woocommerce-review__dash {
	color: var(--pp-border-strong);
}

.woocommerce-Reviews .woocommerce-review__published-date {
	font-size: var(--pp-fs-xs);
}

/* ── Review body text ──────────────────────────────────────────────────────── */
.woocommerce-Reviews .comment-text .description p {
	margin: 0;
	font-size: var(--pp-fs-body-lg);
	line-height: 1.65;
	color: var(--pp-text-2);
}

/* ── Review form wrapper ───────────────────────────────────────────────────── */
#review_form_wrapper {
	margin-top: var(--pp-sp-10);
	padding-top: var(--pp-sp-8);
	border-top: 1px solid var(--pp-border);
}

#review_form_wrapper #respond {
	border: 1px solid var(--pp-border);
	background: #fff;
}

/* ── Reply title ───────────────────────────────────────────────────────────── */
#review_form_wrapper .comment-reply-title {
	display: block;
	font-size: var(--pp-fs-h6);
	font-weight: var(--pp-fw-black);
	color: var(--pp-ink);
	margin-bottom: var(--pp-sp-6);
}

/* ── Form fields ───────────────────────────────────────────────────────────── */
#review_form_wrapper .comment-form p {
	margin-bottom: var(--pp-sp-5);
}

#review_form_wrapper .comment-form label {
	display: block;
	font-size: var(--pp-fs-sm);
	font-weight: var(--pp-fw-bold);
	color: var(--pp-ink);
	margin-bottom: var(--pp-sp-2);
}

#review_form_wrapper .comment-form input[type="text"],
#review_form_wrapper .comment-form input[type="email"],
#review_form_wrapper .comment-form textarea {
	width: 100%;
	max-width: 100%;
	padding: 10px var(--pp-sp-4);
	border: 1px solid var(--pp-border-strong);
	border-radius: 8px;
	font-size: var(--pp-fs-body);
	font-family: inherit;
	color: var(--pp-ink);
	background: #fff;
	transition: border-color .15s ease, box-shadow .15s ease;
	box-sizing: border-box;
}

#review_form_wrapper .comment-form input[type="text"]:focus,
#review_form_wrapper .comment-form input[type="email"]:focus,
#review_form_wrapper .comment-form textarea:focus {
	outline: none;
	border-color: var(--pp-magenta);
	box-shadow: 0 0 0 3px rgba(214,22,110,.12);
}

#review_form_wrapper .comment-form textarea {
	min-height: 120px;
	resize: vertical;
}

/* ── Star picker ───────────────────────────────────────────────────────────── */
#review_form_wrapper .comment-form-rating label {
	margin-bottom: var(--pp-sp-2);
}

#review_form_wrapper p.stars {
	margin: 0;
}

#review_form_wrapper p.stars span {
	display: flex;
	gap: 4px;
}

#review_form_wrapper p.stars a {
	font-size: 0;
	line-height: 0;
	width: 28px;
	height: 28px;
	display: inline-block;
	position: relative;
}

#review_form_wrapper p.stars a::before {
	content: "★";
	font-size: 24px;
	line-height: 28px;
	color: var(--pp-star);
	transition: color .1s ease;
}

#review_form_wrapper p.stars a:hover::before,
#review_form_wrapper p.stars a:hover ~ a::before,
#review_form_wrapper p.stars.selected a.active::before,
#review_form_wrapper p.stars.selected a.active ~ a::before {
	color: var(--pp-border-strong);
}

#review_form_wrapper p.stars a:hover::before,
#review_form_wrapper p.stars a.active::before {
	color: var(--pp-star);
}

/* WC JS adds .active on the clicked star and "selected" on the parent */
#review_form_wrapper p.stars.selected a::before {
	color: var(--pp-star);
}

#review_form_wrapper p.stars.selected a.active ~ a::before {
	color: var(--pp-border-strong);
}

/* ── Cookie consent & notes ────────────────────────────────────────────────── */
#review_form_wrapper .comment-notes,
#review_form_wrapper .comment-form-cookies-consent {
	font-size: var(--pp-fs-xs);
	color: var(--pp-text-3);
}

#review_form_wrapper .comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: var(--pp-sp-2);
}

#review_form_wrapper .comment-form-cookies-consent input {
	margin-top: 2px;
	flex-shrink: 0;
	accent-color: var(--pp-magenta);
}

/* ── Submit button ─────────────────────────────────────────────────────────── */
#review_form_wrapper .form-submit {
	margin-top: var(--pp-sp-6);
	margin-bottom: 0;
}

#review_form_wrapper .form-submit input#submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px var(--pp-sp-8);
	background: var(--pp-magenta);
	color: #fff;
	border: none;
	border-radius: 8px;
	font-family: inherit;
	font-size: var(--pp-fs-body);
	font-weight: var(--pp-fw-bold);
	cursor: pointer;
	transition: background .15s ease, transform .1s ease;
}

#review_form_wrapper .form-submit input#submit:hover {
	background: var(--pp-magenta-dark);
}

#review_form_wrapper .form-submit input#submit:active {
	transform: scale(.98);
}

/* ── Required star ─────────────────────────────────────────────────────────── */
#review_form_wrapper .required {
	color: var(--pp-magenta);
}

/* ── Mobile ────────────────────────────────────────────────────────────────── */
@media (max-width: 600px) {
	.woocommerce-Reviews .comment_container {
		grid-template-columns: 40px 1fr;
		gap: var(--pp-sp-4);
		padding: var(--pp-sp-5);
	}

	.woocommerce-Reviews .comment_container .avatar {
		width: 40px;
		height: 40px;
	}
}

/* ════════════════════════════════════════════════════════════════════════════
   MY ACCOUNT PAGE
   ════════════════════════════════════════════════════════════════════════════ */

/* ── Page wrapper ──────────────────────────────────────────────────────────── */
.pp-account-wrap {
	background: var(--pp-bg-page);
	padding: var(--pp-sp-8) 0 var(--pp-sp-18);
	min-height: 60vh;
}

.pp-account-inner {
	max-width: var(--pp-container);
	margin: 0 auto;
	padding: 0 var(--pp-gutter);
}

@media (max-width: 900px) {
	.pp-account-inner { padding: 0 var(--pp-sp-6); }
}

/* ── Breadcrumb ──────────────────────────────────────────────────────────── */
.pp-account-breadcrumb {
	display: flex;
	align-items: center;
	gap: var(--pp-sp-2);
	font-size: var(--pp-fs-xs);
	color: var(--pp-text-3);
	margin-bottom: var(--pp-sp-6);
}

.pp-account-breadcrumb a {
	color: var(--pp-text-3);
	text-decoration: none;
}

.pp-account-breadcrumb a:hover { color: var(--pp-magenta); }
.pp-account-breadcrumb .pp-breadcrumb__sep { color: var(--pp-border-strong); }

/* ── Page title ──────────────────────────────────────────────────────────── */
.pp-account-page-title {
	font-size: var(--pp-fs-h2);
	font-weight: var(--pp-fw-black);
	letter-spacing: var(--pp-ls-h2);
	line-height: var(--pp-lh-tight);
	color: var(--pp-magenta);
	margin: 0 0 var(--pp-sp-8);
}

/* ── Reset Storefront float-based layout ─────────────────────────────────── */
.pp-account-content .woocommerce-MyAccount-navigation,
.pp-account-content .woocommerce-MyAccount-content {
	float: none;
	width: auto;
	margin-right: 0;
}

/* ── Account layout: sidebar nav + main content (logged in) ──────────────── */
.pp-account-content .woocommerce:has(.woocommerce-MyAccount-navigation) {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: var(--pp-sp-8);
	align-items: start;
}

.pp-account-content .woocommerce::after {
	content: none;
}

@media (max-width: 760px) {
	.pp-account-content .woocommerce:has(.woocommerce-MyAccount-navigation) {
		grid-template-columns: 1fr;
	}
}

/* ── My Account navigation ───────────────────────────────────────────────── */
.pp-account-content .woocommerce-MyAccount-navigation {
	background: var(--pp-bg);
	border: var(--pp-bw-hair) solid var(--pp-border);
	border-radius: var(--pp-r-xl);
}

.pp-account-content .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: var(--pp-sp-3) 0;
}

.pp-account-content .woocommerce-MyAccount-navigation ul li {
	margin: 0;
	padding: 0;
}

.pp-account-content .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: var(--pp-sp-3) var(--pp-sp-6);
	font-size: var(--pp-fs-sm);
	font-weight: var(--pp-fw-medium);
	color: var(--pp-text-2);
	text-decoration: none;
	transition: background var(--pp-dur) var(--pp-ease), color var(--pp-dur) var(--pp-ease);
	border-left: 3px solid transparent;
}

.pp-account-content .woocommerce-MyAccount-navigation ul li a:hover {
	background: var(--pp-bg-soft);
	color: var(--pp-magenta);
}

.pp-account-content .woocommerce-MyAccount-navigation ul li.is-active a,
.pp-account-content .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--is-active a {
	background: var(--pp-magenta-soft);
	color: var(--pp-magenta);
	font-weight: var(--pp-fw-semibold);
	border-left-color: var(--pp-magenta);
}

/* ── Main content area ───────────────────────────────────────────────────── */
.pp-account-content .woocommerce-MyAccount-content {
	background: var(--pp-bg);
	border: var(--pp-bw-hair) solid var(--pp-border);
	border-radius: var(--pp-r-xl);
	padding: var(--pp-sp-8);
}

/* ── Section headings ────────────────────────────────────────────────────── */
.pp-account-content .woocommerce-MyAccount-content h2,
.pp-account-content .woocommerce-MyAccount-content h3 {
	font-size: var(--pp-fs-h5);
	font-weight: var(--pp-fw-bold);
	letter-spacing: var(--pp-ls-h5);
	color: var(--pp-magenta);
	margin-bottom: var(--pp-sp-5);
}

/* ── Orders table ────────────────────────────────────────────────────────── */
.pp-account-content .woocommerce-orders-table,
.pp-account-content .shop_table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-r-md);
	font-size: var(--pp-fs-sm);
}

.pp-account-content .woocommerce-orders-table thead th,
.pp-account-content .shop_table thead th {
	text-align: left;
	padding: var(--pp-sp-3) var(--pp-sp-4);
	font-size: var(--pp-fs-sm);
	font-weight: 600;
	letter-spacing: normal;
	text-transform: none;
	color: #fff;
	background: var(--pp-magenta);
	border-bottom: 1px solid var(--pp-border);
}

.pp-account-content .shop_table tbody th {
	background: #fff;
}

.pp-account-content .woocommerce-orders-table td,
.pp-account-content .shop_table td {
	padding: var(--pp-sp-3) var(--pp-sp-4);
	color: var(--pp-text-2);
	border-bottom: 1px solid var(--pp-border);
	vertical-align: middle;
	background: #fff;
}

.pp-account-content .woocommerce-orders-table tbody tr:last-child td,
.pp-account-content .shop_table tbody tr:last-child td {
	border-bottom: none;
}

/* ── Order status badges ─────────────────────────────────────────────────── */
.pp-account-content mark.order-status {
	background: var(--pp-bg-sunken);
	color: var(--pp-text-2);
	font-size: var(--pp-fs-xs);
	font-weight: var(--pp-fw-semibold);
	padding: 3px 8px;
	border-radius: var(--pp-r-pill);
}

.pp-account-content mark.order-status.status-completed { background: #edf7f0; color: var(--pp-success); }
.pp-account-content mark.order-status.status-processing { background: var(--pp-pool-soft); color: var(--pp-pool-dark); }
.pp-account-content mark.order-status.status-cancelled { background: #fdf0f0; color: var(--pp-danger); }
.pp-account-content mark.order-status.status-on-hold { background: #fff8e6; color: var(--pp-warning); }

/* ── Forms ───────────────────────────────────────────────────────────────── */
.pp-account-content fieldset,
.pp-account-content fieldset legend {
	background: unset !important;
	padding: 0 !important;
}

.pp-account-content fieldset legend {
	margin-left: 0 !important;
}

.pp-account-content .woocommerce-form,
.pp-account-content .woocommerce-EditAccountForm {
	max-width: 560px;
}

.pp-account-content .woocommerce-address-fields {
	max-width: none;
}

.pp-account-content .woocommerce-form .form-row,
.pp-account-content .woocommerce-address-fields .form-row,
.pp-account-content .woocommerce-EditAccountForm .form-row {
	margin-bottom: var(--pp-sp-5);
}

.pp-account-content .woocommerce-address-fields .form-row-first,
.pp-account-content .woocommerce-address-fields .form-row-last,
.pp-account-content .woocommerce-EditAccountForm .form-row-first,
.pp-account-content .woocommerce-EditAccountForm .form-row-last {
	float: none;
	width: auto;
	margin-right: 0;
	clear: none;
}

.pp-account-content .woocommerce-billing-fields__field-wrapper,
.pp-account-content .woocommerce-shipping-fields__field-wrapper,
.pp-account-content .woocommerce-additional-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: var(--pp-sp-6);
}

.pp-account-content .woocommerce-billing-fields__field-wrapper .form-row-wide,
.pp-account-content .woocommerce-shipping-fields__field-wrapper .form-row-wide,
.pp-account-content .woocommerce-billing-fields__field-wrapper .form-row:not(.form-row-first):not(.form-row-last),
.pp-account-content .woocommerce-shipping-fields__field-wrapper .form-row:not(.form-row-first):not(.form-row-last) {
	grid-column: 1 / -1;
}

@media (max-width: 600px) {
	.pp-account-content .woocommerce-billing-fields__field-wrapper,
	.pp-account-content .woocommerce-shipping-fields__field-wrapper,
	.pp-account-content .woocommerce-additional-fields__field-wrapper {
		grid-template-columns: 1fr;
	}

	.pp-account-content .woocommerce-billing-fields__field-wrapper .form-row,
	.pp-account-content .woocommerce-shipping-fields__field-wrapper .form-row {
		grid-column: auto;
	}
}

/* ── Buttons ─────────────────────────────────────────────────────────────── */
.pp-account-content .button,
.pp-account-content button[type="submit"],
.pp-account-content input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 11px 20px;
	font: var(--pp-fw-bold) var(--pp-fs-sm)/1 var(--pp-font);
	background: var(--pp-magenta);
	color: #fff;
	border: none;
	border-radius: var(--pp-r-md);
	cursor: pointer;
	text-decoration: none;
	transition: background var(--pp-dur) var(--pp-ease);
}

.pp-account-content .button:hover,
.pp-account-content button[type="submit"]:hover,
.pp-account-content input[type="submit"]:hover {
	background: var(--pp-magenta-dark);
	color: #fff;
}

.pp-account-content .button.alt { background: var(--pp-ink); }
.pp-account-content .button.alt:hover { background: var(--pp-text-2); }

.pp-account-content .woocommerce-orders-table .button,
.pp-account-content .shop_table .button {
	padding: 7px 14px;
	font-size: var(--pp-fs-xs);
}

/* ── WooCommerce form-row buttons (login, register, lost-password, etc.) ── */
.woocommerce-form-row button,
.woocommerce-form-row input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 11px 14px;
	font: var(--pp-fw-bold) var(--pp-fs-sm)/1 var(--pp-font);
	background: var(--pp-magenta);
	color: #fff;
	border: none;
	border-radius: var(--pp-r-md);
	cursor: pointer;
	text-decoration: none;
	transition: background var(--pp-dur) var(--pp-ease), color var(--pp-dur) var(--pp-ease), transform var(--pp-dur-fast) var(--pp-ease);
}

.woocommerce-form-row button:hover,
.woocommerce-form-row input[type="submit"]:hover {
	background: var(--pp-magenta-dark);
	color: #fff;
}

.woocommerce-form-row button:active,
.woocommerce-form-row input[type="submit"]:active {
	background: var(--pp-magenta-press);
	transform: translateY(1px);
}

/* ── Address boxes ───────────────────────────────────────────────────────── */
.pp-account-content .woocommerce-Address {
	float: none;
	width: auto;
	margin-right: 0;
	border: var(--pp-bw-hair) solid var(--pp-border);
	border-radius: var(--pp-r-lg);
	padding: var(--pp-sp-6);
}

.pp-account-content .woocommerce-Addresses {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--pp-sp-6);
}

@media (max-width: 600px) {
	.pp-account-content .woocommerce-Addresses { grid-template-columns: 1fr; }
}

.pp-account-content .woocommerce-Address-title {
	display: flex;
	justify-content: space-between;
	margin-bottom: var(--pp-sp-4);
}

.pp-account-content .woocommerce-Address-title h3 {
	margin: 0;
	font-size: var(--pp-fs-body-lg);
}

.pp-account-content .addresses header.title a { margin: 0; }

.addresses header.title::before,
.addresses header.title::after {
	content: none !important;
}

.pp-account-content address {
	font-style: normal;
	font-size: var(--pp-fs-sm);
	color: var(--pp-text-2);
	line-height: var(--pp-lh-loose);
}

/* ── Downloads ───────────────────────────────────────────────────────────── */
.pp-account-content .woocommerce-MyAccount-downloads td:last-child a {
	font-weight: var(--pp-fw-semibold);
	color: var(--pp-magenta);
}

/* ── Login / Register (logged-out state) ─────────────────────────────────── */
.pp-account-content .col2-set,
.pp-account-content .col2-set .col-1,
.pp-account-content .col2-set .col-2 {
	float: none !important;
	width: auto !important;
	margin-right: 0 !important;
}

.pp-account-content .col2-set {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--pp-sp-10);
}

.pp-account-content .woocommerce > .u-column1,
.pp-account-content .woocommerce > .u-column2 {
	max-width: 480px;
	padding: 0;
}

@media (max-width: 700px) {
	.pp-account-content .col2-set { grid-template-columns: 1fr; }
}

/* ── Lost password ───────────────────────────────────────────────────────── */
.pp-account-content .lost_password a {
	font-size: var(--pp-fs-xs);
	color: var(--pp-text-3);
}

.pp-account-content .lost_password a:hover { color: var(--pp-magenta); }

/* ── Pagination ──────────────────────────────────────────────────────────── */
.pp-account-content .woocommerce-pagination ul {
	display: flex;
	gap: var(--pp-sp-2);
	list-style: none;
	padding: 0;
	margin: var(--pp-sp-6) 0 0;
}

.pp-account-content .woocommerce-pagination ul li a,
.pp-account-content .woocommerce-pagination ul li span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: var(--pp-r-md);
	font-size: var(--pp-fs-sm);
	font-weight: var(--pp-fw-medium);
	border: var(--pp-bw-hair) solid var(--pp-border);
	color: var(--pp-text-2);
	text-decoration: none;
	transition: background var(--pp-dur) var(--pp-ease), color var(--pp-dur) var(--pp-ease);
}

.pp-account-content .woocommerce-pagination ul li a:hover {
	background: var(--pp-magenta-soft);
	color: var(--pp-magenta);
	border-color: var(--pp-magenta);
}

.pp-account-content .woocommerce-pagination ul li span.current {
	background: var(--pp-magenta);
	color: #fff;
	border-color: var(--pp-magenta);
}

/* ════════════════════════════════════════════════════════════════════════════
   CHECKOUT PAGE
   ════════════════════════════════════════════════════════════════════════════ */

/* ── Page wrapper ────────────────────────────────────────────────────────── */
.pp-checkout-wrap {
	background: var(--pp-bg-page);
	min-height: 60vh;
}

.pp-checkout-inner {
	max-width: var(--pp-container);
	margin: 0 auto;
	padding: 0 var(--pp-gutter);
}

@media (max-width: 900px) {
	.pp-checkout-inner { padding: 0 var(--pp-sp-6); }
}

/* ── Breadcrumb ──────────────────────────────────────────────────────────── */
.pp-checkout-breadcrumb {
	display: flex;
	align-items: center;
	gap: var(--pp-sp-2);
	font-size: var(--pp-fs-xs);
	color: var(--pp-text-3);
	margin-bottom: var(--pp-sp-6);
}

.pp-checkout-breadcrumb a {
	color: var(--pp-text-3);
	text-decoration: none;
}

.pp-checkout-breadcrumb a:hover { color: var(--pp-magenta); }

/* ── Page title ──────────────────────────────────────────────────────────── */
.pp-checkout-page-title {
	font-size: var(--pp-fs-h2);
	font-weight: var(--pp-fw-black);
	letter-spacing: var(--pp-ls-h2);
	line-height: var(--pp-lh-tight);
	color: var(--pp-magenta);
	margin: 0 0 var(--pp-sp-8);
}

/* ── Form layout ─────────────────────────────────────────────────────────── */
/* Storefront floats #customer_details (52.94%) left and #order_review
   (41.18%) right. Replace both with a two-column grid. */
.pp-checkout-content form.checkout {
	display: grid;
	grid-template-columns: 1fr 420px;
	grid-template-rows: auto 1fr;
	column-gap: var(--pp-sp-10);
	align-items: start;
}

.pp-checkout-content form.checkout::before,
.pp-checkout-content form.checkout::after {
	content: none;
}

.pp-checkout-content form.checkout #customer_details {
	grid-column: 1;
	grid-row: 1 / -1;
	float: none;
	width: auto;
	margin-right: 0;
}

.pp-checkout-content form.checkout #order_review_heading {
	grid-column: 2;
	grid-row: 1;
	font-size: var(--pp-fs-h5);
	font-weight: var(--pp-fw-bold);
	letter-spacing: var(--pp-ls-h5);
	color: var(--pp-magenta);
	margin: 0 0 var(--pp-sp-4);
}

.pp-checkout-content form.checkout #order_review {
	grid-column: 2;
	grid-row: 2;
	float: none;
	width: auto;
	margin-right: 0;
	position: sticky;
	top: var(--pp-sp-6);
}

/* ── Billing / shipping columns ──────────────────────────────────────────── */
.pp-checkout-content .col2-set {
	display: block;
	float: none;
	width: auto;
	margin-right: 0;
}

.pp-checkout-content .col2-set .col-1,
.pp-checkout-content .col2-set .col-2 {
	float: none !important;
	width: auto !important;
	margin-right: 0 !important;
	margin-bottom: var(--pp-sp-8);
}

.pp-checkout-content .col2-set .form-row-first,
.pp-checkout-content .col2-set .form-row-last,
.pp-checkout-content .woocommerce-billing-fields .form-row-first,
.pp-checkout-content .woocommerce-billing-fields .form-row-last,
.pp-checkout-content .woocommerce-shipping-fields .form-row-first,
.pp-checkout-content .woocommerce-shipping-fields .form-row-last {
	float: none;
	width: auto;
	margin-right: 0;
	clear: none;
}

.pp-checkout-content .woocommerce-billing-fields__field-wrapper,
.pp-checkout-content .woocommerce-shipping-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: var(--pp-sp-6);
}

.pp-checkout-content .woocommerce-billing-fields__field-wrapper .form-row-wide,
.pp-checkout-content .woocommerce-shipping-fields__field-wrapper .form-row-wide,
.pp-checkout-content .woocommerce-billing-fields__field-wrapper .form-row:not(.form-row-first):not(.form-row-last),
.pp-checkout-content .woocommerce-shipping-fields__field-wrapper .form-row:not(.form-row-first):not(.form-row-last) {
	grid-column: 1 / -1;
}

/* Section headings */
.pp-checkout-content h3#ship-to-different-address,
.pp-checkout-content .woocommerce-billing-fields > h3,
.pp-checkout-content .woocommerce-shipping-fields > h3,
.pp-checkout-content .woocommerce-additional-fields > h3 {
	font-size: var(--pp-fs-h5);
	font-weight: var(--pp-fw-bold);
	letter-spacing: var(--pp-ls-h5);
	color: var(--pp-magenta);
	margin: 0 0 var(--pp-sp-5);
	padding-bottom: var(--pp-sp-4);
	border-bottom: var(--pp-bw-hair) solid var(--pp-border);
}

.pp-checkout-content h3#ship-to-different-address {
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
}

/* ── Order review table ──────────────────────────────────────────────────── */
.pp-checkout-content .woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--pp-fs-sm);
	margin-bottom: var(--pp-sp-6);
}

.pp-checkout-content .woocommerce-checkout-review-order-table th {
	text-align: left;
	padding: var(--pp-sp-3) var(--pp-sp-4);
	font-size: var(--pp-fs-xs);
	font-weight: var(--pp-fw-semibold);
	letter-spacing: var(--pp-ls-kicker);
	text-transform: uppercase;
	color: var(--pp-text-3);
	border-bottom: var(--pp-bw-bold) solid var(--pp-border);
}

.pp-checkout-content .woocommerce-checkout-review-order-table td {
	padding: var(--pp-sp-3) var(--pp-sp-4);
	color: var(--pp-text-2);
	border-bottom: var(--pp-bw-hair) solid var(--pp-border);
	vertical-align: middle;
}

.pp-checkout-content .woocommerce-checkout-review-order-table .order-total td,
.pp-checkout-content .woocommerce-checkout-review-order-table .order-total th {
	font-weight: var(--pp-fw-bold);
	font-size: var(--pp-fs-body-lg);
	color: var(--pp-ink);
	border-bottom: none;
	padding-top: var(--pp-sp-4);
}

.pp-checkout-content .woocommerce-checkout-review-order-table .cart-subtotal td,
.pp-checkout-content .woocommerce-checkout-review-order-table .cart-subtotal th {
	border-bottom: none;
}

/* ── Payment section ─────────────────────────────────────────────────────── */
.pp-checkout-content #payment {
	background: var(--pp-bg-sunken);
	border: var(--pp-bw-hair) solid var(--pp-border);
	border-radius: var(--pp-r-xl);
	overflow: hidden;
}

.pp-checkout-content #payment::before,
.pp-checkout-content #payment::after {
	content: none;
}

.pp-checkout-content #payment .payment_methods {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
	border-bottom: var(--pp-bw-hair) solid var(--pp-border);
}

.pp-checkout-content #payment .payment_methods li {
	list-style: none !important;
	margin: 0;
	border-bottom: var(--pp-bw-hair) solid var(--pp-border);
}

.pp-checkout-content #payment .payment_methods li:last-child {
	border-bottom: none;
}

.pp-checkout-content #payment .payment_methods li label {
	display: flex;
	align-items: center;
	gap: var(--pp-sp-3);
	padding: var(--pp-sp-4) var(--pp-sp-5);
	font-size: var(--pp-fs-body);
	font-weight: var(--pp-fw-medium);
	color: var(--pp-ink);
	cursor: pointer;
	margin: 0;
}

.pp-checkout-content #payment .payment_methods li label img {
	float: none;
	max-height: 24px;
	width: auto;
	margin-left: auto;
}

.pp-checkout-content #payment .payment_methods li .payment_box {
	padding: var(--pp-sp-4) var(--pp-sp-5);
	background: #fff;
	border-top: var(--pp-bw-hair) solid var(--pp-border);
	font-size: var(--pp-fs-sm);
	color: var(--pp-text-2);
}

.pp-checkout-content #payment .payment_methods li .payment_box fieldset {
	border: none;
	margin: 0;
	padding: 0;
}

.pp-checkout-content #payment .payment_methods li .payment_box .form-row {
	margin-bottom: var(--pp-sp-4);
}

.pp-checkout-content #payment .woocommerce-terms-and-conditions {
	padding: var(--pp-sp-4);
	margin-bottom: var(--pp-sp-4);
	background: #fff;
	border: var(--pp-bw-hair) solid var(--pp-border);
	border-radius: var(--pp-r-md);
	font-size: var(--pp-fs-sm);
	color: var(--pp-text-2);
	max-height: 200px;
	overflow-y: auto;
	box-shadow: none;
}

.pp-checkout-content #payment .terms {
	float: none;
	width: 100%;
	clear: both;
	display: flex;
	align-items: center;
	gap: var(--pp-sp-3);
	padding: var(--pp-sp-4) var(--pp-sp-5);
	font-size: var(--pp-fs-sm);
}

.pp-checkout-content #payment .terms label {
	display: inline;
	font-size: var(--pp-fs-sm);
	font-weight: var(--pp-fw-regular);
	color: var(--pp-text-2);
	margin: 0;
	cursor: pointer;
}

.pp-checkout-content #payment .place-order {
	float: none;
	width: auto;
	padding: var(--pp-sp-5);
	margin: 0;
}

.pp-checkout-content #payment .place-order .button {
	display: block;
	width: 100%;
	padding: 14px 20px;
	font-size: var(--pp-fs-body-lg);
	font-weight: var(--pp-fw-bold);
	background: var(--pp-magenta);
	color: #fff;
	border: none;
	border-radius: var(--pp-r-md);
	text-align: center;
	cursor: pointer;
	transition: background var(--pp-dur) var(--pp-ease);
	white-space: normal;
}

.pp-checkout-content #payment .place-order .button:hover {
	background: var(--pp-magenta-dark);
	color: #fff;
}

/* ── Form row labels & spacing ───────────────────────────────────────────── */
.pp-checkout-content .form-row {
	margin-bottom: var(--pp-sp-4);
}

.pp-checkout-content .form-row label,
.pp-checkout-content .form-row > label {
	display: block;
	font-size: var(--pp-fs-xs);
	font-weight: var(--pp-fw-semibold);
	color: var(--pp-ink);
	margin-bottom: var(--pp-sp-1);
}

.pp-checkout-content .form-row label abbr.required {
	color: var(--pp-magenta);
	text-decoration: none;
	border: none;
	margin-left: 2px;
}

/* ── Form validation states ──────────────────────────────────────────────── */
.pp-checkout-content .form-row.woocommerce-validated .woocommerce-input-wrapper {
	position: relative;
}

.pp-checkout-content .form-row.woocommerce-invalid input,
.pp-checkout-content .form-row.woocommerce-invalid select,
.pp-checkout-content .form-row.woocommerce-invalid .select2-selection {
	border-color: var(--pp-danger) !important;
}

.pp-checkout-content .form-row .woocommerce-error {
	display: block;
	font-size: var(--pp-fs-xs);
	color: var(--pp-danger);
	margin-top: var(--pp-sp-1);
	background: none;
	border: none;
	padding: 0;
	list-style: none;
}

/* ── Select2 country / state dropdowns ───────────────────────────────────── */
.pp-checkout-content .select2-container {
	width: 100% !important;
}

.pp-checkout-content .select2-container .select2-selection--single {
	height: auto;
	padding: 10px 36px 10px 14px;
	border: var(--pp-bw-mid) solid #d1d0ce;
	border-radius: var(--pp-r-md);
	background: #fff;
	font-family: var(--pp-font);
	font-size: var(--pp-fs-body);
	color: var(--pp-text-2);
	outline: none;
	transition: border-color var(--pp-dur) var(--pp-ease), box-shadow var(--pp-dur) var(--pp-ease);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b6560' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 10px center;
}

.pp-checkout-content .select2-container--open .select2-selection--single,
.pp-checkout-content .select2-container .select2-selection--single:focus {
	border-color: var(--pp-magenta);
	box-shadow: var(--pp-focus-ring-input);
	outline: none;
}

.pp-checkout-content .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0;
	line-height: inherit;
	color: var(--pp-text-2);
	font-size: var(--pp-fs-body);
}

.pp-checkout-content .select2-container .select2-selection--single .select2-selection__arrow {
	display: none;
}

.pp-checkout-content .select2-container .select2-selection--single .select2-selection__placeholder {
	color: var(--pp-text-4);
}

.select2-dropdown {
	border: var(--pp-bw-mid) solid #d1d0ce;
	border-radius: var(--pp-r-md);
	box-shadow: var(--pp-shadow-dropdown);
	font-family: var(--pp-font);
	font-size: var(--pp-fs-body);
	overflow: hidden;
}

.select2-search--dropdown {
	padding: var(--pp-sp-3);
	border-bottom: var(--pp-bw-hair) solid var(--pp-border);
}

.select2-search--dropdown .select2-search__field {
	padding: 8px 12px;
	border: var(--pp-bw-mid) solid #d1d0ce;
	border-radius: var(--pp-r-sm);
	font-family: var(--pp-font);
	font-size: var(--pp-fs-sm);
	outline: none;
	width: 100%;
}

.select2-search--dropdown .select2-search__field:focus {
	border-color: var(--pp-magenta);
	box-shadow: var(--pp-focus-ring-input);
}

.select2-results__option {
	padding: var(--pp-sp-3) var(--pp-sp-4);
	font-size: var(--pp-fs-sm);
	color: var(--pp-text-2);
}

.select2-results__option--highlighted[aria-selected],
.select2-results__option--highlighted.select2-results__option--selectable {
	background: var(--pp-magenta);
	color: #fff;
}

.select2-results__option[aria-selected="true"] {
	background: var(--pp-bg-soft);
	color: var(--pp-magenta);
	font-weight: var(--pp-fw-semibold);
}

/* ── Returning customer / coupon notices (top of checkout) ───────────────── */
.pp-checkout-content .woocommerce-info {
	list-style: none;
	padding: var(--pp-sp-4) var(--pp-sp-5);
	border-radius: var(--pp-r-md);
	margin-bottom: var(--pp-sp-5);
	font-size: var(--pp-fs-sm);
	background: #eef5ff;
	border-left: var(--pp-bw-tab) solid var(--pp-pool);
	color: var(--pp-pool-dark);
	display: flex;
	align-items: center;
	gap: var(--pp-sp-3);
}

.pp-checkout-content .woocommerce-info::before {
	display: none !important;
}

.pp-checkout-content .woocommerce-info a {
	color: var(--pp-magenta);
	font-weight: var(--pp-fw-semibold);
	text-decoration: none;
}

.pp-checkout-content .woocommerce-info a:hover {
	color: var(--pp-magenta-dark);
	text-decoration: underline;
}

.pp-checkout-content .woocommerce-message {
	list-style: none;
	padding: var(--pp-sp-4) var(--pp-sp-5);
	border-radius: var(--pp-r-md);
	margin-bottom: var(--pp-sp-5);
	font-size: var(--pp-fs-sm);
	background: #edf8f2;
	border-left: var(--pp-bw-tab) solid var(--pp-success);
	color: var(--pp-success);
	display: flex;
	align-items: center;
	gap: var(--pp-sp-3);
}

.pp-checkout-content .woocommerce-message::before {
	display: none !important;
}

.pp-checkout-content .woocommerce-error {
	list-style: none;
	padding: var(--pp-sp-4) var(--pp-sp-5);
	border-radius: var(--pp-r-md);
	margin-bottom: var(--pp-sp-5);
	font-size: var(--pp-fs-sm);
	background: #fef0f0;
	border-left: var(--pp-bw-tab) solid var(--pp-danger);
	color: var(--pp-danger);
	display: flex;
	align-items: flex-start;
	gap: var(--pp-sp-3);
}

.pp-checkout-content .woocommerce-error::before {
	display: none !important;
}

.pp-checkout-content .woocommerce-error li {
	list-style: none;
}

/* ── Coupon form (shown when "Click here to enter your code" is clicked) ─── */
.pp-checkout-content .checkout_coupon {
	border: var(--pp-bw-hair) solid var(--pp-border);
	border-radius: var(--pp-r-md);
	padding: var(--pp-sp-5);
	margin-bottom: var(--pp-sp-6);
	background: var(--pp-bg);
	display: flex;
	gap: var(--pp-sp-3);
	align-items: flex-end;
	flex-wrap: wrap;
}

.pp-checkout-content .checkout_coupon .form-row {
	margin: 0;
	flex: 1;
	min-width: 180px;
}

.pp-checkout-content .checkout_coupon .form-row input.input-text {
	width: 100%;
}

.pp-checkout-content .checkout_coupon .form-row-last {
	flex: 0 0 auto;
}

.pp-checkout-content .checkout_coupon .button {
	display: inline-flex;
	align-items: center;
	padding: 10px 20px;
	font-size: var(--pp-fs-sm);
	font-weight: var(--pp-fw-bold);
	background: var(--pp-ink);
	color: #fff;
	border: none;
	border-radius: var(--pp-r-md);
	cursor: pointer;
	transition: background var(--pp-dur) var(--pp-ease);
	white-space: nowrap;
}

.pp-checkout-content .checkout_coupon .button:hover {
	background: var(--pp-text-2);
	color: #fff;
}

/* ── Returning customer login form ───────────────────────────────────────── */
.pp-checkout-content .woocommerce-form-login {
	border: var(--pp-bw-hair) solid var(--pp-border);
	border-radius: var(--pp-r-md);
	padding: var(--pp-sp-6);
	margin-bottom: var(--pp-sp-6);
	background: var(--pp-bg);
}

.pp-checkout-content .woocommerce-form-login .form-row {
	margin-bottom: var(--pp-sp-4);
}

.pp-checkout-content .woocommerce-form-login .woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: center;
	gap: var(--pp-sp-2);
	font-size: var(--pp-fs-sm);
	color: var(--pp-text-2);
	cursor: pointer;
}

.pp-checkout-content .woocommerce-form-login .woocommerce-button {
	display: inline-flex;
	align-items: center;
	padding: 10px 20px;
	font-size: var(--pp-fs-sm);
	font-weight: var(--pp-fw-bold);
	background: var(--pp-magenta);
	color: #fff;
	border: none;
	border-radius: var(--pp-r-md);
	cursor: pointer;
	transition: background var(--pp-dur) var(--pp-ease);
}

.pp-checkout-content .woocommerce-form-login .woocommerce-button:hover {
	background: var(--pp-magenta-dark);
	color: #fff;
}

.pp-checkout-content .woocommerce-form-login .lost_password {
	font-size: var(--pp-fs-xs);
	margin-top: var(--pp-sp-3);
}

.pp-checkout-content .woocommerce-form-login .lost_password a {
	color: var(--pp-magenta);
	text-decoration: none;
}

.pp-checkout-content .woocommerce-form-login .lost_password a:hover {
	color: var(--pp-magenta-dark);
	text-decoration: underline;
}

/* ── Order review sidebar card ───────────────────────────────────────────── */
.pp-checkout-content form.checkout #order_review {
	background: var(--pp-bg);
	border: var(--pp-bw-hair) solid var(--pp-border);
	border-radius: var(--pp-r-xl);
	overflow: hidden;
}

.pp-checkout-content form.checkout #order_review_heading {
	padding: var(--pp-sp-5) var(--pp-sp-6) 0;
}

.pp-checkout-content form.checkout #order_review .woocommerce-checkout-review-order-table {
	margin: var(--pp-sp-4) var(--pp-sp-6);
	width: calc(100% - var(--pp-sp-12));
}

.pp-checkout-content form.checkout #payment {
	border-radius: 0;
	border: none;
	border-top: var(--pp-bw-hair) solid var(--pp-border);
}

/* ── Additional fields (order notes) ─────────────────────────────────────── */
.pp-checkout-content .woocommerce-additional-fields__field-wrapper {
	margin-top: var(--pp-sp-2);
}

.pp-checkout-content .woocommerce-additional-fields__field-wrapper textarea {
	min-height: 100px;
}

/* ── Privacy policy text ─────────────────────────────────────────────────── */
.pp-checkout-content .woocommerce-privacy-policy-text {
	font-size: var(--pp-fs-xs);
	color: var(--pp-text-3);
	margin: var(--pp-sp-3) var(--pp-sp-5);
	line-height: var(--pp-lh-loose);
}

.pp-checkout-content .woocommerce-privacy-policy-text a {
	color: var(--pp-magenta);
}

.pp-checkout-content .woocommerce-privacy-policy-text a:hover {
	color: var(--pp-magenta-dark);
	text-decoration: underline;
}

/* ── Notices ─────────────────────────────────────────────────────────────── */
/* (Notices are fully styled above — keeping selector for legacy specificity) */

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
	.pp-checkout-content form.checkout {
		grid-template-columns: 1fr;
	}

	.pp-checkout-content form.checkout #customer_details { grid-row: 1; }

	.pp-checkout-content form.checkout #order_review_heading {
		grid-column: 1;
		grid-row: 2;
	}

	.pp-checkout-content form.checkout #order_review {
		grid-column: 1;
		grid-row: 3;
		position: static;
	}
}

@media (max-width: 600px) {
	.pp-checkout-content .woocommerce-billing-fields__field-wrapper,
	.pp-checkout-content .woocommerce-shipping-fields__field-wrapper {
		grid-template-columns: 1fr;
	}

	.pp-checkout-content .woocommerce-billing-fields__field-wrapper .form-row,
	.pp-checkout-content .woocommerce-shipping-fields__field-wrapper .form-row {
		grid-column: auto;
	}
}

/* ════════════════════════════════════════════════════════════════════════════
   CHECKOUT — ORDER RECEIVED / THANK YOU PAGE
   ════════════════════════════════════════════════════════════════════════════ */

/* ── Thank you message ───────────────────────────────────────────────────── */
.pp-checkout-content .woocommerce-thankyou-order-received {
	font-size: var(--pp-fs-lg);
	font-weight: 600;
	color: var(--pp-text-1);
	margin-bottom: var(--pp-sp-6);
}

/* ── Order overview bar (order #, date, email, total, payment method) ────── */
.pp-checkout-content .woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	list-style: none;
	margin: 0 0 var(--pp-sp-8);
	padding: 0;
	background: #fff;
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-r-md);
	overflow: hidden;
}

.pp-checkout-content .woocommerce-order-overview li {
	flex: 1 1 160px;
	padding: var(--pp-sp-4) var(--pp-sp-5);
	border-right: 1px solid var(--pp-border);
	font-size: var(--pp-fs-sm);
	color: var(--pp-text-3);
	line-height: 1.4;
}

.pp-checkout-content .woocommerce-order-overview li:last-child {
	border-right: none;
}

.pp-checkout-content .woocommerce-order-overview li strong {
	display: block;
	font-size: var(--pp-fs-base);
	font-weight: 600;
	color: var(--pp-text-1);
	margin-top: var(--pp-sp-1);
}

.pp-checkout-content .woocommerce-order-overview li strong a {
	color: var(--pp-magenta);
	text-decoration: none;
}

.pp-checkout-content .woocommerce-order-overview li strong a:hover {
	text-decoration: underline;
}

/* ── Order details section ───────────────────────────────────────────────── */
.pp-checkout-content .woocommerce-order-details {
	margin-bottom: var(--pp-sp-8);
}

.pp-checkout-content .woocommerce-order-details__title,
.pp-checkout-content .woocommerce-column__title {
	font-size: var(--pp-fs-lg);
	font-weight: 700;
	color: var(--pp-magenta);
	margin: 0 0 var(--pp-sp-4);
}

/* ── Order items table (shared: order-received + account order view) ─────── */
.woocommerce-table--order-details,
.shop_table.order_details {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-r-md);
	font-size: var(--pp-fs-sm);
}

.woocommerce-table--order-details thead th,
.shop_table.order_details thead th {
	background: var(--pp-magenta);
	padding: var(--pp-sp-3) var(--pp-sp-4);
	text-align: left;
	font-weight: 600;
	letter-spacing: normal;
	text-transform: none;
	color: #fff;
}

.woocommerce-table--order-details thead th.product-total,
.shop_table.order_details thead th.product-total {
	text-align: right;
}

.woocommerce-table--order-details tbody td,
.shop_table.order_details tbody td {
	padding: var(--pp-sp-3) var(--pp-sp-4);
	border-bottom: 1px solid var(--pp-border);
	color: var(--pp-text-2);
	vertical-align: top;
}

.woocommerce-table--order-details tr.order_item td,
.shop_table.order_details tr.order_item td {
	background: #fff;
}

.woocommerce-table--order-details tbody .product-total,
.shop_table.order_details tbody .product-total {
	text-align: right;
	font-weight: 600;
	color: var(--pp-text-1);
}

.woocommerce-table--order-details .product-name a,
.shop_table.order_details .product-name a {
	color: var(--pp-text-1);
	text-decoration: none;
	font-weight: 500;
}

.woocommerce-table--order-details .product-name a:hover,
.shop_table.order_details .product-name a:hover {
	color: var(--pp-magenta);
}

.woocommerce-table--order-details .product-quantity,
.shop_table.order_details .product-quantity {
	color: var(--pp-text-3);
	font-weight: 400;
}

.woocommerce-table--order-details tfoot tr:first-of-type > *,
.shop_table.order_details tfoot tr:first-of-type > * {
    border-top: 1px solid var(--pp-magenta);
}

.woocommerce-table--order-details tfoot tr th,
.woocommerce-table--order-details tfoot tr td,
.shop_table.order_details tfoot tr th,
.shop_table.order_details tfoot tr td {
	padding: var(--pp-sp-3) var(--pp-sp-4);
	border-bottom: 1px solid var(--pp-border);
	color: var(--pp-text-2);
	font-size: var(--pp-fs-sm);
	background: var(--pp-bg-soft);
	letter-spacing: normal;
	text-transform: none;
}

.woocommerce-table--order-details tfoot tr th,
.shop_table.order_details tfoot tr th {
	font-weight: 600;
	text-align: left;
	color: var(--pp-text-3);
}

.woocommerce-table--order-details tfoot tr td,
.shop_table.order_details tfoot tr td {
	text-align: right;
}

.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td,
.shop_table.order_details tfoot tr:last-child th,
.shop_table.order_details tfoot tr:last-child td {
	border-bottom: none;
}

.woocommerce-table--order-details tfoot .order-total th,
.woocommerce-table--order-details tfoot .order-total td,
.shop_table.order_details tfoot .order-total th,
.shop_table.order_details tfoot .order-total td {
	font-size: var(--pp-fs-base);
	font-weight: 700;
	color: var(--pp-text-1);
}

.woocommerce-table--order-details tfoot small,
.shop_table.order_details tfoot small {
	display: block;
	font-size: var(--pp-fs-xs);
	color: var(--pp-text-3);
	font-weight: 400;
}

/* ── Customer address columns ────────────────────────────────────────────── */
.pp-checkout-content .woocommerce-customer-details {
	margin-top: var(--pp-sp-8);
}

.pp-checkout-content .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--pp-sp-6);
	float: unset !important;
}

.pp-checkout-content .woocommerce-column {
	background: #fff;
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-r-md);
	padding: var(--pp-sp-5) var(--pp-sp-6);
}

.pp-checkout-content .woocommerce-column address {
	font-size: var(--pp-fs-sm);
	color: var(--pp-text-2);
	line-height: 1.7;
	font-style: normal;
}

.pp-checkout-content .woocommerce-column address:last-of-type {
    margin: 0;
}

.pp-checkout-content .woocommerce-customer-details--email,
.pp-checkout-content .woocommerce-customer-details--phone {
	margin-top: var(--pp-sp-2);
	margin-bottom: 0;
}

.pp-checkout-content .woocommerce-customer-details--email a,
.pp-checkout-content .woocommerce-customer-details--phone a {
	color: var(--pp-magenta);
	text-decoration: none;
}

.pp-checkout-content .woocommerce-customer-details--email a:hover,
.pp-checkout-content .woocommerce-customer-details--phone a:hover {
	text-decoration: underline;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 700px) {
	.pp-checkout-content .woocommerce-order-overview {
		flex-direction: column;
	}

	.pp-checkout-content .woocommerce-order-overview li {
		flex: 0 0 auto;
		border-right: none;
		border-bottom: 1px solid var(--pp-border);
	}

	.pp-checkout-content .woocommerce-order-overview li:last-child {
		border-bottom: none;
	}

	.pp-checkout-content .woocommerce-columns--addresses {
		grid-template-columns: 1fr;
	}
}

/* ════════════════════════════════════════════════════════════════════════════
   CART PAGE
   ════════════════════════════════════════════════════════════════════════════ */

/* ── Page wrapper ────────────────────────────────────────────────────────── */
.pp-cart-page-wrap {
	background: var(--pp-bg-page);
	padding: var(--pp-sp-8) 0 var(--pp-sp-18);
	min-height: 60vh;
}

.pp-cart-page-inner {
	max-width: var(--pp-container);
	margin: 0 auto;
	padding: 0 var(--pp-gutter);
}

@media (max-width: 900px) {
	.pp-cart-page-inner { padding: 0 var(--pp-sp-6); }
}

/* ── Breadcrumb ──────────────────────────────────────────────────────────── */
.pp-cart-breadcrumb {
	display: flex;
	align-items: center;
	gap: var(--pp-sp-2);
	font-size: var(--pp-fs-xs);
	color: var(--pp-text-3);
	margin-bottom: var(--pp-sp-6);
}

.pp-cart-breadcrumb a {
	color: var(--pp-text-3);
	text-decoration: none;
}

.pp-cart-breadcrumb a:hover { color: var(--pp-magenta); }

/* ── Page title ──────────────────────────────────────────────────────────── */
.pp-cart-page-title {
	font-size: var(--pp-fs-h2);
	font-weight: var(--pp-fw-black);
	letter-spacing: var(--pp-ls-h2);
	line-height: var(--pp-lh-tight);
	color: var(--pp-magenta);
	margin: 0 0 var(--pp-sp-8);
}

/* ── Cart table ──────────────────────────────────────────────────────────── */
.pp-cart-page-content table.cart {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--pp-fs-sm);
	margin-bottom: var(--pp-sp-8);
}

.pp-cart-page-content table.cart thead th {
	text-align: left;
	padding: var(--pp-sp-3) var(--pp-sp-4);
	font-size: var(--pp-fs-xs);
	font-weight: var(--pp-fw-semibold);
	letter-spacing: var(--pp-ls-kicker);
	text-transform: uppercase;
	color: var(--pp-text-3);
	border-bottom: var(--pp-bw-bold) solid var(--pp-border);
}

.pp-cart-page-content table.cart td {
	padding: var(--pp-sp-5) var(--pp-sp-4);
	color: var(--pp-text-2);
	border-bottom: var(--pp-bw-hair) solid var(--pp-border);
	vertical-align: middle;
}

.pp-cart-page-content table.cart tr:last-child td {
	border-bottom: none;
}

.pp-cart-page-content table.cart .product-thumbnail {
	width: 80px;
}

.pp-cart-page-content table.cart .product-thumbnail img {
	width: 70px;
	height: 70px;
	object-fit: contain;
	border-radius: var(--pp-r-md);
	background: var(--pp-bg-sunken);
	padding: var(--pp-sp-2);
	max-width: none;
	margin: 0;
}

.pp-cart-page-content table.cart .product-thumbnail::before {
	display: none;
}

.pp-cart-page-content table.cart .product-name a {
	font-weight: var(--pp-fw-semibold);
	color: var(--pp-ink);
	font-size: var(--pp-fs-body);
}

.pp-cart-page-content table.cart .product-name a:hover {
	color: var(--pp-magenta);
}

.pp-cart-page-content table.cart td.product-remove {
	padding: var(--pp-sp-5) var(--pp-sp-4);
	border-top: none;
	position: static;
	width: 40px;
	text-align: center;
}

.pp-cart-page-content table.cart td.product-remove a.remove {
	position: static;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	font-size: var(--pp-fs-body-lg);
	color: var(--pp-text-3) !important;
	background: var(--pp-bg-sunken);
	border: var(--pp-bw-hair) solid var(--pp-border);
	line-height: 1;
	transition: background var(--pp-dur) var(--pp-ease), color var(--pp-dur) var(--pp-ease);
}

.pp-cart-page-content table.cart td.product-remove a.remove:hover {
	background: #fdf0f0;
	color: var(--pp-danger) !important;
	border-color: var(--pp-danger);
}

.pp-cart-page-content table.cart td.product-quantity .quantity {
	display: flex;
	align-items: center;
	gap: var(--pp-sp-2);
}

.pp-cart-page-content table.cart td.product-quantity .qty {
	width: 60px;
	text-align: center;
	padding: 8px var(--pp-sp-2);
}

.pp-cart-page-content table.cart .product-price,
.pp-cart-page-content table.cart .product-subtotal {
	font-weight: var(--pp-fw-semibold);
	color: var(--pp-ink);
	font-variant-numeric: tabular-nums;
}

.pp-cart-page-content table.cart td.actions {
	background: transparent;
	border-top: var(--pp-bw-hair) solid var(--pp-border);
	padding: var(--pp-sp-5) var(--pp-sp-4);
}

.pp-cart-page-content table.cart td.actions label { display: none; }

.pp-cart-page-content table.cart td.actions .coupon {
	display: inline-flex;
	align-items: center;
	gap: var(--pp-sp-3);
	float: left;
	padding: 0;
	margin: 0;
	border: none;
}

.pp-cart-page-content table.cart td.actions .coupon .input-text {
	width: 200px;
}

.pp-cart-page-content table.cart td.actions input.button,
.pp-cart-page-content table.cart td.actions button {
	display: inline-flex;
	align-items: center;
	padding: 10px 18px;
	font-size: var(--pp-fs-sm);
	font-weight: var(--pp-fw-bold);
	background: var(--pp-magenta);
	color: #fff;
	border: none;
	border-radius: var(--pp-r-md);
	cursor: pointer;
	transition: background var(--pp-dur) var(--pp-ease);
}

.pp-cart-page-content table.cart td.actions input.button:hover,
.pp-cart-page-content table.cart td.actions button:hover {
	background: var(--pp-magenta-dark);
}

/* ── Cart collaterals (totals) ───────────────────────────────────────────── */
.pp-cart-page-content .cart-collaterals {
	float: none !important;
	width: 100% !important;
	display: flex;
	justify-content: flex-end;
}

.pp-cart-page-content .cart-collaterals .cart_totals {
	width: 420px;
	max-width: 100%;
	float: none !important;
}

.pp-cart-page-content .cart_totals h2 {
	font-size: var(--pp-fs-h5);
	font-weight: var(--pp-fw-bold);
	letter-spacing: var(--pp-ls-h5);
	color: var(--pp-ink);
	margin: 0 0 var(--pp-sp-5);
}

.pp-cart-page-content .cart_totals table.shop_table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--pp-fs-sm);
	border: var(--pp-bw-hair) solid var(--pp-border);
	border-radius: var(--pp-r-xl);
	overflow: hidden;
	margin-bottom: var(--pp-sp-5);
}

.pp-cart-page-content .cart_totals table.shop_table th,
.pp-cart-page-content .cart_totals table.shop_table td {
	padding: var(--pp-sp-4) var(--pp-sp-5);
	vertical-align: middle;
	border-bottom: var(--pp-bw-hair) solid var(--pp-border);
	color: var(--pp-text-2);
}

.pp-cart-page-content .cart_totals table.shop_table th {
	font-size: var(--pp-fs-sm);
	font-weight: var(--pp-fw-semibold);
	color: var(--pp-ink);
	text-align: left;
	width: 40%;
}

.pp-cart-page-content .cart_totals table.shop_table tr:last-child th,
.pp-cart-page-content .cart_totals table.shop_table tr:last-child td {
	border-bottom: none;
}

.pp-cart-page-content .cart_totals table.shop_table .order-total th,
.pp-cart-page-content .cart_totals table.shop_table .order-total td {
	font-size: var(--pp-fs-body-lg);
	font-weight: var(--pp-fw-bold);
	color: var(--pp-ink);
}

.pp-cart-page-content .cart_totals .woocommerce-shipping-destination {
	font-size: var(--pp-fs-xs);
	color: var(--pp-text-3);
	margin-bottom: var(--pp-sp-3);
}

.pp-cart-page-content .cart_totals #shipping_method {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--pp-sp-2);
}

.pp-cart-page-content .cart_totals #shipping_method li {
	display: flex;
	align-items: center;
	gap: var(--pp-sp-3);
	font-size: var(--pp-fs-sm);
}

/* ── Proceed to checkout ─────────────────────────────────────────────────── */
.pp-cart-page-content .wc-proceed-to-checkout {
	display: block;
}

.pp-cart-page-content .wc-proceed-to-checkout::before,
.pp-cart-page-content .wc-proceed-to-checkout::after {
	content: none;
}

.pp-cart-page-content .wc-proceed-to-checkout .checkout-button {
	display: block;
	width: 100%;
	padding: 14px 20px;
	font-size: var(--pp-fs-body-lg) !important;
	font-weight: var(--pp-fw-bold);
	background: var(--pp-magenta);
	color: #fff !important;
	border: none;
	border-radius: var(--pp-r-md);
	text-align: center;
	cursor: pointer;
	transition: background var(--pp-dur) var(--pp-ease);
	margin-bottom: 0;
}

.pp-cart-page-content .wc-proceed-to-checkout .checkout-button:hover {
	background: var(--pp-magenta-dark);
	color: #fff !important;
}

/* ── Variation meta under product name ───────────────────────────────────── */
.pp-cart-page-content table.cart .product-name .variation {
	margin: var(--pp-sp-2) 0 0;
	font-size: var(--pp-fs-xs);
	color: var(--pp-text-3);
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.pp-cart-page-content table.cart .product-name .variation dt,
.pp-cart-page-content table.cart .product-name .variation dd {
	display: inline;
	margin: 0;
	padding: 0;
}

.pp-cart-page-content table.cart .product-name .variation dt::after { content: ': '; }
.pp-cart-page-content table.cart .product-name .variation dd::after { content: ''; }

/* ── Notices ─────────────────────────────────────────────────────────────── */
.pp-cart-page-content .woocommerce-message,
.pp-cart-page-content .woocommerce-info,
.pp-cart-page-content .woocommerce-error {
	list-style: none;
	padding: var(--pp-sp-4) var(--pp-sp-5);
	border-radius: var(--pp-r-md);
	margin-bottom: var(--pp-sp-6);
	font-size: var(--pp-fs-sm);
	display: flex;
	align-items: center;
	gap: var(--pp-sp-3);
}

.pp-cart-page-content .woocommerce-message {
	background: #edf8f2;
	border-left: var(--pp-bw-tab) solid var(--pp-success);
	color: var(--pp-success);
}

.pp-cart-page-content .woocommerce-info {
	background: #eef5ff;
	border-left: var(--pp-bw-tab) solid var(--pp-pool);
	color: var(--pp-pool-dark);
}

.pp-cart-page-content .woocommerce-error {
	background: #fef0f0;
	border-left: var(--pp-bw-tab) solid var(--pp-danger);
	color: var(--pp-danger);
}

.pp-cart-page-content .woocommerce-info::before { display: none !important; }
.pp-cart-page-content .woocommerce-message::before { display: none !important; }
.pp-cart-page-content .woocommerce-error::before { display: none !important; }

.pp-cart-page-content .woocommerce-message .button,
.pp-cart-page-content .woocommerce-info .button {
	margin-left: auto;
	font-size: var(--pp-fs-xs);
	padding: 6px 14px;
	background: var(--pp-magenta);
	color: #fff !important;
	border-radius: var(--pp-r-sm);
	border: none;
	font-weight: var(--pp-fw-bold);
	white-space: nowrap;
	transition: background var(--pp-dur) var(--pp-ease);
}

.pp-cart-page-content .woocommerce-message .button:hover,
.pp-cart-page-content .woocommerce-info .button:hover {
	background: var(--pp-magenta-dark);
}

/* ── Cross-sells ─────────────────────────────────────────────────────────── */
.pp-cart-page-content .cross-sells {
	margin-top: var(--pp-sp-12);
}

.pp-cart-page-content .cross-sells > h2 {
	font-size: var(--pp-fs-h5);
	font-weight: var(--pp-fw-bold);
	letter-spacing: var(--pp-ls-h5);
	color: var(--pp-ink);
	margin: 0 0 var(--pp-sp-6);
}

.pp-cart-page-content .cross-sells ul.products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--pp-sp-5);
	list-style: none;
	margin: 0;
	padding: 0;
}

@media (max-width: 900px) {
	.pp-cart-page-content .cross-sells ul.products {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ── Empty cart state ────────────────────────────────────────────────────── */
.pp-cart-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: var(--pp-sp-18) var(--pp-sp-6);
	background: var(--pp-bg);
	border-radius: var(--pp-r-xl);
	border: var(--pp-bw-hair) solid var(--pp-border);
	margin-top: var(--pp-sp-4);
}

.pp-cart-empty__icon {
	color: var(--pp-magenta);
	opacity: .25;
	margin-bottom: var(--pp-sp-6);
}

.pp-cart-empty__heading {
	font-size: var(--pp-fs-h4);
	font-weight: var(--pp-fw-bold);
	letter-spacing: var(--pp-ls-h4);
	color: var(--pp-ink);
	line-height: var(--pp-lh-tight);
	margin: 0 0 var(--pp-sp-3);
}

.pp-cart-empty__sub {
	font-size: var(--pp-fs-body-lg);
	color: var(--pp-text-3);
	line-height: var(--pp-lh-loose);
	max-width: 400px;
	margin: 0 0 var(--pp-sp-8);
}

.pp-cart-empty__cta {
	min-width: 200px;
	justify-content: center;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 760px) {
	.pp-cart-page-content .cart-collaterals {
		justify-content: stretch;
	}

	.pp-cart-page-content .cart-collaterals .cart_totals {
		width: 100%;
	}

	.pp-cart-page-content table.cart td.actions .coupon {
		float: none;
		flex-wrap: wrap;
	}

	.pp-cart-page-content table.cart td.actions .coupon .input-text {
		width: 100%;
	}

	/* Stack cart table rows on narrow viewports */
	.pp-cart-page-content table.cart,
	.pp-cart-page-content table.cart thead,
	.pp-cart-page-content table.cart tbody,
	.pp-cart-page-content table.cart tr,
	.pp-cart-page-content table.cart th,
	.pp-cart-page-content table.cart td {
		display: block;
	}

	.pp-cart-page-content table.cart thead tr {
		display: none;
	}

	.pp-cart-page-content table.cart tr {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		padding: var(--pp-sp-4) 0;
		border-bottom: var(--pp-bw-hair) solid var(--pp-border);
		gap: var(--pp-sp-3);
	}

	.pp-cart-page-content table.cart td {
		border: none;
		padding: 0;
	}

	.pp-cart-page-content table.cart td.product-thumbnail {
		width: auto;
	}

	.pp-cart-page-content table.cart td.product-name {
		flex: 1;
	}

	.pp-cart-page-content table.cart td.product-remove {
		width: auto;
		order: -1;
	}

	.pp-cart-page-content table.cart td.product-quantity,
	.pp-cart-page-content table.cart td.product-price,
	.pp-cart-page-content table.cart td.product-subtotal {
		width: auto;
	}

	.pp-cart-page-content table.cart td.actions {
		width: 100%;
		border-top: var(--pp-bw-hair) solid var(--pp-border) !important;
		padding-top: var(--pp-sp-4) !important;
	}

	.pp-cart-empty {
		padding: var(--pp-sp-12) var(--pp-sp-4);
	}
}

/* ── Classic cart form wrapper (reset Storefront float/clearfix) ─────────── */
.pp-cart-page-content .woocommerce-cart-form {
	float: none;
	width: 100%;
}
.pp-cart-page-content .woocommerce-cart-form::before,
.pp-cart-page-content .woocommerce-cart-form::after {
	content: none;
}

/* ── Qty input: remove native spin arrows in classic cart ────────────────── */
.pp-cart-page-content table.cart td.product-quantity .qty::-webkit-inner-spin-button,
.pp-cart-page-content table.cart td.product-quantity .qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
}
.pp-cart-page-content table.cart td.product-quantity .qty {
	-moz-appearance: textfield;
}

/* ── Shipping calculator toggle link ─────────────────────────────────────── */
.pp-cart-page-content .cart_totals .shipping-calculator-button {
	display: inline-flex;
	align-items: center;
	gap: var(--pp-sp-1);
	font-size: var(--pp-fs-xs);
	font-weight: var(--pp-fw-semibold);
	color: var(--pp-magenta);
	text-decoration: none;
	margin-top: var(--pp-sp-3);
	cursor: pointer;
	transition: color var(--pp-dur) var(--pp-ease);
}
.pp-cart-page-content .cart_totals .shipping-calculator-button:hover {
	color: var(--pp-magenta-dark);
	text-decoration: underline;
}

/* ── Shipping calculator form ─────────────────────────────────────────────── */
.pp-cart-page-content .cart_totals .shipping-calculator-form {
	margin-top: var(--pp-sp-4);
	padding-top: var(--pp-sp-4);
	border-top: var(--pp-bw-hair) solid var(--pp-border);
	display: flex;
	flex-direction: column;
	gap: var(--pp-sp-3);
}
.pp-cart-page-content .cart_totals .shipping-calculator-form .form-row {
	margin: 0;
	padding: 0;
}
.pp-cart-page-content .cart_totals .shipping-calculator-form label {
	display: block;
	font-size: var(--pp-fs-xs);
	font-weight: var(--pp-fw-semibold);
	color: var(--pp-ink);
	margin-bottom: var(--pp-sp-1);
}
.pp-cart-page-content .cart_totals .shipping-calculator-form select,
.pp-cart-page-content .cart_totals .shipping-calculator-form input[type="text"],
.pp-cart-page-content .cart_totals .shipping-calculator-form input[type="number"] {
	padding: 9px 12px;
}
.pp-cart-page-content .cart_totals .shipping-calculator-form button[name="calc_shipping"],
.pp-cart-page-content .cart_totals .shipping-calculator-form input[name="calc_shipping"],
.pp-cart-page-content .cart_totals .shipping-calculator-form .button[name="calc_shipping"] {
	display: inline-flex;
	align-items: center;
	padding: 10px 18px;
	font-size: var(--pp-fs-sm);
	font-weight: var(--pp-fw-bold);
	background: var(--pp-magenta);
	color: #fff;
	border: none;
	border-radius: var(--pp-r-md);
	cursor: pointer;
	transition: background var(--pp-dur) var(--pp-ease);
	align-self: flex-start;
	width: auto;
}
.pp-cart-page-content .cart_totals .shipping-calculator-form button[name="calc_shipping"]:hover,
.pp-cart-page-content .cart_totals .shipping-calculator-form input[name="calc_shipping"]:hover,
.pp-cart-page-content .cart_totals .shipping-calculator-form .button[name="calc_shipping"]:hover {
	background: var(--pp-magenta-dark);
	color: #fff;
}

/* ── Privacy policy text at bottom of cart ───────────────────────────────── */
.pp-cart-page-content .woocommerce-privacy-policy-text {
	font-size: var(--pp-fs-xs);
	color: var(--pp-text-3);
	margin-top: var(--pp-sp-4);
	line-height: var(--pp-lh-loose);
	text-align: center;
}
.pp-cart-page-content .woocommerce-privacy-policy-text a {
	color: var(--pp-magenta);
}
.pp-cart-page-content .woocommerce-privacy-policy-text a:hover {
	color: var(--pp-magenta-dark);
	text-decoration: underline;
}

/* ═══════════════════════════════════════════════════════════════════════════
   Cart Block (Gutenberg / WooCommerce Blocks)
   Scoped under .pp-cart-page-content which wraps the_content() output from
   template-cart.php. Targets wc-block-* classes rendered by React.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Outer block wrapper ─────────────────────────────────────────────────── */
.pp-cart-page-content .wc-block-cart,
.pp-cart-page-content .wp-block-woocommerce-cart {
	font-family: var(--pp-font);
	font-size: var(--pp-fs-body);
	color: var(--pp-text-2);
}

/* Two-column layout: items left, summary right */
.pp-cart-page-content .wc-block-cart__inner-wrap,
.pp-cart-page-content .wp-block-woocommerce-cart__inner-wrap {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: var(--pp-sp-8);
	align-items: start;
}

@media (max-width: 900px) {
	.pp-cart-page-content .wc-block-cart__inner-wrap,
	.pp-cart-page-content .wp-block-woocommerce-cart__inner-wrap {
		grid-template-columns: 1fr;
	}
}

/* ── Empty cart block — 404-style centred layout ─────────────────────────── */

/* Hide cross-sells in block cart (both classic and block versions) */
.pp-cart-page-content .cross-sells,
.pp-cart-page-content .wp-block-woocommerce-cart-cross-sells-block,
.pp-cart-page-content .wc-block-cart__cross-sells { display: none !important; }

/* Hide any extra Gutenberg content blocks that follow the Cart block */
.pp-cart-page-content .wp-block-woocommerce-cart ~ * { display: none !important; }

.pp-cart-page-content .wp-block-woocommerce-empty-cart-block,
.pp-cart-page-content .wc-block-empty-cart,
.pp-cart-page-content .wc-block-cart__empty-cart__title {
	grid-column: 1 / -1;
}

/* Outer panel — matches the full-bleed centred feel of .pp-404-page */
.pp-cart-page-content .wp-block-woocommerce-empty-cart-block {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 50vh;
	padding: var(--pp-sp-12) var(--pp-sp-4);
	background: var(--pp-bg-page);
}

.wc-block-cart__empty-cart__title.with-empty-cart-icon:before {
    display: none;
}

/* Large faded cart glyph — same device as the "404" number */
.pp-cart-page-content .wp-block-woocommerce-empty-cart-block::before {
	content: '🛒';
	display: block;
	font-size: clamp(4rem, 14vw, 8rem);
	line-height: 1;
	opacity: .5;
	margin-bottom: 0.3em;
	user-select: none;
	filter: grayscale(1);
}

/* Hide any default WooCommerce cart image — the ::before emoji replaces it */
.pp-cart-page-content .wp-block-woocommerce-empty-cart-block .wp-block-image,
.pp-cart-page-content .wp-block-woocommerce-empty-cart-block img {
	display: none;
}

/* Heading — matches .pp-404-headline scale */
.pp-cart-page-content .wp-block-woocommerce-empty-cart-block h1,
.pp-cart-page-content .wp-block-woocommerce-empty-cart-block h2,
.pp-cart-page-content .wp-block-woocommerce-empty-cart-block .wp-block-heading,
.pp-cart-page-content .wc-block-cart__empty-cart__title h2 {
	font-size: clamp(1.2rem, 3.5vw, 1.625rem);
	font-weight: var(--pp-fw-bold);
	color: var(--pp-ink);
	line-height: var(--pp-lh-snug);
	margin: 0 0 var(--pp-sp-3);
	letter-spacing: -0.02em;
}

/* Paragraph — matches .pp-404-sub */
.pp-cart-page-content .wp-block-woocommerce-empty-cart-block p,
.pp-cart-page-content .wp-block-woocommerce-empty-cart-block .wp-block-paragraph {
	font-size: var(--pp-fs-body-lg);
	color: var(--pp-text-3);
	line-height: var(--pp-lh-loose);
	max-width: 420px;
	margin: 0 0 var(--pp-sp-6);
}

/* Button — magenta pill, same weight as 404 CTA */
.pp-cart-page-content .wp-block-woocommerce-empty-cart-block .wp-block-buttons,
.pp-cart-page-content .wp-block-woocommerce-empty-cart-block .wp-block-button {
	margin: 0;
}

.pp-cart-page-content .wp-block-woocommerce-empty-cart-block .wp-block-button__link,
.pp-cart-page-content .wp-block-woocommerce-empty-cart-block a.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 180px;
	padding: 12px 28px;
	font-size: var(--pp-fs-body-lg);
	font-weight: var(--pp-fw-bold);
	font-family: var(--pp-font);
	background: var(--pp-magenta) !important;
	color: #fff !important;
	border: none;
	border-radius: var(--pp-r-md);
	text-decoration: none;
	transition: background var(--pp-dur) var(--pp-ease);
	box-shadow: none;
}

.pp-cart-page-content .wp-block-woocommerce-empty-cart-block .wp-block-button__link:hover {
	background: var(--pp-magenta-dark) !important;
	color: #fff !important;
}

/* ── Filled cart: item list ──────────────────────────────────────────────── */
.pp-cart-page-content .wc-block-cart-items {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-r-md);
	font-size: var(--pp-fs-sm);
}

.wc-block-cart__main .wc-block-cart-items .wc-block-cart-item__image,
.wc-block-cart__main .wc-block-cart-items .wc-block-cart-item__product,
.wc-block-cart__main .wc-block-cart-items .wc-block-cart-item__total {
    height: 100%;
}

.pp-cart-page-content .wc-block-cart-items__header,
.pp-cart-page-content .wc-block-cart-items__row {
	display: grid;
	grid-template-columns: 80px 1fr auto auto;
	align-items: center;
	padding: var(--pp-sp-2) var(--pp-sp-4) var(--pp-sp-1) var(--pp-sp-4);
}

.pp-cart-page-content .wc-block-cart-items__row {
	padding: 0 var(--pp-sp-4);
}

.is-medium table.wc-block-cart-items .wc-block-cart-items__row,
.is-mobile table.wc-block-cart-items .wc-block-cart-items__row,
.is-small table.wc-block-cart-items .wc-block-cart-items__row {
    padding: 16px;
}

.pp-cart-page-content .wc-block-cart-items__header {
	background: var(--pp-magenta);
	color: #fff;
	font-weight: var(--pp-fw-semibold);
	text-transform: initial !important;
	letter-spacing: normal;
}

.pp-cart-page-content .wc-block-cart-items__header span,
.pp-cart-page-content .wc-block-cart-items__header th {
	color: #fff;
}

.pp-cart-page-content .wc-block-cart-items__row {
	background: #fff;
}

.pp-cart-page-content .wc-block-cart-items__row:first-of-type td {
	border-top: none !important;
}

/* Product image */
.pp-cart-page-content .wc-block-cart-item__image img,
.pp-cart-page-content .wc-block-cart-item__image a img {
	width: 70px;
	height: 70px;
	object-fit: contain;
	border-radius: var(--pp-r-md);
	background: var(--pp-bg-sunken);
	padding: var(--pp-sp-2);
	display: block;
}

/* Product name */
.pp-cart-page-content .wc-block-components-product-name,
.pp-cart-page-content .wc-block-components-product-name a {
	font-weight: var(--pp-fw-semibold);
	font-size: var(--pp-fs-body);
	color: var(--pp-ink);
	text-decoration: none;
}

.pp-cart-page-content .wc-block-components-product-name a:hover { color: var(--pp-magenta); }

/* Variation / metadata under name */
.pp-cart-page-content .wc-block-components-product-details,
.pp-cart-page-content .wc-block-components-product-details__item {
	font-size: var(--pp-fs-xs);
	color: var(--pp-text-3);
	margin: var(--pp-sp-1) 0 0;
}

.pp-cart-page-content .wc-block-components-product-details__name { font-weight: var(--pp-fw-medium); }

.wc-block-cart__main .wc-block-cart-items .wc-block-components-quantity-selector input {
    border: none;
    background: unset !important;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
    font-size: 1.5em !important;
}

/* Remove link */
.pp-cart-page-content .wc-block-cart-item__remove-link,
.pp-cart-page-content .wc-block-components-product-details__remove-link {
	font-size: var(--pp-fs-xs);
	color: var(--pp-text-3);
	text-decoration: underline;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	transition: color var(--pp-dur) var(--pp-ease);
}

.pp-cart-page-content .wc-block-cart-item__remove-link:hover { color: var(--pp-danger); }

/* Quantity stepper */
.pp-cart-page-content .wc-block-components-quantity-stepper {
	display: inline-flex;
	align-items: center;
	border: var(--pp-bw-hair) solid var(--pp-border-strong);
	border-radius: var(--pp-r-md);
	overflow: hidden;
	height: 36px;
}

.pp-cart-page-content .wc-block-components-quantity-stepper__button {
	width: 32px;
	height: 36px;
	border: none;
	background: var(--pp-bg-sunken);
	color: var(--pp-ink);
	font-size: 18px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background var(--pp-dur) var(--pp-ease);
	padding: 0;
}

.pp-cart-page-content .wc-block-components-quantity-stepper__button:hover { background: var(--pp-border); }

.pp-cart-page-content .wc-block-components-quantity-stepper input[type="number"],
.pp-cart-page-content .wc-block-components-quantity-stepper__input {
	width: 44px;
	border: none;
	border-left: var(--pp-bw-hair) solid var(--pp-border);
	border-right: var(--pp-bw-hair) solid var(--pp-border);
	text-align: center;
	font-size: var(--pp-fs-body);
	font-weight: var(--pp-fw-medium);
	color: var(--pp-ink);
	background: var(--pp-bg);
	padding: 0;
	height: 100%;
	-moz-appearance: textfield;
}

.pp-cart-page-content .wc-block-components-quantity-stepper input[type="number"]::-webkit-inner-spin-button,
.pp-cart-page-content .wc-block-components-quantity-stepper input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; }

/* Line total */
.pp-cart-page-content .wc-block-cart-item__total .wc-block-components-product-price,
.pp-cart-page-content .wc-block-cart-item__total {
	font-weight: var(--pp-fw-semibold);
	color: var(--pp-ink);
	text-align: right;
	font-variant-numeric: tabular-nums;
}

/* ── Order summary sidebar ───────────────────────────────────────────────── */
.pp-cart-page-content .wp-block-woocommerce-cart-order-summary-block,
.pp-cart-page-content .wc-block-cart__sidebar {
	padding: var(--pp-sp-6);
	position: sticky;
	top: var(--pp-sp-6);
}

.pp-cart-page-content .wc-block-cart__sidebar {
	padding: 0;
}

@media screen and (max-width: 699px){
	.pp-cart-page-content .wc-block-cart__sidebar {
		padding: 0;
		margin-top: 20px;
	}
}

.pp-cart-page-content .wp-block-woocommerce-cart-order-summary-block {
	background: var(--pp-bg);
	border: var(--pp-bw-hair) solid var(--pp-border);
	border-radius: var(--pp-r-xl);
}

/* Summary heading */
.pp-cart-page-content .wp-block-woocommerce-cart-order-summary-heading-block h2,
.pp-cart-page-content .wc-block-cart__sidebar h2 {
	font-size: var(--pp-fs-h5);
	font-weight: var(--pp-fw-bold);
	letter-spacing: var(--pp-ls-h5);
	color: var(--pp-ink);
	padding: 0 0 var(--pp-sp-4) 0;
}

@media screen and (max-width: 699px) {
	.wc-block-cart .wc-block-components-sidebar .wc-block-cart__totals-title {
		display: block;
		padding: 0;
	}
}

.pp-cart-page-content .wc-block-components-totals-wrapper {
	padding-bottom: 0;
}

/* Totals rows */
.pp-cart-page-content .wc-block-components-totals-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: var(--pp-fs-sm);
	color: var(--pp-text-2);
	border-bottom: var(--pp-bw-hair) solid var(--pp-border);
}

.pp-cart-page-content .wc-block-components-totals-item:last-child { border-bottom: none; }

.pp-cart-page-content .wc-block-components-totals-item__label {
	font-weight: var(--pp-fw-medium);
	color: var(--pp-ink);
}

.pp-cart-page-content .wc-block-components-totals-item__value {
	font-weight: var(--pp-fw-semibold);
	text-align: right;
	font-variant-numeric: tabular-nums;
}

/* Order total (bold footer row) */
.pp-cart-page-content .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.pp-cart-page-content .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: var(--pp-fs-body-lg);
	font-weight: var(--pp-fw-bold);
	color: var(--pp-ink);
}

/* Coupon form */
.pp-cart-page-content .wc-block-components-totals-coupon__form {
	display: flex;
	gap: var(--pp-sp-2);
	margin-top: var(--pp-sp-3);
}

.pp-cart-page-content .wc-block-components-totals-coupon__input {
	flex: 1;
}

/* Proceed to checkout button */
.pp-cart-page-content .wc-block-cart__submit-container,
.pp-cart-page-content .wp-block-woocommerce-proceed-to-checkout-block {
	margin-top: var(--pp-sp-5);
}

.pp-cart-page-content .wc-block-cart__submit-button,
.pp-cart-page-content .wc-block-components-checkout-place-order-button {
	display: block;
	width: 100%;
	padding: 14px 20px;
	font-size: var(--pp-fs-body-lg) !important;
	font-weight: var(--pp-fw-bold);
	font-family: var(--pp-font);
	background: var(--pp-magenta) !important;
	color: #fff !important;
	border: none;
	border-radius: var(--pp-r-md);
	text-align: center;
	cursor: pointer;
	transition: background var(--pp-dur) var(--pp-ease);
	text-decoration: none;
}

.pp-cart-page-content .wc-block-cart__submit-button:hover,
.pp-cart-page-content .wc-block-components-checkout-place-order-button:hover {
	background: var(--pp-magenta-dark) !important;
	color: #fff !important;
}

/* ── Block notices ───────────────────────────────────────────────────────── */
.pp-cart-page-content .wc-block-components-notice-banner {
	padding: var(--pp-sp-4) var(--pp-sp-5);
	border-radius: var(--pp-r-md);
	margin-bottom: var(--pp-sp-5);
	font-size: var(--pp-fs-sm);
	display: flex;
	align-items: flex-start;
	gap: var(--pp-sp-3);
}

.pp-cart-page-content .wc-block-components-notice-banner.is-info {
	background: #eef5ff;
	border-left: var(--pp-bw-tab) solid var(--pp-pool);
	color: var(--pp-pool-dark);
}

.pp-cart-page-content .wc-block-components-notice-banner.is-error {
	background: #fef0f0;
	border-left: var(--pp-bw-tab) solid var(--pp-danger);
	color: var(--pp-danger);
}

.pp-cart-page-content .wc-block-components-notice-banner.is-success {
	background: #edf8f2;
	border-left: var(--pp-bw-tab) solid var(--pp-success);
	color: var(--pp-success);
}

/* ── Block cart: mobile responsive ──────────────────────────────────────── */
@media (max-width: 600px) {
	.pp-cart-page-content .wc-block-cart-items__header,
	.pp-cart-page-content .wc-block-cart-items__row {
		grid-template-columns: 64px 1fr;
	}

	/* .pp-cart-page-content .wc-block-cart-item__quantity,
	.pp-cart-page-content .wc-block-cart-item__total {
		grid-column: 2;
	} */

	.pp-cart-page-content .wp-block-woocommerce-empty-cart-block {
		min-height: 40vh;
		padding: var(--pp-sp-10) var(--pp-sp-4);
	}
}

/* ── 404 page ────────────────────────────────────────────────────────────── */
.pp-404-page {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 60vh;
	padding: var(--pp-sp-12) var(--pp-sp-4);
	text-align: center;
	background: var(--pp-bg-page);
}

.pp-404-inner {
	max-width: 520px;
	width: 100%;
}

.pp-404-code {
	font-size: clamp(5rem, 18vw, 9rem);
	font-weight: var(--pp-fw-black);
	line-height: 1;
	color: var(--pp-magenta);
	opacity: .1;
	letter-spacing: -0.04em;
	margin-bottom: -0.45em;
	user-select: none;
}

.pp-404-emoji {
	font-size: 3rem;
	line-height: 1;
	display: block;
	margin-bottom: var(--pp-sp-4);
}

.pp-404-headline {
	font-size: clamp(1.2rem, 3.5vw, 1.625rem);
	font-weight: var(--pp-fw-bold);
	color: var(--pp-ink);
	line-height: var(--pp-lh-snug);
	margin: 0 0 var(--pp-sp-3);
}

.pp-404-sub {
	font-size: var(--pp-fs-body-lg);
	color: var(--pp-text-3);
	line-height: var(--pp-lh-loose);
	margin: 0 0 var(--pp-sp-6);
}

.pp-404-btn {
	margin-bottom: var(--pp-sp-5);
}

.pp-404-links {
	font-size: var(--pp-fs-sm);
	color: var(--pp-text-3);
	margin: 0;
}

.pp-404-links a {
	color: var(--pp-magenta);
}

.pp-404-links a:hover {
	color: var(--pp-magenta-dark);
	text-decoration: underline;
}

/* ── WooCommerce Coming Soon (store-only mode) — 404-style centred layout ── */

.wp-block-woocommerce-coming-soon.woocommerce-coming-soon-store-only {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 80vh;
	padding: var(--pp-sp-12) var(--pp-sp-4);
	background: var(--pp-bg-page);
	font-family: var(--pp-font);
}

/* Large faded emoji — same device as the "404" number */
.wp-block-woocommerce-coming-soon.woocommerce-coming-soon-store-only::before {
	content: '🐾';
	display: block;
	font-size: clamp(4rem, 14vw, 8rem);
	line-height: 1;
	opacity: .5;
	margin-bottom: 0.75em;
	user-select: none;
	filter: grayscale(1);
}

/* Hide any WC-supplied logo/image inside the block */
.wp-block-woocommerce-coming-soon.woocommerce-coming-soon-store-only .wp-block-image,
.wp-block-woocommerce-coming-soon.woocommerce-coming-soon-store-only img {
	display: none;
}

/* Heading — matches .pp-404-headline scale */
.wp-block-woocommerce-coming-soon.woocommerce-coming-soon-store-only h1,
.wp-block-woocommerce-coming-soon.woocommerce-coming-soon-store-only h2,
.wp-block-woocommerce-coming-soon.woocommerce-coming-soon-store-only .wp-block-heading {
	font-family: inherit !important;
	font-size: clamp(1.2rem, 3.5vw, 1.625rem);
	font-weight: var(--pp-fw-bold);
	color: var(--pp-ink);
	line-height: var(--pp-lh-snug);
	margin: 0 0 var(--pp-sp-3);
	letter-spacing: -0.02em;
}

/* Paragraph — matches .pp-404-sub */
.wp-block-woocommerce-coming-soon.woocommerce-coming-soon-store-only p,
.wp-block-woocommerce-coming-soon.woocommerce-coming-soon-store-only .wp-block-paragraph {
	font-size: var(--pp-fs-body-lg);
	color: var(--pp-text-3);
	line-height: var(--pp-lh-loose);
	max-width: 420px;
	margin: 0 0 var(--pp-sp-6);
}

/* Button — magenta pill, same weight as 404 CTA */
.wp-block-woocommerce-coming-soon.woocommerce-coming-soon-store-only .wp-block-buttons,
.wp-block-woocommerce-coming-soon.woocommerce-coming-soon-store-only .wp-block-button {
	margin: 0;
}

.wp-block-woocommerce-coming-soon.woocommerce-coming-soon-store-only .wp-block-button__link,
.wp-block-woocommerce-coming-soon.woocommerce-coming-soon-store-only a.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 180px;
	padding: 12px 28px;
	font-size: var(--pp-fs-body-lg);
	font-weight: var(--pp-fw-bold);
	font-family: var(--pp-font);
	background: var(--pp-magenta) !important;
	color: #fff !important;
	border: none;
	border-radius: var(--pp-r-md);
	text-decoration: none;
	transition: background var(--pp-dur) var(--pp-ease);
	box-shadow: none;
}

.wp-block-woocommerce-coming-soon.woocommerce-coming-soon-store-only .wp-block-button__link:hover {
	background: var(--pp-magenta-dark) !important;
	color: #fff !important;
}

.wp-block-woocommerce-coming-soon.woocommerce-coming-soon-store-only .wp-block-spacer {
    display: none;
}

.pp-coming-soon-btn {
	margin-top: var(--pp-sp-6);
}

@media screen and (max-width: 900px){
	.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button, .woocommerce-noreviews .button, p.no-comments .button {
		float: unset !important;
		margin: 0 !important;
		padding: 0 !important;
		text-decoration: underline;
		border-left: none !important;
	}
}

/* ── Post-purchase order reviews ─────────────────────────────────────────── */

.pp-order-reviews {
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 2px solid var(--pp-border, #e5e7eb);
}

.pp-order-reviews__heading {
	font-size: 1.25rem;
	font-weight: 700;
	margin: 0 0 0.25rem;
	color: var(--pp-dark, #111);
}

.pp-order-reviews__sub {
	margin: 0 0 1.5rem;
	color: var(--pp-muted, #6b7280);
	font-size: 0.9375rem;
}

.pp-order-review-card {
	border: 1px solid var(--pp-border, #e5e7eb);
	border-radius: var(--pp-radius-md, 10px);
	padding: 1.25rem 1.5rem;
	margin-bottom: 1.25rem;
	background: #fff;
}

.pp-order-review-card__product {
	display: flex;
	align-items: center;
	gap: 0.875rem;
	margin-bottom: 1rem;
}

.pp-order-review-card__thumb {
	width: 64px;
	height: 64px;
	object-fit: contain;
	border-radius: var(--pp-radius-sm, 6px);
	border: 1px solid var(--pp-border, #e5e7eb);
	flex-shrink: 0;
}

.pp-order-review-card__name {
	font-weight: 600;
	color: var(--pp-dark, #111);
	text-decoration: none;
	font-size: 0.9375rem;
}
.pp-order-review-card__name:hover {
	color: var(--pp-magenta);
}

.pp-order-review-card__done {
	margin: 0;
	color: var(--pp-muted, #6b7280);
	font-size: 0.9rem;
}

/* Star rating input (CSS-only, RTL trick so clicking sets ≥ that star) */
.pp-star-rating-field {
	border: none;
	padding: 0;
	margin: 0 0 1rem;
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	gap: 0.15rem;
}

.pp-star-radio {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

.pp-star-rating-field label {
	cursor: pointer;
	color: #d1d5db;
	transition: color 0.12s;
	line-height: 1;
}

.pp-star-rating-field label .pp-star-icon {
	width: 28px;
	height: 28px;
	stroke: none;
	fill: currentColor;
}

/* Highlight hovered star and all stars to its right (which are earlier in the RTL flex) */
.pp-star-rating-field label:hover,
.pp-star-rating-field label:hover ~ label {
	color: var(--pp-yellow, #ffd400);
}

/* Highlight checked star and all stars to its right */
.pp-star-radio:checked ~ label {
	color: var(--pp-yellow, #ffd400);
}

.pp-order-review-form__fields {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-bottom: 1.25rem;
}

.pp-form-group {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
}

.pp-form-label {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--pp-dark, #111);
}

.pp-input {
	border: 1.5px solid var(--pp-border, #d1d5db);
	border-radius: var(--pp-radius-sm, 6px);
	padding: 0.5rem 0.75rem;
	font-size: 0.9375rem;
	font-family: inherit;
	color: var(--pp-dark, #111);
	background: #fff;
	transition: border-color 0.15s;
	width: 100%;
	box-sizing: border-box;
}

.pp-input:focus {
	outline: none;
	border-color: var(--pp-magenta);
	box-shadow: 0 0 0 3px rgba(214, 22, 110, 0.1);
}

.pp-textarea {
	resize: vertical;
	min-height: 100px;
}

.pp-order-review-form__footer {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
}

.pp-order-review-form__msg {
	font-size: 0.875rem;
}

.pp-order-review-form__msg--error {
	color: #dc2626;
}

.pp-order-review-form__msg--success {
	color: #16a34a;
}

@media (max-width: 600px) {
	.pp-order-review-card {
		padding: 1rem;
	}
}

.about-page-listing {
    display: flex;
    flex-direction: column;
    list-style: none;
    padding: 0 !important;
}

.about-page-listing li {
    border: 2px solid #d8166e;
    border-radius: 10px;
}

.about-page-listing li a {
    text-decoration: none !important;
    font-weight: 600;
    display: flex;
    justify-content: space-between;
    align-items: center;
	padding: 10px 15px;
}

.about-page-listing li:hover {
    background: #d8186d;
}

.about-page-listing li:hover a{
    color: #fff !important;
}

.about-page-listing li a:after{
    content: "›";
    transform: scale(2);
    height: 20px;
    width: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}