// desktop.jsx — Desktop layouts for Steaks N Buns.
// Same data + atomic components, composed into wider multi-column grids.
// Activated by passing mode="desktop" to SnbDesktopPage.

// ─── Desktop top bar (full nav) ────────────────────────────────────────────
function SnbDesktopTopBar({ current }) {
  const ctx = useSnb();
  const { t, lang, tweaks } = ctx;
  const cur = current || ctx.current || 'home';
  return (
    <header style={{
      position: 'sticky', top: 0, zIndex: 30,
      background: 'rgba(255,255,229,0.92)',
      backdropFilter: 'blur(10px)', WebkitBackdropFilter: 'blur(10px)',
      borderBottom: '1px solid var(--snb-line)',
    }}>
      {/* Pre-header strip */}
      <div style={{
        background: 'var(--snb-green-deep)', color: 'var(--snb-cream)',
        fontSize: 12, padding: '8px 48px',
        display: 'flex', justifyContent: 'space-between', alignItems: 'center',
      }}>
        <span style={{ display: 'inline-flex', alignItems: 'center', gap: 16, opacity: .85 }}>
          <span style={{ display: 'inline-flex', alignItems: 'center', gap: 6 }}>
            <SnbIcon name="moon" size={12} /> {t('trust_late')}
          </span>
          <span style={{ display: 'inline-flex', alignItems: 'center', gap: 6 }}>
            <SnbIcon name="pin" size={12} /> {t('contact_addr')}
          </span>
        </span>
        <span style={{ display: 'inline-flex', alignItems: 'center', gap: 14, opacity: .85 }}>
          <a href={SNB_SOCIAL.instagram} target="_blank" rel="noopener noreferrer" style={{ color: 'inherit' }}><SnbIcon name="instagram" size={13} /></a>
          <a href={SNB_SOCIAL.tiktok} target="_blank" rel="noopener noreferrer" style={{ color: 'inherit' }}><SnbIcon name="tiktok" size={13} /></a>
          <a href={SNB_SOCIAL.snap} target="_blank" rel="noopener noreferrer" style={{ color: 'inherit' }}><SnbIcon name="snap" size={13} /></a>
          <span style={{ display: 'inline-flex', alignItems: 'center', borderInlineStart: '1px solid rgba(255,255,229,.2)', paddingInlineStart: 14, gap: 0 }}>
            {['en', 'ar'].map((l, i) => (
              <React.Fragment key={l}>
                {i > 0 && <span style={{ color: 'rgba(252,251,225,.3)', margin: '0 2px', userSelect: 'none' }}>|</span>}
                <button onClick={() => window.snbSwitchLang(l)} style={{
                  background: 'transparent', border: 0, cursor: 'pointer',
                  color: lang === l ? 'var(--snb-yellow)' : 'rgba(252,251,225,.45)',
                  fontWeight: 700, fontSize: 11, letterSpacing: '0.06em',
                  padding: '2px 4px',
                }}>
                  {l.toUpperCase()}
                </button>
              </React.Fragment>
            ))}
          </span>
        </span>
      </div>
      {/* Main bar */}
      <div style={{
        display: 'flex', alignItems: 'center', justifyContent: 'space-between',
        padding: '8px 48px', gap: 32,
      }}>
        <a href="index.html" style={{ display: 'flex', alignItems: 'center', textDecoration: 'none' }}>
          <SnbLogo src="assets/logo.png" size={88} />
        </a>
        <nav style={{ display: 'flex', gap: 32, alignItems: 'center' }}>
          {[
            { k: 'nav_home',    href: 'index.html',   id: 'home' },
            { k: 'nav_menu',    href: 'menu.html',    id: 'menu' },
            { k: 'nav_about',   href: 'about.html',   id: 'about' },
            { k: 'nav_gallery', href: 'gallery.html', id: 'gallery' },
            { k: 'nav_contact', href: 'contact.html', id: 'contact' },
          ].map(l => {
            const isActive = l.id === cur;
            return (
              <a key={l.k} href={l.href} style={{
                fontSize: 14, fontWeight: 600,
                color: isActive ? 'var(--snb-green-deep)' : 'var(--snb-green)',
                textDecoration: 'none', letterSpacing: '0.01em',
                position: 'relative',
                paddingBottom: 6,
                borderBottom: isActive ? '2px solid var(--snb-green-deep)' : '2px solid transparent',
              }}>{t(l.k)}</a>
            );
          })}
        </nav>
        <div style={{ display: 'flex', gap: 10, alignItems: 'center' }}>
          <a href={SNB_SOCIAL.phone} className="snb-btn snb-btn-ghost" style={{
            padding: '10px 16px', fontSize: 13, textDecoration: 'none',
          }}>
            <SnbIcon name="phone" size={14} stroke={2.5} />
            +966 59 995 0112
          </a>
          <a href="contact.html" className="snb-btn snb-btn-primary" style={{ padding: '12px 22px', fontSize: 14, textDecoration: 'none' }}>
            <SnbIcon name="bag" size={14} stroke={2.5} />
            {t('cta_order')}
          </a>
        </div>
      </div>
    </header>
  );
}

