/* ==========================================================================
   Promotions  —  /offers/promotions/
   Template: seventy9-child/pages/promotions.php
   All tokens scoped to .pm-page so nothing leaks into the rest of the site.
   ========================================================================== */

.pm-page {
	/* --- brand base --- */
	--pm-blue-900: #12283f;
	--pm-blue-800: #1b3f63;
	--pm-blue-700: #275a92;
	--pm-blue-600: #2f6ba9;
	--pm-blue-500: #2595c6;
	--pm-blue-100: #e6f2f9;
	--pm-blue-050: #f3f9fc;

	/* Brand gold. --pm-gold-500 is the one you specified; the rest of the
	   ramp is derived from it (600 = hover, 400/300 = tints, 100/050 = washes). */
	--pm-gold-700: #81632a;
	--pm-gold-600: #a88136;
	--pm-gold-500: #c69840;
	--pm-gold-400: #d4b270;
	--pm-gold-300: #e0c794;
	--pm-gold-100: #f7f1e5;
	--pm-gold-050: #fdfaf5;

	--pm-grey-800: #39434e;
	--pm-grey-600: #6f7c8a;
	--pm-grey-300: #d3dae0;
	--pm-grey-200: #e6eaee;
	--pm-grey-100: #f2f5f7;

	/* --- semantic --- */
	--pm-text-heading: var(--pm-blue-700);
	--pm-text-body: var(--pm-grey-800);
	--pm-text-muted: var(--pm-grey-600);
	--pm-text-link: var(--pm-blue-500);
	--pm-surface-card: #fff;
	--pm-surface-subtle: var(--pm-blue-050);
	--pm-surface-disabled: var(--pm-grey-100);
	--pm-border-subtle: var(--pm-grey-200);
	--pm-border-default: var(--pm-grey-300);

	/* --- type --- */
	--pm-font-sans: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
	/* Everything on this page is Lato. The display token is kept so older
	   rules don't break, but it points at Lato too — nothing here is serif. */
	--pm-font-display: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
	--pm-fs-2xs: 12px;
	--pm-fs-xs: 13px;
	--pm-fs-sm: 15px;
	--pm-fs-base: 17px;
	--pm-fs-md: 19px;
	--pm-fs-lg: 23px;
	--pm-fs-3xl: 42px;
	--pm-ls-eyebrow: 0.14em;
	--pm-ls-tight: -0.01em;

	/* --- misc --- */
	--pm-radius-sm: 6px;
	--pm-radius-md: 10px;
	--pm-radius-lg: 16px;
	--pm-radius-pill: 999px;
	--pm-shadow-card: 0 2px 6px rgba(18, 40, 63, .08);
	--pm-shadow-card-hover: 0 14px 36px rgba(18, 40, 63, .14);
	--pm-shadow-lg: 0 14px 36px rgba(18, 40, 63, .14);
	--pm-focus-ring: 0 0 0 3px rgba(37, 149, 198, .45);
	--pm-ease: cubic-bezier(.4, 0, .2, 1);
	--pm-container: 1240px;
	--pm-gutter: 24px;

	/* Offset for the sticky in-page nav. Raise this if the site header is
	   also sticky — e.g. .pm-page { --pm-sticky-top: 96px; } */
	--pm-sticky-top: 0px;

	font-family: var(--pm-font-sans);
	font-size: var(--pm-fs-base);
	font-weight: 400;
	line-height: 1.6;
	color: var(--pm-text-body);
	overflow-x: hidden;
}

.pm-page *,
.pm-page *::before,
.pm-page *::after {
	box-sizing: border-box;
}

.pm-page img {
	max-width: 100%;
	display: block;
}

/* Lato everywhere, including text pulled in from the offer's T&Cs box, which
   arrives as its own HTML. :where() carries no specificity, so anything with a
   deliberate font of its own — icon fonts especially — still wins. */
.pm-page :where(h1, h2, h3, h4, h5, h6, p, span, strong, b, em, a, li, div,
button, summary, label, td, th, blockquote, small, figcaption) {
	font-family: var(--pm-font-sans);
}

