/* Recipe-world home only; shared type, colors, cards and header remain the base. */
.recipe-home {
	--home-space: clamp(2.25rem, 5vw, 4rem);
	color: var(--thh-ink);
}
.recipe-home [hidden] { display: none !important; }
.recipe-home h1 { font-size: clamp(2rem, 3.4vw, 2.8rem); line-height: 1.13; margin: 0 0 1rem; }
.recipe-home h2:not(:where(.header-search__panel *)) { font-size: clamp(1.65rem, 2.5vw, 2.15rem); line-height: 1.2; margin: 0 0 .65rem; }
.recipe-home h3:not(:where(.header-search__panel *)) { font-size: 1.25rem; line-height: 1.18; }
.recipe-home .section-kicker { color: var(--thh-red); font-size: .75rem; letter-spacing: .12em; margin: 0 0 1rem; }
.recipe-home p { color: var(--thh-ink-soft); }
.recipe-home__hero {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	align-items: center;
	gap: clamp(1.75rem, 4vw, 3.25rem);
	padding-block: var(--home-space);
}
.recipe-home__intro, .recipe-home__image { min-width: 0; }
.recipe-home__description { margin: 0 0 1.5rem; line-height: 1.7; }
.recipe-home__image { display: block; overflow: hidden; border-radius: 20px; box-shadow: var(--thh-shadow); }
.recipe-home__image img { display: block; width: 100%; height: auto; aspect-ratio: 1.5; object-fit: cover; }
.recipe-home__search { width: 100%; max-width: none; }
.recipe-home__search form { border-radius: 10px; background: var(--thh-paper); }
.recipe-home__search input { min-width: 0; padding: 14px 12px; }
.recipe-home__search form > button[type="submit"] { width: auto; min-width: 80px; align-self: stretch; border-radius: 0 9px 9px 0; background: var(--thh-red); color: white; padding: 0 14px; font-size: .875rem; font-weight: 700; }
.recipe-home__search .header-search__panel { max-height: min(65vh, 600px); }
.recipe-home__actions { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; margin-top: 1rem; }
.recipe-home__actions .text-link { font-size: .875rem; }
.recipe-home__surprise { display: inline-flex; align-items: center; justify-content: center; gap: .3rem; min-height: 44px; border: 1px solid var(--thh-line); border-radius: 9px; padding: 10px 16px; background: var(--thh-cream-light); color: var(--thh-ink); font: inherit; font-size: .875rem; font-weight: 700; cursor: pointer; }
.recipe-home__surprise:hover { border-color: var(--thh-red); }
.recipe-home__surprise:disabled { opacity: .6; cursor: wait; }
.recipe-home__section { padding-block: var(--home-space); }
.recipe-home__categories { background: var(--thh-paper); border-block: 1px solid var(--thh-line); }
.recipe-home__categories > .site-shell > p:not(.section-kicker) { margin: 0 0 1.5rem; }
.recipe-home__category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.recipe-home__category { display: flex; align-items: center; gap: 14px; min-height: 96px; border: 1px solid var(--thh-line); border-radius: 13px; padding: 20px; background: var(--thh-cream-light); color: var(--thh-ink); text-decoration: none; font-size: .95rem; font-weight: 600; }
.recipe-home__category:hover { border-color: var(--thh-red); }
.recipe-home__category-icon { display: flex; align-items: center; justify-content: center; flex: 0 0 42px; width: 42px; height: 42px; background: #efe2cc; color: var(--thh-red); border-radius: 50%; }
.recipe-home__category-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.recipe-home__category-arrow { margin-left: auto; color: var(--thh-red); }
.recipe-home__all-filters { margin-top: 1.5rem; font-size: .875rem; }
.recipe-home__section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 1.75rem; }
.recipe-home__section-heading p { margin: 0; }
.recipe-home__section-heading > .text-link { flex-shrink: 0; font-size: .875rem; }
.recipe-home__recipe-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
:is(.recipe-home__recipe-grid, .recipe-home__dialog) .recipe-card { min-width: 0; display: flex; flex-direction: column; }
:is(.recipe-home__recipe-grid, .recipe-home__dialog) .recipe-card__image { aspect-ratio: 4 / 3; background: var(--thh-cream-light); }
:is(.recipe-home__recipe-grid, .recipe-home__dialog) .recipe-card__image img { width: 100%; height: 100%; object-fit: cover; }
:is(.recipe-home__recipe-grid, .recipe-home__dialog) .recipe-card__body { display: flex; flex-direction: column; flex: 1; gap: .65rem; padding: 18px; }
:is(.recipe-home__recipe-grid, .recipe-home__dialog) .recipe-card h3 { margin: 0; overflow-wrap: anywhere; }
:is(.recipe-home__recipe-grid, .recipe-home__dialog) .recipe-card p { margin: 0; font-size: .8rem; line-height: 1.5; }
:is(.recipe-home__recipe-grid, .recipe-home__dialog) .recipe-card .text-link { font-size: .8rem; margin-top: auto; padding-top: .35rem; }
.recipe-home__placeholder { display: grid; place-items: center; height: 100%; color: var(--thh-ink-soft); font-size: .8rem; }
.recipe-home__browse { background: #efe2cc; border-block: 1px solid var(--thh-line); }
.recipe-home__chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 1.5rem; }
.recipe-home__chips a { display: inline-flex; align-items: center; min-height: 44px; border: 1px solid var(--thh-line); border-radius: 24px; padding: 9px 18px; background: var(--thh-paper); color: var(--thh-ink); font-size: .875rem; text-decoration: none; }
.recipe-home__chips a:hover { border-color: var(--thh-red); }
.recipe-home__bottom { padding-block: 0 var(--home-space); }
.recipe-home__browse + .recipe-home__bottom { padding-top: var(--home-space); }
.recipe-home__callout { display: flex; align-items: center; justify-content: space-between; gap: 24px; background: #2a201a; color: white; padding: clamp(24px, 4vw, 36px); border-radius: 16px; }
.recipe-home__callout h2 { color: white; }
.recipe-home__callout p { color: #e7ded3; margin: 0; font-size: .9rem; }
.recipe-home__callout .recipe-home__surprise { flex-shrink: 0; background: #d19b32; border-color: transparent; }
.recipe-home__dialog { width: min(440px, calc(100vw - 24px)); max-height: calc(100dvh - 32px); border: 1px solid var(--thh-line); border-radius: 16px; padding: 24px; background: var(--thh-paper); color: var(--thh-ink); box-shadow: var(--thh-shadow); }
.recipe-home__dialog::backdrop { background: #211a14b3; }
.recipe-home__dialog > h2 { padding-right: 28px; font-size: 1.5rem; }
.recipe-home__dialog-close { position: absolute; right: 8px; top: 8px; width: 44px; height: 44px; border: 0; background: transparent; font: inherit; font-size: 1.6rem; cursor: pointer; }
.recipe-home__dialog .recipe-card__image { aspect-ratio: 2 / 1; }
.recipe-home__dialog-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.recipe-home__dialog-actions .button { font-size: .875rem; padding: 10px 14px; }
html:has(.recipe-home__dialog[open]) { overflow: hidden; }
@media (max-width: 899px) {
	.recipe-home__recipe-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.recipe-home__category { padding: 16px; gap: 10px; }
	.recipe-home__category-arrow { display: none; }
}
@media (max-width: 699px) {
	.recipe-home__hero { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.recipe-home__image img { aspect-ratio: 2.7; object-position: center 35%; }
	.recipe-home__category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.recipe-home__category { flex-direction: column; align-items: start; min-height: 125px; font-size: .875rem; }
	.recipe-home__section-heading { align-items: start; flex-direction: column; gap: 10px; }
	.recipe-home__callout { flex-direction: column; align-items: start; }
	.recipe-home__search input[type="search"] { font-size: 1rem; padding-inline: 9px; }
	.recipe-home__search form > button[type="submit"] { min-width: 67px; padding-inline: 10px; }
	.recipe-home__recipe-grid { gap: 12px; }
	:is(.recipe-home__recipe-grid, .recipe-home__dialog) .recipe-card__body { padding: 13px; }
	:is(.recipe-home__recipe-grid, .recipe-home__dialog) .recipe-card h3 { font-size: 1.1rem; }
	.recipe-home__dialog { padding: 20px; }
}
