/* ==========================================================================
   Tasty Recipes card — branded to match the Pint-sized Treasures theme.

   Every rule is prefixed with `.pst-recipe-post .tasty-recipes` so it outranks
   Tasty's injected inline customization CSS (which causes the default
   inconsistency). Colors/fonts come from the theme's CSS variables.
   ========================================================================== */

/* Card shell ------------------------------------------------------------- */
.pst-recipe-post .tasty-recipes {
	background: var(--pst-surface);
	border: 1px solid var(--pst-line);
	border-radius: var(--pst-radius-lg);
	overflow: hidden;
	box-shadow: var(--pst-shadow);
	margin: 2.5rem 0;
	font-family: var(--pst-font-body);
	color: var(--pst-ink);
}

/* Feature image — full-width, square (1:1), cropped to fill. */
.pst-recipe-post .tasty-recipes .tasty-recipes-image {
	margin: 0; padding: 0; float: none; background: none;
}
.pst-recipe-post .tasty-recipes .tasty-recipes-image img {
	display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover;
	border-radius: 0; box-shadow: none;
}

/* Header ----------------------------------------------------------------- */
.pst-recipe-post .tasty-recipes .tasty-recipes-entry-header {
	padding: clamp(1.25rem, 3vw, 2rem);
	border-bottom: 1px solid var(--pst-line);
	background: var(--pst-surface);
	text-align: center;
}

/* Star rating row */
.pst-recipe-post .tasty-recipes .pst-rc__rating {
	display: flex; align-items: center; justify-content: center; gap: 0.5rem; margin: 0 0 0.85rem;
}
.pst-recipe-post .tasty-recipes .pst-rc__rating-text { color: var(--pst-muted); font-size: 0.9rem; }
.pst-recipe-post .tasty-recipes .pst-rc__rating-text strong { color: var(--pst-ink); }
.pst-recipe-post .tasty-recipes .tasty-recipes-entry-header .tasty-recipes-title {
	font-family: var(--pst-font-head);
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 600;
	line-height: 1.2;
	color: #2B2B2B;
	margin: 0 0 0.6rem;
}

