/*
 * The partner story (single-partner-story.php), board "Desktop · Sponsored
 * story", and the consent banner the slot system shows once. The partner
 * page ground (#EFEDE4) and the Olive band are the board's: Olive is
 * decorative here and carries only reverse labels at 14 px or larger.
 */
.mhf-story--partner-story .mhf-main { background: #EFEDE4; }
.mhf-paid-band { background: var(--mhf-olive); color: var(--mhf-paper); }
.mhf-paid-band__inner { padding-top: 12px; padding-bottom: 12px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 24px; font-family: var(--mhf-font-label); font-weight: 600; font-size: 14px; letter-spacing: 0.2em; text-transform: uppercase; }
.mhf-paid-band a { color: var(--mhf-paper); border-bottom: 1px solid rgba(247, 245, 239, 0.5); padding: 8px 0; }
.mhf-partner__opener { max-width: calc(1180px + 2 * var(--mhf-gutter)); padding-top: clamp(40px, 5vw, 72px); display: flex; flex-direction: column; gap: 16px; }
.mhf-partner__presented { display: flex; align-items: center; gap: 14px; }
.mhf-partner__presented .mhf-label { font-size: 13px; }
.mhf-partner__logo img { max-width: 140px; max-height: 44px; width: auto; height: auto; }
.mhf-partner__logo-text { font-family: var(--mhf-font-label); font-weight: 600; font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase; border: 1px dashed var(--mhf-text-3); padding: 10px 16px; color: var(--mhf-text-3); }
.mhf-partner__title { font-size: clamp(42px, 5vw, 70px); line-height: 1.02; letter-spacing: -0.015em; max-width: 22ch; }
.mhf-partner__dek { font-size: 21px; line-height: 1.5; color: var(--mhf-text-2); max-width: 46ch; }
.mhf-partner__produced { font-weight: 500; letter-spacing: 0.14em; }
.mhf-partner__figure { max-width: calc(1180px + 2 * var(--mhf-gutter)); margin: 32px auto 0; }
.mhf-partner__figure img { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; }
.mhf-partner__caption { margin-top: 10px; font-size: 14px; color: var(--mhf-text-3); }
.mhf-partner__layout { max-width: calc(1180px + 2 * var(--mhf-gutter)); padding-top: 40px; padding-bottom: 64px; display: flex; flex-wrap: wrap; gap: 40px clamp(32px, 5vw, 72px); align-items: flex-start; }
.mhf-partner__column { flex: 999 1 520px; min-width: 0; max-width: 720px; display: flex; flex-direction: column; gap: 1.1em; }
.mhf-reading--partner { font-size: 20px; line-height: 1.72; }
.mhf-reading--partner h2 { font-size: 30px; }
.mhf-partner__cta { align-self: flex-start; min-height: 52px; display: inline-flex; align-items: center; padding: 0 26px; background: var(--mhf-olive); color: var(--mhf-paper); font-family: var(--mhf-font-label); font-weight: 600; font-size: 15px; letter-spacing: 0.18em; text-transform: uppercase; }
.mhf-partner__cta:hover { background: var(--mhf-forest); color: var(--mhf-paper); }
.mhf-partner__about { flex: 1 1 300px; min-width: 0; max-width: 360px; background: var(--mhf-white); border-top: 4px solid var(--mhf-olive); padding: 24px; display: flex; flex-direction: column; gap: 12px; font-size: 16px; line-height: 1.6; scroll-margin-top: 24px; }
.mhf-partner__about p { margin: 0; }
.mhf-partner__disclosure p { margin: 0; }
.mhf-partner__standards { font-family: var(--mhf-font-display); font-style: italic; min-height: 44px; display: inline-flex; align-items: center; }
.mhf-partner__foot { background: var(--mhf-white); border-top: 1px solid var(--mhf-hairline); }
.mhf-partner__foot-inner { max-width: calc(1180px + 2 * var(--mhf-gutter)); padding-top: 48px; padding-bottom: 48px; display: flex; flex-wrap: wrap; gap: 32px 64px; align-items: center; }
.mhf-partner__about-partner { flex: 1 1 420px; display: flex; flex-direction: column; gap: 8px; }
.mhf-partner__about-partner .mhf-label { font-size: 13px; letter-spacing: 0.22em; }
.mhf-partner__about-text { font-size: 18px; line-height: 1.6; }
.mhf-partner__about-text p { margin: 0; }
.mhf-partner__back { flex: 1 1 320px; display: flex; flex-direction: column; gap: 8px; border-left: 1px solid var(--mhf-hairline); padding-left: 32px; }
.mhf-partner__back .mhf-label { font-size: 13px; letter-spacing: 0.22em; }
.mhf-partner__back-link { font-family: var(--mhf-font-display); font-size: 24px; line-height: 1.15; color: var(--mhf-ink); }
.mhf-partner__advertise { font-family: var(--mhf-font-display); font-style: italic; font-size: 16px; color: var(--mhf-text-3); min-height: 44px; display: inline-flex; align-items: center; }
.mhf-section-slot { padding-bottom: 8px; }
.mhf-recipe__slot { max-width: calc(1120px + 2 * var(--mhf-gutter)); }
.mhf-ad__creative { display: block; }
.mhf-ad__creative img { width: 100%; height: auto; max-height: 250px; object-fit: cover; }

/* The consent banner: once, at the foot, first party */
.mhf-consent { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 60; max-width: 720px; margin: 0 auto; background: var(--mhf-forest); color: var(--mhf-paper); padding: 20px 24px; display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: center; justify-content: space-between; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25); }
.mhf-consent[hidden] { display: none; }
.mhf-consent__text { flex: 1 1 320px; font-size: 16px; line-height: 1.5; color: var(--mhf-paper-reverse); }
.mhf-consent__text a { color: var(--mhf-paper); border-bottom: 1px solid rgba(247, 245, 239, 0.5); }
.mhf-consent__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.mhf-consent .mhf-button { min-height: 44px; font-size: 14px; padding: 0 18px; }
.mhf-consent .mhf-button--outline { color: var(--mhf-paper); border-color: var(--mhf-paper); }
.mhf-consent .mhf-button--outline:hover { background: var(--mhf-paper); color: var(--mhf-ink); }
.mhf-consent .mhf-button:not(.mhf-button--outline) { background: var(--mhf-paper); color: var(--mhf-ink); border-color: var(--mhf-paper); }

@media (max-width: 767px) {
	.mhf-paid-band__inner { font-size: 12px; letter-spacing: 0.16em; }
	.mhf-partner__opener { padding-top: 24px; gap: 12px; }
	.mhf-partner__title { font-size: 36px; }
	.mhf-partner__dek { font-size: 18px; }
	.mhf-partner__figure { margin-top: 20px; padding: 0; }
	.mhf-partner__figure img { aspect-ratio: 3 / 2; }
	.mhf-partner__caption { padding: 0 var(--mhf-gutter-phone); }
	.mhf-partner__layout { display: block; padding-top: 24px; padding-bottom: 36px; }
	.mhf-reading--partner { font-size: 18px; }
	.mhf-partner__about { max-width: none; margin-top: 28px; }
	.mhf-partner__foot-inner { display: block; padding-top: 32px; padding-bottom: 32px; }
	.mhf-partner__back { border-left: 0; padding-left: 0; margin-top: 24px; }
	.mhf-consent { left: 0; right: 0; bottom: 0; padding: 16px 20px; }
	.mhf-consent__actions { width: 100%; }
	.mhf-consent .mhf-button { flex: 1 1 auto; }
}
