/*
Theme Name: Platts Maintenance
Description: A custom block theme scaffolded by Studio Code.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 1.0.20261027.6
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: platts-maintenance
Tags: full-site-editing, block-patterns, block-styles, wide-blocks, accessibility-ready, style-variations
*/

/* WordPress inserts margin-block-start: var(--wp--style--block-gap) between the
   template's top-level sections (header part, main, footer part) — a gap that
   exists even when no markup asks for it. Zero it so sections butt edge-to-edge
   and own their vertical rhythm via padding; this does not affect block gaps
   inside nested layouts. */
.wp-site-blocks > * + * {
	margin-block-start: 0;
}

:root {
	--pm-base: var( --wp--preset--color--base );
	--pm-stone: var( --wp--preset--color--stone );
	--pm-contrast: var( --wp--preset--color--contrast );
	--pm-forest: var( --wp--preset--color--forest );
	--pm-forest-dark: var( --wp--preset--color--forest-dark );
	--pm-sage: var( --wp--preset--color--sage );
}

/* === topbar === */
.pm-topbar {
	background-color: var( --pm-contrast );
}
.pm-topbar > .wp-block-group {
	padding-top: 0.55rem;
	padding-bottom: 0.55rem;
	gap: 0.5rem 2rem;
}
.pm-topbar__text a {
	color: var( --pm-base ) !important;
	text-decoration: none;
	font-weight: 600;
	opacity: 1;
}
.pm-topbar__text a:hover {
	text-decoration: underline;
}
.pm-topbar__text {
	color: var( --pm-base );
	opacity: 0.85;
	margin: 0;
	letter-spacing: 0.01em;
}

/* === header === */
.pm-header {
	background-color: var( --pm-forest-dark );
	padding-top: 1.1rem;
	padding-bottom: 1.1rem;
}
.pm-header > .wp-block-group {
	align-items: center;
	gap: 1.5rem 2rem;
}
.pm-logo a,
.pm-logo {
	color: var( --pm-base ) !important;
	font-family: var( --wp--preset--font-family--heading );
	font-weight: 700;
	font-size: 1.5rem;
	letter-spacing: 0.01em;
	text-decoration: none;
}
.pm-nav {
	font-size: 0.95rem;
	font-weight: 500;
}
.pm-nav .wp-block-navigation-item__content {
	color: var( --pm-base ) !important;
	opacity: 0.88;
}
.pm-nav .wp-block-navigation-item__content:hover {
	opacity: 1;
	color: var( --pm-sage ) !important;
}
.pm-header__cta .wp-element-button {
	padding: 0.65rem 1.4rem;
	font-size: 0.9rem;
	white-space: nowrap;
}

/* === buttons === */
.is-style-outline-light .wp-element-button {
	background-color: transparent;
	color: var( --pm-base );
	border: 1.5px solid var( --pm-base );
}
.is-style-outline-light .wp-element-button:hover {
	background-color: var( --pm-base );
	color: var( --pm-forest-dark );
	border-color: var( --pm-base );
}
.is-style-outline-dark .wp-element-button {
	background-color: transparent;
	color: var( --pm-contrast );
	border: 1.5px solid var( --pm-contrast );
}
.is-style-outline-dark .wp-element-button:hover {
	background-color: var( --pm-contrast );
	color: var( --pm-base );
}
/* === hero === */
.pm-hero--split {
	background-color: var( --pm-forest-dark );
	padding-top: clamp( 2.5rem, 6vw, 4rem );
	padding-bottom: clamp( 2.5rem, 6vw, 4rem );
}
.pm-hero__row {
	gap: 3rem;
}
.pm-hero__content {
	padding: 1rem clamp( 0.5rem, 3vw, 1.5rem );
}
h1.pm-hero__title.has-hero-font-size {
	font-size: clamp( 2rem, 3.6vw, 2.85rem ) !important;
}
.pm-hero--split .pm-hero__lede {
	max-width: 42ch;
}
.pm-hero__images {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}
.pm-hero__img {
	position: relative;
	margin: 0;
	border-radius: 6px;
	overflow: hidden;
}
.pm-hero__img img {
	display: block;
	width: 100%;
	height: clamp( 240px, 22vw, 320px );
	object-fit: cover;
}
.pm-hero__img figcaption {
	position: absolute;
	left: 0.75rem;
	bottom: 0.75rem;
	margin: 0;
	color: var( --pm-base );
	background-color: rgba( 18, 33, 26, 0.78 );
	padding: 0.35rem 0.75rem;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-align: left;
	border-radius: 3px;
}
.pm-hero__title {
	color: var( --pm-base );
	margin: 0 0 1.25rem;
	letter-spacing: -0.01em;
}
.pm-hero__lede {
	color: var( --pm-base );
	opacity: 0.92;
	max-width: 46ch;
	margin: 0 0 2.25rem;
}
.pm-hero__ctas {
	gap: 0.85rem;
	margin-bottom: 0;
}
.pm-hero__rating {
	gap: 0.3rem !important;
	margin: 1.5rem 0 2.25rem;
}
.pm-hero__stars {
	color: var( --pm-sage );
	font-size: 2.25rem;
	letter-spacing: 0.14em;
	margin: 0;
	line-height: 1;
	text-shadow: 0 2px 10px rgba( 0, 0, 0, 0.25 );
}
.pm-hero__rating-text {
	color: var( --pm-base );
	font-weight: 700;
	font-size: 1.15rem;
	margin: 0;
	opacity: 1;
	letter-spacing: 0.01em;
}
.pm-eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-weight: 600;
	font-size: 0.8rem;
	margin: 0 0 1rem;
	padding: 0.4rem 0.9rem;
	border-radius: 2px;
}
.pm-eyebrow--light,
.pm-hero__content .pm-eyebrow {
	color: var( --pm-base );
	background-color: rgba( 246, 242, 234, 0.12 );
	border: 1px solid rgba( 246, 242, 234, 0.35 );
}
.pm-eyebrow--dark {
	color: var( --pm-forest-dark );
	background-color: var( --pm-stone );
}

