/* ==========================================================================
   Home sections (below the hero)
   Each section is a Cover block: the image is the section's decorative art
   (baked from the design), the content is real blocks. Desktop (≥1200px)
   places blocks in design px (--x/--y/--w relative to the section, 1920
   canvas); below 1200px everything stacks in normal flow.
   Numbers are measured from the PDF: y = cap-top − section-top − line offset.
   ========================================================================== */

.cdc-sec.wp-block-cover {
	container-type: inline-size;
	min-height: 0;
	padding: 0;
	overflow: clip;
	align-items: stretch;
	color: var(--wp--preset--color--white);
	--cdc-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 23'%3E%3Cpath d='M12 0l3.1 7.6 8.2.6-6.3 5.3 2 8-7-4.3-7 4.3 2-8L.7 8.2l8.2-.6z'/%3E%3C/svg%3E");
}

.cdc-sec > * {
	--u: calc(min(100cqw, 1920px) / 1920);
}

.cdc-sec .wp-block-cover__inner-container {
	box-sizing: border-box;
	position: relative;
}

.cdc-sec .wp-block-cover__inner-container > * {
	margin-block: 0;
}

.cdc-sec h2,
.cdc-sec h3 {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 800;
}

.cdc-sec mark {
	background: none !important;
}

/* Shared: photos */
.cdc-sec .wp-block-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Shared: pill buttons (colour change only on hover, no movement). */
.cdc-sec .wp-block-button__link {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: 0 12px;
	white-space: nowrap;
	font-weight: 700;
}

.cdc-sec .wp-block-buttons {
	gap: calc(21.8 * var(--u));
	flex-wrap: nowrap;
}

.is-style-gold .wp-block-button__link {
	background: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--white);
}

.is-style-dark .wp-block-button__link {
	background: var(--wp--preset--color--night);
	color: var(--wp--preset--color--white);
}

.is-style-gold .wp-block-button__link:hover,
.is-style-dark .wp-block-button__link:hover {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
}

/* Section heights (design px) */
.cdc-why { --h: 730; }
.cdc-real { --h: 1020; }
.cdc-fire { --h: 1214; }
.cdc-hot { --h: 1917; }
.cdc-built { --h: 1040; }
.cdc-reviews { --h: 1036; }
.cdc-craving { --h: 1095; }

