/* Global design tokens: shared colors, dimensions, and spacing. */
:root {
	--pff-bg: #111111;
	--pff-surface: #202020;
	--pff-red: #c62828;
	--pff-yellow: #ffc857;
	--pff-text: #ffffff;
	--pff-text-muted: #b3b3b3;
	--pff-border: #454545;
	--pff-radius: 0.75rem;
	--pff-container-width: 75rem;
	--pff-section-spacing: clamp(3rem, 6vw, 6rem);
	--pff-button-height: 3rem;
}

/* Base styles remain easy to override with page-specific styling. */
body {
	margin: 0;
	background-color: var(--pff-bg);
	color: var(--pff-text);
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 1rem;
	line-height: 1.6;
}

/* Headings inherit the surrounding text color. */
h1, h2, h3, h4, h5, h6 {
	margin-block: 0 1rem;
	font-family: inherit;
	font-weight: 700;
	line-height: 1.2;
	color: inherit;
}

h1 { font-size: clamp(2.25rem, 4vw, 3.5rem); }
h2 { font-size: clamp(1.875rem, 3vw, 2.75rem); }
h3 { font-size: clamp(1.5rem, 2vw, 2rem); }
h4 { font-size: 1.25rem; }
h5 { font-size: 1.125rem; }
h6 { font-size: 1rem; }

/* Underlines and visible keyboard focus make links easy to identify. */
a {
	color: var(--pff-yellow);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

a:hover,
a:focus-visible {
	color: var(--pff-text);
}

a:focus-visible,
.pff-btn:focus-visible {
	outline: 2px solid var(--pff-yellow);
	outline-offset: 3px;
}

/* Opt-in centered content wrapper with space at narrow screen edges. */
.pff-container {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--pff-container-width);
	margin-inline: auto;
	padding-inline: 1.25rem;
}

/* Combine .pff-btn with a variant on a link or button element.
 * A minimum height allows long labels to wrap without clipping.
 */
.pff-btn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: var(--pff-button-height);
	max-width: 100%;
	padding: 0.75rem 1.5rem;
	border: 1px solid var(--pff-border);
	border-radius: var(--pff-radius);
	background-color: var(--pff-btn-bg, var(--pff-surface));
	color: var(--pff-btn-text, var(--pff-text));
	font: inherit;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	white-space: normal;
	cursor: pointer;
}

.pff-btn:hover,
.pff-btn:focus-visible {
	background-color: var(--pff-btn-bg, var(--pff-surface));
	color: var(--pff-btn-text, var(--pff-text));
	border-color: currentColor;
	text-decoration: none;
}

/* Main action: white text on brand red. */
.pff-btn-primary {
	--pff-btn-bg: var(--pff-red);
	--pff-btn-text: var(--pff-text);
	border-color: var(--pff-red);
}

/* Supporting action: dark text on warm yellow. */
.pff-btn-secondary {
	--pff-btn-bg: var(--pff-yellow);
	--pff-btn-text: var(--pff-bg);
	border-color: var(--pff-yellow);
}

/* Header only: announcement strip and sticky navigation shell. */
.pff-announcement {
	background: var(--pff-bg);
	color: var(--pff-yellow);
	border-bottom: 1px solid var(--pff-border);
	text-align: center;
}

.pff-announcement p {
	margin-block: 0;
	padding-block: 0.375rem;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.4;
}

.pff-site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--pff-surface);
	border-bottom: 1px solid var(--pff-border);
	box-shadow: 0 8px 24px rgb(0 0 0 / 18%);
}

/* Keep the header below the WordPress toolbar when logged in. */
.admin-bar .pff-site-header { top: 32px; }

.pff-header-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 0 1rem;
	min-height: 5rem;
	padding-block: 0.75rem;
}

.pff-site-branding { min-width: 0; }

.pff-site-header .pff-site-title {
	display: inline-block;
	max-width: 10rem;
	color: var(--pff-text);
	font-size: 1.25rem;
	font-weight: 900;
	letter-spacing: -0.045em;
	line-height: 1.1;
	text-decoration: none;
}

.pff-site-header .pff-site-title:hover { color: var(--pff-yellow); }
.pff-site-branding .custom-logo-link { display: inline-flex; }
.pff-site-branding .custom-logo {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 3.5rem;
	object-fit: contain;
}

.pff-header-actions {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	grid-column: 2;
	grid-row: 1;
}

.pff-site-header .pff-cart-link,
.pff-site-header .pff-menu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0.5rem;
	border: 1px solid var(--pff-border);
	border-radius: var(--pff-radius);
	background: transparent;
	color: var(--pff-text);
	font: inherit;
	font-size: 0.8125rem;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}

.pff-site-header .pff-cart-link:hover,
.pff-site-header .pff-menu-toggle:hover,
.pff-site-header .pff-menu-toggle[aria-expanded="true"] {
	color: var(--pff-yellow);
	border-color: var(--pff-yellow);
}

.pff-site-header :focus-visible {
	outline: 2px solid var(--pff-yellow);
	outline-offset: 3px;
}

.pff-site-header .pff-order-button { display: none; }
.pff-site-header .pff-btn {
	font-size: 0.75rem;
	letter-spacing: 0.04em;
	padding-inline: 1.125rem;
}

/* Mobile navigation stays in normal flow and scrolls on small screens. */
.pff-primary-navigation {
	grid-column: 1 / -1;
	grid-row: 2;
	max-height: calc(100vh - 12rem);
	max-height: calc(100dvh - 12rem);
	overflow-y: auto;
	margin-top: 0.75rem;
	padding: 0.75rem 0.25rem;
	border-top: 1px solid var(--pff-border);
}

.pff-site-header [hidden] { display: none; }

.pff-primary-menu,
.pff-primary-menu .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pff-primary-menu a {
	display: flex;
	align-items: center;
	min-height: 2.75rem;
	padding: 0.5rem 0.625rem;
	border-radius: 0.375rem;
	color: var(--pff-text);
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
}

.pff-primary-menu a:hover,
.pff-primary-menu a:focus-visible,
.pff-primary-menu .current-menu-item > a {
	background: var(--pff-bg);
	color: var(--pff-yellow);
}

/* Nested menu links remain available on touch screens and keyboards. */
.pff-primary-menu .sub-menu {
	margin-inline-start: 1rem;
	border-inline-start: 1px solid var(--pff-border);
}