// ─── Desktop hero (split layout) ───────────────────────────────────────────
function SnbDesktopHero({ variant = 'food' }) {
  const { t, lang, tweaks } = useSnb();
  const variants = {
    food:   { img: 'assets/menu/beef-burger.webp', h: 'hero_h1_food',   sub: 'hero_sub_food' },
    combo:  { img: 'assets/menu/maple-crispy-spicy.webp', h: 'hero_h1_combo',  sub: 'hero_sub_combo' },
    late:   { img: 'assets/gamer-burger.jpg',     h: 'hero_h1_late',   sub: 'hero_sub_late' },
    family: { img: 'assets/saudi-eating.jpg',     h: 'hero_h1_family', sub: 'hero_sub_family' },
  };
  const v = variants[variant] || variants.food;
  return (
    <section style={{
      background: 'var(--snb-green-deep)', color: 'var(--snb-cream)',
      position: 'relative', overflow: 'hidden',
      padding: '80px 48px 100px',
    }}>
      {/* Decorative checker stripe top */}
      <div style={{ position: 'absolute', top: 0, left: 0, right: 0 }}>
        <SnbCheckerStripe height={20} />
      </div>
      <div style={{
        maxWidth: 1360, margin: '0 auto',
        display: 'grid', gridTemplateColumns: '1.1fr 1fr', gap: 64, alignItems: 'center',
      }}>
        <div>
          <div style={{
            display: 'inline-flex', alignItems: 'center', gap: 10,
            padding: '8px 14px', borderRadius: 999,
            background: 'var(--snb-yellow)', color: 'var(--snb-green-deep)',
            fontWeight: 800, fontSize: 11, letterSpacing: '0.14em',
            marginBottom: 24,
          }}>
            <span style={{ width: 7, height: 7, borderRadius: '50%', background: 'var(--snb-green-deep)' }} />
            {t('hero_kicker')}
          </div>
          <h1 className="snb-display" style={{
            fontSize: lang === 'ar' ? 84 : 92, margin: 0,
            lineHeight: 0.92, letterSpacing: '-0.02em',
            color: 'var(--snb-cream)', textWrap: 'balance', maxWidth: 720,
          }}>
            {t(v.h)}
          </h1>
          <p style={{
            margin: '24px 0 36px', fontSize: 19, lineHeight: 1.5,
            opacity: .88, maxWidth: 540,
          }}>{t(v.sub)}</p>
          <div style={{ display: 'flex', gap: 12, flexWrap: 'wrap', alignItems: 'center' }}>
            <a href={SNB_SOCIAL.hungerstation} target="_blank" rel="noopener noreferrer" className="snb-btn snb-btn-yellow" style={{ padding: '18px 30px', fontSize: 16 }}>
              <SnbIcon name="bag" size={18} stroke={2.5} />
              {t('cta_order')}
            </a>
            <a href="menu.html" className="snb-btn" style={{
              padding: '18px 28px', fontSize: 15,
              background: 'transparent', color: 'var(--snb-cream)',
              boxShadow: 'inset 0 0 0 2px rgba(255,255,229,.4)',
            }}>{t('cta_menu')}</a>
            <div style={{
              display: 'inline-flex', alignItems: 'center', gap: 10,
              marginInlineStart: 16, fontSize: 13, opacity: .9,
            }}>
              <SnbStars value={4} size={16} />
              <span><strong>{tweaks?.rating ?? 4.3}</strong> · {tweaks?.reviewCount ?? '586'} {lang === 'ar' ? 'تقييم' : 'reviews'}</span>
            </div>
          </div>
        </div>
        {/* Hero image */}
        <div style={{ position: 'relative' }}>
          <div style={{
            aspectRatio: '1 / 1', borderRadius: 32,
            background: `url("${v.img}") center/cover`,
            boxShadow: '0 30px 80px rgba(0,0,0,.4)',
          }} />
          {/* Floating price tag */}
          <div style={{
            position: 'absolute', top: -16, right: -16,
            background: 'var(--snb-yellow)', color: 'var(--snb-green-deep)',
            padding: '14px 18px', borderRadius: 18,
            transform: 'rotate(8deg)',
            boxShadow: '0 12px 30px rgba(0,0,0,.3)',
          }}>
            <div style={{ fontSize: 10, fontWeight: 800, letterSpacing: '0.1em', opacity: .8 }}>
              {lang === 'ar' ? 'يبدأ من' : 'FROM'}
            </div>
            <div className="snb-display" style={{ fontSize: 28, lineHeight: 1 }}>
              17 <span style={{ fontSize: 14 }}>{t('sar')}</span>
            </div>
          </div>
        </div>
      </div>
    </section>
  );
}

// ─── Desktop trust strip ───────────────────────────────────────────────────
function SnbDesktopTrustStrip() {
  const { t, lang } = useSnb();
  const items = [
    { icon: 'star',  k: 'trust_rating', s: lang === 'ar' ? '٥٨٦ تقييم' : '586 reviews' },
    { icon: 'moon',  k: 'trust_late',   s: lang === 'ar' ? 'كل ليلة' : 'every night' },
    { icon: 'bike',  k: 'trust_delivery', s: lang === 'ar' ? 'كيتا، هنقرستيشن' : 'Keeta, HungerStation' },
    { icon: 'fire',  k: 'trust_price',  s: lang === 'ar' ? 'وجبات عائلية' : 'family-friendly' },
  ];
  return (
    <section style={{
      background: 'var(--snb-cream)', borderBottom: '1px solid var(--snb-line)',
      padding: '24px 48px',
    }}>
      <div style={{ maxWidth: 1360, margin: '0 auto', display: 'grid', gridTemplateColumns: 'repeat(4, 1fr)', gap: 24 }}>
        {items.map((it, i) => (
          <div key={i} style={{
            display: 'flex', alignItems: 'center', gap: 14,
            paddingInlineStart: i > 0 ? 24 : 0,
            borderInlineStart: i > 0 ? '1px solid var(--snb-line)' : 0,
          }}>
            <div style={{
              width: 44, height: 44, borderRadius: 12,
              background: 'var(--snb-green)', color: 'var(--snb-yellow)',
              display: 'inline-flex', alignItems: 'center', justifyContent: 'center',
              flexShrink: 0,
            }}>
              <SnbIcon name={it.icon} size={20} />
            </div>
            <div>
              <div style={{ fontWeight: 700, fontSize: 14 }}>{t(it.k)}</div>
              <div style={{ fontSize: 12, color: 'var(--snb-ink-soft)' }}>{it.s}</div>
            </div>
          </div>
        ))}
      </div>
    </section>
  );
}

