/*
Theme Name: ProteinPrepper
Theme URI: https://www.proteinprepper.com
Author: ProteinPrepper
Description: A faithful recreation of the ProteinPrepper.com design — forest green & saddle brown palette, Roboto Slab headings, recipe card grids, category image cards, and clean white layout.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: proteinprepper
Tags: food-and-drink, blog, custom-colors, custom-logo, custom-menu, featured-images, full-width-template, translation-ready
*/
:root{--accent:#2d5016;--accent-dark:#1a3009;--accent-light:rgba(45,80,22,0.08);--brown:#8b4513;--brown-light:rgba(139,69,19,0.10);--beige:#f5f5dc;--beige-semi:rgba(245,245,220,0.85);--contrast:#141413;--contrast-2:#575760;--contrast-3:#5a7647;--base:rgba(245,245,220,0.41);--base-2:#2d5016;--base-3:#fff;--font-heading:'Roboto Slab',Georgia,serif;--font-body:'Open Sans',system-ui,sans-serif;--radius:12px;--radius-sm:8px;--shadow:0 4px 12px rgba(0,0,0,0.10);--shadow-lg:0 8px 24px rgba(0,0,0,0.15);--transition:.3s ease}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:20px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);font-weight:400;font-size:1rem;line-height:1.7;color:#000;background-color:var(--base-3)}img,video{max-width:100%;height:auto;display:block}a{color:var(--contrast-3);text-decoration:underline;transition:color var(--transition)}a:hover,a:focus{color:var(--accent)}ul,ol{list-style:none}p{margin-bottom:2em}p:last-child{margin-bottom:0}h1{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;font-weight:700;text-transform:uppercase;font-size:48px;line-height:1em;margin-bottom:15px}h2{font-family:var(--font-heading);font-weight:600;text-transform:uppercase;font-size:36px}h3{font-family:var(--font-body);font-weight:600;text-transform:capitalize;font-size:20px}h4{font-family:var(--font-body);font-weight:600;text-transform:capitalize;font-size:20px}@media(max-width:768px){html{font-size:18px}h1{font-size:28px;line-height:1.2em;margin-bottom:25px}h2{font-size:26px;margin-bottom:10px}}.pp-container{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}.site-header{background-color:var(--base-3);box-shadow:0 1px 1px rgba(0,0,0,.16);position:sticky;top:0;z-index:100}.inside-header{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;max-width:1200px;margin:0 auto;flex-wrap:wrap;gap:10px}.site-logo a{text-decoration:none}.site-logo .logo-link{display:inline-flex;align-items:center}.site-logo img{height:60px;width:auto}.site-logo .logo-text{font-family:var(--font-heading);font-weight:700;font-size:1.5rem;color:var(--contrast);text-decoration:none}.main-navigation{display:flex;align-items:center}.main-nav ul{display:flex;gap:6px;align-items:center;flex-wrap:wrap;list-style:none;padding:0;margin:0}.main-nav ul li a{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-body);font-size:.8rem;font-weight:600;color:var(--contrast);text-decoration:none;padding:6px 14px;border-radius:20px;background:rgba(0,0,0,0.05);transition:background var(--transition),color var(--transition);white-space:nowrap;line-height:1.4}.main-nav ul li a svg{flex-shrink:0;opacity:0.75}.main-nav ul li a:hover{background:var(--accent);color:#fff}.main-nav ul li a:hover svg{opacity:1}.main-nav ul li.current-menu-item a{background:var(--accent);color:#fff}.main-nav ul li.current-menu-item a svg{opacity:1}.menu-toggle{display:none;background:0;border:0;cursor:pointer;padding:8px;color:var(--contrast)}.menu-toggle svg{width:24px;height:24px}#mobile-header{display:none}.pp-hero{width:100%;padding:50px 20px 40px;}.pp-hero__inner{max-width:1200px;margin:0 auto;}.pp-hero__title{font-family:var(--font-heading);font-size:3rem;font-weight:700;color:var(--contrast);margin-bottom:15px;line-height:1.1}.pp-hero__subtitle{font-family:var(--font-body);font-weight:400;font-size:1rem;color:var(--contrast-2);margin-bottom:1.5rem;max-width:680px}.pp-hero__subtitle strong{color:var(--contrast)}.pp-hero[style*="text-align:center"] .pp-hero__subtitle,.pp-hero[style*="text-align: center"] .pp-hero__subtitle{max-width:100%;margin-left:auto;margin-right:auto;}.pp-hero[style*="text-align:right"] .pp-hero__subtitle,.pp-hero[style*="text-align: right"] .pp-hero__subtitle{max-width:680px;margin-left:auto;margin-right:0;}.pp-social-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:1rem}.pp-social-link{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background-color:var(--base-2);color:var(--base-3);text-decoration:none;transition:transform var(--transition),box-shadow var(--transition)}.pp-social-link:hover{transform:scale(1.1);color:var(--base-3)}.pp-social-link svg{width:20px;height:20px}.pp-section{max-width:1200px;margin:0 auto;padding:20px 20px 40px}.pp-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:16px;flex-wrap:wrap}.pp-section-title{font-family:var(--font-heading);font-weight:600;text-transform:uppercase;font-size:1.3rem;color:var(--contrast);display:flex;align-items:center;gap:12px;flex:1}.pp-section-title::after{content:"";display:inline-block;flex:1;height:6px;background:var(--base-2);border-radius:8px;min-width:1rem;outline:1px dashed var(--contrast);outline-offset:0}@media(max-width:768px){.pp-section-title::after{display:none}}.pp-view-all{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--accent);border-radius:50%;color:white;text-decoration:none;flex-shrink:0;transition:background var(--transition),transform var(--transition)}.pp-view-all:hover{background:var(--accent-dark);transform:translateX(3px);color:white}.pp-view-all svg{width:16px;height:16px}.pp-category-grid{display:flex;flex-wrap:wrap;gap:20px}.pp-category-card{flex:1 1 calc(50% - 10px);min-width:260px;text-decoration:none;display:block}.pp-category-card__inner{background-size:cover;background-position:center;height:250px;border-radius:var(--radius);display:flex;align-items:flex-end;padding:20px;transition:transform var(--transition);overflow:hidden}.pp-category-card:hover .pp-category-card__inner{transform:scale(1.02)}.pp-category-card__title{margin:0;background-color:var(--beige-semi);color:var(--brown) !important;padding:18px 25px;font-size:1.4rem !important;font-family:var(--font-heading) !important;font-weight:600 !important;border-left:6px solid var(--brown);border-radius:0 8px 8px 0;box-shadow:0 2px 4px rgba(0,0,0,0.1);text-transform:none !important;text-decoration:none;line-height:1.25;backdrop-filter:blur(2px)}@media(max-width:767px){.pp-category-card{flex:1 1 100%}.pp-category-card__title{font-size:1.1rem !important;padding:14px 18px}}.pp-recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.pp-recipe-card{background-color:var(--base-3);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,0.1);transition:transform var(--transition),box-shadow var(--transition);display:flex;flex-direction:column;cursor:pointer;text-decoration:none}.pp-recipe-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.pp-recipe-card__image{aspect-ratio:16/9;overflow:hidden}.pp-recipe-card__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--transition)}.pp-recipe-card:hover .pp-recipe-card__image img{transform:scale(1.04)}.pp-recipe-card__body{padding:16px 18px 20px;flex:1;display:flex;flex-direction:column}.pp-recipe-card__title{font-family:var(--font-body);font-weight:600;font-size:.9rem;color:var(--contrast);text-decoration:none;margin-bottom:8px;line-height:1.4;text-transform:capitalize}.pp-recipe-card:hover .pp-recipe-card__title{color:var(--accent)}.pp-recipe-card__excerpt{font-size:.78rem;color:var(--contrast-2);line-height:1.6;flex:1;margin:0}.pp-best-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.pp-best-card{background-color:rgba(140,69,18,0.05);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,0.1);transition:transform var(--transition),box-shadow var(--transition);display:flex;text-decoration:none}.pp-best-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.pp-best-card__image{width:160px;flex-shrink:0;overflow:hidden}.pp-best-card__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--transition)}.pp-best-card:hover .pp-best-card__image img{transform:scale(1.05)}.pp-best-card__body{padding:14px 16px;display:flex;flex-direction:column;justify-content:center;flex:1}.pp-best-card__title{font-family:var(--font-body);font-weight:600;font-size:.85rem;color:var(--contrast);text-decoration:none;margin-bottom:8px;line-height:1.4;text-transform:capitalize}.pp-best-card:hover .pp-best-card__title{color:var(--accent)}.pp-best-card__excerpt{font-size:.72rem;color:var(--contrast-2);line-height:1.55;margin:0}.single.single-post .entry-content h2,.single.single-recipe .entry-content h2{display:flex;align-items:stretch;position:relative}.single.single-post .entry-content h2::before,.single.single-recipe .entry-content h2::before{border-radius:2rem;content:"";width:.7rem;min-width:.7rem;margin-inline-end:.7rem;background:var(--accent);align-self:stretch}.site-footer{background-color:var(--base);color:#fff;padding:30px 20px 20px}.footer-inner{max-width:1200px;margin:0 auto}.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:20px}.footer-nav a{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-body);font-size:.8rem;font-weight:600;color:var(--contrast);text-decoration:none;padding:6px 12px;border-radius:20px;background:rgba(255,255,255,0.6);transition:background var(--transition),color var(--transition)}.footer-nav a:hover{background:var(--accent);color:white}.footer-nav a svg{width:14px;height:14px}.footer-legal{display:flex;justify-content:center;gap:20px;margin-bottom:16px;flex-wrap:wrap}.footer-legal a{font-size:.72rem;color:var(--contrast-2);text-decoration:none}.footer-legal a:hover{color:var(--accent)}.footer-social{display:flex;justify-content:center;gap:10px;margin-bottom:20px}.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#8b4513;color:white;text-decoration:none;transition:transform var(--transition),background var(--transition)}.footer-social a:hover{transform:scale(1.1);background:var(--accent);color:white}.footer-social svg{width:18px;height:18px}.footer-copyright{text-align:center;font-size:.72rem;color:var(--contrast-2)}.footer-copyright a{color:var(--base-2);text-decoration:underline}.pp-pagination{display:flex;justify-content:center;gap:8px;padding:30px 0}.pp-pagination a,.pp-pagination span{background-color:var(--base);color:var(--contrast);display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1;text-decoration:none;border:0;border-radius:16px;padding:1rem;min-width:44px;transition:background var(--transition),color var(--transition)}.pp-pagination span.current,.pp-pagination a:hover{color:var(--base-3);background-color:var(--accent)}.pp-article{max-width:1200px;margin:0 auto;padding:24px 20px 40px}.pp-article .entry-content img{border-radius:24px;margin-bottom:30px}.pp-breadcrumb{font-size:14px;font-weight:700;margin-bottom:10px}.pp-breadcrumb a{color:var(--accent);text-decoration:none}.pp-breadcrumb .sep{margin:0 5px;color:var(--contrast-2)}.wp-block-rank-math-toc-block{background:#f8f5f0;border:3px dotted #2d3a28;border-radius:15px;padding:30px 40px;margin:30px 0}.wp-block-rank-math-toc-block h2{color:#2d3a28;font-size:20px;font-weight:700;margin-top:0;margin-bottom:20px;text-transform:uppercase;letter-spacing:1px}.wp-block-rank-math-toc-block ul{list-style:none;padding-left:0;margin:0}.wp-block-rank-math-toc-block li{margin-bottom:15px;padding-left:25px;position:relative}.wp-block-rank-math-toc-block li::before{content:"●";color:#2d3a28;position:absolute;left:0;font-size:18px}.wp-block-rank-math-toc-block a{color:#4a5d3f;text-decoration:underline;font-weight:500;font-size:18px}.pp-content-sidebar{display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:start}.pp-sidebar .widget{background:var(--base);border-radius:var(--radius);padding:20px;margin-bottom:24px}.pp-sidebar .widget-title{font-family:var(--font-heading);font-weight:600;text-transform:uppercase;font-size:17px;color:#000;border-bottom:2px solid rgba(0,0,0,0.1);padding-bottom:10px;margin-bottom:14px}.pp-archive-header{background:var(--beige-semi);border-bottom:3px solid var(--accent);padding:30px 20px}.pp-archive-header h1{max-width:1200px;margin:0 auto;text-transform:none}.pp-btn{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:white;font-family:var(--font-body);font-weight:600;text-transform:uppercase;font-size:15px;padding:12px 28px;border-radius:50px;text-decoration:none;border:0;cursor:pointer;transition:background var(--transition),transform var(--transition)}.pp-btn:hover{background:var(--accent-dark);transform:translateY(-1px);color:white}.pp-btn--outline{background:transparent;border:2px solid var(--accent);color:var(--accent)}.pp-btn--outline:hover{background:var(--accent);color:white}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-999px;left:6px;background:var(--accent);color:white;padding:8px 16px;border-radius:0 0 8px 8px;text-decoration:none;z-index:9999}.skip-link:focus{top:0}@media(max-width:900px){.pp-recipe-grid{grid-template-columns:repeat(2,1fr)}.pp-best-grid{grid-template-columns:1fr}.pp-content-sidebar{grid-template-columns:1fr}.pp-sidebar{display:none}}@media(max-width:768px){.main-navigation ul{display:none;flex-direction:column;gap:4px;width:100%;padding:10px 0}.main-navigation ul.is-open{display:flex}.main-nav ul li+li::before{display:none}.main-nav ul li a{line-height:2.4;padding:6px 16px;border-radius:8px;width:100%;justify-content:flex-start}.main-nav ul li a::after{display:none}.menu-toggle{display:flex}.pp-recipe-grid{grid-template-columns:1fr}.pp-hero__title{font-size:2rem}.pp-best-card__image{width:110px}}@media(max-width:480px){.pp-category-grid{gap:14px}.inside-header{padding:8px 14px}}@media print{.site-header,.site-footer,.pp-sidebar{display:none}body{font-size:12pt;color:#000}a{color:#000}}.ben-container.gb-element-012c76a3{background-color:var(--base)}.ben-container.gb-element-012c76a3 .ben-container__inner{max-width:1200px;margin:0 auto;padding:20px 25px 25px}.pp-author-card{background-color:var(--base);margin-bottom:20px;margin-top:80px;border:2px dotted var(--contrast);border-radius:16px;padding:5px;overflow:visible}.pp-author-card__inner{padding-bottom:1.5rem;padding-top:0}.pp-author-avatar-wrap{display:flex;justify-content:center;margin-top:-75px;margin-bottom:12px}.pp-author-avatar{width:150px;height:150px;border-radius:50%;object-fit:cover;border:3px solid var(--accent);background:var(--base);display:block}.pp-author-avatar--fallback{width:150px;height:150px;border-radius:50%;background:var(--accent);border:3px solid var(--accent)}.pp-author-card__body{padding:0 15px}.pp-author-bio{text-align:center;font-size:.85rem;margin-bottom:10px;line-height:1.5}.pp-social-icons{display:flex;justify-content:center;gap:8px;margin-bottom:10px}.pp-social-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background-color:var(--base-2);color:var(--base-3);text-decoration:none;transition:opacity .2s}.pp-social-icon:hover{opacity:.8;color:var(--base-3)}.pp-sidebar-section-header{background-color:var(--base);margin-bottom:20px;border:2px dotted var(--contrast);border-radius:16px;padding:5px}.pp-sidebar-section-header__inner{padding:1rem;text-align:center}.pp-sidebar-section-header h3{margin:0;text-align:center;font-size:1rem;text-transform:uppercase;letter-spacing:1px}.pp-sidebar-section-header h3,.pp-sidebar-section-header h3::before{display:block !important}.pp-sidebar-section-header h3::before{display:none !important}.pp-sidebar-posts{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.pp-sidebar-post{display:flex;align-items:center;background-color:var(--base);border:2px dotted var(--contrast);box-shadow:0 0 5px 3px rgba(0,0,0,.1);border-radius:16px;overflow:hidden;min-height:100px}.pp-sidebar-post__thumb-link{flex-shrink:0;display:block;width:100px;height:100px}.pp-sidebar-post__thumb{width:100px;height:100px;min-width:100px;background-position:center;background-repeat:no-repeat;background-size:cover;border-top-left-radius:14px;border-bottom-left-radius:14px;display:block}.pp-sidebar-post__thumb--empty{display:flex;align-items:center;justify-content:center;background:var(--accent);font-size:1.8rem;border-top-left-radius:14px;border-bottom-left-radius:14px}.pp-sidebar-post__body{padding:10px 14px;overflow:hidden;flex:1}.pp-sidebar-post__title{margin:0;font-size:.9rem;font-weight:600;line-height:1.4;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pp-sidebar-post__title a{color:var(--contrast);text-decoration:none}.pp-sidebar-post__title a:hover{color:var(--accent)}.pp-sidebar-categories{background-color:var(--base);box-shadow:0 0 5px 3px rgba(0,0,0,.1);margin-bottom:20px;border:2px dotted var(--contrast);border-radius:16px;padding:5px}.pp-sidebar-categories__inner{padding:1rem}.pp-sidebar-categories ul{list-style:none;padding:0;margin:0}.pp-sidebar-categories ul li{margin-bottom:8px;padding:0}.pp-sidebar-categories ul li a{color:var(--accent);font-size:1rem;text-decoration:none;font-weight:400}.pp-sidebar-categories ul li a:hover{color:var(--contrast)}.gb-text-0991c34c{color:#8b4513;padding-top:20px;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(22px,4vw,44px);line-height:1em;margin-bottom:15px}.rank-math-breadcrumb a,.rank-math-breadcrumb span{font-size:14px;font-weight:bold}.rank-math-breadcrumb a{color:var(--accent);text-decoration:none}.rank-math-breadcrumb a:hover{color:var(--contrast)}.rank-math-breadcrumb .separator{margin-left:5px;margin-right:5px}.single.single-post .rank-math-breadcrumb p{margin-bottom:10px !important}.ben-meta{display:flex;gap:10px;align-items:center;margin-top:10px}.ben-meta .ben-meta__img{width:60px;height:60px;border-radius:50%;object-fit:cover;flex-shrink:0}.ben-meta a,.ben-meta span{font-size:14px}.dynamic-entry-excerpt>p:last-child{margin-bottom:30px}.pp-single-hero{background-color:var(--base);padding:10px}.pp-single-hero__inner{max-width:1200px;margin:0 auto;padding:20px 25px 25px}.pp-single-title{color:var(--brown);font-family:-apple-system,system-ui,"Segoe UI",sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(22px,4vw,44px);line-height:1.1;margin-bottom:15px}.pp-single-excerpt{margin-bottom:15px}.pp-single-meta{display:flex;align-items:center;gap:10px;font-size:.85rem}.pp-single-meta__avatar{width:50px !important;height:50px !important;border-radius:50%;object-fit:cover}.pp-single-layout{display:flex;flex-direction:row;align-items:flex-start;max-width:1200px;margin:0 auto;padding:0 20px;box-sizing:border-box;gap:30px}.pp-single-content{flex:0 0 68%;width:68%;min-width:0;padding:20px 0}.pp-single-sidebar{flex:0 0 29%;width:29%;min-width:0;padding:20px 0}.pp-single-featured{margin-bottom:24px}.pp-single-featured__img{width:100%;height:auto;border-radius:20px;display:block}.pp-single-body{margin-bottom:30px}.pp-single-comments{margin-top:10px}#content.site-content{display:flex;flex-direction:row;align-items:flex-start;max-width:1200px;margin:0 auto}#primary.content-area{flex:0 0 70%;min-width:0;padding:20px}#right-sidebar{flex:0 0 30%;min-width:0;padding:20px 0 20px 10px}@media(max-width:768px){.pp-single-layout{flex-direction:column;padding:0 15px}.pp-single-content,.pp-single-sidebar{flex:none;width:100%}.pp-single-sidebar{display:none}#content.site-content{flex-direction:column}#primary.content-area,#right-sidebar{width:100%;flex:none}}.single.single-post .featured-image img,.pp-single-featured__img{border-radius:24px}.single.single-post .content-area img,.pp-single-body img{border-radius:24px;margin-bottom:30px}.wp-block-video video{margin-bottom:30px}.pp-single-body h2,.single.single-post .entry-content h2{display:flex;align-items:stretch;position:relative}.pp-single-body h2::before,.single.single-post .entry-content h2::before{border-radius:2rem;content:"";width:.7rem;min-width:.7rem;margin-inline-end:.7rem;background:var(--accent);align-self:stretch}.wp-block-rank-math-toc-block h2,.wprm-recipe h2,.wprm-recipe-template-meadow h2,.wprm-recipe-template-meadow-with-ads h2,.inside-right-sidebar h2,.inside-right-sidebar h3{display:block !important}.wp-block-rank-math-toc-block h2::before,.wprm-recipe h2::before,.wprm-recipe-template-meadow h2::before,.wprm-recipe-template-meadow-with-ads h2::before,.inside-right-sidebar h2::before,.inside-right-sidebar h3::before{display:none !important}.wp-block-rank-math-toc-block{background:#f8f5f0;border:3px dotted #2d3a28;border-radius:15px;padding:30px 40px;margin:30px 0}.wp-block-rank-math-toc-block h2{color:#2d3a28 !important;font-size:20px !important;font-weight:700 !important;margin-top:0 !important;margin-bottom:20px !important;text-transform:uppercase;letter-spacing:1px;padding:0 !important;background:none !important;box-shadow:none !important}.wp-block-rank-math-toc-block ul{list-style:none;padding-left:0;margin:0}.wp-block-rank-math-toc-block li{margin-bottom:15px;padding-left:25px;position:relative}.wp-block-rank-math-toc-block li:before{content:"●";color:#2d3a28;position:absolute;left:0;font-size:18px}.wp-block-rank-math-toc-block a{color:#4a5d3f;text-decoration:underline;font-weight:500;font-size:18px;transition:color .3s}.wp-block-rank-math-toc-block a:hover{color:#2d3a28}.gb-element-3570790b,.gb-element-44abb3a8,.gb-element-4dbc4afe{background-color:var(--base);margin-bottom:30px;border-radius:20px 2px;padding:10px}.gb-element-78cbe4f7,.gb-element-cc6f9555,.gb-element-422465bf{background-color:var(--base-3);border:3px dotted var(--accent);border-radius:16px;padding:35px}@media(max-width:767px){.gb-element-78cbe4f7,.gb-element-cc6f9555,.gb-element-422465bf{padding:15px}.gb-element-3570790b,.gb-element-44abb3a8,.gb-element-4dbc4afe{padding:5px}}.gb-element-5356cdea{background-color:var(--base);margin-bottom:20px;margin-top:100px;border:2px dotted var(--contrast);border-radius:16px;padding:5px}.gb-element-c3351b07{padding-bottom:2rem;padding-top:0}.gb-element-9086187c{background-position:center;background-repeat:no-repeat;background-size:cover;height:160px;margin-left:auto;margin-right:auto;margin-top:-80px;width:160px;padding:5px}.gb-element-bcffd513{background-position:center;background-repeat:no-repeat;background-size:cover;height:100%;width:100%;border:2px solid var(--accent);border-radius:50%}.gb-text-5f578fd8{margin-bottom:10px;text-align:center}.gb-text-858d1458{color:var(--accent);margin-bottom:10px;text-align:center}.inside-right-sidebar .wp-block-social-links{display:flex !important;justify-content:center;gap:8px;list-style:none;padding:0;margin:0 0 10px;flex-wrap:nowrap}.inside-right-sidebar .wp-block-social-links li{border-radius:9999px;display:inline-block;padding:6px}.inside-right-sidebar .wp-block-social-links a{display:flex;align-items:center;line-height:0}.gb-element-3013ad78{background-color:var(--base);margin-bottom:20px;border:2px dotted var(--contrast);border-radius:16px;padding:5px}.gb-element-6b866a9d{padding-bottom:1rem;padding-top:1rem}.gb-text-604a0e5d{text-align:center;margin:0}.gb-element-06a93bc1{background-color:var(--base);margin-bottom:20px;border:2px dotted var(--contrast);border-radius:16px;padding:5px}.gb-element-e6f6d29c{padding-bottom:1rem;padding-top:1rem}.gb-text-6746c9ce{text-align:center;margin:0}.gb-element-9589bd68{background-color:var(--base);box-shadow:0 0 5px 3px rgba(0,0,0,.1);margin-bottom:20px;border:2px dotted var(--contrast);border-radius:16px;padding:5px}.gb-element-6af7d202{padding-bottom:1rem;padding-top:1rem}.wp-block-categories-list{list-style:none !important;padding:0 !important;margin:0 !important}.wp-block-categories-list li{margin-bottom:6px}.wp-elements-5077dea20ac2dbbe4e29a4df2b1a58ef a{color:var(--accent) !important;text-decoration:none}.wp-elements-5077dea20ac2dbbe4e29a4df2b1a58ef a:hover{color:var(--contrast) !important}.gb-query-5b0acdd5{margin-bottom:20px}.gb-looper-fce5acb4{column-gap:20px;display:grid;grid-template-columns:1fr;row-gap:20px}.gb-loop-item-2d96423e{align-items:center;background-color:var(--base);border:2px dotted var(--contrast);box-shadow:0 0 5px 3px rgba(0,0,0,.1),2px 2px 5px 3px rgba(0,0,0,.1);border-radius:16px;display:flex;overflow:hidden}.gb-element-1346b837{background-position:center;background-repeat:no-repeat;background-size:cover;border-bottom-left-radius:16px;border-top-left-radius:16px;display:block;height:100px;max-height:100px;max-width:100px;min-height:100px;min-width:100px;width:100px;flex-shrink:0}.gb-element-b0d2ec62{align-items:flex-start;margin-top:10px;padding-bottom:20px;padding-right:20px;padding-top:20px;width:100%;overflow:hidden}.gb-text-5e574ae6{align-items:center;font-size:1rem;line-height:1.5;margin-bottom:5px;margin-top:-10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ben-sidebar__query-title a{display:inline-block;max-width:35ch;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--contrast);text-decoration:none}.ben-sidebar__query-title a:hover{color:var(--accent)}.single.single-post .read-more-container{display:none}.wp-block-social-links{margin-bottom:0 !important}.pp-comments-wrap{margin-top:40px;padding:0 0 40px}.pp-comments-title{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;color:var(--contrast);margin-bottom:24px;display:flex;align-items:center;gap:8px}.pp-comments-title::before{content:"";display:inline-block;width:4px;height:1.3em;background:var(--accent);border-radius:4px;flex-shrink:0}.pp-comment-list{list-style:none;padding:0;margin:0 0 40px;display:flex;flex-direction:column;gap:16px}.pp-comment{background:var(--base);border:1px solid rgba(45,80,22,0.12);border-radius:16px;padding:20px;position:relative}.pp-comment.bypostauthor{border-color:var(--accent);background:rgba(45,80,22,0.04)}.pp-comment__inner{display:flex;gap:14px;align-items:flex-start}.pp-comment__avatar img,.pp-comment-avatar{width:50px !important;height:50px !important;border-radius:50%;object-fit:cover;border:2px solid var(--accent);flex-shrink:0}.pp-comment__body{flex:1;min-width:0}.pp-comment__meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.pp-comment__author a,.pp-comment__author{font-weight:700;font-size:.9rem;color:var(--contrast);text-decoration:none}.pp-comment__date{font-size:.78rem;color:var(--contrast-2)}.pp-comment__edit{font-size:.78rem;color:var(--accent);text-decoration:none}.pp-comment__pending{font-size:.82rem;color:var(--contrast-2);font-style:italic;margin-bottom:6px}.pp-comment__text{font-size:.92rem;line-height:1.65;color:var(--contrast)}.pp-comment__text p{margin-bottom:.8em}.pp-comment__text p:last-child{margin-bottom:0}.pp-comment__reply{margin-top:10px}.pp-comment__reply a,.comment-reply-link{font-size:.82rem;font-weight:600;color:var(--accent);text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:color .2s}.pp-comment__reply a:hover{color:var(--contrast)}.pp-comment-list .children{list-style:none;padding:0;margin:16px 0 0 40px;display:flex;flex-direction:column;gap:12px}.pp-comment-form-wrap{background:var(--base-3);border:2px dotted var(--accent);border-radius:20px;padding:32px;margin-top:32px}@media(max-width:600px){.pp-comment-form-wrap{padding:20px 16px}}.pp-comment-form-header{display:flex;align-items:center;gap:10px;margin-bottom:20px;color:var(--accent)}.pp-comment-form-header svg{flex-shrink:0;color:var(--accent)}.pp-comment-form-title{font-family:var(--font-heading);font-size:1.2rem;font-weight:700;color:var(--contrast);margin:0;flex:1}.pp-comment-form-title::before{display:none !important}#cancel-comment-reply-link{font-size:.8rem;color:var(--contrast-2);text-decoration:none;border:1px solid var(--contrast-2);border-radius:20px;padding:2px 10px;transition:all .2s}#cancel-comment-reply-link:hover{color:var(--base-3);background:var(--contrast-2)}.pp-logged-in-as{font-size:.82rem;color:var(--contrast-2);margin-bottom:20px;padding:10px 14px;background:rgba(45,80,22,0.05);border-radius:8px;border-left:3px solid var(--accent)}.pp-logged-in-as a{color:var(--accent)}.pp-form-field{display:flex;flex-direction:column;gap:6px;flex:1}.pp-form-field--full{width:100%;margin-bottom:18px}.pp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}@media(max-width:600px){.pp-form-row{grid-template-columns:1fr}}.pp-form-label{font-size:.85rem;font-weight:600;color:var(--contrast);letter-spacing:.3px}.pp-required{color:var(--brown,#8b4513);margin-left:2px}.pp-form-input,.pp-form-textarea{width:100%;padding:12px 16px;font-family:var(--font-body);font-size:.9rem;color:var(--contrast);background:var(--base-3);border:1.5px solid rgba(45,80,22,0.25);border-radius:10px;outline:0;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;resize:vertical}.pp-form-input::placeholder,.pp-form-textarea::placeholder{color:var(--contrast-2);font-size:.85rem}.pp-form-input:focus,.pp-form-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(45,80,22,0.12)}.pp-form-textarea{min-height:130px;line-height:1.6}.pp-form-field--checkbox{margin-bottom:20px}.pp-checkbox-label{display:flex;align-items:flex-start;gap:10px;font-size:.82rem;color:var(--contrast-2);cursor:pointer}.pp-checkbox-label input[type="checkbox"]{width:16px;height:16px;margin-top:2px;accent-color:var(--accent);flex-shrink:0}.pp-form-submit{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.pp-comment-submit{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;font-family:var(--font-body);font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:1px;padding:12px 28px;border:0;border-radius:50px;cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s;box-shadow:0 4px 14px rgba(45,80,22,0.25)}.pp-comment-submit:hover{background:#1a3009;transform:translateY(-1px);box-shadow:0 6px 20px rgba(45,80,22,0.35)}.pp-comment-submit:active{transform:translateY(0)}.pp-required-note{font-size:.78rem;color:var(--contrast-2);margin:0}.pp-comments-closed{font-size:.9rem;color:var(--contrast-2);text-align:center;padding:20px;background:var(--base);border-radius:12px;margin-top:20px}.pp-single-hero .pp-breadcrumb{font-size:13px;font-weight:600;margin-bottom:10px}.pp-single-hero .pp-breadcrumb a{color:var(--accent);text-decoration:none}.pp-single-hero .pp-breadcrumb a:hover{color:var(--contrast)}.pp-single-hero .pp-breadcrumb span{margin:0 5px;color:var(--contrast-2)}.pp-single-hero .pp-breadcrumb span:last-child{color:var(--contrast-2);font-weight:400}.pp-page-layout{max-width:1200px;margin:0 auto;padding:30px 30px 60px;box-sizing:border-box}.pp-page-content{max-width:860px}.pp-page-body{line-height:1.8}.pp-page-body h2{margin-top:2rem;margin-bottom:1rem}.pp-page-body p{margin-bottom:1.4em}.pp-page-body img{border-radius:16px;margin-bottom:20px}.pp-single-body blockquote,.pp-single-body .wp-block-quote,.entry-content blockquote,.entry-content .wp-block-quote{background:var(--base) !important;border:2px dotted var(--accent) !important;border-radius:16px !important;padding:28px 32px !important;margin:24px 0 !important;font-style:italic !important;font-size:1rem !important;line-height:1.75 !important;color:var(--contrast) !important;border-left:2px dotted var(--accent) !important;box-shadow:none !important}.pp-single-body blockquote p,.pp-single-body .wp-block-quote p,.entry-content blockquote p,.entry-content .wp-block-quote p{font-style:italic !important;margin-bottom:0 !important;color:var(--contrast) !important}.pp-single-body blockquote cite,.pp-single-body .wp-block-quote cite,.entry-content blockquote cite,.entry-content .wp-block-quote cite{display:none}.pp-sidebar-post__title{white-space:normal !important;overflow:visible !important;text-overflow:unset !important;font-size:.88rem !important;font-weight:600 !important;line-height:1.4 !important;margin:0 !important}.pp-sidebar-post__title a{white-space:normal !important;overflow:visible !important;text-overflow:unset !important;display:block !important;color:var(--contrast) !important;text-decoration:none !important}.pp-sidebar-post__title a:hover{color:var(--accent) !important}.pp-sidebar-post{align-items:stretch !important;min-height:80px !important}.pp-sidebar-post__thumb{min-height:80px !important;height:auto !important;align-self:stretch !important}.pp-sidebar-post__body{padding:12px 14px !important;display:flex !important;align-items:center !important}.pp-sidebar-categories ul{list-style:disc !important;padding-left:22px !important;margin:0 !important}.pp-sidebar-categories ul li{margin-bottom:8px !important;padding:0 !important;display:list-item !important}.pp-sidebar-categories ul li::marker{color:var(--accent) !important}.pp-sidebar-categories ul li a{color:var(--accent) !important;text-decoration:underline !important;font-size:.95rem !important}.pp-sidebar-categories ul li a:hover{color:var(--contrast) !important}.pp-sidebar-categories .wp-block-categories-list,.inside-right-sidebar .wp-block-categories{list-style:disc !important;padding-left:22px !important}.pp-sidebar-categories .wp-block-categories-list li,.inside-right-sidebar .wp-block-categories li{display:list-item !important;margin-bottom:8px !important}.pp-sidebar-categories .wp-block-categories-list li::marker,.inside-right-sidebar .wp-block-categories li::marker{color:var(--accent) !important}.pp-single-body p>em:only-child,.entry-content p>em:only-child{display:block;background:var(--base);border:2px dotted var(--accent);border-radius:16px;padding:24px 28px;font-style:italic;font-size:1rem;line-height:1.75;color:var(--contrast);margin:0}.pp-single-body p:has(>em:only-child),.entry-content p:has(>em:only-child){margin-bottom:24px;background:transparent;padding:0}.pp-single-body h2+p>em:only-child,.entry-content h2+p>em:only-child{margin-top:8px}.pp-single-body h2,.entry-content h2{margin-bottom:20px !important}.pp-single-body p>em:only-child,.entry-content p>em:only-child{padding:28px 32px !important;margin-top:0;margin-bottom:0}.pp-single-body p:has(>em:only-child),.entry-content p:has(>em:only-child){margin-top:24px !important;margin-bottom:28px !important}.pp-sidebar-post{min-height:100px !important;border-radius:16px !important;overflow:hidden !important}.pp-sidebar-post__thumb-link{flex-shrink:0 !important;display:block !important;width:110px !important;height:110px !important;min-width:110px !important;min-height:110px !important}.pp-sidebar-post__thumb{width:110px !important;height:110px !important;min-width:110px !important;min-height:110px !important;background-size:cover !important;background-position:center center !important;background-repeat:no-repeat !important;border-radius:0 !important;border-top-left-radius:14px !important;border-bottom-left-radius:14px !important;flex-shrink:0 !important}.pp-sidebar-post__body{padding:14px 16px !important;flex:1 !important;display:flex !important;align-items:center !important;min-width:0 !important}.pp-sidebar-post__title{font-size:.9rem !important;font-weight:600 !important;line-height:1.45 !important;white-space:normal !important;overflow:visible !important;margin:0 !important}.wprm-recipe-container{max-width:100% !important;margin:30px 0 !important;font-family:var(--font-body) !important}.wprm-recipe{background:#fff !important;border:2px solid var(--accent) !important;border-radius:20px !important;overflow:hidden !important;box-shadow:0 4px 20px rgba(45,80,22,0.12) !important;padding:0 !important}.wprm-recipe::before{content:"🍽️ Recipe";display:block;background:var(--accent);color:#fff;font-family:var(--font-heading);font-weight:700;font-size:.85rem;letter-spacing:2px;text-transform:uppercase;padding:10px 24px}.wprm-container-float-left{float:none !important;display:block !important}.wprm-recipe-image{text-align:center !important;padding:24px 24px 0 !important}.wprm-recipe-image img{width:160px !important;height:160px !important;border-radius:50% !important;object-fit:cover !important;border:4px solid var(--accent) !important;display:block !important;margin:0 auto !important}.wprm-recipe-print{display:inline-flex !important;align-items:center !important;gap:6px !important;background:var(--base) !important;border:1.5px solid var(--accent) !important;color:var(--accent) !important;font-size:.8rem !important;font-weight:600 !important;padding:6px 14px !important;border-radius:20px !important;text-decoration:none !important;margin:12px auto 0 !important;display:flex !important;justify-content:center !important;width:fit-content !important;margin-left:auto !important;margin-right:auto !important}.wprm-recipe-name{font-family:var(--font-heading) !important;font-size:1.6rem !important;font-weight:700 !important;color:var(--brown) !important;text-align:center !important;padding:16px 24px 8px !important;margin:0 !important;line-height:1.2 !important}.wprm-recipe-summary{text-align:center !important;font-size:.9rem !important;color:var(--contrast-2) !important;padding:0 24px 16px !important;line-height:1.6 !important;font-style:italic !important}.wprm-recipe-meta-container{background:var(--base) !important;border-top:1px solid rgba(45,80,22,0.15) !important;border-bottom:1px solid rgba(45,80,22,0.15) !important;padding:12px 24px !important;display:flex !important;flex-wrap:wrap !important;gap:6px 20px !important}.wprm-recipe-block-container-columns{display:flex !important;align-items:baseline !important;gap:6px !important;flex:1 1 auto !important;min-width:0 !important}.wprm-recipe-details-label{font-size:.78rem !important;font-weight:700 !important;text-transform:uppercase !important;letter-spacing:.5px !important;color:var(--accent) !important;white-space:nowrap !important}.wprm-recipe-details-label+span,.wprm-recipe-course,.wprm-recipe-cuisine,.wprm-recipe-keyword{font-size:.85rem !important;color:var(--contrast-2) !important}.wprm-recipe-times-container{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:0 !important;background:var(--accent) !important;padding:0 !important;border:none !important}.wprm-recipe-time-container{display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;padding:14px 8px !important;border-right:1px solid rgba(255,255,255,0.2) !important;text-align:center !important}.wprm-recipe-time-container:last-child{border-right:none !important}.wprm-recipe-time-label{font-size:.7rem !important;font-weight:700 !important;text-transform:uppercase !important;letter-spacing:1px !important;color:rgba(255,255,255,0.75) !important;display:block !important;margin-bottom:4px !important}.wprm-recipe-time{font-size:1rem !important;font-weight:700 !important;color:#fff !important}.wprm-recipe-time .wprm-recipe-details-unit{font-size:.75rem !important;font-weight:400 !important;color:rgba(255,255,255,0.8) !important}.wprm-recipe-servings-container,.wprm-recipe-calories-container{display:inline-flex !important;align-items:center !important;gap:6px !important;padding:10px 24px !important;background:var(--base) !important}.wprm-recipe-servings-label,.wprm-recipe-calories-label{font-size:.78rem !important;font-weight:700 !important;text-transform:uppercase !important;letter-spacing:.5px !important;color:var(--accent) !important}.wprm-recipe-servings,.wprm-recipe-calories{font-size:1.1rem !important;font-weight:700 !important;color:var(--brown) !important}.wprm-recipe-servings-unit,.wprm-recipe-calories-unit{font-size:.8rem !important;color:var(--contrast-2) !important}.wprm-recipe-header{font-family:var(--font-heading) !important;font-size:1.1rem !important;font-weight:700 !important;text-transform:uppercase !important;letter-spacing:1px !important;color:var(--accent) !important;margin:24px 24px 12px !important;padding-bottom:8px !important;border-bottom:2px dotted var(--accent) !important;display:block !important}.wprm-recipe-header::before{display:none !important}.wprm-recipe-ingredients-container,.wprm-recipe-equipment-container,.wprm-recipe-instructions-container,.wprm-recipe-notes-container{padding:0 24px !important;margin-bottom:8px !important}.wprm-recipe-ingredients,.wprm-recipe-equipment-list{list-style:none !important;padding:0 !important;margin:0 0 16px !important;display:flex !important;flex-direction:column !important;gap:8px !important}.wprm-recipe-ingredient,.wprm-recipe-equipment-item{display:flex !important;align-items:baseline !important;gap:8px !important;font-size:.9rem !important;line-height:1.5 !important;padding:8px 12px !important;background:var(--base) !important;border-radius:8px !important;list-style:none !important}.wprm-recipe-ingredient::before{content:"•" !important;color:var(--accent) !important;font-weight:700 !important;font-size:1.2rem !important;line-height:1 !important;flex-shrink:0 !important}.wprm-recipe-equipment-item::before{content:"🔧" !important;flex-shrink:0 !important;font-size:.85rem !important}.wprm-recipe-ingredient-amount{font-weight:700 !important;color:var(--accent) !important;white-space:nowrap !important}.wprm-recipe-ingredient-unit{font-weight:600 !important;color:var(--brown) !important;white-space:nowrap !important}.wprm-recipe-ingredient-name{font-weight:500 !important;color:var(--contrast) !important}.wprm-recipe-ingredient-notes{font-size:.8rem !important;color:var(--contrast-2) !important;font-style:italic !important}.wprm-recipe-instructions{list-style:none !important;padding:0 !important;margin:0 0 16px !important;display:flex !important;flex-direction:column !important;gap:10px !important;counter-reset:step-counter !important}.wprm-recipe-instruction{display:flex !important;align-items:flex-start !important;gap:14px !important;font-size:.9rem !important;line-height:1.6 !important;padding:12px 14px !important;background:#fff !important;border:1.5px solid rgba(45,80,22,0.1) !important;border-radius:12px !important;list-style:none !important;counter-increment:step-counter !important}.wprm-recipe-instruction::before{content:counter(step-counter) !important;background:var(--accent) !important;color:#fff !important;font-weight:700 !important;font-size:.85rem !important;width:28px !important;height:28px !important;border-radius:50% !important;display:flex !important;align-items:center !important;justify-content:center !important;flex-shrink:0 !important;margin-top:1px !important}.wprm-recipe-instruction-text{flex:1 !important;margin:0 !important}.wprm-recipe-notes{background:rgba(139,69,19,0.06) !important;border-left:4px solid var(--brown) !important;border-radius:0 12px 12px 0 !important;padding:14px 16px !important;font-size:.88rem !important;color:var(--contrast-2) !important;line-height:1.6 !important;margin-bottom:20px !important}.wprm-spacer{display:none !important}.wprm-recipe-nutrition-container{background:var(--base) !important;padding:10px 24px !important;font-size:.85rem !important}.wprm-recipe-times-container .wprm-recipe-details,.wprm-recipe-times-container .wprm-recipe-time,.wprm-recipe-times-container .wprm-recipe-time span,.wprm-recipe-times-container .wprm-recipe-details-unit,.wprm-recipe-time-container .wprm-recipe-details,.wprm-recipe-time-container span{color:#fff !important}.pp-allcat-wrap{max-width:1200px;margin:0 auto;padding:40px 24px 60px}.pp-allcat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:50px}@media(max-width:600px){.pp-allcat-grid{grid-template-columns:1fr}}.pp-allcat-card{display:block;position:relative;border-radius:16px;overflow:hidden;text-decoration:none;box-shadow:0 4px 16px rgba(0,0,0,0.12);transition:transform .25s ease,box-shadow .25s ease;aspect-ratio:16/9;border:2px solid rgba(45,80,22,0.15)}.pp-allcat-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px rgba(0,0,0,0.18)}.pp-allcat-card__img{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;transition:transform .4s ease}.pp-allcat-card:hover .pp-allcat-card__img{transform:scale(1.04)}.pp-allcat-card__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.72) 0,rgba(0,0,0,0.25) 50%,rgba(0,0,0,0.05) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:20px 24px}.pp-allcat-card__title{font-family:var(--font-body);font-size:clamp(14px,2vw,20px);font-weight:700;color:#fff;margin:0 0 4px;text-transform:uppercase;letter-spacing:1px;line-height:1.2;text-shadow:0 1px 4px rgba(0,0,0,0.5);padding-left:12px;border-left:4px solid var(--brown)}.pp-allcat-card__title::before{display:none !important}.pp-allcat-card__count{font-size:12px;color:rgba(255,255,255,0.8);font-weight:500;margin-left:16px;letter-spacing:.5px}.pp-allcat-content{max-width:860px;border-top:2px solid var(--base);padding-top:30px;margin-top:10px}.pp-allcat-content h2{margin-top:2rem;margin-bottom:1rem}.pp-allcat-below{max-width:900px;margin:48px auto 0;padding:40px 0 60px;border-top:2px solid var(--base)}.pp-allcat-below h2{font-family:var(--font-heading);font-size:clamp(1.2rem,2.5vw,1.6rem);font-weight:700;color:var(--brown);text-transform:uppercase;letter-spacing:1px;margin-bottom:20px;margin-top:0;display:block !important}.pp-allcat-below h2::before{display:none !important}.pp-allcat-below p{font-size:.95rem;line-height:1.8;color:var(--contrast);margin-bottom:1.2em}.pp-allcat-below p:last-child{margin-bottom:0}.pp-allcat-below{max-width:900px;margin:30px auto 60px;font-size:1rem;line-height:1.75;color:var(--accent)}.pp-allcat-below h2{font-family:var(--font-heading) !important;font-size:1.5rem !important;font-weight:700 !important;color:var(--accent) !important;text-transform:uppercase !important;letter-spacing:.5px !important;margin-bottom:20px !important;margin-top:0 !important;display:block !important}.pp-allcat-below h2::before{display:none !important}.pp-allcat-below p{color:var(--accent) !important;font-size:1rem !important;line-height:1.75 !important;margin-bottom:1.4em !important}img{height:auto;max-width:100%;display:block}.pp-single-featured__img,.featured-image img,.pp-allcat-card__img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeSpeed}.site-header{will-change:auto;contain:layout style}body,h1,h2,h3,h4,p,li,a{font-display:swap}.pp-allcat-card,.pp-category-card,.pp-recipe-card{will-change:transform}.site-footer,.pp-single-hero,.pp-allcat-wrap{will-change:auto}
/* ============================================================
   ACCESSIBILITY — Contrast fixes (PageSpeed Accessibility)
   ============================================================ */

/* Fix: WPRM ingredient notes low contrast (was faded/grey) */
.wprm-recipe-ingredient-notes,
.wprm-recipe-ingredient-notes-faded,
.wprm-recipe-ingredient-notes span {
  color: #4a4a4a !important;
  opacity: 1 !important;
}

/* Fix: links identifiable by more than color */
.pp-single-body a,
.entry-content a {
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Fix: skip link visible on focus */
.skip-link {
  position: absolute;
  top: -100px;
  left: 0;
  background: var(--accent);
  color: #fff;
  padding: 10px 20px;
  z-index: 9999;
  font-weight: 600;
  transition: top 0.2s;
}
.skip-link:focus {
  top: 0;
}

/* Fix: ensure sufficient contrast on meta text */
.pp-single-meta,
.pp-single-meta span,
.pp-single-meta a,
.entry-meta {
  color: #555555 !important;
}

/* ============================================================
   EXPLORE PAGE
   ============================================================ */
.pp-explore-wrap {
  max-width: 1000px;
  margin: 0 auto;
  padding: 40px 24px 60px;
}

/* Section titles with green line */
.pp-explore-section-title {
  font-family: var(--font-heading) !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: var(--accent) !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 0 20px !important;
}
.pp-explore-section-title::before { display: none !important; }
.pp-explore-title-line {
  flex: 1;
  height: 5px;
  background: var(--accent);
  border-radius: 8px;
  display: inline-block;
  outline: 1px dashed var(--contrast);
  outline-offset: 0;
}

/* ── SEARCH SECTION ── */
.pp-explore-search-section {
  margin-bottom: 40px;
  padding: 30px 0;
}
.pp-explore-search-section .search-form {
  display: flex;
  gap: 0;
  max-width: 100%;
}
.pp-explore-search-section .search-field {
  flex: 1;
  padding: 14px 20px;
  font-size: 1rem;
  border: 2px solid var(--accent);
  border-right: none;
  border-radius: 6px 0 0 6px;
  outline: none;
  background: #fff;
  color: var(--contrast);
}
.pp-explore-search-section .search-field:focus {
  border-color: var(--brown);
  box-shadow: 0 0 0 3px rgba(45,80,22,0.1);
}
.pp-explore-search-section .search-submit {
  padding: 14px 20px;
  background: var(--accent);
  color: #fff;
  border: 2px solid var(--accent);
  border-radius: 0 6px 6px 0;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 600;
  transition: background 0.2s;
}
.pp-explore-search-section .search-submit:hover {
  background: var(--brown);
  border-color: var(--brown);
}

/* ── CATEGORIES PILLS ── */
.pp-explore-cats-section {
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--base);
}
.pp-explore-cats-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.pp-explore-pill {
  display: inline-block;
  padding: 8px 18px;
  border: 1.5px solid var(--accent);
  border-radius: 50px;
  color: var(--accent) !important;
  font-size: 0.88rem;
  font-weight: 600;
  text-decoration: none !important;
  transition: all 0.2s;
  background: transparent;
}
.pp-explore-pill:hover {
  background: var(--accent);
  color: #fff !important;
}

/* ── COMPACT LIST GRID ── */
.pp-explore-list-section {
  margin-bottom: 50px;
}
.pp-explore-list-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
@media (max-width: 600px) {
  .pp-explore-list-grid { grid-template-columns: 1fr; }
}
.pp-explore-list-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border: 1.5px solid rgba(45,80,22,0.15);
  border-radius: 50px;
  text-decoration: none !important;
  transition: all 0.2s;
  background: #fff;
}
.pp-explore-list-item:hover {
  border-color: var(--accent);
  background: var(--base);
  transform: translateX(3px);
}
.pp-explore-list-thumb {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--base);
}
.pp-explore-list-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pp-explore-list-thumb-placeholder {
  width: 100%;
  height: 100%;
  background: var(--accent);
  opacity: 0.3;
}
.pp-explore-list-title {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--contrast) !important;
  line-height: 1.3;
  flex: 1;
}

