:root {
	--ossmag-ink: #27212f;
	--ossmag-muted: #756c7d;
	--ossmag-paper: #fffaf3;
	--ossmag-surface: #ffffff;
	--ossmag-cream: #f8f2e8;
	--ossmag-sage: #dce7cf;
	--ossmag-tomato: #b7351d;
	--ossmag-gold: #d9982f;
	--ossmag-plum: #543c62;
	--ossmag-line: rgba(39, 33, 47, 0.12);
	--ossmag-shadow: 0 18px 42px rgba(39, 33, 47, 0.12);
}

.ossmag-html {
	font-size: 16px;
}

body.ossmag-home {
	margin: 0;
	background: var(--ossmag-paper);
	color: var(--ossmag-ink);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 18px;
	letter-spacing: 0;
}

.ossmag-home a {
	color: inherit;
	text-decoration: none;
}

.ossmag-html .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	border: 0 !important;
	white-space: nowrap !important;
}

.ossmag-html .screen-reader-text:focus {
	z-index: 100;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 10px 14px;
	clip: auto !important;
	clip-path: none !important;
	border-radius: 6px;
	background: var(--ossmag-ink);
	color: #fff;
	white-space: normal;
}

.ossmag-home [hidden] {
	display: none !important;
}

.ossmag-header {
	position: sticky;
	top: 0;
	z-index: 50;
	border-bottom: 1px solid var(--ossmag-line);
	background: rgba(255, 250, 243, 0.94);
	backdrop-filter: blur(16px);
}

.ossmag-header__inner {
	display: grid;
	grid-template-columns: minmax(170px, 230px) max-content minmax(260px, 1fr) auto;
	gap: 14px;
	align-items: center;
	width: min(1760px, calc(100% - 48px));
	min-height: 82px;
	margin: 0 auto;
}

.ossmag-brand {
	display: inline-flex;
	align-items: center;
	width: min(220px, 28vw);
	min-width: 0;
}

.ossmag-brand__logo,
.ossmag-brand .custom-logo {
	display: block;
	width: 100%;
	max-width: 220px;
	height: auto;
	max-height: 64px;
	object-fit: contain;
}

.ossmag-nav {
	display: flex;
	flex-wrap: nowrap;
	gap: 6px;
	justify-content: flex-start;
	min-width: 0;
	overflow-x: auto;
	scrollbar-width: none;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}

.ossmag-nav::-webkit-scrollbar {
	display: none;
}

.ossmag-nav a {
	flex: 0 0 auto;
	padding: 12px 14px;
	border-radius: 999px;
	color: var(--ossmag-plum);
	font-size: 1.04rem;
	font-weight: 800;
}

.ossmag-nav a:hover,
.ossmag-nav a:focus-visible {
	background: var(--ossmag-cream);
}

.ossmag-search {
	display: grid;
	grid-template-columns: 1fr 48px;
	align-items: center;
	min-width: 0;
	border: 2px solid rgba(84, 60, 98, 0.25);
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 8px 22px rgba(84, 60, 98, 0.07);
}

.ossmag-search input {
	width: 100%;
	min-width: 0;
	height: 58px;
	border: 0;
	background: transparent;
	padding: 0 4px 0 22px;
	color: var(--ossmag-ink);
	font: inherit;
	font-size: 1.08rem;
	outline: none;
}

.ossmag-search button {
	display: grid;
	width: 48px;
	height: 48px;
	margin-right: 5px;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: var(--ossmag-plum);
	color: #fff;
	font-size: 1.6rem;
	line-height: 1;
	cursor: pointer;
}

.ossmag-saved-trigger {
	position: relative;
	display: inline-flex;
	min-width: 0;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 1px solid rgba(84, 60, 98, 0.22);
	border-radius: 999px;
	padding: 13px 15px;
	background: #fff;
	color: var(--ossmag-plum);
	font: inherit;
	font-size: 0.98rem;
	font-weight: 900;
	box-shadow: 0 8px 22px rgba(84, 60, 98, 0.07);
	cursor: pointer;
}

.ossmag-saved-trigger:hover,
.ossmag-saved-trigger:focus-visible {
	border-color: rgba(216, 75, 42, 0.34);
	color: var(--ossmag-tomato);
	outline: none;
}

.ossmag-saved-trigger__icon {
	display: inline-grid;
	width: 22px;
	height: 22px;
	place-items: center;
	line-height: 1;
}

.ossmag-saved-trigger__icon svg,
.ossmag-save__icon svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.4;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ossmag-saved-trigger__count {
	display: grid;
	min-width: 24px;
	height: 24px;
	place-items: center;
	border-radius: 999px;
	background: var(--ossmag-tomato);
	color: #fff;
	font-size: 0.78rem;
	line-height: 1;
}

.ossmag-saved-backdrop {
	position: fixed;
	inset: 0;
	z-index: 90;
	background: rgba(39, 33, 47, 0.24);
	backdrop-filter: blur(2px);
}

.ossmag-saved-drawer {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 100;
	display: grid;
	grid-template-rows: auto auto 1fr;
	width: min(520px, calc(100% - 22px));
	height: 100dvh;
	overflow: auto;
	border-left: 1px solid var(--ossmag-line);
	background: var(--ossmag-paper);
	padding: 24px;
	box-shadow: -24px 0 60px rgba(39, 33, 47, 0.2);
}

.ossmag-saved-drawer__head {
	display: flex;
	gap: 18px;
	align-items: start;
	justify-content: space-between;
	margin-bottom: 20px;
}

.ossmag-saved-drawer__head h2 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2rem, 5vw, 3rem);
	line-height: 1;
	letter-spacing: 0;
}

.ossmag-saved-drawer__close {
	display: grid;
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	place-items: center;
	border: 1px solid var(--ossmag-line);
	border-radius: 50%;
	background: #fff;
	color: var(--ossmag-ink);
	font-size: 1.8rem;
	line-height: 1;
	cursor: pointer;
}

.ossmag-saved-open {
	overflow: hidden;
}

.ossmag-main {
	overflow: hidden;
}

