/*
 * cre8taste – Custom Design Overrides
 * Claude-inspired card layout: clean white cards, subtle shadows,
 * pill buttons, modern typography.
 */

/* =============================================
   1. Seiten-Karten-Layout
   ============================================= */

/* Seiten-Hintergrund: damit weiße Cards sichtbar werden */
.rcps-wrap-background {
	background: #f2f0ec;
}

.ct-page-layout {
	display: flex;
	flex-direction: column;
	gap: 1.125rem;
	padding: 1.75rem 2% 4rem;
	width: 100%;
}

/* Basis-Card */
.ct-card {
	background: #fff;
	border-radius: 20px;
	border: 1px solid rgba(0, 0, 0, 0.07);
	box-shadow:
		0 2px 8px rgba(0, 0, 0, 0.07),
		0 8px 30px rgba(0, 0, 0, 0.09);
	overflow: hidden;
	width: 96%;
	max-width: 1440px;
	margin: 0 auto;
}

/* rcps-inner innerhalb von Cards: kein extra max-width / Margin */
.ct-card .rcps-inner {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
}

/* =============================================
   2. Breitere Seite (Fallback für nicht-archive Seiten)
   ============================================= */

@media screen and (min-width: 1180px) {
	.rcps-wrap {
		width: 95%;
		max-width: 1440px;
	}
	.rcps-inner {
		width: calc(100% - 60px);
		max-width: 1380px;
	}
}

/* =============================================
   3. Größere Bilder – 4 Karten pro Reihe
   ============================================= */

@media screen and (min-width: 880px) {
	.rcps-item-wrap-recipe {
		width: 25%;
	}
}

@media screen and (min-width: 1180px) {
	.rcps-item-wrap-recipe {
		width: 25%;
	}
}

/* =============================================
   4. Modernes Rezept-Karten-Design
   ============================================= */

.rcps-item-wrap-recipe .rcps-item {
	padding: 0;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
	transition: transform 0.25s ease;
}

.rcps-item-wrap-recipe .rcps-item:hover,
.rcps-item-wrap-recipe .rcps-item:active {
	box-shadow: none;
	transform: translateY(-4px);
}

.rcps-item-wrap-recipe .rcps-item-featured-img {
	margin: 0;
	border-radius: 14px;
	overflow: hidden;
	background: #f0ede8;
}

.rcps-item-wrap-recipe .rcps-item-featured-img img {
	border-radius: 14px;
	aspect-ratio: 4 / 3;
	width: 100%;
	height: auto;
	object-fit: cover;
	display: block;
	transition: transform 0.35s ease;
}

.rcps-item-wrap-recipe .rcps-item:hover .rcps-item-featured-img img {
	transform: scale(1.05);
}

.rcps-item-wrap-recipe {
	padding: 0 0.625rem;
	margin-bottom: 2rem;
}

.rcps-item-wrap-recipe .rcps-item-title {
	font-size: 1rem;
	line-height: 1.4;
	margin: 0.75rem 0 0.25rem 0;
	padding: 0;
}

.rcps-item-wrap-recipe .rcps-item-title a {
	color: #1a1a1a;
}

.rcps-item-wrap-recipe .rcps-item-title a:hover {
	color: #3f5f4b;
}

.rcps-item-wrap-recipe .rcps-meta-item {
	padding: 0;
	font-size: 0.8rem;
	color: #777;
}

.rcps-item-wrap-recipe .rcps-item-author {
	display: none;
}

.rcps-item-wrap-recipe .rcps-item-tax {
	padding: 0;
	font-size: 0.75rem;
	margin-bottom: 0.25rem;
}

.rcps-item-calories-badge {
	border-radius: 6px;
	font-size: 0.7rem;
	padding: 0.2rem 0.45rem;
	backdrop-filter: blur(4px);
	background: rgba(0, 0, 0, 0.55);
}

/* Make it vegan / Vegan-Badge auf der Rezeptkarte (über den Kalorien) */
.rcps-item-vegan-badge {
	position: absolute;
	left: 0.5rem;
	bottom: 2.5rem;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0.2rem 0.6rem;
	background: rgba(63, 95, 75, 0.88);
	backdrop-filter: blur(4px);
	border-radius: 6px;
	color: #fff;
	font-size: 0.7rem;
	font-weight: 600;
	line-height: 1.4;
}

/* Rezept ist von vornherein vegan (helleres Badge, ohne „Make it“) */
.rcps-item-vegan-badge--pure {
	background: rgba(255, 255, 255, 0.95);
	color: #2d4a38;
	border: 1.5px solid #3f5f4b;
	font-weight: 700;
	letter-spacing: 0.02em;
}

/* Nur Vegan-/Make-it-Badge, keine Kalorien darunter */
.rcps-item-vegan-badge--solo {
	bottom: 0.5rem;
}

/* =============================================
   5. Card: Suche + Filter
   ============================================= */

/* Suchleisten-Bereich */
.ct-search-hero {
	padding: 2rem 2rem 1.25rem;
	background: transparent;
	width: 100%;
}

/* Die Pill-Suchleiste */
.ct-search-hero__bar {
	display: flex;
	align-items: center;
	width: 56%;
	max-width: 700px;
	min-width: 280px;
	margin: 0 auto;
	background: #f7f7f5;
	border: 1.5px solid #e8e8e8;
	border-radius: 9999px;
	padding: 0 0.5rem 0 1.5rem;
	height: 3.25rem;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.ct-search-hero__bar:focus-within {
	border-color: #3f5f4b;
	background: #fff;
	box-shadow: 0 0 0 3px rgba(63, 95, 75, 0.1);
}

.ct-search-hero__input {
	flex: 1;
	border: none !important;
	outline: none !important;
	background: transparent !important;
	font-size: 1rem !important;
	color: #1a1a1a !important;
	padding: 0 !important;
	line-height: 1 !important;
	width: 100% !important;
	box-shadow: none !important;
}

.ct-search-hero__input::placeholder {
	color: #aaa;
	font-size: 1rem;
}

.ct-search-hero__submit {
	background: transparent;
	border: none;
	padding: 0.4rem 0.5rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #888;
	flex-shrink: 0;
	transition: color 0.15s ease;
}

.ct-search-hero__submit:hover {
	color: #1a1a1a;
}

/* Filter-Leiste: kein Sticky, kein Hintergrund (in Card) */
.rcps-section-filters {
	position: static;
	background: transparent;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	border-top: 1px solid rgba(0, 0, 0, 0.06);
	border-bottom: none;
	box-shadow: none;
	padding: 1.25rem 2rem 1.75rem;
}

/* Filter-Zeile: ZENTRIERT */
.rcps-filters {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	justify-content: center !important;
}

.rcps-filters-cell {
	width: auto;
	margin-bottom: 0;
}

/* Keyword-Eingabe (falls im Filter) */
.rcps-filters-keywords {
	display: flex;
	align-items: center;
	border-radius: 9999px;
	border: 1.5px solid #e2e2e2;
	background: #f9f9f9;
	padding: 0 0.25rem 0 0.75rem;
	height: 2.25rem;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.rcps-filters-keywords:focus-within {
	border-color: #1a1a1a;
	background: #fff;
	box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.06);
}

input[type="text"].rcps-filters-s {
	background: transparent;
	border: none;
	outline: none;
	font-size: 0.875rem;
	color: #1a1a1a;
	padding: 0;
	width: 140px;
	line-height: 1 !important;
}

input[type="text"].rcps-filters-s::placeholder {
	color: #aaa;
}

.rcps-filters-searchsubmit {
	background: transparent;
	border: none;
	padding: 0 0.4rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	color: #888;
	float: none;
	width: auto;
	margin: 0;
	transition: color 0.15s ease;
}

.rcps-filters-searchsubmit:hover {
	color: #1a1a1a;
}

/* Filter Dropdown-Buttons: Pill-Form */
button.rcps-btn-dropdown.rcps-btn-wide {
	display: inline-flex;
	width: auto;
	align-items: center;
}

.rcps-filters-cell button.rcps-btn {
	border-radius: 9999px;
	border: 1.5px solid #e2e2e2;
	background: #f4f4f4;
	color: #2a2a2a;
	font-size: 0.875rem;
	font-weight: 500;
	padding: 0.4rem 1rem 0.4rem 0.875rem;
	height: 2.25rem;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
	cursor: pointer;
}

.rcps-filters-cell button.rcps-btn:hover {
	background: #ebebeb;
	border-color: #c8c8c8;
}

.rcps-filters-cell button.rcps-btn.rcps-btn-on,
.rcps-filters-cell button.rcps-btn-has-dropdown.rcps-btn-on {
	background: #1a1a1a;
	color: #fff;
	border-color: #1a1a1a;
}

.rcps-filters-cell button.rcps-btn-dropdown::after {
	right: 0.65rem;
	border-top-color: #555;
}

.rcps-filters-cell button.rcps-btn.rcps-btn-on::after {
	border-top-color: #fff;
}

.rcps-filters-cell .rcps-dropdown-content {
	border-radius: 14px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
	background: #fff;
	padding: 0.375rem 0;
	margin-top: 0.5rem;
	min-width: 200px;
	overflow: hidden;
}

.rcps-filters-cell .rcps-dropdown-input-wrap {
	border-bottom: none;
	padding: 0 0.25rem;
}

.rcps-filters-cell .rcps-dropdown-input-wrap input[type="checkbox"] + label,
.rcps-filters-cell .rcps-dropdown-input-wrap input[type="radio"] + label {
	border-radius: 8px;
	padding: 0.45rem 0.75rem;
	font-size: 0.875rem;
	color: #2a2a2a;
	transition: background 0.1s ease;
}

.rcps-filters-cell .rcps-dropdown-input-wrap input[type="checkbox"]:checked + label,
.rcps-filters-cell .rcps-dropdown-input-wrap input[type="radio"]:checked + label {
	background: #f0f0f0;
	font-weight: 600;
}

.rcps-filters-cell .rcps-dropdown-input-wrap:hover label {
	background: #f6f6f6;
}

/* Sort-Leiste innerhalb der Such-Card */
.rcps-section-sort {
	border-top: 1px solid rgba(0, 0, 0, 0.06);
	border-bottom: none;
	padding: 0.75rem 2rem;
	background: transparent;
}

.rcps-section-sort .rcps-inner {
	padding: 0;
}

.rcps-section-sort button.rcps-btn {
	border-radius: 9999px;
	border: 1.5px solid #e2e2e2;
	background: #f4f4f4;
	font-size: 0.875rem;
	font-weight: 500;
	padding: 0.35rem 0.875rem 0.35rem 0.75rem;
	height: 2rem;
}

.rcps-section-sort .rcps-dropdown-content {
	border-radius: 14px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
	background: #fff;
	padding: 0.375rem 0;
	overflow: hidden;
}

/* =============================================
   6. Card: Top Rezepte Hero-Grid
   ============================================= */

/* Widget-Wrapper reset */
.ct-card--hero .widget-top-recipes {
	margin: 0;
	padding: 0;
}

/* Abschnitts-Titel */
.ct-top-recipes__title {
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	margin: 0;
	color: #1a1a1a;
	padding: 1.75rem 1.75rem 1rem;
}

/* Dynamisches Grid – passt sich der Anzahl der eingetragenen Rezepte an (1–6) */
.ct-top-recipes__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
	padding: 0 1.25rem 1.25rem;
	margin-bottom: 0;
}
.ct-top-recipes__grid--count-1 { grid-template-columns: repeat(1, 1fr) !important; }
.ct-top-recipes__grid--count-2 { grid-template-columns: repeat(2, 1fr) !important; }
.ct-top-recipes__grid--count-3 { grid-template-columns: repeat(3, 1fr) !important; }
.ct-top-recipes__grid--count-4 { grid-template-columns: repeat(4, 1fr) !important; }
.ct-top-recipes__grid--count-5 { grid-template-columns: repeat(5, 1fr) !important; }
.ct-top-recipes__grid--count-6 { grid-template-columns: repeat(6, 1fr) !important; }

