/* RS Foods homepage polish — Sri Lankan brand direction */
.rsf-home h1,.rsf-home h2,.rsf-footer-brand strong{font-family:var(--rsf-font-display)}.rsf-hero-kicker,.rsf-eyebrow{letter-spacing:.18em}.rsf-home-hero h1 span,.rsf-home-hero h1 em{display:block}.rsf-home-hero h1 em{font-family:"Brush Script MT","Segoe Script","Snell Roundhand",cursive;font-style:normal;font-weight:500;color:#f3a43b;letter-spacing:-.035em;line-height:.8;transform:rotate(-2deg);transform-origin:left center;width:max-content;border-bottom:4px solid #e66a20;padding:0 14px 8px 2px;margin-top:8px}.rsf-popular-card{position:relative;overflow:hidden;border-radius:16px;background:#1e140e;color:#fff;box-shadow:0 8px 24px rgba(43,27,16,.10)}.rsf-popular-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(18,10,6,.9));pointer-events:none}.rsf-popular-card img{border-radius:16px}.rsf-popular-card strong,.rsf-popular-card span{position:absolute;z-index:2;left:16px;right:16px;color:#fff}.rsf-popular-card strong{bottom:31px;font-family:var(--rsf-font-display);font-size:1.08rem;margin:0}.rsf-popular-card span{bottom:13px;font-size:.73rem;opacity:.9;margin:0}.rsf-section-title>div{min-width:0}
/* Universal RS Foods button language */
.rsf-menu-strip{margin:-1px 18px 0;padding:18px;border-radius:20px;background:var(--rsf-surface);box-shadow:0 10px 35px rgba(48,30,18,.10);position:relative;z-index:3;transform:translateY(20px);display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center}.rsf-menu-strip-icon{font-size:1.45rem}.rsf-menu-strip-copy{display:grid;gap:4px}.rsf-menu-strip-copy small{text-transform:uppercase;font-size:.67rem;font-weight:900;letter-spacing:.05em}.rsf-menu-strip-copy strong{font-size:1rem;color:var(--rsf-green)}.rsf-menu-strip-copy strong i{display:inline-block;width:9px;height:9px;border-radius:50%;background:#17b765;margin-right:7px}.rsf-menu-strip-copy span{font-size:.72rem;color:var(--rsf-muted)}.rsf-menu-strip-btn{grid-column:1/-1;background:var(--rsf-green);color:#fff;text-decoration:none;font-weight:800;border-radius:12px;padding:13px 16px;text-align:center}.rsf-menu-strip-btn,.rsf-story-copy>a,.rsf-site-nav .rsf-nav-order,.rsf-checkout-btn,.rsf-cart-bar{font-family:var(--rsf-font-sans);font-weight:800;letter-spacing:-.01em;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease;color:#fff}.rsf-hero-cta,.rsf-site-nav .rsf-nav-order{background:var(--rsf-accent);border:1px solid var(--rsf-accent);border-radius:var(--rsf-radius-pill);box-shadow:0 7px 18px rgba(217,86,24,.20)}.rsf-menu-strip-btn,.rsf-checkout-btn{background:var(--rsf-green);border:1px solid var(--rsf-green);border-radius:var(--rsf-radius-pill);box-shadow:0 7px 18px rgba(7,91,53,.15)}.rsf-story-copy>a{background:#fff;color:var(--rsf-accent);border:1.5px solid rgba(217,86,24,.45);border-radius:var(--rsf-radius-pill);box-shadow:none}.rsf-hero-cta:hover,.rsf-site-nav .rsf-nav-order:hover{background:var(--rsf-accent-hover);border-color:var(--rsf-accent-hover);transform:translateY(-2px);box-shadow:0 10px 24px rgba(217,86,24,.25)}.rsf-menu-strip-btn:hover,.rsf-checkout-btn:hover{background:var(--rsf-green-hover);border-color:var(--rsf-green-hover);transform:translateY(-2px);box-shadow:0 10px 24px rgba(7,91,53,.20)}.rsf-story-copy>a:hover{background:#fff7f1;border-color:var(--rsf-accent);transform:translateY(-2px)}.rsf-hero-cta:focus-visible,.rsf-menu-strip-btn:focus-visible,.rsf-story-copy>a:focus-visible,.rsf-site-nav .rsf-nav-order:focus-visible,.rsf-checkout-btn:focus-visible,.rsf-cart-bar:focus-visible{outline:3px solid rgba(217,86,24,.25);outline-offset:3px}
/* Modern Sri Lankan process */
.rsf-mobile-help{padding:18px;background:var(--rsf-surface)}.rsf-mobile-help>a{background:var(--rsf-green);color:#fff;border-radius:16px;padding:15px;display:grid;grid-template-columns:42px 1fr 20px;align-items:center;gap:10px;text-decoration:none}.rsf-help-icon{width:38px;height:38px;border-radius:50%;background:var(--rsf-surface);color:var(--rsf-green);display:grid;place-items:center;font-weight:900;font-family:var(--rsf-font-display);font-size:1.4rem}.rsf-mobile-help b,.rsf-mobile-help small{display:block}.rsf-mobile-help small{opacity:.86;margin-top:3px}.rsf-how{padding:36px 20px}.rsf-how-heading h2{font-family:var(--rsf-font-display);font-size:2rem;margin:0}.rsf-how-heading p{font-size:.75rem;margin:5px 0 25px;opacity:.82}.rsf-how-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 12px}.rsf-how-grid article{text-align:center}.rsf-how-grid article>span{width:48px;height:48px;border-radius:50%;background:var(--rsf-accent);display:grid;place-items:center;margin:0 auto 9px;font-size:1.2rem}.rsf-how-grid b{font-size:.8rem}.rsf-how-grid p{font-size:.68rem;line-height:1.35;margin:3px 0;opacity:.9}.rsf-how{position:relative;overflow:hidden;color:#fff;background:var(--rsf-green);background-image:radial-gradient(circle at 18% 20%,rgba(255,255,255,.05),transparent 27%),radial-gradient(circle at 85% 78%,rgba(0,0,0,.08),transparent 30%),linear-gradient(rgba(5,96,56,.95),rgba(5,96,56,.97)),url('../images/backgrounds/08-bg-pattern-leaves.jpg');background-size:auto,auto,auto,cover;background-position:center}.rsf-how:before,.rsf-how:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(245,235,209,.10);border-radius:70% 30% 65% 35%;transform:rotate(28deg);pointer-events:none}.rsf-how:before{left:-130px;top:-70px}.rsf-how:after{right:-120px;bottom:-90px}.rsf-how>*{position:relative;z-index:1}.rsf-how-heading{text-align:center}.rsf-how-heading>span{display:inline-flex;align-items:center;gap:12px;color:#f2d6b5;text-transform:uppercase;letter-spacing:.22em;font-size:.66rem;font-weight:800}.rsf-how-heading>span:before,.rsf-how-heading>span:after{content:"";width:42px;height:2px;background:#e45a16}.rsf-how-icon{position:relative;width:82px;height:82px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;background:#fffaf0;box-shadow:0 10px 28px rgba(0,0,0,.13)}.rsf-how-icon svg{width:47px;height:47px;fill:none;stroke:#9b5b2e;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.rsf-how-icon i{position:absolute;left:-8px;bottom:-5px;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#e45a16;color:#fff;font:800 .83rem/1 system-ui;font-style:normal;box-shadow:0 5px 12px rgba(0,0,0,.15)}.rsf-how-grid article>b{display:block;font-family:var(--rsf-font-display);color:#fff}.rsf-how-signoff{margin:30px auto 0!important;width:max-content;max-width:90%;font-family:"Brush Script MT","Segoe Script","Snell Roundhand",cursive!important;font-size:1.55rem!important;color:#f3a43b!important;transform:rotate(-2deg);border-bottom:3px solid #e45a16;padding:0 10px 5px}
/* Modern footer */
.rsf-site-footer{background:#fbf7ef;color:#31251d;border:0}.rsf-footer-main{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.35fr .72fr .72fr 1fr;gap:54px;padding:52px 30px 38px}.rsf-footer-logo{display:inline-block}.rsf-footer-logo img{display:block;width:180px;height:auto}.rsf-footer-about p,.rsf-footer-connect p{font-size:.82rem;line-height:1.55;color:#6f6258;max-width:270px;margin:12px 0 0}.rsf-footer-main h3{font-family:var(--rsf-font-display);font-size:1.08rem;margin:7px 0 22px;position:relative}.rsf-footer-main h3:after{content:"";display:block;width:32px;height:2px;background:#e45a16;margin-top:8px}.rsf-footer-column nav{display:grid;gap:13px}.rsf-footer-column a{font-size:.8rem;color:#3c3028;text-decoration:none}.rsf-footer-column a:hover{color:var(--rsf-accent)}.rsf-footer-social{display:flex;gap:10px;margin:18px 0 12px}.rsf-footer-social a{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;transition:transform .18s ease}.rsf-footer-social a:hover{transform:translateY(-2px)}.rsf-footer-social svg{width:39px;height:39px}.rsf-footer-wa svg{fill:#16a765}.rsf-footer-wa svg path{fill:#16a765}.rsf-footer-fb svg circle{fill:#1877f2}.rsf-footer-fb svg path{fill:#fff}.rsf-footer-phone{display:block;font-weight:800;color:#31251d;text-decoration:none;font-size:.91rem}.rsf-footer-connect small{display:block;color:#76695f;font-size:.72rem;margin-top:2px}.rsf-footer-bottom{max-width:1280px;margin:0 auto;border-top:1px solid rgba(76,60,48,.18);padding:18px 30px 24px;display:flex;align-items:center;justify-content:space-between;color:#786b62;font-size:.69rem}.rsf-footer-bottom p{margin:0}.rsf-footer-bottom a{color:#786b62;text-decoration:none}
@media (min-width:721px){.rsf-site-header{border-top:4px solid #1d2427;border-bottom:1px solid rgba(45,36,28,.08);box-shadow:0 5px 18px rgba(45,36,28,.06)}.rsf-site-header-inner{height:132px;max-width:1580px;padding:2px 26px;gap:22px}.rsf-brand{display:flex;align-items:center;align-self:stretch;flex:0 0 auto}.rsf-brand img{width:280px;height:124px;object-fit:contain}.rsf-site-nav{margin-left:auto;gap:24px;align-items:center;white-space:nowrap}.rsf-site-nav>a:not(.rsf-nav-order){position:relative;font-size:.98rem;font-weight:700;line-height:1;color:#2b211b;padding:14px 1px;text-decoration:none}.rsf-site-nav>a:not(.rsf-nav-order):after{content:"";position:absolute;left:50%;right:50%;bottom:5px;height:2px;border-radius:3px;background:var(--rsf-accent);transition:left .18s ease,right .18s ease}.rsf-site-nav>a:not(.rsf-nav-order):hover:after,.rsf-site-nav>a:not(.rsf-nav-order):focus-visible:after{left:1px;right:1px}.rsf-site-nav .rsf-nav-order{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 22px;font-size:.92rem}.rsf-home-hero{min-height:540px;background-position:center 48%;justify-content:flex-start}.rsf-home-hero-copy{width:min(100%,1280px);margin:0 auto;padding:72px 32px 22px}.rsf-hero-kicker{font-size:.75rem;margin-bottom:12px}.rsf-home-hero h1{font-size:clamp(3.55rem,4.75vw,5rem);max-width:650px;line-height:.88;margin-bottom:24px}.rsf-home-hero h1 em{font-size:.88em}.rsf-home-hero-copy>p:not(.rsf-hero-kicker){font-size:.98rem;line-height:1.5;max-width:500px;margin-bottom:20px}.rsf-hero-cta{min-height:50px;padding:0 25px;font-size:.96rem}.rsf-hero-values{margin-top:auto;padding:10px max(32px,calc((100vw - 1120px)/2)) 24px;gap:42px;align-items:center}.rsf-hero-values span{display:flex;align-items:center;justify-content:center;gap:10px;text-align:left;font-size:1.25rem}.rsf-hero-values b{font-size:.69rem;margin:0;line-height:1.15;white-space:nowrap}.rsf-menu-strip{max-width:1220px;margin:28px auto 0;transform:none;grid-template-columns:42px 1fr auto;padding:22px 28px;border-radius:19px;box-shadow:0 14px 34px rgba(48,30,18,.12)}.rsf-menu-strip-btn{grid-column:auto;min-width:170px;min-height:50px;padding:0 23px;display:inline-flex;align-items:center;justify-content:center}.rsf-menu-strip-copy small{font-size:.69rem}.rsf-menu-strip-copy strong{font-size:1.06rem}.rsf-menu-strip-copy span{font-size:.78rem}.rsf-mobile-popular{padding:52px 18px 26px}.rsf-section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}.rsf-popular-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.rsf-popular-card img,.rsf-popular-placeholder{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:13px;background:#f0e2d5;display:grid;place-items:center}.rsf-popular-card strong,.rsf-popular-card span,.rsf-popular-card b{display:block}.rsf-popular-card strong{font-size:.78rem;line-height:1.15;margin-top:8px}.rsf-popular-card span{font-size:.65rem;color:var(--rsf-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.rsf-popular-card b{font-size:.78rem;color:var(--rsf-accent);margin-top:4px}.rsf-mobile-popular{max-width:1220px;margin:0 auto;padding:30px 28px 52px}.rsf-section-title{align-items:end;margin-bottom:20px}.rsf-section-title h2{font-size:2.1rem;line-height:1.05;margin-top:6px}.rsf-section-title a{padding-bottom:5px}.rsf-popular-grid{gap:18px}.rsf-popular-card img,.rsf-popular-placeholder{aspect-ratio:1.55/1;border-radius:16px}.rsf-story{padding:42px 24px;background:#faf7f2}.rsf-story-copy h2{font-family:var(--rsf-font-display);font-size:2.7rem;line-height:.95;margin:8px 0 18px}.rsf-story-copy>p:last-of-type{line-height:1.65;color:var(--rsf-muted);font-size:.94rem}.rsf-story-copy>a{display:inline-flex;gap:22px;border:1px solid #dfb8a0;color:var(--rsf-accent);text-decoration:none;font-weight:800;border-radius:var(--rsf-radius-pill);padding:12px 18px;margin-top:6px}.rsf-story-collage{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;gap:6px;margin-top:28px;min-height:280px}.rsf-story-collage img{width:100%;height:100%;object-fit:cover;border-radius:12px}.rsf-story-collage img:first-child{grid-row:1/3}.rsf-story{max-width:1220px;margin:0 auto;padding:48px 28px 58px;display:grid;grid-template-columns:.72fr 1.28fr;gap:64px;align-items:center}.rsf-story-copy h2{font-size:3.15rem;line-height:.92;margin-bottom:20px}.rsf-story-copy>p:last-of-type{font-size:.94rem;line-height:1.58;max-width:390px}.rsf-story-copy>a{min-height:48px;padding:0 20px;align-items:center}.rsf-story-collage{margin:0;min-height:330px;gap:10px}.rsf-story-collage img{border-radius:16px}.rsf-how{padding:48px 28px 42px}.rsf-how-heading h2{font-size:2.7rem;line-height:1;margin:10px 0 8px}.rsf-how-heading p{font-size:.82rem;margin-bottom:34px;color:rgba(255,255,255,.82)}.rsf-how-grid{max-width:1160px;margin:0 auto;grid-template-columns:repeat(4,1fr);gap:62px}.rsf-how-grid article{position:relative}.rsf-how-grid article:not(:last-child):after{content:"·····➜";letter-spacing:2px;position:absolute;right:-49px;top:34px;color:#d8c9a6;font-size:1rem;opacity:.72}.rsf-how-grid b{font-size:1.05rem}.rsf-how-grid p{font-size:.75rem;margin-top:5px}.rsf-mobile-help{display:none}}
@media (max-width:1180px) and (min-width:721px){.rsf-site-header-inner{padding-left:18px;padding-right:18px;gap:14px}.rsf-brand img{width:225px}.rsf-site-nav{gap:16px}.rsf-site-nav>a:not(.rsf-nav-order){font-size:.9rem}.rsf-whatsapp-copy small{display:none}.rsf-site-nav .rsf-nav-facebook span{display:none}.rsf-site-nav .rsf-nav-facebook{padding-right:7px}.rsf-site-nav .rsf-nav-order{padding:0 17px}.rsf-footer-main{gap:28px}}
@media (max-width:720px){.rsf-site-header-inner{height:72px;padding:5px 14px}.rsf-brand img{width:124px;height:62px}.rsf-home-hero{min-height:520px;background-position:61% center}.rsf-home-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,12,7,.06),rgba(20,12,7,.16) 25%,rgba(20,12,7,.74) 64%,rgba(20,12,7,.93));pointer-events:none}.rsf-home-hero-copy,.rsf-hero-values{position:relative;z-index:1}.rsf-home-hero-copy{padding:46px 20px 18px}.rsf-hero-kicker{font-size:.64rem;margin-bottom:11px}.rsf-home-hero h1{font-size:clamp(2.65rem,12.5vw,3.65rem);max-width:355px;line-height:.9;margin-bottom:20px}.rsf-home-hero h1 em{font-size:.88em;border-bottom-width:3px;margin-top:7px}.rsf-home-hero-copy>p:not(.rsf-hero-kicker){font-size:.88rem;line-height:1.48;max-width:330px;margin-bottom:18px}.rsf-hero-cta{padding:13px 20px}.rsf-hero-values{padding:12px 8px 25px;gap:3px}.rsf-hero-values span{font-size:.9rem}.rsf-hero-values b{font-size:.54rem;line-height:1.12}.rsf-menu-strip{margin:0 12px;transform:translateY(-10px);padding:14px;border-radius:17px}.rsf-menu-strip-btn{min-height:48px;display:flex;align-items:center;justify-content:center}.rsf-mobile-popular{padding:22px 16px 32px}.rsf-section-title{align-items:end}.rsf-section-title h2{font-size:1.58rem;line-height:1.05}.rsf-section-title .rsf-eyebrow{font-size:.61rem}.rsf-popular-grid{grid-template-columns:1fr;gap:12px}.rsf-popular-card img{aspect-ratio:1.75/1}.rsf-story{padding:34px 20px 40px}.rsf-story-copy h2{font-size:2.45rem}.rsf-story-copy>p:last-of-type{line-height:1.55}.rsf-story-collage{min-height:240px;margin-top:22px}.rsf-how{padding:38px 16px 34px}.rsf-how-heading>span{font-size:.54rem}.rsf-how-heading>span:before,.rsf-how-heading>span:after{width:20px}.rsf-how-heading h2{font-size:2rem;margin:9px 0 7px}.rsf-how-heading p{font-size:.74rem;margin-bottom:28px}.rsf-how-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 12px}.rsf-how-grid article:after{display:none!important}.rsf-how-icon{width:66px;height:66px;margin-bottom:12px}.rsf-how-icon svg{width:38px;height:38px}.rsf-how-icon i{width:26px;height:26px;font-size:.72rem}.rsf-how-grid b{font-size:.92rem}.rsf-how-grid p{font-size:.68rem}.rsf-how-signoff{font-size:1.15rem!important;margin-top:28px!important}.rsf-footer-main{grid-template-columns:1fr 1fr;gap:30px 20px;padding:38px 20px 28px}.rsf-footer-about,.rsf-footer-connect{grid-column:1/-1}.rsf-footer-logo img{width:145px}.rsf-footer-about p{max-width:330px}.rsf-footer-main h3{font-size:1rem;margin-bottom:17px}.rsf-footer-bottom{padding:16px 20px 20px;gap:15px;flex-direction:column;align-items:flex-start}.rsf-mobile-help{display:block}}

/* Approved 2026-09-18 modern How It Works icon treatment. */
.rsf-how-icon{overflow:visible;background:linear-gradient(145deg,#fffdf6,#f5eddf);border:1px solid rgba(255,255,255,.7);box-shadow:0 12px 30px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.8)}
.rsf-how-icon svg{width:52px;height:52px;stroke:none;overflow:visible}
.rsf-how-icon svg *{vector-effect:non-scaling-stroke}
.rsf-how-icon i{background:linear-gradient(145deg,#f16a16,#df4c0c);box-shadow:0 6px 14px rgba(139,47,8,.28);border:2px solid rgba(255,255,255,.35)}
.rsf-icon-paper{fill:#f8efe0;stroke:#b66b37;stroke-width:1.8}.rsf-icon-warm{fill:none;stroke:#a95d2e;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.rsf-icon-leaf{fill:#31904c;stroke:#25753c;stroke-width:1.3}.rsf-icon-leaf-vein{fill:none;stroke:#e9f3df;stroke-width:1.2;stroke-linecap:round}
.rsf-icon-food-a{fill:#e74d2f;stroke:#bc3925;stroke-width:1}.rsf-icon-food-b{fill:#ee9b2f;stroke:#d47b1f;stroke-width:1}.rsf-icon-food-c{fill:#42a657;stroke:#287d3c;stroke-width:1}.rsf-icon-wheel{fill:#374047;stroke:#23282d;stroke-width:1.4}
.rsf-icon-card{fill:#1f9c59;stroke:#147843;stroke-width:1.4}.rsf-icon-card-line{fill:none;stroke:#f9f0dd;stroke-width:2}.rsf-icon-shield{fill:#11884a;stroke:#f9f0dd;stroke-width:1.5}.rsf-icon-check{fill:none;stroke:#fff;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.rsf-icon-van{fill:#efa33a;stroke:#b96628;stroke-width:1.5;stroke-linejoin:round}.rsf-icon-window{fill:#17604f;stroke:#10483d;stroke-width:1}.rsf-icon-speed{fill:none;stroke:#a95d2e;stroke-width:2.2;stroke-linecap:round}
@media(max-width:720px){.rsf-how-icon svg{width:43px;height:43px}}

/* Homepage cart access */
.rsf-menu-strip-actions{grid-column:1/-1;display:flex;gap:10px}.rsf-menu-strip-actions .rsf-menu-strip-btn{flex:1}.rsf-home-cart-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:0 16px;border:1px solid var(--rsf-green);border-radius:var(--rsf-radius-pill);color:var(--rsf-green);background:#fff;text-decoration:none;font-weight:800}.rsf-home-cart-btn:hover{background:#f3faf6}.rsf-home-cart-btn:focus-visible{outline:3px solid rgba(7,91,53,.18);outline-offset:3px}
@media(min-width:721px){.rsf-menu-strip-actions{grid-column:auto;align-items:center}.rsf-menu-strip-actions .rsf-menu-strip-btn{min-width:170px}.rsf-home-cart-btn{min-width:100px}}


/* Weekly menu callout — approved prominence treatment 2026-09-19 */
.rsf-menu-strip{border:1.5px solid rgba(217,86,24,.42);background:linear-gradient(105deg,#fffaf4 0%,#fff 52%,#fff7ef 100%);box-shadow:0 14px 36px rgba(85,48,23,.12)}
.rsf-menu-strip-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#fff0df;color:var(--rsf-accent);font-size:1.55rem}
.rsf-menu-strip-copy small{color:var(--rsf-accent);letter-spacing:.1em}
.rsf-menu-strip-copy strong{font-size:1.22rem}
.rsf-menu-strip-actions{position:relative}
.rsf-menu-strip-actions:before{content:"Fresh Sri Lankan favourites this week!";align-self:center;max-width:155px;color:var(--rsf-accent);font-family:"Brush Script MT","Segoe Script","Snell Roundhand",cursive;font-size:1.08rem;line-height:1.05;transform:rotate(-3deg);text-align:center}
.rsf-home-cart-btn,.rsf-menu-strip-btn{transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease!important}
.rsf-menu-strip-btn:hover,.rsf-home-cart-btn:hover{transform:translateY(-1px)!important}
.rsf-menu-strip-btn:active,.rsf-home-cart-btn:active{transform:translateY(0)!important;box-shadow:none!important}
@media(min-width:721px){
 .rsf-menu-strip{max-width:1480px;padding:24px 28px;grid-template-columns:62px minmax(330px,1fr) auto;gap:18px}
 .rsf-menu-strip-actions{gap:14px}
 .rsf-home-cart-btn{min-width:142px}
 .rsf-menu-strip-actions .rsf-menu-strip-btn{min-width:210px}
}
@media(max-width:1050px) and (min-width:721px){.rsf-menu-strip-actions:before{display:none}.rsf-menu-strip{grid-template-columns:56px 1fr auto}}
@media(max-width:720px){
 .rsf-menu-strip{margin:0 12px!important;padding:17px!important;grid-template-columns:48px 1fr!important;gap:11px!important;border-color:rgba(217,86,24,.36)}
 .rsf-menu-strip-icon{width:44px;height:44px;font-size:1.25rem}
 .rsf-menu-strip-copy strong{font-size:1.04rem}
 .rsf-menu-strip-actions{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1.25fr!important;gap:8px!important;margin-top:4px}
 .rsf-menu-strip-actions:before{display:none}
 .rsf-home-cart-btn,.rsf-menu-strip-actions .rsf-menu-strip-btn{min-width:0!important;min-height:46px!important;padding:0 12px!important;font-size:.82rem!important}
}


/* Give the weekly-menu callout clear breathing room from the section above. */
.rsf-menu-strip{margin-top:28px!important}
@media(min-width:721px){.rsf-menu-strip{margin-top:36px!important;margin-bottom:0!important}}
@media(max-width:720px){.rsf-menu-strip{margin-top:18px!important;transform:none!important}}


/* UI/UX P0-1 — homepage spacing normalization */
.rsf-menu-strip{gap:var(--rsf-space-2)}
.rsf-menu-strip-copy{gap:var(--rsf-space-1)}
.rsf-menu-strip-actions{gap:var(--rsf-space-2)}
.rsf-section-title{margin-bottom:var(--rsf-space-4)}
.rsf-popular-grid{gap:var(--rsf-space-4)}
.rsf-story-collage{gap:var(--rsf-space-2)}
.rsf-how-grid{row-gap:var(--rsf-space-5)}
.rsf-footer-social{gap:var(--rsf-space-2)}
@media(min-width:721px){
 .rsf-menu-strip{margin-top:var(--rsf-space-5)!important;padding:var(--rsf-space-4) var(--rsf-space-5)}
 .rsf-mobile-popular{padding:var(--rsf-space-5) var(--rsf-space-5) var(--rsf-space-6)}
 .rsf-story{padding:var(--rsf-space-6) var(--rsf-space-5);gap:var(--rsf-space-6)}
 .rsf-how{padding:var(--rsf-space-6) var(--rsf-space-5)}
 .rsf-footer-main{padding:var(--rsf-space-6) var(--rsf-space-5) var(--rsf-space-5)}
 .rsf-footer-bottom{padding:var(--rsf-space-3) var(--rsf-space-5) var(--rsf-space-4)}
}
@media(max-width:720px){
 .rsf-home-hero-copy{padding:var(--rsf-space-6) var(--rsf-space-3) var(--rsf-space-3)}
 .rsf-menu-strip{margin:var(--rsf-space-3) var(--rsf-space-2) 0!important;padding:var(--rsf-space-3)!important;gap:var(--rsf-space-2)!important}
 .rsf-menu-strip-actions{gap:var(--rsf-space-1)!important;margin-top:var(--rsf-space-1)}
 .rsf-mobile-popular{padding:var(--rsf-space-4) var(--rsf-space-3) var(--rsf-space-5)}
 .rsf-popular-grid{gap:var(--rsf-space-2)}
 .rsf-story{padding:var(--rsf-space-5) var(--rsf-space-3) var(--rsf-space-6)}
 .rsf-story-collage{margin-top:var(--rsf-space-4)}
 .rsf-how{padding:var(--rsf-space-6) var(--rsf-space-3) var(--rsf-space-5)}
 .rsf-how-grid{gap:var(--rsf-space-5) var(--rsf-space-2)}
 .rsf-footer-main{gap:var(--rsf-space-5) var(--rsf-space-4);padding:var(--rsf-space-6) var(--rsf-space-3) var(--rsf-space-5)}
 .rsf-footer-bottom{padding:var(--rsf-space-3);gap:var(--rsf-space-3)}
}


/* P0-1 hotfix: restore compact two-action mobile weekly-menu callout.
   The spacing pass must not override this component's approved internal layout. */
@media(max-width:720px){
 .rsf-menu-strip{margin:var(--rsf-space-3) var(--rsf-space-2) 0!important;padding:var(--rsf-space-3)!important;grid-template-columns:48px minmax(0,1fr)!important;column-gap:var(--rsf-space-2)!important;row-gap:var(--rsf-space-2)!important}
 .rsf-menu-strip-actions{grid-column:1/-1!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)!important;gap:var(--rsf-space-1)!important;margin-top:var(--rsf-space-1)!important}
 .rsf-menu-strip-actions .rsf-home-cart-btn,.rsf-menu-strip-actions .rsf-menu-strip-btn{width:100%!important;min-width:0!important;min-height:46px!important;margin:0!important;padding:0 var(--rsf-space-2)!important}
}


/* P0-1 hotfix v2: action container must use flex on mobile.
   Earlier grid rules were overridden by the generic .rsf-menu-strip-btn grid-column declaration. */
@media(max-width:720px){
 .rsf-menu-strip-actions{grid-column:1/-1!important;display:flex!important;align-items:stretch!important;gap:var(--rsf-space-1)!important}
 .rsf-menu-strip-actions .rsf-home-cart-btn{flex:0 0 42%!important;width:auto!important}
 .rsf-menu-strip-actions .rsf-menu-strip-btn{grid-column:auto!important;flex:1 1 58%!important;width:auto!important}
}


/* UI/UX P0-6 — weekly-menu callout information hierarchy */
.rsf-menu-strip-icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rsf-menu-timing{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rsf-menu-timing b{color:#4b3b30;font-weight:800}
.rsf-menu-timing em{font-style:normal;color:var(--rsf-muted)}
.rsf-menu-timing em:before{content:"•";margin-right:8px;color:#b9a798}
.rsf-menu-strip-actions .rsf-menu-strip-btn{font-weight:850}
.rsf-menu-strip-actions .rsf-home-cart-btn{background:transparent;box-shadow:none}
@media(max-width:720px){
 .rsf-menu-strip-icon svg{width:25px;height:25px}
 .rsf-menu-timing{display:block;line-height:1.45}
 .rsf-menu-timing b,.rsf-menu-timing em{display:inline}
 .rsf-menu-timing em:before{content:" · ";margin:0}
}


/* Dynamic homepage food categories — max 8 top-level WP categories */
.rsf-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.rsf-category-tile{position:relative;display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:12px;min-height:96px;padding:16px;border:1px solid var(--rsf-line);border-radius:16px;background:#fffaf4;color:var(--rsf-text);text-decoration:none;box-shadow:0 6px 18px rgba(48,30,18,.05)}
.rsf-category-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:15px;background:#f4e7d8;font-size:1.8rem}
.rsf-category-tile strong{font-family:var(--rsf-font-display);font-size:1rem;line-height:1.15}
.rsf-category-tile small{grid-column:2/4;margin-top:-7px;color:var(--rsf-muted);font-size:.7rem;line-height:1.3}
.rsf-category-arrow{color:var(--rsf-accent);font-size:1rem;font-weight:900}
.rsf-category-tile:hover{border-color:#d9c5b3;box-shadow:0 9px 22px rgba(48,30,18,.08)}
@media(max-width:900px){.rsf-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
 .rsf-category-showcase{padding-left:16px;padding-right:16px}
 .rsf-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .rsf-category-tile{grid-template-columns:1fr;align-content:center;justify-items:center;gap:7px;min-height:142px;padding:12px 8px;text-align:center}
 .rsf-category-icon{width:62px;height:62px;border-radius:18px;font-size:1.9rem}
 .rsf-category-tile strong{font-size:.88rem}
 .rsf-category-tile small{display:none}
 .rsf-category-arrow{display:none}
}
@media(max-width:360px){.rsf-category-tile{min-height:130px}.rsf-category-icon{width:56px;height:56px}}


/* Desktop category band between weekly menu and story */
.rsf-category-band{max-width:1220px;margin:30px auto 8px;padding:30px 28px 34px}
.rsf-category-band-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:18px}
.rsf-category-band-head h2{margin:5px 0 0;font-family:var(--rsf-font-display);font-size:2rem;line-height:1}
.rsf-category-band-head>a{padding-bottom:3px;color:var(--rsf-text);font-weight:750;text-decoration:underline;text-underline-offset:3px}
.rsf-category-band-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.rsf-category-band-tile{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:11px;min-height:82px;padding:13px 15px;border:1px solid var(--rsf-line);border-radius:15px;background:#fffaf4;color:var(--rsf-text);text-decoration:none;box-shadow:0 5px 16px rgba(48,30,18,.045)}
.rsf-category-band-tile .rsf-category-icon{width:52px;height:52px;border-radius:14px;font-size:1.55rem}
.rsf-category-band-tile strong{font-family:var(--rsf-font-display);font-size:.95rem;line-height:1.15}
.rsf-category-band-tile>span:last-child{color:var(--rsf-accent);font-weight:900}
.rsf-category-band-tile:hover{border-color:#d9c5b3;box-shadow:0 8px 20px rgba(48,30,18,.08)}
@media(max-width:900px) and (min-width:721px){.rsf-category-band-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.rsf-category-band{display:none}}
@media(min-width:721px){.rsf-category-showcase{display:none}}


/* Approved desktop category cards with admin-managed food imagery */
@media(min-width:721px){
 .rsf-category-band-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
 .rsf-category-band-tile{display:grid;grid-template-columns:1fr;grid-template-rows:150px auto;gap:0;min-height:238px;padding:0;overflow:hidden;border-radius:17px;background:#fffaf4}
 .rsf-category-band-photo{display:block;width:100%;height:150px;overflow:hidden;background:#f4e7d8}
 .rsf-category-band-photo img{display:block;width:100%;height:100%;object-fit:cover}
 .rsf-category-band-fallback{display:grid;place-items:center}
 .rsf-category-band-fallback .rsf-category-icon{width:66px;height:66px;font-size:2rem}
 .rsf-category-band-copy{display:block;padding:14px 48px 14px 16px}
 .rsf-category-band-copy strong{display:block;font-family:var(--rsf-font-display);font-size:1.03rem;line-height:1.15}
 .rsf-category-band-copy small{display:block;margin-top:4px;color:var(--rsf-muted);font-size:.72rem;line-height:1.3}
 .rsf-category-band-arrow{position:absolute;right:14px;bottom:18px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#f7dfc8;color:var(--rsf-text);font-weight:900}
 .rsf-category-band-tile{position:relative}
}


/* Our Food catalogue */
.rsf-food-catalog{max-width:1220px;margin:0 auto;padding:42px 24px 72px}
.rsf-food-hero{max-width:760px;padding:28px 0 24px}
.rsf-food-hero h1{margin:5px 0 12px;font-family:var(--rsf-font-display);font-size:clamp(2.6rem,6vw,4.8rem);line-height:.95}
.rsf-food-hero>p:last-child{color:var(--rsf-muted);font-size:1rem;line-height:1.6}
.rsf-food-jump{position:sticky;z-index:20;top:76px;display:flex;gap:8px;overflow-x:auto;padding:10px 0 18px;background:var(--rsf-bg,#fffaf4);scrollbar-width:none}
.rsf-food-jump::-webkit-scrollbar{display:none}.rsf-food-jump a{flex:0 0 auto;padding:9px 14px;border:1px solid var(--rsf-line);border-radius:999px;background:#fff;color:var(--rsf-text);font-size:.82rem;font-weight:750;text-decoration:none}
.rsf-food-section{scroll-margin-top:145px;padding:40px 0;border-top:1px solid var(--rsf-line)}
.rsf-food-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}
.rsf-food-section-head h2{margin:4px 0 0;font-family:var(--rsf-font-display);font-size:2rem}.rsf-food-section-head p:last-child{margin:7px 0 0;color:var(--rsf-muted)}
.rsf-food-section-head>a{color:var(--rsf-muted);font-size:.78rem;text-decoration:none}
.rsf-food-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.rsf-food-card{overflow:hidden;border:1px solid var(--rsf-line);border-radius:18px;background:#fffaf4;box-shadow:0 7px 22px rgba(48,30,18,.055)}
.rsf-food-card-image{display:grid;place-items:center;height:220px;overflow:hidden;background:#f4e7d8;font-size:3rem}.rsf-food-card-image img{width:100%;height:100%;object-fit:cover}
.rsf-food-card-body{padding:17px}.rsf-food-card-title{display:flex;align-items:start;justify-content:space-between;gap:12px}.rsf-food-card-title h3{margin:0;font-family:var(--rsf-font-display);font-size:1.15rem}.rsf-food-card-title strong{white-space:nowrap;color:var(--rsf-accent)}
.rsf-food-card-body>p{margin:9px 0;color:var(--rsf-muted);font-size:.82rem;line-height:1.5}.rsf-food-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 14px}.rsf-food-card-meta span{padding:5px 8px;border-radius:999px;background:#f4e7d8;font-size:.68rem}
.rsf-food-order{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:10px 12px;border-radius:11px;font-size:.78rem;font-weight:800;text-decoration:none}.rsf-food-order.is-active{background:var(--rsf-green,#096b43);color:#fff}.rsf-food-order.is-disabled{background:#eee8e1;color:#766f68}
.rsf-food-empty{padding:28px;border:1px dashed var(--rsf-line);border-radius:15px;color:var(--rsf-muted);text-align:center}
@media(max-width:900px){.rsf-food-products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.rsf-food-catalog{padding:20px 16px 56px}.rsf-food-hero{padding-top:20px}.rsf-food-jump{top:64px}.rsf-food-section{padding:30px 0;scroll-margin-top:130px}.rsf-food-section-head{align-items:start}.rsf-food-section-head>a{display:none}.rsf-food-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rsf-food-card-image{height:145px}.rsf-food-card-body{padding:11px}.rsf-food-card-title{display:block}.rsf-food-card-title h3{font-size:.94rem}.rsf-food-card-title strong{display:block;margin-top:4px;font-size:.8rem}.rsf-food-card-body>p{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.72rem}.rsf-food-card-meta{display:none}.rsf-food-order{min-height:42px;padding:8px;font-size:.68rem}.rsf-food-order.is-active span{display:none}}


/* Our Food ordering controls + responsive card optimization */
.rsf-food-availability{margin:10px 0 9px;color:#087342;font-size:.74rem;font-weight:800}
.rsf-food-buy{display:grid;grid-template-columns:104px 1fr;gap:8px}
.rsf-food-qty{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;min-height:44px;overflow:hidden;border:1px solid var(--rsf-line);border-radius:11px;background:#fff}
.rsf-food-qty button{height:100%;border:0;background:transparent;font-size:1.05rem;cursor:pointer}.rsf-food-qty span{text-align:center;font-weight:800}
.rsf-food-add{min-height:44px;padding:9px 12px;border:0;border-radius:11px;background:var(--rsf-green,#096b43);color:#fff;font-weight:850;cursor:pointer}
.rsf-food-add.is-added{background:#075735}.rsf-food-add.is-disabled{width:100%;margin-top:8px;background:#e8e5e1;color:#918b85;cursor:not-allowed}
@media(min-width:901px){.rsf-food-products{grid-template-columns:repeat(3,minmax(0,1fr))}.rsf-food-card-image{height:230px}.rsf-food-card-body{min-height:250px;display:flex;flex-direction:column}.rsf-food-card-meta{margin-top:auto}}
@media(max-width:620px){
 .rsf-food-products{grid-template-columns:1fr;gap:12px}
 .rsf-food-card{display:grid;grid-template-columns:118px minmax(0,1fr);border-radius:14px}
 .rsf-food-card-image{height:100%;min-height:190px}
 .rsf-food-card-body{min-width:0;padding:12px}
 .rsf-food-card-title h3{font-size:.95rem}
 .rsf-food-card-body>p{margin:7px 0;-webkit-line-clamp:3}
 .rsf-food-card-meta{display:flex;margin:7px 0 8px}
 .rsf-food-card-meta span{font-size:.61rem}
 .rsf-food-availability{margin:6px 0;font-size:.66rem}
 .rsf-food-buy{grid-template-columns:84px 1fr;gap:6px}
 .rsf-food-qty{grid-template-columns:27px 1fr 27px;min-height:40px}
 .rsf-food-add{min-height:40px;padding:7px 8px;font-size:.68rem}
 .rsf-food-order.is-disabled{min-height:auto;padding:7px 8px;font-size:.66rem}
 .rsf-food-add.is-disabled{min-height:38px;margin-top:6px}
}
@media(max-width:390px){.rsf-food-card{grid-template-columns:104px minmax(0,1fr)}.rsf-food-buy{grid-template-columns:76px 1fr}.rsf-food-card-image{min-height:180px}}


/* Approved compact desktop catalogue treatment */
@media(min-width:901px){
 .rsf-food-catalog{max-width:1380px;padding-top:30px}
 .rsf-food-jump{gap:7px;padding-bottom:14px}
 .rsf-food-section{padding:30px 0 36px}
 .rsf-food-section-head{margin-bottom:16px}
 .rsf-food-section-head h2{font-size:1.85rem}
 .rsf-food-products{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
 .rsf-food-card{border-radius:15px}
 .rsf-food-card-image{height:180px}
 .rsf-food-card-body{min-height:218px;padding:14px 15px}
 .rsf-food-card-title h3{font-size:1.02rem}
 .rsf-food-card-title strong{font-size:.94rem}
 .rsf-food-card-body>p{margin:7px 0;font-size:.77rem;line-height:1.4}
 .rsf-food-card-meta{margin:8px 0 10px}
 .rsf-food-card-meta span{padding:4px 7px;font-size:.64rem}
 .rsf-food-availability{margin:6px 0 7px;font-size:.68rem}
 .rsf-food-buy{grid-template-columns:92px 1fr;gap:7px}
 .rsf-food-qty,.rsf-food-add{min-height:40px}
}
@media(min-width:1280px){
 .rsf-food-products{grid-template-columns:repeat(4,minmax(0,1fr))}
 .rsf-food-card-image{height:165px}
 .rsf-food-card-body{min-height:212px}
}