/* The theme uppercases headings sitewide. Everything in this page is set in
   sentence/title case as written, so switch it off — scoped to .pm-page only.
   Deliberate uppercase (eyebrows, card flags) is on <p>/<span>, not headings. */
.pm-page h1,
.pm-page h2,
.pm-page h3,
.pm-page h4 {
	text-transform: none !important;
}

.pm-page a:focus-visible,
.pm-page button:focus-visible,
.pm-page summary:focus-visible {
	outline: none;
	box-shadow: var(--pm-focus-ring);
}

.pm-container {
	max-width: var(--pm-container);
	margin: 0 auto;
	padding-inline: var(--pm-gutter);
}

.pm-eyebrow {
	font: 700 var(--pm-fs-xs) / 1 var(--pm-font-sans);
	text-transform: uppercase;
	letter-spacing: var(--pm-ls-eyebrow);
	color: var(--pm-gold-500);
	margin: 0 0 14px;
}


/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */

.pm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	font-family: var(--pm-font-sans);
	font-weight: 700;
	line-height: 1;
	letter-spacing: .01em;
	border-radius: var(--pm-radius-pill);
	border: 2px solid transparent;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 160ms var(--pm-ease), color 160ms var(--pm-ease),
		border-color 160ms var(--pm-ease), box-shadow 160ms var(--pm-ease),
		transform 80ms var(--pm-ease);
	-webkit-tap-highlight-color: transparent;
}

.pm-btn:active {
	transform: scale(.985);
}

.pm-btn--sm {
	padding: 10px 18px;
	font-size: var(--pm-fs-xs);
}

.pm-btn--md {
	padding: 14px 26px;
	font-size: var(--pm-fs-sm);
}

.pm-btn--lg {
	padding: 17px 34px;
	font-size: var(--pm-fs-base);
}

.pm-btn--primary {
	background: var(--pm-blue-700);
	color: #fff;
}

.pm-btn--primary:hover,
.pm-btn--primary:focus {
	background: var(--pm-blue-800);
	color: #fff;
	text-decoration: none;
}

.pm-btn--gold {
	background: var(--pm-gold-500);
	color: #fff;
}

.pm-btn--gold:hover,
.pm-btn--gold:focus {
	background: var(--pm-gold-600);
	color: #fff;
	text-decoration: none;
}

.pm-btn--outline {
	background: transparent;
	color: var(--pm-blue-700);
	border-color: var(--pm-blue-700);
}

.pm-btn--outline:hover,
.pm-btn--outline:focus {
	background: rgba(39, 90, 146, .08);
	color: var(--pm-blue-700);
	text-decoration: none;
}

.pm-btn--ghost {
	background: transparent;
	color: var(--pm-blue-700);
}

.pm-btn--ghost:hover,
.pm-btn--ghost:focus {
	background: rgba(39, 90, 146, .08);
	color: var(--pm-blue-700);
	text-decoration: none;
}

.pm-btn--inverse {
	background: transparent;
	color: #fff;
	border-color: #fff;
}

.pm-btn--inverse:hover,
.pm-btn--inverse:focus {
	background: rgba(255, 255, 255, .16);
	color: #fff;
	text-decoration: none;
}


/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */

.pm-hero {
	position: relative;
	min-height: clamp(360px, 42vw, 500px);
	display: flex;
	align-items: flex-end;
	isolation: isolate;
}

.pm-hero__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -2;
}

.pm-hero__scrim {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(to top,
			rgba(18, 40, 63, .78) 0%,
			rgba(18, 40, 63, .35) 45%,
			rgba(18, 40, 63, 0) 100%);
}

.pm-hero__scrim--side {
	background: linear-gradient(to right,
			rgba(0, 26, 45, .55) 0%,
			rgba(0, 26, 45, .12) 60%,
			rgba(0, 26, 45, 0) 100%);
}

.pm-hero__inner {
	width: 100%;
	max-width: var(--pm-container);
	margin: 0 auto;
	padding: clamp(32px, 4.5vw, 56px) var(--pm-gutter) clamp(28px, 3.2vw, 44px);
}

.pm-hero__crumbs {
	margin-bottom: clamp(16px, 2.4vw, 28px);
}

