/*
Theme Name: keto bread theme
Author: Delicious Keto Meal
Description: An editable, mobile-first block theme for a low-carb bread kitchen. Includes responsive recipe grids, bread guides, search, and reusable patterns.
Version: 1.5.0
Requires at least: 6.6
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: keto-bread-theme
Tags: blog, food-and-drink, full-site-editing, block-patterns, custom-colors, custom-logo, editor-style, wide-blocks
*/
:root{--kb-cream:#FAF7F2;--kb-forest:#2F6B3E;--kb-brown:#49210D;--kb-sage:#E9EFE5;--kb-muted:#655E54;--kb-line:#DED5C7;--kb-width:1180px;--kb-gutter:clamp(20px,4vw,56px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;overflow-wrap:break-word}
img{max-width:100%;height:auto}
a{ text-underline-offset:.2em }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--kb-forest);outline-offset:4px}
input,textarea,select,button{font:inherit}
button,input[type=submit],.wp-element-button{min-height:48px}
.wp-site-blocks>*,.kb-home>*{margin-block-start:0}
.kb-header{border-bottom:1px solid var(--kb-line);padding:22px var(--kb-gutter);background:var(--kb-cream)}
.kb-header-row{max-width:var(--kb-width)!important;margin-inline:auto;display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:nowrap}
.kb-header-row>.wp-block-site-title{margin:0;max-width:65%;line-height:1.15}
.kb-header-row>.wp-block-navigation{margin:0;flex-shrink:0}
.wp-block-site-title a{text-decoration:none;color:var(--kb-brown)}
.wp-block-navigation .wp-block-navigation-item__content{padding:10px 0;min-height:44px;display:flex;align-items:center}
.wp-block-navigation__responsive-container-open,.wp-block-navigation__responsive-container-close{min-width:48px;min-height:48px;align-items:center;justify-content:center}
.wp-block-navigation__responsive-container.is-menu-open{padding:28px;background:var(--kb-cream)!important;color:var(--kb-brown)!important}
.kb-hero{max-width:var(--kb-width)!important;margin:0 auto!important;padding:64px 0 72px;display:grid;grid-template-columns:1fr 1.08fr;gap:clamp(24px,4vw,64px);align-items:center}
.kb-home{padding-inline:var(--kb-gutter)}
.kb-home .kb-hero>*{margin:0;min-width:0;max-width:none}
.kb-hero h1{margin:20px 0 24px;line-height:1.05;font-size:clamp(2.7rem,4.8vw,4.4rem);letter-spacing:-.045em}
.kb-lead{color:var(--kb-muted);font-size:1.12rem;max-width:44ch;line-height:1.75}
.kb-eyebrow,.kb-kicker{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.15em;line-height:1.6;color:var(--kb-forest)}
.kb-kicker{color:var(--kb-muted);margin-top:30px;font-size:.65rem;letter-spacing:.12em}
.kb-hero .wp-block-buttons{margin-top:28px;gap:12px}
.wp-block-button.is-style-outline>.wp-block-button__link{color:var(--kb-forest);border:1px solid var(--kb-forest);background:transparent}
.wp-block-button__link{text-decoration:none;transition:background-color .15s ease,color .15s ease}
.wp-block-button__link:hover{background:#245631;color:#fff}
.kb-hero-image{margin:0!important;position:relative}
.kb-hero-image img{display:block;width:100%;aspect-ratio:1.08;object-fit:cover;border-radius:80px 12px 12px 12px}
.kb-section{max-width:var(--kb-width)!important;margin:0 auto!important;padding:60px 0}
.kb-section h2{margin-top:12px;margin-bottom:22px}
.kb-section>.kb-eyebrow{margin-top:0}
.kb-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:30px}
.kb-category-grid>.kb-category{margin:0!important;min-width:0;max-width:none;border-top:1px solid var(--kb-line);padding:26px 0 12px}
.kb-number{font-size:.8rem;font-weight:600;color:var(--kb-forest);margin:0}
.kb-category h3{margin:12px 0 14px}
.kb-category h3 a{color:var(--kb-brown);text-decoration:none}
.kb-category p:not(.kb-number):not(.kb-card-link){color:var(--kb-muted);font-size:.98rem}
.kb-card-link{font-size:.88rem;font-weight:700;margin-top:22px}
.kb-card-link a{text-decoration:none}
.kb-recipe-section{border-top:1px solid var(--kb-line)}
.kb-recipes{margin-top:30px}
.kb-recipes ul.wp-block-post-template{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.kb-recipes .wp-block-post{min-width:0;overflow:hidden;border:1px solid var(--kb-line);border-radius:12px;background:white;margin:0}
.kb-recipes .wp-block-post-featured-image{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--kb-sage)}
.kb-recipes .wp-block-post-featured-image a{display:block;height:100%}
.kb-recipes .wp-block-post-featured-image img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
.kb-card-body{padding:24px}
.kb-card-body .wp-block-post-title{font-size:1.5rem;margin:12px 0;line-height:1.2}
.kb-card-body .wp-block-post-title a{color:var(--kb-brown);text-decoration:none}
.kb-card-body .wp-block-post-excerpt{color:var(--kb-muted);font-size:.95rem}
.kb-card-body .wp-block-post-excerpt__more-link{font-size:.9rem;font-weight:700}
.kb-card-body .kb-eyebrow{font-size:.65rem}
.kb-basics{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:48px;background:var(--kb-sage);border-radius:14px;align-items:center}
.kb-basics>*{margin:0!important;max-width:none;min-width:0}
.kb-basics-copy>p:last-child{color:var(--kb-muted)}
.kb-basics-links h3{font-size:1.5rem;margin-top:0}
.kb-basics-links p{border-bottom:1px solid #C3CFBC;margin:0}
.kb-basics-links a{display:block;text-decoration:none;color:var(--kb-brown);padding:18px 0;font-size:.95rem;min-height:48px}
.kb-basics-links span{float:right}
.kb-search-panel{text-align:center;padding-top:30px;padding-bottom:80px}
.kb-search-panel .wp-block-search{max-width:620px;margin:28px auto 0;text-align:left}
.wp-block-search__label{font-size:.875rem;display:block;margin-bottom:10px;font-weight:600}
.wp-block-search__inside-wrapper{display:flex;gap:10px}
.wp-block-search__input{min-width:0;min-height:52px;border:1px solid var(--kb-line);border-radius:6px;padding:12px 15px;background:white;color:var(--kb-brown);font-size:1rem;flex:1}
.wp-block-search__button{margin:0;border:0;background:var(--kb-forest);color:white;border-radius:6px;padding:12px 20px;cursor:pointer}
.kb-footer{padding:48px var(--kb-gutter);background:var(--kb-brown);color:var(--kb-cream)}
.kb-footer-inner{max-width:var(--kb-width)!important;margin:0 auto}
.kb-footer .wp-block-site-title a{color:var(--kb-cream)}
.kb-footer .kb-eyebrow{color:#D4E4CC;margin-top:28px}
.kb-small{font-size:.82rem;line-height:1.65}
.kb-footer .kb-small{color:#E6D5C4}
.kb-archive,.kb-page,.kb-single{padding-inline:var(--kb-gutter)}
.kb-page{min-height:55vh;padding-top:50px;padding-bottom:70px}
.kb-page>.wp-block-post-title,.kb-page>.wp-block-post-featured-image{max-width:760px;margin-inline:auto}
.kb-post-header{max-width:760px!important;margin-inline:auto;margin-bottom:36px}
.kb-post-header .wp-block-post-title{margin-top:18px}
.kb-single>.wp-block-post-featured-image{max-width:960px;margin:36px auto;border-radius:12px;overflow:hidden}
.kb-single .wp-block-post-content{padding-top:18px}
.kb-single>.wp-block-comments,.kb-post-nav{max-width:760px;margin:48px auto 0}
.kb-post-nav{display:flex;justify-content:space-between;gap:28px;border-top:1px solid var(--kb-line);padding-top:28px}
.kb-post-nav>*{flex:1;min-width:0}
.wp-block-query-pagination{margin:36px 0;display:flex;gap:18px;flex-wrap:wrap}
.wp-block-query-pagination a,.wp-block-query-pagination .current{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.kb-recipe-card{border:1px solid var(--kb-line);border-radius:12px;padding:clamp(20px,4vw,36px);background:#fff;scroll-margin-top:24px}
.wp-block-post-content table{display:block;max-width:100%;overflow:auto}
pre{overflow:auto;max-width:100%}
textarea{width:100%;max-width:100%}
.comment-form input:not([type=checkbox]):not([type=submit]){max-width:100%;min-height:48px}
.wp-block-post-content a{overflow-wrap:anywhere}
@media(min-width:761px) and (max-width:1000px){.kb-recipes ul.wp-block-post-template{grid-template-columns:repeat(2,minmax(0,1fr))}.kb-hero{gap:28px}.kb-hero h1{font-size:3.1rem}.kb-basics{padding:30px;gap:30px}.kb-header-row>.wp-block-site-title{font-size:1.35rem}}
@media(max-width:760px){
.kb-header{padding-block:14px}.kb-header-row{gap:16px}.kb-header-row>.wp-block-site-title{font-size:1.35rem;max-width:75%}
.kb-header-row .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
.kb-header-row .wp-block-navigation__responsive-container-open{display:flex!important}
.kb-hero{grid-template-columns:1fr;padding-top:36px;padding-bottom:36px;gap:28px}
.kb-hero h1{font-size:clamp(2.6rem,9vw,4rem);max-width:16ch;margin-top:16px}
.kb-hero-image img{aspect-ratio:4/3;border-top-left-radius:52px}
.kb-lead{font-size:1.05rem}.kb-kicker{margin-top:24px}
.kb-section{padding-block:36px}.kb-section h2{font-size:2rem}
.kb-category-grid{grid-template-columns:1fr;gap:8px}.kb-category-grid>.kb-category{padding-top:22px;padding-bottom:18px}
.kb-recipes ul.wp-block-post-template{grid-template-columns:1fr;gap:24px}
.kb-basics{grid-template-columns:1fr;padding:28px 22px;gap:24px}
.kb-search-panel{padding-bottom:48px}.wp-block-search__inside-wrapper{flex-wrap:wrap}.wp-block-search__input{flex-basis:100%;width:100%}.wp-block-search__button{width:100%;min-height:48px}
.kb-footer{padding-block:36px}.kb-post-nav{flex-direction:column}.kb-single,.kb-page,.kb-archive{padding-top:36px}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{align-items:flex-start!important;width:100%}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{width:100%}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{width:100%;font-size:1.2rem;padding:14px 0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.kb-header,.kb-footer,.kb-post-nav,.wp-block-comments,.wp-block-buttons{display:none!important}body{background:white;color:black}.kb-single{padding:0}.kb-recipe-card{border:1px solid #bbb;padding:18px}.wp-block-post-featured-image{max-height:250px;overflow:hidden}a{color:inherit}}

.kb-footer a:focus-visible{outline-color:var(--kb-cream)}

/* Reference-inspired navigation, full-width homepage banner, and benefits. */
.kb-header{background:#fff;padding-block:16px}
.kb-reference-header{gap:28px}
.kb-brand{display:flex;align-items:center;gap:10px;flex:0 1 auto;min-width:0;margin:0!important}
.kb-brand>*{margin:0!important;min-width:0}
.kb-brand-mark{width:48px;flex:0 0 48px;margin:0!important}
.kb-brand-mark img{display:block;width:48px;height:48px}
.kb-brand-type{margin:0!important}
.kb-brand-type .wp-block-site-title{font-family:Georgia,serif;font-style:italic;font-weight:700;font-size:clamp(1.2rem,2.1vw,1.75rem);line-height:1.15;margin:0;white-space:normal}
.kb-brand-type .wp-block-site-title a{color:#16512E}
.kb-brand-tagline{font-size:.6rem;letter-spacing:.13em;line-height:1.4;color:#16512E;font-weight:700;margin:5px 0 0}
.kb-reference-header>.wp-block-navigation{font-size:.88rem}
.kb-reference-header .wp-block-navigation__container{gap:22px}
.kb-nav-cta>.wp-block-navigation-item__content{background:#16512E;color:#fff!important;border-radius:999px;padding:10px 20px;min-height:44px}
.kb-reference-home{padding-inline:0}
.kb-reference-home>:not(.kb-reference-hero):not(.kb-benefit-strip){padding-inline:var(--kb-gutter)}
.kb-reference-home>.kb-section{max-width:calc(var(--kb-width) + 2 * var(--kb-gutter))!important}
.kb-reference-hero{position:relative;isolation:isolate;overflow:hidden;background:#123621;max-width:none!important;margin:0!important;min-height:470px}
.kb-banner-photo{position:absolute;inset:0;margin:0!important;max-width:none!important;z-index:-2}
.kb-banner-image{margin:0!important;width:100%;height:100%}
.kb-banner-image img{width:100%;height:100%;object-fit:cover;object-position:80% 50%;border-radius:0;display:block}
.kb-banner-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#123621 0%,rgba(18,54,33,.98) 23%,rgba(18,54,33,.86) 40%,rgba(18,54,33,.2) 67%,rgba(18,54,33,0) 85%)}
.kb-banner-copy{max-width:calc(var(--kb-width) + 2 * var(--kb-gutter))!important;padding:54px var(--kb-gutter) 58px;margin:0 auto!important;color:#fff}
.kb-banner-copy>*{max-width:52%!important;margin-left:0!important;margin-right:auto!important}
.kb-banner-copy>.kb-eyebrow{font-size:.7rem;letter-spacing:.16em;color:#E5ECDC;margin-top:0}
.kb-banner-copy h1{font-family:Georgia,serif;font-style:italic;font-weight:700;letter-spacing:-.045em;font-size:clamp(2.7rem,4.4vw,4rem);line-height:1.1;margin-top:16px;margin-bottom:20px}
.kb-banner-copy .kb-banner-promise{font-family:inherit;font-style:normal;font-weight:700;letter-spacing:-.02em;font-size:clamp(1.3rem,2vw,1.65rem);line-height:1.2;margin:0 0 18px}
.kb-banner-copy .kb-lead{font-size:1.05rem;color:#F1F2E9;line-height:1.55;max-width:43ch!important;margin-top:0}
.kb-banner-copy .wp-block-buttons{margin-top:26px}
.kb-banner-copy .wp-block-button__link{background:#F6C64E;color:#123621;border-radius:14px;font-size:.95rem;padding:15px 24px;font-weight:700}
.kb-banner-copy .wp-block-button__link:hover{background:#FFE093;color:#123621}
.kb-banner-copy a:focus-visible{outline-color:#fff}
.kb-benefit-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;max-width:none!important;padding:30px max(var(--kb-gutter),calc((100% - var(--kb-width)) / 2));margin:0!important;border-bottom:1px solid var(--kb-line);background:#fff}
.kb-benefit-strip>.kb-feature{display:flex;gap:16px;align-items:center;min-width:0;max-width:none;margin:0!important;padding:0 22px;border-left:1px solid #E3E6E0}
.kb-benefit-strip>.kb-feature:first-child{border-left:0;padding-left:0}
.kb-benefit-strip>.kb-feature:last-child{padding-right:0}
.kb-feature-icon{margin:0!important;flex:0 0 56px;width:56px;height:56px;padding:11px;border-radius:50%;background:#DCEBD9}
.kb-feature-icon img{display:block;width:34px;height:34px;border-radius:0}
.kb-feature-heart,.kb-feature-star{background:#FCE8C8}
.kb-feature-text{min-width:0;margin:0!important}
.kb-feature-text h3{font-family:inherit;font-size:.92rem;letter-spacing:-.02em;font-weight:700;line-height:1.3;color:#16512E;margin:0 0 8px}
.kb-feature-text p{font-size:.8rem;line-height:1.5;color:#4C5750;margin:0}
@media(min-width:761px) and (max-width:1050px){
.kb-reference-header{flex-wrap:wrap;gap:14px}.kb-reference-header>.wp-block-navigation{width:100%;justify-content:flex-start}
.kb-benefit-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.kb-benefit-strip>.kb-feature:nth-child(3){border-left:0;padding-left:0}
.kb-banner-copy>*{max-width:60%!important}.kb-banner-copy h1{font-size:3.2rem}
}
@media(max-width:760px){
.kb-brand-mark{width:38px;flex-basis:38px}.kb-brand-mark img{width:38px;height:38px}
.kb-reference-header{gap:12px}.kb-brand{max-width:calc(100% - 60px)}.kb-brand-type .wp-block-site-title{font-size:1.25rem}.kb-brand-tagline{font-size:.52rem}
.kb-reference-hero{display:flex;flex-direction:column;min-height:0;isolation:auto}
.kb-banner-copy{order:0;width:100%;padding:34px var(--kb-gutter) 32px}
.kb-banner-copy>*{max-width:100%!important}.kb-banner-copy h1{font-size:clamp(2.6rem,9vw,3.6rem);max-width:15ch!important}
.kb-banner-copy .kb-banner-promise{font-size:1.3rem}.kb-banner-copy .kb-lead{font-size:1rem;max-width:45ch!important}
.kb-banner-photo{order:1;position:relative;inset:auto;z-index:auto;height:auto;aspect-ratio:16/9;width:100%}
.kb-banner-photo:after{background:linear-gradient(180deg,rgba(18,54,33,.18),transparent 40%)}
.kb-banner-copy .wp-block-buttons{max-width:100%!important}.kb-banner-copy .wp-block-button{max-width:100%}.kb-banner-copy .wp-block-button__link{white-space:normal}
.kb-benefit-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;padding:26px var(--kb-gutter)}
.kb-benefit-strip>.kb-feature{display:block;padding:0;border:0}.kb-feature-icon{margin-bottom:12px!important;width:48px;height:48px;padding:9px}.kb-feature-icon img{width:30px;height:30px}
.kb-feature-text h3{font-size:.88rem}.kb-feature-text p{font-size:.8rem}
.kb-reference-home>:not(.kb-reference-hero):not(.kb-benefit-strip){padding-inline:var(--kb-gutter)}
.kb-reference-home .kb-section{padding-inline:0}
}

.kb-banner-photo .kb-banner-image{max-width:none!important;margin-inline:0!important}

.kb-banner-photo .kb-banner-image{max-width:none!important;margin-inline:0!important}

/* Single recipe posts: readable column, real section links, and visual steps. */
.kb-single-recipe{padding-top:46px;padding-bottom:72px}
.kb-single-recipe .kb-post-header{max-width:820px!important;margin-bottom:30px}
.kb-single-recipe .kb-post-header .wp-block-post-title{font-size:clamp(2.2rem,4.4vw,3.6rem);line-height:1.12;letter-spacing:-.035em;margin-bottom:22px}
.kb-article-meta{display:flex;gap:7px;align-items:baseline;color:var(--kb-muted);font-size:.84rem}
.kb-article-meta>*{margin:0!important}
.kb-single-recipe>.kb-post-hero{max-width:960px!important;margin:0 auto 28px;overflow:hidden;border-radius:14px}
.kb-post-hero img{display:block;width:100%;height:auto;object-fit:contain}
.kb-article-content{font-size:1.0625rem;line-height:1.8;padding-top:12px!important}
.kb-article-content>*{max-width:760px}
.kb-recipe-article{max-width:760px!important}
.kb-article-content>p:first-child,.kb-recipe-article>p:first-child{font-size:1.13rem;line-height:1.8;color:#514637}
.kb-article-content h2{font-size:clamp(1.7rem,3vw,2.2rem);line-height:1.22;margin-top:48px;margin-bottom:20px}
.kb-article-content h3{font-family:var(--wp--preset--font-family--body, sans-serif);font-size:1.22rem;font-weight:700;line-height:1.4;letter-spacing:-.015em;margin:28px 0 14px}
.kb-article-content :is(h2,h3),.kb-article-content [id]{scroll-margin-top:150px}
.kb-article-content p{margin-top:0;margin-bottom:20px}
.kb-article-content ul,.kb-article-content ol{padding-inline-start:1.5rem}
.kb-article-content li{margin-bottom:10px}
.kb-article-tools[hidden]{display:none!important}
.kb-article-tools{position:sticky;top:10px;z-index:15;display:flex;align-items:center;flex-wrap:wrap;gap:8px;max-width:760px!important;padding:10px;background:rgba(250,247,242,.98);border:1px solid var(--kb-line);border-radius:10px;margin:0 auto 24px;box-shadow:0 5px 16px #49210d0a;font-size:.85rem}
.admin-bar .kb-article-tools{top:42px}
.kb-quick-links{display:flex;gap:8px;flex-wrap:wrap}
.kb-quick-links a{display:flex;align-items:center;min-height:44px;padding:8px 14px;border-radius:6px;text-decoration:none;font-weight:700;background:var(--kb-forest);color:white}
.kb-article-toc{position:static;margin:0}
.kb-article-toc summary{cursor:pointer;padding:10px 12px;min-height:44px;font-weight:600;color:var(--kb-brown)}
.kb-article-toc ol{position:absolute;inset-inline:0;top:calc(100% + 8px);max-height:min(50vh,420px);overflow:auto;background:white;border:1px solid var(--kb-line);border-radius:10px;padding:12px 12px 12px 42px;margin:0;box-shadow:0 8px 22px #49210d12}
.kb-article-toc li{padding:0 4px;margin:0}
.kb-article-toc a{display:block;padding:10px 4px;min-height:44px;line-height:1.5}
.kb-print-article{margin-left:auto;min-height:44px;border:0;background:transparent;color:var(--kb-forest);font-weight:600;padding:10px 12px;cursor:pointer;font-size:inherit}
.kb-at-glance{background:#F0F3EC;border:1px solid #CFDBCA;border-radius:12px;padding:28px;margin:30px 0}
.kb-at-glance h2{margin:0 0 22px;font-size:1.7rem}
.kb-facts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 20px}
.kb-facts-grid>.kb-fact{margin:0!important;min-width:0;max-width:none}
.kb-fact-label{font-size:.72rem;line-height:1.4;color:var(--kb-forest);font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px!important}
.kb-fact-value{font-size:1rem;line-height:1.45;font-weight:600;margin:0!important}
.kb-nutrition-note{font-size:.82rem;color:var(--kb-muted);line-height:1.6;border-top:1px solid #CFDBCA;padding-top:18px;margin-top:22px!important;margin-bottom:0!important}
.kb-tip{border-left:4px solid var(--kb-forest);background:#EEF3E9;padding:18px 22px;margin:24px 0;border-radius:0 8px 8px 0}
.kb-tip p{font-size:.98rem;margin:0 0 10px}
.kb-tip p:last-child{margin:0}
.kb-ingredients-panel{padding:28px;border:1px solid var(--kb-line);border-radius:12px;background:#fff;margin-top:42px;margin-bottom:42px}
.kb-ingredients-panel h2{margin-top:0}
.kb-ingredient-help{display:none}
.kb-has-ingredient-checks .kb-ingredient-help{display:block;font-size:.84rem;color:var(--kb-muted)}
.kb-has-ingredient-checks .kb-ingredient-list{list-style:none;padding:0}
.kb-has-ingredient-checks .kb-ingredient-list li{margin:0;border-bottom:1px solid #ECE7DE}
.kb-ingredient-list label{display:flex;gap:12px;align-items:flex-start;min-height:48px;cursor:pointer;padding:10px 0;line-height:1.65}
.kb-ingredient-list input{width:22px;height:22px;flex:0 0 22px;margin:3px 0 0;accent-color:var(--kb-forest);cursor:pointer}
.kb-ingredient-list .is-checked span{text-decoration:line-through;color:#655E54}
.kb-method-step{margin-top:30px}
.kb-method-step h3:first-child{padding-top:20px;border-top:1px solid var(--kb-line)}
.kb-step-photo,.kb-finished-photo{margin:26px 0 34px!important}
.kb-step-photo img,.kb-finished-photo img{display:block;width:100%;height:auto;border-radius:12px;object-fit:contain}
.kb-step-photo figcaption,.kb-finished-photo figcaption,.kb-article-content .wp-element-caption{font-size:.84rem;line-height:1.6;color:var(--kb-muted);text-align:left;margin-top:10px}
.kb-article-content .wp-block-details{border:1px solid var(--kb-line);border-radius:8px;background:white;padding:0;margin:12px 0}
.kb-article-content .wp-block-details summary{font-weight:600;cursor:pointer;padding:17px 20px;min-height:52px;font-size:1rem;line-height:1.5}
.kb-article-content .wp-block-details>p{padding:0 20px 8px;font-size:.98rem}
.kb-single-recipe .wp-block-comments{border-top:1px solid var(--kb-line);padding-top:32px}
.kb-single-recipe .comment-form textarea,.kb-single-recipe .comment-form input:not([type=checkbox]):not([type=submit]){border:1px solid var(--kb-line);border-radius:6px;padding:12px;background:white}
.kb-single-recipe .comment-form label{display:block;margin-bottom:6px;font-size:.92rem}
@media(max-width:782px){.admin-bar .kb-article-tools{top:10px}}
@media(max-width:760px){
.kb-single-recipe{padding-top:30px;padding-bottom:44px}
.kb-single-recipe .kb-post-header .wp-block-post-title{font-size:clamp(2rem,8vw,2.8rem)}
.kb-article-content{font-size:1rem;line-height:1.8}
.kb-article-content>p:first-child,.kb-recipe-article>p:first-child{font-size:1.05rem}
.kb-article-content h2{font-size:1.8rem;margin-top:36px}
.kb-article-content h3{font-size:1.1rem}
.kb-at-glance,.kb-ingredients-panel{padding:22px 18px}
.kb-at-glance h2,.kb-ingredients-panel h2{margin-top:0}
.kb-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}
.kb-fact-value{font-size:.93rem}
.kb-article-tools{gap:4px;padding:6px;top:6px;font-size:.78rem}
.kb-quick-links{gap:4px}.kb-quick-links a{padding-inline:9px}
.kb-article-toc summary{padding-inline:8px}.kb-print-article{padding-inline:8px;margin-left:0}
.kb-article-content :is(h2,h3),.kb-article-content [id]{scroll-margin-top:155px}
.kb-tip{padding:16px}
}
@media(max-width:370px){.kb-article-tools{position:relative;top:auto!important}.kb-article-toc ol{max-height:45vh}.kb-article-content :is(h2,h3),.kb-article-content [id]{scroll-margin-top:24px}}
@media print{
.kb-article-tools,.kb-single-recipe>.kb-post-hero,.kb-step-photo,.kb-article-content .kb-ingredient-help{display:none!important}
.kb-single-recipe,.kb-article-content{max-width:100%!important;padding:0!important;font-size:11pt;line-height:1.5}
.kb-single-recipe .kb-post-header{margin-bottom:18px}
.kb-single-recipe .kb-post-header .wp-block-post-title{font-size:24pt}
.kb-article-content h2{font-size:17pt;margin-top:24px;break-after:avoid}
.kb-article-content h3{font-size:13pt;break-after:avoid}
.kb-at-glance,.kb-ingredients-panel{padding:14px;background:white;break-inside:avoid}
.kb-facts-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kb-ingredient-list input{display:none}.kb-ingredient-list label{min-height:0;padding:4px 0}
.kb-ingredient-list .is-checked span{color:black;text-decoration:none}
.kb-finished-photo{max-width:320px;margin:18px auto!important;break-inside:avoid}
.kb-article-content .wp-block-details{border:0;break-inside:avoid}
.kb-article-content .wp-block-details summary{padding:8px 0;min-height:0}
.kb-article-content .wp-block-details>p{padding:0}
.kb-tip{background:white;border:1px solid #bbb;break-inside:avoid}
}
.kb-article-content summary:focus-visible,.kb-article-toc summary:focus-visible{outline:3px solid var(--kb-forest);outline-offset:3px}

/* Slightly wider recipe collections; keep article text at a readable measure. */
:root{--kb-grid-width:1200px}
.kb-home>#recipes{width:100%;max-width:calc(var(--kb-grid-width) + 2 * var(--kb-gutter))!important;margin-inline:auto!important}
.kb-home>#recipes>.kb-recipe-section{width:100%;max-width:none!important}
.kb-home>.kb-recipe-section{width:100%;max-width:var(--kb-grid-width)!important}
.kb-archive{width:100%;max-width:calc(var(--kb-grid-width) + 2 * var(--kb-gutter))!important}
.kb-recipe-section>.kb-recipes,.kb-archive>.kb-recipes{width:100%;max-width:none!important}
.kb-recipes>.wp-block-post-template{width:100%;max-width:none!important}
.kb-recipes .kb-card-image-fallback{position:relative}
.kb-card-image-fallback img{width:100%;height:100%;object-fit:cover}
.kb-image-label{position:absolute;left:12px;bottom:12px;padding:5px 9px;background:rgba(255,255,255,.95);border-radius:4px;color:#49210D;font-size:.68rem;line-height:1.4;font-weight:600;pointer-events:none}
@media(max-width:760px){.kb-recipes ul.wp-block-post-template{grid-template-columns:1fr}.kb-image-label{font-size:.68rem}}

/* Use the uploaded artwork unchanged, clipping its pictured menu and feature row.
   Crop bounds in the 834 x 438 source: x=8, y=59, width=820, height=279. */
.kb-uploaded-banner{position:relative;display:block;width:100%;min-height:0;aspect-ratio:820/279;padding:0!important;background:#123621;overflow:hidden}
.kb-uploaded-art{position:absolute;inset:0;max-width:none!important;width:100%;height:100%;margin:0!important;pointer-events:none}
.kb-uploaded-image{position:absolute;inset:0;max-width:none!important;width:100%;height:100%;margin:0!important;overflow:hidden}
.kb-uploaded-image img{position:absolute;display:block;max-width:none!important;width:101.707317%!important;height:auto!important;left:-.97561%;top:-21.146953%;border-radius:0;object-fit:initial}
.kb-uploaded-copy{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;padding:0;margin:0}
.kb-uploaded-actions{position:absolute;left:4.268293%;top:75.268817%;width:25.487805%;height:13.261649%;max-width:none!important;margin:0!important;z-index:2}
.kb-uploaded-button{width:100%;height:100%}
.kb-uploaded-button .wp-block-button__link{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:44px;padding:8px 12px;border-radius:14px;background:#F6C64E;color:#123621;font-weight:700;font-size:clamp(.75rem,1.3vw,1.15rem);line-height:1.25;text-align:center}
.kb-uploaded-button .wp-block-button__link:hover{background:#FFE093;color:#123621}
.kb-uploaded-button .wp-block-button__link:focus-visible{outline:3px solid white;outline-offset:4px}
@media(max-width:760px){
.kb-uploaded-banner{display:flex;flex-direction:column;aspect-ratio:auto;min-height:0}
.kb-uploaded-copy{position:static;order:0;clip:auto;clip-path:none;overflow:visible;white-space:normal;width:100%;height:auto;max-width:none!important;padding:32px var(--kb-gutter) 12px;margin:0!important;color:white}
.kb-uploaded-copy>.kb-eyebrow{color:#E5ECDC;letter-spacing:.14em;font-size:.65rem;margin:0 0 16px}
.kb-uploaded-copy h1{font-family:Georgia,serif;font-style:italic;font-weight:700;font-size:clamp(2.5rem,9vw,3.6rem);line-height:1.12;letter-spacing:-.04em;margin:0 0 18px}
.kb-uploaded-copy .kb-uploaded-promise{font-family:inherit;font-size:1.3rem;line-height:1.25;font-weight:700;letter-spacing:-.02em;margin:0 0 16px}
.kb-uploaded-copy .kb-lead{color:#F1F2E9;font-size:1rem;line-height:1.6;margin:0}
.kb-uploaded-actions{position:static;order:1;width:100%;height:auto;padding:8px var(--kb-gutter) 30px;max-width:none!important}
.kb-uploaded-button{width:auto;height:auto;max-width:100%}
.kb-uploaded-button .wp-block-button__link{width:auto;height:auto;min-height:48px;padding:14px 22px;font-size:.95rem}
.kb-uploaded-art{position:relative;inset:auto;order:2;aspect-ratio:398/279;width:100%;height:auto;margin:0!important}
.kb-uploaded-image img{width:209.547739%!important;left:-108.040201%;top:-21.146953%}
}
