/* =========================================================================
   PGM Fishmongers — 2024 redesign (shared frame: top bar, header, nav,
   footer, WhatsApp, global accents). Loaded after style.css.
   ========================================================================= */

:root {
	--pgm-navy: #0d2a44;
	--pgm-navy-2: #0a2036;
	--pgm-teal: #1a8f96;
	--pgm-teal-dark: #15767c;
	--pgm-ink: #0d2540;
	--pgm-body: #4a5568;
	--pgm-muted: #6b7a8d;
	--pgm-line: #e3eaf0;
	--pgm-bg-soft: #f3f7f9;
	--pgm-green: #2e9e5b;
	--pgm-amber: #e8862e;
	--pgm-gold: #f5b301;
	--pgm-radius: 14px;
	--pgm-shadow: 0 10px 30px rgba(13, 42, 68, .08);
	--pgm-display: "Oswald", "Inter", system-ui, sans-serif;
	--pgm-sans: "Inter", system-ui, -apple-system, sans-serif;
}

body {
	font-family: var(--pgm-sans);
	color: var(--pgm-body);
}

body h1,
body h2,
body h3 {
	font-family: var(--pgm-display);
	color: var(--pgm-ink);
}

body h1,
body h2 {
	text-transform: uppercase;
	letter-spacing: .01em;
	font-weight: 700;
}

.pgm-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

.pgm-container * {
	box-sizing: border-box;
}

/* ---------- Top utility bar ---------- */
.pgm-topbar {
	background: var(--pgm-navy);
	color: #cbd8e4;
	font-size: 12.5px;
}

.pgm-topbar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	min-height: 38px;
	flex-wrap: wrap;
}

.pgm-topbar svg {
	color: var(--pgm-teal);
	margin-right: 6px;
	flex: none;
}

.pgm-topbar a {
	color: #eaf1f6;
	text-decoration: none;
}

.pgm-topbar-tag,
.pgm-topbar-areas,
.pgm-topbar-hours,
.pgm-topbar-phone {
	display: inline-flex;
	align-items: center;
}

.pgm-topbar-right {
	display: flex;
	align-items: center;
	gap: 22px;
}

/* ---------- Header ---------- */
.pgm-header {
	background: #fff;
	position: sticky;
	top: 0;
	z-index: 50;
	box-shadow: 0 2px 16px rgba(13, 42, 68, .07);
}

.pgm-header-inner {
	display: flex;
	align-items: center;
	gap: 22px;
	min-height: 70px;
}

.pgm-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	flex: none;
}

img.pgm-logo {
	height: 50px !important;
	width: auto !important;
	max-width: none !important;
	display: block;
}

.pgm-brand-mark {
	color: var(--pgm-navy);
	display: flex;
}

.pgm-brand-text {
	display: flex;
	flex-direction: column;
	line-height: 1.05;
}

.pgm-brand-text strong {
	font-family: var(--pgm-display);
	font-size: 27px;
	font-weight: 700;
	letter-spacing: .06em;
	color: var(--pgm-ink);
}

.pgm-brand-text em {
	font-style: normal;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .34em;
	color: var(--pgm-teal);
}

.pgm-brand-text small {
	font-size: 8.5px;
	letter-spacing: .3em;
	color: var(--pgm-muted);
}

.pgm-nav {
	display: flex;
	gap: 2px;
	margin-left: auto;
}

.pgm-nav a {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 6px 9px;
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .01em;
	color: var(--pgm-ink);
	text-decoration: none;
	transition: color .15s;
}

.pgm-nav a svg {
	width: 18px;
	height: 18px;
	color: var(--pgm-ink);
	transition: color .15s;
}

.pgm-nav a::after {
	content: "";
	position: absolute;
	left: 9px;
	right: 9px;
	bottom: -7px;
	height: 3px;
	border-radius: 3px;
	background: var(--pgm-teal);
	opacity: 0;
	transform: scaleX(.4);
	transition: opacity .15s, transform .15s;
}

.pgm-nav a:hover,
.pgm-nav a[aria-current="page"] {
	color: var(--pgm-teal);
}

.pgm-nav a:hover svg,
.pgm-nav a[aria-current="page"] svg {
	color: var(--pgm-teal);
}

.pgm-nav a:hover::after,
.pgm-nav a[aria-current="page"]::after {
	opacity: 1;
	transform: none;
}

.pgm-actions {
	display: flex;
	align-items: center;
	gap: 16px;
	flex: none;
}

.pgm-search-toggle {
	background: none;
	border: none;
	cursor: pointer;
	color: var(--pgm-ink);
	padding: 4px;
	display: flex;
}

.pgm-search-toggle svg {
	width: 22px;
	height: 22px;
}

.pgm-cart {
	display: flex;
	align-items: center;
	gap: 9px;
	background: none;
	border: none;
	cursor: pointer;
	color: var(--pgm-ink);
	font-weight: 700;
	font-size: 14px;
}

.pgm-cart-icon {
	position: relative;
	display: flex;
}

.pgm-cart-icon svg {
	width: 26px;
	height: 26px;
}

.pgm-cart-count {
	position: absolute;
	top: -8px;
	right: -9px;
	background: var(--pgm-teal);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	min-width: 18px;
	height: 18px;
	border-radius: 9px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 4px;
}

.pgm-nav-toggle {
	display: none;
	flex-direction: column;
	gap: 5px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 8px;
}

.pgm-nav-toggle span {
	width: 24px;
	height: 2px;
	background: var(--pgm-ink);
	border-radius: 2px;
}

/* ---------- Search bar ---------- */
.pgm-search-bar {
	border-top: 1px solid var(--pgm-line);
	background: #fff;
	display: flex;
	gap: 10px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 14px 20px;
}

.pgm-search-bar[hidden] {
	display: none;
}

.pgm-search-bar input {
	flex: 1;
	padding: 12px 15px;
	border: 1px solid var(--pgm-line);
	border-radius: 10px;
	font-size: 15px;
}

.pgm-search-bar button {
	background: var(--pgm-teal);
	color: #fff;
	border: none;
	border-radius: 10px;
	padding: 0 24px;
	font-weight: 700;
	cursor: pointer;
}

/* ---------- Global button accents ---------- */
.checkout-link,
.support-button,
button.single_add_to_cart_button,
.woocommerce a.button,
.woocommerce button.button.alt {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: var(--pgm-teal);
	color: #fff;
	border: none;
	border-radius: 10px;
	padding: 13px 26px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	transition: background .15s;
}

.checkout-link:hover,
.support-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button.alt:hover {
	background: var(--pgm-teal-dark);
	color: #fff;
}

.secondary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #fff;
	color: var(--pgm-teal);
	border: 1.5px solid var(--pgm-teal);
	border-radius: 10px;
	padding: 12px 24px;
	font-weight: 700;
	text-decoration: none;
}

.section-cta {
	text-align: center;
	margin: 32px 0 8px;
}

/* ---------- Footer ---------- */
.pgm-footer {
	background: var(--pgm-navy);
	color: #a9bac9;
	margin-top: 56px;
	font-size: 13px;
}

.pgm-footer-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1.25fr;
	gap: 30px;
	padding: 36px 20px 26px;
}

.pgm-footer h3 {
	color: #fff;
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	margin: 0 0 12px;
}

.pgm-footer a {
	color: #a9bac9;
	text-decoration: none;
	transition: color .15s;
}

.pgm-footer a:hover {
	color: #fff;
}

.pgm-footer-col nav {
	display: flex;
	flex-direction: column;
	gap: 7px;
	font-size: 13px;
}

.pgm-brand--light .pgm-brand-text strong {
	color: #fff;
}

.pgm-brand--light .pgm-brand-mark {
	color: #fff;
}

.pgm-brand--light .pgm-brand-text small {
	color: #8ea3b6;
}

.pgm-footer-brand p {
	font-size: 13px;
	line-height: 1.65;
	margin: 12px 0 0;
}

.pgm-social {
	display: flex;
	gap: 8px;
	margin-top: 14px;
}

.pgm-social a {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .1);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
}

.pgm-social a:hover {
	background: var(--pgm-teal);
}

.pgm-footer-contact p {
	font-size: 13px;
	line-height: 1.55;
	margin: 0 0 8px;
}

.pgm-footer-accept {
	margin-top: 16px !important;
}

.pgm-pay {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}

.pgm-pay span {
	background: rgba(255, 255, 255, .95);
	color: var(--pgm-navy);
	font-size: 10px;
	font-weight: 800;
	padding: 4px 8px;
	border-radius: 5px;
	letter-spacing: .02em;
}

.pgm-footer-badges {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 14px;
	flex-wrap: wrap;
}

.pgm-footer-badges a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: rgba(255, 255, 255, .07);
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 8px;
	padding: 6px 11px;
	font-size: 12px;
	font-weight: 600;
	color: #dfe9f1;
}

.pgm-footer-badges a:hover {
	border-color: var(--pgm-teal);
	color: #fff;
}

.pgm-footer-badges .pgm-stars {
	font-size: 13px;
	letter-spacing: 1px;
}

.pgm-fhrs {
	flex-direction: column;
	align-items: flex-start;
	gap: 6px !important;
}

.pgm-fhrs-label {
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #cfe0ec;
}

.pgm-fhrs-scale {
	display: inline-flex;
	gap: 3px;
}

.pgm-fhrs-scale span {
	width: 20px;
	height: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 700;
	border-radius: 4px;
	background: rgba(255, 255, 255, .12);
	color: #9fb2c2;
}

.pgm-fhrs-scale span.is-active {
	background: #3aa356;
	color: #fff;
	box-shadow: 0 0 0 2px rgba(58, 163, 86, .35);
}

.pgm-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, .08);
	background: var(--pgm-navy-2);
}

.pgm-footer-bottom-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 20px;
	font-size: 12px;
	flex-wrap: wrap;
	gap: 8px;
}

.pgm-footer-bottom-inner p {
	margin: 0;
}

.pgm-footer-bottom nav {
	display: flex;
	gap: 18px;
}

/* ---------- WhatsApp float ---------- */
.pgm-whatsapp-float {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 60;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	background: #25d366;
	color: #fff;
	border-radius: 50%;
	box-shadow: 0 8px 24px rgba(37, 211, 102, .4);
	text-decoration: none;
	transition: transform .15s, background .15s;
}

.pgm-whatsapp-float svg {
	width: 28px;
	height: 28px;
}

.pgm-whatsapp-float span {
	display: none;
}

.pgm-whatsapp-float:hover {
	background: #1eb958;
	color: #fff;
	transform: scale(1.08);
}

/* ---------- Trust row + google bar (front page, restyled) ---------- */
.trust-row {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	background: var(--pgm-bg-soft);
	border: 1px solid var(--pgm-line);
	border-radius: var(--pgm-radius);
	padding: 6px;
}

.trust-row article {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 2px;
	padding: 18px 14px;
}

.trust-row article + article {
	border-left: 1px solid var(--pgm-line);
}

.trust-row article span {
	color: var(--pgm-teal);
	font-size: 13px;
}

.trust-row article strong {
	color: var(--pgm-ink);
	font-size: 15px;
}

.trust-row article p {
	color: var(--pgm-muted);
	font-size: 13px;
	margin: 0;
}

.trust-row article:nth-child(5) {
	display: none;
}