.ct-top-recipes__link {
	display: block;
	text-decoration: none;
	color: inherit;
}

/*
 * Bild: Portrait 3:4
 * Etwas kleiner als zuvor (war 2:3), aber immer noch höher als die 4:3 regulären Karten.
 */
.ct-top-recipes__image {
	position: relative;
	border-radius: 14px;
	overflow: hidden;
	aspect-ratio: 3 / 4;
	background: #f0ede8;
}

.ct-top-recipes__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.35s ease;
}

.ct-top-recipes__card:hover .ct-top-recipes__image img {
	transform: scale(1.05);
}

/* Vegan / Make it vegan über den Kalorien (Top-Rezepte-Widget) */
.ct-top-recipes__vegan-badge {
	position: absolute;
	left: 0.6rem;
	bottom: 2.5rem;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	padding: 0.2rem 0.55rem;
	background: rgba(63, 95, 75, 0.88);
	backdrop-filter: blur(4px);
	border-radius: 6px;
	color: #fff;
	font-size: 0.7rem;
	font-weight: 600;
	line-height: 1.35;
}

.ct-top-recipes__vegan-badge--pure {
	background: rgba(255, 255, 255, 0.95);
	color: #2d4a38;
	border: 1.5px solid #3f5f4b;
	font-weight: 700;
}

.ct-top-recipes__vegan-badge--solo {
	bottom: 0.6rem;
}

/* Kalorien-Badge */
.ct-top-recipes__calories {
	position: absolute;
	bottom: 0.6rem;
	left: 0.6rem;
	display: flex;
	align-items: center;
	gap: 0.25rem;
	background: rgba(0, 0, 0, 0.55);
	color: #fff;
	border-radius: 6px;
	font-size: 0.7rem;
	font-weight: 600;
	padding: 0.2rem 0.45rem;
	backdrop-filter: blur(4px);
}

/* Text */
.ct-top-recipes__content {
	padding: 0.75rem 0.25rem 0.25rem;
}

.ct-top-recipes__name {
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.35;
	color: #1a1a1a;
	margin: 0 0 0.5rem 0;
	transition: color 0.15s ease;
}

.ct-top-recipes__card:hover .ct-top-recipes__name {
	color: #3f5f4b;
}

/* Pill-Tags */
.ct-top-recipes__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem;
	align-items: center;
}

.ct-top-recipes__tag {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	background: #f0f0f0;
	color: #555;
	border-radius: 9999px;
	font-size: 0.7rem;
	font-weight: 500;
	padding: 0.2rem 0.6rem;
	white-space: nowrap;
}

.ct-top-recipes__tag--time {
	background: #f5f2ed;
	color: #666;
}

/* =============================================
   7. Card: Neueste Rezepte Grid
   ============================================= */

.ct-card--grid .rcps-section-content {
	padding: 0;
}

.ct-card--grid .rcps-inner {
	padding: 1.75rem;
}

/* Abschnitts-Titel ("Neueste Rezepte" o. ä.) */
.rcps-title-section {
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: #1a1a1a;
}

/* =============================================
   8. Responsive
   ============================================= */

@media screen and (max-width: 767px) {
	.ct-page-layout {
		padding: 1rem 0 3rem;
		gap: 0.875rem;
	}

	.ct-card {
		width: 94%;
		border-radius: 16px;
	}

	.ct-search-hero__bar {
		width: 90%;
	}

	.ct-search-hero {
		padding: 1.5rem 1.25rem 1rem;
	}

	.rcps-section-filters {
		padding: 1rem 1.25rem 1.25rem;
	}

	.rcps-section-sort {
		padding: 0.75rem 1.25rem;
	}

	.ct-card--grid .rcps-inner {
		padding: 1.25rem;
	}

	.ct-top-recipes__grid {
		grid-template-columns: 1fr !important;
		padding: 0 1rem 1rem;
	}

	.rcps-item-wrap-recipe {
		width: 50%;
	}
}

@media screen and (min-width: 480px) and (max-width: 767px) {
	.ct-top-recipes__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
	.ct-top-recipes__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

/* =============================================
   9. Footer Navigation
   ============================================= */

.rcps-footer {
	padding: 2rem 1.5rem 1.5rem;
}

.rcps-nav-footer {
	margin-bottom: 1.25rem;
}

.rcps-nav-footer-ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.5rem;
	justify-content: center;
}

.rcps-nav-footer-ul li a {
	font-size: 0.9rem;
	color: rgba(255,255,255,0.75);
	text-decoration: none;
	transition: color 0.2s ease;
}

.rcps-nav-footer-ul li a:hover {
	color: #fff;
}

/* =============================================
   10. Single Recipe – Hero-Bild zentrieren
   ============================================= */

.single-recipe .wp-block-image.alignfull,
.single-recipe figure.alignfull {
	margin: 0 0 2rem;
	max-width: 100%;
	width: 100%;
}

.single-recipe .wp-block-image.alignfull img,
.single-recipe figure.alignfull img {
	width: 100%;
	height: auto;
	max-height: 65vh;
	object-fit: cover;
	object-position: center;
	display: block;
	margin: 0 auto;
}

/* =============================================
   11. Single Recipe – YouTube Video full-width
   ============================================= */

.single-recipe .rcps-instructions .wp-block-embed,
.single-recipe .rcps-instructions .wp-block-embed-youtube {
	max-width: 100%;
	margin: 2rem 0;
}

.single-recipe .rcps-instructions .wp-block-embed__wrapper {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}

.single-recipe .rcps-instructions .wp-block-embed__wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* =============================================
   12. Modern Recipe Layout – cookieandkate-Style
       Main (links) + Sidebar (rechts, persistent)
   ============================================= */

.rcps-recipe-modern {
	background: #f5f2ed;
}

.rcps-recipe-modern__breadcrumb {
	padding: 1.25rem 2rem 0;
}

.rcps-recipe-modern__breadcrumb a {
	font-size: 0.875rem;
	color: #3f5f4b;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ---- Haupt-Layout: 2 Spalten (Main + Sidebar) ---- */
.rcps-recipe-modern__layout {
	display: grid !important;
	grid-template-columns: 1fr 340px;
	gap: 0 3rem;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 2rem 3rem;
	align-items: start;
}

/* ---- MAIN: linke Spalte ---- */
.rcps-recipe-modern__main {
	min-width: 0;
}

/* Meta-Block: Titel, Tags, Beschreibung, Autor */
.rcps-recipe-modern__meta {
	padding: 2rem 0 1.25rem;
}

/* Titel */
.rcps-recipe-modern__title {
	font-family: Georgia, 'Times New Roman', Times, serif;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 400;
	line-height: 1.15;
	margin: 0 0 1rem;
	color: #1a1a1a;
	letter-spacing: -0.01em;
}

/* Tags / Badges */
.rcps-recipe-modern__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-bottom: 1rem;
}