.pm-hero__eyebrow {
	color: var(--pm-gold-300);
	margin: 0 0 16px;
}

.pm-hero__title {
	font-family: var(--pm-font-sans);
	font-weight: 900;
	font-size: clamp(32px, 4.6vw, 52px);
	line-height: 1.06;
	letter-spacing: var(--pm-ls-tight);
	color: #fff !important;
	margin: 0 0 18px;
	max-width: 20ch;
	text-wrap: balance;
}

.pm-hero__lead {
	font-weight: 300;
	font-size: clamp(17px, 1.5vw, 21px);
	line-height: 1.6;
	color: rgba(255, 255, 255, .92);
	margin: 0 0 clamp(24px, 3vw, 32px);
	max-width: 56ch;
	text-wrap: pretty;
}

.pm-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
}

.pm-hero__note {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font: 400 var(--pm-fs-sm) / 1.6 var(--pm-font-sans);
	color: rgba(255, 255, 255, .85);
	padding-left: 6px;
}


/* --------------------------------------------------------------------------
   Breadcrumb
   -------------------------------------------------------------------------- */

.pm-crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font: 400 var(--pm-fs-xs) / 1.35 var(--pm-font-sans);
}

.pm-crumbs a {
	color: rgba(255, 255, 255, .85);
	text-decoration: none;
}

.pm-crumbs a:hover {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.pm-crumbs__sep {
	color: rgba(255, 255, 255, .85);
	opacity: .7;
}

.pm-crumbs__current {
	color: #fff;
	font-weight: 700;
}


/* --------------------------------------------------------------------------
   Sticky section nav
   -------------------------------------------------------------------------- */

.pm-nav {
	position: sticky;
	top: var(--pm-sticky-top);
	z-index: 30;
	background: rgba(255, 255, 255, .96);
	backdrop-filter: saturate(180%) blur(6px);
	border-bottom: 1px solid var(--pm-border-subtle);
}

.pm-nav__scroll {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding: 12px 0;
	scrollbar-width: none;
}

.pm-nav__scroll::-webkit-scrollbar {
	display: none;
}

.pm-nav__item {
	flex: none;
	text-decoration: none;
}

.pm-tag {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font: 400 var(--pm-fs-sm) / 1.6 var(--pm-font-sans);
	color: var(--pm-blue-700);
	background: var(--pm-surface-card);
	border: 1px solid var(--pm-border-default);
	border-radius: var(--pm-radius-pill);
	padding: 7px 14px;
	white-space: nowrap;
	transition: background-color 160ms var(--pm-ease), border-color 160ms var(--pm-ease);
}

.pm-nav__item:hover .pm-tag {
	background: rgba(39, 90, 146, .08);
}

.pm-nav__cta {
	flex: none;
	margin-left: auto;
	padding-left: 12px;
}


/* --------------------------------------------------------------------------
   Section heading rule (Deal of the week)
   -------------------------------------------------------------------------- */

.pm-sechead {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 16px;
	margin-bottom: clamp(24px, 3vw, 36px);
}

.pm-sechead__eyebrow {
	margin: 0;
}

.pm-sechead__rule {
	flex: 1;
	height: 1px;
	background: var(--pm-border-subtle);
	min-width: 40px;
}

.pm-sechead__meta {
	font: 400 var(--pm-fs-sm) / 1.6 var(--pm-font-sans);
	color: var(--pm-text-muted);
	margin: 0;
}


/* --------------------------------------------------------------------------
   Deal of the week
   -------------------------------------------------------------------------- */

.pm-deal {
	padding: clamp(48px, 7vw, 84px) 0;
	scroll-margin-top: 72px;
}

.pm-deal__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: clamp(24px, 3vw, 44px);
	align-items: center;
}

.pm-deal__media {
	position: relative;
	border-radius: var(--pm-radius-md);
	overflow: hidden;
	aspect-ratio: 4 / 3;
	box-shadow: var(--pm-shadow-lg);
}

