/*
Theme Name: cre8taste
Theme URI: https://cre8taste.com
Author: cre8taste
Description: Premium Editorial Food Magazine Theme - Full-width layout, large hero images, clean design. Works with Recipes Plugin.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cre8taste
Requires at least: 5.9
Requires PHP: 7.4
*/

/* ==========================================================================
   Design System - CSS Variables
   ========================================================================== */
:root {
	/* Colors */
	--ct-primary: #3f5f4b;
	--ct-primary-dark: #2d4536;
	--ct-off-white: #f5f2ed;
	--ct-warm-gray: #2e2e2e;
	--ct-terracotta: #c36a4a;
	--ct-white: #ffffff;
	--ct-text: #2e2e2e;
	--ct-text-muted: #6b6b6b;

	/* Typography */
	--ct-font-heading: 'Playfair Display', 'Cormorant Garamond', Georgia, serif;
	--ct-font-body: 'Inter', 'Lato', -apple-system, BlinkMacSystemFont, sans-serif;

	/* Spacing */
	--ct-space-xs: 0.5rem;
	--ct-space-sm: 1rem;
	--ct-space-md: 1.5rem;
	--ct-space-lg: 2rem;
	--ct-space-xl: 3rem;
	--ct-space-2xl: 4rem;
	--ct-space-3xl: 6rem;

	/* Border Radius */
	--ct-radius-sm: 8px;
	--ct-radius-md: 16px;
	--ct-radius-lg: 24px;
	--ct-radius-full: 30px;

	/* Transitions */
	--ct-transition: 0.3s ease;
}

/* ==========================================================================
   Base & Reset
   ========================================================================== */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: var(--ct-font-body);
	font-size: 16px;
	line-height: 1.6;
	color: var(--ct-text);
	background: #cfd3d8;
	margin: 0;
	padding: 0;
}

.ct-page-main {
	background: var(--ct-off-white);
	padding: clamp(2rem, 5vw, 4rem) 1.5rem clamp(3rem, 7vw, 6rem);
}

.ct-page-main__inner {
	width: min(100%, 1120px);
	margin: 0 auto;
}

.ct-page-content {
	background: var(--ct-white);
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: var(--ct-radius-md);
	box-shadow: 0 12px 36px rgba(31, 31, 31, 0.05);
	padding: clamp(1.5rem, 4vw, 3.5rem);
}

.ct-page-content__header {
	margin-bottom: 1.5rem;
}

.ct-page-content__title {
	margin: 0;
	color: var(--ct-primary);
	font-size: clamp(2rem, 4vw, 3.25rem);
	line-height: 1.12;
}

.ct-page-content__body {
	font-size: clamp(1rem, 1.15vw, 1.125rem);
	line-height: 1.75;
}

.ct-page-content__body > *:first-child {
	margin-top: 0;
}

.ct-page-content__body > *:last-child {
	margin-bottom: 0;
}

.ct-page-content__body h2,
.ct-page-content__body h3 {
	margin-top: 2rem;
	margin-bottom: 0.8rem;
	color: #1f1f1f;
}

.ct-page-content__body p {
	margin: 0 0 1.15rem;
}

.ct-page-content__body strong {
	color: #1f1f1f;
	font-weight: 800;
}

.ct-site-shell {
	margin: 20px;
	background: var(--ct-off-white);
	min-height: calc(100vh - 40px);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--ct-font-heading);
	font-weight: 600;
	line-height: 1.2;
	margin: 0 0 var(--ct-space-sm);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--ct-primary);
	text-decoration: none;
	transition: color var(--ct-transition);
}

a:hover {
	color: var(--ct-terracotta);
}

/* ==========================================================================
   Announcement Bar (Sticky Top)
   ========================================================================== */
.ct-announcement-bar {
	background: var(--ct-primary);
	color: var(--ct-white);
	padding: var(--ct-space-sm) var(--ct-space-lg);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--ct-space-lg);
	position: static;
	top: auto;
	z-index: 1001;
	text-align: center;
	flex-wrap: wrap;
}

.ct-announcement-bar__text {
	font-size: 0.9rem;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
}

.ct-announcement-bar__countdown {
	font-weight: 600;
}

.ct-announcement-bar__tagline {
	font-weight: 600;
	opacity: 0.95;
}

.ct-announcement-bar__cta {
	background: var(--ct-white);
	color: var(--ct-primary);
	padding: 0.5rem 1.5rem;
	border-radius: var(--ct-radius-full);
	font-weight: 600;
	font-size: 0.9rem;
	border: none;
	cursor: pointer;
	transition: transform var(--ct-transition), box-shadow var(--ct-transition);
}

.ct-announcement-bar__cta:hover {
	transform: scale(1.05);
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* ==========================================================================
   Main Navigation
   ========================================================================== */
.ct-header {
	background: var(--ct-white);
	box-shadow: 0 2px 10px rgba(0,0,0,0.05);
	position: static;
	top: auto;
	z-index: 1000;
}

.ct-header__inner {
	max-width: 1400px;
	margin: 0 auto;
	padding: var(--ct-space-md) var(--ct-space-lg);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--ct-space-xl);
}

.ct-header__nav-left,
.ct-header__nav-right {
	display: flex;
	align-items: center;
	gap: var(--ct-space-lg);
}

.ct-header__logo {
	font-family: var(--ct-font-heading);
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--ct-warm-gray);
}

.ct-header__logo img {
	max-height: 40px;
	width: auto;
}

.ct-header__nav a {
	color: var(--ct-text);
	font-weight: 500;
}

.ct-header__nav a:hover {
	color: var(--ct-primary);
}

.ct-header__menu {
	display: flex;
	align-items: center;
	gap: var(--ct-space-lg);
	list-style: none;
	margin: 0;
	padding: 0;
}

.ct-header__menu a {
	display: block;
	padding: 0.25rem 0;
}

.ct-header--recipes .ct-header__inner {
	justify-content: flex-start;
}

.ct-header-branding {
	flex: 0 0 auto;
}

.ct-header__nav-main {
	margin-left: auto;
}

.ct-header__nav-main .ct-header__menu {
	display: flex;
	align-items: center;
	gap: 2rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ct-header__nav-main .ct-header__menu > li {
	position: relative;
}

.ct-header__nav-main .ct-header__menu a {
	font-weight: 500;
	color: var(--ct-text);
}

.ct-header__nav-main .ct-header__menu .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 210px;
	padding: 0.75rem 0;
	margin: 0.75rem 0 0;
	list-style: none;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.14);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
	z-index: 20;
}

.ct-header__nav-main .ct-header__menu > li:hover > .sub-menu,
.ct-header__nav-main .ct-header__menu > li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.ct-header__nav-main .ct-header__menu .sub-menu a {
	display: block;
	padding: 0.55rem 1rem;
	white-space: nowrap;
}

.ct-header__cta {
	background: var(--ct-primary);
	color: var(--ct-white) !important;
	padding: 0.6rem 1.5rem;
	border-radius: var(--ct-radius-full);
	font-weight: 600;
}

.ct-header__cta:hover {
	background: var(--ct-primary-dark) !important;
	color: var(--ct-white) !important;
}

.ct-lang-switcher {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-left: auto;
}

.ct-lang-switcher__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 30px;
	padding: 0 0.55rem;
	border: 1px solid rgba(0, 0, 0, 0.2);
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ct-text);
}

.ct-lang-switcher__link.is-current {
	background: var(--ct-primary);
	border-color: var(--ct-primary);
	color: var(--ct-white);
}

/* Mobile menu toggle */
.ct-nav-toggle {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	padding: var(--ct-space-sm);
}

@media (max-width: 768px) {
	.ct-site-shell { margin: 10px; min-height: calc(100vh - 20px); }
	.ct-header { top: auto; }
	.ct-nav-toggle { display: inline-flex; align-items: center; justify-content: center; }
	.ct-header__nav-main { margin-left: 0; width: 100%; }
	.ct-header__nav-main .ct-header__menu {
		display: none;
		flex-direction: column;
		align-items: flex-start;
		gap: 0.6rem;
		width: 100%;
		margin-top: 0.8rem;
	}
	.ct-header__nav-main .ct-header__menu.is-active { display: flex; }
	.ct-header__nav-main .ct-header__menu .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		background: transparent;
		padding: 0.2rem 0 0.2rem 0.8rem;
		margin: 0;
	}
	.ct-lang-switcher { margin-left: 0; }
}

/* ==========================================================================
   Hero Section
   ========================================================================== */
.ct-hero {
	height: 80vh;
	min-height: 500px;
	background-size: cover;
	background-position: center;
	background-color: var(--ct-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.ct-hero__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
}

.ct-hero__background-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ct-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.4) 100%);
}

.ct-hero__content {
	position: relative;
	z-index: 2;
	text-align: center;
	color: var(--ct-white);
}