.pff-site-header .pff-mobile-order {
	display: flex;
	margin-top: 0.75rem;
}

/* Desktop: branding left, navigation center, actions right. */
@media (min-width: 75rem) {
	.pff-header-inner {
		/* Equal side columns keep navigation centered within the container. */
		grid-template-columns: 11rem minmax(0, 1fr) 11rem;
		gap: 1.5rem;
		min-height: 5.25rem;
	}

	/* Preserve logo proportions, with a height cap for compact branding. */
	.pff-site-branding .custom-logo {
		width: 124px;
		height: auto;
		max-height: 3.5rem;
	}

	.pff-site-header .pff-site-title { font-size: 1.5rem; }
	.pff-header-actions {
		grid-column: 3;
		justify-self: end;
		gap: 0.75rem;
	}
	.pff-site-header .pff-order-button { display: inline-flex; }
	.pff-site-header .pff-mobile-order,
	.pff-site-header .pff-menu-toggle { display: none; }

	.pff-primary-navigation {
		grid-column: 2;
		grid-row: 1;
		max-height: none;
		overflow: visible;
		margin: 0;
		padding: 0;
		border: 0;
	}

	.pff-primary-menu {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		gap: 0.25rem;
	}

	.pff-primary-menu > li { position: relative; }
	.pff-primary-menu > li > a { padding-inline: 0.5rem; }
	.pff-primary-menu > li > .sub-menu {
		display: none;
		position: absolute;
		inset-block-start: 100%;
		inset-inline-start: 0;
		width: 14rem;
		max-height: 60vh;
		overflow-y: auto;
		margin: 0;
		padding: 0.5rem;
		border: 1px solid var(--pff-border);
		border-radius: var(--pff-radius);
		background: var(--pff-surface);
		box-shadow: 0 12px 24px rgb(0 0 0 / 25%);
	}

	.pff-primary-menu > li:hover > .sub-menu,
	.pff-primary-menu > li:focus-within > .sub-menu { display: block; }
}

@media (max-width: 782px) {
	.admin-bar .pff-site-header { top: 46px; }
}

/* WordPress uses a scrolling toolbar below this breakpoint. */
@media (max-width: 600px) {
	.admin-bar .pff-site-header { top: 0; }
}

/* Homepage hero only: quiet atmospheric color behind bold typography. */
.pff-hero {
	position: relative;
	isolation: isolate;
	background: radial-gradient(ellipse at 85% 45%, rgb(198 40 40 / 12%), transparent 62%), var(--pff-bg);
	color: var(--pff-text);
}

.pff-hero-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: center;
	gap: 2rem;
	padding-block: 3rem 2rem;
}

.pff-hero-content { min-width: 0; }

.pff-hero .pff-hero-label {
	margin: 0 0 1.5rem;
	color: var(--pff-yellow);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.13em;
	line-height: 1.6;
}

.pff-hero .pff-hero-title {
	margin: 0;
	color: var(--pff-text);
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
	font-size: clamp(1.75rem, 7.5vw, 4rem);
	font-weight: 900;
	letter-spacing: -0.01em;
	word-spacing: 0.03em;
	line-height: 1.14;
}

.pff-hero-title span {
	display: block;
	white-space: nowrap;
}

.pff-hero .pff-hero-description {
	max-width: 27rem;
	margin: 1.5rem 0 0;
	color: var(--pff-text-muted);
	font-size: 1rem;
	line-height: 1.75;
}

.pff-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.875rem;
	margin-top: 2rem;
}

.pff-hero-actions .pff-btn {
	min-height: 3.25rem;
	padding-inline: 1.75rem;
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
}

/* Scope the dark secondary variant to this hero. */
.pff-hero-actions .pff-btn-secondary {
	--pff-btn-bg: var(--pff-bg);
	--pff-btn-text: var(--pff-text);
	border-color: var(--pff-border);
}

.pff-hero-actions .pff-btn-secondary:hover,
.pff-hero-actions .pff-btn-secondary:focus-visible {
	border-color: var(--pff-yellow);
	color: var(--pff-yellow);
}

.pff-hero .pff-hero-service-line {
	margin: 1.5rem 0 0;
	color: var(--pff-text-muted);
	font-size: 0.75rem;
	letter-spacing: 0.04em;
}

/* Fixed proportions prevent layout shifts with or without the image. */
.pff-hero-media {
	position: relative;
	isolation: isolate;
	width: 100%;
	max-width: 23rem;
	aspect-ratio: 4 / 3;
	margin-inline: auto;
}

/* Low-contrast rings provide depth without imitating a food image. */
.pff-hero-media::before,
.pff-hero-media::after {
	content: "";
	position: absolute;
	z-index: -1;
	border-radius: 50%;
	pointer-events: none;
}

.pff-hero-media::before {
	inset: 4%;
	border: 1px solid rgb(255 255 255 / 3.5%);
	background: radial-gradient(ellipse, rgb(198 40 40 / 8%), transparent 70%);
	transform: rotate(-12deg);
}

.pff-hero-media::after {
	inset: 13%;
	border: 1px solid rgb(255 200 87 / 4%);
	transform: rotate(12deg);
}

.pff-hero-image {
	position: absolute;
	top: -6%;
	left: 50%;
	display: block;
	/* Enlarge within the viewport while preserving the media's layout size. */
	width: min(112%, calc(100vw - 2.5rem));
	max-width: none;
	height: 112%;
	object-fit: contain;
	transform: translateX(calc(-50% + 0.5rem));
	filter: drop-shadow(0 0.5rem 0.75rem rgb(0 0 0 / 12%)) drop-shadow(0 1.5rem 1.75rem rgb(0 0 0 / 24%));
}

@media (min-width: 64rem) {
	.pff-hero-inner {
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
		gap: 2rem;
		min-height: 680px;
		padding-block: 4rem;
	}

	.pff-hero .pff-hero-title { font-size: clamp(2.75rem, 4.2vw, 3.25rem); }
	.pff-hero .pff-hero-description { font-size: 1.0625rem; }
	.pff-hero-media {
		max-width: none;
		aspect-ratio: 1;
	}
	.pff-hero-image {
		/* Limit growth near the desktop breakpoint to keep the right edge visible. */
		width: min(112%, calc(100% + max(0px, calc(100vw - 75rem)) + 1rem));
	}
}