.google-trust-bar {
	max-width: 1200px;
	margin: 22px auto 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	flex-wrap: wrap;
	background: #fff;
	border: 1px solid var(--pgm-line);
	border-radius: 50px;
	padding: 14px 26px;
	box-shadow: var(--pgm-shadow);
}

.google-trust-bar .stars {
	color: var(--pgm-gold);
	letter-spacing: 2px;
}

.google-trust-bar strong {
	color: var(--pgm-ink);
}

.google-trust-bar a {
	color: var(--pgm-teal);
	font-weight: 700;
	text-decoration: none;
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.pgm-topbar-areas {
		display: none;
	}
	.pgm-nav a {
		font-size: 0;
		padding: 8px;
	}
	.pgm-nav a svg {
		width: 24px;
		height: 24px;
	}
}

@media (max-width: 900px) {
	.pgm-topbar-hours {
		display: none;
	}
	.pgm-nav-toggle {
		display: flex;
		margin-left: auto;
	}
	.pgm-actions {
		order: 3;
	}
	.pgm-nav {
		position: fixed;
		top: 0;
		left: 0;
		height: 100%;
		width: 82%;
		max-width: 320px;
		background: #fff;
		flex-direction: column;
		gap: 0;
		padding: 78px 18px 24px;
		transform: translateX(-100%);
		transition: transform .3s ease;
		box-shadow: 8px 0 40px rgba(13, 42, 68, .18);
		z-index: 80;
		overflow-y: auto;
		margin-left: 0;
	}
	.pgm-nav.open {
		transform: none;
	}
	.pgm-nav a {
		flex-direction: row;
		justify-content: flex-start;
		gap: 14px;
		font-size: 15.5px;
		padding: 14px 10px;
		border-bottom: 1px solid var(--pgm-line);
		width: 100%;
	}
	.pgm-nav a svg {
		width: 22px;
		height: 22px;
	}
	/* Below .pgm-header's z-index 50 — the drawer lives inside the header's
	   stacking context, so a higher backdrop would paint over the open menu. */
	.pgm-nav-backdrop {
		position: fixed;
		inset: 0;
		background: rgba(13, 42, 68, .5);
		z-index: 40;
		opacity: 0;
		visibility: hidden;
		transition: opacity .3s;
	}
	.pgm-nav-backdrop.show {
		opacity: 1;
		visibility: visible;
	}
	body.pgm-nav-open {
		overflow: hidden;
	}
	.pgm-footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 32px;
	}
	.trust-row {
		grid-template-columns: 1fr 1fr;
	}
	.trust-row article:nth-child(2n) {
		border-left: none;
	}
	.trust-row article {
		border-top: 1px solid var(--pgm-line);
	}
	.trust-row article:nth-child(1),
	.trust-row article:nth-child(2) {
		border-top: none;
	}
}

@media (max-width: 560px) {
	.pgm-header-inner {
		min-height: 66px;
		gap: 12px;
	}
	.pgm-cart-total {
		display: none;
	}
	.pgm-brand-text strong {
		font-size: 22px;
	}
	img.pgm-logo {
		height: 38px !important;
	}
	.pgm-footer-grid {
		grid-template-columns: 1fr;
	}
	.pgm-footer-bottom-inner {
		flex-direction: column;
		text-align: center;
	}
	.pgm-whatsapp-float {
		width: 52px;
		height: 52px;
		right: 14px;
		bottom: 14px;
	}
}

/* =========================================================================
   HOME PAGE (Phase B)
   ========================================================================= */
.pgm-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--pgm-teal);
	color: #fff;
	border: none;
	border-radius: 10px;
	padding: 14px 26px;
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
	cursor: pointer;
	transition: background .15s;
}

.pgm-btn:hover {
	background: var(--pgm-teal-dark);
	color: #fff;
}

.pgm-btn--ghost {
	background: transparent;
	color: var(--pgm-teal);
	border: 1.6px solid var(--pgm-teal);
}

.pgm-btn--ghost:hover {
	background: var(--pgm-teal);
	color: #fff;
}

.pgm-script {
	font-family: "Playfair Display", Georgia, serif;
	font-style: italic;
	text-transform: none;
	color: var(--pgm-teal);
	font-size: 20px;
	margin: 0 0 6px;
}

.pgm-script--light {
	color: #7fd3d8;
}

.pgm-section {
	padding: 58px 20px;
}

.pgm-section-head {
	text-align: center;
	margin-bottom: 38px;
}

.pgm-section-head h2 {
	font-size: 32px;
	margin: 0;
}

.pgm-section-head--row {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	text-align: left;
}

.pgm-viewall {
	color: var(--pgm-teal);
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

/* Hero — unified light style: white fade left, photo right, navy text.
   Same height on every page (home, shop, categories, delivery, cart, etc.). */
.pgm-hero {
	position: relative;
	background-size: cover;
	background-position: center right;
	min-height: 460px;
	display: flex;
	align-items: center;
}

.pgm-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, .96) 28%, rgba(255, 255, 255, .5) 52%, rgba(255, 255, 255, 0) 72%);
}

.pgm-hero-inner {
	position: relative;
	z-index: 1;
	width: 100%;
	padding: 64px 20px 72px;
}

.pgm-hero-copy {
	max-width: 560px;
}

.pgm-hero-copy h1 {
	font-size: 50px;
	line-height: 1.05;
	margin: 0 0 16px;
	color: var(--pgm-navy);
}

.pgm-hero-copy h1 span {
	color: var(--pgm-teal);
}

.pgm-hero-copy p {
	font-size: 17px;
	line-height: 1.65;
	color: var(--pgm-body);
	max-width: 460px;
	margin: 0 0 26px;
}

.pgm-hero-actions {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
}

.pgm-btn--light {
	background: #fff;
	color: var(--pgm-navy);
	border: 1.6px solid var(--pgm-navy);
}

.pgm-btn--light:hover {
	background: var(--pgm-navy);
	color: #fff;
}

/* Trust bar */
.pgm-trust {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	background: #fff;
	border: 1px solid var(--pgm-line);
	border-radius: var(--pgm-radius);
	box-shadow: var(--pgm-shadow);
	margin-top: -34px;
	position: relative;
	z-index: 2;
}

.pgm-trust article {
	display: flex;
	align-items: center;
	gap: 13px;
	padding: 22px 22px;
}

.pgm-trust article + article {
	border-left: 1px solid var(--pgm-line);
}

.pgm-trust svg {
	width: 30px;
	height: 30px;
	color: var(--pgm-teal);
	flex: none;
}

.pgm-trust strong {
	display: block;
	font-family: var(--pgm-display);
	font-size: 15px;
	color: var(--pgm-ink);
}

.pgm-trust span {
	font-size: 13px;
	color: var(--pgm-muted);
}

/* Category cards */
.pgm-cat-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 22px;
}

.pgm-cat-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--pgm-line);
	border-radius: var(--pgm-radius);
	overflow: hidden;
	text-decoration: none;
	box-shadow: var(--pgm-shadow);
	transition: transform .15s, box-shadow .15s;
}

.pgm-cat-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(13, 42, 68, .13);
}

.pgm-cat-media {
	height: 172px;
	background: var(--pgm-bg-soft);
	overflow: hidden;
}

.pgm-cat-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pgm-cat-body {
	padding: 18px 20px 22px;
}

.pgm-cat-body h3 {
	margin: 0 0 6px;
	font-size: 18px;
	text-transform: none;
}

.pgm-cat-body p {
	margin: 0 0 12px;
	font-size: 14px;
	color: var(--pgm-muted);
}

.pgm-cat-link {
	color: var(--pgm-teal);
	font-weight: 700;
	font-size: 14px;
}

/* Featured products */
.pgm-prod-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 18px;
}

.pgm-prod-card {
	background: #fff;
	border: 1px solid var(--pgm-line);
	border-radius: var(--pgm-radius);
	overflow: hidden;
	box-shadow: var(--pgm-shadow);
	transition: transform .15s;
}

.pgm-prod-card:hover {
	transform: translateY(-3px);
}

.pgm-prod-media {
	display: block;
	position: relative;
	height: 168px;
	overflow: hidden;
	background: var(--pgm-bg-soft);
}

.pgm-prod-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pgm-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	font-size: 11px;
	font-weight: 700;
	color: #fff;
	padding: 4px 10px;
	border-radius: 20px;
	z-index: 1;
}

.pgm-badge--today {
	background: var(--pgm-green);
}

.pgm-badge--fresh {
	background: var(--pgm-teal);
}

.pgm-badge--limited {
	background: var(--pgm-amber);
}

.pgm-prod-body {
	padding: 14px 16px 16px;
}

.pgm-prod-body h3 {
	font-family: var(--pgm-sans);
	font-size: 15px;
	font-weight: 700;
	text-transform: none;
	margin: 0 0 10px;
}

.pgm-prod-body h3 a {
	color: var(--pgm-ink);
	text-decoration: none;
}

.pgm-prod-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.pgm-prod-price {
	color: var(--pgm-ink);
	font-weight: 800;
	font-size: 16px;
}

.pgm-prod-price small {
	color: var(--pgm-muted);
	font-weight: 600;
	font-size: 12px;
}

.pgm-prod-add {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 9px;
	background: var(--pgm-navy);
	color: #fff;
	flex: none;
}

.pgm-prod-add:hover {
	background: var(--pgm-teal);
}

.pgm-prod-add svg {
	width: 18px;
	height: 18px;
}

/* How it works */
.pgm-steps-wrap {
	background: var(--pgm-bg-soft);
	padding: 58px 0;
}

.pgm-steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

.pgm-step {
	text-align: center;
	padding: 0 10px;
}

.pgm-step-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid var(--pgm-teal);
	color: var(--pgm-teal);
	font-family: var(--pgm-display);
	font-size: 22px;
	font-weight: 700;
	margin-bottom: 16px;
}

.pgm-step strong {
	display: block;
	color: var(--pgm-ink);
	font-size: 16px;
	margin-bottom: 6px;
}

.pgm-step p {
	font-size: 14px;
	color: var(--pgm-muted);
	margin: 0;
}

/* About panel */
.pgm-about {
	background: var(--pgm-navy);
	color: #cdd9e5;
}

.pgm-about-inner {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 44px;
	align-items: center;
	padding: 58px 20px;
}

.pgm-about-copy h2 {
	color: #fff;
	font-size: 32px;
	margin: 6px 0 16px;
}

.pgm-about-copy > p {
	font-size: 16px;
	line-height: 1.7;
	color: #c4d2df;
	margin: 0 0 24px;
}

.pgm-about-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin-bottom: 26px;
}

.pgm-about-stats strong {
	display: block;
	font-family: var(--pgm-display);
	font-size: 15px;
	color: #fff;
}

.pgm-about-stats span {
	font-size: 13px;
	color: #9fb2c2;
}

.pgm-about-media img {
	width: 100%;
	height: 320px;
	object-fit: cover;
	border-radius: 16px;
}

/* Reviews */
.pgm-reviews {
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	gap: 32px;
	align-items: center;
}

