/* OZB Recipes — storefront base styles.
 * Replaces Cooked's stylesheet. Class names match Cooked so the site's
 * existing Customizer CSS keeps working; colors default to the OZ palette.
 */

:root {
	--ozb-rcp-main: #c11919;
	--ozb-rcp-main-dark: #6d0000;
	--ozb-rcp-heart: #f77c7b;
	--ozb-rcp-border: rgba(0, 0, 0, 0.15);
}

/* ---------- Icons (inline SVG masks, colored via currentColor) ---------- */

.cooked-icon {
	display: inline-block;
	width: 1em;
	height: 1em;
	vertical-align: -0.12em;
	background-color: currentColor;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.cooked-icon-fw { width: 1.28em; }

.cooked-icon-print {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M7 8V3h10v5M7 16H4a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-3'/%3E%3Crect x='7' y='13' width='10' height='8'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M7 8V3h10v5M7 16H4a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-3'/%3E%3Crect x='7' y='13' width='10' height='8'/%3E%3C/svg%3E");
}

.cooked-icon-fullscreen {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 3h8v2H5v6H3zm18 0v8h-2V5h-6V3zM3 21v-8h2v6h6v2zm18 0h-8v-2h6v-6h2z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 3h8v2H5v6H3zm18 0v8h-2V5h-6V3zM3 21v-8h2v6h6v2zm18 0h-8v-2h6v-6h2z'/%3E%3C/svg%3E");
}

.cooked-icon-thumbs-up-solid {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M7 10v11H3V10zM7 11l5-8a2 2 0 0 1 2 2l-1 5h6.5a1.5 1.5 0 0 1 1.5 1.8l-1.7 8A1.5 1.5 0 0 1 17.8 21H7'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M7 10v11H3V10zM7 11l5-8a2 2 0 0 1 2 2l-1 5h6.5a1.5 1.5 0 0 1 1.5 1.8l-1.7 8A1.5 1.5 0 0 1 17.8 21H7'/%3E%3C/svg%3E");
}

.cooked-icon-thumbs-down-solid {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M17 14V3h4v11zM17 13l-5 8a2 2 0 0 1-2-2l1-5H4.5A1.5 1.5 0 0 1 3 12.2l1.7-8A1.5 1.5 0 0 1 6.2 3H17'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M17 14V3h4v11zM17 13l-5 8a2 2 0 0 1-2-2l1-5H4.5A1.5 1.5 0 0 1 3 12.2l1.7-8A1.5 1.5 0 0 1 6.2 3H17'/%3E%3C/svg%3E");
}

.cooked-icon-heart {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M12 20.5s-7.7-5-9.6-9.2A5.3 5.3 0 0 1 12 6.4a5.3 5.3 0 0 1 9.6 4.9c-1.9 4.2-9.6 9.2-9.6 9.2z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M12 20.5s-7.7-5-9.6-9.2A5.3 5.3 0 0 1 12 6.4a5.3 5.3 0 0 1 9.6 4.9c-1.9 4.2-9.6 9.2-9.6 9.2z'/%3E%3C/svg%3E");
}

.cooked-favorited .cooked-icon-heart,
.cooked-favorite-heart.cooked-favorited .cooked-icon-heart {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-8.4-5.4-10.4-10A5.8 5.8 0 0 1 12 6.1 5.8 5.8 0 0 1 22.4 11c-2 4.6-10.4 10-10.4 10z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-8.4-5.4-10.4-10A5.8 5.8 0 0 1 12 6.1 5.8 5.8 0 0 1 22.4 11c-2 4.6-10.4 10-10.4 10z'/%3E%3C/svg%3E");
}

.cooked-icon-clock {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E");
}

.cooked-icon-recipe-icon {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.1 13.34l2.83-2.83L3.91 3.5c-1.56 1.56-1.56 4.09 0 5.66l4.19 4.18zm6.78-1.81c1.53.71 3.68.21 5.27-1.38 1.91-1.91 2.28-4.65.81-6.12-1.46-1.46-4.2-1.1-6.12.81-1.59 1.59-2.09 3.74-1.38 5.27L3.7 19.87l1.41 1.41L12 14.41l6.88 6.88 1.41-1.41L13.41 13l1.47-1.47z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.1 13.34l2.83-2.83L3.91 3.5c-1.56 1.56-1.56 4.09 0 5.66l4.19 4.18zm6.78-1.81c1.53.71 3.68.21 5.27-1.38 1.91-1.91 2.28-4.65.81-6.12-1.46-1.46-4.2-1.1-6.12.81-1.59 1.59-2.09 3.74-1.38 5.27L3.7 19.87l1.41 1.41L12 14.41l6.88 6.88 1.41-1.41L13.41 13l1.47-1.47z'/%3E%3C/svg%3E");
}

.cooked-icon-search {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 2a8 8 0 1 0 4.9 14.3l5.4 5.4 1.4-1.4-5.4-5.4A8 8 0 0 0 10 2zm0 3a5 5 0 1 1 0 10 5 5 0 0 1 0-10z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 2a8 8 0 1 0 4.9 14.3l5.4 5.4 1.4-1.4-5.4-5.4A8 8 0 0 0 10 2zm0 3a5 5 0 1 1 0 10 5 5 0 0 1 0-10z'/%3E%3C/svg%3E");
}

.cooked-icon-angle-right {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 4l8 8-8 8-1.4-1.4L14.2 12 7.6 5.4z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 4l8 8-8 8-1.4-1.4L14.2 12 7.6 5.4z'/%3E%3C/svg%3E");
}

.cooked-icon-loading {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2v4a6 6 0 1 1-6 6H2a10 10 0 1 0 10-10z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2v4a6 6 0 1 1-6 6H2a10 10 0 1 0 10-10z'/%3E%3C/svg%3E");
}

.cooked-icon-spin {
	animation: ozb-rcp-spin 0.8s linear infinite;
}

@keyframes ozb-rcp-spin {
	to { transform: rotate(360deg); }
}

/* ---------- Recipe info bar ---------- */

.cooked-recipe-info {
	margin: 0 0 1rem;
	line-height: 1.3;
}

.cooked-clearfix::after {
	content: "";
	display: table;
	clear: both;
}

.cooked-recipe-info .cooked-left { float: left; }
.cooked-recipe-info .cooked-right { float: right; }

.cooked-recipe-info section > span {
	display: inline-block;
	position: relative;
	line-height: 1.25rem;
	margin: 0 2rem 1rem 0;
	vertical-align: top;
}

.cooked-recipe-info section.cooked-right > span { margin: 0 0 1rem 2rem; }
.cooked-recipe-info section.cooked-right > span:first-child { margin-left: 0; }

/* Icon sits left of the two-line label, vertically centred (Cooked layout). */
.cooked-recipe-info span.cooked-servings,
.cooked-recipe-info span.cooked-time { padding-left: 3rem; }

/* Labels ("AUTHOR", "PREP TIME"…) — Cooked's meta-title. */
.cooked-meta-title {
	display: block;
	font-size: 0.75rem;
	letter-spacing: 0.03rem;
	text-transform: uppercase;
	font-weight: 800;
	opacity: 0.75;
}

/* Print + fullscreen icons: large, faded, matching Cooked. */
.cooked-print > a,
.cooked-fsm-button {
	cursor: pointer;
	color: rgba(0, 0, 0, 0.4);
	display: inline-block;
	text-decoration: none;
}
.cooked-print > a:hover,
.cooked-fsm-button:hover { color: rgba(0, 0, 0, 0.6); }
.cooked-print .cooked-icon,
.cooked-fsm-button .cooked-icon { font-size: 2.1rem; line-height: 2.2rem; }

/* Thumbs rating — Cooked sizing. */
.cooked-rating-thumbs { white-space: nowrap; display: inline-block; }

.cooked-rating-thumb {
	cursor: pointer;
	display: inline-block;
}
.cooked-rating-thumb + .cooked-rating-thumb { margin-left: 1rem; }

.cooked-rating-thumb .cooked-icon {
	font-size: 2.1rem;
	line-height: 2.2rem;
	color: rgba(0, 0, 0, 0.25);
	vertical-align: middle;
	transition: color 0.15s ease, transform 0.1s ease;
}
.cooked-rating-thumb .cooked-icon:hover { color: rgba(0, 0, 0, 0.5); }
.cooked-rating-thumb.cooked-is-selected .cooked-icon { color: var(--ozb-rcp-main); }

.cooked-rating-thumb-total {
	margin-left: 0.4rem;
	font-weight: 500;
	font-size: 1.4rem;
	vertical-align: middle;
}

/* Favourite heart — Cooked sizing/opacity. */
.cooked-favorite-heart { color: var(--ozb-rcp-heart); text-decoration: none; }
.cooked-favorite-heart .cooked-icon-heart {
	font-size: 2.1rem;
	line-height: 2.2rem;
	opacity: 0.5;
	vertical-align: middle;
	transition: opacity 0.15s ease, color 0.15s ease;
}
.cooked-favorite-heart:hover .cooked-icon-heart,
.cooked-favorite-heart.cooked-favorited .cooked-icon-heart,
.cooked-favorited .cooked-favorite-heart .cooked-icon-heart { opacity: 1; color: var(--ozb-rcp-main); }

.cooked-servings-icon,
.cooked-time-icon {
	opacity: 0.5;
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 2.2rem;
	height: 2.2rem;
	margin: -1.1rem 0 0;
}
.cooked-servings-icon .cooked-icon,
.cooked-time-icon .cooked-icon {
	display: block;
	width: 100%;
	height: 100%;
}
.cooked-recipe-info .cooked-icon { vertical-align: -0.12em; }

/* ---------- Featured image / gallery ---------- */

.cooked-post-featured-image img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 4px;
}