@media (max-width: 30rem) {
	.pff-hero-inner { gap: 1.5rem; }
	.pff-hero-actions { gap: 0.75rem; }
	.pff-hero-actions .pff-btn {
		flex: 1 1 9rem;
		padding-inline: 1rem;
	}
	.pff-hero-media { max-width: 18rem; }
}

/* Food categories: image-ready cards with a quiet fallback when photos are absent. */
.pff-food-categories {
	position: relative;
	padding-block: var(--pff-section-spacing);
	border-top: 1px solid rgb(255 255 255 / 6%);
	background: var(--pff-bg);
	scroll-margin-top: 10rem;
}

.pff-categories-anchor {
	position: absolute;
	top: 0;
	scroll-margin-top: 10rem;
}

.pff-food-categories .pff-categories-intro {
	max-width: 45rem;
	margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}

.pff-food-categories .pff-categories-label {
	margin: 0 0 0.75rem;
	color: var(--pff-yellow);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.13em;
}

.pff-food-categories #pff-categories-title {
	margin: 0;
	color: var(--pff-text);
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
	font-size: clamp(1.75rem, 3.5vw, 2.75rem);
	font-weight: 900;
	letter-spacing: -0.01em;
	line-height: 1.15;
}

.pff-food-categories .pff-categories-description {
	margin: 1rem 0 0;
	color: var(--pff-text-muted);
	font-size: 1rem;
	line-height: 1.75;
}

.pff-food-categories .pff-categories-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pff-categories-grid > li { min-width: 0; }