/* ── CARD GRID ── */
.pp-explore-grid-section {
  margin-bottom: 50px;
}
.pp-explore-card-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media (max-width: 900px) {
  .pp-explore-card-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 500px) {
  .pp-explore-card-grid { grid-template-columns: 1fr; }
}
.pp-explore-card {
  display: flex;
  flex-direction: column;
  text-decoration: none !important;
  border: 1.5px solid rgba(45,80,22,0.12);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.pp-explore-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  border-color: var(--accent);
}
.pp-explore-card-img {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  background: var(--base);
}
.pp-explore-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
}
.pp-explore-card:hover .pp-explore-card-img img {
  transform: scale(1.04);
}
.pp-explore-card-img-placeholder {
  width: 100%;
  height: 100%;
  background: var(--accent);
  opacity: 0.2;
}
.pp-explore-card-body {
  padding: 14px;
  flex: 1;
}
.pp-explore-card-title {
  font-family: var(--font-heading) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: var(--accent) !important;
  text-align: center !important;
  margin: 0 0 8px !important;
  line-height: 1.3 !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.pp-explore-card-title::before { display: none !important; }
.pp-explore-card-excerpt {
  font-size: 0.8rem !important;
  color: var(--contrast-2) !important;
  text-align: center !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* ── Page content below ── */
.pp-explore-content {
  border-top: 2px solid var(--base);
  padding-top: 30px;
  font-size: 0.95rem;
  line-height: 1.75;
  color: var(--accent);
}
.pp-explore-content p { margin-bottom: 1.3em; color: var(--accent); }

/* Explore hero description text */
.pp-explore-hero-text p {
  color: var(--contrast-2) !important;
  font-size: 0.95rem !important;
  line-height: 1.7 !important;
  max-width: 700px !important;
  margin: 0 !important;
}
.pp-explore-hero-text p::before,
.pp-explore-hero-text p::after { display: none !important; }

/* ============================================================
   ALL RECIPES PAGE
   ============================================================ */

/* Hero text */
.pp-allrecipes-hero-text p {
  color: var(--contrast-2) !important;
  font-size: 0.95rem !important;
  line-height: 1.75 !important;
  max-width: 860px !important;
  margin-bottom: 0.8em !important;
}
.pp-allrecipes-hero-text p:last-child { margin-bottom: 0 !important; }
.pp-allrecipes-hero-text p::before,
.pp-allrecipes-hero-text p::after { display: none !important; }

/* Wrap */
.pp-allrecipes-wrap {
  max-width: 1000px;
  margin: 40px auto 60px;
  padding: 0 24px;
}

/* 4-column grid */
.pp-allrecipes-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 40px;
}
@media (max-width: 900px) {
  .pp-allrecipes-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 500px) {
  .pp-allrecipes-grid { grid-template-columns: 1fr; }
}

/* Force card images to stay contained */
.pp-allrecipes-grid .pp-explore-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  max-width: 100%;
}
.pp-allrecipes-grid .pp-explore-card-img {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  flex-shrink: 0;
}
.pp-allrecipes-grid .pp-explore-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  max-width: 100%;
}

