/*
Theme Name: Recipe Journal for GeneratePress
Description: Responsive recipe blog child theme with an automatic Recipe Index. Requires the GeneratePress theme; supports optional GenerateBlocks v2 patterns.
Author: Recipe Journal
Version: 2.0.3
Template: generatepress
Text Domain: recipe-journal
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root{--rj-linen:#E3DBCF;--rj-cool:#DDDEE3;--rj-brown:#5E3619;--rj-sage:#CED5D4;--rj-tan:#9D7B56;--rj-gold:#DDA94D;--rj-ink:#302d28;--rj-on-brand:#ffffff;--rj-brown-hover:#44250f;--rj-on-brand-hover:#ffffff;--rj-muted:#6e685f;--rj-cream:#f5f0e9;--rj-line:#e8e1d8;--rj-serif:Georgia,'Times New Roman',serif;--rj-sans:Arial,Helvetica,sans-serif}
html{scroll-behavior:smooth}
body{background:#fff;color:var(--rj-ink);font:400 16px/1.65 var(--rj-sans);margin:0;overflow-x:hidden}
*,*::before,*::after{box-sizing:border-box}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:hover{color:var(--rj-brown)}
button,input,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--rj-gold);outline-offset:4px}
.rj-container{width:min(100% - 64px,1300px);margin-inline:auto}
.rj-skip{position:absolute;left:12px;top:-60px;background:#fff;color:var(--rj-brown);padding:10px 16px;z-index:1000}
.rj-skip:focus{top:10px}
.rj-overline,.rj-eyebrow{font:700 .69rem/1.4 var(--rj-sans);letter-spacing:.17em;text-transform:uppercase;color:var(--rj-tan)}
.rj-eyebrow:hover{color:var(--rj-brown)}
h1,h2,h3,h4{font-family:var(--rj-serif);font-weight:400;line-height:1.16;color:var(--rj-ink);margin:0}
p{margin:0 0 1em}
.rj-announcement{background:var(--rj-linen);text-align:center;color:var(--rj-brown);font-size:.72rem;letter-spacing:.08em;padding:8px 16px;min-height:32px}
.rj-header{position:relative;z-index:40;background:#fff;border-bottom:1px solid var(--rj-line)}
.rj-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:92px}
.rj-brand{flex:0 1 auto;min-width:0}.rj-brand a:not(.custom-logo-link){font:400 clamp(1.9rem,3vw,3rem)/1 var(--rj-serif);letter-spacing:-.045em;white-space:nowrap}.rj-brand .custom-logo{width:auto;max-width:min(300px,55vw);max-height:70px;object-fit:contain}
.rj-primary-nav{margin-left:auto}.rj-menu,.rj-footer-menu{list-style:none;margin:0;padding:0}.rj-primary-nav .rj-menu{display:flex;gap:clamp(14px,2vw,31px);align-items:center}.rj-menu a{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.09em;font-weight:600}.rj-menu .current-menu-item>a,.rj-menu .current_page_item>a{color:var(--rj-tan)}
.rj-primary-nav .menu-item-has-children{position:relative}.rj-primary-nav .sub-menu{display:none;position:absolute;top:100%;left:-16px;min-width:190px;background:#fff;box-shadow:0 10px 28px #302d281f;padding:10px 16px;list-style:none}.rj-primary-nav .menu-item-has-children:hover>.sub-menu,.rj-primary-nav .menu-item-has-children:focus-within>.sub-menu{display:block}.rj-primary-nav .sub-menu li{padding:9px 0}
.rj-header-actions{display:flex;align-items:center;gap:12px}.rj-header-actions details{position:relative}.rj-header-actions summary{list-style:none;display:grid;place-items:center;width:40px;height:40px;cursor:pointer}.rj-header-actions summary::-webkit-details-marker{display:none}.rj-header-search svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}.rj-search-popover{position:absolute;right:0;top:calc(100% + 16px);width:min(360px,90vw);padding:18px;background:#fff;box-shadow:0 10px 30px #302d2833}.rj-mobile-menu{display:none}
.rj-search-form{display:flex;border:1px solid var(--rj-line);background:#fff;width:100%;min-height:48px}.rj-search-form input{width:100%;min-width:0;border:0;padding:10px 14px;background:transparent;color:var(--rj-ink);outline:0}.rj-search-form button{background:var(--rj-brown);border:0;color:var(--rj-on-brand);width:48px;flex:0 0 48px;font-size:1.3rem}.rj-search-form:focus-within{outline:2px solid var(--rj-gold)}
.rj-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.rj-lead{padding-top:clamp(24px,3vw,42px)}
.rj-lead-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.rj-lead-card{min-width:0}.rj-lead-image,.rj-feed-image,.rj-related-image,.rj-category-tile,.rj-favorite-image{display:block;position:relative;overflow:hidden;background:var(--rj-sage)}.rj-lead-image{aspect-ratio:4/5}.rj-image-link img,.rj-category-tile img,.rj-favorite-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.rj-image-link:hover img,.rj-category-tile:hover img{transform:scale(1.045)}.rj-image-placeholder{display:block;position:absolute;inset:0;background:linear-gradient(145deg,var(--rj-linen),var(--rj-sage) 68%,var(--rj-cool))}.rj-lead-copy{text-align:center;padding:18px 12px 3px}.rj-lead-copy h2{font-size:clamp(1.35rem,1.9vw,2rem);letter-spacing:-.02em;margin:8px 0 0}
.rj-category-section{background:var(--rj-cream);margin-top:80px;padding:70px 0 78px}.rj-section-heading{text-align:center;margin-bottom:31px}.rj-section-heading h2{font-size:clamp(2.1rem,3.7vw,3.55rem);letter-spacing:-.035em;margin-top:5px}.rj-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.rj-category-tile{aspect-ratio:1}.rj-category-tile::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.28);pointer-events:none}.rj-category-name{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:max-content;min-width:60%;max-width:calc(100% - 24px);padding:17px 20px;background:rgba(255,255,255,.9);color:var(--rj-ink);text-align:center;text-transform:uppercase;letter-spacing:.16em;font:500 clamp(.9rem,1.15vw,1.2rem)/1.25 var(--rj-sans);overflow-wrap:anywhere}
.rj-content-grid{display:grid;grid-template-columns:minmax(0,1.84fr) minmax(280px,.76fr);gap:clamp(35px,5vw,80px);align-items:start;padding-block:85px 105px}.rj-feed>.rj-section-heading{text-align:left;margin-bottom:37px}.rj-feed-card{display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1fr);gap:clamp(24px,3vw,48px);align-items:center;margin-bottom:44px}.rj-feed-image{aspect-ratio:4/5}.rj-feed-copy h3{font-size:clamp(1.65rem,2.4vw,2.7rem);letter-spacing:-.025em;margin:8px 0 8px}.rj-date{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--rj-muted)}.rj-excerpt{color:#5d5852;line-height:1.7;margin:19px 0 25px;font-size:.95rem}.rj-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--rj-tan);color:#fff;padding:11px 21px;font:700 .7rem/1.4 var(--rj-sans);text-transform:uppercase;letter-spacing:.12em;min-height:44px;transition:background-color .2s ease,transform .2s ease}.rj-button:hover{color:var(--rj-on-brand-hover);background:var(--rj-brown-hover);transform:translateY(-2px)}
.rj-sidebar{display:grid;gap:38px;align-self:start;align-content:start;grid-auto-rows:max-content}.rj-about-card{background:var(--rj-cream);text-align:center;padding:36px clamp(24px,3vw,42px) 40px}.rj-portrait{width:170px;aspect-ratio:1;border-radius:50%;overflow:hidden;margin:0 auto 22px;background:var(--rj-sage)}.rj-portrait img{width:100%;height:100%;object-fit:cover}.rj-about-card h2{font-size:2rem;margin:8px 0 15px}.rj-about-card p{margin:0;font-size:.92rem;line-height:1.7}.rj-widget{border-top:1px solid var(--rj-line);padding-top:28px}.rj-widget h2{font-size:1.55rem;margin-bottom:18px}.rj-category-list{list-style:none;margin:0;padding:0}.rj-category-list li{border-bottom:1px solid var(--rj-line)}.rj-category-list a{display:flex;justify-content:space-between;gap:12px;padding:9px 0;font-size:.9rem}.rj-category-list span{color:var(--rj-tan)}.rj-favorites{display:grid;gap:15px}.rj-favorite{display:grid;grid-template-columns:76px 1fr;align-items:center;gap:15px}.rj-favorite-image{width:76px;height:76px}.rj-favorite-title{font:400 1.12rem/1.25 var(--rj-serif)}
.rj-pagination{margin:30px 0 0}.rj-pagination ul{display:flex;flex-wrap:wrap;list-style:none;gap:8px;padding:0;margin:0}.rj-pagination a,.rj-pagination .current{display:grid;place-items:center;min-width:42px;min-height:42px;border:1px solid var(--rj-line);padding:6px 12px}.rj-pagination .current,.rj-pagination a:hover{background:var(--rj-brown);border-color:var(--rj-brown);color:var(--rj-on-brand)}
.rj-archive-heading{text-align:center;padding:68px 0 54px}.rj-archive-heading h1,.rj-single-heading h1{font-size:clamp(2.5rem,5vw,5rem);letter-spacing:-.04em;margin:8px 0}.rj-archive-heading p,.rj-archive-description{color:var(--rj-muted);max-width:650px;margin-inline:auto}.rj-archive-heading .rj-search-form{max-width:470px;margin:26px auto 0}.rj-archive>.rj-content-grid{padding-top:0}.rj-index-main>.rj-content-grid{padding-top:85px}
.rj-single-main{padding-top:55px}.rj-single-heading{text-align:center;max-width:920px;margin:0 auto}.rj-single-heading .rj-date{margin-top:16px}.rj-single-grid{display:grid;grid-template-columns:minmax(0,1.84fr) minmax(280px,.76fr);gap:clamp(35px,5vw,80px);padding:44px 0 60px}.rj-post-content{max-width:100%;font-size:1.03rem;line-height:1.8}.rj-post-content>*{margin-bottom:1.4em}.rj-post-content h2{font-size:clamp(1.8rem,3vw,2.65rem);margin:1.6em 0 .5em}.rj-post-content h3{font-size:1.6rem;margin:1.4em 0 .5em}.rj-post-content a:not(.rj-button){color:var(--rj-brown);text-decoration:underline;text-underline-offset:3px}.rj-post-content img{height:auto}.rj-post-content blockquote{border-left:3px solid var(--rj-tan);margin:2em 0;padding:8px 24px;font:italic 1.45rem/1.5 var(--rj-serif);color:var(--rj-brown)}.rj-post-content figure{margin-inline:0}.rj-post-content .wp-block-image img{width:100%;object-fit:cover}.rj-post-content .alignwide{max-width:100%}.rj-post-content .alignfull{margin-inline:0}.rj-tags{border-top:1px solid var(--rj-line);margin-top:45px;padding-top:24px;font-size:.85rem}.rj-tags a{color:var(--rj-brown)}
.rj-recipe-card{background:var(--rj-cream);border:1px solid var(--rj-linen);padding:clamp(25px,4vw,48px);margin:55px 0}.rj-recipe-card h2{font-size:clamp(2rem,3vw,3rem);margin:5px 0 23px}.rj-recipe-facts{display:flex;flex-wrap:wrap;border-block:1px solid var(--rj-linen);gap:18px 35px;padding:14px 0;margin-bottom:30px}.rj-recipe-facts span{display:grid;gap:1px}.rj-recipe-facts strong{font-size:.67rem;letter-spacing:.13em;text-transform:uppercase;color:var(--rj-tan)}.rj-recipe-columns{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px}.rj-recipe-columns h3{font-size:1.6rem;margin-bottom:13px}.rj-recipe-columns ul,.rj-recipe-columns ol{margin:0;padding-left:1.4em}.rj-recipe-columns li{padding-left:5px;margin-bottom:12px}.rj-recipe-columns li::marker{color:var(--rj-tan)}
.rj-related{display:grid;grid-template-columns:minmax(0,1.84fr) minmax(280px,.76fr);gap:clamp(35px,5vw,80px);padding:10px 0 100px}.rj-related-inner{grid-column:1;min-width:0}.rj-related h2{font-size:2.7rem;margin:4px 0 27px}.rj-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.rj-related-image{aspect-ratio:4/3;margin-bottom:17px}.rj-related h3{font-size:1.55rem;margin:5px 0}.rj-page-main{max-width:900px;padding-block:70px 100px}.rj-page-main .rj-single-heading{text-align:left}.rj-empty{text-align:center;padding-block:100px 130px}.rj-empty h1{font-size:clamp(2.4rem,5vw,4rem);margin:8px 0 15px}.rj-empty .rj-search-form{max-width:450px;margin:25px auto}.rj-empty .rj-button{margin-top:8px}
.rj-footer{background:var(--rj-cream)}.rj-footer-grid{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:clamp(30px,5vw,85px);padding:72px 0 74px}.rj-footer h2{font-size:1.8rem;margin:6px 0 22px}.rj-footer ul{list-style:none;margin:0;padding:0}.rj-footer li{margin-bottom:9px;font-size:.86rem}.rj-footer-all{display:inline-block;margin-top:10px;font-size:.82rem;color:var(--rj-brown);text-decoration:underline;text-underline-offset:3px}.rj-footer p{font-size:.91rem;max-width:310px;color:#5f5a53}.rj-newsletter-form{margin-top:20px}.rj-newsletter-form input[type=email],.rj-newsletter-form input[type=text]{max-width:100%;min-height:46px;padding:9px 13px;border:1px solid var(--rj-linen);background:#fff}.rj-newsletter-form button,.rj-newsletter-form input[type=submit]{background:var(--rj-brown);color:var(--rj-on-brand);border:0;padding:12px 17px;min-height:46px}.rj-footer-explore .rj-menu a{font-size:.86rem;text-transform:none;letter-spacing:0;font-weight:400}.rj-social{display:flex;gap:9px;margin-top:22px}.rj-social a{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--rj-tan);border-radius:50%;color:var(--rj-brown)}.rj-social svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.rj-social a:hover{background:var(--rj-brown);color:var(--rj-on-brand)}.rj-photo-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0}.rj-photo-strip a{aspect-ratio:1;overflow:hidden;background:var(--rj-sage)}.rj-photo-strip img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.rj-photo-strip a:hover img{transform:scale(1.05)}.rj-footer-bottom{background:var(--rj-brown);color:var(--rj-on-brand);font-size:.76rem;letter-spacing:.04em}.rj-footer-bottom>.rj-container{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-block:18px}.rj-footer-bottom a:hover{color:var(--rj-gold)}
@media(max-width:1100px){.rj-header-inner{min-height:78px}.rj-primary-nav{display:none}.rj-mobile-menu{display:block}.rj-mobile-menu summary{width:38px;height:38px;align-content:center;gap:5px}.rj-mobile-menu summary span{display:block;width:22px;height:1.5px;background:var(--rj-ink)}.rj-mobile-menu nav{position:absolute;top:100%;left:0;right:0;background:#fff;box-shadow:0 12px 22px #302d2823;padding:16px max(24px,calc((100vw - 1300px)/2)) 26px;max-height:70vh;overflow-y:auto}.rj-mobile-menu .rj-menu{display:block}.rj-mobile-menu .rj-menu>li{border-bottom:1px solid var(--rj-line)}.rj-mobile-menu .rj-menu a{padding:12px 0;font-size:.84rem}.rj-mobile-menu .sub-menu{list-style:none;margin:0;padding:0 0 8px 20px}.rj-content-grid,.rj-single-grid,.rj-related{grid-template-columns:minmax(0,1.8fr) minmax(245px,.8fr);gap:36px}.rj-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.rj-container{width:min(100% - 42px,680px)}.rj-lead-grid,.rj-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rj-lead-grid{gap:28px 16px}.rj-lead-copy h2{font-size:1.6rem}.rj-category-section{margin-top:60px;padding:55px 0}.rj-content-grid,.rj-single-grid{display:block;padding-block:65px 80px}.rj-related{display:block}.rj-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-top:65px}.rj-about-card{grid-row:auto}.rj-footer-grid{grid-template-columns:repeat(2,1fr);gap:45px}.rj-newsletter{grid-column:span 2;grid-row:1}.rj-related-grid{gap:15px}.rj-related h3{font-size:1.3rem}.rj-archive-heading{padding:55px 0 45px}}
@media(max-width:600px){body{font-size:15px}.rj-container{width:calc(100% - 36px)}.rj-announcement{font-size:.66rem;line-height:1.3}.rj-header-inner{min-height:69px;gap:10px}.rj-brand a:not(.custom-logo-link){font-size:clamp(1.55rem,7vw,2.1rem)}.rj-brand .custom-logo{max-height:48px;max-width:55vw}.rj-header-actions{gap:12px;flex:0 0 auto}.rj-header-actions summary{width:44px;height:44px}.rj-lead{padding-top:22px}.rj-lead-grid{gap:24px 12px}.rj-lead-copy{padding:12px 2px 0}.rj-lead-copy h2{font-size:clamp(1.12rem,4.8vw,1.55rem);line-height:1.2;margin-top:5px}.rj-eyebrow,.rj-overline{font-size:.64rem;letter-spacing:.13em}.rj-category-section{margin-top:50px;padding:47px 0 54px}.rj-section-heading{margin-bottom:23px}.rj-section-heading h2{font-size:2.3rem}.rj-category-grid{gap:11px}.rj-category-tile{aspect-ratio:1}.rj-category-name{min-width:70%;font-size:clamp(.78rem,3.3vw,.95rem);letter-spacing:.08em;padding:12px 10px}.rj-content-grid{padding:55px 0 70px}.rj-feed>.rj-section-heading{margin-bottom:25px}.rj-feed-card{display:block;margin-bottom:48px}.rj-feed-image{aspect-ratio:4/4.7}.rj-feed-copy{padding-top:19px}.rj-feed-copy h3{font-size:2rem}.rj-excerpt{margin:13px 0 20px}.rj-sidebar{display:grid;grid-template-columns:1fr;gap:33px;margin-top:60px}.rj-about-card{grid-row:auto}.rj-portrait{width:140px}.rj-single-main{padding-top:42px}.rj-single-heading h1{font-size:2.7rem}.rj-single-grid{padding:28px 0 55px}.rj-post-content{font-size:1rem}.rj-recipe-card{margin:45px -8px;padding:26px 20px}.rj-recipe-columns{display:block}.rj-recipe-columns>div+div{margin-top:26px}.rj-related{padding-bottom:65px}.rj-related h2{font-size:2.25rem}.rj-related-grid{grid-template-columns:1fr 1fr}.rj-related-grid article:nth-child(3){display:none}.rj-related h3{font-size:1.2rem}.rj-page-main{padding-block:48px 70px}.rj-footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 20px;padding:56px 0}.rj-newsletter{grid-column:1/-1;grid-row:1}.rj-footer h2{font-size:1.55rem}.rj-photo-strip{grid-template-columns:repeat(3,1fr)}.rj-footer-bottom>.rj-container{font-size:.68rem}.rj-empty{padding-block:80px 100px}}
@media(max-width:380px){.rj-header-actions{gap:8px}.rj-brand a:not(.custom-logo-link){font-size:clamp(1.3rem,6.2vw,1.55rem)}.rj-lead-copy h2{font-size:1.08rem}.rj-category-name{font-size:.78rem}.rj-footer-grid{grid-template-columns:1fr}.rj-newsletter{grid-column:auto}.rj-related-grid{gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
.rj-gb-intro{border-left:3px solid var(--rj-tan);padding:20px 28px;margin:32px 0;background:var(--rj-cream)}.rj-gb-intro h2{font-size:clamp(1.7rem,3vw,2.4rem);margin:6px 0 12px}.rj-gb-intro p:last-child{margin:0}.rj-gb-kicker{font:700 .68rem/1.4 var(--rj-sans);text-transform:uppercase;letter-spacing:.15em;color:var(--rj-tan);margin:0}.rj-gb-tip{background:var(--rj-sage);padding:25px 30px;margin:30px 0}.rj-gb-tip h3{font-size:1.5rem;margin:0 0 9px}.rj-gb-tip p{margin:0}
@media(max-width:1100px){.rj-header-actions .rj-mobile-menu{position:static}}
/* The supplied tan remains in the palette; a deeper companion keeps small text and buttons readable. */
:root{--rj-accent-text:#785734}.rj-overline,.rj-eyebrow,.rj-category-list span,.rj-recipe-facts strong,.rj-gb-kicker{color:var(--rj-accent-text)}.rj-button{background:var(--rj-brown);color:var(--rj-on-brand)}.rj-button:hover{background:var(--rj-brown-hover)}
.rj-more-categories{padding-block:28px 10px}.rj-more-categories h2{font-size:clamp(1.6rem,2.5vw,2.2rem);margin:0 0 15px}.rj-more-categories ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}.rj-more-categories a{display:block;border:1px solid var(--rj-line);padding:9px 14px;min-height:44px}.rj-more-categories a:hover{background:var(--rj-brown);border-color:var(--rj-brown);color:var(--rj-on-brand)}
