/*
Theme Name: MY Plumbing Depot
Author: webaddress
Author URI: https://webaddress.host
Description: Block theme and WooCommerce store for MY Plumbing Depot, Feilding and Whanganui.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mypd
Tags: block-theme, e-commerce, full-width-template
*/

/* Layout: phone below 768px; the full header row from 1024px. */

:root {
	--mypd-wrap: 1200px;
	--mypd-gutter: var(--wp--preset--spacing--gutter);
	--mypd-ease: 0.2s ease;
}

body { -webkit-font-smoothing: antialiased; }
:where(h1, h2, h3) strong { font-weight: 700; }
:where(a, button, input, summary, select, textarea):focus-visible {
	outline: 2px solid var(--wp--preset--color--primary-strong);
	outline-offset: 2px;
}
::placeholder { color: var(--wp--preset--color--muted); opacity: 1; }
.wp-site-blocks { overflow-x: clip; }
.wp-site-blocks > * { margin-block-start: 0; }
a[href^="tel:"] { white-space: nowrap; }

.mypd-eyebrow {
	margin: 0 0 12px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 600;
	letter-spacing: 0.2em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-strong);
}

.mypd-pill {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	border-radius: 100px;
	padding: 5px 12px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
}
.mypd-pill::before {
	content: "";
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: currentColor;
	flex: 0 0 auto;
}
.mypd-pill.is-courier { background: var(--wp--preset--color--pill-green); color: var(--wp--preset--color--pill-green-text); }
.mypd-pill.is-local { background: var(--wp--preset--color--pill-blue); color: var(--wp--preset--color--pill-blue-text); }
.mypd-pill.is-pickup { background: var(--wp--preset--color--pill-gold); color: var(--wp--preset--color--pill-gold-text); }
.mypd-pill.is-na { background: var(--wp--preset--color--pill-grey); color: var(--wp--preset--color--muted); }

/* Grids and rows built from flow groups: no flow spacing between their items. */
.mypd-bar__row > *,
.mypd-phones > *,
.mypd-hero__actions > *,
.mypd-section__head > *,
.mypd-story__inner > *,
.mypd-story__facts > *,
.mypd-brands__head > *,
.mypd-branch-cards > *,
.mypd-branch > *,
.mypd-footer__grid > *,
.mypd-footer__base > *,
.mypd-product__layout > *,
.mypd-brand-head > * { margin-block: 0; }

/* ---------- buttons ---------- */

.wp-block-button .wp-block-button__link { transition: background var(--mypd-ease), color var(--mypd-ease), border-color var(--mypd-ease); }
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--primary-strong);
	border: 1.5px solid var(--wp--preset--color--primary-strong);
	padding: 12.5px 24.5px;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--primary-strong);
	color: var(--wp--preset--color--surface);
}
.wp-block-button.is-style-on-dark .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--surface);
	border: 1.5px solid rgba(255, 255, 255, 0.55);
	padding: 12.5px 24.5px;
	font-size: 14.5px;
}
.wp-block-button.is-style-on-dark .wp-block-button__link:hover {
	background: var(--wp--preset--color--surface);
	border-color: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
}
.wp-block-button.is-style-on-dark .wp-block-button__link:focus-visible { outline-color: var(--wp--preset--color--surface); }

/* ---------- search ---------- */

.mypd-search { margin: 0; }
.mypd-search .wp-block-search__inside-wrapper {
	display: flex;
	height: 46px;
	padding: 0;
	border: 1.5px solid var(--wp--preset--color--field-line);
	border-radius: 8px;
	overflow: hidden;
	background: var(--wp--preset--color--surface);
	transition: border-color var(--mypd-ease);
}
.mypd-search .wp-block-search__inside-wrapper:hover,
.mypd-search .wp-block-search__inside-wrapper:focus-within { border-color: var(--wp--preset--color--primary-bright); }
.mypd-search .wp-block-search__input {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	border: 0;
	padding: 0 18px;
	font: inherit;
	font-size: 14.5px;
	color: var(--wp--preset--color--ink);
	background: transparent;
}
.mypd-search .wp-block-search__input:focus-visible { outline: none; }
.mypd-search .wp-block-search__button {
	flex: 0 0 auto;
	margin: 0;
	border: 0;
	border-radius: 0;
	padding: 0 22px;
	background: var(--wp--preset--color--primary-strong);
	color: var(--wp--preset--color--surface);
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: background var(--mypd-ease);
}
.mypd-search .wp-block-search__button:hover { background: var(--wp--preset--color--primary-deep); }
.mypd-search .wp-block-search__button:focus-visible { outline: 2px solid var(--wp--preset--color--ink); outline-offset: -4px; }
.mypd-search--hero .wp-block-search__inside-wrapper {
	height: 58px;
	max-width: 540px;
	border: 0;
	border-radius: 10px;
	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.35);
}
.mypd-search--hero .wp-block-search__input { padding: 0 20px; font-size: 15.5px; }
.mypd-search--hero .wp-block-search__button { padding: 0 28px; font-size: 15px; }
.mypd-search--page { max-width: 540px; margin-block: 8px 24px; }

/* ---------- utility strip ---------- */

.mypd-utility {
	background: var(--wp--preset--color--tint);
	border-bottom: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--primary-strong);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.4;
}
.mypd-utility p {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 26px;
	margin: 0;
	padding: 9px var(--mypd-gutter);
	text-align: center;
}
.mypd-utility__more[aria-hidden] { color: var(--wp--preset--color--field-line); }

/* ---------- header ---------- */

.mypd-header { position: relative; z-index: 40; }
.mypd-slot { position: relative; }
.mypd-bar {
	position: relative;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.mypd-bar.is-stuck {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 50;
	animation: mypdBarIn 0.14s ease-out both;
}
.admin-bar .mypd-bar.is-stuck { top: var(--wp-admin--admin-bar--height, 0px); }
.mypd-bar.is-leaving { animation: mypdBarOut 0.12s ease-in both; }
@keyframes mypdBarIn { from { transform: translateY(-100%); } to { transform: translateY(0); } }
@keyframes mypdBarOut { from { transform: translateY(0); } to { transform: translateY(-100%); } }

.mypd-bar__row {
	display: flex;
	align-items: center;
	gap: 28px;
	padding: 20px var(--mypd-gutter);
}
.mypd-bar.is-stuck .mypd-bar__row { padding-top: 12px; padding-bottom: 12px; }

.mypd-logo { flex: 0 0 auto; display: block; line-height: 0; }
.mypd-logo img { height: 44px; width: auto; }
.mypd-logo__reversed { display: none; }

.mypd-search--bar { flex: 1 1 auto; max-width: 500px; }

.mypd-phones { display: flex; gap: 24px; margin-left: auto; flex: 0 0 auto; }
.mypd-phones p { margin: 0; line-height: 1.3; }
.mypd-phones p + p { padding-left: 24px; border-left: 1px solid var(--wp--preset--color--line); }
.mypd-phones__label {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}
.mypd-phones a { font-size: 16px; font-weight: 700; color: inherit; white-space: nowrap; }

/* WooCommerce mini-cart, drawn as the concept's bordered "Cart · n" button. */
.mypd-cart { flex: 0 0 auto; }
.mypd-cart .wc-block-mini-cart__button {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	border: 1.5px solid var(--wp--preset--color--field-line);
	border-radius: 8px;
	padding: 8px 16px;
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: border-color var(--mypd-ease), background var(--mypd-ease), color var(--mypd-ease);
}
.mypd-cart .wc-block-mini-cart__button::before { content: "Cart"; }
.mypd-cart .wc-block-mini-cart__button:hover {
	border-color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--surface);
}
.mypd-cart .wc-block-mini-cart__quantity-badge { display: inline-flex; align-items: center; }
.mypd-cart .wc-block-mini-cart__icon { display: none; }
.mypd-cart .wc-block-mini-cart__badge {
	position: static;
	transform: none;
	min-width: 0;
	height: auto;
	margin: 0;
	padding: 0;
	border: 0;
	background: none !important;
	color: inherit !important;
	font-size: inherit;
	font-weight: inherit;
	opacity: 1;
}
.mypd-cart .wc-block-mini-cart__badge::before { content: "· "; }
.mypd-cart .wc-block-mini-cart__amount { display: none; }

.mypd-nav {
	border-top: 1px solid var(--wp--preset--color--line);
	padding: 0 var(--mypd-gutter);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.01em;
}
.mypd-nav .wp-block-navigation__container { gap: 0 34px; }
.mypd-nav .wp-block-navigation-item__content {
	display: block;
	padding: 13px 0 11px;
	border-bottom: 2px solid transparent;
	color: var(--wp--preset--color--muted);
	font-weight: 600;
	text-decoration: none;
	transition: color var(--mypd-ease);
}
.mypd-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--ink); text-decoration: none; }
.mypd-nav .wp-block-navigation-item__content[aria-current] {
	color: var(--wp--preset--color--ink);
	font-weight: 700;
	border-bottom-color: var(--wp--preset--color--primary);
}
.mypd-nav .is-deals .wp-block-navigation-item__content { color: var(--wp--preset--color--deals); font-weight: 700; }
.mypd-nav .is-deals .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--pill-gold-text); }
.mypd-bar.is-stuck .mypd-nav .wp-block-navigation-item__content { padding-top: 11px; padding-bottom: 9px; }