.pgm-google-card {
	background: #fff;
	border: 1px solid var(--pgm-line);
	border-radius: var(--pgm-radius);
	box-shadow: var(--pgm-shadow);
	padding: 32px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

.pgm-google-word {
	font-weight: 700;
	font-size: 22px;
	letter-spacing: 1px;
}

.pgm-google-word b:nth-child(1) { color: #4285F4; }
.pgm-google-word b:nth-child(2) { color: #EA4335; }
.pgm-google-word b:nth-child(3) { color: #FBBC05; }
.pgm-google-word b:nth-child(4) { color: #4285F4; }
.pgm-google-word b:nth-child(5) { color: #34A853; }
.pgm-google-word b:nth-child(6) { color: #EA4335; }

.pgm-google-score {
	font-family: var(--pgm-display);
	font-size: 42px;
	color: var(--pgm-ink);
	line-height: 1;
}

.pgm-stars {
	color: var(--pgm-gold);
	font-size: 20px;
	letter-spacing: 2px;
}

.pgm-google-count {
	color: var(--pgm-muted);
	font-size: 14px;
	margin-bottom: 6px;
}

.pgm-review-points {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.pgm-review-points li {
	position: relative;
	padding-left: 30px;
	font-weight: 600;
	color: var(--pgm-ink);
	line-height: 1.4;
}

.pgm-review-points li::before {
	content: "\2713";
	position: absolute;
	left: 0;
	top: 1px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--pgm-teal);
	color: #fff;
	font-size: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Newsletter */
.pgm-newsletter {
	background: var(--pgm-navy-2);
	color: #fff;
}

.pgm-newsletter-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	padding: 42px 20px;
	flex-wrap: wrap;
}

.pgm-newsletter h2 {
	color: #fff;
	font-size: 26px;
	margin: 0 0 6px;
}

.pgm-newsletter p {
	color: #b8c6d4;
	margin: 0;
}

.pgm-newsletter-form {
	display: flex;
	gap: 10px;
	flex: 1;
	min-width: 280px;
	max-width: 520px;
}

.pgm-newsletter-form input {
	flex: 1;
	padding: 14px 16px;
	border: none;
	border-radius: 10px;
	font-size: 15px;
}

.pgm-newsletter-form button {
	background: var(--pgm-teal);
	color: #fff;
	border: none;
	border-radius: 10px;
	padding: 0 26px;
	font-weight: 700;
	cursor: pointer;
}

.pgm-newsletter-done {
	color: #7fe0a6;
	font-weight: 600;
}

/* =========================================================================
   SHOP ARCHIVES (Phase C)
   ========================================================================= */
.pgm-page-hero {
	position: relative;
	background-size: cover;
	background-position: center right;
	min-height: 460px;
	display: flex;
	align-items: center;
}

.pgm-page-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, .96) 28%, rgba(255, 255, 255, .5) 52%, rgba(255, 255, 255, 0) 72%);
}

.pgm-page-hero-inner {
	position: relative;
	z-index: 1;
	width: 100%;
	padding: 56px 20px 60px;
}

.pgm-page-hero--slim {
	min-height: 0;
	display: block;
}

.pgm-page-hero--slim .pgm-page-hero-inner {
	padding: 18px 20px 20px;
}

.pgm-page-hero h1 {
	color: var(--pgm-navy);
	font-size: 42px;
	margin: 10px 0 12px;
	max-width: 620px;
}

.pgm-page-hero h1 span {
	color: var(--pgm-teal);
}

.pgm-page-hero p {
	color: var(--pgm-body);
	margin: 0;
	max-width: 470px;
	font-size: 16.5px;
	line-height: 1.6;
}

.pgm-page-hero .pgm-hero-actions {
	margin-top: 24px;
}

.pgm-crumbs,
.pgm-crumbs a {
	color: var(--pgm-muted);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}

.pgm-crumbs a:hover {
	color: var(--pgm-teal);
}

.pgm-crumbs span {
	opacity: .6;
	margin: 0 2px;
}

/* Feature band — translucent navy strip overlapping the hero bottom */
.pgm-trustband {
	position: relative;
	z-index: 2;
	margin-top: 0;
	background: #0b2239;
}

.pgm-trustband-inner {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	padding: 11px 20px;
}

.pgm-trustband article {
	display: flex;
	align-items: center;
	gap: 12px;
	justify-content: center;
	padding: 2px 10px;
}

.pgm-trustband article + article {
	border-left: 1px solid rgba(255, 255, 255, .22);
}

.pgm-tb-icon {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1.5px solid rgba(255, 255, 255, .85);
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	color: #fff;
}

.pgm-tb-icon svg {
	width: 20px;
	height: 20px;
}

.pgm-trustband strong {
	display: block;
	font-family: var(--pgm-display);
	font-size: 13px;
	line-height: 1.18;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: .04em;
	max-width: 170px;
}

.pgm-trustband em {
	display: block;
	font-style: normal;
	font-size: 11.5px;
	font-weight: 600;
	color: #6fdc9a;
	margin-top: 2px;
}

/* balanced hero bottom spacing (band sits flush below the hero) */
.pgm-hero-inner {
	padding-bottom: 76px;
}

.pgm-page-hero-inner {
	padding-bottom: 68px;
}

.pgm-cart-hero-inner {
	padding-bottom: 68px;
}

/* Wishlist heart */
.pgm-wish {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: none;
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 2px 8px rgba(13, 42, 68, .16);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: #8fa1b3;
	transition: color .15s, transform .1s;
}

.pgm-wish svg {
	width: 17px;
	height: 17px;
}

.pgm-wish:hover {
	color: #e0475b;
	transform: scale(1.08);
}

.pgm-wish.is-saved {
	color: #e0475b;
}

.pgm-wish.is-saved svg {
	fill: #e0475b;
}

/* Layout */
.pgm-shop-layout {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: 30px;
	padding-top: 36px;
	padding-bottom: 20px;
	align-items: start;
}

/* Sidebar */
.pgm-side-block {
	background: #fff;
	border: 1px solid var(--pgm-line);
	border-radius: var(--pgm-radius);
	padding: 20px;
	margin-bottom: 18px;
	box-shadow: var(--pgm-shadow);
}

.pgm-side-block h3 {
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	margin: 0 0 14px;
}

.pgm-side-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.pgm-side-list a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 11px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--pgm-body);
	text-decoration: none;
}

.pgm-side-list a span {
	font-size: 12px;
	color: var(--pgm-muted);
	background: var(--pgm-bg-soft);
	border-radius: 12px;
	padding: 1px 8px;
}

.pgm-side-list a:hover {
	background: var(--pgm-bg-soft);
	color: var(--pgm-ink);
}

.pgm-side-list .is-current a {
	background: rgba(26, 143, 150, .1);
	color: var(--pgm-teal);
}

.pgm-side-list .is-current a span {
	background: var(--pgm-teal);
	color: #fff;
}

.pgm-side-help p {
	font-size: 13px;
	color: var(--pgm-muted);
	margin: 0 0 10px;
}

.pgm-side-help a {
	color: var(--pgm-teal);
	font-weight: 700;
	text-decoration: none;
	font-size: 14px;
}

/* Price filter widget */
.pgm-side-block .widget-title,
.pgm-side-block .widgettitle {
	display: none;
}

.pgm-side-block .widget_price_filter .price_slider_wrapper {
	margin-top: 6px;
}

.pgm-side-block .widget_price_filter .ui-slider {
	position: relative;
	height: 5px !important;
	background: var(--pgm-line) !important;
	border-radius: 3px;
	margin: 18px 8px 22px;
}

.pgm-side-block .widget_price_filter .ui-slider .ui-slider-range {
	position: absolute;
	height: 100% !important;
	background: var(--pgm-teal) !important;
	border-radius: 3px;
}

.pgm-side-block .widget_price_filter .ui-slider .ui-slider-handle {
	position: absolute;
	top: -6px !important;
	width: 16px !important;
	height: 16px !important;
	margin-left: -8px;
	background: #fff !important;
	border: 2.5px solid var(--pgm-teal) !important;
	border-radius: 50%;
	cursor: grab;
}

.pgm-side-block .widget_price_filter .price_slider_amount {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	font-size: 13px;
}

.pgm-side-block .widget_price_filter .button {
	background: var(--pgm-navy);
	color: #fff;
	border: none;
	border-radius: 8px;
	padding: 8px 16px;
	font-weight: 700;
	font-size: 13px;
	cursor: pointer;
}

.pgm-side-block .widget_price_filter .button:hover {
	background: var(--pgm-teal);
}

/* Main loop shell */
.pgm-wc-shell {
	padding: 0;
}

.pgm-shop-main .woocommerce-notices-wrapper:empty {
	display: none;
}

.pgm-shop-main .woocommerce-result-count {
	float: none;
	display: inline-block;
	color: var(--pgm-muted);
	font-size: 14px;
	margin: 0;
}

.pgm-shop-main .woocommerce-ordering {
	float: none;
	margin: 0;
}

.pgm-shop-main .woocommerce-ordering select {
	padding: 10px 14px;
	border: 1px solid var(--pgm-line);
	border-radius: 9px;
	font-size: 14px;
	color: var(--pgm-ink);
	background: #fff;
}

.pgm-shop-main {
	position: relative;
}

.pgm-shop-main .woocommerce-ordering {
	position: absolute;
	top: -8px;
	right: 0;
}

.pgm-shop-main .woocommerce-result-count {
	margin-bottom: 18px;
}

/* Product grid cards */
.pgm-shop-main ul.products {
	list-style: none;
	margin: 6px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.pgm-shop-main ul.products::before,
.pgm-shop-main ul.products::after {
	display: none;
}

.pgm-shop-main ul.products li.product {
	width: auto;
	float: none;
	margin: 0;
	position: relative;
	background: #fff;
	border: 1px solid var(--pgm-line);
	border-radius: var(--pgm-radius);
	overflow: hidden;
	box-shadow: var(--pgm-shadow);
	transition: transform .15s, box-shadow .15s;
	padding: 0 0 60px;
}

.pgm-shop-main ul.products li.product:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 40px rgba(13, 42, 68, .13);
}

.pgm-shop-main ul.products li.product a.woocommerce-LoopProduct-link {
	display: block;
	text-decoration: none;
}

.pgm-shop-main ul.products li.product img {
	width: 100%;
	height: 185px;
	object-fit: cover;
	display: block;
	margin: 0;
}

.pgm-shop-main ul.products li.product .pgm-badge {
	top: 10px;
	left: 10px;
}

.pgm-shop-main ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--pgm-sans);
	font-size: 15px;
	font-weight: 700;
	color: var(--pgm-ink);
	text-transform: none;
	padding: 14px 16px 4px;
	margin: 0;
}

.pgm-shop-main ul.products li.product .price {
	display: block;
	padding: 0 16px;
	color: var(--pgm-ink);
	font-weight: 800;
	font-size: 16px;
}

.pgm-shop-main ul.products li.product .price::after {
	content: " /kg";
	color: var(--pgm-muted);
	font-weight: 600;
	font-size: 12px;
}

.pgm-shop-main ul.products li.product .pgm-prod-add {
	position: absolute;
	right: 14px;
	bottom: 14px;
}

.pgm-shop-main ul.products li.product .onsale {
	display: none;
}

/* Pagination */
.pgm-shop-main .woocommerce-pagination {
	text-align: center;
	margin: 30px 0 10px;
}

.pgm-shop-main .woocommerce-pagination ul {
	display: inline-flex;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
	border: none;
}

.pgm-shop-main .woocommerce-pagination li {
	border: none;
	float: none;
}