/* === section-heading === */
.pm-section {
	padding-top: clamp( 2.75rem, 5.5vw, 4.75rem );
	padding-bottom: clamp( 2.75rem, 5.5vw, 4.75rem );
}
.pm-section__title {
	margin: 0 0 1.25rem;
	letter-spacing: -0.01em;
}
.pm-section__title--light {
	color: var( --pm-base );
}
.pm-section__lede {
	max-width: 62ch;
	margin: 0 0 2.25rem;
}
.pm-section__lede--light a {
	color: var( --pm-base ) !important;
	text-decoration: underline;
	opacity: 1;
}
.pm-section__lede--light {
	color: var( --pm-base );
	opacity: 0.9;
	max-width: 60ch;
	margin: 0 0 1.5rem;
}
.pm-split {
	gap: clamp( 2rem, 5vw, 4.5rem ) !important;
}
.pm-card-image img {
	border-radius: 3px;
	display: block;
	width: 100%;
	object-fit: cover;
}
.pm-garden-grid .pm-card-image img {
	height: clamp( 220px, 22vw, 320px );
}
.pm-split .pm-card-image img {
	height: clamp( 320px, 34vw, 520px );
}
/* === garden === */
.pm-section--garden {
	background-color: var( --pm-base );
	text-align: center;
}
.pm-section--garden .pm-section__title,
.pm-section--garden .pm-section__lede {
	margin-left: auto;
	margin-right: auto;
}
.pm-garden-grid {
	margin-top: 1rem;
	text-align: left;
}
.pm-garden-grid h3 {
	margin: 0.25rem 0 0.5rem;
}

/* === commercial-grounds === */
.pm-section--commercial-grounds {
	background-color: var( --pm-forest-dark );
}
.pm-list--light {
	color: var( --pm-base );
	opacity: 0.92;
	padding-left: 1.2rem;
	margin: 0 0 1.75rem;
}
.pm-list--light li {
	margin-bottom: 0.4rem;
}

/* === commercial-cleaning === */
.pm-section--cleaning {
	background-color: var( --pm-stone );
}
.pm-section--cleaning ul {
	padding-left: 1.2rem;
	margin: 0;
}
.pm-section--cleaning li {
	margin-bottom: 0.4rem;
}
.pm-section--residential {
	background-color: var( --pm-base );
}
/* === why-choose === */
.pm-section--why {
	background-color: var( --pm-base );
}
.pm-why-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 0.9rem;
}
.pm-why-list li {
	position: relative;
	padding-left: 1.9rem;
	font-weight: 500;
}
.pm-why-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.35em;
	width: 0.9rem;
	height: 0.9rem;
	border-radius: 50%;
	background-color: var( --pm-sage );
}

/* === areas === */
.pm-areas .wp-block-cover__background {
	opacity: 0.68;
}
.pm-areas__towns {
	color: var( --pm-base );
	font-family: var( --wp--preset--font-family--heading );
	letter-spacing: 0.02em;
	margin: 0 0 2rem;
}

/* === trustbar === */
.pm-trustbar {
	background-color: var( --pm-stone );
	padding-top: clamp( 1.75rem, 3vw, 2.5rem );
	padding-bottom: clamp( 1.75rem, 3vw, 2.5rem );
}
.pm-trustbar__row {
	text-align: center;
}
.pm-trustbar__stat {
	font-family: var( --wp--preset--font-family--heading );
	color: var( --pm-forest );
	margin: 0;
	line-height: 1;
}
.pm-trustbar__label {
	margin: 0.35rem 0 0;
	opacity: 0.75;
	font-size: 0.9rem;
}

/* === commercial clients === */
.pm-section--clients-trust {
	background-color: var( --pm-base );
}
.pm-clients-logos {
	margin-top: 1.5rem;
}
.pm-client-badge {
	text-align: center;
	background-color: var( --pm-stone );
	border: 1px solid var( --pm-contrast );
	border-radius: 4px;
	padding: 1.5rem 1rem;
	margin: 0;
	gap: 0.75rem !important;
}
.pm-client-badge__logo {
	margin: 0;
	max-width: 160px;
}
.pm-client-badge__logo img {
	display: block;
	max-height: 64px;
	width: auto;
	margin: 0 auto;
	object-fit: contain;
}
.pm-client-badge__name {
	font-family: var( --wp--preset--font-family--heading );
	font-weight: 600;
	color: var( --pm-forest-dark );
	margin: 0;
}

/* === testimonials === */
.pm-section--reviews {
	background-color: var( --pm-base );
}
.wp-block-g-business-reviews-rating-reviews {
	max-width: 980px;
	margin: 1.5rem auto 0;
}
.pm-google-badge {
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.8rem;
	font-weight: 600;
	color: var( --pm-forest );
	opacity: 0.8;
	margin: 0.5rem 0 0;
}
.pm-reviews {
	margin-top: 1rem;
	max-width: 980px;
	margin-left: auto !important;
	margin-right: auto !important;
	flex-wrap: wrap !important;
}
.pm-cta-line {
	font-weight: 600;
	font-size: 1.05rem;
	margin-top: 0.5rem;
}
.is-style-card {
	background-color: var( --pm-stone );
	padding: 2rem 1.75rem;
	border-radius: 3px;
}
.pm-review__stars {
	color: var( --pm-sage );
	letter-spacing: 0.15em;
	margin: 0 0 1rem;
}
.pm-review__quote {
	margin: 0 0 1.25rem;
}
.pm-review__author {
	margin: 0;
	font-weight: 600;
	opacity: 0.75;
}

/* === trust strip === */
.pm-trust-strip {
	background-color: var( --pm-stone );
	text-align: center;
	padding-top: clamp( 1.75rem, 3vw, 2.5rem );
	padding-bottom: clamp( 1.75rem, 3vw, 2.5rem );
}
.pm-trust-strip__stars {
	color: var( --pm-sage );
	font-size: 1.5rem;
	letter-spacing: 0.2em;
	margin: 0 0 0.6rem;
}
.pm-trust-strip__quote {
	font-family: var( --wp--preset--font-family--heading );
	font-size: 1.15rem;
	max-width: 60ch;
	margin: 0 auto;
	color: var( --pm-forest-dark );
}
.pm-trust-strip__author {
	font-family: var( --wp--preset--font-family--body );
	font-size: 0.85rem;
	font-weight: 600;
	opacity: 0.65;
	display: inline-block;
	margin-left: 0.4rem;
}

