// src/pages-legal.jsx — Privacy Policy + Consent

function LegalLayout({ num, tag, title, lead, updated, sections, navigate, screenLabel }) {
  return (
    <div className="page-enter" data-screen-label={screenLabel}>
      <PageHeader
        num={num}
        tag={tag}
        title={title}
        lead={lead}
        breadcrumb={<span><a href="./" onClick={(ev) => { ev.preventDefault(); navigate("home"); }} style={{cursor:"pointer"}}>Главная</a> &nbsp;/&nbsp; {tag}</span>}
      />
      <section className="section" style={{ paddingTop: 0 }}>
        <div className="wrap">
          <div style={{ display: "grid", gridTemplateColumns: "260px 1fr", gap: 64 }} className="legal-grid">
            <aside style={{ position: "sticky", top: 100, alignSelf: "start" }} className="legal-toc">
              <div className="t-caption" style={{ marginBottom: 18 }}>Содержание</div>
              <ol style={{ listStyle: "none", display: "flex", flexDirection: "column", gap: 4 }}>
                {sections.map((s, i) => (
                  <li key={i}>
                    <a href={`#sec-${i + 1}`} style={{
                      display: "flex", gap: 12, alignItems: "baseline",
                      padding: "8px 0",
                      fontSize: 13,
                      color: "var(--text-mid)",
                      borderBottom: "1px solid var(--line-2)",
                      transition: "color 0.18s ease",
                    }}
                    onMouseEnter={(e) => (e.currentTarget.style.color = "var(--text)")}
                    onMouseLeave={(e) => (e.currentTarget.style.color = "var(--text-mid)")}>
                      <span className="mono" style={{ fontSize: 11, color: "var(--text-dim)" }}>{String(i + 1).padStart(2, "0")}</span>
                      <span>{s.title}</span>
                    </a>
                  </li>
                ))}
              </ol>
              <div style={{ marginTop: 24, padding: "14px 16px", border: "1px solid var(--line)", borderRadius: 4, fontSize: 12, color: "var(--text-dim)" }}>
                <div className="mono" style={{ fontSize: 11, marginBottom: 6 }}>Обновлено</div>
                <div style={{ color: "var(--text-mid)" }}>{updated}</div>
              </div>
            </aside>

            <article style={{ maxWidth: 760, fontSize: 16, lineHeight: 1.7 }}>
              {sections.map((s, i) => (
                <section key={i} id={`sec-${i + 1}`} style={{ paddingBottom: 40, marginBottom: 40, borderBottom: i < sections.length - 1 ? "1px solid var(--line)" : "none" }}>
                  <div style={{ display: "flex", gap: 16, alignItems: "baseline", marginBottom: 18 }}>
                    <span className="mono" style={{ color: "var(--accent)", fontSize: 13 }}>{String(i + 1).padStart(2, "0")}</span>
                    <h2 className="t-h3" style={{ marginBottom: 0 }}>{s.title}</h2>
                  </div>
                  {s.body.map((p, j) => {
                    if (typeof p === "string") return <p key={j} className="t-body" style={{ marginBottom: 14, color: "var(--text-mid)" }}>{p}</p>;
                    if (p.type === "list") return (
                      <ul key={j} style={{ listStyle: "none", margin: "0 0 14px 0", display: "flex", flexDirection: "column", gap: 8 }}>
                        {p.items.map((it, k) => (
                          <li key={k} style={{ display: "flex", gap: 12, alignItems: "flex-start", color: "var(--text-mid)" }}>
                            <span style={{ color: "var(--accent)", paddingTop: 8, fontSize: 10 }}>●</span>
                            <span>{it}</span>
                          </li>
                        ))}
                      </ul>
                    );
                    return null;
                  })}
                </section>
              ))}
              <div style={{ marginTop: 32, padding: "20px 24px", background: "var(--bg-1)", border: "1px solid var(--line)", borderRadius: 4 }}>
                <p style={{ fontSize: 14, color: "var(--text-mid)", margin: 0 }}>
                  Вопросы по обработке данных — <a href="mailto:privacy@accordgroup.by" style={{ color: "var(--accent)", borderBottom: "1px solid var(--accent-line)" }}>privacy@accordgroup.by</a>
                </p>
              </div>
            </article>
          </div>
          <style>{`
            @media (max-width: 920px) {
              .legal-grid { grid-template-columns: 1fr !important; }
              .legal-toc { position: static !important; margin-bottom: 24px; }
            }
          `}</style>
        </div>
      </section>
    </div>
  );
}

