/* The Hook Pack promo (menu-independent): band for page sections, box for blog posts.
   Uses the theme's tokens when present, MJS Media values otherwise. */

.hp-promo {
	--pp-ink: var(--ink, #111111);
	--pp-paper: var(--white, #ffffff);
	--pp-accent: var(--accent, #00cfff);
	--pp-grey: var(--grey, #6b6b6b);
	--pp-display: var(--font-display, "Anton", Impact, "Arial Narrow Bold", sans-serif);
	--pp-body: var(--font-body, "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
	--pp-ease: var(--ease, cubic-bezier(0.2, 0.7, 0.2, 1));
	--pp-bg: #f2f2f0;
	--pp-fg: var(--pp-ink);
	--pp-muted: var(--pp-grey);
	--pp-line: rgba(17, 17, 17, 0.14);
	--pp-card: var(--pp-paper);
	background: var(--pp-bg);
	color: var(--pp-fg);
	font-family: var(--pp-body);
}
.hp-promo--white {
	--pp-bg: var(--pp-paper);
	--pp-card: #f2f2f0;
}
.hp-promo--ink {
	--pp-bg: var(--pp-ink);
	--pp-fg: var(--pp-paper);
	--pp-muted: #a3a3a3;
	--pp-line: rgba(255, 255, 255, 0.18);
	--pp-card: #1b1b1b;
}
.hp-promo *,
.hp-promo *::before,
.hp-promo *::after {
	box-sizing: border-box;
}

.hp-promo__inner {
	display: grid;
	gap: clamp(2.5rem, 2rem + 2vw, 4rem);
	align-items: center;
	max-width: var(--max, 1280px);
	margin: 0 auto;
	padding: var(--section-pad, clamp(4rem, 2.2rem + 7.5vw, 8.75rem)) var(--page-pad, 20px);
}
@media (min-width: 900px) {
	.hp-promo__inner {
		grid-template-columns: 1.05fr 0.95fr;
	}
}

.hp-promo .hp-promo__label {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	margin: 0 0 1rem;
	color: var(--pp-muted);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	line-height: 1.5;
	text-transform: uppercase;
}
.hp-promo__free {
	padding: 3px 7px 2px;
	border-radius: 2px;
	background: var(--pp-accent);
	color: var(--pp-ink);
	font-weight: 700;
	letter-spacing: 0.1em;
}
.hp-promo .hp-promo__title {
	margin: 0;
	color: var(--pp-fg);
	font-family: var(--pp-display);
	font-size: clamp(2.5rem, 1.8rem + 3vw, 4.5rem);
	font-weight: 400;
	letter-spacing: 0.005em;
	line-height: 0.98;
	text-transform: uppercase;
}
.hp-promo .hp-promo__lead {
	max-width: 34rem;
	margin: 1.25rem 0 0;
	color: var(--pp-fg);
	font-size: var(--fs-lead, 1.25rem);
	line-height: 1.55;
}
.hp-promo .hp-promo__points {
	display: grid;
	gap: 0.5rem;
	margin: 1.5rem 0 0;
	padding: 0;
	list-style: none;
	font-size: 1rem;
}
.hp-promo .hp-promo__points li {
	position: relative;
	margin: 0;
	padding-left: 1.75rem;
}
.hp-promo .hp-promo__points li::before {
	content: "";
	position: absolute;
	top: 0.3em;
	left: 0;
	width: 1.05rem;
	height: 1.05rem;
	border-radius: 50%;
	background: var(--pp-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 0.7rem no-repeat;
}

.hp-promo a.hp-promo__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	min-height: 52px;
	margin-top: 2rem;
	padding: 14px 26px;
	border: 2px solid var(--pp-accent);
	border-radius: 2px;
	background: var(--pp-accent);
	color: var(--pp-ink);
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 0.18s var(--pp-ease), color 0.18s var(--pp-ease), border-color 0.18s var(--pp-ease);
}
.hp-promo a.hp-promo__btn svg {
	transition: transform 0.18s var(--pp-ease);
}
.hp-promo a.hp-promo__btn:hover {
	border-color: var(--pp-ink);
	background: var(--pp-ink);
	color: var(--pp-accent);
}
.hp-promo--ink a.hp-promo__btn:hover {
	border-color: var(--pp-accent);
	background: transparent;
	color: var(--pp-accent);
}
.hp-promo a.hp-promo__btn:hover svg {
	transform: translateX(3px);
}
.hp-promo a.hp-promo__btn:focus-visible {
	outline: 2px solid var(--pp-fg);
	outline-offset: 3px;
}

/* Example hook cards */
.hp-promo__cards {
	display: grid;
	gap: 0.875rem;
}
.hp-promo .hp-promo__cards-label {
	margin: 0 0 0.25rem;
	color: var(--pp-muted);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.hp-promo .hp-promo__card {
	margin: 0;
	padding: 1.125rem 1.375rem 1.25rem;
	border: 1px solid var(--pp-line);
	border-left: 4px solid var(--pp-accent);
	background: var(--pp-card);
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08);
}
@media (min-width: 900px) {
	.hp-promo .hp-promo__card:nth-of-type(2) {
		margin-left: 2.5rem;
	}
	.hp-promo .hp-promo__card:nth-of-type(3) {
		margin-left: 1.25rem;
	}
}
.hp-promo .hp-promo__card blockquote {
	margin: 0;
	padding: 0;
	border: 0;
	color: var(--pp-fg);
	font-size: clamp(1.125rem, 1.05rem + 0.35vw, 1.3125rem);
	font-style: normal;
	font-weight: 700;
	line-height: 1.35;
}
.hp-promo .hp-promo__card figcaption {
	margin-top: 0.5rem;
	color: var(--pp-muted);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

/* Box: compact version at the end of blog posts */
.hp-promo--box {
	margin: 3rem 0 0;
}
.hp-promo--box .hp-promo__inner {
	display: block;
	padding: clamp(1.5rem, 1rem + 2vw, 2.5rem);
}
.hp-promo--box .hp-promo__title {
	font-size: clamp(1.875rem, 1.5rem + 1.5vw, 2.75rem);
}
.hp-promo--box .hp-promo__lead {
	font-size: 1.0625rem;
}
.hp-promo--box a.hp-promo__btn {
	margin-top: 1.5rem;
}

@media (prefers-reduced-motion: reduce) {
	.hp-promo a.hp-promo__btn,
	.hp-promo a.hp-promo__btn svg {
		transition: none;
	}
}