.ct-hero__title {
	font-size: clamp(2rem, 5vw, 4rem);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	text-shadow: 0 2px 20px rgba(0,0,0,0.5);
	margin-bottom: var(--ct-space-lg);
}

.ct-hero__play-btn {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: rgba(255,255,255,0.9);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	cursor: pointer;
	transition: transform var(--ct-transition);
	border: none;
}

.ct-hero__play-btn:hover {
	transform: scale(1.1);
}

.ct-hero__play-btn svg {
	width: 32px;
	height: 32px;
	margin-left: 4px;
}

.ct-hero-youtube .ct-hero__video-inlay {
	position: relative;
	margin-top: 1rem;
}

.ct-hero__video-embed iframe {
	width: 100%;
	aspect-ratio: 16/9;
	max-width: 900px;
	border: none;
}

.ct-hero__play-btn--inlay {
	width: 100px;
	height: 100px;
}

@media (max-width: 768px) {
	.ct-hero { height: 50vh; min-height: 400px; }
}

/* ==========================================================================
   Content Intro Section
   ========================================================================== */
.ct-content-intro {
	max-width: 1200px;
	margin: 0 auto;
	padding: var(--ct-space-2xl) var(--ct-space-lg);
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: var(--ct-space-xl);
	flex-wrap: wrap;
}

.ct-content-intro__title {
	font-family: var(--ct-font-heading);
	font-size: clamp(2rem, 4vw, 3rem);
	margin-bottom: var(--ct-space-md);
}

.ct-content-intro__tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ct-space-xs);
	margin-bottom: var(--ct-space-sm);
}

.ct-content-intro__tag {
	background: var(--ct-primary);
	color: var(--ct-white);
	padding: 0.25rem 0.75rem;
	border-radius: var(--ct-radius-full);
	font-size: 0.85rem;
	font-weight: 500;
}

.ct-content-intro__date {
	color: var(--ct-text-muted);
	font-size: 0.9rem;
}

/* ==========================================================================
   Recipe Grid (3 Column)
   ========================================================================== */
.ct-recipe-grid {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 var(--ct-space-lg) var(--ct-space-3xl);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
}

.ct-recipe-card {
	background: var(--ct-white);
	border-radius: var(--ct-radius-md);
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0,0,0,0.08);
	transition: transform var(--ct-transition), box-shadow var(--ct-transition);
}

.ct-recipe-card__link {
	display: block;
	color: inherit;
}

.ct-recipe-card:hover {
	transform: scale(1.03);
	box-shadow: 0 8px 30px rgba(0,0,0,0.12);
}

.ct-recipe-card__image {
	aspect-ratio: 4/3;
	position: relative;
	overflow: hidden;
	border-radius: 18px;
	background: #f0ede8;
}

.ct-recipe-card--portrait .ct-recipe-card__image,
.ct-recipe-card__image--portrait {
	aspect-ratio: 4/5;
}

.ct-recipe-card__calories {
	position: absolute;
	left: 0.6rem;
	bottom: 0.6rem;
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 0.25rem;
	padding: 0.2rem 0.45rem;
	background: rgba(0, 0, 0, 0.55);
	backdrop-filter: blur(4px);
	border-radius: 6px;
	color: #f8f8f8;
	font-size: 0.7rem;
	font-weight: 600;
}

.ct-recipe-card__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-recipe-card__vegan-badge--pure {
	background: rgba(255, 255, 255, 0.95);
	color: #2d4a38;
	border: 1.5px solid #3f5f4b;
	font-weight: 700;
}

.ct-recipe-card__vegan-badge--solo {
	bottom: 0.6rem;
}

.ct-icon-calories {
	width: 0.875rem;
	height: 0.875rem;
}

.ct-icon-time {
	width: 1rem;
	height: 1rem;
}

.ct-recipe-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--ct-transition);
}

.ct-recipe-card:hover .ct-recipe-card__image img {
	transform: scale(1.05);
}

.ct-recipe-card__content {
	padding: var(--ct-space-md);
}

.ct-recipe-card__title {
	font-family: var(--ct-font-heading);
	font-size: 1.25rem;
	margin: 0;
}

.ct-recipe-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.25rem;
	margin-top: 0.75rem;
}

.ct-recipe-card__meta-item {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.8rem;
	color: #666;
}

.ct-recipe-card__meta-item--time {
	color: #666;
}

/* Home top recipes strip */
.ct-home-top-recipes {
	background: #efefef;
	padding: 0 var(--ct-space-lg) var(--ct-space-3xl);
}

.ct-home-top-recipes__inner {
	max-width: 1400px;
	margin: 0 auto;
}

.ct-home-top-recipes__title {
	font-family: var(--ct-font-body);
	font-size: clamp(1.65rem, 3.5vw, 2.65rem);
	font-weight: 700;
	letter-spacing: 0.02em;
	margin: 0 0 var(--ct-space-xl);
	color: #1a1a1a;
}

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

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

.ct-top-recipes__image {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	aspect-ratio: 3 / 4;
	background: #f0ede8;
}

.ct-top-recipes__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform var(--ct-transition);
}

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

.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;
}

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

.ct-top-recipes__content {
	padding: 1rem 0.1rem 0;
}

.ct-top-recipes__name {
	font-family: var(--ct-font-body);
	font-size: clamp(1.2rem, 1.7vw, 2rem);
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 0.7rem;
	color: #1a1a1a;
}

.ct-top-recipes__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
}

.ct-top-recipes__tag {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-size: 0.78rem;
	color: #666;
}

.ct-top-recipes__tag--time {
	font-weight: 500;
}

/* Home YouTube section */
.ct-home-youtube {
	background: #efefef;
	padding: 0 var(--ct-space-lg) var(--ct-space-3xl);
}

.ct-home-youtube__inner {
	max-width: 1400px;
	margin: 0 auto;
}

.ct-home-youtube__title {
	font-family: var(--ct-font-body);
	font-size: clamp(1.35rem, 2.4vw, 2rem);
	font-weight: 700;
	margin: 0 0 var(--ct-space-md);
	color: #1a1a1a;
}

.ct-home-youtube__embed {
	border-radius: 18px;
	overflow: hidden;
	background: #111;
}

.ct-home-youtube__embed iframe,
.ct-home-youtube__embed video,
.ct-home-youtube__embed .wp-video {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	border: 0;
}

/* Home topic sections (Bianca-inspired rubric blocks) */
.ct-home-topics {
	background: #efefef;
	padding: var(--ct-space-3xl) var(--ct-space-lg);
}

.ct-home-topics__inner {
	max-width: 1400px;
	margin: 0 auto;
}

.ct-home-topics__headline {
	text-align: center;
	font-family: var(--ct-font-body);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-size: clamp(1.7rem, 4vw, 3rem);
	margin: 0 0 var(--ct-space-2xl);
}

.ct-topic-block__desc {
	margin: -0.5rem auto 1.2rem;
	max-width: 760px;
	text-align: center;
	color: #626262;
}

.ct-topic-block {
	margin-bottom: var(--ct-space-3xl);
}