/* === cta === */
.pm-section--contact {
	background-color: var( --pm-forest-dark );
}
.pm-form-card {
	background-color: var( --pm-base );
	border-radius: 4px;
	padding: clamp( 1.5rem, 3vw, 2.25rem );
}
.pm-form-card .jetpack-field-label,
.pm-form-card label {
	font-weight: 600;
	color: var( --pm-contrast );
}
/* === footer === */
.pm-footer {
	background-color: var( --pm-contrast );
	color: var( --pm-base );
	padding-top: clamp( 3.5rem, 7vw, 5.5rem );
	padding-bottom: 2.25rem;
}
.pm-footer__badge {
	margin-top: 1rem;
	color: var( --pm-sage );
	font-weight: 700;
	letter-spacing: 0.02em;
	font-size: 0.95rem;
}
.pm-footer__logo,
.pm-footer__logo a {
	color: var( --pm-base ) !important;
	font-size: 1.25rem;
}
.pm-footer__text a {
	color: var( --pm-base ) !important;
	text-decoration: none;
}
.pm-footer__text a:hover {
	color: var( --pm-sage ) !important;
	text-decoration: underline;
}
.pm-footer__text {
	opacity: 0.75;
	line-height: 1.7;
	font-size: 0.92rem;
}
.pm-footer__heading {
	color: var( --pm-base );
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin: 0 0 1rem;
}
.pm-footer__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 0.6rem;
}
.pm-footer__list a {
	color: var( --pm-base ) !important;
	opacity: 0.75;
	text-decoration: none;
}
.pm-footer__list a:hover {
	opacity: 1;
	color: var( --pm-sage ) !important;
}
.pm-footer__rule {
	border-color: rgba( 246, 242, 234, 0.15 );
	margin: 2.5rem 0 1.5rem;
}
.pm-footer__fine {
	opacity: 0.55;
	font-size: 0.85rem;
	margin: 0;
}

/* === chat-widget === */
.pm-chat {
	position: fixed;
	right: 1.5rem;
	bottom: 1.5rem;
	z-index: 999;
	font-family: var( --wp--preset--font-family--body );
}
.pm-chat__toggle-btn .wp-element-button {
	height: 3.5rem;
	border-radius: 999px;
	background-color: #25d366;
	color: #0b1a10;
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0 1.25rem;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	box-shadow: 0 8px 24px rgba( 18, 33, 26, 0.35 );
	transition: background-color 0.2s ease, transform 0.2s ease;
}
.pm-chat__toggle-btn .wp-element-button:hover {
	background-color: #1fb959;
	color: #0b1a10;
	transform: translateY( -2px );
}
.pm-chat__wa-icon {
	flex-shrink: 0;
}
.pm-chat__wa-btn .wp-element-button {
	background-color: #25d366 !important;
	color: #0b1a10 !important;
}
.pm-chat__wa-btn .wp-element-button:hover {
	background-color: #1fb959 !important;
}
.pm-chat__box {
	position: absolute;
	right: 0;
	bottom: 4.5rem;
	width: 320px;
	max-width: calc( 100vw - 3rem );
	background-color: var( --pm-base );
	border-radius: 8px;
	box-shadow: 0 16px 40px rgba( 18, 33, 26, 0.28 );
	opacity: 0;
	transform: translateY( 12px ) scale( 0.98 );
	pointer-events: none;
	transition: opacity 0.18s ease, transform 0.18s ease;
	overflow: hidden;
}
.pm-chat__box.is-open {
	opacity: 1;
	transform: translateY( 0 ) scale( 1 );
	pointer-events: auto;
}
.pm-chat__header {
	background-color: var( --pm-forest-dark );
	color: var( --pm-base );
	padding: 0.9rem 1.1rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.pm-chat__title {
	font-weight: 600;
	font-size: 0.95rem;
}
.pm-chat__close-btn .wp-element-button {
	background: none;
	border: none;
	color: var( --pm-base );
	opacity: 0.7;
	cursor: pointer;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 0.2rem 0;
}
.pm-chat__close-btn .wp-element-button:hover {
	opacity: 1;
	background: none;
	color: var( --pm-base );
}
.pm-chat__body {
	padding: 1.1rem;
}
.pm-chat__bubble {
	background-color: var( --pm-stone );
	border-radius: 10px;
	padding: 0.8rem 1rem;
	font-size: 0.9rem;
	line-height: 1.5;
	color: var( --pm-contrast );
	margin: 0 0 1rem;
}
.pm-chat__actions.wp-block-buttons {
	gap: 0.5rem !important;
}
.pm-chat__actions .wp-element-button {
	display: block;
	width: 100%;
	text-align: center;
	background-color: var( --pm-forest );
	color: var( --pm-base );
	font-size: 0.85rem;
	padding: 0.65rem 0.75rem;
}
.pm-chat__actions .wp-element-button:hover {
	background-color: var( --pm-sage );
	color: var( --pm-forest-dark );
}
.pm-chat__box .wp-block-buttons > .wp-block-button {
	width: 100%;
}

/* === page-sections === */
.pm-section--clients {
	background-color: var( --pm-stone );
	text-align: center;
}
.pm-clients-grid .is-style-card {
	background-color: var( --pm-base );
	padding: 1.5rem 1.25rem;
	text-align: center;
	border-radius: 3px;
}
.pm-clients-grid h3 {
	margin: 0;
}
.pm-section--cleaning-detail {
	background-color: var( --pm-base );
}
.pm-section--cleaning-detail h3 {
	margin: 1rem 0 0.5rem;
}
.pm-section--reliability {
	background-color: var( --pm-stone );
}
.pm-section--reliability .pm-section__lede {
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}
.pm-section--contact-hero {
	background-color: var( --pm-forest-dark );
	padding-top: clamp( 3rem, 6vw, 4.5rem );
	padding-bottom: clamp( 2rem, 4vw, 3rem );
}
.pm-section--contact-form {
	background-color: var( --pm-forest-dark );
	padding-top: 1rem;
}
.pm-section--contact-form .wp-block-column:first-child h2,
.pm-section--contact-form .wp-block-column:first-child h3,
.pm-section--contact-form .wp-block-column:first-child p {
	color: var( --pm-base ) !important;
}
.pm-section--contact-form .wp-block-column:first-child h3 {
	opacity: 0.92;
}
.pm-section--contact-form .wp-block-column:first-child p {
	opacity: 0.85;
}
.pm-hero--page .wp-block-cover__inner-container {
	width: 100%;
}
.pm-section--intro {
	background-color: var( --pm-base );
	padding-top: clamp( 2.5rem, 5vw, 3.5rem );
	padding-bottom: clamp( 2.5rem, 5vw, 3.5rem );
}
.pm-section--intro .pm-section__lede {
	max-width: 68ch;
	margin-left: auto;
	margin-right: auto;
}
.pm-section--services {
	background-color: var( --pm-stone );
	text-align: center;
}
.pm-service-grid {
	margin-top: 0.5rem;
	text-align: left;
}
.pm-service-grid.wp-block-columns {
	margin-bottom: 1.75rem !important;
}
.pm-service-grid .is-style-card {
	background-color: var( --pm-base );
	padding: 1.75rem;
	border-radius: 3px;
}
.pm-service-grid h3 {
	margin: 0 0 0.6rem;
}
.pm-service-grid p {
	margin: 0;
	opacity: 0.85;
}
.pm-step-number {
	font-family: var( --wp--preset--font-family--heading );
	font-size: 2rem;
	font-weight: 700;
	color: var( --pm-sage );
	opacity: 0.55;
	margin: 0 0 0.25rem !important;
}
/* === FAQs === */
.pm-section--faqs {
	background-color: var( --pm-base );
}
.pm-faq-list {
	margin-top: 1rem;
}
.pm-faq {
	border-bottom: 1px solid rgba( 24, 27, 23, 0.15 );
	padding: 1.25rem 0;
}
.pm-faq summary {
	cursor: pointer;
	font-family: var( --wp--preset--font-family--heading );
	font-weight: 600;
	font-size: 1.1rem;
	color: var( --pm-contrast );
	list-style: none;
}
.pm-faq summary::-webkit-details-marker {
	display: none;
}
.pm-faq summary::after {
	content: "+";
	float: right;
	color: var( --pm-forest );
	font-weight: 700;
	font-size: 1.3rem;
}
.pm-faq[open] summary::after {
	content: "\2212";
}
.pm-faq p {
	margin: 0.9rem 0 0;
	opacity: 0.85;
	line-height: 1.7;
}
/* === process section === */
.pm-section--process {
	background-color: var( --pm-stone );
}
.pm-section--cta-band {
	background-color: var( --pm-forest-dark );
	text-align: center;
}
.pm-section--cta-band .pm-section__lede--light {
	margin-left: auto;
	margin-right: auto;
}

/* === responsive === */
@media ( max-width: 781px ) {
	.pm-header > .wp-block-group {
		flex-direction: column;
		align-items: flex-start;
	}
	.pm-topbar > .wp-block-group {
		flex-direction: column;
		gap: 0.25rem;
		align-items: flex-start;
	}
	.pm-split {
		gap: 2rem !important;
	}
}
@media ( prefers-reduced-motion: reduce ) {
	.pm-chat__toggle,
	.pm-chat__box,
	.pm-chat__actions a {
		transition: none;
	}
}

/* Keep the service promise balanced alongside the experience statistics. */
.pm-trustbar__row > .wp-block-column:last-child .pm-trustbar__stat {
 font-size: clamp(2rem, 4vw, 3.25rem);
 line-height: 1.15;
}

/* Brand promise and direct contact details. */
.pm-header > .wp-block-group { max-width: 1320px; }
.pm-brand { flex: 1 1 560px; gap: 1.25rem; }
.pm-brand .wp-block-site-logo { flex-shrink: 0; }
.pm-brand__slogan { color: var(--pm-base); font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.35rem, 2.2vw, 2rem); line-height: 1.2; margin: 0; }
.pm-brand__detail { color: var(--pm-base); opacity: .8; font-size: .85rem; margin: .5rem 0 0; }
.pm-header__contact { text-align: right; }
.pm-header__contact p { margin: 0; font-size: .95rem; line-height: 1.8; }
.pm-header__contact a { color: var(--pm-base); text-decoration: none; }
.pm-header__contact a:hover { text-decoration: underline; }
.pm-header .pm-nav { flex: 1 1 75%; padding-top: .65rem; }
.pm-header .pm-nav .wp-block-navigation__container { gap: .75rem 1.2rem; }
@media (max-width: 781px) {
 .pm-brand { flex: 0 1 auto; width: 100%; }
 .pm-brand .custom-logo { max-width: 85px; }
 .pm-header__contact { text-align: left; padding-left: 0; }
 .pm-header .pm-nav { flex: 0 1 auto; }
}
.pm-quick-start { background: var(--pm-base); padding: 2.5rem 1.5rem; }
.pm-quick-start h2 { color: var(--pm-forest-dark); margin-top: 0; }
.pm-quick-start p { max-width: 65ch; margin: 1rem auto 1.5rem; }
.pm-quick-start .wp-block-buttons { gap: .75rem; }
.pm-irrigation-contact, .pm-irrigation-contact a { color: var(--pm-base); }
.pm-irrigation-contact a:hover { color: var(--pm-sage); }

