/* ═══════════════════════════════════════════════════════
   STREETFEAST THEME  ·  main.css  ·  v1.0
   Vibe: VIBRANT STREET FOOD — Bold. Loud. Unapologetic.
   Fonts: Bebas Neue (display) + Fredoka (headings) + Nunito (body)
═══════════════════════════════════════════════════════ */

/* ── DEFAULT CSS VARS (overridden by customizer PHP inline) ── */
:root {
  --primary:        #FF6B00;
  --secondary:      #FFD93D;
  --accent:         #FF2D55;
  --dark:           #1A0A00;
  --dark2:          #0f0600;
  --mid:            #6B4423;
  --light:          #FFF8F0;
  --lighter:        #FFFAF5;
  --border:         #F0DCC8;
  --white:          #FFFFFF;
  --green:          #22c55e;
  --primary-rgb:    255,107,0;
  --secondary-rgb:  255,217,61;
  --accent-rgb:     255,45,85;
  --radius-sm:      8px;
  --radius:         16px;
  --radius-lg:      24px;
  --radius-xl:      36px;
  --shadow-sm:      0 2px 12px rgba(0,0,0,.08);
  --shadow:         0 6px 28px rgba(0,0,0,.12);
  --shadow-lg:      0 16px 56px rgba(0,0,0,.18);
  --shadow-brand:   0 8px 32px rgba(var(--primary-rgb),.35);
  --t:              all .22s cubic-bezier(.4,0,.2,1);
  --header-h:       70px;
  --ticker-h:       36px;
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%}
body{
  font-family:'Nunito',sans-serif;
  background:var(--lighter);
  color:var(--dark);
  line-height:1.6;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--primary);text-decoration:none;transition:var(--t)}
a:hover{color:var(--accent)}
ul,ol{list-style:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
input,textarea,select{font-family:inherit}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--light)}
::-webkit-scrollbar-thumb{background:var(--primary);border-radius:3px}

/* ── TYPOGRAPHY ── */
.bebas, h1.display      {font-family:'Bebas Neue',sans-serif;letter-spacing:.03em}
h2,h3,h4               {font-family:'Fredoka',sans-serif;font-weight:700}
h1{font-family:'Bebas Neue',sans-serif;line-height:.92;letter-spacing:.02em;font-size:clamp(52px,8vw,110px)}
h2{font-size:clamp(26px,4vw,42px);line-height:1.15}
h3{font-size:clamp(18px,3vw,26px);line-height:1.2}
h4{font-size:18px}
p{margin-bottom:16px}
p:last-child{margin-bottom:0}
strong{font-weight:800}

/* ── LAYOUT ── */
#sf-wrap{min-height:100vh;display:flex;flex-direction:column}
.sf-container{max-width:1160px;margin:0 auto;padding:0 24px}
.pad-section{padding:80px 0}
.pad-section-sm{padding:52px 0}

/* ── SECTION LABELS ── */
.tag-pill{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--secondary);
  color:var(--dark);
  font-family:'Fredoka',sans-serif;
  font-size:13px;font-weight:600;
  padding:5px 14px;
  border-radius:50px;
  text-transform:uppercase;
  letter-spacing:1.5px;
  margin-bottom:12px;
}