.mypd-burger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 4.5px;
	width: 44px;
	height: 44px;
	margin: 0 -8px 0 -10px;
	padding: 0 10px;
	border: 0;
	background: none;
	color: inherit;
	cursor: pointer;
}
.mypd-burger span { display: block; width: 20px; height: 2px; border-radius: 2px; background: currentColor; transition: transform var(--mypd-ease), opacity var(--mypd-ease); }
.mypd-burger span:last-child { width: 13px; }
.mypd-bar.is-menu-open .mypd-burger span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.mypd-bar.is-menu-open .mypd-burger span:nth-child(2) { opacity: 0; }
.mypd-bar.is-menu-open .mypd-burger span:nth-child(3) { width: 20px; transform: translateY(-6.5px) rotate(-45deg); }

/* On the home hero, until it scrolls out. */
.mypd-hero .mypd-bar:not(.is-stuck) {
	background: transparent;
	color: var(--wp--preset--color--surface);
	border-bottom: 0;
}
.mypd-hero .mypd-bar:not(.is-stuck) .mypd-logo__colour { display: none; }
.mypd-hero .mypd-bar:not(.is-stuck) .mypd-logo__reversed { display: block; }
.mypd-hero .mypd-bar:not(.is-stuck) .mypd-phones__label { color: rgba(255, 255, 255, 0.72); }
.mypd-hero .mypd-bar:not(.is-stuck) .mypd-phones p + p { border-left-color: rgba(255, 255, 255, 0.2); }
.mypd-hero .mypd-bar:not(.is-stuck) .mypd-search .wp-block-search__inside-wrapper { border-color: transparent; }
.mypd-hero .mypd-bar:not(.is-stuck) .mypd-cart .wc-block-mini-cart__button { border-color: rgba(255, 255, 255, 0.55); }
.mypd-hero .mypd-bar:not(.is-stuck) .mypd-cart .wc-block-mini-cart__button:hover {
	background: var(--wp--preset--color--surface);
	border-color: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
}
.mypd-hero .mypd-bar:not(.is-stuck) .mypd-nav {
	border-top-color: rgba(255, 255, 255, 0.14);
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}
.mypd-hero .mypd-bar:not(.is-stuck) .mypd-nav .wp-block-navigation-item__content { color: rgba(255, 255, 255, 0.82); }
.mypd-hero .mypd-bar:not(.is-stuck) .mypd-nav .wp-block-navigation-item__content:hover,
.mypd-hero .mypd-bar:not(.is-stuck) .mypd-nav .wp-block-navigation-item__content[aria-current] { color: var(--wp--preset--color--surface); }
.mypd-hero .mypd-bar:not(.is-stuck) .mypd-nav .wp-block-navigation-item__content[aria-current] { border-bottom-color: var(--wp--preset--color--primary-bright); }
.mypd-hero .mypd-bar:not(.is-stuck) .mypd-nav .is-deals .wp-block-navigation-item__content { color: var(--wp--preset--color--deals-on-dark); }
.mypd-hero .mypd-bar:not(.is-stuck) :focus-visible { outline-color: var(--wp--preset--color--surface); }

@media (max-width: 1239px) {
	.mypd-bar__row { gap: 20px; }
	.mypd-phones { gap: 16px; }
	.mypd-phones p + p { padding-left: 16px; }
	.mypd-logo img { height: 38px; }
}

/* Phone header, and the narrow end of tablet. */
@media (max-width: 1023px) {
	.mypd-bar__row {
		flex-wrap: wrap;
		gap: 0 12px;
		padding: 10px var(--mypd-gutter) 14px;
	}
	.mypd-burger { display: flex; order: 0; }
	.mypd-logo { order: 1; }
	.mypd-logo img { height: 30px; }
	.mypd-cart { order: 2; margin-left: auto; }
	.mypd-cart .wc-block-mini-cart__button { min-height: 40px; padding: 6px 12px; font-size: 12.5px; }
	.mypd-search--bar { order: 3; flex: 1 0 100%; max-width: none; margin-top: 10px; }
	.mypd-search--bar .wp-block-search__inside-wrapper { height: 44px; }
	.mypd-search--bar .wp-block-search__input { padding: 0 14px; font-size: 14px; }
	.mypd-search--bar .wp-block-search__button { padding: 0 16px; font-size: 13.5px; }
	.mypd-phones { order: 4; flex: 1 0 100%; margin: 8px 0 0; gap: 16px; font-size: 12.5px; }
	.mypd-phones p + p { padding-left: 0; border-left: 0; }
	.mypd-phones__label { display: inline; font-size: 12.5px; letter-spacing: 0; text-transform: none; color: inherit; }
	.mypd-phones a { font-size: 12.5px; color: var(--wp--preset--color--primary-strong); }
	.mypd-hero .mypd-bar:not(.is-stuck) .mypd-phones__label { color: var(--wp--preset--color--surface); }
	.mypd-hero .mypd-bar:not(.is-stuck) .mypd-phones a { color: var(--wp--preset--color--primary-on-dark); }
	.mypd-bar.is-stuck .mypd-bar__row { padding-top: 6px; padding-bottom: 6px; }
	.mypd-bar.is-stuck .mypd-phones { display: none; }
	.mypd-bar.is-stuck .mypd-search--bar { margin-top: 6px; }
	.mypd-bar.is-stuck .mypd-bar__row { padding-bottom: 10px; }

	.mypd-bar .mypd-nav .wp-block-navigation__container { width: 100%; }
	.mypd-nav .wp-block-navigation__container { flex-direction: column; align-items: stretch; gap: 0; }
	.mypd-nav .wp-block-navigation-item { border-top: 1px solid var(--wp--preset--color--line); }
	.mypd-nav .wp-block-navigation-item:first-child { border-top: 0; }
	.mypd-nav .wp-block-navigation-item__content,
	.mypd-hero .mypd-bar:not(.is-stuck) .mypd-nav .wp-block-navigation-item__content {
		padding: 13px var(--mypd-gutter);
		border-bottom: 0;
		font-size: 15px;
		color: var(--wp--preset--color--ink);
	}
	.mypd-nav .wp-block-navigation-item__content[aria-current],
	.mypd-hero .mypd-bar:not(.is-stuck) .mypd-nav .wp-block-navigation-item__content[aria-current] {
		color: var(--wp--preset--color--primary-strong);
		box-shadow: inset 3px 0 0 var(--wp--preset--color--primary);
	}
	.mypd-nav .is-deals .wp-block-navigation-item__content,
	.mypd-hero .mypd-bar:not(.is-stuck) .mypd-nav .is-deals .wp-block-navigation-item__content { color: var(--wp--preset--color--deals); }
	.mypd-hero .mypd-bar:not(.is-stuck) .mypd-nav { border-bottom: 1px solid var(--wp--preset--color--line); }
}

/* ---------- home hero ---------- */