.pgm-shop-main .woocommerce-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 6px;
	border-radius: 9px;
	border: 1px solid var(--pgm-line);
	background: #fff;
	color: var(--pgm-ink);
	font-weight: 700;
	text-decoration: none;
}

.pgm-shop-main .woocommerce-pagination .page-numbers.current,
.pgm-shop-main .woocommerce-pagination .page-numbers:hover {
	background: var(--pgm-teal);
	border-color: var(--pgm-teal);
	color: #fff;
}

/* Help strip */
.pgm-help-strip {
	margin: 28px 0 0;
}

.pgm-help-strip-inner {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	background: var(--pgm-bg-soft);
	border: 1px solid var(--pgm-line);
	border-radius: var(--pgm-radius);
	padding: 22px;
}

.pgm-help-strip article {
	display: flex;
	gap: 13px;
	align-items: flex-start;
}

.pgm-help-strip svg {
	width: 26px;
	height: 26px;
	color: var(--pgm-teal);
	flex: none;
	margin-top: 3px;
}

.pgm-help-strip strong {
	display: block;
	color: var(--pgm-ink);
	font-size: 15px;
	margin-bottom: 3px;
}

.pgm-help-strip p {
	font-size: 13px;
	color: var(--pgm-muted);
	margin: 0;
}

.pgm-help-strip a {
	color: var(--pgm-teal);
	font-weight: 700;
	text-decoration: none;
}

.pgm-single-wrap {
	padding-top: 30px;
}

/* =========================================================================
   CONTENT PAGES / CATEGORIES / DELIVERY / PDP
   ========================================================================= */
.pgm-page-body {
	background: #fff;
	border: 1px solid var(--pgm-line);
	border-radius: var(--pgm-radius);
	box-shadow: var(--pgm-shadow);
	padding: 34px 38px;
	max-width: 860px;
	margin: 0 auto;
	line-height: 1.7;
	font-size: 15.5px;
}

.pgm-page-body .eyebrow {
	color: var(--pgm-teal);
	font-weight: 800;
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	margin: 0 0 6px;
}

.pgm-page-body h2 {
	font-size: 24px;
	margin: 0 0 14px;
}

.pgm-page-body h3 {
	font-size: 17px;
	margin: 24px 0 8px;
}

.pgm-page-body ul {
	padding-left: 0;
	list-style: none;
}

.pgm-page-body ul li {
	position: relative;
	padding-left: 20px;
	margin-bottom: 7px;
}

.pgm-page-body ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--pgm-teal);
}

.pgm-page-body a {
	color: var(--pgm-teal);
	font-weight: 600;
}

/* Categories page */
.pgm-cat-grid--page .pgm-cat-media img {
	height: 210px;
}

.pgm-cat-media--all {
	height: 210px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--pgm-navy), var(--pgm-teal));
}

.pgm-cat-media--all svg {
	width: 64px;
	height: 64px;
	color: rgba(255, 255, 255, .9);
}

/* WhatsApp band */
.pgm-wa-band {
	margin-top: 34px;
	background: var(--pgm-navy);
	border-radius: var(--pgm-radius);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	padding: 26px 32px;
}

.pgm-wa-band strong {
	font-family: var(--pgm-display);
	text-transform: uppercase;
	font-size: 19px;
	display: block;
	margin-bottom: 4px;
}

.pgm-wa-band p {
	margin: 0;
	color: #b8c6d4;
	font-size: 14px;
}

.pgm-wa-btn {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	background: #25d366;
	color: #fff;
	font-weight: 700;
	padding: 13px 22px;
	border-radius: 50px;
	text-decoration: none;
}

.pgm-wa-btn:hover {
	background: #1eb958;
	color: #fff;
}

/* Delivery option cards */
.pgm-del-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.pgm-del-card {
	background: #fff;
	border: 1px solid var(--pgm-line);
	border-radius: var(--pgm-radius);
	box-shadow: var(--pgm-shadow);
	padding: 24px 20px;
	display: flex;
	flex-direction: column;
}

.pgm-del-icon {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: rgba(26, 143, 150, .1);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 14px;
}

.pgm-del-icon svg {
	width: 25px;
	height: 25px;
	color: var(--pgm-teal);
}

.pgm-del-card h3 {
	font-size: 16.5px;
	margin: 0 0 8px;
}

.pgm-del-card p {
	font-size: 13.5px;
	color: var(--pgm-muted);
	line-height: 1.6;
	margin: 0 0 14px;
	flex: 1;
}

.pgm-del-fee {
	background: var(--pgm-bg-soft);
	border: 1px solid var(--pgm-line);
	border-radius: 10px;
	padding: 10px 14px;
	text-align: center;
	margin-bottom: 10px;
}

.pgm-del-fee span {
	display: block;
	font-size: 11.5px;
	color: var(--pgm-muted);
	letter-spacing: .04em;
}

.pgm-del-fee strong {
	color: var(--pgm-ink);
	font-size: 14.5px;
}

.pgm-del-card small {
	font-size: 12px;
	color: var(--pgm-muted);
	line-height: 1.5;
}

.pgm-del-note {
	margin-top: 26px;
}

/* Single product (PDP) polish */
.pgm-single-wrap div.product {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 40px;
	align-items: start;
}

.pgm-single-wrap div.product .woocommerce-product-gallery {
	width: 100% !important;
	float: none;
}

.pgm-single-wrap div.product .woocommerce-product-gallery img {
	border-radius: var(--pgm-radius);
}

.pgm-single-wrap div.product .entry-summary {
	width: 100% !important;
	float: none;
	background: #fff;
	border: 1px solid var(--pgm-line);
	border-radius: var(--pgm-radius);
	box-shadow: var(--pgm-shadow);
	padding: 28px 30px;
}

.pgm-single-wrap .product_title {
	font-size: 30px;
	margin: 0 0 8px;
}

.pgm-single-wrap div.product p.price {
	color: var(--pgm-ink);
	font-weight: 800;
	font-size: 24px;
}

.pgm-single-wrap div.product p.price::after {
	content: " /kg";
	color: var(--pgm-muted);
	font-size: 14px;
	font-weight: 600;
}

.pgm-single-wrap div.product form.cart {
	margin: 18px 0;
}

.pgm-single-wrap div.product form.cart .quantity .qty {
	padding: 11px;
	border: 1px solid var(--pgm-line);
	border-radius: 10px;
	width: 70px;
	text-align: center;
	font-weight: 700;
}

.pgm-single-wrap div.product select,
.pgm-single-wrap div.product form.cart input[type="text"] {
	padding: 11px 13px;
	border: 1px solid var(--pgm-line);
	border-radius: 10px;
}

.pgm-pdp-opts {
	background: var(--pgm-bg-soft);
	border: 1px solid var(--pgm-line);
	border-radius: 12px;
	padding: 18px;
	margin: 0 0 18px;
}

.pgm-pdp-fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

.pgm-pdp-field label {
	display: block;
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--pgm-muted);
	margin-bottom: 6px;
}

.pgm-pdp-field select {
	width: 100%;
	background: #fff;
	font-weight: 600;
	color: var(--pgm-ink);
}

.pgm-pdp-note {
	font-size: 12.5px;
	color: var(--pgm-muted);
	line-height: 1.55;
	margin: 12px 0 8px;
}

.pgm-pdp-estimate {
	margin: 0;
	font-size: 14px;
	color: var(--pgm-body);
}

.pgm-pdp-estimate strong {
	color: var(--pgm-teal);
	font-size: 18px;
}

.pgm-single-wrap .product_meta {
	font-size: 13px;
	color: var(--pgm-muted);
	border-top: 1px solid var(--pgm-line);
	padding-top: 14px;
	margin-top: 16px;
}

.pgm-single-wrap .product_meta a {
	color: var(--pgm-teal);
	text-decoration: none;
}

.pgm-single-wrap .woocommerce-tabs {
	grid-column: 1 / -1;
}

.pgm-single-wrap .woocommerce-tabs ul.tabs {
	list-style: none;
	display: flex;
	gap: 4px;
	padding: 0;
	margin: 24px 0 0;
	border-bottom: 1px solid var(--pgm-line);
}

.pgm-single-wrap .woocommerce-tabs ul.tabs::before,
.pgm-single-wrap .woocommerce-tabs ul.tabs::after {
	display: none;
}

.pgm-single-wrap .woocommerce-tabs ul.tabs li {
	background: none;
	border: none;
	margin: 0;
	padding: 0;
	border-radius: 0;
}

.pgm-single-wrap .woocommerce-tabs ul.tabs li a {
	display: inline-block;
	padding: 11px 18px;
	font-weight: 700;
	color: var(--pgm-muted);
	text-decoration: none;
	border-bottom: 3px solid transparent;
}

.pgm-single-wrap .woocommerce-tabs ul.tabs li.active a {
	color: var(--pgm-teal);
	border-bottom-color: var(--pgm-teal);
}

.pgm-single-wrap .woocommerce-tabs .panel {
	padding: 20px 4px;
}

.pgm-single-wrap .related.products,
.pgm-single-wrap .upsells.products {
	grid-column: 1 / -1;
	margin-top: 26px;
}

.pgm-single-wrap .related.products > h2,
.pgm-single-wrap .upsells.products > h2 {
	font-size: 22px;
	margin-bottom: 16px;
}

.pgm-single-wrap ul.products {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.pgm-single-wrap ul.products::before,
.pgm-single-wrap ul.products::after {
	display: none;
}

.pgm-single-wrap ul.products li.product {
	width: auto;
	float: none;
	margin: 0;
	position: relative;
	background: #fff;
	border: 1px solid var(--pgm-line);
	border-radius: var(--pgm-radius);
	overflow: hidden;
	box-shadow: var(--pgm-shadow);
	padding: 0 0 56px;
}

.pgm-single-wrap ul.products li.product img {
	width: 100%;
	height: 160px;
	object-fit: cover;
	display: block;
	margin: 0;
}

.pgm-single-wrap ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--pgm-sans);
	font-size: 14.5px;
	font-weight: 700;
	color: var(--pgm-ink);
	padding: 12px 14px 2px;
	margin: 0;
}

.pgm-single-wrap ul.products li.product .price {
	display: block;
	padding: 0 14px;
	color: var(--pgm-ink);
	font-weight: 800;
}

.pgm-single-wrap ul.products li.product .pgm-prod-add {
	position: absolute;
	right: 12px;
	bottom: 12px;
}

.pgm-single-wrap ul.products li.product .pgm-badge {
	top: 10px;
	left: 10px;
}

/* =========================================================================
   CART
   ========================================================================= */
.pgm-cart-hero {
	position: relative;
	background: none;
}

.pgm-cart-hero::before {
	display: none;
}

.pgm-cart-hero-inner {
	position: relative;
	z-index: 1;
	width: 100%;
	padding: 46px 20px 6px;
	text-align: center;
}

.pgm-eyebrow {
	color: var(--pgm-teal);
	font-weight: 800;
	font-size: 12.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	margin: 0 0 10px;
}

.pgm-cart-hero h1 {
	font-size: 42px;
	line-height: 1.08;
	margin: 10px 0 12px;
	color: var(--pgm-navy);
}

.pgm-cart-hero-copy { max-width: 620px; margin: 0 auto; }