.ct-topic-block__title {
	font-family: var(--ct-font-body);
	font-size: clamp(1.15rem, 2vw, 1.7rem);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-align: center;
	padding-bottom: var(--ct-space-md);
	margin-bottom: var(--ct-space-xl);
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

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

.ct-home-topics .ct-recipe-card,
.ct-topic-archive-grid .ct-recipe-card {
	border-radius: 0;
	box-shadow: none;
	background: transparent;
}

.ct-home-topics .ct-recipe-card__image,
.ct-topic-archive-grid .ct-recipe-card__image {
	border-radius: 18px;
}

.ct-home-topics .ct-recipe-card:hover,
.ct-topic-archive-grid .ct-recipe-card:hover {
	transform: none;
	box-shadow: none;
}

.ct-home-topics .ct-recipe-card__content,
.ct-topic-archive-grid .ct-recipe-card__content {
	padding: 1rem 0 0;
}

.ct-home-topics .ct-recipe-card__title,
.ct-topic-archive-grid .ct-recipe-card__title {
	font-family: var(--ct-font-body);
	font-weight: 600;
	line-height: 1.45;
	font-size: clamp(1rem, 1.8vw, 1.85rem);
}

.ct-topic-block__cta {
	margin-top: var(--ct-space-xl);
}

.ct-btn--topic-more {
	background: #111111;
	color: var(--ct-white);
	border-radius: 0;
	text-transform: uppercase;
	letter-spacing: 0.09em;
	padding: 0.95rem 2.1rem;
}

.ct-btn--topic-more:hover {
	background: #000000;
	color: var(--ct-white);
}

/* Topic archive page */
.ct-topic-archive-head {
	padding: var(--ct-space-3xl) var(--ct-space-lg) var(--ct-space-2xl);
	background: #f3f3f3;
}

.ct-topic-archive-head__inner {
	max-width: 960px;
	margin: 0 auto;
	text-align: center;
}

.ct-topic-archive-head__eyebrow {
	margin: 0 0 var(--ct-space-sm);
	text-transform: uppercase;
	letter-spacing: 0.16em;
	font-weight: 700;
}

.ct-topic-archive-head__title {
	font-family: var(--ct-font-body);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: clamp(1.8rem, 4.5vw, 3.3rem);
	margin-bottom: var(--ct-space-sm);
}

.ct-topic-archive-head__desc {
	margin: 0 auto;
	max-width: 720px;
	color: var(--ct-text-muted);
}

.ct-search-strip {
	background: #f3f3f3;
	padding: 2rem var(--ct-space-lg);
}

.ct-search-strip__inner {
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
	align-items: center;
	justify-content: space-between;
}

.ct-search-strip__title {
	margin: 0;
	font-family: var(--ct-font-body);
	font-size: 1.8rem;
	font-weight: 700;
}

.ct-recipe-search {
	display: flex;
	gap: 0.6rem;
	align-items: center;
	width: min(100%, 560px);
}

.ct-recipe-search--with-filters {
	flex-direction: column;
	align-items: stretch;
	gap: 0.8rem;
}

.ct-recipe-search__row {
	display: flex;
	gap: 0.6rem;
	align-items: center;
	width: 100%;
}

.ct-recipe-search__input {
	flex: 1;
	min-height: 50px;
	padding: 0 1rem;
	border-radius: 999px;
	border: 1px solid rgba(0, 0, 0, 0.16);
	background: #fff;
	font: inherit;
	-webkit-appearance: none;
	appearance: none;
}

.ct-recipe-search__input::-webkit-search-decoration,
.ct-recipe-search__input::-webkit-search-cancel-button,
.ct-recipe-search__input::-webkit-search-results-button,
.ct-recipe-search__input::-webkit-search-results-decoration {
	-webkit-appearance: none;
	appearance: none;
	display: none;
}

.ct-recipe-search__btn {
	min-height: 50px;
	padding: 0 1.2rem;
	border: 0;
	border-radius: 999px;
	background: #111;
	color: #fff;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

.ct-recipe-search--topic {
	margin: 1.1rem auto 0;
}

.ct-diet-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	width: 100%;
	align-items: center;
	margin-top: 0.25rem;
}

.ct-diet-filter__label {
	margin-right: 0.15rem;
	color: #6d6d6d;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ct-diet-filter__button {
	border: 1px solid rgba(0, 0, 0, 0.14);
	border-radius: 999px;
	background: #fff;
	color: #313131;
	cursor: pointer;
	font: inherit;
	font-size: 0.83rem;
	font-weight: 650;
	line-height: 1;
	padding: 0.58rem 0.8rem;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.ct-diet-filter__button:hover,
.ct-diet-filter__button.is-active {
	background: #3f5f4b;
	border-color: #3f5f4b;
	color: #fff;
}

.ct-topic-about {
	padding: 0 var(--ct-space-lg) 2.2rem;
	background: #f3f3f3;
}

.ct-topic-about__inner {
	max-width: 1400px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 2rem;
	padding: 1.5rem;
	border-radius: 18px;
	background: #fff;
}

.ct-topic-about__text h2 {
	font-family: var(--ct-font-body);
	font-size: 1.5rem;
	font-weight: 700;
	margin-bottom: 0.8rem;
}

.ct-topic-about__text p {
	margin: 0 0 0.8rem;
	color: #444;
}

.ct-topic-about__video {
	border-radius: 14px;
	overflow: hidden;
	background: #111;
}

.ct-topic-about__video iframe {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
}

.ct-topic-archive-grid {
	background: #f3f3f3;
	padding: 0 var(--ct-space-lg) var(--ct-space-3xl);
}

.ct-topic-archive-grid__inner {
	max-width: 1400px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2rem;
}

.ct-topic-archive-grid__pagination {
	max-width: 1400px;
	margin: var(--ct-space-2xl) auto 0;
}

.ct-topic-archive-grid__empty {
	max-width: 960px;
	margin: 0 auto;
	padding: var(--ct-space-xl);
	text-align: center;
}

@media (max-width: 992px) {
	.ct-recipe-grid { grid-template-columns: repeat(2, 1fr); }
	.ct-top-recipes__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ct-topic-block__grid,
	.ct-topic-archive-grid__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.ct-topic-about__inner {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 576px) {
	.ct-recipe-grid { grid-template-columns: 1fr; gap: 24px; }
	.ct-top-recipes__grid { grid-template-columns: 1fr; }
	.ct-topic-block__grid,
	.ct-topic-archive-grid__inner {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
}

/* ==========================================================================
   Kitchen Staples Section
   ========================================================================== */
.ct-kitchen-staples {
	max-width: 1200px;
	margin: 0 auto;
	padding: var(--ct-space-3xl) var(--ct-space-lg);
	text-align: center;
}

.ct-kitchen-staples__title {
	font-family: var(--ct-font-heading);
	font-size: 2rem;
	margin-bottom: var(--ct-space-2xl);
}

.ct-kitchen-staples__grid {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: var(--ct-space-2xl);
}

.ct-product-card {
	text-align: center;
	max-width: 120px;
}

.ct-product-card__image {
	width: 80px;
	height: 80px;
	margin: 0 auto var(--ct-space-sm);
	border-radius: 50%;
	overflow: hidden;
}

.ct-product-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ct-product-card__name {
	font-size: 0.9rem;
	font-weight: 500;
}

/* ==========================================================================
   Recipe Detail Page
   ========================================================================== */
.ct-recipe-header {
	max-width: 1200px;
	margin: 0 auto;
	padding: var(--ct-space-2xl) var(--ct-space-lg);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--ct-space-2xl);
	align-items: start;
}

.ct-recipe-header__image {
	border-radius: var(--ct-radius-md);
	overflow: hidden;
	aspect-ratio: 4/3;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ct-recipe-header__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.ct-recipe-header__meta h1 {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	margin-bottom: var(--ct-space-md);
}

.ct-recipe-header__servings {
	display: flex;
	align-items: center;
	gap: var(--ct-space-sm);
	margin: var(--ct-space-md) 0;
}

.ct-recipe-header__servings-btn {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 2px solid var(--ct-primary);
	background: transparent;
	cursor: pointer;
	font-size: 1.2rem;
	line-height: 1;
	transition: background var(--ct-transition), color var(--ct-transition);
}

.ct-recipe-header__servings-btn:hover {
	background: var(--ct-primary);
	color: var(--ct-white);
}

.ct-recipe-header__allergens {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ct-space-xs);
	margin-top: var(--ct-space-md);
}

.ct-recipe-header__allergen {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--ct-off-white);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.75rem;
}

/* Ingredients & Directions */
.ct-recipe-content {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 var(--ct-space-lg) var(--ct-space-2xl);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--ct-space-2xl);
}

.ct-recipe-ingredients h2,
.ct-recipe-directions h2 {
	font-size: 1.5rem;
	margin-bottom: var(--ct-space-md);
}

.ct-recipe-ingredients ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.ct-recipe-ingredients li {
	padding: var(--ct-space-xs) 0;
	border-bottom: 1px solid rgba(0,0,0,0.08);
	display: flex;
	gap: var(--ct-space-sm);
}

.ct-recipe-ingredients .amount {
	font-weight: 600;
	min-width: 60px;
}

.ct-recipe-directions ol {
	padding-left: 1.5rem;
	line-height: 1.8;
}

.ct-recipe-directions li {
	margin-bottom: var(--ct-space-md);
}

@media (max-width: 768px) {
	.ct-recipe-header,
	.ct-recipe-content { grid-template-columns: 1fr; }
}

/* ==========================================================================
   CTA Banner
   ========================================================================== */
.ct-cta-banner {
	background: var(--ct-primary);
	color: var(--ct-white);
	padding: var(--ct-space-2xl) var(--ct-space-lg);
	margin: var(--ct-space-2xl) 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--ct-space-xl);
	flex-wrap: wrap;
}

.ct-cta-banner__content h2 {
	color: var(--ct-white);
	margin-bottom: var(--ct-space-sm);
}

.ct-cta-banner__btn {
	background: var(--ct-white);
	color: var(--ct-primary);
	padding: 0.75rem 2rem;
	border-radius: var(--ct-radius-full);
	font-weight: 600;
	border: none;
	cursor: pointer;
}

/* ==========================================================================
   Video Section
   ========================================================================== */
.ct-video-section {
	max-width: 900px;
	margin: 0 auto;
	padding: var(--ct-space-2xl) var(--ct-space-lg);
}

.ct-video-section--full {
	max-width: 100%;
	padding-left: var(--ct-space-lg);
	padding-right: var(--ct-space-lg);
}

.ct-video-section--full .ct-video-embed,
.ct-video-section--full .wp-block-embed {
	max-width: 100%;
}