// ─── Desktop order modes (single row) ──────────────────────────────────────
function SnbDesktopOrderModes() {
  const { t } = useSnb();
  const modes = [
    { id: 'delivery',  icon: 'bike',  k: 'mode_delivery',  s: 'mode_delivery_sub',  active: true },
    { id: 'takeaway',  icon: 'bag',   k: 'mode_takeaway',  s: 'mode_takeaway_sub' },
    { id: 'dinein',    icon: 'chair', k: 'mode_dinein',    s: 'mode_dinein_sub' },
    { id: 'nocontact', icon: 'box',   k: 'mode_nocontact', s: 'mode_nocontact_sub' },
  ];
  return (
    <section style={{ padding: '64px 48px', background: 'var(--snb-cream)' }}>
      <div style={{ maxWidth: 1360, margin: '0 auto' }}>
        <SnbSectionHead title={t('order_mode_h')} />
        <div style={{ display: 'grid', gridTemplateColumns: 'repeat(4, 1fr)', gap: 16, marginTop: 8 }}>
          {modes.map(m => (
            <button key={m.id} style={{
              textAlign: 'inherit', cursor: 'pointer',
              padding: '24px 22px', borderRadius: 22,
              border: 0,
              background: m.active ? 'var(--snb-green)' : 'var(--snb-paper)',
              color: m.active ? 'var(--snb-cream)' : 'var(--snb-ink)',
              boxShadow: m.active
                ? '0 18px 40px rgba(29,58,37,.28)'
                : 'inset 0 0 0 1.5px var(--snb-line)',
              display: 'flex', flexDirection: 'column', gap: 10, position: 'relative',
            }}>
              <span style={{
                width: 48, height: 48, borderRadius: 14,
                background: m.active ? 'rgba(224,205,47,.18)' : 'var(--snb-cream)',
                color: m.active ? 'var(--snb-yellow)' : 'var(--snb-green)',
                display: 'inline-flex', alignItems: 'center', justifyContent: 'center',
              }}>
                <SnbIcon name={m.icon} size={24} stroke={2.2} />
              </span>
              <div style={{ fontWeight: 700, fontSize: 18 }}>{t(m.k)}</div>
              <div style={{ fontSize: 13, opacity: .75, lineHeight: 1.4 }}>{t(m.s)}</div>
              {m.active && (
                <span style={{
                  position: 'absolute', top: 16, right: 16,
                  width: 22, height: 22, borderRadius: '50%',
                  background: 'var(--snb-yellow)', color: 'var(--snb-green-deep)',
                  display: 'inline-flex', alignItems: 'center', justifyContent: 'center',
                }}>
                  <SnbIcon name="check" size={14} stroke={3} />
                </span>
              )}
            </button>
          ))}
        </div>
      </div>
    </section>
  );
}

// ─── Desktop bestsellers (4-up grid + asymmetric featured) ─────────────────
function SnbDesktopBestsellers() {
  const { t, lang } = useSnb();
  const items = SNB_MENU.filter(m => ['maple-spicy','crispy-chk','beef','special-beef','philly'].includes(m.id));
  return (
    <section style={{ padding: '80px 48px', background: 'var(--snb-cream-2)' }}>
      <div style={{ maxWidth: 1360, margin: '0 auto' }}>
        <div style={{ display: 'flex', alignItems: 'flex-end', justifyContent: 'space-between', marginBottom: 36 }}>
          <SnbSectionHead
            kicker={lang === 'ar' ? 'الأكثر مبيعاً' : 'BESTSELLERS'}
            title={t('bestsellers_h')}
            sub={t('bestsellers_sub')}
          />
          <a href="menu.html" className="snb-btn snb-btn-ghost" style={{ padding: '12px 20px', whiteSpace: 'nowrap' }}>
            {t('cta_menu')} →
          </a>
        </div>
        <div style={{ display: 'grid', gridTemplateColumns: 'repeat(4, 1fr)', gap: 20 }}>
          {items.slice(0, 4).map(item => <SnbMenuItem key={item.id} item={item} layout="tile" />)}
        </div>
      </div>
    </section>
  );
}

// ─── Desktop split callouts (day / night) ──────────────────────────────────
function SnbDesktopUsage() {
  const { t } = useSnb();
  return (
    <section style={{ padding: '80px 48px', background: 'var(--snb-cream)' }}>
      <div style={{ maxWidth: 1360, margin: '0 auto' }}>
        <SnbSectionHead title={t('usage_h')} />
        <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 20, marginTop: 8 }}>
          {[
            { h: 'usage_day_h',   s: 'usage_day_sub',   img: 'assets/menu/philly-steak.webp', tint: 'rgba(29,58,37,.55)' },
            { h: 'usage_night_h', s: 'usage_night_sub', img: 'assets/gamer-burger.jpg', tint: 'rgba(10,29,16,.8)' },
          ].map((u, idx) => (
            <div key={idx} style={{
              borderRadius: 24, overflow: 'hidden', minHeight: 360,
              backgroundImage: `linear-gradient(135deg, rgba(0,0,0,.15), ${u.tint}), url("${u.img}")`,
              backgroundSize: 'cover', backgroundPosition: 'center',
              color: 'var(--snb-cream)',
              padding: '44px 36px',
              display: 'flex', flexDirection: 'column', justifyContent: 'flex-end',
            }}>
              <h3 className="snb-display" style={{ margin: '0 0 8px', fontSize: 36 }}>{t(u.h)}</h3>
              <p style={{ margin: 0, fontSize: 15, opacity: .9, maxWidth: 460 }}>{t(u.s)}</p>
            </div>
          ))}
        </div>
      </div>
    </section>
  );
}

// ─── Desktop reviews (3-col) ───────────────────────────────────────────────
function SnbDesktopReviews() {
  const { t, lang, tweaks } = useSnb();
  return (
    <section style={{ padding: '80px 48px', background: 'var(--snb-cream)' }}>
      <div style={{ maxWidth: 1360, margin: '0 auto' }}>
        <div style={{ display: 'flex', alignItems: 'flex-end', justifyContent: 'space-between', marginBottom: 36, gap: 24 }}>
          <SnbSectionHead
            kicker={lang === 'ar' ? 'تقييمات' : 'REVIEWS'}
            title={t('reviews_h')}
            sub={t('reviews_sub')}
          />
          <div style={{
            padding: '16px 20px', background: 'var(--snb-paper)',
            borderRadius: 16, boxShadow: 'inset 0 0 0 1px var(--snb-line)',
            display: 'flex', alignItems: 'center', gap: 14,
          }}>
            <div className="snb-display" style={{ fontSize: 36, color: 'var(--snb-green)', lineHeight: 1 }}>{tweaks?.rating ?? 4.3}</div>
            <div>
              <SnbStars value={4} size={14} />
              <div style={{ fontSize: 11, color: 'var(--snb-ink-faint)', marginTop: 4 }}>{tweaks?.reviewCount ?? '586'} Google reviews</div>
            </div>
          </div>
        </div>
        <div style={{ display: 'grid', gridTemplateColumns: 'repeat(3, 1fr)', gap: 20 }}>
          {SNB_REVIEWS.slice(0, 3).map((r, i) => (
            <div key={i} style={{ display: 'flex' }}>
              <div style={{ flex: 1, display: 'flex' }}>
                {/* Reuse SnbReview but override flex behaviour */}
                <article style={{
                  flex: 1,
                  background: 'var(--snb-paper)', borderRadius: 20, padding: 24,
                  boxShadow: 'inset 0 0 0 1px var(--snb-line)',
                  display: 'flex', flexDirection: 'column', gap: 12,
                }}>
                  <SnbStars value={r.stars} size={16} />
                  <p style={{ margin: 0, fontSize: 15, lineHeight: 1.6, color: 'var(--snb-ink)' }}>
                    "{r.body?.[lang] || r.body?.en}"
                  </p>
                  <div style={{ display: 'flex', alignItems: 'center', gap: 12, marginTop: 'auto', paddingTop: 8 }}>
                    <div style={{
                      width: 38, height: 38, borderRadius: '50%',
                      background: 'var(--snb-green)', color: 'var(--snb-cream)',
                      display: 'inline-flex', alignItems: 'center', justifyContent: 'center',
                      fontWeight: 700, fontSize: 15,
                    }}>{r.author?.charAt(0)}</div>
                    <div style={{ flex: 1, minWidth: 0 }}>
                      <div style={{ fontSize: 14, fontWeight: 600 }}>{r.author}</div>
                      <div style={{ fontSize: 12, color: 'var(--snb-ink-faint)' }}>{r.locale} · {r.when}</div>
                    </div>
                  </div>
                </article>
              </div>
            </div>
          ))}
        </div>
      </div>
    </section>
  );
}