/* Rating */
.pst-recipe-post .tasty-recipes .tasty-recipes-entry-header .tasty-recipes-rating { margin: 0 0 0.85rem; text-align: left; font-style: normal; }
.pst-recipe-post .tasty-recipes .tasty-recipes-entry-header .tasty-recipes-rating p { font-style: normal; }
.pst-recipe-post .tasty-recipes .tasty-recipes-rating-solid { color: var(--pst-star); fill: var(--pst-star); }
.pst-recipe-post .tasty-recipes .tasty-recipes-rating-outline { color: #DAD2D6; fill: #DAD2D6; }
.pst-recipe-post .tasty-recipes .tasty-recipes-rating a { color: var(--pst-star); }
.pst-recipe-post .tasty-recipes .tasty-recipes-rating .rating-label,
.pst-recipe-post .tasty-recipes .tasty-recipes-rating-link { color: var(--pst-muted); font-size: 0.85rem; font-weight: 700; }

/* Buttons (print / quick links) */
.pst-recipe-post .tasty-recipes .tasty-recipes-buttons {
	display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 0 0 1rem; justify-content: center;
}
.pst-recipe-post .tasty-recipes .tasty-recipes-button-wrap { margin: 0; flex: 0 0 auto; }
.pst-recipe-post .tasty-recipes a.button,
.pst-recipe-post .tasty-recipes .tasty-recipes-print-button,
.pst-recipe-post .tasty-recipes .tasty-recipes-quick-links a.button {
	display: inline-flex; align-items: center; gap: 0.4rem;
	background: var(--pst-primary); color: #fff;
	border: 2px solid var(--pst-primary); border-radius: 999px;
	padding: 0.55rem 1.2rem;
	font-family: var(--pst-font-body); font-weight: 800; font-size: 0.9rem;
	text-transform: none; text-decoration: none; box-shadow: none;
}
.pst-recipe-post .tasty-recipes a.button:hover,
.pst-recipe-post .tasty-recipes .tasty-recipes-print-button:hover,
.pst-recipe-post .tasty-recipes .tasty-recipes-quick-links a.button:hover {
	background: var(--pst-primary-dark); border-color: var(--pst-primary-dark); color: #fff;
}
.pst-recipe-post .tasty-recipes .tasty-recipes-buttons a.button svg {
	width: 1.05em; height: 1.05em; flex: 0 0 auto; fill: currentColor; vertical-align: middle; margin: 0;
}
/* Tasty's sprite icon doesn't render in the custom template, so draw the
   printer icon ourselves (inherits the button's white color + 1.5 stroke). */
.pst-recipe-post .tasty-recipes .tasty-recipes-print-button svg { display: none; }
.pst-recipe-post .tasty-recipes .tasty-recipes-print-button::before {
	content: ""; display: inline-block; width: 1.15em; height: 1.15em; flex: 0 0 auto;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M17%2017h2a2%202%200%200%200%202%20-2v-4a2%202%200%200%200%20-2%20-2h-14a2%202%200%200%200%20-2%202v4a2%202%200%200%200%202%202h2'/%3E%3Cpath%20d='M17%209v-4a2%202%200%200%200%20-2%20-2h-6a2%202%200%200%200%20-2%202v4'/%3E%3Cpath%20d='M7%2015a2%202%200%200%201%202%20-2h6a2%202%200%200%201%202%202v4a2%202%200%200%201%20-2%202h-6a2%202%200%200%201%20-2%20-2l0%20-4'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M17%2017h2a2%202%200%200%200%202%20-2v-4a2%202%200%200%200%20-2%20-2h-14a2%202%200%200%200%20-2%202v4a2%202%200%200%200%202%202h2'/%3E%3Cpath%20d='M17%209v-4a2%202%200%200%200%20-2%20-2h-6a2%202%200%200%200%20-2%202v4'/%3E%3Cpath%20d='M7%2015a2%202%200%200%201%202%20-2h6a2%202%200%200%201%202%202v4a2%202%200%200%201%20-2%202h-6a2%202%200%200%201%20-2%20-2l0%20-4'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Description */
.pst-recipe-post .tasty-recipes .tasty-recipes-description-body { color: var(--pst-ink); font-size: 1rem; line-height: 1.6; font-style: normal; text-align: left; }
.pst-recipe-post .tasty-recipes .tasty-recipes-description-body p { margin: 0 0 0.8rem; font-style: normal; }

/* Details row (prep / cook / total / yield) */
.pst-recipe-post .tasty-recipes .tasty-recipes-details { margin-top: 1.1rem; }
.pst-recipe-post .tasty-recipes .tasty-recipes-details ul {
	display: flex; flex-wrap: wrap; gap: 0.6rem 1.6rem; list-style: none; margin: 0; padding: 0; justify-content: center;
}
.pst-recipe-post .tasty-recipes .tasty-recipes-details ul li {
	margin: 0; padding: 0; font-size: 0.95rem; color: var(--pst-ink);
	display: flex; align-items: center; gap: 0.45rem;
}
.pst-recipe-post .tasty-recipes .tasty-recipes-details ul li:before { content: none; display: none; }
.pst-recipe-post .tasty-recipes .tasty-recipes-details .tasty-recipes-label {
	font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; font-size: 0.72rem; color: var(--pst-accent-dark);
}
.pst-recipe-post .tasty-recipes .tasty-recipes-details .detail-icon,
.pst-recipe-post .tasty-recipes .tasty-recipes-icon-clock { color: var(--pst-accent); fill: var(--pst-accent); }

/* Content ---------------------------------------------------------------- */
.pst-recipe-post .tasty-recipes .tasty-recipes-entry-content { padding: clamp(1.25rem, 3vw, 2rem); }

.pst-recipe-post .tasty-recipes .tasty-recipes-entry-content .tasty-recipes-ingredients-header h3,
.pst-recipe-post .tasty-recipes .tasty-recipes-entry-content .tasty-recipes-instructions-header h3 {
	font-family: var(--pst-font-head); font-size: 1.35rem; font-weight: 600; color: #2B2B2B; margin: 0;
}
.pst-recipe-post .tasty-recipes .tasty-recipes-entry-content .tasty-recipes-ingredients h4,
.pst-recipe-post .tasty-recipes .tasty-recipes-entry-content .tasty-recipes-instructions h4 {
	font-family: var(--pst-font-head); font-size: 1.05rem; color: var(--pst-secondary); margin: 1.3rem 0 0.5rem;
}

/* Scale buttons (1x / 2x / 3x) */
.pst-recipe-post .tasty-recipes .tasty-recipes-scale-button {
	background: #fff; color: var(--pst-secondary); border: 1px solid var(--pst-line);
	border-radius: 999px; padding: 0.25rem 0.75rem; font-weight: 700; font-size: 0.8rem; cursor: pointer;
}
.pst-recipe-post .tasty-recipes .tasty-recipes-scale-button.tasty-recipes-scale-button-active,
.pst-recipe-post .tasty-recipes .tasty-recipes-scale-button:hover {
	background: var(--pst-primary); color: #fff; border-color: var(--pst-primary);
}

/* Ingredients — branded check-off bullets */
.pst-recipe-post .tasty-recipes .tasty-recipes-entry-content .tasty-recipes-ingredients ul { list-style: none; margin: 0.4rem 0; padding: 0; }
.pst-recipe-post .tasty-recipes .tasty-recipes-entry-content .tasty-recipes-ingredients ul li {
	position: relative; margin: 0; padding: 0.4rem 0 0.4rem 1.9rem; border-bottom: 1px dashed var(--pst-line); line-height: 1.5;
}
.pst-recipe-post .tasty-recipes .tasty-recipes-entry-content .tasty-recipes-ingredients ul li:before {
	content: ""; position: absolute; left: 0; top: 0.55rem;
	width: 18px; height: 18px; border: 2px solid var(--pst-primary); border-radius: 5px; background: #fff;
}
.pst-recipe-post .tasty-recipes .tasty-recipes-entry-content .tasty-recipes-ingredients ul li.tasty-recipes-checked:before,
.pst-recipe-post .tasty-recipes .tasty-recipes-entry-content .tasty-recipes-ingredients ul li.checked:before {
	background: var(--pst-primary);
}

/* Instructions — branded numbered steps */
.pst-recipe-post .tasty-recipes .tasty-recipes-entry-content .tasty-recipes-instructions ol {
	list-style: none; margin: 0.4rem 0; padding: 0; counter-reset: tr-step;
}
.pst-recipe-post .tasty-recipes .tasty-recipes-entry-content .tasty-recipes-instructions ol > li {
	position: relative; margin: 0; padding: 0.15rem 0 1.1rem 3rem; counter-increment: tr-step; border: 0;
}
.pst-recipe-post .tasty-recipes .tasty-recipes-entry-content .tasty-recipes-instructions ol > li:before {
	content: counter(tr-step); position: absolute; left: 0; top: 0;
	width: 2rem; height: 2rem; border-radius: 50%; background: var(--pst-primary); color: #fff;
	font-family: var(--pst-font-head); font-weight: 600; font-size: 0.95rem;
	display: flex; align-items: center; justify-content: center;
}

/* Equipment / Notes / Nutrition / Keywords ------------------------------- */
.pst-recipe-post .tasty-recipes .tasty-recipes-equipment { margin-top: 1.2rem; }
.pst-recipe-post .tasty-recipes .tasty-recipes-notes { margin-top: 1.3rem; }
.pst-recipe-post .tasty-recipes .tasty-recipes-notes-body {
	background: var(--pst-blush); border-radius: var(--pst-radius); padding: 1rem 1.2rem; color: var(--pst-ink);
}
.pst-recipe-post .tasty-recipes .tasty-recipes-nutrition { margin-top: 1.3rem; font-size: 0.9rem; color: var(--pst-muted); }
.pst-recipe-post .tasty-recipes .tasty-recipes-nutrition ul { display: flex; flex-wrap: wrap; gap: 0.4rem 1rem; list-style: none; padding: 0; }
.pst-recipe-post .tasty-recipes .tasty-recipes-keywords { margin-top: 1rem; color: var(--pst-muted); font-size: 0.85rem; }

/* Cook mode toggle */
.pst-recipe-post .tasty-recipes .tasty-recipes-cook-mode { margin-top: 1.1rem; }
.pst-recipe-post .tasty-recipes .tasty-recipes-cook-mode__switch-slider { background: var(--pst-line); }
.pst-recipe-post .tasty-recipes .tasty-recipes-cook-mode__switch input:checked ~ .tasty-recipes-cook-mode__switch-slider,
.pst-recipe-post .tasty-recipes input:checked + .tasty-recipes-cook-mode__switch-slider { background: var(--pst-accent); }

/* Footer ----------------------------------------------------------------- */
.pst-recipe-post .tasty-recipes .tasty-recipes-entry-footer {
	background: var(--pst-cream);
	background-image: none; /* kill Tasty's faded photo backdrop */
	border-top: 1px solid var(--pst-line);
	padding: clamp(1.25rem, 3vw, 1.8rem);
	text-align: center;
}
.pst-recipe-post .tasty-recipes .tasty-recipes-entry-footer,
.pst-recipe-post .tasty-recipes .tasty-recipes-entry-footer p,
.pst-recipe-post .tasty-recipes .tasty-recipes-footer-content,
.pst-recipe-post .tasty-recipes .tasty-recipes-footer-copy { color: var(--pst-ink); opacity: 1; }
.pst-recipe-post .tasty-recipes .tasty-recipes-entry-footer a { color: var(--pst-primary-dark); font-weight: 700; }
.pst-recipe-post .tasty-recipes .tasty-recipes-entry-footer svg,
.pst-recipe-post .tasty-recipes .tasty-recipes-footer-content svg { fill: var(--pst-primary); opacity: 1; }
