﻿@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');:root {  /* Clough Chaskaa logo palette */  --primary: #FF6600;  --primary-dark: #E55A00;  --primary-light: #FF8533;  --accent: #FF6600;  --bg: #000000;  --bg-alt: #0a0a0a;  --card-bg: #1A1A1A;  --card-hover: #242424;  --surface: #1E1E1E;  --text: #FFFFFF;  --text-muted: #9A9A9A;  --text-light: #E0E0E0;  --gold: #FFB347;  --veg: #22C55E;  --non-veg: #EF4444;  --border: rgba(255,255,255,0.08);  --success: #22C55E;  --shadow: 0 8px 32px rgba(0,0,0,0.5);  --shadow-card: 0 4px 24px rgba(0,0,0,0.35);  --radius: 16px;  --radius-lg: 20px;  --radius-sm: 12px;  --transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);  --transition-fast: all 0.2s ease;}*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }html { scroll-behavior: smooth; }body {  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;  background: var(--bg);  color: var(--text);  min-height: 100vh;  overflow-x: hidden;  line-height: 1.6;  -webkit-font-smoothing: antialiased;}a { text-decoration: none; color: inherit; }ul { list-style: none; }img { max-width: 100%; height: auto; display: block; }button { cursor: pointer; font-family: inherit; border: none; outline: none; }/* ΓöÇΓöÇΓöÇ SCROLLBAR ΓöÇΓöÇΓöÇ */::-webkit-scrollbar { width: 8px; height: 8px; }::-webkit-scrollbar-track { background: var(--bg); }::-webkit-scrollbar-thumb { background: var(--primary); border-radius: 4px; }::-webkit-scrollbar-thumb:hover { background: var(--primary-light); }/* ΓöÇΓöÇΓöÇ TOP BAR ΓöÇΓöÇΓöÇ */.top-bar {  background: var(--primary);  padding: 10px 20px;  text-align: center;  font-size: 13px;  font-weight: 600;  letter-spacing: 0.5px;  box-shadow: 0 2px 12px rgba(255,102,0,0.3);}.top-bar-inner {  max-width: 1280px;  margin: 0 auto;  display: flex;  justify-content: center;  align-items: center;  gap: 28px;  flex-wrap: wrap;}.top-bar a { color: #fff; display: inline-flex; align-items: center; gap: 6px; transition: var(--transition-fast); }.top-bar a:hover { opacity: 0.9; transform: scale(1.02); }.top-bar span { color: rgba(255,255,255,0.95); }/* ΓöÇΓöÇΓöÇ HEADER ΓöÇΓöÇΓöÇ */header {  background: rgba(15,15,15,0.97);  backdrop-filter: blur(24px);  -webkit-backdrop-filter: blur(24px);  border-bottom: 1px solid var(--border);  position: sticky;  top: 0;  z-index: 100;  padding: 14px 24px;}.header-inner {  max-width: 1280px;  margin: 0 auto;  display: flex;  align-items: center;  justify-content: space-between;  gap: 24px;}.logo {  display: flex;  align-items: center;  gap: 14px;  text-decoration: none;  transition: var(--transition-fast);}.logo:hover { transform: scale(1.02); }.logo-icon {  width: 80px;  height: 50px;  background: #000;  border-radius: 14px;  display: flex;  align-items: center;  justify-content: center;  overflow: hidden;  box-shadow: 0 4px 20px rgba(255,102,0,0.6);}.logo-icon img {  width: 115%;  height: 115%;  object-fit: contain;}.logo-text { display: flex; flex-direction: column; line-height: 1.2; }.logo-text .brand { font-size: 22px; font-weight: 900; color: var(--text); letter-spacing: -0.5px; }.logo-text .tagline { font-size: 11px; color: var(--primary); font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; }nav { display: flex; align-items: center; gap: 6px; }nav a {  color: var(--text-light);  font-weight: 600;  font-size: 15px;  padding: 10px 18px;  border-radius: var(--radius-sm);  transition: var(--transition-fast);  position: relative;}/* Prevent nav from wrapping and force links to stay on one line. Allow horizontal scroll on narrow screens. */nav {  flex-wrap: nowrap;  overflow-x: auto;  -webkit-overflow-scrolling: touch;}nav a { white-space: nowrap; }nav a:hover { color: var(--text); background: rgba(255,255,255,0.05); }nav a.active { color: var(--primary); }nav a.active::after {  content: '';  position: absolute;  bottom: 4px;  left: 18px;  right: 18px;  height: 2px;  background: var(--primary);  border-radius: 2px;}.cart-btn {  background: var(--primary);  color: #fff;  padding: 12px 24px;  border-radius: 50px;  display: flex;  align-items: center;  gap: 10px;  font-weight: 700;  font-size: 15px;  transition: var(--transition);  text-decoration: none;  box-shadow: 0 4px 16px rgba(255,102,0,0.35);}.cart-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 24px rgba(255,102,0,0.45); background: var(--primary-light); }.cart-count {  background: #fff;  color: var(--primary);  font-size: 12px;  font-weight: 800;  min-width: 24px;  height: 24px;  padding: 0 6px;  border-radius: 50%;  display: flex;  align-items: center;  justify-content: center;  animation: cartBump 0.4s ease;}@keyframes cartBump {  0%, 100% { transform: scale(1); }  50% { transform: scale(1.2); }}.hamburger {  display: none;  background: rgba(255,255,255,0.08);  padding: 12px;  color: var(--text);  font-size: 22px;  border-radius: var(--radius-sm);  transition: var(--transition-fast);}.hamburger:hover { background: rgba(255,255,255,0.12); }.mobile-nav {  display: none;  flex-direction: column;  gap: 4px;  padding: 20px 24px;  border-top: 1px solid var(--border);  background: rgba(15,15,15,0.98);}.mobile-nav a {  padding: 14px 18px;  border-radius: var(--radius-sm);  color: var(--text-light);  font-weight: 600;  font-size: 16px;  transition: var(--transition-fast);}.mobile-nav a:hover { background: rgba(255,255,255,0.06); color: var(--primary); }.mobile-nav.open { display: flex; }/* ΓöÇΓöÇΓöÇ HERO ΓöÇΓöÇΓöÇ */.hero {  position: relative;  min-height: 92vh;  display: flex;  align-items: center;  overflow: hidden;  background: linear-gradient(135deg, #1a0a0d 0%, #0F0F0F 50%, #0a1419 100%);}.hero::before {  content: '';  position: absolute;  inset: 0;  background: radial-gradient(ellipse 80% 60% at 70% 40%, rgba(255,102,0,0.15) 0%, transparent 60%),              radial-gradient(ellipse 50% 40% at 20% 80%, rgba(255,199,44,0.06) 0%, transparent 50%);  pointer-events: none;}.hero-bg {  position: absolute;  inset: 0;  background: url('https://images.unsplash.com/photo-1565299624946-b28f40a0ae38?w=1920&q=80') center/cover;  opacity: 0.25;}.hero-bg::after {  content: '';  position: absolute;  inset: 0;  background: linear-gradient(90deg, rgba(15,15,15,0.95) 0%, rgba(15,15,15,0.6) 50%, rgba(15,15,15,0.3) 100%);}.hero-grid {  position: absolute;  inset: 0;  background-image: linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);  background-size: 48px 48px;  mask-image: radial-gradient(ellipse at 30% 50%, black 20%, transparent 70%);}.hero-inner {  max-width: 1280px;  margin: 0 auto;    display: grid;  grid-template-columns: 1fr 1fr;  gap: 64px;  align-items: center;  position: relative;  z-index: 2;  width: 100%;}.hero-content { max-width: 540px; }.hero-badge {  display: inline-flex;  align-items: center;  gap: 10px;  background: rgba(255,102,0,0.2);  border: 1px solid rgba(255,102,0,0.4);  color: var(--primary);  padding: 10px 20px;  border-radius: 50px;  font-size: 14px;  font-weight: 700;  letter-spacing: 0.5px;  margin-bottom: 28px;  animation: fadeInUp 0.6s ease both;}.hero-title {  font-size: clamp(42px, 5.5vw, 72px);  font-weight: 900;  line-height: 1.05;  letter-spacing: -2px;  margin-bottom: 24px;  animation: fadeInUp 0.6s ease 0.1s both;}.hero-title span { color: var(--primary); }.hero-desc {  font-size: 18px;  color: var(--text-muted);  margin-bottom: 40px;  line-height: 1.7;  animation: fadeInUp 0.6s ease 0.2s both;}.hero-actions {  display: flex;  gap: 16px;  flex-wrap: wrap;  animation: fadeInUp 0.6s ease 0.3s both;}.btn-primary {  background: var(--primary);  color: #fff;  padding: 18px 36px;  border-radius: 50px;  font-size: 17px;  font-weight: 700;  letter-spacing: 0.3px;  transition: var(--transition);  box-shadow: 0 8px 28px rgba(255,102,0,0.4);  display: inline-flex;  align-items: center;  justify-content: center;  gap: 10px;  border: none;}.btn-primary:hover {  transform: translateY(-3px);  box-shadow: 0 12px 36px rgba(255,102,0,0.5);  background: var(--primary-light);}.btn-primary:active { transform: translateY(-1px); }.btn-secondary {  background: rgba(255,255,255,0.08);  border: 2px solid rgba(255,255,255,0.2);  color: var(--text);  padding: 18px 36px;  border-radius: 50px;  font-size: 16px;  font-weight: 700;  transition: var(--transition);  display: inline-flex;  align-items: center;  gap: 10px;}.btn-secondary:hover {  border-color: var(--primary);  color: var(--primary);  background: rgba(255,102,0,0.1);  transform: translateY(-2px);}.hero-stats {  display: flex;  gap: 40px;  margin-top: 48px;  padding-top: 36px;  border-top: 1px solid var(--border);  animation: fadeInUp 0.6s ease 0.4s both;}.stat { text-align: left; }.stat-num { font-size: 28px; font-weight: 900; color: var(--primary); line-height: 1.2; }.stat-label { font-size: 13px; color: var(--text-muted); margin-top: 4px; font-weight: 500; }.hero-visual {  position: relative;  display: flex;  align-items: center;  justify-content: center;  animation: fadeInRight 0.8s ease 0.2s both;}.pizza-showcase {  position: relative;  width: 420px;  height: 420px;}.pizza-ring {  position: absolute;  inset: -24px;  border-radius: 50%;  border: 2px dashed rgba(255,102,0,0.25);  animation: spin 25s linear infinite;}.pizza-ring-2 {  position: absolute;  inset: 24px;  border-radius: 50%;  border: 1px solid rgba(255,199,44,0.15);  animation: spin 18s linear infinite reverse;}@keyframes spin { to { transform: rotate(360deg); } }.pizza-main {  width: 100%;  height: 100%;  border-radius: 50%;  object-fit: cover;  position: relative;  z-index: 1;  filter: drop-shadow(0 24px 64px rgba(0,0,0,0.5));  animation: float 5s ease-in-out infinite;}@keyframes float {  0%, 100% { transform: translateY(0) scale(1); }  50% { transform: translateY(-20px) scale(1.02); }}.pizza-badge-float {  position: absolute;  background: var(--card-bg);  border: 1px solid var(--border);  border-radius: 14px;  padding: 12px 18px;  display: flex;  align-items: center;  gap: 10px;  font-size: 14px;  font-weight: 700;  box-shadow: var(--shadow);  z-index: 3;  animation: float 5s ease-in-out infinite;}.pizza-badge-float.top-right { top: 8%; right: -12%; animation-delay: 0.5s; }.pizza-badge-float.bottom-left { bottom: 12%; left: -8%; animation-delay: 1s; }.badge-icon { font-size: 22px; }@keyframes fadeInUp {  from { opacity: 0; transform: translateY(40px); }  to { opacity: 1; transform: translateY(0); }}@keyframes fadeInRight {  from { opacity: 0; transform: translateX(50px); }  to { opacity: 1; transform: translateX(0); }}/* ΓöÇΓöÇΓöÇ SECTIONS ΓöÇΓöÇΓöÇ */section { padding: 100px 24px; }.section-inner { max-width: 1280px; margin: 0 auto; }.section-header { text-align: center; margin-bottom: 56px; }.section-label {  font-size: 13px;  font-weight: 700;  letter-spacing: 3px;  text-transform: uppercase;  color: var(--primary);  margin-bottom: 14px;  display: block;}.section-title {  font-size: clamp(32px, 4vw, 48px);  font-weight: 900;  letter-spacing: -1px;  margin-bottom: 16px;}.section-desc {  font-size: 17px;  color: var(--text-muted);  max-width: 560px;  margin: 0 auto;  line-height: 1.7;}/* ΓöÇΓöÇΓöÇ HOME CATEGORY STRIP (Domino's style) ΓöÇΓöÇΓöÇ */.category-strip {  padding-top: 40px;  padding-bottom: 90px;  background: radial-gradient(circle at top, rgba(255,102,0,0.12) 0%, transparent 55%);}.category-scroller {  display: flex;  gap: 18px;  margin-top: 10px;  overflow-x: auto;  padding-bottom: 6px;  scrollbar-width: none;}.category-scroller::-webkit-scrollbar { display: none; }.cat-card {  min-width: 230px;  max-width: 260px;  background: var(--card-bg);  border-radius: 20px;  border: 1px solid var(--border);  overflow: hidden;  flex-shrink: 0;  box-shadow: 0 8px 24px rgba(0,0,0,0.4);  transform: translateY(10px);  opacity: 0;  transition: var(--transition);}.cat-card.animate-in {  opacity: 1;  transform: translateY(0);}.cat-card:hover {  transform: translateY(-6px) scale(1.02);  border-color: var(--cat-color, rgba(255,102,0,0.45));  box-shadow: 0 18px 40px rgba(0,0,0,0.6), 0 0 0 1px var(--cat-color, rgba(255,102,0,0.3));}.cat-icon {  height: 140px;  display: flex;  align-items: center;  justify-content: center;  font-size: 72px;  background: var(--cat-glow, rgba(255,102,0,0.12));  border-bottom: 1px solid var(--border);  position: relative;  transition: var(--transition);}.cat-card:hover .cat-icon {  font-size: 84px;  background: var(--cat-glow, rgba(255,102,0,0.2));}.cat-body {  padding: 16px 18px 18px;}.cat-label {  font-size: 15px;  font-weight: 800;  margin-bottom: 4px;  color: var(--cat-color, var(--primary));}.cat-body p {  font-size: 13px;  color: var(--text-muted);}/* ΓöÇΓöÇΓöÇ PIZZA CARDS (Domino's style) ΓöÇΓöÇΓöÇ */.pizza-grid {  display: grid;  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));  gap: 28px;}.pizza-card {  background: var(--card-bg);  border-radius: var(--radius-lg);  overflow: hidden;  border: 1px solid var(--border);  transition: var(--transition);  position: relative;  opacity: 0;  transform: translateY(24px);}.pizza-card.animate-in {  opacity: 1;  transform: translateY(0);}.pizza-card:hover {  transform: translateY(-8px);  border-color: rgba(255,102,0,0.4);  box-shadow: 0 24px 56px rgba(0,0,0,0.45), 0 0 0 1px rgba(255,102,0,0.1);}.pizza-img-wrap {  position: relative;  height: 220px;  overflow: hidden;  background: linear-gradient(135deg, #2a2a2a 0%, #1a1a1a 100%);}.pizza-img-wrap img {  width: 100%;  height: 100%;  object-fit: cover;  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);}.pizza-card:hover .pizza-img-wrap img {  transform: scale(1.1);}.veg-badge {  position: absolute;  top: 14px;  left: 14px;  width: 24px;  height: 24px;  border-radius: 6px;  border: 2px solid;  display: flex;  align-items: center;  justify-content: center;  z-index: 2;}.veg-badge.veg { border-color: var(--veg); }.veg-badge.veg::after { content: ''; width: 10px; height: 10px; border-radius: 50%; background: var(--veg); }.veg-badge.non-veg { border-color: var(--non-veg); }.veg-badge.non-veg::after { content: ''; width: 10px; height: 10px; border-radius: 50%; background: var(--non-veg); }.bestseller-tag {  position: absolute;  top: 14px;  right: 14px;  background: var(--gold);  color: #000;  font-size: 11px;  font-weight: 800;  letter-spacing: 0.5px;  padding: 5px 10px;  border-radius: 6px;  text-transform: uppercase;  z-index: 2;  animation: pulse-tag 2s ease-in-out infinite;}@keyframes pulse-tag {  0%, 100% { box-shadow: 0 0 0 0 rgba(255,199,44,0.4); }  50% { box-shadow: 0 0 0 6px rgba(255,199,44,0); }}.pizza-body { padding: 24px; }.pizza-card-meta {  display: flex;  align-items: center;  gap: 8px;  margin-bottom: 14px;}.pizza-card-meta .veg-badge {  position: static;  flex-shrink: 0;  margin: 0;}.bestseller-inline {  background: var(--gold);  color: #000;  font-size: 11px;  font-weight: 800;  letter-spacing: 0.5px;  padding: 4px 10px;  border-radius: 6px;  text-transform: uppercase;}.pizza-name { font-size: 19px; font-weight: 800; margin-bottom: 8px; letter-spacing: -0.3px; }.pizza-desc { font-size: 14px; color: var(--text-muted); margin-bottom: 18px; line-height: 1.6; }.pizza-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; }.pizza-price { font-size: 15px; color: var(--text-muted); }.pizza-price span { font-size: 22px; font-weight: 900; color: var(--gold); }.add-btn {  background: var(--primary);  color: #fff;  border: none;  padding: 12px 22px;  border-radius: 50px;  font-size: 14px;  font-weight: 700;  transition: var(--transition);  cursor: pointer;  white-space: nowrap;}.add-btn:hover {  background: var(--primary-light);  transform: scale(1.05);  box-shadow: 0 4px 20px rgba(255,102,0,0.4);}/* ΓöÇΓöÇΓöÇ FEATURES STRIP ΓöÇΓöÇΓöÇ */.features-strip {  background: var(--surface);  border-top: 1px solid var(--border);  border-bottom: 1px solid var(--border);  padding: 48px 24px;}.features-inner {  max-width: 1280px;  margin: 0 auto;  display: grid;  grid-template-columns: repeat(4, 1fr);  gap: 32px;}.feature-item {  display: flex;  align-items: center;  gap: 20px;  padding: 20px;  border-radius: var(--radius);  transition: var(--transition);  background: rgba(255,255,255,0.02);  opacity: 0;  transform: translateY(24px);}.feature-item.animate-in {  opacity: 1;  transform: translateY(0);}.feature-item:hover {  background: rgba(255,102,0,0.08);  transform: translateY(-2px);}.feature-icon {  width: 56px;  height: 56px;  background: rgba(255,102,0,0.15);  border-radius: 14px;  display: flex;  align-items: center;  justify-content: center;  font-size: 26px;  flex-shrink: 0;}.feature-text h4 { font-size: 16px; font-weight: 800; margin-bottom: 4px; }.feature-text p { font-size: 13px; color: var(--text-muted); line-height: 1.5; }.promise-section { padding-top: 0; }/* ΓöÇΓöÇΓöÇ WHY US CARDS ΓöÇΓöÇΓöÇ */.promise-grid {  display: grid;  grid-template-columns: repeat(3, 1fr);  gap: 28px;}.promise-card {  background: var(--card-bg);  border: 1px solid var(--border);  border-radius: var(--radius-lg);  padding: 36px 32px;  text-align: center;  transition: var(--transition);  opacity: 0;  transform: translateY(24px);}.promise-card.animate-in {  opacity: 1;  transform: translateY(0);}.promise-card:hover {  border-color: rgba(255,102,0,0.3);  transform: translateY(-4px);  box-shadow: var(--shadow-card);}.promise-card.featured {  border-color: rgba(255,102,0,0.4);  position: relative;  overflow: hidden;}.promise-card.featured::before {  content: '';  position: absolute;  top: 0; left: 0; right: 0;  height: 4px;  background: linear-gradient(90deg, var(--primary), var(--gold));}.promise-card .icon { font-size: 52px; margin-bottom: 20px; }.promise-card h3 { font-size: 19px; font-weight: 800; margin-bottom: 12px; }.promise-card p { color: var(--text-muted); font-size: 14px; line-height: 1.7; }/* ΓöÇΓöÇΓöÇ MENU PAGE ΓöÇΓöÇΓöÇ */.page-hero {  background:    linear-gradient(135deg, rgba(26,4,3,0.91) 0%, rgba(15,15,15,0.87) 100%),    url('https://images.unsplash.com/photo-1513104890138-7c749659a591?w=1920&q=80') center/cover no-repeat;  padding: 72px 24px 52px;  text-align: center;  border-bottom: 1px solid var(--border);  position: relative;  overflow: hidden;}.page-hero::before {  content: '';  position: absolute;  inset: 0;  background: radial-gradient(ellipse at center, rgba(255,102,0,0.18) 0%, transparent 70%);}.page-hero h1 {  font-size: clamp(36px, 5vw, 56px);  font-weight: 900;  position: relative;  z-index: 1;  margin-bottom: 12px;}.page-hero p { color: var(--text-muted); font-size: 17px; position: relative; z-index: 1; }/* ΓöÇΓöÇΓöÇ OFFERS & COMBOS HERO (shared) ΓöÇΓöÇΓöÇ */.offers-hero, .combos-hero {  background:    linear-gradient(135deg, rgba(26,4,3,0.86) 0%, rgba(15,15,15,0.7) 60%),    url('https://images.unsplash.com/photo-1513104890138-7c749659a591?w=1920&q=80') center/cover no-repeat;  padding: 48px 20px 36px;  text-align: center;  border-bottom: 1px solid var(--border);  min-height: 260px;  display: flex;  flex-direction: column;  align-items: center;  justify-content: center;  position: relative;  overflow: hidden;}.offers-hero h1, .combos-hero h1 { font-size: clamp(28px,6vw,46px); font-weight: 900; color: #fff; margin: 0 0 8px; }.offers-hero p, .combos-hero p { font-size: 15px; color: rgba(255,255,255,.75); margin: 0; }.offers-hero::before, .combos-hero::before {  content: '';  position: absolute;  inset: 0;  background: radial-gradient(ellipse at center, rgba(255,102,0,0.12) 0%, transparent 65%);  pointer-events: none;  z-index: 0;}.offers-hero > *, .combos-hero > * { position: relative; z-index: 1; }.hero-text-wrap {  max-width: 560px;  width: 100%;  text-align: center;  position: relative;  z-index: 1;}/* Offer / Combo cards (moved from page-specific views) */.offer-card {  background: var(--card-bg);  border-radius: 16px;  overflow: hidden;  border: 1.5px solid var(--border);  transition: transform .2s, box-shadow .2s;  display: flex;  flex-direction: column;}.offer-card:hover { transform: translateY(-3px); box-shadow: 0 12px 36px rgba(0,0,0,.3); }.offer-badge {  display: inline-block;  background: var(--primary);  color: #fff;  font-size: 12px;  font-weight: 800;  padding: 4px 12px;  border-radius: 20px;  margin-bottom: 10px;  letter-spacing: .3px;}.offer-summary {  display: inline-flex;  align-items: center;  gap: 8px;  background: rgba(255,107,0,.1);  border: 1.5px solid rgba(255,107,0,.25);  border-radius: 10px;  padding: 8px 16px;  font-weight: 700;  color: var(--primary);  font-size: 15px;  margin: 12px 0;}.share-wa-btn {  display: inline-flex;  align-items: center;  gap: 8px;  background: #25d366;  color: #fff;  border: none;  border-radius: 10px;  padding: 10px 18px;  font-size: 14px;  font-weight: 700;  cursor: pointer;  text-decoration: none;}.share-wa-btn:hover { background: #1ebe5d; }.combos-grid {  display: grid;  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));  gap: 20px;  max-width: 1140px;  margin: 0 auto;  padding: 32px 16px 48px;}.combo-card {  background: var(--card-bg);  border: 1.5px solid var(--border);  border-radius: 18px;  overflow: hidden;  display: flex;  flex-direction: column;  transition: box-shadow .2s, transform .2s;}.combo-card:hover { box-shadow: 0 10px 36px rgba(0,0,0,.22); transform: translateY(-2px); }.combo-card-img { width: 100%; height: 160px; object-fit: cover; display: block; }.combo-card-img-placeholder {  width: 100%; height: 110px;  background: linear-gradient(135deg,#2d1600,#ff6b00 90%);  display: flex; align-items: center; justify-content: center;  font-size: 44px;}.combo-card-body { padding: 16px; flex: 1; display: flex; flex-direction: column; }.combo-name { font-size: 16px; font-weight: 800; color: var(--text); margin: 0 0 4px; }.combo-desc { font-size: 13px; color: var(--text-muted); margin: 0 0 10px; }.combo-chips { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 12px; }.combo-chip {  font-size: 12px; font-weight: 600; padding: 3px 9px; border-radius: 20px;  background: rgba(255,107,0,.08); border: 1px solid rgba(255,107,0,.2); color: var(--primary);}.combo-footer { display: flex; align-items: center; justify-content: space-between; margin-top: auto; gap: 10px; }.combo-price { font-size: 22px; font-weight: 900; color: var(--primary); }.combo-price small { font-size: 13px; font-weight: 500; color: var(--text-muted); }.combo-add-btn {  background: var(--primary); color: #fff; border: none; border-radius: 30px;  padding: 9px 20px; font-size: 13.5px; font-weight: 700; cursor: pointer;  transition: background .15s, transform .1s;}.combo-add-btn:hover:not(:disabled) { background: var(--primary-dark, #e05a00); transform: scale(1.04); }.combo-add-btn:disabled { opacity: .5; cursor: not-allowed; transform: none; }.type-badge {  display: inline-block; font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 20px;  margin-bottom: 6px;}.type-badge.veg     { background: rgba(34,197,94,.1);  color: #15803d; }.type-badge.nonveg  { background: rgba(239,68,68,.1);  color: #b91c1c; }.type-badge.mixed   { background: rgba(234,179,8,.1);  color: #a16207; }.combos-empty {  text-align: center; padding: 80px 20px; color: var(--text-muted);  max-width: 420px; margin: 0 auto;  grid-column: 1 / -1;}.combos-empty .emj { font-size: 64px; margin-bottom: 18px; }.combos-empty h3 { font-size: 20px; font-weight: 800; color: var(--text); margin: 0 0 8px; }/* ΓöÇΓöÇΓöÇ OFFERS: layout, compact variants and responsive tweaks ΓöÇΓöÇΓöÇ */.offers-container { max-width: 900px; margin: 0 auto; padding: 28px 16px; }.offers-grid {  display: grid;  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));  gap: 16px;}/* No padding on card ΓÇö image sits edge-to-edge, body has its own padding */.offer-img { width:100%; height:160px; object-fit:cover; display:block; }.offer-img-placeholder {  width:100%; height:140px; display:flex; align-items:center; justify-content:center;  background: linear-gradient(135deg,#2d1200,#ff6b00 80%); font-size:44px; color:#fff;}.offer-body { padding: 14px 14px 14px; flex: 1; display: flex; flex-direction: column; }.offer-title { font-size: 17px; font-weight: 800; margin: 4px 0 6px; color: var(--text); line-height: 1.3; }.offer-desc { font-size: 13px; color: var(--text-muted); margin: 0 0 8px; line-height:1.45; }.offer-summary { display: inline-flex; align-items: center; gap: 6px; background: rgba(255,107,0,.1); border: 1.5px solid rgba(255,107,0,.25); border-radius: 8px; padding: 6px 12px; font-weight: 700; color: var(--primary); font-size: 13px; margin: 0 0 10px; }.offer-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:auto; }.btn-primary.compact { padding:10px 16px; font-size:13.5px; border-radius:10px; }/* Compact combo card ΓÇö image edge-to-edge */.combo-card { padding: 0; }.combo-card-body { padding: 14px; }.combo-card-img { height: 140px; }.combo-card-img-placeholder { height: 140px; }/* Mobile adjustments: make layout tighter and buttons full width */@media (max-width: 640px) {  .offers-container { padding: 18px 12px; }  .offers-hero, .combos-hero { padding: 28px 14px 20px; }  .offers-hero h1, .combos-hero h1 { font-size: clamp(22px,6vw,34px); }  .offers-grid { gap: 12px; grid-template-columns: 1fr; }  .combos-grid { gap: 12px; grid-template-columns: 1fr; padding: 20px 12px 36px; }  .offer-img { height: 140px; }  .offer-body { padding: 10px; }  .offer-card { padding: 10px; }  .combo-card { padding: 10px; }  .offer-actions { flex-direction: column; }  .btn-primary.compact { width: 100%; justify-content: center; }}/* Slightly denser on small tablets */@media (min-width: 641px) and (max-width: 900px) {  .offers-grid { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }}.menu-layout {  max-width: 1280px;  margin: 0 auto;  padding: 48px 24px;  display: grid;  grid-template-columns: 260px 1fr;  gap: 40px;  align-items: start;}.menu-sidebar {  position: sticky;  top: 100px;  max-height: calc(100vh - 120px);  overflow-y: auto;  scrollbar-width: none;  background: var(--card-bg);  border: 1px solid var(--border);  border-radius: var(--radius-lg);  padding: 12px;}.menu-sidebar::-webkit-scrollbar { display: none; }.sidebar-title {  font-size: 11px;  font-weight: 800;  letter-spacing: 2px;  text-transform: uppercase;  color: var(--text-muted);  padding: 14px 18px 10px;}.cat-item {  display: flex;  align-items: center;  gap: 12px;  padding: 14px 18px;  border-radius: var(--radius-sm);  cursor: pointer;  transition: var(--transition-fast);  font-size: 15px;  font-weight: 600;  color: var(--text-muted);}.cat-item:hover { background: rgba(255,102,0,0.1); color: var(--text); }.cat-item.active { background: rgba(255,102,0,0.15); color: var(--primary); font-weight: 700; }.cat-item span { font-size: 20px; }/* Scroll hint & mobile bar ΓÇö hidden on desktop */.cat-scroll-hint { display: none; }.cat-fade-edge   { display: none; }.cat-swipe-label { display: none; }.cat-strip-wrap  { display: contents; }/* Mobile category bar ΓÇö hidden on desktop */.mobile-cat-bar  { display: none; }.menu-content { display: flex; flex-direction: column; gap: 56px; }.menu-section { scroll-margin-top: 120px; }  .menu-section { scroll-margin-top: 180px; }.menu-section-title {  font-size: 24px;  font-weight: 800;  display: flex;  align-items: center;  gap: 12px;}.menu-section-hd { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:24px; padding-bottom:16px; border-bottom:2px solid var(--border); }.sec-vf-strip { display:flex; gap:6px; flex-shrink:0; }.sec-vf-btn { padding:5px 14px; border-radius:50px; border:1.5px solid rgba(255,255,255,.15); background:transparent; color:rgba(255,255,255,.55); font-size:12px; font-weight:700; cursor:pointer; transition:.15s; white-space:nowrap; }.sec-vf-btn.active { background:#ff6b00; border-color:#ff6b00; color:#fff; }.sec-vf-btn:hover:not(.active){ border-color:#ff6b00; color:#ff6b00; }@media(max-width:600px){ .sec-vf-strip { gap:4px; } .sec-vf-btn { padding:4px 10px; font-size:11px; } }.menu-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 28px; }/* ΓöÇΓöÇΓöÇ MENU CARD (non-pizza items) ΓöÇΓöÇΓöÇ */.menu-card {  background: var(--card-bg);  border: 1px solid var(--border);  border-radius: var(--radius);  padding: 24px;  display: flex;  gap: 20px;  transition: var(--transition);  opacity: 0;  transform: translateY(24px);}.menu-card.animate-in {  opacity: 1;  transform: translateY(0);}.menu-card:hover {  border-color: rgba(255,102,0,0.3);  box-shadow: var(--shadow-card);}.menu-card-img {  width: 100px;  height: 100px;  border-radius: var(--radius-sm);  overflow: hidden;  flex-shrink: 0;  background: var(--surface);}.menu-card-img img {  width: 100%;  height: 100%;  object-fit: cover;}.menu-card-body { flex: 1; }.menu-card-name { font-size: 17px; font-weight: 800; margin-bottom: 6px; }.menu-card-desc { font-size: 13px; color: var(--text-muted); margin-bottom: 14px; line-height: 1.5; }.menu-card-footer { display: flex; align-items: center; justify-content: space-between; }.menu-card-price { font-size: 20px; font-weight: 900; color: var(--gold); }/* ΓöÇΓöÇΓöÇ MODAL ΓöÇΓöÇΓöÇ */.modal-overlay {  position: fixed;  inset: 0;  background: rgba(0,0,0,0.9);  z-index: 1000;  display: flex;  align-items: flex-end;  justify-content: center;  padding: 0;  opacity: 0;  pointer-events: none;  transition: opacity 0.3s ease;  backdrop-filter: blur(12px);}.modal-overlay.open { opacity: 1; pointer-events: all; }.modal {  background: var(--card-bg);  border-radius: var(--radius-lg) var(--radius-lg) 0 0;  width: 100%;  max-width: 560px;  max-height: 92vh;  overflow-y: auto;  transform: translateY(100%);  transition: transform 0.4s cubic-bezier(0.32, 0.72, 0, 1);}.modal-overlay.open .modal { transform: translateY(0); }.modal-header {  position: sticky;  top: 0;  background: var(--card-bg);  padding: 28px 28px 20px;  border-bottom: 1px solid var(--border);  display: flex;  align-items: flex-start;  justify-content: space-between;  gap: 16px;  z-index: 10;}.modal-title { font-size: 22px; font-weight: 800; margin-bottom: 6px; }.modal-desc { font-size: 14px; color: var(--text-muted); }.modal-close {  background: rgba(255,255,255,0.08);  border: none;  color: var(--text);  width: 40px;  height: 40px;  border-radius: 50%;  font-size: 20px;  display: flex;  align-items: center;  justify-content: center;  cursor: pointer;  flex-shrink: 0;  transition: var(--transition-fast);}.modal-close:hover { background: var(--primary); color: #fff; }.modal-body { padding: 28px; }.builder-section { margin-bottom: 32px; }.builder-section-title {  font-size: 13px;  font-weight: 800;  letter-spacing: 1.5px;  text-transform: uppercase;  color: var(--text-muted);  margin-bottom: 16px;}.filter-btn {  padding: 5px 16px;  border: 2px solid var(--border);  border-radius: 20px;  background: transparent;  color: var(--text-muted);  font-size: 13px;  font-weight: 600;  cursor: pointer;  transition: all 0.15s;}.filter-btn.active, .filter-btn:hover {  border-color: var(--primary);  color: var(--primary);  background: rgba(255,90,0,0.08);}.size-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }.size-option { position: relative; cursor: pointer; }.size-option input { position: absolute; opacity: 0; width: 0; height: 0; }.size-label {  display: flex;  flex-direction: column;  align-items: center;  padding: 18px 14px;  border: 2px solid var(--border);  border-radius: var(--radius-sm);  transition: var(--transition-fast);  text-align: center;}.size-option input:checked + .size-label {  border-color: var(--primary);  background: rgba(255,102,0,0.1);}.size-icon { font-size: 30px; margin-bottom: 8px; }.size-name { font-weight: 700; font-size: 15px; }.size-sub { font-size: 12px; color: var(--text-muted); }.crust-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.crust-option { position: relative; cursor: pointer; }.crust-option input { position: absolute; opacity: 0; width: 0; height: 0; }.crust-label {  display: flex;  flex-direction: column;  align-items: flex-start;  gap: 6px;  padding: 14px 14px;  border: 2px solid var(--border);  border-radius: var(--radius-sm);  transition: var(--transition-fast);  min-height: 72px;}.crust-option input:checked + .crust-label {  border-color: var(--primary);  background: rgba(255,102,0,0.1);}.crust-option input:checked + .crust-label .crust-radio {  border-color: var(--primary);  background: var(--primary);}.crust-option input:checked + .crust-label .crust-radio::after {  content: '\2714';  color: #fff;  font-size: 12px;  font-weight: 700;}.crust-label-left { display: flex; align-items: center; gap: 10px; }.crust-radio {  width: 20px;  height: 20px;  border-radius: 50%;  border: 2px solid var(--border);  display: flex;  align-items: center;  justify-content: center;  flex-shrink: 0;  transition: var(--transition-fast);}.crust-name { font-weight: 700; font-size: 14px; line-height: 1.2; }.crust-extra { font-size: 13px; color: var(--primary); font-weight: 700; padding-left: 30px; }.topping-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }.topping-option { position: relative; cursor: pointer; }.topping-option input { position: absolute; opacity: 0; width: 0; height: 0; }.topping-label {  display: flex;  align-items: center;  justify-content: space-between;  padding: 14px 16px;  border: 2px solid var(--border);  border-radius: var(--radius-sm);  transition: var(--transition-fast);}.topping-option input:checked + .topping-label {  border-color: var(--veg);  background: rgba(34,197,94,0.08);}.topping-left { display: flex; align-items: center; gap: 10px; }.topping-check {  width: 20px;  height: 20px;  border: 2px solid var(--border);  border-radius: 6px;  flex-shrink: 0;  transition: var(--transition-fast);}.topping-option input:checked + .topping-label .topping-check {  background: var(--veg);  border-color: var(--veg);}.topping-option input:checked + .topping-label .topping-check::after {  content: '\2714';  color: #fff;  font-size: 12px;  font-weight: 700;  display: flex;  align-items: center;  justify-content: center;}.topping-name { font-size: 14px; font-weight: 600; }.topping-price { font-size: 14px; color: var(--primary); font-weight: 700; }.modal-footer {  position: sticky;  bottom: 0;  background: var(--card-bg);  padding: 24px 28px;  border-top: 1px solid var(--border);  display: flex;  align-items: center;  justify-content: space-between;  gap: 20px;}.live-price { display: flex; flex-direction: column; }.live-price-label { font-size: 12px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 1px; }.live-price-val { font-size: 28px; font-weight: 900; color: var(--gold); }.add-to-cart-btn {  background: var(--primary);  color: #fff;  border: none;  padding: 16px 32px;  border-radius: 50px;  font-size: 17px;  font-weight: 700;  cursor: pointer;  transition: var(--transition);  flex: 1;  max-width: 240px;}.add-to-cart-btn:hover {  transform: translateY(-2px);  box-shadow: 0 8px 28px rgba(255,102,0,0.45);  background: var(--primary-light);}/* ΓöÇΓöÇΓöÇ CART PAGE ΓöÇΓöÇΓöÇ */.cart-page { max-width: 1160px; margin: 0 auto; padding: 48px 24px 120px; }.cart-layout { display: grid; grid-template-columns: 1fr 400px; gap: 40px; align-items: start; }.cart-title {  font-size: 36px;  font-weight: 900;  margin-bottom: 36px;  letter-spacing: -0.5px;}.cart-empty {  text-align: center;  padding: 100px 24px;  color: var(--text-muted);}.cart-empty-icon { font-size: 80px; margin-bottom: 24px; opacity: 0.5; }.cart-empty h3 { font-size: 26px; font-weight: 800; margin-bottom: 12px; color: var(--text); }.cart-empty p { font-size: 16px; margin-bottom: 32px; }.cart-item {  background: var(--card-bg);  border: 1px solid var(--border);  border-radius: var(--radius-lg);  padding: 24px;  display: flex;  gap: 24px;  margin-bottom: 20px;  transition: var(--transition);  animation: slideIn 0.4s ease;}@keyframes slideIn {  from { opacity: 0; transform: translateY(16px); }  to { opacity: 1; transform: translateY(0); }}.cart-item:hover { border-color: rgba(255,102,0,0.2); }.cart-item-img {  width: 96px;  height: 96px;  border-radius: var(--radius-sm);  background: var(--surface);  flex-shrink: 0;  display: flex;  align-items: center;  justify-content: center;  font-size: 44px;}.cart-item-info { flex: 1; }.cart-item-name { font-size: 18px; font-weight: 800; margin-bottom: 6px; }.cart-item-details { font-size: 14px; color: var(--text-muted); margin-bottom: 14px; line-height: 1.5; }.cart-item-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }.qty-controls { display: flex; align-items: center; gap: 4px; }.qty-btn {  background: rgba(255,255,255,0.08);  border: none;  color: var(--text);  width: 36px;  height: 36px;  border-radius: 10px;  font-size: 18px;  font-weight: 700;  display: flex;  align-items: center;  justify-content: center;  cursor: pointer;  transition: var(--transition-fast);}.qty-btn:hover { background: var(--primary); }.qty-num { width: 40px; text-align: center; font-weight: 800; font-size: 16px; }.item-price { font-size: 20px; font-weight: 900; color: var(--gold); }.remove-btn {  background: none;  border: none;  color: var(--text-muted);  font-size: 14px;  cursor: pointer;  padding: 8px 12px;  border-radius: 8px;  transition: var(--transition-fast);  font-weight: 600;}.remove-btn:hover { background: rgba(239,68,68,0.15); color: var(--non-veg); }.order-summary {  background: var(--card-bg);  border: 1px solid var(--border);  border-radius: var(--radius-lg);  padding: 28px;  position: sticky;  top: 100px;}.summary-title { font-size: 20px; font-weight: 800; margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid var(--border); }.summary-row {  display: flex;  justify-content: space-between;  align-items: center;  padding: 12px 0;  font-size: 15px;  color: var(--text-muted);  border-bottom: 1px solid var(--border);}.summary-row:last-of-type { border-bottom: none; }.summary-row.total {  font-size: 20px;  font-weight: 900;  color: var(--text);  margin-top: 12px;  padding-top: 20px;  border-top: 2px solid var(--border);}.summary-row.total span:last-child { color: var(--gold); }.summary-btns { margin-top: 24px; display: flex; flex-direction: column; gap: 12px; }.btn-checkout {  background: var(--primary);  color: #fff;  padding: 18px;  border-radius: 50px;  font-size: 17px;  font-weight: 700;  text-align: center;  cursor: pointer;  transition: var(--transition);  border: none;  width: 100%;  display: block;}.btn-checkout:hover {  transform: translateY(-2px);  box-shadow: 0 8px 28px rgba(255,102,0,0.45);  background: var(--primary-light);}.btn-continue {  background: transparent;  border: 2px solid var(--border);  color: var(--text-muted);  padding: 16px;  border-radius: 50px;  font-size: 15px;  font-weight: 600;  text-align: center;  cursor: pointer;  transition: var(--transition);  width: 100%;  display: block;}.btn-continue:hover { border-color: var(--primary); color: var(--primary); }/* ΓöÇΓöÇΓöÇ CHECKOUT ΓöÇΓöÇΓöÇ */.checkout-page { max-width: 960px; margin: 0 auto; padding: 48px 24px 80px; }.checkout-layout { display: grid; grid-template-columns: 1fr 360px; gap: 40px; align-items: start; }.form-card {  background: var(--card-bg);  border: 1px solid var(--border);  border-radius: var(--radius-lg);  padding: 32px;  margin-bottom: 24px;}.form-card-title { font-size: 18px; font-weight: 800; margin-bottom: 24px; display: flex; align-items: center; gap: 12px; }.form-card-title span { color: var(--primary); }.form-group { margin-bottom: 20px; }label { display: block; font-size: 14px; font-weight: 700; color: var(--text-muted); margin-bottom: 10px; }input, textarea, select {  width: 100%;  background: rgba(255,255,255,0.04);  border: 2px solid var(--border);  border-radius: var(--radius-sm);  color: var(--text);  font-family: inherit;  font-size: 16px;  padding: 16px 18px;  transition: var(--transition-fast);  outline: none;}input:focus, textarea:focus {  border-color: var(--primary);  background: rgba(255,102,0,0.05);}textarea { resize: vertical; min-height: 110px; }.payment-option {  display: flex;  align-items: center;  gap: 16px;  padding: 20px;  border: 2px solid var(--primary);  border-radius: var(--radius);  background: rgba(255,102,0,0.08);}/* ΓöÇΓöÇΓöÇ SUCCESS PAGE ΓöÇΓöÇΓöÇ */.success-page {  min-height: 85vh;  display: flex;  align-items: center;  justify-content: center;  padding: 48px 24px;}.success-card {  background: var(--card-bg);  border: 1px solid var(--border);  border-radius: 24px;  padding: 56px 48px;  text-align: center;  max-width: 560px;  width: 100%;  animation: fadeInUp 0.6s ease;}.success-icon {  width: 110px;  height: 110px;  background: linear-gradient(135deg, var(--primary), var(--primary-light));  border-radius: 50%;  display: flex;  align-items: center;  justify-content: center;  font-size: 52px;  margin: 0 auto 32px;  box-shadow: 0 16px 48px rgba(255,102,0,0.4);  animation: bounceIn 0.6s ease 0.2s both;}@keyframes bounceIn {  0% { transform: scale(0.5); opacity: 0; }  70% { transform: scale(1.08); }  100% { transform: scale(1); opacity: 1; }}.success-card h1 { font-size: 34px; font-weight: 900; margin-bottom: 14px; }.success-card p { font-size: 17px; color: var(--text-muted); margin-bottom: 32px; line-height: 1.7; }.order-num {  background: rgba(255,199,44,0.1);  border: 1px solid rgba(255,199,44,0.25);  border-radius: var(--radius);  padding: 20px 28px;  margin-bottom: 32px;}.order-num-label { font-size: 12px; color: var(--text-muted); letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 8px; }.order-num-val { font-size: 30px; font-weight: 900; color: var(--gold); letter-spacing: 2px; }.delivery-info {  display: flex;  align-items: center;  justify-content: center;  gap: 16px;  background: rgba(34,197,94,0.08);  border: 1.5px solid rgba(34,197,94,0.25);  border-radius: var(--radius);  padding: 20px 28px;  margin-bottom: 36px;  text-align: left;}.success-btns { display: flex; flex-direction: column; gap: 14px; }.btn-whatsapp {  background: #25D366;  color: #fff;  padding: 18px;  border-radius: 50px;  font-size: 17px;  font-weight: 700;  border: none;  cursor: pointer;  display: flex;  align-items: center;  justify-content: center;  gap: 12px;  transition: var(--transition);  text-decoration: none;}.btn-whatsapp:hover { background: #1da851; transform: translateY(-2px); box-shadow: 0 8px 28px rgba(37,211,102,0.35); }.btn-home {  background: transparent;  border: 2px solid var(--border);  color: var(--text-muted);  padding: 16px;  border-radius: 50px;  font-size: 16px;  font-weight: 600;  cursor: pointer;  transition: var(--transition);  text-decoration: none;  display: block;  text-align: center;}.btn-home:hover { border-color: var(--primary); color: var(--primary); }/* ΓöÇΓöÇΓöÇ FOOTER ΓöÇΓöÇΓöÇ */footer {  background: #0f0f0f;  border-top: 1px solid rgba(255,255,255,.06);  padding: 72px 24px 0;  position: relative;  overflow-x: hidden;}footer::before {  content: '';  position: absolute;  top: 0; left: 0; right: 0;  height: 3px;  background: linear-gradient(90deg, var(--primary), #ff9a3c, var(--primary));}.footer-inner { max-width: 1280px; margin: 0 auto; }.footer-top {  display: grid;  grid-template-columns: 2fr 1fr 1fr 1.2fr;  gap: 48px;  margin-bottom: 56px;}@media(max-width:900px){  .footer-top { grid-template-columns: 1fr 1fr; gap: 36px; }}@media(max-width:768px){  .footer-top { grid-template-columns: 1fr; gap: 32px; }  .footer-brand p, .footer-divider { max-width: 100%; }  .btn-wa-footer { width: 100%; justify-content: center; }}.footer-logo { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }.footer-logo-icon {  width: 48px;  height: 48px;  background: #000;  border-radius: 12px;  display: flex;  align-items: center;  justify-content: center;  overflow: hidden;  flex-shrink: 0;  box-shadow: 0 0 0 1px rgba(255,255,255,.08);}.footer-logo-icon img {  width: 115%;  height: 115%;  object-fit: contain;}.footer-logo-text .brand { font-size: 20px; font-weight: 900; color: #fff; }.footer-logo-text .tagline { font-size: 12px; color: var(--primary); font-weight: 600; letter-spacing: 1px; }.footer-brand p { font-size: 14px; color: #888; line-height: 1.75; max-width: 300px; margin-bottom: 20px; }.footer-divider { height: 1px; background: rgba(255,255,255,.07); margin: 20px 0; max-width: 300px; }.footer-contact a {  display: flex;  align-items: center;  gap: 10px;  color: #888;  font-size: 14px;  margin-bottom: 10px;  transition: var(--transition-fast);  text-decoration: none;}.footer-contact a:hover { color: var(--primary); }.footer-social { display: flex; gap: 10px; margin-top: 20px; }.footer-social a {  width: 36px; height: 36px;  border-radius: 10px;  background: rgba(255,255,255,.06);  border: 1px solid rgba(255,255,255,.1);  display: flex; align-items: center; justify-content: center;  font-size: 16px; text-decoration: none;  transition: var(--transition-fast);  color: #bbb;}.footer-social a:hover { background: var(--primary); border-color: var(--primary); color: #fff; transform: translateY(-2px); }.footer-heading {  font-size: 11px; font-weight: 800; letter-spacing: 1.5px;  text-transform: uppercase; margin-bottom: 20px;  color: #fff;  position: relative; padding-bottom: 10px;}.footer-heading::after {  content: '';  position: absolute; bottom: 0; left: 0;  width: 24px; height: 2px;  background: var(--primary); border-radius: 2px;}.footer-links { display: flex; flex-direction: column; gap: 11px; }.footer-links a {  font-size: 14px; color: #888;  transition: var(--transition-fast);  text-decoration: none;  display: flex; align-items: center; gap: 6px;}.footer-links a::before { content: '\203A'; color: var(--primary); font-weight: 700; opacity: 0; transition: opacity .15s; }.footer-links a:hover { color: #fff; padding-left: 4px; }.footer-links a:hover::before { opacity: 1; }.footer-hours { display: flex; flex-direction: column; gap: 10px; }.footer-hours-row {  display: flex; justify-content: space-between; gap: 12px;  font-size: 13px; color: #888; padding-bottom: 10px;  border-bottom: 1px solid rgba(255,255,255,.05);}.footer-hours-row:last-child { border-bottom: none; }.footer-hours-day { font-weight: 600; color: #bbb; }.footer-hours-time { color: #25D366; font-weight: 600; }.btn-wa-footer {  background: #25D366;  color: #fff;  padding: 13px 22px;  border-radius: 50px;  font-size: 14px;  font-weight: 700;  display: inline-flex;  align-items: center;  gap: 10px;  transition: var(--transition);  text-decoration: none;  margin-top: 22px;  box-shadow: 0 4px 16px rgba(37,211,102,.25);}.btn-wa-footer:hover { background: #1da851; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(37,211,102,.35); }.footer-bottom {  border-top: 1px solid rgba(255,255,255,.07);  margin-top: 0;  padding: 24px 0;  display: flex;  align-items: center;  justify-content: space-between;  font-size: 13px;  color: #555;  flex-wrap: wrap;  gap: 10px;}.footer-bottom-left { display: flex; align-items: center; gap: 6px; }.footer-bottom-left strong { color: #999; }.footer-bottom-credit { color: #555; }.footer-bottom-credit a { color: var(--primary); text-decoration: none; font-weight: 600; transition: var(--transition-fast); }.footer-bottom-credit a:hover { color: #fff; }/* ΓöÇΓöÇΓöÇ PAGE LOADER ΓöÇΓöÇΓöÇ */.page-loader {  position: fixed;  inset: 0;  background: var(--bg);  z-index: 99999;  display: flex;  align-items: center;  justify-content: center;  opacity: 1;  transition: opacity 0.4s ease, visibility 0.4s ease;  visibility: visible;}.page-loader.fade-out {  opacity: 0;  visibility: hidden;  pointer-events: none;}/* ΓöÇΓöÇΓöÇ LOADING OVERLAY ΓöÇΓöÇΓöÇ */.loading-overlay {  position: fixed;  inset: 0;  background: rgba(0,0,0,0.92);  z-index: 9999;  display: flex;  flex-direction: column;  align-items: center;  justify-content: center;  opacity: 0;  pointer-events: none;  transition: opacity 0.3s ease;  backdrop-filter: blur(6px);  -webkit-backdrop-filter: blur(6px);}.loading-overlay.show { opacity: 1; pointer-events: all; }/* ΓöÇΓöÇΓöÇ PIZZA SLICE LOADER ΓöÇΓöÇΓöÇ */.pizza-loader-wrap {  display: flex;  flex-direction: column;  align-items: center;  gap: 18px;}.pizza-loader {  position: relative;  width: 110px;  height: 110px;}/* Outer crust ΓÇö fast spin */.pizza-crust {  position: absolute;  inset: 0;  border-radius: 50%;  border: 7px solid rgba(255,102,0,0.12);  border-top-color: #ff6600;  border-right-color: #ffb347;  border-bottom-color: rgba(255,102,0,0.35);  animation: pizza-crust-spin 0.9s cubic-bezier(0.6,0,0.4,1) infinite;}/* Inner ring ΓÇö counter-spin, looks like topping rotation */.pizza-inner-ring {  position: absolute;  inset: 16px;  border-radius: 50%;  border: 3px solid rgba(255,102,0,0.07);  border-bottom-color: rgba(255,102,0,0.45);  border-left-color: rgba(255,180,70,0.4);  animation: pizza-crust-spin 1.5s linear infinite reverse;}/* Slice segments via conic-gradient, slow pulse */.pizza-slices {  position: absolute;  inset: 20px;  border-radius: 50%;  background: conic-gradient(    rgba(255,102,0,0.25) 0deg   55deg,    transparent          55deg  60deg,    rgba(255,102,0,0.18) 60deg  115deg,    transparent          115deg 120deg,    rgba(255,102,0,0.25) 120deg 175deg,    transparent          175deg 180deg,    rgba(255,102,0,0.18) 180deg 235deg,    transparent          235deg 240deg,    rgba(255,102,0,0.25) 240deg 295deg,    transparent          295deg 300deg,    rgba(255,102,0,0.18) 300deg 355deg,    transparent          355deg 360deg  );  animation: pizza-crust-spin 3s linear infinite;}/* Emoji center */.pizza-center-emoji {  position: absolute;  inset: 0;  display: flex;  align-items: center;  justify-content: center;  font-size: 40px;  animation: pizza-pulse 0.9s ease-in-out infinite alternate;}@keyframes pizza-crust-spin { to { transform: rotate(360deg); } }@keyframes pizza-pulse {  from { transform: scale(0.85); opacity: 0.85; }  to   { transform: scale(1.08); opacity: 1; }}/* Bouncing dots */.pizza-dots {  display: flex;  gap: 9px;}.pizza-dots span {  width: 9px;  height: 9px;  border-radius: 50%;  background: var(--primary);  animation: pizza-dot 0.8s ease-in-out infinite;}.pizza-dots span:nth-child(2) { animation-delay: 0.16s; }.pizza-dots span:nth-child(3) { animation-delay: 0.32s; }@keyframes pizza-dot {  0%,100% { transform: translateY(0);    opacity: 0.35; }  50%      { transform: translateY(-8px); opacity: 1; }}.loading-text    { font-size: 17px; font-weight: 800; color: var(--text); letter-spacing: -0.2px; }.loading-subtext { font-size: 13px; color: var(--text-muted); margin-top: -10px; }/* ΓöÇΓöÇΓöÇ TOAST ΓöÇΓöÇΓöÇ */.toast {  position: fixed;  bottom: 24px;  right: 24px;  left: 24px;  max-width: 380px;  margin-left: auto;  background: var(--card-bg);  border: 1px solid var(--border);  border-left: 4px solid var(--primary);  border-radius: var(--radius);  padding: 18px 22px;  display: flex;  align-items: center;  gap: 14px;  font-size: 15px;  font-weight: 600;  z-index: 9998;  transform: translateX(calc(100% + 48px));  transition: transform 0.4s cubic-bezier(0.32, 0.72, 0, 1);  box-shadow: var(--shadow);}.toast.show { transform: translateX(0); }.toast-icon { font-size: 22px; }/* ΓöÇΓöÇΓöÇ MOBILE STICKY CTA ΓöÇΓöÇΓöÇ */.sticky-cta {  display: none;  position: fixed;  bottom: 0;  left: 0;  right: 0;  background: rgba(15,15,15,0.98);  backdrop-filter: blur(20px);  border-top: 1px solid var(--border);  padding: 16px 20px;  padding-bottom: max(16px, env(safe-area-inset-bottom));  z-index: 90;}.sticky-cta .btn-primary {  width: 100%;  justify-content: center;  padding: 18px;}/* ΓöÇΓöÇΓöÇ RESPONSIVE ΓöÇΓöÇΓöÇ */@media (max-width: 1024px) {  /* ΓöÇΓöÇ Menu layout ΓöÇΓöÇ */  .menu-layout {    grid-template-columns: 1fr;    padding-top: 24px;    gap: 24px;  }  /* Desktop sidebar hidden on mobile */  .menu-sidebar { display: none; }  .menu-content { margin-top: 0; }  /* ΓöÇΓöÇ Mobile sticky category bar (lives outside the grid) ΓöÇΓöÇ */  .mobile-cat-bar {    display: block;    position: sticky;    top: 72px;    z-index: 50;    background: var(--bg);    border-bottom: 1px solid var(--border);    box-shadow: 0 4px 16px rgba(0,0,0,.15);    backdrop-filter: blur(12px);    -webkit-backdrop-filter: blur(12px);    overflow: hidden; /* clips the absolute fade-edge overlay */  }  .mobile-cat-scroller {    display: flex;    flex-direction: row;    flex-wrap: nowrap;    overflow-x: auto;    gap: 8px;    padding: 10px 16px;    scrollbar-width: none;  }  .mobile-cat-scroller::-webkit-scrollbar { display: none; }  /* .cat-item inside mobile bar */  .mobile-cat-bar .cat-item {    flex-shrink: 0;    white-space: nowrap;    padding: 7px 14px;    font-size: 13px;    font-weight: 700;    border-radius: 999px;    border: 1.5px solid var(--border);    background: var(--card-bg);    color: var(--text-muted);    gap: 6px;    display: flex;    align-items: center;    cursor: pointer;    touch-action: manipulation;    -webkit-tap-highlight-color: transparent;    user-select: none;  }  .mobile-cat-bar .cat-item span { font-size: 14px; }  .mobile-cat-bar .cat-item.active {    background: var(--primary);    border-color: var(--primary);    color: #fff;    font-weight: 800;  }  /* Fade-edge overlay */  .cat-fade-edge {    display: flex;    align-items: center;    justify-content: flex-end;    padding-right: 6px;    position: absolute;    top: 0; right: 0; bottom: 0;    width: 52px;    background: linear-gradient(to right, transparent, var(--bg) 70%);    pointer-events: none;    color: var(--primary);    font-size: 24px;    font-weight: 900;    opacity: 1;    transition: opacity .4s;    animation: hint-bounce 0.9s ease-in-out 0.6s 4;  }  .cat-fade-edge.hidden { opacity: 0; }  @keyframes hint-bounce {    0%,100% { transform: translateX(0); }    50%      { transform: translateX(6px); }  }  /* Swipe label below bar */  .cat-swipe-label {    display: block;    text-align: center;    font-size: 11px;    color: var(--text-muted);    margin: 0;    padding: 4px 0 6px;    background: var(--bg);    letter-spacing: .3px;    opacity: 1;    transition: opacity .5s;  }  .cat-swipe-label.hidden { opacity: 0; }  /* ΓöÇΓöÇ Menu section scroll margin (header + cat bar) ΓöÇΓöÇ */  .menu-section { scroll-margin-top: 160px; }  /* ΓöÇΓöÇ Home category scroller ΓÇö better mobile sizing ΓöÇΓöÇ */  .cat-card { min-width: 160px; max-width: 180px; }  .cat-icon  { height: 100px; font-size: 52px; }  .cat-card:hover .cat-icon { font-size: 60px; }  .category-scroller { padding: 0 4px 8px; gap: 12px; }  .cart-layout { grid-template-columns: 1fr; }  .checkout-layout { grid-template-columns: 1fr; }  .features-inner { grid-template-columns: repeat(2, 1fr); }  .footer-top { grid-template-columns: 1fr 1fr; }}@media (max-width: 768px) {  nav { display: none; }  .hamburger { display: flex; }  .header-customer-chip { display: none; }  .hero-inner { grid-template-columns: 1fr; text-align: center; padding: 60px 20px 80px; }  .hero-content { max-width: 100%; }  .hero-visual { display: none; }  .hero-actions { justify-content: center; }  .hero-stats { justify-content: center; gap: 32px; }  .stat { text-align: center; }  .pizza-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }  .promise-grid { grid-template-columns: 1fr; }  .footer-top { grid-template-columns: 1fr; }  .features-inner { grid-template-columns: 1fr; }  .sticky-cta { display: block; }  .topping-grid { grid-template-columns: 1fr; }  .size-options { grid-template-columns: repeat(3, 1fr); }  .success-card { padding: 40px 24px; }  .modal { border-radius: var(--radius-lg) var(--radius-lg) 0 0; }  section { padding: 64px 20px; }  .pizza-img-wrap { height: 160px; }  .pizza-body { padding: 18px; }}@media (max-width: 480px) {  .pizza-grid { grid-template-columns: 1fr; }  .features-inner { grid-template-columns: 1fr; }  .hero-stats { flex-direction: row; justify-content: center; gap: 24px; flex-wrap: wrap; }  .top-bar-inner { gap: 16px; }  .header-inner { padding: 0 16px; }  .cart-page, .checkout-page { padding: 32px 16px 100px; }  .menu-card { flex-direction: column; }  .menu-card-img { width: 100%; height: 140px; }}
/* Attached extras use the same dark modal styling as the pizza customizer. */
dialog.extra-selector {
  position: fixed;
  inset: 0;
  margin: auto;
  padding: 0;
  width: min(560px, calc(100% - 32px));
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--card-bg);
  color: var(--text);
  box-shadow: var(--shadow);
  overflow: auto;
  overscroll-behavior: contain;
  color-scheme: dark;
}
dialog.extra-selector::backdrop {
  background: rgba(0, 0, 0, 0.9);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
body:has(dialog.extra-selector[open]) { overflow: hidden; }
.extra-selector .modal-title { line-height: 1.35; margin: 0; }
.extra-selector-description { color: var(--text-light); font-size: 15px; line-height: 1.7; }
.extra-selector-form { display: grid; gap: 12px; margin-top: 24px; }
.extra-selector-form label { color: var(--text-light); font-size: 14px; font-weight: 600; }
.extra-selector-form select,
.extra-selector-form input {
  display: block;
  width: 100%;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--text);
  font: inherit;
  font-size: 16px;
}
.extra-selector-form input { width: 100px; margin-top: 12px; }
.extra-selector :is(button, a, select, input):focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
.extra-selector .modal-footer { flex-wrap: wrap; gap: 12px; }
.extra-selector .extra-selector-browse { flex: 1 1 180px; justify-content: center; padding: 14px 18px; font-size: 14px; text-align: center; }
.extra-selector .extra-selector-browse:first-child { background: var(--primary); border-color: var(--primary); color: #fff; }
.extra-selector .add-to-cart-btn { width: 100%; }
.extra-selector .add-to-cart-btn:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }
.extra-selector-cancel { margin: 0 auto; padding: 10px 20px; background: transparent; color: var(--text-muted); font-size: 14px; }
.extra-selector-cancel:hover { color: var(--text); }
@media (max-width: 480px) {
  .extra-selector .modal-header, .extra-selector .modal-body, .extra-selector .modal-footer { padding: 20px; }
  .extra-selector .modal-title { font-size: 20px; }
}
