/*
Theme Name: GardenRook
Description: A gardening theme with an interactive vegetable planner and editable FAQ.
Version: 1.2.6
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: gardenrook
*/
:root { color-scheme: light; --gr-page: #f7f6ed; --gr-text: #253a2b; --gr-accent: #28533b; }
body { margin: 0; color: var(--gr-text); background: var(--gr-page); font: 1rem/1.6 system-ui, sans-serif; overflow-wrap: anywhere; }
a { color: var(--gr-accent); }
img { max-width: 100%; height: auto; }
.site-header, .site-footer { background: #fffdf5; }
.site-shell { width: min(1080px, calc(100% - 2rem)); margin-inline: auto; }
.site-header .site-shell { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .5rem 1.25rem; padding-block: .85rem; }
.site-header ul { display: flex; flex-wrap: wrap; gap: .5rem 1rem; padding: 0; margin: 0; list-style: none; }
.site-name { font: bold 1.5rem Georgia, serif; text-decoration: none; }
.custom-logo { display: block; width: auto; max-width: 180px; max-height: 64px; }
.site-main { padding-block: clamp(1.25rem, 4vw, 3rem); min-height: 55vh; }
.site-content { max-width: 760px; margin-inline: auto; }
.site-content h1 { font: 500 clamp(2rem, 6vw, 3.5rem)/1.1 Georgia, serif; margin: 0 0 1.25rem; }
.site-footer .site-shell { padding-block: 1rem; }
.post-list article { margin: 1rem 0; padding: 1rem; background: #fffdf5; border: 1px solid #ccd4c2; border-radius: 12px; }
.post-list h2 { margin-top: 0; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.screen-reader-text:focus { z-index: 100; width: auto; height: auto; clip-path: none; padding: .5rem 1rem; background: #fff; }
.planner-page { max-width: 960px; }
.site-header nav a[aria-current="page"] { font-weight: 700; }

:root { --gr-page:#f5f3e9; --gr-text:#24382b; --gr-accent:#2f5d42; }
[hidden] { display:none !important; }
.site-header { background:var(--gr-header,#20392b); color:#fff9e9; border-bottom:4px solid #b78050; }
.site-header a { color:inherit; }
.site-header .site-shell { padding-block:1.05rem; }
.site-header nav a { display:inline-block; padding:.3rem .55rem; text-decoration:none; }
.site-header nav a:hover,.site-header nav a[aria-current="page"] { background:#ffffff1e; border-radius:7px; }
.site-footer { background:var(--gr-header,#20392b); color:#fff9e9; }
.site-content.planner-page { max-width:1040px; }
.site-content .gr-app h1 { margin:0 0 1rem; color:#20392b; }
.gardenrook-garden-planner { color-scheme:light; --paper:#fbf8ee; --surface:#fffdf6; --line:#c9d4bd; --green:var(--gr-accent); --wood:#b98761; --soil:#664b3a; }
.gardenrook-garden-planner .gr-app { box-shadow:0 10px 32px #263f2610; }
.gardenrook-garden-planner .gr-picker h2 { margin:2px 0 3px; font:650 1.03rem/1.25 system-ui,sans-serif; }
.gr-journal { margin-block:clamp(2.6rem,7vw,5rem) clamp(2rem,5vw,4rem); }
body[data-view="blog"] .gr-journal { margin-top:0; }
.gr-journal-head { max-width:44rem; margin:0 0 1.4rem; }
.gr-journal-head h2,.gr-journal-head h1 { margin:.18rem 0 .45rem; font:500 clamp(2rem,5vw,3.3rem)/1.06 Georgia,serif; }
.gr-journal-head > p:last-child { color:#4a6051; margin:.4rem 0 0; }
.section-label { color:#8a492c; font-size:.74rem; font-weight:750; letter-spacing:.105em; text-transform:uppercase; margin:0 0 .45rem; }
.gr-stories { display:grid; gap:1rem; }
.gr-story { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; border:1px solid #d8dfcd; border-radius:17px; background:#fffdf6; }
.gr-story:nth-child(even) .gr-story-art { order:1; }
.gr-story-art { display:flex; align-items:stretch; background:#deead0; }
.gr-story-art svg { display:block; width:100%; height:100%; min-height:190px; object-fit:cover; }
.gr-story-copy { align-self:center; padding:clamp(1rem,4vw,2.3rem); }
.gr-story-copy h3 { margin:0; font:500 clamp(1.38rem,3vw,2.05rem)/1.12 Georgia,serif; }
.gr-story-copy h3 a { text-decoration:none; color:#24382b; }
.gr-story-copy h3 a:hover { text-decoration:underline; }
.gr-story-copy > p:not(.section-label) { color:#4a6051; }
.gr-story-link { font-size:.9rem; font-weight:700; text-underline-offset:3px; }
.gr-article { max-width:740px; margin-inline:auto; }
.gr-article > .section-label { margin-top:1.6rem; }
.gr-article-art { border-radius:17px; overflow:hidden; }
.gr-article-art svg { display:block; width:100%; }
@media (max-width:640px) {
  .gr-story { grid-template-columns:1fr; }
  .gr-story:nth-child(even) .gr-story-art { order:0; }
  .gr-story-art svg { min-height:0; }
}

.footer-grid { display:grid; grid-template-columns:2fr 1fr; gap:1.5rem 3rem; padding-block:2.1rem!important; }
.site-footer a { color:inherit; text-underline-offset:.2em; }
.footer-name { font:600 1.6rem Georgia,serif; }
.footer-grid p { margin:.55rem 0 0; max-width:35rem; }
.footer-grid h2 { font:600 1rem system-ui,sans-serif; margin:0 0 .4rem; }
.footer-grid ul { margin:0; padding:0; list-style:none; }
.footer-bottom { border-top:1px solid #ffffff40; font-size:.85rem; }
.site-footer .widget { margin-bottom:1rem; }
@media(max-width:600px) { .footer-grid { grid-template-columns:1fr; } }
.gr-journal-archive { margin-top:0; }
.gr-story-art img { display:block; width:100%; height:100%; min-height:190px; object-fit:cover; }
.gr-story-copy h2 { margin:0; font:500 clamp(1.38rem,3vw,2.05rem)/1.12 Georgia,serif; }
.gr-story-copy h2 a { color:inherit; text-decoration:none; }
.gr-story-copy h2 a:hover { text-decoration:underline; }
.section-label a { color:inherit; }
.post-featured { margin:0 0 1.4rem; }
@media(max-width:640px) { .gr-story-art img { min-height:0; } }
.site-header,.site-footer { color:var(--gr-bar-text,#fff9e9); }
.gr-story-copy h2 a,.gr-story-copy h3 a { color:var(--gr-text); }
.gardenrook-garden-planner .gr-picker h2 { color:var(--ink); letter-spacing:normal; }
.gr-home-section + .gr-home-section { margin-top:clamp(2rem,6vw,4rem); }
.gr-home-intro { margin-bottom:1rem; }
.gr-home-intro-reversed .gr-story-art { order:1; }
.gr-home-intro h1,.gr-home-intro h2 { margin:0; font:500 clamp(2rem,5vw,3.3rem)/1.08 Georgia,serif; }
.gr-section-link { display:inline-block; padding:.6rem 1rem; border-radius:8px; background:var(--gr-accent); color:#fffdf6; font-weight:700; text-decoration:none; }
.gr-section-link:hover { text-decoration:underline; }
.gr-home-section .gr-journal { margin:1.8rem 0; }
.gr-journal-head h3 { margin:.2rem 0; font:500 clamp(1.5rem,4vw,2.2rem)/1.12 Georgia,serif; }
.gr-story-copy h4 { margin:0; font:500 clamp(1.38rem,3vw,2.05rem)/1.12 Georgia,serif; }
.gr-story-copy h4 a { color:var(--gr-text); text-decoration:none; }
.gr-story-copy h4 a:hover { text-decoration:underline; }
@media(max-width:640px) { .gr-home-intro-reversed .gr-story-art { order:0; } }
.gr-home-hero { display:grid; align-items:end; position:relative; isolation:isolate; overflow:hidden; min-height:clamp(340px,50vw,520px); margin:0 0 clamp(2rem,6vw,4rem); border-radius:19px; background:#20392b; color:#fffdf5; }
.gr-home-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(15,29,20,.88),rgba(15,29,20,.62) 49%,rgba(15,29,20,.1)); }
.gr-hero-photo { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:center; }
.gr-hero-copy { padding:clamp(1.25rem,6vw,4rem); max-width:42rem; }
.gr-hero-copy h1 { margin:0; font-size:clamp(2.2rem,5vw,4.1rem); color:inherit; }
.gr-hero-copy p { max-width:32rem; margin:.85rem 0 1.2rem; }
.gr-hero-copy .gr-section-link { background:#fff8e6; color:#20392b; }
@media(max-width:640px) { .gr-home-hero::after { background:linear-gradient(0deg,rgba(15,29,20,.93),rgba(15,29,20,.25)); } }

:root {
  --gr-gutter: clamp(1rem, 3vw, 2rem);
  --gr-content-width: 1180px;
  --gr-reading-width: 760px;
}
.site-shell { box-sizing: border-box; width: 100%; max-width: calc(var(--gr-content-width) + 2 * var(--gr-gutter)); padding-inline: var(--gr-gutter); }
.site-main .site-content { width: 100%; max-width: var(--gr-reading-width); }
.site-main .site-content.planner-page { max-width: var(--gr-content-width); }
.site-header .site-name { display: inline-flex; align-items: center; gap: .65rem; }
.site-header .site-name img { display: block; flex: 0 0 auto; }
.home .site-main { max-width: none; padding: 0 0 clamp(1.5rem, 4vw, 3rem); }
.home .site-main .planner-page { max-width: none; }
.gr-home-section { width: min(var(--gr-content-width), calc(100% - 2 * var(--gr-gutter))); margin-inline: auto; }
.gr-home-hero { min-height: clamp(320px, 38vw, 510px); border-radius: 0; }
.gr-hero-copy { padding: clamp(1.5rem, 5vw, 3.5rem) 0; width: min(var(--gr-content-width), calc(100% - 2 * var(--gr-gutter))); max-width: none; margin-inline: auto; }
.gr-hero-copy h1 { max-width: 15ch; }
.gr-home-intro h2 { font-size: clamp(1.85rem, 3.4vw, 2.8rem); }
.gr-story { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.gr-story-art { min-width: 0; }
.gr-story-art img { aspect-ratio: 16 / 10; min-height: 0; }
.site-main .planner-page > .gardenrook-garden-planner,
.site-main .planner-page > h1 { max-width: 880px; margin-inline: auto; }

@media (max-width: 700px) {
  .site-header .site-shell { gap: .35rem 1rem; padding-block: .65rem; }
  .site-header nav ul { gap: .2rem .45rem; }
  .site-header nav a { padding: .4rem .45rem; }
  .site-header .site-name img { width: 36px; height: 36px; }
  .gr-home-hero { min-height: 350px; margin-bottom: 1.5rem; }
  .gr-hero-copy h1 { font-size: clamp(2rem, 8vw, 2.65rem); }
  .gr-story { grid-template-columns: minmax(0, 1fr); }
  .gr-story:nth-child(even) .gr-story-art,
  .gr-home-intro-reversed .gr-story-art { order: 0; }
  .gr-story-art img { aspect-ratio: 16 / 9; }
  .gr-home-section + .gr-home-section { margin-top: 1.5rem; }
}
@media (max-width: 390px) {
  .site-header .site-shell { flex-direction: column; align-items: flex-start; }
  .gardenrook-garden-planner .gr-controls > button { width: 100%; }
}

@media (hover: hover) and (pointer: fine) {
  body { --gr-cursor-image: url("assets/trowel.png") 16 29; }
  body:active { --gr-cursor-image: url("assets/trowel-dig.png") 16 29; }
  body, body :where(*) { cursor: var(--gr-cursor-image), auto; }
}
