/*
Theme Name: Saucy Bucket
Theme URI: https://example.com
Author: Custom Build
Description: Fast food ordering homepage theme — sticky white header, full-bleed hero carousel, menu grid.
Version: 1.0
Text Domain: saucy-bucket
*/

/* ============ TOKENS ============ */
:root{
  --brand-red:#E4002B;
  --white:#FFFFFF;
  --ink-black:#1A1A1A;
  --inactive-grey:#EAF0F6;
  --hero-deep-red:#7A0000;
  --warm-umber:#4A2A1F;
  --header-h:84px;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:Arial, Helvetica, sans-serif;
  color:var(--ink-black);
  background:var(--white);
}
a{text-decoration:none;color:inherit;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
img{display:block;max-width:100%;}

/* ============ HEADER ============ */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  width:100%;
  height:var(--header-h);
  background:var(--white);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 24px;
}

.header-left{
  display:flex;
  align-items:center;
  gap:16px;
}

.hamburger-btn{
  width:24px;height:24px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:2px 0;
}
.hamburger-btn span{
  display:block;
  height:3px;
  width:100%;
  background:var(--ink-black);
  border-radius:1px;
}

.logo{
  font-family:'Baloo 2', Arial, sans-serif;
  font-weight:800;
  font-style:italic;
  font-size:32px;
  color:var(--brand-red);
  letter-spacing:-0.5px;
}

.header-center{
  display:flex;
  gap:12px;
}

.mode-btn{
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px 20px;
  border-radius:8px;
  font-weight:700;
  text-transform:uppercase;
  font-size:14px;
  letter-spacing:0.3px;
  background:var(--inactive-grey);
  color:var(--ink-black);
  white-space:nowrap;
}
.mode-btn svg{flex-shrink:0;}
.mode-btn.active{
  background:var(--white);
  border:2px solid var(--brand-red);
  color:var(--ink-black);
}
.mode-btn.active svg{color:var(--brand-red);}

.header-right{
  display:flex;
  align-items:center;
  gap:16px;
}

.cart-wrap{
  position:relative;
  display:flex;
  align-items:center;
}
.cart-badge{
  position:absolute;
  top:-6px;
  right:-8px;
  background:var(--brand-red);
  color:var(--white);
  font-size:11px;
  font-weight:700;
  width:18px;height:18px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.login-btn{
  background:var(--brand-red);
  color:var(--white);
  font-weight:700;
  text-transform:uppercase;
  font-size:14px;
  border-radius:8px;
  padding:14px 24px;
  white-space:nowrap;
}

.mobile-only{display:none;}

/* ============ SUBNAV STRIP ============ */
.subnav{
  display:flex;
  gap:32px;
  justify-content:center;
  background:var(--white);
  padding:14px 24px;
  border-bottom:1px solid var(--inactive-grey);
  font-weight:700;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:0.4px;
  overflow-x:auto;
}
.subnav a{padding:4px 0;border-bottom:2px solid transparent;}
.subnav a:hover{border-bottom-color:var(--brand-red);}

/* ============ HERO ============ */
.hero{
  position:relative;
  width:100%;
  height:75vh;
  min-height:420px;
  display:flex;
  overflow:hidden;
}

.hero-panel{
  position:relative;
  flex:1 1 33.333%;
  height:100%;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.hero-panel img.bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}
.hero-panel .tint{
  position:absolute;
  inset:0;
  z-index:1;
}
.panel-1 .tint{background:linear-gradient(180deg, rgba(74,42,31,0) 40%, rgba(74,42,31,.55) 100%);}
.panel-3 .tint{background:linear-gradient(180deg, rgba(74,42,31,0) 40%, rgba(74,42,31,.55) 100%);}
.panel-2{background:var(--hero-deep-red);}
.panel-2 .tint{display:none;}

.sauce-cup{
  position:relative;
  z-index:2;
  width:90px;
  margin-bottom:24px;
}
.panel-1 .sauce-cup{margin-left:0;margin-right:auto;margin-left:24px;}
.panel-3 .sauce-cup{margin-right:24px;margin-left:auto;}

.cup-graphic{
  width:100%;
  background:var(--white);
  border-radius:10px 10px 4px 4px;
  overflow:hidden;
  box-shadow:0 6px 16px rgba(0,0,0,.35);
  border:2px solid var(--brand-red);
}
.cup-stripe{height:8px;background:var(--brand-red);}
.cup-stripe + .cup-stripe{margin-top:6px;}
.cup-label{
  font-size:9px;
  font-weight:800;
  text-align:center;
  color:var(--brand-red);
  padding:6px 4px 8px;
  text-transform:uppercase;
  letter-spacing:0.5px;
}

.panel-2-content{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  height:100%;
  padding:24px;
  text-align:center;
}

.drip-headline{
  font-family:'Baloo 2', sans-serif;
  font-weight:800;
  font-size:clamp(28px, 5vw, 52px);
  color:var(--white);
  line-height:1.05;
  text-shadow:
    0 4px 0 var(--brand-red),
    0 8px 14px rgba(0,0,0,.4);
  position:relative;
}
.drip-headline::after{
  content:'';
  display:block;
  width:60%;
  height:14px;
  margin:6px auto 0;
  background:radial-gradient(ellipse at top, var(--white) 0 40%, transparent 41%);
  background-size:20px 20px;
  background-repeat:repeat-x;
  opacity:.9;
}

.panel-2-sandwich{
  width:120px;
  margin:8px auto 0;
}

.new-splat{
  position:absolute;
  top:16px;
  right:16px;
  z-index:3;
  width:78px;
  height:78px;
  background:var(--white);
  border-radius:48% 52% 50% 50% / 55% 45% 55% 45%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Baloo 2', sans-serif;
  font-weight:800;
  font-style:italic;
  color:var(--brand-red);
  font-size:16px;
  transform:rotate(-8deg);
  box-shadow:0 4px 10px rgba(0,0,0,.25);
}

.hero-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  width:44px;height:44px;
  border-radius:50%;
  background:rgba(255,255,255,.55);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--brand-red);
}
.hero-arrow.prev{left:16px;}
.hero-arrow.next{right:16px;}
.hero-arrow:hover{background:rgba(255,255,255,.8);}