.ct-video-section h2 {
	text-align: center;
	margin-bottom: var(--ct-space-lg);
}

.ct-video-section .wp-block-embed,
.ct-video-section .ct-video-embed {
	aspect-ratio: 16/9;
}

.ct-video-section iframe {
	width: 100%;
	height: 100%;
}

/* Task list (Einkaufsliste) */
.ct-task-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.ct-task-item {
	display: flex;
	align-items: center;
	gap: var(--ct-space-sm);
	padding: var(--ct-space-sm) 0;
	border-bottom: 1px solid rgba(0,0,0,0.08);
}

.ct-task-item label {
	display: flex;
	align-items: center;
	gap: var(--ct-space-sm);
	cursor: pointer;
	flex: 1;
}

.ct-task-checkbox {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}

.ct-task-item.ct-checked .ingredient {
	text-decoration: line-through;
	color: var(--ct-text-muted);
}

/* Step buttons */
.ct-step {
	display: flex;
	gap: var(--ct-space-md);
	margin-bottom: var(--ct-space-lg);
	align-items: flex-start;
}

.ct-step-btn {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--ct-primary);
	color: var(--ct-white);
	border: none;
	font-weight: 600;
	font-size: 1rem;
	flex-shrink: 0;
	cursor: pointer;
	transition: transform var(--ct-transition);
}

.ct-step-btn:hover {
	transform: scale(1.05);
}

.ct-step-content {
	flex: 1;
	line-height: 1.8;
}

.ct-step-content__group {
	margin: 0 0 0.45rem;
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: 700;
	color: var(--ct-text-muted);
}

.ct-recipe-tips {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 var(--ct-space-lg) var(--ct-space-2xl);
}

.ct-recipe-tips h2 {
	font-size: 1.5rem;
	margin-bottom: var(--ct-space-md);
}

.ct-recipe-tips--inline {
	max-width: none;
	margin: 0 0 var(--ct-space-xl);
	padding: 0;
}

/* Hide legacy recipe filter form on single recipe pages */
.single-recipe .rcps-ajax-form,
.single-recipe .rcps-section-filters,
.single-recipe .rcps-section-applied-filters,
.single-recipe .rcps-section-sort,
.single-recipe .rcps-filters,
.single-recipe .widget_rcps_widget_recipe_search {
	display: none !important;
}

/* Recipe content - centered images */
.ct-recipe-content img,
.ct-directions-content img,
.ct-step-content img {
	display: block;
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
}

/* Recipe video inlay */
.ct-recipe-video-inlay {
	max-width: 1200px;
	margin: 0 auto;
	padding: var(--ct-space-2xl) var(--ct-space-lg);
}

.ct-recipe-video-inlay__wrap {
	position: relative;
	aspect-ratio: 16/9;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--ct-warm-gray);
	border-radius: var(--ct-radius-md);
	overflow: hidden;
}

.ct-recipe-video-inlay__thumb {
	position: absolute;
	inset: 0;
}

.ct-recipe-video-inlay__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.ct-recipe-video-inlay .ct-recipe-video-play {
	position: relative;
	z-index: 2;
}

.ct-recipe-video-inlay__embed {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.ct-recipe-video-inlay__embed iframe {
	width: 100%;
	height: 100%;
	border: none;
}

/* ==========================================================================
   Buttons
   ========================================================================== */
.ct-btn {
	display: inline-block;
	padding: 0.75rem 1.5rem;
	border-radius: var(--ct-radius-full);
	font-weight: 600;
	text-align: center;
	transition: transform var(--ct-transition), box-shadow var(--ct-transition);
	border: none;
	cursor: pointer;
}

.ct-btn--primary {
	background: var(--ct-primary);
	color: var(--ct-white);
}

.ct-btn--primary:hover {
	background: var(--ct-primary-dark);
}

/* ==========================================================================
   Sticky CTA (Mobile)
   ========================================================================== */
.ct-sticky-cta {
	display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background: var(--ct-primary);
	color: var(--ct-white);
	padding: var(--ct-space-md);
	text-align: center;
	z-index: 999;
	box-shadow: 0 -4px 20px rgba(0,0,0,0.15);
}

@media (max-width: 768px) {
	.ct-sticky-cta { display: block; }
}

/* ==========================================================================
   Scroll to Top
   ========================================================================== */
.ct-scroll-top {
	position: fixed;
	bottom: var(--ct-space-lg);
	right: var(--ct-space-lg);
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--ct-primary);
	color: var(--ct-white);
	border: none;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--ct-transition), visibility var(--ct-transition);
	z-index: 998;
}

.ct-scroll-top.is-visible {
	opacity: 1;
	visibility: visible;
}

/* ==========================================================================
   Footer
   ========================================================================== */
.ct-footer {
	background: var(--ct-warm-gray);
	color: var(--ct-white);
	padding: var(--ct-space-2xl) var(--ct-space-lg);
	text-align: center;
}

.ct-widget-area {
	margin: 2rem 0;
}

.ct-widget-area .widget,
.ct-widget-area > div {
	margin-bottom: 1.5rem;
}

.ct-widget-area .widget:last-child,
.ct-widget-area > div:last-child {
	margin-bottom: 0;
}

.ct-widget-area .widget-title,
.ct-widget-area h2,
.ct-widget-area h3 {
	margin-top: 0;
}

.ct-widget-area--recipe-grid-top,
.ct-widget-area--recipe-grid-bottom,
.ct-widget-area--single-recipe-bottom,
.ct-widget-area--single-recipe-after-comments {
	padding: clamp(1.25rem, 2.5vw, 2rem);
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.72);
	box-shadow: 0 18px 46px rgba(45, 45, 45, 0.06);
}

.ct-widget-area--single-recipe-sidebar {
	margin-top: 1.5rem;
}

.ct-widget-area--single-recipe-sidebar .widget {
	padding: 1.25rem;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.78);
	box-shadow: 0 14px 34px rgba(45, 45, 45, 0.06);
}

.ct-footer-widgets {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
	max-width: 1200px;
	margin: 0 auto 2rem;
	padding: 0 1rem 2rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
	text-align: left;
}

.ct-footer-widgets__column .widget {
	margin-bottom: 1.25rem;
}

.ct-footer-widgets__column .widget:last-child {
	margin-bottom: 0;
}

.ct-footer-widgets h2,
.ct-footer-widgets h3,
.ct-footer-widgets .widget-title {
	color: #fff;
	font-size: 0.9rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ct-footer-widgets a {
	color: rgba(255, 255, 255, 0.82);
}

.ct-footer-widgets a:hover {
	color: #fff;
}

.ct-footer a {
	color: rgba(255,255,255,0.8);
}

.ct-footer a:hover {
	color: var(--ct-white);
}

.ct-footer__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.85rem 1.35rem;
}

.ct-footer__inner p {
	margin: 0;
	font-size: 0.92rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.92);
}

.ct-footer__inner nav {
	display: flex;
	align-items: center;
}

.ct-footer__nav,
.ct-footer__nav ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.45rem 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ct-footer__nav li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ct-footer__nav li::marker {
	content: "";
}

.ct-footer__nav a {
	display: inline-flex;
	align-items: center;
	padding: 0.2rem 0;
	font-size: 0.86rem;
	font-weight: 500;
	line-height: 1.2;
	color: rgba(255, 255, 255, 0.68);
	text-decoration: none;
}

.ct-footer__nav a:hover {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 0.25em;
}

/* Recipes single-page refinements */
.single-recipe .rcps-icon {
	display: inline-block;
	width: 1em;
	height: 1em;
	fill: currentColor;
	vertical-align: -0.125em;
}

.single-recipe .rcps-details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.2rem;
	padding: 1.2rem 0;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.single-recipe .rcps-details-cell {
	min-width: 0;
}

.single-recipe .rcps-details-title {
	margin: 0 0 0.65rem;
	font-family: var(--ct-font-body);
	font-size: 0.9rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #58735f;
}

.single-recipe .rcps-details-categories--pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.single-recipe .rcps-category-pill {
	display: inline-flex;
	align-items: center;
	padding: 0.34rem 0.72rem;
	border: 1px solid rgba(63, 95, 75, 0.3);
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1;
	background: #fff;
	color: #314f3e;
}

.single-recipe .rcps-category-pill:hover {
	border-color: #3f5f4b;
	background: #f3f8f4;
}

.single-recipe .rcps-list-social {
	list-style: none;
	display: flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0;
	padding: 0;
}

.single-recipe .rcps-list-social-share a,
.single-recipe .rcps-social-print {
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 9px;
	background: #eff3ef;
	color: #2f4d3b;
	transition: transform .18s ease, background .18s ease;
}

.single-recipe .rcps-list-social-share a:hover,
.single-recipe .rcps-social-print:hover {
	transform: translateY(-1px);
	background: #dfe9e1;
}

