/* RS Foods page-level responsive guardrails — loaded last */
.rsf-home,.rsf-menu-archive,.rsf-storefront,.rsf-site-footer{max-width:100%;overflow-x:hidden}.rsf-home img,.rsf-menu-archive img,.rsf-storefront img{max-width:100%}
/* Desktop canvas: use more of the viewport while retaining a deliberate cream gutter. */
@media (min-width:721px){
 .rsf-home{width:min(calc(100% - 56px),1480px);margin:0 auto}.rsf-home-hero{width:100%}.rsf-menu-strip,.rsf-mobile-popular,.rsf-story{max-width:1360px}.rsf-how{width:100%}.rsf-footer-main,.rsf-footer-bottom{max-width:1480px;width:calc(100% - 56px)}
}
@media (min-width:721px) and (max-width:1180px){.rsf-home{width:calc(100% - 32px)}.rsf-footer-main,.rsf-footer-bottom{width:calc(100% - 32px)}}
@media (max-width:720px){
 html,body{width:100%;max-width:100%;overflow-x:hidden}.rsf-home{width:100%;margin:0;padding:0;background:var(--rsf-surface)}.rsf-home-hero{width:100%;min-height:520px;padding:0;background-size:cover;background-position:64% center;display:flex;flex-direction:column;justify-content:flex-end;position:relative}.rsf-home-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,12,7,.04),rgba(20,12,7,.18) 27%,rgba(20,12,7,.78) 64%,rgba(20,12,7,.95));pointer-events:none}.rsf-home-hero-copy{position:relative;z-index:1;width:100%;margin:0;padding:0 18px 21px}.rsf-hero-kicker{font-size:.63rem;margin:0 0 9px}.rsf-home-hero h1{font-size:clamp(2.55rem,12.5vw,3.55rem);line-height:.88;margin:0 0 15px;max-width:100%}.rsf-home-hero h1 em{font-size:.82em;margin-top:6px}.rsf-home-hero-copy>p:not(.rsf-hero-kicker){font-size:.88rem;line-height:1.43;margin:0 0 17px;max-width:330px}.rsf-home-hero-copy br{display:none}.rsf-hero-cta{min-height:46px;padding:0 19px;font-size:.88rem}.rsf-hero-values{position:relative;z-index:1;width:100%;margin:0;padding:11px 8px 15px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}.rsf-hero-values span{font-size:.98rem;gap:2px;text-align:center;display:block}.rsf-hero-values b{font-size:.54rem;line-height:1.15;white-space:normal;margin-top:3px}.rsf-menu-strip{margin:0 12px;transform:translateY(14px);padding:14px;border-radius:16px;grid-template-columns:28px 1fr;gap:9px}.rsf-menu-strip-btn{grid-column:1/-1;min-height:43px;padding:0 15px;border-radius:var(--rsf-radius-pill)}.rsf-mobile-popular{padding:44px 14px 26px}.rsf-popular-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.rsf-story{display:block;padding:36px 18px}.rsf-story-collage{margin-top:23px}.rsf-how{padding:34px 16px}.rsf-how-grid{grid-template-columns:1fr 1fr;gap:26px 10px}

}
@media (max-width:390px){.rsf-home-hero{min-height:500px}.rsf-home-hero h1{font-size:2.62rem}}

/* Mobile favourites: approved QA baseline — readable three-card row. */
@media (max-width:720px){
 .rsf-mobile-popular .rsf-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:16px}
 .rsf-mobile-popular .rsf-section-title>div{min-width:0;flex:1 1 auto}
 .rsf-mobile-popular .rsf-section-title h2{font-size:clamp(1.42rem,6.2vw,1.9rem);line-height:1.02;margin:5px 0 0;max-width:240px}
 .rsf-mobile-popular .rsf-section-title>a{flex:0 0 auto;font-size:.86rem;line-height:1.1;padding:0 0 4px;white-space:nowrap}
 .rsf-popular-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
 .rsf-popular-card{min-width:0;overflow:hidden;border-radius:14px;aspect-ratio:1/1.22}
 .rsf-popular-card img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
 .rsf-popular-card:after{inset:25% 0 0}
 .rsf-popular-card strong{left:8px;right:7px;bottom:30px;font-size:clamp(.68rem,3vw,.84rem);line-height:1.08;display:block;white-space:normal;overflow:visible;overflow-wrap:anywhere}
 .rsf-popular-card span{left:8px;right:7px;bottom:10px;font-size:.57rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .rsf-how-grid article{min-width:0}
 .rsf-how-grid article>b{display:block;max-width:100%;font-size:clamp(.78rem,3.7vw,.92rem);line-height:1.16;overflow-wrap:normal}
 .rsf-how-grid article>p{max-width:150px;margin:5px auto 0}
}
@media (max-width:360px){
 .rsf-mobile-popular .rsf-section-title{gap:8px}
 .rsf-mobile-popular .rsf-section-title h2{font-size:1.3rem;max-width:200px}
 .rsf-mobile-popular .rsf-section-title>a{font-size:.72rem}
 .rsf-popular-card strong{font-size:.64rem;bottom:27px}
 .rsf-popular-card span{font-size:.52rem;bottom:8px}
 .rsf-how-grid{gap:24px 8px}
 .rsf-how-grid article>b{font-size:.76rem}
}