.pm-deal__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pm-badge {
	position: absolute;
	top: 16px;
	left: 16px;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: var(--pm-gold-100);
	color: var(--pm-gold-700);
	font-family: var(--pm-font-sans);
	font-weight: 700;
	font-size: var(--pm-fs-xs);
	line-height: 1.35;
	padding: 6px 14px;
	border-radius: var(--pm-radius-pill);
	letter-spacing: .02em;
	white-space: nowrap;
}

/* The deal card renders with whatever data exists, so the picture and the
   facts strip are both optional. */
.pm-deal__grid--nomedia {
	grid-template-columns: minmax(0, 1fr);
	max-width: 900px;
}

.pm-deal__facts:empty {
	display: none;
}

.pm-price__saving--solo {
	margin-top: 0;
}

/* "Was £1,299pp" beside the discounted price. */
.pm-price__was {
	font: 400 var(--pm-fs-sm) / 1.4 var(--pm-font-sans);
	color: var(--pm-text-muted);
	text-decoration: line-through;
	margin-top: 2px;
}

.pm-deal__title {
	font-family: var(--pm-font-sans);
	font-weight: 900;
	font-size: clamp(28px, 3.2vw, 40px);
	line-height: 1.12;
	color: var(--pm-text-heading);
	margin: 0 0 8px;
}

.pm-deal__meta {
	font: 400 var(--pm-fs-sm) / 1.6 var(--pm-font-sans);
	color: var(--pm-text-muted);
	margin: 0 0 18px;
}

.pm-deal__body {
	font: 400 var(--pm-fs-base) / 1.6 var(--pm-font-sans);
	margin: 0 0 22px;
	max-width: 56ch;
	text-wrap: pretty;
}

.pm-deal__facts {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: clamp(20px, 3vw, 40px);
	padding: 20px 0;
	border-top: 1px solid var(--pm-border-subtle);
	border-bottom: 1px solid var(--pm-border-subtle);
	margin-bottom: 24px;
}

.pm-fact__label {
	font: 400 var(--pm-fs-xs) / 1.35 var(--pm-font-sans);
	color: var(--pm-text-muted);
	margin: 0 0 6px;
}

.pm-fact__value {
	font: 700 var(--pm-fs-base) / 1.2 var(--pm-font-sans);
	color: var(--pm-text-heading);
	margin: 0;
}

/* Price */
.pm-price {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.pm-price__saving {
	font: 700 var(--pm-fs-xs) / 1.35 var(--pm-font-sans);
	color: var(--pm-gold-700);
	background: var(--pm-gold-100);
	border-radius: var(--pm-radius-pill);
	padding: 4px 12px;
	align-self: flex-start;
	margin-top: 4px;
}

.pm-price__row {
	display: flex;
	align-items: baseline;
	gap: 3px;
	color: var(--pm-text-heading);
	font-family: var(--pm-font-sans);
}

.pm-price__prefix {
	font: 400 var(--pm-fs-sm) / 1.6 var(--pm-font-sans);
	margin-right: 3px;
	color: var(--pm-text-muted);
}

.pm-price__amount {
	font-size: var(--pm-fs-3xl);
	font-weight: 700;
	line-height: 1.1;
}

.pm-price__per {
	font: 700 var(--pm-fs-sm) / 1.6 var(--pm-font-sans);
}

/* Discount code chip */
.pm-code {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--pm-gold-050);
	border: 1.5px dashed var(--pm-gold-400);
	color: var(--pm-gold-700);
	font: 900 var(--pm-fs-base) / 1 var(--pm-font-sans);
	letter-spacing: .12em;
	padding: 11px 18px;
	border-radius: var(--pm-radius-pill);
	cursor: pointer;
	transition: background-color 160ms var(--pm-ease);
}

.pm-code:hover {
	background: var(--pm-gold-100);
}

.pm-code__hint {
	font: 700 var(--pm-fs-2xs) / 1 var(--pm-font-sans);
	letter-spacing: .04em;
	color: var(--pm-gold-600);
}

/* No JS: the code is still readable, just not clickable. */
.pm-code[hidden] {
	display: none;
}

.pm-deal__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

/* Terms — CSS-only disclosure */
.pm-terms {
	margin: 0;
}