.ossmag-kicker {
	margin: 0 0 10px;
	color: var(--ossmag-tomato);
	font-size: 0.86rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ossmag-breadcrumb {
	width: min(1760px, calc(100% - 48px));
	margin: 24px auto 0;
	color: var(--ossmag-muted);
	font-size: 0.95rem;
	font-weight: 800;
}

.ossmag-breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ossmag-breadcrumb li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.ossmag-breadcrumb li + li::before {
	content: "/";
	color: rgba(39, 33, 47, 0.38);
}

.ossmag-breadcrumb a {
	color: var(--ossmag-plum);
	text-decoration: none;
}

.ossmag-breadcrumb span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ossmag-hero {
	position: relative;
	width: min(1760px, calc(100% - 48px));
	margin: 34px auto 46px;
}

.ossmag-hero::before {
	content: none;
}

.ossmag-hero__intro {
	position: relative;
	max-width: 860px;
	margin-bottom: 28px;
}

.ossmag-hero h1 {
	margin: 0;
	max-width: 980px;
	color: var(--ossmag-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.4rem, 5vw, 6rem);
	font-weight: 800;
	line-height: 0.95;
	letter-spacing: 0;
}

.ossmag-hero__intro p:last-child {
	max-width: 680px;
	margin: 20px 0 0;
	color: var(--ossmag-muted);
	font-size: clamp(1rem, 1.2vw, 1.2rem);
	line-height: 1.55;
}

.ossmag-carousel {
	position: relative;
	isolation: isolate;
}

.ossmag-carousel__track {
	display: grid;
	grid-auto-columns: min(78vw, 1060px);
	grid-auto-flow: column;
	gap: 22px;
	overflow-x: auto;
	padding: 4px 0 8px;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	touch-action: pan-y;
	-webkit-overflow-scrolling: touch;
}

.ossmag-carousel__track::-webkit-scrollbar {
	display: none;
}

.ossmag-carousel__track.is-dragging {
	cursor: grabbing;
	scroll-snap-type: none;
	scroll-behavior: auto;
}

.ossmag-carousel__slide {
	scroll-snap-align: start;
}

.ossmag-carousel__controls {
	position: absolute;
	inset: 50% 18px auto 18px;
	z-index: 5;
	display: flex;
	justify-content: space-between;
	pointer-events: none;
	transform: translateY(-50%);
}

.ossmag-carousel__controls button {
	display: grid;
	width: 64px;
	height: 64px;
	place-items: center;
	border: 2px solid var(--ossmag-tomato);
	border-radius: 50%;
	background: var(--ossmag-surface);
	color: var(--ossmag-tomato);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 2.7rem;
	font-weight: 900;
	line-height: 1;
	cursor: pointer;
	pointer-events: auto;
	box-shadow: 0 18px 36px rgba(216, 75, 42, 0.22);
	transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.ossmag-carousel__controls button:hover,
.ossmag-carousel__controls button:focus-visible {
	background: var(--ossmag-tomato);
	color: #fff;
	outline: none;
	transform: translateY(-1px);
}

.ossmag-carousel__controls span {
	display: block;
	width: 1em;
	height: 1em;
	line-height: 0.85;
	text-align: center;
}

.ossmag-card {
	position: relative;
	display: grid;
	min-width: 0;
	overflow: hidden;
	border: 1px solid rgba(39, 33, 47, 0.08);
	border-radius: 8px;
	background: var(--ossmag-surface);
	box-shadow: 0 12px 30px rgba(39, 33, 47, 0.09);
}

.ossmag-card--hero {
	min-height: 560px;
	cursor: pointer;
}

.ossmag-card--hero a,
.ossmag-card--hero button {
	cursor: pointer;
}

.ossmag-card__media {
	position: relative;
	display: block;
	overflow: hidden;
	min-height: 260px;
	background:
		linear-gradient(135deg, rgba(84, 60, 98, 0.9), rgba(216, 75, 42, 0.84)),
		repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.12) 0 10px, transparent 10px 20px);
}

.ossmag-card--hero .ossmag-card__media {
	min-height: 560px;
}

.ossmag-card__image {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	color: transparent;
	font-size: 0;
	object-fit: cover;
}

.ossmag-card__image.is-missing {
	opacity: 0;
}

.ossmag-card__badge {
	position: absolute;
	left: 18px;
	bottom: 18px;
	padding: 8px 12px;
	border-radius: 999px;
	background: var(--ossmag-gold);
	color: #211800;
	font-size: 0.75rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ossmag-card__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 24px 24px 30px;
}

.ossmag-card--hero .ossmag-card__body {
	position: absolute;
	right: auto;
	bottom: 0;
	left: 0;
	width: min(760px, calc(100% - 40px));
	min-height: auto;
	justify-content: end;
	padding: clamp(28px, 4vw, 54px);
	background:
		linear-gradient(90deg, rgba(39, 33, 47, 0.88), rgba(39, 33, 47, 0.58) 72%, transparent);
	color: #fff;
}

.ossmag-card__title {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.35rem, 2vw, 2.4rem);
	font-weight: 800;
	line-height: 1.06;
	letter-spacing: 0;
}

.ossmag-card--hero .ossmag-card__title {
	font-size: clamp(2.4rem, 4.4vw, 5rem);
	text-wrap: balance;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.28);
}

.ossmag-card--hero .ossmag-card__excerpt,
.ossmag-card--hero .ossmag-card__meta {
	color: rgba(255, 255, 255, 0.86);
}

.ossmag-card--hero .ossmag-card__meta span {
	background: rgba(255, 255, 255, 0.16);
	color: #fff;
}

.ossmag-card__excerpt {
	margin: 18px 0 0;
	color: var(--ossmag-muted);
	font-size: 1.05rem;
	line-height: 1.55;
}

.ossmag-card--archive .ossmag-card__excerpt {
	display: -webkit-box;
	margin-top: 14px;
	overflow: hidden;
	font-size: 1rem;
	line-height: 1.5;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.ossmag-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
	color: var(--ossmag-muted);
	font-size: 0.9rem;
	font-weight: 800;
}

.ossmag-card__meta span {
	padding: 7px 10px;
	border-radius: 999px;
	background: var(--ossmag-cream);
}

.ossmag-save {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 24px;
	padding: 11px 14px;
	border: 1px solid var(--ossmag-line);
	border-radius: 999px;
	background: #fff;
	color: var(--ossmag-ink);
	font-weight: 900;
	cursor: pointer;
}

.ossmag-save[aria-pressed="true"] {
	border-color: rgba(216, 75, 42, 0.28);
	background: rgba(216, 75, 42, 0.1);
	color: var(--ossmag-tomato);
}

.ossmag-save__icon {
	display: inline-grid;
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
	place-items: center;
	line-height: 1;
}

.ossmag-save[aria-pressed="true"] .ossmag-save__icon svg {
	fill: currentColor;
}

.ossmag-saved .ossmag-section__head {
	align-items: center;
}

.ossmag-saved__count {
	flex: 0 0 auto;
	padding: 9px 13px;
	border: 1px solid var(--ossmag-line);
	border-radius: 999px;
	background: #fff;
	color: var(--ossmag-muted);
	font-size: 0.9rem;
	font-weight: 900;
}

.ossmag-saved__empty {
	display: grid;
	gap: 8px;
	border: 1px solid rgba(39, 33, 47, 0.08);
	border-radius: 8px;
	padding: 28px;
	background:
		linear-gradient(135deg, rgba(220, 231, 207, 0.72), rgba(255, 255, 255, 0.8)),
		#fff;
	box-shadow: 0 12px 30px rgba(39, 33, 47, 0.06);
}

.ossmag-saved__empty strong {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.45rem, 2vw, 2.2rem);
	line-height: 1.05;
}

.ossmag-saved__empty p {
	max-width: 620px;
	margin: 0;
	color: var(--ossmag-muted);
	font-size: 1.05rem;
	line-height: 1.5;
}

.ossmag-saved__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.ossmag-saved__grid--drawer {
	grid-template-columns: 1fr;
	align-content: start;
}

.ossmag-saved-card {
	display: grid;
	grid-template-columns: minmax(150px, 0.42fr) minmax(0, 1fr);
	min-width: 0;
	overflow: hidden;
	border: 1px solid rgba(39, 33, 47, 0.08);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 12px 30px rgba(39, 33, 47, 0.08);
}

.ossmag-saved__grid--drawer .ossmag-saved-card {
	grid-template-columns: 136px minmax(0, 1fr);
}

.ossmag-saved-card__media {
	position: relative;
	display: block;
	min-height: 190px;
	background:
		linear-gradient(135deg, rgba(84, 60, 98, 0.86), rgba(216, 75, 42, 0.82)),
		var(--ossmag-cream);
}

.ossmag-saved-card__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ossmag-saved-card__body {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: flex-start;
	padding: 20px;
}

.ossmag-saved-card__category {
	margin-bottom: 10px;
	color: var(--ossmag-tomato);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ossmag-saved-card h3 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.25rem, 1.7vw, 2rem);
	line-height: 1.06;
	letter-spacing: 0;
}

.ossmag-saved-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 16px;
	color: var(--ossmag-muted);
	font-size: 0.86rem;
	font-weight: 900;
}

