/*
Theme Name: HealthyZesty
Theme URI: https://healthyzesty.com/
Author: HealthyZesty
Description: A lightweight block theme for HealthyZesty wellness articles and recipes.
Version: 1.8.18
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: healthyzesty
*/

html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; }
a { text-underline-offset: .18em; }
a:hover { color: #697650; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid #697650; outline-offset: 3px; }
.hz-brand { gap: 0 !important; }
.hz-brand .wp-block-site-title { line-height: 1.06; margin: 0; letter-spacing: -.035em; }
.hz-brand .wp-block-site-title a { display: inline-flex; align-items: center; color: #3f4933; text-decoration: none; }
.hz-brand-tagline { margin: .25rem 0 0; color: #697650; letter-spacing: .18em; font-size: .65rem !important; font-weight: 600; }
.wp-block-navigation-item__content:hover { text-decoration: underline; text-decoration-color: #a8b08c; text-underline-offset: .45em; }
.wp-block-post-content p, .wp-block-post-content li { line-height: 1.8; }
.wp-block-post-content h2 { margin-top: 2.5rem; }
.wp-block-post-content img { border-radius: 3px; }
.wp-block-post-featured-image img { border-radius: 3px; }
.hz-article > .wp-block-post-title { max-width: 900px; margin: .7rem auto .5rem; font-size: clamp(2.35rem, 4.6vw, 4.4rem); line-height: 1.1; text-wrap: balance; }
.hz-article > .wp-block-post-terms, .hz-article-meta { max-width: 900px; margin-left: auto; margin-right: auto; }
.hz-article-meta { color: #697067; margin-bottom: 2rem; }
.hz-article > .wp-block-post-featured-image { margin-top: 2rem; margin-bottom: 3.2rem; }
.hz-reading-body { max-width: 760px; margin: 0 auto; }
.hz-reading-body .wp-block-post-content { font-size: clamp(1.05rem, 1.2vw, 1.17rem); line-height: 1.8; }
.hz-reading-body .wp-block-post-content > p { margin-bottom: 1.35em; }
.hz-reading-body .wp-block-post-content h2 { margin-top: 2.6em; margin-bottom: .6em; font-size: clamp(1.9rem, 3vw, 2.6rem); }
.hz-reading-body .wp-block-post-content h3 { margin-top: 1.8em; font-size: clamp(1.45rem, 2vw, 1.85rem); }
.hz-reading-body .wp-block-post-content ul, .hz-reading-body .wp-block-post-content ol { padding-left: 1.55rem; }
.hz-reading-body .wp-block-post-content li { padding-left: .2rem; margin-bottom: .65rem; }
.hz-reading-body .wp-block-post-content blockquote { border-left: 3px solid #a8b08c; padding-left: 1.3rem; margin: 2rem 0; }
.hz-reading-body .wp-block-post-content img { max-width: 100%; height: auto; }
.hz-article-tags { font-size: .9rem; }
.hz-author-note { max-width: 760px; margin: 3rem auto; border-radius: 4px; }
.hz-author-note h2 { font-size: 1.65rem; }
.hz-related { margin-top: 4.5rem; }
.hz-related > h2 { text-align: center; }
.hz-related .hz-card-grid { margin-bottom: 3rem; }
.hz-post-navigation { border-top: 1px solid #e7e1d3; padding-top: 1.5rem; }
/* Editors apply these classes as they turn imported recipe text into semantic blocks. */
.hz-recipe-facts { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; padding: 1rem 1.25rem; border-top: 1px solid #e7e1d3; border-bottom: 1px solid #e7e1d3; font-size: .95rem; }
.hz-ingredients { background: #f7f3e9; border-radius: 4px; padding: 1.5rem 2rem; margin: 2rem 0; }
.hz-ingredients h2 { margin-top: 0 !important; }
.hz-ingredients ul { margin-bottom: 0; }
.hz-reading-body .hz-ingredients-list { padding: 1.5rem 1.5rem 1.5rem 3.1rem !important; margin: 1.5rem 0 2.25rem; background: #f7f3e9; border: 1px solid #e7e1d3; border-radius: 4px; }
.hz-reading-body .hz-ingredients-list li { padding-left: .25rem; margin-bottom: .45rem; }
.hz-steps ol { counter-reset: hz-step; list-style: none; padding-left: 0 !important; }
.hz-reading-body .hz-method-list { counter-reset: hz-step; list-style: none; padding-left: 0 !important; }
.hz-reading-body .hz-method-list > li { counter-increment: hz-step; position: relative; padding-left: 2.85rem !important; margin: 1.25rem 0; }
.hz-reading-body .hz-method-list > li::before { content: counter(hz-step); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: #697650; color: #fffdf8; font-size: .85rem; font-weight: 700; }
.hz-steps ol > li { counter-increment: hz-step; position: relative; padding-left: 2.8rem !important; margin: 1.2rem 0; }
.hz-steps ol > li::before { content: counter(hz-step); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: #697650; color: #fffdf8; font-size: .85rem; font-weight: 700; }
.hz-recipe-note { padding: 1rem 1.3rem; border-left: 3px solid #a8b08c; background: #f7f3e9; }
footer a { color: #fffdf8 !important; }
footer a:hover, footer a:focus-visible { color: #d8b84a !important; }
.hz-card { transition: transform .2s ease, box-shadow .2s ease; }
.hz-card:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(53,63,42,.12); }
.hz-eyebrow { letter-spacing: .14em; text-transform: uppercase; font-size: .78rem; }
.hz-button .wp-block-button__link { letter-spacing: .08em; text-transform: uppercase; }
.hz-button .wp-block-button__link:hover,
.hz-button .wp-block-button__link:focus-visible { color: #fffdf8 !important; background-color: #35412f; }
.hz-newsletter-form { max-width: 620px; margin: 1.5rem auto 0; }
.hz-newsletter-form > label { display: block; margin-bottom: .35rem; font-weight: 600; }
.hz-newsletter-form > input { box-sizing: border-box; display: block; width: 100%; padding: .9rem 1rem; margin-bottom: .75rem; border: 1px solid #697650; border-radius: 2px; background: #fffdf8; color: #35372f; font: inherit; }
.hz-newsletter-fields { display: flex; gap: .65rem; }
.hz-newsletter-fields input { flex: 1; min-width: 0; padding: .9rem 1rem; border: 1px solid #697650; border-radius: 2px; background: #fffdf8; color: #35372f; font: inherit; }
.hz-newsletter-form > button { padding: .9rem 1.3rem; margin-top: 1rem; border: 0; border-radius: 2px; background: #3f4933; color: #fffdf8; font: inherit; font-weight: 600; cursor: pointer; }
.hz-newsletter-form > button:hover { background: #697650; }
.hz-newsletter-note { margin: .65rem 0 0; font-size: .85rem; }
.hz-newsletter-consent { display: flex; align-items: flex-start; gap: .5rem; margin-top: .75rem; font-size: .88rem; line-height: 1.45; }
.hz-newsletter-consent input { margin-top: .27rem; flex: none; }
.hz-honeypot { position: absolute; left: -9999px; }
.hz-page-hero { border-bottom: 1px solid #e7e1d3; background-image: radial-gradient(circle at 88% 24%, rgba(168,176,140,.19), transparent 28%), radial-gradient(circle at 4% 93%, rgba(216,184,74,.09), transparent 33%); }
.hz-hero { color: #35412f; background-color: #fffdf8; background-image: linear-gradient(180deg, #fffdf8 0, #fffdf8 58px, rgba(255,253,248,0) 110px), linear-gradient(90deg, #fffdf8 0%, #fffdf8 38%, rgba(255,253,248,.96) 44%, rgba(255,253,248,0) 59%), url('assets/approved-header.webp'); background-size: cover, cover, cover; background-position: center, center, center; background-repeat: no-repeat; }
.hz-hero h1, .hz-hero-copy > p { color: #35412f; }
.hz-hero-copy .hz-eyebrow { color: #697650; }
.hz-hero-copy p.has-large-font-size { max-width: 510px; font-size: clamp(1.1rem, 1.65vw, 1.35rem) !important; line-height: 1.55; }
.hz-hero .wp-block-cover__background { opacity: 0; }
.hz-hero .wp-block-cover__inner-container { position: relative; z-index: 1; }
.hz-page-hero h1 { max-width: 850px; margin-top: .5rem; }
.hz-page-hero p { max-width: 710px; }
.hz-book-hero > .wp-block-columns { width: min(1200px, calc(100% - 2.5rem)); }
.hz-book-title { line-height: 1; }
.hz-book-title-main { display: block; font-size: clamp(3rem, 5.6vw, 5.15rem); letter-spacing: -.035em; text-wrap: balance; }
.hz-book-title-subtitle { display: block; max-width: 680px; margin-top: 1rem; color: #697650; font-family: var(--wp--preset--font-family--body, sans-serif); font-size: clamp(1.1rem, 1.8vw, 1.45rem); font-weight: 600; line-height: 1.35; letter-spacing: .02em; }
.hz-book-hook { margin: 0 0 .85rem; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.65rem, 2.8vw, 2.25rem); line-height: 1.2; }
.hz-book-hero-cover { max-width: 410px; margin: 0 auto; }
.hz-book-hero-cover img { display: block; width: 100%; height: auto; border-radius: 4px; box-shadow: 0 18px 45px rgba(53, 65, 47, .16); }
.hz-book-intro-copy { max-width: 820px; margin-left: auto; margin-right: auto; }
.hz-book-audience > .wp-block-columns, .hz-book-pillars > .wp-block-columns, .hz-book-reviews > .wp-block-columns { margin-top: 2rem; }
.hz-book-audience .wp-block-column, .hz-book-pillars .wp-block-column { padding: 1.6rem; border: 1px solid #e7e1d3; border-radius: 4px; }
.hz-book-pillars .wp-block-column { background: #fffdf8; }
.hz-book-number { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; margin: 0 0 1rem; border-radius: 50%; background: #697650; color: #fffdf8; font-size: .86rem; font-weight: 700; }
.hz-book-story .wp-block-column.has-deep-olive-background-color { padding: clamp(2rem, 4vw, 3.5rem); border-radius: 4px; }
.hz-book-author-quote { margin: 0; padding: 0; border: 0; }
.hz-book-author-quote p { color: #fffdf8; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.45rem, 2.5vw, 2rem); line-height: 1.35; }
.hz-book-author-quote cite { display: block; margin-top: 1.5rem; color: #fffdf8; font-family: inherit; font-size: 1rem; font-style: normal; font-weight: 600; letter-spacing: .02em; text-transform: none; }
.hz-book-review { padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid #e7e1d3; border-radius: 4px; box-shadow: 0 10px 28px rgba(53, 65, 47, .07); }
.hz-book-review > p:first-child { font-family: Georgia, 'Times New Roman', serif; font-size: 1.18rem; line-height: 1.6; }
.hz-book-reviewer { margin-bottom: 0; color: #697650; font-size: .88rem; font-weight: 700; }
.hz-book-final-cta p { max-width: 760px; margin-left: auto; margin-right: auto; }
.hz-book-preview { background: #e9ebdd; padding: clamp(3.5rem, 7vw, 6rem) max(1.25rem, calc((100vw - 1200px) / 2)); }
.hz-book-preview-inner { max-width: 1200px; margin: auto; display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(240px, .8fr); align-items: center; gap: clamp(2rem, 6vw, 6rem); }
.hz-book-preview h2 { margin: .5rem 0 1rem; color: #3f4933; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.2rem, 4vw, 3.5rem); line-height: 1.14; }
.hz-book-preview p { max-width: 650px; line-height: 1.7; }
.hz-book-preview-link { display: inline-block; margin-top: .8rem; padding: .9rem 1.3rem; background: #3f4933; color: #fffdf8 !important; text-decoration: none; font-weight: 600; }
.hz-book-preview-link:hover, .hz-book-preview-link:focus-visible { background: #697650; color: #fffdf8 !important; }
.hz-book-preview-note { margin: .65rem 0 0; font-size: .85rem; }
.hz-book-preview-aside { border-left: 1px solid #a8b08c; padding-left: clamp(1.5rem, 3vw, 3rem); }
.hz-book-preview-aside p:first-child { margin-top: 0; color: #3f4933; font-family: Georgia, 'Times New Roman', serif; font-size: 1.6rem; }
.hz-book-preview-aside a { color: #3f4933; font-weight: 600; }
@media (max-width: 700px) { .hz-book-preview-inner { grid-template-columns: 1fr; gap: 2rem; } .hz-book-preview-aside { border-left: 0; border-top: 1px solid #a8b08c; padding: 1.5rem 0 0; } }
.hz-section { padding-top: clamp(3rem, 7vw, 6rem); padding-bottom: clamp(3rem, 7vw, 6rem); }
.hz-section > .wp-block-columns { margin-top: 2rem; }
.hz-section .wp-block-column.has-background { border: 1px solid #e7e1d3; border-radius: 4px; }
.hz-section .wp-block-column.has-background:hover { box-shadow: 0 10px 25px rgba(53,63,42,.08); }
.hz-intro { font-size: clamp(1.15rem, 1.8vw, 1.4rem); line-height: 1.65; }
.hz-card { border-radius: 4px; overflow: hidden; }
.hz-card h3 { margin-top: .3rem; }
.hz-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin: 2rem auto; }
.hz-recipe-card { background: #f7f3e9; }
.hz-recipe-card img { width: 100%; height: 220px; object-fit: cover; display: block; }
.hz-recipe-card-body { padding: 1.2rem; }
.hz-recipe-card h3 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: 1.4rem; line-height: 1.2; }
.hz-recipe-card h3 a { text-decoration: none; }
.hz-recipe-filters { display: flex; flex-wrap: wrap; justify-content: center; gap: .55rem; margin: 2rem auto 1.25rem; }
.hz-recipe-filter { display: inline-flex; min-height: 2.6rem; align-items: center; justify-content: center; padding: .5rem .9rem; border: 1px solid #d9d2c2; border-radius: 2px; background: #fffdf8; color: #3f4933; text-decoration: none; }
.hz-recipe-filter:hover, .hz-recipe-filter:focus-visible { border-color: #697650; color: #3f4933; }
.hz-recipe-filter.is-active { border-color: #697650; background: #697650; color: #fffdf8; }
.hz-pagination { margin: 2.5rem auto 0; }
.hz-pagination .page-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.hz-pagination a, .hz-pagination .current { display: inline-flex; min-width: 2.6rem; min-height: 2.6rem; align-items: center; justify-content: center; padding: .45rem .8rem; border: 1px solid #d9d2c2; border-radius: 2px; text-decoration: none; }
.hz-pagination .current { border-color: #697650; background: #697650; color: #fffdf8; }
.wp-block-query-pagination { gap: .45rem !important; margin-top: 2.5rem; }
.wp-block-query-pagination-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: .45rem; margin: 0; }
.wp-block-query-pagination a, .wp-block-query-pagination .current { display: inline-flex; min-width: 2.6rem; min-height: 2.6rem; align-items: center; justify-content: center; padding: .45rem .8rem; border: 1px solid #d9d2c2; border-radius: 2px; text-decoration: none; }
.wp-block-query-pagination .current { border-color: #697650; background: #697650; color: #fffdf8; }
.hz-contact-link { overflow-wrap: anywhere; }
.hz-instagram-link { display: inline-flex; align-items: center; gap: .45rem; }
.hz-instagram-icon { width: 1.15em; height: 1.15em; flex: none; overflow: visible; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .hz-card { transition: none; } }
@media (max-width: 782px) {
  .hz-hero { min-height: 730px !important; background-image: linear-gradient(180deg, rgba(255,253,248,0) 0, rgba(255,253,248,0) 260px, #fffdf8 385px, #fffdf8 100%), url('assets/approved-header.webp'); background-size: cover, auto 470px; background-position: center, 68% -60px; align-items: flex-end; }
  .hz-hero-copy { padding: 385px 1.25rem 2.5rem !important; }
  .hz-page-hero { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; }
  .hz-book-hero > .wp-block-columns { width: min(100%, calc(100% - 2.5rem)); }
  .hz-book-hero-cover { max-width: 330px; margin-top: 2rem; }
  .hz-brand .wp-block-site-title { font-size: 1.8rem !important; }
  .hz-newsletter-fields { flex-direction: column; }
  .hz-newsletter-form > button { width: 100%; }
  .hz-card-grid { grid-template-columns: 1fr; }
  .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr !important; }
}
@media (min-width: 783px) and (max-width: 1080px) { .hz-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media print {
  header, footer, .hz-related, .hz-post-navigation, .hz-author-note, .hz-newsletter-form, .hz-card-grid { display: none !important; }
  body { color: #111; background: #fff; font-size: 11pt; }
  .hz-article, .hz-reading-body { max-width: none !important; padding: 0 !important; margin: 0 !important; }
  .hz-reading-body a { color: #111; text-decoration: underline; }
  .hz-ingredients, .hz-recipe-note { background: none; border-color: #777; }
  h2, h3, .hz-steps li { break-after: avoid; }
}

/* Show the entire approved panorama, including the book stack, on wide screens. */
@media (min-width: 1100px) {
  .hz-hero { min-height: 560px !important; background-size: cover, cover, 100% auto; background-position: center, center, center top; }
}

/* Calmer editorial scale for recipes and journal entries. */
.hz-recipe-card-body h3 { font-size: clamp(1.1rem, 1.4vw, 1.25rem); line-height: 1.35; }
.wp-block-query .wp-block-post-title.has-large-font-size { font-size: clamp(1.35rem, 2vw, 1.7rem) !important; line-height: 1.28; }
.hz-article > .wp-block-post-title { font-size: clamp(2rem, 3.4vw, 3.3rem); line-height: 1.14; }
.hz-reading-body .wp-block-post-content h2 { font-size: clamp(1.7rem, 2.3vw, 2.15rem); line-height: 1.22; }
.hz-reading-body .wp-block-post-content h3 { font-size: clamp(1.35rem, 1.8vw, 1.6rem); line-height: 1.3; }

/* Recipe archive uses the same editorial grid and title hierarchy as the journal. */
body.page-id-1932 .hz-card-grid { width: calc(100% - 68px); max-width: 1240px; }
body.page-id-1932 .hz-recipe-card img { height: 268px; }
body.page-id-1932 .hz-recipe-card-body h3 { font-size: clamp(1.35rem, 2vw, 1.7rem); line-height: 1.28; }
@media (max-width: 782px) { body.page-id-1932 .hz-card-grid { width: calc(100% - 32px); } body.page-id-1932 .hz-recipe-card img { height: 220px; } }

/* Book preview form: match the site's calm olive signup treatment. */
.hz-book-preview-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem 1rem; margin-top:1.5rem; max-width:650px; }
.hz-book-preview-form label { color:#3f4933; font-size:.9rem; font-weight:600; }
.hz-book-preview-form input:not([type="hidden"]):not([tabindex="-1"]) { box-sizing:border-box; width:100%; min-height:48px; padding:.7rem .85rem; border:1px solid #a8b08c; border-radius:3px; background:#fffdf8; color:#30382a; font:inherit; }
.hz-book-preview-form input:focus-visible { outline:2px solid #3f4933; outline-offset:2px; }
.hz-book-preview-form label:nth-of-type(1) { grid-column:1;grid-row:1; }
.hz-book-preview-form #hz-chapter-name { grid-column:1;grid-row:2; }
.hz-book-preview-form label:nth-of-type(2) { grid-column:2;grid-row:1; }
.hz-book-preview-form #hz-chapter-email { grid-column:2;grid-row:2; }
.hz-book-preview-form button { grid-column:1 / -1; justify-self:start; border:0; border-radius:3px; font:inherit; cursor:pointer; }
@media(max-width:600px){.hz-book-preview-form{grid-template-columns:1fr}.hz-book-preview-form label:nth-of-type(2){grid-column:1;grid-row:3}.hz-book-preview-form #hz-chapter-email{grid-column:1;grid-row:4}.hz-book-preview-form button{grid-column:1;grid-row:5;width:100%}}

/* WordPress paragraph wrappers around newsletter shortcode content. */
.hz-newsletter-form button[type="submit"] { display:inline-block; padding:.9rem 1.3rem; margin-top:1rem; border:0; border-radius:3px; background:#3f4933; color:#fffdf8; font:inherit; font-weight:600; line-height:1.3; cursor:pointer; transition:background-color .2s ease; }
.hz-newsletter-form button[type="submit"]:hover,.hz-newsletter-form button[type="submit"]:focus-visible { background:#697650; color:#fffdf8; }
.hz-newsletter-form > p:has(> button[type="submit"]) { margin:.25rem 0 0; }
@media(max-width:782px){.hz-newsletter-form button[type="submit"]{width:100%}}

/* Quiet, branded confirmation page for meal-kit signups. */
body.page-id-4587 .hz-thanks { box-sizing:border-box; max-width:850px; margin:1.25rem auto 5rem; padding:clamp(2rem,5vw,4.5rem); background:#e9ebdd; border-radius:4px; box-shadow:0 12px 42px rgba(46,58,38,.08); }
body.page-id-4587 .hz-thanks h2 { color:#3f4933; font-family:Georgia,serif; font-size:clamp(2rem,4vw,3.35rem); line-height:1.16; margin:.5rem 0 1.2rem; }
body.page-id-4587 .hz-thanks p { max-width:650px; line-height:1.7; }
body.page-id-4587 .hz-thanks .hz-eyebrow { color:#697650; font-size:.78rem; font-weight:700; letter-spacing:.15em; }
body.page-id-4587 .hz-thanks .wp-block-buttons { gap:.8rem; margin:1.6rem 0 2rem; }
body.page-id-4587 .hz-thanks .wp-block-button__link { background:#3f4933; color:#fffdf8; border-radius:3px; padding:.85rem 1.3rem; font-size:.95rem; font-weight:600; }
body.page-id-4587 .hz-thanks .wp-block-button__link:hover,body.page-id-4587 .hz-thanks .wp-block-button__link:focus-visible { background:#697650; color:#fffdf8; }
body.page-id-4587 .hz-thanks .hz-thanks-secondary .wp-block-button__link { color:#3f4933; background:transparent; border:1px solid #3f4933; }
body.page-id-4587 .hz-thanks .hz-thanks-secondary .wp-block-button__link:hover,body.page-id-4587 .hz-thanks .hz-thanks-secondary .wp-block-button__link:focus-visible { color:#fffdf8; background:#697650; border-color:#697650; }
body.page-id-4587 .hz-thanks-signoff { color:#3f4933; font-family:Georgia,serif; font-size:1.15rem; }
body.page-id-4587 .wp-site-blocks > .wp-block-group:has(.hz-newsletter-form) { display:none; }
