*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:'Lato',sans-serif;background:#fff;color:#232223;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--primary, var(--primary));text-decoration:none;transition:.3s ease}
a:hover{color:#b8001f}
img{max-width:100%}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
.section{padding:80px 0}
.section-header{text-align:center;margin-bottom:50px}
.section-tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:3px;color:var(--primary, var(--primary));margin-bottom:12px;text-transform:uppercase}
.section-tag::after{content:'';display:block;width:30px;height:2px;background:var(--primary, var(--primary));margin:8px auto 0}
.section-title{font-family:'Josefin Sans',sans-serif;font-size:36px;font-weight:600;color:#232223;margin-bottom:8px}
.section-desc{color:#6b6b6b;font-size:16px;max-width:600px;margin:0 auto}
.page-hero-overlay{display:none}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border-radius:40px;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:all .3s ease;text-decoration:none;font-family:'Lato',sans-serif;line-height:1;position:relative}
.btn-primary{background:var(--primary, var(--primary));color:#fff}
.btn-primary:hover{background:#b8001f;transform:translateY(-2px);color:#fff}
.btn-outline{background:transparent;border:2px solid #232223;color:#232223}
.btn-outline:hover{background:#232223;color:#fff}
.btn-sm{padding:10px 22px;font-size:13px}
.btn-lg{padding:15px 38px;font-size:16px}
.btn-block{width:100%;justify-content:center}
.btn-yellow{background:#ebe117;color:#232223;border-right:3px solid var(--primary, var(--primary));border-bottom:5px solid var(--primary, var(--primary))}
.btn-yellow:hover{background:#d4c913;transform:translateY(-2px);color:#232223}
.btn-yellow.btn-lg{border-right:4px solid var(--primary, var(--primary));border-bottom:6px solid var(--primary, var(--primary))}
.btn-primary.btn-yellow{background:#ebe117;color:#232223;box-shadow:none}

/* Nav scroll behavior */
#mad-header { transition: background .3s ease; }
#mad-header.scrolled { background: #fff; box-shadow: 0 2px 20px rgba(0,0,0,.08); }
.homepage #mad-header:not(.scrolled) .mad-logo span { color: #fff !important; }

/* Text Logo */
.mad-logo-text {
  font-family: 'Josefin Sans', sans-serif;
  font-size: 30px;
  font-weight: 700;
  font-style: italic;
  color: #232223;
  letter-spacing: -1px;
  position: relative;
  display: inline-block;
  line-height: 1.2;
}
.mad-logo-text::first-letter {
  color: #ebe117;
  font-size: 36px;
}
.mad-logo-text::after {
  content: '';
  display: block;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, var(--primary, var(--primary)) 30%, #ebe117 70%);
  border-radius: 2px;
  margin-top: 2px;
}
.mad-cart-count {
  position: absolute; top: -6px; right: -6px;
  background: var(--primary, var(--primary)); color: #fff;
  font-size: 11px; font-weight: 700;
  min-width: 20px; height: 20px;
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  padding: 0 5px;
}

/* Hero - Yummi style */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:url('https://images.unsplash.com/photo-1504674900247-0877df9cc836?w=1600&q=80') center/cover no-repeat}
.hero-bg{position:absolute;inset:0;z-index:1}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(35,34,35,.8),rgba(35,34,35,.3));z-index:2}
.hero-content{position:relative;z-index:3;text-align:center;max-width:900px;padding:60px 24px 0}
.hero-food-row{display:flex;align-items:center;justify-content:center;gap:clamp(16px,4vw,60px);flex-wrap:wrap}
.hero-food-img-wrap{width:clamp(220px,42vw,750px);filter:drop-shadow(0 20px 50px rgba(0,0,0,.5));animation:heroFloat 3s ease-in-out infinite}
.hero-food-img-wrap img{width:100%;height:auto;display:block;transition:opacity .5s ease}
.hero-food-text{display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:400px}
.hero-text-title{font-family:'Josefin Sans',sans-serif;font-size:clamp(28px,4vw,56px);font-weight:700;color:#fff;line-height:1.15;margin:0;text-shadow:2px 2px 0 rgba(0,0,0,.3)}
.hero-text-subtitle{font-size:clamp(14px,1.5vw,18px);color:rgba(255,255,255,.85);margin:0;line-height:1.5}
.hero-food-right{display:flex;align-items:center;gap:clamp(16px,3vw,40px)}
.hero-food-price{display:flex;flex-direction:column;align-items:flex-start;gap:4px}

.hero-price{font-family:'Josefin Sans',sans-serif;font-size:clamp(48px,10vw,120px);font-weight:700;color:#ebe117;line-height:1;text-shadow:3px 3px 0 var(--primary, var(--primary)),5px 5px 0 var(--primary, var(--primary));letter-spacing:-4px;animation:heroFloat 3s ease-in-out infinite;animation-delay:.8s}
.hero-price-label{font-size:clamp(10px,1.2vw,14px);color:rgba(255,255,255,.6);letter-spacing:4px;text-transform:uppercase}
.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;animation:fadeInUp .8s ease-out .6s both}
.hero-actions .btn-yellow{background:#ebe117;color:#232223;border-right:4px solid var(--primary, var(--primary));border-bottom:6px solid var(--primary, var(--primary));border-radius:40px}
.hero-actions .btn-yellow:hover{background:#d4c913}
.hero-actions .btn-outline{border-color:#fff;color:#fff}
.hero-actions .btn-outline:hover{background:#fff;color:#232223}
.hero-scroll{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:6px;color:rgba(255,255,255,.5);font-size:11px;letter-spacing:2px;text-transform:uppercase;animation:fadeInUp 1s ease-out 1s both}
.hero-scroll i{animation:bounceDown 2s infinite}
@keyframes heroFloat{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-18px) rotate(4deg)}}
@keyframes bounceDown{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

/* Page Hero */
.page-hero{position:relative;min-height:35vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f8f5f0;padding:100px 0 50px;background-size:cover;background-position:center}
.page-hero-overlay{position:absolute;inset:0;background:rgba(35,34,35,.5);z-index:1}
.page-hero-content{position:relative;z-index:2;text-align:center;padding:60px 24px 0}
.page-hero-badge{display:inline-block;font-size:11px;letter-spacing:4px;color:#ebe117;border:1px solid rgba(235,225,23,.4);padding:6px 16px;border-radius:50px;margin-bottom:12px;text-transform:uppercase}
.page-hero-title{font-family:'Josefin Sans',sans-serif;font-size:clamp(28px,4vw,48px);color:#232223;margin-bottom:8px;font-style:italic}
.page-hero-subtitle{color:#6b6b6b;font-size:16px}
.menu-breadcrumb{font-size:13px;color:rgba(255,255,255,.6)}
.menu-breadcrumb a{color:#ebe117}
.menu-breadcrumb a:hover{color:#fff}
.menu-hero .page-hero-subtitle{color:rgba(255,255,255,.7)}

/* Featured Grid */
.featured-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}

/* Menu Card */
.menu-card{background:#fff;border-radius:12px;overflow:hidden;transition:.3s ease;border:1px solid #e8e4de;box-shadow:0 2px 20px rgba(0,0,0,.06);position:relative}
.menu-card:hover{transform:translateY(-4px);box-shadow:0 8px 40px rgba(0,0,0,.1)}
.menu-card-image{position:relative;height:200px;overflow:hidden;background:#f8f5f0}
.menu-card-img{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.menu-card-placeholder i{font-size:48px;color:#999;opacity:.3}
.menu-card-badge{position:absolute;top:12px;left:12px;background:#ebe117;color:#232223;padding:4px 12px;border-radius:50px;font-size:11px;font-weight:700}
.menu-card-cart{position:absolute;bottom:12px;right:12px;width:40px;height:40px;border-radius:50%;border:none;background:var(--primary, var(--primary));color:#fff;font-size:18px;cursor:pointer;transition:.3s ease;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(10px);box-shadow:0 3px 10px rgba(235,0,41,.3)}
.menu-card:hover .menu-card-cart{opacity:1;transform:translateY(0)}
.menu-card-cart:hover{transform:scale(1.1)!important}
.menu-card-body{padding:20px}
.menu-card-title{font-family:'Josefin Sans',sans-serif;font-size:18px;color:#232223;margin-bottom:6px;font-weight:600}
.menu-card-desc{font-size:13px;color:#6b6b6b;line-height:1.6;margin-bottom:12px}
.menu-card-footer{display:flex;align-items:center;justify-content:space-between}
.menu-card-price{display:flex;align-items:center;gap:8px}
.price-current{font-size:20px;font-weight:700;color:var(--primary, var(--primary))}
.price-old{font-size:14px;color:#6b6b6b;text-decoration:line-through}

/* About Section */
.about-section{background:#f8f5f0}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.about-image{position:relative;padding:20px}
.about-image-frame{position:relative;background:#ebe117;border-radius:12px;padding:4px;aspect-ratio:1}
.about-image-content{background:#fff;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px}
.about-image-icon{font-size:48px}
.about-image-content p{font-family:'Josefin Sans',sans-serif;font-size:20px;color:#232223;font-weight:600}
.about-image-deco{position:absolute;top:-10px;right:-10px;width:120px;height:120px;border:2px solid #ebe117;border-radius:12px;z-index:-1;opacity:.5}
.about-content .section-title{text-align:left}
.about-text{color:#6b6b6b;font-size:16px;line-height:1.8;margin-bottom:30px}
.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.about-stat{text-align:center;padding:20px;background:#fff;border-radius:6px;border:1px solid #e8e4de;box-shadow:0 2px 20px rgba(0,0,0,.06)}
.stat-number{display:block;font-family:'Josefin Sans',sans-serif;font-size:36px;font-weight:600;color:var(--primary, var(--primary));font-style:italic}
.stat-label{font-size:12px;color:#6b6b6b;margin-top:4px;text-transform:uppercase;letter-spacing:1px}

/* Testimonials */
.testimonials-section{background:#fff}
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}
.testimonial-card{background:#fff;border-radius:12px;padding:32px;border:1px solid #e8e4de;box-shadow:0 2px 20px rgba(0,0,0,.06);transition:.3s ease}
.testimonial-card:hover{transform:translateY(-3px);box-shadow:0 8px 40px rgba(0,0,0,.1)}
.testimonial-stars{margin-bottom:12px}
.testimonial-stars i{color:#999;margin-right:2px;font-size:14px}
.testimonial-stars i.active{color:#ebe117}
.testimonial-text{font-style:italic;color:#232223;font-size:15px;line-height:1.8;margin-bottom:16px}
.testimonial-author{display:flex;align-items:center;gap:12px}
.testimonial-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary, var(--primary));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}

/* CTA Section */
.cta-section{background:var(--primary, var(--primary));padding:0}
.cta-card{padding:80px 40px;text-align:center;position:relative;overflow:hidden}
.cta-deco{position:absolute;top:20px;right:40px;font-size:100px;color:rgba(255,255,255,.05);font-family:'Josefin Sans',sans-serif;font-style:italic;font-weight:700}
.cta-title{font-family:'Josefin Sans',sans-serif;font-size:36px;color:#fff;margin-bottom:12px;font-style:italic}
.cta-text{color:rgba(255,255,255,.8);font-size:16px;margin-bottom:28px}
.cta-section .btn-yellow{background:#ebe117;color:#232223;border-right:4px solid #b8001f;border-bottom:6px solid #b8001f;border-radius:40px}
.cta-section .btn-yellow:hover{background:#d4c913}

/* Banner Slider */
.banner-section{padding:20px 0;background:#f8f5f0}
.banner-slider{max-width:1200px;margin:0 auto;padding:0 24px}
.banner-slide{background:#fff;border-radius:12px;padding:32px;margin-bottom:12px;background-size:cover;background-position:center;position:relative;border:1px solid #e8e4de;box-shadow:0 2px 20px rgba(0,0,0,.06)}
.banner-content{position:relative;z-index:1}
.banner-content h3{font-family:'Josefin Sans',sans-serif;font-size:22px;color:#232223;margin-bottom:6px}
.banner-content p{color:#6b6b6b;margin-bottom:12px}

/* Menu Page - Yummi Spec Style */
.menu-section{background:#fff}
.menu-filter{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-bottom:40px}
.filter-btn{padding:9px 22px;border-radius:40px;border:1px solid #e8e4de;background:#fff;color:#6b6b6b;cursor:pointer;transition:.3s ease;font-size:13px;font-family:'Lato',sans-serif;font-weight:500}
.filter-btn.active,.filter-btn:hover{background:var(--primary, var(--primary));color:#fff;border-color:var(--primary, var(--primary))}
.menu-category{margin-bottom:50px}
.menu-category-head{margin-bottom:24px;text-align:center}
.menu-category-title{font-family:'Josefin Sans',sans-serif;font-size:28px;color:#232223;font-weight:600;margin-bottom:4px}
.menu-category-desc{color:#6b6b6b;font-size:14px}
.menu-empty{padding:40px;text-align:center;color:#6b6b6b;background:#fff;border-radius:12px;border:1px solid #e8e4de}

/* Menu Specs - Yummi v2 style */
.menu-specs{max-width:800px;margin:0 auto}
.menu-spec-item{display:flex;gap:20px;padding:16px 0;border-bottom:1px solid #f0eee8;align-items:flex-start}
.menu-spec-item:last-child{border-bottom:none}
.menu-spec-img{flex-shrink:0;width:80px;height:80px;border-radius:12px;background:#f8f5f0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.menu-spec-img i{font-size:28px;color:#999;opacity:.4}
.menu-spec-info{flex:1;min-width:0}
.menu-spec-header{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}
.menu-spec-title{font-family:'Josefin Sans',sans-serif;font-size:17px;color:#232223;font-weight:600;white-space:nowrap;flex-shrink:0}
.menu-spec-line{flex:1;height:0;min-width:16px;border-bottom:1px dashed #d4d0c8;align-self:flex-end;margin-bottom:4px}
.menu-spec-price{font-size:18px;font-weight:700;color:var(--primary, var(--primary));white-space:nowrap;flex-shrink:0}
.menu-spec-desc{font-size:13px;color:#6b6b6b;line-height:1.6;margin-bottom:8px}
.menu-spec-actions{display:flex;gap:8px;align-items:center}
.menu-spec-actions .btn-sm{padding:6px 14px;font-size:12px}

/* Cart Page */
.cart-section{background:#fff;min-height:50vh}
.cart-layout{display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:start}
.cart-empty{text-align:center;padding:80px 20px}
.cart-empty-icon i{font-size:60px;color:#999;margin-bottom:20px;opacity:.4}
.cart-empty h3{font-family:'Josefin Sans',sans-serif;color:#232223;margin-bottom:8px}
.cart-empty p{color:#6b6b6b;margin-bottom:20px}
.cart-item{display:flex;gap:16px;align-items:center;background:#fff;border-radius:12px;padding:16px 20px;margin-bottom:12px;border:1px solid #e8e4de;box-shadow:0 2px 20px rgba(0,0,0,.06);animation:fadeInUp .3s ease-out}
.cart-item-image{width:64px;height:64px;border-radius:6px;background:#f8f5f0;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cart-item-image i{font-size:24px;color:#999;opacity:.4}
.cart-item-info{flex:1;min-width:0}
.cart-item-info h4{font-family:'Josefin Sans',sans-serif;font-size:15px;color:#232223;margin-bottom:2px}
.cart-item-info p{font-size:13px;color:#6b6b6b}
.cart-item-qty{display:flex;align-items:center;gap:8px}
.cart-item-qty button{width:32px;height:32px;border-radius:50%;border:1px solid #e8e4de;background:#fff;color:#232223;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.3s}
.cart-item-qty button:hover{background:var(--primary, var(--primary));color:#fff;border-color:var(--primary, var(--primary))}
.cart-item-qty span{min-width:24px;text-align:center;font-weight:600}
.cart-item-total{font-size:16px;font-weight:700;color:var(--primary, var(--primary));min-width:70px;text-align:right}
.cart-item-remove{background:none;border:none;color:#999;cursor:pointer;padding:8px;transition:.3s;font-size:16px}
.cart-item-remove:hover{color:var(--primary, var(--primary))}
.cart-summary{background:#fff;border-radius:12px;padding:30px;position:sticky;top:100px;border:1px solid #e8e4de;box-shadow:0 2px 20px rgba(0,0,0,.06)}
.cart-summary h3{font-family:'Josefin Sans',sans-serif;font-size:20px;color:#232223;margin-bottom:20px}
.summary-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px;color:#6b6b6b}
.summary-row span:last-child{font-weight:500;color:#232223}
.summary-discount{color:var(--primary, var(--primary))!important}
.summary-total{font-size:18px!important}
.summary-total span:last-child{font-size:22px;font-weight:700;color:var(--primary, var(--primary))!important}
.summary-divider{height:1px;background:#e8e4de;margin:12px 0}
.coupon-section{margin:20px 0}
.coupon-section h4{font-size:13px;color:#6b6b6b;margin-bottom:8px}
.coupon-input{display:flex;gap:8px}
.coupon-input input{flex:1;padding:10px 14px;border-radius:50px;border:1px solid #e8e4de;background:#f8f5f0;color:#232223;font-size:13px;outline:none;transition:.3s}
.coupon-input input:focus{border-color:var(--primary, var(--primary))}
.coupon-message{font-size:12px;margin-top:8px;min-height:18px}
.coupon-message.success{color:#2d8a4e}
.coupon-message.error{color:var(--primary, var(--primary))}

/* Checkout */
.checkout-section{background:#fff;min-height:50vh}
.checkout-layout{display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:start}
.checkout-card{background:#fff;border-radius:12px;padding:30px;margin-bottom:20px;border:1px solid #e8e4de;box-shadow:0 2px 20px rgba(0,0,0,.06)}
.checkout-card h3{font-family:'Josefin Sans',sans-serif;font-size:18px;color:#232223;margin-bottom:20px;display:flex;align-items:center;gap:8px;font-weight:600}
.checkout-card h3 i{color:var(--primary, var(--primary))}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group label{font-size:13px;color:#6b6b6b;font-weight:500}
.form-group input,.form-group select,.form-group textarea{padding:12px 16px;border-radius:6px;border:1px solid #e8e4de;background:#f8f5f0;color:#232223;font-size:14px;outline:none;transition:.3s;font-family:'Lato',sans-serif}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary, var(--primary));box-shadow:0 0 0 3px rgba(235,0,41,.08)}
.form-group input::placeholder,.form-group textarea::placeholder{color:#999}
.form-group textarea{resize:vertical;min-height:80px}
.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b6b6b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}
.payment-options{display:flex;flex-direction:column;gap:12px}
.payment-option{display:flex;align-items:center;gap:12px;cursor:pointer}
.payment-option input[type="radio"]{display:none}
.payment-option-content{display:flex;align-items:center;gap:16px;padding:16px;border-radius:6px;border:1px solid #e8e4de;flex:1;transition:.3s;background:#f8f5f0}
.payment-option input:checked+.payment-option-content{border-color:var(--primary, var(--primary));background:rgba(235,0,41,.04)}
.payment-option-content i{font-size:24px;color:var(--primary, var(--primary))}
.payment-option-content strong{display:block;font-size:14px;color:#232223}
.payment-option-content span{font-size:12px;color:#6b6b6b}
.summary-card{position:sticky;top:100px}
#checkoutItems .checkout-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #e8e4de;font-size:13px}
#checkoutItems .checkout-item-name{color:#232223}
#checkoutItems .checkout-item-qty{color:#6b6b6b;font-size:12px}
.checkout-note{text-align:center;font-size:12px;color:#6b6b6b;margin-top:12px}
.alert{padding:16px;border-radius:6px;display:flex;align-items:center;gap:10px;font-size:14px;margin-bottom:20px}
.alert-success{background:rgba(45,138,78,.08);color:#2d8a4e;border:1px solid rgba(45,138,78,.15)}
.alert-error{background:rgba(235,0,41,.08);color:var(--primary, var(--primary));border:1px solid rgba(235,0,41,.15)}

/* Contact Page */
.contact-section{background:#fff}
.contact-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:40px}
.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-card,.contact-social{background:#fff;border-radius:12px;padding:24px;border:1px solid #e8e4de;box-shadow:0 2px 20px rgba(0,0,0,.06);transition:.3s ease}
.contact-card:hover{transform:translateY(-3px);border-color:var(--primary, var(--primary))}
.contact-social{grid-column:1/-1}
.contact-icon{width:48px;height:48px;border-radius:12px;background:rgba(235,0,41,.08);display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.contact-icon i{font-size:20px;color:var(--primary, var(--primary))}
.contact-card h3{font-family:'Josefin Sans',sans-serif;font-size:15px;color:#232223;margin-bottom:4px}
.contact-card p{font-size:13px;color:#6b6b6b}
.contact-social h3{font-family:'Josefin Sans',sans-serif;font-size:16px;color:#232223;margin-bottom:12px}
.contact-social-links{display:flex;gap:12px}
.social-link-lg{width:44px;height:44px;border-radius:50%;background:rgba(235,0,41,.08);display:flex;align-items:center;justify-content:center;color:var(--primary, var(--primary));transition:.3s ease;font-size:18px}
.social-link-lg:hover{background:var(--primary, var(--primary));color:#fff;transform:translateY(-3px)}
.contact-form-container{background:#fff;border-radius:12px;padding:36px;border:1px solid #e8e4de;box-shadow:0 2px 20px rgba(0,0,0,.06)}
.contact-form h2{font-family:'Josefin Sans',sans-serif;font-size:24px;color:#232223;margin-bottom:20px}
.contact-form .form-group{margin-bottom:16px}
.map-section{background:#f8f5f0;padding-bottom:0}
.map-container{border-radius:12px;overflow:hidden;border:1px solid #e8e4de;max-width:1200px;margin:40px auto 0}

/* Confirmation */
.confirmation-section{background:#fff}
.confirmation-card{max-width:600px;margin:0 auto;background:#fff;border-radius:12px;padding:50px;text-align:center;border:1px solid #e8e4de;box-shadow:0 2px 20px rgba(0,0,0,.06)}
.confirmation-check{width:64px;height:64px;border-radius:50%;background:rgba(45,138,78,.1);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.confirmation-check i{font-size:28px;color:#2d8a4e}
.confirmation-header h2{font-family:'Josefin Sans',sans-serif;font-size:26px;color:#232223;margin-bottom:8px}
.confirmation-header p{color:#6b6b6b;margin-bottom:24px}
.confirmation-details{text-align:left;border-top:1px solid #e8e4de;border-bottom:1px solid #e8e4de;padding:20px 0;margin-bottom:24px}
.confirmation-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px}
.confirmation-row span{color:#6b6b6b}
.confirmation-row strong{color:#232223}
.confirmation-actions{display:flex;gap:12px;justify-content:center}

/* Product Detail */
.product-detail-section{background:#fff}
.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.product-detail-image{position:relative}
.product-detail-img{border-radius:12px;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#f8f5f0}
.product-detail-placeholder i{font-size:80px;color:#999;opacity:.2}
.product-detail-badge{position:absolute;top:16px;left:16px;background:#ebe117;color:#232223;padding:6px 14px;border-radius:50px;font-size:12px;font-weight:700}
.product-detail-info .section-tag{margin-bottom:10px}
.product-detail-info h2{font-family:'Josefin Sans',sans-serif;font-size:32px;color:#232223;margin-bottom:12px;font-weight:600}
.product-detail-price{margin-bottom:16px}
.product-detail-desc{color:#6b6b6b;font-size:16px;line-height:1.8;margin-bottom:20px}
.product-detail-ingredients{background:#f8f5f0;border-radius:6px;padding:16px 20px;margin-bottom:20px;border:1px solid #e8e4de}
.product-detail-ingredients h4{font-size:13px;color:var(--primary, var(--primary));margin-bottom:4px}
.product-detail-ingredients p{font-size:13px;color:#6b6b6b}
.product-detail-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.quantity-selector{display:flex;align-items:center;background:#fff;border-radius:50px;border:1px solid #e8e4de;overflow:hidden}
.qty-btn{width:44px;height:44px;border:none;background:transparent;color:#232223;cursor:pointer;font-size:18px;transition:.3s}
.qty-btn:hover{background:var(--primary, var(--primary));color:#fff}
.quantity-selector input{width:44px;text-align:center;border:none;background:transparent;color:#232223;font-size:15px;font-weight:600;-moz-appearance:textfield}
.quantity-selector input::-webkit-outer-spin-button,.quantity-selector input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.related-section{background:#f8f5f0}

/* Cart Toast */
.cart-toast{position:fixed;bottom:30px;right:30px;background:#fff;border:1px solid #e8e4de;border-radius:6px;padding:16px 24px;display:flex;align-items:center;gap:12px;z-index:9999;transform:translateX(120%);transition:.5s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 40px rgba(0,0,0,.1)}
.cart-toast.show{transform:translateX(0)}
.cart-toast i{color:#2d8a4e;font-size:18px}
.cart-toast span{font-size:14px;color:#232223}

/* Footer */
.footer{background:#232223;color:rgba(255,255,255,.7);position:relative}
.footer-decoration{display:flex;justify-content:center;gap:20px;padding:30px 0 0;opacity:.1}
.footer-decoration span{font-size:20px;color:#ebe117}
.footer-container{max-width:1200px;margin:0 auto;padding:50px 24px 24px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}
.footer-logo{font-family:'Josefin Sans',sans-serif;font-size:22px;color:#fff;margin-bottom:10px;font-style:italic;font-weight:700}
.footer-desc{font-size:13px;color:rgba(255,255,255,.5);line-height:1.8;margin-bottom:16px}
.footer-social{display:flex;gap:10px}
.social-link{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);transition:.3s ease;font-size:14px}
.social-link:hover{background:#ebe117;color:#232223;transform:translateY(-3px)}
.footer h4{font-family:'Josefin Sans',sans-serif;font-size:15px;color:#fff;margin-bottom:12px;font-weight:600}
.footer-links a{display:block;padding:5px 0;font-size:13px;color:rgba(255,255,255,.5);transition:.3s}
.footer-links a:hover{color:#ebe117;padding-left:6px}
.footer-hours p{font-size:13px;color:rgba(255,255,255,.5);line-height:1.8}
.footer-note{font-size:12px!important;color:rgba(255,255,255,.4)!important;margin-top:6px;font-style:italic}
.footer-contact p{font-size:13px;color:rgba(255,255,255,.5);margin-bottom:8px;display:flex;align-items:center;gap:8px}
.footer-contact i{color:#ebe117;width:16px}
.footer-contact a{color:rgba(255,255,255,.5)}
.footer-contact a:hover{color:#ebe117}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:30px;padding-top:20px;text-align:center}
.footer-bottom p{font-size:12px;color:rgba(255,255,255,.4)}
.footer-heart{color:var(--primary, var(--primary))}

/* Yummi Category Icons */
.categories-section{padding:40px 0;background:#f8f5f0;position:relative;z-index:1}
.categories-grid{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.category-icon-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 22px;border-radius:16px;background:#fff;border:1px solid #e8e4de;text-decoration:none;transition:all .3s ease;min-width:130px;box-shadow:0 2px 20px rgba(0,0,0,.04)}
.category-icon-card:hover{transform:translateY(-4px);box-shadow:0 8px 40px rgba(0,0,0,.1);border-color:var(--primary, var(--primary))}
.category-icon-card .icon-wrap{width:56px;height:56px;border-radius:50%;background:rgba(235,0,41,.08);display:flex;align-items:center;justify-content:center;transition:.3s}
.category-icon-card:hover .icon-wrap{background:var(--primary, var(--primary))}
.category-icon-card .icon-wrap i,.category-icon-card .icon-wrap span{font-size:24px;color:var(--primary, var(--primary));transition:.3s;line-height:1}
.category-icon-card:hover .icon-wrap i,.category-icon-card:hover .icon-wrap span{color:#fff}
.category-icon-card h6{font-family:'Josefin Sans',sans-serif;font-size:16px;color:#232223;font-weight:600;margin:0}

/* Yummi Features Strip */
.features-strip{background:#fff;padding:40px 0;border-top:1px solid #e8e4de}
.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.feature-item{text-align:center;padding:20px}
.feature-item .icon-wrap{width:64px;height:64px;border-radius:50%;background:rgba(235,0,41,.08);display:flex;align-items:center;justify-content:center;margin:0 auto 12px}
.feature-item .icon-wrap i{font-size:28px;color:var(--primary, var(--primary))}
.feature-item h6{font-family:'Josefin Sans',sans-serif;font-size:18px;color:#232223;font-weight:600;margin-bottom:4px}
.feature-item p{font-size:13px;color:#6b6b6b;margin:0}

/* How It Works */
.how-it-works{padding:80px 0;background:#fff}
.how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;max-width:900px;margin:0 auto}
.how-step{text-align:center;padding:32px}
.how-step-number{width:72px;height:72px;border-radius:50%;background:var(--primary, var(--primary));display:flex;align-items:center;justify-content:center;margin:0 auto 20px;position:relative}
.how-step-number span{font-family:'Josefin Sans',sans-serif;font-size:28px;font-weight:700;color:#fff}
.how-step-number::after{content:'';position:absolute;width:16px;height:16px;background:#ebe117;border-radius:50%;top:-4px;right:-4px}
.how-step h5{font-family:'Josefin Sans',sans-serif;font-size:20px;color:#232223;font-weight:600;margin-bottom:8px}
.how-step p{font-size:14px;color:#6b6b6b;margin:0;max-width:240px;margin:0 auto}

/* Tabbed Menu */
.tabbed-menu-section{padding:80px 0;background:#f8f5f0}
.tab-buttons{display:flex;justify-content:center;gap:4px;flex-wrap:wrap;margin-bottom:36px}
.tab-btn{padding:10px 24px;border-radius:40px;border:1px solid #e8e4de;background:#fff;color:#6b6b6b;cursor:pointer;transition:.3s;font-size:13px;font-family:'Lato',sans-serif;font-weight:500}
.tab-btn.active,.tab-btn:hover{background:var(--primary, var(--primary));color:#fff;border-color:var(--primary, var(--primary))}
.tab-panel{display:none}
.tab-panel.active{display:block}
.tab-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.tab-item{background:#fff;border-radius:16px;overflow:hidden;border:1px solid #e8e4de;transition:.3s;box-shadow:0 2px 20px rgba(0,0,0,.04)}
.tab-item:hover{transform:translateY(-4px);box-shadow:0 8px 40px rgba(0,0,0,.1)}
.tab-item-image{height:180px;background:#f0eee8;display:flex;align-items:center;justify-content:center;overflow:hidden}
.tab-item-image img{width:100%;height:100%;object-fit:cover}
.tab-item-image .placeholder{font-size:40px;color:#999;opacity:.3}
.tab-item-body{padding:16px}
.tab-item-body h4{font-family:'Josefin Sans',sans-serif;font-size:16px;color:#232223;margin-bottom:4px;font-weight:600}
.tab-item-body p{font-size:13px;color:#6b6b6b;margin-bottom:8px}
.tab-item-footer{display:flex;align-items:center;justify-content:space-between}
.tab-item-price{font-size:18px;font-weight:700;color:var(--primary, var(--primary))}
.tab-item-btn{padding:6px 14px;border-radius:40px;background:var(--primary, var(--primary));color:#fff;border:none;font-size:12px;cursor:pointer;transition:.3s;font-family:'Lato',sans-serif}
.tab-item-btn:hover{background:#b8001f}

/* Create Your Own Section (Parallax) */
.create-section{padding:120px 0;background:linear-gradient(135deg,rgba(35,34,35,.85),rgba(35,34,35,.7)),url('https://images.unsplash.com/photo-1513104890138-7c749659a591?w=1600&q=80') center/cover fixed;text-align:center;color:#fff;position:relative}
.create-section .section-title,.create-section h2{color:#fff;font-style:italic}
.create-section p{color:rgba(255,255,255,.7);max-width:600px;margin:0 auto 28px}

/* Testimonials Carousel */
.testimonials-carousel{padding:80px 0;background:#fff}
.testimonial-slide{text-align:center;max-width:700px;margin:0 auto;padding:20px}
.testimonial-slide-stars{margin-bottom:12px}
.testimonial-slide-stars i{color:#ebe117;font-size:18px;margin:0 2px}
.testimonial-slide-text{font-size:18px;font-style:italic;color:#232223;line-height:1.8;margin-bottom:20px;font-weight:400}
.testimonial-slide-author{display:flex;align-items:center;justify-content:center;gap:12px}
.testimonial-slide-avatar{width:56px;height:56px;border-radius:50%;background:var(--primary, var(--primary));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;font-family:'Josefin Sans',sans-serif}
.testimonial-slide-info{text-align:left}
.testimonial-slide-info strong{display:block;font-size:15px;color:#232223}
.testimonial-slide-info span{font-size:12px;color:#6b6b6b}
.carousel-controls{display:flex;justify-content:center;gap:8px;margin-top:24px}
.carousel-dot{width:12px;height:12px;border-radius:50%;background:#d4d0c8;border:none;cursor:pointer;transition:.3s}
.carousel-dot.active{background:var(--primary, var(--primary))}
.carousel-arrows{display:flex;justify-content:center;gap:12px;margin-top:20px}
.carousel-arrow{width:48px;height:48px;border-radius:50%;border:1px solid #e8e4de;background:#fff;cursor:pointer;transition:.3s;display:flex;align-items:center;justify-content:center;font-size:18px;color:#232223}
.carousel-arrow:hover{background:var(--primary, var(--primary));color:#fff;border-color:var(--primary, var(--primary))}

/* App Download Section */
.app-section{padding:80px 0;background:#f8f5f0;text-align:center}
.app-section h2{font-style:italic;margin-bottom:8px}
.app-section p{color:#6b6b6b;margin-bottom:24px}
.app-buttons{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.app-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;border-radius:12px;background:#232223;color:#fff;text-decoration:none;transition:.3s;font-size:14px}
.app-btn:hover{background:var(--primary, var(--primary));color:#fff;transform:translateY(-3px)}
.app-btn i{font-size:24px}

/* Latest News */
.news-section{padding:80px 0;background:#fff}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.news-card{background:#fff;border-radius:16px;overflow:hidden;border:1px solid #e8e4de;transition:.3s;box-shadow:0 2px 20px rgba(0,0,0,.04)}
.news-card:hover{transform:translateY(-4px);box-shadow:0 8px 40px rgba(0,0,0,.1)}
.news-card-image{height:200px;background:#f0eee8;background-size:cover;background-position:center}
.news-card-body{padding:20px}
.news-card-tag{display:inline-block;font-size:11px;color:var(--primary, var(--primary));font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.news-card-body h5{font-family:'Josefin Sans',sans-serif;font-size:18px;color:#232223;margin-bottom:8px;font-weight:600}
.news-card-body h5 a{color:#232223}
.news-card-body h5 a:hover{color:var(--primary, var(--primary))}
.news-card-body p{font-size:13px;color:#6b6b6b;margin-bottom:12px}
.news-card-body .btn-sm{padding:6px 14px;font-size:12px}

/* Newsletter */
.newsletter-section{padding:80px 0;background:#fff;border-top:1px solid #e8e4de;text-align:center}
.newsletter-section h4{font-family:'Josefin Sans',sans-serif;font-size:24px;color:#232223;margin-bottom:8px;font-weight:600}
.newsletter-section p{color:#6b6b6b;margin-bottom:20px}
.newsletter-form{display:flex;max-width:480px;margin:0 auto;gap:0}
.newsletter-form input{flex:1;padding:14px 20px;border-radius:40px 0 0 40px;border:1px solid #e8e4de;border-right:none;background:#f8f5f0;color:#232223;font-size:14px;outline:none;transition:.3s;font-family:'Lato',sans-serif}
.newsletter-form input:focus{border-color:var(--primary, var(--primary))}
.newsletter-form button{padding:14px 28px;border-radius:0 40px 40px 0;background:var(--primary, var(--primary));color:#fff;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:.3s;font-family:'Lato',sans-serif;white-space:nowrap;text-transform:uppercase;letter-spacing:1px}
.newsletter-form button:hover{background:#b8001f}

/* Mobile - Enhanced Responsive */
@media (max-width: 1024px) {
  .about-grid,
  .contact-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
  .product-detail {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .features-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}

@media (max-width: 768px) {
  .section {
    padding: 40px 0;
  }
  .section-title {
    font-size: 24px;
  }
  .section-desc {
    font-size: 14px;
  }
  .section-tag {
    font-size: 11px;
  }
  .container {
    padding: 0 16px;
  }
  
  /* Hero - Mobile */
  .hero {
    min-height: 70vh;
  }
  .hero-content {
    padding: 30px 16px 0;
  }
  .hero-food-row {
    gap: 12px;
    flex-direction: column;
    align-items: center;
  }
  .hero-food-img-wrap {
    width: clamp(160px, 60vw, 400px);
  }
  .hero-food-text {
    align-items: center;
    text-align: center;
  }
  .hero-food-right {
    flex-direction: column;
    align-items: center;
  }
  .hero-food-price {
    align-items: center;
  }
  .hero-actions {
    flex-direction: column;
    align-items: center;
  }
  .hero-actions .btn {
    width: 100%;
    max-width: 280px;
    justify-content: center;
  }
  .hero-scroll {
    display: none;
  }

  /* Page Hero - Mobile */
  .page-hero {
    min-height: 25vh;
    padding: 70px 0 24px;
  }
  .page-hero-content {
    padding: 40px 16px 0;
  }
  .page-hero-title {
    font-size: clamp(22px, 5vw, 28px);
  }
  .page-hero-badge {
    font-size: 10px;
    padding: 5px 12px;
    margin-bottom: 8px;
  }
  .page-hero-subtitle {
    font-size: 14px;
  }
  .page-hero-overlay {
    display: block;
  }

  /* Pre-header - Mobile */
  .pre-header {
    font-size: 11px;
  }
  .pre-header-info {
    gap: 8px;
    flex-direction: column;
    align-items: flex-start;
  }
  .pre-header-links {
    width: 100%;
    justify-content: flex-start;
    margin-top: 4px;
  }

  /* Nav toggle - Mobile */
  .nav-toggle {
    display: flex;
  }
  .navbar-inner {
    height: 56px;
  }
  .nav-menu {
    position: fixed;
    top: 0;
    right: -100%;
    width: 280px;
    height: 100vh;
    background: #fff;
    flex-direction: column;
    padding: 80px 24px 24px;
    transition: .4s cubic-bezier(.4,0,.2,1);
    box-shadow: -10px 0 40px rgba(0,0,0,.1);
    gap: 4px;
    z-index: 999;
  }
  .nav-menu.active {
    right: 0;
  }
  .nav-link {
    width: 100%;
    padding: 12px 16px;
    font-size: 15px;
  }
  .homepage .nav-menu {
    background: #fff;
  }
  .homepage .nav-link {
    color: #6b6b6b;
  }
  .homepage .nav-link:hover,
  .homepage .nav-link.active {
    color: var(--primary, var(--primary));
    background: rgba(235, 0, 41, .06);
  }

  /* Cart & Checkout - Mobile */
  .cart-layout,
  .checkout-layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .cart-summary,
  .summary-card {
    position: static;
    margin-top: 0;
  }
  .summary-card {
    order: -1;
  }
  .cart-summary {
    padding: 20px 16px;
  }
  .cart-item {
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px 14px;
  }
  .cart-item-image {
    width: 48px;
    height: 48px;
  }
  .cart-item-info h4 {
    font-size: 14px;
  }
  .cart-item-total {
    min-width: auto;
    font-size: 14px;
  }
  .cart-item-qty button {
    width: 38px;
    height: 38px;
    font-size: 16px;
  }

  /* Checkout - Mobile */
  .checkout-card {
    padding: 20px 16px;
  }
  .checkout-card h3 {
    font-size: 16px;
  }
  .form-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .payment-option-content {
    padding: 12px;
    gap: 10px;
  }
  .summary-row {
    font-size: 13px;
  }

  /* Menu page - Mobile */
  .featured-grid {
    grid-template-columns: 1fr;
  }
  .menu-spec-item {
    gap: 12px;
    padding: 12px 0;
  }
  .menu-spec-img {
    width: 48px;
    height: 48px;
    min-width: 48px;
  }
  .menu-spec-img i {
    font-size: 18px;
  }
  .menu-spec-title {
    font-size: 15px;
  }
  .menu-spec-price {
    font-size: 15px;
  }
  .menu-spec-desc {
    font-size: 12px;
    margin-bottom: 6px;
  }
  .menu-spec-actions .btn {
    padding: 8px 14px;
    font-size: 12px;
    min-height: 40px;
  }
  .menu-filter {
    overflow-x: auto;
    flex-wrap: nowrap;
    justify-content: flex-start;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
    margin-bottom: 24px;
    gap: 4px;
  }
  .menu-filter .filter-btn {
    flex-shrink: 0;
    padding: 8px 16px;
    font-size: 12px;
  }
  .menu-category-title {
    font-size: 22px;
  }
  .menu-category {
    margin-bottom: 32px;
  }

  /* Contact page - Mobile */
  .contact-info {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .contact-card {
    padding: 18px;
  }
  .contact-form-container {
    padding: 24px 16px;
  }
  .contact-form h2 {
    font-size: 20px;
  }
  .social-link-lg {
    width: 40px;
    height: 40px;
    font-size: 16px;
  }

  /* About / Stats - Mobile */
  .about-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .about-stats {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .about-stat {
    padding: 14px;
  }
  .stat-number {
    font-size: 28px;
  }

  /* Testimonials - Mobile */
  .testimonials-grid {
    grid-template-columns: 1fr;
  }
  .testimonial-card {
    padding: 24px;
  }

  /* Footer - Mobile */
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .footer-container {
    padding: 40px 16px 24px;
  }
  .footer-logo {
    font-size: 20px;
  }
  
  /* Homepage - Mobile */
  .features-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .feature-item {
    padding: 16px;
  }
  .feature-item h6 {
    font-size: 16px;
  }
  .how-steps {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .how-step {
    padding: 24px;
  }
  .how-step-number {
    width: 60px;
    height: 60px;
  }
  .how-step-number span {
    font-size: 22px;
  }
  .how-step h5 {
    font-size: 18px;
  }
  .news-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .news-card-image {
    height: 180px;
  }
  .news-card-body {
    padding: 16px;
  }

  /* Tabs - Mobile */
  .tab-buttons {
    overflow-x: auto;
    flex-wrap: nowrap;
    justify-content: flex-start;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
    gap: 4px;
    margin-bottom: 24px;
  }
  .tab-btn {
    flex-shrink: 0;
    padding: 8px 18px;
    font-size: 12px;
  }
  .tab-items {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .tab-item-image {
    height: 140px;
  }
  .tab-item-body {
    padding: 12px;
  }
  .tab-item-body h4 {
    font-size: 14px;
  }
  .tab-item-body p {
    font-size: 12px;
  }
  .tab-item-price {
    font-size: 15px;
  }

  /* CTA - Mobile */
  .cta-card {
    padding: 40px 20px;
  }
  .cta-title {
    font-size: 24px;
  }
  .cta-text {
    font-size: 14px;
  }
  .cta-deco {
    display: none;
  }

  /* Confirmation - Mobile */
  .confirmation-card {
    padding: 24px 16px;
  }
  .confirmation-header h2 {
    font-size: 22px;
  }
  .confirmation-actions {
    flex-direction: column;
    gap: 8px;
  }
  .confirmation-actions .btn {
    width: 100%;
    justify-content: center;
  }

  /* Product Detail - Mobile */
  .product-detail-image {
    margin-bottom: 8px;
  }
  .product-detail-placeholder i {
    font-size: 60px;
  }
  .product-detail-info h2 {
    font-size: 24px;
  }
  .product-detail-desc {
    font-size: 14px;
  }
  .product-detail-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .quantity-selector {
    justify-content: center;
    margin-bottom: 8px;
  }
  .product-detail-actions .btn {
    width: 100%;
    justify-content: center;
  }

  /* Newsletter - Mobile */
  .newsletter-section h4 {
    font-size: 20px;
  }
  .newsletter-form {
    flex-direction: column;
    gap: 8px;
    max-width: 100%;
    padding: 0 16px;
  }
  .newsletter-form input {
    border-radius: 40px;
    border-right: 1px solid #e8e4de;
  }
  .newsletter-form button {
    border-radius: 40px;
  }

  /* Create section - Mobile */
  .create-section {
    padding: 60px 20px;
    background-attachment: scroll;
  }

  /* App section - Mobile */
  .app-section {
    padding: 50px 0;
  }
  .app-section h2 {
    font-size: 24px;
  }
  .app-section p {
    font-size: 14px;
  }
  .app-btn {
    width: 100%;
    max-width: 260px;
    justify-content: center;
  }
  .app-buttons {
    flex-direction: column;
    align-items: center;
  }

  /* Map - Mobile */
  .map-container iframe {
    height: 280px;
  }
  .map-container {
    margin: 20px 16px 0;
    border-radius: 8px;
  }

  /* Cart toast - Mobile */
  .cart-toast {
    bottom: 16px;
    right: 16px;
    left: 16px;
    padding: 12px 16px;
    font-size: 13px;
  }
}

@media (max-width: 480px) {
  .container {
    padding: 0 12px;
  }
  .section {
    padding: 32px 0;
  }
  .section-title {
    font-size: 20px;
  }
  .hero-title {
    font-size: 28px !important;
    text-shadow: 2px 2px 0 var(--primary, var(--primary)), 2px 2px 0 var(--primary, var(--primary)) !important;
  }
  .hero-actions .btn {
    font-size: 13px;
    padding: 12px 24px;
  }
  .page-hero {
    min-height: 22vh;
    padding: 60px 0 16px;
  }
  .page-hero-title {
    font-size: 20px;
  }
  
  /* Menu mobile */
  .tab-items {
    grid-template-columns: 1fr;
  }
  .features-grid {
    grid-template-columns: 1fr;
  }
  .menu-spec-item {
    padding: 10px 0;
  }
  .menu-spec-title {
    font-size: 14px;
  }
  .menu-spec-price {
    font-size: 14px;
  }
  .menu-category-title {
    font-size: 20px;
  }

  /* Cart mobile */
  .cart-item {
    padding: 10px 12px;
  }
  .cart-item-image {
    display: none;
  }
  .cart-item-info h4 {
    font-size: 13px;
  }
  .cart-item-total {
    font-size: 13px;
  }

  /* Contact mobile */
  .contact-form-container {
    padding: 20px 12px;
  }
  .contact-card {
    padding: 14px;
  }
  .contact-card h3 {
    font-size: 14px;
  }
  .contact-card p {
    font-size: 12px;
  }

  /* Buttons */
  .btn {
    padding: 10px 20px;
    font-size: 13px;
  }
  .btn-lg {
    padding: 12px 28px;
    font-size: 14px;
  }
  .btn-sm {
    padding: 8px 16px;
    font-size: 12px;
  }

  /* How it works */
  .how-step {
    padding: 16px;
  }
  .how-step h5 {
    font-size: 16px;
  }
  .how-step p {
    font-size: 13px;
  }

  /* CTA */
  .cta-title {
    font-size: 20px;
  }

  /* Confirmation */
  .confirmation-card {
    padding: 20px 12px;
  }
}

/* Fix mobile nav button icon (use Font Awesome instead of missing Linearicons font) */
.mad-mobile-nav-btn::after {
  font-family: 'Font Awesome 5 Free' !important;
  font-weight: 900 !important;
  content: "\f0c9" !important; /* fa-bars */
}
.mad-mobile-nav-btn.mad-opened::after {
  content: "\f00d" !important; /* fa-times */
}