.cooked-video-responsive {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	margin: 1em 0;
}

.cooked-video-responsive iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

/* ---------- Ingredients (matches Cooked: no row dividers, absolute checkbox) ---------- */

.cooked-recipe-ingredients { margin: 0.5em 0 2rem; }

.cooked-single-ingredient {
	position: relative;
	padding: 0.5rem 0 0 2rem;
	margin: 0;
	cursor: pointer;
}

.cooked-single-ingredient.cooked-heading,
.cooked-single-direction.cooked-heading {
	display: block;
	font-weight: 600;
	font-size: 1.25rem;
	line-height: 1.5;
	margin: 1rem 0 0.3rem;
	padding: 0;
	cursor: default;
}
.cooked-single-ingredient.cooked-heading:first-child { margin-top: 0; }

.cooked-ingredient-checkbox {
	position: absolute;
	top: 0.9rem;
	left: 0;
	width: 1rem;
	height: 1rem;
	line-height: 1rem;
	border: 1px solid rgba(0, 0, 0, 0.2);
	margin: 0;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.cooked-single-ingredient:hover .cooked-ingredient-checkbox { border-color: rgba(0, 0, 0, 0.5); }

.cooked-ingredient-checked .cooked-ingredient-checkbox {
	background: var(--ozb-rcp-main);
	border-color: var(--ozb-rcp-main);
}

/* Cooked fades + strikes the WHOLE line when checked. */
.cooked-single-ingredient.cooked-ingredient-checked {
	text-decoration: line-through;
	opacity: 0.5;
}

.cooked-ing-amount,
.cooked-ing-measurement { font-weight: 700; }
.cooked-ing-name { line-height: 1.4rem; }

.cooked-ing-description {
	display: block;
	font-size: 0.88em;
	opacity: 0.6;
}

/* ---------- Directions (matches Cooked: big faded number, no circle) ---------- */

.cooked-recipe-directions { margin: 0 0 2rem; }

.cooked-single-direction {
	position: relative;
	padding: 0;
	margin: 0 0 1.25rem;
}

.cooked-single-direction.cooked-direction-has-number .cooked-dir-content { padding-left: 2rem; }
.cooked-single-direction.cooked-direction-has-number-wide .cooked-dir-content { padding-left: 2.75rem; }

.cooked-direction-number {
	position: absolute;
	top: 0;
	left: 0;
	height: 1.5rem;
	line-height: 1.5rem;
	font-size: 1.5rem;
	font-weight: 800;
	opacity: 0.35;
	border: 0;
	background: none;
	text-align: left;
}

.cooked-dir-content p:last-child { margin-bottom: 0; }

/* Neutralise copy-paste artifacts: some recipe text carries inline font
   styling (e.g. font-family:-webkit-standard; font-size:medium) pasted from
   other editors, which renders parts of a step in a mismatched serif/size.
   Force any inline-styled element inside recipe content to use the site font
   at the inherited size, while leaving bold/italic/links/colour intact. */
.cooked-dir-content [style],
.cooked-recipe-ingredients [style],
.cooked-recipe-excerpt [style],
.cooked-recipe-notes [style] {
	font-family: inherit !important;
	font-size: inherit !important;
	line-height: inherit !important;
}

.cooked-direction-image {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0 0 1rem;
}

/* ---------- Sharing (matches Cooked: brand-coloured buttons) ---------- */

.cooked-sharing-actions { margin: 1em 0 2rem; }
.cooked-aligned-center { text-align: center; overflow: hidden; }

/* Compact buttons with a network icon at left + divider lines either side,
   matching Cooked Pro's aligned-center social module. */
.cooked-aligned-center .cooked-sharing-wrap {
	display: inline-block;
	position: relative;
}
.cooked-aligned-center .cooked-sharing-wrap::before,
.cooked-aligned-center .cooked-sharing-wrap::after {
	content: "";
	position: absolute;
	height: 1px;
	border-bottom: 2px solid rgba(0, 0, 0, 0.15);
	top: 50%;
	margin-top: -2px;
	width: 600px;
}
.cooked-aligned-center .cooked-sharing-wrap::before { right: 100%; margin-right: 0.375rem; }
.cooked-aligned-center .cooked-sharing-wrap::after { left: 100%; margin-left: 0.375rem; }

.cooked-sharing-wrap > a.cooked-button {
	position: relative;
	font-size: 0.9rem;
	line-height: 1.35rem;
	padding: 0.4rem 0.8rem 0.4rem 2.25rem;
	margin: 0.375rem;
}
.cooked-sharing-wrap > a.cooked-button::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0.55rem;
	width: 1.25rem;
	height: 1.25rem;
	margin-top: -0.625rem;
	background-color: #fff;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}
.cooked-button.cooked-facebook-share::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.6 21v-8.2h2.8l.4-3.2h-3.2V7.5c0-.9.3-1.6 1.6-1.6h1.7V3.1c-.3 0-1.3-.1-2.5-.1-2.5 0-4.2 1.5-4.2 4.3v2.3H7.4v3.2h2.8V21z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.6 21v-8.2h2.8l.4-3.2h-3.2V7.5c0-.9.3-1.6 1.6-1.6h1.7V3.1c-.3 0-1.3-.1-2.5-.1-2.5 0-4.2 1.5-4.2 4.3v2.3H7.4v3.2h2.8V21z'/%3E%3C/svg%3E");
}
.cooked-button.cooked-twitter-share::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E");
}
.cooked-button.cooked-pinterest-share::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C5.4 0 0 5.4 0 12c0 5.1 3.2 9.5 7.7 11.2-.1-.9-.2-2.4 0-3.4l1.4-6s-.4-.7-.4-1.8c0-1.7 1-2.9 2.2-2.9 1 0 1.5.8 1.5 1.7 0 1-.7 2.6-1 4-.3 1.2.6 2.2 1.8 2.2 2.1 0 3.8-2.3 3.8-5.5 0-2.9-2.1-4.9-5-4.9-3.4 0-5.4 2.6-5.4 5.2 0 1 .4 2.1.9 2.7.1.1.1.2.1.4l-.3 1.3c-.1.2-.2.3-.4.2-1.5-.7-2.4-2.9-2.4-4.6 0-3.8 2.8-7.3 8-7.3 4.2 0 7.4 3 7.4 7 0 4.2-2.6 7.5-6.3 7.5-1.2 0-2.4-.6-2.8-1.4l-.8 2.9c-.3 1.1-1 2.4-1.5 3.2 1.1.3 2.3.5 3.5.5 6.6 0 12-5.4 12-12S18.6 0 12 0z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C5.4 0 0 5.4 0 12c0 5.1 3.2 9.5 7.7 11.2-.1-.9-.2-2.4 0-3.4l1.4-6s-.4-.7-.4-1.8c0-1.7 1-2.9 2.2-2.9 1 0 1.5.8 1.5 1.7 0 1-.7 2.6-1 4-.3 1.2.6 2.2 1.8 2.2 2.1 0 3.8-2.3 3.8-5.5 0-2.9-2.1-4.9-5-4.9-3.4 0-5.4 2.6-5.4 5.2 0 1 .4 2.1.9 2.7.1.1.1.2.1.4l-.3 1.3c-.1.2-.2.3-.4.2-1.5-.7-2.4-2.9-2.4-4.6 0-3.8 2.8-7.3 8-7.3 4.2 0 7.4 3 7.4 7 0 4.2-2.6 7.5-6.3 7.5-1.2 0-2.4-.6-2.8-1.4l-.8 2.9c-.3 1.1-1 2.4-1.5 3.2 1.1.3 2.3.5 3.5.5 6.6 0 12-5.4 12-12S18.6 0 12 0z'/%3E%3C/svg%3E");
}
.cooked-button.cooked-viber-share::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1C6 1 1.5 4.6 1.5 10.6c0 3.2 1.4 5.7 3.6 7.4l-.8 4.3 4.2-2.2c1.1.3 2.3.4 3.5.4 6 0 10.5-3.9 10.5-9.9S18 1 12 1zm3.9 13.6c-.3.5-.9.9-1.5 1-.4 0-.8.2-2.6-.6-2.2-.9-3.7-3.1-3.8-3.3-.1-.2-.9-1.3-.9-2.4s.6-1.7.8-1.9c.2-.2.5-.3.7-.3h.5c.2 0 .4 0 .6.4.2.5.7 1.7.7 1.8.1.1.1.3 0 .4-.1.2-.1.3-.3.4l-.4.5c-.1.1-.3.3-.1.5.1.3.6 1 1.3 1.6.9.8 1.6 1 1.9 1.2.2.1.4.1.5-.1l.6-.8c.2-.2.3-.2.6-.1l1.7.8c.3.1.4.2.5.3 0 .2 0 .6-.3 1.2z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1C6 1 1.5 4.6 1.5 10.6c0 3.2 1.4 5.7 3.6 7.4l-.8 4.3 4.2-2.2c1.1.3 2.3.4 3.5.4 6 0 10.5-3.9 10.5-9.9S18 1 12 1zm3.9 13.6c-.3.5-.9.9-1.5 1-.4 0-.8.2-2.6-.6-2.2-.9-3.7-3.1-3.8-3.3-.1-.2-.9-1.3-.9-2.4s.6-1.7.8-1.9c.2-.2.5-.3.7-.3h.5c.2 0 .4 0 .6.4.2.5.7 1.7.7 1.8.1.1.1.3 0 .4-.1.2-.1.3-.3.4l-.4.5c-.1.1-.3.3-.1.5.1.3.6 1 1.3 1.6.9.8 1.6 1 1.9 1.2.2.1.4.1.5-.1l.6-.8c.2-.2.3-.2.6-.1l1.7.8c.3.1.4.2.5.3 0 .2 0 .6-.3 1.2z'/%3E%3C/svg%3E");
}
.cooked-button.cooked-email-share::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12.7 1.7 5h20.6zM1 7.2V19h22V7.2l-11 8.1z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12.7 1.7 5h20.6zM1 7.2V19h22V7.2l-11 8.1z'/%3E%3C/svg%3E");
}