.ossmag-saved-card__meta span {
	padding: 6px 9px;
	border-radius: 999px;
	background: var(--ossmag-cream);
}

.ossmag-saved-card__remove {
	margin-top: 20px;
	border: 0;
	border-bottom: 2px solid rgba(216, 75, 42, 0.32);
	background: transparent;
	color: var(--ossmag-tomato);
	font: inherit;
	font-size: 0.9rem;
	font-weight: 900;
	cursor: pointer;
}

.ossmag-section,
.ossmag-categories {
	width: min(1760px, calc(100% - 48px));
	margin: 0 auto 78px;
}

.ossmag-section__head {
	display: flex;
	gap: 24px;
	align-items: end;
	justify-content: space-between;
	margin-bottom: 22px;
	border-top: 1px solid var(--ossmag-line);
	padding-top: 34px;
}

.ossmag-section h2,
.ossmag-categories h2 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2rem, 3vw, 3.5rem);
	line-height: 1;
	letter-spacing: 0;
}

.ossmag-section__link {
	flex: 0 0 auto;
	padding: 12px 18px;
	border: 1px solid var(--ossmag-line);
	border-radius: 999px;
	background: #fff;
	font-weight: 900;
}

.ossmag-category-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.ossmag-category {
	display: grid;
	min-height: 154px;
	align-content: space-between;
	border: 1px solid rgba(39, 33, 47, 0.08);
	border-radius: 8px;
	padding: 20px;
	background:
		linear-gradient(135deg, rgba(220, 231, 207, 0.85), rgba(255, 255, 255, 0.75)),
		var(--ossmag-surface);
	box-shadow: 0 12px 30px rgba(39, 33, 47, 0.06);
}

.ossmag-category span {
	color: var(--ossmag-tomato);
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ossmag-category strong {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.45rem, 2vw, 2.2rem);
	line-height: 1;
}

.ossmag-category em {
	color: var(--ossmag-muted);
	font-style: normal;
	font-weight: 800;
}

.ossmag-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
}

.ossmag-grid .ossmag-card {
	min-height: 100%;
}

.ossmag-rec-item {
	min-width: 0;
	min-height: 100%;
}

.ossmag-rec-item > .ossmag-card {
	min-height: 100%;
}

.ossmag-grid .ossmag-card__media {
	aspect-ratio: 1.26;
	min-height: 0;
}

.ossmag-grid .ossmag-card__body {
	min-height: 230px;
}

.ossmag-ad-slot {
	display: grid;
	min-height: 96px;
	margin-top: 20px;
	place-items: center;
	border: 1px dashed rgba(84, 60, 98, 0.25);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.58);
	color: var(--ossmag-muted);
	font-size: 0.8rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ossmag-section--ad {
	margin-top: 28px;
	margin-bottom: 44px;
}

.ossmag-section--ad .ossmag-ad-slot {
	margin-top: 0;
}

.ossmag-categories,
.ossmag-section,
.ossmag-footer,
.ossmag-recipe-layout,
.ossmag-recipe-rating,
.ossmag-recipe-inline-rec,
.ossmag-recipe-related,
.ossmag-comments {
	content-visibility: auto;
	contain-intrinsic-size: auto 620px;
}

.ossmag-section--ad {
	contain-intrinsic-size: auto 150px;
}

.ossmag-ad-slot--home {
	min-height: 112px;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.72), rgba(220, 231, 207, 0.35)),
		var(--ossmag-cream);
}

.ossmag-recipe-hero,
.ossmag-archive-hero {
	display: grid;
	width: min(1760px, calc(100% - 48px));
	margin: 34px auto 44px;
}

.ossmag-recipe-hero {
	grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.75fr);
	gap: 36px;
	align-items: stretch;
}

.ossmag-recipe-hero__copy,
.ossmag-archive-hero {
	padding: clamp(28px, 5vw, 72px);
	border-radius: 8px;
	background:
		linear-gradient(135deg, rgba(220, 231, 207, 0.72), rgba(255, 250, 243, 0.92)),
		var(--ossmag-cream);
}

.ossmag-recipe-hero h1,
.ossmag-archive-hero h1 {
	margin: 0;
	max-width: 960px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.5rem, 5vw, 5.8rem);
	font-weight: 800;
	line-height: 0.98;
	letter-spacing: 0;
	text-wrap: balance;
}

.ossmag-recipe-hero__excerpt,
.ossmag-archive-hero__description {
	max-width: 760px;
	margin-top: 22px;
	color: var(--ossmag-muted);
	font-size: clamp(1.15rem, 1.4vw, 1.35rem);
	line-height: 1.65;
}

.ossmag-recipe-hero__description p,
.ossmag-archive-hero__description p {
	margin: 0;
}

.ossmag-recipe-hero__byline {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	margin: 22px 0 0;
	color: var(--ossmag-muted);
	font-size: 1rem;
	font-weight: 800;
}

.ossmag-recipe-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 28px;
}

.ossmag-recipe-hero__meta span {
	padding: 11px 14px;
	border-radius: 999px;
	background: #fff;
	color: var(--ossmag-plum);
	font-size: 0.98rem;
	font-weight: 900;
}

.ossmag-recipe-hero__media {
	position: relative;
	min-height: 460px;
	margin: 0;
	overflow: hidden;
	border-radius: 8px;
	background:
		linear-gradient(135deg, rgba(84, 60, 98, 0.9), rgba(216, 75, 42, 0.74)),
		repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.12) 0 10px, transparent 10px 20px);
	box-shadow: var(--ossmag-shadow);
}

.ossmag-recipe-hero__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ossmag-archive-hub {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	width: min(1760px, calc(100% - 48px));
	margin: -18px auto 38px;
}

.ossmag-archive-hub span {
	color: var(--ossmag-muted);
	font-size: 0.9rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ossmag-archive-hub a {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: 10px 16px;
	border: 1px solid rgba(84, 60, 98, 0.16);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.74);
	color: var(--ossmag-plum);
	font-weight: 900;
	text-decoration: none;
}

.ossmag-archive-faq {
	margin-top: 26px;
}

.ossmag-archive-faq__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.ossmag-archive-faq__grid article {
	padding: clamp(20px, 2.2vw, 30px);
	border: 1px solid rgba(84, 60, 98, 0.12);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.72);
	box-shadow: 0 12px 30px rgba(39, 33, 47, 0.06);
}

.ossmag-archive-faq__grid h3 {
	margin: 0 0 10px;
	color: var(--ossmag-plum);
	font-size: clamp(1.1rem, 1.4vw, 1.35rem);
	line-height: 1.18;
}

.ossmag-archive-faq__grid p {
	margin: 0;
	color: var(--ossmag-muted);
	font-size: 1rem;
	line-height: 1.55;
}

.ossmag-recipe-brief,
.ossmag-recipe-nav,
.ossmag-ad-slot--recipe {
	width: min(1280px, calc(100% - 48px));
	margin-right: auto;
	margin-left: auto;
}

.ossmag-recipe-brief {
	display: grid;
	grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr) auto;
	gap: 24px;
	align-items: center;
	margin-bottom: 22px;
	padding: 22px;
	border: 1px solid var(--ossmag-line);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.72);
	box-shadow: 0 14px 34px rgba(39, 33, 47, 0.07);
}

.ossmag-recipe-brief__intro h2 {
	margin: 4px 0 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.45rem, 2vw, 2.15rem);
	line-height: 1.08;
	letter-spacing: 0;
}

.ossmag-recipe-brief__facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
}