// ─── Desktop final CTA (split, with checker) ───────────────────────────────
function SnbDesktopFinalCTA() {
  const { t } = useSnb();
  return (
    <section style={{ background: 'var(--snb-green)', color: 'var(--snb-cream)', position: 'relative', overflow: 'hidden' }}>
      <SnbCheckerStripe height={28} />
      <div style={{ padding: '80px 48px' }}>
        <div style={{
          maxWidth: 1360, margin: '0 auto',
          display: 'grid', gridTemplateColumns: '1.4fr 1fr', gap: 64, alignItems: 'center',
        }}>
          <div>
            <h2 className="snb-display" style={{ fontSize: 68, margin: '0 0 16px', lineHeight: 0.98, color: 'var(--snb-cream)' }}>
              {t('final_cta_h')}
            </h2>
            <p style={{ margin: '0 0 30px', opacity: .85, fontSize: 17, maxWidth: 580 }}>{t('final_cta_sub')}</p>
            <div style={{ display: 'flex', gap: 12, flexWrap: 'wrap' }}>
              <a href={SNB_SOCIAL.hungerstation} target="_blank" rel="noopener noreferrer" className="snb-btn snb-btn-yellow" style={{ padding: '18px 32px', fontSize: 16 }}>
                <SnbIcon name="bag" size={18} stroke={2.5} />
                {t('cta_order')}
              </a>
              <a href={SNB_SOCIAL.phone} className="snb-btn" style={{
                padding: '18px 30px', fontSize: 15, textDecoration: 'none',
                background: 'transparent', color: 'var(--snb-cream)',
                boxShadow: 'inset 0 0 0 2px var(--snb-cream)',
              }}>
                <SnbIcon name="phone" size={16} stroke={2.5} />
                +966 59 995 0112
              </a>
            </div>
          </div>
          <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 12 }}>
            {['HungerStation', 'Keeta'].map(app => (
              <div key={app} style={{
                padding: '20px 18px', borderRadius: 16,
                background: 'rgba(255,255,229,.08)',
                display: 'flex', alignItems: 'center', gap: 12,
              }}>
                <div style={{
                  width: 38, height: 38, borderRadius: 10,
                  background: 'var(--snb-yellow)', color: 'var(--snb-green-deep)',
                  display: 'inline-flex', alignItems: 'center', justifyContent: 'center',
                  fontWeight: 800,
                }}>{app[0]}</div>
                <div style={{ fontWeight: 600, fontSize: 14 }}>{app}</div>
              </div>
            ))}
          </div>
        </div>
      </div>
      <SnbCheckerStripe height={28} flip />
    </section>
  );
}

// ─── Desktop footer (4-col) ────────────────────────────────────────────────
function SnbDesktopFooter() {
  const { t, lang } = useSnb();
  return (
    <footer style={{ background: 'var(--snb-cream)', color: 'var(--snb-green-deep)', borderTop: '1px solid var(--snb-line)' }}>
      <div style={{ padding: '64px 48px', maxWidth: 1360, margin: '0 auto' }}>
        <div style={{ display: 'grid', gridTemplateColumns: '1.4fr 1fr 1fr 1fr', gap: 48 }}>
          <div>
            <SnbLogo src="assets/logo.png" size={130} />
            <p style={{ marginTop: 20, fontSize: 14, lineHeight: 1.7, opacity: .75, maxWidth: 320 }}>
              {lang === 'ar'
                ? 'برجر مشوي طازج وأجواء عائلية في قلب المدينة المنورة.'
                : 'Fresh-grilled burgers and family vibes in the heart of Madinah.'}
            </p>
            <div style={{ marginTop: 20, display: 'flex', gap: 10 }}>
              {[
                { k: 'instagram', href: SNB_SOCIAL.instagram },
                { k: 'tiktok',    href: SNB_SOCIAL.tiktok },
                { k: 'snap',      href: SNB_SOCIAL.snap },
                { k: 'wa',        href: SNB_SOCIAL.whatsapp },
              ].map(s => (
                <a key={s.k} href={s.href} target="_blank" rel="noopener noreferrer" style={{
                  width: 38, height: 38, borderRadius: '50%',
                  background: 'var(--snb-green)', color: 'var(--snb-cream)',
                  display: 'inline-flex', alignItems: 'center', justifyContent: 'center',
                }}>
                  <SnbIcon name={s.k} size={16} />
                </a>
              ))}
            </div>
          </div>
          <div>
            <div className="snb-eyebrow" style={{ marginBottom: 16 }}>
              {lang === 'ar' ? 'روابط مفيدة' : 'Useful links'}
            </div>
            <div style={{ display: 'flex', flexDirection: 'column', gap: 10 }}>
              {[
                { k: 'nav_home', href: 'index.html' },
                { k: 'nav_menu', href: 'menu.html' },
                { k: 'nav_about', href: 'about.html' },
                { k: 'nav_gallery', href: 'gallery.html' },
                { k: 'nav_contact', href: 'contact.html' },
              ].map(l => (
                <a key={l.k} href={l.href} style={{ color: 'var(--snb-green-deep)', textDecoration: 'none', fontSize: 14 }}>
                  {t(l.k)}
                </a>
              ))}
            </div>
          </div>
          <div>
            <div className="snb-eyebrow" style={{ marginBottom: 16 }}>{t('hours_h')}</div>
            <div style={{ fontSize: 14, lineHeight: 2, color: 'var(--snb-ink-soft)' }}>
              <div style={{ display: 'flex', justifyContent: 'space-between', gap: 12 }}>
                <span>{t('hours_weekday')}</span><span>{t('hours_weekday_t')}</span>
              </div>
              <div style={{ display: 'flex', justifyContent: 'space-between', gap: 12 }}>
                <span>{t('hours_weekend')}</span><span>{t('hours_weekend_t')}</span>
              </div>
            </div>
          </div>
          <div>
            <div className="snb-eyebrow" style={{ marginBottom: 16 }}>{t('contact_phone_l')}</div>
            <a href={SNB_SOCIAL.phone} style={{ color: 'var(--snb-green-deep)', textDecoration: 'none' }}>
              <div className="snb-display" style={{ fontSize: 22 }}>+966 59 995 0112</div>
            </a>
            <p style={{ marginTop: 14, fontSize: 13, lineHeight: 1.6, opacity: .7 }}>
              {t('contact_addr')}
            </p>
            <a href={SNB_SOCIAL.maps} target="_blank" rel="noopener noreferrer" style={{
              marginTop: 12, display: 'inline-flex', alignItems: 'center', gap: 6,
              fontSize: 13, fontWeight: 600, color: 'var(--snb-yellow)', textDecoration: 'none',
            }}>
              <SnbIcon name="pin" size={14} /> {t('cta_directions')} →
            </a>
          </div>
        </div>
        <div style={{
          marginTop: 56, paddingTop: 28,
          borderTop: '1px solid rgba(255,255,229,.1)',
          display: 'flex', justifyContent: 'space-between',
          fontSize: 12, opacity: .55,
        }}>
          <span>© 2026 Steaks N Buns · {t('since')}</span>
          <span>{lang === 'ar' ? 'صنع في المدينة المنورة' : 'Made in Madinah'}</span>
        </div>
      </div>
    </footer>
  );
}

