/*
Theme Name: RS Foods
Theme URI: https://rsfoods2u.com/
Author: RS Foods
Description: Lightweight custom WordPress theme for RS Foods — Real Sri Lankan Flavors.
Version: 0.2.0
Requires at least: 6.8
Requires PHP: 8.2
Text Domain: rsfoods
*/
:root{--rsf-bg:#fffaf2;--rsf-surface:#fff;--rsf-card:var(--rsf-surface);--rsf-text:#2d241c;--rsf-muted:#76685b;--rsf-accent:#d95618;--rsf-accent-hover:#c94b0d;--rsf-green:#075b35;--rsf-green-hover:#064c2d;--rsf-line:#eadfd3;--rsf-soft:#f7f0e8;--rsf-dark:#17110d;--rsf-font-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--rsf-font-display:Georgia,"Times New Roman",serif;--rsf-container:1180px;--rsf-space-1:8px;--rsf-space-2:12px;--rsf-space-3:16px;--rsf-space-4:24px;--rsf-space-5:32px;--rsf-space-6:48px;--rsf-radius-sm:10px;--rsf-radius-md:16px;--rsf-radius-lg:22px;--rsf-radius-pill:999px;--rsf-shadow-card:0 10px 30px rgba(60,38,20,.06);--rsf-shadow-float:0 14px 40px rgba(30,20,12,.16);--rsf-focus:0 0 0 3px rgba(217,86,24,.22);--rsf-control-height:48px;--rsf-control-radius:var(--rsf-radius-md);--rsf-card-radius:var(--rsf-radius-lg);--rsf-pill-bg:#f7f0e8;--rsf-success-bg:#e8f5ed;--rsf-success-text:var(--rsf-green)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--rsf-bg);color:var(--rsf-text);font-family:var(--rsf-font-sans)}a{color:inherit}.rsf-home-hero{min-height:570px;background-color:#2c1d14;background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;position:relative}.rsf-home-hero-copy{padding:64px 28px 34px}.rsf-hero-kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.17em;font-weight:800;margin:0 0 16px}.rsf-home-hero h1{font-family:var(--rsf-font-display);font-size:clamp(3.2rem,15vw,4.7rem);line-height:.92;letter-spacing:-.045em;margin:0 0 20px;max-width:560px}.rsf-home-hero-copy>p:not(.rsf-hero-kicker){font-size:1rem;line-height:1.55;margin:0 0 25px}.rsf-hero-cta{display:inline-flex;align-items:center;gap:30px;background:var(--rsf-accent);color:#fff;text-decoration:none;font-weight:800;border-radius:var(--rsf-radius-pill);padding:16px 24px;box-shadow:0 10px 30px rgba(0,0,0,.15)}.rsf-hero-values{display:grid;grid-template-columns:repeat(4,1fr);padding:18px 18px 22px;background:linear-gradient(0deg,rgba(0,0,0,.36),transparent);gap:5px}.rsf-hero-values span{text-align:center;font-size:1.25rem}.rsf-hero-values b{display:block;font-size:.63rem;line-height:1.2;margin-top:5px}.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}
@media(min-width:820px){.rsf-home-hero{min-height:500px;background-position:center;justify-content:center}.rsf-home-hero-copy{width:min(1180px,100%);margin:auto;padding:70px 46px 95px}.rsf-home-hero h1{font-size:4.8rem}.rsf-home-hero-copy>p:not(.rsf-hero-kicker){font-size:1.05rem}.rsf-hero-values{position:absolute;left:0;right:0;bottom:0;padding:18px max(40px,calc((100vw - 1100px)/2));}.rsf-hero-values span{display:flex;justify-content:center;align-items:center;gap:10px}.rsf-hero-values b{text-align:left;font-size:.7rem}.rsf-menu-strip{max-width:1100px;margin:0 auto;transform:translateY(28px);grid-template-columns:42px 1fr auto;padding:16px 24px}.rsf-menu-strip-btn{grid-column:auto;padding:14px 24px}.rsf-mobile-popular{display:none}.rsf-story{max-width:1100px;margin:70px auto 0;padding:30px 20px 52px;background:var(--rsf-surface);display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:center}.rsf-story-copy h2{font-size:3.4rem}.rsf-story-collage{margin:0;height:360px}.rsf-how{padding:34px max(30px,calc((100vw - 1100px)/2))}.rsf-how-grid{grid-template-columns:repeat(4,1fr);gap:30px}.rsf-how-grid article{position:relative}.rsf-how-grid article:not(:last-child):after{content:'→';position:absolute;right:-22px;top:16px;opacity:.7}.rsf-mobile-help{display:none}}

/* UI/UX P0-1: responsive spacing foundation — 8 / 12 / 16 / 24 / 32 / 48 */
.rsf-site-header-inner,.rsf-home-hero-copy,.rsf-menu-strip,.rsf-mobile-popular,.rsf-story,.rsf-how,.rsf-footer-main,.rsf-footer-bottom,.rsf-menu-archive{--rsf-gutter:var(--rsf-space-4)}
@media(max-width:720px){.rsf-site-header-inner,.rsf-home-hero-copy,.rsf-menu-strip,.rsf-mobile-popular,.rsf-story,.rsf-how,.rsf-footer-main,.rsf-footer-bottom,.rsf-menu-archive{--rsf-gutter:var(--rsf-space-3)}}


/* UI/UX P0-2: canonical customer-facing component language */
.rsf-ui-primary,.rsf-ui-secondary{min-height:var(--rsf-control-height);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--rsf-radius-pill);font:inherit;font-weight:800;text-decoration:none;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.rsf-ui-primary{border:1px solid var(--rsf-green);background:var(--rsf-green);color:#fff;box-shadow:0 7px 18px rgba(7,91,53,.15)}
.rsf-ui-secondary{border:1px solid var(--rsf-green);background:var(--rsf-surface);color:var(--rsf-green)}
.rsf-ui-primary:hover{background:var(--rsf-green-hover);border-color:var(--rsf-green-hover)}
.rsf-ui-secondary:hover{background:#f3faf6}
.rsf-ui-primary:focus-visible,.rsf-ui-secondary:focus-visible{outline:3px solid rgba(217,86,24,.25);outline-offset:3px}
.rsf-ui-card{border:1px solid var(--rsf-line);border-radius:var(--rsf-card-radius);background:var(--rsf-surface);box-shadow:var(--rsf-shadow-card)}
.rsf-ui-input{border:1px solid var(--rsf-line);border-radius:var(--rsf-control-radius);background:var(--rsf-surface);color:var(--rsf-text);font:inherit}
.rsf-ui-input:focus{outline:0;border-color:var(--rsf-accent);box-shadow:var(--rsf-focus)}
.rsf-ui-pill{display:inline-flex;align-items:center;border-radius:var(--rsf-radius-pill);font-weight:800}


/* Dedicated contact page */
.rsf-contact-page{width:min(calc(100% - 32px),920px);margin:0 auto;padding:64px 0 80px}
.rsf-contact-hero{max-width:680px}.rsf-contact-kicker{margin:0 0 10px;color:var(--rsf-accent);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.rsf-contact-hero h1{margin:0;font-family:var(--rsf-font-display);font-size:clamp(2.5rem,6vw,4.4rem);line-height:1}.rsf-contact-hero>p:last-child{max-width:620px;margin:18px 0 0;color:var(--rsf-muted);font-size:1.05rem;line-height:1.6}.rsf-contact-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:36px}.rsf-contact-card{display:flex;flex-direction:column;min-height:180px;padding:24px;border:1px solid var(--rsf-line);border-radius:var(--rsf-card-radius);background:var(--rsf-surface);box-shadow:var(--rsf-shadow-card);color:var(--rsf-text);text-decoration:none}.rsf-contact-card span{color:var(--rsf-accent);font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.rsf-contact-card strong{margin-top:auto;font-size:1.25rem}.rsf-contact-card small{margin-top:6px;color:var(--rsf-muted);font-size:.82rem}.rsf-contact-whatsapp span,.rsf-contact-whatsapp strong{color:var(--rsf-green)}.rsf-contact-help{margin-top:32px;padding:24px;border-radius:var(--rsf-card-radius);background:var(--rsf-soft)}.rsf-contact-help h2{margin:0;font-size:1.35rem}.rsf-contact-help p{margin:8px 0 18px;color:var(--rsf-muted);line-height:1.55}.rsf-contact-menu-link{display:inline-flex;align-items:center;min-height:48px;padding:0 18px;border-radius:var(--rsf-radius-pill);background:var(--rsf-green);color:#fff;text-decoration:none;font-weight:800}
@media(max-width:720px){.rsf-contact-page{width:100%;padding:36px 16px 56px}.rsf-contact-options{grid-template-columns:1fr;gap:12px;margin-top:28px}.rsf-contact-card{min-height:150px;padding:20px}.rsf-contact-help{margin-top:24px;padding:20px}}


/* Contact page polish — compact, action-led and mobile friendly */
.rsf-contact-page{padding-top:48px}
.rsf-contact-hero{max-width:720px}
.rsf-contact-hero h1{font-size:clamp(2.7rem,5.4vw,4.1rem)}
.rsf-contact-hero>p:last-child{margin-top:14px}
.rsf-contact-options{gap:14px;margin-top:28px}
.rsf-contact-card{position:relative;min-height:154px;padding:22px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.rsf-contact-card:hover{transform:translateY(-2px);border-color:#d9c8b7}
.rsf-contact-card span{display:flex;align-items:center;gap:8px}
.rsf-contact-card span:before{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;font-size:15px;font-weight:900}
.rsf-contact-whatsapp span:before{content:"W";background:#e5f6ed;color:var(--rsf-green)}
.rsf-contact-card:not(.rsf-contact-whatsapp) span:before{content:"f";background:#eaf2ff;color:#1877f2;text-transform:none}
.rsf-contact-card strong{font-size:1.2rem}
.rsf-contact-help{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;margin-top:20px;padding:20px 22px}
.rsf-contact-help h2{font-size:1.2rem}
.rsf-contact-help p{margin:6px 0 0}
.rsf-contact-menu-link{grid-column:2;grid-row:1/3;white-space:nowrap}
@media(max-width:720px){
 .rsf-contact-page{padding:28px 16px 96px}
 .rsf-contact-hero h1{font-size:2.65rem}
 .rsf-contact-hero>p:last-child{font-size:1rem;line-height:1.5}
 .rsf-contact-options{margin-top:22px}
 .rsf-contact-card{min-height:128px;padding:18px}
 .rsf-contact-card strong{font-size:1.15rem}
 .rsf-contact-help{display:block;margin-top:18px;padding:18px}
 .rsf-contact-help h2{font-size:1.12rem}
 .rsf-contact-help p{margin:6px 0 14px;font-size:.92rem}
 .rsf-contact-menu-link{min-height:46px}
}


/* Contact cards — official social marks and stronger affordance */
.rsf-contact-card{overflow:hidden}
.rsf-contact-channel{display:flex!important;align-items:center;gap:10px}
.rsf-contact-channel:before{display:none!important}
.rsf-contact-channel svg{width:30px;height:30px;flex:0 0 30px}
.rsf-contact-whatsapp .rsf-contact-channel{color:#087d43}
.rsf-contact-facebook .rsf-contact-channel{color:#1877f2}
.rsf-contact-facebook span{color:#1877f2}
.rsf-contact-card:after{content:"Open →";position:absolute;right:22px;bottom:22px;font-size:.78rem;font-weight:850;color:var(--rsf-muted);opacity:.8}
.rsf-contact-whatsapp:after{content:"Chat now →";color:var(--rsf-green)}
.rsf-contact-facebook:after{content:"Visit page →";color:#1877f2}
.rsf-contact-card:hover:after{opacity:1}
@media(max-width:720px){
 .rsf-contact-channel svg{width:28px;height:28px;flex-basis:28px}
 .rsf-contact-card:after{right:18px;bottom:18px}
 .rsf-contact-card strong{padding-right:92px}
}


/* Contact mobile refinement — prevent action collisions and improve card hierarchy */
@media(max-width:720px){
 .rsf-contact-options{gap:14px}
 .rsf-contact-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;column-gap:12px;min-height:154px;padding:20px 20px 18px}
 .rsf-contact-channel{grid-column:1/-1}
 .rsf-contact-card strong{grid-column:1/-1;margin-top:22px;padding-right:0;font-size:1.18rem}
 .rsf-contact-card small{grid-column:1;grid-row:3;margin-top:5px;line-height:1.35}
 .rsf-contact-card:after{position:static;grid-column:2;grid-row:3;align-self:end;justify-self:end;margin-top:5px;white-space:nowrap;font-size:.76rem}
}
@media(max-width:380px){
 .rsf-contact-card{grid-template-columns:1fr;min-height:166px}
 .rsf-contact-card small{grid-column:1}
 .rsf-contact-card:after{grid-column:1;grid-row:4;justify-self:start;margin-top:9px}
}