/* ============ MENU GRID ============ */
.menu-section{
  padding:56px 24px;
  max-width:1280px;
  margin:0 auto;
}
.menu-section h2{
  font-size:28px;
  margin-bottom:24px;
  text-transform:uppercase;
  letter-spacing:0.4px;
}
.menu-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:20px;
}
.menu-card{
  background:var(--white);
  border:1px solid var(--inactive-grey);
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 2px 8px rgba(0,0,0,.05);
  display:flex;
  flex-direction:column;
}
.menu-card img{
  width:100%;
  height:160px;
  object-fit:cover;
}
.menu-card-body{
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:6px;
  flex:1;
}
.menu-card-body h3{margin:0;font-size:16px;}
.menu-card-body p{margin:0;font-size:13px;color:#555;flex:1;}
.find-more-btn{
  align-self:flex-start;
  margin-top:8px;
  background:var(--brand-red);
  color:var(--white);
  font-weight:700;
  font-size:12px;
  text-transform:uppercase;
  padding:10px 18px;
  border-radius:999px;
}

/* ============ CONTENT PAGES (nav/product pages) ============ */
.content-page{
  max-width:760px;
}
.content-page-hero{
  width:100%;
  margin-bottom:24px;
  border-radius:12px;
  overflow:hidden;
}
.content-page-hero img{width:100%;height:auto;}
.content-page h1{
  font-size:32px;
  margin:0 0 16px;
  text-transform:uppercase;
}
.content-page-body{
  font-size:16px;
  line-height:1.6;
  color:#333;
}

/* ============ BLOG SECTION ============ */
.blog-section h2{margin-bottom:24px;}
.blog-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:20px;
}
.blog-card{
  display:block;
  background:var(--white);
  border:1px solid var(--inactive-grey);
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 2px 8px rgba(0,0,0,.05);
}
.blog-card img{width:100%;height:160px;object-fit:cover;}
.blog-card-body{padding:16px;}
.blog-date{
  display:block;
  font-size:12px;
  font-weight:700;
  color:var(--brand-red);
  text-transform:uppercase;
  margin-bottom:6px;
}
.blog-card-body h3{margin:0 0 6px;font-size:16px;}
.blog-card-body p{margin:0;font-size:13px;color:#555;}

footer.site-footer{
  background:var(--ink-black);
  color:var(--white);
  text-align:center;
  padding:24px;
  font-size:13px;
}

/* ============ RESPONSIVE ============ */
@media (max-width: 900px){
  .menu-grid{grid-template-columns:repeat(2, 1fr);}
  .blog-grid{grid-template-columns:repeat(2, 1fr);}
}

@media (max-width: 720px){
  .header-center{display:none;}
  .mobile-only{display:flex;}
  .logo{font-size:24px;}
  .login-btn{padding:10px 16px;font-size:12px;}
  .subnav{gap:20px;font-size:12px;}
  .drip-headline{font-size:32px;}
  .hero{flex-direction:column;height:auto;}
  .hero-panel{flex:1 1 auto;height:60vh;}
}

@media (max-width: 480px){
  .menu-grid{grid-template-columns:1fr;}
  .blog-grid{grid-template-columns:1fr;}
}

/* Mobile drawer */
.mobile-drawer{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.4);
  z-index:200;
  display:none;
}
.mobile-drawer.open{display:block;}
.mobile-drawer-panel{
  background:var(--white);
  width:80%;
  max-width:320px;
  height:100%;
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.mobile-drawer-panel .mode-btn{width:100%;justify-content:flex-start;}
.drawer-close{align-self:flex-end;font-size:24px;}

:focus-visible{outline:3px solid var(--brand-red);outline-offset:2px;}