.single-recipe .rcps-list-social-share .rcps-icon {
	width: 0.96rem;
	height: 0.96rem;
}

.single-recipe .rcps-section-comments {
	margin-top: 1rem;
}

.single-recipe .ct-comments-wrap {
	padding: 1.4rem;
	border-radius: 16px;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.07);
}

.single-recipe .rcps-commentlist {
	list-style: none;
	margin: 0 0 1.2rem;
	padding: 0;
}

.single-recipe .comment-respond .comment-reply-title {
	font-family: var(--ct-font-body);
	font-size: 1.15rem;
	margin: 0 0 0.7rem;
}

.single-recipe .comment-respond .rcps-fieldset {
	margin: 0 0 0.8rem;
	border: 0;
	padding: 0;
}

.single-recipe .comment-respond .rcps-label {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 0.9rem;
	font-weight: 600;
}

.single-recipe .comment-respond .rcps-text-input,
.single-recipe .comment-respond .rcps-textarea {
	width: 100%;
	padding: 0.7rem 0.9rem;
	border-radius: 10px;
	border: 1px solid rgba(0, 0, 0, 0.16);
	font: inherit;
}

.single-recipe .comment-respond .form-submit {
	margin: 0.9rem 0 0;
}

.single-recipe .comment-respond .submit {
	padding: 0.68rem 1.1rem;
	border: 0;
	border-radius: 999px;
	background: #3f5f4b;
	color: #fff;
	font-weight: 600;
	cursor: pointer;
}

.single-recipe .ct-recipe-affiliate-section {
	margin: 2rem 0;
}

.single-recipe .ct-recipe-affiliate-box {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.2rem;
	align-items: stretch;
	padding: 1rem;
	border: 1px solid #e8e2d8;
	border-radius: 14px;
	background: #fff;
	box-shadow: none;
}

.single-recipe .ct-recipe-affiliate-box.has-image {
	grid-template-columns: minmax(180px, 0.38fr) minmax(0, 1fr);
}

.single-recipe .ct-recipe-affiliate-box__image {
	margin: 0;
	min-width: 0;
	border-radius: 10px;
	overflow: hidden;
	background: #f0ede8;
}

.single-recipe .ct-recipe-affiliate-box__image img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.single-recipe .ct-recipe-affiliate-box__text {
	min-width: 0;
	padding: 0.35rem 0.25rem;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.single-recipe .ct-recipe-affiliate-box__text > :first-child {
	margin-top: 0;
}

.single-recipe .ct-recipe-affiliate-box__text > :last-child {
	margin-bottom: 0;
}

@media (max-width: 720px) {
	.single-recipe .ct-recipe-affiliate-box.has-image {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   Final Home + Single Polish
   ========================================================================== */

.ct-announcement-bar {
	display: none !important;
}

.home .ct-main {
	padding: 20px;
}

.home .ct-main > section,
.home .ct-main > .ct-home-top-recipes,
.home .ct-main > .ct-home-youtube,
.home .ct-main > .ct-home-topics {
	border-radius: 18px;
	overflow: hidden;
}

.home .ct-hero {
	height: clamp(300px, 52vw, 700px);
	min-height: 320px;
	border-radius: 18px;
	background-position: center center;
}

.home .ct-hero::before {
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.28));
}

.ct-search-strip--home {
	margin-top: 18px;
	padding: 1.25rem 1.6rem 1.4rem;
	background: #f3f1ed;
}

.ct-search-strip--home .ct-search-strip__inner {
	max-width: none;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}

.ct-search-strip__label {
	margin: 0;
	font-family: var(--ct-font-body);
	font-size: clamp(1.65rem, 3.5vw, 2.65rem);
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: none;
	color: #1a1a1a;
}

.ct-search-strip--home .ct-recipe-search {
	width: 100%;
	margin-left: 0;
	position: relative;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.ct-home-filter {
	display: grid;
	grid-template-columns: repeat(6, minmax(150px, 1fr));
	gap: 0.62rem;
	width: 100%;
	margin-top: 0.45rem;
}

.ct-home-filter__field {
	position: relative;
	display: block;
	min-width: 0;
}

.ct-home-filter__field::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 1rem;
	width: 0.44rem;
	height: 0.44rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-66%) rotate(45deg);
	pointer-events: none;
	color: #fff;
}

.ct-home-filter__select {
	width: 100%;
	min-height: 46px;
	padding: 0 2.2rem 0 1.05rem;
	background: #111;
	border: 1px solid #111;
	border-radius: 999px;
	color: #fff;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	font-size: 0.95rem;
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
	transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.ct-home-filter__select:hover,
.ct-home-filter__select:focus {
	background: #3f5f4b;
	border-color: #3f5f4b;
	color: #fff;
	outline: none;
	box-shadow: 0 0 0 3px rgba(63, 95, 75, 0.16), 0 8px 18px rgba(0, 0, 0, 0.08);
}

.ct-home-filter__select option {
	background: #fff;
	color: #1a1a1a;
	font-weight: 600;
}

.ct-search-strip--home .ct-recipe-search__input {
	min-height: 56px;
	padding: 0 1.15rem;
	border-radius: 999px;
	border: 1.5px solid rgba(0, 0, 0, 0.14);
	background: #fff;
	font-size: 1rem;
}

.ct-search-strip--home .ct-recipe-search__input:focus {
	outline: none;
	border-color: #3f5f4b;
	box-shadow: 0 0 0 3px rgba(63, 95, 75, 0.12);
}

.ct-search-strip--home .ct-recipe-search__btn {
	min-height: 56px;
	padding: 0 1.15rem;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
}

.ct-search-strip--home .ct-recipe-search__btn svg {
	width: 1rem;
	height: 1rem;
}

.ct-search-strip--home .ct-recipe-search__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.8rem;
	width: 100%;
}

.ct-search-strip--home .ct-recipe-search__btn {
	white-space: nowrap;
}

.ct-recipe-search-live {
	position: relative;
	z-index: 2;
	width: calc(100% - 154px);
	max-width: 100%;
	margin: -0.15rem 0 0;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 18px;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.14);
	overflow: hidden;
}

.ct-recipe-live-results {
	padding: 0.85rem;
}

.ct-recipe-live-results__title {
	margin: 0 0 0.65rem;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #5f7466;
}

.ct-recipe-live-results__list {
	display: grid;
	gap: 0.25rem;
}

.ct-recipe-live-result {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 0.8rem;
	align-items: center;
	padding: 0.55rem;
	border-radius: 12px;
	color: #1b1b1b;
	text-decoration: none;
	transition: background 0.16s ease, transform 0.16s ease;
}

.ct-recipe-live-result:hover,
.ct-recipe-live-result:focus {
	background: #f3f7f4;
	color: #1b1b1b;
	transform: translateY(-1px);
	outline: none;
}

.ct-recipe-live-result__thumb {
	width: 64px;
	aspect-ratio: 1 / 1;
	border-radius: 10px;
	overflow: hidden;
	background: #f0ede8;
}

.ct-recipe-live-result__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ct-recipe-live-result__body {
	display: grid;
	gap: 0.25rem;
	min-width: 0;
}

