*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5eee1;color:#15120f;font-family:Arial,sans-serif}a{color:inherit;text-decoration:none}header{height:82px;padding:9px 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d8d0c3;position:sticky;top:0;background:#f5eee1ee;backdrop-filter:blur(12px);z-index:10}.logo img{width:150px;max-height:64px;object-fit:contain}nav{display:flex;align-items:center;gap:25px;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.nav-order,.btn{background:#d94b22;color:#fff;padding:14px 19px}.menu-toggle{display:none;background:none;border:0;font-size:1.6rem}.hero{min-height:calc(100vh - 82px);max-width:1450px;margin:auto;padding:6vw 5vw;display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center}.eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.16em;margin:0 0 18px}.hero h1,h2{font-size:clamp(4rem,8vw,8.5rem);line-height:.84;letter-spacing:-.075em;margin:0 0 28px}.hero h1 em,h2 em{font-family:Georgia,serif}.lead{font-size:1.18rem;line-height:1.6;max-width:560px}.actions{margin-top:25px}.btn{display:inline-block;font-weight:700;letter-spacing:.09em;margin:8px 8px 0 0}.outline{background:transparent;color:#15120f;border:1px solid #15120f}.hero-photo{height:min(720px,72vh);min-height:500px;position:relative;overflow:hidden;background:#24211d}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center center}.photo-tag{position:absolute;left:22px;bottom:22px;background:#15120f;color:#fff;padding:15px 18px;font-weight:700;letter-spacing:.1em;line-height:1.05}.ticker{background:#15120f;color:#fff;padding:17px;text-align:center;font-weight:700;letter-spacing:.1em}.ticker b{margin:0 12px;color:#f4b51b}.intro,.partner{padding:11vw 8vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.copy{font-size:1.18rem;line-height:1.7;padding-top:35px}.intro h2,.partner h2{font-size:clamp(3.5rem,6vw,6.5rem)}.menu-section{padding:10vw 7vw;background:#fffaf2}.section-head{max-width:1300px;margin:auto;display:grid;grid-template-columns:1fr .6fr;gap:8vw;align-items:end}.section-head h2{font-size:clamp(3.5rem,6vw,6.5rem)}.section-head>p{font-size:1.05rem;line-height:1.7}.menu-cards{max-width:1300px;margin:55px auto 70px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.menu-cards article{padding:28px;background:#f5eee1;border-top:5px solid #15120f;min-height:245px}.menu-cards article.hot{background:#d94b22;color:#fff;border-color:#f4b51b}.menu-cards span{font-weight:700;color:#d94b22}.menu-cards .hot span{color:#f4b51b}.menu-cards h3{font-size:2rem;letter-spacing:-.05em;margin:8px 0 13px}.menu-cards p{line-height:1.6;color:#5e574f}.menu-cards .hot p{color:#fff}.menu-board{max-width:950px;margin:auto;box-shadow:0 20px 60px #0002}.menu-board img{width:100%;display:block}.full-photo{position:relative;height:80vh;min-height:560px;overflow:hidden;background:#15120f;color:#fff}.full-photo img,.full-photo video{width:100%;height:100%;object-fit:cover;filter:saturate(1.05)}.full-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000b,transparent 65%)}.full-photo>div{position:absolute;z-index:1;left:8%;bottom:10%;max-width:750px}.full-photo h2{font-size:clamp(3.5rem,7vw,7rem)}.manifesto{background:#d94b22;color:#fff;text-align:center;padding:12vw 8vw}.manifesto h2{max-width:1050px;margin:0 auto 30px}.manifesto p:last-child{max-width:650px;margin:auto;font-size:1.15rem;line-height:1.7}.find{padding:11vw 8vw;background:#f4b51b}.find h2{margin-bottom:50px}.location{display:flex;justify-content:space-between;align-items:center;border:2px solid #15120f;padding:28px;font-size:1.1rem}.location strong{font-size:2rem}.partner{background:#fffaf2}.partner>div:last-child{padding-top:50px;font-size:1.15rem;line-height:1.7}.order{text-align:center;padding:12vw 7vw;background:#15120f;color:#fff}.order h2{margin-bottom:20px}.order p:not(.eyebrow){max-width:550px;margin:0 auto 20px;line-height:1.7}.light{background:#f4b51b;color:#15120f}footer{background:#0d0b09;color:#fff;padding:55px 7vw}footer img{width:200px;background:#fff;padding:8px}footer p{font-weight:700;letter-spacing:.15em}footer small{opacity:.55}@media(max-width:800px){header{height:70px}.logo img{width:125px}nav{display:none;position:absolute;left:0;right:0;top:70px;background:#f5eee1;padding:25px 7vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid #d8d0c3}.open{display:flex}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding-top:14vw}.hero-photo{height:470px;min-height:0}.section-head,.intro,.partner{grid-template-columns:1fr;gap:30px}.menu-cards{grid-template-columns:1fr;margin-top:40px}.menu-section,.intro,.partner,.find,.order{padding:18vw 7vw}.full-photo{height:70vh;min-height:500px}.location{align-items:flex-start;flex-direction:column;gap:18px}.hero h1{font-size:clamp(3.7rem,16vw,6rem)}}
.wors-menu{padding:10vw 7vw;background:#171513;color:#fff}
.wors-menu .section-head>p{color:#d8d1c8}
.wors-menu .eyebrow{color:#f4b51b}
.wors-menu h2{color:#fff}
.wors-menu h2 em{color:#f4b51b}
.wors-board{max-width:1050px;margin:55px auto 0;box-shadow:0 25px 70px #0008}
.wors-board img{width:100%;display:block}

.shop-only{padding:10vw 7vw;background:#f4b51b;color:#15120f}
.shop-only .section-head>p{color:#2b241b}
.shop-only .eyebrow{color:#15120f}
.shop-only h2 em{color:#15120f}
.shop-board{max-width:1050px;margin:55px auto 0;background:#15120f;box-shadow:0 25px 70px #0005}
.shop-board img{width:100%;display:block}

.video-note{font-size:1rem;line-height:1.5;max-width:520px;margin-top:8px}

.burger-spotlight{padding:9vw 7vw;display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:center;background:#15120f;color:#fff}
.spotlight-image{overflow:hidden;min-height:520px;background:#21150d}
.spotlight-image img{width:100%;height:100%;min-height:520px;object-fit:cover;display:block}
.spotlight-copy{max-width:600px}
.spotlight-copy h2{font-size:clamp(4rem,7vw,7rem)}
.spotlight-copy h2 em{color:#f4b51b}
.spotlight-copy>p:not(.eyebrow){font-size:1.12rem;line-height:1.75;color:#ddd}
@media(max-width:800px){
  .burger-spotlight{grid-template-columns:1fr;padding:18vw 7vw}
  .spotlight-image,.spotlight-image img{min-height:360px}
}

.staff-section{padding:9vw 7vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center;background:#f4b51b;color:#17120d}
.staff-video{height:min(720px,72vw);overflow:hidden;background:#111}
.staff-video video{width:100%;height:100%;object-fit:cover;display:block}
.staff-copy{max-width:620px}
.staff-copy h2{font-size:clamp(4rem,7vw,7rem);line-height:.9;margin:.15em 0 .3em}
.staff-copy h2 em{font-style:normal}
.staff-copy>p:not(.eyebrow){font-size:1.12rem;line-height:1.75;max-width:560px}
@media(max-width:800px){
  .staff-section{grid-template-columns:1fr;padding:16vw 7vw}
  .staff-video{height:125vw;max-height:680px}
}

/* V11: horizontal menu navigator */
.menu-jump{
  position:sticky;
  top:0;
  z-index:50;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  background:#15120f;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
  overflow-x:auto;
  white-space:nowrap;
  scrollbar-width:none;
}
.menu-jump::-webkit-scrollbar{display:none}
.menu-jump-title{
  padding:18px 24px;
  font-weight:800;
  letter-spacing:.12em;
  font-size:.72rem;
  color:#f4b51b;
}
.menu-jump a{
  padding:18px 24px;
  color:#fff;
  text-decoration:none;
  font-weight:800;
  letter-spacing:.08em;
  font-size:.72rem;
  border-left:1px solid rgba(255,255,255,.12);
  transition:.2s ease;
}
.menu-jump a:hover{
  background:#f4b51b;
  color:#15120f;
}
.menu-section,.wors-menu,.shop-only{scroll-margin-top:70px}

/* Keep the three menu categories visually compact on desktop. */
.menu-section .menu-board,
.wors-menu .wors-board,
.shop-only .shop-board{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}
.menu-section .menu-board img,
.wors-menu .wors-board img,
.shop-only .shop-board img{
  width:100%;
  display:block;
}
@media(max-width:800px){
  .menu-jump{justify-content:flex-start}
  .menu-jump-title,.menu-jump a{padding:15px 16px}
}

/* V12: three menu boards displayed side-by-side */
.menu-gallery{
  padding:9vw 5vw;
  background:#f4b51b;
  color:#15120f;
  overflow:hidden;
}
.menu-gallery .section-heading{
  max-width:900px;
  margin:0 auto 3.5rem;
  text-align:center;
}
.menu-gallery .section-heading h2{
  font-size:clamp(3.5rem,6vw,6rem);
  line-height:.92;
  margin:.2em 0 .3em;
}
.menu-gallery .section-heading h2 em{
  font-style:normal;
}
.menu-gallery .section-heading>p:last-child{
  font-size:1.05rem;
}
.menu-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  max-width:1500px;
  margin:0 auto;
  align-items:start;
}
.menu-card{
  display:block;
  position:relative;
  background:#15120f;
  border:2px solid #15120f;
  overflow:hidden;
  text-decoration:none;
  color:#fff;
  box-shadow:0 14px 35px rgba(0,0,0,.18);
  transition:transform .2s ease,box-shadow .2s ease;
}
.menu-card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 45px rgba(0,0,0,.25);
}
.menu-card img{
  display:block;
  width:100%;
  height:620px;
  object-fit:cover;
  object-position:top center;
}
.menu-card span{
  display:block;
  padding:16px 18px;
  text-align:center;
  font-weight:900;
  letter-spacing:.12em;
  font-size:.82rem;
}
@media(max-width:1050px){
  .menu-cards{
    grid-template-columns:repeat(3,minmax(280px,1fr));
    overflow-x:auto;
    padding:0 0 16px;
    scroll-snap-type:x mandatory;
  }
  .menu-card{
    scroll-snap-align:start;
  }
}
@media(max-width:700px){
  .menu-gallery{padding:16vw 5vw}
  .menu-cards{
    grid-template-columns:repeat(3,82vw);
    gap:14px;
  }
  .menu-card img{height:105vw}
}

/* V13: real ordering interface */
.order-section{padding:9vw 5vw;background:#15120f;color:#fff}
.order-heading{max-width:850px;margin:0 auto 4rem;text-align:center}
.order-heading h2{font-size:clamp(4rem,7vw,7rem);line-height:.9;margin:.2em 0}
.order-heading h2 em{color:#f4b51b;font-style:normal}
.order-heading>p:last-child{font-size:1.05rem;line-height:1.65;color:#ccc}
.order-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:28px;max-width:1500px;margin:auto;align-items:start}
.order-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.order-product{background:#211d19;border:1px solid rgba(255,255,255,.1);padding:25px;display:flex;flex-direction:column;min-height:230px}
.product-tag{font-size:.66rem;font-weight:900;letter-spacing:.15em;color:#f4b51b;margin-bottom:12px}
.order-product h3{font-size:1.65rem;margin:0 0 10px}
.order-product p{color:#c9c9c9;line-height:1.5;margin:0 0 20px}
.product-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
.product-bottom strong{font-size:1.4rem}
.add-btn,.checkout-btn{border:0;background:#f4b51b;color:#15120f;font-weight:900;letter-spacing:.06em;padding:13px 15px;cursor:pointer}
.add-btn:hover,.checkout-btn:hover{filter:brightness(1.08)}
.cart-box{background:#fff;color:#15120f;padding:25px;position:sticky;top:85px;box-shadow:0 18px 50px rgba(0,0,0,.28)}
.cart-top{display:flex;justify-content:space-between;font-weight:900;letter-spacing:.1em;padding-bottom:18px;border-bottom:2px solid #15120f}
.cart-count{background:#15120f;color:#fff;border-radius:50%;width:30px;height:30px;display:grid;place-items:center}
.cart-items{max-height:480px;overflow:auto}
.empty-cart{color:#666;line-height:1.6;padding:25px 0}
.cart-item{display:flex;justify-content:space-between;gap:12px;padding:17px 0;border-bottom:1px solid #ddd}
.cart-item strong{display:block;font-size:.95rem;line-height:1.25}
.cart-item small{display:block;color:#777;margin-top:5px}
.qty{display:flex;align-items:center;gap:9px}
.qty button{width:27px;height:27px;border:1px solid #aaa;background:#fff;cursor:pointer;font-size:18px}
.cart-total{display:flex;justify-content:space-between;font-size:1.1rem;font-weight:900;padding:20px 0}
.checkout-btn{width:100%;font-size:.78rem}
.cart-note{font-size:.72rem;line-height:1.5;color:#777}
@media(max-width:1050px){
  .order-layout{grid-template-columns:1fr}
  .cart-box{position:sticky;bottom:0;top:auto;z-index:40}
}
@media(max-width:650px){
  .order-products{grid-template-columns:1fr}
  .order-section{padding:16vw 5vw}
  .cart-box{padding:18px}
}

/* V14: pickup and delivery */
.fulfilment-section{padding:9vw 5vw;background:#f4b51b;color:#15120f}
.fulfilment-heading{max-width:850px;margin:0 auto 3.5rem;text-align:center}
.fulfilment-heading h2{font-size:clamp(4rem,7vw,7rem);line-height:.9;margin:.2em 0}
.fulfilment-heading h2 em{font-style:normal}
.fulfilment-heading>p:last-child{font-size:1.05rem;line-height:1.6}
.fulfilment-grid{max-width:1050px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fulfilment-card{border:3px solid #15120f;background:#fff;color:#15120f;text-align:left;padding:32px;cursor:pointer;min-height:250px;transition:.2s ease}
.fulfilment-card:hover,.fulfilment-card.active{transform:translateY(-5px);box-shadow:0 18px 35px rgba(0,0,0,.18)}
.fulfilment-card.active{background:#15120f;color:#fff}
.fulfilment-icon{display:inline-block;font-weight:900;font-size:.7rem;letter-spacing:.14em;padding:7px 10px;background:#f4b51b;color:#15120f}
.fulfilment-card h3{font-size:2.1rem;margin:25px 0 10px}
.fulfilment-card p{line-height:1.6;opacity:.78;max-width:480px}
.select-label{display:block;margin-top:25px;font-weight:900;letter-spacing:.1em;font-size:.72rem}
.customer-details{max-width:1050px;margin:30px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#fff;padding:25px;color:#15120f}
.customer-details>div{display:flex;flex-direction:column;gap:7px}
.customer-details label{font-size:.75rem;font-weight:900;letter-spacing:.08em}
.customer-details label span{font-weight:400;opacity:.6}
.customer-details input{border:1px solid #aaa;padding:14px;font:inherit;background:#fff}
@media(max-width:700px){
  .fulfilment-grid,.customer-details{grid-template-columns:1fr}
  .fulfilment-section{padding:16vw 5vw}
}


/* V15: real Kassie Burger locations */
.locations-section{
  padding:10vw 6vw;
  background:#f4b51b;
  color:#15120f;
}
.locations-heading{
  max-width:950px;
  margin:0 auto 55px;
  text-align:center;
}
.locations-heading h2{
  font-size:clamp(4rem,7vw,7rem);
  line-height:.88;
  margin:.15em 0 .3em;
}
.locations-heading h2 em{
  font-style:normal;
  font-family:Georgia,serif;
}
.locations-heading>p:last-child{
  max-width:650px;
  margin:auto;
  font-size:1.08rem;
  line-height:1.65;
}
.locations-grid{
  max-width:1500px;
  margin:auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.location-card{
  position:relative;
  background:#fffaf2;
  border:2px solid #15120f;
  padding:30px;
  min-height:500px;
  display:flex;
  flex-direction:column;
  box-shadow:0 16px 35px rgba(0,0,0,.14);
}
.location-card.featured{
  background:#15120f;
  color:#fff;
  border-color:#15120f;
}
.location-number{
  position:absolute;
  top:18px;
  right:20px;
  font-size:2.7rem;
  line-height:1;
  font-weight:900;
  opacity:.13;
}
.location-type{
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.15em;
  margin:0 0 10px;
}
.location-card h3{
  font-size:clamp(2.7rem,4vw,4.2rem);
  letter-spacing:-.06em;
  line-height:.9;
  margin:0 0 30px;
}
.location-info{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-bottom:28px;
}
.location-info p{
  margin:0;
  line-height:1.5;
  font-size:.94rem;
}
.location-info strong{
  font-size:.67rem;
  letter-spacing:.1em;
}
.location-info a{
  text-decoration:underline;
  text-underline-offset:3px;
}
.location-actions{
  margin-top:auto;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.location-btn{
  display:inline-block;
  background:#f4b51b;
  color:#15120f;
  border:2px solid #15120f;
  padding:13px 15px;
  font-weight:900;
  letter-spacing:.07em;
  font-size:.72rem;
}
.location-btn.dark{
  background:#15120f;
  color:#fff;
}
.location-card.featured .location-btn.dark{
  background:#fffaf2;
  color:#15120f;
  border-color:#fffaf2;
}
.location-card.featured .location-btn:not(.dark){
  border-color:#f4b51b;
}
.locations-footer{
  max-width:1500px;
  margin:22px auto 0;
  padding:18px 22px;
  border:2px solid #15120f;
  display:flex;
  justify-content:space-between;
  gap:15px;
  font-size:.75rem;
  letter-spacing:.1em;
}
@media(max-width:1050px){
  .locations-grid{
    grid-template-columns:1fr;
    max-width:700px;
  }
  .location-card{
    min-height:0;
  }
}
@media(max-width:650px){
  .locations-section{padding:17vw 5vw}
  .locations-heading{margin-bottom:40px}
  .location-card{padding:25px}
  .location-info{grid-template-columns:1fr}
  .locations-footer{
    flex-direction:column;
    align-items:flex-start;
  }
}


/* V16: full ordering experience */
.order-shop-picker{
  max-width:1200px;
  margin:0 auto 38px;
  padding:28px;
  background:#fffaf2;
  border:2px solid #15120f;
  box-shadow:0 12px 28px rgba(0,0,0,.1);
}
.order-shop-picker h3{
  font-size:clamp(2rem,4vw,3.6rem);
  line-height:.95;
  letter-spacing:-.05em;
  margin:.15em 0 .25em;
}
.order-shop-picker>div:first-child>p:last-child{
  margin:0;
  line-height:1.5;
}
.shop-choice-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:25px;
}
.shop-choice{
  appearance:none;
  border:2px solid #15120f;
  background:#f5eee1;
  color:#15120f;
  text-align:left;
  padding:18px;
  cursor:pointer;
  transition:transform .18s ease, background .18s ease;
}
.shop-choice:hover{transform:translateY(-3px)}
.shop-choice.active{
  background:#f4b51b;
  box-shadow:6px 6px 0 #15120f;
}
.shop-choice strong,
.shop-choice span{display:block}
.shop-choice strong{
  font-size:.9rem;
  letter-spacing:.08em;
  margin-bottom:5px;
}
.shop-choice span{
  font-size:.78rem;
  opacity:.72;
}
.selected-shop-line{
  margin:20px 0 0;
  font-size:.82rem;
  letter-spacing:.04em;
}
.selected-shop-line strong{font-weight:900}

.mobile-order-bar{
  display:none;
}
@media(max-width:760px){
  .shop-choice-grid{
    grid-template-columns:1fr;
  }
  .order-shop-picker{
    padding:22px;
  }
  .mobile-order-bar{
    display:block;
    position:fixed;
    left:14px;
    right:14px;
    bottom:14px;
    z-index:9999;
  }
  .mobile-order-bar a{
    display:flex;
    justify-content:center;
    gap:12px;
    align-items:center;
    background:#15120f;
    color:#fff;
    border:2px solid #f4b51b;
    box-shadow:0 8px 25px rgba(0,0,0,.3);
    padding:15px 20px;
    font-weight:900;
    letter-spacing:.08em;
    text-decoration:none;
  }
}


/* V17: payment-ready checkout foundation */
.v17-checkout{
  padding:10vw 6vw;
  background:#15120f;
  color:#fffaf2;
}
.v17-checkout-head{
  max-width:900px;
  margin:0 auto 45px;
  text-align:center;
}
.v17-checkout-head h2{
  font-size:clamp(3.4rem,7vw,6.5rem);
  line-height:.88;
  letter-spacing:-.06em;
  margin:.2em 0 .3em;
}
.v17-checkout-head h2 em{
  font-family:Georgia,serif;
  font-style:normal;
}
.v17-checkout-head>p:last-child{
  max-width:650px;
  margin:auto;
  line-height:1.6;
  opacity:.75;
}
.v17-checkout-grid{
  max-width:1150px;
  margin:auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.v17-checkout-card{
  background:#fffaf2;
  color:#15120f;
  padding:30px;
  border:2px solid #f4b51b;
}
.v17-step{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:.72rem;
  letter-spacing:.1em;
  margin-bottom:22px;
}
.v17-step span{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  background:#f4b51b;
  border:2px solid #15120f;
  font-weight:900;
}
.v17-summary{
  min-height:80px;
}
.v17-line{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:13px 0;
  border-bottom:1px solid rgba(21,18,15,.18);
}
.v17-line span{display:flex;gap:8px;flex-direction:column}
.v17-line small{opacity:.6}
.v17-empty{opacity:.6}
.v17-total-row{
  display:flex;
  justify-content:space-between;
  padding-top:20px;
  margin-top:8px;
  font-size:1rem;
  letter-spacing:.08em;
}
.v17-payment-options{
  display:grid;
  gap:10px;
  margin-bottom:28px;
}
.v17-payment{
  display:block;
  border:2px solid #15120f;
  padding:15px;
  cursor:pointer;
  background:#f5eee1;
}
.v17-payment.active{
  background:#f4b51b;
  box-shadow:5px 5px 0 #15120f;
}
.v17-payment input{margin-right:10px}
.v17-payment span{display:inline-flex;flex-direction:column;vertical-align:top;max-width:calc(100% - 30px)}
.v17-payment small{margin-top:4px;opacity:.68;line-height:1.4}
.v17-customer label{
  display:block;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.06em;
  margin:13px 0;
}
.v17-customer input,
.v17-customer textarea{
  display:block;
  width:100%;
  margin-top:7px;
  box-sizing:border-box;
  border:2px solid #15120f;
  background:#fff;
  padding:13px;
  font:inherit;
  color:#15120f;
  resize:vertical;
}
.optional{opacity:.5}
.v17-confirm{
  width:100%;
  margin-top:18px;
  border:2px solid #15120f;
  background:#15120f;
  color:#fff;
  padding:16px 20px;
  font-weight:900;
  letter-spacing:.08em;
  cursor:pointer;
  display:flex;
  justify-content:center;
  gap:15px;
}
.v17-confirm:hover{background:#d94b22}
.v17-security{
  font-size:.68rem;
  text-align:center;
  opacity:.6;
  margin:15px 0 0;
}
.v17-confirmation{
  max-width:1150px;
  margin:28px auto 0;
  padding:35px;
  text-align:center;
  background:#f4b51b;
  color:#15120f;
  border:2px solid #fffaf2;
}
.v17-confirmation-mark{
  width:60px;height:60px;margin:0 auto 15px;
  display:grid;place-items:center;
  border:2px solid #15120f;border-radius:50%;
  font-size:2rem;font-weight:900;
}
.v17-confirmation h3{
  font-size:clamp(2rem,5vw,4rem);
  margin:.2em 0;
}
.v17-confirmation-actions{
  display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:22px;
}
.v17-confirm-btn{
  border:2px solid #15120f;
  background:#15120f;color:#fffaf2;
  padding:14px 18px;
  font-weight:900;
  text-decoration:none;
  cursor:pointer;
}
.v17-confirm-btn.alt{
  background:#fffaf2;color:#15120f;
}
@media(max-width:850px){
  .v17-checkout-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .v17-checkout{padding:16vw 5vw}
  .v17-checkout-card{padding:22px}
  .v17-confirmation{padding:26px 20px}
}


/* V19: live website-to-order-system connection */
.v19-api-status{
  display:inline-block;
  margin-top:16px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.35);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
  opacity:.72;
}
.v19-api-status.online{color:#f4b51b;border-color:#f4b51b;opacity:1}
.v19-api-status.offline{color:#ff8b6d;border-color:#ff8b6d;opacity:1}
.v17-confirm:disabled{opacity:.55;cursor:wait}

/* ONLINE ORDER MENU */
.online-order-menu {
  padding: 90px 6vw;
  background: #f4ead8;
  color: #17120e;
}

.online-order-menu .section-heading {
  max-width: 850px;
  margin: 0 auto 50px;
  text-align: center;
}

.order-category {
  max-width: 1250px;
  margin: 0 auto 65px;
}

.order-category-head {
  border-left: 6px solid #d58a18;
  padding-left: 18px;
  margin-bottom: 24px;
}

.order-category-head h3 {
  margin: 0;
  font-size: clamp(28px, 4vw, 46px);
  text-transform: uppercase;
}

.order-product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.order-product {
  background: #fffaf0;
  border: 2px solid #241b15;
  padding: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 115px;
  box-shadow: 5px 5px 0 #241b15;
}

.order-product h4 {
  margin: 5px 0;
  font-size: 22px;
}

.order-product strong {
  font-size: 21px;
}

.product-tag {
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.add-btn {
  border: 2px solid #17120e;
  background: #d94718;
  color: #fff;
  padding: 13px 16px;
  font-weight: 900;
  letter-spacing: .04em;
  cursor: pointer;
  white-space: nowrap;
}

.add-btn:hover {
  transform: translateY(-2px);
}

.featured-product {
  border-color: #b8780e;
}

@media (max-width: 760px) {
  .online-order-menu {
    padding: 60px 5vw;
  }

  .order-product-grid {
    grid-template-columns: 1fr;
  }

  .order-product {
    flex-direction: column;
    align-items: stretch;
  }

  .add-btn {
    width: 100%;
  }
}


/* ONLINE ORDER MENU */
.online-order-menu {
  padding: 90px 6vw;
  background: #f4ead8;
  color: #17120e;
}

.online-order-menu .section-heading {
  max-width: 850px;
  margin: 0 auto 50px;
  text-align: center;
}

.order-category {
  max-width: 1250px;
  margin: 0 auto 65px;
}

.order-category-head {
  border-left: 6px solid #d58a18;
  padding-left: 18px;
  margin-bottom: 24px;
}

.order-category-head h3 {
  margin: 0;
  font-size: clamp(28px, 4vw, 46px);
  text-transform: uppercase;
}

.order-product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.order-product {
  background: #fffaf0;
  border: 2px solid #241b15;
  padding: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 115px;
  box-shadow: 5px 5px 0 #241b15;
}

.order-product h4 {
  margin: 5px 0;
  font-size: 22px;
}

.order-product strong {
  font-size: 21px;
}

.product-tag {
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.add-btn {
  border: 2px solid #17120e;
  background: #d94718;
  color: #fff;
  padding: 13px 16px;
  font-weight: 900;
  letter-spacing: .04em;
  cursor: pointer;
  white-space: nowrap;
}

.add-btn:hover {
  transform: translateY(-2px);
}

.featured-product {
  border-color: #b8780e;
}

@media (max-width: 760px) {
  .online-order-menu {
    padding: 60px 5vw;
  }

  .order-product-grid {
    grid-template-columns: 1fr;
  }

  .order-product {
    flex-direction: column;
    align-items: stretch;
  }

  .add-btn {
    width: 100%;
  }
}


/* CART */
.cart-section {
  padding: 80px 6vw;
  background: #17120e;
  color: #fffaf0;
}

.cart-inner {
  max-width: 1050px;
  margin: 0 auto;
}

.cart-heading {
  text-align: center;
  margin-bottom: 35px;
}

.cart-heading h2 {
  margin: 8px 0;
  font-size: clamp(34px, 5vw, 58px);
}

.cart-heading p:last-child {
  opacity: .8;
}

.cart-card {
  background: #fffaf0;
  color: #17120e;
  border: 3px solid #d58a18;
  box-shadow: 8px 8px 0 #d58a18;
}

.cart-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 25px;
  border-bottom: 2px solid #17120e;
}

.cart-card-top > div:first-child {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.cart-card-top > div:first-child span {
  font-size: 13px;
  opacity: .7;
}

.cart-total-display {
  text-align: right;
}

.cart-total-display span {
  display: block;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
}

.cart-total-display strong {
  font-size: 28px;
}

.cart-items {
  padding: 10px 25px;
}

.empty-cart {
  text-align: center;
  padding: 35px 10px;
  opacity: .65;
}

.cart-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(23,18,14,.2);
}

.cart-item > div:first-child {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.cart-item small {
  opacity: .65;
}

.cart-item .qty {
  display: flex;
  align-items: center;
  gap: 12px;
}

.cart-item .qty button {
  width: 34px;
  height: 34px;
  border: 2px solid #17120e;
  background: #d94718;
  color: #fff;
  font-size: 20px;
  font-weight: 900;
  cursor: pointer;
}

.cart-item .qty span {
  min-width: 20px;
  text-align: center;
  font-weight: 900;
}

.cart-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 22px 25px;
  border-top: 2px solid #17120e;
}

.cart-actions .btn {
  text-decoration: none;
}

@media (max-width: 650px) {
  .cart-section {
    padding: 60px 5vw;
  }

  .cart-card-top {
    align-items: flex-start;
  }

  .cart-item {
    align-items: flex-start;
  }

  .cart-actions {
    flex-direction: column;
  }

  .cart-actions .btn {
    width: 100%;
    text-align: center;
  }
}


/* V20: readable light location cards */
.location-card{
  color:#15120f;
}

.location-card.featured{
  color:#fff;
}


/* V20: all location cards use the same light design */
.location-card,
.location-card.featured{
  background:#fffaf2;
  color:#15120f;
  border-color:#15120f;
}

.location-card.featured .location-btn.dark{
  background:#15120f;
  color:#fff;
  border-color:#15120f;
}

.location-card.featured .location-btn:not(.dark){
  border-color:#15120f;
}


/* V21: readable shop selector on cream background */
.order-shop-picker{
  color:#15120f;
}

.order-shop-picker h3,
.order-shop-picker p{
  color:#15120f;
}

.order-shop-picker .selected-shop-line{
  color:#15120f;
}

.order-shop-picker .selected-shop-line strong{
  color:#15120f;
}


/* V22: direct WhatsApp ordering button */
.nav-whatsapp{
  background:#15120f;
  color:#fff;
  padding:14px 19px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.nav-whatsapp:hover{
  background:#d94b22;
}

@media(max-width:800px){
  .nav-whatsapp{
    width:100%;
  }
}


/* V23: Instagram navigation button */
.nav-instagram{
  background:#f4b51b;
  color:#15120f;
  padding:14px 19px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.nav-instagram:hover{
  background:#d94b22;
  color:#fff;
}

@media(max-width:800px){
  .nav-instagram{
    width:100%;
  }
}


/* V24: WhatsApp brand colour */
.nav-whatsapp{
  background:#25D366;
  color:#fff;
}

.nav-whatsapp:hover{
  background:#128C7E;
  color:#fff;
}


/* V25: social navigation icons */
.nav-social{
  width:46px;
  height:46px;
  padding:0;
  display:inline-grid;
  place-items:center;
  border-radius:50%;
  transition:transform .18s ease, background .18s ease;
}

.nav-social svg{
  width:27px;
  height:27px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.nav-social:hover{
  transform:translateY(-2px);
}

.nav-whatsapp{
  background:#25D366;
  color:#fff;
}

.nav-whatsapp:hover{
  background:#128C7E;
  color:#fff;
}

.nav-instagram{
  background:linear-gradient(135deg,#833AB4,#E1306C,#F77737,#FCAF45);
  color:#fff;
}

.nav-instagram:hover{
  filter:brightness(.9);
  color:#fff;
}

@media(max-width:800px){
  .nav-social{
    width:100%;
    height:48px;
    border-radius:0;
  }
  .nav-social svg{
    width:25px;
    height:25px;
  }
}


/* =========================================================
   V26 — KASSIE BURGER PREMIUM HERO REDESIGN
   ========================================================= */

.hero-redesign{
  position:relative;
  width:100%;
  max-width:none;
  min-height:calc(100vh - 82px);
  padding:70px 5vw 65px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(520px,1.08fr);
  gap:3vw;
  align-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 72% 48%, rgba(244,181,27,.12), transparent 25%),
    radial-gradient(circle at 88% 78%, rgba(217,75,34,.16), transparent 27%),
    linear-gradient(115deg,#090807 0%,#15110e 52%,#080706 100%);
  color:#fffaf2;
}

.hero-redesign:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 75% 15%, rgba(255,255,255,.06), transparent 30%),
    linear-gradient(90deg,rgba(0,0,0,.25),transparent 45%,rgba(0,0,0,.25));
}

.hero-redesign .hero-copy{
  position:relative;
  z-index:2;
  max-width:760px;
  padding-left:2vw;
}

.hero-redesign .eyebrow{
  color:#fffaf2;
  font-size:.72rem;
  letter-spacing:.18em;
  margin-bottom:25px;
}

.hero-redesign .eyebrow span{
  color:#f4b51b;
  padding:0 7px;
}

.hero-redesign h1{
  margin:0 0 34px;
  font-size:clamp(4.5rem,7.5vw,8.5rem);
  line-height:.82;
  letter-spacing:-.075em;
  color:#fff;
}

.hero-redesign h1 em{
  display:inline-block;
  color:#f4b51b;
  font-family:Georgia,serif;
  font-style:italic;
}

.hero-redesign .lead{
  max-width:650px;
  margin:0 0 30px;
  color:#f5eee1;
  font-size:1.15rem;
  line-height:1.65;
}

.hero-redesign .actions{
  margin-top:25px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.hero-redesign .btn{
  margin:0;
  min-height:58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:16px 27px;
  font-size:.78rem;
  letter-spacing:.1em;
  font-weight:900;
}

.hero-primary{
  background:#e94b26;
  color:#fff;
  border:2px solid #e94b26;
}

.hero-primary:hover{
  background:#f4b51b;
  color:#15120f;
  border-color:#f4b51b;
}

.hero-primary span{
  font-size:1.25rem;
  margin-left:10px;
}

.hero-secondary{
  background:transparent;
  color:#fff;
  border:2px solid rgba(255,255,255,.9);
}

.hero-secondary:hover{
  background:#fff;
  color:#15120f;
}

.hero-redesign .hero-burger{
  position:relative;
  z-index:1;
  width:100%;
  height:min(700px,78vh);
  min-height:500px;
  background:transparent;
  overflow:visible;
  display:flex;
  align-items:center;
  justify-content:center;
}

.hero-redesign .hero-burger:before{
  content:"";
  position:absolute;
  width:80%;
  height:55%;
  right:3%;
  bottom:12%;
  background:radial-gradient(ellipse,rgba(244,181,27,.20),transparent 68%);
  filter:blur(35px);
  pointer-events:none;
}

.hero-redesign .hero-burger:after{
  content:"";
  position:absolute;
  width:75%;
  height:20%;
  right:8%;
  bottom:9%;
  background:rgba(0,0,0,.75);
  border-radius:50%;
  filter:blur(22px);
  pointer-events:none;
}

.hero-redesign .hero-burger img{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  filter:saturate(1.08) contrast(1.04);
}

.hero-flavour{
  position:absolute;
  z-index:4;
  top:10%;
  right:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
  color:#fff;
  transform:rotate(-3deg);
}

.hero-flavour strong{
  font-family:Arial,sans-serif;
  font-size:clamp(1.2rem,2vw,2.2rem);
  line-height:.9;
  font-weight:900;
  letter-spacing:-.05em;
}

.hero-flavour strong:nth-child(2){
  margin-left:7px;
}

.hero-flavour span{
  width:120px;
  height:5px;
  margin:8px 0 0 3px;
  background:#f4b51b;
  transform:rotate(-7deg);
}

/* Dark premium navigation for the new hero */
body:has(.hero-redesign) header{
  background:#0d0b09;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.12);
}

body:has(.hero-redesign) header a{
  color:#fff;
}

body:has(.hero-redesign) .nav-order{
  background:#e94b26;
  color:#fff;
}

body:has(.hero-redesign) .nav-order:hover{
  background:#f4b51b;
  color:#15120f;
}

body:has(.hero-redesign) .menu-toggle{
  color:#fff;
}

/* Keep the menu jump strong directly below the hero */
.hero-redesign + .ticker{
  background:#f4b51b;
  color:#15120f;
}

.hero-redesign + .ticker b{
  color:#15120f;
}

/* Mobile */
@media(max-width:1000px){
  .hero-redesign{
    grid-template-columns:1fr;
    min-height:auto;
    padding:70px 7vw 55px;
    gap:20px;
  }

  .hero-redesign .hero-copy{
    padding-left:0;
    order:1;
  }

  .hero-redesign .hero-burger{
    order:2;
    height:58vw;
    min-height:360px;
    max-height:560px;
  }

  .hero-flavour{
    right:2%;
    top:5%;
  }
}

@media(max-width:800px){
  .hero-redesign{
    padding:55px 6vw 45px;
  }

  .hero-redesign h1{
    font-size:clamp(3.8rem,15vw,6rem);
  }

  .hero-redesign .lead{
    font-size:1rem;
  }

  .hero-redesign .actions{
    flex-direction:column;
    align-items:stretch;
  }

  .hero-redesign .btn{
    width:100%;
  }

  .hero-redesign .hero-burger{
    height:90vw;
    min-height:320px;
  }

  .hero-flavour{
    right:1%;
  }

  .hero-flavour strong{
    font-size:1.25rem;
  }

  .hero-flavour span{
    width:75px;
  }
}