.mypd-hero {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: min(calc(100vh - 36px), 1000px);
	min-height: min(calc(100svh - 36px), 1000px);
	overflow: hidden;
	background: var(--wp--preset--color--dark);
	color: var(--wp--preset--color--surface);
	margin: 0;
}
.mypd-hero > * { position: relative; margin-block: 0; }
.mypd-hero__bg,
.mypd-hero__shade { position: absolute !important; inset: 0; }
.mypd-hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; display: block; }
.mypd-hero__shade { background: linear-gradient(90deg, rgba(16, 21, 18, 0.88) 0%, rgba(16, 21, 18, 0.66) 44%, rgba(16, 21, 18, 0.14) 80%); }
.mypd-hero__shade::before {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 220px;
	background: linear-gradient(0deg, rgba(16, 21, 18, 0.7) 0%, rgba(16, 21, 18, 0) 100%);
}
.mypd-hero__shade::after {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 260px;
	background: linear-gradient(180deg, rgba(16, 21, 18, 0.72) 0%, rgba(16, 21, 18, 0) 100%);
}
.mypd-hero .mypd-header { flex: 0 0 auto; }
.mypd-hero__body {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	width: 100%;
	max-width: calc(var(--mypd-wrap) + 2 * var(--mypd-gutter));
	margin: 0 auto;
	padding: 44px var(--mypd-gutter) 104px;
	box-sizing: border-box;
}
.mypd-hero__copy { max-width: 660px; animation: mypdUp 0.55s ease-out both; }
@keyframes mypdUp { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.mypd-hero .mypd-eyebrow { color: var(--wp--preset--color--primary-on-dark); margin-bottom: 20px; }
.mypd-hero h1 {
	margin: 0 0 22px;
	color: var(--wp--preset--color--surface);
	font-weight: 300;
	text-wrap: pretty;
}
.mypd-hero h1 strong { display: block; color: #5EC973; }
.mypd-hero__lead {
	margin: 0 0 34px;
	max-width: 520px;
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.6;
	color: rgba(235, 242, 236, 0.86);
	text-wrap: pretty;
}
.mypd-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 22px; margin-top: 22px; }
.mypd-hero__actions .wp-block-buttons { margin: 0; }
.mypd-hero__meta { margin: 0; font-size: 13.5px; font-weight: 500; color: rgba(255, 255, 255, 0.72); }

@media (max-width: 1023px) {
	.mypd-hero { min-height: min(calc(100vh - 32px), 900px); min-height: min(calc(100svh - 32px), 900px); }
	.mypd-hero__shade { background: linear-gradient(180deg, rgba(16, 21, 18, 0.55) 0%, rgba(16, 21, 18, 0.82) 100%); }
	.mypd-hero__shade::before {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 220px;
	background: linear-gradient(0deg, rgba(16, 21, 18, 0.7) 0%, rgba(16, 21, 18, 0) 100%);
}
.mypd-hero__shade::after { display: none; }
	.mypd-hero__body { align-items: flex-end; padding-top: 36px; padding-bottom: 62px; }
	.mypd-hero h1 { margin-bottom: 12px; }
	.mypd-hero h1 strong { display: inline; }
	.mypd-hero__lead { margin-bottom: 18px; }
	.mypd-search--hero { display: none; }
	.mypd-hero__actions { margin-top: 0; }
}
@media (max-width: 767px) {
	.mypd-hero { min-height: 0; }
	.mypd-hero__body { padding-top: 44px; padding-bottom: 30px; }
	.mypd-hero__lead { margin-bottom: 16px; }
	.mypd-hero .wp-block-button.is-style-on-dark .wp-block-button__link { background: var(--wp--preset--color--surface); border-color: var(--wp--preset--color--surface); color: var(--wp--preset--color--ink); }
	.mypd-utility__more { display: none; }
	.mypd-utility p { padding-block: 8px; font-size: 11.5px; }
	.mypd-hero .mypd-eyebrow { font-size: 10px; letter-spacing: 0.16em; margin-bottom: 12px; }
	.mypd-hero__meta { font-size: 12.5px; }
}

/* ---------- sections ---------- */

.mypd-main { margin-top: 0; }
.mypd-main--home > .wp-block-post-content > * { margin-block: 0; }
.mypd-section,
.mypd-story__inner,
.mypd-brands__inner,
.mypd-branches__inner,
.mypd-deals__inner,
.mypd-footer__grid,
.mypd-footer__base {
	max-width: var(--mypd-wrap);
	margin-inline: auto;
	box-sizing: content-box;
	padding-inline: var(--mypd-gutter);
}
.mypd-section { padding-block: var(--wp--preset--spacing--section) 0; }
.mypd-section--first {
	position: relative;
	z-index: 1;
	margin-top: -56px !important;
	padding-top: 44px;
	padding-inline: var(--mypd-gutter);
	border-radius: 20px 20px 0 0;
	background: var(--wp--preset--color--surface);
}
.mypd-section + .mypd-story { margin-top: var(--wp--preset--spacing--section); }
.mypd-section__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px 24px;
	margin-bottom: 30px;
}
.mypd-section__head h2 { margin: 0; }
.mypd-section__more { margin: 0; font-size: 14.5px; }

/* Category tiles */
.mypd-cat-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.mypd-cat a { display: block; color: var(--wp--preset--color--ink); text-decoration: none; transition: transform 0.25s ease; }
.mypd-cat a:hover { transform: translateY(-5px); text-decoration: none; }
.mypd-cat__media {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 190px;
	border-radius: 12px;
	background: var(--wp--preset--color--tile);
	overflow: hidden;
}
.mypd-cat__media img { max-height: 78%; max-width: 78%; width: auto; height: auto; object-fit: contain; mix-blend-mode: multiply; }
.mypd-cat__media.is-placeholder { background: repeating-linear-gradient(45deg, #F6F8F4 0, #F6F8F4 10px, #F0F3EE 10px, #F0F3EE 20px); }
.mypd-cat__note { font-family: var(--wp--preset--font-family--mono); font-size: 11px; color: var(--wp--preset--color--muted); }
.mypd-cat__name { display: block; padding: 13px 4px 0; font-size: 14.5px; font-weight: 700; line-height: 1.3; }
.mypd-cat--all { grid-column: span var(--span-5, 1); }
.mypd-cat--all .mypd-cat__media {
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	padding: 18px;
	box-sizing: border-box;
	background: var(--wp--preset--color--primary-strong);
	color: var(--wp--preset--color--surface);
	transition: background 0.25s ease;
}
.mypd-cat--all a:hover .mypd-cat__media { background: var(--wp--preset--color--primary-deep); }
.mypd-cat--all .mypd-cat__arrow { font-size: 24px; font-weight: 300; line-height: 1; margin-bottom: auto; }
.mypd-cat--all .mypd-cat__name { padding: 0; }
.mypd-cat__sub { font-size: 12.5px; margin-top: 2px; }

/* Category links on the catalogue */
.mypd-chips ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 26px; padding: 0; list-style: none; }
@media (max-width: 767px) {
	.mypd-chips { margin-inline: calc(-1 * var(--mypd-gutter)); }
	.mypd-chips ul { flex-wrap: nowrap; overflow-x: auto; padding: 2px var(--mypd-gutter) 4px; margin-bottom: 18px; scrollbar-width: none; }
	.mypd-chips ul::-webkit-scrollbar { display: none; }
	.mypd-chips li { flex: 0 0 auto; }
	.mypd-cart-empty .mypd-chips { margin-inline: 0; }
	.mypd-cart-empty .mypd-chips ul { flex-wrap: wrap; padding-inline: 0; }
}
.mypd-chips a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 6px 14px;
	box-sizing: border-box;
	border: 1.5px solid var(--wp--preset--color--field-line);
	border-radius: 100px;
	color: var(--wp--preset--color--ink);
	font-size: 13.5px;
	font-weight: 600;
	text-decoration: none;
	transition: border-color var(--mypd-ease), background var(--mypd-ease);
}
.mypd-chips a:hover { border-color: var(--wp--preset--color--primary-bright); text-decoration: none; }
.mypd-chips a[aria-current] { background: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--ink); color: var(--wp--preset--color--surface); }

/* Product cards: each card is a subgrid, so image, title, code, price, badge
   and button sit on shared rows across the whole row of cards. */
.mypd-products .wc-block-product-template,
.mypd-products .mypd-cards {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: auto;
	gap: 0 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.mypd-products--featured .mypd-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mypd-cards > li {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 8;
	row-gap: 7px;
	align-content: start;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding-bottom: 34px;
	text-align: left;
	transition: transform 0.25s ease;
}
.mypd-cards > li:hover { transform: translateY(-5px); }
.mypd-cards > li > * { margin: 0 !important; }
.mypd-cards > li > .mypd-card__media { grid-row: 1; margin-bottom: 9px !important; }
.mypd-cards > li > .mypd-card__brand { grid-row: 2; }
.mypd-cards > li > .mypd-card__title { grid-row: 3; }
.mypd-cards > li > .mypd-card__size { grid-row: 4; }
.mypd-cards > li > .mypd-card__code { grid-row: 5; }
.mypd-cards > li > .mypd-card__price { grid-row: 6; align-self: end; }
.mypd-cards > li > .mypd-delivery-badge { grid-row: 7; }
.mypd-cards > li > .mypd-card__button { grid-row: 8; align-self: end; }
.mypd-card__media .wc-block-components-product-image,
.mypd-card__media a { display: block; }
.mypd-card__media a {
	position: relative;
	display: flex !important;
	align-items: center;
	justify-content: center;
	height: 230px;
	border-radius: 12px;
	background: var(--wp--preset--color--tile);
	overflow: hidden;
}
.mypd-card__media img {
	width: auto !important;
	height: auto !important;
	max-height: 186px;
	max-width: 80%;
	object-fit: contain;
	mix-blend-mode: multiply;
}
.mypd-card__brand {
	padding: 0 4px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}
.mypd-card__brand a { color: inherit; font-weight: 600; }
.mypd-card__brand a:hover { color: var(--wp--preset--color--primary-strong); }
.mypd-size {
	margin: 0;
	font-size: 12.5px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	color: var(--wp--preset--color--body-text);
}
.mypd-card__size { padding: 0 4px; }
.mypd-product__size { margin-bottom: 6px !important; font-size: 13.5px; }
.mypd-tag {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 2;
	padding: 5px 11px;
	border: 1px solid var(--wp--preset--color--field-line);
	border-radius: 100px;
	background: var(--wp--preset--color--surface);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink);
	pointer-events: none;
}
.mypd-card__title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	min-height: 2.7em;
	font-size: 15px !important;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0;
	padding: 0 4px;
}
.mypd-card__title a { color: var(--wp--preset--color--ink); font-weight: 600; }
.mypd-card__title a:hover { color: var(--wp--preset--color--primary-strong); text-decoration: none; }
.mypd-card__code,
.mypd-product__code {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	color: var(--wp--preset--color--muted);
	text-transform: uppercase;
	padding: 0 4px;
}
.mypd-card__price { padding: 6px 4px 0; font-size: 22px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.2; text-align: left !important; }
.mypd-card__price .woocommerce-price-suffix,
.mypd-product__price .woocommerce-price-suffix { font-size: 11.5px; font-weight: 500; color: var(--wp--preset--color--muted); letter-spacing: 0; margin-left: 4px; }
.mypd-call-price { font-size: 17px; font-weight: 700; color: var(--wp--preset--color--ink); letter-spacing: 0; }
.mypd-delivery-badge { padding: 0 4px; margin: 0; }
@media (max-width: 767px) { .mypd-pill__more { display: none; } }
.mypd-card__button { padding: 6px 4px 0; display: flex !important; flex-direction: column; align-items: stretch !important; }
.mypd-card__button .wp-block-button__link,
.mypd-card__button .wc-block-components-product-button__button {
	display: block;
	width: 100%;
	margin: 0;
	border: 1.5px solid var(--wp--preset--color--primary-strong) !important;
	border-radius: 8px;
	padding: 9.5px 0 !important;
	background: transparent !important;
	color: var(--wp--preset--color--primary-strong) !important;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	transition: background var(--mypd-ease), color var(--mypd-ease);
}
.mypd-card__button .wp-block-button__link:hover,
.mypd-card__button .wc-block-components-product-button__button:hover {
	background: var(--wp--preset--color--primary-strong) !important;
	color: var(--wp--preset--color--surface) !important;
}
.mypd-pagination { margin-top: 40px; font-weight: 700; gap: 14px; }

