/*
Theme Name: Curbside Pantry
Theme URI: https://curbsidepantry.com
Author: Curbside Pantry
Description: A bold, relaxed, responsive one-page landing theme for Curbside Pantry.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: curbside-pantry
*/
:root{--brown:#39200f;--green:#1d3e24;--olive:#47652c;--cream:#faf6ed;--gold:#e5c997}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--brown);background:var(--cream);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin-top:0}.container{max-width:1260px;margin:auto;padding:0 32px}.site-header{position:relative;z-index:10;background:#fffaf2}.header-inner{min-height:105px;display:flex;align-items:center;gap:28px;justify-content:space-between}.logo{font-family:Georgia,serif;font-size:35px;font-weight:900;font-style:italic;line-height:.8;letter-spacing:-2px;display:inline-flex;flex-direction:column;transform:rotate(-4deg);white-space:nowrap}.logo span:last-child{color:var(--green);padding-left:22px}.logo small{font-size:17px;color:var(--olive);position:absolute;right:0;top:-12px}.desktop-nav{display:flex;gap:24px;align-items:center;font-size:12px;font-weight:900;text-transform:uppercase}.desktop-nav a:hover{color:var(--olive)}.menu-button{background:var(--olive);color:white;border:0;border-radius:13px;padding:15px;cursor:pointer;display:grid;gap:5px}.menu-button span{display:block;width:27px;height:3px;background:white;border-radius:3px}.menu-overlay{position:fixed;inset:0;background:var(--green);color:white;z-index:50;display:none;align-items:center;justify-content:center;text-align:center;padding:60px 20px}.menu-overlay.open{display:flex}.menu-overlay nav{display:grid;gap:18px}.menu-overlay nav a{font-size:clamp(26px,5vw,55px);font-weight:900;text-transform:uppercase}.menu-overlay nav a:hover{color:var(--gold)}.menu-close{position:absolute;top:25px;right:30px;background:none;color:white;border:0;font-size:48px;cursor:pointer}.hero{min-height:520px;background:#f6efe2;position:relative;overflow:hidden;display:flex;align-items:center}.hero-photo{position:absolute;inset:0 0 0 40%;background:url('assets/hero.jpg') center center/cover no-repeat}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f8f2e8 0%,#f8f2e8 32%,rgba(248,242,232,.90) 42%,transparent 73%);z-index:1}.hero-content{position:relative;z-index:2;width:100%;padding-top:45px;padding-bottom:55px}.eyebrow{font-size:20px;font-weight:900;letter-spacing:9px;color:var(--olive);margin-bottom:8px}.hero h1{font-size:clamp(60px,9vw,125px);line-height:.81;letter-spacing:-6px;text-transform:uppercase;margin-bottom:23px;font-weight:1000}.hero h1 span{display:block;color:var(--olive);font-size:.63em;letter-spacing:-3px;margin-top:12px}.hero p{font-size:20px;line-height:1.4;max-width:390px}.btn{display:inline-block;background:var(--brown);color:white;border-radius:14px;padding:17px 34px;font-weight:900;text-transform:uppercase;margin-top:12px;transition:transform .2s,background .2s}.btn:hover{background:var(--olive);transform:translateY(-2px)}.features{background:#15321d;color:white;padding:35px 0}.features-grid{display:grid;grid-template-columns:repeat(5,1fr)}.feature{text-align:center;padding:5px 17px;border-right:1px solid #637850}.feature:last-child{border:0}.feature-icon{font-size:43px;display:block;margin-bottom:12px}.feature h3{font-size:18px;line-height:1.05;text-transform:uppercase;margin-bottom:8px}.feature p{font-size:13px;line-height:1.35;margin:0}.story{padding:68px 0}.story-grid{display:grid;grid-template-columns:1.05fr 1.15fr .8fr;gap:38px;align-items:center}.script{font-family:Georgia,serif;font-size:40px;font-style:italic;font-weight:400;color:var(--olive);line-height:.9}.section-heading{font-size:clamp(38px,5vw,65px);line-height:.9;font-weight:1000;text-transform:uppercase;letter-spacing:-2px}.section-heading span{color:var(--green)}.story-copy{font-size:17px;line-height:1.55}.check-list{list-style:none;margin:0;padding:0 0 0 25px;border-left:1px solid #a5aa8e}.check-list li{margin:12px 0;font-size:13px;font-weight:900;text-transform:uppercase}.check-list li:before{content:'✓';background:var(--green);color:white;border-radius:50%;padding:3px 6px;margin-right:10px}.products-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;background:#fff}.product{height:215px;position:relative;overflow:hidden;background:#ddd}.product img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.product:hover img{transform:scale(1.07)}.product strong{position:absolute;bottom:0;left:0;right:0;background:rgba(57,32,15,.92);color:white;padding:13px;text-align:center;text-transform:uppercase;font-size:20px}.locations{background:var(--green);color:white;padding:65px 0 70px}.locations-header{text-align:center;margin-bottom:32px}.locations-header .script{color:white;font-size:55px}.locations-header p{letter-spacing:6px;text-transform:uppercase;font-weight:900;margin:15px 0 0}.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.location-card{background:#faf5eb;color:var(--brown);padding:30px;border-radius:14px;min-height:230px}.location-card h3{font-size:33px;text-transform:uppercase;margin-bottom:14px}.location-card p{font-size:15px;line-height:1.5;margin-bottom:8px}.location-card strong{color:var(--olive)}.merchant{padding:70px 0;text-align:center}.merchant p{font-size:18px;max-width:700px;margin:0 auto 20px;line-height:1.5}.merchant .section-heading{font-size:clamp(35px,5vw,60px)}.faq{background:#f0e6d7;padding:60px 0}.faq details{background:white;border-radius:10px;margin:10px 0;padding:20px}.faq summary{font-weight:900;cursor:pointer}.faq p{margin:14px 0 0;line-height:1.5}.footer{background:#34200f;color:white;padding:40px 0}.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.footer-item{border-right:1px solid #b7a18b;padding:10px}.footer-item:last-child{border:0}.footer-item small{display:block;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px}.footer-item strong{font-size:20px;overflow-wrap:anywhere}.copyright{text-align:center;margin:35px 0 0;font-size:12px;opacity:.8}@media(max-width:1000px){.desktop-nav{display:none}.story-grid{grid-template-columns:1fr 1fr}.check-list{grid-column:1/-1;border:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 20px}.check-list li{margin:0}.hero-photo{left:32%}}@media(max-width:700px){.container{padding:0 20px}.header-inner{min-height:85px}.logo{font-size:30px}.hero{min-height:620px;align-items:flex-start}.hero-photo{inset:230px 0 0 0;background-position:center}.hero:before{background:linear-gradient(180deg,#f8f2e8 0%,#f8f2e8 36%,rgba(248,242,232,.4) 57%,transparent 85%)}.hero-content{padding-top:38px}.hero h1{font-size:clamp(55px,12vw,90px);letter-spacing:-3px}.hero h1 span{letter-spacing:-1px}.eyebrow{font-size:13px;letter-spacing:5px}.hero p{font-size:16px;max-width:280px}.features-grid{grid-template-columns:repeat(2,1fr);row-gap:26px}.feature:nth-child(even){border:0}.feature:last-child{grid-column:1/-1}.story-grid{grid-template-columns:1fr;gap:20px}.check-list{grid-column:auto;display:block}.products-grid{grid-template-columns:repeat(2,1fr)}.product:last-child{grid-column:1/-1}.product{height:185px}.location-grid,.footer-grid{grid-template-columns:1fr}.footer-item{border:0;border-bottom:1px solid #b7a18b}.locations-header .script{font-size:42px}.locations-header p{letter-spacing:3px;font-size:12px}}

/* Realistic feature cards — v3 */
.features{background:#faf6ed;color:#352011;padding:30px 0 45px}
.features .features-grid{max-width:1400px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.features .feature{background:#fffaf2;border:1px solid #e5ddcf;border-radius:12px;overflow:hidden;padding:0;box-shadow:0 6px 20px rgba(42,28,15,.07);text-align:center}
.features .feature-photo{display:block;width:100%;height:190px;object-fit:cover}
.features .feature-body{padding:0 13px 23px;position:relative}
.features .feature-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:-32px auto 18px;position:relative;background:#183a22;color:white;border:4px solid #fffaf2;border-radius:50%}
.features .feature-icon svg{width:32px;height:32px}
.features .feature h3{font-size:clamp(15px,1.5vw,21px);line-height:1.12;min-height:48px;margin:0 0 10px;text-transform:uppercase;font-weight:900}
.features .feature-rule{display:block;width:42px;height:3px;background:#91a665;margin:0 auto 13px}
.features .feature p{font-size:14px;line-height:1.45;color:#342d25;margin:0}
@media(max-width:900px){.features .features-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.features .feature:last-child{grid-column:1/-1;max-width:450px;width:100%;justify-self:center}.features .feature-photo{height:190px}}
@media(max-width:480px){.features .features-grid{grid-template-columns:1fr}.features .feature:last-child{grid-column:auto;max-width:none}.features .feature-photo{height:210px}.features .feature h3{min-height:0;font-size:22px}}

/* v4: image-based original wordmark, sized to fit header and mobile */
.site-header{background:#faf6ed}.header-inner{min-height:116px;gap:20px}.logo.logo-image{display:flex;align-items:center;flex-direction:row;transform:none;letter-spacing:normal;line-height:normal;flex:0 0 auto;max-width:220px}.logo.logo-image img{display:block;width:210px;max-width:100%;height:auto;mix-blend-mode:multiply}.desktop-nav{gap:17px;font-size:11px}.menu-button{flex-shrink:0}@media(max-width:700px){.header-inner{min-height:91px}.logo.logo-image{max-width:170px}.logo.logo-image img{width:166px}.menu-button{padding:13px}}@media(min-width:701px) and (max-width:1150px){.logo.logo-image img{width:185px}.desktop-nav{gap:10px;font-size:10px}}

/* v5: logo integrates with the header instead of sitting on a cream rectangle */
.site-header{background:#faf6ed;}
.logo.logo-image img{mix-blend-mode:normal;object-fit:contain;filter:none;}
.logo.logo-image{background:transparent;}
@media(min-width:1001px){.header-inner{min-height:104px}.logo.logo-image img{width:194px}}
@media(max-width:700px){.logo.logo-image img{width:158px}.header-inner{min-height:86px}}