.rcps-recipe-modern__tag {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	background: #e8e4dd;
	color: #444;
	border-radius: 9999px;
	font-size: 0.8rem;
	font-weight: 500;
	padding: 0.3rem 0.8rem;
	white-space: nowrap;
	text-decoration: none;
	transition: background 0.15s ease;
}

.rcps-recipe-modern__tag:hover {
	background: #d8d3cb;
	color: #333;
}

.rcps-recipe-modern__tag--time {
	background: #dfeae2;
	color: #3f5f4b;
}

.rcps-recipe-modern__tag--video {
	background: #e8372c;
	color: #fff;
	padding: 0.3rem 0.7rem;
}

/* Kurzbeschreibung */
.rcps-recipe-modern__desc {
	font-size: 1rem;
	line-height: 1.7;
	color: #444;
	margin-bottom: 1rem;
}

/* Stats-Leiste */
.rcps-recipe-modern__stats {
	display: flex;
	align-items: stretch;
	background: #ede9e2;
	border: 1px solid #ddd8cf;
	border-radius: 12px;
	padding: 0.875rem 1.25rem;
	gap: 0;
	flex-wrap: wrap;
	margin-bottom: 1.5rem;
}

.rcps-recipe-modern__stat-item {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	padding: 0.25rem 1.5rem 0.25rem 0;
	margin-right: 1.5rem;
	border-right: 1px solid #cec9c0;
}

.rcps-recipe-modern__stat-item:last-child {
	border-right: none;
	padding-right: 0;
	margin-right: 0;
}

.rcps-recipe-modern__stat-label {
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #999;
}

.rcps-recipe-modern__stat-value {
	font-size: 1rem;
	font-weight: 700;
	color: #1a1a1a;
}

/* Beitragsbild – gleiche Breite wie der gesamte Main-Bereich */
.rcps-recipe-modern__image {
	border-radius: 14px;
	overflow: hidden;
	margin-bottom: 1.25rem;
	display: block;
	width: 100%;
}

.rcps-recipe-modern__image img {
	width: 100%;
	height: auto;
	max-height: 70vh;
	object-fit: cover;
	object-position: center;
	display: block;
}

/* Content area – exakt gleiche Breite wie Bild (kein extra padding/margin) */
.rcps-recipe-modern__content {
	background: transparent;
	width: 100%;
}

.rcps-recipe-modern__content .rcps-inner {
	max-width: 100% !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* ---- SIDEBAR: rechte Spalte ---- */
.rcps-recipe-modern__sidebar {
	position: sticky;
	top: 1.5rem;
	padding-top: 0;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

/*
 * Sidebar-Video: YouTube Shorts in 9:16 Container.
 * Das iframe wird auf 316% Breite skaliert und mittig positioniert,
 * damit das 16:9-Format die volle 9:16-Containerhöhe ausfüllt (Cover-Effekt).
 * Wenn das Video ein echter Short (9:16 Inhalt) ist, füllt er das Frame optimal.
 */
.rcps-sidebar-video {
	border-radius: 16px;
	overflow: hidden;
	background: #fafaf8;
}

/* Mobile-Short: standardmäßig versteckt – nur auf kleinen Screens sichtbar */
.rcps-mobile-short-video {
	display: none;
}

.rcps-sidebar-video__wrap {
	position: relative;
	width: 100%;
	overflow: hidden;
	aspect-ratio: 9 / 16; /* Container ist 9:16 */
}

.rcps-sidebar-video__wrap iframe {
	/* iframe ist 16:9 – wird auf die volle Höhe des 9:16-Containers gestreckt  */
	/* und horizontal zentriert, damit die schwarzen Balken abgeschnitten werden */
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	height: 100%;
	width: auto;
	aspect-ratio: 16 / 9;
	border: 0;
}

/* Sidebar Widget */
.rcps-sidebar-widgets {
	background: #fff;
	border: 1px solid #e8e5df;
	border-radius: 14px;
	overflow: hidden;
}

.rcps-sidebar-widget__title {
	font-family: Georgia, 'Times New Roman', Times, serif;
	font-size: 1.125rem;
	font-weight: 400;
	padding: 1.25rem 1.25rem 0.75rem;
	margin: 0;
	border-bottom: 1px solid #f0ede8;
	color: #1a1a1a;
}

.rcps-sidebar-widget {
	padding: 1rem 1.25rem;
}

.ct-recipe-diet-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin: 0.85rem 0 1.25rem;
}

.ct-recipe-diet-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.42rem 0.78rem;
	border-radius: 999px;
	background: #e9f4ec;
	color: #345c43;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
}

.ct-recipe-diet-badge:hover {
	background: #d9eadf;
	color: #1f3d2b;
}

.ct-recipe-editorial-section {
	margin: 2rem 0;
	padding: 1.5rem;
	border: 1px solid #e8e2d8;
	border-radius: 18px;
	background: #fffdf8;
	box-shadow: 0 12px 28px rgba(31, 31, 31, 0.04);
}

.ct-recipe-editorial-section h2 {
	margin: 0 0 0.7rem;
	font-family: Georgia, 'Times New Roman', Times, serif;
	font-size: clamp(1.45rem, 2vw, 2rem);
	line-height: 1.18;
	color: #1f1f1f;
}

.ct-recipe-editorial-section p {
	margin: 0;
	color: #343434;
	font-size: 1.02rem;
	line-height: 1.78;
}

.ct-recipe-text-panel {
	padding: 1.1rem 1.2rem;
	border: 1px solid #e8e2d8;
	border-radius: 14px;
	background: #fff;
	color: #343434;
	font-size: 1.02rem;
	line-height: 1.78;
}

.ct-recipe-text-panel p {
	margin: 0 0 0.8rem;
}

.ct-recipe-text-panel p:last-child {
	margin-bottom: 0;
}

.ct-recipe-alternatives p {
	margin-bottom: 0.8rem;
}

.ct-recipe-categories-panel {
	min-height: 0;
}

.ct-recipe-categories-panel .rcps-details-categories--pills {
	gap: 0.55rem;
}

.ct-recipe-categories-panel .rcps-category-pill {
	padding: 0.5rem 0.85rem;
	font-size: 0.9rem;
}

.ct-recipe-text-panel a {
	color: #345c43;
	font-weight: 800;
	text-decoration: underline;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

.rcps-prep-step__image {
	margin: 0;
	border-radius: 14px;
	overflow: hidden;
	background: #f3f0e9;
}

.rcps-prep-step__image img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 420px;
	object-fit: cover;
}

.rcps-prep-step-media {
	display: block;
	margin: 0;
	padding: 0 !important;
	list-style: none !important;
	background: transparent;
}

.rcps-prep-step-media::before {
	display: none !important;
	content: none !important;
}

.rcps-prep-between-image {
	margin: 0.5rem 0 2rem;
	overflow: hidden;
	border-radius: 14px;
	background: #f3f0e9;
}

.rcps-prep-between-image img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 42rem;
	object-fit: cover;
}

.ct-recipe-value-boxes {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin: 2rem 0;
}

.ct-recipe-value-box {
	position: relative;
	padding: 1.25rem 1.25rem 1.2rem;
	border: 1px solid #e4ded3;
	border-radius: 18px;
	background: linear-gradient(145deg, #fffdf8 0%, #f6f1e9 100%);
	box-shadow: 0 14px 34px rgba(31, 31, 31, 0.045);
	overflow: hidden;
}

.ct-recipe-value-box::before {
	content: "";
	position: absolute;
	inset: 0 auto auto 0;
	width: 5px;
	height: 100%;
	background: #b96f53;
}

.ct-recipe-value-box h3 {
	margin: 0 0 0.55rem;
	font-size: 0.9rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #9d5d46;
}

.ct-recipe-value-box p {
	margin: 0;
	color: #2f2f2f;
	line-height: 1.65;
}

.ct-recipe-value-box .ct-recipe-text-panel {
	box-shadow: none;
}

.ct-recipe-value-box__image {
	margin: 1rem 0 0;
	overflow: hidden;
	border-radius: 14px;
	background: #f3f0e9;
}

.ct-recipe-value-box__image img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 34rem;
	object-fit: cover;
}

.ct-related-recipes {
	margin-top: 2rem;
	padding-top: 1.6rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.ct-related-recipes__title {
	margin: 0 0 1rem;
	font-family: Georgia, 'Times New Roman', Times, serif;
	font-size: clamp(1.35rem, 2vw, 1.9rem);
	color: #1f1f1f;
}

.ct-related-recipes__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.ct-related-recipes__card {
	display: grid;
	gap: 0.7rem;
	color: #1f1f1f;
	text-decoration: none;
}

.ct-related-recipes__thumb {
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: 16px;
	overflow: hidden;
	background: #f1eee8;
}

.ct-related-recipes__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.25s ease;
}

.ct-related-recipes__card:hover .ct-related-recipes__thumb img {
	transform: scale(1.04);
}

.ct-related-recipes__name {
	font-weight: 800;
	line-height: 1.35;
}

.single-recipe .rcps-widget-list-related-recipes .rcps-recipe-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1.25rem;
	align-items: start;
}