/* Our story */
.mypd-story { background: var(--wp--preset--color--tint); padding-block: var(--wp--preset--spacing--section); margin-top: var(--wp--preset--spacing--section); }
.mypd-story__inner { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 32px 72px; align-items: center; }
.mypd-story__text h2 { margin: 0 0 20px; }
.mypd-story__text p { margin: 0 0 14px; font-size: 16px; line-height: 1.7; color: var(--wp--preset--color--body-text); max-width: 600px; }
.mypd-story__text p:last-child { margin: 18px 0 0; font-size: 14.5px; }
.mypd-story__facts { display: grid; gap: 14px; }
.mypd-fact {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	align-items: center;
	gap: 18px;
	padding: 20px 24px;
	border-radius: 14px;
	background: var(--wp--preset--color--surface);
	box-shadow: var(--wp--preset--shadow--card);
}
.mypd-fact > * { margin: 0; }
.mypd-fact__value { font-size: 40px; font-weight: 300; letter-spacing: -0.03em; line-height: 1; color: var(--wp--preset--color--primary-strong); }
.mypd-fact__label { font-size: 14.5px; font-weight: 600; line-height: 1.4; }

/* Suppliers */
.mypd-brands { border-top: 1px solid var(--wp--preset--color--line); border-bottom: 1px solid var(--wp--preset--color--line); background: #FDFEFD; }
.mypd-brands__inner { padding-block: 52px; }
.mypd-brands__head { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 8px 24px; margin-bottom: 26px; }
.mypd-brands__head h2 { margin: 0; font-size: 24px; letter-spacing: -0.01em; }
.mypd-brands__head p { margin: 0; font-size: 13.5px; font-weight: 500; color: var(--wp--preset--color--muted); }
.mypd-brands__head p strong { color: var(--wp--preset--color--primary-strong); }
.mypd-marquee { display: flex; align-items: center; gap: 18px; }
.mypd-marquee__viewport {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 80px, #000 calc(100% - 80px), transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 80px, #000 calc(100% - 80px), transparent 100%);
}
.mypd-marquee__track { display: flex; width: max-content; animation: mypdMarquee 38s linear infinite; }
.mypd-marquee:hover .mypd-marquee__track,
.mypd-marquee:focus-within .mypd-marquee__track,
.mypd-marquee.is-paused .mypd-marquee__track { animation-play-state: paused; }
@keyframes mypdMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.mypd-brand-strip { display: flex; align-items: center; gap: 52px; margin: 0; padding: 0 52px 0 0; list-style: none; flex: 0 0 auto; }
.mypd-brand-strip li { flex: 0 0 auto; white-space: nowrap; }
.mypd-brand-strip a {
	display: inline-block;
	padding: 6px 0;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: #7A837C;
	text-decoration: none;
	transition: color var(--mypd-ease);
}
.mypd-brand-strip a:hover { color: var(--wp--preset--color--ink); text-decoration: none; }
.mypd-marquee__toggle {
	flex: 0 0 auto;
	min-height: 36px;
	padding: 6px 14px;
	border: 1.5px solid var(--wp--preset--color--field-line);
	border-radius: 100px;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--muted);
	font: inherit;
	font-size: 12.5px;
	font-weight: 700;
	cursor: pointer;
}
.mypd-marquee__toggle:hover { border-color: var(--wp--preset--color--ink); color: var(--wp--preset--color--ink); }
@media (prefers-reduced-motion: reduce) {
	.mypd-marquee__viewport { -webkit-mask-image: none; mask-image: none; }
	.mypd-marquee__track { width: auto; }
	.mypd-marquee__track > [aria-hidden] { display: none; }
	.mypd-brand-strip { flex-wrap: wrap; gap: 10px 40px; padding: 0; flex: 1 1 auto; }
	.mypd-marquee__toggle { display: none; }
}

/* Customer quote */
.mypd-quote { max-width: 824px; margin-inline: auto; padding: 78px var(--mypd-gutter) 82px; text-align: center; }
.mypd-quote .mypd-eyebrow { margin-bottom: 22px; }
.mypd-quote .wp-block-quote { margin: 0; padding: 0; }
.mypd-quote .wp-block-quote p { margin: 0; letter-spacing: -0.01em; text-wrap: pretty; }
.mypd-quote cite {
	display: block;
	margin-top: 20px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12.5px;
	font-style: normal;
	color: var(--wp--preset--color--muted);
}
.mypd-quote--page { padding-block: 40px; }

/* Branches */
.mypd-branches { background: var(--wp--preset--color--tint); }
.mypd-branches__inner { padding-block: 80px 88px; }
.mypd-branches__inner h2 { margin: 0 0 30px; }
.mypd-branch-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.mypd-branch-card {
	padding: 32px 34px;
	border-radius: 14px;
	background: var(--wp--preset--color--surface);
	box-shadow: var(--wp--preset--shadow--card);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.mypd-branch-card:hover { transform: translateY(-4px); box-shadow: var(--wp--preset--shadow--lift); }
.mypd-branch-card > * { margin: 0; }
.mypd-branch-card h3 { margin-bottom: 4px; }
.mypd-branch-card__addr { font-size: 15px; font-weight: 500; color: var(--wp--preset--color--muted); margin-bottom: 10px !important; }
.mypd-branch-card__tel a { font-size: 21px; font-weight: 800; }
.mypd-branch-card__mail { font-size: 14px; margin-top: 2px !important; }
.mypd-branch-card__mail a { font-weight: 600; }
.mypd-branch-card__note { margin-top: 16px !important; }
.mypd-branch-card__note .mypd-pill::before { display: none; }
.mypd-branch-card__links { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-top: 14px !important; font-size: 14px; }

/* End of Line Deals */
.mypd-deals { background: var(--wp--preset--color--dark); color: var(--wp--preset--color--footer-text); }
.mypd-deals__inner { padding-block: 64px; }
.mypd-deals .mypd-eyebrow { color: var(--wp--preset--color--deals-on-dark); margin-bottom: 14px; }
.mypd-deals h2 { margin: 0 0 14px; color: var(--wp--preset--color--surface); }
.mypd-deals h2 strong { color: var(--wp--preset--color--deals-on-dark); }
.mypd-deals p { max-width: 600px; margin: 0 0 26px; font-size: 16px; line-height: 1.6; }
.mypd-deals__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 32px 64px; }
.mypd-deals__inner > * { margin: 0; }
.mypd-deals__media { margin: 0; padding: 18px; border-radius: 14px; background: var(--wp--preset--color--surface); box-shadow: 0 24px 48px rgba(0, 0, 0, 0.35); line-height: 0; }
.mypd-deals__media img { display: block; width: clamp(150px, 18vw, 240px); height: auto; }
.mypd-deals .wp-block-button__link:focus-visible { outline-color: var(--wp--preset--color--surface); }

/* ---------- footer ---------- */