function PrivacyPage({ navigate }) {
  return (
    <LegalLayout
      navigate={navigate}
      screenLabel="Privacy policy"
      num="/06"
      tag="Политика конфиденциальности"
      title="Политика обработки персональных данных"
      lead="Политика определяет порядок обработки персональных данных посетителей сайта и лиц, направляющих заявки через accordgroup.by."
      updated="26.05.2026"
      sections={[
        {
          title: "Общие положения",
          body: [
            "Настоящая Политика разработана с учетом требований Закона Республики Беларусь от 7 мая 2021 г. № 99-З «О защите персональных данных» и иных актов законодательства Республики Беларусь о персональных данных.",
            "Политика применяется к персональным данным посетителей сайта accordgroup.by, лиц, направляющих заявки, и представителей организаций, которые обращаются к ACCORD GROUP по вопросам закупок, поставок, логистики, импорта, экспорта или консультаций.",
            "Оператор персональных данных: ACCORD GROUP. Место нахождения: Республика Беларусь. Для обращений по вопросам обработки персональных данных используется адрес privacy@accordgroup.by.",
            "Если пользователь не согласен с условиями Политики или Согласия на обработку персональных данных, он не должен отправлять формы на сайте.",
          ],
        },
        {
          title: "Термины и принципы",
          body: [
            "Термины «персональные данные», «субъект персональных данных», «оператор», «обработка персональных данных», «уполномоченное лицо» и «трансграничная передача персональных данных» используются в значении, установленном законодательством Республики Беларусь.",
            "Оператор обрабатывает персональные данные законно, соразмерно заявленным целям, без избыточного сбора и с обеспечением конфиденциальности.",
            "Оператор не запрашивает через формы сайта специальные персональные данные, включая сведения о здоровье, политических взглядах, религиозных убеждениях, биометрические или генетические персональные данные. Пользователю не следует указывать такие сведения в свободном тексте заявки.",
          ],
        },
        {
          title: "Состав данных",
          body: [
            "Через формы обратной связи и заявки Оператор может обрабатывать следующие персональные данные, предоставленные самим пользователем:",
            { type: "list", items: [
              "имя;",
              "название компании;",
              "email;",
              "номер телефона и (или) Telegram;",
              "страна клиента;",
              "тип запроса;",
              "комментарий, описание задачи и иные сведения, которые пользователь добровольно указывает в форме.",
            ]},
            "При использовании сайта также могут обрабатываться технические данные: IP-адрес, дата и время визита, сведения о браузере и устройстве, источник перехода, данные cookie и события, необходимые для работы сайта, защиты от спама и анализа технической стабильности.",
            "Источником персональных данных является пользователь, его представитель, а также устройство и браузер пользователя при техническом взаимодействии с сайтом.",
          ],
        },
        {
          title: "Цели и основания обработки",
          body: [
            "Оператор обрабатывает персональные данные для следующих целей:",
            { type: "list", items: [
              "прием, регистрация и обработка заявки пользователя;",
              "обратная связь, уточнение деталей запроса и подготовка ответа;",
              "подготовка коммерческого предложения, консультации или проекта договора;",
              "организация последующей коммуникации по обращению пользователя;",
              "направление технических уведомлений, связанных с заявкой;",
              "обеспечение работы сайта, защита от спама, злоупотреблений и несанкционированного доступа;",
              "исполнение требований законодательства Республики Беларусь.",
            ]},
            "Правовыми основаниями обработки являются согласие субъекта персональных данных, действия по заключению или исполнению договора с субъектом либо представляемой им организацией, а также иные основания, предусмотренные Законом и другими законодательными актами Республики Беларусь.",
            "Персональные данные не используются для маркетинговых рассылок без отдельного согласия пользователя.",
          ],
        },
        {
          title: "Действия с данными",
          body: [
            "Оператор может совершать с персональными данными следующие действия: сбор, запись, систематизация, накопление, хранение, уточнение, изменение, использование, передача, предоставление, доступ, обезличивание, блокирование, удаление и уничтожение.",
            "Обработка может осуществляться как с использованием средств автоматизации, так и без использования таких средств.",
            "Оператор не принимает решений, порождающих юридические последствия для пользователя или иным образом существенно затрагивающих его права и законные интересы, исключительно на основании автоматизированной обработки персональных данных.",
          ],
        },
        {
          title: "Уполномоченные лица и передача",
          body: [
            "Оператор может поручать обработку персональных данных уполномоченным лицам и предоставлять данные третьим лицам только при наличии правового основания и в объеме, необходимом для заявленных целей.",
            "К таким лицам могут относиться провайдеры хостинга и технической поддержки сайта, сервисы электронной почты и уведомлений, телекоммуникационные и мессенджер-сервисы, администраторы сайта, консультанты, а также партнеры, привлекаемые для логистического, таможенного, банковского или иного сопровождения запроса пользователя.",
            "Фактические сведения об уполномоченных лицах, если они привлекаются для конкретной обработки, указываются в настоящей Политике, Согласии, договоре или ином уведомлении, предоставляемом субъекту персональных данных до такой обработки.",
            "При привлечении уполномоченных лиц Оператор принимает меры, чтобы такие лица обрабатывали персональные данные только по поручению Оператора, соблюдали конфиденциальность и обеспечивали защиту персональных данных.",
            "Передача персональных данных государственным органам осуществляется только в случаях и порядке, предусмотренных законодательством Республики Беларусь.",
            "Если для обработки заявки требуется трансграничная передача персональных данных, она осуществляется в соответствии с законодательством Республики Беларусь и в минимально необходимом объеме.",
            "При передаче персональных данных в иностранные государства, где может отсутствовать надлежащий уровень защиты прав субъектов персональных данных, субъект уведомляется о рисках, связанных с такой передачей, до ее осуществления в случаях, когда это требуется законодательством.",
          ],
        },
        {
          title: "Хранение и защита данных",
          body: [
            "Персональные данные, полученные через формы сайта, хранятся в течение срока, необходимого для обработки обращения, последующей коммуникации и защиты прав Оператора, но не более 3 лет с даты последнего взаимодействия, если иной срок не установлен законодательством или договором.",
            "Технические журналы и данные безопасности сайта могут храниться до 12 месяцев, если более длительное хранение не требуется для расследования инцидента, защиты прав Оператора или исполнения требований законодательства.",
            "После достижения целей обработки, истечения срока хранения или отзыва согласия при отсутствии иных правовых оснований персональные данные удаляются, обезличиваются либо блокируются.",
            "Оператор применяет правовые, организационные и технические меры для защиты персональных данных от неправомерного или случайного доступа, изменения, блокирования, копирования, распространения, предоставления, удаления и иных неправомерных действий.",
          ],
        },
        {
          title: "Права субъекта данных",
          body: [
            "Субъект персональных данных имеет права, предусмотренные Законом Республики Беларусь «О защите персональных данных», включая право:",
            { type: "list", items: [
              "отозвать согласие на обработку персональных данных;",
              "получить информацию, касающуюся обработки своих персональных данных;",
              "требовать изменения персональных данных, если они являются неполными, устаревшими или неточными;",
              "получить информацию о предоставлении персональных данных третьим лицам;",
              "требовать прекращения обработки персональных данных и (или) их удаления при отсутствии оснований для продолжения обработки;",
              "обжаловать действия, бездействие и решения Оператора в Национальный центр защиты персональных данных Республики Беларусь и (или) в суд.",
            ]},
            "Для реализации прав субъект направляет Оператору заявление в письменной форме, в виде электронного документа либо, для отзыва согласия, в форме, в которой согласие было получено, если такая форма позволяет идентифицировать субъекта.",
            "Обращения по вопросам персональных данных принимаются по адресу privacy@accordgroup.by. Информация об обработке предоставляется в течение 5 рабочих дней, а прекращение обработки, удаление или изменение данных при наличии оснований осуществляется в течение 15 дней после получения заявления, если иной срок не установлен законодательством.",
          ],
        },
        {
          title: "Файлы cookie",
          body: [
            "Сайт может использовать cookie и аналогичные технологии для технической работы, сохранения пользовательских настроек, защиты от спама и анализа посещаемости.",
            "Пользователь может ограничить или отключить cookie в настройках браузера. В этом случае часть функций сайта может работать некорректно.",
            "Если на сайте будут подключены аналитические, рекламные или иные необязательные cookie, Оператор должен обеспечить получение согласия пользователя в случаях, когда такое согласие требуется законодательством.",
          ],
        },
        {
          title: "Изменения Политики",
          body: [
            "Оператор вправе изменять Политику при изменении сайта, процессов обработки персональных данных или требований законодательства.",
            "Актуальная редакция Политики размещается на сайте до начала соответствующей обработки персональных данных. Дата последнего обновления указывается на странице Политики.",
          ],
        },
      ]}
    />
  );
}