.pgm-cart-hero h1 span {
	display: inline;
	color: var(--pgm-teal);
}

.pgm-cart-hero-copy {
	color: var(--pgm-body);
	font-size: 16px;
	line-height: 1.65;
	margin: 0;
}

/* Layout: cart form left, totals right */
.pgm-cart-wrap {
	padding-top: 34px;
	padding-bottom: 10px;
}

.pgm-cart-wrap .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 30px;
	align-items: start;
}

.pgm-cart-wrap .woocommerce-notices-wrapper,
.pgm-cart-wrap > .woocommerce > .woocommerce-message,
.pgm-cart-wrap > .woocommerce > .woocommerce-info {
	grid-column: 1 / -1;
}

.pgm-cart-wrap .woocommerce-cart-form {
	background: #fff;
	border: 1px solid var(--pgm-line);
	border-radius: var(--pgm-radius);
	box-shadow: var(--pgm-shadow);
	padding: 24px 26px;
}

.pgm-cart-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 14px;
}

.pgm-cart-head h2 {
	font-size: 19px;
	margin: 0;
}

.pgm-cart-head h2 span {
	color: var(--pgm-muted);
	font-family: var(--pgm-sans);
	font-size: 14px;
	font-weight: 600;
	text-transform: none;
}

.pgm-cart-head a {
	color: var(--pgm-teal);
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
}

/* Cart table */
.pgm-cart-wrap table.shop_table {
	width: 100%;
	border: none;
	border-collapse: collapse;
	margin: 0;
}

.pgm-cart-wrap table.shop_table th {
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--pgm-muted);
	border-bottom: 1px solid var(--pgm-line);
	padding: 8px 10px;
	text-align: left;
	background: none;
}

.pgm-cart-wrap table.shop_table td {
	border: none;
	border-bottom: 1px solid var(--pgm-line);
	padding: 16px 10px;
	vertical-align: middle;
	background: none;
}

.pgm-cart-wrap td.product-thumbnail {
	width: 86px;
}

.pgm-cart-wrap td.product-thumbnail img {
	width: 72px;
	height: 72px;
	object-fit: cover;
	border-radius: 12px;
	display: block;
}

.pgm-cart-wrap td.product-name {
	font-weight: 700;
}

.pgm-cart-wrap td.product-name a {
	color: var(--pgm-ink);
	text-decoration: none;
	font-size: 15px;
}

.pgm-cart-wrap td.product-name .variation {
	margin: 4px 0 0;
	font-size: 12.5px;
	color: var(--pgm-muted);
	font-weight: 500;
}

.pgm-cart-wrap td.product-name .variation dt,
.pgm-cart-wrap td.product-name .variation dd {
	display: inline;
	margin: 0;
	padding: 0;
	border: none;
	float: none;
}

.pgm-cart-stock {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-top: 6px;
	color: var(--pgm-green);
	font-size: 12.5px;
	font-weight: 700;
}

.pgm-cart-wrap td.product-price,
.pgm-cart-wrap td.product-subtotal {
	font-weight: 800;
	color: var(--pgm-ink);
	white-space: nowrap;
}

/* Quantity stepper */
.pgm-cart-wrap .quantity {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--pgm-line);
	border-radius: 10px;
	overflow: hidden;
}

.pgm-cart-wrap .quantity .pgm-step {
	width: 34px;
	height: 38px;
	border: none;
	background: #fff;
	color: var(--pgm-ink);
	font-size: 17px;
	font-weight: 700;
	cursor: pointer;
}

.pgm-cart-wrap .quantity .pgm-step:hover {
	background: var(--pgm-bg-soft);
}

.pgm-cart-wrap .quantity input.qty {
	width: 44px;
	height: 38px;
	border: none;
	border-left: 1px solid var(--pgm-line);
	border-right: 1px solid var(--pgm-line);
	text-align: center;
	font-weight: 700;
	font-size: 14px;
	-moz-appearance: textfield;
}

.pgm-cart-wrap .quantity input.qty::-webkit-outer-spin-button,
.pgm-cart-wrap .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Remove */
.pgm-cart-wrap td.product-remove {
	width: 40px;
}

.pgm-cart-wrap td.product-remove a.remove {
	width: 32px;
	height: 32px;
	line-height: 30px;
	border-radius: 50%;
	color: #9aa9b8 !important;
	background: var(--pgm-bg-soft);
	font-size: 20px;
	font-weight: 500;
	text-align: center;
	display: inline-block;
}

.pgm-cart-wrap td.product-remove a.remove:hover {
	background: #fdecee;
	color: #e0475b !important;
}

/* Coupon + update row */
.pgm-cart-wrap td.actions {
	padding-top: 18px;
	border-bottom: none;
}

.pgm-cart-wrap td.actions .coupon {
	display: inline-flex;
	gap: 8px;
	float: none;
}

.pgm-cart-wrap td.actions .coupon .input-text {
	width: 170px;
	padding: 10px 13px;
	border: 1px solid var(--pgm-line);
	border-radius: 9px;
	font-size: 14px;
}

.pgm-cart-wrap td.actions .button {
	background: var(--pgm-navy);
	color: #fff;
	border: none;
	border-radius: 9px;
	padding: 11px 18px;
	font-weight: 700;
	font-size: 13.5px;
	cursor: pointer;
}

.pgm-cart-wrap td.actions .button:hover {
	background: var(--pgm-teal);
}

.pgm-cart-wrap td.actions .button:disabled {
	background: var(--pgm-bg-soft);
	color: var(--pgm-muted);
}

.pgm-cart-wrap button[name="update_cart"] {
	float: right;
}

/* Totals card */
.pgm-cart-wrap .cart-collaterals .cart_totals {
	width: 100%;
	float: none;
	background: #fff;
	border: 1px solid var(--pgm-line);
	border-radius: var(--pgm-radius);
	box-shadow: var(--pgm-shadow);
	padding: 24px 26px;
}

.pgm-cart-wrap .cart_totals h2 {
	font-size: 19px;
	margin: 0 0 16px;
}

.pgm-cart-wrap .cart_totals table.shop_table td,
.pgm-cart-wrap .cart_totals table.shop_table th {
	border: none;
	padding: 9px 0;
	text-transform: none;
	letter-spacing: 0;
}

.pgm-cart-wrap .cart_totals table.shop_table th {
	font-size: 14px;
	color: var(--pgm-body);
	font-weight: 600;
	width: 50%;
}

.pgm-cart-wrap .cart_totals table.shop_table td {
	text-align: right;
	font-weight: 700;
	color: var(--pgm-ink);
}

.pgm-cart-wrap .cart_totals .order-total th,
.pgm-cart-wrap .cart_totals .order-total td {
	border-top: 1px solid var(--pgm-line);
	padding-top: 14px;
	font-size: 17px;
}

.pgm-cart-wrap .wc-proceed-to-checkout {
	padding: 8px 0 0;
}

.pgm-cart-wrap .wc-proceed-to-checkout a.checkout-button {
	width: 100%;
	text-align: center;
	font-size: 15.5px;
	padding: 15px 20px;
	margin: 0;
}

.pgm-cart-assure {
	margin-top: 20px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.pgm-cart-assure > div {
	display: flex;
	gap: 11px;
	align-items: flex-start;
}

.pgm-cart-assure svg {
	width: 21px;
	height: 21px;
	color: var(--pgm-teal);
	flex: none;
	margin-top: 2px;
}

.pgm-cart-assure span {
	font-size: 13px;
	color: var(--pgm-muted);
	line-height: 1.5;
}

.pgm-cart-assure strong {
	display: block;
	color: var(--pgm-ink);
	font-size: 13.5px;
}

.pgm-cart-assure a {
	color: var(--pgm-teal);
	font-weight: 700;
	text-decoration: none;
}

/* Empty cart */
.pgm-cart-wrap .wc-empty-cart-message {
	grid-column: 1 / -1;
	text-align: center;
	background: #fff;
	border: 1px solid var(--pgm-line);
	border-radius: var(--pgm-radius);
	box-shadow: var(--pgm-shadow);
	padding: 44px 20px 10px;
	margin: 0;
}

.pgm-cart-wrap .wc-empty-cart-message .cart-empty {
	font-size: 19px;
	color: var(--pgm-ink);
	font-weight: 700;
	margin: 0;
}

.pgm-cart-wrap .return-to-shop {
	grid-column: 1 / -1;
	text-align: center;
	background: #fff;
	border: 1px solid var(--pgm-line);
	border-top: none;
	border-radius: 0 0 var(--pgm-radius) var(--pgm-radius);
	margin-top: -30px;
	padding: 0 20px 40px;
}

/* Thank-you band */
.pgm-thanks {
	margin-top: 34px;
}

.pgm-thanks-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 26px;
	flex-wrap: wrap;
	background: var(--pgm-bg-soft);
	border: 1px solid var(--pgm-line);
	border-radius: var(--pgm-radius);
	padding: 24px 28px;
}

.pgm-thanks-copy {
	display: flex;
	gap: 15px;
	align-items: center;
}

.pgm-thanks-copy svg {
	width: 40px;
	height: 40px;
	color: var(--pgm-teal);
	flex: none;
}

.pgm-thanks-copy strong {
	display: block;
	font-family: var(--pgm-display);
	text-transform: uppercase;
	color: var(--pgm-ink);
	font-size: 17px;
	margin-bottom: 4px;
}

.pgm-thanks-copy p {
	margin: 0;
	font-size: 14px;
	color: var(--pgm-muted);
}

.pgm-thanks-points {
	display: flex;
	gap: 26px;
}

.pgm-thanks-points > div {
	display: flex;
	align-items: center;
	gap: 10px;
}

.pgm-thanks-points svg {
	width: 26px;
	height: 26px;
	color: var(--pgm-teal);
}

.pgm-thanks-points span {
	font-weight: 800;
	color: var(--pgm-ink);
	font-size: 14px;
	line-height: 1.25;
}

.pgm-thanks-points small {
	display: block;
	color: var(--pgm-muted);
	font-weight: 600;
	font-size: 12px;
}

.pgm-help-strip--four {
	grid-template-columns: repeat(4, 1fr);
}

/* =========================================================================
   RECIPES
   ========================================================================= */
.pgm-chip {
	display: inline-block;
	background: var(--pgm-teal);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	padding: 4px 12px;
	border-radius: 20px;
	margin-bottom: 12px;
}

/* Recipe posts keep the dark dish-photo hero */
.pgm-recipe-hero::before {
	background: linear-gradient(90deg, rgba(10, 32, 54, .9) 0%, rgba(10, 32, 54, .62) 48%, rgba(10, 32, 54, .2) 80%);
}

.pgm-recipe-hero h1 {
	color: #fff;
}

.pgm-recipe-hero p {
	color: #d4e0ea;
}

.pgm-recipe-hero .pgm-crumbs,
.pgm-recipe-hero .pgm-crumbs a {
	color: #a9c2d6;
}

.pgm-recipe-hero .pgm-crumbs a:hover {
	color: #fff;
}

.pgm-recipe-hero .pgm-page-hero-inner {
	padding: 52px 20px 56px;
}

.pgm-recipe-meta {
	display: flex;
	gap: 20px;
	margin-top: 18px;
	flex-wrap: wrap;
}

.pgm-recipe-meta span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #d4e0ea;
	font-size: 14px;
	font-weight: 600;
}