.ossmag-recipe-brief__facts div {
	min-width: 0;
	padding: 14px;
	border-radius: 8px;
	background: var(--ossmag-cream);
}

.ossmag-recipe-brief__facts dt {
	margin: 0 0 5px;
	color: var(--ossmag-muted);
	font-size: 0.76rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ossmag-recipe-brief__facts dd {
	margin: 0;
	color: var(--ossmag-ink);
	font-size: 1.05rem;
	font-weight: 900;
	line-height: 1.2;
}

.ossmag-recipe-brief__actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 190px;
}

.ossmag-recipe-nav {
	position: sticky;
	top: 88px;
	z-index: 39;
	display: grid;
	grid-template-columns: repeat(4, max-content);
	gap: 22px;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
	padding: 10px;
	border: 1px solid rgba(84, 60, 98, 0.14);
	border-radius: 999px;
	background: rgba(255, 250, 243, 0.95);
	box-shadow: 0 12px 28px rgba(39, 33, 47, 0.09);
	backdrop-filter: blur(14px);
}

.ossmag-recipe-nav a,
.ossmag-recipe-nav .ossmag-save {
	display: inline-flex;
	box-sizing: border-box;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	padding: 10px 17px;
	border-radius: 999px;
	font-size: 0.98rem;
	font-weight: 900;
	line-height: 1;
	white-space: nowrap;
}

.ossmag-recipe-nav a {
	color: var(--ossmag-plum);
}

.ossmag-recipe-nav a:hover,
.ossmag-recipe-nav a:focus-visible {
	background: #fff;
	outline: none;
}

.ossmag-recipe-nav .ossmag-save {
	margin: 0;
	box-shadow: none;
}

.ossmag-ad-slot--recipe {
	min-height: 180px;
	margin-top: 0;
	margin-bottom: 26px;
	border-style: solid;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.76), rgba(248, 242, 232, 0.88)),
		var(--ossmag-cream);
}

.ossmag-ad-slot--mapped {
	display: block;
	min-height: 0;
	margin: clamp(32px, 5vw, 54px) auto;
	padding: 0;
	overflow: visible;
	border: 0;
	background: transparent;
	text-align: center;
}

.ossmag-ad-slot--mapped:has(ins.adsbygoogle[data-ad-status="unfilled"]) {
	min-height: 140px;
}

.ossmag-section--ad:has(ins.adsbygoogle[data-ad-status="unfilled"]) {
	display: block;
}

.ossmag-ad-slot--mapped > ins,
.ossmag-ad-slot--mapped > iframe,
.ossmag-ad-slot--mapped > div {
	max-width: 100%;
	margin-inline: auto;
}

.ossmag-ad-preview {
	display: grid;
	min-height: 108px;
	place-items: center;
	gap: 6px;
	border-radius: 8px;
	background:
		linear-gradient(135deg, rgba(220, 231, 207, 0.82), rgba(255, 250, 243, 0.94)),
		var(--ossmag-cream);
	color: var(--ossmag-plum);
	font-weight: 900;
}

.ossmag-ad-preview strong {
	font-size: 1rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ossmag-ad-preview span {
	color: var(--ossmag-muted);
	font-size: 0.85rem;
}

.ossmag-ad-slot--recipe-after-wprm-card {
	margin: 26px auto;
}

.ossmag-ad-slot--recipe-after-content {
	margin-top: 36px;
	margin-bottom: 48px;
}

.ossmag-ad-slot--recipe-after-hero {
	margin-top: 18px;
	margin-bottom: 38px;
}

.ossmag-ad-slot--recipe-after-brief {
	margin-top: 28px;
	margin-bottom: 34px;
}

.ossmag-ad-slot--recipe-after-related {
	margin-top: 40px;
	margin-bottom: 50px;
}

.ossmag-ad-slot--recipe-before-comments {
	width: min(960px, calc(100% - 48px));
	margin-right: auto;
	margin-left: auto;
}

.ossmag-recipe-layout {
	display: grid;
	grid-template-columns: minmax(190px, 260px) minmax(0, 960px);
	gap: 34px;
	width: min(1280px, calc(100% - 48px));
	margin: 0 auto 72px;
	align-items: start;
}

.ossmag-recipe-aside {
	position: sticky;
	top: 108px;
	display: grid;
	gap: 12px;
}

.ossmag-recipe-aside .ossmag-ad-slot {
	min-height: 250px;
	margin: 4px 0 0;
	padding: 0;
}

.ossmag-side-link {
	display: inline-flex;
	justify-content: center;
	padding: 14px 16px;
	border: 1px solid var(--ossmag-line);
	border-radius: 999px;
	background: #fff;
	color: var(--ossmag-plum);
	font-size: 1.02rem;
	font-weight: 900;
}

.ossmag-side-link--soft {
	background: var(--ossmag-cream);
	color: var(--ossmag-muted);
}

.ossmag-recipe-content {
	min-width: 0;
	color: var(--ossmag-ink);
	font-size: clamp(1.18rem, 1.2vw, 1.34rem);
	line-height: 1.82;
}

.ossmag-recipe-content > * {
	max-width: 940px;
	margin-left: auto;
	margin-right: auto;
}

.ossmag-recipe-content h2,
.ossmag-recipe-content h3 {
	margin-top: 54px;
	font-family: Georgia, "Times New Roman", serif;
	letter-spacing: 0;
}

.ossmag-recipe-content h2 {
	font-size: clamp(2.1rem, 3vw, 3.4rem);
	line-height: 1.06;
}

.ossmag-recipe-content h3 {
	font-size: clamp(1.65rem, 2.2vw, 2.45rem);
	line-height: 1.14;
}

.ossmag-recipe-content img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
}

.ossmag-recipe-content .wprm-recipe-container,
.ossmag-recipe-content .wprm-recipe {
	max-width: 100% !important;
	border-color: var(--ossmag-line) !important;
	border-radius: 8px !important;
	background: #fff !important;
	font-size: 1.04rem !important;
	line-height: 1.7 !important;
	box-shadow: 0 12px 30px rgba(39, 33, 47, 0.08);
	scroll-margin-top: 148px;
}

.ossmag-recipe-content .wprm-recipe-template-compact p,
.ossmag-recipe-content .wprm-recipe-template-compact li,
.ossmag-recipe-content .wprm-recipe-template-compact .wprm-recipe-ingredient,
.ossmag-recipe-content .wprm-recipe-template-compact .wprm-recipe-instruction-text {
	font-size: 1.04rem !important;
	line-height: 1.72 !important;
}

.ossmag-recipe-content .wprm-recipe-name,
.ossmag-recipe-content .wprm-recipe-header {
	font-family: Georgia, "Times New Roman", serif !important;
	color: var(--ossmag-ink) !important;
}

.ossmag-recipe-content .wprm-recipe-ingredients-container,
.ossmag-recipe-content .wprm-recipe-instructions-container {
	scroll-margin-top: 148px;
}

.ossmag-recipe-content .wprm-recipe-ingredients,
.ossmag-recipe-content .wprm-recipe-instructions {
	padding-left: 1.45em !important;
}

.ossmag-recipe-content .wprm-recipe-ingredient,
.ossmag-recipe-content .wprm-recipe-instruction {
	margin-bottom: 12px !important;
}

.ossmag-recipe-content .wprm-recipe-instruction {
	padding: 12px 0 !important;
	border-bottom: 1px solid rgba(39, 33, 47, 0.08);
}

.ossmag-recipe-content .wprm-recipe-instruction:last-child {
	border-bottom: 0;
}

.ossmag-single .wprm-recipe-template-snippet-button,
.ossmag-single .wprm-recipe-jump-to-recipe,
.ossmag-single .wprm-recipe-print,
.ossmag-single .wprm-recipe-template-snippet-buttons {
	display: none !important;
}