@media (min-width: 1200px) {
	.cdc-sec .wp-block-cover__inner-container {
		height: calc(var(--h) * var(--u));
	}

	.cdc-sec .wp-block-cover__inner-container > * {
		position: absolute;
		margin: 0 !important;
		left: calc(50% + (var(--x, 0) - 960) * var(--u));
		top: calc(var(--y, 0) * var(--u));
		width: calc(var(--w, 1920) * var(--u));
	}

	/* ---- Why Crispy Dough ---- */
	.cdc-why__title { --y: 200.1; text-align: center; font-size: calc(68.3 * var(--u)); line-height: 1.1; }
	.cdc-why__cards {
		--x: 298.4; --y: 321.5; --w: 1323.2;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: calc(16.2 * var(--u));
		height: calc(317.6 * var(--u));
	}
	.cdc-card { padding: calc(23 * var(--u)) calc(16.4 * var(--u)) calc(29 * var(--u)); }
	.cdc-card__icon { width: calc(51 * var(--u)); }
	.cdc-card__title { font-size: calc(31.7 * var(--u)); }
	.cdc-card__text { max-width: calc(345 * var(--u)); margin-top: calc(10.5 * var(--u)) !important; font-size: max(calc(15.3 * var(--u)), 12.5px); line-height: 1.503; }

	/* ---- Real Pizza ---- */
	.cdc-real__title { --x: 289; --y: 93.9; --w: 620; font-size: calc(70.7 * var(--u)); line-height: 1.0467; }
	.cdc-real__text { --x: 1098.8; --y: 77.1; --w: 530; font-size: max(calc(16.8 * var(--u)), 12px); line-height: 1.3095; }
	.cdc-real__cta { --x: 1098.8; --y: 206.7; --w: 193.7; height: calc(54.3 * var(--u)); }
	.cdc-real__cta .wp-block-button { width: 100%; height: 100%; }
	.cdc-real__cta .wp-block-button__link { font-size: max(calc(15.3 * var(--u)), 12.5px); }
	.cdc-real__rule { --x: 303.7; --y: 323.3; --w: 1312.6; }
	.cdc-real__photos { --x: 300; --y: 375; --w: 1320; display: flex; gap: calc(12 * var(--u)); height: calc(570 * var(--u)); }
	.cdc-real__photo { flex: 1; margin: 0 !important; }

	/* ---- Straight From The Fire ---- */
	.cdc-fire__title { --y: 67.8; text-align: center; font-size: calc(60.6 * var(--u)); line-height: 1.1; }
	.cdc-fire__sub { --y: 150.4; text-align: center; font-size: max(calc(18.9 * var(--u)), 14px); line-height: 1.2; }
	.cdc-fire__photos { --x: 248; --y: 224; --w: 717; height: calc(766 * var(--u)); }
	.cdc-fire__photo { position: absolute; margin: 0 !important; width: calc(525 * var(--u)); height: calc(525 * var(--u)); }
	.cdc-fire__photo--back { left: 0; top: 0; }
	.cdc-fire__photo--front { left: calc(192 * var(--u)); top: calc(181 * var(--u)); }
	.cdc-fire__list { --x: 1025.8; --y: 382.5; --w: 760; }
	.cdc-fire__list li { height: calc(59.8 * var(--u)); margin: 0; font-size: calc(68.4 * var(--u)); line-height: calc(59.8 * var(--u)); }
	.cdc-fire__list li + li { margin-top: calc(48.4 * var(--u)) !important; }
	.cdc-fire__list li::before { flex: 0 0 calc(41.3 * var(--u)); font-size: calc(27.4 * var(--u)); }
	.cdc-fire__cta { --x: 819.2; --y: 986.1; --w: 281.6; height: calc(78.9 * var(--u)); }
	.cdc-fire__cta .wp-block-button { width: 100%; height: 100%; }
	.cdc-fire__cta .wp-block-button__link { font-size: max(calc(22.3 * var(--u)), 16px); }

	/* ---- Hot Pizza. No Waiting. ---- */
	.cdc-hot__title { --y: 1310.1; text-align: center; font-size: calc(138.6 * var(--u)); line-height: 1.1; font-weight: 900 !important; }
	.cdc-hot__steps { --y: 1557.5; height: calc(160 * var(--u)); }
	.cdc-step { position: absolute; top: 0; margin: 0 !important; }
	.cdc-step:nth-child(1) { left: calc(216.8 * var(--u)); }
	.cdc-step:nth-child(2) { left: calc(759.8 * var(--u)); }
	.cdc-step:nth-child(3) { left: calc(1442.8 * var(--u)); }
	.cdc-step__label { font-size: max(calc(25 * var(--u)), 16px); line-height: 1.2; }
	.cdc-step__title { margin-top: calc(9 * var(--u)) !important; font-size: calc(50 * var(--u)); line-height: 1.1; white-space: nowrap; }
	.cdc-step__text { margin-top: calc(11.8 * var(--u)) !important; font-size: max(calc(22 * var(--u)), 15px); line-height: 1.2; }
	.cdc-hot__cta { --x: 696.4; --y: 1758.3; --w: 544; height: calc(73.2 * var(--u)); }
	.cdc-hot__cta .wp-block-button { width: calc(261.1 * var(--u)); height: 100%; }
	.cdc-hot__cta .wp-block-button__link { font-size: max(calc(20.7 * var(--u)), 15px); }

	/* ---- Built Around Fire & Flavor ---- */
	.cdc-built__title { --x: 179; --y: 334.7; --w: 770; font-size: calc(98.5 * var(--u)); line-height: 0.9848; }
	.cdc-built__text { --x: 184; --y: 548.7; --w: 675; font-size: max(calc(22 * var(--u)), 15px); line-height: 2.409; }
	.cdc-built__photos { --x: 958; --y: 205; --w: 778; height: calc(681 * var(--u)); }
	.cdc-built__photo { position: absolute; margin: 0 !important; height: calc(334 * var(--u)); }
	.cdc-built__photo--a { left: 0; top: 0; width: calc(385 * var(--u)); }
	.cdc-built__photo--b { left: calc(393 * var(--u)); top: 0; width: calc(385 * var(--u)); }
	.cdc-built__photo--c { left: 0; top: calc(347 * var(--u)); width: calc(778 * var(--u)); }

	/* ---- Reviews ---- */
	.cdc-review { --x: 184.1; --y: 239.5; --w: 1551.8; height: calc(613.3 * var(--u)); }
	.cdc-review > * { position: absolute; margin: 0 !important; }
	.cdc-review__intro { left: calc(48.9 * var(--u)); top: 0; width: calc(520 * var(--u)); height: 100%; }
	.cdc-review__intro > * { position: absolute; margin: 0 !important; left: 0; }
	.cdc-review__rating { top: calc(117.6 * var(--u)); font-size: max(calc(29.5 * var(--u)), 18px); line-height: 1.2; white-space: nowrap; }
	.cdc-review__title { top: calc(211.6 * var(--u)); font-size: calc(50 * var(--u)); line-height: 1.152; }
	.cdc-review__stat { top: calc(373.2 * var(--u)); width: 100%; height: calc(90 * var(--u)); }
	.cdc-review__num { position: absolute; left: 0; top: 0; margin: 0 !important; font-size: calc(59 * var(--u)); line-height: 1.1; }
	.cdc-review__label { position: absolute; left: 0; top: calc(65.9 * var(--u)); margin: 0 !important; font-size: max(calc(17.3 * var(--u)), 13px); line-height: 1.2; }
	.cdc-review__avatars { position: absolute; left: calc(337.8 * var(--u)); top: calc(12.2 * var(--u)); width: calc(158.4 * var(--u)); margin: 0 !important; }
	.cdc-review__photo { left: calc(597.9 * var(--u)); top: calc(136.5 * var(--u)); width: calc(310 * var(--u)); height: calc(340 * var(--u)); }
	.cdc-review__quote { left: calc(963.2 * var(--u)); top: calc(193.1 * var(--u)); width: calc(560 * var(--u)); }
	.cdc-stars { height: calc(36.4 * var(--u)); width: calc(195 * var(--u)); }
	.cdc-review__text { margin-top: calc(36.4 * var(--u)) !important; font-size: max(calc(36.3 * var(--u)), 20px); line-height: 1.405; }

	/* ---- Craving Pizza? ---- */
	.cdc-craving__title { --y: 327.4; text-align: center; font-size: calc(113.2 * var(--u)); line-height: 1.1; font-weight: 900 !important; }
	.cdc-craving__text { --y: 465.7; text-align: center; font-size: max(calc(22 * var(--u)), 15px); line-height: 1.2; }
	.cdc-craving__cta { --x: 722.1; --y: 528.6; --w: 475.8; height: calc(63.8 * var(--u)); }
	.cdc-craving__cta .wp-block-button { width: calc(227.4 * var(--u)); height: 100%; }
	.cdc-craving__cta .wp-block-button__link { font-size: max(calc(18 * var(--u)), 14px); }
}