.pm-terms__summary {
	display: inline-block;
	list-style: none;
	background: none;
	border: 0;
	padding: 12px 6px;
	font: 700 var(--pm-fs-sm) / 1 var(--pm-font-sans);
	color: var(--pm-text-link);
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.pm-terms__summary::-webkit-details-marker {
	display: none;
}

.pm-terms__summary .pm-terms__open {
	display: inline;
}

.pm-terms__summary .pm-terms__close {
	display: none;
}

.pm-terms[open] .pm-terms__summary .pm-terms__open {
	display: none;
}

.pm-terms[open] .pm-terms__summary .pm-terms__close {
	display: inline;
}

.pm-terms__body {
	font: 400 var(--pm-fs-xs) / 1.65 var(--pm-font-sans);
	color: var(--pm-text-muted);
	background: var(--pm-surface-subtle);
	border-radius: var(--pm-radius-sm);
	padding: 16px 18px;
	margin: 6px 0 0;
	max-width: 64ch;
	max-height: 340px;
	overflow-y: auto;
}

/* The T&Cs come from the offer's Custom Terms and Conditions box, which is
   real HTML — headings, paragraphs and bullet lists. Tame them to match. */
.pm-terms__body > *:first-child {
	margin-top: 0;
}

.pm-terms__body p,
.pm-terms__body div {
	margin: 0 0 10px;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.pm-terms__body ul,
.pm-terms__body ol {
	margin: 0 0 10px 18px;
	padding: 0;
}

.pm-terms__body li {
	margin: 0 0 6px;
}

.pm-terms__body h1,
.pm-terms__body h2,
.pm-terms__body h3,
.pm-terms__body h4,
.pm-terms__body h5,
.pm-terms__body strong {
	font-size: var(--pm-fs-sm);
	color: var(--pm-text-body);
	margin: 12px 0 6px;
	line-height: 1.4;
}

.pm-terms__body a {
	color: var(--pm-text-link);
}

.pm-terms__body span {
	font-weight: inherit !important;
}


/* --------------------------------------------------------------------------
   Latest offers
   -------------------------------------------------------------------------- */

.pm-offers {
	background: var(--pm-surface-subtle);
	padding: clamp(48px, 7vw, 84px) 0;
	scroll-margin-top: 72px;
}

.pm-offers__head {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: clamp(28px, 3.5vw, 44px);
}

.pm-offers__title {
	font-family: var(--pm-font-sans);
	font-weight: 900;
	font-size: clamp(28px, 3.4vw, 42px);
	line-height: 1.14;
	color: var(--pm-text-heading);
	margin: 0 0 12px;
	max-width: 26ch;
}

.pm-offers__lead {
	font: 300 var(--pm-fs-md) / 1.6 var(--pm-font-sans);
	margin: 0;
	max-width: 56ch;
	text-wrap: pretty;
}

.pm-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(272px, 1fr));
	gap: clamp(20px, 2.4vw, 28px);
}

.pm-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--pm-surface-card);
	border-radius: var(--pm-radius-md);
	overflow: hidden;
	color: var(--pm-text-body);
	box-shadow: var(--pm-shadow-card);
	transition: box-shadow 240ms var(--pm-ease), transform 240ms var(--pm-ease);
}

.pm-card:hover {
	box-shadow: var(--pm-shadow-card-hover);
	transform: translateY(-2px);
}

.pm-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.pm-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pm-card__scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top,
			rgba(0, 26, 45, .9) 0%,
			rgba(0, 26, 45, .5) 42%,
			rgba(0, 26, 45, .05) 100%);
}

.pm-card__flag {
	position: absolute;
	top: 14px;
	left: 14px;
	background: var(--pm-gold-500);
	color: #fff;
	font: 700 var(--pm-fs-2xs) / 1 var(--pm-font-sans);
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 8px 13px;
	border-radius: var(--pm-radius-pill);
}

.pm-card__title {
	position: absolute;
	left: 20px;
	right: 20px;
	bottom: 18px;
	font-family: var(--pm-font-sans);
	font-weight: 900;
	font-size: clamp(20px, 1.7vw, 23px);
	line-height: 1.2;
	color: #fff !important;
	margin: 0;
	text-wrap: balance;
}