.mypd-footer { background: var(--wp--preset--color--footer); color: var(--wp--preset--color--footer-text); font-size: 14px; }
.mypd-footer > * { margin-block: 0; }
.mypd-footer__grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: 44px;
	padding-top: 60px;
}
.mypd-footer__grid > * { margin: 0; }
.mypd-footer__logo { display: inline-block; margin-bottom: 16px; line-height: 0; }
.mypd-footer__logo img { height: 34px; width: auto; }
.mypd-footer__about p { margin: 0; max-width: 300px; line-height: 1.65; }
.mypd-footer__head {
	margin: 0 0 16px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--footer-muted);
}
.mypd-footer__col p { margin: 0; line-height: 1.7; font-weight: 500; }
.mypd-footer__links { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; font-weight: 500; }
.mypd-footer a { color: var(--wp--preset--color--footer-link); font-weight: 500; }
.mypd-footer a:hover { color: var(--wp--preset--color--surface); }
.mypd-footer a:focus-visible { outline-color: var(--wp--preset--color--surface); }
.mypd-footer a.mypd-footer__tel { color: var(--wp--preset--color--primary-bright); font-weight: 700; }
.mypd-footer__base {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px 22px;
	margin-top: 28px !important;
	padding-top: 20px;
	padding-bottom: 30px;
	border-top: 1px solid #2C332E;
	font-size: 12.5px;
	font-weight: 500;
	color: var(--wp--preset--color--footer-muted);
}
.mypd-footer__base p { margin: 0; }
.mypd-footer__legal { display: flex; flex-wrap: wrap; gap: 6px 22px; }
.mypd-footer__legal a { color: #99A39A; }

/* ---------- inner pages ---------- */

.mypd-page,
.mypd-shop,
.mypd-product { padding-block: 26px 84px; }
.mypd-page__title { margin: 22px 0 18px; }
.mypd-page__lead { font-size: var(--wp--preset--font-size--lead); line-height: 1.6; color: var(--wp--preset--color--body-text); max-width: 680px; margin: 0 0 30px; }
.mypd-page__content > * + * { margin-top: 16px; }
.mypd-prose { max-width: 760px; }
.mypd-prose > * { margin: 0 0 14px; }
.mypd-prose h2 { margin: 36px 0 12px; font-size: 26px; }
.mypd-prose h3 { margin: 24px 0 8px; font-size: 18px; }
.mypd-prose p,
.mypd-prose li { line-height: 1.7; color: var(--wp--preset--color--body-text); }
.mypd-crumbs {
	margin: 0;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11.5px;
	color: var(--wp--preset--color--muted);
}
.mypd-crumbs a { color: inherit; font-weight: 400; }
.mypd-shop__intro { max-width: 680px; color: var(--wp--preset--color--body-text); }
.mypd-shop__bar { margin: 0 0 22px; font-size: 13.5px; color: var(--wp--preset--color--muted); }
.mypd-shop__bar select { font: inherit; padding: 6px 10px; border: 1.5px solid var(--wp--preset--color--field-line); border-radius: 8px; background: var(--wp--preset--color--surface); }

/* Brand pages */
.mypd-brand-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.mypd-brand-card a {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 18px;
	box-sizing: border-box;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 12px;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.mypd-brand-card a:hover { transform: translateY(-4px); box-shadow: var(--wp--preset--shadow--lift); text-decoration: none; }
.mypd-brand-card__logo { display: flex; align-items: center; justify-content: center; height: 96px; margin-bottom: 14px; }
.mypd-brand-card__logo img { max-height: 80px; max-width: 80%; width: auto; height: auto; object-fit: contain; }
.mypd-brand-card__name { font-size: 15px; font-weight: 700; }
.mypd-brand-card__count { font-size: 12.5px; font-weight: 500; color: var(--wp--preset--color--muted); }
.mypd-brand-head { display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 24px 56px; align-items: start; margin-bottom: 30px; }
.mypd-brand-head .mypd-page__title { margin-top: 0; }
.mypd-brand-head .mypd-eyebrow { margin-top: 22px; }
.mypd-brand-head__copy { max-width: 680px; color: var(--wp--preset--color--body-text); line-height: 1.7; }
.mypd-brand-current { padding: 22px; border: 1px solid var(--wp--preset--color--line); border-radius: 14px; text-align: center; margin-top: 22px; }
.mypd-brand-current img { max-width: 100%; height: auto; max-height: 100px; width: auto; }
.mypd-brand-current p { margin: 12px 0 0; font-size: 14px; }

/* Branch pages */
.mypd-branch { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 32px 64px; align-items: start; }
.mypd-branch h2 { margin: 0 0 16px; font-size: var(--wp--preset--font-size--heading-3); font-weight: 300; }
.mypd-branch__card { padding: 30px 32px; border-radius: 14px; background: var(--wp--preset--color--tint); }
.mypd-branch__card > * { margin: 0; }
.mypd-branch__hours { margin-top: 14px !important; font-size: 14px; color: var(--wp--preset--color--body-text); }
.mypd-branch__hours strong { display: block; color: var(--wp--preset--color--ink); }
.mypd-ticks { margin: 0 0 26px; padding: 0; list-style: none; max-width: 68ch; }
.mypd-ticks li { position: relative; padding: 12px 0 12px 26px; border-bottom: 1px solid var(--wp--preset--color--line); color: var(--wp--preset--color--body-text); line-height: 1.6; }
.mypd-ticks li::before { content: ""; position: absolute; left: 4px; top: 21px; width: 7px; height: 7px; border-radius: 50%; background: var(--wp--preset--color--primary); }

/* ---------- product page ---------- */

.mypd-product__layout { display: grid; grid-template-columns: minmax(0, 52fr) minmax(0, 48fr); gap: 40px 64px; align-items: start; margin-top: 26px; }
.mypd-product__media .wp-block-woocommerce-product-image-gallery { max-width: none; width: 100%; }
.mypd-product__media .woocommerce-product-gallery { margin: 0; width: 100% !important; float: none !important; }
.mypd-product__media .woocommerce-product-gallery__wrapper { margin: 0; }
.mypd-product__media .woocommerce-product-gallery__image:first-child,
.mypd-product__media .flex-viewport {
	border-radius: 14px;
	background: var(--wp--preset--color--tile);
}
.mypd-product__media .woocommerce-product-gallery__image a { display: flex; align-items: center; justify-content: center; min-height: 420px; }
.mypd-product__media .woocommerce-product-gallery__image img { max-height: 440px; width: auto !important; max-width: 86%; object-fit: contain; mix-blend-mode: multiply; margin: 0 auto; }
.mypd-product__media .flex-control-thumbs { display: flex; gap: 12px; margin: 14px 0 0; padding: 0; list-style: none; }
.mypd-product__media .flex-control-thumbs li { width: 86px; }
.mypd-product__media .flex-control-thumbs img { border-radius: 10px; background: var(--wp--preset--color--tile); border: 2px solid transparent; cursor: pointer; }
.mypd-product__media .flex-control-thumbs img.flex-active { border-color: var(--wp--preset--color--primary); }
.mypd-product__media .woocommerce-product-gallery__trigger { display: none; }
.mypd-product__info > * { margin: 0; }
.mypd-product__brand { margin-bottom: 10px !important; color: var(--wp--preset--color--muted); letter-spacing: 0.16em; }
.mypd-product__brand a { color: inherit; font-weight: 600; }
.mypd-product__media { position: relative; }
.mypd-product__media > .mypd-tag { top: 18px; left: 18px; }
.mypd-product__title { font-size: clamp(25px, 18.3px + 1.71vw, 34px); line-height: 1.15; font-weight: 300; margin-bottom: 10px !important; }
.mypd-product__code { padding: 0; font-size: 11.5px; margin-bottom: 18px !important; }
.mypd-product__price { font-size: 32px; font-weight: 700; letter-spacing: -0.01em; margin-bottom: 24px !important; }
.mypd-product__price .mypd-call-price { font-size: 24px; }
.mypd-delivery-panel { border: 1px solid var(--wp--preset--color--line); border-radius: 14px; padding: 22px 24px; margin-bottom: 22px !important; }
.mypd-delivery-panel__head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.mypd-delivery-panel__head h2 { margin: 0; font-size: 15px; font-weight: 700; letter-spacing: 0; line-height: 1.3; }
.mypd-delivery-panel__head .mypd-pill::before { display: none; }
.mypd-delivery-panel ul { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }
.mypd-delivery-panel li { display: flex; align-items: center; gap: 12px; font-size: 13.5px; color: var(--wp--preset--color--muted); }
.mypd-delivery-panel li::before { content: ""; flex: 0 0 auto; width: 7px; height: 7px; border-radius: 50%; background: var(--wp--preset--color--primary); }
.mypd-delivery-panel li.is-unavailable::before { background: var(--wp--preset--color--subtle); }
.mypd-delivery-panel li strong { font-size: 14px; color: var(--wp--preset--color--ink); }
.mypd-delivery-panel li.is-unavailable strong { color: var(--wp--preset--color--muted); }
.mypd-delivery-panel__text { flex: 1 1 auto; }
.mypd-delivery-panel li .mypd-pill { flex: 0 0 auto; padding: 4px 11px; font-size: 11.5px; }
.mypd-delivery-panel li .mypd-pill::before { display: none; }
.mypd-delivery-panel__note { margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--wp--preset--color--line); font-size: 13.5px; font-weight: 600; color: var(--wp--preset--color--pill-gold-text); }
.mypd-product__buy { margin-bottom: 18px !important; }
.mypd-product__buy form.cart { display: flex; gap: 12px; margin: 0; }
.mypd-product__buy .quantity input { height: 50px; width: 72px; border: 1.5px solid var(--wp--preset--color--field-line); border-radius: 10px; font: inherit; font-weight: 700; text-align: center; }
.mypd-product__buy .single_add_to_cart_button { flex: 1 1 auto; height: 50px; border-radius: 10px; font-size: 15.5px; }
.mypd-product__phone { margin-bottom: 22px !important; padding: 14px 18px; border-radius: 10px; background: var(--wp--preset--color--tint); font-size: 14px; color: var(--wp--preset--color--body-text); }
.mypd-accordion { border-top: 1px solid var(--wp--preset--color--line); }
.mypd-accordion > * { margin: 0; }
.mypd-accordion .wp-block-details { border-bottom: 1px solid var(--wp--preset--color--line); }
.mypd-accordion summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 2px;
	font-size: 14.5px;
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}
.mypd-accordion summary::-webkit-details-marker { display: none; }
.mypd-accordion summary::after { content: "+"; font-size: 20px; font-weight: 300; color: var(--wp--preset--color--muted); }
.mypd-accordion details[open] summary::after { content: "−"; }
.mypd-accordion details > :not(summary) { margin: 0 2px 16px; font-size: 14.5px; line-height: 1.7; color: var(--wp--preset--color--body-text); }
.mypd-accordion details .wp-block-post-content > * { margin: 0 0 10px; }
.mypd-accordion details ul { padding-left: 20px; }
.mypd-specs__table { width: 100%; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums; }
.mypd-specs__table th,
.mypd-specs__table td { padding: 9px 0; border-bottom: 1px solid var(--wp--preset--color--line); text-align: left; vertical-align: top; }
.mypd-specs__table th { width: 42%; padding-right: 16px; font-weight: 600; color: var(--wp--preset--color--ink); }
.mypd-specs__table td { color: var(--wp--preset--color--body-text); }
.mypd-specs__sheet { margin-top: 14px !important; }
.mypd-specs__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	padding: 8px 16px;
	box-sizing: border-box;
	border: 1.5px solid var(--wp--preset--color--primary-strong);
	border-radius: 8px;
	font-size: 14px;
	text-decoration: none;
}
.mypd-specs__link::before {
	content: "";
	width: 12px;
	height: 14px;
	background: currentColor;
	-webkit-mask: linear-gradient(#000 0 0) 0 0 / 100% 2px no-repeat, linear-gradient(#000 0 0) 0 6px / 100% 2px no-repeat, linear-gradient(#000 0 0) 0 12px / 70% 2px no-repeat;
	mask: linear-gradient(#000 0 0) 0 0 / 100% 2px no-repeat, linear-gradient(#000 0 0) 0 6px / 100% 2px no-repeat, linear-gradient(#000 0 0) 0 12px / 70% 2px no-repeat;
}
.mypd-specs__link:hover { background: var(--wp--preset--color--primary-strong); color: var(--wp--preset--color--surface); text-decoration: none; }

/* ---------- WooCommerce cart and checkout ---------- */

.mypd-page--store > .mypd-page__title { max-width: var(--mypd-wrap) !important; }
.wc-block-components-radio-control__option:has(input[value="mypd_freight"]) .wc-block-components-radio-control__secondary-label { display: none; }

.mypd-page--store .wc-block-components-product-details { font-size: 12.5px; }
.mypd-page--store .wc-block-components-product-details__delivery { color: var(--wp--preset--color--pill-gold-text); font-weight: 600; }
.wc-block-components-button:not(.is-link) { border-radius: 10px; font-weight: 700; }
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button { background: var(--wp--preset--color--primary-strong) !important; color: var(--wp--preset--color--surface) !important; }
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover { background: var(--wp--preset--color--primary-deep) !important; }

/* Cart page: the theme's empty state, and the cart lines and totals in theme type. */
.mypd-page--cart .mypd-page__title { margin-bottom: 26px; }
.mypd-cart-page { margin: 0; }
.mypd-cart-empty {
	max-width: 760px;
	padding: clamp(22px, 4vw, 40px);
	border-radius: 14px;
	background: var(--wp--preset--color--tint);
}
.mypd-cart-empty > * { margin: 0; }
.mypd-cart-empty__title { margin-bottom: 10px; font-size: var(--wp--preset--font-size--heading-3); font-weight: 300; letter-spacing: -0.01em; }
.mypd-cart-empty__lead { margin-bottom: 20px; max-width: 60ch; color: var(--wp--preset--color--body-text); line-height: 1.65; }
.mypd-cart-empty .mypd-search--page { margin: 0 0 22px; }
.mypd-cart-empty .mypd-chips ul { margin: 0; }
.mypd-cart-page .wc-block-cart-items { border-collapse: collapse; }
.mypd-cart-page .wc-block-cart-items__header {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}
.mypd-cart-page .wc-block-cart-items__header th { padding-bottom: 12px; border-bottom: 1px solid var(--wp--preset--color--line); }
.mypd-cart-page .wc-block-cart-items__row { border-bottom: 1px solid var(--wp--preset--color--line); }
.mypd-cart-page .wc-block-cart-items__row > td { padding-block: 20px !important; }
.mypd-cart-page .wc-block-cart-item__image img { border-radius: 10px; background: var(--wp--preset--color--tile); mix-blend-mode: multiply; }
.mypd-cart-page .wc-block-components-product-name { font-size: 15px; font-weight: 600; color: var(--wp--preset--color--ink); text-decoration: none; }
.mypd-cart-page .wc-block-components-product-name:hover { color: var(--wp--preset--color--primary-strong); }
.mypd-cart-page .wc-block-cart-item__prices,
.mypd-cart-page .wc-block-cart-item__total { font-weight: 700; color: var(--wp--preset--color--ink); }
.mypd-cart-page .wc-block-components-product-metadata { margin-top: 4px; }
.mypd-cart-page .wc-block-components-product-metadata__description { display: none; }
.mypd-cart-page .wc-block-components-quantity-selector {
	border: 1.5px solid var(--wp--preset--color--field-line);
	border-radius: 8px;
}
.mypd-cart-page .wc-block-components-quantity-selector::after { display: none; }
.mypd-cart-page .wc-block-components-quantity-selector input { font-weight: 700; }
.mypd-cart-page .wc-block-cart-item__remove-link { font-size: 13px !important; font-weight: 600; color: var(--wp--preset--color--muted) !important; }
.mypd-cart-page .wc-block-components-sidebar { padding: 22px 24px; border-radius: 14px; background: var(--wp--preset--color--tint); }
.mypd-cart-page .wc-block-cart__totals-title {
	font-family: var(--wp--preset--font-family--mono) !important;
	font-size: var(--wp--preset--font-size--eyebrow) !important;
	font-weight: 600 !important;
	letter-spacing: 0.16em;
	color: var(--wp--preset--color--muted);
}
.mypd-cart-page .wc-block-components-totals-item { font-size: 14px; }
.mypd-cart-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 20px; font-weight: 700; }
.mypd-cart-page .wc-block-cart__submit-button { min-height: 52px; font-size: 15.5px; }

/* ---------- shop menu ---------- */

.mypd-menu {
	display: flex;
	align-items: stretch;
	gap: 0 34px;
	border-top: 1px solid var(--wp--preset--color--line);
	padding: 0 var(--mypd-gutter);
}
.mypd-menu > * { margin-block: 0; }
.mypd-menu .mypd-nav { border-top: 0; padding: 0; }
.mypd-shopmenu { display: flex; align-items: center; gap: 2px; font-size: 14px; letter-spacing: 0.01em; }
.mypd-shopmenu__link {
	display: block;
	padding: 13px 0 11px;
	border-bottom: 2px solid transparent;
	color: var(--wp--preset--color--muted);
	font-weight: 600;
	text-decoration: none;
	transition: color var(--mypd-ease);
}
.mypd-shopmenu__link:hover { color: var(--wp--preset--color--ink); text-decoration: none; }
.mypd-shopmenu__link[aria-current] { color: var(--wp--preset--color--ink); font-weight: 700; border-bottom-color: var(--wp--preset--color--primary); }
.mypd-shopmenu__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 32px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: none;
	color: var(--wp--preset--color--muted);
	cursor: pointer;
}
.mypd-shopmenu__toggle::before {
	content: "";
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg);
	transition: transform var(--mypd-ease);
}
.mypd-shopmenu__toggle:hover,
.mypd-shopmenu.is-open .mypd-shopmenu__toggle { color: var(--wp--preset--color--ink); }
.mypd-shopmenu.is-open .mypd-shopmenu__toggle::before { transform: translateY(4px) rotate(-135deg); }
.mypd-shopmenu__panel {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 5;
	background: var(--wp--preset--color--surface);
	border-top: 1px solid var(--wp--preset--color--line);
	border-bottom: 1px solid var(--wp--preset--color--line);
	box-shadow: var(--wp--preset--shadow--lift);
	color: var(--wp--preset--color--ink);
}
.mypd-shopmenu__panel[hidden] { display: none; }
.mypd-shopmenu__inner {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px 40px;
	max-width: var(--mypd-wrap);
	margin: 0 auto;
	padding: 28px var(--mypd-gutter) 26px;
}
.mypd-shopmenu__inner > * { margin: 0; }
.mypd-shopmenu__head {
	margin: 0 0 12px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-strong);
}
.mypd-shopmenu__group ul { margin: 0; padding: 0; list-style: none; }
.mypd-shopmenu__group:first-child { grid-column: span 2; }
.mypd-shopmenu__group:first-child > ul { columns: 2; column-gap: 40px; }
.mypd-shopmenu__group > ul > li { break-inside: avoid; }
.mypd-shopmenu__group > ul > li { padding-bottom: 8px; }
.mypd-shopmenu__cat { font-size: 15px; font-weight: 700; color: var(--wp--preset--color--ink); }
.mypd-shopmenu__sub { display: flex; flex-wrap: wrap; gap: 2px 14px; margin-top: 2px !important; }
.mypd-shopmenu__sub a { font-size: 13.5px; font-weight: 500; color: var(--wp--preset--color--muted); }
.mypd-shopmenu__panel a:hover { color: var(--wp--preset--color--primary-strong); }
.mypd-shopmenu__foot { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px 26px; padding-top: 16px; border-top: 1px solid var(--wp--preset--color--line); font-size: 14px; }
.mypd-bar.is-stuck .mypd-shopmenu__link { padding-top: 11px; padding-bottom: 9px; }