.ct-recipe-live-result__name {
	font-weight: 800;
	line-height: 1.25;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ct-recipe-live-result__meta {
	min-height: 1.2em;
	font-size: 0.82rem;
	color: #68716b;
}

.ct-recipe-live-results__all {
	display: inline-flex;
	margin: 0.75rem 0.55rem 0.2rem;
	font-weight: 800;
	color: #3f5f4b;
	text-decoration: none;
}

.ct-recipe-live-results__all:hover {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.ct-recipe-live-results--empty,
.ct-recipe-live-results--loading {
	color: #626262;
	font-weight: 700;
}

.ct-search-strip--home .ct-diet-filter__label {
	flex-basis: 100%;
	margin: 0 0 0.15rem;
	color: #6d6d6d;
}

@media (max-width: 900px) {
	.home .ct-main {
		padding: 12px;
	}

	.ct-search-strip--home .ct-search-strip__inner {
		gap: 0.55rem;
	}

	.ct-search-strip--home .ct-recipe-search {
		margin-left: 0;
	}

	.ct-recipe-search-live {
		position: relative;
		width: 100%;
		max-width: none;
		margin-top: 0;
	}

	.ct-home-filter {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.ct-home-filter {
		grid-template-columns: 1fr;
	}
}

.ct-next-recipe {
	margin-top: 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.ct-next-recipe__title {
	margin: 0 0 0.75rem;
	font-family: var(--ct-font-body);
	font-size: 1.05rem;
	font-weight: 700;
}

.ct-next-recipe__card {
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 1rem;
	align-items: center;
	padding: 0.7rem;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 12px;
	background: #fff;
	transition: transform .2s ease, box-shadow .2s ease;
}

.ct-next-recipe__card:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
}

.ct-next-recipe__thumb {
	display: block;
	border-radius: 10px;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: #ece8e1;
}

.ct-next-recipe__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ct-next-recipe__content {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}

.ct-next-recipe__name {
	font-size: 1.04rem;
	font-weight: 700;
	line-height: 1.35;
	color: #1a1a1a;
}

.ct-next-recipe__cta {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	padding: 0.36rem 0.7rem;
	border-radius: 999px;
	background: #3f5f4b;
	color: #fff;
	font-size: 0.8rem;
	font-weight: 600;
}

@media (max-width: 620px) {
	.ct-next-recipe__card {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   Topic Page - Bianca Inspired
   ========================================================================== */
.tax-topic .ct-main {
	padding: 36px 20px 48px;
	background: #f3f3f3;
}

.ct-topic-page__inner {
	max-width: 1500px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 430px;
	gap: 4.2rem;
}

.ct-topic-main__header {
	margin-bottom: 2.6rem;
}

.ct-topic-main__title {
	font-family: var(--ct-font-body);
	font-size: clamp(2.5rem, 4.4vw, 4.3rem);
	letter-spacing: 0.04em;
	font-weight: 700;
	margin: 0 0 1rem;
	color: #151515;
}

.ct-topic-main__lead {
	max-width: 840px;
	font-size: clamp(1.03rem, 1.6vw, 1.18rem);
	line-height: 1.85;
	margin: 0;
	color: #2f2f2f;
}

.ct-topic-main__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2.45rem 1.7rem;
	align-items: start;
}

.ct-topic-main .ct-recipe-card {
	background: transparent;
	box-shadow: none;
	border-radius: 0;
	display: flex;
	min-width: 0;
}

.ct-topic-main .ct-recipe-card:hover {
	transform: none;
	box-shadow: none;
}

.ct-topic-main .ct-recipe-card__link {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
}

.ct-topic-main .ct-recipe-card__image {
	border-radius: 0;
	aspect-ratio: 1 / 1;
}

.post-type-archive-recipe .ct-recipe-card__image {
	aspect-ratio: 1 / 1;
}

.ct-topic-main .ct-recipe-card__image img,
.post-type-archive-recipe .ct-recipe-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ct-topic-main .ct-recipe-card__content {
	display: flex;
	flex-direction: column;
	padding: 0.9rem 0 0;
}

.ct-topic-card__content-top {
	padding: 0 0 0.75rem;
}

.ct-topic-card__meta-top {
	margin: 0;
	font-size: 0.72rem;
	color: #8f8f8f;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	line-height: 1.45;
}

.ct-topic-card__meta-sep {
	margin: 0 0.35rem;
}

.ct-topic-card__content-bottom {
	padding-top: 0.9rem;
}

.ct-topic-main .ct-recipe-card__meta {
	margin: 0 0 0.9rem;
}

.ct-topic-main .ct-recipe-card__title {
	font-family: var(--ct-font-body);
	font-weight: 700;
	font-size: clamp(1.45rem, 2vw, 2rem);
	line-height: 1.28;
	letter-spacing: 0.012em;
	margin: 0;
}

.ct-topic-main__pagination {
	margin-top: 1.7rem;
}

.ct-topic-side {
	padding-top: 0.4rem;
}

.ct-topic-side__search,
.ct-topic-side__recent,
.ct-topic-side__social,
.ct-topic-side__about,
.ct-topic-side__video {
	padding: 1.5rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.ct-topic-side-search {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	background: #fff;
	border: 1px solid #dcdcdc;
	min-height: 86px;
}

.ct-topic-side-search__input {
	flex: 1;
	border: 0;
	background: transparent;
	padding: 0 1.1rem;
	font: inherit;
	font-size: 2.05rem;
	color: #1c1c1c;
}

.ct-topic-side-search__input:focus {
	outline: none;
}

.ct-topic-side-search__btn {
	width: 72px;
	height: 86px;
	border: 0;
	background: transparent;
	color: #202020;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.ct-topic-side-search__btn svg {
	width: 1.6rem;
	height: 1.6rem;
}

.ct-topic-side-search .ct-diet-filter {
	padding: 0 1.1rem 1.1rem;
}

.ct-topic-side__title {
	margin: 0 0 1.15rem;
	font-family: var(--ct-font-body);
	font-size: clamp(1.45rem, 1.9vw, 2rem);
	letter-spacing: 0.13em;
	text-transform: uppercase;
	font-weight: 700;
}

.ct-topic-page--archive .ct-topic-main__header {
	margin-bottom: 2rem;
}

.ct-archive-topics {
	display: flex;
	flex-direction: column;
	gap: 2.7rem;
}

.ct-archive-topic {
	padding-bottom: 2.4rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.ct-archive-topic:last-child {
	border-bottom: 0;
}

.ct-archive-topic__title {
	margin: 0 0 0.55rem;
	font-family: var(--ct-font-body);
	font-size: clamp(1.8rem, 2.5vw, 2.5rem);
	line-height: 1.2;
}

.ct-archive-topic__title a {
	color: #171717;
}

.ct-archive-topic__desc {
	margin: 0 0 1.15rem;
	max-width: 760px;
	color: #3d3d3d;
	line-height: 1.7;
}

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

.ct-archive-topic .ct-recipe-card {
	background: transparent;
	box-shadow: none;
	border-radius: 0;
}

.ct-archive-topic .ct-recipe-card__image {
	border-radius: 0;
	aspect-ratio: 1 / 1;
}

.ct-archive-topic .ct-recipe-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ct-archive-topic__cta {
	margin-top: 1.15rem;
}

.ct-filtered-recipes__head {
	margin-bottom: 1.35rem;
}

.ct-filtered-recipes__eyebrow {
	margin: 0 0 0.3rem;
	color: #777;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ct-filtered-recipes__title {
	margin: 0 0 0.55rem;
	font-family: var(--ct-font-body);
	font-size: clamp(1.9rem, 2.7vw, 2.7rem);
	line-height: 1.15;
}

.ct-filtered-recipes__desc {
	max-width: 760px;
	margin: 0;
	color: #474747;
	line-height: 1.7;
}

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

.ct-filtered-recipes .ct-recipe-card {
	background: transparent;
	box-shadow: none;
}

.ct-filtered-recipes .ct-recipe-card__image {
	aspect-ratio: 1 / 1;
	border-radius: 16px;
}

.ct-filtered-recipes .ct-recipe-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ct-filtered-recipes__cta {
	margin-top: 1.25rem;
}

.ct-topic-recent-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.ct-topic-recent-list__item {
	padding: 1.15rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.ct-topic-recent-list__link {
	display: grid;
	grid-template-columns: 136px 1fr;
	gap: 1.2rem;
	align-items: center;
	color: #121212;
}

.ct-topic-recent-list__thumb {
	display: block;
	width: 136px;
	aspect-ratio: 1 / 1;
	border-radius: 0;
	overflow: hidden;
	background: #efefef;
}

.ct-topic-recent-list__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ct-topic-recent-list__title {
	font-size: 1.06rem;
	font-weight: 600;
	line-height: 1.34;
}

.ct-topic-social-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.ct-topic-social-btn {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #d9a5af;
	color: #fff;
	font-weight: 700;
	font-size: 0.95rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-transform: uppercase;
}

.ct-topic-social-btn svg {
	width: 1.25rem;
	height: 1.25rem;
}

.ct-topic-social-btn:hover {
	color: #fff;
	filter: brightness(0.94);
}

.ct-topic-aboutme {
	display: grid;
	grid-template-columns: 100px 1fr;
	gap: 1rem;
	align-items: start;
	padding: 1rem;
	border-radius: 12px;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.07);
}

.ct-topic-aboutme--no-avatar {
	display: block;
}

.ct-topic-aboutme__avatar {
	width: 100px;
	height: 100px;
	border-radius: 999px;
	object-fit: cover;
}

.ct-topic-aboutme__name {
	margin: 0 0 0.65rem;
	font-weight: 700;
	color: #314f3e;
}

.ct-topic-aboutme__text p {
	margin: 0 0 0.85rem;
	line-height: 1.7;
	color: #333;
	overflow-wrap: anywhere;
	hyphens: auto;
}

.ct-topic-aboutme__text p:last-child {
	margin-bottom: 0;
}

.ct-topic-side__video-wrap {
	border-radius: 12px;
	overflow: hidden;
	background: #111;
}

.ct-topic-side__video-wrap iframe {
	display: block;
	width: 100%;
	aspect-ratio: 9 / 16;
	border: 0;
}

.ct-topic-main__empty {
	font-size: 1rem;
	color: #555;
}

@media (max-width: 1200px) {
	.ct-topic-page__inner {
		grid-template-columns: 1fr;
		gap: 1.8rem;
	}

	.ct-topic-side {
		order: -1;
	}

	.ct-topic-side-search__input {
		font-size: 1.5rem;
	}

	.ct-topic-recent-list__link {
		grid-template-columns: 108px 1fr;
	}

	.ct-topic-recent-list__thumb {
		width: 108px;
	}
}

@media (max-width: 760px) {
	.ct-footer-widgets {
		grid-template-columns: 1fr;
	}

	.ct-topic-main__grid,
	.ct-archive-topic__grid,
	.ct-filtered-recipes__grid {
		grid-template-columns: 1fr;
	}

	.ct-recipe-search__row {
		flex-direction: column;
		align-items: stretch;
	}

	.ct-recipe-search__btn {
		justify-content: center;
	}
}

/* ========================================================================== 
   2026 visual and usability polish
   ========================================================================== */

.ct-header__nav-main .ct-header__menu > li > button {
	appearance: none;
	margin: 0;
	padding: 0.25rem 0;
	border: 0;
	background: transparent;
	color: var(--ct-text);
	font: inherit;
	font-weight: 500;
	cursor: pointer;
}

.ct-header__nav-main .ct-header__menu > li > button:hover,
.ct-header__nav-main .ct-header__menu > li > button:focus-visible {
	color: var(--ct-primary);
}

.home .ct-hero {
	height: clamp(410px, 44vw, 590px);
	min-height: 410px;
}

.home .ct-hero::before {
	background: linear-gradient(90deg, rgba(12, 18, 14, 0.7) 0%, rgba(12, 18, 14, 0.34) 48%, rgba(12, 18, 14, 0.08) 78%);
}

.home .ct-hero__content {
	width: min(100%, 1180px);
	padding: clamp(2rem, 5vw, 4.5rem);
	text-align: left;
}

.ct-hero__eyebrow {
	margin: 0 0 0.85rem;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.home .ct-hero__title {
	max-width: 720px;
	margin: 0;
	font-size: clamp(2.35rem, 5vw, 4.7rem);
	line-height: 1.02;
	letter-spacing: -0.025em;
	text-transform: none;
}

.ct-hero__intro {
	max-width: 600px;
	margin: 1.1rem 0 0;
	font-size: clamp(1rem, 1.7vw, 1.25rem);
	line-height: 1.55;
	text-shadow: 0 2px 16px rgba(0, 0, 0, 0.45);
}

.ct-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.ct-hero__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.7rem 1.2rem;
	border: 1px solid rgba(255, 255, 255, 0.75);
	border-radius: 999px;
	color: #fff;
	font-weight: 750;
	transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.ct-hero__cta:hover,
.ct-hero__cta:focus-visible {
	transform: translateY(-2px);
	color: #fff;
}

.ct-hero__cta--primary {
	border-color: #3f5f4b;
	background: #3f5f4b;
}

.ct-hero__cta--secondary {
	background: rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(8px);
}

.ct-topic-main__eyebrow {
	margin: 0 0 0.55rem;
	color: #3f5f4b;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.ct-topic-main .ct-recipe-card {
	background: #fff;
	box-shadow: 0 12px 34px rgba(28, 42, 33, 0.07);
	border-radius: 16px;
	overflow: hidden;
	transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.ct-topic-main .ct-recipe-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 42px rgba(28, 42, 33, 0.12);
}

.ct-topic-main .ct-recipe-card__content {
	padding: 1rem 1.1rem 1.2rem;
}

.ct-topic-main,
.ct-topic-side,
.ct-topic-main__grid > *,
.ct-topic-page__inner > * {
	min-width: 0;
}

.ct-topic-side-search__input {
	min-width: 0;
}

.ct-site-shell {
	overflow-x: clip;
}

:where(a, button, input, select, textarea):focus-visible {
	outline: 3px solid rgba(63, 95, 75, 0.42);
	outline-offset: 3px;
}

@media (max-width: 760px) {
	.ct-header__inner {
		position: relative;
		justify-content: space-between;
	}

	.ct-header__nav-main {
		width: auto;
		margin-left: auto;
	}

	.ct-nav-toggle {
		width: 44px;
		height: 44px;
		padding: 10px;
	}

	.ct-header__nav-main .ct-header__menu.is-active {
		position: absolute;
		top: calc(100% - 0.5rem);
		left: 1rem;
		right: 1rem;
		z-index: 40;
		width: auto;
		padding: 1rem;
		border-radius: 12px;
		background: #fff;
		box-shadow: 0 14px 38px rgba(0, 0, 0, 0.16);
	}

	.home .ct-hero {
		height: 500px;
		min-height: 500px;
		background-position: 57% center;
	}

	.home .ct-hero::before {
		background: linear-gradient(to top, rgba(12, 18, 14, 0.84), rgba(12, 18, 14, 0.12) 75%);
	}

	.home .ct-hero__content {
		align-self: flex-end;
		padding: 1.6rem;
	}

	.ct-hero__actions {
		gap: 0.55rem;
	}

	.ct-hero__cta {
		min-height: 44px;
		padding: 0.62rem 1rem;
		font-size: 0.9rem;
	}
}

/* ==========================================================================
   Recipe discovery polish
   ========================================================================== */
.ct-hero--about {
	height: clamp(360px, 38vw, 540px);
	min-height: 360px;
	border-radius: 18px;
}

.ct-hero--about::before {
	background: linear-gradient(90deg, rgba(12, 18, 14, 0.68), rgba(12, 18, 14, 0.18) 72%);
}

.ct-hero--about .ct-hero__content {
	width: min(100%, 1120px);
	padding: clamp(2rem, 5vw, 4.5rem);
	text-align: left;
}

.ct-hero--about .ct-hero__title {
	max-width: 720px;
	margin: 0;
	font-size: clamp(2.5rem, 5vw, 4.7rem);
	line-height: 1.04;
	text-transform: none;
}

.ct-page-main--about {
	padding-top: clamp(1.5rem, 3vw, 2.5rem);
}

.ct-recipe-discovery {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(520px, 1.1fr);
	align-items: center;
	gap: clamp(2.4rem, 5vw, 5.4rem);
	max-width: 1500px;
	margin: 0 auto clamp(3rem, 5vw, 4.8rem);
	padding: clamp(2.2rem, 4.5vw, 4.6rem);
	border: 1px solid rgba(63, 95, 75, 0.12);
	border-radius: 26px;
	background:
		radial-gradient(circle at 2% 100%, rgba(104, 139, 104, 0.2), transparent 34%),
		linear-gradient(135deg, #f7f2e9 0%, #edf3ed 100%);
	box-shadow: 0 18px 50px rgba(34, 51, 40, 0.07);
	overflow: hidden;
}

.ct-recipe-discovery::after {
	position: absolute;
	top: -110px;
	right: -85px;
	width: 250px;
	height: 250px;
	border: 52px solid rgba(255, 255, 255, 0.34);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.ct-recipe-discovery__intro,
.ct-recipe-discovery__search-card {
	position: relative;
	z-index: 1;
}

.ct-recipe-discovery__eyebrow {
	margin: 0 0 0.85rem;
	color: #45644f;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.ct-recipe-discovery__title {
	max-width: 660px;
	margin: 0;
	color: #172019;
	font-family: var(--ct-font-body);
	font-size: clamp(2.7rem, 5vw, 5.2rem);
	font-weight: 720;
	letter-spacing: -0.035em;
	line-height: 0.98;
}

.ct-recipe-discovery__lead {
	max-width: 620px;
	margin: clamp(1.3rem, 2.5vw, 2rem) 0 0;
	color: #3f4941;
	font-size: clamp(1rem, 1.35vw, 1.18rem);
	line-height: 1.72;
}

.ct-recipe-discovery__search-card {
	padding: clamp(1.5rem, 2.6vw, 2.25rem);
	border: 1px solid rgba(38, 55, 44, 0.1);
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 16px 42px rgba(28, 42, 33, 0.1);
}

.ct-recipe-discovery__search-title {
	margin: 0 0 1.25rem;
	color: #1d261f;
	font-family: var(--ct-font-body);
	font-size: clamp(1.25rem, 2vw, 1.65rem);
	font-weight: 750;
	line-height: 1.25;
}

.ct-recipe-discovery-search__label,
.ct-recipe-discovery-search__filter-label {
	display: block;
	margin: 0 0 0.55rem;
	color: #687069;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.ct-recipe-discovery-search__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 54px;
	min-height: 56px;
	border: 1px solid rgba(38, 55, 44, 0.18);
	border-radius: 13px;
	background: #fff;
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ct-recipe-discovery-search__row:focus-within {
	border-color: #4a6d55;
	box-shadow: 0 0 0 3px rgba(74, 109, 85, 0.13);
}

.ct-recipe-discovery-search__input {
	min-width: 0;
	padding: 0.8rem 1rem;
	border: 0;
	background: transparent;
	color: #1d261f;
	font: inherit;
	font-size: 0.96rem;
}

.ct-recipe-discovery-search__input:focus {
	outline: 0;
}

.ct-recipe-discovery-search__input::placeholder {
	color: #8a918b;
}

.ct-recipe-discovery-search__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	border: 0;
	background: #263f30;
	color: #fff;
	cursor: pointer;
	transition: background 0.2s ease;
}

.ct-recipe-discovery-search__btn:hover {
	background: #3f5f4b;
}

.ct-recipe-discovery-search__btn svg {
	width: 1.35rem;
	height: 1.35rem;
}

.ct-recipe-discovery-search__filter-label {
	margin-top: 1.35rem;
}

.ct-recipe-discovery-search .ct-diet-filter {
	gap: 0.5rem;
	margin-top: 0;
}

.ct-recipe-discovery-search .ct-diet-filter__button {
	padding: 0.57rem 0.76rem;
	font-size: 0.79rem;
}

.post-type-archive-recipe .ct-topic-page__inner {
	align-items: start;
}

.post-type-archive-recipe .ct-archive-topics {
	gap: clamp(3.5rem, 6vw, 5.5rem);
}

.post-type-archive-recipe .ct-archive-topic {
	padding: 0 clamp(0.25rem, 1.5vw, 1.25rem) clamp(3rem, 5vw, 4.5rem);
}

.post-type-archive-recipe .ct-archive-topic__title {
	margin-bottom: 1.35rem;
}

.post-type-archive-recipe .ct-archive-topic__grid,
.post-type-archive-recipe .ct-filtered-recipes__grid {
	align-items: stretch;
	gap: 1.7rem;
}

.post-type-archive-recipe .ct-archive-topic .ct-recipe-card,
.post-type-archive-recipe .ct-filtered-recipes .ct-recipe-card {
	height: 100%;
	border: 1px solid rgba(38, 55, 44, 0.08);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 12px 34px rgba(28, 42, 33, 0.07);
	overflow: hidden;
}

.post-type-archive-recipe .ct-archive-topic .ct-recipe-card__link,
.post-type-archive-recipe .ct-filtered-recipes .ct-recipe-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.post-type-archive-recipe .ct-topic-card__content-top {
	min-height: 126px;
	padding: 1.2rem 1.3rem 1rem;
}

.post-type-archive-recipe .ct-topic-card__content-top .ct-recipe-card__title {
	display: -webkit-box;
	min-height: 2.55em;
	margin: 0 0 0.65rem;
	overflow: hidden;
	font-size: clamp(1.2rem, 1.7vw, 1.55rem);
	line-height: 1.28;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.post-type-archive-recipe .ct-archive-topic .ct-recipe-card__image {
	margin-top: auto;
	border-radius: 0;
	aspect-ratio: 4 / 3;
}

.post-type-archive-recipe .ct-filtered-recipes {
	padding: 0 clamp(0.25rem, 1.5vw, 1.25rem);
}

.post-type-archive-recipe .ct-filtered-recipes__head {
	margin-bottom: 2rem;
}

.post-type-archive-recipe .ct-filtered-recipes .ct-recipe-card__image {
	border-radius: 0;
	aspect-ratio: 4 / 3;
}

.post-type-archive-recipe .ct-filtered-recipes .ct-recipe-card__content {
	flex: 1;
	padding: 1.15rem 1.3rem 1.35rem;
}

.post-type-archive-recipe .ct-filtered-recipes .ct-recipe-card__title {
	display: -webkit-box;
	min-height: 2.55em;
	overflow: hidden;
	font-size: clamp(1.2rem, 1.7vw, 1.55rem);
	line-height: 1.28;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.ct-topic-archive-grid .ct-recipe-card {
	height: 100%;
	border: 1px solid rgba(38, 55, 44, 0.08);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 12px 34px rgba(28, 42, 33, 0.07);
	overflow: hidden;
}

.ct-topic-archive-grid .ct-recipe-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.ct-topic-archive-grid .ct-recipe-card__image {
	border-radius: 0;
	aspect-ratio: 4 / 3;
}

.ct-topic-archive-grid .ct-recipe-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.15rem 1.25rem 1.35rem;
}

.ct-topic-archive-grid .ct-recipe-card__title {
	display: -webkit-box;
	min-height: 2.55em;
	margin: 0;
	overflow: hidden;
	font-size: clamp(1.15rem, 1.6vw, 1.45rem);
	line-height: 1.28;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.ct-recipe-card__vegan-badge,
.ct-recipe-card__calories {
	display: inline-flex;
	align-items: center;
	gap: 0.32rem;
}

.ct-recipe-card__vegan-badge--vegetarian {
	border: 1.5px solid #5e7a45;
	background: rgba(255, 255, 255, 0.95);
	color: #36502b;
}

.post-type-archive-recipe .ct-topic-side__recent {
	padding-top: 2rem;
}

.post-type-archive-recipe .ct-topic-side__title {
	padding: 0 0.35rem;
}

.post-type-archive-recipe .ct-topic-recent-list {
	gap: 0.9rem;
	border-top: 0;
}

.post-type-archive-recipe .ct-topic-recent-list__item {
	padding: 0;
	border: 0;
}

.post-type-archive-recipe .ct-topic-recent-list__link {
	grid-template-columns: 142px minmax(0, 1fr);
	gap: 0;
	min-height: 142px;
	border: 1px solid rgba(38, 55, 44, 0.09);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(28, 42, 33, 0.06);
	overflow: hidden;
}

.post-type-archive-recipe .ct-topic-recent-list__thumb {
	position: relative;
	width: 142px;
	height: 100%;
	min-height: 142px;
	border-radius: 0;
	aspect-ratio: auto;
}

.ct-topic-recent-list__badges {
	position: absolute;
	left: 0.45rem;
	right: 0.45rem;
	bottom: 0.45rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem;
}

.ct-topic-recent-list__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.22rem;
	padding: 0.25rem 0.42rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.94);
	color: #25382b;
	font-size: 0.65rem;
	font-weight: 800;
	line-height: 1.1;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.14);
}

.ct-topic-recent-list__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-self: stretch;
	padding: 1rem 1.05rem;
}

.post-type-archive-recipe .ct-topic-recent-list__title {
	display: -webkit-box;
	overflow: hidden;
	font-size: 1rem;
	font-weight: 750;
	line-height: 1.35;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.ct-topic-recent-list__date {
	margin-top: 0.55rem;
	color: #7a7a7a;
	font-size: 0.7rem;
	font-weight: 650;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

@media (min-width: 1201px) {
	.post-type-archive-recipe .ct-topic-side__recent {
		width: 340px;
		max-width: 100%;
		margin-right: auto;
	}

	.post-type-archive-recipe .ct-topic-recent-list__link {
		grid-template-columns: 112px minmax(0, 1fr);
		min-height: 116px;
	}

	.post-type-archive-recipe .ct-topic-recent-list__thumb {
		width: 112px;
		min-height: 116px;
	}

	.post-type-archive-recipe .ct-topic-recent-list__content {
		padding: 0.8rem 0.85rem;
	}

	.post-type-archive-recipe .ct-topic-recent-list__title {
		font-size: 0.92rem;
	}

	.post-type-archive-recipe .ct-topic-recent-list__date {
		font-size: 0.65rem;
	}
}

@media (max-width: 760px) {
	.ct-hero--about {
		height: 440px;
		min-height: 440px;
	}

	.ct-hero--about .ct-hero__content {
		align-self: flex-end;
		padding: 1.6rem;
	}

	.post-type-archive-recipe .ct-archive-topic,
	.post-type-archive-recipe .ct-filtered-recipes {
		padding-inline: 0.4rem;
	}

	.post-type-archive-recipe .ct-topic-card__content-top {
		min-height: 116px;
	}

	.post-type-archive-recipe .ct-topic-recent-list__link {
		grid-template-columns: 122px minmax(0, 1fr);
		min-height: 128px;
	}

	.post-type-archive-recipe .ct-topic-recent-list__thumb {
		width: 122px;
		min-height: 128px;
	}
}

@media (max-width: 1100px) {
	.ct-recipe-discovery {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.ct-recipe-discovery__lead {
		max-width: 760px;
	}
}

@media (max-width: 1200px) {
	.post-type-archive-recipe .ct-topic-side {
		order: initial;
	}
}

@media (max-width: 760px) {
	.ct-recipe-discovery {
		margin-bottom: 2.7rem;
		padding: 1.35rem;
		border-radius: 18px;
	}

	.ct-recipe-discovery__title {
		font-size: clamp(2.35rem, 13vw, 3.5rem);
		line-height: 1.02;
	}

	.ct-recipe-discovery__lead {
		margin-top: 1rem;
		font-size: 0.98rem;
		line-height: 1.6;
	}

	.ct-recipe-discovery__search-card {
		padding: 1.15rem;
		border-radius: 15px;
	}

	.ct-recipe-discovery__search-title {
		font-size: 1.22rem;
	}

	.ct-recipe-discovery-search__input {
		font-size: 0.9rem;
	}
}