.ossmag-single .wprm-recipe-template-snippet-button a,
.ossmag-single .wprm-recipe-jump-to-recipe a,
.ossmag-single .wprm-recipe-print a,
.ossmag-single .wprm-recipe-template-snippet-buttons a {
	display: none !important;
}

.ossmag-recipe-content .wp-block-uagb-buttons,
.ossmag-recipe-content .uagb-buttons__outer-wrap {
	display: flex !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 0 !important;
	align-items: center !important;
	justify-content: flex-start !important;
	margin: 24px 0 34px !important;
	padding: 0 !important;
	background: transparent !important;
}

.ossmag-recipe-content .uagb-buttons__wrap,
.ossmag-recipe-content .uagb-button__wrapper,
.ossmag-recipe-content .wp-block-uagb-buttons-child {
	display: inline-flex !important;
	width: auto !important;
	max-width: 100% !important;
	min-height: 0 !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

.ossmag-recipe-content a.uagb-buttons-repeater,
.ossmag-recipe-content .wp-block-button__link.uagb-buttons-repeater {
	display: inline-flex !important;
	width: auto !important;
	max-width: min(100%, 560px) !important;
	min-height: 48px !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	padding: 13px 20px !important;
	border: 1px solid rgba(84, 60, 98, 0.22) !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: var(--ossmag-ink) !important;
	box-shadow: 0 10px 22px rgba(39, 33, 47, 0.08) !important;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	font-size: 0.98rem !important;
	font-weight: 900 !important;
	line-height: 1.15 !important;
	text-align: center !important;
	text-decoration: none !important;
	white-space: normal !important;
}

.ossmag-recipe-content a.uagb-buttons-repeater:hover,
.ossmag-recipe-content a.uagb-buttons-repeater:focus-visible {
	border-color: rgba(183, 53, 29, 0.34) !important;
	color: var(--ossmag-tomato) !important;
	outline: none !important;
}

.ossmag-recipe-content .uagb-button__link {
	display: inline !important;
	width: auto !important;
	min-width: 0 !important;
	color: inherit !important;
	font: inherit !important;
	line-height: inherit !important;
}

.ossmag-recipe-content .uagb-button__icon {
	display: inline-grid !important;
	width: 16px !important;
	height: 16px !important;
	flex: 0 0 16px !important;
	place-items: center !important;
	color: currentColor !important;
	line-height: 1 !important;
}

.ossmag-recipe-content .uagb-button__icon svg {
	display: block !important;
	width: 16px !important;
	height: 16px !important;
	fill: currentColor !important;
}

.ossmag-recipe-content .wp-block-uagb-faq,
.ossmag-recipe-content .uagb-faq__outer-wrap {
	display: grid !important;
	gap: 10px !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 18px 0 26px !important;
	padding: 0 !important;
	background: transparent !important;
	box-sizing: border-box !important;
}

.ossmag-recipe-content .wp-block-uagb-faq-child,
.ossmag-recipe-content .uagb-faq-child__outer-wrap,
.ossmag-recipe-content .uagb-faq-item {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	border: 1px solid rgba(84, 60, 98, 0.14) !important;
	border-radius: 8px !important;
	background: rgba(255, 255, 255, 0.78) !important;
	box-shadow: 0 12px 28px rgba(39, 33, 47, 0.06) !important;
	box-sizing: border-box !important;
}

.ossmag-recipe-content .wp-block-uagb-faq *,
.ossmag-recipe-content .uagb-faq__outer-wrap * {
	max-width: 100% !important;
	box-sizing: border-box !important;
	white-space: normal !important;
}

.ossmag-recipe-content .uagb-faq-questions-button,
.ossmag-recipe-content .uagb-faq-questions {
	display: flex !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 0 !important;
	align-items: flex-start !important;
	gap: 10px !important;
	margin: 0 !important;
	padding: 14px 18px 6px !important;
	background: transparent !important;
	color: var(--ossmag-ink) !important;
	cursor: pointer !important;
	overflow: visible !important;
}

.ossmag-recipe-content .uagb-faq-icon-wrap,
.ossmag-recipe-content .uagb-icon.uagb-faq-icon-wrap {
	display: inline-grid !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	min-height: 18px !important;
	max-width: 18px !important;
	max-height: 18px !important;
	flex: 0 0 18px !important;
	place-items: center !important;
	margin: 3px 0 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	color: var(--ossmag-tomato) !important;
	line-height: 1 !important;
}

.ossmag-recipe-content .uagb-icon-active.uagb-faq-icon-wrap {
	display: none !important;
}

.ossmag-recipe-content .uagb-faq-icon-wrap svg,
.ossmag-recipe-content .uagb-faq-icon-wrap svg:not([class]) {
	display: block !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	min-height: 18px !important;
	max-width: 18px !important;
	max-height: 18px !important;
	fill: currentColor !important;
}

.ossmag-recipe-content .uagb-question {
	display: block !important;
	min-width: 0 !important;
	max-width: 100% !important;
	color: var(--ossmag-ink) !important;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	font-size: clamp(1rem, 1.7vw, 1.18rem) !important;
	font-weight: 900 !important;
	line-height: 1.25 !important;
	letter-spacing: 0 !important;
	overflow: visible !important;
	overflow-wrap: break-word !important;
}

.ossmag-recipe-content .uagb-faq-content {
	display: block !important;
	width: auto !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 18px 16px 46px !important;
	color: var(--ossmag-muted) !important;
	font-size: clamp(1rem, 1.6vw, 1.12rem) !important;
	line-height: 1.65 !important;
	overflow: visible !important;
	overflow-wrap: break-word !important;
}

.ossmag-recipe-content .wp-block-uagb-faq-child.is-collapsed .uagb-faq-content,
.ossmag-recipe-content .uagb-faq-child__outer-wrap.is-collapsed .uagb-faq-content,
.ossmag-recipe-content .uagb-faq-item.is-collapsed .uagb-faq-content {
	display: none !important;
}

.ossmag-recipe-content .uagb-faq-content p {
	margin: 0 !important;
	max-width: 100% !important;
	overflow: visible !important;
	overflow-wrap: break-word !important;
}

.ossmag-turnstile {
	margin: 18px 0 6px;
}

.login .ossmag-turnstile {
	margin: 16px 0;
}

.ossmag-recipe-content :where(p, li) > a:not([class]),
.ossmag-recipe-content :where(p, li) a:not([class]),
.ossmag-recipe-content .wp-block-paragraph a:not([class]) {
	color: #8f2f18 !important;
	font-weight: 800;
	text-decoration-line: underline;
	text-decoration-thickness: 0.11em;
	text-underline-offset: 0.18em;
	text-decoration-color: rgba(143, 47, 24, 0.45);
}

.ossmag-recipe-content :where(p, li) > a:not([class]):hover,
.ossmag-recipe-content :where(p, li) > a:not([class]):focus-visible,
.ossmag-recipe-content :where(p, li) a:not([class]):hover,
.ossmag-recipe-content :where(p, li) a:not([class]):focus-visible,
.ossmag-recipe-content .wp-block-paragraph a:not([class]):hover,
.ossmag-recipe-content .wp-block-paragraph a:not([class]):focus-visible {
	color: #6f2110 !important;
	text-decoration-color: currentColor;
}

.ossmag-recipe-content > .rmp-widgets-container,
.ossmag-recipe-content > .rmp-results-widget {
	display: none !important;
}

.ossmag-recipe-rating {
	display: grid;
	grid-template-columns: minmax(240px, 0.72fr) minmax(0, 1fr);
	gap: 28px;
	align-items: center;
	width: min(960px, calc(100% - 48px));
	margin: -6px auto 54px;
	padding: 28px;
	border: 1px solid rgba(84, 60, 98, 0.14);
	border-radius: 8px;
	background:
		linear-gradient(135deg, rgba(220, 231, 207, 0.42), rgba(255, 255, 255, 0.88)),
		var(--ossmag-surface);
	box-shadow: 0 16px 38px rgba(39, 33, 47, 0.08);
}

.ossmag-recipe-rating h2 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.7rem, 2.4vw, 2.6rem);
	line-height: 1.04;
	letter-spacing: 0;
}