// ─── Desktop page shell ────────────────────────────────────────────────────
function SnbDesktopPage({ children }) {
  const { dir } = useSnb();
  return (
    <div className="snb-root snb-desktop" dir={dir}>
      <SnbDesktopTopBar />
      {children}
      <SnbDesktopFooter />
    </div>
  );
}

// ────────────────────────────────────────────────────────────────────────────
// HOME · DESKTOP
// ────────────────────────────────────────────────────────────────────────────
function SnbDesktopHomePage({ heroVariant = 'food' }) {
  const { t, lang, tweaks } = useSnb();
  return (
    <SnbDesktopPage>
      <SnbHeroRouter style={tweaks?.heroStyle || 'signature'} variant={heroVariant} mode="desktop" />
      <SnbDesktopTrustStrip />
      <SnbDesktopOrderModes />
      <SnbDesktopBestsellers />
      <SnbDesktopUsage />

      {/* Family band */}
      <section style={{ background: 'var(--snb-yellow)', color: 'var(--snb-green-deep)' }}>
        <SnbCheckerStripe height={24} />
        <div style={{ padding: '60px 48px' }}>
          <div style={{ maxWidth: 1360, margin: '0 auto', display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 64, alignItems: 'center' }}>
            <div>
              <h3 className="snb-display" style={{ margin: '0 0 10px', fontSize: 44 }}>{t('family_h')}</h3>
              <p style={{ margin: 0, fontSize: 16, lineHeight: 1.5, opacity: .82, maxWidth: 480 }}>{t('family_sub')}</p>
            </div>
            <div style={{
              borderRadius: 22, overflow: 'hidden', height: 280,
              backgroundImage: `url("assets/restaurant-interior.webp")`,
              backgroundSize: 'cover', backgroundPosition: 'center',
            }} />
          </div>
        </div>
        <SnbCheckerStripe height={24} flip />
      </section>

      <SnbDesktopReviews />

      {/* Location strip */}
      <section style={{ padding: '80px 48px', background: 'var(--snb-cream-2)' }}>
        <div style={{ maxWidth: 1360, margin: '0 auto', display: 'grid', gridTemplateColumns: '1fr 1.2fr', gap: 48, alignItems: 'center' }}>
          <div>
            <SnbSectionHead
              kicker={lang === 'ar' ? 'الموقع' : 'LOCATION'}
              title={t('location_h')}
            />
            <p style={{ margin: '8px 0 24px', fontSize: 16, lineHeight: 1.6, color: 'var(--snb-ink-soft)' }}>{t('contact_addr')}</p>
            <div style={{ display: 'flex', gap: 12, flexWrap: 'wrap', marginBottom: 28 }}>
              <a href={SNB_SOCIAL.maps} target="_blank" rel="noopener noreferrer" className="snb-btn snb-btn-primary" style={{ padding: '14px 22px', textDecoration: 'none' }}>
                <SnbIcon name="pin" size={14} /> {t('cta_directions')}
              </a>
              <a href={SNB_SOCIAL.phone} className="snb-btn snb-btn-ghost" style={{ padding: '14px 22px', textDecoration: 'none' }}>
                <SnbIcon name="phone" size={14} /> {t('cta_call')}
              </a>
            </div>
            <div style={{
              background: 'var(--snb-paper)', borderRadius: 16, padding: 22,
              boxShadow: 'inset 0 0 0 1px var(--snb-line)',
            }}>
              <div style={{ display: 'flex', alignItems: 'center', gap: 8, marginBottom: 12 }}>
                <SnbIcon name="car" size={18} />
                <strong style={{ fontSize: 14 }}>{t('parking_h')}</strong>
              </div>
              {[t('parking_street'), t('parking_lot'), t('parking_space')].map((p, i) => (
                <div key={i} style={{ display: 'flex', alignItems: 'center', gap: 10, padding: '6px 0', fontSize: 14 }}>
                  <span style={{
                    width: 18, height: 18, borderRadius: '50%',
                    background: 'rgba(90,138,58,.18)', color: 'var(--snb-success)',
                    display: 'inline-flex', alignItems: 'center', justifyContent: 'center',
                  }}><SnbIcon name="check" size={12} stroke={3} /></span>
                  {p}
                </div>
              ))}
            </div>
          </div>
          <a href={SNB_SOCIAL.maps} target="_blank" rel="noopener noreferrer" style={{
            display: 'block', borderRadius: 22, height: 440, overflow: 'hidden', position: 'relative',
            textDecoration: 'none', boxShadow: '0 20px 50px rgba(10,29,16,.18)',
          }}>
            <iframe
              title="Steaks N Buns map"
              src="https://maps.google.com/maps?q=Steaks%20N%20Buns%20Madinah&t=&z=15&ie=UTF8&iwloc=&output=embed"
              style={{ border: 0, width: '100%', height: '100%', pointerEvents: 'none' }}
              loading="lazy"
            />
          </a>
        </div>
      </section>

      <SnbDesktopFinalCTA />
    </SnbDesktopPage>
  );
}