/* Consistent reading widths and responsive spacing across service pages. */
.pm-section, .pm-areas, .pm-hero--page { box-sizing: border-box; }
.pm-section .wp-block-column, .pm-footer .wp-block-column, .pm-header .wp-block-group { min-width: 0; }
.pm-section h1, .pm-section h2, .pm-section h3, .pm-areas h2 { text-wrap: balance; overflow-wrap: break-word; }
.pm-section h2.pm-section__title, .pm-areas h2.pm-section__title { font-size: clamp(1.75rem, 3.1vw, 3rem); line-height: 1.2; }
.pm-section .pm-eyebrow { margin-bottom: 1rem; }
.pm-section > .wp-block-group:has(> .pm-eyebrow) { margin-bottom: 1rem; }
.pm-section .wp-block-columns { gap: clamp(1.5rem, 3vw, 3rem); margin-bottom: 0; }
.pm-section .wp-block-column > :first-child { margin-top: 0; }
.pm-section .wp-block-column > :last-child { margin-bottom: 0; }
.pm-section .wp-block-column > .wp-block-image { margin: 0; }
.pm-section .wp-block-image img { max-width: 100%; height: auto; }
.pm-section .pm-card-image img { object-fit: cover; }
.pm-section .wp-block-buttons { gap: .75rem; margin-top: 1.5rem; }
.pm-section .wp-element-button { max-width: 100%; white-space: normal; text-align: center; }
.pm-section p, .pm-footer p, .pm-header__contact a { overflow-wrap: anywhere; }

/* Centre the complete coverage message, not only the text within its paragraph. */
.pm-areas { padding: clamp(3rem, 6vw, 5rem) clamp(1.25rem, 5vw, 4rem); min-height: 0 !important; }
.pm-areas .wp-block-cover__inner-container { width: 100%; max-width: 1100px; margin-inline: auto; text-align: center; }
.pm-areas .pm-section__title { max-width: 28ch; margin: 1rem auto 1.5rem; }
.pm-areas .pm-section__lede--light { max-width: 65ch; margin: 0 auto 1.75rem; }
.pm-areas__towns { font-size: clamp(1.15rem, 2.2vw, 1.8rem); line-height: 1.6; max-width: 48ch; margin: 0 auto 1.75rem; text-wrap: balance; }
.pm-areas .wp-block-buttons { justify-content: center; }

/* Give client logos equal cards and separate the explanatory note. */
.pm-section--clients-trust > .pm-section__title { max-width: 28ch; margin: 0 auto 1.5rem; }
.pm-section--clients-trust > .pm-section__lede { max-width: 68ch; margin-inline: auto; }
.pm-section--clients-trust .pm-clients-logos { align-items: stretch; max-width: 980px; margin: 2rem auto !important; gap: 1.5rem; }
.pm-clients-logos > .wp-block-column { display: flex; }
.pm-client-badge { width: 100%; box-sizing: border-box; min-height: 170px; justify-content: center; padding: 1.75rem; border-color: rgba(24,27,23,.18); }
.pm-client-badge__logo { height: 76px; width: 180px; max-width: 100%; display: flex; align-items: center; justify-content: center; }
.pm-client-badge__logo img { max-height: 76px; max-width: 100%; }
.pm-section--clients-trust .pm-clients-logos + p { margin-top: 2rem !important; max-width: 65ch; line-height: 1.65; }
.pm-reviews > .wp-block-column { box-sizing: border-box; }
.pm-review__author { margin-top: 1.25rem; }