.pm-card__body {
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	flex: 1;
	border-top: 3px solid var(--pm-gold-500);
}

.pm-card__text {
	font: 400 var(--pm-fs-sm) / 1.6 var(--pm-font-sans);
	margin: 0;
	flex: 1;
	text-wrap: pretty;
}

.pm-card__body .pm-btn {
	align-self: flex-start;
}


/* --------------------------------------------------------------------------
   Late availability
   -------------------------------------------------------------------------- */

.pm-late {
	padding: clamp(48px, 7vw, 84px) 0;
	scroll-margin-top: 72px;
}

.pm-late__panel {
	position: relative;
	border-radius: var(--pm-radius-lg);
	overflow: hidden;
	min-height: clamp(320px, 34vw, 420px);
	display: flex;
	align-items: flex-end;
}

.pm-late__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pm-late__scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top,
			rgba(0, 26, 45, .92) 0%,
			rgba(0, 26, 45, .7) 45%,
			rgba(0, 26, 45, .34) 100%);
}

.pm-late__scrim--side {
	background: linear-gradient(to right,
			rgba(0, 26, 45, .6) 0%,
			rgba(0, 26, 45, .15) 55%,
			rgba(0, 26, 45, 0) 100%);
}

.pm-late__inner {
	position: relative;
	padding: clamp(24px, 3.4vw, 44px);
	max-width: 62ch;
}

.pm-late__eyebrow {
	color: var(--pm-gold-300);
	margin: 0 0 12px;
}

.pm-late__title {
	font-family: var(--pm-font-sans);
	font-weight: 900;
	font-size: clamp(26px, 3vw, 38px);
	line-height: 1.14;
	color: #fff !important;
	margin: 0 0 12px;
}

.pm-late__lead {
	font-weight: 300;
	font-size: clamp(16px, 1.4vw, 19px);
	line-height: 1.6;
	color: rgba(255, 255, 255, .92);
	margin: 0 0 22px;
	text-wrap: pretty;
}


/* --------------------------------------------------------------------------
   Responsive / motion
   -------------------------------------------------------------------------- */

@media (max-width: 640px) {
	.pm-page {
		--pm-gutter: 18px;
	}

	.pm-nav__cta {
		display: none;
	}

	.pm-deal__facts {
		gap: 20px;
	}

	.pm-offers__head {
		align-items: flex-start;
	}
}

@media (prefers-reduced-motion: reduce) {

	.pm-page *,
	.pm-page *::before,
	.pm-page *::after {
		animation-duration: .01ms !important;
		transition-duration: .01ms !important;
	}
}


/* --------------------------------------------------------------------------
   Admin-only diagnostic (Deal of the Week). Never seen by visitors.
   -------------------------------------------------------------------------- */

.pm-debug {
	padding: clamp(32px, 5vw, 56px) 0;
	background: #fff8e5;
	border-top: 3px solid var(--pm-gold-500);
	border-bottom: 3px solid var(--pm-gold-500);
	font-family: var(--pm-font-sans);
}

.pm-debug__title {
	font-size: var(--pm-fs-lg);
	font-weight: 900;
	color: var(--pm-blue-800);
	margin: 0 0 6px;
}

.pm-debug__note {
	font-size: var(--pm-fs-sm);
	color: var(--pm-text-muted);
	margin: 0 0 20px;
}

.pm-debug__line {
	font-size: var(--pm-fs-sm);
	margin: 12px 0 2px;
	padding-left: 26px;
	position: relative;
}

.pm-debug__line::before {
	position: absolute;
	left: 0;
	top: 0;
	font-weight: 900;
}

.pm-debug__line--ok::before {
	content: "\2713";
	color: #17794a;
}

.pm-debug__line--bad::before {
	content: "\2715";
	color: #b32d2e;
}

.pm-debug__sub {
	font-size: var(--pm-fs-xs);
	color: var(--pm-text-muted);
	margin: 2px 0 2px 26px;
	word-break: break-word;
}

.pm-debug code {
	background: rgba(18, 40, 63, .07);
	border-radius: 3px;
	padding: 1px 5px;
	font-family: ui-monospace, Menlo, Consolas, monospace;
	font-size: .92em;
}