/* ── BUTTONS ── */
.btn-primary{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--primary);
  color:#fff;
  font-family:'Fredoka',sans-serif;font-weight:700;font-size:17px;
  padding:14px 30px;border-radius:var(--radius-xl);
  border:none;cursor:pointer;
  transition:var(--t);
  box-shadow:0 4px 0 rgba(0,0,0,.2);
}
.btn-primary:hover{background:var(--accent);color:#fff;transform:translateY(-2px);box-shadow:0 6px 0 rgba(0,0,0,.2),var(--shadow-brand)}
.btn-primary:active{transform:translateY(1px);box-shadow:0 2px 0 rgba(0,0,0,.2)}

.btn-outline{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;
  color:var(--primary);
  border:2.5px solid var(--primary);
  font-family:'Fredoka',sans-serif;font-weight:700;font-size:16px;
  padding:12px 26px;border-radius:var(--radius-xl);
  cursor:pointer;transition:var(--t);
}
.btn-outline:hover{background:var(--primary);color:#fff}

.btn-dark{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--dark);color:#fff;
  font-family:'Fredoka',sans-serif;font-weight:700;font-size:16px;
  padding:14px 30px;border-radius:var(--radius-xl);
  border:none;cursor:pointer;transition:var(--t);
  box-shadow:0 4px 0 rgba(0,0,0,.3);
}
.btn-dark:hover{background:var(--primary);color:#fff;transform:translateY(-2px)}

.btn-wa{
  display:inline-flex;align-items:center;gap:8px;
  background:#25d366;color:#fff;
  font-family:'Fredoka',sans-serif;font-weight:700;font-size:15px;
  padding:12px 24px;border-radius:var(--radius-xl);
  border:none;cursor:pointer;transition:var(--t);
  box-shadow:0 4px 0 #128c3e;
}
.btn-wa:hover{background:#20b858;color:#fff;transform:translateY(-2px)}

/* ══════════════════════════════════════════
   TICKER TAPE
══════════════════════════════════════════ */
.ticker-wrap{
  background:var(--primary);
  height:var(--ticker-h);
  overflow:hidden;
  position:relative;
  z-index:200;
}
.ticker-track{
  display:flex;
  align-items:center;
  height:100%;
  white-space:nowrap;
  animation:ticker 28s linear infinite;
  will-change:transform;
}
.ticker-item{
  flex-shrink:0;
  color:#fff;
  font-family:'Fredoka',sans-serif;
  font-size:13px;font-weight:600;
  letter-spacing:.5px;
  padding:0 32px;
  border-right:1.5px solid rgba(255,255,255,.25);
}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ══════════════════════════════════════════
   HEADER
══════════════════════════════════════════ */
.sf-header{
  background:#fff;
  height:var(--header-h);
  position:sticky;
  top:0;z-index:500;
  border-bottom:3px solid var(--secondary);
  box-shadow:var(--shadow-sm);
  transition:box-shadow .3s;
}
.sf-header.scrolled{box-shadow:var(--shadow)}
.sf-header-inner{
  max-width:1160px;margin:0 auto;padding:0 24px;
  height:100%;
  display:flex;align-items:center;gap:16px;
  flex-wrap:nowrap;
  justify-content:space-between;
}
.sf-header-right{
  display:flex;align-items:center;gap:8px;
  flex-wrap:nowrap;flex-shrink:0;
}

/* Logo */
.sf-logo{
  display:flex;flex-direction:column;line-height:1;
  text-decoration:none;flex-shrink:0;
}
.sf-logo img{max-height:50px}
.logo-text{
  font-family:'Bebas Neue',sans-serif;
  font-size:30px;letter-spacing:.05em;
  color:var(--primary);line-height:1;
}
.logo-sub{
  font-family:'Fredoka',sans-serif;
  font-size:11px;font-weight:600;
  color:var(--mid);text-transform:uppercase;letter-spacing:2px;
}

/* Nav */
.sf-nav{flex:1}
.nav-list{display:flex;gap:2px;list-style:none}
.nav-list li a{
  display:block;padding:8px 14px;
  font-family:'Fredoka',sans-serif;font-size:15px;font-weight:600;
  color:var(--dark);border-radius:var(--radius-sm);
  transition:var(--t);
}
.nav-list li a:hover,
.nav-list li.current-menu-item a,
.nav-list li.current-page-ancestor a{
  color:var(--primary);
  background:rgba(var(--primary-rgb),.09);
}

/* Live status */
.live-status{
  display:flex;align-items:center;gap:6px;
  background:var(--light);
  border:1.5px solid var(--border);
  border-radius:50px;padding:5px 12px;
  font-family:'Fredoka',sans-serif;font-size:12px;font-weight:600;
  color:var(--dark);white-space:nowrap;
}
.ls-dot{
  width:8px;height:8px;border-radius:50%;
  background:#aaa;flex-shrink:0;
}
.ls-dot.open  {background:var(--green);box-shadow:0 0 0 3px rgba(34,197,94,.25)}
.ls-dot.closed{background:var(--accent)}
.ls-dot.lunch {background:var(--secondary);box-shadow:0 0 0 3px rgba(var(--secondary-rgb),.3)}

/* CTA */
.btn-cta{
  background:var(--primary);color:#fff;
  font-family:'Fredoka',sans-serif;font-weight:700;font-size:14px;
  padding:9px 20px;border-radius:var(--radius-xl);
  display:inline-flex;align-items:center;gap:6px;
  box-shadow:0 3px 0 rgba(0,0,0,.2);
  transition:var(--t);flex-shrink:0;
  white-space:nowrap;width:auto !important;
}
.btn-cta:hover{background:var(--accent);color:#fff;transform:translateY(-2px)}

/* Burger */
.burger{
  display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:8px;
  flex-shrink:0;background:none;border:none;cursor:pointer;
  width:40px;height:40px;
}
.burger span{display:block;width:22px;height:2px;background:var(--dark);border-radius:2px;transition:var(--t)}
.burger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.burger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.burger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* Mobile drawer */
.mob-drawer{
  display:none;
  position:fixed;top:calc(var(--ticker-h) + var(--header-h));
  left:0;right:0;
  background:#fff;
  padding:20px 24px 32px;
  border-bottom:3px solid var(--secondary);
  box-shadow:var(--shadow-lg);
  z-index:490;
  transform:translateY(-105%);
  transition:transform .3s cubic-bezier(.4,0,.2,1);
}
.mob-drawer.open{transform:translateY(0)}
.mob-nav-list{list-style:none;margin-bottom:16px}
.mob-nav-list li{border-bottom:1.5px solid var(--border)}
.mob-nav-list li a{display:block;padding:14px 4px;font-family:'Fredoka',sans-serif;font-size:18px;font-weight:700;color:var(--dark)}
.mob-nav-list li a:hover{color:var(--primary)}
.mob-order-btn{
  display:block;background:var(--primary);color:#fff;text-align:center;
  padding:14px;border-radius:14px;font-family:'Fredoka',sans-serif;font-weight:700;font-size:17px;
  margin-bottom:16px;box-shadow:0 4px 0 rgba(0,0,0,.2);
}
.mob-overlay{
  display:none;position:fixed;inset:0;
  background:rgba(0,0,0,.5);z-index:489;
}
.mob-overlay.open{display:block}

/* ══════════════════════════════════════════
   HERO
══════════════════════════════════════════ */
.hero{
  position:relative;
  min-height:640px;
  background:var(--dark);
  background-size:cover;background-position:center;
  display:flex;align-items:center;
  overflow:hidden;
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(120deg,rgba(26,10,0,.96) 0%,rgba(26,10,0,.88) 45%,rgba(255,107,0,.35) 100%);
}
/* Dot pattern */
.hero-pattern{
  position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,217,61,.18) 1px, transparent 1px);
  background-size:28px 28px;
}
/* Diagonal stripe accent */
.hero::after{
  content:'';position:absolute;
  right:-60px;top:0;bottom:0;width:260px;
  background:var(--primary);
  clip-path:polygon(30% 0,100% 0,100% 100%,0 100%);
  opacity:.13;
}
.hero-content{
  position:relative;z-index:2;
  max-width:1160px;margin:0 auto;padding:80px 24px;
  display:grid;grid-template-columns:1fr 380px;
  gap:48px;align-items:center;width:100%;
}
.hero-text{}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--secondary);color:var(--dark);
  font-family:'Fredoka',sans-serif;font-size:13px;font-weight:700;
  padding:5px 16px;border-radius:50px;
  text-transform:uppercase;letter-spacing:1.5px;
  margin-bottom:16px;
}
.hero-title{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(60px,10vw,120px);
  line-height:.9;letter-spacing:.02em;
  color:#fff;margin-bottom:20px;
}
.hero-title span{
  display:block;
  color:var(--secondary);
  -webkit-text-stroke:2px var(--secondary);
  text-stroke:2px var(--secondary);
}
.hero-sub{
  color:rgba(255,255,255,.72);
  font-family:'Fredoka',sans-serif;font-size:18px;font-weight:500;
  line-height:1.55;margin-bottom:32px;max-width:460px;
}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap}

