.post-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.25rem; }
.post-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 20px; overflow: hidden; text-decoration: none; box-shadow: 0 10px 28px rgba(89,89,89,.07); transition: transform .15s, border-color .15s; }
.post-card:hover, .post-card:focus-visible { transform: translateY(-3px); border-color: var(--pine); }
.post-card-img { aspect-ratio: 3 / 2; background: var(--sea); overflow: hidden; }
.post-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.post-card-img.placeholder { background: linear-gradient(135deg, var(--sea), #dbeeb4); }
.post-card-body { padding: 1rem 1.15rem 1.25rem; }
.post-card h3 { font-size: 1.15rem; margin: 0 0 .4rem; line-height: 1.25; }
.post-card p { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.5; }
.post-tag { display: inline-block; font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--teal); margin-bottom: .35rem; }
.blog-search input { font: inherit; padding: .65rem 1rem; border: 1px solid rgba(40,40,40,.25); border-radius: 999px; width: min(320px, 100%); }
.recipe-tools { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.chips { display: flex; flex-wrap: wrap; gap: .45rem; }
.chip { font: inherit; font-size: .88rem; font-weight: 700; border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: .4rem .9rem; cursor: pointer; }
.chip.active { background: var(--pine); border-color: var(--pine); color: #fff; }
.no-results { color: var(--muted); }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.post-header { padding: 3.5rem 0 1rem; }
.post-header h1 { font-size: clamp(2rem, 4.5vw, 3.2rem); margin: .3rem 0 .6rem; }
.post-by { color: var(--muted); margin: 0; }
.post-hero { margin: 1rem 0 2rem; }
.post-hero img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 20px; display: block; }
.post-hero figcaption { font-size: .78rem; color: var(--muted); margin-top: .45rem; }
.post-hero figcaption a { color: inherit; }
.post-body { font-size: 1.06rem; }
.post-body h2 { font-size: 1.6rem; margin-top: 2rem; } .post-body h3 { font-size: 1.3rem; margin-top: 1.6rem; }
.post-body a { color: var(--teal); }
.post-note { margin: 2.5rem 0 1.5rem; padding: 1rem 1.2rem; background: var(--sand); border-radius: 14px; font-size: .92rem; color: var(--muted); }
.post-cta { display: grid; grid-template-columns: 1.4fr 1fr; gap: 1.5rem; align-items: center; background: var(--sea); border-radius: 22px; padding: 1.6rem; margin-bottom: 4rem; }
.post-cta h2 { margin: 0 0 .4rem; font-size: 1.5rem; } .post-cta p { margin: 0; }
@media (max-width: 720px) { .post-cta { grid-template-columns: 1fr; } }
.recipe .actions { margin: 2rem 0 4rem; }
@media print { .site-header, .topbar, .site-footer, .print-hide, .breadcrumbs { display: none !important; } .post-hero img { max-height: 3in; } }
.post-card-img.placeholder { display: grid; place-items: center; background: linear-gradient(135deg, #eef7d8, #cfe79a); }
.post-card-img.placeholder::after { content: "EK"; font-family: Georgia, serif; font-size: 2.2rem; color: rgba(77,111,0,.45); }
.post-header h1 { font-size: clamp(1.8rem, 3.2vw, 2.5rem); }
.post-body h2 { font-size: 1.45rem; } .post-body h3 { font-size: 1.2rem; }.post-header h1 { font-size: clamp(1.6rem, 2.5vw, 2.15rem); }