.cooked-button {
	display: inline-block;
	background: var(--ozb-rcp-main);
	color: #fff !important;
	padding: 0.5em 1.2em;
	margin: 0 0.25em 0.5em;
	border-radius: 4px;
	font-size: 0.85em;
	font-weight: 600;
	text-decoration: none !important;
	cursor: pointer;
	transition: background 0.15s ease;
}

.cooked-button:hover { background: var(--ozb-rcp-main-dark); }

/* Brand colours, matching Cooked Pro's social module. */
.cooked-button.cooked-facebook-share { background: #3b5998; }
.cooked-button.cooked-facebook-share:hover { background: #2e467b; }
.cooked-button.cooked-twitter-share { background: #000; }
.cooked-button.cooked-twitter-share:hover { background: #333; }
.cooked-button.cooked-pinterest-share { background: #be0f1d; }
.cooked-button.cooked-pinterest-share:hover { background: #9a0f1b; }
.cooked-button.cooked-viber-share { background: #665cac; }
.cooked-button.cooked-viber-share:hover { background: #564b91; }
.cooked-button.cooked-email-share { background: #444; }
.cooked-button.cooked-email-share:hover { background: #222; }

/* ---------- Browse: search bar (matches Cooked's layout) ---------- */

.cooked-recipe-search { box-sizing: border-box; padding: 0; margin: 0 0 1.5em; width: 100%; display: block; position: relative; }

.cooked-recipe-search .cooked-fields-wrap {
	box-sizing: border-box;
	width: 100%;
	position: relative;
	padding-right: 3.5rem; /* reserves room for the search button */
}
.cooked-recipe-search .cooked-fields-wrap::after { content: ""; display: table; clear: both; }

/* Category selector ("By OZ Braai") */
.cooked-recipe-search .cooked-field-wrap-select { position: relative; float: left; width: 14%; }
.cooked-recipe-search .cooked-browse-select {
	display: block;
	cursor: pointer;
	position: relative;
	border-radius: 3px;
	box-sizing: border-box;
	background: rgba(0, 0, 0, 0.075);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05);
	width: 100%;
	font-size: 0.9rem;
	line-height: 3rem;
	height: 3rem;
	padding: 0 1.75rem 0 1rem;
	white-space: nowrap;
	/* NO overflow:hidden here: the category dropdown panel is a CHILD of this
	   pill and this is its positioned ancestor — hiding overflow clips the
	   open panel into invisibility (the "filter does nothing" bug). Long
	   category names truncate on the title span below instead. */
}
.cooked-recipe-search .cooked-browse-select .cooked-field-title {
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.cooked-recipe-search .cooked-browse-select:hover { background: rgba(0, 0, 0, 0.1); }
/* A chosen category takes the brand colour (Cooked did this via the Customizer). */
.cooked-recipe-search .cooked-taxonomy-selected .cooked-browse-select { background: var(--ozb-rcp-main); box-shadow: none; }
.cooked-recipe-search .cooked-taxonomy-selected .cooked-field-title { color: #fff; }
.cooked-recipe-search .cooked-taxonomy-selected:hover .cooked-browse-select { background: var(--ozb-rcp-main-dark); }

/* Search text input */
.cooked-recipe-search .cooked-browse-search {
	margin: 0;
	box-shadow: none;
	display: block;
	box-sizing: border-box;
	background: #fff;
	width: 86%;
	height: 3rem;
	padding: 0 1rem;
	font-size: 1rem;
	border: 1px solid rgba(0, 0, 0, 0.15);
	border-right: none;
	float: left;
}
.cooked-recipe-search .cooked-browse-search:focus { outline: none; }

/* Sort dropdown — sits just left of the search button */
.cooked-recipe-search .cooked-sortby-wrap {
	background: #f5f5f5;
	position: absolute;
	top: 0;
	right: 3.5rem;
	height: 3rem;
	width: 11rem;
	margin: 0 1px 0 0;
}
.cooked-recipe-search .cooked-sortby-wrap .cooked-sortby-select {
	margin: 0;
	box-shadow: none;
	width: 100%;
	background: transparent;
	cursor: pointer;
	font-size: 0.9rem;
	border: none;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	height: 100%;
	border-radius: 0;
	padding: 0 1.75rem 0 1rem;
	color: rgba(0, 0, 0, 0.7);
}
.cooked-recipe-search .cooked-sortby-wrap:hover { background: #eee; }

/* Compact search button on the right */
.cooked-recipe-search .cooked-browse-search-button {
	position: absolute;
	top: 0;
	right: 0;
	width: 3.5rem;
	height: 3rem;
	line-height: 3rem;
	border: none;
	cursor: pointer;
	text-align: center;
	color: #fff;
	font-size: 1rem;
	background: var(--ozb-rcp-main);
	border-radius: 0 3px 3px 0;
}
.cooked-recipe-search .cooked-browse-search-button:hover { background: var(--ozb-rcp-main-dark); }

/* Down-caret on the two dropdowns (Cooked used its icon font) */
.cooked-recipe-search .cooked-field-wrap-select::after,
.cooked-recipe-search .cooked-sortby-wrap::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 1rem;
	margin-top: -2px;
	pointer-events: none;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid currentColor;
	opacity: 0.35;
}
.cooked-recipe-search .cooked-taxonomy-selected::after { border-top-color: #fff; opacity: 0.85; }

/* Category dropdown panel */
.cooked-browse-select-block {
	display: none;
	position: absolute;
	z-index: 40;
	top: calc(3rem + 6px);
	left: 0;
	min-width: 300px;
	background: #fff;
	border: 1px solid var(--ozb-rcp-border);
	border-radius: 6px;
	padding: 1.25em;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
}
.cooked-field-wrap-select.cooked-open .cooked-browse-select-block { display: block; }

.cooked-tax-column-title {
	display: block;
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 0.55;
	font-weight: 700;
	margin-bottom: 0.5em;
}
.cooked-tax-scrollable { max-height: 16rem; overflow: auto; }
.cooked-tax-scrollable a { display: block; padding: 0.22em 0; color: inherit; text-decoration: none; }
.cooked-tax-scrollable a:hover { color: var(--ozb-rcp-main); }
.cooked-tax-scrollable strong a { color: var(--ozb-rcp-main); }

/* ---------- Browse: grid + cards ---------- */

.cooked-recipe-grid {
	display: flex;
	flex-wrap: wrap;
	margin: 1.5em -1.5% 0.5em;
}

.cooked-recipe-grid .cooked-recipe {
	position: relative;
	background: #fff;
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 2px 14px rgba(0, 0, 0, 0.08);
	margin: 0 1.5% 3%;
}

.cooked-recipe-grid.cooked-columns-3 .cooked-recipe { width: 30.33%; }
.cooked-recipe-grid.cooked-columns-2 .cooked-recipe { width: 47%; }
.cooked-recipe-grid.cooked-columns-4 .cooked-recipe { width: 22%; }

.cooked-recipe-card-image {
	display: block;
	padding-bottom: 75%;
	background-size: cover;
	background-position: center;
	background-color: #f0f0f0;
}

.cooked-recipe .cooked-favorite-heart {
	position: absolute;
	top: 10px;
	right: 10px;
	background: rgba(255, 255, 255, 0.92);
	width: 2.2em;
	height: 2.2em;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.cooked-recipe .cooked-favorite-heart .cooked-icon-heart { font-size: 1.15em; }

.cooked-recipe-card-content {
	display: block;
	text-align: center;
	padding: 1.1em 1em 1.3em;
}

.cooked-recipe-card-content .cooked-rating { display: block; margin-bottom: 0.4em; }
.cooked-recipe-card-content .cooked-rating-thumb { cursor: default; margin: 0 0.6em; }
.cooked-recipe-card-content .cooked-rating-thumb .cooked-icon { font-size: 1.05em; opacity: 0.65; }

.cooked-recipe-card-title {
	display: block;
	font-weight: 700;
	font-size: 1.05em;
	line-height: 1.35;
	color: inherit;
	text-decoration: none;
	margin: 0.15em 0 0.6em;
}

.cooked-recipe-card-title:hover { color: var(--ozb-rcp-main); }

.cooked-recipe-card-sep {
	display: block;
	width: 34px;
	height: 3px;
	background: rgba(0, 0, 0, 0.15);
	margin: 0 auto 0.7em;
	transition: background 0.15s ease;
}

.cooked-recipe:hover .cooked-recipe-card-sep { background: var(--ozb-rcp-main); }

.cooked-recipe-card-author {
	display: block;
	font-size: 0.85em;
	opacity: 0.7;
}

.cooked-pages-load-wrap {
	text-align: center;
	padding: 1em 0 2em;
	font-size: 1.6em;
	opacity: 0.6;
}

.cooked-pages-load-wrap.cooked-done { display: none; }

/* ---------- Compact recipe rows (sidebar list widget) ----------
   Cooked's [cooked-recipe-list] layout: 3rem thumbnail absolutely placed left
   of the title, hairline divider between rows, no divider above the first.
   Deliberately NOT the card grid — cards here swamp the rest of the sidebar. */

.cooked-shortcode-recipe-list { margin: 0 auto 1rem; }

.cooked-shortcode-recipe-list .cooked-srl-single {
	box-sizing: border-box;
	border-top: 1px solid rgba(0, 0, 0, 0.15);
	position: relative;
	display: block;
	padding: 0.6rem 0 0;
	margin: 0 0 1rem;
}

.cooked-shortcode-recipe-list .cooked-srl-single.cooked-srl-has-image {
	padding-left: 4rem;
	min-height: 3.75rem;
}

.cooked-shortcode-recipe-list .cooked-srl-image { margin: 0; padding: 0; }

.cooked-shortcode-recipe-list .cooked-srl-image img {
	width: 3rem;
	height: 3rem;
	object-fit: cover;
	border-radius: 3px;
	position: absolute;
	top: 0.9rem;
	left: 0;
	display: block;
	margin: 0;
	padding: 0;
}

.cooked-shortcode-recipe-list .cooked-srl-content { line-height: 1.4rem; padding: 0; margin: 0; }

.cooked-shortcode-recipe-list .cooked-srl-title {
	line-height: 1.4rem;
	display: block;
	font-weight: 600;
	margin: 0.25rem 0;
	font-size: 1rem;
}

.cooked-shortcode-recipe-list .cooked-srl-title a { text-decoration: none; }
.cooked-shortcode-recipe-list .cooked-srl-title a:hover { color: var(--ozb-rcp-main); }

.cooked-shortcode-recipe-list .cooked-srl-author {
	line-height: 1.4rem;
	margin: 0.25rem 0;
	font-size: 0.9rem;
	opacity: 0.75;
}

.cooked-shortcode-recipe-list .cooked-srl-single:first-child { border-top: none; padding-top: 0; }
.cooked-shortcode-recipe-list .cooked-srl-single:first-child .cooked-srl-image img { top: 0; }
.cooked-shortcode-recipe-list .cooked-srl-single.cooked-srl-has-image:first-child { min-height: 3rem; }

/* ---------- Profile ---------- */

.cooked-profile-heading { margin: 1.2em 0 0.6em; }

/* ---------- Fullscreen cooking mode ---------- */

body.ozb-rcp-fullscreen { overflow: hidden; }

.ozb-rcp-fsm-overlay {
	position: fixed;
	inset: 0;
	z-index: 99999;
	background: #fff;
	overflow: auto;
	padding: 2.5em clamp(1em, 6vw, 5em) 4em;
}

.ozb-rcp-fsm-close {
	position: fixed;
	top: 14px;
	right: 18px;
	z-index: 100000;
	font-size: 1.4em;
	background: var(--ozb-rcp-main);
	color: #fff;
	border: 0;
	border-radius: 50%;
	width: 2em;
	height: 2em;
	cursor: pointer;
}

/* ---------- Previous / next recipe cards ---------- */

/* Replace the theme's bare text prev/next links and hide the empty
   "This entry was posted in ." meta line on recipe singles. */
.single-cp_recipe .navigation-post,
.single-cp_recipe footer.entry-meta {
	display: none;
}

.ozb-rcp-nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin: 2.5rem 0 1rem;
}

/* High specificity: ozb-accessibility underlines links inside
   .cooked-recipe-content (WCAG) — these cards are self-evidently links
   (image + arrow label + bold title), so exempt them. */
.ozb-rcp-nav a.ozb-rcp-nav-card,
.ozb-rcp-nav a.ozb-rcp-nav-card:hover,
.ozb-rcp-nav a.ozb-rcp-nav-card:focus {
	display: block;
	text-decoration: none !important;
	border-bottom: 0;
	color: inherit;
}

.ozb-rcp-nav a.ozb-rcp-nav-card span { text-decoration: none !important; }

.ozb-rcp-nav-next { text-align: right; }

.ozb-rcp-nav-thumb {
	display: block;
	overflow: hidden;
	border-radius: 6px;
	margin-bottom: 0.7rem;
	aspect-ratio: 3 / 2;
	background: #f2f2f2;
}

.ozb-rcp-nav-thumb img.ozb-rcp-nav-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.25s ease;
}

.ozb-rcp-nav-card:hover .ozb-rcp-nav-img { transform: scale(1.04); }

.ozb-rcp-nav-label {
	display: block;
	font-size: 0.72rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	font-weight: 800;
	opacity: 0.55;
	margin-bottom: 0.25rem;
}

.ozb-rcp-nav-title {
	display: block;
	font-weight: 700;
	line-height: 1.35;
	font-size: 1rem;
}

.ozb-rcp-nav-card:hover .ozb-rcp-nav-title { text-decoration: underline; }

/* One card only (first/last recipe): keep it half-width, aligned to its side. */
.ozb-rcp-nav-card:only-child.ozb-rcp-nav-next { grid-column: 2; }

@media screen and (max-width: 549px) {
	.ozb-rcp-nav { gap: 12px; }
	.ozb-rcp-nav-title { font-size: 0.9rem; }
}

/* ---------- Responsive ---------- */

@media screen and (max-width: 1000px) {
	.cooked-recipe-grid.cooked-columns-3 .cooked-recipe,
	.cooked-recipe-grid.cooked-columns-4 .cooked-recipe { width: 47%; }
}

@media screen and (max-width: 750px) {
	.cooked-recipe-grid.cooked-columns-2 .cooked-recipe,
	.cooked-recipe-grid.cooked-columns-3 .cooked-recipe,
	.cooked-recipe-grid.cooked-columns-4 .cooked-recipe { width: 97%; }

	/* Structured, centred rows: icons stack ABOVE their labels instead of the
	   desktop absolute-left layout (which overlapped text on small screens). */
	.cooked-recipe-info .cooked-left,
	.cooked-recipe-info .cooked-right {
		float: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		column-gap: 1.1rem;
		row-gap: 0.8rem;
		text-align: center;
	}

	.cooked-recipe-info section > span { margin: 0; }

	.cooked-recipe-info span.cooked-servings,
	.cooked-recipe-info span.cooked-time {
		padding-left: 0;
		text-align: center;
	}

	/* Prep / cook / total share one row as three equal columns. */
	.cooked-recipe-info .cooked-right > span.cooked-time {
		flex: 1 1 0;
		min-width: 0;
	}

	/* The yields/times bar becomes a contained stat strip: one bordered card,
	   equal columns with hairline dividers, icon + one-line label + value. */
	.cooked-recipe-info:has(.cooked-time) {
		display: grid;
		grid-auto-flow: column;
		/* minmax(0,1fr): plain 1fr keeps a min-content floor, which made
		   columns uneven and wrapped values onto extra lines. */
		grid-auto-columns: minmax(0, 1fr);
		align-items: start;
		border: 1px solid rgba(0, 0, 0, 0.09);
		border-radius: 8px;
		background: #fafafa;
		padding: 14px 2px 12px;
		margin: 0.5rem 0 1.4rem;
		-webkit-text-size-adjust: none;
		text-size-adjust: none;
	}

	.cooked-recipe-info:has(.cooked-time) .cooked-left,
	.cooked-recipe-info:has(.cooked-time) .cooked-right {
		display: contents;
	}

	.cooked-recipe-info:has(.cooked-time) section > span {
		display: block;
		/* !important throughout: the desktop icon layout sets padding-left:3rem
		   and margin:10px on these spans (also echoed in Customizer CSS), which
		   shoved every cell's content ~30px right — huge gap left, none right.
		   Force symmetric box so equal cells centre their content evenly. */
		margin: 0 !important;
		padding: 0 4px !important;
		min-width: 0;
		width: 100%;
		box-sizing: border-box;
	}

	/* Centre the icon in its cell (desktop/Customizer give it a 7.5px side
	   margin + absolute positioning we no longer use here). */
	.cooked-recipe-info:has(.cooked-time) .cooked-servings-icon,
	.cooked-recipe-info:has(.cooked-time) .cooked-time-icon {
		position: static !important;
		margin: 0 auto 6px !important;
	}

	/* Recipes without a value render an empty span — don't give it a column. */
	.cooked-recipe-info:has(.cooked-time) section > span:empty {
		display: none;
	}

	/* Clearfix ::before/::after pseudos become phantom grid columns — the bar
	   AND its display:contents sections all project them into the grid. */
	.cooked-recipe-info:has(.cooked-time)::before,
	.cooked-recipe-info:has(.cooked-time)::after,
	.cooked-recipe-info:has(.cooked-time) section::before,
	.cooked-recipe-info:has(.cooked-time) section::after {
		content: none;
	}

	/* Dividers between neighbours only — no orphan divider when the recipe
	   has no yields cell. */
	.cooked-recipe-info:has(.cooked-time) section > span + span,
	.cooked-recipe-info:has(.cooked-time) section.cooked-left:has(span) + section.cooked-right > span:first-child {
		border-left: 1px solid rgba(0, 0, 0, 0.09);
	}

	.cooked-recipe-info:has(.cooked-time) .cooked-servings-icon,
	.cooked-recipe-info:has(.cooked-time) .cooked-time-icon {
		width: 1.7rem;
		height: 1.7rem;
		margin: 0 auto 0.35rem;
	}

	/* px sizing + text-size-adjust:none on EVERY text element: iOS inflates
	   rem/small text; a nowrap label that grows overflows the card edge. */
	.cooked-recipe-info:has(.cooked-time) .cooked-meta-title {
		font-size: 9.5px;
		letter-spacing: 0.04em;
		white-space: nowrap;
		margin-bottom: 2px;
		-webkit-text-size-adjust: none;
		text-size-adjust: none;
	}

	.cooked-recipe-info:has(.cooked-time) section > span {
		font-size: 13px;
		font-weight: 600;
		line-height: 1.35;
		text-align: center;
		padding: 0 3px;
		-webkit-text-size-adjust: none;
		text-size-adjust: none;
	}

	.cooked-servings-icon,
	.cooked-time-icon {
		position: static;
		margin: 0 auto 0.35rem;
	}

	/* Share buttons: one centred, evenly spaced group. */
	.cooked-sharing-actions {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 0.5rem;
	}

	/* Search bar stacks on small screens: category on top, then a full-width
	   input with the button beside it; sort drops below full width. */
	.cooked-recipe-search .cooked-fields-wrap { padding-right: 3.5rem; }
	.cooked-recipe-search .cooked-field-wrap-select { width: 100%; margin-bottom: 8px; }
	.cooked-recipe-search .cooked-browse-search { width: 100%; }
	/* position:relative keeps the ▾ caret anchored to the sort box (static let
	   it escape to another ancestor — the select looked like inert text). */
	.cooked-recipe-search .cooked-sortby-wrap {
		position: relative;
		top: auto;
		right: auto;
		float: left;
		width: 100%;
		margin: 8px 0 0;
		background: #fff;
	}
	.cooked-recipe-search .cooked-sortby-wrap .cooked-sortby-select {
		border: 1px solid rgba(0, 0, 0, 0.15);
		padding-right: 2.6rem;
	}
	.cooked-recipe-search .cooked-browse-search-button { top: calc(3rem + 8px); height: 3rem; }
	.cooked-recipe-search .cooked-browse-select-block { min-width: 0; width: 100%; }
}

/* ---------- 1.7.0: star ratings + visible recipe facts ---------- */
.cooked-rating { display: inline-flex; align-items: center; gap: 8px; }
.cooked-rating-stars { display: inline-flex; gap: 1px; line-height: 1; }
.cooked-rating-star { font-size: 20px; color: #d5d5d5; cursor: pointer; transition: color .12s, transform .12s; user-select: none; }
.cooked-rating-star.is-filled { color: #e6a817; }
.cooked-rating-star:hover { transform: scale(1.15); }
.cooked-recipe-card-content .cooked-rating-star { font-size: 15px; }
.cooked-rating-text { font-size: 13px; color: #555; white-space: nowrap; }

/* The rating text ("5.0 (1)" or the "Rate this recipe" prompt) stacks UNDER
   the stars in BOTH states, styled like the other field labels (Difficulty
   etc.) so the info bar reads uniformly. Must (re)declare display: the info
   bar's `section > span { inline-block }` outranks the base .cooked-rating
   rule, which silently kills the flex stack. */
.cooked-recipe-info .cooked-rating { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.cooked-rating .cooked-rating-text {
	font-size: 0.7rem;
	letter-spacing: 0.03rem;
	text-transform: uppercase;
	font-weight: 800;
	color: inherit;
	opacity: 0.75;
}
/* Cards render the rating as a block, so stack via the text element there. */
.cooked-recipe-card-content .cooked-rating .cooked-rating-text { display: block; font-size: 10px; }
/* Mobile info bars centre their items, so centre the stacked text too. */
@media screen and (max-width: 750px) {
	.cooked-recipe-info .cooked-rating { align-items: center; }
}

.ozb-rcp-facts { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 0 0 22px; padding: 12px 16px; background: #f6f5f2; border-radius: 6px; font-size: 14px; }
.ozb-rcp-facts .ozb-rcp-fact strong { margin-right: 5px; }

/* 1.7.2: the top facts strip is the one house style for times/serves — hide the
   legacy clock row (and stray time/servings items) that older layouts render
   lower down, so the numbers never show twice. */
.single-cp_recipe .cooked-prep-time,
.single-cp_recipe .cooked-cook-time,
.single-cp_recipe .cooked-total-time,
.single-cp_recipe .cooked-servings { display: none !important; }

/* ---------- 1.7.7: recipe header meta band ----------
   The row under the facts strip (author / difficulty / rating + the print,
   fullscreen and favourite actions) becomes one aligned band: info columns
   left, uniform circular icon buttons right. The two <section> wrappers go
   display:contents so every item sits in one flex row — their clearfix
   pseudo-elements MUST be disabled or they become phantom flex items. */
.single-cp_recipe .cooked-recipe-info { 
	display: flex !important;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px 2.4rem;
	padding: 6px 2px 14px;
}
.single-cp_recipe .cooked-recipe-info::before,
.single-cp_recipe .cooked-recipe-info::after,
.single-cp_recipe .cooked-recipe-info section::before,
.single-cp_recipe .cooked-recipe-info section::after { content: none !important; }
.single-cp_recipe .cooked-recipe-info section.cooked-left,
.single-cp_recipe .cooked-recipe-info section.cooked-right { display: contents; float: none; }
.single-cp_recipe .cooked-recipe-info section > span { margin: 0 !important; line-height: 1.3; }

/* Column order: info first, actions last. */
.single-cp_recipe .cooked-recipe-info .cooked-author { order: 1; }
.single-cp_recipe .cooked-recipe-info .cooked-difficulty-level { order: 2; }
.single-cp_recipe .cooked-recipe-info .cooked-rating { order: 3; }
.single-cp_recipe .cooked-recipe-info .cooked-print { order: 4; margin-left: auto !important; }
.single-cp_recipe .cooked-recipe-info .cooked-fsm-button { order: 5; }
.single-cp_recipe .cooked-recipe-info .cooked-favorite { order: 6; }

/* Info columns: small-caps label over the value, consistent rhythm. */
.single-cp_recipe .cooked-recipe-info .cooked-meta-title { margin-bottom: 3px; }
.single-cp_recipe .cooked-recipe-info .cooked-author a {
	text-decoration: none;
	border-bottom: none;
	font-weight: 600;
	color: inherit;
}
.single-cp_recipe .cooked-recipe-info .cooked-author a:hover { color: var(--ozb-rcp-main, #d52027); }
.single-cp_recipe .cooked-recipe-info .cooked-difficulty-level > span { font-weight: 600; }

/* Actions: identical circular buttons. */
.single-cp_recipe .cooked-recipe-info .cooked-print-icon,
.single-cp_recipe .cooked-recipe-info span.cooked-fsm-button,
.single-cp_recipe .cooked-recipe-info .cooked-favorite-heart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid #e4e4e4;
	border-radius: 50%;
	background: #fff;
	cursor: pointer;
	transition: border-color .15s ease, background .15s ease;
}
.single-cp_recipe .cooked-recipe-info .cooked-print-icon:hover,
.single-cp_recipe .cooked-recipe-info span.cooked-fsm-button:hover,
.single-cp_recipe .cooked-recipe-info .cooked-favorite-heart:hover { border-color: #c9c9c9; background: #fafafa; }
.single-cp_recipe .cooked-recipe-info .cooked-print-icon .cooked-icon,
.single-cp_recipe .cooked-recipe-info span.cooked-fsm-button .cooked-icon,
.single-cp_recipe .cooked-recipe-info .cooked-favorite-heart .cooked-icon {
	font-size: 1.35rem !important;
	line-height: 1 !important;
	opacity: 0.65;
}
.single-cp_recipe .cooked-recipe-info .cooked-favorite-heart:hover .cooked-icon,
.single-cp_recipe .cooked-recipe-info .cooked-favorite-heart.cooked-favorited .cooked-icon { opacity: 1; }

/* Phones: author + difficulty share the top row, the rating gets its own
   centred row, and the three action buttons sit together on the last row. */
@media screen and (max-width: 750px) {
	.single-cp_recipe .cooked-recipe-info { justify-content: center; gap: 14px 1.6rem; text-align: center; }
	.single-cp_recipe .cooked-recipe-info .cooked-author,
	.single-cp_recipe .cooked-recipe-info .cooked-difficulty-level { text-align: center; }
	.single-cp_recipe .cooked-recipe-info .cooked-rating { flex-basis: 100%; align-items: center; }
	.single-cp_recipe .cooked-recipe-info .cooked-print { margin-left: 0 !important; }
}