// ────────────────────────────────────────────────────────────────────────────
// MENU · DESKTOP
// ────────────────────────────────────────────────────────────────────────────
function SnbDesktopMenuPage() {
  const { t, lang } = useSnb();
  const [cat, setCat] = React.useState('burgers');
  const items = cat === 'all' ? SNB_MENU : SNB_MENU.filter(m => m.cat === cat);
  const cats = [
    { id: 'all', icon: '🍽️', k: 'cat_all' },
    { id: 'burgers', icon: '🍔', k: 'cat_burgers' },
    { id: 'sandwiches', icon: '🥪', k: 'cat_sandwiches' },
    { id: 'appetizers', icon: '🍟', k: 'cat_appetizers' },
    { id: 'drinks', icon: '🥤', k: 'cat_drinks' },
    { id: 'kids', icon: '🧒', k: 'cat_kids' },
    { id: 'sauces', icon: '🥫', k: 'cat_sauces' },
  ];
  return (
    <SnbDesktopPage>
      {/* Menu hero */}
      <section style={{ background: 'var(--snb-yellow)', color: 'var(--snb-green-deep)', padding: '64px 48px 48px' }}>
        <div style={{ maxWidth: 1360, margin: '0 auto' }}>
          <div className="snb-eyebrow" style={{ color: 'var(--snb-green-deep)' }}>{lang === 'ar' ? 'القائمة' : 'OUR MENU'}</div>
          <h1 className="snb-display" style={{ fontSize: 88, margin: '12px 0 12px', lineHeight: 0.95 }}>{t('menu_h')}</h1>
          <p style={{ margin: 0, fontSize: 17, opacity: .8 }}>{t('menu_sub')}</p>
        </div>
      </section>
      <SnbCheckerStripe height={32} />

      <div style={{ display: 'grid', gridTemplateColumns: '260px 1fr', gap: 48, padding: '48px 48px 80px', maxWidth: 1360, margin: '0 auto' }}>
        {/* Sticky sidebar nav */}
        <aside style={{ position: 'sticky', top: 120, alignSelf: 'flex-start' }}>
          <div className="snb-eyebrow" style={{ marginBottom: 14 }}>{lang === 'ar' ? 'تصفح' : 'Browse'}</div>
          <div style={{ display: 'flex', flexDirection: 'column', gap: 4 }}>
            {cats.map(c => {
              const active = c.id === cat;
              const count = c.id === 'all' ? SNB_MENU.length : SNB_MENU.filter(m => m.cat === c.id).length;
              return (
                <button key={c.id} onClick={() => setCat(c.id)} style={{
                  textAlign: 'inherit', cursor: 'pointer', border: 0,
                  display: 'flex', alignItems: 'center', justifyContent: 'space-between', gap: 10,
                  padding: '12px 16px', borderRadius: 12,
                  background: active ? 'var(--snb-green)' : 'transparent',
                  color: active ? 'var(--snb-cream)' : 'var(--snb-ink)',
                  fontWeight: active ? 700 : 500, fontSize: 14,
                }}>
                  <span style={{ display: 'inline-flex', alignItems: 'center', gap: 10 }}>
                    <span aria-hidden>{c.icon}</span>
                    {t(c.k)}
                  </span>
                  <span style={{
                    fontSize: 11, opacity: active ? .7 : .5,
                    padding: '2px 8px', borderRadius: 999,
                    background: active ? 'rgba(255,255,229,.12)' : 'var(--snb-cream-2)',
                  }}>{count}</span>
                </button>
              );
            })}
          </div>
        </aside>

        {/* Items grid */}
        <div>
          <div style={{ display: 'flex', alignItems: 'baseline', justifyContent: 'space-between', marginBottom: 24 }}>
            <h2 className="snb-display" style={{ margin: 0, fontSize: 44 }}>{t('cat_' + cat)}</h2>
            <span style={{ fontSize: 13, color: 'var(--snb-ink-faint)' }}>{items.length} {lang === 'ar' ? 'صنف' : 'items'}</span>
          </div>
          <div style={{ display: 'grid', gridTemplateColumns: 'repeat(3, 1fr)', gap: 20 }}>
            {items.map(item => <SnbMenuItem key={item.id} item={item} layout="tile" />)}
          </div>
        </div>
      </div>
    </SnbDesktopPage>
  );
}

// ────────────────────────────────────────────────────────────────────────────
// ABOUT · DESKTOP
// ────────────────────────────────────────────────────────────────────────────
function SnbDesktopAboutPage() {
  const { t, lang } = useSnb();
  return (
    <SnbDesktopPage>
      <section style={{ background: 'var(--snb-green-deep)', color: 'var(--snb-cream)', padding: '100px 48px' }}>
        <div style={{ maxWidth: 1360, margin: '0 auto', display: 'grid', gridTemplateColumns: '1.2fr 1fr', gap: 64, alignItems: 'center' }}>
          <div>
            <div className="snb-eyebrow" style={{ color: 'var(--snb-yellow)' }}>{t('about_kicker')}</div>
            <h1 className="snb-display" style={{ fontSize: 92, margin: '14px 0 24px', lineHeight: 0.95 }}>{t('about_h')}</h1>
            <p style={{ margin: 0, fontSize: 18, lineHeight: 1.7, opacity: .85, maxWidth: 560 }}>{t('about_p1')}</p>
          </div>
          <div style={{ borderRadius: 24, overflow: 'hidden', aspectRatio: '4 / 5', backgroundImage: `url("assets/storefront-night.jpg")`, backgroundSize: 'cover', backgroundPosition: 'center' }} />
        </div>
      </section>
      <SnbCheckerStripe height={24} flip />

      <section style={{ background: 'var(--snb-cream)', padding: '64px 48px' }}>
        <div style={{ maxWidth: 1360, margin: '0 auto', display: 'grid', gridTemplateColumns: 'repeat(4, 1fr)', gap: 24 }}>
          {[
            { n: '586', k: 'stats_reviews' },
            { n: '4.3 ★', k: 'stats_rating' },
            { n: '2 AM', k: 'stats_late' },
            { n: 'Madinah', k: 'stats_location' },
          ].map(s => (
            <div key={s.k} style={{ padding: '32px 28px', borderRadius: 18, background: 'var(--snb-paper)', boxShadow: 'inset 0 0 0 1px var(--snb-line)' }}>
              <div className="snb-display" style={{ fontSize: 56, color: 'var(--snb-green)', lineHeight: 1 }}>{s.n}</div>
              <div style={{ fontSize: 13, color: 'var(--snb-ink-soft)', marginTop: 8 }}>{t(s.k)}</div>
            </div>
          ))}
        </div>
      </section>

      <section style={{ background: 'var(--snb-cream-2)', padding: '80px 48px' }}>
        <div style={{ maxWidth: 1360, margin: '0 auto' }}>
          <SnbSectionHead title={t('values_h')} />
          <div style={{ display: 'grid', gridTemplateColumns: 'repeat(3, 1fr)', gap: 24, marginTop: 36 }}>
            {[1,2,3].map(i => (
              <div key={i} style={{ background: 'var(--snb-paper)', borderRadius: 22, padding: 36, boxShadow: 'inset 0 0 0 1px var(--snb-line)' }}>
                <div className="snb-display" style={{ fontSize: 56, color: 'var(--snb-yellow)', lineHeight: 1, marginBottom: 8 }}>0{i}</div>
                <h3 className="snb-display" style={{ margin: '8px 0 12px', fontSize: 28 }}>{t('value_' + i + '_h')}</h3>
                <p style={{ margin: 0, fontSize: 15, color: 'var(--snb-ink-soft)', lineHeight: 1.6 }}>{t('value_' + i + '_p')}</p>
              </div>
            ))}
          </div>
        </div>
      </section>

      <SnbDesktopFinalCTA />
    </SnbDesktopPage>
  );
}