.ossmag-recipe-rating p:not(.ossmag-kicker) {
	margin: 10px 0 0;
	color: var(--ossmag-muted);
	font-size: 1rem;
	line-height: 1.55;
}

.ossmag-recipe-rating .rmp-widgets-container.rmp-wp-plugin.rmp-main-container {
	margin: 0;
	padding: 0;
	text-align: left;
}

.ossmag-recipe-rating .rmp-heading {
	color: var(--ossmag-ink);
	font-family: inherit;
}

.ossmag-recipe-rating .rmp-heading--title {
	margin: 0 0 4px;
	font-size: 1.1rem;
	font-weight: 900;
}

.ossmag-recipe-rating .rmp-heading--subtitle,
.ossmag-recipe-rating .rmp-rating-widget__hover-text,
.ossmag-recipe-rating .rmp-rating-widget__results,
.ossmag-recipe-rating .rmp-rating-widget__not-rated,
.ossmag-recipe-rating .rmp-rating-widget__msg {
	color: var(--ossmag-muted);
	font-size: 0.98rem;
}

.ossmag-recipe-rating .rmp-rating-widget__icons-list {
	justify-content: flex-start;
	margin: 10px 0;
	padding: 0;
}

.ossmag-recipe-rating .rmp-rating-widget__submit-btn {
	border: 0;
	border-radius: 999px;
	padding: 12px 18px;
	background: var(--ossmag-plum);
	color: #fff;
	font: inherit;
	font-weight: 900;
	cursor: pointer;
}

.ossmag-recipe-related {
	margin-top: 18px;
	margin-bottom: 80px;
}

.ossmag-recipe-content > .ossmag-recipe-inline-rec {
	width: min(1080px, 100%);
	max-width: 1080px;
	margin-top: 58px;
	margin-bottom: 58px;
	padding: 30px;
	border: 1px solid rgba(84, 60, 98, 0.13);
	border-radius: 8px;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(247, 239, 230, 0.86)),
		var(--ossmag-surface);
	box-shadow: 0 18px 48px rgba(39, 33, 47, 0.08);
}

.ossmag-recipe-inline-rec .ossmag-section__head {
	margin-bottom: 18px;
	border-top: 0;
	padding-top: 0;
}

.ossmag-recipe-inline-rec h2 {
	font-size: clamp(1.8rem, 2.4vw, 2.7rem);
}

.ossmag-recipe-inline-rec .ossmag-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.ossmag-recipe-inline-rec .ossmag-card__media {
	aspect-ratio: 1.55;
}

.ossmag-recipe-inline-rec .ossmag-card__body {
	min-height: 190px;
	padding: 20px;
}

.ossmag-recipe-inline-rec .ossmag-card__title {
	font-size: clamp(1.35rem, 1.8vw, 1.9rem);
}

.ossmag-section__note {
	max-width: 680px;
	margin: 10px 0 0;
	color: var(--ossmag-muted);
	font-size: 1rem;
	line-height: 1.55;
}

.ossmag-pagination {
	width: min(1180px, calc(100% - 48px));
	margin: 12px auto 72px;
}

.ossmag-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
}

.ossmag-pagination a,
.ossmag-pagination span {
	display: inline-flex;
	min-width: 42px;
	min-height: 42px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--ossmag-line);
	border-radius: 999px;
	background: #fff;
	color: var(--ossmag-plum);
	font-weight: 900;
}

.ossmag-pagination .current {
	background: var(--ossmag-plum);
	color: #fff;
}

.ossmag-footer {
	display: grid;
	grid-template-columns: minmax(280px, 0.85fr) 1.4fr;
	gap: 48px;
	width: min(1760px, calc(100% - 48px));
	margin: 0 auto;
	border-top: 1px solid var(--ossmag-line);
	padding: 42px 0 56px;
}

.ossmag-footer__brand strong {
	display: block;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2rem, 3vw, 3.5rem);
	line-height: 1;
}

.ossmag-footer__brand p {
	max-width: 520px;
	color: var(--ossmag-muted);
	font-size: 1rem;
	line-height: 1.6;
}

.ossmag-footer__columns {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

.ossmag-footer h2 {
	margin: 0 0 14px;
	font-size: 0.86rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ossmag-footer a {
	display: block;
	margin: 0 0 10px;
	color: var(--ossmag-muted);
	font-weight: 800;
}

.ossmag-page-hero {
	margin-bottom: 34px;
}

.ossmag-page-hero .ossmag-archive-hero__description {
	max-width: 860px;
}

.ossmag-page-section {
	width: min(1180px, calc(100% - 48px));
	margin: 0 auto 78px;
}

.ossmag-contact-layout {
	display: grid;
	grid-template-columns: minmax(300px, 0.68fr) minmax(0, 1fr);
	gap: clamp(28px, 4vw, 56px);
	align-items: start;
}

.ossmag-contact-intro,
.ossmag-contact-form,
.ossmag-legal-content {
	border: 1px solid rgba(39, 33, 47, 0.09);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.72);
	box-shadow: 0 16px 38px rgba(39, 33, 47, 0.07);
}

.ossmag-contact-intro {
	padding: clamp(26px, 3vw, 38px);
}

.ossmag-contact-intro h2 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2rem, 3vw, 3.2rem);
	line-height: 1.02;
	letter-spacing: 0;
}

.ossmag-contact-intro p:not(.ossmag-kicker) {
	color: var(--ossmag-muted);
	font-size: clamp(1.05rem, 1.2vw, 1.18rem);
	line-height: 1.72;
}

.ossmag-contact-form {
	display: grid;
	gap: 18px;
	padding: 28px;
}

.ossmag-field {
	display: grid;
	gap: 8px;
}

.ossmag-field label,
.ossmag-check {
	color: var(--ossmag-plum);
	font-size: 0.92rem;
	font-weight: 900;
}

.ossmag-field input,
.ossmag-field textarea {
	width: 100%;
	border: 1px solid rgba(84, 60, 98, 0.2);
	border-radius: 8px;
	background: #fff;
	padding: 14px 15px;
	color: var(--ossmag-ink);
	font: inherit;
	font-size: 1rem;
	outline: none;
}

.ossmag-field textarea {
	resize: vertical;
}

.ossmag-field input:focus,
.ossmag-field textarea:focus {
	border-color: rgba(216, 75, 42, 0.55);
	box-shadow: 0 0 0 4px rgba(216, 75, 42, 0.1);
}

.ossmag-check {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	color: var(--ossmag-muted);
	line-height: 1.5;
}

.ossmag-check input {
	margin-top: 4px;
}

.ossmag-check a,
.ossmag-legal-content a {
	color: var(--ossmag-tomato);
	font-weight: 900;
}

.ossmag-submit {
	justify-self: start;
	border: 0;
	border-radius: 999px;
	background: var(--ossmag-plum);
	color: #fff;
	padding: 14px 22px;
	font: inherit;
	font-weight: 900;
	cursor: pointer;
	box-shadow: 0 12px 28px rgba(84, 60, 98, 0.18);
}