/* ---- Element styling shared by all widths ---- */
.cdc-card {
	display: flex;
	flex-direction: column;
	border-radius: 8px;
	background: var(--wp--preset--color--white);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

.cdc-why__cards > .cdc-card { margin: 0 !important; }
.cdc-card > * { margin: 0; }
.cdc-card__icon { margin-bottom: auto !important; }
.cdc-card__icon img { height: auto !important; object-fit: contain !important; }
.cdc-card__title { color: var(--wp--preset--color--gold); line-height: 1.1; }
.cdc-card__text { color: var(--wp--preset--color--slate); font-weight: 300; }

.cdc-real__text,
.cdc-fire__sub,
.cdc-built__text { font-weight: 300; }

.cdc-real__rule {
	height: 1.7px;
	margin: 0;
	border: 0;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0), #fff 12%, #fff 88%, rgba(255, 255, 255, 0));
	opacity: 1;
}

.cdc-real__photo img { border-radius: 30px; }
.cdc-fire__photo img { border-radius: 20px; }
.cdc-built__photo img { border-radius: 24px; }
.cdc-review__photo img { border-radius: 14px; }
.cdc-fire__photo--front { z-index: 1; }

/* Menu list: numbered with CSS counters; first item highlighted. */
.cdc-fire__list {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: cdc-menu;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 800;
}