// ────────────────────────────────────────────────────────────────────────────
// GALLERY · DESKTOP — masonry 3-col
// ────────────────────────────────────────────────────────────────────────────
function SnbDesktopGalleryPage() {
  const { t, lang } = useSnb();
  return (
    <SnbDesktopPage>
      <section style={{ background: 'var(--snb-cream)', padding: '64px 48px 32px' }}>
        <div style={{ maxWidth: 1360, margin: '0 auto' }}>
          <div className="snb-eyebrow">{lang === 'ar' ? 'المعرض' : 'GALLERY'}</div>
          <h1 className="snb-display" style={{ fontSize: 88, margin: '12px 0 10px' }}>{t('gallery_h')}</h1>
          <p style={{ margin: 0, fontSize: 17, color: 'var(--snb-ink-soft)' }}>{t('gallery_sub')}</p>
        </div>
      </section>
      <SnbCheckerStripe height={24} />

      <section style={{ padding: '48px 48px 80px', background: 'var(--snb-cream)' }}>
        <div style={{ maxWidth: 1360, margin: '0 auto', columnCount: 3, columnGap: 20 }}>
          {SNB_GALLERY.map((src, i) => (
            <div key={i} style={{
              breakInside: 'avoid', marginBottom: 20,
              borderRadius: 18, overflow: 'hidden',
              aspectRatio: [0,3,7].includes(i % 9) ? '1 / 1.3' : '1 / 1',
              backgroundImage: `url("${src}")`,
              backgroundSize: 'cover', backgroundPosition: 'center',
            }} />
          ))}
        </div>
      </section>

      <section style={{ background: 'var(--snb-green)', color: 'var(--snb-cream)', padding: '64px 48px', textAlign: 'center' }}>
        <SnbIcon name="instagram" size={40} />
        <h3 className="snb-display" style={{ fontSize: 48, margin: '14px 0 10px' }}>{t('follow_us')}</h3>
        <p style={{ margin: '0 auto 28px', fontSize: 16, opacity: .8, maxWidth: 540 }}>
          {lang === 'ar' ? 'تفاعل، تابع، شاركنا صورك.' : 'Tag us. We re-share the good ones.'}
        </p>
        <div style={{ display: 'inline-flex', gap: 12, flexWrap: 'wrap', justifyContent: 'center' }}>
          <a href={SNB_SOCIAL.instagram} target="_blank" rel="noopener noreferrer" className="snb-btn snb-btn-yellow" style={{ padding: '14px 22px', textDecoration: 'none' }}>
            <SnbIcon name="instagram" size={16} /> Instagram
          </a>
          <a href={SNB_SOCIAL.tiktok} target="_blank" rel="noopener noreferrer" className="snb-btn" style={{
            padding: '14px 22px', textDecoration: 'none',
            background: 'transparent', color: 'var(--snb-cream)',
            boxShadow: 'inset 0 0 0 2px rgba(255,255,229,.5)',
          }}><SnbIcon name="tiktok" size={16} /> TikTok</a>
          <a href={SNB_SOCIAL.snap} target="_blank" rel="noopener noreferrer" className="snb-btn" style={{
            padding: '14px 22px', textDecoration: 'none',
            background: 'transparent', color: 'var(--snb-cream)',
            boxShadow: 'inset 0 0 0 2px rgba(255,255,229,.5)',
          }}><SnbIcon name="snap" size={16} /> Snapchat</a>
        </div>
      </section>
    </SnbDesktopPage>
  );
}