.pff-food-categories .pff-category-card {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	height: 100%;
	border: 1px solid rgb(255 255 255 / 12%);
	border-radius: var(--pff-radius);
	background: var(--pff-surface);
	color: var(--pff-text);
	text-decoration: none;
	box-shadow: 0 6px 18px rgb(0 0 0 / 10%);
	transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.pff-category-media {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	border-radius: calc(var(--pff-radius) - 1px) calc(var(--pff-radius) - 1px) 0 0;
	border-bottom: 1px solid rgb(255 255 255 / 5%);
	background: radial-gradient(ellipse at 50% 35%, rgb(255 200 87 / 6%), transparent 70%), linear-gradient(145deg, #292929, #191919);
}

.pff-category-media::before {
	content: "";
	position: absolute;
	inset: 18% 22%;
	border: 1px solid rgb(255 255 255 / 5%);
	border-radius: 50%;
	transform: rotate(-15deg);
}

.pff-category-media img {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 350ms ease;
}

.pff-category-caption {
	display: flex;
	flex: 1;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	min-height: 4.75rem;
	box-sizing: border-box;
	padding: 1rem 0.875rem;
}

.pff-category-name {
	font-size: 1rem;
	font-weight: 750;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.pff-category-arrow {
	flex-shrink: 0;
	color: var(--pff-yellow);
	opacity: 0.8;
}

.pff-food-categories .pff-category-card:focus-visible {
	outline: 2px solid var(--pff-yellow);
	outline-offset: 4px;
	border-color: var(--pff-yellow);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	.pff-food-categories .pff-category-card:hover {
		transform: translateY(-5px);
		border-color: rgb(255 200 87 / 40%);
		box-shadow: 0 14px 28px rgb(0 0 0 / 22%);
	}
	.pff-category-card:hover .pff-category-media img { transform: scale(1.045); }
}

@media (min-width: 40rem) {
	.pff-food-categories .pff-categories-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pff-category-caption { padding-inline: 1.125rem; }
}

@media (min-width: 64rem) {
	.pff-food-categories .pff-categories-grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 1.25rem;
	}
}

@media (max-width: 22rem) {
	.pff-food-categories .pff-categories-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
	.pff-food-categories .pff-category-card,
	.pff-category-media img { transition: none; }
}

/* Best sellers: price-led offers, independent of product/catalog styles. */
.pff-best-sellers {
	padding-block: var(--pff-section-spacing);
	border-top: 1px solid rgb(255 255 255 / 6%);
	background: radial-gradient(ellipse at 100% 50%, rgb(198 40 40 / 6%), transparent 65%), var(--pff-bg);
	scroll-margin-top: 10rem;
}

.pff-best-sellers .pff-deals-intro {
	max-width: 45rem;
	margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}

.pff-best-sellers .pff-deals-label {
	margin: 0 0 0.75rem;
	color: var(--pff-yellow);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.13em;
}

.pff-best-sellers #pff-best-sellers-title {
	margin: 0;
	color: var(--pff-text);
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
	font-size: clamp(1.75rem, 3.5vw, 2.75rem);
	font-weight: 900;
	letter-spacing: -0.01em;
	line-height: 1.15;
}

.pff-best-sellers .pff-deals-description {
	margin: 1rem 0 0;
	color: var(--pff-text-muted);
	font-size: 1rem;
	line-height: 1.75;
}

.pff-best-sellers .pff-deals-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-auto-rows: 1fr;
	gap: 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pff-best-sellers .pff-deal-card {
	position: relative;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	padding: clamp(1.25rem, 2.5vw, 2rem);
	border: 1px solid rgb(255 255 255 / 12%);
	border-radius: var(--pff-radius);
	background: var(--pff-surface);
	box-shadow: 0 8px 24px rgb(0 0 0 / 12%);
}

.pff-best-sellers .pff-deal-card::before {
	content: "";
	width: 2rem;
	height: 3px;
	margin-bottom: 1.25rem;
	border-radius: 2px;
	background: var(--pff-red);
}

/* Float a small cutout beside the price without changing card dimensions. */
.pff-best-sellers .pff-deal-visual {
	position: absolute;
	top: 50%;
	right: 0.75rem;
	display: grid;
	place-items: center;
	width: var(--pff-deal-visual-width, 34%);
	height: clamp(4rem, 6vw, 5.5rem);
	transform: translateY(calc(-50% + var(--pff-deal-visual-offset, 0px)));
	pointer-events: none;
}

.pff-best-sellers .pff-deal-visual::before {
	content: "";
	position: absolute;
	inset: -0.5rem;
	border-radius: 50%;
	background: radial-gradient(ellipse, rgb(198 40 40 / 14%), transparent 70%);
}

.pff-best-sellers .pff-deal-visual img {
	position: relative;
	display: block;
	width: 100%;
	max-width: 100%;
	height: 100%;
	object-fit: contain;
	filter: drop-shadow(0 0.375rem 0.5rem rgb(0 0 0 / 18%));
}

.pff-best-sellers .pff-deal-card:nth-child(2) .pff-deal-visual {
	--pff-deal-visual-width: 32%;
	--pff-deal-visual-offset: -3px;
}

.pff-best-sellers .pff-deal-card:nth-child(3) .pff-deal-visual {
	--pff-deal-visual-width: 35%;
	--pff-deal-visual-offset: 2px;
}

.pff-best-sellers .pff-deal-card:nth-child(4) .pff-deal-visual {
	--pff-deal-visual-width: 33%;
	--pff-deal-visual-offset: 3px;
}

.pff-best-sellers .pff-deal-card:nth-child(5) .pff-deal-visual {
	--pff-deal-visual-width: 35%;
	--pff-deal-visual-offset: -2px;
}

.pff-best-sellers .pff-deal-card:nth-child(6) .pff-deal-visual {
	--pff-deal-visual-width: 32%;
	--pff-deal-visual-offset: 1px;
}

@media (max-width: 47.999rem) {
	.pff-best-sellers .pff-deal-visual {
		width: calc(var(--pff-deal-visual-width, 34%) - 6%);
		height: 4rem;
	}
}

.pff-best-sellers .pff-deal-name {
	margin: 0;
	color: var(--pff-text);
	font-size: clamp(1.125rem, 1.7vw, 1.375rem);
	font-weight: 700;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.pff-best-sellers .pff-deal-price {
	margin: 1rem 0 1.5rem;
	color: var(--pff-yellow);
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
	font-size: clamp(3.5rem, 6vw, 4.75rem);
	font-weight: 900;
	font-variant-numeric: lining-nums tabular-nums;
	letter-spacing: -0.045em;
	line-height: 1;
	white-space: nowrap;
}

.pff-best-sellers .pff-deal-currency {
	display: inline-block;
	margin-right: 0.12em;
	font-size: 0.5em;
	vertical-align: 0.15em;
	letter-spacing: 0;
}

.pff-best-sellers .pff-deal-order {
	justify-content: space-between;
	gap: 1.5rem;
	min-height: 3rem;
	margin-top: auto;
	font-size: 0.75rem;
	letter-spacing: 0.06em;
}

.pff-best-sellers .pff-deal-order span {
	font-size: 1.125rem;
	line-height: 1;
}

.pff-best-sellers .pff-deals-highlight {
	margin: 2rem 0 0;
	padding-top: 1.25rem;
	border-top: 1px solid rgb(255 255 255 / 8%);
	color: var(--pff-yellow);
	font-size: 0.75rem;
	font-weight: 750;
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: center;
}

@media (min-width: 36rem) {
	.pff-best-sellers .pff-deals-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 64rem) {
	.pff-best-sellers .pff-deals-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 35.999rem) {
	.pff-best-sellers .pff-deal-order { width: 100%; }
}

/* Pizza spotlight: a single food visual paired with an editorial menu list. */
.pff-pizza-spotlight {
	padding-block: var(--pff-section-spacing);
	border-top: 1px solid rgb(255 255 255 / 6%);
	background: var(--pff-bg);
	scroll-margin-top: 10rem;
}

.pff-pizza-spotlight .pff-spotlight-intro {
	max-width: 42rem;
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

.pff-pizza-spotlight .pff-spotlight-label {
	margin: 0 0 0.75rem;
	color: var(--pff-yellow);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.13em;
}

.pff-pizza-spotlight #pff-spotlight-title {
	margin: 0;
	color: var(--pff-text);
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
	font-size: clamp(1.75rem, 3.5vw, 2.75rem);
	font-weight: 900;
	letter-spacing: -0.01em;
	line-height: 1.15;
}

.pff-pizza-spotlight .pff-spotlight-description {
	margin: 1rem 0 0;
	color: var(--pff-text-muted);
	font-size: 1rem;
	line-height: 1.75;
}

.pff-pizza-spotlight .pff-spotlight-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: center;
	gap: clamp(2rem, 4vw, 4rem);
}

.pff-pizza-spotlight .pff-spotlight-visual {
	position: relative;
	isolation: isolate;
	display: grid;
	place-items: center;
	width: 100%;
	max-width: 40rem;
	aspect-ratio: 1.12;
	margin-inline: auto;
	border-radius: 50%;
	background: radial-gradient(ellipse, rgb(198 40 40 / 19%), rgb(198 40 40 / 5%) 48%, transparent 72%);
}

.pff-pizza-spotlight .pff-spotlight-visual::before,
.pff-pizza-spotlight .pff-spotlight-visual::after {
	content: "";
	position: absolute;
	z-index: -1;
	pointer-events: none;
	border-radius: 50%;
}

.pff-pizza-spotlight .pff-spotlight-visual::before {
	inset: 6%;
	border: 1px solid rgb(255 200 87 / 8%);
	transform: rotate(-14deg);
}

.pff-pizza-spotlight .pff-spotlight-visual::after {
	inset: 68% 15% 8%;
	background: radial-gradient(ellipse, rgb(0 0 0 / 40%), transparent 70%);
}

.pff-pizza-spotlight .pff-spotlight-visual img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 1rem 1.25rem rgb(0 0 0 / 22%));
}

.pff-pizza-spotlight .pff-spotlight-menu { min-width: 0; }

.pff-pizza-spotlight .pff-spotlight-list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 2px solid var(--pff-red);
}

.pff-pizza-spotlight .pff-spotlight-pizza {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 1rem;
	padding-block: 1.125rem;
	border-bottom: 1px solid rgb(255 255 255 / 10%);
}