.pgm-recipe-meta svg {
	width: 17px;
	height: 17px;
	color: #5fd0d7;
}

.pgm-recipe-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 330px;
	gap: 30px;
	padding-top: 36px;
	padding-bottom: 10px;
	align-items: start;
}

.pgm-recipe-body {
	background: #fff;
	border: 1px solid var(--pgm-line);
	border-radius: var(--pgm-radius);
	box-shadow: var(--pgm-shadow);
	padding: 30px 32px;
}

.pgm-recipe-body h2 {
	font-size: 22px;
	margin: 26px 0 14px;
}

.pgm-recipe-body h2:first-child {
	margin-top: 0;
}

.pgm-recipe-body ul {
	list-style: none;
	margin: 0 0 8px;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 9px 22px;
}

.pgm-recipe-body ul li {
	position: relative;
	padding-left: 20px;
	font-size: 15px;
	line-height: 1.5;
}

.pgm-recipe-body ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 8px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--pgm-teal);
}

.pgm-recipe-body ol {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: pgm-step;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.pgm-recipe-body ol li {
	position: relative;
	padding-left: 46px;
	counter-increment: pgm-step;
	font-size: 15px;
	line-height: 1.65;
}

.pgm-recipe-body ol li::before {
	content: counter(pgm-step);
	position: absolute;
	left: 0;
	top: 1px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--pgm-teal);
	color: #fff;
	font-weight: 800;
	font-size: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pgm-recipe-body blockquote {
	margin: 24px 0 0;
	background: #fbf6e9;
	border: 1px solid #f0e3bd;
	border-radius: 12px;
	padding: 16px 18px;
	font-size: 14.5px;
	color: #6b5d2e;
}

.pgm-recipe-body blockquote p {
	margin: 0;
}

.pgm-recipe-cta {
	display: flex;
	gap: 15px;
	background: rgba(26, 143, 150, .07);
	border: 1px solid rgba(26, 143, 150, .25);
	border-radius: 12px;
	padding: 20px;
	margin-top: 28px;
}

.pgm-recipe-cta svg {
	width: 28px;
	height: 28px;
	color: var(--pgm-teal);
	flex: none;
}

.pgm-recipe-cta strong {
	color: var(--pgm-ink);
	display: block;
	margin-bottom: 5px;
}

.pgm-recipe-cta p {
	font-size: 14px;
	margin: 0 0 13px;
}

.pgm-side-cta p {
	font-size: 13.5px;
	color: var(--pgm-muted);
	margin: 0 0 13px;
}

.pgm-mini-recipes {
	display: flex;
	flex-direction: column;
	gap: 13px;
}

.pgm-mini-recipe {
	display: flex;
	gap: 12px;
	text-decoration: none;
	align-items: center;
}

.pgm-mini-recipe img {
	width: 62px;
	height: 62px;
	object-fit: cover;
	border-radius: 10px;
	flex: none;
}

.pgm-mini-recipe em {
	display: block;
	font-style: normal;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .1em;
	color: var(--pgm-teal);
}

.pgm-mini-recipe strong {
	display: block;
	font-size: 14px;
	line-height: 1.3;
	color: var(--pgm-ink);
}

.pgm-mini-recipe small {
	color: var(--pgm-muted);
	font-size: 12px;
}

.pgm-mini-recipe:hover strong {
	color: var(--pgm-teal);
}

/* Recipes listing */
.pgm-recipe-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.pgm-recipe-card {
	background: #fff;
	border: 1px solid var(--pgm-line);
	border-radius: var(--pgm-radius);
	overflow: hidden;
	box-shadow: var(--pgm-shadow);
	text-decoration: none;
	transition: transform .15s, box-shadow .15s;
}

.pgm-recipe-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 40px rgba(13, 42, 68, .13);
}

.pgm-recipe-card-media {
	position: relative;
}

.pgm-recipe-card-media .pgm-chip {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 1;
	margin: 0;
}

.pgm-recipe-card-media img {
	width: 100%;
	height: 190px;
	object-fit: contain;
	background: #f8fbfd;
	display: block;
}

.pgm-recipe-card-body {
	padding: 16px 18px 18px;
}

.pgm-recipe-card-body h3 {
	font-size: 17px;
	margin: 0 0 7px;
}

.pgm-recipe-card-body p {
	font-size: 13.5px;
	color: var(--pgm-muted);
	margin: 0 0 9px;
}

.pgm-recipe-card-body small {
	color: var(--pgm-teal);
	font-weight: 700;
	font-size: 12.5px;
}

.pgm-recipe-pagination {
	text-align: center;
	margin-top: 28px;
}

.pgm-recipe-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 6px;
	margin: 0 2px;
	border-radius: 9px;
	border: 1px solid var(--pgm-line);
	background: #fff;
	color: var(--pgm-ink);
	font-weight: 700;
	text-decoration: none;
}

.pgm-recipe-pagination .page-numbers.current,
.pgm-recipe-pagination .page-numbers:hover {
	background: var(--pgm-teal);
	border-color: var(--pgm-teal);
	color: #fff;
}

/* =========================================================================
   HOME REFINEMENTS (badges/hearts, steps, reviews, newsletter)
   ========================================================================= */
.pgm-prod-card {
	position: relative;
}

/* How-it-works: icon circles, number chips, dashed connectors */
.pgm-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
}

.pgm-step {
	position: relative;
	text-align: center;
	padding: 0 8px;
}

.pgm-step-icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 68px;
	height: 68px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid rgba(26, 143, 150, .35);
	margin-bottom: 14px;
}

.pgm-step-icon svg {
	width: 28px;
	height: 28px;
	color: var(--pgm-teal);
}

.pgm-step-icon i {
	position: absolute;
	right: -5px;
	bottom: -5px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--pgm-teal);
	color: #fff;
	font-style: normal;
	font-weight: 800;
	font-size: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid #fff;
}

.pgm-step strong {
	display: block;
	color: var(--pgm-ink);
	font-size: 15.5px;
	margin-bottom: 6px;
}

.pgm-step p {
	font-size: 13.5px;
	color: var(--pgm-muted);
	line-height: 1.55;
	margin: 0;
}

.pgm-step:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 33px;
	left: calc(50% + 46px);
	width: calc(100% - 92px);
	border-top: 2px dashed rgba(26, 143, 150, .4);
}

/* Reviews: Google card + three value cards */
.pgm-reviews {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	align-items: stretch;
}

.pgm-value-card {
	background: #fff;
	border: 1px solid var(--pgm-line);
	border-radius: var(--pgm-radius);
	box-shadow: var(--pgm-shadow);
	padding: 22px 20px;
}

.pgm-value-card svg {
	width: 30px;
	height: 30px;
	color: var(--pgm-teal);
	margin-bottom: 12px;
}

.pgm-value-card strong {
	display: block;
	color: var(--pgm-ink);
	font-size: 15px;
	margin-bottom: 7px;
}

.pgm-value-card p {
	font-size: 13.5px;
	color: var(--pgm-muted);
	line-height: 1.6;
	margin: 0;
}

/* Newsletter notices */
.pgm-news-note {
	margin: 0 0 10px;
	font-weight: 700;
	font-size: 14px;
}

.pgm-news-note--ok {
	color: #7ce3a1;
}

.pgm-news-note--err {
	color: #ffb3b3;
}

/* Tile refinements: softer rounded borders, teal hover, inset product photos */
.pgm-shop-main ul.products li.product,
.pgm-single-wrap ul.products li.product,
.pgm-prod-card,
.pgm-recipe-card,
.pgm-cat-card {
	border-radius: 16px;
	border: 1px solid rgba(13, 42, 68, .08);
	box-shadow: 0 3px 14px rgba(13, 42, 68, .05);
}

.pgm-shop-main ul.products li.product:hover,
.pgm-single-wrap ul.products li.product:hover,
.pgm-prod-card:hover,
.pgm-recipe-card:hover,
.pgm-cat-card:hover {
	border-color: rgba(26, 143, 150, .5);
	box-shadow: 0 14px 32px rgba(13, 42, 68, .13);
}

.pgm-prod-card:hover,
.pgm-cat-card:hover,
.pgm-recipe-card:hover {
	transform: translateY(-3px);
}

/* Shop grid: smaller inset photos */
.pgm-shop-main ul.products li.product {
	padding: 12px 12px 62px;
}

.pgm-shop-main ul.products li.product img,
.pgm-shop-main ul.products li.product a img {
	height: 170px;
	border-radius: 10px;
	object-fit: contain;
	background: #f8fbfd;
}

.pgm-shop-main ul.products li.product .pgm-badge {
	top: 20px;
	left: 20px;
}

.pgm-shop-main ul.products li.product .pgm-wish {
	top: 20px;
	right: 20px;
}

.pgm-shop-main ul.products li.product .woocommerce-loop-product__title {
	padding: 12px 6px 2px;
}

.pgm-shop-main ul.products li.product .price {
	padding: 0 6px;
}

/* Home featured cards: matching inset photos */
.pgm-prod-media {
	display: block;
	padding: 12px 12px 0;
}

.pgm-prod-media img {
	width: 100%;
	height: 170px;
	object-fit: contain;
	border-radius: 10px;
	display: block;
	background: #f8fbfd;
}

.pgm-prod-media .pgm-badge {
	top: 20px;
	left: 20px;
}

.pgm-prod-card .pgm-wish {
	top: 20px;
	right: 20px;
}

/* Related products on the product page */
.pgm-single-wrap ul.products li.product {
	padding: 10px 10px 56px;
}

.pgm-single-wrap ul.products li.product img,
.pgm-single-wrap ul.products li.product a img {
	height: 150px;
	border-radius: 9px;
	object-fit: contain;
	background: #f8fbfd;
}

.pgm-single-wrap ul.products li.product .pgm-badge {
	top: 18px;
	left: 18px;
}

.pgm-single-wrap ul.products li.product .pgm-wish {
	top: 18px;
	right: 18px;
}

/* Home hero: lift crop so the circular PGM badge stays in frame at all sizes */
.pgm-hero {
	background-position: right 10%;
}

/* About band: framed image + chip */
.pgm-about-media {
	position: relative;
}

.pgm-about-media::after {
	content: "";
	position: absolute;
	top: 18px;
	right: -14px;
	bottom: -14px;
	left: 18px;
	border: 2px solid rgba(95, 208, 215, .4);
	border-radius: 20px;
	pointer-events: none;
}

.pgm-about-media img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 400px;
	object-fit: cover;
	border-radius: 18px;
	box-shadow: 0 18px 44px rgba(0, 0, 0, .35);
	display: block;
}

.pgm-about-chip {
	position: absolute;
	z-index: 2;
	left: 18px;
	bottom: 18px;
	background: #fff;
	color: var(--pgm-navy);
	font-weight: 800;
	font-size: 13px;
	letter-spacing: .02em;
	padding: 9px 16px;
	border-radius: 30px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .3);
}

/* Categories hero: lift crop so the PGM wall logo stays in frame */
.pgm-page-hero--categories {
	background-position: right 22%;
}

/* Categories SEO section: wide tile + sidebar + FAQ accordion */
.pgm-seo-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	align-items: stretch;
}

.pgm-seo-side {
	display: flex;
	flex-direction: column;
}