/* Hero promo card */
.hero-card{
  background:rgba(255,255,255,.07);
  border:1.5px solid rgba(255,255,255,.14);
  border-radius:var(--radius-lg);
  padding:24px;
  backdrop-filter:blur(14px);
}
.hero-promo-badge{
  background:var(--accent);color:#fff;
  font-family:'Fredoka',sans-serif;font-size:11px;font-weight:700;
  padding:4px 12px;border-radius:50px;
  display:inline-block;margin-bottom:16px;letter-spacing:1px;text-transform:uppercase;
}
.hero-card-row{
  display:flex;align-items:center;gap:12px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  padding:14px;
  margin-bottom:10px;
}
.hero-card-row:last-child{margin-bottom:0}
.hcr-icon{font-size:28px;flex-shrink:0}
.hcr-body strong{display:block;color:#fff;font-family:'Fredoka',sans-serif;font-size:15px;font-weight:700}
.hcr-body span{color:rgba(255,255,255,.5);font-size:12px;font-family:'Nunito',sans-serif}
.hcr-right{margin-left:auto}
.hcr-num{
  background:var(--secondary);color:var(--dark);
  font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:.03em;
  padding:4px 10px;border-radius:8px;
}

/* ══════════════════════════════════════════
   STATS BAND
══════════════════════════════════════════ */
.stats-band{background:var(--secondary)}
.sf-stats{
  max-width:1160px;margin:0 auto;padding:28px 24px;
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:0;
}
.sf-stat{
  text-align:center;padding:0 12px;
  border-right:2px solid rgba(26,10,0,.12);
}
.sf-stat:last-child{border-right:none}
.sf-stat-n{
  display:block;
  font-family:'Bebas Neue',sans-serif;
  font-size:40px;letter-spacing:.03em;
  color:var(--dark);line-height:1;margin-bottom:2px;
}
.sf-stat-l{
  display:block;font-family:'Fredoka',sans-serif;
  font-size:13px;font-weight:600;color:rgba(26,10,0,.6);
  text-transform:uppercase;letter-spacing:1px;
}
.stats--dark{background:var(--dark)}
.stats--dark .sf-stat{border-right-color:rgba(255,255,255,.1)}
.stats--dark .sf-stat-n{color:var(--secondary)}
.stats--dark .sf-stat-l{color:rgba(255,255,255,.5)}

/* ══════════════════════════════════════════
   INFO CHIPS STRIP
══════════════════════════════════════════ */
.chips-strip{
  background:var(--dark);
  padding:14px 0;
  overflow:hidden;
}
.chips-inner{
  max-width:1160px;margin:0 auto;padding:0 24px;
  display:flex;gap:12px;align-items:center;flex-wrap:wrap;
}
.chip{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  border-radius:50px;
  padding:6px 16px;
  font-family:'Fredoka',sans-serif;font-size:13px;font-weight:600;
  color:rgba(255,255,255,.75);
  white-space:nowrap;
  display:flex;align-items:center;gap:6px;
}

/* ══════════════════════════════════════════
   ORDER CTA (homepage plug zone)
══════════════════════════════════════════ */
.order-zone{
  background:var(--light);
  padding:72px 0;
}
.order-zone-header{text-align:center;margin-bottom:36px}
.order-zone-header h2{margin:0 0 10px}
.order-zone-header p{color:var(--mid);font-size:16px}
.plugin-zone{
  display:flex;justify-content:center;
  margin-bottom:28px;
}
.plugin-placeholder{
  background:#fff;border:3px dashed var(--border);
  border-radius:var(--radius-lg);padding:60px 32px;
  text-align:center;max-width:520px;width:100%;
}
.plugin-placeholder .pp-emoji{font-size:52px;margin-bottom:14px}
.plugin-placeholder h3{font-size:22px;margin-bottom:8px}
.plugin-placeholder p{color:var(--mid);margin-bottom:20px}
.order-zone-footer{text-align:center}

/* ══════════════════════════════════════════
   HOW IT WORKS
══════════════════════════════════════════ */
.how-section{padding:80px 0;background:#fff}
.how-header{text-align:center;margin-bottom:52px}
.steps-row{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:0;
  position:relative;
}
/* connector line */
.steps-row::before{
  content:'';position:absolute;
  top:44px;left:calc(12.5% + 8px);right:calc(12.5% + 8px);
  height:3px;background:var(--border);z-index:0;
}
.step-card{
  display:flex;flex-direction:column;align-items:center;
  text-align:center;padding:0 16px;position:relative;z-index:1;
}
.step-circle{
  width:88px;height:88px;border-radius:50%;
  background:var(--light);border:3px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  font-size:36px;margin-bottom:16px;
  position:relative;transition:var(--t);
}
.step-circle::before{
  content:attr(data-n);
  position:absolute;top:-4px;right:-4px;
  background:var(--primary);color:#fff;
  font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:.05em;
  width:26px;height:26px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  border:2px solid #fff;
}
.step-card:hover .step-circle{
  background:var(--primary);border-color:var(--primary);
  transform:scale(1.05);box-shadow:var(--shadow-brand);
}
.step-card h3{font-size:17px;margin-bottom:6px;color:var(--dark)}
.step-card p{font-size:13px;color:var(--mid);line-height:1.5;margin:0}

/* ══════════════════════════════════════════
   ABOUT STRIP
══════════════════════════════════════════ */
.about-strip{
  background:var(--dark);
  padding:80px 0;
  position:relative;overflow:hidden;
}
/* BIG text watermark */
.about-strip::before{
  content:'EST.';
  position:absolute;right:-20px;top:50%;transform:translateY(-50%);
  font-family:'Bebas Neue',sans-serif;font-size:260px;letter-spacing:.05em;
  color:rgba(255,255,255,.03);line-height:1;pointer-events:none;
  white-space:nowrap;
}
.about-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:64px;align-items:center;
}
.about-img-wrap{position:relative}
.about-img{
  border-radius:var(--radius-lg);
  width:100%;aspect-ratio:4/3;object-fit:cover;
  box-shadow:var(--shadow-lg);
}
.about-img-placeholder{
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,.05);
  border:2px dashed rgba(255,255,255,.15);
  aspect-ratio:4/3;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;text-align:center;padding:24px;
  color:rgba(255,255,255,.3);font-size:14px;
}
.about-img-placeholder span{font-size:48px;opacity:.4}
/* Year badge */
.year-badge{
  position:absolute;bottom:-20px;left:-20px;
  background:var(--primary);
  border:4px solid var(--dark);
  border-radius:var(--radius);
  padding:16px 20px;text-align:center;
  box-shadow:var(--shadow);
}
.yb-year{
  display:block;font-family:'Bebas Neue',sans-serif;
  font-size:38px;letter-spacing:.03em;color:#fff;line-height:1;
}
.yb-label{
  font-family:'Fredoka',sans-serif;font-size:11px;font-weight:600;
  color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:1.5px;
}
/* About text */
.about-text-side .tag-pill{background:var(--secondary)}
.about-text-side h2{color:#fff;margin-bottom:16px}
.about-desc{color:rgba(255,255,255,.65);font-size:16px;line-height:1.8;margin-bottom:24px}
.about-features{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:28px;
}
.af-item{
  display:flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  border-radius:10px;padding:10px 14px;
  font-family:'Fredoka',sans-serif;font-size:14px;font-weight:600;color:#fff;
}

/* ══════════════════════════════════════════
   HOURS + LOCATION SECTION
══════════════════════════════════════════ */
.hours-loc-section{background:var(--light);padding:72px 0}
.hl-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:28px;
}
.hl-card{
  background:#fff;border:2px solid var(--border);
  border-radius:var(--radius-lg);padding:32px;
}
.hl-card h3{
  font-family:'Fredoka',sans-serif;font-size:20px;font-weight:700;
  color:var(--dark);margin-bottom:20px;
  display:flex;align-items:center;gap:8px;
}
/* Hours list */
.hours-list{list-style:none}
.hours-list li{
  display:flex;align-items:center;gap:8px;
  padding:9px 0;border-bottom:1.5px solid var(--border);
  font-family:'Nunito',sans-serif;font-size:14px;font-weight:600;
}
.hours-list li:last-child{border-bottom:none}
.h-day{width:36px;flex-shrink:0;font-weight:800;color:var(--dark)}
.h-time{flex:1;color:var(--mid)}
.h-time.is-closed{color:var(--accent);opacity:.6}
.hours-list li.is-today .h-day{color:var(--primary)}
.hours-list li.is-today .h-time{color:var(--dark);font-weight:800}
.h-badge{
  background:var(--primary);color:#fff;
  font-size:10px;font-weight:800;font-family:'Fredoka',sans-serif;
  padding:2px 8px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px;
  flex-shrink:0;
}
/* Compact variant for footer */
.footer-hours li{border-bottom-color:rgba(255,255,255,.07)}
.footer-hours .h-day,.footer-hours .h-time{color:rgba(255,255,255,.55)}
.footer-hours li.is-today .h-day{color:var(--secondary)}
.footer-hours li.is-today .h-time{color:rgba(255,255,255,.9);font-weight:800}

