/* Homepage-specific styles */

/* ---------- Hero ---------- */
.cor-hero { padding: clamp(48px, 7vw, 96px) 0 clamp(40px, 5vw, 72px); position: relative; overflow: hidden; }
.cor-hero::before {
	content: ''; position: absolute; top: -200px; right: -200px; width: 700px; height: 700px;
	background: radial-gradient(circle, var(--cor-cream-l), transparent 60%); opacity: .6; pointer-events: none;
}
.cor-hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(32px, 5vw, 80px); align-items: center; position: relative; }
@media (max-width: 880px) { .cor-hero-grid { grid-template-columns: 1fr; } }
.cor-hero-title {
	font-size: clamp(2.4rem, 4.4vw + .4rem, 4rem);
	font-weight: 500; line-height: 1.08;
	letter-spacing: -.02em;
	margin: .25rem 0 1rem;
}
.cor-hero-title em { font-style: italic; color: var(--cor-sage-d); font-weight: 400; }
.cor-hero-sub { font-size: 1.1rem; color: var(--cor-ink-2); max-width: 56ch; margin: 0 0 2rem; }
.cor-hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 1.5rem; }
.cor-hero-stats { font-size: .82rem; color: var(--cor-muted); margin: 0 0 1.2rem; letter-spacing: .04em; }
.cor-hero-trust-row { display: flex; align-items: center; gap: 14px; }
.cor-hero-trust-row p { margin: 0; font-size: .88rem; color: var(--cor-muted); }
.cor-avatars { display: flex; }
.cor-avatar {
	width: 32px; height: 32px; border-radius: 999px; border: 2px solid var(--cor-bg);
	background: linear-gradient(135deg, var(--cor-cream), var(--cor-cream-d)); margin-right: -8px;
	display: inline-block;
}
.cor-avatar:nth-child(2) { background: linear-gradient(135deg, var(--cor-sage-l), var(--cor-sage)); }
.cor-avatar:nth-child(3) { background: linear-gradient(135deg, #F1C9A0, var(--cor-cream-d)); }

.cor-hero-media { position: relative; min-height: 320px; display: flex; align-items: center; justify-content: center; }
.cor-hero-media img { max-height: 540px; width: 100%; object-fit: cover; border-radius: var(--cor-radius-lg); box-shadow: var(--cor-shadow-lg); }
.cor-hero-art { position: relative; width: 100%; aspect-ratio: 1/1; max-width: 480px; }
.cor-hero-circle { position: absolute; inset: 0; border-radius: 999px; background: linear-gradient(135deg, var(--cor-cream-l) 0%, var(--cor-bg-warm) 100%); }
.cor-hero-jar {
	position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
	width: 60%; aspect-ratio: 1/1.1; border-radius: 16% 16% 24% 24% / 12% 12% 18% 18%;
	background: radial-gradient(ellipse at 30% 30%, #fff 0%, #FBF5EB 40%, #F4EAD3 100%);
	box-shadow: inset -16px -10px 50px rgba(168,136,89,.25), 0 30px 60px rgba(0,0,0,.08);
}
.cor-hero-jar::after {
	content: ''; position: absolute; top: -6%; left: 14%; right: 14%; height: 14%;
	background: var(--cor-sage-d); border-radius: 16% 16% 8% 8%;
	box-shadow: inset 0 -4px 0 rgba(0,0,0,.15);
}
.cor-hero-tag {
	position: absolute; bottom: 16px; left: 16px;
	background: rgba(255,255,255,.95); backdrop-filter: blur(6px);
	padding: 8px 14px; border-radius: 999px;
	display: inline-flex; align-items: center; gap: 8px;
	font-size: .82rem; font-weight: 600; color: var(--cor-sage-d);
	box-shadow: var(--cor-shadow);
}

/* ---------- Trust bar ---------- */
.cor-trust-bar { background: var(--cor-sage); color: #F1ECE0; padding: 18px 0; overflow: hidden; }
.cor-trust-list {
	list-style: none; padding: 0; margin: 0;
	display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
	gap: 8px 32px; font-size: .92rem;
}
.cor-trust-list li { display: inline-flex; align-items: center; gap: 8px; opacity: .9; }
.cor-trust-list svg { color: var(--cor-cream); }

/* ---------- Featured products ---------- */
.cor-fp-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 20px; }
@media (max-width: 980px) { .cor-fp-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .cor-fp-grid { grid-template-columns: 1fr; } }
.cor-fp-grid > .cor-pb-featured { grid-column: 1; grid-row: span 2; }
@media (max-width: 980px) { .cor-fp-grid > .cor-pb-featured { grid-column: span 2; grid-row: auto; } }
@media (max-width: 600px) { .cor-fp-grid > .cor-pb-featured { grid-column: 1; } }

/* ---------- Quiz CTA ---------- */
.cor-quiz-cta { padding: clamp(40px, 5vw, 72px) 0; }
.cor-quiz-card {
	background: linear-gradient(135deg, var(--cor-sage) 0%, var(--cor-sage-d) 100%);
	color: #F1ECE0;
	border-radius: var(--cor-radius-lg);
	padding: clamp(28px, 4vw, 48px);
	display: grid; grid-template-columns: 80px 1fr auto; gap: 28px; align-items: center;
	box-shadow: var(--cor-shadow-lg);
}
@media (max-width: 760px) { .cor-quiz-card { grid-template-columns: 1fr; text-align: center; } .cor-quiz-card-icon { margin: 0 auto; } }
.cor-quiz-card h2 { color: #fff; margin: 0 0 .4rem; font-size: clamp(1.4rem, 2vw + 1rem, 2rem); }
.cor-quiz-card p { margin: 0; font-size: 1rem; opacity: .92; }
.cor-quiz-card-icon { color: var(--cor-cream); }

/* ---------- Editor picks ---------- */
.cor-editor-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 24px; }
@media (max-width: 980px) { .cor-editor-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .cor-editor-grid { grid-template-columns: 1fr; } }
.cor-feature-card { grid-row: span 2; background: var(--cor-paper); border: 1px solid var(--cor-line); border-radius: var(--cor-radius); overflow: hidden; display: flex; flex-direction: column; }
@media (max-width: 980px) { .cor-feature-card { grid-row: auto; grid-column: span 2; } }
@media (max-width: 600px) { .cor-feature-card { grid-column: 1; } }
.cor-feature-card-thumb { aspect-ratio: 16/10; overflow: hidden; }
.cor-feature-card-thumb img { width: 100%; height: 100%; object-fit: cover; }
.cor-feature-card-body { padding: 28px 28px 32px; flex: 1; }
.cor-feature-card-body h3 { font-size: clamp(1.5rem, 2vw + .6rem, 2rem); margin: .25rem 0 .5rem; }
.cor-feature-card-body h3 a { color: var(--cor-ink); }
.cor-feature-card-body h3 a:hover { color: var(--cor-cta); }
.cor-feature-card-excerpt { color: var(--cor-muted); }
.cor-feature-card-meta { font-size: .82rem; color: var(--cor-muted); margin: 1rem 0 0; }

/* ---------- Categories ---------- */
.cor-cats-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 14px; }
.cor-cat-card {
	display: flex; align-items: center; gap: 14px;
	background: var(--cor-paper); border: 1px solid var(--cor-line); border-radius: var(--cor-radius);
	padding: 18px 22px; color: var(--cor-ink); font-weight: 500;
	transition: border-color .15s ease, transform .15s ease, background .15s ease;
	position: relative;
}
.cor-cat-card:hover { border-color: var(--cor-ink); transform: translateY(-2px); color: var(--cor-ink); background: #fff; }
.cor-cat-emoji { font-size: 1.8rem; }
.cor-cat-arrow { margin-left: auto; opacity: 0; transition: opacity .15s ease; color: var(--cor-cta); font-weight: 700; }
.cor-cat-card:hover .cor-cat-arrow { opacity: 1; }

/* ---------- Tools grid ---------- */
.cor-tools-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; }
.cor-tool-card {
	background: var(--cor-paper); border: 1px solid var(--cor-line); border-radius: var(--cor-radius);
	padding: 28px 26px; color: var(--cor-ink);
	display: flex; flex-direction: column; gap: 10px;
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
	position: relative;
}
.cor-tool-card:hover { transform: translateY(-4px); border-color: var(--cor-ink); box-shadow: var(--cor-shadow); color: var(--cor-ink); }
.cor-tool-icon { font-size: 2rem; line-height: 1; }
.cor-tool-card h3 { margin: 0; font-size: 1.2rem; }
.cor-tool-card p { color: var(--cor-muted); font-size: .92rem; margin: 0; flex: 1; }
.cor-tool-arrow { font-size: .82rem; font-weight: 600; color: var(--cor-sage-d); margin-top: 8px; letter-spacing: .04em; text-transform: uppercase; }

/* ---------- Recipe spotlight ---------- */
.cor-rs-card {
	background: var(--cor-paper);
	border: 1px solid var(--cor-line); border-radius: var(--cor-radius-lg);
	overflow: hidden; display: grid; grid-template-columns: 1fr 1fr; gap: 0;
}
@media (max-width: 760px) { .cor-rs-card { grid-template-columns: 1fr; } }
.cor-rs-media { aspect-ratio: 4/3; overflow: hidden; }
.cor-rs-media img { width: 100%; height: 100%; object-fit: cover; }
.cor-rs-body { padding: clamp(24px, 4vw, 40px); display: flex; flex-direction: column; gap: 12px; }
.cor-rs-body h3 { font-size: clamp(1.5rem, 2vw + .6rem, 2rem); margin: 0; }
.cor-rs-body h3 a { color: var(--cor-ink); }
.cor-rs-body h3 a:hover { color: var(--cor-cta); }
.cor-rs-meta { display: flex; flex-wrap: wrap; gap: 14px; color: var(--cor-muted); font-size: .9rem; margin: 0; }
.cor-rs-excerpt { color: var(--cor-muted); margin: 0; }
.cor-rs-ing strong { display: block; font-size: .82rem; letter-spacing: .12em; text-transform: uppercase; color: var(--cor-cream-d); margin-bottom: .5em; }
.cor-rs-ing ul { margin: 0; padding-left: 1.2em; font-size: .92rem; }
.cor-rs-body .cor-btn { align-self: flex-start; margin-top: 6px; }

/* ---------- Ingredient spotlight ---------- */
.cor-is-card {
	background: linear-gradient(135deg, var(--cor-sage-l) 0%, var(--cor-paper) 100%);
	border-radius: var(--cor-radius-lg);
	display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(28px, 4vw, 56px);
	padding: clamp(32px, 5vw, 56px);
	border: 1px solid var(--cor-line);
}
@media (max-width: 760px) { .cor-is-card { grid-template-columns: 1fr; } }
.cor-is-card h2 { font-size: clamp(1.5rem, 2vw + .8rem, 2.2rem); margin: 0 0 .4rem; }
.cor-is-inci { font-size: .92rem; color: var(--cor-muted); margin: 0 0 1rem; }
.cor-is-excerpt { font-size: 1.05rem; color: var(--cor-ink-2); margin-bottom: 1.2rem; }
.cor-is-meter { margin: 1rem 0 1.5rem; }
.cor-is-meter-label { font-size: .82rem; color: var(--cor-muted); margin-bottom: 6px; }
.cor-is-meter-bar { background: var(--cor-line); border-radius: 999px; height: 10px; overflow: hidden; }
.cor-is-meter-bar > div { background: linear-gradient(90deg, var(--cor-sage) 0%, var(--cor-cream) 50%, var(--cor-cta) 100%); height: 100%; }
.cor-is-meter-num { font-size: .82rem; color: var(--cor-muted); margin-top: 4px; }
.cor-is-benefits { background: rgba(255,255,255,.7); border-radius: var(--cor-radius); padding: 22px 26px; }
.cor-is-benefits h3 { margin: 0 0 1rem; font-size: 1.05rem; font-family: var(--cor-sans); letter-spacing: .04em; text-transform: uppercase; color: var(--cor-muted); }
.cor-is-benefits ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.cor-is-benefits li { display: flex; gap: 8px; align-items: flex-start; font-size: .95rem; }
.cor-is-benefits svg { color: var(--cor-sage-d); margin-top: 4px; flex: 0 0 auto; }

/* ---------- FAQ ---------- */
.cor-faq-wrap { max-width: 760px; }
.cor-faq-list { display: grid; gap: 8px; }
.cor-faq-item { background: var(--cor-paper); border: 1px solid var(--cor-line); border-radius: var(--cor-radius); overflow: hidden; }
.cor-faq-item summary { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; cursor: pointer; list-style: none; font-weight: 600; font-size: 1.05rem; }
.cor-faq-item summary::-webkit-details-marker { display: none; }
.cor-faq-q { padding-right: 16px; }
.cor-faq-icon { font-size: 1.4rem; font-weight: 300; color: var(--cor-cream-d); transition: transform .2s ease; flex: 0 0 auto; }
.cor-faq-item[open] .cor-faq-icon { transform: rotate(45deg); }
.cor-faq-a { padding: 0 22px 20px; color: var(--cor-ink-2); }
.cor-faq-a p { margin: 0; }

/* ---------- Newsletter section ---------- */
.cor-newsletter-section { padding: clamp(40px, 5vw, 72px) 0; }
.cor-nl-card {
	background: var(--cor-cream-l);
	border-radius: var(--cor-radius-lg);
	padding: clamp(28px, 4vw, 48px);
	display: grid; grid-template-columns: 1.2fr 1fr; gap: 32px; align-items: center;
}
@media (max-width: 760px) { .cor-nl-card { grid-template-columns: 1fr; } }
.cor-nl-text h2 { margin: 0 0 .5rem; }
.cor-nl-text p { margin: 0; color: var(--cor-ink-2); }
.cor-nl-form { display: flex; gap: 8px; }
.cor-nl-form input { flex: 1; padding: 14px 18px; border-radius: 999px; border: 1px solid var(--cor-line-2); background: #fff; }
.cor-nl-form.is-done input { opacity: .6; }