.single-recipe .rcps-widget-list-related-recipes .rcps-item-wrap-recipe {
	width: 100% !important;
	max-width: none;
	padding: 0;
	margin: 0;
	float: none;
}

.single-recipe .rcps-widget-list-related-recipes .rcps-section-content {
	padding-top: 0;
}

@media screen and (max-width: 767px) {
	.ct-recipe-value-boxes {
		grid-template-columns: 1fr;
	}

	.ct-related-recipes__grid {
		grid-template-columns: 1fr;
	}

	.ct-recipe-editorial-section {
		padding: 1.15rem;
	}
}

/* Responsive: Stack auf Tablet und Mobile */
@media screen and (max-width: 900px) {
	.rcps-recipe-modern__layout {
		grid-template-columns: 1fr;
		padding: 0 1.25rem 2rem;
		gap: 0;
	}

	.rcps-recipe-modern__sidebar {
		display: none; /* Sidebar auf Mobile komplett ausblenden */
	}

	/* Stattdessen das eingebettete Mobile-Video einblenden */
	.rcps-mobile-short-video {
		display: block;
		margin: 1rem 0 1.5rem;
	}

	.rcps-mobile-short-video .rcps-sidebar-video {
		max-width: 280px;
		margin: 0 auto;
	}
}

@media screen and (max-width: 767px) {
	.rcps-recipe-modern__layout {
		padding: 0 1rem 1.5rem;
	}

	.rcps-recipe-modern__title {
		font-size: clamp(1.8rem, 7vw, 2.25rem);
	}

	.rcps-recipe-modern__stats {
		gap: 0.75rem;
	}
}

/* =============================================
   13. "Springe zum Rezept" Button
   ============================================= */

.rcps-jump-to-recipe {
	text-align: left;
	padding: 0 0 1.25rem;
	background: transparent;
}

.rcps-jump-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.375rem;
	height: 2.375rem;
	padding: 0 1.25rem;
	background: transparent;
	color: #3f5f4b;
	border: 1.5px solid #3f5f4b;
	border-radius: 9999px;
	font-size: 0.875rem;
	font-weight: 600;
	font-family: inherit;
	line-height: 1;
	box-sizing: border-box;
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease;
}

.rcps-jump-btn:hover {
	background: #3f5f4b;
	color: #fff;
}

/* =============================================
   Story-Video: 16:9 YouTube nach dem Text
   ============================================= */

.rcps-story-video {
	margin: 2rem 0;
	border-radius: 14px;
	overflow: hidden;
}

.rcps-story-video__wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
}

.rcps-story-video__wrap iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Überschrift "Zutaten" mit Anker #recipe */
.rcps-recipe-section-title {
	font-size: 1.75rem;
	font-family: Georgia, 'Times New Roman', serif;
	color: #1a1a1a;
	margin: 2.5rem 0 1rem;
	padding-top: 1rem;
	border-top: 2px solid #e8e5df;
}

/* =============================================
   Zubereitungsschritte
   ============================================= */

.rcps-prep-group-title {
	font-size: 1.2rem;
	font-family: Georgia, 'Times New Roman', serif;
	color: #3f5f4b;
	margin: 1.5rem 0 0.75rem;
	padding-bottom: 0.4rem;
	border-bottom: 1px solid #ddd8cf;
}

