/* ============================================================
   VIBRANT TEMPLATE - Colorful, playful, casual
   ============================================================ */
body.template-vibrant {
    background: #FFF8F0;
    color: #2D2D2D;
    font-family: 'Nunito', 'Tajawal', sans-serif;
}

body.template-vibrant .app-header {
    background: linear-gradient(135deg, #FF6B6B, #FF8E53, #FFC947) !important;
    border-radius: 0 0 28px 28px !important;
}
body.template-vibrant .header-bg { display: none; }
body.template-vibrant .restaurant-name { color: #fff; font-weight: 900; font-size: 1.6rem; }
body.template-vibrant .restaurant-rating { color: rgba(255,255,255,0.9); }
body.template-vibrant .restaurant-meta span { background: rgba(255,255,255,0.2); color: #fff; border: none; }
body.template-vibrant .header-restaurant-logo { border-color: rgba(255,255,255,0.3); background: rgba(255,255,255,0.15); }

/* Categories */
body.template-vibrant .categories-wrapper { background: #FFF8F0; border-bottom: 2px solid #FFE8D6; padding: 16px 0 12px; }
body.template-vibrant .cat-tab { background: #FFFFFF; border-radius: 50px; padding: 8px 20px; font-weight: 700; color: #2D2D2D; border: 2px solid #FFE8D6; box-shadow: 0 2px 8px rgba(255,107,107,0.08); }
body.template-vibrant .cat-tab i { color: #FF6B6B; }
body.template-vibrant .cat-tab:hover { background: #FFF0E8; border-color: #FF8E53; }
body.template-vibrant .cat-tab.active { background: linear-gradient(135deg, #FF6B6B, #FF8E53); color: #fff; border-color: transparent; box-shadow: 0 4px 15px rgba(255,107,107,0.3); }
body.template-vibrant .cat-tab.active i { color: #fff; }
body.template-vibrant .cat-tab-img { border: none; }

/* Cards */
body.template-vibrant .menu-item { background: #FFFFFF; border-radius: 20px; border: none; box-shadow: 0 4px 20px rgba(255,107,107,0.08); transition: all 0.3s ease; }
body.template-vibrant .menu-item:hover { box-shadow: 0 8px 30px rgba(255,107,107,0.15); transform: translateY(-2px); }
body.template-vibrant .menu-item-image-wrap { border-radius: 20px 0 0 20px; }
body.template-vibrant .menu-item-info { padding: 16px 16px 16px 14px; }
body.template-vibrant .menu-item-name { font-size: 1.05rem; font-weight: 800; color: #2D2D2D; }
body.template-vibrant .menu-item-name-en { color: #FF8E53; font-weight: 600; }
body.template-vibrant .menu-item-desc { color: #8888AA; font-size: 0.82rem; }
body.template-vibrant .menu-item-price { background: linear-gradient(135deg, #FF6B6B, #FF8E53); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; font-size: 1.1rem; }
body.template-vibrant .menu-item-add-btn { background: linear-gradient(135deg, #FF6B6B, #FF8E53); color: #fff; border: none; border-radius: 50px; padding: 8px 18px; font-weight: 700; }
body.template-vibrant .menu-item-add-btn:hover { box-shadow: 0 4px 15px rgba(255,107,107,0.4); transform: scale(1.05); }
body.template-vibrant .menu-item-add-btn.added { background: #4CAF50; }

/* Section headers */
body.template-vibrant .menu-section-title { font-size: 1.3rem; font-weight: 900; color: #2D2D2D; }
body.template-vibrant .menu-section-title::before { content: '✦ '; color: #FF8E53; }
body.template-vibrant .menu-section-count { background: #FFE8D6; padding: 2px 12px; border-radius: 50px; font-size: 0.75rem; color: #FF6B6B; font-weight: 700; }

/* Bottom nav */
body.template-vibrant .bottom-nav { background: #FFFFFF; border-top: none; box-shadow: 0 -4px 20px rgba(255,107,107,0.08); border-radius: 20px 20px 0 0; }
body.template-vibrant .nav-item { color: #AAAACC; font-weight: 700; }
body.template-vibrant .nav-item.active { color: #FF6B6B; }
body.template-vibrant .nav-item.active i { text-shadow: 0 0 10px rgba(255,107,107,0.3); }

/* Cart */
body.template-vibrant .cart-fab-btn { background: linear-gradient(135deg, #FF6B6B, #FF8E53); border: none; }
body.template-vibrant .cart-fab-total { background: #fff; color: #FF6B6B; border: 2px solid #FFE8D6; }
body.template-vibrant .cart-drawer { border-radius: 24px 24px 0 0; }
body.template-vibrant .cart-checkout-btn { background: linear-gradient(135deg, #FF6B6B, #FF8E53); border: none; border-radius: 50px; font-weight: 800; }
body.template-vibrant .cart-empty i { color: #FFE8D6; }
body.template-vibrant .cart-empty p { color: #2D2D2D; }
body.template-vibrant .cart-empty span { color: #8888AA; }

/* Special badge */
body.template-vibrant .cart-badge { background: #FF6B6B; }

/* Promo */
body.template-vibrant .promo-banner { background: linear-gradient(135deg, #FFE8D6, #FFD4B8); border: none; border-radius: 16px; }
body.template-vibrant .promo-icon { background: linear-gradient(135deg, #FF6B6B, #FF8E53); }
body.template-vibrant .promo-text { color: #D95A3E; font-weight: 700; }

/* Loading */
body.template-vibrant .loading-dots span { background: #FF6B6B; }