@media (min-width: 782px) and (max-width: 1100px) {
 .pm-section .pm-garden-grid, .pm-section .pm-service-grid, .pm-reviews { flex-wrap: wrap !important; }
 .pm-section .pm-garden-grid > .wp-block-column, .pm-section .pm-service-grid > .wp-block-column, .pm-reviews > .wp-block-column { flex-basis: calc(50% - 1.5rem) !important; flex-grow: 1; }
}
@media (max-width: 781px) {
 .pm-section { padding: 2.75rem 1.25rem; }
 .pm-section .wp-block-columns { flex-direction: column; gap: 2rem !important; }
 .pm-section .wp-block-columns > .wp-block-column { flex-basis: auto !important; width: 100%; }
 .pm-section .pm-section__title { font-size: clamp(1.65rem, 6vw, 2.25rem); }
 .pm-section .pm-section__lede, .pm-section .pm-section__lede--light, .pm-hero--split .pm-hero__lede { font-size: 1.05rem; line-height: 1.65; }
 .pm-hero__content { padding: 0; }
 .pm-hero__rating { align-items: flex-start; }
 .pm-hero__rating-text { line-height: 1.5; }
 .pm-section .pm-card-image img { height: auto; aspect-ratio: 4 / 3; }
 .pm-section .is-style-card { padding: 1.5rem; }
 .pm-client-badge { min-height: 155px; }
 .pm-header__contact { width: 100%; }
 .pm-header .pm-nav { width: 100%; }
 .pm-header .pm-nav .wp-block-navigation__container { justify-content: flex-start; }
 .pm-header__cta .wp-element-button { white-space: normal; }
 .pm-footer { padding-bottom: 6rem; }
 .pm-chat { right: .75rem; bottom: .75rem; }
 .pm-chat__toggle-btn .wp-element-button { height: 2.75rem; padding-inline: .9rem; font-size: .8rem; }
}
@media (max-width: 420px) {
 .pm-brand { gap: .75rem; align-items: center; }
 .pm-brand .wp-block-site-logo { width: 65px; }
 .pm-brand__slogan { font-size: 1.2rem; }
 .pm-brand__detail { font-size: .75rem; line-height: 1.5; }
 .pm-section .wp-block-buttons > .wp-block-button { width: 100%; }
 .pm-section .wp-block-buttons .wp-element-button { display: block; }
}
/* Include card padding within the available column width. */
.pm-section .wp-block-column { box-sizing: border-box; }
.pm-nav .wp-block-navigation__responsive-container-open,
.pm-nav .wp-block-navigation__responsive-container-close { color: var(--pm-base); min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
.pm-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--pm-forest-dark); color: var(--pm-base); padding: 1.5rem; }
.pm-nav .is-menu-open .wp-block-navigation__container { align-items: flex-start; gap: 1.25rem; }
.pm-nav .wp-block-navigation__responsive-container.is-menu-open { background-color: var(--pm-forest-dark) !important; color: var(--pm-base) !important; }
.pm-nav .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container { align-items: flex-start !important; }
.pm-nav .is-menu-open .wp-block-navigation-item__content { color: var(--pm-base) !important; }
.pm-section .wp-block-image + h2,
.pm-section .wp-block-image + h3 { margin-top: 1.25rem; }
@media (max-width: 781px) {
 .pm-section h3.wp-block-heading { font-size: 1.35rem !important; line-height: 1.3; }
}

/* A welcoming commercial enquiry area, separate from the general quote form. */
.pm-commercial-enquiry { background: var(--pm-stone); }
.pm-commercial-enquiry h2 { font-size: clamp(2rem, 3.4vw, 3rem); line-height: 1.15; max-width: 16ch; color: var(--pm-forest-dark); }
.pm-commercial-enquiry__intro { font-size: 1.15rem; line-height: 1.7; max-width: 44ch; }
.pm-commercial-enquiry__note { border-left: 3px solid var(--pm-sage); padding: .25rem 0 .25rem 1.25rem; margin-block: 2rem; }
.pm-commercial-enquiry__note h3 { font-size: 1.25rem; line-height: 1.4; }
.pm-commercial-enquiry__contact { line-height: 1.9; }
.pm-commercial-enquiry__contact a { font-weight: 600; overflow-wrap: anywhere; }
.pm-commercial-enquiry__form { box-shadow: 0 12px 35px rgba(18,33,26,.06); border: 1px solid rgba(18,33,26,.1); border-radius: 12px; }
.pm-commercial-enquiry__form h3 { font-size: 1.35rem; line-height: 1.35; }
.pm-commercial-enquiry__form input, .pm-commercial-enquiry__form select, .pm-commercial-enquiry__form textarea { box-sizing: border-box; max-width: 100%; }
.pm-commercial-enquiry__form .wp-block-jetpack-contact-form { gap: 1.25rem; }
.pm-commercial-enquiry__form .wp-element-button { width: 100%; }
.pm-contact-choice { margin-top: 1.5rem !important; justify-content: center; }
.pm-contact-choice .wp-element-button { white-space: normal; }

/* Editorial pages keep the same palette with a comfortable reading measure. */
.pm-blog-hero { background: var(--pm-forest-dark); color: var(--pm-base); }
.pm-blog-hero h1 { color: var(--pm-base); font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.15; }
.pm-blog-hero p { max-width: 60ch; font-size: 1.15rem; line-height: 1.7; }
.pm-blog-list { background: var(--pm-base); }
.pm-blog-list .wp-block-post-template { padding: 0; display: grid; gap: 1.5rem; }
.pm-blog-card { padding: clamp(1.5rem, 4vw, 2.5rem); background: var(--pm-stone); border-radius: 8px; }
.pm-blog-card h2 { font-size: clamp(1.5rem, 2.5vw, 2rem); line-height: 1.25; margin: .75rem 0 1rem; }
.pm-blog-card h2 a { text-decoration: none; }
.pm-blog-card h2 a:hover { text-decoration: underline; }
.pm-blog-card .wp-block-post-date { font-size: .85rem; }
.pm-blog-card .wp-block-post-excerpt__more-link { font-weight: 600; }
.pm-article__back a, .pm-article__date { color: var(--pm-base); }
.pm-article .wp-block-post-title { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.2; text-wrap: balance; }
.pm-article__body { padding-block: clamp(2rem, 5vw, 4rem); }
.pm-article__body > p { line-height: 1.8; }
.pm-article__body > h2 { margin-top: 2rem; margin-bottom: .75rem; font-size: clamp(1.4rem, 3vw, 1.9rem); line-height: 1.3; }
.pm-article__body .wp-element-button { white-space: normal; }
.pm-article__image { margin-top: clamp(1.5rem, 4vw, 3rem); }
.pm-article__image img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 8px; }
.pm-blog-card .wp-block-post-featured-image { margin: 0 0 1.5rem; }
.pm-blog-card .wp-block-post-featured-image img { width: 100%; aspect-ratio: 16 / 9; height: auto; object-fit: cover; border-radius: 5px; }