.rcps-prep-steps {
	list-style: none !important;
	counter-reset: none !important;
	margin: 0 0 2rem;
	padding: 0 !important;
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.rcps-prep-step {
	display: flex;
	align-items: stretch;
	background: #fafaf8;
	border: 1px solid #e8e5df;
	border-radius: 12px;
	padding: 0 !important;
	padding-left: 0 !important;
	width: 100%;
	box-sizing: border-box;
	overflow: hidden;
}

/* Theme-Override: schwarzen ol > li::before Kreis entfernen */
.rcps-prep-step::before {
	display: none !important;
	content: none !important;
	background: none !important;
	width: 0 !important;
	height: 0 !important;
	position: static !important;
	margin: 0 !important;
}

.rcps-prep-step__number {
	/* Elegante Schrittzahl mit gestricheltem Trenner */
	flex-shrink: 0;
	min-width: 3.5rem;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 1.25rem 1rem;
	font-size: 1.4rem;
	font-weight: 300;
	color: #aaa;
	border-right: 1.5px dashed #ddd8cf;
	background: none;
	border-radius: 0;
	width: auto;
	height: auto;
}

.rcps-prep-step__body {
	flex: 1;
	padding: 1.25rem 1.5rem;
}

.rcps-prep-step__desc {
	margin: 0 0 0.75rem;
	font-size: 1rem;
	line-height: 1.7;
	color: #2a2a2a;
}

.rcps-prep-step__desc:last-child {
	margin-bottom: 0;
}

.rcps-prep-step__ingredients {
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem;
}

.rcps-prep-step__tag {
	display: inline-block;
	background: #ede9e2;
	color: #3f5f4b;
	font-size: 0.78rem;
	font-weight: 600;
	padding: 0.2rem 0.65rem;
	border-radius: 9999px;
	border: 1px solid #d8d3cb;
}

/* =============================================
   14. Story-Bereich: Lesbare Typografie
   ============================================= */

.rcps-recipe-story {
	max-width: 100% !important;
	width: 100%;
	margin: 0;
	padding: 0;
	/* Gutenberg-Block-Breiten zurücksetzen, damit kein auto-centering greift */
	--wp--style--global--content-size: 100%;
	--wp--style--global--wide-size: 100%;
}

/* Gutenberg-Blöcke im Story-Bereich: Breite aufheben */
.rcps-recipe-story .rcps-instructions > *,
.rcps-recipe-story .rcps-instructions .wp-block-group,
.rcps-recipe-story .rcps-instructions .wp-block-group__inner-container,
.rcps-recipe-story .rcps-instructions .wp-block-columns {
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Plugin-eigene Wrapper aufheben */
.rcps-recipe-story .rcps-single-content,
.rcps-recipe-story .rcps-inner {
	max-width: 100% !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Hochspezifische Überschreibung: Theme setzt .rcps-single-content auf 72% / 59% mit margin:auto */
body.single-recipe .rcps-recipe-modern__main .rcps-single-content,
body.single-recipe .rcps-recipe-modern__main .rcps-inner,
body.single-recipe .rcps-recipe-modern__main .rcps-instructions {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Fließtext: angenehme Lesbarkeit */
.rcps-recipe-story .rcps-instructions p {
	font-size: 1.0625rem;
	line-height: 1.8;
	color: #2a2a2a;
	margin-bottom: 1.25rem;
}

/* H2 – Abschnittsüberschriften */
.rcps-recipe-story .rcps-instructions h2 {
	font-family: Georgia, 'Times New Roman', Times, serif;
	font-size: clamp(1.4rem, 2.5vw, 1.875rem);
	font-weight: 400;
	line-height: 1.2;
	color: #1a1a1a;
	margin: 2.5rem 0 1rem;
}

/* H3 – Unterüberschriften */
.rcps-recipe-story .rcps-instructions h3 {
	font-size: 1.125rem;
	font-weight: 700;
	color: #1a1a1a;
	margin: 1.75rem 0 0.75rem;
}

/* Aufzählungen */
.rcps-recipe-story .rcps-instructions ul,
.rcps-recipe-story .rcps-instructions ol {
	padding-left: 1.5rem;
	margin-bottom: 1.25rem;
}

.rcps-recipe-story .rcps-instructions li {
	font-size: 1.0625rem;
	line-height: 1.7;
	margin-bottom: 0.4rem;
	color: #2a2a2a;
}

/* Trennlinie zwischen Abschnitten */
.rcps-recipe-story .rcps-instructions hr {
	border: none;
	border-top: 1px solid #e8e8e8;
	margin: 2.5rem 0;
}

/* =============================================
   15. Video: Portrait 9:16 (Shorts/Reels) & Landscape 16:9
   ============================================= */

/* Landscape 16:9 – Standard YouTube */
.rcps-recipe-story .rcps-instructions .wp-block-embed,
.rcps-recipe-story .rcps-instructions .wp-block-embed-youtube,
.rcps-recipe-story .rcps-instructions .wp-block-embed-vimeo {
	max-width: 100%;
	margin: 2rem 0;
}

.rcps-recipe-story .rcps-instructions .wp-block-embed__wrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	height: 0;
	overflow: hidden;
	border-radius: 12px;
	background: #000;
}

.rcps-recipe-story .rcps-instructions .wp-block-embed__wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/*
 * Portrait 9:16 – YouTube Shorts / Reels
 * Verwendung: Im Block-Editor beim Einbettungs-Block
 * unter "Erweitert" → CSS-Klasse: "is-portrait-video" hinzufügen
 */
.rcps-recipe-story .rcps-instructions .wp-block-embed.is-portrait-video {
	max-width: 360px;
	margin: 2rem auto;
}

.rcps-recipe-story .rcps-instructions .wp-block-embed.is-portrait-video .wp-block-embed__wrapper {
	padding-bottom: 177.78%; /* 9:16 */
	border-radius: 16px;
}

/* TikTok-Einbettung (hat eigenes Wrapper-Format) */
.rcps-recipe-story .rcps-instructions .wp-block-embed-tiktok {
	max-width: 340px;
	margin: 2rem auto;
}

/* =============================================
   16. Prozess-Fotos: Galerie-Blocks
   ============================================= */

/* Standard Galerie – gut lesbare Rasterbreite */
.rcps-recipe-story .rcps-instructions .wp-block-gallery {
	margin: 2rem 0;
	gap: 0.625rem !important;
}

.rcps-recipe-story .rcps-instructions .wp-block-gallery .wp-block-image img,
.rcps-recipe-story .rcps-instructions .wp-block-gallery figure img {
	border-radius: 10px;
	object-fit: cover;
}

/* alignwide – Galerie bricht aus der Textspalte heraus */
.rcps-recipe-story .rcps-instructions .wp-block-gallery.alignwide {
	margin-left: calc(-1 * (100vw - 960px) / 2);
	margin-right: calc(-1 * (100vw - 960px) / 2);
	max-width: 100vw;
	width: 100vw;
}

/* Einzelbilder mit Caption */
.rcps-recipe-story .rcps-instructions .wp-block-image figcaption {
	font-size: 0.8125rem;
	color: #888;
	text-align: center;
	margin-top: 0.4rem;
	font-style: italic;
}

/* Einzelbild alignwide */
.rcps-recipe-story .rcps-instructions figure.alignwide {
	margin: 2rem calc(-1 * (100vw - 960px) / 2);
	max-width: 100vw;
}

.rcps-recipe-story .rcps-instructions figure.alignwide img {
	width: 100%;
	border-radius: 12px;
	height: auto;
}

/* =============================================
   17. Callout-Boxen: Tipps, Hinweise, Warnungen
   ============================================= */

/* Quote-Block als Tipp-Box */
.rcps-recipe-story .rcps-instructions blockquote,
.rcps-recipe-story .rcps-instructions .wp-block-quote {
	border-left: 4px solid #3f5f4b;
	background: #f4f8f5;
	padding: 1rem 1.25rem 1rem 1.5rem;
	margin: 1.75rem 0;
	border-radius: 0 10px 10px 0;
}

.rcps-recipe-story .rcps-instructions blockquote p,
.rcps-recipe-story .rcps-instructions .wp-block-quote p {
	margin-bottom: 0;
	color: #2a2a2a;
	font-style: normal;
}

/* Pull Quote – auffälligeres Zitat */
.rcps-recipe-story .rcps-instructions .wp-block-pullquote {
	border-top: 3px solid #1a1a1a;
	border-bottom: 3px solid #1a1a1a;
	padding: 1.5rem 1rem;
	margin: 2.5rem 0;
	text-align: center;
}

.rcps-recipe-story .rcps-instructions .wp-block-pullquote blockquote p {
	font-family: Georgia, 'Times New Roman', Times, serif;
	font-size: clamp(1.1rem, 2vw, 1.4rem);
	font-style: italic;
	color: #1a1a1a;
	line-height: 1.5;
	background: transparent;
	border: none;
	padding: 0;
	margin: 0;
}

/*
 * Gutenberg Group-Block als farbige Callout-Box
 * Verwendung: CSS-Klasse "callout-tip", "callout-note" oder "callout-warning"
 */
.rcps-recipe-story .rcps-instructions .callout-tip,
.rcps-recipe-story .rcps-instructions .callout-note {
	background: #f0f8f3;
	border: 1px solid #c8e6d0;
	border-radius: 10px;
	padding: 1.25rem 1.5rem;
	margin: 1.75rem 0;
}

.rcps-recipe-story .rcps-instructions .callout-warning {
	background: #fff8ec;
	border: 1px solid #f5d98c;
	border-radius: 10px;
	padding: 1.25rem 1.5rem;
	margin: 1.75rem 0;
}

/* =============================================
   18. FAQ-Block (core/details) – Google People Also Ask
   ============================================= */

.rcps-recipe-story .rcps-instructions details,
.rcps-recipe-story .rcps-instructions .wp-block-details {
	border-top: 1px solid #e8e8e8;
	padding: 1rem 0;
	margin: 0;
}

.rcps-recipe-story .rcps-instructions details:last-of-type,
.rcps-recipe-story .rcps-instructions .wp-block-details:last-of-type {
	border-bottom: 1px solid #e8e8e8;
}

.rcps-recipe-story .rcps-instructions details summary,
.rcps-recipe-story .rcps-instructions .wp-block-details summary {
	font-size: 1rem;
	font-weight: 600;
	color: #1a1a1a;
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.25rem 0;
	gap: 1rem;
}

.rcps-recipe-story .rcps-instructions details summary::after,
.rcps-recipe-story .rcps-instructions .wp-block-details summary::after {
	content: '+';
	font-size: 1.25rem;
	font-weight: 300;
	color: #888;
	flex-shrink: 0;
	transition: transform 0.2s ease;
}

.rcps-recipe-story .rcps-instructions details[open] summary::after,
.rcps-recipe-story .rcps-instructions .wp-block-details[open] summary::after {
	transform: rotate(45deg);
}

.rcps-recipe-story .rcps-instructions details[open] summary,
.rcps-recipe-story .rcps-instructions .wp-block-details[open] summary {
	color: #3f5f4b;
}

.rcps-recipe-story .rcps-instructions details > *:not(summary),
.rcps-recipe-story .rcps-instructions .wp-block-details > *:not(summary) {
	font-size: 0.9375rem;
	line-height: 1.7;
	color: #555;
	padding-top: 0.75rem;
}

/* FAQ-Gruppen-Überschrift */
.rcps-recipe-story .rcps-instructions .wp-block-heading + details,
.rcps-recipe-story .rcps-instructions .wp-block-heading + .wp-block-details {
	margin-top: 0.5rem;
}

/* =============================================
   19. Rezept-Karte – visuell hervorgehoben
   ============================================= */

/*
 * Der Plugin-Block für das eigentliche Rezept (Zutaten, Anleitung)
 * wird durch einen sichtbaren Hintergrund/Rahmen vom Story-Text abgegrenzt.
 * Zusätzlich: Gutenberg-Anker "recipe" an die H2-Überschrift setzen.
 */
.rcps-recipe-story .rcps-instructions .rcps-recipe-card,
.rcps-recipe-story .rcps-instructions .rcps-section-ingredients,
.rcps-recipe-story .rcps-instructions .rcps-section-instructions {
	background: #fafaf8;
	border: 1px solid #e8e5df;
	border-radius: 14px;
	padding: 1.75rem;
	margin: 2rem 0;
}

/* Zutaten-Tabelle */
.rcps-recipe-ingredients-block {
	background: #fafaf8;
	border: 1px solid #e8e5df;
	border-radius: 14px;
	margin: 2.2rem 0;
	padding: 1.75rem;
}

.rcps-recipe-ingredients-block .rcps-recipe-section-title {
	margin: 0 0 1rem;
}

.rcps-recipe-calculator {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.6rem 0.9rem;
	margin: 0 0 1.25rem;
}

.rcps-recipe-calculator-label {
	color: #1e1e1c;
	font-weight: 700;
}

.rcps-recipe-calculator-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
}

.rcps-recipe-calculator-btn {
	min-width: 2.25rem;
	min-height: 2.25rem;
	padding: 0 0.65rem;
	border: 1px solid rgba(63, 95, 75, 0.38);
	border-radius: 999px;
	background: #fff;
	color: #284836;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.rcps-recipe-calculator-btn:hover,
.rcps-recipe-calculator-btn.rcps-active {
	background: #3f5f4b;
	border-color: #3f5f4b;
	color: #fff;
}

.rcps-recipe-story .rcps-instructions .rcps-recipe-ingredients-block table[data-base-servings] {
	width: 100%;
	display: block;
	border-collapse: separate;
	background: #fff;
	border: 1px solid #e8e5df;
	border-radius: 12px;
	margin: 1rem 0 1.6rem;
	padding: 1rem 1.2rem;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.02);
}

.rcps-recipe-story .rcps-instructions .rcps-recipe-ingredients-block table[data-base-servings] tbody {
	display: grid;
	gap: 0.55rem;
	width: 100%;
}

.rcps-recipe-story .rcps-instructions .rcps-recipe-ingredients-block table[data-base-servings] tr {
	display: grid;
	grid-template-columns: minmax(4.75rem, auto) minmax(0, 1fr);
	align-items: baseline;
	column-gap: 1rem;
	width: 100%;
}

.rcps-recipe-story .rcps-instructions .rcps-recipe-ingredients-block table[data-base-servings] tr::before {
	content: none;
}

.rcps-recipe-story .rcps-instructions .rcps-recipe-ingredients-block table[data-base-servings] thead th {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #888;
	border-bottom: 1px solid #e8e8e8;
	padding: 0.5rem 0.75rem;
	text-align: left;
}

.rcps-recipe-story .rcps-instructions .rcps-recipe-ingredients-block table[data-base-servings] td {
	display: block;
	padding: 0;
	border-bottom: none;
	font-size: 0.9375rem;
	line-height: 1.55;
}

.rcps-recipe-story .rcps-instructions .rcps-recipe-ingredients-block .rcps-ingredient-checkbox {
	display: none;
}

.rcps-recipe-story .rcps-instructions .rcps-recipe-ingredients-block .rcps-ingredient-amount {
	color: #3f5f4b;
	font-weight: 700;
	white-space: nowrap;
	grid-column: 1;
	justify-self: start;
	text-align: left;
}

.rcps-recipe-story .rcps-instructions .rcps-recipe-ingredients-block .rcps-ingredient-name {
	color: #1e1e1c;
	grid-column: 2;
	min-width: 0;
}

.rcps-recipe-story .rcps-instructions .rcps-recipe-ingredients-block table[data-base-servings] tr.rcps-checked {
	opacity: 0.55;
	text-decoration: line-through;
}

.rcps-recipe-story .rcps-instructions .rcps-recipe-ingredients-block table[data-base-servings]:last-child {
	margin-bottom: 0;
}

/* Anleitung-Schritte */
.rcps-recipe-story .rcps-instructions .rcps-single-content ol.rcps-instructions-list > li,
.single-recipe .rcps-single-content ol > li {
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: 10px;
	padding: 1rem 1.25rem 1rem 3.5rem;
	margin-bottom: 0.875rem;
	position: relative;
	font-size: 0.9375rem;
	line-height: 1.65;
}

/* =============================================
   20. Responsive Anpassungen (SEO-Sections)
   ============================================= */

@media screen and (max-width: 860px) {
	.rcps-recipe-story .rcps-instructions .wp-block-gallery.alignwide,
	.rcps-recipe-story .rcps-instructions figure.alignwide {
		margin-left: -2rem;
		margin-right: -2rem;
		max-width: calc(100% + 4rem);
		width: calc(100% + 4rem);
	}
}

@media screen and (max-width: 767px) {
	.rcps-recipe-story {
		padding: 1.75rem 1.25rem 2rem;
	}

	.rcps-jump-to-recipe {
		padding: 1rem 1rem 0;
	}

	.rcps-recipe-story .rcps-instructions .wp-block-embed.is-portrait-video {
		max-width: 280px;
	}
}

/* =============================================
   21. Nährwertangaben – helles, lesbares Design
   ============================================= */

/* Wrapper */
.rcps-nutrition-facts {
	border: 1px solid #e8e5df !important;
	border-radius: 14px !important;
	overflow: hidden;
	margin: 2rem 0;
	background: #fff;
}

.ct-recipe-nutrition-section .rcps-nutrition-facts {
	margin: 0;
	border-color: #e8e2d8 !important;
	background: #fff;
}

/* Header: weg vom dunklen #333 */
.rcps-nutrition-facts-header {
	background: #f5f2ec !important;
	padding: 1.25rem 1.5rem !important;
	border-bottom: 1px solid #e8e5df;
}

.ct-recipe-nutrition-section .rcps-nutrition-facts-header {
	padding: 1.1rem 1.2rem !important;
	background: #fff !important;
	border-bottom-color: #e8e2d8;
}

.ct-recipe-nutrition-section .rcps-nutrition-facts-header p {
	color: #343434 !important;
	font-size: 1.02rem;
	line-height: 1.78;
}

.rcps-nutrition-facts-header h3 {
	color: #1a1a1a !important;
	font-size: 1.125rem;
	font-weight: 700;
	margin-bottom: 0.5rem;
}

.rcps-nutrition-facts-header p {
	color: #555 !important;
	font-size: 0.875rem;
	margin: 0.2rem 0 0 !important;
}

/* "% Tageswert" Kopfzeile */
.rcps-nutrition-facts-row-daily-value-title {
	background: #faf9f7 !important;
	padding: 0.5rem 1.25rem !important;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #888;
	border-bottom: 1px solid #e8e5df;
}

/* Einzelne Zeilen */
.rcps-nutrition-facts-row {
	padding: 0.6rem 1.25rem !important;
	border-bottom: 1px solid #f0ede8 !important;
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
	font-size: 0.9rem;
}

.rcps-nutrition-facts-row:last-child {
	border-bottom: none !important;
}

/* Nährwert-Name */
.rcps-nutrition-facts-item {
	color: #2a2a2a;
	font-weight: 500;
}

/* Menge (z. B. 33.8g) */
.rcps-nutrition-facts-item-amount {
	color: #555 !important;
	font-size: 0.875rem;
}

/* Prozent-Wert rechts */
.rcps-nutrition-facts-item-right {
	color: #1a1a1a !important;
	font-weight: 700;
	font-size: 0.875rem;
}

/* =============================================================
   SHARED BUTTON UTILITIES
   ============================================================= */

.ct-btn-primary {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background: #3f5f4b;
	color: #fff;
	padding: 0.6rem 1.25rem;
	border-radius: 9999px;
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.15s ease;
}

.ct-btn-primary:hover {
	background: #2d4536;
	color: #fff;
	transform: translateY(-1px);
}

.ct-btn-secondary {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background: #f5f5f5;
	color: #333;
	padding: 0.6rem 1.25rem;
	border-radius: 9999px;
	font-size: 0.875rem;
	font-weight: 500;
	text-decoration: none;
	border: 1.5px solid #e0e0e0;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.ct-btn-secondary:hover {
	background: #ebebeb;
	color: #333;
	border-color: #ccc;
}

.ct-btn-ghost {
	background: transparent;
	border-color: transparent;
	color: #888;
}

.ct-btn-ghost:hover {
	background: #f5f5f5;
	color: #333;
}

.ct-btn-danger:hover {
	background: #fff0f0;
	border-color: #e57373;
	color: #c62828;
}

.ct-btn-sm {
	padding: 0.4rem 0.875rem;
	font-size: 0.8rem;
}

.ct-btn-icon {
	padding: 0.4rem 0.5rem;
}

/* =============================================================
   RECIPE ACTIONS (Einkaufsliste + Direkt zum Rezept)
   ============================================================= */

.rcps-recipe-actions {
	display: flex;
	align-items: center;
	justify-content: stretch;
	gap: 0.75rem;
	margin: 1.25rem 0 0;
	flex-wrap: nowrap;
	width: 100%;
	box-sizing: border-box;
}

/* Globales theme style.css: button { margin-bottom: 1.5rem } – verschiebt nur <button>, nicht den Link */
.rcps-recipe-actions > .rcps-jump-btn,
.rcps-recipe-actions > .ct-add-to-list-btn,
.rcps-recipe-actions > .rcps-vegan-btn {
	flex: 1 1 0;
	min-width: 0;
	margin: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	height: 2.375rem !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	align-self: center;
	box-sizing: border-box;
}

@media screen and (max-width: 520px) {
	.rcps-recipe-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.rcps-recipe-actions > .rcps-jump-btn,
	.rcps-recipe-actions > .ct-add-to-list-btn,
	.rcps-recipe-actions > .rcps-vegan-btn {
		flex: none;
		width: 100%;
	}
}

.ct-add-to-list-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	height: 2.375rem;
	padding: 0 1.25rem;
	background: #fff;
	color: #3f5f4b;
	border-radius: 9999px;
	font-size: 0.875rem;
	font-weight: 600;
	font-family: inherit;
	line-height: 1;
	box-sizing: border-box;
	border: 1.5px solid #3f5f4b;
	margin: 0;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
}

.ct-add-to-list-btn:hover {
	background: #3f5f4b;
	color: #fff;
}

.ct-add-to-list-btn.is-done,
.ct-add-to-list-btn.is-done:hover,
.ct-add-to-list-btn.is-done:focus {
	background: #eef4f0;
	color: #3f5f4b;
	border-color: #3f5f4b;
	cursor: default;
}

.ct-add-to-list-btn.is-loading {
	opacity: 0.7;
	cursor: wait;
}

.ct-list-link {
	display: block;
	margin-top: 0.5rem;
	font-size: 0.8rem;
	color: #3f5f4b;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* =============================================================
   LOGIN / REGISTER PAGE
   ============================================================= */

.ct-auth-page {
	min-height: 80vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem 1rem;
	background: #f5f2ed;
}

.ct-auth-card {
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 4px 24px rgba(0,0,0,0.10), 0 1px 4px rgba(0,0,0,0.06);
	width: 100%;
	max-width: 440px;
	overflow: hidden;
}

.ct-auth-card__head {
	background: #3f5f4b;
	padding: 2rem;
	text-align: center;
}

.ct-auth-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.ct-auth-logo__img {
	max-height: 48px;
	width: auto;
	filter: brightness(0) invert(1);
}

.ct-auth-logo__text {
	font-size: 1.5rem;
	font-weight: 700;
	color: #fff;
	letter-spacing: -0.03em;
}

/* Tab-Navigation */
.ct-tabs {
	display: flex;
	border-bottom: 1px solid #eee;
}

.ct-tab-btn {
	flex: 1;
	padding: 0.875rem 1rem;
	background: none;
	border: none;
	border-bottom: 2px solid transparent;
	font-size: 0.9rem;
	font-weight: 500;
	color: #888;
	cursor: pointer;
	transition: color 0.2s, border-color 0.2s;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
}

.ct-tab-btn.is-active {
	color: #3f5f4b;
	border-bottom-color: #3f5f4b;
	font-weight: 600;
}

.ct-tab-btn:hover:not(.is-active) {
	color: #555;
}

.ct-tab-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #3f5f4b;
	color: #fff;
	border-radius: 9999px;
	font-size: 0.7rem;
	font-weight: 700;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
}

/* Tab Panels */
.ct-tab-panel {
	padding: 1.75rem;
}

.ct-tab-panel:not(.is-active) {
	display: none;
}

/* Forms */
.ct-form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.ct-form-group {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.ct-form-group label {
	font-size: 0.875rem;
	font-weight: 600;
	color: #333;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.ct-input {
	width: 100%;
	padding: 0.7rem 0.9rem;
	border: 1.5px solid #ddd;
	border-radius: 10px;
	font-size: 0.925rem;
	color: #1a1a1a;
	background: #fafafa;
	transition: border-color 0.2s, box-shadow 0.2s;
	outline: none;
}

.ct-input:focus {
	border-color: #3f5f4b;
	background: #fff;
	box-shadow: 0 0 0 3px rgba(63, 95, 75, 0.12);
}

.ct-input-wrap {
	position: relative;
}

.ct-input-wrap .ct-input {
	padding-right: 2.5rem;
}

.ct-pw-toggle {
	position: absolute;
	right: 0.7rem;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	cursor: pointer;
	color: #888;
	padding: 0.25rem;
	display: flex;
	align-items: center;
}

.ct-pw-toggle:hover {
	color: #333;
}

.ct-forgot-link {
	font-size: 0.8rem;
	color: #3f5f4b;
	text-decoration: none;
	font-weight: 400;
}

.ct-forgot-link:hover {
	text-decoration: underline;
}

.ct-checkbox-label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	color: #555;
	cursor: pointer;
	font-weight: 400;
}

.ct-field-hint {
	font-size: 0.775rem;
	color: #888;
}

.ct-form-group--inline {
	flex-direction: row;
	align-items: center;
}

.ct-btn-submit {
	width: 100%;
	padding: 0.8rem;
	background: #3f5f4b;
	color: #fff;
	border: none;
	border-radius: 10px;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s, transform 0.15s;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 0.5rem;
}

.ct-btn-submit:hover:not(:disabled) {
	background: #2d4536;
	transform: translateY(-1px);
}

.ct-btn-submit:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.ct-spinner {
	animation: ct-spin 0.8s linear infinite;
	display: inline-block;
}

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

.ct-form-error {
	background: #fff0f0;
	color: #c62828;
	border: 1px solid #f5c6c6;
	border-radius: 8px;
	padding: 0.6rem 0.875rem;
	font-size: 0.875rem;
}

.ct-alert--info {
	background: #f0f4ff;
	color: #1a3a6b;
	border: 1px solid #b3c6f0;
	border-radius: 8px;
	padding: 0.75rem 1rem;
	font-size: 0.9rem;
}

/* Social Login (Google) */
.ct-social-login {
	margin-bottom: 0.5rem;
}

.ct-social-login .nslogin a,
.ct-social-login a[href*="google"] {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	width: 100%;
	padding: 0.7rem;
	border: 1.5px solid #ddd;
	border-radius: 10px;
	background: #fff;
	color: #333;
	font-size: 0.9rem;
	font-weight: 500;
	text-decoration: none;
	transition: background 0.2s, border-color 0.2s;
}

.ct-social-login a:hover {
	background: #f5f5f5;
	border-color: #bbb;
}

.ct-auth-divider {
	position: relative;
	text-align: center;
	margin: 1rem 0;
}

.ct-auth-divider::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	height: 1px;
	background: #eee;
}