.pgm-seo-side .pgm-side-block:last-child {
	margin-bottom: 0;
	flex: 1;
}

.pgm-page-body--wide {
	max-width: none;
	margin: 0;
}

.pgm-seo-side .pgm-side-block {
	margin-bottom: 18px;
}

.pgm-side-ticks {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.pgm-side-ticks li {
	position: relative;
	padding-left: 26px;
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--pgm-body);
}

.pgm-side-ticks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	width: 17px;
	height: 17px;
	border-radius: 50%;
	background: rgba(26, 143, 150, .12) url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a8f96' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / 9px no-repeat;
}

.pgm-side-shop {
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--pgm-body);
	margin: 0 0 14px;
}

.pgm-side-shop strong {
	color: var(--pgm-ink);
}

.pgm-seo-side .pgm-btn {
	width: 100%;
	text-align: center;
	padding: 12px 18px;
	font-size: 14px;
}

.pgm-faq-head {
	margin-top: 44px;
}

.pgm-faq {
	max-width: 860px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.pgm-faq details {
	background: #fff;
	border: 1px solid #d7e2ec;
	border-radius: 14px;
	box-shadow: var(--pgm-shadow);
	overflow: hidden;
	transition: border-color .15s;
}

.pgm-faq details[open] {
	border-color: rgba(26, 143, 150, .55);
}

.pgm-faq summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 17px 20px;
	font-weight: 700;
	font-size: 15.5px;
	color: var(--pgm-ink);
}

.pgm-faq summary::-webkit-details-marker {
	display: none;
}

.pgm-faq summary::after {
	content: "";
	flex: none;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: rgba(26, 143, 150, .12) url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a8f96' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / 13px no-repeat;
	transition: transform .2s;
}

.pgm-faq details[open] summary::after {
	transform: rotate(180deg);
}

.pgm-faq details p {
	margin: 0;
	padding: 0 20px 18px;
	font-size: 14.5px;
	line-height: 1.65;
	color: var(--pgm-body);
}

/* Footer: logo chip + SEO Ladder credit badge */
.pgm-footer-logochip {
	display: inline-block;
	background: #fff;
	border-radius: 12px;
	padding: 10px 16px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, .3);
}

.pgm-footer-logochip img {
	height: 46px;
	width: auto;
	display: block;
}

.pgm-seoladder img {
	height: 36px;
	width: auto;
	display: block;
	border-radius: 8px;
}

/* Footer: coastal dawn artwork behind the columns */
.pgm-footer {
	position: relative;
}

.pgm-footer::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(10, 32, 54, .92) 0%, rgba(10, 32, 54, .6) 55%, rgba(10, 32, 54, .3) 100%),
		url(../img/footer-dawn-b.jpg) center right / cover no-repeat;
}

.pgm-footer > * {
	position: relative;
	z-index: 1;
}

.pgm-footer-bottom {
	background: rgba(7, 22, 38, .8);
}

/* (adaptive desktop rules live at the end of this file) */

/* Category cards: inset media, equal heights, link pinned to the bottom */
.pgm-cat-card {
	display: flex;
	flex-direction: column;
}

.pgm-cat-media {
	padding: 12px 12px 0;
	height: auto !important;
	overflow: visible;
}

.pgm-cat-media img {
	width: 100%;
	height: 190px !important;
	object-fit: contain;
	background: #f8fbfd;
	border-radius: 10px;
	display: block;
}

.pgm-cat-media--all {
	padding: 0 !important;
	margin: 12px 12px 0;
	height: 190px !important;
	min-height: 0;
	border-radius: 10px;
}

.pgm-cat-body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 16px 18px 18px;
}

.pgm-cat-body p {
	margin-bottom: 14px;
}

.pgm-cat-link {
	margin-top: auto;
}

/* Clearer tile borders (visible at rest, teal on hover) */
.pgm-shop-main ul.products li.product,
.pgm-single-wrap ul.products li.product,
.pgm-prod-card,
.pgm-recipe-card,
.pgm-cat-card,
.pgm-side-block {
	border: 1px solid #d7e2ec;
}

/* Home mobile pass */
@media (max-width: 1024px) {
	.pgm-cat-grid { grid-template-columns: 1fr 1fr; }
	.pgm-reviews { grid-template-columns: 1fr 1fr; }
	.pgm-steps { grid-template-columns: 1fr 1fr; row-gap: 30px; }
	.pgm-step:not(:last-child)::after { display: none; }
}

@media (max-width: 860px) {
	.pgm-prod-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
	.pgm-cat-grid { grid-template-columns: 1fr; }
	.pgm-about-media img { height: 250px; }
	.pgm-about-media::after { display: none; }
	.pgm-prod-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
	.pgm-steps { grid-template-columns: 1fr; }
	.pgm-reviews { grid-template-columns: 1fr; }
	.pgm-newsletter-inner { flex-direction: column; align-items: stretch; }
	.pgm-newsletter-inner > div { min-width: 0; }
	.pgm-newsletter-form { min-width: 0; width: 100%; max-width: 100%; }
	.pgm-newsletter-form input { min-width: 0; width: 100%; }
}

@media (max-width: 1024px) {
	.pgm-prod-grid { grid-template-columns: repeat(3, 1fr); }
	.pgm-shop-layout { grid-template-columns: 220px minmax(0, 1fr); gap: 20px; }
	.pgm-del-grid { grid-template-columns: 1fr 1fr; }
	.pgm-single-wrap ul.products { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 860px) {
	.pgm-hero { min-height: 440px; }
	.pgm-hero-inner { padding: 64px 20px 76px; }
	.pgm-hero-copy h1 { font-size: 40px; }
	.pgm-about-inner { grid-template-columns: 1fr; }
	.pgm-reviews { grid-template-columns: 1fr; }
	.pgm-steps { grid-template-columns: 1fr 1fr; }
	.pgm-section-head--row { flex-direction: column; align-items: flex-start; gap: 10px; }
	.pgm-trustband { margin-top: 0; background: var(--pgm-navy); backdrop-filter: none; -webkit-backdrop-filter: none; }
	.pgm-trustband-inner { grid-template-columns: 1fr 1fr; gap: 6px; padding: 14px 16px; }
	.pgm-trustband article { justify-content: flex-start; padding: 8px 6px; }
	.pgm-trustband article + article { border-left: none; }
	.pgm-tb-icon { width: 44px; height: 44px; }
	.pgm-tb-icon svg { width: 20px; height: 20px; }
	.pgm-hero-inner, .pgm-page-hero-inner, .pgm-cart-hero-inner { padding-bottom: 64px; }
	.pgm-del-grid { grid-template-columns: 1fr; }
	.pgm-page-body { padding: 24px 20px; }
	.pgm-wa-band { padding: 20px; }
	.pgm-single-wrap div.product { grid-template-columns: 1fr; gap: 22px; }
	.pgm-pdp-fields { grid-template-columns: 1fr; }
	.pgm-single-wrap ul.products { grid-template-columns: 1fr 1fr; }
	.pgm-cart-wrap .woocommerce { grid-template-columns: 1fr; }
	.pgm-cart-hero h1 { font-size: 30px; }
	.pgm-cart-wrap .woocommerce-cart-form { padding: 16px; overflow-x: auto; }
	.pgm-cart-wrap table.shop_table th.product-price,
	.pgm-cart-wrap td.product-price { display: none; }
	.pgm-thanks-inner { flex-direction: column; align-items: flex-start; }
	.pgm-thanks-points { flex-wrap: wrap; gap: 16px; }
	.pgm-help-strip--four { grid-template-columns: 1fr 1fr; }
	.pgm-recipe-layout { grid-template-columns: 1fr; }
	.pgm-recipe-body { padding: 22px 20px; }
	.pgm-recipe-body ul { grid-template-columns: 1fr; }
	.pgm-recipe-grid { grid-template-columns: 1fr; }
	.pgm-shop-layout { grid-template-columns: 1fr; }
	.pgm-shop-side { order: 2; }
	.pgm-shop-main { order: 1; }
	.pgm-shop-main .woocommerce-ordering { position: static; margin-bottom: 12px; }
	.pgm-help-strip-inner { grid-template-columns: 1fr; }
	.pgm-page-hero h1 { font-size: 30px; }
	.pgm-trust { grid-template-columns: 1fr 1fr; margin-top: 0; }
	.pgm-trust article:nth-child(2n) { border-left: none; }
	.pgm-trust article:nth-child(n+3) { border-top: 1px solid var(--pgm-line); }
}

@media (max-width: 560px) {
	.pgm-prod-grid { grid-template-columns: 1fr 1fr; }
	.pgm-cat-grid { grid-template-columns: 1fr; }
	.pgm-hero,
	.pgm-page-hero { min-height: 340px; }
	.pgm-hero-copy h1 { font-size: 33px; }
	.pgm-hero::before,
	.pgm-page-hero::before,
	.pgm-cart-hero::before { background: linear-gradient(180deg, rgba(255,255,255,.95) 30%, rgba(255,255,255,.72)); }
	.pgm-recipe-hero::before { background: linear-gradient(180deg, rgba(10,32,54,.85), rgba(10,32,54,.6)); }
	.pgm-steps { grid-template-columns: 1fr; }
	.pgm-review-points { grid-template-columns: 1fr; }
	.pgm-newsletter-inner { flex-direction: column; align-items: stretch; }
	.pgm-trust { grid-template-columns: 1fr; }
	.pgm-trust article + article { border-left: none; border-top: 1px solid var(--pgm-line); }
}

/* Shop toolbar: category pills + product search (full-width shop) */
.pgm-page-hero--shop {
	background-position: center right;
}

.pgm-shop-full {
	padding-top: 30px;
	padding-bottom: 20px;
}

.pgm-shop-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 22px;
}

.pgm-cat-pills {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.pgm-cat-pills a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 17px;
	border: 1px solid #d7e2ec;
	border-radius: 999px;
	background: #fff;
	color: var(--pgm-ink);
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
	transition: border-color .15s, color .15s;
}

.pgm-cat-pills a span {
	font-size: 12px;
	font-weight: 700;
	color: var(--pgm-muted);
	background: var(--pgm-bg-soft);
	border-radius: 12px;
	padding: 1px 8px;
}

.pgm-cat-pills a:hover {
	border-color: var(--pgm-teal);
	color: var(--pgm-teal);
}

.pgm-cat-pills a.is-active {
	background: var(--pgm-teal);
	border-color: var(--pgm-teal);
	color: #fff;
}

.pgm-cat-pills a.is-active span {
	background: rgba(255, 255, 255, .22);
	color: #fff;
}

.pgm-shop-search {
	display: flex;
	align-items: stretch;
	border: 1px solid #d7e2ec;
	border-radius: 999px;
	overflow: hidden;
	background: #fff;
}

.pgm-shop-search input[type="search"] {
	border: none;
	outline: none;
	padding: 11px 18px;
	font-size: 14px;
	width: clamp(190px, 22vw, 300px);
	background: transparent;
}

.pgm-shop-search button {
	border: none;
	background: var(--pgm-teal);
	color: #fff;
	padding: 0 18px;
	cursor: pointer;
	display: flex;
	align-items: center;
}

.pgm-shop-search button svg {
	width: 17px;
	height: 17px;
}

.pgm-shop-search button:hover {
	background: var(--pgm-teal-dark);
}

