/**
 * Recipes Tasty — High-Quality Recipe Print & Save as PDF Stylesheet
 *
 * Enqueued with media="print".
 * Produces clean, publication-grade A4 / Letter recipe printouts.
 *
 * @package RecipesTasty
 */

/* 1. Screen Media Fallback (Completely hidden on screen) */
#rt-recipe-print-document,
.rt-recipe-print-document {
	display: none !important;
}

/* 2. Print Media Rules */
@media print {
	/* Page setup: compact standard margins for A4 and US Letter */
	@page {
		size: auto;
		margin: 12mm 15mm 12mm 15mm;
	}

	html, body {
		background: #ffffff !important;
		color: #1f2937 !important;
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
		font-size: 9.5pt !important;
		line-height: 1.35 !important;
		margin: 0 !important;
		padding: 0 !important;
		width: 100% !important;
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
	}

	/* Exclude all non-recipe screen elements */
	#wpadminbar,
	.admin-bar #wpadminbar,
	.rt-site-header,
	#masthead,
	.rt-site-footer,
	#colophon,
	.rt-top-banner,
	.rt-promotion,
	.rt-ad-slot,
	.rt-ad-placement,
	.rt-breadcrumbs,
	.rt-sidebar,
	#secondary,
	.rt-floating-action-bar,
	.rt-cookie-consent,
	.rt-scroll-top,
	.rt-reading-progress-bar,
	.rt-mobile-drawer,
	.rt-mobile-bottom-nav,
	.rt-recipe-single-article {
		display: none !important;
		height: 0 !important;
		max-height: 0 !important;
		overflow: hidden !important;
		visibility: hidden !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	/* Reset main layout wrappers so the print document spans 100% width with 0 margins */
	.rt-container,
	.rt-recipe-single-container,
	.rt-main-layout,
	.rt-main-content {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		border: none !important;
		box-shadow: none !important;
		float: none !important;
		background: transparent !important;
	}

	/* 3. Dedicated Print Document Display */
	#rt-recipe-print-document,
	.rt-recipe-print-document {
		display: block !important;
		visibility: visible !important;
		position: relative !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		background: #ffffff !important;
		color: #1f2937 !important;
	}

	/* Brand Logo (Preserves aspect ratio; omitted if no logo configured) */
	.rt-print-brand-row {
		margin-bottom: 10px;
		break-inside: avoid;
		page-break-inside: avoid;
	}

	.rt-print-site-logo {
		max-height: 44px;
		max-width: 200px;
		width: auto;
		height: auto;
		object-fit: contain;
		display: block;
	}

	/* Header Area: Title, Byline, Intro, & Recipe Image */
	.rt-print-header-grid {
		display: flex !important;
		flex-direction: row !important;
		justify-content: space-between !important;
		align-items: flex-start !important;
		gap: 16px !important;
		margin-bottom: 10px !important;
		break-inside: avoid !important;
		page-break-inside: avoid !important;
	}

	.rt-print-header-grid.no-image .rt-print-header-main {
		width: 100% !important;
		max-width: 100% !important;
	}

	.rt-print-header-main {
		flex: 1 1 auto !important;
	}

	.rt-print-title {
		font-size: 17pt !important;
		font-weight: 700 !important;
		color: #111827 !important;
		margin: 0 0 4px 0 !important;
		line-height: 1.2 !important;
		break-after: avoid !important;
		page-break-after: avoid !important;
	}

	.rt-print-byline {
		font-size: 8.5pt !important;
		color: #4b5563 !important;
		margin-bottom: 6px !important;
	}

	.rt-print-date-sep {
		margin: 0 4px !important;
	}

	.rt-print-intro {
		font-size: 9pt !important;
		line-height: 1.35 !important;
		color: #374151 !important;
		margin: 0 !important;
	}

	/* Recipe Image (Preserves aspect ratio; omitted completely if no image) */
	.rt-print-img-wrap {
		flex: 0 0 170px !important;
		max-width: 170px !important;
	}

	.rt-print-hero-img {
		width: 170px !important;
		height: 115px !important;
		object-fit: cover !important;
		border-radius: 4px !important;
		display: block !important;
		border: 1px solid #e5e7eb !important;
	}

	/* Key Stats Bar */
	.rt-print-stats-bar {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		justify-content: space-between !important;
		gap: 6px 12px !important;
		background: #f9fafb !important;
		border: 1px solid #d1d5db !important;
		border-radius: 4px !important;
		padding: 6px 10px !important;
		margin-bottom: 12px !important;
		break-inside: avoid !important;
		page-break-inside: avoid !important;
	}

	.rt-print-stat-item {
		display: flex !important;
		flex-direction: column !important;
	}

	.rt-print-stat-label {
		font-size: 7.5pt !important;
		font-weight: 600 !important;
		text-transform: uppercase !important;
		color: #6b7280 !important;
		letter-spacing: 0.5px !important;
	}

	.rt-print-stat-value {
		font-size: 9pt !important;
		font-weight: 700 !important;
		color: #111827 !important;
	}

	/* Section Headings */
	.rt-print-section-title {
		font-size: 11pt !important;
		font-weight: 700 !important;
		text-transform: uppercase !important;
		letter-spacing: 0.5px !important;
		color: #166534 !important;
		border-bottom: 1.5px solid #166534 !important;
		padding-bottom: 2px !important;
		margin: 12px 0 8px 0 !important;
		break-after: avoid !important;
		page-break-after: avoid !important;
	}

	/* Ingredients */
	.rt-print-ing-group {
		margin-bottom: 8px !important;
		break-inside: avoid !important;
		page-break-inside: avoid !important;
	}

	.rt-print-group-title {
		font-size: 8.5pt !important;
		font-weight: 600 !important;
		color: #374151 !important;
		margin: 6px 0 4px 0 !important;
		text-transform: uppercase !important;
		letter-spacing: 0.3px !important;
	}

	.rt-print-ingredients-list {
		list-style: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.rt-print-columns-2 {
		column-count: 2 !important;
		column-gap: 20px !important;
	}

	.rt-print-ing-item {
		display: flex !important;
		align-items: baseline !important;
		gap: 6px !important;
		margin-bottom: 4px !important;
		font-size: 9pt !important;
		line-height: 1.3 !important;
		break-inside: avoid !important;
		page-break-inside: avoid !important;
	}

	.rt-print-checkbox {
		width: 10px !important;
		height: 10px !important;
		border: 1.2px solid #6b7280 !important;
		border-radius: 2px !important;
		display: inline-block !important;
		flex-shrink: 0 !important;
		position: relative !important;
		top: 1px !important;
	}

	.rt-print-ing-content {
		color: #1f2937 !important;
	}

	.rt-print-ing-amount {
		font-weight: 600 !important;
		color: #111827 !important;
		margin-right: 3px !important;
	}

	.rt-print-ing-name {
		color: #374151 !important;
	}

	.rt-print-ing-notes {
		color: #6b7280 !important;
		font-size: 8.5pt !important;
		font-style: italic !important;
	}

	/* Instructions */
	.rt-print-steps-list {
		display: flex !important;
		flex-direction: column !important;
		gap: 8px !important;
	}

	.rt-print-step {
		display: flex !important;
		flex-direction: row !important;
		gap: 10px !important;
		break-inside: avoid !important;
		page-break-inside: avoid !important;
		margin-bottom: 6px !important;
	}

	.rt-print-step-badge {
		width: 20px !important;
		height: 20px !important;
		border-radius: 50% !important;
		border: 1.5px solid #166534 !important;
		color: #166534 !important;
		font-size: 8pt !important;
		font-weight: 700 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex-shrink: 0 !important;
		line-height: 1 !important;
	}

	.rt-print-step-content {
		flex: 1 1 auto !important;
	}

	.rt-print-step-title {
		font-size: 9.5pt !important;
		font-weight: 600 !important;
		color: #111827 !important;
		margin: 0 0 2px 0 !important;
	}

	.rt-print-step-text p {
		margin: 0 0 3px 0 !important;
		font-size: 9pt !important;
		line-height: 1.35 !important;
		color: #374151 !important;
	}

	.rt-print-step-tip {
		font-size: 8pt !important;
		font-style: italic !important;
		background: #f3f4f6 !important;
		border-left: 2px solid #166534 !important;
		padding: 2px 6px !important;
		margin-top: 3px !important;
		color: #4b5563 !important;
		display: inline-block !important;
	}

	/* Equipment */
	.rt-print-equipment-list {
		list-style: disc !important;
		margin: 0 0 8px 18px !important;
		padding: 0 !important;
		column-count: 2 !important;
		column-gap: 20px !important;
	}

	.rt-print-equipment-item {
		font-size: 8.5pt !important;
		line-height: 1.3 !important;
		color: #374151 !important;
		break-inside: avoid !important;
		page-break-inside: avoid !important;
	}

	/* Nutrition Facts */
	.rt-print-nutrition-grid {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		gap: 6px 14px !important;
		background: #f9fafb !important;
		border: 1px solid #e5e7eb !important;
		border-radius: 4px !important;
		padding: 6px 10px !important;
		break-inside: avoid !important;
		page-break-inside: avoid !important;
	}

	.rt-print-nutri-cell {
		font-size: 8pt !important;
		color: #374151 !important;
	}

	.rt-print-nutri-label {
		font-weight: 600 !important;
		color: #6b7280 !important;
	}

	.rt-print-nutri-val {
		font-weight: 700 !important;
		color: #111827 !important;
		margin-left: 2px !important;
	}

	/* Notes & Tips */
	.rt-print-notes-list {
		display: flex !important;
		flex-direction: column !important;
		gap: 4px !important;
		break-inside: avoid !important;
		page-break-inside: avoid !important;
	}

	.rt-print-note-item {
		font-size: 8.5pt !important;
		line-height: 1.3 !important;
		color: #374151 !important;
	}

	/* Attribution & Source Footer */
	.rt-print-footer {
		border-top: 1px solid #e5e7eb !important;
		padding-top: 6px !important;
		margin-top: 14px !important;
		font-size: 7.5pt !important;
		color: #9ca3af !important;
		text-align: center !important;
		break-inside: avoid !important;
		page-break-inside: avoid !important;
	}
}