.pff-pizza-spotlight .pff-spotlight-pizza h3 {
	margin: 0;
	color: var(--pff-text);
	font-size: clamp(1.125rem, 1.7vw, 1.375rem);
	font-weight: 750;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.pff-pizza-spotlight .pff-spotlight-prices {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	color: var(--pff-text-muted);
	font-size: 0.8125rem;
	line-height: 1.5;
}

.pff-pizza-spotlight .pff-spotlight-prices span { white-space: nowrap; }

.pff-pizza-spotlight .pff-spotlight-prices strong {
	margin-left: 0.25rem;
	color: var(--pff-yellow);
	font-size: 1.125rem;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}

.pff-pizza-spotlight .pff-spotlight-cta {
	min-height: 3.25rem;
	gap: 1.5rem;
	margin-top: 1.75rem;
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
}

@media (min-width: 64rem) {
	.pff-pizza-spotlight .pff-spotlight-layout {
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	}
}

@media (max-width: 35.999rem) {
	.pff-pizza-spotlight .pff-spotlight-pizza {
		flex-direction: column;
		align-items: flex-start;
	}
	.pff-pizza-spotlight .pff-spotlight-cta {
		width: 100%;
		justify-content: space-between;
	}
}

/* Build your tacos: three informational steps beside a framed food visual. */
.pff-build-your-tacos {
	position: relative;
	padding-block: var(--pff-section-spacing);
	border-top: 1px solid rgb(255 255 255 / 6%);
	background: var(--pff-bg);
	scroll-margin-top: 10rem;
}

.pff-build-your-tacos .pff-tacos-anchor {
	position: absolute;
	top: 0;
	scroll-margin-top: 10rem;
}

.pff-build-your-tacos .pff-tacos-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: center;
	gap: clamp(2rem, 4vw, 4rem);
}

.pff-build-your-tacos .pff-tacos-visual {
	position: relative;
	isolation: isolate;
	display: grid;
	place-items: center;
	width: 100%;
	max-width: 36rem;
	aspect-ratio: 1;
	margin-inline: auto;
	border-radius: 2rem 0.75rem 2rem 0.75rem;
	background: radial-gradient(ellipse at 50% 55%, rgb(198 40 40 / 25%), transparent 70%), linear-gradient(145deg, #211717, #151313);
}

.pff-build-your-tacos .pff-tacos-visual::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 1rem;
	border: 1px solid rgb(255 255 255 / 7%);
	border-radius: 1.25rem 0.375rem 1.25rem 0.375rem;
	pointer-events: none;
}

.pff-build-your-tacos .pff-tacos-visual img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 1rem 1.25rem rgb(0 0 0 / 25%));
}

.pff-build-your-tacos .pff-tacos-content { min-width: 0; }

.pff-build-your-tacos .pff-tacos-label {
	margin: 0 0 0.75rem;
	color: var(--pff-yellow);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.13em;
}

.pff-build-your-tacos #pff-tacos-title {
	margin: 0;
	color: var(--pff-text);
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
	font-size: clamp(1.75rem, 3.5vw, 2.75rem);
	font-weight: 900;
	letter-spacing: -0.01em;
	line-height: 1.15;
}

.pff-build-your-tacos .pff-tacos-description {
	margin: 1rem 0 0;
	color: var(--pff-text-muted);
	font-size: 1rem;
	line-height: 1.75;
}

.pff-build-your-tacos .pff-tacos-step { margin-top: 1.75rem; }

.pff-build-your-tacos .pff-tacos-step-title {
	display: flex;
	align-items: baseline;
	gap: 0.75rem;
	margin: 0 0 0.875rem;
	color: var(--pff-text);
	font-size: 1rem;
	font-weight: 750;
	line-height: 1.4;
}

.pff-build-your-tacos .pff-tacos-step-title > span {
	color: var(--pff-yellow);
	font-size: 0.75rem;
	font-variant-numeric: tabular-nums;
}

.pff-build-your-tacos .pff-tacos-sizes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.pff-build-your-tacos .pff-tacos-size {
	min-width: 0;
	padding: clamp(1rem, 2vw, 1.5rem);
	border: 1px solid rgb(255 255 255 / 12%);
	border-top: 3px solid var(--pff-red);
	border-radius: var(--pff-radius);
	background: var(--pff-surface);
}

