/*
Theme Name: Larder
Theme URI: https://example.com/larder
Author: Your Name
Author URI: https://example.com
Description: A warm, editorial food and local-dining magazine with a multi-section homepage — a featured row, a trending block, a cook-book feature and browsable recipe lists. Reading times on every card, per-category colour accents, light and dark modes, self-hosted fonts and one-click demo content with original artwork.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: larder
Tags: blog, food-and-drink, news, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, full-width-template
*/

:root {
  --bg: #ffffff;
  --surface: #ffffff;
  --surface-2: #f6f4ef;
  --text: #282828;
  --text-2: #4a4a46;
  --muted: #8a8a84;
  --line: #e7e3da;
  --accent: #f0962a;
  --accent-ink: #ffffff;
  --accent-hover: #282828;
  --accent-hover-ink: #ffffff;

  --green: #6fb15a;
  --amber: #ffb244;
  --plum: #a36eff;

  --font-display: "Signika", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body: "Zilla Slab", Georgia, "Times New Roman", serif;
  --font-ui: "Josefin Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --w-display: 700;
  --lh-display: 1.12;
  --track-display: -0.005em;

  --radius: 6px;
  --radius-ui: 5px;
  --footer-bg: #1b1d1a;
  --footer-text: #f3f1ea;
  --footer-muted: #a8a79e;
  --footer-line: rgba(255,255,255,.12);
  --overlay: linear-gradient(180deg, rgba(20,18,14,0) 28%, rgba(20,18,14,.88) 100%);
}
:root[data-theme="dark"] {
  --bg: #15140f;
  --surface: #1d1b15;
  --surface-2: #24221a;
  --text: #f2efe6;
  --text-2: #d3d0c5;
  --muted: #9a978c;
  --line: #322f26;
  --accent: #ffb244;
  --accent-ink: #1b1710;
  --accent-hover: #f2efe6;
  --accent-hover-ink: #15140f;
  --footer-bg: #0f0e0a;
}

body { font-size: 18px; }
.btn, .icon-btn, .meta, .cat, .primary-menu a, .mobile-menu a, .section-link, .widget-title { font-family: var(--font-ui); }
.brand__name { font-family: var(--font-display); font-weight: 700; }

/* category chips use the palette hues via --cat-hue but keep the food feel */
.cat { letter-spacing: .07em; }

/* Header */
.site-header { border-bottom: 1px solid var(--line); }
.primary-menu > li > a { text-transform: uppercase; font-size: .8rem; letter-spacing: .02em; font-weight: 600; }
.header-cta { background: var(--accent); color: var(--accent-ink); }

/* Section heads */
.section-title { font-size: clamp(1.4rem, 2.6vw, 2rem); position: relative; }
.ld-trending .section-head, .ld-cookbook__head, .ld-more .section-head { align-items: center; }
.ld-cookbook__head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.4rem; padding-bottom: .8rem; border-bottom: 2px solid var(--accent); }

/* ---------- Featured row ---------- */
.ld-featured { padding-top: 1.5rem; }
.ld-featured__grid { display: grid; gap: 20px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ld-featured .card-overlay { min-height: 260px; }
.ld-featured .card__title { font-size: 1.25rem; }
@media (max-width: 860px) { .ld-featured__grid { grid-template-columns: 1fr; } }

/* ---------- Trending ---------- */
.ld-trending__grid { display: grid; gap: 24px; grid-template-columns: 1fr 1.1fr; }
.ld-trending__side { display: grid; gap: 18px; align-content: start; }
.ld-trending__side .card-row { grid-template-columns: 110px minmax(0, 1fr); gap: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.ld-trending__side .card-row:last-child { border-bottom: 0; padding-bottom: 0; }
.ld-trending__side .card__title { font-size: 1.05rem; }
.ld-trending__lead .card-overlay { min-height: 420px; height: 100%; }
.ld-trending__lead .card__title { font-size: clamp(1.5rem, 2.6vw, 2.1rem); }
@media (max-width: 860px) { .ld-trending__grid { grid-template-columns: 1fr; } .ld-trending__lead .card-overlay { min-height: 320px; } }

/* ---------- Cook Book ---------- */
.ld-cookbook { background: var(--surface-2); }
.ld-cookbook__layout { display: grid; gap: 32px; grid-template-columns: minmax(0, 1fr) 320px; }
.ld-feature { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 22px; align-items: center; padding: 16px; background: var(--surface); border-radius: var(--radius); box-shadow: var(--shadow-sm); margin-bottom: 1.5rem; }
.ld-feature__media .media { aspect-ratio: 4/3; }
.ld-feature__title { font-size: 1.5rem; margin-block: .3rem .5rem; }
.ld-feature__title a:hover { color: var(--accent); }
.ld-feature__excerpt { color: var(--text-2); font-size: .95rem; margin-bottom: .6rem; }
@media (max-width: 600px) { .ld-feature { grid-template-columns: 1fr; } }

.ld-numbered { display: grid; gap: 2px; }
.ld-numbered__item { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px; align-items: center; padding: 16px; background: var(--surface); border-radius: var(--radius); }
.ld-numbered__index { font-family: var(--font-display); font-weight: 700; font-size: 2rem; color: var(--line); line-height: 1; min-width: 1.6em; text-align: center; }
.ld-numbered__title { font-size: 1.15rem; margin-block: .2rem .3rem; }
.ld-numbered__title a:hover { color: var(--accent); }

.ld-cookbook__aside { display: grid; gap: 24px; align-content: start; }
.ld-signup-card { background: var(--surface); border-radius: var(--radius); padding: 1.6rem; text-align: center; display: grid; gap: .5rem; justify-items: center; box-shadow: var(--shadow-sm); }
.ld-signup-card .icon { color: var(--accent); }
.signup--card { align-items: center; }
.signup--card .signup__form { flex-direction: column; width: 100%; }
.signup--card .signup__form input[type="email"] { width: 100%; }
.signup--card .signup__button { width: 100%; }
.signup--card .signup__title { font-size: 1.3rem; }
@media (max-width: 980px) { .ld-cookbook__layout { grid-template-columns: 1fr; } }

/* ---------- More Stories ---------- */
.ld-more__layout { display: grid; gap: 32px; grid-template-columns: minmax(0, 1fr) 320px; }
.ld-more__list { display: grid; gap: 22px; }
.ld-more__list .card-row { grid-template-columns: 220px minmax(0, 1fr); gap: 20px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.ld-more__list .card-row:last-child { border-bottom: 0; }
.ld-more__list .card__title { font-size: 1.35rem; }
.ld-more__aside { display: grid; gap: 24px; align-content: start; }
.ld-tips { display: grid; gap: 14px; }
.ld-tips .mini__title { font-size: .98rem; }
@media (max-width: 980px) { .ld-more__layout { grid-template-columns: 1fr; } .ld-more__list .card-row { grid-template-columns: 140px minmax(0, 1fr); } }

/* reading-time meta icon */
.meta__read { color: var(--accent); font-weight: 600; }
[data-theme="dark"] .meta__read { color: var(--amber); }

/* Single tweaks */
.entry-title { font-family: var(--font-display); }
.entry-content { font-family: var(--font-body); }
.entry-content h2, .entry-content h3 { font-family: var(--font-display); }
.widget-title { text-transform: uppercase; letter-spacing: .04em; font-size: .95rem; }