.ct-auth-divider span {
	position: relative;
	background: #fff;
	padding: 0 0.75rem;
	font-size: 0.8rem;
	color: #aaa;
}

/* =============================================================
   USER DASHBOARD
   ============================================================= */

.ct-dashboard {
	max-width: 1100px;
	margin: 0 auto;
	padding: 2.5rem 1.5rem 4rem;
}

/* Profil-Header */
.ct-dashboard__header {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	padding: 1.75rem 2rem;
	background: #fff;
	border-radius: 16px;
	border: 1px solid rgba(0,0,0,0.07);
	box-shadow: 0 2px 8px rgba(0,0,0,0.06);
	margin-bottom: 1.75rem;
	flex-wrap: wrap;
}

.ct-dashboard__avatar img {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	object-fit: cover;
	border: 3px solid #eef4f0;
}

.ct-dashboard__user-info {
	flex: 1;
	min-width: 0;
}

.ct-dashboard__name {
	font-size: 1.3rem;
	font-weight: 700;
	color: #1a1a1a;
	margin: 0 0 0.2rem;
}

.ct-dashboard__email {
	font-size: 0.875rem;
	color: #888;
	margin: 0;
}

.ct-dashboard__actions {
	display: flex;
	gap: 0.5rem;
	flex-wrap: wrap;
}