/* Phone-only compact layout. Desktop rules above remain unchanged. */
@media (max-width: 600px) {
 .wp-site-blocks h1.wp-block-heading { font-size: 1.8rem !important; line-height: 1.2; }
 .wp-site-blocks h2.wp-block-heading { font-size: 1.45rem !important; line-height: 1.25; }
 .wp-site-blocks h3.wp-block-heading { font-size: 1.2rem !important; line-height: 1.3; }
 .wp-site-blocks .pm-section p, .wp-site-blocks .pm-section li, .wp-site-blocks .pm-hero--page p { font-size: 1rem !important; line-height: 1.6; }
 .wp-site-blocks .wp-block-cover p { font-size: 1rem !important; line-height: 1.6; }
 .wp-site-blocks .pm-section .pm-eyebrow, .wp-site-blocks .pm-hero--page .pm-eyebrow { font-size: .68rem !important; }
 .pm-topbar { padding: .45rem 1rem; }
 .pm-topbar__text { font-size: .75rem !important; line-height: 1.4; }
 .pm-topbar__phone, .pm-topbar__text:nth-child(2) { display: none; }
 .pm-header { padding: .85rem 1rem; }
 .pm-header > .wp-block-group { display: grid; grid-template-columns: 1fr auto; gap: .75rem; align-items: center; }
 .pm-header .pm-brand { grid-column: 1 / -1; width: auto; gap: .65rem; }
 .pm-brand .wp-block-site-logo { width: 52px; }
 .pm-brand .custom-logo { width: 52px; height: auto; }
 .pm-brand__slogan { font-size: 1.1rem; }
 .pm-brand__detail { font-size: .75rem; line-height: 1.4; margin-top: .25rem; }
 .pm-header__contact { grid-column: 1; width: auto; }
 .pm-header__contact p { font-size: .8rem; line-height: 1.6; }
 .pm-header .pm-nav { grid-column: 2; width: auto; padding: 0; }
 .pm-header__cta { grid-column: 1 / -1; margin: 0; }
 .pm-header__cta .wp-element-button { padding: .65rem 1rem; min-height: 44px; box-sizing: border-box; }
 .pm-section, .pm-quick-start, .pm-areas { padding: 1.75rem 1rem; }
 .pm-hero--split { padding: 1.5rem 1rem; }
 .pm-hero--page { min-height: 0 !important; padding: 2rem 1rem; }
 main h1, main h1.pm-hero__title.has-hero-font-size, .pm-article .wp-block-post-title { font-size: 1.8rem !important; line-height: 1.2; }
 main h2, .pm-section h2.pm-section__title, .pm-areas h2.pm-section__title, .pm-blog-card h2 { font-size: 1.45rem !important; line-height: 1.25; }
 main h3, .pm-section h3.wp-block-heading { font-size: 1.2rem !important; line-height: 1.3; }
 main p, main li, .pm-section .pm-section__lede, .pm-section .pm-section__lede--light, .pm-hero--split .pm-hero__lede, .pm-article__body > p { font-size: 1rem !important; line-height: 1.6; }
 main .pm-eyebrow { font-size: .68rem !important; line-height: 1.5; letter-spacing: .08em; padding: .4rem .55rem; }
 .pm-section .wp-block-columns, .pm-hero__row { gap: 1.25rem !important; }
 .pm-section .wp-block-buttons, .pm-hero__ctas { gap: .5rem; margin-top: 1rem; }
 main .wp-element-button { font-size: .9rem; padding: .75rem 1rem; min-height: 44px; box-sizing: border-box; }
 .pm-hero__stars { font-size: 1.5rem; }
 .pm-hero__rating-text { font-size: .85rem; line-height: 1.4; }
 .pm-hero__images { gap: .75rem; }
 .pm-hero__img img, .pm-section .pm-card-image img { max-height: 220px; object-fit: cover; }
 .pm-trustbar { padding: 1.5rem 1rem; }
 .pm-trustbar__row { gap: 1.25rem !important; }
 .pm-trustbar__stat, .pm-trustbar__row > .wp-block-column:last-child .pm-trustbar__stat { font-size: 2rem !important; line-height: 1.15; }
 .pm-trustbar__label { font-size: .9rem; line-height: 1.45; }
 .pm-section .is-style-card, .pm-blog-card { padding: 1.1rem; }
 .pm-client-badge { min-height: 120px; padding: 1rem; }
 .pm-article__body { padding-block: 1.5rem; }
 .pm-article__body > h2 { margin-top: 1.5rem; }
 .pm-article__image { margin-top: 1.25rem; }
 .wp-site-blocks input, .wp-site-blocks textarea, .wp-site-blocks select { font-size: 16px !important; max-width: 100%; box-sizing: border-box; }
 .pm-footer { padding: 2rem 1rem 5rem; }
 .pm-footer p, .pm-footer li { font-size: .9rem; line-height: 1.6; }
}

/* Requested logo enlargement; keep the surrounding header design. */
.pm-header .pm-brand .wp-block-site-logo { width:156px; flex:0 0 156px; }
.pm-header .pm-brand .custom-logo { width:156px; max-width:156px; height:auto; }
@media(max-width:782px){
 .pm-header .pm-brand .wp-block-site-logo { width:100px; flex-basis:100px; }
 .pm-header .pm-brand .custom-logo { width:100px; max-width:100px; height:auto; }
}

/* October 2026 service additions */
.pm-update-section .alignwide{max-width:1320px;margin:auto}.pm-update-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.pm-update-card{padding:28px;overflow:hidden}.pm-update-photo{display:block;width:100%;height:270px;object-fit:cover;border-radius:12px;margin-bottom:24px}.pm-update-banner{max-width:1320px;margin:32px auto;padding:0 24px}.pm-update-banner img{height:420px}.pm-update-partners{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;max-width:1320px;margin:28px auto}.pm-update-partners .pm-client-badge{min-height:140px;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px}.pm-update-section p{max-width:900px}.pm-update-section .wp-block-buttons{margin:24px 0}.pm-form-card{max-width:900px;margin:32px auto!important}.pm-update-card h3{margin-top:12px}@media(max-width:780px){.pm-update-grid{grid-template-columns:1fr}.pm-update-partners{grid-template-columns:repeat(2,minmax(0,1fr))}.pm-update-banner img{height:260px}.pm-update-card{padding:20px}.pm-form-card{margin:20px!important}.pm-update-partners .pm-client-badge{min-height:100px}}