/* Location card */
.loc-addr{font-size:16px;font-weight:700;color:var(--dark);margin-bottom:10px;display:flex;align-items:flex-start;gap:8px}
.loc-phone{font-size:15px;font-weight:600;color:var(--mid);margin-bottom:20px;display:flex;align-items:center;gap:8px}
.loc-btns{display:flex;flex-direction:column;gap:10px}

/* ══════════════════════════════════════════
   GALLERY PREVIEW
══════════════════════════════════════════ */
.gallery-section{padding:72px 0;background:#fff}
.gallery-header{text-align:center;margin-bottom:40px}
.gallery-masonry{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-template-rows:auto;
  gap:14px;
}
/* Make first item span 2 rows */
.gallery-masonry .g-item:first-child{grid-row:span 2}
.g-item{
  border-radius:var(--radius);
  overflow:hidden;
  position:relative;
  background:var(--light);
}
.g-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.g-item:hover img{transform:scale(1.06)}
.g-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.55),transparent 60%);
  opacity:0;transition:var(--t);
  display:flex;align-items:flex-end;justify-content:center;padding-bottom:16px;
}
.g-item:hover .g-overlay{opacity:1}
.g-zoom{color:#fff;font-size:28px}
.g-placeholder{
  border-radius:var(--radius);
  background:var(--light);border:2px dashed var(--border);
  aspect-ratio:4/3;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:8px;
  color:rgba(0,0,0,.2);font-size:11px;font-family:'Nunito',sans-serif;
}
.g-placeholder span{font-size:28px;opacity:.3}

/* ══════════════════════════════════════════
   PAGE BANNER (inner pages)
══════════════════════════════════════════ */
.page-banner{
  position:relative;
  background:var(--dark);
  padding:64px 24px 56px;
  overflow:hidden;
  text-align:center;
}
.page-banner::before{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,217,61,.1) 1px,transparent 1px);
  background-size:24px 24px;
}
/* Diagonal accent */
.page-banner::after{
  content:'';position:absolute;
  left:0;top:0;bottom:0;width:180px;
  background:var(--primary);
  clip-path:polygon(0 0,70% 0,30% 100%,0 100%);
  opacity:.2;
}
.page-banner-content{position:relative;z-index:2;max-width:640px;margin:0 auto}
.page-banner-content .tag-pill{background:var(--secondary);color:var(--dark);margin-bottom:14px}
.page-banner-content h1{color:#fff;font-size:clamp(40px,6vw,72px);margin-bottom:10px}
.page-banner-content p{color:rgba(255,255,255,.6);font-family:'Fredoka',sans-serif;font-size:17px;margin:0}

/* ══════════════════════════════════════════
   ORDER PAGE
══════════════════════════════════════════ */
.order-layout{
  max-width:1160px;margin:0 auto;
  padding:40px 24px 64px;
  display:grid;
  grid-template-columns:280px 1fr;
  grid-template-areas:"sidebar main";
  gap:28px;align-items:start;
}
.order-main{grid-area:main}
.order-sidebar{grid-area:sidebar;display:flex;flex-direction:column;gap:16px;position:sticky;top:calc(var(--ticker-h)+var(--header-h)+16px)}
.sb-card{
  background:#fff;border:2px solid var(--border);
  border-radius:var(--radius);padding:20px;
}
.sb-card h3{font-family:'Fredoka',sans-serif;font-size:16px;font-weight:700;color:var(--dark);margin-bottom:12px;display:flex;align-items:center;gap:6px}
.sb-contact{list-style:none}
.sb-contact li{padding:7px 0;font-size:13px;font-weight:700;border-bottom:1.5px solid var(--border);color:var(--mid)}
.sb-contact li:last-child{border-bottom:none}
.sb-contact a{color:var(--primary)}
.sb-steps{list-style:none;counter-reset:sb}
.sb-steps li{counter-increment:sb;padding:7px 0 7px 26px;font-size:13px;font-weight:600;color:var(--mid);border-bottom:1.5px solid var(--border);position:relative}
.sb-steps li:last-child{border-bottom:none}
.sb-steps li::before{content:counter(sb);position:absolute;left:0;top:9px;background:var(--primary);color:#fff;width:17px;height:17px;border-radius:50%;font-size:10px;font-weight:900;display:flex;align-items:center;justify-content:center;font-family:'Nunito',sans-serif}
.order-main{min-width:0}
.plugin-missing{
  background:#fff;border:3px dashed var(--border);
  border-radius:var(--radius-lg);padding:60px 32px;
  text-align:center;
}
.pm-icon{font-size:52px;margin-bottom:16px}
.pm-actions{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}

/* ══════════════════════════════════════════
   ABOUT PAGE (full)
══════════════════════════════════════════ */
.about-page-section{padding:80px 0;background:#fff}
.about-page-section .about-grid{
  gap:56px;
}
.about-page-section .about-img{
  border-radius:var(--radius-lg);
}
.about-page-section .about-desc{color:var(--mid)}
.about-page-section .about-text-side h2{color:var(--dark)}
.about-page-section .af-item{
  background:var(--light);border-color:var(--border);color:var(--dark);
}

/* ══════════════════════════════════════════
   GALLERY (full page)
══════════════════════════════════════════ */
.gallery-full-section{padding:52px 0 80px;background:#fff}
.gallery-full-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:16px;
}
.gallery-full-grid .g-item{aspect-ratio:4/3}
.gallery-empty-msg{
  background:var(--light);border:2px dashed var(--border);
  border-radius:var(--radius-lg);padding:60px 32px;text-align:center;color:var(--mid);
}
.gallery-empty-msg span{font-size:48px;display:block;margin-bottom:12px;opacity:.3}

/* ══════════════════════════════════════════
   CONTACT PAGE
══════════════════════════════════════════ */
.contact-section{padding:72px 0;background:#fff}
.contact-grid{
  display:grid;grid-template-columns:1fr 1.3fr;
  gap:52px;align-items:start;
}
.contact-cards{display:flex;flex-direction:column;gap:14px;margin-top:20px}
.cc-card{
  display:flex;align-items:flex-start;gap:14px;
  background:var(--light);border:2px solid var(--border);
  border-radius:var(--radius);padding:18px;
}
.cc-icon{font-size:22px;flex-shrink:0;margin-top:2px}
.cc-body h4{font-size:14px;font-family:'Fredoka',sans-serif;font-weight:700;color:var(--mid);text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px}
.cc-body a,.cc-body p{font-size:15px;font-weight:700;color:var(--dark);margin:0}
.cc-body a:hover{color:var(--primary)}
.map-wrap{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.map-wrap iframe{display:block;width:100%;height:440px;border:none}
.map-placeholder{
  background:var(--light);border:2px dashed var(--border);
  border-radius:var(--radius-lg);padding:60px 24px;text-align:center;color:var(--mid);
}
.map-placeholder .mp-icon{font-size:52px;display:block;opacity:.3;margin-bottom:14px}
.contact-form-area{margin-top:24px}

/* ══════════════════════════════════════════
   SOCIAL LINKS
══════════════════════════════════════════ */
.social-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.soc-btn{
  display:inline-flex;align-items:center;gap:5px;
  padding:7px 14px;border-radius:50px;font-family:'Fredoka',sans-serif;
  font-size:13px;font-weight:600;transition:var(--t);
}
.social-row.social--dark .soc-btn{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.7);
}
.social-row.social--dark .soc-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff}
.social-row.social--light .soc-btn{
  background:var(--light);border:1.5px solid var(--border);color:var(--dark);
}
.social-row.social--light .soc-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff}
.social-row.social--footer .soc-btn{
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.65);font-size:12px;
}
.social-row.social--footer .soc-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.soc-wa{background:#25d366!important;border-color:#25d366!important;color:#fff!important}
.soc-wa:hover{background:#20b858!important;border-color:#20b858!important}

/* ══════════════════════════════════════════
   FOOTER
══════════════════════════════════════════ */
.sf-footer{background:#fff;margin-top:auto}
.footer-wave{line-height:0;background:var(--light)}
.footer-wave svg{width:100%;height:60px;display:block}
.footer-body{background:var(--dark);padding:52px 0 0}
.footer-grid{
  display:grid;grid-template-columns:1.8fr 1fr 1fr 1.2fr;
  gap:40px;padding-bottom:40px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.footer-logo-text{margin-bottom:12px}
.flt-name{display:block;font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:.05em;color:var(--primary);line-height:1}
.flt-tag{display:block;font-family:'Fredoka',sans-serif;font-size:11px;font-weight:600;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:2px;margin-top:2px}
.footer-slogan{color:rgba(255,255,255,.45);font-size:14px;line-height:1.6;margin-bottom:4px}
.fc-title{
  font-family:'Fredoka',sans-serif;font-size:13px;font-weight:700;
  color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:2px;
  margin-bottom:16px;
}
.footer-links{list-style:none}
.footer-links li{margin-bottom:10px}
.footer-links a{color:rgba(255,255,255,.55);font-size:14px;font-weight:600;transition:var(--t)}
.footer-links a:hover{color:var(--secondary)}
.footer-contact{list-style:none}
.footer-contact li{display:flex;align-items:flex-start;gap:8px;margin-bottom:10px;font-size:13px;font-weight:600;color:rgba(255,255,255,.5)}
.footer-contact a{color:rgba(255,255,255,.6);transition:var(--t)}
.footer-contact a:hover{color:var(--secondary)}
.footer-bottom{
  padding:20px 0;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:10px;
  font-size:12px;color:rgba(255,255,255,.25);
}
.footer-bottom strong{color:rgba(255,255,255,.4)}

/* ══════════════════════════════════════════
   PAGE CONTENT AREA
══════════════════════════════════════════ */
.page-content-area p{color:var(--mid);line-height:1.8;margin-bottom:16px}
.page-content-area h2,.page-content-area h3{margin:28px 0 12px}
.page-content-area ul,.page-content-area ol{padding-left:20px;margin-bottom:16px}
.page-content-area li{color:var(--mid);margin-bottom:6px}

/* ══════════════════════════════════════════
   GENERIC / FALLBACK
══════════════════════════════════════════ */
.post-wrap{max-width:780px;margin:0 auto;padding:52px 24px}
.post-wrap h1{margin-bottom:20px}
.error-zone{text-align:center;padding:80px 24px}
.error-zone .err-num{font-family:'Bebas Neue',sans-serif;font-size:130px;letter-spacing:.03em;color:var(--primary);line-height:1}

/* ══════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════ */
@media(max-width:1060px){
  .steps-row{grid-template-columns:1fr 1fr;gap:28px}
  .steps-row::before{display:none}
  .footer-grid{grid-template-columns:1fr 1fr}
  .hero-content{grid-template-columns:1fr}
  .hero-card{display:none}
  .sf-stats{grid-template-columns:repeat(2,1fr);gap:8px}
  .sf-stat{border-right:none;padding:14px 0;border-bottom:1px solid rgba(0,0,0,.08)}
  .sf-stat:nth-child(2n){border-right:none}
  .sf-stat:last-child,.sf-stat:nth-last-child(2){border-bottom:none}
}
@media(max-width:820px){
  .about-grid{grid-template-columns:1fr}
  .about-img-wrap{order:-1}
  .year-badge{bottom:-12px;left:12px}
  .about-features{grid-template-columns:1fr}
  .hl-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .gallery-masonry{grid-template-columns:1fr 1fr}
  .gallery-masonry .g-item:first-child{grid-row:auto}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
}
@media(max-width:768px){
  .burger{display:flex}
  .mob-drawer{display:block}
  .sf-nav,.live-status{display:none}
  .order-layout{display:block}
  .order-main{display:block}
  .order-sidebar{display:none !important}
  .steps-row{grid-template-columns:1fr}
  .gallery-masonry{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;text-align:center}
  .hero-title{font-size:clamp(54px,13vw,90px)}
  .hero-btns{flex-direction:column}
  .btn-primary,.btn-outline,.btn-dark{width:100%;justify-content:center}
  .pad-section{padding:52px 0}
}
@media(max-width:480px){
  .chips-inner{gap:8px}
  .sf-stats{grid-template-columns:1fr 1fr}
  .gallery-full-grid{grid-template-columns:1fr}
}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.anim-up{animation:fadeUp .55s ease both}
.anim-up-2{animation:fadeUp .55s .12s ease both}
.anim-up-3{animation:fadeUp .55s .22s ease both}
.anim-up-4{animation:fadeUp .55s .32s ease both}

/* ═══════════════════════════════════════
   CRITICAL FIXES v1.0.1
═══════════════════════════════════════ */

/* Fix: ticker must never overflow into nav */
.ticker-wrap {
  position: relative;
  z-index: 600; /* above everything */
  overflow: hidden;
  max-height: var(--ticker-h);
}

/* Fix: header must be below ticker, not overlapping */
.sf-header {
  position: sticky;
  top: 0; /* sticks below ticker naturally since ticker is in normal flow */
  z-index: 500;
}

/* Fix: mob-drawer must ALWAYS be hidden until .open class added —
   using both display:none as initial state AND transform for animation */
.mob-drawer {
  display: none !important; /* hidden by default */
}
.mob-drawer.open {
  display: block !important;
  transform: translateY(0);
}

/* Fix: nav-list must only show on desktop */
@media (max-width: 768px) {
  .sf-nav { display: none !important; }
  .live-status { display: none; }
  .burger { display: flex !important; }
}
@media (min-width: 769px) {
  .burger { display: none !important; }
  .mob-drawer { display: none !important; }
}

/* ── Fix: header right section — always inline, never wraps ── */
.sf-header-right {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  flex-shrink: 0 !important;
}

/* ── Fix: order page — menu first on mobile ── */
@media (max-width: 768px) {
  .order-layout {
    display: block !important;
  }
  .order-main {
    display: block !important;
  }
  .order-sidebar {
    display: none !important;
  }
}

/* Fix: hero must fill width and not be clipped */
.hero {
  width: 100%;
  position: relative;
}

/* Fix: body/html should not clip ticker */
body, #sf-wrap {
  overflow-x: hidden;
}

/* ── Order page: full-width plugin, no container padding ── */
.page-template-page-order #topsnack-wrap,
.page-template-page-order-php #topsnack-wrap {
  max-width: 520px;
  margin: 0 auto;
}
.page-template-page-order .sf-container,
.page-template-page-order-php .sf-container,
.page-template-page-order .entry-content,
.page-template-page-order-php .entry-content {
  padding: 0 !important;
  max-width: 100% !important;
}
@media (max-width: 540px) {
  .page-template-page-order #topsnack-wrap,
  .page-template-page-order-php #topsnack-wrap {
    max-width: 100vw !important;
    width: 100% !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow-x: hidden;
  }
}

/* ══════════════════════════════════════
   RESERVATION BUTTON & SECTION
══════════════════════════════════════ */

/* Hero reserve button */
.btn-reserve {
  display: inline-flex;align-items:center;gap:8px;
  padding: 14px 28px;
  background: transparent;
  border: 2.5px solid var(--secondary);
  color: var(--secondary);
  font-family: 'Fredoka', sans-serif;
  font-weight: 700; font-size: 16px;
  border-radius: var(--radius-xl);
  text-decoration: none;
  transition: var(--t);
  white-space: nowrap;
  flex-shrink: 0;
}
.btn-reserve:hover {
  background: var(--secondary);
  color: var(--dark);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255,217,61,.35);
}

/* Reservation section */
.reservation-section {
  background: linear-gradient(135deg, var(--dark) 0%, #2d1a00 100%);
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}
.reservation-section::before {
  content: '🪑';
  position: absolute;
  font-size: 220px;
  opacity: .04;
  right: -20px; top: -20px;
  line-height: 1;
}
.reservation-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.reservation-text .tag-pill {
  background: rgba(255,217,61,.15);
  border-color: rgba(255,217,61,.3);
  color: var(--secondary);
}
.reservation-text h2 {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(36px, 5vw, 56px);
  color: #fff;
  letter-spacing: .04em;
  margin: 12px 0 16px;
}
.reservation-text p {
  color: rgba(255,255,255,.7);
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 24px;
}
.res-perks {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.res-perks li {
  color: rgba(255,255,255,.85);
  font-size: 15px;
  font-weight: 600;
  font-family: 'Fredoka', sans-serif;
}
.reservation-cta-box {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: 40px 36px;
  text-align: center;
  box-shadow: 0 20px 60px rgba(0,0,0,.3);
}
.res-icon { font-size: 52px; margin-bottom: 12px; }
.reservation-cta-box h3 {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 32px;
  color: var(--dark);
  letter-spacing: .04em;
  margin-bottom: 8px;
}
.res-sub {
  color: var(--mid);
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 28px;
}
.btn-reserve-lg {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  justify-content: center;
  padding: 18px 24px;
  background: var(--primary);
  color: #fff;
  font-family: 'Fredoka', sans-serif;
  font-weight: 700;
  font-size: 18px;
  border-radius: var(--radius-xl);
  text-decoration: none;
  transition: var(--t);
  box-shadow: 0 6px 20px rgba(var(--primary-rgb),.35);
  margin-bottom: 16px;
}
.btn-reserve-lg:hover {
  background: var(--accent);
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(var(--primary-rgb),.45);
}
.res-note {
  font-size: 13px;
  color: var(--mid);
  font-weight: 600;
}
.res-note a {
  color: var(--primary);
  font-weight: 700;
}

/* Reservation section — mobile */
@media (max-width: 768px) {
  .reservation-inner {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .reservation-section { padding: 56px 0; }
  .reservation-cta-box { padding: 28px 20px; }
  .btn-reserve { width: 100%; justify-content: center; }
}

/* Reservation page placeholder */
.reservation-page-wrap { padding: 60px 0 80px; }
.res-placeholder {
  background: #fff;
  border: 2.5px dashed var(--border);
  border-radius: var(--radius-lg);
  padding: 56px 40px;
  text-align: center;
}
.res-ph-icon { font-size: 64px; margin-bottom: 16px; }
.res-placeholder h2 {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 36px; letter-spacing: .04em;
  color: var(--dark); margin-bottom: 12px;
}
.res-placeholder p { color: var(--mid); font-size: 15px; line-height: 1.7; margin-bottom: 28px; }
.res-ph-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 36px; }
.res-ph-info {
  background: var(--light);
  border-radius: var(--radius);
  padding: 24px;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.res-ph-row { display: flex; gap: 14px; align-items: flex-start; }
.res-ph-row > span { font-size: 22px; flex-shrink: 0; margin-top: 2px; }
.res-ph-row strong { display: block; font-family: 'Fredoka',sans-serif; font-size: 14px; text-transform: uppercase; letter-spacing: 1px; color: var(--mid); margin-bottom: 6px; }
.res-ph-row p { color: var(--dark); font-weight: 700; margin: 0; }
@media (max-width: 540px) {
  .res-placeholder { padding: 36px 20px; }
  .res-ph-actions { flex-direction: column; }
  .res-ph-actions a { width: 100%; justify-content: center; }
}