.ossmag-form-notice {
	border-radius: 8px;
	padding: 14px 16px;
	background: var(--ossmag-cream);
	color: var(--ossmag-plum);
	font-weight: 900;
}

.ossmag-form-notice--sent {
	background: rgba(220, 231, 207, 0.85);
}

.ossmag-form-notice--error,
.ossmag-form-notice--invalid,
.ossmag-form-notice--missing {
	background: rgba(216, 75, 42, 0.12);
	color: var(--ossmag-tomato);
}

.ossmag-captcha label {
	color: var(--ossmag-plum);
}

.ossmag-hp-field {
	position: absolute;
	left: -100vw;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.ossmag-legal-content {
	padding: clamp(24px, 4vw, 52px);
	color: var(--ossmag-ink);
	font-size: clamp(1.04rem, 1.16vw, 1.18rem);
	line-height: 1.75;
}

.ossmag-legal-content > * {
	max-width: 900px;
}

.ossmag-legal-content h2 {
	margin: 44px 0 10px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.8rem, 2.4vw, 2.8rem);
	line-height: 1.08;
	letter-spacing: 0;
}

.ossmag-legal-content table {
	width: 100%;
	max-width: 100%;
	margin: 22px 0;
	border-collapse: collapse;
	overflow-wrap: anywhere;
}

.ossmag-legal-content th,
.ossmag-legal-content td {
	border: 1px solid rgba(39, 33, 47, 0.12);
	padding: 13px;
	text-align: left;
	vertical-align: top;
}

.ossmag-legal-content th {
	background: var(--ossmag-cream);
	color: var(--ossmag-plum);
	font-size: 0.86rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ossmag-legal-content code {
	border-radius: 6px;
	background: var(--ossmag-cream);
	padding: 2px 6px;
	font-size: 0.92em;
}

.ossmag-cookie-banner {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 120;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 18px;
	width: min(760px, calc(100% - 44px));
	align-items: end;
	border: 1px solid rgba(84, 60, 98, 0.18);
	border-radius: 8px;
	background: rgba(255, 250, 243, 0.97);
	padding: 18px;
	box-shadow: 0 24px 70px rgba(39, 33, 47, 0.22);
	backdrop-filter: blur(14px);
}

.ossmag-cookie-banner[hidden] {
	display: none !important;
}

.ossmag-cookie-banner__copy strong {
	display: block;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.35rem;
	line-height: 1.05;
}

.ossmag-cookie-banner__copy p:last-child {
	margin: 8px 0 0;
	color: var(--ossmag-muted);
	font-size: 0.95rem;
	line-height: 1.45;
}

.ossmag-cookie-banner__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
}

.ossmag-cookie-banner__actions a,
.ossmag-cookie-banner__actions button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(84, 60, 98, 0.2);
	border-radius: 999px;
	background: #fff;
	color: var(--ossmag-plum);
	padding: 11px 14px;
	font: inherit;
	font-size: 0.94rem;
	font-weight: 900;
	cursor: pointer;
}

.ossmag-cookie-banner__actions button:last-child {
	border-color: var(--ossmag-plum);
	background: var(--ossmag-plum);
	color: #fff;
}

.ossmag-ad-anchor {
	position: fixed;
	right: 16px;
	bottom: 16px;
	left: 16px;
	z-index: 115;
	display: none;
	min-height: 92px;
	border: 1px solid rgba(84, 60, 98, 0.18);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.98);
	box-shadow: 0 18px 48px rgba(39, 33, 47, 0.18);
}

.ossmag-ad-anchor.is-hidden,
.ossmag-ad-overlay[hidden] {
	display: none !important;
}

.ossmag-ad-anchor .ossmag-ad-slot {
	min-height: 90px;
	margin: 0;
	border: 0;
	background: transparent;
}

.ossmag-ad-anchor__close,
.ossmag-ad-overlay__close {
	position: absolute;
	z-index: 2;
	display: inline-grid;
	width: 34px;
	height: 34px;
	place-items: center;
	border: 1px solid rgba(84, 60, 98, 0.22);
	border-radius: 999px;
	background: #fff;
	color: var(--ossmag-plum);
	font: inherit;
	font-size: 1.2rem;
	font-weight: 900;
	cursor: pointer;
}

.ossmag-ad-anchor__close {
	top: -14px;
	right: 8px;
}

.ossmag-ad-overlay {
	position: fixed;
	inset: 0;
	z-index: 130;
	display: grid;
	place-items: center;
	padding: 18px;
	background: rgba(39, 33, 47, 0.46);
}

.ossmag-ad-overlay__panel {
	position: relative;
	width: min(680px, 100%);
	min-height: 340px;
	border-radius: 8px;
	background: #fff;
	padding: 24px;
	box-shadow: 0 28px 90px rgba(39, 33, 47, 0.26);
}

.ossmag-ad-overlay__close {
	top: 12px;
	right: 12px;
}

.ossmag-ad-overlay .ossmag-ad-slot {
	min-height: 300px;
	margin: 30px 0 0;
	border: 0;
	background: transparent;
}

.ossmag-comments {
	width: min(960px, calc(100% - 48px));
	margin: 0 auto 76px;
	border: 1px solid rgba(84, 60, 98, 0.12);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.74);
	padding: clamp(20px, 3vw, 34px);
	box-shadow: 0 16px 42px rgba(39, 33, 47, 0.07);
}

.ossmag-comments__head {
	max-width: 760px;
	margin-bottom: 16px;
}

.ossmag-comments__head h2,
.ossmag-comments .comment-reply-title {
	margin: 0 0 10px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.8rem, 2.4vw, 2.6rem);
	line-height: 1.06;
	letter-spacing: 0;
}

.ossmag-comments__head p:not(.ossmag-kicker),
.ossmag-comments .comment-notes,
.ossmag-comments__closed {
	color: var(--ossmag-muted);
	font-size: 1.04rem;
	line-height: 1.65;
}

.ossmag-comment-list {
	display: grid;
	gap: 12px;
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}

.ossmag-comment-list .comment-body {
	border: 1px solid rgba(39, 33, 47, 0.09);
	border-radius: 8px;
	background: var(--ossmag-cream);
	padding: 18px;
}

.ossmag-comment-list .comment-author {
	display: flex;
	gap: 10px;
	align-items: center;
	color: var(--ossmag-ink);
	font-weight: 900;
}

.ossmag-comment-list .avatar {
	border-radius: 50%;
}

.ossmag-comment-list .comment-meta,
.ossmag-comment-list .reply {
	margin-top: 8px;
	font-size: 0.9rem;
	font-weight: 800;
}

.ossmag-comment-list a,
.ossmag-comments .logged-in-as a {
	color: var(--ossmag-tomato);
	font-weight: 900;
}

.ossmag-comments .comment-form {
	display: grid;
	gap: 12px;
	max-width: 820px;
}

.ossmag-comments .comment-form p {
	display: grid;
	gap: 8px;
	margin: 0;
}

.ossmag-comments label {
	color: var(--ossmag-plum);
	font-size: 0.92rem;
	font-weight: 900;
}

.ossmag-comments input[type="text"],
.ossmag-comments input[type="email"],
.ossmag-comments input[type="url"],
.ossmag-comments input[type="number"],
.ossmag-comments textarea {
	width: 100%;
	border: 1px solid rgba(84, 60, 98, 0.2);
	border-radius: 8px;
	background: #fff;
	padding: 14px 15px;
	color: var(--ossmag-ink);
	font: inherit;
	font-size: 1rem;
	outline: none;
}