/* Slogan, partner and recruitment refinements */
.pm-brand__slogan{max-width:390px;font-size:clamp(17px,1.6vw,23px);line-height:1.35}.pm-brand__copy{min-width:0}.pm-partner-logo{width:auto;max-width:100%;height:75px;object-fit:contain;display:block;margin:0 auto 14px}.pm-update-partners .pm-client-badge{flex-direction:column;background:#fff;color:#172a20}.pm-client-badge__name{font-size:14px}.pm-careers-photo{width:100%;height:460px;object-fit:cover;border-radius:14px}.pm-careers-form label{display:block;font-weight:600;margin:18px 0}.pm-careers-form input:not([type=checkbox]),.pm-careers-form select,.pm-careers-form textarea{box-sizing:border-box;display:block;width:100%;font:inherit;padding:12px;border:1px solid #718078;border-radius:6px;background:white;color:#172a20}.pm-careers-form textarea{min-height:120px}.pm-careers-form input[type=checkbox]{width:20px;height:20px;vertical-align:middle;margin-right:10px}.pm-form-result{padding:18px;border:2px solid #487258;border-radius:8px}.pm-honeypot{position:absolute;left:-9999px}.pm-careers-form small{display:block}.pm-careers-form button{cursor:pointer}@media(max-width:600px){.pm-brand{gap:12px!important}.pm-brand__slogan{font-size:16px}.pm-careers-photo{height:280px}.pm-partner-logo{height:55px}.pm-brand .wp-block-site-logo{max-width:105px}}

/* Restore explicit light-on-dark header contrast in WordPress and previews. */
.pm-header{color:#f6f2ea;background-color:#12211a}
.pm-header .pm-brand__slogan,.pm-header .pm-brand__detail,.pm-header__contact,.pm-header__contact a,.pm-header .pm-nav a,.pm-header .preview-nav a{color:#f6f2ea!important;opacity:1}
.pm-header .pm-nav a:hover,.pm-header .pm-nav a:focus-visible{color:#c5d8b6!important;text-decoration:underline}
.pm-nav .wp-block-navigation__submenu-container{background:#12211a!important;color:#f6f2ea!important}
.pm-nav .wp-block-navigation__responsive-container.is-menu-open{background:#12211a!important;color:#f6f2ea!important}
.pm-nav .wp-block-navigation__responsive-container.is-menu-open a{color:#f6f2ea!important;opacity:1}
.pm-section--contact-hero,.pm-section--contact-hero h1,.pm-section--contact-hero p{color:#f6f2ea}
.pm-update-section{color:#12211a}
.pm-update-section .wp-element-button{color:#f6f2ea}

/* Homepage review link, trust highlights and regular-maintenance offer. */
.pm-hero .pm-home-google{display:inline-flex;align-items:center;gap:13px;text-decoration:none;color:#f6f2ea;margin:22px 0 8px}.pm-home-google__logo{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;width:48px;height:48px;flex:none}.pm-home-google__logo img{display:block;width:30px;height:30px;margin:0}.pm-home-google__stars{display:block;color:#f5c85b;font-size:23px;letter-spacing:3px;line-height:1.3}.pm-home-google__label{display:block;color:#f6f2ea;font-size:14px;line-height:1.6}.pm-home-google:hover .pm-home-google__label{text-decoration:underline}.pm-home-google:focus-visible{outline:2px solid #c5d8b6;outline-offset:5px;border-radius:6px}.pm-home-assurance{margin-top:25px}.pm-home-assurance__list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:12px 20px}.pm-hero .pm-home-assurance__list li{display:flex;align-items:center;gap:8px;font-size:13px!important;line-height:1.5;color:#f6f2ea}.pm-home-tick{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:none;border-radius:50%;background:#c5d8b6;color:#12211a;font-weight:700;font-size:13px}.pm-home-offer{margin-top:22px;padding:16px 20px;border:1px solid #77916c;border-radius:10px;background:#203b2a;color:#f6f2ea;display:flex;align-items:center;gap:16px}.pm-home-offer strong{font-size:25px;white-space:nowrap;color:#d6e7c9}.pm-home-offer span{font-size:14px;line-height:1.5}@media(max-width:600px){.pm-home-assurance__list{display:grid;gap:10px}.pm-home-offer{align-items:flex-start;gap:10px;flex-direction:column}.pm-home-google{max-width:100%}}

/* Compact header: brand left, review/quote/offer panel right. */
.pm-header > .wp-block-group{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(340px,480px);gap:12px 40px!important;align-items:center;max-width:1320px;margin-inline:auto;padding-inline:24px}
.pm-header .pm-brand{display:flex!important;align-items:center;gap:22px!important;width:auto;margin:0!important;grid-column:1;grid-row:1}
.pm-header .pm-brand__copy{margin:0!important}.pm-header .pm-brand__slogan{margin:0 0 10px!important}.pm-header .pm-brand__detail{margin:0!important}
.pm-header .pm-header__contact{grid-column:1;grid-row:2;text-align:left;margin:0!important}.pm-header__contact p{margin:0!important;font-size:14px}
.pm-header .pm-header-trust{grid-column:2;grid-row:1 / span 2;margin:0!important;padding:20px 24px;border:1px solid #526c58;border-radius:12px;background:#172d21;color:#f6f2ea}
.pm-header-trust .pm-home-google{display:flex;align-items:center;gap:13px;text-decoration:none;margin:0 0 16px;color:#f6f2ea}
.pm-header-trust .wp-block-buttons{margin:0!important}.pm-header-trust .wp-element-button{background:#c5d8b6;color:#12211a!important;font-weight:600;padding:12px 22px}
.pm-header-trust .pm-home-assurance{margin-top:16px}.pm-header-trust .pm-home-assurance__list{display:grid;gap:8px}.pm-header-trust .pm-home-assurance__list li{display:flex;align-items:center;gap:8px;color:#f6f2ea;font-size:13px;line-height:1.5}
.pm-header-trust .pm-home-offer{margin-top:16px;padding:12px 14px}.pm-header-trust .pm-home-offer strong{font-size:23px}
.pm-header > .wp-block-group > .pm-nav{grid-column:1 / -1;grid-row:3;width:100%;margin:12px 0 0!important;justify-content:flex-start;padding-top:15px;border-top:1px solid #405348}
.pm-header{padding-block:24px}.pm-topbar > .wp-block-group{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding-inline:24px}
@media(max-width:800px){.pm-header > .wp-block-group{grid-template-columns:1fr;gap:18px!important;padding-inline:20px}.pm-header .pm-brand{grid-column:1;grid-row:1;gap:14px!important}.pm-header .pm-header__contact{grid-column:1;grid-row:2}.pm-header .pm-header-trust{grid-column:1;grid-row:3;padding:18px}.pm-header > .wp-block-group > .pm-nav{grid-column:1;grid-row:4}.pm-header .pm-brand__slogan{font-size:18px}.pm-header .pm-brand__detail{font-size:13px}}

/* Visible, native mobile navigation; desktop navigation is unchanged. */
.pm-header .pm-mobile-menu{display:none}
@media(max-width:800px){
 .pm-header .pm-mobile-menu{display:block;grid-column:1;grid-row:2;margin:0!important;width:100%;min-width:0;border:1px solid #77916c;border-radius:10px;background:#203b2a;color:#f6f2ea;overflow:hidden}
 .pm-mobile-menu summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;padding:16px 18px;min-height:52px;box-sizing:border-box;font-size:16px;font-weight:600;color:#f6f2ea}
 .pm-mobile-menu summary::-webkit-details-marker{display:none}
 .pm-mobile-menu__chevron{margin-left:auto;font-size:22px;transition:transform .15s}
 .pm-mobile-menu[open] .pm-mobile-menu__chevron{transform:rotate(180deg)}
 .pm-mobile-menu nav{display:grid;grid-template-columns:1fr;padding:4px 12px 12px;border-top:1px solid #526c58}
 .pm-header .pm-mobile-menu nav a{display:flex;align-items:center;min-height:48px;padding:10px 8px;box-sizing:border-box;color:#f6f2ea!important;font-size:15px;line-height:1.4;text-decoration:none;border-bottom:1px solid #405348;overflow-wrap:anywhere}
 .pm-mobile-menu nav a:last-child{border-bottom:0}
 .pm-mobile-menu nav a:hover,.pm-mobile-menu nav a:focus-visible{background:#304c38;text-decoration:underline}
 .pm-mobile-menu summary:focus-visible{outline:3px solid #c5d8b6;outline-offset:-4px}
 .pm-header > .wp-block-group > .pm-nav{display:none!important}
 .pm-header .pm-header__contact{grid-row:3}
 .pm-header .pm-header-trust{grid-row:4}
}

/* Christmas 2026: scoped to new content only. */
.pm-xmas{--xgreen:#258843;color:#17281e;background:#fff;line-height:1.65}.pm-xmas *{box-sizing:border-box}.pm-xmas h1,.pm-xmas h2,.pm-xmas h3{color:inherit;line-height:1.15}.pm-xmas h1{font-size:clamp(2.2rem,5vw,4.4rem);margin:.3em 0}.pm-xmas h2{font-size:clamp(1.8rem,3vw,2.6rem)}.pm-xmas h3{font-size:1.25rem}.pm-xmas p{color:inherit}.pm-xmas-section{max-width:1200px;margin:auto;padding:64px 24px}.pm-xmas-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:42px;align-items:center}.pm-xmas-dark{background:#101d16;color:#fff}.pm-xmas-soft{background:#f0f5f0}.pm-xmas img{width:100%;object-fit:cover;border-radius:16px;display:block}.pm-xmas-hero img{height:580px}.pm-xmas-kicker{text-transform:uppercase;letter-spacing:.15em;font-size:.78rem;font-weight:700;color:#9cdbac!important}.pm-xmas .pm-xmas-button{display:inline-block;border:0;border-radius:7px;background:#227a3c;color:#fff!important;padding:14px 22px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;line-height:1.4}.pm-xmas .pm-xmas-button:hover{background:#195d2d}.pm-xmas a:focus-visible,.pm-xmas button:focus-visible,.pm-xmas input:focus-visible,.pm-xmas select:focus-visible,.pm-xmas textarea:focus-visible{outline:3px solid #bf9234;outline-offset:3px}.pm-xmas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.pm-xmas-card{border:1px solid #dbe5dc;border-radius:14px;overflow:hidden;background:#fff;padding:24px;color:#17281e}.pm-xmas-card img{height:270px;object-position:center 60%;margin-bottom:20px}.pm-xmas-price{font-size:2rem;font-weight:800;margin:10px 0}.pm-xmas-small{font-size:.88rem}.pm-xmas-table-wrap{overflow:auto}.pm-xmas table{width:100%;border-collapse:collapse;color:#17281e;background:#fff}.pm-xmas th,.pm-xmas td{padding:16px 12px;text-align:left;border-bottom:1px solid #dbe5dc}.pm-xmas th{background:#e6efe7}.pm-xmas-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pm-xmas label{display:block;font-weight:600}.pm-xmas input,.pm-xmas select,.pm-xmas textarea{display:block;width:100%;font:inherit;background:#fff;color:#17281e;border:1px solid #7a8c80;border-radius:6px;padding:12px;margin-top:6px;min-height:48px}.pm-xmas textarea{min-height:110px}.pm-xmas-wide{grid-column:1/-1}.pm-xmas-summary{background:#e9f2ea;padding:22px;border-radius:10px;margin:24px 0;color:#17281e}.pm-xmas-summary div{display:flex;justify-content:space-between;gap:15px;padding:6px 0}.pm-xmas-total{border-top:1px solid #a5bca9;font-size:1.5rem;font-weight:bold}.pm-xmas [hidden]{display:none!important}.pm-xmas-result:not(:empty){padding:20px;border:2px solid #258843;background:#fff;color:#17281e;margin:20px 0}.pm-xmas-promo img{height:360px}.pm-xmas-promo .pm-xmas-hero{padding:48px 24px}.pm-xmas-honey{position:absolute;left:-9999px}.pm-xmas button:disabled{opacity:.65;cursor:wait}@media(max-width:760px){.pm-xmas-hero,.pm-xmas-grid,.pm-xmas-form-grid{grid-template-columns:1fr}.pm-xmas-section{padding:40px 20px}.pm-xmas-hero{gap:24px}.pm-xmas-hero img{height:370px}.pm-xmas-card img{height:320px}.pm-xmas .pm-xmas-button{width:100%;text-align:center}.pm-xmas th,.pm-xmas td{padding:12px 8px;font-size:.88rem}.pm-xmas-wide{grid-column:auto}}

.pm-xmas p.pm-xmas-price{font-size:2rem;font-weight:800}.pm-xmas #christmas-order{scroll-margin-top:55px}