.mypd-hero .mypd-bar:not(.is-stuck) .mypd-menu {
	border-top-color: rgba(255, 255, 255, 0.14);
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}
.mypd-hero .mypd-bar:not(.is-stuck) .mypd-nav { border-bottom: 0; }
.mypd-hero .mypd-bar:not(.is-stuck) .mypd-shopmenu__link,
.mypd-hero .mypd-bar:not(.is-stuck) .mypd-shopmenu__toggle { color: rgba(255, 255, 255, 0.82); }
.mypd-hero .mypd-bar:not(.is-stuck) .mypd-shopmenu__link:hover,
.mypd-hero .mypd-bar:not(.is-stuck) .mypd-shopmenu__toggle:hover { color: var(--wp--preset--color--surface); }

/* ---------- search suggestions ---------- */

.mypd-search.has-suggest { position: relative; }
.mypd-suggest {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	z-index: 60;
	min-width: min(420px, calc(100vw - 2 * var(--mypd-gutter)));
	max-height: min(70vh, 520px);
	overflow-y: auto;
	padding: 10px;
	box-sizing: border-box;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 12px;
	background: var(--wp--preset--color--surface);
	box-shadow: var(--wp--preset--shadow--lift);
	color: var(--wp--preset--color--ink);
	text-align: left;
}
.mypd-suggest[hidden] { display: none; }
.mypd-suggest__head {
	margin: 6px 8px 6px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}