.cdc-fire__list li {
	display: flex;
	align-items: baseline;
	counter-increment: cdc-menu;
	color: rgba(255, 255, 255, 0.35);
	white-space: nowrap;
	transition: color 0.25s ease;
}

.cdc-fire__list li:first-child,
.cdc-fire__list li:hover {
	color: var(--wp--preset--color--white);
}

.cdc-fire__list li::before {
	content: counter(cdc-menu, decimal-leading-zero);
	font-family: var(--wp--preset--font-family--body);
	font-weight: 400;
}

.cdc-hot__title,
.cdc-step__label,
.cdc-step__title,
.cdc-step__text,
.cdc-craving__title,
.cdc-craving__text { color: var(--wp--preset--color--slate); }

.cdc-step__label,
.cdc-step__text,
.cdc-craving__text { font-weight: 300; }

.cdc-built__title { color: var(--wp--preset--color--white); }
.cdc-built__title mark { color: var(--wp--preset--color--gold) !important; }

/* Review card */
.cdc-review {
	box-sizing: border-box;
	border: 2px solid #acb8ac;
	border-radius: 20px;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--coal);
}

.cdc-review__rating {
	display: flex;
	align-items: center;
	gap: 0.54em;
	font-weight: 300;
}

.cdc-review__rating::before {
	content: "";
	flex: none;
	width: 1.3em;
	height: 1.23em;
	background: #ffae00;
	-webkit-mask: var(--cdc-star) center / contain no-repeat;
	mask: var(--cdc-star) center / contain no-repeat;
}

/* Five stars drawn with a repeating mask; the text stays for screen readers. */
.cdc-stars {
	margin: 0;
	overflow: hidden;
	font-size: 0 !important;
	color: transparent;
	background: #ffae00;
	-webkit-mask: var(--cdc-star) 0 0 / 20% 100% repeat-x;
	mask: var(--cdc-star) 0 0 / 20% 100% repeat-x;
}