.ossmag-comments textarea {
	min-height: 190px;
}

.ossmag-comments input:focus,
.ossmag-comments textarea:focus {
	border-color: rgba(216, 75, 42, 0.55);
	box-shadow: 0 0 0 4px rgba(216, 75, 42, 0.1);
}

.ossmag-comments .form-submit {
	margin-top: 4px;
}

.ossmag-comments .comment-form-cookies-consent {
	display: none !important;
}

@media (max-width: 1180px) {
	.ossmag-header__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 12px;
		padding: 14px 0;
	}

	.ossmag-brand {
		grid-column: 1;
		grid-row: 1;
		width: min(200px, 48vw);
	}

	.ossmag-saved-trigger {
		grid-column: 2;
		grid-row: 1;
	}

	.ossmag-search {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.ossmag-nav {
		grid-column: 1 / -1;
		grid-row: 3;
		justify-content: start;
		padding-bottom: 2px;
	}

	.ossmag-card--hero {
		grid-template-columns: 1fr;
	}

	.ossmag-recipe-hero,
	.ossmag-recipe-layout {
		grid-template-columns: 1fr;
	}

	.ossmag-recipe-brief {
		grid-template-columns: 1fr;
	}

	.ossmag-recipe-rating,
	.ossmag-contact-layout,
	.ossmag-cookie-banner {
		grid-template-columns: 1fr;
	}

	.ossmag-recipe-brief__actions {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.ossmag-recipe-aside {
		position: static;
		display: flex;
		flex-wrap: wrap;
	}

	.ossmag-recipe-aside .ossmag-ad-slot {
		display: none;
	}

	.ossmag-card--hero .ossmag-card__media {
		min-height: 480px;
	}

	.ossmag-grid,
	.ossmag-category-grid,
	.ossmag-saved__grid,
	.ossmag-archive-faq__grid,
	.ossmag-footer,
	.ossmag-footer__columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ossmag-saved-card {
		grid-template-columns: 1fr;
	}

	.ossmag-saved__grid--drawer .ossmag-saved-card {
		grid-template-columns: 136px minmax(0, 1fr);
	}

	.ossmag-saved-card__media {
		aspect-ratio: 1.45;
		min-height: 0;
	}
}

@media (max-width: 720px) {
	body.ossmag-single {
		padding-bottom: 108px;
	}

	.ossmag-header__inner,
	.ossmag-hero,
	.ossmag-breadcrumb,
	.ossmag-section,
	.ossmag-categories,
	.ossmag-footer,
	.ossmag-recipe-hero,
	.ossmag-recipe-brief,
	.ossmag-recipe-nav,
	.ossmag-ad-slot--recipe,
	.ossmag-recipe-layout,
	.ossmag-archive-hero,
	.ossmag-archive-hub,
	.ossmag-pagination,
	.ossmag-page-section,
	.ossmag-recipe-rating,
		.ossmag-comments {
		width: min(100% - 28px, 1760px);
	}

	.ossmag-ad-anchor {
		display: block;
	}

	.ossmag-brand {
		width: min(172px, 50vw);
	}

	.ossmag-saved-trigger {
		padding: 12px;
	}

	.ossmag-saved-trigger__label {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(1px, 1px, 1px, 1px);
		clip-path: inset(50%);
		white-space: nowrap;
	}

	.ossmag-search {
		grid-template-columns: 1fr 44px;
	}

	.ossmag-hero {
		margin-top: 22px;
		margin-bottom: 34px;
	}

	.ossmag-hero h1 {
		font-size: clamp(2.35rem, 13vw, 3.6rem);
	}

	.ossmag-recipe-hero {
		gap: 16px;
		margin-top: 22px;
	}

	.ossmag-recipe-hero__copy,
	.ossmag-archive-hero {
		padding: 24px;
	}

	.ossmag-recipe-hero h1,
	.ossmag-archive-hero h1 {
		font-size: clamp(2.25rem, 11vw, 3.35rem);
	}

	.ossmag-recipe-hero__media {
		min-height: 300px;
	}

	.ossmag-recipe-brief {
		gap: 18px;
		margin-bottom: 18px;
		padding: 18px;
	}

	.ossmag-archive-faq__grid {
		grid-template-columns: 1fr;
	}

	.ossmag-recipe-brief__facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ossmag-recipe-brief__actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.ossmag-recipe-nav {
		position: fixed;
		top: auto;
		right: 10px;
		bottom: 10px;
		left: 10px;
		display: grid;
		grid-template-columns: 1fr 1fr auto 1fr;
		gap: 5px;
		width: auto;
		margin: 0;
		padding: 8px;
		overflow: hidden;
		border-radius: 999px;
	}

	.ossmag-recipe-nav a,
	.ossmag-recipe-nav .ossmag-save {
		min-height: 42px;
		justify-content: center;
		padding: 9px 8px;
		font-size: 0.78rem;
	}

	.ossmag-recipe-nav .ossmag-save {
		gap: 6px;
		min-width: 86px;
		padding-inline: 10px;
	}

	.ossmag-recipe-nav .ossmag-save__icon {
		width: 18px;
		height: 18px;
		flex-basis: 18px;
	}

	.ossmag-ad-slot--recipe {
		min-height: 132px;
		margin-bottom: 22px;
	}

	.ossmag-recipe-layout {
		gap: 20px;
		margin-bottom: 52px;
	}

	.ossmag-carousel__track {
		grid-auto-columns: minmax(286px, 88vw);
		gap: 14px;
	}

	.ossmag-carousel__controls {
		inset: 46% 8px auto 8px;
	}

	.ossmag-carousel__controls button {
		width: 50px;
		height: 50px;
		font-size: 2.15rem;
	}

	.ossmag-card--hero .ossmag-card__media {
		min-height: 430px;
	}

	.ossmag-card--hero .ossmag-card__body {
		width: 100%;
		padding: 24px;
		background: linear-gradient(0deg, rgba(39, 33, 47, 0.92), rgba(39, 33, 47, 0.48) 74%, transparent);
	}

	.ossmag-card--hero .ossmag-card__title {
		font-size: clamp(1.85rem, 9vw, 3rem);
	}

	.ossmag-card__body {
		padding: 18px 18px 24px;
	}

	.ossmag-section__head {
		align-items: start;
		flex-direction: column;
	}

	.ossmag-recipe-content > .ossmag-recipe-inline-rec {
		margin-top: 38px;
		margin-bottom: 44px;
		padding: 18px;
	}

	.ossmag-recipe-inline-rec .ossmag-grid {
		grid-template-columns: 1fr;
	}

	.ossmag-grid,
	.ossmag-category-grid,
	.ossmag-saved__grid,
	.ossmag-footer,
	.ossmag-footer__columns {
		grid-template-columns: 1fr;
	}

	.ossmag-grid {
		gap: 16px;
	}

	.ossmag-saved-drawer {
		width: min(100% - 14px, 520px);
		padding: 18px;
	}

	.ossmag-saved__grid--drawer .ossmag-saved-card {
		grid-template-columns: 1fr;
	}

	.ossmag-contact-form,
	.ossmag-contact-intro,
	.ossmag-legal-content {
		padding: 20px;
	}

	.ossmag-legal-content {
		overflow-x: auto;
	}

	.ossmag-cookie-banner {
		right: 12px;
		bottom: 12px;
		width: calc(100% - 24px);
	}

	.ossmag-cookie-banner__actions {
		justify-content: stretch;
	}

	.ossmag-cookie-banner__actions a,
	.ossmag-cookie-banner__actions button {
		flex: 1 1 120px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ossmag-carousel__track {
		scroll-behavior: auto;
	}
}