/* UI/UX P0-3 — mobile touch/readability guardrails */
@media (max-width:720px){
 .rsf-hero-cta,.rsf-menu-strip-btn,.rsf-home-cart-btn,.rsf-archive-button,.rsf-mobile-menu summary,.rsf-mobile-menu nav a,.rsf-floating-actions a,.rsf-footer-social a{min-height:44px}
 .rsf-mobile-menu nav a{display:flex;align-items:center}
 .rsf-section-title>a,.rsf-footer-column a,.rsf-footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
 .rsf-footer-social a{min-width:44px}
 .rsf-home-hero-copy>p:not(.rsf-hero-kicker),.rsf-story-copy>p:last-of-type,.rsf-menu-strip-copy span{line-height:1.5}
 .rsf-menu-strip-copy span{font-size:.78rem}
 .rsf-menu-strip-actions .rsf-home-cart-btn,.rsf-menu-strip-actions .rsf-menu-strip-btn{min-height:48px!important}
}
@media (max-width:390px){
 .rsf-menu-strip,.rsf-menu-strip-copy,.rsf-menu-strip-actions,.rsf-footer-main,.rsf-footer-bottom{min-width:0}
 .rsf-menu-strip-copy span,.rsf-menu-strip-copy strong{overflow-wrap:anywhere}
}


/* UI/UX P0-5 — compact mobile hero: surface weekly ordering sooner */
@media (max-width:720px){
 .rsf-home-hero{min-height:440px;background-position:62% center}
 .rsf-home-hero:before{background:linear-gradient(180deg,rgba(20,12,7,.03),rgba(20,12,7,.16) 24%,rgba(20,12,7,.76) 58%,rgba(20,12,7,.95))}
 .rsf-home-hero-copy{padding:0 var(--rsf-space-3) var(--rsf-space-2)}
 .rsf-hero-kicker{margin-bottom:var(--rsf-space-1)}
 .rsf-home-hero h1{font-size:clamp(2.35rem,11.5vw,3.25rem);margin-bottom:var(--rsf-space-2)}
 .rsf-home-hero-copy>p:not(.rsf-hero-kicker){font-size:.84rem;line-height:1.4;margin-bottom:var(--rsf-space-2);max-width:310px}
 .rsf-hero-cta{min-height:46px;padding:0 18px}
 .rsf-hero-values{padding:8px 8px 11px}
 .rsf-hero-values span{font-size:.9rem}
 .rsf-hero-values b{font-size:.52rem}
}
@media (max-width:390px){
 .rsf-home-hero{min-height:420px}
 .rsf-home-hero h1{font-size:2.38rem}
}


/* UI/UX P1 — compact mobile customer journey */
@media(max-width:720px){
 .rsf-mobile-popular{padding-top:36px;padding-bottom:20px}
 .rsf-story{padding-top:30px;padding-bottom:30px}
 .rsf-story-copy>p{margin-bottom:10px}
 .rsf-story-collage{margin-top:18px}
 .rsf-how{padding-top:28px;padding-bottom:28px}
 .rsf-how-grid{gap:20px 10px}
}


/* UI/UX P1 — compact How It Works on mobile */
@media(max-width:720px){
 .rsf-how-grid{margin-top:18px;gap:16px 10px}
 .rsf-how-grid article{padding:0 4px}
 .rsf-how-grid article>span{width:40px;height:40px;margin:0 auto 8px;font-size:1rem}
 .rsf-how-grid article>b{font-size:.82rem;line-height:1.15}
 .rsf-how-grid article>p{margin:4px auto 0;font-size:.68rem;line-height:1.32}
}
@media(max-width:360px){
 .rsf-how-grid{gap:14px 6px}
 .rsf-how-grid article{padding:0 2px}
 .rsf-how-grid article>b{font-size:.74rem}
 .rsf-how-grid article>p{font-size:.64rem}
}
