// Builds an HTML email body + plain-text alternative for spam compliance.
// Pulls live from window.BRANDS / window.EXPERTISE / window.PARTNERS so it
// auto-updates whenever those lists change.

function buildCatalogEmailHTML(opts = {}) {
  const recipient = (opts.name || '').trim();
  const greeting = recipient ? `Merhaba ${recipient},` : 'Merhaba,';

  const brands    = window.BRANDS    || [];
  const expertise = window.EXPERTISE || [];
  const partners  = window.PARTNERS  || [];

  // Color tokens
  const navy = '#1A2747';
  const navyDeep = '#0F1830';
  const ink  = '#131A2C';
  const ink2 = '#364056';
  const muted = '#5E6A82';
  const line = '#E5E7EE';
  const bg   = '#FAFAF7';
  const surface = '#FFFFFF';
  const gold = '#B8862E';
  const goldSoft = '#F6EFE0';
  const blueElec = '#1E6FE0';
  const blueElecSoft = '#E4EEFC';
  const navySoft = '#E8EBF3';
  const green = '#25D366';

  const accentMap = {
    bilgim:    { c: navy,     soft: navySoft },
    adaplanet: { c: gold,     soft: goldSoft },
    datakor:   { c: blueElec, soft: blueElecSoft },
  };

  const wrap = (children) => `<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Bilgim · Hizmet Kataloğu</title>
</head>
<body style="margin:0;padding:0;background:${bg};font-family:Arial,Helvetica,sans-serif;color:${ink};">
<!-- Preview text shown by some inboxes before opening -->
<div style="display:none;font-size:1px;color:${bg};line-height:1px;max-height:0;max-width:0;opacity:0;overflow:hidden;">
  Bilgim Bilgisayar, Adaplanet ve Datakor olarak Sakarya'da sunduğumuz tüm hizmetlerin özeti.
</div>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background:${bg};padding:24px 12px;">
  <tr><td align="center">
    <table role="presentation" width="640" cellpadding="0" cellspacing="0" style="max-width:640px;width:100%;background:${surface};border-radius:12px;overflow:hidden;box-shadow:0 1px 2px rgba(20,30,60,0.06);">
      ${children}
    </table>
  </td></tr>
</table>
</body>
</html>`;

  const header = `
    <tr><td style="background:${navy};padding:36px 36px 28px;">
      <table role="presentation" width="100%" cellpadding="0" cellspacing="0">
        <tr>
          <td style="vertical-align:middle;">
            <div style="font-family:'Plus Jakarta Sans',Arial,sans-serif;font-weight:800;font-size:30px;color:#ffffff;letter-spacing:-0.5px;">Bilgim<span style="color:${gold};">.</span></div>
            <div style="font-size:11px;color:${gold};letter-spacing:2.5px;text-transform:uppercase;font-weight:700;margin-top:6px;">Sakarya · IT · Tedarik · Güvenlik</div>
          </td>
          <td align="right" style="vertical-align:middle;">
            <a href="tel:+902647771188" style="display:inline-block;background:${gold};color:${navy};text-decoration:none;font-weight:800;font-size:14px;padding:11px 18px;border-radius:999px;font-family:Arial,sans-serif;">☎ 0264 777 11 88</a>
          </td>
        </tr>
      </table>
    </td></tr>`;

  const stats = `
    <tr><td style="padding:0;">
      <table role="presentation" width="100%" cellpadding="0" cellspacing="0">
        <tr>
          <td style="background:${navySoft};padding:24px 16px;text-align:center;border-right:1px solid ${line};width:33.33%;">
            <div style="font-family:'Plus Jakarta Sans',Arial,sans-serif;font-weight:800;font-size:32px;color:${navy};letter-spacing:-1px;">15<span style="color:${gold};">+</span></div>
            <div style="font-size:11px;color:${ink2};font-weight:600;margin-top:4px;letter-spacing:0.6px;">YIL SEKTÖR DENEYİMİ</div>
          </td>
          <td style="background:${goldSoft};padding:24px 16px;text-align:center;border-right:1px solid ${line};width:33.33%;">
            <div style="font-family:'Plus Jakarta Sans',Arial,sans-serif;font-weight:800;font-size:32px;color:${gold};letter-spacing:-1px;">16</div>
            <div style="font-size:11px;color:${ink2};font-weight:600;margin-top:4px;letter-spacing:0.6px;">SAKARYA İLÇESİ</div>
          </td>
          <td style="background:${blueElecSoft};padding:24px 16px;text-align:center;width:33.34%;">
            <div style="font-family:'Plus Jakarta Sans',Arial,sans-serif;font-weight:800;font-size:32px;color:${blueElec};letter-spacing:-1px;">${partners.length || 6}</div>
            <div style="font-size:11px;color:${ink2};font-weight:600;margin-top:4px;letter-spacing:0.6px;">YETKİLİ İŞ ORTAĞI</div>
          </td>
        </tr>
      </table>
    </td></tr>`;

  const intro = `
    <tr><td style="padding:32px 36px 16px;">
      <h1 style="font-family:Arial,sans-serif;font-size:24px;font-weight:800;color:${ink};margin:0 0 14px;letter-spacing:-0.5px;line-height:1.2;">Hizmet kataloğumuz, tek bir e-postada.</h1>
      <p style="font-size:15px;line-height:1.65;color:${ink2};margin:0;">
        ${greeting} Bilgim Bilgisayar, Adaplanet ve Datakor olarak Sakarya'da sunduğumuz tüm hizmetlerin özetini
        aşağıda bulabilirsiniz. Talebiniz hangi alanda olursa olsun aynı numaradan ulaşırsınız:
        <strong style="color:${ink};">0264 777 11 88</strong>.
      </p>
    </td></tr>`;

  const servicesGrid = (services, accent) => {
    const rows = [];
    for (let i = 0; i < services.length; i += 2) {
      const left  = services[i];
      const right = services[i + 1];
      rows.push(`
        <tr>
          <td style="width:50%;padding:8px 12px 8px 0;vertical-align:top;">
            <span style="display:inline-block;color:${accent};font-weight:800;margin-right:8px;">&#9656;</span>
            <span style="font-size:13.5px;color:${ink2};line-height:1.5;">${left || ''}</span>
          </td>
          <td style="width:50%;padding:8px 0 8px 12px;vertical-align:top;">
            ${right ? `<span style="display:inline-block;color:${accent};font-weight:800;margin-right:8px;">&#9656;</span><span style="font-size:13.5px;color:${ink2};line-height:1.5;">${right}</span>` : ''}
          </td>
        </tr>`);
    }
    return `<table role="presentation" width="100%" cellpadding="0" cellspacing="0">${rows.join('')}</table>`;
  };

  const brandBlock = (b) => {
    const a = accentMap[b.id] || accentMap.bilgim;
    const partnersInline = (b.partners || []).map(p =>
      `<span style="display:inline-block;background:${surface};border:1px solid ${a.c};border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700;color:${a.c};margin:3px 4px 3px 0;">${p}</span>`
    ).join('');
    return `
      <tr><td style="padding:8px 36px 0;">
        <table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background:${a.soft};border-radius:10px;margin-top:24px;">
          <tr><td style="padding:18px 22px;">
            <table role="presentation" width="100%" cellpadding="0" cellspacing="0">
              <tr>
                <td style="vertical-align:middle;">
                  <div style="font-size:10.5px;letter-spacing:2px;text-transform:uppercase;font-weight:800;color:${a.c};">${b.tagline}</div>
                  <div style="font-family:'Plus Jakarta Sans',Arial,sans-serif;font-size:24px;font-weight:800;color:${ink};margin-top:4px;letter-spacing:-0.5px;">${b.fullName || b.name}</div>
                </td>
                <td align="right" style="vertical-align:middle;">
                  <span style="display:inline-block;background:${surface};color:${a.c};border:1px solid ${a.c};padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;">${b.domain}</span>
                </td>
              </tr>
            </table>
          </td></tr>
        </table>
      </td></tr>
      <tr><td style="padding:14px 36px 4px;">
        <p style="font-size:13.5px;line-height:1.6;color:${ink2};margin:0 0 12px;">${b.description}</p>
        ${servicesGrid(b.services, a.c)}
        ${partnersInline ? `
          <div style="margin-top:14px;padding-top:14px;border-top:1px solid ${line};">
            <div style="font-size:10.5px;letter-spacing:1.8px;text-transform:uppercase;font-weight:700;color:${muted};margin-bottom:8px;">Yetkili Ortaklar</div>
            ${partnersInline}
          </div>` : ''}
      </td></tr>`;
  };

  const expertiseGrid = () => {
    const rows = [];
    for (let i = 0; i < expertise.length; i += 2) {
      const make = (e) => {
        if (!e) return '';
        return `
          <td style="width:50%;padding:6px 8px 6px 0;vertical-align:top;">
            <div style="background:${bg};border:1px solid ${line};border-radius:8px;padding:12px 14px;">
              <div style="font-size:13.5px;font-weight:700;color:${ink};margin-bottom:2px;">${e.t}</div>
              <div style="font-size:11px;color:${navy};font-weight:700;letter-spacing:1px;text-transform:uppercase;">${e.tag}</div>
            </div>
          </td>`;
      };
      rows.push(`<tr>${make(expertise[i])}${make(expertise[i + 1])}</tr>`);
    }
    return `<table role="presentation" width="100%" cellpadding="0" cellspacing="0">${rows.join('')}</table>`;
  };

  const expertiseBlock = expertise.length ? `
    <tr><td style="padding:28px 36px 12px;">
      <table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin-bottom:14px;">
        <tr>
          <td style="border-bottom:3px solid ${gold};padding-bottom:8px;">
            <div style="font-size:10.5px;letter-spacing:2px;text-transform:uppercase;font-weight:800;color:${gold};">Tüm Hizmet Disiplinleri</div>
            <div style="font-family:'Plus Jakarta Sans',Arial,sans-serif;font-size:20px;font-weight:800;color:${ink};margin-top:4px;letter-spacing:-0.3px;">${expertise.length} uzmanlık alanı, tek aramayla.</div>
          </td>
        </tr>
      </table>
      ${expertiseGrid()}
    </td></tr>` : '';

  const partnersBlock = partners.length ? `
    <tr><td style="padding:24px 36px 12px;">
      <div style="background:${navy};border-radius:10px;padding:20px 22px;">
        <div style="font-size:10.5px;letter-spacing:2px;text-transform:uppercase;font-weight:800;color:${gold};margin-bottom:14px;">Yetkili İş Ortaklarımız</div>
        ${partners.map(p =>
          `<table role="presentation" cellpadding="0" cellspacing="0" style="display:inline-block;margin:0 6px 6px 0;">
            <tr><td style="background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.18);border-radius:8px;padding:8px 14px;">
              <span style="font-family:'Plus Jakarta Sans',Arial,sans-serif;font-size:13px;font-weight:800;color:#ffffff;">${p.name}</span>
              <span style="font-size:11px;color:rgba(255,255,255,0.65);font-weight:500;"> &middot; ${p.tag}</span>
            </td></tr>
          </table>`
        ).join('')}
      </div>
    </td></tr>` : '';

  const cta = `
    <tr><td style="padding:24px 36px 36px;">
      <table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background:${navy};border-radius:12px;">
        <tr><td style="padding:32px;">
          <div style="font-size:10.5px;letter-spacing:2px;text-transform:uppercase;font-weight:800;color:${gold};margin-bottom:10px;">İletişim</div>
          <div style="font-family:'Plus Jakarta Sans',Arial,sans-serif;font-size:22px;font-weight:800;color:#ffffff;margin-bottom:8px;line-height:1.2;letter-spacing:-0.3px;">Tüm sorularınız için tek numara.</div>
          <p style="font-size:13.5px;line-height:1.6;color:rgba(255,255,255,0.75);margin:0 0 22px;">
            Talebiniz hangi markaya yönelik olursa olsun aynı kapıdan ulaşırsınız.
          </p>
          <div>
            <a href="tel:+902647771188" style="display:inline-block;background:#ffffff;color:${navy};text-decoration:none;font-weight:800;font-size:17px;padding:13px 22px;border-radius:999px;margin:4px 8px 4px 0;font-family:Arial,sans-serif;">&#9742; 0264 777 11 88</a>
            <a href="https://wa.me/902647771188" style="display:inline-block;background:${green};color:#ffffff;text-decoration:none;font-weight:700;font-size:14px;padding:14px 20px;border-radius:999px;margin:4px 0;font-family:Arial,sans-serif;">WhatsApp ile yazın</a>
          </div>
          <table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin-top:24px;border-top:1px solid rgba(255,255,255,0.14);padding-top:18px;">
            <tr>
              <td style="width:50%;padding-right:12px;vertical-align:top;">
                <div style="font-size:10px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;color:${gold};margin-bottom:4px;">Adres</div>
                <div style="font-size:12.5px;color:rgba(255,255,255,0.85);line-height:1.5;">Cumhuriyet Mah.<br>Dr. Nuri Bayar Cad. 47/B<br>Adapazarı, Sakarya</div>
              </td>
              <td style="width:50%;padding-left:12px;vertical-align:top;">
                <div style="font-size:10px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;color:${gold};margin-bottom:4px;">E-posta &amp; Saatler</div>
                <div style="font-size:12.5px;color:rgba(255,255,255,0.85);line-height:1.5;"><a href="mailto:satis@bilgim.com.tr" style="color:#ffffff;text-decoration:none;">satis@bilgim.com.tr</a><br>Pzt &ndash; Cmt &middot; 08:30 &ndash; 19:00</div>
              </td>
            </tr>
          </table>
        </td></tr>
      </table>
    </td></tr>`;

  const footer = `
    <tr><td style="padding:18px 36px 24px;background:${bg};font-size:11px;color:${muted};line-height:1.6;text-align:center;">
      Bu e-postayı <a href="https://www.bilgim.com.tr/" style="color:${navy};font-weight:700;text-decoration:none;">bilgim.com.tr</a>
      üzerinden talep ettiniz. Posta listemizden çıkmak için bu e-postayı yanıtlayın ya da
      <a href="mailto:satis@bilgim.com.tr?subject=Aboneli%C4%9Fi%20iptal%20et" style="color:${navy};font-weight:700;text-decoration:underline;">aboneliği iptal edin</a>.
      <br><br>
      <strong>Bilgim Bilgisayar &amp; Yazılım Hizmetleri</strong><br>
      Cumhuriyet Mah. Dr. Nuri Bayar Cad. 47/B, Adapazarı, Sakarya, Türkiye<br>
      Tel: 0264 777 11 88 &middot; <a href="mailto:satis@bilgim.com.tr" style="color:${muted};">satis@bilgim.com.tr</a>
      <br><br>
      <span style="color:${muted};">&copy; ${new Date().getFullYear()} Bilgim. Tüm hakları saklıdır.</span>
    </td></tr>`;

  return wrap(header + stats + intro + brands.map(brandBlock).join('') + expertiseBlock + partnersBlock + cta + footer);
}

// Plain-text alternative — REQUIRED for spam compliance.
// Mail clients show this when HTML is blocked, and spam filters compare
// HTML and text content. If text is missing or empty → spam score increases.
function buildCatalogEmailText(opts = {}) {
  const recipient = (opts.name || '').trim();
  const brands    = window.BRANDS    || [];
  const expertise = window.EXPERTISE || [];
  const partners  = window.PARTNERS  || [];

  let out = '';
  out += `BİLGİM — HİZMET KATALOĞU\n`;
  out += `Sakarya · IT · Tedarik · Güvenlik\n`;
  out += `─────────────────────────────────────\n\n`;
  out += `${recipient ? 'Merhaba ' + recipient + ',' : 'Merhaba,'}\n\n`;
  out += `Bilgim Bilgisayar, Adaplanet ve Datakor olarak Sakarya'da sunduğumuz tüm hizmetlerin özetini aşağıda bulabilirsiniz. Talebiniz hangi alanda olursa olsun aynı numaradan ulaşırsınız: 0264 777 11 88.\n\n`;
  out += `► 15+ YIL SEKTÖR DENEYİMİ\n► 16 SAKARYA İLÇESİ\n► ${partners.length} YETKİLİ İŞ ORTAĞI\n\n`;

  brands.forEach(b => {
    out += `═════════════════════════════════════\n`;
    out += `${(b.fullName || b.name).toUpperCase()} — ${b.tagline}\n`;
    out += `${b.domain}\n`;
    out += `═════════════════════════════════════\n\n`;
    out += `${b.description}\n\n`;
    out += `Hizmetler:\n`;
    b.services.forEach(s => { out += `  • ${s}\n`; });
    if (b.partners && b.partners.length) {
      out += `\nYetkili Ortaklar: ${b.partners.join(', ')}\n`;
    }
    out += `\n`;
  });

  if (expertise.length) {
    out += `─────────────────────────────────────\n`;
    out += `TÜM HİZMET DİSİPLİNLERİ (${expertise.length} ALAN)\n`;
    out += `─────────────────────────────────────\n\n`;
    expertise.forEach(e => { out += `• ${e.t}\n  ${e.d}\n  [${e.tag}]\n\n`; });
  }

  if (partners.length) {
    out += `─────────────────────────────────────\n`;
    out += `YETKİLİ İŞ ORTAKLARIMIZ\n`;
    out += `─────────────────────────────────────\n`;
    partners.forEach(p => { out += `• ${p.name} (${p.tag}) — via ${p.brand}\n`; });
    out += `\n`;
  }

  out += `─────────────────────────────────────\n`;
  out += `İLETİŞİM\n`;
  out += `─────────────────────────────────────\n`;
  out += `Tel: 0264 777 11 88\n`;
  out += `WhatsApp: https://wa.me/902647771188\n`;
  out += `E-posta: satis@bilgim.com.tr\n`;
  out += `Web: https://www.bilgim.com.tr\n\n`;
  out += `Adres:\n  Cumhuriyet Mah. Dr. Nuri Bayar Cad. 47/B\n  Adapazarı, Sakarya, Türkiye\n`;
  out += `Çalışma Saatleri: Pzt – Cmt · 08:30 – 19:00\n\n`;
  out += `─────────────────────────────────────\n`;
  out += `Bu e-postayı bilgim.com.tr üzerinden talep ettiniz.\n`;
  out += `Aboneliği iptal etmek için yanıtlayın veya satis@bilgim.com.tr adresine yazın.\n`;
  out += `© ${new Date().getFullYear()} Bilgim Bilgisayar & Yazılım Hizmetleri. Tüm hakları saklıdır.\n`;

  return out;
}

window.buildCatalogEmailHTML = buildCatalogEmailHTML;
window.buildCatalogEmailText = buildCatalogEmailText;