.pff-build-your-tacos .pff-tacos-size h4 {
	display: flex;
	align-items: baseline;
	gap: 0.625rem;
	margin: 0;
	color: var(--pff-text);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.pff-build-your-tacos .pff-tacos-size h4 strong {
	color: var(--pff-yellow);
	font-size: 2.5rem;
	font-weight: 900;
	line-height: 1;
}

.pff-build-your-tacos .pff-tacos-meat-count {
	margin: 0.625rem 0 1rem;
	color: var(--pff-text-muted);
	font-size: 0.875rem;
}

.pff-build-your-tacos .pff-tacos-size dl {
	margin: 0;
	padding-top: 0.75rem;
	border-top: 1px solid rgb(255 255 255 / 8%);
}

.pff-build-your-tacos .pff-tacos-size dl > div {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.25rem 0.5rem;
	padding-block: 0.25rem;
}

.pff-build-your-tacos .pff-tacos-size dt {
	color: var(--pff-text-muted);
	font-size: 0.875rem;
	font-weight: 400;
}

.pff-build-your-tacos .pff-tacos-size dd {
	margin: 0;
	color: var(--pff-yellow);
	font-size: 1.25rem;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.pff-build-your-tacos .pff-tacos-choices {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.125rem;
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--pff-text-muted);
	font-size: 0.875rem;
	line-height: 1.65;
}

.pff-build-your-tacos .pff-tacos-choices li {
	max-width: 100%;
	overflow-wrap: anywhere;
}

.pff-build-your-tacos .pff-tacos-choices li::before {
	content: "";
	display: inline-block;
	width: 0.25rem;
	height: 0.25rem;
	margin-right: 0.5rem;
	border-radius: 50%;
	background: var(--pff-red);
	vertical-align: 0.2em;
}

.pff-build-your-tacos .pff-tacos-cta {
	min-height: 3.25rem;
	gap: 1.5rem;
	margin-top: 2rem;
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
}

@media (min-width: 64rem) {
	.pff-build-your-tacos .pff-tacos-layout {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
	}
}

@media (max-width: 35.999rem) {
	.pff-build-your-tacos .pff-tacos-cta {
		width: 100%;
		justify-content: space-between;
	}
}

@media (max-width: 23rem) {
	.pff-build-your-tacos .pff-tacos-sizes { grid-template-columns: minmax(0, 1fr); }
}

/* Burger Showcase only: compact menu panels and an unframed, dramatic visual. */
.pff-burger-showcase {
	position: relative;
	padding-block: var(--pff-section-spacing);
	border-top: 1px solid rgb(255 255 255 / 6%);
	background: var(--pff-bg);
	color: var(--pff-text);
	scroll-margin-top: 10rem;
}
.pff-burger-showcase .pff-burger-anchor { position: absolute; top: 0; scroll-margin-top: 10rem; }
.pff-burger-showcase .pff-burger-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: center;
	gap: 2rem;
}
.pff-burger-showcase .pff-burger-visual {
	display: grid;
	place-items: center;
	min-width: 0;
	width: 100%;
	max-width: 36rem;
	aspect-ratio: 1.15;
	margin-inline: auto;
	background: radial-gradient(ellipse at 50% 55%, rgb(140 20 20 / 32%), rgb(100 15 15 / 10%) 45%, transparent 72%);
}
.pff-burger-showcase .pff-burger-visual img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	max-height: 100%;
	object-fit: contain;
	filter: drop-shadow(0 1.5rem 1.5rem rgb(0 0 0 / 35%));
}
.pff-burger-showcase .pff-burger-content { min-width: 0; }
.pff-burger-showcase .pff-burger-label {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 1rem;
	color: var(--pff-yellow);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.16em;
}
.pff-burger-showcase .pff-burger-label::before { content: ""; width: 2rem; height: 3px; background: var(--pff-red); }
.pff-burger-showcase #pff-burger-title {
	margin: 0;
	color: var(--pff-text);
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
	font-size: clamp(1.65rem, 3.2vw, 2.75rem);
	font-weight: 900;
	letter-spacing: -0.035em;
	line-height: 1.12;
}
.pff-burger-showcase #pff-burger-title span { display: block; }
.pff-burger-showcase .pff-burger-description { max-width: 32rem; margin: 1.25rem 0 1.75rem; color: var(--pff-text-muted); line-height: 1.75; }
.pff-burger-showcase .pff-burger-list { display: grid; gap: 0.75rem; margin: 0; padding: 0; list-style: none; }
.pff-burger-showcase .pff-burger-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 1rem;
	padding: 1.125rem;
	border: 1px solid rgb(255 255 255 / 8%);
	border-left: 3px solid var(--pff-red);
	border-radius: 0 0.625rem 0.625rem 0;
	background: var(--pff-surface);
}
.pff-burger-showcase .pff-burger-details h3 { margin: 0 0 0.5rem; font-size: 1.0625rem; font-weight: 850; line-height: 1.3; }
.pff-burger-showcase .pff-burger-details p { margin: 0; color: var(--pff-text-muted); font-size: 0.8125rem; line-height: 1.65; }
.pff-burger-showcase .pff-burger-prices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.875rem; margin: 0; }
.pff-burger-showcase .pff-burger-prices dt { margin: 0 0 0.25rem; color: var(--pff-text-muted); font-size: 0.75rem; font-weight: 400; }
.pff-burger-showcase .pff-burger-prices dd { margin: 0; color: var(--pff-yellow); font-size: 1.125rem; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pff-burger-showcase .pff-burger-cta { min-height: 3.25rem; gap: 2rem; margin-top: 1.75rem; font-size: 0.8125rem; letter-spacing: 0.04em; }
@media (min-width: 64rem) {
	.pff-burger-showcase .pff-burger-layout { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 2.5rem; }
	.pff-burger-showcase .pff-burger-content { grid-column: 1; grid-row: 1; }
	.pff-burger-showcase .pff-burger-visual { grid-column: 2; grid-row: 1; }
}
@media (max-width: 35.999rem) {
	.pff-burger-showcase .pff-burger-visual { max-width: 25rem; }
	.pff-burger-showcase .pff-burger-row { grid-template-columns: minmax(0, 1fr); gap: 0.875rem; }
	.pff-burger-showcase .pff-burger-prices { padding-top: 0.75rem; border-top: 1px solid rgb(255 255 255 / 8%); }
	.pff-burger-showcase .pff-burger-prices > div { display: flex; align-items: baseline; justify-content: space-between; gap: 0.375rem; }
	.pff-burger-showcase .pff-burger-cta { width: 100%; justify-content: space-between; }
}

/* Small Cravings: one shared charcoal surface and a compact, names-only list. */
.pff-sides-extras {
	position: relative;
	padding-block: var(--pff-section-spacing);
	border-top: 1px solid rgb(255 255 255 / 6%);
	background: var(--pff-bg);
	color: var(--pff-text);
	scroll-margin-top: 10rem;
}
.pff-sides-extras .pff-extras-anchor { position: absolute; top: 0; scroll-margin-top: 10rem; }
.pff-sides-extras .pff-extras-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: center;
	gap: clamp(1.5rem, 3vw, 3rem);
	padding: clamp(1.25rem, 3.5vw, 3rem);
	border: 1px solid rgb(255 255 255 / 8%);
	border-radius: 1.25rem;
	background: var(--pff-surface);
}
.pff-sides-extras .pff-extras-visual {
	display: grid;
	place-items: center;
	min-width: 0;
	width: 100%;
	max-width: 32rem;
	aspect-ratio: 1.2;
	margin-inline: auto;
	background: radial-gradient(ellipse at 50% 55%, rgb(160 20 20 / 22%), transparent 70%);
}
.pff-sides-extras .pff-extras-visual img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	max-height: 100%;
	object-fit: contain;
	filter: drop-shadow(0 1rem 1.25rem rgb(0 0 0 / 25%));
}
.pff-sides-extras .pff-extras-content { min-width: 0; }
.pff-sides-extras .pff-extras-label {
	margin: 0 0 0.875rem;
	color: var(--pff-yellow);
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.13em;
}
.pff-sides-extras #pff-extras-title {
	max-width: 12em;
	margin: 0;
	color: var(--pff-text);
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
	font-size: clamp(1.75rem, 3.2vw, 2.75rem);
	font-weight: 900;
	letter-spacing: -0.025em;
	line-height: 1.12;
	overflow-wrap: anywhere;
}
.pff-sides-extras .pff-extras-description {
	max-width: 28rem;
	margin: 1rem 0 1.5rem;
	color: var(--pff-text-muted);
	line-height: 1.75;
}
.pff-sides-extras .pff-extras-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.pff-sides-extras .pff-extras-list li {
	display: flex;
	align-items: baseline;
	gap: 0.625rem;
	min-width: 0;
	padding-block: 0.875rem;
	border-bottom: 1px solid rgb(255 255 255 / 12%);
	color: var(--pff-text);
	font-size: clamp(0.9375rem, 1.4vw, 1.0625rem);
	font-weight: 650;
	line-height: 1.5;
	overflow-wrap: anywhere;
}
.pff-sides-extras .pff-extras-list li::before {
	content: "";
	flex: 0 0 0.3125rem;
	height: 0.3125rem;
	border-radius: 50%;
	background: var(--pff-red);
	transform: translateY(-0.15em);
}
.pff-sides-extras .pff-extras-cta {
	min-height: 3.25rem;
	margin-top: 1.75rem;
	gap: 2rem;
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
}
@media (min-width: 64rem) {
	.pff-sides-extras .pff-extras-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 35.999rem) {
	.pff-sides-extras .pff-extras-visual { max-width: 24rem; }
	.pff-sides-extras .pff-extras-list { column-gap: 1rem; }
	.pff-sides-extras .pff-extras-cta { width: 100%; justify-content: space-between; }
}
@media (max-width: 23rem) {
	.pff-sides-extras .pff-extras-list { grid-template-columns: minmax(0, 1fr); }
}

