/* FAFO Kitchen — sitewide mobile optimization layer, 2026-08-21 */
:root{--fk-mobile-ink:#2b241d;--fk-mobile-paper:#fdfaf4;--fk-mobile-cream:#f7f1e6;--fk-mobile-line:#e6dccc;--fk-mobile-red:#b8432c;--fk-mobile-red-dark:#9a3722;--fk-mobile-sans:'DM Sans',Arial,sans-serif;--fk-mobile-serif:'Libre Baskerville',Georgia,serif}
html,body{max-width:100%;overflow-x:clip}
img,video,canvas{max-width:100%;height:auto}
iframe{max-width:100%}
pre{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
code{overflow-wrap:anywhere}

/* Mobile navigation: generated from the existing desktop nav by mobile-sitewide.js. */
.fk-mobile-menu-toggle,.fk-mobile-drawer,.fk-mobile-scrim{display:none}
@media(max-width:980px){
  .hp2-topbar{display:none!important}
  .hp2-header{z-index:100!important}
  .hp2-header-inner{min-height:68px!important;gap:12px!important;justify-content:space-between!important}
  .hp2-logo{min-width:0}
  .hp2-logo img{width:148px!important;max-width:38vw;height:auto!important}
  .hp2-nav,.hp2-header>.hp2-nav{display:none!important}
  .hp2-header-inner>.hp2-nav-search{display:none!important}
  .hp2-header-social{margin-left:auto}
  .fk-mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;min-width:48px;min-height:48px;padding:0 12px;border:1.5px solid var(--fk-mobile-line);border-radius:10px;background:#fff;color:var(--fk-mobile-ink);font:800 .78rem var(--fk-mobile-sans);cursor:pointer}
  .fk-mobile-menu-toggle:focus-visible{outline:3px solid rgba(184,67,44,.28);outline-offset:2px}
  .fk-mobile-menu-toggle-icon{width:20px;height:14px;position:relative;display:inline-block}
  .fk-mobile-menu-toggle-icon::before,.fk-mobile-menu-toggle-icon::after,.fk-mobile-menu-toggle-icon span{content:"";position:absolute;left:0;width:20px;height:2px;border-radius:999px;background:currentColor;transition:transform .18s ease,top .18s ease,opacity .18s ease}
  .fk-mobile-menu-toggle-icon::before{top:0}.fk-mobile-menu-toggle-icon span{top:6px}.fk-mobile-menu-toggle-icon::after{top:12px}
  .fk-mobile-menu-toggle[aria-expanded="true"] .fk-mobile-menu-toggle-icon::before{top:6px;transform:rotate(45deg)}
  .fk-mobile-menu-toggle[aria-expanded="true"] .fk-mobile-menu-toggle-icon span{opacity:0}
  .fk-mobile-menu-toggle[aria-expanded="true"] .fk-mobile-menu-toggle-icon::after{top:6px;transform:rotate(-45deg)}
  .fk-mobile-drawer{position:absolute;display:block;left:0;right:0;top:100%;z-index:103;background:var(--fk-mobile-paper);border-top:1px solid var(--fk-mobile-line);border-bottom:1px solid var(--fk-mobile-line);box-shadow:0 18px 35px rgba(43,36,29,.18);max-height:calc(100dvh - 68px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:14px max(14px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
  .fk-mobile-drawer[hidden]{display:none!important}
  .fk-mobile-drawer-inner{width:min(100%,640px);margin:0 auto}
  .fk-mobile-search{display:flex!important;width:100%!important;max-width:none!important;height:48px!important;margin:0 0 12px;border-radius:10px!important;background:#fff}
  .fk-mobile-search input{font-size:16px!important}
  .fk-mobile-search button{width:48px!important;min-width:48px!important}
  .fk-mobile-nav-content{display:grid;gap:4px}
  .fk-mobile-nav-content>a,.fk-mobile-nav-content>.hp2-nav-group>.hp2-nav-top{display:flex;align-items:center;min-height:46px;padding:10px 12px;border-radius:9px;color:var(--fk-mobile-ink);text-decoration:none;font:800 .9rem var(--fk-mobile-sans);border:0!important}
  .fk-mobile-nav-content>a:hover,.fk-mobile-nav-content>a:focus-visible,.fk-mobile-nav-content>.hp2-nav-group>.hp2-nav-top:hover,.fk-mobile-nav-content>.hp2-nav-group>.hp2-nav-top:focus-visible{background:var(--fk-mobile-cream);color:var(--fk-mobile-red);outline:none}
  .fk-mobile-nav-content .hp2-nav-group{display:block!important;position:static!important}
  .fk-mobile-nav-content .hp2-mega{position:static!important;transform:none!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:3px 6px!important;min-width:0!important;width:100%!important;margin:0 0 6px;padding:6px!important;background:var(--fk-mobile-cream)!important;border:1px solid var(--fk-mobile-line)!important;border-radius:10px!important;box-shadow:none!important}
  .fk-mobile-nav-content .hp2-mega a{display:flex!important;align-items:center;min-height:42px;padding:8px 9px!important;border:0!important;border-radius:7px;color:#5c5248!important;text-decoration:none!important;font:700 .78rem var(--fk-mobile-sans)!important;white-space:normal!important;line-height:1.25}
  .fk-mobile-nav-content .hp2-mega a:hover,.fk-mobile-nav-content .hp2-mega a:focus-visible{background:#fff;color:var(--fk-mobile-red)!important;outline:none}
  .fk-mobile-scrim{display:block;position:fixed;inset:0;z-index:99;background:rgba(43,36,29,.34);backdrop-filter:blur(1px)}
  .fk-mobile-scrim[hidden]{display:none!important}
  body.fk-mobile-menu-open{overflow:hidden}
}
@media(max-width:640px){
  .hp2-header-inner{min-height:62px!important}
  .hp2-logo img{width:132px!important;max-width:44vw}
  .hp2-header-social{display:none!important}
  .fk-mobile-menu-toggle{min-width:46px;min-height:46px;padding:0 11px}
  .fk-mobile-menu-toggle-label{display:none}
  .fk-mobile-drawer{max-height:calc(100dvh - 62px)}
  .fk-mobile-nav-content .hp2-mega{grid-template-columns:1fr!important}
}

/* Readable widths and safe overflow. */
@media(max-width:760px){
  .hp2-shell,.collection-shell,.dr-shell,.uwyg-shell,.rb-box-shell,.mp-shell{max-width:100%}
  .container{max-width:100%}
  table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-collapse:collapse}
  th,td{overflow-wrap:normal;word-break:normal}
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea{font-size:16px!important}
  button,input[type="button"],input[type="submit"],input[type="reset"],select{min-height:44px}
  .hp2-btn,.jump-to-recipe,.cat-filter,.facet-chip,.discovery-chip,.uwyg-chip,.uwyg-quick button,.uwyg-meals button,.dr-option,.rb-detail-save,.rb-box-tab,.mp-print-btn{min-height:44px}
  .rb-heart,.rb-inline-heart,.fhp-heart{min-width:44px!important;min-height:44px!important;width:44px!important;height:44px!important}
  .facet-clear,.rb-text-btn,.uwyg-reset{min-height:44px;display:inline-flex;align-items:center}
}

/* Homepage. */
@media(max-width:760px){
  .hp2-hero-inner{padding-top:20px!important;gap:18px!important}
  .hp2-hero-copy h1{font-size:clamp(1.85rem,9vw,2.55rem)!important;line-height:1.08!important}
  .hp2-hero-copy>p{font-size:.98rem!important;line-height:1.6!important}
  .hp2-hero-search{max-width:none!important;width:100%;height:50px!important}
  .hp2-cats{gap:8px!important}
  .hp2-cats a{min-height:82px;padding:12px 8px!important;font-size:.76rem!important}
  .hp2-section{padding:22px 0 6px!important}
  .hp2-section-head{align-items:flex-start!important;flex-wrap:wrap!important}
  .hp2-section-head h2{font-size:1.35rem!important;line-height:1.25}
  .hp2-card-body{padding:10px!important}
  .hp2-card-body h3{font-size:.85rem!important}
  .hp2-trust-item{padding:14px!important}
  .hp2-lila{padding-top:26px!important}
  .hp2-lila-inner{gap:20px!important}
  .hp2-lila-inner>img{width:min(100%,220px)!important;max-width:220px!important;height:220px!important;aspect-ratio:1!important;object-fit:cover!important}
  .hp2-lila-copy h2{font-size:1.7rem!important}
  .hp2-lila-copy p{font-size:.96rem!important;line-height:1.65!important}
  .hp2-collections{gap:10px!important}
  .hp2-collection-label{padding:12px!important}
  .hp2-guide{grid-template-columns:120px 1fr!important}
  .hp2-guide-body{padding:12px!important}
  .hp2-newsletter-form{min-width:0!important;max-width:none!important;width:100%}
}
@media(max-width:480px){
  .hp2-card-row--6,.hp2-card-row--4{grid-template-columns:1fr 1fr!important;gap:9px!important}
  .hp2-card-img{aspect-ratio:1.2!important}
  .hp2-card-meta{font-size:.67rem!important}
  .hp2-collections{grid-template-columns:1fr!important}
  .hp2-collection{aspect-ratio:1.8!important}
  .hp2-guide{grid-template-columns:104px 1fr!important}
  .hp2-guide-body p{display:none}
  .hp2-footer-grid{grid-template-columns:1fr!important;gap:18px!important}
  .hp2-footer-brand,.hp2-footer-tagline{grid-column:auto!important}
  .hp2-footer h3{margin-bottom:5px!important}
  .hp2-footer a{min-height:34px;display:flex!important;align-items:center;margin:1px 0!important}
  .hp2-footer-bottom{line-height:1.65!important}
}

/* Recipe Index / Discovery Hub. */
@media(max-width:760px){
  .recipes-index-main{padding-top:20px!important;padding-bottom:52px!important}
  .recipes-index-hero{padding:24px 14px 20px!important}
  .recipes-index-title{font-size:clamp(2rem,10vw,2.6rem)!important;line-height:1.08!important}
  .recipes-index-sub{font-size:.98rem!important;line-height:1.5}
  .recipe-search-wrap{padding:0 14px 14px!important}
  .recipe-search-input{min-height:50px!important}
  .cat-filters{padding:0 14px 20px!important;gap:7px!important}
  .cat-filter{padding:8px 13px!important}
  .facet-bar{margin-left:0!important;margin-right:0!important}
  .facet-actions{align-items:flex-start!important;flex-wrap:wrap!important}
  .recipes-grid{padding:0 14px!important;gap:12px!important}
  .recipe-card-img{height:auto!important;aspect-ratio:16/10!important}
  .recipe-card-body{padding:13px 14px 15px!important}
  .recipe-card-title{font-size:1rem!important}
}
@media(max-width:560px){
  .recipes-grid{grid-template-columns:1fr!important}
  .recipe-card{display:grid!important;grid-template-columns:130px minmax(0,1fr)!important;min-height:130px}
  .recipe-card-img{height:100%!important;min-height:130px;aspect-ratio:auto!important}
  .recipe-card-body{padding:12px!important}
  .recipe-card-desc{display:none!important}
  .recipe-card-meta{flex-wrap:wrap;gap:5px 10px!important}
  .rb-card-shell--recipe-card{display:block!important}
  .rb-card-shell>.recipe-card{height:100%!important}
}

/* Individual recipes and editorial articles. */
@media(max-width:640px){
  .article-main{padding-top:20px!important;padding-bottom:44px!important}
  .article-main>.container,.blog-body>.container{padding-left:16px!important;padding-right:16px!important}
  .article-title{font-size:clamp(1.55rem,8vw,2rem)!important;line-height:1.18!important;margin-bottom:16px!important;overflow-wrap:anywhere}
  .article-intro p,.blog-body p{font-size:1rem!important;line-height:1.72!important}
  .quick-answer{padding:14px 15px!important;margin-bottom:20px!important}
  .jump-to-recipe{display:flex!important;width:100%;justify-content:center;align-items:center;text-align:center;padding:12px 16px!important}
  .recipe-quick-facts{padding:12px!important;gap:6px!important}
  .ingredients-section,.instructions-section,.tips-section,.substitutions-section,.storage-section,.faq-section{margin:24px 0!important;padding:18px 16px!important;text-align:left!important;border-radius:10px!important}
  .ingredients-section h2,.instructions-section h2,.tips-section h2,.substitutions-section h2,.storage-section h2,.faq-section h2{text-align:left!important;font-size:1.28rem!important}
  .ingredients-list li{padding:10px 0!important;text-align:left!important;line-height:1.55}
  .instructions-list li{justify-content:flex-start!important;gap:12px!important;padding:13px 0!important}
  .tips-list li{justify-content:flex-start!important}
  .hero-image-wrap{margin-bottom:22px!important}
  .author-box{display:block!important;padding:18px!important;text-align:center!important}
  .author-box img{margin:0 auto 12px!important;max-width:120px!important;height:auto!important}
  .author-box-body{text-align:left!important}
  .author-box-links{display:flex!important;flex-wrap:wrap;gap:8px 14px!important}
  .blog-index-hero{padding:24px 16px!important;border-radius:12px!important}
  .blog-grid{grid-template-columns:1fr!important;gap:14px!important}
  .blog-card-body{padding:14px 15px 16px!important}
  .blog-cta{padding:20px 16px!important}
}

/* Collections. */
@media(max-width:560px){
  .collection-main,.collections-index-main{padding-top:22px!important;padding-bottom:52px!important}
  .collection-shell{padding-left:14px!important;padding-right:14px!important}
  .collection-hero{margin-bottom:22px!important}
  .collection-hero h1{font-size:clamp(1.9rem,10vw,2.55rem)!important}
  .collection-grid,.collections-grid{grid-template-columns:1fr!important;gap:12px!important}
  .collection-card{display:grid!important;grid-template-columns:120px minmax(0,1fr)!important;min-height:120px}
  .collection-card img{height:100%!important;aspect-ratio:auto!important}
  .collection-card-desc{display:block!important;-webkit-line-clamp:2;display:-webkit-box!important;-webkit-box-orient:vertical;overflow:hidden}
  .collection-tile{padding:18px!important}
}

/* Dinner Rescue, pantry matching, Recipe Box, meal plans. */
@media(max-width:640px){
  .dr-hero h1,.uwyg-hero h1,.rb-box-hero h1{font-size:clamp(2rem,10vw,2.75rem)!important;letter-spacing:-.025em!important}
  .dr-panel,.uwyg-builder,.rb-sync-panel{border-radius:12px!important}
  .dr-builder,.uwyg-builder{padding:16px!important}
  .dr-progress{grid-template-columns:repeat(2,1fr)!important}
  .dr-option,.uwyg-form button,.uwyg-primary{width:100%}
  .uwyg-chip,.uwyg-quick button,.uwyg-meals button{padding:9px 12px!important}
  .uwyg-card-body{padding:14px!important}
  .rb-box-tabs{position:sticky;top:62px;z-index:12;background:#f7f1e6!important;padding:6px!important;margin-top:20px!important}
  .rb-box-tab{padding:10px 6px!important}
  .rb-grocery-list li{align-items:flex-start!important}
  .rb-grocery-list label{flex:1;line-height:1.45}
  .mp-shell{width:calc(100% - 24px)!important}
  .mp-hero{padding:30px 8px 8px!important}
  .mp-shopping,.mp-panel{padding:18px!important}
  .mp-day-body,.mp-index-body{padding:14px!important}
}

/* Tables and embedded content on utility/how-to pages. */
@media(max-width:640px){
  .responsive-table,.table-wrap,[class*="table-wrap"]{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .video-wrap,.embed-wrap{max-width:100%;overflow:hidden}
  iframe[src*="youtube"],iframe[src*="youtu.be"]{width:100%!important;aspect-ratio:16/9;height:auto!important}
}

/* Avoid hover-only motion on touch and honor reduced motion. */
@media(hover:none){
  .hp2-card:hover,.hp2-collection:hover,.hp2-guide:hover,.recipe-card:hover,.collection-card:hover,.rg-card:hover{transform:none!important;box-shadow:inherit}
}
@media(prefers-reduced-motion:reduce){
  .fk-mobile-menu-toggle-icon::before,.fk-mobile-menu-toggle-icon::after,.fk-mobile-menu-toggle-icon span{transition:none!important}
}

/* Recipe Index image loading: native responsive/lazy images replace CSS backgrounds. */
.recipe-card-img>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:820px){.hp2-header-social{display:none!important}}
@media(max-width:480px){.hp2-footer a{min-height:44px!important}}

/* FAFO sitewide desktop navigation normalization — 2026-08-26 */
@media(min-width:981px){
.hp2-nav-group{position:relative;display:inline-flex;align-items:center}.hp2-nav-group>.hp2-nav-top{cursor:pointer}.hp2-mega{position:absolute;left:50%;top:calc(100% + 12px);transform:translateX(-50%);display:none;grid-template-columns:repeat(2,minmax(175px,1fr));gap:2px 14px;min-width:410px;padding:14px;background:#fff;border:1px solid var(--fk-mobile-line);border-radius:12px;box-shadow:0 14px 30px rgba(43,36,29,.14);z-index:120}.hp2-nav-group:hover>.hp2-mega,.hp2-nav-group:focus-within>.hp2-mega{display:grid}.hp2-mega a{display:block;padding:7px 9px;border-radius:7px;white-space:nowrap;font:700 .76rem var(--fk-mobile-sans);color:#5c5248;text-decoration:none}.hp2-mega a:hover,.hp2-mega a:focus-visible{background:var(--fk-mobile-cream);color:var(--fk-mobile-red);outline:none}
}