// ────────────────────────────────────────────────────────────────────────────
// CONTACT · DESKTOP — 2-col
// ────────────────────────────────────────────────────────────────────────────
function SnbDesktopContactPage() {
  const { t, lang } = useSnb();
  return (
    <SnbDesktopPage>
      <section style={{ background: 'var(--snb-cream)', padding: '64px 48px 32px' }}>
        <div style={{ maxWidth: 1360, margin: '0 auto' }}>
          <div className="snb-eyebrow">{lang === 'ar' ? 'تواصل' : 'GET IN TOUCH'}</div>
          <h1 className="snb-display" style={{ fontSize: 88, margin: '12px 0 10px', lineHeight: 0.95 }}>{t('contact_h')}</h1>
        </div>
      </section>

      <section style={{ padding: '48px 48px 80px', background: 'var(--snb-cream)' }}>
        <div style={{ maxWidth: 1360, margin: '0 auto', display: 'grid', gridTemplateColumns: '1fr 1.2fr', gap: 48 }}>
          {/* LEFT: Contact info stack */}
          <div style={{ display: 'flex', flexDirection: 'column', gap: 20 }}>
            <div style={{
              background: 'var(--snb-green)', color: 'var(--snb-cream)',
              borderRadius: 22, padding: 30, position: 'relative', overflow: 'hidden',
            }}>
              <div style={{
                position: 'absolute', right: -20, bottom: -30, fontSize: 200,
                color: 'rgba(224,205,47,.12)', lineHeight: 0.8, pointerEvents: 'none',
              }}>☎</div>
              <div className="snb-eyebrow" style={{ color: 'var(--snb-yellow)', marginBottom: 10 }}>{t('contact_phone_l')}</div>
              <a href={SNB_SOCIAL.phone} className="snb-display" style={{
                fontSize: 40, color: 'var(--snb-cream)', textDecoration: 'none', display: 'block',
              }}>+966 59 995 0112</a>
              <div style={{ marginTop: 18, display: 'flex', gap: 10 }}>
                <a href={SNB_SOCIAL.phone} className="snb-btn snb-btn-yellow" style={{ padding: '12px 18px', fontSize: 13, textDecoration: 'none' }}>
                  <SnbIcon name="phone" size={14} /> {t('cta_call')}
                </a>
                <a href={SNB_SOCIAL.whatsapp} target="_blank" rel="noopener noreferrer" className="snb-btn" style={{
                  padding: '12px 18px', fontSize: 13, textDecoration: 'none',
                  background: 'transparent', color: 'var(--snb-cream)',
                  boxShadow: 'inset 0 0 0 1.5px rgba(255,255,229,.5)',
                }}><SnbIcon name="wa" size={14} /> WhatsApp</a>
              </div>
            </div>

            <div className="snb-card" style={{ padding: 26 }}>
              <div className="snb-eyebrow" style={{ marginBottom: 12 }}>{t('hours_h')}</div>
              {[
                { d: t('hours_weekday'), t: t('hours_weekday_t') },
                { d: t('hours_weekend'), t: t('hours_weekend_t') },
              ].map((row, i) => (
                <div key={i} style={{
                  display: 'flex', justifyContent: 'space-between', padding: '12px 0',
                  borderTop: i > 0 ? '1px solid var(--snb-line)' : 0, fontSize: 15,
                }}>
                  <span style={{ color: 'var(--snb-ink-soft)' }}>{row.d}</span>
                  <strong>{row.t}</strong>
                </div>
              ))}
              <div style={{
                marginTop: 14, padding: '10px 14px', borderRadius: 10,
                background: 'rgba(90,138,58,.12)', color: 'var(--snb-success)',
                fontSize: 13, fontWeight: 600, display: 'inline-flex', alignItems: 'center', gap: 8,
              }}>
                <span style={{ width: 8, height: 8, borderRadius: '50%', background: 'currentColor' }} />
                {lang === 'ar' ? 'مفتوح الآن' : 'Open now'}
              </div>
            </div>

            <div className="snb-card" style={{ padding: 26 }}>
              <div className="snb-eyebrow" style={{ marginBottom: 12 }}>{t('pay_h')}</div>
              <div style={{ display: 'flex', flexWrap: 'wrap', gap: 8 }}>
                {[t('pay_card'), t('pay_nfc'), t('pay_apple'), t('pay_stc'), t('pay_cash')].map(p => (
                  <span key={p} className="snb-badge">{p}</span>
                ))}
              </div>
            </div>
          </div>

          {/* RIGHT: Big map + delivery apps */}
          <div style={{ display: 'flex', flexDirection: 'column', gap: 20 }}>
            <a href={SNB_SOCIAL.maps} target="_blank" rel="noopener noreferrer" style={{
              display: 'block', borderRadius: 22, height: 460, overflow: 'hidden',
              position: 'relative', textDecoration: 'none',
              boxShadow: '0 18px 50px rgba(10,29,16,.18)',
            }}>
              <iframe
                title="Steaks N Buns map"
                src="https://maps.google.com/maps?q=Steaks%20N%20Buns%20Madinah&t=&z=15&ie=UTF8&iwloc=&output=embed"
                style={{ border: 0, width: '100%', height: '100%', pointerEvents: 'none' }}
                loading="lazy"
              />
              <div style={{
                position: 'absolute', left: 20, bottom: 20, display: 'inline-flex',
                alignItems: 'center', gap: 8, padding: '12px 18px', borderRadius: 999,
                background: 'var(--snb-green)', color: 'var(--snb-cream)',
                fontSize: 14, fontWeight: 700, boxShadow: '0 10px 24px rgba(10,29,16,.35)',
              }}>
                <SnbIcon name="pin" size={16} />
                {t('cta_directions')}
              </div>
            </a>
            <div>
              <div className="snb-eyebrow" style={{ marginBottom: 12 }}>{t('delivery_apps_h')}</div>
              <div style={{ display: 'grid', gridTemplateColumns: 'repeat(2, 1fr)', gap: 12 }}>
                {['HungerStation', 'Keeta'].map(app => (
                  <div key={app} className="snb-card" style={{
                    padding: '18px 16px', display: 'flex', alignItems: 'center', gap: 12,
                  }}>
                    <div style={{
                      width: 36, height: 36, borderRadius: 10,
                      background: 'var(--snb-yellow)', color: 'var(--snb-green-deep)',
                      display: 'inline-flex', alignItems: 'center', justifyContent: 'center',
                      fontWeight: 800,
                    }}>{app[0]}</div>
                    <div style={{ fontWeight: 600, fontSize: 14 }}>{app}</div>
                  </div>
                ))}
              </div>
            </div>
          </div>
        </div>
      </section>

      <section style={{ background: 'var(--snb-cream-2)', padding: '64px 48px' }}>
        <div style={{ maxWidth: 1360, margin: '0 auto' }}>
          <SnbSectionHead title={t('faq_h')} />
          <div style={{ columnCount: 2, columnGap: 32, marginTop: 24 }}>
            {SNB_FAQ_HOME.map((f, i) => (
              <details key={i} style={{
                background: 'var(--snb-paper)', padding: '18px 22px', borderRadius: 14,
                boxShadow: 'inset 0 0 0 1px var(--snb-line)',
                breakInside: 'avoid', marginBottom: 12, display: 'block',
              }}>
                <summary style={{ fontWeight: 700, fontSize: 16, cursor: 'pointer', listStyle: 'none', display: 'flex', justifyContent: 'space-between', alignItems: 'center', gap: 12 }}>
                  {t(f.qk)}
                  <SnbIcon name="plus" size={18} />
                </summary>
                <p style={{ margin: '12px 0 0', fontSize: 14, color: 'var(--snb-ink-soft)', lineHeight: 1.6 }}>{t(f.ak)}</p>
              </details>
            ))}
          </div>
        </div>
      </section>
    </SnbDesktopPage>
  );
}

Object.assign(window, {
  SnbDesktopTopBar, SnbDesktopFooter, SnbDesktopHero, SnbDesktopPage,
  SnbDesktopHomePage, SnbDesktopMenuPage, SnbDesktopAboutPage,
  SnbDesktopGalleryPage, SnbDesktopContactPage,
});
