const { Accordion, Card, Icon, Button, Divider, SectionLabel } = window.BuildingInvestDesignSystem_f8840b;

function Services({ onNavigate, lang }) {
  const t = window.I18N[lang];
  const svc = window.BI_DATA[lang].services;
  const [active, setActive] = React.useState(svc[0].id);
  const cur = svc.find((s) => s.id === active) || svc[0];
  const width = useViewportWidth();
  const stack = width < 800;
  const scopeCols = width < 480 ? 1 : 2;
  return <>
    <div style={{ background: "var(--surface-card)", borderBottom: "1px solid var(--border-color)" }}>
      <Container style={{ padding: "var(--space-10) var(--page-margin-lg) var(--space-9)" }}>
        <div style={{ display: "flex", flexDirection: "column", gap: "var(--space-5)", maxWidth: "var(--container-md)", marginBottom: "var(--space-9)" }}>
          <SectionLabel>{t.services.label}</SectionLabel>
          <h1 style={{ font: "var(--type-h1)", letterSpacing: "var(--tracking-tight)" }}>{t.services.h1}</h1>
          <p style={{ font: "var(--type-body-lg)", color: "var(--text-secondary)" }}>{t.services.lead}</p>
        </div>
        <div style={{ display: "grid", gridTemplateColumns: `repeat(${width < 640 ? 2 : width < 960 ? 4 : svc.length}, 1fr)`, gap: "var(--space-3)" }}>
          {svc.map((s) => (
            <Tile key={s.id} icon={s.icon} label={s.title} active={s.id === active} onClick={() => setActive(s.id)} />
          ))}
        </div>
      </Container>
    </div>
    <Section tone="light">
      <div style={{ display: "grid", gridTemplateColumns: stack ? "1fr" : "1.1fr 1fr", gap: stack ? "var(--space-7)" : "var(--space-11)", alignItems: "start" }}>
        <div style={{ display: "flex", flexDirection: "column", gap: "var(--space-5)", order: stack ? 2 : 1 }}>
          <Icon name={cur.icon} size="xl" color="var(--amber-600)" />
          <h2 style={{ font: "var(--type-h2)", letterSpacing: "var(--tracking-tight)" }}>{cur.title}</h2>
          <p style={{ font: "var(--type-body-lg)", color: "var(--text-secondary)", maxWidth: "var(--measure-prose)" }}>{cur.lead}</p>
          <Divider variant="rule" />
          {cur.equipment ? (
            <div style={{ display: "grid", gridTemplateColumns: `repeat(${width < 480 ? 2 : 3},1fr)`, gap: "var(--space-4)" }}>
              {cur.equipment.map((e) => (
                <div key={e.label} style={{ display: "flex", flexDirection: "column", gap: "var(--space-2)" }}>
                  <div style={{ aspectRatio: "4 / 3", borderRadius: "var(--radius-card)", overflow: "hidden" }}>
                    <img src={e.image} alt={e.label} style={{ width: "100%", height: "100%", objectFit: "cover", display: "block" }} />
                  </div>
                  <span style={{ font: "var(--weight-semibold) var(--text-sm)/1.3 var(--font-sans)" }}>{e.label}</span>
                </div>
              ))}
            </div>
          ) : (
            <div style={{ display: "grid", gridTemplateColumns: `repeat(${scopeCols},1fr)`, gap: "var(--space-4)" }}>
              {cur.items.map((i) => (
                <div key={i} style={{ display: "flex", gap: "var(--space-3)", alignItems: "flex-start" }}>
                  <Icon name="check" size="sm" color="var(--amber-600)" style={{ marginTop: 3 }} />
                  <span style={{ font: "var(--type-body)" }}>{i}</span>
                </div>
              ))}
            </div>
          )}
          <div style={{ marginTop: "var(--space-4)" }}><Button iconRight="arrow-right" onClick={() => onNavigate("contact")}>{t.services.ctaFor(cur.title)}</Button></div>
        </div>
        {cur.image ? (
          <div style={{ aspectRatio: "4 / 3", borderRadius: "var(--radius-image)", overflow: "hidden" }}>
            <img src={cur.image} alt={cur.title} style={{ width: "100%", height: "100%", objectFit: "cover", display: "block" }} />
          </div>
        ) : (
          <PhotoSlot ratio="4 / 3" label={t.common.photoPrefix + cur.title.toUpperCase()} />
        )}
      </div>
    </Section>
    <Section label={t.services.faqLabel} number="05" title={t.services.faqTitle} tone="sunken">
      <div style={{ maxWidth: "var(--container-md)" }}><Accordion items={window.BI_DATA[lang].faq} /></div>
    </Section>
  </>;
}

Object.assign(window, { Services });
