/* Category archives and full recipe articles share the existing site tokens. */
.breadcrumbs {
  display:flex; flex-wrap:wrap; align-items:center; gap:10px;
  color:var(--muted); font-size:12px; padding:25px 0;
}
.breadcrumbs a:hover { color:var(--brown); text-decoration:underline; text-underline-offset:4px; }
.archive-intro { padding-bottom:42px; }
.archive-intro-inner { display:grid; grid-template-columns:1.4fr .8fr; gap:70px; align-items:center; }
.archive-intro h1 { font-size:clamp(44px,4.8vw,66px); max-width:18ch; }
.archive-intro p { margin-top:22px; max-width:52ch; color:var(--muted); font-size:14px; }
.archive-intro img { height:260px; border-radius:3px; object-position:center; }
.archive-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:48px; padding:37px 0 70px; border-top:1px solid var(--line); }
.archive-sidebar h2 { font-size:24px; margin:0 0 20px; }
.archive-sidebar summary { display:flex; align-items:center; justify-content:space-between; min-height:44px; padding-bottom:18px; cursor:pointer; list-style:none; }
.archive-sidebar summary::-webkit-details-marker { display:none; }
.archive-sidebar summary h2 { margin:0; }
.archive-sidebar details[open]>summary .icon { transform:rotate(90deg); }
.archive-sidebar nav { display:flex; flex-direction:column; }
.archive-sidebar nav a { display:flex; justify-content:space-between; gap:10px; font-size:12px; padding:11px 9px; border-bottom:1px solid var(--line); }
.archive-sidebar nav a:hover { background:var(--cream); }
.archive-sidebar nav a[aria-current] { background:var(--olive); color:white; border-color:var(--olive); }
.archive-sidebar nav span { font-variant-numeric:tabular-nums; opacity:.8; }
.sidebar-note { margin-top:30px; padding:23px 20px; background:#e6e8d5; }
.sidebar-note h3 { font-size:24px; }
.sidebar-note p { color:#565d47; font-size:12px; margin:14px 0 20px; }
.sidebar-note .text-link { font-size:12px; }
.archive-controls { display:flex; gap:28px; align-items:end; }
.archive-controls .search-box { flex:1; border:1px solid var(--line); padding:11px 14px; min-height:47px; }
.archive-result-meta { display:flex; align-items:center; justify-content:space-between; gap:15px; min-height:62px; font-size:12px; color:var(--muted); }
.archive-result-meta .reset-button { font-size:12px; }
.archive-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 22px; }
.archive-grid .recipe-card h3 { font-size:23px; }
.pagination { display:flex; justify-content:center; flex-wrap:wrap; gap:9px; padding-top:40px; }
.pagination a { display:grid; place-items:center; min-width:44px; min-height:44px; border:1px solid var(--line); font-size:13px; }
.pagination a[aria-current] { background:var(--olive); color:white; border-color:var(--olive); }
.pagination a:hover { border-color:var(--olive); }
.archive-empty h2 { font-size:32px; }
.archive-empty p { margin:18px 0 25px; font-size:14px; }
/* A standard article body: WordPress editor content, without recipe-specific controls. */
.blog-post .breadcrumbs { max-width:1060px; margin-inline:auto; }
.article-header { max-width:900px; margin:8px auto 35px; text-align:center; }
.article-category { display:inline-block; margin-bottom:18px; font-size:12px; color:var(--brown); text-decoration:underline; text-underline-offset:5px; }
.article-header h1 { font-size:clamp(40px,4.6vw,62px); line-height:1.12; }
.article-header>p { max-width:62ch; margin:22px auto 0; color:var(--muted); font-size:15px; line-height:1.8; }
.article-featured-image { max-width:1060px; height:510px; margin:0 auto 45px; }
.article-featured-image img { border-radius:3px; }
.article-content { max-width:740px; margin-inline:auto; font-size:16px; line-height:1.9; color:var(--ink); overflow-wrap:break-word; }
.article-content h2 { font-size:34px; margin:42px 0 20px; }
.article-content h3 { font-size:27px; margin:32px 0 15px; }
.article-content h4 { font:600 18px var(--sans); margin:28px 0 12px; }
.article-content p { margin:0 0 22px; }
.article-content ul,.article-content ol { margin:0 0 28px; padding-left:25px; }
.article-content li { padding-left:6px; margin-bottom:12px; }
.article-content a { color:var(--brown); text-decoration:underline; text-underline-offset:4px; }
.article-content blockquote { margin:30px 0; padding:20px 28px; background:var(--cream); border-left:1px solid var(--brown); font:italic 24px/1.6 var(--serif); }
.article-content blockquote p:last-child { margin:0; }
.article-content img { width:100%; height:auto; margin-block:28px; }
.article-content figure { margin:30px 0; }
.article-content figcaption { color:var(--muted); font-size:12px; text-align:center; }
.article-content table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; margin:25px 0; }
.article-content td,.article-content th { padding:12px; border:1px solid var(--line); text-align:left; }
.article-content hr { margin:35px 0; border:0; border-top:1px solid var(--line); }
.article-footer { max-width:740px; margin:40px auto 0; padding-block:24px; border-block:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; align-items:center; font-size:12px; color:var(--muted); }
.post-navigation { display:grid; grid-template-columns:1fr 1fr; gap:40px; max-width:1060px; margin:45px auto 0; }
.post-navigation>a { padding:22px 0; }
.post-navigation>a:last-child { text-align:right; }
.post-navigation span { font-size:12px; color:var(--muted); }
.post-navigation h2 { font-size:25px; margin-top:13px; }
.post-navigation a:hover h2 { color:var(--brown); }
.related-section { padding:50px 0 65px; margin-top:30px; border-top:1px solid var(--line); }
.related-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.related-grid .recipe-image { aspect-ratio:1.4; }
.page-not-found { padding-block:60px 90px; }
.page-not-found h1 { font-size:clamp(38px,5vw,65px); }
.page-not-found p { margin:25px 0; max-width:55ch; color:var(--muted); }
.blog-search { display:flex; align-items:stretch; gap:9px; }
.blog-search .search-box { flex:1; width:auto; }
.archive-search .search-box { border:1px solid var(--line); padding:10px 14px; }
.archive-search .button { min-width:110px; }
.filter-chip { display:inline-flex; align-items:center; }
.recipe-toolbar .blog-search { width:330px; }
.recipe-toolbar+#recipe-grid { margin-top:30px; }
.knowledge-copy h3 a:hover { color:var(--brown); }
.knowledge-art { display:block; }
.card-meta a:hover { text-decoration:underline; text-underline-offset:4px; }
.empty-state { padding:38px 24px; background:var(--cream); text-align:center; }
.empty-state h2 { font-size:32px; }
.empty-state p { margin:18px 0 25px; font-size:14px; }
.directory-heading { max-width:850px; margin:10px 0 42px; }
.directory-heading h1 { font-size:clamp(40px,4.8vw,64px); }
.directory-heading p { max-width:57ch; font-size:15px; line-height:1.8; color:var(--muted); margin-top:22px; }
.directory-page,.about-page { padding-bottom:65px; }
.category-directory { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:35px 25px; }
.category-directory-card { display:block; min-width:0; }
.category-directory-card>img { height:auto; aspect-ratio:1.45; border-radius:3px; }
.category-directory-card>div { position:relative; padding:18px 28px 0 0; }
.category-directory-card h2 { font-size:25px; }
.category-directory-card .icon { position:absolute; right:0; top:22px; color:var(--brown); }
.category-directory-card p { font-size:12px; color:var(--muted); margin-top:9px; }
.category-directory-card:hover h2 { color:var(--brown); }
.about-page-story { display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:center; padding:30px 0 55px; border-top:1px solid var(--line); }
.about-page-story>img { height:440px; border-radius:3px; }
.about-page-story h2 { font-size:43px; margin-bottom:23px; }
.about-page-story p { max-width:50ch; color:var(--muted); font-size:14px; margin-bottom:20px; line-height:1.85; }
.about-page-story .button { margin-top:5px; }
.about-page-note { padding:35px 40px; background:#e6e8d5; }
.about-page-note h2 { font-size:34px; margin-bottom:20px; }
.about-page-note p { max-width:75ch; font-size:14px; color:#525a42; line-height:1.85; }
.about-page-links { display:flex; flex-wrap:wrap; gap:25px; margin-top:25px; }
@media(max-width:1100px) {
  .archive-layout { grid-template-columns:190px minmax(0,1fr); gap:28px; }
  .archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:850px) {
  .category-directory { grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 20px; }
  .about-page-story { gap:30px; }
  .about-page-story>img { height:430px; }
  .about-page-story h2 { font-size:35px; }
  .archive-intro-inner { gap:30px; grid-template-columns:1.3fr .8fr; }
  .archive-intro h1 { font-size:46px; }
  .archive-intro img { height:230px; }
  .archive-layout { grid-template-columns:1fr; gap:25px; }
  .archive-sidebar nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  .archive-sidebar nav a { border:1px solid var(--line); padding:10px; }
  .sidebar-note { display:none; }
  .article-featured-image { height:430px; }
  .recipe-toolbar .blog-search { width:100%; }
}
@media(max-width:580px) {
  .directory-heading { margin:4px 0 30px; }
  .directory-heading h1 { font-size:42px; }
  .directory-heading p { font-size:14px; margin-top:18px; }
  .category-directory { grid-template-columns:repeat(2,minmax(0,1fr)); gap:27px 15px; }
  .category-directory-card>img { aspect-ratio:1.1; }
  .category-directory-card h2 { font-size:23px; }
  .category-directory-card>div { padding:14px 20px 0 0; }
  .category-directory-card .icon { top:18px; width:16px; }
  .about-page-story { grid-template-columns:1fr; gap:30px; padding:25px 0 35px; }
  .about-page-story>img { height:330px; }
  .about-page-story h2 { font-size:37px; }
  .about-page-note { padding:28px 23px; }
  .about-page-note h2 { font-size:31px; }
  .directory-page,.about-page { padding-bottom:45px; }
  .breadcrumbs { font-size:11px; gap:7px; padding:21px 0; }
  .archive-intro { padding-bottom:25px; }
  .archive-intro-inner { grid-template-columns:1fr; gap:23px; }
  .archive-intro h1 { font-size:44px; }
  .archive-intro p { margin-top:16px; font-size:13px; }
  .archive-intro img { height:190px; }
  .archive-layout { padding:27px 0 45px; }
  .archive-sidebar nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .archive-sidebar nav a { font-size:12px; min-height:44px; align-items:center; }
  .archive-result-meta { flex-wrap:wrap; padding:14px 0; gap:10px; }
  .archive-grid { gap:28px 13px; }
  .archive-grid .recipe-card h3 { font-size:21px; }
  .archive-search .button { min-width:76px; padding:10px; }
  .article-header { margin:8px auto 27px; text-align:left; }
  .article-header h1 { font-size:40px; }
  .article-header>p { font-size:14px; margin-top:19px; }
  .article-featured-image { height:350px; margin-bottom:30px; }
  .article-content { font-size:15px; line-height:1.85; }
  .article-content h2 { font-size:30px; margin-top:32px; }
  .article-content h3 { font-size:25px; }
  .article-content blockquote { padding:18px; font-size:22px; }
  .article-footer { flex-direction:column; align-items:start; gap:12px; }
  .post-navigation { gap:20px; margin-top:24px; }
  .post-navigation h2 { font-size:21px; }
  .related-section { padding:35px 0 45px; }
  .related-section .section-heading { display:block; }
  .related-section .text-link { margin-top:17px; }
  .related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .related-grid .recipe-card:last-child { grid-column:1/-1; max-width:calc(50% - 6px); }
  .related-grid .recipe-image { aspect-ratio:1; }
}