/* Tabs */
.ct-dashboard__tabs {
	background: #fff;
	border-radius: 16px;
	border: 1px solid rgba(0,0,0,0.07);
	box-shadow: 0 2px 8px rgba(0,0,0,0.06);
	overflow: hidden;
}

.ct-dashboard__tab-nav {
	display: flex;
	border-bottom: 1px solid #eee;
	padding: 0 0.5rem;
}

.ct-dashboard__tab-nav .ct-tab-btn {
	padding: 1rem 1.25rem;
	font-size: 0.9rem;
}

.ct-tab-panel {
	padding: 1.75rem;
}

/* =============================================================
   LIEBLINGSREZEPTE – Horizontale Karten
   ============================================================= */

.ct-favorites-grid {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.ct-fav-card {
	display: grid;
	grid-template-columns: 220px 1fr;
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid rgba(0,0,0,0.07);
	background: #fff;
	transition: box-shadow 0.2s, transform 0.2s;
}

.ct-fav-card:hover {
	box-shadow: 0 6px 20px rgba(0,0,0,0.10);
	transform: translateY(-2px);
}

.ct-fav-card__image-link {
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 3;
}

.ct-fav-card__image-link img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.ct-fav-card:hover .ct-fav-card__image-link img {
	transform: scale(1.04);
}

.ct-fav-card__no-image {
	width: 100%;
	height: 100%;
	background: #f0ede8;
}

.ct-fav-card__body {
	padding: 1.25rem 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.ct-fav-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem;
}

.ct-fav-card__tag {
	font-size: 0.72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #3f5f4b;
	text-decoration: none;
	background: #eef4f0;
	padding: 0.15rem 0.55rem;
	border-radius: 9999px;
	transition: background 0.15s;
}

.ct-fav-card__tag:hover {
	background: #d8eadf;
}

.ct-fav-card__title {
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.3;
	margin: 0;
}

.ct-fav-card__title a {
	color: #1a1a1a;
	text-decoration: none;
}

.ct-fav-card__title a:hover {
	color: #3f5f4b;
}

.ct-fav-card__excerpt {
	font-size: 0.875rem;
	color: #666;
	line-height: 1.5;
	margin: 0;
	flex: 1;
}

.ct-fav-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.ct-fav-card__meta-item {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-size: 0.8rem;
	color: #888;
}

.ct-fav-card__footer {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-top: auto;
	padding-top: 0.5rem;
}

.ct-fav-card__fav-btn .simplefavorite-button {
	background: none;
	border: none;
	cursor: pointer;
	padding: 0.25rem;
	color: #aaa;
	display: flex;
	align-items: center;
}

/* =============================================================
   DASHBOARD EMPTY STATE
   ============================================================= */

.ct-dashboard__empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 3rem 1.5rem;
	gap: 1rem;
	text-align: center;
	color: #aaa;
}

.ct-dashboard__empty p {
	font-size: 1rem;
	color: #888;
	margin: 0;
}

.ct-dashboard__empty svg {
	opacity: 0.3;
}

/* =============================================================
   EINKAUFSLISTEN
   ============================================================= */

.ct-shopping-lists {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.ct-shopping-list-item {
	border: 1px solid rgba(0,0,0,0.08);
	border-radius: 12px;
	overflow: hidden;
	background: #fafafa;
}

.ct-list-header {
	display: flex;
	align-items: center;
	padding: 0.875rem 1rem;
	gap: 0.75rem;
	background: #fff;
}

.ct-list-toggle {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 0.6rem;
	background: none;
	border: none;
	cursor: pointer;
	text-align: left;
	padding: 0;
	min-width: 0;
}

.ct-toggle-icon {
	color: #3f5f4b;
	font-size: 0.9rem;
	flex-shrink: 0;
	transition: transform 0.2s;
}

.ct-list-title {
	font-size: 0.95rem;
	font-weight: 600;
	color: #1a1a1a;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ct-list-meta {
	font-size: 0.775rem;
	color: #aaa;
	white-space: nowrap;
	flex-shrink: 0;
	margin-left: auto;
	padding-left: 0.5rem;
}

.ct-list-actions {
	display: flex;
	gap: 0.25rem;
	flex-shrink: 0;
}

/* Liste ausklappen */
.ct-list-items {
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease, padding 0.3s ease;
}

.ct-list-items.is-open {
	max-height: 1200px;
	padding: 0.75rem 1rem 1rem;
	border-top: 1px solid #eee;
}

.ct-list-item {
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
	padding: 0.3rem 0;
	font-size: 0.9rem;
	color: #333;
	border-bottom: 1px solid rgba(0,0,0,0.05);
}

.ct-list-item:last-child {
	border-bottom: none;
}

.ct-list-amount {
	min-width: 3.5ch;
	color: #3f5f4b;
	font-weight: 600;
	flex-shrink: 0;
}

.ct-list-group-title {
	font-size: 0.775rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #888;
	padding: 0.75rem 0 0.3rem;
	margin: 0;
}

/* =============================================================
   RESPONSIVE
   ============================================================= */

@media screen and (max-width: 767px) {
	.ct-fav-card {
		grid-template-columns: 1fr;
	}

	.ct-fav-card__image-link {
		aspect-ratio: 16 / 9;
	}

	.ct-dashboard {
		padding: 1.25rem 0.75rem 3rem;
	}

	.ct-dashboard__header {
		padding: 1.25rem;
	}

	.ct-list-meta {
		display: none;
	}

	.ct-auth-card {
		border-radius: 14px;
	}

}

@media screen and (min-width: 768px) and (max-width: 960px) {
	.ct-fav-card {
		grid-template-columns: 180px 1fr;
	}
}

/* =============================================================
   VEGANE OPTION
   ============================================================= */

/* Vegan-Button in der Actions-Zeile */
.rcps-vegan-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	height: 2.375rem;
	padding: 0 1.25rem;
	background: #fff;
	color: #3f5f4b;
	border-radius: 9999px;
	font-size: 0.875rem;
	font-weight: 600;
	font-family: inherit;
	line-height: 1;
	box-sizing: border-box;
	border: 1.5px solid #3f5f4b;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: background 0.2s, color 0.2s;
}