@media (max-width: 860px) {
	.pgm-shop-main ul.products {
		grid-template-columns: 1fr 1fr;
	}

	.pgm-shop-search {
		width: 100%;
	}

	.pgm-shop-search input[type="search"] {
		width: 100%;
		flex: 1;
	}
}

/* Contact page: two-shop grid */
.pgm-shops-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}

.pgm-shop-card h3 {
	font-size: 17px;
	letter-spacing: .02em;
	text-transform: none;
}

.pgm-shop-card .pgm-side-ticks {
	margin: 14px 0 18px;
}

@media (min-width: 861px) {
	.pgm-shops-grid {
		grid-template-columns: 1fr 1fr;
	}
}

/* WooCommerce notices in the design pattern + add-to-cart actions */
.woocommerce-message,
.woocommerce-info {
	background: #fff;
	border: 1px solid #d7e2ec;
	border-left: 4px solid var(--pgm-teal);
	border-top: 1px solid #d7e2ec;
	border-radius: 12px;
	box-shadow: var(--pgm-shadow);
	color: var(--pgm-ink);
	padding: 15px 18px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--pgm-teal);
	position: static;
	margin-right: 4px;
}

.pgm-atc-text {
	flex: 1;
	min-width: 200px;
	font-weight: 600;
}

.pgm-atc-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.woocommerce-message .button.pgm-atc-continue {
	background: #fff;
	color: var(--pgm-teal);
	border: 1.5px solid var(--pgm-teal);
}

.woocommerce-message .button.pgm-atc-continue:hover {
	background: var(--pgm-teal);
	color: #fff;
}

/* Mobile topbar: compact call button instead of the plain number */
.pgm-topbar-call-label {
	display: none;
}

@media (max-width: 600px) {
	.pgm-topbar-tag {
		display: none;
	}

	.pgm-topbar-phone {
		background: var(--pgm-teal);
		border-radius: 999px;
		padding: 5px 14px;
		font-weight: 700;
	}

	.pgm-topbar-phone svg {
		color: #fff;
	}

	.pgm-topbar-num {
		display: none;
	}

	.pgm-topbar-call-label {
		display: inline;
		color: #fff;
	}

	.pgm-topbar-inner {
		justify-content: center;
	}
}

/* ---------- Product card width fix + compact mobile cards ----------
   WC core ships `ul.products[class*="columns-"] li.product { width: 22.05%;
   float: left }` which OUTRANKS `.pgm-shop-main ... li.product` and collapses
   grid cards below 1025px (the adaptive block already resets it on desktop). */
.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product {
	width: auto;
	float: none;
	margin: 0;
}

@media (max-width: 560px) {
	.pgm-shop-main ul.products,
	.pgm-single-wrap ul.products {
		grid-template-columns: 1fr 1fr !important;
		gap: 10px;
	}
	.pgm-shop-main ul.products li.product,
	.pgm-single-wrap ul.products li.product {
		padding: 10px 10px 54px;
	}
	.pgm-shop-main ul.products li.product img,
	.pgm-shop-main ul.products li.product a img,
	.pgm-single-wrap ul.products li.product img,
	.pgm-single-wrap ul.products li.product a img {
		height: 140px;
	}
	.pgm-shop-main ul.products li.product .pgm-badge,
	.pgm-single-wrap ul.products li.product .pgm-badge {
		top: 16px;
		left: 16px;
		font-size: 9.5px;
		letter-spacing: .2px;
		padding: 4px 7px;
	}
	.pgm-shop-main ul.products li.product .pgm-wish,
	.pgm-single-wrap ul.products li.product .pgm-wish {
		top: 16px;
		right: 16px;
		width: 30px;
		height: 30px;
	}
	.pgm-shop-main ul.products li.product .woocommerce-loop-product__title,
	.pgm-single-wrap ul.products li.product .woocommerce-loop-product__title {
		font-size: 14px;
		line-height: 1.3;
		padding: 10px 4px 2px;
		overflow-wrap: normal;
		word-break: normal;
	}
	.pgm-shop-main ul.products li.product .price,
	.pgm-single-wrap ul.products li.product .price {
		font-size: 15px;
	}
}

/* =========================================================================
   ADAPTIVE DESKTOP — layout scales fluidly with the browser window (≥1025px)
   ========================================================================= */
@media (min-width: 1025px) {
	/* container grows on larger monitors, never smaller than the classic 1200 */
	.pgm-container {
		max-width: clamp(1200px, 82vw, 1380px);
	}

	/* heroes scale with the window instead of fixed steps */
	.pgm-hero,
	.pgm-page-hero {
		min-height: clamp(430px, 33vw, 600px);
	}

	.pgm-page-hero--slim {
		min-height: 0;
	}

	/* fluid display type */
	.pgm-hero-copy h1 {
		font-size: clamp(36px, 3.6vw, 56px);
	}

	.pgm-hero-copy {
		max-width: clamp(480px, 44vw, 640px);
	}

	.pgm-page-hero h1 {
		font-size: clamp(32px, 3vw, 48px);
	}

	.pgm-cart-hero h1 {
		font-size: clamp(32px, 3vw, 48px);
	}

	.pgm-section-head h2 {
		font-size: clamp(26px, 2.2vw, 36px);
	}

	/* grids reflow to the available width instead of fixed column counts */
	.pgm-cat-grid {
		grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	}

	.pgm-prod-grid {
		grid-template-columns: repeat(auto-fit, minmax(215px, 1fr));
	}

	/* The 6th featured card is a mobile/tablet-only extra — desktop keeps its clean 5-across row. */
	.pgm-prod-card--mobextra {
		display: none;
	}

	.pgm-shop-main ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 20px;
	}

	.pgm-shop-main ul.products li.product img,
	.pgm-shop-main ul.products li.product a img {
		height: 200px;
	}

	.pgm-single-wrap ul.products {
		grid-template-columns: repeat(auto-fill, minmax(215px, 1fr));
	}

	.pgm-reviews {
		grid-template-columns: repeat(auto-fit, minmax(255px, 1fr));
	}

	.pgm-del-grid {
		grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	}

	.pgm-recipe-grid {
		grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	}

	/* sidebars breathe with the window */
	.pgm-shop-layout {
		grid-template-columns: clamp(230px, 18vw, 280px) minmax(0, 1fr);
	}

	.pgm-recipe-layout {
		grid-template-columns: minmax(0, 1fr) clamp(300px, 24vw, 360px);
	}

	.pgm-cart-wrap .woocommerce {
		grid-template-columns: minmax(0, 1fr) clamp(310px, 25vw, 380px);
	}

	.pgm-seo-layout {
		grid-template-columns: minmax(0, 1fr) clamp(300px, 24vw, 340px);
		gap: 30px;
	}
}

/* ---- Cart drawer / mini-cart refinement (2026-07-05) ---- */
.cart-drawer { z-index: 120; }
#products { scroll-margin-top: 92px; }
.cart-drawer .woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
.cart-drawer .woocommerce-mini-cart-item {
	position: relative;
	margin: 0;
	padding: 14px 30px 14px 68px;
	min-height: 60px;
	border-bottom: 1px solid var(--pgm-line);
}
.cart-drawer .woocommerce-mini-cart-item img {
	position: absolute;
	left: 0;
	top: 14px;
	width: 56px !important;
	height: 56px !important;
	margin: 0 !important;
	float: none !important;
	object-fit: cover;
	border-radius: 8px;
}
.cart-drawer .woocommerce-mini-cart-item > a:not(.remove) {
	display: block;
	text-decoration: none;
	color: var(--pgm-ink);
	font-weight: 700;
	font-size: 14px;
	line-height: 1.3;
}
.cart-drawer .woocommerce-mini-cart-item .variation { margin: 4px 0 0; font-size: 12px; color: var(--pgm-muted, #5c7189); }
.cart-drawer .woocommerce-mini-cart-item .variation dt,
.cart-drawer .woocommerce-mini-cart-item .variation dd { display: inline; margin: 0; font-weight: 400; }
.cart-drawer .woocommerce-mini-cart-item .variation dd { margin-right: 8px; }
.cart-drawer .woocommerce-mini-cart-item .variation dd p { display: inline; margin: 0; }
.cart-drawer .woocommerce-mini-cart-item .quantity { display: block; margin-top: 6px; font-size: 13px; color: var(--pgm-navy, #0d2a44); font-weight: 600; }
.cart-drawer .woocommerce-mini-cart-item a.remove {
	position: absolute;
	right: 0;
	left: auto;
	top: 16px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #eef4fa;
	color: var(--pgm-navy, #0d2a44) !important;
	font-size: 16px;
	line-height: 22px;
	text-align: center;
	text-decoration: none;
}
.cart-drawer .woocommerce-mini-cart__total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 0 4px;
	margin-top: 8px;
	font-size: 16px;
	border-top: 2px solid var(--pgm-line);
}
.cart-drawer .woocommerce-mini-cart__buttons { display: none; }
.cart-drawer .woocommerce-mini-cart__empty-message { padding: 24px 0; color: var(--pgm-muted, #5c7189); text-align: center; }

/* ---- Cart page tidy: suggestions + balanced help-strip tiles (2026-07-05) ---- */
.pgm-help-strip--four article { justify-content: center; align-items: center; }
.pgm-suggest { padding-top: 20px; }
.pgm-suggest .pgm-prod-grid { margin-top: 6px; }

/* ---- Cart order-summary delivery note (2026-07-05) ---- */
.pgm-cart-delnote td { padding-top: 4px !important; border: 0 !important; }
.pgm-cart-delnote span { display: flex; align-items: flex-start; gap: 7px; font-size: 12.5px; line-height: 1.4; color: var(--pgm-muted); }
.pgm-cart-delnote svg { flex: none; margin-top: 1px; color: var(--pgm-teal); }

/* ---- Cart header: navy brand band (2026-07-05, replaces bare light header) ---- */
.pgm-cart-hero { background: var(--pgm-navy); }
.pgm-cart-hero::before { display: none; }
.pgm-cart-hero-inner { padding: 56px 20px 52px; text-align: center; }
.pgm-cart-hero .pgm-eyebrow { color: #5fd0d7; }
.pgm-cart-hero h1 { color: #fff; }
.pgm-cart-hero h1 span { color: #5fd0d7; }
.pgm-cart-hero-copy { color: #c3d3e2; max-width: 600px; margin: 0 auto; }

/* ---- Block checkout: fix radios/checkboxes distorted by .woocommerce-checkout input{min-height:44px} (2026-07-05) ---- */
.woocommerce-checkout input[type="radio"],
.woocommerce-checkout input[type="checkbox"],
.wc-block-checkout input[type="radio"],
.wc-block-checkout input[type="checkbox"] {
	min-height: 0 !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	padding: 0 !important;
	flex: 0 0 auto;
	vertical-align: middle;
	accent-color: #1a8f96;
}
.woocommerce-checkout input[type="radio"],
.wc-block-checkout input[type="radio"] { border-radius: 50% !important; }
.woocommerce-checkout input[type="checkbox"],
.wc-block-checkout input[type="checkbox"] { border-radius: 4px !important; }

/* Hide the delivery-date field for Click & Collect orders (2026-07-06) */
body.pgm-hide-deldate .wp-block-woocommerce-checkout-additional-information-block { display: none !important; }
