/* ==========================================================================
   Bep Nha — Print stylesheet
   Loaded with media="print". Goal: when printing a recipe, hide all site
   chrome (header/footer/nav/interactive controls) and present only the title
   and the structured recipe card cleanly on a white background.
   ========================================================================== */

@media print {

	/* --- Reset page to clean white --------------------------------------- */
	html,
	body {
		background: #ffffff !important;
		color: #000000 !important;
		margin: 0 !important;
		padding: 0 !important;
		font-family: "Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", sans-serif;
		font-size: 12pt;
		line-height: 1.5;
	}

	@page {
		margin: 1.6cm;
	}

	/* --- Hide everything that is chrome or interactive ------------------- */
	.no-print,
	.bn-header,
	.bn-footer,
	.bn-nav,
	.bn-social,
	.bn-search,
	.bn-search__toggle,
	.bn-search__form,
	.bn-filters,
	.bn-jump,
	.bn-recipe__actions,
	.bn-servings,
	.bn-actions,
	.bn-share,
	.bn-save,
	.bn-card__save,
	.bn-cookmode,
	.bn-print,
	.bn-video,
	.bn-saved,
	#bn-saved-list,
	.bn-section__more,
	.comments-area,
	.widget,
	.bn-related,
	.post-navigation,
	.posts-navigation,
	.pagination,
	form[role="search"],
	button,
	nav,
	header.bn-header,
	footer.bn-footer {
		display: none !important;
	}

	/* --- Show print-only helpers ---------------------------------------- */
	.print-only {
		display: block !important;
	}

	/* --- Layout containers collapse to full width ----------------------- */
	.bn-container,
	.bn-single,
	.bn-content {
		max-width: none !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		box-shadow: none !important;
		background: #ffffff !important;
	}

	/* --- Title ----------------------------------------------------------- */
	.bn-single__title {
		font-size: 22pt;
		font-weight: 800;
		margin: 0 0 .4cm;
		color: #000000 !important;
		page-break-after: avoid;
	}

	/* --- Featured image: keep small, optional --------------------------- */
	.bn-single__featured {
		max-width: 60%;
		margin: 0 0 .5cm;
		page-break-inside: avoid;
	}

	.bn-single__featured img {
		max-width: 100%;
		height: auto;
	}

	/* The free-form narrative is not needed on a printed recipe sheet. */
	.bn-content {
		display: none !important;
	}

	/* --- The structured recipe card ------------------------------------- */
	.bn-recipe {
		display: block !important;
		background: #ffffff !important;
		border: none !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.bn-recipe__head {
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		gap: .4cm;
		border-bottom: 2pt solid #000000;
		padding-bottom: .25cm;
		margin-bottom: .4cm;
		page-break-after: avoid;
	}

	.bn-recipe__head h2 {
		font-size: 17pt;
		font-weight: 800;
		margin: 0;
		color: #000000 !important;
	}

	.bn-recipe h3 {
		font-size: 14pt;
		font-weight: 700;
		margin: .45cm 0 .2cm;
		color: #000000 !important;
		page-break-after: avoid;
	}

	/* --- Meta summary (difficulty / time / servings) -------------------- */
	.bn-meta {
		display: flex;
		flex-wrap: wrap;
		gap: .35cm;
		list-style: none;
		margin: 0;
		padding: 0;
		font-size: 11pt;
	}

	.bn-meta__item {
		display: inline-flex;
		align-items: center;
		gap: 2pt;
		color: #000000 !important;
	}

	/* Difficulty badges: print as plain outlined text, no color fills. */
	.bn-badge {
		display: inline-block;
		border: 1pt solid #000000 !important;
		border-radius: 3pt;
		padding: 1pt 5pt;
		font-size: 10pt;
		font-weight: 600;
		background: transparent !important;
		color: #000000 !important;
	}

	/* --- Ingredients ----------------------------------------------------- */
	.bn-ingredients {
		list-style: none;
		margin: 0;
		padding: 0;
		columns: 2;
		column-gap: 1cm;
	}

	.bn-ingredient {
		break-inside: avoid;
		page-break-inside: avoid;
		padding: 1.5pt 0;
		border-bottom: .5pt dotted #999999;
	}

	.bn-ingredient label {
		display: flex;
		align-items: baseline;
		gap: 4pt;
	}

	/* Replace the interactive checkbox with a printable box. */
	.bn-ingredient__check {
		display: none !important;
	}

	.bn-ingredient label::before {
		content: "";
		display: inline-block;
		width: 9pt;
		height: 9pt;
		border: 1pt solid #000000;
		border-radius: 2pt;
		flex: 0 0 auto;
		margin-right: 3pt;
		transform: translateY(1pt);
	}

	.bn-ingredient__amount {
		font-weight: 700;
		color: #000000 !important;
	}

	.bn-ingredient__unit {
		color: #000000 !important;
	}

	.bn-ingredient__name {
		color: #000000 !important;
	}

	/* --- Steps ----------------------------------------------------------- */
	.bn-steps {
		list-style: none;
		margin: 0;
		padding: 0;
		counter-reset: bn-step;
	}

	.bn-step {
		display: flex;
		gap: 6pt;
		align-items: baseline;
		padding: .15cm 0;
		break-inside: avoid;
		page-break-inside: avoid;
	}

	.bn-step__num {
		flex: 0 0 auto;
		font-weight: 800;
		min-width: 16pt;
		color: #000000 !important;
	}

	.bn-step__body {
		color: #000000 !important;
	}

	/* Step images: keep but constrain so they don't dominate the page. */
	.bn-step__img {
		display: block;
		max-width: 45%;
		height: auto;
		margin-top: 4pt;
		page-break-inside: avoid;
	}

	/* --- Tips / storage -------------------------------------------------- */
	.bn-tips,
	.bn-storage {
		margin-top: .45cm;
		padding-top: .2cm;
		border-top: .5pt solid #cccccc;
		page-break-inside: avoid;
		color: #000000 !important;
	}

	/* --- Links: show as plain text (no underline noise) ----------------- */
	a,
	a:link,
	a:visited {
		color: #000000 !important;
		text-decoration: none !important;
	}

	/* Avoid awkward breaks right after headings. */
	h1, h2, h3 {
		page-break-after: avoid;
	}
}