.rcps-vegan-btn:hover,
.rcps-vegan-btn[aria-pressed="true"] {
	background: #3f5f4b;
	color: #fff;
}

/* Vegan-Badge in der Stats-Leiste */
.rcps-recipe-modern__stat-item--vegan {
	border-left: none;
}

.rcps-vegan-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	background: #eef4f0;
	color: #3f5f4b;
	padding: 0.15rem 0.65rem;
	border-radius: 9999px;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	border: 1.5px solid #3f5f4b;
	margin-top: 0.1rem;
}

/* Vegan-Sektion (Zutaten + Zubereitung + Nährwerte) */
.rcps-vegan-section {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 2px solid #d4e6d8;
}

.rcps-vegan-section[hidden] {
	display: none;
}

.rcps-vegan-section__title {
	font-size: 1.6rem;
	color: #3f5f4b;
	margin-bottom: 1.5rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.rcps-vegan-section .rcps-recipe-section-title {
	font-size: 1.25rem;
}

/* Ingredient table inside vegan section (reuse existing table style) */
.rcps-vegan-section .rcps-table-ingredients {
	margin-bottom: 1.5rem;
}

/* =============================================================
   GALERIE (Masonry – CSS columns)
   ============================================================= */

.rcps-gallery {
	columns: 3;
	column-gap: 0.75rem;
	margin: 1.75rem 0;
}

.rcps-gallery__item {
	break-inside: avoid;
	margin: 0 0 0.75rem;
	overflow: hidden;
	border-radius: 10px;
}

.rcps-gallery__item img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 10px;
	transition: transform 0.3s ease;
}

.rcps-gallery__item img:hover {
	transform: scale(1.02);
}

@media screen and (max-width: 900px) {
	.rcps-gallery {
		columns: 2;
	}
}

@media screen and (max-width: 540px) {
	.rcps-gallery {
		columns: 1;
	}
}

/* YouTube Zutaten-Video (gleicher Stil wie Story-Video) */
.rcps-ingredients-video {
	margin-top: 0;
	margin-bottom: 1.5rem;
}

/* =============================================================
   FOLLOW-SEKTION
   ============================================================= */

.single-recipe .cre8taste-follow-section {
	padding: 2.5rem 1.25rem;
	margin: 2rem 0;
	background: #f6f8f4;
	border-radius: 18px;
	text-align: center;
}

.single-recipe .cre8taste-follow-content {
	max-width: 850px;
	margin: 0 auto;
}

.single-recipe .cre8taste-follow-section h2 {
	margin: 0 0 0.875rem;
	font-size: clamp(1.65rem, 3vw, 2rem);
	line-height: 1.2;
	color: #203629;
}

.single-recipe .cre8taste-follow-section p {
	max-width: 680px;
	margin: 0 auto 1.75rem;
	font-size: 1.0625rem;
	line-height: 1.6;
	color: #4b554e;
}

.single-recipe .cre8taste-social-buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.875rem;
}

.single-recipe .cre8taste-follow-section .social-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
	flex: 0 0 3.5rem;
	padding: 0;
	border-radius: 50%;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 8px 20px rgba(32, 54, 41, 0.13);
	transition: transform 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease;
}

.single-recipe .cre8taste-follow-section .social-icon svg {
	width: 1.55rem;
	height: 1.55rem;
	fill: currentColor;
}

.single-recipe .cre8taste-follow-section .social-icon:hover,
.single-recipe .cre8taste-follow-section .social-icon:focus-visible {
	color: #fff;
	transform: translateY(-2px);
	opacity: 0.9;
	box-shadow: 0 11px 24px rgba(32, 54, 41, 0.18);
}

.single-recipe .cre8taste-follow-section .social-icon:focus-visible {
	outline: 3px solid #203629;
	outline-offset: 3px;
}

.single-recipe .cre8taste-follow-section .youtube-button {
	background: #f00;
}

.single-recipe .cre8taste-follow-section .instagram-button {
	background: linear-gradient(45deg, #feda75, #fa7e1e, #d62976, #962fbf, #4f5bd5);
}

.single-recipe .cre8taste-follow-section .facebook-button {
	background: #1877f2;
}

.single-recipe .cre8taste-follow-section .pinterest-button {
	background: #bd081c;
}

/* =============================================================
   REZEPTBEWERTUNG
   ============================================================= */

.single-recipe .rcps-recipe-modern__main .rcps-section-comments {
	margin-top: 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.single-recipe .rcps-recipe-modern__main .rcps-section-comments .rcps-inner,
.single-recipe .rcps-recipe-modern__main .rcps-section-comments .rcps-single-content {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.single-recipe .rcps-recipe-modern__main .ct-comments-wrap {
	padding: 1rem;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 12px;
	background: #fff;
}

.single-recipe .rcps-recipe-modern__main .ct-widget-area--single-recipe-after-comments {
	margin-top: 1.5rem;
	padding: 1.25rem 0 0;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.single-recipe .rcps-recipe-modern__main .ct-widget-area--single-recipe-after-comments > .rcps-single-recipe-widgets-after-comments > .rcps-section-content {
	padding: 1rem !important;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 12px;
	background: #fff !important;
}

.single-recipe .rcps-recipe-modern__main .ct-widget-area--single-recipe-after-comments .rcps-inner {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.single-recipe .rcps-recipe-modern__main .ct-widget-area--single-recipe-after-comments h2,
.single-recipe .rcps-recipe-modern__main .ct-widget-area--single-recipe-after-comments h3 {
	margin: 0 0 0.75rem;
	font-family: var(--ct-font-body);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0;
}

.single-recipe .ct-recipe-rating-summary {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.55rem;
	color: inherit;
	text-decoration: none;
}

.single-recipe .ct-rating-stars {
	display: inline-flex;
	gap: 0.15rem;
	font-size: 1.35rem;
	line-height: 1;
}

.single-recipe .ct-rating-star {
	color: transparent;
	-webkit-text-stroke: 1.5px #d9a5af;
}

.single-recipe .ct-rating-star.is-filled {
	color: #d9a5af;
}

.single-recipe .ct-comment-notes {
	margin: 0 0 1rem;
	font-size: 0.95rem;
	line-height: 1.6;
}

.single-recipe .comment-respond .comment-reply-title {
	margin: 0 0 0.75rem;
	font-family: var(--ct-font-body);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0;
}

.single-recipe .comment-respond .rcps-label {
	margin-bottom: 0.55rem;
	font-size: 1.05rem;
}

.single-recipe .comment-respond .rcps-textarea {
	min-height: 160px;
	resize: vertical;
}

.single-recipe .ct-comment-rating-field {
	margin-bottom: 1.5rem !important;
}

.single-recipe .ct-rating-guidance,
.single-recipe .ct-rating-policy {
	max-width: 48rem;
	margin: 0 0 0.75rem;
	color: #526057;
	font-size: 0.95rem;
	line-height: 1.55;
}

.single-recipe .ct-rating-policy {
	margin-top: 0.75rem;
	margin-bottom: 0;
	font-size: 0.875rem;
}

.single-recipe .ct-star-rating {
	display: inline-flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	gap: 0.25rem;
}

.single-recipe .ct-star-rating input {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.single-recipe .ct-star-rating label {
	color: transparent;
	-webkit-text-stroke: 1.5px #d9a5af;
	font-size: 2rem;
	line-height: 1;
	cursor: pointer;
	transition: color 0.15s ease, transform 0.15s ease;
}

.single-recipe .ct-star-rating label:hover,
.single-recipe .ct-star-rating label:hover ~ label,
.single-recipe .ct-star-rating input:checked ~ label {
	color: #d9a5af;
}

.single-recipe .ct-star-rating label:hover {
	transform: scale(1.08);
}

.single-recipe .ct-star-rating input:focus-visible + label {
	outline: 2px solid #203629;
	outline-offset: 4px;
}

.single-recipe .ct-comment-rating-display {
	margin-bottom: 0.65rem;
}

@media screen and (max-width: 600px) {
	.single-recipe .cre8taste-follow-section {
		padding: 2.25rem 1rem;
	}

	.single-recipe .cre8taste-social-buttons {
		flex-direction: row;
	}
}