function ConsentPage({ navigate }) {
  return (
    <LegalLayout
      navigate={navigate}
      screenLabel="Consent"
      num="/07"
      tag="Согласие на обработку данных"
      title="Согласие на обработку персональных данных"
      lead="Текст согласия, действующий при отправке любой формы обратной связи на сайте accordgroup.by."
      updated="26.05.2026"
      sections={[
        {
          title: "Оператор и форма согласия",
          body: [
            "Настоящее согласие предоставляется ACCORD GROUP, Республика Беларусь, далее — Оператор. Контакт для вопросов и отзыва согласия: privacy@accordgroup.by.",
            "Проставляя отметку в чекбоксе согласия и отправляя форму на сайте accordgroup.by, пользователь подтверждает, что действует свободно, своей волей и в своем интересе, ознакомлен с Политикой обработки персональных данных и дает Оператору согласие на обработку персональных данных на условиях, указанных ниже.",
            "Если пользователь действует от имени организации, он подтверждает наличие полномочий указывать свои контактные данные и направлять запрос в интересах такой организации.",
          ],
        },
        {
          title: "Перечень данных",
          body: [
            "Согласие распространяется на следующие персональные данные, указанные пользователем при заполнении формы:",
            { type: "list", items: [
              "имя;",
              "название компании;",
              "email;",
              "номер телефона и (или) Telegram;",
              "страна клиента;",
              "тип запроса и комментарий.",
            ]},
            "Также могут обрабатываться технические данные, связанные с отправкой формы: IP-адрес, дата и время отправки, сведения о браузере и устройстве, источник перехода, данные cookie и антиспам-проверок.",
            "Если пользователь указывает в комментарии дополнительные сведения, они обрабатываются только в объеме, необходимом для рассмотрения запроса.",
          ],
        },
        {
          title: "Цели обработки",
          body: [
            "Персональные данные обрабатываются для следующих целей:",
            { type: "list", items: [
              "прием, регистрация и обработка заявки;",
              "идентификация пользователя как отправителя запроса;",
              "обратная связь, уточнение деталей задачи и подготовка ответа;",
              "подготовка консультации, коммерческого предложения или проекта договора;",
              "направление технических уведомлений, связанных с заявкой;",
              "защита сайта и формы от спама, злоупотреблений и несанкционированного доступа;",
              "исполнение требований законодательства Республики Беларусь.",
            ]},
          ],
        },
        {
          title: "Действия с данными",
          body: [
            "Оператор вправе совершать с персональными данными следующие действия: сбор, запись, систематизация, накопление, хранение, уточнение, изменение, использование, передача, предоставление, доступ, обезличивание, блокирование, удаление и уничтожение.",
            "Обработка осуществляется с использованием средств автоматизации и без использования таких средств.",
            "Оператор не принимает решений, порождающих юридические последствия для пользователя или существенно затрагивающих его права, исключительно на основании автоматизированной обработки персональных данных.",
          ],
        },
        {
          title: "Уполномоченные лица",
          body: [
            "Для достижения целей обработки Оператор может привлекать уполномоченных лиц и предоставлять персональные данные третьим лицам в минимально необходимом объеме.",
            "К таким лицам могут относиться провайдеры хостинга и технической поддержки сайта, сервисы электронной почты и уведомлений, телекоммуникационные и мессенджер-сервисы, администраторы сайта, консультанты, а также партнеры, необходимые для логистического, таможенного, банковского или иного сопровождения запроса пользователя.",
            "Фактические сведения об уполномоченных лицах, если они привлекаются для конкретной обработки, предоставляются пользователю до такой обработки в настоящем согласии, Политике, договоре или ином уведомлении Оператора.",
            "Передача персональных данных государственным органам осуществляется только в случаях и порядке, предусмотренных законодательством Республики Беларусь.",
            "Если обработка заявки требует трансграничной передачи персональных данных, пользователь соглашается на такую передачу при условии соблюдения Оператором требований законодательства Республики Беларусь.",
            "Пользователь уведомлен, что при передаче персональных данных в иностранные государства, где может отсутствовать надлежащий уровень защиты прав субъектов персональных данных, возможны риски доступа к данным по правилам такого иностранного государства и более сложной реализации прав субъекта персональных данных за пределами Республики Беларусь.",
          ],
        },
        {
          title: "Срок действия",
          body: [
            "Согласие действует с момента отправки формы и в течение 3 лет с даты последнего взаимодействия пользователя с Оператором, если более короткий или более длительный срок не установлен законодательством, договором или характером обращения.",
            "Технические журналы и данные безопасности сайта могут храниться до 12 месяцев, если более длительное хранение не требуется для расследования инцидента, защиты прав Оператора или исполнения требований законодательства.",
            "Пользователь вправе в любое время без объяснения причин отозвать согласие, направив обращение на privacy@accordgroup.by либо использовав иную форму, посредством которой было получено согласие, если такая форма доступна.",
            "После получения отзыва Оператор в течение 15 дней прекращает обработку персональных данных, удаляет их либо принимает меры по недопущению дальнейшей обработки, если отсутствуют иные основания для обработки, предусмотренные законодательством.",
          ],
        },
        {
          title: "Права и последствия",
          body: [
            "До предоставления согласия пользователь уведомлен о праве отозвать согласие, получить информацию об обработке персональных данных, требовать изменения, прекращения обработки и (или) удаления персональных данных, получить информацию о предоставлении персональных данных третьим лицам, а также обжаловать действия Оператора в Национальный центр защиты персональных данных Республики Беларусь и (или) в суд.",
            "Для реализации прав пользователь может направить обращение на privacy@accordgroup.by. В случаях, предусмотренных законодательством, заявление подается в письменной форме либо в виде электронного документа.",
            "Отказ от предоставления согласия или отзыв согласия может повлечь невозможность отправить заявку через сайт, получить ответ на обращение или продолжить коммуникацию по запросу.",
            "Отзыв согласия не имеет обратной силы и не делает незаконной обработку персональных данных, осуществленную до прекращения обработки.",
          ],
        },
      ]}
    />
  );
}

Object.assign(window, { LegalLayout, PrivacyPage, ConsentPage });