/* Delivery, trust and visit: styles confined to these three homepage sections. */
:is(.pff-delivery-ordering, .pff-why-choose-us, .pff-location-opening-hours) {
	padding-block: var(--pff-section-spacing);
	border-top: 1px solid rgb(255 255 255 / 7%);
	background: var(--pff-bg);
	color: var(--pff-text);
	scroll-margin-top: 10rem;
}
:is(.pff-delivery-ordering, .pff-why-choose-us, .pff-location-opening-hours) .pff-service-label {
	margin: 0 0 0.875rem; color: var(--pff-yellow); font-size: 0.6875rem; font-weight: 800; letter-spacing: 0.13em;
}
:is(.pff-delivery-ordering, .pff-why-choose-us, .pff-location-opening-hours) .pff-service-title {
	margin: 0; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
	font-size: clamp(1.75rem, 3.4vw, 2.75rem); font-weight: 900; letter-spacing: -0.025em;
	line-height: 1.14; overflow-wrap: anywhere;
}
:is(.pff-delivery-ordering, .pff-why-choose-us, .pff-location-opening-hours) .pff-service-title span { display: block; }
.pff-delivery-ordering .pff-service-description { max-width: 36rem; margin: 1.25rem 0 0; color: var(--pff-text-muted); line-height: 1.75; }
:is(.pff-delivery-ordering, .pff-location-opening-hours) .pff-service-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.875rem; margin-top: 2rem; }
:is(.pff-delivery-ordering, .pff-location-opening-hours) .pff-service-actions .pff-btn { min-height: 3.25rem; gap: 1.25rem; font-size: 0.8125rem; letter-spacing: 0.04em; }
:is(.pff-delivery-ordering, .pff-location-opening-hours) .pff-service-secondary { --pff-btn-bg: transparent; border-color: var(--pff-border); }
:is(.pff-delivery-ordering, .pff-location-opening-hours) .pff-service-secondary:hover { border-color: var(--pff-yellow); }
.pff-delivery-ordering .pff-delivery-intro { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; align-items: center; }
.pff-delivery-ordering .pff-delivery-highlight { padding: 1.5rem 2rem; border-left: 3px solid var(--pff-red); background: linear-gradient(115deg, #271919, #191919); }
.pff-delivery-ordering .pff-delivery-highlight > p:first-child { margin: 0; color: var(--pff-yellow); font-size: 0.8125rem; font-weight: 800; letter-spacing: 0.07em; }
.pff-delivery-ordering .pff-delivery-highlight strong { display: block; margin-top: 0.5rem; font-size: clamp(4rem, 7vw, 6rem); font-weight: 900; line-height: 1; letter-spacing: -0.045em; }
.pff-delivery-ordering .pff-delivery-radius { margin: 0.875rem 0 0; color: var(--pff-text-muted); font-size: 0.875rem; }
.pff-delivery-ordering .pff-delivery-options { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; margin: 2.5rem 0 0; padding: 0; list-style: none; border-block: 1px solid rgb(255 255 255 / 12%); }
.pff-delivery-ordering .pff-delivery-options li { display: flex; gap: 1rem; min-width: 0; padding: 1.5rem 0; }
.pff-delivery-ordering .pff-delivery-options li + li { border-top: 1px solid rgb(255 255 255 / 10%); }
.pff-delivery-ordering .pff-delivery-options svg { flex: 0 0 2rem; color: var(--pff-yellow); }
.pff-delivery-ordering .pff-delivery-options h3 { margin: 0 0 0.5rem; font-size: 0.9375rem; font-weight: 800; }
.pff-delivery-ordering .pff-delivery-options p { margin: 0; color: var(--pff-text-muted); font-size: 0.875rem; line-height: 1.65; }
.pff-delivery-ordering .pff-delivery-phone { display: inline-flex; align-items: center; min-height: 3rem; padding-inline: 0.5rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.pff-why-choose-us { padding-block: clamp(2.5rem, 4vw, 4rem); background: var(--pff-surface); }
.pff-why-choose-us .pff-service-title { font-size: clamp(1.5rem, 2.7vw, 2.25rem); }
.pff-why-choose-us .pff-trust-strip { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.pff-why-choose-us .pff-trust-strip > li { min-width: 0; padding-left: 1.125rem; border-left: 2px solid rgb(198 40 40 / 55%); }
.pff-why-choose-us .pff-trust-strip h3 { margin: 0 0 0.625rem; color: var(--pff-yellow); font-size: 0.8125rem; font-weight: 800; letter-spacing: 0.045em; line-height: 1.5; }
.pff-why-choose-us .pff-trust-strip p { margin: 0; color: var(--pff-text-muted); font-size: 0.875rem; line-height: 1.75; }
:is(.pff-why-choose-us, .pff-location-opening-hours) .pff-service-hours { margin: 0; color: var(--pff-text-muted); font-size: 0.875rem; }
:is(.pff-why-choose-us, .pff-location-opening-hours) .pff-service-hours > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0 0.75rem; padding-block: 0.25rem; }
:is(.pff-why-choose-us, .pff-location-opening-hours) .pff-service-hours dt { font-weight: 400; }
:is(.pff-why-choose-us, .pff-location-opening-hours) .pff-service-hours dd { margin: 0; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pff-why-choose-us .pff-service-hours { font-size: 0.8125rem; }
.pff-location-opening-hours .pff-visit-layout { display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch; gap: clamp(2rem, 5vw, 4rem); }
.pff-location-opening-hours .pff-visit-content { min-width: 0; }
.pff-location-opening-hours .pff-visit-address { margin-top: 1.5rem; font-style: normal; }
.pff-location-opening-hours .pff-visit-address p { margin: 0 0 0.75rem; color: var(--pff-text-muted); line-height: 1.75; }
.pff-location-opening-hours .pff-visit-address a { display: inline-flex; align-items: center; min-height: 2.75rem; font-size: 1.25rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.pff-location-opening-hours .pff-visit-hours { max-width: 30rem; margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--pff-border); }
.pff-location-opening-hours .pff-visit-hours h3 { margin: 0 0 0.75rem; font-size: 1rem; }
.pff-location-opening-hours .pff-visit-panel { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; min-width: 0; padding: clamp(1.75rem, 4vw, 3.5rem); border: 1px solid rgb(198 40 40 / 32%); border-radius: 1.25rem; background: radial-gradient(ellipse at 90% 10%, rgb(198 40 40 / 19%), transparent 65%), var(--pff-surface); }
.pff-location-opening-hours .pff-visit-pin { display: grid; place-items: center; width: 4rem; height: 4rem; margin-bottom: 2rem; border: 1px solid rgb(255 200 87 / 30%); border-radius: 50%; color: var(--pff-yellow); }
.pff-location-opening-hours .pff-visit-brand { margin: 0; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: clamp(2.5rem, 5vw, 4.5rem); font-weight: 900; letter-spacing: -0.04em; line-height: 1; }
.pff-location-opening-hours .pff-visit-locality { margin: 1.25rem 0 0; color: var(--pff-yellow); font-size: 0.8125rem; font-weight: 800; letter-spacing: 0.1em; }
.pff-location-opening-hours .pff-visit-service { width: 100%; margin: 2.5rem 0 0; padding-top: 1.25rem; border-top: 2px solid var(--pff-red); color: var(--pff-text-muted); font-size: 0.875rem; line-height: 1.75; }
.pff-location-opening-hours .pff-service-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (min-width: 48rem) {
	.pff-delivery-ordering .pff-delivery-intro { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 3rem; }
	.pff-delivery-ordering .pff-delivery-options { grid-template-columns: repeat(3, minmax(0, 1fr)); padding-block: 1.5rem; }
	.pff-delivery-ordering .pff-delivery-options li { padding: 0 1.5rem; }
	.pff-delivery-ordering .pff-delivery-options li:first-child { padding-left: 0; }
	.pff-delivery-ordering .pff-delivery-options li + li { border-top: 0; border-left: 1px solid rgb(255 255 255 / 10%); }
	.pff-why-choose-us .pff-trust-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pff-location-opening-hours .pff-visit-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 75rem) {
	.pff-why-choose-us .pff-trust-strip { grid-template-columns: 0.65fr 1.4fr 1fr 1.2fr; }
}
@media (max-width: 35.999rem) {
	:is(.pff-delivery-ordering, .pff-location-opening-hours) .pff-service-actions .pff-btn { flex: 1 1 10rem; }
}
/* =========================================================
   Pizza Fast Food — Footer
   ========================================================= */

.pff-site-footer {
    background: #151515;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    color: var(--pff-text, #ffffff);
    padding: 64px 0 0;
}

.pff-footer-grid {
    display: grid;
    grid-template-columns: 1.35fr 1fr 1fr 1.15fr;
    gap: 48px;
    align-items: start;
}

.pff-footer-brand .custom-logo-link {
    display: inline-block;
    margin-bottom: 22px;
}

.pff-footer-brand .custom-logo {
    display: block;
    width: 130px;
    max-width: 100%;
    height: auto;
}

.pff-footer-brand > p {
    max-width: 310px;
    margin: 0;
    color: var(--pff-text-muted, #b9b9b9);
    font-size: 15px;
    line-height: 1.75;
}

.pff-footer-column h3 {
    margin: 0 0 20px;
    color: #ffffff;
    font-size: 17px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.pff-footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pff-footer-links li {
    margin: 0 0 11px;
}

.pff-footer-links a {
    color: var(--pff-text-muted, #b9b9b9);
    text-decoration: none;
    transition: color 0.2s ease;
}

.pff-footer-links a:hover,
.pff-footer-links a:focus-visible {
    color: var(--pff-yellow, #ffc857);
}

.pff-footer-column address {
    margin: 0 0 16px;
    color: var(--pff-text-muted, #b9b9b9);
    font-style: normal;
    line-height: 1.7;
}

.pff-footer-phone {
    display: inline-block;
    color: var(--pff-yellow, #ffc857);
    font-weight: 800;
    text-decoration: none;
}

.pff-footer-phone:hover,
.pff-footer-phone:focus-visible {
    color: #ffffff;
}

.pff-footer-hours {
    display: grid;
    gap: 12px;
}

.pff-footer-hours p {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin: 0;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    color: var(--pff-text-muted, #b9b9b9);
    font-size: 14px;
}

.pff-footer-hours strong {
    color: #ffffff;
    font-weight: 700;
    white-space: nowrap;
}

.pff-footer-highlight {
    margin-top: 48px;
    padding: 18px 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    color: var(--pff-yellow, #ffc857);
    text-align: center;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pff-footer-highlight span {
    margin: 0 10px;
    color: var(--pff-red, #c62828);
}

.pff-footer-bottom {
    padding: 22px 0 28px;
    text-align: center;
}

.pff-footer-bottom p {
    margin: 0;
    color: var(--pff-text-muted, #8f8f8f);
    font-size: 13px;
}

/* Tablet */
@media (max-width: 980px) {
    .pff-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 40px 32px;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .pff-site-footer {
        padding-top: 46px;
    }

    .pff-footer-grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .pff-footer-brand .custom-logo {
        width: 115px;
    }

    .pff-footer-brand > p {
        max-width: none;
    }

    .pff-footer-hours p {
        max-width: 360px;
    }

    .pff-footer-highlight {
        margin-top: 36px;
        padding: 16px 10px;
        line-height: 1.8;
    }

    .pff-footer-highlight span {
        margin: 0 6px;
    }
}