/* Pagination */
.pp-allrecipes-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 50px;
  padding-bottom: 40px;
  border-bottom: 2px solid var(--base);
}
.pp-allrecipes-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 10px;
  border: 1.5px solid rgba(45,80,22,0.25);
  border-radius: 6px;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--contrast) !important;
  text-decoration: none !important;
  background: #fff;
  transition: all 0.2s;
}
.pp-allrecipes-pagination .page-numbers:hover {
  background: var(--accent);
  color: #fff !important;
  border-color: var(--accent);
}
.pp-allrecipes-pagination .page-numbers.current {
  background: var(--accent);
  color: #fff !important;
  border-color: var(--accent);
}
.pp-allrecipes-pagination .page-numbers.dots {
  border: none;
  background: none;
}

/* ============================================================
   FIX — All Recipes grid image size (override WordPress srcset)
   ============================================================ */
.pp-allrecipes-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}
.pp-allrecipes-grid .pp-explore-card {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
.pp-allrecipes-grid .pp-explore-card-img {
  width: 100% !important;
  height: 0 !important;
  padding-bottom: 75% !important;
  position: relative !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}
.pp-allrecipes-grid .pp-explore-card-img img,
.pp-allrecipes-grid .pp-explore-card-img .pp-explore-card-img-placeholder {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
@media (max-width: 900px) {
  .pp-allrecipes-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 500px) {
  .pp-allrecipes-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Same fix for Explore page card grid */
.pp-explore-card-grid .pp-explore-card {
  overflow: hidden !important;
  width: 100% !important;
  min-width: 0 !important;
}
.pp-explore-card-grid .pp-explore-card-img {
  width: 100% !important;
  height: 0 !important;
  padding-bottom: 100% !important;
  position: relative !important;
  overflow: hidden !important;
}
.pp-explore-card-grid .pp-explore-card-img img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: cover !important;
}



/* ── Fix: remove inner dotted border from italic callout when already inside any dotted container ── */
[class*="gb-element"] p > em:only-child,
[class*="gb-container"] p > em:only-child,
[class*="gb-block"] p > em:only-child {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  display: inline !important;
}
[class*="gb-element"] p:has(> em:only-child),
[class*="gb-container"] p:has(> em:only-child),
[class*="gb-block"] p:has(> em:only-child) {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* ── Fix: gb-element-422465bf already has dotted border — remove inner italic callout border ── */
/* Only remove inner border for GB containers that already HAVE a dotted border */
.gb-element-422465bf p > em:only-child,
.gb-element-78cbe4f7 p > em:only-child,
.gb-element-cc6f9555 p > em:only-child {
  all: unset !important;
  display: block !important;
  font-style: italic !important;
  font-size: 1rem !important;
  line-height: 1.75 !important;
  color: var(--contrast) !important;
}
.gb-element-422465bf p:has(> em:only-child),
.gb-element-78cbe4f7 p:has(> em:only-child),
.gb-element-cc6f9555 p:has(> em:only-child) {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}

/* ── Restore italic callout box for standalone italic paragraphs in article body ── */
/* Only applies when NOT inside a GB container that already has a border */
.pp-single-body > p > em:only-child,
.entry-content > p > em:only-child {
  display: block !important;
  background: var(--base) !important;
  border: 2px dotted var(--accent) !important;
  border-radius: 16px !important;
  padding: 24px 28px !important;
  font-style: italic !important;
  font-size: 1rem !important;
  line-height: 1.75 !important;
  color: var(--contrast) !important;
}
.pp-single-body > p:has(> em:only-child),
.entry-content > p:has(> em:only-child) {
  margin-top: 24px !important;
  margin-bottom: 28px !important;
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
}

/* ── Italic callout for GB wrapper containers (like step-by-step tip boxes) ── */
.gb-element-1c64ad39 p > em:only-child,
.gb-element-9ba8d67f p > em:only-child,
.gb-element-7a1ee84a p > em:only-child,
.gb-element-00145a16 p > em:only-child {
  display: block !important;
  background: var(--base) !important;
  border: 2px dotted var(--accent) !important;
  border-radius: 16px !important;
  padding: 24px 28px !important;
  font-style: italic !important;
  font-size: 1rem !important;
  line-height: 1.75 !important;
  color: var(--contrast) !important;
}
.gb-element-1c64ad39 p:has(> em:only-child),
.gb-element-9ba8d67f p:has(> em:only-child),
.gb-element-7a1ee84a p:has(> em:only-child),
.gb-element-00145a16 p:has(> em:only-child) {
  margin-top: 24px !important;
  margin-bottom: 28px !important;
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
}

/* ── Italic callout box — ALL italic paragraphs in article get dotted border ── */
.pp-single-body p > em:only-child,
.entry-content p > em:only-child {
  display: block !important;
  background: var(--base) !important;
  border: 2px dotted var(--accent) !important;
  border-radius: 16px !important;
  padding: 24px 28px !important;
  font-style: italic !important;
  font-size: 1rem !important;
  line-height: 1.75 !important;
  color: var(--contrast) !important;
}
.pp-single-body p:has(> em:only-child),
.entry-content p:has(> em:only-child) {
  margin-top: 24px !important;
  margin-bottom: 28px !important;
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
}

/* ── Exception: when the parent GB element ALREADY has a dotted border, remove inner box ── */
.pp-single-body [style*="dotted"] p > em:only-child,
.entry-content [style*="dotted"] p > em:only-child,
.pp-single-body [class*="gb-element-422465bf"] p > em:only-child,
.entry-content [class*="gb-element-422465bf"] p > em:only-child {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
/* JS-added class to mark conclusion containers */
.pp-has-own-border p > em:only-child {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  display: block !important;
}
.pp-has-own-border p:has(> em:only-child) {
  margin: 0 !important;
  padding: 0 !important;
}

/* ── Conclusion box: gb-element-422465bf already HAS dotted border — remove inner italic callout border ── */
.gb-element-422465bf p > em:only-child {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  display: block !important;
  font-style: italic !important;
}
.gb-element-422465bf p:has(> em:only-child) {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}

/* ============================================================
   CONTACT PAGE — CF7 Form Styling
   ============================================================ */

/* Page intro block (the italic quoted text) */
.pp-page-body .wp-block-quote,
.pp-page-body blockquote,
.pp-page-body p:has(em) {
    background: var(--base) !important;
    border: 2px dotted var(--accent) !important;
    border-radius: 16px !important;
    padding: 28px 32px !important;
    margin: 0 0 32px !important;
}

/* CF7 form wrapper */
.wpcf7 {
    background: #fff;
    border: 1.5px solid rgba(45,80,22,0.15);
    border-radius: 20px;
    padding: 36px 40px;
    box-shadow: 0 4px 24px rgba(45,80,22,0.08);
    margin-top: 8px;
}
@media (max-width: 600px) {
    .wpcf7 { padding: 24px 18px; }
}

/* Labels */
.wpcf7 label {
    display: block;
    font-family: var(--font-body);
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--contrast);
    margin-bottom: 6px;
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

/* All inputs & textarea */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 select,
.wpcf7 textarea {
    width: 100%;
    padding: 13px 16px;
    font-family: var(--font-body);
    font-size: 0.9rem;
    color: var(--contrast);
    background: #fafafa;
    border: 1.5px solid rgba(45,80,22,0.2);
    border-radius: 10px;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
    box-sizing: border-box;
    display: block;
    margin-top: 2px;
}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 input[type="url"]:focus,
.wpcf7 input[type="number"]:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(45,80,22,0.10);
    background: #fff;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
    color: #aaa;
    font-size: 0.85rem;
}

/* Textarea */
.wpcf7 textarea {
    min-height: 140px;
    resize: vertical;
    line-height: 1.6;
}

/* Paragraph spacing inside form */
.wpcf7 p {
    margin-bottom: 20px !important;
}
.wpcf7 p:last-child {
    margin-bottom: 0 !important;
}

/* Submit button */
.wpcf7 input[type="submit"] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--accent);
    color: #fff !important;
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 14px 36px;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
    box-shadow: 0 4px 14px rgba(45,80,22,0.25);
    width: auto;
    margin-top: 8px;
}
.wpcf7 input[type="submit"]:hover {
    background: var(--accent-dark);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(45,80,22,0.35);
}
.wpcf7 input[type="submit"]:active {
    transform: translateY(0);
}

/* Validation error borders */
.wpcf7 .wpcf7-not-valid {
    border-color: #e24b4a !important;
    box-shadow: 0 0 0 3px rgba(226,75,74,0.12) !important;
}
.wpcf7 .wpcf7-not-valid-tip {
    color: #e24b4a;
    font-size: 0.78rem;
    margin-top: 4px;
    display: block;
}

/* Response messages */
.wpcf7 .wpcf7-response-output {
    margin-top: 16px !important;
    padding: 14px 18px !important;
    border-radius: 10px !important;
    font-size: 0.88rem !important;
    border: none !important;
}
.wpcf7.sent .wpcf7-response-output {
    background: rgba(45,80,22,0.08) !important;
    color: var(--accent) !important;
    border: 1.5px solid var(--accent) !important;
}
.wpcf7.failed .wpcf7-response-output,
.wpcf7.invalid .wpcf7-response-output {
    background: rgba(226,75,74,0.08) !important;
    color: #c0392b !important;
    border: 1.5px solid #e24b4a !important;
}

/* Hidden fields */
.wpcf7 .hidden-fields-container { display: none; }

/* Control wrap (removes extra spacing) */
.wpcf7-form-control-wrap { display: block; }

/* Spinner */
.wpcf7 .wpcf7-spinner {
    margin-left: 10px;
    vertical-align: middle;
}