.cdc-review__title { color: var(--wp--preset--color--coal); }
.cdc-review__title mark { font-style: italic; }
.cdc-review__num { font-family: var(--wp--preset--font-family--heading); font-weight: 800; }
.cdc-review__label { font-weight: 300; }
.cdc-review__text { color: #000; font-weight: 400; }
.cdc-review__avatars img { height: auto !important; object-fit: contain !important; }

/* ==========================================================================
   Marquee bands — gold band, scrolling text (CSS only).
   ========================================================================== */

.cdc-band {
	display: flex;
	align-items: center;
	height: clamp(88px, 9.84vw, 189px);
	margin-block: 0 !important;
	overflow: hidden;
	background: var(--wp--preset--color--gold);
}

/* ==========================================================================
   Tablet & mobile (< 1200px): natural flow
   ========================================================================== */

@media (max-width: 1199.98px) {
	.cdc-sec .wp-block-cover__inner-container {
		display: flex;
		flex-direction: column;
		gap: 20px;
		padding: 64px 20px;
	}

	.cdc-sec h2 { font-size: clamp(34px, 8vw, 60px); line-height: 1.1; }
	.cdc-sec h3 { font-size: clamp(22px, 5vw, 30px); }

	.cdc-why__title,
	.cdc-fire__title,
	.cdc-fire__sub,
	.cdc-hot__title,
	.cdc-craving__title,
	.cdc-craving__text { text-align: center; }

	.cdc-why__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
	.cdc-card { min-height: 240px; padding: 20px 18px 26px; }
	.cdc-card__icon { width: 44px; }
	.cdc-card__title { margin-top: 24px !important; font-size: 26px !important; }
	.cdc-card__text { margin-top: 8px !important; font-size: 15px; line-height: 1.5; }

	.cdc-real .wp-block-cover__image-background { object-position: 0 50%; }
	.cdc-real__text,
	.cdc-built__text { font-size: 17px; line-height: 1.6; }
	.cdc-real__rule { width: 100%; }
	.cdc-real__photos { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
	.cdc-real__photo { aspect-ratio: 654 / 570; margin: 0 !important; }

	.cdc-fire__photos { position: relative; aspect-ratio: 717 / 766; width: min(100%, 520px); margin-inline: auto !important; }
	.cdc-fire__photo { position: absolute; width: 73.2%; aspect-ratio: 1; margin: 0 !important; }
	.cdc-fire__photo--back { left: 0; top: 0; }
	.cdc-fire__photo--front { right: 0; bottom: 0; }
	.cdc-fire__list { margin-inline: auto !important; }
	.cdc-fire__list li { font-size: clamp(26px, 7vw, 52px); line-height: 1.35; }
	.cdc-fire__list li::before { flex: 0 0 2.2em; font-size: 0.4em; }

	.cdc-sec .wp-block-buttons { justify-content: center; flex-wrap: wrap; gap: 12px; }
	.cdc-sec .wp-block-button { min-width: 190px; height: 56px; }
	.cdc-sec .wp-block-button__link { font-size: 16px; }

	/* White-dome sections: art sits above, text on white. */
	.cdc-hot.wp-block-cover,
	.cdc-craving.wp-block-cover { flex-direction: column; background: var(--wp--preset--color--white); }
	.cdc-hot .wp-block-cover__image-background { position: static; height: auto; aspect-ratio: 1920 / 1300; object-position: 50% 0; }
	.cdc-hot .wp-block-cover__inner-container { padding-top: 24px; }
	.cdc-hot__title { font-weight: 900 !important; }
	.cdc-hot__steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; }
	.cdc-step__label { font-size: 18px; }
	.cdc-step__title { margin-block: 4px !important; font-size: 28px !important; line-height: 1.15; }
	.cdc-step__text { font-size: 17px; }

	.cdc-built__photos { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
	.cdc-built__photo { aspect-ratio: 385 / 334; margin: 0 !important; }
	.cdc-built__photo--c { grid-column: 1 / -1; aspect-ratio: 778 / 334; }

	.cdc-review { display: flex; flex-direction: column; gap: 20px; padding: 28px 22px; }
	.cdc-review__intro { display: flex; flex-direction: column; gap: 14px; }
	.cdc-review__intro > * { margin: 0 !important; }
	.cdc-review__rating { font-size: 18px; }
	.cdc-review__title { font-size: clamp(30px, 7vw, 44px) !important; }
	.cdc-review__stat { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 16px; }
	.cdc-review__stat > * { margin: 0 !important; }
	.cdc-review__num { font-size: 44px; line-height: 1; }
	.cdc-review__label { grid-column: 1; font-size: 15px; }
	.cdc-review__avatars { grid-column: 2; grid-row: 1 / span 2; width: 130px; }
	.cdc-review__photo { width: min(100%, 360px); aspect-ratio: 310 / 340; margin: 0 !important; }
	.cdc-stars { height: 28px; width: 150px; }
	.cdc-review__text { margin-top: 16px !important; font-size: clamp(20px, 4.6vw, 28px); line-height: 1.4; }

	.cdc-craving .wp-block-cover__inner-container { order: -1; padding-bottom: 8px; }
	.cdc-craving .wp-block-cover__image-background { position: static; height: auto; aspect-ratio: 1920 / 700; object-position: 50% 100%; }
	.cdc-craving__title { font-weight: 900 !important; }
}

/* Laptop (1200–1599): body text hits its minimum size before the layout
   does, so give the Real Pizza button a little more room. */
@media (min-width: 1200px) and (max-width: 1599.98px) {
	.cdc-real__cta { --y: 224; }
}

@media (min-width: 1200px) and (max-width: 1279.98px) {
	.cdc-real__cta { --y: 238; }
}
