/*
Theme Name: Belly Full of Happiness v2
Theme URI: https://bellyfullofhappiness.com/
Author: Belly Full of Happiness
Description: Modern editorial foundation for Belly Full of Happiness.
Version: 0.2.4
Requires at least: 6.0
Text Domain: belly-v2
*/
/* Editorial base and responsive refinements. */
:root{--ink:#19342d;--muted:#60716a;--cream:#f8f3ea;--paper:#fffdf8;--yellow:#e9b949;--coral:#c96548;--line:#d9e0d7;--max:1180px;--radius:18px;--shadow:0 18px 50px rgba(25,52,45,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}a{color:inherit}img{display:block;max-width:100%;height:auto}.site-shell{max-width:var(--max);margin:auto;padding:0 28px}.site-header{padding:22px 0 34px}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:22px}.site-brand{font:700 25px/1 Georgia,serif;letter-spacing:-.03em;text-decoration:none}.site-nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0;color:var(--muted);font-size:14px}.site-nav a{text-decoration:none}.site-nav a:hover,.site-nav a:focus{color:var(--coral)}.site-main{padding-bottom:70px}.eyebrow{color:var(--coral);font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.hero{display:grid;grid-template-columns:1fr .94fr;gap:54px;align-items:center;padding:28px 0 64px}.hero h1{font:700 clamp(46px,6vw,78px)/.98 Georgia,serif;letter-spacing:-.06em;margin:13px 0 24px}.hero p{font-size:19px;color:var(--muted);max-width:560px}.hero__art{min-height:420px;border-radius:22px;background:#d4a05a;box-shadow:var(--shadow);position:relative;overflow:hidden}.button{display:inline-block;border:1px solid var(--ink);border-radius:999px;padding:11px 18px;background:transparent;color:var(--ink);font-weight:700;text-decoration:none}.button--primary{background:var(--ink);color:#fff}.button:hover,.button:focus{transform:translateY(-1px)}.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin:30px 0 20px}.section-heading h2{font:700 35px/1 Georgia,serif;letter-spacing:-.04em;margin:0}.section-heading p{color:var(--muted);margin:0}.recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.recipe-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none}.recipe-card__media{aspect-ratio:4/3;background:linear-gradient(135deg,#dcb86b,#bd674d)}.recipe-card__media img{width:100%;height:100%;object-fit:cover}.recipe-card__body{padding:18px}.recipe-card h3{font:700 23px/1.1 Georgia,serif;margin:8px 0}.recipe-card p{color:var(--muted);margin:0;font-size:14px}.recipe-card__meta{font-size:11px;color:var(--coral);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.band{margin:58px 0;background:var(--ink);color:#fff;padding:36px;border-radius:var(--radius);display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.band h2{font:700 36px/1 Georgia,serif;margin:0}.band p{color:#d8e3da}.newsletter{margin-top:38px;background:#eaf0e7;border-radius:var(--radius);padding:30px;display:flex;justify-content:space-between;gap:25px;align-items:center}.newsletter h2{font:700 30px/1 Georgia,serif;margin:0}.newsletter p{color:var(--muted);margin:8px 0 0}.site-footer{border-top:1px solid var(--line);padding:28px 0 42px;color:var(--muted);font-size:13px}.site-footer__inner{display:flex;justify-content:space-between;gap:20px}.entry-header{max-width:1000px;padding:25px 0 35px}.entry-title{font:700 clamp(42px,6vw,72px)/1 Georgia,serif;letter-spacing:-.055em;margin:12px 0}.entry-summary{color:var(--muted);font-size:19px}.entry-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(220px,.35fr);gap:26px;align-items:start}.entry-content{min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(24px,4vw,46px)}.entry-content h2{font:700 32px/1.1 Georgia,serif}.entry-content a{color:var(--coral)}.entry-sidebar{position:sticky;top:18px}.side-card{background:#eaf0e7;border-radius:var(--radius);padding:20px;margin-bottom:14px}.side-card h3{font:700 23px/1.1 Georgia,serif;margin:0 0 12px}.notice{border-left:4px solid var(--yellow);background:#fff7dd;padding:14px 16px;margin:20px 0;font-size:14px}.archive-header{padding:25px 0 35px}.archive-header h1{font:700 56px/1 Georgia,serif;letter-spacing:-.05em;margin:10px 0}.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden}.alignwide{max-width:var(--max);margin-left:auto;margin-right:auto}.recipe-search{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:0 0 14px}.recipe-search input,.recipe-search select{border:1px solid var(--line);border-radius:999px;padding:12px 16px;background:var(--paper);font:inherit;min-width:180px}.recipe-search label{display:block;color:var(--muted);font-size:13px;margin:0 0 4px 12px}.archive-result-count{color:var(--muted);font-size:14px}.pagination{margin:32px 0}.pagination ul{display:flex;gap:8px;list-style:none;padding:0;flex-wrap:wrap}.pagination a,.pagination span{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:8px 13px;text-decoration:none}.pagination .current{background:var(--ink);color:#fff}.review-banner{border-left:4px solid var(--coral);background:#f4e3bf;padding:14px 16px;margin:0 0 28px;font-size:14px}.collection-feature{display:grid;grid-template-columns:1.3fr .7fr;gap:28px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(24px,4vw,46px)}.collection-feature h2,.guide-surface h2{font:700 42px/1.05 Georgia,serif;letter-spacing:-.04em;margin:10px 0 16px}.collection-feature p,.guide-surface__lede{color:var(--muted);font-size:18px}.collection-feature__note,.guide-surface__callout{background:#eaf0e7;border-radius:14px;padding:22px}.guide-surface{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(24px,4vw,46px)}.guide-surface__grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:28px}.guide-surface ol{padding-left:22px}.guide-surface li{padding:8px 0}.photo-carousel__track{position:relative;height:100%;min-height:420px}.photo-carousel__slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .45s ease}.photo-carousel__slide.is-active{opacity:1;z-index:1}.photo-carousel__slide img{width:100%;height:100%;object-fit:cover}.photo-carousel__slide figcaption{position:absolute;left:18px;bottom:18px;background:#19342dcc;color:#fff;border-radius:8px;padding:7px 10px;font-size:12px}.photo-carousel__empty{display:grid;place-items:center;height:100%;min-height:420px;color:#fff;padding:28px;text-align:center}.photo-carousel__controls{position:absolute;z-index:2;right:18px;bottom:18px;display:flex;gap:6px}.carousel-button{border:1px solid #fff;background:#19342dcc;color:#fff;border-radius:999px;padding:7px 11px;font:inherit;cursor:pointer}.ai-finder{display:grid;grid-template-columns:.78fr 1.22fr;gap:24px;margin:0 0 38px;padding:20px 24px;background:#eaf0e7;border-radius:var(--radius)}.ai-finder h2{font:700 29px/1.05 Georgia,serif;margin:7px 0 10px}.ai-finder__intro p,.ai-finder__privacy{color:var(--muted)}.ai-finder__intro p{margin:0;max-width:430px}.ai-finder__form{display:grid;gap:6px}.ai-finder__form label{font-weight:700;font-size:14px}.ai-finder__form textarea,.ai-finder__form input[type=file]{border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:var(--paper);font:inherit}.ai-finder__form textarea{min-height:72px}.ai-finder__privacy{font-size:11px;line-height:1.4;margin:2px 0 4px}.ai-finder__form .button{padding:8px 16px}.ai-finder__status{min-height:20px;font-weight:700}.ai-finder__results{display:grid;gap:8px}.ai-result{padding:11px;background:var(--paper);border:1px solid var(--line);border-radius:10px}.ai-result h3{margin:0;font:700 18px/1.1 Georgia,serif}.ai-result p{margin:4px 0 0;color:var(--muted)}
@media(max-width:800px){.site-shell{padding:0 18px}.site-header{padding-bottom:25px}.site-nav{display:none}.hero{grid-template-columns:1fr;gap:28px;padding-top:12px}.hero__art{min-height:300px;order:-1}.photo-carousel__track{min-height:300px}.hero h1{font-size:54px}.recipe-grid{grid-template-columns:1fr}.band{grid-template-columns:1fr}.newsletter{display:block}.newsletter .button{margin-top:18px}.site-footer__inner{display:block}.entry-layout{grid-template-columns:1fr}.entry-sidebar{position:static}.ai-finder{grid-template-columns:1fr;padding:22px}.recipe-search>div{width:100%}.recipe-search input,.recipe-search select{width:100%}}
.entry-hero{width:100%;max-height:560px;object-fit:cover;border-radius:14px;margin:0 0 26px}.wprm-fallback-recipe{color:var(--ink)}.wprm-fallback-recipe-name{font:700 32px/1.1 Georgia,serif;margin:0 0 10px}.wprm-fallback-recipe-image{width:100%;max-height:440px;object-fit:cover;border-radius:14px;margin:18px 0 26px}.wprm-fallback-recipe-summary{color:var(--muted);font-size:18px}.wprm-fallback-recipe-ingredients,.wprm-fallback-recipe-instructions,.wprm-fallback-recipe-notes{margin:30px 0}.wprm-fallback-recipe-ingredients ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;padding:0;list-style:none}.wprm-fallback-recipe-ingredients li{border-bottom:1px solid var(--line);padding:8px 0}.wprm-fallback-recipe-instructions h4{font:700 30px/1.1 Georgia,serif;margin:0 0 16px}.wprm-fallback-recipe-instructions ol{padding-left:28px}.wprm-fallback-recipe-instructions li{padding:0 0 12px 8px}.wprm-fallback-recipe-notes{background:#eaf0e7;border-radius:14px;padding:20px}.wprm-fallback-recipe-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}.wprm-fallback-recipe-meta>div{background:#f4e3bf;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.wprm-fallback-recipe-meta-course:before{content:"Course: "}.wprm-fallback-recipe-meta-cuisine:before{content:"Cuisine: "}img{max-width:100%;height:auto}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.button:hover,.button:focus,.photo-carousel__slide{transition:none}.photo-carousel__slide:not(.is-active){display:none}}@media print{body{background:#fff;color:#000}.site-header,.site-footer,.site-nav,.entry-sidebar,.button,.button-row,.newsletter,.band,.notice,.ai-finder,.photo-carousel,.wprm-recipe-print,.wprm-jump-to-section{display:none!important}.site-shell{max-width:none;padding:0}.site-main{padding:0}.entry-layout{display:block}.entry-content{border:0;padding:0}.wprm-fallback-recipe-image{max-height:320px}.wprm-fallback-recipe-ingredients ul{grid-template-columns:1fr 1fr}.wprm-fallback-recipe-instructions li{break-inside:avoid}}


/* Staging-only carousel image motion: subtle pan and zoom, disabled for reduced-motion users. */
.photo-carousel__slide.is-active img{animation:belly-carousel-pan-zoom 6.5s ease-in-out both;transform-origin:center center}
@keyframes belly-carousel-pan-zoom{0%{transform:scale(1.03) translate3d(-1.2%,0,0)}50%{transform:scale(1.09) translate3d(0,0,0)}100%{transform:scale(1.06) translate3d(1.2%,0,0)}}
@media (prefers-reduced-motion: reduce){.photo-carousel__slide.is-active img{animation:none;transform:none}}


/* Mobile AI Search overflow guard: keep grid children and native file controls inside the viewport. */
@media (max-width:800px){.ai-finder{min-width:0;overflow:hidden}.ai-finder__intro,.ai-finder__form{min-width:0}.ai-finder__form textarea,.ai-finder__form input[type=file]{display:block;width:100%;max-width:100%;min-width:0}.ai-finder__form input[type=file]{font-size:13px}.ai-finder__form .button{width:100%}}

/* Contact form presentation. */
.contact-form{display:grid;gap:16px;max-width:720px;margin-top:28px}.contact-form p{margin:0}.contact-form label{display:grid;gap:6px;font-weight:700}.contact-form input,.contact-form textarea{width:100%;max-width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:var(--paper);font:inherit;color:var(--ink)}.contact-form textarea{min-height:150px;resize:vertical}.contact-form__trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Clickable carousel image and varied cinematic movement per slide. */
.photo-carousel__link{display:block;position:absolute;inset:0;color:inherit;text-decoration:none}.photo-carousel__link:focus-visible{outline:3px solid var(--yellow);outline-offset:-5px}.photo-carousel__slide:nth-of-type(3n+1).is-active img{animation-name:belly-carousel-drift-right;animation-duration:6.5s}.photo-carousel__slide:nth-of-type(3n+2).is-active img{animation-name:belly-carousel-drift-left;animation-duration:7.2s}.photo-carousel__slide:nth-of-type(3n).is-active img{animation-name:belly-carousel-drift-diagonal;animation-duration:6.9s}@keyframes belly-carousel-drift-right{0%{transform:scale(1.04) translate3d(-3%,1%,0)}45%{transform:scale(1.13) translate3d(1%,0,0)}100%{transform:scale(1.18) translate3d(3%,-1%,0)}}@keyframes belly-carousel-drift-left{0%{transform:scale(1.08) translate3d(3%,-1%,0)}50%{transform:scale(1.17) translate3d(-1%,1%,0)}100%{transform:scale(1.12) translate3d(-3%,0,0)}}@keyframes belly-carousel-drift-diagonal{0%{transform:scale(1.05) translate3d(-2%,-2%,0)}50%{transform:scale(1.16) translate3d(2%,1%,0)}100%{transform:scale(1.1) translate3d(0,3%,0)}}
@media (prefers-reduced-motion: reduce){.photo-carousel__slide.is-active img{animation:none!important;transform:none}}

/* On small screens, keep the recipe title and carousel controls on separate rows. */
@media (max-width:800px){.photo-carousel__slide figcaption{left:14px;right:14px;bottom:66px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-carousel__controls{left:0;right:0;bottom:12px;justify-content:center;gap:8px}.carousel-button{padding:8px 13px}}

/* Mobile page compatibility: stack every editorial two-column surface and prevent long content from widening the viewport. */
@media (max-width:800px){body{overflow-x:hidden}.site-header__inner,.site-footer__inner,.section-heading{min-width:0}.site-brand{max-width:100%;overflow-wrap:anywhere}.collection-feature,.guide-surface__grid{grid-template-columns:1fr;gap:20px}.collection-feature,.guide-surface{padding:24px 20px}.collection-feature h2,.guide-surface h2{font-size:38px}.wprm-fallback-recipe-ingredients ul{grid-template-columns:1fr}.recipe-search{align-items:stretch}.recipe-search>div,.recipe-search button,.recipe-search a{width:100%;min-width:0}.recipe-search input,.recipe-search select{min-width:0}.entry-content,.collection-feature,.guide-surface,.ai-finder,.band,.newsletter{min-width:0;overflow-wrap:anywhere}.entry-content pre,.entry-content code{white-space:pre-wrap;overflow-wrap:anywhere}.entry-content table{display:block;max-width:100%;overflow-x:auto}.entry-content iframe{max-width:100%}}

/* Heritage identity layer: preserve the current pot lockup while applying Warm Kitchen Editorial tokens. */
:root{--heritage-red:#F52222;--heritage-ink:#111111;--heritage-cream:#F7F1E7;--heritage-sage:#E7EFE6;--heritage-tomato:#B71919;--heritage-grey:#66716B;--deep-green:#19342d}
.site-brand{max-width:365px;display:block;line-height:0}.site-brand__logo{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:left center;mix-blend-mode:multiply}.site-nav a:hover,.site-nav a:focus,.entry-content a{color:var(--heritage-tomato)}.recipe-card__meta,.eyebrow{color:var(--heritage-tomato)}.newsletter,.side-card,.collection-feature__note,.guide-surface__callout,.ai-finder{background:var(--heritage-sage)}.button--primary,.pagination .current{background:var(--deep-green);color:#fff}
@media(max-width:800px){.site-brand{max-width:330px}.site-brand__logo{max-height:none}.button--primary{background:var(--deep-green);color:#fff}}
.ai-finder__badge{display:inline-flex;align-items:center;gap:6px;margin-top:2px;color:var(--heritage-tomato);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ai-finder__badge svg{width:16px;height:16px;fill:currentColor;flex:0 0 auto}.ai-finder__badge span{line-height:1}