.mypd-suggest__links { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 6px 6px; }
.mypd-suggest [role="option"] { color: var(--wp--preset--color--ink); text-decoration: none; }
.mypd-suggest__link {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	padding: 6px 12px;
	border: 1.5px solid var(--wp--preset--color--field-line);
	border-radius: 100px;
	font-size: 13.5px;
	font-weight: 600;
}
.mypd-suggest__link span { font-size: 11px; font-weight: 500; color: var(--wp--preset--color--muted); }
.mypd-suggest__product { display: flex; align-items: center; gap: 12px; padding: 7px 8px; border-radius: 8px; }
.mypd-suggest__img { flex: 0 0 48px; height: 48px; border-radius: 8px; background: var(--wp--preset--color--tile); overflow: hidden; }
.mypd-suggest__img img { width: 48px; height: 48px; object-fit: contain; mix-blend-mode: multiply; }
.mypd-suggest__text { display: flex; flex-direction: column; min-width: 0; }
.mypd-suggest__name { font-size: 14px; font-weight: 600; line-height: 1.3; }
.mypd-suggest__meta { display: flex; flex-wrap: wrap; gap: 0 12px; font-size: 12.5px; font-weight: 600; color: var(--wp--preset--color--body-text); }
.mypd-suggest__code { font-family: var(--wp--preset--font-family--mono); font-size: 11px; font-weight: 400; color: var(--wp--preset--color--muted); }
.mypd-suggest__all { display: block; margin-top: 4px; padding: 10px 8px; border-top: 1px solid var(--wp--preset--color--line); font-size: 13.5px; font-weight: 700; color: var(--wp--preset--color--primary-strong) !important; }
.mypd-suggest [role="option"]:hover,
.mypd-suggest [aria-selected="true"] { background: var(--wp--preset--color--tint); text-decoration: none; }
.mypd-suggest__link:hover,
.mypd-suggest__link[aria-selected="true"] { border-color: var(--wp--preset--color--primary-bright); }
.mypd-suggest__none { margin: 8px; font-size: 13.5px; color: var(--wp--preset--color--body-text); }

/* ---------- enquiry form ---------- */

.mypd-ask { font: inherit; cursor: pointer; }
.mypd-card__button .mypd-ask { width: 100%; }
.mypd-ask--primary {
	display: block;
	width: 100%;
	min-height: 50px;
	margin: 0;
	border: 0;
	border-radius: 10px;
	padding: 12px 20px;
	background: var(--wp--preset--color--primary-strong);
	color: var(--wp--preset--color--surface);
	font-size: 15.5px;
	font-weight: 700;
	transition: background var(--mypd-ease);
}
.mypd-ask--primary:hover { background: var(--wp--preset--color--primary-deep); }
.mypd-product__ask { margin-bottom: 14px !important; }
.mypd-ask--freight {
	margin: 12px 0 0;
	min-height: 40px;
	padding: 8px 16px;
	border: 1.5px solid var(--wp--preset--color--pill-gold-text);
	border-radius: 8px;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--pill-gold-text);
	font-size: 14px;
	font-weight: 700;
	transition: background var(--mypd-ease), color var(--mypd-ease);
}
.mypd-ask--freight:hover { background: var(--wp--preset--color--pill-gold-text); color: var(--wp--preset--color--surface); }

