/*
Theme Name: Vegan Streetfood Truck
Theme URI: https://truck.veganstreetfood.co.za
Author: Nolly Studio / Vegan Streetfood
Description: Standalone Vegan Streetfood Food Truck website theme.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: vsf-truck
*/
:root{--green:#0fac07;--acid:#c8ff39;--black:#080808;--white:#fff;--paper:#f3f3ef;--line:#111;--muted:#6d6d68;--max:1320px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--black);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{width:min(calc(100% - 44px),var(--max));margin:auto}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(15px);border-bottom:1px solid #ddd}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{display:block;width:190px;max-width:31vw}.navlinks{display:flex;align-items:center;gap:20px;text-transform:uppercase;font-size:11px;font-weight:950;letter-spacing:.06em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #000;padding:14px 18px;background:#fff;text-transform:uppercase;font-size:11px;font-weight:950;cursor:pointer}.btn.green{background:var(--green);color:#fff}.btn.black{background:#000;color:#fff}.hero{position:relative;min-height:720px;background:#0a0a0a;color:#fff;overflow:hidden}.hero-grid{min-height:720px;display:grid;grid-template-columns:.87fr 1.13fr;align-items:center;gap:48px}.eyebrow,.kicker{text-transform:uppercase;font-size:11px;font-weight:950;letter-spacing:.12em}.hero h1,.section-title{font-size:clamp(62px,8vw,128px);line-height:.78;letter-spacing:-.075em;text-transform:uppercase;margin:15px 0 26px;font-weight:950}.hero h1 em{font-style:normal;color:var(--green)}.hero p{font-size:18px;line-height:1.55;max-width:570px;color:#e8e8e8}.hero-media{height:570px;position:relative}.hero-media img.main{width:100%;height:100%;object-fit:cover;border:1px solid #fff}.award{position:absolute;right:-20px;bottom:-25px;width:155px;filter:drop-shadow(0 10px 20px rgba(0,0,0,.25));transform:rotate(7deg)}.sticker{position:absolute;top:28px;left:-28px;background:var(--acid);color:#000;border:1px solid #000;padding:13px 16px;font-weight:950;text-transform:uppercase;transform:rotate(-3deg);box-shadow:5px 5px 0 #000}.ticker{overflow:hidden;background:var(--green);color:#fff;border-top:1px solid #000;border-bottom:1px solid #000}.ticker-track{display:flex;width:max-content;animation:marquee 24s linear infinite}.ticker span{white-space:nowrap;padding:15px 20px;font-weight:950;font-size:12px;text-transform:uppercase;letter-spacing:.06em}@keyframes marquee{to{transform:translateX(-50%)}}.section{padding:92px 0}.section.grey{background:var(--paper)}.section.black{background:#000;color:#fff}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.section-title{font-size:clamp(48px,6.3vw,88px);margin:0}.section-head p{max-width:460px;line-height:1.55;margin:0}.next-grid{display:grid;grid-template-columns:1.15fr .85fr;border:1px solid #000;min-height:540px;background:#fff}.map{min-height:540px;background:#dfe4dd}.event-panel{border-left:1px solid #000;padding:30px;display:flex;flex-direction:column;gap:12px}.event-card{border:1px solid #000;padding:18px;background:#fff;display:grid;grid-template-columns:70px 1fr auto;gap:18px;align-items:center}.event-date{font-weight:950;text-transform:uppercase;text-align:center}.event-date strong{display:block;font-size:28px;line-height:1}.event-card h3{margin:0 0 5px;text-transform:uppercase;font-size:21px;letter-spacing:-.03em}.event-card p{margin:0;font-size:13px;color:#555}.chip{display:inline-flex;border:1px solid #000;background:var(--acid);padding:6px 9px;font-size:9px;text-transform:uppercase;font-weight:950}.calendar-bar{margin-top:18px;border:1px solid #000;background:#000;color:#fff;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px}.menu-grid,.archive-grid,.bulletin-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #000;border-left:1px solid #000}.menu-card,.archive-card,.note-card{border-right:1px solid #000;border-bottom:1px solid #000;background:#fff;color:#000;min-height:270px;padding:26px;display:flex;flex-direction:column;justify-content:space-between}.menu-card:nth-child(2n){background:var(--green);color:#fff}.menu-card h3,.archive-card h3,.note-card h3{font-size:34px;line-height:.9;letter-spacing:-.05em;text-transform:uppercase;margin:12px 0}.price{font-weight:950;font-size:18px}.truck-feature{display:grid;grid-template-columns:1fr 1fr;border:1px solid #000;min-height:560px}.truck-feature img{width:100%;height:100%;object-fit:cover}.truck-copy{padding:42px;display:flex;flex-direction:column;justify-content:center;background:var(--green);color:#fff}.truck-copy h2{font-size:clamp(56px,6vw,92px);line-height:.8;text-transform:uppercase;letter-spacing:-.07em;margin:0 0 24px}.facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.6);margin-top:25px}.fact{padding:18px 8px;border-bottom:1px solid rgba(255,255,255,.6);font-size:12px;font-weight:900;text-transform:uppercase}.note-card{min-height:300px}.note-card:nth-child(2){transform:rotate(1deg);background:var(--acid)}.note-card:nth-child(3){transform:rotate(-1deg);background:#000;color:#fff}.booking-wrap{display:grid;grid-template-columns:.72fr 1.28fr;border:1px solid #000}.booking-intro{padding:40px;background:#000;color:#fff}.booking-intro h2{font-size:clamp(58px,6.5vw,96px);line-height:.78;letter-spacing:-.07em;text-transform:uppercase;margin:0 0 28px}.quote-form{padding:34px;background:#fff;color:#000}.steps{display:flex;gap:7px;margin-bottom:24px}.step-dot{height:6px;flex:1;background:#ddd}.step-dot.active{background:var(--green)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field.full{grid-column:1/-1}.field label{display:block;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid #000;border-radius:0;padding:14px;background:#fff;color:#000}.field textarea{min-height:105px;resize:vertical}.availability{margin:18px 0;padding:15px;border:1px solid #000;font-size:13px;display:none}.availability.ok{display:block;background:#e8ffe5}.availability.bad{display:block;background:#ffe9e9}.estimate{margin-top:20px;border:1px solid #000;background:var(--paper);padding:22px}.estimate small{display:block;text-transform:uppercase;font-size:9px;font-weight:950;letter-spacing:.1em}.estimate strong{display:block;font-size:42px;letter-spacing:-.05em;margin:5px 0}.estimate-lines{font-size:12px;line-height:1.55}.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.form-step{display:none}.form-step.active{display:block}.success{padding:20px;background:#e8ffe5;border:1px solid #000;display:none}.footer{background:#000;color:#fff;padding:42px 0}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:35px}.footer img{width:180px;filter:brightness(0) invert(1)}.footer h4{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.footer a{display:block;margin:9px 0;font-size:13px}.mobile-cta{display:none}.leaflet-popup-content-wrapper,.leaflet-popup-tip{border-radius:0!important}.leaflet-popup-content{font-family:Arial,sans-serif!important}.map-marker{background:var(--green);border:2px solid #000;width:24px;height:24px;border-radius:50%;box-shadow:3px 3px 0 #fff}
@media(max-width:900px){.navlinks a:not(.book){display:none}.hero-grid,.next-grid,.truck-feature,.booking-wrap{grid-template-columns:1fr}.hero-grid{padding:45px 0 70px}.hero-media{height:470px}.event-panel{border-left:0;border-top:1px solid #000}.menu-grid,.archive-grid,.bulletin-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.booking-intro{padding:32px}.quote-form{padding:26px}.mobile-cta{position:fixed;z-index:90;left:12px;right:12px;bottom:12px;display:grid;grid-template-columns:1fr 1fr;border:1px solid #000}.mobile-cta a{padding:14px;text-align:center;text-transform:uppercase;font-size:11px;font-weight:950;background:#fff}.mobile-cta a:last-child{background:var(--green);color:#fff}}
@media(max-width:620px){.shell{width:min(calc(100% - 28px),var(--max))}.brand img{width:160px}.hero{min-height:0}.hero-grid{min-height:0;gap:32px}.hero h1{font-size:68px}.hero-media{height:370px}.award{width:115px;right:-6px}.sticker{left:-8px;top:14px;font-size:10px}.section{padding:64px 0}.section-head{align-items:flex-start;flex-direction:column}.section-title{font-size:58px}.event-card{grid-template-columns:58px 1fr}.event-card .chip{grid-column:2}.calendar-bar{align-items:flex-start;flex-direction:column}.menu-grid,.archive-grid,.bulletin-grid{grid-template-columns:1fr}.truck-feature{min-height:0}.truck-feature>div:first-child{height:380px}.facts{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.booking-intro h2{font-size:62px}.quote-form{padding:22px 18px}.footer-grid{grid-template-columns:1fr}}