.mypd-enquiry--dialog {
	width: min(560px, calc(100vw - 32px));
	max-height: calc(100dvh - 32px);
	margin: auto;
	padding: 0;
	border: 0;
	border-radius: 16px;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	box-shadow: 0 24px 60px rgba(20, 30, 24, 0.28);
}
.mypd-enquiry--dialog::backdrop { background: rgba(25, 30, 27, 0.55); }
.mypd-enquiry--dialog .mypd-enquiry__form,
.mypd-enquiry--dialog .mypd-enquiry__done { padding: 24px clamp(18px, 4vw, 30px) 26px; }
.mypd-enquiry__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.mypd-enquiry__title { margin: 0; font-size: var(--wp--preset--font-size--heading-3); font-weight: 700; letter-spacing: -0.01em; }
.mypd-enquiry__close {
	position: relative;
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	margin: -6px -8px 0 0;
	border: 0;
	border-radius: 8px;
	background: none;
	color: var(--wp--preset--color--muted);
	cursor: pointer;
}
.mypd-enquiry__close::before,
.mypd-enquiry__close::after { content: ""; position: absolute; top: 19px; left: 11px; width: 18px; height: 2px; border-radius: 2px; background: currentColor; transform: rotate(45deg); }
.mypd-enquiry__close::after { transform: rotate(-45deg); }
.mypd-enquiry__close:hover { color: var(--wp--preset--color--ink); background: var(--wp--preset--color--tint); }
.mypd-enquiry__product { margin: 6px 0 18px; font-size: 14px; font-weight: 600; color: var(--wp--preset--color--body-text); }
.mypd-enquiry__product:empty { display: none; }
.mypd-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; }
.mypd-field { display: flex; flex-direction: column; gap: 5px; margin: 0; }
.mypd-field--wide { grid-column: 1 / -1; }
.mypd-field label { font-size: 13px; font-weight: 700; }
.mypd-field input,
.mypd-field select,
.mypd-field textarea {
	width: 100%;
	min-height: 44px;
	box-sizing: border-box;
	padding: 9px 12px;
	border: 1.5px solid var(--wp--preset--color--field-line);
	border-radius: 8px;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	font: inherit;
	font-size: 15px;
}
.mypd-field textarea { min-height: 84px; resize: vertical; line-height: 1.5; }
.mypd-field input:focus-visible,
.mypd-field select:focus-visible,
.mypd-field textarea:focus-visible { outline: 2px solid var(--wp--preset--color--primary-strong); outline-offset: 0; border-color: transparent; }
.mypd-field [aria-invalid="true"] { border-color: #B3412F; }
.mypd-field__error { font-size: 12.5px; font-weight: 600; color: #A33A2A; }
.mypd-field__error:empty { display: none; }
.mypd-field__hint { margin: -4px 0 0; font-size: 12.5px; color: var(--wp--preset--color--muted); }
.mypd-fields:has([data-for="phone"]:not(:empty)) .mypd-field__hint { display: none; }
.mypd-field--trap { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mypd-enquiry__status { margin: 12px 0 0; font-size: 13.5px; font-weight: 600; color: #A33A2A; }
.mypd-enquiry__status:empty { display: none; }
.mypd-enquiry__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin: 18px 0 0; }
.mypd-enquiry__send {
	min-height: 48px;
	padding: 12px 26px;
	border: 0;
	border-radius: 10px;
	background: var(--wp--preset--color--primary-strong);
	color: var(--wp--preset--color--surface);
	font: inherit;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}
.mypd-enquiry__send:hover { background: var(--wp--preset--color--primary-deep); }
.mypd-enquiry__send:disabled { opacity: 0.6; cursor: progress; }
.mypd-enquiry__phone { font-size: 13px; color: var(--wp--preset--color--muted); }
.mypd-enquiry__done { margin: 0; font-size: 16px; font-weight: 600; line-height: 1.5; color: var(--wp--preset--color--primary-strong); }
.mypd-enquiry__done:focus { outline: none; }
.mypd-enquiry__failed { margin: 0 0 14px; font-weight: 600; color: #A33A2A; }
.mypd-enquiry--inline { max-width: 640px; margin-top: 26px !important; padding-top: 24px; border-top: 1px solid var(--wp--preset--color--field-line); }
.mypd-enquiry--inline .mypd-enquiry__title { margin-bottom: 16px; }

/* ---------- no results ---------- */

.mypd-noresults { padding: clamp(20px, 3.5vw, 36px); border-radius: 14px; background: var(--wp--preset--color--tint); }
.mypd-noresults > * { margin: 0; }
.mypd-noresults__title { margin-bottom: 10px; font-size: var(--wp--preset--font-size--heading-3); font-weight: 300; letter-spacing: -0.01em; }
.mypd-noresults__lead { max-width: 62ch; color: var(--wp--preset--color--body-text); line-height: 1.65; }
.mypd-noresults__links { margin-top: 22px; }
.mypd-noresults__links .mypd-eyebrow { margin-bottom: 10px; }
.mypd-chips__list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.mypd-chips__list a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 6px 14px;
	box-sizing: border-box;
	border: 1.5px solid var(--wp--preset--color--field-line);
	border-radius: 100px;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	font-size: 13.5px;
	font-weight: 600;
	text-decoration: none;
}
.mypd-chips__list a:hover { border-color: var(--wp--preset--color--primary-bright); text-decoration: none; }
.mypd-noresults__store { margin-top: 14px !important; font-size: 14px; font-weight: 600; color: var(--wp--preset--color--body-text); }

/* ---------- delivery panel: bulky and showroom lines ---------- */

.mypd-delivery-panel__note { display: flex; flex-direction: column; align-items: flex-start; }
.mypd-delivery-panel__display { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--wp--preset--color--line); font-size: 13.5px; font-weight: 600; color: var(--wp--preset--color--ink); }
.mypd-delivery-panel__display::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 10px; border-radius: 50%; background: var(--wp--preset--color--primary); vertical-align: 1px; }

/* ---------- responsive ---------- */

@media (max-width: 1239px) {
	.mypd-products .mypd-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.mypd-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
	.mypd-story__inner,
	.mypd-branch,
	.mypd-product__layout,
	.mypd-brand-head { grid-template-columns: minmax(0, 1fr); }
	.mypd-section--first { margin-top: -32px !important; padding-top: 26px; border-radius: 16px 16px 0 0; }
	.mypd-cat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
	.mypd-cat--all { grid-column: span var(--span-3, 1); }
	.mypd-cat__media { height: 128px; }
	.mypd-cat__name { font-size: 13.5px; }
	.mypd-products .mypd-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mypd-products--featured .mypd-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 14px; }
	.mypd-utility__more:nth-last-child(-n+2) { display: none; }
	.mypd-brand-head .mypd-brand-current { max-width: 280px; }
}
@media (max-width: 767px) {
	.mypd-section--first { margin-top: 0 !important; border-radius: 0; }
	.mypd-section__head { margin-bottom: 16px; align-items: baseline; }
	.mypd-section__more { font-size: 13px; }
	.mypd-cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
	.mypd-cat--all { grid-column: span var(--span-2, 1); }
	.mypd-cat--all .mypd-cat__media { height: auto; min-height: 64px; flex-direction: row; align-items: center; justify-content: space-between; }
	.mypd-cat--all .mypd-cat__arrow { order: 2; margin: 0; }
	.mypd-deals__inner { grid-template-columns: minmax(0, 1fr); }
	.mypd-deals__media { justify-self: start; padding: 12px; }
	.mypd-deals__media img { width: 140px; }
	.mypd-products--featured .mypd-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mypd-cat__media { height: 104px; border-radius: 10px; }
	.mypd-cat__name { padding-top: 8px; font-size: 13px; }
	.mypd-cat--all .mypd-cat__media { padding: 12px; }
	.mypd-cat__sub { display: none; }
	.mypd-cards { column-gap: 14px !important; }
	.mypd-cards > li { padding-bottom: 26px; }
	.mypd-card__media a { height: 150px; border-radius: 10px; }
	.mypd-card__media img { max-height: 118px; }
	.mypd-card__title { font-size: 13.5px !important; }
	.mypd-card__price { font-size: 19px; }
	.mypd-call-price { font-size: 15px; }
	.mypd-delivery-badge .mypd-pill { font-size: 11px; padding: 4px 10px; }
	.mypd-card__button .wp-block-button__link,
	.mypd-card__button .wc-block-components-product-button__button { font-size: 12.5px; padding: 8px 0 !important; }
	.mypd-fact { grid-template-columns: 64px minmax(0, 1fr); padding: 16px 18px; }
	.mypd-fact__value { font-size: 30px; }
	.mypd-story__text p { font-size: 15px; }
	.mypd-brands__inner { padding-block: 32px; }
	.mypd-brands__head h2 { font-size: 21px; }
	.mypd-brand-strip { gap: 34px; padding-right: 34px; }
	.mypd-brand-strip a { font-size: 16px; color: var(--wp--preset--color--muted); }
	.mypd-marquee { flex-direction: column; align-items: stretch; gap: 12px; }
	.mypd-marquee__toggle { align-self: flex-start; }
	.mypd-quote { padding-block: 34px 36px; }
	.mypd-branches__inner { padding-block: 30px 34px; }
	.mypd-branches__inner h2 { margin-bottom: 16px; }
	.mypd-branch-cards { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.mypd-branch-card { padding: 18px 20px; border-radius: 12px; }
	.mypd-branch-card__tel a { font-size: 17px; }
	.mypd-deals__inner { padding-block: 30px; }
	.mypd-deals p { font-size: 14.5px; }
	.mypd-footer__grid { grid-template-columns: minmax(0, 1fr); gap: 26px; padding-top: 32px; }
	.mypd-footer__base { flex-direction: column; }
	.mypd-page,
	.mypd-shop,
	.mypd-product { padding-bottom: 48px; }
	.mypd-product__layout { gap: 24px; }
	.mypd-product__media .woocommerce-product-gallery__image a { min-height: 280px; }
	.mypd-product__media .woocommerce-product-gallery__image img { max-height: 260px; }
	.mypd-product__price { font-size: 26px; }
	.mypd-delivery-panel { padding: 18px; }
	.mypd-delivery-panel li { flex-wrap: wrap; gap: 4px 12px; }
	.mypd-delivery-panel__text { flex-basis: calc(100% - 20px); }
	.mypd-delivery-panel li .mypd-pill { margin-left: 19px; }
	.mypd-branch__card { padding: 22px; }
}

/* Phone and tablet menu panel: after the hero header rules it overrides. */
@media (max-width: 1023px) {
	.mypd-hero { overflow: visible; }
	.mypd-hero__bg { overflow: hidden; }
	.mypd-bar .mypd-menu {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: 2;
		flex-direction: column;
		gap: 0;
		max-height: calc(100dvh - 150px);
		overflow-y: auto;
		padding: 0;
		background: var(--wp--preset--color--surface);
		border-top: 1px solid var(--wp--preset--color--line);
		border-bottom: 1px solid var(--wp--preset--color--line);
		box-shadow: var(--wp--preset--shadow--lift);
	}
	.mypd-bar.is-menu-open .mypd-menu { display: flex; }
	.mypd-hero .mypd-bar:not(.is-stuck) .mypd-menu { border-top-color: var(--wp--preset--color--line); border-bottom-color: var(--wp--preset--color--line); }
	.mypd-bar .mypd-nav { padding: 0; border-top: 1px solid var(--wp--preset--color--line); }
	.mypd-shopmenu { flex-wrap: wrap; font-size: 15px; }
	.mypd-shopmenu__link,
	.mypd-hero .mypd-bar:not(.is-stuck) .mypd-shopmenu__link,
	.mypd-hero .mypd-bar:not(.is-stuck) .mypd-shopmenu__link:hover {
		flex: 1 1 auto;
		padding: 13px var(--mypd-gutter);
		border-bottom: 0;
		color: var(--wp--preset--color--ink);
	}
	.mypd-shopmenu__link[aria-current],
	.mypd-hero .mypd-bar:not(.is-stuck) .mypd-shopmenu__link[aria-current] { color: var(--wp--preset--color--primary-strong); box-shadow: inset 3px 0 0 var(--wp--preset--color--primary); }
	.mypd-shopmenu__toggle,
	.mypd-hero .mypd-bar:not(.is-stuck) .mypd-shopmenu__toggle,
	.mypd-hero .mypd-bar:not(.is-stuck) .mypd-shopmenu__toggle:hover { width: 52px; height: 48px; margin-right: calc(var(--mypd-gutter) - 14px); color: var(--wp--preset--color--ink); }
	.mypd-shopmenu__panel { position: static; flex: 1 0 100%; border-bottom: 0; box-shadow: none; background: var(--wp--preset--color--tint); }
	.mypd-shopmenu__inner { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 16px var(--mypd-gutter) 18px; }
	.mypd-shopmenu__group:first-child { grid-column: auto; }
	.mypd-shopmenu__group:first-child > ul { columns: auto; }
	.mypd-shopmenu__foot { padding-top: 12px; }
}

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